ZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9GVy9jcGhyZWdhY2Nlc3NjdWlmLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vRlcvY3BocmVnYWNjZXNzY3VpZi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1MzIwMWEKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vRlcvY3BocmVnYWNjZXNzY3VpZi5oCkBAIC0wLDAgKzEsNTEgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhfUkVHQUNDRVNTX0NVSUZfSF8KKyNkZWZpbmUgX0NQSF9SRUdBQ0NFU1NfQ1VJRl9IXworCisKKyNkZWZpbmUgSU5DTFVERV9EU1BfSEVBREVSX0VOQUJMRV9JTk5FUl9CUlAKKyNpbmNsdWRlICJDVUlGX2lubmVyX2JycF9BTEwuaCIKKyN1bmRlZiBJTkNMVURFX0RTUF9IRUFERVJfRU5BQkxFX0lOTkVSX0JSUAorCisjaWYgZGVmaW5lZChNVEtfUExUX09OX1BDX0lUKQorZXh0ZXJuIENVSUZfQzJLX0VWRE9fUkVHUyBDcGhDdWlmUmVnczsKKyNkZWZpbmUgQ1VJRl9SRUFEKHJlZykJCQkoQ3BoQ3VpZlJlZ3MucmVnKQorI2RlZmluZSBDVUlGX1dSSVRFKHJlZywgdmFsKQkoQ3BoQ3VpZlJlZ3MucmVnID0gdmFsKQorI2Vsc2UKKyNkZWZpbmUgQ1VJRl9SRUFEKHJlZykJCQkoQ1VJRl9DMktfRVZETy0+cmVnKQorI2RlZmluZSBDVUlGX1dSSVRFKHJlZywgdmFsKQkoQ1VJRl9DMktfRVZETy0+cmVnID0gdmFsKQorI2VuZGlmCisjZW5kaWYKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGgxeHJ4YnJwLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoMXhyeGJycC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIxMzNjZDIKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoMXhyeGJycC5oCkBAIC0wLDAgKzEsNDMgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWYgZGVmaW5lZChfX01EOTNfXykKKyNpbmNsdWRlICAiY3BoMXhyeGJycF85My5oIgorI2VsaWYgZGVmaW5lZChfX01EOTVfXykKKyNpbmNsdWRlICAiY3BoMXhyeGJycF85My5oIgorI2VsaWYgZGVmaW5lZChfX01EOTdfXykKKyNpbmNsdWRlICAiY3BoMXhyeGJycF85Ny5oIgorI2Vsc2UKKyNlcnJvciAiW0VSUk9SXSBJbnZhbGlkIE1EIGdlbmVyYXRpb24iCisjZW5kaWYKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGgxeHJ4YnJwXzkzLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoMXhyeGJycF85My5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5ZjIxYmYKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoMXhyeGJycF85My5oCkBAIC0wLDAgKzEsNDQ0IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfQ1BIXzFYX1JYQlJQX0hfCisjZGVmaW5lIF9DUEhfMVhfUlhCUlBfSF8KKworCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBTUkFNQUREUjsgICAgICAgICAvKiBTUkFNIGFkZHIgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIFNSQU1EQVRBOyAgICAgICAgIC8qIFNSQU0gZGF0YSBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogQVBCQUREUjsgICAgICAgICAgLyogQVBCIGFkZHIgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBBUEJEQVRBOyAgICAgICAgICAvKiBBUEIgZGF0YSBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyogIEFQQkFERFIzMjsgICAgICAgIC8qIEFQQiBhZGRyIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICAgQVBCREFUQTMyOyAgICAgICAgLyogQVBCIGRhdGEgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBEUFJBTUFERFI7ICAgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgc2lnbmVkICAgc2hvcnQqIERQUkFNQUREUl9TOyAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgRFBSQU1EQVRBOyAgICAgICAgLyogRFBSQU0gZGF0YSBpcyAxNiBiaXRzICovCisKKworI2RlZmluZSBSWEJSUF9DXzFYUlRUX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhBRDA0MDAwMCkKKworI2RlZmluZSBSWEJSUF9DXzFYUlRUX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoUlhCUlBfQ18xWFJUVF9SRUdfQkFTRSArIDB4MDIxMCArIDEqNCkKKworCisKKyNkZWZpbmUgREJSUF9SVFRfU1RBUlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfMVhSVFRfUkVHX0JBU0UgKyAweDAwMDApKQorI2RlZmluZSBEQlJQX1JUVF9ET05FICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ18xWFJUVF9SRUdfQkFTRSArIDB4MDAwNCkpCisjZGVmaW5lIERCUlBfUlRUX0RPTkVfVkVDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DXzFYUlRUX1JFR19CQVNFICsgMHgwMDA4KSkKKyNkZWZpbmUgREJSUF9SVFRfQ0ZHX09LICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfMVhSVFRfUkVHX0JBU0UgKyAweDAwMEMpKQorI2RlZmluZSBEQlJQX1JUVF9DSF9ERVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ18xWFJUVF9SRUdfQkFTRSArIDB4MDAxMCkpCisjZGVmaW5lIERCUlBfUlRUX1NDQUxfQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DXzFYUlRUX1JFR19CQVNFICsgMHgwMDE0KSkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfMVhSVFRfUkVHX0JBU0UgKyAweDAwMTgpKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRVRfUEFSQU0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ18xWFJUVF9SRUdfQkFTRSArIDB4MDAxQykpCisjZGVmaW5lIERCUlBfUlRUX1NZTkNfVklUX1BBUkFNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DXzFYUlRUX1JFR19CQVNFICsgMHgwMDIwKSkKKyNkZWZpbmUgREJSUF9SVFRfREJHMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfMVhSVFRfUkVHX0JBU0UgKyAweDAwRDApKQorI2RlZmluZSBEQlJQX1JUVF9QV1JfQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ18xWFJUVF9SRUdfQkFTRSArIDB4MDBGMCkpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9GVUxMX1BBUkFNMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DXzFYUlRUX1JFR19CQVNFICsgMHgwMTAwKSkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0ZVTExfUEFSQU0yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfMVhSVFRfUkVHX0JBU0UgKyAweDAxMDQpKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRlVMTF9QQVJBTTMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ18xWFJUVF9SRUdfQkFTRSArIDB4MDEwOCkpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9IQUxGX1BBUkFNMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DXzFYUlRUX1JFR19CQVNFICsgMHgwMTBDKSkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0hBTEZfUEFSQU0zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfMVhSVFRfUkVHX0JBU0UgKyAweDAxMTApKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfUVVBUl9QQVJBTTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ18xWFJUVF9SRUdfQkFTRSArIDB4MDExNCkpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9RVUFSX1BBUkFNMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DXzFYUlRUX1JFR19CQVNFICsgMHgwMTE4KSkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0VJR0hfUEFSQU0yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfMVhSVFRfUkVHX0JBU0UgKyAweDAxMUMpKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRUlHSF9QQVJBTTMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ18xWFJUVF9SRUdfQkFTRSArIDB4MDEyMCkpCisjZGVmaW5lIERCUlBfUlRUX1NDSF9QQVJBTTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DXzFYUlRUX1JFR19CQVNFICsgMHgwMTI0KSkKKyNkZWZpbmUgREJSUF9SVFRfU0NIX1BBUkFNMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfMVhSVFRfUkVHX0JBU0UgKyAweDAxMjgpKQorI2RlZmluZSBEQlJQX1JUVF9TQ0hfUEFSQU0zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ18xWFJUVF9SRUdfQkFTRSArIDB4MDEyQykpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9FVF9QQ0dfQ05UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DXzFYUlRUX1JFR19CQVNFICsgMHgwMjAwKSkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX1NDQUxFX1BBUkFNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfMVhSVFRfUkVHX0JBU0UgKyAweDAyMDQpKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfU0NBTEVfUEFSQU0xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ18xWFJUVF9SRUdfQkFTRSArIDB4MDIwOCkpCisjZGVmaW5lIERCUlBfUlRUX1NDSF9TQ0FMRV9QQVJBTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DXzFYUlRUX1JFR19CQVNFICsgMHgwMjBDKSkKKyNkZWZpbmUgREJSUF9SVFRfU0NIX1NDQUxFX1BBUkFNMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfMVhSVFRfUkVHX0JBU0UgKyAweDAyMTApKQorCisKKyNkZWZpbmUgREJSUF9SVFRfU1RBUlRfQlJQX1JUVF9TVEFSVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBEQlJQX1JUVF9TVEFSVF9CUlBfUlRUX1NUQVJUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9SVFRfU1RBUlRfQlJQX1JUVF9TVEFSVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisjZGVmaW5lIERCUlBfUlRUX1NUQVJUX0JSUF9SVFRfU1RBUlRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorCisjZGVmaW5lIERCUlBfUlRUX0RPTkVfUlRUX1NXX0lSUV9UUklHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9SVFRfRE9ORV9SVFRfU1dfSVJRX1RSSUdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfUlRUX0RPTkVfUlRUX1NXX0lSUV9UUklHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorI2RlZmluZSBEQlJQX1JUVF9ET05FX1JUVF9TV19JUlFfVFJJR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKworI2RlZmluZSBEQlJQX1JUVF9ET05FX1JUVF9ET05FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9SVFRfRE9ORV9SVFRfRE9ORV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfUlRUX0RPTkVfUlRUX0RPTkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1JUVF9ET05FX1JUVF9ET05FX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1JUVF9ET05FX1ZFQ19UVVJfRE9ORV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9SVFRfRE9ORV9WRUNfVFVSX0RPTkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfUlRUX0RPTkVfVkVDX1RVUl9ET05FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBEQlJQX1JUVF9ET05FX1ZFQ19UVVJfRE9ORV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBEQlJQX1JUVF9ET05FX1ZFQ19WSVRfRE9ORV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9SVFRfRE9ORV9WRUNfVklUX0RPTkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfUlRUX0RPTkVfVkVDX1ZJVF9ET05FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBEQlJQX1JUVF9ET05FX1ZFQ19WSVRfRE9ORV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBEQlJQX1JUVF9ET05FX1ZFQ19DT1JSX0RPTkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9SVFRfRE9ORV9WRUNfQ09SUl9ET05FX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfUlRUX0RPTkVfVkVDX0NPUlJfRE9ORV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBEQlJQX1JUVF9ET05FX1ZFQ19DT1JSX0RPTkVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBEQlJQX1JUVF9ET05FX1ZFQ19EUk1fRE9ORV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9SVFRfRE9ORV9WRUNfRFJNX0RPTkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfUlRUX0RPTkVfVkVDX0RSTV9ET05FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1JUVF9ET05FX1ZFQ19EUk1fRE9ORV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1JUVF9DRkdfT0tfQ0ZHX0FTU0VSVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIERCUlBfUlRUX0NGR19PS19DRkdfQVNTRVJUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1JUVF9DRkdfT0tfQ0ZHX0FTU0VSVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKyNkZWZpbmUgREJSUF9SVFRfQ0ZHX09LX0NGR19BU1NFUlRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisKKyNkZWZpbmUgREJSUF9SVFRfQ0ZHX09LX0NGR19PS19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0NGR19PS19DRkdfT0tfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1JUVF9DRkdfT0tfQ0ZHX09LX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9SVFRfQ0ZHX09LX0NGR19PS19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9SVFRfQ0hfREVUX1NDSF9FTkNPRElOR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIERCUlBfUlRUX0NIX0RFVF9TQ0hfRU5DT0RJTkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1JUVF9DSF9ERVRfU0NIX0VOQ09ESU5HX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgREJSUF9SVFRfQ0hfREVUX1NDSF9FTkNPRElOR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgREJSUF9SVFRfQ0hfREVUX1NDSF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfUlRUX0NIX0RFVF9TQ0hfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1JUVF9DSF9ERVRfU0NIX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgREJSUF9SVFRfQ0hfREVUX1NDSF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgREJSUF9SVFRfQ0hfREVUX0ZDSF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0NIX0RFVF9GQ0hfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1JUVF9DSF9ERVRfRkNIX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9SVFRfQ0hfREVUX0ZDSF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9SVFRfU0NBTF9DRkdfREVSRUFQX1NDQUxfTU9ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfUlRUX1NDQUxfQ0ZHX0RFUkVBUF9TQ0FMX01PREVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1JUVF9TQ0FMX0NGR19ERVJFQVBfU0NBTF9NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgREJSUF9SVFRfU0NBTF9DRkdfREVSRUFQX1NDQUxfTU9ERV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgREJSUF9SVFRfU0NBTF9DRkdfU0NBTF9NT0RFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX1NDQUxfQ0ZHX1NDQUxfTU9ERV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1JUVF9TQ0FMX0NGR19TQ0FMX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9SVFRfU0NBTF9DRkdfU0NBTF9NT0RFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0NGR19TWU5DX1ZJVF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE4KQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfQ0ZHX1NZTkNfVklUX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0NGR19TWU5DX1ZJVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwNDAwMDApCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9DRkdfU1lOQ19WSVRfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDQwMDAwKQorCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9DRkdfU1lOQ19DT1JSX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNykKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0NGR19TWU5DX0NPUlJfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9DRkdfU1lOQ19DT1JSX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDIwMDAwKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfQ0ZHX1NZTkNfQ09SUl9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAyMDAwMCkKKworI2RlZmluZSBEQlJQX1JUVF9GQ0hfQ0ZHX1NZTkNfRFJNX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9DRkdfU1lOQ19EUk1fRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfQ0ZHX1NZTkNfRFJNX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0NGR19TWU5DX0RSTV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0NGR19TWU5DX0JVRl9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfQ0ZHX1NZTkNfQlVGX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0NGR19TWU5DX0JVRl9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEYwMDApCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0NGR19DSF9TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9DRkdfQ0hfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfQ0ZHX0NIX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMykKKworI2RlZmluZSBEQlJQX1JUVF9GQ0hfRVRfUEFSQU1fRVRfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9FVF9QQVJBTV9FVF9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRVRfUEFSQU1fRVRfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0VUX1BBUkFNX0VUX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0VUX1BBUkFNX0VUX0ZVTExfUENHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRVRfUEFSQU1fRVRfRlVMTF9QQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0VUX1BBUkFNX0VUX0ZVTExfUENHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MEYwMDAwMDApCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0VUX1BBUkFNX0VUX0hBTEZfUENHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRVRfUEFSQU1fRVRfSEFMRl9QQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0VUX1BBUkFNX0VUX0hBTEZfUENHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGMDAwMDApCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0VUX1BBUkFNX0VUX1FVQVJfUENHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRVRfUEFSQU1fRVRfUVVBUl9QQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0VUX1BBUkFNX0VUX1FVQVJfUENHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRjAwMDApCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0VUX1BBUkFNX0VUX1BDR19NQVBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9FVF9QQVJBTV9FVF9QQ0dfTUFQX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0VUX1BBUkFNX0VUX1BDR19NQVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgREJSUF9SVFRfU1lOQ19WSVRfUEFSQU1fU1lOQ19TVEFSVF9CVUZfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX1NZTkNfVklUX1BBUkFNX1NZTkNfU1RBUlRfQlVGX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1JUVF9TWU5DX1ZJVF9QQVJBTV9TWU5DX1NUQVJUX0JVRl9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBEQlJQX1JUVF9EQkcwX0RSTV9GU01fQ1NfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIERCUlBfUlRUX0RCRzBfRFJNX0ZTTV9DU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1JUVF9EQkcwX0RSTV9GU01fQ1NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxRjAwMDAwMCkKKworI2RlZmluZSBEQlJQX1JUVF9EQkcwX0RFVF9DSE5MX0lURVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIERCUlBfUlRUX0RCRzBfREVUX0NITkxfSVRFUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX1JUVF9EQkcwX0RFVF9DSE5MX0lURVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDcwMDAwMCkKKworI2RlZmluZSBEQlJQX1JUVF9EQkcwX01BSU5fRlNNX0NTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIERCUlBfUlRUX0RCRzBfTUFJTl9GU01fQ1NfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1JUVF9EQkcwX01BSU5fRlNNX0NTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxRjAwMCkKKworI2RlZmluZSBEQlJQX1JUVF9EQkcwX1RPUF9GU01fQ1NfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9SVFRfREJHMF9UT1BfRlNNX0NTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIERCUlBfUlRUX0RCRzBfVE9QX0ZTTV9DU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIERCUlBfUlRUX1BXUl9DRkdfUFdSX01PREVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgREJSUF9SVFRfUFdSX0NGR19QV1JfTU9ERV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfUlRUX1BXUl9DRkdfUFdSX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBEQlJQX1JUVF9QV1JfQ0ZHX1BXUl9NT0RFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0ZVTExfUEFSQU0xX0lOVExWX0ZCX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI3KQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRlVMTF9QQVJBTTFfSU5UTFZfRkJfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0ZVTExfUEFSQU0xX0lOVExWX0ZCX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDgwMDAwMDApCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9GVUxMX1BBUkFNMV9JTlRMVl9GQl9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA4MDAwMDAwKQorCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9GVUxMX1BBUkFNMV9JTlRMVl9KX00xX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0ZVTExfUEFSQU0xX0lOVExWX0pfTTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9GVUxMX1BBUkFNMV9JTlRMVl9KX00xX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA3RjAwMDAwKQorCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9GVUxMX1BBUkFNMV9JTlRMVl9NX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0ZVTExfUEFSQU0xX0lOVExWX01fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9GVUxMX1BBUkFNMV9JTlRMVl9NX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDMwMDAwKQorCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9GVUxMX1BBUkFNMV9JTlRMVl9TSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRlVMTF9QQVJBTTFfSU5UTFZfU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9GVUxMX1BBUkFNMV9JTlRMVl9TSVpFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAzRkZGKQorCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9GVUxMX1BBUkFNMl9FTkNPREVEX0JJVFNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNykKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0ZVTExfUEFSQU0yX0VOQ09ERURfQklUU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRlVMTF9QQVJBTTJfRU5DT0RFRF9CSVRTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZFMDAwMCkKKworI2RlZmluZSBEQlJQX1JUVF9GQ0hfRlVMTF9QQVJBTTJfUFVOQ19QQVRURVJOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0ZVTExfUEFSQU0yX1BVTkNfUEFUVEVSTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRlVMTF9QQVJBTTJfUFVOQ19QQVRURVJOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxRkZFMCkKKworI2RlZmluZSBEQlJQX1JUVF9GQ0hfRlVMTF9QQVJBTTJfUFVOQ19DRkdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0ZVTExfUEFSQU0yX1BVTkNfQ0ZHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9GVUxMX1BBUkFNMl9QVU5DX0NGR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFDKQorCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9GVUxMX1BBUkFNMl9SRVBFQVRfUkFURV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRlVMTF9QQVJBTTJfUkVQRUFUX1JBVEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0ZVTExfUEFSQU0yX1JFUEVBVF9SQVRFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDMpCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0ZVTExfUEFSQU0zX1NFVFBUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE3KQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRlVMTF9QQVJBTTNfU0VUUFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0ZVTExfUEFSQU0zX1NFVFBUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGRTAwMDApCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0ZVTExfUEFSQU0zX0NPREVfUkFURV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRlVMTF9QQVJBTTNfQ09ERV9SQVRFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0ZVTExfUEFSQU0zX0NPREVfUkFURV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9GVUxMX1BBUkFNM19DT0RFX1JBVEVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9GVUxMX1BBUkFNM19DUkNfU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0ZVTExfUEFSQU0zX0NSQ19TSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9GVUxMX1BBUkFNM19DUkNfU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBFMDAwKQorCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9GVUxMX1BBUkFNM19DT0RFX0JMT0NLX1NJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRlVMTF9QQVJBTTNfQ09ERV9CTE9DS19TSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9GVUxMX1BBUkFNM19DT0RFX0JMT0NLX1NJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRkZGKQorCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9IQUxGX1BBUkFNMl9FTkNPREVEX0JJVFNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNykKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0hBTEZfUEFSQU0yX0VOQ09ERURfQklUU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfSEFMRl9QQVJBTTJfRU5DT0RFRF9CSVRTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZFMDAwMCkKKworI2RlZmluZSBEQlJQX1JUVF9GQ0hfSEFMRl9QQVJBTTJfUFVOQ19QQVRURVJOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0hBTEZfUEFSQU0yX1BVTkNfUEFUVEVSTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfSEFMRl9QQVJBTTJfUFVOQ19QQVRURVJOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxRkZFMCkKKworI2RlZmluZSBEQlJQX1JUVF9GQ0hfSEFMRl9QQVJBTTJfUFVOQ19DRkdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0hBTEZfUEFSQU0yX1BVTkNfQ0ZHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9IQUxGX1BBUkFNMl9QVU5DX0NGR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFDKQorCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9IQUxGX1BBUkFNMl9SRVBFQVRfUkFURV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfSEFMRl9QQVJBTTJfUkVQRUFUX1JBVEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0hBTEZfUEFSQU0yX1JFUEVBVF9SQVRFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDMpCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0hBTEZfUEFSQU0zX1NFVFBUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE3KQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfSEFMRl9QQVJBTTNfU0VUUFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0hBTEZfUEFSQU0zX1NFVFBUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGRTAwMDApCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0hBTEZfUEFSQU0zX0NPREVfUkFURV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfSEFMRl9QQVJBTTNfQ09ERV9SQVRFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0hBTEZfUEFSQU0zX0NPREVfUkFURV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9IQUxGX1BBUkFNM19DT0RFX1JBVEVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9IQUxGX1BBUkFNM19DUkNfU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0hBTEZfUEFSQU0zX0NSQ19TSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9IQUxGX1BBUkFNM19DUkNfU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBFMDAwKQorCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9IQUxGX1BBUkFNM19DT0RFX0JMT0NLX1NJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfSEFMRl9QQVJBTTNfQ09ERV9CTE9DS19TSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9IQUxGX1BBUkFNM19DT0RFX0JMT0NLX1NJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRkZGKQorCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9RVUFSX1BBUkFNMl9FTkNPREVEX0JJVFNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNykKKyNkZWZpbmUgREJSUF9SVFRfRkNIX1FVQVJfUEFSQU0yX0VOQ09ERURfQklUU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfUVVBUl9QQVJBTTJfRU5DT0RFRF9CSVRTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZFMDAwMCkKKworI2RlZmluZSBEQlJQX1JUVF9GQ0hfUVVBUl9QQVJBTTJfUFVOQ19QQVRURVJOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX1FVQVJfUEFSQU0yX1BVTkNfUEFUVEVSTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfUVVBUl9QQVJBTTJfUFVOQ19QQVRURVJOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxRkZFMCkKKworI2RlZmluZSBEQlJQX1JUVF9GQ0hfUVVBUl9QQVJBTTJfUFVOQ19DRkdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9SVFRfRkNIX1FVQVJfUEFSQU0yX1BVTkNfQ0ZHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9RVUFSX1BBUkFNMl9QVU5DX0NGR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFDKQorCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9RVUFSX1BBUkFNMl9SRVBFQVRfUkFURV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfUVVBUl9QQVJBTTJfUkVQRUFUX1JBVEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9SVFRfRkNIX1FVQVJfUEFSQU0yX1JFUEVBVF9SQVRFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDMpCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX1FVQVJfUEFSQU0zX1NFVFBUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE3KQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfUVVBUl9QQVJBTTNfU0VUUFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9SVFRfRkNIX1FVQVJfUEFSQU0zX1NFVFBUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGRTAwMDApCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX1FVQVJfUEFSQU0zX0NPREVfUkFURV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfUVVBUl9QQVJBTTNfQ09ERV9SQVRFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX1FVQVJfUEFSQU0zX0NPREVfUkFURV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9RVUFSX1BBUkFNM19DT0RFX1JBVEVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9RVUFSX1BBUkFNM19DUkNfU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgREJSUF9SVFRfRkNIX1FVQVJfUEFSQU0zX0NSQ19TSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9RVUFSX1BBUkFNM19DUkNfU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBFMDAwKQorCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9RVUFSX1BBUkFNM19DT0RFX0JMT0NLX1NJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfUVVBUl9QQVJBTTNfQ09ERV9CTE9DS19TSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9RVUFSX1BBUkFNM19DT0RFX0JMT0NLX1NJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRkZGKQorCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9FSUdIX1BBUkFNMl9FTkNPREVEX0JJVFNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNykKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0VJR0hfUEFSQU0yX0VOQ09ERURfQklUU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRUlHSF9QQVJBTTJfRU5DT0RFRF9CSVRTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZFMDAwMCkKKworI2RlZmluZSBEQlJQX1JUVF9GQ0hfRUlHSF9QQVJBTTJfUFVOQ19QQVRURVJOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0VJR0hfUEFSQU0yX1BVTkNfUEFUVEVSTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRUlHSF9QQVJBTTJfUFVOQ19QQVRURVJOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxRkZFMCkKKworI2RlZmluZSBEQlJQX1JUVF9GQ0hfRUlHSF9QQVJBTTJfUFVOQ19DRkdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0VJR0hfUEFSQU0yX1BVTkNfQ0ZHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9FSUdIX1BBUkFNMl9QVU5DX0NGR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFDKQorCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9FSUdIX1BBUkFNMl9SRVBFQVRfUkFURV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRUlHSF9QQVJBTTJfUkVQRUFUX1JBVEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0VJR0hfUEFSQU0yX1JFUEVBVF9SQVRFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDMpCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0VJR0hfUEFSQU0zX1NFVFBUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE3KQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRUlHSF9QQVJBTTNfU0VUUFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0VJR0hfUEFSQU0zX1NFVFBUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGRTAwMDApCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0VJR0hfUEFSQU0zX0NPREVfUkFURV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRUlHSF9QQVJBTTNfQ09ERV9SQVRFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0VJR0hfUEFSQU0zX0NPREVfUkFURV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9FSUdIX1BBUkFNM19DT0RFX1JBVEVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9FSUdIX1BBUkFNM19DUkNfU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0VJR0hfUEFSQU0zX0NSQ19TSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9FSUdIX1BBUkFNM19DUkNfU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBFMDAwKQorCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9FSUdIX1BBUkFNM19DT0RFX0JMT0NLX1NJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRUlHSF9QQVJBTTNfQ09ERV9CTE9DS19TSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9FSUdIX1BBUkFNM19DT0RFX0JMT0NLX1NJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRkZGKQorCisjZGVmaW5lIERCUlBfUlRUX1NDSF9QQVJBTTFfSU5UTFZfRkJfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNykKKyNkZWZpbmUgREJSUF9SVFRfU0NIX1BBUkFNMV9JTlRMVl9GQl9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfUlRUX1NDSF9QQVJBTTFfSU5UTFZfRkJfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA4MDAwMDAwKQorI2RlZmluZSBEQlJQX1JUVF9TQ0hfUEFSQU0xX0lOVExWX0ZCX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwODAwMDAwMCkKKworI2RlZmluZSBEQlJQX1JUVF9TQ0hfUEFSQU0xX0lOVExWX0pfTTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIERCUlBfUlRUX1NDSF9QQVJBTTFfSU5UTFZfSl9NMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBEQlJQX1JUVF9TQ0hfUEFSQU0xX0lOVExWX0pfTTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwN0YwMDAwMCkKKworI2RlZmluZSBEQlJQX1JUVF9TQ0hfUEFSQU0xX0lOVExWX01fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfUlRUX1NDSF9QQVJBTTFfSU5UTFZfTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBEQlJQX1JUVF9TQ0hfUEFSQU0xX0lOVExWX01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAzMDAwMCkKKworI2RlZmluZSBEQlJQX1JUVF9TQ0hfUEFSQU0xX0lOVExWX1NJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9SVFRfU0NIX1BBUkFNMV9JTlRMVl9TSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBEQlJQX1JUVF9TQ0hfUEFSQU0xX0lOVExWX1NJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwM0ZGRikKKworI2RlZmluZSBEQlJQX1JUVF9TQ0hfUEFSQU0yX0VOQ09ERURfQklUU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTcpCisjZGVmaW5lIERCUlBfUlRUX1NDSF9QQVJBTTJfRU5DT0RFRF9CSVRTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgREJSUF9SVFRfU0NIX1BBUkFNMl9FTkNPREVEX0JJVFNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRTAwMDApCisKKyNkZWZpbmUgREJSUF9SVFRfU0NIX1BBUkFNMl9QVU5DX1BBVFRFUk5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfUlRUX1NDSF9QQVJBTTJfUFVOQ19QQVRURVJOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgREJSUF9SVFRfU0NIX1BBUkFNMl9QVU5DX1BBVFRFUk5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMUZGRTApCisKKyNkZWZpbmUgREJSUF9SVFRfU0NIX1BBUkFNMl9QVU5DX0NGR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIERCUlBfUlRUX1NDSF9QQVJBTTJfUFVOQ19DRkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX1JUVF9TQ0hfUEFSQU0yX1BVTkNfQ0ZHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxQykKKworI2RlZmluZSBEQlJQX1JUVF9TQ0hfUEFSQU0yX1JFUEVBVF9SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9SVFRfU0NIX1BBUkFNMl9SRVBFQVRfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIERCUlBfUlRUX1NDSF9QQVJBTTJfUkVQRUFUX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAzKQorCisjZGVmaW5lIERCUlBfUlRUX1NDSF9QQVJBTTNfU0VUUFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNykKKyNkZWZpbmUgREJSUF9SVFRfU0NIX1BBUkFNM19TRVRQVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIERCUlBfUlRUX1NDSF9QQVJBTTNfU0VUUFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkUwMDAwKQorCisjZGVmaW5lIERCUlBfUlRUX1NDSF9QQVJBTTNfQ09ERV9SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9SVFRfU0NIX1BBUkFNM19DT0RFX1JBVEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfUlRUX1NDSF9QQVJBTTNfQ09ERV9SQVRFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorI2RlZmluZSBEQlJQX1JUVF9TQ0hfUEFSQU0zX0NPREVfUkFURV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKworI2RlZmluZSBEQlJQX1JUVF9TQ0hfUEFSQU0zX0NSQ19TSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfUlRUX1NDSF9QQVJBTTNfQ1JDX1NJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX1JUVF9TQ0hfUEFSQU0zX0NSQ19TSVpFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRTAwMCkKKworI2RlZmluZSBEQlJQX1JUVF9TQ0hfUEFSQU0zX0NPREVfQkxPQ0tfU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9SVFRfU0NIX1BBUkFNM19DT0RFX0JMT0NLX1NJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBEQlJQX1JUVF9TQ0hfUEFSQU0zX0NPREVfQkxPQ0tfU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMUZGRikKKworI2RlZmluZSBEQlJQX1JUVF9GQ0hfRVRfUENHX0NOVF9FVF9QQ0dfQ05UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0VUX1BDR19DTlRfRVRfUENHX0NOVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9FVF9QQ0dfQ05UX0VUX1BDR19DTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9TQ0FMRV9QQVJBTV9GUk1fQUJTX0FDQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfU0NBTEVfUEFSQU1fRlJNX0FCU19BQ0NfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTcpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9TQ0FMRV9QQVJBTV9GUk1fQUJTX0FDQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDFGRkZGKQorCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9TQ0FMRV9QQVJBTTFfVkxEX0RBVEFfTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfU0NBTEVfUEFSQU0xX1ZMRF9EQVRBX05VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9TQ0FMRV9QQVJBTTFfVkxEX0RBVEFfTlVNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIERCUlBfUlRUX1NDSF9TQ0FMRV9QQVJBTV9GUk1fQUJTX0FDQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9TQ0hfU0NBTEVfUEFSQU1fRlJNX0FCU19BQ0NfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfUlRUX1NDSF9TQ0FMRV9QQVJBTV9GUk1fQUJTX0FDQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfUlRUX1NDSF9TQ0FMRV9QQVJBTTFfVkxEX0RBVEFfTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9TQ0hfU0NBTEVfUEFSQU0xX1ZMRF9EQVRBX05VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIERCUlBfUlRUX1NDSF9TQ0FMRV9QQVJBTTFfVkxEX0RBVEFfTlVNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisKKyNlbmRpZiAvLyNpZm5kZWYgX0NQSF8xWF9SWEJSUF9IXwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaDF4cnhicnBfOTcuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGgxeHJ4YnJwXzk3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWFkOTk0ZgotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGgxeHJ4YnJwXzk3LmgKQEAgLTAsMCArMSw0NDQgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhfMVhfUlhCUlBfSF8KKyNkZWZpbmUgX0NQSF8xWF9SWEJSUF9IXworCisKK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIFNSQU1BRERSOyAgICAgICAgIC8qIFNSQU0gYWRkciBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgU1JBTURBVEE7ICAgICAgICAgLyogU1JBTSBkYXRhIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBBUEJBRERSOyAgICAgICAgICAvKiBBUEIgYWRkciBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIEFQQkRBVEE7ICAgICAgICAgIC8qIEFQQiBkYXRhIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nKiAgQVBCQUREUjMyOyAgICAgICAgLyogQVBCIGFkZHIgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgICBBUEJEQVRBMzI7ICAgICAgICAvKiBBUEIgZGF0YSBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIERQUkFNQUREUjsgICAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSBzaWduZWQgICBzaG9ydCogRFBSQU1BRERSX1M7ICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBEUFJBTURBVEE7ICAgICAgICAvKiBEUFJBTSBkYXRhIGlzIDE2IGJpdHMgKi8KKworCisjZGVmaW5lIFJYQlJQX0NfMVhSVFRfUkVHX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEFDODQwMDAwKQorCisjZGVmaW5lIFJYQlJQX0NfMVhSVFRfZW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChSWEJSUF9DXzFYUlRUX1JFR19CQVNFICsgMHgwMjEwICsgMSo0KQorCisKKworI2RlZmluZSBEQlJQX1JUVF9TVEFSVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ18xWFJUVF9SRUdfQkFTRSArIDB4MDAwMCkpCisjZGVmaW5lIERCUlBfUlRUX0RPTkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DXzFYUlRUX1JFR19CQVNFICsgMHgwMDA0KSkKKyNkZWZpbmUgREJSUF9SVFRfRE9ORV9WRUMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfMVhSVFRfUkVHX0JBU0UgKyAweDAwMDgpKQorI2RlZmluZSBEQlJQX1JUVF9DRkdfT0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ18xWFJUVF9SRUdfQkFTRSArIDB4MDAwQykpCisjZGVmaW5lIERCUlBfUlRUX0NIX0RFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DXzFYUlRUX1JFR19CQVNFICsgMHgwMDEwKSkKKyNkZWZpbmUgREJSUF9SVFRfU0NBTF9DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfMVhSVFRfUkVHX0JBU0UgKyAweDAwMTQpKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ18xWFJUVF9SRUdfQkFTRSArIDB4MDAxOCkpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9FVF9QQVJBTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DXzFYUlRUX1JFR19CQVNFICsgMHgwMDFDKSkKKyNkZWZpbmUgREJSUF9SVFRfU1lOQ19WSVRfUEFSQU0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfMVhSVFRfUkVHX0JBU0UgKyAweDAwMjApKQorI2RlZmluZSBEQlJQX1JUVF9EQkcwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ18xWFJUVF9SRUdfQkFTRSArIDB4MDBEMCkpCisjZGVmaW5lIERCUlBfUlRUX1BXUl9DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DXzFYUlRUX1JFR19CQVNFICsgMHgwMEYwKSkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0ZVTExfUEFSQU0xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfMVhSVFRfUkVHX0JBU0UgKyAweDAxMDApKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRlVMTF9QQVJBTTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ18xWFJUVF9SRUdfQkFTRSArIDB4MDEwNCkpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9GVUxMX1BBUkFNMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DXzFYUlRUX1JFR19CQVNFICsgMHgwMTA4KSkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0hBTEZfUEFSQU0yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfMVhSVFRfUkVHX0JBU0UgKyAweDAxMEMpKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfSEFMRl9QQVJBTTMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ18xWFJUVF9SRUdfQkFTRSArIDB4MDExMCkpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9RVUFSX1BBUkFNMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DXzFYUlRUX1JFR19CQVNFICsgMHgwMTE0KSkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX1FVQVJfUEFSQU0zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfMVhSVFRfUkVHX0JBU0UgKyAweDAxMTgpKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRUlHSF9QQVJBTTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ18xWFJUVF9SRUdfQkFTRSArIDB4MDExQykpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9FSUdIX1BBUkFNMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DXzFYUlRUX1JFR19CQVNFICsgMHgwMTIwKSkKKyNkZWZpbmUgREJSUF9SVFRfU0NIX1BBUkFNMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfMVhSVFRfUkVHX0JBU0UgKyAweDAxMjQpKQorI2RlZmluZSBEQlJQX1JUVF9TQ0hfUEFSQU0yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ18xWFJUVF9SRUdfQkFTRSArIDB4MDEyOCkpCisjZGVmaW5lIERCUlBfUlRUX1NDSF9QQVJBTTMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DXzFYUlRUX1JFR19CQVNFICsgMHgwMTJDKSkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0VUX1BDR19DTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfMVhSVFRfUkVHX0JBU0UgKyAweDAyMDApKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfU0NBTEVfUEFSQU0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ18xWFJUVF9SRUdfQkFTRSArIDB4MDIwNCkpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9TQ0FMRV9QQVJBTTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DXzFYUlRUX1JFR19CQVNFICsgMHgwMjA4KSkKKyNkZWZpbmUgREJSUF9SVFRfU0NIX1NDQUxFX1BBUkFNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfMVhSVFRfUkVHX0JBU0UgKyAweDAyMEMpKQorI2RlZmluZSBEQlJQX1JUVF9TQ0hfU0NBTEVfUEFSQU0xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ18xWFJUVF9SRUdfQkFTRSArIDB4MDIxMCkpCisKKworI2RlZmluZSBEQlJQX1JUVF9TVEFSVF9CUlBfUlRUX1NUQVJUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIERCUlBfUlRUX1NUQVJUX0JSUF9SVFRfU1RBUlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1JUVF9TVEFSVF9CUlBfUlRUX1NUQVJUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKyNkZWZpbmUgREJSUF9SVFRfU1RBUlRfQlJQX1JUVF9TVEFSVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisKKyNkZWZpbmUgREJSUF9SVFRfRE9ORV9SVFRfU1dfSVJRX1RSSUdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1JUVF9ET05FX1JUVF9TV19JUlFfVFJJR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9SVFRfRE9ORV9SVFRfU1dfSVJRX1RSSUdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisjZGVmaW5lIERCUlBfUlRUX0RPTkVfUlRUX1NXX0lSUV9UUklHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorCisjZGVmaW5lIERCUlBfUlRUX0RPTkVfUlRUX0RPTkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9ET05FX1JUVF9ET05FX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9SVFRfRE9ORV9SVFRfRE9ORV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfUlRUX0RPTkVfUlRUX0RPTkVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfUlRUX0RPTkVfVkVDX1RVUl9ET05FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX1JUVF9ET05FX1ZFQ19UVVJfRE9ORV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9SVFRfRE9ORV9WRUNfVFVSX0RPTkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIERCUlBfUlRUX0RPTkVfVkVDX1RVUl9ET05FX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIERCUlBfUlRUX0RPTkVfVkVDX1ZJVF9ET05FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBEQlJQX1JUVF9ET05FX1ZFQ19WSVRfRE9ORV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9SVFRfRE9ORV9WRUNfVklUX0RPTkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIERCUlBfUlRUX0RPTkVfVkVDX1ZJVF9ET05FX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIERCUlBfUlRUX0RPTkVfVkVDX0NPUlJfRE9ORV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1JUVF9ET05FX1ZFQ19DT1JSX0RPTkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9SVFRfRE9ORV9WRUNfQ09SUl9ET05FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIERCUlBfUlRUX0RPTkVfVkVDX0NPUlJfRE9ORV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIERCUlBfUlRUX0RPTkVfVkVDX0RSTV9ET05FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9ET05FX1ZFQ19EUk1fRE9ORV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9SVFRfRE9ORV9WRUNfRFJNX0RPTkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfUlRUX0RPTkVfVkVDX0RSTV9ET05FX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfUlRUX0NGR19PS19DRkdfQVNTRVJUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgREJSUF9SVFRfQ0ZHX09LX0NGR19BU1NFUlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfUlRUX0NGR19PS19DRkdfQVNTRVJUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBEQlJQX1JUVF9DRkdfT0tfQ0ZHX0FTU0VSVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBEQlJQX1JUVF9DRkdfT0tfQ0ZHX09LX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9SVFRfQ0ZHX09LX0NGR19PS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfUlRUX0NGR19PS19DRkdfT0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1JUVF9DRkdfT0tfQ0ZHX09LX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1JUVF9DSF9ERVRfU0NIX0VOQ09ESU5HX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9SVFRfQ0hfREVUX1NDSF9FTkNPRElOR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfUlRUX0NIX0RFVF9TQ0hfRU5DT0RJTkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBEQlJQX1JUVF9DSF9ERVRfU0NIX0VOQ09ESU5HX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBEQlJQX1JUVF9DSF9ERVRfU0NIX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9SVFRfQ0hfREVUX1NDSF9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfUlRUX0NIX0RFVF9TQ0hfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBEQlJQX1JUVF9DSF9ERVRfU0NIX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBEQlJQX1JUVF9DSF9ERVRfRkNIX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9SVFRfQ0hfREVUX0ZDSF9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfUlRUX0NIX0RFVF9GQ0hfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1JUVF9DSF9ERVRfRkNIX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1JUVF9TQ0FMX0NGR19ERVJFQVBfU0NBTF9NT0RFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9SVFRfU0NBTF9DRkdfREVSRUFQX1NDQUxfTU9ERV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfUlRUX1NDQUxfQ0ZHX0RFUkVBUF9TQ0FMX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBEQlJQX1JUVF9TQ0FMX0NGR19ERVJFQVBfU0NBTF9NT0RFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBEQlJQX1JUVF9TQ0FMX0NGR19TQ0FMX01PREVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9SVFRfU0NBTF9DRkdfU0NBTF9NT0RFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfUlRUX1NDQUxfQ0ZHX1NDQUxfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1JUVF9TQ0FMX0NGR19TQ0FMX01PREVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1JUVF9GQ0hfQ0ZHX1NZTkNfVklUX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTgpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9DRkdfU1lOQ19WSVRfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfQ0ZHX1NZTkNfVklUX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDA0MDAwMCkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0NGR19TWU5DX1ZJVF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwNDAwMDApCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0NGR19TWU5DX0NPUlJfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE3KQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfQ0ZHX1NZTkNfQ09SUl9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0NGR19TWU5DX0NPUlJfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMjAwMDApCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9DRkdfU1lOQ19DT1JSX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDIwMDAwKQorCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9DRkdfU1lOQ19EUk1fRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0NGR19TWU5DX0RSTV9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9DRkdfU1lOQ19EUk1fRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfQ0ZHX1NZTkNfRFJNX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKworI2RlZmluZSBEQlJQX1JUVF9GQ0hfQ0ZHX1NZTkNfQlVGX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9DRkdfU1lOQ19CVUZfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfQ0ZHX1NZTkNfQlVGX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRjAwMCkKKworI2RlZmluZSBEQlJQX1JUVF9GQ0hfQ0ZHX0NIX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0NGR19DSF9TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9DRkdfQ0hfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAzKQorCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9FVF9QQVJBTV9FVF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0VUX1BBUkFNX0VUX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9FVF9QQVJBTV9FVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRVRfUEFSQU1fRVRfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBEQlJQX1JUVF9GQ0hfRVRfUEFSQU1fRVRfRlVMTF9QQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9FVF9QQVJBTV9FVF9GVUxMX1BDR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRVRfUEFSQU1fRVRfRlVMTF9QQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwRjAwMDAwMCkKKworI2RlZmluZSBEQlJQX1JUVF9GQ0hfRVRfUEFSQU1fRVRfSEFMRl9QQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9FVF9QQVJBTV9FVF9IQUxGX1BDR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRVRfUEFSQU1fRVRfSEFMRl9QQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEYwMDAwMCkKKworI2RlZmluZSBEQlJQX1JUVF9GQ0hfRVRfUEFSQU1fRVRfUVVBUl9QQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9FVF9QQVJBTV9FVF9RVUFSX1BDR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRVRfUEFSQU1fRVRfUVVBUl9QQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGMDAwMCkKKworI2RlZmluZSBEQlJQX1JUVF9GQ0hfRVRfUEFSQU1fRVRfUENHX01BUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0VUX1BBUkFNX0VUX1BDR19NQVBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRVRfUEFSQU1fRVRfUENHX01BUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEQlJQX1JUVF9TWU5DX1ZJVF9QQVJBTV9TWU5DX1NUQVJUX0JVRl9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9SVFRfU1lOQ19WSVRfUEFSQU1fU1lOQ19TVEFSVF9CVUZfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfUlRUX1NZTkNfVklUX1BBUkFNX1NZTkNfU1RBUlRfQlVGX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIERCUlBfUlRUX0RCRzBfRFJNX0ZTTV9DU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgREJSUF9SVFRfREJHMF9EUk1fRlNNX0NTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfUlRUX0RCRzBfRFJNX0ZTTV9DU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDFGMDAwMDAwKQorCisjZGVmaW5lIERCUlBfUlRUX0RCRzBfREVUX0NITkxfSVRFUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgREJSUF9SVFRfREJHMF9ERVRfQ0hOTF9JVEVSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfUlRUX0RCRzBfREVUX0NITkxfSVRFUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwNzAwMDAwKQorCisjZGVmaW5lIERCUlBfUlRUX0RCRzBfTUFJTl9GU01fQ1NfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgREJSUF9SVFRfREJHMF9NQUlOX0ZTTV9DU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfUlRUX0RCRzBfTUFJTl9GU01fQ1NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDFGMDAwKQorCisjZGVmaW5lIERCUlBfUlRUX0RCRzBfVE9QX0ZTTV9DU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9EQkcwX1RPUF9GU01fQ1NfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgREJSUF9SVFRfREJHMF9UT1BfRlNNX0NTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgREJSUF9SVFRfUFdSX0NGR19QV1JfTU9ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBEQlJQX1JUVF9QV1JfQ0ZHX1BXUl9NT0RFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9SVFRfUFdSX0NGR19QV1JfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisjZGVmaW5lIERCUlBfUlRUX1BXUl9DRkdfUFdSX01PREVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRlVMTF9QQVJBTTFfSU5UTFZfRkJfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjcpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9GVUxMX1BBUkFNMV9JTlRMVl9GQl9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRlVMTF9QQVJBTTFfSU5UTFZfRkJfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwODAwMDAwMCkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0ZVTExfUEFSQU0xX0lOVExWX0ZCX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDgwMDAwMDApCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0ZVTExfUEFSQU0xX0lOVExWX0pfTTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRlVMTF9QQVJBTTFfSU5UTFZfSl9NMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0ZVTExfUEFSQU0xX0lOVExWX0pfTTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDdGMDAwMDApCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0ZVTExfUEFSQU0xX0lOVExWX01fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRlVMTF9QQVJBTTFfSU5UTFZfTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0ZVTExfUEFSQU0xX0lOVExWX01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMzAwMDApCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0ZVTExfUEFSQU0xX0lOVExWX1NJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9GVUxMX1BBUkFNMV9JTlRMVl9TSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0ZVTExfUEFSQU0xX0lOVExWX1NJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDNGRkYpCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0ZVTExfUEFSQU0yX0VOQ09ERURfQklUU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE3KQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRlVMTF9QQVJBTTJfRU5DT0RFRF9CSVRTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9GVUxMX1BBUkFNMl9FTkNPREVEX0JJVFNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkUwMDAwKQorCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9GVUxMX1BBUkFNMl9QVU5DX1BBVFRFUk5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRlVMTF9QQVJBTTJfUFVOQ19QQVRURVJOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9GVUxMX1BBUkFNMl9QVU5DX1BBVFRFUk5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDFGRkUwKQorCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9GVUxMX1BBUkFNMl9QVU5DX0NGR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRlVMTF9QQVJBTTJfUFVOQ19DRkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0ZVTExfUEFSQU0yX1BVTkNfQ0ZHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUMpCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0ZVTExfUEFSQU0yX1JFUEVBVF9SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9GVUxMX1BBUkFNMl9SRVBFQVRfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRlVMTF9QQVJBTTJfUkVQRUFUX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMykKKworI2RlZmluZSBEQlJQX1JUVF9GQ0hfRlVMTF9QQVJBTTNfU0VUUFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTcpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9GVUxMX1BBUkFNM19TRVRQVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRlVMTF9QQVJBTTNfU0VUUFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEZFMDAwMCkKKworI2RlZmluZSBEQlJQX1JUVF9GQ0hfRlVMTF9QQVJBTTNfQ09ERV9SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9GVUxMX1BBUkFNM19DT0RFX1JBVEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRlVMTF9QQVJBTTNfQ09ERV9SQVRFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0ZVTExfUEFSQU0zX0NPREVfUkFURV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0ZVTExfUEFSQU0zX0NSQ19TSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRlVMTF9QQVJBTTNfQ1JDX1NJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0ZVTExfUEFSQU0zX0NSQ19TSVpFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEUwMDApCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0ZVTExfUEFSQU0zX0NPREVfQkxPQ0tfU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9GVUxMX1BBUkFNM19DT0RFX0JMT0NLX1NJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0ZVTExfUEFSQU0zX0NPREVfQkxPQ0tfU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDFGRkYpCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0hBTEZfUEFSQU0yX0VOQ09ERURfQklUU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE3KQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfSEFMRl9QQVJBTTJfRU5DT0RFRF9CSVRTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9IQUxGX1BBUkFNMl9FTkNPREVEX0JJVFNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkUwMDAwKQorCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9IQUxGX1BBUkFNMl9QVU5DX1BBVFRFUk5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfSEFMRl9QQVJBTTJfUFVOQ19QQVRURVJOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9IQUxGX1BBUkFNMl9QVU5DX1BBVFRFUk5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDFGRkUwKQorCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9IQUxGX1BBUkFNMl9QVU5DX0NGR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfSEFMRl9QQVJBTTJfUFVOQ19DRkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0hBTEZfUEFSQU0yX1BVTkNfQ0ZHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUMpCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0hBTEZfUEFSQU0yX1JFUEVBVF9SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9IQUxGX1BBUkFNMl9SRVBFQVRfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfSEFMRl9QQVJBTTJfUkVQRUFUX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMykKKworI2RlZmluZSBEQlJQX1JUVF9GQ0hfSEFMRl9QQVJBTTNfU0VUUFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTcpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9IQUxGX1BBUkFNM19TRVRQVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfSEFMRl9QQVJBTTNfU0VUUFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEZFMDAwMCkKKworI2RlZmluZSBEQlJQX1JUVF9GQ0hfSEFMRl9QQVJBTTNfQ09ERV9SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9IQUxGX1BBUkFNM19DT0RFX1JBVEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfSEFMRl9QQVJBTTNfQ09ERV9SQVRFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0hBTEZfUEFSQU0zX0NPREVfUkFURV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0hBTEZfUEFSQU0zX0NSQ19TSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfSEFMRl9QQVJBTTNfQ1JDX1NJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0hBTEZfUEFSQU0zX0NSQ19TSVpFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEUwMDApCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0hBTEZfUEFSQU0zX0NPREVfQkxPQ0tfU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9IQUxGX1BBUkFNM19DT0RFX0JMT0NLX1NJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0hBTEZfUEFSQU0zX0NPREVfQkxPQ0tfU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDFGRkYpCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX1FVQVJfUEFSQU0yX0VOQ09ERURfQklUU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE3KQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfUVVBUl9QQVJBTTJfRU5DT0RFRF9CSVRTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9RVUFSX1BBUkFNMl9FTkNPREVEX0JJVFNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkUwMDAwKQorCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9RVUFSX1BBUkFNMl9QVU5DX1BBVFRFUk5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfUVVBUl9QQVJBTTJfUFVOQ19QQVRURVJOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9RVUFSX1BBUkFNMl9QVU5DX1BBVFRFUk5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDFGRkUwKQorCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9RVUFSX1BBUkFNMl9QVU5DX0NGR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfUVVBUl9QQVJBTTJfUFVOQ19DRkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9SVFRfRkNIX1FVQVJfUEFSQU0yX1BVTkNfQ0ZHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUMpCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX1FVQVJfUEFSQU0yX1JFUEVBVF9SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9RVUFSX1BBUkFNMl9SRVBFQVRfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfUVVBUl9QQVJBTTJfUkVQRUFUX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMykKKworI2RlZmluZSBEQlJQX1JUVF9GQ0hfUVVBUl9QQVJBTTNfU0VUUFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTcpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9RVUFSX1BBUkFNM19TRVRQVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfUVVBUl9QQVJBTTNfU0VUUFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEZFMDAwMCkKKworI2RlZmluZSBEQlJQX1JUVF9GQ0hfUVVBUl9QQVJBTTNfQ09ERV9SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9RVUFSX1BBUkFNM19DT0RFX1JBVEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfUVVBUl9QQVJBTTNfQ09ERV9SQVRFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX1FVQVJfUEFSQU0zX0NPREVfUkFURV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX1FVQVJfUEFSQU0zX0NSQ19TSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfUVVBUl9QQVJBTTNfQ1JDX1NJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9SVFRfRkNIX1FVQVJfUEFSQU0zX0NSQ19TSVpFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEUwMDApCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX1FVQVJfUEFSQU0zX0NPREVfQkxPQ0tfU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9RVUFSX1BBUkFNM19DT0RFX0JMT0NLX1NJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgREJSUF9SVFRfRkNIX1FVQVJfUEFSQU0zX0NPREVfQkxPQ0tfU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDFGRkYpCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0VJR0hfUEFSQU0yX0VOQ09ERURfQklUU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE3KQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRUlHSF9QQVJBTTJfRU5DT0RFRF9CSVRTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9FSUdIX1BBUkFNMl9FTkNPREVEX0JJVFNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkUwMDAwKQorCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9FSUdIX1BBUkFNMl9QVU5DX1BBVFRFUk5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRUlHSF9QQVJBTTJfUFVOQ19QQVRURVJOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9FSUdIX1BBUkFNMl9QVU5DX1BBVFRFUk5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDFGRkUwKQorCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9FSUdIX1BBUkFNMl9QVU5DX0NGR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRUlHSF9QQVJBTTJfUFVOQ19DRkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0VJR0hfUEFSQU0yX1BVTkNfQ0ZHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUMpCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0VJR0hfUEFSQU0yX1JFUEVBVF9SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9FSUdIX1BBUkFNMl9SRVBFQVRfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRUlHSF9QQVJBTTJfUkVQRUFUX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMykKKworI2RlZmluZSBEQlJQX1JUVF9GQ0hfRUlHSF9QQVJBTTNfU0VUUFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTcpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9FSUdIX1BBUkFNM19TRVRQVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRUlHSF9QQVJBTTNfU0VUUFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEZFMDAwMCkKKworI2RlZmluZSBEQlJQX1JUVF9GQ0hfRUlHSF9QQVJBTTNfQ09ERV9SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9FSUdIX1BBUkFNM19DT0RFX1JBVEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRUlHSF9QQVJBTTNfQ09ERV9SQVRFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0VJR0hfUEFSQU0zX0NPREVfUkFURV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0VJR0hfUEFSQU0zX0NSQ19TSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRUlHSF9QQVJBTTNfQ1JDX1NJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0VJR0hfUEFSQU0zX0NSQ19TSVpFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEUwMDApCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0VJR0hfUEFSQU0zX0NPREVfQkxPQ0tfU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9FSUdIX1BBUkFNM19DT0RFX0JMT0NLX1NJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0VJR0hfUEFSQU0zX0NPREVfQkxPQ0tfU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDFGRkYpCisKKyNkZWZpbmUgREJSUF9SVFRfU0NIX1BBUkFNMV9JTlRMVl9GQl9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI3KQorI2RlZmluZSBEQlJQX1JUVF9TQ0hfUEFSQU0xX0lOVExWX0ZCX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9SVFRfU0NIX1BBUkFNMV9JTlRMVl9GQl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDgwMDAwMDApCisjZGVmaW5lIERCUlBfUlRUX1NDSF9QQVJBTTFfSU5UTFZfRkJfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA4MDAwMDAwKQorCisjZGVmaW5lIERCUlBfUlRUX1NDSF9QQVJBTTFfSU5UTFZfSl9NMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgREJSUF9SVFRfU0NIX1BBUkFNMV9JTlRMVl9KX00xX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIERCUlBfUlRUX1NDSF9QQVJBTTFfSU5UTFZfSl9NMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA3RjAwMDAwKQorCisjZGVmaW5lIERCUlBfUlRUX1NDSF9QQVJBTTFfSU5UTFZfTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9SVFRfU0NIX1BBUkFNMV9JTlRMVl9NX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIERCUlBfUlRUX1NDSF9QQVJBTTFfSU5UTFZfTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDMwMDAwKQorCisjZGVmaW5lIERCUlBfUlRUX1NDSF9QQVJBTTFfSU5UTFZfU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9TQ0hfUEFSQU0xX0lOVExWX1NJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIERCUlBfUlRUX1NDSF9QQVJBTTFfSU5UTFZfU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAzRkZGKQorCisjZGVmaW5lIERCUlBfUlRUX1NDSF9QQVJBTTJfRU5DT0RFRF9CSVRTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNykKKyNkZWZpbmUgREJSUF9SVFRfU0NIX1BBUkFNMl9FTkNPREVEX0JJVFNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBEQlJQX1JUVF9TQ0hfUEFSQU0yX0VOQ09ERURfQklUU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZFMDAwMCkKKworI2RlZmluZSBEQlJQX1JUVF9TQ0hfUEFSQU0yX1BVTkNfUEFUVEVSTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9SVFRfU0NIX1BBUkFNMl9QVU5DX1BBVFRFUk5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBEQlJQX1JUVF9TQ0hfUEFSQU0yX1BVTkNfUEFUVEVSTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxRkZFMCkKKworI2RlZmluZSBEQlJQX1JUVF9TQ0hfUEFSQU0yX1BVTkNfQ0ZHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9SVFRfU0NIX1BBUkFNMl9QVU5DX0NGR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfUlRUX1NDSF9QQVJBTTJfUFVOQ19DRkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFDKQorCisjZGVmaW5lIERCUlBfUlRUX1NDSF9QQVJBTTJfUkVQRUFUX1JBVEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9TQ0hfUEFSQU0yX1JFUEVBVF9SQVRFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9SVFRfU0NIX1BBUkFNMl9SRVBFQVRfUkFURV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDMpCisKKyNkZWZpbmUgREJSUF9SVFRfU0NIX1BBUkFNM19TRVRQVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE3KQorI2RlZmluZSBEQlJQX1JUVF9TQ0hfUEFSQU0zX1NFVFBUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9SVFRfU0NIX1BBUkFNM19TRVRQVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGRTAwMDApCisKKyNkZWZpbmUgREJSUF9SVFRfU0NIX1BBUkFNM19DT0RFX1JBVEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1JUVF9TQ0hfUEFSQU0zX0NPREVfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9SVFRfU0NIX1BBUkFNM19DT0RFX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisjZGVmaW5lIERCUlBfUlRUX1NDSF9QQVJBTTNfQ09ERV9SQVRFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorCisjZGVmaW5lIERCUlBfUlRUX1NDSF9QQVJBTTNfQ1JDX1NJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgREJSUF9SVFRfU0NIX1BBUkFNM19DUkNfU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfUlRUX1NDSF9QQVJBTTNfQ1JDX1NJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBFMDAwKQorCisjZGVmaW5lIERCUlBfUlRUX1NDSF9QQVJBTTNfQ09ERV9CTE9DS19TSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9TQ0hfUEFSQU0zX0NPREVfQkxPQ0tfU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfUlRUX1NDSF9QQVJBTTNfQ09ERV9CTE9DS19TSVpFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRkZGKQorCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9FVF9QQ0dfQ05UX0VUX1BDR19DTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRVRfUENHX0NOVF9FVF9QQ0dfQ05UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0VUX1BDR19DTlRfRVRfUENHX0NOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX1NDQUxFX1BBUkFNX0ZSTV9BQlNfQUNDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9TQ0FMRV9QQVJBTV9GUk1fQUJTX0FDQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNykKKyNkZWZpbmUgREJSUF9SVFRfRkNIX1NDQUxFX1BBUkFNX0ZSTV9BQlNfQUNDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMUZGRkYpCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX1NDQUxFX1BBUkFNMV9WTERfREFUQV9OVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9TQ0FMRV9QQVJBTTFfVkxEX0RBVEFfTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX1NDQUxFX1BBUkFNMV9WTERfREFUQV9OVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgREJSUF9SVFRfU0NIX1NDQUxFX1BBUkFNX0ZSTV9BQlNfQUNDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX1NDSF9TQ0FMRV9QQVJBTV9GUk1fQUJTX0FDQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgREJSUF9SVFRfU0NIX1NDQUxFX1BBUkFNX0ZSTV9BQlNfQUNDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxRkZGRkYpCisKKyNkZWZpbmUgREJSUF9SVFRfU0NIX1NDQUxFX1BBUkFNMV9WTERfREFUQV9OVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX1NDSF9TQ0FMRV9QQVJBTTFfVkxEX0RBVEFfTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgREJSUF9SVFRfU0NIX1NDQUxFX1BBUkFNMV9WTERfREFUQV9OVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKworI2VuZGlmIC8vI2lmbmRlZiBfQ1BIXzFYX1JYQlJQX0hfCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoMXhyeGJycGNvcnJzZXIuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGgxeHJ4YnJwY29ycnNlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4ZmEzMGMKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoMXhyeGJycGNvcnJzZXIuaApAQCAtMCwwICsxLDQ1IEBACisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWYgZGVmaW5lZChfX01EOTNfXykKKyNpbmNsdWRlICAiY3BoMXhyeGJycGNvcnJzZXJfOTMuaCIKKyNlbGlmIGRlZmluZWQoX19NRDk1X18pCisjaW5jbHVkZSAgImNwaDF4cnhicnBjb3Jyc2VyXzkzLmgiCisjZWxpZiBkZWZpbmVkKF9fTUQ5N19fKQorI2luY2x1ZGUgICJjcGgxeHJ4YnJwY29ycnNlcl85Ny5oIgorI2Vsc2UKKyNlcnJvciAiW0VSUk9SXSBJbnZhbGlkIE1EIGdlbmVyYXRpb24iCisjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaDF4cnhicnBjb3Jyc2VyXzkzLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoMXhyeGJycGNvcnJzZXJfOTMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YzJjY2NmCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaDF4cnhicnBjb3Jyc2VyXzkzLmgKQEAgLTAsMCArMSwyMjQgQEAKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NQSF8xWF9SWEJSUF9DT1JSU0VSX0hfCisjZGVmaW5lIF9DUEhfMVhfUlhCUlBfQ09SUlNFUl9IXworCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBTUkFNQUREUjsgICAgICAgICAvKiBTUkFNIGFkZHIgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIFNSQU1EQVRBOyAgICAgICAgIC8qIFNSQU0gZGF0YSBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogQVBCQUREUjsgICAgICAgICAgLyogQVBCIGFkZHIgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBBUEJEQVRBOyAgICAgICAgICAvKiBBUEIgZGF0YSBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyogIEFQQkFERFIzMjsgICAgICAgIC8qIEFQQiBhZGRyIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICAgQVBCREFUQTMyOyAgICAgICAgLyogQVBCIGRhdGEgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBEUFJBTUFERFI7ICAgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgc2lnbmVkICAgc2hvcnQqIERQUkFNQUREUl9TOyAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgRFBSQU1EQVRBOyAgICAgICAgLyogRFBSQU0gZGF0YSBpcyAxNiBiaXRzICovCisKKworI2RlZmluZSBSWEJSUF9DX0NPUlJfU0VSX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhBRDA1MDAwMCkKKworI2RlZmluZSBSWEJSUF9DX0NPUlJfU0VSX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoUlhCUlBfQ19DT1JSX1NFUl9SRUdfQkFTRSArIDB4MDA3QyArIDEqNCkKKworCisKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9CVUZfSURYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfQ09SUl9TRVJfUkVHX0JBU0UgKyAweDAwMDApKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX0VORVJHWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ19DT1JSX1NFUl9SRUdfQkFTRSArIDB4MDAwNCkpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DX0NPUlJfU0VSX1JFR19CQVNFICsgMHgwMDA4KSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfQ09SUl9TRVJfUkVHX0JBU0UgKyAweDAwMEMpKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ19DT1JSX1NFUl9SRUdfQkFTRSArIDB4MDAxMCkpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DX0NPUlJfU0VSX1JFR19CQVNFICsgMHgwMDE0KSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfQ09SUl9TRVJfUkVHX0JBU0UgKyAweDAwMTgpKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQ1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ19DT1JSX1NFUl9SRUdfQkFTRSArIDB4MDAxQykpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DX0NPUlJfU0VSX1JFR19CQVNFICsgMHgwMDIwKSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfQ09SUl9TRVJfUkVHX0JBU0UgKyAweDAwMjQpKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ19DT1JSX1NFUl9SRUdfQkFTRSArIDB4MDAyOCkpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DX0NPUlJfU0VSX1JFR19CQVNFICsgMHgwMDJDKSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfQ09SUl9TRVJfUkVHX0JBU0UgKyAweDAwMzApKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQxMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ19DT1JSX1NFUl9SRUdfQkFTRSArIDB4MDAzNCkpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DX0NPUlJfU0VSX1JFR19CQVNFICsgMHgwMDM4KSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUMTMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfQ09SUl9TRVJfUkVHX0JBU0UgKyAweDAwM0MpKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQxNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ19DT1JSX1NFUl9SRUdfQkFTRSArIDB4MDA0MCkpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDE1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DX0NPUlJfU0VSX1JFR19CQVNFICsgMHgwMDQ0KSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUX0VYVFJBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfQ09SUl9TRVJfUkVHX0JBU0UgKyAweDAwNDgpKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX0ZVTExfU0VSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ19DT1JSX1NFUl9SRUdfQkFTRSArIDB4MDA0QykpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfSEFMRl9TRVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DX0NPUlJfU0VSX1JFR19CQVNFICsgMHgwMDUwKSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9RVUFSX1NFUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfQ09SUl9TRVJfUkVHX0JBU0UgKyAweDAwNTQpKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX0VJR0hfU0VSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ19DT1JSX1NFUl9SRUdfQkFTRSArIDB4MDA1OCkpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfRlVMTF9CRVNUX1BNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DX0NPUlJfU0VSX1JFR19CQVNFICsgMHgwMDVDKSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9IQUxGX0JFU1RfUE0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfQ09SUl9TRVJfUkVHX0JBU0UgKyAweDAwNjApKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1FVQVJfQkVTVF9QTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ19DT1JSX1NFUl9SRUdfQkFTRSArIDB4MDA2NCkpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfRUlHSF9CRVNUX1BNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DX0NPUlJfU0VSX1JFR19CQVNFICsgMHgwMDY4KSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9QQVRURVJOX0VYVFJBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfQ09SUl9TRVJfUkVHX0JBU0UgKyAweDAwNkMpKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1ZBTElEX1NZTUJPTF9OVU1fRlVMTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ19DT1JSX1NFUl9SRUdfQkFTRSArIDB4MDA3MCkpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfVkFMSURfU1lNQk9MX05VTV9IQUxGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DX0NPUlJfU0VSX1JFR19CQVNFICsgMHgwMDc0KSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9WQUxJRF9TWU1CT0xfTlVNX1FVQVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfQ09SUl9TRVJfUkVHX0JBU0UgKyAweDAwNzgpKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1ZBTElEX1NZTUJPTF9OVU1fRUlHSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ19DT1JSX1NFUl9SRUdfQkFTRSArIDB4MDA3QykpCisKKworI2RlZmluZSBEQlJQX1JUVF9DT1JSX0JVRl9JRFhfU1lOX0JVRl9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9CVUZfSURYX1NZTl9CVUZfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfQlVGX0lEWF9TWU5fQlVGX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfRU5FUkdZX0VORVJHWV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX0VORVJHWV9FTkVSR1lfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9FTkVSR1lfRU5FUkdZX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUMF9DT1JSX1JTTFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDBfQ09SUl9SU0xUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQwX0NPUlJfUlNMVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQxX0NPUlJfUlNMVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUMV9DT1JSX1JTTFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDFfQ09SUl9SU0xUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDJfQ09SUl9SU0xUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQyX0NPUlJfUlNMVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUMl9DT1JSX1JTTFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUM19DT1JSX1JTTFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDNfQ09SUl9SU0xUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQzX0NPUlJfUlNMVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQ0X0NPUlJfUlNMVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUNF9DT1JSX1JTTFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDRfQ09SUl9SU0xUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDVfQ09SUl9SU0xUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQ1X0NPUlJfUlNMVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUNV9DT1JSX1JTTFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUNl9DT1JSX1JTTFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDZfQ09SUl9SU0xUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQ2X0NPUlJfUlNMVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQ3X0NPUlJfUlNMVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUN19DT1JSX1JTTFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDdfQ09SUl9SU0xUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDhfQ09SUl9SU0xUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQ4X0NPUlJfUlNMVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUOF9DT1JSX1JTTFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUOV9DT1JSX1JTTFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDlfQ09SUl9SU0xUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQ5X0NPUlJfUlNMVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQxMF9DT1JSX1JTTFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUMTBfQ09SUl9SU0xUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDEwX0NPUlJfUlNMVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDExX0NPUlJfUlNMVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQxMV9DT1JSX1JTTFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUMTFfQ09SUl9SU0xUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUMTJfQ09SUl9SU0xUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDEyX0NPUlJfUlNMVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQxMl9DT1JSX1JTTFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQxM19DT1JSX1JTTFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUMTNfQ09SUl9SU0xUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDEzX0NPUlJfUlNMVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDE0X0NPUlJfUlNMVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQxNF9DT1JSX1JTTFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUMTRfQ09SUl9SU0xUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUMTVfQ09SUl9SU0xUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDE1X0NPUlJfUlNMVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQxNV9DT1JSX1JTTFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFRfRVhUUkFfQ09SUl9SU0xUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUX0VYVFJBX0NPUlJfUlNMVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVF9FWFRSQV9DT1JSX1JTTFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfRlVMTF9TRVJfU0VSX1JTTFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX0ZVTExfU0VSX1NFUl9SU0xUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfRlVMTF9TRVJfU0VSX1JTTFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwN0ZGKQorCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfSEFMRl9TRVJfU0VSX1JTTFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX0hBTEZfU0VSX1NFUl9SU0xUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfSEFMRl9TRVJfU0VSX1JTTFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwN0ZGKQorCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUVVBUl9TRVJfU0VSX1JTTFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1FVQVJfU0VSX1NFUl9SU0xUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUVVBUl9TRVJfU0VSX1JTTFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwN0ZGKQorCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfRUlHSF9TRVJfU0VSX1JTTFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX0VJR0hfU0VSX1NFUl9SU0xUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfRUlHSF9TRVJfU0VSX1JTTFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwN0ZGKQorCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfRlVMTF9CRVNUX1BNX0JFU1RfUE1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX0ZVTExfQkVTVF9QTV9CRVNUX1BNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfRlVMTF9CRVNUX1BNX0JFU1RfUE1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfSEFMRl9CRVNUX1BNX0JFU1RfUE1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX0hBTEZfQkVTVF9QTV9CRVNUX1BNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfSEFMRl9CRVNUX1BNX0JFU1RfUE1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUVVBUl9CRVNUX1BNX0JFU1RfUE1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1FVQVJfQkVTVF9QTV9CRVNUX1BNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUVVBUl9CRVNUX1BNX0JFU1RfUE1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfRUlHSF9CRVNUX1BNX0JFU1RfUE1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX0VJR0hfQkVTVF9QTV9CRVNUX1BNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfRUlHSF9CRVNUX1BNX0JFU1RfUE1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUEFUVEVSTl9FWFRSQV9DT1JSX0VYVFJBX0VOQUJMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1BBVFRFUk5fRVhUUkFfQ09SUl9FWFRSQV9FTkFCTEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9QQVRURVJOX0VYVFJBX0NPUlJfRVhUUkFfRU5BQkxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUEFUVEVSTl9FWFRSQV9DT1JSX0VYVFJBX0VOQUJMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUEFUVEVSTl9FWFRSQV9NU0dfTEVOR1RIX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1BBVFRFUk5fRVhUUkFfTVNHX0xFTkdUSF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9QQVRURVJOX0VYVFJBX01TR19MRU5HVEhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9WQUxJRF9TWU1CT0xfTlVNX0ZVTExfVkFMSURfU1lNQk9MX05VTV9MU0IgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfVkFMSURfU1lNQk9MX05VTV9GVUxMX1ZBTElEX1NZTUJPTF9OVU1fV0lEVEggICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9WQUxJRF9TWU1CT0xfTlVNX0ZVTExfVkFMSURfU1lNQk9MX05VTV9NQVNLICAgICAgICAgICAgICAgKDB4MDAwMDA3RkYpCisKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9WQUxJRF9TWU1CT0xfTlVNX0hBTEZfVkFMSURfU1lNQk9MX05VTV9MU0IgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfVkFMSURfU1lNQk9MX05VTV9IQUxGX1ZBTElEX1NZTUJPTF9OVU1fV0lEVEggICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9WQUxJRF9TWU1CT0xfTlVNX0hBTEZfVkFMSURfU1lNQk9MX05VTV9NQVNLICAgICAgICAgICAgICAgKDB4MDAwMDA3RkYpCisKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9WQUxJRF9TWU1CT0xfTlVNX1FVQVJfVkFMSURfU1lNQk9MX05VTV9MU0IgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfVkFMSURfU1lNQk9MX05VTV9RVUFSX1ZBTElEX1NZTUJPTF9OVU1fV0lEVEggICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9WQUxJRF9TWU1CT0xfTlVNX1FVQVJfVkFMSURfU1lNQk9MX05VTV9NQVNLICAgICAgICAgICAgICAgKDB4MDAwMDA3RkYpCisKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9WQUxJRF9TWU1CT0xfTlVNX0VJR0hfVkFMSURfU1lNQk9MX05VTV9MU0IgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfVkFMSURfU1lNQk9MX05VTV9FSUdIX1ZBTElEX1NZTUJPTF9OVU1fV0lEVEggICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9WQUxJRF9TWU1CT0xfTlVNX0VJR0hfVkFMSURfU1lNQk9MX05VTV9NQVNLICAgICAgICAgICAgICAgKDB4MDAwMDA3RkYpCisKKworI2VuZGlmIC8vI2lmbmRlZiBfQ1BIXzFYX1JYQlJQX0NPUlJTRVJfSF8KZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGgxeHJ4YnJwY29ycnNlcl85Ny5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaDF4cnhicnBjb3Jyc2VyXzk3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzBhZTMyMAotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGgxeHJ4YnJwY29ycnNlcl85Ny5oCkBAIC0wLDAgKzEsMjI5IEBACisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhfMVhfUlhCUlBfQ09SUlNFUl9IXworI2RlZmluZSBfQ1BIXzFYX1JYQlJQX0NPUlJTRVJfSF8KKwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogU1JBTUFERFI7ICAgICAgICAgLyogU1JBTSBhZGRyIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBTUkFNREFUQTsgICAgICAgICAvKiBTUkFNIGRhdGEgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIEFQQkFERFI7ICAgICAgICAgIC8qIEFQQiBhZGRyIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgQVBCREFUQTsgICAgICAgICAgLyogQVBCIGRhdGEgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqICBBUEJBRERSMzI7ICAgICAgICAvKiBBUEIgYWRkciBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAgIEFQQkRBVEEzMjsgICAgICAgIC8qIEFQQiBkYXRhIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogRFBSQU1BRERSOyAgICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHNpZ25lZCAgIHNob3J0KiBEUFJBTUFERFJfUzsgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIERQUkFNREFUQTsgICAgICAgIC8qIERQUkFNIGRhdGEgaXMgMTYgYml0cyAqLworCisKKyNkZWZpbmUgUlhCUlBfQ19DT1JSX1NFUl9SRUdfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QUM4NTAwMDApCisKKyNkZWZpbmUgUlhCUlBfQ19DT1JSX1NFUl9lbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFJYQlJQX0NfQ09SUl9TRVJfUkVHX0JBU0UgKyAweDAwN0MgKyAxKjQpCisKKworCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfQlVGX0lEWCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DX0NPUlJfU0VSX1JFR19CQVNFICsgMHgwMDAwKSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9FTkVSR1kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfQ09SUl9TRVJfUkVHX0JBU0UgKyAweDAwMDQpKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ19DT1JSX1NFUl9SRUdfQkFTRSArIDB4MDAwOCkpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DX0NPUlJfU0VSX1JFR19CQVNFICsgMHgwMDBDKSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfQ09SUl9TRVJfUkVHX0JBU0UgKyAweDAwMTApKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ19DT1JSX1NFUl9SRUdfQkFTRSArIDB4MDAxNCkpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DX0NPUlJfU0VSX1JFR19CQVNFICsgMHgwMDE4KSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfQ09SUl9TRVJfUkVHX0JBU0UgKyAweDAwMUMpKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQ2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ19DT1JSX1NFUl9SRUdfQkFTRSArIDB4MDAyMCkpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DX0NPUlJfU0VSX1JFR19CQVNFICsgMHgwMDI0KSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfQ09SUl9TRVJfUkVHX0JBU0UgKyAweDAwMjgpKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQ5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ19DT1JSX1NFUl9SRUdfQkFTRSArIDB4MDAyQykpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDEwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DX0NPUlJfU0VSX1JFR19CQVNFICsgMHgwMDMwKSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUMTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfQ09SUl9TRVJfUkVHX0JBU0UgKyAweDAwMzQpKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ19DT1JSX1NFUl9SRUdfQkFTRSArIDB4MDAzOCkpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDEzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DX0NPUlJfU0VSX1JFR19CQVNFICsgMHgwMDNDKSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUMTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfQ09SUl9TRVJfUkVHX0JBU0UgKyAweDAwNDApKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQxNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ19DT1JSX1NFUl9SRUdfQkFTRSArIDB4MDA0NCkpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DX0NPUlJfU0VSX1JFR19CQVNFICsgMHgwMDQ4KSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUX0VYVFJBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfQ09SUl9TRVJfUkVHX0JBU0UgKyAweDAwNEMpKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX0ZVTExfU0VSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ19DT1JSX1NFUl9SRUdfQkFTRSArIDB4MDA1MCkpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfSEFMRl9TRVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DX0NPUlJfU0VSX1JFR19CQVNFICsgMHgwMDU0KSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9RVUFSX1NFUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfQ09SUl9TRVJfUkVHX0JBU0UgKyAweDAwNTgpKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX0VJR0hfU0VSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ19DT1JSX1NFUl9SRUdfQkFTRSArIDB4MDA1QykpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfRlVMTF9CRVNUX1BNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DX0NPUlJfU0VSX1JFR19CQVNFICsgMHgwMDYwKSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9IQUxGX0JFU1RfUE0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfQ09SUl9TRVJfUkVHX0JBU0UgKyAweDAwNjQpKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1FVQVJfQkVTVF9QTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ19DT1JSX1NFUl9SRUdfQkFTRSArIDB4MDA2OCkpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfRUlHSF9CRVNUX1BNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DX0NPUlJfU0VSX1JFR19CQVNFICsgMHgwMDZDKSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9QQVRURVJOX0VYVFJBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfQ09SUl9TRVJfUkVHX0JBU0UgKyAweDAwNzApKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1ZBTElEX1NZTUJPTF9OVU1fRlVMTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ19DT1JSX1NFUl9SRUdfQkFTRSArIDB4MDA3NCkpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfVkFMSURfU1lNQk9MX05VTV9IQUxGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DX0NPUlJfU0VSX1JFR19CQVNFICsgMHgwMDc4KSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9WQUxJRF9TWU1CT0xfTlVNX1FVQVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfQ09SUl9TRVJfUkVHX0JBU0UgKyAweDAwN0MpKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1ZBTElEX1NZTUJPTF9OVU1fRUlHSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ19DT1JSX1NFUl9SRUdfQkFTRSArIDB4MDA4MCkpCisKKworI2RlZmluZSBEQlJQX1JUVF9DT1JSX0JVRl9JRFhfU1lOX0JVRl9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9CVUZfSURYX1NZTl9CVUZfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfQlVGX0lEWF9TWU5fQlVGX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfRU5FUkdZX0VORVJHWV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX0VORVJHWV9FTkVSR1lfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9FTkVSR1lfRU5FUkdZX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUMF9DT1JSX1JTTFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDBfQ09SUl9SU0xUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQwX0NPUlJfUlNMVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQxX0NPUlJfUlNMVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUMV9DT1JSX1JTTFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDFfQ09SUl9SU0xUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDJfQ09SUl9SU0xUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQyX0NPUlJfUlNMVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUMl9DT1JSX1JTTFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUM19DT1JSX1JTTFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDNfQ09SUl9SU0xUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQzX0NPUlJfUlNMVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQ0X0NPUlJfUlNMVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUNF9DT1JSX1JTTFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDRfQ09SUl9SU0xUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDVfQ09SUl9SU0xUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQ1X0NPUlJfUlNMVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUNV9DT1JSX1JTTFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUNl9DT1JSX1JTTFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDZfQ09SUl9SU0xUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQ2X0NPUlJfUlNMVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQ3X0NPUlJfUlNMVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUN19DT1JSX1JTTFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDdfQ09SUl9SU0xUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDhfQ09SUl9SU0xUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQ4X0NPUlJfUlNMVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUOF9DT1JSX1JTTFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUOV9DT1JSX1JTTFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDlfQ09SUl9SU0xUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQ5X0NPUlJfUlNMVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQxMF9DT1JSX1JTTFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUMTBfQ09SUl9SU0xUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDEwX0NPUlJfUlNMVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDExX0NPUlJfUlNMVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQxMV9DT1JSX1JTTFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUMTFfQ09SUl9SU0xUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUMTJfQ09SUl9SU0xUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDEyX0NPUlJfUlNMVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQxMl9DT1JSX1JTTFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQxM19DT1JSX1JTTFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUMTNfQ09SUl9SU0xUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDEzX0NPUlJfUlNMVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDE0X0NPUlJfUlNMVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQxNF9DT1JSX1JTTFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUMTRfQ09SUl9SU0xUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUMTVfQ09SUl9SU0xUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDE1X0NPUlJfUlNMVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQxNV9DT1JSX1JTTFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFQxNl9DT1JSX1JTTFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUMTZfQ09SUl9SU0xUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVDE2X0NPUlJfUlNMVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUlNMVF9FWFRSQV9DT1JSX1JTTFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1JTTFRfRVhUUkFfQ09SUl9SU0xUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9SU0xUX0VYVFJBX0NPUlJfUlNMVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9GVUxMX1NFUl9TRVJfUlNMVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfRlVMTF9TRVJfU0VSX1JTTFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9GVUxMX1NFUl9TRVJfUlNMVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA3RkYpCisKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9IQUxGX1NFUl9TRVJfUlNMVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfSEFMRl9TRVJfU0VSX1JTTFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9IQUxGX1NFUl9TRVJfUlNMVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA3RkYpCisKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9RVUFSX1NFUl9TRVJfUlNMVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUVVBUl9TRVJfU0VSX1JTTFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9RVUFSX1NFUl9TRVJfUlNMVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA3RkYpCisKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9FSUdIX1NFUl9TRVJfUlNMVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfRUlHSF9TRVJfU0VSX1JTTFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9FSUdIX1NFUl9TRVJfUlNMVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA3RkYpCisKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9GVUxMX0JFU1RfUE1fQkVTVF9QTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfRlVMTF9CRVNUX1BNX0JFU1RfUE1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9GVUxMX0JFU1RfUE1fQkVTVF9QTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9IQUxGX0JFU1RfUE1fQkVTVF9QTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfSEFMRl9CRVNUX1BNX0JFU1RfUE1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9IQUxGX0JFU1RfUE1fQkVTVF9QTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9RVUFSX0JFU1RfUE1fQkVTVF9QTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUVVBUl9CRVNUX1BNX0JFU1RfUE1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9RVUFSX0JFU1RfUE1fQkVTVF9QTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9FSUdIX0JFU1RfUE1fQkVTVF9QTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfRUlHSF9CRVNUX1BNX0JFU1RfUE1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9FSUdIX0JFU1RfUE1fQkVTVF9QTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9QQVRURVJOX0VYVFJBX0NPUlJfRVhUUkFfRU5BQkxFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUEFUVEVSTl9FWFRSQV9DT1JSX0VYVFJBX0VOQUJMRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1BBVFRFUk5fRVhUUkFfQ09SUl9FWFRSQV9FTkFCTEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9QQVRURVJOX0VYVFJBX0NPUlJfRVhUUkFfRU5BQkxFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9QQVRURVJOX0VYVFJBX01TR19MRU5HVEhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0NPUlJfUEFUVEVSTl9FWFRSQV9NU0dfTEVOR1RIX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1BBVFRFUk5fRVhUUkFfTVNHX0xFTkdUSF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKworI2RlZmluZSBEQlJQX1JUVF9DT1JSX1ZBTElEX1NZTUJPTF9OVU1fRlVMTF9WQUxJRF9TWU1CT0xfTlVNX0xTQiAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9WQUxJRF9TWU1CT0xfTlVNX0ZVTExfVkFMSURfU1lNQk9MX05VTV9XSURUSCAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1ZBTElEX1NZTUJPTF9OVU1fRlVMTF9WQUxJRF9TWU1CT0xfTlVNX01BU0sgICAgICAgICAgICAgICAoMHgwMDAwMDdGRikKKworI2RlZmluZSBEQlJQX1JUVF9DT1JSX1ZBTElEX1NZTUJPTF9OVU1fSEFMRl9WQUxJRF9TWU1CT0xfTlVNX0xTQiAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9WQUxJRF9TWU1CT0xfTlVNX0hBTEZfVkFMSURfU1lNQk9MX05VTV9XSURUSCAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1ZBTElEX1NZTUJPTF9OVU1fSEFMRl9WQUxJRF9TWU1CT0xfTlVNX01BU0sgICAgICAgICAgICAgICAoMHgwMDAwMDdGRikKKworI2RlZmluZSBEQlJQX1JUVF9DT1JSX1ZBTElEX1NZTUJPTF9OVU1fUVVBUl9WQUxJRF9TWU1CT0xfTlVNX0xTQiAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9WQUxJRF9TWU1CT0xfTlVNX1FVQVJfVkFMSURfU1lNQk9MX05VTV9XSURUSCAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1ZBTElEX1NZTUJPTF9OVU1fUVVBUl9WQUxJRF9TWU1CT0xfTlVNX01BU0sgICAgICAgICAgICAgICAoMHgwMDAwMDdGRikKKworI2RlZmluZSBEQlJQX1JUVF9DT1JSX1ZBTElEX1NZTUJPTF9OVU1fRUlHSF9WQUxJRF9TWU1CT0xfTlVNX0xTQiAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9SVFRfQ09SUl9WQUxJRF9TWU1CT0xfTlVNX0VJR0hfVkFMSURfU1lNQk9MX05VTV9XSURUSCAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBEQlJQX1JUVF9DT1JSX1ZBTElEX1NZTUJPTF9OVU1fRUlHSF9WQUxJRF9TWU1CT0xfTlVNX01BU0sgICAgICAgICAgICAgICAoMHgwMDAwMDdGRikKKworCisjZW5kaWYgLy8jaWZuZGVmIF9DUEhfMVhfUlhCUlBfQ09SUlNFUl9IXwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaDF4cnhicnBkbWEuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGgxeHJ4YnJwZG1hLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2VmNmE0OAotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGgxeHJ4YnJwZG1hLmgKQEAgLTAsMCArMSw4NCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NQSF8xWF9SWEJSUF9ETUFfSF8KKyNkZWZpbmUgX0NQSF8xWF9SWEJSUF9ETUFfSF8KKworCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBTUkFNQUREUjsgICAgICAgICAvKiBTUkFNIGFkZHIgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIFNSQU1EQVRBOyAgICAgICAgIC8qIFNSQU0gZGF0YSBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogQVBCQUREUjsgICAgICAgICAgLyogQVBCIGFkZHIgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBBUEJEQVRBOyAgICAgICAgICAvKiBBUEIgZGF0YSBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyogIEFQQkFERFIzMjsgICAgICAgIC8qIEFQQiBhZGRyIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICAgQVBCREFUQTMyOyAgICAgICAgLyogQVBCIGRhdGEgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBEUFJBTUFERFI7ICAgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgc2lnbmVkICAgc2hvcnQqIERQUkFNQUREUl9TOyAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgRFBSQU1EQVRBOyAgICAgICAgLyogRFBSQU0gZGF0YSBpcyAxNiBiaXRzICovCisKKworI2RlZmluZSBSWEJSUF9DXzFYUlRUX0RNQV9SRUdfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMCkKKworI2RlZmluZSBSWEJSUF9DXzFYUlRUX0RNQV9lbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoUlhCUlBfQ18xWFJUVF9ETUFfUkVHX0JBU0UgKyAweDAwMTAgKyAxKjQpCisKKworCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9FVF9QQ0dfQ05UX0RNQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ18xWFJUVF9ETUFfUkVHX0JBU0UgKyAweDAwMDApKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfU0NBTEVfUEFSQU1fRE1BICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfMVhSVFRfRE1BX1JFR19CQVNFICsgMHgwMDA0KSkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX1NDQUxFX1BBUkFNMV9ETUEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DXzFYUlRUX0RNQV9SRUdfQkFTRSArIDB4MDAwOCkpCisjZGVmaW5lIERCUlBfUlRUX1NDSF9TQ0FMRV9QQVJBTV9ETUEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ18xWFJUVF9ETUFfUkVHX0JBU0UgKyAweDAwMEMpKQorI2RlZmluZSBEQlJQX1JUVF9TQ0hfU0NBTEVfUEFSQU0xX0RNQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfMVhSVFRfRE1BX1JFR19CQVNFICsgMHgwMDEwKSkKKworCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9FVF9QQ0dfQ05UX0VUX1BDR19DTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1JUVF9GQ0hfRVRfUENHX0NOVF9FVF9QQ0dfQ05UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX0VUX1BDR19DTlRfRVRfUENHX0NOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX1NDQUxFX1BBUkFNX0ZSTV9BQlNfQUNDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9TQ0FMRV9QQVJBTV9GUk1fQUJTX0FDQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNykKKyNkZWZpbmUgREJSUF9SVFRfRkNIX1NDQUxFX1BBUkFNX0ZSTV9BQlNfQUNDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMUZGRkYpCisKKyNkZWZpbmUgREJSUF9SVFRfRkNIX1NDQUxFX1BBUkFNMV9WTERfREFUQV9OVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX0ZDSF9TQ0FMRV9QQVJBTTFfVkxEX0RBVEFfTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgREJSUF9SVFRfRkNIX1NDQUxFX1BBUkFNMV9WTERfREFUQV9OVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgREJSUF9SVFRfU0NIX1NDQUxFX1BBUkFNX0ZSTV9BQlNfQUNDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX1NDSF9TQ0FMRV9QQVJBTV9GUk1fQUJTX0FDQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgREJSUF9SVFRfU0NIX1NDQUxFX1BBUkFNX0ZSTV9BQlNfQUNDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxRkZGRkYpCisKKyNkZWZpbmUgREJSUF9SVFRfU0NIX1NDQUxFX1BBUkFNMV9WTERfREFUQV9OVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfUlRUX1NDSF9TQ0FMRV9QQVJBTTFfVkxEX0RBVEFfTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgREJSUF9SVFRfU0NIX1NDQUxFX1BBUkFNMV9WTERfREFUQV9OVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKworI2VuZGlmIC8vI2lmbmRlZiBfQ1BIXzFYX1JYQlJQX0RNQV9IXwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaDF4cnhicnB3Y3RkbWEuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGgxeHJ4YnJwd2N0ZG1hLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2UzNzdiMwotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGgxeHJ4YnJwd2N0ZG1hLmgKQEAgLTAsMCArMSw0NCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiBkZWZpbmVkKF9fTUQ5M19fKQorI2luY2x1ZGUgICJjcGgxeHJ4YnJwd2N0ZG1hXzkzLmgiCisjZWxpZiBkZWZpbmVkKF9fTUQ5NV9fKQorI2luY2x1ZGUgICJjcGgxeHJ4YnJwd2N0ZG1hXzkzLmgiCisjZWxpZiBkZWZpbmVkKF9fTUQ5N19fKQorI2luY2x1ZGUgICJjcGgxeHJ4YnJwd2N0ZG1hXzk3LmgiCisjZWxzZQorI2Vycm9yICJbRVJST1JdIEludmFsaWQgTUQgZ2VuZXJhdGlvbiIKKyNlbmRpZgorCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoMXhyeGJycHdjdGRtYV85My5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaDF4cnhicnB3Y3RkbWFfOTMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYmMzNThjCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaDF4cnhicnB3Y3RkbWFfOTMuaApAQCAtMCwwICsxLDUxMCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NQSF8xWF9SWF9CUlBfV0NUX0RNQV9IXworI2RlZmluZSBfQ1BIXzFYX1JYX0JSUF9XQ1RfRE1BX0hfCisKKwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogU1JBTUFERFI7ICAgICAgICAgLyogU1JBTSBhZGRyIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBTUkFNREFUQTsgICAgICAgICAvKiBTUkFNIGRhdGEgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIEFQQkFERFI7ICAgICAgICAgIC8qIEFQQiBhZGRyIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgQVBCREFUQTsgICAgICAgICAgLyogQVBCIGRhdGEgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqICBBUEJBRERSMzI7ICAgICAgICAvKiBBUEIgYWRkciBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAgIEFQQkRBVEEzMjsgICAgICAgIC8qIEFQQiBkYXRhIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogRFBSQU1BRERSOyAgICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHNpZ25lZCAgIHNob3J0KiBEUFJBTUFERFJfUzsgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIERQUkFNREFUQTsgICAgICAgIC8qIERQUkFNIGRhdGEgaXMgMTYgYml0cyAqLworCisKKyNkZWZpbmUgUlhCUlBfV0NUX0RNQV9SRUdfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QUQxNTAwMDApCisKKyNkZWZpbmUgUlhCUlBfV0NUX0RNQV9lbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFJYQlJQX1dDVF9ETUFfUkVHX0JBU0UgKyAweDAwQjQgKyAxKjQpCisKKworCisjZGVmaW5lIERCUlBfRE1BX1JFU0VUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRE1BX1JFR19CQVNFICsgMHgwMDAwKSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX1dDVF9ETUFfUkVHX0JBU0UgKyAweDAwMDQpKQorI2RlZmluZSBEQlJQX0RNQV9DSDBfUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RNQV9SRUdfQkFTRSArIDB4MDAwOCkpCisjZGVmaW5lIERCUlBfRE1BX0NIMF9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRE1BX1JFR19CQVNFICsgMHgwMDBDKSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gwX0NUUkxfREFUQV9QSU5HICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX1dDVF9ETUFfUkVHX0JBU0UgKyAweDAwMTApKQorI2RlZmluZSBEQlJQX0RNQV9DSDBfQ1RSTF9EQVRBX1BPTkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RNQV9SRUdfQkFTRSArIDB4MDAxNCkpCisjZGVmaW5lIERCUlBfRE1BX0NIMF9DVFJMX0RBVEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRE1BX1JFR19CQVNFICsgMHgwMDE4KSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX1dDVF9ETUFfUkVHX0JBU0UgKyAweDAwMUMpKQorI2RlZmluZSBEQlJQX0RNQV9DSDFfUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RNQV9SRUdfQkFTRSArIDB4MDAyMCkpCisjZGVmaW5lIERCUlBfRE1BX0NIMV9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRE1BX1JFR19CQVNFICsgMHgwMDI0KSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gxX0NUUkxfREFUQV9QSU5HICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX1dDVF9ETUFfUkVHX0JBU0UgKyAweDAwMjgpKQorI2RlZmluZSBEQlJQX0RNQV9DSDFfQ1RSTF9EQVRBX1BPTkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RNQV9SRUdfQkFTRSArIDB4MDAyQykpCisjZGVmaW5lIERCUlBfRE1BX0NIMV9DVFJMX0RBVEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRE1BX1JFR19CQVNFICsgMHgwMDMwKSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX1dDVF9ETUFfUkVHX0JBU0UgKyAweDAwMzQpKQorI2RlZmluZSBEQlJQX0RNQV9DSDJfUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RNQV9SRUdfQkFTRSArIDB4MDAzOCkpCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRE1BX1JFR19CQVNFICsgMHgwMDNDKSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX0NUUkxfQ05GR19QSU5HICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX1dDVF9ETUFfUkVHX0JBU0UgKyAweDAwNDApKQorI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9DTkZHX1BPTkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RNQV9SRUdfQkFTRSArIDB4MDA0NCkpCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX0NORkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRE1BX1JFR19CQVNFICsgMHgwMDQ4KSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX0NUUkxfREFUQV9QSU5HICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX1dDVF9ETUFfUkVHX0JBU0UgKyAweDAwNEMpKQorI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9EQVRBX1BPTkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RNQV9SRUdfQkFTRSArIDB4MDA1MCkpCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX0RBVEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRE1BX1JFR19CQVNFICsgMHgwMDU0KSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX1dDVF9ETUFfUkVHX0JBU0UgKyAweDAwNTgpKQorI2RlZmluZSBEQlJQX0RNQV9DSDNfUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RNQV9SRUdfQkFTRSArIDB4MDA1QykpCisjZGVmaW5lIERCUlBfRE1BX0NIM19DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRE1BX1JFR19CQVNFICsgMHgwMDYwKSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfQ05GR19QSU5HICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX1dDVF9ETUFfUkVHX0JBU0UgKyAweDAwNjQpKQorI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9DTkZHX1BPTkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RNQV9SRUdfQkFTRSArIDB4MDA2OCkpCisjZGVmaW5lIERCUlBfRE1BX0NIM19DVFJMX0NORkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRE1BX1JFR19CQVNFICsgMHgwMDZDKSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfREFUQV9QSU5HICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX1dDVF9ETUFfUkVHX0JBU0UgKyAweDAwNzApKQorI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9EQVRBX1BPTkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RNQV9SRUdfQkFTRSArIDB4MDA3NCkpCisjZGVmaW5lIERCUlBfRE1BX0NIM19DVFJMX0RBVEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRE1BX1JFR19CQVNFICsgMHgwMDc4KSkKKyNkZWZpbmUgREJSUF9ETUFfQ0g0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX1dDVF9ETUFfUkVHX0JBU0UgKyAweDAwN0MpKQorI2RlZmluZSBEQlJQX0RNQV9DSDRfUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RNQV9SRUdfQkFTRSArIDB4MDA4MCkpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRE1BX1JFR19CQVNFICsgMHgwMDg0KSkKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfQ05GR19QSU5HX0NDMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX1dDVF9ETUFfUkVHX0JBU0UgKyAweDAwODgpKQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9DTkZHX1BPTkdfQ0MwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RNQV9SRUdfQkFTRSArIDB4MDA4QykpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0NORkdfQ0MwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRE1BX1JFR19CQVNFICsgMHgwMDkwKSkKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfREFUQV9QSU5HX0NDMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX1dDVF9ETUFfUkVHX0JBU0UgKyAweDAwOTQpKQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9EQVRBX1BPTkdfQ0MwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RNQV9SRUdfQkFTRSArIDB4MDA5OCkpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0RBVEFfQ0MwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRE1BX1JFR19CQVNFICsgMHgwMDlDKSkKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfQ05GR19QSU5HX0NDMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX1dDVF9ETUFfUkVHX0JBU0UgKyAweDAwQTApKQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9DTkZHX1BPTkdfQ0MxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RNQV9SRUdfQkFTRSArIDB4MDBBNCkpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0NORkdfQ0MxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRE1BX1JFR19CQVNFICsgMHgwMEE4KSkKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfREFUQV9QSU5HX0NDMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX1dDVF9ETUFfUkVHX0JBU0UgKyAweDAwQUMpKQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9EQVRBX1BPTkdfQ0MxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RNQV9SRUdfQkFTRSArIDB4MDBCMCkpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0RBVEFfQ0MxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRE1BX1JFR19CQVNFICsgMHgwMEI0KSkKKworI2RlZmluZSBEQlJQX0RNQV9ERUJVR19TVEFSVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RNQV9SRUdfQkFTRSArIDB4MDBFMCkpCisKKworI2RlZmluZSBEQlJQX0RNQV9SRVNFVF9TV19SRVNFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfUkVTRVRfU1dfUkVTRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRE1BX1JFU0VUX1NXX1JFU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX0RNQV9SRVNFVF9TV19SRVNFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX0RNQV9DSDBfVFJJR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfQ0gwX1RSSUdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRE1BX0NIMF9UUklHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX0RNQV9DSDBfVFJJR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX0RNQV9DSDBfUkVRX0RBVEFfUElOR19TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gwX1JFUV9EQVRBX1BJTkdfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRE1BX0NIMF9SRVFfREFUQV9QSU5HX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBEQlJQX0RNQV9DSDBfUkVRX0RBVEFfUElOR19TRUxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBEQlJQX0RNQV9DSDBfUkVRX0NORkdfUElOR19TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfQ0gwX1JFUV9DTkZHX1BJTkdfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRE1BX0NIMF9SRVFfQ05GR19QSU5HX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX0RNQV9DSDBfUkVRX0NORkdfUElOR19TRUxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX0RNQV9DSDBfQ1RSTF9CVUZfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIERCUlBfRE1BX0NIMF9DVFJMX0JVRl9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX0RNQV9DSDBfQ1RSTF9CVUZfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAzQzAwMCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDBfQ1RSTF9BQ0NfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9ETUFfQ0gwX0NUUkxfQUNDX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIERCUlBfRE1BX0NIMF9DVFJMX0FDQ19JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAzRjgwKQorCisjZGVmaW5lIERCUlBfRE1BX0NIMF9DVFJMX1BSSU9SSVRZX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX0RNQV9DSDBfQ1RSTF9QUklPUklUWV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9ETUFfQ0gwX0NUUkxfUFJJT1JJVFlfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNzApCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gwX0NUUkxfQ05GR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfRE1BX0NIMF9DVFJMX0NORkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX0RNQV9DSDBfQ1RSTF9DTkZHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgREJSUF9ETUFfQ0gwX0NUUkxfQ05GR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gwX0NUUkxfTU9ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfRE1BX0NIMF9DVFJMX01PREVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX0RNQV9DSDBfQ1RSTF9NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBEQlJQX0RNQV9DSDBfQ1RSTF9EQVRBX1BJTkdfU1RBUlRfU0FNUExFX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NIMF9DVFJMX0RBVEFfUElOR19TVEFSVF9TQU1QTEVfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0gwX0NUUkxfREFUQV9QSU5HX1NUQVJUX1NBTVBMRV9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gwX0NUUkxfREFUQV9QSU5HX0JBU0VfQUREUl9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfRE1BX0NIMF9DVFJMX0RBVEFfUElOR19CQVNFX0FERFJfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0gwX0NUUkxfREFUQV9QSU5HX0JBU0VfQUREUl9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gwX0NUUkxfREFUQV9QT05HX1NUQVJUX1NBTVBMRV9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDBfQ1RSTF9EQVRBX1BPTkdfU1RBUlRfU0FNUExFX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NIMF9DVFJMX0RBVEFfUE9OR19TVEFSVF9TQU1QTEVfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIERCUlBfRE1BX0NIMF9DVFJMX0RBVEFfUE9OR19CQVNFX0FERFJfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0RNQV9DSDBfQ1RSTF9EQVRBX1BPTkdfQkFTRV9BRERSX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NIMF9DVFJMX0RBVEFfUE9OR19CQVNFX0FERFJfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIERCUlBfRE1BX0NIMF9DVFJMX0RBVEFfTEVOR1RIX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0RNQV9DSDBfQ1RSTF9EQVRBX0xFTkdUSF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NIMF9DVFJMX0RBVEFfTEVOR1RIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIERCUlBfRE1BX0NIMV9UUklHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0RNQV9DSDFfVFJJR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gxX1RSSUdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfRE1BX0NIMV9UUklHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfRE1BX0NIMV9SRVFfREFUQV9QSU5HX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX0RNQV9DSDFfUkVRX0RBVEFfUElOR19TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gxX1JFUV9EQVRBX1BJTkdfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIERCUlBfRE1BX0NIMV9SRVFfREFUQV9QSU5HX1NFTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIERCUlBfRE1BX0NIMV9SRVFfQ05GR19QSU5HX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0RNQV9DSDFfUkVRX0NORkdfUElOR19TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gxX1JFUV9DTkZHX1BJTkdfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfRE1BX0NIMV9SRVFfQ05GR19QSU5HX1NFTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfRE1BX0NIMV9DVFJMX0JVRl9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgREJSUF9ETUFfQ0gxX0NUUkxfQlVGX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfRE1BX0NIMV9DVFJMX0JVRl9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDNDMDAwKQorCisjZGVmaW5lIERCUlBfRE1BX0NIMV9DVFJMX0FDQ19JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBEQlJQX0RNQV9DSDFfQ1RSTF9BQ0NfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9ETUFfQ0gxX0NUUkxfQUNDX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDNGODApCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gxX0NUUkxfUFJJT1JJVFlfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfRE1BX0NIMV9DVFJMX1BSSU9SSVRZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX0RNQV9DSDFfQ1RSTF9QUklPUklUWV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA3MCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDFfQ1RSTF9DTkZHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9ETUFfQ0gxX0NUUkxfQ05GR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRE1BX0NIMV9DVFJMX0NORkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBEQlJQX0RNQV9DSDFfQ1RSTF9DTkZHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDFfQ1RSTF9NT0RFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfQ0gxX0NUUkxfTU9ERV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfRE1BX0NIMV9DVFJMX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIERCUlBfRE1BX0NIMV9DVFJMX0RBVEFfUElOR19TVEFSVF9TQU1QTEVfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0gxX0NUUkxfREFUQV9QSU5HX1NUQVJUX1NBTVBMRV9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDFfQ1RSTF9EQVRBX1BJTkdfU1RBUlRfU0FNUExFX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDFfQ1RSTF9EQVRBX1BJTkdfQkFTRV9BRERSX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfQ0gxX0NUUkxfREFUQV9QSU5HX0JBU0VfQUREUl9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDFfQ1RSTF9EQVRBX1BJTkdfQkFTRV9BRERSX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEQlJQX0RNQV9DSDFfQ1RSTF9EQVRBX1BPTkdfU1RBUlRfU0FNUExFX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NIMV9DVFJMX0RBVEFfUE9OR19TVEFSVF9TQU1QTEVfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0gxX0NUUkxfREFUQV9QT05HX1NUQVJUX1NBTVBMRV9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gxX0NUUkxfREFUQV9QT05HX0JBU0VfQUREUl9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfRE1BX0NIMV9DVFJMX0RBVEFfUE9OR19CQVNFX0FERFJfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0gxX0NUUkxfREFUQV9QT05HX0JBU0VfQUREUl9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gxX0NUUkxfREFUQV9MRU5HVEhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfRE1BX0NIMV9DVFJMX0RBVEFfTEVOR1RIX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0gxX0NUUkxfREFUQV9MRU5HVEhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX1RSSUdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfRE1BX0NIMl9UUklHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX0RNQV9DSDJfVFJJR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX1RSSUdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX1JFUV9EQVRBX1BJTkdfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRE1BX0NIMl9SRVFfREFUQV9QSU5HX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX0RNQV9DSDJfUkVRX0RBVEFfUElOR19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX1JFUV9EQVRBX1BJTkdfU0VMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX1JFUV9DTkZHX1BJTkdfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfRE1BX0NIMl9SRVFfQ05GR19QSU5HX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX0RNQV9DSDJfUkVRX0NORkdfUElOR19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX1JFUV9DTkZHX1BJTkdfU0VMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX0NUUkxfQlVGX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9CVUZfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX0NUUkxfQlVGX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwM0MwMDApCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX0NUUkxfQUNDX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX0FDQ19JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9BQ0NfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwM0Y4MCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9QUklPUklUWV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX0NUUkxfUFJJT1JJVFlfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX1BSSU9SSVRZX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDcwKQorCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX0NORkdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9DTkZHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX0NUUkxfQ05GR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX0NORkdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX01PREVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9NT0RFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX0NUUkxfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDcpCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX0NUUkxfQ05GR19QSU5HX1NUQVJUX1NBTVBMRV9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9DTkZHX1BJTkdfU1RBUlRfU0FNUExFX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX0NORkdfUElOR19TVEFSVF9TQU1QTEVfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX0NORkdfUElOR19CQVNFX0FERFJfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9DTkZHX1BJTkdfQkFTRV9BRERSX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX0NORkdfUElOR19CQVNFX0FERFJfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX0NORkdfUE9OR19TVEFSVF9TQU1QTEVfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX0NUUkxfQ05GR19QT05HX1NUQVJUX1NBTVBMRV9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9DTkZHX1BPTkdfU1RBUlRfU0FNUExFX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9DTkZHX1BPTkdfQkFTRV9BRERSX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX0NUUkxfQ05GR19QT05HX0JBU0VfQUREUl9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9DTkZHX1BPTkdfQkFTRV9BRERSX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9DTkZHX0xFTkdUSF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX0NUUkxfQ05GR19MRU5HVEhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9DTkZHX0xFTkdUSF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9EQVRBX1BJTkdfU1RBUlRfU0FNUExFX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX0RBVEFfUElOR19TVEFSVF9TQU1QTEVfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX0NUUkxfREFUQV9QSU5HX1NUQVJUX1NBTVBMRV9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX0NUUkxfREFUQV9QSU5HX0JBU0VfQUREUl9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX0RBVEFfUElOR19CQVNFX0FERFJfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX0NUUkxfREFUQV9QSU5HX0JBU0VfQUREUl9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX0NUUkxfREFUQV9QT05HX1NUQVJUX1NBTVBMRV9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9EQVRBX1BPTkdfU1RBUlRfU0FNUExFX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX0RBVEFfUE9OR19TVEFSVF9TQU1QTEVfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX0RBVEFfUE9OR19CQVNFX0FERFJfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9EQVRBX1BPTkdfQkFTRV9BRERSX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX0RBVEFfUE9OR19CQVNFX0FERFJfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX0RBVEFfTEVOR1RIX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9EQVRBX0xFTkdUSF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX0RBVEFfTEVOR1RIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIERCUlBfRE1BX0NIM19UUklHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0RNQV9DSDNfVFJJR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX1RSSUdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfRE1BX0NIM19UUklHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfRE1BX0NIM19SRVFfREFUQV9QSU5HX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX0RNQV9DSDNfUkVRX0RBVEFfUElOR19TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX1JFUV9EQVRBX1BJTkdfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIERCUlBfRE1BX0NIM19SRVFfREFUQV9QSU5HX1NFTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIERCUlBfRE1BX0NIM19SRVFfQ05GR19QSU5HX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0RNQV9DSDNfUkVRX0NORkdfUElOR19TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX1JFUV9DTkZHX1BJTkdfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfRE1BX0NIM19SRVFfQ05GR19QSU5HX1NFTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfRE1BX0NIM19DVFJMX0JVRl9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfQlVGX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfRE1BX0NIM19DVFJMX0JVRl9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDNDMDAwKQorCisjZGVmaW5lIERCUlBfRE1BX0NIM19DVFJMX0FDQ19JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9BQ0NfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfQUNDX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDNGODApCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfUFJJT1JJVFlfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfRE1BX0NIM19DVFJMX1BSSU9SSVRZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9QUklPUklUWV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA3MCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9DTkZHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfQ05GR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRE1BX0NIM19DVFJMX0NORkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9DTkZHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9NT0RFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfTU9ERV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfRE1BX0NIM19DVFJMX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIERCUlBfRE1BX0NIM19DVFJMX0NORkdfUElOR19TVEFSVF9TQU1QTEVfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfQ05GR19QSU5HX1NUQVJUX1NBTVBMRV9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9DTkZHX1BJTkdfU1RBUlRfU0FNUExFX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9DTkZHX1BJTkdfQkFTRV9BRERSX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfQ05GR19QSU5HX0JBU0VfQUREUl9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9DTkZHX1BJTkdfQkFTRV9BRERSX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9DTkZHX1BPTkdfU1RBUlRfU0FNUExFX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NIM19DVFJMX0NORkdfUE9OR19TVEFSVF9TQU1QTEVfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfQ05GR19QT05HX1NUQVJUX1NBTVBMRV9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfQ05GR19QT05HX0JBU0VfQUREUl9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfRE1BX0NIM19DVFJMX0NORkdfUE9OR19CQVNFX0FERFJfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfQ05GR19QT05HX0JBU0VfQUREUl9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfQ05GR19MRU5HVEhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfRE1BX0NIM19DVFJMX0NORkdfTEVOR1RIX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfQ05GR19MRU5HVEhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfREFUQV9QSU5HX1NUQVJUX1NBTVBMRV9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9EQVRBX1BJTkdfU1RBUlRfU0FNUExFX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NIM19DVFJMX0RBVEFfUElOR19TVEFSVF9TQU1QTEVfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIERCUlBfRE1BX0NIM19DVFJMX0RBVEFfUElOR19CQVNFX0FERFJfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9EQVRBX1BJTkdfQkFTRV9BRERSX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NIM19DVFJMX0RBVEFfUElOR19CQVNFX0FERFJfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIERCUlBfRE1BX0NIM19DVFJMX0RBVEFfUE9OR19TVEFSVF9TQU1QTEVfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfREFUQV9QT05HX1NUQVJUX1NBTVBMRV9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9EQVRBX1BPTkdfU1RBUlRfU0FNUExFX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9EQVRBX1BPTkdfQkFTRV9BRERSX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfREFUQV9QT05HX0JBU0VfQUREUl9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9EQVRBX1BPTkdfQkFTRV9BRERSX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9EQVRBX0xFTkdUSF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfREFUQV9MRU5HVEhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9EQVRBX0xFTkdUSF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEQlJQX0RNQV9DSDRfVFJJR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X1RSSUdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRE1BX0NINF9UUklHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX0RNQV9DSDRfVFJJR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX0RNQV9DSDRfUkVRX0RBVEFfQ0MxX1BJTkdfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X1JFUV9EQVRBX0NDMV9QSU5HX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRE1BX0NINF9SRVFfREFUQV9DQzFfUElOR19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBEQlJQX0RNQV9DSDRfUkVRX0RBVEFfQ0MxX1BJTkdfU0VMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDRfUkVRX0NORkdfQ0MxX1BJTkdfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X1JFUV9DTkZHX0NDMV9QSU5HX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRE1BX0NINF9SRVFfQ05GR19DQzFfUElOR19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBEQlJQX0RNQV9DSDRfUkVRX0NORkdfQ0MxX1BJTkdfU0VMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDRfUkVRX0RBVEFfQ0MwX1BJTkdfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X1JFUV9EQVRBX0NDMF9QSU5HX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRE1BX0NINF9SRVFfREFUQV9DQzBfUElOR19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBEQlJQX0RNQV9DSDRfUkVRX0RBVEFfQ0MwX1BJTkdfU0VMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBEQlJQX0RNQV9DSDRfUkVRX0NORkdfQ0MwX1BJTkdfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X1JFUV9DTkZHX0NDMF9QSU5HX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRE1BX0NINF9SRVFfQ05GR19DQzBfUElOR19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX0RNQV9DSDRfUkVRX0NORkdfQ0MwX1BJTkdfU0VMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9DQzFfQlVGX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0NDMV9CVUZfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9DQzFfQlVGX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEYwMDAwMCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9DQzBfQlVGX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0NDMF9CVUZfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9DQzBfQlVGX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGMDAwMCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9BQ0NfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfQUNDX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0FDQ19JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRTAwKQorCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0NDX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9DQ19FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfQ0NfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxODApCisKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfUFJJT1JJVFlfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX1BSSU9SSVRZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9QUklPUklUWV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA3MCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9DTkZHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfQ05GR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0NORkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9DTkZHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9NT0RFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfTU9ERV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0NORkdfUElOR19DQzBfU1RBUlRfU0FNUExFX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfQ05GR19QSU5HX0NDMF9TVEFSVF9TQU1QTEVfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9DTkZHX1BJTkdfQ0MwX1NUQVJUX1NBTVBMRV9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9DTkZHX1BJTkdfQ0MwX0JBU0VfQUREUl9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfQ05GR19QSU5HX0NDMF9CQVNFX0FERFJfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9DTkZHX1BJTkdfQ0MwX0JBU0VfQUREUl9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9DTkZHX1BPTkdfQ0MwX1NUQVJUX1NBTVBMRV9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0NORkdfUE9OR19DQzBfU1RBUlRfU0FNUExFX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfQ05GR19QT05HX0NDMF9TVEFSVF9TQU1QTEVfSURYX01BU0sgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfQ05GR19QT05HX0NDMF9CQVNFX0FERFJfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0NORkdfUE9OR19DQzBfQkFTRV9BRERSX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfQ05GR19QT05HX0NDMF9CQVNFX0FERFJfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfQ05GR19DQzBfTEVOR1RIX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0NORkdfQ0MwX0xFTkdUSF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfQ05GR19DQzBfTEVOR1RIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfREFUQV9QSU5HX0NDMF9TVEFSVF9TQU1QTEVfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9EQVRBX1BJTkdfQ0MwX1NUQVJUX1NBTVBMRV9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0RBVEFfUElOR19DQzBfU1RBUlRfU0FNUExFX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0RBVEFfUElOR19DQzBfQkFTRV9BRERSX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9EQVRBX1BJTkdfQ0MwX0JBU0VfQUREUl9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0RBVEFfUElOR19DQzBfQkFTRV9BRERSX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0RBVEFfUE9OR19DQzBfU1RBUlRfU0FNUExFX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfREFUQV9QT05HX0NDMF9TVEFSVF9TQU1QTEVfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9EQVRBX1BPTkdfQ0MwX1NUQVJUX1NBTVBMRV9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9EQVRBX1BPTkdfQ0MwX0JBU0VfQUREUl9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfREFUQV9QT05HX0NDMF9CQVNFX0FERFJfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9EQVRBX1BPTkdfQ0MwX0JBU0VfQUREUl9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9EQVRBX0NDMF9MRU5HVEhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfREFUQV9DQzBfTEVOR1RIX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9EQVRBX0NDMF9MRU5HVEhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9DTkZHX1BJTkdfQ0MxX1NUQVJUX1NBTVBMRV9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0NORkdfUElOR19DQzFfU1RBUlRfU0FNUExFX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfQ05GR19QSU5HX0NDMV9TVEFSVF9TQU1QTEVfSURYX01BU0sgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfQ05GR19QSU5HX0NDMV9CQVNFX0FERFJfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0NORkdfUElOR19DQzFfQkFTRV9BRERSX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfQ05GR19QSU5HX0NDMV9CQVNFX0FERFJfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfQ05GR19QT05HX0NDMV9TVEFSVF9TQU1QTEVfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9DTkZHX1BPTkdfQ0MxX1NUQVJUX1NBTVBMRV9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0NORkdfUE9OR19DQzFfU1RBUlRfU0FNUExFX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0NORkdfUE9OR19DQzFfQkFTRV9BRERSX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9DTkZHX1BPTkdfQ0MxX0JBU0VfQUREUl9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0NORkdfUE9OR19DQzFfQkFTRV9BRERSX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0NORkdfQ0MxX0xFTkdUSF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9DTkZHX0NDMV9MRU5HVEhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0NORkdfQ0MxX0xFTkdUSF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0RBVEFfUElOR19DQzFfU1RBUlRfU0FNUExFX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfREFUQV9QSU5HX0NDMV9TVEFSVF9TQU1QTEVfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9EQVRBX1BJTkdfQ0MxX1NUQVJUX1NBTVBMRV9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9EQVRBX1BJTkdfQ0MxX0JBU0VfQUREUl9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfREFUQV9QSU5HX0NDMV9CQVNFX0FERFJfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9EQVRBX1BJTkdfQ0MxX0JBU0VfQUREUl9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9EQVRBX1BPTkdfQ0MxX1NUQVJUX1NBTVBMRV9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0RBVEFfUE9OR19DQzFfU1RBUlRfU0FNUExFX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfREFUQV9QT05HX0NDMV9TVEFSVF9TQU1QTEVfSURYX01BU0sgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfREFUQV9QT05HX0NDMV9CQVNFX0FERFJfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0RBVEFfUE9OR19DQzFfQkFTRV9BRERSX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfREFUQV9QT05HX0NDMV9CQVNFX0FERFJfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfREFUQV9DQzFfTEVOR1RIX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0RBVEFfQ0MxX0xFTkdUSF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfREFUQV9DQzFfTEVOR1RIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKworI2VuZGlmIC8vI2lmbmRlZiBfQ1BIXzFYX1JYX0JSUF9XQ1RfRE1BX0hfCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoMXhyeGJycHdjdGRtYV85Ny5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaDF4cnhicnB3Y3RkbWFfOTcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNmU4Nzc0Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaDF4cnhicnB3Y3RkbWFfOTcuaApAQCAtMCwwICsxLDUxMCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NQSF8xWF9SWF9CUlBfV0NUX0RNQV9IXworI2RlZmluZSBfQ1BIXzFYX1JYX0JSUF9XQ1RfRE1BX0hfCisKKwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogU1JBTUFERFI7ICAgICAgICAgLyogU1JBTSBhZGRyIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBTUkFNREFUQTsgICAgICAgICAvKiBTUkFNIGRhdGEgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIEFQQkFERFI7ICAgICAgICAgIC8qIEFQQiBhZGRyIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgQVBCREFUQTsgICAgICAgICAgLyogQVBCIGRhdGEgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqICBBUEJBRERSMzI7ICAgICAgICAvKiBBUEIgYWRkciBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAgIEFQQkRBVEEzMjsgICAgICAgIC8qIEFQQiBkYXRhIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogRFBSQU1BRERSOyAgICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHNpZ25lZCAgIHNob3J0KiBEUFJBTUFERFJfUzsgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIERQUkFNREFUQTsgICAgICAgIC8qIERQUkFNIGRhdGEgaXMgMTYgYml0cyAqLworCisKKyNkZWZpbmUgUlhCUlBfV0NUX0RNQV9SRUdfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QUM5NTAwMDApCisKKyNkZWZpbmUgUlhCUlBfV0NUX0RNQV9lbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFJYQlJQX1dDVF9ETUFfUkVHX0JBU0UgKyAweDAwQjQgKyAxKjQpCisKKworCisjZGVmaW5lIERCUlBfRE1BX1JFU0VUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRE1BX1JFR19CQVNFICsgMHgwMDAwKSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX1dDVF9ETUFfUkVHX0JBU0UgKyAweDAwMDQpKQorI2RlZmluZSBEQlJQX0RNQV9DSDBfUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RNQV9SRUdfQkFTRSArIDB4MDAwOCkpCisjZGVmaW5lIERCUlBfRE1BX0NIMF9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRE1BX1JFR19CQVNFICsgMHgwMDBDKSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gwX0NUUkxfREFUQV9QSU5HICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX1dDVF9ETUFfUkVHX0JBU0UgKyAweDAwMTApKQorI2RlZmluZSBEQlJQX0RNQV9DSDBfQ1RSTF9EQVRBX1BPTkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RNQV9SRUdfQkFTRSArIDB4MDAxNCkpCisjZGVmaW5lIERCUlBfRE1BX0NIMF9DVFJMX0RBVEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRE1BX1JFR19CQVNFICsgMHgwMDE4KSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX1dDVF9ETUFfUkVHX0JBU0UgKyAweDAwMUMpKQorI2RlZmluZSBEQlJQX0RNQV9DSDFfUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RNQV9SRUdfQkFTRSArIDB4MDAyMCkpCisjZGVmaW5lIERCUlBfRE1BX0NIMV9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRE1BX1JFR19CQVNFICsgMHgwMDI0KSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gxX0NUUkxfREFUQV9QSU5HICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX1dDVF9ETUFfUkVHX0JBU0UgKyAweDAwMjgpKQorI2RlZmluZSBEQlJQX0RNQV9DSDFfQ1RSTF9EQVRBX1BPTkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RNQV9SRUdfQkFTRSArIDB4MDAyQykpCisjZGVmaW5lIERCUlBfRE1BX0NIMV9DVFJMX0RBVEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRE1BX1JFR19CQVNFICsgMHgwMDMwKSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX1dDVF9ETUFfUkVHX0JBU0UgKyAweDAwMzQpKQorI2RlZmluZSBEQlJQX0RNQV9DSDJfUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RNQV9SRUdfQkFTRSArIDB4MDAzOCkpCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRE1BX1JFR19CQVNFICsgMHgwMDNDKSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX0NUUkxfQ05GR19QSU5HICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX1dDVF9ETUFfUkVHX0JBU0UgKyAweDAwNDApKQorI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9DTkZHX1BPTkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RNQV9SRUdfQkFTRSArIDB4MDA0NCkpCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX0NORkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRE1BX1JFR19CQVNFICsgMHgwMDQ4KSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX0NUUkxfREFUQV9QSU5HICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX1dDVF9ETUFfUkVHX0JBU0UgKyAweDAwNEMpKQorI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9EQVRBX1BPTkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RNQV9SRUdfQkFTRSArIDB4MDA1MCkpCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX0RBVEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRE1BX1JFR19CQVNFICsgMHgwMDU0KSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX1dDVF9ETUFfUkVHX0JBU0UgKyAweDAwNTgpKQorI2RlZmluZSBEQlJQX0RNQV9DSDNfUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RNQV9SRUdfQkFTRSArIDB4MDA1QykpCisjZGVmaW5lIERCUlBfRE1BX0NIM19DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRE1BX1JFR19CQVNFICsgMHgwMDYwKSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfQ05GR19QSU5HICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX1dDVF9ETUFfUkVHX0JBU0UgKyAweDAwNjQpKQorI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9DTkZHX1BPTkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RNQV9SRUdfQkFTRSArIDB4MDA2OCkpCisjZGVmaW5lIERCUlBfRE1BX0NIM19DVFJMX0NORkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRE1BX1JFR19CQVNFICsgMHgwMDZDKSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfREFUQV9QSU5HICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX1dDVF9ETUFfUkVHX0JBU0UgKyAweDAwNzApKQorI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9EQVRBX1BPTkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RNQV9SRUdfQkFTRSArIDB4MDA3NCkpCisjZGVmaW5lIERCUlBfRE1BX0NIM19DVFJMX0RBVEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRE1BX1JFR19CQVNFICsgMHgwMDc4KSkKKyNkZWZpbmUgREJSUF9ETUFfQ0g0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX1dDVF9ETUFfUkVHX0JBU0UgKyAweDAwN0MpKQorI2RlZmluZSBEQlJQX0RNQV9DSDRfUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RNQV9SRUdfQkFTRSArIDB4MDA4MCkpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRE1BX1JFR19CQVNFICsgMHgwMDg0KSkKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfQ05GR19QSU5HX0NDMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX1dDVF9ETUFfUkVHX0JBU0UgKyAweDAwODgpKQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9DTkZHX1BPTkdfQ0MwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RNQV9SRUdfQkFTRSArIDB4MDA4QykpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0NORkdfQ0MwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRE1BX1JFR19CQVNFICsgMHgwMDkwKSkKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfREFUQV9QSU5HX0NDMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX1dDVF9ETUFfUkVHX0JBU0UgKyAweDAwOTQpKQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9EQVRBX1BPTkdfQ0MwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RNQV9SRUdfQkFTRSArIDB4MDA5OCkpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0RBVEFfQ0MwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRE1BX1JFR19CQVNFICsgMHgwMDlDKSkKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfQ05GR19QSU5HX0NDMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX1dDVF9ETUFfUkVHX0JBU0UgKyAweDAwQTApKQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9DTkZHX1BPTkdfQ0MxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RNQV9SRUdfQkFTRSArIDB4MDBBNCkpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0NORkdfQ0MxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRE1BX1JFR19CQVNFICsgMHgwMEE4KSkKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfREFUQV9QSU5HX0NDMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX1dDVF9ETUFfUkVHX0JBU0UgKyAweDAwQUMpKQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9EQVRBX1BPTkdfQ0MxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RNQV9SRUdfQkFTRSArIDB4MDBCMCkpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0RBVEFfQ0MxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRE1BX1JFR19CQVNFICsgMHgwMEI0KSkKKworI2RlZmluZSBEQlJQX0RNQV9ERUJVR19TVEFSVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RNQV9SRUdfQkFTRSArIDB4MDBFMCkpCisKKworI2RlZmluZSBEQlJQX0RNQV9SRVNFVF9TV19SRVNFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfUkVTRVRfU1dfUkVTRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRE1BX1JFU0VUX1NXX1JFU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX0RNQV9SRVNFVF9TV19SRVNFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX0RNQV9DSDBfVFJJR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfQ0gwX1RSSUdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRE1BX0NIMF9UUklHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX0RNQV9DSDBfVFJJR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX0RNQV9DSDBfUkVRX0RBVEFfUElOR19TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gwX1JFUV9EQVRBX1BJTkdfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRE1BX0NIMF9SRVFfREFUQV9QSU5HX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBEQlJQX0RNQV9DSDBfUkVRX0RBVEFfUElOR19TRUxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBEQlJQX0RNQV9DSDBfUkVRX0NORkdfUElOR19TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfQ0gwX1JFUV9DTkZHX1BJTkdfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRE1BX0NIMF9SRVFfQ05GR19QSU5HX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX0RNQV9DSDBfUkVRX0NORkdfUElOR19TRUxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX0RNQV9DSDBfQ1RSTF9CVUZfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIERCUlBfRE1BX0NIMF9DVFJMX0JVRl9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX0RNQV9DSDBfQ1RSTF9CVUZfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAzQzAwMCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDBfQ1RSTF9BQ0NfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9ETUFfQ0gwX0NUUkxfQUNDX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIERCUlBfRE1BX0NIMF9DVFJMX0FDQ19JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAzRjgwKQorCisjZGVmaW5lIERCUlBfRE1BX0NIMF9DVFJMX1BSSU9SSVRZX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX0RNQV9DSDBfQ1RSTF9QUklPUklUWV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9ETUFfQ0gwX0NUUkxfUFJJT1JJVFlfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNzApCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gwX0NUUkxfQ05GR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfRE1BX0NIMF9DVFJMX0NORkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX0RNQV9DSDBfQ1RSTF9DTkZHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgREJSUF9ETUFfQ0gwX0NUUkxfQ05GR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gwX0NUUkxfTU9ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfRE1BX0NIMF9DVFJMX01PREVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX0RNQV9DSDBfQ1RSTF9NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBEQlJQX0RNQV9DSDBfQ1RSTF9EQVRBX1BJTkdfU1RBUlRfU0FNUExFX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NIMF9DVFJMX0RBVEFfUElOR19TVEFSVF9TQU1QTEVfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0gwX0NUUkxfREFUQV9QSU5HX1NUQVJUX1NBTVBMRV9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gwX0NUUkxfREFUQV9QSU5HX0JBU0VfQUREUl9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfRE1BX0NIMF9DVFJMX0RBVEFfUElOR19CQVNFX0FERFJfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0gwX0NUUkxfREFUQV9QSU5HX0JBU0VfQUREUl9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gwX0NUUkxfREFUQV9QT05HX1NUQVJUX1NBTVBMRV9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDBfQ1RSTF9EQVRBX1BPTkdfU1RBUlRfU0FNUExFX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NIMF9DVFJMX0RBVEFfUE9OR19TVEFSVF9TQU1QTEVfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIERCUlBfRE1BX0NIMF9DVFJMX0RBVEFfUE9OR19CQVNFX0FERFJfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0RNQV9DSDBfQ1RSTF9EQVRBX1BPTkdfQkFTRV9BRERSX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NIMF9DVFJMX0RBVEFfUE9OR19CQVNFX0FERFJfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIERCUlBfRE1BX0NIMF9DVFJMX0RBVEFfTEVOR1RIX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0RNQV9DSDBfQ1RSTF9EQVRBX0xFTkdUSF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NIMF9DVFJMX0RBVEFfTEVOR1RIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIERCUlBfRE1BX0NIMV9UUklHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0RNQV9DSDFfVFJJR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gxX1RSSUdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfRE1BX0NIMV9UUklHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfRE1BX0NIMV9SRVFfREFUQV9QSU5HX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX0RNQV9DSDFfUkVRX0RBVEFfUElOR19TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gxX1JFUV9EQVRBX1BJTkdfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIERCUlBfRE1BX0NIMV9SRVFfREFUQV9QSU5HX1NFTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIERCUlBfRE1BX0NIMV9SRVFfQ05GR19QSU5HX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0RNQV9DSDFfUkVRX0NORkdfUElOR19TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gxX1JFUV9DTkZHX1BJTkdfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfRE1BX0NIMV9SRVFfQ05GR19QSU5HX1NFTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfRE1BX0NIMV9DVFJMX0JVRl9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgREJSUF9ETUFfQ0gxX0NUUkxfQlVGX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfRE1BX0NIMV9DVFJMX0JVRl9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDNDMDAwKQorCisjZGVmaW5lIERCUlBfRE1BX0NIMV9DVFJMX0FDQ19JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBEQlJQX0RNQV9DSDFfQ1RSTF9BQ0NfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9ETUFfQ0gxX0NUUkxfQUNDX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDNGODApCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gxX0NUUkxfUFJJT1JJVFlfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfRE1BX0NIMV9DVFJMX1BSSU9SSVRZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX0RNQV9DSDFfQ1RSTF9QUklPUklUWV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA3MCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDFfQ1RSTF9DTkZHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9ETUFfQ0gxX0NUUkxfQ05GR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRE1BX0NIMV9DVFJMX0NORkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBEQlJQX0RNQV9DSDFfQ1RSTF9DTkZHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDFfQ1RSTF9NT0RFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfQ0gxX0NUUkxfTU9ERV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfRE1BX0NIMV9DVFJMX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIERCUlBfRE1BX0NIMV9DVFJMX0RBVEFfUElOR19TVEFSVF9TQU1QTEVfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0gxX0NUUkxfREFUQV9QSU5HX1NUQVJUX1NBTVBMRV9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDFfQ1RSTF9EQVRBX1BJTkdfU1RBUlRfU0FNUExFX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDFfQ1RSTF9EQVRBX1BJTkdfQkFTRV9BRERSX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfQ0gxX0NUUkxfREFUQV9QSU5HX0JBU0VfQUREUl9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDFfQ1RSTF9EQVRBX1BJTkdfQkFTRV9BRERSX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEQlJQX0RNQV9DSDFfQ1RSTF9EQVRBX1BPTkdfU1RBUlRfU0FNUExFX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NIMV9DVFJMX0RBVEFfUE9OR19TVEFSVF9TQU1QTEVfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0gxX0NUUkxfREFUQV9QT05HX1NUQVJUX1NBTVBMRV9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gxX0NUUkxfREFUQV9QT05HX0JBU0VfQUREUl9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfRE1BX0NIMV9DVFJMX0RBVEFfUE9OR19CQVNFX0FERFJfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0gxX0NUUkxfREFUQV9QT05HX0JBU0VfQUREUl9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gxX0NUUkxfREFUQV9MRU5HVEhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfRE1BX0NIMV9DVFJMX0RBVEFfTEVOR1RIX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0gxX0NUUkxfREFUQV9MRU5HVEhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX1RSSUdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfRE1BX0NIMl9UUklHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX0RNQV9DSDJfVFJJR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX1RSSUdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX1JFUV9EQVRBX1BJTkdfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRE1BX0NIMl9SRVFfREFUQV9QSU5HX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX0RNQV9DSDJfUkVRX0RBVEFfUElOR19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX1JFUV9EQVRBX1BJTkdfU0VMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX1JFUV9DTkZHX1BJTkdfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfRE1BX0NIMl9SRVFfQ05GR19QSU5HX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX0RNQV9DSDJfUkVRX0NORkdfUElOR19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX1JFUV9DTkZHX1BJTkdfU0VMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX0NUUkxfQlVGX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9CVUZfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX0NUUkxfQlVGX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwM0MwMDApCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX0NUUkxfQUNDX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX0FDQ19JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9BQ0NfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwM0Y4MCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9QUklPUklUWV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX0NUUkxfUFJJT1JJVFlfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX1BSSU9SSVRZX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDcwKQorCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX0NORkdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9DTkZHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX0NUUkxfQ05GR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX0NORkdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX01PREVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9NT0RFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX0NUUkxfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDcpCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX0NUUkxfQ05GR19QSU5HX1NUQVJUX1NBTVBMRV9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9DTkZHX1BJTkdfU1RBUlRfU0FNUExFX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX0NORkdfUElOR19TVEFSVF9TQU1QTEVfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX0NORkdfUElOR19CQVNFX0FERFJfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9DTkZHX1BJTkdfQkFTRV9BRERSX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX0NORkdfUElOR19CQVNFX0FERFJfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX0NORkdfUE9OR19TVEFSVF9TQU1QTEVfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX0NUUkxfQ05GR19QT05HX1NUQVJUX1NBTVBMRV9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9DTkZHX1BPTkdfU1RBUlRfU0FNUExFX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9DTkZHX1BPTkdfQkFTRV9BRERSX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX0NUUkxfQ05GR19QT05HX0JBU0VfQUREUl9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9DTkZHX1BPTkdfQkFTRV9BRERSX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9DTkZHX0xFTkdUSF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX0NUUkxfQ05GR19MRU5HVEhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9DTkZHX0xFTkdUSF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9EQVRBX1BJTkdfU1RBUlRfU0FNUExFX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX0RBVEFfUElOR19TVEFSVF9TQU1QTEVfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX0NUUkxfREFUQV9QSU5HX1NUQVJUX1NBTVBMRV9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX0NUUkxfREFUQV9QSU5HX0JBU0VfQUREUl9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX0RBVEFfUElOR19CQVNFX0FERFJfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX0NUUkxfREFUQV9QSU5HX0JBU0VfQUREUl9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gyX0NUUkxfREFUQV9QT05HX1NUQVJUX1NBTVBMRV9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9EQVRBX1BPTkdfU1RBUlRfU0FNUExFX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX0RBVEFfUE9OR19TVEFSVF9TQU1QTEVfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX0RBVEFfUE9OR19CQVNFX0FERFJfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9EQVRBX1BPTkdfQkFTRV9BRERSX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX0RBVEFfUE9OR19CQVNFX0FERFJfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX0RBVEFfTEVOR1RIX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0RNQV9DSDJfQ1RSTF9EQVRBX0xFTkdUSF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NIMl9DVFJMX0RBVEFfTEVOR1RIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIERCUlBfRE1BX0NIM19UUklHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0RNQV9DSDNfVFJJR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX1RSSUdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfRE1BX0NIM19UUklHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfRE1BX0NIM19SRVFfREFUQV9QSU5HX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX0RNQV9DSDNfUkVRX0RBVEFfUElOR19TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX1JFUV9EQVRBX1BJTkdfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIERCUlBfRE1BX0NIM19SRVFfREFUQV9QSU5HX1NFTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIERCUlBfRE1BX0NIM19SRVFfQ05GR19QSU5HX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0RNQV9DSDNfUkVRX0NORkdfUElOR19TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX1JFUV9DTkZHX1BJTkdfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfRE1BX0NIM19SRVFfQ05GR19QSU5HX1NFTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfRE1BX0NIM19DVFJMX0JVRl9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfQlVGX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfRE1BX0NIM19DVFJMX0JVRl9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDNDMDAwKQorCisjZGVmaW5lIERCUlBfRE1BX0NIM19DVFJMX0FDQ19JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9BQ0NfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfQUNDX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDNGODApCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfUFJJT1JJVFlfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfRE1BX0NIM19DVFJMX1BSSU9SSVRZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9QUklPUklUWV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA3MCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9DTkZHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfQ05GR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRE1BX0NIM19DVFJMX0NORkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9DTkZHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9NT0RFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfTU9ERV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfRE1BX0NIM19DVFJMX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIERCUlBfRE1BX0NIM19DVFJMX0NORkdfUElOR19TVEFSVF9TQU1QTEVfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfQ05GR19QSU5HX1NUQVJUX1NBTVBMRV9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9DTkZHX1BJTkdfU1RBUlRfU0FNUExFX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9DTkZHX1BJTkdfQkFTRV9BRERSX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfQ05GR19QSU5HX0JBU0VfQUREUl9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9DTkZHX1BJTkdfQkFTRV9BRERSX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9DTkZHX1BPTkdfU1RBUlRfU0FNUExFX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NIM19DVFJMX0NORkdfUE9OR19TVEFSVF9TQU1QTEVfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfQ05GR19QT05HX1NUQVJUX1NBTVBMRV9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfQ05GR19QT05HX0JBU0VfQUREUl9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfRE1BX0NIM19DVFJMX0NORkdfUE9OR19CQVNFX0FERFJfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfQ05GR19QT05HX0JBU0VfQUREUl9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfQ05GR19MRU5HVEhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfRE1BX0NIM19DVFJMX0NORkdfTEVOR1RIX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfQ05GR19MRU5HVEhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfREFUQV9QSU5HX1NUQVJUX1NBTVBMRV9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9EQVRBX1BJTkdfU1RBUlRfU0FNUExFX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NIM19DVFJMX0RBVEFfUElOR19TVEFSVF9TQU1QTEVfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIERCUlBfRE1BX0NIM19DVFJMX0RBVEFfUElOR19CQVNFX0FERFJfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9EQVRBX1BJTkdfQkFTRV9BRERSX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NIM19DVFJMX0RBVEFfUElOR19CQVNFX0FERFJfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIERCUlBfRE1BX0NIM19DVFJMX0RBVEFfUE9OR19TVEFSVF9TQU1QTEVfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfREFUQV9QT05HX1NUQVJUX1NBTVBMRV9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9EQVRBX1BPTkdfU1RBUlRfU0FNUExFX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9EQVRBX1BPTkdfQkFTRV9BRERSX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfREFUQV9QT05HX0JBU0VfQUREUl9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9EQVRBX1BPTkdfQkFTRV9BRERSX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9EQVRBX0xFTkdUSF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfQ0gzX0NUUkxfREFUQV9MRU5HVEhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDNfQ1RSTF9EQVRBX0xFTkdUSF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEQlJQX0RNQV9DSDRfVFJJR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X1RSSUdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRE1BX0NINF9UUklHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX0RNQV9DSDRfVFJJR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX0RNQV9DSDRfUkVRX0RBVEFfQ0MxX1BJTkdfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X1JFUV9EQVRBX0NDMV9QSU5HX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRE1BX0NINF9SRVFfREFUQV9DQzFfUElOR19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBEQlJQX0RNQV9DSDRfUkVRX0RBVEFfQ0MxX1BJTkdfU0VMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDRfUkVRX0NORkdfQ0MxX1BJTkdfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X1JFUV9DTkZHX0NDMV9QSU5HX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRE1BX0NINF9SRVFfQ05GR19DQzFfUElOR19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBEQlJQX0RNQV9DSDRfUkVRX0NORkdfQ0MxX1BJTkdfU0VMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDRfUkVRX0RBVEFfQ0MwX1BJTkdfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X1JFUV9EQVRBX0NDMF9QSU5HX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRE1BX0NINF9SRVFfREFUQV9DQzBfUElOR19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBEQlJQX0RNQV9DSDRfUkVRX0RBVEFfQ0MwX1BJTkdfU0VMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBEQlJQX0RNQV9DSDRfUkVRX0NORkdfQ0MwX1BJTkdfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X1JFUV9DTkZHX0NDMF9QSU5HX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRE1BX0NINF9SRVFfQ05GR19DQzBfUElOR19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX0RNQV9DSDRfUkVRX0NORkdfQ0MwX1BJTkdfU0VMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9DQzFfQlVGX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0NDMV9CVUZfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9DQzFfQlVGX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEYwMDAwMCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9DQzBfQlVGX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0NDMF9CVUZfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9DQzBfQlVGX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGMDAwMCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9BQ0NfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfQUNDX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0FDQ19JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRTAwKQorCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0NDX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9DQ19FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfQ0NfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxODApCisKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfUFJJT1JJVFlfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX1BSSU9SSVRZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9QUklPUklUWV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA3MCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9DTkZHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfQ05GR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0NORkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9DTkZHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9NT0RFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfTU9ERV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0NORkdfUElOR19DQzBfU1RBUlRfU0FNUExFX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfQ05GR19QSU5HX0NDMF9TVEFSVF9TQU1QTEVfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9DTkZHX1BJTkdfQ0MwX1NUQVJUX1NBTVBMRV9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9DTkZHX1BJTkdfQ0MwX0JBU0VfQUREUl9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfQ05GR19QSU5HX0NDMF9CQVNFX0FERFJfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9DTkZHX1BJTkdfQ0MwX0JBU0VfQUREUl9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9DTkZHX1BPTkdfQ0MwX1NUQVJUX1NBTVBMRV9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0NORkdfUE9OR19DQzBfU1RBUlRfU0FNUExFX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfQ05GR19QT05HX0NDMF9TVEFSVF9TQU1QTEVfSURYX01BU0sgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfQ05GR19QT05HX0NDMF9CQVNFX0FERFJfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0NORkdfUE9OR19DQzBfQkFTRV9BRERSX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfQ05GR19QT05HX0NDMF9CQVNFX0FERFJfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfQ05GR19DQzBfTEVOR1RIX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0NORkdfQ0MwX0xFTkdUSF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfQ05GR19DQzBfTEVOR1RIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfREFUQV9QSU5HX0NDMF9TVEFSVF9TQU1QTEVfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9EQVRBX1BJTkdfQ0MwX1NUQVJUX1NBTVBMRV9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0RBVEFfUElOR19DQzBfU1RBUlRfU0FNUExFX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0RBVEFfUElOR19DQzBfQkFTRV9BRERSX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9EQVRBX1BJTkdfQ0MwX0JBU0VfQUREUl9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0RBVEFfUElOR19DQzBfQkFTRV9BRERSX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0RBVEFfUE9OR19DQzBfU1RBUlRfU0FNUExFX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfREFUQV9QT05HX0NDMF9TVEFSVF9TQU1QTEVfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9EQVRBX1BPTkdfQ0MwX1NUQVJUX1NBTVBMRV9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9EQVRBX1BPTkdfQ0MwX0JBU0VfQUREUl9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfREFUQV9QT05HX0NDMF9CQVNFX0FERFJfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9EQVRBX1BPTkdfQ0MwX0JBU0VfQUREUl9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9EQVRBX0NDMF9MRU5HVEhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfREFUQV9DQzBfTEVOR1RIX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9EQVRBX0NDMF9MRU5HVEhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9DTkZHX1BJTkdfQ0MxX1NUQVJUX1NBTVBMRV9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0NORkdfUElOR19DQzFfU1RBUlRfU0FNUExFX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfQ05GR19QSU5HX0NDMV9TVEFSVF9TQU1QTEVfSURYX01BU0sgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfQ05GR19QSU5HX0NDMV9CQVNFX0FERFJfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0NORkdfUElOR19DQzFfQkFTRV9BRERSX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfQ05GR19QSU5HX0NDMV9CQVNFX0FERFJfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfQ05GR19QT05HX0NDMV9TVEFSVF9TQU1QTEVfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9DTkZHX1BPTkdfQ0MxX1NUQVJUX1NBTVBMRV9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0NORkdfUE9OR19DQzFfU1RBUlRfU0FNUExFX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0NORkdfUE9OR19DQzFfQkFTRV9BRERSX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9DTkZHX1BPTkdfQ0MxX0JBU0VfQUREUl9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0NORkdfUE9OR19DQzFfQkFTRV9BRERSX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0NORkdfQ0MxX0xFTkdUSF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9DTkZHX0NDMV9MRU5HVEhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0NORkdfQ0MxX0xFTkdUSF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0RBVEFfUElOR19DQzFfU1RBUlRfU0FNUExFX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfREFUQV9QSU5HX0NDMV9TVEFSVF9TQU1QTEVfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9EQVRBX1BJTkdfQ0MxX1NUQVJUX1NBTVBMRV9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9EQVRBX1BJTkdfQ0MxX0JBU0VfQUREUl9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfREFUQV9QSU5HX0NDMV9CQVNFX0FERFJfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9EQVRBX1BJTkdfQ0MxX0JBU0VfQUREUl9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEQlJQX0RNQV9DSDRfQ1RSTF9EQVRBX1BPTkdfQ0MxX1NUQVJUX1NBTVBMRV9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0RBVEFfUE9OR19DQzFfU1RBUlRfU0FNUExFX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfREFUQV9QT05HX0NDMV9TVEFSVF9TQU1QTEVfSURYX01BU0sgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfREFUQV9QT05HX0NDMV9CQVNFX0FERFJfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0RBVEFfUE9OR19DQzFfQkFTRV9BRERSX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfREFUQV9QT05HX0NDMV9CQVNFX0FERFJfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfREFUQV9DQzFfTEVOR1RIX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfRE1BX0NINF9DVFJMX0RBVEFfQ0MxX0xFTkdUSF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9ETUFfQ0g0X0NUUkxfREFUQV9DQzFfTEVOR1RIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKworI2VuZGlmIC8vI2lmbmRlZiBfQ1BIXzFYX1JYX0JSUF9XQ1RfRE1BX0hfCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoMXhyeGV2ZW50Z2VuLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoMXhyeGV2ZW50Z2VuLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTI1YWYxZAotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGgxeHJ4ZXZlbnRnZW4uaApAQCAtMCwwICsxLDQzIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmIGRlZmluZWQoX19NRDkzX18pCisjaW5jbHVkZSAgImNwaDF4cnhldmVudGdlbl9nOTMuaCIKKyNlbGlmIGRlZmluZWQoX19NRDk1X18pCisjaW5jbHVkZSAgImNwaDF4cnhldmVudGdlbl9nOTUuaCIKKyNlbGlmIGRlZmluZWQoX19NRDk3X18pIHx8IGRlZmluZWQoX19NRDk3UF9fKQorI2luY2x1ZGUgICJjcGgxeHJ4ZXZlbnRnZW5fZzk3LmgiCisjZWxzZQorI2Vycm9yICJbRVJST1JdIEludmFsaWQgTUQgZ2VuZXJhdGlvbiIKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaDF4cnhldmVudGdlbl9nOTMuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGgxeHJ4ZXZlbnRnZW5fZzkzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGU5MGU4OAotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGgxeHJ4ZXZlbnRnZW5fZzkzLmgKQEAgLTAsMCArMSw1ODYgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhfMVhfUlhfRVZFTlRHRU5fSF8KKyNkZWZpbmUgX0NQSF8xWF9SWF9FVkVOVEdFTl9IXworCisKK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIFNSQU1BRERSOyAgICAgICAgIC8qIFNSQU0gYWRkciBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgU1JBTURBVEE7ICAgICAgICAgLyogU1JBTSBkYXRhIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBBUEJBRERSOyAgICAgICAgICAvKiBBUEIgYWRkciBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIEFQQkRBVEE7ICAgICAgICAgIC8qIEFQQiBkYXRhIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nKiAgQVBCQUREUjMyOyAgICAgICAgLyogQVBCIGFkZHIgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgICBBUEJEQVRBMzI7ICAgICAgICAvKiBBUEIgZGF0YSBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIERQUkFNQUREUjsgICAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSBzaWduZWQgICBzaG9ydCogRFBSQU1BRERSX1M7ICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBEUFJBTURBVEE7ICAgICAgICAvKiBEUFJBTSBkYXRhIGlzIDE2IGJpdHMgKi8KKworCisjZGVmaW5lIFNUMVhfUlhfRVZFTlRHRU5fUkVHX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEE3MDYwMDAwKQorCisjZGVmaW5lIFNUMVhfUlhfRVZFTlRHRU5fZW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChTVDFYX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgzMDAwICsgMzgqNCkKKworCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfT0ZGU0VUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVDFYX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMDAwKSkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUMVhfUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwMDQpKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX09GRlNFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1QxWF9SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDAwOCkpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVDFYX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMDBDKSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUMVhfUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwMTApKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1QxWF9SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDAxNCkpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVDFYX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMDE4KSkKKyNkZWZpbmUgU1QxWF9SWERGRV9PTl9FVkVOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUMVhfUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwMUMpKQorI2RlZmluZSBTVDFYX1JYREZFX09GRl9FVkVOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1QxWF9SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDAyMCkpCisjZGVmaW5lIFNUMVhfREJHX09OX0VWRU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVDFYX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMDI0KSkKKyNkZWZpbmUgU1QxWF9EQkdfT0ZGX0VWRU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUMVhfUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwMjgpKQorI2RlZmluZSBTVDFYX1RUUl9PTl9FVkVOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1QxWF9SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDAyQykpCisjZGVmaW5lIFNUMVhfVFRSX09GRl9FVkVOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVDFYX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMDMwKSkKKyNkZWZpbmUgU1QxWF9EVkZTX0VWRU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUMVhfUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwMzQpKQorI2RlZmluZSBTVDFYX1JYX0JTSVJEX0VWRU5UKG4pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1QxWF9SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MEYzMCArIChuKSo0KSkgICAvL24gaXMgZnJvbSAwIHRvIDIKKyNkZWZpbmUgU1QxWF9SWF9CU0lfRVZFTlQobikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUMVhfUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDEwMzAgKyAobikqNCkpICAgLy9uIGlzIGZyb20gMCB0byA0OQorI2RlZmluZSBTVDFYX1JYX01JUElfRVZFTlQobikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1QxWF9SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MjAwMCArIChuKSo0KSkgICAvL24gaXMgZnJvbSAwIHRvIDgxCisjZGVmaW5lIFNUMVhfUlhfQlBJX0VWRU5UKG4pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVDFYX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgzMDAwICsgKG4pKjQpKSAgIC8vbiBpcyBmcm9tIDAgdG8gMzcKKworI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX09GRlNFVF9DSElQX09GRlNFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9PRkZTRVRfQ0hJUF9PRkZTRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX09GRlNFVF9DSElQX09GRlNFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwM0ZGQykKKworI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMTVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0sxNV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMTVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzE1X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzE0X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMTRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzE0X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0sxNF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0sxM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzEzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0sxM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMTNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKworI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMTJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0sxMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMTJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzEyX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0sxMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0sxMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzEwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0sxMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMTBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLOV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzlfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0s5X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLOV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLOF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0s4X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLOF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLN19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0s3X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLN19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLNl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0s2X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLNl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLNV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0s1X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLNV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLNF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0s0X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLNF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0szX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLM19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0syX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0sxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0swX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX09GRlNFVF9DSElQX09GRlNFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9PRkZTRVRfQ0hJUF9PRkZTRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX09GRlNFVF9DSElQX09GRlNFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwM0ZGQykKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLMTVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0sxNV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLMTVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzE1X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzE0X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLMTRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzE0X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0sxNF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0sxM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzEzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0sxM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLMTNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLMTJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0sxMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLMTJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzEyX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLMTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0sxMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0sxMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzEwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0sxMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLMTBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLOV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzlfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0s5X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLOV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLOF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0s4X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLOF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLN19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0s3X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLN19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLNl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0s2X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLNl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLNV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0s1X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLNV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLNF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0s0X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLNF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0szX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLM19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0syX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLMl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0sxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0swX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFIxNV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjE1X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFIxNV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSMTVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSMTRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFIxNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSMTRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjE0X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjEzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSMTNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjEzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFIxM19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFIxMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjEyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFIxMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSMTJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSMTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFIxMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSMTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjExX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjEwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSMTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjEwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFIxMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFI5X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSOV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjlfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFI5X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFI4X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSOF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFI4X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFI3X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSN19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFI3X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFI2X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSNl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFI2X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFI1X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSNV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFI1X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFI0X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFI0X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFIzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFIzX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFIyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFIyX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFIxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFIxX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFIwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFIwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkMxNV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzE1X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkMxNV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDMTVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDMTRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkMxNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDMTRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzE0X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzEzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDMTNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzEzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkMxM19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkMxMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzEyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkMxMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDMTJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDMTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkMxMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDMTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzExX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzEwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDMTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzEwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkMxMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkM5X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDOV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzlfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkM5X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkM4X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDOF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkM4X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkM3X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDN19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkM3X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkM2X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDNl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkM2X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkM1X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDNV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkM1X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkM0X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkM0X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkMzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkMzX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkMyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkMyX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkMxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkMxX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkMwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkMwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1IxNV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjE1X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1IxNV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSMTVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSMTRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1IxNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSMTRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjE0X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjEzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSMTNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjEzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1IxM19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1IxMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjEyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1IxMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSMTJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSMTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1IxMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSMTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjExX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjEwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSMTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjEwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1IxMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1I5X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSOV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjlfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1I5X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1I4X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSOF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1I4X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1I3X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSN19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1I3X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1I2X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSNl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1I2X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1I1X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSNV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1I1X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1I0X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1I0X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1IzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1IzX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1IyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1IyX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1IxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1IxX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1IwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1IwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBTVDFYX1JYREZFX09OX0VWRU5UX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFNUMVhfUlhERkVfT05fRVZFTlRfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX1JYREZFX09OX0VWRU5UX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgU1QxWF9SWERGRV9PTl9FVkVOVF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgU1QxWF9SWERGRV9PTl9FVkVOVF9SWERGRV9PTl9FVkVOVF9USU1FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNUMVhfUlhERkVfT05fRVZFTlRfUlhERkVfT05fRVZFTlRfVElNRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgU1QxWF9SWERGRV9PTl9FVkVOVF9SWERGRV9PTl9FVkVOVF9USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkMpCisKKyNkZWZpbmUgU1QxWF9SWERGRV9PRkZfRVZFTlRfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBTVDFYX1JYREZFX09GRl9FVkVOVF9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9SWERGRV9PRkZfRVZFTlRfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIFNUMVhfUlhERkVfT0ZGX0VWRU5UX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIFNUMVhfUlhERkVfT0ZGX0VWRU5UX1JYREZFX09GRl9FVkVOVF9USU1FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVDFYX1JYREZFX09GRl9FVkVOVF9SWERGRV9PRkZfRVZFTlRfVElNRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMTgpCisjZGVmaW5lIFNUMVhfUlhERkVfT0ZGX0VWRU5UX1JYREZFX09GRl9FVkVOVF9USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZDKQorCisjZGVmaW5lIFNUMVhfREJHX09OX0VWRU5UX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgU1QxWF9EQkdfT05fRVZFTlRfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfREJHX09OX0VWRU5UX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBTVDFYX0RCR19PTl9FVkVOVF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBTVDFYX0RCR19PTl9FVkVOVF9EQkdfT05fRVZFTlRfVElNRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1QxWF9EQkdfT05fRVZFTlRfREJHX09OX0VWRU5UX1RJTUVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBTVDFYX0RCR19PTl9FVkVOVF9EQkdfT05fRVZFTlRfVElNRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGRikKKworI2RlZmluZSBTVDFYX0RCR19PRkZfRVZFTlRfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFNUMVhfREJHX09GRl9FVkVOVF9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX0RCR19PRkZfRVZFTlRfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgU1QxWF9EQkdfT0ZGX0VWRU5UX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgU1QxWF9EQkdfT0ZGX0VWRU5UX0RCR19PRkZfRVZFTlRfVElNRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNUMVhfREJHX09GRl9FVkVOVF9EQkdfT0ZGX0VWRU5UX1RJTUVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgU1QxWF9EQkdfT0ZGX0VWRU5UX0RCR19PRkZfRVZFTlRfVElNRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkYpCisKKyNkZWZpbmUgU1QxWF9UVFJfT05fRVZFTlRfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBTVDFYX1RUUl9PTl9FVkVOVF9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9UVFJfT05fRVZFTlRfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIFNUMVhfVFRSX09OX0VWRU5UX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIFNUMVhfVFRSX09OX0VWRU5UX1RUUl9PTl9FVkVOVF9USU1FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVDFYX1RUUl9PTl9FVkVOVF9UVFJfT05fRVZFTlRfVElNRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTgpCisjZGVmaW5lIFNUMVhfVFRSX09OX0VWRU5UX1RUUl9PTl9FVkVOVF9USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZDKQorCisjZGVmaW5lIFNUMVhfVFRSX09GRl9FVkVOVF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgU1QxWF9UVFJfT0ZGX0VWRU5UX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfVFRSX09GRl9FVkVOVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBTVDFYX1RUUl9PRkZfRVZFTlRfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBTVDFYX1RUUl9PRkZfRVZFTlRfVFRSX09GRl9FVkVOVF9USU1FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1QxWF9UVFJfT0ZGX0VWRU5UX1RUUl9PRkZfRVZFTlRfVElNRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE4KQorI2RlZmluZSBTVDFYX1RUUl9PRkZfRVZFTlRfVFRSX09GRl9FVkVOVF9USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGQykKKworI2RlZmluZSBTVDFYX0RWRlNfRVZFTlRfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFNUMVhfRFZGU19FVkVOVF9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX0RWRlNfRVZFTlRfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgU1QxWF9EVkZTX0VWRU5UX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgU1QxWF9EVkZTX0VWRU5UX01PREVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMwKQorI2RlZmluZSBTVDFYX0RWRlNfRVZFTlRfTU9ERV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9EVkZTX0VWRU5UX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4NDAwMDAwMDApCisjZGVmaW5lIFNUMVhfRFZGU19FVkVOVF9NT0RFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDQwMDAwMDAwKQorCisjZGVmaW5lIFNUMVhfRFZGU19FVkVOVF9EVkZTX0VWTlRfVElNRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVDFYX0RWRlNfRVZFTlRfRFZGU19FVk5UX1RJTUVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTgpCisjZGVmaW5lIFNUMVhfRFZGU19FVkVOVF9EVkZTX0VWTlRfVElNRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZDKQorCisjZGVmaW5lIFNUMVhfUlhfQlNJUkRfRVZFTlRfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgU1QxWF9SWF9CU0lSRF9FVkVOVF9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfUlhfQlNJUkRfRVZFTlRfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBTVDFYX1JYX0JTSVJEX0VWRU5UX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBTVDFYX1JYX0JTSVJEX0VWRU5UX1JYX0JTSVJEX0VWTlRfVElNRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1QxWF9SWF9CU0lSRF9FVkVOVF9SWF9CU0lSRF9FVk5UX1RJTUVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE4KQorI2RlZmluZSBTVDFYX1JYX0JTSVJEX0VWRU5UX1JYX0JTSVJEX0VWTlRfVElNRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGQykKKworI2RlZmluZSBTVDFYX1JYX0JTSV9FVkVOVF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFNUMVhfUlhfQlNJX0VWRU5UX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX1JYX0JTSV9FVkVOVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgU1QxWF9SWF9CU0lfRVZFTlRfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgU1QxWF9SWF9CU0lfRVZFTlRfUlhfQlNJX0VWTlRfVElNRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNUMVhfUlhfQlNJX0VWRU5UX1JYX0JTSV9FVk5UX1RJTUVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgU1QxWF9SWF9CU0lfRVZFTlRfUlhfQlNJX0VWTlRfVElNRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkMpCisKKyNkZWZpbmUgU1QxWF9SWF9NSVBJX0VWRU5UX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBTVDFYX1JYX01JUElfRVZFTlRfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9SWF9NSVBJX0VWRU5UX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIFNUMVhfUlhfTUlQSV9FVkVOVF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIFNUMVhfUlhfTUlQSV9FVkVOVF9SWF9NSVBJX0VWTlRfVElNRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVDFYX1JYX01JUElfRVZFTlRfUlhfTUlQSV9FVk5UX1RJTUVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTgpCisjZGVmaW5lIFNUMVhfUlhfTUlQSV9FVkVOVF9SWF9NSVBJX0VWTlRfVElNRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZDKQorCisjZGVmaW5lIFNUMVhfUlhfQlBJX0VWRU5UX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgU1QxWF9SWF9CUElfRVZFTlRfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfUlhfQlBJX0VWRU5UX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBTVDFYX1JYX0JQSV9FVkVOVF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBTVDFYX1JYX0JQSV9FVkVOVF9SWF9CUElfRVZFTlRfVElNRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1QxWF9SWF9CUElfRVZFTlRfUlhfQlBJX0VWRU5UX1RJTUVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE4KQorI2RlZmluZSBTVDFYX1JYX0JQSV9FVkVOVF9SWF9CUElfRVZFTlRfVElNRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGQykKKworI2VuZGlmIC8vI2lmbmRlZiBfQ1BIXzFYX1JYX0VWRU5UR0VOX0hfCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoMXhyeGV2ZW50Z2VuX2c5NS5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaDF4cnhldmVudGdlbl9nOTUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MzU2MDczCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaDF4cnhldmVudGdlbl9nOTUuaApAQCAtMCwwICsxLDU4NiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NQSF8xWF9SWF9FVkVOVEdFTl9IXworI2RlZmluZSBfQ1BIXzFYX1JYX0VWRU5UR0VOX0hfCisKKwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogU1JBTUFERFI7ICAgICAgICAgLyogU1JBTSBhZGRyIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBTUkFNREFUQTsgICAgICAgICAvKiBTUkFNIGRhdGEgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIEFQQkFERFI7ICAgICAgICAgIC8qIEFQQiBhZGRyIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgQVBCREFUQTsgICAgICAgICAgLyogQVBCIGRhdGEgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqICBBUEJBRERSMzI7ICAgICAgICAvKiBBUEIgYWRkciBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAgIEFQQkRBVEEzMjsgICAgICAgIC8qIEFQQiBkYXRhIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogRFBSQU1BRERSOyAgICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHNpZ25lZCAgIHNob3J0KiBEUFJBTUFERFJfUzsgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIERQUkFNREFUQTsgICAgICAgIC8qIERQUkFNIGRhdGEgaXMgMTYgYml0cyAqLworCisKKyNkZWZpbmUgU1QxWF9SWF9FVkVOVEdFTl9SRUdfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QTYyMTAwMDApCisKKyNkZWZpbmUgU1QxWF9SWF9FVkVOVEdFTl9lbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFNUMVhfUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDMwMDAgKyAzOCo0KQorCisKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9PRkZTRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUMVhfUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwMDApKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1QxWF9SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDAwNCkpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfT0ZGU0VUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVDFYX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMDA4KSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUMVhfUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwMEMpKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1QxWF9SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDAxMCkpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVDFYX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMDE0KSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUMVhfUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwMTgpKQorI2RlZmluZSBTVDFYX1JYREZFX09OX0VWRU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1QxWF9SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDAxQykpCisjZGVmaW5lIFNUMVhfUlhERkVfT0ZGX0VWRU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVDFYX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMDIwKSkKKyNkZWZpbmUgU1QxWF9EQkdfT05fRVZFTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUMVhfUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwMjQpKQorI2RlZmluZSBTVDFYX0RCR19PRkZfRVZFTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1QxWF9SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDAyOCkpCisjZGVmaW5lIFNUMVhfVFRSX09OX0VWRU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVDFYX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMDJDKSkKKyNkZWZpbmUgU1QxWF9UVFJfT0ZGX0VWRU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUMVhfUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwMzApKQorI2RlZmluZSBTVDFYX0RWRlNfRVZFTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1QxWF9SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDAzNCkpCisjZGVmaW5lIFNUMVhfUlhfQlNJUkRfRVZFTlQobikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVDFYX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwRjMwICsgKG4pKjQpKSAgIC8vbiBpcyBmcm9tIDAgdG8gMgorI2RlZmluZSBTVDFYX1JYX0JTSV9FVkVOVChuKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1QxWF9SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MTAzMCArIChuKSo0KSkgICAvL24gaXMgZnJvbSAwIHRvIDQ5CisjZGVmaW5lIFNUMVhfUlhfTUlQSV9FVkVOVChuKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVDFYX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgyMDAwICsgKG4pKjQpKSAgIC8vbiBpcyBmcm9tIDAgdG8gODEKKyNkZWZpbmUgU1QxWF9SWF9CUElfRVZFTlQobikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUMVhfUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDMwMDAgKyAobikqNCkpICAgLy9uIGlzIGZyb20gMCB0byAzNworCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfT0ZGU0VUX0NISVBfT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX09GRlNFVF9DSElQX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfT0ZGU0VUX0NISVBfT0ZGU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAzRkZDKQorCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0sxNV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzE1X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0sxNV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMTVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMTRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0sxNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMTRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzE0X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzEzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMTNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzEzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0sxM19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0sxMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzEyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0sxMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMTJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0sxMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzExX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzEwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzEwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0sxMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0s5X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLOV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzlfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0s5X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0s4X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLOF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0s4X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0s3X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLN19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0s3X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0s2X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLNl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0s2X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0s1X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLNV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0s1X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0s0X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0s0X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0szX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0szX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0syX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0syX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0sxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0sxX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0swX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0swX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfT0ZGU0VUX0NISVBfT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX09GRlNFVF9DSElQX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfT0ZGU0VUX0NISVBfT0ZGU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAzRkZDKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0sxNV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzE1X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0sxNV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLMTVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLMTRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0sxNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLMTRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzE0X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzEzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLMTNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzEzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0sxM19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0sxMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzEyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0sxMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLMTJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLMTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0sxMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLMTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzExX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzEwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLMTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzEwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0sxMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0s5X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLOV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzlfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0s5X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0s4X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLOF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0s4X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0s3X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLN19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0s3X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0s2X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLNl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0s2X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0s1X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLNV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0s1X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0s0X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0s0X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0szX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0szX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0syX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0syX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0sxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0sxX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0swX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfTVNLMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLX01TSzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS19NU0swX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjE1X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSMTVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjE1X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFIxNV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFIxNF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjE0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFIxNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSMTRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSMTNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFIxM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSMTNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjEzX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjEyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSMTJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjEyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFIxMl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFIxMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFIxMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSMTFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSMTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFIxMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSMTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjEwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjlfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFI5X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSOV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjlfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFI4X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSOF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjhfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFI3X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSN19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFI2X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSNl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFI1X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSNV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFI0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFIzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFIyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFIxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl9DTFIwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfQ0xSMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSX0NMUjBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzE1X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDMTVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzE1X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkMxNV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkMxNF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzE0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkMxNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDMTRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDMTNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkMxM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDMTNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzEzX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzEyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDMTJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzEyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkMxMl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkMxMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkMxMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDMTFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDMTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkMxMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDMTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzEwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzlfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkM5X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDOV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzlfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkM4X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDOF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzhfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkM3X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDN19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkM2X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDNl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkM1X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDNV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkM0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkMzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkMyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkMxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ19TUkMwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfU1JDMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDX1NSQzBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjE1X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSMTVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjE1X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1IxNV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1IxNF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjE0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1IxNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSMTRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSMTNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1IxM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSMTNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjEzX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjEyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSMTJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjEyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1IxMl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1IxMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1IxMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSMTFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSMTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1IxMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSMTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjEwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjlfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1I5X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSOV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjlfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1I4X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSOF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjhfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1I3X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSN19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1I2X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSNl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1I1X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSNV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1I0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1IzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1IyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1IxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl9JU1IwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfSVNSMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSX0lTUjBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNUMVhfUlhERkVfT05fRVZFTlRfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgU1QxWF9SWERGRV9PTl9FVkVOVF9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfUlhERkVfT05fRVZFTlRfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBTVDFYX1JYREZFX09OX0VWRU5UX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBTVDFYX1JYREZFX09OX0VWRU5UX1JYREZFX09OX0VWRU5UX1RJTUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1QxWF9SWERGRV9PTl9FVkVOVF9SWERGRV9PTl9FVkVOVF9USU1FX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE4KQorI2RlZmluZSBTVDFYX1JYREZFX09OX0VWRU5UX1JYREZFX09OX0VWRU5UX1RJTUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGQykKKworI2RlZmluZSBTVDFYX1JYREZFX09GRl9FVkVOVF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFNUMVhfUlhERkVfT0ZGX0VWRU5UX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX1JYREZFX09GRl9FVkVOVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgU1QxWF9SWERGRV9PRkZfRVZFTlRfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgU1QxWF9SWERGRV9PRkZfRVZFTlRfUlhERkVfT0ZGX0VWRU5UX1RJTUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNUMVhfUlhERkVfT0ZGX0VWRU5UX1JYREZFX09GRl9FVkVOVF9USU1FX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgU1QxWF9SWERGRV9PRkZfRVZFTlRfUlhERkVfT0ZGX0VWRU5UX1RJTUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkMpCisKKyNkZWZpbmUgU1QxWF9EQkdfT05fRVZFTlRfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBTVDFYX0RCR19PTl9FVkVOVF9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9EQkdfT05fRVZFTlRfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIFNUMVhfREJHX09OX0VWRU5UX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIFNUMVhfREJHX09OX0VWRU5UX0RCR19PTl9FVkVOVF9USU1FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVDFYX0RCR19PTl9FVkVOVF9EQkdfT05fRVZFTlRfVElNRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFNUMVhfREJHX09OX0VWRU5UX0RCR19PTl9FVkVOVF9USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZGKQorCisjZGVmaW5lIFNUMVhfREJHX09GRl9FVkVOVF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgU1QxWF9EQkdfT0ZGX0VWRU5UX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfREJHX09GRl9FVkVOVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBTVDFYX0RCR19PRkZfRVZFTlRfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBTVDFYX0RCR19PRkZfRVZFTlRfREJHX09GRl9FVkVOVF9USU1FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1QxWF9EQkdfT0ZGX0VWRU5UX0RCR19PRkZfRVZFTlRfVElNRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBTVDFYX0RCR19PRkZfRVZFTlRfREJHX09GRl9FVkVOVF9USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGRikKKworI2RlZmluZSBTVDFYX1RUUl9PTl9FVkVOVF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFNUMVhfVFRSX09OX0VWRU5UX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX1RUUl9PTl9FVkVOVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgU1QxWF9UVFJfT05fRVZFTlRfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgU1QxWF9UVFJfT05fRVZFTlRfVFRSX09OX0VWRU5UX1RJTUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNUMVhfVFRSX09OX0VWRU5UX1RUUl9PTl9FVkVOVF9USU1FX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgU1QxWF9UVFJfT05fRVZFTlRfVFRSX09OX0VWRU5UX1RJTUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkMpCisKKyNkZWZpbmUgU1QxWF9UVFJfT0ZGX0VWRU5UX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBTVDFYX1RUUl9PRkZfRVZFTlRfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9UVFJfT0ZGX0VWRU5UX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIFNUMVhfVFRSX09GRl9FVkVOVF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIFNUMVhfVFRSX09GRl9FVkVOVF9UVFJfT0ZGX0VWRU5UX1RJTUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVDFYX1RUUl9PRkZfRVZFTlRfVFRSX09GRl9FVkVOVF9USU1FX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTgpCisjZGVmaW5lIFNUMVhfVFRSX09GRl9FVkVOVF9UVFJfT0ZGX0VWRU5UX1RJTUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZDKQorCisjZGVmaW5lIFNUMVhfRFZGU19FVkVOVF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgU1QxWF9EVkZTX0VWRU5UX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfRFZGU19FVkVOVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBTVDFYX0RWRlNfRVZFTlRfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBTVDFYX0RWRlNfRVZFTlRfTU9ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzApCisjZGVmaW5lIFNUMVhfRFZGU19FVkVOVF9NT0RFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX0RWRlNfRVZFTlRfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMCkKKyNkZWZpbmUgU1QxWF9EVkZTX0VWRU5UX01PREVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4NDAwMDAwMDApCisKKyNkZWZpbmUgU1QxWF9EVkZTX0VWRU5UX0RWRlNfRVZOVF9USU1FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNUMVhfRFZGU19FVkVOVF9EVkZTX0VWTlRfVElNRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgU1QxWF9EVkZTX0VWRU5UX0RWRlNfRVZOVF9USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkMpCisKKyNkZWZpbmUgU1QxWF9SWF9CU0lSRF9FVkVOVF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBTVDFYX1JYX0JTSVJEX0VWRU5UX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9SWF9CU0lSRF9FVkVOVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIFNUMVhfUlhfQlNJUkRfRVZFTlRfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIFNUMVhfUlhfQlNJUkRfRVZFTlRfUlhfQlNJUkRfRVZOVF9USU1FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVDFYX1JYX0JTSVJEX0VWRU5UX1JYX0JTSVJEX0VWTlRfVElNRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTgpCisjZGVmaW5lIFNUMVhfUlhfQlNJUkRfRVZFTlRfUlhfQlNJUkRfRVZOVF9USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZDKQorCisjZGVmaW5lIFNUMVhfUlhfQlNJX0VWRU5UX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgU1QxWF9SWF9CU0lfRVZFTlRfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfUlhfQlNJX0VWRU5UX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBTVDFYX1JYX0JTSV9FVkVOVF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBTVDFYX1JYX0JTSV9FVkVOVF9SWF9CU0lfRVZOVF9USU1FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1QxWF9SWF9CU0lfRVZFTlRfUlhfQlNJX0VWTlRfVElNRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE4KQorI2RlZmluZSBTVDFYX1JYX0JTSV9FVkVOVF9SWF9CU0lfRVZOVF9USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGQykKKworI2RlZmluZSBTVDFYX1JYX01JUElfRVZFTlRfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFNUMVhfUlhfTUlQSV9FVkVOVF9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX1JYX01JUElfRVZFTlRfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgU1QxWF9SWF9NSVBJX0VWRU5UX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgU1QxWF9SWF9NSVBJX0VWRU5UX1JYX01JUElfRVZOVF9USU1FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNUMVhfUlhfTUlQSV9FVkVOVF9SWF9NSVBJX0VWTlRfVElNRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgU1QxWF9SWF9NSVBJX0VWRU5UX1JYX01JUElfRVZOVF9USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkMpCisKKyNkZWZpbmUgU1QxWF9SWF9CUElfRVZFTlRfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBTVDFYX1JYX0JQSV9FVkVOVF9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9SWF9CUElfRVZFTlRfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIFNUMVhfUlhfQlBJX0VWRU5UX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIFNUMVhfUlhfQlBJX0VWRU5UX1JYX0JQSV9FVkVOVF9USU1FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVDFYX1JYX0JQSV9FVkVOVF9SWF9CUElfRVZFTlRfVElNRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTgpCisjZGVmaW5lIFNUMVhfUlhfQlBJX0VWRU5UX1JYX0JQSV9FVkVOVF9USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZDKQorCisjZW5kaWYgLy8jaWZuZGVmIF9DUEhfMVhfUlhfRVZFTlRHRU5fSF8KZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGgxeHJ4ZXZlbnRnZW5fZzk3LmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoMXhyeGV2ZW50Z2VuX2c5Ny5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmYTk0OGYKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoMXhyeGV2ZW50Z2VuX2c5Ny5oCkBAIC0wLDAgKzEsNDIxIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfQ1BIXzFYX1JYX0VWRU5UR0VOX0hfCisjZGVmaW5lIF9DUEhfMVhfUlhfRVZFTlRHRU5fSF8KKworCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBTUkFNQUREUjsgICAgICAgICAvKiBTUkFNIGFkZHIgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIFNSQU1EQVRBOyAgICAgICAgIC8qIFNSQU0gZGF0YSBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogQVBCQUREUjsgICAgICAgICAgLyogQVBCIGFkZHIgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBBUEJEQVRBOyAgICAgICAgICAvKiBBUEIgZGF0YSBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyogIEFQQkFERFIzMjsgICAgICAgIC8qIEFQQiBhZGRyIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICAgQVBCREFUQTMyOyAgICAgICAgLyogQVBCIGRhdGEgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBEUFJBTUFERFI7ICAgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgc2lnbmVkICAgc2hvcnQqIERQUkFNQUREUl9TOyAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgRFBSQU1EQVRBOyAgICAgICAgLyogRFBSQU0gZGF0YSBpcyAxNiBiaXRzICovCisKKworI2RlZmluZSBTVDFYX1JYX0VWRU5UR0VOX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhBODIwMDAwMCkKKworI2RlZmluZSBTVDFYX1JYX0VWRU5UR0VOX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoU1QxWF9SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MzAwMCArIDM4KjQpCisKKworI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX09GRlNFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1QxWF9SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDAwMCkpCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVDFYX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMDA0KSkKKworI2RlZmluZSBTVDFYX1JYREZFX09OX0VWRU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1QxWF9SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDAxQykpCisjZGVmaW5lIFNUMVhfUlhERkVfT0ZGX0VWRU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVDFYX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMDIwKSkKKyNkZWZpbmUgU1QxWF9EQkdfT05fRVZFTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUMVhfUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwMjQpKQorI2RlZmluZSBTVDFYX0RCR19PRkZfRVZFTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1QxWF9SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDAyOCkpCisjZGVmaW5lIFNUMVhfVFRSX09OX0VWRU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVDFYX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMDJDKSkKKyNkZWZpbmUgU1QxWF9UVFJfT0ZGX0VWRU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUMVhfUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwMzApKQorI2RlZmluZSBTVDFYX0RWRlNfRVZFTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1QxWF9SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDAzNCkpCisKKyNkZWZpbmUgU1QxWF9XREdfRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUMVhfUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwNDApKQorI2RlZmluZSBTVDFYX1dER19CT1VORF9PRkZTRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1QxWF9SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDA0NCkpCisjZGVmaW5lIFNUMVhfV0RHX0NIS1BUX1VOQ0hLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVDFYX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMDQ4KSkKKyNkZWZpbmUgU1QxWF9XREdfQ0hLUFRfVElNRV8wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUMVhfUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwNEMpKQorI2RlZmluZSBTVDFYX1dER19VUkdFTlRfU1dfQ0xSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1QxWF9SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDA2MCkpCisjZGVmaW5lIFNUMVhfV0RHX0RCRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVDFYX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMDY0KSkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX09GRlNFVF8wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1QxWF9SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDA4MCkpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS18wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVDFYX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMDg0KSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUMVhfUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwODgpKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ18wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1QxWF9SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDA4QykpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSXzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVDFYX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMDkwKSkgCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTEFUQ0hfVElNRV8wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUMVhfUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwOTQpKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfT0ZGU0VUXzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVDFYX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMEEwKSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLXzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUMVhfUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwQTQpKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl8xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1QxWF9SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDBBOCkpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDXzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVDFYX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMEFDKSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUMVhfUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwQjApKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0xBVENIX1RJTUVfMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVDFYX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMEI0KSkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX09GRlNFVF8yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1QxWF9SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDBDMCkpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS18yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVDFYX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMEM0KSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUMVhfUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwQzgpKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ18yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1QxWF9SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDBDQykpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSXzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVDFYX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMEQwKSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9MQVRDSF9USU1FXzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1QxWF9SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDBENCkpCisKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9PRkZTRVRfMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUMVhfUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwRTApKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUMVhfUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwRTQpKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl8zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUMVhfUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwRTgpKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ18zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUMVhfUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwRUMpKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl8zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUMVhfUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwRjApKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0xBVENIX1RJTUVfMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1QxWF9SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDBGNCkpCisKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVDFYX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMTAwKSkKKworCisKKworCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfT0ZGU0VUX0NISVBfT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX09GRlNFVF9DSElQX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfT0ZGU0VUX0NISVBfT0ZGU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAzRkZDKQorCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0sxNV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzE1X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0sxNV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMTVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMTRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0sxNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMTRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzE0X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzEzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMTNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzEzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0sxM19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0sxMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzEyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0sxMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMTJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0sxMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzExX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzEwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzEwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0sxMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0s5X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLOV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzlfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0s5X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0s4X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLOF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0s4X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0s3X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLN19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0s3X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0s2X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLNl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0s2X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0s1X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLNV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0s1X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0s0X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0s0X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0szX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0szX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0syX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0syX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0sxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0sxX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0swX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVDFYX1JYQlJQX0VWRU5UX01BU0tfTVNLMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9SWEJSUF9FVkVOVF9NQVNLX01TSzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNUMVhfUlhCUlBfRVZFTlRfTUFTS19NU0swX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisKKyNkZWZpbmUgU1QxWF9SWERGRV9PTl9FVkVOVF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBTVDFYX1JYREZFX09OX0VWRU5UX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9SWERGRV9PTl9FVkVOVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIFNUMVhfUlhERkVfT05fRVZFTlRfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIFNUMVhfUlhERkVfT05fRVZFTlRfUlhERkVfT05fRVZFTlRfVElNRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVDFYX1JYREZFX09OX0VWRU5UX1JYREZFX09OX0VWRU5UX1RJTUVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMTgpCisjZGVmaW5lIFNUMVhfUlhERkVfT05fRVZFTlRfUlhERkVfT05fRVZFTlRfVElNRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZDKQorCisjZGVmaW5lIFNUMVhfUlhERkVfT0ZGX0VWRU5UX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgU1QxWF9SWERGRV9PRkZfRVZFTlRfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfUlhERkVfT0ZGX0VWRU5UX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBTVDFYX1JYREZFX09GRl9FVkVOVF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBTVDFYX1JYREZFX09GRl9FVkVOVF9SWERGRV9PRkZfRVZFTlRfVElNRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1QxWF9SWERGRV9PRkZfRVZFTlRfUlhERkVfT0ZGX0VWRU5UX1RJTUVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDE4KQorI2RlZmluZSBTVDFYX1JYREZFX09GRl9FVkVOVF9SWERGRV9PRkZfRVZFTlRfVElNRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGQykKKworI2RlZmluZSBTVDFYX0RCR19PTl9FVkVOVF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFNUMVhfREJHX09OX0VWRU5UX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX0RCR19PTl9FVkVOVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgU1QxWF9EQkdfT05fRVZFTlRfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgU1QxWF9EQkdfT05fRVZFTlRfREJHX09OX0VWRU5UX1RJTUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNUMVhfREJHX09OX0VWRU5UX0RCR19PTl9FVkVOVF9USU1FX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgU1QxWF9EQkdfT05fRVZFTlRfREJHX09OX0VWRU5UX1RJTUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkYpCisKKyNkZWZpbmUgU1QxWF9EQkdfT0ZGX0VWRU5UX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBTVDFYX0RCR19PRkZfRVZFTlRfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9EQkdfT0ZGX0VWRU5UX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIFNUMVhfREJHX09GRl9FVkVOVF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIFNUMVhfREJHX09GRl9FVkVOVF9EQkdfT0ZGX0VWRU5UX1RJTUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVDFYX0RCR19PRkZfRVZFTlRfREJHX09GRl9FVkVOVF9USU1FX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFNUMVhfREJHX09GRl9FVkVOVF9EQkdfT0ZGX0VWRU5UX1RJTUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZGKQorCisjZGVmaW5lIFNUMVhfVFRSX09OX0VWRU5UX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgU1QxWF9UVFJfT05fRVZFTlRfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfVFRSX09OX0VWRU5UX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBTVDFYX1RUUl9PTl9FVkVOVF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBTVDFYX1RUUl9PTl9FVkVOVF9UVFJfT05fRVZFTlRfVElNRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1QxWF9UVFJfT05fRVZFTlRfVFRSX09OX0VWRU5UX1RJTUVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE4KQorI2RlZmluZSBTVDFYX1RUUl9PTl9FVkVOVF9UVFJfT05fRVZFTlRfVElNRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGQykKKworI2RlZmluZSBTVDFYX1RUUl9PRkZfRVZFTlRfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFNUMVhfVFRSX09GRl9FVkVOVF9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX1RUUl9PRkZfRVZFTlRfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgU1QxWF9UVFJfT0ZGX0VWRU5UX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgU1QxWF9UVFJfT0ZGX0VWRU5UX1RUUl9PRkZfRVZFTlRfVElNRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNUMVhfVFRSX09GRl9FVkVOVF9UVFJfT0ZGX0VWRU5UX1RJTUVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgU1QxWF9UVFJfT0ZGX0VWRU5UX1RUUl9PRkZfRVZFTlRfVElNRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkMpCisKKyNkZWZpbmUgU1QxWF9EVkZTX0VWRU5UX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBTVDFYX0RWRlNfRVZFTlRfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9EVkZTX0VWRU5UX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIFNUMVhfRFZGU19FVkVOVF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIFNUMVhfRFZGU19FVkVOVF9NT0RFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMCkKKyNkZWZpbmUgU1QxWF9EVkZTX0VWRU5UX01PREVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfRFZGU19FVkVOVF9NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDQwMDAwMDAwKQorI2RlZmluZSBTVDFYX0RWRlNfRVZFTlRfTU9ERV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMCkKKworI2RlZmluZSBTVDFYX0RWRlNfRVZFTlRfRFZGU19FVk5UX1RJTUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1QxWF9EVkZTX0VWRU5UX0RWRlNfRVZOVF9USU1FX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE4KQorI2RlZmluZSBTVDFYX0RWRlNfRVZFTlRfRFZGU19FVk5UX1RJTUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGQykKKworI2RlZmluZSBTVDFYX1dER19FTl9XREdfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVDFYX1dER19FTl9XREdfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfV0RHX0VOX1dER19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBTVDFYX1dER19CT1VORF9PRkZTRVRfV0RHX0JPVU5EX09GRlNFVF8wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBTVDFYX1dER19CT1VORF9PRkZTRVRfV0RHX0JPVU5EX09GRlNFVF8wX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgU1QxWF9XREdfQk9VTkRfT0ZGU0VUX1dER19CT1VORF9PRkZTRVRfMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwM0ZGOCkKKworI2RlZmluZSBTVDFYX1dER19DSEtQVF9VTkNIS19XREdfQ0hLUFRfMF9VTkNIS19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1QxWF9XREdfQ0hLUFRfVU5DSEtfV0RHX0NIS1BUXzBfVU5DSEtfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfV0RHX0NIS1BUX1VOQ0hLX1dER19DSEtQVF8wX1VOQ0hLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisKKyNkZWZpbmUgU1QxWF9XREdfQ0hLUFRfVElNRV8wX1dER19DSEtQVF9USU1FXzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFNUMVhfV0RHX0NIS1BUX1RJTUVfMF9XREdfQ0hLUFRfVElNRV8wX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxNykKKyNkZWZpbmUgU1QxWF9XREdfQ0hLUFRfVElNRV8wX1dER19DSEtQVF9USU1FXzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRjgpCisKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9PRkZTRVRfMF9DSElQX09GRlNFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9PRkZTRVRfMF9DSElQX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9PRkZTRVRfMF9DSElQX09GRlNFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGOCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfMF9NU0swXzIzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLXzBfTVNLMF8yM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfMF9NU0swXzIzX19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkZGRkZGKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSXzBfQ0xSMF8yM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSXzBfQ0xSMF8yM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl8wX0NMUjBfMjNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkZGRkZGKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDXzBfU1JDMF8yM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDXzBfU1JDMF8yM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ18wX1NSQzBfMjNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkZGRkZGKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSXzBfSVNSMF8yM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSXzBfSVNSMF8yM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl8wX0lTUjBfMjNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkZGRkZGKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTEFUQ0hfVElNRV8wX0VSUk9SX0ZMQUdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0xBVENIX1RJTUVfMF9FUlJPUl9GTEFHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0xBVENIX1RJTUVfMF9FUlJPUl9GTEFHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTEFUQ0hfVElNRV8wX0NMRUFSX0VSUk9SX0ZMQUdfTFNCICAgICAgICAgICAgICAgICAgKDMwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0xBVENIX1RJTUVfMF9DTEVBUl9FUlJPUl9GTEFHX1dJRFRIICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0xBVENIX1RJTUVfMF9DTEVBUl9FUlJPUl9GTEFHX01BU0sgICAgICAgICAgICAgICAgICgweDQwMDAwMDAwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTEFUQ0hfVElNRV8wX1NfVElNRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9MQVRDSF9USU1FXzBfU19USU1FX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9MQVRDSF9USU1FXzBfU19USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkZGRkUwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfT0ZGU0VUXzFfQ0hJUF9PRkZTRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfT0ZGU0VUXzFfQ0hJUF9PRkZTRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfT0ZGU0VUXzFfQ0hJUF9PRkZTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRjgpCisKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLXzFfTVNLMF8yM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS18xX01TSzBfMjNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLXzFfTVNLMF8yM19fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEZGRkZGRikKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl8xX0NMUjBfMjNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl8xX0NMUjBfMjNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfMV9DTFIwXzIzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEZGRkZGRikKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ18xX1NSQzBfMjNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ18xX1NSQzBfMjNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfMF9TUkMwXzIzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEZGRkZGRikKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl8xX0lTUjBfMjNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl8xX0lTUjBfMjNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfMV9JU1IwXzIzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEZGRkZGRikKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX0xBVENIX1RJTUVfMV9FUlJPUl9GTEFHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9MQVRDSF9USU1FXzFfRVJST1JfRkxBR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9MQVRDSF9USU1FXzFfRVJST1JfRkxBR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX0xBVENIX1RJTUVfMV9DTEVBUl9FUlJPUl9GTEFHX0xTQiAgICAgICAgICAgICAgICAgICgzMCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9MQVRDSF9USU1FXzFfQ0xFQVJfRVJST1JfRkxBR19XSURUSCAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9MQVRDSF9USU1FXzFfQ0xFQVJfRVJST1JfRkxBR19NQVNLICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX0xBVENIX1RJTUVfMV9TX1RJTUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTEFUQ0hfVElNRV8xX1NfVElNRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTEFUQ0hfVElNRV8xX1NfVElNRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEZGRkZFMCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX09GRlNFVF8yX0NISVBfT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX09GRlNFVF8yX0NISVBfT0ZGU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX09GRlNFVF8yX0NISVBfT0ZGU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUY4KQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS18yX01TSzBfMjNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfMl9NU0swXzIzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTUFTS18yX01TSzBfMjNfX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGRkZGRkYpCisKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfMl9DTFIwXzIzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9DTFJfMl9DTFIwXzIzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSXzJfQ0xSMF8yM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGRkZGRkYpCisKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfMl9TUkMwXzIzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TUkNfMl9TUkMwXzIzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDXzJfU1JDMF8yM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGRkZGRkYpCisKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfMl9JU1IwXzIzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9JU1JfMl9JU1IwXzIzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSXzJfSVNSMF8yM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGRkZGRkYpCisKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9MQVRDSF9USU1FXzJfRVJST1JfRkxBR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTEFUQ0hfVElNRV8yX0VSUk9SX0ZMQUdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTEFUQ0hfVElNRV8yX0VSUk9SX0ZMQUdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9MQVRDSF9USU1FXzJfQ0xFQVJfRVJST1JfRkxBR19MU0IgICAgICAgICAgICAgICAgICAoMzApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTEFUQ0hfVElNRV8yX0NMRUFSX0VSUk9SX0ZMQUdfV0lEVEggICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTEFUQ0hfVElNRV8wX0NMRUFSX0VSUk9SX0ZMQUdfTUFTSyAgICAgICAgICAgICAgICAgKDB4NDAwMDAwMDApCisKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9MQVRDSF9USU1FXzJfU19USU1FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0xBVENIX1RJTUVfMl9TX1RJTUVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0xBVENIX1RJTUVfMl9TX1RJTUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGRkZGRTApCisKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9PRkZTRVRfM19DSElQX09GRlNFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9PRkZTRVRfM19DSElQX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9PRkZTRVRfM19DSElQX09GRlNFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGOCkKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfM19NU0swXzIzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9NQVNLXzNfTVNLMF8yM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX01BU0tfM19NU0swXzIzX19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkZGRkZGKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSXzNfQ0xSMF8yM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfQ0xSXzNfQ0xSMF8yM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0NMUl8zX0NMUjBfMjNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkZGRkZGKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDXzNfU1JDMF8yM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1JDXzNfU1JDMF8yM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NSQ18zX1NSQzBfMjNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkZGRkZGKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSXzNfSVNSMF8yM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfSVNSXzNfSVNSMF8yM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0lTUl8zX0lTUjBfMjNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkZGRkZGKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTEFUQ0hfVElNRV8zX0VSUk9SX0ZMQUdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0xBVENIX1RJTUVfM19FUlJPUl9GTEFHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0xBVENIX1RJTUVfM19FUlJPUl9GTEFHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTEFUQ0hfVElNRV8zX0NMRUFSX0VSUk9SX0ZMQUdfTFNCICAgICAgICAgICAgICAgICAgKDMwKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0xBVENIX1RJTUVfM19DTEVBUl9FUlJPUl9GTEFHX1dJRFRIICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX0xBVENIX1RJTUVfM19DTEVBUl9FUlJPUl9GTEFHX01BU0sgICAgICAgICAgICAgICAgICgweDQwMDAwMDAwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfTEFUQ0hfVElNRV8zX1NfVElNRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9MQVRDSF9USU1FXzNfU19USU1FX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9MQVRDSF9USU1FXzNfU19USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkZGRkUwKQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1RBVFVTX1NUQVRVU19JUlFfMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TVEFUVVNfU1RBVFVTX0lSUV8wX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX3VTSVBfU1RBVFVTX1NUQVRVU19JUlFfMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TVEFUVVNfU1RBVFVTX0lSUV8xX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NUQVRVU19TVEFUVVNfSVJRXzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUMVhfdVNJUF9TVEFUVVNfU1RBVFVTX0lSUV8xX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBTVDFYX3VTSVBfSVJRX1NUQVRVU19TVEFUVVNfSVJRXzJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1RBVFVTX1NUQVRVU19JUlFfMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX1NUQVRVU19TVEFUVVNfSVJRXzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFNUMVhfdVNJUF9JUlFfU1RBVFVTX1NUQVRVU19JUlFfM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF91U0lQX0lSUV9TVEFUVVNfU1RBVFVTX0lSUV8zX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX3VTSVBfU1RBVFVTX1NUQVRVU19JUlFfM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNlbmRpZiAvLyNpZm5kZWYgX0NQSF8xWF9SWF9FVkVOVEdFTl9IXwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaDF4cnhzbHAuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGgxeHJ4c2xwLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWMxMmUzNQotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGgxeHJ4c2xwLmgKQEAgLTAsMCArMSwyMTIgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhfMVhfUlhTTFBfSF8KKyNkZWZpbmUgX0NQSF8xWF9SWFNMUF9IXworCisKK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIFNSQU1BRERSOyAgICAgICAgIC8qIFNSQU0gYWRkciBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgU1JBTURBVEE7ICAgICAgICAgLyogU1JBTSBkYXRhIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBBUEJBRERSOyAgICAgICAgICAvKiBBUEIgYWRkciBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIEFQQkRBVEE7ICAgICAgICAgIC8qIEFQQiBkYXRhIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nKiAgQVBCQUREUjMyOyAgICAgICAgLyogQVBCIGFkZHIgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgICBBUEJEQVRBMzI7ICAgICAgICAvKiBBUEIgZGF0YSBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIERQUkFNQUREUjsgICAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSBzaWduZWQgICBzaG9ydCogRFBSQU1BRERSX1M7ICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBEUFJBTURBVEE7ICAgICAgICAvKiBEUFJBTSBkYXRhIGlzIDE2IGJpdHMgKi8KKworCisjZGVmaW5lIFNUMVhfUlhfU0xQX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAwKQorCisjZGVmaW5lIFNUMVhfUlhfU0xQX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChTVDFYX1JYX1NMUF9SRUdfQkFTRSArIDB4QTYwRDAwNjAgKyAxKjQpCisKKworCisjZGVmaW5lIFNUMVhfU01fQ09OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVDFYX1JYX1NMUF9SRUdfQkFTRSArIDB4QTYwRDAwMDApKQorI2RlZmluZSBTVDFYX1NNX1BBVVNFX1RJTUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1QxWF9SWF9TTFBfUkVHX0JBU0UgKyAweEE2MEQwMDA0KSkKKyNkZWZpbmUgU1QxWF9TTV9TVEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUMVhfUlhfU0xQX1JFR19CQVNFICsgMHhBNjBEMDAwOCkpCisjZGVmaW5lIFNUMVhfU01fQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVDFYX1JYX1NMUF9SRUdfQkFTRSArIDB4QTYwRDAwMEMpKQorI2RlZmluZSBTVDFYX1NNX1NUQVJUX1RJTUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1QxWF9SWF9TTFBfUkVHX0JBU0UgKyAweEE2MEQwMDEwKSkKKyNkZWZpbmUgU1QxWF9TTV9TV19XQUtFX0NPTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUMVhfUlhfU0xQX1JFR19CQVNFICsgMHhBNjBEMDAxNCkpCisjZGVmaW5lIFNUMVhfU01fU1RFUF9GUkFDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVDFYX1JYX1NMUF9SRUdfQkFTRSArIDB4QTYwRDAwMTgpKQorI2RlZmluZSBTVDFYX1NNX1NZU0NOVF9GMzJLX0lOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1QxWF9SWF9TTFBfUkVHX0JBU0UgKyAweEE2MEQwMDFDKSkKKyNkZWZpbmUgU1QxWF9TTV9TWVNDTlRfRjMyS19GUkFDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUMVhfUlhfU0xQX1JFR19CQVNFICsgMHhBNjBEMDAyMCkpCisjZGVmaW5lIFNUMVhfU01fU1VQRlJNX0YzMktfTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVDFYX1JYX1NMUF9SRUdfQkFTRSArIDB4QTYwRDAwMjQpKQorI2RlZmluZSBTVDFYX1NNX1NVUEZSTV9GMzJLX0ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1QxWF9SWF9TTFBfUkVHX0JBU0UgKyAweEE2MEQwMDI4KSkKKyNkZWZpbmUgU1QxWF9TTV9TTEVFUF9PRkZTRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUMVhfUlhfU0xQX1JFR19CQVNFICsgMHhBNjBEMDAyQykpCisjZGVmaW5lIFNUMVhfU01fVElNRV9TVEFSVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVDFYX1JYX1NMUF9SRUdfQkFTRSArIDB4QTYwRDAwMzApKQorI2RlZmluZSBTVDFYX1NNX1NVUEZSTV9USU1FX0xfU1RBUlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1QxWF9SWF9TTFBfUkVHX0JBU0UgKyAweEE2MEQwMDM0KSkKKyNkZWZpbmUgU1QxWF9TTV9TVVBGUk1fVElNRV9IX1NUQVJUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUMVhfUlhfU0xQX1JFR19CQVNFICsgMHhBNjBEMDAzOCkpCisjZGVmaW5lIFNUMVhfU01fVElNRV9TTFRCRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVDFYX1JYX1NMUF9SRUdfQkFTRSArIDB4QTYwRDAwM0MpKQorI2RlZmluZSBTVDFYX1NNX1NVUEZSTV9USU1FX0xfU0xUQkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1QxWF9SWF9TTFBfUkVHX0JBU0UgKyAweEE2MEQwMDQwKSkKKyNkZWZpbmUgU1QxWF9TTV9TVVBGUk1fVElNRV9IX1NMVEJEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUMVhfUlhfU0xQX1JFR19CQVNFICsgMHhBNjBEMDA0NCkpCisjZGVmaW5lIFNUMVhfU01fVElNRV9XQUtFVVBfU1RBUlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVDFYX1JYX1NMUF9SRUdfQkFTRSArIDB4QTYwRDAwNDgpKQorI2RlZmluZSBTVDFYX1NNX1NVUEZSTV9USU1FX0xfV0FLRVVQX1NUQVJUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1QxWF9SWF9TTFBfUkVHX0JBU0UgKyAweEE2MEQwMDRDKSkKKyNkZWZpbmUgU1QxWF9TTV9TVVBGUk1fVElNRV9IX1dBS0VVUF9TVEFSVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUMVhfUlhfU0xQX1JFR19CQVNFICsgMHhBNjBEMDA1MCkpCisjZGVmaW5lIFNUMVhfU01fRklOQUxfUEFVU0VfRFVSQVRJT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVDFYX1JYX1NMUF9SRUdfQkFTRSArIDB4QTYwRDAwNTQpKQorI2RlZmluZSBTVDFYX1NNX1BSRVNMUF9DTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1QxWF9SWF9TTFBfUkVHX0JBU0UgKyAweEE2MEQwMDU4KSkKKyNkZWZpbmUgU1QxWF9TTV9TTFRfU1RBUlRfRjMySyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUMVhfUlhfU0xQX1JFR19CQVNFICsgMHhBNjBEMDA1QykpCisjZGVmaW5lIFNUMVhfU01fV0FLRVVQX1NUQVJUX0YzMksgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVDFYX1JYX1NMUF9SRUdfQkFTRSArIDB4QTYwRDAwNjApKQorCisKKyNkZWZpbmUgU1QxWF9TTV9DT05fQ0xSX0NOVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBTVDFYX1NNX0NPTl9DTFJfQ05UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9TTV9DT05fQ0xSX0NOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisjZGVmaW5lIFNUMVhfU01fQ09OX0NMUl9DTlRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorCisjZGVmaW5lIFNUMVhfU01fQ09OX1BBVVNFX1NUQVJUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX1NNX0NPTl9QQVVTRV9TVEFSVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9TTV9DT05fUEFVU0VfU1RBUlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFNUMVhfU01fQ09OX1BBVVNFX1NUQVJUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFNUMVhfU01fQ09OX1BBVVNFX01PREVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVDFYX1NNX0NPTl9QQVVTRV9NT0RFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9TTV9DT05fUEFVU0VfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNUMVhfU01fQ09OX1BBVVNFX01PREVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNUMVhfU01fUEFVU0VfVElNRV9QQVVTRV9USU1FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVDFYX1NNX1BBVVNFX1RJTUVfUEFVU0VfVElNRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFNUMVhfU01fUEFVU0VfVElNRV9QQVVTRV9USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFNUMVhfU01fU1RBX1NMUF9FWElUX0NQTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTVDFYX1NNX1NUQV9TTFBfRVhJVF9DUExfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9TTV9TVEFfU0xQX0VYSVRfQ1BMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFNUMVhfU01fU1RBX1NMUF9FWElUX0NQTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFNUMVhfU01fU1RBX1BBVVNFX0NQTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTVDFYX1NNX1NUQV9QQVVTRV9DUExfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9TTV9TVEFfUEFVU0VfQ1BMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFNUMVhfU01fU1RBX1BBVVNFX0NQTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFNUMVhfU01fQ0ZHX1NXX1dBS0VfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBTVDFYX1NNX0NGR19TV19XQUtFX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9TTV9DRkdfU1dfV0FLRV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFNUMVhfU01fQ0ZHX1NXX1dBS0VfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFNUMVhfU01fQ0ZHX0lSUV9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVDFYX1NNX0NGR19JUlFfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9TTV9DRkdfSVJRX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFNUMVhfU01fQ0ZHX0lSUV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFNUMVhfU01fU1RBUlRfVElNRV9TWVNURU1fVElNRV9DTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVDFYX1NNX1NUQVJUX1RJTUVfU1lTVEVNX1RJTUVfQ05UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTgpCisjZGVmaW5lIFNUMVhfU01fU1RBUlRfVElNRV9TWVNURU1fVElNRV9DTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZDKQorCisjZGVmaW5lIFNUMVhfU01fU1dfV0FLRV9DT05fU1dfRVZFTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVDFYX1NNX1NXX1dBS0VfQ09OX1NXX0VWRU5UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1QxWF9TTV9TV19XQUtFX0NPTl9TV19FVkVOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNUMVhfU01fU1dfV0FLRV9DT05fU1dfRVZFTlRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNUMVhfU01fU1RFUF9GUkFDX1NURVBfSU5UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgU1QxWF9TTV9TVEVQX0ZSQUNfU1RFUF9JTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNUMVhfU01fU1RFUF9GUkFDX1NURVBfSU5UX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA3RkMwMDAwKQorCisjZGVmaW5lIFNUMVhfU01fU1RFUF9GUkFDX1NURVBfRlJBQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVDFYX1NNX1NURVBfRlJBQ19TVEVQX0ZSQUNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTgpCisjZGVmaW5lIFNUMVhfU01fU1RFUF9GUkFDX1NURVBfRlJBQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDNGRkZGKQorCisjZGVmaW5lIFNUMVhfU01fU1lTQ05UX0YzMktfSU5UX1NZU0NOVF9GMzJLX0lOVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVDFYX1NNX1NZU0NOVF9GMzJLX0lOVF9TWVNDTlRfRjMyS19JTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFNUMVhfU01fU1lTQ05UX0YzMktfSU5UX1NZU0NOVF9GMzJLX0lOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZGKQorCisjZGVmaW5lIFNUMVhfU01fU1lTQ05UX0YzMktfRlJBQ19TWVNDTlRfRjMyS19GUkFDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVDFYX1NNX1NZU0NOVF9GMzJLX0ZSQUNfU1lTQ05UX0YzMktfRlJBQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMTgpCisjZGVmaW5lIFNUMVhfU01fU1lTQ05UX0YzMktfRlJBQ19TWVNDTlRfRjMyS19GUkFDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDNGRkZGKQorCisjZGVmaW5lIFNUMVhfU01fU1VQRlJNX0YzMktfTF9TVVBGUk1fQ05UX0YzMktfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVDFYX1NNX1NVUEZSTV9GMzJLX0xfU1VQRlJNX0NOVF9GMzJLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFNUMVhfU01fU1VQRlJNX0YzMktfTF9TVVBGUk1fQ05UX0YzMktfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFNUMVhfU01fU1VQRlJNX0YzMktfSF9TVVBGUk1fQ05UX0YzMktfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVDFYX1NNX1NVUEZSTV9GMzJLX0hfU1VQRlJNX0NOVF9GMzJLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgU1QxWF9TTV9TVVBGUk1fRjMyS19IX1NVUEZSTV9DTlRfRjMyS19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgU1QxWF9TTV9TTEVFUF9PRkZTRVRfQ0hJUF9PRkZTRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNUMVhfU01fU0xFRVBfT0ZGU0VUX0NISVBfT0ZGU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgU1QxWF9TTV9TTEVFUF9PRkZTRVRfQ0hJUF9PRkZTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkMpCisKKyNkZWZpbmUgU1QxWF9TTV9USU1FX1NUQVJUX1NNX1RJTUVfU1RBUlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNUMVhfU01fVElNRV9TVEFSVF9TTV9USU1FX1NUQVJUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgU1QxWF9TTV9USU1FX1NUQVJUX1NNX1RJTUVfU1RBUlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkYpCisKKyNkZWZpbmUgU1QxWF9TTV9TVVBGUk1fVElNRV9MX1NUQVJUX1NNX1NVUEZSTV9USU1FX1NUQVJUX0xTQiAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNUMVhfU01fU1VQRlJNX1RJTUVfTF9TVEFSVF9TTV9TVVBGUk1fVElNRV9TVEFSVF9XSURUSCAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgU1QxWF9TTV9TVVBGUk1fVElNRV9MX1NUQVJUX1NNX1NVUEZSTV9USU1FX1NUQVJUX01BU0sgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgU1QxWF9TTV9TVVBGUk1fVElNRV9IX1NUQVJUX1NNX1NVUEZSTV9USU1FX1NUQVJUX0xTQiAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNUMVhfU01fU1VQRlJNX1RJTUVfSF9TVEFSVF9TTV9TVVBGUk1fVElNRV9TVEFSVF9XSURUSCAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBTVDFYX1NNX1NVUEZSTV9USU1FX0hfU1RBUlRfU01fU1VQRlJNX1RJTUVfU1RBUlRfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBTVDFYX1NNX1RJTUVfU0xUQkRfU01fVElNRV9TTFRCRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1QxWF9TTV9USU1FX1NMVEJEX1NNX1RJTUVfU0xUQkRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBTVDFYX1NNX1RJTUVfU0xUQkRfU01fVElNRV9TTFRCRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGRikKKworI2RlZmluZSBTVDFYX1NNX1NVUEZSTV9USU1FX0xfU0xUQkRfU01fU1VQRlJNX1RJTUVfU0xUQkRfTFNCICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1QxWF9TTV9TVVBGUk1fVElNRV9MX1NMVEJEX1NNX1NVUEZSTV9USU1FX1NMVEJEX1dJRFRIICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBTVDFYX1NNX1NVUEZSTV9USU1FX0xfU0xUQkRfU01fU1VQRlJNX1RJTUVfU0xUQkRfTUFTSyAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBTVDFYX1NNX1NVUEZSTV9USU1FX0hfU0xUQkRfU01fU1VQRlJNX1RJTUVfU0xUQkRfTFNCICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1QxWF9TTV9TVVBGUk1fVElNRV9IX1NMVEJEX1NNX1NVUEZSTV9USU1FX1NMVEJEX1dJRFRIICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFNUMVhfU01fU1VQRlJNX1RJTUVfSF9TTFRCRF9TTV9TVVBGUk1fVElNRV9TTFRCRF9NQVNLICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIFNUMVhfU01fVElNRV9XQUtFVVBfU1RBUlRfU01fVElNRV9XQUtFVVBfU1RBUlRfTFNCICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVDFYX1NNX1RJTUVfV0FLRVVQX1NUQVJUX1NNX1RJTUVfV0FLRVVQX1NUQVJUX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFNUMVhfU01fVElNRV9XQUtFVVBfU1RBUlRfU01fVElNRV9XQUtFVVBfU1RBUlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZGKQorCisjZGVmaW5lIFNUMVhfU01fU1VQRlJNX1RJTUVfTF9XQUtFVVBfU1RBUlRfU01fU1VQRlJNX1dBS0VVUF9TVEFSVF9MU0IgICAgICAgICAgICgwKQorI2RlZmluZSBTVDFYX1NNX1NVUEZSTV9USU1FX0xfV0FLRVVQX1NUQVJUX1NNX1NVUEZSTV9XQUtFVVBfU1RBUlRfV0lEVEggICAgICAgICAoMzIpCisjZGVmaW5lIFNUMVhfU01fU1VQRlJNX1RJTUVfTF9XQUtFVVBfU1RBUlRfU01fU1VQRlJNX1dBS0VVUF9TVEFSVF9NQVNLICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFNUMVhfU01fU1VQRlJNX1RJTUVfSF9XQUtFVVBfU1RBUlRfU01fU1VQRlJNX1dBS0VVUF9TVEFSVF9MU0IgICAgICAgICAgICgwKQorI2RlZmluZSBTVDFYX1NNX1NVUEZSTV9USU1FX0hfV0FLRVVQX1NUQVJUX1NNX1NVUEZSTV9XQUtFVVBfU1RBUlRfV0lEVEggICAgICAgICAoNCkKKyNkZWZpbmUgU1QxWF9TTV9TVVBGUk1fVElNRV9IX1dBS0VVUF9TVEFSVF9TTV9TVVBGUk1fV0FLRVVQX1NUQVJUX01BU0sgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgU1QxWF9TTV9GSU5BTF9QQVVTRV9EVVJBVElPTl9GSU5BTF9QQVVTRV9EVVJBVElPTl9MU0IgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNUMVhfU01fRklOQUxfUEFVU0VfRFVSQVRJT05fRklOQUxfUEFVU0VfRFVSQVRJT05fV0lEVEggICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgU1QxWF9TTV9GSU5BTF9QQVVTRV9EVVJBVElPTl9GSU5BTF9QQVVTRV9EVVJBVElPTl9NQVNLICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgU1QxWF9TTV9QUkVTTFBfQ05UX1NNX1BSRVNMUF9DTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNUMVhfU01fUFJFU0xQX0NOVF9TTV9QUkVTTFBfQ05UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTVDFYX1NNX1BSRVNMUF9DTlRfU01fUFJFU0xQX0NOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKworI2RlZmluZSBTVDFYX1NNX1NMVF9TVEFSVF9GMzJLX1NNX1NMVF9TVEFSVF9GMzJLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1QxWF9TTV9TTFRfU1RBUlRfRjMyS19TTV9TTFRfU1RBUlRfRjMyS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFNUMVhfU01fU0xUX1NUQVJUX0YzMktfU01fU0xUX1NUQVJUX0YzMktfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDNGKQorCisjZGVmaW5lIFNUMVhfU01fV0FLRVVQX1NUQVJUX0YzMktfU01fV0FLRVVQX1NUQVJUX0YzMktfTFNCICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVDFYX1NNX1dBS0VVUF9TVEFSVF9GMzJLX1NNX1dBS0VVUF9TVEFSVF9GMzJLX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFNUMVhfU01fV0FLRVVQX1NUQVJUX0YzMktfU01fV0FLRVVQX1NUQVJUX0YzMktfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisKKyNlbmRpZiAvLyNpZm5kZWYgX0NQSF8xWF9SWFNMUF9IXwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaDF4c2NocmVnLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoMXhzY2hyZWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOGM4NjQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaDF4c2NocmVnLmgKQEAgLTAsMCArMSw0NiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiBkZWZpbmVkKF9fTUQ5M19fKQorI2luY2x1ZGUgImNwaDF4c2NocmVnXzkzLmgiCisjZWxpZiBkZWZpbmVkKF9fTUQ5NV9fKQorI2luY2x1ZGUgImNwaDF4c2NocmVnXzk1LmgiCisjZWxpZiBkZWZpbmVkKF9fTUQ5N19fKSB8fCBkZWZpbmVkKF9fTUQ5N1BfXykKKyNpbmNsdWRlICJjcGgxeHNjaHJlZ185Ny5oIgorCisjZWxzZQorI2Vycm9yICJbRVJST1JdIEludmFsaWQgTUQgZ2VuZXJhdGlvbiIKKyNlbmRpZgorCisKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGgxeHNjaHJlZ185My5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaDF4c2NocmVnXzkzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2YzZDJmMwotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGgxeHNjaHJlZ185My5oCkBAIC0wLDAgKzEsNTI5IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfQ1BIXzFYX1NDSF9IXworI2RlZmluZSBfQ1BIXzFYX1NDSF9IXworCisKK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIFNSQU1BRERSOyAgICAgICAgIC8qIFNSQU0gYWRkciBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgU1JBTURBVEE7ICAgICAgICAgLyogU1JBTSBkYXRhIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBBUEJBRERSOyAgICAgICAgICAvKiBBUEIgYWRkciBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIEFQQkRBVEE7ICAgICAgICAgIC8qIEFQQiBkYXRhIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nKiAgQVBCQUREUjMyOyAgICAgICAgLyogQVBCIGFkZHIgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgICBBUEJEQVRBMzI7ICAgICAgICAvKiBBUEIgZGF0YSBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIERQUkFNQUREUjsgICAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSBzaWduZWQgICBzaG9ydCogRFBSQU1BRERSX1M7ICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBEUFJBTURBVEE7ICAgICAgICAvKiBEUFJBTSBkYXRhIGlzIDE2IGJpdHMgKi8KKworCisjZGVmaW5lIFNFQVJDSEVSX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEE3ODgwMDAwKQorCisjZGVmaW5lIFNFQVJDSEVSX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MGI2MCArIDEqNCkKKworCisKKyNkZWZpbmUgU1JfQ1RMMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDAwKSkKKyNkZWZpbmUgU1JfQ09SUl9MRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDA0KSkKKyNkZWZpbmUgU1JfTk9OQ09fUEFTUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDA4KSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDBDKSkKKyNkZWZpbmUgU1JfV0lORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDEwKSkKKyNkZWZpbmUgU1JfRDFfVEhSRVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDE0KSkKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDE4KSkKKyNkZWZpbmUgU1JfT1VUUFVUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDFDKSkKKyNkZWZpbmUgU1JfVFNUX0NUTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDIwKSkKKyNkZWZpbmUgU1JfVFNUX0NUTDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDI0KSkKKyNkZWZpbmUgU1JfQ1RMMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDI4KSkKKyNkZWZpbmUgU1JfU1RBVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDJjKSkKKyNkZWZpbmUgU1JfU01QTF9DTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDMwKSkKKyNkZWZpbmUgU1JfVEhSRVNIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDM0KSkKKyNkZWZpbmUgU1JfV0lOX09GRlNFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDM4KSkKKyNkZWZpbmUgU1JfSU5CVUZfVFNUQ1RMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDNDKSkKKyNkZWZpbmUgU1JfSU5CVUZfVFNUREFUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDQwKSkKKyNkZWZpbmUgU1JfUEVBSzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDQ0KSkKKyNkZWZpbmUgU1JfUEVBSzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDQ4KSkKKyNkZWZpbmUgU1JfUEVBSzMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDRDKSkKKyNkZWZpbmUgU1JfUEVBSzQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDUwKSkKKyNkZWZpbmUgU1JfU1RBUlRfRExZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDU0KSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDU4KSkKKyNkZWZpbmUgU1JfUEFHRV9OVU0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDVDKSkKKyNkZWZpbmUgU1JfREFUQV9DTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDYwKSkKKyNkZWZpbmUgU1JfSUNfRExZX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDY0KSkKKyNkZWZpbmUgU1JfSUNfRExZX0NGRzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDY4KSkKKyNkZWZpbmUgU1JfV0lORF8xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMTEwKSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMTU4KSkKKyNkZWZpbmUgU1JfREFUQV9DTlRfMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMTYwKSkKKyNkZWZpbmUgU1JfV0lORF8yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMjEwKSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMjU4KSkKKyNkZWZpbmUgU1JfREFUQV9DTlRfMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMjYwKSkKKyNkZWZpbmUgU1JfV0lORF8zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMzEwKSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMzU4KSkKKyNkZWZpbmUgU1JfREFUQV9DTlRfMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMzYwKSkKKyNkZWZpbmUgU1JfV0lORF80ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwNDEwKSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwNDU4KSkKKyNkZWZpbmUgU1JfREFUQV9DTlRfNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwNDYwKSkKKyNkZWZpbmUgU1JfV0lORF81ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwNTEwKSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwNTU4KSkKKyNkZWZpbmUgU1JfREFUQV9DTlRfNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwNTYwKSkKKyNkZWZpbmUgU1JfV0lORF82ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwNjEwKSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwNjU4KSkKKyNkZWZpbmUgU1JfREFUQV9DTlRfNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwNjYwKSkKKyNkZWZpbmUgU1JfV0lORF83ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwNzEwKSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwNzU4KSkKKyNkZWZpbmUgU1JfREFUQV9DTlRfNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwNzYwKSkKKyNkZWZpbmUgU1JfV0lORF84ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwODEwKSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwODU4KSkKKyNkZWZpbmUgU1JfREFUQV9DTlRfOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwODYwKSkKKyNkZWZpbmUgU1JfV0lORF85ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwOTEwKSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwOTU4KSkKKyNkZWZpbmUgU1JfREFUQV9DTlRfOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwOTYwKSkKKyNkZWZpbmUgU1JfV0lORF8xMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwYTEwKSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzEwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwYTU4KSkKKyNkZWZpbmUgU1JfREFUQV9DTlRfMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwYTYwKSkKKyNkZWZpbmUgU1JfV0lORF8xMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwYjEwKSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzExICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwYjU4KSkKKyNkZWZpbmUgU1JfREFUQV9DTlRfMTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwYjYwKSkKKworCisjZGVmaW5lIFNSX0NUTDFfT1VUX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgU1JfQ1RMMV9PVVRfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0NUTDFfT1VUX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDMwMDAwKQorCisjZGVmaW5lIFNSX0NUTDFfVEhSRVNIX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgU1JfQ1RMMV9USFJFU0hfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNSX0NUTDFfVEhSRVNIX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorI2RlZmluZSBTUl9DVEwxX1RIUkVTSF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKworI2RlZmluZSBTUl9DVEwxX0NMUl9CVUZfQ05UUlNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIFNSX0NUTDFfQ0xSX0JVRl9DTlRSU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9DVEwxX0NMUl9CVUZfQ05UUlNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKyNkZWZpbmUgU1JfQ1RMMV9DTFJfQlVGX0NOVFJTX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisKKyNkZWZpbmUgU1JfQ1RMMV9UT05FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBTUl9DVEwxX1RPTkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfQ1RMMV9UT05FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisjZGVmaW5lIFNSX0NUTDFfVE9ORV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorCisjZGVmaW5lIFNSX0NUTDFfVENfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTUl9DVEwxX1RDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1JfQ1RMMV9UQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA2MDApCisKKyNkZWZpbmUgU1JfQ1RMMV9BVVhfUElMT1RfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFNSX0NUTDFfQVVYX1BJTE9UX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9DVEwxX0FVWF9QSUxPVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgU1JfQ1RMMV9BVVhfUElMT1RfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgU1JfQ1RMMV9DT0hFUkVOVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFNSX0NUTDFfQ09IRVJFTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9DVEwxX0NPSEVSRU5UX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgU1JfQ1RMMV9DT0hFUkVOVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgU1JfQ1RMMV9GUkVRX0RPTUFJTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFNSX0NUTDFfRlJFUV9ET01BSU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9DVEwxX0ZSRVFfRE9NQUlOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgU1JfQ1RMMV9GUkVRX0RPTUFJTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgU1JfQ1RMMV9MT0FEX1RXT19CVUZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFNSX0NUTDFfTE9BRF9UV09fQlVGX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9DVEwxX0xPQURfVFdPX0JVRl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgU1JfQ1RMMV9MT0FEX1RXT19CVUZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgU1JfQ1RMMV9JTlBVVF9CVUZfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0NUTDFfSU5QVVRfQlVGX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9DVEwxX0lOUFVUX0JVRl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgU1JfQ1RMMV9JTlBVVF9CVUZfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgU1JfQ1RMMV9BQ1FfTU9ERV9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNSX0NUTDFfQUNRX01PREVfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9DVEwxX0FDUV9NT0RFX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgU1JfQ1RMMV9BQ1FfTU9ERV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgU1JfQ1RMMV9JTklUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0NUTDFfSU5JVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9DVEwxX0lOSVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgU1JfQ1RMMV9JTklUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgU1JfQ09SUl9MRU5fRDJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFNSX0NPUlJfTEVOX0QyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTUl9DT1JSX0xFTl9EMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMEZDMCkKKworI2RlZmluZSBTUl9DT1JSX0xFTl9EMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfQ09SUl9MRU5fRDFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFNSX0NPUlJfTEVOX0QxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDNGKQorCisjZGVmaW5lIFNSX05PTkNPX1BBU1NfRDJNU0JfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTUl9OT05DT19QQVNTX0QyTVNCX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgU1JfTk9OQ09fUEFTU19EMk1TQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDFGODApCisKKyNkZWZpbmUgU1JfTk9OQ09fUEFTU19EMkxTQl9PUl9EMU1TQl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFNSX05PTkNPX1BBU1NfRDJMU0JfT1JfRDFNU0JfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9OT05DT19QQVNTX0QyTFNCX09SX0QxTVNCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgU1JfTk9OQ09fUEFTU19EMkxTQl9PUl9EMU1TQl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgU1JfTk9OQ09fUEFTU19EMUxTQl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX05PTkNPX1BBU1NfRDFMU0JfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTUl9OT05DT19QQVNTX0QxTFNCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKworI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIX1FPRl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF9RT0ZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfUU9GX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNjAwKQorCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfTl9QQVJNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIX05fUEFSTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF9OX1BBUk1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxODApCisKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF9GVU5DX05VTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfRlVOQ19OVU1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIX0ZVTkNfTlVNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA3RikKKworI2RlZmluZSBTUl9XSU5EX1NJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfV0lORF9TSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBTUl9XSU5EX1NJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKworI2RlZmluZSBTUl9EMV9USFJFU19DRkdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfRDFfVEhSRVNfQ0ZHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBTUl9EMV9USFJFU19DRkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBTUl9BVVhfT0ZGX1dBTFNIX0NPREVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF9DT0RFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfQ09ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIFNSX09VVFBVVF9XSU5fT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNykKKyNkZWZpbmUgU1JfT1VUUFVUX1dJTl9PRkZTRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNSX09VVFBVVF9XSU5fT0ZGU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAzRkUwMDAwKQorCisjZGVmaW5lIFNSX09VVFBVVF9FX0xfSU5EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgU1JfT1VUUFVUX0VfTF9JTkRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNSX09VVFBVVF9FX0xfSU5EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorI2RlZmluZSBTUl9PVVRQVVRfRV9MX0lORF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKworI2RlZmluZSBTUl9PVVRQVVRfTUVUUklDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfT1VUUFVUX01FVFJJQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBTUl9PVVRQVVRfTUVUUklDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBTUl9UU1RfQ1RMX1RTVF9HT19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgU1JfVFNUX0NUTF9UU1RfR09fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNSX1RTVF9DVExfVFNUX0dPX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBTUl9UU1RfQ1RMX1RTVF9HT19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBTUl9UU1RfQ1RMX1RFU1QzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1JfVFNUX0NUTF9URVNUM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNSX1RTVF9DVExfVEVTVDNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBTUl9UU1RfQ1RMX1RFU1QzX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBTUl9UU1RfQ1RMMl9PQlVGX0FERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgU1JfVFNUX0NUTDJfT0JVRl9BRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNSX1RTVF9DVEwyX09CVUZfQUREUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwRkY4KQorCisjZGVmaW5lIFNSX1RTVF9DVEwyX09CRl9SUFRSX1JTVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTUl9UU1RfQ1RMMl9PQkZfUlBUUl9SU1RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfVFNUX0NUTDJfT0JGX1JQVFJfUlNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFNSX1RTVF9DVEwyX09CRl9SUFRSX1JTVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFNSX1RTVF9DVEwyX0JVRl9FUlJfT0JGX0dFTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9UU1RfQ1RMMl9CVUZfRVJSX09CRl9HRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfVFNUX0NUTDJfQlVGX0VSUl9PQkZfR0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFNSX1RTVF9DVEwyX0JVRl9FUlJfT0JGX0dFTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFNSX1RTVF9DVEwyX1RFU1RfTU9ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9UU1RfQ1RMMl9URVNUX01PREVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfVFNUX0NUTDJfVEVTVF9NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNSX1RTVF9DVEwyX1RFU1RfTU9ERV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNSX0NUTDJfQ0xLX0VOQl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9DVEwyX0NMS19FTkJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfQ1RMMl9DTEtfRU5CX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNSX0NUTDJfQ0xLX0VOQl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNSX1NUQVRfRE9ORV9TVEFUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTUl9TVEFUX0RPTkVfU1RBVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfU1RBVF9ET05FX1NUQVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFNSX1NUQVRfRE9ORV9TVEFUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFNSX1NUQVRfT0JGX1NUQVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9TVEFUX09CRl9TVEFUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfU1RBVF9PQkZfU1RBVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNSX1NUQVRfT0JGX1NUQVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNSX1NNUExfQ05UX1NNUExfQ05UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9TTVBMX0NOVF9TTVBMX0NOVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFNSX1NNUExfQ05UX1NNUExfQ05UX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwM0ZGKQorCisjZGVmaW5lIFNSX1RIUkVTSF9PVVRQVVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9USFJFU0hfT1VUUFVUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFNSX1RIUkVTSF9PVVRQVVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIFNSX1dJTl9PRkZTRVRfQ0ZHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9XSU5fT0ZGU0VUX0NGR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfV0lOX09GRlNFVF9DRkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkUpCisKKyNkZWZpbmUgU1JfV0lOX09GRlNFVF9FX0xfSU5EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1dJTl9PRkZTRVRfRV9MX0lORF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9XSU5fT0ZGU0VUX0VfTF9JTkRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgU1JfV0lOX09GRlNFVF9FX0xfSU5EX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgU1JfSU5CVUZfVFNUQ1RMX1RTVF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBTUl9JTkJVRl9UU1RDVExfVFNUX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfSU5CVUZfVFNUQ1RMX1RTVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisjZGVmaW5lIFNSX0lOQlVGX1RTVENUTF9UU1RfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorCisjZGVmaW5lIFNSX0lOQlVGX1RTVENUTF9UU1RfQUREUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9JTkJVRl9UU1RDVExfVFNUX0FERFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFNSX0lOQlVGX1RTVENUTF9UU1RfQUREUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwN0ZGKQorCisjZGVmaW5lIFNSX0lOQlVGX1RTVERBVF9UU1REQVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9JTkJVRl9UU1REQVRfVFNUREFUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFNSX0lOQlVGX1RTVERBVF9UU1REQVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIFNSX1BFQUsxX1dJTl9PRkZTRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNykKKyNkZWZpbmUgU1JfUEVBSzFfV0lOX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBTUl9QRUFLMV9XSU5fT0ZGU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZFMDAwMCkKKworI2RlZmluZSBTUl9QRUFLMV9FX0xfSU5EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFNSX1BFQUsxX0VfTF9JTkRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9QRUFLMV9FX0xfSU5EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKyNkZWZpbmUgU1JfUEVBSzFfRV9MX0lORF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisKKyNkZWZpbmUgU1JfUEVBSzFfTUVUUklDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1BFQUsxX01FVFJJQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgU1JfUEVBSzFfTUVUUklDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgU1JfUEVBSzJfV0lOX09GRlNFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE3KQorI2RlZmluZSBTUl9QRUFLMl9XSU5fT0ZGU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFNSX1BFQUsyX1dJTl9PRkZTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkUwMDAwKQorCisjZGVmaW5lIFNSX1BFQUsyX0VfTF9JTkRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgU1JfUEVBSzJfRV9MX0lORF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNSX1BFQUsyX0VfTF9JTkRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorI2RlZmluZSBTUl9QRUFLMl9FX0xfSU5EX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKworI2RlZmluZSBTUl9QRUFLMl9NRVRSSUNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfUEVBSzJfTUVUUklDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBTUl9QRUFLMl9NRVRSSUNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBTUl9QRUFLM19XSU5fT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTcpCisjZGVmaW5lIFNSX1BFQUszX1dJTl9PRkZTRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1JfUEVBSzNfV0lOX09GRlNFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRTAwMDApCisKKyNkZWZpbmUgU1JfUEVBSzNfRV9MX0lORF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBTUl9QRUFLM19FX0xfSU5EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfUEVBSzNfRV9MX0lORF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisjZGVmaW5lIFNSX1BFQUszX0VfTF9JTkRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorCisjZGVmaW5lIFNSX1BFQUszX01FVFJJQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9QRUFLM19NRVRSSUNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFNSX1BFQUszX01FVFJJQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIFNSX1BFQUs0X1dJTl9PRkZTRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNykKKyNkZWZpbmUgU1JfUEVBSzRfV0lOX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBTUl9QRUFLNF9XSU5fT0ZGU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZFMDAwMCkKKworI2RlZmluZSBTUl9QRUFLNF9FX0xfSU5EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFNSX1BFQUs0X0VfTF9JTkRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9QRUFLNF9FX0xfSU5EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKyNkZWZpbmUgU1JfUEVBSzRfRV9MX0lORF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisKKyNkZWZpbmUgU1JfUEVBSzRfTUVUUklDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1BFQUs0X01FVFJJQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgU1JfUEVBSzRfTUVUUklDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgU1JfU1RBUlRfRExZX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBTUl9TVEFSVF9ETFlfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfU1RBUlRfRExZX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisjZGVmaW5lIFNSX1NUQVJUX0RMWV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorCisjZGVmaW5lIFNSX1BOX09GRlNFVF9DRkdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9QTl9PRkZTRVRfQ0ZHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFNSX1BOX09GRlNFVF9DRkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIFNSX1BBR0VfTlVNX0NGR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9QQUdFX05VTV9DRkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgU1JfUEFHRV9OVU1fQ0ZHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgU1JfREFUQV9DTlRfUkVBRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0RBVEFfQ05UX1JFQURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTUl9EQVRBX0NOVF9SRUFEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBTUl9JQ19ETFlfQ0ZHX0RMWV9NT0RFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgU1JfSUNfRExZX0NGR19ETFlfTU9ERV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0lDX0RMWV9DRkdfRExZX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEMwKQorCisjZGVmaW5lIFNSX0lDX0RMWV9DRkdfU1JfU0ZUX1JTVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTUl9JQ19ETFlfQ0ZHX1NSX1NGVF9SU1RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfSUNfRExZX0NGR19TUl9TRlRfUlNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFNSX0lDX0RMWV9DRkdfU1JfU0ZUX1JTVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFNSX0lDX0RMWV9DRkdfSUNfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9JQ19ETFlfQ0ZHX0lDX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfSUNfRExZX0NGR19JQ19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFNSX0lDX0RMWV9DRkdfSUNfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFNSX0lDX0RMWV9DRkcxX1NISUZUX0NOVF9TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9JQ19ETFlfQ0ZHMV9TSElGVF9DTlRfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfSUNfRExZX0NGRzFfU0hJRlRfQ05UX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNSX0lDX0RMWV9DRkcxX1NISUZUX0NOVF9TRUxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNSX1dJTkRfMV9TSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9XSU5EXzFfU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFNSX1dJTkRfMV9TSVpFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIFNSX1BOX09GRlNFVF8xX0NGR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9QTl9PRkZTRVRfMV9DRkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFNSX1BOX09GRlNFVF8xX0NGR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIFNSX0RBVEFfQ05UXzFfUkVBRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9EQVRBX0NOVF8xX1JFQURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfREFUQV9DTlRfMV9SRUFEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgU1JfV0lORF8yX1NJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1dJTkRfMl9TSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1JfV0lORF8yX1NJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzJfQ0ZHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1BOX09GRlNFVF8yX0NGR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzJfQ0ZHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgU1JfREFUQV9DTlRfMl9SRUFEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0RBVEFfQ05UXzJfUkVBRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTUl9EQVRBX0NOVF8yX1JFQURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBTUl9XSU5EXzNfU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfV0lORF8zX1NJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBTUl9XSU5EXzNfU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKworI2RlZmluZSBTUl9QTl9PRkZTRVRfM19DRkdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzNfQ0ZHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBTUl9QTl9PRkZTRVRfM19DRkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKworI2RlZmluZSBTUl9EQVRBX0NOVF8zX1JFQURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfREFUQV9DTlRfM19SRUFEX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNSX0RBVEFfQ05UXzNfUkVBRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIFNSX1dJTkRfNF9TSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9XSU5EXzRfU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFNSX1dJTkRfNF9TSVpFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIFNSX1BOX09GRlNFVF80X0NGR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9QTl9PRkZTRVRfNF9DRkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFNSX1BOX09GRlNFVF80X0NGR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIFNSX0RBVEFfQ05UXzRfUkVBRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9EQVRBX0NOVF80X1JFQURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfREFUQV9DTlRfNF9SRUFEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgU1JfV0lORF81X1NJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1dJTkRfNV9TSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1JfV0lORF81X1NJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzVfQ0ZHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1BOX09GRlNFVF81X0NGR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzVfQ0ZHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgU1JfREFUQV9DTlRfNV9SRUFEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0RBVEFfQ05UXzVfUkVBRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTUl9EQVRBX0NOVF81X1JFQURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBTUl9XSU5EXzZfU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfV0lORF82X1NJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBTUl9XSU5EXzZfU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKworI2RlZmluZSBTUl9QTl9PRkZTRVRfNl9DRkdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzZfQ0ZHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBTUl9QTl9PRkZTRVRfNl9DRkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKworI2RlZmluZSBTUl9EQVRBX0NOVF82X1JFQURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfREFUQV9DTlRfNl9SRUFEX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNSX0RBVEFfQ05UXzZfUkVBRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIFNSX1dJTkRfN19TSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9XSU5EXzdfU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFNSX1dJTkRfN19TSVpFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIFNSX1BOX09GRlNFVF83X0NGR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9QTl9PRkZTRVRfN19DRkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFNSX1BOX09GRlNFVF83X0NGR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIFNSX0RBVEFfQ05UXzdfUkVBRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9EQVRBX0NOVF83X1JFQURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfREFUQV9DTlRfN19SRUFEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgU1JfV0lORF84X1NJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1dJTkRfOF9TSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1JfV0lORF84X1NJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzhfQ0ZHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1BOX09GRlNFVF84X0NGR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzhfQ0ZHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgU1JfREFUQV9DTlRfOF9SRUFEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0RBVEFfQ05UXzhfUkVBRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTUl9EQVRBX0NOVF84X1JFQURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBTUl9XSU5EXzlfU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfV0lORF85X1NJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBTUl9XSU5EXzlfU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKworI2RlZmluZSBTUl9QTl9PRkZTRVRfOV9DRkdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzlfQ0ZHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBTUl9QTl9PRkZTRVRfOV9DRkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKworI2RlZmluZSBTUl9EQVRBX0NOVF85X1JFQURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfREFUQV9DTlRfOV9SRUFEX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNSX0RBVEFfQ05UXzlfUkVBRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIFNSX1dJTkRfMTBfU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9XSU5EXzEwX1NJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFNSX1dJTkRfMTBfU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIFNSX1BOX09GRlNFVF8xMF9DRkdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9QTl9PRkZTRVRfMTBfQ0ZHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFNSX1BOX09GRlNFVF8xMF9DRkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIFNSX0RBVEFfQ05UXzEwX1JFQURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9EQVRBX0NOVF8xMF9SRUFEX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfREFUQV9DTlRfMTBfUkVBRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgU1JfV0lORF8xMV9TSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1dJTkRfMTFfU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1JfV0lORF8xMV9TSVpFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzExX0NGR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1BOX09GRlNFVF8xMV9DRkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzExX0NGR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgU1JfREFUQV9DTlRfMTFfUkVBRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0RBVEFfQ05UXzExX1JFQURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTUl9EQVRBX0NOVF8xMV9SRUFEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworCisjZW5kaWYgLy8jaWZuZGVmIF9DUEhfMVhfU0NIX0hfCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoMXhzY2hyZWdfOTUuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGgxeHNjaHJlZ185NS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxNTk3NDkKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoMXhzY2hyZWdfOTUuaApAQCAtMCwwICsxLDc3NSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NQSF8xWF9TQ0hfSF8KKyNkZWZpbmUgX0NQSF8xWF9TQ0hfSF8KKworCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBTUkFNQUREUjsgICAgICAgICAvKiBTUkFNIGFkZHIgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIFNSQU1EQVRBOyAgICAgICAgIC8qIFNSQU0gZGF0YSBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogQVBCQUREUjsgICAgICAgICAgLyogQVBCIGFkZHIgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBBUEJEQVRBOyAgICAgICAgICAvKiBBUEIgZGF0YSBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyogIEFQQkFERFIzMjsgICAgICAgIC8qIEFQQiBhZGRyIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICAgQVBCREFUQTMyOyAgICAgICAgLyogQVBCIGRhdGEgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBEUFJBTUFERFI7ICAgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgc2lnbmVkICAgc2hvcnQqIERQUkFNQUREUl9TOyAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgRFBSQU1EQVRBOyAgICAgICAgLyogRFBSQU0gZGF0YSBpcyAxNiBiaXRzICovCisKKworI2RlZmluZSBTRUFSQ0hFUl9SRUdfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhBNzg1MDAwMCkKKworI2RlZmluZSBTRUFSQ0hFUl9lbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoU0VBUkNIRVJfUkVHX0JBU0UgKyAweDBiNjAgKyAxKjQpCisKKworCisjZGVmaW5lIFNSX0NUTDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDAwMCkpCisjZGVmaW5lIFNSX0NPUlJfTEVOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDAwNCkpCisjZGVmaW5lIFNSX05PTkNPX1BBU1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDAwOCkpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDAwQykpCisjZGVmaW5lIFNSX1dJTkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDAxMCkpCisjZGVmaW5lIFNSX0QxX1RIUkVTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDAxNCkpCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDAxOCkpCisjZGVmaW5lIFNSX09VVFBVVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDAxQykpCisjZGVmaW5lIFNSX1RTVF9DVEwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDAyMCkpCisjZGVmaW5lIFNSX1RTVF9DVEwyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDAyNCkpCisjZGVmaW5lIFNSX0NUTDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDAyOCkpCisjZGVmaW5lIFNSX1NUQVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDAyYykpCisjZGVmaW5lIFNSX1NNUExfQ05UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDAzMCkpCisjZGVmaW5lIFNSX1RIUkVTSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDAzNCkpCisjZGVmaW5lIFNSX1dJTl9PRkZTRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDAzOCkpCisjZGVmaW5lIFNSX0lOQlVGX1RTVENUTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDAzQykpCisjZGVmaW5lIFNSX0lOQlVGX1RTVERBVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDA0MCkpCisjZGVmaW5lIFNSX1BFQUsxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDA0NCkpCisjZGVmaW5lIFNSX1BFQUsyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDA0OCkpCisjZGVmaW5lIFNSX1BFQUszICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDA0QykpCisjZGVmaW5lIFNSX1BFQUs0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDA1MCkpCisjZGVmaW5lIFNSX1NUQVJUX0RMWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDA1NCkpCisjZGVmaW5lIFNSX1BOX09GRlNFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDA1OCkpCisjZGVmaW5lIFNSX1BBR0VfTlVNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDA1QykpCisjZGVmaW5lIFNSX0RBVEFfQ05UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDA2MCkpCisjZGVmaW5lIFNSX0lDX0RMWV9DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDA2NCkpCisjZGVmaW5lIFNSX0lDX0RMWV9DRkcxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDA2OCkpCisjZGVmaW5lIFNSX0lDX0RMWV9DRkcyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDA2YykpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDEwQykpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDIwQykpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDMwQykpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDQwQykpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDUwQykpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDYwQykpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDcwQykpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDgwQykpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDkwQykpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MEEwQykpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfMTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MEIwQykpCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDExOCkpCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDIxOCkpCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDMxOCkpCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDQxOCkpCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDUxOCkpCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDYxOCkpCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDcxOCkpCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDgxOCkpCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDkxOCkpCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MEExOCkpCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfMTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MEIxOCkpCisjZGVmaW5lIFNSX1dJTkRfMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDExMCkpCisjZGVmaW5lIFNSX1BOX09GRlNFVF8xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDE1OCkpCisjZGVmaW5lIFNSX0RBVEFfQ05UXzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDE2MCkpCisjZGVmaW5lIFNSX1dJTkRfMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDIxMCkpCisjZGVmaW5lIFNSX1BOX09GRlNFVF8yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDI1OCkpCisjZGVmaW5lIFNSX0RBVEFfQ05UXzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDI2MCkpCisjZGVmaW5lIFNSX1dJTkRfMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDMxMCkpCisjZGVmaW5lIFNSX1BOX09GRlNFVF8zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDM1OCkpCisjZGVmaW5lIFNSX0RBVEFfQ05UXzMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDM2MCkpCisjZGVmaW5lIFNSX1dJTkRfNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDQxMCkpCisjZGVmaW5lIFNSX1BOX09GRlNFVF80ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDQ1OCkpCisjZGVmaW5lIFNSX0RBVEFfQ05UXzQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDQ2MCkpCisjZGVmaW5lIFNSX1dJTkRfNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDUxMCkpCisjZGVmaW5lIFNSX1BOX09GRlNFVF81ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDU1OCkpCisjZGVmaW5lIFNSX0RBVEFfQ05UXzUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDU2MCkpCisjZGVmaW5lIFNSX1dJTkRfNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDYxMCkpCisjZGVmaW5lIFNSX1BOX09GRlNFVF82ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDY1OCkpCisjZGVmaW5lIFNSX0RBVEFfQ05UXzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDY2MCkpCisjZGVmaW5lIFNSX1dJTkRfNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDcxMCkpCisjZGVmaW5lIFNSX1BOX09GRlNFVF83ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDc1OCkpCisjZGVmaW5lIFNSX0RBVEFfQ05UXzcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDc2MCkpCisjZGVmaW5lIFNSX1dJTkRfOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDgxMCkpCisjZGVmaW5lIFNSX1BOX09GRlNFVF84ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDg1OCkpCisjZGVmaW5lIFNSX0RBVEFfQ05UXzggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDg2MCkpCisjZGVmaW5lIFNSX1dJTkRfOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDkxMCkpCisjZGVmaW5lIFNSX1BOX09GRlNFVF85ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDk1OCkpCisjZGVmaW5lIFNSX0RBVEFfQ05UXzkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MDk2MCkpCisjZGVmaW5lIFNSX1dJTkRfMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MGExMCkpCisjZGVmaW5lIFNSX1BOX09GRlNFVF8xMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MGE1OCkpCisjZGVmaW5lIFNSX0RBVEFfQ05UXzEwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MGE2MCkpCisjZGVmaW5lIFNSX1dJTkRfMTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MGIxMCkpCisjZGVmaW5lIFNSX1BOX09GRlNFVF8xMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MGI1OCkpCisjZGVmaW5lIFNSX0RBVEFfQ05UXzExICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MGI2MCkpCisKKworI2RlZmluZSBTUl9DVEwxX09VVF9TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFNSX0NUTDFfT1VUX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTUl9DVEwxX09VVF9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAzMDAwMCkKKworI2RlZmluZSBTUl9DVEwxX1RIUkVTSF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIFNSX0NUTDFfVEhSRVNIX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9DVEwxX1RIUkVTSF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKyNkZWZpbmUgU1JfQ1RMMV9USFJFU0hfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisKKyNkZWZpbmUgU1JfQ1RMMV9DTFJfQlVGX0NOVFJTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBTUl9DVEwxX0NMUl9CVUZfQ05UUlNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfQ1RMMV9DTFJfQlVGX0NOVFJTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisjZGVmaW5lIFNSX0NUTDFfQ0xSX0JVRl9DTlRSU19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorCisjZGVmaW5lIFNSX0NUTDFfVE9ORV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgU1JfQ1RMMV9UT05FX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNSX0NUTDFfVE9ORV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorI2RlZmluZSBTUl9DVEwxX1RPTkVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKworI2RlZmluZSBTUl9DVEwxX1RDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfQ1RMMV9UQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0NUTDFfVENfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNjAwKQorCisjZGVmaW5lIFNSX0NUTDFfQVVYX1BJTE9UX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTUl9DVEwxX0FVWF9QSUxPVF9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfQ1RMMV9BVVhfUElMT1RfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFNSX0NUTDFfQVVYX1BJTE9UX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFNSX0NUTDFfQ09IRVJFTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTUl9DVEwxX0NPSEVSRU5UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfQ1RMMV9DT0hFUkVOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFNSX0NUTDFfQ09IRVJFTlRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFNSX0NUTDFfRlJFUV9ET01BSU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBTUl9DVEwxX0ZSRVFfRE9NQUlOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfQ1RMMV9GUkVRX0RPTUFJTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFNSX0NUTDFfRlJFUV9ET01BSU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFNSX0NUTDFfTE9BRF9UV09fQlVGX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBTUl9DVEwxX0xPQURfVFdPX0JVRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfQ1RMMV9MT0FEX1RXT19CVUZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFNSX0NUTDFfTE9BRF9UV09fQlVGX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFNSX0NUTDFfSU5QVVRfQlVGX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTUl9DVEwxX0lOUFVUX0JVRl9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfQ1RMMV9JTlBVVF9CVUZfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFNSX0NUTDFfSU5QVVRfQlVGX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFNSX0NUTDFfQUNRX01PREVfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9DVEwxX0FDUV9NT0RFX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfQ1RMMV9BQ1FfTU9ERV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFNSX0NUTDFfQUNRX01PREVfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFNSX0NUTDFfSU5JVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9DVEwxX0lOSVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfQ1RMMV9JTklUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNSX0NUTDFfSU5JVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNSX0NPUlJfTEVOX0QyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTUl9DT1JSX0xFTl9EMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgU1JfQ09SUl9MRU5fRDJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDBGQzApCisKKyNkZWZpbmUgU1JfQ09SUl9MRU5fRDFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0NPUlJfTEVOX0QxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTUl9DT1JSX0xFTl9EMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKworI2RlZmluZSBTUl9OT05DT19QQVNTX0QyTVNCX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgU1JfTk9OQ09fUEFTU19EMk1TQl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFNSX05PTkNPX1BBU1NfRDJNU0JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRjgwKQorCisjZGVmaW5lIFNSX05PTkNPX1BBU1NfRDJMU0JfT1JfRDFNU0JfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTUl9OT05DT19QQVNTX0QyTFNCX09SX0QxTVNCX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfTk9OQ09fUEFTU19EMkxTQl9PUl9EMU1TQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFNSX05PTkNPX1BBU1NfRDJMU0JfT1JfRDFNU0JfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFNSX05PTkNPX1BBU1NfRDFMU0JfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9OT05DT19QQVNTX0QxTFNCX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgU1JfTk9OQ09fUEFTU19EMUxTQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF9RT0ZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfUU9GX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIX1FPRl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDYwMCkKKworI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIX05fUEFSTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF9OX1BBUk1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfTl9QQVJNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTgwKQorCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfRlVOQ19OVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIX0ZVTkNfTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF9GVU5DX05VTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwN0YpCisKKyNkZWZpbmUgU1JfV0lORF9TSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1dJTkRfU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1JfV0lORF9TSVpFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgU1JfRDFfVEhSRVNfQ0ZHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0QxX1RIUkVTX0NGR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgU1JfRDFfVEhSRVNfQ0ZHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF9DT0RFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfQ09ERV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTUl9BVVhfT0ZGX1dBTFNIX0NPREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBTUl9PVVRQVVRfV0lOX09GRlNFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTcpCisjZGVmaW5lIFNSX09VVFBVVF9XSU5fT0ZGU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTUl9PVVRQVVRfV0lOX09GRlNFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwM0ZFMDAwMCkKKworI2RlZmluZSBTUl9PVVRQVVRfRV9MX0lORF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFNSX09VVFBVVF9FX0xfSU5EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9PVVRQVVRfRV9MX0lORF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKyNkZWZpbmUgU1JfT1VUUFVUX0VfTF9JTkRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisKKyNkZWZpbmUgU1JfT1VUUFVUX01FVFJJQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX09VVFBVVF9NRVRSSUNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgU1JfT1VUUFVUX01FVFJJQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgU1JfVFNUX0NUTF9UU1RfR09fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFNSX1RTVF9DVExfVFNUX0dPX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9UU1RfQ1RMX1RTVF9HT19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgU1JfVFNUX0NUTF9UU1RfR09fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgU1JfVFNUX0NUTF9URVNUM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX1RTVF9DVExfVEVTVDNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9UU1RfQ1RMX1RFU1QzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgU1JfVFNUX0NUTF9URVNUM19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgU1JfVFNUX0NUTF9OT1RfU1RPUF9NT0RFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1RTVF9DVExfTk9UX1NUT1BfTU9ERV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9UU1RfQ1RMX05PVF9TVE9QX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgU1JfVFNUX0NUTF9OT1RfU1RPUF9NT0RFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNSX1RTVF9DVEwyX09CVUZfQUREUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBTUl9UU1RfQ1RMMl9PQlVGX0FERFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfVFNUX0NUTDJfT0JVRl9BRERSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDBGRjgpCisKKyNkZWZpbmUgU1JfVFNUX0NUTDJfT0JGX1JQVFJfUlNUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX1RTVF9DVEwyX09CRl9SUFRSX1JTVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9UU1RfQ1RMMl9PQkZfUlBUUl9SU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgU1JfVFNUX0NUTDJfT0JGX1JQVFJfUlNUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgU1JfVFNUX0NUTDJfQlVGX0VSUl9PQkZfR0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNSX1RTVF9DVEwyX0JVRl9FUlJfT0JGX0dFTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9UU1RfQ1RMMl9CVUZfRVJSX09CRl9HRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgU1JfVFNUX0NUTDJfQlVGX0VSUl9PQkZfR0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgU1JfVFNUX0NUTDJfVEVTVF9NT0RFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1RTVF9DVEwyX1RFU1RfTU9ERV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9UU1RfQ1RMMl9URVNUX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgU1JfVFNUX0NUTDJfVEVTVF9NT0RFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgU1JfQ1RMMl9DTEtfRU5CX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0NUTDJfQ0xLX0VOQl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9DVEwyX0NMS19FTkJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgU1JfQ1RMMl9DTEtfRU5CX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgU1JfU1RBVF9ET05FX1NUQVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX1NUQVRfRE9ORV9TVEFUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9TVEFUX0RPTkVfU1RBVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgU1JfU1RBVF9ET05FX1NUQVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgU1JfU1RBVF9PQkZfU1RBVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1NUQVRfT0JGX1NUQVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9TVEFUX09CRl9TVEFUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgU1JfU1RBVF9PQkZfU1RBVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgU1JfU01QTF9DTlRfU01QTF9DTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1NNUExfQ05UX1NNUExfQ05UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgU1JfU01QTF9DTlRfU01QTF9DTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgU1JfVEhSRVNIX09VVFBVVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1RIUkVTSF9PVVRQVVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgU1JfVEhSRVNIX09VVFBVVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgU1JfV0lOX09GRlNFVF9DRkdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNSX1dJTl9PRkZTRVRfQ0ZHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTUl9XSU5fT0ZGU0VUX0NGR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGRSkKKworI2RlZmluZSBTUl9XSU5fT0ZGU0VUX0VfTF9JTkRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfV0lOX09GRlNFVF9FX0xfSU5EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNSX1dJTl9PRkZTRVRfRV9MX0lORF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBTUl9XSU5fT0ZGU0VUX0VfTF9JTkRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBTUl9JTkJVRl9UU1RDVExfVFNUX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFNSX0lOQlVGX1RTVENUTF9UU1RfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9JTkJVRl9UU1RDVExfVFNUX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgU1JfSU5CVUZfVFNUQ1RMX1RTVF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisKKyNkZWZpbmUgU1JfSU5CVUZfVFNUQ1RMX1RTVF9BRERSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0lOQlVGX1RTVENUTF9UU1RfQUREUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgU1JfSU5CVUZfVFNUQ1RMX1RTVF9BRERSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA3RkYpCisKKyNkZWZpbmUgU1JfSU5CVUZfVFNUREFUX1RTVERBVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0lOQlVGX1RTVERBVF9UU1REQVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgU1JfSU5CVUZfVFNUREFUX1RTVERBVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgU1JfUEVBSzFfV0lOX09GRlNFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE3KQorI2RlZmluZSBTUl9QRUFLMV9XSU5fT0ZGU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFNSX1BFQUsxX1dJTl9PRkZTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkUwMDAwKQorCisjZGVmaW5lIFNSX1BFQUsxX0VfTF9JTkRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgU1JfUEVBSzFfRV9MX0lORF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNSX1BFQUsxX0VfTF9JTkRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorI2RlZmluZSBTUl9QRUFLMV9FX0xfSU5EX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKworI2RlZmluZSBTUl9QRUFLMV9NRVRSSUNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfUEVBSzFfTUVUUklDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBTUl9QRUFLMV9NRVRSSUNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBTUl9QRUFLMl9XSU5fT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTcpCisjZGVmaW5lIFNSX1BFQUsyX1dJTl9PRkZTRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1JfUEVBSzJfV0lOX09GRlNFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRTAwMDApCisKKyNkZWZpbmUgU1JfUEVBSzJfRV9MX0lORF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBTUl9QRUFLMl9FX0xfSU5EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfUEVBSzJfRV9MX0lORF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisjZGVmaW5lIFNSX1BFQUsyX0VfTF9JTkRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorCisjZGVmaW5lIFNSX1BFQUsyX01FVFJJQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9QRUFLMl9NRVRSSUNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFNSX1BFQUsyX01FVFJJQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIFNSX1BFQUszX1dJTl9PRkZTRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNykKKyNkZWZpbmUgU1JfUEVBSzNfV0lOX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBTUl9QRUFLM19XSU5fT0ZGU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZFMDAwMCkKKworI2RlZmluZSBTUl9QRUFLM19FX0xfSU5EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFNSX1BFQUszX0VfTF9JTkRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9QRUFLM19FX0xfSU5EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKyNkZWZpbmUgU1JfUEVBSzNfRV9MX0lORF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisKKyNkZWZpbmUgU1JfUEVBSzNfTUVUUklDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1BFQUszX01FVFJJQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgU1JfUEVBSzNfTUVUUklDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgU1JfUEVBSzRfV0lOX09GRlNFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE3KQorI2RlZmluZSBTUl9QRUFLNF9XSU5fT0ZGU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFNSX1BFQUs0X1dJTl9PRkZTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkUwMDAwKQorCisjZGVmaW5lIFNSX1BFQUs0X0VfTF9JTkRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgU1JfUEVBSzRfRV9MX0lORF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNSX1BFQUs0X0VfTF9JTkRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorI2RlZmluZSBTUl9QRUFLNF9FX0xfSU5EX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKworI2RlZmluZSBTUl9QRUFLNF9NRVRSSUNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfUEVBSzRfTUVUUklDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBTUl9QRUFLNF9NRVRSSUNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBTUl9TVEFSVF9ETFlfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFNSX1NUQVJUX0RMWV9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9TVEFSVF9ETFlfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMCkKKyNkZWZpbmUgU1JfU1RBUlRfRExZX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUX0NGR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1BOX09GRlNFVF9DRkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUX0NGR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgU1JfUEFHRV9OVU1fQ0ZHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1BBR0VfTlVNX0NGR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBTUl9QQUdFX05VTV9DRkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBTUl9EQVRBX0NOVF9SRUFEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfREFUQV9DTlRfUkVBRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNSX0RBVEFfQ05UX1JFQURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIFNSX0lDX0RMWV9DRkdfU1JfU0ZUX1JTVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTUl9JQ19ETFlfQ0ZHX1NSX1NGVF9SU1RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfSUNfRExZX0NGR19TUl9TRlRfUlNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFNSX0lDX0RMWV9DRkdfU1JfU0ZUX1JTVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFNSX0lDX0RMWV9DRkdfSUNfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9JQ19ETFlfQ0ZHX0lDX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfSUNfRExZX0NGR19JQ19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFNSX0lDX0RMWV9DRkdfSUNfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFNSX0lDX0RMWV9DRkdfRExZX01PREVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9JQ19ETFlfQ0ZHX0RMWV9NT0RFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfSUNfRExZX0NGR19ETFlfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNSX0lDX0RMWV9DRkdfRExZX01PREVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNSX0lDX0RMWV9DRkcxX1NSX0JVRkZfUkFERFJfSU5JMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgU1JfSUNfRExZX0NGRzFfU1JfQlVGRl9SQUREUl9JTkkxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNSX0lDX0RMWV9DRkcxX1NSX0JVRkZfUkFERFJfSU5JMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAxRkYwMDAwKQorCisjZGVmaW5lIFNSX0lDX0RMWV9DRkcxX1NSX0JVRkZfUkFERFJfSU5JMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTUl9JQ19ETFlfQ0ZHMV9TUl9CVUZGX1JBRERSX0lOSTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfSUNfRExZX0NGRzFfU1JfQlVGRl9SQUREUl9JTkkwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGODApCisKKyNkZWZpbmUgU1JfSUNfRExZX0NGRzFfU0hJRlRfQ05UX0lOSTNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFNSX0lDX0RMWV9DRkcxX1NISUZUX0NOVF9JTkkzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTUl9JQ19ETFlfQ0ZHMV9TSElGVF9DTlRfSU5JM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA2MCkKKworI2RlZmluZSBTUl9JQ19ETFlfQ0ZHMV9TSElGVF9DTlRfSU5JMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgU1JfSUNfRExZX0NGRzFfU0hJRlRfQ05UX0lOSTJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0lDX0RMWV9DRkcxX1NISUZUX0NOVF9JTkkyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDE4KQorCisjZGVmaW5lIFNSX0lDX0RMWV9DRkcxX1NISUZUX0NOVF9JTkkxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9JQ19ETFlfQ0ZHMV9TSElGVF9DTlRfSU5JMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1JfSUNfRExZX0NGRzFfU0hJRlRfQ05UX0lOSTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDYpCisjZGVmaW5lIFNSX0lDX0RMWV9DRkcxX1NISUZUX0NOVF9TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9JQ19ETFlfQ0ZHMV9TSElGVF9DTlRfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfSUNfRExZX0NGRzFfU0hJRlRfQ05UX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNSX0lDX0RMWV9DRkcxX1NISUZUX0NOVF9TRUxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNSX0lDX0RMWV9DRkcyX1NISUZUX0NOVF9JTklfTERfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgU1JfSUNfRExZX0NGRzJfU0hJRlRfQ05UX0lOSV9MRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNSX0lDX0RMWV9DRkcyX1NISUZUX0NOVF9JTklfTERfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBTUl9JQ19ETFlfQ0ZHMl9TSElGVF9DTlRfSU5JX0xEX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBTUl9JQ19ETFlfQ0ZHMl9NVVhfU1JFTl9TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgU1JfSUNfRExZX0NGRzJfTVVYX1NSRU5fU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFNSX0lDX0RMWV9DRkcyX01VWF9TUkVOX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwM0UwKQorCisjZGVmaW5lIFNSX0lDX0RMWV9DRkcyX0lDX1BMVVNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBTUl9JQ19ETFlfQ0ZHMl9JQ19QTFVTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfSUNfRExZX0NGRzJfSUNfUExVU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFNSX0lDX0RMWV9DRkcyX0lDX1BMVVNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFNSX0lDX0RMWV9DRkcyX1NNUExfUlBIX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTUl9JQ19ETFlfQ0ZHMl9TTVBMX1JQSF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1JfSUNfRExZX0NGRzJfU01QTF9SUEhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEMpCisKKyNkZWZpbmUgU1JfSUNfRExZX0NGRzJfU01QTF9XUEhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0lDX0RMWV9DRkcyX1NNUExfV1BIX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTUl9JQ19ETFlfQ0ZHMl9TTVBMX1dQSF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMykKKworI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzFfUU9GX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF8xX1FPRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfMV9RT0ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNjAwKQorCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfMV9OX1BBUk1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzFfTl9QQVJNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF8xX05fUEFSTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxODApCisKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF8xX0ZVTkNfTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfMV9GVU5DX05VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzFfRlVOQ19OVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA3RikKKworI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzJfUU9GX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF8yX1FPRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfMl9RT0ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNjAwKQorCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfMl9OX1BBUk1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzJfTl9QQVJNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF8yX05fUEFSTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxODApCisKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF8yX0ZVTkNfTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfMl9GVU5DX05VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzJfRlVOQ19OVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA3RikKKworI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzNfUU9GX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF8zX1FPRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfM19RT0ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNjAwKQorCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfM19OX1BBUk1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzNfTl9QQVJNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF8zX05fUEFSTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxODApCisKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF8zX0ZVTkNfTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfM19GVU5DX05VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzNfRlVOQ19OVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA3RikKKworI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzRfUU9GX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF80X1FPRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfNF9RT0ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNjAwKQorCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfNF9OX1BBUk1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzRfTl9QQVJNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF80X05fUEFSTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxODApCisKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF80X0ZVTkNfTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfNF9GVU5DX05VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzRfRlVOQ19OVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA3RikKKworI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzVfUU9GX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF81X1FPRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfNV9RT0ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNjAwKQorCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfNV9OX1BBUk1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzVfTl9QQVJNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF81X05fUEFSTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxODApCisKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF81X0ZVTkNfTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfNV9GVU5DX05VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzVfRlVOQ19OVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA3RikKKworI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzZfUU9GX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF82X1FPRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfNl9RT0ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNjAwKQorCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfNl9OX1BBUk1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzZfTl9QQVJNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF82X05fUEFSTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxODApCisKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF82X0ZVTkNfTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfNl9GVU5DX05VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzZfRlVOQ19OVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA3RikKKworI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzdfUU9GX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF83X1FPRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfN19RT0ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNjAwKQorCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfN19OX1BBUk1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzdfTl9QQVJNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF83X05fUEFSTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxODApCisKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF83X0ZVTkNfTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfN19GVU5DX05VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzdfRlVOQ19OVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA3RikKKworI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzhfUU9GX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF84X1FPRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfOF9RT0ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNjAwKQorCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfOF9OX1BBUk1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzhfTl9QQVJNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF84X05fUEFSTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxODApCisKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF84X0ZVTkNfTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfOF9GVU5DX05VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzhfRlVOQ19OVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA3RikKKworI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzlfUU9GX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF85X1FPRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfOV9RT0ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNjAwKQorCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfOV9OX1BBUk1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzlfTl9QQVJNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF85X05fUEFSTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxODApCisKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF85X0ZVTkNfTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfOV9GVU5DX05VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzlfRlVOQ19OVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA3RikKKworI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzEwX1FPRl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF8xMF9RT0ZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfMTBfUU9GX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNjAwKQorCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfMTBfTl9QQVJNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzEwX05fUEFSTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF8xMF9OX1BBUk1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxODApCisKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF8xMF9GVU5DX05VTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfMTBfRlVOQ19OVU1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzEwX0ZVTkNfTlVNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA3RikKKworI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzExX1FPRl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF8xMV9RT0ZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfMTFfUU9GX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNjAwKQorCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfMTFfTl9QQVJNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzExX05fUEFSTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF8xMV9OX1BBUk1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxODApCisKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF8xMV9GVU5DX05VTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfMTFfRlVOQ19OVU1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzExX0ZVTkNfTlVNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA3RikKKworI2RlZmluZSBTUl9BVVhfT0ZGX1dBTFNIXzFfQ09ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF8xX0NPREVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfMV9DT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF8yX0NPREVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfMl9DT0RFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTUl9BVVhfT0ZGX1dBTFNIXzJfQ09ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBTUl9BVVhfT0ZGX1dBTFNIXzNfQ09ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF8zX0NPREVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfM19DT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfNF9DT0RFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9BVVhfT0ZGX1dBTFNIXzRfQ09ERV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF80X0NPREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF81X0NPREVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfNV9DT0RFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTUl9BVVhfT0ZGX1dBTFNIXzVfQ09ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBTUl9BVVhfT0ZGX1dBTFNIXzZfQ09ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF82X0NPREVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfNl9DT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfN19DT0RFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9BVVhfT0ZGX1dBTFNIXzdfQ09ERV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF83X0NPREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF84X0NPREVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfOF9DT0RFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTUl9BVVhfT0ZGX1dBTFNIXzhfQ09ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBTUl9BVVhfT0ZGX1dBTFNIXzlfQ09ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF85X0NPREVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfOV9DT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfMTBfQ09ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9BVVhfT0ZGX1dBTFNIXzEwX0NPREVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF8xMF9DT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF8xMV9DT0RFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfMTFfQ09ERV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTUl9BVVhfT0ZGX1dBTFNIXzExX0NPREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBTUl9XSU5EXzFfU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfV0lORF8xX1NJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBTUl9XSU5EXzFfU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKworI2RlZmluZSBTUl9QTl9PRkZTRVRfMV9DRkdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzFfQ0ZHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBTUl9QTl9PRkZTRVRfMV9DRkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKworI2RlZmluZSBTUl9EQVRBX0NOVF8xX1JFQURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfREFUQV9DTlRfMV9SRUFEX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNSX0RBVEFfQ05UXzFfUkVBRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIFNSX1dJTkRfMl9TSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9XSU5EXzJfU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFNSX1dJTkRfMl9TSVpFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIFNSX1BOX09GRlNFVF8yX0NGR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9QTl9PRkZTRVRfMl9DRkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFNSX1BOX09GRlNFVF8yX0NGR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIFNSX0RBVEFfQ05UXzJfUkVBRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9EQVRBX0NOVF8yX1JFQURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfREFUQV9DTlRfMl9SRUFEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgU1JfV0lORF8zX1NJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1dJTkRfM19TSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1JfV0lORF8zX1NJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzNfQ0ZHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1BOX09GRlNFVF8zX0NGR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzNfQ0ZHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgU1JfREFUQV9DTlRfM19SRUFEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0RBVEFfQ05UXzNfUkVBRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTUl9EQVRBX0NOVF8zX1JFQURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBTUl9XSU5EXzRfU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfV0lORF80X1NJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBTUl9XSU5EXzRfU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKworI2RlZmluZSBTUl9QTl9PRkZTRVRfNF9DRkdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzRfQ0ZHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBTUl9QTl9PRkZTRVRfNF9DRkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKworI2RlZmluZSBTUl9EQVRBX0NOVF80X1JFQURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfREFUQV9DTlRfNF9SRUFEX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNSX0RBVEFfQ05UXzRfUkVBRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIFNSX1dJTkRfNV9TSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9XSU5EXzVfU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFNSX1dJTkRfNV9TSVpFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIFNSX1BOX09GRlNFVF81X0NGR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9QTl9PRkZTRVRfNV9DRkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFNSX1BOX09GRlNFVF81X0NGR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIFNSX0RBVEFfQ05UXzVfUkVBRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9EQVRBX0NOVF81X1JFQURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfREFUQV9DTlRfNV9SRUFEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgU1JfV0lORF82X1NJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1dJTkRfNl9TSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1JfV0lORF82X1NJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzZfQ0ZHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1BOX09GRlNFVF82X0NGR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzZfQ0ZHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgU1JfREFUQV9DTlRfNl9SRUFEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0RBVEFfQ05UXzZfUkVBRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTUl9EQVRBX0NOVF82X1JFQURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBTUl9XSU5EXzdfU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfV0lORF83X1NJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBTUl9XSU5EXzdfU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKworI2RlZmluZSBTUl9QTl9PRkZTRVRfN19DRkdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzdfQ0ZHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBTUl9QTl9PRkZTRVRfN19DRkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKworI2RlZmluZSBTUl9EQVRBX0NOVF83X1JFQURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfREFUQV9DTlRfN19SRUFEX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNSX0RBVEFfQ05UXzdfUkVBRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIFNSX1dJTkRfOF9TSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9XSU5EXzhfU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFNSX1dJTkRfOF9TSVpFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIFNSX1BOX09GRlNFVF84X0NGR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9QTl9PRkZTRVRfOF9DRkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFNSX1BOX09GRlNFVF84X0NGR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIFNSX0RBVEFfQ05UXzhfUkVBRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9EQVRBX0NOVF84X1JFQURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfREFUQV9DTlRfOF9SRUFEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgU1JfV0lORF85X1NJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1dJTkRfOV9TSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1JfV0lORF85X1NJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzlfQ0ZHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1BOX09GRlNFVF85X0NGR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzlfQ0ZHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgU1JfREFUQV9DTlRfOV9SRUFEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0RBVEFfQ05UXzlfUkVBRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTUl9EQVRBX0NOVF85X1JFQURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBTUl9XSU5EXzEwX1NJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfV0lORF8xMF9TSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBTUl9XSU5EXzEwX1NJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKworI2RlZmluZSBTUl9QTl9PRkZTRVRfMTBfQ0ZHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzEwX0NGR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBTUl9QTl9PRkZTRVRfMTBfQ0ZHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKworI2RlZmluZSBTUl9EQVRBX0NOVF8xMF9SRUFEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfREFUQV9DTlRfMTBfUkVBRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNSX0RBVEFfQ05UXzEwX1JFQURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIFNSX1dJTkRfMTFfU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9XSU5EXzExX1NJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFNSX1dJTkRfMTFfU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIFNSX1BOX09GRlNFVF8xMV9DRkdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9QTl9PRkZTRVRfMTFfQ0ZHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFNSX1BOX09GRlNFVF8xMV9DRkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIFNSX0RBVEFfQ05UXzExX1JFQURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9EQVRBX0NOVF8xMV9SRUFEX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfREFUQV9DTlRfMTFfUkVBRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKworI2VuZGlmIC8vI2lmbmRlZiBfQ1BIXzFYX1NDSF9IXwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaDF4c2NocmVnXzk3LmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoMXhzY2hyZWdfOTcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZjQ3YWU3Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaDF4c2NocmVnXzk3LmgKQEAgLTAsMCArMSw3ODEgQEAKKy8qCisgICAgICAgOTcgMXhzY2hyZWcKKyAgICAgICBhdXRob3I6IGF1YnJleSB3YW5nCisgICAgICAgZGF0YToyMDE4LjQuMjUKKyovCisgICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICAgKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyAgICAqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorICAgICogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisgICAgKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisgICAgKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisgICAgKgorICAgICogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworICAgICogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisgICAgKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyAgICAqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyAgICAqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorICAgICogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorICAgICogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyAgICAqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyAgICAqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorICAgICogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworICAgICogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworICAgICogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyAgICAqCisgICAgKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorICAgICogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorICAgICogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisgICAgKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworICAgICogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorICAgICoKKyAgICAqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorICAgICogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorICAgICogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorICAgICogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorICAgICogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorICAgICoKKyAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NQSF8xWF9TQ0hfSF8KKyNkZWZpbmUgX0NQSF8xWF9TQ0hfSF8KKyAgICAKKyAgICAKKyAgICB0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBTUkFNQUREUjsgICAgICAgICAvKiBTUkFNIGFkZHIgaXMgMTYgYml0cyAgKi8KKyAgICB0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBTUkFNREFUQTsgICAgICAgICAvKiBTUkFNIGRhdGEgaXMgMTYgYml0cyAgKi8KKyAgICB0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBBUEJBRERSOyAgICAgICAgICAvKiBBUEIgYWRkciBpcyAxNiBiaXRzICAgKi8KKyAgICB0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBBUEJEQVRBOyAgICAgICAgICAvKiBBUEIgZGF0YSBpcyAxNiBiaXRzICAgKi8KKyAgICB0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqICBBUEJBRERSMzI7ICAgICAgICAvKiBBUEIgYWRkciBpcyAzMiBiaXRzICAgKi8KKyAgICB0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgICBBUEJEQVRBMzI7ICAgICAgICAvKiBBUEIgZGF0YSBpcyAzMiBiaXRzICAgKi8KKyAgICB0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBEUFJBTUFERFI7ICAgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KKyAgICB0eXBlZGVmIHZvbGF0aWxlIHNpZ25lZCAgIHNob3J0KiBEUFJBTUFERFJfUzsgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KKyAgICB0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBEUFJBTURBVEE7ICAgICAgICAvKiBEUFJBTSBkYXRhIGlzIDE2IGJpdHMgKi8KKyAgICAKKyAgICAKKyNkZWZpbmUgU0VBUkNIRVJfUkVHX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QTk4NTAwMDApCisgICAgCisjZGVmaW5lIFNFQVJDSEVSX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChTRUFSQ0hFUl9SRUdfQkFTRSArIDB4MGI2MCArIDEqNCkKKyAgICAKKyAgICAKKyAgICAKKyNkZWZpbmUgU1JfQ1RMMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDAwKSkKKyNkZWZpbmUgU1JfQ09SUl9MRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDA0KSkKKyNkZWZpbmUgU1JfTk9OQ09fUEFTUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDA4KSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDBDKSkKKyNkZWZpbmUgU1JfV0lORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDEwKSkKKyNkZWZpbmUgU1JfRDFfVEhSRVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDE0KSkKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDE4KSkKKyNkZWZpbmUgU1JfT1VUUFVUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDFDKSkKKyNkZWZpbmUgU1JfVFNUX0NUTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDIwKSkKKyNkZWZpbmUgU1JfVFNUX0NUTDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDI0KSkKKyNkZWZpbmUgU1JfQ1RMMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDI4KSkKKyNkZWZpbmUgU1JfU1RBVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDJjKSkKKyNkZWZpbmUgU1JfU01QTF9DTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDMwKSkKKyNkZWZpbmUgU1JfVEhSRVNIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDM0KSkKKyNkZWZpbmUgU1JfV0lOX09GRlNFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDM4KSkKKyNkZWZpbmUgU1JfSU5CVUZfVFNUQ1RMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDNDKSkKKyNkZWZpbmUgU1JfSU5CVUZfVFNUREFUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDQwKSkKKyNkZWZpbmUgU1JfUEVBSzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDQ0KSkKKyNkZWZpbmUgU1JfUEVBSzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDQ4KSkKKyNkZWZpbmUgU1JfUEVBSzMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDRDKSkKKyNkZWZpbmUgU1JfUEVBSzQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDUwKSkKKyNkZWZpbmUgU1JfU1RBUlRfRExZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDU0KSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDU4KSkKKyNkZWZpbmUgU1JfUEFHRV9OVU0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDVDKSkKKyNkZWZpbmUgU1JfREFUQV9DTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDYwKSkKKyNkZWZpbmUgU1JfSUNfRExZX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDY0KSkKKyNkZWZpbmUgU1JfSUNfRExZX0NGRzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDY4KSkKKyNkZWZpbmUgU1JfSUNfRExZX0NGRzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMDZjKSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF8xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMTBDKSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF8yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMjBDKSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF8zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMzBDKSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF80ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwNDBDKSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF81ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwNTBDKSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF82ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwNjBDKSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF83ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwNzBDKSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF84ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwODBDKSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF85ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwOTBDKSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF8xMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwQTBDKSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF8xMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwQjBDKSkKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF8xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMTE4KSkKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF8yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMjE4KSkKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF8zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMzE4KSkKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF80ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwNDE4KSkKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF81ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwNTE4KSkKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF82ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwNjE4KSkKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF83ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwNzE4KSkKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF84ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwODE4KSkKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF85ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwOTE4KSkKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF8xMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwQTE4KSkKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF8xMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwQjE4KSkKKyNkZWZpbmUgU1JfV0lORF8xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMTEwKSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMTU4KSkKKyNkZWZpbmUgU1JfREFUQV9DTlRfMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMTYwKSkKKyNkZWZpbmUgU1JfV0lORF8yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMjEwKSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMjU4KSkKKyNkZWZpbmUgU1JfREFUQV9DTlRfMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMjYwKSkKKyNkZWZpbmUgU1JfV0lORF8zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMzEwKSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMzU4KSkKKyNkZWZpbmUgU1JfREFUQV9DTlRfMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwMzYwKSkKKyNkZWZpbmUgU1JfV0lORF80ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwNDEwKSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwNDU4KSkKKyNkZWZpbmUgU1JfREFUQV9DTlRfNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwNDYwKSkKKyNkZWZpbmUgU1JfV0lORF81ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwNTEwKSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwNTU4KSkKKyNkZWZpbmUgU1JfREFUQV9DTlRfNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwNTYwKSkKKyNkZWZpbmUgU1JfV0lORF82ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwNjEwKSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwNjU4KSkKKyNkZWZpbmUgU1JfREFUQV9DTlRfNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwNjYwKSkKKyNkZWZpbmUgU1JfV0lORF83ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwNzEwKSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwNzU4KSkKKyNkZWZpbmUgU1JfREFUQV9DTlRfNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwNzYwKSkKKyNkZWZpbmUgU1JfV0lORF84ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwODEwKSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwODU4KSkKKyNkZWZpbmUgU1JfREFUQV9DTlRfOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwODYwKSkKKyNkZWZpbmUgU1JfV0lORF85ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwOTEwKSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwOTU4KSkKKyNkZWZpbmUgU1JfREFUQV9DTlRfOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwOTYwKSkKKyNkZWZpbmUgU1JfV0lORF8xMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwYTEwKSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzEwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwYTU4KSkKKyNkZWZpbmUgU1JfREFUQV9DTlRfMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwYTYwKSkKKyNkZWZpbmUgU1JfV0lORF8xMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwYjEwKSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzExICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwYjU4KSkKKyNkZWZpbmUgU1JfREFUQV9DTlRfMTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNFQVJDSEVSX1JFR19CQVNFICsgMHgwYjYwKSkKKyAgICAKKyAgICAKKyNkZWZpbmUgU1JfQ1RMMV9PVVRfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBTUl9DVEwxX09VVF9TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1JfQ1RMMV9PVVRfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMzAwMDApCisgICAgCisjZGVmaW5lIFNSX0NUTDFfVEhSRVNIX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgU1JfQ1RMMV9USFJFU0hfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNSX0NUTDFfVEhSRVNIX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorI2RlZmluZSBTUl9DVEwxX1RIUkVTSF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKyAgICAKKyNkZWZpbmUgU1JfQ1RMMV9DTFJfQlVGX0NOVFJTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBTUl9DVEwxX0NMUl9CVUZfQ05UUlNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfQ1RMMV9DTFJfQlVGX0NOVFJTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisjZGVmaW5lIFNSX0NUTDFfQ0xSX0JVRl9DTlRSU19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorICAgIAorI2RlZmluZSBTUl9DVEwxX1RPTkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFNSX0NUTDFfVE9ORV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9DVEwxX1RPTkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgU1JfQ1RMMV9UT05FX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisgICAgCisjZGVmaW5lIFNSX0NUTDFfVENfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTUl9DVEwxX1RDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1JfQ1RMMV9UQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA2MDApCisgICAgCisjZGVmaW5lIFNSX0NUTDFfQVVYX1BJTE9UX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTUl9DVEwxX0FVWF9QSUxPVF9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfQ1RMMV9BVVhfUElMT1RfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFNSX0NUTDFfQVVYX1BJTE9UX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorICAgIAorI2RlZmluZSBTUl9DVEwxX0NPSEVSRU5UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgU1JfQ1RMMV9DT0hFUkVOVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNSX0NUTDFfQ09IRVJFTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBTUl9DVEwxX0NPSEVSRU5UX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyAgICAKKyNkZWZpbmUgU1JfQ1RMMV9GUkVRX0RPTUFJTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFNSX0NUTDFfRlJFUV9ET01BSU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9DVEwxX0ZSRVFfRE9NQUlOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgU1JfQ1RMMV9GUkVRX0RPTUFJTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisgICAgCisjZGVmaW5lIFNSX0NUTDFfTE9BRF9UV09fQlVGX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBTUl9DVEwxX0xPQURfVFdPX0JVRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfQ1RMMV9MT0FEX1RXT19CVUZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFNSX0NUTDFfTE9BRF9UV09fQlVGX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorICAgIAorI2RlZmluZSBTUl9DVEwxX0lOUFVUX0JVRl9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1JfQ1RMMV9JTlBVVF9CVUZfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNSX0NUTDFfSU5QVVRfQlVGX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBTUl9DVEwxX0lOUFVUX0JVRl9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyAgICAKKyNkZWZpbmUgU1JfQ1RMMV9BQ1FfTU9ERV9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNSX0NUTDFfQUNRX01PREVfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9DVEwxX0FDUV9NT0RFX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgU1JfQ1RMMV9BQ1FfTU9ERV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisgICAgCisjZGVmaW5lIFNSX0NUTDFfSU5JVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9DVEwxX0lOSVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfQ1RMMV9JTklUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNSX0NUTDFfSU5JVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorICAgIAorI2RlZmluZSBTUl9DT1JSX0xFTl9EMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgU1JfQ09SUl9MRU5fRDJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFNSX0NPUlJfTEVOX0QyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwRkMwKQorICAgIAorI2RlZmluZSBTUl9DT1JSX0xFTl9EMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfQ09SUl9MRU5fRDFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFNSX0NPUlJfTEVOX0QxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDNGKQorICAgIAorI2RlZmluZSBTUl9OT05DT19QQVNTX0QyTVNCX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgU1JfTk9OQ09fUEFTU19EMk1TQl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFNSX05PTkNPX1BBU1NfRDJNU0JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRjgwKQorICAgIAorI2RlZmluZSBTUl9OT05DT19QQVNTX0QyTFNCX09SX0QxTVNCX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgU1JfTk9OQ09fUEFTU19EMkxTQl9PUl9EMU1TQl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNSX05PTkNPX1BBU1NfRDJMU0JfT1JfRDFNU0JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBTUl9OT05DT19QQVNTX0QyTFNCX09SX0QxTVNCX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyAgICAKKyNkZWZpbmUgU1JfTk9OQ09fUEFTU19EMUxTQl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX05PTkNPX1BBU1NfRDFMU0JfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTUl9OT05DT19QQVNTX0QxTFNCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKyAgICAKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF9RT0ZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfUU9GX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIX1FPRl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDYwMCkKKyAgICAKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF9OX1BBUk1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfTl9QQVJNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIX05fUEFSTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDE4MCkKKyAgICAKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF9GVU5DX05VTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfRlVOQ19OVU1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIX0ZVTkNfTlVNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA3RikKKyAgICAKKyNkZWZpbmUgU1JfV0lORF9TSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1dJTkRfU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1JfV0lORF9TSVpFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisgICAgCisjZGVmaW5lIFNSX0QxX1RIUkVTX0NGR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9EMV9USFJFU19DRkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFNSX0QxX1RIUkVTX0NGR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorICAgIAorI2RlZmluZSBTUl9BVVhfT0ZGX1dBTFNIX0NPREVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF9DT0RFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfQ09ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorICAgIAorI2RlZmluZSBTUl9PVVRQVVRfV0lOX09GRlNFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTcpCisjZGVmaW5lIFNSX09VVFBVVF9XSU5fT0ZGU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTUl9PVVRQVVRfV0lOX09GRlNFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwM0ZFMDAwMCkKKyAgICAKKyNkZWZpbmUgU1JfT1VUUFVUX0VfTF9JTkRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBTUl9PVVRQVVRfRV9MX0lORF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfT1VUUFVUX0VfTF9JTkRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisjZGVmaW5lIFNSX09VVFBVVF9FX0xfSU5EX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorICAgIAorI2RlZmluZSBTUl9PVVRQVVRfTUVUUklDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfT1VUUFVUX01FVFJJQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBTUl9PVVRQVVRfTUVUUklDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKyAgICAKKyNkZWZpbmUgU1JfVFNUX0NUTF9UU1RfR09fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFNSX1RTVF9DVExfVFNUX0dPX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9UU1RfQ1RMX1RTVF9HT19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgU1JfVFNUX0NUTF9UU1RfR09fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisgICAgCisjZGVmaW5lIFNSX1RTVF9DVExfVEVTVDNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTUl9UU1RfQ1RMX1RFU1QzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfVFNUX0NUTF9URVNUM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFNSX1RTVF9DVExfVEVTVDNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorICAgIAorI2RlZmluZSBTUl9UU1RfQ1RMX05PVF9TVE9QX01PREVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfVFNUX0NUTF9OT1RfU1RPUF9NT0RFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNSX1RTVF9DVExfTk9UX1NUT1BfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBTUl9UU1RfQ1RMX05PVF9TVE9QX01PREVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgU1JfVFNUX0NUTDJfT0JVRl9BRERSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFNSX1RTVF9DVEwyX09CVUZfQUREUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTUl9UU1RfQ1RMMl9PQlVGX0FERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMEZGOCkKKyAgICAKKyNkZWZpbmUgU1JfVFNUX0NUTDJfT0JGX1JQVFJfUlNUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX1RTVF9DVEwyX09CRl9SUFRSX1JTVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9UU1RfQ1RMMl9PQkZfUlBUUl9SU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgU1JfVFNUX0NUTDJfT0JGX1JQVFJfUlNUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisgICAgCisjZGVmaW5lIFNSX1RTVF9DVEwyX0JVRl9FUlJfT0JGX0dFTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9UU1RfQ1RMMl9CVUZfRVJSX09CRl9HRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfVFNUX0NUTDJfQlVGX0VSUl9PQkZfR0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFNSX1RTVF9DVEwyX0JVRl9FUlJfT0JGX0dFTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorICAgIAorI2RlZmluZSBTUl9UU1RfQ1RMMl9URVNUX01PREVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfVFNUX0NUTDJfVEVTVF9NT0RFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNSX1RTVF9DVEwyX1RFU1RfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBTUl9UU1RfQ1RMMl9URVNUX01PREVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyAgICAKKyNkZWZpbmUgU1JfQ1RMMl9DTEtfRU5CX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0NUTDJfQ0xLX0VOQl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9DVEwyX0NMS19FTkJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgU1JfQ1RMMl9DTEtfRU5CX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisgICAgCisjZGVmaW5lIFNSX1NUQVRfRE9ORV9TVEFUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTUl9TVEFUX0RPTkVfU1RBVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfU1RBVF9ET05FX1NUQVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFNSX1NUQVRfRE9ORV9TVEFUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorICAgIAorI2RlZmluZSBTUl9TVEFUX09CRl9TVEFUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfU1RBVF9PQkZfU1RBVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNSX1NUQVRfT0JGX1NUQVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBTUl9TVEFUX09CRl9TVEFUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyAgICAKKyNkZWZpbmUgU1JfU01QTF9DTlRfU01QTF9DTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1NNUExfQ05UX1NNUExfQ05UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgU1JfU01QTF9DTlRfU01QTF9DTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisgICAgCisjZGVmaW5lIFNSX1RIUkVTSF9PVVRQVVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9USFJFU0hfT1VUUFVUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFNSX1RIUkVTSF9PVVRQVVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorICAgIAorI2RlZmluZSBTUl9XSU5fT0ZGU0VUX0NGR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfV0lOX09GRlNFVF9DRkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNSX1dJTl9PRkZTRVRfQ0ZHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwM0ZFKQorICAgIAorI2RlZmluZSBTUl9XSU5fT0ZGU0VUX0VfTF9JTkRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfV0lOX09GRlNFVF9FX0xfSU5EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNSX1dJTl9PRkZTRVRfRV9MX0lORF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBTUl9XSU5fT0ZGU0VUX0VfTF9JTkRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyAgICAKKyNkZWZpbmUgU1JfSU5CVUZfVFNUQ1RMX1RTVF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBTUl9JTkJVRl9UU1RDVExfVFNUX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfSU5CVUZfVFNUQ1RMX1RTVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisjZGVmaW5lIFNSX0lOQlVGX1RTVENUTF9UU1RfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorICAgIAorI2RlZmluZSBTUl9JTkJVRl9UU1RDVExfVFNUX0FERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfSU5CVUZfVFNUQ1RMX1RTVF9BRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBTUl9JTkJVRl9UU1RDVExfVFNUX0FERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDdGRikKKyAgICAKKyNkZWZpbmUgU1JfSU5CVUZfVFNUREFUX1RTVERBVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0lOQlVGX1RTVERBVF9UU1REQVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgU1JfSU5CVUZfVFNUREFUX1RTVERBVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisgICAgCisjZGVmaW5lIFNSX1BFQUsxX1dJTl9PRkZTRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNykKKyNkZWZpbmUgU1JfUEVBSzFfV0lOX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBTUl9QRUFLMV9XSU5fT0ZGU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZFMDAwMCkKKyAgICAKKyNkZWZpbmUgU1JfUEVBSzFfRV9MX0lORF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBTUl9QRUFLMV9FX0xfSU5EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfUEVBSzFfRV9MX0lORF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisjZGVmaW5lIFNSX1BFQUsxX0VfTF9JTkRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorICAgIAorI2RlZmluZSBTUl9QRUFLMV9NRVRSSUNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfUEVBSzFfTUVUUklDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBTUl9QRUFLMV9NRVRSSUNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKyAgICAKKyNkZWZpbmUgU1JfUEVBSzJfV0lOX09GRlNFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE3KQorI2RlZmluZSBTUl9QRUFLMl9XSU5fT0ZGU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFNSX1BFQUsyX1dJTl9PRkZTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkUwMDAwKQorICAgIAorI2RlZmluZSBTUl9QRUFLMl9FX0xfSU5EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFNSX1BFQUsyX0VfTF9JTkRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9QRUFLMl9FX0xfSU5EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKyNkZWZpbmUgU1JfUEVBSzJfRV9MX0lORF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisgICAgCisjZGVmaW5lIFNSX1BFQUsyX01FVFJJQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9QRUFLMl9NRVRSSUNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFNSX1BFQUsyX01FVFJJQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorICAgIAorI2RlZmluZSBTUl9QRUFLM19XSU5fT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTcpCisjZGVmaW5lIFNSX1BFQUszX1dJTl9PRkZTRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1JfUEVBSzNfV0lOX09GRlNFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRTAwMDApCisgICAgCisjZGVmaW5lIFNSX1BFQUszX0VfTF9JTkRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgU1JfUEVBSzNfRV9MX0lORF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNSX1BFQUszX0VfTF9JTkRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorI2RlZmluZSBTUl9QRUFLM19FX0xfSU5EX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKyAgICAKKyNkZWZpbmUgU1JfUEVBSzNfTUVUUklDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1BFQUszX01FVFJJQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgU1JfUEVBSzNfTUVUUklDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisgICAgCisjZGVmaW5lIFNSX1BFQUs0X1dJTl9PRkZTRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNykKKyNkZWZpbmUgU1JfUEVBSzRfV0lOX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBTUl9QRUFLNF9XSU5fT0ZGU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZFMDAwMCkKKyAgICAKKyNkZWZpbmUgU1JfUEVBSzRfRV9MX0lORF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBTUl9QRUFLNF9FX0xfSU5EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfUEVBSzRfRV9MX0lORF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisjZGVmaW5lIFNSX1BFQUs0X0VfTF9JTkRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorICAgIAorI2RlZmluZSBTUl9QRUFLNF9NRVRSSUNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfUEVBSzRfTUVUUklDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBTUl9QRUFLNF9NRVRSSUNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKyAgICAKKyNkZWZpbmUgU1JfU1RBUlRfRExZX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBTUl9TVEFSVF9ETFlfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfU1RBUlRfRExZX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisjZGVmaW5lIFNSX1NUQVJUX0RMWV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorICAgIAorI2RlZmluZSBTUl9QTl9PRkZTRVRfQ0ZHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUX0NGR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBTUl9QTl9PRkZTRVRfQ0ZHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKyAgICAKKyNkZWZpbmUgU1JfUEFHRV9OVU1fQ0ZHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1BBR0VfTlVNX0NGR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBTUl9QQUdFX05VTV9DRkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKyAgICAKKyNkZWZpbmUgU1JfREFUQV9DTlRfUkVBRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0RBVEFfQ05UX1JFQURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTUl9EQVRBX0NOVF9SRUFEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKyAgICAKKyNkZWZpbmUgU1JfSUNfRExZX0NGR19TUl9TRlRfUlNUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0lDX0RMWV9DRkdfU1JfU0ZUX1JTVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9JQ19ETFlfQ0ZHX1NSX1NGVF9SU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgU1JfSUNfRExZX0NGR19TUl9TRlRfUlNUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisgICAgCisjZGVmaW5lIFNSX0lDX0RMWV9DRkdfSUNfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9JQ19ETFlfQ0ZHX0lDX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfSUNfRExZX0NGR19JQ19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFNSX0lDX0RMWV9DRkdfSUNfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorICAgIAorI2RlZmluZSBTUl9JQ19ETFlfQ0ZHX0RMWV9NT0RFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfSUNfRExZX0NGR19ETFlfTU9ERV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNSX0lDX0RMWV9DRkdfRExZX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBTUl9JQ19ETFlfQ0ZHX0RMWV9NT0RFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyAgICAKKyNkZWZpbmUgU1JfSUNfRExZX0NGRzFfU1JfQlVGRl9SQUREUl9JTkkxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBTUl9JQ19ETFlfQ0ZHMV9TUl9CVUZGX1JBRERSX0lOSTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfSUNfRExZX0NGRzFfU1JfQlVGRl9SQUREUl9JTkkxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFGRjAwMDApCisgICAgCisjZGVmaW5lIFNSX0lDX0RMWV9DRkcxX1NSX0JVRkZfUkFERFJfSU5JMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTUl9JQ19ETFlfQ0ZHMV9TUl9CVUZGX1JBRERSX0lOSTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfSUNfRExZX0NGRzFfU1JfQlVGRl9SQUREUl9JTkkwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGODApCisgICAgCisjZGVmaW5lIFNSX0lDX0RMWV9DRkcxX1NISUZUX0NOVF9JTkkzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBTUl9JQ19ETFlfQ0ZHMV9TSElGVF9DTlRfSU5JM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1JfSUNfRExZX0NGRzFfU0hJRlRfQ05UX0lOSTNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNjApCisgICAgCisjZGVmaW5lIFNSX0lDX0RMWV9DRkcxX1NISUZUX0NOVF9JTkkyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBTUl9JQ19ETFlfQ0ZHMV9TSElGVF9DTlRfSU5JMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1JfSUNfRExZX0NGRzFfU0hJRlRfQ05UX0lOSTJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTgpCisgICAgCisjZGVmaW5lIFNSX0lDX0RMWV9DRkcxX1NISUZUX0NOVF9JTkkxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9JQ19ETFlfQ0ZHMV9TSElGVF9DTlRfSU5JMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1JfSUNfRExZX0NGRzFfU0hJRlRfQ05UX0lOSTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDYpCisjZGVmaW5lIFNSX0lDX0RMWV9DRkcxX1NISUZUX0NOVF9TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9JQ19ETFlfQ0ZHMV9TSElGVF9DTlRfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfSUNfRExZX0NGRzFfU0hJRlRfQ05UX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNSX0lDX0RMWV9DRkcxX1NISUZUX0NOVF9TRUxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorICAgIAorI2RlZmluZSBTUl9JQ19ETFlfQ0ZHMl9TSElGVF9DTlRfSU5JX0xEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFNSX0lDX0RMWV9DRkcyX1NISUZUX0NOVF9JTklfTERfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUl9JQ19ETFlfQ0ZHMl9TSElGVF9DTlRfSU5JX0xEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgU1JfSUNfRExZX0NGRzJfU0hJRlRfQ05UX0lOSV9MRF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisgICAgCisjZGVmaW5lIFNSX0lDX0RMWV9DRkcyX01VWF9TUkVOX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBTUl9JQ19ETFlfQ0ZHMl9NVVhfU1JFTl9TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgU1JfSUNfRExZX0NGRzJfTVVYX1NSRU5fU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRTApCisgICAgCisjZGVmaW5lIFNSX0lDX0RMWV9DRkcyX0lDX1BMVVNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBTUl9JQ19ETFlfQ0ZHMl9JQ19QTFVTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfSUNfRExZX0NGRzJfSUNfUExVU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFNSX0lDX0RMWV9DRkcyX0lDX1BMVVNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorICAgIAorI2RlZmluZSBTUl9JQ19ETFlfQ0ZHMl9TTVBMX1JQSF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1JfSUNfRExZX0NGRzJfU01QTF9SUEhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0lDX0RMWV9DRkcyX1NNUExfUlBIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBDKQorICAgIAorI2RlZmluZSBTUl9JQ19ETFlfQ0ZHMl9TTVBMX1dQSF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfSUNfRExZX0NGRzJfU01QTF9XUEhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0lDX0RMWV9DRkcyX1NNUExfV1BIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAzKQorICAgIAorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzFfUU9GX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF8xX1FPRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfMV9RT0ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNjAwKQorICAgIAorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzFfTl9QQVJNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF8xX05fUEFSTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfMV9OX1BBUk1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTgwKQorICAgIAorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzFfRlVOQ19OVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF8xX0ZVTkNfTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfMV9GVU5DX05VTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDdGKQorICAgIAorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzJfUU9GX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF8yX1FPRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfMl9RT0ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNjAwKQorICAgIAorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzJfTl9QQVJNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF8yX05fUEFSTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfMl9OX1BBUk1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTgwKQorICAgIAorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzJfRlVOQ19OVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF8yX0ZVTkNfTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfMl9GVU5DX05VTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDdGKQorICAgIAorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzNfUU9GX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF8zX1FPRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfM19RT0ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNjAwKQorICAgIAorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzNfTl9QQVJNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF8zX05fUEFSTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfM19OX1BBUk1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTgwKQorICAgIAorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzNfRlVOQ19OVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF8zX0ZVTkNfTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfM19GVU5DX05VTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDdGKQorICAgIAorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzRfUU9GX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF80X1FPRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfNF9RT0ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNjAwKQorICAgIAorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzRfTl9QQVJNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF80X05fUEFSTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfNF9OX1BBUk1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTgwKQorICAgIAorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzRfRlVOQ19OVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF80X0ZVTkNfTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfNF9GVU5DX05VTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDdGKQorICAgIAorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzVfUU9GX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF81X1FPRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfNV9RT0ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNjAwKQorICAgIAorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzVfTl9QQVJNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF81X05fUEFSTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfNV9OX1BBUk1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTgwKQorICAgIAorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzVfRlVOQ19OVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF81X0ZVTkNfTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfNV9GVU5DX05VTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDdGKQorICAgIAorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzZfUU9GX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF82X1FPRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfNl9RT0ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNjAwKQorICAgIAorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzZfTl9QQVJNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF82X05fUEFSTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfNl9OX1BBUk1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTgwKQorICAgIAorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzZfRlVOQ19OVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF82X0ZVTkNfTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfNl9GVU5DX05VTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDdGKQorICAgIAorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzdfUU9GX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF83X1FPRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfN19RT0ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNjAwKQorICAgIAorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzdfTl9QQVJNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF83X05fUEFSTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfN19OX1BBUk1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTgwKQorICAgIAorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzdfRlVOQ19OVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF83X0ZVTkNfTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfN19GVU5DX05VTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDdGKQorICAgIAorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzhfUU9GX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF84X1FPRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfOF9RT0ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNjAwKQorICAgIAorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzhfTl9QQVJNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF84X05fUEFSTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfOF9OX1BBUk1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTgwKQorICAgIAorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzhfRlVOQ19OVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF84X0ZVTkNfTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfOF9GVU5DX05VTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDdGKQorICAgIAorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzlfUU9GX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF85X1FPRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfOV9RT0ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNjAwKQorICAgIAorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzlfTl9QQVJNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF85X05fUEFSTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfOV9OX1BBUk1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTgwKQorICAgIAorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzlfRlVOQ19OVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF85X0ZVTkNfTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfOV9GVU5DX05VTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDdGKQorICAgIAorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzEwX1FPRl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF8xMF9RT0ZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfMTBfUU9GX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNjAwKQorICAgIAorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzEwX05fUEFSTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF8xMF9OX1BBUk1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfMTBfTl9QQVJNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTgwKQorICAgIAorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzEwX0ZVTkNfTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF8xMF9GVU5DX05VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfMTBfRlVOQ19OVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDdGKQorICAgIAorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzExX1FPRl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF8xMV9RT0ZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfMTFfUU9GX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNjAwKQorICAgIAorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzExX05fUEFSTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF8xMV9OX1BBUk1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfMTFfTl9QQVJNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTgwKQorICAgIAorI2RlZmluZSBTUl9BVVhfUExUX1dBTFNIXzExX0ZVTkNfTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfQVVYX1BMVF9XQUxTSF8xMV9GVU5DX05VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFNSX0FVWF9QTFRfV0FMU0hfMTFfRlVOQ19OVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDdGKQorICAgIAorI2RlZmluZSBTUl9BVVhfT0ZGX1dBTFNIXzFfQ09ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF8xX0NPREVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfMV9DT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorICAgIAorICAgIAorI2RlZmluZSBTUl9BVVhfT0ZGX1dBTFNIXzJfQ09ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF8yX0NPREVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfMl9DT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorICAgIAorI2RlZmluZSBTUl9BVVhfT0ZGX1dBTFNIXzNfQ09ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF8zX0NPREVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfM19DT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorICAgIAorI2RlZmluZSBTUl9BVVhfT0ZGX1dBTFNIXzRfQ09ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF80X0NPREVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfNF9DT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorICAgIAorI2RlZmluZSBTUl9BVVhfT0ZGX1dBTFNIXzVfQ09ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF81X0NPREVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfNV9DT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorICAgIAorI2RlZmluZSBTUl9BVVhfT0ZGX1dBTFNIXzZfQ09ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF82X0NPREVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfNl9DT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorICAgIAorI2RlZmluZSBTUl9BVVhfT0ZGX1dBTFNIXzdfQ09ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF83X0NPREVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfN19DT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorICAgIAorI2RlZmluZSBTUl9BVVhfT0ZGX1dBTFNIXzhfQ09ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF84X0NPREVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfOF9DT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorICAgIAorI2RlZmluZSBTUl9BVVhfT0ZGX1dBTFNIXzlfQ09ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF85X0NPREVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfOV9DT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorICAgIAorI2RlZmluZSBTUl9BVVhfT0ZGX1dBTFNIXzEwX0NPREVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF8xMF9DT0RFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfMTBfQ09ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorICAgIAorI2RlZmluZSBTUl9BVVhfT0ZGX1dBTFNIXzExX0NPREVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfQVVYX09GRl9XQUxTSF8xMV9DT0RFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNSX0FVWF9PRkZfV0FMU0hfMTFfQ09ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorICAgIAorI2RlZmluZSBTUl9XSU5EXzFfU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfV0lORF8xX1NJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBTUl9XSU5EXzFfU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKyAgICAKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzFfQ0ZHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1BOX09GRlNFVF8xX0NGR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzFfQ0ZHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisgICAgCisjZGVmaW5lIFNSX0RBVEFfQ05UXzFfUkVBRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9EQVRBX0NOVF8xX1JFQURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfREFUQV9DTlRfMV9SRUFEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisgICAgCisjZGVmaW5lIFNSX1dJTkRfMl9TSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9XSU5EXzJfU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFNSX1dJTkRfMl9TSVpFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorICAgIAorI2RlZmluZSBTUl9QTl9PRkZTRVRfMl9DRkdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzJfQ0ZHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBTUl9QTl9PRkZTRVRfMl9DRkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKyAgICAKKyNkZWZpbmUgU1JfREFUQV9DTlRfMl9SRUFEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0RBVEFfQ05UXzJfUkVBRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTUl9EQVRBX0NOVF8yX1JFQURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKyAgICAKKyNkZWZpbmUgU1JfV0lORF8zX1NJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1dJTkRfM19TSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1JfV0lORF8zX1NJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisgICAgCisjZGVmaW5lIFNSX1BOX09GRlNFVF8zX0NGR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9QTl9PRkZTRVRfM19DRkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFNSX1BOX09GRlNFVF8zX0NGR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorICAgIAorI2RlZmluZSBTUl9EQVRBX0NOVF8zX1JFQURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfREFUQV9DTlRfM19SRUFEX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNSX0RBVEFfQ05UXzNfUkVBRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorICAgIAorI2RlZmluZSBTUl9XSU5EXzRfU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfV0lORF80X1NJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBTUl9XSU5EXzRfU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKyAgICAKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzRfQ0ZHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1BOX09GRlNFVF80X0NGR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzRfQ0ZHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisgICAgCisjZGVmaW5lIFNSX0RBVEFfQ05UXzRfUkVBRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9EQVRBX0NOVF80X1JFQURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfREFUQV9DTlRfNF9SRUFEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisgICAgCisjZGVmaW5lIFNSX1dJTkRfNV9TSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9XSU5EXzVfU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFNSX1dJTkRfNV9TSVpFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorICAgIAorI2RlZmluZSBTUl9QTl9PRkZTRVRfNV9DRkdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzVfQ0ZHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBTUl9QTl9PRkZTRVRfNV9DRkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKyAgICAKKyNkZWZpbmUgU1JfREFUQV9DTlRfNV9SRUFEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0RBVEFfQ05UXzVfUkVBRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTUl9EQVRBX0NOVF81X1JFQURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKyAgICAKKyNkZWZpbmUgU1JfV0lORF82X1NJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1dJTkRfNl9TSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1JfV0lORF82X1NJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisgICAgCisjZGVmaW5lIFNSX1BOX09GRlNFVF82X0NGR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9QTl9PRkZTRVRfNl9DRkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFNSX1BOX09GRlNFVF82X0NGR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorICAgIAorI2RlZmluZSBTUl9EQVRBX0NOVF82X1JFQURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfREFUQV9DTlRfNl9SRUFEX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNSX0RBVEFfQ05UXzZfUkVBRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorICAgIAorI2RlZmluZSBTUl9XSU5EXzdfU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfV0lORF83X1NJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBTUl9XSU5EXzdfU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKyAgICAKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzdfQ0ZHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1BOX09GRlNFVF83X0NGR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzdfQ0ZHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisgICAgCisjZGVmaW5lIFNSX0RBVEFfQ05UXzdfUkVBRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9EQVRBX0NOVF83X1JFQURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfREFUQV9DTlRfN19SRUFEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisgICAgCisjZGVmaW5lIFNSX1dJTkRfOF9TSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9XSU5EXzhfU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFNSX1dJTkRfOF9TSVpFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorICAgIAorI2RlZmluZSBTUl9QTl9PRkZTRVRfOF9DRkdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzhfQ0ZHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBTUl9QTl9PRkZTRVRfOF9DRkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKyAgICAKKyNkZWZpbmUgU1JfREFUQV9DTlRfOF9SRUFEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0RBVEFfQ05UXzhfUkVBRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTUl9EQVRBX0NOVF84X1JFQURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKyAgICAKKyNkZWZpbmUgU1JfV0lORF85X1NJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1dJTkRfOV9TSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1JfV0lORF85X1NJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisgICAgCisjZGVmaW5lIFNSX1BOX09GRlNFVF85X0NGR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9QTl9PRkZTRVRfOV9DRkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFNSX1BOX09GRlNFVF85X0NGR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorICAgIAorI2RlZmluZSBTUl9EQVRBX0NOVF85X1JFQURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfREFUQV9DTlRfOV9SRUFEX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNSX0RBVEFfQ05UXzlfUkVBRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorICAgIAorI2RlZmluZSBTUl9XSU5EXzEwX1NJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfV0lORF8xMF9TSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBTUl9XSU5EXzEwX1NJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKyAgICAKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzEwX0NGR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX1BOX09GRlNFVF8xMF9DRkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzEwX0NGR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisgICAgCisjZGVmaW5lIFNSX0RBVEFfQ05UXzEwX1JFQURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9EQVRBX0NOVF8xMF9SRUFEX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1JfREFUQV9DTlRfMTBfUkVBRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisgICAgCisjZGVmaW5lIFNSX1dJTkRfMTFfU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9XSU5EXzExX1NJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFNSX1dJTkRfMTFfU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorICAgIAorI2RlZmluZSBTUl9QTl9PRkZTRVRfMTFfQ0ZHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfUE5fT0ZGU0VUXzExX0NGR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBTUl9QTl9PRkZTRVRfMTFfQ0ZHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKyAgICAKKyNkZWZpbmUgU1JfREFUQV9DTlRfMTFfUkVBRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSX0RBVEFfQ05UXzExX1JFQURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTUl9EQVRBX0NOVF8xMV9SRUFEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKyAgICAKKyAgICAKKyNlbmRpZiAvLyNpZm5kZWYgX0NQSF8xWF9TQ0hfSF8KKwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaDF4dHhicnAuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGgxeHR4YnJwLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTcyNDhiMgotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGgxeHR4YnJwLmgKQEAgLTAsMCArMSw4NzkgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhfMVhfVFhCUlBfSF8KKyNkZWZpbmUgX0NQSF8xWF9UWEJSUF9IXworCisKK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIFNSQU1BRERSOyAgICAgICAgIC8qIFNSQU0gYWRkciBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgU1JBTURBVEE7ICAgICAgICAgLyogU1JBTSBkYXRhIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBBUEJBRERSOyAgICAgICAgICAvKiBBUEIgYWRkciBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIEFQQkRBVEE7ICAgICAgICAgIC8qIEFQQiBkYXRhIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nKiAgQVBCQUREUjMyOyAgICAgICAgLyogQVBCIGFkZHIgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgICBBUEJEQVRBMzI7ICAgICAgICAvKiBBUEIgZGF0YSBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIERQUkFNQUREUjsgICAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSBzaWduZWQgICBzaG9ydCogRFBSQU1BRERSX1M7ICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBEUFJBTURBVEE7ICAgICAgICAvKiBEUFJBTSBkYXRhIGlzIDE2IGJpdHMgKi8KKworCisjaWYgZGVmaW5lZChfX01EOTNfXyl8fGRlZmluZWQoX19NRDk1X18pCisjZGVmaW5lIEJSUF9DMktfMVhSVFRfUkVHX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweGE4MDIwMDAwKQorI2Vsc2UKKyNkZWZpbmUgQlJQX0MyS18xWFJUVF9SRUdfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4YTg4MjAwMDApCisjZW5kaWYKKyNkZWZpbmUgQlJQX0MyS18xWFJUVF9lbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEJSUF9DMktfMVhSVFRfUkVHX0JBU0UgKyAweDAzYzggKyAxKjQpCisKKworI2RlZmluZSBXT1JLX01PREUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQlJQX0MyS18xWFJUVF9SRUdfQkFTRSArIDB4MDAwMCkpCisjZGVmaW5lIEdMT0JBTF9JUlEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCUlBfQzJLXzFYUlRUX1JFR19CQVNFICsgMHgwMDA4KSkKKyNkZWZpbmUgR0xPQkFMX0lSUV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJSUF9DMktfMVhSVFRfUkVHX0JBU0UgKyAweDAwMGMpKQorI2RlZmluZSBHTE9CQUxfSVJRX0NMUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQlJQX0MyS18xWFJUVF9SRUdfQkFTRSArIDB4MDAxMCkpCisjZGVmaW5lIFJUVF9JUlEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCUlBfQzJLXzFYUlRUX1JFR19CQVNFICsgMHgwMDQ0KSkKKyNkZWZpbmUgUlRUX0lSUV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJSUF9DMktfMVhSVFRfUkVHX0JBU0UgKyAweDAwNDgpKQorI2RlZmluZSBSVFRfSVJRX0NMUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQlJQX0MyS18xWFJUVF9SRUdfQkFTRSArIDB4MDA0YykpCisjZGVmaW5lIFRYQlJQX1NXX0NLRU5fUlRUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCUlBfQzJLXzFYUlRUX1JFR19CQVNFICsgMHgwMDUwKSkKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfUlRUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJSUF9DMktfMVhSVFRfUkVHX0JBU0UgKyAweDAwNTQpKQorI2RlZmluZSBERUJVR19SRUdfQkFOS19TRUwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQlJQX0MyS18xWFJUVF9SRUdfQkFTRSArIDB4MDA1OCkpCisjZGVmaW5lIE1FTV9URVNUX01PREUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCUlBfQzJLXzFYUlRUX1JFR19CQVNFICsgMHgwMDVjKSkKKyNkZWZpbmUgVFJJR0dFUl9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJSUF9DMktfMVhSVFRfUkVHX0JBU0UgKyAweDAwNjApKQorI2RlZmluZSBESV9TV0FQX0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQlJQX0MyS18xWFJUVF9SRUdfQkFTRSArIDB4MDA2NCkpCisjZGVmaW5lIERJX1RFU1RfQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCUlBfQzJLXzFYUlRUX1JFR19CQVNFICsgMHgwMDY4KSkKKyNkZWZpbmUgSV9SRUdfVUxUUkFfUFJFX0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJSUF9DMktfMVhSVFRfUkVHX0JBU0UgKyAweDAwNmMpKQorI2RlZmluZSBJX1JFR19CRUdJTl9VTFRSQV9DTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQlJQX0MyS18xWFJUVF9SRUdfQkFTRSArIDB4MDA3MCkpCisjZGVmaW5lIElfUkVHX1VMVFJBX1dBVEVSX01BUksgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCUlBfQzJLXzFYUlRUX1JFR19CQVNFICsgMHgwMDc0KSkKKyNkZWZpbmUgRElfREVCVUcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJSUF9DMktfMVhSVFRfUkVHX0JBU0UgKyAweDAwNzgpKQorI2RlZmluZSBERUJVR19UUklHX1NFTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQlJQX0MyS18xWFJUVF9SRUdfQkFTRSArIDB4MDA3YykpCisjZGVmaW5lIEVOQ19GU01fU1RBVEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCUlBfQzJLXzFYUlRUX1JFR19CQVNFICsgMHgwMDkwKSkKKyNkZWZpbmUgQ1JDX0RCR19GTEFHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJSUF9DMktfMVhSVFRfUkVHX0JBU0UgKyAweDAwOTQpKQorI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQlJQX0MyS18xWFJUVF9SRUdfQkFTRSArIDB4MDA5OCkpCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCUlBfQzJLXzFYUlRUX1JFR19CQVNFICsgMHgwMDljKSkKKyNkZWZpbmUgVVRYQlJQX0NUUkxfRlNNX1NUQVRFMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJSUF9DMktfMVhSVFRfUkVHX0JBU0UgKyAweDAwYTApKQorI2RlZmluZSBVVFhCUlBfQ1RSTF9GU01fU1RBVEUyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQlJQX0MyS18xWFJUVF9SRUdfQkFTRSArIDB4MDBhNCkpCisjZGVmaW5lIFJNX0ZTTV9TVEFURSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCUlBfQzJLXzFYUlRUX1JFR19CQVNFICsgMHgwMGE4KSkKKyNkZWZpbmUgUlVNQVBfRlNNX1NUQVRFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJSUF9DMktfMVhSVFRfUkVHX0JBU0UgKyAweDAwYWMpKQorI2RlZmluZSBVVFhCUlBfVEVTVF9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQlJQX0MyS18xWFJUVF9SRUdfQkFTRSArIDB4MDBjNCkpCisjZGVmaW5lIENSUF9TV19SRUFEX0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCUlBfQzJLXzFYUlRUX1JFR19CQVNFICsgMHgwMGM4KSkKKyNkZWZpbmUgQzJLX1JFQURfUlNUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJSUF9DMktfMVhSVFRfUkVHX0JBU0UgKyAweDAwY2MpKQorI2RlZmluZSBSVFRfU1RBUlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQlJQX0MyS18xWFJUVF9SRUdfQkFTRSArIDB4MDBmMCkpCisjZGVmaW5lIFRYQV9JTlBVVF9MRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCUlBfQzJLXzFYUlRUX1JFR19CQVNFICsgMHgwMTEwKSkKKyNkZWZpbmUgVFhBX1BVTkMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJSUF9DMktfMVhSVFRfUkVHX0JBU0UgKyAweDAxMTgpKQorI2RlZmluZSBUWEFfSEFfTU9ERSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQlJQX0MyS18xWFJUVF9SRUdfQkFTRSArIDB4MDExYykpCisjZGVmaW5lIFRYQV9JTlRSTFZfUEFSTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCUlBfQzJLXzFYUlRUX1JFR19CQVNFICsgMHgwMTIwKSkKKyNkZWZpbmUgVFhBX0ZSRVBfTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJSUF9DMktfMVhSVFRfUkVHX0JBU0UgKyAweDAxMjQpKQorI2RlZmluZSBDSExfVFlQRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQlJQX0MyS18xWFJUVF9SRUdfQkFTRSArIDB4MDEyOCkpCisjZGVmaW5lIFRYQV9DUkMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCUlBfQzJLXzFYUlRUX1JFR19CQVNFICsgMHgwMTJjKSkKKyNkZWZpbmUgVFhBX0ZSRVBfTFBNTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJSUF9DMktfMVhSVFRfUkVHX0JBU0UgKyAweDAxMzApKQorI2RlZmluZSBUWEFfRlJFUF9NTTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQlJQX0MyS18xWFJUVF9SRUdfQkFTRSArIDB4MDEzNCkpCisjZGVmaW5lIFRYQV9GUkVQX0FDQzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCUlBfQzJLXzFYUlRUX1JFR19CQVNFICsgMHgwMTM4KSkKKyNkZWZpbmUgVFhBX1BVTkNfUEFUMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJSUF9DMktfMVhSVFRfUkVHX0JBU0UgKyAweDAxM2MpKQorI2RlZmluZSBUWEFfUFVOQ19QQVQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQlJQX0MyS18xWFJUVF9SRUdfQkFTRSArIDB4MDE0MCkpCisjZGVmaW5lIFRYQV9GUkVQX0xQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCUlBfQzJLXzFYUlRUX1JFR19CQVNFICsgMHgwMTQ0KSkKKyNkZWZpbmUgVFhBX1RTVF9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJSUF9DMktfMVhSVFRfUkVHX0JBU0UgKyAweDAxNDgpKQorI2RlZmluZSBSVFRfQ0hOTF9CQVNFX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQlJQX0MyS18xWFJUVF9SRUdfQkFTRSArIDB4MDE0YykpCisjZGVmaW5lIFRYQlJQX0RCR19DUkMzMl9FTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCUlBfQzJLXzFYUlRUX1JFR19CQVNFICsgMHgwM2JjKSkKKyNkZWZpbmUgVFhCUlBfREJHX0NSQzMyX1JTTFRfSV9SVFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJSUF9DMktfMVhSVFRfUkVHX0JBU0UgKyAweDAzYzApKQorI2RlZmluZSBUWEJSUF9EQkdfQ1JDMzJfUlNMVF9RX1JUVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQlJQX0MyS18xWFJUVF9SRUdfQkFTRSArIDB4MDNjNCkpCisjZGVmaW5lIERFQlVHX0NSQ19TRUwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCUlBfQzJLXzFYUlRUX1JFR19CQVNFICsgMHgwM2M4KSkKKworCisjZGVmaW5lIFdPUktfTU9ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBXT1JLX01PREVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgV09SS19NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUYpCisKKyNkZWZpbmUgR0xPQkFMX0lSUV9ESV9FUlJfSVJRX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEdMT0JBTF9JUlFfRElfRVJSX0lSUV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBHTE9CQUxfSVJRX0RJX0VSUl9JUlFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgR0xPQkFMX0lSUV9ESV9FUlJfSVJRX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgR0xPQkFMX0lSUV9NT0RFX1JFR19BRERSX01JU19JUlFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIEdMT0JBTF9JUlFfTU9ERV9SRUdfQUREUl9NSVNfSVJRX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBHTE9CQUxfSVJRX01PREVfUkVHX0FERFJfTUlTX0lSUV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgR0xPQkFMX0lSUV9NT0RFX1JFR19BRERSX01JU19JUlFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgR0xPQkFMX0lSUV9NT0RFX1NXSVRDSF9JUlFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEdMT0JBTF9JUlFfTU9ERV9TV0lUQ0hfSVJRX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBHTE9CQUxfSVJRX01PREVfU1dJVENIX0lSUV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgR0xPQkFMX0lSUV9NT0RFX1NXSVRDSF9JUlFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgR0xPQkFMX0lSUV9NT0RFX0lSUV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEdMT0JBTF9JUlFfTU9ERV9JUlFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBHTE9CQUxfSVJRX01PREVfSVJRX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0xPQkFMX0lSUV9NT0RFX0lSUV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgR0xPQkFMX0lSUV9NQVNLX0RJX0VSUl9JUlFfTUFTS19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEdMT0JBTF9JUlFfTUFTS19ESV9FUlJfSVJRX01BU0tfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBHTE9CQUxfSVJRX01BU0tfRElfRVJSX0lSUV9NQVNLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgR0xPQkFMX0lSUV9NQVNLX0RJX0VSUl9JUlFfTUFTS19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgR0xPQkFMX0lSUV9NQVNLX01PREVfUkVHX0FERFJfTUlTX0lSUV9NQVNLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIEdMT0JBTF9JUlFfTUFTS19NT0RFX1JFR19BRERSX01JU19JUlFfTUFTS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBHTE9CQUxfSVJRX01BU0tfTU9ERV9SRUdfQUREUl9NSVNfSVJRX01BU0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgR0xPQkFMX0lSUV9NQVNLX01PREVfUkVHX0FERFJfTUlTX0lSUV9NQVNLX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgR0xPQkFMX0lSUV9NQVNLX01PREVfU1dJVENIX0lSUV9NQVNLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEdMT0JBTF9JUlFfTUFTS19NT0RFX1NXSVRDSF9JUlFfTUFTS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBHTE9CQUxfSVJRX01BU0tfTU9ERV9TV0lUQ0hfSVJRX01BU0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgR0xPQkFMX0lSUV9NQVNLX01PREVfU1dJVENIX0lSUV9NQVNLX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgR0xPQkFMX0lSUV9NQVNLX01PREVfSVJRX01BU0tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEdMT0JBTF9JUlFfTUFTS19NT0RFX0lSUV9NQVNLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBHTE9CQUxfSVJRX01BU0tfTU9ERV9JUlFfTUFTS19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0xPQkFMX0lSUV9NQVNLX01PREVfSVJRX01BU0tfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgR0xPQkFMX0lSUV9DTFJfRElfRVJSX0lSUV9DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEdMT0JBTF9JUlFfQ0xSX0RJX0VSUl9JUlFfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBHTE9CQUxfSVJRX0NMUl9ESV9FUlJfSVJRX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgR0xPQkFMX0lSUV9DTFJfRElfRVJSX0lSUV9DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgR0xPQkFMX0lSUV9DTFJfTU9ERV9SRUdfQUREUl9NSVNfSVJRX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIEdMT0JBTF9JUlFfQ0xSX01PREVfUkVHX0FERFJfTUlTX0lSUV9DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBHTE9CQUxfSVJRX0NMUl9NT0RFX1JFR19BRERSX01JU19JUlFfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgR0xPQkFMX0lSUV9DTFJfTU9ERV9SRUdfQUREUl9NSVNfSVJRX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgR0xPQkFMX0lSUV9DTFJfTU9ERV9TV0lUQ0hfSVJRX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEdMT0JBTF9JUlFfQ0xSX01PREVfU1dJVENIX0lSUV9DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBHTE9CQUxfSVJRX0NMUl9NT0RFX1NXSVRDSF9JUlFfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgR0xPQkFMX0lSUV9DTFJfTU9ERV9TV0lUQ0hfSVJRX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgR0xPQkFMX0lSUV9DTFJfTU9ERV9JUlFfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEdMT0JBTF9JUlFfQ0xSX01PREVfSVJRX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBHTE9CQUxfSVJRX0NMUl9NT0RFX0lSUV9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgR0xPQkFMX0lSUV9DTFJfTU9ERV9JUlFfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlRUX0lSUV9SVFRfVFJJR19FUlJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFJUVF9JUlFfUlRUX1RSSUdfRVJSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSVFRfSVJRX1JUVF9UUklHX0VSUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgUlRUX0lSUV9SVFRfVFJJR19FUlJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgUlRUX0lSUV9SVFRfQ0hOTDFfUkRfRVJSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJUVF9JUlFfUlRUX0NITkwxX1JEX0VSUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSVFRfSVJRX1JUVF9DSE5MMV9SRF9FUlJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUlRUX0lSUV9SVFRfQ0hOTDFfUkRfRVJSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUlRUX0lSUV9SVFRfQ0hOTDBfUkRfRVJSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJUVF9JUlFfUlRUX0NITkwwX1JEX0VSUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSVFRfSVJRX1JUVF9DSE5MMF9SRF9FUlJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgUlRUX0lSUV9SVFRfQ0hOTDBfUkRfRVJSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgUlRUX0lSUV9SVFRfRE9ORV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJUVF9JUlFfUlRUX0RPTkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSVFRfSVJRX1JUVF9ET05FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlRUX0lSUV9SVFRfRE9ORV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlRUX0lSUV9NQVNLX1JUVF9UUklHX0VSUl9NQVNLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFJUVF9JUlFfTUFTS19SVFRfVFJJR19FUlJfTUFTS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSVFRfSVJRX01BU0tfUlRUX1RSSUdfRVJSX01BU0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgUlRUX0lSUV9NQVNLX1JUVF9UUklHX0VSUl9NQVNLX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgUlRUX0lSUV9NQVNLX1JUVF9DSE5MMV9SRF9FUlJfTUFTS19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJUVF9JUlFfTUFTS19SVFRfQ0hOTDFfUkRfRVJSX01BU0tfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSVFRfSVJRX01BU0tfUlRUX0NITkwxX1JEX0VSUl9NQVNLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUlRUX0lSUV9NQVNLX1JUVF9DSE5MMV9SRF9FUlJfTUFTS19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUlRUX0lSUV9NQVNLX1JUVF9DSE5MMF9SRF9FUlJfTUFTS19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJUVF9JUlFfTUFTS19SVFRfQ0hOTDBfUkRfRVJSX01BU0tfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSVFRfSVJRX01BU0tfUlRUX0NITkwwX1JEX0VSUl9NQVNLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgUlRUX0lSUV9NQVNLX1JUVF9DSE5MMF9SRF9FUlJfTUFTS19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgUlRUX0lSUV9NQVNLX1JUVF9ET05FX01BU0tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJUVF9JUlFfTUFTS19SVFRfRE9ORV9NQVNLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSVFRfSVJRX01BU0tfUlRUX0RPTkVfTUFTS19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlRUX0lSUV9NQVNLX1JUVF9ET05FX01BU0tfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlRUX0lSUV9DTFJfUlRUX1RSSUdfRVJSX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFJUVF9JUlFfQ0xSX1JUVF9UUklHX0VSUl9DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSVFRfSVJRX0NMUl9SVFRfVFJJR19FUlJfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgUlRUX0lSUV9DTFJfUlRUX1RSSUdfRVJSX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgUlRUX0lSUV9DTFJfUlRUX0NITkwxX1JEX0VSUl9DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJUVF9JUlFfQ0xSX1JUVF9DSE5MMV9SRF9FUlJfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSVFRfSVJRX0NMUl9SVFRfQ0hOTDFfUkRfRVJSX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUlRUX0lSUV9DTFJfUlRUX0NITkwxX1JEX0VSUl9DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUlRUX0lSUV9DTFJfUlRUX0NITkwwX1JEX0VSUl9DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJUVF9JUlFfQ0xSX1JUVF9DSE5MMF9SRF9FUlJfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSVFRfSVJRX0NMUl9SVFRfQ0hOTDBfUkRfRVJSX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgUlRUX0lSUV9DTFJfUlRUX0NITkwwX1JEX0VSUl9DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgUlRUX0lSUV9DTFJfUlRUX0RPTkVfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJUVF9JUlFfQ0xSX1JUVF9ET05FX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSVFRfSVJRX0NMUl9SVFRfRE9ORV9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlRUX0lSUV9DTFJfUlRUX0RPTkVfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTl9UWDNHX1NXX0NLRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBUWEJSUF9TV19DS0VOX1RYM0dfU1dfQ0tFTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTl9UWDNHX1NXX0NLRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisjZGVmaW5lIFRYQlJQX1NXX0NLRU5fVFgzR19TV19DS0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorCisjZGVmaW5lIFRYQlJQX1NXX0NLRU5fVFhTUlBfU1dfQ0tFTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTl9UWFNSUF9TV19DS0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYQlJQX1NXX0NLRU5fVFhTUlBfU1dfQ0tFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorI2RlZmluZSBUWEJSUF9TV19DS0VOX1RYU1JQX1NXX0NLRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKworI2RlZmluZSBUWEJSUF9TV19DS0VOX0FQQl9TV19DS0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFRYQlJQX1NXX0NLRU5fQVBCX1NXX0NLRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9TV19DS0VOX0FQQl9TV19DS0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTl9BUEJfU1dfQ0tFTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTl9PQl9TV19DS0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFRYQlJQX1NXX0NLRU5fT0JfU1dfQ0tFTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9TV19DS0VOX09CX1NXX0NLRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTl9PQl9TV19DS0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTl9SVU1BUF9TV19DS0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFRYQlJQX1NXX0NLRU5fUlVNQVBfU1dfQ0tFTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9TV19DS0VOX1JVTUFQX1NXX0NLRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTl9SVU1BUF9TV19DS0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTl9JTlRMMl9TV19DS0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFRYQlJQX1NXX0NLRU5fSU5UTDJfU1dfQ0tFTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9TV19DS0VOX0lOVEwyX1NXX0NLRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTl9JTlRMMl9TV19DS0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTl9JTlRMMV9TV19DS0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFRYQlJQX1NXX0NLRU5fSU5UTDFfU1dfQ0tFTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9TV19DS0VOX0lOVEwxX1NXX0NLRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTl9JTlRMMV9TV19DS0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTl9TQ1JfU1dfQ0tFTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFRYQlJQX1NXX0NLRU5fU0NSX1NXX0NLRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9TV19DS0VOX1NDUl9TV19DS0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTl9TQ1JfU1dfQ0tFTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTl9STV9TV19DS0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFRYQlJQX1NXX0NLRU5fUk1fU1dfQ0tFTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9TV19DS0VOX1JNX1NXX0NLRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTl9STV9TV19DS0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTl9FTkNfU1dfQ0tFTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYQlJQX1NXX0NLRU5fRU5DX1NXX0NLRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9TV19DS0VOX0VOQ19TV19DS0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTl9FTkNfU1dfQ0tFTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTl9DUkNfU1dfQ0tFTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFRYQlJQX1NXX0NLRU5fQ1JDX1NXX0NLRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9TV19DS0VOX0NSQ19TV19DS0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTl9DUkNfU1dfQ0tFTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTl9ESV9TV19DS0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYQlJQX1NXX0NLRU5fRElfU1dfQ0tFTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9TV19DS0VOX0RJX1NXX0NLRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTl9ESV9TV19DS0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTl9UWEJSUF9TV19DS0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYQlJQX1NXX0NLRU5fVFhCUlBfU1dfQ0tFTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9TV19DS0VOX1RYQlJQX1NXX0NLRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTl9UWEJSUF9TV19DS0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfVFgzR19DTEtfQ1RSTFNFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBUWEJSUF9DTEtfQ1RSTFNFTF9UWDNHX0NMS19DVFJMU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfVFgzR19DTEtfQ1RSTFNFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisjZGVmaW5lIFRYQlJQX0NMS19DVFJMU0VMX1RYM0dfQ0xLX0NUUkxTRUxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorCisjZGVmaW5lIFRYQlJQX0NMS19DVFJMU0VMX1RYU1JQX0NMS19DVFJMU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfVFhTUlBfQ0xLX0NUUkxTRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYQlJQX0NMS19DVFJMU0VMX1RYU1JQX0NMS19DVFJMU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorI2RlZmluZSBUWEJSUF9DTEtfQ1RSTFNFTF9UWFNSUF9DTEtfQ1RSTFNFTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKworI2RlZmluZSBUWEJSUF9DTEtfQ1RSTFNFTF9BUEJfQ1RSTFNFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFRYQlJQX0NMS19DVFJMU0VMX0FQQl9DVFJMU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9DTEtfQ1RSTFNFTF9BUEJfQ1RSTFNFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfQVBCX0NUUkxTRUxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfT0JfQ1RSTFNFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFRYQlJQX0NMS19DVFJMU0VMX09CX0NUUkxTRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9DTEtfQ1RSTFNFTF9PQl9DVFJMU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfT0JfQ1RSTFNFTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfUlVNQVBfQ1RSTFNFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFRYQlJQX0NMS19DVFJMU0VMX1JVTUFQX0NUUkxTRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9DTEtfQ1RSTFNFTF9SVU1BUF9DVFJMU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfUlVNQVBfQ1RSTFNFTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfSU5UTDJfQ1RSTFNFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFRYQlJQX0NMS19DVFJMU0VMX0lOVEwyX0NUUkxTRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9DTEtfQ1RSTFNFTF9JTlRMMl9DVFJMU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfSU5UTDJfQ1RSTFNFTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfSU5UTDFfQ1RSTFNFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFRYQlJQX0NMS19DVFJMU0VMX0lOVEwxX0NUUkxTRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9DTEtfQ1RSTFNFTF9JTlRMMV9DVFJMU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfSU5UTDFfQ1RSTFNFTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfU0NSX0NUUkxTRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFRYQlJQX0NMS19DVFJMU0VMX1NDUl9DVFJMU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9DTEtfQ1RSTFNFTF9TQ1JfQ1RSTFNFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfU0NSX0NUUkxTRUxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfUk1fQ1RSTFNFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFRYQlJQX0NMS19DVFJMU0VMX1JNX0NUUkxTRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9DTEtfQ1RSTFNFTF9STV9DVFJMU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfUk1fQ1RSTFNFTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfRU5DX0NUUkxTRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYQlJQX0NMS19DVFJMU0VMX0VOQ19DVFJMU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9DTEtfQ1RSTFNFTF9FTkNfQ1RSTFNFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfRU5DX0NUUkxTRUxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfQ1JDX0NUUkxTRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFRYQlJQX0NMS19DVFJMU0VMX0NSQ19DVFJMU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9DTEtfQ1RSTFNFTF9DUkNfQ1RSTFNFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfQ1JDX0NUUkxTRUxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfRElfQ1RSTFNFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYQlJQX0NMS19DVFJMU0VMX0RJX0NUUkxTRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9DTEtfQ1RSTFNFTF9ESV9DVFJMU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfRElfQ1RSTFNFTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfVFhCUlBfQ0xLX0NUUkxTRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYQlJQX0NMS19DVFJMU0VMX1RYQlJQX0NMS19DVFJMU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9DTEtfQ1RSTFNFTF9UWEJSUF9DTEtfQ1RSTFNFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfVFhCUlBfQ0xLX0NUUkxTRUxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREVCVUdfUkVHX0JBTktfU0VMX0RFQlVHX1JFR19CQU5LX1NFTF8zX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBERUJVR19SRUdfQkFOS19TRUxfREVCVUdfUkVHX0JBTktfU0VMXzNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREVCVUdfUkVHX0JBTktfU0VMX0RFQlVHX1JFR19CQU5LX1NFTF8zX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkYwMDAwMDApCisKKyNkZWZpbmUgREVCVUdfUkVHX0JBTktfU0VMX0RFQlVHX1JFR19CQU5LX1NFTF8yX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBERUJVR19SRUdfQkFOS19TRUxfREVCVUdfUkVHX0JBTktfU0VMXzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREVCVUdfUkVHX0JBTktfU0VMX0RFQlVHX1JFR19CQU5LX1NFTF8yX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGRjAwMDApCisKKyNkZWZpbmUgREVCVUdfUkVHX0JBTktfU0VMX0RFQlVHX1JFR19CQU5LX1NFTF8xX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIERFQlVHX1JFR19CQU5LX1NFTF9ERUJVR19SRUdfQkFOS19TRUxfMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBERUJVR19SRUdfQkFOS19TRUxfREVCVUdfUkVHX0JBTktfU0VMXzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkYwMCkKKworI2RlZmluZSBERUJVR19SRUdfQkFOS19TRUxfREVCVUdfUkVHX0JBTktfU0VMXzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREVCVUdfUkVHX0JBTktfU0VMX0RFQlVHX1JFR19CQU5LX1NFTF8wX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIERFQlVHX1JFR19CQU5LX1NFTF9ERUJVR19SRUdfQkFOS19TRUxfMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEZGKQorCisjZGVmaW5lIE1FTV9URVNUX01PREVfQ1JQX1dSX01FTV9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNRU1fVEVTVF9NT0RFX0NSUF9XUl9NRU1fRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTUVNX1RFU1RfTU9ERV9DUlBfV1JfTUVNX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIE1FTV9URVNUX01PREVfQ1JQX1dSX01FTV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIE1FTV9URVNUX01PREVfTUVNX1RFU1RfTU9ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNRU1fVEVTVF9NT0RFX01FTV9URVNUX01PREVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTUVNX1RFU1RfTU9ERV9NRU1fVEVTVF9NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIE1FTV9URVNUX01PREVfTUVNX1RFU1RfTU9ERV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYQlJQX1RSSUdHRVJfTU9ERV9UWEJSUF90cmlnZ2VyX2VuYWJsZV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9UUklHR0VSX01PREVfVFhCUlBfdHJpZ2dlcl9lbmFibGVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhCUlBfVFJJR0dFUl9NT0RFX1RYQlJQX3RyaWdnZXJfZW5hYmxlX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFRYQlJQX1RSSUdHRVJfTU9ERV9UWEJSUF90cmlnZ2VyX2VuYWJsZV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFRYQlJQX1RSSUdHRVJfTU9ERV9UWEJSUF9UUklHR0VSX01PREVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWEJSUF9UUklHR0VSX01PREVfVFhCUlBfVFJJR0dFUl9NT0RFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhCUlBfVFJJR0dFUl9NT0RFX1RYQlJQX1RSSUdHRVJfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYQlJQX1RSSUdHRVJfTU9ERV9UWEJSUF9UUklHR0VSX01PREVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERJX1NXQVBfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBESV9TV0FQX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgRElfU1dBUF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDcpCisKKyNkZWZpbmUgRElfVEVTVF9DRkdfRElfVEVTVF9NT0RFX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBESV9URVNUX0NGR19ESV9URVNUX01PREVfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRElfVEVTVF9DRkdfRElfVEVTVF9NT0RFX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIERJX1RFU1RfQ0ZHX0RJX1RFU1RfTU9ERV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIERJX1RFU1RfQ0ZHX0RJX1RFU1RfREFUQV9TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBESV9URVNUX0NGR19ESV9URVNUX0RBVEFfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgRElfVEVTVF9DRkdfRElfVEVTVF9EQVRBX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzMDApCisKKyNkZWZpbmUgRElfVEVTVF9DRkdfRElfVEVTVF9SQU5EX1NFRURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERJX1RFU1RfQ0ZHX0RJX1RFU1RfUkFORF9TRUVEX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBESV9URVNUX0NGR19ESV9URVNUX1JBTkRfU0VFRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDBGRikKKworI2RlZmluZSBJX1JFR19VTFRSQV9QUkVfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgSV9SRUdfVUxUUkFfUFJFX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIElfUkVHX1VMVFJBX1BSRV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBJX1JFR19VTFRSQV9QUkVfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBJX1JFR19CRUdJTl9VTFRSQV9DTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgSV9SRUdfQkVHSU5fVUxUUkFfQ05UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIElfUkVHX0JFR0lOX1VMVFJBX0NOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIElfUkVHX1VMVFJBX1dBVEVSX01BUktfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBJX1JFR19VTFRSQV9XQVRFUl9NQVJLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgSV9SRUdfVUxUUkFfV0FURVJfTUFSS19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDcpCisKKyNkZWZpbmUgRElfREVCVUdfRE1BMF9TVEFURV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBESV9ERUJVR19ETUEwX1NUQVRFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgRElfREVCVUdfRE1BMF9TVEFURV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAzMDAwMDApCisKKyNkZWZpbmUgRElfREVCVUdfUkFNX1JEX1NUQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBESV9ERUJVR19SQU1fUkRfU1RBVEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgRElfREVCVUdfUkFNX1JEX1NUQVRFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMzAwMDApCisKKyNkZWZpbmUgRElfREVCVUdfT19ETUEwX1VUUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBESV9ERUJVR19PX0RNQTBfVVRSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRElfREVCVUdfT19ETUEwX1VUUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisjZGVmaW5lIERJX0RFQlVHX09fRE1BMF9VVFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorCisjZGVmaW5lIERJX0RFQlVHX09fRE1BMF9QVFJfVVRSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgRElfREVCVUdfT19ETUEwX1BUUl9VVFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERJX0RFQlVHX09fRE1BMF9QVFJfVVRSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBESV9ERUJVR19PX0RNQTBfUFRSX1VUUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBESV9ERUJVR19PX0RNQTBfUkRfUkVRX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERJX0RFQlVHX09fRE1BMF9SRF9SRVFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBESV9ERUJVR19PX0RNQTBfUkRfUkVRX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgRElfREVCVUdfT19ETUEwX1JEX1JFUV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgRElfREVCVUdfRE1BX0FMTF9SREFUQV9ET05FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIERJX0RFQlVHX0RNQV9BTExfUkRBVEFfRE9ORV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBESV9ERUJVR19ETUFfQUxMX1JEQVRBX0RPTkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgRElfREVCVUdfRE1BX0FMTF9SREFUQV9ET05FX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgRElfREVCVUdfUkFNX0ZVTExfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIERJX0RFQlVHX1JBTV9GVUxMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBESV9ERUJVR19SQU1fRlVMTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgRElfREVCVUdfUkFNX0ZVTExfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgRElfREVCVUdfQ0hFQ0tfRE9ORV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIERJX0RFQlVHX0NIRUNLX0RPTkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBESV9ERUJVR19DSEVDS19ET05FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgRElfREVCVUdfQ0hFQ0tfRE9ORV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgRElfREVCVUdfRElfT1VUX0JJVF9GSU5JU0hfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERJX0RFQlVHX0RJX09VVF9CSVRfRklOSVNIX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBESV9ERUJVR19ESV9PVVRfQklUX0ZJTklTSF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgRElfREVCVUdfRElfT1VUX0JJVF9GSU5JU0hfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgRElfREVCVUdfUkFNX0FMTF9SREFUQV9SRUFEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERJX0RFQlVHX1JBTV9BTExfUkRBVEFfUkVBRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBESV9ERUJVR19SQU1fQUxMX1JEQVRBX1JFQURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgRElfREVCVUdfUkFNX0FMTF9SREFUQV9SRUFEX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgRElfREVCVUdfRElfQlVTWV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERJX0RFQlVHX0RJX0JVU1lfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBESV9ERUJVR19ESV9CVVNZX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgRElfREVCVUdfRElfQlVTWV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgRElfREVCVUdfQ1JDX0JVRl9QSU5HX0VNUFRZX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERJX0RFQlVHX0NSQ19CVUZfUElOR19FTVBUWV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBESV9ERUJVR19DUkNfQlVGX1BJTkdfRU1QVFlfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgRElfREVCVUdfQ1JDX0JVRl9QSU5HX0VNUFRZX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgRElfREVCVUdfQ1RDX0JVRl9QT05HX0VNUFRZX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIERJX0RFQlVHX0NUQ19CVUZfUE9OR19FTVBUWV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBESV9ERUJVR19DVENfQlVGX1BPTkdfRU1QVFlfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgRElfREVCVUdfQ1RDX0JVRl9QT05HX0VNUFRZX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgRElfREVCVUdfQ1JDX0JVRl9MT0FEX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERJX0RFQlVHX0NSQ19CVUZfTE9BRF9TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBESV9ERUJVR19DUkNfQlVGX0xPQURfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgRElfREVCVUdfQ1JDX0JVRl9MT0FEX1NFTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgRElfREVCVUdfQ1JDX0JVRl9PVVRfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERJX0RFQlVHX0NSQ19CVUZfT1VUX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBESV9ERUJVR19DUkNfQlVGX09VVF9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgRElfREVCVUdfQ1JDX0JVRl9PVVRfU0VMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREVCVUdfVFJJR19TRUxfREVCVUdfVFJJR19TRUxfMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIERFQlVHX1RSSUdfU0VMX0RFQlVHX1RSSUdfU0VMXzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBERUJVR19UUklHX1NFTF9ERUJVR19UUklHX1NFTF8xX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkYwMCkKKworI2RlZmluZSBERUJVR19UUklHX1NFTF9ERUJVR19UUklHX1NFTF8wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREVCVUdfVFJJR19TRUxfREVCVUdfVFJJR19TRUxfMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIERFQlVHX1RSSUdfU0VMX0RFQlVHX1RSSUdfU0VMXzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEZGKQorCisjZGVmaW5lIEVOQ19GU01fU1RBVEVfV1RfQ09OVl9TVEFURV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNykKKyNkZWZpbmUgRU5DX0ZTTV9TVEFURV9XVF9DT05WX1NUQVRFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEVOQ19GU01fU1RBVEVfV1RfQ09OVl9TVEFURV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEUwMDAwKQorCisjZGVmaW5lIEVOQ19GU01fU1RBVEVfTFRFX1NUQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgRU5DX0ZTTV9TVEFURV9MVEVfU1RBVEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIEVOQ19GU01fU1RBVEVfTFRFX1NUQVRFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDFFMDAwKQorCisjZGVmaW5lIEVOQ19GU01fU1RBVEVfQ09ERUNfRElTX1NUQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgRU5DX0ZTTV9TVEFURV9DT0RFQ19ESVNfU1RBVEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEVOQ19GU01fU1RBVEVfQ09ERUNfRElTX1NUQVRFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxQzAwKQorCisjZGVmaW5lIEVOQ19GU01fU1RBVEVfQ09ERUNfRU5fU1RBVEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBFTkNfRlNNX1NUQVRFX0NPREVDX0VOX1NUQVRFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgRU5DX0ZTTV9TVEFURV9DT0RFQ19FTl9TVEFURV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzQzApCisKKyNkZWZpbmUgRU5DX0ZTTV9TVEFURV9DT0RFQ19XX1NUQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEVOQ19GU01fU1RBVEVfQ09ERUNfV19TVEFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBFTkNfRlNNX1NUQVRFX0NPREVDX1dfU1RBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzOCkKKworI2RlZmluZSBFTkNfRlNNX1NUQVRFX0NPREVDX1NUQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRU5DX0ZTTV9TVEFURV9DT0RFQ19TVEFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEVOQ19GU01fU1RBVEVfQ09ERUNfU1RBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIENSQ19EQkdfRkxBR19DUkNfTEVOX0RCR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNikKKyNkZWZpbmUgQ1JDX0RCR19GTEFHX0NSQ19MRU5fREJHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIENSQ19EQkdfRkxBR19DUkNfTEVOX0RCR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDdDMDAwMDAwKQorCisjZGVmaW5lIENSQ19EQkdfRkxBR19SVFRfUkNfSURYX0RCR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNSkKKyNkZWZpbmUgQ1JDX0RCR19GTEFHX1JUVF9SQ19JRFhfREJHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENSQ19EQkdfRkxBR19SVFRfUkNfSURYX0RCR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAyMDAwMDAwKQorI2RlZmluZSBDUkNfREJHX0ZMQUdfUlRUX1JDX0lEWF9EQkdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMjAwMDAwMCkKKworI2RlZmluZSBDUkNfREJHX0ZMQUdfQ1FJX09SX0RBVEFfREJHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIENSQ19EQkdfRkxBR19DUUlfT1JfREFUQV9EQkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDUkNfREJHX0ZMQUdfQ1FJX09SX0RBVEFfREJHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMTAwMDAwMCkKKyNkZWZpbmUgQ1JDX0RCR19GTEFHX0NRSV9PUl9EQVRBX0RCR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDEwMDAwMDApCisKKyNkZWZpbmUgQ1JDX0RCR19GTEFHX0NSQ19TVEFURV9EQkdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBDUkNfREJHX0ZMQUdfQ1JDX1NUQVRFX0RCR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgQ1JDX0RCR19GTEFHX0NSQ19TVEFURV9EQkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAzRjAwMDApCisKKyNkZWZpbmUgQ1JDX0RCR19GTEFHX0JJVF9DTlRfREJHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENSQ19EQkdfRkxBR19CSVRfQ05UX0RCR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgQ1JDX0RCR19GTEFHX0JJVF9DTlRfREJHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgSU5UTFZfQl9MV1RfU1RfMF9MVEVfV0VOX1NUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8wX0xURV9XRU5fU1RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgSU5UTFZfQl9MV1RfU1RfMF9MVEVfV0VOX1NUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMzgwMDApCisKKyNkZWZpbmUgSU5UTFZfQl9MV1RfU1RfMF9UU19XX1NUQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8wX1RTX1dfU1RBVEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgSU5UTFZfQl9MV1RfU1RfMF9UU19XX1NUQVRFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDcwMDApCisKKyNkZWZpbmUgSU5UTFZfQl9MV1RfU1RfMF9UU19SX1NUQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzBfVFNfUl9TVEFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8wX1RTX1JfU1RBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMEUwMCkKKworI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8wX1BQX1dfU1RBVEVfVVBBX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgSU5UTFZfQl9MV1RfU1RfMF9QUF9XX1NUQVRFX1VQQV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzBfUFBfV19TVEFURV9VUEFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUMwKQorCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzBfUFBfV19TVEFURV9EQ0hfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8wX1BQX1dfU1RBVEVfRENIX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgSU5UTFZfQl9MV1RfU1RfMF9QUF9XX1NUQVRFX0RDSF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMzgpCisKKyNkZWZpbmUgSU5UTFZfQl9MV1RfU1RfMF9TRUNfSU5UTFZfU1RBVEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzBfU0VDX0lOVExWX1NUQVRFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8wX1NFQ19JTlRMVl9TVEFURV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8xX0NMTV9DTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjUpCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzFfQ0xNX0NOVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8xX0NMTV9DTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgzRTAwMDAwMCkKKworI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8xX1JPV19DTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjIpCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzFfUk9XX0NOVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8xX1JPV19DTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMUMwMDAwMCkKKworI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8xX0JMS19DTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzFfQkxLX0NOVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8xX0JMS19DTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDNGQzAwMCkKKworI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8xX1NFQ19SRVFPX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzFfU0VDX1JFUU9fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8xX1NFQ19SRVFPX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKyNkZWZpbmUgSU5UTFZfQl9MV1RfU1RfMV9TRUNfUkVRT19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisKKyNkZWZpbmUgSU5UTFZfQl9MV1RfU1RfMV9QUFJfUkVRX1VQQV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzFfUFBSX1JFUV9VUEFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8xX1BQUl9SRVFfVVBBX19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDFFMDApCisKKyNkZWZpbmUgSU5UTFZfQl9MV1RfU1RfMV9QUFJfUkVBRF9ET05FX1VQQV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzFfUFBSX1JFQURfRE9ORV9VUEFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8xX1BQUl9SRUFEX0RPTkVfVVBBX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFFMCkKKworI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8xX1NFQ09ORF9JTlRMVl9ET05FX1VQQV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgSU5UTFZfQl9MV1RfU1RfMV9TRUNPTkRfSU5UTFZfRE9ORV9VUEFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzFfU0VDT05EX0lOVExWX0RPTkVfVVBBX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8xX1NFQ09ORF9JTlRMVl9ET05FX1VQQV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8xX1BQUl9SRVFfRENIX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgSU5UTFZfQl9MV1RfU1RfMV9QUFJfUkVRX0RDSF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzFfUFBSX1JFUV9EQ0hfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8xX1BQUl9SRVFfRENIX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8xX1BQUl9SRUFEX0RPTkVfRENIX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgSU5UTFZfQl9MV1RfU1RfMV9QUFJfUkVBRF9ET05FX0RDSF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzFfUFBSX1JFQURfRE9ORV9EQ0hfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8xX1BQUl9SRUFEX0RPTkVfRENIX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8xX1NFQ09ORF9JTlRMVl9ET05FX0RDSF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgSU5UTFZfQl9MV1RfU1RfMV9TRUNPTkRfSU5UTFZfRE9ORV9EQ0hfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzFfU0VDT05EX0lOVExWX0RPTkVfRENIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8xX1NFQ09ORF9JTlRMVl9ET05FX0RDSF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8xX0RDSF9FRENIX01PREVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgSU5UTFZfQl9MV1RfU1RfMV9EQ0hfRURDSF9NT0RFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzFfRENIX0VEQ0hfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8xX0RDSF9FRENIX01PREVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBVVFhCUlBfQ1RSTF9GU01fU1RBVEUxX1VUWEJSUF9MVEVfU1RfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFVUWEJSUF9DVFJMX0ZTTV9TVEFURTFfVVRYQlJQX0xURV9TVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBVVFhCUlBfQ1RSTF9GU01fU1RBVEUxX1VUWEJSUF9MVEVfU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwM0YwMDAwMCkKKworI2RlZmluZSBVVFhCUlBfQ1RSTF9GU01fU1RBVEUxX1VUWEJSUF9UT1BfU1RfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVVRYQlJQX0NUUkxfRlNNX1NUQVRFMV9VVFhCUlBfVE9QX1NUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBVVFhCUlBfQ1RSTF9GU01fU1RBVEUxX1VUWEJSUF9UT1BfU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGRikKKworI2RlZmluZSBVVFhCUlBfQ1RSTF9GU01fU1RBVEUyX1VUWEJSUF9VVF9TVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFVUWEJSUF9DVFJMX0ZTTV9TVEFURTJfVVRYQlJQX1VUX1NUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBVVFhCUlBfQ1RSTF9GU01fU1RBVEUyX1VUWEJSUF9VVF9TVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGMDAwMCkKKworI2RlZmluZSBVVFhCUlBfQ1RSTF9GU01fU1RBVEUyX1VUWEJSUF9TMl9TVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgVVRYQlJQX0NUUkxfRlNNX1NUQVRFMl9VVFhCUlBfUzJfU1RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFVUWEJSUF9DVFJMX0ZTTV9TVEFURTJfVVRYQlJQX1MyX1NUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRjgwKQorCisjZGVmaW5lIFVUWEJSUF9DVFJMX0ZTTV9TVEFURTJfVVRYQlJQX1MxX1NUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBVVFhCUlBfQ1RSTF9GU01fU1RBVEUyX1VUWEJSUF9TMV9TVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgVVRYQlJQX0NUUkxfRlNNX1NUQVRFMl9VVFhCUlBfUzFfU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwN0YpCisKKyNkZWZpbmUgUk1fRlNNX1NUQVRFX0JJVF9TRVBfU1RBVEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBSTV9GU01fU1RBVEVfQklUX1NFUF9TVEFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgUk1fRlNNX1NUQVRFX0JJVF9TRVBfU1RBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwNzAwMDApCisKKyNkZWZpbmUgUk1fRlNNX1NUQVRFX0JDX1NUQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJNX0ZTTV9TVEFURV9CQ19TVEFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgUk1fRlNNX1NUQVRFX0JDX1NUQVRFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgUlVNQVBfRlNNX1NUQVRFX0JVRl9TVEFURV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFJVTUFQX0ZTTV9TVEFURV9CVUZfU1RBVEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSVU1BUF9GU01fU1RBVEVfQlVGX1NUQVRFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgUlVNQVBfRlNNX1NUQVRFX0JVRl9TVEFURV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgUlVNQVBfRlNNX1NUQVRFX1JVX01BUF9TVEFURV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJVTUFQX0ZTTV9TVEFURV9SVV9NQVBfU1RBVEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBSVU1BUF9GU01fU1RBVEVfUlVfTUFQX1NUQVRFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxRikKKworI2RlZmluZSBVVFhCUlBfVEVTVF9NT0RFX1VUWEJSUF9QV1JfVEVTVF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVVRYQlJQX1RFU1RfTU9ERV9VVFhCUlBfUFdSX1RFU1RfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFVUWEJSUF9URVNUX01PREVfVVRYQlJQX1BXUl9URVNUX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBVVFhCUlBfVEVTVF9NT0RFX1VUWEJSUF9QV1JfVEVTVF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBVVFhCUlBfVEVTVF9NT0RFX1VUWEJSUF9TRUxGX1RFU1RfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVVRYQlJQX1RFU1RfTU9ERV9VVFhCUlBfU0VMRl9URVNUX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFVUWEJSUF9URVNUX01PREVfVVRYQlJQX1NFTEZfVEVTVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBVVFhCUlBfVEVTVF9NT0RFX1VUWEJSUF9TRUxGX1RFU1RfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBDUlBfU1dfUkVBRF9DVFJMX0NSUF9XX0RBVEFfRENIX1A0X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIENSUF9TV19SRUFEX0NUUkxfQ1JQX1dfREFUQV9EQ0hfUDRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBDUlBfU1dfUkVBRF9DVFJMX0NSUF9XX0RBVEFfRENIX1A0X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNjAwMCkKKworI2RlZmluZSBDUlBfU1dfUkVBRF9DVFJMX0NSUF9XX0RBVEFfRENIX1AzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIENSUF9TV19SRUFEX0NUUkxfQ1JQX1dfREFUQV9EQ0hfUDNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBDUlBfU1dfUkVBRF9DVFJMX0NSUF9XX0RBVEFfRENIX1AzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTgwMCkKKworI2RlZmluZSBDUlBfU1dfUkVBRF9DVFJMX0NSUF9XX0RBVEFfRENIX1AyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgQ1JQX1NXX1JFQURfQ1RSTF9DUlBfV19EQVRBX0RDSF9QMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENSUF9TV19SRUFEX0NUUkxfQ1JQX1dfREFUQV9EQ0hfUDJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNjAwKQorCisjZGVmaW5lIENSUF9TV19SRUFEX0NUUkxfQ1JQX1dfREFUQV9EQ0hfUDFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBDUlBfU1dfUkVBRF9DVFJMX0NSUF9XX0RBVEFfRENIX1AxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQ1JQX1NXX1JFQURfQ1RSTF9DUlBfV19EQVRBX0RDSF9QMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxODApCisKKyNkZWZpbmUgQ1JQX1NXX1JFQURfQ1RSTF9DUlBfV19EQVRBX0RDSF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIENSUF9TV19SRUFEX0NUUkxfQ1JQX1dfREFUQV9EQ0hfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBDUlBfU1dfUkVBRF9DVFJMX0NSUF9XX0RBVEFfRENIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA2MCkKKworI2RlZmluZSBDUlBfU1dfUkVBRF9DVFJMX0NSUF9XX1JFUV9FRENIX1A0X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgQ1JQX1NXX1JFQURfQ1RSTF9DUlBfV19SRVFfRURDSF9QNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENSUF9TV19SRUFEX0NUUkxfQ1JQX1dfUkVRX0VEQ0hfUDRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBDUlBfU1dfUkVBRF9DVFJMX0NSUF9XX1JFUV9FRENIX1A0X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBDUlBfU1dfUkVBRF9DVFJMX0NSUF9XX1JFUV9FRENIX1AzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgQ1JQX1NXX1JFQURfQ1RSTF9DUlBfV19SRVFfRURDSF9QM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENSUF9TV19SRUFEX0NUUkxfQ1JQX1dfUkVRX0VEQ0hfUDNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBDUlBfU1dfUkVBRF9DVFJMX0NSUF9XX1JFUV9FRENIX1AzX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBDUlBfU1dfUkVBRF9DVFJMX0NSUF9XX1JFUV9FRENIX1AyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQ1JQX1NXX1JFQURfQ1RSTF9DUlBfV19SRVFfRURDSF9QMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENSUF9TV19SRUFEX0NUUkxfQ1JQX1dfUkVRX0VEQ0hfUDJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBDUlBfU1dfUkVBRF9DVFJMX0NSUF9XX1JFUV9FRENIX1AyX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBDUlBfU1dfUkVBRF9DVFJMX0NSUF9XX1JFUV9FRENIX1AxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ1JQX1NXX1JFQURfQ1RSTF9DUlBfV19SRVFfRURDSF9QMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENSUF9TV19SRUFEX0NUUkxfQ1JQX1dfUkVRX0VEQ0hfUDFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBDUlBfU1dfUkVBRF9DVFJMX0NSUF9XX1JFUV9FRENIX1AxX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBDUlBfU1dfUkVBRF9DVFJMX0NSUF9XX1JFUV9EQ0hfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1JQX1NXX1JFQURfQ1RSTF9DUlBfV19SRVFfRENIX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENSUF9TV19SRUFEX0NUUkxfQ1JQX1dfUkVRX0RDSF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBDUlBfU1dfUkVBRF9DVFJMX0NSUF9XX1JFUV9EQ0hfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBDMktfUkVBRF9SU1RfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQzJLX1JFQURfUlNUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEMyS19SRUFEX1JTVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBDMktfUkVBRF9SU1RfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSVFRfU1RBUlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlRUX1NUQVJUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJUVF9TVEFSVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSVFRfU1RBUlRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUWEFfSU5QVVRfTEVOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhBX0lOUFVUX0xFTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBUWEFfSU5QVVRfTEVOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMUZGRikKKworI2RlZmluZSBUWEFfUFVOQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhBX1BVTkNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFRYQV9QVU5DX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIFRYQV9IQV9NT0RFX1RYX1NVUF9DSF9SRVBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgVFhBX0hBX01PREVfVFhfU1VQX0NIX1JFUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYQV9IQV9NT0RFX1RYX1NVUF9DSF9SRVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxQzAwKQorCisjZGVmaW5lIFRYQV9IQV9NT0RFX1RYX0NMS19FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBUWEFfSEFfTU9ERV9UWF9DTEtfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhBX0hBX01PREVfVFhfQ0xLX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIFRYQV9IQV9NT0RFX1RYX0NMS19FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIFRYQV9IQV9NT0RFX1RVUkJPX1RFU1RfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBUWEFfSEFfTU9ERV9UVVJCT19URVNUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhBX0hBX01PREVfVFVSQk9fVEVTVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFRYQV9IQV9NT0RFX1RVUkJPX1RFU1RfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFRYQV9IQV9NT0RFX0lOVFJMVl9SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBUWEFfSEFfTU9ERV9JTlRSTFZfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgVFhBX0hBX01PREVfSU5UUkxWX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwQzApCisKKyNkZWZpbmUgVFhBX0hBX01PREVfSU5UUkxWX1RZUEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFRYQV9IQV9NT0RFX0lOVFJMVl9UWVBFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBUWEFfSEFfTU9ERV9JTlRSTFZfVFlQRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzMCkKKworI2RlZmluZSBUWEFfSEFfTU9ERV9FTkNfUkFURV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgVFhBX0hBX01PREVfRU5DX1JBVEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFRYQV9IQV9NT0RFX0VOQ19SQVRFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBDKQorCisjZGVmaW5lIFRYQV9IQV9NT0RFX0VOQ19UWVBFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEFfSEFfTU9ERV9FTkNfVFlQRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhBX0hBX01PREVfRU5DX1RZUEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFRYQV9IQV9NT0RFX0VOQ19UWVBFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFRYQV9IQV9NT0RFX1RYX0hBX01FTV9SU1RfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWEFfSEFfTU9ERV9UWF9IQV9NRU1fUlNUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhBX0hBX01PREVfVFhfSEFfTUVNX1JTVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYQV9IQV9NT0RFX1RYX0hBX01FTV9SU1RfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYQV9JTlRSTFZfUEFSTV9CTEtfSjFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBUWEFfSU5UUkxWX1BBUk1fQkxLX0oxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgVFhBX0lOVFJMVl9QQVJNX0JMS19KMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDBFMDApCisKKyNkZWZpbmUgVFhBX0lOVFJMVl9QQVJNX0JMS19KMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFRYQV9JTlRSTFZfUEFSTV9CTEtfSjBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUWEFfSU5UUkxWX1BBUk1fQkxLX0owX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFDMCkKKworI2RlZmluZSBUWEFfSU5UUkxWX1BBUk1fQkxLX01fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgVFhBX0lOVFJMVl9QQVJNX0JMS19NX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFRYQV9JTlRSTFZfUEFSTV9CTEtfTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDMwKQorCisjZGVmaW5lIFRYQV9JTlRSTFZfUEFSTV9UVVJCT19OX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWEFfSU5UUkxWX1BBUk1fVFVSQk9fTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgVFhBX0lOVFJMVl9QQVJNX1RVUkJPX05fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDcpCisKKyNkZWZpbmUgVFhBX0ZSRVBfTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYQV9GUkVQX0xfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgVFhBX0ZSRVBfTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDNGRkYpCisKKyNkZWZpbmUgQ0hMX1RZUEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENITF9UWVBFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBDSExfVFlQRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMykKKworI2RlZmluZSBUWEFfQ1JDX1JUVF9SQ19JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgVFhBX0NSQ19SVFRfUkNfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYQV9DUkNfUlRUX1JDX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBUWEFfQ1JDX1JUVF9SQ19JRFhfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBUWEFfQ1JDX1RYQV9DUkNfTEVOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhBX0NSQ19UWEFfQ1JDX0xFTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFRYQV9DUkNfVFhBX0NSQ19MRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIFRYQV9GUkVQX0xQTUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWEFfRlJFUF9MUE1MX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFRYQV9GUkVQX0xQTUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIFRYQV9GUkVQX01NMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWEFfRlJFUF9NTTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFRYQV9GUkVQX01NMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIFRYQV9GUkVQX0FDQzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWEFfRlJFUF9BQ0MwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFRYQV9GUkVQX0FDQzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIFRYQV9QVU5DX1BBVDBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWEFfUFVOQ19QQVQwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFRYQV9QVU5DX1BBVDBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIFRYQV9QVU5DX1BBVDFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWEFfUFVOQ19QQVQxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFRYQV9QVU5DX1BBVDFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIFRYQV9GUkVQX0xQX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWEFfRlJFUF9MUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFRYQV9GUkVQX0xQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIFRYQV9UU1RfQ1RSTF9UWEFfQUREX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBUWEFfVFNUX0NUUkxfVFhBX0FERF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFRYQV9UU1RfQ1RSTF9UWEFfQUREX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRkZDKQorCisjZGVmaW5lIFRYQV9UU1RfQ1RSTF9UWEFfQUREX01EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEFfVFNUX0NUUkxfVFhBX0FERF9NRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhBX1RTVF9DVFJMX1RYQV9BRERfTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFRYQV9UU1RfQ1RSTF9UWEFfQUREX01EX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFRYQV9UU1RfQ1RSTF9UWEFfVFNUX01EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWEFfVFNUX0NUUkxfVFhBX1RTVF9NRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhBX1RTVF9DVFJMX1RYQV9UU1RfTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYQV9UU1RfQ1RSTF9UWEFfVFNUX01EX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJUVF9DSE5MX0JBU0VfQUREUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSVFRfQ0hOTF9CQVNFX0FERFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFJUVF9DSE5MX0JBU0VfQUREUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFRYQlJQX0RCR19DUkMzMl9FTl9UWEJSUF9EQkdfV1RfQ1JDX1JTVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBUWEJSUF9EQkdfQ1JDMzJfRU5fVFhCUlBfREJHX1dUX0NSQ19SU1RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhCUlBfREJHX0NSQzMyX0VOX1RYQlJQX0RCR19XVF9DUkNfUlNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFRYQlJQX0RCR19DUkMzMl9FTl9UWEJSUF9EQkdfV1RfQ1JDX1JTVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFRYQlJQX0RCR19DUkMzMl9FTl9UWEJSUF9EQkdfV1RfQ1JDX1FfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9EQkdfQ1JDMzJfRU5fVFhCUlBfREJHX1dUX0NSQ19RX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhCUlBfREJHX0NSQzMyX0VOX1RYQlJQX0RCR19XVF9DUkNfUV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFRYQlJQX0RCR19DUkMzMl9FTl9UWEJSUF9EQkdfV1RfQ1JDX1FfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFRYQlJQX0RCR19DUkMzMl9FTl9UWEJSUF9EQkdfV1RfQ1JDX0lfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWEJSUF9EQkdfQ1JDMzJfRU5fVFhCUlBfREJHX1dUX0NSQ19JX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhCUlBfREJHX0NSQzMyX0VOX1RYQlJQX0RCR19XVF9DUkNfSV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYQlJQX0RCR19DUkMzMl9FTl9UWEJSUF9EQkdfV1RfQ1JDX0lfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYQlJQX0RCR19DUkMzMl9SU0xUX0lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWEJSUF9EQkdfQ1JDMzJfUlNMVF9JX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIFRYQlJQX0RCR19DUkMzMl9SU0xUX0lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkZGRkZGKQorCisjZGVmaW5lIFRYQlJQX0RCR19DUkMzMl9SU0xUX1FfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWEJSUF9EQkdfQ1JDMzJfUlNMVF9RX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIFRYQlJQX0RCR19DUkMzMl9SU0xUX1FfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkZGRkZGKQorCisjZGVmaW5lIERFQlVHX0NSQ19TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBERUJVR19DUkNfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREVCVUdfQ1JDX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNlbmRpZiAvLyNpZm5kZWYgX0NQSF8xWF9UWEJSUF9IXwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaDF4dHhjcnAuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGgxeHR4Y3JwLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2ZlMTM1NQotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGgxeHR4Y3JwLmgKQEAgLTAsMCArMSwyNzEgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhfMVhfVFhDUlBfSF8KKyNkZWZpbmUgX0NQSF8xWF9UWENSUF9IXworCisvKiogVEJEOiBDb21tb24gcmVnaXN0ZXIgcmVhZCBhbmQgd3JpdGUgZnVuY3Rpb24sIG1heWJlIHJlcGxhY2VkIGxhdGVyICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBTUkFNQUREUjsgICAgICAgICAvKiBTUkFNIGFkZHIgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIFNSQU1EQVRBOyAgICAgICAgIC8qIFNSQU0gZGF0YSBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogQVBCQUREUjsgICAgICAgICAgLyogQVBCIGFkZHIgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBBUEJEQVRBOyAgICAgICAgICAvKiBBUEIgZGF0YSBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyogIEFQQkFERFIzMjsgICAgICAgIC8qIEFQQiBhZGRyIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICAgQVBCREFUQTMyOyAgICAgICAgLyogQVBCIGRhdGEgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBEUFJBTUFERFI7ICAgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgc2lnbmVkICAgc2hvcnQqIERQUkFNQUREUl9TOyAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgRFBSQU1EQVRBOyAgICAgICAgLyogRFBSQU0gZGF0YSBpcyAxNiBiaXRzICovCisKKyNpZiBkZWZpbmVkKF9fTUQ5M19fKXx8ZGVmaW5lZChfX01EOTVfXykKKyNkZWZpbmUgVFhDUlBfQ18xWFJUVF9SRUdfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhhODE2MDAwMCkKKyNlbHNlCisjZGVmaW5lIFRYQ1JQX0NfMVhSVFRfUkVHX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4YTg5NjAwMDApCisjZW5kaWYKKyNkZWZpbmUgVFhDUlBfQ18xWFJUVF9lbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoVFhDUlBfQ18xWFJUVF9SRUdfQkFTRSArIDB4MDA2NCArIDEqNCkKKworI2RlZmluZSBDMVhUWENSUF9BQ0sxX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9DXzFYUlRUX1JFR19CQVNFICsgMHgwMDAwKSkKKyNkZWZpbmUgQzFYVFhDUlBfQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfQ18xWFJUVF9SRUdfQkFTRSArIDB4MDAwNCkpCisjZGVmaW5lIEMxWFRYQ1JQX1BDX0JJVF9FUE0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0NfMVhSVFRfUkVHX0JBU0UgKyAweDAwMDgpKQorI2RlZmluZSBDMVhUWENSUF9GQ0hfU0NBTEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9DXzFYUlRUX1JFR19CQVNFICsgMHgwMDBDKSkKKyNkZWZpbmUgQzFYVFhDUlBfU0NIX1NDQUxFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfQ18xWFJUVF9SRUdfQkFTRSArIDB4MDAxMCkpCisjZGVmaW5lIEMxWFRYQ1JQX1BJTE9UX1NDQUxFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0NfMVhSVFRfUkVHX0JBU0UgKyAweDAwMTQpKQorI2RlZmluZSBDMVhUWENSUF9BQ0tDSDFfU0NBTEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9DXzFYUlRUX1JFR19CQVNFICsgMHgwMDE4KSkKKyNkZWZpbmUgQzFYVFhDUlBfVEVTVF9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfQ18xWFJUVF9SRUdfQkFTRSArIDB4MDAxQykpCisjZGVmaW5lIEMxWFRYQ1JQX0xDX0lOSVRfMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0NfMVhSVFRfUkVHX0JBU0UgKyAweDAwMjApKQorI2RlZmluZSBDMVhUWENSUF9MQ19JTklUXzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9DXzFYUlRUX1JFR19CQVNFICsgMHgwMDI0KSkKKyNkZWZpbmUgQzFYVFhDUlBfTENfSU5JVF8yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfQ18xWFJUVF9SRUdfQkFTRSArIDB4MDAyOCkpCisjZGVmaW5lIEMxWFRYQ1JQX0xDX01BU0tfMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0NfMVhSVFRfUkVHX0JBU0UgKyAweDAwMkMpKQorI2RlZmluZSBDMVhUWENSUF9MQ19NQVNLXzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9DXzFYUlRUX1JFR19CQVNFICsgMHgwMDMwKSkKKyNkZWZpbmUgQzFYVFhDUlBfTENfTUFTS18yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfQ18xWFJUVF9SRUdfQkFTRSArIDB4MDAzNCkpCisjZGVmaW5lIEMxWFRYQ1JQX0xDX1NDUkFNQkxFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0NfMVhSVFRfUkVHX0JBU0UgKyAweDAwMzgpKQorI2RlZmluZSBDMVhUWENSUF9BQ1RJVkVfU1RPUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9DXzFYUlRUX1JFR19CQVNFICsgMHgwMDNDKSkKKyNkZWZpbmUgQzFYVFhDUlBfU0NfSU5JVF9QQ0cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfQ18xWFJUVF9SRUdfQkFTRSArIDB4MDA0MCkpCisjZGVmaW5lIEMxWFRYQ1JQX0ZDSF9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0NfMVhSVFRfUkVHX0JBU0UgKyAweDAwNDQpKQorI2RlZmluZSBDMVhUWENSUF9LU19TVEFSVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9DXzFYUlRUX1JFR19CQVNFICsgMHgwMDQ4KSkKKyNkZWZpbmUgQzFYVFhDUlBfS1NfU1FVQVJFX0RCX1JFU1VMVCAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfQ18xWFJUVF9SRUdfQkFTRSArIDB4MDA0QykpCisjZGVmaW5lIEMxWFRYQ1JQX1BDR19JTkRFWF9FUE0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0NfMVhSVFRfUkVHX0JBU0UgKyAweDAwNTQpKQorI2RlZmluZSBDMVhUWENSUF9UWEJSUF9NRU1fRU5EX0VQTSAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9DXzFYUlRUX1JFR19CQVNFICsgMHgwMDU4KSkKKyNkZWZpbmUgQzFYVFhDUlBfREVCVUdfT0JfMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfQ18xWFJUVF9SRUdfQkFTRSArIDB4MDA1QykpCisjZGVmaW5lIEMxWFRYQ1JQX0RFQlVHX09CXzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0NfMVhSVFRfUkVHX0JBU0UgKyAweDAwNjApKQorI2RlZmluZSBDMVhUWENSUF9MQVRDSF9TV0lUQ0ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9DXzFYUlRUX1JFR19CQVNFICsgMHgwMDY0KSkKKy8vI2RlZmluZSBDMVhUWENSUF9TV19SRVNFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9DXzFYUlRUX1JFR19CQVNFICsgMHgwMDY4KSkKKworLyoqIFJlZ2lzdGVyIGZpbGVkIGRlZmluaXRpb24gKi8KKyNkZWZpbmUgQUNLQ0gxX1JFU1VMVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEFDS0NIMV9SRVNVTFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBBQ0tDSDFfUkVTVUxUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQUNLQ0gxX1JFU1VMVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQUNLQ0gxX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIEFDS0NIMV9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBBQ0tDSDFfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgQUNLQ0gxX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgU0NIX1dBTFNIX0NPVkVSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFNDSF9XQUxTSF9DT1ZFUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTQ0hfV0FMU0hfQ09WRVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDBDMCkKKworI2RlZmluZSBQSUxPVF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgUElMT1RfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFBJTE9UX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBQSUxPVF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBTQ0hfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgU0NIX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNDSF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBTQ0hfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBGQ0hfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgRkNIX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEZDSF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBGQ0hfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBJUzk1X0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgSVM5NV9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIElTOTVfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBJUzk1X0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBQQ19CSVRfTUFOVUFMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUENfQklUX01BTlVBTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFBDX0JJVF9NQU5VQUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBQQ19CSVRfTUFOVUFMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBQQ19CSVRfTUFOVUFMX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUENfQklUX01BTlVBTF9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFBDX0JJVF9NQU5VQUxfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBQQ19CSVRfTUFOVUFMX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBGQ0hfU0NBTEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRkNIX1NDQUxFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIEZDSF9TQ0FMRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIFNDSF9TQ0FMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTQ0hfU0NBTEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU0NIX1NDQUxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgUElMT1RfU0NBTEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFBJTE9UX1NDQUxFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBQSUxPVF9TQ0FMRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBBQ0tDSDFfU0NBTEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQUNLQ0gxX1NDQUxFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIEFDS0NIMV9TQ0FMRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIFRFU1RDVFJMX0hXX0NMS0VOX0JZUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBURVNUQ1RSTF9IV19DTEtFTl9CWVBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVEVTVENUUkxfSFdfQ0xLRU5fQllQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFRFU1RDVFJMX0hXX0NMS0VOX0JZUF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFRFU1RDVFJMX0NPTkpVR0FURV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBURVNUQ1RSTF9DT05KVUdBVEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVEVTVENUUkxfQ09OSlVHQVRFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRFU1RDVFJMX0NPTkpVR0FURV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIExDX0lOSVRfVkFMVUVfMTVfMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBMQ19JTklUX1ZBTFVFXzE1XzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIExDX0lOSVRfVkFMVUVfMTVfMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIExDX0lOSVRfVkFMVUVfMzFfMTZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBMQ19JTklUX1ZBTFVFXzMxXzE2X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIExDX0lOSVRfVkFMVUVfMzFfMTZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIExDX0lOSVRfVkFMVUVfNDFfMzJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBMQ19JTklUX1ZBTFVFXzQxXzMyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIExDX0lOSVRfVkFMVUVfNDFfMzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwM0ZGKQorCisjZGVmaW5lIExDX01BU0tfMTVfMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBMQ19NQVNLXzE1XzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIExDX01BU0tfMTVfMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIExDX01BU0tfMzFfMTZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBMQ19NQVNLXzMxXzE2X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIExDX01BU0tfMzFfMTZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIExDX01BU0tfNDFfMzJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBMQ19NQVNLXzQxXzMyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIExDX01BU0tfNDFfMzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwM0ZGKQorCisjZGVmaW5lIExDX1NDUkFNQkxFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBMQ19TQ1JBTUJMRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIExDX1NDUkFNQkxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAzRkZGKQorCisjZGVmaW5lIEFDVElWRV9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBBQ1RJVkVfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQUNUSVZFX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIEFDVElWRV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFNUT1BfQllfUENHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVE9QX0JZX1BDR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RPUF9CWV9QQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNUT1BfQllfUENHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNDX0lOSVRfUENHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTQ19JTklUX1BDR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgU0NfSU5JVF9QQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwN0UpCisKKyNkZWZpbmUgU0NfSU5JVF9QQ0dfU1RBUlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNDX0lOSVRfUENHX1NUQVJUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTQ19JTklUX1BDR19TVEFSVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgU0NfSU5JVF9QQ0dfU1RBUlRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgRkNIX1BSRUFNQkxFX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEZDSF9QUkVBTUJMRV9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBGQ0hfUFJFQU1CTEVfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgRkNIX1BSRUFNQkxFX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgRkNIX0dBVElOR19FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEZDSF9HQVRJTkdfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBGQ0hfR0FUSU5HX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgRkNIX0dBVElOR19FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgS1NfQ0FMQ19TVEFSVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEtTX0NBTENfU1RBUlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBLU19DQUxDX1NUQVJUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgS1NfQ0FMQ19TVEFSVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgS1NfQ0FMQ19NQU5VQUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEtTX0NBTENfTUFOVUFMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBLU19DQUxDX01BTlVBTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgS1NfQ0FMQ19NQU5VQUxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgS1NfQ0FMQ19SRVNVTFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEtTX0NBTENfUkVTVUxUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgS1NfQ0FMQ19SRVNVTFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDNGRkUpCisKKyNkZWZpbmUgS1NfQ0FMQ19GSU5JU0hfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEtTX0NBTENfRklOSVNIX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBLU19DQUxDX0ZJTklTSF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgS1NfQ0FMQ19GSU5JU0hfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUENHX0lOREVYX01BTlVBTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFBDR19JTkRFWF9NQU5VQUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBQQ0dfSU5ERVhfTUFOVUFMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxRSkKKworI2RlZmluZSBQQ0dfSU5ERVhfTUFOVUFMX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUENHX0lOREVYX01BTlVBTF9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFBDR19JTkRFWF9NQU5VQUxfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBQQ0dfSU5ERVhfTUFOVUFMX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUWEJSUF9BRERSXzJfTUFOVUFMX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFRYQlJQX0FERFJfMl9NQU5VQUxfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgVFhCUlBfQUREUl8yX01BTlVBTF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZDMDApCisKKyNkZWZpbmUgVFhCUlBfQUREUl8xX01BTlVBTF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYQlJQX0FERFJfMV9NQU5VQUxfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBUWEJSUF9BRERSXzFfTUFOVUFMX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGRSkKKworI2RlZmluZSBUWEJSUF9BRERSX01BTlVBTF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhCUlBfQUREUl9NQU5VQUxfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYQlJQX0FERFJfTUFOVUFMX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUWEJSUF9BRERSX01BTlVBTF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBIV19ERUJVR19PQl8zMV8wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgSFdfREVCVUdfT0JfMzFfMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBIV19ERUJVR19PQl8zMV8wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBIV19ERUJVR19PQl82M18zMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgSFdfREVCVUdfT0JfNjNfMzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBIV19ERUJVR19PQl82M18zMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBMQVRDSF9TV0lUQ0hfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTEFUQ0hfU1dJVENIX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIExBVENIX1NXSVRDSF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBMQVRDSF9TV0lUQ0hfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBTV19SU1RfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1dfUlNUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNXX1JTVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBTV19SU1RfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGgxeHR4dG1yLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoMXh0eHRtci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlMjg0OWEKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoMXh0eHRtci5oCkBAIC0wLDAgKzEsNjUgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhfMVhfVFhUUk1fSF8KKyNkZWZpbmUgX0NQSF8xWF9UWF9UUk1fSF8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIFNSQU1BRERSOyAgICAgICAgIC8qIFNSQU0gYWRkciBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgU1JBTURBVEE7ICAgICAgICAgLyogU1JBTSBkYXRhIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBBUEJBRERSOyAgICAgICAgICAvKiBBUEIgYWRkciBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIEFQQkRBVEE7ICAgICAgICAgIC8qIEFQQiBkYXRhIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nKiAgQVBCQUREUjMyOyAgICAgICAgLyogQVBCIGFkZHIgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgICBBUEJEQVRBMzI7ICAgICAgICAvKiBBUEIgZGF0YSBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIERQUkFNQUREUjsgICAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSBzaWduZWQgICBzaG9ydCogRFBSQU1BRERSX1M7ICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBEUFJBTURBVEE7ICAgICAgICAvKiBEUFJBTSBkYXRhIGlzIDE2IGJpdHMgKi8KKworI2RlZmluZSBUWFRNUl9DXzFYUlRUX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKSAvKipUQkQqLworICAgIAorI2RlZmluZSBDMVhUWFRNUl9FTkFCTEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFRNUl9DXzFYUlRUX1JFR19CQVNFICsgMHgwMDAwKSkKKyNkZWZpbmUgQzFYVFhUTVJfRlJBTUVfT0ZGU0VUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhUTVJfQ18xWFJUVF9SRUdfQkFTRSArIDB4MDAwNCkpCisjZGVmaW5lIEMxWFRYVE1SX1RSWF9ETFkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYVE1SX0NfMVhSVFRfUkVHX0JBU0UgKyAweDAwMDgpKQorI2RlZmluZSBDMVhUWFRNUl9SQV9ETFkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFRNUl9DXzFYUlRUX1JFR19CQVNFICsgMHgwMDBDKSkKKyNkZWZpbmUgQzFYVFhUTVJfVFhERkVfV0lOX09OX09GRlNFVCAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhUTVJfQ18xWFJUVF9SRUdfQkFTRSArIDB4MDAxMCkpCisjZGVmaW5lIEMxWFRYVE1SX1RYREZFX1dJTl9PRkZfT0ZGU0VUICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYVE1SX0NfMVhSVFRfUkVHX0JBU0UgKyAweDAwMTQpKQorI2RlZmluZSBDMVhUWFRNUl9UWERGRV9GSUZPX1dJTl9PTl9PRkZTRVQgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFRNUl9DXzFYUlRUX1JFR19CQVNFICsgMHgwMDE4KSkKKyNkZWZpbmUgQzFYVFhUTVJfVFhERkVfRklGT19XSU5fT0ZGX09GRlNFVCAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhUTVJfQ18xWFJUVF9SRUdfQkFTRSArIDB4MDAxQykpCisjZGVmaW5lIEMxWFRYVE1SX1RYREFDX1dJTl9PTl9PRkZTRVQgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYVE1SX0NfMVhSVFRfUkVHX0JBU0UgKyAweDAwMjApKQorI2RlZmluZSBDMVhUWFRNUl9UWERBQ19XSU5fT0ZGX09GRlNFVCAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFRNUl9DXzFYUlRUX1JFR19CQVNFICsgMHgwMDI0KSkKKyNkZWZpbmUgQzFYVFhUTVJfVFhCUlBfU1RSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhUTVJfQ18xWFJUVF9SRUdfQkFTRSArIDB4MDAyOCkpCisjZGVmaW5lIEMxWFRYVE1SX1RYQ1JQX1NUUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYVE1SX0NfMVhSVFRfUkVHX0JBU0UgKyAweDAwMkMpKQorI2RlZmluZSBDMVhUWFRNUl9LU19TVFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFRNUl9DXzFYUlRUX1JFR19CQVNFICsgMHgwMDMwKSkKKyNkZWZpbmUgQzFYVFhUTVJfU1lTVE1SX0NOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhUTVJfQ18xWFJUVF9SRUdfQkFTRSArIDB4MDAzNCkpCisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoYjJyaWYuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhiMnJpZi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2ZTVkOWEKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoYjJyaWYuaApAQCAtMCwwICsxLDM5IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmIGRlZmluZWQoX19NRDkzX18pIHx8IGRlZmluZWQoX19NRDk1X18pCisjaW5jbHVkZSAiY3BoYjJyaWZfOTNfOTUuaCIKKyNlbHNlCisjaW5jbHVkZSAiY3BoYjJyaWZfOTcuaCIKKyNlbmRpZgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhiMnJpZl85M185NS5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGIycmlmXzkzXzk1LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTcyOTNkNgotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhiMnJpZl85M185NS5oCkBAIC0wLDAgKzEsMjI4IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfRUwxRF9SRUdfRUxCUlVTX0hfCisjZGVmaW5lIF9FTDFEX1JFR19FTEJSVVNfSF8KKworCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBTUkFNQUREUjsgICAgICAgICAvKiBTUkFNIGFkZHIgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIFNSQU1EQVRBOyAgICAgICAgIC8qIFNSQU0gZGF0YSBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogQVBCQUREUjsgICAgICAgICAgLyogQVBCIGFkZHIgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBBUEJEQVRBOyAgICAgICAgICAvKiBBUEIgZGF0YSBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyogIEFQQkFERFIzMjsgICAgICAgIC8qIEFQQiBhZGRyIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICAgQVBCREFUQTMyOyAgICAgICAgLyogQVBCIGRhdGEgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBEUFJBTUFERFI7ICAgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgc2lnbmVkICAgc2hvcnQqIERQUkFNQUREUl9TOyAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgRFBSQU1EQVRBOyAgICAgICAgLyogRFBSQU0gZGF0YSBpcyAxNiBiaXRzICovCisKKworI2RlZmluZSBCMlJJRl9SRUdfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhBQzEwMDAwMCkKKworI2RlZmluZSBCMlJJRl9lbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoQjJSSUZfUkVHX0JBU0UgKyAweDAwM0MgKyAxKjQpCisKKworCisjZGVmaW5lIEIyUklGX0NPTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCMlJJRl9SRUdfQkFTRSArIDB4MDAwMCkpCisjZGVmaW5lIEIyUklGX1NXX1JTVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCMlJJRl9SRUdfQkFTRSArIDB4MDAwNCkpCisjZGVmaW5lIEIyUklGXzJTTE9UX0lORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCMlJJRl9SRUdfQkFTRSArIDB4MDAwOCkpCisjZGVmaW5lIEIyUklGX0RJUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCMlJJRl9SRUdfQkFTRSArIDB4MDAwQykpCisjZGVmaW5lIEIyUklGX0RCR19DT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCMlJJRl9SRUdfQkFTRSArIDB4MDAxMCkpCisjZGVmaW5lIEIyUklGX1JSRVFfQ05UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCMlJJRl9SRUdfQkFTRSArIDB4MDAxNCkpCisjZGVmaW5lIEIyUklGX1JSRFlfQ05UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCMlJJRl9SRUdfQkFTRSArIDB4MDAxOCkpCisjZGVmaW5lIEIyUklGX0xSRVFfQ05UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCMlJJRl9SRUdfQkFTRSArIDB4MDAxQykpCisjZGVmaW5lIEIyUklGX1JfQ09OX0EwQzBfMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCMlJJRl9SRUdfQkFTRSArIDB4MDAyMCkpCisjZGVmaW5lIEIyUklGX1JfQ09OX0ExQzBfMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCMlJJRl9SRUdfQkFTRSArIDB4MDAyNCkpCisjZGVmaW5lIEIyUklGX1JfQ09OX0EwQzFfMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCMlJJRl9SRUdfQkFTRSArIDB4MDAyOCkpCisjZGVmaW5lIEIyUklGX1JfQ09OX0ExQzFfMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCMlJJRl9SRUdfQkFTRSArIDB4MDAyQykpCisjZGVmaW5lIEIyUklGX1JfQ09OX0EwQzBfMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCMlJJRl9SRUdfQkFTRSArIDB4MDAzMCkpCisjZGVmaW5lIEIyUklGX1JfQ09OX0ExQzBfMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCMlJJRl9SRUdfQkFTRSArIDB4MDAzNCkpCisjZGVmaW5lIEIyUklGX1JfQ09OX0EwQzFfMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCMlJJRl9SRUdfQkFTRSArIDB4MDAzOCkpCisjZGVmaW5lIEIyUklGX1JfQ09OX0ExQzFfMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCMlJJRl9SRUdfQkFTRSArIDB4MDAzQykpCisjZGVmaW5lIEIyUklGX1JfQ09OX1FMSUNfMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCMlJJRl9SRUdfQkFTRSArIDB4MDA0MCkpCisjZGVmaW5lIEIyUklGX1JfQ09OX1FMSUNfMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCMlJJRl9SRUdfQkFTRSArIDB4MDA0NCkpCisjZGVmaW5lIEIyUklGX0hPTERfU1RBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCMlJJRl9SRUdfQkFTRSArIDB4MDA0OCkpCisKKworI2RlZmluZSBCMlJJRl9DT05fQjJSSUZfTU9ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQjJSSUZfQ09OX0IyUklGX01PREVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIEIyUklGX0NPTl9CMlJJRl9NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBDKQorCisjZGVmaW5lIEIyUklGX0NPTl9CMlJJRl9RTElDX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCMlJJRl9DT05fQjJSSUZfUUxJQ19FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQjJSSUZfQ09OX0IyUklGX1FMSUNfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIEIyUklGX0NPTl9CMlJJRl9RTElDX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIEIyUklGX0NPTl9CMlJJRl9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCMlJJRl9DT05fQjJSSUZfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQjJSSUZfQ09OX0IyUklGX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEIyUklGX0NPTl9CMlJJRl9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEIyUklGX1NXX1JTVF9CMlJJRl9TV19SU1RfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCMlJJRl9TV19SU1RfQjJSSUZfU1dfUlNUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQjJSSUZfU1dfUlNUX0IyUklGX1NXX1JTVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEIyUklGX1NXX1JTVF9CMlJJRl9TV19SU1RfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEIyUklGXzJTTE9UX0lORF9CMlJJRl8yU0xPVF9JTkRfMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCMlJJRl8yU0xPVF9JTkRfQjJSSUZfMlNMT1RfSU5EXzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQjJSSUZfMlNMT1RfSU5EX0IyUklGXzJTTE9UX0lORF8xX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIEIyUklGXzJTTE9UX0lORF9CMlJJRl8yU0xPVF9JTkRfMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIEIyUklGXzJTTE9UX0lORF9CMlJJRl8yU0xPVF9JTkRfMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCMlJJRl8yU0xPVF9JTkRfQjJSSUZfMlNMT1RfSU5EXzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQjJSSUZfMlNMT1RfSU5EX0IyUklGXzJTTE9UX0lORF8wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEIyUklGXzJTTE9UX0lORF9CMlJJRl8yU0xPVF9JTkRfMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEIyUklGX0RJU19MRFJfUkVRX0RJU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBCMlJJRl9ESVNfTERSX1JFUV9ESVNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQjJSSUZfRElTX0xEUl9SRVFfRElTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIEIyUklGX0RJU19MRFJfUkVRX0RJU19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIEIyUklGX0RJU19CUkFNX1JFQUQwX0RJU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBCMlJJRl9ESVNfQlJBTV9SRUFEMF9ESVNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQjJSSUZfRElTX0JSQU1fUkVBRDBfRElTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIEIyUklGX0RJU19CUkFNX1JFQUQwX0RJU19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIEIyUklGX0RJU19CUkFNX1JFQUQxX0RJU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCMlJJRl9ESVNfQlJBTV9SRUFEMV9ESVNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQjJSSUZfRElTX0JSQU1fUkVBRDFfRElTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIEIyUklGX0RJU19CUkFNX1JFQUQxX0RJU19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIEIyUklGX0RJU19MRFJfTFBXUl9ESVNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCMlJJRl9ESVNfTERSX0xQV1JfRElTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQjJSSUZfRElTX0xEUl9MUFdSX0RJU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEIyUklGX0RJU19MRFJfTFBXUl9ESVNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEIyUklGX0RCR19DT05fREJHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBCMlJJRl9EQkdfQ09OX0RCR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQjJSSUZfREJHX0NPTl9EQkdfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIEIyUklGX0RCR19DT05fREJHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIEIyUklGX0RCR19DT05fREJHX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCMlJJRl9EQkdfQ09OX0RCR19FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQjJSSUZfREJHX0NPTl9EQkdfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEIyUklGX0RCR19DT05fREJHX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEIyUklGX1JSRVFfQ05UX1JSRVFfQ05UXzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBCMlJJRl9SUkVRX0NOVF9SUkVRX0NOVF8xX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgQjJSSUZfUlJFUV9DTlRfUlJFUV9DTlRfMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGMDApCisKKyNkZWZpbmUgQjJSSUZfUlJFUV9DTlRfUlJFUV9DTlRfMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEIyUklGX1JSRVFfQ05UX1JSRVFfQ05UXzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBCMlJJRl9SUkVRX0NOVF9SUkVRX0NOVF8wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDBGRikKKworI2RlZmluZSBCMlJJRl9SUkRZX0NOVF9SUkRZX0NOVF8xX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgQjJSSUZfUlJEWV9DTlRfUlJEWV9DTlRfMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIEIyUklGX1JSRFlfQ05UX1JSRFlfQ05UXzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRjAwKQorCisjZGVmaW5lIEIyUklGX1JSRFlfQ05UX1JSRFlfQ05UXzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCMlJJRl9SUkRZX0NOVF9SUkRZX0NOVF8wX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgQjJSSUZfUlJEWV9DTlRfUlJEWV9DTlRfMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwRkYpCisKKyNkZWZpbmUgQjJSSUZfTFJFUV9DTlRfTE9BREVSX1JFUV9DTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEIyUklGX0xSRVFfQ05UX0xPQURFUl9SRVFfQ05UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBCMlJJRl9MUkVRX0NOVF9MT0FERVJfUkVRX0NOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDBGRikKKworI2RlZmluZSBCMlJJRl9SX0NPTl9BMEMwXzBfQjJSSUZfUl9TVF9TQU1fSURYXzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEIyUklGX1JfQ09OX0EwQzBfMF9CMlJJRl9SX1NUX1NBTV9JRFhfMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTBDMF8wX0IyUklGX1JfU1RfU0FNX0lEWF8wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTBDMF8wX0IyUklGX1JfQkFTRV9BRERSXzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEIyUklGX1JfQ09OX0EwQzBfMF9CMlJJRl9SX0JBU0VfQUREUl8wX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTBDMF8wX0IyUklGX1JfQkFTRV9BRERSXzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTFDMF8wX0IyUklGX1JfU1RfU0FNX0lEWF8xX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBCMlJJRl9SX0NPTl9BMUMwXzBfQjJSSUZfUl9TVF9TQU1fSURYXzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEIyUklGX1JfQ09OX0ExQzBfMF9CMlJJRl9SX1NUX1NBTV9JRFhfMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIEIyUklGX1JfQ09OX0ExQzBfMF9CMlJJRl9SX0JBU0VfQUREUl8xX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCMlJJRl9SX0NPTl9BMUMwXzBfQjJSSUZfUl9CQVNFX0FERFJfMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEIyUklGX1JfQ09OX0ExQzBfMF9CMlJJRl9SX0JBU0VfQUREUl8xX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIEIyUklGX1JfQ09OX0EwQzFfMF9CMlJJRl9SX1NUX1NBTV9JRFhfMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTBDMV8wX0IyUklGX1JfU1RfU0FNX0lEWF8yX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBCMlJJRl9SX0NPTl9BMEMxXzBfQjJSSUZfUl9TVF9TQU1fSURYXzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBCMlJJRl9SX0NPTl9BMEMxXzBfQjJSSUZfUl9CQVNFX0FERFJfMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTBDMV8wX0IyUklGX1JfQkFTRV9BRERSXzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBCMlJJRl9SX0NPTl9BMEMxXzBfQjJSSUZfUl9CQVNFX0FERFJfMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBCMlJJRl9SX0NPTl9BMUMxXzBfQjJSSUZfUl9TVF9TQU1fSURYXzNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEIyUklGX1JfQ09OX0ExQzFfMF9CMlJJRl9SX1NUX1NBTV9JRFhfM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTFDMV8wX0IyUklGX1JfU1RfU0FNX0lEWF8zX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTFDMV8wX0IyUklGX1JfQkFTRV9BRERSXzNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEIyUklGX1JfQ09OX0ExQzFfMF9CMlJJRl9SX0JBU0VfQUREUl8zX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTFDMV8wX0IyUklGX1JfQkFTRV9BRERSXzNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTBDMF8xX0IyUklGX1JfQlVGX1NJWkVfMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEIyUklGX1JfQ09OX0EwQzBfMV9CMlJJRl9SX0JVRl9TSVpFXzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTBDMF8xX0IyUklGX1JfQlVGX1NJWkVfMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTFDMF8xX0IyUklGX1JfQlVGX1NJWkVfMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEIyUklGX1JfQ09OX0ExQzBfMV9CMlJJRl9SX0JVRl9TSVpFXzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTFDMF8xX0IyUklGX1JfQlVGX1NJWkVfMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTBDMV8xX0IyUklGX1JfQlVGX1NJWkVfMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEIyUklGX1JfQ09OX0EwQzFfMV9CMlJJRl9SX0JVRl9TSVpFXzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTBDMV8xX0IyUklGX1JfQlVGX1NJWkVfMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTFDMV8xX0IyUklGX1JfQlVGX1NJWkVfM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEIyUklGX1JfQ09OX0ExQzFfMV9CMlJJRl9SX0JVRl9TSVpFXzNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTFDMV8xX0IyUklGX1JfQlVGX1NJWkVfM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgQjJSSUZfUl9DT05fUUxJQ18wX0IyUklGX1JfU1RfU0FNX0lEWF9RX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBCMlJJRl9SX0NPTl9RTElDXzBfQjJSSUZfUl9TVF9TQU1fSURYX1FfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgQjJSSUZfUl9DT05fUUxJQ18wX0IyUklGX1JfU1RfU0FNX0lEWF9RX01BU0ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgQjJSSUZfUl9DT05fUUxJQ18wX0IyUklGX1JfQkFTRV9BRERSX1FfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQjJSSUZfUl9DT05fUUxJQ18wX0IyUklGX1JfQkFTRV9BRERSX1FfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgQjJSSUZfUl9DT05fUUxJQ18wX0IyUklGX1JfQkFTRV9BRERSX1FfTUFTSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBCMlJJRl9SX0NPTl9RTElDXzFfQjJSSUZfUl9CVUZfU0laRV9RX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCMlJJRl9SX0NPTl9RTElDXzFfQjJSSUZfUl9CVUZfU0laRV9RX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEIyUklGX1JfQ09OX1FMSUNfMV9CMlJJRl9SX0JVRl9TSVpFX1FfTUFTSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBCMlJJRl9IT0xEX1NUQV9CMlJJRl9IT0xEX0NOVF9SRUFMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEIyUklGX0hPTERfU1RBX0IyUklGX0hPTERfQ05UX1JFQUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBCMlJJRl9IT0xEX1NUQV9CMlJJRl9IT0xEX0NOVF9SRUFMX01BU0ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgQjJSSUZfSE9MRF9TVEFfQjJSSUZfSE9MRF9DTlRfT1ZFUl9TVEFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBCMlJJRl9IT0xEX1NUQV9CMlJJRl9IT0xEX0NOVF9PVkVSX1NUQV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQjJSSUZfSE9MRF9TVEFfQjJSSUZfSE9MRF9DTlRfT1ZFUl9TVEFfTUFTSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBCMlJJRl9IT0xEX1NUQV9CMlJJRl9IT0xEX0NOVF9NQVhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCMlJJRl9IT0xEX1NUQV9CMlJJRl9IT0xEX0NOVF9NQVhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIEIyUklGX0hPTERfU1RBX0IyUklGX0hPTERfQ05UX01BWF9NQVNIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEZGKQorCisjZW5kaWYgLy8jaWZuZGVmIF9FTDFEX1JFR19FTEJSVVNfSF8KZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhiMnJpZl85Ny5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGIycmlmXzk3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjhiM2I2ZAotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhiMnJpZl85Ny5oCkBAIC0wLDAgKzEsMjYxIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfQ1BIX0IyUklGXzk3X0hfCisjZGVmaW5lIF9DUEhfQjJSSUZfOTdfSF8KKworCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBTUkFNQUREUjsgICAgICAgICAvKiBTUkFNIGFkZHIgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIFNSQU1EQVRBOyAgICAgICAgIC8qIFNSQU0gZGF0YSBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogQVBCQUREUjsgICAgICAgICAgLyogQVBCIGFkZHIgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBBUEJEQVRBOyAgICAgICAgICAvKiBBUEIgZGF0YSBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyogIEFQQkFERFIzMjsgICAgICAgIC8qIEFQQiBhZGRyIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICAgQVBCREFUQTMyOyAgICAgICAgLyogQVBCIGRhdGEgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBEUFJBTUFERFI7ICAgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgc2lnbmVkICAgc2hvcnQqIERQUkFNQUREUl9TOyAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgRFBSQU1EQVRBOyAgICAgICAgLyogRFBSQU0gZGF0YSBpcyAxNiBiaXRzICovCisKKworI2RlZmluZSBCMlJJRl9SRUdfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QUNEMDAwMDApCisKKyNkZWZpbmUgQjJSSUZfZW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChCMlJJRl9SRUdfQkFTRSArIDB4MDEwOCArIDEqNCkKKworCisKKyNkZWZpbmUgQjJSSUZfQ09OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEIyUklGX1JFR19CQVNFICsgMHgwMDAwKSkKKyNkZWZpbmUgQjJSSUZfU1dfUlNUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEIyUklGX1JFR19CQVNFICsgMHgwMDA0KSkKKyNkZWZpbmUgQjJSSUZfMlNMT1RfSU5EICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEIyUklGX1JFR19CQVNFICsgMHgwMDA4KSkKKyNkZWZpbmUgQjJSSUZfRElTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEIyUklGX1JFR19CQVNFICsgMHgwMDBDKSkKKyNkZWZpbmUgQjJSSUZfREJHX0NPTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEIyUklGX1JFR19CQVNFICsgMHgwMDEwKSkKKyNkZWZpbmUgQjJSSUZfUlJFUV9DTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEIyUklGX1JFR19CQVNFICsgMHgwMDE0KSkKKyNkZWZpbmUgQjJSSUZfUlJEWV9DTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEIyUklGX1JFR19CQVNFICsgMHgwMDE4KSkKKyNkZWZpbmUgQjJSSUZfTFJFUV9DTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEIyUklGX1JFR19CQVNFICsgMHgwMDFDKSkKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTBDMF8wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEIyUklGX1JFR19CQVNFICsgMHgwMDIwKSkKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTFDMF8wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEIyUklGX1JFR19CQVNFICsgMHgwMDI0KSkKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTBDMV8wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEIyUklGX1JFR19CQVNFICsgMHgwMDI4KSkKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTFDMV8wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEIyUklGX1JFR19CQVNFICsgMHgwMDJDKSkKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTBDMF8xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEIyUklGX1JFR19CQVNFICsgMHgwMDMwKSkKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTFDMF8xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEIyUklGX1JFR19CQVNFICsgMHgwMDM0KSkKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTBDMV8xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEIyUklGX1JFR19CQVNFICsgMHgwMDM4KSkKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTFDMV8xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEIyUklGX1JFR19CQVNFICsgMHgwMDNDKSkKKyNkZWZpbmUgQjJSSUZfUl9DT05fUUxJQ18wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEIyUklGX1JFR19CQVNFICsgMHgwMDQwKSkKKyNkZWZpbmUgQjJSSUZfUl9DT05fUUxJQ18xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEIyUklGX1JFR19CQVNFICsgMHgwMDQ0KSkKKyNkZWZpbmUgQjJSSUZfSE9MRF9TVEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEIyUklGX1JFR19CQVNFICsgMHgwMDQ4KSkKKyNkZWZpbmUgQjJSSUZfUkVTRVJWRUQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEIyUklGX1JFR19CQVNFICsgMHgwMDRjKSkKKyNkZWZpbmUgQjJSSUZfUkVTRVJWRUQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEIyUklGX1JFR19CQVNFICsgMHgwMDUwKSkKKyNkZWZpbmUgSUNfU1lOQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEIyUklGX1JFR19CQVNFICsgMHgwMTAwKSkKKyNkZWZpbmUgSUNfU1lOQ19TWVNfQ05UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEIyUklGX1JFR19CQVNFICsgMHgwMTA0KSkKKyNkZWZpbmUgSUNfU1lOQ19JQ19BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEIyUklGX1JFR19CQVNFICsgMHgwMTA4KSkKKworCisKKworI2RlZmluZSBCMlJJRl9DT05fQjJSSUZfTU9ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQjJSSUZfQ09OX0IyUklGX01PREVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIEIyUklGX0NPTl9CMlJJRl9NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBDKQorCisjZGVmaW5lIEIyUklGX0NPTl9CMlJJRl9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCMlJJRl9DT05fQjJSSUZfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQjJSSUZfQ09OX0IyUklGX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEIyUklGX0NPTl9CMlJJRl9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEIyUklGX1NXX1JTVF9CMlJJRl9TV19SU1RfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCMlJJRl9TV19SU1RfQjJSSUZfU1dfUlNUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQjJSSUZfU1dfUlNUX0IyUklGX1NXX1JTVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEIyUklGX1NXX1JTVF9CMlJJRl9TV19SU1RfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEIyUklGXzJTTE9UX0lORF9CMlJJRl8yU0xPVF9JTkRfMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCMlJJRl8yU0xPVF9JTkRfQjJSSUZfMlNMT1RfSU5EXzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQjJSSUZfMlNMT1RfSU5EX0IyUklGXzJTTE9UX0lORF8xX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIEIyUklGXzJTTE9UX0lORF9CMlJJRl8yU0xPVF9JTkRfMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIEIyUklGXzJTTE9UX0lORF9CMlJJRl8yU0xPVF9JTkRfMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCMlJJRl8yU0xPVF9JTkRfQjJSSUZfMlNMT1RfSU5EXzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQjJSSUZfMlNMT1RfSU5EX0IyUklGXzJTTE9UX0lORF8wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEIyUklGXzJTTE9UX0lORF9CMlJJRl8yU0xPVF9JTkRfMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEIyUklGX0RJU19MRFJfUkVRX0RJU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBCMlJJRl9ESVNfTERSX1JFUV9ESVNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQjJSSUZfRElTX0xEUl9SRVFfRElTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIEIyUklGX0RJU19MRFJfUkVRX0RJU19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIEIyUklGX0RJU19CUkFNX1JFQUQwX0RJU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBCMlJJRl9ESVNfQlJBTV9SRUFEMF9ESVNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQjJSSUZfRElTX0JSQU1fUkVBRDBfRElTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIEIyUklGX0RJU19CUkFNX1JFQUQwX0RJU19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIEIyUklGX0RJU19CUkFNX1JFQUQxX0RJU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCMlJJRl9ESVNfQlJBTV9SRUFEMV9ESVNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQjJSSUZfRElTX0JSQU1fUkVBRDFfRElTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIEIyUklGX0RJU19CUkFNX1JFQUQxX0RJU19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIEIyUklGX0RJU19MRFJfTFBXUl9ESVNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCMlJJRl9ESVNfTERSX0xQV1JfRElTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQjJSSUZfRElTX0xEUl9MUFdSX0RJU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEIyUklGX0RJU19MRFJfTFBXUl9ESVNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEIyUklGX0RCR19DT05fREJHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBCMlJJRl9EQkdfQ09OX0RCR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQjJSSUZfREJHX0NPTl9EQkdfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIEIyUklGX0RCR19DT05fREJHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIEIyUklGX0RCR19DT05fREJHX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCMlJJRl9EQkdfQ09OX0RCR19FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQjJSSUZfREJHX0NPTl9EQkdfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEIyUklGX0RCR19DT05fREJHX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEIyUklGX1JSRVFfQ05UX1JSRVFfQ05UXzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBCMlJJRl9SUkVRX0NOVF9SUkVRX0NOVF8xX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgQjJSSUZfUlJFUV9DTlRfUlJFUV9DTlRfMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGMDApCisKKyNkZWZpbmUgQjJSSUZfUlJFUV9DTlRfUlJFUV9DTlRfMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEIyUklGX1JSRVFfQ05UX1JSRVFfQ05UXzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBCMlJJRl9SUkVRX0NOVF9SUkVRX0NOVF8wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDBGRikKKworI2RlZmluZSBCMlJJRl9SUkRZX0NOVF9SUkRZX0NOVF8xX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgQjJSSUZfUlJEWV9DTlRfUlJEWV9DTlRfMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIEIyUklGX1JSRFlfQ05UX1JSRFlfQ05UXzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRjAwKQorCisjZGVmaW5lIEIyUklGX1JSRFlfQ05UX1JSRFlfQ05UXzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCMlJJRl9SUkRZX0NOVF9SUkRZX0NOVF8wX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgQjJSSUZfUlJEWV9DTlRfUlJEWV9DTlRfMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwRkYpCisKKyNkZWZpbmUgQjJSSUZfTFJFUV9DTlRfTE9BREVSX1JFUV9DTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEIyUklGX0xSRVFfQ05UX0xPQURFUl9SRVFfQ05UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBCMlJJRl9MUkVRX0NOVF9MT0FERVJfUkVRX0NOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDBGRikKKworI2RlZmluZSBCMlJJRl9SX0NPTl9BMEMwXzBfQjJSSUZfUl9TVF9TQU1fSURYXzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEIyUklGX1JfQ09OX0EwQzBfMF9CMlJJRl9SX1NUX1NBTV9JRFhfMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTBDMF8wX0IyUklGX1JfU1RfU0FNX0lEWF8wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTBDMF8wX0IyUklGX1JfQkFTRV9BRERSXzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEIyUklGX1JfQ09OX0EwQzBfMF9CMlJJRl9SX0JBU0VfQUREUl8wX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTBDMF8wX0IyUklGX1JfQkFTRV9BRERSXzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTFDMF8wX0IyUklGX1JfU1RfU0FNX0lEWF8xX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBCMlJJRl9SX0NPTl9BMUMwXzBfQjJSSUZfUl9TVF9TQU1fSURYXzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEIyUklGX1JfQ09OX0ExQzBfMF9CMlJJRl9SX1NUX1NBTV9JRFhfMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIEIyUklGX1JfQ09OX0ExQzBfMF9CMlJJRl9SX0JBU0VfQUREUl8xX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCMlJJRl9SX0NPTl9BMUMwXzBfQjJSSUZfUl9CQVNFX0FERFJfMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEIyUklGX1JfQ09OX0ExQzBfMF9CMlJJRl9SX0JBU0VfQUREUl8xX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIEIyUklGX1JfQ09OX0EwQzFfMF9CMlJJRl9SX1NUX1NBTV9JRFhfMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTBDMV8wX0IyUklGX1JfU1RfU0FNX0lEWF8yX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBCMlJJRl9SX0NPTl9BMEMxXzBfQjJSSUZfUl9TVF9TQU1fSURYXzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBCMlJJRl9SX0NPTl9BMEMxXzBfQjJSSUZfUl9CQVNFX0FERFJfMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTBDMV8wX0IyUklGX1JfQkFTRV9BRERSXzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBCMlJJRl9SX0NPTl9BMEMxXzBfQjJSSUZfUl9CQVNFX0FERFJfMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBCMlJJRl9SX0NPTl9BMUMxXzBfQjJSSUZfUl9TVF9TQU1fSURYXzNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEIyUklGX1JfQ09OX0ExQzFfMF9CMlJJRl9SX1NUX1NBTV9JRFhfM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTFDMV8wX0IyUklGX1JfU1RfU0FNX0lEWF8zX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTFDMV8wX0IyUklGX1JfQkFTRV9BRERSXzNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEIyUklGX1JfQ09OX0ExQzFfMF9CMlJJRl9SX0JBU0VfQUREUl8zX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTFDMV8wX0IyUklGX1JfQkFTRV9BRERSXzNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTBDMF8xX0IyUklGX1JfQlVGX1NJWkVfMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEIyUklGX1JfQ09OX0EwQzBfMV9CMlJJRl9SX0JVRl9TSVpFXzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTBDMF8xX0IyUklGX1JfQlVGX1NJWkVfMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTFDMF8xX0IyUklGX1JfQlVGX1NJWkVfMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEIyUklGX1JfQ09OX0ExQzBfMV9CMlJJRl9SX0JVRl9TSVpFXzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTFDMF8xX0IyUklGX1JfQlVGX1NJWkVfMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTBDMV8xX0IyUklGX1JfQlVGX1NJWkVfMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEIyUklGX1JfQ09OX0EwQzFfMV9CMlJJRl9SX0JVRl9TSVpFXzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTBDMV8xX0IyUklGX1JfQlVGX1NJWkVfMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTFDMV8xX0IyUklGX1JfQlVGX1NJWkVfM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEIyUklGX1JfQ09OX0ExQzFfMV9CMlJJRl9SX0JVRl9TSVpFXzNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgQjJSSUZfUl9DT05fQTFDMV8xX0IyUklGX1JfQlVGX1NJWkVfM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgQjJSSUZfUl9DT05fUUxJQ18wX0IyUklGX1JfU1RfU0FNX0lEWF9RX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBCMlJJRl9SX0NPTl9RTElDXzBfQjJSSUZfUl9TVF9TQU1fSURYX1FfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEIyUklGX1JfQ09OX1FMSUNfMF9CMlJJRl9SX1NUX1NBTV9JRFhfUV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIEIyUklGX1JfQ09OX1FMSUNfMF9CMlJJRl9SX0JBU0VfQUREUl9RX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCMlJJRl9SX0NPTl9RTElDXzBfQjJSSUZfUl9CQVNFX0FERFJfUV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEIyUklGX1JfQ09OX1FMSUNfMF9CMlJJRl9SX0JBU0VfQUREUl9RX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIEIyUklGX1JfQ09OX1FMSUNfMV9CMlJJRl9SX0JVRl9TSVpFX1FfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCMlJJRl9SX0NPTl9RTElDXzFfQjJSSUZfUl9CVUZfU0laRV9RX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEIyUklGX1JfQ09OX1FMSUNfMV9CMlJJRl9SX0JVRl9TSVpFX1FfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIEIyUklGX0hPTERfU1RBX0IyUklGX0hPTERfQ05UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgQjJSSUZfSE9MRF9TVEFfQjJSSUZfSE9MRF9DTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBCMlJJRl9IT0xEX1NUQV9CMlJJRl9IT0xEX0NOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBCMlJJRl9IT0xEX1NUQV9CMlJJRl9IT0xEX0NOVF9PVkVSX1NUQV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgQjJSSUZfSE9MRF9TVEFfQjJSSUZfSE9MRF9DTlRfT1ZFUl9TVEFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEIyUklGX0hPTERfU1RBX0IyUklGX0hPTERfQ05UX09WRVJfU1RBX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBCMlJJRl9IT0xEX1NUQV9CMlJJRl9IT0xEX0NOVF9PVkVSX1NUQV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBCMlJJRl9IT0xEX1NUQV9CMlJJRl9IT0xEX01BWF9DTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQjJSSUZfSE9MRF9TVEFfQjJSSUZfSE9MRF9NQVhfQ05UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIEIyUklGX0hPTERfU1RBX0IyUklGX0hPTERfTUFYX0NOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEZGKQorCisjZGVmaW5lIEIyUklGX1JFU0VSVkVEMF9CMlJJRl9SRVNFUlZFRDBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCMlJJRl9SRVNFUlZFRDBfQjJSSUZfUkVTRVJWRUQwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIEIyUklGX1JFU0VSVkVEMF9CMlJJRl9SRVNFUlZFRDBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIEIyUklGX1JFU0VSVkVEMV9CMlJJRl9SRVNFUlZFRDFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCMlJJRl9SRVNFUlZFRDFfQjJSSUZfUkVTRVJWRUQxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIEIyUklGX1JFU0VSVkVEMV9CMlJJRl9SRVNFUlZFRDFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIElDX1NZTkNfQjJSSUZfSUNfUkRfU1RBVEVfRU5BQkxFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBJQ19TWU5DX0IyUklGX0lDX1JEX1NUQVRFX0VOQUJMRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgSUNfU1lOQ19CMlJJRl9JQ19SRF9TVEFURV9FTkFCTEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIElDX1NZTkNfQjJSSUZfSUNfUkRfU1RBVEVfRU5BQkxFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIElDX1NZTkNfU1lTX0NOVF9CMlJJRl9JQ19TWU5DX1NZU19ET05FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgSUNfU1lOQ19TWVNfQ05UX0IyUklGX0lDX1NZTkNfU1lTX0RPTkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIElDX1NZTkNfU1lTX0NOVF9CMlJJRl9JQ19TWU5DX1NZU19ET05FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBJQ19TWU5DX1NZU19DTlRfQjJSSUZfSUNfU1lOQ19TWVNfRE9ORV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBJQ19TWU5DX1NZU19DTlRfQjJSSUZfSUNfUkRfU1lTX0NOVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgSUNfU1lOQ19TWVNfQ05UX0IyUklGX0lDX1JEX1NZU19DTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBJQ19TWU5DX1NZU19DTlRfQjJSSUZfSUNfUkRfU1lTX0NOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGRikKKworI2RlZmluZSBJQ19TWU5DX0lDX0FERFJfQjJSSUZfSUNfU1lOQ19BRERSX0RPTkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIElDX1NZTkNfSUNfQUREUl9CMlJJRl9JQ19TWU5DX0FERFJfRE9ORV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBJQ19TWU5DX0lDX0FERFJfQjJSSUZfSUNfU1lOQ19BRERSX0RPTkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgSUNfU1lOQ19JQ19BRERSX0IyUklGX0lDX1NZTkNfQUREUl9ET05FX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgSUNfU1lOQ19JQ19BRERSX0IyUklGX0lDX1JEX0FERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIElDX1NZTkNfSUNfQUREUl9CMlJJRl9JQ19SRF9BRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgSUNfU1lOQ19JQ19BRERSX0IyUklGX0lDX1JEX0FERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkYpCisjZW5kaWYgLy8jaWZuZGVmIF9DUEhfQjJSSUZfOTdfSF8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoYmlncmFtZ2xiY29ucmVnLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoYmlncmFtZ2xiY29ucmVnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmY2YzVhOQotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhiaWdyYW1nbGJjb25yZWcuaApAQCAtMCwwICsxLDQyIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmIGRlZmluZWQoX19NRDkzX18pCisjaW5jbHVkZSAiY3BoYmlncmFtZ2xiY29ucmVnXzkzLmgiCisjZWxpZiBkZWZpbmVkKF9fTUQ5NV9fKQorI2luY2x1ZGUgImNwaGJpZ3JhbWdsYmNvbnJlZ185NS5oIgorI2Vsc2UKKyNpbmNsdWRlICJjcGhiaWdyYW1nbGJjb25yZWdfOTUuaCIvKiNlcnJvciAiW0VSUk9SXSBJbnZhbGlkIE1EIGdlbmVyYXRpb24iIEZvciBidWlsZCBlcnJvciovCisjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGJpZ3JhbWdsYmNvbnJlZ185My5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGJpZ3JhbWdsYmNvbnJlZ185My5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3NDk1MGQKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoYmlncmFtZ2xiY29ucmVnXzkzLmgKQEAgLTAsMCArMSwxMjgyIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfQ1BIX0JJR1JBTV9HTEJfQ09OX1JFR19IXworI2RlZmluZSBfQ1BIX0JJR1JBTV9HTEJfQ09OX1JFR19IXworCisKK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIFNSQU1BRERSOyAgICAgICAgIC8qIFNSQU0gYWRkciBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgU1JBTURBVEE7ICAgICAgICAgLyogU1JBTSBkYXRhIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBBUEJBRERSOyAgICAgICAgICAvKiBBUEIgYWRkciBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIEFQQkRBVEE7ICAgICAgICAgIC8qIEFQQiBkYXRhIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nKiAgQVBCQUREUjMyOyAgICAgICAgLyogQVBCIGFkZHIgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgICBBUEJEQVRBMzI7ICAgICAgICAvKiBBUEIgZGF0YSBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIERQUkFNQUREUjsgICAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSBzaWduZWQgICBzaG9ydCogRFBSQU1BRERSX1M7ICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBEUFJBTURBVEE7ICAgICAgICAvKiBEUFJBTSBkYXRhIGlzIDE2IGJpdHMgKi8KKworCisjZGVmaW5lIEJJR1JBTV9HTE9CQUxfQ09OX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEFCODEwMDAwKQorCisjZGVmaW5lIEJJR1JBTV9HTE9CQUxfQ09OX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChCSUdSQU1fR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDExOCArIDEqNCkKKworCisKKyNkZWZpbmUgQklHUkFNX0NHX0NPTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJJR1JBTV9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDAwKSkKKyNkZWZpbmUgQklHUkFNX1BXUl9BV0FSRV9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJJR1JBTV9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDA0KSkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DTFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJJR1JBTV9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDA4KSkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19TRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJJR1JBTV9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDBDKSkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJJR1JBTV9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDEwKSkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DTFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJJR1JBTV9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDE4KSkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19TRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJJR1JBTV9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDFDKSkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJJR1JBTV9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDIwKSkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DTFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJJR1JBTV9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDI4KSkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19TRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJJR1JBTV9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDJDKSkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJJR1JBTV9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDMwKSkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DTFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJJR1JBTV9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDM4KSkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19TRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJJR1JBTV9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDNDKSkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJJR1JBTV9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDQwKSkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NMUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJJR1JBTV9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDQ4KSkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX1NFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJJR1JBTV9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDRDKSkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NPTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJJR1JBTV9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDUwKSkKKyNkZWZpbmUgQklHUkFNX0xURV9FTDFEX0NHX0NMUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJJR1JBTV9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDU4KSkKKyNkZWZpbmUgQklHUkFNX0xURV9FTDFEX0NHX1NFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJJR1JBTV9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDVDKSkKKyNkZWZpbmUgQklHUkFNX0xURV9FTDFEX0NHX0NPTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJJR1JBTV9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDYwKSkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfRElWICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJJR1JBTV9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDY4KSkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJJR1JBTV9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDZDKSkKKyNkZWZpbmUgQklHUkFNX0JVU19DT05GSUcwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJJR1JBTV9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTAwKSkKKyNkZWZpbmUgQklHUkFNX0JVU19TVEFUVVMwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJJR1JBTV9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTA0KSkKKyNkZWZpbmUgQklHUkFNX1NMVl9CVVNfQ09ORklHMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJJR1JBTV9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTA4KSkKKyNkZWZpbmUgQklHUkFNX1NMVl9CVVNfU1RBVFVTMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJJR1JBTV9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTBDKSkKKyNkZWZpbmUgQklHUkFNX1NMVl9CVVNfU1RBVFVTMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJJR1JBTV9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTEwKSkKKyNkZWZpbmUgQklHUkFNX0JVU19EQkdPVVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJJR1JBTV9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTE0KSkKKyNkZWZpbmUgQklHUkFNX0NMS19ESVYyX0RJUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKEJJR1JBTV9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTE4KSkKKworCisjZGVmaW5lIEJJR1JBTV9DR19DT05fUkFLRV8zMlhfQ0tfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgQklHUkFNX0NHX0NPTl9SQUtFXzMyWF9DS19DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DR19DT05fUkFLRV8zMlhfQ0tfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBCSUdSQU1fQ0dfQ09OX1JBS0VfMzJYX0NLX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBCSUdSQU1fQ0dfQ09OX0RTVERCX0NLX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgQklHUkFNX0NHX0NPTl9EU1REQl9DS19DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DR19DT05fRFNUREJfQ0tfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBCSUdSQU1fQ0dfQ09OX0RTVERCX0NLX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBCSUdSQU1fQ0dfQ09OX0QyQklGX0NLX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgQklHUkFNX0NHX0NPTl9EMkJJRl9DS19DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DR19DT05fRDJCSUZfQ0tfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBCSUdSQU1fQ0dfQ09OX0QyQklGX0NLX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBCSUdSQU1fQ0dfQ09OX0RGRV9EVU1QX0NLX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgQklHUkFNX0NHX0NPTl9ERkVfRFVNUF9DS19DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DR19DT05fREZFX0RVTVBfQ0tfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBCSUdSQU1fQ0dfQ09OX0RGRV9EVU1QX0NLX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBCSUdSQU1fQ0dfQ09OX0JSX0RNQV9DS19DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgQklHUkFNX0NHX0NPTl9CUl9ETUFfQ0tfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DR19DT05fQlJfRE1BX0NLX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBCSUdSQU1fQ0dfQ09OX0JSX0RNQV9DS19DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBCSUdSQU1fQ0dfQ09OX0JJR1JBTV9DS19DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgQklHUkFNX0NHX0NPTl9CSUdSQU1fQ0tfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DR19DT05fQklHUkFNX0NLX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBCSUdSQU1fQ0dfQ09OX0JJR1JBTV9DS19DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBCSUdSQU1fQ0dfQ09OX0RGRV9EVU1QX1ZEU1BfQ0tfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgQklHUkFNX0NHX0NPTl9ERkVfRFVNUF9WRFNQX0NLX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DR19DT05fREZFX0RVTVBfVkRTUF9DS19DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBCSUdSQU1fQ0dfQ09OX0RGRV9EVU1QX1ZEU1BfQ0tfQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBCSUdSQU1fQ0dfQ09OX0QyQklGX1ZEU1BfQ0tfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgQklHUkFNX0NHX0NPTl9EMkJJRl9WRFNQX0NLX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DR19DT05fRDJCSUZfVkRTUF9DS19DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBCSUdSQU1fQ0dfQ09OX0QyQklGX1ZEU1BfQ0tfQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBCSUdSQU1fQ0dfQ09OX1JYVDJGX1ZEU1BfQ0tfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQklHUkFNX0NHX0NPTl9SWFQyRl9WRFNQX0NLX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DR19DT05fUlhUMkZfVkRTUF9DS19DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBCSUdSQU1fQ0dfQ09OX1JYVDJGX1ZEU1BfQ0tfQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBCSUdSQU1fQ0dfQ09OX0JJR1JBTV9CUlBfQ0tfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0NHX0NPTl9CSUdSQU1fQlJQX0NLX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DR19DT05fQklHUkFNX0JSUF9DS19DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBCSUdSQU1fQ0dfQ09OX0JJR1JBTV9CUlBfQ0tfQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBCSUdSQU1fQ0dfQ09OX0JJR1JBTV9SQUtFX0NLX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQklHUkFNX0NHX0NPTl9CSUdSQU1fUkFLRV9DS19DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DR19DT05fQklHUkFNX1JBS0VfQ0tfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBCSUdSQU1fQ0dfQ09OX0JJR1JBTV9SQUtFX0NLX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBCSUdSQU1fUFdSX0FXQVJFX0NUUkxfQklHUkFNX1BXUl9BV0FSRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQklHUkFNX1BXUl9BV0FSRV9DVFJMX0JJR1JBTV9QV1JfQVdBUkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBCSUdSQU1fUFdSX0FXQVJFX0NUUkxfQklHUkFNX1BXUl9BV0FSRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NMUl9MX1JBS0VfMzJYX0NHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ0xSX0xfUkFLRV8zMlhfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NMUl9MX1JBS0VfMzJYX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DTFJfTF9SQUtFXzMyWF9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DTFJfTF9EU1REQl9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ0xSX0xfRFNUREJfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NMUl9MX0RTVERCX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DTFJfTF9EU1REQl9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DTFJfTF9EMkJJRl9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ0xSX0xfRDJCSUZfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NMUl9MX0QyQklGX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DTFJfTF9EMkJJRl9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DTFJfTF9ERkVfRFVNUF9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ0xSX0xfREZFX0RVTVBfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NMUl9MX0RGRV9EVU1QX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DTFJfTF9ERkVfRFVNUF9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DTFJfTF9CUl9ETUFfQ0dfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ0xSX0xfQlJfRE1BX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NMUl9MX0JSX0RNQV9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DTFJfTF9CUl9ETUFfQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DTFJfTF9CSUdSQU1fQ0dfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ0xSX0xfQklHUkFNX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NMUl9MX0JJR1JBTV9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DTFJfTF9CSUdSQU1fQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DTFJfTF9ERkVfRFVNUF9WRFNQX0NHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ0xSX0xfREZFX0RVTVBfVkRTUF9DR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NMUl9MX0RGRV9EVU1QX1ZEU1BfQ0dfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DTFJfTF9ERkVfRFVNUF9WRFNQX0NHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DTFJfTF9EMkJJRl9WRFNQX0NHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ0xSX0xfRDJCSUZfVkRTUF9DR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NMUl9MX0QyQklGX1ZEU1BfQ0dfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DTFJfTF9EMkJJRl9WRFNQX0NHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DTFJfTF9SWFQyRl9WRFNQX0NHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ0xSX0xfUlhUMkZfVkRTUF9DR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NMUl9MX1JYVDJGX1ZEU1BfQ0dfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DTFJfTF9SWFQyRl9WRFNQX0NHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DTFJfTF9CSUdSQU1fQlJQX0NHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ0xSX0xfQklHUkFNX0JSUF9DR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NMUl9MX0JJR1JBTV9CUlBfQ0dfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DTFJfTF9CSUdSQU1fQlJQX0NHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DTFJfTF9CSUdSQU1fUkFLRV9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ0xSX0xfQklHUkFNX1JBS0VfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NMUl9MX0JJR1JBTV9SQUtFX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DTFJfTF9CSUdSQU1fUkFLRV9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQklHUkFNX0xURV9DR19TRVRfTF9SQUtFXzMyWF9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX1NFVF9MX1JBS0VfMzJYX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19TRVRfTF9SQUtFXzMyWF9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfU0VUX0xfUkFLRV8zMlhfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfU0VUX0xfRFNUREJfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX1NFVF9MX0RTVERCX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19TRVRfTF9EU1REQl9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfU0VUX0xfRFNUREJfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfU0VUX0xfRDJCSUZfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX1NFVF9MX0QyQklGX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19TRVRfTF9EMkJJRl9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfU0VUX0xfRDJCSUZfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfU0VUX0xfREZFX0RVTVBfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX1NFVF9MX0RGRV9EVU1QX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19TRVRfTF9ERkVfRFVNUF9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfU0VUX0xfREZFX0RVTVBfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfU0VUX0xfQlJfRE1BX0NHX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX1NFVF9MX0JSX0RNQV9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19TRVRfTF9CUl9ETUFfQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfU0VUX0xfQlJfRE1BX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfU0VUX0xfQklHUkFNX0NHX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX1NFVF9MX0JJR1JBTV9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19TRVRfTF9CSUdSQU1fQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfU0VUX0xfQklHUkFNX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfU0VUX0xfREZFX0RVTVBfVkRTUF9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX1NFVF9MX0RGRV9EVU1QX1ZEU1BfQ0dfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19TRVRfTF9ERkVfRFVNUF9WRFNQX0NHX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfU0VUX0xfREZFX0RVTVBfVkRTUF9DR19TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfU0VUX0xfRDJCSUZfVkRTUF9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX1NFVF9MX0QyQklGX1ZEU1BfQ0dfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19TRVRfTF9EMkJJRl9WRFNQX0NHX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfU0VUX0xfRDJCSUZfVkRTUF9DR19TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfU0VUX0xfUlhUMkZfVkRTUF9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX1NFVF9MX1JYVDJGX1ZEU1BfQ0dfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19TRVRfTF9SWFQyRl9WRFNQX0NHX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfU0VUX0xfUlhUMkZfVkRTUF9DR19TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfU0VUX0xfQklHUkFNX0JSUF9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX1NFVF9MX0JJR1JBTV9CUlBfQ0dfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19TRVRfTF9CSUdSQU1fQlJQX0NHX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfU0VUX0xfQklHUkFNX0JSUF9DR19TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfU0VUX0xfQklHUkFNX1JBS0VfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX1NFVF9MX0JJR1JBTV9SQUtFX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19TRVRfTF9CSUdSQU1fUkFLRV9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfU0VUX0xfQklHUkFNX1JBS0VfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ09OX0xfUkFLRV8zMlhfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DT05fTF9SQUtFXzMyWF9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ09OX0xfUkFLRV8zMlhfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NPTl9MX1JBS0VfMzJYX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NPTl9MX0RTVERCX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DT05fTF9EU1REQl9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ09OX0xfRFNUREJfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NPTl9MX0RTVERCX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NPTl9MX0QyQklGX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DT05fTF9EMkJJRl9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ09OX0xfRDJCSUZfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NPTl9MX0QyQklGX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NPTl9MX0RGRV9EVU1QX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DT05fTF9ERkVfRFVNUF9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ09OX0xfREZFX0RVTVBfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NPTl9MX0RGRV9EVU1QX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NPTl9MX0JSX0RNQV9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DT05fTF9CUl9ETUFfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ09OX0xfQlJfRE1BX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NPTl9MX0JSX0RNQV9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NPTl9MX0JJR1JBTV9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DT05fTF9CSUdSQU1fQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ09OX0xfQklHUkFNX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NPTl9MX0JJR1JBTV9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NPTl9MX0RGRV9EVU1QX1ZEU1BfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DT05fTF9ERkVfRFVNUF9WRFNQX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ09OX0xfREZFX0RVTVBfVkRTUF9DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NPTl9MX0RGRV9EVU1QX1ZEU1BfQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NPTl9MX0QyQklGX1ZEU1BfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DT05fTF9EMkJJRl9WRFNQX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ09OX0xfRDJCSUZfVkRTUF9DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NPTl9MX0QyQklGX1ZEU1BfQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NPTl9MX1JYVDJGX1ZEU1BfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DT05fTF9SWFQyRl9WRFNQX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ09OX0xfUlhUMkZfVkRTUF9DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NPTl9MX1JYVDJGX1ZEU1BfQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NPTl9MX0JJR1JBTV9CUlBfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DT05fTF9CSUdSQU1fQlJQX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ09OX0xfQklHUkFNX0JSUF9DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NPTl9MX0JJR1JBTV9CUlBfQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NPTl9MX0JJR1JBTV9SQUtFX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DT05fTF9CSUdSQU1fUkFLRV9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ09OX0xfQklHUkFNX1JBS0VfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NPTl9MX0JJR1JBTV9SQUtFX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBCSUdSQU1fRkREX0NHX0NMUl9XX1JBS0VfMzJYX0NHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ0xSX1dfUkFLRV8zMlhfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NMUl9XX1JBS0VfMzJYX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DTFJfV19SQUtFXzMyWF9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DTFJfV19EU1REQl9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ0xSX1dfRFNUREJfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NMUl9XX0RTVERCX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DTFJfV19EU1REQl9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DTFJfV19EMkJJRl9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ0xSX1dfRDJCSUZfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NMUl9XX0QyQklGX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DTFJfV19EMkJJRl9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DTFJfV19ERkVfRFVNUF9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ0xSX1dfREZFX0RVTVBfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NMUl9XX0RGRV9EVU1QX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DTFJfV19ERkVfRFVNUF9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DTFJfV19CUl9ETUFfQ0dfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ0xSX1dfQlJfRE1BX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NMUl9XX0JSX0RNQV9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DTFJfV19CUl9ETUFfQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DTFJfV19CSUdSQU1fQ0dfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ0xSX1dfQklHUkFNX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NMUl9XX0JJR1JBTV9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DTFJfV19CSUdSQU1fQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DTFJfV19ERkVfRFVNUF9WRFNQX0NHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ0xSX1dfREZFX0RVTVBfVkRTUF9DR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NMUl9XX0RGRV9EVU1QX1ZEU1BfQ0dfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DTFJfV19ERkVfRFVNUF9WRFNQX0NHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DTFJfV19EMkJJRl9WRFNQX0NHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ0xSX1dfRDJCSUZfVkRTUF9DR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NMUl9XX0QyQklGX1ZEU1BfQ0dfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DTFJfV19EMkJJRl9WRFNQX0NHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DTFJfV19SWFQyRl9WRFNQX0NHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ0xSX1dfUlhUMkZfVkRTUF9DR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NMUl9XX1JYVDJGX1ZEU1BfQ0dfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DTFJfV19SWFQyRl9WRFNQX0NHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DTFJfV19CSUdSQU1fQlJQX0NHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ0xSX1dfQklHUkFNX0JSUF9DR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NMUl9XX0JJR1JBTV9CUlBfQ0dfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DTFJfV19CSUdSQU1fQlJQX0NHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DTFJfV19CSUdSQU1fUkFLRV9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ0xSX1dfQklHUkFNX1JBS0VfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NMUl9XX0JJR1JBTV9SQUtFX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DTFJfV19CSUdSQU1fUkFLRV9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19TRVRfV19SQUtFXzMyWF9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX1NFVF9XX1JBS0VfMzJYX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19TRVRfV19SQUtFXzMyWF9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfU0VUX1dfUkFLRV8zMlhfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfU0VUX1dfRFNUREJfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBCSUdSQU1fRkREX0NHX1NFVF9XX0RTVERCX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19TRVRfV19EU1REQl9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfU0VUX1dfRFNUREJfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfU0VUX1dfRDJCSUZfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBCSUdSQU1fRkREX0NHX1NFVF9XX0QyQklGX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19TRVRfV19EMkJJRl9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfU0VUX1dfRDJCSUZfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfU0VUX1dfREZFX0RVTVBfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBCSUdSQU1fRkREX0NHX1NFVF9XX0RGRV9EVU1QX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19TRVRfV19ERkVfRFVNUF9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfU0VUX1dfREZFX0RVTVBfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfU0VUX1dfQlJfRE1BX0NHX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBCSUdSQU1fRkREX0NHX1NFVF9XX0JSX0RNQV9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19TRVRfV19CUl9ETUFfQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfU0VUX1dfQlJfRE1BX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfU0VUX1dfQklHUkFNX0NHX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBCSUdSQU1fRkREX0NHX1NFVF9XX0JJR1JBTV9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19TRVRfV19CSUdSQU1fQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfU0VUX1dfQklHUkFNX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfU0VUX1dfREZFX0RVTVBfVkRTUF9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBCSUdSQU1fRkREX0NHX1NFVF9XX0RGRV9EVU1QX1ZEU1BfQ0dfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19TRVRfV19ERkVfRFVNUF9WRFNQX0NHX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfU0VUX1dfREZFX0RVTVBfVkRTUF9DR19TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfU0VUX1dfRDJCSUZfVkRTUF9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX1NFVF9XX0QyQklGX1ZEU1BfQ0dfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19TRVRfV19EMkJJRl9WRFNQX0NHX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfU0VUX1dfRDJCSUZfVkRTUF9DR19TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfU0VUX1dfUlhUMkZfVkRTUF9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX1NFVF9XX1JYVDJGX1ZEU1BfQ0dfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19TRVRfV19SWFQyRl9WRFNQX0NHX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfU0VUX1dfUlhUMkZfVkRTUF9DR19TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfU0VUX1dfQklHUkFNX0JSUF9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX1NFVF9XX0JJR1JBTV9CUlBfQ0dfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19TRVRfV19CSUdSQU1fQlJQX0NHX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfU0VUX1dfQklHUkFNX0JSUF9DR19TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfU0VUX1dfQklHUkFNX1JBS0VfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX1NFVF9XX0JJR1JBTV9SQUtFX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19TRVRfV19CSUdSQU1fUkFLRV9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfU0VUX1dfQklHUkFNX1JBS0VfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ09OX1dfUkFLRV8zMlhfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DT05fV19SQUtFXzMyWF9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ09OX1dfUkFLRV8zMlhfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NPTl9XX1JBS0VfMzJYX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBCSUdSQU1fRkREX0NHX0NPTl9XX0RTVERCX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DT05fV19EU1REQl9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ09OX1dfRFNUREJfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NPTl9XX0RTVERCX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBCSUdSQU1fRkREX0NHX0NPTl9XX0QyQklGX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DT05fV19EMkJJRl9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ09OX1dfRDJCSUZfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NPTl9XX0QyQklGX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBCSUdSQU1fRkREX0NHX0NPTl9XX0RGRV9EVU1QX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DT05fV19ERkVfRFVNUF9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ09OX1dfREZFX0RVTVBfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NPTl9XX0RGRV9EVU1QX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBCSUdSQU1fRkREX0NHX0NPTl9XX0JSX0RNQV9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DT05fV19CUl9ETUFfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ09OX1dfQlJfRE1BX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NPTl9XX0JSX0RNQV9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBCSUdSQU1fRkREX0NHX0NPTl9XX0JJR1JBTV9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DT05fV19CSUdSQU1fQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ09OX1dfQklHUkFNX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NPTl9XX0JJR1JBTV9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBCSUdSQU1fRkREX0NHX0NPTl9XX0RGRV9EVU1QX1ZEU1BfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DT05fV19ERkVfRFVNUF9WRFNQX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ09OX1dfREZFX0RVTVBfVkRTUF9DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NPTl9XX0RGRV9EVU1QX1ZEU1BfQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBCSUdSQU1fRkREX0NHX0NPTl9XX0QyQklGX1ZEU1BfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DT05fV19EMkJJRl9WRFNQX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ09OX1dfRDJCSUZfVkRTUF9DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NPTl9XX0QyQklGX1ZEU1BfQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBCSUdSQU1fRkREX0NHX0NPTl9XX1JYVDJGX1ZEU1BfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DT05fV19SWFQyRl9WRFNQX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ09OX1dfUlhUMkZfVkRTUF9DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NPTl9XX1JYVDJGX1ZEU1BfQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBCSUdSQU1fRkREX0NHX0NPTl9XX0JJR1JBTV9CUlBfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DT05fV19CSUdSQU1fQlJQX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ09OX1dfQklHUkFNX0JSUF9DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NPTl9XX0JJR1JBTV9CUlBfQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBCSUdSQU1fRkREX0NHX0NPTl9XX0JJR1JBTV9SQUtFX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DT05fV19CSUdSQU1fUkFLRV9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ09OX1dfQklHUkFNX1JBS0VfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NPTl9XX0JJR1JBTV9SQUtFX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBCSUdSQU1fVEREX0NHX0NMUl9UX1JBS0VfMzJYX0NHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ0xSX1RfUkFLRV8zMlhfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NMUl9UX1JBS0VfMzJYX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DTFJfVF9SQUtFXzMyWF9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DTFJfVF9EU1REQl9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ0xSX1RfRFNUREJfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NMUl9UX0RTVERCX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DTFJfVF9EU1REQl9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DTFJfVF9EMkJJRl9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ0xSX1RfRDJCSUZfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NMUl9UX0QyQklGX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DTFJfVF9EMkJJRl9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DTFJfVF9ERkVfRFVNUF9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ0xSX1RfREZFX0RVTVBfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NMUl9UX0RGRV9EVU1QX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DTFJfVF9ERkVfRFVNUF9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DTFJfVF9CUl9ETUFfQ0dfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ0xSX1RfQlJfRE1BX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NMUl9UX0JSX0RNQV9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DTFJfVF9CUl9ETUFfQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DTFJfVF9CSUdSQU1fQ0dfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ0xSX1RfQklHUkFNX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NMUl9UX0JJR1JBTV9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DTFJfVF9CSUdSQU1fQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DTFJfVF9ERkVfRFVNUF9WRFNQX0NHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ0xSX1RfREZFX0RVTVBfVkRTUF9DR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NMUl9UX0RGRV9EVU1QX1ZEU1BfQ0dfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DTFJfVF9ERkVfRFVNUF9WRFNQX0NHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DTFJfVF9EMkJJRl9WRFNQX0NHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ0xSX1RfRDJCSUZfVkRTUF9DR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NMUl9UX0QyQklGX1ZEU1BfQ0dfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DTFJfVF9EMkJJRl9WRFNQX0NHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DTFJfVF9SWFQyRl9WRFNQX0NHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ0xSX1RfUlhUMkZfVkRTUF9DR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NMUl9UX1JYVDJGX1ZEU1BfQ0dfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DTFJfVF9SWFQyRl9WRFNQX0NHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DTFJfVF9CSUdSQU1fQlJQX0NHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ0xSX1RfQklHUkFNX0JSUF9DR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NMUl9UX0JJR1JBTV9CUlBfQ0dfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DTFJfVF9CSUdSQU1fQlJQX0NHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DTFJfVF9CSUdSQU1fUkFLRV9DS19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ0xSX1RfQklHUkFNX1JBS0VfQ0tfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NMUl9UX0JJR1JBTV9SQUtFX0NLX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DTFJfVF9CSUdSQU1fUkFLRV9DS19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQklHUkFNX1RERF9DR19TRVRfVF9SQUtFXzMyWF9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX1NFVF9UX1JBS0VfMzJYX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19TRVRfVF9SQUtFXzMyWF9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfU0VUX1RfUkFLRV8zMlhfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfU0VUX1RfRFNUREJfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBCSUdSQU1fVEREX0NHX1NFVF9UX0RTVERCX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19TRVRfVF9EU1REQl9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfU0VUX1RfRFNUREJfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfU0VUX1RfRDJCSUZfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBCSUdSQU1fVEREX0NHX1NFVF9UX0QyQklGX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19TRVRfVF9EMkJJRl9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfU0VUX1RfRDJCSUZfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfU0VUX1RfREZFX0RVTVBfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBCSUdSQU1fVEREX0NHX1NFVF9UX0RGRV9EVU1QX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19TRVRfVF9ERkVfRFVNUF9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfU0VUX1RfREZFX0RVTVBfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfU0VUX1RfQlJfRE1BX0NHX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBCSUdSQU1fVEREX0NHX1NFVF9UX0JSX0RNQV9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19TRVRfVF9CUl9ETUFfQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfU0VUX1RfQlJfRE1BX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfU0VUX1RfQklHUkFNX0NHX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBCSUdSQU1fVEREX0NHX1NFVF9UX0JJR1JBTV9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19TRVRfVF9CSUdSQU1fQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfU0VUX1RfQklHUkFNX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfU0VUX1RfREZFX0RVTVBfVkRTUF9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBCSUdSQU1fVEREX0NHX1NFVF9UX0RGRV9EVU1QX1ZEU1BfQ0dfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19TRVRfVF9ERkVfRFVNUF9WRFNQX0NHX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfU0VUX1RfREZFX0RVTVBfVkRTUF9DR19TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfU0VUX1RfRDJCSUZfVkRTUF9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX1NFVF9UX0QyQklGX1ZEU1BfQ0dfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19TRVRfVF9EMkJJRl9WRFNQX0NHX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfU0VUX1RfRDJCSUZfVkRTUF9DR19TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfU0VUX1RfUlhUMkZfVkRTUF9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX1NFVF9UX1JYVDJGX1ZEU1BfQ0dfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19TRVRfVF9SWFQyRl9WRFNQX0NHX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfU0VUX1RfUlhUMkZfVkRTUF9DR19TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfU0VUX1RfQklHUkFNX0JSUF9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX1NFVF9UX0JJR1JBTV9CUlBfQ0dfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19TRVRfVF9CSUdSQU1fQlJQX0NHX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfU0VUX1RfQklHUkFNX0JSUF9DR19TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfU0VUX1RfQklHUkFNX1JBS0VfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX1NFVF9UX0JJR1JBTV9SQUtFX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19TRVRfVF9CSUdSQU1fUkFLRV9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfU0VUX1RfQklHUkFNX1JBS0VfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ09OX1RfUkFLRV8zMlhfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DT05fVF9SQUtFXzMyWF9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ09OX1RfUkFLRV8zMlhfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NPTl9UX1JBS0VfMzJYX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBCSUdSQU1fVEREX0NHX0NPTl9UX0RTVERCX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DT05fVF9EU1REQl9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ09OX1RfRFNUREJfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NPTl9UX0RTVERCX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBCSUdSQU1fVEREX0NHX0NPTl9UX0QyQklGX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DT05fVF9EMkJJRl9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ09OX1RfRDJCSUZfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NPTl9UX0QyQklGX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBCSUdSQU1fVEREX0NHX0NPTl9UX0RGRV9EVU1QX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DT05fVF9ERkVfRFVNUF9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ09OX1RfREZFX0RVTVBfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NPTl9UX0RGRV9EVU1QX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBCSUdSQU1fVEREX0NHX0NPTl9UX0JSX0RNQV9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DT05fVF9CUl9ETUFfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ09OX1RfQlJfRE1BX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NPTl9UX0JSX0RNQV9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBCSUdSQU1fVEREX0NHX0NPTl9UX0JJR1JBTV9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DT05fVF9CSUdSQU1fQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ09OX1RfQklHUkFNX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NPTl9UX0JJR1JBTV9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBCSUdSQU1fVEREX0NHX0NPTl9UX0RGRV9EVU1QX1ZEU1BfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DT05fVF9ERkVfRFVNUF9WRFNQX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ09OX1RfREZFX0RVTVBfVkRTUF9DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NPTl9UX0RGRV9EVU1QX1ZEU1BfQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBCSUdSQU1fVEREX0NHX0NPTl9UX0QyQklGX1ZEU1BfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DT05fVF9EMkJJRl9WRFNQX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ09OX1RfRDJCSUZfVkRTUF9DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NPTl9UX0QyQklGX1ZEU1BfQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBCSUdSQU1fVEREX0NHX0NPTl9UX1JYVDJGX1ZEU1BfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DT05fVF9SWFQyRl9WRFNQX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ09OX1RfUlhUMkZfVkRTUF9DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NPTl9UX1JYVDJGX1ZEU1BfQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBCSUdSQU1fVEREX0NHX0NPTl9UX0JJR1JBTV9CUlBfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DT05fVF9CSUdSQU1fQlJQX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ09OX1RfQklHUkFNX0JSUF9DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NPTl9UX0JJR1JBTV9CUlBfQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBCSUdSQU1fVEREX0NHX0NPTl9UX0JJR1JBTV9SQUtFX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DT05fVF9CSUdSQU1fUkFLRV9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ09OX1RfQklHUkFNX1JBS0VfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NPTl9UX0JJR1JBTV9SQUtFX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NMUl9DMV9SQUtFXzMyWF9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ0xSX0MxX1JBS0VfMzJYX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NMUl9DMV9SQUtFXzMyWF9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DTFJfQzFfUkFLRV8zMlhfQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DTFJfQzFfRFNUREJfQ0dfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ0xSX0MxX0RTVERCX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NMUl9DMV9EU1REQl9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DTFJfQzFfRFNUREJfQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DTFJfQzFfRDJCSUZfQ0dfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ0xSX0MxX0QyQklGX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NMUl9DMV9EMkJJRl9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DTFJfQzFfRDJCSUZfQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DTFJfQzFfREZFX0RVTVBfQ0dfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ0xSX0MxX0RGRV9EVU1QX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NMUl9DMV9ERkVfRFVNUF9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DTFJfQzFfREZFX0RVTVBfQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DTFJfQzFfQlJfRE1BX0NHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ0xSX0MxX0JSX0RNQV9DR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NMUl9DMV9CUl9ETUFfQ0dfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DTFJfQzFfQlJfRE1BX0NHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DTFJfQzFfQklHUkFNX0NHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ0xSX0MxX0JJR1JBTV9DR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NMUl9DMV9CSUdSQU1fQ0dfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DTFJfQzFfQklHUkFNX0NHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DTFJfQzFfREZFX0RVTVBfVkRTUF9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ0xSX0MxX0RGRV9EVU1QX1ZEU1BfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NMUl9DMV9ERkVfRFVNUF9WRFNQX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DTFJfQzFfREZFX0RVTVBfVkRTUF9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DTFJfQzFfRDJCSUZfVkRTUF9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ0xSX0MxX0QyQklGX1ZEU1BfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NMUl9DMV9EMkJJRl9WRFNQX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DTFJfQzFfRDJCSUZfVkRTUF9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DTFJfQzFfUlhUMkZfVkRTUF9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ0xSX0MxX1JYVDJGX1ZEU1BfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NMUl9DMV9SWFQyRl9WRFNQX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DTFJfQzFfUlhUMkZfVkRTUF9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DTFJfQzFfQklHUkFNX0JSUF9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ0xSX0MxX0JJR1JBTV9CUlBfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NMUl9DMV9CSUdSQU1fQlJQX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DTFJfQzFfQklHUkFNX0JSUF9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DTFJfQzFfQklHUkFNX1JBS0VfQ0dfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ0xSX0MxX0JJR1JBTV9SQUtFX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NMUl9DMV9CSUdSQU1fUkFLRV9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DTFJfQzFfQklHUkFNX1JBS0VfQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19TRVRfQzFfUkFLRV8zMlhfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX1NFVF9DMV9SQUtFXzMyWF9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19TRVRfQzFfUkFLRV8zMlhfQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfU0VUX0MxX1JBS0VfMzJYX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfU0VUX0MxX0RTVERCX0NHX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX1NFVF9DMV9EU1REQl9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19TRVRfQzFfRFNUREJfQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfU0VUX0MxX0RTVERCX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfU0VUX0MxX0QyQklGX0NHX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX1NFVF9DMV9EMkJJRl9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19TRVRfQzFfRDJCSUZfQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfU0VUX0MxX0QyQklGX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfU0VUX0MxX0RGRV9EVU1QX0NHX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX1NFVF9DMV9ERkVfRFVNUF9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19TRVRfQzFfREZFX0RVTVBfQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfU0VUX0MxX0RGRV9EVU1QX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfU0VUX0MxX0JSX0RNQV9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX1NFVF9DMV9CUl9ETUFfQ0dfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19TRVRfQzFfQlJfRE1BX0NHX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfU0VUX0MxX0JSX0RNQV9DR19TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfU0VUX0MxX0JJR1JBTV9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX1NFVF9DMV9CSUdSQU1fQ0dfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19TRVRfQzFfQklHUkFNX0NHX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfU0VUX0MxX0JJR1JBTV9DR19TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfU0VUX0MxX0RGRV9EVU1QX1ZEU1BfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX1NFVF9DMV9ERkVfRFVNUF9WRFNQX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19TRVRfQzFfREZFX0RVTVBfVkRTUF9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfU0VUX0MxX0RGRV9EVU1QX1ZEU1BfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfU0VUX0MxX0QyQklGX1ZEU1BfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX1NFVF9DMV9EMkJJRl9WRFNQX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19TRVRfQzFfRDJCSUZfVkRTUF9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfU0VUX0MxX0QyQklGX1ZEU1BfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfU0VUX0MxX1JYVDJGX1ZEU1BfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX1NFVF9DMV9SWFQyRl9WRFNQX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19TRVRfQzFfUlhUMkZfVkRTUF9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfU0VUX0MxX1JYVDJGX1ZEU1BfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfU0VUX0MxX0JJR1JBTV9CUlBfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX1NFVF9DMV9CSUdSQU1fQlJQX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19TRVRfQzFfQklHUkFNX0JSUF9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfU0VUX0MxX0JJR1JBTV9CUlBfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfU0VUX0MxX0JJR1JBTV9SQUtFX0NHX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX1NFVF9DMV9CSUdSQU1fUkFLRV9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19TRVRfQzFfQklHUkFNX1JBS0VfQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfU0VUX0MxX0JJR1JBTV9SQUtFX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ09OX0MxX1JBS0VfMzJYX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DT05fQzFfUkFLRV8zMlhfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ09OX0MxX1JBS0VfMzJYX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NPTl9DMV9SQUtFXzMyWF9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NPTl9DMV9EU1REQl9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DT05fQzFfRFNUREJfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ09OX0MxX0RTVERCX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NPTl9DMV9EU1REQl9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NPTl9DMV9EMkJJRl9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DT05fQzFfRDJCSUZfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ09OX0MxX0QyQklGX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NPTl9DMV9EMkJJRl9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NPTl9DMV9ERkVfRFVNUF9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DT05fQzFfREZFX0RVTVBfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ09OX0MxX0RGRV9EVU1QX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NPTl9DMV9ERkVfRFVNUF9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NPTl9DMV9CUl9ETUFfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DT05fQzFfQlJfRE1BX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ09OX0MxX0JSX0RNQV9DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NPTl9DMV9CUl9ETUFfQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NPTl9DMV9CSUdSQU1fQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DT05fQzFfQklHUkFNX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ09OX0MxX0JJR1JBTV9DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NPTl9DMV9CSUdSQU1fQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NPTl9DMV9ERkVfRFVNUF9WRFNQX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DT05fQzFfREZFX0RVTVBfVkRTUF9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ09OX0MxX0RGRV9EVU1QX1ZEU1BfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NPTl9DMV9ERkVfRFVNUF9WRFNQX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NPTl9DMV9EMkJJRl9WRFNQX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DT05fQzFfRDJCSUZfVkRTUF9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ09OX0MxX0QyQklGX1ZEU1BfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NPTl9DMV9EMkJJRl9WRFNQX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NPTl9DMV9SWFQyRl9WRFNQX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DT05fQzFfUlhUMkZfVkRTUF9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ09OX0MxX1JYVDJGX1ZEU1BfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NPTl9DMV9SWFQyRl9WRFNQX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NPTl9DMV9CSUdSQU1fQlJQX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DT05fQzFfQklHUkFNX0JSUF9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ09OX0MxX0JJR1JBTV9CUlBfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NPTl9DMV9CSUdSQU1fQlJQX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NPTl9DMV9CSUdSQU1fUkFLRV9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DT05fQzFfQklHUkFNX1JBS0VfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ09OX0MxX0JJR1JBTV9SQUtFX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NPTl9DMV9CSUdSQU1fUkFLRV9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ0xSX0NFX1JBS0VfMzJYX0NHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DTFJfQ0VfUkFLRV8zMlhfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ0xSX0NFX1JBS0VfMzJYX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NMUl9DRV9SQUtFXzMyWF9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NMUl9DRV9EU1REQl9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DTFJfQ0VfRFNUREJfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ0xSX0NFX0RTVERCX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NMUl9DRV9EU1REQl9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NMUl9DRV9EMkJJRl9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DTFJfQ0VfRDJCSUZfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ0xSX0NFX0QyQklGX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NMUl9DRV9EMkJJRl9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NMUl9DRV9ERkVfRFVNUF9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DTFJfQ0VfREZFX0RVTVBfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ0xSX0NFX0RGRV9EVU1QX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NMUl9DRV9ERkVfRFVNUF9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NMUl9DRV9CUl9ETUFfQ0dfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DTFJfQ0VfQlJfRE1BX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ0xSX0NFX0JSX0RNQV9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NMUl9DRV9CUl9ETUFfQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NMUl9DRV9CSUdSQU1fQ0dfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DTFJfQ0VfQklHUkFNX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ0xSX0NFX0JJR1JBTV9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NMUl9DRV9CSUdSQU1fQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NMUl9DRV9ERkVfRFVNUF9WRFNQX0NHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DTFJfQ0VfREZFX0RVTVBfVkRTUF9DR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ0xSX0NFX0RGRV9EVU1QX1ZEU1BfQ0dfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NMUl9DRV9ERkVfRFVNUF9WRFNQX0NHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NMUl9DRV9EMkJJRl9WRFNQX0NHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DTFJfQ0VfRDJCSUZfVkRTUF9DR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ0xSX0NFX0QyQklGX1ZEU1BfQ0dfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NMUl9DRV9EMkJJRl9WRFNQX0NHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NMUl9DRV9SWFQyRl9WRFNQX0NHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DTFJfQ0VfUlhUMkZfVkRTUF9DR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ0xSX0NFX1JYVDJGX1ZEU1BfQ0dfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NMUl9DRV9SWFQyRl9WRFNQX0NHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NMUl9DRV9CSUdSQU1fQlJQX0NHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DTFJfQ0VfQklHUkFNX0JSUF9DR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ0xSX0NFX0JJR1JBTV9CUlBfQ0dfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NMUl9DRV9CSUdSQU1fQlJQX0NHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NMUl9DRV9CSUdSQU1fUkFLRV9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DTFJfQ0VfQklHUkFNX1JBS0VfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ0xSX0NFX0JJR1JBTV9SQUtFX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NMUl9DRV9CSUdSQU1fUkFLRV9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX1NFVF9DRV9SQUtFXzMyWF9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfU0VUX0NFX1JBS0VfMzJYX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX1NFVF9DRV9SQUtFXzMyWF9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19TRVRfQ0VfUkFLRV8zMlhfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19TRVRfQ0VfRFNUREJfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfU0VUX0NFX0RTVERCX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX1NFVF9DRV9EU1REQl9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19TRVRfQ0VfRFNUREJfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19TRVRfQ0VfRDJCSUZfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfU0VUX0NFX0QyQklGX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX1NFVF9DRV9EMkJJRl9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19TRVRfQ0VfRDJCSUZfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19TRVRfQ0VfREZFX0RVTVBfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfU0VUX0NFX0RGRV9EVU1QX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX1NFVF9DRV9ERkVfRFVNUF9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19TRVRfQ0VfREZFX0RVTVBfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19TRVRfQ0VfQlJfRE1BX0NHX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfU0VUX0NFX0JSX0RNQV9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX1NFVF9DRV9CUl9ETUFfQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19TRVRfQ0VfQlJfRE1BX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19TRVRfQ0VfQklHUkFNX0NHX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfU0VUX0NFX0JJR1JBTV9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX1NFVF9DRV9CSUdSQU1fQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19TRVRfQ0VfQklHUkFNX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19TRVRfQ0VfREZFX0RVTVBfVkRTUF9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfU0VUX0NFX0RGRV9EVU1QX1ZEU1BfQ0dfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX1NFVF9DRV9ERkVfRFVNUF9WRFNQX0NHX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19TRVRfQ0VfREZFX0RVTVBfVkRTUF9DR19TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19TRVRfQ0VfRDJCSUZfVkRTUF9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfU0VUX0NFX0QyQklGX1ZEU1BfQ0dfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX1NFVF9DRV9EMkJJRl9WRFNQX0NHX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19TRVRfQ0VfRDJCSUZfVkRTUF9DR19TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19TRVRfQ0VfUlhUMkZfVkRTUF9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfU0VUX0NFX1JYVDJGX1ZEU1BfQ0dfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX1NFVF9DRV9SWFQyRl9WRFNQX0NHX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19TRVRfQ0VfUlhUMkZfVkRTUF9DR19TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19TRVRfQ0VfQklHUkFNX0JSUF9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfU0VUX0NFX0JJR1JBTV9CUlBfQ0dfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX1NFVF9DRV9CSUdSQU1fQlJQX0NHX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19TRVRfQ0VfQklHUkFNX0JSUF9DR19TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19TRVRfQ0VfQklHUkFNX1JBS0VfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfU0VUX0NFX0JJR1JBTV9SQUtFX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX1NFVF9DRV9CSUdSQU1fUkFLRV9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19TRVRfQ0VfQklHUkFNX1JBS0VfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DT05fQ0VfUkFLRV8zMlhfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NPTl9DRV9SQUtFXzMyWF9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DT05fQ0VfUkFLRV8zMlhfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ09OX0NFX1JBS0VfMzJYX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ09OX0NFX0RTVERCX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NPTl9DRV9EU1REQl9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DT05fQ0VfRFNUREJfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ09OX0NFX0RTVERCX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ09OX0NFX0QyQklGX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NPTl9DRV9EMkJJRl9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DT05fQ0VfRDJCSUZfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ09OX0NFX0QyQklGX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ09OX0NFX0RGRV9EVU1QX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NPTl9DRV9ERkVfRFVNUF9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DT05fQ0VfREZFX0RVTVBfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ09OX0NFX0RGRV9EVU1QX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ09OX0NFX0JSX0RNQV9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NPTl9DRV9CUl9ETUFfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DT05fQ0VfQlJfRE1BX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ09OX0NFX0JSX0RNQV9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ09OX0NFX0JJR1JBTV9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NPTl9DRV9CSUdSQU1fQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DT05fQ0VfQklHUkFNX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ09OX0NFX0JJR1JBTV9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ09OX0NFX0RGRV9EVU1QX1ZEU1BfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NPTl9DRV9ERkVfRFVNUF9WRFNQX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DT05fQ0VfREZFX0RVTVBfVkRTUF9DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ09OX0NFX0RGRV9EVU1QX1ZEU1BfQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ09OX0NFX0QyQklGX1ZEU1BfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NPTl9DRV9EMkJJRl9WRFNQX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DT05fQ0VfRDJCSUZfVkRTUF9DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ09OX0NFX0QyQklGX1ZEU1BfQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ09OX0NFX1JYVDJGX1ZEU1BfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NPTl9DRV9SWFQyRl9WRFNQX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DT05fQ0VfUlhUMkZfVkRTUF9DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ09OX0NFX1JYVDJGX1ZEU1BfQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ09OX0NFX0JJR1JBTV9CUlBfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NPTl9DRV9CSUdSQU1fQlJQX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DT05fQ0VfQklHUkFNX0JSUF9DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ09OX0NFX0JJR1JBTV9CUlBfQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ09OX0NFX0JJR1JBTV9SQUtFX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NPTl9DRV9CSUdSQU1fUkFLRV9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DT05fQ0VfQklHUkFNX1JBS0VfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ09OX0NFX0JJR1JBTV9SQUtFX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBCSUdSQU1fTFRFX0VMMURfQ0dfQ0xSX0xfRDJCSUZfU1dBUF9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0xURV9FTDFEX0NHX0NMUl9MX0QyQklGX1NXQVBfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9MVEVfRUwxRF9DR19DTFJfTF9EMkJJRl9TV0FQX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBCSUdSQU1fTFRFX0VMMURfQ0dfQ0xSX0xfRDJCSUZfU1dBUF9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBCSUdSQU1fTFRFX0VMMURfQ0dfQ0xSX0xfRDJCSUZfVkRTUF9TV0FQX0NHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQklHUkFNX0xURV9FTDFEX0NHX0NMUl9MX0QyQklGX1ZEU1BfU1dBUF9DR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9MVEVfRUwxRF9DR19DTFJfTF9EMkJJRl9WRFNQX1NXQVBfQ0dfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBCSUdSQU1fTFRFX0VMMURfQ0dfQ0xSX0xfRDJCSUZfVkRTUF9TV0FQX0NHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBCSUdSQU1fTFRFX0VMMURfQ0dfU0VUX0xfRDJCSUZfU1dBUF9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0xURV9FTDFEX0NHX1NFVF9MX0QyQklGX1NXQVBfQ0dfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9MVEVfRUwxRF9DR19TRVRfTF9EMkJJRl9TV0FQX0NHX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBCSUdSQU1fTFRFX0VMMURfQ0dfU0VUX0xfRDJCSUZfU1dBUF9DR19TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBCSUdSQU1fTFRFX0VMMURfQ0dfU0VUX0xfRDJCSUZfVkRTUF9TV0FQX0NHX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQklHUkFNX0xURV9FTDFEX0NHX1NFVF9MX0QyQklGX1ZEU1BfU1dBUF9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9MVEVfRUwxRF9DR19TRVRfTF9EMkJJRl9WRFNQX1NXQVBfQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBCSUdSQU1fTFRFX0VMMURfQ0dfU0VUX0xfRDJCSUZfVkRTUF9TV0FQX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBCSUdSQU1fTFRFX0VMMURfQ0dfQ09OX0xfRDJCSUZfU1dBUF9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0xURV9FTDFEX0NHX0NPTl9MX0QyQklGX1NXQVBfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9MVEVfRUwxRF9DR19DT05fTF9EMkJJRl9TV0FQX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBCSUdSQU1fTFRFX0VMMURfQ0dfQ09OX0xfRDJCSUZfU1dBUF9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBCSUdSQU1fTFRFX0VMMURfQ0dfQ09OX0xfRDJCSUZfVkRTUF9TV0FQX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQklHUkFNX0xURV9FTDFEX0NHX0NPTl9MX0QyQklGX1ZEU1BfU1dBUF9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9MVEVfRUwxRF9DR19DT05fTF9EMkJJRl9WRFNQX1NXQVBfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBCSUdSQU1fTFRFX0VMMURfQ0dfQ09OX0xfRDJCSUZfVkRTUF9TV0FQX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9ESVZfRFNUREJfQ0tfSURMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfRElWX0RTVERCX0NLX0lETEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX0RJVl9EU1REQl9DS19JRExFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9ESVZfRFNUREJfQ0tfSURMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9ESVZfRDJCSUZfQ0tfSURMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfRElWX0QyQklGX0NLX0lETEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX0RJVl9EMkJJRl9DS19JRExFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9ESVZfRDJCSUZfQ0tfSURMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9ESVZfREZFX0RVTVBfQ0tfSURMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfRElWX0RGRV9EVU1QX0NLX0lETEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX0RJVl9ERkVfRFVNUF9DS19JRExFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9ESVZfREZFX0RVTVBfQ0tfSURMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9ESVZfQlJfRE1BX0NLX0lETEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfRElWX0JSX0RNQV9DS19JRExFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX0RJVl9CUl9ETUFfQ0tfSURMRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9ESVZfQlJfRE1BX0NLX0lETEVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9ESVZfQklHUkFNX0NLX0lETEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfRElWX0JJR1JBTV9DS19JRExFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX0RJVl9CSUdSQU1fQ0tfSURMRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9ESVZfQklHUkFNX0NLX0lETEVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9ESVZfREZFX0RVTVBfVkRTUF9DS19JRExFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfRElWX0RGRV9EVU1QX1ZEU1BfQ0tfSURMRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX0RJVl9ERkVfRFVNUF9WRFNQX0NLX0lETEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9ESVZfREZFX0RVTVBfVkRTUF9DS19JRExFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9ESVZfRDJCSUZfVkRTUF9DS19JRExFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfRElWX0QyQklGX1ZEU1BfQ0tfSURMRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX0RJVl9EMkJJRl9WRFNQX0NLX0lETEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9ESVZfRDJCSUZfVkRTUF9DS19JRExFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9ESVZfUlhUMkZfVkRTUF9DS19JRExFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfRElWX1JYVDJGX1ZEU1BfQ0tfSURMRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX0RJVl9SWFQyRl9WRFNQX0NLX0lETEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9ESVZfUlhUMkZfVkRTUF9DS19JRExFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9ESVZfQlJQX0NLX0lETEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfRElWX0JSUF9DS19JRExFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX0RJVl9CUlBfQ0tfSURMRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9ESVZfQlJQX0NLX0lETEVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9ESVZfUkFLRV9DS19JRExFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfRElWX1JBS0VfQ0tfSURMRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX0RJVl9SQUtFX0NLX0lETEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9ESVZfUkFLRV9DS19JRExFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0RTVERCX0NLX0lETEVfZGJnX21hc2tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19EU1REQl9DS19JRExFX2RiZ19tYXNrX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfRFNUREJfQ0tfSURMRV9kYmdfbWFza19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0RTVERCX0NLX0lETEVfZGJnX21hc2tfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0RTVERCX0NLX0lETEVfbWFza19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19EU1REQl9DS19JRExFX21hc2tfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfRFNUREJfQ0tfSURMRV9tYXNrX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0RTVERCX0NLX0lETEVfbWFza19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0QyQklGX0NLX0lETEVfZGJnX21hc2tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19EMkJJRl9DS19JRExFX2RiZ19tYXNrX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfRDJCSUZfQ0tfSURMRV9kYmdfbWFza19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0QyQklGX0NLX0lETEVfZGJnX21hc2tfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0QyQklGX0NLX0lETEVfbWFza19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19EMkJJRl9DS19JRExFX21hc2tfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfRDJCSUZfQ0tfSURMRV9tYXNrX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0QyQklGX0NLX0lETEVfbWFza19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0RGRV9EVU1QX0NLX0lETEVfZGJnX21hc2tfTFNCICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19ERkVfRFVNUF9DS19JRExFX2RiZ19tYXNrX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfREZFX0RVTVBfQ0tfSURMRV9kYmdfbWFza19NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0RGRV9EVU1QX0NLX0lETEVfZGJnX21hc2tfQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0RGRV9EVU1QX0NLX0lETEVfbWFza19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19ERkVfRFVNUF9DS19JRExFX21hc2tfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfREZFX0RVTVBfQ0tfSURMRV9tYXNrX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0RGRV9EVU1QX0NLX0lETEVfbWFza19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0JSX0RNQV9DS19JRExFX2RiZ19tYXNrX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19CUl9ETUFfQ0tfSURMRV9kYmdfbWFza19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfQlJfRE1BX0NLX0lETEVfZGJnX21hc2tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0JSX0RNQV9DS19JRExFX2RiZ19tYXNrX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0JSX0RNQV9DS19JRExFX21hc2tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19CUl9ETUFfQ0tfSURMRV9tYXNrX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfQlJfRE1BX0NLX0lETEVfbWFza19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0JSX0RNQV9DS19JRExFX21hc2tfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0JJR1JBTV9DS19JRExFX2RiZ19tYXNrX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19CSUdSQU1fQ0tfSURMRV9kYmdfbWFza19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfQklHUkFNX0NLX0lETEVfZGJnX21hc2tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0JJR1JBTV9DS19JRExFX2RiZ19tYXNrX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0JJR1JBTV9DS19JRExFX21hc2tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19CSUdSQU1fQ0tfSURMRV9tYXNrX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfQklHUkFNX0NLX0lETEVfbWFza19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0JJR1JBTV9DS19JRExFX21hc2tfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0RGRV9EVU1QX1ZEU1BfQ0tfSURMRV9kYmdfbWFza19MU0IgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19ERkVfRFVNUF9WRFNQX0NLX0lETEVfZGJnX21hc2tfV0lEVEggICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfREZFX0RVTVBfVkRTUF9DS19JRExFX2RiZ19tYXNrX01BU0sgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0RGRV9EVU1QX1ZEU1BfQ0tfSURMRV9kYmdfbWFza19CSVQgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0RGRV9EVU1QX1ZEU1BfQ0tfSURMRV9tYXNrX0xTQiAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19ERkVfRFVNUF9WRFNQX0NLX0lETEVfbWFza19XSURUSCAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfREZFX0RVTVBfVkRTUF9DS19JRExFX21hc2tfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0RGRV9EVU1QX1ZEU1BfQ0tfSURMRV9tYXNrX0JJVCAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0QyQklGX1ZEU1BfQ0tfSURMRV9kYmdfbWFza19MU0IgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19EMkJJRl9WRFNQX0NLX0lETEVfZGJnX21hc2tfV0lEVEggICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfRDJCSUZfVkRTUF9DS19JRExFX2RiZ19tYXNrX01BU0sgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0QyQklGX1ZEU1BfQ0tfSURMRV9kYmdfbWFza19CSVQgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0QyQklGX1ZEU1BfQ0tfSURMRV9tYXNrX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19EMkJJRl9WRFNQX0NLX0lETEVfbWFza19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfRDJCSUZfVkRTUF9DS19JRExFX21hc2tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0QyQklGX1ZEU1BfQ0tfSURMRV9tYXNrX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX1JYVDJGX1ZEU1BfQ0tfSURMRV9kYmdfbWFza19MU0IgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19SWFQyRl9WRFNQX0NLX0lETEVfZGJnX21hc2tfV0lEVEggICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfUlhUMkZfVkRTUF9DS19JRExFX2RiZ19tYXNrX01BU0sgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX1JYVDJGX1ZEU1BfQ0tfSURMRV9kYmdfbWFza19CSVQgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX1JYVDJGX1ZEU1BfQ0tfSURMRV9tYXNrX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19SWFQyRl9WRFNQX0NLX0lETEVfbWFza19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfUlhUMkZfVkRTUF9DS19JRExFX21hc2tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX1JYVDJGX1ZEU1BfQ0tfSURMRV9tYXNrX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0JSUF9DS19JRExFX2RiZ19tYXNrX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19CUlBfQ0tfSURMRV9kYmdfbWFza19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfQlJQX0NLX0lETEVfZGJnX21hc2tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0JSUF9DS19JRExFX2RiZ19tYXNrX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0JSUF9DS19JRExFX21hc2tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19CUlBfQ0tfSURMRV9tYXNrX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfQlJQX0NLX0lETEVfbWFza19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0JSUF9DS19JRExFX21hc2tfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX1JBS0VfQ0tfSURMRV9kYmdfbWFza19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19SQUtFX0NLX0lETEVfZGJnX21hc2tfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfUkFLRV9DS19JRExFX2RiZ19tYXNrX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX1JBS0VfQ0tfSURMRV9kYmdfbWFza19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX1JBS0VfQ0tfSURMRV9tYXNrX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19SQUtFX0NLX0lETEVfbWFza19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfUkFLRV9DS19JRExFX21hc2tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX1JBS0VfQ0tfSURMRV9tYXNrX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBCSUdSQU1fQlVTX0NPTkZJRzBfZGVidWdfc2VsX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIEJJR1JBTV9CVVNfQ09ORklHMF9kZWJ1Z19zZWxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQlVTX0NPTkZJRzBfZGVidWdfc2VsX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgQklHUkFNX0JVU19DT05GSUcwX2RlYnVnX3NlbF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgQklHUkFNX0JVU19DT05GSUcwX2JpZ3JhbV9zbHZfYXJmbHVzaF90aHJlX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIEJJR1JBTV9CVVNfQ09ORklHMF9iaWdyYW1fc2x2X2FyZmx1c2hfdGhyZV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBCSUdSQU1fQlVTX0NPTkZJRzBfYmlncmFtX3Nsdl9hcmZsdXNoX3RocmVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDYwMCkKKworI2RlZmluZSBCSUdSQU1fQlVTX0NPTkZJRzBfYmlncmFtX3Nsdl9hd2ZsdXNoX3RocmVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgQklHUkFNX0JVU19DT05GSUcwX2JpZ3JhbV9zbHZfYXdmbHVzaF90aHJlX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIEJJR1JBTV9CVVNfQ09ORklHMF9iaWdyYW1fc2x2X2F3Zmx1c2hfdGhyZV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTgwKQorCisjZGVmaW5lIEJJR1JBTV9CVVNfQ09ORklHMF9zbHZfc3luY19zZWxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBCSUdSQU1fQlVTX0NPTkZJRzBfc2x2X3N5bmNfc2VsX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQklHUkFNX0JVU19DT05GSUcwX3Nsdl9zeW5jX3NlbF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNjApCisKKyNkZWZpbmUgQklHUkFNX0JVU19DT05GSUcwX21zdF9zeW5jX3NlbF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEJJR1JBTV9CVVNfQ09ORklHMF9tc3Rfc3luY19zZWxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBCSUdSQU1fQlVTX0NPTkZJRzBfbXN0X3N5bmNfc2VsX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxOCkKKworI2RlZmluZSBCSUdSQU1fQlVTX0NPTkZJRzBfYmlncmFtX21hc19taV9vc3RkX2V4dF9lbl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQklHUkFNX0JVU19DT05GSUcwX2JpZ3JhbV9tYXNfbWlfb3N0ZF9leHRfZW5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9CVVNfQ09ORklHMF9iaWdyYW1fbWFzX21pX29zdGRfZXh0X2VuX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBCSUdSQU1fQlVTX0NPTkZJRzBfYmlncmFtX21hc19taV9vc3RkX2V4dF9lbl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBCSUdSQU1fQlVTX0NPTkZJRzBfYmlncmFtX21hc19taV9xb3Nfb25fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0JVU19DT05GSUcwX2JpZ3JhbV9tYXNfbWlfcW9zX29uX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9CVVNfQ09ORklHMF9iaWdyYW1fbWFzX21pX3Fvc19vbl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBCSUdSQU1fQlVTX0NPTkZJRzBfYmlncmFtX21hc19taV9xb3Nfb25fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBCSUdSQU1fQlVTX0NPTkZJRzBfY2dfZGlzYWJsZV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQklHUkFNX0JVU19DT05GSUcwX2NnX2Rpc2FibGVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9CVVNfQ09ORklHMF9jZ19kaXNhYmxlX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBCSUdSQU1fQlVTX0NPTkZJRzBfY2dfZGlzYWJsZV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBCSUdSQU1fQlVTX1NUQVRVUzBfYmlncmFtX21hc19nYWxzX3R4X2lkbGVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgQklHUkFNX0JVU19TVEFUVVMwX2JpZ3JhbV9tYXNfZ2Fsc190eF9pZGxlX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9CVVNfU1RBVFVTMF9iaWdyYW1fbWFzX2dhbHNfdHhfaWRsZV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBCSUdSQU1fQlVTX1NUQVRVUzBfYmlncmFtX21hc19nYWxzX3R4X2lkbGVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBCSUdSQU1fQlVTX1NUQVRVUzBfYmlncmFtX2dhbHNfaWRsZV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQklHUkFNX0JVU19TVEFUVVMwX2JpZ3JhbV9nYWxzX2lkbGVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9CVVNfU1RBVFVTMF9iaWdyYW1fZ2Fsc19pZGxlX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBCSUdSQU1fQlVTX1NUQVRVUzBfYmlncmFtX2dhbHNfaWRsZV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBCSUdSQU1fQlVTX1NUQVRVUzBfYmlncmFtX21pX3JfYnVzeV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0JVU19TVEFUVVMwX2JpZ3JhbV9taV9yX2J1c3lfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9CVVNfU1RBVFVTMF9iaWdyYW1fbWlfcl9idXN5X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBCSUdSQU1fQlVTX1NUQVRVUzBfYmlncmFtX21pX3JfYnVzeV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBCSUdSQU1fQlVTX1NUQVRVUzBfYmlncmFtX21pX3dfYnVzeV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQklHUkFNX0JVU19TVEFUVVMwX2JpZ3JhbV9taV93X2J1c3lfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9CVVNfU1RBVFVTMF9iaWdyYW1fbWlfd19idXN5X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBCSUdSQU1fQlVTX1NUQVRVUzBfYmlncmFtX21pX3dfYnVzeV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBCSUdSQU1fU0xWX0JVU19DT05GSUcwX2JpZ3JhbV9zbHZfc2lfd2F5X2ludGVybGVhdmVfZW5fTFNCICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgQklHUkFNX1NMVl9CVVNfQ09ORklHMF9iaWdyYW1fc2x2X3NpX3dheV9pbnRlcmxlYXZlX2VuX1dJRFRIICAgICAgICAgICAgKDIpCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX0NPTkZJRzBfYmlncmFtX3Nsdl9zaV93YXlfaW50ZXJsZWF2ZV9lbl9NQVNLICAgICAgICAgICAgICgweDAwMDAwMDYwKQorCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX0NPTkZJRzBfYmlncmFtX3Nsdl9zaV9PU1REX2Rpc2FibGVfTFNCICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBCSUdSQU1fU0xWX0JVU19DT05GSUcwX2JpZ3JhbV9zbHZfc2lfT1NURF9kaXNhYmxlX1dJRFRIICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX1NMVl9CVVNfQ09ORklHMF9iaWdyYW1fc2x2X3NpX09TVERfZGlzYWJsZV9NQVNLICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX0NPTkZJRzBfYmlncmFtX3Nsdl9zaV9PU1REX2Rpc2FibGVfQklUICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX0NPTkZJRzBfYmlncmFtX3Nsdl9zaV9jdHJsX2J5cGFzc19MU0IgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBCSUdSQU1fU0xWX0JVU19DT05GSUcwX2JpZ3JhbV9zbHZfc2lfY3RybF9ieXBhc3NfV0lEVEggICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX1NMVl9CVVNfQ09ORklHMF9iaWdyYW1fc2x2X3NpX2N0cmxfYnlwYXNzX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX0NPTkZJRzBfYmlncmFtX3Nsdl9zaV9jdHJsX2J5cGFzc19CSVQgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX0NPTkZJRzBfYmlncmFtX3Nsdl9zaV93YXlfZW5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fU0xWX0JVU19DT05GSUcwX2JpZ3JhbV9zbHZfc2lfd2F5X2VuX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQklHUkFNX1NMVl9CVVNfQ09ORklHMF9iaWdyYW1fc2x2X3NpX3dheV9lbl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDYpCisKKyNkZWZpbmUgQklHUkFNX1NMVl9CVVNfQ09ORklHMF9jZ19kaXNhYmxlX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX0NPTkZJRzBfY2dfZGlzYWJsZV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fU0xWX0JVU19DT05GSUcwX2NnX2Rpc2FibGVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQklHUkFNX1NMVl9CVVNfQ09ORklHMF9jZ19kaXNhYmxlX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQklHUkFNX1NMVl9CVVNfU1RBVFVTMF9iaWdyYW1fc2x2X2F4aTJzcmFtX2lkbGVfTFNCICAgICAgICAgICAgICAgICAgICAgKDIxKQorI2RlZmluZSBCSUdSQU1fU0xWX0JVU19TVEFUVVMwX2JpZ3JhbV9zbHZfYXhpMnNyYW1faWRsZV9XSURUSCAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX1NMVl9CVVNfU1RBVFVTMF9iaWdyYW1fc2x2X2F4aTJzcmFtX2lkbGVfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDAyMDAwMDApCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX1NUQVRVUzBfYmlncmFtX3Nsdl9heGkyc3JhbV9pZGxlX0JJVCAgICAgICAgICAgICAgICAgICAgICgweDAwMjAwMDAwKQorCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX1NUQVRVUzBfYmlncmFtX3Nsdl9zaV9kZWNfZXJyX2RvbWFpbl9MU0IgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgQklHUkFNX1NMVl9CVVNfU1RBVFVTMF9iaWdyYW1fc2x2X3NpX2RlY19lcnJfZG9tYWluX1dJRFRIICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX1NUQVRVUzBfYmlncmFtX3Nsdl9zaV9kZWNfZXJyX2RvbWFpbl9NQVNLICAgICAgICAgICAgICAgICgweDAwMUMwMDAwKQorCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX1NUQVRVUzBfYmlncmFtX3Nsdl9zaV9kZWNfZXJyX2lkX0xTQiAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBCSUdSQU1fU0xWX0JVU19TVEFUVVMwX2JpZ3JhbV9zbHZfc2lfZGVjX2Vycl9pZF9XSURUSCAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX1NUQVRVUzBfYmlncmFtX3Nsdl9zaV9kZWNfZXJyX2lkX01BU0sgICAgICAgICAgICAgICAgICAgICgweDAwMDNGRkUwKQorCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX1NUQVRVUzBfYmlncmFtX3Nsdl9zaV9kZWNfZXJyX3dfTFNCICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBCSUdSQU1fU0xWX0JVU19TVEFUVVMwX2JpZ3JhbV9zbHZfc2lfZGVjX2Vycl93X1dJRFRIICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX1NMVl9CVVNfU1RBVFVTMF9iaWdyYW1fc2x2X3NpX2RlY19lcnJfd19NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX1NUQVRVUzBfYmlncmFtX3Nsdl9zaV9kZWNfZXJyX3dfQklUICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX1NUQVRVUzBfYmlncmFtX3Nsdl9zaV9kZWNfZXJyX3JfTFNCICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBCSUdSQU1fU0xWX0JVU19TVEFUVVMwX2JpZ3JhbV9zbHZfc2lfZGVjX2Vycl9yX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX1NMVl9CVVNfU1RBVFVTMF9iaWdyYW1fc2x2X3NpX2RlY19lcnJfcl9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX1NUQVRVUzBfYmlncmFtX3Nsdl9zaV9kZWNfZXJyX3JfQklUICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX1NUQVRVUzBfYmlncmFtX3Nsdl9zaV9yZF9vdF9idXN5X0xTQiAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBCSUdSQU1fU0xWX0JVU19TVEFUVVMwX2JpZ3JhbV9zbHZfc2lfcmRfb3RfYnVzeV9XSURUSCAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX1NMVl9CVVNfU1RBVFVTMF9iaWdyYW1fc2x2X3NpX3JkX290X2J1c3lfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX1NUQVRVUzBfYmlncmFtX3Nsdl9zaV9yZF9vdF9idXN5X0JJVCAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX1NUQVRVUzBfYmlncmFtX3Nsdl9zaV93cl9vdF9idXN5X0xTQiAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fU0xWX0JVU19TVEFUVVMwX2JpZ3JhbV9zbHZfc2lfd3Jfb3RfYnVzeV9XSURUSCAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX1NMVl9CVVNfU1RBVFVTMF9iaWdyYW1fc2x2X3NpX3dyX290X2J1c3lfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX1NUQVRVUzBfYmlncmFtX3Nsdl9zaV93cl9vdF9idXN5X0JJVCAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX1NUQVRVUzBfYmlncmFtX3Nsdl9zaV9jdHJsX3VwZGF0ZWRfTFNCICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCSUdSQU1fU0xWX0JVU19TVEFUVVMwX2JpZ3JhbV9zbHZfc2lfY3RybF91cGRhdGVkX1dJRFRIICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX1NMVl9CVVNfU1RBVFVTMF9iaWdyYW1fc2x2X3NpX2N0cmxfdXBkYXRlZF9NQVNLICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX1NUQVRVUzBfYmlncmFtX3Nsdl9zaV9jdHJsX3VwZGF0ZWRfQklUICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX1NUQVRVUzFfYmlncmFtX3Nsdl9zaV9kZWNfZXJyX2FkZHJfTFNCICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCSUdSQU1fU0xWX0JVU19TVEFUVVMxX2JpZ3JhbV9zbHZfc2lfZGVjX2Vycl9hZGRyX1dJRFRIICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX1NUQVRVUzFfYmlncmFtX3Nsdl9zaV9kZWNfZXJyX2FkZHJfTUFTSyAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIEJJR1JBTV9CVVNfREJHT1VUX2JpZ3JhbV9idXNfZGJnb3V0X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCSUdSQU1fQlVTX0RCR09VVF9iaWdyYW1fYnVzX2RiZ291dF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIEJJR1JBTV9CVVNfREJHT1VUX2JpZ3JhbV9idXNfZGJnb3V0X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIEJJR1JBTV9DTEtfRElWMl9ESVNfYmlncmFtX2RpdjJfZGlzYWJsZV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCSUdSQU1fQ0xLX0RJVjJfRElTX2JpZ3JhbV9kaXYyX2Rpc2FibGVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0NMS19ESVYyX0RJU19iaWdyYW1fZGl2Ml9kaXNhYmxlX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEJJR1JBTV9DTEtfRElWMl9ESVNfYmlncmFtX2RpdjJfZGlzYWJsZV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisKKyNlbmRpZiAvKiNpZm5kZWYgX0NQSF9CSUdSQU1fR0xCX0NPTl9SRUdfSF8qLwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhiaWdyYW1nbGJjb25yZWdfOTUuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhiaWdyYW1nbGJjb25yZWdfOTUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNzQ5NTBkCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGJpZ3JhbWdsYmNvbnJlZ185NS5oCkBAIC0wLDAgKzEsMTI4MiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NQSF9CSUdSQU1fR0xCX0NPTl9SRUdfSF8KKyNkZWZpbmUgX0NQSF9CSUdSQU1fR0xCX0NPTl9SRUdfSF8KKworCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBTUkFNQUREUjsgICAgICAgICAvKiBTUkFNIGFkZHIgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIFNSQU1EQVRBOyAgICAgICAgIC8qIFNSQU0gZGF0YSBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogQVBCQUREUjsgICAgICAgICAgLyogQVBCIGFkZHIgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBBUEJEQVRBOyAgICAgICAgICAvKiBBUEIgZGF0YSBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyogIEFQQkFERFIzMjsgICAgICAgIC8qIEFQQiBhZGRyIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICAgQVBCREFUQTMyOyAgICAgICAgLyogQVBCIGRhdGEgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBEUFJBTUFERFI7ICAgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgc2lnbmVkICAgc2hvcnQqIERQUkFNQUREUl9TOyAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgRFBSQU1EQVRBOyAgICAgICAgLyogRFBSQU0gZGF0YSBpcyAxNiBiaXRzICovCisKKworI2RlZmluZSBCSUdSQU1fR0xPQkFMX0NPTl9SRUdfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhBQjgxMDAwMCkKKworI2RlZmluZSBCSUdSQU1fR0xPQkFMX0NPTl9lbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoQklHUkFNX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAxMTggKyAxKjQpCisKKworCisjZGVmaW5lIEJJR1JBTV9DR19DT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCSUdSQU1fR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDAwMCkpCisjZGVmaW5lIEJJR1JBTV9QV1JfQVdBUkVfQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCSUdSQU1fR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDAwNCkpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ0xSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCSUdSQU1fR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDAwOCkpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfU0VUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCSUdSQU1fR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDAwQykpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ09OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCSUdSQU1fR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDAxMCkpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ0xSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCSUdSQU1fR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDAxOCkpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfU0VUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCSUdSQU1fR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDAxQykpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ09OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCSUdSQU1fR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDAyMCkpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ0xSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCSUdSQU1fR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDAyOCkpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfU0VUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCSUdSQU1fR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDAyQykpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ09OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCSUdSQU1fR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDAzMCkpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ0xSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCSUdSQU1fR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDAzOCkpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfU0VUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCSUdSQU1fR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDAzQykpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ09OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCSUdSQU1fR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDA0MCkpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DTFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCSUdSQU1fR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDA0OCkpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19TRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCSUdSQU1fR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDA0QykpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCSUdSQU1fR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDA1MCkpCisjZGVmaW5lIEJJR1JBTV9MVEVfRUwxRF9DR19DTFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCSUdSQU1fR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDA1OCkpCisjZGVmaW5lIEJJR1JBTV9MVEVfRUwxRF9DR19TRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCSUdSQU1fR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDA1QykpCisjZGVmaW5lIEJJR1JBTV9MVEVfRUwxRF9DR19DT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCSUdSQU1fR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDA2MCkpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX0RJViAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCSUdSQU1fR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDA2OCkpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCSUdSQU1fR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDA2QykpCisjZGVmaW5lIEJJR1JBTV9CVVNfQ09ORklHMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCSUdSQU1fR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDEwMCkpCisjZGVmaW5lIEJJR1JBTV9CVVNfU1RBVFVTMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCSUdSQU1fR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDEwNCkpCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX0NPTkZJRzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCSUdSQU1fR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDEwOCkpCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX1NUQVRVUzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCSUdSQU1fR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDEwQykpCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX1NUQVRVUzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCSUdSQU1fR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDExMCkpCisjZGVmaW5lIEJJR1JBTV9CVVNfREJHT1VUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCSUdSQU1fR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDExNCkpCisjZGVmaW5lIEJJR1JBTV9DTEtfRElWMl9ESVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShCSUdSQU1fR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDExOCkpCisKKworI2RlZmluZSBCSUdSQU1fQ0dfQ09OX1JBS0VfMzJYX0NLX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIEJJR1JBTV9DR19DT05fUkFLRV8zMlhfQ0tfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0dfQ09OX1JBS0VfMzJYX0NLX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgQklHUkFNX0NHX0NPTl9SQUtFXzMyWF9DS19DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgQklHUkFNX0NHX0NPTl9EU1REQl9DS19DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIEJJR1JBTV9DR19DT05fRFNUREJfQ0tfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0dfQ09OX0RTVERCX0NLX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgQklHUkFNX0NHX0NPTl9EU1REQl9DS19DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgQklHUkFNX0NHX0NPTl9EMkJJRl9DS19DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIEJJR1JBTV9DR19DT05fRDJCSUZfQ0tfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0dfQ09OX0QyQklGX0NLX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgQklHUkFNX0NHX0NPTl9EMkJJRl9DS19DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgQklHUkFNX0NHX0NPTl9ERkVfRFVNUF9DS19DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIEJJR1JBTV9DR19DT05fREZFX0RVTVBfQ0tfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0dfQ09OX0RGRV9EVU1QX0NLX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgQklHUkFNX0NHX0NPTl9ERkVfRFVNUF9DS19DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgQklHUkFNX0NHX0NPTl9CUl9ETUFfQ0tfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIEJJR1JBTV9DR19DT05fQlJfRE1BX0NLX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0dfQ09OX0JSX0RNQV9DS19DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgQklHUkFNX0NHX0NPTl9CUl9ETUFfQ0tfQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgQklHUkFNX0NHX0NPTl9CSUdSQU1fQ0tfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIEJJR1JBTV9DR19DT05fQklHUkFNX0NLX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0dfQ09OX0JJR1JBTV9DS19DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgQklHUkFNX0NHX0NPTl9CSUdSQU1fQ0tfQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgQklHUkFNX0NHX0NPTl9ERkVfRFVNUF9WRFNQX0NLX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIEJJR1JBTV9DR19DT05fREZFX0RVTVBfVkRTUF9DS19DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0dfQ09OX0RGRV9EVU1QX1ZEU1BfQ0tfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgQklHUkFNX0NHX0NPTl9ERkVfRFVNUF9WRFNQX0NLX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgQklHUkFNX0NHX0NPTl9EMkJJRl9WRFNQX0NLX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEJJR1JBTV9DR19DT05fRDJCSUZfVkRTUF9DS19DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0dfQ09OX0QyQklGX1ZEU1BfQ0tfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgQklHUkFNX0NHX0NPTl9EMkJJRl9WRFNQX0NLX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgQklHUkFNX0NHX0NPTl9SWFQyRl9WRFNQX0NLX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIEJJR1JBTV9DR19DT05fUlhUMkZfVkRTUF9DS19DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0dfQ09OX1JYVDJGX1ZEU1BfQ0tfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgQklHUkFNX0NHX0NPTl9SWFQyRl9WRFNQX0NLX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgQklHUkFNX0NHX0NPTl9CSUdSQU1fQlJQX0NLX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DR19DT05fQklHUkFNX0JSUF9DS19DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0dfQ09OX0JJR1JBTV9CUlBfQ0tfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQklHUkFNX0NHX0NPTl9CSUdSQU1fQlJQX0NLX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQklHUkFNX0NHX0NPTl9CSUdSQU1fUkFLRV9DS19DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJJR1JBTV9DR19DT05fQklHUkFNX1JBS0VfQ0tfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0dfQ09OX0JJR1JBTV9SQUtFX0NLX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQklHUkFNX0NHX0NPTl9CSUdSQU1fUkFLRV9DS19DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQklHUkFNX1BXUl9BV0FSRV9DVFJMX0JJR1JBTV9QV1JfQVdBUkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJJR1JBTV9QV1JfQVdBUkVfQ1RSTF9CSUdSQU1fUFdSX0FXQVJFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgQklHUkFNX1BXUl9BV0FSRV9DVFJMX0JJR1JBTV9QV1JfQVdBUkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DTFJfTF9SQUtFXzMyWF9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NMUl9MX1JBS0VfMzJYX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DTFJfTF9SQUtFXzMyWF9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ0xSX0xfUkFLRV8zMlhfQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ0xSX0xfRFNUREJfQ0dfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NMUl9MX0RTVERCX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DTFJfTF9EU1REQl9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ0xSX0xfRFNUREJfQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ0xSX0xfRDJCSUZfQ0dfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NMUl9MX0QyQklGX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DTFJfTF9EMkJJRl9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ0xSX0xfRDJCSUZfQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ0xSX0xfREZFX0RVTVBfQ0dfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NMUl9MX0RGRV9EVU1QX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DTFJfTF9ERkVfRFVNUF9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ0xSX0xfREZFX0RVTVBfQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ0xSX0xfQlJfRE1BX0NHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NMUl9MX0JSX0RNQV9DR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DTFJfTF9CUl9ETUFfQ0dfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ0xSX0xfQlJfRE1BX0NHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ0xSX0xfQklHUkFNX0NHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NMUl9MX0JJR1JBTV9DR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DTFJfTF9CSUdSQU1fQ0dfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ0xSX0xfQklHUkFNX0NHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ0xSX0xfREZFX0RVTVBfVkRTUF9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NMUl9MX0RGRV9EVU1QX1ZEU1BfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DTFJfTF9ERkVfRFVNUF9WRFNQX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ0xSX0xfREZFX0RVTVBfVkRTUF9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ0xSX0xfRDJCSUZfVkRTUF9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NMUl9MX0QyQklGX1ZEU1BfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DTFJfTF9EMkJJRl9WRFNQX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ0xSX0xfRDJCSUZfVkRTUF9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ0xSX0xfUlhUMkZfVkRTUF9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NMUl9MX1JYVDJGX1ZEU1BfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DTFJfTF9SWFQyRl9WRFNQX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ0xSX0xfUlhUMkZfVkRTUF9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ0xSX0xfQklHUkFNX0JSUF9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NMUl9MX0JJR1JBTV9CUlBfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DTFJfTF9CSUdSQU1fQlJQX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ0xSX0xfQklHUkFNX0JSUF9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ0xSX0xfQklHUkFNX1JBS0VfQ0dfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NMUl9MX0JJR1JBTV9SQUtFX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DTFJfTF9CSUdSQU1fUkFLRV9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ0xSX0xfQklHUkFNX1JBS0VfQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfU0VUX0xfUkFLRV8zMlhfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19TRVRfTF9SQUtFXzMyWF9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfU0VUX0xfUkFLRV8zMlhfQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX1NFVF9MX1JBS0VfMzJYX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBCSUdSQU1fTFRFX0NHX1NFVF9MX0RTVERCX0NHX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19TRVRfTF9EU1REQl9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfU0VUX0xfRFNUREJfQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX1NFVF9MX0RTVERCX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBCSUdSQU1fTFRFX0NHX1NFVF9MX0QyQklGX0NHX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19TRVRfTF9EMkJJRl9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfU0VUX0xfRDJCSUZfQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX1NFVF9MX0QyQklGX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBCSUdSQU1fTFRFX0NHX1NFVF9MX0RGRV9EVU1QX0NHX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgQklHUkFNX0xURV9DR19TRVRfTF9ERkVfRFVNUF9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfU0VUX0xfREZFX0RVTVBfQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX1NFVF9MX0RGRV9EVU1QX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBCSUdSQU1fTFRFX0NHX1NFVF9MX0JSX0RNQV9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgQklHUkFNX0xURV9DR19TRVRfTF9CUl9ETUFfQ0dfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfU0VUX0xfQlJfRE1BX0NHX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX1NFVF9MX0JSX0RNQV9DR19TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBCSUdSQU1fTFRFX0NHX1NFVF9MX0JJR1JBTV9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19TRVRfTF9CSUdSQU1fQ0dfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfU0VUX0xfQklHUkFNX0NHX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX1NFVF9MX0JJR1JBTV9DR19TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBCSUdSQU1fTFRFX0NHX1NFVF9MX0RGRV9EVU1QX1ZEU1BfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19TRVRfTF9ERkVfRFVNUF9WRFNQX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfU0VUX0xfREZFX0RVTVBfVkRTUF9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX1NFVF9MX0RGRV9EVU1QX1ZEU1BfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBCSUdSQU1fTFRFX0NHX1NFVF9MX0QyQklGX1ZEU1BfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgQklHUkFNX0xURV9DR19TRVRfTF9EMkJJRl9WRFNQX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfU0VUX0xfRDJCSUZfVkRTUF9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX1NFVF9MX0QyQklGX1ZEU1BfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBCSUdSQU1fTFRFX0NHX1NFVF9MX1JYVDJGX1ZEU1BfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQklHUkFNX0xURV9DR19TRVRfTF9SWFQyRl9WRFNQX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfU0VUX0xfUlhUMkZfVkRTUF9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX1NFVF9MX1JYVDJGX1ZEU1BfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBCSUdSQU1fTFRFX0NHX1NFVF9MX0JJR1JBTV9CUlBfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19TRVRfTF9CSUdSQU1fQlJQX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfU0VUX0xfQklHUkFNX0JSUF9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX1NFVF9MX0JJR1JBTV9CUlBfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBCSUdSQU1fTFRFX0NHX1NFVF9MX0JJR1JBTV9SQUtFX0NHX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19TRVRfTF9CSUdSQU1fUkFLRV9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfU0VUX0xfQklHUkFNX1JBS0VfQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX1NFVF9MX0JJR1JBTV9SQUtFX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NPTl9MX1JBS0VfMzJYX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ09OX0xfUkFLRV8zMlhfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NPTl9MX1JBS0VfMzJYX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DT05fTF9SQUtFXzMyWF9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DT05fTF9EU1REQl9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ09OX0xfRFNUREJfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NPTl9MX0RTVERCX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DT05fTF9EU1REQl9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DT05fTF9EMkJJRl9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ09OX0xfRDJCSUZfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NPTl9MX0QyQklGX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DT05fTF9EMkJJRl9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DT05fTF9ERkVfRFVNUF9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ09OX0xfREZFX0RVTVBfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NPTl9MX0RGRV9EVU1QX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DT05fTF9ERkVfRFVNUF9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DT05fTF9CUl9ETUFfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ09OX0xfQlJfRE1BX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NPTl9MX0JSX0RNQV9DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DT05fTF9CUl9ETUFfQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DT05fTF9CSUdSQU1fQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ09OX0xfQklHUkFNX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NPTl9MX0JJR1JBTV9DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DT05fTF9CSUdSQU1fQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DT05fTF9ERkVfRFVNUF9WRFNQX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ09OX0xfREZFX0RVTVBfVkRTUF9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NPTl9MX0RGRV9EVU1QX1ZEU1BfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DT05fTF9ERkVfRFVNUF9WRFNQX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DT05fTF9EMkJJRl9WRFNQX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ09OX0xfRDJCSUZfVkRTUF9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NPTl9MX0QyQklGX1ZEU1BfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DT05fTF9EMkJJRl9WRFNQX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DT05fTF9SWFQyRl9WRFNQX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ09OX0xfUlhUMkZfVkRTUF9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NPTl9MX1JYVDJGX1ZEU1BfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DT05fTF9SWFQyRl9WRFNQX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DT05fTF9CSUdSQU1fQlJQX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ09OX0xfQklHUkFNX0JSUF9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NPTl9MX0JJR1JBTV9CUlBfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DT05fTF9CSUdSQU1fQlJQX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DT05fTF9CSUdSQU1fUkFLRV9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJJR1JBTV9MVEVfQ0dfQ09OX0xfQklHUkFNX1JBS0VfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fTFRFX0NHX0NPTl9MX0JJR1JBTV9SQUtFX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQklHUkFNX0xURV9DR19DT05fTF9CSUdSQU1fUkFLRV9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DTFJfV19SQUtFXzMyWF9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NMUl9XX1JBS0VfMzJYX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DTFJfV19SQUtFXzMyWF9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ0xSX1dfUkFLRV8zMlhfQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ0xSX1dfRFNUREJfQ0dfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NMUl9XX0RTVERCX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DTFJfV19EU1REQl9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ0xSX1dfRFNUREJfQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ0xSX1dfRDJCSUZfQ0dfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NMUl9XX0QyQklGX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DTFJfV19EMkJJRl9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ0xSX1dfRDJCSUZfQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ0xSX1dfREZFX0RVTVBfQ0dfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NMUl9XX0RGRV9EVU1QX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DTFJfV19ERkVfRFVNUF9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ0xSX1dfREZFX0RVTVBfQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ0xSX1dfQlJfRE1BX0NHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NMUl9XX0JSX0RNQV9DR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DTFJfV19CUl9ETUFfQ0dfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ0xSX1dfQlJfRE1BX0NHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ0xSX1dfQklHUkFNX0NHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NMUl9XX0JJR1JBTV9DR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DTFJfV19CSUdSQU1fQ0dfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ0xSX1dfQklHUkFNX0NHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ0xSX1dfREZFX0RVTVBfVkRTUF9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NMUl9XX0RGRV9EVU1QX1ZEU1BfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DTFJfV19ERkVfRFVNUF9WRFNQX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ0xSX1dfREZFX0RVTVBfVkRTUF9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ0xSX1dfRDJCSUZfVkRTUF9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NMUl9XX0QyQklGX1ZEU1BfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DTFJfV19EMkJJRl9WRFNQX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ0xSX1dfRDJCSUZfVkRTUF9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ0xSX1dfUlhUMkZfVkRTUF9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NMUl9XX1JYVDJGX1ZEU1BfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DTFJfV19SWFQyRl9WRFNQX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ0xSX1dfUlhUMkZfVkRTUF9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ0xSX1dfQklHUkFNX0JSUF9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NMUl9XX0JJR1JBTV9CUlBfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DTFJfV19CSUdSQU1fQlJQX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ0xSX1dfQklHUkFNX0JSUF9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ0xSX1dfQklHUkFNX1JBS0VfQ0dfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NMUl9XX0JJR1JBTV9SQUtFX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DTFJfV19CSUdSQU1fUkFLRV9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ0xSX1dfQklHUkFNX1JBS0VfQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfU0VUX1dfUkFLRV8zMlhfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19TRVRfV19SQUtFXzMyWF9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfU0VUX1dfUkFLRV8zMlhfQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX1NFVF9XX1JBS0VfMzJYX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBCSUdSQU1fRkREX0NHX1NFVF9XX0RTVERCX0NHX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19TRVRfV19EU1REQl9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfU0VUX1dfRFNUREJfQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX1NFVF9XX0RTVERCX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBCSUdSQU1fRkREX0NHX1NFVF9XX0QyQklGX0NHX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19TRVRfV19EMkJJRl9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfU0VUX1dfRDJCSUZfQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX1NFVF9XX0QyQklGX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBCSUdSQU1fRkREX0NHX1NFVF9XX0RGRV9EVU1QX0NHX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19TRVRfV19ERkVfRFVNUF9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfU0VUX1dfREZFX0RVTVBfQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX1NFVF9XX0RGRV9EVU1QX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBCSUdSQU1fRkREX0NHX1NFVF9XX0JSX0RNQV9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19TRVRfV19CUl9ETUFfQ0dfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfU0VUX1dfQlJfRE1BX0NHX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX1NFVF9XX0JSX0RNQV9DR19TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBCSUdSQU1fRkREX0NHX1NFVF9XX0JJR1JBTV9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19TRVRfV19CSUdSQU1fQ0dfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfU0VUX1dfQklHUkFNX0NHX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX1NFVF9XX0JJR1JBTV9DR19TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBCSUdSQU1fRkREX0NHX1NFVF9XX0RGRV9EVU1QX1ZEU1BfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19TRVRfV19ERkVfRFVNUF9WRFNQX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfU0VUX1dfREZFX0RVTVBfVkRTUF9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX1NFVF9XX0RGRV9EVU1QX1ZEU1BfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBCSUdSQU1fRkREX0NHX1NFVF9XX0QyQklGX1ZEU1BfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19TRVRfV19EMkJJRl9WRFNQX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfU0VUX1dfRDJCSUZfVkRTUF9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBCSUdSQU1fRkREX0NHX1NFVF9XX0QyQklGX1ZEU1BfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBCSUdSQU1fRkREX0NHX1NFVF9XX1JYVDJGX1ZEU1BfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19TRVRfV19SWFQyRl9WRFNQX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfU0VUX1dfUlhUMkZfVkRTUF9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBCSUdSQU1fRkREX0NHX1NFVF9XX1JYVDJGX1ZEU1BfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBCSUdSQU1fRkREX0NHX1NFVF9XX0JJR1JBTV9CUlBfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19TRVRfV19CSUdSQU1fQlJQX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfU0VUX1dfQklHUkFNX0JSUF9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX1NFVF9XX0JJR1JBTV9CUlBfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBCSUdSQU1fRkREX0NHX1NFVF9XX0JJR1JBTV9SQUtFX0NHX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19TRVRfV19CSUdSQU1fUkFLRV9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfU0VUX1dfQklHUkFNX1JBS0VfQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX1NFVF9XX0JJR1JBTV9SQUtFX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBCSUdSQU1fRkREX0NHX0NPTl9XX1JBS0VfMzJYX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ09OX1dfUkFLRV8zMlhfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NPTl9XX1JBS0VfMzJYX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DT05fV19SQUtFXzMyWF9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DT05fV19EU1REQl9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ09OX1dfRFNUREJfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NPTl9XX0RTVERCX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DT05fV19EU1REQl9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DT05fV19EMkJJRl9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ09OX1dfRDJCSUZfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NPTl9XX0QyQklGX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DT05fV19EMkJJRl9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DT05fV19ERkVfRFVNUF9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ09OX1dfREZFX0RVTVBfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NPTl9XX0RGRV9EVU1QX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DT05fV19ERkVfRFVNUF9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DT05fV19CUl9ETUFfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ09OX1dfQlJfRE1BX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NPTl9XX0JSX0RNQV9DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DT05fV19CUl9ETUFfQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DT05fV19CSUdSQU1fQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ09OX1dfQklHUkFNX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NPTl9XX0JJR1JBTV9DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DT05fV19CSUdSQU1fQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DT05fV19ERkVfRFVNUF9WRFNQX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ09OX1dfREZFX0RVTVBfVkRTUF9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NPTl9XX0RGRV9EVU1QX1ZEU1BfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DT05fV19ERkVfRFVNUF9WRFNQX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DT05fV19EMkJJRl9WRFNQX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ09OX1dfRDJCSUZfVkRTUF9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NPTl9XX0QyQklGX1ZEU1BfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DT05fV19EMkJJRl9WRFNQX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DT05fV19SWFQyRl9WRFNQX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ09OX1dfUlhUMkZfVkRTUF9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NPTl9XX1JYVDJGX1ZEU1BfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DT05fV19SWFQyRl9WRFNQX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DT05fV19CSUdSQU1fQlJQX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ09OX1dfQklHUkFNX0JSUF9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NPTl9XX0JJR1JBTV9CUlBfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DT05fV19CSUdSQU1fQlJQX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DT05fV19CSUdSQU1fUkFLRV9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJJR1JBTV9GRERfQ0dfQ09OX1dfQklHUkFNX1JBS0VfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fRkREX0NHX0NPTl9XX0JJR1JBTV9SQUtFX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQklHUkFNX0ZERF9DR19DT05fV19CSUdSQU1fUkFLRV9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DTFJfVF9SQUtFXzMyWF9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NMUl9UX1JBS0VfMzJYX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DTFJfVF9SQUtFXzMyWF9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ0xSX1RfUkFLRV8zMlhfQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ0xSX1RfRFNUREJfQ0dfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NMUl9UX0RTVERCX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DTFJfVF9EU1REQl9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ0xSX1RfRFNUREJfQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ0xSX1RfRDJCSUZfQ0dfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NMUl9UX0QyQklGX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DTFJfVF9EMkJJRl9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ0xSX1RfRDJCSUZfQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ0xSX1RfREZFX0RVTVBfQ0dfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NMUl9UX0RGRV9EVU1QX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DTFJfVF9ERkVfRFVNUF9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ0xSX1RfREZFX0RVTVBfQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ0xSX1RfQlJfRE1BX0NHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NMUl9UX0JSX0RNQV9DR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DTFJfVF9CUl9ETUFfQ0dfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ0xSX1RfQlJfRE1BX0NHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ0xSX1RfQklHUkFNX0NHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NMUl9UX0JJR1JBTV9DR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DTFJfVF9CSUdSQU1fQ0dfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ0xSX1RfQklHUkFNX0NHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ0xSX1RfREZFX0RVTVBfVkRTUF9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NMUl9UX0RGRV9EVU1QX1ZEU1BfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DTFJfVF9ERkVfRFVNUF9WRFNQX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ0xSX1RfREZFX0RVTVBfVkRTUF9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ0xSX1RfRDJCSUZfVkRTUF9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NMUl9UX0QyQklGX1ZEU1BfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DTFJfVF9EMkJJRl9WRFNQX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ0xSX1RfRDJCSUZfVkRTUF9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ0xSX1RfUlhUMkZfVkRTUF9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NMUl9UX1JYVDJGX1ZEU1BfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DTFJfVF9SWFQyRl9WRFNQX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ0xSX1RfUlhUMkZfVkRTUF9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ0xSX1RfQklHUkFNX0JSUF9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NMUl9UX0JJR1JBTV9CUlBfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DTFJfVF9CSUdSQU1fQlJQX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ0xSX1RfQklHUkFNX0JSUF9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ0xSX1RfQklHUkFNX1JBS0VfQ0tfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NMUl9UX0JJR1JBTV9SQUtFX0NLX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DTFJfVF9CSUdSQU1fUkFLRV9DS19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ0xSX1RfQklHUkFNX1JBS0VfQ0tfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfU0VUX1RfUkFLRV8zMlhfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19TRVRfVF9SQUtFXzMyWF9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfU0VUX1RfUkFLRV8zMlhfQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX1NFVF9UX1JBS0VfMzJYX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBCSUdSQU1fVEREX0NHX1NFVF9UX0RTVERCX0NHX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19TRVRfVF9EU1REQl9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfU0VUX1RfRFNUREJfQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX1NFVF9UX0RTVERCX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBCSUdSQU1fVEREX0NHX1NFVF9UX0QyQklGX0NHX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19TRVRfVF9EMkJJRl9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfU0VUX1RfRDJCSUZfQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX1NFVF9UX0QyQklGX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBCSUdSQU1fVEREX0NHX1NFVF9UX0RGRV9EVU1QX0NHX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgQklHUkFNX1RERF9DR19TRVRfVF9ERkVfRFVNUF9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfU0VUX1RfREZFX0RVTVBfQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX1NFVF9UX0RGRV9EVU1QX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBCSUdSQU1fVEREX0NHX1NFVF9UX0JSX0RNQV9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgQklHUkFNX1RERF9DR19TRVRfVF9CUl9ETUFfQ0dfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfU0VUX1RfQlJfRE1BX0NHX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX1NFVF9UX0JSX0RNQV9DR19TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBCSUdSQU1fVEREX0NHX1NFVF9UX0JJR1JBTV9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19TRVRfVF9CSUdSQU1fQ0dfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfU0VUX1RfQklHUkFNX0NHX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX1NFVF9UX0JJR1JBTV9DR19TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBCSUdSQU1fVEREX0NHX1NFVF9UX0RGRV9EVU1QX1ZEU1BfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19TRVRfVF9ERkVfRFVNUF9WRFNQX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfU0VUX1RfREZFX0RVTVBfVkRTUF9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX1NFVF9UX0RGRV9EVU1QX1ZEU1BfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBCSUdSQU1fVEREX0NHX1NFVF9UX0QyQklGX1ZEU1BfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgQklHUkFNX1RERF9DR19TRVRfVF9EMkJJRl9WRFNQX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfU0VUX1RfRDJCSUZfVkRTUF9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBCSUdSQU1fVEREX0NHX1NFVF9UX0QyQklGX1ZEU1BfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBCSUdSQU1fVEREX0NHX1NFVF9UX1JYVDJGX1ZEU1BfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQklHUkFNX1RERF9DR19TRVRfVF9SWFQyRl9WRFNQX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfU0VUX1RfUlhUMkZfVkRTUF9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBCSUdSQU1fVEREX0NHX1NFVF9UX1JYVDJGX1ZEU1BfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBCSUdSQU1fVEREX0NHX1NFVF9UX0JJR1JBTV9CUlBfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19TRVRfVF9CSUdSQU1fQlJQX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfU0VUX1RfQklHUkFNX0JSUF9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX1NFVF9UX0JJR1JBTV9CUlBfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBCSUdSQU1fVEREX0NHX1NFVF9UX0JJR1JBTV9SQUtFX0NHX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19TRVRfVF9CSUdSQU1fUkFLRV9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfU0VUX1RfQklHUkFNX1JBS0VfQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX1NFVF9UX0JJR1JBTV9SQUtFX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBCSUdSQU1fVEREX0NHX0NPTl9UX1JBS0VfMzJYX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ09OX1RfUkFLRV8zMlhfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NPTl9UX1JBS0VfMzJYX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DT05fVF9SQUtFXzMyWF9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DT05fVF9EU1REQl9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ09OX1RfRFNUREJfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NPTl9UX0RTVERCX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DT05fVF9EU1REQl9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DT05fVF9EMkJJRl9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ09OX1RfRDJCSUZfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NPTl9UX0QyQklGX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DT05fVF9EMkJJRl9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DT05fVF9ERkVfRFVNUF9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ09OX1RfREZFX0RVTVBfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NPTl9UX0RGRV9EVU1QX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DT05fVF9ERkVfRFVNUF9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DT05fVF9CUl9ETUFfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ09OX1RfQlJfRE1BX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NPTl9UX0JSX0RNQV9DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DT05fVF9CUl9ETUFfQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DT05fVF9CSUdSQU1fQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ09OX1RfQklHUkFNX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NPTl9UX0JJR1JBTV9DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DT05fVF9CSUdSQU1fQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DT05fVF9ERkVfRFVNUF9WRFNQX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ09OX1RfREZFX0RVTVBfVkRTUF9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NPTl9UX0RGRV9EVU1QX1ZEU1BfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DT05fVF9ERkVfRFVNUF9WRFNQX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DT05fVF9EMkJJRl9WRFNQX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ09OX1RfRDJCSUZfVkRTUF9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NPTl9UX0QyQklGX1ZEU1BfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DT05fVF9EMkJJRl9WRFNQX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DT05fVF9SWFQyRl9WRFNQX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ09OX1RfUlhUMkZfVkRTUF9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NPTl9UX1JYVDJGX1ZEU1BfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DT05fVF9SWFQyRl9WRFNQX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DT05fVF9CSUdSQU1fQlJQX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ09OX1RfQklHUkFNX0JSUF9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NPTl9UX0JJR1JBTV9CUlBfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DT05fVF9CSUdSQU1fQlJQX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DT05fVF9CSUdSQU1fUkFLRV9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJJR1JBTV9URERfQ0dfQ09OX1RfQklHUkFNX1JBS0VfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fVEREX0NHX0NPTl9UX0JJR1JBTV9SQUtFX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQklHUkFNX1RERF9DR19DT05fVF9CSUdSQU1fUkFLRV9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DTFJfQzFfUkFLRV8zMlhfQ0dfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NMUl9DMV9SQUtFXzMyWF9DR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DTFJfQzFfUkFLRV8zMlhfQ0dfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ0xSX0MxX1JBS0VfMzJYX0NHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ0xSX0MxX0RTVERCX0NHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NMUl9DMV9EU1REQl9DR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DTFJfQzFfRFNUREJfQ0dfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ0xSX0MxX0RTVERCX0NHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ0xSX0MxX0QyQklGX0NHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NMUl9DMV9EMkJJRl9DR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DTFJfQzFfRDJCSUZfQ0dfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ0xSX0MxX0QyQklGX0NHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ0xSX0MxX0RGRV9EVU1QX0NHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NMUl9DMV9ERkVfRFVNUF9DR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DTFJfQzFfREZFX0RVTVBfQ0dfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ0xSX0MxX0RGRV9EVU1QX0NHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ0xSX0MxX0JSX0RNQV9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NMUl9DMV9CUl9ETUFfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DTFJfQzFfQlJfRE1BX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ0xSX0MxX0JSX0RNQV9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ0xSX0MxX0JJR1JBTV9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NMUl9DMV9CSUdSQU1fQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DTFJfQzFfQklHUkFNX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ0xSX0MxX0JJR1JBTV9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ0xSX0MxX0RGRV9EVU1QX1ZEU1BfQ0dfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NMUl9DMV9ERkVfRFVNUF9WRFNQX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DTFJfQzFfREZFX0RVTVBfVkRTUF9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ0xSX0MxX0RGRV9EVU1QX1ZEU1BfQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ0xSX0MxX0QyQklGX1ZEU1BfQ0dfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NMUl9DMV9EMkJJRl9WRFNQX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DTFJfQzFfRDJCSUZfVkRTUF9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ0xSX0MxX0QyQklGX1ZEU1BfQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ0xSX0MxX1JYVDJGX1ZEU1BfQ0dfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NMUl9DMV9SWFQyRl9WRFNQX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DTFJfQzFfUlhUMkZfVkRTUF9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ0xSX0MxX1JYVDJGX1ZEU1BfQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ0xSX0MxX0JJR1JBTV9CUlBfQ0dfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NMUl9DMV9CSUdSQU1fQlJQX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DTFJfQzFfQklHUkFNX0JSUF9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ0xSX0MxX0JJR1JBTV9CUlBfQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ0xSX0MxX0JJR1JBTV9SQUtFX0NHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NMUl9DMV9CSUdSQU1fUkFLRV9DR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DTFJfQzFfQklHUkFNX1JBS0VfQ0dfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ0xSX0MxX0JJR1JBTV9SQUtFX0NHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfU0VUX0MxX1JBS0VfMzJYX0NHX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19TRVRfQzFfUkFLRV8zMlhfQ0dfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfU0VUX0MxX1JBS0VfMzJYX0NHX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX1NFVF9DMV9SQUtFXzMyWF9DR19TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX1NFVF9DMV9EU1REQl9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19TRVRfQzFfRFNUREJfQ0dfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfU0VUX0MxX0RTVERCX0NHX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX1NFVF9DMV9EU1REQl9DR19TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX1NFVF9DMV9EMkJJRl9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19TRVRfQzFfRDJCSUZfQ0dfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfU0VUX0MxX0QyQklGX0NHX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX1NFVF9DMV9EMkJJRl9DR19TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX1NFVF9DMV9ERkVfRFVNUF9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19TRVRfQzFfREZFX0RVTVBfQ0dfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfU0VUX0MxX0RGRV9EVU1QX0NHX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX1NFVF9DMV9ERkVfRFVNUF9DR19TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX1NFVF9DMV9CUl9ETUFfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19TRVRfQzFfQlJfRE1BX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfU0VUX0MxX0JSX0RNQV9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX1NFVF9DMV9CUl9ETUFfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX1NFVF9DMV9CSUdSQU1fQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19TRVRfQzFfQklHUkFNX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfU0VUX0MxX0JJR1JBTV9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX1NFVF9DMV9CSUdSQU1fQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX1NFVF9DMV9ERkVfRFVNUF9WRFNQX0NHX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19TRVRfQzFfREZFX0RVTVBfVkRTUF9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfU0VUX0MxX0RGRV9EVU1QX1ZEU1BfQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX1NFVF9DMV9ERkVfRFVNUF9WRFNQX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX1NFVF9DMV9EMkJJRl9WRFNQX0NHX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19TRVRfQzFfRDJCSUZfVkRTUF9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfU0VUX0MxX0QyQklGX1ZEU1BfQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX1NFVF9DMV9EMkJJRl9WRFNQX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX1NFVF9DMV9SWFQyRl9WRFNQX0NHX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19TRVRfQzFfUlhUMkZfVkRTUF9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfU0VUX0MxX1JYVDJGX1ZEU1BfQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX1NFVF9DMV9SWFQyRl9WRFNQX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX1NFVF9DMV9CSUdSQU1fQlJQX0NHX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19TRVRfQzFfQklHUkFNX0JSUF9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfU0VUX0MxX0JJR1JBTV9CUlBfQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX1NFVF9DMV9CSUdSQU1fQlJQX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX1NFVF9DMV9CSUdSQU1fUkFLRV9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19TRVRfQzFfQklHUkFNX1JBS0VfQ0dfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfU0VUX0MxX0JJR1JBTV9SQUtFX0NHX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX1NFVF9DMV9CSUdSQU1fUkFLRV9DR19TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NPTl9DMV9SQUtFXzMyWF9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ09OX0MxX1JBS0VfMzJYX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NPTl9DMV9SQUtFXzMyWF9DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DT05fQzFfUkFLRV8zMlhfQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DT05fQzFfRFNUREJfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ09OX0MxX0RTVERCX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NPTl9DMV9EU1REQl9DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DT05fQzFfRFNUREJfQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DT05fQzFfRDJCSUZfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ09OX0MxX0QyQklGX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NPTl9DMV9EMkJJRl9DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DT05fQzFfRDJCSUZfQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DT05fQzFfREZFX0RVTVBfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ09OX0MxX0RGRV9EVU1QX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NPTl9DMV9ERkVfRFVNUF9DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DT05fQzFfREZFX0RVTVBfQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DT05fQzFfQlJfRE1BX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ09OX0MxX0JSX0RNQV9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NPTl9DMV9CUl9ETUFfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DT05fQzFfQlJfRE1BX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DT05fQzFfQklHUkFNX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ09OX0MxX0JJR1JBTV9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NPTl9DMV9CSUdSQU1fQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DT05fQzFfQklHUkFNX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DT05fQzFfREZFX0RVTVBfVkRTUF9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ09OX0MxX0RGRV9EVU1QX1ZEU1BfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NPTl9DMV9ERkVfRFVNUF9WRFNQX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DT05fQzFfREZFX0RVTVBfVkRTUF9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DT05fQzFfRDJCSUZfVkRTUF9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ09OX0MxX0QyQklGX1ZEU1BfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NPTl9DMV9EMkJJRl9WRFNQX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DT05fQzFfRDJCSUZfVkRTUF9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DT05fQzFfUlhUMkZfVkRTUF9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ09OX0MxX1JYVDJGX1ZEU1BfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NPTl9DMV9SWFQyRl9WRFNQX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DT05fQzFfUlhUMkZfVkRTUF9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DT05fQzFfQklHUkFNX0JSUF9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ09OX0MxX0JJR1JBTV9CUlBfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NPTl9DMV9CSUdSQU1fQlJQX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DT05fQzFfQklHUkFNX0JSUF9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DT05fQzFfQklHUkFNX1JBS0VfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJJR1JBTV9DMktfMVhSVFRfQ0dfQ09OX0MxX0JJR1JBTV9SQUtFX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLXzFYUlRUX0NHX0NPTl9DMV9CSUdSQU1fUkFLRV9DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQklHUkFNX0MyS18xWFJUVF9DR19DT05fQzFfQklHUkFNX1JBS0VfQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NMUl9DRV9SQUtFXzMyWF9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ0xSX0NFX1JBS0VfMzJYX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NMUl9DRV9SQUtFXzMyWF9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DTFJfQ0VfUkFLRV8zMlhfQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DTFJfQ0VfRFNUREJfQ0dfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ0xSX0NFX0RTVERCX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NMUl9DRV9EU1REQl9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DTFJfQ0VfRFNUREJfQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DTFJfQ0VfRDJCSUZfQ0dfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ0xSX0NFX0QyQklGX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NMUl9DRV9EMkJJRl9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DTFJfQ0VfRDJCSUZfQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DTFJfQ0VfREZFX0RVTVBfQ0dfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ0xSX0NFX0RGRV9EVU1QX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NMUl9DRV9ERkVfRFVNUF9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DTFJfQ0VfREZFX0RVTVBfQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DTFJfQ0VfQlJfRE1BX0NHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ0xSX0NFX0JSX0RNQV9DR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NMUl9DRV9CUl9ETUFfQ0dfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DTFJfQ0VfQlJfRE1BX0NHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DTFJfQ0VfQklHUkFNX0NHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ0xSX0NFX0JJR1JBTV9DR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NMUl9DRV9CSUdSQU1fQ0dfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DTFJfQ0VfQklHUkFNX0NHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DTFJfQ0VfREZFX0RVTVBfVkRTUF9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ0xSX0NFX0RGRV9EVU1QX1ZEU1BfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NMUl9DRV9ERkVfRFVNUF9WRFNQX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DTFJfQ0VfREZFX0RVTVBfVkRTUF9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DTFJfQ0VfRDJCSUZfVkRTUF9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ0xSX0NFX0QyQklGX1ZEU1BfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NMUl9DRV9EMkJJRl9WRFNQX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DTFJfQ0VfRDJCSUZfVkRTUF9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DTFJfQ0VfUlhUMkZfVkRTUF9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ0xSX0NFX1JYVDJGX1ZEU1BfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NMUl9DRV9SWFQyRl9WRFNQX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DTFJfQ0VfUlhUMkZfVkRTUF9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DTFJfQ0VfQklHUkFNX0JSUF9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ0xSX0NFX0JJR1JBTV9CUlBfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NMUl9DRV9CSUdSQU1fQlJQX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DTFJfQ0VfQklHUkFNX0JSUF9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DTFJfQ0VfQklHUkFNX1JBS0VfQ0dfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ0xSX0NFX0JJR1JBTV9SQUtFX0NHX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NMUl9DRV9CSUdSQU1fUkFLRV9DR19DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DTFJfQ0VfQklHUkFNX1JBS0VfQ0dfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19TRVRfQ0VfUkFLRV8zMlhfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX1NFVF9DRV9SQUtFXzMyWF9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19TRVRfQ0VfUkFLRV8zMlhfQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfU0VUX0NFX1JBS0VfMzJYX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfU0VUX0NFX0RTVERCX0NHX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX1NFVF9DRV9EU1REQl9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19TRVRfQ0VfRFNUREJfQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfU0VUX0NFX0RTVERCX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfU0VUX0NFX0QyQklGX0NHX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX1NFVF9DRV9EMkJJRl9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19TRVRfQ0VfRDJCSUZfQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfU0VUX0NFX0QyQklGX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfU0VUX0NFX0RGRV9EVU1QX0NHX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX1NFVF9DRV9ERkVfRFVNUF9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19TRVRfQ0VfREZFX0RVTVBfQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfU0VUX0NFX0RGRV9EVU1QX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfU0VUX0NFX0JSX0RNQV9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX1NFVF9DRV9CUl9ETUFfQ0dfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19TRVRfQ0VfQlJfRE1BX0NHX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfU0VUX0NFX0JSX0RNQV9DR19TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfU0VUX0NFX0JJR1JBTV9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX1NFVF9DRV9CSUdSQU1fQ0dfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19TRVRfQ0VfQklHUkFNX0NHX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfU0VUX0NFX0JJR1JBTV9DR19TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfU0VUX0NFX0RGRV9EVU1QX1ZEU1BfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX1NFVF9DRV9ERkVfRFVNUF9WRFNQX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19TRVRfQ0VfREZFX0RVTVBfVkRTUF9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfU0VUX0NFX0RGRV9EVU1QX1ZEU1BfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfU0VUX0NFX0QyQklGX1ZEU1BfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX1NFVF9DRV9EMkJJRl9WRFNQX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19TRVRfQ0VfRDJCSUZfVkRTUF9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfU0VUX0NFX0QyQklGX1ZEU1BfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfU0VUX0NFX1JYVDJGX1ZEU1BfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX1NFVF9DRV9SWFQyRl9WRFNQX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19TRVRfQ0VfUlhUMkZfVkRTUF9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfU0VUX0NFX1JYVDJGX1ZEU1BfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfU0VUX0NFX0JJR1JBTV9CUlBfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX1NFVF9DRV9CSUdSQU1fQlJQX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19TRVRfQ0VfQklHUkFNX0JSUF9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfU0VUX0NFX0JJR1JBTV9CUlBfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfU0VUX0NFX0JJR1JBTV9SQUtFX0NHX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX1NFVF9DRV9CSUdSQU1fUkFLRV9DR19TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19TRVRfQ0VfQklHUkFNX1JBS0VfQ0dfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfU0VUX0NFX0JJR1JBTV9SQUtFX0NHX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ09OX0NFX1JBS0VfMzJYX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DT05fQ0VfUkFLRV8zMlhfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ09OX0NFX1JBS0VfMzJYX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NPTl9DRV9SQUtFXzMyWF9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NPTl9DRV9EU1REQl9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DT05fQ0VfRFNUREJfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ09OX0NFX0RTVERCX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NPTl9DRV9EU1REQl9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NPTl9DRV9EMkJJRl9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DT05fQ0VfRDJCSUZfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ09OX0NFX0QyQklGX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NPTl9DRV9EMkJJRl9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NPTl9DRV9ERkVfRFVNUF9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DT05fQ0VfREZFX0RVTVBfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ09OX0NFX0RGRV9EVU1QX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NPTl9DRV9ERkVfRFVNUF9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NPTl9DRV9CUl9ETUFfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DT05fQ0VfQlJfRE1BX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ09OX0NFX0JSX0RNQV9DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NPTl9DRV9CUl9ETUFfQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NPTl9DRV9CSUdSQU1fQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DT05fQ0VfQklHUkFNX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ09OX0NFX0JJR1JBTV9DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NPTl9DRV9CSUdSQU1fQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NPTl9DRV9ERkVfRFVNUF9WRFNQX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DT05fQ0VfREZFX0RVTVBfVkRTUF9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ09OX0NFX0RGRV9EVU1QX1ZEU1BfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NPTl9DRV9ERkVfRFVNUF9WRFNQX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NPTl9DRV9EMkJJRl9WRFNQX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DT05fQ0VfRDJCSUZfVkRTUF9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ09OX0NFX0QyQklGX1ZEU1BfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NPTl9DRV9EMkJJRl9WRFNQX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NPTl9DRV9SWFQyRl9WRFNQX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DT05fQ0VfUlhUMkZfVkRTUF9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ09OX0NFX1JYVDJGX1ZEU1BfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NPTl9DRV9SWFQyRl9WRFNQX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NPTl9DRV9CSUdSQU1fQlJQX0NHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DT05fQ0VfQklHUkFNX0JSUF9DR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ09OX0NFX0JJR1JBTV9CUlBfQ0dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NPTl9DRV9CSUdSQU1fQlJQX0NHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NPTl9DRV9CSUdSQU1fUkFLRV9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJJR1JBTV9DMktfRVZET19DR19DT05fQ0VfQklHUkFNX1JBS0VfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQzJLX0VWRE9fQ0dfQ09OX0NFX0JJR1JBTV9SQUtFX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQklHUkFNX0MyS19FVkRPX0NHX0NPTl9DRV9CSUdSQU1fUkFLRV9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQklHUkFNX0xURV9FTDFEX0NHX0NMUl9MX0QyQklGX1NXQVBfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9MVEVfRUwxRF9DR19DTFJfTF9EMkJJRl9TV0FQX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fTFRFX0VMMURfQ0dfQ0xSX0xfRDJCSUZfU1dBUF9DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQklHUkFNX0xURV9FTDFEX0NHX0NMUl9MX0QyQklGX1NXQVBfQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQklHUkFNX0xURV9FTDFEX0NHX0NMUl9MX0QyQklGX1ZEU1BfU1dBUF9DR19DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJJR1JBTV9MVEVfRUwxRF9DR19DTFJfTF9EMkJJRl9WRFNQX1NXQVBfQ0dfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fTFRFX0VMMURfQ0dfQ0xSX0xfRDJCSUZfVkRTUF9TV0FQX0NHX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQklHUkFNX0xURV9FTDFEX0NHX0NMUl9MX0QyQklGX1ZEU1BfU1dBUF9DR19DTFJfQklUICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQklHUkFNX0xURV9FTDFEX0NHX1NFVF9MX0QyQklGX1NXQVBfQ0dfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9MVEVfRUwxRF9DR19TRVRfTF9EMkJJRl9TV0FQX0NHX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fTFRFX0VMMURfQ0dfU0VUX0xfRDJCSUZfU1dBUF9DR19TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQklHUkFNX0xURV9FTDFEX0NHX1NFVF9MX0QyQklGX1NXQVBfQ0dfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQklHUkFNX0xURV9FTDFEX0NHX1NFVF9MX0QyQklGX1ZEU1BfU1dBUF9DR19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJJR1JBTV9MVEVfRUwxRF9DR19TRVRfTF9EMkJJRl9WRFNQX1NXQVBfQ0dfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fTFRFX0VMMURfQ0dfU0VUX0xfRDJCSUZfVkRTUF9TV0FQX0NHX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQklHUkFNX0xURV9FTDFEX0NHX1NFVF9MX0QyQklGX1ZEU1BfU1dBUF9DR19TRVRfQklUICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQklHUkFNX0xURV9FTDFEX0NHX0NPTl9MX0QyQklGX1NXQVBfQ0dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9MVEVfRUwxRF9DR19DT05fTF9EMkJJRl9TV0FQX0NHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fTFRFX0VMMURfQ0dfQ09OX0xfRDJCSUZfU1dBUF9DR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQklHUkFNX0xURV9FTDFEX0NHX0NPTl9MX0QyQklGX1NXQVBfQ0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQklHUkFNX0xURV9FTDFEX0NHX0NPTl9MX0QyQklGX1ZEU1BfU1dBUF9DR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJJR1JBTV9MVEVfRUwxRF9DR19DT05fTF9EMkJJRl9WRFNQX1NXQVBfQ0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fTFRFX0VMMURfQ0dfQ09OX0xfRDJCSUZfVkRTUF9TV0FQX0NHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQklHUkFNX0xURV9FTDFEX0NHX0NPTl9MX0QyQklGX1ZEU1BfU1dBUF9DR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfRElWX0RTVERCX0NLX0lETEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX0RJVl9EU1REQl9DS19JRExFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9ESVZfRFNUREJfQ0tfSURMRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfRElWX0RTVERCX0NLX0lETEVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfRElWX0QyQklGX0NLX0lETEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX0RJVl9EMkJJRl9DS19JRExFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9ESVZfRDJCSUZfQ0tfSURMRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfRElWX0QyQklGX0NLX0lETEVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfRElWX0RGRV9EVU1QX0NLX0lETEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX0RJVl9ERkVfRFVNUF9DS19JRExFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9ESVZfREZFX0RVTVBfQ0tfSURMRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfRElWX0RGRV9EVU1QX0NLX0lETEVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfRElWX0JSX0RNQV9DS19JRExFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX0RJVl9CUl9ETUFfQ0tfSURMRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9ESVZfQlJfRE1BX0NLX0lETEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfRElWX0JSX0RNQV9DS19JRExFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfRElWX0JJR1JBTV9DS19JRExFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX0RJVl9CSUdSQU1fQ0tfSURMRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9ESVZfQklHUkFNX0NLX0lETEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfRElWX0JJR1JBTV9DS19JRExFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfRElWX0RGRV9EVU1QX1ZEU1BfQ0tfSURMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX0RJVl9ERkVfRFVNUF9WRFNQX0NLX0lETEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9ESVZfREZFX0RVTVBfVkRTUF9DS19JRExFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfRElWX0RGRV9EVU1QX1ZEU1BfQ0tfSURMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfRElWX0QyQklGX1ZEU1BfQ0tfSURMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX0RJVl9EMkJJRl9WRFNQX0NLX0lETEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9ESVZfRDJCSUZfVkRTUF9DS19JRExFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfRElWX0QyQklGX1ZEU1BfQ0tfSURMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfRElWX1JYVDJGX1ZEU1BfQ0tfSURMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX0RJVl9SWFQyRl9WRFNQX0NLX0lETEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9ESVZfUlhUMkZfVkRTUF9DS19JRExFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfRElWX1JYVDJGX1ZEU1BfQ0tfSURMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfRElWX0JSUF9DS19JRExFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX0RJVl9CUlBfQ0tfSURMRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9ESVZfQlJQX0NLX0lETEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfRElWX0JSUF9DS19JRExFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfRElWX1JBS0VfQ0tfSURMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX0RJVl9SQUtFX0NLX0lETEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9ESVZfUkFLRV9DS19JRExFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfRElWX1JBS0VfQ0tfSURMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19EU1REQl9DS19JRExFX2RiZ19tYXNrX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfRFNUREJfQ0tfSURMRV9kYmdfbWFza19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0RTVERCX0NLX0lETEVfZGJnX21hc2tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19EU1REQl9DS19JRExFX2RiZ19tYXNrX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19EU1REQl9DS19JRExFX21hc2tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfRFNUREJfQ0tfSURMRV9tYXNrX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0RTVERCX0NLX0lETEVfbWFza19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19EU1REQl9DS19JRExFX21hc2tfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19EMkJJRl9DS19JRExFX2RiZ19tYXNrX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfRDJCSUZfQ0tfSURMRV9kYmdfbWFza19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0QyQklGX0NLX0lETEVfZGJnX21hc2tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19EMkJJRl9DS19JRExFX2RiZ19tYXNrX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19EMkJJRl9DS19JRExFX21hc2tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfRDJCSUZfQ0tfSURMRV9tYXNrX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0QyQklGX0NLX0lETEVfbWFza19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19EMkJJRl9DS19JRExFX21hc2tfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19ERkVfRFVNUF9DS19JRExFX2RiZ19tYXNrX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfREZFX0RVTVBfQ0tfSURMRV9kYmdfbWFza19XSURUSCAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0RGRV9EVU1QX0NLX0lETEVfZGJnX21hc2tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19ERkVfRFVNUF9DS19JRExFX2RiZ19tYXNrX0JJVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19ERkVfRFVNUF9DS19JRExFX21hc2tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfREZFX0RVTVBfQ0tfSURMRV9tYXNrX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0RGRV9EVU1QX0NLX0lETEVfbWFza19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19ERkVfRFVNUF9DS19JRExFX21hc2tfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19CUl9ETUFfQ0tfSURMRV9kYmdfbWFza19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfQlJfRE1BX0NLX0lETEVfZGJnX21hc2tfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0JSX0RNQV9DS19JRExFX2RiZ19tYXNrX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19CUl9ETUFfQ0tfSURMRV9kYmdfbWFza19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19CUl9ETUFfQ0tfSURMRV9tYXNrX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfQlJfRE1BX0NLX0lETEVfbWFza19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0JSX0RNQV9DS19JRExFX21hc2tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19CUl9ETUFfQ0tfSURMRV9tYXNrX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19CSUdSQU1fQ0tfSURMRV9kYmdfbWFza19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfQklHUkFNX0NLX0lETEVfZGJnX21hc2tfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0JJR1JBTV9DS19JRExFX2RiZ19tYXNrX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19CSUdSQU1fQ0tfSURMRV9kYmdfbWFza19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19CSUdSQU1fQ0tfSURMRV9tYXNrX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfQklHUkFNX0NLX0lETEVfbWFza19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0JJR1JBTV9DS19JRExFX21hc2tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19CSUdSQU1fQ0tfSURMRV9tYXNrX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19ERkVfRFVNUF9WRFNQX0NLX0lETEVfZGJnX21hc2tfTFNCICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfREZFX0RVTVBfVkRTUF9DS19JRExFX2RiZ19tYXNrX1dJRFRIICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0RGRV9EVU1QX1ZEU1BfQ0tfSURMRV9kYmdfbWFza19NQVNLICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19ERkVfRFVNUF9WRFNQX0NLX0lETEVfZGJnX21hc2tfQklUICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19ERkVfRFVNUF9WRFNQX0NLX0lETEVfbWFza19MU0IgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfREZFX0RVTVBfVkRTUF9DS19JRExFX21hc2tfV0lEVEggICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0RGRV9EVU1QX1ZEU1BfQ0tfSURMRV9tYXNrX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19ERkVfRFVNUF9WRFNQX0NLX0lETEVfbWFza19CSVQgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19EMkJJRl9WRFNQX0NLX0lETEVfZGJnX21hc2tfTFNCICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfRDJCSUZfVkRTUF9DS19JRExFX2RiZ19tYXNrX1dJRFRIICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0QyQklGX1ZEU1BfQ0tfSURMRV9kYmdfbWFza19NQVNLICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19EMkJJRl9WRFNQX0NLX0lETEVfZGJnX21hc2tfQklUICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19EMkJJRl9WRFNQX0NLX0lETEVfbWFza19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfRDJCSUZfVkRTUF9DS19JRExFX21hc2tfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0QyQklGX1ZEU1BfQ0tfSURMRV9tYXNrX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19EMkJJRl9WRFNQX0NLX0lETEVfbWFza19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19SWFQyRl9WRFNQX0NLX0lETEVfZGJnX21hc2tfTFNCICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfUlhUMkZfVkRTUF9DS19JRExFX2RiZ19tYXNrX1dJRFRIICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX1JYVDJGX1ZEU1BfQ0tfSURMRV9kYmdfbWFza19NQVNLICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19SWFQyRl9WRFNQX0NLX0lETEVfZGJnX21hc2tfQklUICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19SWFQyRl9WRFNQX0NLX0lETEVfbWFza19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfUlhUMkZfVkRTUF9DS19JRExFX21hc2tfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX1JYVDJGX1ZEU1BfQ0tfSURMRV9tYXNrX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19SWFQyRl9WRFNQX0NLX0lETEVfbWFza19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19CUlBfQ0tfSURMRV9kYmdfbWFza19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfQlJQX0NLX0lETEVfZGJnX21hc2tfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0JSUF9DS19JRExFX2RiZ19tYXNrX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19CUlBfQ0tfSURMRV9kYmdfbWFza19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19CUlBfQ0tfSURMRV9tYXNrX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfQlJQX0NLX0lETEVfbWFza19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX0JSUF9DS19JRExFX21hc2tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19CUlBfQ0tfSURMRV9tYXNrX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19SQUtFX0NLX0lETEVfZGJnX21hc2tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfUkFLRV9DS19JRExFX2RiZ19tYXNrX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX1JBS0VfQ0tfSURMRV9kYmdfbWFza19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19SQUtFX0NLX0lETEVfZGJnX21hc2tfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19SQUtFX0NLX0lETEVfbWFza19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJJR1JBTV9DS19JRExFX01BU0tfUkFLRV9DS19JRExFX21hc2tfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQ0tfSURMRV9NQVNLX1JBS0VfQ0tfSURMRV9tYXNrX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQklHUkFNX0NLX0lETEVfTUFTS19SQUtFX0NLX0lETEVfbWFza19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQklHUkFNX0JVU19DT05GSUcwX2RlYnVnX3NlbF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBCSUdSQU1fQlVTX0NPTkZJRzBfZGVidWdfc2VsX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX0JVU19DT05GSUcwX2RlYnVnX3NlbF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIEJJR1JBTV9CVVNfQ09ORklHMF9kZWJ1Z19zZWxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIEJJR1JBTV9CVVNfQ09ORklHMF9iaWdyYW1fc2x2X2FyZmx1c2hfdGhyZV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBCSUdSQU1fQlVTX0NPTkZJRzBfYmlncmFtX3Nsdl9hcmZsdXNoX3RocmVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQklHUkFNX0JVU19DT05GSUcwX2JpZ3JhbV9zbHZfYXJmbHVzaF90aHJlX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA2MDApCisKKyNkZWZpbmUgQklHUkFNX0JVU19DT05GSUcwX2JpZ3JhbV9zbHZfYXdmbHVzaF90aHJlX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIEJJR1JBTV9CVVNfQ09ORklHMF9iaWdyYW1fc2x2X2F3Zmx1c2hfdGhyZV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBCSUdSQU1fQlVTX0NPTkZJRzBfYmlncmFtX3Nsdl9hd2ZsdXNoX3RocmVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDE4MCkKKworI2RlZmluZSBCSUdSQU1fQlVTX0NPTkZJRzBfc2x2X3N5bmNfc2VsX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgQklHUkFNX0JVU19DT05GSUcwX3Nsdl9zeW5jX3NlbF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIEJJR1JBTV9CVVNfQ09ORklHMF9zbHZfc3luY19zZWxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDYwKQorCisjZGVmaW5lIEJJR1JBTV9CVVNfQ09ORklHMF9tc3Rfc3luY19zZWxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBCSUdSQU1fQlVTX0NPTkZJRzBfbXN0X3N5bmNfc2VsX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQklHUkFNX0JVU19DT05GSUcwX21zdF9zeW5jX3NlbF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTgpCisKKyNkZWZpbmUgQklHUkFNX0JVU19DT05GSUcwX2JpZ3JhbV9tYXNfbWlfb3N0ZF9leHRfZW5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIEJJR1JBTV9CVVNfQ09ORklHMF9iaWdyYW1fbWFzX21pX29zdGRfZXh0X2VuX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQlVTX0NPTkZJRzBfYmlncmFtX21hc19taV9vc3RkX2V4dF9lbl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgQklHUkFNX0JVU19DT05GSUcwX2JpZ3JhbV9tYXNfbWlfb3N0ZF9leHRfZW5fQklUICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgQklHUkFNX0JVU19DT05GSUcwX2JpZ3JhbV9tYXNfbWlfcW9zX29uX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9CVVNfQ09ORklHMF9iaWdyYW1fbWFzX21pX3Fvc19vbl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQlVTX0NPTkZJRzBfYmlncmFtX21hc19taV9xb3Nfb25fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQklHUkFNX0JVU19DT05GSUcwX2JpZ3JhbV9tYXNfbWlfcW9zX29uX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQklHUkFNX0JVU19DT05GSUcwX2NnX2Rpc2FibGVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJJR1JBTV9CVVNfQ09ORklHMF9jZ19kaXNhYmxlX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQlVTX0NPTkZJRzBfY2dfZGlzYWJsZV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQklHUkFNX0JVU19DT05GSUcwX2NnX2Rpc2FibGVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQklHUkFNX0JVU19TVEFUVVMwX2JpZ3JhbV9tYXNfZ2Fsc190eF9pZGxlX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEJJR1JBTV9CVVNfU1RBVFVTMF9iaWdyYW1fbWFzX2dhbHNfdHhfaWRsZV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQlVTX1NUQVRVUzBfYmlncmFtX21hc19nYWxzX3R4X2lkbGVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgQklHUkFNX0JVU19TVEFUVVMwX2JpZ3JhbV9tYXNfZ2Fsc190eF9pZGxlX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgQklHUkFNX0JVU19TVEFUVVMwX2JpZ3JhbV9nYWxzX2lkbGVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIEJJR1JBTV9CVVNfU1RBVFVTMF9iaWdyYW1fZ2Fsc19pZGxlX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQlVTX1NUQVRVUzBfYmlncmFtX2dhbHNfaWRsZV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgQklHUkFNX0JVU19TVEFUVVMwX2JpZ3JhbV9nYWxzX2lkbGVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgQklHUkFNX0JVU19TVEFUVVMwX2JpZ3JhbV9taV9yX2J1c3lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9CVVNfU1RBVFVTMF9iaWdyYW1fbWlfcl9idXN5X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQlVTX1NUQVRVUzBfYmlncmFtX21pX3JfYnVzeV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQklHUkFNX0JVU19TVEFUVVMwX2JpZ3JhbV9taV9yX2J1c3lfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQklHUkFNX0JVU19TVEFUVVMwX2JpZ3JhbV9taV93X2J1c3lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJJR1JBTV9CVVNfU1RBVFVTMF9iaWdyYW1fbWlfd19idXN5X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCSUdSQU1fQlVTX1NUQVRVUzBfYmlncmFtX21pX3dfYnVzeV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQklHUkFNX0JVU19TVEFUVVMwX2JpZ3JhbV9taV93X2J1c3lfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQklHUkFNX1NMVl9CVVNfQ09ORklHMF9iaWdyYW1fc2x2X3NpX3dheV9pbnRlcmxlYXZlX2VuX0xTQiAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX0NPTkZJRzBfYmlncmFtX3Nsdl9zaV93YXlfaW50ZXJsZWF2ZV9lbl9XSURUSCAgICAgICAgICAgICgyKQorI2RlZmluZSBCSUdSQU1fU0xWX0JVU19DT05GSUcwX2JpZ3JhbV9zbHZfc2lfd2F5X2ludGVybGVhdmVfZW5fTUFTSyAgICAgICAgICAgICAoMHgwMDAwMDA2MCkKKworI2RlZmluZSBCSUdSQU1fU0xWX0JVU19DT05GSUcwX2JpZ3JhbV9zbHZfc2lfT1NURF9kaXNhYmxlX0xTQiAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgQklHUkFNX1NMVl9CVVNfQ09ORklHMF9iaWdyYW1fc2x2X3NpX09TVERfZGlzYWJsZV9XSURUSCAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX0NPTkZJRzBfYmlncmFtX3Nsdl9zaV9PU1REX2Rpc2FibGVfTUFTSyAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBCSUdSQU1fU0xWX0JVU19DT05GSUcwX2JpZ3JhbV9zbHZfc2lfT1NURF9kaXNhYmxlX0JJVCAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBCSUdSQU1fU0xWX0JVU19DT05GSUcwX2JpZ3JhbV9zbHZfc2lfY3RybF9ieXBhc3NfTFNCICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgQklHUkFNX1NMVl9CVVNfQ09ORklHMF9iaWdyYW1fc2x2X3NpX2N0cmxfYnlwYXNzX1dJRFRIICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX0NPTkZJRzBfYmlncmFtX3Nsdl9zaV9jdHJsX2J5cGFzc19NQVNLICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBCSUdSQU1fU0xWX0JVU19DT05GSUcwX2JpZ3JhbV9zbHZfc2lfY3RybF9ieXBhc3NfQklUICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBCSUdSQU1fU0xWX0JVU19DT05GSUcwX2JpZ3JhbV9zbHZfc2lfd2F5X2VuX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX1NMVl9CVVNfQ09ORklHMF9iaWdyYW1fc2x2X3NpX3dheV9lbl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX0NPTkZJRzBfYmlncmFtX3Nsdl9zaV93YXlfZW5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA2KQorCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX0NPTkZJRzBfY2dfZGlzYWJsZV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCSUdSQU1fU0xWX0JVU19DT05GSUcwX2NnX2Rpc2FibGVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX1NMVl9CVVNfQ09ORklHMF9jZ19kaXNhYmxlX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX0NPTkZJRzBfY2dfZGlzYWJsZV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX1NUQVRVUzBfYmlncmFtX3Nsdl9heGkyc3JhbV9pZGxlX0xTQiAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgQklHUkFNX1NMVl9CVVNfU1RBVFVTMF9iaWdyYW1fc2x2X2F4aTJzcmFtX2lkbGVfV0lEVEggICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX1NUQVRVUzBfYmlncmFtX3Nsdl9heGkyc3JhbV9pZGxlX01BU0sgICAgICAgICAgICAgICAgICAgICgweDAwMjAwMDAwKQorI2RlZmluZSBCSUdSQU1fU0xWX0JVU19TVEFUVVMwX2JpZ3JhbV9zbHZfYXhpMnNyYW1faWRsZV9CSVQgICAgICAgICAgICAgICAgICAgICAoMHgwMDIwMDAwMCkKKworI2RlZmluZSBCSUdSQU1fU0xWX0JVU19TVEFUVVMwX2JpZ3JhbV9zbHZfc2lfZGVjX2Vycl9kb21haW5fTFNCICAgICAgICAgICAgICAgICAoMTgpCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX1NUQVRVUzBfYmlncmFtX3Nsdl9zaV9kZWNfZXJyX2RvbWFpbl9XSURUSCAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBCSUdSQU1fU0xWX0JVU19TVEFUVVMwX2JpZ3JhbV9zbHZfc2lfZGVjX2Vycl9kb21haW5fTUFTSyAgICAgICAgICAgICAgICAoMHgwMDFDMDAwMCkKKworI2RlZmluZSBCSUdSQU1fU0xWX0JVU19TVEFUVVMwX2JpZ3JhbV9zbHZfc2lfZGVjX2Vycl9pZF9MU0IgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgQklHUkFNX1NMVl9CVVNfU1RBVFVTMF9iaWdyYW1fc2x2X3NpX2RlY19lcnJfaWRfV0lEVEggICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBCSUdSQU1fU0xWX0JVU19TVEFUVVMwX2JpZ3JhbV9zbHZfc2lfZGVjX2Vycl9pZF9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgwMDAzRkZFMCkKKworI2RlZmluZSBCSUdSQU1fU0xWX0JVU19TVEFUVVMwX2JpZ3JhbV9zbHZfc2lfZGVjX2Vycl93X0xTQiAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgQklHUkFNX1NMVl9CVVNfU1RBVFVTMF9iaWdyYW1fc2x2X3NpX2RlY19lcnJfd19XSURUSCAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX1NUQVRVUzBfYmlncmFtX3Nsdl9zaV9kZWNfZXJyX3dfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBCSUdSQU1fU0xWX0JVU19TVEFUVVMwX2JpZ3JhbV9zbHZfc2lfZGVjX2Vycl93X0JJVCAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBCSUdSQU1fU0xWX0JVU19TVEFUVVMwX2JpZ3JhbV9zbHZfc2lfZGVjX2Vycl9yX0xTQiAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgQklHUkFNX1NMVl9CVVNfU1RBVFVTMF9iaWdyYW1fc2x2X3NpX2RlY19lcnJfcl9XSURUSCAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX1NUQVRVUzBfYmlncmFtX3Nsdl9zaV9kZWNfZXJyX3JfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBCSUdSQU1fU0xWX0JVU19TVEFUVVMwX2JpZ3JhbV9zbHZfc2lfZGVjX2Vycl9yX0JJVCAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBCSUdSQU1fU0xWX0JVU19TVEFUVVMwX2JpZ3JhbV9zbHZfc2lfcmRfb3RfYnVzeV9MU0IgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQklHUkFNX1NMVl9CVVNfU1RBVFVTMF9iaWdyYW1fc2x2X3NpX3JkX290X2J1c3lfV0lEVEggICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX1NUQVRVUzBfYmlncmFtX3Nsdl9zaV9yZF9vdF9idXN5X01BU0sgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBCSUdSQU1fU0xWX0JVU19TVEFUVVMwX2JpZ3JhbV9zbHZfc2lfcmRfb3RfYnVzeV9CSVQgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBCSUdSQU1fU0xWX0JVU19TVEFUVVMwX2JpZ3JhbV9zbHZfc2lfd3Jfb3RfYnVzeV9MU0IgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQklHUkFNX1NMVl9CVVNfU1RBVFVTMF9iaWdyYW1fc2x2X3NpX3dyX290X2J1c3lfV0lEVEggICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX1NUQVRVUzBfYmlncmFtX3Nsdl9zaV93cl9vdF9idXN5X01BU0sgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBCSUdSQU1fU0xWX0JVU19TVEFUVVMwX2JpZ3JhbV9zbHZfc2lfd3Jfb3RfYnVzeV9CSVQgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBCSUdSQU1fU0xWX0JVU19TVEFUVVMwX2JpZ3JhbV9zbHZfc2lfY3RybF91cGRhdGVkX0xTQiAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQklHUkFNX1NMVl9CVVNfU1RBVFVTMF9iaWdyYW1fc2x2X3NpX2N0cmxfdXBkYXRlZF9XSURUSCAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9TTFZfQlVTX1NUQVRVUzBfYmlncmFtX3Nsdl9zaV9jdHJsX3VwZGF0ZWRfTUFTSyAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBCSUdSQU1fU0xWX0JVU19TVEFUVVMwX2JpZ3JhbV9zbHZfc2lfY3RybF91cGRhdGVkX0JJVCAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBCSUdSQU1fU0xWX0JVU19TVEFUVVMxX2JpZ3JhbV9zbHZfc2lfZGVjX2Vycl9hZGRyX0xTQiAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQklHUkFNX1NMVl9CVVNfU1RBVFVTMV9iaWdyYW1fc2x2X3NpX2RlY19lcnJfYWRkcl9XSURUSCAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBCSUdSQU1fU0xWX0JVU19TVEFUVVMxX2JpZ3JhbV9zbHZfc2lfZGVjX2Vycl9hZGRyX01BU0sgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBCSUdSQU1fQlVTX0RCR09VVF9iaWdyYW1fYnVzX2RiZ291dF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQklHUkFNX0JVU19EQkdPVVRfYmlncmFtX2J1c19kYmdvdXRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBCSUdSQU1fQlVTX0RCR09VVF9iaWdyYW1fYnVzX2RiZ291dF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBCSUdSQU1fQ0xLX0RJVjJfRElTX2JpZ3JhbV9kaXYyX2Rpc2FibGVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQklHUkFNX0NMS19ESVYyX0RJU19iaWdyYW1fZGl2Ml9kaXNhYmxlX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJJR1JBTV9DTEtfRElWMl9ESVNfYmlncmFtX2RpdjJfZGlzYWJsZV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBCSUdSQU1fQ0xLX0RJVjJfRElTX2JpZ3JhbV9kaXYyX2Rpc2FibGVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworCisjZW5kaWYgLyojaWZuZGVmIF9DUEhfQklHUkFNX0dMQl9DT05fUkVHX0hfKi8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoYzJrbDFhb2NmZy5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGMya2wxYW9jZmcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTIxMTAzCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGMya2wxYW9jZmcuaApAQCAtMCwwICsxLDQ0IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmIGRlZmluZWQoX19NRDkzX18pCisjaW5jbHVkZSAiY3BoYzJrbDFhb2NmZ185My5oIgorI2VsaWYgZGVmaW5lZChfX01EOTVfXykKKyNpbmNsdWRlICJjcGhjMmtsMWFvY2ZnXzk1LmgiCisjZWxpZiBkZWZpbmVkKF9fTUQ5N19fKSB8fCBkZWZpbmVkKF9fTUQ5N1BfXykgCisjaW5jbHVkZSAiY3BoYzJrbDFhb2NmZ185Ny5oIgorI2Vsc2UKKyNlcnJvciAiW0VSUk9SXSBJbnZhbGlkIE1EIGdlbmVyYXRpb24iCisjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGMya2wxYW9jZmdfOTMuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhjMmtsMWFvY2ZnXzkzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjY3ZjMxZQotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhjMmtsMWFvY2ZnXzkzLmgKQEAgLTAsMCArMSw1NjMgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhfQzJLX0wxX0EwQ0ZHX0hfCisjZGVmaW5lIF9DUEhfQzJLX0wxX0EwQ0ZHX0hfCisjaW5jbHVkZSAgImRydnBkbi5oIgorCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBTUkFNQUREUjsgICAgICAgICAvKiBTUkFNIGFkZHIgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIFNSQU1EQVRBOyAgICAgICAgIC8qIFNSQU0gZGF0YSBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogQVBCQUREUjsgICAgICAgICAgLyogQVBCIGFkZHIgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBBUEJEQVRBOyAgICAgICAgICAvKiBBUEIgZGF0YSBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyogIEFQQkFERFIzMjsgICAgICAgIC8qIEFQQiBhZGRyIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICAgQVBCREFUQTMyOyAgICAgICAgLyogQVBCIGRhdGEgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBEUFJBTUFERFI7ICAgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgc2lnbmVkICAgc2hvcnQqIERQUkFNQUREUl9TOyAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgRFBSQU1EQVRBOyAgICAgICAgLyogRFBSQU0gZGF0YSBpcyAxNiBiaXRzICovCisKKworI2RlZmluZSBNT0RFTUwxX0FPX0NPTkZJR19SRUdfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhBNjAyMDAwMCkKKworI2RlZmluZSBNT0RFTUwxX0FPX0NPTkZJR19lbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoTU9ERU1MMV9BT19DT05GSUdfUkVHX0JBU0UgKyAweDM1MCArIDEqNCkKKworCisKKyNkZWZpbmUgTURMMUFPX0NPTjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1PREVNTDFfQU9fQ09ORklHX1JFR19CQVNFICsgMHgwMCkpCisjZGVmaW5lIE1ETDFBT19DT04xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNT0RFTUwxX0FPX0NPTkZJR19SRUdfQkFTRSArIDB4MDQpKQorI2RlZmluZSBNREwxQU9fQ09OMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTU9ERU1MMV9BT19DT05GSUdfUkVHX0JBU0UgKyAweDA4KSkKKyNkZWZpbmUgTURMMUFPX0NPTjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1PREVNTDFfQU9fQ09ORklHX1JFR19CQVNFICsgMHgxMCkpCisjZGVmaW5lIE1ETDFBT19DT041ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNT0RFTUwxX0FPX0NPTkZJR19SRUdfQkFTRSArIDB4MTQpKQorI2RlZmluZSBNREwxQU9fQ09ONiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTU9ERU1MMV9BT19DT05GSUdfUkVHX0JBU0UgKyAweDE4KSkKKyNkZWZpbmUgTURMMUFPX0NPTjcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1PREVNTDFfQU9fQ09ORklHX1JFR19CQVNFICsgMHgxYykpCisjZGVmaW5lIE1ETDFBT19DT044ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNT0RFTUwxX0FPX0NPTkZJR19SRUdfQkFTRSArIDB4MjApKQorI2RlZmluZSBNREwxQU9fQ09OOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTU9ERU1MMV9BT19DT05GSUdfUkVHX0JBU0UgKyAweDI0KSkKKyNkZWZpbmUgTURMMUFPX0NPTjEwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1PREVNTDFfQU9fQ09ORklHX1JFR19CQVNFICsgMHgyOCkpCisjZGVmaW5lIE1ETDFBT19DT04xMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNT0RFTUwxX0FPX0NPTkZJR19SRUdfQkFTRSArIDB4MmMpKQorI2RlZmluZSBNREwxQU9fQ09OMTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTU9ERU1MMV9BT19DT05GSUdfUkVHX0JBU0UgKyAweDMwKSkKKyNkZWZpbmUgTURMMUFPX0NPTjE0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1PREVNTDFfQU9fQ09ORklHX1JFR19CQVNFICsgMHgzOCkpCisjZGVmaW5lIE1ETDFBT19DT04xNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNT0RFTUwxX0FPX0NPTkZJR19SRUdfQkFTRSArIDB4M0MpKQorI2RlZmluZSBNREwxQU9fQ09OMTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTU9ERU1MMV9BT19DT05GSUdfUkVHX0JBU0UgKyAweDQwKSkKKyNkZWZpbmUgTURMMUFPX0NPTjE3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1PREVNTDFfQU9fQ09ORklHX1JFR19CQVNFICsgMHg0NCkpCisjZGVmaW5lIE1ETDFBT19DT04xOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNT0RFTUwxX0FPX0NPTkZJR19SRUdfQkFTRSArIDB4NDgpKQorI2RlZmluZSBNREwxQU9fQ09OMTkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTU9ERU1MMV9BT19DT05GSUdfUkVHX0JBU0UgKyAweDRDKSkKKyNpZiAwIC8qIGRlZmluZWQgaW4gZHJ2cGRuLmggKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKyNlbmRpZgorI2RlZmluZSBNREwxQU9fQ09OMjEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTU9ERU1MMV9BT19DT05GSUdfUkVHX0JBU0UgKyAweDM1MCkpCisKKworI2RlZmluZSBNREwxQU9fQ09OMF9NREwxQU9fTUFTX0JVU19JRExFX0RJVl9NQVNLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTURMMUFPX0NPTjBfTURMMUFPX01BU19CVVNfSURMRV9ESVZfTUFTS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04wX01ETDFBT19NQVNfQlVTX0lETEVfRElWX01BU0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBNREwxQU9fQ09OMF9NREwxQU9fTUFTX0JVU19JRExFX0RJVl9NQVNLX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBNREwxQU9fQ09OMV9GRVNZU19CVVMyWF9DS19TV19ESVYyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjFfRkVTWVNfQlVTMlhfQ0tfU1dfRElWMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04xX0ZFU1lTX0JVUzJYX0NLX1NXX0RJVjJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBNREwxQU9fQ09OMV9GRVNZU19CVVMyWF9DS19TV19ESVYyX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBNREwxQU9fQ09OMV9GRVNZU19CVVMyWF9DS19TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTURMMUFPX0NPTjFfRkVTWVNfQlVTMlhfQ0tfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04xX0ZFU1lTX0JVUzJYX0NLX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBNREwxQU9fQ09OMV9GRVNZU19CVVMyWF9DS19TRUxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBNREwxQU9fQ09OMl9CVVMyWF9EQ01fQ09OX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTURMMUFPX0NPTjJfQlVTMlhfRENNX0NPTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBNREwxQU9fQ09OMl9CVVMyWF9EQ01fQ09OX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBNREwxQU9fQ09ONF9JRENfVUFSVF9EQkdfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTURMMUFPX0NPTjRfSURDX1VBUlRfREJHX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIE1ETDFBT19DT040X0lEQ19VQVJUX0RCR19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEZGKQorCisjZGVmaW5lIE1ETDFBT19DT041X0dMQkNPTl9EQkdfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNREwxQU9fQ09ONV9HTEJDT05fREJHX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgTURMMUFPX0NPTjVfR0xCQ09OX0RCR19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDMpCisKKyNkZWZpbmUgTURMMUFPX0NPTjZfQlVTX1BXUl9BV0FSRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1ETDFBT19DT042X0JVU19QV1JfQVdBUkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgTURMMUFPX0NPTjZfQlVTX1BXUl9BV0FSRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgTURMMUFPX0NPTjdfTUJJU1RfT1VUX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1ETDFBT19DT043X01CSVNUX09VVF9TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBNREwxQU9fQ09ON19NQklTVF9PVVRfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBNREwxQU9fQ09OOF9CU0lfTU1fUDJQX0VSUl9BRERSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgTURMMUFPX0NPTjhfQlNJX01NX1AyUF9FUlJfQUREUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMwKQorI2RlZmluZSBNREwxQU9fQ09OOF9CU0lfTU1fUDJQX0VSUl9BRERSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGQykKKworI2RlZmluZSBNREwxQU9fQ09OOF9CU0lfTU1fUDJQX1JYX0NMT0NLX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjhfQlNJX01NX1AyUF9SWF9DTE9DS19FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT044X0JTSV9NTV9QMlBfUlhfQ0xPQ0tfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBNREwxQU9fQ09OOF9CU0lfTU1fUDJQX1JYX0NMT0NLX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBNREwxQU9fQ09OOF9CU0lfTU1fUDJQX0VSUl9USU1FT1VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTURMMUFPX0NPTjhfQlNJX01NX1AyUF9FUlJfVElNRU9VVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT044X0JTSV9NTV9QMlBfRVJSX1RJTUVPVVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBNREwxQU9fQ09OOF9CU0lfTU1fUDJQX0VSUl9USU1FT1VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBNREwxQU9fQ09OOV9CUElfTU1fUDJQX0VSUl9BRERSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgTURMMUFPX0NPTjlfQlBJX01NX1AyUF9FUlJfQUREUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMwKQorI2RlZmluZSBNREwxQU9fQ09OOV9CUElfTU1fUDJQX0VSUl9BRERSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGQykKKworI2RlZmluZSBNREwxQU9fQ09OOV9CUElfTU1fUDJQX1JYX0NMT0NLX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjlfQlBJX01NX1AyUF9SWF9DTE9DS19FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT045X0JQSV9NTV9QMlBfUlhfQ0xPQ0tfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBNREwxQU9fQ09OOV9CUElfTU1fUDJQX1JYX0NMT0NLX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBNREwxQU9fQ09OOV9CUElfTU1fUDJQX0VSUl9USU1FT1VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTURMMUFPX0NPTjlfQlBJX01NX1AyUF9FUlJfVElNRU9VVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT045X0JQSV9NTV9QMlBfRVJSX1RJTUVPVVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBNREwxQU9fQ09OOV9CUElfTU1fUDJQX0VSUl9USU1FT1VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBNREwxQU9fQ09OMTBfUkFLRV9NT0RFTUNUSV9XQUtFVVBfTUFTS19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgTURMMUFPX0NPTjEwX1JBS0VfTU9ERU1DVElfV0FLRVVQX01BU0tfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04xMF9SQUtFX01PREVNQ1RJX1dBS0VVUF9NQVNLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBNREwxQU9fQ09OMTBfUkFLRV9NT0RFTUNUSV9XQUtFVVBfTUFTS19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBNREwxQU9fQ09OMTBfUkFLRV9DU1lTX1dBS0VVUF9NQVNLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgTURMMUFPX0NPTjEwX1JBS0VfQ1NZU19XQUtFVVBfTUFTS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04xMF9SQUtFX0NTWVNfV0FLRVVQX01BU0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBNREwxQU9fQ09OMTBfUkFLRV9DU1lTX1dBS0VVUF9NQVNLX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBNREwxQU9fQ09OMTBfU0NRX01PREVNQ1RJX1dBS0VVUF9NQVNLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjEwX1NDUV9NT0RFTUNUSV9XQUtFVVBfTUFTS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04xMF9TQ1FfTU9ERU1DVElfV0FLRVVQX01BU0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBNREwxQU9fQ09OMTBfU0NRX01PREVNQ1RJX1dBS0VVUF9NQVNLX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBNREwxQU9fQ09OMTBfU0NRX0NTWVNfV0FLRVVQX01BU0tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTURMMUFPX0NPTjEwX1NDUV9DU1lTX1dBS0VVUF9NQVNLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04xMF9TQ1FfQ1NZU19XQUtFVVBfTUFTS19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBNREwxQU9fQ09OMTBfU0NRX0NTWVNfV0FLRVVQX01BU0tfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBNREwxQU9fQ09OMTFfRkVTWVNfQlVTMlhfQ0tfREZTX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTURMMUFPX0NPTjExX0ZFU1lTX0JVUzJYX0NLX0RGU19FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04xMV9GRVNZU19CVVMyWF9DS19ERlNfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBNREwxQU9fQ09OMTFfRkVTWVNfQlVTMlhfQ0tfREZTX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBNREwxQU9fQ09OMTJfR1BTX1NZTkNfTUFTS19FVkRPX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgTURMMUFPX0NPTjEyX0dQU19TWU5DX01BU0tfRVZET19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04xMl9HUFNfU1lOQ19NQVNLX0VWRE9fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBNREwxQU9fQ09OMTJfR1BTX1NZTkNfTUFTS19FVkRPX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBNREwxQU9fQ09OMTJfR1BTX1NZTkNfTUFTS18xWFJUVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjEyX0dQU19TWU5DX01BU0tfMVhSVFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04xMl9HUFNfU1lOQ19NQVNLXzFYUlRUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBNREwxQU9fQ09OMTJfR1BTX1NZTkNfTUFTS18xWFJUVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBNREwxQU9fQ09OMTJfR1BTX1NZTkNfTUFTS19MV1RHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTURMMUFPX0NPTjEyX0dQU19TWU5DX01BU0tfTFdUR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04xMl9HUFNfU1lOQ19NQVNLX0xXVEdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBNREwxQU9fQ09OMTJfR1BTX1NZTkNfTUFTS19MV1RHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBNREwxQU9fQ09OMTRfUkdfREJHX01PRF9TRUwwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTURMMUFPX0NPTjE0X1JHX0RCR19NT0RfU0VMMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIE1ETDFBT19DT04xNF9SR19EQkdfTU9EX1NFTDBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIE1ETDFBT19DT04xNV9SR19EQkdfTU9EX1NFTDFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNREwxQU9fQ09OMTVfUkdfREJHX01PRF9TRUwxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgTURMMUFPX0NPTjE1X1JHX0RCR19NT0RfU0VMMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUYpCisKKyNkZWZpbmUgTURMMUFPX0NPTjE2X1JHX0RCR19NT0RfU0VMMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1ETDFBT19DT04xNl9SR19EQkdfTU9EX1NFTDJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBNREwxQU9fQ09OMTZfUkdfREJHX01PRF9TRUwyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxRikKKworI2RlZmluZSBNREwxQU9fQ09OMTdfUkdfREJHX01PRF9TRUwzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTURMMUFPX0NPTjE3X1JHX0RCR19NT0RfU0VMM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIE1ETDFBT19DT04xN19SR19EQkdfTU9EX1NFTDNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIE1ETDFBT19DT04xOF9SR19EQkdfU1VCX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNREwxQU9fQ09OMThfUkdfREJHX1NVQl9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgTURMMUFPX0NPTjE4X1JHX0RCR19TVUJfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgTURMMUFPX0NPTjE5X01ETDFBT19ERFJfQ0xLX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1ETDFBT19DT04xOV9NREwxQU9fRERSX0NMS19FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBNREwxQU9fQ09OMTlfTURMMUFPX0REUl9DTEtfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKworI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0NET19UVFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTgpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fQ0RPX1RUUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0NET19UVFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDA0MDAwMCkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9DRE9fVFRSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwNDAwMDApCisKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9DMVhfVFRSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE3KQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0MxWF9UVFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9DMVhfVFRSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMjAwMDApCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fQzFYX1RUUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDIwMDAwKQorCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fRlJFUU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9GUkVRTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fRlJFUU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0ZSRVFNX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKworI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0RWRlNfQ1RSTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fRFZGU19DVFJMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0RWRlNfQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9EVkZTX0NUUkxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9JRENfVUFSVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0lEQ19VQVJUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9JRENfVUFSVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fSURDX1VBUlRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fQlNJX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9CU0lfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fQlNJX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0JTSV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKworI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0JQSV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fQlBJX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0JQSV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9CUElfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9JRENfQ1RSTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0lEQ19DVFJMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9JRENfQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fSURDX0NUUkxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fTFRFX1NMUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9MVEVfU0xQX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fTFRFX1NMUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0xURV9TTFBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0xURV9UTVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9MVEVfVE1SX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fTFRFX1RNUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0xURV9UTVJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0ZERF9TTFBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9GRERfU0xQX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fRkREX1NMUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0ZERF9TTFBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0ZERF9UTVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9GRERfVE1SX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fRkREX1RNUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0ZERF9UTVJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX1RERF9TTFBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9URERfU0xQX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fVEREX1NMUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX1RERF9TTFBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX1RERF9UTVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9URERfVE1SX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fVEREX1RNUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX1RERF9UTVJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX1RETUFfU0xQX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9URE1BX1NMUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fVERNQV9TTFBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX1RETUFfU0xQX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0MySzFYX1NMUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9DMksxWF9TTFBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fQzJLMVhfU0xQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0MySzFYX1NMUF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0MySzFYX1RNUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9DMksxWF9UTVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fQzJLMVhfVE1SX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0MySzFYX1RNUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0MyS0RPX1NMUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9DMktET19TTFBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fQzJLRE9fU0xQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0MyS0RPX1NMUF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0MyS0RPX1RNUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9DMktET19UTVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fQzJLRE9fVE1SX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0MyS0RPX1RNUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQ0RPX0VWRU5UR0VOX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DRE9fRVZFTlRHRU5fU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQ0RPX0VWRU5UR0VOX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMCkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0NET19FVkVOVEdFTl9TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0MxWF9FVkVOVEdFTl9TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIxKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQzFYX0VWRU5UR0VOX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0MxWF9FVkVOVEdFTl9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAyMDAwMDApCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DMVhfRVZFTlRHRU5fU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMjAwMDAwKQorCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DRE9fVFRSX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0NET19UVFJfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DRE9fVFRSX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDQwMDAwKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQ0RPX1RUUl9TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDA0MDAwMCkKKworI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQzFYX1RUUl9TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTcpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DMVhfVFRSX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQzFYX1RUUl9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAyMDAwMCkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0MxWF9UVFJfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMjAwMDApCisKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0ZSRVFNX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fRlJFUU1fU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0ZSRVFNX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9GUkVRTV9TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9EVkZTX0NUUkxfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0RWRlNfQ1RSTF9TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9EVkZTX0NUUkxfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fRFZGU19DVFJMX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fSURDX1VBUlRfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9JRENfVUFSVF9TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fSURDX1VBUlRfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0lEQ19VQVJUX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0JTSV9TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQlNJX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0JTSV9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9CU0lfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9CUElfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0JQSV9TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9CUElfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQlBJX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fSURDX0NUUkxfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9JRENfQ1RSTF9TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fSURDX0NUUkxfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0lEQ19DVFJMX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0xURV9TTFBfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fTFRFX1NMUF9TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0xURV9TTFBfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9MVEVfU0xQX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9MVEVfVE1SX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fTFRFX1RNUl9TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0xURV9UTVJfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9MVEVfVE1SX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9GRERfU0xQX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fRkREX1NMUF9TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0ZERF9TTFBfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9GRERfU0xQX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9GRERfVE1SX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fRkREX1RNUl9TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0ZERF9UTVJfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9GRERfVE1SX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9URERfU0xQX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fVEREX1NMUF9TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX1RERF9TTFBfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9URERfU0xQX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9URERfVE1SX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fVEREX1RNUl9TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX1RERF9UTVJfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9URERfVE1SX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9URE1BX1NMUF9TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fVERNQV9TTFBfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX1RETUFfU0xQX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9URE1BX1NMUF9TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DMksxWF9TTFBfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQzJLMVhfU0xQX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0MySzFYX1NMUF9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DMksxWF9TTFBfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DMksxWF9UTVJfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQzJLMVhfVE1SX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0MySzFYX1RNUl9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DMksxWF9UTVJfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DMktET19TTFBfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQzJLRE9fU0xQX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0MyS0RPX1NMUF9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DMktET19TTFBfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DMktET19UTVJfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQzJLRE9fVE1SX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0MyS0RPX1RNUl9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DMktET19UTVJfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9DRE9fRVZFTlRHRU5fQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0NET19FVkVOVEdFTl9DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9DRE9fRVZFTlRHRU5fQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQ0RPX0VWRU5UR0VOX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMCkKKworI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQzFYX0VWRU5UR0VOX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9DMVhfRVZFTlRHRU5fQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQzFYX0VWRU5UR0VOX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDIwMDAwMCkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0MxWF9FVkVOVEdFTl9DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAyMDAwMDApCisKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0NET19UVFJfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE4KQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQ0RPX1RUUl9DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0NET19UVFJfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwNDAwMDApCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9DRE9fVFRSX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDQwMDAwKQorCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9DMVhfVFRSX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNykKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0MxWF9UVFJfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9DMVhfVFRSX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDIwMDAwKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQzFYX1RUUl9DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAyMDAwMCkKKworI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fRlJFUU1fQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9GUkVRTV9DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fRlJFUU1fQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0ZSRVFNX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0RWRlNfQ1RSTF9DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fRFZGU19DVFJMX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0RWRlNfQ1RSTF9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9EVkZTX0NUUkxfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9JRENfVUFSVF9DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0lEQ19VQVJUX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9JRENfVUFSVF9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fSURDX1VBUlRfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKworI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQlNJX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9CU0lfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQlNJX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0JTSV9DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0JQSV9DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQlBJX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0JQSV9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9CUElfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9JRENfQ1RSTF9DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0lEQ19DVFJMX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9JRENfQ1RSTF9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fSURDX0NUUkxfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKworI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fTFRFX1NMUF9DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9MVEVfU0xQX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fTFRFX1NMUF9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0xURV9TTFBfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0xURV9UTVJfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9MVEVfVE1SX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fTFRFX1RNUl9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0xURV9UTVJfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0ZERF9TTFBfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9GRERfU0xQX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fRkREX1NMUF9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0ZERF9TTFBfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0ZERF9UTVJfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9GRERfVE1SX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fRkREX1RNUl9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0ZERF9UTVJfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX1RERF9TTFBfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9URERfU0xQX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fVEREX1NMUF9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX1RERF9TTFBfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX1RERF9UTVJfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9URERfVE1SX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fVEREX1RNUl9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX1RERF9UTVJfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX1RETUFfU0xQX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9URE1BX1NMUF9DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fVERNQV9TTFBfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX1RETUFfU0xQX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0MySzFYX1NMUF9DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9DMksxWF9TTFBfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQzJLMVhfU0xQX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0MySzFYX1NMUF9DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0MySzFYX1RNUl9DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9DMksxWF9UTVJfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQzJLMVhfVE1SX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0MySzFYX1RNUl9DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0MyS0RPX1NMUF9DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9DMktET19TTFBfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQzJLRE9fU0xQX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0MyS0RPX1NMUF9DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0MyS0RPX1RNUl9DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9DMktET19UTVJfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQzJLRE9fVE1SX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0MyS0RPX1RNUl9DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9MVEVfQ0FfRElTQUJMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIE1ETDFBT19DT04yMTJfRUZVU0VfTFRFX0NBX0RJU0FCTEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX0xURV9DQV9ESVNBQkxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9MVEVfQ0FfRElTQUJMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9DMktfRElTQUJMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIE1ETDFBT19DT04yMTJfRUZVU0VfQzJLX0RJU0FCTEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX0MyS19ESVNBQkxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9DMktfRElTQUJMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9MVEVfRkREX0RJU0FCTEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIE1ETDFBT19DT04yMTJfRUZVU0VfTFRFX0ZERF9ESVNBQkxFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX0xURV9GRERfRElTQUJMRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9MVEVfRkREX0RJU0FCTEVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9MVEVfVEREX0RJU0FCTEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIE1ETDFBT19DT04yMTJfRUZVU0VfTFRFX1RERF9ESVNBQkxFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX0xURV9URERfRElTQUJMRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9MVEVfVEREX0RJU0FCTEVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9NRDFfRElTQUJMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIE1ETDFBT19DT04yMTJfRUZVU0VfTUQxX0RJU0FCTEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX01EMV9ESVNBQkxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9NRDFfRElTQUJMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9KVEFHX0RJU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIE1ETDFBT19DT04yMTJfRUZVU0VfSlRBR19ESVNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX0pUQUdfRElTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9KVEFHX0RJU19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9NRDJHX0xPQ0tfMkdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIE1ETDFBT19DT04yMTJfRUZVU0VfTUQyR19MT0NLXzJHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX01EMkdfTE9DS18yR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9NRDJHX0xPQ0tfMkdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9NRDJHX1BST1RFQ1RfQl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIE1ETDFBT19DT04yMTJfRUZVU0VfTUQyR19QUk9URUNUX0JfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX01EMkdfUFJPVEVDVF9CX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9NRDJHX1BST1RFQ1RfQl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9TV19KVEFHX0NPTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMTJfRUZVU0VfU1dfSlRBR19DT05fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX1NXX0pUQUdfQ09OX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9TV19KVEFHX0NPTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9WQUxJRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1ETDFBT19DT04yMTJfRUZVU0VfVkFMSURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX1ZBTElEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9WQUxJRF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZW5kaWYgLy8jaWZuZGVmIF9DUEhfQzJLX0wxX0EwQ0ZHX0hfCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoYzJrbDFhb2NmZ185NS5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGMya2wxYW9jZmdfOTUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNjdmMzFlCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGMya2wxYW9jZmdfOTUuaApAQCAtMCwwICsxLDU2MyBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NQSF9DMktfTDFfQTBDRkdfSF8KKyNkZWZpbmUgX0NQSF9DMktfTDFfQTBDRkdfSF8KKyNpbmNsdWRlICAiZHJ2cGRuLmgiCisKK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIFNSQU1BRERSOyAgICAgICAgIC8qIFNSQU0gYWRkciBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgU1JBTURBVEE7ICAgICAgICAgLyogU1JBTSBkYXRhIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBBUEJBRERSOyAgICAgICAgICAvKiBBUEIgYWRkciBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIEFQQkRBVEE7ICAgICAgICAgIC8qIEFQQiBkYXRhIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nKiAgQVBCQUREUjMyOyAgICAgICAgLyogQVBCIGFkZHIgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgICBBUEJEQVRBMzI7ICAgICAgICAvKiBBUEIgZGF0YSBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIERQUkFNQUREUjsgICAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSBzaWduZWQgICBzaG9ydCogRFBSQU1BRERSX1M7ICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBEUFJBTURBVEE7ICAgICAgICAvKiBEUFJBTSBkYXRhIGlzIDE2IGJpdHMgKi8KKworCisjZGVmaW5lIE1PREVNTDFfQU9fQ09ORklHX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEE2MDIwMDAwKQorCisjZGVmaW5lIE1PREVNTDFfQU9fQ09ORklHX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChNT0RFTUwxX0FPX0NPTkZJR19SRUdfQkFTRSArIDB4MzUwICsgMSo0KQorCisKKworI2RlZmluZSBNREwxQU9fQ09OMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTU9ERU1MMV9BT19DT05GSUdfUkVHX0JBU0UgKyAweDAwKSkKKyNkZWZpbmUgTURMMUFPX0NPTjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1PREVNTDFfQU9fQ09ORklHX1JFR19CQVNFICsgMHgwNCkpCisjZGVmaW5lIE1ETDFBT19DT04yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNT0RFTUwxX0FPX0NPTkZJR19SRUdfQkFTRSArIDB4MDgpKQorI2RlZmluZSBNREwxQU9fQ09ONCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTU9ERU1MMV9BT19DT05GSUdfUkVHX0JBU0UgKyAweDEwKSkKKyNkZWZpbmUgTURMMUFPX0NPTjUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1PREVNTDFfQU9fQ09ORklHX1JFR19CQVNFICsgMHgxNCkpCisjZGVmaW5lIE1ETDFBT19DT042ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNT0RFTUwxX0FPX0NPTkZJR19SRUdfQkFTRSArIDB4MTgpKQorI2RlZmluZSBNREwxQU9fQ09ONyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTU9ERU1MMV9BT19DT05GSUdfUkVHX0JBU0UgKyAweDFjKSkKKyNkZWZpbmUgTURMMUFPX0NPTjggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1PREVNTDFfQU9fQ09ORklHX1JFR19CQVNFICsgMHgyMCkpCisjZGVmaW5lIE1ETDFBT19DT045ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNT0RFTUwxX0FPX0NPTkZJR19SRUdfQkFTRSArIDB4MjQpKQorI2RlZmluZSBNREwxQU9fQ09OMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTU9ERU1MMV9BT19DT05GSUdfUkVHX0JBU0UgKyAweDI4KSkKKyNkZWZpbmUgTURMMUFPX0NPTjExICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1PREVNTDFfQU9fQ09ORklHX1JFR19CQVNFICsgMHgyYykpCisjZGVmaW5lIE1ETDFBT19DT04xMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNT0RFTUwxX0FPX0NPTkZJR19SRUdfQkFTRSArIDB4MzApKQorI2RlZmluZSBNREwxQU9fQ09OMTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTU9ERU1MMV9BT19DT05GSUdfUkVHX0JBU0UgKyAweDM4KSkKKyNkZWZpbmUgTURMMUFPX0NPTjE1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1PREVNTDFfQU9fQ09ORklHX1JFR19CQVNFICsgMHgzQykpCisjZGVmaW5lIE1ETDFBT19DT04xNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNT0RFTUwxX0FPX0NPTkZJR19SRUdfQkFTRSArIDB4NDApKQorI2RlZmluZSBNREwxQU9fQ09OMTcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTU9ERU1MMV9BT19DT05GSUdfUkVHX0JBU0UgKyAweDQ0KSkKKyNkZWZpbmUgTURMMUFPX0NPTjE4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1PREVNTDFfQU9fQ09ORklHX1JFR19CQVNFICsgMHg0OCkpCisjZGVmaW5lIE1ETDFBT19DT04xOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNT0RFTUwxX0FPX0NPTkZJR19SRUdfQkFTRSArIDB4NEMpKQorI2lmIDAgLyogZGVmaW5lZCBpbiBkcnZwZG4uaCAqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworI2VuZGlmCisjZGVmaW5lIE1ETDFBT19DT04yMTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNT0RFTUwxX0FPX0NPTkZJR19SRUdfQkFTRSArIDB4MzUwKSkKKworCisjZGVmaW5lIE1ETDFBT19DT04wX01ETDFBT19NQVNfQlVTX0lETEVfRElWX01BU0tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNREwxQU9fQ09OMF9NREwxQU9fTUFTX0JVU19JRExFX0RJVl9NQVNLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjBfTURMMUFPX01BU19CVVNfSURMRV9ESVZfTUFTS19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIE1ETDFBT19DT04wX01ETDFBT19NQVNfQlVTX0lETEVfRElWX01BU0tfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIE1ETDFBT19DT04xX0ZFU1lTX0JVUzJYX0NLX1NXX0RJVjJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fQ09OMV9GRVNZU19CVVMyWF9DS19TV19ESVYyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjFfRkVTWVNfQlVTMlhfQ0tfU1dfRElWMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIE1ETDFBT19DT04xX0ZFU1lTX0JVUzJYX0NLX1NXX0RJVjJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIE1ETDFBT19DT04xX0ZFU1lTX0JVUzJYX0NLX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNREwxQU9fQ09OMV9GRVNZU19CVVMyWF9DS19TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjFfRkVTWVNfQlVTMlhfQ0tfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIE1ETDFBT19DT04xX0ZFU1lTX0JVUzJYX0NLX1NFTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIE1ETDFBT19DT04yX0JVUzJYX0RDTV9DT05fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNREwxQU9fQ09OMl9CVVMyWF9EQ01fQ09OX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIE1ETDFBT19DT04yX0JVUzJYX0RDTV9DT05fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIE1ETDFBT19DT040X0lEQ19VQVJUX0RCR19TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNREwxQU9fQ09ONF9JRENfVUFSVF9EQkdfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgTURMMUFPX0NPTjRfSURDX1VBUlRfREJHX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwRkYpCisKKyNkZWZpbmUgTURMMUFPX0NPTjVfR0xCQ09OX0RCR19TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1ETDFBT19DT041X0dMQkNPTl9EQkdfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBNREwxQU9fQ09ONV9HTEJDT05fREJHX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMykKKworI2RlZmluZSBNREwxQU9fQ09ONl9CVVNfUFdSX0FXQVJFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTURMMUFPX0NPTjZfQlVTX1BXUl9BV0FSRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBNREwxQU9fQ09ONl9CVVNfUFdSX0FXQVJFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBNREwxQU9fQ09ON19NQklTVF9PVVRfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTURMMUFPX0NPTjdfTUJJU1RfT1VUX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIE1ETDFBT19DT043X01CSVNUX09VVF9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIE1ETDFBT19DT044X0JTSV9NTV9QMlBfRVJSX0FERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBNREwxQU9fQ09OOF9CU0lfTU1fUDJQX0VSUl9BRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzApCisjZGVmaW5lIE1ETDFBT19DT044X0JTSV9NTV9QMlBfRVJSX0FERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZDKQorCisjZGVmaW5lIE1ETDFBT19DT044X0JTSV9NTV9QMlBfUlhfQ0xPQ0tfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fQ09OOF9CU0lfTU1fUDJQX1JYX0NMT0NLX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjhfQlNJX01NX1AyUF9SWF9DTE9DS19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIE1ETDFBT19DT044X0JTSV9NTV9QMlBfUlhfQ0xPQ0tfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIE1ETDFBT19DT044X0JTSV9NTV9QMlBfRVJSX1RJTUVPVVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNREwxQU9fQ09OOF9CU0lfTU1fUDJQX0VSUl9USU1FT1VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjhfQlNJX01NX1AyUF9FUlJfVElNRU9VVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIE1ETDFBT19DT044X0JTSV9NTV9QMlBfRVJSX1RJTUVPVVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIE1ETDFBT19DT045X0JQSV9NTV9QMlBfRVJSX0FERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBNREwxQU9fQ09OOV9CUElfTU1fUDJQX0VSUl9BRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzApCisjZGVmaW5lIE1ETDFBT19DT045X0JQSV9NTV9QMlBfRVJSX0FERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZDKQorCisjZGVmaW5lIE1ETDFBT19DT045X0JQSV9NTV9QMlBfUlhfQ0xPQ0tfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fQ09OOV9CUElfTU1fUDJQX1JYX0NMT0NLX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjlfQlBJX01NX1AyUF9SWF9DTE9DS19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIE1ETDFBT19DT045X0JQSV9NTV9QMlBfUlhfQ0xPQ0tfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIE1ETDFBT19DT045X0JQSV9NTV9QMlBfRVJSX1RJTUVPVVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNREwxQU9fQ09OOV9CUElfTU1fUDJQX0VSUl9USU1FT1VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjlfQlBJX01NX1AyUF9FUlJfVElNRU9VVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIE1ETDFBT19DT045X0JQSV9NTV9QMlBfRVJSX1RJTUVPVVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIE1ETDFBT19DT04xMF9SQUtFX01PREVNQ1RJX1dBS0VVUF9NQVNLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBNREwxQU9fQ09OMTBfUkFLRV9NT0RFTUNUSV9XQUtFVVBfTUFTS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjEwX1JBS0VfTU9ERU1DVElfV0FLRVVQX01BU0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIE1ETDFBT19DT04xMF9SQUtFX01PREVNQ1RJX1dBS0VVUF9NQVNLX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIE1ETDFBT19DT04xMF9SQUtFX0NTWVNfV0FLRVVQX01BU0tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBNREwxQU9fQ09OMTBfUkFLRV9DU1lTX1dBS0VVUF9NQVNLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjEwX1JBS0VfQ1NZU19XQUtFVVBfTUFTS19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIE1ETDFBT19DT04xMF9SQUtFX0NTWVNfV0FLRVVQX01BU0tfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIE1ETDFBT19DT04xMF9TQ1FfTU9ERU1DVElfV0FLRVVQX01BU0tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fQ09OMTBfU0NRX01PREVNQ1RJX1dBS0VVUF9NQVNLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjEwX1NDUV9NT0RFTUNUSV9XQUtFVVBfTUFTS19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIE1ETDFBT19DT04xMF9TQ1FfTU9ERU1DVElfV0FLRVVQX01BU0tfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIE1ETDFBT19DT04xMF9TQ1FfQ1NZU19XQUtFVVBfTUFTS19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNREwxQU9fQ09OMTBfU0NRX0NTWVNfV0FLRVVQX01BU0tfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjEwX1NDUV9DU1lTX1dBS0VVUF9NQVNLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIE1ETDFBT19DT04xMF9TQ1FfQ1NZU19XQUtFVVBfTUFTS19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIE1ETDFBT19DT04xMV9GRVNZU19CVVMyWF9DS19ERlNfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNREwxQU9fQ09OMTFfRkVTWVNfQlVTMlhfQ0tfREZTX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjExX0ZFU1lTX0JVUzJYX0NLX0RGU19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIE1ETDFBT19DT04xMV9GRVNZU19CVVMyWF9DS19ERlNfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIE1ETDFBT19DT04xMl9HUFNfU1lOQ19NQVNLX0VWRE9fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBNREwxQU9fQ09OMTJfR1BTX1NZTkNfTUFTS19FVkRPX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjEyX0dQU19TWU5DX01BU0tfRVZET19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIE1ETDFBT19DT04xMl9HUFNfU1lOQ19NQVNLX0VWRE9fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIE1ETDFBT19DT04xMl9HUFNfU1lOQ19NQVNLXzFYUlRUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fQ09OMTJfR1BTX1NZTkNfTUFTS18xWFJUVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjEyX0dQU19TWU5DX01BU0tfMVhSVFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIE1ETDFBT19DT04xMl9HUFNfU1lOQ19NQVNLXzFYUlRUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIE1ETDFBT19DT04xMl9HUFNfU1lOQ19NQVNLX0xXVEdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNREwxQU9fQ09OMTJfR1BTX1NZTkNfTUFTS19MV1RHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjEyX0dQU19TWU5DX01BU0tfTFdUR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIE1ETDFBT19DT04xMl9HUFNfU1lOQ19NQVNLX0xXVEdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIE1ETDFBT19DT04xNF9SR19EQkdfTU9EX1NFTDBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNREwxQU9fQ09OMTRfUkdfREJHX01PRF9TRUwwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgTURMMUFPX0NPTjE0X1JHX0RCR19NT0RfU0VMMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUYpCisKKyNkZWZpbmUgTURMMUFPX0NPTjE1X1JHX0RCR19NT0RfU0VMMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1ETDFBT19DT04xNV9SR19EQkdfTU9EX1NFTDFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBNREwxQU9fQ09OMTVfUkdfREJHX01PRF9TRUwxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxRikKKworI2RlZmluZSBNREwxQU9fQ09OMTZfUkdfREJHX01PRF9TRUwyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTURMMUFPX0NPTjE2X1JHX0RCR19NT0RfU0VMMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIE1ETDFBT19DT04xNl9SR19EQkdfTU9EX1NFTDJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIE1ETDFBT19DT04xN19SR19EQkdfTU9EX1NFTDNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNREwxQU9fQ09OMTdfUkdfREJHX01PRF9TRUwzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgTURMMUFPX0NPTjE3X1JHX0RCR19NT0RfU0VMM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUYpCisKKyNkZWZpbmUgTURMMUFPX0NPTjE4X1JHX0RCR19TVUJfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1ETDFBT19DT04xOF9SR19EQkdfU1VCX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBNREwxQU9fQ09OMThfUkdfREJHX1NVQl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBNREwxQU9fQ09OMTlfTURMMUFPX0REUl9DTEtfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTURMMUFPX0NPTjE5X01ETDFBT19ERFJfQ0xLX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIE1ETDFBT19DT04xOV9NREwxQU9fRERSX0NMS19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDNGKQorCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fQ0RPX1RUUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9DRE9fVFRSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fQ0RPX1RUUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDQwMDAwKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0NET19UVFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDA0MDAwMCkKKworI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0MxWF9UVFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTcpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fQzFYX1RUUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0MxWF9UVFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAyMDAwMCkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9DMVhfVFRSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMjAwMDApCisKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9GUkVRTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0ZSRVFNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9GUkVRTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fRlJFUU1fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fRFZGU19DVFJMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9EVkZTX0NUUkxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fRFZGU19DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0RWRlNfQ1RSTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0lEQ19VQVJUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fSURDX1VBUlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0lEQ19VQVJUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9JRENfVUFSVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9CU0lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0JTSV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9CU0lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fQlNJX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fQlBJX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9CUElfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fQlBJX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0JQSV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0lEQ19DVFJMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fSURDX0NUUkxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0lEQ19DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9JRENfQ1RSTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9MVEVfU0xQX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0xURV9TTFBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9MVEVfU0xQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fTFRFX1NMUF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fTFRFX1RNUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0xURV9UTVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9MVEVfVE1SX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fTFRFX1RNUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fRkREX1NMUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0ZERF9TTFBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9GRERfU0xQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fRkREX1NMUF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fRkREX1RNUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0ZERF9UTVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9GRERfVE1SX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fRkREX1RNUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fVEREX1NMUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX1RERF9TTFBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9URERfU0xQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fVEREX1NMUF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fVEREX1RNUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX1RERF9UTVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9URERfVE1SX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fVEREX1RNUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fVERNQV9TTFBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX1RETUFfU0xQX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9URE1BX1NMUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fVERNQV9TTFBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fQzJLMVhfU0xQX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0MySzFYX1NMUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9DMksxWF9TTFBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fQzJLMVhfU0xQX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fQzJLMVhfVE1SX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0MySzFYX1RNUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9DMksxWF9UTVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fQzJLMVhfVE1SX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fQzJLRE9fU0xQX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0MyS0RPX1NMUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9DMktET19TTFBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fQzJLRE9fU0xQX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fQzJLRE9fVE1SX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0MyS0RPX1RNUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9DMktET19UTVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fQzJLRE9fVE1SX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DRE9fRVZFTlRHRU5fU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0NET19FVkVOVEdFTl9TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DRE9fRVZFTlRHRU5fU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQ0RPX0VWRU5UR0VOX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMCkKKworI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQzFYX0VWRU5UR0VOX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DMVhfRVZFTlRHRU5fU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQzFYX0VWRU5UR0VOX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDIwMDAwMCkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0MxWF9FVkVOVEdFTl9TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAyMDAwMDApCisKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0NET19UVFJfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE4KQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQ0RPX1RUUl9TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0NET19UVFJfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwNDAwMDApCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DRE9fVFRSX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDQwMDAwKQorCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DMVhfVFRSX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNykKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0MxWF9UVFJfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DMVhfVFRSX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDIwMDAwKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQzFYX1RUUl9TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAyMDAwMCkKKworI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fRlJFUU1fU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9GUkVRTV9TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fRlJFUU1fU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0ZSRVFNX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0RWRlNfQ1RSTF9TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fRFZGU19DVFJMX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0RWRlNfQ1RSTF9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9EVkZTX0NUUkxfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9JRENfVUFSVF9TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0lEQ19VQVJUX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9JRENfVUFSVF9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fSURDX1VBUlRfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKworI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQlNJX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9CU0lfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQlNJX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0JTSV9TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0JQSV9TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQlBJX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0JQSV9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9CUElfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9JRENfQ1RSTF9TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0lEQ19DVFJMX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9JRENfQ1RSTF9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fSURDX0NUUkxfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKworI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fTFRFX1NMUF9TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9MVEVfU0xQX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fTFRFX1NMUF9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0xURV9TTFBfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0xURV9UTVJfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9MVEVfVE1SX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fTFRFX1RNUl9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0xURV9UTVJfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0ZERF9TTFBfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9GRERfU0xQX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fRkREX1NMUF9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0ZERF9TTFBfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0ZERF9UTVJfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9GRERfVE1SX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fRkREX1RNUl9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0ZERF9UTVJfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX1RERF9TTFBfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9URERfU0xQX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fVEREX1NMUF9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX1RERF9TTFBfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX1RERF9UTVJfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9URERfVE1SX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fVEREX1RNUl9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX1RERF9UTVJfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX1RETUFfU0xQX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9URE1BX1NMUF9TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fVERNQV9TTFBfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX1RETUFfU0xQX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0MySzFYX1NMUF9TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DMksxWF9TTFBfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQzJLMVhfU0xQX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0MySzFYX1NMUF9TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0MySzFYX1RNUl9TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DMksxWF9UTVJfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQzJLMVhfVE1SX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0MySzFYX1RNUl9TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0MyS0RPX1NMUF9TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DMktET19TTFBfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQzJLRE9fU0xQX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0MyS0RPX1NMUF9TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0MyS0RPX1RNUl9TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DMktET19UTVJfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQzJLRE9fVE1SX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0MyS0RPX1RNUl9TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0NET19FVkVOVEdFTl9DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQ0RPX0VWRU5UR0VOX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0NET19FVkVOVEdFTl9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9DRE9fRVZFTlRHRU5fQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9DMVhfRVZFTlRHRU5fQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0MxWF9FVkVOVEdFTl9DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9DMVhfRVZFTlRHRU5fQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMjAwMDAwKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQzFYX0VWRU5UR0VOX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDIwMDAwMCkKKworI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQ0RPX1RUUl9DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTgpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9DRE9fVFRSX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQ0RPX1RUUl9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDA0MDAwMCkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0NET19UVFJfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwNDAwMDApCisKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0MxWF9UVFJfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE3KQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQzFYX1RUUl9DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0MxWF9UVFJfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMjAwMDApCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9DMVhfVFRSX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDIwMDAwKQorCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9GUkVRTV9DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0ZSRVFNX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9GUkVRTV9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fRlJFUU1fQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKworI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fRFZGU19DVFJMX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9EVkZTX0NUUkxfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fRFZGU19DVFJMX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0RWRlNfQ1RSTF9DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0lEQ19VQVJUX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fSURDX1VBUlRfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0lEQ19VQVJUX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9JRENfVUFSVF9DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9CU0lfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0JTSV9DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9CU0lfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQlNJX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKworI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQlBJX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9CUElfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQlBJX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0JQSV9DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0lEQ19DVFJMX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fSURDX0NUUkxfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0lEQ19DVFJMX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9JRENfQ1RSTF9DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9MVEVfU0xQX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0xURV9TTFBfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9MVEVfU0xQX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fTFRFX1NMUF9DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fTFRFX1RNUl9DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0xURV9UTVJfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9MVEVfVE1SX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fTFRFX1RNUl9DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fRkREX1NMUF9DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0ZERF9TTFBfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9GRERfU0xQX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fRkREX1NMUF9DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fRkREX1RNUl9DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0ZERF9UTVJfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9GRERfVE1SX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fRkREX1RNUl9DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fVEREX1NMUF9DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX1RERF9TTFBfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9URERfU0xQX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fVEREX1NMUF9DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fVEREX1RNUl9DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX1RERF9UTVJfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9URERfVE1SX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fVEREX1RNUl9DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fVERNQV9TTFBfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX1RETUFfU0xQX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9URE1BX1NMUF9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fVERNQV9TTFBfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQzJLMVhfU0xQX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0MySzFYX1NMUF9DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9DMksxWF9TTFBfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQzJLMVhfU0xQX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQzJLMVhfVE1SX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0MySzFYX1RNUl9DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9DMksxWF9UTVJfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQzJLMVhfVE1SX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQzJLRE9fU0xQX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0MyS0RPX1NMUF9DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9DMktET19TTFBfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQzJLRE9fU0xQX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQzJLRE9fVE1SX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0MyS0RPX1RNUl9DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9DMktET19UTVJfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQzJLRE9fVE1SX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX0xURV9DQV9ESVNBQkxFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9MVEVfQ0FfRElTQUJMRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMTJfRUZVU0VfTFRFX0NBX0RJU0FCTEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX0xURV9DQV9ESVNBQkxFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX0MyS19ESVNBQkxFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9DMktfRElTQUJMRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMTJfRUZVU0VfQzJLX0RJU0FCTEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX0MyS19ESVNBQkxFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX0xURV9GRERfRElTQUJMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9MVEVfRkREX0RJU0FCTEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMTJfRUZVU0VfTFRFX0ZERF9ESVNBQkxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX0xURV9GRERfRElTQUJMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX0xURV9URERfRElTQUJMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9MVEVfVEREX0RJU0FCTEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMTJfRUZVU0VfTFRFX1RERF9ESVNBQkxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX0xURV9URERfRElTQUJMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX01EMV9ESVNBQkxFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9NRDFfRElTQUJMRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMTJfRUZVU0VfTUQxX0RJU0FCTEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX01EMV9ESVNBQkxFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX0pUQUdfRElTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9KVEFHX0RJU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMTJfRUZVU0VfSlRBR19ESVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX0pUQUdfRElTX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX01EMkdfTE9DS18yR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9NRDJHX0xPQ0tfMkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMTJfRUZVU0VfTUQyR19MT0NLXzJHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX01EMkdfTE9DS18yR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX01EMkdfUFJPVEVDVF9CX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9NRDJHX1BST1RFQ1RfQl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMTJfRUZVU0VfTUQyR19QUk9URUNUX0JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX01EMkdfUFJPVEVDVF9CX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX1NXX0pUQUdfQ09OX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9TV19KVEFHX0NPTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMTJfRUZVU0VfU1dfSlRBR19DT05fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX1NXX0pUQUdfQ09OX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX1ZBTElEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9WQUxJRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMTJfRUZVU0VfVkFMSURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX1ZBTElEX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNlbmRpZiAvLyNpZm5kZWYgX0NQSF9DMktfTDFfQTBDRkdfSF8KZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhjMmtsMWFvY2ZnXzk3LmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoYzJrbDFhb2NmZ185Ny5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjY2M1YzEKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoYzJrbDFhb2NmZ185Ny5oCkBAIC0wLDAgKzEsNTc3IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfQ1BIX0MyS19MMV9BMENGR19IXworI2RlZmluZSBfQ1BIX0MyS19MMV9BMENGR19IXworI2luY2x1ZGUgICJkcnZwZG4uaCIKKwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogU1JBTUFERFI7ICAgICAgICAgLyogU1JBTSBhZGRyIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBTUkFNREFUQTsgICAgICAgICAvKiBTUkFNIGRhdGEgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIEFQQkFERFI7ICAgICAgICAgIC8qIEFQQiBhZGRyIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgQVBCREFUQTsgICAgICAgICAgLyogQVBCIGRhdGEgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqICBBUEJBRERSMzI7ICAgICAgICAvKiBBUEIgYWRkciBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAgIEFQQkRBVEEzMjsgICAgICAgIC8qIEFQQiBkYXRhIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogRFBSQU1BRERSOyAgICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHNpZ25lZCAgIHNob3J0KiBEUFJBTUFERFJfUzsgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIERQUkFNREFUQTsgICAgICAgIC8qIERQUkFNIGRhdGEgaXMgMTYgYml0cyAqLworCisjaWYgZGVmaW5lZChfX01EOTdfXykgfHwgZGVmaW5lZChfX01EOTdQX18pIAorI2RlZmluZSBNT0RFTUwxX0FPX0NPTkZJR19SRUdfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhBODAyMDAwMCkvKjk3Ki8KKyNlbHNlCisjZGVmaW5lIE1PREVNTDFfQU9fQ09ORklHX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEE2MDIwMDAwKS8qOTMgOTUqLworI2VuZGlmCisjZGVmaW5lIE1PREVNTDFfQU9fQ09ORklHX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChNT0RFTUwxX0FPX0NPTkZJR19SRUdfQkFTRSArIDB4MzUwICsgMSo0KQorCisKKyNkZWZpbmUgTURMMUFPX0NPTjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1PREVNTDFfQU9fQ09ORklHX1JFR19CQVNFICsgMHgwMCkpCisjZGVmaW5lIE1ETDFBT19DT04xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNT0RFTUwxX0FPX0NPTkZJR19SRUdfQkFTRSArIDB4MDQpKQorI2RlZmluZSBNREwxQU9fQ09OMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTU9ERU1MMV9BT19DT05GSUdfUkVHX0JBU0UgKyAweDA4KSkKKyNkZWZpbmUgTURMMUFPX0NPTjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1PREVNTDFfQU9fQ09ORklHX1JFR19CQVNFICsgMHgxMCkpCisjZGVmaW5lIE1ETDFBT19DT041ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNT0RFTUwxX0FPX0NPTkZJR19SRUdfQkFTRSArIDB4MTQpKQorI2RlZmluZSBNREwxQU9fQ09ONiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTU9ERU1MMV9BT19DT05GSUdfUkVHX0JBU0UgKyAweDE4KSkKKyNkZWZpbmUgTURMMUFPX0NPTjcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1PREVNTDFfQU9fQ09ORklHX1JFR19CQVNFICsgMHgxYykpCisjZGVmaW5lIE1ETDFBT19DT044ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNT0RFTUwxX0FPX0NPTkZJR19SRUdfQkFTRSArIDB4MjApKQorI2RlZmluZSBNREwxQU9fQ09OOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTU9ERU1MMV9BT19DT05GSUdfUkVHX0JBU0UgKyAweDI0KSkKKyNkZWZpbmUgTURMMUFPX0NPTjEwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1PREVNTDFfQU9fQ09ORklHX1JFR19CQVNFICsgMHgyOCkpCisjZGVmaW5lIE1ETDFBT19DT04xMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNT0RFTUwxX0FPX0NPTkZJR19SRUdfQkFTRSArIDB4MmMpKQorI2RlZmluZSBNREwxQU9fQ09OMTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTU9ERU1MMV9BT19DT05GSUdfUkVHX0JBU0UgKyAweDMwKSkKKyNkZWZpbmUgTURMMUFPX0NPTjE0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1PREVNTDFfQU9fQ09ORklHX1JFR19CQVNFICsgMHgzOCkpCisjZGVmaW5lIE1ETDFBT19DT04xNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNT0RFTUwxX0FPX0NPTkZJR19SRUdfQkFTRSArIDB4M0MpKQorI2RlZmluZSBNREwxQU9fQ09OMTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTU9ERU1MMV9BT19DT05GSUdfUkVHX0JBU0UgKyAweDQwKSkKKyNkZWZpbmUgTURMMUFPX0NPTjE3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1PREVNTDFfQU9fQ09ORklHX1JFR19CQVNFICsgMHg0NCkpCisjZGVmaW5lIE1ETDFBT19DT04xOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNT0RFTUwxX0FPX0NPTkZJR19SRUdfQkFTRSArIDB4NDgpKQorI2RlZmluZSBNREwxQU9fQ09OMTkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTU9ERU1MMV9BT19DT05GSUdfUkVHX0JBU0UgKyAweDRDKSkKKyNpZiAwIC8qIGRlZmluZWQgaW4gZHJ2cGRuLmggKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKyNlbmRpZgorI2RlZmluZSBNREwxQU9fQ09OMjEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTU9ERU1MMV9BT19DT05GSUdfUkVHX0JBU0UgKyAweDM1MCkpCisjaWYgZGVmaW5lZChfX01EOTdfXykgfHwgZGVmaW5lZChfX01EOTdQX18pIAorI2RlZmluZSBNREwxQU9fQ09OMTMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTU9ERU1MMV9BT19DT05GSUdfUkVHX0JBU0UgKyAweDVjKSkKKyNkZWZpbmUgTURMMUFPX0NPTjIxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1PREVNTDFfQU9fQ09ORklHX1JFR19CQVNFICsgMHg2MCkpCisjZGVmaW5lIE1ETDFBT19DT04yMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNT0RFTUwxX0FPX0NPTkZJR19SRUdfQkFTRSArIDB4NjQpKQorI2RlZmluZSBNREwxQU9fQ09OMjMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTU9ERU1MMV9BT19DT05GSUdfUkVHX0JBU0UgKyAweDY4KSkKKyNkZWZpbmUgTURMMUFPX0NPTjI0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1PREVNTDFfQU9fQ09ORklHX1JFR19CQVNFICsgMHg2YykpCisKKyNkZWZpbmUgTURMMUFPX0RWRlNfREJHX1NFTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1PREVNTDFfQU9fQ09ORklHX1JFR19CQVNFICsgMHg3MCkpCisjZGVmaW5lIE1ETDFBT19EVkZTX0RCR19FTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNT0RFTUwxX0FPX0NPTkZJR19SRUdfQkFTRSArIDB4NzQpKQorI2RlZmluZSBNREwxQU9fRElHUkZfUDJQX0NPTl8wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTU9ERU1MMV9BT19DT05GSUdfUkVHX0JBU0UgKyAweDc4KSkKKyNkZWZpbmUgTURMMUFPX0RJR1JGX1AyUF9DT05fMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1PREVNTDFfQU9fQ09ORklHX1JFR19CQVNFICsgMHg3QykpCisjZGVmaW5lIE1ETDFBT19CV19MTVRfQ09OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNT0RFTUwxX0FPX0NPTkZJR19SRUdfQkFTRSArIDB4ODApKQorI2VuZGlmCisKKworI2RlZmluZSBNREwxQU9fQ09OMF9NREwxQU9fTUFTX0JVU19JRExFX0RJVl9NQVNLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTURMMUFPX0NPTjBfTURMMUFPX01BU19CVVNfSURMRV9ESVZfTUFTS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04wX01ETDFBT19NQVNfQlVTX0lETEVfRElWX01BU0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBNREwxQU9fQ09OMF9NREwxQU9fTUFTX0JVU19JRExFX0RJVl9NQVNLX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBNREwxQU9fQ09OMV9GRVNZU19CVVMyWF9DS19TV19ESVYyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjFfRkVTWVNfQlVTMlhfQ0tfU1dfRElWMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04xX0ZFU1lTX0JVUzJYX0NLX1NXX0RJVjJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBNREwxQU9fQ09OMV9GRVNZU19CVVMyWF9DS19TV19ESVYyX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBNREwxQU9fQ09OMV9GRVNZU19CVVMyWF9DS19TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTURMMUFPX0NPTjFfRkVTWVNfQlVTMlhfQ0tfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04xX0ZFU1lTX0JVUzJYX0NLX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBNREwxQU9fQ09OMV9GRVNZU19CVVMyWF9DS19TRUxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBNREwxQU9fQ09OMl9CVVMyWF9EQ01fQ09OX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTURMMUFPX0NPTjJfQlVTMlhfRENNX0NPTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBNREwxQU9fQ09OMl9CVVMyWF9EQ01fQ09OX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBNREwxQU9fQ09ONF9JRENfVUFSVF9EQkdfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTURMMUFPX0NPTjRfSURDX1VBUlRfREJHX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIE1ETDFBT19DT040X0lEQ19VQVJUX0RCR19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEZGKQorCisjZGVmaW5lIE1ETDFBT19DT041X0dMQkNPTl9EQkdfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNREwxQU9fQ09ONV9HTEJDT05fREJHX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgTURMMUFPX0NPTjVfR0xCQ09OX0RCR19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDMpCisKKyNkZWZpbmUgTURMMUFPX0NPTjZfQlVTX1BXUl9BV0FSRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1ETDFBT19DT042X0JVU19QV1JfQVdBUkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgTURMMUFPX0NPTjZfQlVTX1BXUl9BV0FSRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgTURMMUFPX0NPTjdfTUJJU1RfT1VUX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1ETDFBT19DT043X01CSVNUX09VVF9TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBNREwxQU9fQ09ON19NQklTVF9PVVRfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBNREwxQU9fQ09OOF9CU0lfTU1fUDJQX0VSUl9BRERSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgTURMMUFPX0NPTjhfQlNJX01NX1AyUF9FUlJfQUREUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMwKQorI2RlZmluZSBNREwxQU9fQ09OOF9CU0lfTU1fUDJQX0VSUl9BRERSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGQykKKworI2RlZmluZSBNREwxQU9fQ09OOF9CU0lfTU1fUDJQX1JYX0NMT0NLX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjhfQlNJX01NX1AyUF9SWF9DTE9DS19FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT044X0JTSV9NTV9QMlBfUlhfQ0xPQ0tfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBNREwxQU9fQ09OOF9CU0lfTU1fUDJQX1JYX0NMT0NLX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBNREwxQU9fQ09OOF9CU0lfTU1fUDJQX0VSUl9USU1FT1VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTURMMUFPX0NPTjhfQlNJX01NX1AyUF9FUlJfVElNRU9VVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT044X0JTSV9NTV9QMlBfRVJSX1RJTUVPVVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBNREwxQU9fQ09OOF9CU0lfTU1fUDJQX0VSUl9USU1FT1VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBNREwxQU9fQ09OOV9CUElfTU1fUDJQX0VSUl9BRERSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgTURMMUFPX0NPTjlfQlBJX01NX1AyUF9FUlJfQUREUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMwKQorI2RlZmluZSBNREwxQU9fQ09OOV9CUElfTU1fUDJQX0VSUl9BRERSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGQykKKworI2RlZmluZSBNREwxQU9fQ09OOV9CUElfTU1fUDJQX1JYX0NMT0NLX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjlfQlBJX01NX1AyUF9SWF9DTE9DS19FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT045X0JQSV9NTV9QMlBfUlhfQ0xPQ0tfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBNREwxQU9fQ09OOV9CUElfTU1fUDJQX1JYX0NMT0NLX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBNREwxQU9fQ09OOV9CUElfTU1fUDJQX0VSUl9USU1FT1VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTURMMUFPX0NPTjlfQlBJX01NX1AyUF9FUlJfVElNRU9VVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT045X0JQSV9NTV9QMlBfRVJSX1RJTUVPVVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBNREwxQU9fQ09OOV9CUElfTU1fUDJQX0VSUl9USU1FT1VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBNREwxQU9fQ09OMTBfUkFLRV9NT0RFTUNUSV9XQUtFVVBfTUFTS19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgTURMMUFPX0NPTjEwX1JBS0VfTU9ERU1DVElfV0FLRVVQX01BU0tfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04xMF9SQUtFX01PREVNQ1RJX1dBS0VVUF9NQVNLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBNREwxQU9fQ09OMTBfUkFLRV9NT0RFTUNUSV9XQUtFVVBfTUFTS19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBNREwxQU9fQ09OMTBfUkFLRV9DU1lTX1dBS0VVUF9NQVNLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgTURMMUFPX0NPTjEwX1JBS0VfQ1NZU19XQUtFVVBfTUFTS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04xMF9SQUtFX0NTWVNfV0FLRVVQX01BU0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBNREwxQU9fQ09OMTBfUkFLRV9DU1lTX1dBS0VVUF9NQVNLX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBNREwxQU9fQ09OMTBfU0NRX01PREVNQ1RJX1dBS0VVUF9NQVNLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjEwX1NDUV9NT0RFTUNUSV9XQUtFVVBfTUFTS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04xMF9TQ1FfTU9ERU1DVElfV0FLRVVQX01BU0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBNREwxQU9fQ09OMTBfU0NRX01PREVNQ1RJX1dBS0VVUF9NQVNLX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBNREwxQU9fQ09OMTBfU0NRX0NTWVNfV0FLRVVQX01BU0tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTURMMUFPX0NPTjEwX1NDUV9DU1lTX1dBS0VVUF9NQVNLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04xMF9TQ1FfQ1NZU19XQUtFVVBfTUFTS19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBNREwxQU9fQ09OMTBfU0NRX0NTWVNfV0FLRVVQX01BU0tfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBNREwxQU9fQ09OMTFfRkVTWVNfQlVTMlhfQ0tfREZTX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTURMMUFPX0NPTjExX0ZFU1lTX0JVUzJYX0NLX0RGU19FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04xMV9GRVNZU19CVVMyWF9DS19ERlNfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBNREwxQU9fQ09OMTFfRkVTWVNfQlVTMlhfQ0tfREZTX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBNREwxQU9fQ09OMTJfR1BTX1NZTkNfTUFTS19FVkRPX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgTURMMUFPX0NPTjEyX0dQU19TWU5DX01BU0tfRVZET19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04xMl9HUFNfU1lOQ19NQVNLX0VWRE9fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBNREwxQU9fQ09OMTJfR1BTX1NZTkNfTUFTS19FVkRPX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBNREwxQU9fQ09OMTJfR1BTX1NZTkNfTUFTS18xWFJUVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjEyX0dQU19TWU5DX01BU0tfMVhSVFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04xMl9HUFNfU1lOQ19NQVNLXzFYUlRUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBNREwxQU9fQ09OMTJfR1BTX1NZTkNfTUFTS18xWFJUVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBNREwxQU9fQ09OMTJfR1BTX1NZTkNfTUFTS19MV1RHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTURMMUFPX0NPTjEyX0dQU19TWU5DX01BU0tfTFdUR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04xMl9HUFNfU1lOQ19NQVNLX0xXVEdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBNREwxQU9fQ09OMTJfR1BTX1NZTkNfTUFTS19MV1RHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBNREwxQU9fQ09OMTRfUkdfREJHX01PRF9TRUwwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTURMMUFPX0NPTjE0X1JHX0RCR19NT0RfU0VMMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIE1ETDFBT19DT04xNF9SR19EQkdfTU9EX1NFTDBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIE1ETDFBT19DT04xNV9SR19EQkdfTU9EX1NFTDFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNREwxQU9fQ09OMTVfUkdfREJHX01PRF9TRUwxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgTURMMUFPX0NPTjE1X1JHX0RCR19NT0RfU0VMMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUYpCisKKyNkZWZpbmUgTURMMUFPX0NPTjE2X1JHX0RCR19NT0RfU0VMMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1ETDFBT19DT04xNl9SR19EQkdfTU9EX1NFTDJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBNREwxQU9fQ09OMTZfUkdfREJHX01PRF9TRUwyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxRikKKworI2RlZmluZSBNREwxQU9fQ09OMTdfUkdfREJHX01PRF9TRUwzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTURMMUFPX0NPTjE3X1JHX0RCR19NT0RfU0VMM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIE1ETDFBT19DT04xN19SR19EQkdfTU9EX1NFTDNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIE1ETDFBT19DT04xOF9SR19EQkdfU1VCX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNREwxQU9fQ09OMThfUkdfREJHX1NVQl9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgTURMMUFPX0NPTjE4X1JHX0RCR19TVUJfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgTURMMUFPX0NPTjE5X01ETDFBT19ERFJfQ0xLX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1ETDFBT19DT04xOV9NREwxQU9fRERSX0NMS19FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBNREwxQU9fQ09OMTlfTURMMUFPX0REUl9DTEtfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKworI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0NET19UVFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTgpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fQ0RPX1RUUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0NET19UVFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDA0MDAwMCkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9DRE9fVFRSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwNDAwMDApCisKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9DMVhfVFRSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE3KQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0MxWF9UVFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9DMVhfVFRSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMjAwMDApCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fQzFYX1RUUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDIwMDAwKQorCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fRlJFUU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9GUkVRTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fRlJFUU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0ZSRVFNX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKworI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0RWRlNfQ1RSTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fRFZGU19DVFJMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0RWRlNfQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9EVkZTX0NUUkxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9JRENfVUFSVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0lEQ19VQVJUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9JRENfVUFSVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fSURDX1VBUlRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fQlNJX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9CU0lfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fQlNJX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0JTSV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKworI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0JQSV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fQlBJX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0JQSV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9CUElfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9JRENfQ1RSTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0lEQ19DVFJMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9JRENfQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fSURDX0NUUkxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fTFRFX1NMUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9MVEVfU0xQX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fTFRFX1NMUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0xURV9TTFBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0xURV9UTVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9MVEVfVE1SX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fTFRFX1RNUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0xURV9UTVJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0ZERF9TTFBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9GRERfU0xQX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fRkREX1NMUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0ZERF9TTFBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0ZERF9UTVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9GRERfVE1SX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fRkREX1RNUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0ZERF9UTVJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX1RERF9TTFBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9URERfU0xQX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fVEREX1NMUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX1RERF9TTFBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX1RERF9UTVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9URERfVE1SX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fVEREX1RNUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX1RERF9UTVJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX1RETUFfU0xQX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9URE1BX1NMUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fVERNQV9TTFBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX1RETUFfU0xQX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0MySzFYX1NMUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9DMksxWF9TTFBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fQzJLMVhfU0xQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0MySzFYX1NMUF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0MySzFYX1RNUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9DMksxWF9UTVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fQzJLMVhfVE1SX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0MySzFYX1RNUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0MyS0RPX1NMUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9DMktET19TTFBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fQzJLRE9fU0xQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0MyS0RPX1NMUF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0MyS0RPX1RNUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTURMMUFPX0NPTjIwX1BETl9DMktET19UTVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMF9QRE5fQzJLRE9fVE1SX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBNREwxQU9fQ09OMjBfUEROX0MyS0RPX1RNUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQ0RPX0VWRU5UR0VOX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DRE9fRVZFTlRHRU5fU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQ0RPX0VWRU5UR0VOX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMCkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0NET19FVkVOVEdFTl9TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0MxWF9FVkVOVEdFTl9TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIxKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQzFYX0VWRU5UR0VOX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0MxWF9FVkVOVEdFTl9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAyMDAwMDApCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DMVhfRVZFTlRHRU5fU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMjAwMDAwKQorCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DRE9fVFRSX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0NET19UVFJfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DRE9fVFRSX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDQwMDAwKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQ0RPX1RUUl9TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDA0MDAwMCkKKworI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQzFYX1RUUl9TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTcpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DMVhfVFRSX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQzFYX1RUUl9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAyMDAwMCkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0MxWF9UVFJfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMjAwMDApCisKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0ZSRVFNX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fRlJFUU1fU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0ZSRVFNX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9GUkVRTV9TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9EVkZTX0NUUkxfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0RWRlNfQ1RSTF9TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9EVkZTX0NUUkxfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fRFZGU19DVFJMX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fSURDX1VBUlRfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9JRENfVUFSVF9TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fSURDX1VBUlRfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0lEQ19VQVJUX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0JTSV9TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQlNJX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0JTSV9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9CU0lfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9CUElfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0JQSV9TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9CUElfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQlBJX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fSURDX0NUUkxfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9JRENfQ1RSTF9TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fSURDX0NUUkxfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0lEQ19DVFJMX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0xURV9TTFBfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fTFRFX1NMUF9TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0xURV9TTFBfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9MVEVfU0xQX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9MVEVfVE1SX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fTFRFX1RNUl9TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0xURV9UTVJfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9MVEVfVE1SX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9GRERfU0xQX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fRkREX1NMUF9TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0ZERF9TTFBfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9GRERfU0xQX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9GRERfVE1SX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fRkREX1RNUl9TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0ZERF9UTVJfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9GRERfVE1SX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9URERfU0xQX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fVEREX1NMUF9TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX1RERF9TTFBfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9URERfU0xQX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9URERfVE1SX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fVEREX1RNUl9TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX1RERF9UTVJfU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9URERfVE1SX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9URE1BX1NMUF9TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fVERNQV9TTFBfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX1RETUFfU0xQX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9URE1BX1NMUF9TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DMksxWF9TTFBfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQzJLMVhfU0xQX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0MySzFYX1NMUF9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DMksxWF9TTFBfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DMksxWF9UTVJfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQzJLMVhfVE1SX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0MySzFYX1RNUl9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DMksxWF9UTVJfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DMktET19TTFBfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQzJLRE9fU0xQX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0MyS0RPX1NMUF9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DMktET19TTFBfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DMktET19UTVJfU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNREwxQU9fUEROX1NFVF9QRE5fQzJLRE9fVE1SX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9TRVRfUEROX0MyS0RPX1RNUl9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIE1ETDFBT19QRE5fU0VUX1BETl9DMktET19UTVJfU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9DRE9fRVZFTlRHRU5fQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0NET19FVkVOVEdFTl9DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9DRE9fRVZFTlRHRU5fQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQ0RPX0VWRU5UR0VOX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMCkKKworI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQzFYX0VWRU5UR0VOX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9DMVhfRVZFTlRHRU5fQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQzFYX0VWRU5UR0VOX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDIwMDAwMCkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0MxWF9FVkVOVEdFTl9DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAyMDAwMDApCisKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0NET19UVFJfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE4KQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQ0RPX1RUUl9DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0NET19UVFJfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwNDAwMDApCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9DRE9fVFRSX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDQwMDAwKQorCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9DMVhfVFRSX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNykKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0MxWF9UVFJfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9DMVhfVFRSX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDIwMDAwKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQzFYX1RUUl9DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAyMDAwMCkKKworI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fRlJFUU1fQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9GUkVRTV9DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fRlJFUU1fQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0ZSRVFNX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0RWRlNfQ1RSTF9DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fRFZGU19DVFJMX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0RWRlNfQ1RSTF9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9EVkZTX0NUUkxfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9JRENfVUFSVF9DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0lEQ19VQVJUX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9JRENfVUFSVF9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fSURDX1VBUlRfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKworI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQlNJX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9CU0lfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQlNJX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0JTSV9DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0JQSV9DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQlBJX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0JQSV9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9CUElfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9JRENfQ1RSTF9DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0lEQ19DVFJMX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9JRENfQ1RSTF9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fSURDX0NUUkxfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKworI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fTFRFX1NMUF9DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9MVEVfU0xQX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fTFRFX1NMUF9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0xURV9TTFBfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0xURV9UTVJfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9MVEVfVE1SX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fTFRFX1RNUl9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0xURV9UTVJfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0ZERF9TTFBfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9GRERfU0xQX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fRkREX1NMUF9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0ZERF9TTFBfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0ZERF9UTVJfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9GRERfVE1SX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fRkREX1RNUl9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0ZERF9UTVJfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX1RERF9TTFBfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9URERfU0xQX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fVEREX1NMUF9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX1RERF9TTFBfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX1RERF9UTVJfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9URERfVE1SX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fVEREX1RNUl9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX1RERF9UTVJfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX1RETUFfU0xQX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9URE1BX1NMUF9DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fVERNQV9TTFBfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX1RETUFfU0xQX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0MySzFYX1NMUF9DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9DMksxWF9TTFBfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQzJLMVhfU0xQX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0MySzFYX1NMUF9DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0MySzFYX1RNUl9DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9DMksxWF9UTVJfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQzJLMVhfVE1SX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0MySzFYX1RNUl9DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0MyS0RPX1NMUF9DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9DMktET19TTFBfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQzJLRE9fU0xQX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0MyS0RPX1NMUF9DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0MyS0RPX1RNUl9DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1ETDFBT19QRE5fQ0xSX1BETl9DMktET19UTVJfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fUEROX0NMUl9QRE5fQzJLRE9fVE1SX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgTURMMUFPX1BETl9DTFJfUEROX0MyS0RPX1RNUl9DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9MVEVfQ0FfRElTQUJMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIE1ETDFBT19DT04yMTJfRUZVU0VfTFRFX0NBX0RJU0FCTEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX0xURV9DQV9ESVNBQkxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9MVEVfQ0FfRElTQUJMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9DMktfRElTQUJMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIE1ETDFBT19DT04yMTJfRUZVU0VfQzJLX0RJU0FCTEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX0MyS19ESVNBQkxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9DMktfRElTQUJMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9MVEVfRkREX0RJU0FCTEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIE1ETDFBT19DT04yMTJfRUZVU0VfTFRFX0ZERF9ESVNBQkxFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX0xURV9GRERfRElTQUJMRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9MVEVfRkREX0RJU0FCTEVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9MVEVfVEREX0RJU0FCTEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIE1ETDFBT19DT04yMTJfRUZVU0VfTFRFX1RERF9ESVNBQkxFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX0xURV9URERfRElTQUJMRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9MVEVfVEREX0RJU0FCTEVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9NRDFfRElTQUJMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIE1ETDFBT19DT04yMTJfRUZVU0VfTUQxX0RJU0FCTEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX01EMV9ESVNBQkxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9NRDFfRElTQUJMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9KVEFHX0RJU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIE1ETDFBT19DT04yMTJfRUZVU0VfSlRBR19ESVNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX0pUQUdfRElTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9KVEFHX0RJU19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9NRDJHX0xPQ0tfMkdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIE1ETDFBT19DT04yMTJfRUZVU0VfTUQyR19MT0NLXzJHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX01EMkdfTE9DS18yR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9NRDJHX0xPQ0tfMkdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9NRDJHX1BST1RFQ1RfQl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIE1ETDFBT19DT04yMTJfRUZVU0VfTUQyR19QUk9URUNUX0JfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX01EMkdfUFJPVEVDVF9CX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9NRDJHX1BST1RFQ1RfQl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9TV19KVEFHX0NPTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1ETDFBT19DT04yMTJfRUZVU0VfU1dfSlRBR19DT05fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX1NXX0pUQUdfQ09OX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9TV19KVEFHX0NPTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9WQUxJRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1ETDFBT19DT04yMTJfRUZVU0VfVkFMSURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNREwxQU9fQ09OMjEyX0VGVVNFX1ZBTElEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgTURMMUFPX0NPTjIxMl9FRlVTRV9WQUxJRF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZW5kaWYgLy8jaWZuZGVmIF9DUEhfQzJLX0wxX0EwQ0ZHX0hfCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoYzJrcnhicnBkdml0LmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoYzJrcnhicnBkdml0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGI5NTFlMgotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhjMmtyeGJycGR2aXQuaApAQCAtMCwwICsxLDQzIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmIGRlZmluZWQoX19NRDkzX18pCisjaW5jbHVkZSAgImNwaGMya3J4YnJwZHZpdF85My5oIgorI2VsaWYgZGVmaW5lZChfX01EOTVfXykKKyNpbmNsdWRlICAiY3BoYzJrcnhicnBkdml0XzkzLmgiCisjZWxpZiBkZWZpbmVkKF9fTUQ5N19fKQorI2luY2x1ZGUgICJjcGhjMmtyeGJycGR2aXRfOTcuaCIKKyNlbHNlCisjZXJyb3IgIltFUlJPUl0gSW52YWxpZCBNRCBnZW5lcmF0aW9uIgorI2VuZGlmCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoYzJrcnhicnBkdml0XzkzLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoYzJrcnhicnBkdml0XzkzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2FmZTVhNQotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhjMmtyeGJycGR2aXRfOTMuaApAQCAtMCwwICsxLDE4NjIgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhfQzJLX1JYX0JSUF9EVklUX0hfCisjZGVmaW5lIF9DUEhfQzJLX1JYX0JSUF9EVklUX0hfCisKKwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogU1JBTUFERFI7ICAgICAgICAgLyogU1JBTSBhZGRyIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBTUkFNREFUQTsgICAgICAgICAvKiBTUkFNIGRhdGEgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIEFQQkFERFI7ICAgICAgICAgIC8qIEFQQiBhZGRyIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgQVBCREFUQTsgICAgICAgICAgLyogQVBCIGRhdGEgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqICBBUEJBRERSMzI7ICAgICAgICAvKiBBUEIgYWRkciBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAgIEFQQkRBVEEzMjsgICAgICAgIC8qIEFQQiBkYXRhIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogRFBSQU1BRERSOyAgICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHNpZ25lZCAgIHNob3J0KiBEUFJBTUFERFJfUzsgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIERQUkFNREFUQTsgICAgICAgIC8qIERQUkFNIGRhdGEgaXMgMTYgYml0cyAqLworCisKKyNkZWZpbmUgUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QUQwNzAwMDApCisKKyNkZWZpbmUgUlhCUlBfV0NUX0RWSVRfZW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFJYQlJQX1dDVF9EVklUX1JFR19CQVNFICsgMHg0MDM4ICsgMSo0KQorCisKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDAwMDApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfU1RBUlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDAwMDQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfRE9ORSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDAwMDgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDAwMGMpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfRE9ORV9WRUMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDAwMTApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQ0hFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDAwMTgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQkNIX0RNQUNGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDAxMDApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQkNIX0RTVF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDAxMDQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQkNIX1NGTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDAxMDgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQkNIX1NWQUxVRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDAxMGMpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQkNIX0VORVJHWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDAxMTApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQkNIX0xTVF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDAxMTQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfVFRJX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEwMDApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEwMDQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfVHJCSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEwMDgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfQ29CSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEwMGMpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfRFNUX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEwMTApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfRE1BX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEwMTQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfVEJDUkNfU1RBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEwMTgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfQ0IwU1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEwMWMpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfQ0IxU1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEwMjApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfQ0IyU1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEwMjQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfQ0IzU1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEwMjgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfQ0I0U1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEwMkMpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfRU5FUkdZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEwMzApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfTFNUX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEwMzQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfVFRJX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDExMDApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDExMDQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfVHJCSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDExMDgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfQ29CSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDExMGMpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfRFNUX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDExMTApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfRE1BX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDExMTQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfVEJDUkNfU1RBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDExMTgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfQ0IwU1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDExMWMpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfQ0IxU1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDExMjApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfQ0IyU1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDExMjQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfQ0IzU1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDExMjgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfQ0I0U1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDExMkMpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfRU5FUkdZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDExMzApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfTFNUX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDExMzQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfVFRJX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEyMDApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEyMDQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfVHJCSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEyMDgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfQ29CSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEyMGMpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfRFNUX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEyMTApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfRE1BX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEyMTQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfVEJDUkNfU1RBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEyMTgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfQ0IwU1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEyMWMpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfQ0IxU1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEyMjApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfQ0IyU1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEyMjQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfQ0IzU1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEyMjgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfQ0I0U1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEyMkMpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfRU5FUkdZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEyMzApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfTFNUX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEyMzQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfVFRJX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEzMDApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEzMDQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfVHJCSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEzMDgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfQ29CSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEzMGMpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfRFNUX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEzMTApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfRE1BX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEzMTQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfVEJDUkNfU1RBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEzMTgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfQ0IwU1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEzMWMpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfQ0IxU1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEzMjApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfQ0IyU1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEzMjQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfQ0IzU1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEzMjgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfQ0I0U1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEzMkMpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfRU5FUkdZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEzMzApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfTFNUX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDEzMzQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfVFRJX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE0MDApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE0MDQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfVHJCSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE0MDgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfQ29CSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE0MGMpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfRFNUX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE0MTApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfRE1BX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE0MTQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfVEJDUkNfU1RBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE0MTgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfQ0IwU1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE0MWMpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfQ0IxU1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE0MjApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfQ0IyU1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE0MjQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfQ0IzU1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE0MjgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfQ0I0U1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE0MkMpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfRU5FUkdZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE0MzApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfTFNUX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE0MzQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfVFRJX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE1MDApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE1MDQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfVHJCSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE1MDgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfQ29CSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE1MGMpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfRFNUX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE1MTApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfRE1BX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE1MTQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfVEJDUkNfU1RBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE1MTgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfQ0IwU1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE1MWMpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfQ0IxU1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE1MjApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfQ0IyU1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE1MjQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfQ0IzU1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE1MjgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfQ0I0U1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE1MkMpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfRU5FUkdZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE1MzApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfTFNUX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE1MzQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfVFRJX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE2MDApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE2MDQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfVHJCSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE2MDgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfQ29CSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE2MGMpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfRFNUX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE2MTApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfRE1BX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE2MTQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfVEJDUkNfU1RBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE2MTgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfQ0IwU1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE2MWMpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfQ0IxU1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE2MjApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfQ0IyU1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE2MjQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfQ0IzU1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE2MjgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfQ0I0U1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE2MkMpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfRU5FUkdZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE2MzApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfTFNUX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE2MzQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfVFRJX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE3MDApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE3MDQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfVHJCSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE3MDgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfQ29CSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE3MGMpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfRFNUX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE3MTApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfRE1BX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE3MTQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfVEJDUkNfU1RBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE3MTgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfQ0IwU1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE3MWMpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfQ0IxU1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE3MjApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfQ0IyU1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE3MjQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfQ0IzU1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE3MjgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfQ0I0U1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE3MkMpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfRU5FUkdZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE3MzApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfTFNUX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDE3MzQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjBfU1RPUF9QT0lOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDIwMDApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjBfQ1JDX1BPSU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDIwMDQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjBfRU5FUkdZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDIwMDgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDFfUEFSQU0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDIwMTApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDFfUkVTVUxUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDIwMTQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDJfUEFSQU0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDIwMjApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDJfUkVTVUxUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDIwMjQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDNfUEFSQU0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDIwMzApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDNfUkVTVUxUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDIwMzQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDIwODApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjFfU1RPUF9QT0lOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDIxMDApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjFfQ1JDX1BPSU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDIxMDQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjFfRU5FUkdZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDIxMDgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjJfU1RPUF9QT0lOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDIyMDApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjJfQ1JDX1BPSU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDIyMDQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjJfRU5FUkdZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDIyMDgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjNfU1RPUF9QT0lOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDIzMDApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjNfQ1JDX1BPSU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDIzMDQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjNfRU5FUkdZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDIzMDgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjRfU1RPUF9QT0lOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDI0MDApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjRfQ1JDX1BPSU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDI0MDQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjRfRU5FUkdZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDI0MDgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjVfU1RPUF9QT0lOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDI1MDApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjVfQ1JDX1BPSU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDI1MDQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjVfRU5FUkdZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDI1MDgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjZfU1RPUF9QT0lOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDI2MDApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjZfQ1JDX1BPSU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDI2MDQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjZfRU5FUkdZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDI2MDgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjdfU1RPUF9QT0lOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDI3MDApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjdfQ1JDX1BPSU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDI3MDQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjdfRU5FUkdZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDI3MDgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjhfU1RPUF9QT0lOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDI4MDApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjhfQ1JDX1BPSU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDI4MDQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjhfRU5FUkdZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDI4MDgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjlfU1RPUF9QT0lOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDI5MDApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjlfQ1JDX1BPSU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDI5MDQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjlfRU5FUkdZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDI5MDgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEwX1NUT1BfUE9JTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDJBMDApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEwX0NSQ19QT0lOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDJBMDQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEwX0VORVJHWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDJBMDgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjExX1NUT1BfUE9JTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDJCMDApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjExX0NSQ19QT0lOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDJCMDQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjExX0VORVJHWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDJCMDgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEyX1NUT1BfUE9JTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDJDMDApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEyX0NSQ19QT0lOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDJDMDQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEyX0VORVJHWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDJDMDgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEzX1NUT1BfUE9JTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDJEMDApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEzX0NSQ19QT0lOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDJEMDQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEzX0VORVJHWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDJEMDgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjE0X1NUT1BfUE9JTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDJFMDApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjE0X0NSQ19QT0lOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDJFMDQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjE0X0VORVJHWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDJFMDgpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjE1X1NUT1BfUE9JTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDJGMDApKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjE1X0NSQ19QT0lOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDJGMDQpKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjE1X0VORVJHWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDJGMDgpKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19SRVNFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwMDApKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19MVkEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwMDQpKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19QQ0hfQ09ORiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwMDgpKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GSVJTVF9GUk0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwMEMpKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX0ZVTExfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwMTApKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX0hBTEZfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwMTQpKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX1FVQVRfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwMTgpKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX0VJR0hfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwMUMpKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19TQ0hfRE1BX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwMjApKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRlVMTF9ETUFfQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwMjQpKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19TQ0hfRE1BX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwMjgpKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRlVMTF9TICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwMkMpKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfSEFMRl9TICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwMzApKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfUVVBVF9TICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwMzQpKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRUlHSF9TICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwMzgpKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19TQ0hfUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwM0MpKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRlVMTF9ZQU1BICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwNDApKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfSEFMRl9ZQU1BICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwNDQpKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfUVVBVF9ZQU1BICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwNDgpKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRUlHSF9ZQU1BICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwNEMpKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19TQ0hfWUFNQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwNTApKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRlVMTF9FICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwNTQpKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfSEFMRl9FICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwNTgpKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfUVVBVF9FICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwNUMpKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRUlHSF9FICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwNjApKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19TQ0hfRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwNjQpKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfQ1JDX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwNjgpKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19TQ0hfQ1JDX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwNkMpKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19TVEFUVVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwNzApKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19ET05FX1ZFQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwNzQpKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19ET05FICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwNzgpKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRlVMTF9VU0FHRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwN0MpKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX0ZVTExfTEFTVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwODApKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX0hBTEZfTEFTVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwODQpKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX1FVQVRfTEFTVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwODgpKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX0VJR0hfTEFTVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwOEMpKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19TQ0hfRE1BX0xBU1QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDMwOTApKQorI2RlZmluZSBEQlJQX1ZJVFdfTVBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDQwMDApKQorI2RlZmluZSBEQlJQX1ZJVFdfTVBVX1ZJTyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDQwMDQpKQorI2RlZmluZSBEQlJQX1ZJVFdfTVBVMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDQwMDgpKQorI2RlZmluZSBEQlJQX1ZJVFdfTVBVMF9TVEFSVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDQwMEMpKQorI2RlZmluZSBEQlJQX1ZJVFdfTVBVMF9FTkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDQwMTApKQorI2RlZmluZSBEQlJQX1ZJVFdfTVBVMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDQwMTQpKQorI2RlZmluZSBEQlJQX1ZJVFdfTVBVMV9TVEFSVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDQwMTgpKQorI2RlZmluZSBEQlJQX1ZJVFdfTVBVMV9FTkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDQwMUMpKQorI2RlZmluZSBEQlJQX1ZJVFdfTVBVMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDQwMjApKQorI2RlZmluZSBEQlJQX1ZJVFdfTVBVMl9TVEFSVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDQwMjQpKQorI2RlZmluZSBEQlJQX1ZJVFdfTVBVMl9FTkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDQwMjgpKQorI2RlZmluZSBEQlJQX1ZJVFdfREJHMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDQwMkMpKQorI2RlZmluZSBEQlJQX1ZJVFdfREJHMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDQwMzApKQorI2RlZmluZSBEQlJQX1ZJVFdfREJHMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDQwMzQpKQorI2RlZmluZSBEQlJQX1ZJVFdfREJHMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDQwMzgpKQorCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0NUUkxfU1dfUkVTRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVklUV19XVF9DVFJMX1NXX1JFU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQ1RSTF9TV19SRVNFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0NUUkxfU1dfUkVTRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0NUUkxfTW9kZV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9DVFJMX01vZGVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQ1RSTF9Nb2RlX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0NUUkxfTW9kZV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1NUQVJUX0FDQ19TVEFSVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfU1RBUlRfQUNDX1NUQVJUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1NUQVJUX0FDQ19TVEFSVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisjZGVmaW5lIERCUlBfVklUV19XVF9TVEFSVF9BQ0NfU1RBUlRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZJVFdfREVDX0RPTkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfRE9ORV9WSVRXX0RFQ19ET05FX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0RPTkVfVklUV19ERUNfRE9ORV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZJVFdfREVDX0RPTkVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9TVEFUVVNfVklUV19CVVNZX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfU1RBVFVTX1ZJVFdfQlVTWV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1NUQVRVU19WSVRXX0JVU1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9TVEFUVVNfVklUV19CVVNZX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19CQ0hfRE9ORV9WRUNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfRE9ORV9WRUNfQkNIX0RPTkVfVkVDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0RPTkVfVkVDX0JDSF9ET05FX1ZFQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19CQ0hfRE9ORV9WRUNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19UUkNIN19ET05FX1ZFQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfRE9ORV9WRUNfVFJDSDdfRE9ORV9WRUNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0RPTkVfVkVDX1RSQ0g3X0RPTkVfVkVDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19UUkNIN19ET05FX1ZFQ19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19UUkNINl9ET05FX1ZFQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfRE9ORV9WRUNfVFJDSDZfRE9ORV9WRUNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0RPTkVfVkVDX1RSQ0g2X0RPTkVfVkVDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19UUkNINl9ET05FX1ZFQ19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19UUkNINV9ET05FX1ZFQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfRE9ORV9WRUNfVFJDSDVfRE9ORV9WRUNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0RPTkVfVkVDX1RSQ0g1X0RPTkVfVkVDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19UUkNINV9ET05FX1ZFQ19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19UUkNINF9ET05FX1ZFQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfRE9ORV9WRUNfVFJDSDRfRE9ORV9WRUNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0RPTkVfVkVDX1RSQ0g0X0RPTkVfVkVDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19UUkNINF9ET05FX1ZFQ19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19UUkNIM19ET05FX1ZFQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfRE9ORV9WRUNfVFJDSDNfRE9ORV9WRUNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0RPTkVfVkVDX1RSQ0gzX0RPTkVfVkVDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19UUkNIM19ET05FX1ZFQ19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19UUkNIMl9ET05FX1ZFQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfRE9ORV9WRUNfVFJDSDJfRE9ORV9WRUNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0RPTkVfVkVDX1RSQ0gyX0RPTkVfVkVDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19UUkNIMl9ET05FX1ZFQ19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19UUkNIMV9ET05FX1ZFQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfRE9ORV9WRUNfVFJDSDFfRE9ORV9WRUNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0RPTkVfVkVDX1RSQ0gxX0RPTkVfVkVDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19UUkNIMV9ET05FX1ZFQ19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19UUkNIMF9ET05FX1ZFQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfRE9ORV9WRUNfVFJDSDBfRE9ORV9WRUNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0RPTkVfVkVDX1RSQ0gwX0RPTkVfVkVDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19UUkNIMF9ET05FX1ZFQ19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9DSEVOX0JURkRfTU9ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0NIRU5fQlRGRF9NT0RFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9DSEVOX0JURkRfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQ0hFTl9CVEZEX01PREVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQ0hFTl9CQ0hfVklUX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0NIRU5fQkNIX1ZJVF9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9DSEVOX0JDSF9WSVRfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQ0hFTl9CQ0hfVklUX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQ0hFTl9UUkNIX1ZJVF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0NIRU5fVFJDSF9WSVRfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIERCUlBfVklUV19XVF9DSEVOX1RSQ0hfVklUX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfRE1BQ0ZHX0JDSF9ETUFfRU5BQl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQkNIX0RNQUNGR19CQ0hfRE1BX0VOQUJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JDSF9ETUFDRkdfQkNIX0RNQV9FTkFCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfRE1BQ0ZHX0JDSF9ETUFfRU5BQl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfRE1BQ0ZHX0JDSF9DUkNfUkVNT1ZFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQkNIX0RNQUNGR19CQ0hfQ1JDX1JFTU9WRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JDSF9ETUFDRkdfQkNIX0NSQ19SRU1PVkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfRE1BQ0ZHX0JDSF9DUkNfUkVNT1ZFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfRE1BQ0ZHX0JDSF9TV0FQX0VORElBTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQkNIX0RNQUNGR19CQ0hfU1dBUF9FTkRJQU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JDSF9ETUFDRkdfQkNIX1NXQVBfRU5ESUFOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfRE1BQ0ZHX0JDSF9TV0FQX0VORElBTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfRE1BQ0ZHX0JDSF9CSVRfT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQkNIX0RNQUNGR19CQ0hfQklUX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JDSF9ETUFDRkdfQkNIX0JJVF9PRkZTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JDSF9EU1RfQUREUl9CQ0hfRE1BX0RTVF9BRERSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfRFNUX0FERFJfQkNIX0RNQV9EU1RfQUREUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JDSF9EU1RfQUREUl9CQ0hfRE1BX0RTVF9BRERSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JDSF9TRk5fQkNIX0NSQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQkNIX1NGTl9CQ0hfQ1JDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JDSF9TRk5fQkNIX0NSQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfU0ZOX0JDSF9DUkNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfU0ZOX0JDSF9TRk5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQkNIX1NGTl9CQ0hfU0ZOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfU0ZOX0JDSF9TRk5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwN0ZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfU1ZBTFVFX0JDSF9TVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQkNIX1NWQUxVRV9CQ0hfU1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfU1ZBTFVFX0JDSF9TVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfRU5FUkdZX0JDSF9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQkNIX0VORVJHWV9CQ0hfRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfRU5FUkdZX0JDSF9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfTFNUX0FERFJfQkNIX0xTVEFERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQkNIX0xTVF9BRERSX0JDSF9MU1RBRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfTFNUX0FERFJfQkNIX0xTVEFERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9UVElfQkFTRV9UVElfQkFTRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfVFRJX0JBU0VfVFRJX0JBU0VfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9UVElfQkFTRV9UVElfQkFTRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9DRkdfQ1JDX0ZPUk1BVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfQ0ZHX0NSQ19GT1JNQVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gwX0NGR19DUkNfRk9STUFUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEUpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gwX0NGR19SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9DRkdfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfQ0ZHX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gwX0NGR19SQVRFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gwX1RyQktfVEJTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfVHJCS19UQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9UckJLX1RCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA3RkYwMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9UckJLX1RCTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfVHJCS19UQk5VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gwX1RyQktfVEJOVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gwX0NvQktfQ0JTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfQ29CS19DQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9Db0JLX0NCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAzRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9Db0JLX0NCUEFEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfQ29CS19DQlBBRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gwX0NvQktfQ0JQQURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMzApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gwX0NvQktfQ0JOVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9Db0JLX0NCTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfQ29CS19DQk5VTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfRFNUX0FERFJfRFNUX0FERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gwX0RTVF9BRERSX0RTVF9BRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfRFNUX0FERFJfRFNUX0FERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfRE1BX0NGR19ETUFfRElTQUJMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gwX0RNQV9DRkdfRE1BX0RJU0FCTEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9ETUFfQ0ZHX0RNQV9ESVNBQkxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfRE1BX0NGR19ETUFfRElTQUJMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfRE1BX0NGR19DUkNfUkVNT1ZFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gwX0RNQV9DRkdfQ1JDX1JFTU9WRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9ETUFfQ0ZHX0NSQ19SRU1PVkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfRE1BX0NGR19DUkNfUkVNT1ZFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfRE1BX0NGR19TV0FQX0VORElBTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gwX0RNQV9DRkdfU1dBUF9FTkRJQU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9ETUFfQ0ZHX1NXQVBfRU5ESUFOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfRE1BX0NGR19TV0FQX0VORElBTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfRE1BX0NGR19CSVRfT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gwX0RNQV9DRkdfQklUX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9ETUFfQ0ZHX0JJVF9PRkZTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9UQkNSQ19TVEFfVEJDUkNfU1RBVFVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfVEJDUkNfU1RBX1RCQ1JDX1NUQVRVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9UQkNSQ19TVEFfVEJDUkNfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9DQjBTVkFMVUVfQ0IwX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfQ0IwU1ZBTFVFX0NCMF9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9DQjBTVkFMVUVfQ0IwX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9DQjFTVkFMVUVfQ0IxX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfQ0IxU1ZBTFVFX0NCMV9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9DQjFTVkFMVUVfQ0IxX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9DQjJTVkFMVUVfQ0IyX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfQ0IyU1ZBTFVFX0NCMl9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9DQjJTVkFMVUVfQ0IyX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9DQjNTVkFMVUVfQ0IzX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfQ0IzU1ZBTFVFX0NCM19TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9DQjNTVkFMVUVfQ0IzX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9DQjRTVkFMVUVfQ0I0X1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfQ0I0U1ZBTFVFX0NCNF9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9DQjRTVkFMVUVfQ0I0X1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9FTkVSR1lfVFJDSF9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfRU5FUkdZX1RSQ0hfRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9FTkVSR1lfVFJDSF9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9MU1RfQUREUl9UUkNIX0xTVEFERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfTFNUX0FERFJfVFJDSF9MU1RBRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9MU1RfQUREUl9UUkNIX0xTVEFERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9UVElfQkFTRV9UVElfQkFTRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfVFRJX0JBU0VfVFRJX0JBU0VfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9UVElfQkFTRV9UVElfQkFTRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9DRkdfQ1JDX0ZPUk1BVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfQ0ZHX0NSQ19GT1JNQVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gxX0NGR19DUkNfRk9STUFUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEUpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gxX0NGR19SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9DRkdfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfQ0ZHX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gxX0NGR19SQVRFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gxX1RyQktfVEJTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfVHJCS19UQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9UckJLX1RCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA3RkYwMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9UckJLX1RCTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfVHJCS19UQk5VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gxX1RyQktfVEJOVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gxX0NvQktfQ0JTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfQ29CS19DQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9Db0JLX0NCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAzRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9Db0JLX0NCUEFEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfQ29CS19DQlBBRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gxX0NvQktfQ0JQQURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMzApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gxX0NvQktfQ0JOVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9Db0JLX0NCTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfQ29CS19DQk5VTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfRFNUX0FERFJfRFNUX0FERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gxX0RTVF9BRERSX0RTVF9BRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfRFNUX0FERFJfRFNUX0FERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfRE1BX0NGR19ETUFfRElTQUJMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gxX0RNQV9DRkdfRE1BX0RJU0FCTEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9ETUFfQ0ZHX0RNQV9ESVNBQkxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfRE1BX0NGR19ETUFfRElTQUJMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfRE1BX0NGR19DUkNfUkVNT1ZFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gxX0RNQV9DRkdfQ1JDX1JFTU9WRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9ETUFfQ0ZHX0NSQ19SRU1PVkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfRE1BX0NGR19DUkNfUkVNT1ZFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfRE1BX0NGR19TV0FQX0VORElBTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gxX0RNQV9DRkdfU1dBUF9FTkRJQU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9ETUFfQ0ZHX1NXQVBfRU5ESUFOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfRE1BX0NGR19TV0FQX0VORElBTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfRE1BX0NGR19CSVRfT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gxX0RNQV9DRkdfQklUX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9ETUFfQ0ZHX0JJVF9PRkZTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9UQkNSQ19TVEFfVEJDUkNfU1RBVFVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfVEJDUkNfU1RBX1RCQ1JDX1NUQVRVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9UQkNSQ19TVEFfVEJDUkNfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9DQjBTVkFMVUVfQ0IwX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfQ0IwU1ZBTFVFX0NCMF9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9DQjBTVkFMVUVfQ0IwX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9DQjFTVkFMVUVfQ0IxX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfQ0IxU1ZBTFVFX0NCMV9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9DQjFTVkFMVUVfQ0IxX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9DQjJTVkFMVUVfQ0IyX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfQ0IyU1ZBTFVFX0NCMl9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9DQjJTVkFMVUVfQ0IyX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9DQjNTVkFMVUVfQ0IzX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfQ0IzU1ZBTFVFX0NCM19TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9DQjNTVkFMVUVfQ0IzX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9DQjRTVkFMVUVfQ0I0X1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfQ0I0U1ZBTFVFX0NCNF9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9DQjRTVkFMVUVfQ0I0X1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9FTkVSR1lfVFJDSF9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfRU5FUkdZX1RSQ0hfRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9FTkVSR1lfVFJDSF9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9MU1RfQUREUl9UUkNIX0xTVEFERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfTFNUX0FERFJfVFJDSF9MU1RBRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9MU1RfQUREUl9UUkNIX0xTVEFERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9UVElfQkFTRV9UVElfQkFTRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfVFRJX0JBU0VfVFRJX0JBU0VfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9UVElfQkFTRV9UVElfQkFTRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9DRkdfQ1JDX0ZPUk1BVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfQ0ZHX0NSQ19GT1JNQVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gyX0NGR19DUkNfRk9STUFUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEUpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gyX0NGR19SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9DRkdfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfQ0ZHX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gyX0NGR19SQVRFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gyX1RyQktfVEJTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfVHJCS19UQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9UckJLX1RCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA3RkYwMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9UckJLX1RCTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfVHJCS19UQk5VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gyX1RyQktfVEJOVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gyX0NvQktfQ0JTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfQ29CS19DQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9Db0JLX0NCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAzRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9Db0JLX0NCUEFEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfQ29CS19DQlBBRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gyX0NvQktfQ0JQQURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMzApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gyX0NvQktfQ0JOVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9Db0JLX0NCTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfQ29CS19DQk5VTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfRFNUX0FERFJfRFNUX0FERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gyX0RTVF9BRERSX0RTVF9BRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfRFNUX0FERFJfRFNUX0FERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfRE1BX0NGR19ETUFfRElTQUJMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gyX0RNQV9DRkdfRE1BX0RJU0FCTEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9ETUFfQ0ZHX0RNQV9ESVNBQkxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfRE1BX0NGR19ETUFfRElTQUJMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfRE1BX0NGR19DUkNfUkVNT1ZFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gyX0RNQV9DRkdfQ1JDX1JFTU9WRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9ETUFfQ0ZHX0NSQ19SRU1PVkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfRE1BX0NGR19DUkNfUkVNT1ZFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfRE1BX0NGR19TV0FQX0VORElBTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gyX0RNQV9DRkdfU1dBUF9FTkRJQU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9ETUFfQ0ZHX1NXQVBfRU5ESUFOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfRE1BX0NGR19TV0FQX0VORElBTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfRE1BX0NGR19CSVRfT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gyX0RNQV9DRkdfQklUX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9ETUFfQ0ZHX0JJVF9PRkZTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9UQkNSQ19TVEFfVEJDUkNfU1RBVFVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfVEJDUkNfU1RBX1RCQ1JDX1NUQVRVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9UQkNSQ19TVEFfVEJDUkNfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9DQjBTVkFMVUVfQ0IwX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfQ0IwU1ZBTFVFX0NCMF9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9DQjBTVkFMVUVfQ0IwX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9DQjFTVkFMVUVfQ0IxX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfQ0IxU1ZBTFVFX0NCMV9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9DQjFTVkFMVUVfQ0IxX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9DQjJTVkFMVUVfQ0IyX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfQ0IyU1ZBTFVFX0NCMl9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9DQjJTVkFMVUVfQ0IyX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9DQjNTVkFMVUVfQ0IzX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfQ0IzU1ZBTFVFX0NCM19TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9DQjNTVkFMVUVfQ0IzX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9DQjRTVkFMVUVfQ0I0X1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfQ0I0U1ZBTFVFX0NCNF9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9DQjRTVkFMVUVfQ0I0X1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9FTkVSR1lfVFJDSF9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfRU5FUkdZX1RSQ0hfRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9FTkVSR1lfVFJDSF9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9MU1RfQUREUl9UUkNIX0xTVEFERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfTFNUX0FERFJfVFJDSF9MU1RBRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9MU1RfQUREUl9UUkNIX0xTVEFERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19UVElfQkFTRV9UVElfQkFTRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfVFRJX0JBU0VfVFRJX0JBU0VfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19UVElfQkFTRV9UVElfQkFTRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19DRkdfQ1JDX0ZPUk1BVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfQ0ZHX0NSQ19GT1JNQVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gzX0NGR19DUkNfRk9STUFUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEUpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gzX0NGR19SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19DRkdfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfQ0ZHX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gzX0NGR19SQVRFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gzX1RyQktfVEJTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfVHJCS19UQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19UckJLX1RCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA3RkYwMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19UckJLX1RCTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfVHJCS19UQk5VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gzX1RyQktfVEJOVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gzX0NvQktfQ0JTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfQ29CS19DQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19Db0JLX0NCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAzRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19Db0JLX0NCUEFEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfQ29CS19DQlBBRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gzX0NvQktfQ0JQQURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMzApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gzX0NvQktfQ0JOVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19Db0JLX0NCTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfQ29CS19DQk5VTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfRFNUX0FERFJfRFNUX0FERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gzX0RTVF9BRERSX0RTVF9BRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfRFNUX0FERFJfRFNUX0FERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfRE1BX0NGR19ETUFfRElTQUJMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gzX0RNQV9DRkdfRE1BX0RJU0FCTEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19ETUFfQ0ZHX0RNQV9ESVNBQkxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfRE1BX0NGR19ETUFfRElTQUJMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfRE1BX0NGR19DUkNfUkVNT1ZFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gzX0RNQV9DRkdfQ1JDX1JFTU9WRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19ETUFfQ0ZHX0NSQ19SRU1PVkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfRE1BX0NGR19DUkNfUkVNT1ZFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfRE1BX0NGR19TV0FQX0VORElBTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gzX0RNQV9DRkdfU1dBUF9FTkRJQU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19ETUFfQ0ZHX1NXQVBfRU5ESUFOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfRE1BX0NGR19TV0FQX0VORElBTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfRE1BX0NGR19CSVRfT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gzX0RNQV9DRkdfQklUX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19ETUFfQ0ZHX0JJVF9PRkZTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19UQkNSQ19TVEFfVEJDUkNfU1RBVFVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfVEJDUkNfU1RBX1RCQ1JDX1NUQVRVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19UQkNSQ19TVEFfVEJDUkNfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19DQjBTVkFMVUVfQ0IwX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfQ0IwU1ZBTFVFX0NCMF9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19DQjBTVkFMVUVfQ0IwX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19DQjFTVkFMVUVfQ0IxX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfQ0IxU1ZBTFVFX0NCMV9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19DQjFTVkFMVUVfQ0IxX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19DQjJTVkFMVUVfQ0IyX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfQ0IyU1ZBTFVFX0NCMl9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19DQjJTVkFMVUVfQ0IyX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19DQjNTVkFMVUVfQ0IzX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfQ0IzU1ZBTFVFX0NCM19TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19DQjNTVkFMVUVfQ0IzX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19DQjRTVkFMVUVfQ0I0X1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfQ0I0U1ZBTFVFX0NCNF9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19DQjRTVkFMVUVfQ0I0X1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19FTkVSR1lfVFJDSF9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfRU5FUkdZX1RSQ0hfRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19FTkVSR1lfVFJDSF9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19MU1RfQUREUl9UUkNIX0xTVEFERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfTFNUX0FERFJfVFJDSF9MU1RBRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19MU1RfQUREUl9UUkNIX0xTVEFERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9UVElfQkFTRV9UVElfQkFTRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfVFRJX0JBU0VfVFRJX0JBU0VfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9UVElfQkFTRV9UVElfQkFTRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9DRkdfQ1JDX0ZPUk1BVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfQ0ZHX0NSQ19GT1JNQVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g0X0NGR19DUkNfRk9STUFUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEUpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g0X0NGR19SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9DRkdfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfQ0ZHX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g0X0NGR19SQVRFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g0X1RyQktfVEJTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfVHJCS19UQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9UckJLX1RCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA3RkYwMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9UckJLX1RCTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfVHJCS19UQk5VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g0X1RyQktfVEJOVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g0X0NvQktfQ0JTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfQ29CS19DQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9Db0JLX0NCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAzRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9Db0JLX0NCUEFEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfQ29CS19DQlBBRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g0X0NvQktfQ0JQQURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMzApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g0X0NvQktfQ0JOVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9Db0JLX0NCTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfQ29CS19DQk5VTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfRFNUX0FERFJfRFNUX0FERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g0X0RTVF9BRERSX0RTVF9BRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfRFNUX0FERFJfRFNUX0FERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfRE1BX0NGR19ETUFfRElTQUJMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g0X0RNQV9DRkdfRE1BX0RJU0FCTEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9ETUFfQ0ZHX0RNQV9ESVNBQkxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfRE1BX0NGR19ETUFfRElTQUJMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfRE1BX0NGR19DUkNfUkVNT1ZFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g0X0RNQV9DRkdfQ1JDX1JFTU9WRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9ETUFfQ0ZHX0NSQ19SRU1PVkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfRE1BX0NGR19DUkNfUkVNT1ZFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfRE1BX0NGR19TV0FQX0VORElBTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g0X0RNQV9DRkdfU1dBUF9FTkRJQU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9ETUFfQ0ZHX1NXQVBfRU5ESUFOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfRE1BX0NGR19TV0FQX0VORElBTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfRE1BX0NGR19CSVRfT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g0X0RNQV9DRkdfQklUX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9ETUFfQ0ZHX0JJVF9PRkZTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9UQkNSQ19TVEFfVEJDUkNfU1RBVFVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfVEJDUkNfU1RBX1RCQ1JDX1NUQVRVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9UQkNSQ19TVEFfVEJDUkNfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9DQjBTVkFMVUVfQ0IwX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfQ0IwU1ZBTFVFX0NCMF9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9DQjBTVkFMVUVfQ0IwX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9DQjFTVkFMVUVfQ0IxX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfQ0IxU1ZBTFVFX0NCMV9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9DQjFTVkFMVUVfQ0IxX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9DQjJTVkFMVUVfQ0IyX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfQ0IyU1ZBTFVFX0NCMl9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9DQjJTVkFMVUVfQ0IyX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9DQjNTVkFMVUVfQ0IzX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfQ0IzU1ZBTFVFX0NCM19TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9DQjNTVkFMVUVfQ0IzX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9DQjRTVkFMVUVfQ0I0X1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfQ0I0U1ZBTFVFX0NCNF9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9DQjRTVkFMVUVfQ0I0X1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9FTkVSR1lfVFJDSF9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfRU5FUkdZX1RSQ0hfRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9FTkVSR1lfVFJDSF9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9MU1RfQUREUl9UUkNIX0xTVEFERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfTFNUX0FERFJfVFJDSF9MU1RBRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9MU1RfQUREUl9UUkNIX0xTVEFERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9UVElfQkFTRV9UVElfQkFTRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfVFRJX0JBU0VfVFRJX0JBU0VfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9UVElfQkFTRV9UVElfQkFTRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9DRkdfQ1JDX0ZPUk1BVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfQ0ZHX0NSQ19GT1JNQVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g1X0NGR19DUkNfRk9STUFUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEUpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g1X0NGR19SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9DRkdfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfQ0ZHX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g1X0NGR19SQVRFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g1X1RyQktfVEJTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfVHJCS19UQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9UckJLX1RCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA3RkYwMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9UckJLX1RCTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfVHJCS19UQk5VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g1X1RyQktfVEJOVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g1X0NvQktfQ0JTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfQ29CS19DQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9Db0JLX0NCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAzRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9Db0JLX0NCUEFEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfQ29CS19DQlBBRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g1X0NvQktfQ0JQQURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMzApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g1X0NvQktfQ0JOVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9Db0JLX0NCTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfQ29CS19DQk5VTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfRFNUX0FERFJfRFNUX0FERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g1X0RTVF9BRERSX0RTVF9BRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfRFNUX0FERFJfRFNUX0FERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfRE1BX0NGR19ETUFfRElTQUJMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g1X0RNQV9DRkdfRE1BX0RJU0FCTEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9ETUFfQ0ZHX0RNQV9ESVNBQkxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfRE1BX0NGR19ETUFfRElTQUJMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfRE1BX0NGR19DUkNfUkVNT1ZFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g1X0RNQV9DRkdfQ1JDX1JFTU9WRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9ETUFfQ0ZHX0NSQ19SRU1PVkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfRE1BX0NGR19DUkNfUkVNT1ZFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfRE1BX0NGR19TV0FQX0VORElBTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g1X0RNQV9DRkdfU1dBUF9FTkRJQU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9ETUFfQ0ZHX1NXQVBfRU5ESUFOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfRE1BX0NGR19TV0FQX0VORElBTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfRE1BX0NGR19CSVRfT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g1X0RNQV9DRkdfQklUX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9ETUFfQ0ZHX0JJVF9PRkZTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9UQkNSQ19TVEFfVEJDUkNfU1RBVFVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfVEJDUkNfU1RBX1RCQ1JDX1NUQVRVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9UQkNSQ19TVEFfVEJDUkNfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9DQjBTVkFMVUVfQ0IwX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfQ0IwU1ZBTFVFX0NCMF9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9DQjBTVkFMVUVfQ0IwX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9DQjFTVkFMVUVfQ0IxX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfQ0IxU1ZBTFVFX0NCMV9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9DQjFTVkFMVUVfQ0IxX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9DQjJTVkFMVUVfQ0IyX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfQ0IyU1ZBTFVFX0NCMl9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9DQjJTVkFMVUVfQ0IyX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9DQjNTVkFMVUVfQ0IzX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfQ0IzU1ZBTFVFX0NCM19TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9DQjNTVkFMVUVfQ0IzX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9DQjRTVkFMVUVfQ0I0X1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfQ0I0U1ZBTFVFX0NCNF9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9DQjRTVkFMVUVfQ0I0X1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9FTkVSR1lfVFJDSF9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfRU5FUkdZX1RSQ0hfRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9FTkVSR1lfVFJDSF9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9MU1RfQUREUl9UUkNIX0xTVEFERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfTFNUX0FERFJfVFJDSF9MU1RBRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9MU1RfQUREUl9UUkNIX0xTVEFERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9UVElfQkFTRV9UVElfQkFTRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfVFRJX0JBU0VfVFRJX0JBU0VfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9UVElfQkFTRV9UVElfQkFTRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9DRkdfQ1JDX0ZPUk1BVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfQ0ZHX0NSQ19GT1JNQVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g2X0NGR19DUkNfRk9STUFUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEUpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g2X0NGR19SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9DRkdfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfQ0ZHX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g2X0NGR19SQVRFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g2X1RyQktfVEJTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfVHJCS19UQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9UckJLX1RCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA3RkYwMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9UckJLX1RCTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfVHJCS19UQk5VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g2X1RyQktfVEJOVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g2X0NvQktfQ0JTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfQ29CS19DQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9Db0JLX0NCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAzRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9Db0JLX0NCUEFEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfQ29CS19DQlBBRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g2X0NvQktfQ0JQQURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMzApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g2X0NvQktfQ0JOVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9Db0JLX0NCTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfQ29CS19DQk5VTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfRFNUX0FERFJfRFNUX0FERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g2X0RTVF9BRERSX0RTVF9BRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfRFNUX0FERFJfRFNUX0FERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfRE1BX0NGR19ETUFfRElTQUJMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g2X0RNQV9DRkdfRE1BX0RJU0FCTEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9ETUFfQ0ZHX0RNQV9ESVNBQkxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfRE1BX0NGR19ETUFfRElTQUJMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfRE1BX0NGR19DUkNfUkVNT1ZFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g2X0RNQV9DRkdfQ1JDX1JFTU9WRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9ETUFfQ0ZHX0NSQ19SRU1PVkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfRE1BX0NGR19DUkNfUkVNT1ZFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfRE1BX0NGR19TV0FQX0VORElBTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g2X0RNQV9DRkdfU1dBUF9FTkRJQU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9ETUFfQ0ZHX1NXQVBfRU5ESUFOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfRE1BX0NGR19TV0FQX0VORElBTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfRE1BX0NGR19CSVRfT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g2X0RNQV9DRkdfQklUX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9ETUFfQ0ZHX0JJVF9PRkZTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9UQkNSQ19TVEFfVEJDUkNfU1RBVFVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfVEJDUkNfU1RBX1RCQ1JDX1NUQVRVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9UQkNSQ19TVEFfVEJDUkNfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9DQjBTVkFMVUVfQ0IwX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfQ0IwU1ZBTFVFX0NCMF9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9DQjBTVkFMVUVfQ0IwX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9DQjFTVkFMVUVfQ0IxX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfQ0IxU1ZBTFVFX0NCMV9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9DQjFTVkFMVUVfQ0IxX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9DQjJTVkFMVUVfQ0IyX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfQ0IyU1ZBTFVFX0NCMl9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9DQjJTVkFMVUVfQ0IyX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9DQjNTVkFMVUVfQ0IzX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfQ0IzU1ZBTFVFX0NCM19TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9DQjNTVkFMVUVfQ0IzX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9DQjRTVkFMVUVfQ0I0X1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfQ0I0U1ZBTFVFX0NCNF9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9DQjRTVkFMVUVfQ0I0X1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9FTkVSR1lfVFJDSF9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfRU5FUkdZX1RSQ0hfRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9FTkVSR1lfVFJDSF9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9MU1RfQUREUl9UUkNIX0xTVEFERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfTFNUX0FERFJfVFJDSF9MU1RBRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9MU1RfQUREUl9UUkNIX0xTVEFERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19UVElfQkFTRV9UVElfQkFTRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfVFRJX0JBU0VfVFRJX0JBU0VfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19UVElfQkFTRV9UVElfQkFTRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19DRkdfQ1JDX0ZPUk1BVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfQ0ZHX0NSQ19GT1JNQVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g3X0NGR19DUkNfRk9STUFUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEUpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g3X0NGR19SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19DRkdfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfQ0ZHX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g3X0NGR19SQVRFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g3X1RyQktfVEJTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfVHJCS19UQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19UckJLX1RCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA3RkYwMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19UckJLX1RCTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfVHJCS19UQk5VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g3X1RyQktfVEJOVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g3X0NvQktfQ0JTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfQ29CS19DQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19Db0JLX0NCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAzRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19Db0JLX0NCUEFEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfQ29CS19DQlBBRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g3X0NvQktfQ0JQQURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMzApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g3X0NvQktfQ0JOVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19Db0JLX0NCTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfQ29CS19DQk5VTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfRFNUX0FERFJfRFNUX0FERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g3X0RTVF9BRERSX0RTVF9BRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfRFNUX0FERFJfRFNUX0FERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfRE1BX0NGR19ETUFfRElTQUJMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g3X0RNQV9DRkdfRE1BX0RJU0FCTEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19ETUFfQ0ZHX0RNQV9ESVNBQkxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfRE1BX0NGR19ETUFfRElTQUJMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfRE1BX0NGR19DUkNfUkVNT1ZFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g3X0RNQV9DRkdfQ1JDX1JFTU9WRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19ETUFfQ0ZHX0NSQ19SRU1PVkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfRE1BX0NGR19DUkNfUkVNT1ZFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfRE1BX0NGR19TV0FQX0VORElBTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g3X0RNQV9DRkdfU1dBUF9FTkRJQU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19ETUFfQ0ZHX1NXQVBfRU5ESUFOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfRE1BX0NGR19TV0FQX0VORElBTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfRE1BX0NGR19CSVRfT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g3X0RNQV9DRkdfQklUX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19ETUFfQ0ZHX0JJVF9PRkZTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19UQkNSQ19TVEFfVEJDUkNfU1RBVFVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfVEJDUkNfU1RBX1RCQ1JDX1NUQVRVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19UQkNSQ19TVEFfVEJDUkNfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19DQjBTVkFMVUVfQ0IwX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfQ0IwU1ZBTFVFX0NCMF9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19DQjBTVkFMVUVfQ0IwX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19DQjFTVkFMVUVfQ0IxX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfQ0IxU1ZBTFVFX0NCMV9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19DQjFTVkFMVUVfQ0IxX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19DQjJTVkFMVUVfQ0IyX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfQ0IyU1ZBTFVFX0NCMl9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19DQjJTVkFMVUVfQ0IyX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19DQjNTVkFMVUVfQ0IzX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfQ0IzU1ZBTFVFX0NCM19TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19DQjNTVkFMVUVfQ0IzX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19DQjRTVkFMVUVfQ0I0X1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfQ0I0U1ZBTFVFX0NCNF9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19DQjRTVkFMVUVfQ0I0X1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19FTkVSR1lfVFJDSF9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfRU5FUkdZX1RSQ0hfRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19FTkVSR1lfVFJDSF9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19MU1RfQUREUl9UUkNIX0xTVEFERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfTFNUX0FERFJfVFJDSF9MU1RBRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19MU1RfQUREUl9UUkNIX0xTVEFERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMF9TVE9QX1BPSU5UX01VTFRJX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYwX1NUT1BfUE9JTlRfTVVMVElfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMF9TVE9QX1BPSU5UX01VTFRJX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjBfU1RPUF9QT0lOVF9NVUxUSV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjBfU1RPUF9QT0lOVF9TVE9QX1BPSU5UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYwX1NUT1BfUE9JTlRfU1RPUF9QT0lOVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjBfU1RPUF9QT0lOVF9TVE9QX1BPSU5UX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjBfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQk5VTV9MU0IgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMF9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjBfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQk5VTV9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkMwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjBfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQlNJWkVfTFNCICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYwX0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJTSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjBfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQlNJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjBfRU5FUkdZX0VCRF9URk5fRU5FUkdZX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYwX0VORVJHWV9FQkRfVEZOX0VORVJHWV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjBfRU5FUkdZX0VCRF9URk5fRU5FUkdZX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDFfUEFSQU1fRVhQTElDSVRfSU5EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEMV9QQVJBTV9FWFBMSUNJVF9JTkRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDFfUEFSQU1fRVhQTElDSVRfSU5EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQxX1BBUkFNX0VYUExJQ0lUX0lORF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQxX1BBUkFNX1RSQ0hfSURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEMV9QQVJBTV9UUkNIX0lEX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDFfUEFSQU1fVFJDSF9JRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMEYwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDFfUEFSQU1fTEFTVF9TVE9QX1BPSU5UX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQxX1BBUkFNX0xBU1RfU1RPUF9QT0lOVF9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEMV9QQVJBTV9MQVNUX1NUT1BfUE9JTlRfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEYwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEMV9QQVJBTV9GSVJTVF9TVE9QX1BPSU5UX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDFfUEFSQU1fRklSU1RfU1RPUF9QT0lOVF9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQxX1BBUkFNX0ZJUlNUX1NUT1BfUE9JTlRfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQxX1JFU1VMVF9CVEZEX1BBU1NfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDFfUkVTVUxUX0JURkRfUEFTU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQxX1JFU1VMVF9CVEZEX1BBU1NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEMV9SRVNVTFRfQlRGRF9QQVNTX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEMV9SRVNVTFRfQlRGRF9QT0lOVF9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDFfUkVTVUxUX0JURkRfUE9JTlRfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQxX1JFU1VMVF9CVEZEX1BPSU5UX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQyX1BBUkFNX0VYUExJQ0lUX0lORF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDJfUEFSQU1fRVhQTElDSVRfSU5EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQyX1BBUkFNX0VYUExJQ0lUX0lORF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEMl9QQVJBTV9FWFBMSUNJVF9JTkRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEMl9QQVJBTV9UUkNIX0lEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDJfUEFSQU1fVFJDSF9JRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQyX1BBUkFNX1RSQ0hfSURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDBGMDApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQyX1BBUkFNX0xBU1RfU1RPUF9QT0lOVF9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEMl9QQVJBTV9MQVNUX1NUT1BfUE9JTlRfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDJfUEFSQU1fTEFTVF9TVE9QX1BPSU5UX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDBGMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDJfUEFSQU1fRklSU1RfU1RPUF9QT0lOVF9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQyX1BBUkFNX0ZJUlNUX1NUT1BfUE9JTlRfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEMl9QQVJBTV9GSVJTVF9TVE9QX1BPSU5UX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEMl9SRVNVTFRfQlRGRF9QQVNTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQyX1JFU1VMVF9CVEZEX1BBU1NfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEMl9SRVNVTFRfQlRGRF9QQVNTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDJfUkVTVUxUX0JURkRfUEFTU19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDJfUkVTVUxUX0JURkRfUE9JTlRfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQyX1JFU1VMVF9CVEZEX1BPSU5UX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEMl9SRVNVTFRfQlRGRF9QT0lOVF9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEM19QQVJBTV9FWFBMSUNJVF9JTkRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQzX1BBUkFNX0VYUExJQ0lUX0lORF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEM19QQVJBTV9FWFBMSUNJVF9JTkRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDNfUEFSQU1fRVhQTElDSVRfSU5EX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDNfUEFSQU1fVFJDSF9JRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQzX1BBUkFNX1RSQ0hfSURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEM19QQVJBTV9UUkNIX0lEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwRjAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEM19QQVJBTV9MQVNUX1NUT1BfUE9JTlRfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDNfUEFSQU1fTEFTVF9TVE9QX1BPSU5UX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQzX1BBUkFNX0xBU1RfU1RPUF9QT0lOVF9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwRjApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQzX1BBUkFNX0ZJUlNUX1NUT1BfUE9JTlRfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEM19QQVJBTV9GSVJTVF9TVE9QX1BPSU5UX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDNfUEFSQU1fRklSU1RfU1RPUF9QT0lOVF9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDNfUkVTVUxUX0JURkRfUEFTU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEM19SRVNVTFRfQlRGRF9QQVNTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDNfUkVTVUxUX0JURkRfUEFTU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQzX1JFU1VMVF9CVEZEX1BBU1NfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQzX1JFU1VMVF9CVEZEX1BPSU5UX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEM19SRVNVTFRfQlRGRF9QT0lOVF9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDNfUkVTVUxUX0JURkRfUE9JTlRfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9DRkdfQlRGRF9EU1RfQ0FMQ19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfQ0ZHX0JURkRfRFNUX0NBTENfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX0NGR19CVEZEX0RTVF9DQUxDX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9DRkdfQlRGRF9EU1RfQ0FMQ19TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjFfU1RPUF9QT0lOVF9NVUxUSV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMV9TVE9QX1BPSU5UX01VTFRJX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjFfU1RPUF9QT0lOVF9NVUxUSV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxX1NUT1BfUE9JTlRfTVVMVElfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxX1NUT1BfUE9JTlRfU1RPUF9QT0lOVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMV9TVE9QX1BPSU5UX1NUT1BfUE9JTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxX1NUT1BfUE9JTlRfU1RPUF9QT0lOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxX0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJOVU1fTFNCICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjFfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQk5VTV9XSURUSCAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxX0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJOVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZDMDApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxX0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMV9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxX0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJTSVpFX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxX0VORVJHWV9FQkRfVEZOX0VORVJHWV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMV9FTkVSR1lfRUJEX1RGTl9FTkVSR1lfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxX0VORVJHWV9FQkRfVEZOX0VORVJHWV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYyX1NUT1BfUE9JTlRfTVVMVElfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjJfU1RPUF9QT0lOVF9NVUxUSV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYyX1NUT1BfUE9JTlRfTVVMVElfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMl9TVE9QX1BPSU5UX01VTFRJX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMl9TVE9QX1BPSU5UX1NUT1BfUE9JTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjJfU1RPUF9QT0lOVF9TVE9QX1BPSU5UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMl9TVE9QX1BPSU5UX1NUT1BfUE9JTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwM0ZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMl9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYyX0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJOVU1fV0lEVEggICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMl9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCTlVNX01BU0sgICAgICAgICAgICAgICAgICAgICgweDAwMDBGQzAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMl9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjJfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMl9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICgweDAwMDAwM0ZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMl9FTkVSR1lfRUJEX1RGTl9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjJfRU5FUkdZX0VCRF9URk5fRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMl9FTkVSR1lfRUJEX1RGTl9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGM19TVE9QX1BPSU5UX01VTFRJX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYzX1NUT1BfUE9JTlRfTVVMVElfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGM19TVE9QX1BPSU5UX01VTFRJX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjNfU1RPUF9QT0lOVF9NVUxUSV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjNfU1RPUF9QT0lOVF9TVE9QX1BPSU5UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYzX1NUT1BfUE9JTlRfU1RPUF9QT0lOVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjNfU1RPUF9QT0lOVF9TVE9QX1BPSU5UX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjNfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQk5VTV9MU0IgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGM19DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjNfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQk5VTV9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkMwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjNfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQlNJWkVfTFNCICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYzX0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJTSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjNfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQlNJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjNfRU5FUkdZX0VCRF9URk5fRU5FUkdZX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYzX0VORVJHWV9FQkRfVEZOX0VORVJHWV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjNfRU5FUkdZX0VCRF9URk5fRU5FUkdZX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjRfU1RPUF9QT0lOVF9NVUxUSV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNF9TVE9QX1BPSU5UX01VTFRJX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjRfU1RPUF9QT0lOVF9NVUxUSV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY0X1NUT1BfUE9JTlRfTVVMVElfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY0X1NUT1BfUE9JTlRfU1RPUF9QT0lOVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNF9TVE9QX1BPSU5UX1NUT1BfUE9JTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY0X1NUT1BfUE9JTlRfU1RPUF9QT0lOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY0X0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJOVU1fTFNCICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjRfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQk5VTV9XSURUSCAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY0X0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJOVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZDMDApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY0X0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNF9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY0X0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJTSVpFX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY0X0VORVJHWV9FQkRfVEZOX0VORVJHWV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNF9FTkVSR1lfRUJEX1RGTl9FTkVSR1lfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY0X0VORVJHWV9FQkRfVEZOX0VORVJHWV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY1X1NUT1BfUE9JTlRfTVVMVElfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjVfU1RPUF9QT0lOVF9NVUxUSV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY1X1NUT1BfUE9JTlRfTVVMVElfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNV9TVE9QX1BPSU5UX01VTFRJX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNV9TVE9QX1BPSU5UX1NUT1BfUE9JTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjVfU1RPUF9QT0lOVF9TVE9QX1BPSU5UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNV9TVE9QX1BPSU5UX1NUT1BfUE9JTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwM0ZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNV9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY1X0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJOVU1fV0lEVEggICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNV9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCTlVNX01BU0sgICAgICAgICAgICAgICAgICAgICgweDAwMDBGQzAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNV9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjVfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNV9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICgweDAwMDAwM0ZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNV9FTkVSR1lfRUJEX1RGTl9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjVfRU5FUkdZX0VCRF9URk5fRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNV9FTkVSR1lfRUJEX1RGTl9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNl9TVE9QX1BPSU5UX01VTFRJX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY2X1NUT1BfUE9JTlRfTVVMVElfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNl9TVE9QX1BPSU5UX01VTFRJX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjZfU1RPUF9QT0lOVF9NVUxUSV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjZfU1RPUF9QT0lOVF9TVE9QX1BPSU5UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY2X1NUT1BfUE9JTlRfU1RPUF9QT0lOVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjZfU1RPUF9QT0lOVF9TVE9QX1BPSU5UX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjZfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQk5VTV9MU0IgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNl9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjZfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQk5VTV9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkMwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjZfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQlNJWkVfTFNCICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY2X0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJTSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjZfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQlNJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjZfRU5FUkdZX0VCRF9URk5fRU5FUkdZX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY2X0VORVJHWV9FQkRfVEZOX0VORVJHWV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjZfRU5FUkdZX0VCRF9URk5fRU5FUkdZX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjdfU1RPUF9QT0lOVF9NVUxUSV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGN19TVE9QX1BPSU5UX01VTFRJX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjdfU1RPUF9QT0lOVF9NVUxUSV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY3X1NUT1BfUE9JTlRfTVVMVElfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY3X1NUT1BfUE9JTlRfU1RPUF9QT0lOVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGN19TVE9QX1BPSU5UX1NUT1BfUE9JTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY3X1NUT1BfUE9JTlRfU1RPUF9QT0lOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY3X0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJOVU1fTFNCICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjdfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQk5VTV9XSURUSCAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY3X0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJOVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZDMDApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY3X0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGN19DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY3X0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJTSVpFX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY3X0VORVJHWV9FQkRfVEZOX0VORVJHWV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGN19FTkVSR1lfRUJEX1RGTl9FTkVSR1lfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY3X0VORVJHWV9FQkRfVEZOX0VORVJHWV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY4X1NUT1BfUE9JTlRfTVVMVElfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjhfU1RPUF9QT0lOVF9NVUxUSV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY4X1NUT1BfUE9JTlRfTVVMVElfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGOF9TVE9QX1BPSU5UX01VTFRJX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGOF9TVE9QX1BPSU5UX1NUT1BfUE9JTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjhfU1RPUF9QT0lOVF9TVE9QX1BPSU5UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGOF9TVE9QX1BPSU5UX1NUT1BfUE9JTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwM0ZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGOF9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY4X0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJOVU1fV0lEVEggICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGOF9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCTlVNX01BU0sgICAgICAgICAgICAgICAgICAgICgweDAwMDBGQzAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGOF9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjhfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGOF9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICgweDAwMDAwM0ZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGOF9FTkVSR1lfRUJEX1RGTl9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjhfRU5FUkdZX0VCRF9URk5fRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGOF9FTkVSR1lfRUJEX1RGTl9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGOV9TVE9QX1BPSU5UX01VTFRJX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY5X1NUT1BfUE9JTlRfTVVMVElfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGOV9TVE9QX1BPSU5UX01VTFRJX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjlfU1RPUF9QT0lOVF9NVUxUSV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjlfU1RPUF9QT0lOVF9TVE9QX1BPSU5UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY5X1NUT1BfUE9JTlRfU1RPUF9QT0lOVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjlfU1RPUF9QT0lOVF9TVE9QX1BPSU5UX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjlfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQk5VTV9MU0IgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGOV9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjlfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQk5VTV9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkMwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjlfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQlNJWkVfTFNCICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY5X0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJTSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjlfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQlNJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjlfRU5FUkdZX0VCRF9URk5fRU5FUkdZX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY5X0VORVJHWV9FQkRfVEZOX0VORVJHWV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjlfRU5FUkdZX0VCRF9URk5fRU5FUkdZX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEwX1NUT1BfUE9JTlRfTVVMVElfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTBfU1RPUF9QT0lOVF9NVUxUSV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEwX1NUT1BfUE9JTlRfTVVMVElfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxMF9TVE9QX1BPSU5UX01VTFRJX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxMF9TVE9QX1BPSU5UX1NUT1BfUE9JTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTBfU1RPUF9QT0lOVF9TVE9QX1BPSU5UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxMF9TVE9QX1BPSU5UX1NUT1BfUE9JTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxMF9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEwX0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJOVU1fV0lEVEggICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxMF9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCTlVNX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZDMDApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxMF9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCU0laRV9MU0IgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTBfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxMF9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxMF9FTkVSR1lfRUJEX1RGTl9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTBfRU5FUkdZX0VCRF9URk5fRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxMF9FTkVSR1lfRUJEX1RGTl9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxMV9TVE9QX1BPSU5UX01VTFRJX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjExX1NUT1BfUE9JTlRfTVVMVElfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxMV9TVE9QX1BPSU5UX01VTFRJX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTFfU1RPUF9QT0lOVF9NVUxUSV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTFfU1RPUF9QT0lOVF9TVE9QX1BPSU5UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjExX1NUT1BfUE9JTlRfU1RPUF9QT0lOVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTFfU1RPUF9QT0lOVF9TVE9QX1BPSU5UX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwM0ZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTFfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQk5VTV9MU0IgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxMV9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTFfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQk5VTV9NQVNLICAgICAgICAgICAgICAgICAgICgweDAwMDBGQzAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTFfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQlNJWkVfTFNCICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjExX0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJTSVpFX1dJRFRIICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTFfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQlNJWkVfTUFTSyAgICAgICAgICAgICAgICAgICgweDAwMDAwM0ZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTFfRU5FUkdZX0VCRF9URk5fRU5FUkdZX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjExX0VORVJHWV9FQkRfVEZOX0VORVJHWV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTFfRU5FUkdZX0VCRF9URk5fRU5FUkdZX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTJfU1RPUF9QT0lOVF9NVUxUSV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxMl9TVE9QX1BPSU5UX01VTFRJX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTJfU1RPUF9QT0lOVF9NVUxUSV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEyX1NUT1BfUE9JTlRfTVVMVElfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEyX1NUT1BfUE9JTlRfU1RPUF9QT0lOVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxMl9TVE9QX1BPSU5UX1NUT1BfUE9JTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEyX1NUT1BfUE9JTlRfU1RPUF9QT0lOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEyX0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJOVU1fTFNCICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTJfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQk5VTV9XSURUSCAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEyX0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJOVU1fTUFTSyAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkMwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEyX0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxMl9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCU0laRV9XSURUSCAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEyX0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJTSVpFX01BU0sgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEyX0VORVJHWV9FQkRfVEZOX0VORVJHWV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxMl9FTkVSR1lfRUJEX1RGTl9FTkVSR1lfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEyX0VORVJHWV9FQkRfVEZOX0VORVJHWV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEzX1NUT1BfUE9JTlRfTVVMVElfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTNfU1RPUF9QT0lOVF9NVUxUSV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEzX1NUT1BfUE9JTlRfTVVMVElfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxM19TVE9QX1BPSU5UX01VTFRJX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxM19TVE9QX1BPSU5UX1NUT1BfUE9JTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTNfU1RPUF9QT0lOVF9TVE9QX1BPSU5UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxM19TVE9QX1BPSU5UX1NUT1BfUE9JTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxM19DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEzX0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJOVU1fV0lEVEggICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxM19DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCTlVNX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZDMDApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxM19DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCU0laRV9MU0IgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTNfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxM19DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxM19FTkVSR1lfRUJEX1RGTl9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTNfRU5FUkdZX0VCRF9URk5fRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxM19FTkVSR1lfRUJEX1RGTl9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxNF9TVE9QX1BPSU5UX01VTFRJX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjE0X1NUT1BfUE9JTlRfTVVMVElfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxNF9TVE9QX1BPSU5UX01VTFRJX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTRfU1RPUF9QT0lOVF9NVUxUSV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTRfU1RPUF9QT0lOVF9TVE9QX1BPSU5UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjE0X1NUT1BfUE9JTlRfU1RPUF9QT0lOVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTRfU1RPUF9QT0lOVF9TVE9QX1BPSU5UX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwM0ZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTRfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQk5VTV9MU0IgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxNF9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTRfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQk5VTV9NQVNLICAgICAgICAgICAgICAgICAgICgweDAwMDBGQzAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTRfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQlNJWkVfTFNCICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjE0X0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJTSVpFX1dJRFRIICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTRfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQlNJWkVfTUFTSyAgICAgICAgICAgICAgICAgICgweDAwMDAwM0ZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTRfRU5FUkdZX0VCRF9URk5fRU5FUkdZX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjE0X0VORVJHWV9FQkRfVEZOX0VORVJHWV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTRfRU5FUkdZX0VCRF9URk5fRU5FUkdZX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTVfU1RPUF9QT0lOVF9NVUxUSV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxNV9TVE9QX1BPSU5UX01VTFRJX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTVfU1RPUF9QT0lOVF9NVUxUSV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjE1X1NUT1BfUE9JTlRfTVVMVElfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjE1X1NUT1BfUE9JTlRfU1RPUF9QT0lOVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxNV9TVE9QX1BPSU5UX1NUT1BfUE9JTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjE1X1NUT1BfUE9JTlRfU1RPUF9QT0lOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjE1X0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJOVU1fTFNCICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTVfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQk5VTV9XSURUSCAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjE1X0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJOVU1fTUFTSyAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkMwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjE1X0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxNV9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCU0laRV9XSURUSCAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjE1X0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJTSVpFX01BU0sgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjE1X0VORVJHWV9FQkRfVEZOX0VORVJHWV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxNV9FTkVSR1lfRUJEX1RGTl9FTkVSR1lfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjE1X0VORVJHWV9FQkRfVEZOX0VORVJHWV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19SRVNFVF9TV19SRVNFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfUkVTRVRfU1dfUkVTRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19DX1JFU0VUX1NXX1JFU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19SRVNFVF9TV19SRVNFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19MVkFfTFZBX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfTFZBX0xWQV9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19DX0xWQV9MVkFfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19MVkFfTFZBX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19QQ0hfQ09ORl9FTkhBTkNFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfUENIX0NPTkZfRU5IQU5DRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19DX1BDSF9DT05GX0VOSEFOQ0VfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19QQ0hfQ09ORl9FTkhBTkNFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19GSVJTVF9GUk1fU1RBUlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRklSU1RfRlJNX1NUQVJUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19DX0ZJUlNUX0ZSTV9TVEFSVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GSVJTVF9GUk1fU1RBUlRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX0ZVTExfQkFTRV9BRERSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0RNQV9GVUxMX0JBU0VfQUREUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX0ZVTExfQkFTRV9BRERSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX0hBTEZfQkFTRV9BRERSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0RNQV9IQUxGX0JBU0VfQUREUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX0hBTEZfQkFTRV9BRERSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX1FVQVRfQkFTRV9BRERSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0RNQV9RVUFUX0JBU0VfQUREUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX1FVQVRfQkFTRV9BRERSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX0VJR0hfQkFTRV9BRERSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0RNQV9FSUdIX0JBU0VfQUREUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX0VJR0hfQkFTRV9BRERSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19TQ0hfRE1BX0JBU0VfQUREUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfU0NIX0RNQV9CQVNFX0FERFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19TQ0hfRE1BX0JBU0VfQUREUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRlVMTF9ETUFfQ0ZHX0RNQV9ESVNBQkxFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0ZVTExfRE1BX0NGR19ETUFfRElTQUJMRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9GVUxMX0RNQV9DRkdfRE1BX0RJU0FCTEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRlVMTF9ETUFfQ0ZHX0RNQV9ESVNBQkxFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRlVMTF9ETUFfQ0ZHX0NSQ19SRU1PVkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0ZVTExfRE1BX0NGR19DUkNfUkVNT1ZFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9GVUxMX0RNQV9DRkdfQ1JDX1JFTU9WRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRlVMTF9ETUFfQ0ZHX0NSQ19SRU1PVkVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRlVMTF9ETUFfQ0ZHX1NXQVBfRU5ESUFOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0ZVTExfRE1BX0NGR19TV0FQX0VORElBTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9GVUxMX0RNQV9DRkdfU1dBUF9FTkRJQU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRlVMTF9ETUFfQ0ZHX1NXQVBfRU5ESUFOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRlVMTF9ETUFfQ0ZHX0JJVF9PRkZTRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0ZVTExfRE1BX0NGR19CSVRfT0ZGU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9GVUxMX0RNQV9DRkdfQklUX09GRlNFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIERCUlBfVklUV19DX1NDSF9ETUFfQ0ZHX0RNQV9ESVNBQkxFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBEQlJQX1ZJVFdfQ19TQ0hfRE1BX0NGR19ETUFfRElTQUJMRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfU0NIX0RNQV9DRkdfRE1BX0RJU0FCTEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIERCUlBfVklUV19DX1NDSF9ETUFfQ0ZHX0RNQV9ESVNBQkxFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIERCUlBfVklUV19DX1NDSF9ETUFfQ0ZHX0NSQ19SRU1PVkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1ZJVFdfQ19TQ0hfRE1BX0NGR19DUkNfUkVNT1ZFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfU0NIX0RNQV9DRkdfQ1JDX1JFTU9WRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIERCUlBfVklUV19DX1NDSF9ETUFfQ0ZHX0NSQ19SRU1PVkVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIERCUlBfVklUV19DX1NDSF9ETUFfQ0ZHX1NXQVBfRU5ESUFOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1ZJVFdfQ19TQ0hfRE1BX0NGR19TV0FQX0VORElBTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfU0NIX0RNQV9DRkdfU1dBUF9FTkRJQU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIERCUlBfVklUV19DX1NDSF9ETUFfQ0ZHX1NXQVBfRU5ESUFOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIERCUlBfVklUV19DX1NDSF9ETUFfQ0ZHX0JJVF9PRkZTRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19TQ0hfRE1BX0NGR19CSVRfT0ZGU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfU0NIX0RNQV9DRkdfQklUX09GRlNFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUYpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0ZVTExfU19TX1ZBTFVFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9GVUxMX1NfU19WQUxVRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0ZVTExfU19TX1ZBTFVFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxRkZGRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0hBTEZfU19TX1ZBTFVFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9IQUxGX1NfU19WQUxVRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0hBTEZfU19TX1ZBTFVFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxRkZGRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX1FVQVRfU19TX1ZBTFVFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9RVUFUX1NfU19WQUxVRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX1FVQVRfU19TX1ZBTFVFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxRkZGRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0VJR0hfU19TX1ZBTFVFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9FSUdIX1NfU19WQUxVRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0VJR0hfU19TX1ZBTFVFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxRkZGRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfU0NIX1NfU19WQUxVRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX1NDSF9TX1NfVkFMVUVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfU0NIX1NfU19WQUxVRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxRkZGRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0ZVTExfWUFNQV9ZQU1BTU9UT19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9GVUxMX1lBTUFfWUFNQU1PVE9fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0ZVTExfWUFNQV9ZQU1BTU9UT19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0hBTEZfWUFNQV9ZQU1BTU9UT19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9IQUxGX1lBTUFfWUFNQU1PVE9fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0hBTEZfWUFNQV9ZQU1BTU9UT19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX1FVQVRfWUFNQV9ZQU1BTU9UT19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9RVUFUX1lBTUFfWUFNQU1PVE9fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX1FVQVRfWUFNQV9ZQU1BTU9UT19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0VJR0hfWUFNQV9ZQU1BTU9UT19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9FSUdIX1lBTUFfWUFNQU1PVE9fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0VJR0hfWUFNQV9ZQU1BTU9UT19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfU0NIX1lBTUFfWUFNQU1PVE9fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX1NDSF9ZQU1BX1lBTUFNT1RPX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfU0NIX1lBTUFfWUFNQU1PVE9fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0ZVTExfRV9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9GVUxMX0VfRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0ZVTExfRV9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxRkZGRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0hBTEZfRV9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9IQUxGX0VfRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0hBTEZfRV9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxRkZGRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX1FVQVRfRV9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9RVUFUX0VfRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX1FVQVRfRV9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxRkZGRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0VJR0hfRV9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9FSUdIX0VfRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0VJR0hfRV9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxRkZGRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfU0NIX0VfRU5FUkdZX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX1NDSF9FX0VORVJHWV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfU0NIX0VfRU5FUkdZX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxRkZGRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0NSQ19TVEFUVVNfRUlHSF9SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9DUkNfU1RBVFVTX0VJR0hfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfQ1JDX1NUQVRVU19FSUdIX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0NSQ19TVEFUVVNfRUlHSF9SQVRFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0NSQ19TVEFUVVNfUVVBVF9SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9DUkNfU1RBVFVTX1FVQVRfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfQ1JDX1NUQVRVU19RVUFUX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0NSQ19TVEFUVVNfUVVBVF9SQVRFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0NSQ19TVEFUVVNfSEFMRl9SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9DUkNfU1RBVFVTX0hBTEZfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfQ1JDX1NUQVRVU19IQUxGX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0NSQ19TVEFUVVNfSEFMRl9SQVRFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0NSQ19TVEFUVVNfRlVMTF9SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9DUkNfU1RBVFVTX0ZVTExfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfQ1JDX1NUQVRVU19GVUxMX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0NSQ19TVEFUVVNfRlVMTF9SQVRFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfU0NIX0NSQ19TVEFUVVNfRlVMTF9SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX1NDSF9DUkNfU1RBVFVTX0ZVTExfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19TQ0hfQ1JDX1NUQVRVU19GVUxMX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfU0NIX0NSQ19TVEFUVVNfRlVMTF9SQVRFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfU1RBVFVTX1ZJVFdfQlVTWV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX1NUQVRVU19WSVRXX0JVU1lfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19TVEFUVVNfVklUV19CVVNZX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfU1RBVFVTX1ZJVFdfQlVTWV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRE9ORV9WRUNfU0NIX0RPTkVfVkVDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfVklUV19DX0RPTkVfVkVDX1NDSF9ET05FX1ZFQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19ET05FX1ZFQ19TQ0hfRE9ORV9WRUNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRE9ORV9WRUNfU0NIX0RPTkVfVkVDX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRE9ORV9WRUNfRkNIX0RPTkVfVkVDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIERCUlBfVklUV19DX0RPTkVfVkVDX0ZDSF9ET05FX1ZFQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19ET05FX1ZFQ19GQ0hfRE9ORV9WRUNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRE9ORV9WRUNfRkNIX0RPTkVfVkVDX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRE9ORV9WRUNfUENIX0RPTkVfVkVDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19DX0RPTkVfVkVDX1BDSF9ET05FX1ZFQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19ET05FX1ZFQ19QQ0hfRE9ORV9WRUNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgREJSUF9WSVRXX0NfRE9ORV9WRUNfUENIX0RPTkVfVkVDX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRE9ORV9WRUNfU1lOX0RPTkVfVkVDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX0RPTkVfVkVDX1NZTl9ET05FX1ZFQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19ET05FX1ZFQ19TWU5fRE9ORV9WRUNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRE9ORV9WRUNfU1lOX0RPTkVfVkVDX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRE9ORV9WSVRXX0RFQ19ET05FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX0RPTkVfVklUV19ERUNfRE9ORV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19ET05FX1ZJVFdfREVDX0RPTkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRE9ORV9WSVRXX0RFQ19ET05FX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0ZVTExfVVNBR0VfQ0ZHX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9GVUxMX1VTQUdFX0NGR19JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRlVMTF9VU0FHRV9DRkdfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMykKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX0ZVTExfTEFTVF9BRERSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0RNQV9GVUxMX0xBU1RfQUREUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX0ZVTExfTEFTVF9BRERSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX0hBTEZfTEFTVF9BRERSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0RNQV9IQUxGX0xBU1RfQUREUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX0hBTEZfTEFTVF9BRERSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX1FVQVRfTEFTVF9BRERSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0RNQV9RVUFUX0xBU1RfQUREUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX1FVQVRfTEFTVF9BRERSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX0VJR0hfTEFTVF9BRERSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0RNQV9FSUdIX0xBU1RfQUREUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX0VJR0hfTEFTVF9BRERSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19TQ0hfRE1BX0xBU1RfQUREUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfU0NIX0RNQV9MQVNUX0FERFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19TQ0hfRE1BX0xBU1RfQUREUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfTVBVX1ZJT0xBVEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX01QVV9WSU9MQVRFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19NUFVfVklPTEFURV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1ZJVFdfTVBVX1ZJT0xBVEVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1ZJVFdfTVBVX1ZJT19BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX01QVV9WSU9fQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfTVBVX1ZJT19BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfTVBVMF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX01QVTBfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19NUFUwX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1ZJVFdfTVBVMF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1ZJVFdfTVBVMF9TVEFSVF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX01QVTBfU1RBUlRfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfTVBVMF9TVEFSVF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfTVBVMF9FTkRfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX01QVTBfRU5EX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfTVBVMF9FTkRfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfTVBVMV9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX01QVTFfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19NUFUxX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1ZJVFdfTVBVMV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1ZJVFdfTVBVMV9TVEFSVF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX01QVTFfU1RBUlRfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfTVBVMV9TVEFSVF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfTVBVMV9FTkRfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX01QVTFfRU5EX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfTVBVMV9FTkRfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfTVBVMl9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX01QVTJfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19NUFUyX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1ZJVFdfTVBVMl9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1ZJVFdfTVBVMl9TVEFSVF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX01QVTJfU1RBUlRfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfTVBVMl9TVEFSVF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfTVBVMl9FTkRfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX01QVTJfRU5EX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfTVBVMl9FTkRfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfREJHMF9WSVRXX0JDSF9DU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjUpCisjZGVmaW5lIERCUlBfVklUV19EQkcwX1ZJVFdfQkNIX0NTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1ZJVFdfREJHMF9WSVRXX0JDSF9DU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxRTAwMDAwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfREJHMF9WSVRXX1RSQ0hJX0NTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTcpCisjZGVmaW5lIERCUlBfVklUV19EQkcwX1ZJVFdfVFJDSElfQ1NfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBEQlJQX1ZJVFdfREJHMF9WSVRXX1RSQ0hJX0NTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMUZFMDAwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfREJHMF9WSVRXX0JURkRfQ1NfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19EQkcwX1ZJVFdfQlRGRF9DU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBEQlJQX1ZJVFdfREJHMF9WSVRXX0JURkRfQ1NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxRkMwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfREJHMF9WSVRXX0NUUkxfQ1NfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX0RCRzBfVklUV19DVFJMX0NTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfREJHMF9WSVRXX0NUUkxfQ1NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfREJHMV9WSVRXX1NDSF9DU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9WSVRXX0RCRzFfVklUV19TQ0hfQ1NfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVklUV19EQkcxX1ZJVFdfU0NIX0NTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwRjgwKQorCisjZGVmaW5lIERCUlBfVklUV19EQkcxX1ZJVFdfRkNIX0NTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfREJHMV9WSVRXX0ZDSF9DU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9WSVRXX0RCRzFfVklUV19GQ0hfQ1NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwN0YpCisKKyNkZWZpbmUgREJSUF9WSVRXX0RCRzJfQlRGRF9URl9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI4KQorI2RlZmluZSBEQlJQX1ZJVFdfREJHMl9CVEZEX1RGX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9WSVRXX0RCRzJfQlRGRF9URl9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RjAwMDAwMDApCisKKyNkZWZpbmUgREJSUF9WSVRXX0RCRzJfVklORk9fQ1NfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1ZJVFdfREJHMl9WSU5GT19DU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIERCUlBfVklUV19EQkcyX1ZJTkZPX0NTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA3RkYwMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19EQkcyX0NVUl9CVEZEX1RSQ0hfSURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgREJSUF9WSVRXX0RCRzJfQ1VSX0JURkRfVFJDSF9JRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfVklUV19EQkcyX0NVUl9CVEZEX1RSQ0hfSURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3MDAwKQorCisjZGVmaW5lIERCUlBfVklUV19EQkcyX0NVUl9UUkNISV9JRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBEQlJQX1ZJVFdfREJHMl9DVVJfVFJDSElfSURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9WSVRXX0RCRzJfQ1VSX1RSQ0hJX0lEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDBFMDApCisKKyNkZWZpbmUgREJSUF9WSVRXX0RCRzJfVkRFQ19DU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVklUV19EQkcyX1ZERUNfQ1NfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1ZJVFdfREJHMl9WREVDX0NTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfREJHMl9WREVDX0lOVEZfQ1NfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX0RCRzJfVkRFQ19JTlRGX0NTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVklUV19EQkcyX1ZERUNfSU5URl9DU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIERCUlBfVklUV19EQkczX1ZET0JfVFJCS19TVEFURV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgREJSUF9WSVRXX0RCRzNfVkRPQl9UUkJLX1NUQVRFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIERCUlBfVklUV19EQkczX1ZET0JfVFJCS19TVEFURV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwM0Y4MDAwKQorCisjZGVmaW5lIERCUlBfVklUV19EQkczX1ZERUNfRkxPV19DU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfREJHM19WREVDX0ZMT1dfQ1NfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIERCUlBfVklUV19EQkczX1ZERUNfRkxPV19DU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisKKyNlbmRpZiAvLyNpZm5kZWYgX0NQSF9DMktfUlhfQlJQX0RWSVRfSF8KZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhjMmtyeGJycGR2aXRfOTcuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhjMmtyeGJycGR2aXRfOTcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kODE3OWJjCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGMya3J4YnJwZHZpdF85Ny5oCkBAIC0wLDAgKzEsMTg3MiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NQSF9DMktfUlhfQlJQX0RWSVRfSF8KKyNkZWZpbmUgX0NQSF9DMktfUlhfQlJQX0RWSVRfSF8KKworCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBTUkFNQUREUjsgICAgICAgICAvKiBTUkFNIGFkZHIgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIFNSQU1EQVRBOyAgICAgICAgIC8qIFNSQU0gZGF0YSBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogQVBCQUREUjsgICAgICAgICAgLyogQVBCIGFkZHIgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBBUEJEQVRBOyAgICAgICAgICAvKiBBUEIgZGF0YSBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyogIEFQQkFERFIzMjsgICAgICAgIC8qIEFQQiBhZGRyIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICAgQVBCREFUQTMyOyAgICAgICAgLyogQVBCIGRhdGEgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBEUFJBTUFERFI7ICAgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgc2lnbmVkICAgc2hvcnQqIERQUkFNQUREUl9TOyAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgRFBSQU1EQVRBOyAgICAgICAgLyogRFBSQU0gZGF0YSBpcyAxNiBiaXRzICovCisKKworI2RlZmluZSBSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhBQzg3MDAwMCkKKworI2RlZmluZSBSWEJSUF9XQ1RfRFZJVF9lbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoUlhCUlBfV0NUX0RWSVRfUkVHX0JBU0UgKyAweDQwMzggKyAxKjQpCisKKworCisjZGVmaW5lIERCUlBfVklUV19XVF9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MDAwMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9TVEFSVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MDAwNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MDAwOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MDAwYykpCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MDAxMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9DSEVOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MDAxOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfRE1BQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MDEwMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfRFNUX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MDEwNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfU0ZOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MDEwOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfU1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MDEwYykpCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfRU5FUkdZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MDExMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfTFNUX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MDExNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9UVElfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTAwMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTAwNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9UckJLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTAwOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9Db0JLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTAwYykpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9EU1RfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTAxMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9ETUFfQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTAxNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9UQkNSQ19TVEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTAxOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9DQjBTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTAxYykpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9DQjFTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTAyMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9DQjJTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTAyNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9DQjNTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTAyOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9DQjRTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTAyQykpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9FTkVSR1kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTAzMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9MU1RfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTAzNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9UVElfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTEwMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTEwNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9UckJLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTEwOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9Db0JLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTEwYykpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9EU1RfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTExMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9ETUFfQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTExNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9UQkNSQ19TVEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTExOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9DQjBTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTExYykpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9DQjFTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTEyMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9DQjJTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTEyNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9DQjNTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTEyOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9DQjRTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTEyQykpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9FTkVSR1kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTEzMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9MU1RfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTEzNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9UVElfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTIwMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTIwNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9UckJLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTIwOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9Db0JLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTIwYykpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9EU1RfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTIxMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9ETUFfQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTIxNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9UQkNSQ19TVEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTIxOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9DQjBTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTIxYykpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9DQjFTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTIyMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9DQjJTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTIyNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9DQjNTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTIyOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9DQjRTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTIyQykpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9FTkVSR1kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTIzMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9MU1RfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTIzNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19UVElfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTMwMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTMwNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19UckJLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTMwOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19Db0JLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTMwYykpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19EU1RfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTMxMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19ETUFfQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTMxNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19UQkNSQ19TVEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTMxOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19DQjBTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTMxYykpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19DQjFTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTMyMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19DQjJTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTMyNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19DQjNTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTMyOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19DQjRTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTMyQykpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19FTkVSR1kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTMzMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19MU1RfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTMzNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9UVElfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTQwMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTQwNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9UckJLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTQwOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9Db0JLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTQwYykpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9EU1RfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTQxMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9ETUFfQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTQxNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9UQkNSQ19TVEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTQxOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9DQjBTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTQxYykpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9DQjFTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTQyMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9DQjJTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTQyNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9DQjNTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTQyOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9DQjRTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTQyQykpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9FTkVSR1kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTQzMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9MU1RfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTQzNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9UVElfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTUwMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTUwNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9UckJLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTUwOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9Db0JLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTUwYykpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9EU1RfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTUxMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9ETUFfQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTUxNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9UQkNSQ19TVEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTUxOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9DQjBTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTUxYykpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9DQjFTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTUyMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9DQjJTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTUyNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9DQjNTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTUyOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9DQjRTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTUyQykpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9FTkVSR1kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTUzMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9MU1RfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTUzNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9UVElfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTYwMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTYwNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9UckJLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTYwOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9Db0JLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTYwYykpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9EU1RfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTYxMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9ETUFfQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTYxNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9UQkNSQ19TVEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTYxOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9DQjBTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTYxYykpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9DQjFTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTYyMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9DQjJTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTYyNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9DQjNTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTYyOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9DQjRTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTYyQykpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9FTkVSR1kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTYzMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9MU1RfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTYzNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19UVElfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTcwMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTcwNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19UckJLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTcwOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19Db0JLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTcwYykpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19EU1RfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTcxMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19ETUFfQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTcxNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19UQkNSQ19TVEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTcxOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19DQjBTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTcxYykpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19DQjFTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTcyMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19DQjJTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTcyNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19DQjNTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTcyOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19DQjRTVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTcyQykpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19FTkVSR1kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTczMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19MU1RfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MTczNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMF9TVE9QX1BPSU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjAwMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMF9DUkNfUE9JTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjAwNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMF9FTkVSR1kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjAwOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEMV9QQVJBTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjAxMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEMV9SRVNVTFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjAxNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEMl9QQVJBTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjAyMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEMl9SRVNVTFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjAyNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEM19QQVJBTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjAzMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEM19SRVNVTFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjAzNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjA4MCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMV9TVE9QX1BPSU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjEwMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMV9DUkNfUE9JTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjEwNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMV9FTkVSR1kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjEwOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMl9TVE9QX1BPSU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjIwMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMl9DUkNfUE9JTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjIwNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMl9FTkVSR1kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjIwOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGM19TVE9QX1BPSU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjMwMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGM19DUkNfUE9JTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjMwNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGM19FTkVSR1kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjMwOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNF9TVE9QX1BPSU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjQwMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNF9DUkNfUE9JTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjQwNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNF9FTkVSR1kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjQwOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNV9TVE9QX1BPSU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjUwMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNV9DUkNfUE9JTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjUwNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNV9FTkVSR1kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjUwOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNl9TVE9QX1BPSU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjYwMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNl9DUkNfUE9JTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjYwNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNl9FTkVSR1kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjYwOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGN19TVE9QX1BPSU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjcwMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGN19DUkNfUE9JTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjcwNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGN19FTkVSR1kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjcwOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGOF9TVE9QX1BPSU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjgwMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGOF9DUkNfUE9JTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjgwNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGOF9FTkVSR1kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjgwOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGOV9TVE9QX1BPSU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjkwMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGOV9DUkNfUE9JTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjkwNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGOV9FTkVSR1kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MjkwOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTBfU1RPUF9QT0lOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MkEwMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTBfQ1JDX1BPSU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MkEwNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTBfRU5FUkdZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MkEwOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTFfU1RPUF9QT0lOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MkIwMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTFfQ1JDX1BPSU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MkIwNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTFfRU5FUkdZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MkIwOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTJfU1RPUF9QT0lOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MkMwMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTJfQ1JDX1BPSU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MkMwNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTJfRU5FUkdZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MkMwOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTNfU1RPUF9QT0lOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MkQwMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTNfQ1JDX1BPSU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MkQwNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTNfRU5FUkdZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MkQwOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTRfU1RPUF9QT0lOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MkUwMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTRfQ1JDX1BPSU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MkUwNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTRfRU5FUkdZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MkUwOCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTVfU1RPUF9QT0lOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MkYwMCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTVfQ1JDX1BPSU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MkYwNCkpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTVfRU5FUkdZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MkYwOCkpCisjZGVmaW5lIERCUlBfVklUV19DX1JFU0VUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzAwMCkpCisjZGVmaW5lIERCUlBfVklUV19DX0xWQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzAwNCkpCisjZGVmaW5lIERCUlBfVklUV19DX1BDSF9DT05GICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzAwOCkpCisjZGVmaW5lIERCUlBfVklUV19DX0ZJUlNUX0ZSTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzAwQykpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9ETUFfRlVMTF9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzAxMCkpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9ETUFfSEFMRl9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzAxNCkpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9ETUFfUVVBVF9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzAxOCkpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9ETUFfRUlHSF9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzAxQykpCisjZGVmaW5lIERCUlBfVklUV19DX1NDSF9ETUFfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzAyMCkpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9GVUxMX0RNQV9DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzAyNCkpCisjZGVmaW5lIERCUlBfVklUV19DX1NDSF9ETUFfQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzAyOCkpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9GVUxMX1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzAyQykpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9IQUxGX1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzAzMCkpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9RVUFUX1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzAzNCkpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9FSUdIX1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzAzOCkpCisjZGVmaW5lIERCUlBfVklUV19DX1NDSF9TICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzAzQykpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9GVUxMX1lBTUEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzA0MCkpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9IQUxGX1lBTUEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzA0NCkpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9RVUFUX1lBTUEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzA0OCkpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9FSUdIX1lBTUEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzA0QykpCisjZGVmaW5lIERCUlBfVklUV19DX1NDSF9ZQU1BICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzA1MCkpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9GVUxMX0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzA1NCkpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9IQUxGX0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzA1OCkpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9RVUFUX0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzA1QykpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9FSUdIX0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzA2MCkpCisjZGVmaW5lIERCUlBfVklUV19DX1NDSF9FICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzA2NCkpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9DUkNfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzA2OCkpCisjZGVmaW5lIERCUlBfVklUV19DX1NDSF9DUkNfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzA2QykpCisjZGVmaW5lIERCUlBfVklUV19DX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzA3MCkpCisjZGVmaW5lIERCUlBfVklUV19DX0RPTkVfVkVDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzA3NCkpCisjZGVmaW5lIERCUlBfVklUV19DX0RPTkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzA3OCkpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9GVUxMX1VTQUdFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzA3QykpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9ETUFfRlVMTF9MQVNUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzA4MCkpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9ETUFfSEFMRl9MQVNUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzA4NCkpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9ETUFfUVVBVF9MQVNUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzA4OCkpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9ETUFfRUlHSF9MQVNUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzA4QykpCisjZGVmaW5lIERCUlBfVklUV19DX1NDSF9ETUFfTEFTVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4MzA5MCkpCisjZGVmaW5lIERCUlBfVklUV19NUFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4NDAwMCkpCisjZGVmaW5lIERCUlBfVklUV19NUFVfVklPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4NDAwNCkpCisjZGVmaW5lIERCUlBfVklUV19NUFUwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4NDAwOCkpCisjZGVmaW5lIERCUlBfVklUV19NUFUwX1NUQVJUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4NDAwQykpCisjZGVmaW5lIERCUlBfVklUV19NUFUwX0VORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4NDAxMCkpCisjZGVmaW5lIERCUlBfVklUV19NUFUxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4NDAxNCkpCisjZGVmaW5lIERCUlBfVklUV19NUFUxX1NUQVJUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4NDAxOCkpCisjZGVmaW5lIERCUlBfVklUV19NUFUxX0VORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4NDAxQykpCisjZGVmaW5lIERCUlBfVklUV19NUFUyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4NDAyMCkpCisjZGVmaW5lIERCUlBfVklUV19NUFUyX1NUQVJUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4NDAyNCkpCisjZGVmaW5lIERCUlBfVklUV19NUFUyX0VORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4NDAyOCkpCisjZGVmaW5lIERCUlBfVklUV19EQkcwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4NDAyQykpCisjZGVmaW5lIERCUlBfVklUV19EQkcxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4NDAzMCkpCisjZGVmaW5lIERCUlBfVklUV19EQkcyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4NDAzNCkpCisjZGVmaW5lIERCUlBfVklUV19EQkczICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RfRFZJVF9SRUdfQkFTRSArIDB4NDAzOCkpCisKKworCisjZGVmaW5lIERCUlBfVklUV19XVF9DVFJMX0lSUV9ESVNBQkxFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0NUUkxfSVJRX0RJU0FCTEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9DVFJMX0lSUV9ESVNBQkxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQ1RSTF9JUlFfRElTQUJMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQ1RSTF9QV1JfTU9ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0NUUkxfUFdSX01PREVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9DVFJMX1BXUl9NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQ1RSTF9QV1JfTU9ERV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0NUUkxfU1dfUkVTRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVklUV19XVF9DVFJMX1NXX1JFU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQ1RSTF9TV19SRVNFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0NUUkxfU1dfUkVTRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0NUUkxfTW9kZV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9DVFJMX01vZGVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQ1RSTF9Nb2RlX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0NUUkxfTW9kZV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1NUQVJUX0FDQ19TVEFSVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfU1RBUlRfQUNDX1NUQVJUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1NUQVJUX0FDQ19TVEFSVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisjZGVmaW5lIERCUlBfVklUV19XVF9TVEFSVF9BQ0NfU1RBUlRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZJVFdfREVDX0RPTkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfRE9ORV9WSVRXX0RFQ19ET05FX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0RPTkVfVklUV19ERUNfRE9ORV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZJVFdfREVDX0RPTkVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9TVEFUVVNfVklUV19CVVNZX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfU1RBVFVTX1ZJVFdfQlVTWV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1NUQVRVU19WSVRXX0JVU1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9TVEFUVVNfVklUV19CVVNZX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19CQ0hfRE9ORV9WRUNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfRE9ORV9WRUNfQkNIX0RPTkVfVkVDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0RPTkVfVkVDX0JDSF9ET05FX1ZFQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19CQ0hfRE9ORV9WRUNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19UUkNIN19ET05FX1ZFQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfRE9ORV9WRUNfVFJDSDdfRE9ORV9WRUNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0RPTkVfVkVDX1RSQ0g3X0RPTkVfVkVDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19UUkNIN19ET05FX1ZFQ19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19UUkNINl9ET05FX1ZFQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfRE9ORV9WRUNfVFJDSDZfRE9ORV9WRUNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0RPTkVfVkVDX1RSQ0g2X0RPTkVfVkVDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19UUkNINl9ET05FX1ZFQ19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19UUkNINV9ET05FX1ZFQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfRE9ORV9WRUNfVFJDSDVfRE9ORV9WRUNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0RPTkVfVkVDX1RSQ0g1X0RPTkVfVkVDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19UUkNINV9ET05FX1ZFQ19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19UUkNINF9ET05FX1ZFQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfRE9ORV9WRUNfVFJDSDRfRE9ORV9WRUNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0RPTkVfVkVDX1RSQ0g0X0RPTkVfVkVDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19UUkNINF9ET05FX1ZFQ19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19UUkNIM19ET05FX1ZFQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfRE9ORV9WRUNfVFJDSDNfRE9ORV9WRUNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0RPTkVfVkVDX1RSQ0gzX0RPTkVfVkVDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19UUkNIM19ET05FX1ZFQ19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19UUkNIMl9ET05FX1ZFQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfRE9ORV9WRUNfVFJDSDJfRE9ORV9WRUNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0RPTkVfVkVDX1RSQ0gyX0RPTkVfVkVDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19UUkNIMl9ET05FX1ZFQ19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19UUkNIMV9ET05FX1ZFQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfRE9ORV9WRUNfVFJDSDFfRE9ORV9WRUNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0RPTkVfVkVDX1RSQ0gxX0RPTkVfVkVDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19UUkNIMV9ET05FX1ZFQ19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19UUkNIMF9ET05FX1ZFQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfRE9ORV9WRUNfVFJDSDBfRE9ORV9WRUNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0RPTkVfVkVDX1RSQ0gwX0RPTkVfVkVDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9ET05FX1ZFQ19UUkNIMF9ET05FX1ZFQ19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9DSEVOX0JURkRfTU9ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0NIRU5fQlRGRF9NT0RFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9DSEVOX0JURkRfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQ0hFTl9CVEZEX01PREVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQ0hFTl9CQ0hfVklUX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0NIRU5fQkNIX1ZJVF9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9DSEVOX0JDSF9WSVRfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQ0hFTl9CQ0hfVklUX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQ0hFTl9UUkNIX1ZJVF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0NIRU5fVFJDSF9WSVRfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIERCUlBfVklUV19XVF9DSEVOX1RSQ0hfVklUX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfRE1BQ0ZHX0JDSF9ETUFfRU5BQl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQkNIX0RNQUNGR19CQ0hfRE1BX0VOQUJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JDSF9ETUFDRkdfQkNIX0RNQV9FTkFCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfRE1BQ0ZHX0JDSF9ETUFfRU5BQl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfRE1BQ0ZHX0JDSF9DUkNfUkVNT1ZFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQkNIX0RNQUNGR19CQ0hfQ1JDX1JFTU9WRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JDSF9ETUFDRkdfQkNIX0NSQ19SRU1PVkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfRE1BQ0ZHX0JDSF9DUkNfUkVNT1ZFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfRE1BQ0ZHX0JDSF9TV0FQX0VORElBTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQkNIX0RNQUNGR19CQ0hfU1dBUF9FTkRJQU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JDSF9ETUFDRkdfQkNIX1NXQVBfRU5ESUFOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfRE1BQ0ZHX0JDSF9TV0FQX0VORElBTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfRE1BQ0ZHX0JDSF9CSVRfT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQkNIX0RNQUNGR19CQ0hfQklUX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JDSF9ETUFDRkdfQkNIX0JJVF9PRkZTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JDSF9EU1RfQUREUl9CQ0hfRE1BX0RTVF9BRERSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfRFNUX0FERFJfQkNIX0RNQV9EU1RfQUREUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JDSF9EU1RfQUREUl9CQ0hfRE1BX0RTVF9BRERSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JDSF9TRk5fQkNIX0NSQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQkNIX1NGTl9CQ0hfQ1JDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JDSF9TRk5fQkNIX0NSQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfU0ZOX0JDSF9DUkNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfU0ZOX0JDSF9TRk5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQkNIX1NGTl9CQ0hfU0ZOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfU0ZOX0JDSF9TRk5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwN0ZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfU1ZBTFVFX0JDSF9TVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQkNIX1NWQUxVRV9CQ0hfU1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfU1ZBTFVFX0JDSF9TVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfRU5FUkdZX0JDSF9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQkNIX0VORVJHWV9CQ0hfRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfRU5FUkdZX0JDSF9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfTFNUX0FERFJfQkNIX0xTVEFERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQkNIX0xTVF9BRERSX0JDSF9MU1RBRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVklUV19XVF9CQ0hfTFNUX0FERFJfQkNIX0xTVEFERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9UVElfQkFTRV9UVElfQkFTRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfVFRJX0JBU0VfVFRJX0JBU0VfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9UVElfQkFTRV9UVElfQkFTRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9DRkdfQ1JDX0ZPUk1BVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfQ0ZHX0NSQ19GT1JNQVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gwX0NGR19DUkNfRk9STUFUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEUpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gwX0NGR19SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9DRkdfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfQ0ZHX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gwX0NGR19SQVRFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gwX1RyQktfVEJTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfVHJCS19UQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9UckJLX1RCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA3RkYwMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9UckJLX1RCTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfVHJCS19UQk5VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gwX1RyQktfVEJOVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gwX0NvQktfQ0JTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfQ29CS19DQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9Db0JLX0NCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAzRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9Db0JLX0NCUEFEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfQ29CS19DQlBBRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gwX0NvQktfQ0JQQURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMzApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gwX0NvQktfQ0JOVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9Db0JLX0NCTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfQ29CS19DQk5VTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfRFNUX0FERFJfRFNUX0FERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gwX0RTVF9BRERSX0RTVF9BRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfRFNUX0FERFJfRFNUX0FERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfRE1BX0NGR19ETUFfRElTQUJMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gwX0RNQV9DRkdfRE1BX0RJU0FCTEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9ETUFfQ0ZHX0RNQV9ESVNBQkxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfRE1BX0NGR19ETUFfRElTQUJMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfRE1BX0NGR19DUkNfUkVNT1ZFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gwX0RNQV9DRkdfQ1JDX1JFTU9WRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9ETUFfQ0ZHX0NSQ19SRU1PVkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfRE1BX0NGR19DUkNfUkVNT1ZFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfRE1BX0NGR19TV0FQX0VORElBTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gwX0RNQV9DRkdfU1dBUF9FTkRJQU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9ETUFfQ0ZHX1NXQVBfRU5ESUFOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfRE1BX0NGR19TV0FQX0VORElBTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfRE1BX0NGR19CSVRfT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gwX0RNQV9DRkdfQklUX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9ETUFfQ0ZHX0JJVF9PRkZTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9UQkNSQ19TVEFfVEJDUkNfU1RBVFVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfVEJDUkNfU1RBX1RCQ1JDX1NUQVRVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9UQkNSQ19TVEFfVEJDUkNfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9DQjBTVkFMVUVfQ0IwX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfQ0IwU1ZBTFVFX0NCMF9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9DQjBTVkFMVUVfQ0IwX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9DQjFTVkFMVUVfQ0IxX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfQ0IxU1ZBTFVFX0NCMV9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9DQjFTVkFMVUVfQ0IxX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9DQjJTVkFMVUVfQ0IyX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfQ0IyU1ZBTFVFX0NCMl9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9DQjJTVkFMVUVfQ0IyX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9DQjNTVkFMVUVfQ0IzX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfQ0IzU1ZBTFVFX0NCM19TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9DQjNTVkFMVUVfQ0IzX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9DQjRTVkFMVUVfQ0I0X1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfQ0I0U1ZBTFVFX0NCNF9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9DQjRTVkFMVUVfQ0I0X1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9FTkVSR1lfVFJDSF9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfRU5FUkdZX1RSQ0hfRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9FTkVSR1lfVFJDSF9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9MU1RfQUREUl9UUkNIX0xTVEFERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDBfTFNUX0FERFJfVFJDSF9MU1RBRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMF9MU1RfQUREUl9UUkNIX0xTVEFERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9UVElfQkFTRV9UVElfQkFTRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfVFRJX0JBU0VfVFRJX0JBU0VfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9UVElfQkFTRV9UVElfQkFTRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9DRkdfQ1JDX0ZPUk1BVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfQ0ZHX0NSQ19GT1JNQVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gxX0NGR19DUkNfRk9STUFUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEUpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gxX0NGR19SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9DRkdfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfQ0ZHX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gxX0NGR19SQVRFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gxX1RyQktfVEJTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfVHJCS19UQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9UckJLX1RCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA3RkYwMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9UckJLX1RCTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfVHJCS19UQk5VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gxX1RyQktfVEJOVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gxX0NvQktfQ0JTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfQ29CS19DQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9Db0JLX0NCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAzRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9Db0JLX0NCUEFEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfQ29CS19DQlBBRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gxX0NvQktfQ0JQQURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMzApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gxX0NvQktfQ0JOVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9Db0JLX0NCTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfQ29CS19DQk5VTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfRFNUX0FERFJfRFNUX0FERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gxX0RTVF9BRERSX0RTVF9BRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfRFNUX0FERFJfRFNUX0FERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfRE1BX0NGR19ETUFfRElTQUJMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gxX0RNQV9DRkdfRE1BX0RJU0FCTEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9ETUFfQ0ZHX0RNQV9ESVNBQkxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfRE1BX0NGR19ETUFfRElTQUJMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfRE1BX0NGR19DUkNfUkVNT1ZFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gxX0RNQV9DRkdfQ1JDX1JFTU9WRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9ETUFfQ0ZHX0NSQ19SRU1PVkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfRE1BX0NGR19DUkNfUkVNT1ZFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfRE1BX0NGR19TV0FQX0VORElBTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gxX0RNQV9DRkdfU1dBUF9FTkRJQU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9ETUFfQ0ZHX1NXQVBfRU5ESUFOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfRE1BX0NGR19TV0FQX0VORElBTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfRE1BX0NGR19CSVRfT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gxX0RNQV9DRkdfQklUX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9ETUFfQ0ZHX0JJVF9PRkZTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9UQkNSQ19TVEFfVEJDUkNfU1RBVFVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfVEJDUkNfU1RBX1RCQ1JDX1NUQVRVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9UQkNSQ19TVEFfVEJDUkNfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9DQjBTVkFMVUVfQ0IwX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfQ0IwU1ZBTFVFX0NCMF9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9DQjBTVkFMVUVfQ0IwX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9DQjFTVkFMVUVfQ0IxX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfQ0IxU1ZBTFVFX0NCMV9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9DQjFTVkFMVUVfQ0IxX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9DQjJTVkFMVUVfQ0IyX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfQ0IyU1ZBTFVFX0NCMl9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9DQjJTVkFMVUVfQ0IyX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9DQjNTVkFMVUVfQ0IzX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfQ0IzU1ZBTFVFX0NCM19TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9DQjNTVkFMVUVfQ0IzX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9DQjRTVkFMVUVfQ0I0X1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfQ0I0U1ZBTFVFX0NCNF9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9DQjRTVkFMVUVfQ0I0X1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9FTkVSR1lfVFJDSF9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfRU5FUkdZX1RSQ0hfRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9FTkVSR1lfVFJDSF9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9MU1RfQUREUl9UUkNIX0xTVEFERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDFfTFNUX0FERFJfVFJDSF9MU1RBRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMV9MU1RfQUREUl9UUkNIX0xTVEFERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9UVElfQkFTRV9UVElfQkFTRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfVFRJX0JBU0VfVFRJX0JBU0VfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9UVElfQkFTRV9UVElfQkFTRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9DRkdfQ1JDX0ZPUk1BVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfQ0ZHX0NSQ19GT1JNQVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gyX0NGR19DUkNfRk9STUFUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEUpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gyX0NGR19SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9DRkdfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfQ0ZHX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gyX0NGR19SQVRFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gyX1RyQktfVEJTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfVHJCS19UQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9UckJLX1RCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA3RkYwMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9UckJLX1RCTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfVHJCS19UQk5VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gyX1RyQktfVEJOVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gyX0NvQktfQ0JTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfQ29CS19DQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9Db0JLX0NCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAzRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9Db0JLX0NCUEFEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfQ29CS19DQlBBRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gyX0NvQktfQ0JQQURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMzApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gyX0NvQktfQ0JOVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9Db0JLX0NCTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfQ29CS19DQk5VTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfRFNUX0FERFJfRFNUX0FERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gyX0RTVF9BRERSX0RTVF9BRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfRFNUX0FERFJfRFNUX0FERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfRE1BX0NGR19ETUFfRElTQUJMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gyX0RNQV9DRkdfRE1BX0RJU0FCTEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9ETUFfQ0ZHX0RNQV9ESVNBQkxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfRE1BX0NGR19ETUFfRElTQUJMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfRE1BX0NGR19DUkNfUkVNT1ZFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gyX0RNQV9DRkdfQ1JDX1JFTU9WRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9ETUFfQ0ZHX0NSQ19SRU1PVkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfRE1BX0NGR19DUkNfUkVNT1ZFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfRE1BX0NGR19TV0FQX0VORElBTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gyX0RNQV9DRkdfU1dBUF9FTkRJQU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9ETUFfQ0ZHX1NXQVBfRU5ESUFOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfRE1BX0NGR19TV0FQX0VORElBTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfRE1BX0NGR19CSVRfT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gyX0RNQV9DRkdfQklUX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9ETUFfQ0ZHX0JJVF9PRkZTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9UQkNSQ19TVEFfVEJDUkNfU1RBVFVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfVEJDUkNfU1RBX1RCQ1JDX1NUQVRVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9UQkNSQ19TVEFfVEJDUkNfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9DQjBTVkFMVUVfQ0IwX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfQ0IwU1ZBTFVFX0NCMF9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9DQjBTVkFMVUVfQ0IwX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9DQjFTVkFMVUVfQ0IxX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfQ0IxU1ZBTFVFX0NCMV9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9DQjFTVkFMVUVfQ0IxX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9DQjJTVkFMVUVfQ0IyX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfQ0IyU1ZBTFVFX0NCMl9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9DQjJTVkFMVUVfQ0IyX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9DQjNTVkFMVUVfQ0IzX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfQ0IzU1ZBTFVFX0NCM19TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9DQjNTVkFMVUVfQ0IzX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9DQjRTVkFMVUVfQ0I0X1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfQ0I0U1ZBTFVFX0NCNF9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9DQjRTVkFMVUVfQ0I0X1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9FTkVSR1lfVFJDSF9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfRU5FUkdZX1RSQ0hfRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9FTkVSR1lfVFJDSF9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9MU1RfQUREUl9UUkNIX0xTVEFERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDJfTFNUX0FERFJfVFJDSF9MU1RBRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIMl9MU1RfQUREUl9UUkNIX0xTVEFERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19UVElfQkFTRV9UVElfQkFTRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfVFRJX0JBU0VfVFRJX0JBU0VfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19UVElfQkFTRV9UVElfQkFTRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19DRkdfQ1JDX0ZPUk1BVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfQ0ZHX0NSQ19GT1JNQVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gzX0NGR19DUkNfRk9STUFUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEUpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gzX0NGR19SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19DRkdfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfQ0ZHX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gzX0NGR19SQVRFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gzX1RyQktfVEJTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfVHJCS19UQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19UckJLX1RCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA3RkYwMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19UckJLX1RCTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfVHJCS19UQk5VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gzX1RyQktfVEJOVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gzX0NvQktfQ0JTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfQ29CS19DQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19Db0JLX0NCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAzRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19Db0JLX0NCUEFEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfQ29CS19DQlBBRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gzX0NvQktfQ0JQQURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMzApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gzX0NvQktfQ0JOVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19Db0JLX0NCTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfQ29CS19DQk5VTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfRFNUX0FERFJfRFNUX0FERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gzX0RTVF9BRERSX0RTVF9BRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfRFNUX0FERFJfRFNUX0FERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfRE1BX0NGR19ETUFfRElTQUJMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gzX0RNQV9DRkdfRE1BX0RJU0FCTEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19ETUFfQ0ZHX0RNQV9ESVNBQkxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfRE1BX0NGR19ETUFfRElTQUJMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfRE1BX0NGR19DUkNfUkVNT1ZFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gzX0RNQV9DRkdfQ1JDX1JFTU9WRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19ETUFfQ0ZHX0NSQ19SRU1PVkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfRE1BX0NGR19DUkNfUkVNT1ZFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfRE1BX0NGR19TV0FQX0VORElBTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gzX0RNQV9DRkdfU1dBUF9FTkRJQU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19ETUFfQ0ZHX1NXQVBfRU5ESUFOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfRE1BX0NGR19TV0FQX0VORElBTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfRE1BX0NGR19CSVRfT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0gzX0RNQV9DRkdfQklUX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19ETUFfQ0ZHX0JJVF9PRkZTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19UQkNSQ19TVEFfVEJDUkNfU1RBVFVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfVEJDUkNfU1RBX1RCQ1JDX1NUQVRVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19UQkNSQ19TVEFfVEJDUkNfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19DQjBTVkFMVUVfQ0IwX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfQ0IwU1ZBTFVFX0NCMF9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19DQjBTVkFMVUVfQ0IwX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19DQjFTVkFMVUVfQ0IxX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfQ0IxU1ZBTFVFX0NCMV9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19DQjFTVkFMVUVfQ0IxX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19DQjJTVkFMVUVfQ0IyX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfQ0IyU1ZBTFVFX0NCMl9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19DQjJTVkFMVUVfQ0IyX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19DQjNTVkFMVUVfQ0IzX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfQ0IzU1ZBTFVFX0NCM19TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19DQjNTVkFMVUVfQ0IzX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19DQjRTVkFMVUVfQ0I0X1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfQ0I0U1ZBTFVFX0NCNF9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19DQjRTVkFMVUVfQ0I0X1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19FTkVSR1lfVFJDSF9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfRU5FUkdZX1RSQ0hfRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19FTkVSR1lfVFJDSF9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19MU1RfQUREUl9UUkNIX0xTVEFERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDNfTFNUX0FERFJfVFJDSF9MU1RBRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIM19MU1RfQUREUl9UUkNIX0xTVEFERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9UVElfQkFTRV9UVElfQkFTRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfVFRJX0JBU0VfVFRJX0JBU0VfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9UVElfQkFTRV9UVElfQkFTRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9DRkdfQ1JDX0ZPUk1BVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfQ0ZHX0NSQ19GT1JNQVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g0X0NGR19DUkNfRk9STUFUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEUpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g0X0NGR19SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9DRkdfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfQ0ZHX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g0X0NGR19SQVRFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g0X1RyQktfVEJTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfVHJCS19UQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9UckJLX1RCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA3RkYwMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9UckJLX1RCTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfVHJCS19UQk5VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g0X1RyQktfVEJOVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g0X0NvQktfQ0JTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfQ29CS19DQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9Db0JLX0NCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAzRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9Db0JLX0NCUEFEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfQ29CS19DQlBBRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g0X0NvQktfQ0JQQURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMzApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g0X0NvQktfQ0JOVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9Db0JLX0NCTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfQ29CS19DQk5VTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfRFNUX0FERFJfRFNUX0FERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g0X0RTVF9BRERSX0RTVF9BRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfRFNUX0FERFJfRFNUX0FERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfRE1BX0NGR19ETUFfRElTQUJMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g0X0RNQV9DRkdfRE1BX0RJU0FCTEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9ETUFfQ0ZHX0RNQV9ESVNBQkxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfRE1BX0NGR19ETUFfRElTQUJMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfRE1BX0NGR19DUkNfUkVNT1ZFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g0X0RNQV9DRkdfQ1JDX1JFTU9WRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9ETUFfQ0ZHX0NSQ19SRU1PVkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfRE1BX0NGR19DUkNfUkVNT1ZFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfRE1BX0NGR19TV0FQX0VORElBTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g0X0RNQV9DRkdfU1dBUF9FTkRJQU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9ETUFfQ0ZHX1NXQVBfRU5ESUFOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfRE1BX0NGR19TV0FQX0VORElBTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfRE1BX0NGR19CSVRfT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g0X0RNQV9DRkdfQklUX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9ETUFfQ0ZHX0JJVF9PRkZTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9UQkNSQ19TVEFfVEJDUkNfU1RBVFVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfVEJDUkNfU1RBX1RCQ1JDX1NUQVRVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9UQkNSQ19TVEFfVEJDUkNfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9DQjBTVkFMVUVfQ0IwX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfQ0IwU1ZBTFVFX0NCMF9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9DQjBTVkFMVUVfQ0IwX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9DQjFTVkFMVUVfQ0IxX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfQ0IxU1ZBTFVFX0NCMV9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9DQjFTVkFMVUVfQ0IxX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9DQjJTVkFMVUVfQ0IyX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfQ0IyU1ZBTFVFX0NCMl9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9DQjJTVkFMVUVfQ0IyX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9DQjNTVkFMVUVfQ0IzX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfQ0IzU1ZBTFVFX0NCM19TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9DQjNTVkFMVUVfQ0IzX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9DQjRTVkFMVUVfQ0I0X1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfQ0I0U1ZBTFVFX0NCNF9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9DQjRTVkFMVUVfQ0I0X1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9FTkVSR1lfVFJDSF9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfRU5FUkdZX1RSQ0hfRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9FTkVSR1lfVFJDSF9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9MU1RfQUREUl9UUkNIX0xTVEFERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDRfTFNUX0FERFJfVFJDSF9MU1RBRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINF9MU1RfQUREUl9UUkNIX0xTVEFERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9UVElfQkFTRV9UVElfQkFTRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfVFRJX0JBU0VfVFRJX0JBU0VfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9UVElfQkFTRV9UVElfQkFTRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9DRkdfQ1JDX0ZPUk1BVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfQ0ZHX0NSQ19GT1JNQVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g1X0NGR19DUkNfRk9STUFUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEUpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g1X0NGR19SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9DRkdfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfQ0ZHX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g1X0NGR19SQVRFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g1X1RyQktfVEJTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfVHJCS19UQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9UckJLX1RCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA3RkYwMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9UckJLX1RCTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfVHJCS19UQk5VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g1X1RyQktfVEJOVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g1X0NvQktfQ0JTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfQ29CS19DQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9Db0JLX0NCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAzRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9Db0JLX0NCUEFEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfQ29CS19DQlBBRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g1X0NvQktfQ0JQQURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMzApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g1X0NvQktfQ0JOVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9Db0JLX0NCTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfQ29CS19DQk5VTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfRFNUX0FERFJfRFNUX0FERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g1X0RTVF9BRERSX0RTVF9BRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfRFNUX0FERFJfRFNUX0FERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfRE1BX0NGR19ETUFfRElTQUJMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g1X0RNQV9DRkdfRE1BX0RJU0FCTEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9ETUFfQ0ZHX0RNQV9ESVNBQkxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfRE1BX0NGR19ETUFfRElTQUJMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfRE1BX0NGR19DUkNfUkVNT1ZFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g1X0RNQV9DRkdfQ1JDX1JFTU9WRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9ETUFfQ0ZHX0NSQ19SRU1PVkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfRE1BX0NGR19DUkNfUkVNT1ZFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfRE1BX0NGR19TV0FQX0VORElBTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g1X0RNQV9DRkdfU1dBUF9FTkRJQU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9ETUFfQ0ZHX1NXQVBfRU5ESUFOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfRE1BX0NGR19TV0FQX0VORElBTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfRE1BX0NGR19CSVRfT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g1X0RNQV9DRkdfQklUX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9ETUFfQ0ZHX0JJVF9PRkZTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9UQkNSQ19TVEFfVEJDUkNfU1RBVFVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfVEJDUkNfU1RBX1RCQ1JDX1NUQVRVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9UQkNSQ19TVEFfVEJDUkNfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9DQjBTVkFMVUVfQ0IwX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfQ0IwU1ZBTFVFX0NCMF9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9DQjBTVkFMVUVfQ0IwX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9DQjFTVkFMVUVfQ0IxX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfQ0IxU1ZBTFVFX0NCMV9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9DQjFTVkFMVUVfQ0IxX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9DQjJTVkFMVUVfQ0IyX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfQ0IyU1ZBTFVFX0NCMl9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9DQjJTVkFMVUVfQ0IyX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9DQjNTVkFMVUVfQ0IzX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfQ0IzU1ZBTFVFX0NCM19TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9DQjNTVkFMVUVfQ0IzX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9DQjRTVkFMVUVfQ0I0X1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfQ0I0U1ZBTFVFX0NCNF9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9DQjRTVkFMVUVfQ0I0X1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9FTkVSR1lfVFJDSF9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfRU5FUkdZX1RSQ0hfRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9FTkVSR1lfVFJDSF9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9MU1RfQUREUl9UUkNIX0xTVEFERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDVfTFNUX0FERFJfVFJDSF9MU1RBRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINV9MU1RfQUREUl9UUkNIX0xTVEFERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9UVElfQkFTRV9UVElfQkFTRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfVFRJX0JBU0VfVFRJX0JBU0VfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9UVElfQkFTRV9UVElfQkFTRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9DRkdfQ1JDX0ZPUk1BVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfQ0ZHX0NSQ19GT1JNQVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g2X0NGR19DUkNfRk9STUFUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEUpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g2X0NGR19SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9DRkdfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfQ0ZHX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g2X0NGR19SQVRFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g2X1RyQktfVEJTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfVHJCS19UQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9UckJLX1RCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA3RkYwMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9UckJLX1RCTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfVHJCS19UQk5VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g2X1RyQktfVEJOVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g2X0NvQktfQ0JTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfQ29CS19DQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9Db0JLX0NCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAzRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9Db0JLX0NCUEFEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfQ29CS19DQlBBRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g2X0NvQktfQ0JQQURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMzApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g2X0NvQktfQ0JOVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9Db0JLX0NCTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfQ29CS19DQk5VTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfRFNUX0FERFJfRFNUX0FERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g2X0RTVF9BRERSX0RTVF9BRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfRFNUX0FERFJfRFNUX0FERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfRE1BX0NGR19ETUFfRElTQUJMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g2X0RNQV9DRkdfRE1BX0RJU0FCTEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9ETUFfQ0ZHX0RNQV9ESVNBQkxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfRE1BX0NGR19ETUFfRElTQUJMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfRE1BX0NGR19DUkNfUkVNT1ZFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g2X0RNQV9DRkdfQ1JDX1JFTU9WRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9ETUFfQ0ZHX0NSQ19SRU1PVkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfRE1BX0NGR19DUkNfUkVNT1ZFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfRE1BX0NGR19TV0FQX0VORElBTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g2X0RNQV9DRkdfU1dBUF9FTkRJQU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9ETUFfQ0ZHX1NXQVBfRU5ESUFOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfRE1BX0NGR19TV0FQX0VORElBTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfRE1BX0NGR19CSVRfT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g2X0RNQV9DRkdfQklUX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9ETUFfQ0ZHX0JJVF9PRkZTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9UQkNSQ19TVEFfVEJDUkNfU1RBVFVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfVEJDUkNfU1RBX1RCQ1JDX1NUQVRVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9UQkNSQ19TVEFfVEJDUkNfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9DQjBTVkFMVUVfQ0IwX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfQ0IwU1ZBTFVFX0NCMF9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9DQjBTVkFMVUVfQ0IwX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9DQjFTVkFMVUVfQ0IxX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfQ0IxU1ZBTFVFX0NCMV9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9DQjFTVkFMVUVfQ0IxX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9DQjJTVkFMVUVfQ0IyX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfQ0IyU1ZBTFVFX0NCMl9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9DQjJTVkFMVUVfQ0IyX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9DQjNTVkFMVUVfQ0IzX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfQ0IzU1ZBTFVFX0NCM19TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9DQjNTVkFMVUVfQ0IzX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9DQjRTVkFMVUVfQ0I0X1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfQ0I0U1ZBTFVFX0NCNF9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9DQjRTVkFMVUVfQ0I0X1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9FTkVSR1lfVFJDSF9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfRU5FUkdZX1RSQ0hfRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9FTkVSR1lfVFJDSF9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9MU1RfQUREUl9UUkNIX0xTVEFERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDZfTFNUX0FERFJfVFJDSF9MU1RBRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNINl9MU1RfQUREUl9UUkNIX0xTVEFERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19UVElfQkFTRV9UVElfQkFTRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfVFRJX0JBU0VfVFRJX0JBU0VfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19UVElfQkFTRV9UVElfQkFTRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19DRkdfQ1JDX0ZPUk1BVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfQ0ZHX0NSQ19GT1JNQVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g3X0NGR19DUkNfRk9STUFUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEUpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g3X0NGR19SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19DRkdfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfQ0ZHX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g3X0NGR19SQVRFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g3X1RyQktfVEJTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfVHJCS19UQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19UckJLX1RCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA3RkYwMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19UckJLX1RCTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfVHJCS19UQk5VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g3X1RyQktfVEJOVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g3X0NvQktfQ0JTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfQ29CS19DQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19Db0JLX0NCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAzRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19Db0JLX0NCUEFEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfQ29CS19DQlBBRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g3X0NvQktfQ0JQQURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMzApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g3X0NvQktfQ0JOVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19Db0JLX0NCTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfQ29CS19DQk5VTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfRFNUX0FERFJfRFNUX0FERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g3X0RTVF9BRERSX0RTVF9BRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfRFNUX0FERFJfRFNUX0FERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfRE1BX0NGR19ETUFfRElTQUJMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g3X0RNQV9DRkdfRE1BX0RJU0FCTEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19ETUFfQ0ZHX0RNQV9ESVNBQkxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfRE1BX0NGR19ETUFfRElTQUJMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfRE1BX0NGR19DUkNfUkVNT1ZFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g3X0RNQV9DRkdfQ1JDX1JFTU9WRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19ETUFfQ0ZHX0NSQ19SRU1PVkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfRE1BX0NGR19DUkNfUkVNT1ZFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfRE1BX0NGR19TV0FQX0VORElBTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g3X0RNQV9DRkdfU1dBUF9FTkRJQU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19ETUFfQ0ZHX1NXQVBfRU5ESUFOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfRE1BX0NGR19TV0FQX0VORElBTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfRE1BX0NGR19CSVRfT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX1RSQ0g3X0RNQV9DRkdfQklUX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19ETUFfQ0ZHX0JJVF9PRkZTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19UQkNSQ19TVEFfVEJDUkNfU1RBVFVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfVEJDUkNfU1RBX1RCQ1JDX1NUQVRVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19UQkNSQ19TVEFfVEJDUkNfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19DQjBTVkFMVUVfQ0IwX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfQ0IwU1ZBTFVFX0NCMF9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19DQjBTVkFMVUVfQ0IwX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19DQjFTVkFMVUVfQ0IxX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfQ0IxU1ZBTFVFX0NCMV9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19DQjFTVkFMVUVfQ0IxX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19DQjJTVkFMVUVfQ0IyX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfQ0IyU1ZBTFVFX0NCMl9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19DQjJTVkFMVUVfQ0IyX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19DQjNTVkFMVUVfQ0IzX1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfQ0IzU1ZBTFVFX0NCM19TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19DQjNTVkFMVUVfQ0IzX1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19DQjRTVkFMVUVfQ0I0X1NfVkFMVUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfQ0I0U1ZBTFVFX0NCNF9TX1ZBTFVFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19DQjRTVkFMVUVfQ0I0X1NfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19FTkVSR1lfVFJDSF9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfRU5FUkdZX1RSQ0hfRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19FTkVSR1lfVFJDSF9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19MU1RfQUREUl9UUkNIX0xTVEFERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfVFJDSDdfTFNUX0FERFJfVFJDSF9MU1RBRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVklUV19XVF9UUkNIN19MU1RfQUREUl9UUkNIX0xTVEFERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMF9TVE9QX1BPSU5UX01VTFRJX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYwX1NUT1BfUE9JTlRfTVVMVElfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMF9TVE9QX1BPSU5UX01VTFRJX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjBfU1RPUF9QT0lOVF9NVUxUSV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjBfU1RPUF9QT0lOVF9TVE9QX1BPSU5UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYwX1NUT1BfUE9JTlRfU1RPUF9QT0lOVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjBfU1RPUF9QT0lOVF9TVE9QX1BPSU5UX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjBfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQk5VTV9MU0IgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMF9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjBfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQk5VTV9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkMwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjBfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQlNJWkVfTFNCICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYwX0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJTSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjBfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQlNJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjBfRU5FUkdZX0VCRF9URk5fRU5FUkdZX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYwX0VORVJHWV9FQkRfVEZOX0VORVJHWV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjBfRU5FUkdZX0VCRF9URk5fRU5FUkdZX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDFfUEFSQU1fRVhQTElDSVRfSU5EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEMV9QQVJBTV9FWFBMSUNJVF9JTkRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDFfUEFSQU1fRVhQTElDSVRfSU5EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQxX1BBUkFNX0VYUExJQ0lUX0lORF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQxX1BBUkFNX1RSQ0hfSURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEMV9QQVJBTV9UUkNIX0lEX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDFfUEFSQU1fVFJDSF9JRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMEYwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDFfUEFSQU1fTEFTVF9TVE9QX1BPSU5UX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQxX1BBUkFNX0xBU1RfU1RPUF9QT0lOVF9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEMV9QQVJBTV9MQVNUX1NUT1BfUE9JTlRfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEYwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEMV9QQVJBTV9GSVJTVF9TVE9QX1BPSU5UX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDFfUEFSQU1fRklSU1RfU1RPUF9QT0lOVF9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQxX1BBUkFNX0ZJUlNUX1NUT1BfUE9JTlRfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQxX1JFU1VMVF9CVEZEX1BBU1NfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDFfUkVTVUxUX0JURkRfUEFTU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQxX1JFU1VMVF9CVEZEX1BBU1NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEMV9SRVNVTFRfQlRGRF9QQVNTX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEMV9SRVNVTFRfQlRGRF9QT0lOVF9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDFfUkVTVUxUX0JURkRfUE9JTlRfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQxX1JFU1VMVF9CVEZEX1BPSU5UX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQyX1BBUkFNX0VYUExJQ0lUX0lORF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDJfUEFSQU1fRVhQTElDSVRfSU5EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQyX1BBUkFNX0VYUExJQ0lUX0lORF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEMl9QQVJBTV9FWFBMSUNJVF9JTkRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEMl9QQVJBTV9UUkNIX0lEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDJfUEFSQU1fVFJDSF9JRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQyX1BBUkFNX1RSQ0hfSURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDBGMDApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQyX1BBUkFNX0xBU1RfU1RPUF9QT0lOVF9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEMl9QQVJBTV9MQVNUX1NUT1BfUE9JTlRfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDJfUEFSQU1fTEFTVF9TVE9QX1BPSU5UX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDBGMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDJfUEFSQU1fRklSU1RfU1RPUF9QT0lOVF9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQyX1BBUkFNX0ZJUlNUX1NUT1BfUE9JTlRfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEMl9QQVJBTV9GSVJTVF9TVE9QX1BPSU5UX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEMl9SRVNVTFRfQlRGRF9QQVNTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQyX1JFU1VMVF9CVEZEX1BBU1NfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEMl9SRVNVTFRfQlRGRF9QQVNTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDJfUkVTVUxUX0JURkRfUEFTU19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDJfUkVTVUxUX0JURkRfUE9JTlRfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQyX1JFU1VMVF9CVEZEX1BPSU5UX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEMl9SRVNVTFRfQlRGRF9QT0lOVF9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEM19QQVJBTV9FWFBMSUNJVF9JTkRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQzX1BBUkFNX0VYUExJQ0lUX0lORF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEM19QQVJBTV9FWFBMSUNJVF9JTkRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDNfUEFSQU1fRVhQTElDSVRfSU5EX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDNfUEFSQU1fVFJDSF9JRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQzX1BBUkFNX1RSQ0hfSURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEM19QQVJBTV9UUkNIX0lEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwRjAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEM19QQVJBTV9MQVNUX1NUT1BfUE9JTlRfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDNfUEFSQU1fTEFTVF9TVE9QX1BPSU5UX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQzX1BBUkFNX0xBU1RfU1RPUF9QT0lOVF9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwRjApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQzX1BBUkFNX0ZJUlNUX1NUT1BfUE9JTlRfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEM19QQVJBTV9GSVJTVF9TVE9QX1BPSU5UX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDNfUEFSQU1fRklSU1RfU1RPUF9QT0lOVF9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDNfUkVTVUxUX0JURkRfUEFTU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEM19SRVNVTFRfQlRGRF9QQVNTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDNfUkVTVUxUX0JURkRfUEFTU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQzX1JFU1VMVF9CVEZEX1BBU1NfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkQzX1JFU1VMVF9CVEZEX1BPSU5UX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEM19SRVNVTFRfQlRGRF9QT0lOVF9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRDNfUkVTVUxUX0JURkRfUE9JTlRfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9DRkdfQlRGRF9EU1RfQ0FMQ19TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfQ0ZHX0JURkRfRFNUX0NBTENfU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX0NGR19CVEZEX0RTVF9DQUxDX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9DRkdfQlRGRF9EU1RfQ0FMQ19TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjFfU1RPUF9QT0lOVF9NVUxUSV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMV9TVE9QX1BPSU5UX01VTFRJX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjFfU1RPUF9QT0lOVF9NVUxUSV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxX1NUT1BfUE9JTlRfTVVMVElfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxX1NUT1BfUE9JTlRfU1RPUF9QT0lOVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMV9TVE9QX1BPSU5UX1NUT1BfUE9JTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxX1NUT1BfUE9JTlRfU1RPUF9QT0lOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxX0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJOVU1fTFNCICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjFfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQk5VTV9XSURUSCAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxX0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJOVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZDMDApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxX0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMV9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxX0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJTSVpFX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxX0VORVJHWV9FQkRfVEZOX0VORVJHWV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMV9FTkVSR1lfRUJEX1RGTl9FTkVSR1lfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxX0VORVJHWV9FQkRfVEZOX0VORVJHWV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYyX1NUT1BfUE9JTlRfTVVMVElfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjJfU1RPUF9QT0lOVF9NVUxUSV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYyX1NUT1BfUE9JTlRfTVVMVElfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMl9TVE9QX1BPSU5UX01VTFRJX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMl9TVE9QX1BPSU5UX1NUT1BfUE9JTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjJfU1RPUF9QT0lOVF9TVE9QX1BPSU5UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMl9TVE9QX1BPSU5UX1NUT1BfUE9JTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwM0ZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMl9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYyX0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJOVU1fV0lEVEggICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMl9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCTlVNX01BU0sgICAgICAgICAgICAgICAgICAgICgweDAwMDBGQzAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMl9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjJfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMl9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICgweDAwMDAwM0ZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMl9FTkVSR1lfRUJEX1RGTl9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjJfRU5FUkdZX0VCRF9URk5fRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMl9FTkVSR1lfRUJEX1RGTl9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGM19TVE9QX1BPSU5UX01VTFRJX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYzX1NUT1BfUE9JTlRfTVVMVElfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGM19TVE9QX1BPSU5UX01VTFRJX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjNfU1RPUF9QT0lOVF9NVUxUSV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjNfU1RPUF9QT0lOVF9TVE9QX1BPSU5UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYzX1NUT1BfUE9JTlRfU1RPUF9QT0lOVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjNfU1RPUF9QT0lOVF9TVE9QX1BPSU5UX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjNfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQk5VTV9MU0IgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGM19DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjNfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQk5VTV9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkMwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjNfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQlNJWkVfTFNCICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYzX0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJTSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjNfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQlNJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjNfRU5FUkdZX0VCRF9URk5fRU5FUkdZX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYzX0VORVJHWV9FQkRfVEZOX0VORVJHWV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjNfRU5FUkdZX0VCRF9URk5fRU5FUkdZX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjRfU1RPUF9QT0lOVF9NVUxUSV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNF9TVE9QX1BPSU5UX01VTFRJX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjRfU1RPUF9QT0lOVF9NVUxUSV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY0X1NUT1BfUE9JTlRfTVVMVElfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY0X1NUT1BfUE9JTlRfU1RPUF9QT0lOVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNF9TVE9QX1BPSU5UX1NUT1BfUE9JTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY0X1NUT1BfUE9JTlRfU1RPUF9QT0lOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY0X0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJOVU1fTFNCICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjRfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQk5VTV9XSURUSCAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY0X0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJOVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZDMDApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY0X0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNF9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY0X0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJTSVpFX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY0X0VORVJHWV9FQkRfVEZOX0VORVJHWV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNF9FTkVSR1lfRUJEX1RGTl9FTkVSR1lfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY0X0VORVJHWV9FQkRfVEZOX0VORVJHWV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY1X1NUT1BfUE9JTlRfTVVMVElfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjVfU1RPUF9QT0lOVF9NVUxUSV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY1X1NUT1BfUE9JTlRfTVVMVElfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNV9TVE9QX1BPSU5UX01VTFRJX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNV9TVE9QX1BPSU5UX1NUT1BfUE9JTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjVfU1RPUF9QT0lOVF9TVE9QX1BPSU5UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNV9TVE9QX1BPSU5UX1NUT1BfUE9JTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwM0ZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNV9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY1X0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJOVU1fV0lEVEggICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNV9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCTlVNX01BU0sgICAgICAgICAgICAgICAgICAgICgweDAwMDBGQzAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNV9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjVfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNV9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICgweDAwMDAwM0ZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNV9FTkVSR1lfRUJEX1RGTl9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjVfRU5FUkdZX0VCRF9URk5fRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNV9FTkVSR1lfRUJEX1RGTl9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNl9TVE9QX1BPSU5UX01VTFRJX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY2X1NUT1BfUE9JTlRfTVVMVElfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNl9TVE9QX1BPSU5UX01VTFRJX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjZfU1RPUF9QT0lOVF9NVUxUSV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjZfU1RPUF9QT0lOVF9TVE9QX1BPSU5UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY2X1NUT1BfUE9JTlRfU1RPUF9QT0lOVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjZfU1RPUF9QT0lOVF9TVE9QX1BPSU5UX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjZfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQk5VTV9MU0IgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGNl9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjZfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQk5VTV9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkMwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjZfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQlNJWkVfTFNCICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY2X0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJTSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjZfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQlNJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjZfRU5FUkdZX0VCRF9URk5fRU5FUkdZX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY2X0VORVJHWV9FQkRfVEZOX0VORVJHWV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjZfRU5FUkdZX0VCRF9URk5fRU5FUkdZX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjdfU1RPUF9QT0lOVF9NVUxUSV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGN19TVE9QX1BPSU5UX01VTFRJX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjdfU1RPUF9QT0lOVF9NVUxUSV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY3X1NUT1BfUE9JTlRfTVVMVElfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY3X1NUT1BfUE9JTlRfU1RPUF9QT0lOVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGN19TVE9QX1BPSU5UX1NUT1BfUE9JTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY3X1NUT1BfUE9JTlRfU1RPUF9QT0lOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY3X0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJOVU1fTFNCICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjdfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQk5VTV9XSURUSCAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY3X0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJOVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZDMDApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY3X0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGN19DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY3X0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJTSVpFX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY3X0VORVJHWV9FQkRfVEZOX0VORVJHWV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGN19FTkVSR1lfRUJEX1RGTl9FTkVSR1lfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY3X0VORVJHWV9FQkRfVEZOX0VORVJHWV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY4X1NUT1BfUE9JTlRfTVVMVElfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjhfU1RPUF9QT0lOVF9NVUxUSV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY4X1NUT1BfUE9JTlRfTVVMVElfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGOF9TVE9QX1BPSU5UX01VTFRJX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGOF9TVE9QX1BPSU5UX1NUT1BfUE9JTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjhfU1RPUF9QT0lOVF9TVE9QX1BPSU5UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGOF9TVE9QX1BPSU5UX1NUT1BfUE9JTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwM0ZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGOF9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY4X0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJOVU1fV0lEVEggICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGOF9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCTlVNX01BU0sgICAgICAgICAgICAgICAgICAgICgweDAwMDBGQzAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGOF9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjhfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGOF9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICgweDAwMDAwM0ZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGOF9FTkVSR1lfRUJEX1RGTl9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjhfRU5FUkdZX0VCRF9URk5fRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGOF9FTkVSR1lfRUJEX1RGTl9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGOV9TVE9QX1BPSU5UX01VTFRJX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY5X1NUT1BfUE9JTlRfTVVMVElfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGOV9TVE9QX1BPSU5UX01VTFRJX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjlfU1RPUF9QT0lOVF9NVUxUSV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjlfU1RPUF9QT0lOVF9TVE9QX1BPSU5UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY5X1NUT1BfUE9JTlRfU1RPUF9QT0lOVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjlfU1RPUF9QT0lOVF9TVE9QX1BPSU5UX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjlfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQk5VTV9MU0IgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGOV9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjlfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQk5VTV9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkMwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjlfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQlNJWkVfTFNCICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY5X0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJTSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjlfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQlNJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjlfRU5FUkdZX0VCRF9URk5fRU5FUkdZX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEY5X0VORVJHWV9FQkRfVEZOX0VORVJHWV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjlfRU5FUkdZX0VCRF9URk5fRU5FUkdZX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEwX1NUT1BfUE9JTlRfTVVMVElfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTBfU1RPUF9QT0lOVF9NVUxUSV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEwX1NUT1BfUE9JTlRfTVVMVElfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxMF9TVE9QX1BPSU5UX01VTFRJX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxMF9TVE9QX1BPSU5UX1NUT1BfUE9JTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTBfU1RPUF9QT0lOVF9TVE9QX1BPSU5UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxMF9TVE9QX1BPSU5UX1NUT1BfUE9JTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxMF9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEwX0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJOVU1fV0lEVEggICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxMF9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCTlVNX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZDMDApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxMF9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCU0laRV9MU0IgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTBfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxMF9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxMF9FTkVSR1lfRUJEX1RGTl9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTBfRU5FUkdZX0VCRF9URk5fRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxMF9FTkVSR1lfRUJEX1RGTl9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxMV9TVE9QX1BPSU5UX01VTFRJX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjExX1NUT1BfUE9JTlRfTVVMVElfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxMV9TVE9QX1BPSU5UX01VTFRJX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTFfU1RPUF9QT0lOVF9NVUxUSV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTFfU1RPUF9QT0lOVF9TVE9QX1BPSU5UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjExX1NUT1BfUE9JTlRfU1RPUF9QT0lOVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTFfU1RPUF9QT0lOVF9TVE9QX1BPSU5UX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwM0ZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTFfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQk5VTV9MU0IgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxMV9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTFfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQk5VTV9NQVNLICAgICAgICAgICAgICAgICAgICgweDAwMDBGQzAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTFfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQlNJWkVfTFNCICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjExX0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJTSVpFX1dJRFRIICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTFfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQlNJWkVfTUFTSyAgICAgICAgICAgICAgICAgICgweDAwMDAwM0ZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTFfRU5FUkdZX0VCRF9URk5fRU5FUkdZX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjExX0VORVJHWV9FQkRfVEZOX0VORVJHWV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTFfRU5FUkdZX0VCRF9URk5fRU5FUkdZX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTJfU1RPUF9QT0lOVF9NVUxUSV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxMl9TVE9QX1BPSU5UX01VTFRJX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTJfU1RPUF9QT0lOVF9NVUxUSV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEyX1NUT1BfUE9JTlRfTVVMVElfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEyX1NUT1BfUE9JTlRfU1RPUF9QT0lOVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxMl9TVE9QX1BPSU5UX1NUT1BfUE9JTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEyX1NUT1BfUE9JTlRfU1RPUF9QT0lOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEyX0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJOVU1fTFNCICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTJfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQk5VTV9XSURUSCAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEyX0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJOVU1fTUFTSyAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkMwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEyX0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxMl9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCU0laRV9XSURUSCAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEyX0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJTSVpFX01BU0sgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEyX0VORVJHWV9FQkRfVEZOX0VORVJHWV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxMl9FTkVSR1lfRUJEX1RGTl9FTkVSR1lfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEyX0VORVJHWV9FQkRfVEZOX0VORVJHWV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEzX1NUT1BfUE9JTlRfTVVMVElfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTNfU1RPUF9QT0lOVF9NVUxUSV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEzX1NUT1BfUE9JTlRfTVVMVElfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxM19TVE9QX1BPSU5UX01VTFRJX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxM19TVE9QX1BPSU5UX1NUT1BfUE9JTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTNfU1RPUF9QT0lOVF9TVE9QX1BPSU5UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxM19TVE9QX1BPSU5UX1NUT1BfUE9JTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxM19DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjEzX0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJOVU1fV0lEVEggICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxM19DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCTlVNX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZDMDApCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxM19DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCU0laRV9MU0IgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTNfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxM19DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxM19FTkVSR1lfRUJEX1RGTl9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTNfRU5FUkdZX0VCRF9URk5fRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxM19FTkVSR1lfRUJEX1RGTl9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxNF9TVE9QX1BPSU5UX01VTFRJX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjE0X1NUT1BfUE9JTlRfTVVMVElfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxNF9TVE9QX1BPSU5UX01VTFRJX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTRfU1RPUF9QT0lOVF9NVUxUSV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTRfU1RPUF9QT0lOVF9TVE9QX1BPSU5UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjE0X1NUT1BfUE9JTlRfU1RPUF9QT0lOVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTRfU1RPUF9QT0lOVF9TVE9QX1BPSU5UX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwM0ZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTRfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQk5VTV9MU0IgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxNF9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTRfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQk5VTV9NQVNLICAgICAgICAgICAgICAgICAgICgweDAwMDBGQzAwKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTRfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQlNJWkVfTFNCICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjE0X0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJTSVpFX1dJRFRIICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTRfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQlNJWkVfTUFTSyAgICAgICAgICAgICAgICAgICgweDAwMDAwM0ZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTRfRU5FUkdZX0VCRF9URk5fRU5FUkdZX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjE0X0VORVJHWV9FQkRfVEZOX0VORVJHWV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTRfRU5FUkdZX0VCRF9URk5fRU5FUkdZX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTVfU1RPUF9QT0lOVF9NVUxUSV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxNV9TVE9QX1BPSU5UX01VTFRJX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTVfU1RPUF9QT0lOVF9NVUxUSV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjE1X1NUT1BfUE9JTlRfTVVMVElfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjE1X1NUT1BfUE9JTlRfU1RPUF9QT0lOVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxNV9TVE9QX1BPSU5UX1NUT1BfUE9JTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjE1X1NUT1BfUE9JTlRfU1RPUF9QT0lOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjE1X0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJOVU1fTFNCICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19XVF9CVEZEX1RGMTVfQ1JDX1BPSU5UX0NSQ19QT0lOVF9UQk5VTV9XSURUSCAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjE1X0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJOVU1fTUFTSyAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkMwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjE1X0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxNV9DUkNfUE9JTlRfQ1JDX1BPSU5UX1RCU0laRV9XSURUSCAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjE1X0NSQ19QT0lOVF9DUkNfUE9JTlRfVEJTSVpFX01BU0sgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjE1X0VORVJHWV9FQkRfVEZOX0VORVJHWV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX1dUX0JURkRfVEYxNV9FTkVSR1lfRUJEX1RGTl9FTkVSR1lfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBEQlJQX1ZJVFdfV1RfQlRGRF9URjE1X0VORVJHWV9FQkRfVEZOX0VORVJHWV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19SRVNFVF9TV19SRVNFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfUkVTRVRfU1dfUkVTRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19DX1JFU0VUX1NXX1JFU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19SRVNFVF9TV19SRVNFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19MVkFfTFZBX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfTFZBX0xWQV9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19DX0xWQV9MVkFfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19MVkFfTFZBX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19QQ0hfQ09ORl9FTkhBTkNFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfUENIX0NPTkZfRU5IQU5DRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19DX1BDSF9DT05GX0VOSEFOQ0VfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19QQ0hfQ09ORl9FTkhBTkNFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19GSVJTVF9GUk1fU1RBUlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRklSU1RfRlJNX1NUQVJUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19DX0ZJUlNUX0ZSTV9TVEFSVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GSVJTVF9GUk1fU1RBUlRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX0ZVTExfQkFTRV9BRERSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0RNQV9GVUxMX0JBU0VfQUREUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX0ZVTExfQkFTRV9BRERSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX0hBTEZfQkFTRV9BRERSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0RNQV9IQUxGX0JBU0VfQUREUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX0hBTEZfQkFTRV9BRERSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX1FVQVRfQkFTRV9BRERSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0RNQV9RVUFUX0JBU0VfQUREUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX1FVQVRfQkFTRV9BRERSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX0VJR0hfQkFTRV9BRERSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0RNQV9FSUdIX0JBU0VfQUREUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX0VJR0hfQkFTRV9BRERSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19TQ0hfRE1BX0JBU0VfQUREUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfU0NIX0RNQV9CQVNFX0FERFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19TQ0hfRE1BX0JBU0VfQUREUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRlVMTF9ETUFfQ0ZHX0RNQV9ESVNBQkxFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0ZVTExfRE1BX0NGR19ETUFfRElTQUJMRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9GVUxMX0RNQV9DRkdfRE1BX0RJU0FCTEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRlVMTF9ETUFfQ0ZHX0RNQV9ESVNBQkxFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRlVMTF9ETUFfQ0ZHX0NSQ19SRU1PVkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0ZVTExfRE1BX0NGR19DUkNfUkVNT1ZFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9GVUxMX0RNQV9DRkdfQ1JDX1JFTU9WRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRlVMTF9ETUFfQ0ZHX0NSQ19SRU1PVkVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRlVMTF9ETUFfQ0ZHX1NXQVBfRU5ESUFOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0ZVTExfRE1BX0NGR19TV0FQX0VORElBTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9GVUxMX0RNQV9DRkdfU1dBUF9FTkRJQU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRlVMTF9ETUFfQ0ZHX1NXQVBfRU5ESUFOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRlVMTF9ETUFfQ0ZHX0JJVF9PRkZTRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0ZVTExfRE1BX0NGR19CSVRfT0ZGU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9GVUxMX0RNQV9DRkdfQklUX09GRlNFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIERCUlBfVklUV19DX1NDSF9ETUFfQ0ZHX0RNQV9ESVNBQkxFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBEQlJQX1ZJVFdfQ19TQ0hfRE1BX0NGR19ETUFfRElTQUJMRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfU0NIX0RNQV9DRkdfRE1BX0RJU0FCTEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIERCUlBfVklUV19DX1NDSF9ETUFfQ0ZHX0RNQV9ESVNBQkxFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIERCUlBfVklUV19DX1NDSF9ETUFfQ0ZHX0NSQ19SRU1PVkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1ZJVFdfQ19TQ0hfRE1BX0NGR19DUkNfUkVNT1ZFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfU0NIX0RNQV9DRkdfQ1JDX1JFTU9WRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIERCUlBfVklUV19DX1NDSF9ETUFfQ0ZHX0NSQ19SRU1PVkVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIERCUlBfVklUV19DX1NDSF9ETUFfQ0ZHX1NXQVBfRU5ESUFOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1ZJVFdfQ19TQ0hfRE1BX0NGR19TV0FQX0VORElBTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfU0NIX0RNQV9DRkdfU1dBUF9FTkRJQU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIERCUlBfVklUV19DX1NDSF9ETUFfQ0ZHX1NXQVBfRU5ESUFOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIERCUlBfVklUV19DX1NDSF9ETUFfQ0ZHX0JJVF9PRkZTRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19TQ0hfRE1BX0NGR19CSVRfT0ZGU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfU0NIX0RNQV9DRkdfQklUX09GRlNFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUYpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0ZVTExfU19TX1ZBTFVFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9GVUxMX1NfU19WQUxVRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0ZVTExfU19TX1ZBTFVFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxRkZGRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0hBTEZfU19TX1ZBTFVFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9IQUxGX1NfU19WQUxVRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0hBTEZfU19TX1ZBTFVFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxRkZGRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX1FVQVRfU19TX1ZBTFVFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9RVUFUX1NfU19WQUxVRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX1FVQVRfU19TX1ZBTFVFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxRkZGRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0VJR0hfU19TX1ZBTFVFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9FSUdIX1NfU19WQUxVRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0VJR0hfU19TX1ZBTFVFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxRkZGRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfU0NIX1NfU19WQUxVRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX1NDSF9TX1NfVkFMVUVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfU0NIX1NfU19WQUxVRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxRkZGRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0ZVTExfWUFNQV9ZQU1BTU9UT19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9GVUxMX1lBTUFfWUFNQU1PVE9fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0ZVTExfWUFNQV9ZQU1BTU9UT19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0hBTEZfWUFNQV9ZQU1BTU9UT19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9IQUxGX1lBTUFfWUFNQU1PVE9fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0hBTEZfWUFNQV9ZQU1BTU9UT19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX1FVQVRfWUFNQV9ZQU1BTU9UT19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9RVUFUX1lBTUFfWUFNQU1PVE9fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX1FVQVRfWUFNQV9ZQU1BTU9UT19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0VJR0hfWUFNQV9ZQU1BTU9UT19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9FSUdIX1lBTUFfWUFNQU1PVE9fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0VJR0hfWUFNQV9ZQU1BTU9UT19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfU0NIX1lBTUFfWUFNQU1PVE9fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX1NDSF9ZQU1BX1lBTUFNT1RPX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfU0NIX1lBTUFfWUFNQU1PVE9fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0ZVTExfRV9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9GVUxMX0VfRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0ZVTExfRV9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxRkZGRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0hBTEZfRV9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9IQUxGX0VfRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0hBTEZfRV9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxRkZGRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX1FVQVRfRV9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9RVUFUX0VfRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX1FVQVRfRV9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxRkZGRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0VJR0hfRV9FTkVSR1lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9FSUdIX0VfRU5FUkdZX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0VJR0hfRV9FTkVSR1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxRkZGRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfU0NIX0VfRU5FUkdZX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX1NDSF9FX0VORVJHWV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfU0NIX0VfRU5FUkdZX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxRkZGRkYpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0NSQ19TVEFUVVNfRUlHSF9SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9DUkNfU1RBVFVTX0VJR0hfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfQ1JDX1NUQVRVU19FSUdIX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0NSQ19TVEFUVVNfRUlHSF9SQVRFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0NSQ19TVEFUVVNfUVVBVF9SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9DUkNfU1RBVFVTX1FVQVRfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfQ1JDX1NUQVRVU19RVUFUX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0NSQ19TVEFUVVNfUVVBVF9SQVRFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0NSQ19TVEFUVVNfSEFMRl9SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9DUkNfU1RBVFVTX0hBTEZfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfQ1JDX1NUQVRVU19IQUxGX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0NSQ19TVEFUVVNfSEFMRl9SQVRFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0NSQ19TVEFUVVNfRlVMTF9SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9DUkNfU1RBVFVTX0ZVTExfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfQ1JDX1NUQVRVU19GVUxMX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0NSQ19TVEFUVVNfRlVMTF9SQVRFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfU0NIX0NSQ19TVEFUVVNfRlVMTF9SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX1NDSF9DUkNfU1RBVFVTX0ZVTExfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19TQ0hfQ1JDX1NUQVRVU19GVUxMX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfU0NIX0NSQ19TVEFUVVNfRlVMTF9SQVRFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfU1RBVFVTX1ZJVFdfQlVTWV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX1NUQVRVU19WSVRXX0JVU1lfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19TVEFUVVNfVklUV19CVVNZX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfU1RBVFVTX1ZJVFdfQlVTWV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRE9ORV9WRUNfU0NIX0RPTkVfVkVDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfVklUV19DX0RPTkVfVkVDX1NDSF9ET05FX1ZFQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19ET05FX1ZFQ19TQ0hfRE9ORV9WRUNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRE9ORV9WRUNfU0NIX0RPTkVfVkVDX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRE9ORV9WRUNfRkNIX0RPTkVfVkVDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIERCUlBfVklUV19DX0RPTkVfVkVDX0ZDSF9ET05FX1ZFQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19ET05FX1ZFQ19GQ0hfRE9ORV9WRUNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRE9ORV9WRUNfRkNIX0RPTkVfVkVDX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRE9ORV9WRUNfUENIX0RPTkVfVkVDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19DX0RPTkVfVkVDX1BDSF9ET05FX1ZFQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19ET05FX1ZFQ19QQ0hfRE9ORV9WRUNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgREJSUF9WSVRXX0NfRE9ORV9WRUNfUENIX0RPTkVfVkVDX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRE9ORV9WRUNfU1lOX0RPTkVfVkVDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX0RPTkVfVkVDX1NZTl9ET05FX1ZFQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19ET05FX1ZFQ19TWU5fRE9ORV9WRUNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRE9ORV9WRUNfU1lOX0RPTkVfVkVDX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRE9ORV9WSVRXX0RFQ19ET05FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX0RPTkVfVklUV19ERUNfRE9ORV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19ET05FX1ZJVFdfREVDX0RPTkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRE9ORV9WSVRXX0RFQ19ET05FX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0ZVTExfVVNBR0VfQ0ZHX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVklUV19DX0ZDSF9GVUxMX1VTQUdFX0NGR19JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRlVMTF9VU0FHRV9DRkdfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMykKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX0ZVTExfTEFTVF9BRERSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0RNQV9GVUxMX0xBU1RfQUREUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX0ZVTExfTEFTVF9BRERSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX0hBTEZfTEFTVF9BRERSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0RNQV9IQUxGX0xBU1RfQUREUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX0hBTEZfTEFTVF9BRERSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX1FVQVRfTEFTVF9BRERSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0RNQV9RVUFUX0xBU1RfQUREUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX1FVQVRfTEFTVF9BRERSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX0VJR0hfTEFTVF9BRERSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfRkNIX0RNQV9FSUdIX0xBU1RfQUREUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19GQ0hfRE1BX0VJR0hfTEFTVF9BRERSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfQ19TQ0hfRE1BX0xBU1RfQUREUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX0NfU0NIX0RNQV9MQVNUX0FERFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfQ19TQ0hfRE1BX0xBU1RfQUREUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfTVBVX1ZJT0xBVEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX01QVV9WSU9MQVRFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19NUFVfVklPTEFURV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1ZJVFdfTVBVX1ZJT0xBVEVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1ZJVFdfTVBVX1ZJT19BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX01QVV9WSU9fQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfTVBVX1ZJT19BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfTVBVMF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX01QVTBfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19NUFUwX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1ZJVFdfTVBVMF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1ZJVFdfTVBVMF9TVEFSVF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX01QVTBfU1RBUlRfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfTVBVMF9TVEFSVF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfTVBVMF9FTkRfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX01QVTBfRU5EX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfTVBVMF9FTkRfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfTVBVMV9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX01QVTFfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19NUFUxX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1ZJVFdfTVBVMV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1ZJVFdfTVBVMV9TVEFSVF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX01QVTFfU1RBUlRfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfTVBVMV9TVEFSVF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfTVBVMV9FTkRfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX01QVTFfRU5EX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfTVBVMV9FTkRfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfTVBVMl9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX01QVTJfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVklUV19NUFUyX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1ZJVFdfTVBVMl9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1ZJVFdfTVBVMl9TVEFSVF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX01QVTJfU1RBUlRfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfTVBVMl9TVEFSVF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfTVBVMl9FTkRfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX01QVTJfRU5EX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1ZJVFdfTVBVMl9FTkRfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfREJHMF9WSVRXX0JDSF9DU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjUpCisjZGVmaW5lIERCUlBfVklUV19EQkcwX1ZJVFdfQkNIX0NTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1ZJVFdfREJHMF9WSVRXX0JDSF9DU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxRTAwMDAwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfREJHMF9WSVRXX1RSQ0hJX0NTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTcpCisjZGVmaW5lIERCUlBfVklUV19EQkcwX1ZJVFdfVFJDSElfQ1NfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBEQlJQX1ZJVFdfREJHMF9WSVRXX1RSQ0hJX0NTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMUZFMDAwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfREJHMF9WSVRXX0JURkRfQ1NfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVklUV19EQkcwX1ZJVFdfQlRGRF9DU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBEQlJQX1ZJVFdfREJHMF9WSVRXX0JURkRfQ1NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxRkMwMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfREJHMF9WSVRXX0NUUkxfQ1NfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX0RCRzBfVklUV19DVFJMX0NTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1ZJVFdfREJHMF9WSVRXX0NUUkxfQ1NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGRikKKworI2RlZmluZSBEQlJQX1ZJVFdfREJHMV9WSVRXX1NDSF9DU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9WSVRXX0RCRzFfVklUV19TQ0hfQ1NfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVklUV19EQkcxX1ZJVFdfU0NIX0NTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwRjgwKQorCisjZGVmaW5lIERCUlBfVklUV19EQkcxX1ZJVFdfRkNIX0NTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfREJHMV9WSVRXX0ZDSF9DU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9WSVRXX0RCRzFfVklUV19GQ0hfQ1NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwN0YpCisKKyNkZWZpbmUgREJSUF9WSVRXX0RCRzJfQlRGRF9URl9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI4KQorI2RlZmluZSBEQlJQX1ZJVFdfREJHMl9CVEZEX1RGX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9WSVRXX0RCRzJfQlRGRF9URl9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RjAwMDAwMDApCisKKyNkZWZpbmUgREJSUF9WSVRXX0RCRzJfVklORk9fQ1NfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1ZJVFdfREJHMl9WSU5GT19DU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIERCUlBfVklUV19EQkcyX1ZJTkZPX0NTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA3RkYwMDAwKQorCisjZGVmaW5lIERCUlBfVklUV19EQkcyX0NVUl9CVEZEX1RSQ0hfSURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgREJSUF9WSVRXX0RCRzJfQ1VSX0JURkRfVFJDSF9JRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfVklUV19EQkcyX0NVUl9CVEZEX1RSQ0hfSURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3MDAwKQorCisjZGVmaW5lIERCUlBfVklUV19EQkcyX0NVUl9UUkNISV9JRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBEQlJQX1ZJVFdfREJHMl9DVVJfVFJDSElfSURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9WSVRXX0RCRzJfQ1VSX1RSQ0hJX0lEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDBFMDApCisKKyNkZWZpbmUgREJSUF9WSVRXX0RCRzJfVkRFQ19DU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVklUV19EQkcyX1ZERUNfQ1NfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1ZJVFdfREJHMl9WREVDX0NTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGMCkKKworI2RlZmluZSBEQlJQX1ZJVFdfREJHMl9WREVDX0lOVEZfQ1NfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9WSVRXX0RCRzJfVkRFQ19JTlRGX0NTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVklUV19EQkcyX1ZERUNfSU5URl9DU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIERCUlBfVklUV19EQkczX1ZET0JfVFJCS19TVEFURV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgREJSUF9WSVRXX0RCRzNfVkRPQl9UUkJLX1NUQVRFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIERCUlBfVklUV19EQkczX1ZET0JfVFJCS19TVEFURV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwM0Y4MDAwKQorCisjZGVmaW5lIERCUlBfVklUV19EQkczX1ZERUNfRkxPV19DU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1ZJVFdfREJHM19WREVDX0ZMT1dfQ1NfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIERCUlBfVklUV19EQkczX1ZERUNfRkxPV19DU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisKKyNlbmRpZiAvLyNpZm5kZWYgX0NQSF9DMktfUlhfQlJQX0RWSVRfSF8KZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhjMmtyeGJycHR1ci5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGMya3J4YnJwdHVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzZhNmM0ZQotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhjMmtyeGJycHR1ci5oCkBAIC0wLDAgKzEsNDQgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWYgZGVmaW5lZChfX01EOTNfXykKKyNpbmNsdWRlICAiY3BoYzJrcnhicnB0dXJfOTMuaCIKKyNlbGlmIGRlZmluZWQoX19NRDk1X18pCisjaW5jbHVkZSAgImNwaGMya3J4YnJwdHVyXzkzLmgiCisjZWxpZiBkZWZpbmVkKF9fTUQ5N19fKQorI2luY2x1ZGUgICJjcGhjMmtyeGJycHR1cl85Ny5oIgorI2Vsc2UKKyNlcnJvciAiW0VSUk9SXSBJbnZhbGlkIE1EIGdlbmVyYXRpb24iCisjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGMya3J4YnJwdHVyXzkzLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoYzJrcnhicnB0dXJfOTMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YmIyYTU0Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGMya3J4YnJwdHVyXzkzLmgKQEAgLTAsMCArMSwyNTA5IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfQ1BIX0MyS19SWF9CUlBfVFVSX0hfCisjZGVmaW5lIF9DUEhfQzJLX1JYX0JSUF9UVVJfSF8KKworCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBTUkFNQUREUjsgICAgICAgICAvKiBTUkFNIGFkZHIgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIFNSQU1EQVRBOyAgICAgICAgIC8qIFNSQU0gZGF0YSBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogQVBCQUREUjsgICAgICAgICAgLyogQVBCIGFkZHIgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBBUEJEQVRBOyAgICAgICAgICAvKiBBUEIgZGF0YSBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyogIEFQQkFERFIzMjsgICAgICAgIC8qIEFQQiBhZGRyIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICAgQVBCREFUQTMyOyAgICAgICAgLyogQVBCIGRhdGEgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBEUFJBTUFERFI7ICAgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgc2lnbmVkICAgc2hvcnQqIERQUkFNQUREUl9TOyAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgRFBSQU1EQVRBOyAgICAgICAgLyogRFBSQU0gZGF0YSBpcyAxNiBiaXRzICovCisKKworI2RlZmluZSBSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhhZDEyMDAwMCkKKworI2RlZmluZSBSWEJSUF9XQ1RMX1RVUl9lbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweEQwQTAgKyAxKjQpCisKKworCisjZGVmaW5lIERCUlBfVFVSX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MDAwMCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ1JNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MDAwNCkpCisjZGVmaW5lIERCUlBfVFVSX0NfREJHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MDAwOCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfVFJHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjAwMCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfRE9ORSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjAwNCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjAwOCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjAwQykpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0JCVUYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjAxMCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjAxNCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0xQMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjAxOCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0xQMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjAxQykpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0xQMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjAyMCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX1RyQksgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjAyNCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0NvQksgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjAyOCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0RNQV9EU1QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjAyQykpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0RNQV9DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjAzMCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX1RSQUNFX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjAzNCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0hTUk1fQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjAzOCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjAzQykpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0xQMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjA0MCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0xQMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjA0NCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0xQMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjA0OCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX1RyQksgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjA0QykpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0NvQksgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjA1MCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0RNQV9EU1QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjA1NCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0RNQV9DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjA1OCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX1RSQUNFX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjA1QykpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0hTUk1fQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjA2MCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjA2NCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0xQMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjA2OCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0xQMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjA2QykpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0xQMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjA3MCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX1RyQksgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjA3NCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0NvQksgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjA3OCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0RNQV9EU1QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjA3QykpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0RNQV9DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjA4MCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX1RSQUNFX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjA4NCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0hTUk1fQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjA4OCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjA4QykpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0xQMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjA5MCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0xQMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjA5NCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0xQMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjA5OCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX1RyQksgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjA5QykpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0NvQksgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjBBMCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0RNQV9EU1QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjBBNCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0RNQV9DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjBBOCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX1RSQUNFX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjBBQykpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0hTUk1fQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjBCMCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjBCNCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0xQMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjBCOCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0xQMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjBCQykpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0xQMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjBDMCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X1RyQksgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjBDNCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0NvQksgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjBDOCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0RNQV9EU1QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjBDQykpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0RNQV9DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjBEMCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X1RSQUNFX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjBENCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0hTUk1fQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjBEOCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX1RCQ1JDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjBEQykpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0xTVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjBFMCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0hEQ1JDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjBFNCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0xQMF9TVE9SRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjBFOCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0xQMV9TVE9SRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjBFQykpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0xQMl9TVE9SRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjBGMCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX2lDUkMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjBGNCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0VORVJHWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjBGOCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX1RCQ1JDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjBGQykpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0xTVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjEwMCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0hEQ1JDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjEwNCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0xQMF9TVE9SRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjEwOCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0xQMV9TVE9SRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjEwQykpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0xQMl9TVE9SRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjExMCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX2lDUkMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjExNCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0VORVJHWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjExOCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX1RCQ1JDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjExQykpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0xTVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjEyMCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0hEQ1JDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjEyNCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0xQMF9TVE9SRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjEyOCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0xQMV9TVE9SRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjEyQykpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0xQMl9TVE9SRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjEzMCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX2lDUkMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjEzNCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX1RCQ1JDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjEzOCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0xTVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjEzQykpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0hEQ1JDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjE0MCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0xQMF9TVE9SRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjE0NCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0xQMV9TVE9SRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjE0OCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0xQMl9TVE9SRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjE0QykpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX2lDUkMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjE1MCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X1RCQ1JDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjE1NCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0xTVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjE1OCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0hEQ1JDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjE1QykpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0xQMF9TVE9SRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjE2MCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0xQMV9TVE9SRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjE2NCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0xQMl9TVE9SRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjE2OCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X2lDUkMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjE2QykpCisjZGVmaW5lIERCUlBfVFVSX0JVU1kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MjE3MCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9UUkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzAwMCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzAwNCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9MQVRDSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzAwOCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9GUk0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzAwQykpCisjZGVmaW5lIERCUlBfVFVSX0xURV9TSV9QSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzAxMCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQk5VTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzAxNCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfSVRFUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzAxOCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfTUFDX0lORk8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzAxQykpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfSU5JICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzAyMCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfVEJJTkZPMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzAyNCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfRU1JX0lORk8wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzAyOCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfRU1JX0lORk8xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzAyQykpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfSVRFUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzAzMCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfTUFDX0lORk8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzAzNCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfSU5JICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzAzOCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfVEJJTkZPMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzAzQykpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfRU1JX0lORk8wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzA0MCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfRU1JX0lORk8xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzA0NCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfSVRFUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzA0OCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfTUFDX0lORk8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzA0QykpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfSU5JICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzA1MCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfVEJJTkZPMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzA1NCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfRU1JX0lORk8wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzA1OCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfRU1JX0lORk8xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzA1QykpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfSVRFUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzA2MCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfTUFDX0lORk8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzA2NCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfSU5JICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzA2OCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfVEJJTkZPMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzA2QykpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfRU1JX0lORk8wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzA3MCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfRU1JX0lORk8xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzA3NCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfSVRFUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzA3OCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfTUFDX0lORk8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzA3QykpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfSU5JICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzA4MCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfVEJJTkZPMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzA4NCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfRU1JX0lORk8wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzA4OCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfRU1JX0lORk8xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzA4QykpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gwX1JQVDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzA5MCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gwX1JQVDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzA5NCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gxX1JQVDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzA5OCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gxX1JQVDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzA5QykpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gyX1JQVDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzBBMCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gyX1JQVDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzBBNCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gzX1JQVDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzBBOCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gzX1JQVDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzBBQykpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0g0X1JQVDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzBCMCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0g0X1JQVDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzBCNCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gwX1JQVDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzBCOCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gwX1JQVDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzBCQykpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gxX1JQVDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzBDMCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gxX1JQVDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzBDNCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gyX1JQVDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzBDOCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gyX1JQVDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzBDQykpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gzX1JQVDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzBEMCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gzX1JQVDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzBENCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0g0X1JQVDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzBEOCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0g0X1JQVDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzBEQykpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gwX1JQVDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzBFMCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gwX1JQVDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzBFNCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gxX1JQVDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzBFOCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gxX1JQVDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzBFQykpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gyX1JQVDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzBGMCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gyX1JQVDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzBGNCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gzX1JQVDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzBGOCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gzX1JQVDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzBGQykpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0g0X1JQVDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzEwMCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0g0X1JQVDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzEwNCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzEwOCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DTUQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzEwQykpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DTUQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzExMCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ01EX1JQVDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzExNCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ01EX1JQVDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzExOCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ01EX1JQVDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzExQykpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ01EX1JQVDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzEyMCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ01EX1JQVDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzEyNCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ01EX1JQVDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzEyOCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0FTU0VSVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4MzEyQykpCisjZGVmaW5lIERCUlBfVFVSX0xURV9GV19SU1QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4M0ZGQykpCisjZGVmaW5lIERCUlBfVFVSX1JTUlZfTVBVX1NUQVJUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NDAwQykpCisjZGVmaW5lIERCUlBfVFVSX1JTUlZfTVBVX0VORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NDAxMCkpCisjZGVmaW5lIERCUlBfVFVSX1JTUlZfTVBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NDAxNCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfTVBVX1NUQVJUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NDAxOCkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfTVBVX0VORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NDAxQykpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfTVBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NDAyMCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUFVfU1RBUlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NDAyNCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUFVfRU5EICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NDAyOCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NDAyQykpCisjZGVmaW5lIERCUlBfVFVSX01QVV9WSU8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NDAzMCkpCisjZGVmaW5lIERCUlBfVFVSX01QVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NDAzNCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RBVEFfQ05UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTAwMCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTAwNCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTAwOCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTAwQykpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTAxMCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR180ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTAxNCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR181ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTAxOCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR182ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTAxQykpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR183ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTAyMCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR184ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTAyNCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR185ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTAyOCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18xMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTAyQykpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18xMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTAzMCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18xMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTAzNCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18xMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTAzOCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18xNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTAzQykpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18xNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTA0MCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18xNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTA0NCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18xNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTA0OCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18xOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTA0QykpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18xOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTA1MCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18yMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTA1NCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18yMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTA1OCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18yMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTA1QykpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18yMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTA2MCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18yNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTA2NCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18yNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTA2OCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18yNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTA2QykpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18yNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTA3MCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18yOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTA3NCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18yOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTA3OCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18zMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTA3QykpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18zMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTA4MCkpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX1dSSVRFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTA4NCkpCisjZGVmaW5lIERCUlBfVFVSX0xfRlNNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTA4OCkpCisjZGVmaW5lIERCUlBfVFVSX1dUX0ZTTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTA4QykpCisjZGVmaW5lIERCUlBfVFVSX0RFQ19GU00gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTA5MCkpCisjZGVmaW5lIERCUlBfVFVSX0RPQl9GU00gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTA5NCkpCisjZGVmaW5lIERCUlBfVFVSX0NfRlNNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTA5OCkpCisjZGVmaW5lIERCUlBfVFVSX01PREVfREJHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NTA5QykpCisjZGVmaW5lIERCUlBfVFVSX1JUVF9DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NjAwMCkpCisjZGVmaW5lIERCUlBfVFVSX1JUVF9EU1QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NjAwNCkpCisjZGVmaW5lIERCUlBfVFVSX1JUVF9ETUFfQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NjAwOCkpCisjZGVmaW5lIERCUlBfVFVSX1JUVF9UUkFDRV9DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NjAwQykpCisjZGVmaW5lIERCUlBfVFVSX1JUVF9DQkNSQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NjAxMCkpCisjZGVmaW5lIERCUlBfVFVSX1JUVF9MU1QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NjAxNCkpCisjZGVmaW5lIERCUlBfVFVSX1JUVF9FTkVSR1kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NjAxOCkpCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fSVRFUl9DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NzAwMCkpCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fRFNUX1BJTkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NzAwNCkpCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fRFNUX1BPTkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NzAwOCkpCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fRE1BX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NzAwQykpCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fVFJBQ0VfQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NzAxMCkpCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fQ0JDUkMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NzAxNCkpCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fTFNUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NzAxOCkpCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fSEFSUSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NzAxQykpCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fUEFDS0VUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NzAyMCkpCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fRFNUX0FEUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NzAyNCkpCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fRU5FUkdZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NzAyOCkpCisjZGVmaW5lIERCUlBfVFVSX0MyS19CVVNZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4NzAyQykpCisjZGVmaW5lIERCUlBfVFVSX0NCX05VTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4RDAwMCkpCisjZGVmaW5lIERCUlBfVFVSX0NIMF9DQl9TSVpFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4RDAxOCkpCisjZGVmaW5lIERCUlBfVFVSX0NIMF9DQk5VTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4RDAyOCkpCisjZGVmaW5lIERCUlBfVFVSX0NIMF9ETVlfRklMX0lORk8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4RDAzMCkpCisjZGVmaW5lIERCUlBfVFVSX0NIMV9DQl9TSVpFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4RDAzNCkpCisjZGVmaW5lIERCUlBfVFVSX0NIMV9DQk5VTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4RDA0NCkpCisjZGVmaW5lIERCUlBfVFVSX0NIMV9ETVlfRklMX0lORk8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4RDA0QykpCisjZGVmaW5lIERCUlBfVFVSX0NIMl9DQl9TSVpFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4RDA1MCkpCisjZGVmaW5lIERCUlBfVFVSX0NIMl9DQk5VTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4RDA2MCkpCisjZGVmaW5lIERCUlBfVFVSX0NIMl9ETVlfRklMX0lORk8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4RDA2OCkpCisjZGVmaW5lIERCUlBfVFVSX0NIM19DQl9TSVpFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4RDA2QykpCisjZGVmaW5lIERCUlBfVFVSX0NIM19DQk5VTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4RDA3QykpCisjZGVmaW5lIERCUlBfVFVSX0NIM19ETVlfRklMX0lORk8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4RDA4NCkpCisjZGVmaW5lIERCUlBfVFVSX0NINF9DQl9TSVpFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4RDA4OCkpCisjZGVmaW5lIERCUlBfVFVSX0NINF9DQk5VTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4RDA5OCkpCisjZGVmaW5lIERCUlBfVFVSX0NINF9ETVlfRklMX0lORk8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9XQ1RMX1RVUl9SRUdfQkFTRSArIDB4RDBBMCkpCisKKworI2RlZmluZSBEQlJQX1RVUl9DRkdfQ1JfVEhfT0ZTVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfQ0ZHX0NSX1RIX09GU1RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBEQlJQX1RVUl9DRkdfQ1JfVEhfT0ZTVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMUZGRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NSTV9CWVBBU1NfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDUk1fQllQQVNTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ1JNX0JZUEFTU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NSTV9CWVBBU1NfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1RVUl9DX0RCR19USU1FUl9MQVRDSF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfQ19EQkdfVElNRVJfTEFUQ0hfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0NfREJHX1RJTUVSX0xBVENIX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBEQlJQX1RVUl9DX0RCR19USU1FUl9MQVRDSF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBEQlJQX1RVUl9DX0RCR19FTUlfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfQ19EQkdfRU1JX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0NfREJHX0VNSV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1RVUl9DX0RCR19FTUlfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX1RSR19TVEFSVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9UUkdfU1RBUlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfVFJHX1NUQVJUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX1RSR19TVEFSVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0RPTkVfU1dfSVJRX1RSR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9ET05FX1NXX0lSUV9UUkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfRE9ORV9TV19JUlFfVFJHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0RPTkVfU1dfSVJRX1RSR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0RPTkVfU1dfSVJRX1NUQVRVU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9ET05FX1NXX0lSUV9TVEFUVVNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfRE9ORV9TV19JUlFfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0RPTkVfU1dfSVJRX1NUQVRVU19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0RPTkVfU1RBVFVTX0RJU0FCTEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9ET05FX1NUQVRVU19ESVNBQkxFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfRE9ORV9TVEFUVVNfRElTQUJMRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0RPTkVfU1RBVFVTX0RJU0FCTEVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0RPTkVfU1RBVFVTX0NINF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9ET05FX1NUQVRVU19DSDRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfRE9ORV9TVEFUVVNfQ0g0X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0RPTkVfU1RBVFVTX0NINF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0RPTkVfU1RBVFVTX0NIM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9ET05FX1NUQVRVU19DSDNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfRE9ORV9TVEFUVVNfQ0gzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0RPTkVfU1RBVFVTX0NIM19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0RPTkVfU1RBVFVTX0NIMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9ET05FX1NUQVRVU19DSDJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfRE9ORV9TVEFUVVNfQ0gyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0RPTkVfU1RBVFVTX0NIMl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0RPTkVfU1RBVFVTX0NIMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9ET05FX1NUQVRVU19DSDFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfRE9ORV9TVEFUVVNfQ0gxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0RPTkVfU1RBVFVTX0NIMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0RPTkVfU1RBVFVTX0NIMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9ET05FX1NUQVRVU19DSDBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfRE9ORV9TVEFUVVNfQ0gwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0RPTkVfU1RBVFVTX0NIMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0VOX0xPV1BXUl9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9FTl9MT1dQV1JfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfRU5fTE9XUFdSX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0VOX0xPV1BXUl9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0VOX0NIaV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9FTl9DSGlfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfRU5fQ0hpX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0ZHX0hEQUNSQ19NT0RFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NGR19IREFDUkNfTU9ERV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DRkdfSERBQ1JDX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DQkJVRl9CQVNFX0FERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0JCVUZfQkFTRV9BRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DQkJVRl9CQVNFX0FERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDBGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfQ0ZHX1VFSURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9DRkdfVUVJRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0NGR19VRUlEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0NGR19DUkNfTUVUSE9EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfQ0ZHX0NSQ19NRVRIT0RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0NGR19DUkNfTUVUSE9EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9DRkdfQ1JDX01FVEhPRF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9DRkdfTUlOX0lURVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0NGR19NSU5fSVRFUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9DRkdfTUlOX0lURVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0MwMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9DRkdfTUFYX0lURVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfQ0ZHX01BWF9JVEVSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0NGR19NQVhfSVRFUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwM0UwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0NGR19UQl9FUV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9DRkdfVEJfRVFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfQ0ZHX1RCX0VRX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0NGR19UQl9FUV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0NGR19IRENSQ0VTX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9DRkdfSERDUkNFU19FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfQ0ZHX0hEQ1JDRVNfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0NGR19IRENSQ0VTX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0NGR19DUkNTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9DRkdfQ1JDU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfQ0ZHX0NSQ1NJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDcpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfTFAwX0RTQ1JNX0lOSV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9MUDBfRFNDUk1fSU5JX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0xQMF9EU0NSTV9JTklfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0xQMF9XQlVGX0lOSV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9MUDBfV0JVRl9JTklfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0xQMF9XQlVGX0lOSV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAzRkYwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0xQMF9TVEFSVF9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9MUDBfU1RBUlRfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfTFAwX1NUQVJUX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfTFAxX1BDUkNfSU5JX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0xQMV9QQ1JDX0lOSV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfTFAxX1BDUkNfSU5JX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfTFAyX0NCVUZfSU5JX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9MUDJfQ0JVRl9JTklfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0xQMl9DQlVGX0lOSV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDdGRTAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0xQMl9SRENOVF9JTklfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9MUDJfUkRDTlRfSU5JX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0xQMl9SRENOVF9JTklfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX1RyQktfVEJTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfVHJCS19UQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9UckJLX1RCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9UckJLX1RCTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfVHJCS19UQk5VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX1RyQktfVEJOVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDNGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0NvQktfQ0JTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfQ29CS19DQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9Db0JLX0NCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxRkZGMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9Db0JLX0NCUEFEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfQ29CS19DQlBBRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0NvQktfQ0JQQURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwM0YwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0NvQktfQ0JOVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9Db0JLX0NCTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfQ29CS19DQk5VTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfRE1BX0RTVF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0RNQV9EU1RfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfRE1BX0RTVF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfRE1BX0NGR19DUkNfUkVNT1ZFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0RNQV9DRkdfQ1JDX1JFTU9WRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9ETUFfQ0ZHX0NSQ19SRU1PVkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfRE1BX0NGR19DUkNfUkVNT1ZFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfRE1BX0NGR19TV0FQX0VORElBTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0RNQV9DRkdfU1dBUF9FTkRJQU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9ETUFfQ0ZHX1NXQVBfRU5ESUFOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfRE1BX0NGR19TV0FQX0VORElBTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfRE1BX0NGR19NQUNfT0ZTVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0RNQV9DRkdfTUFDX09GU1RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9ETUFfQ0ZHX01BQ19PRlNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9UUkFDRV9DRkdfVFJBQ0VfQ0JfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfVFJBQ0VfQ0ZHX1RSQUNFX0NCX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX1RSQUNFX0NGR19UUkFDRV9DQl9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEYwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX1RSQUNFX0NGR19UUkFDRV9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9UUkFDRV9DRkdfVFJBQ0VfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfVFJBQ0VfQ0ZHX1RSQUNFX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX1RSQUNFX0NGR19UUkFDRV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0hTUk1fQ0ZHX1BJTkdfUE9OR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9IU1JNX0NGR19QSU5HX1BPTkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfSFNSTV9DRkdfUElOR19QT05HX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0hTUk1fQ0ZHX1BJTkdfUE9OR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0NGR19VRUlEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfQ0ZHX1VFSURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9DRkdfVUVJRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9DRkdfQ1JDX01FVEhPRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0NGR19DUkNfTUVUSE9EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9DRkdfQ1JDX01FVEhPRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfQ0ZHX0NSQ19NRVRIT0RfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfQ0ZHX01JTl9JVEVSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9DRkdfTUlOX0lURVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfQ0ZHX01JTl9JVEVSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdDMDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfQ0ZHX01BWF9JVEVSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0NGR19NQVhfSVRFUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9DRkdfTUFYX0lURVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNFMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9DRkdfVEJfRVFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfQ0ZHX1RCX0VRX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0NGR19UQl9FUV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9DRkdfVEJfRVFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9DRkdfSERDUkNFU19FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfQ0ZHX0hEQ1JDRVNfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0NGR19IRENSQ0VTX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9DRkdfSERDUkNFU19FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9DRkdfQ1JDU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfQ0ZHX0NSQ1NJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0NGR19DUkNTSVpFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0xQMF9EU0NSTV9JTklfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfTFAwX0RTQ1JNX0lOSV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9MUDBfRFNDUk1fSU5JX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9MUDBfV0JVRl9JTklfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfTFAwX1dCVUZfSU5JX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9MUDBfV0JVRl9JTklfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwM0ZGMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9MUDBfU1RBUlRfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfTFAwX1NUQVJUX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0xQMF9TVEFSVF9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0xQMV9QQ1JDX0lOSV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9MUDFfUENSQ19JTklfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0xQMV9QQ1JDX0lOSV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0xQMl9DQlVGX0lOSV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfTFAyX0NCVUZfSU5JX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9MUDJfQ0JVRl9JTklfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg3RkUwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9MUDJfUkRDTlRfSU5JX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfTFAyX1JEQ05UX0lOSV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9MUDJfUkRDTlRfSU5JX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDFGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9UckJLX1RCU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX1RyQktfVEJTSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfVHJCS19UQlNJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfVHJCS19UQk5VTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX1RyQktfVEJOVU1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9UckJLX1RCTlVNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9Db0JLX0NCU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0NvQktfQ0JTSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfQ29CS19DQlNJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MUZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfQ29CS19DQlBBRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0NvQktfQ0JQQURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9Db0JLX0NCUEFEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9Db0JLX0NCTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfQ29CS19DQk5VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0NvQktfQ0JOVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0RNQV9EU1RfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9ETUFfRFNUX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0RNQV9EU1RfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0RNQV9DRkdfQ1JDX1JFTU9WRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9ETUFfQ0ZHX0NSQ19SRU1PVkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfRE1BX0NGR19DUkNfUkVNT1ZFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0RNQV9DRkdfQ1JDX1JFTU9WRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0RNQV9DRkdfU1dBUF9FTkRJQU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9ETUFfQ0ZHX1NXQVBfRU5ESUFOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfRE1BX0NGR19TV0FQX0VORElBTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0RNQV9DRkdfU1dBUF9FTkRJQU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0RNQV9DRkdfTUFDX09GU1RfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9ETUFfQ0ZHX01BQ19PRlNUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfRE1BX0NGR19NQUNfT0ZTVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfVFJBQ0VfQ0ZHX1RSQUNFX0NCX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX1RSQUNFX0NGR19UUkFDRV9DQl9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9UUkFDRV9DRkdfVFJBQ0VfQ0JfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDBGMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9UUkFDRV9DRkdfVFJBQ0VfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfVFJBQ0VfQ0ZHX1RSQUNFX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX1RSQUNFX0NGR19UUkFDRV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9UUkFDRV9DRkdfVFJBQ0VfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9IU1JNX0NGR19QSU5HX1BPTkdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfSFNSTV9DRkdfUElOR19QT05HX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0hTUk1fQ0ZHX1BJTkdfUE9OR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9IU1JNX0NGR19QSU5HX1BPTkdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9DRkdfVUVJRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0NGR19VRUlEX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfQ0ZHX1VFSURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfQ0ZHX0NSQ19NRVRIT0RfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9DRkdfQ1JDX01FVEhPRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfQ0ZHX0NSQ19NRVRIT0RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0NGR19DUkNfTUVUSE9EX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0NGR19NSU5fSVRFUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfQ0ZHX01JTl9JVEVSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0NGR19NSU5fSVRFUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3QzAwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0NGR19NQVhfSVRFUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9DRkdfTUFYX0lURVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfQ0ZHX01BWF9JVEVSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRTApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfQ0ZHX1RCX0VRX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0NGR19UQl9FUV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9DRkdfVEJfRVFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfQ0ZHX1RCX0VRX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfQ0ZHX0hEQ1JDRVNfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0NGR19IRENSQ0VTX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9DRkdfSERDUkNFU19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfQ0ZHX0hEQ1JDRVNfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfQ0ZHX0NSQ1NJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0NGR19DUkNTSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9DRkdfQ1JDU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9MUDBfRFNDUk1fSU5JX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0xQMF9EU0NSTV9JTklfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfTFAwX0RTQ1JNX0lOSV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfTFAwX1dCVUZfSU5JX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0xQMF9XQlVGX0lOSV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfTFAwX1dCVUZfSU5JX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDNGRjApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfTFAwX1NUQVJUX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0xQMF9TVEFSVF9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9MUDBfU1RBUlRfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9MUDFfUENSQ19JTklfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfTFAxX1BDUkNfSU5JX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9MUDFfUENSQ19JTklfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9MUDJfQ0JVRl9JTklfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0xQMl9DQlVGX0lOSV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfTFAyX0NCVUZfSU5JX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4N0ZFMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfTFAyX1JEQ05UX0lOSV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0xQMl9SRENOVF9JTklfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfTFAyX1JEQ05UX0lOSV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfVHJCS19UQlNJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9UckJLX1RCU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX1RyQktfVEJTSVpFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX1RyQktfVEJOVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9UckJLX1RCTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfVHJCS19UQk5VTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfQ29CS19DQlNJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9Db0JLX0NCU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0NvQktfQ0JTSVpFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDFGRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0NvQktfQ0JQQURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9Db0JLX0NCUEFEX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfQ29CS19DQlBBRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRjApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfQ29CS19DQk5VTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0NvQktfQ0JOVU1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9Db0JLX0NCTlVNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9ETUFfRFNUX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfRE1BX0RTVF9BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9ETUFfRFNUX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9ETUFfQ0ZHX0NSQ19SRU1PVkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfRE1BX0NGR19DUkNfUkVNT1ZFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0RNQV9DRkdfQ1JDX1JFTU9WRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9ETUFfQ0ZHX0NSQ19SRU1PVkVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9ETUFfQ0ZHX1NXQVBfRU5ESUFOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfRE1BX0NGR19TV0FQX0VORElBTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0RNQV9DRkdfU1dBUF9FTkRJQU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9ETUFfQ0ZHX1NXQVBfRU5ESUFOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9ETUFfQ0ZHX01BQ19PRlNUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfRE1BX0NGR19NQUNfT0ZTVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0RNQV9DRkdfTUFDX09GU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX1RSQUNFX0NGR19UUkFDRV9DQl9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9UUkFDRV9DRkdfVFJBQ0VfQ0JfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfVFJBQ0VfQ0ZHX1RSQUNFX0NCX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwRjApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfVFJBQ0VfQ0ZHX1RSQUNFX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX1RSQUNFX0NGR19UUkFDRV9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9UUkFDRV9DRkdfVFJBQ0VfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfVFJBQ0VfQ0ZHX1RSQUNFX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfSFNSTV9DRkdfUElOR19QT05HX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0hTUk1fQ0ZHX1BJTkdfUE9OR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9IU1JNX0NGR19QSU5HX1BPTkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfSFNSTV9DRkdfUElOR19QT05HX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfQ0ZHX1VFSURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19DRkdfVUVJRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0NGR19VRUlEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0NGR19DUkNfTUVUSE9EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfQ0ZHX0NSQ19NRVRIT0RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0NGR19DUkNfTUVUSE9EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19DRkdfQ1JDX01FVEhPRF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19DRkdfTUlOX0lURVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0NGR19NSU5fSVRFUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19DRkdfTUlOX0lURVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0MwMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19DRkdfTUFYX0lURVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfQ0ZHX01BWF9JVEVSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0NGR19NQVhfSVRFUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwM0UwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0NGR19UQl9FUV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19DRkdfVEJfRVFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfQ0ZHX1RCX0VRX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0NGR19UQl9FUV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0NGR19IRENSQ0VTX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19DRkdfSERDUkNFU19FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfQ0ZHX0hEQ1JDRVNfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0NGR19IRENSQ0VTX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0NGR19DUkNTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19DRkdfQ1JDU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfQ0ZHX0NSQ1NJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDcpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfTFAwX0RTQ1JNX0lOSV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19MUDBfRFNDUk1fSU5JX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0xQMF9EU0NSTV9JTklfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0xQMF9XQlVGX0lOSV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19MUDBfV0JVRl9JTklfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0xQMF9XQlVGX0lOSV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAzRkYwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0xQMF9TVEFSVF9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19MUDBfU1RBUlRfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfTFAwX1NUQVJUX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfTFAxX1BDUkNfSU5JX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0xQMV9QQ1JDX0lOSV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfTFAxX1BDUkNfSU5JX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfTFAyX0NCVUZfSU5JX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19MUDJfQ0JVRl9JTklfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0xQMl9DQlVGX0lOSV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDdGRTAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0xQMl9SRENOVF9JTklfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19MUDJfUkRDTlRfSU5JX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0xQMl9SRENOVF9JTklfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX1RyQktfVEJTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfVHJCS19UQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19UckJLX1RCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19UckJLX1RCTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfVHJCS19UQk5VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX1RyQktfVEJOVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDNGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0NvQktfQ0JTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfQ29CS19DQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19Db0JLX0NCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxRkZGMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19Db0JLX0NCUEFEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfQ29CS19DQlBBRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0NvQktfQ0JQQURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwM0YwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0NvQktfQ0JOVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19Db0JLX0NCTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfQ29CS19DQk5VTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfRE1BX0RTVF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0RNQV9EU1RfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfRE1BX0RTVF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfRE1BX0NGR19DUkNfUkVNT1ZFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0RNQV9DRkdfQ1JDX1JFTU9WRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19ETUFfQ0ZHX0NSQ19SRU1PVkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfRE1BX0NGR19DUkNfUkVNT1ZFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfRE1BX0NGR19TV0FQX0VORElBTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0RNQV9DRkdfU1dBUF9FTkRJQU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19ETUFfQ0ZHX1NXQVBfRU5ESUFOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfRE1BX0NGR19TV0FQX0VORElBTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfRE1BX0NGR19NQUNfT0ZTVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0RNQV9DRkdfTUFDX09GU1RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19ETUFfQ0ZHX01BQ19PRlNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19UUkFDRV9DRkdfVFJBQ0VfQ0JfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfVFJBQ0VfQ0ZHX1RSQUNFX0NCX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX1RSQUNFX0NGR19UUkFDRV9DQl9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEYwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX1RSQUNFX0NGR19UUkFDRV9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19UUkFDRV9DRkdfVFJBQ0VfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfVFJBQ0VfQ0ZHX1RSQUNFX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX1RSQUNFX0NGR19UUkFDRV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0hTUk1fQ0ZHX1BJTkdfUE9OR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19IU1JNX0NGR19QSU5HX1BPTkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfSFNSTV9DRkdfUElOR19QT05HX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0hTUk1fQ0ZHX1BJTkdfUE9OR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0NGR19VRUlEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfQ0ZHX1VFSURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9DRkdfVUVJRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9DRkdfQ1JDX01FVEhPRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0NGR19DUkNfTUVUSE9EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9DRkdfQ1JDX01FVEhPRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfQ0ZHX0NSQ19NRVRIT0RfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfQ0ZHX01JTl9JVEVSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9DRkdfTUlOX0lURVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfQ0ZHX01JTl9JVEVSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdDMDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfQ0ZHX01BWF9JVEVSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0NGR19NQVhfSVRFUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9DRkdfTUFYX0lURVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNFMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9DRkdfVEJfRVFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfQ0ZHX1RCX0VRX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0NGR19UQl9FUV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9DRkdfVEJfRVFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9DRkdfSERDUkNFU19FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfQ0ZHX0hEQ1JDRVNfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0NGR19IRENSQ0VTX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9DRkdfSERDUkNFU19FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9DRkdfQ1JDU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfQ0ZHX0NSQ1NJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0NGR19DUkNTSVpFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0xQMF9EU0NSTV9JTklfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfTFAwX0RTQ1JNX0lOSV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9MUDBfRFNDUk1fSU5JX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9MUDBfV0JVRl9JTklfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfTFAwX1dCVUZfSU5JX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9MUDBfV0JVRl9JTklfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwM0ZGMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9MUDBfU1RBUlRfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfTFAwX1NUQVJUX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0xQMF9TVEFSVF9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0xQMV9QQ1JDX0lOSV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9MUDFfUENSQ19JTklfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0xQMV9QQ1JDX0lOSV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0xQMl9DQlVGX0lOSV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfTFAyX0NCVUZfSU5JX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9MUDJfQ0JVRl9JTklfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg3RkUwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9MUDJfUkRDTlRfSU5JX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfTFAyX1JEQ05UX0lOSV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9MUDJfUkRDTlRfSU5JX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDFGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9UckJLX1RCU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X1RyQktfVEJTSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfVHJCS19UQlNJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfVHJCS19UQk5VTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X1RyQktfVEJOVU1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9UckJLX1RCTlVNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9Db0JLX0NCU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0NvQktfQ0JTSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfQ29CS19DQlNJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MUZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfQ29CS19DQlBBRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0NvQktfQ0JQQURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9Db0JLX0NCUEFEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9Db0JLX0NCTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfQ29CS19DQk5VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0NvQktfQ0JOVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0RNQV9EU1RfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9ETUFfRFNUX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0RNQV9EU1RfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0RNQV9DRkdfQ1JDX1JFTU9WRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9ETUFfQ0ZHX0NSQ19SRU1PVkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfRE1BX0NGR19DUkNfUkVNT1ZFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0RNQV9DRkdfQ1JDX1JFTU9WRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0RNQV9DRkdfU1dBUF9FTkRJQU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9ETUFfQ0ZHX1NXQVBfRU5ESUFOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfRE1BX0NGR19TV0FQX0VORElBTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0RNQV9DRkdfU1dBUF9FTkRJQU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0RNQV9DRkdfTUFDX09GU1RfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9ETUFfQ0ZHX01BQ19PRlNUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfRE1BX0NGR19NQUNfT0ZTVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfVFJBQ0VfQ0ZHX1RSQUNFX0NCX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X1RSQUNFX0NGR19UUkFDRV9DQl9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9UUkFDRV9DRkdfVFJBQ0VfQ0JfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDBGMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9UUkFDRV9DRkdfVFJBQ0VfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfVFJBQ0VfQ0ZHX1RSQUNFX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X1RSQUNFX0NGR19UUkFDRV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9UUkFDRV9DRkdfVFJBQ0VfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9IU1JNX0NGR19QSU5HX1BPTkdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfSFNSTV9DRkdfUElOR19QT05HX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0hTUk1fQ0ZHX1BJTkdfUE9OR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9IU1JNX0NGR19QSU5HX1BPTkdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9UQkNSQ19TVEFUVVNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfVEJDUkNfU1RBVFVTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX1RCQ1JDX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9UQkNSQ19TVEFUVVNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9MU1RfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfTFNUX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9MU1RfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9IRENSQ19SRVNVTFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfSERDUkNfUkVTVUxUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0hEQ1JDX1JFU1VMVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0xQMF9TVE9SRV9EU0NSTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfTFAwX1NUT1JFX0RTQ1JNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9MUDBfU1RPUkVfRFNDUk1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9MUDBfU1RPUkVfV0JVRl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfTFAwX1NUT1JFX1dCVUZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9MUDBfU1RPUkVfV0JVRl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9MUDFfU1RPUkVfUENSQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfTFAxX1NUT1JFX1BDUkNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9MUDFfU1RPUkVfUENSQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9MUDJfU1RPUkVfQ0JVRl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0xQMl9TVE9SRV9DQlVGX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfTFAyX1NUT1JFX0NCVUZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4N0ZFMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfTFAyX1NUT1JFX1JEQ05UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0xQMl9TVE9SRV9SRENOVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfTFAyX1NUT1JFX1JEQ05UX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfaUNSQ19SRVNVTFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX2lDUkNfUkVTVUxUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfaUNSQ19SRVNVTFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfRU5FUkdZX0FDQ1VNVUxBVEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0VORVJHWV9BQ0NVTVVMQVRFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfRU5FUkdZX0FDQ1VNVUxBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfVEJDUkNfU1RBVFVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX1RCQ1JDX1NUQVRVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9UQkNSQ19TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfVEJDUkNfU1RBVFVTX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfTFNUX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0xTVF9BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfTFNUX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfSERDUkNfUkVTVUxUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0hEQ1JDX1JFU1VMVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9IRENSQ19SRVNVTFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9MUDBfU1RPUkVfRFNDUk1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0xQMF9TVE9SRV9EU0NSTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfTFAwX1NUT1JFX0RTQ1JNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfTFAwX1NUT1JFX1dCVUZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0xQMF9TVE9SRV9XQlVGX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfTFAwX1NUT1JFX1dCVUZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfTFAxX1NUT1JFX1BDUkNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0xQMV9TVE9SRV9QQ1JDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfTFAxX1NUT1JFX1BDUkNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfTFAyX1NUT1JFX0NCVUZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9MUDJfU1RPUkVfQ0JVRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0xQMl9TVE9SRV9DQlVGX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDdGRTAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0xQMl9TVE9SRV9SRENOVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9MUDJfU1RPUkVfUkRDTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0xQMl9TVE9SRV9SRENOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX2lDUkNfUkVTVUxUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9pQ1JDX1JFU1VMVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX2lDUkNfUkVTVUxUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0VORVJHWV9BQ0NVTVVMQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9FTkVSR1lfQUNDVU1VTEFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0VORVJHWV9BQ0NVTVVMQVRFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX1RCQ1JDX1NUQVRVU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9UQkNSQ19TVEFUVVNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfVEJDUkNfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX1RCQ1JDX1NUQVRVU19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0xTVF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9MU1RfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0xTVF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0hEQ1JDX1JFU1VMVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9IRENSQ19SRVNVTFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfSERDUkNfUkVTVUxUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfTFAwX1NUT1JFX0RTQ1JNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9MUDBfU1RPUkVfRFNDUk1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0xQMF9TVE9SRV9EU0NSTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0xQMF9TVE9SRV9XQlVGX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9MUDBfU1RPUkVfV0JVRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0xQMF9TVE9SRV9XQlVGX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwM0ZGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0xQMV9TVE9SRV9QQ1JDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9MUDFfU1RPUkVfUENSQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0xQMV9TVE9SRV9QQ1JDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0xQMl9TVE9SRV9DQlVGX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfTFAyX1NUT1JFX0NCVUZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9MUDJfU1RPUkVfQ0JVRl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg3RkUwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9MUDJfU1RPUkVfUkRDTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfTFAyX1NUT1JFX1JEQ05UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9MUDJfU1RPUkVfUkRDTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDFGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9pQ1JDX1JFU1VMVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfaUNSQ19SRVNVTFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9pQ1JDX1JFU1VMVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19UQkNSQ19TVEFUVVNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfVEJDUkNfU1RBVFVTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX1RCQ1JDX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19UQkNSQ19TVEFUVVNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19MU1RfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfTFNUX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19MU1RfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19IRENSQ19SRVNVTFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfSERDUkNfUkVTVUxUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0hEQ1JDX1JFU1VMVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0xQMF9TVE9SRV9EU0NSTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfTFAwX1NUT1JFX0RTQ1JNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19MUDBfU1RPUkVfRFNDUk1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19MUDBfU1RPUkVfV0JVRl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfTFAwX1NUT1JFX1dCVUZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19MUDBfU1RPUkVfV0JVRl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19MUDFfU1RPUkVfUENSQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfTFAxX1NUT1JFX1BDUkNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19MUDFfU1RPUkVfUENSQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19MUDJfU1RPUkVfQ0JVRl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0xQMl9TVE9SRV9DQlVGX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfTFAyX1NUT1JFX0NCVUZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4N0ZFMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfTFAyX1NUT1JFX1JEQ05UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0xQMl9TVE9SRV9SRENOVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfTFAyX1NUT1JFX1JEQ05UX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfaUNSQ19SRVNVTFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX2lDUkNfUkVTVUxUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfaUNSQ19SRVNVTFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfVEJDUkNfU1RBVFVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X1RCQ1JDX1NUQVRVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9UQkNSQ19TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfVEJDUkNfU1RBVFVTX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfTFNUX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0xTVF9BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfTFNUX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfSERDUkNfUkVTVUxUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0hEQ1JDX1JFU1VMVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9IRENSQ19SRVNVTFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9MUDBfU1RPUkVfRFNDUk1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0xQMF9TVE9SRV9EU0NSTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfTFAwX1NUT1JFX0RTQ1JNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfTFAwX1NUT1JFX1dCVUZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0xQMF9TVE9SRV9XQlVGX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfTFAwX1NUT1JFX1dCVUZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfTFAxX1NUT1JFX1BDUkNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0xQMV9TVE9SRV9QQ1JDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfTFAxX1NUT1JFX1BDUkNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfTFAyX1NUT1JFX0NCVUZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9MUDJfU1RPUkVfQ0JVRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0xQMl9TVE9SRV9DQlVGX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDdGRTAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0xQMl9TVE9SRV9SRENOVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9MUDJfU1RPUkVfUkRDTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0xQMl9TVE9SRV9SRENOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X2lDUkNfUkVTVUxUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9pQ1JDX1JFU1VMVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X2lDUkNfUkVTVUxUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0JVU1lfRFNDSF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9CVVNZX0RTQ0hfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfQlVTWV9EU0NIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIERCUlBfVFVSX0JVU1lfRFNDSF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9UUkdfU1RBUlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfVFJHX1NUQVJUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX1RSR19TVEFSVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9UUkdfU1RBUlRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX1NXX0lSUV9UUkdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfU1dfSVJRX1RSR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX1NXX0lSUV9UUkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9TV19JUlFfVFJHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9TV19JUlFfU1RBVFVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX1NXX0lSUV9TVEFUVVNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9TV19JUlFfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfU1dfSVJRX1NUQVRVU19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0MyX1NUQVRVU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDMl9TVEFUVVNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQzJfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0MyX1NUQVRVU19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0MxX1NUQVRVU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDMV9TVEFUVVNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQzFfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0MxX1NUQVRVU19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0MwX1NUQVRVU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDMF9TVEFUVVNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQzBfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0MwX1NUQVRVU19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0xBVENIX1NUQVRVU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9MQVRDSF9TVEFUVVNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTEFUQ0hfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0xBVENIX1NUQVRVU19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0ZSTV9GUkFNRV9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRlJNX0ZSQU1FX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVFVSX0xURV9GUk1fRlJBTUVfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAzRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9GUk1fU0lNX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRlJNX1NJTV9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0ZSTV9TSU1fSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIERCUlBfVFVSX0xURV9GUk1fU0lNX0lEWF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9GUk1fU1VCRl9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRlJNX1NVQkZfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0ZSTV9TVUJGX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX1NJX1BJX1BJX1RJRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfU0lfUElfUElfVElEX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVFVSX0xURV9TSV9QSV9QSV9USURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGQzAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9TSV9QSV9TSV9TVUJGX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX1NJX1BJX1NJX1NVQkZfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9TSV9QSV9TSV9TVUJGX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDMwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9TSV9QSV9TSV9USURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfU0lfUElfU0lfVElEX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVFVSX0xURV9TSV9QSV9TSV9USURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkMwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9TSV9QSV9TSV9UWVBFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfU0lfUElfU0lfVFlQRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX1NJX1BJX1NJX1RZUEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NCTlVNX0JJVF9PUkRFUl9CSUdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQk5VTV9CSVRfT1JERVJfQklHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0JOVU1fQklUX09SREVSX0JJR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NCTlVNX0JJVF9PUkRFUl9CSUdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NCTlVNX0VMTFJfQ1RSTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQk5VTV9FTExSX0NUUkxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0JOVU1fRUxMUl9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NCTlVNX0VMTFJfQ1RSTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMF9JVEVSX0NPTV9NSU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX0lURVJfQ09NX01JTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMF9JVEVSX0NPTV9NSU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4M0YwMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMF9JVEVSX1NFQ09ORF9FTExSX0RVTVBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX0lURVJfU0VDT05EX0VMTFJfRFVNUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMF9JVEVSX1NFQ09ORF9FTExSX0RVTVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfSVRFUl9TRUNPTkRfRUxMUl9EVU1QX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfSVRFUl9TRUNPTkRfTUFYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMF9JVEVSX1NFQ09ORF9NQVhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfSVRFUl9TRUNPTkRfTUFYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDNGMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfSVRFUl9GSVJTVF9FTExSX0RVTVBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX0lURVJfRklSU1RfRUxMUl9EVU1QX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMF9JVEVSX0ZJUlNUX0VMTFJfRFVNUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfSVRFUl9GSVJTVF9FTExSX0RVTVBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfSVRFUl9GSVJTVF9NQVhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX0lURVJfRklSU1RfTUFYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMF9JVEVSX0ZJUlNUX01BWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMF9NQUNfSU5GT19ET0JfRElTQUJMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX01BQ19JTkZPX0RPQl9ESVNBQkxFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMF9NQUNfSU5GT19ET0JfRElTQUJMRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDEwMDAwMDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfTUFDX0lORk9fRE9CX0RJU0FCTEVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAxMDAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfTUFDX0lORk9fSEFSUV9JRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMF9NQUNfSU5GT19IQVJRX0lEX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfTUFDX0lORk9fSEFSUV9JRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwM0YwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfTUFDX0lORk9fQ1dfU1dJVENIX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX01BQ19JTkZPX0NXX1NXSVRDSF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMF9NQUNfSU5GT19DV19TV0lUQ0hfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfTUFDX0lORk9fQ1dfU1dJVENIX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfTUFDX0lORk9fVENSTlRJX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX01BQ19JTkZPX1RDUk5USV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMF9NQUNfSU5GT19UQ1JOVElfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfTUFDX0lORk9fVENSTlRJX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfTUFDX0lORk9fU1RBUlRfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX01BQ19JTkZPX1NUQVJUX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMF9NQUNfSU5GT19TVEFSVF9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMF9JTklfUENSQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfSU5JX1BDUkNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMF9JTklfUENSQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMF9UQklORk8xX1RCU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfVEJJTkZPMV9UQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNykKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMF9UQklORk8xX1RCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMUZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMF9FTUlfSU5GTzBfVFJBQ0VfQ0JfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX0VNSV9JTkZPMF9UUkFDRV9DQl9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMF9FTUlfSU5GTzBfVFJBQ0VfQ0JfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMF9FTUlfSU5GTzBfVFJBQ0VfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX0VNSV9JTkZPMF9UUkFDRV9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMF9FTUlfSU5GTzBfVFJBQ0VfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfRU1JX0lORk8wX1RSQUNFX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfRU1JX0lORk8wX0VNSV9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX0VNSV9JTkZPMF9FTUlfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMF9FTUlfSU5GTzBfRU1JX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfRU1JX0lORk8wX0VNSV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfRU1JX0lORk8xX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX0VNSV9JTkZPMV9BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfRU1JX0lORk8xX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfSVRFUl9DT01fTUlOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMV9JVEVSX0NPTV9NSU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfSVRFUl9DT01fTUlOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDNGMDAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfSVRFUl9TRUNPTkRfRUxMUl9EVU1QX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMV9JVEVSX1NFQ09ORF9FTExSX0RVTVBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfSVRFUl9TRUNPTkRfRUxMUl9EVU1QX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX0lURVJfU0VDT05EX0VMTFJfRFVNUF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX0lURVJfU0VDT05EX01BWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfSVRFUl9TRUNPTkRfTUFYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX0lURVJfU0VDT05EX01BWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAzRjAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX0lURVJfRklSU1RfRUxMUl9EVU1QX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMV9JVEVSX0ZJUlNUX0VMTFJfRFVNUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfSVRFUl9GSVJTVF9FTExSX0RVTVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX0lURVJfRklSU1RfRUxMUl9EVU1QX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX0lURVJfRklSU1RfTUFYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMV9JVEVSX0ZJUlNUX01BWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfSVRFUl9GSVJTVF9NQVhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDNGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfTUFDX0lORk9fRE9CX0RJU0FCTEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMV9NQUNfSU5GT19ET0JfRElTQUJMRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfTUFDX0lORk9fRE9CX0RJU0FCTEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAxMDAwMDAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX01BQ19JTkZPX0RPQl9ESVNBQkxFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMTAwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX01BQ19JTkZPX0hBUlFfSURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfTUFDX0lORk9fSEFSUV9JRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX01BQ19JTkZPX0hBUlFfSURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDNGMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX01BQ19JTkZPX0NXX1NXSVRDSF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMV9NQUNfSU5GT19DV19TV0lUQ0hfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfTUFDX0lORk9fQ1dfU1dJVENIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX01BQ19JTkZPX0NXX1NXSVRDSF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX01BQ19JTkZPX1RDUk5USV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMV9NQUNfSU5GT19UQ1JOVElfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfTUFDX0lORk9fVENSTlRJX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX01BQ19JTkZPX1RDUk5USV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX01BQ19JTkZPX1NUQVJUX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMV9NQUNfSU5GT19TVEFSVF9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfTUFDX0lORk9fU1RBUlRfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfSU5JX1BDUkNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX0lOSV9QQ1JDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfSU5JX1BDUkNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfVEJJTkZPMV9UQlNJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX1RCSU5GTzFfVEJTSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTcpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfVEJJTkZPMV9UQlNJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDFGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfRU1JX0lORk8wX1RSQUNFX0NCX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMV9FTUlfSU5GTzBfVFJBQ0VfQ0JfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfRU1JX0lORk8wX1RSQUNFX0NCX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRjAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfRU1JX0lORk8wX1RSQUNFX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMV9FTUlfSU5GTzBfVFJBQ0VfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfRU1JX0lORk8wX1RSQUNFX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX0VNSV9JTkZPMF9UUkFDRV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX0VNSV9JTkZPMF9FTUlfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMV9FTUlfSU5GTzBfRU1JX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfRU1JX0lORk8wX0VNSV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX0VNSV9JTkZPMF9FTUlfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX0VNSV9JTkZPMV9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMV9FTUlfSU5GTzFfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX0VNSV9JTkZPMV9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX0lURVJfQ09NX01JTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfSVRFUl9DT01fTUlOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX0lURVJfQ09NX01JTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgzRjAwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX0lURVJfU0VDT05EX0VMTFJfRFVNUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfSVRFUl9TRUNPTkRfRUxMUl9EVU1QX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX0lURVJfU0VDT05EX0VMTFJfRFVNUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9JVEVSX1NFQ09ORF9FTExSX0RVTVBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9JVEVSX1NFQ09ORF9NQVhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX0lURVJfU0VDT05EX01BWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9JVEVSX1NFQ09ORF9NQVhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwM0YwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9JVEVSX0ZJUlNUX0VMTFJfRFVNUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfSVRFUl9GSVJTVF9FTExSX0RVTVBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX0lURVJfRklSU1RfRUxMUl9EVU1QX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9JVEVSX0ZJUlNUX0VMTFJfRFVNUF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9JVEVSX0ZJUlNUX01BWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfSVRFUl9GSVJTVF9NQVhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX0lURVJfRklSU1RfTUFYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX01BQ19JTkZPX0RPQl9ESVNBQkxFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfTUFDX0lORk9fRE9CX0RJU0FCTEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX01BQ19JTkZPX0RPQl9ESVNBQkxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMTAwMDAwMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9NQUNfSU5GT19ET0JfRElTQUJMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDEwMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9NQUNfSU5GT19IQVJRX0lEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX01BQ19JTkZPX0hBUlFfSURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9NQUNfSU5GT19IQVJRX0lEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAzRjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9NQUNfSU5GT19DV19TV0lUQ0hfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfTUFDX0lORk9fQ1dfU1dJVENIX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX01BQ19JTkZPX0NXX1NXSVRDSF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9NQUNfSU5GT19DV19TV0lUQ0hfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9NQUNfSU5GT19UQ1JOVElfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfTUFDX0lORk9fVENSTlRJX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX01BQ19JTkZPX1RDUk5USV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9NQUNfSU5GT19UQ1JOVElfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9NQUNfSU5GT19TVEFSVF9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfTUFDX0lORk9fU1RBUlRfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX01BQ19JTkZPX1NUQVJUX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX0lOSV9QQ1JDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9JTklfUENSQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX0lOSV9QQ1JDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX1RCSU5GTzFfVEJTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9UQklORk8xX1RCU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE3KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX1RCSU5GTzFfVEJTSVpFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX0VNSV9JTkZPMF9UUkFDRV9DQl9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfRU1JX0lORk8wX1RSQUNFX0NCX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX0VNSV9JTkZPMF9UUkFDRV9DQl9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEYwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX0VNSV9JTkZPMF9UUkFDRV9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfRU1JX0lORk8wX1RSQUNFX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX0VNSV9JTkZPMF9UUkFDRV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9FTUlfSU5GTzBfVFJBQ0VfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9FTUlfSU5GTzBfRU1JX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfRU1JX0lORk8wX0VNSV9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX0VNSV9JTkZPMF9FTUlfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9FTUlfSU5GTzBfRU1JX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9FTUlfSU5GTzFfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfRU1JX0lORk8xX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9FTUlfSU5GTzFfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIM19JVEVSX0NPTV9NSU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX0lURVJfQ09NX01JTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIM19JVEVSX0NPTV9NSU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4M0YwMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIM19JVEVSX1NFQ09ORF9FTExSX0RVTVBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX0lURVJfU0VDT05EX0VMTFJfRFVNUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIM19JVEVSX1NFQ09ORF9FTExSX0RVTVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfSVRFUl9TRUNPTkRfRUxMUl9EVU1QX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfSVRFUl9TRUNPTkRfTUFYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIM19JVEVSX1NFQ09ORF9NQVhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfSVRFUl9TRUNPTkRfTUFYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDNGMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfSVRFUl9GSVJTVF9FTExSX0RVTVBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX0lURVJfRklSU1RfRUxMUl9EVU1QX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIM19JVEVSX0ZJUlNUX0VMTFJfRFVNUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfSVRFUl9GSVJTVF9FTExSX0RVTVBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfSVRFUl9GSVJTVF9NQVhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX0lURVJfRklSU1RfTUFYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIM19JVEVSX0ZJUlNUX01BWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIM19NQUNfSU5GT19ET0JfRElTQUJMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX01BQ19JTkZPX0RPQl9ESVNBQkxFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIM19NQUNfSU5GT19ET0JfRElTQUJMRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDEwMDAwMDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfTUFDX0lORk9fRE9CX0RJU0FCTEVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAxMDAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfTUFDX0lORk9fSEFSUV9JRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIM19NQUNfSU5GT19IQVJRX0lEX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfTUFDX0lORk9fSEFSUV9JRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwM0YwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfTUFDX0lORk9fQ1dfU1dJVENIX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX01BQ19JTkZPX0NXX1NXSVRDSF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIM19NQUNfSU5GT19DV19TV0lUQ0hfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfTUFDX0lORk9fQ1dfU1dJVENIX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfTUFDX0lORk9fVENSTlRJX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX01BQ19JTkZPX1RDUk5USV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIM19NQUNfSU5GT19UQ1JOVElfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfTUFDX0lORk9fVENSTlRJX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfTUFDX0lORk9fU1RBUlRfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX01BQ19JTkZPX1NUQVJUX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIM19NQUNfSU5GT19TVEFSVF9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIM19JTklfUENSQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfSU5JX1BDUkNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIM19JTklfUENSQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIM19UQklORk8xX1RCU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfVEJJTkZPMV9UQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNykKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIM19UQklORk8xX1RCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMUZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIM19FTUlfSU5GTzBfVFJBQ0VfQ0JfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX0VNSV9JTkZPMF9UUkFDRV9DQl9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIM19FTUlfSU5GTzBfVFJBQ0VfQ0JfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIM19FTUlfSU5GTzBfVFJBQ0VfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX0VNSV9JTkZPMF9UUkFDRV9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIM19FTUlfSU5GTzBfVFJBQ0VfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfRU1JX0lORk8wX1RSQUNFX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfRU1JX0lORk8wX0VNSV9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX0VNSV9JTkZPMF9FTUlfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIM19FTUlfSU5GTzBfRU1JX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfRU1JX0lORk8wX0VNSV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfRU1JX0lORk8xX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX0VNSV9JTkZPMV9BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfRU1JX0lORk8xX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfSVRFUl9DT01fTUlOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NINF9JVEVSX0NPTV9NSU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfSVRFUl9DT01fTUlOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDNGMDAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfSVRFUl9TRUNPTkRfRUxMUl9EVU1QX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NINF9JVEVSX1NFQ09ORF9FTExSX0RVTVBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfSVRFUl9TRUNPTkRfRUxMUl9EVU1QX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X0lURVJfU0VDT05EX0VMTFJfRFVNUF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X0lURVJfU0VDT05EX01BWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfSVRFUl9TRUNPTkRfTUFYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X0lURVJfU0VDT05EX01BWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAzRjAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X0lURVJfRklSU1RfRUxMUl9EVU1QX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NINF9JVEVSX0ZJUlNUX0VMTFJfRFVNUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfSVRFUl9GSVJTVF9FTExSX0RVTVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X0lURVJfRklSU1RfRUxMUl9EVU1QX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X0lURVJfRklSU1RfTUFYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NINF9JVEVSX0ZJUlNUX01BWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfSVRFUl9GSVJTVF9NQVhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDNGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfTUFDX0lORk9fRE9CX0RJU0FCTEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NINF9NQUNfSU5GT19ET0JfRElTQUJMRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfTUFDX0lORk9fRE9CX0RJU0FCTEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAxMDAwMDAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X01BQ19JTkZPX0RPQl9ESVNBQkxFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMTAwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X01BQ19JTkZPX0hBUlFfSURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfTUFDX0lORk9fSEFSUV9JRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X01BQ19JTkZPX0hBUlFfSURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDNGMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X01BQ19JTkZPX0NXX1NXSVRDSF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NINF9NQUNfSU5GT19DV19TV0lUQ0hfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfTUFDX0lORk9fQ1dfU1dJVENIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X01BQ19JTkZPX0NXX1NXSVRDSF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X01BQ19JTkZPX1RDUk5USV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NINF9NQUNfSU5GT19UQ1JOVElfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfTUFDX0lORk9fVENSTlRJX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X01BQ19JTkZPX1RDUk5USV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X01BQ19JTkZPX1NUQVJUX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NINF9NQUNfSU5GT19TVEFSVF9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfTUFDX0lORk9fU1RBUlRfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfSU5JX1BDUkNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X0lOSV9QQ1JDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfSU5JX1BDUkNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfVEJJTkZPMV9UQlNJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X1RCSU5GTzFfVEJTSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTcpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfVEJJTkZPMV9UQlNJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDFGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfRU1JX0lORk8wX1RSQUNFX0NCX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NINF9FTUlfSU5GTzBfVFJBQ0VfQ0JfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfRU1JX0lORk8wX1RSQUNFX0NCX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRjAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfRU1JX0lORk8wX1RSQUNFX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NINF9FTUlfSU5GTzBfVFJBQ0VfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfRU1JX0lORk8wX1RSQUNFX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X0VNSV9JTkZPMF9UUkFDRV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X0VNSV9JTkZPMF9FTUlfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NINF9FTUlfSU5GTzBfRU1JX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfRU1JX0lORk8wX0VNSV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X0VNSV9JTkZPMF9FTUlfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X0VNSV9JTkZPMV9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NINF9FTUlfSU5GTzFfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X0VNSV9JTkZPMV9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMF9SUFQwX0lURVJfTUlOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gwX1JQVDBfSVRFUl9NSU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMF9SUFQwX0lURVJfTUlOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGQzAwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMF9SUFQwX0lURVJfTUFYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gwX1JQVDBfSVRFUl9NQVhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMF9SUFQwX0lURVJfTUFYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwM0YwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMF9SUFQwX1RCQ1JDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gwX1JQVDBfVEJDUkNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMF9SUFQwX1RCQ1JDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDBfUlBUMF9UQkNSQ19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDBfUlBUMF9DQkNSQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gwX1JQVDBfQ0JDUkNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDBfUlBUMF9DQkNSQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDBfUlBUMV9TVE9QX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI1KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMF9SUFQxX1NUT1BfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDBfUlBUMV9TVE9QX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MUUwMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDBfUlBUMV9QQ1JDX1JFU1VMVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gwX1JQVDFfUENSQ19SRVNVTFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDBfUlBUMV9QQ1JDX1JFU1VMVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDFfUlBUMF9JVEVSX01JTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMV9SUFQwX0lURVJfTUlOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDFfUlBUMF9JVEVSX01JTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkMwMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDFfUlBUMF9JVEVSX01BWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMV9SUFQwX0lURVJfTUFYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDFfUlBUMF9JVEVSX01BWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDNGMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDFfUlBUMF9UQkNSQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMV9SUFQwX1RCQ1JDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDFfUlBUMF9UQkNSQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gxX1JQVDBfVEJDUkNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gxX1JQVDBfQ0JDUkNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMV9SUFQwX0NCQ1JDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gxX1JQVDBfQ0JDUkNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gxX1JQVDFfU1RPUF9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDFfUlBUMV9TVE9QX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gxX1JQVDFfU1RPUF9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDFFMDAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gxX1JQVDFfUENSQ19SRVNVTFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMV9SUFQxX1BDUkNfUkVTVUxUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gxX1JQVDFfUENSQ19SRVNVTFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gyX1JQVDBfSVRFUl9NSU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDJfUlBUMF9JVEVSX01JTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gyX1JQVDBfSVRFUl9NSU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZDMDAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gyX1JQVDBfSVRFUl9NQVhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDJfUlBUMF9JVEVSX01BWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gyX1JQVDBfSVRFUl9NQVhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAzRjAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gyX1JQVDBfVEJDUkNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDJfUlBUMF9UQkNSQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gyX1JQVDBfVEJDUkNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMl9SUFQwX1RCQ1JDX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMl9SUFQwX0NCQ1JDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDJfUlBUMF9DQkNSQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMl9SUFQwX0NCQ1JDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMl9SUFQxX1NUT1BfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjUpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gyX1JQVDFfU1RPUF9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMl9SUFQxX1NUT1BfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxRTAwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMl9SUFQxX1BDUkNfUkVTVUxUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDJfUlBUMV9QQ1JDX1JFU1VMVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMl9SUFQxX1BDUkNfUkVTVUxUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIM19SUFQwX0lURVJfTUlOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gzX1JQVDBfSVRFUl9NSU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIM19SUFQwX0lURVJfTUlOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGQzAwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIM19SUFQwX0lURVJfTUFYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gzX1JQVDBfSVRFUl9NQVhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIM19SUFQwX0lURVJfTUFYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwM0YwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIM19SUFQwX1RCQ1JDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gzX1JQVDBfVEJDUkNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIM19SUFQwX1RCQ1JDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDNfUlBUMF9UQkNSQ19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDNfUlBUMF9DQkNSQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gzX1JQVDBfQ0JDUkNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDNfUlBUMF9DQkNSQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDNfUlBUMV9TVE9QX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI1KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIM19SUFQxX1NUT1BfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDNfUlBUMV9TVE9QX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MUUwMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDNfUlBUMV9QQ1JDX1JFU1VMVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gzX1JQVDFfUENSQ19SRVNVTFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDNfUlBUMV9QQ1JDX1JFU1VMVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDRfUlBUMF9JVEVSX01JTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NINF9SUFQwX0lURVJfTUlOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDRfUlBUMF9JVEVSX01JTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkMwMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDRfUlBUMF9JVEVSX01BWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NINF9SUFQwX0lURVJfTUFYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDRfUlBUMF9JVEVSX01BWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDNGMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDRfUlBUMF9UQkNSQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NINF9SUFQwX1RCQ1JDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDRfUlBUMF9UQkNSQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0g0X1JQVDBfVEJDUkNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0g0X1JQVDBfQ0JDUkNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NINF9SUFQwX0NCQ1JDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0g0X1JQVDBfQ0JDUkNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0g0X1JQVDFfU1RPUF9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDRfUlBUMV9TVE9QX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0g0X1JQVDFfU1RPUF9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDFFMDAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0g0X1JQVDFfUENSQ19SRVNVTFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NINF9SUFQxX1BDUkNfUkVTVUxUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0g0X1JQVDFfUENSQ19SRVNVTFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gwX1JQVDBfSVRFUl9NSU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDBfUlBUMF9JVEVSX01JTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gwX1JQVDBfSVRFUl9NSU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZDMDAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gwX1JQVDBfSVRFUl9NQVhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDBfUlBUMF9JVEVSX01BWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gwX1JQVDBfSVRFUl9NQVhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAzRjAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gwX1JQVDBfVEJDUkNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDBfUlBUMF9UQkNSQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gwX1JQVDBfVEJDUkNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMF9SUFQwX1RCQ1JDX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMF9SUFQwX0NCQ1JDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDBfUlBUMF9DQkNSQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMF9SUFQwX0NCQ1JDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMF9SUFQxX1NUT1BfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjUpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gwX1JQVDFfU1RPUF9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMF9SUFQxX1NUT1BfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxRTAwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMF9SUFQxX1BDUkNfUkVTVUxUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDBfUlBUMV9QQ1JDX1JFU1VMVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMF9SUFQxX1BDUkNfUkVTVUxUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMV9SUFQwX0lURVJfTUlOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gxX1JQVDBfSVRFUl9NSU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMV9SUFQwX0lURVJfTUlOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGQzAwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMV9SUFQwX0lURVJfTUFYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gxX1JQVDBfSVRFUl9NQVhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMV9SUFQwX0lURVJfTUFYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwM0YwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMV9SUFQwX1RCQ1JDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gxX1JQVDBfVEJDUkNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMV9SUFQwX1RCQ1JDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDFfUlBUMF9UQkNSQ19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDFfUlBUMF9DQkNSQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gxX1JQVDBfQ0JDUkNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDFfUlBUMF9DQkNSQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDFfUlBUMV9TVE9QX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI1KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMV9SUFQxX1NUT1BfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDFfUlBUMV9TVE9QX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MUUwMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDFfUlBUMV9QQ1JDX1JFU1VMVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gxX1JQVDFfUENSQ19SRVNVTFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDFfUlBUMV9QQ1JDX1JFU1VMVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDJfUlBUMF9JVEVSX01JTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMl9SUFQwX0lURVJfTUlOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDJfUlBUMF9JVEVSX01JTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkMwMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDJfUlBUMF9JVEVSX01BWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMl9SUFQwX0lURVJfTUFYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDJfUlBUMF9JVEVSX01BWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDNGMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDJfUlBUMF9UQkNSQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMl9SUFQwX1RCQ1JDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDJfUlBUMF9UQkNSQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gyX1JQVDBfVEJDUkNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gyX1JQVDBfQ0JDUkNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMl9SUFQwX0NCQ1JDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gyX1JQVDBfQ0JDUkNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gyX1JQVDFfU1RPUF9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDJfUlBUMV9TVE9QX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gyX1JQVDFfU1RPUF9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDFFMDAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gyX1JQVDFfUENSQ19SRVNVTFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMl9SUFQxX1BDUkNfUkVTVUxUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gyX1JQVDFfUENSQ19SRVNVTFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gzX1JQVDBfSVRFUl9NSU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDNfUlBUMF9JVEVSX01JTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gzX1JQVDBfSVRFUl9NSU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZDMDAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gzX1JQVDBfSVRFUl9NQVhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDNfUlBUMF9JVEVSX01BWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gzX1JQVDBfSVRFUl9NQVhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAzRjAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gzX1JQVDBfVEJDUkNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDNfUlBUMF9UQkNSQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gzX1JQVDBfVEJDUkNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIM19SUFQwX1RCQ1JDX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIM19SUFQwX0NCQ1JDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDNfUlBUMF9DQkNSQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIM19SUFQwX0NCQ1JDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIM19SUFQxX1NUT1BfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjUpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gzX1JQVDFfU1RPUF9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIM19SUFQxX1NUT1BfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxRTAwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIM19SUFQxX1BDUkNfUkVTVUxUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDNfUlBUMV9QQ1JDX1JFU1VMVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIM19SUFQxX1BDUkNfUkVTVUxUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NINF9SUFQwX0lURVJfTUlOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0g0X1JQVDBfSVRFUl9NSU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NINF9SUFQwX0lURVJfTUlOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGQzAwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NINF9SUFQwX0lURVJfTUFYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0g0X1JQVDBfSVRFUl9NQVhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NINF9SUFQwX0lURVJfTUFYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwM0YwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NINF9SUFQwX1RCQ1JDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0g0X1JQVDBfVEJDUkNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NINF9SUFQwX1RCQ1JDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDRfUlBUMF9UQkNSQ19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDRfUlBUMF9DQkNSQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0g0X1JQVDBfQ0JDUkNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDRfUlBUMF9DQkNSQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDRfUlBUMV9TVE9QX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI1KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NINF9SUFQxX1NUT1BfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDRfUlBUMV9TVE9QX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MUUwMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDRfUlBUMV9QQ1JDX1JFU1VMVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0g0X1JQVDFfUENSQ19SRVNVTFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDRfUlBUMV9QQ1JDX1JFU1VMVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDBfUlBUMF9JVEVSX01JTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMF9SUFQwX0lURVJfTUlOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDBfUlBUMF9JVEVSX01JTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkMwMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDBfUlBUMF9JVEVSX01BWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMF9SUFQwX0lURVJfTUFYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDBfUlBUMF9JVEVSX01BWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDNGMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDBfUlBUMF9UQkNSQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMF9SUFQwX1RCQ1JDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDBfUlBUMF9UQkNSQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gwX1JQVDBfVEJDUkNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gwX1JQVDBfQ0JDUkNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMF9SUFQwX0NCQ1JDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gwX1JQVDBfQ0JDUkNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gwX1JQVDFfU1RPUF9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDBfUlBUMV9TVE9QX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gwX1JQVDFfU1RPUF9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDFFMDAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gwX1JQVDFfUENSQ19SRVNVTFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMF9SUFQxX1BDUkNfUkVTVUxUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gwX1JQVDFfUENSQ19SRVNVTFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gxX1JQVDBfSVRFUl9NSU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDFfUlBUMF9JVEVSX01JTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gxX1JQVDBfSVRFUl9NSU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZDMDAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gxX1JQVDBfSVRFUl9NQVhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDFfUlBUMF9JVEVSX01BWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gxX1JQVDBfSVRFUl9NQVhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAzRjAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gxX1JQVDBfVEJDUkNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDFfUlBUMF9UQkNSQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gxX1JQVDBfVEJDUkNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMV9SUFQwX1RCQ1JDX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMV9SUFQwX0NCQ1JDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDFfUlBUMF9DQkNSQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMV9SUFQwX0NCQ1JDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMV9SUFQxX1NUT1BfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjUpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gxX1JQVDFfU1RPUF9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMV9SUFQxX1NUT1BfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxRTAwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMV9SUFQxX1BDUkNfUkVTVUxUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDFfUlBUMV9QQ1JDX1JFU1VMVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMV9SUFQxX1BDUkNfUkVTVUxUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMl9SUFQwX0lURVJfTUlOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gyX1JQVDBfSVRFUl9NSU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMl9SUFQwX0lURVJfTUlOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGQzAwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMl9SUFQwX0lURVJfTUFYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gyX1JQVDBfSVRFUl9NQVhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMl9SUFQwX0lURVJfTUFYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwM0YwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMl9SUFQwX1RCQ1JDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gyX1JQVDBfVEJDUkNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMl9SUFQwX1RCQ1JDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDJfUlBUMF9UQkNSQ19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDJfUlBUMF9DQkNSQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gyX1JQVDBfQ0JDUkNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDJfUlBUMF9DQkNSQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDJfUlBUMV9TVE9QX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI1KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMl9SUFQxX1NUT1BfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDJfUlBUMV9TVE9QX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MUUwMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDJfUlBUMV9QQ1JDX1JFU1VMVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gyX1JQVDFfUENSQ19SRVNVTFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDJfUlBUMV9QQ1JDX1JFU1VMVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDNfUlBUMF9JVEVSX01JTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIM19SUFQwX0lURVJfTUlOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDNfUlBUMF9JVEVSX01JTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkMwMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDNfUlBUMF9JVEVSX01BWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIM19SUFQwX0lURVJfTUFYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDNfUlBUMF9JVEVSX01BWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDNGMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDNfUlBUMF9UQkNSQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIM19SUFQwX1RCQ1JDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDNfUlBUMF9UQkNSQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gzX1JQVDBfVEJDUkNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gzX1JQVDBfQ0JDUkNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIM19SUFQwX0NCQ1JDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gzX1JQVDBfQ0JDUkNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gzX1JQVDFfU1RPUF9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDNfUlBUMV9TVE9QX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gzX1JQVDFfU1RPUF9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDFFMDAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gzX1JQVDFfUENSQ19SRVNVTFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIM19SUFQxX1BDUkNfUkVTVUxUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gzX1JQVDFfUENSQ19SRVNVTFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0g0X1JQVDBfSVRFUl9NSU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDRfUlBUMF9JVEVSX01JTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0g0X1JQVDBfSVRFUl9NSU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZDMDAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0g0X1JQVDBfSVRFUl9NQVhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDRfUlBUMF9JVEVSX01BWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0g0X1JQVDBfSVRFUl9NQVhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAzRjAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0g0X1JQVDBfVEJDUkNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDRfUlBUMF9UQkNSQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0g0X1JQVDBfVEJDUkNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NINF9SUFQwX1RCQ1JDX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NINF9SUFQwX0NCQ1JDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDRfUlBUMF9DQkNSQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NINF9SUFQwX0NCQ1JDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NINF9SUFQxX1NUT1BfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjUpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0g0X1JQVDFfU1RPUF9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NINF9SUFQxX1NUT1BfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxRTAwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NINF9SUFQxX1BDUkNfUkVTVUxUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDRfUlBUMV9QQ1JDX1JFU1VMVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NINF9SUFQxX1BDUkNfUkVTVUxUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzJfQ0g0X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMl9DSDRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzJfQ0g0X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MyX0NINF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MyX0NIM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE5KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzJfQ0gzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MyX0NIM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwODAwMDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMl9DSDNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDgwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMl9DSDJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MyX0NIMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMl9DSDJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDQwMDAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzJfQ0gyX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDA0MDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzJfQ0gxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTcpCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMl9DSDFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzJfQ0gxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAyMDAwMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MyX0NIMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MyX0NIMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzJfQ0gwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MyX0NIMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMl9DSDBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMV9DSDRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MxX0NINF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMV9DSDRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzFfQ0g0X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzFfQ0gzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMV9DSDNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzFfQ0gzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MxX0NIM19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MxX0NIMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzFfQ0gyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MxX0NIMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMV9DSDJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMV9DSDFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzFfQ0gxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MxX0NIMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMV9DSDFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMV9DSDBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzFfQ0gwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MxX0NIMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMV9DSDBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMF9DSDRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzBfQ0g0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MwX0NINF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMF9DSDRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMF9DSDNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzBfQ0gzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MwX0NIM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMF9DSDNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMF9DSDJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzBfQ0gyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MwX0NIMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMF9DSDJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMF9DSDFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzBfQ0gxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MwX0NIMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMF9DSDFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMF9DSDBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzBfQ0gwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MwX0NIMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMF9DSDBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DTUQwX0NNRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ01EMF9DTURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DTUQwX0NNRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DTUQxX0NNRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ01EMV9DTURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DTUQxX0NNRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ01EX1JQVDBfQ01EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NNRF9SUFQwX0NNRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ01EX1JQVDBfQ01EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ01EX1JQVDFfQ01EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NNRF9SUFQxX0NNRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ01EX1JQVDFfQ01EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ01EX1JQVDBfQ01EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NNRF9SUFQwX0NNRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ01EX1JQVDBfQ01EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ01EX1JQVDFfQ01EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NNRF9SUFQxX0NNRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ01EX1JQVDFfQ01EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ01EX1JQVDBfQ01EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NNRF9SUFQwX0NNRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ01EX1JQVDBfQ01EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ01EX1JQVDFfQ01EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NNRF9SUFQxX0NNRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ01EX1JQVDFfQ01EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0FTU0VSVF9DQzJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9BU1NFUlRfQ0MyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQVNTRVJUX0NDMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0FTU0VSVF9DQzJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0FTU0VSVF9DQzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9BU1NFUlRfQ0MxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQVNTRVJUX0NDMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0FTU0VSVF9DQzFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0FTU0VSVF9DQzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9BU1NFUlRfQ0MwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQVNTRVJUX0NDMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0FTU0VSVF9DQzBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9GV19SU1RfRkxBR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRldfUlNUX0ZMQUdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0ZXX1JTVF9GTEFHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9GV19SU1RfRkxBR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVFVSX1JTUlZfTVBVX1NUQVJUX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9SU1JWX01QVV9TVEFSVF9BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX1JTUlZfTVBVX1NUQVJUX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX1JTUlZfTVBVX0VORF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9SU1JWX01QVV9FTkRfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX1JTUlZfTVBVX0VORF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX1JTUlZfTVBVX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9SU1JWX01QVV9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfUlNSVl9NUFVfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVFVSX1JTUlZfTVBVX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfTVBVX1NUQVJUX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX01QVV9TVEFSVF9BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfTVBVX1NUQVJUX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfTVBVX0VORF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX01QVV9FTkRfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfTVBVX0VORF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfTVBVX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX01QVV9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9NUFVfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfTVBVX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUFVfU1RBUlRfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBVX1NUQVJUX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUFVfU1RBUlRfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUFVfRU5EX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBVX0VORF9BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUFVfRU5EX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUFVfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBVX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QVV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUFVfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVFVSX01QVV9WSU9fQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9NUFVfVklPX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX01QVV9WSU9fQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX01QVV9TV19JUlFfVFJHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1RVUl9NUFVfU1dfSVJRX1RSR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTVBVX1NXX0lSUV9UUkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIERCUlBfVFVSX01QVV9TV19JUlFfVFJHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIERCUlBfVFVSX01QVV9TV19JUlFfU1RBVFVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9NUFVfU1dfSVJRX1NUQVRVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTVBVX1NXX0lSUV9TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIERCUlBfVFVSX01QVV9TV19JUlFfU1RBVFVTX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIERCUlBfVFVSX01QVV9WSU9MQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9NUFVfVklPTEFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTVBVX1ZJT0xBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVFVSX01QVV9WSU9MQVRFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RBVEFfQ05UX01JU01BVENIX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQVRBX0NOVF9NSVNNQVRDSF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfREFUQV9DTlRfTUlTTUFUQ0hfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RBVEFfQ05UX01JU01BVENIX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18wX0NNRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMF9DTURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18wX0NNRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18xX0NNRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMV9DTURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18xX0NNRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18yX0NNRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMl9DTURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18yX0NNRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18zX0NNRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfM19DTURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18zX0NNRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR180X0NNRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfNF9DTURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR180X0NNRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR181X0NNRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfNV9DTURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR181X0NNRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR182X0NNRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfNl9DTURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR182X0NNRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR183X0NNRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfN19DTURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR183X0NNRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR184X0NNRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfOF9DTURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR184X0NNRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR185X0NNRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfOV9DTURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR185X0NNRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18xMF9DTURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTBfQ01EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18xMF9DTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18xMV9DTURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTFfQ01EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18xMV9DTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18xMl9DTURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTJfQ01EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18xMl9DTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18xM19DTURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTNfQ01EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18xM19DTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18xNF9DTURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTRfQ01EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18xNF9DTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18xNV9DTURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTVfQ01EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18xNV9DTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18xNl9DTURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTZfQ01EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18xNl9DTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18xN19DTURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTdfQ01EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18xN19DTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18xOF9DTURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMThfQ01EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18xOF9DTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18xOV9DTURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTlfQ01EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18xOV9DTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18yMF9DTURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjBfQ01EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18yMF9DTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18yMV9DTURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjFfQ01EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18yMV9DTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18yMl9DTURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjJfQ01EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18yMl9DTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18yM19DTURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjNfQ01EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18yM19DTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18yNF9DTURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjRfQ01EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18yNF9DTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18yNV9DTURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjVfQ01EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18yNV9DTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18yNl9DTURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjZfQ01EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18yNl9DTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18yN19DTURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjdfQ01EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18yN19DTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18yOF9DTURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjhfQ01EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18yOF9DTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18yOV9DTURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjlfQ01EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18yOV9DTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18zMF9DTURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMzBfQ01EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18zMF9DTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18zMV9DTURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMzFfQ01EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RCR18zMV9DTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX1dSSVRFX1BPSU5URVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9XUklURV9QT0lOVEVSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfV1JJVEVfUE9JTlRFUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgREJSUF9UVVJfTF9GU01fQ1VSX0NCX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9MX0ZTTV9DVVJfQ0JfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9UVVJfTF9GU01fQ1VSX0NCX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDA3RjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTF9GU01fU1RBVEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xfRlNNX1NUQVRFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBEQlJQX1RVUl9MX0ZTTV9TVEFURV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBEQlJQX1RVUl9XVF9GU01fU1RBVEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfV1RfRlNNX1NUQVRFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9XVF9GU01fU1RBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9ERUNfRlNNX1NUQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfREVDX0ZTTV9TVEFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9ERUNfRlNNX1NUQVRFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9ET0JfRlNNX0RNQV9TVEFURV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVFVSX0RPQl9GU01fRE1BX1NUQVRFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBEQlJQX1RVUl9ET0JfRlNNX0RNQV9TVEFURV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDYwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9ET0JfRlNNX1FVRV9TVEFURV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfRE9CX0ZTTV9RVUVfU1RBVEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBEQlJQX1RVUl9ET0JfRlNNX1FVRV9TVEFURV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDFGRkZDMCkKKworI2RlZmluZSBEQlJQX1RVUl9ET0JfRlNNX1RSQktfU1RBVEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRE9CX0ZTTV9UUkJLX1NUQVRFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0RPQl9GU01fVFJCS19TVEFURV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDNGKQorCisjZGVmaW5lIERCUlBfVFVSX0NfRlNNX1NUQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9DX0ZTTV9TVEFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVFVSX0NfRlNNX1NUQVRFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwM0ZGKQorCisjZGVmaW5lIERCUlBfVFVSX1JUVF9DRkdfTUlOX0lURVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1RVUl9SVFRfQ0ZHX01JTl9JVEVSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfUlRUX0NGR19NSU5fSVRFUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRTApCisKKyNkZWZpbmUgREJSUF9UVVJfUlRUX0NGR19NQVhfSVRFUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX1JUVF9DRkdfTUFYX0lURVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1RVUl9SVFRfQ0ZHX01BWF9JVEVSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxRikKKworI2RlZmluZSBEQlJQX1RVUl9SVFRfRFNUX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfUlRUX0RTVF9BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9SVFRfRFNUX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9SVFRfRE1BX0NGR19DUkNfUkVNT1ZFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9UVVJfUlRUX0RNQV9DRkdfQ1JDX1JFTU9WRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX1JUVF9ETUFfQ0ZHX0NSQ19SRU1PVkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBEQlJQX1RVUl9SVFRfRE1BX0NGR19DUkNfUkVNT1ZFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBEQlJQX1RVUl9SVFRfRE1BX0NGR19TV0FQX0VORElBTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfUlRUX0RNQV9DRkdfU1dBUF9FTkRJQU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX1JUVF9ETUFfQ0ZHX1NXQVBfRU5ESUFOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBEQlJQX1RVUl9SVFRfRE1BX0NGR19TV0FQX0VORElBTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBEQlJQX1RVUl9SVFRfRE1BX0NGR19NQUNfT0ZTVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfUlRUX0RNQV9DRkdfTUFDX09GU1RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVFVSX1JUVF9ETUFfQ0ZHX01BQ19PRlNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIERCUlBfVFVSX1JUVF9UUkFDRV9DRkdfVFJBQ0VfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9SVFRfVFJBQ0VfQ0ZHX1RSQUNFX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfUlRUX1RSQUNFX0NGR19UUkFDRV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVFVSX1JUVF9UUkFDRV9DRkdfVFJBQ0VfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVFVSX1JUVF9DQkNSQ19TVEFUVVNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9SVFRfQ0JDUkNfU1RBVFVTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfUlRUX0NCQ1JDX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVFVSX1JUVF9DQkNSQ19TVEFUVVNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVFVSX1JUVF9MU1RfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9SVFRfTFNUX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX1JUVF9MU1RfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX1JUVF9FTkVSR1lfQUNDVU1VTEFURV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9SVFRfRU5FUkdZX0FDQ1VNVUxBVEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIERCUlBfVFVSX1JUVF9FTkVSR1lfQUNDVU1VTEFURV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fSVRFUl9DRkdfTUlOX0lURVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1RVUl9FVkRPX0lURVJfQ0ZHX01JTl9JVEVSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfRVZET19JVEVSX0NGR19NSU5fSVRFUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRTApCisKKyNkZWZpbmUgREJSUF9UVVJfRVZET19JVEVSX0NGR19NQVhfSVRFUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fSVRFUl9DRkdfTUFYX0lURVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1RVUl9FVkRPX0lURVJfQ0ZHX01BWF9JVEVSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxRikKKworI2RlZmluZSBEQlJQX1RVUl9FVkRPX0RTVF9QSU5HX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRVZET19EU1RfUElOR19BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9FVkRPX0RTVF9QSU5HX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9FVkRPX0RTVF9QT05HX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRVZET19EU1RfUE9OR19BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9FVkRPX0RTVF9QT05HX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9FVkRPX0RNQV9DRkdfQ1JDX1JFTU9WRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9UVVJfRVZET19ETUFfQ0ZHX0NSQ19SRU1PVkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fRE1BX0NGR19DUkNfUkVNT1ZFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBEQlJQX1RVUl9FVkRPX0RNQV9DRkdfQ1JDX1JFTU9WRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBEQlJQX1RVUl9FVkRPX0RNQV9DRkdfU1dBUF9FTkRJQU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfRVZET19ETUFfQ0ZHX1NXQVBfRU5ESUFOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fRE1BX0NGR19TV0FQX0VORElBTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBEQlJQX1RVUl9FVkRPX0RNQV9DRkdfU1dBUF9FTkRJQU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBEQlJQX1RVUl9FVkRPX0RNQV9DRkdfTUFDX09GU1RfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRVZET19ETUFfQ0ZHX01BQ19PRlNUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fRE1BX0NGR19NQUNfT0ZTVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fVFJBQ0VfQ0ZHX1RSQUNFX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9FVkRPX1RSQUNFX0NGR19UUkFDRV9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfRVZET19UUkFDRV9DRkdfVFJBQ0VfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fVFJBQ0VfQ0ZHX1RSQUNFX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fQ0JDUkNfU1RBVFVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9FVkRPX0NCQ1JDX1NUQVRVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfRVZET19DQkNSQ19TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fQ0JDUkNfU1RBVFVTX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fTFNUX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9FVkRPX0xTVF9BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fTFNUX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fSEFSUV9JRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9FVkRPX0hBUlFfSURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9UVVJfRVZET19IQVJRX0lEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDMpCisKKyNkZWZpbmUgREJSUF9UVVJfRVZET19QQUNLRVRfU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fUEFDS0VUX1NJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgREJSUF9UVVJfRVZET19QQUNLRVRfU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDFGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRVZET19EU1RfQURSX1BJTkdfUE9OR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fRFNUX0FEUl9QSU5HX1BPTkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9FVkRPX0RTVF9BRFJfUElOR19QT05HX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9UVVJfRVZET19EU1RfQURSX1BJTkdfUE9OR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9UVVJfRVZET19FTkVSR1lfQUNDVU1VTEFURV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fRU5FUkdZX0FDQ1VNVUxBVEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgREJSUF9UVVJfRVZET19FTkVSR1lfQUNDVU1VTEFURV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfQzJLX0JVU1lfRVZET19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0MyS19CVVNZX0VWRE9fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9DMktfQlVTWV9FVkRPX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgREJSUF9UVVJfQzJLX0JVU1lfRVZET19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgREJSUF9UVVJfQzJLX0JVU1lfUlRUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0MyS19CVVNZX1JUVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9DMktfQlVTWV9SVFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9UVVJfQzJLX0JVU1lfUlRUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9UVVJfQ0JfTlVNX0NCX05VTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0NCX05VTV9DQl9OVU1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9DQl9OVU1fQ0JfTlVNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKworI2RlZmluZSBEQlJQX1RVUl9DSDBfQ0JfU0laRV9TTUFMTF9DQl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0NIMF9DQl9TSVpFX1NNQUxMX0NCX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgREJSUF9UVVJfQ0gwX0NCX1NJWkVfU01BTExfQ0JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MUZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfQ0gwX0NCX1NJWkVfTEFSR0VfQ0JfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0NIMF9DQl9TSVpFX0xBUkdFX0NCX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgREJSUF9UVVJfQ0gwX0NCX1NJWkVfTEFSR0VfQ0JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDFGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfQ0gwX0NCTlVNX1NNQUxMX0NCX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9DSDBfQ0JOVU1fU01BTExfQ0JfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfQ0gwX0NCTlVNX1NNQUxMX0NCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxRjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfQ0gwX0NCTlVNX0xBUkdFX0NCX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0NIMF9DQk5VTV9MQVJHRV9DQl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1RVUl9DSDBfQ0JOVU1fTEFSR0VfQ0JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxRikKKworI2RlZmluZSBEQlJQX1RVUl9DSDBfRE1ZX0ZJTF9JTkZPX0ZJTExFUl9OVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0NIMF9ETVlfRklMX0lORk9fRklMTEVSX05VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9DSDBfRE1ZX0ZJTF9JTkZPX0ZJTExFUl9OVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDNGMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9DSDFfQ0JfU0laRV9TTUFMTF9DQl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0NIMV9DQl9TSVpFX1NNQUxMX0NCX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgREJSUF9UVVJfQ0gxX0NCX1NJWkVfU01BTExfQ0JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MUZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfQ0gxX0NCX1NJWkVfTEFSR0VfQ0JfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0NIMV9DQl9TSVpFX0xBUkdFX0NCX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgREJSUF9UVVJfQ0gxX0NCX1NJWkVfTEFSR0VfQ0JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDFGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfQ0gxX0NCTlVNX1NNQUxMX0NCX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9DSDFfQ0JOVU1fU01BTExfQ0JfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfQ0gxX0NCTlVNX1NNQUxMX0NCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxRjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfQ0gxX0NCTlVNX0xBUkdFX0NCX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0NIMV9DQk5VTV9MQVJHRV9DQl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1RVUl9DSDFfQ0JOVU1fTEFSR0VfQ0JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxRikKKworI2RlZmluZSBEQlJQX1RVUl9DSDFfRE1ZX0ZJTF9JTkZPX0ZJTExFUl9OVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0NIMV9ETVlfRklMX0lORk9fRklMTEVSX05VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9DSDFfRE1ZX0ZJTF9JTkZPX0ZJTExFUl9OVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDNGMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9DSDJfQ0JfU0laRV9TTUFMTF9DQl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0NIMl9DQl9TSVpFX1NNQUxMX0NCX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgREJSUF9UVVJfQ0gyX0NCX1NJWkVfU01BTExfQ0JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MUZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfQ0gyX0NCX1NJWkVfTEFSR0VfQ0JfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0NIMl9DQl9TSVpFX0xBUkdFX0NCX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgREJSUF9UVVJfQ0gyX0NCX1NJWkVfTEFSR0VfQ0JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDFGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfQ0gyX0NCTlVNX1NNQUxMX0NCX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9DSDJfQ0JOVU1fU01BTExfQ0JfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfQ0gyX0NCTlVNX1NNQUxMX0NCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxRjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfQ0gyX0NCTlVNX0xBUkdFX0NCX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0NIMl9DQk5VTV9MQVJHRV9DQl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1RVUl9DSDJfQ0JOVU1fTEFSR0VfQ0JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxRikKKworI2RlZmluZSBEQlJQX1RVUl9DSDJfRE1ZX0ZJTF9JTkZPX0ZJTExFUl9OVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0NIMl9ETVlfRklMX0lORk9fRklMTEVSX05VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9DSDJfRE1ZX0ZJTF9JTkZPX0ZJTExFUl9OVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDNGMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9DSDNfQ0JfU0laRV9TTUFMTF9DQl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0NIM19DQl9TSVpFX1NNQUxMX0NCX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgREJSUF9UVVJfQ0gzX0NCX1NJWkVfU01BTExfQ0JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MUZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfQ0gzX0NCX1NJWkVfTEFSR0VfQ0JfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0NIM19DQl9TSVpFX0xBUkdFX0NCX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgREJSUF9UVVJfQ0gzX0NCX1NJWkVfTEFSR0VfQ0JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDFGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfQ0gzX0NCTlVNX1NNQUxMX0NCX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9DSDNfQ0JOVU1fU01BTExfQ0JfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfQ0gzX0NCTlVNX1NNQUxMX0NCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxRjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfQ0gzX0NCTlVNX0xBUkdFX0NCX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0NIM19DQk5VTV9MQVJHRV9DQl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1RVUl9DSDNfQ0JOVU1fTEFSR0VfQ0JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxRikKKworI2RlZmluZSBEQlJQX1RVUl9DSDNfRE1ZX0ZJTF9JTkZPX0ZJTExFUl9OVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0NIM19ETVlfRklMX0lORk9fRklMTEVSX05VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9DSDNfRE1ZX0ZJTF9JTkZPX0ZJTExFUl9OVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDNGMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9DSDRfQ0JfU0laRV9TTUFMTF9DQl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0NINF9DQl9TSVpFX1NNQUxMX0NCX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgREJSUF9UVVJfQ0g0X0NCX1NJWkVfU01BTExfQ0JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MUZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfQ0g0X0NCX1NJWkVfTEFSR0VfQ0JfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0NINF9DQl9TSVpFX0xBUkdFX0NCX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgREJSUF9UVVJfQ0g0X0NCX1NJWkVfTEFSR0VfQ0JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDFGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfQ0g0X0NCTlVNX1NNQUxMX0NCX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9DSDRfQ0JOVU1fU01BTExfQ0JfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfQ0g0X0NCTlVNX1NNQUxMX0NCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxRjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfQ0g0X0NCTlVNX0xBUkdFX0NCX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0NINF9DQk5VTV9MQVJHRV9DQl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1RVUl9DSDRfQ0JOVU1fTEFSR0VfQ0JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxRikKKworI2RlZmluZSBEQlJQX1RVUl9DSDRfRE1ZX0ZJTF9JTkZPX0ZJTExFUl9OVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0NINF9ETVlfRklMX0lORk9fRklMTEVSX05VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9DSDRfRE1ZX0ZJTF9JTkZPX0ZJTExFUl9OVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDNGMDAwMCkKKworCisjZW5kaWYgLy8jaWZuZGVmIF9DUEhfQzJLX1JYX0JSUF9UVVJfSF8KZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhjMmtyeGJycHR1cl85Ny5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGMya3J4YnJwdHVyXzk3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDA0YzljYwotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhjMmtyeGJycHR1cl85Ny5oCkBAIC0wLDAgKzEsMjUwOSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NQSF9DMktfUlhfQlJQX1RVUl9IXworI2RlZmluZSBfQ1BIX0MyS19SWF9CUlBfVFVSX0hfCisKKwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogU1JBTUFERFI7ICAgICAgICAgLyogU1JBTSBhZGRyIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBTUkFNREFUQTsgICAgICAgICAvKiBTUkFNIGRhdGEgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIEFQQkFERFI7ICAgICAgICAgIC8qIEFQQiBhZGRyIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgQVBCREFUQTsgICAgICAgICAgLyogQVBCIGRhdGEgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqICBBUEJBRERSMzI7ICAgICAgICAvKiBBUEIgYWRkciBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAgIEFQQkRBVEEzMjsgICAgICAgIC8qIEFQQiBkYXRhIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogRFBSQU1BRERSOyAgICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHNpZ25lZCAgIHNob3J0KiBEUFJBTUFERFJfUzsgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIERQUkFNREFUQTsgICAgICAgIC8qIERQUkFNIGRhdGEgaXMgMTYgYml0cyAqLworCisKKyNkZWZpbmUgUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4YWM5MjAwMDApCisKKyNkZWZpbmUgUlhCUlBfV0NUTF9UVVJfZW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFJYQlJQX1dDVExfVFVSX1JFR19CQVNFICsgMHhEMEEwICsgMSo0KQorCisKKworI2RlZmluZSBEQlJQX1RVUl9DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDAwMDApKQorI2RlZmluZSBEQlJQX1RVUl9EU0NSTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDAwMDQpKQorI2RlZmluZSBEQlJQX1RVUl9DX0RCRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDAwMDgpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX1RSRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwMDApKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0RPTkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwMDQpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwMDgpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwMEMpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NCQlVGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwMTApKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwMTQpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9MUDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwMTgpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9MUDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwMUMpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9MUDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwMjApKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9UckJLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwMjQpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9Db0JLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwMjgpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9ETUFfRFNUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwMkMpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9ETUFfQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwMzApKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9UUkFDRV9DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwMzQpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9IU1JNX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwMzgpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwM0MpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9MUDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwNDApKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9MUDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwNDQpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9MUDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwNDgpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9UckJLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwNEMpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9Db0JLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwNTApKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9ETUFfRFNUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwNTQpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9ETUFfQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwNTgpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9UUkFDRV9DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwNUMpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9IU1JNX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwNjApKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwNjQpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9MUDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwNjgpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9MUDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwNkMpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9MUDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwNzApKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9UckJLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwNzQpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9Db0JLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwNzgpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9ETUFfRFNUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwN0MpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9ETUFfQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwODApKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9UUkFDRV9DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwODQpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9IU1JNX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwODgpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwOEMpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19MUDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwOTApKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19MUDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwOTQpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19MUDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwOTgpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19UckJLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwOUMpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19Db0JLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwQTApKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19ETUFfRFNUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwQTQpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19ETUFfQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwQTgpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19UUkFDRV9DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwQUMpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19IU1JNX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwQjApKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwQjQpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9MUDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwQjgpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9MUDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwQkMpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9MUDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwQzApKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9UckJLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwQzQpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9Db0JLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwQzgpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9ETUFfRFNUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwQ0MpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9ETUFfQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwRDApKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9UUkFDRV9DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwRDQpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9IU1JNX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwRDgpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9UQkNSQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwREMpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9MU1QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwRTApKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9IRENSQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwRTQpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9MUDBfU1RPUkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwRTgpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9MUDFfU1RPUkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwRUMpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9MUDJfU1RPUkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwRjApKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9pQ1JDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwRjQpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9FTkVSR1kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwRjgpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9UQkNSQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIwRkMpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9MU1QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIxMDApKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9IRENSQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIxMDQpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9MUDBfU1RPUkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIxMDgpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9MUDFfU1RPUkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIxMEMpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9MUDJfU1RPUkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIxMTApKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9pQ1JDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIxMTQpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9FTkVSR1kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIxMTgpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9UQkNSQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIxMUMpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9MU1QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIxMjApKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9IRENSQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIxMjQpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9MUDBfU1RPUkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIxMjgpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9MUDFfU1RPUkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIxMkMpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9MUDJfU1RPUkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIxMzApKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9pQ1JDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIxMzQpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19UQkNSQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIxMzgpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19MU1QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIxM0MpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19IRENSQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIxNDApKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19MUDBfU1RPUkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIxNDQpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19MUDFfU1RPUkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIxNDgpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19MUDJfU1RPUkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIxNEMpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19pQ1JDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIxNTApKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9UQkNSQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIxNTQpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9MU1QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIxNTgpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9IRENSQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIxNUMpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9MUDBfU1RPUkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIxNjApKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9MUDFfU1RPUkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIxNjQpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9MUDJfU1RPUkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIxNjgpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9pQ1JDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIxNkMpKQorI2RlZmluZSBEQlJQX1RVUl9CVVNZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDIxNzApKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfVFJHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwMDApKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwMDQpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTEFUQ0ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwMDgpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRlJNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwMEMpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfU0lfUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwMTApKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0JOVU0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwMTQpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX0lURVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwMTgpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX01BQ19JTkZPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwMUMpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX0lOSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwMjApKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX1RCSU5GTzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwMjQpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX0VNSV9JTkZPMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwMjgpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX0VNSV9JTkZPMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwMkMpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX0lURVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwMzApKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX01BQ19JTkZPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwMzQpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX0lOSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwMzgpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX1RCSU5GTzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwM0MpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX0VNSV9JTkZPMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwNDApKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX0VNSV9JTkZPMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwNDQpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX0lURVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwNDgpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX01BQ19JTkZPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwNEMpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX0lOSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwNTApKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX1RCSU5GTzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwNTQpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX0VNSV9JTkZPMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwNTgpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX0VNSV9JTkZPMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwNUMpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX0lURVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwNjApKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX01BQ19JTkZPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwNjQpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX0lOSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwNjgpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX1RCSU5GTzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwNkMpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX0VNSV9JTkZPMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwNzApKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX0VNSV9JTkZPMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwNzQpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X0lURVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwNzgpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X01BQ19JTkZPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwN0MpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X0lOSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwODApKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X1RCSU5GTzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwODQpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X0VNSV9JTkZPMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwODgpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X0VNSV9JTkZPMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwOEMpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMF9SUFQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwOTApKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMF9SUFQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwOTQpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMV9SUFQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwOTgpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMV9SUFQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwOUMpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMl9SUFQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwQTApKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMl9SUFQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwQTQpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIM19SUFQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwQTgpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIM19SUFQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwQUMpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NINF9SUFQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwQjApKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NINF9SUFQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwQjQpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMF9SUFQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwQjgpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMF9SUFQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwQkMpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMV9SUFQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwQzApKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMV9SUFQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwQzQpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMl9SUFQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwQzgpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMl9SUFQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwQ0MpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIM19SUFQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwRDApKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIM19SUFQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwRDQpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NINF9SUFQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwRDgpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NINF9SUFQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwREMpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMF9SUFQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwRTApKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMF9SUFQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwRTQpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMV9SUFQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwRTgpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMV9SUFQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwRUMpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMl9SUFQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwRjApKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMl9SUFQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwRjQpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIM19SUFQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwRjgpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIM19SUFQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMwRkMpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NINF9SUFQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMxMDApKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NINF9SUFQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMxMDQpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMxMDgpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ01EMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMxMEMpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ01EMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMxMTApKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NNRF9SUFQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMxMTQpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NNRF9SUFQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMxMTgpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NNRF9SUFQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMxMUMpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NNRF9SUFQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMxMjApKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NNRF9SUFQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMxMjQpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NNRF9SUFQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMxMjgpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9BU1NFUlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDMxMkMpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRldfUlNUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDNGRkMpKQorI2RlZmluZSBEQlJQX1RVUl9SU1JWX01QVV9TVEFSVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDQwMEMpKQorI2RlZmluZSBEQlJQX1RVUl9SU1JWX01QVV9FTkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDQwMTApKQorI2RlZmluZSBEQlJQX1RVUl9SU1JWX01QVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDQwMTQpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX01QVV9TVEFSVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDQwMTgpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX01QVV9FTkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDQwMUMpKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX01QVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDQwMjApKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBVX1NUQVJUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDQwMjQpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBVX0VORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDQwMjgpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDQwMkMpKQorI2RlZmluZSBEQlJQX1RVUl9NUFVfVklPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDQwMzApKQorI2RlZmluZSBEQlJQX1RVUl9NUFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDQwMzQpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQVRBX0NOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwMDApKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwMDQpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwMDgpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwMEMpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwMTApKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwMTQpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwMTgpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwMUMpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwMjApKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwMjQpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwMjgpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwMkMpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwMzApKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwMzQpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwMzgpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwM0MpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwNDApKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwNDQpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwNDgpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwNEMpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwNTApKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwNTQpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwNTgpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwNUMpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwNjApKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwNjQpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwNjgpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwNkMpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwNzApKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwNzQpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwNzgpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwN0MpKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwODApKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9XUklURSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwODQpKQorI2RlZmluZSBEQlJQX1RVUl9MX0ZTTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwODgpKQorI2RlZmluZSBEQlJQX1RVUl9XVF9GU00gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwOEMpKQorI2RlZmluZSBEQlJQX1RVUl9ERUNfRlNNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwOTApKQorI2RlZmluZSBEQlJQX1RVUl9ET0JfRlNNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwOTQpKQorI2RlZmluZSBEQlJQX1RVUl9DX0ZTTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwOTgpKQorI2RlZmluZSBEQlJQX1RVUl9NT0RFX0RCRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDUwOUMpKQorI2RlZmluZSBEQlJQX1RVUl9SVFRfQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDYwMDApKQorI2RlZmluZSBEQlJQX1RVUl9SVFRfRFNUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDYwMDQpKQorI2RlZmluZSBEQlJQX1RVUl9SVFRfRE1BX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDYwMDgpKQorI2RlZmluZSBEQlJQX1RVUl9SVFRfVFJBQ0VfQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDYwMEMpKQorI2RlZmluZSBEQlJQX1RVUl9SVFRfQ0JDUkMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDYwMTApKQorI2RlZmluZSBEQlJQX1RVUl9SVFRfTFNUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDYwMTQpKQorI2RlZmluZSBEQlJQX1RVUl9SVFRfRU5FUkdZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDYwMTgpKQorI2RlZmluZSBEQlJQX1RVUl9FVkRPX0lURVJfQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDcwMDApKQorI2RlZmluZSBEQlJQX1RVUl9FVkRPX0RTVF9QSU5HICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDcwMDQpKQorI2RlZmluZSBEQlJQX1RVUl9FVkRPX0RTVF9QT05HICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDcwMDgpKQorI2RlZmluZSBEQlJQX1RVUl9FVkRPX0RNQV9DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDcwMEMpKQorI2RlZmluZSBEQlJQX1RVUl9FVkRPX1RSQUNFX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDcwMTApKQorI2RlZmluZSBEQlJQX1RVUl9FVkRPX0NCQ1JDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDcwMTQpKQorI2RlZmluZSBEQlJQX1RVUl9FVkRPX0xTVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDcwMTgpKQorI2RlZmluZSBEQlJQX1RVUl9FVkRPX0hBUlEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDcwMUMpKQorI2RlZmluZSBEQlJQX1RVUl9FVkRPX1BBQ0tFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDcwMjApKQorI2RlZmluZSBEQlJQX1RVUl9FVkRPX0RTVF9BRFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDcwMjQpKQorI2RlZmluZSBEQlJQX1RVUl9FVkRPX0VORVJHWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDcwMjgpKQorI2RlZmluZSBEQlJQX1RVUl9DMktfQlVTWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweDcwMkMpKQorI2RlZmluZSBEQlJQX1RVUl9DQl9OVU0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweEQwMDApKQorI2RlZmluZSBEQlJQX1RVUl9DSDBfQ0JfU0laRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweEQwMTgpKQorI2RlZmluZSBEQlJQX1RVUl9DSDBfQ0JOVU0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweEQwMjgpKQorI2RlZmluZSBEQlJQX1RVUl9DSDBfRE1ZX0ZJTF9JTkZPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweEQwMzApKQorI2RlZmluZSBEQlJQX1RVUl9DSDFfQ0JfU0laRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweEQwMzQpKQorI2RlZmluZSBEQlJQX1RVUl9DSDFfQ0JOVU0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweEQwNDQpKQorI2RlZmluZSBEQlJQX1RVUl9DSDFfRE1ZX0ZJTF9JTkZPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweEQwNEMpKQorI2RlZmluZSBEQlJQX1RVUl9DSDJfQ0JfU0laRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweEQwNTApKQorI2RlZmluZSBEQlJQX1RVUl9DSDJfQ0JOVU0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweEQwNjApKQorI2RlZmluZSBEQlJQX1RVUl9DSDJfRE1ZX0ZJTF9JTkZPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweEQwNjgpKQorI2RlZmluZSBEQlJQX1RVUl9DSDNfQ0JfU0laRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweEQwNkMpKQorI2RlZmluZSBEQlJQX1RVUl9DSDNfQ0JOVU0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweEQwN0MpKQorI2RlZmluZSBEQlJQX1RVUl9DSDNfRE1ZX0ZJTF9JTkZPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweEQwODQpKQorI2RlZmluZSBEQlJQX1RVUl9DSDRfQ0JfU0laRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweEQwODgpKQorI2RlZmluZSBEQlJQX1RVUl9DSDRfQ0JOVU0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweEQwOTgpKQorI2RlZmluZSBEQlJQX1RVUl9DSDRfRE1ZX0ZJTF9JTkZPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfV0NUTF9UVVJfUkVHX0JBU0UgKyAweEQwQTApKQorCisKKyNkZWZpbmUgREJSUF9UVVJfQ0ZHX0NSX1RIX09GU1RfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0NGR19DUl9USF9PRlNUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgREJSUF9UVVJfQ0ZHX0NSX1RIX09GU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDFGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDUk1fQllQQVNTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ1JNX0JZUEFTU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NSTV9CWVBBU1NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDUk1fQllQQVNTX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9UVVJfQ19EQkdfVElNRVJfTEFUQ0hfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0NfREJHX1RJTUVSX0xBVENIX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9DX0RCR19USU1FUl9MQVRDSF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgREJSUF9UVVJfQ19EQkdfVElNRVJfTEFUQ0hfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgREJSUF9UVVJfQ19EQkdfRU1JX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0NfREJHX0VNSV9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9DX0RCR19FTUlfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9UVVJfQ19EQkdfRU1JX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9UUkdfU1RBUlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfVFJHX1NUQVJUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX1RSR19TVEFSVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9UUkdfU1RBUlRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9ET05FX1NXX0lSUV9UUkdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfRE9ORV9TV19JUlFfVFJHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0RPTkVfU1dfSVJRX1RSR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9ET05FX1NXX0lSUV9UUkdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9ET05FX1NXX0lSUV9TVEFUVVNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfRE9ORV9TV19JUlFfU1RBVFVTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0RPTkVfU1dfSVJRX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9ET05FX1NXX0lSUV9TVEFUVVNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9ET05FX1NUQVRVU19ESVNBQkxFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfRE9ORV9TVEFUVVNfRElTQUJMRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0RPTkVfU1RBVFVTX0RJU0FCTEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9ET05FX1NUQVRVU19ESVNBQkxFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9ET05FX1NUQVRVU19DSDRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfRE9ORV9TVEFUVVNfQ0g0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0RPTkVfU1RBVFVTX0NINF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9ET05FX1NUQVRVU19DSDRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9ET05FX1NUQVRVU19DSDNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfRE9ORV9TVEFUVVNfQ0gzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0RPTkVfU1RBVFVTX0NIM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9ET05FX1NUQVRVU19DSDNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9ET05FX1NUQVRVU19DSDJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfRE9ORV9TVEFUVVNfQ0gyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0RPTkVfU1RBVFVTX0NIMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9ET05FX1NUQVRVU19DSDJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9ET05FX1NUQVRVU19DSDFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfRE9ORV9TVEFUVVNfQ0gxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0RPTkVfU1RBVFVTX0NIMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9ET05FX1NUQVRVU19DSDFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9ET05FX1NUQVRVU19DSDBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfRE9ORV9TVEFUVVNfQ0gwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0RPTkVfU1RBVFVTX0NIMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9ET05FX1NUQVRVU19DSDBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9FTl9MT1dQV1JfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfRU5fTE9XUFdSX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0VOX0xPV1BXUl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9FTl9MT1dQV1JfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9FTl9DSGlfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfRU5fQ0hpX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0VOX0NIaV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NGR19IREFDUkNfTU9ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DRkdfSERBQ1JDX01PREVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0ZHX0hEQUNSQ19NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0JCVUZfQkFTRV9BRERSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NCQlVGX0JBU0VfQUREUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0JCVUZfQkFTRV9BRERSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0NGR19VRUlEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfQ0ZHX1VFSURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9DRkdfVUVJRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9DRkdfQ1JDX01FVEhPRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0NGR19DUkNfTUVUSE9EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9DRkdfQ1JDX01FVEhPRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfQ0ZHX0NSQ19NRVRIT0RfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfQ0ZHX01JTl9JVEVSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9DRkdfTUlOX0lURVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfQ0ZHX01JTl9JVEVSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdDMDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfQ0ZHX01BWF9JVEVSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0NGR19NQVhfSVRFUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9DRkdfTUFYX0lURVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNFMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9DRkdfVEJfRVFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfQ0ZHX1RCX0VRX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0NGR19UQl9FUV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9DRkdfVEJfRVFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9DRkdfSERDUkNFU19FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfQ0ZHX0hEQ1JDRVNfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0NGR19IRENSQ0VTX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9DRkdfSERDUkNFU19FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9DRkdfQ1JDU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfQ0ZHX0NSQ1NJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0NGR19DUkNTSVpFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0xQMF9EU0NSTV9JTklfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfTFAwX0RTQ1JNX0lOSV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9MUDBfRFNDUk1fSU5JX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9MUDBfV0JVRl9JTklfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfTFAwX1dCVUZfSU5JX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9MUDBfV0JVRl9JTklfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwM0ZGMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9MUDBfU1RBUlRfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfTFAwX1NUQVJUX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0xQMF9TVEFSVF9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0xQMV9QQ1JDX0lOSV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9MUDFfUENSQ19JTklfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0xQMV9QQ1JDX0lOSV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0xQMl9DQlVGX0lOSV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfTFAyX0NCVUZfSU5JX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9MUDJfQ0JVRl9JTklfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg3RkUwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9MUDJfUkRDTlRfSU5JX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfTFAyX1JEQ05UX0lOSV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9MUDJfUkRDTlRfSU5JX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDFGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9UckJLX1RCU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX1RyQktfVEJTSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfVHJCS19UQlNJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfVHJCS19UQk5VTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX1RyQktfVEJOVU1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9UckJLX1RCTlVNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9Db0JLX0NCU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0NvQktfQ0JTSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfQ29CS19DQlNJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MUZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfQ29CS19DQlBBRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0NvQktfQ0JQQURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9Db0JLX0NCUEFEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9Db0JLX0NCTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfQ29CS19DQk5VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0NvQktfQ0JOVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0RNQV9EU1RfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9ETUFfRFNUX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0RNQV9EU1RfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0RNQV9DRkdfQ1JDX1JFTU9WRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9ETUFfQ0ZHX0NSQ19SRU1PVkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfRE1BX0NGR19DUkNfUkVNT1ZFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0RNQV9DRkdfQ1JDX1JFTU9WRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0RNQV9DRkdfU1dBUF9FTkRJQU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9ETUFfQ0ZHX1NXQVBfRU5ESUFOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfRE1BX0NGR19TV0FQX0VORElBTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0RNQV9DRkdfU1dBUF9FTkRJQU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0RNQV9DRkdfTUFDX09GU1RfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9ETUFfQ0ZHX01BQ19PRlNUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfRE1BX0NGR19NQUNfT0ZTVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfVFJBQ0VfQ0ZHX1RSQUNFX0NCX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX1RSQUNFX0NGR19UUkFDRV9DQl9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9UUkFDRV9DRkdfVFJBQ0VfQ0JfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDBGMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9UUkFDRV9DRkdfVFJBQ0VfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfVFJBQ0VfQ0ZHX1RSQUNFX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX1RSQUNFX0NGR19UUkFDRV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9UUkFDRV9DRkdfVFJBQ0VfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9IU1JNX0NGR19QSU5HX1BPTkdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfSFNSTV9DRkdfUElOR19QT05HX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0hTUk1fQ0ZHX1BJTkdfUE9OR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9IU1JNX0NGR19QSU5HX1BPTkdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9DRkdfVUVJRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0NGR19VRUlEX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfQ0ZHX1VFSURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfQ0ZHX0NSQ19NRVRIT0RfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9DRkdfQ1JDX01FVEhPRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfQ0ZHX0NSQ19NRVRIT0RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0NGR19DUkNfTUVUSE9EX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0NGR19NSU5fSVRFUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfQ0ZHX01JTl9JVEVSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0NGR19NSU5fSVRFUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3QzAwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0NGR19NQVhfSVRFUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9DRkdfTUFYX0lURVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfQ0ZHX01BWF9JVEVSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRTApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfQ0ZHX1RCX0VRX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0NGR19UQl9FUV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9DRkdfVEJfRVFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfQ0ZHX1RCX0VRX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfQ0ZHX0hEQ1JDRVNfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0NGR19IRENSQ0VTX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9DRkdfSERDUkNFU19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfQ0ZHX0hEQ1JDRVNfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfQ0ZHX0NSQ1NJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0NGR19DUkNTSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9DRkdfQ1JDU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9MUDBfRFNDUk1fSU5JX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0xQMF9EU0NSTV9JTklfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfTFAwX0RTQ1JNX0lOSV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfTFAwX1dCVUZfSU5JX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0xQMF9XQlVGX0lOSV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfTFAwX1dCVUZfSU5JX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDNGRjApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfTFAwX1NUQVJUX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0xQMF9TVEFSVF9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9MUDBfU1RBUlRfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9MUDFfUENSQ19JTklfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfTFAxX1BDUkNfSU5JX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9MUDFfUENSQ19JTklfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9MUDJfQ0JVRl9JTklfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0xQMl9DQlVGX0lOSV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfTFAyX0NCVUZfSU5JX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4N0ZFMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfTFAyX1JEQ05UX0lOSV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0xQMl9SRENOVF9JTklfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfTFAyX1JEQ05UX0lOSV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfVHJCS19UQlNJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9UckJLX1RCU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX1RyQktfVEJTSVpFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX1RyQktfVEJOVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9UckJLX1RCTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfVHJCS19UQk5VTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfQ29CS19DQlNJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9Db0JLX0NCU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0NvQktfQ0JTSVpFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDFGRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0NvQktfQ0JQQURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9Db0JLX0NCUEFEX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfQ29CS19DQlBBRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRjApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfQ29CS19DQk5VTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0NvQktfQ0JOVU1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9Db0JLX0NCTlVNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9ETUFfRFNUX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfRE1BX0RTVF9BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9ETUFfRFNUX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9ETUFfQ0ZHX0NSQ19SRU1PVkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfRE1BX0NGR19DUkNfUkVNT1ZFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0RNQV9DRkdfQ1JDX1JFTU9WRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9ETUFfQ0ZHX0NSQ19SRU1PVkVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9ETUFfQ0ZHX1NXQVBfRU5ESUFOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfRE1BX0NGR19TV0FQX0VORElBTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0RNQV9DRkdfU1dBUF9FTkRJQU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9ETUFfQ0ZHX1NXQVBfRU5ESUFOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9ETUFfQ0ZHX01BQ19PRlNUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfRE1BX0NGR19NQUNfT0ZTVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0RNQV9DRkdfTUFDX09GU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX1RSQUNFX0NGR19UUkFDRV9DQl9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9UUkFDRV9DRkdfVFJBQ0VfQ0JfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfVFJBQ0VfQ0ZHX1RSQUNFX0NCX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwRjApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfVFJBQ0VfQ0ZHX1RSQUNFX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX1RSQUNFX0NGR19UUkFDRV9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9UUkFDRV9DRkdfVFJBQ0VfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfVFJBQ0VfQ0ZHX1RSQUNFX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfSFNSTV9DRkdfUElOR19QT05HX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0hTUk1fQ0ZHX1BJTkdfUE9OR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9IU1JNX0NGR19QSU5HX1BPTkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfSFNSTV9DRkdfUElOR19QT05HX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfQ0ZHX1VFSURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9DRkdfVUVJRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0NGR19VRUlEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0NGR19DUkNfTUVUSE9EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfQ0ZHX0NSQ19NRVRIT0RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0NGR19DUkNfTUVUSE9EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9DRkdfQ1JDX01FVEhPRF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9DRkdfTUlOX0lURVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0NGR19NSU5fSVRFUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9DRkdfTUlOX0lURVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0MwMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9DRkdfTUFYX0lURVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfQ0ZHX01BWF9JVEVSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0NGR19NQVhfSVRFUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwM0UwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0NGR19UQl9FUV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9DRkdfVEJfRVFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfQ0ZHX1RCX0VRX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0NGR19UQl9FUV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0NGR19IRENSQ0VTX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9DRkdfSERDUkNFU19FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfQ0ZHX0hEQ1JDRVNfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0NGR19IRENSQ0VTX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0NGR19DUkNTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9DRkdfQ1JDU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfQ0ZHX0NSQ1NJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDcpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfTFAwX0RTQ1JNX0lOSV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9MUDBfRFNDUk1fSU5JX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0xQMF9EU0NSTV9JTklfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0xQMF9XQlVGX0lOSV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9MUDBfV0JVRl9JTklfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0xQMF9XQlVGX0lOSV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAzRkYwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0xQMF9TVEFSVF9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9MUDBfU1RBUlRfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfTFAwX1NUQVJUX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfTFAxX1BDUkNfSU5JX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0xQMV9QQ1JDX0lOSV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfTFAxX1BDUkNfSU5JX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfTFAyX0NCVUZfSU5JX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9MUDJfQ0JVRl9JTklfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0xQMl9DQlVGX0lOSV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDdGRTAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0xQMl9SRENOVF9JTklfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9MUDJfUkRDTlRfSU5JX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0xQMl9SRENOVF9JTklfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX1RyQktfVEJTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfVHJCS19UQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9UckJLX1RCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9UckJLX1RCTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfVHJCS19UQk5VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX1RyQktfVEJOVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDNGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0NvQktfQ0JTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfQ29CS19DQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9Db0JLX0NCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxRkZGMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9Db0JLX0NCUEFEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfQ29CS19DQlBBRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0NvQktfQ0JQQURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwM0YwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0NvQktfQ0JOVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9Db0JLX0NCTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfQ29CS19DQk5VTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfRE1BX0RTVF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0RNQV9EU1RfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfRE1BX0RTVF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfRE1BX0NGR19DUkNfUkVNT1ZFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0RNQV9DRkdfQ1JDX1JFTU9WRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9ETUFfQ0ZHX0NSQ19SRU1PVkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfRE1BX0NGR19DUkNfUkVNT1ZFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfRE1BX0NGR19TV0FQX0VORElBTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0RNQV9DRkdfU1dBUF9FTkRJQU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9ETUFfQ0ZHX1NXQVBfRU5ESUFOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfRE1BX0NGR19TV0FQX0VORElBTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfRE1BX0NGR19NQUNfT0ZTVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0RNQV9DRkdfTUFDX09GU1RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9ETUFfQ0ZHX01BQ19PRlNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9UUkFDRV9DRkdfVFJBQ0VfQ0JfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfVFJBQ0VfQ0ZHX1RSQUNFX0NCX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX1RSQUNFX0NGR19UUkFDRV9DQl9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEYwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX1RSQUNFX0NGR19UUkFDRV9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9UUkFDRV9DRkdfVFJBQ0VfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfVFJBQ0VfQ0ZHX1RSQUNFX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX1RSQUNFX0NGR19UUkFDRV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0hTUk1fQ0ZHX1BJTkdfUE9OR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9IU1JNX0NGR19QSU5HX1BPTkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfSFNSTV9DRkdfUElOR19QT05HX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0hTUk1fQ0ZHX1BJTkdfUE9OR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0NGR19VRUlEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfQ0ZHX1VFSURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19DRkdfVUVJRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19DRkdfQ1JDX01FVEhPRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0NGR19DUkNfTUVUSE9EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19DRkdfQ1JDX01FVEhPRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfQ0ZHX0NSQ19NRVRIT0RfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfQ0ZHX01JTl9JVEVSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19DRkdfTUlOX0lURVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfQ0ZHX01JTl9JVEVSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdDMDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfQ0ZHX01BWF9JVEVSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0NGR19NQVhfSVRFUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19DRkdfTUFYX0lURVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNFMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19DRkdfVEJfRVFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfQ0ZHX1RCX0VRX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0NGR19UQl9FUV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19DRkdfVEJfRVFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19DRkdfSERDUkNFU19FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfQ0ZHX0hEQ1JDRVNfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0NGR19IRENSQ0VTX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19DRkdfSERDUkNFU19FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19DRkdfQ1JDU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfQ0ZHX0NSQ1NJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0NGR19DUkNTSVpFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0xQMF9EU0NSTV9JTklfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfTFAwX0RTQ1JNX0lOSV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19MUDBfRFNDUk1fSU5JX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19MUDBfV0JVRl9JTklfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfTFAwX1dCVUZfSU5JX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19MUDBfV0JVRl9JTklfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwM0ZGMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19MUDBfU1RBUlRfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfTFAwX1NUQVJUX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0xQMF9TVEFSVF9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0xQMV9QQ1JDX0lOSV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19MUDFfUENSQ19JTklfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0xQMV9QQ1JDX0lOSV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0xQMl9DQlVGX0lOSV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfTFAyX0NCVUZfSU5JX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19MUDJfQ0JVRl9JTklfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg3RkUwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19MUDJfUkRDTlRfSU5JX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfTFAyX1JEQ05UX0lOSV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19MUDJfUkRDTlRfSU5JX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDFGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19UckJLX1RCU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX1RyQktfVEJTSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfVHJCS19UQlNJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfVHJCS19UQk5VTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX1RyQktfVEJOVU1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19UckJLX1RCTlVNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19Db0JLX0NCU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0NvQktfQ0JTSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfQ29CS19DQlNJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MUZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfQ29CS19DQlBBRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0NvQktfQ0JQQURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19Db0JLX0NCUEFEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19Db0JLX0NCTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfQ29CS19DQk5VTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0NvQktfQ0JOVU1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0RNQV9EU1RfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19ETUFfRFNUX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0RNQV9EU1RfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0RNQV9DRkdfQ1JDX1JFTU9WRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19ETUFfQ0ZHX0NSQ19SRU1PVkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfRE1BX0NGR19DUkNfUkVNT1ZFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0RNQV9DRkdfQ1JDX1JFTU9WRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0RNQV9DRkdfU1dBUF9FTkRJQU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19ETUFfQ0ZHX1NXQVBfRU5ESUFOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfRE1BX0NGR19TV0FQX0VORElBTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0RNQV9DRkdfU1dBUF9FTkRJQU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0RNQV9DRkdfTUFDX09GU1RfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19ETUFfQ0ZHX01BQ19PRlNUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfRE1BX0NGR19NQUNfT0ZTVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfVFJBQ0VfQ0ZHX1RSQUNFX0NCX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX1RSQUNFX0NGR19UUkFDRV9DQl9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19UUkFDRV9DRkdfVFJBQ0VfQ0JfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDBGMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19UUkFDRV9DRkdfVFJBQ0VfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfVFJBQ0VfQ0ZHX1RSQUNFX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX1RSQUNFX0NGR19UUkFDRV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19UUkFDRV9DRkdfVFJBQ0VfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19IU1JNX0NGR19QSU5HX1BPTkdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfSFNSTV9DRkdfUElOR19QT05HX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0hTUk1fQ0ZHX1BJTkdfUE9OR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19IU1JNX0NGR19QSU5HX1BPTkdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9DRkdfVUVJRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0NGR19VRUlEX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfQ0ZHX1VFSURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfQ0ZHX0NSQ19NRVRIT0RfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9DRkdfQ1JDX01FVEhPRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfQ0ZHX0NSQ19NRVRIT0RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0NGR19DUkNfTUVUSE9EX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0NGR19NSU5fSVRFUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfQ0ZHX01JTl9JVEVSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0NGR19NSU5fSVRFUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3QzAwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0NGR19NQVhfSVRFUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9DRkdfTUFYX0lURVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfQ0ZHX01BWF9JVEVSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRTApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfQ0ZHX1RCX0VRX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0NGR19UQl9FUV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9DRkdfVEJfRVFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfQ0ZHX1RCX0VRX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfQ0ZHX0hEQ1JDRVNfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0NGR19IRENSQ0VTX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9DRkdfSERDUkNFU19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfQ0ZHX0hEQ1JDRVNfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfQ0ZHX0NSQ1NJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0NGR19DUkNTSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9DRkdfQ1JDU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9MUDBfRFNDUk1fSU5JX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0xQMF9EU0NSTV9JTklfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfTFAwX0RTQ1JNX0lOSV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfTFAwX1dCVUZfSU5JX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0xQMF9XQlVGX0lOSV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfTFAwX1dCVUZfSU5JX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDNGRjApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfTFAwX1NUQVJUX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0xQMF9TVEFSVF9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9MUDBfU1RBUlRfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9MUDFfUENSQ19JTklfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfTFAxX1BDUkNfSU5JX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9MUDFfUENSQ19JTklfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9MUDJfQ0JVRl9JTklfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0xQMl9DQlVGX0lOSV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfTFAyX0NCVUZfSU5JX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4N0ZFMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfTFAyX1JEQ05UX0lOSV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0xQMl9SRENOVF9JTklfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfTFAyX1JEQ05UX0lOSV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfVHJCS19UQlNJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9UckJLX1RCU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X1RyQktfVEJTSVpFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X1RyQktfVEJOVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9UckJLX1RCTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfVHJCS19UQk5VTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfQ29CS19DQlNJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9Db0JLX0NCU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0NvQktfQ0JTSVpFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDFGRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0NvQktfQ0JQQURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9Db0JLX0NCUEFEX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfQ29CS19DQlBBRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRjApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfQ29CS19DQk5VTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0NvQktfQ0JOVU1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9Db0JLX0NCTlVNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9ETUFfRFNUX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfRE1BX0RTVF9BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9ETUFfRFNUX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9ETUFfQ0ZHX0NSQ19SRU1PVkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfRE1BX0NGR19DUkNfUkVNT1ZFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0RNQV9DRkdfQ1JDX1JFTU9WRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9ETUFfQ0ZHX0NSQ19SRU1PVkVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9ETUFfQ0ZHX1NXQVBfRU5ESUFOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfRE1BX0NGR19TV0FQX0VORElBTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0RNQV9DRkdfU1dBUF9FTkRJQU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9ETUFfQ0ZHX1NXQVBfRU5ESUFOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9ETUFfQ0ZHX01BQ19PRlNUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfRE1BX0NGR19NQUNfT0ZTVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0RNQV9DRkdfTUFDX09GU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X1RSQUNFX0NGR19UUkFDRV9DQl9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9UUkFDRV9DRkdfVFJBQ0VfQ0JfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfVFJBQ0VfQ0ZHX1RSQUNFX0NCX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwRjApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfVFJBQ0VfQ0ZHX1RSQUNFX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X1RSQUNFX0NGR19UUkFDRV9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9UUkFDRV9DRkdfVFJBQ0VfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfVFJBQ0VfQ0ZHX1RSQUNFX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfSFNSTV9DRkdfUElOR19QT05HX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0hTUk1fQ0ZHX1BJTkdfUE9OR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9IU1JNX0NGR19QSU5HX1BPTkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfSFNSTV9DRkdfUElOR19QT05HX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfVEJDUkNfU1RBVFVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX1RCQ1JDX1NUQVRVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9UQkNSQ19TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfVEJDUkNfU1RBVFVTX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfTFNUX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0xTVF9BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfTFNUX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfSERDUkNfUkVTVUxUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0hEQ1JDX1JFU1VMVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9IRENSQ19SRVNVTFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9MUDBfU1RPUkVfRFNDUk1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0xQMF9TVE9SRV9EU0NSTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfTFAwX1NUT1JFX0RTQ1JNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfTFAwX1NUT1JFX1dCVUZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0xQMF9TVE9SRV9XQlVGX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfTFAwX1NUT1JFX1dCVUZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfTFAxX1NUT1JFX1BDUkNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0xQMV9TVE9SRV9QQ1JDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfTFAxX1NUT1JFX1BDUkNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDBfTFAyX1NUT1JFX0NCVUZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9MUDJfU1RPUkVfQ0JVRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0xQMl9TVE9SRV9DQlVGX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDdGRTAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0xQMl9TVE9SRV9SRENOVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9MUDJfU1RPUkVfUkRDTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0xQMl9TVE9SRV9SRENOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX2lDUkNfUkVTVUxUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9pQ1JDX1JFU1VMVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX2lDUkNfUkVTVUxUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0VORVJHWV9BQ0NVTVVMQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMF9FTkVSR1lfQUNDVU1VTEFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gwX0VORVJHWV9BQ0NVTVVMQVRFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX1RCQ1JDX1NUQVRVU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9UQkNSQ19TVEFUVVNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfVEJDUkNfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX1RCQ1JDX1NUQVRVU19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0xTVF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9MU1RfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0xTVF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0hEQ1JDX1JFU1VMVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9IRENSQ19SRVNVTFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfSERDUkNfUkVTVUxUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfTFAwX1NUT1JFX0RTQ1JNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9MUDBfU1RPUkVfRFNDUk1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0xQMF9TVE9SRV9EU0NSTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0xQMF9TVE9SRV9XQlVGX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9MUDBfU1RPUkVfV0JVRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0xQMF9TVE9SRV9XQlVGX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwM0ZGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0xQMV9TVE9SRV9QQ1JDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9MUDFfU1RPUkVfUENSQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0xQMV9TVE9SRV9QQ1JDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gxX0xQMl9TVE9SRV9DQlVGX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfTFAyX1NUT1JFX0NCVUZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9MUDJfU1RPUkVfQ0JVRl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg3RkUwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9MUDJfU1RPUkVfUkRDTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfTFAyX1NUT1JFX1JEQ05UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9MUDJfU1RPUkVfUkRDTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDFGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9pQ1JDX1JFU1VMVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfaUNSQ19SRVNVTFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9pQ1JDX1JFU1VMVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9FTkVSR1lfQUNDVU1VTEFURV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDFfRU5FUkdZX0FDQ1VNVUxBVEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMV9FTkVSR1lfQUNDVU1VTEFURV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9UQkNSQ19TVEFUVVNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfVEJDUkNfU1RBVFVTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX1RCQ1JDX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9UQkNSQ19TVEFUVVNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9MU1RfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfTFNUX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9MU1RfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9IRENSQ19SRVNVTFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfSERDUkNfUkVTVUxUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0hEQ1JDX1JFU1VMVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0xQMF9TVE9SRV9EU0NSTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfTFAwX1NUT1JFX0RTQ1JNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9MUDBfU1RPUkVfRFNDUk1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9MUDBfU1RPUkVfV0JVRl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfTFAwX1NUT1JFX1dCVUZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9MUDBfU1RPUkVfV0JVRl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9MUDFfU1RPUkVfUENSQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfTFAxX1NUT1JFX1BDUkNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9MUDFfU1RPUkVfUENSQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIMl9MUDJfU1RPUkVfQ0JVRl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0xQMl9TVE9SRV9DQlVGX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfTFAyX1NUT1JFX0NCVUZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4N0ZFMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfTFAyX1NUT1JFX1JEQ05UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX0xQMl9TVE9SRV9SRENOVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfTFAyX1NUT1JFX1JEQ05UX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfaUNSQ19SRVNVTFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gyX2lDUkNfUkVTVUxUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDJfaUNSQ19SRVNVTFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfVEJDUkNfU1RBVFVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX1RCQ1JDX1NUQVRVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19UQkNSQ19TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfVEJDUkNfU1RBVFVTX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfTFNUX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0xTVF9BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfTFNUX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfSERDUkNfUkVTVUxUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0hEQ1JDX1JFU1VMVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19IRENSQ19SRVNVTFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19MUDBfU1RPUkVfRFNDUk1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0xQMF9TVE9SRV9EU0NSTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfTFAwX1NUT1JFX0RTQ1JNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfTFAwX1NUT1JFX1dCVUZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0xQMF9TVE9SRV9XQlVGX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfTFAwX1NUT1JFX1dCVUZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfTFAxX1NUT1JFX1BDUkNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0xQMV9TVE9SRV9QQ1JDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfTFAxX1NUT1JFX1BDUkNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDNfTFAyX1NUT1JFX0NCVUZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19MUDJfU1RPUkVfQ0JVRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0xQMl9TVE9SRV9DQlVGX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDdGRTAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0xQMl9TVE9SRV9SRENOVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19MUDJfU1RPUkVfUkRDTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX0xQMl9TVE9SRV9SRENOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX2lDUkNfUkVTVUxUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NIM19pQ1JDX1JFU1VMVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0gzX2lDUkNfUkVTVUxUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X1RCQ1JDX1NUQVRVU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9UQkNSQ19TVEFUVVNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfVEJDUkNfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X1RCQ1JDX1NUQVRVU19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0xTVF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9MU1RfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0xTVF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0hEQ1JDX1JFU1VMVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9IRENSQ19SRVNVTFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfSERDUkNfUkVTVUxUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfTFAwX1NUT1JFX0RTQ1JNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9MUDBfU1RPUkVfRFNDUk1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0xQMF9TVE9SRV9EU0NSTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0xQMF9TVE9SRV9XQlVGX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9MUDBfU1RPUkVfV0JVRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0xQMF9TVE9SRV9XQlVGX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwM0ZGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0xQMV9TVE9SRV9QQ1JDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9MUDFfU1RPUkVfUENSQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0xQMV9TVE9SRV9QQ1JDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfQ0g0X0xQMl9TVE9SRV9DQlVGX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfTFAyX1NUT1JFX0NCVUZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9MUDJfU1RPUkVfQ0JVRl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg3RkUwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9MUDJfU1RPUkVfUkRDTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfTFAyX1NUT1JFX1JEQ05UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9MUDJfU1RPUkVfUkRDTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDFGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9pQ1JDX1JFU1VMVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9DSDRfaUNSQ19SRVNVTFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX0NINF9pQ1JDX1JFU1VMVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9CVVNZX0RTQ0hfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfQlVTWV9EU0NIX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0JVU1lfRFNDSF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBEQlJQX1RVUl9CVVNZX0RTQ0hfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfVFJHX1NUQVJUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX1RSR19TVEFSVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9UUkdfU1RBUlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfVFJHX1NUQVJUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9TV19JUlFfVFJHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX1NXX0lSUV9UUkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9TV19JUlFfVFJHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfU1dfSVJRX1RSR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfU1dfSVJRX1NUQVRVU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9TV19JUlFfU1RBVFVTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfU1dfSVJRX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX1NXX0lSUV9TVEFUVVNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDMl9TVEFUVVNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQzJfU1RBVFVTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0MyX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDMl9TVEFUVVNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDMV9TVEFUVVNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQzFfU1RBVFVTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0MxX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDMV9TVEFUVVNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDMF9TVEFUVVNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQzBfU1RBVFVTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0MwX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDMF9TVEFUVVNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9MQVRDSF9TVEFUVVNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTEFUQ0hfU1RBVFVTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0xBVENIX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9MQVRDSF9TVEFUVVNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9GUk1fRlJBTUVfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0ZSTV9GUkFNRV9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRlJNX0ZSQU1FX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwM0ZGMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfRlJNX1NJTV9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0ZSTV9TSU1fSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9GUk1fU0lNX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRlJNX1NJTV9JRFhfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfRlJNX1NVQkZfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0ZSTV9TVUJGX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9GUk1fU1VCRl9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9TSV9QSV9QSV9USURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX1NJX1BJX1BJX1RJRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfU0lfUElfUElfVElEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkMwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfU0lfUElfU0lfU1VCRl9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9TSV9QSV9TSV9TVUJGX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfU0lfUElfU0lfU1VCRl9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAzMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfU0lfUElfU0lfVElEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX1NJX1BJX1NJX1RJRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfU0lfUElfU0lfVElEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZDMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfU0lfUElfU0lfVFlQRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX1NJX1BJX1NJX1RZUEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9TSV9QSV9TSV9UWVBFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDNGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQk5VTV9CSVRfT1JERVJfQklHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0JOVU1fQklUX09SREVSX0JJR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NCTlVNX0JJVF9PUkRFUl9CSUdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQk5VTV9CSVRfT1JERVJfQklHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQk5VTV9FTExSX0NUUkxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0JOVU1fRUxMUl9DVFJMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NCTlVNX0VMTFJfQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQk5VTV9FTExSX0NUUkxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfSVRFUl9DT01fTUlOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMF9JVEVSX0NPTV9NSU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfSVRFUl9DT01fTUlOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDNGMDAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfSVRFUl9TRUNPTkRfRUxMUl9EVU1QX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMF9JVEVSX1NFQ09ORF9FTExSX0RVTVBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfSVRFUl9TRUNPTkRfRUxMUl9EVU1QX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX0lURVJfU0VDT05EX0VMTFJfRFVNUF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX0lURVJfU0VDT05EX01BWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfSVRFUl9TRUNPTkRfTUFYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX0lURVJfU0VDT05EX01BWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAzRjAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX0lURVJfRklSU1RfRUxMUl9EVU1QX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMF9JVEVSX0ZJUlNUX0VMTFJfRFVNUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfSVRFUl9GSVJTVF9FTExSX0RVTVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX0lURVJfRklSU1RfRUxMUl9EVU1QX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX0lURVJfRklSU1RfTUFYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMF9JVEVSX0ZJUlNUX01BWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfSVRFUl9GSVJTVF9NQVhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDNGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfTUFDX0lORk9fRE9CX0RJU0FCTEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMF9NQUNfSU5GT19ET0JfRElTQUJMRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfTUFDX0lORk9fRE9CX0RJU0FCTEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAxMDAwMDAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX01BQ19JTkZPX0RPQl9ESVNBQkxFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMTAwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX01BQ19JTkZPX0hBUlFfSURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfTUFDX0lORk9fSEFSUV9JRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX01BQ19JTkZPX0hBUlFfSURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDNGMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX01BQ19JTkZPX0NXX1NXSVRDSF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMF9NQUNfSU5GT19DV19TV0lUQ0hfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfTUFDX0lORk9fQ1dfU1dJVENIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX01BQ19JTkZPX0NXX1NXSVRDSF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX01BQ19JTkZPX1RDUk5USV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMF9NQUNfSU5GT19UQ1JOVElfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfTUFDX0lORk9fVENSTlRJX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX01BQ19JTkZPX1RDUk5USV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX01BQ19JTkZPX1NUQVJUX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMF9NQUNfSU5GT19TVEFSVF9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfTUFDX0lORk9fU1RBUlRfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfSU5JX1BDUkNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX0lOSV9QQ1JDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfSU5JX1BDUkNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfVEJJTkZPMV9UQlNJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX1RCSU5GTzFfVEJTSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTcpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfVEJJTkZPMV9UQlNJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDFGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfRU1JX0lORk8wX1RSQUNFX0NCX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMF9FTUlfSU5GTzBfVFJBQ0VfQ0JfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfRU1JX0lORk8wX1RSQUNFX0NCX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRjAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfRU1JX0lORk8wX1RSQUNFX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMF9FTUlfSU5GTzBfVFJBQ0VfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfRU1JX0lORk8wX1RSQUNFX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX0VNSV9JTkZPMF9UUkFDRV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX0VNSV9JTkZPMF9FTUlfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMF9FTUlfSU5GTzBfRU1JX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDBfRU1JX0lORk8wX0VNSV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX0VNSV9JTkZPMF9FTUlfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX0VNSV9JTkZPMV9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMF9FTUlfSU5GTzFfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gwX0VNSV9JTkZPMV9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX0lURVJfQ09NX01JTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfSVRFUl9DT01fTUlOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX0lURVJfQ09NX01JTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgzRjAwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX0lURVJfU0VDT05EX0VMTFJfRFVNUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfSVRFUl9TRUNPTkRfRUxMUl9EVU1QX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX0lURVJfU0VDT05EX0VMTFJfRFVNUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMV9JVEVSX1NFQ09ORF9FTExSX0RVTVBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMV9JVEVSX1NFQ09ORF9NQVhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX0lURVJfU0VDT05EX01BWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMV9JVEVSX1NFQ09ORF9NQVhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwM0YwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMV9JVEVSX0ZJUlNUX0VMTFJfRFVNUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfSVRFUl9GSVJTVF9FTExSX0RVTVBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX0lURVJfRklSU1RfRUxMUl9EVU1QX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMV9JVEVSX0ZJUlNUX0VMTFJfRFVNUF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMV9JVEVSX0ZJUlNUX01BWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfSVRFUl9GSVJTVF9NQVhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX0lURVJfRklSU1RfTUFYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX01BQ19JTkZPX0RPQl9ESVNBQkxFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfTUFDX0lORk9fRE9CX0RJU0FCTEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX01BQ19JTkZPX0RPQl9ESVNBQkxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMTAwMDAwMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMV9NQUNfSU5GT19ET0JfRElTQUJMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDEwMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMV9NQUNfSU5GT19IQVJRX0lEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX01BQ19JTkZPX0hBUlFfSURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMV9NQUNfSU5GT19IQVJRX0lEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAzRjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMV9NQUNfSU5GT19DV19TV0lUQ0hfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfTUFDX0lORk9fQ1dfU1dJVENIX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX01BQ19JTkZPX0NXX1NXSVRDSF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMV9NQUNfSU5GT19DV19TV0lUQ0hfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMV9NQUNfSU5GT19UQ1JOVElfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfTUFDX0lORk9fVENSTlRJX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX01BQ19JTkZPX1RDUk5USV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMV9NQUNfSU5GT19UQ1JOVElfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMV9NQUNfSU5GT19TVEFSVF9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfTUFDX0lORk9fU1RBUlRfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX01BQ19JTkZPX1NUQVJUX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX0lOSV9QQ1JDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMV9JTklfUENSQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX0lOSV9QQ1JDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX1RCSU5GTzFfVEJTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMV9UQklORk8xX1RCU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE3KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX1RCSU5GTzFfVEJTSVpFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX0VNSV9JTkZPMF9UUkFDRV9DQl9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfRU1JX0lORk8wX1RSQUNFX0NCX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX0VNSV9JTkZPMF9UUkFDRV9DQl9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEYwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX0VNSV9JTkZPMF9UUkFDRV9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfRU1JX0lORk8wX1RSQUNFX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX0VNSV9JTkZPMF9UUkFDRV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMV9FTUlfSU5GTzBfVFJBQ0VfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMV9FTUlfSU5GTzBfRU1JX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfRU1JX0lORk8wX0VNSV9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gxX0VNSV9JTkZPMF9FTUlfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMV9FTUlfSU5GTzBfRU1JX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMV9FTUlfSU5GTzFfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDFfRU1JX0lORk8xX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMV9FTUlfSU5GTzFfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9JVEVSX0NPTV9NSU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX0lURVJfQ09NX01JTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9JVEVSX0NPTV9NSU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4M0YwMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9JVEVSX1NFQ09ORF9FTExSX0RVTVBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX0lURVJfU0VDT05EX0VMTFJfRFVNUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9JVEVSX1NFQ09ORF9FTExSX0RVTVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfSVRFUl9TRUNPTkRfRUxMUl9EVU1QX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfSVRFUl9TRUNPTkRfTUFYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9JVEVSX1NFQ09ORF9NQVhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfSVRFUl9TRUNPTkRfTUFYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDNGMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfSVRFUl9GSVJTVF9FTExSX0RVTVBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX0lURVJfRklSU1RfRUxMUl9EVU1QX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9JVEVSX0ZJUlNUX0VMTFJfRFVNUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfSVRFUl9GSVJTVF9FTExSX0RVTVBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfSVRFUl9GSVJTVF9NQVhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX0lURVJfRklSU1RfTUFYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9JVEVSX0ZJUlNUX01BWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9NQUNfSU5GT19ET0JfRElTQUJMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX01BQ19JTkZPX0RPQl9ESVNBQkxFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9NQUNfSU5GT19ET0JfRElTQUJMRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDEwMDAwMDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfTUFDX0lORk9fRE9CX0RJU0FCTEVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAxMDAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfTUFDX0lORk9fSEFSUV9JRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9NQUNfSU5GT19IQVJRX0lEX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfTUFDX0lORk9fSEFSUV9JRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwM0YwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfTUFDX0lORk9fQ1dfU1dJVENIX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX01BQ19JTkZPX0NXX1NXSVRDSF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9NQUNfSU5GT19DV19TV0lUQ0hfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfTUFDX0lORk9fQ1dfU1dJVENIX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfTUFDX0lORk9fVENSTlRJX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX01BQ19JTkZPX1RDUk5USV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9NQUNfSU5GT19UQ1JOVElfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfTUFDX0lORk9fVENSTlRJX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfTUFDX0lORk9fU1RBUlRfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX01BQ19JTkZPX1NUQVJUX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9NQUNfSU5GT19TVEFSVF9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9JTklfUENSQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfSU5JX1BDUkNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9JTklfUENSQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9UQklORk8xX1RCU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfVEJJTkZPMV9UQlNJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNykKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9UQklORk8xX1RCU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMUZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9FTUlfSU5GTzBfVFJBQ0VfQ0JfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX0VNSV9JTkZPMF9UUkFDRV9DQl9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9FTUlfSU5GTzBfVFJBQ0VfQ0JfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9FTUlfSU5GTzBfVFJBQ0VfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX0VNSV9JTkZPMF9UUkFDRV9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9FTUlfSU5GTzBfVFJBQ0VfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfRU1JX0lORk8wX1RSQUNFX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfRU1JX0lORk8wX0VNSV9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX0VNSV9JTkZPMF9FTUlfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIMl9FTUlfSU5GTzBfRU1JX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfRU1JX0lORk8wX0VNSV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfRU1JX0lORk8xX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gyX0VNSV9JTkZPMV9BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDJfRU1JX0lORk8xX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfSVRFUl9DT01fTUlOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIM19JVEVSX0NPTV9NSU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfSVRFUl9DT01fTUlOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDNGMDAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfSVRFUl9TRUNPTkRfRUxMUl9EVU1QX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIM19JVEVSX1NFQ09ORF9FTExSX0RVTVBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfSVRFUl9TRUNPTkRfRUxMUl9EVU1QX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX0lURVJfU0VDT05EX0VMTFJfRFVNUF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX0lURVJfU0VDT05EX01BWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfSVRFUl9TRUNPTkRfTUFYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX0lURVJfU0VDT05EX01BWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAzRjAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX0lURVJfRklSU1RfRUxMUl9EVU1QX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIM19JVEVSX0ZJUlNUX0VMTFJfRFVNUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfSVRFUl9GSVJTVF9FTExSX0RVTVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX0lURVJfRklSU1RfRUxMUl9EVU1QX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX0lURVJfRklSU1RfTUFYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIM19JVEVSX0ZJUlNUX01BWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfSVRFUl9GSVJTVF9NQVhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDNGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfTUFDX0lORk9fRE9CX0RJU0FCTEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIM19NQUNfSU5GT19ET0JfRElTQUJMRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfTUFDX0lORk9fRE9CX0RJU0FCTEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAxMDAwMDAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX01BQ19JTkZPX0RPQl9ESVNBQkxFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMTAwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX01BQ19JTkZPX0hBUlFfSURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfTUFDX0lORk9fSEFSUV9JRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX01BQ19JTkZPX0hBUlFfSURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDNGMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX01BQ19JTkZPX0NXX1NXSVRDSF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIM19NQUNfSU5GT19DV19TV0lUQ0hfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfTUFDX0lORk9fQ1dfU1dJVENIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX01BQ19JTkZPX0NXX1NXSVRDSF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX01BQ19JTkZPX1RDUk5USV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIM19NQUNfSU5GT19UQ1JOVElfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfTUFDX0lORk9fVENSTlRJX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX01BQ19JTkZPX1RDUk5USV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX01BQ19JTkZPX1NUQVJUX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIM19NQUNfSU5GT19TVEFSVF9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfTUFDX0lORk9fU1RBUlRfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfSU5JX1BDUkNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX0lOSV9QQ1JDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfSU5JX1BDUkNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfVEJJTkZPMV9UQlNJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX1RCSU5GTzFfVEJTSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTcpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfVEJJTkZPMV9UQlNJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDFGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfRU1JX0lORk8wX1RSQUNFX0NCX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIM19FTUlfSU5GTzBfVFJBQ0VfQ0JfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfRU1JX0lORk8wX1RSQUNFX0NCX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRjAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfRU1JX0lORk8wX1RSQUNFX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIM19FTUlfSU5GTzBfVFJBQ0VfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfRU1JX0lORk8wX1RSQUNFX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX0VNSV9JTkZPMF9UUkFDRV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX0VNSV9JTkZPMF9FTUlfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIM19FTUlfSU5GTzBfRU1JX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDNfRU1JX0lORk8wX0VNSV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX0VNSV9JTkZPMF9FTUlfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX0VNSV9JTkZPMV9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NIM19FTUlfSU5GTzFfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0gzX0VNSV9JTkZPMV9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X0lURVJfQ09NX01JTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfSVRFUl9DT01fTUlOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X0lURVJfQ09NX01JTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgzRjAwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X0lURVJfU0VDT05EX0VMTFJfRFVNUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfSVRFUl9TRUNPTkRfRUxMUl9EVU1QX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X0lURVJfU0VDT05EX0VMTFJfRFVNUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NINF9JVEVSX1NFQ09ORF9FTExSX0RVTVBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NINF9JVEVSX1NFQ09ORF9NQVhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X0lURVJfU0VDT05EX01BWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NINF9JVEVSX1NFQ09ORF9NQVhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwM0YwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NINF9JVEVSX0ZJUlNUX0VMTFJfRFVNUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfSVRFUl9GSVJTVF9FTExSX0RVTVBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X0lURVJfRklSU1RfRUxMUl9EVU1QX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NINF9JVEVSX0ZJUlNUX0VMTFJfRFVNUF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NINF9JVEVSX0ZJUlNUX01BWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfSVRFUl9GSVJTVF9NQVhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X0lURVJfRklSU1RfTUFYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X01BQ19JTkZPX0RPQl9ESVNBQkxFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfTUFDX0lORk9fRE9CX0RJU0FCTEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X01BQ19JTkZPX0RPQl9ESVNBQkxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMTAwMDAwMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NINF9NQUNfSU5GT19ET0JfRElTQUJMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDEwMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NINF9NQUNfSU5GT19IQVJRX0lEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X01BQ19JTkZPX0hBUlFfSURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NINF9NQUNfSU5GT19IQVJRX0lEX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAzRjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NINF9NQUNfSU5GT19DV19TV0lUQ0hfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfTUFDX0lORk9fQ1dfU1dJVENIX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X01BQ19JTkZPX0NXX1NXSVRDSF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NINF9NQUNfSU5GT19DV19TV0lUQ0hfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NINF9NQUNfSU5GT19UQ1JOVElfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfTUFDX0lORk9fVENSTlRJX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X01BQ19JTkZPX1RDUk5USV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NINF9NQUNfSU5GT19UQ1JOVElfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NINF9NQUNfSU5GT19TVEFSVF9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfTUFDX0lORk9fU1RBUlRfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X01BQ19JTkZPX1NUQVJUX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X0lOSV9QQ1JDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NINF9JTklfUENSQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X0lOSV9QQ1JDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X1RCSU5GTzFfVEJTSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NINF9UQklORk8xX1RCU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE3KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X1RCSU5GTzFfVEJTSVpFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X0VNSV9JTkZPMF9UUkFDRV9DQl9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfRU1JX0lORk8wX1RSQUNFX0NCX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X0VNSV9JTkZPMF9UUkFDRV9DQl9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEYwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X0VNSV9JTkZPMF9UUkFDRV9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfRU1JX0lORk8wX1RSQUNFX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X0VNSV9JTkZPMF9UUkFDRV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NINF9FTUlfSU5GTzBfVFJBQ0VfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NINF9FTUlfSU5GTzBfRU1JX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfRU1JX0lORk8wX0VNSV9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0g0X0VNSV9JTkZPMF9FTUlfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NINF9FTUlfSU5GTzBfRU1JX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NINF9FTUlfSU5GTzFfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DSDRfRU1JX0lORk8xX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NINF9FTUlfSU5GTzFfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDBfUlBUMF9JVEVSX01JTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMF9SUFQwX0lURVJfTUlOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDBfUlBUMF9JVEVSX01JTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkMwMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDBfUlBUMF9JVEVSX01BWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMF9SUFQwX0lURVJfTUFYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDBfUlBUMF9JVEVSX01BWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDNGMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDBfUlBUMF9UQkNSQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMF9SUFQwX1RCQ1JDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDBfUlBUMF9UQkNSQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gwX1JQVDBfVEJDUkNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gwX1JQVDBfQ0JDUkNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMF9SUFQwX0NCQ1JDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gwX1JQVDBfQ0JDUkNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gwX1JQVDFfU1RPUF9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDBfUlBUMV9TVE9QX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gwX1JQVDFfU1RPUF9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDFFMDAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gwX1JQVDFfUENSQ19SRVNVTFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMF9SUFQxX1BDUkNfUkVTVUxUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gwX1JQVDFfUENSQ19SRVNVTFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gxX1JQVDBfSVRFUl9NSU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDFfUlBUMF9JVEVSX01JTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gxX1JQVDBfSVRFUl9NSU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZDMDAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gxX1JQVDBfSVRFUl9NQVhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDFfUlBUMF9JVEVSX01BWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gxX1JQVDBfSVRFUl9NQVhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAzRjAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gxX1JQVDBfVEJDUkNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDFfUlBUMF9UQkNSQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gxX1JQVDBfVEJDUkNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMV9SUFQwX1RCQ1JDX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMV9SUFQwX0NCQ1JDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDFfUlBUMF9DQkNSQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMV9SUFQwX0NCQ1JDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMV9SUFQxX1NUT1BfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjUpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gxX1JQVDFfU1RPUF9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMV9SUFQxX1NUT1BfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxRTAwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMV9SUFQxX1BDUkNfUkVTVUxUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDFfUlBUMV9QQ1JDX1JFU1VMVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMV9SUFQxX1BDUkNfUkVTVUxUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMl9SUFQwX0lURVJfTUlOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gyX1JQVDBfSVRFUl9NSU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMl9SUFQwX0lURVJfTUlOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGQzAwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMl9SUFQwX0lURVJfTUFYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gyX1JQVDBfSVRFUl9NQVhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMl9SUFQwX0lURVJfTUFYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwM0YwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMl9SUFQwX1RCQ1JDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gyX1JQVDBfVEJDUkNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMl9SUFQwX1RCQ1JDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDJfUlBUMF9UQkNSQ19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDJfUlBUMF9DQkNSQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gyX1JQVDBfQ0JDUkNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDJfUlBUMF9DQkNSQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDJfUlBUMV9TVE9QX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI1KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIMl9SUFQxX1NUT1BfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDJfUlBUMV9TVE9QX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MUUwMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDJfUlBUMV9QQ1JDX1JFU1VMVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gyX1JQVDFfUENSQ19SRVNVTFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDJfUlBUMV9QQ1JDX1JFU1VMVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDNfUlBUMF9JVEVSX01JTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIM19SUFQwX0lURVJfTUlOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDNfUlBUMF9JVEVSX01JTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkMwMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDNfUlBUMF9JVEVSX01BWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIM19SUFQwX0lURVJfTUFYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDNfUlBUMF9JVEVSX01BWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDNGMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDNfUlBUMF9UQkNSQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIM19SUFQwX1RCQ1JDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDNfUlBUMF9UQkNSQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gzX1JQVDBfVEJDUkNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gzX1JQVDBfQ0JDUkNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIM19SUFQwX0NCQ1JDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gzX1JQVDBfQ0JDUkNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gzX1JQVDFfU1RPUF9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDNfUlBUMV9TVE9QX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gzX1JQVDFfU1RPUF9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDFFMDAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gzX1JQVDFfUENSQ19SRVNVTFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NIM19SUFQxX1BDUkNfUkVTVUxUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0gzX1JQVDFfUENSQ19SRVNVTFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0g0X1JQVDBfSVRFUl9NSU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDRfUlBUMF9JVEVSX01JTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0g0X1JQVDBfSVRFUl9NSU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZDMDAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0g0X1JQVDBfSVRFUl9NQVhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDRfUlBUMF9JVEVSX01BWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0g0X1JQVDBfSVRFUl9NQVhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAzRjAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0g0X1JQVDBfVEJDUkNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDRfUlBUMF9UQkNSQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0g0X1JQVDBfVEJDUkNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NINF9SUFQwX1RCQ1JDX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NINF9SUFQwX0NCQ1JDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDRfUlBUMF9DQkNSQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NINF9SUFQwX0NCQ1JDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NINF9SUFQxX1NUT1BfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjUpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzBfQ0g0X1JQVDFfU1RPUF9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NINF9SUFQxX1NUT1BfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxRTAwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NINF9SUFQxX1BDUkNfUkVTVUxUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DSDRfUlBUMV9QQ1JDX1JFU1VMVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NINF9SUFQxX1BDUkNfUkVTVUxUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMF9SUFQwX0lURVJfTUlOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gwX1JQVDBfSVRFUl9NSU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMF9SUFQwX0lURVJfTUlOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGQzAwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMF9SUFQwX0lURVJfTUFYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gwX1JQVDBfSVRFUl9NQVhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMF9SUFQwX0lURVJfTUFYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwM0YwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMF9SUFQwX1RCQ1JDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gwX1JQVDBfVEJDUkNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMF9SUFQwX1RCQ1JDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDBfUlBUMF9UQkNSQ19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDBfUlBUMF9DQkNSQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gwX1JQVDBfQ0JDUkNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDBfUlBUMF9DQkNSQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDBfUlBUMV9TVE9QX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI1KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMF9SUFQxX1NUT1BfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDBfUlBUMV9TVE9QX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MUUwMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDBfUlBUMV9QQ1JDX1JFU1VMVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gwX1JQVDFfUENSQ19SRVNVTFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDBfUlBUMV9QQ1JDX1JFU1VMVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDFfUlBUMF9JVEVSX01JTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMV9SUFQwX0lURVJfTUlOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDFfUlBUMF9JVEVSX01JTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkMwMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDFfUlBUMF9JVEVSX01BWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMV9SUFQwX0lURVJfTUFYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDFfUlBUMF9JVEVSX01BWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDNGMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDFfUlBUMF9UQkNSQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMV9SUFQwX1RCQ1JDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDFfUlBUMF9UQkNSQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gxX1JQVDBfVEJDUkNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gxX1JQVDBfQ0JDUkNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMV9SUFQwX0NCQ1JDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gxX1JQVDBfQ0JDUkNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gxX1JQVDFfU1RPUF9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDFfUlBUMV9TVE9QX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gxX1JQVDFfU1RPUF9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDFFMDAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gxX1JQVDFfUENSQ19SRVNVTFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMV9SUFQxX1BDUkNfUkVTVUxUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gxX1JQVDFfUENSQ19SRVNVTFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gyX1JQVDBfSVRFUl9NSU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDJfUlBUMF9JVEVSX01JTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gyX1JQVDBfSVRFUl9NSU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZDMDAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gyX1JQVDBfSVRFUl9NQVhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDJfUlBUMF9JVEVSX01BWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gyX1JQVDBfSVRFUl9NQVhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAzRjAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gyX1JQVDBfVEJDUkNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDJfUlBUMF9UQkNSQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gyX1JQVDBfVEJDUkNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMl9SUFQwX1RCQ1JDX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMl9SUFQwX0NCQ1JDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDJfUlBUMF9DQkNSQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMl9SUFQwX0NCQ1JDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMl9SUFQxX1NUT1BfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjUpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gyX1JQVDFfU1RPUF9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMl9SUFQxX1NUT1BfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxRTAwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMl9SUFQxX1BDUkNfUkVTVUxUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDJfUlBUMV9QQ1JDX1JFU1VMVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIMl9SUFQxX1BDUkNfUkVTVUxUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIM19SUFQwX0lURVJfTUlOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gzX1JQVDBfSVRFUl9NSU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIM19SUFQwX0lURVJfTUlOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGQzAwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIM19SUFQwX0lURVJfTUFYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gzX1JQVDBfSVRFUl9NQVhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIM19SUFQwX0lURVJfTUFYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwM0YwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIM19SUFQwX1RCQ1JDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gzX1JQVDBfVEJDUkNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIM19SUFQwX1RCQ1JDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDNfUlBUMF9UQkNSQ19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDNfUlBUMF9DQkNSQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gzX1JQVDBfQ0JDUkNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDNfUlBUMF9DQkNSQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDNfUlBUMV9TVE9QX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI1KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NIM19SUFQxX1NUT1BfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDNfUlBUMV9TVE9QX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MUUwMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDNfUlBUMV9QQ1JDX1JFU1VMVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0gzX1JQVDFfUENSQ19SRVNVTFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDNfUlBUMV9QQ1JDX1JFU1VMVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDRfUlBUMF9JVEVSX01JTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NINF9SUFQwX0lURVJfTUlOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDRfUlBUMF9JVEVSX01JTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkMwMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDRfUlBUMF9JVEVSX01BWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NINF9SUFQwX0lURVJfTUFYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDRfUlBUMF9JVEVSX01BWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDNGMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDRfUlBUMF9UQkNSQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NINF9SUFQwX1RCQ1JDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDRfUlBUMF9UQkNSQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0g0X1JQVDBfVEJDUkNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0g0X1JQVDBfQ0JDUkNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NINF9SUFQwX0NCQ1JDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0g0X1JQVDBfQ0JDUkNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0g0X1JQVDFfU1RPUF9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DSDRfUlBUMV9TVE9QX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0g0X1JQVDFfU1RPUF9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDFFMDAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0g0X1JQVDFfUENSQ19SRVNVTFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NINF9SUFQxX1BDUkNfUkVTVUxUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzFfQ0g0X1JQVDFfUENSQ19SRVNVTFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gwX1JQVDBfSVRFUl9NSU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDBfUlBUMF9JVEVSX01JTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gwX1JQVDBfSVRFUl9NSU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZDMDAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gwX1JQVDBfSVRFUl9NQVhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDBfUlBUMF9JVEVSX01BWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gwX1JQVDBfSVRFUl9NQVhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAzRjAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gwX1JQVDBfVEJDUkNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDBfUlBUMF9UQkNSQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gwX1JQVDBfVEJDUkNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMF9SUFQwX1RCQ1JDX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMF9SUFQwX0NCQ1JDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDBfUlBUMF9DQkNSQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMF9SUFQwX0NCQ1JDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMF9SUFQxX1NUT1BfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjUpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gwX1JQVDFfU1RPUF9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMF9SUFQxX1NUT1BfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxRTAwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMF9SUFQxX1BDUkNfUkVTVUxUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDBfUlBUMV9QQ1JDX1JFU1VMVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMF9SUFQxX1BDUkNfUkVTVUxUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMV9SUFQwX0lURVJfTUlOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gxX1JQVDBfSVRFUl9NSU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMV9SUFQwX0lURVJfTUlOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGQzAwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMV9SUFQwX0lURVJfTUFYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gxX1JQVDBfSVRFUl9NQVhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMV9SUFQwX0lURVJfTUFYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwM0YwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMV9SUFQwX1RCQ1JDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gxX1JQVDBfVEJDUkNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMV9SUFQwX1RCQ1JDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDFfUlBUMF9UQkNSQ19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDFfUlBUMF9DQkNSQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gxX1JQVDBfQ0JDUkNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDFfUlBUMF9DQkNSQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDFfUlBUMV9TVE9QX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI1KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMV9SUFQxX1NUT1BfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDFfUlBUMV9TVE9QX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MUUwMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDFfUlBUMV9QQ1JDX1JFU1VMVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gxX1JQVDFfUENSQ19SRVNVTFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDFfUlBUMV9QQ1JDX1JFU1VMVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDJfUlBUMF9JVEVSX01JTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMl9SUFQwX0lURVJfTUlOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDJfUlBUMF9JVEVSX01JTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkMwMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDJfUlBUMF9JVEVSX01BWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMl9SUFQwX0lURVJfTUFYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDJfUlBUMF9JVEVSX01BWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDNGMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDJfUlBUMF9UQkNSQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMl9SUFQwX1RCQ1JDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDJfUlBUMF9UQkNSQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gyX1JQVDBfVEJDUkNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gyX1JQVDBfQ0JDUkNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMl9SUFQwX0NCQ1JDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gyX1JQVDBfQ0JDUkNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gyX1JQVDFfU1RPUF9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDJfUlBUMV9TVE9QX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gyX1JQVDFfU1RPUF9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDFFMDAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gyX1JQVDFfUENSQ19SRVNVTFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIMl9SUFQxX1BDUkNfUkVTVUxUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gyX1JQVDFfUENSQ19SRVNVTFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gzX1JQVDBfSVRFUl9NSU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDNfUlBUMF9JVEVSX01JTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gzX1JQVDBfSVRFUl9NSU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZDMDAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gzX1JQVDBfSVRFUl9NQVhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDNfUlBUMF9JVEVSX01BWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gzX1JQVDBfSVRFUl9NQVhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAzRjAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gzX1JQVDBfVEJDUkNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDNfUlBUMF9UQkNSQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gzX1JQVDBfVEJDUkNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIM19SUFQwX1RCQ1JDX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIM19SUFQwX0NCQ1JDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDNfUlBUMF9DQkNSQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIM19SUFQwX0NCQ1JDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIM19SUFQxX1NUT1BfSURYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjUpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0gzX1JQVDFfU1RPUF9JRFhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIM19SUFQxX1NUT1BfSURYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxRTAwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIM19SUFQxX1BDUkNfUkVTVUxUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDNfUlBUMV9QQ1JDX1JFU1VMVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NIM19SUFQxX1BDUkNfUkVTVUxUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NINF9SUFQwX0lURVJfTUlOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0g0X1JQVDBfSVRFUl9NSU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NINF9SUFQwX0lURVJfTUlOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGQzAwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NINF9SUFQwX0lURVJfTUFYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0g0X1JQVDBfSVRFUl9NQVhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NINF9SUFQwX0lURVJfTUFYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwM0YwMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NINF9SUFQwX1RCQ1JDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0g0X1JQVDBfVEJDUkNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NINF9SUFQwX1RCQ1JDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDRfUlBUMF9UQkNSQ19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDRfUlBUMF9DQkNSQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0g0X1JQVDBfQ0JDUkNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDRfUlBUMF9DQkNSQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDRfUlBUMV9TVE9QX0lEWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI1KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NINF9SUFQxX1NUT1BfSURYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDRfUlBUMV9TVE9QX0lEWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MUUwMDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDRfUlBUMV9QQ1JDX1JFU1VMVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9DQzJfQ0g0X1JQVDFfUENSQ19SRVNVTFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DSDRfUlBUMV9QQ1JDX1JFU1VMVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MyX0NINF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzJfQ0g0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MyX0NINF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMl9DSDRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMl9DSDNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MyX0NIM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMl9DSDNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDgwMDAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzJfQ0gzX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDA4MDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzJfQ0gyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTgpCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMl9DSDJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzJfQ0gyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDA0MDAwMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MyX0NIMl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwNDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MyX0NIMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE3KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzJfQ0gxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MyX0NIMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMjAwMDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMl9DSDFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDIwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMl9DSDBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MyX0NIMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMl9DSDBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzJfQ0gwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzFfQ0g0X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMV9DSDRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzFfQ0g0X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MxX0NINF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MxX0NIM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzFfQ0gzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MxX0NIM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMV9DSDNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMV9DSDJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MxX0NIMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMV9DSDJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzFfQ0gyX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzFfQ0gxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MxX0NIMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMV9DSDFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzFfQ0gxX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzFfQ0gwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MxX0NIMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMV9DSDBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzFfQ0gwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzBfQ0g0X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MwX0NINF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMF9DSDRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzBfQ0g0X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzBfQ0gzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MwX0NIM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMF9DSDNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzBfQ0gzX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzBfQ0gyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MwX0NIMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMF9DSDJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzBfQ0gyX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzBfQ0gxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MwX0NIMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMF9DSDFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzBfQ0gxX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzBfQ0gwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQ0NfQ0MwX0NIMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0NDX0NDMF9DSDBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9DQ19DQzBfQ0gwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ01EMF9DTURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NNRDBfQ01EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ01EMF9DTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ01EMV9DTURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NNRDFfQ01EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ01EMV9DTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NNRF9SUFQwX0NNRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DTURfUlBUMF9DTURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NNRF9SUFQwX0NNRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NNRF9SUFQxX0NNRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMF9DTURfUlBUMV9DTURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MwX0NNRF9SUFQxX0NNRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NNRF9SUFQwX0NNRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DTURfUlBUMF9DTURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NNRF9SUFQwX0NNRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NNRF9SUFQxX0NNRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMV9DTURfUlBUMV9DTURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MxX0NNRF9SUFQxX0NNRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NNRF9SUFQwX0NNRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DTURfUlBUMF9DTURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NNRF9SUFQwX0NNRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NNRF9SUFQxX0NNRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0NDMl9DTURfUlBUMV9DTURfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfQ0MyX0NNRF9SUFQxX0NNRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9BU1NFUlRfQ0MyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQVNTRVJUX0NDMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0FTU0VSVF9DQzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9BU1NFUlRfQ0MyX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9BU1NFUlRfQ0MxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQVNTRVJUX0NDMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0FTU0VSVF9DQzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9BU1NFUlRfQ0MxX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9BU1NFUlRfQ0MwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0RPTkVfQVNTRVJUX0NDMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9ET05FX0FTU0VSVF9DQzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRE9ORV9BU1NFUlRfQ0MwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfRldfUlNUX0ZMQUdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX0ZXX1JTVF9GTEFHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9GV19SU1RfRkxBR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfRldfUlNUX0ZMQUdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1RVUl9SU1JWX01QVV9TVEFSVF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfUlNSVl9NUFVfU1RBUlRfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9SU1JWX01QVV9TVEFSVF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9SU1JWX01QVV9FTkRfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfUlNSVl9NUFVfRU5EX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9SU1JWX01QVV9FTkRfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9SU1JWX01QVV9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfUlNSVl9NUFVfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX1JTUlZfTVBVX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1RVUl9SU1JWX01QVV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX01QVV9TVEFSVF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9NUFVfU1RBUlRfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX01QVV9TVEFSVF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX01QVV9FTkRfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9NUFVfRU5EX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX01QVV9FTkRfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9EU0NIX01QVV9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRFNDSF9NUFVfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0RTQ0hfTVBVX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1RVUl9EU0NIX01QVV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBVX1NUQVJUX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QVV9TVEFSVF9BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBVX1NUQVJUX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBVX0VORF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QVV9FTkRfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBVX0VORF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBVX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QVV9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUFVfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBVX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1RVUl9NUFVfVklPX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTVBVX1ZJT19BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9NUFVfVklPX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9NUFVfU1dfSVJRX1RSR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfTVBVX1NXX0lSUV9UUkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX01QVV9TV19JUlFfVFJHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBEQlJQX1RVUl9NUFVfU1dfSVJRX1RSR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBEQlJQX1RVUl9NUFVfU1dfSVJRX1NUQVRVU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9UVVJfTVBVX1NXX0lSUV9TVEFUVVNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX01QVV9TV19JUlFfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBEQlJQX1RVUl9NUFVfU1dfSVJRX1NUQVRVU19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBEQlJQX1RVUl9NUFVfVklPTEFURV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTVBVX1ZJT0xBVEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX01QVV9WSU9MQVRFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1RVUl9NUFVfVklPTEFURV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQVRBX0NOVF9NSVNNQVRDSF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfREFUQV9DTlRfTUlTTUFUQ0hfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX0RBVEFfQ05UX01JU01BVENIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQVRBX0NOVF9NSVNNQVRDSF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMF9DTURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfREJHXzBfQ01EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMF9DTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMV9DTURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfREJHXzFfQ01EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMV9DTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMl9DTURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfREJHXzJfQ01EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMl9DTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfM19DTURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfREJHXzNfQ01EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfM19DTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfNF9DTURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfREJHXzRfQ01EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfNF9DTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfNV9DTURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfREJHXzVfQ01EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfNV9DTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfNl9DTURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfREJHXzZfQ01EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfNl9DTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfN19DTURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfREJHXzdfQ01EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfN19DTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfOF9DTURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfREJHXzhfQ01EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfOF9DTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfOV9DTURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfREJHXzlfQ01EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfOV9DTURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTBfQ01EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfREJHXzEwX0NNRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTBfQ01EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTFfQ01EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfREJHXzExX0NNRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTFfQ01EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTJfQ01EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfREJHXzEyX0NNRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTJfQ01EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTNfQ01EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfREJHXzEzX0NNRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTNfQ01EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTRfQ01EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfREJHXzE0X0NNRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTRfQ01EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTVfQ01EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfREJHXzE1X0NNRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTVfQ01EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTZfQ01EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfREJHXzE2X0NNRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTZfQ01EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTdfQ01EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfREJHXzE3X0NNRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTdfQ01EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMThfQ01EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfREJHXzE4X0NNRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMThfQ01EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTlfQ01EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfREJHXzE5X0NNRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMTlfQ01EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjBfQ01EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfREJHXzIwX0NNRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjBfQ01EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjFfQ01EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfREJHXzIxX0NNRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjFfQ01EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjJfQ01EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfREJHXzIyX0NNRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjJfQ01EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjNfQ01EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfREJHXzIzX0NNRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjNfQ01EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjRfQ01EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfREJHXzI0X0NNRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjRfQ01EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjVfQ01EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfREJHXzI1X0NNRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjVfQ01EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjZfQ01EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfREJHXzI2X0NNRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjZfQ01EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjdfQ01EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfREJHXzI3X0NNRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjdfQ01EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjhfQ01EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfREJHXzI4X0NNRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjhfQ01EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjlfQ01EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfREJHXzI5X0NNRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMjlfQ01EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMzBfQ01EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfREJHXzMwX0NNRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMzBfQ01EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMzFfQ01EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfREJHXzMxX0NNRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9EQkdfMzFfQ01EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9MVEVfTVBJRl9XUklURV9QT0lOVEVSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfTFRFX01QSUZfV1JJVEVfUE9JTlRFUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0xURV9NUElGX1dSSVRFX1BPSU5URVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDNGKQorCisjZGVmaW5lIERCUlBfVFVSX0xfRlNNX0NVUl9DQl9JRFhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfTF9GU01fQ1VSX0NCX0lEWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIERCUlBfVFVSX0xfRlNNX0NVUl9DQl9JRFhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwN0YwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0xfRlNNX1NUQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9MX0ZTTV9TVEFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgREJSUF9UVVJfTF9GU01fU1RBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfV1RfRlNNX1NUQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX1dUX0ZTTV9TVEFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfV1RfRlNNX1NUQVRFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfREVDX0ZTTV9TVEFURV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RFQ19GU01fU1RBVEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgREJSUF9UVVJfREVDX0ZTTV9TVEFURV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRE9CX0ZTTV9ETUFfU1RBVEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIxKQorI2RlZmluZSBEQlJQX1RVUl9ET0JfRlNNX0RNQV9TVEFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9UVVJfRE9CX0ZTTV9ETUFfU1RBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDA2MDAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfRE9CX0ZTTV9RVUVfU1RBVEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfVFVSX0RPQl9GU01fUVVFX1NUQVRFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgREJSUF9UVVJfRE9CX0ZTTV9RVUVfU1RBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxRkZGQzApCisKKyNkZWZpbmUgREJSUF9UVVJfRE9CX0ZTTV9UUkJLX1NUQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0RPQl9GU01fVFJCS19TVEFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX1RVUl9ET0JfRlNNX1RSQktfU1RBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKworI2RlZmluZSBEQlJQX1RVUl9DX0ZTTV9TVEFURV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfQ19GU01fU1RBVEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBEQlJQX1RVUl9DX0ZTTV9TVEFURV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGRikKKworI2RlZmluZSBEQlJQX1RVUl9SVFRfQ0ZHX01JTl9JVEVSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfUlRUX0NGR19NSU5fSVRFUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVFVSX1JUVF9DRkdfTUlOX0lURVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwM0UwKQorCisjZGVmaW5lIERCUlBfVFVSX1JUVF9DRkdfTUFYX0lURVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9SVFRfQ0ZHX01BWF9JVEVSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfUlRUX0NGR19NQVhfSVRFUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUYpCisKKyNkZWZpbmUgREJSUF9UVVJfUlRUX0RTVF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX1JUVF9EU1RfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgREJSUF9UVVJfUlRUX0RTVF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfUlRUX0RNQV9DRkdfQ1JDX1JFTU9WRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIERCUlBfVFVSX1JUVF9ETUFfQ0ZHX0NSQ19SRU1PVkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9SVFRfRE1BX0NGR19DUkNfUkVNT1ZFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgREJSUF9UVVJfUlRUX0RNQV9DRkdfQ1JDX1JFTU9WRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgREJSUF9UVVJfUlRUX0RNQV9DRkdfU1dBUF9FTkRJQU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVFVSX1JUVF9ETUFfQ0ZHX1NXQVBfRU5ESUFOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9SVFRfRE1BX0NGR19TV0FQX0VORElBTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgREJSUF9UVVJfUlRUX0RNQV9DRkdfU1dBUF9FTkRJQU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgREJSUF9UVVJfUlRUX0RNQV9DRkdfTUFDX09GU1RfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX1JUVF9ETUFfQ0ZHX01BQ19PRlNUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1RVUl9SVFRfRE1BX0NGR19NQUNfT0ZTVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxRikKKworI2RlZmluZSBEQlJQX1RVUl9SVFRfVFJBQ0VfQ0ZHX1RSQUNFX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfUlRUX1RSQUNFX0NGR19UUkFDRV9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX1JUVF9UUkFDRV9DRkdfVFJBQ0VfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1RVUl9SVFRfVFJBQ0VfQ0ZHX1RSQUNFX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1RVUl9SVFRfQ0JDUkNfU1RBVFVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfUlRUX0NCQ1JDX1NUQVRVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX1JUVF9DQkNSQ19TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1RVUl9SVFRfQ0JDUkNfU1RBVFVTX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1RVUl9SVFRfTFNUX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfUlRUX0xTVF9BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9SVFRfTFNUX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9SVFRfRU5FUkdZX0FDQ1VNVUxBVEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfUlRUX0VORVJHWV9BQ0NVTVVMQVRFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBEQlJQX1RVUl9SVFRfRU5FUkdZX0FDQ1VNVUxBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9FVkRPX0lURVJfQ0ZHX01JTl9JVEVSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfRVZET19JVEVSX0NGR19NSU5fSVRFUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fSVRFUl9DRkdfTUlOX0lURVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwM0UwKQorCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fSVRFUl9DRkdfTUFYX0lURVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9FVkRPX0lURVJfQ0ZHX01BWF9JVEVSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfRVZET19JVEVSX0NGR19NQVhfSVRFUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUYpCisKKyNkZWZpbmUgREJSUF9UVVJfRVZET19EU1RfUElOR19BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fRFNUX1BJTkdfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgREJSUF9UVVJfRVZET19EU1RfUElOR19BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRVZET19EU1RfUE9OR19BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fRFNUX1BPTkdfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgREJSUF9UVVJfRVZET19EU1RfUE9OR19BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgREJSUF9UVVJfRVZET19ETUFfQ0ZHX0NSQ19SRU1PVkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fRE1BX0NGR19DUkNfUkVNT1ZFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9FVkRPX0RNQV9DRkdfQ1JDX1JFTU9WRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgREJSUF9UVVJfRVZET19ETUFfQ0ZHX0NSQ19SRU1PVkVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgREJSUF9UVVJfRVZET19ETUFfQ0ZHX1NXQVBfRU5ESUFOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fRE1BX0NGR19TV0FQX0VORElBTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9FVkRPX0RNQV9DRkdfU1dBUF9FTkRJQU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgREJSUF9UVVJfRVZET19ETUFfQ0ZHX1NXQVBfRU5ESUFOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgREJSUF9UVVJfRVZET19ETUFfQ0ZHX01BQ19PRlNUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fRE1BX0NGR19NQUNfT0ZTVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX1RVUl9FVkRPX0RNQV9DRkdfTUFDX09GU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxRikKKworI2RlZmluZSBEQlJQX1RVUl9FVkRPX1RSQUNFX0NGR19UUkFDRV9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRVZET19UUkFDRV9DRkdfVFJBQ0VfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fVFJBQ0VfQ0ZHX1RSQUNFX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1RVUl9FVkRPX1RSQUNFX0NGR19UUkFDRV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1RVUl9FVkRPX0NCQ1JDX1NUQVRVU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRVZET19DQkNSQ19TVEFUVVNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fQ0JDUkNfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX1RVUl9FVkRPX0NCQ1JDX1NUQVRVU19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX1RVUl9FVkRPX0xTVF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRVZET19MU1RfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX1RVUl9FVkRPX0xTVF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX1RVUl9FVkRPX0hBUlFfSURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9UVVJfRVZET19IQVJRX0lEX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fSEFSUV9JRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAzKQorCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fUEFDS0VUX1NJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9FVkRPX1BBQ0tFVF9TSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fUEFDS0VUX1NJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fRFNUX0FEUl9QSU5HX1BPTkdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9FVkRPX0RTVF9BRFJfUElOR19QT05HX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfRVZET19EU1RfQURSX1BJTkdfUE9OR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fRFNUX0FEUl9QSU5HX1BPTkdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fRU5FUkdZX0FDQ1VNVUxBVEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9FVkRPX0VORVJHWV9BQ0NVTVVMQVRFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIERCUlBfVFVSX0VWRE9fRU5FUkdZX0FDQ1VNVUxBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0MyS19CVVNZX0VWRE9fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX1RVUl9DMktfQlVTWV9FVkRPX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfQzJLX0JVU1lfRVZET19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIERCUlBfVFVSX0MyS19CVVNZX0VWRE9fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIERCUlBfVFVSX0MyS19CVVNZX1JUVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9DMktfQlVTWV9SVFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9UVVJfQzJLX0JVU1lfUlRUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfVFVSX0MyS19CVVNZX1JUVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfVFVSX0NCX05VTV9DQl9OVU1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9DQl9OVU1fQ0JfTlVNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfQ0JfTlVNX0NCX05VTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgREJSUF9UVVJfQ0gwX0NCX1NJWkVfU01BTExfQ0JfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9DSDBfQ0JfU0laRV9TTUFMTF9DQl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfVFVSX0NIMF9DQl9TSVpFX1NNQUxMX0NCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDFGRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0NIMF9DQl9TSVpFX0xBUkdFX0NCX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9DSDBfQ0JfU0laRV9MQVJHRV9DQl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfVFVSX0NIMF9DQl9TSVpFX0xBUkdFX0NCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0NIMF9DQk5VTV9TTUFMTF9DQl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfQ0gwX0NCTlVNX1NNQUxMX0NCX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVFVSX0NIMF9DQk5VTV9TTUFMTF9DQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUYwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0NIMF9DQk5VTV9MQVJHRV9DQl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9DSDBfQ0JOVU1fTEFSR0VfQ0JfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfQ0gwX0NCTlVNX0xBUkdFX0NCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUYpCisKKyNkZWZpbmUgREJSUF9UVVJfQ0gwX0RNWV9GSUxfSU5GT19GSUxMRVJfTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9DSDBfRE1ZX0ZJTF9JTkZPX0ZJTExFUl9OVU1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfQ0gwX0RNWV9GSUxfSU5GT19GSUxMRVJfTlVNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAzRjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfQ0gxX0NCX1NJWkVfU01BTExfQ0JfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9DSDFfQ0JfU0laRV9TTUFMTF9DQl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfVFVSX0NIMV9DQl9TSVpFX1NNQUxMX0NCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDFGRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0NIMV9DQl9TSVpFX0xBUkdFX0NCX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9DSDFfQ0JfU0laRV9MQVJHRV9DQl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfVFVSX0NIMV9DQl9TSVpFX0xBUkdFX0NCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0NIMV9DQk5VTV9TTUFMTF9DQl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfQ0gxX0NCTlVNX1NNQUxMX0NCX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVFVSX0NIMV9DQk5VTV9TTUFMTF9DQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUYwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0NIMV9DQk5VTV9MQVJHRV9DQl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9DSDFfQ0JOVU1fTEFSR0VfQ0JfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfQ0gxX0NCTlVNX0xBUkdFX0NCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUYpCisKKyNkZWZpbmUgREJSUF9UVVJfQ0gxX0RNWV9GSUxfSU5GT19GSUxMRVJfTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9DSDFfRE1ZX0ZJTF9JTkZPX0ZJTExFUl9OVU1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfQ0gxX0RNWV9GSUxfSU5GT19GSUxMRVJfTlVNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAzRjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfQ0gyX0NCX1NJWkVfU01BTExfQ0JfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9DSDJfQ0JfU0laRV9TTUFMTF9DQl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfVFVSX0NIMl9DQl9TSVpFX1NNQUxMX0NCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDFGRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0NIMl9DQl9TSVpFX0xBUkdFX0NCX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9DSDJfQ0JfU0laRV9MQVJHRV9DQl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfVFVSX0NIMl9DQl9TSVpFX0xBUkdFX0NCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0NIMl9DQk5VTV9TTUFMTF9DQl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfQ0gyX0NCTlVNX1NNQUxMX0NCX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVFVSX0NIMl9DQk5VTV9TTUFMTF9DQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUYwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0NIMl9DQk5VTV9MQVJHRV9DQl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9DSDJfQ0JOVU1fTEFSR0VfQ0JfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfQ0gyX0NCTlVNX0xBUkdFX0NCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUYpCisKKyNkZWZpbmUgREJSUF9UVVJfQ0gyX0RNWV9GSUxfSU5GT19GSUxMRVJfTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9DSDJfRE1ZX0ZJTF9JTkZPX0ZJTExFUl9OVU1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfQ0gyX0RNWV9GSUxfSU5GT19GSUxMRVJfTlVNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAzRjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfQ0gzX0NCX1NJWkVfU01BTExfQ0JfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9DSDNfQ0JfU0laRV9TTUFMTF9DQl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfVFVSX0NIM19DQl9TSVpFX1NNQUxMX0NCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDFGRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0NIM19DQl9TSVpFX0xBUkdFX0NCX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9DSDNfQ0JfU0laRV9MQVJHRV9DQl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfVFVSX0NIM19DQl9TSVpFX0xBUkdFX0NCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0NIM19DQk5VTV9TTUFMTF9DQl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfQ0gzX0NCTlVNX1NNQUxMX0NCX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVFVSX0NIM19DQk5VTV9TTUFMTF9DQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUYwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0NIM19DQk5VTV9MQVJHRV9DQl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9DSDNfQ0JOVU1fTEFSR0VfQ0JfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfQ0gzX0NCTlVNX0xBUkdFX0NCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUYpCisKKyNkZWZpbmUgREJSUF9UVVJfQ0gzX0RNWV9GSUxfSU5GT19GSUxMRVJfTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9DSDNfRE1ZX0ZJTF9JTkZPX0ZJTExFUl9OVU1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfQ0gzX0RNWV9GSUxfSU5GT19GSUxMRVJfTlVNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAzRjAwMDApCisKKyNkZWZpbmUgREJSUF9UVVJfQ0g0X0NCX1NJWkVfU01BTExfQ0JfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9DSDRfQ0JfU0laRV9TTUFMTF9DQl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfVFVSX0NINF9DQl9TSVpFX1NNQUxMX0NCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDFGRkYwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0NINF9DQl9TSVpFX0xBUkdFX0NCX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9DSDRfQ0JfU0laRV9MQVJHRV9DQl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIERCUlBfVFVSX0NINF9DQl9TSVpFX0xBUkdFX0NCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRkZGKQorCisjZGVmaW5lIERCUlBfVFVSX0NINF9DQk5VTV9TTUFMTF9DQl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9UVVJfQ0g0X0NCTlVNX1NNQUxMX0NCX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfVFVSX0NINF9DQk5VTV9TTUFMTF9DQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUYwMDAwKQorCisjZGVmaW5lIERCUlBfVFVSX0NINF9DQk5VTV9MQVJHRV9DQl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX1RVUl9DSDRfQ0JOVU1fTEFSR0VfQ0JfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9UVVJfQ0g0X0NCTlVNX0xBUkdFX0NCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUYpCisKKyNkZWZpbmUgREJSUF9UVVJfQ0g0X0RNWV9GSUxfSU5GT19GSUxMRVJfTlVNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX1RVUl9DSDRfRE1ZX0ZJTF9JTkZPX0ZJTExFUl9OVU1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9UVVJfQ0g0X0RNWV9GSUxfSU5GT19GSUxMRVJfTlVNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAzRjAwMDApCisKKworI2VuZGlmIC8vI2lmbmRlZiBfQ1BIX0MyS19SWF9CUlBfVFVSX0hfCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoYzJrcnhkZmUuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhjMmtyeGRmZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI1YzZlNDkKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoYzJrcnhkZmUuaApAQCAtMCwwICsxLDEyMjkgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhfQzJLX1JYREZFX0hfCisjZGVmaW5lIF9DUEhfQzJLX1JYREZFX0hfCisKKwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogU1JBTUFERFI7ICAgICAgICAgLyogU1JBTSBhZGRyIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBTUkFNREFUQTsgICAgICAgICAvKiBTUkFNIGRhdGEgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIEFQQkFERFI7ICAgICAgICAgIC8qIEFQQiBhZGRyIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgQVBCREFUQTsgICAgICAgICAgLyogQVBCIGRhdGEgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqICBBUEJBRERSMzI7ICAgICAgICAvKiBBUEIgYWRkciBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAgIEFQQkRBVEEzMjsgICAgICAgIC8qIEFQQiBkYXRhIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogRFBSQU1BRERSOyAgICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHNpZ25lZCAgIHNob3J0KiBEUFJBTUFERFJfUzsgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIERQUkFNREFUQTsgICAgICAgIC8qIERQUkFNIGRhdGEgaXMgMTYgYml0cyAqLworCisKKyNkZWZpbmUgUlhERkVfRkNfQUNUX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QTcwQzAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfQUNUX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFJYREZFX0ZDX0FDVF9SRUdfQkFTRSArIDB4MDFBMCArIDEqNCkKKworCisKKyNkZWZpbmUgUlhERkVfRkNfUF9TV0FQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0FDVF9SRUdfQkFTRSArIDB4MDAwMCkpCisjZGVmaW5lIFJYREZFX0ZDX0FfU1dBUF9QMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19BQ1RfUkVHX0JBU0UgKyAweDAwMDQpKQorI2RlZmluZSBSWERGRV9GQ19NU19XQl8wX1AwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfQUNUX1JFR19CQVNFICsgMHgwMDA4KSkKKyNkZWZpbmUgUlhERkVfRkNfTVNfV0JfMV9QMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0FDVF9SRUdfQkFTRSArIDB4MDAwQykpCisjZGVmaW5lIFJYREZFX0ZDX0FfU1dBUF9QMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19BQ1RfUkVHX0JBU0UgKyAweDAwMTApKQorI2RlZmluZSBSWERGRV9GQ19NU19XQl8wX1AxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfQUNUX1JFR19CQVNFICsgMHgwMDE0KSkKKyNkZWZpbmUgUlhERkVfRkNfTVNfV0JfMV9QMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0FDVF9SRUdfQkFTRSArIDB4MDAxOCkpCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AwX0EwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19BQ1RfUkVHX0JBU0UgKyAweDAwMUMpKQorI2RlZmluZSBSWERGRV9GQ19TV19EQ09DX1AwX0EwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfQUNUX1JFR19CQVNFICsgMHgwMDIwKSkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDBfQTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0FDVF9SRUdfQkFTRSArIDB4MDAyNCkpCisjZGVmaW5lIFJYREZFX0ZDX1NXX0RDT0NfUDBfQTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19BQ1RfUkVHX0JBU0UgKyAweDAwMjgpKQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMV9BMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfQUNUX1JFR19CQVNFICsgMHgwMDJDKSkKKyNkZWZpbmUgUlhERkVfRkNfU1dfRENPQ19QMV9BMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0FDVF9SRUdfQkFTRSArIDB4MDAzMCkpCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AxX0ExICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19BQ1RfUkVHX0JBU0UgKyAweDAwMzQpKQorI2RlZmluZSBSWERGRV9GQ19TV19EQ09DX1AxX0ExICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfQUNUX1JFR19CQVNFICsgMHgwMDM4KSkKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzBfQTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0FDVF9SRUdfQkFTRSArIDB4MDAzQykpCisjZGVmaW5lIFJYREZFX0ZDX1NXX0RBR0NfQzBfQTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19BQ1RfUkVHX0JBU0UgKyAweDAwNDApKQorI2RlZmluZSBSWERGRV9GQ19TV19DU19EQUdDX0MwX0EwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfQUNUX1JFR19CQVNFICsgMHgwMDQ0KSkKKyNkZWZpbmUgUlhERkVfRkNfU1dfTkNPX0xOQV9DT01QX0MwX0EwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0FDVF9SRUdfQkFTRSArIDB4MDA0OCkpCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MwX0ExICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19BQ1RfUkVHX0JBU0UgKyAweDAwNEMpKQorI2RlZmluZSBSWERGRV9GQ19TV19EQUdDX0MwX0ExICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfQUNUX1JFR19CQVNFICsgMHgwMDUwKSkKKyNkZWZpbmUgUlhERkVfRkNfU1dfQ1NfREFHQ19DMF9BMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0FDVF9SRUdfQkFTRSArIDB4MDA1NCkpCisjZGVmaW5lIFJYREZFX0ZDX1NXX05DT19MTkFfQ09NUF9DMF9BMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19BQ1RfUkVHX0JBU0UgKyAweDAwNTgpKQorI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMV9BMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfQUNUX1JFR19CQVNFICsgMHgwMDVDKSkKKyNkZWZpbmUgUlhERkVfRkNfU1dfREFHQ19DMV9BMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0FDVF9SRUdfQkFTRSArIDB4MDA2MCkpCisjZGVmaW5lIFJYREZFX0ZDX1NXX0NTX0RBR0NfQzFfQTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19BQ1RfUkVHX0JBU0UgKyAweDAwNjQpKQorI2RlZmluZSBSWERGRV9GQ19TV19OQ09fTE5BX0NPTVBfQzFfQTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfQUNUX1JFR19CQVNFICsgMHgwMDY4KSkKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzFfQTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0FDVF9SRUdfQkFTRSArIDB4MDA2QykpCisjZGVmaW5lIFJYREZFX0ZDX1NXX0RBR0NfQzFfQTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19BQ1RfUkVHX0JBU0UgKyAweDAwNzApKQorI2RlZmluZSBSWERGRV9GQ19TV19DU19EQUdDX0MxX0ExICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfQUNUX1JFR19CQVNFICsgMHgwMDc0KSkKKyNkZWZpbmUgUlhERkVfRkNfU1dfTkNPX0xOQV9DT01QX0MxX0ExICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0FDVF9SRUdfQkFTRSArIDB4MDA3OCkpCisjZGVmaW5lIFJYREZFX0ZDX0ZEUE1fMF9QMF9BMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19BQ1RfUkVHX0JBU0UgKyAweDAwN0MpKQorI2RlZmluZSBSWERGRV9GQ19GRFBNXzFfUDBfQTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfQUNUX1JFR19CQVNFICsgMHgwMDgwKSkKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8yX1AwX0EwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0FDVF9SRUdfQkFTRSArIDB4MDA4NCkpCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMF9QMF9BMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19BQ1RfUkVHX0JBU0UgKyAweDAwODgpKQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzFfUDBfQTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfQUNUX1JFR19CQVNFICsgMHgwMDhDKSkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8yX1AwX0EwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0FDVF9SRUdfQkFTRSArIDB4MDA5MCkpCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfM19QMF9BMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19BQ1RfUkVHX0JBU0UgKyAweDAwOTQpKQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzRfUDBfQTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfQUNUX1JFR19CQVNFICsgMHgwMDk4KSkKKyNkZWZpbmUgUlhERkVfRkNfSVFDX1AwX0EwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0FDVF9SRUdfQkFTRSArIDB4MDA5QykpCisjZGVmaW5lIFJYREZFX0ZDX0ZEUE1fMF9QMF9BMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19BQ1RfUkVHX0JBU0UgKyAweDAwQTApKQorI2RlZmluZSBSWERGRV9GQ19GRFBNXzFfUDBfQTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfQUNUX1JFR19CQVNFICsgMHgwMEE0KSkKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8yX1AwX0ExICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0FDVF9SRUdfQkFTRSArIDB4MDBBOCkpCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMF9QMF9BMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19BQ1RfUkVHX0JBU0UgKyAweDAwQUMpKQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzFfUDBfQTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfQUNUX1JFR19CQVNFICsgMHgwMEIwKSkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8yX1AwX0ExICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0FDVF9SRUdfQkFTRSArIDB4MDBCNCkpCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfM19QMF9BMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19BQ1RfUkVHX0JBU0UgKyAweDAwQjgpKQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzRfUDBfQTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfQUNUX1JFR19CQVNFICsgMHgwMEJDKSkKKyNkZWZpbmUgUlhERkVfRkNfSVFDX1AwX0ExICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0FDVF9SRUdfQkFTRSArIDB4MDBDMCkpCisjZGVmaW5lIFJYREZFX0ZDX0ZEUE1fMF9QMV9BMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19BQ1RfUkVHX0JBU0UgKyAweDAwQzQpKQorI2RlZmluZSBSWERGRV9GQ19GRFBNXzFfUDFfQTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfQUNUX1JFR19CQVNFICsgMHgwMEM4KSkKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8yX1AxX0EwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0FDVF9SRUdfQkFTRSArIDB4MDBDQykpCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMF9QMV9BMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19BQ1RfUkVHX0JBU0UgKyAweDAwRDApKQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzFfUDFfQTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfQUNUX1JFR19CQVNFICsgMHgwMEQ0KSkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8yX1AxX0EwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0FDVF9SRUdfQkFTRSArIDB4MDBEOCkpCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfM19QMV9BMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19BQ1RfUkVHX0JBU0UgKyAweDAwREMpKQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzRfUDFfQTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfQUNUX1JFR19CQVNFICsgMHgwMEUwKSkKKyNkZWZpbmUgUlhERkVfRkNfSVFDX1AxX0EwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0FDVF9SRUdfQkFTRSArIDB4MDBFNCkpCisjZGVmaW5lIFJYREZFX0ZDX0ZEUE1fMF9QMV9BMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19BQ1RfUkVHX0JBU0UgKyAweDAwRTgpKQorI2RlZmluZSBSWERGRV9GQ19GRFBNXzFfUDFfQTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfQUNUX1JFR19CQVNFICsgMHgwMEVDKSkKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8yX1AxX0ExICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0FDVF9SRUdfQkFTRSArIDB4MDBGMCkpCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMF9QMV9BMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19BQ1RfUkVHX0JBU0UgKyAweDAwRjQpKQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzFfUDFfQTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfQUNUX1JFR19CQVNFICsgMHgwMEY4KSkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8yX1AxX0ExICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0FDVF9SRUdfQkFTRSArIDB4MDBGQykpCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfM19QMV9BMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19BQ1RfUkVHX0JBU0UgKyAweDAxMDApKQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzRfUDFfQTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfQUNUX1JFR19CQVNFICsgMHgwMTA0KSkKKyNkZWZpbmUgUlhERkVfRkNfSVFDX1AxX0ExICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0FDVF9SRUdfQkFTRSArIDB4MDEwOCkpCisjZGVmaW5lIFJYREZFX0ZDX05CSUZfU1BVUl9QQVJBX0FfUDBfQTAobikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19BQ1RfUkVHX0JBU0UgKyAweDAxMEMgKyAobikqNCkpICAgLy9uIGlzIGZyb20gMCB0byAzCisjZGVmaW5lIFJYREZFX0ZDX05CSUZfU1BVUl9QQVJBX1BfUDBfQTAobikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19BQ1RfUkVHX0JBU0UgKyAweDAxMUMgKyAobikqNCkpICAgLy9uIGlzIGZyb20gMCB0byAzCisjZGVmaW5lIFJYREZFX0ZDX05CSUZfU1BVUl9QQVJBX0FfUDBfQTEobikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19BQ1RfUkVHX0JBU0UgKyAweDAxMkMgKyAobikqNCkpICAgLy9uIGlzIGZyb20gMCB0byAzCisjZGVmaW5lIFJYREZFX0ZDX05CSUZfU1BVUl9QQVJBX1BfUDBfQTEobikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19BQ1RfUkVHX0JBU0UgKyAweDAxM0MgKyAobikqNCkpICAgLy9uIGlzIGZyb20gMCB0byAzCisjZGVmaW5lIFJYREZFX0ZDX05CSUZfU1BVUl9QQVJBX0FfUDFfQTAobikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19BQ1RfUkVHX0JBU0UgKyAweDAxNEMgKyAobikqNCkpICAgLy9uIGlzIGZyb20gMCB0byAzCisjZGVmaW5lIFJYREZFX0ZDX05CSUZfU1BVUl9QQVJBX1BfUDFfQTAobikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19BQ1RfUkVHX0JBU0UgKyAweDAxNUMgKyAobikqNCkpICAgLy9uIGlzIGZyb20gMCB0byAzCisjZGVmaW5lIFJYREZFX0ZDX05CSUZfU1BVUl9QQVJBX0FfUDFfQTEobikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19BQ1RfUkVHX0JBU0UgKyAweDAxNkMgKyAobikqNCkpICAgLy9uIGlzIGZyb20gMCB0byAzCisjZGVmaW5lIFJYREZFX0ZDX05CSUZfU1BVUl9QQVJBX1BfUDFfQTEobikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19BQ1RfUkVHX0JBU0UgKyAweDAxN0MgKyAobikqNCkpICAgLy9uIGlzIGZyb20gMCB0byAzCisjZGVmaW5lIFJYREZFX0ZDX05DT19DMF9BMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19BQ1RfUkVHX0JBU0UgKyAweDAxOEMpKQorI2RlZmluZSBSWERGRV9GQ19OQ09fQzBfQTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfQUNUX1JFR19CQVNFICsgMHgwMTkwKSkKKyNkZWZpbmUgUlhERkVfRkNfTkNPX0MxX0EwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0FDVF9SRUdfQkFTRSArIDB4MDE5NCkpCisjZGVmaW5lIFJYREZFX0ZDX05DT19DMV9BMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19BQ1RfUkVHX0JBU0UgKyAweDAxOTgpKQorI2RlZmluZSBSWERGRV9GQ19OQ09fTUJTRk5fQzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfQUNUX1JFR19CQVNFICsgMHgwMTlDKSkKKyNkZWZpbmUgUlhERkVfRkNfTkNPX01CU0ZOX0MxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0FDVF9SRUdfQkFTRSArIDB4MDFBMCkpCisKKworI2RlZmluZSBSWERGRV9GQ19QX1NXQVBfUF9TV0FQX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfUF9TV0FQX1BfU1dBUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX1BfU1dBUF9QX1NXQVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWERGRV9GQ19QX1NXQVBfUF9TV0FQX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWERGRV9GQ19BX1NXQVBfUDBfQV9TV0FQX1AwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfQV9TV0FQX1AwX0FfU1dBUF9QMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX0FfU1dBUF9QMF9BX1NXQVBfUDBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWERGRV9GQ19BX1NXQVBfUDBfQV9TV0FQX1AwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWERGRV9GQ19NU19XQl8wX1AwX1dCX0NPRUZfM19QMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIFJYREZFX0ZDX01TX1dCXzBfUDBfV0JfQ09FRl8zX1AwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBSWERGRV9GQ19NU19XQl8wX1AwX1dCX0NPRUZfM19QMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg3RjAwMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19NU19XQl8wX1AwX1dCX0NPRUZfMl9QMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFJYREZFX0ZDX01TX1dCXzBfUDBfV0JfQ09FRl8yX1AwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBSWERGRV9GQ19NU19XQl8wX1AwX1dCX0NPRUZfMl9QMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDdGMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19NU19XQl8wX1AwX1dCX0NPRUZfMV9QMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgUlhERkVfRkNfTVNfV0JfMF9QMF9XQl9DT0VGXzFfUDBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFJYREZFX0ZDX01TX1dCXzBfUDBfV0JfQ09FRl8xX1AwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RjAwKQorCisjZGVmaW5lIFJYREZFX0ZDX01TX1dCXzBfUDBfV0JfQ09FRl8wX1AwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19NU19XQl8wX1AwX1dCX0NPRUZfMF9QMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgUlhERkVfRkNfTVNfV0JfMF9QMF9XQl9DT0VGXzBfUDBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwN0YpCisKKyNkZWZpbmUgUlhERkVfRkNfTVNfV0JfMV9QMF9XQl9DT0VGXzRfUDBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX01TX1dCXzFfUDBfV0JfQ09FRl80X1AwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBSWERGRV9GQ19NU19XQl8xX1AwX1dCX0NPRUZfNF9QMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA3RikKKworI2RlZmluZSBSWERGRV9GQ19BX1NXQVBfUDFfQV9TV0FQX1AxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfQV9TV0FQX1AxX0FfU1dBUF9QMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX0FfU1dBUF9QMV9BX1NXQVBfUDFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWERGRV9GQ19BX1NXQVBfUDFfQV9TV0FQX1AxX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWERGRV9GQ19NU19XQl8wX1AxX1dCX0NPRUZfM19QMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIFJYREZFX0ZDX01TX1dCXzBfUDFfV0JfQ09FRl8zX1AxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBSWERGRV9GQ19NU19XQl8wX1AxX1dCX0NPRUZfM19QMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg3RjAwMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19NU19XQl8wX1AxX1dCX0NPRUZfMl9QMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFJYREZFX0ZDX01TX1dCXzBfUDFfV0JfQ09FRl8yX1AxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBSWERGRV9GQ19NU19XQl8wX1AxX1dCX0NPRUZfMl9QMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDdGMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19NU19XQl8wX1AxX1dCX0NPRUZfMV9QMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgUlhERkVfRkNfTVNfV0JfMF9QMV9XQl9DT0VGXzFfUDFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFJYREZFX0ZDX01TX1dCXzBfUDFfV0JfQ09FRl8xX1AxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RjAwKQorCisjZGVmaW5lIFJYREZFX0ZDX01TX1dCXzBfUDFfV0JfQ09FRl8wX1AxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19NU19XQl8wX1AxX1dCX0NPRUZfMF9QMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgUlhERkVfRkNfTVNfV0JfMF9QMV9XQl9DT0VGXzBfUDFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwN0YpCisKKyNkZWZpbmUgUlhERkVfRkNfTVNfV0JfMV9QMV9XQl9DT0VGXzRfUDFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX01TX1dCXzFfUDFfV0JfQ09FRl80X1AxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBSWERGRV9GQ19NU19XQl8xX1AxX1dCX0NPRUZfNF9QMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA3RikKKworI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMF9BMF9TV19EQ09DX0NPTVBfRU5fUDBfQTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AwX0EwX1NXX0RDT0NfQ09NUF9FTl9QMF9BMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMF9BMF9TV19EQ09DX0NPTVBfRU5fUDBfQTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMCkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDBfQTBfU1dfRENPQ19DT01QX0VOX1AwX0EwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDBfQTBfUF9GRFBNX0VOX1AwX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMF9BMF9QX0ZEUE1fRU5fUDBfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDBfQTBfUF9GRFBNX0VOX1AwX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AwX0EwX1BfRkRQTV9FTl9QMF9BMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AwX0EwX1BfUkZFUV9FTl9QMF9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDBfQTBfUF9SRkVRX0VOX1AwX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AwX0EwX1BfUkZFUV9FTl9QMF9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMF9BMF9QX1JGRVFfRU5fUDBfQTBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMF9BMF9QX0lRQ19FTl9QMF9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AwX0EwX1BfSVFDX0VOX1AwX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMF9BMF9QX0lRQ19FTl9QMF9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDBfQTBfUF9JUUNfRU5fUDBfQTBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDBfQTBfUF9OQklGX0VOX1AwX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMF9BMF9QX05CSUZfRU5fUDBfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDBfQTBfUF9OQklGX0VOX1AwX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AwX0EwX1BfTkJJRl9FTl9QMF9BMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AwX0EwX1FfSU5WX1AwX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDBfQTBfUV9JTlZfUDBfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AwX0EwX1FfSU5WX1AwX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMF9BMF9RX0lOVl9QMF9BMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMF9BMF9JX0lOVl9QMF9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDBfQTBfSV9JTlZfUDBfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AwX0EwX0lfSU5WX1AwX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMF9BMF9JX0lOVl9QMF9BMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMF9BMF9JUV9TV0FQX1AwX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDBfQTBfSVFfU1dBUF9QMF9BMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AwX0EwX0lRX1NXQVBfUDBfQTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMF9BMF9JUV9TV0FQX1AwX0EwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMF9BMF9BRENfTU9ERV9QMF9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDBfQTBfQURDX01PREVfUDBfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AwX0EwX0FEQ19NT0RFX1AwX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEYwKQorCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AwX0EwX1BfTU9ERV9QMF9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMF9BMF9QX01PREVfUDBfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDBfQTBfUF9NT0RFX1AwX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgUlhERkVfRkNfU1dfRENPQ19QMF9BMF9TV19EQ09DX0NPTVBfUV9QMF9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBSWERGRV9GQ19TV19EQ09DX1AwX0EwX1NXX0RDT0NfQ09NUF9RX1AwX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFJYREZFX0ZDX1NXX0RDT0NfUDBfQTBfU1dfRENPQ19DT01QX1FfUDBfQTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDdGRkYwMDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX1NXX0RDT0NfUDBfQTBfU1dfRENPQ19DT01QX0lfUDBfQTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19TV19EQ09DX1AwX0EwX1NXX0RDT0NfQ09NUF9JX1AwX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFJYREZFX0ZDX1NXX0RDT0NfUDBfQTBfU1dfRENPQ19DT01QX0lfUDBfQTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AwX0ExX1NXX0RDT0NfQ09NUF9FTl9QMF9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDBfQTFfU1dfRENPQ19DT01QX0VOX1AwX0ExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AwX0ExX1NXX0RDT0NfQ09NUF9FTl9QMF9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMF9BMV9TV19EQ09DX0NPTVBfRU5fUDBfQTFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMF9BMV9QX0ZEUE1fRU5fUDBfQTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AwX0ExX1BfRkRQTV9FTl9QMF9BMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMF9BMV9QX0ZEUE1fRU5fUDBfQTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDBfQTFfUF9GRFBNX0VOX1AwX0ExX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDBfQTFfUF9SRkVRX0VOX1AwX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMF9BMV9QX1JGRVFfRU5fUDBfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDBfQTFfUF9SRkVRX0VOX1AwX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AwX0ExX1BfUkZFUV9FTl9QMF9BMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AwX0ExX1BfSVFDX0VOX1AwX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDBfQTFfUF9JUUNfRU5fUDBfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AwX0ExX1BfSVFDX0VOX1AwX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMF9BMV9QX0lRQ19FTl9QMF9BMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKworI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMF9BMV9QX05CSUZfRU5fUDBfQTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AwX0ExX1BfTkJJRl9FTl9QMF9BMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMF9BMV9QX05CSUZfRU5fUDBfQTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDBfQTFfUF9OQklGX0VOX1AwX0ExX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDBfQTFfUV9JTlZfUDBfQTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMF9BMV9RX0lOVl9QMF9BMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDBfQTFfUV9JTlZfUDBfQTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AwX0ExX1FfSU5WX1AwX0ExX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AwX0ExX0lfSU5WX1AwX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMF9BMV9JX0lOVl9QMF9BMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDBfQTFfSV9JTlZfUDBfQTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AwX0ExX0lfSU5WX1AwX0ExX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AwX0ExX0lRX1NXQVBfUDBfQTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMF9BMV9JUV9TV0FQX1AwX0ExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDBfQTFfSVFfU1dBUF9QMF9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AwX0ExX0lRX1NXQVBfUDBfQTFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AwX0ExX0FEQ19NT0RFX1AwX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMF9BMV9BRENfTU9ERV9QMF9BMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDBfQTFfQURDX01PREVfUDBfQTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwRjApCisKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDBfQTFfUF9NT0RFX1AwX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AwX0ExX1BfTU9ERV9QMF9BMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMF9BMV9QX01PREVfUDBfQTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBSWERGRV9GQ19TV19EQ09DX1AwX0ExX1NXX0RDT0NfQ09NUF9RX1AwX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFJYREZFX0ZDX1NXX0RDT0NfUDBfQTFfU1dfRENPQ19DT01QX1FfUDBfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgUlhERkVfRkNfU1dfRENPQ19QMF9BMV9TV19EQ09DX0NPTVBfUV9QMF9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4N0ZGRjAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfU1dfRENPQ19QMF9BMV9TV19EQ09DX0NPTVBfSV9QMF9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX1NXX0RDT0NfUDBfQTFfU1dfRENPQ19DT01QX0lfUDBfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgUlhERkVfRkNfU1dfRENPQ19QMF9BMV9TV19EQ09DX0NPTVBfSV9QMF9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDFfQTBfU1dfRENPQ19DT01QX0VOX1AxX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMV9BMF9TV19EQ09DX0NPTVBfRU5fUDFfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDFfQTBfU1dfRENPQ19DT01QX0VOX1AxX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AxX0EwX1NXX0RDT0NfQ09NUF9FTl9QMV9BMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AxX0EwX1BfRkRQTV9FTl9QMV9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDFfQTBfUF9GRFBNX0VOX1AxX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AxX0EwX1BfRkRQTV9FTl9QMV9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMV9BMF9QX0ZEUE1fRU5fUDFfQTBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMV9BMF9QX1JGRVFfRU5fUDFfQTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AxX0EwX1BfUkZFUV9FTl9QMV9BMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMV9BMF9QX1JGRVFfRU5fUDFfQTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDFfQTBfUF9SRkVRX0VOX1AxX0EwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDFfQTBfUF9JUUNfRU5fUDFfQTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMV9BMF9QX0lRQ19FTl9QMV9BMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDFfQTBfUF9JUUNfRU5fUDFfQTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AxX0EwX1BfSVFDX0VOX1AxX0EwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AxX0EwX1BfTkJJRl9FTl9QMV9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDFfQTBfUF9OQklGX0VOX1AxX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AxX0EwX1BfTkJJRl9FTl9QMV9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMV9BMF9QX05CSUZfRU5fUDFfQTBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMV9BMF9RX0lOVl9QMV9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AxX0EwX1FfSU5WX1AxX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMV9BMF9RX0lOVl9QMV9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDFfQTBfUV9JTlZfUDFfQTBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDFfQTBfSV9JTlZfUDFfQTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AxX0EwX0lfSU5WX1AxX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMV9BMF9JX0lOVl9QMV9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDFfQTBfSV9JTlZfUDFfQTBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDFfQTBfSVFfU1dBUF9QMV9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AxX0EwX0lRX1NXQVBfUDFfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMV9BMF9JUV9TV0FQX1AxX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDFfQTBfSVFfU1dBUF9QMV9BMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDFfQTBfQURDX01PREVfUDFfQTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AxX0EwX0FEQ19NT0RFX1AxX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMV9BMF9BRENfTU9ERV9QMV9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDBGMCkKKworI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMV9BMF9QX01PREVfUDFfQTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDFfQTBfUF9NT0RFX1AxX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AxX0EwX1BfTU9ERV9QMV9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIFJYREZFX0ZDX1NXX0RDT0NfUDFfQTBfU1dfRENPQ19DT01QX1FfUDFfQTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgUlhERkVfRkNfU1dfRENPQ19QMV9BMF9TV19EQ09DX0NPTVBfUV9QMV9BMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBSWERGRV9GQ19TV19EQ09DX1AxX0EwX1NXX0RDT0NfQ09NUF9RX1AxX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHg3RkZGMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19TV19EQ09DX1AxX0EwX1NXX0RDT0NfQ09NUF9JX1AxX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfU1dfRENPQ19QMV9BMF9TV19EQ09DX0NPTVBfSV9QMV9BMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBSWERGRV9GQ19TV19EQ09DX1AxX0EwX1NXX0RDT0NfQ09NUF9JX1AxX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKworI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMV9BMV9TV19EQ09DX0NPTVBfRU5fUDFfQTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AxX0ExX1NXX0RDT0NfQ09NUF9FTl9QMV9BMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMV9BMV9TV19EQ09DX0NPTVBfRU5fUDFfQTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMCkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDFfQTFfU1dfRENPQ19DT01QX0VOX1AxX0ExX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDFfQTFfUF9GRFBNX0VOX1AxX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMV9BMV9QX0ZEUE1fRU5fUDFfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDFfQTFfUF9GRFBNX0VOX1AxX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AxX0ExX1BfRkRQTV9FTl9QMV9BMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AxX0ExX1BfUkZFUV9FTl9QMV9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDFfQTFfUF9SRkVRX0VOX1AxX0ExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AxX0ExX1BfUkZFUV9FTl9QMV9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMV9BMV9QX1JGRVFfRU5fUDFfQTFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMV9BMV9QX0lRQ19FTl9QMV9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AxX0ExX1BfSVFDX0VOX1AxX0ExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMV9BMV9QX0lRQ19FTl9QMV9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDFfQTFfUF9JUUNfRU5fUDFfQTFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDFfQTFfUF9OQklGX0VOX1AxX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMV9BMV9QX05CSUZfRU5fUDFfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDFfQTFfUF9OQklGX0VOX1AxX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AxX0ExX1BfTkJJRl9FTl9QMV9BMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AxX0ExX1FfSU5WX1AxX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDFfQTFfUV9JTlZfUDFfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AxX0ExX1FfSU5WX1AxX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMV9BMV9RX0lOVl9QMV9BMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMV9BMV9JX0lOVl9QMV9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDFfQTFfSV9JTlZfUDFfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AxX0ExX0lfSU5WX1AxX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMV9BMV9JX0lOVl9QMV9BMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMV9BMV9JUV9TV0FQX1AxX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDFfQTFfSVFfU1dBUF9QMV9BMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AxX0ExX0lRX1NXQVBfUDFfQTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMV9BMV9JUV9TV0FQX1AxX0ExX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMV9BMV9BRENfTU9ERV9QMV9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDFfQTFfQURDX01PREVfUDFfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AxX0ExX0FEQ19NT0RFX1AxX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEYwKQorCisjZGVmaW5lIFJYREZFX0ZDX1BfQ09OX1AxX0ExX1BfTU9ERV9QMV9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19QX0NPTl9QMV9BMV9QX01PREVfUDFfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhERkVfRkNfUF9DT05fUDFfQTFfUF9NT0RFX1AxX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgUlhERkVfRkNfU1dfRENPQ19QMV9BMV9TV19EQ09DX0NPTVBfUV9QMV9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBSWERGRV9GQ19TV19EQ09DX1AxX0ExX1NXX0RDT0NfQ09NUF9RX1AxX0ExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFJYREZFX0ZDX1NXX0RDT0NfUDFfQTFfU1dfRENPQ19DT01QX1FfUDFfQTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDdGRkYwMDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX1NXX0RDT0NfUDFfQTFfU1dfRENPQ19DT01QX0lfUDFfQTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19TV19EQ09DX1AxX0ExX1NXX0RDT0NfQ09NUF9JX1AxX0ExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFJYREZFX0ZDX1NXX0RDT0NfUDFfQTFfU1dfRENPQ19DT01QX0lfUDFfQTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MwX0EwX1NXX05DT19MTkFfQ09NUF9FTl9DMF9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICgyMikKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzBfQTBfU1dfTkNPX0xOQV9DT01QX0VOX0MwX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MwX0EwX1NXX05DT19MTkFfQ09NUF9FTl9DMF9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwNDAwMDAwKQorI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMF9BMF9TV19OQ09fTE5BX0NPTVBfRU5fQzBfQTBfQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDQwMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMF9BMF9TV19EQUdDX0VOX0MwX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MwX0EwX1NXX0RBR0NfRU5fQzBfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMF9BMF9TV19EQUdDX0VOX0MwX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDIwMDAwMCkKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzBfQTBfU1dfREFHQ19FTl9DMF9BMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAyMDAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzBfQTBfU1dfQ1NfREFHQ19FTl9DMF9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMF9BMF9TV19DU19EQUdDX0VOX0MwX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzBfQTBfU1dfQ1NfREFHQ19FTl9DMF9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MwX0EwX1NXX0NTX0RBR0NfRU5fQzBfQTBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MwX0EwX0NfTkNPX01CU0ZOX0VOX0MwX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzBfQTBfQ19OQ09fTUJTRk5fRU5fQzBfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MwX0EwX0NfTkNPX01CU0ZOX0VOX0MwX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMF9BMF9DX05DT19NQlNGTl9FTl9DMF9BMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKworI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMF9BMF9DX05DT19FTl9DMF9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MwX0EwX0NfTkNPX0VOX0MwX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMF9BMF9DX05DT19FTl9DMF9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzBfQTBfQ19OQ09fRU5fQzBfQTBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzBfQTBfTVVfR0VOX0MyS19NT0RFX0MwX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MwX0EwX01VX0dFTl9DMktfTU9ERV9DMF9BMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMF9BMF9NVV9HRU5fQzJLX01PREVfQzBfQTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzBfQTBfTVVfR0VOX0MyS19NT0RFX0MwX0EwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzBfQTBfQ19JTl9TRUxfQzBfQTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MwX0EwX0NfSU5fU0VMX0MwX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMF9BMF9DX0lOX1NFTF9DMF9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzBfQTBfQ19JTl9TRUxfQzBfQTBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzBfQTBfQ19NT0RFX0MwX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MwX0EwX0NfTU9ERV9DMF9BMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMF9BMF9DX01PREVfQzBfQTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBSWERGRV9GQ19TV19EQUdDX0MwX0EwX1NXX0RBR0NfRVhQX0MwX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgUlhERkVfRkNfU1dfREFHQ19DMF9BMF9TV19EQUdDX0VYUF9DMF9BMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFJYREZFX0ZDX1NXX0RBR0NfQzBfQTBfU1dfREFHQ19FWFBfQzBfQTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRjAwKQorCisjZGVmaW5lIFJYREZFX0ZDX1NXX0RBR0NfQzBfQTBfU1dfREFHQ19NQU5fQzBfQTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19TV19EQUdDX0MwX0EwX1NXX0RBR0NfTUFOX0MwX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgUlhERkVfRkNfU1dfREFHQ19DMF9BMF9TV19EQUdDX01BTl9DMF9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwN0YpCisKKyNkZWZpbmUgUlhERkVfRkNfU1dfQ1NfREFHQ19DMF9BMF9TV19DU19EQUdDX0VYUF9DMF9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJYREZFX0ZDX1NXX0NTX0RBR0NfQzBfQTBfU1dfQ1NfREFHQ19FWFBfQzBfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBSWERGRV9GQ19TV19DU19EQUdDX0MwX0EwX1NXX0NTX0RBR0NfRVhQX0MwX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMUYwMCkKKworI2RlZmluZSBSWERGRV9GQ19TV19DU19EQUdDX0MwX0EwX1NXX0NTX0RBR0NfTUFOX0MwX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfU1dfQ1NfREFHQ19DMF9BMF9TV19DU19EQUdDX01BTl9DMF9BMF9XSURUSCAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFJYREZFX0ZDX1NXX0NTX0RBR0NfQzBfQTBfU1dfQ1NfREFHQ19NQU5fQzBfQTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDdGKQorCisjZGVmaW5lIFJYREZFX0ZDX1NXX05DT19MTkFfQ09NUF9DMF9BMF9TV19OQ09fTE5BX0NPTVBfQzBfQTBfTFNCICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19TV19OQ09fTE5BX0NPTVBfQzBfQTBfU1dfTkNPX0xOQV9DT01QX0MwX0EwX1dJRFRIICAgICAgICAgICAgICAoMjMpCisjZGVmaW5lIFJYREZFX0ZDX1NXX05DT19MTkFfQ09NUF9DMF9BMF9TV19OQ09fTE5BX0NPTVBfQzBfQTBfTUFTSyAgICAgICAgICAgICAgICgweDAwN0ZGRkZGKQorCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MwX0ExX1NXX05DT19MTkFfQ09NUF9FTl9DMF9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICgyMikKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzBfQTFfU1dfTkNPX0xOQV9DT01QX0VOX0MwX0ExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MwX0ExX1NXX05DT19MTkFfQ09NUF9FTl9DMF9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwNDAwMDAwKQorI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMF9BMV9TV19OQ09fTE5BX0NPTVBfRU5fQzBfQTFfQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDQwMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMF9BMV9TV19EQUdDX0VOX0MwX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MwX0ExX1NXX0RBR0NfRU5fQzBfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMF9BMV9TV19EQUdDX0VOX0MwX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDIwMDAwMCkKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzBfQTFfU1dfREFHQ19FTl9DMF9BMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAyMDAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzBfQTFfU1dfQ1NfREFHQ19FTl9DMF9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMF9BMV9TV19DU19EQUdDX0VOX0MwX0ExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzBfQTFfU1dfQ1NfREFHQ19FTl9DMF9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MwX0ExX1NXX0NTX0RBR0NfRU5fQzBfQTFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MwX0ExX0NfTkNPX01CU0ZOX0VOX0MwX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzBfQTFfQ19OQ09fTUJTRk5fRU5fQzBfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MwX0ExX0NfTkNPX01CU0ZOX0VOX0MwX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMF9BMV9DX05DT19NQlNGTl9FTl9DMF9BMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKworI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMF9BMV9DX05DT19FTl9DMF9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MwX0ExX0NfTkNPX0VOX0MwX0ExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMF9BMV9DX05DT19FTl9DMF9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzBfQTFfQ19OQ09fRU5fQzBfQTFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzBfQTFfTVVfR0VOX0MyS19NT0RFX0MwX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MwX0ExX01VX0dFTl9DMktfTU9ERV9DMF9BMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMF9BMV9NVV9HRU5fQzJLX01PREVfQzBfQTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzBfQTFfTVVfR0VOX0MyS19NT0RFX0MwX0ExX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzBfQTFfQ19JTl9TRUxfQzBfQTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MwX0ExX0NfSU5fU0VMX0MwX0ExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMF9BMV9DX0lOX1NFTF9DMF9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzBfQTFfQ19JTl9TRUxfQzBfQTFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzBfQTFfQ19NT0RFX0MwX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MwX0ExX0NfTU9ERV9DMF9BMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMF9BMV9DX01PREVfQzBfQTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBSWERGRV9GQ19TV19EQUdDX0MwX0ExX1NXX0RBR0NfRVhQX0MwX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgUlhERkVfRkNfU1dfREFHQ19DMF9BMV9TV19EQUdDX0VYUF9DMF9BMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFJYREZFX0ZDX1NXX0RBR0NfQzBfQTFfU1dfREFHQ19FWFBfQzBfQTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRjAwKQorCisjZGVmaW5lIFJYREZFX0ZDX1NXX0RBR0NfQzBfQTFfU1dfREFHQ19NQU5fQzBfQTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19TV19EQUdDX0MwX0ExX1NXX0RBR0NfTUFOX0MwX0ExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgUlhERkVfRkNfU1dfREFHQ19DMF9BMV9TV19EQUdDX01BTl9DMF9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwN0YpCisKKyNkZWZpbmUgUlhERkVfRkNfU1dfQ1NfREFHQ19DMF9BMV9TV19DU19EQUdDX0VYUF9DMF9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJYREZFX0ZDX1NXX0NTX0RBR0NfQzBfQTFfU1dfQ1NfREFHQ19FWFBfQzBfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBSWERGRV9GQ19TV19DU19EQUdDX0MwX0ExX1NXX0NTX0RBR0NfRVhQX0MwX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMUYwMCkKKworI2RlZmluZSBSWERGRV9GQ19TV19DU19EQUdDX0MwX0ExX1NXX0NTX0RBR0NfTUFOX0MwX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfU1dfQ1NfREFHQ19DMF9BMV9TV19DU19EQUdDX01BTl9DMF9BMV9XSURUSCAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFJYREZFX0ZDX1NXX0NTX0RBR0NfQzBfQTFfU1dfQ1NfREFHQ19NQU5fQzBfQTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDdGKQorCisjZGVmaW5lIFJYREZFX0ZDX1NXX05DT19MTkFfQ09NUF9DMF9BMV9TV19OQ09fTE5BX0NPTVBfQzBfQTFfTFNCICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19TV19OQ09fTE5BX0NPTVBfQzBfQTFfU1dfTkNPX0xOQV9DT01QX0MwX0ExX1dJRFRIICAgICAgICAgICAgICAoMjMpCisjZGVmaW5lIFJYREZFX0ZDX1NXX05DT19MTkFfQ09NUF9DMF9BMV9TV19OQ09fTE5BX0NPTVBfQzBfQTFfTUFTSyAgICAgICAgICAgICAgICgweDAwN0ZGRkZGKQorCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MxX0EwX1NXX05DT19MTkFfQ09NUF9FTl9DMV9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICgyMikKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzFfQTBfU1dfTkNPX0xOQV9DT01QX0VOX0MxX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MxX0EwX1NXX05DT19MTkFfQ09NUF9FTl9DMV9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwNDAwMDAwKQorI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMV9BMF9TV19OQ09fTE5BX0NPTVBfRU5fQzFfQTBfQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDQwMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMV9BMF9TV19EQUdDX0VOX0MxX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MxX0EwX1NXX0RBR0NfRU5fQzFfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMV9BMF9TV19EQUdDX0VOX0MxX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDIwMDAwMCkKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzFfQTBfU1dfREFHQ19FTl9DMV9BMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAyMDAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzFfQTBfU1dfQ1NfREFHQ19FTl9DMV9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMV9BMF9TV19DU19EQUdDX0VOX0MxX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzFfQTBfU1dfQ1NfREFHQ19FTl9DMV9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MxX0EwX1NXX0NTX0RBR0NfRU5fQzFfQTBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MxX0EwX0NfTkNPX01CU0ZOX0VOX0MxX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzFfQTBfQ19OQ09fTUJTRk5fRU5fQzFfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MxX0EwX0NfTkNPX01CU0ZOX0VOX0MxX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMV9BMF9DX05DT19NQlNGTl9FTl9DMV9BMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKworI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMV9BMF9DX05DT19FTl9DMV9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MxX0EwX0NfTkNPX0VOX0MxX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMV9BMF9DX05DT19FTl9DMV9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzFfQTBfQ19OQ09fRU5fQzFfQTBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzFfQTBfTVVfR0VOX0MyS19NT0RFX0MxX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MxX0EwX01VX0dFTl9DMktfTU9ERV9DMV9BMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMV9BMF9NVV9HRU5fQzJLX01PREVfQzFfQTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzFfQTBfTVVfR0VOX0MyS19NT0RFX0MxX0EwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzFfQTBfQ19JTl9TRUxfQzFfQTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MxX0EwX0NfSU5fU0VMX0MxX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMV9BMF9DX0lOX1NFTF9DMV9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzFfQTBfQ19JTl9TRUxfQzFfQTBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzFfQTBfQ19NT0RFX0MxX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MxX0EwX0NfTU9ERV9DMV9BMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMV9BMF9DX01PREVfQzFfQTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBSWERGRV9GQ19TV19EQUdDX0MxX0EwX1NXX0RBR0NfRVhQX0MxX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgUlhERkVfRkNfU1dfREFHQ19DMV9BMF9TV19EQUdDX0VYUF9DMV9BMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFJYREZFX0ZDX1NXX0RBR0NfQzFfQTBfU1dfREFHQ19FWFBfQzFfQTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRjAwKQorCisjZGVmaW5lIFJYREZFX0ZDX1NXX0RBR0NfQzFfQTBfU1dfREFHQ19NQU5fQzFfQTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19TV19EQUdDX0MxX0EwX1NXX0RBR0NfTUFOX0MxX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgUlhERkVfRkNfU1dfREFHQ19DMV9BMF9TV19EQUdDX01BTl9DMV9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwN0YpCisKKyNkZWZpbmUgUlhERkVfRkNfU1dfQ1NfREFHQ19DMV9BMF9TV19DU19EQUdDX0VYUF9DMV9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJYREZFX0ZDX1NXX0NTX0RBR0NfQzFfQTBfU1dfQ1NfREFHQ19FWFBfQzFfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBSWERGRV9GQ19TV19DU19EQUdDX0MxX0EwX1NXX0NTX0RBR0NfRVhQX0MxX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMUYwMCkKKworI2RlZmluZSBSWERGRV9GQ19TV19DU19EQUdDX0MxX0EwX1NXX0NTX0RBR0NfTUFOX0MxX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfU1dfQ1NfREFHQ19DMV9BMF9TV19DU19EQUdDX01BTl9DMV9BMF9XSURUSCAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFJYREZFX0ZDX1NXX0NTX0RBR0NfQzFfQTBfU1dfQ1NfREFHQ19NQU5fQzFfQTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDdGKQorCisjZGVmaW5lIFJYREZFX0ZDX1NXX05DT19MTkFfQ09NUF9DMV9BMF9TV19OQ09fTE5BX0NPTVBfQzFfQTBfTFNCICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19TV19OQ09fTE5BX0NPTVBfQzFfQTBfU1dfTkNPX0xOQV9DT01QX0MxX0EwX1dJRFRIICAgICAgICAgICAgICAoMjMpCisjZGVmaW5lIFJYREZFX0ZDX1NXX05DT19MTkFfQ09NUF9DMV9BMF9TV19OQ09fTE5BX0NPTVBfQzFfQTBfTUFTSyAgICAgICAgICAgICAgICgweDAwN0ZGRkZGKQorCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MxX0ExX1NXX05DT19MTkFfQ09NUF9FTl9DMV9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICgyMikKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzFfQTFfU1dfTkNPX0xOQV9DT01QX0VOX0MxX0ExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MxX0ExX1NXX05DT19MTkFfQ09NUF9FTl9DMV9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwNDAwMDAwKQorI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMV9BMV9TV19OQ09fTE5BX0NPTVBfRU5fQzFfQTFfQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDQwMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMV9BMV9TV19EQUdDX0VOX0MxX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MxX0ExX1NXX0RBR0NfRU5fQzFfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMV9BMV9TV19EQUdDX0VOX0MxX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDIwMDAwMCkKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzFfQTFfU1dfREFHQ19FTl9DMV9BMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAyMDAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzFfQTFfU1dfQ1NfREFHQ19FTl9DMV9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMV9BMV9TV19DU19EQUdDX0VOX0MxX0ExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzFfQTFfU1dfQ1NfREFHQ19FTl9DMV9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MxX0ExX1NXX0NTX0RBR0NfRU5fQzFfQTFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MxX0ExX0NfTkNPX01CU0ZOX0VOX0MxX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzFfQTFfQ19OQ09fTUJTRk5fRU5fQzFfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MxX0ExX0NfTkNPX01CU0ZOX0VOX0MxX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMV9BMV9DX05DT19NQlNGTl9FTl9DMV9BMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKworI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMV9BMV9DX05DT19FTl9DMV9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MxX0ExX0NfTkNPX0VOX0MxX0ExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMV9BMV9DX05DT19FTl9DMV9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzFfQTFfQ19OQ09fRU5fQzFfQTFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzFfQTFfTVVfR0VOX0MyS19NT0RFX0MxX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MxX0ExX01VX0dFTl9DMktfTU9ERV9DMV9BMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMV9BMV9NVV9HRU5fQzJLX01PREVfQzFfQTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzFfQTFfTVVfR0VOX0MyS19NT0RFX0MxX0ExX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzFfQTFfQ19JTl9TRUxfQzFfQTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MxX0ExX0NfSU5fU0VMX0MxX0ExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMV9BMV9DX0lOX1NFTF9DMV9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzFfQTFfQ19JTl9TRUxfQzFfQTFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgUlhERkVfRkNfQ19DT05fQzFfQTFfQ19NT0RFX0MxX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX0NfQ09OX0MxX0ExX0NfTU9ERV9DMV9BMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWERGRV9GQ19DX0NPTl9DMV9BMV9DX01PREVfQzFfQTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBSWERGRV9GQ19TV19EQUdDX0MxX0ExX1NXX0RBR0NfRVhQX0MxX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgUlhERkVfRkNfU1dfREFHQ19DMV9BMV9TV19EQUdDX0VYUF9DMV9BMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFJYREZFX0ZDX1NXX0RBR0NfQzFfQTFfU1dfREFHQ19FWFBfQzFfQTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRjAwKQorCisjZGVmaW5lIFJYREZFX0ZDX1NXX0RBR0NfQzFfQTFfU1dfREFHQ19NQU5fQzFfQTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19TV19EQUdDX0MxX0ExX1NXX0RBR0NfTUFOX0MxX0ExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgUlhERkVfRkNfU1dfREFHQ19DMV9BMV9TV19EQUdDX01BTl9DMV9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwN0YpCisKKyNkZWZpbmUgUlhERkVfRkNfU1dfQ1NfREFHQ19DMV9BMV9TV19DU19EQUdDX0VYUF9DMV9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJYREZFX0ZDX1NXX0NTX0RBR0NfQzFfQTFfU1dfQ1NfREFHQ19FWFBfQzFfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBSWERGRV9GQ19TV19DU19EQUdDX0MxX0ExX1NXX0NTX0RBR0NfRVhQX0MxX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMUYwMCkKKworI2RlZmluZSBSWERGRV9GQ19TV19DU19EQUdDX0MxX0ExX1NXX0NTX0RBR0NfTUFOX0MxX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfU1dfQ1NfREFHQ19DMV9BMV9TV19DU19EQUdDX01BTl9DMV9BMV9XSURUSCAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFJYREZFX0ZDX1NXX0NTX0RBR0NfQzFfQTFfU1dfQ1NfREFHQ19NQU5fQzFfQTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDdGKQorCisjZGVmaW5lIFJYREZFX0ZDX1NXX05DT19MTkFfQ09NUF9DMV9BMV9TV19OQ09fTE5BX0NPTVBfQzFfQTFfTFNCICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19TV19OQ09fTE5BX0NPTVBfQzFfQTFfU1dfTkNPX0xOQV9DT01QX0MxX0ExX1dJRFRIICAgICAgICAgICAgICAoMjMpCisjZGVmaW5lIFJYREZFX0ZDX1NXX05DT19MTkFfQ09NUF9DMV9BMV9TV19OQ09fTE5BX0NPTVBfQzFfQTFfTUFTSyAgICAgICAgICAgICAgICgweDAwN0ZGRkZGKQorCisjZGVmaW5lIFJYREZFX0ZDX0ZEUE1fMF9QMF9BMF9GRFBNX0NPRUZfUV8xX1AwX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8wX1AwX0EwX0ZEUE1fQ09FRl9RXzFfUDBfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBSWERGRV9GQ19GRFBNXzBfUDBfQTBfRkRQTV9DT0VGX1FfMV9QMF9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwN0ZGMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19GRFBNXzBfUDBfQTBfRkRQTV9DT0VGX1FfMF9QMF9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8wX1AwX0EwX0ZEUE1fQ09FRl9RXzBfUDBfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBSWERGRV9GQ19GRFBNXzBfUDBfQTBfRkRQTV9DT0VGX1FfMF9QMF9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDdGRikKKworI2RlZmluZSBSWERGRV9GQ19GRFBNXzFfUDBfQTBfRkRQTV9DT0VGX1FfM19QMF9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFJYREZFX0ZDX0ZEUE1fMV9QMF9BMF9GRFBNX0NPRUZfUV8zX1AwX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8xX1AwX0EwX0ZEUE1fQ09FRl9RXzNfUDBfQTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDdGRjAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8xX1AwX0EwX0ZEUE1fQ09FRl9RXzJfUDBfQTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX0ZEUE1fMV9QMF9BMF9GRFBNX0NPRUZfUV8yX1AwX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8xX1AwX0EwX0ZEUE1fQ09FRl9RXzJfUDBfQTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA3RkYpCisKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8yX1AwX0EwX0ZEUE1fRU5fUDBfQTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBSWERGRV9GQ19GRFBNXzJfUDBfQTBfRkRQTV9FTl9QMF9BMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8yX1AwX0EwX0ZEUE1fRU5fUDBfQTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIFJYREZFX0ZDX0ZEUE1fMl9QMF9BMF9GRFBNX0VOX1AwX0EwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX0ZEUE1fMl9QMF9BMF9GRFBNX1RBUF9TRUxfUDBfQTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyOCkKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8yX1AwX0EwX0ZEUE1fVEFQX1NFTF9QMF9BMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX0ZEUE1fMl9QMF9BMF9GRFBNX1RBUF9TRUxfUDBfQTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDEwMDAwMDAwKQorI2RlZmluZSBSWERGRV9GQ19GRFBNXzJfUDBfQTBfRkRQTV9UQVBfU0VMX1AwX0EwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19GRFBNXzJfUDBfQTBfRkRQTV9DT0VGX1FfNF9QMF9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8yX1AwX0EwX0ZEUE1fQ09FRl9RXzRfUDBfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBSWERGRV9GQ19GRFBNXzJfUDBfQTBfRkRQTV9DT0VGX1FfNF9QMF9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDdGRikKKworI2RlZmluZSBSWERGRV9GQ19SRkVRXzBfUDBfQTBfUkZFUV9DT0VGXzAyX1AwX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMF9QMF9BMF9SRkVRX0NPRUZfMDJfUDBfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzBfUDBfQTBfUkZFUV9DT0VGXzAyX1AwX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxRkYwMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19SRkVRXzBfUDBfQTBfUkZFUV9DT0VGXzAxX1AwX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMF9QMF9BMF9SRkVRX0NPRUZfMDFfUDBfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzBfUDBfQTBfUkZFUV9DT0VGXzAxX1AwX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDA3RkMwMCkKKworI2RlZmluZSBSWERGRV9GQ19SRkVRXzBfUDBfQTBfUkZFUV9DT0VGXzAwX1AwX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8wX1AwX0EwX1JGRVFfQ09FRl8wMF9QMF9BMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMF9QMF9BMF9SRkVRX0NPRUZfMDBfUDBfQTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMV9QMF9BMF9SRkVRX0NPRUZfMDVfUDBfQTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8xX1AwX0EwX1JGRVFfQ09FRl8wNV9QMF9BMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMV9QMF9BMF9SRkVRX0NPRUZfMDVfUDBfQTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDFGRjAwMDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMV9QMF9BMF9SRkVRX0NPRUZfMDRfUDBfQTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8xX1AwX0EwX1JGRVFfQ09FRl8wNF9QMF9BMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMV9QMF9BMF9SRkVRX0NPRUZfMDRfUDBfQTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDdGQzAwKQorCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMV9QMF9BMF9SRkVRX0NPRUZfMDNfUDBfQTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzFfUDBfQTBfUkZFUV9DT0VGXzAzX1AwX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8xX1AwX0EwX1JGRVFfQ09FRl8wM19QMF9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8yX1AwX0EwX1JGRVFfQ09FRl8wOF9QMF9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzJfUDBfQTBfUkZFUV9DT0VGXzA4X1AwX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8yX1AwX0EwX1JGRVFfQ09FRl8wOF9QMF9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MUZGMDAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8yX1AwX0EwX1JGRVFfQ09FRl8wN19QMF9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzJfUDBfQTBfUkZFUV9DT0VGXzA3X1AwX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8yX1AwX0EwX1JGRVFfQ09FRl8wN19QMF9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwN0ZDMDApCisKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8yX1AwX0EwX1JGRVFfQ09FRl8wNl9QMF9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMl9QMF9BMF9SRkVRX0NPRUZfMDZfUDBfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzJfUDBfQTBfUkZFUV9DT0VGXzA2X1AwX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBSWERGRV9GQ19SRkVRXzNfUDBfQTBfUkZFUV9DT0VGXzExX1AwX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfM19QMF9BMF9SRkVRX0NPRUZfMTFfUDBfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzNfUDBfQTBfUkZFUV9DT0VGXzExX1AwX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxRkYwMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19SRkVRXzNfUDBfQTBfUkZFUV9DT0VGXzEwX1AwX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfM19QMF9BMF9SRkVRX0NPRUZfMTBfUDBfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzNfUDBfQTBfUkZFUV9DT0VGXzEwX1AwX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDA3RkMwMCkKKworI2RlZmluZSBSWERGRV9GQ19SRkVRXzNfUDBfQTBfUkZFUV9DT0VGXzA5X1AwX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8zX1AwX0EwX1JGRVFfQ09FRl8wOV9QMF9BMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfM19QMF9BMF9SRkVRX0NPRUZfMDlfUDBfQTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfNF9QMF9BMF9SRkVRX0VOX1AwX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV80X1AwX0EwX1JGRVFfRU5fUDBfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfNF9QMF9BMF9SRkVRX0VOX1AwX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzRfUDBfQTBfUkZFUV9FTl9QMF9BMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19SRkVRXzRfUDBfQTBfUkZFUV9UQVBfU0VMX1AwX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzApCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfNF9QMF9BMF9SRkVRX1RBUF9TRUxfUDBfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzRfUDBfQTBfUkZFUV9UQVBfU0VMX1AwX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMCkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV80X1AwX0EwX1JGRVFfVEFQX1NFTF9QMF9BMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4NDAwMDAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV80X1AwX0EwX1JGRVFfUk5EX1NFTF9QMF9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI4KQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzRfUDBfQTBfUkZFUV9STkRfU0VMX1AwX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV80X1AwX0EwX1JGRVFfUk5EX1NFTF9QMF9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzAwMDAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV80X1AwX0EwX1JGRVFfQ09FRl8xM19QMF9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzRfUDBfQTBfUkZFUV9DT0VGXzEzX1AwX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV80X1AwX0EwX1JGRVFfQ09FRl8xM19QMF9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwN0ZDMDApCisKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV80X1AwX0EwX1JGRVFfQ09FRl8xMl9QMF9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfNF9QMF9BMF9SRkVRX0NPRUZfMTJfUDBfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzRfUDBfQTBfUkZFUV9DT0VGXzEyX1AwX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBSWERGRV9GQ19JUUNfUDBfQTBfSVFDX0VOX1AwX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFJYREZFX0ZDX0lRQ19QMF9BMF9JUUNfRU5fUDBfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19JUUNfUDBfQTBfSVFDX0VOX1AwX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgUlhERkVfRkNfSVFDX1AwX0EwX0lRQ19FTl9QMF9BMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfSVFDX1AwX0EwX0lRQ19QSEFTRV9QMF9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJYREZFX0ZDX0lRQ19QMF9BMF9JUUNfUEhBU0VfUDBfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBSWERGRV9GQ19JUUNfUDBfQTBfSVFDX1BIQVNFX1AwX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0YwMCkKKworI2RlZmluZSBSWERGRV9GQ19JUUNfUDBfQTBfSVFDX0dBSU5fUDBfQTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfSVFDX1AwX0EwX0lRQ19HQUlOX1AwX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJYREZFX0ZDX0lRQ19QMF9BMF9JUUNfR0FJTl9QMF9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEZGKQorCisjZGVmaW5lIFJYREZFX0ZDX0ZEUE1fMF9QMF9BMV9GRFBNX0NPRUZfUV8xX1AwX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8wX1AwX0ExX0ZEUE1fQ09FRl9RXzFfUDBfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBSWERGRV9GQ19GRFBNXzBfUDBfQTFfRkRQTV9DT0VGX1FfMV9QMF9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwN0ZGMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19GRFBNXzBfUDBfQTFfRkRQTV9DT0VGX1FfMF9QMF9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8wX1AwX0ExX0ZEUE1fQ09FRl9RXzBfUDBfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBSWERGRV9GQ19GRFBNXzBfUDBfQTFfRkRQTV9DT0VGX1FfMF9QMF9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDdGRikKKworI2RlZmluZSBSWERGRV9GQ19GRFBNXzFfUDBfQTFfRkRQTV9DT0VGX1FfM19QMF9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFJYREZFX0ZDX0ZEUE1fMV9QMF9BMV9GRFBNX0NPRUZfUV8zX1AwX0ExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8xX1AwX0ExX0ZEUE1fQ09FRl9RXzNfUDBfQTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDdGRjAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8xX1AwX0ExX0ZEUE1fQ09FRl9RXzJfUDBfQTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX0ZEUE1fMV9QMF9BMV9GRFBNX0NPRUZfUV8yX1AwX0ExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8xX1AwX0ExX0ZEUE1fQ09FRl9RXzJfUDBfQTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA3RkYpCisKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8yX1AwX0ExX0ZEUE1fRU5fUDBfQTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBSWERGRV9GQ19GRFBNXzJfUDBfQTFfRkRQTV9FTl9QMF9BMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8yX1AwX0ExX0ZEUE1fRU5fUDBfQTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIFJYREZFX0ZDX0ZEUE1fMl9QMF9BMV9GRFBNX0VOX1AwX0ExX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX0ZEUE1fMl9QMF9BMV9GRFBNX1RBUF9TRUxfUDBfQTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyOCkKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8yX1AwX0ExX0ZEUE1fVEFQX1NFTF9QMF9BMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX0ZEUE1fMl9QMF9BMV9GRFBNX1RBUF9TRUxfUDBfQTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDEwMDAwMDAwKQorI2RlZmluZSBSWERGRV9GQ19GRFBNXzJfUDBfQTFfRkRQTV9UQVBfU0VMX1AwX0ExX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19GRFBNXzJfUDBfQTFfRkRQTV9DT0VGX1FfNF9QMF9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8yX1AwX0ExX0ZEUE1fQ09FRl9RXzRfUDBfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBSWERGRV9GQ19GRFBNXzJfUDBfQTFfRkRQTV9DT0VGX1FfNF9QMF9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDdGRikKKworI2RlZmluZSBSWERGRV9GQ19SRkVRXzBfUDBfQTFfUkZFUV9DT0VGXzAyX1AwX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMF9QMF9BMV9SRkVRX0NPRUZfMDJfUDBfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzBfUDBfQTFfUkZFUV9DT0VGXzAyX1AwX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxRkYwMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19SRkVRXzBfUDBfQTFfUkZFUV9DT0VGXzAxX1AwX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMF9QMF9BMV9SRkVRX0NPRUZfMDFfUDBfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzBfUDBfQTFfUkZFUV9DT0VGXzAxX1AwX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDA3RkMwMCkKKworI2RlZmluZSBSWERGRV9GQ19SRkVRXzBfUDBfQTFfUkZFUV9DT0VGXzAwX1AwX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8wX1AwX0ExX1JGRVFfQ09FRl8wMF9QMF9BMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMF9QMF9BMV9SRkVRX0NPRUZfMDBfUDBfQTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMV9QMF9BMV9SRkVRX0NPRUZfMDVfUDBfQTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8xX1AwX0ExX1JGRVFfQ09FRl8wNV9QMF9BMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMV9QMF9BMV9SRkVRX0NPRUZfMDVfUDBfQTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDFGRjAwMDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMV9QMF9BMV9SRkVRX0NPRUZfMDRfUDBfQTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8xX1AwX0ExX1JGRVFfQ09FRl8wNF9QMF9BMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMV9QMF9BMV9SRkVRX0NPRUZfMDRfUDBfQTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDdGQzAwKQorCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMV9QMF9BMV9SRkVRX0NPRUZfMDNfUDBfQTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzFfUDBfQTFfUkZFUV9DT0VGXzAzX1AwX0ExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8xX1AwX0ExX1JGRVFfQ09FRl8wM19QMF9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8yX1AwX0ExX1JGRVFfQ09FRl8wOF9QMF9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzJfUDBfQTFfUkZFUV9DT0VGXzA4X1AwX0ExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8yX1AwX0ExX1JGRVFfQ09FRl8wOF9QMF9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MUZGMDAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8yX1AwX0ExX1JGRVFfQ09FRl8wN19QMF9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzJfUDBfQTFfUkZFUV9DT0VGXzA3X1AwX0ExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8yX1AwX0ExX1JGRVFfQ09FRl8wN19QMF9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwN0ZDMDApCisKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8yX1AwX0ExX1JGRVFfQ09FRl8wNl9QMF9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMl9QMF9BMV9SRkVRX0NPRUZfMDZfUDBfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzJfUDBfQTFfUkZFUV9DT0VGXzA2X1AwX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBSWERGRV9GQ19SRkVRXzNfUDBfQTFfUkZFUV9DT0VGXzExX1AwX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfM19QMF9BMV9SRkVRX0NPRUZfMTFfUDBfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzNfUDBfQTFfUkZFUV9DT0VGXzExX1AwX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxRkYwMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19SRkVRXzNfUDBfQTFfUkZFUV9DT0VGXzEwX1AwX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfM19QMF9BMV9SRkVRX0NPRUZfMTBfUDBfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzNfUDBfQTFfUkZFUV9DT0VGXzEwX1AwX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDA3RkMwMCkKKworI2RlZmluZSBSWERGRV9GQ19SRkVRXzNfUDBfQTFfUkZFUV9DT0VGXzA5X1AwX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8zX1AwX0ExX1JGRVFfQ09FRl8wOV9QMF9BMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfM19QMF9BMV9SRkVRX0NPRUZfMDlfUDBfQTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfNF9QMF9BMV9SRkVRX0VOX1AwX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV80X1AwX0ExX1JGRVFfRU5fUDBfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfNF9QMF9BMV9SRkVRX0VOX1AwX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzRfUDBfQTFfUkZFUV9FTl9QMF9BMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19SRkVRXzRfUDBfQTFfUkZFUV9UQVBfU0VMX1AwX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzApCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfNF9QMF9BMV9SRkVRX1RBUF9TRUxfUDBfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzRfUDBfQTFfUkZFUV9UQVBfU0VMX1AwX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMCkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV80X1AwX0ExX1JGRVFfVEFQX1NFTF9QMF9BMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4NDAwMDAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV80X1AwX0ExX1JGRVFfUk5EX1NFTF9QMF9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI4KQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzRfUDBfQTFfUkZFUV9STkRfU0VMX1AwX0ExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV80X1AwX0ExX1JGRVFfUk5EX1NFTF9QMF9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzAwMDAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV80X1AwX0ExX1JGRVFfQ09FRl8xM19QMF9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzRfUDBfQTFfUkZFUV9DT0VGXzEzX1AwX0ExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV80X1AwX0ExX1JGRVFfQ09FRl8xM19QMF9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwN0ZDMDApCisKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV80X1AwX0ExX1JGRVFfQ09FRl8xMl9QMF9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfNF9QMF9BMV9SRkVRX0NPRUZfMTJfUDBfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzRfUDBfQTFfUkZFUV9DT0VGXzEyX1AwX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBSWERGRV9GQ19JUUNfUDBfQTFfSVFDX0VOX1AwX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFJYREZFX0ZDX0lRQ19QMF9BMV9JUUNfRU5fUDBfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19JUUNfUDBfQTFfSVFDX0VOX1AwX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgUlhERkVfRkNfSVFDX1AwX0ExX0lRQ19FTl9QMF9BMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfSVFDX1AwX0ExX0lRQ19QSEFTRV9QMF9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJYREZFX0ZDX0lRQ19QMF9BMV9JUUNfUEhBU0VfUDBfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBSWERGRV9GQ19JUUNfUDBfQTFfSVFDX1BIQVNFX1AwX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0YwMCkKKworI2RlZmluZSBSWERGRV9GQ19JUUNfUDBfQTFfSVFDX0dBSU5fUDBfQTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfSVFDX1AwX0ExX0lRQ19HQUlOX1AwX0ExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJYREZFX0ZDX0lRQ19QMF9BMV9JUUNfR0FJTl9QMF9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEZGKQorCisjZGVmaW5lIFJYREZFX0ZDX0ZEUE1fMF9QMV9BMF9GRFBNX0NPRUZfUV8xX1AxX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8wX1AxX0EwX0ZEUE1fQ09FRl9RXzFfUDFfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBSWERGRV9GQ19GRFBNXzBfUDFfQTBfRkRQTV9DT0VGX1FfMV9QMV9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwN0ZGMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19GRFBNXzBfUDFfQTBfRkRQTV9DT0VGX1FfMF9QMV9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8wX1AxX0EwX0ZEUE1fQ09FRl9RXzBfUDFfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBSWERGRV9GQ19GRFBNXzBfUDFfQTBfRkRQTV9DT0VGX1FfMF9QMV9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDdGRikKKworI2RlZmluZSBSWERGRV9GQ19GRFBNXzFfUDFfQTBfRkRQTV9DT0VGX1FfM19QMV9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFJYREZFX0ZDX0ZEUE1fMV9QMV9BMF9GRFBNX0NPRUZfUV8zX1AxX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8xX1AxX0EwX0ZEUE1fQ09FRl9RXzNfUDFfQTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDdGRjAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8xX1AxX0EwX0ZEUE1fQ09FRl9RXzJfUDFfQTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX0ZEUE1fMV9QMV9BMF9GRFBNX0NPRUZfUV8yX1AxX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8xX1AxX0EwX0ZEUE1fQ09FRl9RXzJfUDFfQTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA3RkYpCisKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8yX1AxX0EwX0ZEUE1fRU5fUDFfQTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBSWERGRV9GQ19GRFBNXzJfUDFfQTBfRkRQTV9FTl9QMV9BMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8yX1AxX0EwX0ZEUE1fRU5fUDFfQTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIFJYREZFX0ZDX0ZEUE1fMl9QMV9BMF9GRFBNX0VOX1AxX0EwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX0ZEUE1fMl9QMV9BMF9GRFBNX1RBUF9TRUxfUDFfQTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyOCkKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8yX1AxX0EwX0ZEUE1fVEFQX1NFTF9QMV9BMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX0ZEUE1fMl9QMV9BMF9GRFBNX1RBUF9TRUxfUDFfQTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDEwMDAwMDAwKQorI2RlZmluZSBSWERGRV9GQ19GRFBNXzJfUDFfQTBfRkRQTV9UQVBfU0VMX1AxX0EwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19GRFBNXzJfUDFfQTBfRkRQTV9DT0VGX1FfNF9QMV9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8yX1AxX0EwX0ZEUE1fQ09FRl9RXzRfUDFfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBSWERGRV9GQ19GRFBNXzJfUDFfQTBfRkRQTV9DT0VGX1FfNF9QMV9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDdGRikKKworI2RlZmluZSBSWERGRV9GQ19SRkVRXzBfUDFfQTBfUkZFUV9DT0VGXzAyX1AxX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMF9QMV9BMF9SRkVRX0NPRUZfMDJfUDFfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzBfUDFfQTBfUkZFUV9DT0VGXzAyX1AxX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxRkYwMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19SRkVRXzBfUDFfQTBfUkZFUV9DT0VGXzAxX1AxX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMF9QMV9BMF9SRkVRX0NPRUZfMDFfUDFfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzBfUDFfQTBfUkZFUV9DT0VGXzAxX1AxX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDA3RkMwMCkKKworI2RlZmluZSBSWERGRV9GQ19SRkVRXzBfUDFfQTBfUkZFUV9DT0VGXzAwX1AxX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8wX1AxX0EwX1JGRVFfQ09FRl8wMF9QMV9BMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMF9QMV9BMF9SRkVRX0NPRUZfMDBfUDFfQTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMV9QMV9BMF9SRkVRX0NPRUZfMDVfUDFfQTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8xX1AxX0EwX1JGRVFfQ09FRl8wNV9QMV9BMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMV9QMV9BMF9SRkVRX0NPRUZfMDVfUDFfQTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDFGRjAwMDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMV9QMV9BMF9SRkVRX0NPRUZfMDRfUDFfQTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8xX1AxX0EwX1JGRVFfQ09FRl8wNF9QMV9BMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMV9QMV9BMF9SRkVRX0NPRUZfMDRfUDFfQTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDdGQzAwKQorCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMV9QMV9BMF9SRkVRX0NPRUZfMDNfUDFfQTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzFfUDFfQTBfUkZFUV9DT0VGXzAzX1AxX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8xX1AxX0EwX1JGRVFfQ09FRl8wM19QMV9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8yX1AxX0EwX1JGRVFfQ09FRl8wOF9QMV9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzJfUDFfQTBfUkZFUV9DT0VGXzA4X1AxX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8yX1AxX0EwX1JGRVFfQ09FRl8wOF9QMV9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MUZGMDAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8yX1AxX0EwX1JGRVFfQ09FRl8wN19QMV9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzJfUDFfQTBfUkZFUV9DT0VGXzA3X1AxX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8yX1AxX0EwX1JGRVFfQ09FRl8wN19QMV9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwN0ZDMDApCisKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8yX1AxX0EwX1JGRVFfQ09FRl8wNl9QMV9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMl9QMV9BMF9SRkVRX0NPRUZfMDZfUDFfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzJfUDFfQTBfUkZFUV9DT0VGXzA2X1AxX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBSWERGRV9GQ19SRkVRXzNfUDFfQTBfUkZFUV9DT0VGXzExX1AxX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfM19QMV9BMF9SRkVRX0NPRUZfMTFfUDFfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzNfUDFfQTBfUkZFUV9DT0VGXzExX1AxX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxRkYwMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19SRkVRXzNfUDFfQTBfUkZFUV9DT0VGXzEwX1AxX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfM19QMV9BMF9SRkVRX0NPRUZfMTBfUDFfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzNfUDFfQTBfUkZFUV9DT0VGXzEwX1AxX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDA3RkMwMCkKKworI2RlZmluZSBSWERGRV9GQ19SRkVRXzNfUDFfQTBfUkZFUV9DT0VGXzA5X1AxX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8zX1AxX0EwX1JGRVFfQ09FRl8wOV9QMV9BMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfM19QMV9BMF9SRkVRX0NPRUZfMDlfUDFfQTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfNF9QMV9BMF9SRkVRX0VOX1AxX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV80X1AxX0EwX1JGRVFfRU5fUDFfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfNF9QMV9BMF9SRkVRX0VOX1AxX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzRfUDFfQTBfUkZFUV9FTl9QMV9BMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19SRkVRXzRfUDFfQTBfUkZFUV9UQVBfU0VMX1AxX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzApCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfNF9QMV9BMF9SRkVRX1RBUF9TRUxfUDFfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzRfUDFfQTBfUkZFUV9UQVBfU0VMX1AxX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMCkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV80X1AxX0EwX1JGRVFfVEFQX1NFTF9QMV9BMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4NDAwMDAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV80X1AxX0EwX1JGRVFfUk5EX1NFTF9QMV9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI4KQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzRfUDFfQTBfUkZFUV9STkRfU0VMX1AxX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV80X1AxX0EwX1JGRVFfUk5EX1NFTF9QMV9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzAwMDAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV80X1AxX0EwX1JGRVFfQ09FRl8xM19QMV9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzRfUDFfQTBfUkZFUV9DT0VGXzEzX1AxX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV80X1AxX0EwX1JGRVFfQ09FRl8xM19QMV9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwN0ZDMDApCisKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV80X1AxX0EwX1JGRVFfQ09FRl8xMl9QMV9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfNF9QMV9BMF9SRkVRX0NPRUZfMTJfUDFfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzRfUDFfQTBfUkZFUV9DT0VGXzEyX1AxX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBSWERGRV9GQ19JUUNfUDFfQTBfSVFDX0VOX1AxX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFJYREZFX0ZDX0lRQ19QMV9BMF9JUUNfRU5fUDFfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19JUUNfUDFfQTBfSVFDX0VOX1AxX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgUlhERkVfRkNfSVFDX1AxX0EwX0lRQ19FTl9QMV9BMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfSVFDX1AxX0EwX0lRQ19QSEFTRV9QMV9BMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJYREZFX0ZDX0lRQ19QMV9BMF9JUUNfUEhBU0VfUDFfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBSWERGRV9GQ19JUUNfUDFfQTBfSVFDX1BIQVNFX1AxX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0YwMCkKKworI2RlZmluZSBSWERGRV9GQ19JUUNfUDFfQTBfSVFDX0dBSU5fUDFfQTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfSVFDX1AxX0EwX0lRQ19HQUlOX1AxX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJYREZFX0ZDX0lRQ19QMV9BMF9JUUNfR0FJTl9QMV9BMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEZGKQorCisjZGVmaW5lIFJYREZFX0ZDX0ZEUE1fMF9QMV9BMV9GRFBNX0NPRUZfUV8xX1AxX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8wX1AxX0ExX0ZEUE1fQ09FRl9RXzFfUDFfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBSWERGRV9GQ19GRFBNXzBfUDFfQTFfRkRQTV9DT0VGX1FfMV9QMV9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwN0ZGMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19GRFBNXzBfUDFfQTFfRkRQTV9DT0VGX1FfMF9QMV9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8wX1AxX0ExX0ZEUE1fQ09FRl9RXzBfUDFfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBSWERGRV9GQ19GRFBNXzBfUDFfQTFfRkRQTV9DT0VGX1FfMF9QMV9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDdGRikKKworI2RlZmluZSBSWERGRV9GQ19GRFBNXzFfUDFfQTFfRkRQTV9DT0VGX1FfM19QMV9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFJYREZFX0ZDX0ZEUE1fMV9QMV9BMV9GRFBNX0NPRUZfUV8zX1AxX0ExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8xX1AxX0ExX0ZEUE1fQ09FRl9RXzNfUDFfQTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDdGRjAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8xX1AxX0ExX0ZEUE1fQ09FRl9RXzJfUDFfQTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX0ZEUE1fMV9QMV9BMV9GRFBNX0NPRUZfUV8yX1AxX0ExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8xX1AxX0ExX0ZEUE1fQ09FRl9RXzJfUDFfQTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA3RkYpCisKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8yX1AxX0ExX0ZEUE1fRU5fUDFfQTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBSWERGRV9GQ19GRFBNXzJfUDFfQTFfRkRQTV9FTl9QMV9BMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8yX1AxX0ExX0ZEUE1fRU5fUDFfQTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIFJYREZFX0ZDX0ZEUE1fMl9QMV9BMV9GRFBNX0VOX1AxX0ExX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX0ZEUE1fMl9QMV9BMV9GRFBNX1RBUF9TRUxfUDFfQTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyOCkKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8yX1AxX0ExX0ZEUE1fVEFQX1NFTF9QMV9BMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX0ZEUE1fMl9QMV9BMV9GRFBNX1RBUF9TRUxfUDFfQTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDEwMDAwMDAwKQorI2RlZmluZSBSWERGRV9GQ19GRFBNXzJfUDFfQTFfRkRQTV9UQVBfU0VMX1AxX0ExX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19GRFBNXzJfUDFfQTFfRkRQTV9DT0VGX1FfNF9QMV9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfRkRQTV8yX1AxX0ExX0ZEUE1fQ09FRl9RXzRfUDFfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBSWERGRV9GQ19GRFBNXzJfUDFfQTFfRkRQTV9DT0VGX1FfNF9QMV9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDdGRikKKworI2RlZmluZSBSWERGRV9GQ19SRkVRXzBfUDFfQTFfUkZFUV9DT0VGXzAyX1AxX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMF9QMV9BMV9SRkVRX0NPRUZfMDJfUDFfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzBfUDFfQTFfUkZFUV9DT0VGXzAyX1AxX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxRkYwMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19SRkVRXzBfUDFfQTFfUkZFUV9DT0VGXzAxX1AxX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMF9QMV9BMV9SRkVRX0NPRUZfMDFfUDFfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzBfUDFfQTFfUkZFUV9DT0VGXzAxX1AxX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDA3RkMwMCkKKworI2RlZmluZSBSWERGRV9GQ19SRkVRXzBfUDFfQTFfUkZFUV9DT0VGXzAwX1AxX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8wX1AxX0ExX1JGRVFfQ09FRl8wMF9QMV9BMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMF9QMV9BMV9SRkVRX0NPRUZfMDBfUDFfQTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMV9QMV9BMV9SRkVRX0NPRUZfMDVfUDFfQTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8xX1AxX0ExX1JGRVFfQ09FRl8wNV9QMV9BMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMV9QMV9BMV9SRkVRX0NPRUZfMDVfUDFfQTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDFGRjAwMDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMV9QMV9BMV9SRkVRX0NPRUZfMDRfUDFfQTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8xX1AxX0ExX1JGRVFfQ09FRl8wNF9QMV9BMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMV9QMV9BMV9SRkVRX0NPRUZfMDRfUDFfQTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDdGQzAwKQorCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMV9QMV9BMV9SRkVRX0NPRUZfMDNfUDFfQTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzFfUDFfQTFfUkZFUV9DT0VGXzAzX1AxX0ExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8xX1AxX0ExX1JGRVFfQ09FRl8wM19QMV9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8yX1AxX0ExX1JGRVFfQ09FRl8wOF9QMV9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzJfUDFfQTFfUkZFUV9DT0VGXzA4X1AxX0ExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8yX1AxX0ExX1JGRVFfQ09FRl8wOF9QMV9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MUZGMDAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8yX1AxX0ExX1JGRVFfQ09FRl8wN19QMV9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzJfUDFfQTFfUkZFUV9DT0VGXzA3X1AxX0ExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8yX1AxX0ExX1JGRVFfQ09FRl8wN19QMV9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwN0ZDMDApCisKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8yX1AxX0ExX1JGRVFfQ09FRl8wNl9QMV9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfMl9QMV9BMV9SRkVRX0NPRUZfMDZfUDFfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzJfUDFfQTFfUkZFUV9DT0VGXzA2X1AxX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBSWERGRV9GQ19SRkVRXzNfUDFfQTFfUkZFUV9DT0VGXzExX1AxX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfM19QMV9BMV9SRkVRX0NPRUZfMTFfUDFfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzNfUDFfQTFfUkZFUV9DT0VGXzExX1AxX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxRkYwMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19SRkVRXzNfUDFfQTFfUkZFUV9DT0VGXzEwX1AxX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfM19QMV9BMV9SRkVRX0NPRUZfMTBfUDFfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzNfUDFfQTFfUkZFUV9DT0VGXzEwX1AxX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDA3RkMwMCkKKworI2RlZmluZSBSWERGRV9GQ19SRkVRXzNfUDFfQTFfUkZFUV9DT0VGXzA5X1AxX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV8zX1AxX0ExX1JGRVFfQ09FRl8wOV9QMV9BMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfM19QMV9BMV9SRkVRX0NPRUZfMDlfUDFfQTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfNF9QMV9BMV9SRkVRX0VOX1AxX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV80X1AxX0ExX1JGRVFfRU5fUDFfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfNF9QMV9BMV9SRkVRX0VOX1AxX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzRfUDFfQTFfUkZFUV9FTl9QMV9BMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19SRkVRXzRfUDFfQTFfUkZFUV9UQVBfU0VMX1AxX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzApCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfNF9QMV9BMV9SRkVRX1RBUF9TRUxfUDFfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzRfUDFfQTFfUkZFUV9UQVBfU0VMX1AxX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMCkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV80X1AxX0ExX1JGRVFfVEFQX1NFTF9QMV9BMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4NDAwMDAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV80X1AxX0ExX1JGRVFfUk5EX1NFTF9QMV9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI4KQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzRfUDFfQTFfUkZFUV9STkRfU0VMX1AxX0ExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV80X1AxX0ExX1JGRVFfUk5EX1NFTF9QMV9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzAwMDAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV80X1AxX0ExX1JGRVFfQ09FRl8xM19QMV9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzRfUDFfQTFfUkZFUV9DT0VGXzEzX1AxX0ExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV80X1AxX0ExX1JGRVFfQ09FRl8xM19QMV9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwN0ZDMDApCisKKyNkZWZpbmUgUlhERkVfRkNfUkZFUV80X1AxX0ExX1JGRVFfQ09FRl8xMl9QMV9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX1JGRVFfNF9QMV9BMV9SRkVRX0NPRUZfMTJfUDFfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBSWERGRV9GQ19SRkVRXzRfUDFfQTFfUkZFUV9DT0VGXzEyX1AxX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBSWERGRV9GQ19JUUNfUDFfQTFfSVFDX0VOX1AxX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFJYREZFX0ZDX0lRQ19QMV9BMV9JUUNfRU5fUDFfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19JUUNfUDFfQTFfSVFDX0VOX1AxX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgUlhERkVfRkNfSVFDX1AxX0ExX0lRQ19FTl9QMV9BMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfSVFDX1AxX0ExX0lRQ19QSEFTRV9QMV9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJYREZFX0ZDX0lRQ19QMV9BMV9JUUNfUEhBU0VfUDFfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBSWERGRV9GQ19JUUNfUDFfQTFfSVFDX1BIQVNFX1AxX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0YwMCkKKworI2RlZmluZSBSWERGRV9GQ19JUUNfUDFfQTFfSVFDX0dBSU5fUDFfQTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfSVFDX1AxX0ExX0lRQ19HQUlOX1AxX0ExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJYREZFX0ZDX0lRQ19QMV9BMV9JUUNfR0FJTl9QMV9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEZGKQorCisjZGVmaW5lIFJYREZFX0ZDX05CSUZfU1BVUl9QQVJBX0FfUDBfQTBfTkJJRl9TUFVSX1BBUkFfQV9RX1AwX0EwX0xTQiAgICAgICAgICAgICgxNikKKyNkZWZpbmUgUlhERkVfRkNfTkJJRl9TUFVSX1BBUkFfQV9QMF9BMF9OQklGX1NQVVJfUEFSQV9BX1FfUDBfQTBfV0lEVEggICAgICAgICAgKDE1KQorI2RlZmluZSBSWERGRV9GQ19OQklGX1NQVVJfUEFSQV9BX1AwX0EwX05CSUZfU1BVUl9QQVJBX0FfUV9QMF9BMF9NQVNLICAgICAgICAgICAoMHg3RkZGMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19OQklGX1NQVVJfUEFSQV9BX1AwX0EwX05CSUZfU1BVUl9QQVJBX0FfSV9QMF9BMF9MU0IgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfTkJJRl9TUFVSX1BBUkFfQV9QMF9BMF9OQklGX1NQVVJfUEFSQV9BX0lfUDBfQTBfV0lEVEggICAgICAgICAgKDE1KQorI2RlZmluZSBSWERGRV9GQ19OQklGX1NQVVJfUEFSQV9BX1AwX0EwX05CSUZfU1BVUl9QQVJBX0FfSV9QMF9BMF9NQVNLICAgICAgICAgICAoMHgwMDAwN0ZGRikKKworI2RlZmluZSBSWERGRV9GQ19OQklGX1NQVVJfUEFSQV9QX1AwX0EwX05CSUZfU1BVUl9FTl9QMF9BMF9MU0IgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFJYREZFX0ZDX05CSUZfU1BVUl9QQVJBX1BfUDBfQTBfTkJJRl9TUFVSX0VOX1AwX0EwX1dJRFRIICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19OQklGX1NQVVJfUEFSQV9QX1AwX0EwX05CSUZfU1BVUl9FTl9QMF9BMF9NQVNLICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgUlhERkVfRkNfTkJJRl9TUFVSX1BBUkFfUF9QMF9BMF9OQklGX1NQVVJfRU5fUDBfQTBfQklUICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfTkJJRl9TUFVSX1BBUkFfUF9QMF9BMF9OQklGX1NQVVJfUEFSQV9QX1AwX0EwX0xTQiAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX05CSUZfU1BVUl9QQVJBX1BfUDBfQTBfTkJJRl9TUFVSX1BBUkFfUF9QMF9BMF9XSURUSCAgICAgICAgICAgICgzKQorI2RlZmluZSBSWERGRV9GQ19OQklGX1NQVVJfUEFSQV9QX1AwX0EwX05CSUZfU1BVUl9QQVJBX1BfUDBfQTBfTUFTSyAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBSWERGRV9GQ19OQklGX1NQVVJfUEFSQV9BX1AwX0ExX05CSUZfU1BVUl9QQVJBX0FfUV9QMF9BMV9MU0IgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFJYREZFX0ZDX05CSUZfU1BVUl9QQVJBX0FfUDBfQTFfTkJJRl9TUFVSX1BBUkFfQV9RX1AwX0ExX1dJRFRIICAgICAgICAgICgxNSkKKyNkZWZpbmUgUlhERkVfRkNfTkJJRl9TUFVSX1BBUkFfQV9QMF9BMV9OQklGX1NQVVJfUEFSQV9BX1FfUDBfQTFfTUFTSyAgICAgICAgICAgKDB4N0ZGRjAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfTkJJRl9TUFVSX1BBUkFfQV9QMF9BMV9OQklGX1NQVVJfUEFSQV9BX0lfUDBfQTFfTFNCICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX05CSUZfU1BVUl9QQVJBX0FfUDBfQTFfTkJJRl9TUFVSX1BBUkFfQV9JX1AwX0ExX1dJRFRIICAgICAgICAgICgxNSkKKyNkZWZpbmUgUlhERkVfRkNfTkJJRl9TUFVSX1BBUkFfQV9QMF9BMV9OQklGX1NQVVJfUEFSQV9BX0lfUDBfQTFfTUFTSyAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgUlhERkVfRkNfTkJJRl9TUFVSX1BBUkFfUF9QMF9BMV9OQklGX1NQVVJfRU5fUDBfQTFfTFNCICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBSWERGRV9GQ19OQklGX1NQVVJfUEFSQV9QX1AwX0ExX05CSUZfU1BVUl9FTl9QMF9BMV9XSURUSCAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhERkVfRkNfTkJJRl9TUFVSX1BBUkFfUF9QMF9BMV9OQklGX1NQVVJfRU5fUDBfQTFfTUFTSyAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIFJYREZFX0ZDX05CSUZfU1BVUl9QQVJBX1BfUDBfQTFfTkJJRl9TUFVSX0VOX1AwX0ExX0JJVCAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX05CSUZfU1BVUl9QQVJBX1BfUDBfQTFfTkJJRl9TUFVSX1BBUkFfUF9QMF9BMV9MU0IgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19OQklGX1NQVVJfUEFSQV9QX1AwX0ExX05CSUZfU1BVUl9QQVJBX1BfUDBfQTFfV0lEVEggICAgICAgICAgICAoMykKKyNkZWZpbmUgUlhERkVfRkNfTkJJRl9TUFVSX1BBUkFfUF9QMF9BMV9OQklGX1NQVVJfUEFSQV9QX1AwX0ExX01BU0sgICAgICAgICAgICAgKDB4MDAwMDAwMDcpCisKKyNkZWZpbmUgUlhERkVfRkNfTkJJRl9TUFVSX1BBUkFfQV9QMV9BMF9OQklGX1NQVVJfUEFSQV9BX1FfUDFfQTBfTFNCICAgICAgICAgICAgKDE2KQorI2RlZmluZSBSWERGRV9GQ19OQklGX1NQVVJfUEFSQV9BX1AxX0EwX05CSUZfU1BVUl9QQVJBX0FfUV9QMV9BMF9XSURUSCAgICAgICAgICAoMTUpCisjZGVmaW5lIFJYREZFX0ZDX05CSUZfU1BVUl9QQVJBX0FfUDFfQTBfTkJJRl9TUFVSX1BBUkFfQV9RX1AxX0EwX01BU0sgICAgICAgICAgICgweDdGRkYwMDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX05CSUZfU1BVUl9QQVJBX0FfUDFfQTBfTkJJRl9TUFVSX1BBUkFfQV9JX1AxX0EwX0xTQiAgICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19OQklGX1NQVVJfUEFSQV9BX1AxX0EwX05CSUZfU1BVUl9QQVJBX0FfSV9QMV9BMF9XSURUSCAgICAgICAgICAoMTUpCisjZGVmaW5lIFJYREZFX0ZDX05CSUZfU1BVUl9QQVJBX0FfUDFfQTBfTkJJRl9TUFVSX1BBUkFfQV9JX1AxX0EwX01BU0sgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIFJYREZFX0ZDX05CSUZfU1BVUl9QQVJBX1BfUDFfQTBfTkJJRl9TUFVSX0VOX1AxX0EwX0xTQiAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgUlhERkVfRkNfTkJJRl9TUFVSX1BBUkFfUF9QMV9BMF9OQklGX1NQVVJfRU5fUDFfQTBfV0lEVEggICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX05CSUZfU1BVUl9QQVJBX1BfUDFfQTBfTkJJRl9TUFVSX0VOX1AxX0EwX01BU0sgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBSWERGRV9GQ19OQklGX1NQVVJfUEFSQV9QX1AxX0EwX05CSUZfU1BVUl9FTl9QMV9BMF9CSVQgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19OQklGX1NQVVJfUEFSQV9QX1AxX0EwX05CSUZfU1BVUl9QQVJBX1BfUDFfQTBfTFNCICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfTkJJRl9TUFVSX1BBUkFfUF9QMV9BMF9OQklGX1NQVVJfUEFSQV9QX1AxX0EwX1dJRFRIICAgICAgICAgICAgKDMpCisjZGVmaW5lIFJYREZFX0ZDX05CSUZfU1BVUl9QQVJBX1BfUDFfQTBfTkJJRl9TUFVSX1BBUkFfUF9QMV9BMF9NQVNLICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIFJYREZFX0ZDX05CSUZfU1BVUl9QQVJBX0FfUDFfQTFfTkJJRl9TUFVSX1BBUkFfQV9RX1AxX0ExX0xTQiAgICAgICAgICAgICgxNikKKyNkZWZpbmUgUlhERkVfRkNfTkJJRl9TUFVSX1BBUkFfQV9QMV9BMV9OQklGX1NQVVJfUEFSQV9BX1FfUDFfQTFfV0lEVEggICAgICAgICAgKDE1KQorI2RlZmluZSBSWERGRV9GQ19OQklGX1NQVVJfUEFSQV9BX1AxX0ExX05CSUZfU1BVUl9QQVJBX0FfUV9QMV9BMV9NQVNLICAgICAgICAgICAoMHg3RkZGMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19OQklGX1NQVVJfUEFSQV9BX1AxX0ExX05CSUZfU1BVUl9QQVJBX0FfSV9QMV9BMV9MU0IgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfTkJJRl9TUFVSX1BBUkFfQV9QMV9BMV9OQklGX1NQVVJfUEFSQV9BX0lfUDFfQTFfV0lEVEggICAgICAgICAgKDE1KQorI2RlZmluZSBSWERGRV9GQ19OQklGX1NQVVJfUEFSQV9BX1AxX0ExX05CSUZfU1BVUl9QQVJBX0FfSV9QMV9BMV9NQVNLICAgICAgICAgICAoMHgwMDAwN0ZGRikKKworI2RlZmluZSBSWERGRV9GQ19OQklGX1NQVVJfUEFSQV9QX1AxX0ExX05CSUZfU1BVUl9FTl9QMV9BMV9MU0IgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFJYREZFX0ZDX05CSUZfU1BVUl9QQVJBX1BfUDFfQTFfTkJJRl9TUFVSX0VOX1AxX0ExX1dJRFRIICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19OQklGX1NQVVJfUEFSQV9QX1AxX0ExX05CSUZfU1BVUl9FTl9QMV9BMV9NQVNLICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgUlhERkVfRkNfTkJJRl9TUFVSX1BBUkFfUF9QMV9BMV9OQklGX1NQVVJfRU5fUDFfQTFfQklUICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfTkJJRl9TUFVSX1BBUkFfUF9QMV9BMV9OQklGX1NQVVJfUEFSQV9QX1AxX0ExX0xTQiAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX05CSUZfU1BVUl9QQVJBX1BfUDFfQTFfTkJJRl9TUFVSX1BBUkFfUF9QMV9BMV9XSURUSCAgICAgICAgICAgICgzKQorI2RlZmluZSBSWERGRV9GQ19OQklGX1NQVVJfUEFSQV9QX1AxX0ExX05CSUZfU1BVUl9QQVJBX1BfUDFfQTFfTUFTSyAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBSWERGRV9GQ19OQ09fQzBfQTBfTkNPX0VOX0MwX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFJYREZFX0ZDX05DT19DMF9BMF9OQ09fRU5fQzBfQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19OQ09fQzBfQTBfTkNPX0VOX0MwX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgUlhERkVfRkNfTkNPX0MwX0EwX05DT19FTl9DMF9BMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfTkNPX0MwX0EwX05DT19QSEFTRV9TVEVQX0MwX0EwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX05DT19DMF9BMF9OQ09fUEhBU0VfU1RFUF9DMF9BMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMykKKyNkZWZpbmUgUlhERkVfRkNfTkNPX0MwX0EwX05DT19QSEFTRV9TVEVQX0MwX0EwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDA3RkZGRkYpCisKKyNkZWZpbmUgUlhERkVfRkNfTkNPX0MwX0ExX05DT19FTl9DMF9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBSWERGRV9GQ19OQ09fQzBfQTFfTkNPX0VOX0MwX0ExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhERkVfRkNfTkNPX0MwX0ExX05DT19FTl9DMF9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIFJYREZFX0ZDX05DT19DMF9BMV9OQ09fRU5fQzBfQTFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX05DT19DMF9BMV9OQ09fUEhBU0VfU1RFUF9DMF9BMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19OQ09fQzBfQTFfTkNPX1BIQVNFX1NURVBfQzBfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMjMpCisjZGVmaW5lIFJYREZFX0ZDX05DT19DMF9BMV9OQ09fUEhBU0VfU1RFUF9DMF9BMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwN0ZGRkZGKQorCisjZGVmaW5lIFJYREZFX0ZDX05DT19DMV9BMF9OQ09fRU5fQzFfQTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgUlhERkVfRkNfTkNPX0MxX0EwX05DT19FTl9DMV9BMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX05DT19DMV9BMF9OQ09fRU5fQzFfQTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBSWERGRV9GQ19OQ09fQzFfQTBfTkNPX0VOX0MxX0EwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19OQ09fQzFfQTBfTkNPX1BIQVNFX1NURVBfQzFfQTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfTkNPX0MxX0EwX05DT19QSEFTRV9TVEVQX0MxX0EwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIzKQorI2RlZmluZSBSWERGRV9GQ19OQ09fQzFfQTBfTkNPX1BIQVNFX1NURVBfQzFfQTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDdGRkZGRikKKworI2RlZmluZSBSWERGRV9GQ19OQ09fQzFfQTFfTkNPX0VOX0MxX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFJYREZFX0ZDX05DT19DMV9BMV9OQ09fRU5fQzFfQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19OQ09fQzFfQTFfTkNPX0VOX0MxX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgUlhERkVfRkNfTkNPX0MxX0ExX05DT19FTl9DMV9BMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfTkNPX0MxX0ExX05DT19QSEFTRV9TVEVQX0MxX0ExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX05DT19DMV9BMV9OQ09fUEhBU0VfU1RFUF9DMV9BMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMykKKyNkZWZpbmUgUlhERkVfRkNfTkNPX0MxX0ExX05DT19QSEFTRV9TVEVQX0MxX0ExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDA3RkZGRkYpCisKKyNkZWZpbmUgUlhERkVfRkNfTkNPX01CU0ZOX0MwX05DT19NQlNGTl9FTl9DMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBSWERGRV9GQ19OQ09fTUJTRk5fQzBfTkNPX01CU0ZOX0VOX0MwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhERkVfRkNfTkNPX01CU0ZOX0MwX05DT19NQlNGTl9FTl9DMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIFJYREZFX0ZDX05DT19NQlNGTl9DMF9OQ09fTUJTRk5fRU5fQzBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX05DT19NQlNGTl9DMF9OQ09fTUJTRk5fUEhBU0VfU1RFUF9DMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19OQ09fTUJTRk5fQzBfTkNPX01CU0ZOX1BIQVNFX1NURVBfQzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMjMpCisjZGVmaW5lIFJYREZFX0ZDX05DT19NQlNGTl9DMF9OQ09fTUJTRk5fUEhBU0VfU1RFUF9DMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwN0ZGRkZGKQorCisjZGVmaW5lIFJYREZFX0ZDX05DT19NQlNGTl9DMV9OQ09fTUJTRk5fRU5fQzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgUlhERkVfRkNfTkNPX01CU0ZOX0MxX05DT19NQlNGTl9FTl9DMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX05DT19NQlNGTl9DMV9OQ09fTUJTRk5fRU5fQzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBSWERGRV9GQ19OQ09fTUJTRk5fQzFfTkNPX01CU0ZOX0VOX0MxX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19OQ09fTUJTRk5fQzFfTkNPX01CU0ZOX1BIQVNFX1NURVBfQzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfTkNPX01CU0ZOX0MxX05DT19NQlNGTl9QSEFTRV9TVEVQX0MxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDIzKQorI2RlZmluZSBSWERGRV9GQ19OQ09fTUJTRk5fQzFfTkNPX01CU0ZOX1BIQVNFX1NURVBfQzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDdGRkZGRikKKworCisjZW5kaWYgLy8jaWZuZGVmIF9DUEhfQzJLX1JYREZFX0hfCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoYzJrcnhkZmVmY2ltbS5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGMya3J4ZGZlZmNpbW0uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yY2ExYzc4Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGMya3J4ZGZlZmNpbW0uaApAQCAtMCwwICsxLDQ5NyBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NQSF9DMktfUlhERkVfRkNJTU1fSF8KKyNkZWZpbmUgX0NQSF9DMktfUlhERkVfRkNJTU1fSF8KKworCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBTUkFNQUREUjsgICAgICAgICAvKiBTUkFNIGFkZHIgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIFNSQU1EQVRBOyAgICAgICAgIC8qIFNSQU0gZGF0YSBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogQVBCQUREUjsgICAgICAgICAgLyogQVBCIGFkZHIgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBBUEJEQVRBOyAgICAgICAgICAvKiBBUEIgZGF0YSBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyogIEFQQkFERFIzMjsgICAgICAgIC8qIEFQQiBhZGRyIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICAgQVBCREFUQTMyOyAgICAgICAgLyogQVBCIGRhdGEgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBEUFJBTUFERFI7ICAgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgc2lnbmVkICAgc2hvcnQqIERQUkFNQUREUl9TOyAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgRFBSQU1EQVRBOyAgICAgICAgLyogRFBSQU0gZGF0YSBpcyAxNiBiaXRzICovCisKKworI2RlZmluZSBSWERGRV9GQ19JTU1fUkVHX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhBNzBDMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19JTU1fZW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoUlhERkVfRkNfSU1NX1JFR19CQVNFICsgMHhGRkZDICsgMSo0KQorCisKKworI2RlZmluZSBSWERGRV9GQ19EQVRFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfSU1NX1JFR19CQVNFICsgMHg4MDAwKSkKKyNkZWZpbmUgUlhERkVfRkNfQ09OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0lNTV9SRUdfQkFTRSArIDB4ODAwNCkpCisjZGVmaW5lIFJYREZFX0ZDX01JWEVEX0lGX0NPTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19JTU1fUkVHX0JBU0UgKyAweDgwMDgpKQorI2RlZmluZSBSWERGRV9GQ19URVNUX0lOX0NPTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfSU1NX1JFR19CQVNFICsgMHg4MDBDKSkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9JTl9TVEVQX1NJWkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0lNTV9SRUdfQkFTRSArIDB4ODAxMCkpCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfSU5fU1RFUF9JTklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19JTU1fUkVHX0JBU0UgKyAweDgwMTQpKQorI2RlZmluZSBSWERGRV9GQ19URVNUX0lOX0NPTl9JUSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfSU1NX1JFR19CQVNFICsgMHg4MDE4KSkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9JTl9EQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0lNTV9SRUdfQkFTRSArIDB4ODAxQykpCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfTVVRX0lOX0NPTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19JTU1fUkVHX0JBU0UgKyAweDgwMjApKQorI2RlZmluZSBSWERGRV9GQ19URVNUX01VUV9JTl9TVEVQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfSU1NX1JFR19CQVNFICsgMHg4MDI0KSkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9NVVFfSU5fREMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0lNTV9SRUdfQkFTRSArIDB4ODAyOCkpCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfT1VUX0NPTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19JTU1fUkVHX0JBU0UgKyAweDgwMkMpKQorI2RlZmluZSBSWERGRV9GQ19URVNUX09VVF9BTFBIQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfSU1NX1JFR19CQVNFICsgMHg4MDMwKSkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9GT1JDRV9PRkYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0lNTV9SRUdfQkFTRSArIDB4ODAzNCkpCisjZGVmaW5lIFJYREZFX0ZDX1NXX1dJTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19JTU1fUkVHX0JBU0UgKyAweDgwMzgpKQorI2RlZmluZSBSWERGRV9GQ19TV19JTklfVFJHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfSU1NX1JFR19CQVNFICsgMHg4MDNDKSkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9OQklGX0lOSV9TRUxfUDBfQTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0lNTV9SRUdfQkFTRSArIDB4ODA0MCkpCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfTkJJRl9JTklfSV9QMF9BMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19JTU1fUkVHX0JBU0UgKyAweDgwNDQpKQorI2RlZmluZSBSWERGRV9GQ19URVNUX05CSUZfSU5JX1FfUDBfQTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfSU1NX1JFR19CQVNFICsgMHg4MDQ4KSkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9OQklGX0lOSV9TRUxfUDBfQTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0lNTV9SRUdfQkFTRSArIDB4ODA0QykpCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfTkJJRl9JTklfSV9QMF9BMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19JTU1fUkVHX0JBU0UgKyAweDgwNTApKQorI2RlZmluZSBSWERGRV9GQ19URVNUX05CSUZfSU5JX1FfUDBfQTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfSU1NX1JFR19CQVNFICsgMHg4MDU0KSkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9OQklGX0lOSV9TRUxfUDFfQTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0lNTV9SRUdfQkFTRSArIDB4ODA1OCkpCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfTkJJRl9JTklfSV9QMV9BMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19JTU1fUkVHX0JBU0UgKyAweDgwNUMpKQorI2RlZmluZSBSWERGRV9GQ19URVNUX05CSUZfSU5JX1FfUDFfQTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfSU1NX1JFR19CQVNFICsgMHg4MDYwKSkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9OQklGX0lOSV9TRUxfUDFfQTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0lNTV9SRUdfQkFTRSArIDB4ODA2NCkpCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfTkJJRl9JTklfSV9QMV9BMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19JTU1fUkVHX0JBU0UgKyAweDgwNjgpKQorI2RlZmluZSBSWERGRV9GQ19URVNUX05CSUZfSU5JX1FfUDFfQTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfSU1NX1JFR19CQVNFICsgMHg4MDZDKSkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9OQ09fSU5JX1BIX0MwX0EwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0lNTV9SRUdfQkFTRSArIDB4ODA3MCkpCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfTkNPX0lOSV9QSF9DMF9BMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19JTU1fUkVHX0JBU0UgKyAweDgwNzQpKQorI2RlZmluZSBSWERGRV9GQ19URVNUX05DT19JTklfUEhfQzFfQTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfSU1NX1JFR19CQVNFICsgMHg4MDc4KSkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9OQ09fSU5JX1BIX0MxX0ExICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0lNTV9SRUdfQkFTRSArIDB4ODA3QykpCisjZGVmaW5lIFJYREZFX0ZDX01TX1dCX0xQRl8wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19JTU1fUkVHX0JBU0UgKyAweDg4MDApKQorI2RlZmluZSBSWERGRV9GQ19NU19XQl9MUEZfMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfSU1NX1JFR19CQVNFICsgMHg4ODA0KSkKKyNkZWZpbmUgUlhERkVfRkNfSU5GT19BR0NJRl9SRUcobikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0lNTV9SRUdfQkFTRSArIDB4OTAwMCArIChuKSo0KSkgICAvL24gaXMgZnJvbSAwIHRvIDYzCisjZGVmaW5lIFJYREZFX0ZDX0lORk9fVEVTVF9PVVRfREFUQV8wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19JTU1fUkVHX0JBU0UgKyAweDk0MDApKQorI2RlZmluZSBSWERGRV9GQ19JTkZPX1RFU1RfT1VUX0RBVEFfMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfSU1NX1JFR19CQVNFICsgMHg5NDA0KSkKKyNkZWZpbmUgUlhERkVfRkNfSU5GT19DUkMzMl9PVVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0lNTV9SRUdfQkFTRSArIDB4OTQwOCkpCisjZGVmaW5lIFJYREZFX0ZDX0lORk9fQUxQSEFfT1VUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19JTU1fUkVHX0JBU0UgKyAweDk0MEMpKQorI2RlZmluZSBSWERGRV9GQ19JTkZPX0VER0VfQ09VTlRfRkNfQURDX1dJTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfSU1NX1JFR19CQVNFICsgMHg5NDEwKSkKKyNkZWZpbmUgUlhERkVfRkNfSU5GT19FREdFX0NPVU5UX0ZDX1BfV0lOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0lNTV9SRUdfQkFTRSArIDB4OTQxNCkpCisjZGVmaW5lIFJYREZFX0ZDX0lORk9fRURHRV9DT1VOVF9GQ19DX1dJTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19JTU1fUkVHX0JBU0UgKyAweDk0MTgpKQorI2RlZmluZSBSWERGRV9GQ19JTkZPX0VER0VfQ09VTlRfRkNfTkNPX1dJTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfSU1NX1JFR19CQVNFICsgMHg5NDFDKSkKKyNkZWZpbmUgUlhERkVfRkNfSU5GT19FREdFX0NPVU5UX0ZDX0NTX1dJTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0lNTV9SRUdfQkFTRSArIDB4OTQyMCkpCisjZGVmaW5lIFJYREZFX0ZDX0lORk9fRURHRV9DT1VOVF9GQ19QX0lOSV9UUkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19JTU1fUkVHX0JBU0UgKyAweDk0MjQpKQorI2RlZmluZSBSWERGRV9GQ19JTkZPX0VER0VfQ09VTlRfRkNfQ19JTklfVFJHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfSU1NX1JFR19CQVNFICsgMHg5NDI4KSkKKyNkZWZpbmUgUlhERkVfRkNfSU5GT19FREdFX0NPVU5UX1JYREZFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0lNTV9SRUdfQkFTRSArIDB4OTQyQykpCisjZGVmaW5lIFJYREZFX0ZDX0lORk9fRURHRV9DT1VOVF9MV1RfVElNRVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19JTU1fUkVHX0JBU0UgKyAweDk0MzApKQorI2RlZmluZSBSWERGRV9GQ19JTkZPX0VER0VfQ09VTlRfQ19USU1FUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNfSU1NX1JFR19CQVNFICsgMHg5NDM0KSkKKyNkZWZpbmUgUlhERkVfRkNfRlBHQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDX0lNTV9SRUdfQkFTRSArIDB4RjAwMCkpCisjZGVmaW5lIFJYREZFX0ZDX1JFU0VSVkVEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ19JTU1fUkVHX0JBU0UgKyAweEZGRkMpKQorCisKKyNkZWZpbmUgUlhERkVfRkNfREFURV9SWERGRV9GQ19EQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX0RBVEVfUlhERkVfRkNfREFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhERkVfRkNfREFURV9SWERGRV9GQ19EQVRFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgUlhERkVfRkNfQ09OX0NPTkZJR19TUkNfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX0NPTl9DT05GSUdfU1JDX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19DT05fQ09ORklHX1NSQ19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhERkVfRkNfQ09OX0NPTkZJR19TUkNfU0VMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhERkVfRkNfTUlYRURfSUZfQ09OX01JWEVEX0lGX1JQVFJfSU5JX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX01JWEVEX0lGX0NPTl9NSVhFRF9JRl9SUFRSX0lOSV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBSWERGRV9GQ19NSVhFRF9JRl9DT05fTUlYRURfSUZfUlBUUl9JTklfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBSWERGRV9GQ19URVNUX0lOX0NPTl9URVNUX0lOX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfSU5fQ09OX1RFU1RfSU5fRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19URVNUX0lOX0NPTl9URVNUX0lOX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9JTl9DT05fVEVTVF9JTl9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9JTl9DT05fVEVTVF9JTl9XSU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfSU5fQ09OX1RFU1RfSU5fV0lOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWERGRV9GQ19URVNUX0lOX0NPTl9URVNUX0lOX1dJTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMEYwMCkKKworI2RlZmluZSBSWERGRV9GQ19URVNUX0lOX0NPTl9URVNUX0lOX1JBVEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9JTl9DT05fVEVTVF9JTl9SQVRFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfSU5fQ09OX1RFU1RfSU5fUkFURV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEYwKQorCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfSU5fQ09OX1RFU1RfUF9JTl9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19URVNUX0lOX0NPTl9URVNUX1BfSU5fRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9JTl9DT05fVEVTVF9QX0lOX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDMpCisKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9JTl9TVEVQX1NJWkVfVEVTVF9JTl9RX1NURVBfU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBSWERGRV9GQ19URVNUX0lOX1NURVBfU0laRV9URVNUX0lOX1FfU1RFUF9TSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfSU5fU1RFUF9TSVpFX1RFU1RfSU5fUV9TVEVQX1NJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAzRkYwMDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfSU5fU1RFUF9TSVpFX1RFU1RfSU5fSV9TVEVQX1NJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19URVNUX0lOX1NURVBfU0laRV9URVNUX0lOX0lfU1RFUF9TSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfSU5fU1RFUF9TSVpFX1RFU1RfSU5fSV9TVEVQX1NJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwM0ZGKQorCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfSU5fU1RFUF9JTklUX1RFU1RfSU5fUV9TVEVQX0lOSVRfTFNCICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9JTl9TVEVQX0lOSVRfVEVTVF9JTl9RX1NURVBfSU5JVF9XSURUSCAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBSWERGRV9GQ19URVNUX0lOX1NURVBfSU5JVF9URVNUX0lOX1FfU1RFUF9JTklUX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgwM0ZGMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19URVNUX0lOX1NURVBfSU5JVF9URVNUX0lOX0lfU1RFUF9JTklUX0xTQiAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9JTl9TVEVQX0lOSVRfVEVTVF9JTl9JX1NURVBfSU5JVF9XSURUSCAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBSWERGRV9GQ19URVNUX0lOX1NURVBfSU5JVF9URVNUX0lOX0lfU1RFUF9JTklUX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDNGRikKKworI2RlZmluZSBSWERGRV9GQ19URVNUX0lOX0NPTl9JUV9URVNUX0lOX1FfU0NBTEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfSU5fQ09OX0lRX1RFU1RfSU5fUV9TQ0FMRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWERGRV9GQ19URVNUX0lOX0NPTl9JUV9URVNUX0lOX1FfU0NBTEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwRjAwMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19URVNUX0lOX0NPTl9JUV9URVNUX0lOX1FfSU5WX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfSU5fQ09OX0lRX1RFU1RfSU5fUV9JTlZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19URVNUX0lOX0NPTl9JUV9URVNUX0lOX1FfSU5WX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMCkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9JTl9DT05fSVFfVEVTVF9JTl9RX0lOVl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9JTl9DT05fSVFfVEVTVF9JTl9RX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBSWERGRV9GQ19URVNUX0lOX0NPTl9JUV9URVNUX0lOX1FfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9JTl9DT05fSVFfVEVTVF9JTl9RX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMzAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9JTl9DT05fSVFfVEVTVF9JTl9JX1NDQUxFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfSU5fQ09OX0lRX1RFU1RfSU5fSV9TQ0FMRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWERGRV9GQ19URVNUX0lOX0NPTl9JUV9URVNUX0lOX0lfU0NBTEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMEYwMCkKKworI2RlZmluZSBSWERGRV9GQ19URVNUX0lOX0NPTl9JUV9URVNUX0lOX0lfSU5WX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9JTl9DT05fSVFfVEVTVF9JTl9JX0lOVl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfSU5fQ09OX0lRX1RFU1RfSU5fSV9JTlZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBSWERGRV9GQ19URVNUX0lOX0NPTl9JUV9URVNUX0lOX0lfSU5WX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBSWERGRV9GQ19URVNUX0lOX0NPTl9JUV9URVNUX0lOX0lfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9JTl9DT05fSVFfVEVTVF9JTl9JX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfSU5fQ09OX0lRX1RFU1RfSU5fSV9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAzKQorCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfSU5fRENfVEVTVF9JTl9RX0RDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9JTl9EQ19URVNUX0lOX1FfRENfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBSWERGRV9GQ19URVNUX0lOX0RDX1RFU1RfSU5fUV9EQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg3RkZGMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19URVNUX0lOX0RDX1RFU1RfSU5fSV9EQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9JTl9EQ19URVNUX0lOX0lfRENfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBSWERGRV9GQ19URVNUX0lOX0RDX1RFU1RfSU5fSV9EQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKworI2RlZmluZSBSWERGRV9GQ19URVNUX01VUV9JTl9DT05fVEVTVF9NVVFfSU5fRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfTVVRX0lOX0NPTl9URVNUX01VUV9JTl9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19URVNUX01VUV9JTl9DT05fVEVTVF9NVVFfSU5fRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9NVVFfSU5fQ09OX1RFU1RfTVVRX0lOX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9NVVFfSU5fQ09OX1RFU1RfTVVRX0lOX1NDQUxFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBSWERGRV9GQ19URVNUX01VUV9JTl9DT05fVEVTVF9NVVFfSU5fU0NBTEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9NVVFfSU5fQ09OX1RFU1RfTVVRX0lOX1NDQUxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MEYwMDAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9NVVFfSU5fQ09OX1RFU1RfTVVRX0lOX0lOVl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBSWERGRV9GQ19URVNUX01VUV9JTl9DT05fVEVTVF9NVVFfSU5fSU5WX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9NVVFfSU5fQ09OX1RFU1RfTVVRX0lOX0lOVl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfTVVRX0lOX0NPTl9URVNUX01VUV9JTl9JTlZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfTVVRX0lOX0NPTl9URVNUX01VUV9JTl9TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9NVVFfSU5fQ09OX1RFU1RfTVVRX0lOX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfTVVRX0lOX0NPTl9URVNUX01VUV9JTl9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDMwMDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfTVVRX0lOX0NPTl9URVNUX01VUV9JTl9XSU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBSWERGRV9GQ19URVNUX01VUV9JTl9DT05fVEVTVF9NVVFfSU5fV0lOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9NVVFfSU5fQ09OX1RFU1RfTVVRX0lOX1dJTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDBGMDApCisKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9NVVFfSU5fQ09OX1RFU1RfTVVRX0lOX1JBVEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfTVVRX0lOX0NPTl9URVNUX01VUV9JTl9SQVRFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWERGRV9GQ19URVNUX01VUV9JTl9DT05fVEVTVF9NVVFfSU5fUkFURV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDBGMCkKKworI2RlZmluZSBSWERGRV9GQ19URVNUX01VUV9JTl9TVEVQX1RFU1RfTVVRX0lOX1NURVBfU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfTVVRX0lOX1NURVBfVEVTVF9NVVFfSU5fU1RFUF9TSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9NVVFfSU5fU1RFUF9URVNUX01VUV9JTl9TVEVQX1NJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDNGRjAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9NVVFfSU5fU1RFUF9URVNUX01VUV9JTl9TVEVQX0lOSVRfTFNCICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfTVVRX0lOX1NURVBfVEVTVF9NVVFfSU5fU1RFUF9JTklUX1dJRFRIICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9NVVFfSU5fU1RFUF9URVNUX01VUV9JTl9TVEVQX0lOSVRfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9NVVFfSU5fRENfVEVTVF9NVVFfSU5fRENfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfTVVRX0lOX0RDX1RFU1RfTVVRX0lOX0RDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9NVVFfSU5fRENfVEVTVF9NVVFfSU5fRENfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9PVVRfQ09OX1RFU1RfT1VUX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBSWERGRV9GQ19URVNUX09VVF9DT05fVEVTVF9PVVRfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9PVVRfQ09OX1RFU1RfT1VUX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfT1VUX0NPTl9URVNUX09VVF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfT1VUX0NPTl9URVNUX09VVF9XSU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9PVVRfQ09OX1RFU1RfT1VUX1dJTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfT1VUX0NPTl9URVNUX09VVF9XSU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRjAwMDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfT1VUX0NPTl9URVNUX09VVF9SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9PVVRfQ09OX1RFU1RfT1VUX1JBVEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfT1VUX0NPTl9URVNUX09VVF9SQVRFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEYwMDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfT1VUX0NPTl9URVNUX09VVF9TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBSWERGRV9GQ19URVNUX09VVF9DT05fVEVTVF9PVVRfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9PVVRfQ09OX1RFU1RfT1VUX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDFGMDApCisKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9PVVRfQ09OX1RFU1RfQ19PVVRfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfT1VUX0NPTl9URVNUX0NfT1VUX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWERGRV9GQ19URVNUX09VVF9DT05fVEVTVF9DX09VVF9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDBGMCkKKworI2RlZmluZSBSWERGRV9GQ19URVNUX09VVF9DT05fVEVTVF9QX09VVF9TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9PVVRfQ09OX1RFU1RfUF9PVVRfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfT1VUX0NPTl9URVNUX1BfT1VUX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfT1VUX0FMUEhBX1RFU1RfT1VUX0FMUEhBX0FCU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBSWERGRV9GQ19URVNUX09VVF9BTFBIQV9URVNUX09VVF9BTFBIQV9BQlNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9PVVRfQUxQSEFfVEVTVF9PVVRfQUxQSEFfQUJTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfT1VUX0FMUEhBX1RFU1RfT1VUX0FMUEhBX0FCU19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfT1VUX0FMUEhBX1RFU1RfT1VUX0FMUEhBX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19URVNUX09VVF9BTFBIQV9URVNUX09VVF9BTFBIQV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9PVVRfQUxQSEFfVEVTVF9PVVRfQUxQSEFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDcpCisKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9GT1JDRV9PRkZfVEVTVF9MX0FOVElfRFJPT1BfT0ZGX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfRk9SQ0VfT0ZGX1RFU1RfTF9BTlRJX0RST09QX09GRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19URVNUX0ZPUkNFX09GRl9URVNUX0xfQU5USV9EUk9PUF9PRkZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9GT1JDRV9PRkZfVEVTVF9MX0FOVElfRFJPT1BfT0ZGX0JJVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9GT1JDRV9PRkZfVEVTVF9TUkNfT0ZGX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfRk9SQ0VfT0ZGX1RFU1RfU1JDX09GRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19URVNUX0ZPUkNFX09GRl9URVNUX1NSQ19PRkZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9GT1JDRV9PRkZfVEVTVF9TUkNfT0ZGX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9GT1JDRV9PRkZfVEVTVF9MV0NfREFHQ19PRkZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfRk9SQ0VfT0ZGX1RFU1RfTFdDX0RBR0NfT0ZGX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19URVNUX0ZPUkNFX09GRl9URVNUX0xXQ19EQUdDX09GRl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9GT1JDRV9PRkZfVEVTVF9MV0NfREFHQ19PRkZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9GT1JDRV9PRkZfVEVTVF9TUlJDX1BOQUFGX09GRl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfRk9SQ0VfT0ZGX1RFU1RfU1JSQ19QTkFBRl9PRkZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19URVNUX0ZPUkNFX09GRl9URVNUX1NSUkNfUE5BQUZfT0ZGX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9GT1JDRV9PRkZfVEVTVF9TUlJDX1BOQUFGX09GRl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9GT1JDRV9PRkZfVEVTVF9MX1BPU1ROQ09fQ0lDX09GRl9MU0IgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfRk9SQ0VfT0ZGX1RFU1RfTF9QT1NUTkNPX0NJQ19PRkZfV0lEVEggICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRV9GQ19URVNUX0ZPUkNFX09GRl9URVNUX0xfUE9TVE5DT19DSUNfT0ZGX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9GT1JDRV9PRkZfVEVTVF9MX1BPU1ROQ09fQ0lDX09GRl9CSVQgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhERkVfRkNfU1dfV0lOX1NXX1dJTl9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBSWERGRV9GQ19TV19XSU5fU1dfV0lOX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhERkVfRkNfU1dfV0lOX1NXX1dJTl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIFJYREZFX0ZDX1NXX1dJTl9TV19XSU5fRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX1NXX1dJTl9TV19DU19XSU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgUlhERkVfRkNfU1dfV0lOX1NXX0NTX1dJTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYREZFX0ZDX1NXX1dJTl9TV19DU19XSU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEYwMDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX1NXX1dJTl9TV19OQ09fV0lOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgUlhERkVfRkNfU1dfV0lOX1NXX05DT19XSU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYREZFX0ZDX1NXX1dJTl9TV19OQ09fV0lOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGMDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX1NXX1dJTl9TV19DX1dJTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBSWERGRV9GQ19TV19XSU5fU1dfQ19XSU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhERkVfRkNfU1dfV0lOX1NXX0NfV0lOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDBGMDApCisKKyNkZWZpbmUgUlhERkVfRkNfU1dfV0lOX1NXX1BfV0lOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYREZFX0ZDX1NXX1dJTl9TV19QX1dJTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWERGRV9GQ19TV19XSU5fU1dfUF9XSU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDBGMCkKKworI2RlZmluZSBSWERGRV9GQ19TV19XSU5fU1dfQURDX1dJTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfU1dfV0lOX1NXX0FEQ19XSU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYREZFX0ZDX1NXX1dJTl9TV19BRENfV0lOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIFJYREZFX0ZDX1NXX0lOSV9UUkdfU1dfSU5JX1RSR19FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgUlhERkVfRkNfU1dfSU5JX1RSR19TV19JTklfVFJHX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYREZFX0ZDX1NXX0lOSV9UUkdfU1dfSU5JX1RSR19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBSWERGRV9GQ19TV19JTklfVFJHX1NXX0lOSV9UUkdfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19TV19JTklfVFJHX1NXX0NfSU5JX1RSR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhERkVfRkNfU1dfSU5JX1RSR19TV19DX0lOSV9UUkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYREZFX0ZDX1NXX0lOSV9UUkdfU1dfQ19JTklfVFJHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEYwKQorCisjZGVmaW5lIFJYREZFX0ZDX1NXX0lOSV9UUkdfU1dfUF9JTklfVFJHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19TV19JTklfVFJHX1NXX1BfSU5JX1RSR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhERkVfRkNfU1dfSU5JX1RSR19TV19QX0lOSV9UUkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9OQklGX0lOSV9TRUxfUDBfQTBfTkJJRl9JTklfU1BVUl9TRUxfUDBfQTBfTFNCICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfTkJJRl9JTklfU0VMX1AwX0EwX05CSUZfSU5JX1NQVVJfU0VMX1AwX0EwX1dJRFRIICAgICAgICAgICgzKQorI2RlZmluZSBSWERGRV9GQ19URVNUX05CSUZfSU5JX1NFTF9QMF9BMF9OQklGX0lOSV9TUFVSX1NFTF9QMF9BMF9NQVNLICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBSWERGRV9GQ19URVNUX05CSUZfSU5JX0lfUDBfQTBfTkJJRl9JTklfQUNDVV9JX1AwX0EwX0xTQiAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9OQklGX0lOSV9JX1AwX0EwX05CSUZfSU5JX0FDQ1VfSV9QMF9BMF9XSURUSCAgICAgICAgICAgICAgKDE3KQorI2RlZmluZSBSWERGRV9GQ19URVNUX05CSUZfSU5JX0lfUDBfQTBfTkJJRl9JTklfQUNDVV9JX1AwX0EwX01BU0sgICAgICAgICAgICAgICAoMHgwMDAxRkZGRikKKworI2RlZmluZSBSWERGRV9GQ19URVNUX05CSUZfSU5JX1FfUDBfQTBfTkJJRl9JTklfQUNDVV9RX1AwX0EwX0xTQiAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9OQklGX0lOSV9RX1AwX0EwX05CSUZfSU5JX0FDQ1VfUV9QMF9BMF9XSURUSCAgICAgICAgICAgICAgKDE3KQorI2RlZmluZSBSWERGRV9GQ19URVNUX05CSUZfSU5JX1FfUDBfQTBfTkJJRl9JTklfQUNDVV9RX1AwX0EwX01BU0sgICAgICAgICAgICAgICAoMHgwMDAxRkZGRikKKworI2RlZmluZSBSWERGRV9GQ19URVNUX05CSUZfSU5JX1NFTF9QMF9BMV9OQklGX0lOSV9TUFVSX1NFTF9QMF9BMV9MU0IgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9OQklGX0lOSV9TRUxfUDBfQTFfTkJJRl9JTklfU1BVUl9TRUxfUDBfQTFfV0lEVEggICAgICAgICAgKDMpCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfTkJJRl9JTklfU0VMX1AwX0ExX05CSUZfSU5JX1NQVVJfU0VMX1AwX0ExX01BU0sgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfTkJJRl9JTklfSV9QMF9BMV9OQklGX0lOSV9BQ0NVX0lfUDBfQTFfTFNCICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19URVNUX05CSUZfSU5JX0lfUDBfQTFfTkJJRl9JTklfQUNDVV9JX1AwX0ExX1dJRFRIICAgICAgICAgICAgICAoMTcpCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfTkJJRl9JTklfSV9QMF9BMV9OQklGX0lOSV9BQ0NVX0lfUDBfQTFfTUFTSyAgICAgICAgICAgICAgICgweDAwMDFGRkZGKQorCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfTkJJRl9JTklfUV9QMF9BMV9OQklGX0lOSV9BQ0NVX1FfUDBfQTFfTFNCICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19URVNUX05CSUZfSU5JX1FfUDBfQTFfTkJJRl9JTklfQUNDVV9RX1AwX0ExX1dJRFRIICAgICAgICAgICAgICAoMTcpCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfTkJJRl9JTklfUV9QMF9BMV9OQklGX0lOSV9BQ0NVX1FfUDBfQTFfTUFTSyAgICAgICAgICAgICAgICgweDAwMDFGRkZGKQorCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfTkJJRl9JTklfU0VMX1AxX0EwX05CSUZfSU5JX1NQVVJfU0VMX1AxX0EwX0xTQiAgICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19URVNUX05CSUZfSU5JX1NFTF9QMV9BMF9OQklGX0lOSV9TUFVSX1NFTF9QMV9BMF9XSURUSCAgICAgICAgICAoMykKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9OQklGX0lOSV9TRUxfUDFfQTBfTkJJRl9JTklfU1BVUl9TRUxfUDFfQTBfTUFTSyAgICAgICAgICAgKDB4MDAwMDAwMDcpCisKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9OQklGX0lOSV9JX1AxX0EwX05CSUZfSU5JX0FDQ1VfSV9QMV9BMF9MU0IgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfTkJJRl9JTklfSV9QMV9BMF9OQklGX0lOSV9BQ0NVX0lfUDFfQTBfV0lEVEggICAgICAgICAgICAgICgxNykKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9OQklGX0lOSV9JX1AxX0EwX05CSUZfSU5JX0FDQ1VfSV9QMV9BMF9NQVNLICAgICAgICAgICAgICAgKDB4MDAwMUZGRkYpCisKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9OQklGX0lOSV9RX1AxX0EwX05CSUZfSU5JX0FDQ1VfUV9QMV9BMF9MU0IgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfTkJJRl9JTklfUV9QMV9BMF9OQklGX0lOSV9BQ0NVX1FfUDFfQTBfV0lEVEggICAgICAgICAgICAgICgxNykKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9OQklGX0lOSV9RX1AxX0EwX05CSUZfSU5JX0FDQ1VfUV9QMV9BMF9NQVNLICAgICAgICAgICAgICAgKDB4MDAwMUZGRkYpCisKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9OQklGX0lOSV9TRUxfUDFfQTFfTkJJRl9JTklfU1BVUl9TRUxfUDFfQTFfTFNCICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX1RFU1RfTkJJRl9JTklfU0VMX1AxX0ExX05CSUZfSU5JX1NQVVJfU0VMX1AxX0ExX1dJRFRIICAgICAgICAgICgzKQorI2RlZmluZSBSWERGRV9GQ19URVNUX05CSUZfSU5JX1NFTF9QMV9BMV9OQklGX0lOSV9TUFVSX1NFTF9QMV9BMV9NQVNLICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBSWERGRV9GQ19URVNUX05CSUZfSU5JX0lfUDFfQTFfTkJJRl9JTklfQUNDVV9JX1AxX0ExX0xTQiAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9OQklGX0lOSV9JX1AxX0ExX05CSUZfSU5JX0FDQ1VfSV9QMV9BMV9XSURUSCAgICAgICAgICAgICAgKDE3KQorI2RlZmluZSBSWERGRV9GQ19URVNUX05CSUZfSU5JX0lfUDFfQTFfTkJJRl9JTklfQUNDVV9JX1AxX0ExX01BU0sgICAgICAgICAgICAgICAoMHgwMDAxRkZGRikKKworI2RlZmluZSBSWERGRV9GQ19URVNUX05CSUZfSU5JX1FfUDFfQTFfTkJJRl9JTklfQUNDVV9RX1AxX0ExX0xTQiAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9OQklGX0lOSV9RX1AxX0ExX05CSUZfSU5JX0FDQ1VfUV9QMV9BMV9XSURUSCAgICAgICAgICAgICAgKDE3KQorI2RlZmluZSBSWERGRV9GQ19URVNUX05CSUZfSU5JX1FfUDFfQTFfTkJJRl9JTklfQUNDVV9RX1AxX0ExX01BU0sgICAgICAgICAgICAgICAoMHgwMDAxRkZGRikKKworI2RlZmluZSBSWERGRV9GQ19URVNUX05DT19JTklfUEhfQzBfQTBfTkNPX0lOSV9BQ0NVX1BIX0MwX0EwX0xTQiAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9OQ09fSU5JX1BIX0MwX0EwX05DT19JTklfQUNDVV9QSF9DMF9BMF9XSURUSCAgICAgICAgICAgICAgKDIzKQorI2RlZmluZSBSWERGRV9GQ19URVNUX05DT19JTklfUEhfQzBfQTBfTkNPX0lOSV9BQ0NVX1BIX0MwX0EwX01BU0sgICAgICAgICAgICAgICAoMHgwMDdGRkZGRikKKworI2RlZmluZSBSWERGRV9GQ19URVNUX05DT19JTklfUEhfQzBfQTFfTkNPX0lOSV9BQ0NVX1BIX0MwX0ExX0xTQiAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9OQ09fSU5JX1BIX0MwX0ExX05DT19JTklfQUNDVV9QSF9DMF9BMV9XSURUSCAgICAgICAgICAgICAgKDIzKQorI2RlZmluZSBSWERGRV9GQ19URVNUX05DT19JTklfUEhfQzBfQTFfTkNPX0lOSV9BQ0NVX1BIX0MwX0ExX01BU0sgICAgICAgICAgICAgICAoMHgwMDdGRkZGRikKKworI2RlZmluZSBSWERGRV9GQ19URVNUX05DT19JTklfUEhfQzFfQTBfTkNPX0lOSV9BQ0NVX1BIX0MxX0EwX0xTQiAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9OQ09fSU5JX1BIX0MxX0EwX05DT19JTklfQUNDVV9QSF9DMV9BMF9XSURUSCAgICAgICAgICAgICAgKDIzKQorI2RlZmluZSBSWERGRV9GQ19URVNUX05DT19JTklfUEhfQzFfQTBfTkNPX0lOSV9BQ0NVX1BIX0MxX0EwX01BU0sgICAgICAgICAgICAgICAoMHgwMDdGRkZGRikKKworI2RlZmluZSBSWERGRV9GQ19URVNUX05DT19JTklfUEhfQzFfQTFfTkNPX0lOSV9BQ0NVX1BIX0MxX0ExX0xTQiAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfVEVTVF9OQ09fSU5JX1BIX0MxX0ExX05DT19JTklfQUNDVV9QSF9DMV9BMV9XSURUSCAgICAgICAgICAgICAgKDIzKQorI2RlZmluZSBSWERGRV9GQ19URVNUX05DT19JTklfUEhfQzFfQTFfTkNPX0lOSV9BQ0NVX1BIX0MxX0ExX01BU0sgICAgICAgICAgICAgICAoMHgwMDdGRkZGRikKKworI2RlZmluZSBSWERGRV9GQ19NU19XQl9MUEZfMF9XQl9DT0VGX0xQRl8zX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIFJYREZFX0ZDX01TX1dCX0xQRl8wX1dCX0NPRUZfTFBGXzNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBSWERGRV9GQ19NU19XQl9MUEZfMF9XQl9DT0VGX0xQRl8zX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg3RjAwMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19NU19XQl9MUEZfMF9XQl9DT0VGX0xQRl8yX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFJYREZFX0ZDX01TX1dCX0xQRl8wX1dCX0NPRUZfTFBGXzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBSWERGRV9GQ19NU19XQl9MUEZfMF9XQl9DT0VGX0xQRl8yX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDdGMDAwMCkKKworI2RlZmluZSBSWERGRV9GQ19NU19XQl9MUEZfMF9XQl9DT0VGX0xQRl8xX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgUlhERkVfRkNfTVNfV0JfTFBGXzBfV0JfQ09FRl9MUEZfMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFJYREZFX0ZDX01TX1dCX0xQRl8wX1dCX0NPRUZfTFBGXzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RjAwKQorCisjZGVmaW5lIFJYREZFX0ZDX01TX1dCX0xQRl8wX1dCX0NPRUZfTFBGXzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19NU19XQl9MUEZfMF9XQl9DT0VGX0xQRl8wX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgUlhERkVfRkNfTVNfV0JfTFBGXzBfV0JfQ09FRl9MUEZfMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwN0YpCisKKyNkZWZpbmUgUlhERkVfRkNfTVNfV0JfTFBGXzFfV0JfQ09FRl9MUEZfNF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX01TX1dCX0xQRl8xX1dCX0NPRUZfTFBGXzRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBSWERGRV9GQ19NU19XQl9MUEZfMV9XQl9DT0VGX0xQRl80X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA3RikKKworI2RlZmluZSBSWERGRV9GQ19JTkZPX0FHQ0lGX1JFR19JTkZPX0FHQ0lGX1JFR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfSU5GT19BR0NJRl9SRUdfSU5GT19BR0NJRl9SRUdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBSWERGRV9GQ19JTkZPX0FHQ0lGX1JFR19JTkZPX0FHQ0lGX1JFR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBSWERGRV9GQ19JTkZPX1RFU1RfT1VUX0RBVEFfMF9JTkZPX1RFU1RfT1VUX0RBVEFfTFNCICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfSU5GT19URVNUX09VVF9EQVRBXzBfSU5GT19URVNUX09VVF9EQVRBX1dJRFRIICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBSWERGRV9GQ19JTkZPX1RFU1RfT1VUX0RBVEFfMF9JTkZPX1RFU1RfT1VUX0RBVEFfTUFTSyAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBSWERGRV9GQ19JTkZPX1RFU1RfT1VUX0RBVEFfMV9JTkZPX1RFU1RfT1VUX0RBVEFfUV9MU0IgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFJYREZFX0ZDX0lORk9fVEVTVF9PVVRfREFUQV8xX0lORk9fVEVTVF9PVVRfREFUQV9RX1dJRFRIICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgUlhERkVfRkNfSU5GT19URVNUX09VVF9EQVRBXzFfSU5GT19URVNUX09VVF9EQVRBX1FfTUFTSyAgICAgICAgICAgICAgICAgKDB4N0ZGRjAwMDApCisKKyNkZWZpbmUgUlhERkVfRkNfSU5GT19URVNUX09VVF9EQVRBXzFfSU5GT19URVNUX09VVF9EQVRBX0lfTFNCICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX0lORk9fVEVTVF9PVVRfREFUQV8xX0lORk9fVEVTVF9PVVRfREFUQV9JX1dJRFRIICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgUlhERkVfRkNfSU5GT19URVNUX09VVF9EQVRBXzFfSU5GT19URVNUX09VVF9EQVRBX0lfTUFTSyAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgUlhERkVfRkNfSU5GT19DUkMzMl9PVVRfSU5GT19DUkMzMl9PVVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX0lORk9fQ1JDMzJfT1VUX0lORk9fQ1JDMzJfT1VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhERkVfRkNfSU5GT19DUkMzMl9PVVRfSU5GT19DUkMzMl9PVVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgUlhERkVfRkNfSU5GT19BTFBIQV9PVVRfSU5GT19BTFBIQV9PVVRfUV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBSWERGRV9GQ19JTkZPX0FMUEhBX09VVF9JTkZPX0FMUEhBX09VVF9RX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFJYREZFX0ZDX0lORk9fQUxQSEFfT1VUX0lORk9fQUxQSEFfT1VUX1FfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDdGRkYwMDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX0lORk9fQUxQSEFfT1VUX0lORk9fQUxQSEFfT1VUX0lfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19JTkZPX0FMUEhBX09VVF9JTkZPX0FMUEhBX09VVF9JX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFJYREZFX0ZDX0lORk9fQUxQSEFfT1VUX0lORk9fQUxQSEFfT1VUX0lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkZGKQorCisjZGVmaW5lIFJYREZFX0ZDX0lORk9fRURHRV9DT1VOVF9GQ19BRENfV0lOX0lORk9fRURHRV9DT1VOVF9GQ19BRENfV0lOX0xTQiAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19JTkZPX0VER0VfQ09VTlRfRkNfQURDX1dJTl9JTkZPX0VER0VfQ09VTlRfRkNfQURDX1dJTl9XSURUSCAgICAoMTYpCisjZGVmaW5lIFJYREZFX0ZDX0lORk9fRURHRV9DT1VOVF9GQ19BRENfV0lOX0lORk9fRURHRV9DT1VOVF9GQ19BRENfV0lOX01BU0sgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIFJYREZFX0ZDX0lORk9fRURHRV9DT1VOVF9GQ19QX1dJTl9JTkZPX0VER0VfQ09VTlRfRkNfUF9XSU5fTFNCICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19JTkZPX0VER0VfQ09VTlRfRkNfUF9XSU5fSU5GT19FREdFX0NPVU5UX0ZDX1BfV0lOX1dJRFRIICAgICAgICAoMTYpCisjZGVmaW5lIFJYREZFX0ZDX0lORk9fRURHRV9DT1VOVF9GQ19QX1dJTl9JTkZPX0VER0VfQ09VTlRfRkNfUF9XSU5fTUFTSyAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIFJYREZFX0ZDX0lORk9fRURHRV9DT1VOVF9GQ19DX1dJTl9JTkZPX0VER0VfQ09VTlRfRkNfQ19XSU5fTFNCICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19JTkZPX0VER0VfQ09VTlRfRkNfQ19XSU5fSU5GT19FREdFX0NPVU5UX0ZDX0NfV0lOX1dJRFRIICAgICAgICAoMTYpCisjZGVmaW5lIFJYREZFX0ZDX0lORk9fRURHRV9DT1VOVF9GQ19DX1dJTl9JTkZPX0VER0VfQ09VTlRfRkNfQ19XSU5fTUFTSyAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIFJYREZFX0ZDX0lORk9fRURHRV9DT1VOVF9GQ19OQ09fV0lOX0lORk9fRURHRV9DT1VOVF9GQ19OQ09fV0lOX0xTQiAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19JTkZPX0VER0VfQ09VTlRfRkNfTkNPX1dJTl9JTkZPX0VER0VfQ09VTlRfRkNfTkNPX1dJTl9XSURUSCAgICAoMTYpCisjZGVmaW5lIFJYREZFX0ZDX0lORk9fRURHRV9DT1VOVF9GQ19OQ09fV0lOX0lORk9fRURHRV9DT1VOVF9GQ19OQ09fV0lOX01BU0sgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIFJYREZFX0ZDX0lORk9fRURHRV9DT1VOVF9GQ19DU19XSU5fSU5GT19FREdFX0NPVU5UX0ZDX0NTX1dJTl9MU0IgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GQ19JTkZPX0VER0VfQ09VTlRfRkNfQ1NfV0lOX0lORk9fRURHRV9DT1VOVF9GQ19DU19XSU5fV0lEVEggICAgICAoMTYpCisjZGVmaW5lIFJYREZFX0ZDX0lORk9fRURHRV9DT1VOVF9GQ19DU19XSU5fSU5GT19FREdFX0NPVU5UX0ZDX0NTX1dJTl9NQVNLICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIFJYREZFX0ZDX0lORk9fRURHRV9DT1VOVF9GQ19QX0lOSV9UUkdfSU5GT19FREdFX0NPVU5UX0ZDX1BfSU5JX1RSR19MU0IgICgwKQorI2RlZmluZSBSWERGRV9GQ19JTkZPX0VER0VfQ09VTlRfRkNfUF9JTklfVFJHX0lORk9fRURHRV9DT1VOVF9GQ19QX0lOSV9UUkdfV0lEVEggKDE2KQorI2RlZmluZSBSWERGRV9GQ19JTkZPX0VER0VfQ09VTlRfRkNfUF9JTklfVFJHX0lORk9fRURHRV9DT1VOVF9GQ19QX0lOSV9UUkdfTUFTSyAoMHgwMDAwRkZGRikKKworI2RlZmluZSBSWERGRV9GQ19JTkZPX0VER0VfQ09VTlRfRkNfQ19JTklfVFJHX0lORk9fRURHRV9DT1VOVF9GQ19DX0lOSV9UUkdfTFNCICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfSU5GT19FREdFX0NPVU5UX0ZDX0NfSU5JX1RSR19JTkZPX0VER0VfQ09VTlRfRkNfQ19JTklfVFJHX1dJRFRIICgxNikKKyNkZWZpbmUgUlhERkVfRkNfSU5GT19FREdFX0NPVU5UX0ZDX0NfSU5JX1RSR19JTkZPX0VER0VfQ09VTlRfRkNfQ19JTklfVFJHX01BU0sgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgUlhERkVfRkNfSU5GT19FREdFX0NPVU5UX1JYREZFX0lORk9fRURHRV9DT1VOVF9BR0NEQ19GQ19SRVFfTFNCICAgICAgICAgKDgpCisjZGVmaW5lIFJYREZFX0ZDX0lORk9fRURHRV9DT1VOVF9SWERGRV9JTkZPX0VER0VfQ09VTlRfQUdDRENfRkNfUkVRX1dJRFRIICAgICAgICg4KQorI2RlZmluZSBSWERGRV9GQ19JTkZPX0VER0VfQ09VTlRfUlhERkVfSU5GT19FREdFX0NPVU5UX0FHQ0RDX0ZDX1JFUV9NQVNLICAgICAgICAoMHgwMDAwRkYwMCkKKworI2RlZmluZSBSWERGRV9GQ19JTkZPX0VER0VfQ09VTlRfUlhERkVfSU5GT19FREdFX0NPVU5UX0NRX0NPTkZJR19WTERfTFNCICAgICAgICAoMCkKKyNkZWZpbmUgUlhERkVfRkNfSU5GT19FREdFX0NPVU5UX1JYREZFX0lORk9fRURHRV9DT1VOVF9DUV9DT05GSUdfVkxEX1dJRFRIICAgICAgKDgpCisjZGVmaW5lIFJYREZFX0ZDX0lORk9fRURHRV9DT1VOVF9SWERGRV9JTkZPX0VER0VfQ09VTlRfQ1FfQ09ORklHX1ZMRF9NQVNLICAgICAgICgweDAwMDAwMEZGKQorCisjZGVmaW5lIFJYREZFX0ZDX0lORk9fRURHRV9DT1VOVF9MV1RfVElNRVJfSU5GT19FREdFX0NPVU5UX1RUSU1FUl9NVVFfVkxEX0xTQiAgICgxNikKKyNkZWZpbmUgUlhERkVfRkNfSU5GT19FREdFX0NPVU5UX0xXVF9USU1FUl9JTkZPX0VER0VfQ09VTlRfVFRJTUVSX01VUV9WTERfV0lEVEggKDgpCisjZGVmaW5lIFJYREZFX0ZDX0lORk9fRURHRV9DT1VOVF9MV1RfVElNRVJfSU5GT19FREdFX0NPVU5UX1RUSU1FUl9NVVFfVkxEX01BU0sgICgweDAwRkYwMDAwKQorCisjZGVmaW5lIFJYREZFX0ZDX0lORk9fRURHRV9DT1VOVF9MV1RfVElNRVJfSU5GT19FREdFX0NPVU5UX1dUSU1FUl9NVVFfVkxEX0xTQiAgICg4KQorI2RlZmluZSBSWERGRV9GQ19JTkZPX0VER0VfQ09VTlRfTFdUX1RJTUVSX0lORk9fRURHRV9DT1VOVF9XVElNRVJfTVVRX1ZMRF9XSURUSCAoOCkKKyNkZWZpbmUgUlhERkVfRkNfSU5GT19FREdFX0NPVU5UX0xXVF9USU1FUl9JTkZPX0VER0VfQ09VTlRfV1RJTUVSX01VUV9WTERfTUFTSyAgKDB4MDAwMEZGMDApCisKKyNkZWZpbmUgUlhERkVfRkNfSU5GT19FREdFX0NPVU5UX0xXVF9USU1FUl9JTkZPX0VER0VfQ09VTlRfTFRJTUVSX1BSRV9TX1ZMRF9MU0IgKDApCisjZGVmaW5lIFJYREZFX0ZDX0lORk9fRURHRV9DT1VOVF9MV1RfVElNRVJfSU5GT19FREdFX0NPVU5UX0xUSU1FUl9QUkVfU19WTERfV0lEVEggKDgpCisjZGVmaW5lIFJYREZFX0ZDX0lORk9fRURHRV9DT1VOVF9MV1RfVElNRVJfSU5GT19FREdFX0NPVU5UX0xUSU1FUl9QUkVfU19WTERfTUFTSyAoMHgwMDAwMDBGRikKKworI2RlZmluZSBSWERGRV9GQ19JTkZPX0VER0VfQ09VTlRfQ19USU1FUl9JTkZPX0VER0VfQ09VTlRfQ0RPVElNRVJfTVVRX1ZMRF9MU0IgICAoOCkKKyNkZWZpbmUgUlhERkVfRkNfSU5GT19FREdFX0NPVU5UX0NfVElNRVJfSU5GT19FREdFX0NPVU5UX0NET1RJTUVSX01VUV9WTERfV0lEVEggKDgpCisjZGVmaW5lIFJYREZFX0ZDX0lORk9fRURHRV9DT1VOVF9DX1RJTUVSX0lORk9fRURHRV9DT1VOVF9DRE9USU1FUl9NVVFfVkxEX01BU0sgICgweDAwMDBGRjAwKQorCisjZGVmaW5lIFJYREZFX0ZDX0lORk9fRURHRV9DT1VOVF9DX1RJTUVSX0lORk9fRURHRV9DT1VOVF9DMVhUSU1FUl9NVVFfVkxEX0xTQiAgICgwKQorI2RlZmluZSBSWERGRV9GQ19JTkZPX0VER0VfQ09VTlRfQ19USU1FUl9JTkZPX0VER0VfQ09VTlRfQzFYVElNRVJfTVVRX1ZMRF9XSURUSCAoOCkKKyNkZWZpbmUgUlhERkVfRkNfSU5GT19FREdFX0NPVU5UX0NfVElNRVJfSU5GT19FREdFX0NPVU5UX0MxWFRJTUVSX01VUV9WTERfTUFTSyAgKDB4MDAwMDAwRkYpCisKKyNkZWZpbmUgUlhERkVfRkNfRlBHQV9GUEdBX0NUUkxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFX0ZDX0ZQR0FfRlBHQV9DVFJMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhERkVfRkNfRlBHQV9GUEdBX0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKworI2VuZGlmIC8vI2lmbmRlZiBfQ1BIX0MyS19SWERGRV9GQ0lNTV9IXwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGNzdG9wcmVnLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoY3N0b3ByZWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNDM5NTkxCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGNzdG9wcmVnLmgKQEAgLTAsMCArMSw0MiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiBkZWZpbmVkKF9fTUQ5M19fKQorI2luY2x1ZGUgImNwaGNzdG9wcmVnXzkzLmgiCisjZWxpZiBkZWZpbmVkKF9fTUQ5NV9fKQorI2luY2x1ZGUgImNwaGNzdG9wcmVnXzk1LmgiCisjZWxzZQorI2luY2x1ZGUgImNwaGNzdG9wcmVnXzk3LmgiCisjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGNzdG9wcmVnXzkzLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoY3N0b3ByZWdfOTMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ODY4M2FjCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGNzdG9wcmVnXzkzLmgKQEAgLTAsMCArMSwyNDIgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhfQ1NUT1BfUkVHX0hfCisjZGVmaW5lIF9DUEhfQ1NUT1BfUkVHX0hfCisKKwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogU1JBTUFERFI7ICAgICAgICAgLyogU1JBTSBhZGRyIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBTUkFNREFUQTsgICAgICAgICAvKiBTUkFNIGRhdGEgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIEFQQkFERFI7ICAgICAgICAgIC8qIEFQQiBhZGRyIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgQVBCREFUQTsgICAgICAgICAgLyogQVBCIGRhdGEgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqICBBUEJBRERSMzI7ICAgICAgICAvKiBBUEIgYWRkciBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAgIEFQQkRBVEEzMjsgICAgICAgIC8qIEFQQiBkYXRhIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogRFBSQU1BRERSOyAgICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHNpZ25lZCAgIHNob3J0KiBEUFJBTUFERFJfUzsgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIERQUkFNREFUQTsgICAgICAgIC8qIERQUkFNIGRhdGEgaXMgMTYgYml0cyAqLworCisKKyNkZWZpbmUgQ1NfVE9QX1JFR19SRUdfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QTc4MDAwMDApCisKKyNkZWZpbmUgQ1NfVE9QX1JFR19lbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKENTX1RPUF9SRUdfUkVHX0JBU0UgKyAweDAwNDggKyAxKjQpCisKKworCisjZGVmaW5lIENTX0MxWF9DS19FTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19UT1BfUkVHX1JFR19CQVNFICsgMHgwMDAwKSkKKyNkZWZpbmUgQ1NfQ0RPX0NLX0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX1RPUF9SRUdfUkVHX0JBU0UgKyAweDAwMDQpKQorI2RlZmluZSBDU19XVF9DS19FTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfVE9QX1JFR19SRUdfQkFTRSArIDB4MDAwOCkpCisjZGVmaW5lIENTX0xfQ0tfRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19UT1BfUkVHX1JFR19CQVNFICsgMHgwMDBjKSkKKyNkZWZpbmUgQ1NfQzFYX1NXX1JTVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX1RPUF9SRUdfUkVHX0JBU0UgKyAweDAwMTApKQorI2RlZmluZSBDU19DRE9fU1dfUlNUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfVE9QX1JFR19SRUdfQkFTRSArIDB4MDAxNCkpCisjZGVmaW5lIENTX1dUX1NXX1JTVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19UT1BfUkVHX1JFR19CQVNFICsgMHgwMDE4KSkKKyNkZWZpbmUgQ1NfTF9TV19SU1QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX1RPUF9SRUdfUkVHX0JBU0UgKyAweDAwMWMpKQorI2RlZmluZSBDU19ERkVfUEhBU0VfU0VMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfVE9QX1JFR19SRUdfQkFTRSArIDB4MDAyMCkpCisjZGVmaW5lIENTX0MxWF9DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19UT1BfUkVHX1JFR19CQVNFICsgMHgwMDI0KSkKKyNkZWZpbmUgQ1NfQ0RPX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX1RPUF9SRUdfUkVHX0JBU0UgKyAweDAwMjgpKQorI2RlZmluZSBDU19NRU1fU0hBUkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfVE9QX1JFR19SRUdfQkFTRSArIDB4MDAyYykpCisjZGVmaW5lIENTX01FTV9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19UT1BfUkVHX1JFR19CQVNFICsgMHgwMDMwKSkKKyNkZWZpbmUgQ1NfUFdSX0FXQVJFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX1RPUF9SRUdfUkVHX0JBU0UgKyAweDAwMzQpKQorI2RlZmluZSBDU19TWVNfQ0tfSURMRV9ESVZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfVE9QX1JFR19SRUdfQkFTRSArIDB4MDAzOCkpCisjZGVmaW5lIENTX1NZU19DS19JRExFX0RCR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19UT1BfUkVHX1JFR19CQVNFICsgMHgwMDNjKSkKKyNkZWZpbmUgQ1NfVEVTVF9CVVNfU0VMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX1RPUF9SRUdfUkVHX0JBU0UgKyAweDAwNDApKQorI2RlZmluZSBDU19SRVNFUlZFRDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfVE9QX1JFR19SRUdfQkFTRSArIDB4MDA0NCkpCisjZGVmaW5lIENTX1JFU0VSVkVEMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19UT1BfUkVHX1JFR19CQVNFICsgMHgwMDQ4KSkKKworLyoKKyAgICBNZXJsb3QgU1JBTSBjaGFuZ2UgREVMU0VMIGNsYWltIHRvIGFkZAorKi8KKyNpZiBkZWZpbmVkKF9fTVRLX1RBUkdFVF9fKSAmJiBkZWZpbmVkKE1UNjc2MSkKKworI2RlZmluZSBDU19DV18xWF9SQU1fQklTVF8xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoMHhBNzgyMDFiMCkpCisjZGVmaW5lIENTX0NXXzFYX1JBTV9CSVNUXzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKSgweEE3ODIwMWI0KSkKKyNkZWZpbmUgQ1NfQ1dfMVhfUkFNX05PU0hBUkVfQklTVF8xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKDB4QTc4MjAxYzgpKQorCisjZW5kaWYKKworI2RlZmluZSBDU19DMVhfQ0tfRU5fYzF4Y3NfY2tfZGl2Ml9lbl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfQzFYX0NLX0VOX2MxeGNzX2NrX2RpdjJfZW5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX0MxWF9DS19FTl9jMXhjc19ja19kaXYyX2VuX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBDU19DMVhfQ0tfRU5fYzF4Y3NfY2tfZGl2Ml9lbl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBDU19DRE9fQ0tfRU5fY2RvY3NfY2tfZGl2Ml9lbl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfQ0RPX0NLX0VOX2Nkb2NzX2NrX2RpdjJfZW5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX0NET19DS19FTl9jZG9jc19ja19kaXYyX2VuX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBDU19DRE9fQ0tfRU5fY2RvY3NfY2tfZGl2Ml9lbl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBDU19XVF9DS19FTl93dGNzX2NrX2RpdjJfZW5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ1NfV1RfQ0tfRU5fd3Rjc19ja19kaXYyX2VuX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX1dUX0NLX0VOX3d0Y3NfY2tfZGl2Ml9lbl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBDU19XVF9DS19FTl93dGNzX2NrX2RpdjJfZW5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBDU19XVF9DS19FTl93dGNzX2NrX2VuX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfV1RfQ0tfRU5fd3Rjc19ja19lbl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX1dUX0NLX0VOX3d0Y3NfY2tfZW5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBDU19XVF9DS19FTl93dGNzX2NrX2VuX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBDU19MX0NLX0VOX2xjc19ja19lbl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfTF9DS19FTl9sY3NfY2tfZW5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX0xfQ0tfRU5fbGNzX2NrX2VuX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBDU19MX0NLX0VOX2xjc19ja19lbl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBDU19DMVhfU1dfUlNUX2MxeGNzX3N3X3JzdF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfQzFYX1NXX1JTVF9jMXhjc19zd19yc3RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX0MxWF9TV19SU1RfYzF4Y3Nfc3dfcnN0X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBDU19DMVhfU1dfUlNUX2MxeGNzX3N3X3JzdF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBDU19DRE9fU1dfUlNUX2Nkb2NzX3N3X3JzdF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfQ0RPX1NXX1JTVF9jZG9jc19zd19yc3RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX0NET19TV19SU1RfY2RvY3Nfc3dfcnN0X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBDU19DRE9fU1dfUlNUX2Nkb2NzX3N3X3JzdF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBDU19XVF9TV19SU1RfdGNzX3N3X3JzdF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ1NfV1RfU1dfUlNUX3Rjc19zd19yc3RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX1dUX1NXX1JTVF90Y3Nfc3dfcnN0X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBDU19XVF9TV19SU1RfdGNzX3N3X3JzdF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBDU19XVF9TV19SU1Rfd2NzX3N3X3JzdF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfV1RfU1dfUlNUX3djc19zd19yc3RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX1dUX1NXX1JTVF93Y3Nfc3dfcnN0X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBDU19XVF9TV19SU1Rfd2NzX3N3X3JzdF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBDU19MX1NXX1JTVF9sY3Nfc3dfcnN0X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfTF9TV19SU1RfbGNzX3N3X3JzdF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX0xfU1dfUlNUX2xjc19zd19yc3RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBDU19MX1NXX1JTVF9sY3Nfc3dfcnN0X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBDU19ERkVfUEhBU0VfU0VMX2NzX2RmZV9waGFzZV9zZWxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfREZFX1BIQVNFX1NFTF9jc19kZmVfcGhhc2Vfc2VsX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENTX0RGRV9QSEFTRV9TRUxfY3NfZGZlX3BoYXNlX3NlbF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAzKQorCisjZGVmaW5lIENTX0MxWF9DRkdfYzF4Y3NfZGF0YV9mcmFjX3NjYWxlX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBDU19DMVhfQ0ZHX2MxeGNzX2RhdGFfZnJhY19zY2FsZV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgQ1NfQzFYX0NGR19jMXhjc19kYXRhX2ZyYWNfc2NhbGVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzQzApCisKKyNkZWZpbmUgQ1NfQzFYX0NGR19jMXhjc19kYXRhX3JjX3NlbF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIENTX0MxWF9DRkdfYzF4Y3NfZGF0YV9yY19zZWxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBDU19DMVhfQ0ZHX2MxeGNzX2RhdGFfcmNfc2VsX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzOCkKKworI2RlZmluZSBDU19DMVhfQ0ZHX2MxeGNzX2lxX3N3YXBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQ1NfQzFYX0NGR19jMXhjc19pcV9zd2FwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX0MxWF9DRkdfYzF4Y3NfaXFfc3dhcF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBDU19DMVhfQ0ZHX2MxeGNzX2lxX3N3YXBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBDU19DMVhfQ0ZHX2MxeGNzX2lucHV0X3NlbF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfQzFYX0NGR19jMXhjc19pbnB1dF9zZWxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENTX0MxWF9DRkdfYzF4Y3NfaW5wdXRfc2VsX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAzKQorCisjZGVmaW5lIENTX0NET19DRkdfY2RvY3NfZGF0YV9mcmFjX3NjYWxlX2Rpdl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgQ1NfQ0RPX0NGR19jZG9jc19kYXRhX2ZyYWNfc2NhbGVfZGl2X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIENTX0NET19DRkdfY2RvY3NfZGF0YV9mcmFjX3NjYWxlX2Rpdl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDNDMDAwKQorCisjZGVmaW5lIENTX0NET19DRkdfY2RvY3NfZGF0YV9yY19zZWxfZGl2X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgQ1NfQ0RPX0NGR19jZG9jc19kYXRhX3JjX3NlbF9kaXZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENTX0NET19DRkdfY2RvY3NfZGF0YV9yY19zZWxfZGl2X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAzMDAwKQorCisjZGVmaW5lIENTX0NET19DRkdfY2RvY3NfaXFfc3dhcF9kaXZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgQ1NfQ0RPX0NGR19jZG9jc19pcV9zd2FwX2Rpdl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX0NET19DRkdfY2RvY3NfaXFfc3dhcF9kaXZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorI2RlZmluZSBDU19DRE9fQ0ZHX2Nkb2NzX2lxX3N3YXBfZGl2X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKworI2RlZmluZSBDU19DRE9fQ0ZHX2Nkb2NzX2lucHV0X3NlbF9kaXZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgQ1NfQ0RPX0NGR19jZG9jc19pbnB1dF9zZWxfZGl2X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENTX0NET19DRkdfY2RvY3NfaW5wdXRfc2VsX2Rpdl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNjAwKQorCisjZGVmaW5lIENTX0NET19DRkdfY2RvY3NfZGF0YV9mcmFjX3NjYWxlX21haW5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBDU19DRE9fQ0ZHX2Nkb2NzX2RhdGFfZnJhY19zY2FsZV9tYWluX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgQ1NfQ0RPX0NGR19jZG9jc19kYXRhX2ZyYWNfc2NhbGVfbWFpbl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRTApCisKKyNkZWZpbmUgQ1NfQ0RPX0NGR19jZG9jc19kYXRhX3JjX3NlbF9tYWluX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIENTX0NET19DRkdfY2RvY3NfZGF0YV9yY19zZWxfbWFpbl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBDU19DRE9fQ0ZHX2Nkb2NzX2RhdGFfcmNfc2VsX21haW5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxOCkKKworI2RlZmluZSBDU19DRE9fQ0ZHX2Nkb2NzX2lxX3N3YXBfbWFpbl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQ1NfQ0RPX0NGR19jZG9jc19pcV9zd2FwX21haW5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX0NET19DRkdfY2RvY3NfaXFfc3dhcF9tYWluX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBDU19DRE9fQ0ZHX2Nkb2NzX2lxX3N3YXBfbWFpbl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBDU19DRE9fQ0ZHX2Nkb2NzX2lucHV0X3NlbF9tYWluX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfQ0RPX0NGR19jZG9jc19pbnB1dF9zZWxfbWFpbl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENTX0NET19DRkdfY2RvY3NfaW5wdXRfc2VsX21haW5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAzKQorCisjZGVmaW5lIENTX01FTV9TSEFSRV9jc19jMXhfbWVtX3NoYXJlX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDU19NRU1fU0hBUkVfY3NfYzF4X21lbV9zaGFyZV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ1NfTUVNX1NIQVJFX2NzX2MxeF9tZW1fc2hhcmVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIENTX01FTV9TSEFSRV9jc19jMXhfbWVtX3NoYXJlX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIENTX01FTV9TSEFSRV9jc193Y19tZW1fbW9kZV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBDU19NRU1fU0hBUkVfY3Nfd2NfbWVtX21vZGVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ1NfTUVNX1NIQVJFX2NzX3djX21lbV9tb2RlX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIENTX01FTV9TSEFSRV9jc193Y19tZW1fbW9kZV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIENTX01FTV9TVEFUVVNfY3NfbWVtX3N0YXR1c19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBDU19NRU1fU1RBVFVTX2NzX21lbV9zdGF0dXNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQ1NfTUVNX1NUQVRVU19jc19tZW1fc3RhdHVzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDMpCisKKyNkZWZpbmUgQ1NfUFdSX0FXQVJFX3d0Y3NfcHdyX2F3YXJlX2VuX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENTX1BXUl9BV0FSRV93dGNzX3B3cl9hd2FyZV9lbl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDU19QV1JfQVdBUkVfd3Rjc19wd3JfYXdhcmVfZW5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgQ1NfUFdSX0FXQVJFX3d0Y3NfcHdyX2F3YXJlX2VuX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgQ1NfUFdSX0FXQVJFX2NzX2RjbV9pZGxlX2VuX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX1BXUl9BV0FSRV9jc19kY21faWRsZV9lbl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDU19QV1JfQVdBUkVfY3NfZGNtX2lkbGVfZW5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQ1NfUFdSX0FXQVJFX2NzX2RjbV9pZGxlX2VuX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQ1NfUFdSX0FXQVJFX2NzX2J1c19wd3JfYXdhcmVfZW5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENTX1BXUl9BV0FSRV9jc19idXNfcHdyX2F3YXJlX2VuX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDU19QV1JfQVdBUkVfY3NfYnVzX3B3cl9hd2FyZV9lbl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQ1NfUFdSX0FXQVJFX2NzX2J1c19wd3JfYXdhcmVfZW5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQ1NfU1lTX0NLX0lETEVfRElWX01BU0tfY3Nfc3lzX2NrX2lkbGVfZGl2X21hc2tfTFNCICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENTX1NZU19DS19JRExFX0RJVl9NQVNLX2NzX3N5c19ja19pZGxlX2Rpdl9tYXNrX1dJRFRIICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBDU19TWVNfQ0tfSURMRV9ESVZfTUFTS19jc19zeXNfY2tfaWRsZV9kaXZfbWFza19NQVNLICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxRikKKworI2RlZmluZSBDU19TWVNfQ0tfSURMRV9EQkdfTUFTS19jc19zeXNfY2tfaWRsZV9kYmdfbWFza19MU0IgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfU1lTX0NLX0lETEVfREJHX01BU0tfY3Nfc3lzX2NrX2lkbGVfZGJnX21hc2tfV0lEVEggICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIENTX1NZU19DS19JRExFX0RCR19NQVNLX2NzX3N5c19ja19pZGxlX2RiZ19tYXNrX01BU0sgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIENTX1RFU1RfQlVTX1NFTF9jc190ZXN0X2J1c19zZWxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBDU19URVNUX0JVU19TRUxfY3NfdGVzdF9idXNfc2VsX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgQ1NfVEVTVF9CVVNfU0VMX2NzX3Rlc3RfYnVzX3NlbF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDcpCisKKyNkZWZpbmUgQ1NfUkVTRVJWRUQwX2NzX3JzdjBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENTX1JFU0VSVkVEMF9jc19yc3YwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgQ1NfUkVTRVJWRUQwX2NzX3JzdjBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgQ1NfUkVTRVJWRUQxX2NzX3JzdjFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENTX1JFU0VSVkVEMV9jc19yc3YxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgQ1NfUkVTRVJWRUQxX2NzX3JzdjFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKworI2VuZGlmIC8vI2lmbmRlZiBfRUwxRF9SRUdfRUxCUlVTX0hfCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoY3N0b3ByZWdfOTUuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhjc3RvcHJlZ185NS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhZDZmM2UKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoY3N0b3ByZWdfOTUuaApAQCAtMCwwICsxLDI1MiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NQSF9DU1RPUF9SRUdfSF8KKyNkZWZpbmUgX0NQSF9DU1RPUF9SRUdfSF8KKworCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBTUkFNQUREUjsgICAgICAgICAvKiBTUkFNIGFkZHIgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIFNSQU1EQVRBOyAgICAgICAgIC8qIFNSQU0gZGF0YSBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogQVBCQUREUjsgICAgICAgICAgLyogQVBCIGFkZHIgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBBUEJEQVRBOyAgICAgICAgICAvKiBBUEIgZGF0YSBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyogIEFQQkFERFIzMjsgICAgICAgIC8qIEFQQiBhZGRyIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICAgQVBCREFUQTMyOyAgICAgICAgLyogQVBCIGRhdGEgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBEUFJBTUFERFI7ICAgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgc2lnbmVkICAgc2hvcnQqIERQUkFNQUREUl9TOyAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgRFBSQU1EQVRBOyAgICAgICAgLyogRFBSQU0gZGF0YSBpcyAxNiBiaXRzICovCisKKworI2RlZmluZSBDU19UT1BfUkVHX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhBNzgwMDAwMCkKKworI2RlZmluZSBDU19UT1BfUkVHX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoQ1NfVE9QX1JFR19SRUdfQkFTRSArIDB4MDA0OCArIDEqNCkKKworCisKKyNkZWZpbmUgQ1NfQzFYX0NLX0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX1RPUF9SRUdfUkVHX0JBU0UgKyAweDAwMDApKQorI2RlZmluZSBDU19DRE9fQ0tfRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfVE9QX1JFR19SRUdfQkFTRSArIDB4MDAwNCkpCisjZGVmaW5lIENTX1dUX0NLX0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19UT1BfUkVHX1JFR19CQVNFICsgMHgwMDA4KSkKKyNkZWZpbmUgQ1NfTF9DS19FTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX1RPUF9SRUdfUkVHX0JBU0UgKyAweDAwMGMpKQorI2RlZmluZSBDU19DMVhfU1dfUlNUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfVE9QX1JFR19SRUdfQkFTRSArIDB4MDAxMCkpCisjZGVmaW5lIENTX0NET19TV19SU1QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19UT1BfUkVHX1JFR19CQVNFICsgMHgwMDE0KSkKKyNkZWZpbmUgQ1NfV1RfU1dfUlNUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX1RPUF9SRUdfUkVHX0JBU0UgKyAweDAwMTgpKQorI2RlZmluZSBDU19MX1NXX1JTVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfVE9QX1JFR19SRUdfQkFTRSArIDB4MDAxYykpCisjZGVmaW5lIENTX0RGRV9QSEFTRV9TRUwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19UT1BfUkVHX1JFR19CQVNFICsgMHgwMDIwKSkKKyNkZWZpbmUgQ1NfQzFYX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX1RPUF9SRUdfUkVHX0JBU0UgKyAweDAwMjQpKQorI2RlZmluZSBDU19DRE9fQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfVE9QX1JFR19SRUdfQkFTRSArIDB4MDAyOCkpCisjZGVmaW5lIENTX01FTV9TSEFSRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19UT1BfUkVHX1JFR19CQVNFICsgMHgwMDJjKSkKKyNkZWZpbmUgQ1NfTUVNX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX1RPUF9SRUdfUkVHX0JBU0UgKyAweDAwMzApKQorI2RlZmluZSBDU19QV1JfQVdBUkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfVE9QX1JFR19SRUdfQkFTRSArIDB4MDAzNCkpCisjZGVmaW5lIENTX1NZU19DS19JRExFX0RJVl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19UT1BfUkVHX1JFR19CQVNFICsgMHgwMDM4KSkKKyNkZWZpbmUgQ1NfU1lTX0NLX0lETEVfREJHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX1RPUF9SRUdfUkVHX0JBU0UgKyAweDAwM2MpKQorI2RlZmluZSBDU19URVNUX0JVU19TRUwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfVE9QX1JFR19SRUdfQkFTRSArIDB4MDA0MCkpCisjZGVmaW5lIENTX1JFU0VSVkVEMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19UT1BfUkVHX1JFR19CQVNFICsgMHgwMDQ0KSkKKyNkZWZpbmUgQ1NfUkVTRVJWRUQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX1RPUF9SRUdfUkVHX0JBU0UgKyAweDAwNDgpKQorCisKKyNkZWZpbmUgQ1NfQzFYX0NLX0VOX2MxeGNzX2NrX2RpdjJfZW5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENTX0MxWF9DS19FTl9jMXhjc19ja19kaXYyX2VuX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDU19DMVhfQ0tfRU5fYzF4Y3NfY2tfZGl2Ml9lbl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQ1NfQzFYX0NLX0VOX2MxeGNzX2NrX2RpdjJfZW5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQ1NfQ0RPX0NLX0VOX2Nkb2NzX2NrX2RpdjJfZW5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENTX0NET19DS19FTl9jZG9jc19ja19kaXYyX2VuX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDU19DRE9fQ0tfRU5fY2RvY3NfY2tfZGl2Ml9lbl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQ1NfQ0RPX0NLX0VOX2Nkb2NzX2NrX2RpdjJfZW5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQ1NfV1RfQ0tfRU5fVENTX0NLX0RJVjJfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIENTX1dUX0NLX0VOX1RDU19DS19ESVYyX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDU19XVF9DS19FTl9UQ1NfQ0tfRElWMl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgQ1NfV1RfQ0tfRU5fVENTX0NLX0RJVjJfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIENTX1dUX0NLX0VOX1RDU19DS19FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBDU19XVF9DS19FTl9UQ1NfQ0tfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ1NfV1RfQ0tfRU5fVENTX0NLX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIENTX1dUX0NLX0VOX1RDU19DS19FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBDU19XVF9DS19FTl9XQ1NfQ0tfRElWMl9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ1NfV1RfQ0tfRU5fV0NTX0NLX0RJVjJfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX1dUX0NLX0VOX1dDU19DS19ESVYyX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBDU19XVF9DS19FTl9XQ1NfQ0tfRElWMl9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBDU19XVF9DS19FTl9XQ1NfQ0tfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfV1RfQ0tfRU5fV0NTX0NLX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX1dUX0NLX0VOX1dDU19DS19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBDU19XVF9DS19FTl9XQ1NfQ0tfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBDU19MX0NLX0VOX0xDU19DS19FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfTF9DS19FTl9MQ1NfQ0tfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX0xfQ0tfRU5fTENTX0NLX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBDU19MX0NLX0VOX0xDU19DS19FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBDU19DMVhfU1dfUlNUX2MxeGNzX3N3X3JzdF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfQzFYX1NXX1JTVF9jMXhjc19zd19yc3RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX0MxWF9TV19SU1RfYzF4Y3Nfc3dfcnN0X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBDU19DMVhfU1dfUlNUX2MxeGNzX3N3X3JzdF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBDU19DRE9fU1dfUlNUX2Nkb2NzX3N3X3JzdF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfQ0RPX1NXX1JTVF9jZG9jc19zd19yc3RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX0NET19TV19SU1RfY2RvY3Nfc3dfcnN0X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBDU19DRE9fU1dfUlNUX2Nkb2NzX3N3X3JzdF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBDU19XVF9TV19SU1RfVENTX1NXX1JTVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ1NfV1RfU1dfUlNUX1RDU19TV19SU1RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX1dUX1NXX1JTVF9UQ1NfU1dfUlNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBDU19XVF9TV19SU1RfVENTX1NXX1JTVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBDU19XVF9TV19SU1RfV0NTX1NXX1JTVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfV1RfU1dfUlNUX1dDU19TV19SU1RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX1dUX1NXX1JTVF9XQ1NfU1dfUlNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBDU19XVF9TV19SU1RfV0NTX1NXX1JTVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBDU19MX1NXX1JTVF9MQ1NfU1dfUlNUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfTF9TV19SU1RfTENTX1NXX1JTVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX0xfU1dfUlNUX0xDU19TV19SU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBDU19MX1NXX1JTVF9MQ1NfU1dfUlNUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBDU19ERkVfUEhBU0VfU0VMX2NzX2RmZV9waGFzZV9zZWxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfREZFX1BIQVNFX1NFTF9jc19kZmVfcGhhc2Vfc2VsX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENTX0RGRV9QSEFTRV9TRUxfY3NfZGZlX3BoYXNlX3NlbF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAzKQorCisjZGVmaW5lIENTX0MxWF9DRkdfYzF4Y3NfZGF0YV9mcmFjX3NjYWxlX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBDU19DMVhfQ0ZHX2MxeGNzX2RhdGFfZnJhY19zY2FsZV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgQ1NfQzFYX0NGR19jMXhjc19kYXRhX2ZyYWNfc2NhbGVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDBGMDApCisKKyNkZWZpbmUgQ1NfQzFYX0NGR19jMXhjc19kYXRhX3JjX3NlbF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIENTX0MxWF9DRkdfYzF4Y3NfZGF0YV9yY19zZWxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBDU19DMVhfQ0ZHX2MxeGNzX2RhdGFfcmNfc2VsX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDBFMCkKKworI2RlZmluZSBDU19DMVhfQ0ZHX2MxeGNzX2lxX3N3YXBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgQ1NfQzFYX0NGR19jMXhjc19pcV9zd2FwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX0MxWF9DRkdfYzF4Y3NfaXFfc3dhcF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBDU19DMVhfQ0ZHX2MxeGNzX2lxX3N3YXBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBDU19DMVhfQ0ZHX2MxeGNzX2lucHV0X3NlbF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfQzFYX0NGR19jMXhjc19pbnB1dF9zZWxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIENTX0MxWF9DRkdfYzF4Y3NfaW5wdXRfc2VsX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIENTX0NET19DRkdfY2RvY3NfZGF0YV9mcmFjX3NjYWxlX2Rpdl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgQ1NfQ0RPX0NGR19jZG9jc19kYXRhX2ZyYWNfc2NhbGVfZGl2X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIENTX0NET19DRkdfY2RvY3NfZGF0YV9mcmFjX3NjYWxlX2Rpdl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwM0MwMDAwKQorCisjZGVmaW5lIENTX0NET19DRkdfY2RvY3NfZGF0YV9yY19zZWxfZGl2X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgQ1NfQ0RPX0NGR19jZG9jc19kYXRhX3JjX3NlbF9kaXZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENTX0NET19DRkdfY2RvY3NfZGF0YV9yY19zZWxfZGl2X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDMwMDAwKQorCisjZGVmaW5lIENTX0NET19DRkdfY2RvY3NfaXFfc3dhcF9kaXZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgQ1NfQ0RPX0NGR19jZG9jc19pcV9zd2FwX2Rpdl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX0NET19DRkdfY2RvY3NfaXFfc3dhcF9kaXZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBDU19DRE9fQ0ZHX2Nkb2NzX2lxX3N3YXBfZGl2X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBDU19DRE9fQ0ZHX2Nkb2NzX2lucHV0X3NlbF9kaXZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIENTX0NET19DRkdfY2RvY3NfaW5wdXRfc2VsX2Rpdl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBDU19DRE9fQ0ZHX2Nkb2NzX2lucHV0X3NlbF9kaXZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNzgwMCkKKworI2RlZmluZSBDU19DRE9fQ0ZHX2Nkb2NzX2RhdGFfZnJhY19zY2FsZV9tYWluX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgQ1NfQ0RPX0NGR19jZG9jc19kYXRhX2ZyYWNfc2NhbGVfbWFpbl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIENTX0NET19DRkdfY2RvY3NfZGF0YV9mcmFjX3NjYWxlX21haW5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNzgwKQorCisjZGVmaW5lIENTX0NET19DRkdfY2RvY3NfZGF0YV9yY19zZWxfbWFpbl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBDU19DRE9fQ0ZHX2Nkb2NzX2RhdGFfcmNfc2VsX21haW5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQ1NfQ0RPX0NGR19jZG9jc19kYXRhX3JjX3NlbF9tYWluX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNjApCisKKyNkZWZpbmUgQ1NfQ0RPX0NGR19jZG9jc19pcV9zd2FwX21haW5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIENTX0NET19DRkdfY2RvY3NfaXFfc3dhcF9tYWluX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDU19DRE9fQ0ZHX2Nkb2NzX2lxX3N3YXBfbWFpbl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgQ1NfQ0RPX0NGR19jZG9jc19pcV9zd2FwX21haW5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgQ1NfQ0RPX0NGR19jZG9jc19pbnB1dF9zZWxfbWFpbl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENTX0NET19DRkdfY2RvY3NfaW5wdXRfc2VsX21haW5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBDU19DRE9fQ0ZHX2Nkb2NzX2lucHV0X3NlbF9tYWluX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBDU19NRU1fU0hBUkVfQ1NfTUVNX0NPTkZMSUNUX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgQ1NfTUVNX1NIQVJFX0NTX01FTV9DT05GTElDVF9DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX01FTV9TSEFSRV9DU19NRU1fQ09ORkxJQ1RfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBDU19NRU1fU0hBUkVfQ1NfTUVNX0NPTkZMSUNUX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgQ1NfTUVNX1NIQVJFX0NTX01FTV9TV19NT0RFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENTX01FTV9TSEFSRV9DU19NRU1fU1dfTU9ERV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDU19NRU1fU0hBUkVfQ1NfTUVNX1NXX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgQ1NfTUVNX1NIQVJFX0NTX01FTV9TV19NT0RFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIENTX01FTV9TSEFSRV9jc19jMXhfbWVtX3NoYXJlX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDU19NRU1fU0hBUkVfY3NfYzF4X21lbV9zaGFyZV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ1NfTUVNX1NIQVJFX2NzX2MxeF9tZW1fc2hhcmVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIENTX01FTV9TSEFSRV9jc19jMXhfbWVtX3NoYXJlX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIENTX01FTV9TSEFSRV9jc193Y19tZW1fbW9kZV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBDU19NRU1fU0hBUkVfY3Nfd2NfbWVtX21vZGVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ1NfTUVNX1NIQVJFX2NzX3djX21lbV9tb2RlX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIENTX01FTV9TSEFSRV9jc193Y19tZW1fbW9kZV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIENTX01FTV9TVEFUVVNfQ1NfTUVNX0NPTkZMSUNUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBDU19NRU1fU1RBVFVTX0NTX01FTV9DT05GTElDVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ1NfTUVNX1NUQVRVU19DU19NRU1fQ09ORkxJQ1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIENTX01FTV9TVEFUVVNfQ1NfTUVNX0NPTkZMSUNUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBDU19NRU1fU1RBVFVTX2NzX21lbV9zdGF0dXNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfTUVNX1NUQVRVU19jc19tZW1fc3RhdHVzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENTX01FTV9TVEFUVVNfY3NfbWVtX3N0YXR1c19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAzKQorCisjZGVmaW5lIENTX1BXUl9BV0FSRV93dGNzX3B3cl9hd2FyZV9lbl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBDU19QV1JfQVdBUkVfd3Rjc19wd3JfYXdhcmVfZW5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ1NfUFdSX0FXQVJFX3d0Y3NfcHdyX2F3YXJlX2VuX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIENTX1BXUl9BV0FSRV93dGNzX3B3cl9hd2FyZV9lbl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIENTX1BXUl9BV0FSRV9jc19kY21faWRsZV9lbl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDU19QV1JfQVdBUkVfY3NfZGNtX2lkbGVfZW5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ1NfUFdSX0FXQVJFX2NzX2RjbV9pZGxlX2VuX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIENTX1BXUl9BV0FSRV9jc19kY21faWRsZV9lbl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIENTX1BXUl9BV0FSRV9jc19idXNfcHdyX2F3YXJlX2VuX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBDU19QV1JfQVdBUkVfY3NfYnVzX3B3cl9hd2FyZV9lbl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ1NfUFdSX0FXQVJFX2NzX2J1c19wd3JfYXdhcmVfZW5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIENTX1BXUl9BV0FSRV9jc19idXNfcHdyX2F3YXJlX2VuX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIENTX1NZU19DS19JRExFX0RJVl9NQVNLX2NzX3N5c19ja19pZGxlX2Rpdl9tYXNrX0xTQiAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBDU19TWVNfQ0tfSURMRV9ESVZfTUFTS19jc19zeXNfY2tfaWRsZV9kaXZfbWFza19XSURUSCAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgQ1NfU1lTX0NLX0lETEVfRElWX01BU0tfY3Nfc3lzX2NrX2lkbGVfZGl2X21hc2tfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUYpCisKKyNkZWZpbmUgQ1NfU1lTX0NLX0lETEVfREJHX01BU0tfY3Nfc3lzX2NrX2lkbGVfZGJnX21hc2tfTFNCICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENTX1NZU19DS19JRExFX0RCR19NQVNLX2NzX3N5c19ja19pZGxlX2RiZ19tYXNrX1dJRFRIICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBDU19TWVNfQ0tfSURMRV9EQkdfTUFTS19jc19zeXNfY2tfaWRsZV9kYmdfbWFza19NQVNLICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxRikKKworI2RlZmluZSBDU19URVNUX0JVU19TRUxfY3NfdGVzdF9idXNfc2VsX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfVEVTVF9CVVNfU0VMX2NzX3Rlc3RfYnVzX3NlbF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIENTX1RFU1RfQlVTX1NFTF9jc190ZXN0X2J1c19zZWxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIENTX1JFU0VSVkVEMF9jc19yc3YwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBDU19SRVNFUlZFRDBfY3NfcnN2MF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIENTX1JFU0VSVkVEMF9jc19yc3YwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIENTX1JFU0VSVkVEMV9jc19yc3YxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBDU19SRVNFUlZFRDFfY3NfcnN2MV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIENTX1JFU0VSVkVEMV9jc19yc3YxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisKKyNlbmRpZiAvLyNpZm5kZWYgX0VMMURfUkVHX0VMQlJVU19IXwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGNzdG9wcmVnXzk3LmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoY3N0b3ByZWdfOTcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZThiZjBiCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGNzdG9wcmVnXzk3LmgKQEAgLTAsMCArMSwzMTIgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhfQ1NUT1BfUkVHXzk3X0hfCisjZGVmaW5lICBfQ1BIX0NTVE9QX1JFR185N19IXworCisKK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIFNSQU1BRERSOyAgICAgICAgIC8qIFNSQU0gYWRkciBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgU1JBTURBVEE7ICAgICAgICAgLyogU1JBTSBkYXRhIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBBUEJBRERSOyAgICAgICAgICAvKiBBUEIgYWRkciBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIEFQQkRBVEE7ICAgICAgICAgIC8qIEFQQiBkYXRhIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nKiAgQVBCQUREUjMyOyAgICAgICAgLyogQVBCIGFkZHIgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgICBBUEJEQVRBMzI7ICAgICAgICAvKiBBUEIgZGF0YSBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIERQUkFNQUREUjsgICAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSBzaWduZWQgICBzaG9ydCogRFBSQU1BRERSX1M7ICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBEUFJBTURBVEE7ICAgICAgICAvKiBEUFJBTSBkYXRhIGlzIDE2IGJpdHMgKi8KKworCisjZGVmaW5lIENTX1RPUF9SRUdfUkVHX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEE5ODAwMDAwKQorCisjZGVmaW5lIENTX1RPUF9SRUdfZW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChDU19UT1BfUkVHX1JFR19CQVNFICsgMHgwMDYwICsgMSo0KQorCisKKworI2RlZmluZSBDU19DMVhfQ0tfRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfVE9QX1JFR19SRUdfQkFTRSArIDB4MDAwMCkpCisjZGVmaW5lIENTX0NET19DS19FTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19UT1BfUkVHX1JFR19CQVNFICsgMHgwMDA0KSkKKyNkZWZpbmUgQ1NfV1RfQ0tfRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX1RPUF9SRUdfUkVHX0JBU0UgKyAweDAwMDgpKQorI2RlZmluZSBDU19MX0NLX0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfVE9QX1JFR19SRUdfQkFTRSArIDB4MDAwYykpCisjZGVmaW5lIENTX0MxWF9TV19SU1QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19UT1BfUkVHX1JFR19CQVNFICsgMHgwMDEwKSkKKyNkZWZpbmUgQ1NfQ0RPX1NXX1JTVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX1RPUF9SRUdfUkVHX0JBU0UgKyAweDAwMTQpKQorI2RlZmluZSBDU19XVF9TV19SU1QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfVE9QX1JFR19SRUdfQkFTRSArIDB4MDAxOCkpCisjZGVmaW5lIENTX0xfU1dfUlNUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19UT1BfUkVHX1JFR19CQVNFICsgMHgwMDFjKSkKKyNkZWZpbmUgQ1NfREZFX1BIQVNFX1NFTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX1RPUF9SRUdfUkVHX0JBU0UgKyAweDAwMjApKQorI2RlZmluZSBDU19DMVhfQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfVE9QX1JFR19SRUdfQkFTRSArIDB4MDAyNCkpCisjZGVmaW5lIENTX0NET19DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19UT1BfUkVHX1JFR19CQVNFICsgMHgwMDI4KSkKKyNkZWZpbmUgQ1NfTUVNX1NIQVJFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX1RPUF9SRUdfUkVHX0JBU0UgKyAweDAwMmMpKQorI2RlZmluZSBDU19NRU1fU1RBVFVTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfVE9QX1JFR19SRUdfQkFTRSArIDB4MDAzMCkpCisjZGVmaW5lIENTX1BXUl9BV0FSRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19UT1BfUkVHX1JFR19CQVNFICsgMHgwMDM0KSkKKyNkZWZpbmUgQ1NfU1lTX0NLX0lETEVfRElWX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX1RPUF9SRUdfUkVHX0JBU0UgKyAweDAwMzgpKQorI2RlZmluZSBDU19TWVNfQ0tfSURMRV9EQkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfVE9QX1JFR19SRUdfQkFTRSArIDB4MDAzYykpCisjZGVmaW5lIENTX1RFU1RfQlVTX1NFTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19UT1BfUkVHX1JFR19CQVNFICsgMHgwMDQwKSkKKyNkZWZpbmUgQ1NfUkVTRVJWRUQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX1RPUF9SRUdfUkVHX0JBU0UgKyAweDAwNDQpKQorI2RlZmluZSBDU19SRVNFUlZFRDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfVE9QX1JFR19SRUdfQkFTRSArIDB4MDA0OCkpCisjZGVmaW5lIENTX1NUX1NZU19DTlRfQzFYX0RCRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19UT1BfUkVHX1JFR19CQVNFICsgMHgwMDRjKSkKKyNkZWZpbmUgQ1NfU1RfU1lTX0NOVF9DRE9fREJHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX1RPUF9SRUdfUkVHX0JBU0UgKyAweDAwNTApKQorI2RlZmluZSBDU19SWERGRV9GQ19PVVRfSVFfREJHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfVE9QX1JFR19SRUdfQkFTRSArIDB4MDA1NCkpCisjZGVmaW5lIENTX0lOUFVUX1NFTF9EQkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19UT1BfUkVHX1JFR19CQVNFICsgMHgwMDU4KSkKKyNkZWZpbmUgQ1NfQ1dfTU9ERV9TRUxfREJHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX1RPUF9SRUdfUkVHX0JBU0UgKyAweDAwNWMpKQorI2RlZmluZSBDU19ERFJfRU5fREJHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfVE9QX1JFR19SRUdfQkFTRSArIDB4MDA2MCkpCisKKworI2RlZmluZSBDU19DMVhfQ0tfRU5fYzF4Y3NfY2tfZGl2Ml9lbl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfQzFYX0NLX0VOX2MxeGNzX2NrX2RpdjJfZW5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX0MxWF9DS19FTl9jMXhjc19ja19kaXYyX2VuX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBDU19DMVhfQ0tfRU5fYzF4Y3NfY2tfZGl2Ml9lbl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBDU19DRE9fQ0tfRU5fY2RvY3NfY2tfZGl2Ml9lbl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfQ0RPX0NLX0VOX2Nkb2NzX2NrX2RpdjJfZW5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX0NET19DS19FTl9jZG9jc19ja19kaXYyX2VuX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBDU19DRE9fQ0tfRU5fY2RvY3NfY2tfZGl2Ml9lbl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBDU19XVF9DS19FTl9UQ1NfQ0tfRElWMl9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgQ1NfV1RfQ0tfRU5fVENTX0NLX0RJVjJfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX1dUX0NLX0VOX1RDU19DS19ESVYyX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBDU19XVF9DS19FTl9UQ1NfQ0tfRElWMl9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBDU19XVF9DS19FTl9UQ1NfQ0tfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQ1NfV1RfQ0tfRU5fVENTX0NLX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX1dUX0NLX0VOX1RDU19DS19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBDU19XVF9DS19FTl9UQ1NfQ0tfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBDU19XVF9DS19FTl9XQ1NfQ0tfRElWMl9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ1NfV1RfQ0tfRU5fV0NTX0NLX0RJVjJfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX1dUX0NLX0VOX1dDU19DS19ESVYyX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBDU19XVF9DS19FTl9XQ1NfQ0tfRElWMl9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBDU19XVF9DS19FTl9XQ1NfQ0tfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfV1RfQ0tfRU5fV0NTX0NLX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX1dUX0NLX0VOX1dDU19DS19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBDU19XVF9DS19FTl9XQ1NfQ0tfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBDU19MX0NLX0VOX0xDU19DS19FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfTF9DS19FTl9MQ1NfQ0tfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX0xfQ0tfRU5fTENTX0NLX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBDU19MX0NLX0VOX0xDU19DS19FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBDU19DMVhfU1dfUlNUX2MxeGNzX3N3X3JzdF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfQzFYX1NXX1JTVF9jMXhjc19zd19yc3RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX0MxWF9TV19SU1RfYzF4Y3Nfc3dfcnN0X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBDU19DMVhfU1dfUlNUX2MxeGNzX3N3X3JzdF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBDU19DRE9fU1dfUlNUX2Nkb2NzX3N3X3JzdF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfQ0RPX1NXX1JTVF9jZG9jc19zd19yc3RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX0NET19TV19SU1RfY2RvY3Nfc3dfcnN0X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBDU19DRE9fU1dfUlNUX2Nkb2NzX3N3X3JzdF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBDU19XVF9TV19SU1RfVENTX1NXX1JTVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ1NfV1RfU1dfUlNUX1RDU19TV19SU1RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX1dUX1NXX1JTVF9UQ1NfU1dfUlNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBDU19XVF9TV19SU1RfVENTX1NXX1JTVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBDU19XVF9TV19SU1RfV0NTX1NXX1JTVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfV1RfU1dfUlNUX1dDU19TV19SU1RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX1dUX1NXX1JTVF9XQ1NfU1dfUlNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBDU19XVF9TV19SU1RfV0NTX1NXX1JTVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBDU19MX1NXX1JTVF9MQ1NfU1dfUlNUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfTF9TV19SU1RfTENTX1NXX1JTVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX0xfU1dfUlNUX0xDU19TV19SU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBDU19MX1NXX1JTVF9MQ1NfU1dfUlNUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBDU19ERkVfUEhBU0VfU0VMX2NzX2RmZV9waGFzZV9zZWxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfREZFX1BIQVNFX1NFTF9jc19kZmVfcGhhc2Vfc2VsX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENTX0RGRV9QSEFTRV9TRUxfY3NfZGZlX3BoYXNlX3NlbF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAzKQorCisjZGVmaW5lIENTX0MxWF9DRkdfYzF4Y3NfZGF0YV9mcmFjX3NjYWxlX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBDU19DMVhfQ0ZHX2MxeGNzX2RhdGFfZnJhY19zY2FsZV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgQ1NfQzFYX0NGR19jMXhjc19kYXRhX2ZyYWNfc2NhbGVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDBGMDApCisKKyNkZWZpbmUgQ1NfQzFYX0NGR19jMXhjc19kYXRhX3JjX3NlbF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIENTX0MxWF9DRkdfYzF4Y3NfZGF0YV9yY19zZWxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBDU19DMVhfQ0ZHX2MxeGNzX2RhdGFfcmNfc2VsX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDBFMCkKKworI2RlZmluZSBDU19DMVhfQ0ZHX2MxeGNzX2lxX3N3YXBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgQ1NfQzFYX0NGR19jMXhjc19pcV9zd2FwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX0MxWF9DRkdfYzF4Y3NfaXFfc3dhcF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBDU19DMVhfQ0ZHX2MxeGNzX2lxX3N3YXBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBDU19DMVhfQ0ZHX2MxeGNzX2lucHV0X3NlbF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfQzFYX0NGR19jMXhjc19pbnB1dF9zZWxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIENTX0MxWF9DRkdfYzF4Y3NfaW5wdXRfc2VsX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIENTX0NET19DRkdfY2RvY3NfZGF0YV9mcmFjX3NjYWxlX2Rpdl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgQ1NfQ0RPX0NGR19jZG9jc19kYXRhX2ZyYWNfc2NhbGVfZGl2X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIENTX0NET19DRkdfY2RvY3NfZGF0YV9mcmFjX3NjYWxlX2Rpdl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwM0MwMDAwKQorCisjZGVmaW5lIENTX0NET19DRkdfY2RvY3NfZGF0YV9yY19zZWxfZGl2X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgQ1NfQ0RPX0NGR19jZG9jc19kYXRhX3JjX3NlbF9kaXZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENTX0NET19DRkdfY2RvY3NfZGF0YV9yY19zZWxfZGl2X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDMwMDAwKQorCisjZGVmaW5lIENTX0NET19DRkdfY2RvY3NfaXFfc3dhcF9kaXZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgQ1NfQ0RPX0NGR19jZG9jc19pcV9zd2FwX2Rpdl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX0NET19DRkdfY2RvY3NfaXFfc3dhcF9kaXZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBDU19DRE9fQ0ZHX2Nkb2NzX2lxX3N3YXBfZGl2X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBDU19DRE9fQ0ZHX2Nkb2NzX2lucHV0X3NlbF9kaXZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIENTX0NET19DRkdfY2RvY3NfaW5wdXRfc2VsX2Rpdl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBDU19DRE9fQ0ZHX2Nkb2NzX2lucHV0X3NlbF9kaXZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNzgwMCkKKworI2RlZmluZSBDU19DRE9fQ0ZHX2Nkb2NzX2RhdGFfZnJhY19zY2FsZV9tYWluX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgQ1NfQ0RPX0NGR19jZG9jc19kYXRhX2ZyYWNfc2NhbGVfbWFpbl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIENTX0NET19DRkdfY2RvY3NfZGF0YV9mcmFjX3NjYWxlX21haW5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNzgwKQorCisjZGVmaW5lIENTX0NET19DRkdfY2RvY3NfZGF0YV9yY19zZWxfbWFpbl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBDU19DRE9fQ0ZHX2Nkb2NzX2RhdGFfcmNfc2VsX21haW5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQ1NfQ0RPX0NGR19jZG9jc19kYXRhX3JjX3NlbF9tYWluX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNjApCisKKyNkZWZpbmUgQ1NfQ0RPX0NGR19jZG9jc19pcV9zd2FwX21haW5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIENTX0NET19DRkdfY2RvY3NfaXFfc3dhcF9tYWluX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDU19DRE9fQ0ZHX2Nkb2NzX2lxX3N3YXBfbWFpbl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgQ1NfQ0RPX0NGR19jZG9jc19pcV9zd2FwX21haW5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgQ1NfQ0RPX0NGR19jZG9jc19pbnB1dF9zZWxfbWFpbl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENTX0NET19DRkdfY2RvY3NfaW5wdXRfc2VsX21haW5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBDU19DRE9fQ0ZHX2Nkb2NzX2lucHV0X3NlbF9tYWluX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBDU19NRU1fU0hBUkVfQ1NfTUVNX0NPTkZMSUNUX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgQ1NfTUVNX1NIQVJFX0NTX01FTV9DT05GTElDVF9DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX01FTV9TSEFSRV9DU19NRU1fQ09ORkxJQ1RfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBDU19NRU1fU0hBUkVfQ1NfTUVNX0NPTkZMSUNUX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBDU19NRU1fU0hBUkVfQ1NfTUVNX1NXX01PREVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQ1NfTUVNX1NIQVJFX0NTX01FTV9TV19NT0RFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX01FTV9TSEFSRV9DU19NRU1fU1dfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBDU19NRU1fU0hBUkVfQ1NfTUVNX1NXX01PREVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBDU19NRU1fU0hBUkVfY3NfYzF4X21lbV9zaGFyZV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ1NfTUVNX1NIQVJFX2NzX2MxeF9tZW1fc2hhcmVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX01FTV9TSEFSRV9jc19jMXhfbWVtX3NoYXJlX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBDU19NRU1fU0hBUkVfY3NfYzF4X21lbV9zaGFyZV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBDU19NRU1fU0hBUkVfY3Nfd2NfbWVtX21vZGVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfTUVNX1NIQVJFX2NzX3djX21lbV9tb2RlX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX01FTV9TSEFSRV9jc193Y19tZW1fbW9kZV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBDU19NRU1fU0hBUkVfY3Nfd2NfbWVtX21vZGVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBDU19NRU1fU1RBVFVTX0NTX01FTV9DT05GTElDVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQ1NfTUVNX1NUQVRVU19DU19NRU1fQ09ORkxJQ1RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX01FTV9TVEFUVVNfQ1NfTUVNX0NPTkZMSUNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBDU19NRU1fU1RBVFVTX0NTX01FTV9DT05GTElDVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgQ1NfTUVNX1NUQVRVU19jc19tZW1fc3RhdHVzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENTX01FTV9TVEFUVVNfY3NfbWVtX3N0YXR1c19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBDU19NRU1fU1RBVFVTX2NzX21lbV9zdGF0dXNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMykKKworI2RlZmluZSBDU19QV1JfQVdBUkVfd3Rjc19wd3JfYXdhcmVfZW5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQ1NfUFdSX0FXQVJFX3d0Y3NfcHdyX2F3YXJlX2VuX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX1BXUl9BV0FSRV93dGNzX3B3cl9hd2FyZV9lbl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBDU19QV1JfQVdBUkVfd3Rjc19wd3JfYXdhcmVfZW5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBDU19QV1JfQVdBUkVfY3NfZGNtX2lkbGVfZW5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ1NfUFdSX0FXQVJFX2NzX2RjbV9pZGxlX2VuX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX1BXUl9BV0FSRV9jc19kY21faWRsZV9lbl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBDU19QV1JfQVdBUkVfY3NfZGNtX2lkbGVfZW5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBDU19QV1JfQVdBUkVfY3NfYnVzX3B3cl9hd2FyZV9lbl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfUFdSX0FXQVJFX2NzX2J1c19wd3JfYXdhcmVfZW5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENTX1BXUl9BV0FSRV9jc19idXNfcHdyX2F3YXJlX2VuX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBDU19QV1JfQVdBUkVfY3NfYnVzX3B3cl9hd2FyZV9lbl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBDU19TWVNfQ0tfSURMRV9ESVZfTUFTS19jc19zeXNfY2tfaWRsZV9kaXZfbWFza19MU0IgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfU1lTX0NLX0lETEVfRElWX01BU0tfY3Nfc3lzX2NrX2lkbGVfZGl2X21hc2tfV0lEVEggICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIENTX1NZU19DS19JRExFX0RJVl9NQVNLX2NzX3N5c19ja19pZGxlX2Rpdl9tYXNrX01BU0sgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIENTX1NZU19DS19JRExFX0RCR19NQVNLX2NzX3N5c19ja19pZGxlX2RiZ19tYXNrX0xTQiAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBDU19TWVNfQ0tfSURMRV9EQkdfTUFTS19jc19zeXNfY2tfaWRsZV9kYmdfbWFza19XSURUSCAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgQ1NfU1lTX0NLX0lETEVfREJHX01BU0tfY3Nfc3lzX2NrX2lkbGVfZGJnX21hc2tfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUYpCisKKyNkZWZpbmUgQ1NfVEVTVF9CVVNfU0VMX2NzX3Rlc3RfYnVzX3NlbF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENTX1RFU1RfQlVTX1NFTF9jc190ZXN0X2J1c19zZWxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBDU19URVNUX0JVU19TRUxfY3NfdGVzdF9idXNfc2VsX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBDU19SRVNFUlZFRDBfY3NfcnN2MF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfUkVTRVJWRUQwX2NzX3JzdjBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBDU19SRVNFUlZFRDBfY3NfcnN2MF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBDU19SRVNFUlZFRDFfY3NfcnN2MV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfUkVTRVJWRUQxX2NzX3JzdjFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBDU19SRVNFUlZFRDFfY3NfcnN2MV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBDU19TVF9TWVNfQ05UX0MxWF9EQkdfQzFYQ1NfREZFX1RHTF9EQkdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIENTX1NUX1NZU19DTlRfQzFYX0RCR19DMVhDU19ERkVfVEdMX0RCR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDU19TVF9TWVNfQ05UX0MxWF9EQkdfQzFYQ1NfREZFX1RHTF9EQkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMCkKKyNkZWZpbmUgQ1NfU1RfU1lTX0NOVF9DMVhfREJHX0MxWENTX0RGRV9UR0xfREJHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisKKyNkZWZpbmUgQ1NfU1RfU1lTX0NOVF9DMVhfREJHX1NUX1NZU19DTlRfQzFYX0RCR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENTX1NUX1NZU19DTlRfQzFYX0RCR19TVF9TWVNfQ05UX0MxWF9EQkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgQ1NfU1RfU1lTX0NOVF9DMVhfREJHX1NUX1NZU19DTlRfQzFYX0RCR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkYpCisKKyNkZWZpbmUgQ1NfU1RfU1lTX0NOVF9DRE9fREJHX0NET0NTX0RGRV9UR0xfREJHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBDU19TVF9TWVNfQ05UX0NET19EQkdfQ0RPQ1NfREZFX1RHTF9EQkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ1NfU1RfU1lTX0NOVF9DRE9fREJHX0NET0NTX0RGRV9UR0xfREJHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisjZGVmaW5lIENTX1NUX1NZU19DTlRfQ0RPX0RCR19DRE9DU19ERkVfVEdMX0RCR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorCisjZGVmaW5lIENTX1NUX1NZU19DTlRfQ0RPX0RCR19TVF9TWVNfQ05UX0NET19EQkdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBDU19TVF9TWVNfQ05UX0NET19EQkdfU1RfU1lTX0NOVF9DRE9fREJHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIENTX1NUX1NZU19DTlRfQ0RPX0RCR19TVF9TWVNfQ05UX0NET19EQkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZGKQorCisjZGVmaW5lIENTX1JYREZFX0ZDX09VVF9JUV9EQkdfUlhERkVfRkNfT1VUX1FfREJHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgQ1NfUlhERkVfRkNfT1VUX0lRX0RCR19SWERGRV9GQ19PVVRfUV9EQkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBDU19SWERGRV9GQ19PVVRfSVFfREJHX1JYREZFX0ZDX09VVF9RX0RCR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg3RkZGMDAwMCkKKworI2RlZmluZSBDU19SWERGRV9GQ19PVVRfSVFfREJHX1JYREZFX0ZDX09VVF9JX0RCR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfUlhERkVfRkNfT1VUX0lRX0RCR19SWERGRV9GQ19PVVRfSV9EQkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBDU19SWERGRV9GQ19PVVRfSVFfREJHX1JYREZFX0ZDX09VVF9JX0RCR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKworI2RlZmluZSBDU19JTlBVVF9TRUxfREJHX0lOUFVUX1NFTF9EQkdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ1NfSU5QVVRfU0VMX0RCR19JTlBVVF9TRUxfREJHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIENTX0lOUFVUX1NFTF9EQkdfSU5QVVRfU0VMX0RCR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIENTX0NXX01PREVfU0VMX0RCR19DU19DV19NT0RFX1NFTF9EQkdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBDU19DV19NT0RFX1NFTF9EQkdfQ1NfQ1dfTU9ERV9TRUxfREJHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ1NfQ1dfTU9ERV9TRUxfREJHX0NTX0NXX01PREVfU0VMX0RCR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIENTX0NXX01PREVfU0VMX0RCR19DU19DV19NT0RFX1NFTF9EQkdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIENTX0REUl9FTl9EQkdfTVMzX0REUl9DTE9DS19FTkFfREJHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBDU19ERFJfRU5fREJHX01TM19ERFJfQ0xPQ0tfRU5BX0RCR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ1NfRERSX0VOX0RCR19NUzNfRERSX0NMT0NLX0VOQV9EQkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIENTX0REUl9FTl9EQkdfTVMzX0REUl9DTE9DS19FTkFfREJHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIENTX0REUl9FTl9EQkdfRENYT19ERFJfQ0xPQ0tfRU5BX0RCR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDU19ERFJfRU5fREJHX0RDWE9fRERSX0NMT0NLX0VOQV9EQkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ1NfRERSX0VOX0RCR19EQ1hPX0REUl9DTE9DS19FTkFfREJHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIENTX0REUl9FTl9EQkdfRENYT19ERFJfQ0xPQ0tfRU5BX0RCR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIENTX0REUl9FTl9EQkdfTFRFTDFfQ1NfVE9QX0REUl9FTl9EQkdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBDU19ERFJfRU5fREJHX0xURUwxX0NTX1RPUF9ERFJfRU5fREJHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ1NfRERSX0VOX0RCR19MVEVMMV9DU19UT1BfRERSX0VOX0RCR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIENTX0REUl9FTl9EQkdfTFRFTDFfQ1NfVE9QX0REUl9FTl9EQkdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisKKyNlbmRpZiAvLyNpZm5kZWYgI2lmbmRlZiBfQ1BIX0NTVE9QX1JFR185N19IXwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGQyYmlmLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoZDJiaWYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YWI2MWVjCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGQyYmlmLmgKQEAgLTAsMCArMSw0MiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiBkZWZpbmVkKF9fTUQ5M19fKQorI2luY2x1ZGUgImNwaGQyYmlmXzkzLmgiCisjZWxpZiBkZWZpbmVkKF9fTUQ5NV9fKSB8fCBkZWZpbmVkKF9fTUQ5N19fKQorI2luY2x1ZGUgImNwaGQyYmlmXzk1LmgiCisjZWxzZQorI2Vycm9yICJbRVJST1JdIEludmFsaWQgTUQgZ2VuZXJhdGlvbiIKKyNlbmRpZgorCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoZDJiaWZfOTMuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhkMmJpZl85My5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiNDI5YTYKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoZDJiaWZfOTMuaApAQCAtMCwwICsxLDQ1OCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NQSF9EMkJJRl9IXworI2RlZmluZSBfQ1BIX0QyQklGX0hfCisKKwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogU1JBTUFERFI7ICAgICAgICAgLyogU1JBTSBhZGRyIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBTUkFNREFUQTsgICAgICAgICAvKiBTUkFNIGRhdGEgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIEFQQkFERFI7ICAgICAgICAgIC8qIEFQQiBhZGRyIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgQVBCREFUQTsgICAgICAgICAgLyogQVBCIGRhdGEgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqICBBUEJBRERSMzI7ICAgICAgICAvKiBBUEIgYWRkciBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAgIEFQQkRBVEEzMjsgICAgICAgIC8qIEFQQiBkYXRhIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogRFBSQU1BRERSOyAgICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHNpZ25lZCAgIHNob3J0KiBEUFJBTUFERFJfUzsgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIERQUkFNREFUQTsgICAgICAgIC8qIERQUkFNIGRhdGEgaXMgMTYgYml0cyAqLworCisjZGVmaW5lIFJYX0JBU0lDX0lORk9fQ0MwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKTB4QUI4MjAwMjgpCisjZGVmaW5lIFJYX0JBU0lDX0lORk9fQ0MxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKTB4QUI4MjAwNEMpCisKKyNkZWZpbmUgRDJCSUZfQ1dfUkVHX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QUI4MjQwMDApLypUQkQqLworCisKKyNkZWZpbmUgRDJCSUZfQ1dfZW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEQyQklGX0NXX1JFR19CQVNFICsgMHgwMDg0ICsgMSo0KQorCisKKworCisjZGVmaW5lIEQyQklGX0NXX0NPTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShEMkJJRl9DV19SRUdfQkFTRSArIDB4MDAwMCkpCisjZGVmaW5lIEQyQklGX0NXX1NXX1JTVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShEMkJJRl9DV19SRUdfQkFTRSArIDB4MDAwNCkpCisjZGVmaW5lIEQyQklGX0NXX0FERFJfMDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShEMkJJRl9DV19SRUdfQkFTRSArIDB4MDAwOCkpCisjZGVmaW5lIEQyQklGX0NXX0FERFJfMjMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShEMkJJRl9DV19SRUdfQkFTRSArIDB4MDAwQykpCisjZGVmaW5lIEQyQklGX0NXX1NZTkMwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShEMkJJRl9DV19SRUdfQkFTRSArIDB4MDAxMCkpCisjZGVmaW5lIEQyQklGX0NXX1NZTkMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShEMkJJRl9DV19SRUdfQkFTRSArIDB4MDAxNCkpCisjZGVmaW5lIEQyQklGX0NXX1NZTkMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShEMkJJRl9DV19SRUdfQkFTRSArIDB4MDAxOCkpCisjZGVmaW5lIEQyQklGX0NXX1NZTkMzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShEMkJJRl9DV19SRUdfQkFTRSArIDB4MDAxQykpCisjZGVmaW5lIFRJTUVSX1NZTkNfREFUQTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShEMkJJRl9DV19SRUdfQkFTRSArIDB4MDAyMCkpCisjZGVmaW5lIFRJTUVSX1NZTkNfREFUQTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShEMkJJRl9DV19SRUdfQkFTRSArIDB4MDAyNCkpCisjZGVmaW5lIFRJTUVSX1NZTkNfREFUQTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShEMkJJRl9DV19SRUdfQkFTRSArIDB4MDAyOCkpCisjZGVmaW5lIFRJTUVSX1NZTkNfREFUQTMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShEMkJJRl9DV19SRUdfQkFTRSArIDB4MDAyQykpCisjZGVmaW5lIEQyQklGX0NXX0RJUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShEMkJJRl9DV19SRUdfQkFTRSArIDB4MDAzMCkpCisjZGVmaW5lIEQyQklGX0NXX0RCR19DT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShEMkJJRl9DV19SRUdfQkFTRSArIDB4MDAzNCkpCisjZGVmaW5lIEQyQklGX0NXX1dSRVFfQ05UXzAxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShEMkJJRl9DV19SRUdfQkFTRSArIDB4MDAzOCkpCisjZGVmaW5lIEQyQklGX0NXX1dSRVFfQ05UXzIzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShEMkJJRl9DV19SRUdfQkFTRSArIDB4MDAzQykpCisjZGVmaW5lIEQyQklGX0NXX1dSX0ZTTV8wMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShEMkJJRl9DV19SRUdfQkFTRSArIDB4MDA0MCkpCisjZGVmaW5lIEQyQklGX0NXX1dSX0ZTTV8yMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShEMkJJRl9DV19SRUdfQkFTRSArIDB4MDA0NCkpCisjZGVmaW5lIEQyQklGX0NXX1JFUV9SRUNfMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShEMkJJRl9DV19SRUdfQkFTRSArIDB4MDA0OCkpCisjZGVmaW5lIEQyQklGX0NXX1JFUV9SRUNfMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShEMkJJRl9DV19SRUdfQkFTRSArIDB4MDA0QykpCisjZGVmaW5lIEQyQklGX0NXX1JFUV9SRUNfMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShEMkJJRl9DV19SRUdfQkFTRSArIDB4MDA1MCkpCisjZGVmaW5lIEQyQklGX0NXX1JFUV9SRUNfMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShEMkJJRl9DV19SRUdfQkFTRSArIDB4MDA1NCkpCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0EwQzBfMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShEMkJJRl9DV19SRUdfQkFTRSArIDB4MDA1OCkpCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0ExQzBfMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShEMkJJRl9DV19SRUdfQkFTRSArIDB4MDA1QykpCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0EwQzFfMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShEMkJJRl9DV19SRUdfQkFTRSArIDB4MDA2MCkpCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0ExQzFfMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShEMkJJRl9DV19SRUdfQkFTRSArIDB4MDA2NCkpCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0EwQzBfMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShEMkJJRl9DV19SRUdfQkFTRSArIDB4MDA2OCkpCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0ExQzBfMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShEMkJJRl9DV19SRUdfQkFTRSArIDB4MDA2QykpCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0EwQzFfMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShEMkJJRl9DV19SRUdfQkFTRSArIDB4MDA3MCkpCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0ExQzFfMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShEMkJJRl9DV19SRUdfQkFTRSArIDB4MDA3NCkpCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX1FMSUNfMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShEMkJJRl9DV19SRUdfQkFTRSArIDB4MDA3OCkpCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX1FMSUNfMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShEMkJJRl9DV19SRUdfQkFTRSArIDB4MDA3QykpCisjZGVmaW5lIEQyQklGX0NXX1dBRERSX1NFTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShEMkJJRl9DV19SRUdfQkFTRSArIDB4MDA4MCkpCisjZGVmaW5lIEQyQklGX0NXX1JFU0VSVkVEMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShEMkJJRl9DV19SRUdfQkFTRSArIDB4MDA4NCkpCisKKworI2RlZmluZSBEMkJJRl9DV19DT05fRDJCSUZfQ1dfVFJBTlNfTU9ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE5KQorI2RlZmluZSBEMkJJRl9DV19DT05fRDJCSUZfQ1dfVFJBTlNfTU9ERV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEQyQklGX0NXX0NPTl9EMkJJRl9DV19UUkFOU19NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDA4MDAwMCkKKyNkZWZpbmUgRDJCSUZfQ1dfQ09OX0QyQklGX0NXX1RSQU5TX01PREVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwODAwMDApCisKKworI2RlZmluZSBEMkJJRl9DV19DT05fUUxJQ19EQVRBX1JDX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEQyQklGX0NXX0NPTl9RTElDX0RBVEFfUkNfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgRDJCSUZfQ1dfQ09OX1FMSUNfREFUQV9SQ19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDcwMDAwKQorI2RlZmluZSBEMkJJRl9DV19DT05fUUxJQ19EQVRBX1JDX1NFTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDA3MDAwMCkKKworI2RlZmluZSBEMkJJRl9DV19DT05fRDJCSUZfQ1dfTU9ERV8zX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIEQyQklGX0NXX0NPTl9EMkJJRl9DV19NT0RFXzNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBEMkJJRl9DV19DT05fRDJCSUZfQ1dfTU9ERV8zX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwQzAwMCkKKworI2RlZmluZSBEMkJJRl9DV19DT05fRDJCSUZfQ1dfTU9ERV8yX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIEQyQklGX0NXX0NPTl9EMkJJRl9DV19NT0RFXzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBEMkJJRl9DV19DT05fRDJCSUZfQ1dfTU9ERV8yX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMzAwMCkKKworI2RlZmluZSBEMkJJRl9DV19DT05fRDJCSUZfQ1dfTU9ERV8xX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIEQyQklGX0NXX0NPTl9EMkJJRl9DV19NT0RFXzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBEMkJJRl9DV19DT05fRDJCSUZfQ1dfTU9ERV8xX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMEMwMCkKKworI2RlZmluZSBEMkJJRl9DV19DT05fRDJCSUZfQ1dfTU9ERV8wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgRDJCSUZfQ1dfQ09OX0QyQklGX0NXX01PREVfMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIEQyQklGX0NXX0NPTl9EMkJJRl9DV19NT0RFXzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMzAwKQorCisjZGVmaW5lIEQyQklGX0NXX0NPTl9EMkJJRl9DV19BMUMxX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEMkJJRl9DV19DT05fRDJCSUZfQ1dfQTFDMV9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfQ09OX0QyQklGX0NXX0ExQzFfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIEQyQklGX0NXX0NPTl9EMkJJRl9DV19BMUMxX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIEQyQklGX0NXX0NPTl9EMkJJRl9DV19BMEMxX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEMkJJRl9DV19DT05fRDJCSUZfQ1dfQTBDMV9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfQ09OX0QyQklGX0NXX0EwQzFfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIEQyQklGX0NXX0NPTl9EMkJJRl9DV19BMEMxX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIEQyQklGX0NXX0NPTl9EMkJJRl9DV19BMUMwX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEMkJJRl9DV19DT05fRDJCSUZfQ1dfQTFDMF9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfQ09OX0QyQklGX0NXX0ExQzBfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIEQyQklGX0NXX0NPTl9EMkJJRl9DV19BMUMwX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIEQyQklGX0NXX0NPTl9EMkJJRl9DV19BMEMwX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBEMkJJRl9DV19DT05fRDJCSUZfQ1dfQTBDMF9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfQ09OX0QyQklGX0NXX0EwQzBfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIEQyQklGX0NXX0NPTl9EMkJJRl9DV19BMEMwX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIEQyQklGX0NXX0NPTl9EMkJJRl9DV19RTElDX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEMkJJRl9DV19DT05fRDJCSUZfQ1dfUUxJQ19FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfQ09OX0QyQklGX0NXX1FMSUNfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIEQyQklGX0NXX0NPTl9EMkJJRl9DV19RTElDX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIEQyQklGX0NXX0NPTl9EMkJJRl9DV19FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEMkJJRl9DV19DT05fRDJCSUZfQ1dfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfQ09OX0QyQklGX0NXX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEQyQklGX0NXX0NPTl9EMkJJRl9DV19FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEQyQklGX0NXX1NXX1JTVF9EMkJJRl9DV19TV19SU1RfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEMkJJRl9DV19TV19SU1RfRDJCSUZfQ1dfU1dfUlNUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfU1dfUlNUX0QyQklGX0NXX1NXX1JTVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEQyQklGX0NXX1NXX1JTVF9EMkJJRl9DV19TV19SU1RfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEQyQklGX0NXX0FERFJfMDFfRDJCSUZfQ1dfMlNMT1RfSU5EXzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMCkKKyNkZWZpbmUgRDJCSUZfQ1dfQUREUl8wMV9EMkJJRl9DV18yU0xPVF9JTkRfMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEQyQklGX0NXX0FERFJfMDFfRDJCSUZfQ1dfMlNMT1RfSU5EXzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDQwMDAwMDAwKQorI2RlZmluZSBEMkJJRl9DV19BRERSXzAxX0QyQklGX0NXXzJTTE9UX0lORF8xX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMCkKKworI2RlZmluZSBEMkJJRl9DV19BRERSXzAxX0QyQklGX0NXX0FERFJfMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEQyQklGX0NXX0FERFJfMDFfRDJCSUZfQ1dfQUREUl8xX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgRDJCSUZfQ1dfQUREUl8wMV9EMkJJRl9DV19BRERSXzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4M0ZGRjAwMDApCisKKyNkZWZpbmUgRDJCSUZfQ1dfQUREUl8wMV9EMkJJRl9DV18yU0xPVF9JTkRfMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBEMkJJRl9DV19BRERSXzAxX0QyQklGX0NXXzJTTE9UX0lORF8wX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfQUREUl8wMV9EMkJJRl9DV18yU0xPVF9JTkRfMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisjZGVmaW5lIEQyQklGX0NXX0FERFJfMDFfRDJCSUZfQ1dfMlNMT1RfSU5EXzBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorCisjZGVmaW5lIEQyQklGX0NXX0FERFJfMDFfRDJCSUZfQ1dfQUREUl8wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEMkJJRl9DV19BRERSXzAxX0QyQklGX0NXX0FERFJfMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIEQyQklGX0NXX0FERFJfMDFfRDJCSUZfQ1dfQUREUl8wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAzRkZGKQorCisjZGVmaW5lIEQyQklGX0NXX0FERFJfMjNfRDJCSUZfQ1dfMlNMT1RfSU5EXzNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMCkKKyNkZWZpbmUgRDJCSUZfQ1dfQUREUl8yM19EMkJJRl9DV18yU0xPVF9JTkRfM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEQyQklGX0NXX0FERFJfMjNfRDJCSUZfQ1dfMlNMT1RfSU5EXzNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDQwMDAwMDAwKQorI2RlZmluZSBEMkJJRl9DV19BRERSXzIzX0QyQklGX0NXXzJTTE9UX0lORF8zX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMCkKKworI2RlZmluZSBEMkJJRl9DV19BRERSXzIzX0QyQklGX0NXX0FERFJfM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEQyQklGX0NXX0FERFJfMjNfRDJCSUZfQ1dfQUREUl8zX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgRDJCSUZfQ1dfQUREUl8yM19EMkJJRl9DV19BRERSXzNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4M0ZGRjAwMDApCisKKyNkZWZpbmUgRDJCSUZfQ1dfQUREUl8yM19EMkJJRl9DV18yU0xPVF9JTkRfMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBEMkJJRl9DV19BRERSXzIzX0QyQklGX0NXXzJTTE9UX0lORF8yX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfQUREUl8yM19EMkJJRl9DV18yU0xPVF9JTkRfMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisjZGVmaW5lIEQyQklGX0NXX0FERFJfMjNfRDJCSUZfQ1dfMlNMT1RfSU5EXzJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorCisjZGVmaW5lIEQyQklGX0NXX0FERFJfMjNfRDJCSUZfQ1dfQUREUl8yX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEMkJJRl9DV19BRERSXzIzX0QyQklGX0NXX0FERFJfMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIEQyQklGX0NXX0FERFJfMjNfRDJCSUZfQ1dfQUREUl8yX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAzRkZGKQorCisjZGVmaW5lIEQyQklGX0NXX1NZTkMwX0QyQklGX0NXX1NZTkNfUkRZXzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgRDJCSUZfQ1dfU1lOQzBfRDJCSUZfQ1dfU1lOQ19SRFlfMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEQyQklGX0NXX1NZTkMwX0QyQklGX0NXX1NZTkNfUkRZXzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBEMkJJRl9DV19TWU5DMF9EMkJJRl9DV19TWU5DX1JEWV8wX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBEMkJJRl9DV19TWU5DMF9EMkJJRl9DV18yU0xPVF9JTkRfU1lOQ18wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIEQyQklGX0NXX1NZTkMwX0QyQklGX0NXXzJTTE9UX0lORF9TWU5DXzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEMkJJRl9DV19TWU5DMF9EMkJJRl9DV18yU0xPVF9JTkRfU1lOQ18wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKyNkZWZpbmUgRDJCSUZfQ1dfU1lOQzBfRDJCSUZfQ1dfMlNMT1RfSU5EX1NZTkNfMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisKKyNkZWZpbmUgRDJCSUZfQ1dfU1lOQzBfRDJCSUZfQ1dfQUREUl9TWU5DXzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEQyQklGX0NXX1NZTkMwX0QyQklGX0NXX0FERFJfU1lOQ18wX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgRDJCSUZfQ1dfU1lOQzBfRDJCSUZfQ1dfQUREUl9TWU5DXzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDNGRkYpCisKKyNkZWZpbmUgRDJCSUZfQ1dfU1lOQzFfRDJCSUZfQ1dfU1lOQ19SRFlfMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBEMkJJRl9DV19TWU5DMV9EMkJJRl9DV19TWU5DX1JEWV8xX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfU1lOQzFfRDJCSUZfQ1dfU1lOQ19SRFlfMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIEQyQklGX0NXX1NZTkMxX0QyQklGX0NXX1NZTkNfUkRZXzFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIEQyQklGX0NXX1NZTkMxX0QyQklGX0NXXzJTTE9UX0lORF9TWU5DXzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgRDJCSUZfQ1dfU1lOQzFfRDJCSUZfQ1dfMlNMT1RfSU5EX1NZTkNfMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEQyQklGX0NXX1NZTkMxX0QyQklGX0NXXzJTTE9UX0lORF9TWU5DXzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorI2RlZmluZSBEMkJJRl9DV19TWU5DMV9EMkJJRl9DV18yU0xPVF9JTkRfU1lOQ18xX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKworI2RlZmluZSBEMkJJRl9DV19TWU5DMV9EMkJJRl9DV19BRERSX1NZTkNfMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRDJCSUZfQ1dfU1lOQzFfRDJCSUZfQ1dfQUREUl9TWU5DXzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBEMkJJRl9DV19TWU5DMV9EMkJJRl9DV19BRERSX1NZTkNfMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwM0ZGRikKKworI2RlZmluZSBEMkJJRl9DV19TWU5DMl9EMkJJRl9DV19TWU5DX1JEWV8yX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIEQyQklGX0NXX1NZTkMyX0QyQklGX0NXX1NZTkNfUkRZXzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEMkJJRl9DV19TWU5DMl9EMkJJRl9DV19TWU5DX1JEWV8yX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgRDJCSUZfQ1dfU1lOQzJfRDJCSUZfQ1dfU1lOQ19SRFlfMl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgRDJCSUZfQ1dfU1lOQzJfRDJCSUZfQ1dfMlNMT1RfSU5EX1NZTkNfMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBEMkJJRl9DV19TWU5DMl9EMkJJRl9DV18yU0xPVF9JTkRfU1lOQ18yX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfU1lOQzJfRDJCSUZfQ1dfMlNMT1RfSU5EX1NZTkNfMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisjZGVmaW5lIEQyQklGX0NXX1NZTkMyX0QyQklGX0NXXzJTTE9UX0lORF9TWU5DXzJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorCisjZGVmaW5lIEQyQklGX0NXX1NZTkMyX0QyQklGX0NXX0FERFJfU1lOQ18yX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEMkJJRl9DV19TWU5DMl9EMkJJRl9DV19BRERSX1NZTkNfMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIEQyQklGX0NXX1NZTkMyX0QyQklGX0NXX0FERFJfU1lOQ18yX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAzRkZGKQorCisjZGVmaW5lIEQyQklGX0NXX1NZTkMzX0QyQklGX0NXX1NZTkNfUkRZXzNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgRDJCSUZfQ1dfU1lOQzNfRDJCSUZfQ1dfU1lOQ19SRFlfM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEQyQklGX0NXX1NZTkMzX0QyQklGX0NXX1NZTkNfUkRZXzNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBEMkJJRl9DV19TWU5DM19EMkJJRl9DV19TWU5DX1JEWV8zX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBEMkJJRl9DV19TWU5DM19EMkJJRl9DV18yU0xPVF9JTkRfU1lOQ18zX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIEQyQklGX0NXX1NZTkMzX0QyQklGX0NXXzJTTE9UX0lORF9TWU5DXzNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEMkJJRl9DV19TWU5DM19EMkJJRl9DV18yU0xPVF9JTkRfU1lOQ18zX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKyNkZWZpbmUgRDJCSUZfQ1dfU1lOQzNfRDJCSUZfQ1dfMlNMT1RfSU5EX1NZTkNfM19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisKKyNkZWZpbmUgRDJCSUZfQ1dfU1lOQzNfRDJCSUZfQ1dfQUREUl9TWU5DXzNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEQyQklGX0NXX1NZTkMzX0QyQklGX0NXX0FERFJfU1lOQ18zX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgRDJCSUZfQ1dfU1lOQzNfRDJCSUZfQ1dfQUREUl9TWU5DXzNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDNGRkYpCisKKyNkZWZpbmUgVElNRVJfU1lOQ19EQVRBMF9SVFJfU0xPVF9DTlRfU1lOQ18wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBUSU1FUl9TWU5DX0RBVEEwX1JUUl9TTE9UX0NOVF9TWU5DXzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgVElNRVJfU1lOQ19EQVRBMF9SVFJfU0xPVF9DTlRfU1lOQ18wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwNzgwMDApCisKKyNkZWZpbmUgVElNRVJfU1lOQ19EQVRBMF9SVFJfQ0hJUF9TWU5DXzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRJTUVSX1NZTkNfREFUQTBfUlRSX0NISVBfU1lOQ18wX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgVElNRVJfU1lOQ19EQVRBMF9SVFJfQ0hJUF9TWU5DXzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRjgpCisKKyNkZWZpbmUgVElNRVJfU1lOQ19EQVRBMF9SVFJfRUNISVBfU1lOQ18wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRJTUVSX1NZTkNfREFUQTBfUlRSX0VDSElQX1NZTkNfMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUSU1FUl9TWU5DX0RBVEEwX1JUUl9FQ0hJUF9TWU5DXzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBUSU1FUl9TWU5DX0RBVEExX1JUUl9TTE9UX0NOVF9TWU5DXzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFRJTUVSX1NZTkNfREFUQTFfUlRSX1NMT1RfQ05UX1NZTkNfMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBUSU1FUl9TWU5DX0RBVEExX1JUUl9TTE9UX0NOVF9TWU5DXzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDA3ODAwMCkKKworI2RlZmluZSBUSU1FUl9TWU5DX0RBVEExX1JUUl9DSElQX1NZTkNfMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgVElNRVJfU1lOQ19EQVRBMV9SVFJfQ0hJUF9TWU5DXzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBUSU1FUl9TWU5DX0RBVEExX1JUUl9DSElQX1NZTkNfMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGOCkKKworI2RlZmluZSBUSU1FUl9TWU5DX0RBVEExX1JUUl9FQ0hJUF9TWU5DXzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVElNRVJfU1lOQ19EQVRBMV9SVFJfRUNISVBfU1lOQ18xX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRJTUVSX1NZTkNfREFUQTFfUlRSX0VDSElQX1NZTkNfMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIFRJTUVSX1NZTkNfREFUQTJfUlRSX1NMT1RfQ05UX1NZTkNfMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgVElNRVJfU1lOQ19EQVRBMl9SVFJfU0xPVF9DTlRfU1lOQ18yX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFRJTUVSX1NZTkNfREFUQTJfUlRSX1NMT1RfQ05UX1NZTkNfMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDc4MDAwKQorCisjZGVmaW5lIFRJTUVSX1NZTkNfREFUQTJfUlRSX0NISVBfU1lOQ18yX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUSU1FUl9TWU5DX0RBVEEyX1JUUl9DSElQX1NZTkNfMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIFRJTUVSX1NZTkNfREFUQTJfUlRSX0NISVBfU1lOQ18yX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkY4KQorCisjZGVmaW5lIFRJTUVSX1NZTkNfREFUQTJfUlRSX0VDSElQX1NZTkNfMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUSU1FUl9TWU5DX0RBVEEyX1JUUl9FQ0hJUF9TWU5DXzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgVElNRVJfU1lOQ19EQVRBMl9SVFJfRUNISVBfU1lOQ18yX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDcpCisKKyNkZWZpbmUgVElNRVJfU1lOQ19EQVRBM19SVFJfU0xPVF9DTlRfU1lOQ18zX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBUSU1FUl9TWU5DX0RBVEEzX1JUUl9TTE9UX0NOVF9TWU5DXzNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgVElNRVJfU1lOQ19EQVRBM19SVFJfU0xPVF9DTlRfU1lOQ18zX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwNzgwMDApCisKKyNkZWZpbmUgVElNRVJfU1lOQ19EQVRBM19SVFJfQ0hJUF9TWU5DXzNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRJTUVSX1NZTkNfREFUQTNfUlRSX0NISVBfU1lOQ18zX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgVElNRVJfU1lOQ19EQVRBM19SVFJfQ0hJUF9TWU5DXzNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRjgpCisKKyNkZWZpbmUgVElNRVJfU1lOQ19EQVRBM19SVFJfRUNISVBfU1lOQ18zX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRJTUVSX1NZTkNfREFUQTNfUlRSX0VDSElQX1NZTkNfM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUSU1FUl9TWU5DX0RBVEEzX1JUUl9FQ0hJUF9TWU5DXzNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBEMkJJRl9DV19ESVNfQklHUkFNX1dSSVRFX0RJU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIEQyQklGX0NXX0RJU19CSUdSQU1fV1JJVEVfRElTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEMkJJRl9DV19ESVNfQklHUkFNX1dSSVRFX0RJU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMCkKKyNkZWZpbmUgRDJCSUZfQ1dfRElTX0JJR1JBTV9XUklURV9ESVNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisKKyNkZWZpbmUgRDJCSUZfQ1dfRElTX1JTQ19FTl9ESVNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE3KQorI2RlZmluZSBEMkJJRl9DV19ESVNfUlNDX0VOX0RJU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfRElTX1JTQ19FTl9ESVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMjAwMDApCisjZGVmaW5lIEQyQklGX0NXX0RJU19SU0NfRU5fRElTX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDIwMDAwKQorCisjZGVmaW5lIEQyQklGX0NXX0RCR19DT05fREJHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEMkJJRl9DV19EQkdfQ09OX0RCR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfREJHX0NPTl9EQkdfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIEQyQklGX0NXX0RCR19DT05fREJHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIEQyQklGX0NXX0RCR19DT05fREJHX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEMkJJRl9DV19EQkdfQ09OX0RCR19FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfREJHX0NPTl9EQkdfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEQyQklGX0NXX0RCR19DT05fREJHX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEQyQklGX0NXX1dSRVFfQ05UXzAxX1dSRVFfQ05UXzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgRDJCSUZfQ1dfV1JFUV9DTlRfMDFfV1JFUV9DTlRfMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEMkJJRl9DV19XUkVRX0NOVF8wMV9XUkVRX0NOVF8xX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEMkJJRl9DV19XUkVRX0NOVF8wMV9XUkVRX0NOVF8wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRDJCSUZfQ1dfV1JFUV9DTlRfMDFfV1JFUV9DTlRfMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEMkJJRl9DV19XUkVRX0NOVF8wMV9XUkVRX0NOVF8wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEMkJJRl9DV19XUkVRX0NOVF8yM19XUkVRX0NOVF8zX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEQyQklGX0NXX1dSRVFfQ05UXzIzX1dSRVFfQ05UXzNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgRDJCSUZfQ1dfV1JFUV9DTlRfMjNfV1JFUV9DTlRfM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgRDJCSUZfQ1dfV1JFUV9DTlRfMjNfV1JFUV9DTlRfMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEQyQklGX0NXX1dSRVFfQ05UXzIzX1dSRVFfQ05UXzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgRDJCSUZfQ1dfV1JFUV9DTlRfMjNfV1JFUV9DTlRfMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgRDJCSUZfQ1dfV1JfRlNNXzAxX1BBQ0tfQ05UXzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEMkJJRl9DV19XUl9GU01fMDFfUEFDS19DTlRfMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEQyQklGX0NXX1dSX0ZTTV8wMV9QQUNLX0NOVF8xX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIEQyQklGX0NXX1dSX0ZTTV8wMV9QQUNLX0NOVF8wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEMkJJRl9DV19XUl9GU01fMDFfUEFDS19DTlRfMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEQyQklGX0NXX1dSX0ZTTV8wMV9QQUNLX0NOVF8wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIEQyQklGX0NXX1dSX0ZTTV8yM19QQUNLX0NOVF8zX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgRDJCSUZfQ1dfV1JfRlNNXzIzX1BBQ0tfQ05UXzNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEMkJJRl9DV19XUl9GU01fMjNfUEFDS19DTlRfM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEMkJJRl9DV19XUl9GU01fMjNfUEFDS19DTlRfMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRDJCSUZfQ1dfV1JfRlNNXzIzX1BBQ0tfQ05UXzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEMkJJRl9DV19XUl9GU01fMjNfUEFDS19DTlRfMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEMkJJRl9DV19SRVFfUkVDXzBfUkVDX0RBVEFfMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEQyQklGX0NXX1JFUV9SRUNfMF9SRUNfREFUQV8wX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgRDJCSUZfQ1dfUkVRX1JFQ18wX1JFQ19EQVRBXzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgRDJCSUZfQ1dfUkVRX1JFQ18wX1JFQ19FTl8wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEQyQklGX0NXX1JFUV9SRUNfMF9SRUNfRU5fMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEMkJJRl9DV19SRVFfUkVDXzBfUkVDX0VOXzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgRDJCSUZfQ1dfUkVRX1JFQ18wX1JFQ19FTl8wX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgRDJCSUZfQ1dfUkVRX1JFQ18xX1JFQ19EQVRBXzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEMkJJRl9DV19SRVFfUkVDXzFfUkVDX0RBVEFfMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEQyQklGX0NXX1JFUV9SRUNfMV9SRUNfREFUQV8xX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIEQyQklGX0NXX1JFUV9SRUNfMV9SRUNfRU5fMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEMkJJRl9DV19SRVFfUkVDXzFfUkVDX0VOXzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfUkVRX1JFQ18xX1JFQ19FTl8xX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEQyQklGX0NXX1JFUV9SRUNfMV9SRUNfRU5fMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEQyQklGX0NXX1JFUV9SRUNfMl9SRUNfREFUQV8yX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgRDJCSUZfQ1dfUkVRX1JFQ18yX1JFQ19EQVRBXzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEMkJJRl9DV19SRVFfUkVDXzJfUkVDX0RBVEFfMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEMkJJRl9DV19SRVFfUkVDXzJfUkVDX0VOXzJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRDJCSUZfQ1dfUkVRX1JFQ18yX1JFQ19FTl8yX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEQyQklGX0NXX1JFUV9SRUNfMl9SRUNfRU5fMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEMkJJRl9DV19SRVFfUkVDXzJfUkVDX0VOXzJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEMkJJRl9DV19SRVFfUkVDXzNfUkVDX0RBVEFfM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEQyQklGX0NXX1JFUV9SRUNfM19SRUNfREFUQV8zX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgRDJCSUZfQ1dfUkVRX1JFQ18zX1JFQ19EQVRBXzNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgRDJCSUZfQ1dfUkVRX1JFQ18zX1JFQ19FTl8zX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEQyQklGX0NXX1JFUV9SRUNfM19SRUNfRU5fM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEMkJJRl9DV19SRVFfUkVDXzNfUkVDX0VOXzNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgRDJCSUZfQ1dfUkVRX1JFQ18zX1JFQ19FTl8zX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgRDJCSUZfQ1dfV19DT05fQTBDMF8wX0QyQklGX0NXX1dfU1RfU0FNX0lEWF8wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9BMEMwXzBfRDJCSUZfQ1dfV19TVF9TQU1fSURYXzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0EwQzBfMF9EMkJJRl9DV19XX1NUX1NBTV9JRFhfMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0EwQzBfMF9EMkJJRl9DV19XX0JBU0VfQUREUl8wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9BMEMwXzBfRDJCSUZfQ1dfV19CQVNFX0FERFJfMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0EwQzBfMF9EMkJJRl9DV19XX0JBU0VfQUREUl8wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0ExQzBfMF9EMkJJRl9DV19XX1NUX1NBTV9JRFhfMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgRDJCSUZfQ1dfV19DT05fQTFDMF8wX0QyQklGX0NXX1dfU1RfU0FNX0lEWF8xX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9BMUMwXzBfRDJCSUZfQ1dfV19TVF9TQU1fSURYXzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEMkJJRl9DV19XX0NPTl9BMUMwXzBfRDJCSUZfQ1dfV19CQVNFX0FERFJfMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRDJCSUZfQ1dfV19DT05fQTFDMF8wX0QyQklGX0NXX1dfQkFTRV9BRERSXzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9BMUMwXzBfRDJCSUZfQ1dfV19CQVNFX0FERFJfMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEMkJJRl9DV19XX0NPTl9BMEMxXzBfRDJCSUZfQ1dfV19TVF9TQU1fSURYXzJfTFNCICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0EwQzFfMF9EMkJJRl9DV19XX1NUX1NBTV9JRFhfMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgRDJCSUZfQ1dfV19DT05fQTBDMV8wX0QyQklGX0NXX1dfU1RfU0FNX0lEWF8yX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgRDJCSUZfQ1dfV19DT05fQTBDMV8wX0QyQklGX0NXX1dfQkFTRV9BRERSXzJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0EwQzFfMF9EMkJJRl9DV19XX0JBU0VfQUREUl8yX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgRDJCSUZfQ1dfV19DT05fQTBDMV8wX0QyQklGX0NXX1dfQkFTRV9BRERSXzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgRDJCSUZfQ1dfV19DT05fQTFDMV8wX0QyQklGX0NXX1dfU1RfU0FNX0lEWF8zX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9BMUMxXzBfRDJCSUZfQ1dfV19TVF9TQU1fSURYXzNfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0ExQzFfMF9EMkJJRl9DV19XX1NUX1NBTV9JRFhfM19NQVNLICAgICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0ExQzFfMF9EMkJJRl9DV19XX0JBU0VfQUREUl8zX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9BMUMxXzBfRDJCSUZfQ1dfV19CQVNFX0FERFJfM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0ExQzFfMF9EMkJJRl9DV19XX0JBU0VfQUREUl8zX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0EwQzBfMV9EMkJJRl9DV19XX0JVRl9TSVpFXzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9BMEMwXzFfRDJCSUZfQ1dfV19CVUZfU0laRV8wX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0EwQzBfMV9EMkJJRl9DV19XX0JVRl9TSVpFXzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0ExQzBfMV9EMkJJRl9DV19XX0JVRl9TSVpFXzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9BMUMwXzFfRDJCSUZfQ1dfV19CVUZfU0laRV8xX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0ExQzBfMV9EMkJJRl9DV19XX0JVRl9TSVpFXzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0EwQzFfMV9EMkJJRl9DV19XX0JVRl9TSVpFXzJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9BMEMxXzFfRDJCSUZfQ1dfV19CVUZfU0laRV8yX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0EwQzFfMV9EMkJJRl9DV19XX0JVRl9TSVpFXzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0ExQzFfMV9EMkJJRl9DV19XX0JVRl9TSVpFXzNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9BMUMxXzFfRDJCSUZfQ1dfV19CVUZfU0laRV8zX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0ExQzFfMV9EMkJJRl9DV19XX0JVRl9TSVpFXzNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX1FMSUNfMF9EMkJJRl9DV19XX1NUX1NBTV9JRFhfUV9MU0IgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgRDJCSUZfQ1dfV19DT05fUUxJQ18wX0QyQklGX0NXX1dfU1RfU0FNX0lEWF9RX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9RTElDXzBfRDJCSUZfQ1dfV19TVF9TQU1fSURYX1FfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEMkJJRl9DV19XX0NPTl9RTElDXzBfRDJCSUZfQ1dfV19CQVNFX0FERFJfUV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRDJCSUZfQ1dfV19DT05fUUxJQ18wX0QyQklGX0NXX1dfQkFTRV9BRERSX1FfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9RTElDXzBfRDJCSUZfQ1dfV19CQVNFX0FERFJfUV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEMkJJRl9DV19XX0NPTl9RTElDXzFfRDJCSUZfQ1dfV19CVUZfU0laRV9RX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRDJCSUZfQ1dfV19DT05fUUxJQ18xX0QyQklGX0NXX1dfQlVGX1NJWkVfUV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9RTElDXzFfRDJCSUZfQ1dfV19CVUZfU0laRV9RX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEMkJJRl9DV19XQUREUl9TRUxfV0FERFJfSURYX1FfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgRDJCSUZfQ1dfV0FERFJfU0VMX1dBRERSX0lEWF9RX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIEQyQklGX0NXX1dBRERSX1NFTF9XQUREUl9JRFhfUV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDMwKQorCisjZGVmaW5lIEQyQklGX0NXX1dBRERSX1NFTF9XQUREUl9JRFhfMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBEMkJJRl9DV19XQUREUl9TRUxfV0FERFJfSURYXzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgRDJCSUZfQ1dfV0FERFJfU0VMX1dBRERSX0lEWF8xX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEMpCisKKyNkZWZpbmUgRDJCSUZfQ1dfV0FERFJfU0VMX1dBRERSX0lEWF8wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEQyQklGX0NXX1dBRERSX1NFTF9XQUREUl9JRFhfMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBEMkJJRl9DV19XQUREUl9TRUxfV0FERFJfSURYXzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMykKKworI2VuZGlmIC8vI2lmbmRlZiBfQ1BIX0QyQklGX0hfCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoZDJiaWZfOTUuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhkMmJpZl85NS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmMDdkMzQKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoZDJiaWZfOTUuaApAQCAtMCwwICsxLDY1NiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NQSF9EMkJJRl9IXworI2RlZmluZSBfQ1BIX0QyQklGX0hfCisKK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIFNSQU1BRERSOyAgICAgICAgIC8qIFNSQU0gYWRkciBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgU1JBTURBVEE7ICAgICAgICAgLyogU1JBTSBkYXRhIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBBUEJBRERSOyAgICAgICAgICAvKiBBUEIgYWRkciBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIEFQQkRBVEE7ICAgICAgICAgIC8qIEFQQiBkYXRhIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nKiAgQVBCQUREUjMyOyAgICAgICAgLyogQVBCIGFkZHIgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgICBBUEJEQVRBMzI7ICAgICAgICAvKiBBUEIgZGF0YSBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIERQUkFNQUREUjsgICAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSBzaWduZWQgICBzaG9ydCogRFBSQU1BRERSX1M7ICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBEUFJBTURBVEE7ICAgICAgICAvKiBEUFJBTSBkYXRhIGlzIDE2IGJpdHMgKi8KKworI2RlZmluZSBSWF9CQVNJQ19JTkZPX0NDMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikweEFCODIwMDI4KQorI2RlZmluZSBSWF9CQVNJQ19JTkZPX0NDMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikweEFCODIwMDRDKQorCisjZGVmaW5lIEQyQklGX0NXX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEFCODI0MDAwKS8qVEJEKi8KKworCisjZGVmaW5lIEQyQklGX0NXX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChEMkJJRl9DV19SRUdfQkFTRSArIDB4MDBGNCArIDEqNCkKKworCisKKworI2RlZmluZSBEMkJJRl9DV19DT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwMDApKQorI2RlZmluZSBEMkJJRl9DV19TV19SU1QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwMDQpKQorI2RlZmluZSBEMkJJRl9DV19DQV9TRUwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwMDgpKQorI2RlZmluZSBEMkJJRl9DV19DQV9TRUxfUUxJQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwMEMpKQorI2RlZmluZSBEMkJJRl9DV19JUV9TV0FQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwMTApKQorI2RlZmluZSBEMkJJRl9DV19BRERSXzAxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwMTQpKQorI2RlZmluZSBEMkJJRl9DV19BRERSXzIzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwMTgpKQorI2RlZmluZSBEMkJJRl9DV19BRERSX0lDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwMUMpKQorI2RlZmluZSBEMkJJRl9DV19TWU5DXzAxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwMjApKQorI2RlZmluZSBEMkJJRl9DV19TWU5DXzIzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwMjQpKQorI2RlZmluZSBEMkJJRl9DV19TWU5DX0lDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwMjgpKQorI2RlZmluZSBUSU1FUl9TWU5DX0ZERCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwMkMpKQorI2RlZmluZSBUSU1FUl9TWU5DX0MxWCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwMzApKQorI2RlZmluZSBUSU1FUl9TWU5DX0NETyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwMzQpKQorI2RlZmluZSBEMkJJRl9DV19ESVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwMzgpKQorI2RlZmluZSBEMkJJRl9DV19EQkdfQ09OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwM0MpKQorI2RlZmluZSBEMkJJRl9DV19XUkVRX0NOVF8wMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwMzgpKQorI2RlZmluZSBEMkJJRl9DV19XUkVRX0NOVF8yMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwM0MpKQorI2RlZmluZSBEMkJJRl9DV19XUkVRX0NOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwNDApKQorI2RlZmluZSBEMkJJRl9DV19SRVFfUkVDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwNDQpKQorI2RlZmluZSBEMkJJRl9DV19SRVFfUkVDX0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwNDgpKQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9BMEMwXzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwNEMpKQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9BMUMwXzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwNTApKQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9BMEMxXzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwNTQpKQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9BMUMxXzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwNTgpKQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9BMEMwXzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwNUMpKQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9BMUMwXzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwNjApKQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9BMEMxXzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwNjQpKQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9BMUMxXzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwNjgpKQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9RTElDXzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwNkMpKQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9RTElDXzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwNzApKQorI2RlZmluZSBEMkJJRl9DV19XQUREUl9TRUwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwNzQpKQorI2RlZmluZSBEMkJJRl9DV19PVVRfU0VMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwNzgpKQorI2RlZmluZSBEMkJJRl9DV19JQ19DT05GICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwN0MpKQorI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwODApKQorI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9MICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwODQpKQorI2RlZmluZSBEMkJJRl9DV19TVEFfREJHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwODgpKQorI2RlZmluZSBEMkJJRl9DV19GRERfUlNDX0FMSUdOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShEMkJJRl9DV19SRUdfQkFTRSArIDB4MDA5MCkpICAvL0FMUFMwNDg3MDM1NQorI2RlZmluZSBEMkJJRl9DV19SRVNFUlZFRDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwRjApKQorI2RlZmluZSBEMkJJRl9DV19SRVNFUlZFRDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoRDJCSUZfQ1dfUkVHX0JBU0UgKyAweDAwRjQpKQorCisKKyNkZWZpbmUgRDJCSUZfQ1dfQ09OX0JJR1JBTV9ET05FX01PREVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBEMkJJRl9DV19DT05fQklHUkFNX0RPTkVfTU9ERV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfQ09OX0JJR1JBTV9ET05FX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisjZGVmaW5lIEQyQklGX0NXX0NPTl9CSUdSQU1fRE9ORV9NT0RFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorCisKKyNkZWZpbmUgRDJCSUZfQ1dfQ09OX1FMSUNfREFUQV9SQ19TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBEMkJJRl9DV19DT05fUUxJQ19EQVRBX1JDX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEQyQklGX0NXX0NPTl9RTElDX0RBVEFfUkNfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3MDAwKQorCisjZGVmaW5lIEQyQklGX0NXX0NPTl9EMkJJRl9DV19NT0RFXzIzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgRDJCSUZfQ1dfQ09OX0QyQklGX0NXX01PREVfMjNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIEQyQklGX0NXX0NPTl9EMkJJRl9DV19NT0RFXzIzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwQzAwKQorCisjZGVmaW5lIEQyQklGX0NXX0NPTl9EMkJJRl9DV19NT0RFXzAxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBEMkJJRl9DV19DT05fRDJCSUZfQ1dfTU9ERV8wMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgRDJCSUZfQ1dfQ09OX0QyQklGX0NXX01PREVfMDFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzMDApCisKKyNkZWZpbmUgRDJCSUZfQ1dfQ09OX0QyQklGX0NXX0ExQzFfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIEQyQklGX0NXX0NPTl9EMkJJRl9DV19BMUMxX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEMkJJRl9DV19DT05fRDJCSUZfQ1dfQTFDMV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgRDJCSUZfQ1dfQ09OX0QyQklGX0NXX0ExQzFfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgRDJCSUZfQ1dfQ09OX0QyQklGX0NXX0EwQzFfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIEQyQklGX0NXX0NPTl9EMkJJRl9DV19BMEMxX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEMkJJRl9DV19DT05fRDJCSUZfQ1dfQTBDMV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgRDJCSUZfQ1dfQ09OX0QyQklGX0NXX0EwQzFfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgRDJCSUZfQ1dfQ09OX0QyQklGX0NXX0ExQzBfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEQyQklGX0NXX0NPTl9EMkJJRl9DV19BMUMwX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEMkJJRl9DV19DT05fRDJCSUZfQ1dfQTFDMF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgRDJCSUZfQ1dfQ09OX0QyQklGX0NXX0ExQzBfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgRDJCSUZfQ1dfQ09OX0QyQklGX0NXX0EwQzBfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIEQyQklGX0NXX0NPTl9EMkJJRl9DV19BMEMwX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEMkJJRl9DV19DT05fRDJCSUZfQ1dfQTBDMF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgRDJCSUZfQ1dfQ09OX0QyQklGX0NXX0EwQzBfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgRDJCSUZfQ1dfQ09OX0QyQklGX0NXX1FMSUNfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEQyQklGX0NXX0NPTl9EMkJJRl9DV19RTElDX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEMkJJRl9DV19DT05fRDJCSUZfQ1dfUUxJQ19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgRDJCSUZfQ1dfQ09OX0QyQklGX0NXX1FMSUNfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgRDJCSUZfQ1dfQ09OX0QyQklGX0NXX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEQyQklGX0NXX0NPTl9EMkJJRl9DV19FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEMkJJRl9DV19DT05fRDJCSUZfQ1dfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgRDJCSUZfQ1dfQ09OX0QyQklGX0NXX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgRDJCSUZfQ1dfU1dfUlNUX0QyQklGX0NXX1NXX1JTVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEQyQklGX0NXX1NXX1JTVF9EMkJJRl9DV19TV19SU1RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEMkJJRl9DV19TV19SU1RfRDJCSUZfQ1dfU1dfUlNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgRDJCSUZfQ1dfU1dfUlNUX0QyQklGX0NXX1NXX1JTVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgRDJCSUZfQ1dfQ0FfU0VMX0QyQklGX0NXX0NDX0FOVF9TRUxfUDNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBEMkJJRl9DV19DQV9TRUxfRDJCSUZfQ1dfQ0NfQU5UX1NFTF9QM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgRDJCSUZfQ1dfQ0FfU0VMX0QyQklGX0NXX0NDX0FOVF9TRUxfUDNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEYwMDApCisKKyNkZWZpbmUgRDJCSUZfQ1dfQ0FfU0VMX0QyQklGX0NXX0NDX0FOVF9TRUxfUDJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIEQyQklGX0NXX0NBX1NFTF9EMkJJRl9DV19DQ19BTlRfU0VMX1AyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEMkJJRl9DV19DQV9TRUxfRDJCSUZfQ1dfQ0NfQU5UX1NFTF9QMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMEYwMCkKKworI2RlZmluZSBEMkJJRl9DV19DQV9TRUxfRDJCSUZfQ1dfQ0NfQU5UX1NFTF9QMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgRDJCSUZfQ1dfQ0FfU0VMX0QyQklGX0NXX0NDX0FOVF9TRUxfUDFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIEQyQklGX0NXX0NBX1NFTF9EMkJJRl9DV19DQ19BTlRfU0VMX1AxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEYwKQorCisjZGVmaW5lIEQyQklGX0NXX0NBX1NFTF9EMkJJRl9DV19DQ19BTlRfU0VMX1AwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEMkJJRl9DV19DQV9TRUxfRDJCSUZfQ1dfQ0NfQU5UX1NFTF9QMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgRDJCSUZfQ1dfQ0FfU0VMX0QyQklGX0NXX0NDX0FOVF9TRUxfUDBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgRDJCSUZfQ1dfQ0FfU0VMX1FMSUNfRDJCSUZfQ1dfQ0NfQU5UX1NFTF9QMV9RTElDX0xTQiAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIEQyQklGX0NXX0NBX1NFTF9RTElDX0QyQklGX0NXX0NDX0FOVF9TRUxfUDFfUUxJQ19XSURUSCAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEMkJJRl9DV19DQV9TRUxfUUxJQ19EMkJJRl9DV19DQ19BTlRfU0VMX1AxX1FMSUNfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDBGMCkKKworI2RlZmluZSBEMkJJRl9DV19DQV9TRUxfUUxJQ19EMkJJRl9DV19DQ19BTlRfU0VMX1AwX1FMSUNfTFNCICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRDJCSUZfQ1dfQ0FfU0VMX1FMSUNfRDJCSUZfQ1dfQ0NfQU5UX1NFTF9QMF9RTElDX1dJRFRIICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIEQyQklGX0NXX0NBX1NFTF9RTElDX0QyQklGX0NXX0NDX0FOVF9TRUxfUDBfUUxJQ19NQVNLICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIEQyQklGX0NXX0lRX1NXQVBfRDJCSUZfQ1dfSVFfU1dBUF9RTElDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEMkJJRl9DV19JUV9TV0FQX0QyQklGX0NXX0lRX1NXQVBfUUxJQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfSVFfU1dBUF9EMkJJRl9DV19JUV9TV0FQX1FMSUNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIEQyQklGX0NXX0lRX1NXQVBfRDJCSUZfQ1dfSVFfU1dBUF9RTElDX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIEQyQklGX0NXX0lRX1NXQVBfRDJCSUZfQ1dfSVFfU1dBUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEMkJJRl9DV19JUV9TV0FQX0QyQklGX0NXX0lRX1NXQVBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgRDJCSUZfQ1dfSVFfU1dBUF9EMkJJRl9DV19JUV9TV0FQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgRDJCSUZfQ1dfQUREUl8wMV9EMkJJRl9DV18yU0xPVF9JTkRfMDFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBEMkJJRl9DV19BRERSXzAxX0QyQklGX0NXXzJTTE9UX0lORF8wMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfQUREUl8wMV9EMkJJRl9DV18yU0xPVF9JTkRfMDFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisjZGVmaW5lIEQyQklGX0NXX0FERFJfMDFfRDJCSUZfQ1dfMlNMT1RfSU5EXzAxX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorCisjZGVmaW5lIEQyQklGX0NXX0FERFJfMDFfRDJCSUZfQ1dfQUREUl8wMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRDJCSUZfQ1dfQUREUl8wMV9EMkJJRl9DV19BRERSXzAxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgRDJCSUZfQ1dfQUREUl8wMV9EMkJJRl9DV19BRERSXzAxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAzRkZGKQorCisjZGVmaW5lIEQyQklGX0NXX0FERFJfMjNfRDJCSUZfQ1dfMlNMT1RfSU5EXzIzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgRDJCSUZfQ1dfQUREUl8yM19EMkJJRl9DV18yU0xPVF9JTkRfMjNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEQyQklGX0NXX0FERFJfMjNfRDJCSUZfQ1dfMlNMT1RfSU5EXzIzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorI2RlZmluZSBEMkJJRl9DV19BRERSXzIzX0QyQklGX0NXXzJTTE9UX0lORF8yM19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKworI2RlZmluZSBEMkJJRl9DV19BRERSXzIzX0QyQklGX0NXX0FERFJfMjNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRDJCSUZfQ1dfQUREUl8yM19EMkJJRl9DV19BRERSXzIzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBEMkJJRl9DV19BRERSXzIzX0QyQklGX0NXX0FERFJfMjNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwM0ZGRikKKworI2RlZmluZSBEMkJJRl9DV19BRERSX0lDX0QyQklGX0NXXzJTTE9UX0lORF9JQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIEQyQklGX0NXX0FERFJfSUNfRDJCSUZfQ1dfMlNMT1RfSU5EX0lDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEMkJJRl9DV19BRERSX0lDX0QyQklGX0NXXzJTTE9UX0lORF9JQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKyNkZWZpbmUgRDJCSUZfQ1dfQUREUl9JQ19EMkJJRl9DV18yU0xPVF9JTkRfSUNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisKKyNkZWZpbmUgRDJCSUZfQ1dfQUREUl9JQ19EMkJJRl9DV19BRERSX0lDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEQyQklGX0NXX0FERFJfSUNfRDJCSUZfQ1dfQUREUl9JQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgRDJCSUZfQ1dfQUREUl9JQ19EMkJJRl9DV19BRERSX0lDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDNGRkYpCisKKyNkZWZpbmUgRDJCSUZfQ1dfU1lOQzBfRDJCSUZfQ1dfU1lOQ19SRFlfMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBEMkJJRl9DV19TWU5DMF9EMkJJRl9DV19TWU5DX1JEWV8wX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfU1lOQzBfRDJCSUZfQ1dfU1lOQ19SRFlfMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIEQyQklGX0NXX1NZTkMwX0QyQklGX0NXX1NZTkNfUkRZXzBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIEQyQklGX0NXX1NZTkMwX0QyQklGX0NXXzJTTE9UX0lORF9TWU5DXzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgRDJCSUZfQ1dfU1lOQzBfRDJCSUZfQ1dfMlNMT1RfSU5EX1NZTkNfMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEQyQklGX0NXX1NZTkMwX0QyQklGX0NXXzJTTE9UX0lORF9TWU5DXzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorI2RlZmluZSBEMkJJRl9DV19TWU5DMF9EMkJJRl9DV18yU0xPVF9JTkRfU1lOQ18wX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKworI2RlZmluZSBEMkJJRl9DV19TWU5DMF9EMkJJRl9DV19BRERSX1NZTkNfMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRDJCSUZfQ1dfU1lOQzBfRDJCSUZfQ1dfQUREUl9TWU5DXzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBEMkJJRl9DV19TWU5DMF9EMkJJRl9DV19BRERSX1NZTkNfMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwM0ZGRikKKworI2RlZmluZSBEMkJJRl9DV19TWU5DMV9EMkJJRl9DV19TWU5DX1JEWV8xX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIEQyQklGX0NXX1NZTkMxX0QyQklGX0NXX1NZTkNfUkRZXzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEMkJJRl9DV19TWU5DMV9EMkJJRl9DV19TWU5DX1JEWV8xX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgRDJCSUZfQ1dfU1lOQzFfRDJCSUZfQ1dfU1lOQ19SRFlfMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgRDJCSUZfQ1dfU1lOQzFfRDJCSUZfQ1dfMlNMT1RfSU5EX1NZTkNfMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBEMkJJRl9DV19TWU5DMV9EMkJJRl9DV18yU0xPVF9JTkRfU1lOQ18xX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfU1lOQzFfRDJCSUZfQ1dfMlNMT1RfSU5EX1NZTkNfMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisjZGVmaW5lIEQyQklGX0NXX1NZTkMxX0QyQklGX0NXXzJTTE9UX0lORF9TWU5DXzFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorCisjZGVmaW5lIEQyQklGX0NXX1NZTkMxX0QyQklGX0NXX0FERFJfU1lOQ18xX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEMkJJRl9DV19TWU5DMV9EMkJJRl9DV19BRERSX1NZTkNfMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIEQyQklGX0NXX1NZTkMxX0QyQklGX0NXX0FERFJfU1lOQ18xX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAzRkZGKQorCisjZGVmaW5lIEQyQklGX0NXX1NZTkMyX0QyQklGX0NXX1NZTkNfUkRZXzJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgRDJCSUZfQ1dfU1lOQzJfRDJCSUZfQ1dfU1lOQ19SRFlfMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEQyQklGX0NXX1NZTkMyX0QyQklGX0NXX1NZTkNfUkRZXzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBEMkJJRl9DV19TWU5DMl9EMkJJRl9DV19TWU5DX1JEWV8yX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBEMkJJRl9DV19TWU5DMl9EMkJJRl9DV18yU0xPVF9JTkRfU1lOQ18yX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIEQyQklGX0NXX1NZTkMyX0QyQklGX0NXXzJTTE9UX0lORF9TWU5DXzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEMkJJRl9DV19TWU5DMl9EMkJJRl9DV18yU0xPVF9JTkRfU1lOQ18yX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKyNkZWZpbmUgRDJCSUZfQ1dfU1lOQzJfRDJCSUZfQ1dfMlNMT1RfSU5EX1NZTkNfMl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisKKyNkZWZpbmUgRDJCSUZfQ1dfU1lOQzJfRDJCSUZfQ1dfQUREUl9TWU5DXzJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEQyQklGX0NXX1NZTkMyX0QyQklGX0NXX0FERFJfU1lOQ18yX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgRDJCSUZfQ1dfU1lOQzJfRDJCSUZfQ1dfQUREUl9TWU5DXzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDNGRkYpCisKKyNkZWZpbmUgRDJCSUZfQ1dfU1lOQzNfRDJCSUZfQ1dfU1lOQ19SRFlfM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBEMkJJRl9DV19TWU5DM19EMkJJRl9DV19TWU5DX1JEWV8zX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfU1lOQzNfRDJCSUZfQ1dfU1lOQ19SRFlfM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIEQyQklGX0NXX1NZTkMzX0QyQklGX0NXX1NZTkNfUkRZXzNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIFRJTUVSX1NZTkNfREFUQTBfUlRSX1NMT1RfQ05UX1NZTkNfMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgVElNRVJfU1lOQ19EQVRBMF9SVFJfU0xPVF9DTlRfU1lOQ18wX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFRJTUVSX1NZTkNfREFUQTBfUlRSX1NMT1RfQ05UX1NZTkNfMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDc4MDAwKQorCisjZGVmaW5lIFRJTUVSX1NZTkNfREFUQTBfUlRSX0NISVBfU1lOQ18wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUSU1FUl9TWU5DX0RBVEEwX1JUUl9DSElQX1NZTkNfMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIFRJTUVSX1NZTkNfREFUQTBfUlRSX0NISVBfU1lOQ18wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkY4KQorCisjZGVmaW5lIFRJTUVSX1NZTkNfREFUQTBfUlRSX0VDSElQX1NZTkNfMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUSU1FUl9TWU5DX0RBVEEwX1JUUl9FQ0hJUF9TWU5DXzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgVElNRVJfU1lOQ19EQVRBMF9SVFJfRUNISVBfU1lOQ18wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDcpCisKKyNkZWZpbmUgVElNRVJfU1lOQ19EQVRBMV9SVFJfU0xPVF9DTlRfU1lOQ18xX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBUSU1FUl9TWU5DX0RBVEExX1JUUl9TTE9UX0NOVF9TWU5DXzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgVElNRVJfU1lOQ19EQVRBMV9SVFJfU0xPVF9DTlRfU1lOQ18xX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwNzgwMDApCisKKyNkZWZpbmUgVElNRVJfU1lOQ19EQVRBMV9SVFJfQ0hJUF9TWU5DXzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRJTUVSX1NZTkNfREFUQTFfUlRSX0NISVBfU1lOQ18xX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgVElNRVJfU1lOQ19EQVRBMV9SVFJfQ0hJUF9TWU5DXzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRjgpCisKKyNkZWZpbmUgVElNRVJfU1lOQ19DMVhfRDJCSUZfQ1dfU1lOQ19SRFlfQzFYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBUSU1FUl9TWU5DX0MxWF9EMkJJRl9DV19TWU5DX1JEWV9DMVhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVElNRVJfU1lOQ19DMVhfRDJCSUZfQ1dfU1lOQ19SRFlfQzFYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIFRJTUVSX1NZTkNfQzFYX0QyQklGX0NXX1NZTkNfUkRZX0MxWF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIFRJTUVSX1NZTkNfQzFYX1JUUl9TWVNfQ05UX1NZTkNfQzFYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUSU1FUl9TWU5DX0MxWF9SVFJfU1lTX0NOVF9TWU5DX0MxWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFRJTUVSX1NZTkNfQzFYX1JUUl9TWVNfQ05UX1NZTkNfQzFYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZGKQorCisjZGVmaW5lIFRJTUVSX1NZTkNfQ0RPX0QyQklGX0NXX1NZTkNfUkRZX0NET19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgVElNRVJfU1lOQ19DRE9fRDJCSUZfQ1dfU1lOQ19SRFlfQ0RPX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRJTUVSX1NZTkNfQ0RPX0QyQklGX0NXX1NZTkNfUkRZX0NET19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBUSU1FUl9TWU5DX0NET19EMkJJRl9DV19TWU5DX1JEWV9DRE9fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBUSU1FUl9TWU5DX0NET19SVFJfU1lTX0NOVF9TWU5DX0NET19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVElNRVJfU1lOQ19DRE9fUlRSX1NZU19DTlRfU1lOQ19DRE9fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBUSU1FUl9TWU5DX0NET19SVFJfU1lTX0NOVF9TWU5DX0NET19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGRikKKworI2RlZmluZSBUSU1FUl9TWU5DX0RBVEExX1JUUl9FQ0hJUF9TWU5DXzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVElNRVJfU1lOQ19EQVRBMV9SVFJfRUNISVBfU1lOQ18xX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRJTUVSX1NZTkNfREFUQTFfUlRSX0VDSElQX1NZTkNfMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIFRJTUVSX1NZTkNfREFUQTJfUlRSX1NMT1RfQ05UX1NZTkNfMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgVElNRVJfU1lOQ19EQVRBMl9SVFJfU0xPVF9DTlRfU1lOQ18yX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFRJTUVSX1NZTkNfREFUQTJfUlRSX1NMT1RfQ05UX1NZTkNfMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDc4MDAwKQorCisjZGVmaW5lIFRJTUVSX1NZTkNfREFUQTJfUlRSX0NISVBfU1lOQ18yX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUSU1FUl9TWU5DX0RBVEEyX1JUUl9DSElQX1NZTkNfMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIFRJTUVSX1NZTkNfREFUQTJfUlRSX0NISVBfU1lOQ18yX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RkY4KQorCisjZGVmaW5lIFRJTUVSX1NZTkNfREFUQTJfUlRSX0VDSElQX1NZTkNfMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUSU1FUl9TWU5DX0RBVEEyX1JUUl9FQ0hJUF9TWU5DXzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgVElNRVJfU1lOQ19EQVRBMl9SVFJfRUNISVBfU1lOQ18yX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDcpCisKKyNkZWZpbmUgVElNRVJfU1lOQ19EQVRBM19SVFJfU0xPVF9DTlRfU1lOQ18zX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBUSU1FUl9TWU5DX0RBVEEzX1JUUl9TTE9UX0NOVF9TWU5DXzNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgVElNRVJfU1lOQ19EQVRBM19SVFJfU0xPVF9DTlRfU1lOQ18zX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwNzgwMDApCisKKyNkZWZpbmUgVElNRVJfU1lOQ19EQVRBM19SVFJfQ0hJUF9TWU5DXzNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRJTUVSX1NZTkNfREFUQTNfUlRSX0NISVBfU1lOQ18zX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgVElNRVJfU1lOQ19EQVRBM19SVFJfQ0hJUF9TWU5DXzNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRjgpCisKKyNkZWZpbmUgVElNRVJfU1lOQ19EQVRBM19SVFJfRUNISVBfU1lOQ18zX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRJTUVSX1NZTkNfREFUQTNfUlRSX0VDSElQX1NZTkNfM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUSU1FUl9TWU5DX0RBVEEzX1JUUl9FQ0hJUF9TWU5DXzNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBEMkJJRl9DV19ESVNfQklHUkFNX1dSSVRFX0RJU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIEQyQklGX0NXX0RJU19CSUdSQU1fV1JJVEVfRElTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEMkJJRl9DV19ESVNfQklHUkFNX1dSSVRFX0RJU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMCkKKyNkZWZpbmUgRDJCSUZfQ1dfRElTX0JJR1JBTV9XUklURV9ESVNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisKKyNkZWZpbmUgRDJCSUZfQ1dfRElTX1JTQ19FTl9ESVNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE3KQorI2RlZmluZSBEMkJJRl9DV19ESVNfUlNDX0VOX0RJU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfRElTX1JTQ19FTl9ESVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMjAwMDApCisjZGVmaW5lIEQyQklGX0NXX0RJU19SU0NfRU5fRElTX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDIwMDAwKQorCisjZGVmaW5lIEQyQklGX0NXX0RCR19DT05fREJHX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEMkJJRl9DV19EQkdfQ09OX0RCR19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfREJHX0NPTl9EQkdfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIEQyQklGX0NXX0RCR19DT05fREJHX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIEQyQklGX0NXX0RCR19DT05fREJHX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEMkJJRl9DV19EQkdfQ09OX0RCR19FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfREJHX0NPTl9EQkdfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEQyQklGX0NXX0RCR19DT05fREJHX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEQyQklGX0NXX1dSRVFfQ05UXzAxX1dSRVFfQ05UXzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgRDJCSUZfQ1dfV1JFUV9DTlRfMDFfV1JFUV9DTlRfMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEMkJJRl9DV19XUkVRX0NOVF8wMV9XUkVRX0NOVF8xX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEMkJJRl9DV19XUkVRX0NOVF8wMV9XUkVRX0NOVF8wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRDJCSUZfQ1dfV1JFUV9DTlRfMDFfV1JFUV9DTlRfMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEMkJJRl9DV19XUkVRX0NOVF8wMV9XUkVRX0NOVF8wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEMkJJRl9DV19XUkVRX0NOVF8yM19XUkVRX0NOVF8zX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEQyQklGX0NXX1dSRVFfQ05UXzIzX1dSRVFfQ05UXzNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgRDJCSUZfQ1dfV1JFUV9DTlRfMjNfV1JFUV9DTlRfM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgRDJCSUZfQ1dfV1JFUV9DTlRfMjNfV1JFUV9DTlRfMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEQyQklGX0NXX1dSRVFfQ05UXzIzX1dSRVFfQ05UXzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgRDJCSUZfQ1dfV1JFUV9DTlRfMjNfV1JFUV9DTlRfMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgRDJCSUZfQ1dfV1JfRlNNXzAxX1BBQ0tfQ05UXzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEMkJJRl9DV19XUl9GU01fMDFfUEFDS19DTlRfMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEQyQklGX0NXX1dSX0ZTTV8wMV9QQUNLX0NOVF8xX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIEQyQklGX0NXX1dSX0ZTTV8wMV9QQUNLX0NOVF8wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEMkJJRl9DV19XUl9GU01fMDFfUEFDS19DTlRfMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEQyQklGX0NXX1dSX0ZTTV8wMV9QQUNLX0NOVF8wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIEQyQklGX0NXX1dSX0ZTTV8yM19QQUNLX0NOVF8zX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgRDJCSUZfQ1dfV1JfRlNNXzIzX1BBQ0tfQ05UXzNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEMkJJRl9DV19XUl9GU01fMjNfUEFDS19DTlRfM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEMkJJRl9DV19XUl9GU01fMjNfUEFDS19DTlRfMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRDJCSUZfQ1dfV1JfRlNNXzIzX1BBQ0tfQ05UXzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEMkJJRl9DV19XUl9GU01fMjNfUEFDS19DTlRfMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEMkJJRl9DV19SRVFfUkVDXzBfUkVDX0RBVEFfMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEQyQklGX0NXX1JFUV9SRUNfMF9SRUNfREFUQV8wX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgRDJCSUZfQ1dfUkVRX1JFQ18wX1JFQ19EQVRBXzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgRDJCSUZfQ1dfUkVRX1JFQ18wX1JFQ19FTl8wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEQyQklGX0NXX1JFUV9SRUNfMF9SRUNfRU5fMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEMkJJRl9DV19SRVFfUkVDXzBfUkVDX0VOXzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgRDJCSUZfQ1dfUkVRX1JFQ18wX1JFQ19FTl8wX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgRDJCSUZfQ1dfUkVRX1JFQ18xX1JFQ19EQVRBXzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEMkJJRl9DV19SRVFfUkVDXzFfUkVDX0RBVEFfMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEQyQklGX0NXX1JFUV9SRUNfMV9SRUNfREFUQV8xX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIEQyQklGX0NXX1JFUV9SRUNfMV9SRUNfRU5fMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEMkJJRl9DV19SRVFfUkVDXzFfUkVDX0VOXzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfUkVRX1JFQ18xX1JFQ19FTl8xX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEQyQklGX0NXX1JFUV9SRUNfMV9SRUNfRU5fMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEQyQklGX0NXX1JFUV9SRUNfMl9SRUNfREFUQV8yX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgRDJCSUZfQ1dfUkVRX1JFQ18yX1JFQ19EQVRBXzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEMkJJRl9DV19SRVFfUkVDXzJfUkVDX0RBVEFfMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEMkJJRl9DV19SRVFfUkVDXzJfUkVDX0VOXzJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRDJCSUZfQ1dfUkVRX1JFQ18yX1JFQ19FTl8yX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEQyQklGX0NXX1JFUV9SRUNfMl9SRUNfRU5fMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEMkJJRl9DV19SRVFfUkVDXzJfUkVDX0VOXzJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEMkJJRl9DV19SRVFfUkVDXzNfUkVDX0RBVEFfM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEQyQklGX0NXX1JFUV9SRUNfM19SRUNfREFUQV8zX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgRDJCSUZfQ1dfUkVRX1JFQ18zX1JFQ19EQVRBXzNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgRDJCSUZfQ1dfUkVRX1JFQ18zX1JFQ19FTl8zX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEQyQklGX0NXX1JFUV9SRUNfM19SRUNfRU5fM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEMkJJRl9DV19SRVFfUkVDXzNfUkVDX0VOXzNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgRDJCSUZfQ1dfUkVRX1JFQ18zX1JFQ19FTl8zX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgRDJCSUZfQ1dfV19DT05fQTBDMF8wX0QyQklGX0NXX1dfU1RfU0FNX0lEWF8wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9BMEMwXzBfRDJCSUZfQ1dfV19TVF9TQU1fSURYXzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0EwQzBfMF9EMkJJRl9DV19XX1NUX1NBTV9JRFhfMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0EwQzBfMF9EMkJJRl9DV19XX0JBU0VfQUREUl8wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9BMEMwXzBfRDJCSUZfQ1dfV19CQVNFX0FERFJfMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0EwQzBfMF9EMkJJRl9DV19XX0JBU0VfQUREUl8wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0ExQzBfMF9EMkJJRl9DV19XX1NUX1NBTV9JRFhfMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgRDJCSUZfQ1dfV19DT05fQTFDMF8wX0QyQklGX0NXX1dfU1RfU0FNX0lEWF8xX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9BMUMwXzBfRDJCSUZfQ1dfV19TVF9TQU1fSURYXzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEMkJJRl9DV19XX0NPTl9BMUMwXzBfRDJCSUZfQ1dfV19CQVNFX0FERFJfMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRDJCSUZfQ1dfV19DT05fQTFDMF8wX0QyQklGX0NXX1dfQkFTRV9BRERSXzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9BMUMwXzBfRDJCSUZfQ1dfV19CQVNFX0FERFJfMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEMkJJRl9DV19XX0NPTl9BMEMxXzBfRDJCSUZfQ1dfV19TVF9TQU1fSURYXzJfTFNCICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0EwQzFfMF9EMkJJRl9DV19XX1NUX1NBTV9JRFhfMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgRDJCSUZfQ1dfV19DT05fQTBDMV8wX0QyQklGX0NXX1dfU1RfU0FNX0lEWF8yX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgRDJCSUZfQ1dfV19DT05fQTBDMV8wX0QyQklGX0NXX1dfQkFTRV9BRERSXzJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0EwQzFfMF9EMkJJRl9DV19XX0JBU0VfQUREUl8yX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgRDJCSUZfQ1dfV19DT05fQTBDMV8wX0QyQklGX0NXX1dfQkFTRV9BRERSXzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgRDJCSUZfQ1dfV19DT05fQTFDMV8wX0QyQklGX0NXX1dfU1RfU0FNX0lEWF8zX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9BMUMxXzBfRDJCSUZfQ1dfV19TVF9TQU1fSURYXzNfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0ExQzFfMF9EMkJJRl9DV19XX1NUX1NBTV9JRFhfM19NQVNLICAgICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0ExQzFfMF9EMkJJRl9DV19XX0JBU0VfQUREUl8zX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9BMUMxXzBfRDJCSUZfQ1dfV19CQVNFX0FERFJfM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0ExQzFfMF9EMkJJRl9DV19XX0JBU0VfQUREUl8zX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0EwQzBfMV9EMkJJRl9DV19XX0JVRl9TSVpFXzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9BMEMwXzFfRDJCSUZfQ1dfV19CVUZfU0laRV8wX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0EwQzBfMV9EMkJJRl9DV19XX0JVRl9TSVpFXzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0ExQzBfMV9EMkJJRl9DV19XX0JVRl9TSVpFXzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9BMUMwXzFfRDJCSUZfQ1dfV19CVUZfU0laRV8xX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0ExQzBfMV9EMkJJRl9DV19XX0JVRl9TSVpFXzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0EwQzFfMV9EMkJJRl9DV19XX0JVRl9TSVpFXzJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9BMEMxXzFfRDJCSUZfQ1dfV19CVUZfU0laRV8yX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0EwQzFfMV9EMkJJRl9DV19XX0JVRl9TSVpFXzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0ExQzFfMV9EMkJJRl9DV19XX0JVRl9TSVpFXzNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9BMUMxXzFfRDJCSUZfQ1dfV19CVUZfU0laRV8zX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX0ExQzFfMV9EMkJJRl9DV19XX0JVRl9TSVpFXzNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIEQyQklGX0NXX1dfQ09OX1FMSUNfMF9EMkJJRl9DV19XX1NUX1NBTV9JRFhfUV9MU0IgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgRDJCSUZfQ1dfV19DT05fUUxJQ18wX0QyQklGX0NXX1dfU1RfU0FNX0lEWF9RX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9RTElDXzBfRDJCSUZfQ1dfV19TVF9TQU1fSURYX1FfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEMkJJRl9DV19XX0NPTl9RTElDXzBfRDJCSUZfQ1dfV19CQVNFX0FERFJfUV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRDJCSUZfQ1dfV19DT05fUUxJQ18wX0QyQklGX0NXX1dfQkFTRV9BRERSX1FfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9RTElDXzBfRDJCSUZfQ1dfV19CQVNFX0FERFJfUV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEMkJJRl9DV19XX0NPTl9RTElDXzFfRDJCSUZfQ1dfV19CVUZfU0laRV9RX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRDJCSUZfQ1dfV19DT05fUUxJQ18xX0QyQklGX0NXX1dfQlVGX1NJWkVfUV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEMkJJRl9DV19XX0NPTl9RTElDXzFfRDJCSUZfQ1dfV19CVUZfU0laRV9RX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBEMkJJRl9DV19XQUREUl9TRUxfV0FERFJfSURYX1FfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgRDJCSUZfQ1dfV0FERFJfU0VMX1dBRERSX0lEWF9RX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIEQyQklGX0NXX1dBRERSX1NFTF9XQUREUl9JRFhfUV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDMwKQorCisjZGVmaW5lIEQyQklGX0NXX1dBRERSX1NFTF9XQUREUl9JRFhfMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBEMkJJRl9DV19XQUREUl9TRUxfV0FERFJfSURYXzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgRDJCSUZfQ1dfV0FERFJfU0VMX1dBRERSX0lEWF8xX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEMpCisKKyNkZWZpbmUgRDJCSUZfQ1dfV0FERFJfU0VMX1dBRERSX0lEWF8wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEQyQklGX0NXX1dBRERSX1NFTF9XQUREUl9JRFhfMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBEMkJJRl9DV19XQUREUl9TRUxfV0FERFJfSURYXzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMykKKworI2RlZmluZSBEMkJJRl9DV19PVVRfU0VMX0QyQklGX0NXX09VVF9TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRDJCSUZfQ1dfT1VUX1NFTF9EMkJJRl9DV19PVVRfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIEQyQklGX0NXX09VVF9TRUxfRDJCSUZfQ1dfT1VUX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAzKQorCisjZGVmaW5lIEQyQklGX0NXX0lDX0NPTkZfSUNfQ09ORl9NT0RFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEMkJJRl9DV19JQ19DT05GX0lDX0NPTkZfTU9ERV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfSUNfQ09ORl9JQ19DT05GX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIEQyQklGX0NXX0lDX0NPTkZfSUNfQ09ORl9NT0RFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIEQyQklGX0NXX0lDX0NPTkZfSUNfQ09ORl9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEMkJJRl9DV19JQ19DT05GX0lDX0NPTkZfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfSUNfQ09ORl9JQ19DT05GX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEQyQklGX0NXX0lDX0NPTkZfSUNfQ09ORl9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEQyQklGX0NXX0ZJRk9fU1RBX0FGSUZPX0ZVTExfUDIzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9BRklGT19GVUxMX1AyM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfRklGT19TVEFfQUZJRk9fRlVMTF9QMjNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIEQyQklGX0NXX0ZJRk9fU1RBX0FGSUZPX0ZVTExfUDIzX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIEQyQklGX0NXX0ZJRk9fU1RBX0FGSUZPX0ZVTExfUDAxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9BRklGT19GVUxMX1AwMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfRklGT19TVEFfQUZJRk9fRlVMTF9QMDFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIEQyQklGX0NXX0ZJRk9fU1RBX0FGSUZPX0ZVTExfUDAxX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIEQyQklGX0NXX0ZJRk9fU1RBX1dBRERSX0ZJRk9fRlVMTF9QMjNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9XQUREUl9GSUZPX0ZVTExfUDIzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfRklGT19TVEFfV0FERFJfRklGT19GVUxMX1AyM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIEQyQklGX0NXX0ZJRk9fU1RBX1dBRERSX0ZJRk9fRlVMTF9QMjNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIEQyQklGX0NXX0ZJRk9fU1RBX1dBRERSX0ZJRk9fRlVMTF9QMDFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9XQUREUl9GSUZPX0ZVTExfUDAxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfRklGT19TVEFfV0FERFJfRklGT19GVUxMX1AwMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIEQyQklGX0NXX0ZJRk9fU1RBX1dBRERSX0ZJRk9fRlVMTF9QMDFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIEQyQklGX0NXX0ZJRk9fU1RBX1dfREFUQV9QM19GSUZPX0ZVTExfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9XX0RBVEFfUDNfRklGT19GVUxMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfRklGT19TVEFfV19EQVRBX1AzX0ZJRk9fRlVMTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIEQyQklGX0NXX0ZJRk9fU1RBX1dfREFUQV9QM19GSUZPX0ZVTExfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIEQyQklGX0NXX0ZJRk9fU1RBX1dfREFUQV9QMl9GSUZPX0ZVTExfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9XX0RBVEFfUDJfRklGT19GVUxMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfRklGT19TVEFfV19EQVRBX1AyX0ZJRk9fRlVMTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIEQyQklGX0NXX0ZJRk9fU1RBX1dfREFUQV9QMl9GSUZPX0ZVTExfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIEQyQklGX0NXX0ZJRk9fU1RBX1dfREFUQV9QMV9GSUZPX0ZVTExfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9XX0RBVEFfUDFfRklGT19GVUxMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfRklGT19TVEFfV19EQVRBX1AxX0ZJRk9fRlVMTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIEQyQklGX0NXX0ZJRk9fU1RBX1dfREFUQV9QMV9GSUZPX0ZVTExfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIEQyQklGX0NXX0ZJRk9fU1RBX1dfREFUQV9QMF9GSUZPX0ZVTExfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9XX0RBVEFfUDBfRklGT19GVUxMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfRklGT19TVEFfV19EQVRBX1AwX0ZJRk9fRlVMTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIEQyQklGX0NXX0ZJRk9fU1RBX1dfREFUQV9QMF9GSUZPX0ZVTExfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIEQyQklGX0NXX0ZJRk9fU1RBX1dfSURYX0ZJRk9fRlVMTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9XX0lEWF9GSUZPX0ZVTExfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfRklGT19TVEFfV19JRFhfRklGT19GVUxMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIEQyQklGX0NXX0ZJRk9fU1RBX1dfSURYX0ZJRk9fRlVMTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIEQyQklGX0NXX0ZJRk9fU1RBX0RPTkVfSURYX0ZJRk9fRlVMTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9ET05FX0lEWF9GSUZPX0ZVTExfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfRklGT19TVEFfRE9ORV9JRFhfRklGT19GVUxMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEQyQklGX0NXX0ZJRk9fU1RBX0RPTkVfSURYX0ZJRk9fRlVMTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEQyQklGX0NXX0ZJRk9fU1RBX0xfRklGT19GVUxMX0NOVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgRDJCSUZfQ1dfRklGT19TVEFfTF9GSUZPX0ZVTExfQ05UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9MX0ZJRk9fRlVMTF9DTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGMDAwMCkKKworI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9MX0NET19UMl9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIEQyQklGX0NXX0ZJRk9fU1RBX0xfQ0RPX1QyX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9MX0NET19UMl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKyNkZWZpbmUgRDJCSUZfQ1dfRklGT19TVEFfTF9DRE9fVDJfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisKKyNkZWZpbmUgRDJCSUZfQ1dfRklGT19TVEFfTF9DMVhfVDJfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9MX0MxWF9UMl9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfRklGT19TVEFfTF9DMVhfVDJfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisjZGVmaW5lIEQyQklGX0NXX0ZJRk9fU1RBX0xfQzFYX1QyX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorCisjZGVmaW5lIEQyQklGX0NXX0ZJRk9fU1RBX0xfRkREX1QyX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgRDJCSUZfQ1dfRklGT19TVEFfTF9GRERfVDJfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEQyQklGX0NXX0ZJRk9fU1RBX0xfRkREX1QyX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9MX0ZERF9UMl9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9MX0FGSUZPX0ZVTExfUDIzX0xfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgRDJCSUZfQ1dfRklGT19TVEFfTF9BRklGT19GVUxMX1AyM19MX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEQyQklGX0NXX0ZJRk9fU1RBX0xfQUZJRk9fRlVMTF9QMjNfTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9MX0FGSUZPX0ZVTExfUDIzX0xfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9MX0FGSUZPX0ZVTExfUDAxX0xfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgRDJCSUZfQ1dfRklGT19TVEFfTF9BRklGT19GVUxMX1AwMV9MX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEQyQklGX0NXX0ZJRk9fU1RBX0xfQUZJRk9fRlVMTF9QMDFfTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9MX0FGSUZPX0ZVTExfUDAxX0xfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9MX1dBRERSX0ZJRk9fRlVMTF9QMjNfTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgRDJCSUZfQ1dfRklGT19TVEFfTF9XQUREUl9GSUZPX0ZVTExfUDIzX0xfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEQyQklGX0NXX0ZJRk9fU1RBX0xfV0FERFJfRklGT19GVUxMX1AyM19MX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9MX1dBRERSX0ZJRk9fRlVMTF9QMjNfTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9MX1dBRERSX0ZJRk9fRlVMTF9QMDFfTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgRDJCSUZfQ1dfRklGT19TVEFfTF9XQUREUl9GSUZPX0ZVTExfUDAxX0xfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEQyQklGX0NXX0ZJRk9fU1RBX0xfV0FERFJfRklGT19GVUxMX1AwMV9MX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9MX1dBRERSX0ZJRk9fRlVMTF9QMDFfTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9MX1dfREFUQV9QM19GSUZPX0ZVTExfTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgRDJCSUZfQ1dfRklGT19TVEFfTF9XX0RBVEFfUDNfRklGT19GVUxMX0xfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEQyQklGX0NXX0ZJRk9fU1RBX0xfV19EQVRBX1AzX0ZJRk9fRlVMTF9MX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9MX1dfREFUQV9QM19GSUZPX0ZVTExfTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9MX1dfREFUQV9QMl9GSUZPX0ZVTExfTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgRDJCSUZfQ1dfRklGT19TVEFfTF9XX0RBVEFfUDJfRklGT19GVUxMX0xfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEQyQklGX0NXX0ZJRk9fU1RBX0xfV19EQVRBX1AyX0ZJRk9fRlVMTF9MX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9MX1dfREFUQV9QMl9GSUZPX0ZVTExfTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9MX1dfREFUQV9QMV9GSUZPX0ZVTExfTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgRDJCSUZfQ1dfRklGT19TVEFfTF9XX0RBVEFfUDFfRklGT19GVUxMX0xfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEQyQklGX0NXX0ZJRk9fU1RBX0xfV19EQVRBX1AxX0ZJRk9fRlVMTF9MX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9MX1dfREFUQV9QMV9GSUZPX0ZVTExfTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9MX1dfREFUQV9QMF9GSUZPX0ZVTExfTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgRDJCSUZfQ1dfRklGT19TVEFfTF9XX0RBVEFfUDBfRklGT19GVUxMX0xfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEQyQklGX0NXX0ZJRk9fU1RBX0xfV19EQVRBX1AwX0ZJRk9fRlVMTF9MX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9MX1dfREFUQV9QMF9GSUZPX0ZVTExfTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9MX1dfSURYX0ZJRk9fRlVMTF9MX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRDJCSUZfQ1dfRklGT19TVEFfTF9XX0lEWF9GSUZPX0ZVTExfTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEQyQklGX0NXX0ZJRk9fU1RBX0xfV19JRFhfRklGT19GVUxMX0xfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9MX1dfSURYX0ZJRk9fRlVMTF9MX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9MX0RPTkVfSURYX0ZJRk9fRlVMTF9MX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRDJCSUZfQ1dfRklGT19TVEFfTF9ET05FX0lEWF9GSUZPX0ZVTExfTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEQyQklGX0NXX0ZJRk9fU1RBX0xfRE9ORV9JRFhfRklGT19GVUxMX0xfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEMkJJRl9DV19GSUZPX1NUQV9MX0RPTkVfSURYX0ZJRk9fRlVMTF9MX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEMkJJRl9DV19TVEFfREJHX1dSX1NUQVRFXzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTcpCisjZGVmaW5lIEQyQklGX0NXX1NUQV9EQkdfV1JfU1RBVEVfMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEMkJJRl9DV19TVEFfREJHX1dSX1NUQVRFXzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBFMDAwMCkKKworI2RlZmluZSBEMkJJRl9DV19TVEFfREJHX1dSX1NUQVRFXzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIEQyQklGX0NXX1NUQV9EQkdfV1JfU1RBVEVfMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEMkJJRl9DV19TVEFfREJHX1dSX1NUQVRFXzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxQzAwMCkKKworI2RlZmluZSBEMkJJRl9DV19TVEFfREJHX1dfRE9ORV9TVEFURV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIEQyQklGX0NXX1NUQV9EQkdfV19ET05FX1NUQVRFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBEMkJJRl9DV19TVEFfREJHX1dfRE9ORV9TVEFURV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMzAwMCkKKworI2RlZmluZSBEMkJJRl9DV19TVEFfREJHX0RPTkVfU1RBVEVfUV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgRDJCSUZfQ1dfU1RBX0RCR19ET05FX1NUQVRFX1FfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEQyQklGX0NXX1NUQV9EQkdfRE9ORV9TVEFURV9RX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwRTAwKQorCisjZGVmaW5lIEQyQklGX0NXX1NUQV9EQkdfRE9ORV9TVEFURV8xX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEMkJJRl9DV19TVEFfREJHX0RPTkVfU1RBVEVfMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgRDJCSUZfQ1dfU1RBX0RCR19ET05FX1NUQVRFXzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxQzApCisKKyNkZWZpbmUgRDJCSUZfQ1dfU1RBX0RCR19ET05FX1NUQVRFXzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEQyQklGX0NXX1NUQV9EQkdfRE9ORV9TVEFURV8wX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEMkJJRl9DV19TVEFfREJHX0RPTkVfU1RBVEVfMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzOCkKKworI2RlZmluZSBEMkJJRl9DV19TVEFfREJHX1dfU1RBVEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRDJCSUZfQ1dfU1RBX0RCR19XX1NUQVRFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEQyQklGX0NXX1NUQV9EQkdfV19TVEFURV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIEQyQklGX0NXX1JFU0VSVkVEMF9EMkJJRl9DV19SRVNFUlZFRDBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEMkJJRl9DV19SRVNFUlZFRDBfRDJCSUZfQ1dfUkVTRVJWRUQwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIEQyQklGX0NXX1JFU0VSVkVEMF9EMkJJRl9DV19SRVNFUlZFRDBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIEQyQklGX0NXX1JFU0VSVkVEMV9EMkJJRl9DV19SRVNFUlZFRDFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEMkJJRl9DV19SRVNFUlZFRDFfRDJCSUZfQ1dfUkVTRVJWRUQxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIEQyQklGX0NXX1JFU0VSVkVEMV9EMkJJRl9DV19SRVNFUlZFRDFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZW5kaWYgLy8jaWZuZGVmIF9DUEhfRDJCSUZfSF8KZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhkZmVzeXNnbGJjb25maWdyZWcwLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoZGZlc3lzZ2xiY29uZmlncmVnMC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5M2NjNWMKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoZGZlc3lzZ2xiY29uZmlncmVnMC5oCkBAIC0wLDAgKzEsMjgwIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9DUEhfREZFU1lTX0dMQkNPTl9DT05GSUcwX0hfCisjZGVmaW5lIF9DUEhfREZFU1lTX0dMQkNPTl9DT05GSUcwX0hfCisKKwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogU1JBTUFERFI7ICAgICAgICAgLyogU1JBTSBhZGRyIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBTUkFNREFUQTsgICAgICAgICAvKiBTUkFNIGRhdGEgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIEFQQkFERFI7ICAgICAgICAgIC8qIEFQQiBhZGRyIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgQVBCREFUQTsgICAgICAgICAgLyogQVBCIGRhdGEgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqICBBUEJBRERSMzI7ICAgICAgICAvKiBBUEIgYWRkciBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAgIEFQQkRBVEEzMjsgICAgICAgIC8qIEFQQiBkYXRhIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogRFBSQU1BRERSOyAgICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHNpZ25lZCAgIHNob3J0KiBEUFJBTUFERFJfUzsgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIERQUkFNREFUQTsgICAgICAgIC8qIERQUkFNIGRhdGEgaXMgMTYgYml0cyAqLworCisKKyNkZWZpbmUgREZFU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QTg5OTAwMDApCisKKyNkZWZpbmUgREZFU1lTX0dMQl9DT05fQ09ORklHMF9lbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKERGRVNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAxMTQgKyAxKjQpCisKKworCisjZGVmaW5lIERJVl9UWEJSUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDAwKSkKKyNkZWZpbmUgRElWX1RYQ1JQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRVNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwMDQpKQorI2RlZmluZSBERUJVR19TRUwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDAxQykpCisjZGVmaW5lIEYyMDhNX0RFQlVHX0JVUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDI0KSkKKyNkZWZpbmUgRjIwOE1fREVCVUdfQlVTMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRVNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwMjgpKQorI2RlZmluZSBUWEJTUlBfU1dfQ0tFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDAyYykpCisjZGVmaW5lIFJHX1NXX0FERFJfREFUQV9WTEQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDM0KSkKKyNkZWZpbmUgVFhCU1JQX1NXX1JFU0VUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRVNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwMzgpKQorI2RlZmluZSBUWEJTUlBfUENLX1NXX0NLRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDA0MCkpCisjZGVmaW5lIFRYQlNSUF9QQ0tfU1dfQ0tDVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDQ0KSkKKyNkZWZpbmUgVFhfU1JQX0NSUF9DS19TV19DS0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRVNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwNDgpKQorI2RlZmluZSBUWF9TUlBfQ1JQX0NLX1NXX0NLQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDA0YykpCisjZGVmaW5lIFRYQ1JQX1BDS19TV19DS0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDUwKSkKKyNkZWZpbmUgVFhDUlBfUENLX1NXX0NLQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRVNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwNTQpKQorI2RlZmluZSBUWENSUF9TUF9XQ1JQX0FQQl9TV19SRVNFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDA2NCkpCisjZGVmaW5lIFRYQ1JQX1JHX1RBUEJfU1dfUkVTRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDY4KSkKKyNkZWZpbmUgVFhDUlBfUkdfQzFYX1NXX1JFU0VUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRVNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwNkMpKQorI2RlZmluZSBUWENSUF9SR19DRE9fU1dfUkVTRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDA3MCkpCisjZGVmaW5lIFRYQ1JQX0NLX1NXX0NLRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDc0KSkKKyNkZWZpbmUgVFhDUlBfQ0tfU1dfQ0tDVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRVNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwNzgpKQorI2RlZmluZSBUWEJTUlBfTUFTX0JVU19DS19TV19DS0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDA4MCkpCisjZGVmaW5lIFRYQlNSUF9TTFZfQlVTX0NLX1NXX0NLQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDg0KSkKKyNkZWZpbmUgU1dfQ0tfSURMRV9ESVYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRVNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwOTApKQorI2RlZmluZSBNQVNLX1RYQlNSUF9DS19JRExFX0RJViAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDA5NCkpCisjZGVmaW5lIFIyVFhfU1dfRElTQUJMRV9IVyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMTAwKSkKKyNkZWZpbmUgUjJUX1JEQVRBMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRVNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAxMDQpKQorI2RlZmluZSBSMlRfUkRBVEEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDEwOCkpCisjZGVmaW5lIFIyVF9SREFUQTMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMTBjKSkKKyNkZWZpbmUgUjJUX1JEQVRBNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRVNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAxMTApKQorI2RlZmluZSBSMlRfUkRBVEE1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDExNCkpCisKKworI2RlZmluZSBESVZfVFhCUlBfRElWX1RYQlJQX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRElWX1RYQlJQX0RJVl9UWEJSUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERJVl9UWEJSUF9ESVZfVFhCUlBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBESVZfVFhCUlBfRElWX1RYQlJQX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBESVZfVFhDUlBfRElWX1RYQ1JQX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRElWX1RYQ1JQX0RJVl9UWENSUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIERJVl9UWENSUF9ESVZfVFhDUlBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAzKQorCisjZGVmaW5lIERFQlVHX1NFTF9ERUJVR19TRUxfM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgREVCVUdfU0VMX0RFQlVHX1NFTF8zX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERFQlVHX1NFTF9ERUJVR19TRUxfM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDFGMDAwMDAwKQorCisjZGVmaW5lIERFQlVHX1NFTF9ERUJVR19TRUxfMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREVCVUdfU0VMX0RFQlVHX1NFTF8yX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERFQlVHX1NFTF9ERUJVR19TRUxfMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUYwMDAwKQorCisjZGVmaW5lIERFQlVHX1NFTF9ERUJVR19TRUxfMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBERUJVR19TRUxfREVCVUdfU0VMXzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREVCVUdfU0VMX0RFQlVHX1NFTF8xX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDFGMDApCisKKyNkZWZpbmUgREVCVUdfU0VMX0RFQlVHX1NFTF8wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERFQlVHX1NFTF9ERUJVR19TRUxfMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBERUJVR19TRUxfREVCVUdfU0VMXzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxRikKKworI2RlZmluZSBGMjA4TV9ERUJVR19CVVNfRjIwOE1fREVCVUdfQlVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRjIwOE1fREVCVUdfQlVTX0YyMDhNX0RFQlVHX0JVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBGMjA4TV9ERUJVR19CVVNfRjIwOE1fREVCVUdfQlVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBGMjA4TV9ERUJVR19CVVMyX0YyMDhNX0RFQlVHX0JVUzJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRjIwOE1fREVCVUdfQlVTMl9GMjA4TV9ERUJVR19CVVMyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBGMjA4TV9ERUJVR19CVVMyX0YyMDhNX0RFQlVHX0JVUzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWEJTUlBfU1dfQ0tFTl9UWEJTUlBfU1dfQ0tFTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhCU1JQX1NXX0NLRU5fVFhCU1JQX1NXX0NLRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYQlNSUF9TV19DS0VOX1RYQlNSUF9TV19DS0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUWEJTUlBfU1dfQ0tFTl9UWEJTUlBfU1dfQ0tFTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSR19TV19BRERSX0RBVEFfVkxEX1NXX1JBS0VfREFUQV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgUkdfU1dfQUREUl9EQVRBX1ZMRF9TV19SQUtFX0RBVEFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBSR19TV19BRERSX0RBVEFfVkxEX1NXX1JBS0VfREFUQV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDA3RkYwMCkKKworI2RlZmluZSBSR19TV19BRERSX0RBVEFfVkxEX1NXX1JBS0VfQUREUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUkdfU1dfQUREUl9EQVRBX1ZMRF9TV19SQUtFX0FERFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJHX1NXX0FERFJfREFUQV9WTERfU1dfUkFLRV9BRERSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEYwKQorCisjZGVmaW5lIFJHX1NXX0FERFJfREFUQV9WTERfU1dfUkFLRV9SU1ZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSR19TV19BRERSX0RBVEFfVkxEX1NXX1JBS0VfUlNWX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgUkdfU1dfQUREUl9EQVRBX1ZMRF9TV19SQUtFX1JTVl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEUpCisKKyNkZWZpbmUgUkdfU1dfQUREUl9EQVRBX1ZMRF9TV19WTERfVEdMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJHX1NXX0FERFJfREFUQV9WTERfU1dfVkxEX1RHTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSR19TV19BRERSX0RBVEFfVkxEX1NXX1ZMRF9UR0xfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUkdfU1dfQUREUl9EQVRBX1ZMRF9TV19WTERfVEdMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhCU1JQX1NXX1JFU0VUX1RYQlJQX1RYQlJQX1NXX1JFU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBUWEJTUlBfU1dfUkVTRVRfVFhCUlBfVFhCUlBfU1dfUkVTRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhCU1JQX1NXX1JFU0VUX1RYQlJQX1RYQlJQX1NXX1JFU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisjZGVmaW5lIFRYQlNSUF9TV19SRVNFVF9UWEJSUF9UWEJSUF9TV19SRVNFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorCisjZGVmaW5lIFRYQlNSUF9TV19SRVNFVF9UWEJSUF9SRUdfU1dfUkVTRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJTUlBfU1dfUkVTRVRfVFhCUlBfUkVHX1NXX1JFU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhCU1JQX1NXX1JFU0VUX1RYQlJQX1JFR19TV19SRVNFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFRYQlNSUF9TV19SRVNFVF9UWEJSUF9SRUdfU1dfUkVTRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFRYQlNSUF9TV19SRVNFVF9UWEJSUF9UWFNSUF9TV19SRVNFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWEJTUlBfU1dfUkVTRVRfVFhCUlBfVFhTUlBfU1dfUkVTRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhCU1JQX1NXX1JFU0VUX1RYQlJQX1RYU1JQX1NXX1JFU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYQlNSUF9TV19SRVNFVF9UWEJSUF9UWFNSUF9TV19SRVNFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYQlNSUF9QQ0tfU1dfQ0tFTl9UWEJTUlBfUENLX1NXX0NLRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWEJTUlBfUENLX1NXX0NLRU5fVFhCU1JQX1BDS19TV19DS0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhCU1JQX1BDS19TV19DS0VOX1RYQlNSUF9QQ0tfU1dfQ0tFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYQlNSUF9QQ0tfU1dfQ0tFTl9UWEJTUlBfUENLX1NXX0NLRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYQlNSUF9QQ0tfU1dfQ0tDVFJMX1RYQlNSUF9QQ0tfU1dfQ0tDVFJMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWEJTUlBfUENLX1NXX0NLQ1RSTF9UWEJTUlBfUENLX1NXX0NLQ1RSTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhCU1JQX1BDS19TV19DS0NUUkxfVFhCU1JQX1BDS19TV19DS0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYQlNSUF9QQ0tfU1dfQ0tDVFJMX1RYQlNSUF9QQ0tfU1dfQ0tDVFJMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYX1NSUF9DUlBfQ0tfU1dfQ0tFTl9UWF9TUlBfQ1JQX0NLX1NXX0NLRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWF9TUlBfQ1JQX0NLX1NXX0NLRU5fVFhfU1JQX0NSUF9DS19TV19DS0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhfU1JQX0NSUF9DS19TV19DS0VOX1RYX1NSUF9DUlBfQ0tfU1dfQ0tFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYX1NSUF9DUlBfQ0tfU1dfQ0tFTl9UWF9TUlBfQ1JQX0NLX1NXX0NLRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYX1NSUF9DUlBfQ0tfU1dfQ0tDVFJMX1RYX1NSUF9DUlBfQ0tfU1dfQ0tDVFJMX0xTQiAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWF9TUlBfQ1JQX0NLX1NXX0NLQ1RSTF9UWF9TUlBfQ1JQX0NLX1NXX0NLQ1RSTF9XSURUSCAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhfU1JQX0NSUF9DS19TV19DS0NUUkxfVFhfU1JQX0NSUF9DS19TV19DS0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYX1NSUF9DUlBfQ0tfU1dfQ0tDVFJMX1RYX1NSUF9DUlBfQ0tfU1dfQ0tDVFJMX0JJVCAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYQ1JQX1BDS19TV19DS0VOX1RYQ1JQX1BDS19TV19DS0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWENSUF9QQ0tfU1dfQ0tFTl9UWENSUF9QQ0tfU1dfQ0tFTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhDUlBfUENLX1NXX0NLRU5fVFhDUlBfUENLX1NXX0NLRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYQ1JQX1BDS19TV19DS0VOX1RYQ1JQX1BDS19TV19DS0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYQ1JQX1BDS19TV19DS0NUUkxfVFhDUlBfUENLX1NXX0NLQ1RSTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWENSUF9QQ0tfU1dfQ0tDVFJMX1RYQ1JQX1BDS19TV19DS0NUUkxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhDUlBfUENLX1NXX0NLQ1RSTF9UWENSUF9QQ0tfU1dfQ0tDVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYQ1JQX1BDS19TV19DS0NUUkxfVFhDUlBfUENLX1NXX0NLQ1RSTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYQ1JQX1NQX1dDUlBfQVBCX1NXX1JFU0VUX1RYQ1JQX1NQX1dDUlBfQVBCX1NXX1JFU0VUX0xTQiAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWENSUF9TUF9XQ1JQX0FQQl9TV19SRVNFVF9UWENSUF9TUF9XQ1JQX0FQQl9TV19SRVNFVF9XSURUSCAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhDUlBfU1BfV0NSUF9BUEJfU1dfUkVTRVRfVFhDUlBfU1BfV0NSUF9BUEJfU1dfUkVTRVRfTUFTSyAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYQ1JQX1NQX1dDUlBfQVBCX1NXX1JFU0VUX1RYQ1JQX1NQX1dDUlBfQVBCX1NXX1JFU0VUX0JJVCAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYQ1JQX1JHX1RBUEJfU1dfUkVTRVRfVFhDUlBfUkdfVEFQQl9TV19SRVNFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWENSUF9SR19UQVBCX1NXX1JFU0VUX1RYQ1JQX1JHX1RBUEJfU1dfUkVTRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhDUlBfUkdfVEFQQl9TV19SRVNFVF9UWENSUF9SR19UQVBCX1NXX1JFU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYQ1JQX1JHX1RBUEJfU1dfUkVTRVRfVFhDUlBfUkdfVEFQQl9TV19SRVNFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYQ1JQX1JHX0MxWF9TV19SRVNFVF9UWENSUF9SR19DMVhfU1dfUkVTRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWENSUF9SR19DMVhfU1dfUkVTRVRfVFhDUlBfUkdfQzFYX1NXX1JFU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhDUlBfUkdfQzFYX1NXX1JFU0VUX1RYQ1JQX1JHX0MxWF9TV19SRVNFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYQ1JQX1JHX0MxWF9TV19SRVNFVF9UWENSUF9SR19DMVhfU1dfUkVTRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYQ1JQX1JHX0NET19TV19SRVNFVF9UWENSUF9SR19DRE9fU1dfUkVTRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWENSUF9SR19DRE9fU1dfUkVTRVRfVFhDUlBfUkdfQ0RPX1NXX1JFU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhDUlBfUkdfQ0RPX1NXX1JFU0VUX1RYQ1JQX1JHX0NET19TV19SRVNFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYQ1JQX1JHX0NET19TV19SRVNFVF9UWENSUF9SR19DRE9fU1dfUkVTRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYQ1JQX0NLX1NXX0NLRU5fVFhDUlBfQ0tfU1dfQ0tFTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWENSUF9DS19TV19DS0VOX1RYQ1JQX0NLX1NXX0NLRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhDUlBfQ0tfU1dfQ0tFTl9UWENSUF9DS19TV19DS0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYQ1JQX0NLX1NXX0NLRU5fVFhDUlBfQ0tfU1dfQ0tFTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYQ1JQX0NLX1NXX0NLQ1RSTF9UWENSUF9DS19TV19DS0NUUkxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWENSUF9DS19TV19DS0NUUkxfVFhDUlBfQ0tfU1dfQ0tDVFJMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhDUlBfQ0tfU1dfQ0tDVFJMX1RYQ1JQX0NLX1NXX0NLQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYQ1JQX0NLX1NXX0NLQ1RSTF9UWENSUF9DS19TV19DS0NUUkxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYQlNSUF9NQVNfQlVTX0NLX1NXX0NLQ1RSTF9UWEJTUlBfTUFTX0JVU19DS19TV19DS0NUUkxfTFNCICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWEJTUlBfTUFTX0JVU19DS19TV19DS0NUUkxfVFhCU1JQX01BU19CVVNfQ0tfU1dfQ0tDVFJMX1dJRFRIICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhCU1JQX01BU19CVVNfQ0tfU1dfQ0tDVFJMX1RYQlNSUF9NQVNfQlVTX0NLX1NXX0NLQ1RSTF9NQVNLICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYQlNSUF9NQVNfQlVTX0NLX1NXX0NLQ1RSTF9UWEJTUlBfTUFTX0JVU19DS19TV19DS0NUUkxfQklUICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYQlNSUF9TTFZfQlVTX0NLX1NXX0NLQ1RSTF9UWEJTUlBfU0xWX0JVU19DS19TV19DS0NUUkxfTFNCICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWEJTUlBfU0xWX0JVU19DS19TV19DS0NUUkxfVFhCU1JQX1NMVl9CVVNfQ0tfU1dfQ0tDVFJMX1dJRFRIICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhCU1JQX1NMVl9CVVNfQ0tfU1dfQ0tDVFJMX1RYQlNSUF9TTFZfQlVTX0NLX1NXX0NLQ1RSTF9NQVNLICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYQlNSUF9TTFZfQlVTX0NLX1NXX0NLQ1RSTF9UWEJTUlBfU0xWX0JVU19DS19TV19DS0NUUkxfQklUICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNXX0NLX0lETEVfRElWX1NXX0NLX0lETEVfRElWX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTV19DS19JRExFX0RJVl9TV19DS19JRExFX0RJVl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1dfQ0tfSURMRV9ESVZfU1dfQ0tfSURMRV9ESVZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNXX0NLX0lETEVfRElWX1NXX0NLX0lETEVfRElWX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIE1BU0tfVFhCU1JQX0NLX0lETEVfRElWX01BU0tfVFhCU1JQX1NMVl9CVVNfSURMRV9MU0IgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBNQVNLX1RYQlNSUF9DS19JRExFX0RJVl9NQVNLX1RYQlNSUF9TTFZfQlVTX0lETEVfV0lEVEggICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTUFTS19UWEJTUlBfQ0tfSURMRV9ESVZfTUFTS19UWEJTUlBfU0xWX0JVU19JRExFX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIE1BU0tfVFhCU1JQX0NLX0lETEVfRElWX01BU0tfVFhCU1JQX1NMVl9CVVNfSURMRV9CSVQgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIE1BU0tfVFhCU1JQX0NLX0lETEVfRElWX01BU0tfVFhCU1JQX01BU19CVVNfSURMRV9MU0IgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBNQVNLX1RYQlNSUF9DS19JRExFX0RJVl9NQVNLX1RYQlNSUF9NQVNfQlVTX0lETEVfV0lEVEggICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTUFTS19UWEJTUlBfQ0tfSURMRV9ESVZfTUFTS19UWEJTUlBfTUFTX0JVU19JRExFX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIE1BU0tfVFhCU1JQX0NLX0lETEVfRElWX01BU0tfVFhCU1JQX01BU19CVVNfSURMRV9CSVQgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIE1BU0tfVFhCU1JQX0NLX0lETEVfRElWX01BU0tfVFhDUlBfQ0tfSURMRV9ESVZfTFNCICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNQVNLX1RYQlNSUF9DS19JRExFX0RJVl9NQVNLX1RYQ1JQX0NLX0lETEVfRElWX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTUFTS19UWEJTUlBfQ0tfSURMRV9ESVZfTUFTS19UWENSUF9DS19JRExFX0RJVl9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIE1BU0tfVFhCU1JQX0NLX0lETEVfRElWX01BU0tfVFhDUlBfQ0tfSURMRV9ESVZfQklUICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIE1BU0tfVFhCU1JQX0NLX0lETEVfRElWX01BU0tfVFhCU1JQX0NLX0lETEVfRElWX0xTQiAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNQVNLX1RYQlNSUF9DS19JRExFX0RJVl9NQVNLX1RYQlNSUF9DS19JRExFX0RJVl9XSURUSCAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTUFTS19UWEJTUlBfQ0tfSURMRV9ESVZfTUFTS19UWEJTUlBfQ0tfSURMRV9ESVZfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIE1BU0tfVFhCU1JQX0NLX0lETEVfRElWX01BU0tfVFhCU1JQX0NLX0lETEVfRElWX0JJVCAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFIyVFhfU1dfRElTQUJMRV9IV19SMlRYX1NXX0RJU0FCTEVfSFdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSMlRYX1NXX0RJU0FCTEVfSFdfUjJUWF9TV19ESVNBQkxFX0hXX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUjJUWF9TV19ESVNBQkxFX0hXX1IyVFhfU1dfRElTQUJMRV9IV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFIyVFhfU1dfRElTQUJMRV9IV19SMlRYX1NXX0RJU0FCTEVfSFdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFIyVF9SREFUQTFfUjJUX1JEQVRBMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSMlRfUkRBVEExX1IyVF9SREFUQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFIyVF9SREFUQTFfUjJUX1JEQVRBMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFIyVF9SREFUQTJfUjJUX1JEQVRBMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSMlRfUkRBVEEyX1IyVF9SREFUQTJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFIyVF9SREFUQTJfUjJUX1JEQVRBMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFIyVF9SREFUQTNfUjJUX1JEQVRBM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSMlRfUkRBVEEzX1IyVF9SREFUQTNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFIyVF9SREFUQTNfUjJUX1JEQVRBM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFIyVF9SREFUQTRfUjJUX1JEQVRBNF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSMlRfUkRBVEE0X1IyVF9SREFUQTRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFIyVF9SREFUQTRfUjJUX1JEQVRBNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFIyVF9SREFUQTVfUjJUX1JEQVRBNV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSMlRfUkRBVEE1X1IyVF9SREFUQTVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFIyVF9SREFUQTVfUjJUX1JEQVRBNV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisKKyNlbmRpZiAvLyNpZm5kZWYgX0VMMURfUkVHX0VMQlJVU19IXwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGRmZXN5c2dsYmNvbmZpZ3JlZzEuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhkZmVzeXNnbGJjb25maWdyZWcxLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTRhOGE1ZAotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhkZmVzeXNnbGJjb25maWdyZWcxLmgKQEAgLTAsMCArMSw0OTIgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhfREZFU1lTX0dMQkNPTl9DT05GSUcxX0hfCisjZGVmaW5lIF9DUEhfREZFU1lTX0dMQkNPTl9DT05GSUcxX0hfCisKKwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogU1JBTUFERFI7ICAgICAgICAgLyogU1JBTSBhZGRyIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBTUkFNREFUQTsgICAgICAgICAvKiBTUkFNIGRhdGEgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIEFQQkFERFI7ICAgICAgICAgIC8qIEFQQiBhZGRyIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgQVBCREFUQTsgICAgICAgICAgLyogQVBCIGRhdGEgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqICBBUEJBRERSMzI7ICAgICAgICAvKiBBUEIgYWRkciBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAgIEFQQkRBVEEzMjsgICAgICAgIC8qIEFQQiBkYXRhIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogRFBSQU1BRERSOyAgICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHNpZ25lZCAgIHNob3J0KiBEUFJBTUFERFJfUzsgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIERQUkFNREFUQTsgICAgICAgIC8qIERQUkFNIGRhdGEgaXMgMTYgYml0cyAqLworCisKKyNkZWZpbmUgREZFU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QThiZDAwMDApCisKKyNkZWZpbmUgREZFU1lTX0dMQl9DT05fQ09ORklHMV9lbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKERGRVNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAyMTggKyAxKjQpCisKKworCisjZGVmaW5lIFRYREZFX0RfQlNSUF9TV19DS0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMDA4KSkKKyNkZWZpbmUgVFhERkVfRF9GMzEyTV9TV19DS0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRVNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAwMTApKQorI2RlZmluZSBUWERGRV9EX0YxNTZNX1NXX0NLRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSArIDB4MDAxNCkpCisjZGVmaW5lIFRYREZFX0RfRjI2TV9TV19DS0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMDE4KSkKKyNkZWZpbmUgVFhERkVfRF9TV19SRVNFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRVNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAwMWMpKQorI2RlZmluZSBUUENfRF9DS19TV19DS0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSArIDB4MDAyMCkpCisjZGVmaW5lIFRQQ19EX0NLX1NXX0NLQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMDI0KSkKKyNkZWZpbmUgRkREX1RUUl9GMTNNX1NXX0NLRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRVNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAwMzApKQorI2RlZmluZSBURERfVFRSX0Y2UDVNX1NXX0NLRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSArIDB4MDA0MCkpCisjZGVmaW5lIExURV9UVFIwX0YzMTJNX1NXX0NLRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMDUwKSkKKyNkZWZpbmUgTFRFX1RUUjFfRjMxMk1fU1dfQ0tFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRVNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAwNTQpKQorI2RlZmluZSBMVEVfVFRSMl9GMzEyTV9TV19DS0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSArIDB4MDA1OCkpCisjZGVmaW5lIE5SX1RUUjBfRjMxMk1fU1dfQ0tFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMDcwKSkKKyNkZWZpbmUgTlJfVFRSMV9GMzEyTV9TV19DS0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRVNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAwNzQpKQorI2RlZmluZSBOUl9UVFIyX0YzMTJNX1NXX0NLRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSArIDB4MDA3OCkpCisjZGVmaW5lIE5SX1RUUjNfRjMxMk1fU1dfQ0tFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMDdjKSkKKyNkZWZpbmUgU0VSREVTX0NPU19DS19TV19DS0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRVNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAwYTApKQorI2RlZmluZSBTRVJERVNfQUNOVF9DS19TV19DS0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSArIDB4MDBhNCkpCisjZGVmaW5lIFNFUkRFU19MM19UWF9GUkVFX0NLX1NXX0NLRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMGE4KSkKKyNkZWZpbmUgU0VSREVTX0wzX1JYX0ZSRUVfQ0tfU1dfQ0tFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRVNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAwYWMpKQorI2RlZmluZSBTRVJERVNfTUlTQ19GUkVFX0NLX1NXX0NLRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSArIDB4MDBiMCkpCisjZGVmaW5lIFNFUkRFU19HTEJfT0ZGX0JVU19DS19TV19DS0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMGI0KSkKKyNkZWZpbmUgRElHUkZfT0ZGX0hXX1NXX1JFU0VUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRVNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAwYmMpKQorI2RlZmluZSBGMzEyTV9ERUJVR19CVVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSArIDB4MDBjMCkpCisjZGVmaW5lIEYzMTJNX0RFQlVHX0JVUzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMGM0KSkKKyNkZWZpbmUgREZFU1lTX0RFQlVHX1RSSUdfU0VMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRVNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAwYzgpKQorI2RlZmluZSBSWERGRV9GMzEyTV9DS19TV19DS0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSArIDB4MDEwMCkpCisjZGVmaW5lIFJYREZFX0YxNTZNX0NLX1NXX0NLRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMTA0KSkKKyNkZWZpbmUgUlhERkVfRjI2TV9DS19TV19DS0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRVNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAxMDgpKQorI2RlZmluZSBTRVJERVNfU1dSU1QwX1NUQVJUQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSArIDB4MDIwMCkpCisjZGVmaW5lIFNFUkRFU19TV1JTVDFfU1RBUlRCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMjA0KSkKKyNkZWZpbmUgREJHX0ZMQUdfU0VMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRVNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAyMDgpKQorI2RlZmluZSBEQkdfVFJJR19TRUwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSArIDB4MDIwYykpCisjZGVmaW5lIERGRVNZU19NQVNfQlVTX0NLX1NXX0NLQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMjEwKSkKKyNkZWZpbmUgREZFU1lTX1NMQl9CVVNfQ0tfU1dfQ0tDVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRVNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAyMTQpKQorI2RlZmluZSBEX0dETUFfQ0tfU1dfQ0tFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSArIDB4MDIxOCkpCisKKworI2RlZmluZSBUWERGRV9EX0JTUlBfU1dfQ0tFTl9UWERGRV9EX0JTUlBfU1dfQ0tFTjZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgVFhERkVfRF9CU1JQX1NXX0NLRU5fVFhERkVfRF9CU1JQX1NXX0NLRU42X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0RfQlNSUF9TV19DS0VOX1RYREZFX0RfQlNSUF9TV19DS0VONl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBUWERGRV9EX0JTUlBfU1dfQ0tFTl9UWERGRV9EX0JTUlBfU1dfQ0tFTjZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBUWERGRV9EX0JTUlBfU1dfQ0tFTl9UWERGRV9EX0JTUlBfU1dfQ0tFTjVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgVFhERkVfRF9CU1JQX1NXX0NLRU5fVFhERkVfRF9CU1JQX1NXX0NLRU41X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0RfQlNSUF9TV19DS0VOX1RYREZFX0RfQlNSUF9TV19DS0VONV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBUWERGRV9EX0JTUlBfU1dfQ0tFTl9UWERGRV9EX0JTUlBfU1dfQ0tFTjVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBUWERGRV9EX0JTUlBfU1dfQ0tFTl9UWERGRV9EX0JTUlBfU1dfQ0tFTjRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgVFhERkVfRF9CU1JQX1NXX0NLRU5fVFhERkVfRF9CU1JQX1NXX0NLRU40X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0RfQlNSUF9TV19DS0VOX1RYREZFX0RfQlNSUF9TV19DS0VONF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBUWERGRV9EX0JTUlBfU1dfQ0tFTl9UWERGRV9EX0JTUlBfU1dfQ0tFTjRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBUWERGRV9EX0JTUlBfU1dfQ0tFTl9UWERGRV9EX0JTUlBfU1dfQ0tFTjNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgVFhERkVfRF9CU1JQX1NXX0NLRU5fVFhERkVfRF9CU1JQX1NXX0NLRU4zX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0RfQlNSUF9TV19DS0VOX1RYREZFX0RfQlNSUF9TV19DS0VOM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBUWERGRV9EX0JTUlBfU1dfQ0tFTl9UWERGRV9EX0JTUlBfU1dfQ0tFTjNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBUWERGRV9EX0JTUlBfU1dfQ0tFTl9UWERGRV9EX0JTUlBfU1dfQ0tFTjJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgVFhERkVfRF9CU1JQX1NXX0NLRU5fVFhERkVfRF9CU1JQX1NXX0NLRU4yX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0RfQlNSUF9TV19DS0VOX1RYREZFX0RfQlNSUF9TV19DS0VOMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBUWERGRV9EX0JTUlBfU1dfQ0tFTl9UWERGRV9EX0JTUlBfU1dfQ0tFTjJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBUWERGRV9EX0JTUlBfU1dfQ0tFTl9UWERGRV9EX0JTUlBfU1dfQ0tFTjFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhERkVfRF9CU1JQX1NXX0NLRU5fVFhERkVfRF9CU1JQX1NXX0NLRU4xX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0RfQlNSUF9TV19DS0VOX1RYREZFX0RfQlNSUF9TV19DS0VOMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBUWERGRV9EX0JTUlBfU1dfQ0tFTl9UWERGRV9EX0JTUlBfU1dfQ0tFTjFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBUWERGRV9EX0JTUlBfU1dfQ0tFTl9UWERGRV9EX0JTUlBfU1dfQ0tFTjBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfRF9CU1JQX1NXX0NLRU5fVFhERkVfRF9CU1JQX1NXX0NLRU4wX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0RfQlNSUF9TV19DS0VOX1RYREZFX0RfQlNSUF9TV19DS0VOMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUWERGRV9EX0JTUlBfU1dfQ0tFTl9UWERGRV9EX0JTUlBfU1dfQ0tFTjBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUWERGRV9EX0YzMTJNX1NXX0NLRU5fVFhERkVfRF9GMzEyTV9TV19DS0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfRF9GMzEyTV9TV19DS0VOX1RYREZFX0RfRjMxMk1fU1dfQ0tFTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0RfRjMxMk1fU1dfQ0tFTl9UWERGRV9EX0YzMTJNX1NXX0NLRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUWERGRV9EX0YzMTJNX1NXX0NLRU5fVFhERkVfRF9GMzEyTV9TV19DS0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUWERGRV9EX0YxNTZNX1NXX0NLRU5fVFhERkVfRF9GMTU2TV9TV19DS0VONl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgVFhERkVfRF9GMTU2TV9TV19DS0VOX1RYREZFX0RfRjE1Nk1fU1dfQ0tFTjZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0RfRjE1Nk1fU1dfQ0tFTl9UWERGRV9EX0YxNTZNX1NXX0NLRU42X01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBUWERGRV9EX0YxNTZNX1NXX0NLRU5fVFhERkVfRF9GMTU2TV9TV19DS0VONl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBUWERGRV9EX0YxNTZNX1NXX0NLRU5fVFhERkVfRF9GMTU2TV9TV19DS0VONV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgVFhERkVfRF9GMTU2TV9TV19DS0VOX1RYREZFX0RfRjE1Nk1fU1dfQ0tFTjVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0RfRjE1Nk1fU1dfQ0tFTl9UWERGRV9EX0YxNTZNX1NXX0NLRU41X01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBUWERGRV9EX0YxNTZNX1NXX0NLRU5fVFhERkVfRF9GMTU2TV9TV19DS0VONV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBUWERGRV9EX0YxNTZNX1NXX0NLRU5fVFhERkVfRF9GMTU2TV9TV19DS0VONF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgVFhERkVfRF9GMTU2TV9TV19DS0VOX1RYREZFX0RfRjE1Nk1fU1dfQ0tFTjRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0RfRjE1Nk1fU1dfQ0tFTl9UWERGRV9EX0YxNTZNX1NXX0NLRU40X01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBUWERGRV9EX0YxNTZNX1NXX0NLRU5fVFhERkVfRF9GMTU2TV9TV19DS0VONF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBUWERGRV9EX0YxNTZNX1NXX0NLRU5fVFhERkVfRF9GMTU2TV9TV19DS0VOM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgVFhERkVfRF9GMTU2TV9TV19DS0VOX1RYREZFX0RfRjE1Nk1fU1dfQ0tFTjNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0RfRjE1Nk1fU1dfQ0tFTl9UWERGRV9EX0YxNTZNX1NXX0NLRU4zX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBUWERGRV9EX0YxNTZNX1NXX0NLRU5fVFhERkVfRF9GMTU2TV9TV19DS0VOM19CSVQgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBUWERGRV9EX0YxNTZNX1NXX0NLRU5fVFhERkVfRF9GMTU2TV9TV19DS0VOMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgVFhERkVfRF9GMTU2TV9TV19DS0VOX1RYREZFX0RfRjE1Nk1fU1dfQ0tFTjJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0RfRjE1Nk1fU1dfQ0tFTl9UWERGRV9EX0YxNTZNX1NXX0NLRU4yX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBUWERGRV9EX0YxNTZNX1NXX0NLRU5fVFhERkVfRF9GMTU2TV9TV19DS0VOMl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBUWERGRV9EX0YxNTZNX1NXX0NLRU5fVFhERkVfRF9GMTU2TV9TV19DS0VOMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhERkVfRF9GMTU2TV9TV19DS0VOX1RYREZFX0RfRjE1Nk1fU1dfQ0tFTjFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0RfRjE1Nk1fU1dfQ0tFTl9UWERGRV9EX0YxNTZNX1NXX0NLRU4xX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBUWERGRV9EX0YxNTZNX1NXX0NLRU5fVFhERkVfRF9GMTU2TV9TV19DS0VOMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBUWERGRV9EX0YxNTZNX1NXX0NLRU5fVFhERkVfRF9GMTU2TV9TV19DS0VOMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfRF9GMTU2TV9TV19DS0VOX1RYREZFX0RfRjE1Nk1fU1dfQ0tFTjBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0RfRjE1Nk1fU1dfQ0tFTl9UWERGRV9EX0YxNTZNX1NXX0NLRU4wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUWERGRV9EX0YxNTZNX1NXX0NLRU5fVFhERkVfRF9GMTU2TV9TV19DS0VOMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUWERGRV9EX0YyNk1fU1dfQ0tFTl9UWERGRV9EX0YyNk1fU1dfQ0tFTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfRF9GMjZNX1NXX0NLRU5fVFhERkVfRF9GMjZNX1NXX0NLRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0RfRjI2TV9TV19DS0VOX1RYREZFX0RfRjI2TV9TV19DS0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUWERGRV9EX0YyNk1fU1dfQ0tFTl9UWERGRV9EX0YyNk1fU1dfQ0tFTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUWERGRV9EX1NXX1JFU0VUX1RYREZFX0RfU1dfUkVTRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfRF9TV19SRVNFVF9UWERGRV9EX1NXX1JFU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0RfU1dfUkVTRVRfVFhERkVfRF9TV19SRVNFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUWERGRV9EX1NXX1JFU0VUX1RYREZFX0RfU1dfUkVTRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUUENfRF9DS19TV19DS0VOX1RQQ19GMzEyTV9CQ0xLX0NLX1NXX0NLRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFBDX0RfQ0tfU1dfQ0tFTl9UUENfRjMxMk1fQkNMS19DS19TV19DS0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRQQ19EX0NLX1NXX0NLRU5fVFBDX0YzMTJNX0JDTEtfQ0tfU1dfQ0tFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBUUENfRF9DS19TV19DS0VOX1RQQ19GMzEyTV9CQ0xLX0NLX1NXX0NLRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBUUENfRF9DS19TV19DS0VOX1RQQ19GMzEyTV9HQVRFRF9CQ0xLX0NLX1NXX0NLRU5fTFNCICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFBDX0RfQ0tfU1dfQ0tFTl9UUENfRjMxMk1fR0FURURfQkNMS19DS19TV19DS0VOX1dJRFRIICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRQQ19EX0NLX1NXX0NLRU5fVFBDX0YzMTJNX0dBVEVEX0JDTEtfQ0tfU1dfQ0tFTl9NQVNLICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUUENfRF9DS19TV19DS0VOX1RQQ19GMzEyTV9HQVRFRF9CQ0xLX0NLX1NXX0NLRU5fQklUICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUUENfRF9DS19TV19DS0NUUkxfVFBDX0YzMTJNX0JDTEtfQ0tfU1dfQ0tDVFJMX0xTQiAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFBDX0RfQ0tfU1dfQ0tDVFJMX1RQQ19GMzEyTV9CQ0xLX0NLX1NXX0NLQ1RSTF9XSURUSCAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRQQ19EX0NLX1NXX0NLQ1RSTF9UUENfRjMxMk1fQkNMS19DS19TV19DS0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBUUENfRF9DS19TV19DS0NUUkxfVFBDX0YzMTJNX0JDTEtfQ0tfU1dfQ0tDVFJMX0JJVCAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBUUENfRF9DS19TV19DS0NUUkxfVFBDX0YzMTJNX0dBVEVEX0JDTEtfQ0tfU1dfQ0tDVFJMX0xTQiAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFBDX0RfQ0tfU1dfQ0tDVFJMX1RQQ19GMzEyTV9HQVRFRF9CQ0xLX0NLX1NXX0NLQ1RSTF9XSURUSCAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRQQ19EX0NLX1NXX0NLQ1RSTF9UUENfRjMxMk1fR0FURURfQkNMS19DS19TV19DS0NUUkxfTUFTSyAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUUENfRF9DS19TV19DS0NUUkxfVFBDX0YzMTJNX0dBVEVEX0JDTEtfQ0tfU1dfQ0tDVFJMX0JJVCAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBGRERfVFRSX0YxM01fU1dfQ0tFTl9GRERfVFRSX0YxM01fU1dfQ0tFTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRkREX1RUUl9GMTNNX1NXX0NLRU5fRkREX1RUUl9GMTNNX1NXX0NLRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEZERF9UVFJfRjEzTV9TV19DS0VOX0ZERF9UVFJfRjEzTV9TV19DS0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBGRERfVFRSX0YxM01fU1dfQ0tFTl9GRERfVFRSX0YxM01fU1dfQ0tFTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBURERfVFRSX0Y2UDVNX1NXX0NLRU5fVEREX1RUUl9GNlA1TV9TV19DS0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVEREX1RUUl9GNlA1TV9TV19DS0VOX1RERF9UVFJfRjZQNU1fU1dfQ0tFTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRERF9UVFJfRjZQNU1fU1dfQ0tFTl9URERfVFRSX0Y2UDVNX1NXX0NLRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBURERfVFRSX0Y2UDVNX1NXX0NLRU5fVEREX1RUUl9GNlA1TV9TV19DS0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBMVEVfVFRSMF9GMzEyTV9TV19DS0VOX0xURV9UVFIwX0YzMTJNX1NXX0NLRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTFRFX1RUUjBfRjMxMk1fU1dfQ0tFTl9MVEVfVFRSMF9GMzEyTV9TV19DS0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIExURV9UVFIwX0YzMTJNX1NXX0NLRU5fTFRFX1RUUjBfRjMxMk1fU1dfQ0tFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBMVEVfVFRSMF9GMzEyTV9TV19DS0VOX0xURV9UVFIwX0YzMTJNX1NXX0NLRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBMVEVfVFRSMV9GMzEyTV9TV19DS0VOX0xURV9UVFIxX0YzMTJNX1NXX0NLRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTFRFX1RUUjFfRjMxMk1fU1dfQ0tFTl9MVEVfVFRSMV9GMzEyTV9TV19DS0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIExURV9UVFIxX0YzMTJNX1NXX0NLRU5fTFRFX1RUUjFfRjMxMk1fU1dfQ0tFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBMVEVfVFRSMV9GMzEyTV9TV19DS0VOX0xURV9UVFIxX0YzMTJNX1NXX0NLRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBsdGVfdHRyMl9mMzEybV9zd19ja2VuX2x0ZV90dHIyX2YzMTJtX3N3X2NrZW5fTFNCICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgbHRlX3R0cjJfZjMxMm1fc3dfY2tlbl9sdGVfdHRyMl9mMzEybV9zd19ja2VuX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIGx0ZV90dHIyX2YzMTJtX3N3X2NrZW5fbHRlX3R0cjJfZjMxMm1fc3dfY2tlbl9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBsdGVfdHRyMl9mMzEybV9zd19ja2VuX2x0ZV90dHIyX2YzMTJtX3N3X2NrZW5fQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBOUl9UVFIwX0YzMTJNX1NXX0NLRU5fTlJfVFRSMF9GMzEyTV9TV19DS0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTlJfVFRSMF9GMzEyTV9TV19DS0VOX05SX1RUUjBfRjMxMk1fU1dfQ0tFTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE5SX1RUUjBfRjMxMk1fU1dfQ0tFTl9OUl9UVFIwX0YzMTJNX1NXX0NLRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBOUl9UVFIwX0YzMTJNX1NXX0NLRU5fTlJfVFRSMF9GMzEyTV9TV19DS0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBOUl9UVFIxX0YzMTJNX1NXX0NLRU5fTlJfVFRSMV9GMzEyTV9TV19DS0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTlJfVFRSMV9GMzEyTV9TV19DS0VOX05SX1RUUjFfRjMxMk1fU1dfQ0tFTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE5SX1RUUjFfRjMxMk1fU1dfQ0tFTl9OUl9UVFIxX0YzMTJNX1NXX0NLRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBOUl9UVFIxX0YzMTJNX1NXX0NLRU5fTlJfVFRSMV9GMzEyTV9TV19DS0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBOUl9UVFIyX0YzMTJNX1NXX0NLRU5fTlJfVFRSMl9GMzEyTV9TV19DS0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTlJfVFRSMl9GMzEyTV9TV19DS0VOX05SX1RUUjJfRjMxMk1fU1dfQ0tFTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE5SX1RUUjJfRjMxMk1fU1dfQ0tFTl9OUl9UVFIyX0YzMTJNX1NXX0NLRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBOUl9UVFIyX0YzMTJNX1NXX0NLRU5fTlJfVFRSMl9GMzEyTV9TV19DS0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBOUl9UVFIzX0YzMTJNX1NXX0NLRU5fTlJfVFRSM19GMzEyTV9TV19DS0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTlJfVFRSM19GMzEyTV9TV19DS0VOX05SX1RUUjNfRjMxMk1fU1dfQ0tFTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE5SX1RUUjNfRjMxMk1fU1dfQ0tFTl9OUl9UVFIzX0YzMTJNX1NXX0NLRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBOUl9UVFIzX0YzMTJNX1NXX0NLRU5fTlJfVFRSM19GMzEyTV9TV19DS0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBTRVJERVNfQ09TX0NLX1NXX0NLRU5fU0VSREVTX0NPU19DS19TV19DS0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU0VSREVTX0NPU19DS19TV19DS0VOX1NFUkRFU19DT1NfQ0tfU1dfQ0tFTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNFUkRFU19DT1NfQ0tfU1dfQ0tFTl9TRVJERVNfQ09TX0NLX1NXX0NLRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBTRVJERVNfQ09TX0NLX1NXX0NLRU5fU0VSREVTX0NPU19DS19TV19DS0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBTRVJERVNfQUNOVF9DS19TV19DS0VOX1NFUkRFU19BQ05UX0NLX1NXX0NLRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU0VSREVTX0FDTlRfQ0tfU1dfQ0tFTl9TRVJERVNfQUNOVF9DS19TV19DS0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNFUkRFU19BQ05UX0NLX1NXX0NLRU5fU0VSREVTX0FDTlRfQ0tfU1dfQ0tFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBTRVJERVNfQUNOVF9DS19TV19DS0VOX1NFUkRFU19BQ05UX0NLX1NXX0NLRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBTRVJERVNfTDNfVFhfRlJFRV9DS19TV19DS0VOX1NFUkRFU19MM19UWF9GUkVFX0NLX1NXX0NLRU5fTFNCICAgICAgICAgICAoMCkKKyNkZWZpbmUgU0VSREVTX0wzX1RYX0ZSRUVfQ0tfU1dfQ0tFTl9TRVJERVNfTDNfVFhfRlJFRV9DS19TV19DS0VOX1dJRFRIICAgICAgICAgKDEpCisjZGVmaW5lIFNFUkRFU19MM19UWF9GUkVFX0NLX1NXX0NLRU5fU0VSREVTX0wzX1RYX0ZSRUVfQ0tfU1dfQ0tFTl9NQVNLICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBTRVJERVNfTDNfVFhfRlJFRV9DS19TV19DS0VOX1NFUkRFU19MM19UWF9GUkVFX0NLX1NXX0NLRU5fQklUICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBTRVJERVNfTDNfUlhfRlJFRV9DS19TV19DS0VOX1NFUkRFU19MM19SWF9GUkVFX0NLX1NXX0NLRU5fTFNCICAgICAgICAgICAoMCkKKyNkZWZpbmUgU0VSREVTX0wzX1JYX0ZSRUVfQ0tfU1dfQ0tFTl9TRVJERVNfTDNfUlhfRlJFRV9DS19TV19DS0VOX1dJRFRIICAgICAgICAgKDEpCisjZGVmaW5lIFNFUkRFU19MM19SWF9GUkVFX0NLX1NXX0NLRU5fU0VSREVTX0wzX1JYX0ZSRUVfQ0tfU1dfQ0tFTl9NQVNLICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBTRVJERVNfTDNfUlhfRlJFRV9DS19TV19DS0VOX1NFUkRFU19MM19SWF9GUkVFX0NLX1NXX0NLRU5fQklUICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBTRVJERVNfTUlTQ19GUkVFX0NLX1NXX0NLRU5fU0VSREVTX01JU0NfRlJFRV9DS19TV19DS0VOX0xTQiAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU0VSREVTX01JU0NfRlJFRV9DS19TV19DS0VOX1NFUkRFU19NSVNDX0ZSRUVfQ0tfU1dfQ0tFTl9XSURUSCAgICAgICAgICAgKDEpCisjZGVmaW5lIFNFUkRFU19NSVNDX0ZSRUVfQ0tfU1dfQ0tFTl9TRVJERVNfTUlTQ19GUkVFX0NLX1NXX0NLRU5fTUFTSyAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBTRVJERVNfTUlTQ19GUkVFX0NLX1NXX0NLRU5fU0VSREVTX01JU0NfRlJFRV9DS19TV19DS0VOX0JJVCAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBTRVJERVNfR0xCX09GRl9CVVNfQ0tfU1dfQ0tFTl9TRVJERVNfR0xCX09GRl9CVVNfQ0tfU1dfQ0tFTl9MU0IgICAgICAgICAoMCkKKyNkZWZpbmUgU0VSREVTX0dMQl9PRkZfQlVTX0NLX1NXX0NLRU5fU0VSREVTX0dMQl9PRkZfQlVTX0NLX1NXX0NLRU5fV0lEVEggICAgICAgKDEpCisjZGVmaW5lIFNFUkRFU19HTEJfT0ZGX0JVU19DS19TV19DS0VOX1NFUkRFU19HTEJfT0ZGX0JVU19DS19TV19DS0VOX01BU0sgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBTRVJERVNfR0xCX09GRl9CVVNfQ0tfU1dfQ0tFTl9TRVJERVNfR0xCX09GRl9CVVNfQ0tfU1dfQ0tFTl9CSVQgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBESUdSRl9PRkZfSFdfU1dfUkVTRVRfRElHUkZfT0ZGX0hXX1NXX1JFU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRElHUkZfT0ZGX0hXX1NXX1JFU0VUX0RJR1JGX09GRl9IV19TV19SRVNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERJR1JGX09GRl9IV19TV19SRVNFVF9ESUdSRl9PRkZfSFdfU1dfUkVTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBESUdSRl9PRkZfSFdfU1dfUkVTRVRfRElHUkZfT0ZGX0hXX1NXX1JFU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBGMzEyTV9ERUJVR19CVVNfRjMxMk1fREVCVUdfQlVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRjMxMk1fREVCVUdfQlVTX0YzMTJNX0RFQlVHX0JVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBGMzEyTV9ERUJVR19CVVNfRjMxMk1fREVCVUdfQlVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBGMzEyTV9ERUJVR19CVVMyX0YzMTJNX0RFQlVHX0JVUzJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRjMxMk1fREVCVUdfQlVTMl9GMzEyTV9ERUJVR19CVVMyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBGMzEyTV9ERUJVR19CVVMyX0YzMTJNX0RFQlVHX0JVUzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBERUJVR19UUklHX1NFTF9ERUJVR19UUklHX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREVCVUdfVFJJR19TRUxfREVCVUdfVFJJR19TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERFQlVHX1RSSUdfU0VMX0RFQlVHX1RSSUdfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIFJYREZFX0YzMTJNX0NLX1NXX0NLRU5fUlhERkVfRjMxMk1fQ0tfU1dfQ0tFTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GMzEyTV9DS19TV19DS0VOX1JYREZFX0YzMTJNX0NLX1NXX0NLRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhERkVfRjMxMk1fQ0tfU1dfQ0tFTl9SWERGRV9GMzEyTV9DS19TV19DS0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYREZFX0YzMTJNX0NLX1NXX0NLRU5fUlhERkVfRjMxMk1fQ0tfU1dfQ0tFTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYREZFX0YxNTZNX0NLX1NXX0NLRU5fUlhERkVfRjE1Nk1fQ0tfU1dfQ0tFTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GMTU2TV9DS19TV19DS0VOX1JYREZFX0YxNTZNX0NLX1NXX0NLRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhERkVfRjE1Nk1fQ0tfU1dfQ0tFTl9SWERGRV9GMTU2TV9DS19TV19DS0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYREZFX0YxNTZNX0NLX1NXX0NLRU5fUlhERkVfRjE1Nk1fQ0tfU1dfQ0tFTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYREZFX0YyNk1fQ0tfU1dfQ0tFTl9SWERGRV9GMjZNX0NLX1NXX0NLRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWERGRV9GMjZNX0NLX1NXX0NLRU5fUlhERkVfRjI2TV9DS19TV19DS0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhERkVfRjI2TV9DS19TV19DS0VOX1JYREZFX0YyNk1fQ0tfU1dfQ0tFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYREZFX0YyNk1fQ0tfU1dfQ0tFTl9SWERGRV9GMjZNX0NLX1NXX0NLRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNFUkRFU19TV1JTVDBfU1RBUlRCX1NFUkRFU19TVFJNX0lONl9TV1JTVF9TVEFSVEJfTFNCICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgU0VSREVTX1NXUlNUMF9TVEFSVEJfU0VSREVTX1NUUk1fSU42X1NXUlNUX1NUQVJUQl9XSURUSCAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNFUkRFU19TV1JTVDBfU1RBUlRCX1NFUkRFU19TVFJNX0lONl9TV1JTVF9TVEFSVEJfTUFTSyAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorI2RlZmluZSBTRVJERVNfU1dSU1QwX1NUQVJUQl9TRVJERVNfU1RSTV9JTjZfU1dSU1RfU1RBUlRCX0JJVCAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKworI2RlZmluZSBTRVJERVNfU1dSU1QwX1NUQVJUQl9TRVJERVNfU1RSTV9JTjVfU1dSU1RfU1RBUlRCX0xTQiAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIFNFUkRFU19TV1JTVDBfU1RBUlRCX1NFUkRFU19TVFJNX0lONV9TV1JTVF9TVEFSVEJfV0lEVEggICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTRVJERVNfU1dSU1QwX1NUQVJUQl9TRVJERVNfU1RSTV9JTjVfU1dSU1RfU1RBUlRCX01BU0sgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKyNkZWZpbmUgU0VSREVTX1NXUlNUMF9TVEFSVEJfU0VSREVTX1NUUk1fSU41X1NXUlNUX1NUQVJUQl9CSVQgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisKKyNkZWZpbmUgU0VSREVTX1NXUlNUMF9TVEFSVEJfU0VSREVTX1NUUk1fSU40X1NXUlNUX1NUQVJUQl9MU0IgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBTRVJERVNfU1dSU1QwX1NUQVJUQl9TRVJERVNfU1RSTV9JTjRfU1dSU1RfU1RBUlRCX1dJRFRIICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU0VSREVTX1NXUlNUMF9TVEFSVEJfU0VSREVTX1NUUk1fSU40X1NXUlNUX1NUQVJUQl9NQVNLICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisjZGVmaW5lIFNFUkRFU19TV1JTVDBfU1RBUlRCX1NFUkRFU19TVFJNX0lONF9TV1JTVF9TVEFSVEJfQklUICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorCisjZGVmaW5lIFNFUkRFU19TV1JTVDBfU1RBUlRCX1NFUkRFU19TVFJNX0lOM19TV1JTVF9TVEFSVEJfTFNCICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgU0VSREVTX1NXUlNUMF9TVEFSVEJfU0VSREVTX1NUUk1fSU4zX1NXUlNUX1NUQVJUQl9XSURUSCAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNFUkRFU19TV1JTVDBfU1RBUlRCX1NFUkRFU19TVFJNX0lOM19TV1JTVF9TVEFSVEJfTUFTSyAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBTRVJERVNfU1dSU1QwX1NUQVJUQl9TRVJERVNfU1RSTV9JTjNfU1dSU1RfU1RBUlRCX0JJVCAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBTRVJERVNfU1dSU1QwX1NUQVJUQl9TRVJERVNfU1RSTV9JTjJfU1dSU1RfU1RBUlRCX0xTQiAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU0VSREVTX1NXUlNUMF9TVEFSVEJfU0VSREVTX1NUUk1fSU4yX1NXUlNUX1NUQVJUQl9XSURUSCAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNFUkRFU19TV1JTVDBfU1RBUlRCX1NFUkRFU19TVFJNX0lOMl9TV1JTVF9TVEFSVEJfTUFTSyAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBTRVJERVNfU1dSU1QwX1NUQVJUQl9TRVJERVNfU1RSTV9JTjJfU1dSU1RfU1RBUlRCX0JJVCAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBTRVJERVNfU1dSU1QwX1NUQVJUQl9TRVJERVNfU1RSTV9JTjFfU1dSU1RfU1RBUlRCX0xTQiAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgU0VSREVTX1NXUlNUMF9TVEFSVEJfU0VSREVTX1NUUk1fSU4xX1NXUlNUX1NUQVJUQl9XSURUSCAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNFUkRFU19TV1JTVDBfU1RBUlRCX1NFUkRFU19TVFJNX0lOMV9TV1JTVF9TVEFSVEJfTUFTSyAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBTRVJERVNfU1dSU1QwX1NUQVJUQl9TRVJERVNfU1RSTV9JTjFfU1dSU1RfU1RBUlRCX0JJVCAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBTRVJERVNfU1dSU1QwX1NUQVJUQl9TRVJERVNfU1RSTV9JTjBfU1dSU1RfU1RBUlRCX0xTQiAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgU0VSREVTX1NXUlNUMF9TVEFSVEJfU0VSREVTX1NUUk1fSU4wX1NXUlNUX1NUQVJUQl9XSURUSCAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNFUkRFU19TV1JTVDBfU1RBUlRCX1NFUkRFU19TVFJNX0lOMF9TV1JTVF9TVEFSVEJfTUFTSyAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBTRVJERVNfU1dSU1QwX1NUQVJUQl9TRVJERVNfU1RSTV9JTjBfU1dSU1RfU1RBUlRCX0JJVCAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBTRVJERVNfU1dSU1QwX1NUQVJUQl9TRVJERVNfQ09TX09VVF9TV1JTVF9TVEFSVEJfTFNCICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgU0VSREVTX1NXUlNUMF9TVEFSVEJfU0VSREVTX0NPU19PVVRfU1dSU1RfU1RBUlRCX1dJRFRIICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNFUkRFU19TV1JTVDBfU1RBUlRCX1NFUkRFU19DT1NfT1VUX1NXUlNUX1NUQVJUQl9NQVNLICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBTRVJERVNfU1dSU1QwX1NUQVJUQl9TRVJERVNfQ09TX09VVF9TV1JTVF9TVEFSVEJfQklUICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBTRVJERVNfU1dSU1QwX1NUQVJUQl9TRVJERVNfQ09TX0lOX1NXUlNUX1NUQVJUQl9MU0IgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgU0VSREVTX1NXUlNUMF9TVEFSVEJfU0VSREVTX0NPU19JTl9TV1JTVF9TVEFSVEJfV0lEVEggICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNFUkRFU19TV1JTVDBfU1RBUlRCX1NFUkRFU19DT1NfSU5fU1dSU1RfU1RBUlRCX01BU0sgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBTRVJERVNfU1dSU1QwX1NUQVJUQl9TRVJERVNfQ09TX0lOX1NXUlNUX1NUQVJUQl9CSVQgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBTRVJERVNfU1dSU1QwX1NUQVJUQl9TRVJERVNfTDNfVFhfU1dSU1RfU1RBUlRCX0xTQiAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgU0VSREVTX1NXUlNUMF9TVEFSVEJfU0VSREVTX0wzX1RYX1NXUlNUX1NUQVJUQl9XSURUSCAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNFUkRFU19TV1JTVDBfU1RBUlRCX1NFUkRFU19MM19UWF9TV1JTVF9TVEFSVEJfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBTRVJERVNfU1dSU1QwX1NUQVJUQl9TRVJERVNfTDNfVFhfU1dSU1RfU1RBUlRCX0JJVCAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBTRVJERVNfU1dSU1QwX1NUQVJUQl9TRVJERVNfTDNfUlhfU1dSU1RfU1RBUlRCX0xTQiAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgU0VSREVTX1NXUlNUMF9TVEFSVEJfU0VSREVTX0wzX1JYX1NXUlNUX1NUQVJUQl9XSURUSCAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNFUkRFU19TV1JTVDBfU1RBUlRCX1NFUkRFU19MM19SWF9TV1JTVF9TVEFSVEJfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBTRVJERVNfU1dSU1QwX1NUQVJUQl9TRVJERVNfTDNfUlhfU1dSU1RfU1RBUlRCX0JJVCAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBTRVJERVNfU1dSU1QwX1NUQVJUQl9TRVJERVNfTDJfU1dSU1RfU1RBUlRCX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU0VSREVTX1NXUlNUMF9TVEFSVEJfU0VSREVTX0wyX1NXUlNUX1NUQVJUQl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNFUkRFU19TV1JTVDBfU1RBUlRCX1NFUkRFU19MMl9TV1JTVF9TVEFSVEJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBTRVJERVNfU1dSU1QwX1NUQVJUQl9TRVJERVNfTDJfU1dSU1RfU1RBUlRCX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBTRVJERVNfU1dSU1QwX1NUQVJUQl9TRVJERVNfTDFfU1dSU1RfU1RBUlRCX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU0VSREVTX1NXUlNUMF9TVEFSVEJfU0VSREVTX0wxX1NXUlNUX1NUQVJUQl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNFUkRFU19TV1JTVDBfU1RBUlRCX1NFUkRFU19MMV9TV1JTVF9TVEFSVEJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBTRVJERVNfU1dSU1QwX1NUQVJUQl9TRVJERVNfTDFfU1dSU1RfU1RBUlRCX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBTRVJERVNfU1dSU1QwX1NUQVJUQl9TRVJERVNfTUlTQ19TV1JTVF9TVEFSVEJfTFNCICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU0VSREVTX1NXUlNUMF9TVEFSVEJfU0VSREVTX01JU0NfU1dSU1RfU1RBUlRCX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNFUkRFU19TV1JTVDBfU1RBUlRCX1NFUkRFU19NSVNDX1NXUlNUX1NUQVJUQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBTRVJERVNfU1dSU1QwX1NUQVJUQl9TRVJERVNfTUlTQ19TV1JTVF9TVEFSVEJfQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBTRVJERVNfU1dSU1QxX1NUQVJUQl9TRVJERVNfU1RSTV9PVVQxNV9TV1JTVF9TVEFSVEJfTFNCICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFNFUkRFU19TV1JTVDFfU1RBUlRCX1NFUkRFU19TVFJNX09VVDE1X1NXUlNUX1NUQVJUQl9XSURUSCAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTRVJERVNfU1dSU1QxX1NUQVJUQl9TRVJERVNfU1RSTV9PVVQxNV9TV1JTVF9TVEFSVEJfTUFTSyAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKyNkZWZpbmUgU0VSREVTX1NXUlNUMV9TVEFSVEJfU0VSREVTX1NUUk1fT1VUMTVfU1dSU1RfU1RBUlRCX0JJVCAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisKKyNkZWZpbmUgU0VSREVTX1NXUlNUMV9TVEFSVEJfU0VSREVTX1NUUk1fT1VUMTRfU1dSU1RfU1RBUlRCX0xTQiAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBTRVJERVNfU1dSU1QxX1NUQVJUQl9TRVJERVNfU1RSTV9PVVQxNF9TV1JTVF9TVEFSVEJfV0lEVEggICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU0VSREVTX1NXUlNUMV9TVEFSVEJfU0VSREVTX1NUUk1fT1VUMTRfU1dSU1RfU1RBUlRCX01BU0sgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisjZGVmaW5lIFNFUkRFU19TV1JTVDFfU1RBUlRCX1NFUkRFU19TVFJNX09VVDE0X1NXUlNUX1NUQVJUQl9CSVQgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorCisjZGVmaW5lIFNFUkRFU19TV1JTVDFfU1RBUlRCX1NFUkRFU19TVFJNX09VVDEzX1NXUlNUX1NUQVJUQl9MU0IgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgU0VSREVTX1NXUlNUMV9TVEFSVEJfU0VSREVTX1NUUk1fT1VUMTNfU1dSU1RfU1RBUlRCX1dJRFRIICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNFUkRFU19TV1JTVDFfU1RBUlRCX1NFUkRFU19TVFJNX09VVDEzX1NXUlNUX1NUQVJUQl9NQVNLICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorI2RlZmluZSBTRVJERVNfU1dSU1QxX1NUQVJUQl9TRVJERVNfU1RSTV9PVVQxM19TV1JTVF9TVEFSVEJfQklUICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKworI2RlZmluZSBTRVJERVNfU1dSU1QxX1NUQVJUQl9TRVJERVNfU1RSTV9PVVQxMl9TV1JTVF9TVEFSVEJfTFNCICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIFNFUkRFU19TV1JTVDFfU1RBUlRCX1NFUkRFU19TVFJNX09VVDEyX1NXUlNUX1NUQVJUQl9XSURUSCAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTRVJERVNfU1dSU1QxX1NUQVJUQl9TRVJERVNfU1RSTV9PVVQxMl9TV1JTVF9TVEFSVEJfTUFTSyAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKyNkZWZpbmUgU0VSREVTX1NXUlNUMV9TVEFSVEJfU0VSREVTX1NUUk1fT1VUMTJfU1dSU1RfU1RBUlRCX0JJVCAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisKKyNkZWZpbmUgU0VSREVTX1NXUlNUMV9TVEFSVEJfU0VSREVTX1NUUk1fT1VUMTFfU1dSU1RfU1RBUlRCX0xTQiAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBTRVJERVNfU1dSU1QxX1NUQVJUQl9TRVJERVNfU1RSTV9PVVQxMV9TV1JTVF9TVEFSVEJfV0lEVEggICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU0VSREVTX1NXUlNUMV9TVEFSVEJfU0VSREVTX1NUUk1fT1VUMTFfU1dSU1RfU1RBUlRCX01BU0sgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisjZGVmaW5lIFNFUkRFU19TV1JTVDFfU1RBUlRCX1NFUkRFU19TVFJNX09VVDExX1NXUlNUX1NUQVJUQl9CSVQgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorCisjZGVmaW5lIFNFUkRFU19TV1JTVDFfU1RBUlRCX1NFUkRFU19TVFJNX09VVDEwX1NXUlNUX1NUQVJUQl9MU0IgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgU0VSREVTX1NXUlNUMV9TVEFSVEJfU0VSREVTX1NUUk1fT1VUMTBfU1dSU1RfU1RBUlRCX1dJRFRIICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNFUkRFU19TV1JTVDFfU1RBUlRCX1NFUkRFU19TVFJNX09VVDEwX1NXUlNUX1NUQVJUQl9NQVNLICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBTRVJERVNfU1dSU1QxX1NUQVJUQl9TRVJERVNfU1RSTV9PVVQxMF9TV1JTVF9TVEFSVEJfQklUICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBTRVJERVNfU1dSU1QxX1NUQVJUQl9TRVJERVNfU1RSTV9PVVQ5X1NXUlNUX1NUQVJUQl9MU0IgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU0VSREVTX1NXUlNUMV9TVEFSVEJfU0VSREVTX1NUUk1fT1VUOV9TV1JTVF9TVEFSVEJfV0lEVEggICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNFUkRFU19TV1JTVDFfU1RBUlRCX1NFUkRFU19TVFJNX09VVDlfU1dSU1RfU1RBUlRCX01BU0sgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBTRVJERVNfU1dSU1QxX1NUQVJUQl9TRVJERVNfU1RSTV9PVVQ5X1NXUlNUX1NUQVJUQl9CSVQgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBTRVJERVNfU1dSU1QxX1NUQVJUQl9TRVJERVNfU1RSTV9PVVQ4X1NXUlNUX1NUQVJUQl9MU0IgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgU0VSREVTX1NXUlNUMV9TVEFSVEJfU0VSREVTX1NUUk1fT1VUOF9TV1JTVF9TVEFSVEJfV0lEVEggICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNFUkRFU19TV1JTVDFfU1RBUlRCX1NFUkRFU19TVFJNX09VVDhfU1dSU1RfU1RBUlRCX01BU0sgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBTRVJERVNfU1dSU1QxX1NUQVJUQl9TRVJERVNfU1RSTV9PVVQ4X1NXUlNUX1NUQVJUQl9CSVQgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBTRVJERVNfU1dSU1QxX1NUQVJUQl9TRVJERVNfU1RSTV9PVVQ3X1NXUlNUX1NUQVJUQl9MU0IgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgU0VSREVTX1NXUlNUMV9TVEFSVEJfU0VSREVTX1NUUk1fT1VUN19TV1JTVF9TVEFSVEJfV0lEVEggICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNFUkRFU19TV1JTVDFfU1RBUlRCX1NFUkRFU19TVFJNX09VVDdfU1dSU1RfU1RBUlRCX01BU0sgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBTRVJERVNfU1dSU1QxX1NUQVJUQl9TRVJERVNfU1RSTV9PVVQ3X1NXUlNUX1NUQVJUQl9CSVQgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBTRVJERVNfU1dSU1QxX1NUQVJUQl9TRVJERVNfU1RSTV9PVVQ2X1NXUlNUX1NUQVJUQl9MU0IgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgU0VSREVTX1NXUlNUMV9TVEFSVEJfU0VSREVTX1NUUk1fT1VUNl9TV1JTVF9TVEFSVEJfV0lEVEggICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNFUkRFU19TV1JTVDFfU1RBUlRCX1NFUkRFU19TVFJNX09VVDZfU1dSU1RfU1RBUlRCX01BU0sgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBTRVJERVNfU1dSU1QxX1NUQVJUQl9TRVJERVNfU1RSTV9PVVQ2X1NXUlNUX1NUQVJUQl9CSVQgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBTRVJERVNfU1dSU1QxX1NUQVJUQl9TRVJERVNfU1RSTV9PVVQ1X1NXUlNUX1NUQVJUQl9MU0IgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgU0VSREVTX1NXUlNUMV9TVEFSVEJfU0VSREVTX1NUUk1fT1VUNV9TV1JTVF9TVEFSVEJfV0lEVEggICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNFUkRFU19TV1JTVDFfU1RBUlRCX1NFUkRFU19TVFJNX09VVDVfU1dSU1RfU1RBUlRCX01BU0sgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBTRVJERVNfU1dSU1QxX1NUQVJUQl9TRVJERVNfU1RSTV9PVVQ1X1NXUlNUX1NUQVJUQl9CSVQgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBTRVJERVNfU1dSU1QxX1NUQVJUQl9TRVJERVNfU1RSTV9PVVQ0X1NXUlNUX1NUQVJUQl9MU0IgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgU0VSREVTX1NXUlNUMV9TVEFSVEJfU0VSREVTX1NUUk1fT1VUNF9TV1JTVF9TVEFSVEJfV0lEVEggICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNFUkRFU19TV1JTVDFfU1RBUlRCX1NFUkRFU19TVFJNX09VVDRfU1dSU1RfU1RBUlRCX01BU0sgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBTRVJERVNfU1dSU1QxX1NUQVJUQl9TRVJERVNfU1RSTV9PVVQ0X1NXUlNUX1NUQVJUQl9CSVQgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBTRVJERVNfU1dSU1QxX1NUQVJUQl9TRVJERVNfU1RSTV9PVVQzX1NXUlNUX1NUQVJUQl9MU0IgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgU0VSREVTX1NXUlNUMV9TVEFSVEJfU0VSREVTX1NUUk1fT1VUM19TV1JTVF9TVEFSVEJfV0lEVEggICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNFUkRFU19TV1JTVDFfU1RBUlRCX1NFUkRFU19TVFJNX09VVDNfU1dSU1RfU1RBUlRCX01BU0sgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBTRVJERVNfU1dSU1QxX1NUQVJUQl9TRVJERVNfU1RSTV9PVVQzX1NXUlNUX1NUQVJUQl9CSVQgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBTRVJERVNfU1dSU1QxX1NUQVJUQl9TRVJERVNfU1RSTV9PVVQyX1NXUlNUX1NUQVJUQl9MU0IgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU0VSREVTX1NXUlNUMV9TVEFSVEJfU0VSREVTX1NUUk1fT1VUMl9TV1JTVF9TVEFSVEJfV0lEVEggICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNFUkRFU19TV1JTVDFfU1RBUlRCX1NFUkRFU19TVFJNX09VVDJfU1dSU1RfU1RBUlRCX01BU0sgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBTRVJERVNfU1dSU1QxX1NUQVJUQl9TRVJERVNfU1RSTV9PVVQyX1NXUlNUX1NUQVJUQl9CSVQgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBTRVJERVNfU1dSU1QxX1NUQVJUQl9TRVJERVNfU1RSTV9PVVQxX1NXUlNUX1NUQVJUQl9MU0IgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU0VSREVTX1NXUlNUMV9TVEFSVEJfU0VSREVTX1NUUk1fT1VUMV9TV1JTVF9TVEFSVEJfV0lEVEggICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNFUkRFU19TV1JTVDFfU1RBUlRCX1NFUkRFU19TVFJNX09VVDFfU1dSU1RfU1RBUlRCX01BU0sgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBTRVJERVNfU1dSU1QxX1NUQVJUQl9TRVJERVNfU1RSTV9PVVQxX1NXUlNUX1NUQVJUQl9CSVQgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBTRVJERVNfU1dSU1QxX1NUQVJUQl9TRVJERVNfU1RSTV9PVVQwX1NXUlNUX1NUQVJUQl9MU0IgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU0VSREVTX1NXUlNUMV9TVEFSVEJfU0VSREVTX1NUUk1fT1VUMF9TV1JTVF9TVEFSVEJfV0lEVEggICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNFUkRFU19TV1JTVDFfU1RBUlRCX1NFUkRFU19TVFJNX09VVDBfU1dSU1RfU1RBUlRCX01BU0sgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBTRVJERVNfU1dSU1QxX1NUQVJUQl9TRVJERVNfU1RSTV9PVVQwX1NXUlNUX1NUQVJUQl9CSVQgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQkdfRkxBR19TRUxfREJHX0ZMQUczX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIERCR19GTEFHX1NFTF9EQkdfRkxBRzNfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBEQkdfRkxBR19TRUxfREJHX0ZMQUczX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRjAwMDAwMCkKKworI2RlZmluZSBEQkdfRkxBR19TRUxfREJHX0ZMQUcyX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCR19GTEFHX1NFTF9EQkdfRkxBRzJfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBEQkdfRkxBR19TRUxfREJHX0ZMQUcyX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEZGMDAwMCkKKworI2RlZmluZSBEQkdfRkxBR19TRUxfREJHX0ZMQUcxX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREJHX0ZMQUdfU0VMX0RCR19GTEFHMV9TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIERCR19GTEFHX1NFTF9EQkdfRkxBRzFfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRjAwKQorCisjZGVmaW5lIERCR19GTEFHX1NFTF9EQkdfRkxBRzBfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQkdfRkxBR19TRUxfREJHX0ZMQUcwX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREJHX0ZMQUdfU0VMX0RCR19GTEFHMF9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwRkYpCisKKyNkZWZpbmUgREJHX1RSSUdfU0VMX0RCR19UUklHX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCR19UUklHX1NFTF9EQkdfVFJJR19TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBEQkdfVFJJR19TRUxfREJHX1RSSUdfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDBGRikKKworI2RlZmluZSBERkVTWVNfTUFTX0JVU19DS19TV19DS0NUUkxfREZFU1lTX01BU19CVVNfQ0tfU1dfQ0tDVFJMX0xTQiAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREZFU1lTX01BU19CVVNfQ0tfU1dfQ0tDVFJMX0RGRVNZU19NQVNfQlVTX0NLX1NXX0NLQ1RSTF9XSURUSCAgICAgICAgICAgKDEpCisjZGVmaW5lIERGRVNZU19NQVNfQlVTX0NLX1NXX0NLQ1RSTF9ERkVTWVNfTUFTX0JVU19DS19TV19DS0NUUkxfTUFTSyAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBERkVTWVNfTUFTX0JVU19DS19TV19DS0NUUkxfREZFU1lTX01BU19CVVNfQ0tfU1dfQ0tDVFJMX0JJVCAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBERkVTWVNfU0xCX0JVU19DS19TV19DS0NUUkxfREZFU1lTX1NMVl9CVVNfQ0tfQ1NXX0NLQ1RSTF9MU0IgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREZFU1lTX1NMQl9CVVNfQ0tfU1dfQ0tDVFJMX0RGRVNZU19TTFZfQlVTX0NLX0NTV19DS0NUUkxfV0lEVEggICAgICAgICAgKDEpCisjZGVmaW5lIERGRVNZU19TTEJfQlVTX0NLX1NXX0NLQ1RSTF9ERkVTWVNfU0xWX0JVU19DS19DU1dfQ0tDVFJMX01BU0sgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBERkVTWVNfU0xCX0JVU19DS19TV19DS0NUUkxfREZFU1lTX1NMVl9CVVNfQ0tfQ1NXX0NLQ1RSTF9CSVQgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEX0dETUFfQ0tfU1dfQ0tFTl9EX0dETUFfQ0tfU1dfQ0tFTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRF9HRE1BX0NLX1NXX0NLRU5fRF9HRE1BX0NLX1NXX0NLRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERfR0RNQV9DS19TV19DS0VOX0RfR0RNQV9DS19TV19DS0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEX0dETUFfQ0tfU1dfQ0tFTl9EX0dETUFfQ0tfU1dfQ0tFTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworCisjZW5kaWYgLy8jaWZuZGVmIF9FTDFEX1JFR19FTEJSVVNfSF8KZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhldmRvcnhicnAuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhldmRvcnhicnAuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YjIxNGMxCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGV2ZG9yeGJycC5oCkBAIC0wLDAgKzEsNTExIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfQ1BIX0VWRE9fUlhCUlBfSF8KKyNkZWZpbmUgX0NQSF9FVkRPX1JYQlJQX0hfCisKKwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogU1JBTUFERFI7ICAgICAgICAgLyogU1JBTSBhZGRyIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBTUkFNREFUQTsgICAgICAgICAvKiBTUkFNIGRhdGEgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIEFQQkFERFI7ICAgICAgICAgIC8qIEFQQiBhZGRyIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgQVBCREFUQTsgICAgICAgICAgLyogQVBCIGRhdGEgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqICBBUEJBRERSMzI7ICAgICAgICAvKiBBUEIgYWRkciBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAgIEFQQkRBVEEzMjsgICAgICAgIC8qIEFQQiBkYXRhIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogRFBSQU1BRERSOyAgICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHNpZ25lZCAgIHNob3J0KiBEUFJBTUFERFJfUzsgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIERQUkFNREFUQTsgICAgICAgIC8qIERQUkFNIGRhdGEgaXMgMTYgYml0cyAqLworCisjaWYgKGRlZmluZWQoX19NRDkzX18pKXx8KGRlZmluZWQoX19NRDk1X18pKQorI2RlZmluZSBSWEJSUF9DX0VWRE9fUkVHX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhBRDIzMDAwMCkKKyNlbHNlCisjZGVmaW5lIFJYQlJQX0NfRVZET19SRUdfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEFDQTMwMDAwKQorI2VuZGlmCisKKyNkZWZpbmUgUlhCUlBfQ19FVkRPX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFJYQlJQX0NfRVZET19SRUdfQkFTRSArIDB4MDIwNCArIDEqNCkKKworCisKKyNkZWZpbmUgREJSUF9FVkRPX1NUQVJUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfRVZET19SRUdfQkFTRSArIDB4MDAwMCkpCisjZGVmaW5lIERCUlBfRVZET19ET05FICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDAwMDQpKQorI2RlZmluZSBEQlJQX0VWRE9fRE9ORV9WRUMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ19FVkRPX1JFR19CQVNFICsgMHgwMDA4KSkKKyNkZWZpbmUgREJSUF9FVkRPX0NIX0RFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfRVZET19SRUdfQkFTRSArIDB4MDAwQykpCisjZGVmaW5lIERCUlBfRVZET19IQVJRX0lORk8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDAwMTApKQorI2RlZmluZSBEQlJQX0VWRE9fQzJJX1NDQUxfUVBTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ19FVkRPX1JFR19CQVNFICsgMHgwMDE0KSkKKyNkZWZpbmUgREJSUF9FVkRPX0MySV9TQ0FMXzhQU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfRVZET19SRUdfQkFTRSArIDB4MDAxOCkpCisjZGVmaW5lIERCUlBfRVZET19DMklfU0NBTF8xNlFBTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDAwMUMpKQorI2RlZmluZSBEQlJQX0VWRE9fSEFSUV9EQkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ19FVkRPX1JFR19CQVNFICsgMHgwMEEwKSkKKyNkZWZpbmUgREJSUF9FVkRPX0MySV9SRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfRVZET19SRUdfQkFTRSArIDB4MDBBNCkpCisjZGVmaW5lIERCUlBfRVZET19DMklfUkRfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDAwQTgpKQorI2RlZmluZSBEQlJQX0VWRE9fQzJJX1JEX0RBVEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ19FVkRPX1JFR19CQVNFICsgMHgwMEFDKSkKKyNkZWZpbmUgREJSUF9FVkRPX0hBUlFfUkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfRVZET19SRUdfQkFTRSArIDB4MDBCMCkpCisjZGVmaW5lIERCUlBfRVZET19IQVJRX1JEX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDAwQjQpKQorI2RlZmluZSBEQlJQX0VWRE9fSEFSUV9SRF9EQVRBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ19FVkRPX1JFR19CQVNFICsgMHgwMEI4KSkKKyNkZWZpbmUgREJSUF9FVkRPX0hBUlFfQUJTQUNDXzAzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfRVZET19SRUdfQkFTRSArIDB4MDBCQykpCisjZGVmaW5lIERCUlBfRVZET19IQVJRX0FCU0FDQ180NyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDAwQzApKQorI2RlZmluZSBEQlJQX0VWRE9fREJHMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ19FVkRPX1JFR19CQVNFICsgMHgwMEQwKSkKKyNkZWZpbmUgREJSUF9FVkRPX1BXUl9DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfRVZET19SRUdfQkFTRSArIDB4MDBGMCkpCisjZGVmaW5lIERCUlBfRVZET19IQVJRX1BBUkFNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDAxMDApKQorI2RlZmluZSBEQlJQX0VWRE9fQ0gwX1BBUkFNMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ19FVkRPX1JFR19CQVNFICsgMHgwMTA0KSkKKyNkZWZpbmUgREJSUF9FVkRPX0NIMF9QQVJBTTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfRVZET19SRUdfQkFTRSArIDB4MDEwOCkpCisjZGVmaW5lIERCUlBfRVZET19DSDBfUEFSQU0zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDAxMEMpKQorI2RlZmluZSBEQlJQX0VWRE9fQ0gxX1BBUkFNMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ19FVkRPX1JFR19CQVNFICsgMHgwMTEwKSkKKyNkZWZpbmUgREJSUF9FVkRPX0NIMV9QQVJBTTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfRVZET19SRUdfQkFTRSArIDB4MDExNCkpCisjZGVmaW5lIERCUlBfRVZET19DSDFfUEFSQU0zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDAxMTgpKQorI2RlZmluZSBEQlJQX0VWRE9fQ0gyX1BBUkFNMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ19FVkRPX1JFR19CQVNFICsgMHgwMTFDKSkKKyNkZWZpbmUgREJSUF9FVkRPX0NIMl9QQVJBTTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfRVZET19SRUdfQkFTRSArIDB4MDEyMCkpCisjZGVmaW5lIERCUlBfRVZET19DSDJfUEFSQU0zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDAxMjQpKQorI2RlZmluZSBEQlJQX0VWRE9fQ0gzX1BBUkFNMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ19FVkRPX1JFR19CQVNFICsgMHgwMTI4KSkKKyNkZWZpbmUgREJSUF9FVkRPX0NIM19QQVJBTTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfRVZET19SRUdfQkFTRSArIDB4MDEyQykpCisjZGVmaW5lIERCUlBfRVZET19DSDNfUEFSQU0zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDAxMzApKQorI2RlZmluZSBEQlJQX0VWRE9fQzJJX1BBUkFNMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQ19FVkRPX1JFR19CQVNFICsgMHgwMjAwKSkKKyNkZWZpbmUgREJSUF9FVkRPX0MySV9QQVJBTTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0NfRVZET19SRUdfQkFTRSArIDB4MDIwNCkpCisKKworI2RlZmluZSBEQlJQX0VWRE9fU1RBUlRfRVZET19TVEFSVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIERCUlBfRVZET19TVEFSVF9FVkRPX1NUQVJUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX0VWRE9fU1RBUlRfRVZET19TVEFSVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKyNkZWZpbmUgREJSUF9FVkRPX1NUQVJUX0VWRE9fU1RBUlRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisjZGVmaW5lIERCUlBfRVZET19ET05FX0VWRE9fU1dfSVJRX1RSSUdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9FVkRPX0RPTkVfRVZET19TV19JUlFfVFJJR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRVZET19ET05FX0VWRE9fU1dfSVJRX1RSSUdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorI2RlZmluZSBEQlJQX0VWRE9fRE9ORV9FVkRPX1NXX0lSUV9UUklHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKworI2RlZmluZSBEQlJQX0VWRE9fRE9ORV9FVkRPX0RPTkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9FVkRPX0RPTkVfRVZET19ET05FX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRVZET19ET05FX0VWRE9fRE9ORV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX0VWRE9fRE9ORV9FVkRPX0RPTkVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX0VWRE9fRE9ORV9WRUNfVFVSQk9fRE9ORV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9FVkRPX0RPTkVfVkVDX1RVUkJPX0RPTkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRVZET19ET05FX1ZFQ19UVVJCT19ET05FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBEQlJQX0VWRE9fRE9ORV9WRUNfVFVSQk9fRE9ORV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBEQlJQX0VWRE9fRE9ORV9WRUNfRFJNX0RPTkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9FVkRPX0RPTkVfVkVDX0RSTV9ET05FX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRVZET19ET05FX1ZFQ19EUk1fRE9ORV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX0VWRE9fRE9ORV9WRUNfRFJNX0RPTkVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX0VWRE9fQ0hfREVUX0NIM19FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9FVkRPX0NIX0RFVF9DSDNfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRVZET19DSF9ERVRfQ0gzX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBEQlJQX0VWRE9fQ0hfREVUX0NIM19FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBEQlJQX0VWRE9fQ0hfREVUX0NIMl9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9FVkRPX0NIX0RFVF9DSDJfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRVZET19DSF9ERVRfQ0gyX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBEQlJQX0VWRE9fQ0hfREVUX0NIMl9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBEQlJQX0VWRE9fQ0hfREVUX0NIMV9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9FVkRPX0NIX0RFVF9DSDFfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRVZET19DSF9ERVRfQ0gxX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBEQlJQX0VWRE9fQ0hfREVUX0NIMV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBEQlJQX0VWRE9fQ0hfREVUX0NIMF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9FVkRPX0NIX0RFVF9DSDBfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRVZET19DSF9ERVRfQ0gwX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBEQlJQX0VWRE9fQ0hfREVUX0NIMF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBEQlJQX0VWRE9fSEFSUV9JTkZPX0NSQ1NJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9FVkRPX0hBUlFfSU5GT19DUkNTSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRVZET19IQVJRX0lORk9fQ1JDU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBEQlJQX0VWRE9fSEFSUV9JTkZPX0NSQ1NJWkVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBEQlJQX0VWRE9fSEFSUV9JTkZPX0lOVEVSTEFOQ0VfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9FVkRPX0hBUlFfSU5GT19JTlRFUkxBTkNFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIERCUlBfRVZET19IQVJRX0lORk9fSU5URVJMQU5DRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA2KQorCisjZGVmaW5lIERCUlBfRVZET19IQVJRX0lORk9fTkRJX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0VWRE9fSEFSUV9JTkZPX05ESV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9FVkRPX0hBUlFfSU5GT19ORElfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfRVZET19IQVJRX0lORk9fTkRJX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfRVZET19DMklfU0NBTF9RUFNLX05PUk1fVFlQRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgREJSUF9FVkRPX0MySV9TQ0FMX1FQU0tfTk9STV9UWVBFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRVZET19DMklfU0NBTF9RUFNLX05PUk1fVFlQRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBEQlJQX0VWRE9fQzJJX1NDQUxfUVBTS19OT1JNX1RZUEVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBEQlJQX0VWRE9fQzJJX1NDQUxfUVBTS19TSElGVF9DMklfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIERCUlBfRVZET19DMklfU0NBTF9RUFNLX1NISUZUX0MySV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEQlJQX0VWRE9fQzJJX1NDQUxfUVBTS19TSElGVF9DMklfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxRjAwMDAwMCkKKworI2RlZmluZSBEQlJQX0VWRE9fQzJJX1NDQUxfUVBTS19ESVZfQzJJXzNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTgpCisjZGVmaW5lIERCUlBfRVZET19DMklfU0NBTF9RUFNLX0RJVl9DMklfM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX0VWRE9fQzJJX1NDQUxfUVBTS19ESVZfQzJJXzNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEZDMDAwMCkKKworI2RlZmluZSBEQlJQX0VWRE9fQzJJX1NDQUxfUVBTS19ESVZfQzJJXzJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIERCUlBfRVZET19DMklfU0NBTF9RUFNLX0RJVl9DMklfMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX0VWRE9fQzJJX1NDQUxfUVBTS19ESVZfQzJJXzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAzRjAwMCkKKworI2RlZmluZSBEQlJQX0VWRE9fQzJJX1NDQUxfUVBTS19ESVZfQzJJXzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9FVkRPX0MySV9TQ0FMX1FQU0tfRElWX0MySV8xX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfRVZET19DMklfU0NBTF9RUFNLX0RJVl9DMklfMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwRkMwKQorCisjZGVmaW5lIERCUlBfRVZET19DMklfU0NBTF9RUFNLX0RJVl9DMklfMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0VWRE9fQzJJX1NDQUxfUVBTS19ESVZfQzJJXzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9FVkRPX0MySV9TQ0FMX1FQU0tfRElWX0MySV8wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgREJSUF9FVkRPX0MySV9TQ0FMXzhQU0tfTk9STV9UWVBFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBEQlJQX0VWRE9fQzJJX1NDQUxfOFBTS19OT1JNX1RZUEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9FVkRPX0MySV9TQ0FMXzhQU0tfTk9STV9UWVBFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIERCUlBfRVZET19DMklfU0NBTF84UFNLX05PUk1fVFlQRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIERCUlBfRVZET19DMklfU0NBTF84UFNLX1NISUZUX0MySV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgREJSUF9FVkRPX0MySV9TQ0FMXzhQU0tfU0hJRlRfQzJJX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfRVZET19DMklfU0NBTF84UFNLX1NISUZUX0MySV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDFGMDAwMDAwKQorCisjZGVmaW5lIERCUlBfRVZET19DMklfU0NBTF84UFNLX0RJVl9DMklfM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgREJSUF9FVkRPX0MySV9TQ0FMXzhQU0tfRElWX0MySV8zX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfRVZET19DMklfU0NBTF84UFNLX0RJVl9DMklfM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkMwMDAwKQorCisjZGVmaW5lIERCUlBfRVZET19DMklfU0NBTF84UFNLX0RJVl9DMklfMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgREJSUF9FVkRPX0MySV9TQ0FMXzhQU0tfRElWX0MySV8yX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfRVZET19DMklfU0NBTF84UFNLX0RJVl9DMklfMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDNGMDAwKQorCisjZGVmaW5lIERCUlBfRVZET19DMklfU0NBTF84UFNLX0RJVl9DMklfMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX0VWRE9fQzJJX1NDQUxfOFBTS19ESVZfQzJJXzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9FVkRPX0MySV9TQ0FMXzhQU0tfRElWX0MySV8xX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDBGQzApCisKKyNkZWZpbmUgREJSUF9FVkRPX0MySV9TQ0FMXzhQU0tfRElWX0MySV8wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfRVZET19DMklfU0NBTF84UFNLX0RJVl9DMklfMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX0VWRE9fQzJJX1NDQUxfOFBTS19ESVZfQzJJXzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKworI2RlZmluZSBEQlJQX0VWRE9fQzJJX1NDQUxfMTZRQU1fTk9STV9UWVBFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIERCUlBfRVZET19DMklfU0NBTF8xNlFBTV9OT1JNX1RZUEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX0VWRE9fQzJJX1NDQUxfMTZRQU1fTk9STV9UWVBFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgREJSUF9FVkRPX0MySV9TQ0FMXzE2UUFNX05PUk1fVFlQRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgREJSUF9FVkRPX0MySV9TQ0FMXzE2UUFNX1NISUZUX0MySV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBEQlJQX0VWRE9fQzJJX1NDQUxfMTZRQU1fU0hJRlRfQzJJX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREJSUF9FVkRPX0MySV9TQ0FMXzE2UUFNX1NISUZUX0MySV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MUYwMDAwMDApCisKKyNkZWZpbmUgREJSUF9FVkRPX0MySV9TQ0FMXzE2UUFNX0RJVl9DMklfM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE4KQorI2RlZmluZSBEQlJQX0VWRE9fQzJJX1NDQUxfMTZRQU1fRElWX0MySV8zX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9FVkRPX0MySV9TQ0FMXzE2UUFNX0RJVl9DMklfM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGQzAwMDApCisKKyNkZWZpbmUgREJSUF9FVkRPX0MySV9TQ0FMXzE2UUFNX0RJVl9DMklfMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBEQlJQX0VWRE9fQzJJX1NDQUxfMTZRQU1fRElWX0MySV8yX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9FVkRPX0MySV9TQ0FMXzE2UUFNX0RJVl9DMklfMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwM0YwMDApCisKKyNkZWZpbmUgREJSUF9FVkRPX0MySV9TQ0FMXzE2UUFNX0RJVl9DMklfMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfRVZET19DMklfU0NBTF8xNlFBTV9ESVZfQzJJXzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX0VWRE9fQzJJX1NDQUxfMTZRQU1fRElWX0MySV8xX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMEZDMCkKKworI2RlZmluZSBEQlJQX0VWRE9fQzJJX1NDQUxfMTZRQU1fRElWX0MySV8wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9FVkRPX0MySV9TQ0FMXzE2UUFNX0RJVl9DMklfMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfRVZET19DMklfU0NBTF8xNlFBTV9ESVZfQzJJXzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDNGKQorCisjZGVmaW5lIERCUlBfRVZET19IQVJRX0RCR19FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0VWRE9fSEFSUV9EQkdfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9FVkRPX0hBUlFfREJHX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfRVZET19IQVJRX0RCR19FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfRVZET19DMklfUkRfVFJHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0VWRE9fQzJJX1JEX1RSR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9FVkRPX0MySV9SRF9UUkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfRVZET19DMklfUkRfVFJHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfRVZET19DMklfUkRfQUREUl9BVVRPX0lOQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgREJSUF9FVkRPX0MySV9SRF9BRERSX0FVVE9fSU5DX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRVZET19DMklfUkRfQUREUl9BVVRPX0lOQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBEQlJQX0VWRE9fQzJJX1JEX0FERFJfQVVUT19JTkNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBEQlJQX0VWRE9fQzJJX1JEX0FERFJfTUVNX0FERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9FVkRPX0MySV9SRF9BRERSX01FTV9BRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfRVZET19DMklfUkRfQUREUl9NRU1fQUREUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDNGKQorCisjZGVmaW5lIERCUlBfRVZET19DMklfUkRfREFUQV9NRU1fREFUQV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0VWRE9fQzJJX1JEX0RBVEFfTUVNX0RBVEFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIERCUlBfRVZET19DMklfUkRfREFUQV9NRU1fREFUQV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwRkZGKQorCisjZGVmaW5lIERCUlBfRVZET19IQVJRX1JEX1RSR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0VWRE9fSEFSUV9SRF9UUkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9FVkRPX0hBUlFfUkRfVFJHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERCUlBfRVZET19IQVJRX1JEX1RSR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERCUlBfRVZET19IQVJRX1JEX0FERFJfQVVUT19JTkNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgREJSUF9FVkRPX0hBUlFfUkRfQUREUl9BVVRPX0lOQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRVZET19IQVJRX1JEX0FERFJfQVVUT19JTkNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBEQlJQX0VWRE9fSEFSUV9SRF9BRERSX0FVVE9fSU5DX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBEQlJQX0VWRE9fSEFSUV9SRF9BRERSX01FTV9BRERSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9FVkRPX0hBUlFfUkRfQUREUl9NRU1fQUREUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBEQlJQX0VWRE9fSEFSUV9SRF9BRERSX01FTV9BRERSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDdGRikKKworI2RlZmluZSBEQlJQX0VWRE9fSEFSUV9SRF9EQVRBX01FTV9EQVRBX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9FVkRPX0hBUlFfUkRfREFUQV9NRU1fREFUQV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBEQlJQX0VWRE9fSEFSUV9SRF9EQVRBX01FTV9EQVRBX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBEQlJQX0VWRE9fSEFSUV9BQlNBQ0NfMDNfQUJTQUNDXzNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIERCUlBfRVZET19IQVJRX0FCU0FDQ18wM19BQlNBQ0NfM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBEQlJQX0VWRE9fSEFSUV9BQlNBQ0NfMDNfQUJTQUNDXzNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg3RjAwMDAwMCkKKworI2RlZmluZSBEQlJQX0VWRE9fSEFSUV9BQlNBQ0NfMDNfQUJTQUNDXzJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRVZET19IQVJRX0FCU0FDQ18wM19BQlNBQ0NfMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBEQlJQX0VWRE9fSEFSUV9BQlNBQ0NfMDNfQUJTQUNDXzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDdGMDAwMCkKKworI2RlZmluZSBEQlJQX0VWRE9fSEFSUV9BQlNBQ0NfMDNfQUJTQUNDXzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREJSUF9FVkRPX0hBUlFfQUJTQUNDXzAzX0FCU0FDQ18xX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIERCUlBfRVZET19IQVJRX0FCU0FDQ18wM19BQlNBQ0NfMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA3RjAwKQorCisjZGVmaW5lIERCUlBfRVZET19IQVJRX0FCU0FDQ18wM19BQlNBQ0NfMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0VWRE9fSEFSUV9BQlNBQ0NfMDNfQUJTQUNDXzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9FVkRPX0hBUlFfQUJTQUNDXzAzX0FCU0FDQ18wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwN0YpCisKKyNkZWZpbmUgREJSUF9FVkRPX0hBUlFfQUJTQUNDXzQ3X0FCU0FDQ183X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBEQlJQX0VWRE9fSEFSUV9BQlNBQ0NfNDdfQUJTQUNDXzdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9FVkRPX0hBUlFfQUJTQUNDXzQ3X0FCU0FDQ183X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4N0YwMDAwMDApCisKKyNkZWZpbmUgREJSUF9FVkRPX0hBUlFfQUJTQUNDXzQ3X0FCU0FDQ182X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0VWRE9fSEFSUV9BQlNBQ0NfNDdfQUJTQUNDXzZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgREJSUF9FVkRPX0hBUlFfQUJTQUNDXzQ3X0FCU0FDQ182X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDA3RjAwMDApCisKKyNkZWZpbmUgREJSUF9FVkRPX0hBUlFfQUJTQUNDXzQ3X0FCU0FDQ181X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIERCUlBfRVZET19IQVJRX0FCU0FDQ180N19BQlNBQ0NfNV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBEQlJQX0VWRE9fSEFSUV9BQlNBQ0NfNDdfQUJTQUNDXzVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0YwMCkKKworI2RlZmluZSBEQlJQX0VWRE9fSEFSUV9BQlNBQ0NfNDdfQUJTQUNDXzRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9FVkRPX0hBUlFfQUJTQUNDXzQ3X0FCU0FDQ180X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIERCUlBfRVZET19IQVJRX0FCU0FDQ180N19BQlNBQ0NfNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDdGKQorCisjZGVmaW5lIERCUlBfRVZET19EQkcwX0RFVF9DSE5MX0lURVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgREJSUF9FVkRPX0RCRzBfREVUX0NITkxfSVRFUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIERCUlBfRVZET19EQkcwX0RFVF9DSE5MX0lURVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAzMDAwKQorCisjZGVmaW5lIERCUlBfRVZET19EQkcwX01BSU5fRlNNX0NTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0VWRE9fREJHMF9NQUlOX0ZTTV9DU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgREJSUF9FVkRPX0RCRzBfTUFJTl9GU01fQ1NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgREJSUF9FVkRPX1BXUl9DRkdfUFdSX01PREVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBEQlJQX0VWRE9fUFdSX0NGR19QV1JfTU9ERV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9FVkRPX1BXUl9DRkdfUFdSX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisjZGVmaW5lIERCUlBfRVZET19QV1JfQ0ZHX1BXUl9NT0RFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBEQlJQX0VWRE9fSEFSUV9QQVJBTV9IQVJRX0JVRl9TSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERCUlBfRVZET19IQVJRX1BBUkFNX0hBUlFfQlVGX1NJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgREJSUF9FVkRPX0hBUlFfUEFSQU1fSEFSUV9CVUZfU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MUZGRjAwMDApCisKKyNkZWZpbmUgREJSUF9FVkRPX0hBUlFfUEFSQU1fUFJFX1FVQVJfU0xUMl9TSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERCUlBfRVZET19IQVJRX1BBUkFNX1BSRV9RVUFSX1NMVDJfU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX0VWRE9fSEFSUV9QQVJBTV9QUkVfUVVBUl9TTFQyX1NJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgREJSUF9FVkRPX0hBUlFfUEFSQU1fUFJFX1FVQVJfU0xUMl9TSVpFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgREJSUF9FVkRPX0hBUlFfUEFSQU1fUFJFX1FVQVJfU0xUMV9TSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfRVZET19IQVJRX1BBUkFNX1BSRV9RVUFSX1NMVDFfU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBEQlJQX0VWRE9fSEFSUV9QQVJBTV9QUkVfUVVBUl9TTFQxX1NJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxOCkKKworI2RlZmluZSBEQlJQX0VWRE9fSEFSUV9QQVJBTV9QUkVfUVVBUl9TTFQwX1NJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9FVkRPX0hBUlFfUEFSQU1fUFJFX1FVQVJfU0xUMF9TSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIERCUlBfRVZET19IQVJRX1BBUkFNX1BSRV9RVUFSX1NMVDBfU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAzKQorCisjZGVmaW5lIERCUlBfRVZET19DSDBfUEFSQU0xX0lOVExWX0RfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMykKKyNkZWZpbmUgREJSUF9FVkRPX0NIMF9QQVJBTTFfSU5UTFZfRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfRVZET19DSDBfUEFSQU0xX0lOVExWX0RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA3ODAwMDAwKQorCisjZGVmaW5lIERCUlBfRVZET19DSDBfUEFSQU0xX0lOVExWX01fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgREJSUF9FVkRPX0NIMF9QQVJBTTFfSU5UTFZfTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfRVZET19DSDBfUEFSQU0xX0lOVExWX01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwNzAwMDAwKQorCisjZGVmaW5lIERCUlBfRVZET19DSDBfUEFSQU0xX0lOVExWX1JfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNykKKyNkZWZpbmUgREJSUF9FVkRPX0NIMF9QQVJBTTFfSU5UTFZfUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfRVZET19DSDBfUEFSQU0xX0lOVExWX1JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEUwMDAwKQorCisjZGVmaW5lIERCUlBfRVZET19DSDBfUEFSQU0xX0lOVExWX0tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgREJSUF9FVkRPX0NIMF9QQVJBTTFfSU5UTFZfS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfRVZET19DSDBfUEFSQU0xX0lOVExWX0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDFDMDAwKQorCisjZGVmaW5lIERCUlBfRVZET19DSDBfUEFSQU0xX0lOVExWX1NJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0VWRE9fQ0gwX1BBUkFNMV9JTlRMVl9TSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIERCUlBfRVZET19DSDBfUEFSQU0xX0lOVExWX1NJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAzRkZGKQorCisjZGVmaW5lIERCUlBfRVZET19DSDBfUEFSQU0yX0NPREVfUkFURV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgREJSUF9FVkRPX0NIMF9QQVJBTTJfQ09ERV9SQVRFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRVZET19DSDBfUEFSQU0yX0NPREVfUkFURV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorI2RlZmluZSBEQlJQX0VWRE9fQ0gwX1BBUkFNMl9DT0RFX1JBVEVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMCkKKworI2RlZmluZSBEQlJQX0VWRE9fQ0gwX1BBUkFNMl9FTkNPREVEX0JJVFNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9FVkRPX0NIMF9QQVJBTTJfRU5DT0RFRF9CSVRTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBEQlJQX0VWRE9fQ0gwX1BBUkFNMl9FTkNPREVEX0JJVFNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZDMCkKKworI2RlZmluZSBEQlJQX0VWRE9fQ0gwX1BBUkFNMl9NT0RfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9FVkRPX0NIMF9QQVJBTTJfTU9EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIERCUlBfRVZET19DSDBfUEFSQU0yX01PRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDMwKQorCisjZGVmaW5lIERCUlBfRVZET19DSDBfUEFSQU0yX1JFUEVBVF9SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0VWRE9fQ0gwX1BBUkFNMl9SRVBFQVRfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9FVkRPX0NIMF9QQVJBTTJfUkVQRUFUX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgREJSUF9FVkRPX0NIMF9QQVJBTTNfU0NSQU1CX0lOSVRfMTNfMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfRVZET19DSDBfUEFSQU0zX1NDUkFNQl9JTklUXzEzXzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgREJSUF9FVkRPX0NIMF9QQVJBTTNfU0NSQU1CX0lOSVRfMTNfMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDNGRkYpCisKKyNkZWZpbmUgREJSUF9FVkRPX0NIMV9QQVJBTTFfSU5UTFZfRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIzKQorI2RlZmluZSBEQlJQX0VWRE9fQ0gxX1BBUkFNMV9JTlRMVl9EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9FVkRPX0NIMV9QQVJBTTFfSU5UTFZfRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDc4MDAwMDApCisKKyNkZWZpbmUgREJSUF9FVkRPX0NIMV9QQVJBTTFfSU5UTFZfTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBEQlJQX0VWRE9fQ0gxX1BBUkFNMV9JTlRMVl9NX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9FVkRPX0NIMV9QQVJBTTFfSU5UTFZfTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDA3MDAwMDApCisKKyNkZWZpbmUgREJSUF9FVkRPX0NIMV9QQVJBTTFfSU5UTFZfUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE3KQorI2RlZmluZSBEQlJQX0VWRE9fQ0gxX1BBUkFNMV9JTlRMVl9SX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9FVkRPX0NIMV9QQVJBTTFfSU5UTFZfUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRTAwMDApCisKKyNkZWZpbmUgREJSUF9FVkRPX0NIMV9QQVJBTTFfSU5UTFZfS19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBEQlJQX0VWRE9fQ0gxX1BBUkFNMV9JTlRMVl9LX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgREJSUF9FVkRPX0NIMV9QQVJBTTFfSU5UTFZfS19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMUMwMDApCisKKyNkZWZpbmUgREJSUF9FVkRPX0NIMV9QQVJBTTFfSU5UTFZfU0laRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfRVZET19DSDFfUEFSQU0xX0lOVExWX1NJWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgREJSUF9FVkRPX0NIMV9QQVJBTTFfSU5UTFZfU0laRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDNGRkYpCisKKyNkZWZpbmUgREJSUF9FVkRPX0NIMV9QQVJBTTJfQ09ERV9SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBEQlJQX0VWRE9fQ0gxX1BBUkFNMl9DT0RFX1JBVEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgREJSUF9FVkRPX0NIMV9QQVJBTTJfQ09ERV9SQVRFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisjZGVmaW5lIERCUlBfRVZET19DSDFfUEFSQU0yX0NPREVfUkFURV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorCisjZGVmaW5lIERCUlBfRVZET19DSDFfUEFSQU0yX0VOQ09ERURfQklUU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBEQlJQX0VWRE9fQ0gxX1BBUkFNMl9FTkNPREVEX0JJVFNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIERCUlBfRVZET19DSDFfUEFSQU0yX0VOQ09ERURfQklUU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkMwKQorCisjZGVmaW5lIERCUlBfRVZET19DSDFfUEFSQU0yX01PRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX0VWRE9fQ0gxX1BBUkFNMl9NT0RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgREJSUF9FVkRPX0NIMV9QQVJBTTJfTU9EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMzApCisKKyNkZWZpbmUgREJSUF9FVkRPX0NIMV9QQVJBTTJfUkVQRUFUX1JBVEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfRVZET19DSDFfUEFSQU0yX1JFUEVBVF9SQVRFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX0VWRE9fQ0gxX1BBUkFNMl9SRVBFQVRfUkFURV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBEQlJQX0VWRE9fQ0gxX1BBUkFNM19TQ1JBTUJfSU5JVF8xM18wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9FVkRPX0NIMV9QQVJBTTNfU0NSQU1CX0lOSVRfMTNfMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBEQlJQX0VWRE9fQ0gxX1BBUkFNM19TQ1JBTUJfSU5JVF8xM18wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwM0ZGRikKKworI2RlZmluZSBEQlJQX0VWRE9fQ0gyX1BBUkFNMV9JTlRMVl9EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjMpCisjZGVmaW5lIERCUlBfRVZET19DSDJfUEFSQU0xX0lOVExWX0RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEQlJQX0VWRE9fQ0gyX1BBUkFNMV9JTlRMVl9EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwNzgwMDAwMCkKKworI2RlZmluZSBEQlJQX0VWRE9fQ0gyX1BBUkFNMV9JTlRMVl9NX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIERCUlBfRVZET19DSDJfUEFSQU0xX0lOVExWX01fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX0VWRE9fQ0gyX1BBUkFNMV9JTlRMVl9NX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDcwMDAwMCkKKworI2RlZmluZSBEQlJQX0VWRE9fQ0gyX1BBUkFNMV9JTlRMVl9SX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTcpCisjZGVmaW5lIERCUlBfRVZET19DSDJfUEFSQU0xX0lOVExWX1JfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX0VWRE9fQ0gyX1BBUkFNMV9JTlRMVl9SX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBFMDAwMCkKKworI2RlZmluZSBEQlJQX0VWRE9fQ0gyX1BBUkFNMV9JTlRMVl9LX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIERCUlBfRVZET19DSDJfUEFSQU0xX0lOVExWX0tfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBEQlJQX0VWRE9fQ0gyX1BBUkFNMV9JTlRMVl9LX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxQzAwMCkKKworI2RlZmluZSBEQlJQX0VWRE9fQ0gyX1BBUkFNMV9JTlRMVl9TSVpFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9FVkRPX0NIMl9QQVJBTTFfSU5UTFZfU0laRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBEQlJQX0VWRE9fQ0gyX1BBUkFNMV9JTlRMVl9TSVpFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwM0ZGRikKKworI2RlZmluZSBEQlJQX0VWRE9fQ0gyX1BBUkFNMl9DT0RFX1JBVEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIERCUlBfRVZET19DSDJfUEFSQU0yX0NPREVfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBEQlJQX0VWRE9fQ0gyX1BBUkFNMl9DT0RFX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMCkKKyNkZWZpbmUgREJSUF9FVkRPX0NIMl9QQVJBTTJfQ09ERV9SQVRFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisKKyNkZWZpbmUgREJSUF9FVkRPX0NIMl9QQVJBTTJfRU5DT0RFRF9CSVRTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERCUlBfRVZET19DSDJfUEFSQU0yX0VOQ09ERURfQklUU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgREJSUF9FVkRPX0NIMl9QQVJBTTJfRU5DT0RFRF9CSVRTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGQzApCisKKyNkZWZpbmUgREJSUF9FVkRPX0NIMl9QQVJBTTJfTU9EX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfRVZET19DSDJfUEFSQU0yX01PRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBEQlJQX0VWRE9fQ0gyX1BBUkFNMl9NT0RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzMCkKKworI2RlZmluZSBEQlJQX0VWRE9fQ0gyX1BBUkFNMl9SRVBFQVRfUkFURV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9FVkRPX0NIMl9QQVJBTTJfUkVQRUFUX1JBVEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfRVZET19DSDJfUEFSQU0yX1JFUEVBVF9SQVRFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIERCUlBfRVZET19DSDJfUEFSQU0zX1NDUkFNQl9JTklUXzEzXzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0VWRE9fQ0gyX1BBUkFNM19TQ1JBTUJfSU5JVF8xM18wX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIERCUlBfRVZET19DSDJfUEFSQU0zX1NDUkFNQl9JTklUXzEzXzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAzRkZGKQorCisjZGVmaW5lIERCUlBfRVZET19DSDNfUEFSQU0xX0lOVExWX0RfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMykKKyNkZWZpbmUgREJSUF9FVkRPX0NIM19QQVJBTTFfSU5UTFZfRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERCUlBfRVZET19DSDNfUEFSQU0xX0lOVExWX0RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA3ODAwMDAwKQorCisjZGVmaW5lIERCUlBfRVZET19DSDNfUEFSQU0xX0lOVExWX01fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgREJSUF9FVkRPX0NIM19QQVJBTTFfSU5UTFZfTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfRVZET19DSDNfUEFSQU0xX0lOVExWX01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwNzAwMDAwKQorCisjZGVmaW5lIERCUlBfRVZET19DSDNfUEFSQU0xX0lOVExWX1JfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNykKKyNkZWZpbmUgREJSUF9FVkRPX0NIM19QQVJBTTFfSU5UTFZfUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfRVZET19DSDNfUEFSQU0xX0lOVExWX1JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEUwMDAwKQorCisjZGVmaW5lIERCUlBfRVZET19DSDNfUEFSQU0xX0lOVExWX0tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgREJSUF9FVkRPX0NIM19QQVJBTTFfSU5UTFZfS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERCUlBfRVZET19DSDNfUEFSQU0xX0lOVExWX0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDFDMDAwKQorCisjZGVmaW5lIERCUlBfRVZET19DSDNfUEFSQU0xX0lOVExWX1NJWkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0VWRE9fQ0gzX1BBUkFNMV9JTlRMVl9TSVpFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIERCUlBfRVZET19DSDNfUEFSQU0xX0lOVExWX1NJWkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAzRkZGKQorCisjZGVmaW5lIERCUlBfRVZET19DSDNfUEFSQU0yX0NPREVfUkFURV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgREJSUF9FVkRPX0NIM19QQVJBTTJfQ09ERV9SQVRFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERCUlBfRVZET19DSDNfUEFSQU0yX0NPREVfUkFURV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorI2RlZmluZSBEQlJQX0VWRE9fQ0gzX1BBUkFNMl9DT0RFX1JBVEVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMCkKKworI2RlZmluZSBEQlJQX0VWRE9fQ0gzX1BBUkFNMl9FTkNPREVEX0JJVFNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgREJSUF9FVkRPX0NIM19QQVJBTTJfRU5DT0RFRF9CSVRTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBEQlJQX0VWRE9fQ0gzX1BBUkFNMl9FTkNPREVEX0JJVFNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZDMCkKKworI2RlZmluZSBEQlJQX0VWRE9fQ0gzX1BBUkFNMl9NT0RfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9FVkRPX0NIM19QQVJBTTJfTU9EX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIERCUlBfRVZET19DSDNfUEFSQU0yX01PRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDMwKQorCisjZGVmaW5lIERCUlBfRVZET19DSDNfUEFSQU0yX1JFUEVBVF9SQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0VWRE9fQ0gzX1BBUkFNMl9SRVBFQVRfUkFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJSUF9FVkRPX0NIM19QQVJBTTJfUkVQRUFUX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgREJSUF9FVkRPX0NIM19QQVJBTTNfU0NSQU1CX0lOSVRfMTNfMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERCUlBfRVZET19DSDNfUEFSQU0zX1NDUkFNQl9JTklUXzEzXzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgREJSUF9FVkRPX0NIM19QQVJBTTNfU0NSQU1CX0lOSVRfMTNfMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDNGRkYpCisKKyNkZWZpbmUgREJSUF9FVkRPX0MySV9QQVJBTTBfQzJJX1FVQVJfU0xPVDFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEQlJQX0VWRE9fQzJJX1BBUkFNMF9DMklfUVVBUl9TTE9UMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIERCUlBfRVZET19DMklfUEFSQU0wX0MySV9RVUFSX1NMT1QxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDBGRkYwMDAwKQorCisjZGVmaW5lIERCUlBfRVZET19DMklfUEFSQU0wX0MySV9RVUFSX1NMT1QwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEQlJQX0VWRE9fQzJJX1BBUkFNMF9DMklfUVVBUl9TTE9UMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIERCUlBfRVZET19DMklfUEFSQU0wX0MySV9RVUFSX1NMT1QwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwRkZGKQorCisjZGVmaW5lIERCUlBfRVZET19DMklfUEFSQU0xX0MySV9RVUFSX1NMT1QzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREJSUF9FVkRPX0MySV9QQVJBTTFfQzJJX1FVQVJfU0xPVDNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBEQlJQX0VWRE9fQzJJX1BBUkFNMV9DMklfUVVBUl9TTE9UM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwRkZGMDAwMCkKKworI2RlZmluZSBEQlJQX0VWRE9fQzJJX1BBUkFNMV9DMklfUVVBUl9TTE9UMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJSUF9FVkRPX0MySV9QQVJBTTFfQzJJX1FVQVJfU0xPVDJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBEQlJQX0VWRE9fQzJJX1BBUkFNMV9DMklfUVVBUl9TTE9UMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMEZGRikKKworCisjZW5kaWYgLy8jaWZuZGVmIF9DUEhfRVZET19SWEJSUF9IXwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGV2ZG9yeGV2ZW50Z2VuLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoZXZkb3J4ZXZlbnRnZW4uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYjZjZDRiCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGV2ZG9yeGV2ZW50Z2VuLmgKQEAgLTAsMCArMSw0NCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiBkZWZpbmVkKF9fTUQ5M19fKQorI2luY2x1ZGUgImNwaGV2ZG9yeGV2ZW50Z2VuXzkzLmgiCisjZWxpZiBkZWZpbmVkKF9fTUQ5NV9fKQorI2luY2x1ZGUgImNwaGV2ZG9yeGV2ZW50Z2VuXzk1LmgiCisjZWxpZiBkZWZpbmVkKF9fTUQ5N19fKSB8fCBkZWZpbmVkKF9fTUQ5N1BfXykKKyNpbmNsdWRlICJjcGhldmRvcnhldmVudGdlbl85Ny5oIgorI2Vsc2UKKyNlcnJvciAiW0VSUk9SXSBJbnZhbGlkIE1EIGdlbmVyYXRpb24iIG1vZGlmaWNhdGlvbiBmb3IgYnVpbGQgZXJyb3IKKyNlbmRpZgorCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoZXZkb3J4ZXZlbnRnZW5fOTMuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhldmRvcnhldmVudGdlbl85My5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJkMTA3ZTcKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoZXZkb3J4ZXZlbnRnZW5fOTMuaApAQCAtMCwwICsxLDU4NyBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NQSF9FVkRPX1JYX0VWRU5UR0VOX0hfCisjZGVmaW5lIF9DUEhfRVZET19SWF9FVkVOVEdFTl9IXworCisKK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIFNSQU1BRERSOyAgICAgICAgIC8qIFNSQU0gYWRkciBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgU1JBTURBVEE7ICAgICAgICAgLyogU1JBTSBkYXRhIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBBUEJBRERSOyAgICAgICAgICAvKiBBUEIgYWRkciBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIEFQQkRBVEE7ICAgICAgICAgIC8qIEFQQiBkYXRhIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nKiAgQVBCQUREUjMyOyAgICAgICAgLyogQVBCIGFkZHIgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgICBBUEJEQVRBMzI7ICAgICAgICAvKiBBUEIgZGF0YSBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIERQUkFNQUREUjsgICAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSBzaWduZWQgICBzaG9ydCogRFBSQU1BRERSX1M7ICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBEUFJBTURBVEE7ICAgICAgICAvKiBEUFJBTSBkYXRhIGlzIDE2IGJpdHMgKi8KKworCisjZGVmaW5lIFNURE9fUlhfRVZFTlRHRU5fUkVHX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEE3MDcwMDAwKQorI2RlZmluZSBTVERPX1JYX0VWRU5UR0VOX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoU1RET19SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MzAwMCArIDM0KjQpCisKKworI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX09GRlNFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RET19SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDAwMCkpCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVERPX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMDA0KSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9PRkZTRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNURE9fUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwMDgpKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RET19SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDAwQykpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVERPX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMDEwKSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNURE9fUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwMTQpKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RET19SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDAxOCkpCisjZGVmaW5lIFNURE9fUlhERkVfT05fRVZFTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVERPX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMDFDKSkKKyNkZWZpbmUgU1RET19SWERGRV9PRkZfRVZFTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNURE9fUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwMjApKQorI2RlZmluZSBTVERPX0RCR19PTl9FVkVOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RET19SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDAyNCkpCisjZGVmaW5lIFNURE9fREJHX09GRl9FVkVOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVERPX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMDI4KSkKKyNkZWZpbmUgU1RET19UVFJfT05fRVZFTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNURE9fUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwMkMpKQorI2RlZmluZSBTVERPX1RUUl9PRkZfRVZFTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RET19SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDAzMCkpCisjZGVmaW5lIFNURE9fRFZGU19FVkVOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVERPX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMDM0KSkKKyNkZWZpbmUgU1RET19SWF9CU0lSRF9FVkVOVChuKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNURE9fUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDBGMzAgKyAobikqNCkpICAgLy9uIGlzIGZyb20gMCB0byAyCisjZGVmaW5lIFNURE9fUlhfQlNJX0VWRU5UKG4pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVERPX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgxMDMwICsgKG4pKjQpKSAgIC8vbiBpcyBmcm9tIDAgdG8gNDQKKyNkZWZpbmUgU1RET19SWF9NSVBJX0VWRU5UKG4pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNURE9fUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDIwMDAgKyAobikqNCkpICAgLy9uIGlzIGZyb20gMCB0byA3NgorI2RlZmluZSBTVERPX1JYX0JQSV9FVkVOVChuKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RET19SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MzAwMCArIChuKSo0KSkgICAvL24gaXMgZnJvbSAwIHRvIDMzCisKKworCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfT0ZGU0VUX0NISVBfT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX09GRlNFVF9DSElQX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfT0ZGU0VUX0NISVBfT0ZGU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAzRkZDKQorCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0sxNV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzE1X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0sxNV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLMTVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLMTRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0sxNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLMTRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzE0X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzEzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLMTNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzEzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0sxM19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0sxMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzEyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0sxMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLMTJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLMTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0sxMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLMTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzExX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzEwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLMTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzEwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0sxMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0s5X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLOV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzlfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0s5X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0s4X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLOF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0s4X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0s3X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLN19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0s3X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0s2X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLNl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0s2X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0s1X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLNV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0s1X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0s0X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0s0X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0szX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0szX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0syX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0syX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0sxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0sxX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0swX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0swX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfT0ZGU0VUX0NISVBfT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX09GRlNFVF9DSElQX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfT0ZGU0VUX0NISVBfT0ZGU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAzRkZDKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0sxNV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzE1X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0sxNV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLMTVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLMTRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0sxNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLMTRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzE0X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzEzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLMTNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzEzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0sxM19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0sxMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzEyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0sxMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLMTJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLMTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0sxMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLMTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzExX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzEwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLMTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzEwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0sxMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0s5X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLOV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzlfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0s5X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0s4X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLOF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0s4X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0s3X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLN19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0s3X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0s2X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLNl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0s2X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0s1X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLNV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0s1X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0s0X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0s0X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0szX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0szX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0syX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0syX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0sxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0sxX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0swX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0swX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjE1X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSMTVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjE1X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFIxNV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFIxNF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjE0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFIxNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSMTRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSMTNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFIxM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSMTNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjEzX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjEyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSMTJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjEyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFIxMl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFIxMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFIxMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSMTFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSMTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFIxMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSMTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjEwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjlfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFI5X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSOV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjlfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFI4X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSOF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjhfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFI3X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSN19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFI2X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSNl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFI1X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSNV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFI0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFIzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFIyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFIxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFIwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzE1X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDMTVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzE1X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkMxNV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkMxNF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzE0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkMxNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDMTRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDMTNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkMxM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDMTNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzEzX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzEyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDMTJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzEyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkMxMl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkMxMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkMxMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDMTFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDMTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkMxMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDMTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzEwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzlfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkM5X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDOV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzlfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkM4X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDOF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzhfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkM3X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDN19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkM2X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDNl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkM1X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDNV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkM0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkMzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkMyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkMxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkMwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjE1X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSMTVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjE1X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1IxNV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1IxNF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjE0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1IxNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSMTRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSMTNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1IxM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSMTNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjEzX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjEyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSMTJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjEyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1IxMl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1IxMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1IxMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSMTFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSMTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1IxMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSMTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjEwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjlfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1I5X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSOV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjlfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1I4X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSOF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjhfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1I3X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSN19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1I2X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSNl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1I1X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSNV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1I0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1IzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1IyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1IxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1IwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNURE9fUlhERkVfT05fRVZFTlRfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgU1RET19SWERGRV9PTl9FVkVOVF9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fUlhERkVfT05fRVZFTlRfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBTVERPX1JYREZFX09OX0VWRU5UX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBTVERPX1JYREZFX09OX0VWRU5UX1JYREZFX09OX0VWRU5UX1RJTUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1RET19SWERGRV9PTl9FVkVOVF9SWERGRV9PTl9FVkVOVF9USU1FX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE4KQorI2RlZmluZSBTVERPX1JYREZFX09OX0VWRU5UX1JYREZFX09OX0VWRU5UX1RJTUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGQykKKworI2RlZmluZSBTVERPX1JYREZFX09GRl9FVkVOVF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFNURE9fUlhERkVfT0ZGX0VWRU5UX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX1JYREZFX09GRl9FVkVOVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgU1RET19SWERGRV9PRkZfRVZFTlRfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgU1RET19SWERGRV9PRkZfRVZFTlRfUlhERkVfT0ZGX0VWRU5UX1RJTUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNURE9fUlhERkVfT0ZGX0VWRU5UX1JYREZFX09GRl9FVkVOVF9USU1FX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgU1RET19SWERGRV9PRkZfRVZFTlRfUlhERkVfT0ZGX0VWRU5UX1RJTUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkMpCisKKyNkZWZpbmUgU1RET19EQkdfT05fRVZFTlRfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBTVERPX0RCR19PTl9FVkVOVF9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19EQkdfT05fRVZFTlRfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIFNURE9fREJHX09OX0VWRU5UX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIFNURE9fREJHX09OX0VWRU5UX0RCR19PTl9FVkVOVF9USU1FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVERPX0RCR19PTl9FVkVOVF9EQkdfT05fRVZFTlRfVElNRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFNURE9fREJHX09OX0VWRU5UX0RCR19PTl9FVkVOVF9USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZGKQorCisjZGVmaW5lIFNURE9fREJHX09GRl9FVkVOVF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgU1RET19EQkdfT0ZGX0VWRU5UX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fREJHX09GRl9FVkVOVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBTVERPX0RCR19PRkZfRVZFTlRfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBTVERPX0RCR19PRkZfRVZFTlRfREJHX09GRl9FVkVOVF9USU1FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RET19EQkdfT0ZGX0VWRU5UX0RCR19PRkZfRVZFTlRfVElNRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBTVERPX0RCR19PRkZfRVZFTlRfREJHX09GRl9FVkVOVF9USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGRikKKworI2RlZmluZSBTVERPX1RUUl9PTl9FVkVOVF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFNURE9fVFRSX09OX0VWRU5UX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX1RUUl9PTl9FVkVOVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgU1RET19UVFJfT05fRVZFTlRfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgU1RET19UVFJfT05fRVZFTlRfVFRSX09OX0VWRU5UX1RJTUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNURE9fVFRSX09OX0VWRU5UX1RUUl9PTl9FVkVOVF9USU1FX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgU1RET19UVFJfT05fRVZFTlRfVFRSX09OX0VWRU5UX1RJTUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkMpCisKKyNkZWZpbmUgU1RET19UVFJfT0ZGX0VWRU5UX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBTVERPX1RUUl9PRkZfRVZFTlRfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19UVFJfT0ZGX0VWRU5UX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIFNURE9fVFRSX09GRl9FVkVOVF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIFNURE9fVFRSX09GRl9FVkVOVF9UVFJfT0ZGX0VWRU5UX1RJTUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVERPX1RUUl9PRkZfRVZFTlRfVFRSX09GRl9FVkVOVF9USU1FX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTgpCisjZGVmaW5lIFNURE9fVFRSX09GRl9FVkVOVF9UVFJfT0ZGX0VWRU5UX1RJTUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZDKQorCisjZGVmaW5lIFNURE9fRFZGU19FVkVOVF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgU1RET19EVkZTX0VWRU5UX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fRFZGU19FVkVOVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBTVERPX0RWRlNfRVZFTlRfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBTVERPX0RWRlNfRVZFTlRfTU9ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzApCisjZGVmaW5lIFNURE9fRFZGU19FVkVOVF9NT0RFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX0RWRlNfRVZFTlRfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMCkKKyNkZWZpbmUgU1RET19EVkZTX0VWRU5UX01PREVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4NDAwMDAwMDApCisKKyNkZWZpbmUgU1RET19EVkZTX0VWRU5UX0RWRlNfRVZOVF9USU1FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNURE9fRFZGU19FVkVOVF9EVkZTX0VWTlRfVElNRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgU1RET19EVkZTX0VWRU5UX0RWRlNfRVZOVF9USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkMpCisKKyNkZWZpbmUgU1RET19SWF9CU0lSRF9FVkVOVF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBTVERPX1JYX0JTSVJEX0VWRU5UX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19SWF9CU0lSRF9FVkVOVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIFNURE9fUlhfQlNJUkRfRVZFTlRfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIFNURE9fUlhfQlNJUkRfRVZFTlRfUlhfQlNJUkRfRVZOVF9USU1FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVERPX1JYX0JTSVJEX0VWRU5UX1JYX0JTSVJEX0VWTlRfVElNRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTgpCisjZGVmaW5lIFNURE9fUlhfQlNJUkRfRVZFTlRfUlhfQlNJUkRfRVZOVF9USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZDKQorCisjZGVmaW5lIFNURE9fUlhfQlNJX0VWRU5UX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgU1RET19SWF9CU0lfRVZFTlRfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fUlhfQlNJX0VWRU5UX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBTVERPX1JYX0JTSV9FVkVOVF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBTVERPX1JYX0JTSV9FVkVOVF9SWF9CU0lfRVZOVF9USU1FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1RET19SWF9CU0lfRVZFTlRfUlhfQlNJX0VWTlRfVElNRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE4KQorI2RlZmluZSBTVERPX1JYX0JTSV9FVkVOVF9SWF9CU0lfRVZOVF9USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGQykKKworI2RlZmluZSBTVERPX1JYX01JUElfRVZFTlRfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFNURE9fUlhfTUlQSV9FVkVOVF9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX1JYX01JUElfRVZFTlRfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgU1RET19SWF9NSVBJX0VWRU5UX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgU1RET19SWF9NSVBJX0VWRU5UX1JYX01JUElfRVZOVF9USU1FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNURE9fUlhfTUlQSV9FVkVOVF9SWF9NSVBJX0VWTlRfVElNRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgU1RET19SWF9NSVBJX0VWRU5UX1JYX01JUElfRVZOVF9USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkMpCisKKyNkZWZpbmUgU1RET19SWF9CUElfRVZFTlRfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBTVERPX1JYX0JQSV9FVkVOVF9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19SWF9CUElfRVZFTlRfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIFNURE9fUlhfQlBJX0VWRU5UX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIFNURE9fUlhfQlBJX0VWRU5UX1JYX0JQSV9FVkVOVF9USU1FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVERPX1JYX0JQSV9FVkVOVF9SWF9CUElfRVZFTlRfVElNRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTgpCisjZGVmaW5lIFNURE9fUlhfQlBJX0VWRU5UX1JYX0JQSV9FVkVOVF9USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZDKQorCisjZW5kaWYgLy8jaWZuZGVmIF9DUEhfRVZET19SWF9FVkVOVEdFTl9IXwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGV2ZG9yeGV2ZW50Z2VuXzk1LmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoZXZkb3J4ZXZlbnRnZW5fOTUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xN2NmYWYxCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGV2ZG9yeGV2ZW50Z2VuXzk1LmgKQEAgLTAsMCArMSw1ODcgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhfRVZET19SWF9FVkVOVEdFTl9IXworI2RlZmluZSBfQ1BIX0VWRE9fUlhfRVZFTlRHRU5fSF8KKworCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBTUkFNQUREUjsgICAgICAgICAvKiBTUkFNIGFkZHIgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIFNSQU1EQVRBOyAgICAgICAgIC8qIFNSQU0gZGF0YSBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogQVBCQUREUjsgICAgICAgICAgLyogQVBCIGFkZHIgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBBUEJEQVRBOyAgICAgICAgICAvKiBBUEIgZGF0YSBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyogIEFQQkFERFIzMjsgICAgICAgIC8qIEFQQiBhZGRyIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICAgQVBCREFUQTMyOyAgICAgICAgLyogQVBCIGRhdGEgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBEUFJBTUFERFI7ICAgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgc2lnbmVkICAgc2hvcnQqIERQUkFNQUREUl9TOyAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgRFBSQU1EQVRBOyAgICAgICAgLyogRFBSQU0gZGF0YSBpcyAxNiBiaXRzICovCisKKworI2RlZmluZSBTVERPX1JYX0VWRU5UR0VOX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhBNjIyMDAwMCkKKyNkZWZpbmUgU1RET19SWF9FVkVOVEdFTl9lbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFNURE9fUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAxMzAgKyAxKjQpCisKKworI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX09GRlNFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RET19SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDAwMCkpCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVERPX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMDA0KSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9PRkZTRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNURE9fUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwMDgpKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RET19SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDAwQykpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVERPX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMDEwKSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNURE9fUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwMTQpKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RET19SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDAxOCkpCisjZGVmaW5lIFNURE9fUlhERkVfT05fRVZFTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVERPX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMDFDKSkKKyNkZWZpbmUgU1RET19SWERGRV9PRkZfRVZFTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNURE9fUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwMjApKQorI2RlZmluZSBTVERPX0RCR19PTl9FVkVOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RET19SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDAyNCkpCisjZGVmaW5lIFNURE9fREJHX09GRl9FVkVOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVERPX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMDI4KSkKKyNkZWZpbmUgU1RET19UVFJfT05fRVZFTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNURE9fUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwMkMpKQorI2RlZmluZSBTVERPX1RUUl9PRkZfRVZFTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RET19SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDAzMCkpCisjZGVmaW5lIFNURE9fRFZGU19FVkVOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVERPX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMDM0KSkKKyNkZWZpbmUgU1RET19SWF9CU0lSRF9FVkVOVChuKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNURE9fUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDBGMzAgKyAobikqNCkpICAgLy9uIGlzIGZyb20gMCB0byAyCisjZGVmaW5lIFNURE9fUlhfQlNJX0VWRU5UKG4pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVERPX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgxMDMwICsgKG4pKjQpKSAgIC8vbiBpcyBmcm9tIDAgdG8gNDQKKyNkZWZpbmUgU1RET19SWF9NSVBJX0VWRU5UKG4pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNURE9fUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDIwMDAgKyAobikqNCkpICAgLy9uIGlzIGZyb20gMCB0byA3NgorI2RlZmluZSBTVERPX1JYX0JQSV9FVkVOVChuKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RET19SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MzAwMCArIChuKSo0KSkgICAvL24gaXMgZnJvbSAwIHRvIDMzCisKKworCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfT0ZGU0VUX0NISVBfT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX09GRlNFVF9DSElQX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfT0ZGU0VUX0NISVBfT0ZGU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAzRkZDKQorCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0sxNV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzE1X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0sxNV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLMTVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLMTRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0sxNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLMTRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzE0X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzEzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLMTNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzEzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0sxM19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0sxMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzEyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0sxMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLMTJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLMTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0sxMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLMTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzExX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzEwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLMTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzEwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0sxMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0s5X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLOV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzlfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0s5X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0s4X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLOF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0s4X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0s3X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLN19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0s3X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0s2X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLNl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0s2X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0s1X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLNV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0s1X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0s0X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0s0X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0szX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0szX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0syX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0syX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0sxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0sxX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0swX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0swX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfT0ZGU0VUX0NISVBfT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX09GRlNFVF9DSElQX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfT0ZGU0VUX0NISVBfT0ZGU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAzRkZDKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0sxNV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzE1X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0sxNV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLMTVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLMTRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0sxNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLMTRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzE0X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzEzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLMTNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzEzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0sxM19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0sxMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzEyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0sxMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLMTJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLMTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0sxMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLMTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzExX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzEwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLMTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzEwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0sxMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0s5X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLOV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzlfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0s5X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0s4X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLOF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0s4X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0s3X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLN19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0s3X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0s2X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLNl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0s2X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0s1X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLNV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0s1X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0s0X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0s0X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0szX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0szX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0syX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0syX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0sxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0sxX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0swX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfTVNLMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLX01TSzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS19NU0swX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjE1X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSMTVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjE1X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFIxNV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFIxNF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjE0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFIxNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSMTRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSMTNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFIxM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSMTNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjEzX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjEyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSMTJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjEyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFIxMl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFIxMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFIxMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSMTFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSMTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFIxMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSMTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjEwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjlfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFI5X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSOV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjlfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFI4X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSOF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjhfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFI3X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSN19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFI2X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSNl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFI1X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSNV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFI0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFIzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFIyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFIxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl9DTFIwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfQ0xSMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSX0NMUjBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzE1X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDMTVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzE1X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkMxNV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkMxNF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzE0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkMxNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDMTRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDMTNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkMxM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDMTNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzEzX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzEyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDMTJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzEyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkMxMl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkMxMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkMxMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDMTFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDMTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkMxMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDMTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzEwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzlfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkM5X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDOV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzlfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkM4X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDOF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzhfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkM3X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDN19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkM2X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDNl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkM1X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDNV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkM0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkMzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkMyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkMxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ19TUkMwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfU1JDMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDX1NSQzBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjE1X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSMTVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjE1X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1IxNV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1IxNF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjE0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1IxNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSMTRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSMTNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1IxM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSMTNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjEzX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjEyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSMTJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjEyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1IxMl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1IxMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1IxMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSMTFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSMTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1IxMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSMTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjEwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjlfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1I5X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSOV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjlfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1I4X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSOF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjhfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1I3X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSN19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1I2X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSNl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1I1X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSNV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1I0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1IzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1IyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1IxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl9JU1IwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfSVNSMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSX0lTUjBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNURE9fUlhERkVfT05fRVZFTlRfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgU1RET19SWERGRV9PTl9FVkVOVF9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fUlhERkVfT05fRVZFTlRfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBTVERPX1JYREZFX09OX0VWRU5UX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBTVERPX1JYREZFX09OX0VWRU5UX1JYREZFX09OX0VWRU5UX1RJTUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1RET19SWERGRV9PTl9FVkVOVF9SWERGRV9PTl9FVkVOVF9USU1FX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE4KQorI2RlZmluZSBTVERPX1JYREZFX09OX0VWRU5UX1JYREZFX09OX0VWRU5UX1RJTUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGQykKKworI2RlZmluZSBTVERPX1JYREZFX09GRl9FVkVOVF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFNURE9fUlhERkVfT0ZGX0VWRU5UX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX1JYREZFX09GRl9FVkVOVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgU1RET19SWERGRV9PRkZfRVZFTlRfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgU1RET19SWERGRV9PRkZfRVZFTlRfUlhERkVfT0ZGX0VWRU5UX1RJTUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNURE9fUlhERkVfT0ZGX0VWRU5UX1JYREZFX09GRl9FVkVOVF9USU1FX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgU1RET19SWERGRV9PRkZfRVZFTlRfUlhERkVfT0ZGX0VWRU5UX1RJTUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkMpCisKKyNkZWZpbmUgU1RET19EQkdfT05fRVZFTlRfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBTVERPX0RCR19PTl9FVkVOVF9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19EQkdfT05fRVZFTlRfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIFNURE9fREJHX09OX0VWRU5UX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIFNURE9fREJHX09OX0VWRU5UX0RCR19PTl9FVkVOVF9USU1FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVERPX0RCR19PTl9FVkVOVF9EQkdfT05fRVZFTlRfVElNRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFNURE9fREJHX09OX0VWRU5UX0RCR19PTl9FVkVOVF9USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZGKQorCisjZGVmaW5lIFNURE9fREJHX09GRl9FVkVOVF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgU1RET19EQkdfT0ZGX0VWRU5UX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fREJHX09GRl9FVkVOVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBTVERPX0RCR19PRkZfRVZFTlRfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBTVERPX0RCR19PRkZfRVZFTlRfREJHX09GRl9FVkVOVF9USU1FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RET19EQkdfT0ZGX0VWRU5UX0RCR19PRkZfRVZFTlRfVElNRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBTVERPX0RCR19PRkZfRVZFTlRfREJHX09GRl9FVkVOVF9USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGRikKKworI2RlZmluZSBTVERPX1RUUl9PTl9FVkVOVF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFNURE9fVFRSX09OX0VWRU5UX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX1RUUl9PTl9FVkVOVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgU1RET19UVFJfT05fRVZFTlRfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgU1RET19UVFJfT05fRVZFTlRfVFRSX09OX0VWRU5UX1RJTUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNURE9fVFRSX09OX0VWRU5UX1RUUl9PTl9FVkVOVF9USU1FX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgU1RET19UVFJfT05fRVZFTlRfVFRSX09OX0VWRU5UX1RJTUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkMpCisKKyNkZWZpbmUgU1RET19UVFJfT0ZGX0VWRU5UX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBTVERPX1RUUl9PRkZfRVZFTlRfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19UVFJfT0ZGX0VWRU5UX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIFNURE9fVFRSX09GRl9FVkVOVF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIFNURE9fVFRSX09GRl9FVkVOVF9UVFJfT0ZGX0VWRU5UX1RJTUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVERPX1RUUl9PRkZfRVZFTlRfVFRSX09GRl9FVkVOVF9USU1FX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTgpCisjZGVmaW5lIFNURE9fVFRSX09GRl9FVkVOVF9UVFJfT0ZGX0VWRU5UX1RJTUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZDKQorCisjZGVmaW5lIFNURE9fRFZGU19FVkVOVF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgU1RET19EVkZTX0VWRU5UX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fRFZGU19FVkVOVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBTVERPX0RWRlNfRVZFTlRfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBTVERPX0RWRlNfRVZFTlRfTU9ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzApCisjZGVmaW5lIFNURE9fRFZGU19FVkVOVF9NT0RFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX0RWRlNfRVZFTlRfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMCkKKyNkZWZpbmUgU1RET19EVkZTX0VWRU5UX01PREVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4NDAwMDAwMDApCisKKyNkZWZpbmUgU1RET19EVkZTX0VWRU5UX0RWRlNfRVZOVF9USU1FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNURE9fRFZGU19FVkVOVF9EVkZTX0VWTlRfVElNRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgU1RET19EVkZTX0VWRU5UX0RWRlNfRVZOVF9USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkMpCisKKyNkZWZpbmUgU1RET19SWF9CU0lSRF9FVkVOVF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBTVERPX1JYX0JTSVJEX0VWRU5UX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19SWF9CU0lSRF9FVkVOVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIFNURE9fUlhfQlNJUkRfRVZFTlRfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIFNURE9fUlhfQlNJUkRfRVZFTlRfUlhfQlNJUkRfRVZOVF9USU1FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVERPX1JYX0JTSVJEX0VWRU5UX1JYX0JTSVJEX0VWTlRfVElNRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTgpCisjZGVmaW5lIFNURE9fUlhfQlNJUkRfRVZFTlRfUlhfQlNJUkRfRVZOVF9USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZDKQorCisjZGVmaW5lIFNURE9fUlhfQlNJX0VWRU5UX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgU1RET19SWF9CU0lfRVZFTlRfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fUlhfQlNJX0VWRU5UX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBTVERPX1JYX0JTSV9FVkVOVF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBTVERPX1JYX0JTSV9FVkVOVF9SWF9CU0lfRVZOVF9USU1FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1RET19SWF9CU0lfRVZFTlRfUlhfQlNJX0VWTlRfVElNRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE4KQorI2RlZmluZSBTVERPX1JYX0JTSV9FVkVOVF9SWF9CU0lfRVZOVF9USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGQykKKworI2RlZmluZSBTVERPX1JYX01JUElfRVZFTlRfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFNURE9fUlhfTUlQSV9FVkVOVF9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX1JYX01JUElfRVZFTlRfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgU1RET19SWF9NSVBJX0VWRU5UX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgU1RET19SWF9NSVBJX0VWRU5UX1JYX01JUElfRVZOVF9USU1FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNURE9fUlhfTUlQSV9FVkVOVF9SWF9NSVBJX0VWTlRfVElNRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgU1RET19SWF9NSVBJX0VWRU5UX1JYX01JUElfRVZOVF9USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkMpCisKKyNkZWZpbmUgU1RET19SWF9CUElfRVZFTlRfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBTVERPX1JYX0JQSV9FVkVOVF9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19SWF9CUElfRVZFTlRfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIFNURE9fUlhfQlBJX0VWRU5UX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIFNURE9fUlhfQlBJX0VWRU5UX1JYX0JQSV9FVkVOVF9USU1FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVERPX1JYX0JQSV9FVkVOVF9SWF9CUElfRVZFTlRfVElNRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTgpCisjZGVmaW5lIFNURE9fUlhfQlBJX0VWRU5UX1JYX0JQSV9FVkVOVF9USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZDKQorCisjZW5kaWYgLy8jaWZuZGVmIF9DUEhfRVZET19SWF9FVkVOVEdFTl9IXwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGV2ZG9yeGV2ZW50Z2VuXzk3LmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoZXZkb3J4ZXZlbnRnZW5fOTcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xODk5YTE0Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGV2ZG9yeGV2ZW50Z2VuXzk3LmgKQEAgLTAsMCArMSwzNjkgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhfRVZET19SWF9FVkVOVEdFTl9IXworI2RlZmluZSBfQ1BIX0VWRE9fUlhfRVZFTlRHRU5fSF8KKworCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBTUkFNQUREUjsgICAgICAgICAvKiBTUkFNIGFkZHIgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIFNSQU1EQVRBOyAgICAgICAgIC8qIFNSQU0gZGF0YSBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogQVBCQUREUjsgICAgICAgICAgLyogQVBCIGFkZHIgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBBUEJEQVRBOyAgICAgICAgICAvKiBBUEIgZGF0YSBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyogIEFQQkFERFIzMjsgICAgICAgIC8qIEFQQiBhZGRyIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICAgQVBCREFUQTMyOyAgICAgICAgLyogQVBCIGRhdGEgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBEUFJBTUFERFI7ICAgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgc2lnbmVkICAgc2hvcnQqIERQUkFNQUREUl9TOyAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgRFBSQU1EQVRBOyAgICAgICAgLyogRFBSQU0gZGF0YSBpcyAxNiBiaXRzICovCisKKworI2RlZmluZSBTVERPX1JYX0VWRU5UR0VOX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhBODIxMDAwMCkKKworCisjZGVmaW5lIFNURE9fUlhfRVZFTlRHRU5fZW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChTVERPX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMTAwICsgMSo0KQorCisKKworCisKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9PRkZTRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNURE9fUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwMDApKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RET19SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDAwNCkpCisjZGVmaW5lIFNURE9fUlhERkVfT05fRVZFTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVERPX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMDFDKSkKKyNkZWZpbmUgU1RET19SWERGRV9PRkZfRVZFTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNURE9fUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwMjApKQorI2RlZmluZSBTVERPX0RCR19PTl9FVkVOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RET19SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDAyNCkpCisjZGVmaW5lIFNURE9fREJHX09GRl9FVkVOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVERPX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMDI4KSkKKyNkZWZpbmUgU1RET19UVFJfT05fRVZFTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNURE9fUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwMkMpKQorI2RlZmluZSBTVERPX1RUUl9PRkZfRVZFTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RET19SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDAzMCkpCisjZGVmaW5lIFNURE9fRFZGU19FVkVOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVERPX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMDM0KSkKKyNkZWZpbmUgU1RET19XREdfRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNURE9fUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwNDApKQorI2RlZmluZSBTVERPX1dER19CT1VORF9PRkZTRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RET19SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDA0NCkpCisjZGVmaW5lIFNURE9fV0RHX0NIS1BUX1VOQ0hLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVERPX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMDQ4KSkKKyNkZWZpbmUgU1RET19XREdfQ0hLUFRfVElNRV8wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNURE9fUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwNEMpKQorI2RlZmluZSBTVERPX1dER19VUkdFTlRfU1dfQ0xSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RET19SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDA2MCkpCisjZGVmaW5lIFNURE9fV0RHX0RCRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVERPX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMDY0KSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9PRkZTRVRfMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNURE9fUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwODApKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RET19SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDA4NCkpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSXzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVERPX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMDg4KSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNURE9fUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwOEMpKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl8wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RET19SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDA5MCkpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfT0ZGU0VUXzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVERPX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMEEwKSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLXzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNURE9fUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwQTQpKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl8xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RET19SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDBBOCkpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1JDXzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVERPX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMEFDKSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNURE9fUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwQjApKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX09GRlNFVF8yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RET19SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDBDMCkpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfTUFTS18yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVERPX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMEM0KSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNURE9fUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwQzgpKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ18yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RET19SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDBDQykpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfSVNSXzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVERPX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMEQwKSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9PRkZTRVRfMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNURE9fUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwRTApKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RET19SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDBFNCkpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfQ0xSXzMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVERPX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMEU4KSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNURE9fUlhfRVZFTlRHRU5fUkVHX0JBU0UgKyAweDAwRUMpKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl8zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RET19SWF9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDBGMCkpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVERPX1JYX0VWRU5UR0VOX1JFR19CQVNFICsgMHgwMTAwKSkKKworCisKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9PRkZTRVRfQ0hJUF9PRkZTRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfT0ZGU0VUX0NISVBfT0ZGU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9PRkZTRVRfQ0hJUF9PRkZTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDNGRkMpCisKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzE1X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLMTVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzE1X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0sxNV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0sxNF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzE0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0sxNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLMTRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKworI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLMTNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0sxM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLMTNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzEzX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzEyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLMTJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzEyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0sxMl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0sxMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0sxMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLMTFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKworI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLMTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0sxMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLMTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzEwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzlfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0s5X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLOV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzlfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0s4X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLOF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzhfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0s3X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLN19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0s2X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLNl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0s1X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLNV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0s0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0szX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0syX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0sxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNURE9fUlhCUlBfRVZFTlRfTUFTS19NU0swX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX1JYQlJQX0VWRU5UX01BU0tfTVNLMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgU1RET19SWEJSUF9FVkVOVF9NQVNLX01TSzBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgU1RET19SWERGRV9PTl9FVkVOVF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBTVERPX1JYREZFX09OX0VWRU5UX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19SWERGRV9PTl9FVkVOVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIFNURE9fUlhERkVfT05fRVZFTlRfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIFNURE9fUlhERkVfT05fRVZFTlRfUlhERkVfT05fRVZFTlRfVElNRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVERPX1JYREZFX09OX0VWRU5UX1JYREZFX09OX0VWRU5UX1RJTUVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMTgpCisjZGVmaW5lIFNURE9fUlhERkVfT05fRVZFTlRfUlhERkVfT05fRVZFTlRfVElNRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZDKQorCisjZGVmaW5lIFNURE9fUlhERkVfT0ZGX0VWRU5UX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgU1RET19SWERGRV9PRkZfRVZFTlRfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fUlhERkVfT0ZGX0VWRU5UX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBTVERPX1JYREZFX09GRl9FVkVOVF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBTVERPX1JYREZFX09GRl9FVkVOVF9SWERGRV9PRkZfRVZFTlRfVElNRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1RET19SWERGRV9PRkZfRVZFTlRfUlhERkVfT0ZGX0VWRU5UX1RJTUVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDE4KQorI2RlZmluZSBTVERPX1JYREZFX09GRl9FVkVOVF9SWERGRV9PRkZfRVZFTlRfVElNRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGQykKKworI2RlZmluZSBTVERPX0RCR19PTl9FVkVOVF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFNURE9fREJHX09OX0VWRU5UX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX0RCR19PTl9FVkVOVF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgU1RET19EQkdfT05fRVZFTlRfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgU1RET19EQkdfT05fRVZFTlRfREJHX09OX0VWRU5UX1RJTUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNURE9fREJHX09OX0VWRU5UX0RCR19PTl9FVkVOVF9USU1FX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgU1RET19EQkdfT05fRVZFTlRfREJHX09OX0VWRU5UX1RJTUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkYpCisKKyNkZWZpbmUgU1RET19EQkdfT0ZGX0VWRU5UX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBTVERPX0RCR19PRkZfRVZFTlRfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19EQkdfT0ZGX0VWRU5UX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIFNURE9fREJHX09GRl9FVkVOVF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIFNURE9fREJHX09GRl9FVkVOVF9EQkdfT0ZGX0VWRU5UX1RJTUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVERPX0RCR19PRkZfRVZFTlRfREJHX09GRl9FVkVOVF9USU1FX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFNURE9fREJHX09GRl9FVkVOVF9EQkdfT0ZGX0VWRU5UX1RJTUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZGKQorCisjZGVmaW5lIFNURE9fVFRSX09OX0VWRU5UX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgU1RET19UVFJfT05fRVZFTlRfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fVFRSX09OX0VWRU5UX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBTVERPX1RUUl9PTl9FVkVOVF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBTVERPX1RUUl9PTl9FVkVOVF9UVFJfT05fRVZFTlRfVElNRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1RET19UVFJfT05fRVZFTlRfVFRSX09OX0VWRU5UX1RJTUVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE4KQorI2RlZmluZSBTVERPX1RUUl9PTl9FVkVOVF9UVFJfT05fRVZFTlRfVElNRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGQykKKworI2RlZmluZSBTVERPX1RUUl9PRkZfRVZFTlRfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFNURE9fVFRSX09GRl9FVkVOVF9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX1RUUl9PRkZfRVZFTlRfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgU1RET19UVFJfT0ZGX0VWRU5UX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgU1RET19UVFJfT0ZGX0VWRU5UX1RUUl9PRkZfRVZFTlRfVElNRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNURE9fVFRSX09GRl9FVkVOVF9UVFJfT0ZGX0VWRU5UX1RJTUVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgU1RET19UVFJfT0ZGX0VWRU5UX1RUUl9PRkZfRVZFTlRfVElNRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkMpCisKKyNkZWZpbmUgU1RET19EVkZTX0VWRU5UX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBTVERPX0RWRlNfRVZFTlRfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19EVkZTX0VWRU5UX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIFNURE9fRFZGU19FVkVOVF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIFNURE9fRFZGU19FVkVOVF9NT0RFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMCkKKyNkZWZpbmUgU1RET19EVkZTX0VWRU5UX01PREVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fRFZGU19FVkVOVF9NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDQwMDAwMDAwKQorI2RlZmluZSBTVERPX0RWRlNfRVZFTlRfTU9ERV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMCkKKworI2RlZmluZSBTVERPX0RWRlNfRVZFTlRfRFZGU19FVk5UX1RJTUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1RET19EVkZTX0VWRU5UX0RWRlNfRVZOVF9USU1FX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE4KQorI2RlZmluZSBTVERPX0RWRlNfRVZFTlRfRFZGU19FVk5UX1RJTUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGQykKKworI2RlZmluZSBTVERPX1dER19FTl9XREdfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RET19XREdfRU5fV0RHX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fV0RHX0VOX1dER19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBTVERPX1dER19FTl9XREdfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBTVERPX1dER19CT1VORF9PRkZTRVRfV0RHX0JPVU5EX09GRlNFVF8wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgU1RET19XREdfQk9VTkRfT0ZGU0VUX1dER19CT1VORF9PRkZTRVRfMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBTVERPX1dER19CT1VORF9PRkZTRVRfV0RHX0JPVU5EX09GRlNFVF8wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwM0ZGOCkKKworI2RlZmluZSBTVERPX1dER19DSEtQVF9VTkNIS19XREdfQ0hLUFRfMF9VTkNIS19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RET19XREdfQ0hLUFRfVU5DSEtfV0RHX0NIS1BUXzBfVU5DSEtfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fV0RHX0NIS1BUX1VOQ0hLX1dER19DSEtQVF8wX1VOQ0hLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBTVERPX1dER19DSEtQVF9VTkNIS19XREdfQ0hLUFRfMF9VTkNIS19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBTVERPX1dER19DSEtQVF9USU1FXzBfV0RHX0NIS1BUX1RJTUVfMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgU1RET19XREdfQ0hLUFRfVElNRV8wX1dER19DSEtQVF9USU1FXzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE3KQorI2RlZmluZSBTVERPX1dER19DSEtQVF9USU1FXzBfV0RHX0NIS1BUX1RJTUVfMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGOCkKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX09GRlNFVF8wX0NISVBfT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgU1RET191U0lQX0lSUV9PRkZTRVRfMF9DSElQX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX09GRlNFVF8wX0NISVBfT0ZGU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMUZGOCkKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfMF9NU0tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLXzBfTVNLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfMF9NU0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl8wX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfMF9DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl8wX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ18wX1NSQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfMF9TUkNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ18wX1NSQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl8wX0lTUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfMF9JU1JfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl8wX0lTUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX09GRlNFVF8xX0NISVBfT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgU1RET191U0lQX0lSUV9PRkZTRVRfMV9DSElQX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX09GRlNFVF8xX0NISVBfT0ZGU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMUZGOCkKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfMV9NU0tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLXzFfTVNLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfMV9NU0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl8xX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfMV9DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl8xX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ18xX1NSQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfMV9TUkNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ18xX1NSQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl8xX0lTUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfMV9JU1JfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl8xX0lTUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX09GRlNFVF8yX0NISVBfT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgU1RET191U0lQX0lSUV9PRkZTRVRfMl9DSElQX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX09GRlNFVF8yX0NISVBfT0ZGU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMUZGOCkKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfMl9NU0tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLXzJfTVNLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfMl9NU0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl8yX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfMl9DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl8yX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ18yX1NSQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfMl9TUkNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ18yX1NSQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl8yX0lTUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfMl9JU1JfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl8yX0lTUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX09GRlNFVF8zX0NISVBfT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgU1RET191U0lQX0lSUV9PRkZTRVRfM19DSElQX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX09GRlNFVF8zX0NISVBfT0ZGU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMUZGOCkKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfM19NU0tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9NQVNLXzNfTVNLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX01BU0tfM19NU0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl8zX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9DTFJfM19DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0NMUl8zX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ18zX1NSQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TUkNfM19TUkNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NSQ18zX1NSQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl8zX0lTUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9JU1JfM19JU1JfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX0lTUl8zX0lTUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX1NUQVRVU19TVEFUVVNfSVJRXzNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TVEFUVVNfU1RBVFVTX0lSUV8zX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1RBVFVTX1NUQVRVU19JUlFfM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NUQVRVU19TVEFUVVNfSVJRXzNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX1NUQVRVU19TVEFUVVNfSVJRXzJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TVEFUVVNfU1RBVFVTX0lSUV8yX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1RBVFVTX1NUQVRVU19JUlFfMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NUQVRVU19TVEFUVVNfSVJRXzJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX1NUQVRVU19TVEFUVVNfSVJRXzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TVEFUVVNfU1RBVFVTX0lSUV8xX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1RBVFVTX1NUQVRVU19JUlFfMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NUQVRVU19TVEFUVVNfSVJRXzFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBTVERPX3VTSVBfSVJRX1NUQVRVU19TVEFUVVNfSVJRXzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RET191U0lQX0lSUV9TVEFUVVNfU1RBVFVTX0lSUV8wX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNURE9fdVNJUF9JUlFfU1RBVFVTX1NUQVRVU19JUlFfMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBTVERPX3VTSVBfSVJRX1NUQVRVU19TVEFUVVNfSVJRXzBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworCisjZW5kaWYgLy8jaWZuZGVmIF9DUEhfRVZET19SWF9FVkVOVEdFTl9IXwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGV2ZG9yeHNscC5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGV2ZG9yeHNscC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNkY2JkNzYKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoZXZkb3J4c2xwLmgKQEAgLTAsMCArMSwyMTIgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhfRVZET19SWF9TTFBfSF8KKyNkZWZpbmUgX0NQSF9FVkRPX1JYX1NMUF9IXworCisKK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIFNSQU1BRERSOyAgICAgICAgIC8qIFNSQU0gYWRkciBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgU1JBTURBVEE7ICAgICAgICAgLyogU1JBTSBkYXRhIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBBUEJBRERSOyAgICAgICAgICAvKiBBUEIgYWRkciBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIEFQQkRBVEE7ICAgICAgICAgIC8qIEFQQiBkYXRhIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nKiAgQVBCQUREUjMyOyAgICAgICAgLyogQVBCIGFkZHIgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgICBBUEJEQVRBMzI7ICAgICAgICAvKiBBUEIgZGF0YSBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIERQUkFNQUREUjsgICAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSBzaWduZWQgICBzaG9ydCogRFBSQU1BRERSX1M7ICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBEUFJBTURBVEE7ICAgICAgICAvKiBEUFJBTSBkYXRhIGlzIDE2IGJpdHMgKi8KKworCisjZGVmaW5lIFNURE9fUlhfU0xQX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAwKQorCisjZGVmaW5lIFNURE9fUlhfU0xQX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChTVERPX1JYX1NMUF9SRUdfQkFTRSArIDB4QTYwRjAwNjAgKyAxKjQpCisKKworCisjZGVmaW5lIFNURE9fU01fQ09OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVERPX1JYX1NMUF9SRUdfQkFTRSArIDB4QTYwRjAwMDApKQorI2RlZmluZSBTVERPX1NNX1BBVVNFX1RJTUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RET19SWF9TTFBfUkVHX0JBU0UgKyAweEE2MEYwMDA0KSkKKyNkZWZpbmUgU1RET19TTV9TVEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNURE9fUlhfU0xQX1JFR19CQVNFICsgMHhBNjBGMDAwOCkpCisjZGVmaW5lIFNURE9fU01fQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVERPX1JYX1NMUF9SRUdfQkFTRSArIDB4QTYwRjAwMEMpKQorI2RlZmluZSBTVERPX1NNX1NUQVJUX1RJTUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RET19SWF9TTFBfUkVHX0JBU0UgKyAweEE2MEYwMDEwKSkKKyNkZWZpbmUgU1RET19TTV9TV19XQUtFX0NPTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNURE9fUlhfU0xQX1JFR19CQVNFICsgMHhBNjBGMDAxNCkpCisjZGVmaW5lIFNURE9fU01fU1RFUF9GUkFDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVERPX1JYX1NMUF9SRUdfQkFTRSArIDB4QTYwRjAwMTgpKQorI2RlZmluZSBTVERPX1NNX1NZU0NOVF9GMzJLX0lOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RET19SWF9TTFBfUkVHX0JBU0UgKyAweEE2MEYwMDFDKSkKKyNkZWZpbmUgU1RET19TTV9TWVNDTlRfRjMyS19GUkFDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNURE9fUlhfU0xQX1JFR19CQVNFICsgMHhBNjBGMDAyMCkpCisjZGVmaW5lIFNURE9fU01fU1VQRlJNX0YzMktfTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVERPX1JYX1NMUF9SRUdfQkFTRSArIDB4QTYwRjAwMjQpKQorI2RlZmluZSBTVERPX1NNX1NVUEZSTV9GMzJLX0ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RET19SWF9TTFBfUkVHX0JBU0UgKyAweEE2MEYwMDI4KSkKKyNkZWZpbmUgU1RET19TTV9TTEVFUF9PRkZTRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNURE9fUlhfU0xQX1JFR19CQVNFICsgMHhBNjBGMDAyQykpCisjZGVmaW5lIFNURE9fU01fVElNRV9TVEFSVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVERPX1JYX1NMUF9SRUdfQkFTRSArIDB4QTYwRjAwMzApKQorI2RlZmluZSBTVERPX1NNX1NVUEZSTV9USU1FX0xfU1RBUlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RET19SWF9TTFBfUkVHX0JBU0UgKyAweEE2MEYwMDM0KSkKKyNkZWZpbmUgU1RET19TTV9TVVBGUk1fVElNRV9IX1NUQVJUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNURE9fUlhfU0xQX1JFR19CQVNFICsgMHhBNjBGMDAzOCkpCisjZGVmaW5lIFNURE9fU01fVElNRV9TTFRCRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVERPX1JYX1NMUF9SRUdfQkFTRSArIDB4QTYwRjAwM0MpKQorI2RlZmluZSBTVERPX1NNX1NVUEZSTV9USU1FX0xfU0xUQkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RET19SWF9TTFBfUkVHX0JBU0UgKyAweEE2MEYwMDQwKSkKKyNkZWZpbmUgU1RET19TTV9TVVBGUk1fVElNRV9IX1NMVEJEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNURE9fUlhfU0xQX1JFR19CQVNFICsgMHhBNjBGMDA0NCkpCisjZGVmaW5lIFNURE9fU01fVElNRV9XQUtFVVBfU1RBUlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVERPX1JYX1NMUF9SRUdfQkFTRSArIDB4QTYwRjAwNDgpKQorI2RlZmluZSBTVERPX1NNX1NVUEZSTV9USU1FX0xfV0FLRVVQX1NUQVJUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RET19SWF9TTFBfUkVHX0JBU0UgKyAweEE2MEYwMDRDKSkKKyNkZWZpbmUgU1RET19TTV9TVVBGUk1fVElNRV9IX1dBS0VVUF9TVEFSVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNURE9fUlhfU0xQX1JFR19CQVNFICsgMHhBNjBGMDA1MCkpCisjZGVmaW5lIFNURE9fU01fRklOQUxfUEFVU0VfRFVSQVRJT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVERPX1JYX1NMUF9SRUdfQkFTRSArIDB4QTYwRjAwNTQpKQorI2RlZmluZSBTVERPX1NNX1BSRVNMUF9DTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RET19SWF9TTFBfUkVHX0JBU0UgKyAweEE2MEYwMDU4KSkKKyNkZWZpbmUgU1RET19TTV9TTFRfU1RBUlRfRjMySyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNURE9fUlhfU0xQX1JFR19CQVNFICsgMHhBNjBGMDA1QykpCisjZGVmaW5lIFNURE9fU01fV0FLRVVQX1NUQVJUX0YzMksgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVERPX1JYX1NMUF9SRUdfQkFTRSArIDB4QTYwRjAwNjApKQorCisKKyNkZWZpbmUgU1RET19TTV9DT05fQ0xSX0NOVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBTVERPX1NNX0NPTl9DTFJfQ05UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19TTV9DT05fQ0xSX0NOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisjZGVmaW5lIFNURE9fU01fQ09OX0NMUl9DTlRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorCisjZGVmaW5lIFNURE9fU01fQ09OX1BBVVNFX1NUQVJUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX1NNX0NPTl9QQVVTRV9TVEFSVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19TTV9DT05fUEFVU0VfU1RBUlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFNURE9fU01fQ09OX1BBVVNFX1NUQVJUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFNURE9fU01fQ09OX1BBVVNFX01PREVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVERPX1NNX0NPTl9QQVVTRV9NT0RFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19TTV9DT05fUEFVU0VfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNURE9fU01fQ09OX1BBVVNFX01PREVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNURE9fU01fUEFVU0VfVElNRV9QQVVTRV9USU1FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVERPX1NNX1BBVVNFX1RJTUVfUEFVU0VfVElNRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFNURE9fU01fUEFVU0VfVElNRV9QQVVTRV9USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFNURE9fU01fU1RBX1NMUF9FWElUX0NQTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTVERPX1NNX1NUQV9TTFBfRVhJVF9DUExfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19TTV9TVEFfU0xQX0VYSVRfQ1BMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFNURE9fU01fU1RBX1NMUF9FWElUX0NQTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFNURE9fU01fU1RBX1BBVVNFX0NQTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTVERPX1NNX1NUQV9QQVVTRV9DUExfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19TTV9TVEFfUEFVU0VfQ1BMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFNURE9fU01fU1RBX1BBVVNFX0NQTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFNURE9fU01fQ0ZHX1NXX1dBS0VfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBTVERPX1NNX0NGR19TV19XQUtFX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19TTV9DRkdfU1dfV0FLRV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFNURE9fU01fQ0ZHX1NXX1dBS0VfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFNURE9fU01fQ0ZHX0lSUV9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVERPX1NNX0NGR19JUlFfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19TTV9DRkdfSVJRX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFNURE9fU01fQ0ZHX0lSUV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFNURE9fU01fU1RBUlRfVElNRV9TWVNURU1fVElNRV9DTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVERPX1NNX1NUQVJUX1RJTUVfU1lTVEVNX1RJTUVfQ05UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTgpCisjZGVmaW5lIFNURE9fU01fU1RBUlRfVElNRV9TWVNURU1fVElNRV9DTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZDKQorCisjZGVmaW5lIFNURE9fU01fU1dfV0FLRV9DT05fU1dfRVZFTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVERPX1NNX1NXX1dBS0VfQ09OX1NXX0VWRU5UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RET19TTV9TV19XQUtFX0NPTl9TV19FVkVOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNURE9fU01fU1dfV0FLRV9DT05fU1dfRVZFTlRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNURE9fU01fU1RFUF9GUkFDX1NURVBfSU5UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgU1RET19TTV9TVEVQX0ZSQUNfU1RFUF9JTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNURE9fU01fU1RFUF9GUkFDX1NURVBfSU5UX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA3RkMwMDAwKQorCisjZGVmaW5lIFNURE9fU01fU1RFUF9GUkFDX1NURVBfRlJBQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVERPX1NNX1NURVBfRlJBQ19TVEVQX0ZSQUNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTgpCisjZGVmaW5lIFNURE9fU01fU1RFUF9GUkFDX1NURVBfRlJBQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDNGRkZGKQorCisjZGVmaW5lIFNURE9fU01fU1lTQ05UX0YzMktfSU5UX1NZU0NOVF9GMzJLX0lOVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVERPX1NNX1NZU0NOVF9GMzJLX0lOVF9TWVNDTlRfRjMyS19JTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFNURE9fU01fU1lTQ05UX0YzMktfSU5UX1NZU0NOVF9GMzJLX0lOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZGKQorCisjZGVmaW5lIFNURE9fU01fU1lTQ05UX0YzMktfRlJBQ19TWVNDTlRfRjMyS19GUkFDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVERPX1NNX1NZU0NOVF9GMzJLX0ZSQUNfU1lTQ05UX0YzMktfRlJBQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMTgpCisjZGVmaW5lIFNURE9fU01fU1lTQ05UX0YzMktfRlJBQ19TWVNDTlRfRjMyS19GUkFDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDNGRkZGKQorCisjZGVmaW5lIFNURE9fU01fU1VQRlJNX0YzMktfTF9TVVBGUk1fQ05UX0YzMktfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVERPX1NNX1NVUEZSTV9GMzJLX0xfU1VQRlJNX0NOVF9GMzJLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFNURE9fU01fU1VQRlJNX0YzMktfTF9TVVBGUk1fQ05UX0YzMktfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFNURE9fU01fU1VQRlJNX0YzMktfSF9TVVBGUk1fQ05UX0YzMktfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVERPX1NNX1NVUEZSTV9GMzJLX0hfU1VQRlJNX0NOVF9GMzJLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgU1RET19TTV9TVVBGUk1fRjMyS19IX1NVUEZSTV9DTlRfRjMyS19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgU1RET19TTV9TTEVFUF9PRkZTRVRfQ0hJUF9PRkZTRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNURE9fU01fU0xFRVBfT0ZGU0VUX0NISVBfT0ZGU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgU1RET19TTV9TTEVFUF9PRkZTRVRfQ0hJUF9PRkZTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkMpCisKKyNkZWZpbmUgU1RET19TTV9USU1FX1NUQVJUX1NNX1RJTUVfU1RBUlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNURE9fU01fVElNRV9TVEFSVF9TTV9USU1FX1NUQVJUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgU1RET19TTV9USU1FX1NUQVJUX1NNX1RJTUVfU1RBUlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkYpCisKKyNkZWZpbmUgU1RET19TTV9TVVBGUk1fVElNRV9MX1NUQVJUX1NNX1NVUEZSTV9USU1FX1NUQVJUX0xTQiAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNURE9fU01fU1VQRlJNX1RJTUVfTF9TVEFSVF9TTV9TVVBGUk1fVElNRV9TVEFSVF9XSURUSCAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgU1RET19TTV9TVVBGUk1fVElNRV9MX1NUQVJUX1NNX1NVUEZSTV9USU1FX1NUQVJUX01BU0sgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgU1RET19TTV9TVVBGUk1fVElNRV9IX1NUQVJUX1NNX1NVUEZSTV9USU1FX1NUQVJUX0xTQiAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNURE9fU01fU1VQRlJNX1RJTUVfSF9TVEFSVF9TTV9TVVBGUk1fVElNRV9TVEFSVF9XSURUSCAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBTVERPX1NNX1NVUEZSTV9USU1FX0hfU1RBUlRfU01fU1VQRlJNX1RJTUVfU1RBUlRfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBTVERPX1NNX1RJTUVfU0xUQkRfU01fVElNRV9TTFRCRF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RET19TTV9USU1FX1NMVEJEX1NNX1RJTUVfU0xUQkRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBTVERPX1NNX1RJTUVfU0xUQkRfU01fVElNRV9TTFRCRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGRikKKworI2RlZmluZSBTVERPX1NNX1NVUEZSTV9USU1FX0xfU0xUQkRfU01fU1VQRlJNX1RJTUVfU0xUQkRfTFNCICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RET19TTV9TVVBGUk1fVElNRV9MX1NMVEJEX1NNX1NVUEZSTV9USU1FX1NMVEJEX1dJRFRIICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBTVERPX1NNX1NVUEZSTV9USU1FX0xfU0xUQkRfU01fU1VQRlJNX1RJTUVfU0xUQkRfTUFTSyAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBTVERPX1NNX1NVUEZSTV9USU1FX0hfU0xUQkRfU01fU1VQRlJNX1RJTUVfU0xUQkRfTFNCICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RET19TTV9TVVBGUk1fVElNRV9IX1NMVEJEX1NNX1NVUEZSTV9USU1FX1NMVEJEX1dJRFRIICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFNURE9fU01fU1VQRlJNX1RJTUVfSF9TTFRCRF9TTV9TVVBGUk1fVElNRV9TTFRCRF9NQVNLICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIFNURE9fU01fVElNRV9XQUtFVVBfU1RBUlRfU01fVElNRV9XQUtFVVBfU1RBUlRfTFNCICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVERPX1NNX1RJTUVfV0FLRVVQX1NUQVJUX1NNX1RJTUVfV0FLRVVQX1NUQVJUX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFNURE9fU01fVElNRV9XQUtFVVBfU1RBUlRfU01fVElNRV9XQUtFVVBfU1RBUlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZGKQorCisjZGVmaW5lIFNURE9fU01fU1VQRlJNX1RJTUVfTF9XQUtFVVBfU1RBUlRfU01fU1VQRlJNX1dBS0VVUF9TVEFSVF9MU0IgICAgICAgICAgICgwKQorI2RlZmluZSBTVERPX1NNX1NVUEZSTV9USU1FX0xfV0FLRVVQX1NUQVJUX1NNX1NVUEZSTV9XQUtFVVBfU1RBUlRfV0lEVEggICAgICAgICAoMzIpCisjZGVmaW5lIFNURE9fU01fU1VQRlJNX1RJTUVfTF9XQUtFVVBfU1RBUlRfU01fU1VQRlJNX1dBS0VVUF9TVEFSVF9NQVNLICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFNURE9fU01fU1VQRlJNX1RJTUVfSF9XQUtFVVBfU1RBUlRfU01fU1VQRlJNX1dBS0VVUF9TVEFSVF9MU0IgICAgICAgICAgICgwKQorI2RlZmluZSBTVERPX1NNX1NVUEZSTV9USU1FX0hfV0FLRVVQX1NUQVJUX1NNX1NVUEZSTV9XQUtFVVBfU1RBUlRfV0lEVEggICAgICAgICAoNCkKKyNkZWZpbmUgU1RET19TTV9TVVBGUk1fVElNRV9IX1dBS0VVUF9TVEFSVF9TTV9TVVBGUk1fV0FLRVVQX1NUQVJUX01BU0sgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgU1RET19TTV9GSU5BTF9QQVVTRV9EVVJBVElPTl9GSU5BTF9QQVVTRV9EVVJBVElPTl9MU0IgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNURE9fU01fRklOQUxfUEFVU0VfRFVSQVRJT05fRklOQUxfUEFVU0VfRFVSQVRJT05fV0lEVEggICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgU1RET19TTV9GSU5BTF9QQVVTRV9EVVJBVElPTl9GSU5BTF9QQVVTRV9EVVJBVElPTl9NQVNLICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgU1RET19TTV9QUkVTTFBfQ05UX1NNX1BSRVNMUF9DTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNURE9fU01fUFJFU0xQX0NOVF9TTV9QUkVTTFBfQ05UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTVERPX1NNX1BSRVNMUF9DTlRfU01fUFJFU0xQX0NOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKworI2RlZmluZSBTVERPX1NNX1NMVF9TVEFSVF9GMzJLX1NNX1NMVF9TVEFSVF9GMzJLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RET19TTV9TTFRfU1RBUlRfRjMyS19TTV9TTFRfU1RBUlRfRjMyS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFNURE9fU01fU0xUX1NUQVJUX0YzMktfU01fU0xUX1NUQVJUX0YzMktfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDNGKQorCisjZGVmaW5lIFNURE9fU01fV0FLRVVQX1NUQVJUX0YzMktfU01fV0FLRVVQX1NUQVJUX0YzMktfTFNCICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVERPX1NNX1dBS0VVUF9TVEFSVF9GMzJLX1NNX1dBS0VVUF9TVEFSVF9GMzJLX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFNURE9fU01fV0FLRVVQX1NUQVJUX0YzMktfU01fV0FLRVVQX1NUQVJUX0YzMktfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisKKyNlbmRpZiAvLyNpZm5kZWYgX0NQSF9FVkRPX1JYX1NMUF9IXwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGV2ZG9zY2hyZWcuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhldmRvc2NocmVnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzM2YThkNQotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhldmRvc2NocmVnLmgKQEAgLTAsMCArMSw0MiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiBkZWZpbmVkKF9fTUQ5M19fKQorI2luY2x1ZGUgImNwaGV2ZG9zY2hyZWdfOTMuaCIKKyNlbGlmIGRlZmluZWQoX19NRDk1X18pCisjaW5jbHVkZSAiY3BoZXZkb3NjaHJlZ185NS5oIgorI2Vsc2UKKyNpbmNsdWRlICJjcGhldmRvc2NocmVnXzk3LmgiCisjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGV2ZG9zY2hyZWdfOTMuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhldmRvc2NocmVnXzkzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTQwYjkzMAotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhldmRvc2NocmVnXzkzLmgKQEAgLTAsMCArMSw1OTEgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhfRVZET19TQ0hfSF8KKyNkZWZpbmUgX0NQSF9FVkRPX1NDSF9IXworCisKK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIFNSQU1BRERSOyAgICAgICAgIC8qIFNSQU0gYWRkciBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgU1JBTURBVEE7ICAgICAgICAgLyogU1JBTSBkYXRhIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBBUEJBRERSOyAgICAgICAgICAvKiBBUEIgYWRkciBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIEFQQkRBVEE7ICAgICAgICAgIC8qIEFQQiBkYXRhIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nKiAgQVBCQUREUjMyOyAgICAgICAgLyogQVBCIGFkZHIgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgICBBUEJEQVRBMzI7ICAgICAgICAvKiBBUEIgZGF0YSBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIERQUkFNQUREUjsgICAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSBzaWduZWQgICBzaG9ydCogRFBSQU1BRERSX1M7ICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBEUFJBTURBVEE7ICAgICAgICAvKiBEUFJBTSBkYXRhIGlzIDE2IGJpdHMgKi8KKworCisjZGVmaW5lIENTX0NET19SRUdfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEE3ODUwMDAwKQorCisjZGVmaW5lIENTX0NET19lbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChDU19DRE9fUkVHX0JBU0UgKyAweDA4MDAgKyAxKjQpCisKKworCisjZGVmaW5lIFNSRE9fU1RBUlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19DRE9fUkVHX0JBU0UgKyAweDAwMDApKQorI2RlZmluZSBTUkRPX1BBVVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfQ0RPX1JFR19CQVNFICsgMHgwMDA0KSkKKyNkZWZpbmUgU1JET19SU1QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX0NET19SRUdfQkFTRSArIDB4MDAwOCkpCisjZGVmaW5lIFNSRE9fSU5CVUZfQ1RMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19DRE9fUkVHX0JBU0UgKyAweDAwMEMpKQorI2RlZmluZSBTUkRPX0NUTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfQ0RPX1JFR19CQVNFICsgMHgwMDEwKSkKKyNkZWZpbmUgU1JET19NRU1fU0VMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX0NET19SRUdfQkFTRSArIDB4MDAxNCkpCisjZGVmaW5lIFNSRE9fR0VOU1RBVDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19DRE9fUkVHX0JBU0UgKyAweDAwMTgpKQorI2RlZmluZSBTUkRPX0dFTlNUQVQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfQ0RPX1JFR19CQVNFICsgMHgwMDFDKSkKKyNkZWZpbmUgU1JET19QQVRITUFJTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX0NET19SRUdfQkFTRSArIDB4MDAyMCkpCisjZGVmaW5lIFNSRE9fSU5CVUZfQURSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19DRE9fUkVHX0JBU0UgKyAweDAwMjQpKQorI2RlZmluZSBTUkRPX0lOQlVGX0RBVDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfQ0RPX1JFR19CQVNFICsgMHgwMDI4KSkKKyNkZWZpbmUgU1JET19TVEFUVVMwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX0NET19SRUdfQkFTRSArIDB4MDAyQykpCisjZGVmaW5lIFNSRE9fUExUSU5GT19DTFIwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19DRE9fUkVHX0JBU0UgKyAweDAwMzApKQorI2RlZmluZSBTUkRPX1BMVElORk9fQ0xSMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfQ0RPX1JFR19CQVNFICsgMHgwMDM0KSkKKyNkZWZpbmUgU1JET19QQVRISU5GT19DTFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX0NET19SRUdfQkFTRSArIDB4MDAzOCkpCisjZGVmaW5lIFNSRE9fQUNRX0NUTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19DRE9fUkVHX0JBU0UgKyAweDAwM0MpKQorI2RlZmluZSBTUkRPX1RTVENUTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfQ0RPX1JFR19CQVNFICsgMHgwMDQwKSkKKyNkZWZpbmUgU1JET19DTEtDVEwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX0NET19SRUdfQkFTRSArIDB4MDA0OCkpCisjZGVmaW5lIFNSRE9fU1RBVFVTMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19DRE9fUkVHX0JBU0UgKyAweDAwNTApKQorI2RlZmluZSBTUkRPX0lOQlVGX0RBVDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfQ0RPX1JFR19CQVNFICsgMHgwMDU0KSkKKyNkZWZpbmUgU1JET19GTkRPX01FTUNUTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX0NET19SRUdfQkFTRSArIDB4MDA1OCkpCisjZGVmaW5lIFNSRE9fVEhSRVNIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19DRE9fUkVHX0JBU0UgKyAweDAwNUMpKQorI2RlZmluZSBTUkRPX1RTVF9EQkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfQ0RPX1JFR19CQVNFICsgMHgwMDYwKSkKKyNkZWZpbmUgU1JET19ET05FICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX0NET19SRUdfQkFTRSArIDB4MDA2NCkpCisjZGVmaW5lIFNSRE9fUEFUSElORk8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19DRE9fUkVHX0JBU0UgKyAweDAwODApKQorI2RlZmluZSBTUkRPX1BMVExJU1QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfQ0RPX1JFR19CQVNFICsgMHgwMTAwKSkKKyNkZWZpbmUgU1JET19QTFRJTkZPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX0NET19SRUdfQkFTRSArIDB4MDIwMCkpCisjZGVmaW5lIFNSRE9fUEFUSEJVRiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19DRE9fUkVHX0JBU0UgKyAweDA4MDApKQorCisjaWYgMAorLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworI2VuZGlmCisvKkhXRF9TUkRPX1NUQVJUKi8gCisjZGVmaW5lIFNUQVJUX1NUQVJUX1NISUZUICAgICAgICAgICAgICAgICAgICAgMCAgICAgLyogWzBdICovCisjZGVmaW5lIFNUQVJUX1NSRE9fU1RBUlRfRExZX0VOX1NISUZUICAgICAgICAgMSAgICAgLyogWzFdICovCisjZGVmaW5lIFNUQVJUX1NSRE9fU1RBUlRfRExZX0NOVF9TSElGVCAgICAgICAgMiAgICAgLyogWzIxOjJdICovCisKKyNkZWZpbmUgU1RBUlRfU1RBUlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAxIDw8IFNUQVJUX1NUQVJUX1NISUZUICAgIAorI2RlZmluZSBTVEFSVF9TUkRPX1NUQVJUX0RMWV9FTl9NQVNLICAgICAgICAgIDB4MDAwMDAwMDEgPDwgU1RBUlRfU1JET19TVEFSVF9ETFlfRU5fU0hJRlQgICAgCisjZGVmaW5lIFNUQVJUX1NSRE9fU1RBUlRfRExZX0NOVF9NQVNLICAgICAgICAgMHgwMDBGRkZGRiA8PCBTVEFSVF9TUkRPX1NUQVJUX0RMWV9DTlRfU0hJRlQgICAgCisKKworLypIV0RfU1JET19QQVVTRSovCisjZGVmaW5lIFBBVVNFX1BBVVNFX1NISUZUICAgICAgICAgICAgICAgICAgICAgMCAgICAgLyogWzBdICovCisjZGVmaW5lIFBBVVNFX1BBVVNFX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDEgPDwgUEFVU0VfUEFVU0VfU0hJRlQgICAgICAgICAgICAgIAorCisvKkhXRF9TUkRPX1JTVCovCisjZGVmaW5lIFJTVF9SU1RfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMCAgICAgLyogWzBdICovCisjZGVmaW5lIFJTVF9SU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDEgPDwgUlNUX1JTVF9TSElGVCAgICAgICAgICAgICAgICAgIAorCisvKkhXRF9TUkRPX0lOQlVGX0NUTCovCisjZGVmaW5lIElOQlVGX0NUTF9BTlRFTk5BX0lOSVRfRU5fU0hJRlQgICAgICAxOSAgICAgLyogWzE5XSAqLworI2RlZmluZSBJTkJVRl9DVExfQU5URU5OQV9JTklUX1NISUZUICAgICAgICAgMTggICAgIC8qIFsxOF0gKi8KKyNkZWZpbmUgSU5CVUZfQ1RMX0lJUl9BX0lCX1NISUZUICAgICAgICAgICAgIDE2ICAgICAvKiBbMTc6MTZdICovCisjZGVmaW5lIElOQlVGX0NUTF9EVUFMX1NISUZUICAgICAgICAgICAgICAgICAxNSAgICAgLyogWzE1XSAqLworI2RlZmluZSBJTkJVRl9DVExfQlVSU1RfU0hJRlQgICAgICAgICAgICAgICAgMTQgICAgIC8qIFsxNF0gKi8gICAKKyNkZWZpbmUgSU5CVUZfQ1RMX0FOVF9NT0RFX1NISUZUICAgICAgICAgICAgIDEyICAgICAvKiBbMTM6MTJdICovCisjZGVmaW5lIElOQlVGX0NUTF9DQVBUVVJFX1NISUZUICAgICAgICAgICAgICAxMSAgICAgLyogWzExXSAgICAqLworI2RlZmluZSBJTkJVRl9DVExfQ0FQTEVOX1NISUZUICAgICAgICAgICAgICAgIDggICAgIC8qIFsxMDo4XSAgICovCisjZGVmaW5lIElOQlVGX0NUTF9CVUZGQ0FQVF9TSElGVCAgICAgICAgICAgICAgNCAgICAgLyogWzc6NF0gICAqLworI2RlZmluZSBJTkJVRl9DVExfQlVGRkNBUElOVF9TSElGVCAgICAgICAgICAgIDAgICAgIC8qIFszOjBdICAgKi8KKworI2RlZmluZSBJTkJVRl9BTlRFTk5BX0lOSVRfRU5fTUFTSyAgICAgICAgICAweDAwMDAwMDAxIDw8IElOQlVGX0NUTF9BTlRFTk5BX0lOSVRfRU5fU0hJRlQKKyNkZWZpbmUgSU5CVUZfQU5URU5OQV9JTklUX01BU0sgICAgICAgICAgICAgMHgwMDAwMDAwMSA8PCBJTkJVRl9DVExfQU5URU5OQV9JTklUX1NISUZUCisjZGVmaW5lIElOQlVGX0NUTF9JSVJfQV9JQl9NQVNLICAgICAgICAgICAgIDB4MDAwMDAwMDMgPDwgSU5CVUZfQ1RMX0lJUl9BX0lCX1NISUZUCisjZGVmaW5lIElOQlVGX0NUTF9EVUFMX01BU0sgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDEgPDwgSU5CVUZfQ1RMX0RVQUxfU0hJRlQKKyNkZWZpbmUgSU5CVUZfQ1RMX0JVUlNUX01BU0sgICAgICAgICAgICAgICAgMHgwMDAwMDAwMSA8PCBJTkJVRl9DVExfQlVSU1RfU0hJRlQKKyNkZWZpbmUgSU5CVUZfQ1RMX0FOVF9NT0RFX01BU0sgICAgICAgICAgICAgMHgwMDAwMDAwMyA8PCBJTkJVRl9DVExfQU5UX01PREVfU0hJRlQgICAgICAgCisjZGVmaW5lIElOQlVGX0NUTF9DQVBUVVJFX01BU0sgICAgICAgICAgICAgIDB4MDAwMDAwMDEgPDwgSU5CVUZfQ1RMX0NBUFRVUkVfU0hJRlQgICAgICAgIAorI2RlZmluZSBJTkJVRl9DVExfQ0FQTEVOX01BU0sgICAgICAgICAgICAgICAweDAwMDAwMDA3IDw8IElOQlVGX0NUTF9DQVBMRU5fU0hJRlQgICAgICAgICAKKyNkZWZpbmUgSU5CVUZfQ1RMX0JVRkZDQVBUX01BU0sgICAgICAgICAgICAgMHgwMDAwMDAwZiA8PCBJTkJVRl9DVExfQlVGRkNBUFRfU0hJRlQgICAgICAgCisjZGVmaW5lIElOQlVGX0NUTF9CVUZGQ0FQSU5UX01BU0sgICAgICAgICAgIDB4MDAwMDAwMGYgPDwgSU5CVUZfQ1RMX0JVRkZDQVBJTlRfU0hJRlQKKworCisvKkhXRF9TUkRPX0NUTCovICAgICAgICAKKyNkZWZpbmUgQ1RMX0NMRUFSX1NISUZUICAgICAgICAgICAgICAgICAgICAgICA5ICAgICAvKiBbOV0gKi8KKyNkZWZpbmUgQ1RMX0FDUU1PREVfU0hJRlQgICAgICAgICAgICAgICAgICAgICA4ICAgICAvKiBbOF0gKi8KKyNkZWZpbmUgQ1RMX1NFQVJDSF9TRVRfU0hJRlQgICAgICAgICAgICAgICAgICA2ICAgICAvKiBbNzo2XSAqLworI2RlZmluZSBDVExfU0VBUkNIX05fU0hJRlQgICAgICAgICAgICAgICAgICAgIDAgICAgIC8qIFs1OjBdICovCisKKyNkZWZpbmUgQ1RMX0NMRUFSX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMSA8PCBDVExfQ0xFQVJfU0hJRlQgICAgICAgICAgICAgICAKKyNkZWZpbmUgQ1RMX0FDUU1PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMSA8PCBDVExfQUNRTU9ERV9TSElGVCAKKyNkZWZpbmUgQ1RMX1NFQVJDSF9TRVRfTUFTSyAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMyA8PCBDVExfU0VBUkNIX1NFVF9TSElGVCAgICAgICAgICAKKyNkZWZpbmUgQ1RMX1NFQVJDSF9OX01BU0sgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAzZiA8PCBDVExfU0VBUkNIX05fU0hJRlQKKworLypIV0RfU1JET19HRU5TVEFUMCovICAgIAorI2RlZmluZSBHRU5TVEFUMF9DT0hMRU5fU0hJRlQgICAgICAgICAgICAgICAgMTcgICAgIC8qIFsxODoxN10gKi8KKyNkZWZpbmUgR0VOU1RBVDBfUEFTU0NOVDFfU0hJRlQgICAgICAgICAgICAgIDEyICAgICAvKiBbMTY6MTJdICovCisjZGVmaW5lIEdFTlNUQVQwX1BBU1NDTlQyX1NISUZUICAgICAgICAgICAgICAgNiAgICAgLyogWzExOjZdICovCisjZGVmaW5lIEdFTlNUQVQwX1NISUZUMV9TSElGVCAgICAgICAgICAgICAgICAgMyAgICAgLyogWzU6M10gKi8KKyNkZWZpbmUgR0VOU1RBVDBfU0hJRlQyX1NISUZUICAgICAgICAgICAgICAgICAwICAgICAvKiBbMjowXSAqLworCisjZGVmaW5lIEdFTlNUQVQwX0NPSExFTl9NQVNLICAgICAgICAgICAgICAgIDB4MDAwMDAwMDMgPDwgR0VOU1RBVDBfQ09ITEVOX1NISUZUICAgICAgICAgIAorI2RlZmluZSBHRU5TVEFUMF9QQVNTQ05UMV9NQVNLICAgICAgICAgICAgICAweDAwMDAwMDFmIDw8IEdFTlNUQVQwX1BBU1NDTlQxX1NISUZUICAgICAgICAKKyNkZWZpbmUgR0VOU1RBVDBfUEFTU0NOVDJfTUFTSyAgICAgICAgICAgICAgMHgwMDAwMDAzZiA8PCBHRU5TVEFUMF9QQVNTQ05UMl9TSElGVCAgICAgICAgCisjZGVmaW5lIEdFTlNUQVQwX1NISUZUMV9NQVNLICAgICAgICAgICAgICAgIDB4MDAwMDAwMDcgPDwgR0VOU1RBVDBfU0hJRlQxX1NISUZUICAgICAgICAgIAorI2RlZmluZSBHRU5TVEFUMF9TSElGVDJfTUFTSyAgICAgICAgICAgICAgICAweDAwMDAwMDA3IDw8IEdFTlNUQVQwX1NISUZUMl9TSElGVCAgCisKKy8qSFdEX1NSRE9fR0VOU1RBVDEqLyAgICAKKyNkZWZpbmUgR0VOU1RBVDFfVEhSRVNIMU1fU0hJRlQgICAgICAgICAgICAgICAgOCAgICAgLyogWzE1OjhdICovCisjZGVmaW5lIEdFTlNUQVQxX1RIUkVTSDJNX1NISUZUICAgICAgICAgICAgICAgIDAgICAgIC8qIFs3OjBdICovCisjZGVmaW5lIEdFTlNUQVQxX1RIUkVTSDFNX01BU0sgICAgICAgICAgICAgICAweDAwMDAwMGZmIDw8IEdFTlNUQVQxX1RIUkVTSDFNX1NISUZUICAgICAgICAgCisjZGVmaW5lIEdFTlNUQVQxX1RIUkVTSDJNX01BU0sgICAgICAgICAgICAgICAweDAwMDAwMGZmIDw8IEdFTlNUQVQxX1RIUkVTSDJNX1NISUZUCisKKy8qSFdEX1NSRE9fUEFUSE1BSU5UKi8gICAKKyNkZWZpbmUgUEFUSE1BSU5UX1BBVEhNQUlOVF9NT0RFX1NISUZUICAgICAgICAzICAgICAvKiBbM10gKi8KKyNkZWZpbmUgUEFUSE1BSU5UX0NMUl9OVU1TRUFSQ0hfU0hJRlQgICAgICAgICAyICAgICAvKiBbMl0gKi8KKyNkZWZpbmUgUEFUSE1BSU5UX0lJUl9BX1NISUZUICAgICAgICAgICAgICAgICAwICAgICAvKiBbMTowXSAqLworI2RlZmluZSBQQVRITUFJTlRfUEFUSE1BSU5UX01PREVfTUFTSyAgICAgICAweDAwMDAwMDAxIDw8IFBBVEhNQUlOVF9QQVRITUFJTlRfTU9ERV9TSElGVAorI2RlZmluZSBQQVRITUFJTlRfQ0xSX05VTVNFQVJDSF9NQVNLICAgICAgICAweDAwMDAwMDAxIDw8IFBBVEhNQUlOVF9DTFJfTlVNU0VBUkNIX1NISUZUICAKKyNkZWZpbmUgUEFUSE1BSU5UX0lJUl9BX01BU0sgICAgICAgICAgICAgICAgMHgwMDAwMDAwMyA8PCBQQVRITUFJTlRfSUlSX0FfU0hJRlQKKworLypIV0RfU1JET19JTkJVRjBfQURSKi8gICAKKyNkZWZpbmUgSU5CVUZfQURSX0lOQlVGX0FEUl9TSElGVCAgICAgICAgICAgICAwICAgICAvKiBbMTM6MF0gKi8KKyNkZWZpbmUgSU5CVUZfQURSX0lOQlVGX0FEUl9NQVNLICAgICAgICAgICAgMHgwMDAwM2ZmZiA8PCBJTkJVRl9BRFJfSU5CVUZfQURSX1NISUZUICAgICAgCisKKy8qSFdEX1NSRE9fSU5CVUZfREFUKi8gICAKKyNkZWZpbmUgSU5CVUZfREFUX0lOQlVGX0RBVDBfU0hJRlQgICAgICAgICAgICAgMCAgICAgLyogWzE5OjBdICovCisjZGVmaW5lIElOQlVGX0RBVF9JTkJVRl9EQVQwX01BU0sgICAgICAgICAgICAweDAwMGZmZmZmIDw8IElOQlVGX0RBVF9JTkJVRl9EQVQwX1NISUZUCisKKy8qSFdEX1NSRE9fSU5CVUZfREFUMSovICAgCisjZGVmaW5lIElOQlVGX0RBVF9JTkJVRl9EQVQxX1NISUZUICAgICAgICAgICAgIDAgICAgIC8qIFsxOTowXSAqLworI2RlZmluZSBJTkJVRl9EQVRfSU5CVUZfREFUMV9NQVNLICAgICAgICAgICAgMHgwMDBmZmZmZiA8PCBJTkJVRl9EQVRfSU5CVUZfREFUMV9TSElGVCAgICAgIAorICAgICAgCisKKy8qSFdEX1NSRE9fU1RBVFVTMCovICAgICAgCisjZGVmaW5lIFNUQVRVUzBfQU5URU5OQV9TSElGVCAgICAgICAgICAgICAgICAgMjQgICAgIC8qIFsyNF0gKi8KKyNkZWZpbmUgU1RBVFVTMF9CVVNZX1NISUZUICAgICAgICAgICAgICAgICAgICAyMyAgICAgLyogWzIzXSAqLworI2RlZmluZSBTVEFUVVMwX0lOTUFHX0lOU1RfU0hJRlQgICAgICAgICAgICAgIDE1ICAgICAvKiBbMjI6MTVdICovCisjZGVmaW5lIFNUQVRVUzBfSU5NQUdfSUlSX1NISUZUICAgICAgICAgICAgICAgIDcgICAgIC8qIFsxNDo3XSAqLworI2RlZmluZSBTVEFUVVMwX0JVRkNBUFRNSFNfU0hJRlQgICAgICAgICAgICAgICAwICAgICAvKiBbNjowXSAqLworCisjZGVmaW5lIFNUQVRVUzBfQU5URU5OQV9NQVNLICAgICAgICAgICAgICAgICAweDAwMDAwMDAxIDw8IFNUQVRVUzBfQU5URU5OQV9TSElGVCAgICAgICAgICAgCisjZGVmaW5lIFNUQVRVUzBfQlVTWV9NQVNLICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAxIDw8IFNUQVRVUzBfQlVTWV9TSElGVCAgICAgICAgICAgICAgCisjZGVmaW5lIFNUQVRVUzBfSU5NQUdfSU5TVF9NQVNLICAgICAgICAgICAgICAweDAwMDAwMGZmIDw8IFNUQVRVUzBfSU5NQUdfSU5TVF9TSElGVCAgICAgICAgCisjZGVmaW5lIFNUQVRVUzBfSU5NQUdfSUlSX01BU0sgICAgICAgICAgICAgICAweDAwMDAwMGZmIDw8IFNUQVRVUzBfSU5NQUdfSUlSX1NISUZUICAgICAgICAgCisjZGVmaW5lIFNUQVRVUzBfQlVGQ0FQVE1IU19NQVNLICAgICAgICAgICAgICAweDAwMDAwMDdmIDw8IFNUQVRVUzBfQlVGQ0FQVE1IU19TSElGVCAgCisKKy8qSFdEX1NSRE9fUExUSU5GT19DTFIxKi8KKyNkZWZpbmUgUExUSU5GT19DTFIxX0NMUl9TSElGVCAgICAgICAgICAgICAgICAwICAgICAvKiBbMjM6MF0gKi8KKyNkZWZpbmUgUExUSU5GT19DTFIxX0NMUl9NQVNLICAgICAgICAgICAgICAgMHgwMGZmZmZmZiA8PCBQTFRJTkZPX0NMUjFfQ0xSX1NISUZUICAgICAgICAgCisKKy8qSFdEX1NSRE9fUExUSU5GT19DTFIwKi8KKyNkZWZpbmUgUExUSU5GT19DTFIwX0NMUl9TSElGVCAgICAgICAgICAgICAgICAwICAgICAvKiBbMzE6MF0gKi8KKyNkZWZpbmUgUExUSU5GT19DTFIwX0NMUl9NQVNLICAgICAgICAgICAgICAgMHhmZmZmZmZmZiA8PCBQTFRJTkZPX0NMUjBfQ0xSX1NISUZUICAgICAgICAgCisKKy8qSFdEX1NSRE9fUEFUSElORk9fQ0xSKi8KKyNkZWZpbmUgUEFUSElORk9fQ0xSX0NMUl9TSElGVCAgICAgICAgICAgICAgICAwICAgICAvKiBbMTk6MF0gKi8KKyNkZWZpbmUgUEFUSElORk9fQ0xSX0NMUl9NQVNLICAgICAgICAgICAgICAgMHgwMDBmZmZmZiA8PCBQQVRISU5GT19DTFJfQ0xSX1NISUZUICAgICAgICAgCisKKy8qSFdEX1NSRE9fQUNRX0NUTCovCisjZGVmaW5lIEFDUV9DVExfQUNRX1dJTl9TSElGVCAgICAgICAgICAgICAgICAgMTEgICAgIC8qIFsyMDoxMV0gKi8gIAorI2RlZmluZSBBQ1FfQ1RMX0FDUV9PRkZTRVRfU0hJRlQgICAgICAgICAgICAgICAwICAgICAvKiBbMTA6MF0gICovCisjZGVmaW5lIEFDUV9DVExfQUNRX1dJTl9NQVNLICAgICAgICAgICAgICAgIDB4MDAwMDAzZmYgPDwgQUNRX0NUTF9BQ1FfV0lOX1NISUZUCisjZGVmaW5lIEFDUV9DVExfQUNRX09GRlNFVF9NQVNLICAgICAgICAgICAgIDB4MDAwMDA3ZmYgPDwgQUNRX0NUTF9BQ1FfT0ZGU0VUX1NISUZUICAgIAorCisvKkhXRF9TUkRPX1RTVENUTCovCisjZGVmaW5lIFRTVENUTF9JTkJVRl9UU1RfTU9ERV9TSElGVCAgICAgICAgICAgMCAgICAgLyogWzBdICovCisjZGVmaW5lIFRTVENUTF9JTkJVRl9UU1RfTU9ERV9NQVNLICAgICAgICAgICAgMSA8PCBUU1RDVExfSU5CVUZfVFNUX01PREVfU0hJRlQKKworLypIV0RfU1JET19TVEFUVVMxLCBOT1RFOiBzdGFydCBmcm9tIGJpdCA3Ki8KKyNkZWZpbmUgU1RBVFVTMV9JTk1BR19JTlNUMV9TSElGVCAgICAgICAgICAgICAgMTUgICAgIC8qIFsyMjoxNV0gKi8KKyNkZWZpbmUgU1RBVFVTMV9JTk1BR19JSVIxX1NISUZUICAgICAgICAgICAgICAgIDcgICAgIC8qIFsxNDo3XSAqLworI2RlZmluZSBTVEFUVVMxX0lOTUFHX0lOU1QxX01BU0sgICAgICAgICAgICAgIDB4MDAwMDAwZmYgPDwgU1RBVFVTMV9JTk1BR19JTlNUMV9TSElGVCAgICAgICAgCisjZGVmaW5lIFNUQVRVUzFfSU5NQUdfSUlSMV9NQVNLICAgICAgICAgICAgICAgMHgwMDAwMDBmZiA8PCBTVEFUVVMxX0lOTUFHX0lJUjFfU0hJRlQgICAgICAgICAKKworCisvKkhXRF9TUkRPX1RTVFNFTCovCisjZGVmaW5lIFRTVFNFTF9UU1RfU0VMX1NISUZUICAgICAgICAgICAgICAgICAgMCAgICAgLyogWzc6MF0gKi8KKyNkZWZpbmUgVFNUU0VMX1RTVF9TRUxfTUFTSyAgICAgICAgICAgICAgICAgMHgwMDAwMDBmZiA8PCBUU1RTRUxfVFNUX1NFTF9TSElGVAorCisvKkhXRF9TUkRPX1BBVEhJTkZPKi8KKyNkZWZpbmUgUEFUSElORk9fTUFYICAgICAgICAgICAgICAgICAgICAgICAgIDIwCisjZGVmaW5lIFBBVEhJTkZPX0xFTiAgICAgICAgICAgICAgICAgICAgICAgICAgNCAgICAgLyogYnl0ZSAqLworCisjZGVmaW5lIFBBVEhJTkZPX0VOQUJMRV9TSElGVCAgICAgICAgICAgICAgICAyMiAgICAgLyogWzIyXSAqLworI2RlZmluZSBQQVRISU5GT19LRUVQX1NISUZUICAgICAgICAgICAgICAgICAgMjEgICAgIC8qIFsyMV0gKi8KKyNkZWZpbmUgUEFUSElORk9fV0lOX1NISUZUICAgICAgICAgICAgICAgICAgIDE3ICAgICAvKiBbMjA6MTddICovCisjZGVmaW5lIFBBVEhJTkZPX1BJTE9UUE5OVU1fU0hJRlQgICAgICAgICAgICA4ICAgICAvKiBbMTY6OF0gKi8KKyNkZWZpbmUgUEFUSElORk9fU1VNTUFHX1NISUZUICAgICAgICAgICAgICAgIDAgICAgIC8qIFs3OjBdICovCisjZGVmaW5lIFBBVEhJTkZPX0VOQUJMRV9NQVNLICAgICAgICAgICAgICAgIDB4MDAwMDAwMDEgPDwgUEFUSElORk9fRU5BQkxFX1NISUZUCisjZGVmaW5lIFBBVEhJTkZPX0tFRVBfTUFTSyAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDEgPDwgUEFUSElORk9fS0VFUF9TSElGVAorI2RlZmluZSBQQVRISU5GT19XSU5fTUFTSyAgICAgICAgICAgICAgICAgICAweDAwMDAwMDBmIDw8IFBBVEhJTkZPX1dJTl9TSElGVCAgICAgICAgICAgICAKKyNkZWZpbmUgUEFUSElORk9fUElMT1RQTk5VTV9NQVNLICAgICAgICAgICAgMHgwMDAwMDFmZiA8PCBQQVRISU5GT19QSUxPVFBOTlVNX1NISUZUICAgICAgCisjZGVmaW5lIFBBVEhJTkZPX1NVTU1BR19NQVNLICAgICAgICAgICAgICAgIDB4MDAwMDBmZiAgPDwgUEFUSElORk9fU1VNTUFHX1NISUZUCisKKy8qSFdEX1NSRE9fUExUTElTVCovICAgICAKKyNkZWZpbmUgUExUTElTVF9NQVggICAgICAgICAgICAgICAgICAgICAgICAgIDU2CisjZGVmaW5lIFBMVExJU1RfTEVOICAgICAgICAgICAgICAgICAgICAgICAgICAgNCAgICAgLyogYnl0ZSAqLworI2RlZmluZSBQTFRMSVNUX0VOQUJMRV9TSElGVCAgICAgICAgICAgICAgICAgMjYgICAgIC8qIFsyNl0gKi8KKyNkZWZpbmUgUExUTElTVF9LRUVQX1NISUZUICAgICAgICAgICAgICAgICAgIDI1ICAgICAvKiBbMjVdICovCisjZGVmaW5lIFBMVExJU1RfV0lOX1NISUZUICAgICAgICAgICAgICAgICAgICAyMSAgICAgLyogWzI0OjIxXSAqLworI2RlZmluZSBQTFRMSVNUX0FMV0FZU19TRUFSQ0hfU0hJRlQgICAgICAgICAgMjAgICAgIC8qIFsyMF0gKi8KKyNkZWZpbmUgUExUTElTVF9QSUxPVF9QTl9TSElGVCAgICAgICAgICAgICAgIDExICAgICAvKiBbMTk6MTFdICovCisjZGVmaW5lIFBMVExJU1RfT0ZGU0VUX1NISUZUICAgICAgICAgICAgICAgICAgMCAgICAgLyogWzEwOjBdICovCisjZGVmaW5lIFBMVExJU1RfV0lOX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMGYgPDwgUExUTElTVF9XSU5fU0hJRlQgICAgICAgICAgICAgIAorI2RlZmluZSBQTFRMSVNUX0FMV0FZU19TRUFSQ0hfTUFTSyAgICAgICAgICAweDAwMDAwMDAxIDw8IFBMVExJU1RfQUxXQVlTX1NFQVJDSF9TSElGVCAgICAKKyNkZWZpbmUgUExUTElTVF9QSUxPVF9QTl9NQVNLICAgICAgICAgICAgICAgMHgwMDAwMDFmZiA8PCBQTFRMSVNUX1BJTE9UX1BOX1NISUZUICAgICAgICAgCisjZGVmaW5lIFBMVExJU1RfT0ZGU0VUX01BU0sgICAgICAgICAgICAgICAgIDB4MDAwMDA3ZmYgPDwgUExUTElTVF9PRkZTRVRfU0hJRlQKKworLypIV0RfU1JET19QTFRJTkZPKi8gICAgIAorI2RlZmluZSBQTFRJTkZPX01BWCAgICAgICAgICAgICAgICAgICAgICAgICAgNTYKKyNkZWZpbmUgUExUSU5GT19MRU4gICAgICAgICAgICAgICAgICAgICAgICAgICA0ICAgICAvKiBieXRlICovCisjZGVmaW5lIFBMVElORk9fTlVNU0VBUkNIX1NISUZUICAgICAgICAgICAgICAgOCAgICAgLyogWzExOjhdICovCisjZGVmaW5lIFBMVElORk9fU1VNTUFHX1NISUZUICAgICAgICAgICAgICAgICAgMCAgICAgLyogWzc6MF0gKi8KKyNkZWZpbmUgUExUSU5GT19OVU1TRUFSQ0hfTUFTSyAgICAgICAgICAgICAgMHgwMDAwMDAwZiA8PCBQTFRJTkZPX05VTVNFQVJDSF9TSElGVCAgICAgICAgCisjZGVmaW5lIFBMVElORk9fU1VNTUFHX01BU0sgICAgICAgICAgICAgICAgIDB4MDAwMDAwZmYgPDwgUExUSU5GT19TVU1NQUdfU0hJRlQgCisKKy8qSFdEX1NSRE9fUEFUSEJVRiovICAgICAKKyNkZWZpbmUgUEFUSEJVRl9NQVggICAgICAgICAgICAgICAgICAgICAgICAgIDE2ICAgICAvKiB0b3RhbCAxNiBwYXRoIGZvciBlYWNoIHBhdGggKCAyMCApICovIAorI2RlZmluZSBQQVRIQlVGX0xFTiAgICAgICAgICAgICAgICAgICAgICAgICAgIDQgICAgIC8qIGJ5dGUgKi8KKyNkZWZpbmUgUEFUSEJVRl9QQVRIX1ZBTElEX1NISUZUICAgICAgICAgICAgIDI0ICAgICAvKiBbMjRdICovCisjZGVmaW5lIFBBVEhCVUZfTlVNQVZHX1NISUZUICAgICAgICAgICAgICAgICAyMSAgICAgLyogWzIzOjIxXSAqLworI2RlZmluZSBQQVRIQlVGX0FOVEVOTkFfU0hJRlQgICAgICAgICAgICAgICAgMjAgICAgIC8qIFsyMF0gKi8KKyNkZWZpbmUgUEFUSEJVRl9PRkZTRVRfU0hJRlQgICAgICAgICAgICAgICAgICA4ICAgICAvKiBbMTk6OF0gKi8KKyNkZWZpbmUgUEFUSEJVRl9TVEFUX1NISUZUICAgICAgICAgICAgICAgICAgICAwICAgICAvKiBbNzowXSAqLworI2RlZmluZSBQQVRIQlVGX1BBVEhfVkFMSURfTUFTSyAgICAgICAgICAgICAweDAwMDAwMDAxIDw8IFBBVEhCVUZfUEFUSF9WQUxJRF9TSElGVCAgICAgICAKKyNkZWZpbmUgUEFUSEJVRl9OVU1BVkdfTUFTSyAgICAgICAgICAgICAgICAgMHgwMDAwMDAwNyA8PCBQQVRIQlVGX05VTUFWR19TSElGVCAgICAgICAgICAgCisjZGVmaW5lIFBBVEhCVUZfQU5URU5OQV9NQVNLICAgICAgICAgICAgICAgIDB4MDAwMDAwMDEgPDwgUEFUSEJVRl9BTlRFTk5BX1NISUZUICAgICAgICAgIAorI2RlZmluZSBQQVRIQlVGX09GRlNFVF9NQVNLICAgICAgICAgICAgICAgICAweDAwMDAwZmZmIDw8IFBBVEhCVUZfT0ZGU0VUX1NISUZUICAgICAgICAgICAKKyNkZWZpbmUgUEFUSEJVRl9TVEFUX01BU0sgICAgICAgICAgICAgICAgICAgMHgwMDAwMDBmZiA8PCBQQVRIQlVGX1NUQVRfU0hJRlQgCisKKy8qSFdEX1NSRE9fQ0xLQ1RMKi8KKyNkZWZpbmUgQ0xLQ1RMX0NMS19NT0RFX1NISUZUICAgICAgICAgICAgICAgICAxICAgICAvKiBbMV0gKi8KKyNkZWZpbmUgQ0xLQ1RMX0NMS0VOQl9TSElGVCAgICAgICAgICAgICAgICAgICAwICAgICAvKiBbMF0gKi8KKyNkZWZpbmUgQ0xLQ1RMX0NMS19NT0RFX01BU0sgICAgICAgICAgICAgICAgICAoMHgxIDw8IENMS0NUTF9DTEtfTU9ERV9TSElGVCkKKyNkZWZpbmUgQ0xLQ1RMX0NMS0VOQl9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgxIDw8IENMS0NUTF9DTEtFTkJfU0hJRlQpCisKKy8qU1JET19ET05FKi8KKyNkZWZpbmUgU1JET19ET05FX0RPTkVfU0hJRlQgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgU1JET19ET05FX0RPTkVfTUFTSyAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDEgPDwgU1JET19ET05FX0RPTkVfU0hJRlQKKworI2VuZGlmIC8vI2lmbmRlZiBfQ1BIX0VWRE9fU0NIX0hfCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoZXZkb3NjaHJlZ185NS5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGV2ZG9zY2hyZWdfOTUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iODQzOTFhCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGV2ZG9zY2hyZWdfOTUuaApAQCAtMCwwICsxLDU5OSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NQSF9FVkRPX1NDSF9IXworI2RlZmluZSBfQ1BIX0VWRE9fU0NIX0hfCisKKwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogU1JBTUFERFI7ICAgICAgICAgLyogU1JBTSBhZGRyIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBTUkFNREFUQTsgICAgICAgICAvKiBTUkFNIGRhdGEgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIEFQQkFERFI7ICAgICAgICAgIC8qIEFQQiBhZGRyIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgQVBCREFUQTsgICAgICAgICAgLyogQVBCIGRhdGEgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqICBBUEJBRERSMzI7ICAgICAgICAvKiBBUEIgYWRkciBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAgIEFQQkRBVEEzMjsgICAgICAgIC8qIEFQQiBkYXRhIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogRFBSQU1BRERSOyAgICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHNpZ25lZCAgIHNob3J0KiBEUFJBTUFERFJfUzsgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIERQUkFNREFUQTsgICAgICAgIC8qIERQUkFNIGRhdGEgaXMgMTYgYml0cyAqLworCisKKyNkZWZpbmUgQ1NfQ0RPX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QTc4ODAwMDApCisKKyNkZWZpbmUgQ1NfQ0RPX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKENTX0NET19SRUdfQkFTRSArIDB4MDgwMCArIDEqNCkKKworCisKKyNkZWZpbmUgU1JET19TVEFSVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX0NET19SRUdfQkFTRSArIDB4MDAwMCkpCisjZGVmaW5lIFNSRE9fUEFVU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19DRE9fUkVHX0JBU0UgKyAweDAwMDQpKQorI2RlZmluZSBTUkRPX1JTVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfQ0RPX1JFR19CQVNFICsgMHgwMDA4KSkKKyNkZWZpbmUgU1JET19JTkJVRl9DVEwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX0NET19SRUdfQkFTRSArIDB4MDAwQykpCisjZGVmaW5lIFNSRE9fQ1RMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19DRE9fUkVHX0JBU0UgKyAweDAwMTApKQorI2RlZmluZSBTUkRPX01FTV9TRUwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfQ0RPX1JFR19CQVNFICsgMHgwMDE0KSkKKyNkZWZpbmUgU1JET19HRU5TVEFUMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX0NET19SRUdfQkFTRSArIDB4MDAxOCkpCisjZGVmaW5lIFNSRE9fR0VOU1RBVDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19DRE9fUkVHX0JBU0UgKyAweDAwMUMpKQorI2RlZmluZSBTUkRPX1BBVEhNQUlOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfQ0RPX1JFR19CQVNFICsgMHgwMDIwKSkKKyNkZWZpbmUgU1JET19JTkJVRl9BRFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX0NET19SRUdfQkFTRSArIDB4MDAyNCkpCisjZGVmaW5lIFNSRE9fSU5CVUZfREFUMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19DRE9fUkVHX0JBU0UgKyAweDAwMjgpKQorI2RlZmluZSBTUkRPX1NUQVRVUzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfQ0RPX1JFR19CQVNFICsgMHgwMDJDKSkKKyNkZWZpbmUgU1JET19QTFRJTkZPX0NMUjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX0NET19SRUdfQkFTRSArIDB4MDAzMCkpCisjZGVmaW5lIFNSRE9fUExUSU5GT19DTFIxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19DRE9fUkVHX0JBU0UgKyAweDAwMzQpKQorI2RlZmluZSBTUkRPX1BBVEhJTkZPX0NMUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfQ0RPX1JFR19CQVNFICsgMHgwMDM4KSkKKyNkZWZpbmUgU1JET19BQ1FfQ1RMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX0NET19SRUdfQkFTRSArIDB4MDAzQykpCisjZGVmaW5lIFNSRE9fVFNUQ1RMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19DRE9fUkVHX0JBU0UgKyAweDAwNDApKQorI2RlZmluZSBTUkRPX0NMS0NUTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfQ0RPX1JFR19CQVNFICsgMHgwMDQ4KSkKKyNkZWZpbmUgU1JET19TVEFUVVMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX0NET19SRUdfQkFTRSArIDB4MDA1MCkpCisjZGVmaW5lIFNSRE9fSU5CVUZfREFUMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19DRE9fUkVHX0JBU0UgKyAweDAwNTQpKQorI2RlZmluZSBTUkRPX0ZORE9fTUVNQ1RMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfQ0RPX1JFR19CQVNFICsgMHgwMDU4KSkKKyNkZWZpbmUgU1JET19USFJFU0ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX0NET19SRUdfQkFTRSArIDB4MDA1QykpCisjZGVmaW5lIFNSRE9fVFNUX0RCRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19DRE9fUkVHX0JBU0UgKyAweDAwNjApKQorI2RlZmluZSBTUkRPX0RPTkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfQ0RPX1JFR19CQVNFICsgMHgwMDY0KSkKKyNkZWZpbmUgU1JET19QQVRISU5GTyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX0NET19SRUdfQkFTRSArIDB4MDA4MCkpCisjZGVmaW5lIFNSRE9fUExUTElTVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19DRE9fUkVHX0JBU0UgKyAweDAxMDApKQorI2RlZmluZSBTUkRPX1BMVElORk8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfQ0RPX1JFR19CQVNFICsgMHgwMjAwKSkKKyNkZWZpbmUgU1JET19QQVRIQlVGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX0NET19SRUdfQkFTRSArIDB4MDgwMCkpCisKKyNpZiAwCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisjZW5kaWYKKy8qSFdEX1NSRE9fU1RBUlQqLyAKKyNkZWZpbmUgU1RBUlRfU1RBUlRfU0hJRlQgICAgICAgICAgICAgICAgICAgICAwICAgICAvKiBbMF0gKi8KKyNkZWZpbmUgU1RBUlRfU1JET19TVEFSVF9ETFlfRU5fU0hJRlQgICAgICAgICAxICAgICAvKiBbMV0gKi8KKyNkZWZpbmUgU1RBUlRfU1JET19TVEFSVF9ETFlfQ05UX1NISUZUICAgICAgICAyICAgICAvKiBbMjE6Ml0gKi8KKworI2RlZmluZSBTVEFSVF9TVEFSVF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDEgPDwgU1RBUlRfU1RBUlRfU0hJRlQgICAgCisjZGVmaW5lIFNUQVJUX1NSRE9fU1RBUlRfRExZX0VOX01BU0sgICAgICAgICAgMHgwMDAwMDAwMSA8PCBTVEFSVF9TUkRPX1NUQVJUX0RMWV9FTl9TSElGVCAgICAKKyNkZWZpbmUgU1RBUlRfU1JET19TVEFSVF9ETFlfQ05UX01BU0sgICAgICAgICAweDAwMEZGRkZGIDw8IFNUQVJUX1NSRE9fU1RBUlRfRExZX0NOVF9TSElGVCAgICAKKworCisvKkhXRF9TUkRPX1BBVVNFKi8KKyNkZWZpbmUgUEFVU0VfUEFVU0VfU0hJRlQgICAgICAgICAgICAgICAgICAgICAwICAgICAvKiBbMF0gKi8KKyNkZWZpbmUgUEFVU0VfUEFVU0VfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMSA8PCBQQVVTRV9QQVVTRV9TSElGVCAgICAgICAgICAgICAgCisKKy8qSFdEX1NSRE9fUlNUKi8KKyNkZWZpbmUgUlNUX1JTVF9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAwICAgICAvKiBbMF0gKi8KKyNkZWZpbmUgUlNUX1JTVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMSA8PCBSU1RfUlNUX1NISUZUICAgICAgICAgICAgICAgICAgCisKKy8qSFdEX1NSRE9fSU5CVUZfQ1RMKi8KKyNkZWZpbmUgSU5CVUZfQ1RMX0FOVEVOTkFfSU5JVF9FTl9TSElGVCAgICAgIDE5ICAgICAvKiBbMTldICovCisjZGVmaW5lIElOQlVGX0NUTF9BTlRFTk5BX0lOSVRfU0hJRlQgICAgICAgICAxOCAgICAgLyogWzE4XSAqLworI2RlZmluZSBJTkJVRl9DVExfSUlSX0FfSUJfU0hJRlQgICAgICAgICAgICAgMTYgICAgIC8qIFsxNzoxNl0gKi8KKyNkZWZpbmUgSU5CVUZfQ1RMX0RVQUxfU0hJRlQgICAgICAgICAgICAgICAgIDE1ICAgICAvKiBbMTVdICovCisjZGVmaW5lIElOQlVGX0NUTF9CVVJTVF9TSElGVCAgICAgICAgICAgICAgICAxNCAgICAgLyogWzE0XSAqLyAgIAorI2RlZmluZSBJTkJVRl9DVExfQU5UX01PREVfU0hJRlQgICAgICAgICAgICAgMTIgICAgIC8qIFsxMzoxMl0gKi8KKyNkZWZpbmUgSU5CVUZfQ1RMX0NBUFRVUkVfU0hJRlQgICAgICAgICAgICAgIDExICAgICAvKiBbMTFdICAgICovCisjZGVmaW5lIElOQlVGX0NUTF9DQVBMRU5fU0hJRlQgICAgICAgICAgICAgICAgOCAgICAgLyogWzEwOjhdICAgKi8KKyNkZWZpbmUgSU5CVUZfQ1RMX0JVRkZDQVBUX1NISUZUICAgICAgICAgICAgICA0ICAgICAvKiBbNzo0XSAgICovCisjZGVmaW5lIElOQlVGX0NUTF9CVUZGQ0FQSU5UX1NISUZUICAgICAgICAgICAgMCAgICAgLyogWzM6MF0gICAqLworCisjZGVmaW5lIElOQlVGX0FOVEVOTkFfSU5JVF9FTl9NQVNLICAgICAgICAgIDB4MDAwMDAwMDEgPDwgSU5CVUZfQ1RMX0FOVEVOTkFfSU5JVF9FTl9TSElGVAorI2RlZmluZSBJTkJVRl9BTlRFTk5BX0lOSVRfTUFTSyAgICAgICAgICAgICAweDAwMDAwMDAxIDw8IElOQlVGX0NUTF9BTlRFTk5BX0lOSVRfU0hJRlQKKyNkZWZpbmUgSU5CVUZfQ1RMX0lJUl9BX0lCX01BU0sgICAgICAgICAgICAgMHgwMDAwMDAwMyA8PCBJTkJVRl9DVExfSUlSX0FfSUJfU0hJRlQKKyNkZWZpbmUgSU5CVUZfQ1RMX0RVQUxfTUFTSyAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMSA8PCBJTkJVRl9DVExfRFVBTF9TSElGVAorI2RlZmluZSBJTkJVRl9DVExfQlVSU1RfTUFTSyAgICAgICAgICAgICAgICAweDAwMDAwMDAxIDw8IElOQlVGX0NUTF9CVVJTVF9TSElGVAorI2RlZmluZSBJTkJVRl9DVExfQU5UX01PREVfTUFTSyAgICAgICAgICAgICAweDAwMDAwMDAzIDw8IElOQlVGX0NUTF9BTlRfTU9ERV9TSElGVCAgICAgICAKKyNkZWZpbmUgSU5CVUZfQ1RMX0NBUFRVUkVfTUFTSyAgICAgICAgICAgICAgMHgwMDAwMDAwMSA8PCBJTkJVRl9DVExfQ0FQVFVSRV9TSElGVCAgICAgICAgCisjZGVmaW5lIElOQlVGX0NUTF9DQVBMRU5fTUFTSyAgICAgICAgICAgICAgIDB4MDAwMDAwMDcgPDwgSU5CVUZfQ1RMX0NBUExFTl9TSElGVCAgICAgICAgIAorI2RlZmluZSBJTkJVRl9DVExfQlVGRkNBUFRfTUFTSyAgICAgICAgICAgICAweDAwMDAwMDBmIDw8IElOQlVGX0NUTF9CVUZGQ0FQVF9TSElGVCAgICAgICAKKyNkZWZpbmUgSU5CVUZfQ1RMX0JVRkZDQVBJTlRfTUFTSyAgICAgICAgICAgMHgwMDAwMDAwZiA8PCBJTkJVRl9DVExfQlVGRkNBUElOVF9TSElGVAorCisKKy8qSFdEX1NSRE9fQ1RMKi8gICAgICAgIAorI2RlZmluZSBDVExfQ0xFQVJfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgIDkgICAgIC8qIFs5XSAqLworI2RlZmluZSBDVExfQUNRTU9ERV9TSElGVCAgICAgICAgICAgICAgICAgICAgIDggICAgIC8qIFs4XSAqLworI2RlZmluZSBDVExfU0VBUkNIX1NFVF9TSElGVCAgICAgICAgICAgICAgICAgIDYgICAgIC8qIFs3OjZdICovCisjZGVmaW5lIENUTF9TRUFSQ0hfTl9TSElGVCAgICAgICAgICAgICAgICAgICAgMCAgICAgLyogWzU6MF0gKi8KKworI2RlZmluZSBDVExfQ0xFQVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAxIDw8IENUTF9DTEVBUl9TSElGVCAgICAgICAgICAgICAgIAorI2RlZmluZSBDVExfQUNRTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAxIDw8IENUTF9BQ1FNT0RFX1NISUZUIAorI2RlZmluZSBDVExfU0VBUkNIX1NFVF9NQVNLICAgICAgICAgICAgICAgICAweDAwMDAwMDAzIDw8IENUTF9TRUFSQ0hfU0VUX1NISUZUICAgICAgICAgIAorI2RlZmluZSBDVExfU0VBUkNIX05fTUFTSyAgICAgICAgICAgICAgICAgICAweDAwMDAwMDNmIDw8IENUTF9TRUFSQ0hfTl9TSElGVAorCisvKkhXRF9TUkRPX0dFTlNUQVQwKi8gICAgCisjZGVmaW5lIEdFTlNUQVQwX0NPSExFTl9TSElGVCAgICAgICAgICAgICAgICAxNyAgICAgLyogWzE4OjE3XSAqLworI2RlZmluZSBHRU5TVEFUMF9QQVNTQ05UMV9TSElGVCAgICAgICAgICAgICAgMTIgICAgIC8qIFsxNjoxMl0gKi8KKyNkZWZpbmUgR0VOU1RBVDBfUEFTU0NOVDJfU0hJRlQgICAgICAgICAgICAgICA2ICAgICAvKiBbMTE6Nl0gKi8KKyNkZWZpbmUgR0VOU1RBVDBfU0hJRlQxX1NISUZUICAgICAgICAgICAgICAgICAzICAgICAvKiBbNTozXSAqLworI2RlZmluZSBHRU5TVEFUMF9TSElGVDJfU0hJRlQgICAgICAgICAgICAgICAgIDAgICAgIC8qIFsyOjBdICovCisKKyNkZWZpbmUgR0VOU1RBVDBfQ09ITEVOX01BU0sgICAgICAgICAgICAgICAgMHgwMDAwMDAwMyA8PCBHRU5TVEFUMF9DT0hMRU5fU0hJRlQgICAgICAgICAgCisjZGVmaW5lIEdFTlNUQVQwX1BBU1NDTlQxX01BU0sgICAgICAgICAgICAgIDB4MDAwMDAwMWYgPDwgR0VOU1RBVDBfUEFTU0NOVDFfU0hJRlQgICAgICAgIAorI2RlZmluZSBHRU5TVEFUMF9QQVNTQ05UMl9NQVNLICAgICAgICAgICAgICAweDAwMDAwMDNmIDw8IEdFTlNUQVQwX1BBU1NDTlQyX1NISUZUICAgICAgICAKKyNkZWZpbmUgR0VOU1RBVDBfU0hJRlQxX01BU0sgICAgICAgICAgICAgICAgMHgwMDAwMDAwNyA8PCBHRU5TVEFUMF9TSElGVDFfU0hJRlQgICAgICAgICAgCisjZGVmaW5lIEdFTlNUQVQwX1NISUZUMl9NQVNLICAgICAgICAgICAgICAgIDB4MDAwMDAwMDcgPDwgR0VOU1RBVDBfU0hJRlQyX1NISUZUICAKKworLypIV0RfU1JET19HRU5TVEFUMSovICAgIAorI2RlZmluZSBHRU5TVEFUMV9USFJFU0gxTV9TSElGVCAgICAgICAgICAgICAgICA4ICAgICAvKiBbMTU6OF0gKi8KKyNkZWZpbmUgR0VOU1RBVDFfVEhSRVNIMk1fU0hJRlQgICAgICAgICAgICAgICAgMCAgICAgLyogWzc6MF0gKi8KKyNkZWZpbmUgR0VOU1RBVDFfVEhSRVNIMU1fTUFTSyAgICAgICAgICAgICAgIDB4MDAwMDAwZmYgPDwgR0VOU1RBVDFfVEhSRVNIMU1fU0hJRlQgICAgICAgICAKKyNkZWZpbmUgR0VOU1RBVDFfVEhSRVNIMk1fTUFTSyAgICAgICAgICAgICAgIDB4MDAwMDAwZmYgPDwgR0VOU1RBVDFfVEhSRVNIMk1fU0hJRlQKKworLypIV0RfU1JET19QQVRITUFJTlQqLyAgIAorI2RlZmluZSBQQVRITUFJTlRfUEFUSE1BSU5UX01PREVfU0hJRlQgICAgICAgIDMgICAgIC8qIFszXSAqLworI2RlZmluZSBQQVRITUFJTlRfQ0xSX05VTVNFQVJDSF9TSElGVCAgICAgICAgIDIgICAgIC8qIFsyXSAqLworI2RlZmluZSBQQVRITUFJTlRfSUlSX0FfU0hJRlQgICAgICAgICAgICAgICAgIDAgICAgIC8qIFsxOjBdICovCisjZGVmaW5lIFBBVEhNQUlOVF9QQVRITUFJTlRfTU9ERV9NQVNLICAgICAgIDB4MDAwMDAwMDEgPDwgUEFUSE1BSU5UX1BBVEhNQUlOVF9NT0RFX1NISUZUCisjZGVmaW5lIFBBVEhNQUlOVF9DTFJfTlVNU0VBUkNIX01BU0sgICAgICAgIDB4MDAwMDAwMDEgPDwgUEFUSE1BSU5UX0NMUl9OVU1TRUFSQ0hfU0hJRlQgIAorI2RlZmluZSBQQVRITUFJTlRfSUlSX0FfTUFTSyAgICAgICAgICAgICAgICAweDAwMDAwMDAzIDw8IFBBVEhNQUlOVF9JSVJfQV9TSElGVAorCisvKkhXRF9TUkRPX0lOQlVGMF9BRFIqLyAgIAorI2RlZmluZSBJTkJVRl9BRFJfSU5CVUZfQURSX1NISUZUICAgICAgICAgICAgIDAgICAgIC8qIFsxMzowXSAqLworI2RlZmluZSBJTkJVRl9BRFJfSU5CVUZfQURSX01BU0sgICAgICAgICAgICAweDAwMDAzZmZmIDw8IElOQlVGX0FEUl9JTkJVRl9BRFJfU0hJRlQgICAgICAKKworLypIV0RfU1JET19JTkJVRl9EQVQqLyAgIAorI2RlZmluZSBJTkJVRl9EQVRfSU5CVUZfREFUMF9TSElGVCAgICAgICAgICAgICAwICAgICAvKiBbMTk6MF0gKi8KKyNkZWZpbmUgSU5CVUZfREFUX0lOQlVGX0RBVDBfTUFTSyAgICAgICAgICAgIDB4MDAwZmZmZmYgPDwgSU5CVUZfREFUX0lOQlVGX0RBVDBfU0hJRlQKKworLypIV0RfU1JET19JTkJVRl9EQVQxKi8gICAKKyNkZWZpbmUgSU5CVUZfREFUX0lOQlVGX0RBVDFfU0hJRlQgICAgICAgICAgICAgMCAgICAgLyogWzE5OjBdICovCisjZGVmaW5lIElOQlVGX0RBVF9JTkJVRl9EQVQxX01BU0sgICAgICAgICAgICAweDAwMGZmZmZmIDw8IElOQlVGX0RBVF9JTkJVRl9EQVQxX1NISUZUICAgICAgCisgICAgICAKKworLypIV0RfU1JET19TVEFUVVMwKi8gICAgICAKKyNkZWZpbmUgU1RBVFVTMF9BTlRFTk5BX1NISUZUICAgICAgICAgICAgICAgICAyNCAgICAgLyogWzI0XSAqLworI2RlZmluZSBTVEFUVVMwX0JVU1lfU0hJRlQgICAgICAgICAgICAgICAgICAgIDIzICAgICAvKiBbMjNdICovCisjZGVmaW5lIFNUQVRVUzBfSU5NQUdfSU5TVF9TSElGVCAgICAgICAgICAgICAgMTUgICAgIC8qIFsyMjoxNV0gKi8KKyNkZWZpbmUgU1RBVFVTMF9JTk1BR19JSVJfU0hJRlQgICAgICAgICAgICAgICAgNyAgICAgLyogWzE0OjddICovCisjZGVmaW5lIFNUQVRVUzBfQlVGQ0FQVE1IU19TSElGVCAgICAgICAgICAgICAgIDAgICAgIC8qIFs2OjBdICovCisKKyNkZWZpbmUgU1RBVFVTMF9BTlRFTk5BX01BU0sgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDEgPDwgU1RBVFVTMF9BTlRFTk5BX1NISUZUICAgICAgICAgICAKKyNkZWZpbmUgU1RBVFVTMF9CVVNZX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDEgPDwgU1RBVFVTMF9CVVNZX1NISUZUICAgICAgICAgICAgICAKKyNkZWZpbmUgU1RBVFVTMF9JTk1BR19JTlNUX01BU0sgICAgICAgICAgICAgIDB4MDAwMDAwZmYgPDwgU1RBVFVTMF9JTk1BR19JTlNUX1NISUZUICAgICAgICAKKyNkZWZpbmUgU1RBVFVTMF9JTk1BR19JSVJfTUFTSyAgICAgICAgICAgICAgIDB4MDAwMDAwZmYgPDwgU1RBVFVTMF9JTk1BR19JSVJfU0hJRlQgICAgICAgICAKKyNkZWZpbmUgU1RBVFVTMF9CVUZDQVBUTUhTX01BU0sgICAgICAgICAgICAgIDB4MDAwMDAwN2YgPDwgU1RBVFVTMF9CVUZDQVBUTUhTX1NISUZUICAKKworLypIV0RfU1JET19QTFRJTkZPX0NMUjEqLworI2RlZmluZSBQTFRJTkZPX0NMUjFfQ0xSX1NISUZUICAgICAgICAgICAgICAgIDAgICAgIC8qIFsyMzowXSAqLworI2RlZmluZSBQTFRJTkZPX0NMUjFfQ0xSX01BU0sgICAgICAgICAgICAgICAweDAwZmZmZmZmIDw8IFBMVElORk9fQ0xSMV9DTFJfU0hJRlQgICAgICAgICAKKworLypIV0RfU1JET19QTFRJTkZPX0NMUjAqLworI2RlZmluZSBQTFRJTkZPX0NMUjBfQ0xSX1NISUZUICAgICAgICAgICAgICAgIDAgICAgIC8qIFszMTowXSAqLworI2RlZmluZSBQTFRJTkZPX0NMUjBfQ0xSX01BU0sgICAgICAgICAgICAgICAweGZmZmZmZmZmIDw8IFBMVElORk9fQ0xSMF9DTFJfU0hJRlQgICAgICAgICAKKworLypIV0RfU1JET19QQVRISU5GT19DTFIqLworI2RlZmluZSBQQVRISU5GT19DTFJfQ0xSX1NISUZUICAgICAgICAgICAgICAgIDAgICAgIC8qIFsxOTowXSAqLworI2RlZmluZSBQQVRISU5GT19DTFJfQ0xSX01BU0sgICAgICAgICAgICAgICAweDAwMGZmZmZmIDw8IFBBVEhJTkZPX0NMUl9DTFJfU0hJRlQgICAgICAgICAKKworLypIV0RfU1JET19BQ1FfQ1RMKi8KKyNkZWZpbmUgQUNRX0NUTF9BQ1FfV0lOX1NISUZUICAgICAgICAgICAgICAgICAxMSAgICAgLyogWzIwOjExXSAqLyAgCisjZGVmaW5lIEFDUV9DVExfQUNRX09GRlNFVF9TSElGVCAgICAgICAgICAgICAgIDAgICAgIC8qIFsxMDowXSAgKi8KKyNkZWZpbmUgQUNRX0NUTF9BQ1FfV0lOX01BU0sgICAgICAgICAgICAgICAgMHgwMDAwMDNmZiA8PCBBQ1FfQ1RMX0FDUV9XSU5fU0hJRlQKKyNkZWZpbmUgQUNRX0NUTF9BQ1FfT0ZGU0VUX01BU0sgICAgICAgICAgICAgMHgwMDAwMDdmZiA8PCBBQ1FfQ1RMX0FDUV9PRkZTRVRfU0hJRlQgICAgCisKKy8qSFdEX1NSRE9fVFNUQ1RMKi8KKyNkZWZpbmUgVFNUQ1RMX0lOQlVGX1RTVF9NT0RFX1NISUZUICAgICAgICAgICAwICAgICAvKiBbMF0gKi8KKyNkZWZpbmUgVFNUQ1RMX0lOQlVGX1RTVF9NT0RFX01BU0sgICAgICAgICAgICAxIDw8IFRTVENUTF9JTkJVRl9UU1RfTU9ERV9TSElGVAorCisvKkhXRF9TUkRPX1NUQVRVUzEsIE5PVEU6IHN0YXJ0IGZyb20gYml0IDcqLworI2RlZmluZSBTVEFUVVMxX0lOTUFHX0lOU1QxX1NISUZUICAgICAgICAgICAgICAxNSAgICAgLyogWzIyOjE1XSAqLworI2RlZmluZSBTVEFUVVMxX0lOTUFHX0lJUjFfU0hJRlQgICAgICAgICAgICAgICAgNyAgICAgLyogWzE0OjddICovCisjZGVmaW5lIFNUQVRVUzFfSU5NQUdfSU5TVDFfTUFTSyAgICAgICAgICAgICAgMHgwMDAwMDBmZiA8PCBTVEFUVVMxX0lOTUFHX0lOU1QxX1NISUZUICAgICAgICAKKyNkZWZpbmUgU1RBVFVTMV9JTk1BR19JSVIxX01BU0sgICAgICAgICAgICAgICAweDAwMDAwMGZmIDw8IFNUQVRVUzFfSU5NQUdfSUlSMV9TSElGVCAgICAgICAgIAorCisKKy8qSFdEX1NSRE9fVFNUU0VMKi8KKyNkZWZpbmUgVFNUU0VMX1RTVF9TRUxfU0hJRlQgICAgICAgICAgICAgICAgICAwICAgICAvKiBbNzowXSAqLworI2RlZmluZSBUU1RTRUxfVFNUX1NFTF9NQVNLICAgICAgICAgICAgICAgICAweDAwMDAwMGZmIDw8IFRTVFNFTF9UU1RfU0VMX1NISUZUCisKKy8qSFdEX1NSRE9fUEFUSElORk8qLworI2RlZmluZSBQQVRISU5GT19NQVggICAgICAgICAgICAgICAgICAgICAgICAgMjAKKyNkZWZpbmUgUEFUSElORk9fTEVOICAgICAgICAgICAgICAgICAgICAgICAgICA0ICAgICAvKiBieXRlICovCisKKyNkZWZpbmUgUEFUSElORk9fRU5BQkxFX1NISUZUICAgICAgICAgICAgICAgIDIyICAgICAvKiBbMjJdICovCisjZGVmaW5lIFBBVEhJTkZPX0tFRVBfU0hJRlQgICAgICAgICAgICAgICAgICAyMSAgICAgLyogWzIxXSAqLworI2RlZmluZSBQQVRISU5GT19XSU5fU0hJRlQgICAgICAgICAgICAgICAgICAgMTcgICAgIC8qIFsyMDoxN10gKi8KKyNkZWZpbmUgUEFUSElORk9fUElMT1RQTk5VTV9TSElGVCAgICAgICAgICAgIDggICAgIC8qIFsxNjo4XSAqLworI2RlZmluZSBQQVRISU5GT19TVU1NQUdfU0hJRlQgICAgICAgICAgICAgICAgMCAgICAgLyogWzc6MF0gKi8KKyNkZWZpbmUgUEFUSElORk9fRU5BQkxFX01BU0sgICAgICAgICAgICAgICAgMHgwMDAwMDAwMSA8PCBQQVRISU5GT19FTkFCTEVfU0hJRlQKKyNkZWZpbmUgUEFUSElORk9fS0VFUF9NQVNLICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMSA8PCBQQVRISU5GT19LRUVQX1NISUZUCisjZGVmaW5lIFBBVEhJTkZPX1dJTl9NQVNLICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMGYgPDwgUEFUSElORk9fV0lOX1NISUZUICAgICAgICAgICAgIAorI2RlZmluZSBQQVRISU5GT19QSUxPVFBOTlVNX01BU0sgICAgICAgICAgICAweDAwMDAwMWZmIDw8IFBBVEhJTkZPX1BJTE9UUE5OVU1fU0hJRlQgICAgICAKKyNkZWZpbmUgUEFUSElORk9fU1VNTUFHX01BU0sgICAgICAgICAgICAgICAgMHgwMDAwMGZmICA8PCBQQVRISU5GT19TVU1NQUdfU0hJRlQKKworLypIV0RfU1JET19QTFRMSVNUKi8gICAgIAorI2RlZmluZSBQTFRMSVNUX01BWCAgICAgICAgICAgICAgICAgICAgICAgICAgNTYKKyNkZWZpbmUgUExUTElTVF9MRU4gICAgICAgICAgICAgICAgICAgICAgICAgICA0ICAgICAvKiBieXRlICovCisjZGVmaW5lIFBMVExJU1RfRU5BQkxFX1NISUZUICAgICAgICAgICAgICAgICAyNiAgICAgLyogWzI2XSAqLworI2RlZmluZSBQTFRMSVNUX0tFRVBfU0hJRlQgICAgICAgICAgICAgICAgICAgMjUgICAgIC8qIFsyNV0gKi8KKyNkZWZpbmUgUExUTElTVF9XSU5fU0hJRlQgICAgICAgICAgICAgICAgICAgIDIxICAgICAvKiBbMjQ6MjFdICovCisjZGVmaW5lIFBMVExJU1RfQUxXQVlTX1NFQVJDSF9TSElGVCAgICAgICAgICAyMCAgICAgLyogWzIwXSAqLworI2RlZmluZSBQTFRMSVNUX1BJTE9UX1BOX1NISUZUICAgICAgICAgICAgICAgMTEgICAgIC8qIFsxOToxMV0gKi8KKyNkZWZpbmUgUExUTElTVF9PRkZTRVRfU0hJRlQgICAgICAgICAgICAgICAgICAwICAgICAvKiBbMTA6MF0gKi8KKyNkZWZpbmUgUExUTElTVF9XSU5fTUFTSyAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwZiA8PCBQTFRMSVNUX1dJTl9TSElGVCAgICAgICAgICAgICAgCisjZGVmaW5lIFBMVExJU1RfQUxXQVlTX1NFQVJDSF9NQVNLICAgICAgICAgIDB4MDAwMDAwMDEgPDwgUExUTElTVF9BTFdBWVNfU0VBUkNIX1NISUZUICAgIAorI2RlZmluZSBQTFRMSVNUX1BJTE9UX1BOX01BU0sgICAgICAgICAgICAgICAweDAwMDAwMWZmIDw8IFBMVExJU1RfUElMT1RfUE5fU0hJRlQgICAgICAgICAKKyNkZWZpbmUgUExUTElTVF9PRkZTRVRfTUFTSyAgICAgICAgICAgICAgICAgMHgwMDAwMDdmZiA8PCBQTFRMSVNUX09GRlNFVF9TSElGVAorCisvKkhXRF9TUkRPX1BMVElORk8qLyAgICAgCisjZGVmaW5lIFBMVElORk9fTUFYICAgICAgICAgICAgICAgICAgICAgICAgICA1NgorI2RlZmluZSBQTFRJTkZPX0xFTiAgICAgICAgICAgICAgICAgICAgICAgICAgIDQgICAgIC8qIGJ5dGUgKi8KKyNkZWZpbmUgUExUSU5GT19OVU1TRUFSQ0hfU0hJRlQgICAgICAgICAgICAgICA4ICAgICAvKiBbMTE6OF0gKi8KKyNkZWZpbmUgUExUSU5GT19TVU1NQUdfU0hJRlQgICAgICAgICAgICAgICAgICAwICAgICAvKiBbNzowXSAqLworI2RlZmluZSBQTFRJTkZPX05VTVNFQVJDSF9NQVNLICAgICAgICAgICAgICAweDAwMDAwMDBmIDw8IFBMVElORk9fTlVNU0VBUkNIX1NISUZUICAgICAgICAKKyNkZWZpbmUgUExUSU5GT19TVU1NQUdfTUFTSyAgICAgICAgICAgICAgICAgMHgwMDAwMDBmZiA8PCBQTFRJTkZPX1NVTU1BR19TSElGVCAKKworLypIV0RfU1JET19QQVRIQlVGKi8gICAgIAorI2RlZmluZSBQQVRIQlVGX01BWCAgICAgICAgICAgICAgICAgICAgICAgICAgMTYgICAgIC8qIHRvdGFsIDE2IHBhdGggZm9yIGVhY2ggcGF0aCAoIDIwICkgKi8gCisjZGVmaW5lIFBBVEhCVUZfTEVOICAgICAgICAgICAgICAgICAgICAgICAgICAgNCAgICAgLyogYnl0ZSAqLworI2RlZmluZSBQQVRIQlVGX1BBVEhfVkFMSURfU0hJRlQgICAgICAgICAgICAgMjQgICAgIC8qIFsyNF0gKi8KKyNkZWZpbmUgUEFUSEJVRl9OVU1BVkdfU0hJRlQgICAgICAgICAgICAgICAgIDIxICAgICAvKiBbMjM6MjFdICovCisjZGVmaW5lIFBBVEhCVUZfQU5URU5OQV9TSElGVCAgICAgICAgICAgICAgICAyMCAgICAgLyogWzIwXSAqLworI2RlZmluZSBQQVRIQlVGX09GRlNFVF9TSElGVCAgICAgICAgICAgICAgICAgIDggICAgIC8qIFsxOTo4XSAqLworI2RlZmluZSBQQVRIQlVGX1NUQVRfU0hJRlQgICAgICAgICAgICAgICAgICAgIDAgICAgIC8qIFs3OjBdICovCisjZGVmaW5lIFBBVEhCVUZfUEFUSF9WQUxJRF9NQVNLICAgICAgICAgICAgIDB4MDAwMDAwMDEgPDwgUEFUSEJVRl9QQVRIX1ZBTElEX1NISUZUICAgICAgIAorI2RlZmluZSBQQVRIQlVGX05VTUFWR19NQVNLICAgICAgICAgICAgICAgICAweDAwMDAwMDA3IDw8IFBBVEhCVUZfTlVNQVZHX1NISUZUICAgICAgICAgICAKKyNkZWZpbmUgUEFUSEJVRl9BTlRFTk5BX01BU0sgICAgICAgICAgICAgICAgMHgwMDAwMDAwMSA8PCBQQVRIQlVGX0FOVEVOTkFfU0hJRlQgICAgICAgICAgCisjZGVmaW5lIFBBVEhCVUZfT0ZGU0VUX01BU0sgICAgICAgICAgICAgICAgIDB4MDAwMDBmZmYgPDwgUEFUSEJVRl9PRkZTRVRfU0hJRlQgICAgICAgICAgIAorI2RlZmluZSBQQVRIQlVGX1NUQVRfTUFTSyAgICAgICAgICAgICAgICAgICAweDAwMDAwMGZmIDw8IFBBVEhCVUZfU1RBVF9TSElGVCAKKworLypIV0RfU1JET19DTEtDVEwqLworI2RlZmluZSBDTEtDVExfQ0xLX01PREVfU0hJRlQgICAgICAgICAgICAgICAgIDEgICAgIC8qIFsxXSAqLworI2RlZmluZSBDTEtDVExfQ0xLRU5CX1NISUZUICAgICAgICAgICAgICAgICAgIDAgICAgIC8qIFswXSAqLworI2RlZmluZSBDTEtDVExfQ0xLX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICgweDEgPDwgQ0xLQ1RMX0NMS19NT0RFX1NISUZUKQorI2RlZmluZSBDTEtDVExfQ0xLRU5CX01BU0sgICAgICAgICAgICAgICAgICAgICgweDEgPDwgQ0xLQ1RMX0NMS0VOQl9TSElGVCkKKworLypTUkRPX0RPTkUqLworI2RlZmluZSBTUkRPX0RPTkVfRE9ORV9TSElGVCAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBTUkRPX0RPTkVfRE9ORV9NQVNLICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMSA8PCBTUkRPX0RPTkVfRE9ORV9TSElGVAorCisjZW5kaWYgLy8jaWZuZGVmIF9DUEhfRVZET19TQ0hfSF8KZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhldmRvc2NocmVnXzk3LmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoZXZkb3NjaHJlZ185Ny5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUzMGRmMmIKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoZXZkb3NjaHJlZ185Ny5oCkBAIC0wLDAgKzEsNjAwIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfQ1BIX0VWRE9fU0NIXzk3X0hfCisjZGVmaW5lIF9DUEhfRVZET19TQ0hfOTdfSF8KKworCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBTUkFNQUREUjsgICAgICAgICAvKiBTUkFNIGFkZHIgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIFNSQU1EQVRBOyAgICAgICAgIC8qIFNSQU0gZGF0YSBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogQVBCQUREUjsgICAgICAgICAgLyogQVBCIGFkZHIgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBBUEJEQVRBOyAgICAgICAgICAvKiBBUEIgZGF0YSBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyogIEFQQkFERFIzMjsgICAgICAgIC8qIEFQQiBhZGRyIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICAgQVBCREFUQTMyOyAgICAgICAgLyogQVBCIGRhdGEgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBEUFJBTUFERFI7ICAgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgc2lnbmVkICAgc2hvcnQqIERQUkFNQUREUl9TOyAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgRFBSQU1EQVRBOyAgICAgICAgLyogRFBSQU0gZGF0YSBpcyAxNiBiaXRzICovCisKKworI2RlZmluZSBDU19DRE9fUkVHX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhBOTg4MDAwMCkKKworI2RlZmluZSBDU19DRE9fZW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoQ1NfQ0RPX1JFR19CQVNFICsgMHgwODAwICsgMSo0KQorCisKKworI2RlZmluZSBTUkRPX1NUQVJUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfQ0RPX1JFR19CQVNFICsgMHgwMDAwKSkKKyNkZWZpbmUgU1JET19QQVVTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX0NET19SRUdfQkFTRSArIDB4MDAwNCkpCisjZGVmaW5lIFNSRE9fUlNUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19DRE9fUkVHX0JBU0UgKyAweDAwMDgpKQorI2RlZmluZSBTUkRPX0lOQlVGX0NUTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfQ0RPX1JFR19CQVNFICsgMHgwMDBDKSkKKyNkZWZpbmUgU1JET19DVEwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX0NET19SRUdfQkFTRSArIDB4MDAxMCkpCisjZGVmaW5lIFNSRE9fTUVNX1NFTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19DRE9fUkVHX0JBU0UgKyAweDAwMTQpKQorI2RlZmluZSBTUkRPX0dFTlNUQVQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfQ0RPX1JFR19CQVNFICsgMHgwMDE4KSkKKyNkZWZpbmUgU1JET19HRU5TVEFUMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX0NET19SRUdfQkFTRSArIDB4MDAxQykpCisjZGVmaW5lIFNSRE9fUEFUSE1BSU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19DRE9fUkVHX0JBU0UgKyAweDAwMjApKQorI2RlZmluZSBTUkRPX0lOQlVGX0FEUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfQ0RPX1JFR19CQVNFICsgMHgwMDI0KSkKKyNkZWZpbmUgU1JET19JTkJVRl9EQVQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX0NET19SRUdfQkFTRSArIDB4MDAyOCkpCisjZGVmaW5lIFNSRE9fU1RBVFVTMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19DRE9fUkVHX0JBU0UgKyAweDAwMkMpKQorI2RlZmluZSBTUkRPX1BMVElORk9fQ0xSMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfQ0RPX1JFR19CQVNFICsgMHgwMDMwKSkKKyNkZWZpbmUgU1JET19QTFRJTkZPX0NMUjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX0NET19SRUdfQkFTRSArIDB4MDAzNCkpCisjZGVmaW5lIFNSRE9fUEFUSElORk9fQ0xSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19DRE9fUkVHX0JBU0UgKyAweDAwMzgpKQorI2RlZmluZSBTUkRPX0FDUV9DVEwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfQ0RPX1JFR19CQVNFICsgMHgwMDNDKSkKKyNkZWZpbmUgU1JET19UU1RDVEwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX0NET19SRUdfQkFTRSArIDB4MDA0MCkpCisjZGVmaW5lIFNSRE9fQ0xLQ1RMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19DRE9fUkVHX0JBU0UgKyAweDAwNDgpKQorI2RlZmluZSBTUkRPX1NUQVRVUzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfQ0RPX1JFR19CQVNFICsgMHgwMDUwKSkKKyNkZWZpbmUgU1JET19JTkJVRl9EQVQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX0NET19SRUdfQkFTRSArIDB4MDA1NCkpCisjZGVmaW5lIFNSRE9fRk5ET19NRU1DVEwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19DRE9fUkVHX0JBU0UgKyAweDAwNTgpKQorI2RlZmluZSBTUkRPX1RIUkVTSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfQ0RPX1JFR19CQVNFICsgMHgwMDVDKSkKKyNkZWZpbmUgU1JET19UU1RfREJHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX0NET19SRUdfQkFTRSArIDB4MDA2MCkpCisjZGVmaW5lIFNSRE9fRE9ORSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19DRE9fUkVHX0JBU0UgKyAweDAwNjQpKQorI2RlZmluZSBTUkRPX1BBVEhJTkZPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfQ0RPX1JFR19CQVNFICsgMHgwMDgwKSkKKyNkZWZpbmUgU1JET19QTFRMSVNUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKENTX0NET19SRUdfQkFTRSArIDB4MDEwMCkpCisjZGVmaW5lIFNSRE9fUExUSU5GTyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShDU19DRE9fUkVHX0JBU0UgKyAweDAyMDApKQorI2RlZmluZSBTUkRPX1BBVEhCVUYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoQ1NfQ0RPX1JFR19CQVNFICsgMHgwODAwKSkKKworI2lmIDAKKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKyNlbmRpZgorLypIV0RfU1JET19TVEFSVCovIAorI2RlZmluZSBTVEFSVF9TVEFSVF9TSElGVCAgICAgICAgICAgICAgICAgICAgIDAgICAgIC8qIFswXSAqLworI2RlZmluZSBTVEFSVF9TUkRPX1NUQVJUX0RMWV9FTl9TSElGVCAgICAgICAgIDEgICAgIC8qIFsxXSAqLworI2RlZmluZSBTVEFSVF9TUkRPX1NUQVJUX0RMWV9DTlRfU0hJRlQgICAgICAgIDIgICAgIC8qIFsyMToyXSAqLworCisjZGVmaW5lIFNUQVJUX1NUQVJUX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMSA8PCBTVEFSVF9TVEFSVF9TSElGVCAgICAKKyNkZWZpbmUgU1RBUlRfU1JET19TVEFSVF9ETFlfRU5fTUFTSyAgICAgICAgICAweDAwMDAwMDAxIDw8IFNUQVJUX1NSRE9fU1RBUlRfRExZX0VOX1NISUZUICAgIAorI2RlZmluZSBTVEFSVF9TUkRPX1NUQVJUX0RMWV9DTlRfTUFTSyAgICAgICAgIDB4MDAwRkZGRkYgPDwgU1RBUlRfU1JET19TVEFSVF9ETFlfQ05UX1NISUZUICAgIAorCisKKy8qSFdEX1NSRE9fUEFVU0UqLworI2RlZmluZSBQQVVTRV9QQVVTRV9TSElGVCAgICAgICAgICAgICAgICAgICAgIDAgICAgIC8qIFswXSAqLworI2RlZmluZSBQQVVTRV9QQVVTRV9NQVNLICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAxIDw8IFBBVVNFX1BBVVNFX1NISUZUICAgICAgICAgICAgICAKKworLypIV0RfU1JET19SU1QqLworI2RlZmluZSBSU1RfUlNUX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgIDAgICAgIC8qIFswXSAqLworI2RlZmluZSBSU1RfUlNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAxIDw8IFJTVF9SU1RfU0hJRlQgICAgICAgICAgICAgICAgICAKKworLypIV0RfU1JET19JTkJVRl9DVEwqLworI2RlZmluZSBJTkJVRl9DVExfQU5URU5OQV9JTklUX0VOX1NISUZUICAgICAgMTkgICAgIC8qIFsxOV0gKi8KKyNkZWZpbmUgSU5CVUZfQ1RMX0FOVEVOTkFfSU5JVF9TSElGVCAgICAgICAgIDE4ICAgICAvKiBbMThdICovCisjZGVmaW5lIElOQlVGX0NUTF9JSVJfQV9JQl9TSElGVCAgICAgICAgICAgICAxNiAgICAgLyogWzE3OjE2XSAqLworI2RlZmluZSBJTkJVRl9DVExfRFVBTF9TSElGVCAgICAgICAgICAgICAgICAgMTUgICAgIC8qIFsxNV0gKi8KKyNkZWZpbmUgSU5CVUZfQ1RMX0JVUlNUX1NISUZUICAgICAgICAgICAgICAgIDE0ICAgICAvKiBbMTRdICovICAgCisjZGVmaW5lIElOQlVGX0NUTF9BTlRfTU9ERV9TSElGVCAgICAgICAgICAgICAxMiAgICAgLyogWzEzOjEyXSAqLworI2RlZmluZSBJTkJVRl9DVExfQ0FQVFVSRV9TSElGVCAgICAgICAgICAgICAgMTEgICAgIC8qIFsxMV0gICAgKi8KKyNkZWZpbmUgSU5CVUZfQ1RMX0NBUExFTl9TSElGVCAgICAgICAgICAgICAgICA4ICAgICAvKiBbMTA6OF0gICAqLworI2RlZmluZSBJTkJVRl9DVExfQlVGRkNBUFRfU0hJRlQgICAgICAgICAgICAgIDQgICAgIC8qIFs3OjRdICAgKi8KKyNkZWZpbmUgSU5CVUZfQ1RMX0JVRkZDQVBJTlRfU0hJRlQgICAgICAgICAgICAwICAgICAvKiBbMzowXSAgICovCisKKyNkZWZpbmUgSU5CVUZfQU5URU5OQV9JTklUX0VOX01BU0sgICAgICAgICAgMHgwMDAwMDAwMSA8PCBJTkJVRl9DVExfQU5URU5OQV9JTklUX0VOX1NISUZUCisjZGVmaW5lIElOQlVGX0FOVEVOTkFfSU5JVF9NQVNLICAgICAgICAgICAgIDB4MDAwMDAwMDEgPDwgSU5CVUZfQ1RMX0FOVEVOTkFfSU5JVF9TSElGVAorI2RlZmluZSBJTkJVRl9DVExfSUlSX0FfSUJfTUFTSyAgICAgICAgICAgICAweDAwMDAwMDAzIDw8IElOQlVGX0NUTF9JSVJfQV9JQl9TSElGVAorI2RlZmluZSBJTkJVRl9DVExfRFVBTF9NQVNLICAgICAgICAgICAgICAgICAweDAwMDAwMDAxIDw8IElOQlVGX0NUTF9EVUFMX1NISUZUCisjZGVmaW5lIElOQlVGX0NUTF9CVVJTVF9NQVNLICAgICAgICAgICAgICAgIDB4MDAwMDAwMDEgPDwgSU5CVUZfQ1RMX0JVUlNUX1NISUZUCisjZGVmaW5lIElOQlVGX0NUTF9BTlRfTU9ERV9NQVNLICAgICAgICAgICAgIDB4MDAwMDAwMDMgPDwgSU5CVUZfQ1RMX0FOVF9NT0RFX1NISUZUICAgICAgIAorI2RlZmluZSBJTkJVRl9DVExfQ0FQVFVSRV9NQVNLICAgICAgICAgICAgICAweDAwMDAwMDAxIDw8IElOQlVGX0NUTF9DQVBUVVJFX1NISUZUICAgICAgICAKKyNkZWZpbmUgSU5CVUZfQ1RMX0NBUExFTl9NQVNLICAgICAgICAgICAgICAgMHgwMDAwMDAwNyA8PCBJTkJVRl9DVExfQ0FQTEVOX1NISUZUICAgICAgICAgCisjZGVmaW5lIElOQlVGX0NUTF9CVUZGQ0FQVF9NQVNLICAgICAgICAgICAgIDB4MDAwMDAwMGYgPDwgSU5CVUZfQ1RMX0JVRkZDQVBUX1NISUZUICAgICAgIAorI2RlZmluZSBJTkJVRl9DVExfQlVGRkNBUElOVF9NQVNLICAgICAgICAgICAweDAwMDAwMDBmIDw8IElOQlVGX0NUTF9CVUZGQ0FQSU5UX1NISUZUCisKKworLypIV0RfU1JET19DVEwqLyAgICAgICAgCisjZGVmaW5lIENUTF9DTEVBUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgOSAgICAgLyogWzldICovCisjZGVmaW5lIENUTF9BQ1FNT0RFX1NISUZUICAgICAgICAgICAgICAgICAgICAgOCAgICAgLyogWzhdICovCisjZGVmaW5lIENUTF9TRUFSQ0hfU0VUX1NISUZUICAgICAgICAgICAgICAgICAgNiAgICAgLyogWzc6Nl0gKi8KKyNkZWZpbmUgQ1RMX1NFQVJDSF9OX1NISUZUICAgICAgICAgICAgICAgICAgICAwICAgICAvKiBbNTowXSAqLworCisjZGVmaW5lIENUTF9DTEVBUl9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDEgPDwgQ1RMX0NMRUFSX1NISUZUICAgICAgICAgICAgICAgCisjZGVmaW5lIENUTF9BQ1FNT0RFX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDEgPDwgQ1RMX0FDUU1PREVfU0hJRlQgCisjZGVmaW5lIENUTF9TRUFSQ0hfU0VUX01BU0sgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDMgPDwgQ1RMX1NFQVJDSF9TRVRfU0hJRlQgICAgICAgICAgCisjZGVmaW5lIENUTF9TRUFSQ0hfTl9NQVNLICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwM2YgPDwgQ1RMX1NFQVJDSF9OX1NISUZUCisKKy8qSFdEX1NSRE9fR0VOU1RBVDAqLyAgICAKKyNkZWZpbmUgR0VOU1RBVDBfQ09ITEVOX1NISUZUICAgICAgICAgICAgICAgIDE3ICAgICAvKiBbMTg6MTddICovCisjZGVmaW5lIEdFTlNUQVQwX1BBU1NDTlQxX1NISUZUICAgICAgICAgICAgICAxMiAgICAgLyogWzE2OjEyXSAqLworI2RlZmluZSBHRU5TVEFUMF9QQVNTQ05UMl9TSElGVCAgICAgICAgICAgICAgIDYgICAgIC8qIFsxMTo2XSAqLworI2RlZmluZSBHRU5TVEFUMF9TSElGVDFfU0hJRlQgICAgICAgICAgICAgICAgIDMgICAgIC8qIFs1OjNdICovCisjZGVmaW5lIEdFTlNUQVQwX1NISUZUMl9TSElGVCAgICAgICAgICAgICAgICAgMCAgICAgLyogWzI6MF0gKi8KKworI2RlZmluZSBHRU5TVEFUMF9DT0hMRU5fTUFTSyAgICAgICAgICAgICAgICAweDAwMDAwMDAzIDw8IEdFTlNUQVQwX0NPSExFTl9TSElGVCAgICAgICAgICAKKyNkZWZpbmUgR0VOU1RBVDBfUEFTU0NOVDFfTUFTSyAgICAgICAgICAgICAgMHgwMDAwMDAxZiA8PCBHRU5TVEFUMF9QQVNTQ05UMV9TSElGVCAgICAgICAgCisjZGVmaW5lIEdFTlNUQVQwX1BBU1NDTlQyX01BU0sgICAgICAgICAgICAgIDB4MDAwMDAwM2YgPDwgR0VOU1RBVDBfUEFTU0NOVDJfU0hJRlQgICAgICAgIAorI2RlZmluZSBHRU5TVEFUMF9TSElGVDFfTUFTSyAgICAgICAgICAgICAgICAweDAwMDAwMDA3IDw8IEdFTlNUQVQwX1NISUZUMV9TSElGVCAgICAgICAgICAKKyNkZWZpbmUgR0VOU1RBVDBfU0hJRlQyX01BU0sgICAgICAgICAgICAgICAgMHgwMDAwMDAwNyA8PCBHRU5TVEFUMF9TSElGVDJfU0hJRlQgIAorCisvKkhXRF9TUkRPX0dFTlNUQVQxKi8gICAgCisjZGVmaW5lIEdFTlNUQVQxX1RIUkVTSDFNX1NISUZUICAgICAgICAgICAgICAgIDggICAgIC8qIFsxNTo4XSAqLworI2RlZmluZSBHRU5TVEFUMV9USFJFU0gyTV9TSElGVCAgICAgICAgICAgICAgICAwICAgICAvKiBbNzowXSAqLworI2RlZmluZSBHRU5TVEFUMV9USFJFU0gxTV9NQVNLICAgICAgICAgICAgICAgMHgwMDAwMDBmZiA8PCBHRU5TVEFUMV9USFJFU0gxTV9TSElGVCAgICAgICAgIAorI2RlZmluZSBHRU5TVEFUMV9USFJFU0gyTV9NQVNLICAgICAgICAgICAgICAgMHgwMDAwMDBmZiA8PCBHRU5TVEFUMV9USFJFU0gyTV9TSElGVAorCisvKkhXRF9TUkRPX1BBVEhNQUlOVCovICAgCisjZGVmaW5lIFBBVEhNQUlOVF9QQVRITUFJTlRfTU9ERV9TSElGVCAgICAgICAgMyAgICAgLyogWzNdICovCisjZGVmaW5lIFBBVEhNQUlOVF9DTFJfTlVNU0VBUkNIX1NISUZUICAgICAgICAgMiAgICAgLyogWzJdICovCisjZGVmaW5lIFBBVEhNQUlOVF9JSVJfQV9TSElGVCAgICAgICAgICAgICAgICAgMCAgICAgLyogWzE6MF0gKi8KKyNkZWZpbmUgUEFUSE1BSU5UX1BBVEhNQUlOVF9NT0RFX01BU0sgICAgICAgMHgwMDAwMDAwMSA8PCBQQVRITUFJTlRfUEFUSE1BSU5UX01PREVfU0hJRlQKKyNkZWZpbmUgUEFUSE1BSU5UX0NMUl9OVU1TRUFSQ0hfTUFTSyAgICAgICAgMHgwMDAwMDAwMSA8PCBQQVRITUFJTlRfQ0xSX05VTVNFQVJDSF9TSElGVCAgCisjZGVmaW5lIFBBVEhNQUlOVF9JSVJfQV9NQVNLICAgICAgICAgICAgICAgIDB4MDAwMDAwMDMgPDwgUEFUSE1BSU5UX0lJUl9BX1NISUZUCisKKy8qSFdEX1NSRE9fSU5CVUYwX0FEUiovICAgCisjZGVmaW5lIElOQlVGX0FEUl9JTkJVRl9BRFJfU0hJRlQgICAgICAgICAgICAgMCAgICAgLyogWzEzOjBdICovCisjZGVmaW5lIElOQlVGX0FEUl9JTkJVRl9BRFJfTUFTSyAgICAgICAgICAgIDB4MDAwMDNmZmYgPDwgSU5CVUZfQURSX0lOQlVGX0FEUl9TSElGVCAgICAgIAorCisvKkhXRF9TUkRPX0lOQlVGX0RBVCovICAgCisjZGVmaW5lIElOQlVGX0RBVF9JTkJVRl9EQVQwX1NISUZUICAgICAgICAgICAgIDAgICAgIC8qIFsxOTowXSAqLworI2RlZmluZSBJTkJVRl9EQVRfSU5CVUZfREFUMF9NQVNLICAgICAgICAgICAgMHgwMDBmZmZmZiA8PCBJTkJVRl9EQVRfSU5CVUZfREFUMF9TSElGVAorCisvKkhXRF9TUkRPX0lOQlVGX0RBVDEqLyAgIAorI2RlZmluZSBJTkJVRl9EQVRfSU5CVUZfREFUMV9TSElGVCAgICAgICAgICAgICAwICAgICAvKiBbMTk6MF0gKi8KKyNkZWZpbmUgSU5CVUZfREFUX0lOQlVGX0RBVDFfTUFTSyAgICAgICAgICAgIDB4MDAwZmZmZmYgPDwgSU5CVUZfREFUX0lOQlVGX0RBVDFfU0hJRlQgICAgICAKKyAgICAgIAorCisvKkhXRF9TUkRPX1NUQVRVUzAqLyAgICAgIAorI2RlZmluZSBTVEFUVVMwX0FOVEVOTkFfU0hJRlQgICAgICAgICAgICAgICAgIDI0ICAgICAvKiBbMjRdICovCisjZGVmaW5lIFNUQVRVUzBfQlVTWV9TSElGVCAgICAgICAgICAgICAgICAgICAgMjMgICAgIC8qIFsyM10gKi8KKyNkZWZpbmUgU1RBVFVTMF9JTk1BR19JTlNUX1NISUZUICAgICAgICAgICAgICAxNSAgICAgLyogWzIyOjE1XSAqLworI2RlZmluZSBTVEFUVVMwX0lOTUFHX0lJUl9TSElGVCAgICAgICAgICAgICAgICA3ICAgICAvKiBbMTQ6N10gKi8KKyNkZWZpbmUgU1RBVFVTMF9CVUZDQVBUTUhTX1NISUZUICAgICAgICAgICAgICAgMCAgICAgLyogWzY6MF0gKi8KKworI2RlZmluZSBTVEFUVVMwX0FOVEVOTkFfTUFTSyAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMSA8PCBTVEFUVVMwX0FOVEVOTkFfU0hJRlQgICAgICAgICAgIAorI2RlZmluZSBTVEFUVVMwX0JVU1lfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMSA8PCBTVEFUVVMwX0JVU1lfU0hJRlQgICAgICAgICAgICAgIAorI2RlZmluZSBTVEFUVVMwX0lOTUFHX0lOU1RfTUFTSyAgICAgICAgICAgICAgMHgwMDAwMDBmZiA8PCBTVEFUVVMwX0lOTUFHX0lOU1RfU0hJRlQgICAgICAgIAorI2RlZmluZSBTVEFUVVMwX0lOTUFHX0lJUl9NQVNLICAgICAgICAgICAgICAgMHgwMDAwMDBmZiA8PCBTVEFUVVMwX0lOTUFHX0lJUl9TSElGVCAgICAgICAgIAorI2RlZmluZSBTVEFUVVMwX0JVRkNBUFRNSFNfTUFTSyAgICAgICAgICAgICAgMHgwMDAwMDA3ZiA8PCBTVEFUVVMwX0JVRkNBUFRNSFNfU0hJRlQgIAorCisvKkhXRF9TUkRPX1BMVElORk9fQ0xSMSovCisjZGVmaW5lIFBMVElORk9fQ0xSMV9DTFJfU0hJRlQgICAgICAgICAgICAgICAgMCAgICAgLyogWzIzOjBdICovCisjZGVmaW5lIFBMVElORk9fQ0xSMV9DTFJfTUFTSyAgICAgICAgICAgICAgIDB4MDBmZmZmZmYgPDwgUExUSU5GT19DTFIxX0NMUl9TSElGVCAgICAgICAgIAorCisvKkhXRF9TUkRPX1BMVElORk9fQ0xSMCovCisjZGVmaW5lIFBMVElORk9fQ0xSMF9DTFJfU0hJRlQgICAgICAgICAgICAgICAgMCAgICAgLyogWzMxOjBdICovCisjZGVmaW5lIFBMVElORk9fQ0xSMF9DTFJfTUFTSyAgICAgICAgICAgICAgIDB4ZmZmZmZmZmYgPDwgUExUSU5GT19DTFIwX0NMUl9TSElGVCAgICAgICAgIAorCisvKkhXRF9TUkRPX1BBVEhJTkZPX0NMUiovCisjZGVmaW5lIFBBVEhJTkZPX0NMUl9DTFJfU0hJRlQgICAgICAgICAgICAgICAgMCAgICAgLyogWzE5OjBdICovCisjZGVmaW5lIFBBVEhJTkZPX0NMUl9DTFJfTUFTSyAgICAgICAgICAgICAgIDB4MDAwZmZmZmYgPDwgUEFUSElORk9fQ0xSX0NMUl9TSElGVCAgICAgICAgIAorCisvKkhXRF9TUkRPX0FDUV9DVEwqLworI2RlZmluZSBBQ1FfQ1RMX0FDUV9XSU5fU0hJRlQgICAgICAgICAgICAgICAgIDExICAgICAvKiBbMjA6MTFdICovICAKKyNkZWZpbmUgQUNRX0NUTF9BQ1FfT0ZGU0VUX1NISUZUICAgICAgICAgICAgICAgMCAgICAgLyogWzEwOjBdICAqLworI2RlZmluZSBBQ1FfQ1RMX0FDUV9XSU5fTUFTSyAgICAgICAgICAgICAgICAweDAwMDAwM2ZmIDw8IEFDUV9DVExfQUNRX1dJTl9TSElGVAorI2RlZmluZSBBQ1FfQ1RMX0FDUV9PRkZTRVRfTUFTSyAgICAgICAgICAgICAweDAwMDAwN2ZmIDw8IEFDUV9DVExfQUNRX09GRlNFVF9TSElGVCAgICAKKworLypIV0RfU1JET19UU1RDVEwqLworI2RlZmluZSBUU1RDVExfSU5CVUZfVFNUX01PREVfU0hJRlQgICAgICAgICAgIDAgICAgIC8qIFswXSAqLworI2RlZmluZSBUU1RDVExfSU5CVUZfVFNUX01PREVfTUFTSyAgICAgICAgICAgIDEgPDwgVFNUQ1RMX0lOQlVGX1RTVF9NT0RFX1NISUZUCisKKy8qSFdEX1NSRE9fU1RBVFVTMSwgTk9URTogc3RhcnQgZnJvbSBiaXQgNyovCisjZGVmaW5lIFNUQVRVUzFfSU5NQUdfSU5TVDFfU0hJRlQgICAgICAgICAgICAgIDE1ICAgICAvKiBbMjI6MTVdICovCisjZGVmaW5lIFNUQVRVUzFfSU5NQUdfSUlSMV9TSElGVCAgICAgICAgICAgICAgICA3ICAgICAvKiBbMTQ6N10gKi8KKyNkZWZpbmUgU1RBVFVTMV9JTk1BR19JTlNUMV9NQVNLICAgICAgICAgICAgICAweDAwMDAwMGZmIDw8IFNUQVRVUzFfSU5NQUdfSU5TVDFfU0hJRlQgICAgICAgIAorI2RlZmluZSBTVEFUVVMxX0lOTUFHX0lJUjFfTUFTSyAgICAgICAgICAgICAgIDB4MDAwMDAwZmYgPDwgU1RBVFVTMV9JTk1BR19JSVIxX1NISUZUICAgICAgICAgCisKKworLypIV0RfU1JET19UU1RTRUwqLworI2RlZmluZSBUU1RTRUxfVFNUX1NFTF9TSElGVCAgICAgICAgICAgICAgICAgIDAgICAgIC8qIFs3OjBdICovCisjZGVmaW5lIFRTVFNFTF9UU1RfU0VMX01BU0sgICAgICAgICAgICAgICAgIDB4MDAwMDAwZmYgPDwgVFNUU0VMX1RTVF9TRUxfU0hJRlQKKworLypIV0RfU1JET19QQVRISU5GTyovCisjZGVmaW5lIFBBVEhJTkZPX01BWCAgICAgICAgICAgICAgICAgICAgICAgICAyMAorI2RlZmluZSBQQVRISU5GT19MRU4gICAgICAgICAgICAgICAgICAgICAgICAgIDQgICAgIC8qIGJ5dGUgKi8KKworI2RlZmluZSBQQVRISU5GT19FTkFCTEVfU0hJRlQgICAgICAgICAgICAgICAgMjIgICAgIC8qIFsyMl0gKi8KKyNkZWZpbmUgUEFUSElORk9fS0VFUF9TSElGVCAgICAgICAgICAgICAgICAgIDIxICAgICAvKiBbMjFdICovCisjZGVmaW5lIFBBVEhJTkZPX1dJTl9TSElGVCAgICAgICAgICAgICAgICAgICAxNyAgICAgLyogWzIwOjE3XSAqLworI2RlZmluZSBQQVRISU5GT19QSUxPVFBOTlVNX1NISUZUICAgICAgICAgICAgOCAgICAgLyogWzE2OjhdICovCisjZGVmaW5lIFBBVEhJTkZPX1NVTU1BR19TSElGVCAgICAgICAgICAgICAgICAwICAgICAvKiBbNzowXSAqLworI2RlZmluZSBQQVRISU5GT19FTkFCTEVfTUFTSyAgICAgICAgICAgICAgICAweDAwMDAwMDAxIDw8IFBBVEhJTkZPX0VOQUJMRV9TSElGVAorI2RlZmluZSBQQVRISU5GT19LRUVQX01BU0sgICAgICAgICAgICAgICAgICAweDAwMDAwMDAxIDw8IFBBVEhJTkZPX0tFRVBfU0hJRlQKKyNkZWZpbmUgUEFUSElORk9fV0lOX01BU0sgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwZiA8PCBQQVRISU5GT19XSU5fU0hJRlQgICAgICAgICAgICAgCisjZGVmaW5lIFBBVEhJTkZPX1BJTE9UUE5OVU1fTUFTSyAgICAgICAgICAgIDB4MDAwMDAxZmYgPDwgUEFUSElORk9fUElMT1RQTk5VTV9TSElGVCAgICAgIAorI2RlZmluZSBQQVRISU5GT19TVU1NQUdfTUFTSyAgICAgICAgICAgICAgICAweDAwMDAwZmYgIDw8IFBBVEhJTkZPX1NVTU1BR19TSElGVAorCisvKkhXRF9TUkRPX1BMVExJU1QqLyAgICAgCisjZGVmaW5lIFBMVExJU1RfTUFYICAgICAgICAgICAgICAgICAgICAgICAgICA1NgorI2RlZmluZSBQTFRMSVNUX0xFTiAgICAgICAgICAgICAgICAgICAgICAgICAgIDQgICAgIC8qIGJ5dGUgKi8KKyNkZWZpbmUgUExUTElTVF9FTkFCTEVfU0hJRlQgICAgICAgICAgICAgICAgIDI2ICAgICAvKiBbMjZdICovCisjZGVmaW5lIFBMVExJU1RfS0VFUF9TSElGVCAgICAgICAgICAgICAgICAgICAyNSAgICAgLyogWzI1XSAqLworI2RlZmluZSBQTFRMSVNUX1dJTl9TSElGVCAgICAgICAgICAgICAgICAgICAgMjEgICAgIC8qIFsyNDoyMV0gKi8KKyNkZWZpbmUgUExUTElTVF9BTFdBWVNfU0VBUkNIX1NISUZUICAgICAgICAgIDIwICAgICAvKiBbMjBdICovCisjZGVmaW5lIFBMVExJU1RfUElMT1RfUE5fU0hJRlQgICAgICAgICAgICAgICAxMSAgICAgLyogWzE5OjExXSAqLworI2RlZmluZSBQTFRMSVNUX09GRlNFVF9TSElGVCAgICAgICAgICAgICAgICAgIDAgICAgIC8qIFsxMDowXSAqLworI2RlZmluZSBQTFRMSVNUX1dJTl9NQVNLICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDBmIDw8IFBMVExJU1RfV0lOX1NISUZUICAgICAgICAgICAgICAKKyNkZWZpbmUgUExUTElTVF9BTFdBWVNfU0VBUkNIX01BU0sgICAgICAgICAgMHgwMDAwMDAwMSA8PCBQTFRMSVNUX0FMV0FZU19TRUFSQ0hfU0hJRlQgICAgCisjZGVmaW5lIFBMVExJU1RfUElMT1RfUE5fTUFTSyAgICAgICAgICAgICAgIDB4MDAwMDAxZmYgPDwgUExUTElTVF9QSUxPVF9QTl9TSElGVCAgICAgICAgIAorI2RlZmluZSBQTFRMSVNUX09GRlNFVF9NQVNLICAgICAgICAgICAgICAgICAweDAwMDAwN2ZmIDw8IFBMVExJU1RfT0ZGU0VUX1NISUZUCisKKy8qSFdEX1NSRE9fUExUSU5GTyovICAgICAKKyNkZWZpbmUgUExUSU5GT19NQVggICAgICAgICAgICAgICAgICAgICAgICAgIDU2CisjZGVmaW5lIFBMVElORk9fTEVOICAgICAgICAgICAgICAgICAgICAgICAgICAgNCAgICAgLyogYnl0ZSAqLworI2RlZmluZSBQTFRJTkZPX05VTVNFQVJDSF9TSElGVCAgICAgICAgICAgICAgIDggICAgIC8qIFsxMTo4XSAqLworI2RlZmluZSBQTFRJTkZPX1NVTU1BR19TSElGVCAgICAgICAgICAgICAgICAgIDAgICAgIC8qIFs3OjBdICovCisjZGVmaW5lIFBMVElORk9fTlVNU0VBUkNIX01BU0sgICAgICAgICAgICAgIDB4MDAwMDAwMGYgPDwgUExUSU5GT19OVU1TRUFSQ0hfU0hJRlQgICAgICAgIAorI2RlZmluZSBQTFRJTkZPX1NVTU1BR19NQVNLICAgICAgICAgICAgICAgICAweDAwMDAwMGZmIDw8IFBMVElORk9fU1VNTUFHX1NISUZUIAorCisvKkhXRF9TUkRPX1BBVEhCVUYqLyAgICAgCisjZGVmaW5lIFBBVEhCVUZfTUFYICAgICAgICAgICAgICAgICAgICAgICAgICAxNiAgICAgLyogdG90YWwgMTYgcGF0aCBmb3IgZWFjaCBwYXRoICggMjAgKSAqLyAKKyNkZWZpbmUgUEFUSEJVRl9MRU4gICAgICAgICAgICAgICAgICAgICAgICAgICA0ICAgICAvKiBieXRlICovCisjZGVmaW5lIFBBVEhCVUZfUEFUSF9WQUxJRF9TSElGVCAgICAgICAgICAgICAyNCAgICAgLyogWzI0XSAqLworI2RlZmluZSBQQVRIQlVGX05VTUFWR19TSElGVCAgICAgICAgICAgICAgICAgMjEgICAgIC8qIFsyMzoyMV0gKi8KKyNkZWZpbmUgUEFUSEJVRl9BTlRFTk5BX1NISUZUICAgICAgICAgICAgICAgIDIwICAgICAvKiBbMjBdICovCisjZGVmaW5lIFBBVEhCVUZfT0ZGU0VUX1NISUZUICAgICAgICAgICAgICAgICAgOCAgICAgLyogWzE5OjhdICovCisjZGVmaW5lIFBBVEhCVUZfU1RBVF9TSElGVCAgICAgICAgICAgICAgICAgICAgMCAgICAgLyogWzc6MF0gKi8KKyNkZWZpbmUgUEFUSEJVRl9QQVRIX1ZBTElEX01BU0sgICAgICAgICAgICAgMHgwMDAwMDAwMSA8PCBQQVRIQlVGX1BBVEhfVkFMSURfU0hJRlQgICAgICAgCisjZGVmaW5lIFBBVEhCVUZfTlVNQVZHX01BU0sgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDcgPDwgUEFUSEJVRl9OVU1BVkdfU0hJRlQgICAgICAgICAgIAorI2RlZmluZSBQQVRIQlVGX0FOVEVOTkFfTUFTSyAgICAgICAgICAgICAgICAweDAwMDAwMDAxIDw8IFBBVEhCVUZfQU5URU5OQV9TSElGVCAgICAgICAgICAKKyNkZWZpbmUgUEFUSEJVRl9PRkZTRVRfTUFTSyAgICAgICAgICAgICAgICAgMHgwMDAwMGZmZiA8PCBQQVRIQlVGX09GRlNFVF9TSElGVCAgICAgICAgICAgCisjZGVmaW5lIFBBVEhCVUZfU1RBVF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwZmYgPDwgUEFUSEJVRl9TVEFUX1NISUZUIAorCisvKkhXRF9TUkRPX0NMS0NUTCovCisjZGVmaW5lIENMS0NUTF9DTEtfTU9ERV9TSElGVCAgICAgICAgICAgICAgICAgMSAgICAgLyogWzFdICovCisjZGVmaW5lIENMS0NUTF9DTEtFTkJfU0hJRlQgICAgICAgICAgICAgICAgICAgMCAgICAgLyogWzBdICovCisjZGVmaW5lIENMS0NUTF9DTEtfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgKDB4MSA8PCBDTEtDVExfQ0xLX01PREVfU0hJRlQpCisjZGVmaW5lIENMS0NUTF9DTEtFTkJfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MSA8PCBDTEtDVExfQ0xLRU5CX1NISUZUKQorCisvKlNSRE9fRE9ORSovCisjZGVmaW5lIFNSRE9fRE9ORV9ET05FX1NISUZUICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIFNSRE9fRE9ORV9ET05FX01BU0sgICAgICAgICAgICAgICAgICAweDAwMDAwMDAxIDw8IFNSRE9fRE9ORV9ET05FX1NISUZUCisjZW5kaWYgLy8jaWZuZGVmIF9DUEhfRVZET19TQ0hfOTdfSF8KZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhldmRvdHhicnAuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhldmRvdHhicnAuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jODdhNWFkCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGV2ZG90eGJycC5oCkBAIC0wLDAgKzEsNzkxIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfQ1BIX0VWRE9fVFhfQlJQX0hfCisjZGVmaW5lIF9DUEhfRVZET19UWF9CUlBfSF8KKworCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEdsb2JhbCBUeXBlZGVmcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogU1JBTUFERFI7ICAgICAgICAgLyogU1JBTSBhZGRyIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBTUkFNREFUQTsgICAgICAgICAvKiBTUkFNIGRhdGEgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIEFQQkFERFI7ICAgICAgICAgIC8qIEFQQiBhZGRyIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgQVBCREFUQTsgICAgICAgICAgLyogQVBCIGRhdGEgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqICBBUEJBRERSMzI7ICAgICAgICAvKiBBUEIgYWRkciBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAgIEFQQkRBVEEzMjsgICAgICAgIC8qIEFQQiBkYXRhIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogRFBSQU1BRERSOyAgICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHNpZ25lZCAgIHNob3J0KiBEUFJBTUFERFJfUzsgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIERQUkFNREFUQTsgICAgICAgIC8qIERQUkFNIGRhdGEgaXMgMTYgYml0cyAqLworCisjaWYgZGVmaW5lZChfX01EOTNfXyl8fGRlZmluZWQoX19NRDk1X18pCisjZGVmaW5lIFRYQlJQX0VWRE9fUkVHX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweGE4MDE4MDAwKQorI2Vsc2UKKyNkZWZpbmUgVFhCUlBfRVZET19SRUdfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4YTg4MTgwMDApCisjZW5kaWYKKworI2RlZmluZSBUWEJSUF9FVkRPX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoVFhCUlBfRVZET19SRUdfQkFTRSArIDB4MDQwOCArIDEqNCkKKworCisKKyNkZWZpbmUgVFhCUlBfV09SS19NT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMDAwKSkKKyNkZWZpbmUgVFhCUlBfR0xPQkFMX0lSUSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMDA4KSkKKyNkZWZpbmUgVFhCUlBfR0xPQkFMX0lSUV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMDBjKSkKKyNkZWZpbmUgVFhCUlBfR0xPQkFMX0lSUV9DTFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMDEwKSkKKyNkZWZpbmUgVFhCUlBfRE9fSVJRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMDM4KSkKKyNkZWZpbmUgVFhCUlBfRE9fSVJRX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMDNjKSkKKyNkZWZpbmUgVFhCUlBfRE9fSVJRX0NMUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMDQwKSkKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMDUwKSkKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMDU0KSkKKyNkZWZpbmUgVFhCUlBfREVCVUdfUkVHX0JBTktfU0VMICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMDU4KSkKKyNkZWZpbmUgVFhCUlBfTUVNX1RFU1RfTU9ERSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMDVjKSkKKyNkZWZpbmUgVFhCUlBfVFJJR0dFUl9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMDYwKSkKKyNkZWZpbmUgVFhCUlBfRElfU1dBUF9FTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMDY0KSkKKyNkZWZpbmUgVFhCUlBfRElfVEVTVF9DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMDY4KSkKKyNkZWZpbmUgVFhCUlBfSV9SRUdfVUxUUkFfUFJFX0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMDZjKSkKKyNkZWZpbmUgVFhCUlBfSV9SRUdfQkVHSU5fVUxUUkFfQ05UICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMDcwKSkKKyNkZWZpbmUgVFhCUlBfSV9SRUdfVUxUUkFfV0FURVJfTUFSSyAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMDc0KSkKKyNkZWZpbmUgVFhCUlBfRElfREVCVUcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMDc4KSkKKyNkZWZpbmUgVFhCUlBfREVCVUdfVFJJR19TRUwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMDdjKSkKKyNkZWZpbmUgVFhCUlBfREVCVUdfMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMDgwKSkKKyNkZWZpbmUgVFhCUlBfREVCVUdfMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMDg0KSkKKyNkZWZpbmUgVFhCUlBfRU5DX0ZTTV9TVEFURSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMDkwKSkKKyNkZWZpbmUgVFhCUlBfQ1JDX0RCR19GTEFHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMDk0KSkKKyNkZWZpbmUgVFhCUlBfSU5UTFZfQl9MV1RfU1RfMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMDk4KSkKKyNkZWZpbmUgVFhCUlBfSU5UTFZfQl9MV1RfU1RfMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMDljKSkKKyNkZWZpbmUgVFhCUlBfQ1RSTF9GU01fU1RBVEUxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMGEwKSkKKyNkZWZpbmUgVFhCUlBfQ1RSTF9GU01fU1RBVEUyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMGE0KSkKKyNkZWZpbmUgVFhCUlBfUk1fRlNNX1NUQVRFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMGE4KSkKKyNkZWZpbmUgVFhCUlBfUlVNQVBfRlNNX1NUQVRFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMGFjKSkKKyNkZWZpbmUgVFhCUlBfVEVTVF9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMGM0KSkKKyNkZWZpbmUgVFhCUlBfQ1JQX1NXX1JFQURfQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMGM4KSkKKyNkZWZpbmUgVFhCUlBfQzJLX1JFQURfUlNUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMGNjKSkKKyNkZWZpbmUgVFhCUlBfRVZET19TVEFSVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMGVjKSkKKyNkZWZpbmUgVFhCUlBfRE9fVFhfRU5BQkxFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMTEwKSkKKyNkZWZpbmUgVFhCUlBfRE9fUlJJX0RBVEFfQUNLMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMTE0KSkKKyNkZWZpbmUgVFhCUlBfRE9fUlJJX0RBVEFfQUNLMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMTE4KSkKKyNkZWZpbmUgVFhCUlBfRE9fUlJJX0RBVEFfQUNLMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMTFjKSkKKyNkZWZpbmUgVFhCUlBfRE9fQ0hOTF9UWVBFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMTI0KSkKKyNkZWZpbmUgVFhCUlBfRE9fUFJPVE9DT0xfU1VCVFlQICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMTJjKSkKKyNkZWZpbmUgVFhCUlBfRE9fVFhfQllURV9TV0FQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMTMwKSkKKyNkZWZpbmUgVFhCUlBfRE9fVFhfVEVTVDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMTM0KSkKKyNkZWZpbmUgVFhCUlBfRVZET19DSE5MX0JBU0VfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMTRjKSkKKyNkZWZpbmUgVFhCUlBfRE9fUlJJX0RBVEFfTkFLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMTUwKSkKKyNkZWZpbmUgVFhCUlBfRVZET19DSE5MX0JBU0VfQUREUjEgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMTU0KSkKKyNkZWZpbmUgVFhCUlBfRE9fSU5URVJMQUNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwMTU4KSkKKyNkZWZpbmUgVFhCUlBfREJHX0NSQzMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwM2JjKSkKKyNkZWZpbmUgVFhCUlBfREJHX0NSQzMyX1JTTFRfSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwM2MwKSkKKyNkZWZpbmUgVFhCUlBfREJHX0NSQzMyX1JTTFRfUSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwM2M0KSkKKyNpZiBkZWZpbmVkKF9fTUQ5M19fKXx8ZGVmaW5lZChfX01EOTVfXykKKyNkZWZpbmUgVFhCUlBfRVZET19TVUJUWVBFMl9ITEFSUV9SRVNVTFQgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWEJSUF9FVkRPX1JFR19CQVNFICsgMHgwNDA4KSkKKyNlbHNlCisjZGVmaW5lIFRYQlJQX0VWRE9fU1VCVFlQRTJfSExBUlFfUkVTVUxUICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhCUlBfRVZET19SRUdfQkFTRSArIDB4MDQwNCkpCisjZW5kaWYKKworI2RlZmluZSBXT1JLX01PREVfV09SS19NT0RFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgV09SS19NT0RFX1dPUktfTU9ERV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFdPUktfTU9ERV9XT1JLX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIEdMT0JBTF9JUlFfRElfRVJSX0lSUV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBHTE9CQUxfSVJRX0RJX0VSUl9JUlFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgR0xPQkFMX0lSUV9ESV9FUlJfSVJRX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIEdMT0JBTF9JUlFfRElfRVJSX0lSUV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIEdMT0JBTF9JUlFfTU9ERV9SRUdfQUREUl9NSVNfSVJRX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBHTE9CQUxfSVJRX01PREVfUkVHX0FERFJfTUlTX0lSUV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgR0xPQkFMX0lSUV9NT0RFX1JFR19BRERSX01JU19JUlFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIEdMT0JBTF9JUlFfTU9ERV9SRUdfQUREUl9NSVNfSVJRX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIEdMT0JBTF9JUlFfTU9ERV9TV0lUQ0hfSVJRX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBHTE9CQUxfSVJRX01PREVfU1dJVENIX0lSUV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgR0xPQkFMX0lSUV9NT0RFX1NXSVRDSF9JUlFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIEdMT0JBTF9JUlFfTU9ERV9TV0lUQ0hfSVJRX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIEdMT0JBTF9JUlFfTU9ERV9JUlFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBHTE9CQUxfSVJRX01PREVfSVJRX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgR0xPQkFMX0lSUV9NT0RFX0lSUV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEdMT0JBTF9JUlFfTU9ERV9JUlFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEdMT0JBTF9JUlFfTUFTS19ESV9FUlJfSVJRX01BU0tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBHTE9CQUxfSVJRX01BU0tfRElfRVJSX0lSUV9NQVNLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgR0xPQkFMX0lSUV9NQVNLX0RJX0VSUl9JUlFfTUFTS19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIEdMT0JBTF9JUlFfTUFTS19ESV9FUlJfSVJRX01BU0tfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIEdMT0JBTF9JUlFfTUFTS19NT0RFX1JFR19BRERSX01JU19JUlFfTUFTS19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBHTE9CQUxfSVJRX01BU0tfTU9ERV9SRUdfQUREUl9NSVNfSVJRX01BU0tfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgR0xPQkFMX0lSUV9NQVNLX01PREVfUkVHX0FERFJfTUlTX0lSUV9NQVNLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIEdMT0JBTF9JUlFfTUFTS19NT0RFX1JFR19BRERSX01JU19JUlFfTUFTS19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIEdMT0JBTF9JUlFfTUFTS19NT0RFX1NXSVRDSF9JUlFfTUFTS19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBHTE9CQUxfSVJRX01BU0tfTU9ERV9TV0lUQ0hfSVJRX01BU0tfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgR0xPQkFMX0lSUV9NQVNLX01PREVfU1dJVENIX0lSUV9NQVNLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIEdMT0JBTF9JUlFfTUFTS19NT0RFX1NXSVRDSF9JUlFfTUFTS19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIEdMT0JBTF9JUlFfTUFTS19NT0RFX0lSUV9NQVNLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBHTE9CQUxfSVJRX01BU0tfTU9ERV9JUlFfTUFTS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgR0xPQkFMX0lSUV9NQVNLX01PREVfSVJRX01BU0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEdMT0JBTF9JUlFfTUFTS19NT0RFX0lSUV9NQVNLX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEdMT0JBTF9JUlFfQ0xSX0RJX0VSUl9JUlFfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBHTE9CQUxfSVJRX0NMUl9ESV9FUlJfSVJRX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgR0xPQkFMX0lSUV9DTFJfRElfRVJSX0lSUV9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIEdMT0JBTF9JUlFfQ0xSX0RJX0VSUl9JUlFfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIEdMT0JBTF9JUlFfQ0xSX01PREVfUkVHX0FERFJfTUlTX0lSUV9DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBHTE9CQUxfSVJRX0NMUl9NT0RFX1JFR19BRERSX01JU19JUlFfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgR0xPQkFMX0lSUV9DTFJfTU9ERV9SRUdfQUREUl9NSVNfSVJRX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIEdMT0JBTF9JUlFfQ0xSX01PREVfUkVHX0FERFJfTUlTX0lSUV9DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIEdMT0JBTF9JUlFfQ0xSX01PREVfU1dJVENIX0lSUV9DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBHTE9CQUxfSVJRX0NMUl9NT0RFX1NXSVRDSF9JUlFfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgR0xPQkFMX0lSUV9DTFJfTU9ERV9TV0lUQ0hfSVJRX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIEdMT0JBTF9JUlFfQ0xSX01PREVfU1dJVENIX0lSUV9DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIEdMT0JBTF9JUlFfQ0xSX01PREVfSVJRX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBHTE9CQUxfSVJRX0NMUl9NT0RFX0lSUV9DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgR0xPQkFMX0lSUV9DTFJfTU9ERV9JUlFfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEdMT0JBTF9JUlFfQ0xSX01PREVfSVJRX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERPX0lSUV9ET19UUklHX0VSUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBET19JUlFfRE9fVFJJR19FUlJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRE9fSVJRX0RPX1RSSUdfRVJSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIERPX0lSUV9ET19UUklHX0VSUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIERPX0lSUV9ET19SRF9FUlJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBET19JUlFfRE9fUkRfRVJSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRE9fSVJRX0RPX1JEX0VSUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIERPX0lSUV9ET19SRF9FUlJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIERPX0lSUV9ET19ET05FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBET19JUlFfRE9fRE9ORV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRE9fSVJRX0RPX0RPTkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERPX0lSUV9ET19ET05FX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERPX0lSUV9NQVNLX0RPX1RSSUdfRVJSX01BU0tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBET19JUlFfTUFTS19ET19UUklHX0VSUl9NQVNLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRE9fSVJRX01BU0tfRE9fVFJJR19FUlJfTUFTS19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIERPX0lSUV9NQVNLX0RPX1RSSUdfRVJSX01BU0tfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIERPX0lSUV9NQVNLX0RPX1JEX0VSUl9NQVNLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBET19JUlFfTUFTS19ET19SRF9FUlJfTUFTS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRE9fSVJRX01BU0tfRE9fUkRfRVJSX01BU0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIERPX0lSUV9NQVNLX0RPX1JEX0VSUl9NQVNLX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIERPX0lSUV9NQVNLX0RPX0RPTkVfTUFTS19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBET19JUlFfTUFTS19ET19ET05FX01BU0tfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRE9fSVJRX01BU0tfRE9fRE9ORV9NQVNLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERPX0lSUV9NQVNLX0RPX0RPTkVfTUFTS19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERPX0lSUV9DTFJfRE9fVFJJR19FUlJfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBET19JUlFfQ0xSX0RPX1RSSUdfRVJSX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRE9fSVJRX0NMUl9ET19UUklHX0VSUl9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIERPX0lSUV9DTFJfRE9fVFJJR19FUlJfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIERPX0lSUV9DTFJfRE9fUkRfRVJSX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBET19JUlFfQ0xSX0RPX1JEX0VSUl9DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRE9fSVJRX0NMUl9ET19SRF9FUlJfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIERPX0lSUV9DTFJfRE9fUkRfRVJSX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIERPX0lSUV9DTFJfRE9fRE9ORV9DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBET19JUlFfQ0xSX0RPX0RPTkVfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRE9fSVJRX0NMUl9ET19ET05FX0NMUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERPX0lSUV9DTFJfRE9fRE9ORV9DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYQlJQX1NXX0NLRU5fQVBCX1NXX0NLRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTl9BUEJfU1dfQ0tFTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYQlJQX1NXX0NLRU5fQVBCX1NXX0NLRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBUWEJSUF9TV19DS0VOX0FQQl9TV19DS0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBUWEJSUF9TV19DS0VOX09CX1NXX0NLRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTl9PQl9TV19DS0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYQlJQX1NXX0NLRU5fT0JfU1dfQ0tFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBUWEJSUF9TV19DS0VOX09CX1NXX0NLRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBUWEJSUF9TV19DS0VOX1JVTUFQX1NXX0NLRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTl9SVU1BUF9TV19DS0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYQlJQX1NXX0NLRU5fUlVNQVBfU1dfQ0tFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBUWEJSUF9TV19DS0VOX1JVTUFQX1NXX0NLRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBUWEJSUF9TV19DS0VOX0lOVEwyX1NXX0NLRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTl9JTlRMMl9TV19DS0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYQlJQX1NXX0NLRU5fSU5UTDJfU1dfQ0tFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBUWEJSUF9TV19DS0VOX0lOVEwyX1NXX0NLRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBUWEJSUF9TV19DS0VOX0lOVEwxX1NXX0NLRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTl9JTlRMMV9TV19DS0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYQlJQX1NXX0NLRU5fSU5UTDFfU1dfQ0tFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBUWEJSUF9TV19DS0VOX0lOVEwxX1NXX0NLRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBUWEJSUF9TV19DS0VOX1NDUl9TV19DS0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTl9TQ1JfU1dfQ0tFTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYQlJQX1NXX0NLRU5fU0NSX1NXX0NLRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBUWEJSUF9TV19DS0VOX1NDUl9TV19DS0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBUWEJSUF9TV19DS0VOX1JNX1NXX0NLRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTl9STV9TV19DS0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYQlJQX1NXX0NLRU5fUk1fU1dfQ0tFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBUWEJSUF9TV19DS0VOX1JNX1NXX0NLRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBUWEJSUF9TV19DS0VOX0VOQ19TV19DS0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTl9FTkNfU1dfQ0tFTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYQlJQX1NXX0NLRU5fRU5DX1NXX0NLRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBUWEJSUF9TV19DS0VOX0VOQ19TV19DS0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBUWEJSUF9TV19DS0VOX0NSQ19TV19DS0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTl9DUkNfU1dfQ0tFTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYQlJQX1NXX0NLRU5fQ1JDX1NXX0NLRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBUWEJSUF9TV19DS0VOX0NSQ19TV19DS0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBUWEJSUF9TV19DS0VOX0RJX1NXX0NLRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTl9ESV9TV19DS0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYQlJQX1NXX0NLRU5fRElfU1dfQ0tFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBUWEJSUF9TV19DS0VOX0RJX1NXX0NLRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBUWEJSUF9TV19DS0VOX1RYQlJQX1NXX0NLRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhCUlBfU1dfQ0tFTl9UWEJSUF9TV19DS0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYQlJQX1NXX0NLRU5fVFhCUlBfU1dfQ0tFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUWEJSUF9TV19DS0VOX1RYQlJQX1NXX0NLRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUWEJSUF9DTEtfQ1RSTFNFTF9BUEJfQ1RSTFNFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFRYQlJQX0NMS19DVFJMU0VMX0FQQl9DVFJMU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9DTEtfQ1RSTFNFTF9BUEJfQ1RSTFNFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfQVBCX0NUUkxTRUxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfT0JfQ1RSTFNFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFRYQlJQX0NMS19DVFJMU0VMX09CX0NUUkxTRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9DTEtfQ1RSTFNFTF9PQl9DVFJMU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfT0JfQ1RSTFNFTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfUlVNQVBfQ1RSTFNFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFRYQlJQX0NMS19DVFJMU0VMX1JVTUFQX0NUUkxTRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9DTEtfQ1RSTFNFTF9SVU1BUF9DVFJMU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfUlVNQVBfQ1RSTFNFTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfSU5UTDJfQ1RSTFNFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFRYQlJQX0NMS19DVFJMU0VMX0lOVEwyX0NUUkxTRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9DTEtfQ1RSTFNFTF9JTlRMMl9DVFJMU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfSU5UTDJfQ1RSTFNFTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfSU5UTDFfQ1RSTFNFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFRYQlJQX0NMS19DVFJMU0VMX0lOVEwxX0NUUkxTRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9DTEtfQ1RSTFNFTF9JTlRMMV9DVFJMU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfSU5UTDFfQ1RSTFNFTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfU0NSX0NUUkxTRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFRYQlJQX0NMS19DVFJMU0VMX1NDUl9DVFJMU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9DTEtfQ1RSTFNFTF9TQ1JfQ1RSTFNFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfU0NSX0NUUkxTRUxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfUk1fQ1RSTFNFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFRYQlJQX0NMS19DVFJMU0VMX1JNX0NUUkxTRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9DTEtfQ1RSTFNFTF9STV9DVFJMU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfUk1fQ1RSTFNFTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfRU5DX0NUUkxTRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYQlJQX0NMS19DVFJMU0VMX0VOQ19DVFJMU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9DTEtfQ1RSTFNFTF9FTkNfQ1RSTFNFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfRU5DX0NUUkxTRUxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfQ1JDX0NUUkxTRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFRYQlJQX0NMS19DVFJMU0VMX0NSQ19DVFJMU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9DTEtfQ1RSTFNFTF9DUkNfQ1RSTFNFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfQ1JDX0NUUkxTRUxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfRElfQ1RSTFNFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYQlJQX0NMS19DVFJMU0VMX0RJX0NUUkxTRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9DTEtfQ1RSTFNFTF9ESV9DVFJMU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfRElfQ1RSTFNFTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfVFhCUlBfQ0xLX0NUUkxTRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYQlJQX0NMS19DVFJMU0VMX1RYQlJQX0NMS19DVFJMU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9DTEtfQ1RSTFNFTF9UWEJSUF9DTEtfQ1RSTFNFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhCUlBfQ0xLX0NUUkxTRUxfVFhCUlBfQ0xLX0NUUkxTRUxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREVCVUdfUkVHX0JBTktfU0VMX0RFQlVHX1JFR19CQU5LX1NFTF8zX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBERUJVR19SRUdfQkFOS19TRUxfREVCVUdfUkVHX0JBTktfU0VMXzNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREVCVUdfUkVHX0JBTktfU0VMX0RFQlVHX1JFR19CQU5LX1NFTF8zX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkYwMDAwMDApCisKKyNkZWZpbmUgREVCVUdfUkVHX0JBTktfU0VMX0RFQlVHX1JFR19CQU5LX1NFTF8yX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBERUJVR19SRUdfQkFOS19TRUxfREVCVUdfUkVHX0JBTktfU0VMXzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgREVCVUdfUkVHX0JBTktfU0VMX0RFQlVHX1JFR19CQU5LX1NFTF8yX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGRjAwMDApCisKKyNkZWZpbmUgREVCVUdfUkVHX0JBTktfU0VMX0RFQlVHX1JFR19CQU5LX1NFTF8xX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIERFQlVHX1JFR19CQU5LX1NFTF9ERUJVR19SRUdfQkFOS19TRUxfMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBERUJVR19SRUdfQkFOS19TRUxfREVCVUdfUkVHX0JBTktfU0VMXzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkYwMCkKKworI2RlZmluZSBERUJVR19SRUdfQkFOS19TRUxfREVCVUdfUkVHX0JBTktfU0VMXzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREVCVUdfUkVHX0JBTktfU0VMX0RFQlVHX1JFR19CQU5LX1NFTF8wX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIERFQlVHX1JFR19CQU5LX1NFTF9ERUJVR19SRUdfQkFOS19TRUxfMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEZGKQorCisjZGVmaW5lIE1FTV9URVNUX01PREVfTUVNX1RFU1RfTU9ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNRU1fVEVTVF9NT0RFX01FTV9URVNUX01PREVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTUVNX1RFU1RfTU9ERV9NRU1fVEVTVF9NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIE1FTV9URVNUX01PREVfTUVNX1RFU1RfTU9ERV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYQlJQX1RSSUdHRVJfTU9ERV9UWEJSUF90cmlnZ2VyX2VuYWJsZV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9UUklHR0VSX01PREVfVFhCUlBfdHJpZ2dlcl9lbmFibGVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhCUlBfVFJJR0dFUl9NT0RFX1RYQlJQX3RyaWdnZXJfZW5hYmxlX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFRYQlJQX1RSSUdHRVJfTU9ERV9UWEJSUF90cmlnZ2VyX2VuYWJsZV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFRYQlJQX1RSSUdHRVJfTU9ERV9UWEJSUF9UUklHR0VSX01PREVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWEJSUF9UUklHR0VSX01PREVfVFhCUlBfVFJJR0dFUl9NT0RFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhCUlBfVFJJR0dFUl9NT0RFX1RYQlJQX1RSSUdHRVJfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYQlJQX1RSSUdHRVJfTU9ERV9UWEJSUF9UUklHR0VSX01PREVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERJX1NXQVBfRU5fRElfU1dBUF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBESV9TV0FQX0VOX0RJX1NXQVBfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgRElfU1dBUF9FTl9ESV9TV0FQX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDcpCisKKyNkZWZpbmUgRElfVEVTVF9DRkdfRElfVEVTVF9NT0RFX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBESV9URVNUX0NGR19ESV9URVNUX01PREVfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRElfVEVTVF9DRkdfRElfVEVTVF9NT0RFX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIERJX1RFU1RfQ0ZHX0RJX1RFU1RfTU9ERV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIERJX1RFU1RfQ0ZHX0RJX1RFU1RfREFUQV9TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBESV9URVNUX0NGR19ESV9URVNUX0RBVEFfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgRElfVEVTVF9DRkdfRElfVEVTVF9EQVRBX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzMDApCisKKyNkZWZpbmUgRElfVEVTVF9DRkdfRElfVEVTVF9SQU5EX1NFRURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERJX1RFU1RfQ0ZHX0RJX1RFU1RfUkFORF9TRUVEX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBESV9URVNUX0NGR19ESV9URVNUX1JBTkRfU0VFRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDBGRikKKworI2RlZmluZSBJX1JFR19VTFRSQV9QUkVfRU5fSV9SRUdfVUxUUkFfUFJFX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgSV9SRUdfVUxUUkFfUFJFX0VOX0lfUkVHX1VMVFJBX1BSRV9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIElfUkVHX1VMVFJBX1BSRV9FTl9JX1JFR19VTFRSQV9QUkVfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBJX1JFR19VTFRSQV9QUkVfRU5fSV9SRUdfVUxUUkFfUFJFX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBJX1JFR19CRUdJTl9VTFRSQV9DTlRfSV9SRUdfQkVHSU5fVUxUUkFfQ05UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgSV9SRUdfQkVHSU5fVUxUUkFfQ05UX0lfUkVHX0JFR0lOX1VMVFJBX0NOVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIElfUkVHX0JFR0lOX1VMVFJBX0NOVF9JX1JFR19CRUdJTl9VTFRSQV9DTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIElfUkVHX1VMVFJBX1dBVEVSX01BUktfSV9SRUdfVUxUUkFfV0FURVJfTUFSS19MU0IgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBJX1JFR19VTFRSQV9XQVRFUl9NQVJLX0lfUkVHX1VMVFJBX1dBVEVSX01BUktfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgSV9SRUdfVUxUUkFfV0FURVJfTUFSS19JX1JFR19VTFRSQV9XQVRFUl9NQVJLX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDcpCisKKyNkZWZpbmUgRElfREVCVUdfRE1BMF9TVEFURV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBESV9ERUJVR19ETUEwX1NUQVRFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgRElfREVCVUdfRE1BMF9TVEFURV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAzMDAwMDApCisKKyNkZWZpbmUgRElfREVCVUdfUkFNX1JEX1NUQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBESV9ERUJVR19SQU1fUkRfU1RBVEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgRElfREVCVUdfUkFNX1JEX1NUQVRFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMzAwMDApCisKKyNkZWZpbmUgRElfREVCVUdfT19ETUEwX1VUUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBESV9ERUJVR19PX0RNQTBfVVRSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRElfREVCVUdfT19ETUEwX1VUUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisjZGVmaW5lIERJX0RFQlVHX09fRE1BMF9VVFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorCisjZGVmaW5lIERJX0RFQlVHX09fRE1BMF9QVFJfVVRSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgRElfREVCVUdfT19ETUEwX1BUUl9VVFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERJX0RFQlVHX09fRE1BMF9QVFJfVVRSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBESV9ERUJVR19PX0RNQTBfUFRSX1VUUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBESV9ERUJVR19PX0RNQTBfUkRfUkVRX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIERJX0RFQlVHX09fRE1BMF9SRF9SRVFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBESV9ERUJVR19PX0RNQTBfUkRfUkVRX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgRElfREVCVUdfT19ETUEwX1JEX1JFUV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgRElfREVCVUdfRE1BX0FMTF9SREFUQV9ET05FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIERJX0RFQlVHX0RNQV9BTExfUkRBVEFfRE9ORV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBESV9ERUJVR19ETUFfQUxMX1JEQVRBX0RPTkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgRElfREVCVUdfRE1BX0FMTF9SREFUQV9ET05FX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgRElfREVCVUdfUkFNX0ZVTExfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIERJX0RFQlVHX1JBTV9GVUxMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBESV9ERUJVR19SQU1fRlVMTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgRElfREVCVUdfUkFNX0ZVTExfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgRElfREVCVUdfQ0hFQ0tfRE9ORV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIERJX0RFQlVHX0NIRUNLX0RPTkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBESV9ERUJVR19DSEVDS19ET05FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgRElfREVCVUdfQ0hFQ0tfRE9ORV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgRElfREVCVUdfRElfT1VUX0JJVF9GSU5JU0hfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERJX0RFQlVHX0RJX09VVF9CSVRfRklOSVNIX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBESV9ERUJVR19ESV9PVVRfQklUX0ZJTklTSF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgRElfREVCVUdfRElfT1VUX0JJVF9GSU5JU0hfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgRElfREVCVUdfUkFNX0FMTF9SREFUQV9SRUFEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERJX0RFQlVHX1JBTV9BTExfUkRBVEFfUkVBRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBESV9ERUJVR19SQU1fQUxMX1JEQVRBX1JFQURfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgRElfREVCVUdfUkFNX0FMTF9SREFUQV9SRUFEX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgRElfREVCVUdfRElfQlVTWV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERJX0RFQlVHX0RJX0JVU1lfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBESV9ERUJVR19ESV9CVVNZX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgRElfREVCVUdfRElfQlVTWV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgRElfREVCVUdfQ1JDX0JVRl9QSU5HX0VNUFRZX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERJX0RFQlVHX0NSQ19CVUZfUElOR19FTVBUWV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBESV9ERUJVR19DUkNfQlVGX1BJTkdfRU1QVFlfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgRElfREVCVUdfQ1JDX0JVRl9QSU5HX0VNUFRZX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgRElfREVCVUdfQ1RDX0JVRl9QT05HX0VNUFRZX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIERJX0RFQlVHX0NUQ19CVUZfUE9OR19FTVBUWV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBESV9ERUJVR19DVENfQlVGX1BPTkdfRU1QVFlfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgRElfREVCVUdfQ1RDX0JVRl9QT05HX0VNUFRZX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgRElfREVCVUdfQ1JDX0JVRl9MT0FEX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERJX0RFQlVHX0NSQ19CVUZfTE9BRF9TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBESV9ERUJVR19DUkNfQlVGX0xPQURfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgRElfREVCVUdfQ1JDX0JVRl9MT0FEX1NFTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgRElfREVCVUdfQ1JDX0JVRl9PVVRfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERJX0RFQlVHX0NSQ19CVUZfT1VUX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBESV9ERUJVR19DUkNfQlVGX09VVF9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgRElfREVCVUdfQ1JDX0JVRl9PVVRfU0VMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgREVCVUdfVFJJR19TRUxfREVCVUdfVFJJR19TRUxfMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIERFQlVHX1RSSUdfU0VMX0RFQlVHX1RSSUdfU0VMXzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBERUJVR19UUklHX1NFTF9ERUJVR19UUklHX1NFTF8xX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkYwMCkKKworI2RlZmluZSBERUJVR19UUklHX1NFTF9ERUJVR19UUklHX1NFTF8wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREVCVUdfVFJJR19TRUxfREVCVUdfVFJJR19TRUxfMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIERFQlVHX1RSSUdfU0VMX0RFQlVHX1RSSUdfU0VMXzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEZGKQorCisjZGVmaW5lIFRYQlJQX0RFQlVHXzBfVFhCUlBfREVCVUdfMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWEJSUF9ERUJVR18wX1RYQlJQX0RFQlVHXzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFRYQlJQX0RFQlVHXzBfVFhCUlBfREVCVUdfMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFRYQlJQX0RFQlVHXzFfVFhCUlBfREVCVUdfMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWEJSUF9ERUJVR18xX1RYQlJQX0RFQlVHXzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFRYQlJQX0RFQlVHXzFfVFhCUlBfREVCVUdfMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIEVOQ19GU01fU1RBVEVfd3RfY29udl9zdGF0ZV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNykKKyNkZWZpbmUgRU5DX0ZTTV9TVEFURV93dF9jb252X3N0YXRlX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEVOQ19GU01fU1RBVEVfd3RfY29udl9zdGF0ZV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEUwMDAwKQorCisjZGVmaW5lIEVOQ19GU01fU1RBVEVfbHRlX3N0YXRlX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgRU5DX0ZTTV9TVEFURV9sdGVfc3RhdGVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIEVOQ19GU01fU1RBVEVfbHRlX3N0YXRlX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDFFMDAwKQorCisjZGVmaW5lIEVOQ19GU01fU1RBVEVfY29kZWNfZGlzX3N0YXRlX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgRU5DX0ZTTV9TVEFURV9jb2RlY19kaXNfc3RhdGVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEVOQ19GU01fU1RBVEVfY29kZWNfZGlzX3N0YXRlX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxQzAwKQorCisjZGVmaW5lIEVOQ19GU01fU1RBVEVfY29kZWNfZW5fc3RhdGVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBFTkNfRlNNX1NUQVRFX2NvZGVjX2VuX3N0YXRlX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgRU5DX0ZTTV9TVEFURV9jb2RlY19lbl9zdGF0ZV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzQzApCisKKyNkZWZpbmUgRU5DX0ZTTV9TVEFURV9jb2RlY193X3N0YXRlX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEVOQ19GU01fU1RBVEVfY29kZWNfd19zdGF0ZV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBFTkNfRlNNX1NUQVRFX2NvZGVjX3dfc3RhdGVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzOCkKKworI2RlZmluZSBFTkNfRlNNX1NUQVRFX2NvZGVjX3N0YXRlX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRU5DX0ZTTV9TVEFURV9jb2RlY19zdGF0ZV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEVOQ19GU01fU1RBVEVfY29kZWNfc3RhdGVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIENSQ19EQkdfRkxBR19jcmNfbGVuX2RiZ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNikKKyNkZWZpbmUgQ1JDX0RCR19GTEFHX2NyY19sZW5fZGJnX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIENSQ19EQkdfRkxBR19jcmNfbGVuX2RiZ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDdDMDAwMDAwKQorCisjZGVmaW5lIENSQ19EQkdfRkxBR19ydHRfcmNfaWR4X2RiZ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNSkKKyNkZWZpbmUgQ1JDX0RCR19GTEFHX3J0dF9yY19pZHhfZGJnX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENSQ19EQkdfRkxBR19ydHRfcmNfaWR4X2RiZ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAyMDAwMDAwKQorI2RlZmluZSBDUkNfREJHX0ZMQUdfcnR0X3JjX2lkeF9kYmdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMjAwMDAwMCkKKworI2RlZmluZSBDUkNfREJHX0ZMQUdfY3FpX29yX2RhdGFfZGJnX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIENSQ19EQkdfRkxBR19jcWlfb3JfZGF0YV9kYmdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDUkNfREJHX0ZMQUdfY3FpX29yX2RhdGFfZGJnX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMTAwMDAwMCkKKyNkZWZpbmUgQ1JDX0RCR19GTEFHX2NxaV9vcl9kYXRhX2RiZ19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDEwMDAwMDApCisKKyNkZWZpbmUgQ1JDX0RCR19GTEFHX2NyY19zdGF0ZV9kYmdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBDUkNfREJHX0ZMQUdfY3JjX3N0YXRlX2RiZ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgQ1JDX0RCR19GTEFHX2NyY19zdGF0ZV9kYmdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAzRjAwMDApCisKKyNkZWZpbmUgQ1JDX0RCR19GTEFHX2JpdF9jbnRfZGJnX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENSQ19EQkdfRkxBR19iaXRfY250X2RiZ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgQ1JDX0RCR19GTEFHX2JpdF9jbnRfZGJnX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgSU5UTFZfQl9MV1RfU1RfMF9sdGVfd2VuX3N0X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8wX2x0ZV93ZW5fc3RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgSU5UTFZfQl9MV1RfU1RfMF9sdGVfd2VuX3N0X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMzgwMDApCisKKyNkZWZpbmUgSU5UTFZfQl9MV1RfU1RfMF90c193X3N0YXRlX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8wX3RzX3dfc3RhdGVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgSU5UTFZfQl9MV1RfU1RfMF90c193X3N0YXRlX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDcwMDApCisKKyNkZWZpbmUgSU5UTFZfQl9MV1RfU1RfMF90c19yX3N0YXRlX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzBfdHNfcl9zdGF0ZV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8wX3RzX3Jfc3RhdGVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMEUwMCkKKworI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8wX3BwX3dfc3RhdGVfdXBhX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgSU5UTFZfQl9MV1RfU1RfMF9wcF93X3N0YXRlX3VwYV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzBfcHBfd19zdGF0ZV91cGFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUMwKQorCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzBfcHBfd19zdGF0ZV9kY2hfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8wX3BwX3dfc3RhdGVfZGNoX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgSU5UTFZfQl9MV1RfU1RfMF9wcF93X3N0YXRlX2RjaF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMzgpCisKKyNkZWZpbmUgSU5UTFZfQl9MV1RfU1RfMF9zZWNfaW50bHZfc3RhdGVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzBfc2VjX2ludGx2X3N0YXRlX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8wX3NlY19pbnRsdl9zdGF0ZV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8xX2NsbV9jbnRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjUpCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzFfY2xtX2NudF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8xX2NsbV9jbnRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgzRTAwMDAwMCkKKworI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8xX3Jvd19jbnRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjIpCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzFfcm93X2NudF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8xX3Jvd19jbnRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMUMwMDAwMCkKKworI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8xX2Jsa19jbnRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzFfYmxrX2NudF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8xX2Jsa19jbnRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDNGQzAwMCkKKworI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8xX3NlY19yZXFvX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzFfc2VjX3JlcW9fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8xX3NlY19yZXFvX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKyNkZWZpbmUgSU5UTFZfQl9MV1RfU1RfMV9zZWNfcmVxb19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisKKyNkZWZpbmUgSU5UTFZfQl9MV1RfU1RfMV9wcHJfcmVxX3VwYV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzFfcHByX3JlcV91cGFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8xX3Bwcl9yZXFfdXBhX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMUUwMCkKKworI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8xX3Bwcl9yZWFkX2RvbmVfdXBhX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgSU5UTFZfQl9MV1RfU1RfMV9wcHJfcmVhZF9kb25lX3VwYV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzFfcHByX3JlYWRfZG9uZV91cGFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUUwKQorCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzFfc2Vjb25kX2ludGx2X2RvbmVfdXBhX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8xX3NlY29uZF9pbnRsdl9kb25lX3VwYV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgSU5UTFZfQl9MV1RfU1RfMV9zZWNvbmRfaW50bHZfZG9uZV91cGFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzFfc2Vjb25kX2ludGx2X2RvbmVfdXBhX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzFfcHByX3JlcV9kY2hfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8xX3Bwcl9yZXFfZGNoX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgSU5UTFZfQl9MV1RfU1RfMV9wcHJfcmVxX2RjaF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzFfcHByX3JlcV9kY2hfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzFfcHByX3JlYWRfZG9uZV9kY2hfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8xX3Bwcl9yZWFkX2RvbmVfZGNoX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgSU5UTFZfQl9MV1RfU1RfMV9wcHJfcmVhZF9kb25lX2RjaF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzFfcHByX3JlYWRfZG9uZV9kY2hfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzFfc2Vjb25kX2ludGx2X2RvbmVfZGNoX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8xX3NlY29uZF9pbnRsdl9kb25lX2RjaF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgSU5UTFZfQl9MV1RfU1RfMV9zZWNvbmRfaW50bHZfZG9uZV9kY2hfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzFfc2Vjb25kX2ludGx2X2RvbmVfZGNoX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzFfZGNoX2VkY2hfbW9kZV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBJTlRMVl9CX0xXVF9TVF8xX2RjaF9lZGNoX21vZGVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgSU5UTFZfQl9MV1RfU1RfMV9kY2hfZWRjaF9tb2RlX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIElOVExWX0JfTFdUX1NUXzFfZGNoX2VkY2hfbW9kZV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFVUWEJSUF9DVFJMX0ZTTV9TVEFURTFfVVRYQlJQX0xURV9TVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgVVRYQlJQX0NUUkxfRlNNX1NUQVRFMV9VVFhCUlBfTFRFX1NUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFVUWEJSUF9DVFJMX0ZTTV9TVEFURTFfVVRYQlJQX0xURV9TVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAzRjAwMDAwKQorCisjZGVmaW5lIFVUWEJSUF9DVFJMX0ZTTV9TVEFURTFfVVRYQlJQX1RPUF9TVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBVVFhCUlBfQ1RSTF9GU01fU1RBVEUxX1VUWEJSUF9UT1BfU1RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFVUWEJSUF9DVFJMX0ZTTV9TVEFURTFfVVRYQlJQX1RPUF9TVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZGKQorCisjZGVmaW5lIFVUWEJSUF9DVFJMX0ZTTV9TVEFURTJfVVRYQlJQX1VUX1NUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgVVRYQlJQX0NUUkxfRlNNX1NUQVRFMl9VVFhCUlBfVVRfU1RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFVUWEJSUF9DVFJMX0ZTTV9TVEFURTJfVVRYQlJQX1VUX1NUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEYwMDAwKQorCisjZGVmaW5lIFVUWEJSUF9DVFJMX0ZTTV9TVEFURTJfVVRYQlJQX1MyX1NUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBVVFhCUlBfQ1RSTF9GU01fU1RBVEUyX1VUWEJSUF9TMl9TVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgVVRYQlJQX0NUUkxfRlNNX1NUQVRFMl9VVFhCUlBfUzJfU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGODApCisKKyNkZWZpbmUgVVRYQlJQX0NUUkxfRlNNX1NUQVRFMl9VVFhCUlBfUzFfU1RfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFVUWEJSUF9DVFJMX0ZTTV9TVEFURTJfVVRYQlJQX1MxX1NUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBVVFhCUlBfQ1RSTF9GU01fU1RBVEUyX1VUWEJSUF9TMV9TVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA3RikKKworI2RlZmluZSBSTV9GU01fU1RBVEVfQklUX1NFUF9TVEFURV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFJNX0ZTTV9TVEFURV9CSVRfU0VQX1NUQVRFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBSTV9GU01fU1RBVEVfQklUX1NFUF9TVEFURV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDA3MDAwMCkKKworI2RlZmluZSBSTV9GU01fU1RBVEVfQkNfU1RBVEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUk1fRlNNX1NUQVRFX0JDX1NUQVRFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBSTV9GU01fU1RBVEVfQkNfU1RBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBSVU1BUF9GU01fU1RBVEVfQlVGX1NUQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgUlVNQVBfRlNNX1NUQVRFX0JVRl9TVEFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJVTUFQX0ZTTV9TVEFURV9CVUZfU1RBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBSVU1BUF9GU01fU1RBVEVfQlVGX1NUQVRFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBSVU1BUF9GU01fU1RBVEVfUlVfTUFQX1NUQVRFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlVNQVBfRlNNX1NUQVRFX1JVX01BUF9TVEFURV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFJVTUFQX0ZTTV9TVEFURV9SVV9NQVBfU1RBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIFVUWEJSUF9URVNUX01PREVfVVRYQlJQX1BXUl9URVNUX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBVVFhCUlBfVEVTVF9NT0RFX1VUWEJSUF9QV1JfVEVTVF9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVVRYQlJQX1RFU1RfTU9ERV9VVFhCUlBfUFdSX1RFU1RfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFVUWEJSUF9URVNUX01PREVfVVRYQlJQX1BXUl9URVNUX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFVUWEJSUF9URVNUX01PREVfVVRYQlJQX1NFTEZfVEVTVF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBVVFhCUlBfVEVTVF9NT0RFX1VUWEJSUF9TRUxGX1RFU1RfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVVRYQlJQX1RFU1RfTU9ERV9VVFhCUlBfU0VMRl9URVNUX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFVUWEJSUF9URVNUX01PREVfVVRYQlJQX1NFTEZfVEVTVF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIENSUF9TV19SRUFEX0NUUkxfQ1JQX1dfREFUQV9EQ0hfUDRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgQ1JQX1NXX1JFQURfQ1RSTF9DUlBfV19EQVRBX0RDSF9QNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENSUF9TV19SRUFEX0NUUkxfQ1JQX1dfREFUQV9EQ0hfUDRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA2MDAwKQorCisjZGVmaW5lIENSUF9TV19SRUFEX0NUUkxfQ1JQX1dfREFUQV9EQ0hfUDNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgQ1JQX1NXX1JFQURfQ1RSTF9DUlBfV19EQVRBX0RDSF9QM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENSUF9TV19SRUFEX0NUUkxfQ1JQX1dfREFUQV9EQ0hfUDNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxODAwKQorCisjZGVmaW5lIENSUF9TV19SRUFEX0NUUkxfQ1JQX1dfREFUQV9EQ0hfUDJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBDUlBfU1dfUkVBRF9DVFJMX0NSUF9XX0RBVEFfRENIX1AyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQ1JQX1NXX1JFQURfQ1RSTF9DUlBfV19EQVRBX0RDSF9QMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA2MDApCisKKyNkZWZpbmUgQ1JQX1NXX1JFQURfQ1RSTF9DUlBfV19EQVRBX0RDSF9QMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIENSUF9TV19SRUFEX0NUUkxfQ1JQX1dfREFUQV9EQ0hfUDFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBDUlBfU1dfUkVBRF9DVFJMX0NSUF9XX0RBVEFfRENIX1AxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDE4MCkKKworI2RlZmluZSBDUlBfU1dfUkVBRF9DVFJMX0NSUF9XX0RBVEFfRENIX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgQ1JQX1NXX1JFQURfQ1RSTF9DUlBfV19EQVRBX0RDSF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENSUF9TV19SRUFEX0NUUkxfQ1JQX1dfREFUQV9EQ0hfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDYwKQorCisjZGVmaW5lIENSUF9TV19SRUFEX0NUUkxfQ1JQX1dfUkVRX0VEQ0hfUDRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBDUlBfU1dfUkVBRF9DVFJMX0NSUF9XX1JFUV9FRENIX1A0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ1JQX1NXX1JFQURfQ1RSTF9DUlBfV19SRVFfRURDSF9QNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIENSUF9TV19SRUFEX0NUUkxfQ1JQX1dfUkVRX0VEQ0hfUDRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIENSUF9TV19SRUFEX0NUUkxfQ1JQX1dfUkVRX0VEQ0hfUDNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBDUlBfU1dfUkVBRF9DVFJMX0NSUF9XX1JFUV9FRENIX1AzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ1JQX1NXX1JFQURfQ1RSTF9DUlBfV19SRVFfRURDSF9QM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIENSUF9TV19SRUFEX0NUUkxfQ1JQX1dfUkVRX0VEQ0hfUDNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIENSUF9TV19SRUFEX0NUUkxfQ1JQX1dfUkVRX0VEQ0hfUDJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBDUlBfU1dfUkVBRF9DVFJMX0NSUF9XX1JFUV9FRENIX1AyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ1JQX1NXX1JFQURfQ1RSTF9DUlBfV19SRVFfRURDSF9QMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIENSUF9TV19SRUFEX0NUUkxfQ1JQX1dfUkVRX0VEQ0hfUDJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIENSUF9TV19SRUFEX0NUUkxfQ1JQX1dfUkVRX0VEQ0hfUDFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDUlBfU1dfUkVBRF9DVFJMX0NSUF9XX1JFUV9FRENIX1AxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ1JQX1NXX1JFQURfQ1RSTF9DUlBfV19SRVFfRURDSF9QMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIENSUF9TV19SRUFEX0NUUkxfQ1JQX1dfUkVRX0VEQ0hfUDFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIENSUF9TV19SRUFEX0NUUkxfQ1JQX1dfUkVRX0RDSF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBDUlBfU1dfUkVBRF9DVFJMX0NSUF9XX1JFUV9EQ0hfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ1JQX1NXX1JFQURfQ1RSTF9DUlBfV19SRVFfRENIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIENSUF9TV19SRUFEX0NUUkxfQ1JQX1dfUkVRX0RDSF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEMyS19SRUFEX1JTVF9DMktfUkVBRF9SU1RfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBDMktfUkVBRF9SU1RfQzJLX1JFQURfUlNUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQzJLX1JFQURfUlNUX0MyS19SRUFEX1JTVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEMyS19SRUFEX1JTVF9DMktfUkVBRF9SU1RfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEVWRE9fU1RBUlRfRVZET19TVEFSVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBFVkRPX1NUQVJUX0VWRE9fU1RBUlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRVZET19TVEFSVF9FVkRPX1NUQVJUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEVWRE9fU1RBUlRfRVZET19TVEFSVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERPX1RYX0VOQUJMRV9UcmFuc21pdHRlcl9FbmFibGVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBET19UWF9FTkFCTEVfVHJhbnNtaXR0ZXJfRW5hYmxlX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRE9fVFhfRU5BQkxFX1RyYW5zbWl0dGVyX0VuYWJsZV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERPX1RYX0VOQUJMRV9UcmFuc21pdHRlcl9FbmFibGVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERPX1JSSV9EQVRBX0FDSzBfRE9fUlJJX0RBVEFfQUNLMF9QYXlsb2FkX0luZGV4X0xTQiAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBET19SUklfREFUQV9BQ0swX0RPX1JSSV9EQVRBX0FDSzBfUGF5bG9hZF9JbmRleF9XSURUSCAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgRE9fUlJJX0RBVEFfQUNLMF9ET19SUklfREFUQV9BQ0swX1BheWxvYWRfSW5kZXhfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNzgpCisKKyNkZWZpbmUgRE9fUlJJX0RBVEFfQUNLMF9ET19SUklfREFUQV9BQ0swX0NoYW5uZWxfUmF0ZV9MU0IgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERPX1JSSV9EQVRBX0FDSzBfRE9fUlJJX0RBVEFfQUNLMF9DaGFubmVsX1JhdGVfV0lEVEggICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBET19SUklfREFUQV9BQ0swX0RPX1JSSV9EQVRBX0FDSzBfQ2hhbm5lbF9SYXRlX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBET19SUklfREFUQV9BQ0sxX0RPX1JSSV9EQVRBX0FDSzFfUGF5bG9hZF9JbmRleF9MU0IgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgRE9fUlJJX0RBVEFfQUNLMV9ET19SUklfREFUQV9BQ0sxX1BheWxvYWRfSW5kZXhfV0lEVEggICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERPX1JSSV9EQVRBX0FDSzFfRE9fUlJJX0RBVEFfQUNLMV9QYXlsb2FkX0luZGV4X01BU0sgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDc4KQorCisjZGVmaW5lIERPX1JSSV9EQVRBX0FDSzFfRE9fUlJJX0RBVEFfQUNLMV9SUklfU3ltYm9sX3JhdGVfTFNCICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBET19SUklfREFUQV9BQ0sxX0RPX1JSSV9EQVRBX0FDSzFfUlJJX1N5bWJvbF9yYXRlX1dJRFRIICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgRE9fUlJJX0RBVEFfQUNLMV9ET19SUklfREFUQV9BQ0sxX1JSSV9TeW1ib2xfcmF0ZV9NQVNLICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDcpCisKKyNkZWZpbmUgRE9fUlJJX0RBVEFfQUNLMl9ET19SUklfREFUQV9BQ0syX1Jlc2VydmVkX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIERPX1JSSV9EQVRBX0FDSzJfRE9fUlJJX0RBVEFfQUNLMl9SZXNlcnZlZF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBET19SUklfREFUQV9BQ0syX0RPX1JSSV9EQVRBX0FDSzJfUmVzZXJ2ZWRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgRE9fUlJJX0RBVEFfQUNLMl9ET19SUklfREFUQV9BQ0syX1Jlc2VydmVkX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgRE9fUlJJX0RBVEFfQUNLMl9ET19SUklfREFUQV9BQ0syX1BheWxvYWRfSW5kZXhfTFNCICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIERPX1JSSV9EQVRBX0FDSzJfRE9fUlJJX0RBVEFfQUNLMl9QYXlsb2FkX0luZGV4X1dJRFRIICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBET19SUklfREFUQV9BQ0syX0RPX1JSSV9EQVRBX0FDSzJfUGF5bG9hZF9JbmRleF9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzQykKKworI2RlZmluZSBET19SUklfREFUQV9BQ0syX0RPX1JSSV9EQVRBX0FDSzJfU3ViX3BhY2tldF9pbmRleF9MU0IgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRE9fUlJJX0RBVEFfQUNLMl9ET19SUklfREFUQV9BQ0syX1N1Yl9wYWNrZXRfaW5kZXhfV0lEVEggICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIERPX1JSSV9EQVRBX0FDSzJfRE9fUlJJX0RBVEFfQUNLMl9TdWJfcGFja2V0X2luZGV4X01BU0sgICAgICAgICAgICAgICAgICgweDAwMDAwMDAzKQorCisjZGVmaW5lIERPX0NITkxfVFlQRV9DaGFubmVsX3R5cGVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBET19DSE5MX1RZUEVfQ2hhbm5lbF90eXBlX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRE9fQ0hOTF9UWVBFX0NoYW5uZWxfdHlwZV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERPX0NITkxfVFlQRV9DaGFubmVsX3R5cGVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERPX1BST1RPQ09MX1NVQlRZUF9Qcm90b2NvbF9TdWJ0eXBlX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBET19QUk9UT0NPTF9TVUJUWVBfUHJvdG9jb2xfU3VidHlwZV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRE9fUFJPVE9DT0xfU1VCVFlQX1Byb3RvY29sX1N1YnR5cGVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERPX1BST1RPQ09MX1NVQlRZUF9Qcm90b2NvbF9TdWJ0eXBlX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERPX1RYX0JZVEVfU1dBUF9UWERPX0J5dGVfU3dhcF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBET19UWF9CWVRFX1NXQVBfVFhET19CeXRlX1N3YXBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRE9fVFhfQllURV9TV0FQX1RYRE9fQnl0ZV9Td2FwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERPX1RYX0JZVEVfU1dBUF9UWERPX0J5dGVfU3dhcF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERPX1RYX1RFU1QzX1RYX1JPV19ST1RfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBET19UWF9URVNUM19UWF9ST1dfUk9UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRE9fVFhfVEVTVDNfVFhfUk9XX1JPVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERPX1RYX1RFU1QzX1RYX1JPV19ST1RfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEVWRE9fQ0hOTF9CQVNFX0FERFJfRVZET19DSE5MX0JBU0VfQUREUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBFVkRPX0NITkxfQkFTRV9BRERSX0VWRE9fQ0hOTF9CQVNFX0FERFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIEVWRE9fQ0hOTF9CQVNFX0FERFJfRVZET19DSE5MX0JBU0VfQUREUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIERPX1JSSV9EQVRBX05BS19ET19SUklfREFUQV9OQUtfUGF5bG9hZF9JbmRleF9MU0IgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBET19SUklfREFUQV9OQUtfRE9fUlJJX0RBVEFfTkFLX1BheWxvYWRfSW5kZXhfV0lEVEggICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgRE9fUlJJX0RBVEFfTkFLX0RPX1JSSV9EQVRBX05BS19QYXlsb2FkX0luZGV4X01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0MpCisKKyNkZWZpbmUgRE9fUlJJX0RBVEFfTkFLX0RPX1JSSV9EQVRBX05BS19TdWJfcGFja2V0X2luZGV4X0xTQiAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERPX1JSSV9EQVRBX05BS19ET19SUklfREFUQV9OQUtfU3ViX3BhY2tldF9pbmRleF9XSURUSCAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBET19SUklfREFUQV9OQUtfRE9fUlJJX0RBVEFfTkFLX1N1Yl9wYWNrZXRfaW5kZXhfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMykKKworI2RlZmluZSBFVkRPX0NITkxfQkFTRV9BRERSMV9FVkRPX0NITkxfQkFTRV9BRERSMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRVZET19DSE5MX0JBU0VfQUREUjFfRVZET19DSE5MX0JBU0VfQUREUjFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBFVkRPX0NITkxfQkFTRV9BRERSMV9FVkRPX0NITkxfQkFTRV9BRERSMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBFVkRPX1NVQlRZUEUyX0hMQVJRX1JFU1VMVF9FVkRPX1NVQlRZUEUyX0hMQVJRX1JFU1VMVF9MU0IgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRVZET19TVUJUWVBFMl9ITEFSUV9SRVNVTFRfRVZET19TVUJUWVBFMl9ITEFSUV9SRVNVTFRfV0lEVEggICAgICAgICAgICAgKDEpCisjZGVmaW5lIEVWRE9fU1VCVFlQRTJfSExBUlFfUkVTVUxUX0VWRE9fU1VCVFlQRTJfSExBUlFfUkVTVUxUX01BU0sgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBFVkRPX1NVQlRZUEUyX0hMQVJRX1JFU1VMVF9FVkRPX1NVQlRZUEUyX0hMQVJRX1JFU1VMVF9CSVQgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogRW5kIG9mIEZpbGUKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisKKyNlbmRpZiAvLyNpZm5kZWYgX0NQSF9FVkRPX1RYX0JSUF9IXwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGV2ZG90eGNycC5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGV2ZG90eGNycC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmYThhNjEKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoZXZkb3R4Y3JwLmgKQEAgLTAsMCArMSw0NDkgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhfRVZET19UWENSUF9IXworI2RlZmluZSBfQ1BIX0VWRE9fVFhDUlBfSF8KKworCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEdsb2JhbCBUeXBlZGVmcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIFNSQU1BRERSOyAgICAgICAgIC8qIFNSQU0gYWRkciBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgU1JBTURBVEE7ICAgICAgICAgLyogU1JBTSBkYXRhIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBBUEJBRERSOyAgICAgICAgICAvKiBBUEIgYWRkciBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIEFQQkRBVEE7ICAgICAgICAgIC8qIEFQQiBkYXRhIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nKiAgQVBCQUREUjMyOyAgICAgICAgLyogQVBCIGFkZHIgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgICBBUEJEQVRBMzI7ICAgICAgICAvKiBBUEIgZGF0YSBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIERQUkFNQUREUjsgICAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSBzaWduZWQgICBzaG9ydCogRFBSQU1BRERSX1M7ICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBEUFJBTURBVEE7ICAgICAgICAvKiBEUFJBTSBkYXRhIGlzIDE2IGJpdHMgKi8KKworI2lmIGRlZmluZWQoX19NRDkzX18pfHxkZWZpbmVkKF9fTUQ5NV9fKQorI2RlZmluZSBUWENSUF9DX0VWRE9fUkVHX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhBODEwMDAwMCkKKyNlbHNlCisjZGVmaW5lIFRYQ1JQX0NfRVZET19SRUdfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEE4OTAwMDAwKQorI2VuZGlmCisKKyNkZWZpbmUgVFhDUlBfQ19FVkRPX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFRYQ1JQX0NfRVZET19SRUdfQkFTRSArIDB4NTAxMTAgKyAxKjQpCisKKworCisjZGVmaW5lIFRYQ1JQX0RPX1JSSV9EQVRBXzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0NfRVZET19SRUdfQkFTRSArIDB4NTAwMDApKQorI2RlZmluZSBUWENSUF9ET19SUklfREFUQV8xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDUwMDA0KSkKKyNkZWZpbmUgVFhDUlBfRE9fUlJJX0RBVEFfMl9BQ0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfQ19FVkRPX1JFR19CQVNFICsgMHg1MDAwOCkpCisjZGVmaW5lIFRYQ1JQX0RPX1JSSV9EQVRBXzJfTkFLICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0NfRVZET19SRUdfQkFTRSArIDB4NTAwMEMpKQorI2RlZmluZSBUWENSUF9ET19EUkNfQ09WRVJfMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDUwMDEwKSkKKyNkZWZpbmUgVFhDUlBfRE9fRFJDX0NPVkVSXzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfQ19FVkRPX1JFR19CQVNFICsgMHg1MDAxNCkpCisjZGVmaW5lIFRYQ1JQX0RPX0RTQ19EQVRBXzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0NfRVZET19SRUdfQkFTRSArIDB4NTAwMTgpKQorI2RlZmluZSBUWENSUF9ET19EU0NfREFUQV8xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDUwMDFDKSkKKyNkZWZpbmUgVFhDUlBfRE9fVFhfTE9OR19QTl9JTklUSUFMMSAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfQ19FVkRPX1JFR19CQVNFICsgMHg1MDAyMCkpCisjZGVmaW5lIFRYQ1JQX0RPX1RYX0xPTkdfUE5fSU5JVElBTDIgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0NfRVZET19SRUdfQkFTRSArIDB4NTAwMjQpKQorI2RlZmluZSBUWENSUF9ET19MRF9PRkZTRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDUwMDI4KSkKKyNkZWZpbmUgVFhDUlBfRE9fUkRfQkFTRV9BRERSX0FDSyAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfQ19FVkRPX1JFR19CQVNFICsgMHg1MDAyQykpCisjZGVmaW5lIFRYQ1JQX0RPX1JEX0JBU0VfQUREUl9OQUsgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0NfRVZET19SRUdfQkFTRSArIDB4NTAwMzApKQorI2RlZmluZSBUWENSUF9ET19DSE5MX1RZUEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDUwMDM0KSkKKyNkZWZpbmUgVFhDUlBfRE9fUFJPVE9DT0xfU1VCVFlQICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfQ19FVkRPX1JFR19CQVNFICsgMHg1MDAzOCkpCisjZGVmaW5lIFRYQ1JQX0RPX1RYX0VOQUJMRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0NfRVZET19SRUdfQkFTRSArIDB4NTAwM0MpKQorI2RlZmluZSBUWENSUF9ET19UWF9JUV9JTlYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDUwMDQwKSkKKyNkZWZpbmUgVFhDUlBfRE9fVFhfTE9OR19QTl9NQVNLMiAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfQ19FVkRPX1JFR19CQVNFICsgMHg1MDA0NCkpCisjZGVmaW5lIFRYQ1JQX0RPX1RYX0xPTkdfUE5fTUFTSzEgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0NfRVZET19SRUdfQkFTRSArIDB4NTAwNDgpKQorI2RlZmluZSBUWENSUF9ET19MT05HUE5fTE9BRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDUwMDRDKSkKKyNkZWZpbmUgVFhDUlBfRE9fRFJDX0JPT1NUX0xFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfQ19FVkRPX1JFR19CQVNFICsgMHg1MDA1MCkpCisjZGVmaW5lIFRYQ1JQX0RPX0RTQ19CT09TVF9MRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0NfRVZET19SRUdfQkFTRSArIDB4NTAwNTQpKQorI2RlZmluZSBUWENSUF9ET19BVVhQTFRfTUlOUFlMRCAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDUwMDU4KSkKKyNkZWZpbmUgVFhDUlBfRE9fUExUX1NDQUxFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfQ19FVkRPX1JFR19CQVNFICsgMHg1MDA1QykpCisjZGVmaW5lIFRYQ1JQX0RPX0FVWFBMVF9TQ0FMRV9BQ0sgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0NfRVZET19SRUdfQkFTRSArIDB4NTAwNjApKQorI2RlZmluZSBUWENSUF9ET19BVVhQTFRfU0NBTEVfTkFLICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDUwMDY0KSkKKyNkZWZpbmUgVFhDUlBfRE9fUlJJX1NDQUxFX0FDSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfQ19FVkRPX1JFR19CQVNFICsgMHg1MDA2OCkpCisjZGVmaW5lIFRYQ1JQX0RPX1JSSV9TQ0FMRV9OQUsgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0NfRVZET19SRUdfQkFTRSArIDB4NTAwNkMpKQorI2RlZmluZSBUWENSUF9ET19EU0NfU0NBTEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDUwMDcwKSkKKyNkZWZpbmUgVFhDUlBfRE9fRFNDX1NDQUxFX0JPT1NUICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfQ19FVkRPX1JFR19CQVNFICsgMHg1MDA3NCkpCisjZGVmaW5lIFRYQ1JQX0RPX0RSQ19TQ0FMRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0NfRVZET19SRUdfQkFTRSArIDB4NTAwNzgpKQorI2RlZmluZSBUWENSUF9ET19EUkNfU0NBTEVfQk9PU1QgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDUwMDdDKSkKKyNkZWZpbmUgVFhDUlBfRE9fQk9PU1RfU0VMRUNUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfQ19FVkRPX1JFR19CQVNFICsgMHg1MDA4MCkpCisjZGVmaW5lIFRYQ1JQX0RPX0RTQ19TQ0FMRV9JTkRJQ0FURV8wICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0NfRVZET19SRUdfQkFTRSArIDB4NTAwODQpKQorI2RlZmluZSBUWENSUF9ET19EU0NfU0NBTEVfSU5ESUNBVEVfMSAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDUwMDg4KSkKKyNkZWZpbmUgVFhDUlBfRE9fRFJDX1NDQUxFX0lORElDQVRFXzAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfQ19FVkRPX1JFR19CQVNFICsgMHg1MDA4QykpCisjZGVmaW5lIFRYQ1JQX0RPX0RSQ19TQ0FMRV9JTkRJQ0FURV8xICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0NfRVZET19SRUdfQkFTRSArIDB4NTAwOTApKQorI2RlZmluZSBUWENSUF9ET19BQ0tfU0NBTEVfU1VQICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDUwMDk0KSkKKyNkZWZpbmUgVFhDUlBfRE9fQUNLX1NDQUxFX01VUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfQ19FVkRPX1JFR19CQVNFICsgMHg1MDA5OCkpCisjZGVmaW5lIFRYQ1JQX0RPX0RBVEFfU0NBTEUwX0FDSyAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0NfRVZET19SRUdfQkFTRSArIDB4NTAwOUMpKQorI2RlZmluZSBUWENSUF9ET19EQVRBX1NDQUxFMV9BQ0sgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDUwMEEwKSkKKyNkZWZpbmUgVFhDUlBfRE9fREFUQV9TQ0FMRTJfQUNLICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfQ19FVkRPX1JFR19CQVNFICsgMHg1MDBBNCkpCisjZGVmaW5lIFRYQ1JQX0RPX0RBVEFfU0NBTEUzX0FDSyAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0NfRVZET19SRUdfQkFTRSArIDB4NTAwQTgpKQorI2RlZmluZSBUWENSUF9ET19EQVRBX1NDQUxFMF9OQUsgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDUwMEFDKSkKKyNkZWZpbmUgVFhDUlBfRE9fREFUQV9TQ0FMRTFfTkFLICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfQ19FVkRPX1JFR19CQVNFICsgMHg1MDBCMCkpCisjZGVmaW5lIFRYQ1JQX0RPX0RBVEFfU0NBTEUyX05BSyAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0NfRVZET19SRUdfQkFTRSArIDB4NTAwQjQpKQorI2RlZmluZSBUWENSUF9ET19EQVRBX1NDQUxFM19OQUsgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDUwMEI4KSkKKyNkZWZpbmUgVFhDUlBfRE9fS1NfVFJJR0dFUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfQ19FVkRPX1JFR19CQVNFICsgMHg1MDBCQykpCisjZGVmaW5lIFRYQ1JQX0RPX1RSSUdHRVJfU0VMRUNUICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0NfRVZET19SRUdfQkFTRSArIDB4NTAwQzApKQorI2RlZmluZSBUWENSUF9ET19EUkNfU0VMRUNUXzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDUwMEM0KSkKKyNkZWZpbmUgVFhDUlBfRE9fRFJDX1NFTEVDVF8xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfQ19FVkRPX1JFR19CQVNFICsgMHg1MDBDOCkpCisjZGVmaW5lIFRYQ1JQX0RPX1NXX1JTVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0NfRVZET19SRUdfQkFTRSArIDB4NTAwQ0MpKQorI2RlZmluZSBUWENSUF9ET19QUkVQTFRfU0NBTEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDUwMEQwKSkKKyNkZWZpbmUgVFhDUlBfRE9fQUNLX0VOQUJMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfQ19FVkRPX1JFR19CQVNFICsgMHg1MDBENCkpCisjZGVmaW5lIFRYQ1JQX0RPX0FDS19EQVRBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0NfRVZET19SRUdfQkFTRSArIDB4NTAwRDgpKQorI2RlZmluZSBUWENSUF9ET19EQVRBX1NDQUxFX0tTX0FDSyAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDUwMERDKSkKKyNkZWZpbmUgVFhDUlBfRE9fREFUQV9TQ0FMRV9LU19OQUsgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfQ19FVkRPX1JFR19CQVNFICsgMHg1MDBFMCkpCisjZGVmaW5lIFRYQ1JQX0RPX1RYX0ZSRUVaRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0NfRVZET19SRUdfQkFTRSArIDB4NTAwRTQpKQorI2RlZmluZSBUWENSUF9ET19USU1FUl9UUklHR0VSICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDUwMEU4KSkKKyNkZWZpbmUgVFhDUlBfRE9fVFhfVEVTVF9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfQ19FVkRPX1JFR19CQVNFICsgMHg1MDBFQykpCisjZGVmaW5lIFRYQ1JQX0RPX1RYX1RFU1QwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0NfRVZET19SRUdfQkFTRSArIDB4NTAwRjApKQorI2RlZmluZSBUWENSUF9ET19UWF9URVNUMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDUwMEY0KSkKKyNkZWZpbmUgVFhDUlBfRE9fRFJDX0xFTkdUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfQ19FVkRPX1JFR19CQVNFICsgMHg1MDBGOCkpCisjZGVmaW5lIFRYQ1JQX0RPX0RSQ19HQVRJTkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0NfRVZET19SRUdfQkFTRSArIDB4NTAwRkMpKQorI2RlZmluZSBUWENSUF9TVEFURV9RICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDUwMTAwKSkKKyNkZWZpbmUgVFhDUlBfRE9fVFhfRlNNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfQ19FVkRPX1JFR19CQVNFICsgMHg1MDEwNCkpCisjZGVmaW5lIFRYQ1JQX0RSQ19EQVRBX0kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0NfRVZET19SRUdfQkFTRSArIDB4NTAxMDgpKQorI2RlZmluZSBUWENSUF9ET1RYQ1JQX0ZTTV9JU19CVVNZICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDUwMTBDKSkKKyNkZWZpbmUgVFhDUlBfQ0RPX0NISVBfQ09VTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfQ19FVkRPX1JFR19CQVNFICsgMHg1MDExMCkpCisjZGVmaW5lIFRYQ1JQX0NET19USUNLX0NPVU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0NfRVZET19SRUdfQkFTRSArIDB4NTAxMTQpKQorI2RlZmluZSBUWENSUF9SQUtFX1RYQ1JQX1JFVl9BQ0tfQklUICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDUwMTE4KSkKKyNkZWZpbmUgVFhDUlBfVFhDUlBfS1MwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfQ19FVkRPX1JFR19CQVNFICsgMHg1MDExQykpCisjZGVmaW5lIFRYQ1JQX1RYQ1JQX0tTMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0NfRVZET19SRUdfQkFTRSArIDB4NTAxMjApKQorI2RlZmluZSBUWENSUF9DRE9fS1NfVkFMVUVfRVhQICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9DX0VWRE9fUkVHX0JBU0UgKyAweDUwMTI0KSkKKyNkZWZpbmUgVFhDUlBfQ0RPX0tTX1ZBTFVFX01BTlRJU1NBICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfQ19FVkRPX1JFR19CQVNFICsgMHg1MDEyOCkpCisKKworI2RlZmluZSBET19SUklfREFUQV8wX0RPX1JSSV9EQVRBXzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRE9fUlJJX0RBVEFfMF9ET19SUklfREFUQV8wX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIERPX1JSSV9EQVRBXzBfRE9fUlJJX0RBVEFfMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDdGKQorCisjZGVmaW5lIERPX1JSSV9EQVRBXzFfRE9fUlJJX0RBVEFfMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBET19SUklfREFUQV8xX0RPX1JSSV9EQVRBXzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgRE9fUlJJX0RBVEFfMV9ET19SUklfREFUQV8xX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwN0YpCisKKyNkZWZpbmUgRE9fUlJJX0RBVEFfMl9BQ0tfRE9fUlJJX0RBVEFfMl9BQ0tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERPX1JSSV9EQVRBXzJfQUNLX0RPX1JSSV9EQVRBXzJfQUNLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBET19SUklfREFUQV8yX0FDS19ET19SUklfREFUQV8yX0FDS19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA3RikKKworI2RlZmluZSBET19SUklfREFUQV8yX05BS19ET19SUklfREFUQV8yX05BS19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRE9fUlJJX0RBVEFfMl9OQUtfRE9fUlJJX0RBVEFfMl9OQUtfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIERPX1JSSV9EQVRBXzJfTkFLX0RPX1JSSV9EQVRBXzJfTkFLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDdGKQorCisjZGVmaW5lIERPX0RSQ19DT1ZFUl8wX0RPX0RSQ19DT1ZFUl8wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBET19EUkNfQ09WRVJfMF9ET19EUkNfQ09WRVJfMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgRE9fRFJDX0NPVkVSXzBfRE9fRFJDX0NPVkVSXzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgRE9fRFJDX0NPVkVSXzFfRE9fRFJDX0NPVkVSXzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERPX0RSQ19DT1ZFUl8xX0RPX0RSQ19DT1ZFUl8xX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBET19EUkNfQ09WRVJfMV9ET19EUkNfQ09WRVJfMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBET19EU0NfREFUQV8wX0RPX0RTQ19EQVRBXzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRE9fRFNDX0RBVEFfMF9ET19EU0NfREFUQV8wX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERPX0RTQ19EQVRBXzBfRE9fRFNDX0RBVEFfMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIERPX0RTQ19EQVRBXzFfRE9fRFNDX0RBVEFfMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBET19EU0NfREFUQV8xX0RPX0RTQ19EQVRBXzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgRE9fRFNDX0RBVEFfMV9ET19EU0NfREFUQV8xX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgRE9fVFhfTE9OR19QTl9JTklUSUFMMV9ET19UWF9MT05HX1BOX0lOSVRJQUwxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERPX1RYX0xPTkdfUE5fSU5JVElBTDFfRE9fVFhfTE9OR19QTl9JTklUSUFMMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgRE9fVFhfTE9OR19QTl9JTklUSUFMMV9ET19UWF9MT05HX1BOX0lOSVRJQUwxX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgRE9fVFhfTE9OR19QTl9JTklUSUFMMl9ET19UWF9MT05HX1BOX0lOSVRJQUwyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERPX1RYX0xPTkdfUE5fSU5JVElBTDJfRE9fVFhfTE9OR19QTl9JTklUSUFMMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgRE9fVFhfTE9OR19QTl9JTklUSUFMMl9ET19UWF9MT05HX1BOX0lOSVRJQUwyX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgRE9fTERfT0ZGU0VUX0RPX0xEX09GRlNFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERPX0xEX09GRlNFVF9ET19MRF9PRkZTRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgRE9fTERfT0ZGU0VUX0RPX0xEX09GRlNFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgRE9fUkRfQkFTRV9BRERSX0FDS19ET19SRF9CQVNFX0FERFJfQUNLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERPX1JEX0JBU0VfQUREUl9BQ0tfRE9fUkRfQkFTRV9BRERSX0FDS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgRE9fUkRfQkFTRV9BRERSX0FDS19ET19SRF9CQVNFX0FERFJfQUNLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA3RkYpCisKKyNkZWZpbmUgRE9fUkRfQkFTRV9BRERSX05BS19ET19SRF9CQVNFX0FERFJfTkFLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERPX1JEX0JBU0VfQUREUl9OQUtfRE9fUkRfQkFTRV9BRERSX05BS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgRE9fUkRfQkFTRV9BRERSX05BS19ET19SRF9CQVNFX0FERFJfTkFLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA3RkYpCisKKyNkZWZpbmUgRE9fQ0hOTF9UWVBFX0RPX0NITkxfVFlQRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERPX0NITkxfVFlQRV9ET19DSE5MX1RZUEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBET19DSE5MX1RZUEVfRE9fQ0hOTF9UWVBFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgRE9fQ0hOTF9UWVBFX0RPX0NITkxfVFlQRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgRE9fUFJPVE9DT0xfU1VCVFlQX0RPX1BST1RPQ09MX1NVQlRZUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERPX1BST1RPQ09MX1NVQlRZUF9ET19QUk9UT0NPTF9TVUJUWVBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBET19QUk9UT0NPTF9TVUJUWVBfRE9fUFJPVE9DT0xfU1VCVFlQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgRE9fUFJPVE9DT0xfU1VCVFlQX0RPX1BST1RPQ09MX1NVQlRZUF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgRE9fVFhfRU5BQkxFX0RPX1RYX0VOQUJMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERPX1RYX0VOQUJMRV9ET19UWF9FTkFCTEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBET19UWF9FTkFCTEVfRE9fVFhfRU5BQkxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgRE9fVFhfRU5BQkxFX0RPX1RYX0VOQUJMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgRE9fVFhfSVFfSU5WX0RPX1RYX0lRX0lOVl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERPX1RYX0lRX0lOVl9ET19UWF9JUV9JTlZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBET19UWF9JUV9JTlZfRE9fVFhfSVFfSU5WX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgRE9fVFhfSVFfSU5WX0RPX1RYX0lRX0lOVl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgRE9fVFhfTE9OR19QTl9NQVNLMl9ET19UWF9MT05HX1BOX01BU0syX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERPX1RYX0xPTkdfUE5fTUFTSzJfRE9fVFhfTE9OR19QTl9NQVNLMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgRE9fVFhfTE9OR19QTl9NQVNLMl9ET19UWF9MT05HX1BOX01BU0syX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgRE9fVFhfTE9OR19QTl9NQVNLMV9ET19UWF9MT05HX1BOX01BU0sxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERPX1RYX0xPTkdfUE5fTUFTSzFfRE9fVFhfTE9OR19QTl9NQVNLMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgRE9fVFhfTE9OR19QTl9NQVNLMV9ET19UWF9MT05HX1BOX01BU0sxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgRE9fTE9OR1BOX0xPQURfRE9fTE9OR1BOX0xPQURfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERPX0xPTkdQTl9MT0FEX0RPX0xPTkdQTl9MT0FEX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBET19MT05HUE5fTE9BRF9ET19MT05HUE5fTE9BRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgRE9fTE9OR1BOX0xPQURfRE9fTE9OR1BOX0xPQURfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgRE9fRFJDX0JPT1NUX0xFTl9ET19EUkNfQk9PU1RfTEVOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERPX0RSQ19CT09TVF9MRU5fRE9fRFJDX0JPT1NUX0xFTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBET19EUkNfQk9PU1RfTEVOX0RPX0RSQ19CT09TVF9MRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKworI2RlZmluZSBET19EU0NfQk9PU1RfTEVOX0RPX0RTQ19CT09TVF9MRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRE9fRFNDX0JPT1NUX0xFTl9ET19EU0NfQk9PU1RfTEVOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIERPX0RTQ19CT09TVF9MRU5fRE9fRFNDX0JPT1NUX0xFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDdGKQorCisjZGVmaW5lIERPX0FVWFBMVF9NSU5QWUxEX0RPX0FVWFBMVF9NSU5QWUxEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBET19BVVhQTFRfTUlOUFlMRF9ET19BVVhQTFRfTUlOUFlMRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgRE9fQVVYUExUX01JTlBZTERfRE9fQVVYUExUX01JTlBZTERfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgRE9fUExUX1NDQUxFX0RPX1BMVF9TQ0FMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERPX1BMVF9TQ0FMRV9ET19QTFRfU0NBTEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBET19QTFRfU0NBTEVfRE9fUExUX1NDQUxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBET19BVVhQTFRfU0NBTEVfQUNLX0RPX0FVWFBMVF9TQ0FMRV9BQ0tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRE9fQVVYUExUX1NDQUxFX0FDS19ET19BVVhQTFRfU0NBTEVfQUNLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBET19BVVhQTFRfU0NBTEVfQUNLX0RPX0FVWFBMVF9TQ0FMRV9BQ0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMUZGRikKKworI2RlZmluZSBET19BVVhQTFRfU0NBTEVfTkFLX0RPX0FVWFBMVF9TQ0FMRV9OQUtfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRE9fQVVYUExUX1NDQUxFX05BS19ET19BVVhQTFRfU0NBTEVfTkFLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBET19BVVhQTFRfU0NBTEVfTkFLX0RPX0FVWFBMVF9TQ0FMRV9OQUtfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMUZGRikKKworI2RlZmluZSBET19SUklfU0NBTEVfQUNLX0RPX1JSSV9TQ0FMRV9BQ0tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRE9fUlJJX1NDQUxFX0FDS19ET19SUklfU0NBTEVfQUNLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIERPX1JSSV9TQ0FMRV9BQ0tfRE9fUlJJX1NDQUxFX0FDS19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIERPX1JSSV9TQ0FMRV9OQUtfRE9fUlJJX1NDQUxFX05BS19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBET19SUklfU0NBTEVfTkFLX0RPX1JSSV9TQ0FMRV9OQUtfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgRE9fUlJJX1NDQUxFX05BS19ET19SUklfU0NBTEVfTkFLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgRE9fRFNDX1NDQUxFX0RPX0RTQ19TQ0FMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERPX0RTQ19TQ0FMRV9ET19EU0NfU0NBTEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBET19EU0NfU0NBTEVfRE9fRFNDX1NDQUxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBET19EU0NfU0NBTEVfQk9PU1RfRE9fRFNDX1NDQUxFX0JPT1NUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRE9fRFNDX1NDQUxFX0JPT1NUX0RPX0RTQ19TQ0FMRV9CT09TVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIERPX0RTQ19TQ0FMRV9CT09TVF9ET19EU0NfU0NBTEVfQk9PU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIERPX0RSQ19TQ0FMRV9ET19EUkNfU0NBTEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBET19EUkNfU0NBTEVfRE9fRFJDX1NDQUxFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgRE9fRFJDX1NDQUxFX0RPX0RSQ19TQ0FMRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgRE9fRFJDX1NDQUxFX0JPT1NUX0RPX0RSQ19TQ0FMRV9CT09TVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERPX0RSQ19TQ0FMRV9CT09TVF9ET19EUkNfU0NBTEVfQk9PU1RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBET19EUkNfU0NBTEVfQk9PU1RfRE9fRFJDX1NDQUxFX0JPT1NUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBET19CT09TVF9TRUxFQ1RfRE9fQk9PU1RfU0VMRUNUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRE9fQk9PU1RfU0VMRUNUX0RPX0JPT1NUX1NFTEVDVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIERPX0JPT1NUX1NFTEVDVF9ET19CT09TVF9TRUxFQ1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAzKQorCisjZGVmaW5lIERPX0RTQ19TQ0FMRV9JTkRJQ0FURV8wX0RPX0RTQ19TQ0FMRV9JTkRJQ0FURV8wX0xTQiAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBET19EU0NfU0NBTEVfSU5ESUNBVEVfMF9ET19EU0NfU0NBTEVfSU5ESUNBVEVfMF9XSURUSCAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRE9fRFNDX1NDQUxFX0lORElDQVRFXzBfRE9fRFNDX1NDQUxFX0lORElDQVRFXzBfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERPX0RTQ19TQ0FMRV9JTkRJQ0FURV8wX0RPX0RTQ19TQ0FMRV9JTkRJQ0FURV8wX0JJVCAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERPX0RTQ19TQ0FMRV9JTkRJQ0FURV8xX0RPX0RTQ19TQ0FMRV9JTkRJQ0FURV8xX0xTQiAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBET19EU0NfU0NBTEVfSU5ESUNBVEVfMV9ET19EU0NfU0NBTEVfSU5ESUNBVEVfMV9XSURUSCAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRE9fRFNDX1NDQUxFX0lORElDQVRFXzFfRE9fRFNDX1NDQUxFX0lORElDQVRFXzFfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERPX0RTQ19TQ0FMRV9JTkRJQ0FURV8xX0RPX0RTQ19TQ0FMRV9JTkRJQ0FURV8xX0JJVCAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERPX0RSQ19TQ0FMRV9JTkRJQ0FURV8wX0RPX0RSQ19TQ0FMRV9JTkRJQ0FURV8wX0xTQiAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBET19EUkNfU0NBTEVfSU5ESUNBVEVfMF9ET19EUkNfU0NBTEVfSU5ESUNBVEVfMF9XSURUSCAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRE9fRFJDX1NDQUxFX0lORElDQVRFXzBfRE9fRFJDX1NDQUxFX0lORElDQVRFXzBfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERPX0RSQ19TQ0FMRV9JTkRJQ0FURV8wX0RPX0RSQ19TQ0FMRV9JTkRJQ0FURV8wX0JJVCAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERPX0RSQ19TQ0FMRV9JTkRJQ0FURV8xX0RPX0RSQ19TQ0FMRV9JTkRJQ0FURV8xX0xTQiAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBET19EUkNfU0NBTEVfSU5ESUNBVEVfMV9ET19EUkNfU0NBTEVfSU5ESUNBVEVfMV9XSURUSCAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRE9fRFJDX1NDQUxFX0lORElDQVRFXzFfRE9fRFJDX1NDQUxFX0lORElDQVRFXzFfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERPX0RSQ19TQ0FMRV9JTkRJQ0FURV8xX0RPX0RSQ19TQ0FMRV9JTkRJQ0FURV8xX0JJVCAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERPX0FDS19TQ0FMRV9TVVBfRE9fQUNLX1NDQUxFX1NVUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBET19BQ0tfU0NBTEVfU1VQX0RPX0FDS19TQ0FMRV9TVVBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgRE9fQUNLX1NDQUxFX1NVUF9ET19BQ0tfU0NBTEVfU1VQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgRE9fQUNLX1NDQUxFX01VUF9ET19BQ0tfU0NBTEVfTVVQX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERPX0FDS19TQ0FMRV9NVVBfRE9fQUNLX1NDQUxFX01VUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBET19BQ0tfU0NBTEVfTVVQX0RPX0FDS19TQ0FMRV9NVVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBET19EQVRBX1NDQUxFMF9BQ0tfRE9fREFUQV9TQ0FMRTBfQUNLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRE9fREFUQV9TQ0FMRTBfQUNLX0RPX0RBVEFfU0NBTEUwX0FDS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBET19EQVRBX1NDQUxFMF9BQ0tfRE9fREFUQV9TQ0FMRTBfQUNLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDdGRikKKworI2RlZmluZSBET19EQVRBX1NDQUxFMV9BQ0tfRE9fREFUQV9TQ0FMRTFfQUNLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRE9fREFUQV9TQ0FMRTFfQUNLX0RPX0RBVEFfU0NBTEUxX0FDS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBET19EQVRBX1NDQUxFMV9BQ0tfRE9fREFUQV9TQ0FMRTFfQUNLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDdGRikKKworI2RlZmluZSBET19EQVRBX1NDQUxFMl9BQ0tfRE9fREFUQV9TQ0FMRTJfQUNLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRE9fREFUQV9TQ0FMRTJfQUNLX0RPX0RBVEFfU0NBTEUyX0FDS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBET19EQVRBX1NDQUxFMl9BQ0tfRE9fREFUQV9TQ0FMRTJfQUNLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDdGRikKKworI2RlZmluZSBET19EQVRBX1NDQUxFM19BQ0tfRE9fREFUQV9TQ0FMRTNfQUNLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRE9fREFUQV9TQ0FMRTNfQUNLX0RPX0RBVEFfU0NBTEUzX0FDS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBET19EQVRBX1NDQUxFM19BQ0tfRE9fREFUQV9TQ0FMRTNfQUNLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDdGRikKKworI2RlZmluZSBET19EQVRBX1NDQUxFMF9OQUtfRE9fREFUQV9TQ0FMRTBfTkFLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRE9fREFUQV9TQ0FMRTBfTkFLX0RPX0RBVEFfU0NBTEUwX05BS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBET19EQVRBX1NDQUxFMF9OQUtfRE9fREFUQV9TQ0FMRTBfTkFLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDdGRikKKworI2RlZmluZSBET19EQVRBX1NDQUxFMV9OQUtfRE9fREFUQV9TQ0FMRTFfTkFLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRE9fREFUQV9TQ0FMRTFfTkFLX0RPX0RBVEFfU0NBTEUxX05BS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBET19EQVRBX1NDQUxFMV9OQUtfRE9fREFUQV9TQ0FMRTFfTkFLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDdGRikKKworI2RlZmluZSBET19EQVRBX1NDQUxFMl9OQUtfRE9fREFUQV9TQ0FMRTJfTkFLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRE9fREFUQV9TQ0FMRTJfTkFLX0RPX0RBVEFfU0NBTEUyX05BS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBET19EQVRBX1NDQUxFMl9OQUtfRE9fREFUQV9TQ0FMRTJfTkFLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDdGRikKKworI2RlZmluZSBET19EQVRBX1NDQUxFM19OQUtfRE9fREFUQV9TQ0FMRTNfTkFLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRE9fREFUQV9TQ0FMRTNfTkFLX0RPX0RBVEFfU0NBTEUzX05BS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBET19EQVRBX1NDQUxFM19OQUtfRE9fREFUQV9TQ0FMRTNfTkFLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDdGRikKKworI2RlZmluZSBET19LU19UUklHR0VSX0RPX0tTX1RSSUdHRVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRE9fS1NfVFJJR0dFUl9ET19LU19UUklHR0VSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERPX0tTX1RSSUdHRVJfRE9fS1NfVFJJR0dFUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBET19LU19UUklHR0VSX0RPX0tTX1RSSUdHRVJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBET19UUklHR0VSX1NFTEVDVF9ET19UUklHR0VSX1NFTEVDVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRE9fVFJJR0dFUl9TRUxFQ1RfRE9fVFJJR0dFUl9TRUxFQ1RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIERPX1RSSUdHRVJfU0VMRUNUX0RPX1RSSUdHRVJfU0VMRUNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIERPX0RSQ19TRUxFQ1RfMF9ET19EUkNfU0VMRUNUXzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBET19EUkNfU0VMRUNUXzBfRE9fRFJDX1NFTEVDVF8wX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgRE9fRFJDX1NFTEVDVF8wX0RPX0RSQ19TRUxFQ1RfMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDMpCisKKyNkZWZpbmUgRE9fRFJDX1NFTEVDVF8xX0RPX0RSQ19TRUxFQ1RfMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERPX0RSQ19TRUxFQ1RfMV9ET19EUkNfU0VMRUNUXzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBET19EUkNfU0VMRUNUXzFfRE9fRFJDX1NFTEVDVF8xX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMykKKworI2RlZmluZSBET19TV19SU1RfRE9fU1dfUlNUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRE9fU1dfUlNUX0RPX1NXX1JTVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERPX1NXX1JTVF9ET19TV19SU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBET19TV19SU1RfRE9fU1dfUlNUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBET19QUkVQTFRfU0NBTEVfRE9fUFJFUExUX1NDQUxFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRE9fUFJFUExUX1NDQUxFX0RPX1BSRVBMVF9TQ0FMRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIERPX1BSRVBMVF9TQ0FMRV9ET19QUkVQTFRfU0NBTEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIERPX0FDS19FTkFCTEVfQklUX0RPX0FDS19FTkFCTEVfQklUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBET19BQ0tfRU5BQkxFX0JJVF9ET19BQ0tfRU5BQkxFX0JJVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRE9fQUNLX0VOQUJMRV9CSVRfRE9fQUNLX0VOQUJMRV9CSVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERPX0FDS19FTkFCTEVfQklUX0RPX0FDS19FTkFCTEVfQklUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERPX0FDS19EQVRBX0RPX0FDS19EQVRBX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBET19BQ0tfREFUQV9ET19BQ0tfREFUQV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgRE9fQUNLX0RBVEFfRE9fQUNLX0RBVEFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDMpCisKKyNkZWZpbmUgRE9fREFUQV9TQ0FMRV9LU19BQ0tfRE9fREFUQV9TQ0FMRV9LU19BQ0tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERPX0RBVEFfU0NBTEVfS1NfQUNLX0RPX0RBVEFfU0NBTEVfS1NfQUNLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgRE9fREFUQV9TQ0FMRV9LU19BQ0tfRE9fREFUQV9TQ0FMRV9LU19BQ0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA3RkYpCisKKyNkZWZpbmUgRE9fREFUQV9TQ0FMRV9LU19OQUtfRE9fREFUQV9TQ0FMRV9LU19OQUtfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERPX0RBVEFfU0NBTEVfS1NfTkFLX0RPX0RBVEFfU0NBTEVfS1NfTkFLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgRE9fREFUQV9TQ0FMRV9LU19OQUtfRE9fREFUQV9TQ0FMRV9LU19OQUtfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA3RkYpCisKKyNkZWZpbmUgRE9fVFhfRlJFRVpFX0RPX1RYX0ZSRUVaRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERPX1RYX0ZSRUVaRV9ET19UWF9GUkVFWkVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBET19UWF9GUkVFWkVfRE9fVFhfRlJFRVpFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgRE9fVFhfRlJFRVpFX0RPX1RYX0ZSRUVaRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgRE9fVElNRVJfVFJJR0dFUl9ET19USU1FUl9UUklHR0VSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERPX1RJTUVSX1RSSUdHRVJfRE9fVElNRVJfVFJJR0dFUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBET19USU1FUl9UUklHR0VSX0RPX1RJTUVSX1RSSUdHRVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgRE9fVElNRVJfVFJJR0dFUl9ET19USU1FUl9UUklHR0VSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgRE9fVFhfVEVTVF9NT0RFX0RPX1RYX1RFU1RfTU9ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERPX1RYX1RFU1RfTU9ERV9ET19UWF9URVNUX01PREVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBET19UWF9URVNUX01PREVfRE9fVFhfVEVTVF9NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBET19UWF9URVNUMF9ET19UWF9URVNUMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRE9fVFhfVEVTVDBfRE9fVFhfVEVTVDBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERPX1RYX1RFU1QwX0RPX1RYX1RFU1QwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBET19UWF9URVNUMF9ET19UWF9URVNUMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBET19UWF9URVNUMV9ET19UWF9URVNUMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRE9fVFhfVEVTVDFfRE9fVFhfVEVTVDFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERPX1RYX1RFU1QxX0RPX1RYX1RFU1QxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIERPX0RSQ19MRU5HVEhfRE9fRFJDX0xFTkdUSF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBET19EUkNfTEVOR1RIX0RPX0RSQ19MRU5HVEhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgRE9fRFJDX0xFTkdUSF9ET19EUkNfTEVOR1RIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDMpCisKKyNkZWZpbmUgRE9fRFJDX0dBVElOR19ET19EUkNfR0FUSU5HX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERPX0RSQ19HQVRJTkdfRE9fRFJDX0dBVElOR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBET19EUkNfR0FUSU5HX0RPX0RSQ19HQVRJTkdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgRE9fRFJDX0dBVElOR19ET19EUkNfR0FUSU5HX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgU1RBVEVfUV9TVEFURV9RX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNUQVRFX1FfU1RBVEVfUV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBTVEFURV9RX1NUQVRFX1FfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxRikKKworI2RlZmluZSBET19UWF9GU01fRE9fVFhfRlNNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRE9fVFhfRlNNX0RPX1RYX0ZTTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIERPX1RYX0ZTTV9ET19UWF9GU01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDdGKQorCisjZGVmaW5lIERSQ19EQVRBX0lfRFJDX0RBVEFfSV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEUkNfREFUQV9JX0RSQ19EQVRBX0lfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgRFJDX0RBVEFfSV9EUkNfREFUQV9JX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgRE9UWENSUF9GU01fSVNfQlVTWV9ET1RYQ1JQX0ZTTV9JU19CVVNZX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERPVFhDUlBfRlNNX0lTX0JVU1lfRE9UWENSUF9GU01fSVNfQlVTWV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBET1RYQ1JQX0ZTTV9JU19CVVNZX0RPVFhDUlBfRlNNX0lTX0JVU1lfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgRE9UWENSUF9GU01fSVNfQlVTWV9ET1RYQ1JQX0ZTTV9JU19CVVNZX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQ0RPX0NISVBfQ09VTlRfQ0RPX0NISVBfQ09VTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENET19DSElQX0NPVU5UX0NET19DSElQX0NPVU5UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgQ0RPX0NISVBfQ09VTlRfQ0RPX0NISVBfQ09VTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA3RkYpCisKKyNkZWZpbmUgQ0RPX1RJQ0tfQ09VTlRfQ0RPX1RJQ0tfQ09VTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENET19USUNLX0NPVU5UX0NET19USUNLX0NPVU5UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBDRE9fVElDS19DT1VOVF9DRE9fVElDS19DT1VOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKworI2RlZmluZSBSQUtFX1RYQ1JQX1JFVl9BQ0tfQklUX1JBS0VfVFhDUlBfUkVWX0FDS19CSVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUkFLRV9UWENSUF9SRVZfQUNLX0JJVF9SQUtFX1RYQ1JQX1JFVl9BQ0tfQklUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJBS0VfVFhDUlBfUkVWX0FDS19CSVRfUkFLRV9UWENSUF9SRVZfQUNLX0JJVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSQUtFX1RYQ1JQX1JFVl9BQ0tfQklUX1JBS0VfVFhDUlBfUkVWX0FDS19CSVRfQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogRW5kIG9mIEZpbGUKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisKKyNlbmRpZiAvLyNpZm5kZWYgX0NQSF9FVkRPX1RYQ1JQX0hfCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoZXZkb3R4dGltZXJyZWcuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhldmRvdHh0aW1lcnJlZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIxYWY0NWQKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoZXZkb3R4dGltZXJyZWcuaApAQCAtMCwwICsxLDM1NiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NQSF9FVkRPX1RYX1RJTUVSX0hfCisjZGVmaW5lIF9DUEhfRVZET19UWF9USU1FUl9IXworCisKK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIFNSQU1BRERSOyAgICAgICAgIC8qIFNSQU0gYWRkciBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgU1JBTURBVEE7ICAgICAgICAgLyogU1JBTSBkYXRhIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBBUEJBRERSOyAgICAgICAgICAvKiBBUEIgYWRkciBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIEFQQkRBVEE7ICAgICAgICAgIC8qIEFQQiBkYXRhIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nKiAgQVBCQUREUjMyOyAgICAgICAgLyogQVBCIGFkZHIgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgICBBUEJEQVRBMzI7ICAgICAgICAvKiBBUEIgZGF0YSBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIERQUkFNQUREUjsgICAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSBzaWduZWQgICBzaG9ydCogRFBSQU1BRERSX1M7ICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBEUFJBTURBVEE7ICAgICAgICAvKiBEUFJBTSBkYXRhIGlzIDE2IGJpdHMgKi8KKworI2lmIGRlZmluZWQoX19NRDkzX18pfHxkZWZpbmVkKF9fTUQ5NV9fKQorI2RlZmluZSBERkVfV19UVFJfRE9fUkVHX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhBNjFCMDAwMCkKKyNlbHNlCisjZGVmaW5lIERGRV9XX1RUUl9ET19SRUdfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEE4MTkwMDAwKQorI2VuZGlmCisjZGVmaW5lIERGRV9XX1RUUl9lbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChERkVfV19UVFJfRE9fUkVHX0JBU0UgKyAweDAwRjApCisKKworI2RlZmluZSBUWF9USU1FUl9ET19TUl9PRkZTRVQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFX1dfVFRSX0RPX1JFR19CQVNFICsgMHgwMDAwKSkKKyNkZWZpbmUgVFhfVElNRVJfRE9fU1JfT0ZGU0VUMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRV9XX1RUUl9ET19SRUdfQkFTRSArIDB4MDAwNCkpCisjZGVmaW5lIFRYX1RJTUVSX0RPX1JYX1RYX0xPRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVfV19UVFJfRE9fUkVHX0JBU0UgKyAweDAwNTApKQorI2RlZmluZSBUWF9USU1FUl9ET19UWF9USU1FX01PTjIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFX1dfVFRSX0RPX1JFR19CQVNFICsgMHgwMDY0KSkKKyNkZWZpbmUgVFhfVElNRVJfRE9fRlJBTUVfT0ZGU0VUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRV9XX1RUUl9ET19SRUdfQkFTRSArIDB4MDA3MCkpCisjZGVmaW5lIFRYX1RJTUVSX0RPX1RYUlhERUxBWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVfV19UVFJfRE9fUkVHX0JBU0UgKyAweDAwNzQpKQorI2RlZmluZSBUWF9USU1FUl9ET19SQV9ETFkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFX1dfVFRSX0RPX1JFR19CQVNFICsgMHgwMDc4KSkKKyNkZWZpbmUgVFhfVElNRVJfRE9fQ0RPX1RUUl9DUlBfV0lOX09OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRV9XX1RUUl9ET19SRUdfQkFTRSArIDB4MDA4MCkpCisjZGVmaW5lIFRYX1RJTUVSX0RPX0NET19UVFJfQ1JQX1dJTl9PRkYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVfV19UVFJfRE9fUkVHX0JBU0UgKyAweDAwODQpKQorI2lmIGRlZmluZWQoX19NRDkzX18pfHxkZWZpbmVkKF9fTUQ5NV9fKSAgIC8qIFRoZSByZWdpc3RlcnMgZGVsZXRlZCBpbiA5N0UxLCBpdCBpcyBtb3ZlZCB0byBUeGRmZS1kaWUsIGNvbmZpZ2VkIGJ5IFJGRCAqLworI2RlZmluZSBUWF9USU1FUl9ET19DRE9fVFRSX1RYREZFX1dJTl9PTl9PRkZTRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFX1dfVFRSX0RPX1JFR19CQVNFICsgMHgwMDg4KSkKKyNkZWZpbmUgVFhfVElNRVJfRE9fQ0RPX1RUUl9UWERGRV9XSU5fT0ZGX09GRlNFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRV9XX1RUUl9ET19SRUdfQkFTRSArIDB4MDA4QykpCisjZW5kaWYKKyNkZWZpbmUgVFhfVElNRVJfRE9fQ0RPX1RUUl9UWENSUF9GSUZPX1dJTl9PTl9PRkZTRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRV9XX1RUUl9ET19SRUdfQkFTRSArIDB4MDA5MCkpCisjZGVmaW5lIFRYX1RJTUVSX0RPX0NET19UVFJfVFhDUlBfRklGT19XSU5fT0ZGX09GRlNFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVfV19UVFJfRE9fUkVHX0JBU0UgKyAweDAwOTQpKQorI2lmIGRlZmluZWQoX19NRDkzX18pfHxkZWZpbmVkKF9fTUQ5NV9fKSAgIC8qIFRoZSByZWdpc3RlcnMgZGVsZXRlZCBpbiA5N0UxLCBpdCBpcyBtb3ZlZCB0byBUeGRmZS1kaWUsIGNvbmZpZ2VkIGJ5IFJGRCAqLworI2RlZmluZSBUWF9USU1FUl9ET19DRE9fVFRSX1RYREFDX1dJTl9PTl9PRkZTRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFX1dfVFRSX0RPX1JFR19CQVNFICsgMHgwMDk4KSkKKyNkZWZpbmUgVFhfVElNRVJfRE9fQ0RPX1RUUl9UWERBQ19XSU5fT0ZGX09GRlNFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRV9XX1RUUl9ET19SRUdfQkFTRSArIDB4MDA5QykpCisjZW5kaWYKKyNkZWZpbmUgVFhfVElNRVJfRE9fQ0RPX1RUUl9UWEJSUF9TVFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRV9XX1RUUl9ET19SRUdfQkFTRSArIDB4MDBDMCkpCisjZGVmaW5lIFRYX1RJTUVSX0RPX0NET19UVFJfVFhDUlBfU1RSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVfV19UVFJfRE9fUkVHX0JBU0UgKyAweDAwQzQpKQorI2RlZmluZSBUWF9USU1FUl9ET19DRE9fVFRSX0tTX1NUUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFX1dfVFRSX0RPX1JFR19CQVNFICsgMHgwMEM4KSkKKyNpZiAoIWRlZmluZWQoX19NRDkzX18pKSYmKCFkZWZpbmVkKF9fTUQ5NV9fKSkKKyNkZWZpbmUgVFhfVElNRVJfVFRSX1dJTl9JTU1fT05fT0ZGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRV9XX1RUUl9ET19SRUdfQkFTRSArIDB4MDEwMCkpCisjZGVmaW5lIFRYX1RJTUVSX1RUUl9XSU5fU0NIX09OX1VDTlRfVFJJRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVfV19UVFJfRE9fUkVHX0JBU0UgKyAweDAxMTApKQorI2RlZmluZSBUWF9USU1FUl9UVFJfV0lOX1NDSF9PTl9VQ05UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFX1dfVFRSX0RPX1JFR19CQVNFICsgMHgwMTE0KSkKKyNkZWZpbmUgVFhfVElNRVJfVFRSX1dJTl9TQ0hfT0ZGX1VDTlRfVFJJRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRV9XX1RUUl9ET19SRUdfQkFTRSArIDB4MDExOCkpCisjZGVmaW5lIFRYX1RJTUVSX1RUUl9XSU5fU0NIX09GRl9VQ05UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVfV19UVFJfRE9fUkVHX0JBU0UgKyAweDAxMUMpKQorI2RlZmluZSBUWF9USU1FUl9UVFJfV0lOX1NDSF9PTl9TVElNRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFX1dfVFRSX0RPX1JFR19CQVNFICsgMHgwMTIwKSkKKyNkZWZpbmUgVFhfVElNRVJfVFRSX1dJTl9TQ0hfT0ZGX1NUSU1FICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRV9XX1RUUl9ET19SRUdfQkFTRSArIDB4MDEyNCkpCisjZGVmaW5lIFRYX1RJTUVSX1RUUl9XSU5fREJHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVfV19UVFJfRE9fUkVHX0JBU0UgKyAweDAxMmMpKQorI2VuZGlmCisKKyNkZWZpbmUgU1JfT2Zmc2V0X1NSX09mZnNldF9UUkdfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBTUl9PZmZzZXRfU1JfT2Zmc2V0X1RSR19FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JfT2Zmc2V0X1NSX09mZnNldF9UUkdfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisjZGVmaW5lIFNSX09mZnNldF9TUl9PZmZzZXRfVFJHX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorCisjZGVmaW5lIFNSX09mZnNldF9TUl9PZmZzZXRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUl9PZmZzZXRfU1JfT2Zmc2V0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFNSX09mZnNldF9TUl9PZmZzZXRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIEZyYW1lX09mZnNldF9GcmFtZV9PZmZzZXRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBGcmFtZV9PZmZzZXRfRnJhbWVfT2Zmc2V0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIEZyYW1lX09mZnNldF9GcmFtZV9PZmZzZXRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZGKQorCisjZGVmaW5lIFR4UnhEZWxheV9UeFJ4RGVsYXlfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUeFJ4RGVsYXlfVHhSeERlbGF5X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFR4UnhEZWxheV9UeFJ4RGVsYXlfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZGKQorCisjZGVmaW5lIFJBX0RseV9UWENSUF9GSUZPX1dJTl9PRkZfU1VCQ0hJUF9PRkZTRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSQV9EbHlfVFhDUlBfRklGT19XSU5fT0ZGX1NVQkNISVBfT0ZGU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgUkFfRGx5X1RYQ1JQX0ZJRk9fV0lOX09GRl9TVUJDSElQX09GRlNFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDcpCisKKyNkZWZpbmUgQ0RPX1RUUl9DUlBfV0lOX09OX0NSUF9XSU5fT05fQ01QUl9PTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI4KQorI2RlZmluZSBDRE9fVFRSX0NSUF9XSU5fT05fQ1JQX1dJTl9PTl9DTVBSX09OX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ0RPX1RUUl9DUlBfV0lOX09OX0NSUF9XSU5fT05fQ01QUl9PTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMDApCisjZGVmaW5lIENET19UVFJfQ1JQX1dJTl9PTl9DUlBfV0lOX09OX0NNUFJfT05fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDEwMDAwMDAwKQorCisjZGVmaW5lIENET19UVFJfQ1JQX1dJTl9PTl9DUlBfV0lOX09OX1RSR19FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgQ0RPX1RUUl9DUlBfV0lOX09OX0NSUF9XSU5fT05fVFJHX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENET19UVFJfQ1JQX1dJTl9PTl9DUlBfV0lOX09OX1RSR19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorI2RlZmluZSBDRE9fVFRSX0NSUF9XSU5fT05fQ1JQX1dJTl9PTl9UUkdfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMCkKKworI2RlZmluZSBDRE9fVFRSX0NSUF9XSU5fT05fQ1JQX1dJTl9PTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ0RPX1RUUl9DUlBfV0lOX09OX0NSUF9XSU5fT05fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBDRE9fVFRSX0NSUF9XSU5fT05fQ1JQX1dJTl9PTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGRikKKworI2RlZmluZSBDRE9fVFRSX0NSUF9XSU5fT0ZGX0NSUF9XSU5fT0ZGX0NNUFJfT05fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjgpCisjZGVmaW5lIENET19UVFJfQ1JQX1dJTl9PRkZfQ1JQX1dJTl9PRkZfQ01QUl9PTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDRE9fVFRSX0NSUF9XSU5fT0ZGX0NSUF9XSU5fT0ZGX0NNUFJfT05fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMCkKKyNkZWZpbmUgQ0RPX1RUUl9DUlBfV0lOX09GRl9DUlBfV0lOX09GRl9DTVBSX09OX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMDApCisKKyNkZWZpbmUgQ0RPX1RUUl9DUlBfV0lOX09GRl9DUlBfV0lOX09GRl9UUkdfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBDRE9fVFRSX0NSUF9XSU5fT0ZGX0NSUF9XSU5fT0ZGX1RSR19FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ0RPX1RUUl9DUlBfV0lOX09GRl9DUlBfV0lOX09GRl9UUkdfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisjZGVmaW5lIENET19UVFJfQ1JQX1dJTl9PRkZfQ1JQX1dJTl9PRkZfVFJHX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorCisjZGVmaW5lIENET19UVFJfQ1JQX1dJTl9PRkZfQ1JQX1dJTl9PRkZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBDRE9fVFRSX0NSUF9XSU5fT0ZGX0NSUF9XSU5fT0ZGX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIENET19UVFJfQ1JQX1dJTl9PRkZfQ1JQX1dJTl9PRkZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZGKQorCisjaWYgZGVmaW5lZChfX01EOTNfXyl8fGRlZmluZWQoX19NRDk1X18pCisjZGVmaW5lIENET19UVFJfVFhERkVfV0lOX09OX09GRlNFVF9UWERGRV9XSU5fT05fQ01QUl9PTl9MU0IgICAgICAgICAgICAgICAgICAgICgyOCkKKyNkZWZpbmUgQ0RPX1RUUl9UWERGRV9XSU5fT05fT0ZGU0VUX1RYREZFX1dJTl9PTl9DTVBSX09OX1dJRFRIICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENET19UVFJfVFhERkVfV0lOX09OX09GRlNFVF9UWERGRV9XSU5fT05fQ01QUl9PTl9NQVNLICAgICAgICAgICAgICAgICAgICgweDEwMDAwMDAwKQorI2RlZmluZSBDRE9fVFRSX1RYREZFX1dJTl9PTl9PRkZTRVRfVFhERkVfV0lOX09OX0NNUFJfT05fQklUICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMCkKKworI2RlZmluZSBDRE9fVFRSX1RYREZFX1dJTl9PTl9PRkZTRVRfVFhERkVfV0lOX09OX1RSR19FTl9MU0IgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIENET19UVFJfVFhERkVfV0lOX09OX09GRlNFVF9UWERGRV9XSU5fT05fVFJHX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDRE9fVFRSX1RYREZFX1dJTl9PTl9PRkZTRVRfVFhERkVfV0lOX09OX1RSR19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMCkKKyNkZWZpbmUgQ0RPX1RUUl9UWERGRV9XSU5fT05fT0ZGU0VUX1RYREZFX1dJTl9PTl9UUkdfRU5fQklUICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisKKyNkZWZpbmUgQ0RPX1RUUl9UWERGRV9XSU5fT05fT0ZGU0VUX1RYREZFX1dJTl9PTl9TWVNURU1fVElNRV9MU0IgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENET19UVFJfVFhERkVfV0lOX09OX09GRlNFVF9UWERGRV9XSU5fT05fU1lTVEVNX1RJTUVfV0lEVEggICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgQ0RPX1RUUl9UWERGRV9XSU5fT05fT0ZGU0VUX1RYREZFX1dJTl9PTl9TWVNURU1fVElNRV9NQVNLICAgICAgICAgICAgICAgKDB4MDAwRkZGRkYpCisKKyNkZWZpbmUgQ0RPX1RUUl9UWERGRV9XSU5fT0ZGX09GRlNFVF9UWERGRV9XSU5fT0ZGX0NNUFJfT05fTFNCICAgICAgICAgICAgICAgICAgKDI4KQorI2RlZmluZSBDRE9fVFRSX1RYREZFX1dJTl9PRkZfT0ZGU0VUX1RYREZFX1dJTl9PRkZfQ01QUl9PTl9XSURUSCAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ0RPX1RUUl9UWERGRV9XSU5fT0ZGX09GRlNFVF9UWERGRV9XSU5fT0ZGX0NNUFJfT05fTUFTSyAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMDApCisjZGVmaW5lIENET19UVFJfVFhERkVfV0lOX09GRl9PRkZTRVRfVFhERkVfV0lOX09GRl9DTVBSX09OX0JJVCAgICAgICAgICAgICAgICAgICgweDEwMDAwMDAwKQorCisjZGVmaW5lIENET19UVFJfVFhERkVfV0lOX09GRl9PRkZTRVRfVFhERkVfV0lOX09GRl9UUkdfRU5fTFNCICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgQ0RPX1RUUl9UWERGRV9XSU5fT0ZGX09GRlNFVF9UWERGRV9XSU5fT0ZGX1RSR19FTl9XSURUSCAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENET19UVFJfVFhERkVfV0lOX09GRl9PRkZTRVRfVFhERkVfV0lOX09GRl9UUkdfRU5fTUFTSyAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorI2RlZmluZSBDRE9fVFRSX1RYREZFX1dJTl9PRkZfT0ZGU0VUX1RYREZFX1dJTl9PRkZfVFJHX0VOX0JJVCAgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMCkKKworI2RlZmluZSBDRE9fVFRSX1RYREZFX1dJTl9PRkZfT0ZGU0VUX1RYREZFX1dJTl9PRkZfU1lTVEVNX1RJTUVfTFNCICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ0RPX1RUUl9UWERGRV9XSU5fT0ZGX09GRlNFVF9UWERGRV9XSU5fT0ZGX1NZU1RFTV9USU1FX1dJRFRIICAgICAgICAgICAgKDEyKQorI2RlZmluZSBDRE9fVFRSX1RYREZFX1dJTl9PRkZfT0ZGU0VUX1RYREZFX1dJTl9PRkZfU1lTVEVNX1RJTUVfTUFTSyAgICAgICAgICAgICAoMHgwMDAwMEZGRikKKyNlbmRpZgorCisjZGVmaW5lIENET19UVFJfVFhDUlBfRklGT19XSU5fT05fT0ZGU0VUX1RYQ1JQX0ZJRk9fV0lOX09OX0NNUFJfT05fTFNCICAgICAgICAgICgyOCkKKyNkZWZpbmUgQ0RPX1RUUl9UWENSUF9GSUZPX1dJTl9PTl9PRkZTRVRfVFhDUlBfRklGT19XSU5fT05fQ01QUl9PTl9XSURUSCAgICAgICAgKDEpCisjZGVmaW5lIENET19UVFJfVFhDUlBfRklGT19XSU5fT05fT0ZGU0VUX1RYQ1JQX0ZJRk9fV0lOX09OX0NNUFJfT05fTUFTSyAgICAgICAgICgweDEwMDAwMDAwKQorI2RlZmluZSBDRE9fVFRSX1RYQ1JQX0ZJRk9fV0lOX09OX09GRlNFVF9UWENSUF9GSUZPX1dJTl9PTl9DTVBSX09OX0JJVCAgICAgICAgICAoMHgxMDAwMDAwMCkKKworI2RlZmluZSBDRE9fVFRSX1RYQ1JQX0ZJRk9fV0lOX09OX09GRlNFVF9UWENSUF9GSUZPX1dJTl9PTl9UUkdfRU5fTFNCICAgICAgICAgICAoMjApCisjZGVmaW5lIENET19UVFJfVFhDUlBfRklGT19XSU5fT05fT0ZGU0VUX1RYQ1JQX0ZJRk9fV0lOX09OX1RSR19FTl9XSURUSCAgICAgICAgICgxKQorI2RlZmluZSBDRE9fVFRSX1RYQ1JQX0ZJRk9fV0lOX09OX09GRlNFVF9UWENSUF9GSUZPX1dJTl9PTl9UUkdfRU5fTUFTSyAgICAgICAgICAoMHgwMDEwMDAwMCkKKyNkZWZpbmUgQ0RPX1RUUl9UWENSUF9GSUZPX1dJTl9PTl9PRkZTRVRfVFhDUlBfRklGT19XSU5fT05fVFJHX0VOX0JJVCAgICAgICAgICAgKDB4MDAxMDAwMDApCisKKyNkZWZpbmUgQ0RPX1RUUl9UWENSUF9GSUZPX1dJTl9PTl9PRkZTRVRfVFhDUlBfRklGT19XSU5fT05fU1lTVEVNX1RJTUVfTFNCICAgICAgKDApCisjZGVmaW5lIENET19UVFJfVFhDUlBfRklGT19XSU5fT05fT0ZGU0VUX1RYQ1JQX0ZJRk9fV0lOX09OX1NZU1RFTV9USU1FX1dJRFRIICAgICgyMCkKKyNkZWZpbmUgQ0RPX1RUUl9UWENSUF9GSUZPX1dJTl9PTl9PRkZTRVRfVFhDUlBfRklGT19XSU5fT05fU1lTVEVNX1RJTUVfTUFTSyAgICAgKDB4MDAwRkZGRkYpCisKKyNkZWZpbmUgQ0RPX1RUUl9UWENSUF9GSUZPX1dJTl9PRkZfT0ZGU0VUX1RYQ1JQX0ZJRk9fV0lOX09GRl9DTVBSX09OX0xTQiAgICAgICAgKDI4KQorI2RlZmluZSBDRE9fVFRSX1RYQ1JQX0ZJRk9fV0lOX09GRl9PRkZTRVRfVFhDUlBfRklGT19XSU5fT0ZGX0NNUFJfT05fV0lEVEggICAgICAoMSkKKyNkZWZpbmUgQ0RPX1RUUl9UWENSUF9GSUZPX1dJTl9PRkZfT0ZGU0VUX1RYQ1JQX0ZJRk9fV0lOX09GRl9DTVBSX09OX01BU0sgICAgICAgKDB4MTAwMDAwMDApCisjZGVmaW5lIENET19UVFJfVFhDUlBfRklGT19XSU5fT0ZGX09GRlNFVF9UWENSUF9GSUZPX1dJTl9PRkZfQ01QUl9PTl9CSVQgICAgICAgICgweDEwMDAwMDAwKQorCisjZGVmaW5lIENET19UVFJfVFhDUlBfRklGT19XSU5fT0ZGX09GRlNFVF9UWENSUF9GSUZPX1dJTl9PRkZfVFJHX0VOX0xTQiAgICAgICAgICgyMCkKKyNkZWZpbmUgQ0RPX1RUUl9UWENSUF9GSUZPX1dJTl9PRkZfT0ZGU0VUX1RYQ1JQX0ZJRk9fV0lOX09GRl9UUkdfRU5fV0lEVEggICAgICAgKDEpCisjZGVmaW5lIENET19UVFJfVFhDUlBfRklGT19XSU5fT0ZGX09GRlNFVF9UWENSUF9GSUZPX1dJTl9PRkZfVFJHX0VOX01BU0sgICAgICAgICgweDAwMTAwMDAwKQorI2RlZmluZSBDRE9fVFRSX1RYQ1JQX0ZJRk9fV0lOX09GRl9PRkZTRVRfVFhDUlBfRklGT19XSU5fT0ZGX1RSR19FTl9CSVQgICAgICAgICAoMHgwMDEwMDAwMCkKKworI2RlZmluZSBDRE9fVFRSX1RYQ1JQX0ZJRk9fV0lOX09GRl9PRkZTRVRfVFhDUlBfRklGT19XSU5fT0ZGX1NZU1RFTV9USU1FX0xTQiAgICAoMCkKKyNkZWZpbmUgQ0RPX1RUUl9UWENSUF9GSUZPX1dJTl9PRkZfT0ZGU0VUX1RYQ1JQX0ZJRk9fV0lOX09GRl9TWVNURU1fVElNRV9XSURUSCAgKDIwKQorI2RlZmluZSBDRE9fVFRSX1RYQ1JQX0ZJRk9fV0lOX09GRl9PRkZTRVRfVFhDUlBfRklGT19XSU5fT0ZGX1NZU1RFTV9USU1FX01BU0sgICAoMHgwMDBGRkZGRikKKworI2lmIGRlZmluZWQoX19NRDkzX18pfHxkZWZpbmVkKF9fTUQ5NV9fKQorI2RlZmluZSBDRE9fVFRSX1RYREFDX1dJTl9PTl9PRkZTRVRfVFhEQUNfV0lOX09OX0NNUFJfT05fTFNCICAgICAgICAgICAgICAgICAgICAoMjgpCisjZGVmaW5lIENET19UVFJfVFhEQUNfV0lOX09OX09GRlNFVF9UWERBQ19XSU5fT05fQ01QUl9PTl9XSURUSCAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDRE9fVFRSX1RYREFDX1dJTl9PTl9PRkZTRVRfVFhEQUNfV0lOX09OX0NNUFJfT05fTUFTSyAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMCkKKyNkZWZpbmUgQ0RPX1RUUl9UWERBQ19XSU5fT05fT0ZGU0VUX1RYREFDX1dJTl9PTl9DTVBSX09OX0JJVCAgICAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMDApCisKKyNkZWZpbmUgQ0RPX1RUUl9UWERBQ19XSU5fT05fT0ZGU0VUX1RYREFDX1dJTl9PTl9UUkdfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBDRE9fVFRSX1RYREFDX1dJTl9PTl9PRkZTRVRfVFhEQUNfV0lOX09OX1RSR19FTl9XSURUSCAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ0RPX1RUUl9UWERBQ19XSU5fT05fT0ZGU0VUX1RYREFDX1dJTl9PTl9UUkdfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisjZGVmaW5lIENET19UVFJfVFhEQUNfV0lOX09OX09GRlNFVF9UWERBQ19XSU5fT05fVFJHX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorCisjZGVmaW5lIENET19UVFJfVFhEQUNfV0lOX09OX09GRlNFVF9UWERBQ19XSU5fT05fU1lTVEVNX1RJTUVfTFNCICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBDRE9fVFRSX1RYREFDX1dJTl9PTl9PRkZTRVRfVFhEQUNfV0lOX09OX1NZU1RFTV9USU1FX1dJRFRIICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIENET19UVFJfVFhEQUNfV0lOX09OX09GRlNFVF9UWERBQ19XSU5fT05fU1lTVEVNX1RJTUVfTUFTSyAgICAgICAgICAgICAgICgweDAwMEZGRkZGKQorCisjZGVmaW5lIENET19UVFJfVFhEQUNfV0lOX09GRl9PRkZTRVRfVFhEQUNfV0lOX09GRl9DTVBSX09OX0xTQiAgICAgICAgICAgICAgICAgICgyOCkKKyNkZWZpbmUgQ0RPX1RUUl9UWERBQ19XSU5fT0ZGX09GRlNFVF9UWERBQ19XSU5fT0ZGX0NNUFJfT05fV0lEVEggICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENET19UVFJfVFhEQUNfV0lOX09GRl9PRkZTRVRfVFhEQUNfV0lOX09GRl9DTVBSX09OX01BU0sgICAgICAgICAgICAgICAgICgweDEwMDAwMDAwKQorI2RlZmluZSBDRE9fVFRSX1RYREFDX1dJTl9PRkZfT0ZGU0VUX1RYREFDX1dJTl9PRkZfQ01QUl9PTl9CSVQgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMCkKKworI2RlZmluZSBDRE9fVFRSX1RYREFDX1dJTl9PRkZfT0ZGU0VUX1RYREFDX1dJTl9PRkZfVFJHX0VOX0xTQiAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIENET19UVFJfVFhEQUNfV0lOX09GRl9PRkZTRVRfVFhEQUNfV0lOX09GRl9UUkdfRU5fV0lEVEggICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDRE9fVFRSX1RYREFDX1dJTl9PRkZfT0ZGU0VUX1RYREFDX1dJTl9PRkZfVFJHX0VOX01BU0sgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMCkKKyNkZWZpbmUgQ0RPX1RUUl9UWERBQ19XSU5fT0ZGX09GRlNFVF9UWERBQ19XSU5fT0ZGX1RSR19FTl9CSVQgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisKKyNkZWZpbmUgQ0RPX1RUUl9UWERBQ19XSU5fT0ZGX09GRlNFVF9UWERBQ19XSU5fT0ZGX1NZU1RFTV9USU1FX0xTQiAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENET19UVFJfVFhEQUNfV0lOX09GRl9PRkZTRVRfVFhEQUNfV0lOX09GRl9TWVNURU1fVElNRV9XSURUSCAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgQ0RPX1RUUl9UWERBQ19XSU5fT0ZGX09GRlNFVF9UWERBQ19XSU5fT0ZGX1NZU1RFTV9USU1FX01BU0sgICAgICAgICAgICAgKDB4MDAwRkZGRkYpCisjZW5kaWYKKworI2RlZmluZSBDRE9fVFRSX1RYQlJQX1NUUl9UWEJSUF9TVFJfQ01QUl9PTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjgpCisjZGVmaW5lIENET19UVFJfVFhCUlBfU1RSX1RYQlJQX1NUUl9DTVBSX09OX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDRE9fVFRSX1RYQlJQX1NUUl9UWEJSUF9TVFJfQ01QUl9PTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMCkKKyNkZWZpbmUgQ0RPX1RUUl9UWEJSUF9TVFJfVFhCUlBfU1RSX0NNUFJfT05fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMDApCisKKyNkZWZpbmUgQ0RPX1RUUl9UWEJSUF9TVFJfVFhCUlBfU1RSX1NJTkdMRV9UUklHR0VSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDIyKQorI2RlZmluZSBDRE9fVFRSX1RYQlJQX1NUUl9UWEJSUF9TVFJfU0lOR0xFX1RSSUdHRVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ0RPX1RUUl9UWEJSUF9TVFJfVFhCUlBfU1RSX1NJTkdMRV9UUklHR0VSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDA0MDAwMDApCisjZGVmaW5lIENET19UVFJfVFhCUlBfU1RSX1RYQlJQX1NUUl9TSU5HTEVfVFJJR0dFUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwNDAwMDAwKQorCisjZGVmaW5lIENET19UVFJfVFhCUlBfU1RSX1RYQlJQX1NUUl9BVVRPX1RSSUdHRVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgQ0RPX1RUUl9UWEJSUF9TVFJfVFhCUlBfU1RSX0FVVE9fVFJJR0dFUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENET19UVFJfVFhCUlBfU1RSX1RYQlJQX1NUUl9BVVRPX1RSSUdHRVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMzAwMDAwKQorCisjZGVmaW5lIENET19UVFJfVFhCUlBfU1RSX1RYQlJQX1NUUl9TWVNURU1fVElNRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBDRE9fVFRSX1RYQlJQX1NUUl9UWEJSUF9TVFJfU1lTVEVNX1RJTUVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIENET19UVFJfVFhCUlBfU1RSX1RYQlJQX1NUUl9TWVNURU1fVElNRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZGKQorCisjZGVmaW5lIENET19UVFJfVFhDUlBfU1RSX1RYQ1JQX1NUUl9DTVBSX09OX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyOCkKKyNkZWZpbmUgQ0RPX1RUUl9UWENSUF9TVFJfVFhDUlBfU1RSX0NNUFJfT05fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENET19UVFJfVFhDUlBfU1RSX1RYQ1JQX1NUUl9DTVBSX09OX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDEwMDAwMDAwKQorI2RlZmluZSBDRE9fVFRSX1RYQ1JQX1NUUl9UWENSUF9TVFJfQ01QUl9PTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMCkKKworI2RlZmluZSBDRE9fVFRSX1RYQ1JQX1NUUl9UWENSUF9TVFJfU0lOR0xFX1RSSUdHRVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoMjIpCisjZGVmaW5lIENET19UVFJfVFhDUlBfU1RSX1RYQ1JQX1NUUl9TSU5HTEVfVFJJR0dFUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDRE9fVFRSX1RYQ1JQX1NUUl9UWENSUF9TVFJfU0lOR0xFX1RSSUdHRVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDQwMDAwMCkKKyNkZWZpbmUgQ0RPX1RUUl9UWENSUF9TVFJfVFhDUlBfU1RSX1NJTkdMRV9UUklHR0VSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDA0MDAwMDApCisKKyNkZWZpbmUgQ0RPX1RUUl9UWENSUF9TVFJfVFhDUlBfU1RSX0FVVE9fVFJJR0dFUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBDRE9fVFRSX1RYQ1JQX1NUUl9UWENSUF9TVFJfQVVUT19UUklHR0VSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQ0RPX1RUUl9UWENSUF9TVFJfVFhDUlBfU1RSX0FVVE9fVFJJR0dFUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAzMDAwMDApCisKKyNkZWZpbmUgQ0RPX1RUUl9UWENSUF9TVFJfVFhDUlBfU1RSX1NZU1RFTV9USU1FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENET19UVFJfVFhDUlBfU1RSX1RYQ1JQX1NUUl9TWVNURU1fVElNRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgQ0RPX1RUUl9UWENSUF9TVFJfVFhDUlBfU1RSX1NZU1RFTV9USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDBGRkYpCisKKworI2RlZmluZSBDRE9fVFRSX0tTX1NUUl9LU19TVFJfQ01QUl9PTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjgpCisjZGVmaW5lIENET19UVFJfS1NfU1RSX0tTX1NUUl9DTVBSX09OX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDRE9fVFRSX0tTX1NUUl9LU19TVFJfQ01QUl9PTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMCkKKyNkZWZpbmUgQ0RPX1RUUl9LU19TVFJfS1NfU1RSX0NNUFJfT05fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMDApCisKKyNkZWZpbmUgQ0RPX1RUUl9LU19TVFJfS1NfU1RSX1NJTkdMRV9UUklHR0VSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIyKQorI2RlZmluZSBDRE9fVFRSX0tTX1NUUl9LU19TVFJfU0lOR0xFX1RSSUdHRVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ0RPX1RUUl9LU19TVFJfS1NfU1RSX1NJTkdMRV9UUklHR0VSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDA0MDAwMDApCisjZGVmaW5lIENET19UVFJfS1NfU1RSX0tTX1NUUl9TSU5HTEVfVFJJR0dFUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwNDAwMDAwKQorCisjZGVmaW5lIENET19UVFJfS1NfU1RSX0tTX1NUUl9BVVRPX1RSSUdHRVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgQ0RPX1RUUl9LU19TVFJfS1NfU1RSX0FVVE9fVFJJR0dFUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENET19UVFJfS1NfU1RSX0tTX1NUUl9BVVRPX1RSSUdHRVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMzAwMDAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKKyNkZWZpbmUgQ0RPX1RUUl9LU19TVFJfS1NfU1RSX1NZU1RFTV9USU1FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENET19UVFJfS1NfU1RSX0tTX1NUUl9TWVNURU1fVElNRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgQ0RPX1RUUl9LU19TVFJfS1NfU1RSX1NZU1RFTV9USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDBGRkYpCisKKyNpZiAoIWRlZmluZWQoX19NRDkzX18pKSYmKCFkZWZpbmVkKF9fTUQ5NV9fKSkKKyNkZWZpbmUgVFhfVElNRVJfVFRSX1dJTl9JTU1fT05fT0ZGX1RUUl9XSU5fSU1NX09GRl9UUklHX0xTQiAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYX1RJTUVSX1RUUl9XSU5fSU1NX09OX09GRl9UVFJfV0lOX0lNTV9PRkZfVFJJR19XSURUSCAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWF9USU1FUl9UVFJfV0lOX0lNTV9PTl9PRkZfVFRSX1dJTl9JTU1fT0ZGX1RSSUdfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgVFhfVElNRVJfVFRSX1dJTl9JTU1fT05fT0ZGX1RUUl9XSU5fSU1NX09GRl9UUklHX0JJVCAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgVFhfVElNRVJfVFRSX1dJTl9JTU1fT05fT0ZGX1RUUl9XSU5fSU1NX09OX1RSSUdfTFNCICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYX1RJTUVSX1RUUl9XSU5fSU1NX09OX09GRl9UVFJfV0lOX0lNTV9PTl9UUklHX1dJRFRIICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWF9USU1FUl9UVFJfV0lOX0lNTV9PTl9PRkZfVFRSX1dJTl9JTU1fT05fVFJJR19NQVNLICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhfVElNRVJfVFRSX1dJTl9JTU1fT05fT0ZGX1RUUl9XSU5fSU1NX09OX1RSSUdfQklUICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhfVElNRVJfVFRSX1dJTl9TQ0hfT05fVUNOVF9UUklHX1RUUl9XSU5fU0NIX09OX1VDTlRfQ01QUl9PTl9MU0IgICAgICAgKDEpCisjZGVmaW5lIFRYX1RJTUVSX1RUUl9XSU5fU0NIX09OX1VDTlRfVFJJR19UVFJfV0lOX1NDSF9PTl9VQ05UX0NNUFJfT05fV0lEVEggICAgICgxKQorI2RlZmluZSBUWF9USU1FUl9UVFJfV0lOX1NDSF9PTl9VQ05UX1RSSUdfVFRSX1dJTl9TQ0hfT05fVUNOVF9DTVBSX09OX01BU0sgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgVFhfVElNRVJfVFRSX1dJTl9TQ0hfT05fVUNOVF9UUklHX1RUUl9XSU5fU0NIX09OX1VDTlRfQ01QUl9PTl9CSVQgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgVFhfVElNRVJfVFRSX1dJTl9TQ0hfT05fVUNOVF9UUklHX1RUUl9XSU5fU0NIX09OX1VDTlRfVFJJR19MU0IgICAgICAgICAgKDApCisjZGVmaW5lIFRYX1RJTUVSX1RUUl9XSU5fU0NIX09OX1VDTlRfVFJJR19UVFJfV0lOX1NDSF9PTl9VQ05UX1RSSUdfV0lEVEggICAgICAgICgxKQorI2RlZmluZSBUWF9USU1FUl9UVFJfV0lOX1NDSF9PTl9VQ05UX1RSSUdfVFRSX1dJTl9TQ0hfT05fVUNOVF9UUklHX01BU0sgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhfVElNRVJfVFRSX1dJTl9TQ0hfT05fVUNOVF9UUklHX1RUUl9XSU5fU0NIX09OX1VDTlRfVFJJR19CSVQgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhfVElNRVJfVFRSX1dJTl9TQ0hfT05fVUNOVF9UVFJfV0lOX1NDSF9PTl9VQ05UX0xTQiAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYX1RJTUVSX1RUUl9XSU5fU0NIX09OX1VDTlRfVFRSX1dJTl9TQ0hfT05fVUNOVF9XSURUSCAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgVFhfVElNRVJfVFRSX1dJTl9TQ0hfT05fVUNOVF9UVFJfV0lOX1NDSF9PTl9VQ05UX01BU0sgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgVFhfVElNRVJfVFRSX1dJTl9TQ0hfT0ZGX1VDTlRfVFJJR19UVFJfV0lOX1NDSF9PRkZfVUNOVF9DTVBSX09OX0xTQiAgICAgKDEpCisjZGVmaW5lIFRYX1RJTUVSX1RUUl9XSU5fU0NIX09GRl9VQ05UX1RSSUdfVFRSX1dJTl9TQ0hfT0ZGX1VDTlRfQ01QUl9PTl9XSURUSCAgICgxKQorI2RlZmluZSBUWF9USU1FUl9UVFJfV0lOX1NDSF9PRkZfVUNOVF9UUklHX1RUUl9XSU5fU0NIX09GRl9VQ05UX0NNUFJfT05fTUFTSyAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgVFhfVElNRVJfVFRSX1dJTl9TQ0hfT0ZGX1VDTlRfVFJJR19UVFJfV0lOX1NDSF9PRkZfVUNOVF9DTVBSX09OX0JJVCAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgVFhfVElNRVJfVFRSX1dJTl9TQ0hfT0ZGX1VDTlRfVFJJR19UVFJfV0lOX1NDSF9PRkZfVUNOVF9FTl9MU0IgICAgICAgICAgKDApCisjZGVmaW5lIFRYX1RJTUVSX1RUUl9XSU5fU0NIX09GRl9VQ05UX1RSSUdfVFRSX1dJTl9TQ0hfT0ZGX1VDTlRfRU5fV0lEVEggICAgICAgICgxKQorI2RlZmluZSBUWF9USU1FUl9UVFJfV0lOX1NDSF9PRkZfVUNOVF9UUklHX1RUUl9XSU5fU0NIX09GRl9VQ05UX0VOX01BU0sgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhfVElNRVJfVFRSX1dJTl9TQ0hfT0ZGX1VDTlRfVFJJR19UVFJfV0lOX1NDSF9PRkZfVUNOVF9FTl9CSVQgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhfVElNRVJfVFRSX1dJTl9TQ0hfT0ZGX1VDTlRfVFRSX1dJTl9TQ0hfT0ZGX1VDTlRfTFNCICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYX1RJTUVSX1RUUl9XSU5fU0NIX09GRl9VQ05UX1RUUl9XSU5fU0NIX09GRl9VQ05UX1dJRFRIICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgVFhfVElNRVJfVFRSX1dJTl9TQ0hfT0ZGX1VDTlRfVFRSX1dJTl9TQ0hfT0ZGX1VDTlRfTUFTSyAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgVFhfVElNRVJfVFRSX1dJTl9TQ0hfT05fU1RJTUVfVFRSX1dJTl9TQ0hfT05fQ01QUl9PTl9MU0IgICAgICAgICAgICAgICAgKDI4KQorI2RlZmluZSBUWF9USU1FUl9UVFJfV0lOX1NDSF9PTl9TVElNRV9UVFJfV0lOX1NDSF9PTl9DTVBSX09OX1dJRFRIICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhfVElNRVJfVFRSX1dJTl9TQ0hfT05fU1RJTUVfVFRSX1dJTl9TQ0hfT05fQ01QUl9PTl9NQVNLICAgICAgICAgICAgICAgKDB4MTAwMDAwMDApCisjZGVmaW5lIFRYX1RJTUVSX1RUUl9XSU5fU0NIX09OX1NUSU1FX1RUUl9XSU5fU0NIX09OX0NNUFJfT05fQklUICAgICAgICAgICAgICAgICgweDEwMDAwMDAwKQorCisjZGVmaW5lIFRYX1RJTUVSX1RUUl9XSU5fU0NIX09OX1NUSU1FX1RUUl9XSU5fU0NIX09OX1RSR19FTl9MU0IgICAgICAgICAgICAgICAgICgyNykKKyNkZWZpbmUgVFhfVElNRVJfVFRSX1dJTl9TQ0hfT05fU1RJTUVfVFRSX1dJTl9TQ0hfT05fVFJHX0VOX1dJRFRIICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYX1RJTUVSX1RUUl9XSU5fU0NIX09OX1NUSU1FX1RUUl9XSU5fU0NIX09OX1RSR19FTl9NQVNLICAgICAgICAgICAgICAgICgweDA4MDAwMDAwKQorI2RlZmluZSBUWF9USU1FUl9UVFJfV0lOX1NDSF9PTl9TVElNRV9UVFJfV0lOX1NDSF9PTl9UUkdfRU5fQklUICAgICAgICAgICAgICAgICAoMHgwODAwMDAwMCkKKworI2RlZmluZSBUWF9USU1FUl9UVFJfV0lOX1NDSF9PTl9TVElNRV9UVFJfV0lOX1NDSF9PTl9TWVNURU1fVElNRV9MU0IgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhfVElNRVJfVFRSX1dJTl9TQ0hfT05fU1RJTUVfVFRSX1dJTl9TQ0hfT05fU1lTVEVNX1RJTUVfV0lEVEggICAgICAgICAgKDIwKQorI2RlZmluZSBUWF9USU1FUl9UVFJfV0lOX1NDSF9PTl9TVElNRV9UVFJfV0lOX1NDSF9PTl9TWVNURU1fVElNRV9NQVNLICAgICAgICAgICAoMHgwMDBGRkZGRikKKworI2RlZmluZSBUWF9USU1FUl9UVFJfV0lOX1NDSF9PRkZfU1RJTUVfVFRSX1dJTl9TQ0hfT0ZGX0NNUFJfT05fTFNCICAgICAgICAgICAgICAoMjgpCisjZGVmaW5lIFRYX1RJTUVSX1RUUl9XSU5fU0NIX09GRl9TVElNRV9UVFJfV0lOX1NDSF9PRkZfQ01QUl9PTl9XSURUSCAgICAgICAgICAgICgxKQorI2RlZmluZSBUWF9USU1FUl9UVFJfV0lOX1NDSF9PRkZfU1RJTUVfVFRSX1dJTl9TQ0hfT0ZGX0NNUFJfT05fTUFTSyAgICAgICAgICAgICAoMHgxMDAwMDAwMCkKKyNkZWZpbmUgVFhfVElNRVJfVFRSX1dJTl9TQ0hfT0ZGX1NUSU1FX1RUUl9XSU5fU0NIX09GRl9DTVBSX09OX0JJVCAgICAgICAgICAgICAgKDB4MTAwMDAwMDApCisKKyNkZWZpbmUgVFhfVElNRVJfVFRSX1dJTl9TQ0hfT0ZGX1NUSU1FX1RUUl9XSU5fU0NIX09GRl9UUkdfRU5fTFNCICAgICAgICAgICAgICAgKDI3KQorI2RlZmluZSBUWF9USU1FUl9UVFJfV0lOX1NDSF9PRkZfU1RJTUVfVFRSX1dJTl9TQ0hfT0ZGX1RSR19FTl9XSURUSCAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhfVElNRVJfVFRSX1dJTl9TQ0hfT0ZGX1NUSU1FX1RUUl9XSU5fU0NIX09GRl9UUkdfRU5fTUFTSyAgICAgICAgICAgICAgKDB4MDgwMDAwMDApCisjZGVmaW5lIFRYX1RJTUVSX1RUUl9XSU5fU0NIX09GRl9TVElNRV9UVFJfV0lOX1NDSF9PRkZfVFJHX0VOX0JJVCAgICAgICAgICAgICAgICgweDA4MDAwMDAwKQorCisjZGVmaW5lIFRYX1RJTUVSX1RUUl9XSU5fU0NIX09GRl9TVElNRV9UVFJfV0lOX1NDSF9PRkZfU1lTVEVNX1RJTUVfTFNCICAgICAgICAgICgwKQorI2RlZmluZSBUWF9USU1FUl9UVFJfV0lOX1NDSF9PRkZfU1RJTUVfVFRSX1dJTl9TQ0hfT0ZGX1NZU1RFTV9USU1FX1dJRFRIICAgICAgICAoMjApCisjZGVmaW5lIFRYX1RJTUVSX1RUUl9XSU5fU0NIX09GRl9TVElNRV9UVFJfV0lOX1NDSF9PRkZfU1lTVEVNX1RJTUVfTUFTSyAgICAgICAgICgweDAwMEZGRkZGKQorCisjZGVmaW5lIFRYX1RJTUVSX1RUUl9XSU5fREJHX1RUUl9XSU5fU1RBVFVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWF9USU1FUl9UVFJfV0lOX0RCR19UVFJfV0lOX1NUQVRVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhfVElNRVJfVFRSX1dJTl9EQkdfVFRSX1dJTl9TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYX1RJTUVSX1RUUl9XSU5fREJHX1RUUl9XSU5fU1RBVFVTX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2VuZGlmCisKKyNlbmRpZiAvLyNpZm5kZWYgX0NQSF9FVkRPX1RYX1RJTUVSX0hfCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoZmVzeXNtZW1jb25maWdyZWcuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhmZXN5c21lbWNvbmZpZ3JlZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxOGIwZjEKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoZmVzeXNtZW1jb25maWdyZWcuaApAQCAtMCwwICsxLDQzIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmIGRlZmluZWQoX19NRDkzX18pCisjaW5jbHVkZSAiY3BoZmVzeXNtZW1jb25maWdyZWdfOTMuaCIKKyNlbGlmIGRlZmluZWQoX19NRDk1X18pCisjaW5jbHVkZSAiY3BoZmVzeXNtZW1jb25maWdyZWdfOTUuaCIKKyNlbGlmIGRlZmluZWQoX19NRDk3X18pIHx8IGRlZmluZWQoX19NRDk3UF9fKQorI2luY2x1ZGUgImNwaGZlc3lzbWVtY29uZmlncmVnXzk3LmgiCisjZWxzZQorI2luY2x1ZGUgImNwaGZlc3lzbWVtY29uZmlncmVnXzk3LmgiLyojZXJyb3IgIltFUlJPUl0gSW52YWxpZCBNRCBnZW5lcmF0aW9uIiBtb2RpZmljYXRpb24gZm9yIGJ1aWxkIGVycm9yKi8KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGZlc3lzbWVtY29uZmlncmVnXzkzLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoZmVzeXNtZW1jb25maWdyZWdfOTMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yN2IyOTBjCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGZlc3lzbWVtY29uZmlncmVnXzkzLmgKQEAgLTAsMCArMSwyNTAgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhfRkVTWVNfTUVNX0NPTkZJR19SRUdfSF8KKyNkZWZpbmUgX0NQSF9GRVNZU19NRU1fQ09ORklHX1JFR19IXworCisKK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIFNSQU1BRERSOyAgICAgICAgIC8qIFNSQU0gYWRkciBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgU1JBTURBVEE7ICAgICAgICAgLyogU1JBTSBkYXRhIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBBUEJBRERSOyAgICAgICAgICAvKiBBUEIgYWRkciBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIEFQQkRBVEE7ICAgICAgICAgIC8qIEFQQiBkYXRhIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nKiAgQVBCQUREUjMyOyAgICAgICAgLyogQVBCIGFkZHIgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgICBBUEJEQVRBMzI7ICAgICAgICAvKiBBUEIgZGF0YSBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIERQUkFNQUREUjsgICAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSBzaWduZWQgICBzaG9ydCogRFBSQU1BRERSX1M7ICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBEUFJBTURBVEE7ICAgICAgICAvKiBEUFJBTSBkYXRhIGlzIDE2IGJpdHMgKi8KKworCisjZGVmaW5lIE1FTV9DT05GSUdfRkVTWVNfUkVHX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEE2MTEwMDAwKQorCisjZGVmaW5lIE1FTV9DT05GSUdfRkVTWVNfZW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChNRU1fQ09ORklHX0ZFU1lTX1JFR19CQVNFICsgMHg0MTAgKyAxKjQpCisKKworCisjZGVmaW5lIFNXX1RZUEVfTURMMUFPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRU1fQ09ORklHX0ZFU1lTX1JFR19CQVNFICsgMHgwMDApKQorI2RlZmluZSBTV19QV0ROX0MwX01ETDFBTyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MDA0KSkKKyNkZWZpbmUgR1JPVVBfUFdETl9NREwxQU8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1FTV9DT05GSUdfRkVTWVNfUkVHX0JBU0UgKyAweDAwOCkpCisjZGVmaW5lIFdBSVRJTkdfRkxBR19NREwxQU8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRU1fQ09ORklHX0ZFU1lTX1JFR19CQVNFICsgMHgwMGMpKQorI2RlZmluZSBNQklTVF9NRU1fSVNPSU5UQl9NREwxQU8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MDEwKSkKKyNkZWZpbmUgTUJJU1RfTUVNX1BEX01ETDFBTyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1FTV9DT05GSUdfRkVTWVNfUkVHX0JBU0UgKyAweDAxNCkpCisjZGVmaW5lIE1CSVNUX1BST1RfU1RBX01ETDFBTyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRU1fQ09ORklHX0ZFU1lTX1JFR19CQVNFICsgMHgwMTgpKQorI2RlZmluZSBTUkFNQ19BT19JRExFX01ETDFBTyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MDFjKSkKKyNkZWZpbmUgU1dfVFlQRV9NRDJHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1FTV9DT05GSUdfRkVTWVNfUkVHX0JBU0UgKyAweDEwMCkpCisjZGVmaW5lIFNXX1BXRE5fQzBfTUQyRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRU1fQ09ORklHX0ZFU1lTX1JFR19CQVNFICsgMHgxMDQpKQorI2RlZmluZSBHUk9VUF9QV0ROX01EMkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MTA4KSkKKyNkZWZpbmUgV0FJVElOR19GTEFHX01EMkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1FTV9DT05GSUdfRkVTWVNfUkVHX0JBU0UgKyAweDEwYykpCisjZGVmaW5lIFNSQU1DX0FPX0lETEVfTUQyRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRU1fQ09ORklHX0ZFU1lTX1JFR19CQVNFICsgMHgxMTApKQorI2RlZmluZSBTV19UWVBFX1RYU1lTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MjAwKSkKKyNkZWZpbmUgU1dfUFdETl9DMF9UWFNZUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1FTV9DT05GSUdfRkVTWVNfUkVHX0JBU0UgKyAweDIwNCkpCisjZGVmaW5lIFNXX1BXRE5fQzFfVFhTWVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRU1fQ09ORklHX0ZFU1lTX1JFR19CQVNFICsgMHgyMDgpKQorI2RlZmluZSBTV19QV0ROX0MyX1RYU1lTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MjBjKSkKKyNkZWZpbmUgU1dfUFdETl9DM19UWFNZUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1FTV9DT05GSUdfRkVTWVNfUkVHX0JBU0UgKyAweDIxMCkpCisjZGVmaW5lIFNXX1BXRE5fQzRfVFhTWVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRU1fQ09ORklHX0ZFU1lTX1JFR19CQVNFICsgMHgyMTQpKQorI2RlZmluZSBHUk9VUF9QV0ROX1RYU1lTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MjE4KSkKKyNkZWZpbmUgV0FJVElOR19GTEFHX1RYU1lTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1FTV9DT05GSUdfRkVTWVNfUkVHX0JBU0UgKyAweDIxYykpCisjZGVmaW5lIFNSQU1DX0FPX0lETEVfVFhTWVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRU1fQ09ORklHX0ZFU1lTX1JFR19CQVNFICsgMHgyMjApKQorI2RlZmluZSBTV19UWVBFX0NTU1lTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MzAwKSkKKyNkZWZpbmUgU1dfUFdETl9DMF9DU1NZUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1FTV9DT05GSUdfRkVTWVNfUkVHX0JBU0UgKyAweDMwNCkpCisjZGVmaW5lIFNXX1BXRE5fQzFfQ1NTWVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRU1fQ09ORklHX0ZFU1lTX1JFR19CQVNFICsgMHgzMDgpKQorI2RlZmluZSBTV19QV0ROX0MyX0NTU1lTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MzBjKSkKKyNkZWZpbmUgU1dfUFdETl9DM19DU1NZUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1FTV9DT05GSUdfRkVTWVNfUkVHX0JBU0UgKyAweDMxMCkpCisjZGVmaW5lIFNXX1BXRE5fQzRfQ1NTWVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRU1fQ09ORklHX0ZFU1lTX1JFR19CQVNFICsgMHgzMTQpKQorI2RlZmluZSBHUk9VUF9QV0ROX0NTU1lTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MzE4KSkKKyNkZWZpbmUgV0FJVElOR19GTEFHX0NTU1lTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1FTV9DT05GSUdfRkVTWVNfUkVHX0JBU0UgKyAweDMxYykpCisjZGVmaW5lIFNSQU1DX0FPX0lETEVfQ1NTWVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRU1fQ09ORklHX0ZFU1lTX1JFR19CQVNFICsgMHgzMjApKQorI2RlZmluZSBTV19UWVBFX1JYREZFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4NDAwKSkKKyNkZWZpbmUgU1dfUFdETl9DMF9SWERGRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1FTV9DT05GSUdfRkVTWVNfUkVHX0JBU0UgKyAweDQwNCkpCisjZGVmaW5lIEdST1VQX1BXRE5fUlhERkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRU1fQ09ORklHX0ZFU1lTX1JFR19CQVNFICsgMHg0MDgpKQorI2RlZmluZSBXQUlUSU5HX0ZMQUdfUlhERkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4NDBjKSkKKyNkZWZpbmUgU1JBTUNfQU9fSURMRV9SWERGRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1FTV9DT05GSUdfRkVTWVNfUkVHX0JBU0UgKyAweDQxMCkpCisKKworI2RlZmluZSBTV19UWVBFX01ETDFBT19NX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1dfVFlQRV9NREwxQU9fTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNXX1RZUEVfTURMMUFPX01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAzKQorCisjZGVmaW5lIFNXX1BXRE5fQzBfTURMMUFPX01fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTV19QV0ROX0MwX01ETDFBT19NX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1dfUFdETl9DMF9NREwxQU9fTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDMpCisKKyNkZWZpbmUgR1JPVVBfUFdETl9NREwxQU9fTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEdST1VQX1BXRE5fTURMMUFPX01fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBHUk9VUF9QV0ROX01ETDFBT19NX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMykKKworI2RlZmluZSBXQUlUSU5HX0ZMQUdfTURMMUFPX01fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgV0FJVElOR19GTEFHX01ETDFBT19NX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFdBSVRJTkdfRkxBR19NREwxQU9fTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBXQUlUSU5HX0ZMQUdfTURMMUFPX01fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBNQklTVF9NRU1fSVNPSU5UQl9NREwxQU9fTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTUJJU1RfTUVNX0lTT0lOVEJfTURMMUFPX01fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1CSVNUX01FTV9JU09JTlRCX01ETDFBT19NX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBNQklTVF9NRU1fSVNPSU5UQl9NREwxQU9fTV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBNQklTVF9NRU1fUERfTURMMUFPX01fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTUJJU1RfTUVNX1BEX01ETDFBT19NX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1CSVNUX01FTV9QRF9NREwxQU9fTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBNQklTVF9NRU1fUERfTURMMUFPX01fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBNQklTVF9QUk9UX1NUQV9NREwxQU9fTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTUJJU1RfUFJPVF9TVEFfTURMMUFPX01fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1CSVNUX1BST1RfU1RBX01ETDFBT19NX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBNQklTVF9QUk9UX1NUQV9NREwxQU9fTV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBTUkFNQ19BT19JRExFX01ETDFBT19NX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JBTUNfQU9fSURMRV9NREwxQU9fTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNSQU1DX0FPX0lETEVfTURMMUFPX01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBTUkFNQ19BT19JRExFX01ETDFBT19NX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBTV19UWVBFX01EMkdfTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1dfVFlQRV9NRDJHX01fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNXX1RZUEVfTUQyR19NX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAzKQorCisjZGVmaW5lIFNXX1BXRE5fQzBfTUQyR19NX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTV19QV0ROX0MwX01EMkdfTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1dfUFdETl9DMF9NRDJHX01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDMpCisKKyNkZWZpbmUgR1JPVVBfUFdETl9NRDJHX01fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEdST1VQX1BXRE5fTUQyR19NX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBHUk9VUF9QV0ROX01EMkdfTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMykKKworI2RlZmluZSBXQUlUSU5HX0ZMQUdfTUQyR19NX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgV0FJVElOR19GTEFHX01EMkdfTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFdBSVRJTkdfRkxBR19NRDJHX01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBXQUlUSU5HX0ZMQUdfTUQyR19NX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBTUkFNQ19BT19JRExFX01EMkdfTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JBTUNfQU9fSURMRV9NRDJHX01fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNSQU1DX0FPX0lETEVfTUQyR19NX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBTUkFNQ19BT19JRExFX01EMkdfTV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBTV19UWVBFX1RYU1lTX01fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1dfVFlQRV9UWFNZU19NX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNXX1RZUEVfVFhTWVNfTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIFNXX1BXRE5fQzBfVFhTWVNfTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTV19QV0ROX0MwX1RYU1lTX01fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1dfUFdETl9DMF9UWFNZU19NX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgU1dfUFdETl9DMV9UWFNZU19NX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNXX1BXRE5fQzFfVFhTWVNfTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTV19QV0ROX0MxX1RYU1lTX01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBTV19QV0ROX0MyX1RYU1lTX01fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1dfUFdETl9DMl9UWFNZU19NX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNXX1BXRE5fQzJfVFhTWVNfTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIFNXX1BXRE5fQzNfVFhTWVNfTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTV19QV0ROX0MzX1RYU1lTX01fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1dfUFdETl9DM19UWFNZU19NX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgU1dfUFdETl9DNF9UWFNZU19NX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNXX1BXRE5fQzRfVFhTWVNfTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTV19QV0ROX0M0X1RYU1lTX01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBHUk9VUF9QV0ROX1RYU1lTX01fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgR1JPVVBfUFdETl9UWFNZU19NX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIEdST1VQX1BXRE5fVFhTWVNfTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIFdBSVRJTkdfRkxBR19UWFNZU19NX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBXQUlUSU5HX0ZMQUdfVFhTWVNfTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgV0FJVElOR19GTEFHX1RYU1lTX01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUYpCisKKyNkZWZpbmUgU1JBTUNfQU9fSURMRV9UWFNZU19NX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSQU1DX0FPX0lETEVfVFhTWVNfTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUkFNQ19BT19JRExFX1RYU1lTX01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgU1JBTUNfQU9fSURMRV9UWFNZU19NX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgU1dfVFlQRV9DU1NZU19NX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNXX1RZUEVfQ1NTWVNfTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTV19UWVBFX0NTU1lTX01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKworI2RlZmluZSBTV19QV0ROX0MwX0NTU1lTX01fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1dfUFdETl9DMF9DU1NZU19NX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFNXX1BXRE5fQzBfQ1NTWVNfTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDNGKQorCisjZGVmaW5lIFNXX1BXRE5fQzFfQ1NTWVNfTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTV19QV0ROX0MxX0NTU1lTX01fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgU1dfUFdETl9DMV9DU1NZU19NX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgU1dfUFdETl9DMl9DU1NZU19NX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNXX1BXRE5fQzJfQ1NTWVNfTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTV19QV0ROX0MyX0NTU1lTX01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKworI2RlZmluZSBTV19QV0ROX0MzX0NTU1lTX01fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1dfUFdETl9DM19DU1NZU19NX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFNXX1BXRE5fQzNfQ1NTWVNfTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDNGKQorCisjZGVmaW5lIFNXX1BXRE5fQzRfQ1NTWVNfTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTV19QV0ROX0M0X0NTU1lTX01fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgU1dfUFdETl9DNF9DU1NZU19NX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgR1JPVVBfUFdETl9DU1NZU19NX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEdST1VQX1BXRE5fQ1NTWVNfTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBHUk9VUF9QV0ROX0NTU1lTX01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKworI2RlZmluZSBXQUlUSU5HX0ZMQUdfQ1NTWVNfTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgV0FJVElOR19GTEFHX0NTU1lTX01fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFdBSVRJTkdfRkxBR19DU1NZU19NX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIFNSQU1DX0FPX0lETEVfQ1NTWVNfTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUkFNQ19BT19JRExFX0NTU1lTX01fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JBTUNfQU9fSURMRV9DU1NZU19NX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNSQU1DX0FPX0lETEVfQ1NTWVNfTV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNXX1RZUEVfUlhERkVfTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTV19UWVBFX1JYREZFX01fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1dfVFlQRV9SWERGRV9NX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDMpCisKKyNkZWZpbmUgU1dfUFdETl9DMF9SWERGRV9NX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNXX1BXRE5fQzBfUlhERkVfTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTV19QV0ROX0MwX1JYREZFX01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMykKKworI2RlZmluZSBHUk9VUF9QV0ROX1JYREZFX01fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgR1JPVVBfUFdETl9SWERGRV9NX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIEdST1VQX1BXRE5fUlhERkVfTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAzKQorCisjZGVmaW5lIFdBSVRJTkdfRkxBR19SWERGRV9NX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBXQUlUSU5HX0ZMQUdfUlhERkVfTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgV0FJVElOR19GTEFHX1JYREZFX01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFdBSVRJTkdfRkxBR19SWERGRV9NX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNSQU1DX0FPX0lETEVfUlhERkVfTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUkFNQ19BT19JRExFX1JYREZFX01fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JBTUNfQU9fSURMRV9SWERGRV9NX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNSQU1DX0FPX0lETEVfUlhERkVfTV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisKKyNlbmRpZiAvKl9DUEhfRkVTWVNfTUVNX0NPTkZJR19SRUdfSF8qLwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhmZXN5c21lbWNvbmZpZ3JlZ185NS5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGZlc3lzbWVtY29uZmlncmVnXzk1LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjdiMjkwYwotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhmZXN5c21lbWNvbmZpZ3JlZ185NS5oCkBAIC0wLDAgKzEsMjUwIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfQ1BIX0ZFU1lTX01FTV9DT05GSUdfUkVHX0hfCisjZGVmaW5lIF9DUEhfRkVTWVNfTUVNX0NPTkZJR19SRUdfSF8KKworCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBTUkFNQUREUjsgICAgICAgICAvKiBTUkFNIGFkZHIgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIFNSQU1EQVRBOyAgICAgICAgIC8qIFNSQU0gZGF0YSBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogQVBCQUREUjsgICAgICAgICAgLyogQVBCIGFkZHIgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBBUEJEQVRBOyAgICAgICAgICAvKiBBUEIgZGF0YSBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyogIEFQQkFERFIzMjsgICAgICAgIC8qIEFQQiBhZGRyIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICAgQVBCREFUQTMyOyAgICAgICAgLyogQVBCIGRhdGEgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBEUFJBTUFERFI7ICAgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgc2lnbmVkICAgc2hvcnQqIERQUkFNQUREUl9TOyAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgRFBSQU1EQVRBOyAgICAgICAgLyogRFBSQU0gZGF0YSBpcyAxNiBiaXRzICovCisKKworI2RlZmluZSBNRU1fQ09ORklHX0ZFU1lTX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhBNjExMDAwMCkKKworI2RlZmluZSBNRU1fQ09ORklHX0ZFU1lTX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4NDEwICsgMSo0KQorCisKKworI2RlZmluZSBTV19UWVBFX01ETDFBTyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MDAwKSkKKyNkZWZpbmUgU1dfUFdETl9DMF9NREwxQU8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1FTV9DT05GSUdfRkVTWVNfUkVHX0JBU0UgKyAweDAwNCkpCisjZGVmaW5lIEdST1VQX1BXRE5fTURMMUFPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRU1fQ09ORklHX0ZFU1lTX1JFR19CQVNFICsgMHgwMDgpKQorI2RlZmluZSBXQUlUSU5HX0ZMQUdfTURMMUFPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MDBjKSkKKyNkZWZpbmUgTUJJU1RfTUVNX0lTT0lOVEJfTURMMUFPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1FTV9DT05GSUdfRkVTWVNfUkVHX0JBU0UgKyAweDAxMCkpCisjZGVmaW5lIE1CSVNUX01FTV9QRF9NREwxQU8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRU1fQ09ORklHX0ZFU1lTX1JFR19CQVNFICsgMHgwMTQpKQorI2RlZmluZSBNQklTVF9QUk9UX1NUQV9NREwxQU8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MDE4KSkKKyNkZWZpbmUgU1JBTUNfQU9fSURMRV9NREwxQU8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1FTV9DT05GSUdfRkVTWVNfUkVHX0JBU0UgKyAweDAxYykpCisjZGVmaW5lIFNXX1RZUEVfTUQyRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRU1fQ09ORklHX0ZFU1lTX1JFR19CQVNFICsgMHgxMDApKQorI2RlZmluZSBTV19QV0ROX0MwX01EMkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MTA0KSkKKyNkZWZpbmUgR1JPVVBfUFdETl9NRDJHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1FTV9DT05GSUdfRkVTWVNfUkVHX0JBU0UgKyAweDEwOCkpCisjZGVmaW5lIFdBSVRJTkdfRkxBR19NRDJHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRU1fQ09ORklHX0ZFU1lTX1JFR19CQVNFICsgMHgxMGMpKQorI2RlZmluZSBTUkFNQ19BT19JRExFX01EMkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MTEwKSkKKyNkZWZpbmUgU1dfVFlQRV9UWFNZUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1FTV9DT05GSUdfRkVTWVNfUkVHX0JBU0UgKyAweDIwMCkpCisjZGVmaW5lIFNXX1BXRE5fQzBfVFhTWVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRU1fQ09ORklHX0ZFU1lTX1JFR19CQVNFICsgMHgyMDQpKQorI2RlZmluZSBTV19QV0ROX0MxX1RYU1lTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MjA4KSkKKyNkZWZpbmUgU1dfUFdETl9DMl9UWFNZUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1FTV9DT05GSUdfRkVTWVNfUkVHX0JBU0UgKyAweDIwYykpCisjZGVmaW5lIFNXX1BXRE5fQzNfVFhTWVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRU1fQ09ORklHX0ZFU1lTX1JFR19CQVNFICsgMHgyMTApKQorI2RlZmluZSBTV19QV0ROX0M0X1RYU1lTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MjE0KSkKKyNkZWZpbmUgR1JPVVBfUFdETl9UWFNZUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1FTV9DT05GSUdfRkVTWVNfUkVHX0JBU0UgKyAweDIxOCkpCisjZGVmaW5lIFdBSVRJTkdfRkxBR19UWFNZUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRU1fQ09ORklHX0ZFU1lTX1JFR19CQVNFICsgMHgyMWMpKQorI2RlZmluZSBTUkFNQ19BT19JRExFX1RYU1lTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MjIwKSkKKyNkZWZpbmUgU1dfVFlQRV9DU1NZUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1FTV9DT05GSUdfRkVTWVNfUkVHX0JBU0UgKyAweDMwMCkpCisjZGVmaW5lIFNXX1BXRE5fQzBfQ1NTWVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRU1fQ09ORklHX0ZFU1lTX1JFR19CQVNFICsgMHgzMDQpKQorI2RlZmluZSBTV19QV0ROX0MxX0NTU1lTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MzA4KSkKKyNkZWZpbmUgU1dfUFdETl9DMl9DU1NZUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1FTV9DT05GSUdfRkVTWVNfUkVHX0JBU0UgKyAweDMwYykpCisjZGVmaW5lIFNXX1BXRE5fQzNfQ1NTWVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRU1fQ09ORklHX0ZFU1lTX1JFR19CQVNFICsgMHgzMTApKQorI2RlZmluZSBTV19QV0ROX0M0X0NTU1lTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MzE0KSkKKyNkZWZpbmUgR1JPVVBfUFdETl9DU1NZUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1FTV9DT05GSUdfRkVTWVNfUkVHX0JBU0UgKyAweDMxOCkpCisjZGVmaW5lIFdBSVRJTkdfRkxBR19DU1NZUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRU1fQ09ORklHX0ZFU1lTX1JFR19CQVNFICsgMHgzMWMpKQorI2RlZmluZSBTUkFNQ19BT19JRExFX0NTU1lTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MzIwKSkKKyNkZWZpbmUgU1dfVFlQRV9SWERGRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1FTV9DT05GSUdfRkVTWVNfUkVHX0JBU0UgKyAweDQwMCkpCisjZGVmaW5lIFNXX1BXRE5fQzBfUlhERkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRU1fQ09ORklHX0ZFU1lTX1JFR19CQVNFICsgMHg0MDQpKQorI2RlZmluZSBHUk9VUF9QV0ROX1JYREZFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4NDA4KSkKKyNkZWZpbmUgV0FJVElOR19GTEFHX1JYREZFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1FTV9DT05GSUdfRkVTWVNfUkVHX0JBU0UgKyAweDQwYykpCisjZGVmaW5lIFNSQU1DX0FPX0lETEVfUlhERkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRU1fQ09ORklHX0ZFU1lTX1JFR19CQVNFICsgMHg0MTApKQorCisKKyNkZWZpbmUgU1dfVFlQRV9NREwxQU9fTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNXX1RZUEVfTURMMUFPX01fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTV19UWVBFX01ETDFBT19NX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMykKKworI2RlZmluZSBTV19QV0ROX0MwX01ETDFBT19NX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1dfUFdETl9DMF9NREwxQU9fTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNXX1BXRE5fQzBfTURMMUFPX01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAzKQorCisjZGVmaW5lIEdST1VQX1BXRE5fTURMMUFPX01fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBHUk9VUF9QV0ROX01ETDFBT19NX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgR1JPVVBfUFdETl9NREwxQU9fTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDMpCisKKyNkZWZpbmUgV0FJVElOR19GTEFHX01ETDFBT19NX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFdBSVRJTkdfRkxBR19NREwxQU9fTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBXQUlUSU5HX0ZMQUdfTURMMUFPX01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgV0FJVElOR19GTEFHX01ETDFBT19NX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgTUJJU1RfTUVNX0lTT0lOVEJfTURMMUFPX01fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1CSVNUX01FTV9JU09JTlRCX01ETDFBT19NX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNQklTVF9NRU1fSVNPSU5UQl9NREwxQU9fTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgTUJJU1RfTUVNX0lTT0lOVEJfTURMMUFPX01fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgTUJJU1RfTUVNX1BEX01ETDFBT19NX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1CSVNUX01FTV9QRF9NREwxQU9fTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNQklTVF9NRU1fUERfTURMMUFPX01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgTUJJU1RfTUVNX1BEX01ETDFBT19NX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgTUJJU1RfUFJPVF9TVEFfTURMMUFPX01fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1CSVNUX1BST1RfU1RBX01ETDFBT19NX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNQklTVF9QUk9UX1NUQV9NREwxQU9fTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgTUJJU1RfUFJPVF9TVEFfTURMMUFPX01fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgU1JBTUNfQU9fSURMRV9NREwxQU9fTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSQU1DX0FPX0lETEVfTURMMUFPX01fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUkFNQ19BT19JRExFX01ETDFBT19NX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgU1JBTUNfQU9fSURMRV9NREwxQU9fTV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgU1dfVFlQRV9NRDJHX01fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNXX1RZUEVfTUQyR19NX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTV19UWVBFX01EMkdfTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMykKKworI2RlZmluZSBTV19QV0ROX0MwX01EMkdfTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1dfUFdETl9DMF9NRDJHX01fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNXX1BXRE5fQzBfTUQyR19NX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAzKQorCisjZGVmaW5lIEdST1VQX1BXRE5fTUQyR19NX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBHUk9VUF9QV0ROX01EMkdfTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgR1JPVVBfUFdETl9NRDJHX01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDMpCisKKyNkZWZpbmUgV0FJVElOR19GTEFHX01EMkdfTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFdBSVRJTkdfRkxBR19NRDJHX01fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBXQUlUSU5HX0ZMQUdfTUQyR19NX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgV0FJVElOR19GTEFHX01EMkdfTV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgU1JBTUNfQU9fSURMRV9NRDJHX01fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSQU1DX0FPX0lETEVfTUQyR19NX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUkFNQ19BT19JRExFX01EMkdfTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgU1JBTUNfQU9fSURMRV9NRDJHX01fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgU1dfVFlQRV9UWFNZU19NX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNXX1RZUEVfVFhTWVNfTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTV19UWVBFX1RYU1lTX01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBTV19QV0ROX0MwX1RYU1lTX01fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1dfUFdETl9DMF9UWFNZU19NX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNXX1BXRE5fQzBfVFhTWVNfTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIFNXX1BXRE5fQzFfVFhTWVNfTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTV19QV0ROX0MxX1RYU1lTX01fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1dfUFdETl9DMV9UWFNZU19NX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgU1dfUFdETl9DMl9UWFNZU19NX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNXX1BXRE5fQzJfVFhTWVNfTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTV19QV0ROX0MyX1RYU1lTX01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBTV19QV0ROX0MzX1RYU1lTX01fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1dfUFdETl9DM19UWFNZU19NX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNXX1BXRE5fQzNfVFhTWVNfTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUZGKQorCisjZGVmaW5lIFNXX1BXRE5fQzRfVFhTWVNfTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTV19QV0ROX0M0X1RYU1lTX01fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1dfUFdETl9DNF9UWFNZU19NX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxRkYpCisKKyNkZWZpbmUgR1JPVVBfUFdETl9UWFNZU19NX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEdST1VQX1BXRE5fVFhTWVNfTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBHUk9VUF9QV0ROX1RYU1lTX01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDFGRikKKworI2RlZmluZSBXQUlUSU5HX0ZMQUdfVFhTWVNfTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgV0FJVElOR19GTEFHX1RYU1lTX01fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFdBSVRJTkdfRkxBR19UWFNZU19NX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIFNSQU1DX0FPX0lETEVfVFhTWVNfTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUkFNQ19BT19JRExFX1RYU1lTX01fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JBTUNfQU9fSURMRV9UWFNZU19NX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNSQU1DX0FPX0lETEVfVFhTWVNfTV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNXX1RZUEVfQ1NTWVNfTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTV19UWVBFX0NTU1lTX01fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgU1dfVFlQRV9DU1NZU19NX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgU1dfUFdETl9DMF9DU1NZU19NX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNXX1BXRE5fQzBfQ1NTWVNfTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTV19QV0ROX0MwX0NTU1lTX01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKworI2RlZmluZSBTV19QV0ROX0MxX0NTU1lTX01fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1dfUFdETl9DMV9DU1NZU19NX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFNXX1BXRE5fQzFfQ1NTWVNfTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDNGKQorCisjZGVmaW5lIFNXX1BXRE5fQzJfQ1NTWVNfTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTV19QV0ROX0MyX0NTU1lTX01fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgU1dfUFdETl9DMl9DU1NZU19NX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgU1dfUFdETl9DM19DU1NZU19NX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNXX1BXRE5fQzNfQ1NTWVNfTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTV19QV0ROX0MzX0NTU1lTX01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKworI2RlZmluZSBTV19QV0ROX0M0X0NTU1lTX01fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1dfUFdETl9DNF9DU1NZU19NX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFNXX1BXRE5fQzRfQ1NTWVNfTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDNGKQorCisjZGVmaW5lIEdST1VQX1BXRE5fQ1NTWVNfTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBHUk9VUF9QV0ROX0NTU1lTX01fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgR1JPVVBfUFdETl9DU1NZU19NX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgV0FJVElOR19GTEFHX0NTU1lTX01fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFdBSVRJTkdfRkxBR19DU1NZU19NX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBXQUlUSU5HX0ZMQUdfQ1NTWVNfTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxRikKKworI2RlZmluZSBTUkFNQ19BT19JRExFX0NTU1lTX01fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JBTUNfQU9fSURMRV9DU1NZU19NX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNSQU1DX0FPX0lETEVfQ1NTWVNfTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBTUkFNQ19BT19JRExFX0NTU1lTX01fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBTV19UWVBFX1JYREZFX01fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1dfVFlQRV9SWERGRV9NX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNXX1RZUEVfUlhERkVfTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAzKQorCisjZGVmaW5lIFNXX1BXRE5fQzBfUlhERkVfTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTV19QV0ROX0MwX1JYREZFX01fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1dfUFdETl9DMF9SWERGRV9NX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDMpCisKKyNkZWZpbmUgR1JPVVBfUFdETl9SWERGRV9NX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEdST1VQX1BXRE5fUlhERkVfTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBHUk9VUF9QV0ROX1JYREZFX01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMykKKworI2RlZmluZSBXQUlUSU5HX0ZMQUdfUlhERkVfTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgV0FJVElOR19GTEFHX1JYREZFX01fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFdBSVRJTkdfRkxBR19SWERGRV9NX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBXQUlUSU5HX0ZMQUdfUlhERkVfTV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBTUkFNQ19BT19JRExFX1JYREZFX01fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JBTUNfQU9fSURMRV9SWERGRV9NX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNSQU1DX0FPX0lETEVfUlhERkVfTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBTUkFNQ19BT19JRExFX1JYREZFX01fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworCisjZW5kaWYgLypfQ1BIX0ZFU1lTX01FTV9DT05GSUdfUkVHX0hfKi8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoZmVzeXNtZW1jb25maWdyZWdfOTcuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhmZXN5c21lbWNvbmZpZ3JlZ185Ny5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzNmIyZGQKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BoZmVzeXNtZW1jb25maWdyZWdfOTcuaApAQCAtMCwwICsxLDE0MCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NQSF9GRVNZU19NRU1fQ09ORklHX1JFR19IXworI2RlZmluZSBfQ1BIX0ZFU1lTX01FTV9DT05GSUdfUkVHX0hfCisKKwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogU1JBTUFERFI7ICAgICAgICAgLyogU1JBTSBhZGRyIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBTUkFNREFUQTsgICAgICAgICAvKiBTUkFNIGRhdGEgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIEFQQkFERFI7ICAgICAgICAgIC8qIEFQQiBhZGRyIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgQVBCREFUQTsgICAgICAgICAgLyogQVBCIGRhdGEgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqICBBUEJBRERSMzI7ICAgICAgICAvKiBBUEIgYWRkciBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAgIEFQQkRBVEEzMjsgICAgICAgIC8qIEFQQiBkYXRhIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogRFBSQU1BRERSOyAgICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHNpZ25lZCAgIHNob3J0KiBEUFJBTUFERFJfUzsgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIERQUkFNREFUQTsgICAgICAgIC8qIERQUkFNIGRhdGEgaXMgMTYgYml0cyAqLworCisKKyNkZWZpbmUgTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QTgxMDAwMDApCisKKyNkZWZpbmUgTUVNX0NPTkZJR19GRVNZU19lbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKE1FTV9DT05GSUdfRkVTWVNfUkVHX0JBU0UgKyAweDQxMCArIDEqNCkKKworCisKKyNkZWZpbmUgQ1NTWVNfU1dfVFlQRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MDAwKSkKKyNkZWZpbmUgQ1NTWVNfV0FJVF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MDA0KSkKKyNkZWZpbmUgQ1NTWVNfR1JPVVBfUFdETl9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MDA4KSkKKyNkZWZpbmUgQ1NTWVNfU1JBTV9DVFJMX0FPX0lETEVfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MDBjKSkKKyNkZWZpbmUgQ1NTWVNfU1dfUFdETl8wX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MDEwKSkKKyNkZWZpbmUgQ1NTWVNfU1dfUFdETl8xX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MDE0KSkKKyNkZWZpbmUgQ1NTWVNfU1dfUFdETl8yX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MDE4KSkKKyNkZWZpbmUgQ1NTWVNfU1dfUFdETl8zX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MDFjKSkKKyNkZWZpbmUgQ1NTWVNfU1dfUFdETl80X0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MDIwKSkKKyNkZWZpbmUgREZFU1lTX1BXUl9XUkFQX1NXX1RZUEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MDI0KSkKKyNkZWZpbmUgREZFU1lTX1BXUl9XUkFQX1dBSVRfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MDI4KSkKKyNkZWZpbmUgREZFU1lTX1BXUl9XUkFQX0dST1VQX1BXRE5fQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MDJDKSkKKyNkZWZpbmUgREZFU1lTX1BXUl9XUkFQX1NSQU1fQ1RSTF9BT19JRExFX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MDMwKSkKKyNkZWZpbmUgREZFU1lTX1BXUl9XUkFQX1NXX1BXRE5fMF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MDM0KSkKKyNkZWZpbmUgREZFU1lTX1BXUl9XUkFQX1NXX1BXRE5fMV9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MDM4KSkKKyNkZWZpbmUgREZFU1lTX1BXUl9XUkFQX1NXX1BXRE5fMl9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MDNDKSkKKyNkZWZpbmUgREZFU1lTX1BXUl9XUkFQX1NXX1BXRE5fM19BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MDQwKSkKKyNkZWZpbmUgREZFU1lTX1BXUl9XUkFQX1NXX1BXRE5fNF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MDQ0KSkKKyNkZWZpbmUgREZFU1lTX1BXUl9XUkFQX1NXX1BXRE5fNV9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MDQ4KSkKKyNkZWZpbmUgREZFU1lTX1BXUl9XUkFQX1NXX1BXRE5fNl9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTUVNX0NPTkZJR19GRVNZU19SRUdfQkFTRSArIDB4MDRDKSkKKworI2RlZmluZSBDU1NZU19XQUlUX0FERFJfQzMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgQ1NTWVNfV0FJVF9BRERSX0M0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgU1dfVFlQRV9DU1NZU19NX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNXX1RZUEVfQ1NTWVNfTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTV19UWVBFX0NTU1lTX01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKworI2RlZmluZSBTV19QV0ROX0MwX0NTU1lTX01fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1dfUFdETl9DMF9DU1NZU19NX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFNXX1BXRE5fQzBfQ1NTWVNfTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDNGKQorCisjZGVmaW5lIFNXX1BXRE5fQzFfQ1NTWVNfTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTV19QV0ROX0MxX0NTU1lTX01fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgU1dfUFdETl9DMV9DU1NZU19NX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgU1dfUFdETl9DMl9DU1NZU19NX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNXX1BXRE5fQzJfQ1NTWVNfTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTV19QV0ROX0MyX0NTU1lTX01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKworI2RlZmluZSBTV19QV0ROX0MzX0NTU1lTX01fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1dfUFdETl9DM19DU1NZU19NX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFNXX1BXRE5fQzNfQ1NTWVNfTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDNGKQorCisjZGVmaW5lIFNXX1BXRE5fQzRfQ1NTWVNfTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTV19QV0ROX0M0X0NTU1lTX01fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgU1dfUFdETl9DNF9DU1NZU19NX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgR1JPVVBfUFdETl9DU1NZU19NX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEdST1VQX1BXRE5fQ1NTWVNfTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBHUk9VUF9QV0ROX0NTU1lTX01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKworI2RlZmluZSBXQUlUSU5HX0ZMQUdfQ1NTWVNfTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgV0FJVElOR19GTEFHX0NTU1lTX01fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFdBSVRJTkdfRkxBR19DU1NZU19NX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIFNSQU1DX0FPX0lETEVfQ1NTWVNfTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUkFNQ19BT19JRExFX0NTU1lTX01fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JBTUNfQU9fSURMRV9DU1NZU19NX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNSQU1DX0FPX0lETEVfQ1NTWVNfTV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNXX1RZUEVfUlhERkVfTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTV19UWVBFX1JYREZFX01fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1dfVFlQRV9SWERGRV9NX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDMpCisKKyNkZWZpbmUgU1dfUFdETl9DMF9SWERGRV9NX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNXX1BXRE5fQzBfUlhERkVfTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTV19QV0ROX0MwX1JYREZFX01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMykKKworI2RlZmluZSBHUk9VUF9QV0ROX1JYREZFX01fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgR1JPVVBfUFdETl9SWERGRV9NX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIEdST1VQX1BXRE5fUlhERkVfTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAzKQorCisjZGVmaW5lIFdBSVRJTkdfRkxBR19SWERGRV9NX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBXQUlUSU5HX0ZMQUdfUlhERkVfTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgV0FJVElOR19GTEFHX1JYREZFX01fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFdBSVRJTkdfRkxBR19SWERGRV9NX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNSQU1DX0FPX0lETEVfUlhERkVfTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTUkFNQ19BT19JRExFX1JYREZFX01fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1JBTUNfQU9fSURMRV9SWERGRV9NX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNSQU1DX0FPX0lETEVfUlhERkVfTV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisKKyNlbmRpZiAvKl9DUEhfRkVTWVNfTUVNX0NPTkZJR19SRUdfSF8qLwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhpZC5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaGlkLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2NkNmUxZAotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhpZC5oCkBAIC0wLDAgKzEsNzIgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhfSURfSF8KKyNkZWZpbmUgX0NQSF9JRF9IXworCisKK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIFNSQU1BRERSOyAgICAgICAgIC8qIFNSQU0gYWRkciBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgU1JBTURBVEE7ICAgICAgICAgLyogU1JBTSBkYXRhIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBBUEJBRERSOyAgICAgICAgICAvKiBBUEIgYWRkciBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIEFQQkRBVEE7ICAgICAgICAgIC8qIEFQQiBkYXRhIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nKiAgQVBCQUREUjMyOyAgICAgICAgLyogQVBCIGFkZHIgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgICBBUEJEQVRBMzI7ICAgICAgICAvKiBBUEIgZGF0YSBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIERQUkFNQUREUjsgICAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSBzaWduZWQgICBzaG9ydCogRFBSQU1BRERSX1M7ICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBEUFJBTURBVEE7ICAgICAgICAvKiBEUFJBTSBkYXRhIGlzIDE2IGJpdHMgKi8KKworI2RlZmluZSBJRF9DV19SRUdfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhBQzAwMDAwMCkvKlRCRCovCisKKworI2RlZmluZSBJRF9DV19lbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSURfQ1dfUkVHX0JBU0UgKyAweDAxMEMgKyAxKjQpCisKKyNkZWZpbmUgUEVJVF9DV19SRUdfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QUMzNTEwMDApLypUQkQqLworI2RlZmluZSBDTURfUkFNX0NXX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhBQzAwMjAwMCkvKlRCRCovCisKKworI2RlZmluZSBJRF9DT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJKChBUEJBRERSMzIpKElEX0NXX1JFR19CQVNFICsgMHgwMDAwKSkKKyNkZWZpbmUgSURfQ0ZHXzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJKChBUEJBRERSMzIpKElEX0NXX1JFR19CQVNFICsgMHgwMDA0KSkKKyNkZWZpbmUgSURfQ0ZHXzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkoKEFQQkFERFIzMikoSURfQ1dfUkVHX0JBU0UgKyAweDAwMDgpKQorI2RlZmluZSBJRF9DRkdfQzJLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJKChBUEJBRERSMzIpKElEX0NXX1JFR19CQVNFICsgMHgwMDBDKSkKKyNkZWZpbmUgSURfTE9BRF9QT1NfRkFTVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoSURfQ1dfUkVHX0JBU0UgKyAweDAwMTApKQorI2RlZmluZSBJRF9MT0FEX1BPU19TTE9XICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShJRF9DV19SRUdfQkFTRSArIDB4MDAxNCkpCisjZGVmaW5lIElEX0xPQURfUE9TX0ZBU1RfRE8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKElEX0NXX1JFR19CQVNFICsgMHgwMDE4KSkKKyNkZWZpbmUgSURfTE9BRF9QT1NfU0xPV19ETyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoSURfQ1dfUkVHX0JBU0UgKyAweDAwMUMpKQorI2RlZmluZSBJRF9ERVNQX0JBVENIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShJRF9DV19SRUdfQkFTRSArIDB4MDAyMCkpCisjZGVmaW5lIElEX0RCR18wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJKChBUEJBRERSMzIpKElEX0NXX1JFR19CQVNFICsgMHgwMTAwKSkKKyNkZWZpbmUgSURfREJHXzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkoKEFQQkFERFIzMikoSURfQ1dfUkVHX0JBU0UgKyAweDAxMDQpKQorI2RlZmluZSBJRF9EQkdfMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCSgoQVBCQUREUjMyKShJRF9DV19SRUdfQkFTRSArIDB4MDEwOCkpCisKKyNlbmRpZiAvLyNpZm5kZWYgX0NQSF9EMkJJRl9IXworCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BobWRyeHN5c21lbWNvbmZpZ3JlZy5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaG1kcnhzeXNtZW1jb25maWdyZWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xODIzYzQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaG1kcnhzeXNtZW1jb25maWdyZWcuaApAQCAtMCwwICsxLDQzIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmIGRlZmluZWQoX19NRDkzX18pCisjaW5jbHVkZSAiY3BobWRyeHN5c21lbWNvbmZpZ3JlZ185My5oIgorI2VsaWYgZGVmaW5lZChfX01EOTVfXykKKyNpbmNsdWRlICJjcGhtZHJ4c3lzbWVtY29uZmlncmVnXzk1LmgiCisjZWxpZiBkZWZpbmVkKF9fTUQ5N19fKSB8fCBkZWZpbmVkKF9fTUQ5N1BfXykKKyNpbmNsdWRlICJjcGhtZHJ4c3lzbWVtY29uZmlncmVnXzk3LmgiCisjZWxzZQorI2luY2x1ZGUgImNwaG1kcnhzeXNtZW1jb25maWdyZWdfOTcuaCIvKiNlcnJvciAiW0VSUk9SXSBJbnZhbGlkIE1EIGdlbmVyYXRpb24iIG1vZGlmaWNhdGlvbiBmb3IgYnVpbGQgZXJyb3IqLworI2VuZGlmCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BobWRyeHN5c21lbWNvbmZpZ3JlZ185My5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaG1kcnhzeXNtZW1jb25maWdyZWdfOTMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZTdmNTZkCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaG1kcnhzeXNtZW1jb25maWdyZWdfOTMuaApAQCAtMCwwICsxLDM1OCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NQSF9NRFJYU1lTX01FTV9DT05GSUdfUkVHX0hfCisjZGVmaW5lIF9DUEhfTURSWFNZU19NRU1fQ09ORklHX1JFR19IXworCisKK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIFNSQU1BRERSOyAgICAgICAgIC8qIFNSQU0gYWRkciBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgU1JBTURBVEE7ICAgICAgICAgLyogU1JBTSBkYXRhIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBBUEJBRERSOyAgICAgICAgICAvKiBBUEIgYWRkciBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIEFQQkRBVEE7ICAgICAgICAgIC8qIEFQQiBkYXRhIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nKiAgQVBCQUREUjMyOyAgICAgICAgLyogQVBCIGFkZHIgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgICBBUEJEQVRBMzI7ICAgICAgICAvKiBBUEIgZGF0YSBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIERQUkFNQUREUjsgICAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSBzaWduZWQgICBzaG9ydCogRFBSQU1BRERSX1M7ICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBEUFJBTURBVEE7ICAgICAgICAvKiBEUFJBTSBkYXRhIGlzIDE2IGJpdHMgKi8KKworCisjZGVmaW5lIE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEE2MTIwMDAwKQorCisjZGVmaW5lIE1EUlhBT19NRU1fQ09ORklHX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4ZDQgKyAxKjQpCisKKworCisjZGVmaW5lIERNQ19TV19UWVBFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4MCkpCisjZGVmaW5lIFNDUV9TV19UWVBFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4NCkpCisjZGVmaW5lIEJSUF9TV19UWVBFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4OCkpCisjZGVmaW5lIEJJR1JBTV9TV19UWVBFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4YykpCisjZGVmaW5lIFJBS0VfU1dfVFlQRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4MTApKQorI2RlZmluZSBETUNfU1dfUFdETl9DMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweDE0KSkKKyNkZWZpbmUgU0NRX1NXX1BXRE5fQzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHgxOCkpCisjZGVmaW5lIFNDUV9TV19QV0ROX0MxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4MWMpKQorI2RlZmluZSBCUlBfU1dfUFdETl9DMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweDIwKSkKKyNkZWZpbmUgQlJQX1NXX1BXRE5fQzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHgyNCkpCisjZGVmaW5lIEJSUF9TV19QV0ROX0MyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4MjgpKQorI2RlZmluZSBCUlBfU1dfUFdETl9DMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweDJjKSkKKyNkZWZpbmUgQlJQX1NXX1BXRE5fQzQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHgzMCkpCisjZGVmaW5lIEJJR1JBTV9TV19QV0ROX0MwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4MzQpKQorI2RlZmluZSBCSUdSQU1fU1dfUFdETl9DMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweDM4KSkKKyNkZWZpbmUgQklHUkFNX1NXX1BXRE5fQzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHgzYykpCisjZGVmaW5lIEJJR1JBTV9TV19QV0ROX0MzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4NDApKQorI2RlZmluZSBCSUdSQU1fU1dfUFdETl9DNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweDQ0KSkKKyNkZWZpbmUgUkFLRV9TV19QV0ROX0MwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHg0OCkpCisjZGVmaW5lIFJBS0VfU1dfUFdETl9DMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4NGMpKQorI2RlZmluZSBSQUtFX1NXX1BXRE5fQzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweDUwKSkKKyNkZWZpbmUgRE1DX0dST1VQX1BXRE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHg1NCkpCisjZGVmaW5lIFNDUV9HUk9VUF9QV0ROICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4NTgpKQorI2RlZmluZSBCUlBfR1JPVVBfUFdETiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweDVjKSkKKyNkZWZpbmUgQklHUkFNX0dST1VQX1BXRE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHg2MCkpCisjZGVmaW5lIFJBS0VfR1JPVVBfUFdETiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4NjQpKQorI2RlZmluZSBETUNfV0FJVF9DMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweDY4KSkKKyNkZWZpbmUgQlJBTV9XQUlUX0MwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHg3NCkpCisjZGVmaW5lIEJSQU1fV0FJVF9DMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4NzgpKQorI2RlZmluZSBCUkFNX1dBSVRfQzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweDdjKSkKKyNkZWZpbmUgQlJBTV9XQUlUX0MzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHg4MCkpCisjZGVmaW5lIEJSQU1fV0FJVF9DNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4ODQpKQorI2RlZmluZSBSQUtFX1dBSVRfQzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweDljKSkKKyNkZWZpbmUgUkFLRV9XQUlUX0MxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHhhMCkpCisjZGVmaW5lIFJBS0VfV0FJVF9DMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4YTQpKQorI2RlZmluZSBTUkFNX0NUUkxfQU9fSURMRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweGE4KSkKKyNkZWZpbmUgUkFLRV9QTV9DSVBIRVJfRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHhiMCkpCisjZGVmaW5lIFJBS0VfUE1fQ0lQSEVSX0xPQ0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4YjQpKQorI2RlZmluZSBTQ1FfU1BNX0NJUEhFUl9FTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweGMwKSkKKyNkZWZpbmUgU0NRX1NQTV9DSVBIRVJfTE9DSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHhjNCkpCisjZGVmaW5lIENLX0lETEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4ZDApKQorI2RlZmluZSBDS19JRExFX0RCR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweGQ0KSkKKworCisjZGVmaW5lIERNQ19TV19UWVBFX0dQX1RZUEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBETUNfU1dfVFlQRV9HUF9UWVBFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRE1DX1NXX1RZUEVfR1BfVFlQRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERNQ19TV19UWVBFX0dQX1RZUEVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNDUV9TV19UWVBFX0dQX1RZUEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTQ1FfU1dfVFlQRV9HUF9UWVBFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFNDUV9TV19UWVBFX0dQX1RZUEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwN0ZGKQorCisjZGVmaW5lIEJSUF9TV19UWVBFX0dQX1RZUEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCUlBfU1dfVFlQRV9HUF9UWVBFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgQlJQX1NXX1RZUEVfR1BfVFlQRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgQklHUkFNX1NXX1RZUEVfR1BfVFlQRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJJR1JBTV9TV19UWVBFX0dQX1RZUEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBCSUdSQU1fU1dfVFlQRV9HUF9UWVBFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBSQUtFX1NXX1RZUEVfR1BfVFlQRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUkFLRV9TV19UWVBFX0dQX1RZUEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJBS0VfU1dfVFlQRV9HUF9UWVBFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEZGKQorCisjZGVmaW5lIERNQ19TV19QV0ROX0MwX0dQX1BXRE5fQzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBETUNfU1dfUFdETl9DMF9HUF9QV0ROX0MwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRE1DX1NXX1BXRE5fQzBfR1BfUFdETl9DMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERNQ19TV19QV0ROX0MwX0dQX1BXRE5fQzBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNDUV9TV19QV0ROX0MwX0dQX1BXRE5fQzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTQ1FfU1dfUFdETl9DMF9HUF9QV0ROX0MwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFNDUV9TV19QV0ROX0MwX0dQX1BXRE5fQzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwN0ZGKQorCisjZGVmaW5lIFNDUV9TV19QV0ROX0MxX0dQX1BXRE5fQzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTQ1FfU1dfUFdETl9DMV9HUF9QV0ROX0MxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFNDUV9TV19QV0ROX0MxX0dQX1BXRE5fQzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwN0ZGKQorCisjZGVmaW5lIEJSUF9TV19QV0ROX0MwX0dQX1BXRE5fQzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCUlBfU1dfUFdETl9DMF9HUF9QV0ROX0MwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgQlJQX1NXX1BXRE5fQzBfR1BfUFdETl9DMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgQlJQX1NXX1BXRE5fQzFfR1BfUFdETl9DMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJSUF9TV19QV0ROX0MxX0dQX1BXRE5fQzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBCUlBfU1dfUFdETl9DMV9HUF9QV0ROX0MxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKworI2RlZmluZSBCUlBfU1dfUFdETl9DMl9HUF9QV0ROX0MyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQlJQX1NXX1BXRE5fQzJfR1BfUFdETl9DMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIEJSUF9TV19QV0ROX0MyX0dQX1BXRE5fQzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDNGKQorCisjZGVmaW5lIEJSUF9TV19QV0ROX0MzX0dQX1BXRE5fQzNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCUlBfU1dfUFdETl9DM19HUF9QV0ROX0MzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgQlJQX1NXX1BXRE5fQzNfR1BfUFdETl9DM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgQlJQX1NXX1BXRE5fQzRfR1BfUFdETl9DNF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJSUF9TV19QV0ROX0M0X0dQX1BXRE5fQzRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBCUlBfU1dfUFdETl9DNF9HUF9QV0ROX0M0X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKworI2RlZmluZSBCSUdSQU1fU1dfUFdETl9DMF9HUF9QV0ROX0MwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQklHUkFNX1NXX1BXRE5fQzBfR1BfUFdETl9DMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEJJR1JBTV9TV19QV0ROX0MwX0dQX1BXRE5fQzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIEJJR1JBTV9TV19QV0ROX0MxX0dQX1BXRE5fQzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCSUdSQU1fU1dfUFdETl9DMV9HUF9QV0ROX0MxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgQklHUkFNX1NXX1BXRE5fQzFfR1BfUFdETl9DMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDcpCisKKyNkZWZpbmUgQklHUkFNX1NXX1BXRE5fQzJfR1BfUFdETl9DMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJJR1JBTV9TV19QV0ROX0MyX0dQX1BXRE5fQzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBCSUdSQU1fU1dfUFdETl9DMl9HUF9QV0ROX0MyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBCSUdSQU1fU1dfUFdETl9DM19HUF9QV0ROX0MzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQklHUkFNX1NXX1BXRE5fQzNfR1BfUFdETl9DM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEJJR1JBTV9TV19QV0ROX0MzX0dQX1BXRE5fQzNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIEJJR1JBTV9TV19QV0ROX0M0X0dQX1BXRE5fQzRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCSUdSQU1fU1dfUFdETl9DNF9HUF9QV0ROX0M0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgQklHUkFNX1NXX1BXRE5fQzRfR1BfUFdETl9DNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDcpCisKKyNkZWZpbmUgUkFLRV9TV19QV0ROX0MwX0dQX1BXRE5fQzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJBS0VfU1dfUFdETl9DMF9HUF9QV0ROX0MwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBSQUtFX1NXX1BXRE5fQzBfR1BfUFdETl9DMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDBGRikKKworI2RlZmluZSBSQUtFX1NXX1BXRE5fQzFfR1BfUFdETl9DMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUkFLRV9TV19QV0ROX0MxX0dQX1BXRE5fQzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJBS0VfU1dfUFdETl9DMV9HUF9QV0ROX0MxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEZGKQorCisjZGVmaW5lIFJBS0VfU1dfUFdETl9DMl9HUF9QV0ROX0MyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSQUtFX1NXX1BXRE5fQzJfR1BfUFdETl9DMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgUkFLRV9TV19QV0ROX0MyX0dQX1BXRE5fQzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwRkYpCisKKyNkZWZpbmUgRE1DX0dST1VQX1BXRE5fR1BfUFdSX1NUQVRVU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERNQ19HUk9VUF9QV0ROX0dQX1BXUl9TVEFUVVNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBETUNfR1JPVVBfUFdETl9HUF9QV1JfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgRE1DX0dST1VQX1BXRE5fR1BfUFdSX1NUQVRVU19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgU0NRX0dST1VQX1BXRE5fR1BfUFdSX1NUQVRVU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNDUV9HUk9VUF9QV0ROX0dQX1BXUl9TVEFUVVNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgU0NRX0dST1VQX1BXRE5fR1BfUFdSX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA3RkYpCisKKyNkZWZpbmUgQlJQX0dST1VQX1BXRE5fR1BfUFdSX1NUQVRVU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJSUF9HUk9VUF9QV0ROX0dQX1BXUl9TVEFUVVNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBCUlBfR1JPVVBfUFdETl9HUF9QV1JfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKworI2RlZmluZSBCSUdSQU1fR1JPVVBfUFdETl9HUF9QV1JfU1RBVFVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQklHUkFNX0dST1VQX1BXRE5fR1BfUFdSX1NUQVRVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEJJR1JBTV9HUk9VUF9QV0ROX0dQX1BXUl9TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIFJBS0VfR1JPVVBfUFdETl9HUF9QV1JfU1RBVFVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSQUtFX0dST1VQX1BXRE5fR1BfUFdSX1NUQVRVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgUkFLRV9HUk9VUF9QV0ROX0dQX1BXUl9TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwRkYpCisKKyNkZWZpbmUgRE1DX1dBSVRfQzBfV0FJVF9DMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERNQ19XQUlUX0MwX1dBSVRfQzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBETUNfV0FJVF9DMF9XQUlUX0MwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgRE1DX1dBSVRfQzBfV0FJVF9DMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQlJBTV9XQUlUX0MwX1dBSVRfQzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJSQU1fV0FJVF9DMF9XQUlUX0MwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCUkFNX1dBSVRfQzBfV0FJVF9DMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQlJBTV9XQUlUX0MwX1dBSVRfQzBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQlJBTV9XQUlUX0MxX1dBSVRfQzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJSQU1fV0FJVF9DMV9XQUlUX0MxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCUkFNX1dBSVRfQzFfV0FJVF9DMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQlJBTV9XQUlUX0MxX1dBSVRfQzFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQlJBTV9XQUlUX0MyX1dBSVRfQzJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJSQU1fV0FJVF9DMl9XQUlUX0MyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCUkFNX1dBSVRfQzJfV0FJVF9DMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQlJBTV9XQUlUX0MyX1dBSVRfQzJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQlJBTV9XQUlUX0MzX1dBSVRfQzNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJSQU1fV0FJVF9DM19XQUlUX0MzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCUkFNX1dBSVRfQzNfV0FJVF9DM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQlJBTV9XQUlUX0MzX1dBSVRfQzNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQlJBTV9XQUlUX0M0X1dBSVRfQzRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJSQU1fV0FJVF9DNF9XQUlUX0M0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCUkFNX1dBSVRfQzRfV0FJVF9DNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQlJBTV9XQUlUX0M0X1dBSVRfQzRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUkFLRV9XQUlUX0MwX1dBSVRfQzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJBS0VfV0FJVF9DMF9XQUlUX0MwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1dBSVRfQzBfV0FJVF9DMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUkFLRV9XQUlUX0MwX1dBSVRfQzBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUkFLRV9XQUlUX0MxX1dBSVRfQzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJBS0VfV0FJVF9DMV9XQUlUX0MxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1dBSVRfQzFfV0FJVF9DMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUkFLRV9XQUlUX0MxX1dBSVRfQzFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUkFLRV9XQUlUX0MyX1dBSVRfQzJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJBS0VfV0FJVF9DMl9XQUlUX0MyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1dBSVRfQzJfV0FJVF9DMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUkFLRV9XQUlUX0MyX1dBSVRfQzJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgU1JBTV9DVFJMX0FPX0lETEVfQlJBTV9TUkFNX0NUUkxfQU9fSURMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSQU1fQ1RSTF9BT19JRExFX0JSQU1fU1JBTV9DVFJMX0FPX0lETEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUkFNX0NUUkxfQU9fSURMRV9CUkFNX1NSQU1fQ1RSTF9BT19JRExFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgU1JBTV9DVFJMX0FPX0lETEVfQlJBTV9TUkFNX0NUUkxfQU9fSURMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgU1JBTV9DVFJMX0FPX0lETEVfRE1DX1NSQU1fQ1RSTF9BT19JRExFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNSQU1fQ1RSTF9BT19JRExFX0RNQ19TUkFNX0NUUkxfQU9fSURMRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUkFNX0NUUkxfQU9fSURMRV9ETUNfU1JBTV9DVFJMX0FPX0lETEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgU1JBTV9DVFJMX0FPX0lETEVfRE1DX1NSQU1fQ1RSTF9BT19JRExFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgU1JBTV9DVFJMX0FPX0lETEVfUkFLRV9TUkFNX0NUUkxfQU9fSURMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSQU1fQ1RSTF9BT19JRExFX1JBS0VfU1JBTV9DVFJMX0FPX0lETEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUkFNX0NUUkxfQU9fSURMRV9SQUtFX1NSQU1fQ1RSTF9BT19JRExFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgU1JBTV9DVFJMX0FPX0lETEVfUkFLRV9TUkFNX0NUUkxfQU9fSURMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUkFLRV9QTV9DSVBIRVJfRU5fUkFLRV9DSVBIRVJfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJBS0VfUE1fQ0lQSEVSX0VOX1JBS0VfQ0lQSEVSX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1BNX0NJUEhFUl9FTl9SQUtFX0NJUEhFUl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUkFLRV9QTV9DSVBIRVJfRU5fUkFLRV9DSVBIRVJfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUkFLRV9QTV9DSVBIRVJfTE9DS19SQUtFX0NJUEhFUl9MT0NLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJBS0VfUE1fQ0lQSEVSX0xPQ0tfUkFLRV9DSVBIRVJfTE9DS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1BNX0NJUEhFUl9MT0NLX1JBS0VfQ0lQSEVSX0xPQ0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUkFLRV9QTV9DSVBIRVJfTE9DS19SQUtFX0NJUEhFUl9MT0NLX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgU0NRX1NQTV9DSVBIRVJfRU5fU0NRX1NQTV9DSVBIRVJfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNDUV9TUE1fQ0lQSEVSX0VOX1NDUV9TUE1fQ0lQSEVSX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTQ1FfU1BNX0NJUEhFUl9FTl9TQ1FfU1BNX0NJUEhFUl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgU0NRX1NQTV9DSVBIRVJfRU5fU0NRX1NQTV9DSVBIRVJfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgU0NRX1NQTV9DSVBIRVJfTE9DS19TQ1FfU1BNX0NJUEhFUl9MT0NLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNDUV9TUE1fQ0lQSEVSX0xPQ0tfU0NRX1NQTV9DSVBIRVJfTE9DS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTQ1FfU1BNX0NJUEhFUl9MT0NLX1NDUV9TUE1fQ0lQSEVSX0xPQ0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgU0NRX1NQTV9DSVBIRVJfTE9DS19TQ1FfU1BNX0NJUEhFUl9MT0NLX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQ0tfSURMRV9NQVNLX0JJR1JBTV9SQUtFX0NLX0lETEVfTUFTS19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIENLX0lETEVfTUFTS19CSUdSQU1fUkFLRV9DS19JRExFX01BU0tfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDS19JRExFX01BU0tfQklHUkFNX1JBS0VfQ0tfSURMRV9NQVNLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgQ0tfSURMRV9NQVNLX0JJR1JBTV9SQUtFX0NLX0lETEVfTUFTS19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgQ0tfSURMRV9NQVNLX1JBS0VfUkFLRV9DS19JRExFX01BU0tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIENLX0lETEVfTUFTS19SQUtFX1JBS0VfQ0tfSURMRV9NQVNLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDS19JRExFX01BU0tfUkFLRV9SQUtFX0NLX0lETEVfTUFTS19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgQ0tfSURMRV9NQVNLX1JBS0VfUkFLRV9DS19JRExFX01BU0tfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgQ0tfSURMRV9NQVNLX0JJR1JBTV9CUlBfQ0tfSURMRV9NQVNLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIENLX0lETEVfTUFTS19CSUdSQU1fQlJQX0NLX0lETEVfTUFTS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDS19JRExFX01BU0tfQklHUkFNX0JSUF9DS19JRExFX01BU0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgQ0tfSURMRV9NQVNLX0JJR1JBTV9CUlBfQ0tfSURMRV9NQVNLX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgQ0tfSURMRV9NQVNLX0RNQ19CUlBfQ0tfSURMRV9NQVNLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIENLX0lETEVfTUFTS19ETUNfQlJQX0NLX0lETEVfTUFTS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDS19JRExFX01BU0tfRE1DX0JSUF9DS19JRExFX01BU0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgQ0tfSURMRV9NQVNLX0RNQ19CUlBfQ0tfSURMRV9NQVNLX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgQ0tfSURMRV9NQVNLX0JSUF9CUlBfQ0tfSURMRV9NQVNLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENLX0lETEVfTUFTS19CUlBfQlJQX0NLX0lETEVfTUFTS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDS19JRExFX01BU0tfQlJQX0JSUF9DS19JRExFX01BU0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgQ0tfSURMRV9NQVNLX0JSUF9CUlBfQ0tfSURMRV9NQVNLX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgQ0tfSURMRV9NQVNLX0JJR1JBTV9WRFNQX0NLX0lETEVfTUFTS19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENLX0lETEVfTUFTS19CSUdSQU1fVkRTUF9DS19JRExFX01BU0tfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDS19JRExFX01BU0tfQklHUkFNX1ZEU1BfQ0tfSURMRV9NQVNLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQ0tfSURMRV9NQVNLX0JJR1JBTV9WRFNQX0NLX0lETEVfTUFTS19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQ0tfSURMRV9NQVNLX1ZEU1BfVkRTUF9DS19JRExFX01BU0tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENLX0lETEVfTUFTS19WRFNQX1ZEU1BfQ0tfSURMRV9NQVNLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDS19JRExFX01BU0tfVkRTUF9WRFNQX0NLX0lETEVfTUFTS19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQ0tfSURMRV9NQVNLX1ZEU1BfVkRTUF9DS19JRExFX01BU0tfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQ0tfSURMRV9EQkdfTUFTS19CSUdSQU1fUkFLRV9DS19JRExFX0RCR19NQVNLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIENLX0lETEVfREJHX01BU0tfQklHUkFNX1JBS0VfQ0tfSURMRV9EQkdfTUFTS19XSURUSCAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDS19JRExFX0RCR19NQVNLX0JJR1JBTV9SQUtFX0NLX0lETEVfREJHX01BU0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgQ0tfSURMRV9EQkdfTUFTS19CSUdSQU1fUkFLRV9DS19JRExFX0RCR19NQVNLX0JJVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgQ0tfSURMRV9EQkdfTUFTS19SQUtFX1JBS0VfQ0tfSURMRV9EQkdfTUFTS19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIENLX0lETEVfREJHX01BU0tfUkFLRV9SQUtFX0NLX0lETEVfREJHX01BU0tfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDS19JRExFX0RCR19NQVNLX1JBS0VfUkFLRV9DS19JRExFX0RCR19NQVNLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgQ0tfSURMRV9EQkdfTUFTS19SQUtFX1JBS0VfQ0tfSURMRV9EQkdfTUFTS19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgQ0tfSURMRV9EQkdfTUFTS19CSUdSQU1fQlJQX0NLX0lETEVfREJHX01BU0tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIENLX0lETEVfREJHX01BU0tfQklHUkFNX0JSUF9DS19JRExFX0RCR19NQVNLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDS19JRExFX0RCR19NQVNLX0JJR1JBTV9CUlBfQ0tfSURMRV9EQkdfTUFTS19NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgQ0tfSURMRV9EQkdfTUFTS19CSUdSQU1fQlJQX0NLX0lETEVfREJHX01BU0tfQklUICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgQ0tfSURMRV9EQkdfTUFTS19ETUNfQlJQX0NLX0lETEVfREJHX01BU0tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIENLX0lETEVfREJHX01BU0tfRE1DX0JSUF9DS19JRExFX0RCR19NQVNLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDS19JRExFX0RCR19NQVNLX0RNQ19CUlBfQ0tfSURMRV9EQkdfTUFTS19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgQ0tfSURMRV9EQkdfTUFTS19ETUNfQlJQX0NLX0lETEVfREJHX01BU0tfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgQ0tfSURMRV9EQkdfTUFTS19CUlBfQlJQX0NLX0lETEVfREJHX01BU0tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENLX0lETEVfREJHX01BU0tfQlJQX0JSUF9DS19JRExFX0RCR19NQVNLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDS19JRExFX0RCR19NQVNLX0JSUF9CUlBfQ0tfSURMRV9EQkdfTUFTS19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgQ0tfSURMRV9EQkdfTUFTS19CUlBfQlJQX0NLX0lETEVfREJHX01BU0tfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgQ0tfSURMRV9EQkdfTUFTS19CSUdSQU1fVkRTUF9DS19JRExFX0RCR19NQVNLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENLX0lETEVfREJHX01BU0tfQklHUkFNX1ZEU1BfQ0tfSURMRV9EQkdfTUFTS19XSURUSCAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDS19JRExFX0RCR19NQVNLX0JJR1JBTV9WRFNQX0NLX0lETEVfREJHX01BU0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQ0tfSURMRV9EQkdfTUFTS19CSUdSQU1fVkRTUF9DS19JRExFX0RCR19NQVNLX0JJVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQ0tfSURMRV9EQkdfTUFTS19WRFNQX1ZEU1BfQ0tfSURMRV9EQkdfTUFTS19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENLX0lETEVfREJHX01BU0tfVkRTUF9WRFNQX0NLX0lETEVfREJHX01BU0tfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDS19JRExFX0RCR19NQVNLX1ZEU1BfVkRTUF9DS19JRExFX0RCR19NQVNLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQ0tfSURMRV9EQkdfTUFTS19WRFNQX1ZEU1BfQ0tfSURMRV9EQkdfTUFTS19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKworI2VuZGlmIC8qX0NQSF9NRFJYU1lTX01FTV9DT05GSUdfUkVHX0hfKi8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BobWRyeHN5c21lbWNvbmZpZ3JlZ185NS5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaG1kcnhzeXNtZW1jb25maWdyZWdfOTUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZTdmNTZkCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaG1kcnhzeXNtZW1jb25maWdyZWdfOTUuaApAQCAtMCwwICsxLDM1OCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NQSF9NRFJYU1lTX01FTV9DT05GSUdfUkVHX0hfCisjZGVmaW5lIF9DUEhfTURSWFNZU19NRU1fQ09ORklHX1JFR19IXworCisKK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIFNSQU1BRERSOyAgICAgICAgIC8qIFNSQU0gYWRkciBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgU1JBTURBVEE7ICAgICAgICAgLyogU1JBTSBkYXRhIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBBUEJBRERSOyAgICAgICAgICAvKiBBUEIgYWRkciBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIEFQQkRBVEE7ICAgICAgICAgIC8qIEFQQiBkYXRhIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nKiAgQVBCQUREUjMyOyAgICAgICAgLyogQVBCIGFkZHIgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgICBBUEJEQVRBMzI7ICAgICAgICAvKiBBUEIgZGF0YSBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIERQUkFNQUREUjsgICAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSBzaWduZWQgICBzaG9ydCogRFBSQU1BRERSX1M7ICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBEUFJBTURBVEE7ICAgICAgICAvKiBEUFJBTSBkYXRhIGlzIDE2IGJpdHMgKi8KKworCisjZGVmaW5lIE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEE2MTIwMDAwKQorCisjZGVmaW5lIE1EUlhBT19NRU1fQ09ORklHX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4ZDQgKyAxKjQpCisKKworCisjZGVmaW5lIERNQ19TV19UWVBFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4MCkpCisjZGVmaW5lIFNDUV9TV19UWVBFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4NCkpCisjZGVmaW5lIEJSUF9TV19UWVBFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4OCkpCisjZGVmaW5lIEJJR1JBTV9TV19UWVBFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4YykpCisjZGVmaW5lIFJBS0VfU1dfVFlQRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4MTApKQorI2RlZmluZSBETUNfU1dfUFdETl9DMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweDE0KSkKKyNkZWZpbmUgU0NRX1NXX1BXRE5fQzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHgxOCkpCisjZGVmaW5lIFNDUV9TV19QV0ROX0MxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4MWMpKQorI2RlZmluZSBCUlBfU1dfUFdETl9DMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweDIwKSkKKyNkZWZpbmUgQlJQX1NXX1BXRE5fQzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHgyNCkpCisjZGVmaW5lIEJSUF9TV19QV0ROX0MyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4MjgpKQorI2RlZmluZSBCUlBfU1dfUFdETl9DMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweDJjKSkKKyNkZWZpbmUgQlJQX1NXX1BXRE5fQzQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHgzMCkpCisjZGVmaW5lIEJJR1JBTV9TV19QV0ROX0MwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4MzQpKQorI2RlZmluZSBCSUdSQU1fU1dfUFdETl9DMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweDM4KSkKKyNkZWZpbmUgQklHUkFNX1NXX1BXRE5fQzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHgzYykpCisjZGVmaW5lIEJJR1JBTV9TV19QV0ROX0MzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4NDApKQorI2RlZmluZSBCSUdSQU1fU1dfUFdETl9DNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweDQ0KSkKKyNkZWZpbmUgUkFLRV9TV19QV0ROX0MwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHg0OCkpCisjZGVmaW5lIFJBS0VfU1dfUFdETl9DMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4NGMpKQorI2RlZmluZSBSQUtFX1NXX1BXRE5fQzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweDUwKSkKKyNkZWZpbmUgRE1DX0dST1VQX1BXRE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHg1NCkpCisjZGVmaW5lIFNDUV9HUk9VUF9QV0ROICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4NTgpKQorI2RlZmluZSBCUlBfR1JPVVBfUFdETiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweDVjKSkKKyNkZWZpbmUgQklHUkFNX0dST1VQX1BXRE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHg2MCkpCisjZGVmaW5lIFJBS0VfR1JPVVBfUFdETiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4NjQpKQorI2RlZmluZSBETUNfV0FJVF9DMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweDY4KSkKKyNkZWZpbmUgQlJBTV9XQUlUX0MwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHg3NCkpCisjZGVmaW5lIEJSQU1fV0FJVF9DMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4NzgpKQorI2RlZmluZSBCUkFNX1dBSVRfQzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweDdjKSkKKyNkZWZpbmUgQlJBTV9XQUlUX0MzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHg4MCkpCisjZGVmaW5lIEJSQU1fV0FJVF9DNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4ODQpKQorI2RlZmluZSBSQUtFX1dBSVRfQzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweDljKSkKKyNkZWZpbmUgUkFLRV9XQUlUX0MxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHhhMCkpCisjZGVmaW5lIFJBS0VfV0FJVF9DMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4YTQpKQorI2RlZmluZSBTUkFNX0NUUkxfQU9fSURMRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweGE4KSkKKyNkZWZpbmUgUkFLRV9QTV9DSVBIRVJfRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHhiMCkpCisjZGVmaW5lIFJBS0VfUE1fQ0lQSEVSX0xPQ0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4YjQpKQorI2RlZmluZSBTQ1FfU1BNX0NJUEhFUl9FTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweGMwKSkKKyNkZWZpbmUgU0NRX1NQTV9DSVBIRVJfTE9DSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHhjNCkpCisjZGVmaW5lIENLX0lETEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4ZDApKQorI2RlZmluZSBDS19JRExFX0RCR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweGQ0KSkKKworCisjZGVmaW5lIERNQ19TV19UWVBFX0dQX1RZUEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBETUNfU1dfVFlQRV9HUF9UWVBFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRE1DX1NXX1RZUEVfR1BfVFlQRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERNQ19TV19UWVBFX0dQX1RZUEVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNDUV9TV19UWVBFX0dQX1RZUEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTQ1FfU1dfVFlQRV9HUF9UWVBFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFNDUV9TV19UWVBFX0dQX1RZUEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwN0ZGKQorCisjZGVmaW5lIEJSUF9TV19UWVBFX0dQX1RZUEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCUlBfU1dfVFlQRV9HUF9UWVBFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgQlJQX1NXX1RZUEVfR1BfVFlQRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgQklHUkFNX1NXX1RZUEVfR1BfVFlQRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJJR1JBTV9TV19UWVBFX0dQX1RZUEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBCSUdSQU1fU1dfVFlQRV9HUF9UWVBFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBSQUtFX1NXX1RZUEVfR1BfVFlQRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUkFLRV9TV19UWVBFX0dQX1RZUEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJBS0VfU1dfVFlQRV9HUF9UWVBFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEZGKQorCisjZGVmaW5lIERNQ19TV19QV0ROX0MwX0dQX1BXRE5fQzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBETUNfU1dfUFdETl9DMF9HUF9QV0ROX0MwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRE1DX1NXX1BXRE5fQzBfR1BfUFdETl9DMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIERNQ19TV19QV0ROX0MwX0dQX1BXRE5fQzBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNDUV9TV19QV0ROX0MwX0dQX1BXRE5fQzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTQ1FfU1dfUFdETl9DMF9HUF9QV0ROX0MwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFNDUV9TV19QV0ROX0MwX0dQX1BXRE5fQzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwN0ZGKQorCisjZGVmaW5lIFNDUV9TV19QV0ROX0MxX0dQX1BXRE5fQzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTQ1FfU1dfUFdETl9DMV9HUF9QV0ROX0MxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFNDUV9TV19QV0ROX0MxX0dQX1BXRE5fQzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwN0ZGKQorCisjZGVmaW5lIEJSUF9TV19QV0ROX0MwX0dQX1BXRE5fQzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCUlBfU1dfUFdETl9DMF9HUF9QV0ROX0MwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgQlJQX1NXX1BXRE5fQzBfR1BfUFdETl9DMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgQlJQX1NXX1BXRE5fQzFfR1BfUFdETl9DMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJSUF9TV19QV0ROX0MxX0dQX1BXRE5fQzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBCUlBfU1dfUFdETl9DMV9HUF9QV0ROX0MxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKworI2RlZmluZSBCUlBfU1dfUFdETl9DMl9HUF9QV0ROX0MyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQlJQX1NXX1BXRE5fQzJfR1BfUFdETl9DMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIEJSUF9TV19QV0ROX0MyX0dQX1BXRE5fQzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDNGKQorCisjZGVmaW5lIEJSUF9TV19QV0ROX0MzX0dQX1BXRE5fQzNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCUlBfU1dfUFdETl9DM19HUF9QV0ROX0MzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgQlJQX1NXX1BXRE5fQzNfR1BfUFdETl9DM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgQlJQX1NXX1BXRE5fQzRfR1BfUFdETl9DNF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJSUF9TV19QV0ROX0M0X0dQX1BXRE5fQzRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBCUlBfU1dfUFdETl9DNF9HUF9QV0ROX0M0X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKworI2RlZmluZSBCSUdSQU1fU1dfUFdETl9DMF9HUF9QV0ROX0MwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQklHUkFNX1NXX1BXRE5fQzBfR1BfUFdETl9DMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEJJR1JBTV9TV19QV0ROX0MwX0dQX1BXRE5fQzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIEJJR1JBTV9TV19QV0ROX0MxX0dQX1BXRE5fQzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCSUdSQU1fU1dfUFdETl9DMV9HUF9QV0ROX0MxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgQklHUkFNX1NXX1BXRE5fQzFfR1BfUFdETl9DMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDcpCisKKyNkZWZpbmUgQklHUkFNX1NXX1BXRE5fQzJfR1BfUFdETl9DMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJJR1JBTV9TV19QV0ROX0MyX0dQX1BXRE5fQzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBCSUdSQU1fU1dfUFdETl9DMl9HUF9QV0ROX0MyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBCSUdSQU1fU1dfUFdETl9DM19HUF9QV0ROX0MzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQklHUkFNX1NXX1BXRE5fQzNfR1BfUFdETl9DM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEJJR1JBTV9TV19QV0ROX0MzX0dQX1BXRE5fQzNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIEJJR1JBTV9TV19QV0ROX0M0X0dQX1BXRE5fQzRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCSUdSQU1fU1dfUFdETl9DNF9HUF9QV0ROX0M0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgQklHUkFNX1NXX1BXRE5fQzRfR1BfUFdETl9DNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDcpCisKKyNkZWZpbmUgUkFLRV9TV19QV0ROX0MwX0dQX1BXRE5fQzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJBS0VfU1dfUFdETl9DMF9HUF9QV0ROX0MwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBSQUtFX1NXX1BXRE5fQzBfR1BfUFdETl9DMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDBGRikKKworI2RlZmluZSBSQUtFX1NXX1BXRE5fQzFfR1BfUFdETl9DMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUkFLRV9TV19QV0ROX0MxX0dQX1BXRE5fQzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJBS0VfU1dfUFdETl9DMV9HUF9QV0ROX0MxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEZGKQorCisjZGVmaW5lIFJBS0VfU1dfUFdETl9DMl9HUF9QV0ROX0MyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSQUtFX1NXX1BXRE5fQzJfR1BfUFdETl9DMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgUkFLRV9TV19QV0ROX0MyX0dQX1BXRE5fQzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwRkYpCisKKyNkZWZpbmUgRE1DX0dST1VQX1BXRE5fR1BfUFdSX1NUQVRVU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERNQ19HUk9VUF9QV0ROX0dQX1BXUl9TVEFUVVNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBETUNfR1JPVVBfUFdETl9HUF9QV1JfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgRE1DX0dST1VQX1BXRE5fR1BfUFdSX1NUQVRVU19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgU0NRX0dST1VQX1BXRE5fR1BfUFdSX1NUQVRVU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNDUV9HUk9VUF9QV0ROX0dQX1BXUl9TVEFUVVNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgU0NRX0dST1VQX1BXRE5fR1BfUFdSX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA3RkYpCisKKyNkZWZpbmUgQlJQX0dST1VQX1BXRE5fR1BfUFdSX1NUQVRVU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJSUF9HUk9VUF9QV0ROX0dQX1BXUl9TVEFUVVNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBCUlBfR1JPVVBfUFdETl9HUF9QV1JfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKworI2RlZmluZSBCSUdSQU1fR1JPVVBfUFdETl9HUF9QV1JfU1RBVFVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQklHUkFNX0dST1VQX1BXRE5fR1BfUFdSX1NUQVRVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIEJJR1JBTV9HUk9VUF9QV0ROX0dQX1BXUl9TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIFJBS0VfR1JPVVBfUFdETl9HUF9QV1JfU1RBVFVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSQUtFX0dST1VQX1BXRE5fR1BfUFdSX1NUQVRVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgUkFLRV9HUk9VUF9QV0ROX0dQX1BXUl9TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwRkYpCisKKyNkZWZpbmUgRE1DX1dBSVRfQzBfV0FJVF9DMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERNQ19XQUlUX0MwX1dBSVRfQzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBETUNfV0FJVF9DMF9XQUlUX0MwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgRE1DX1dBSVRfQzBfV0FJVF9DMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQlJBTV9XQUlUX0MwX1dBSVRfQzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJSQU1fV0FJVF9DMF9XQUlUX0MwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCUkFNX1dBSVRfQzBfV0FJVF9DMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQlJBTV9XQUlUX0MwX1dBSVRfQzBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQlJBTV9XQUlUX0MxX1dBSVRfQzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJSQU1fV0FJVF9DMV9XQUlUX0MxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCUkFNX1dBSVRfQzFfV0FJVF9DMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQlJBTV9XQUlUX0MxX1dBSVRfQzFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQlJBTV9XQUlUX0MyX1dBSVRfQzJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJSQU1fV0FJVF9DMl9XQUlUX0MyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCUkFNX1dBSVRfQzJfV0FJVF9DMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQlJBTV9XQUlUX0MyX1dBSVRfQzJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQlJBTV9XQUlUX0MzX1dBSVRfQzNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJSQU1fV0FJVF9DM19XQUlUX0MzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCUkFNX1dBSVRfQzNfV0FJVF9DM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQlJBTV9XQUlUX0MzX1dBSVRfQzNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQlJBTV9XQUlUX0M0X1dBSVRfQzRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJSQU1fV0FJVF9DNF9XQUlUX0M0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCUkFNX1dBSVRfQzRfV0FJVF9DNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQlJBTV9XQUlUX0M0X1dBSVRfQzRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUkFLRV9XQUlUX0MwX1dBSVRfQzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJBS0VfV0FJVF9DMF9XQUlUX0MwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1dBSVRfQzBfV0FJVF9DMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUkFLRV9XQUlUX0MwX1dBSVRfQzBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUkFLRV9XQUlUX0MxX1dBSVRfQzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJBS0VfV0FJVF9DMV9XQUlUX0MxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1dBSVRfQzFfV0FJVF9DMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUkFLRV9XQUlUX0MxX1dBSVRfQzFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUkFLRV9XQUlUX0MyX1dBSVRfQzJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJBS0VfV0FJVF9DMl9XQUlUX0MyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1dBSVRfQzJfV0FJVF9DMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUkFLRV9XQUlUX0MyX1dBSVRfQzJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgU1JBTV9DVFJMX0FPX0lETEVfQlJBTV9TUkFNX0NUUkxfQU9fSURMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNSQU1fQ1RSTF9BT19JRExFX0JSQU1fU1JBTV9DVFJMX0FPX0lETEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUkFNX0NUUkxfQU9fSURMRV9CUkFNX1NSQU1fQ1RSTF9BT19JRExFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgU1JBTV9DVFJMX0FPX0lETEVfQlJBTV9TUkFNX0NUUkxfQU9fSURMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgU1JBTV9DVFJMX0FPX0lETEVfRE1DX1NSQU1fQ1RSTF9BT19JRExFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNSQU1fQ1RSTF9BT19JRExFX0RNQ19TUkFNX0NUUkxfQU9fSURMRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUkFNX0NUUkxfQU9fSURMRV9ETUNfU1JBTV9DVFJMX0FPX0lETEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgU1JBTV9DVFJMX0FPX0lETEVfRE1DX1NSQU1fQ1RSTF9BT19JRExFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgU1JBTV9DVFJMX0FPX0lETEVfUkFLRV9TUkFNX0NUUkxfQU9fSURMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNSQU1fQ1RSTF9BT19JRExFX1JBS0VfU1JBTV9DVFJMX0FPX0lETEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTUkFNX0NUUkxfQU9fSURMRV9SQUtFX1NSQU1fQ1RSTF9BT19JRExFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgU1JBTV9DVFJMX0FPX0lETEVfUkFLRV9TUkFNX0NUUkxfQU9fSURMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUkFLRV9QTV9DSVBIRVJfRU5fUkFLRV9DSVBIRVJfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJBS0VfUE1fQ0lQSEVSX0VOX1JBS0VfQ0lQSEVSX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1BNX0NJUEhFUl9FTl9SQUtFX0NJUEhFUl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUkFLRV9QTV9DSVBIRVJfRU5fUkFLRV9DSVBIRVJfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUkFLRV9QTV9DSVBIRVJfTE9DS19SQUtFX0NJUEhFUl9MT0NLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJBS0VfUE1fQ0lQSEVSX0xPQ0tfUkFLRV9DSVBIRVJfTE9DS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1BNX0NJUEhFUl9MT0NLX1JBS0VfQ0lQSEVSX0xPQ0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUkFLRV9QTV9DSVBIRVJfTE9DS19SQUtFX0NJUEhFUl9MT0NLX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgU0NRX1NQTV9DSVBIRVJfRU5fU0NRX1NQTV9DSVBIRVJfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNDUV9TUE1fQ0lQSEVSX0VOX1NDUV9TUE1fQ0lQSEVSX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTQ1FfU1BNX0NJUEhFUl9FTl9TQ1FfU1BNX0NJUEhFUl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgU0NRX1NQTV9DSVBIRVJfRU5fU0NRX1NQTV9DSVBIRVJfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgU0NRX1NQTV9DSVBIRVJfTE9DS19TQ1FfU1BNX0NJUEhFUl9MT0NLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNDUV9TUE1fQ0lQSEVSX0xPQ0tfU0NRX1NQTV9DSVBIRVJfTE9DS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTQ1FfU1BNX0NJUEhFUl9MT0NLX1NDUV9TUE1fQ0lQSEVSX0xPQ0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgU0NRX1NQTV9DSVBIRVJfTE9DS19TQ1FfU1BNX0NJUEhFUl9MT0NLX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQ0tfSURMRV9NQVNLX0JJR1JBTV9SQUtFX0NLX0lETEVfTUFTS19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIENLX0lETEVfTUFTS19CSUdSQU1fUkFLRV9DS19JRExFX01BU0tfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDS19JRExFX01BU0tfQklHUkFNX1JBS0VfQ0tfSURMRV9NQVNLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgQ0tfSURMRV9NQVNLX0JJR1JBTV9SQUtFX0NLX0lETEVfTUFTS19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgQ0tfSURMRV9NQVNLX1JBS0VfUkFLRV9DS19JRExFX01BU0tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIENLX0lETEVfTUFTS19SQUtFX1JBS0VfQ0tfSURMRV9NQVNLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDS19JRExFX01BU0tfUkFLRV9SQUtFX0NLX0lETEVfTUFTS19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgQ0tfSURMRV9NQVNLX1JBS0VfUkFLRV9DS19JRExFX01BU0tfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgQ0tfSURMRV9NQVNLX0JJR1JBTV9CUlBfQ0tfSURMRV9NQVNLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIENLX0lETEVfTUFTS19CSUdSQU1fQlJQX0NLX0lETEVfTUFTS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDS19JRExFX01BU0tfQklHUkFNX0JSUF9DS19JRExFX01BU0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgQ0tfSURMRV9NQVNLX0JJR1JBTV9CUlBfQ0tfSURMRV9NQVNLX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgQ0tfSURMRV9NQVNLX0RNQ19CUlBfQ0tfSURMRV9NQVNLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIENLX0lETEVfTUFTS19ETUNfQlJQX0NLX0lETEVfTUFTS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDS19JRExFX01BU0tfRE1DX0JSUF9DS19JRExFX01BU0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgQ0tfSURMRV9NQVNLX0RNQ19CUlBfQ0tfSURMRV9NQVNLX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgQ0tfSURMRV9NQVNLX0JSUF9CUlBfQ0tfSURMRV9NQVNLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENLX0lETEVfTUFTS19CUlBfQlJQX0NLX0lETEVfTUFTS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDS19JRExFX01BU0tfQlJQX0JSUF9DS19JRExFX01BU0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgQ0tfSURMRV9NQVNLX0JSUF9CUlBfQ0tfSURMRV9NQVNLX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgQ0tfSURMRV9NQVNLX0JJR1JBTV9WRFNQX0NLX0lETEVfTUFTS19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENLX0lETEVfTUFTS19CSUdSQU1fVkRTUF9DS19JRExFX01BU0tfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDS19JRExFX01BU0tfQklHUkFNX1ZEU1BfQ0tfSURMRV9NQVNLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQ0tfSURMRV9NQVNLX0JJR1JBTV9WRFNQX0NLX0lETEVfTUFTS19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQ0tfSURMRV9NQVNLX1ZEU1BfVkRTUF9DS19JRExFX01BU0tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENLX0lETEVfTUFTS19WRFNQX1ZEU1BfQ0tfSURMRV9NQVNLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDS19JRExFX01BU0tfVkRTUF9WRFNQX0NLX0lETEVfTUFTS19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQ0tfSURMRV9NQVNLX1ZEU1BfVkRTUF9DS19JRExFX01BU0tfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQ0tfSURMRV9EQkdfTUFTS19CSUdSQU1fUkFLRV9DS19JRExFX0RCR19NQVNLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIENLX0lETEVfREJHX01BU0tfQklHUkFNX1JBS0VfQ0tfSURMRV9EQkdfTUFTS19XSURUSCAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDS19JRExFX0RCR19NQVNLX0JJR1JBTV9SQUtFX0NLX0lETEVfREJHX01BU0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgQ0tfSURMRV9EQkdfTUFTS19CSUdSQU1fUkFLRV9DS19JRExFX0RCR19NQVNLX0JJVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgQ0tfSURMRV9EQkdfTUFTS19SQUtFX1JBS0VfQ0tfSURMRV9EQkdfTUFTS19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIENLX0lETEVfREJHX01BU0tfUkFLRV9SQUtFX0NLX0lETEVfREJHX01BU0tfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDS19JRExFX0RCR19NQVNLX1JBS0VfUkFLRV9DS19JRExFX0RCR19NQVNLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgQ0tfSURMRV9EQkdfTUFTS19SQUtFX1JBS0VfQ0tfSURMRV9EQkdfTUFTS19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgQ0tfSURMRV9EQkdfTUFTS19CSUdSQU1fQlJQX0NLX0lETEVfREJHX01BU0tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIENLX0lETEVfREJHX01BU0tfQklHUkFNX0JSUF9DS19JRExFX0RCR19NQVNLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDS19JRExFX0RCR19NQVNLX0JJR1JBTV9CUlBfQ0tfSURMRV9EQkdfTUFTS19NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgQ0tfSURMRV9EQkdfTUFTS19CSUdSQU1fQlJQX0NLX0lETEVfREJHX01BU0tfQklUICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgQ0tfSURMRV9EQkdfTUFTS19ETUNfQlJQX0NLX0lETEVfREJHX01BU0tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIENLX0lETEVfREJHX01BU0tfRE1DX0JSUF9DS19JRExFX0RCR19NQVNLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDS19JRExFX0RCR19NQVNLX0RNQ19CUlBfQ0tfSURMRV9EQkdfTUFTS19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgQ0tfSURMRV9EQkdfTUFTS19ETUNfQlJQX0NLX0lETEVfREJHX01BU0tfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgQ0tfSURMRV9EQkdfTUFTS19CUlBfQlJQX0NLX0lETEVfREJHX01BU0tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENLX0lETEVfREJHX01BU0tfQlJQX0JSUF9DS19JRExFX0RCR19NQVNLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDS19JRExFX0RCR19NQVNLX0JSUF9CUlBfQ0tfSURMRV9EQkdfTUFTS19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgQ0tfSURMRV9EQkdfTUFTS19CUlBfQlJQX0NLX0lETEVfREJHX01BU0tfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgQ0tfSURMRV9EQkdfTUFTS19CSUdSQU1fVkRTUF9DS19JRExFX0RCR19NQVNLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENLX0lETEVfREJHX01BU0tfQklHUkFNX1ZEU1BfQ0tfSURMRV9EQkdfTUFTS19XSURUSCAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDS19JRExFX0RCR19NQVNLX0JJR1JBTV9WRFNQX0NLX0lETEVfREJHX01BU0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQ0tfSURMRV9EQkdfTUFTS19CSUdSQU1fVkRTUF9DS19JRExFX0RCR19NQVNLX0JJVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQ0tfSURMRV9EQkdfTUFTS19WRFNQX1ZEU1BfQ0tfSURMRV9EQkdfTUFTS19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENLX0lETEVfREJHX01BU0tfVkRTUF9WRFNQX0NLX0lETEVfREJHX01BU0tfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDS19JRExFX0RCR19NQVNLX1ZEU1BfVkRTUF9DS19JRExFX0RCR19NQVNLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQ0tfSURMRV9EQkdfTUFTS19WRFNQX1ZEU1BfQ0tfSURMRV9EQkdfTUFTS19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKworI2VuZGlmIC8qX0NQSF9NRFJYU1lTX01FTV9DT05GSUdfUkVHX0hfKi8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BobWRyeHN5c21lbWNvbmZpZ3JlZ185Ny5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaG1kcnhzeXNtZW1jb25maWdyZWdfOTcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZGYxOGVjCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaG1kcnhzeXNtZW1jb25maWdyZWdfOTcuaApAQCAtMCwwICsxLDIwNSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NQSF9NRFJYU1lTX01FTV9DT05GSUdfUkVHX0hfCisjZGVmaW5lIF9DUEhfTURSWFNZU19NRU1fQ09ORklHX1JFR19IXworCisKK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIFNSQU1BRERSOyAgICAgICAgIC8qIFNSQU0gYWRkciBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgU1JBTURBVEE7ICAgICAgICAgLyogU1JBTSBkYXRhIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBBUEJBRERSOyAgICAgICAgICAvKiBBUEIgYWRkciBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIEFQQkRBVEE7ICAgICAgICAgIC8qIEFQQiBkYXRhIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nKiAgQVBCQUREUjMyOyAgICAgICAgLyogQVBCIGFkZHIgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgICBBUEJEQVRBMzI7ICAgICAgICAvKiBBUEIgZGF0YSBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIERQUkFNQUREUjsgICAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSBzaWduZWQgICBzaG9ydCogRFBSQU1BRERSX1M7ICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBEUFJBTURBVEE7ICAgICAgICAvKiBEUFJBTSBkYXRhIGlzIDE2IGJpdHMgKi8KKworCisjZGVmaW5lIE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEE4MTEwMDAwKQorCisjZGVmaW5lIE1EUlhBT19NRU1fQ09ORklHX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4OWMgKyAxKjQpCisKKworCisjZGVmaW5lIFJBS0VfU1dfVFlQRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4MCkpCisjZGVmaW5lIFJBS0VfV0FJVF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4NCkpCisjZGVmaW5lIFJBS0VfR1JPVVBfUFdETl9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4OCkpCisjZGVmaW5lIFJBS0VfU1JBTV9DVFJMX0FPX0lETEVfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4YykpCisjZGVmaW5lIFJBS0VfU1dfUFdETl8wX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4MTApKQorI2RlZmluZSBSQUtFX1NXX1BXRE5fMV9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweDE0KSkKKyNkZWZpbmUgUkFLRV9TV19QV0ROXzJfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHgxOCkpCisjZGVmaW5lIElOUk1NX1NXX1RZUEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4MWMpKQorI2RlZmluZSBJTlJNTV9XQUlUX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweDIwKSkKKyNkZWZpbmUgSU5STU1fR1JPVVBfUFdETl9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHgyNCkpCisjZGVmaW5lIElOUk1NX1NSQU1fQ1RSTF9BT19JRExFX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4MjgpKQorI2RlZmluZSBJTlJNTV9TV19QV0ROXzBfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweDJjKSkKKyNkZWZpbmUgSU5STU1fU1dfUFdETl8xX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHgzMCkpCisjZGVmaW5lIElOUk1NX1NXX1BXRE5fMl9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4MzQpKQorI2RlZmluZSBJTlJNTV9TV19QV0ROXzNfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweDM4KSkKKyNkZWZpbmUgSU5STU1fU1dfUFdETl80X0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHgzYykpCisjZGVmaW5lIElOUk1NX1NXX1BXRE5fNV9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4NDApKQorI2RlZmluZSBJTlJNTV9TV19QV0ROXzZfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweDQ0KSkKKyNkZWZpbmUgSU5STU1fU1dfUFdETl83X0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHg0OCkpCisjZGVmaW5lIEJSUF9TV19UWVBFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4NGMpKQorI2RlZmluZSBCUlBfV0FJVF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweDUwKSkKKyNkZWZpbmUgQlJQX0dST1VQX1BXRE5fQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHg1NCkpCisjZGVmaW5lIEJSUF9TUkFNX0NUUkxfQU9fSURMRV9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4NTgpKQorI2RlZmluZSBCUlBfU1dfUFdETl8wX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweDVjKSkKKyNkZWZpbmUgQlJQX1NXX1BXRE5fMV9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHg2MCkpCisjZGVmaW5lIEJSUF9TV19QV0ROXzJfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4NjQpKQorI2RlZmluZSBCUlBfU1dfUFdETl8zX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweDY4KSkKKyNkZWZpbmUgQlJQX1NXX1BXRE5fNF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHg2QykpCisjZGVmaW5lIE1EUlhTWVNfRUZVU0VfUzJQXzBfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4NzApKQorI2RlZmluZSBNRFJYU1lTX0VGVVNFX1MyUF8xX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweDc0KSkKKyNkZWZpbmUgTURSWFNZU19FRlVTRV9TMlBfMl9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHg3OCkpCisjZGVmaW5lIE1EUlhTWVNfRUZVU0VfUzJQXzNfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4N2MpKQorI2RlZmluZSBNRFJYU1lTX0VGVVNFX1MyUF80X0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweDgwKSkKKyNkZWZpbmUgTURSWFNZU19FRlVTRV9TMlBfNV9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHg4NCkpCisjZGVmaW5lIE1EUlhTWVNfRUZVU0VfUzJQXzZfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4ODgpKQorI2RlZmluZSBNRFJYU1lTX0VGVVNFX1MyUF83X0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweDhDKSkKKyNkZWZpbmUgTURSWFNZU19FRlVTRV9TMlBfOF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHg5MCkpCisjZGVmaW5lIE1EUlhTWVNfRUZVU0VfUzJQXzlfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFJYQU9fTUVNX0NPTkZJR19SRUdfQkFTRSArIDB4OTQpKQorI2RlZmluZSBNRFJYU1lTX0VGVVNFX1MyUF8xMF9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURSWEFPX01FTV9DT05GSUdfUkVHX0JBU0UgKyAweDk4KSkKKyNkZWZpbmUgTURSWFNZU19FRlVTRV9TMlBfUlhfUkVTRVRfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EUlhBT19NRU1fQ09ORklHX1JFR19CQVNFICsgMHg5QykpCisKKworI2RlZmluZSBSQUtFX1NXX1RZUEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUkFLRV9TV19UWVBFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFJBS0VfU1dfVFlQRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDdGKQorI2RlZmluZSBSQUtFX1NXX1RZUEVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA3RikKKworI2RlZmluZSBSQUtFX1NXX1BXRE5fMF9BRERSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUkFLRV9TV19QV0ROXzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJKDcpCisjZGVmaW5lIFJBS0VfU1dfUFdETl8wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJKDB4MDAwMDAwN0YpCisjZGVmaW5lIFJBS0VfU1dfUFdETl8wX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCSgweDAwMDAwMDdGKQorCisjZGVmaW5lIFJBS0VfU1dfUFdETl8xX0FERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSQUtFX1NXX1BXRE5fMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkoNykKKyNkZWZpbmUgUkFLRV9TV19QV0ROXzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkoMHgwMDAwMDA3RikKKyNkZWZpbmUgUkFLRV9TV19QV0ROXzFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJKDB4MDAwMDAwN0YpCisKKyNkZWZpbmUgUkFLRV9TV19QV0ROXzJfQUREUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJBS0VfU1dfUFdETl8yX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCSg3KQorI2RlZmluZSBSQUtFX1NXX1BXRE5fMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCSgweDAwMDAwMDdGKQorI2RlZmluZSBSQUtFX1NXX1BXRE5fMl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkoMHgwMDAwMDA3RikKKworI2RlZmluZSBJTlJNTV9TV19UWVBFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgSU5STU1fU1dfVFlQRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBJTlJNTV9TV19UWVBFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwN0ZGRikKKyNkZWZpbmUgSU5STU1fU1dfVFlQRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgSU5STU1fU1dfUFdETl8wX0FERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIElOUk1NX1NXX1BXRE5fMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCSgxNSkKKyNkZWZpbmUgSU5STU1fU1dfUFdETl8wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJKDB4MDAwMDdGRkYpCisjZGVmaW5lIElOUk1NX1NXX1BXRE5fMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCSgweDAwMDA3RkZGKQorCisjZGVmaW5lIElOUk1NX1NXX1BXRE5fMV9BRERSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBJTlJNTV9TV19QV0ROXzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkoMTUpCisjZGVmaW5lIElOUk1NX1NXX1BXRE5fMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCSgweDAwMDA3RkZGKQorI2RlZmluZSBJTlJNTV9TV19QV0ROXzFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkoMHgwMDAwN0ZGRikKKworI2RlZmluZSBJTlJNTV9TV19QV0ROXzJfQUREUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgSU5STU1fU1dfUFdETl8yX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJKDE1KQorI2RlZmluZSBJTlJNTV9TV19QV0ROXzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkoMHgwMDAwN0ZGRikKKyNkZWZpbmUgSU5STU1fU1dfUFdETl8yX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgSU5STU1fU1dfUFdETl8zX0FERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIElOUk1NX1NXX1BXRE5fM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCSgxNSkKKyNkZWZpbmUgSU5STU1fU1dfUFdETl8zX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJKDB4MDAwMDdGRkYpCisjZGVmaW5lIElOUk1NX1NXX1BXRE5fM19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCSgweDAwMDA3RkZGKQorCisjZGVmaW5lIElOUk1NX1NXX1BXRE5fNF9BRERSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBJTlJNTV9TV19QV0ROXzRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkoMTUpCisjZGVmaW5lIElOUk1NX1NXX1BXRE5fNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCSgweDAwMDA3RkZGKQorI2RlZmluZSBJTlJNTV9TV19QV0ROXzRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkoMHgwMDAwN0ZGRikKKworI2RlZmluZSBJTlJNTV9TV19QV0ROXzVfQUREUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgSU5STU1fU1dfUFdETl81X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJKDE1KQorI2RlZmluZSBJTlJNTV9TV19QV0ROXzVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkoMHgwMDAwN0ZGRikKKyNkZWZpbmUgSU5STU1fU1dfUFdETl81X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJKDB4MDAwMDdGRkYpCisKKyNkZWZpbmUgSU5STU1fU1dfUFdETl82X0FERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIElOUk1NX1NXX1BXRE5fNl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCSgxNSkKKyNkZWZpbmUgSU5STU1fU1dfUFdETl82X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJKDB4MDAwMDdGRkYpCisjZGVmaW5lIElOUk1NX1NXX1BXRE5fNl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCSgweDAwMDA3RkZGKQorCisjZGVmaW5lIElOUk1NX1NXX1BXRE5fN19BRERSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBJTlJNTV9TV19QV0ROXzdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkoMTUpCisjZGVmaW5lIElOUk1NX1NXX1BXRE5fN19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCSgweDAwMDA3RkZGKQorI2RlZmluZSBJTlJNTV9TV19QV0ROXzdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkoMHgwMDAwN0ZGRikKKworI2RlZmluZSBCUlBfU1dfVFlQRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQlJQX1NXX1RZUEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIEJSUF9TV19UWVBFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCSgweDAwMDAwMEZGKQorI2RlZmluZSBCUlBfU1dfVFlQRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkoMHgwMDAwMDBGRikKKworI2RlZmluZSBCUlBfU1dfUFdETl8wX0FERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQlJQX1NXX1BXRE5fMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCSAgICAoOCkKKyNkZWZpbmUgQlJQX1NXX1BXRE5fMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCSgweDAwMDAwMEZGKQorI2RlZmluZSBCUlBfU1dfUFdETl8wX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJICAgICgweDAwMDAwMEZGKQorCisjZGVmaW5lIEJSUF9TV19QV0ROXzFfQUREUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCUlBfU1dfUFdETl8xX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJICAgICg4KQorI2RlZmluZSBCUlBfU1dfUFdETl8xX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJKDB4MDAwMDAwRkYpCisjZGVmaW5lIEJSUF9TV19QV0ROXzFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkgICAgKDB4MDAwMDAwRkYpCisKKyNkZWZpbmUgQlJQX1NXX1BXRE5fMl9BRERSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJSUF9TV19QV0ROXzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkgICAgKDgpCisjZGVmaW5lIEJSUF9TV19QV0ROXzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkoMHgwMDAwMDBGRikKKyNkZWZpbmUgQlJQX1NXX1BXRE5fMl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCSAgICAoMHgwMDAwMDBGRikKKworI2RlZmluZSBCUlBfU1dfUFdETl8zX0FERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQlJQX1NXX1BXRE5fM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCSAgICAoOCkKKyNkZWZpbmUgQlJQX1NXX1BXRE5fM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCSgweDAwMDAwMEZGKQorI2RlZmluZSBCUlBfU1dfUFdETl8zX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJICAgICgweDAwMDAwMEZGKQorCisjZGVmaW5lIEJSUF9TV19QV0ROXzRfQUREUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCUlBfU1dfUFdETl80X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJICAgICg4KQorI2RlZmluZSBCUlBfU1dfUFdETl80X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJKDB4MDAwMDAwRkYpCisjZGVmaW5lIEJSUF9TV19QV0ROXzRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkgICAgKDB4MDAwMDAwRkYpCisKKyNkZWZpbmUgQlJQX1dBSVRfQUREUl9DMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIEJSUF9XQUlUX0FERFJfQzQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIElOUk1NX1dBSVRfQUREUl9DMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBJTlJNTV9XQUlUX0FERFJfQzQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBSQUtFX1dBSVRfQUREUl9DMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgUkFLRV9XQUlUX0FERFJfQzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKworCisKKyNlbmRpZiAvKl9DUEhfTURSWFNZU19NRU1fQ09ORklHX1JFR19IXyovCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BobXJzZy5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaG1yc2cuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YmZhOTBlCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaG1yc2cuaApAQCAtMCwwICsxLDQ0IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmIGRlZmluZWQoX19NRDkzX18pCisjaW5jbHVkZSAiY3BobXJzZ185My5oIgorI2VsaWYgZGVmaW5lZChfX01EOTVfXykKKyNpbmNsdWRlICJjcGhtcnNnXzk1LmgiCisjZWxpZiBkZWZpbmVkKF9fTUQ5N19fKQorI2luY2x1ZGUgImNwaG1yc2dfOTcuaCIKKyNlbHNlCisjZXJyb3IgIltFUlJPUl0gSW52YWxpZCBNRCBnZW5lcmF0aW9uIgorI2VuZGlmCisKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhtcnNnXzkzLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BobXJzZ185My5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlN2FjMmQKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BobXJzZ185My5oCkBAIC0wLDAgKzEsMjQzIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfQ1BIX01SU0dfSF8KKyNkZWZpbmUgX0NQSF9NUlNHX0hfCisKKwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogU1JBTUFERFI7ICAgICAgICAgLyogU1JBTSBhZGRyIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBTUkFNREFUQTsgICAgICAgICAvKiBTUkFNIGRhdGEgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIEFQQkFERFI7ICAgICAgICAgIC8qIEFQQiBhZGRyIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgQVBCREFUQTsgICAgICAgICAgLyogQVBCIGRhdGEgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqICBBUEJBRERSMzI7ICAgICAgICAvKiBBUEIgYWRkciBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAgIEFQQkRBVEEzMjsgICAgICAgIC8qIEFQQiBkYXRhIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogRFBSQU1BRERSOyAgICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHNpZ25lZCAgIHNob3J0KiBEUFJBTUFERFJfUzsgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIERQUkFNREFUQTsgICAgICAgIC8qIERQUkFNIGRhdGEgaXMgMTYgYml0cyAqLworCisKKyNkZWZpbmUgTVJTR19SRUdfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QTcxMTAwMDApCisKKyNkZWZpbmUgTVJTR19lbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKE1SU0dfUkVHX0JBU0UgKyAweDAwMDAwMDM4ICsgMSo0KQorCisKKworI2RlZmluZSBNUlNHX1BVTVBfQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTVJTR19SRUdfQkFTRSArIDB4MDAwMDAwMDApKQorI2RlZmluZSBNUlNHX0lRX1NSQ19BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTVJTR19SRUdfQkFTRSArIDB4MDAwMDAwMDgpKQorI2RlZmluZSBNUlNHX0lRX0xFTkdUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTVJTR19SRUdfQkFTRSArIDB4MDAwMDAwMEMpKQorI2RlZmluZSBNUlNHX0lRX1BBUkEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTVJTR19SRUdfQkFTRSArIDB4MDAwMDAwMTApKQorI2RlZmluZSBNUlNHX0ZJRk9fVUZMT1cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTVJTR19SRUdfQkFTRSArIDB4MDAwMDAwMTQpKQorI2RlZmluZSBNUlNHX1JTU0lfU1JDX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTVJTR19SRUdfQkFTRSArIDB4MDAwMDAwMTgpKQorI2RlZmluZSBNUlNHX1JTU0lfTEVOR1RIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTVJTR19SRUdfQkFTRSArIDB4MDAwMDAwMUMpKQorI2RlZmluZSBNUlNHX1JTU0lfUEFSQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTVJTR19SRUdfQkFTRSArIDB4MDAwMDAwMjApKQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTVJTR19SRUdfQkFTRSArIDB4MDAwMDAwMjQpKQorI2RlZmluZSBNUlNHX1NXX1JTVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTVJTR19SRUdfQkFTRSArIDB4MDAwMDAwMjgpKQorI2RlZmluZSBNUlNHX0REUl9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTVJTR19SRUdfQkFTRSArIDB4MDAwMDAwMkMpKQorI2RlZmluZSBNUlNHX0NIRUNLU1VNX0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTVJTR19SRUdfQkFTRSArIDB4MDAwMDAwMzApKQorI2RlZmluZSBNUlNHX0NIRUNLU1VNX0xFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTVJTR19SRUdfQkFTRSArIDB4MDAwMDAwMzQpKQorI2RlZmluZSBNUlNHX0NIRUNLU1VNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTVJTR19SRUdfQkFTRSArIDB4MDAwMDAwMzgpKQorCisKKyNkZWZpbmUgTVJTR19QVU1QX0NUUkxfUFVNUF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1SU0dfUFVNUF9DVFJMX1BVTVBfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNUlNHX1BVTVBfQ1RSTF9QVU1QX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgTVJTR19QVU1QX0NUUkxfUFVNUF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgTVJTR19JUV9TUkNfQUREUl9JUV9TUkNfQUREUkVTU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1SU0dfSVFfU1JDX0FERFJfSVFfU1JDX0FERFJFU1NfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgTVJTR19JUV9TUkNfQUREUl9JUV9TUkNfQUREUkVTU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgTVJTR19JUV9MRU5HVEhfSVFfTEVOR1RIX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1SU0dfSVFfTEVOR1RIX0lRX0xFTkdUSF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgTVJTR19JUV9MRU5HVEhfSVFfTEVOR1RIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGRkZGRkYpCisKKyNkZWZpbmUgTVJTR19JUV9QQVJBX0RMWV9BMUMxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIE1SU0dfSVFfUEFSQV9ETFlfQTFDMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBNUlNHX0lRX1BBUkFfRExZX0ExQzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDM4MCkKKworI2RlZmluZSBNUlNHX0lRX1BBUkFfUlNIX0ExQzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgTVJTR19JUV9QQVJBX1JTSF9BMUMxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIE1SU0dfSVFfUEFSQV9SU0hfQTFDMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDYwKQorCisjZGVmaW5lIE1SU0dfSVFfUEFSQV9ETFlfQTBDMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBNUlNHX0lRX1BBUkFfRExZX0EwQzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgTVJTR19JUV9QQVJBX0RMWV9BMEMxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUMpCisKKyNkZWZpbmUgTVJTR19JUV9QQVJBX1JTSF9BMEMxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1SU0dfSVFfUEFSQV9SU0hfQTBDMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBNUlNHX0lRX1BBUkFfUlNIX0EwQzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMykKKworI2RlZmluZSBNUlNHX0ZJRk9fVUZMT1dfUlNTSV9VRkxPV19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19GSUZPX1VGTE9XX1JTU0lfVUZMT1dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1SU0dfRklGT19VRkxPV19SU1NJX1VGTE9XX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBNUlNHX0ZJRk9fVUZMT1dfUlNTSV9VRkxPV19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBNUlNHX0ZJRk9fVUZMT1dfSVFfVUZMT1dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTVJTR19GSUZPX1VGTE9XX0lRX1VGTE9XX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1SU0dfRklGT19VRkxPV19JUV9VRkxPV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBNUlNHX0ZJRk9fVUZMT1dfSVFfVUZMT1dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBNUlNHX1JTU0lfU1JDX0FERFJfUlNTSV9TUkNfQUREUkVTU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTVJTR19SU1NJX1NSQ19BRERSX1JTU0lfU1JDX0FERFJFU1NfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBNUlNHX1JTU0lfU1JDX0FERFJfUlNTSV9TUkNfQUREUkVTU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBNUlNHX1JTU0lfTEVOR1RIX1JTU0lfTEVOR1RIX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTVJTR19SU1NJX0xFTkdUSF9SU1NJX0xFTkdUSF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBNUlNHX1JTU0lfTEVOR1RIX1JTU0lfTEVOR1RIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBNUlNHX1JTU0lfUEFSQV9SU1NJX0RMWV9BMUMxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIE1SU0dfUlNTSV9QQVJBX1JTU0lfRExZX0ExQzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBNUlNHX1JTU0lfUEFSQV9SU1NJX0RMWV9BMUMxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRTAwMCkKKworI2RlZmluZSBNUlNHX1JTU0lfUEFSQV9SU1NJX09GRlNFVF9BMUMxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgTVJTR19SU1NJX1BBUkFfUlNTSV9PRkZTRVRfQTFDMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIE1SU0dfUlNTSV9QQVJBX1JTU0lfT0ZGU0VUX0ExQzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRjAwKQorCisjZGVmaW5lIE1SU0dfUlNTSV9QQVJBX1JTU0lfRExZX0EwQzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBNUlNHX1JTU0lfUEFSQV9SU1NJX0RMWV9BMEMxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgTVJTR19SU1NJX1BBUkFfUlNTSV9ETFlfQTBDMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwRTApCisKKyNkZWZpbmUgTVJTR19SU1NJX1BBUkFfUlNTSV9PRkZTRVRfQTBDMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1SU0dfUlNTSV9QQVJBX1JTU0lfT0ZGU0VUX0EwQzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBNUlNHX1JTU0lfUEFSQV9SU1NJX09GRlNFVF9BMEMxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxRikKKworI2RlZmluZSBNUlNHX01PREVfU1dJVENIX1JYRF9PTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfUlhEX09OX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX1JYRF9PTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9SWERfT05fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9QQ0hfV19TV0lUQ0hfQ0FfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX1BDSF9XX1NXSVRDSF9DQV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9QQ0hfV19TV0lUQ0hfQ0FfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfUENIX1dfU1dJVENIX0NBX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX1BDSF9EQkdfV19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9DU0hfUENIX0RCR19XX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX1BDSF9EQkdfV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0NTSF9QQ0hfREJHX1dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBNUlNHX01PREVfU1dJVENIX1BDSF9XX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfUENIX1dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX1BDSF9XX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9QQ0hfV19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9ERkVfREJHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0RGRV9EQkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9ERkVfREJHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfREZFX0RCR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfSU5SX0xfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0lOUl9MX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9JTlJfTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfSU5SX0xfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfSU5SX0Nkb19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0lOUl9DZG9fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9JTlJfQ2RvX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfSU5SX0Nkb19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfSU5SX0MxeF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0lOUl9DMXhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9JTlJfQzF4X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfSU5SX0MxeF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfSU5SX1RfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0lOUl9UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9JTlJfVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfSU5SX1RfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfSU5SX1dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0lOUl9XX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9JTlJfV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfSU5SX1dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX0xfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0NTSF9MX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9DU0hfTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX0xfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX0Nkb19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0NTSF9DZG9fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9DU0hfQ2RvX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX0Nkb19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX0MxeF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0NTSF9DMXhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9DU0hfQzF4X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX0MxeF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX1RfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0NTSF9UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9DU0hfVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX1RfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX1dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0NTSF9XX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9DU0hfV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX1dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIE1SU0dfU1dfUlNUX1JTVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNUlNHX1NXX1JTVF9SU1RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19TV19SU1RfUlNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIE1SU0dfU1dfUlNUX1JTVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIE1SU0dfRERSX0NUUkxfRERSX09OX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNUlNHX0REUl9DVFJMX0REUl9PTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19ERFJfQ1RSTF9ERFJfT05fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIE1SU0dfRERSX0NUUkxfRERSX09OX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIE1SU0dfQ0hFQ0tTVU1fQ1RSTF9jaGVja3N1bV9kb25lX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgTVJTR19DSEVDS1NVTV9DVFJMX2NoZWNrc3VtX2RvbmVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1SU0dfQ0hFQ0tTVU1fQ1RSTF9jaGVja3N1bV9kb25lX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBNUlNHX0NIRUNLU1VNX0NUUkxfY2hlY2tzdW1fZG9uZV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBNUlNHX0NIRUNLU1VNX0NUUkxfc3RhcnRfY2hlY2tzdW1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTVJTR19DSEVDS1NVTV9DVFJMX3N0YXJ0X2NoZWNrc3VtX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1SU0dfQ0hFQ0tTVU1fQ1RSTF9zdGFydF9jaGVja3N1bV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBNUlNHX0NIRUNLU1VNX0NUUkxfc3RhcnRfY2hlY2tzdW1fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBNUlNHX0NIRUNLU1VNX0xFTl9jaGVja3N1bV9sZW5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTVJTR19DSEVDS1NVTV9MRU5fY2hlY2tzdW1fbGVuX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBNUlNHX0NIRUNLU1VNX0xFTl9jaGVja3N1bV9sZW5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBNUlNHX0NIRUNLU1VNX3R4X2NoZWNrc3VtX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIE1SU0dfQ0hFQ0tTVU1fdHhfY2hlY2tzdW1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgTVJTR19DSEVDS1NVTV90eF9jaGVja3N1bV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRjAwMDApCisKKyNkZWZpbmUgTVJTR19DSEVDS1NVTV9yeF9jaGVja3N1bV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1SU0dfQ0hFQ0tTVU1fcnhfY2hlY2tzdW1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgTVJTR19DSEVDS1NVTV9yeF9jaGVja3N1bV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKworI2VuZGlmIC8vI2lmbmRlZiBfQ1BIX01SU0dfSF8KZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhtcnNnXzk1LmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BobXJzZ185NS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0MjEwNTkKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BobXJzZ185NS5oCkBAIC0wLDAgKzEsMjY2IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfQ1BIX01SU0dfSF8KKyNkZWZpbmUgX0NQSF9NUlNHX0hfCisKKwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogU1JBTUFERFI7ICAgICAgICAgLyogU1JBTSBhZGRyIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBTUkFNREFUQTsgICAgICAgICAvKiBTUkFNIGRhdGEgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIEFQQkFERFI7ICAgICAgICAgIC8qIEFQQiBhZGRyIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgQVBCREFUQTsgICAgICAgICAgLyogQVBCIGRhdGEgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqICBBUEJBRERSMzI7ICAgICAgICAvKiBBUEIgYWRkciBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAgIEFQQkRBVEEzMjsgICAgICAgIC8qIEFQQiBkYXRhIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogRFBSQU1BRERSOyAgICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHNpZ25lZCAgIHNob3J0KiBEUFJBTUFERFJfUzsgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIERQUkFNREFUQTsgICAgICAgIC8qIERQUkFNIGRhdGEgaXMgMTYgYml0cyAqLworCisKKyNkZWZpbmUgTVJTR19SRUdfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QTcxMTAwMDApCisKKyNkZWZpbmUgTVJTR19lbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKE1SU0dfUkVHX0JBU0UgKyAweDAwMDAwMDQwICsgMSo0KQorCisKKworI2RlZmluZSBNUlNHX1BVTVBfQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTVJTR19SRUdfQkFTRSArIDB4MDAwMDAwMDApKQorI2RlZmluZSBNUlNHX0lRX1NSQ19BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTVJTR19SRUdfQkFTRSArIDB4MDAwMDAwMDgpKQorI2RlZmluZSBNUlNHX0lRX0xFTkdUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTVJTR19SRUdfQkFTRSArIDB4MDAwMDAwMEMpKQorI2RlZmluZSBNUlNHX0lRX1BBUkEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTVJTR19SRUdfQkFTRSArIDB4MDAwMDAwMTApKQorI2RlZmluZSBNUlNHX0ZJRk9fVUZMT1cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTVJTR19SRUdfQkFTRSArIDB4MDAwMDAwMTQpKQorI2RlZmluZSBNUlNHX1JTU0lfU1JDX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTVJTR19SRUdfQkFTRSArIDB4MDAwMDAwMTgpKQorI2RlZmluZSBNUlNHX1JTU0lfTEVOR1RIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTVJTR19SRUdfQkFTRSArIDB4MDAwMDAwMUMpKQorI2RlZmluZSBNUlNHX1JTU0lfUEFSQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTVJTR19SRUdfQkFTRSArIDB4MDAwMDAwMjApKQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTVJTR19SRUdfQkFTRSArIDB4MDAwMDAwMjQpKQorI2RlZmluZSBNUlNHX1NXX1JTVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTVJTR19SRUdfQkFTRSArIDB4MDAwMDAwMjgpKQorI2RlZmluZSBNUlNHX0REUl9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTVJTR19SRUdfQkFTRSArIDB4MDAwMDAwMkMpKQorI2RlZmluZSBNUlNHX0NIRUNLU1VNX0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTVJTR19SRUdfQkFTRSArIDB4MDAwMDAwMzApKQorI2RlZmluZSBNUlNHX0NIRUNLU1VNX0xFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTVJTR19SRUdfQkFTRSArIDB4MDAwMDAwMzQpKQorI2RlZmluZSBNUlNHX0NIRUNLU1VNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTVJTR19SRUdfQkFTRSArIDB4MDAwMDAwMzgpKQorI2RlZmluZSBNUlNHX1RJQ0tHRU5fQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTVJTR19SRUdfQkFTRSArIDB4MDAwMDAwNDApKQorCisKKyNkZWZpbmUgTVJTR19QVU1QX0NUUkxfUFVNUF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1SU0dfUFVNUF9DVFJMX1BVTVBfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNUlNHX1BVTVBfQ1RSTF9QVU1QX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgTVJTR19QVU1QX0NUUkxfUFVNUF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgTVJTR19JUV9TUkNfQUREUl9JUV9TUkNfQUREUkVTU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1SU0dfSVFfU1JDX0FERFJfSVFfU1JDX0FERFJFU1NfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgTVJTR19JUV9TUkNfQUREUl9JUV9TUkNfQUREUkVTU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgTVJTR19JUV9MRU5HVEhfSVFfTEVOR1RIX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1SU0dfSVFfTEVOR1RIX0lRX0xFTkdUSF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgTVJTR19JUV9MRU5HVEhfSVFfTEVOR1RIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGRkZGRkYpCisKKyNkZWZpbmUgTVJTR19JUV9QQVJBX0RMWV9BMUMxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIE1SU0dfSVFfUEFSQV9ETFlfQTFDMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBNUlNHX0lRX1BBUkFfRExZX0ExQzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDM4MCkKKworI2RlZmluZSBNUlNHX0lRX1BBUkFfUlNIX0ExQzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgTVJTR19JUV9QQVJBX1JTSF9BMUMxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIE1SU0dfSVFfUEFSQV9SU0hfQTFDMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDYwKQorCisjZGVmaW5lIE1SU0dfSVFfUEFSQV9ETFlfQTBDMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBNUlNHX0lRX1BBUkFfRExZX0EwQzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgTVJTR19JUV9QQVJBX0RMWV9BMEMxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUMpCisKKyNkZWZpbmUgTVJTR19JUV9QQVJBX1JTSF9BMEMxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1SU0dfSVFfUEFSQV9SU0hfQTBDMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBNUlNHX0lRX1BBUkFfUlNIX0EwQzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMykKKworI2RlZmluZSBNUlNHX0ZJRk9fVUZMT1dfUlNTSV9VRkxPV19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19GSUZPX1VGTE9XX1JTU0lfVUZMT1dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1SU0dfRklGT19VRkxPV19SU1NJX1VGTE9XX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBNUlNHX0ZJRk9fVUZMT1dfUlNTSV9VRkxPV19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBNUlNHX0ZJRk9fVUZMT1dfSVFfVUZMT1dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTVJTR19GSUZPX1VGTE9XX0lRX1VGTE9XX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1SU0dfRklGT19VRkxPV19JUV9VRkxPV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBNUlNHX0ZJRk9fVUZMT1dfSVFfVUZMT1dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBNUlNHX1JTU0lfU1JDX0FERFJfUlNTSV9TUkNfQUREUkVTU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTVJTR19SU1NJX1NSQ19BRERSX1JTU0lfU1JDX0FERFJFU1NfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBNUlNHX1JTU0lfU1JDX0FERFJfUlNTSV9TUkNfQUREUkVTU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBNUlNHX1JTU0lfTEVOR1RIX1JTU0lfTEVOR1RIX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTVJTR19SU1NJX0xFTkdUSF9SU1NJX0xFTkdUSF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBNUlNHX1JTU0lfTEVOR1RIX1JTU0lfTEVOR1RIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBNUlNHX1JTU0lfUEFSQV9SU1NJX0RMWV9BMUMxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIE1SU0dfUlNTSV9QQVJBX1JTU0lfRExZX0ExQzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBNUlNHX1JTU0lfUEFSQV9SU1NJX0RMWV9BMUMxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRTAwMCkKKworI2RlZmluZSBNUlNHX1JTU0lfUEFSQV9SU1NJX09GRlNFVF9BMUMxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgTVJTR19SU1NJX1BBUkFfUlNTSV9PRkZTRVRfQTFDMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIE1SU0dfUlNTSV9QQVJBX1JTU0lfT0ZGU0VUX0ExQzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRjAwKQorCisjZGVmaW5lIE1SU0dfUlNTSV9QQVJBX1JTU0lfRExZX0EwQzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBNUlNHX1JTU0lfUEFSQV9SU1NJX0RMWV9BMEMxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgTVJTR19SU1NJX1BBUkFfUlNTSV9ETFlfQTBDMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwRTApCisKKyNkZWZpbmUgTVJTR19SU1NJX1BBUkFfUlNTSV9PRkZTRVRfQTBDMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1SU0dfUlNTSV9QQVJBX1JTU0lfT0ZGU0VUX0EwQzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBNUlNHX1JTU0lfUEFSQV9SU1NJX09GRlNFVF9BMEMxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxRikKKworI2RlZmluZSBNUlNHX01PREVfU1dJVENIX1JYRF9PTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfUlhEX09OX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX1JYRF9PTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9SWERfT05fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9QQ0hfV19TV0lUQ0hfQ0FfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX1BDSF9XX1NXSVRDSF9DQV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9QQ0hfV19TV0lUQ0hfQ0FfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfUENIX1dfU1dJVENIX0NBX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX1BDSF9EQkdfV19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9DU0hfUENIX0RCR19XX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX1BDSF9EQkdfV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0NTSF9QQ0hfREJHX1dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBNUlNHX01PREVfU1dJVENIX1BDSF9XX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfUENIX1dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX1BDSF9XX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9QQ0hfV19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9ERkVfREJHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0RGRV9EQkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9ERkVfREJHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfREZFX0RCR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfSU5SX0xfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0lOUl9MX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9JTlJfTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfSU5SX0xfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfSU5SX0Nkb19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0lOUl9DZG9fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9JTlJfQ2RvX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfSU5SX0Nkb19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfSU5SX0MxeF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0lOUl9DMXhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9JTlJfQzF4X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfSU5SX0MxeF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfSU5SX1RfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0lOUl9UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9JTlJfVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfSU5SX1RfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfSU5SX1dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0lOUl9XX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9JTlJfV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfSU5SX1dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX0xfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0NTSF9MX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9DU0hfTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX0xfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX0Nkb19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0NTSF9DZG9fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9DU0hfQ2RvX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX0Nkb19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX0MxeF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0NTSF9DMXhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9DU0hfQzF4X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX0MxeF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX1RfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0NTSF9UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9DU0hfVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX1RfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX1dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0NTSF9XX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9DU0hfV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX1dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIE1SU0dfU1dfUlNUX1JTVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNUlNHX1NXX1JTVF9SU1RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19TV19SU1RfUlNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIE1SU0dfU1dfUlNUX1JTVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIE1SU0dfRERSX0NUUkxfRERSX09OX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNUlNHX0REUl9DVFJMX0REUl9PTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19ERFJfQ1RSTF9ERFJfT05fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIE1SU0dfRERSX0NUUkxfRERSX09OX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIE1SU0dfQ0hFQ0tTVU1fQ1RSTF90eF9jaGVja3N1bV9kb25lX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgTVJTR19DSEVDS1NVTV9DVFJMX3R4X2NoZWNrc3VtX2RvbmVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1SU0dfQ0hFQ0tTVU1fQ1RSTF90eF9jaGVja3N1bV9kb25lX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBNUlNHX0NIRUNLU1VNX0NUUkxfdHhfY2hlY2tzdW1fZG9uZV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgTVJTR19DSEVDS1NVTV9DVFJMX3J4MTZfY2hlY2tzdW1fZG9uZV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMwKQorI2RlZmluZSBNUlNHX0NIRUNLU1VNX0NUUkxfcngxNl9jaGVja3N1bV9kb25lX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19DSEVDS1NVTV9DVFJMX3J4MTZfY2hlY2tzdW1fZG9uZV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4NDAwMDAwMDApCisjZGVmaW5lIE1SU0dfQ0hFQ0tTVU1fQ1RSTF9yeDE2X2NoZWNrc3VtX2RvbmVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDQwMDAwMDAwKQorCisjZGVmaW5lIE1SU0dfQ0hFQ0tTVU1fQ1RSTF9yeDMyX2NoZWNrc3VtX2RvbmVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyOSkKKyNkZWZpbmUgTVJTR19DSEVDS1NVTV9DVFJMX3J4MzJfY2hlY2tzdW1fZG9uZV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1SU0dfQ0hFQ0tTVU1fQ1RSTF9yeDMyX2NoZWNrc3VtX2RvbmVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDIwMDAwMDAwKQorI2RlZmluZSBNUlNHX0NIRUNLU1VNX0NUUkxfcngzMl9jaGVja3N1bV9kb25lX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgyMDAwMDAwMCkKKworI2RlZmluZSBNUlNHX0NIRUNLU1VNX0NUUkxfcng2NF9jaGVja3N1bV9kb25lX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjgpCisjZGVmaW5lIE1SU0dfQ0hFQ0tTVU1fQ1RSTF9yeDY0X2NoZWNrc3VtX2RvbmVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNUlNHX0NIRUNLU1VNX0NUUkxfcng2NF9jaGVja3N1bV9kb25lX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMCkKKyNkZWZpbmUgTVJTR19DSEVDS1NVTV9DVFJMX3J4NjRfY2hlY2tzdW1fZG9uZV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMDApCisKKyNkZWZpbmUgTVJTR19DSEVDS1NVTV9DVFJMX3N0YXJ0X2NoZWNrc3VtX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1SU0dfQ0hFQ0tTVU1fQ1RSTF9zdGFydF9jaGVja3N1bV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNUlNHX0NIRUNLU1VNX0NUUkxfc3RhcnRfY2hlY2tzdW1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgTVJTR19DSEVDS1NVTV9DVFJMX3N0YXJ0X2NoZWNrc3VtX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgTVJTR19DSEVDS1NVTV9MRU5fY2hlY2tzdW1fbGVuX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1SU0dfQ0hFQ0tTVU1fTEVOX2NoZWNrc3VtX2xlbl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgTVJTR19DSEVDS1NVTV9MRU5fY2hlY2tzdW1fbGVuX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgTVJTR19DSEVDS1NVTV90eF9jaGVja3N1bV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBNUlNHX0NIRUNLU1VNX3R4X2NoZWNrc3VtX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIE1SU0dfQ0hFQ0tTVU1fdHhfY2hlY2tzdW1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIE1SU0dfQ0hFQ0tTVU1fcnhfY2hlY2tzdW1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNUlNHX0NIRUNLU1VNX3J4X2NoZWNrc3VtX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIE1SU0dfQ0hFQ0tTVU1fcnhfY2hlY2tzdW1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIE1SU0dfVElDS0dFTl9DVFJMX0MyS19NT0RFX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBNUlNHX1RJQ0tHRU5fQ1RSTF9DMktfTU9ERV9TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19USUNLR0VOX0NUUkxfQzJLX01PREVfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIE1SU0dfVElDS0dFTl9DVFJMX0MyS19NT0RFX1NFTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIE1SU0dfVElDS0dFTl9DVFJMX0NfTU9ERV9TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNUlNHX1RJQ0tHRU5fQ1RSTF9DX01PREVfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgTVJTR19USUNLR0VOX0NUUkxfQ19NT0RFX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNlbmRpZiAvLyNpZm5kZWYgX0NQSF9NUlNHX0hfCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BobXJzZ185Ny5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaG1yc2dfOTcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZjFiMGExCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaG1yc2dfOTcuaApAQCAtMCwwICsxLDI2OCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NQSF9NUlNHX0hfCisjZGVmaW5lIF9DUEhfTVJTR19IXworCisKK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIFNSQU1BRERSOyAgICAgICAgIC8qIFNSQU0gYWRkciBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgU1JBTURBVEE7ICAgICAgICAgLyogU1JBTSBkYXRhIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBBUEJBRERSOyAgICAgICAgICAvKiBBUEIgYWRkciBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIEFQQkRBVEE7ICAgICAgICAgIC8qIEFQQiBkYXRhIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nKiAgQVBCQUREUjMyOyAgICAgICAgLyogQVBCIGFkZHIgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgICBBUEJEQVRBMzI7ICAgICAgICAvKiBBUEIgZGF0YSBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIERQUkFNQUREUjsgICAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSBzaWduZWQgICBzaG9ydCogRFBSQU1BRERSX1M7ICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBEUFJBTURBVEE7ICAgICAgICAvKiBEUFJBTSBkYXRhIGlzIDE2IGJpdHMgKi8KKworCisjZGVmaW5lIE1SU0dfUkVHX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEE4RDYwMDAwKQorCisjZGVmaW5lIE1SU0dfZW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChNUlNHX1JFR19CQVNFICsgMHgwMDAwMDA0MCArIDEqNCkKKworCisKKyNkZWZpbmUgTVJTR19QVU1QX0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1SU0dfUkVHX0JBU0UgKyAweDAwMDAwMDAwKSkKKyNkZWZpbmUgTVJTR19JUV9TUkNfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1SU0dfUkVHX0JBU0UgKyAweDAwMDAwMDA4KSkKKyNkZWZpbmUgTVJTR19JUV9MRU5HVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1SU0dfUkVHX0JBU0UgKyAweDAwMDAwMDBDKSkKKyNkZWZpbmUgTVJTR19JUV9QQVJBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1SU0dfUkVHX0JBU0UgKyAweDAwMDAwMDEwKSkKKyNkZWZpbmUgTVJTR19GSUZPX1VGTE9XICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1SU0dfUkVHX0JBU0UgKyAweDAwMDAwMDE0KSkKKyNkZWZpbmUgTVJTR19SU1NJX1NSQ19BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1SU0dfUkVHX0JBU0UgKyAweDAwMDAwMDE4KSkKKyNkZWZpbmUgTVJTR19SU1NJX0xFTkdUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1SU0dfUkVHX0JBU0UgKyAweDAwMDAwMDFDKSkKKyNkZWZpbmUgTVJTR19SU1NJX1BBUkEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1SU0dfUkVHX0JBU0UgKyAweDAwMDAwMDIwKSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1SU0dfUkVHX0JBU0UgKyAweDAwMDAwMDI0KSkKKyNkZWZpbmUgTVJTR19TV19SU1QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1SU0dfUkVHX0JBU0UgKyAweDAwMDAwMDI4KSkKKyNkZWZpbmUgTVJTR19ERFJfQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1SU0dfUkVHX0JBU0UgKyAweDAwMDAwMDJDKSkKKyNkZWZpbmUgTVJTR19DSEVDS1NVTV9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1SU0dfUkVHX0JBU0UgKyAweDAwMDAwMDMwKSkKKyNkZWZpbmUgTVJTR19DSEVDS1NVTV9MRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1SU0dfUkVHX0JBU0UgKyAweDAwMDAwMDM0KSkKKyNkZWZpbmUgTVJTR19DSEVDS1NVTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1SU0dfUkVHX0JBU0UgKyAweDAwMDAwMDM4KSkKKyNkZWZpbmUgTVJTR19USUNLR0VOX0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1SU0dfUkVHX0JBU0UgKyAweDAwMDAwMDQwKSkKKyNkZWZpbmUgTVJTR19MR0FJTl9EVVJfTEVOX0dUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1SU0dfUkVHX0JBU0UgKyAweDAwMDAwMDQ0KSkKKworCisKKyNkZWZpbmUgTVJTR19QVU1QX0NUUkxfUFVNUF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1SU0dfUFVNUF9DVFJMX1BVTVBfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNUlNHX1BVTVBfQ1RSTF9QVU1QX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgTVJTR19QVU1QX0NUUkxfUFVNUF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgTVJTR19JUV9TUkNfQUREUl9JUV9TUkNfQUREUkVTU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1SU0dfSVFfU1JDX0FERFJfSVFfU1JDX0FERFJFU1NfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgTVJTR19JUV9TUkNfQUREUl9JUV9TUkNfQUREUkVTU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgTVJTR19JUV9MRU5HVEhfSVFfTEVOR1RIX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1SU0dfSVFfTEVOR1RIX0lRX0xFTkdUSF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgTVJTR19JUV9MRU5HVEhfSVFfTEVOR1RIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGRkZGRkYpCisKKyNkZWZpbmUgTVJTR19JUV9QQVJBX0RMWV9BMUMxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIE1SU0dfSVFfUEFSQV9ETFlfQTFDMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBNUlNHX0lRX1BBUkFfRExZX0ExQzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDM4MCkKKworI2RlZmluZSBNUlNHX0lRX1BBUkFfUlNIX0ExQzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgTVJTR19JUV9QQVJBX1JTSF9BMUMxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIE1SU0dfSVFfUEFSQV9SU0hfQTFDMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDYwKQorCisjZGVmaW5lIE1SU0dfSVFfUEFSQV9ETFlfQTBDMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBNUlNHX0lRX1BBUkFfRExZX0EwQzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgTVJTR19JUV9QQVJBX0RMWV9BMEMxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUMpCisKKyNkZWZpbmUgTVJTR19JUV9QQVJBX1JTSF9BMEMxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1SU0dfSVFfUEFSQV9SU0hfQTBDMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBNUlNHX0lRX1BBUkFfUlNIX0EwQzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMykKKworI2RlZmluZSBNUlNHX0ZJRk9fVUZMT1dfUlNTSV9VRkxPV19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19GSUZPX1VGTE9XX1JTU0lfVUZMT1dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1SU0dfRklGT19VRkxPV19SU1NJX1VGTE9XX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBNUlNHX0ZJRk9fVUZMT1dfUlNTSV9VRkxPV19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBNUlNHX0ZJRk9fVUZMT1dfSVFfVUZMT1dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTVJTR19GSUZPX1VGTE9XX0lRX1VGTE9XX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1SU0dfRklGT19VRkxPV19JUV9VRkxPV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBNUlNHX0ZJRk9fVUZMT1dfSVFfVUZMT1dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBNUlNHX1JTU0lfU1JDX0FERFJfUlNTSV9TUkNfQUREUkVTU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTVJTR19SU1NJX1NSQ19BRERSX1JTU0lfU1JDX0FERFJFU1NfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBNUlNHX1JTU0lfU1JDX0FERFJfUlNTSV9TUkNfQUREUkVTU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBNUlNHX1JTU0lfTEVOR1RIX1JTU0lfTEVOR1RIX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTVJTR19SU1NJX0xFTkdUSF9SU1NJX0xFTkdUSF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBNUlNHX1JTU0lfTEVOR1RIX1JTU0lfTEVOR1RIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBNUlNHX1JTU0lfUEFSQV9SU1NJX0RMWV9BMUMxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIE1SU0dfUlNTSV9QQVJBX1JTU0lfRExZX0ExQzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBNUlNHX1JTU0lfUEFSQV9SU1NJX0RMWV9BMUMxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRTAwMCkKKworI2RlZmluZSBNUlNHX1JTU0lfUEFSQV9SU1NJX09GRlNFVF9BMUMxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgTVJTR19SU1NJX1BBUkFfUlNTSV9PRkZTRVRfQTFDMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIE1SU0dfUlNTSV9QQVJBX1JTU0lfT0ZGU0VUX0ExQzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRjAwKQorCisjZGVmaW5lIE1SU0dfUlNTSV9QQVJBX1JTU0lfRExZX0EwQzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBNUlNHX1JTU0lfUEFSQV9SU1NJX0RMWV9BMEMxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgTVJTR19SU1NJX1BBUkFfUlNTSV9ETFlfQTBDMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwRTApCisKKyNkZWZpbmUgTVJTR19SU1NJX1BBUkFfUlNTSV9PRkZTRVRfQTBDMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1SU0dfUlNTSV9QQVJBX1JTU0lfT0ZGU0VUX0EwQzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBNUlNHX1JTU0lfUEFSQV9SU1NJX09GRlNFVF9BMEMxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxRikKKworI2RlZmluZSBNUlNHX01PREVfU1dJVENIX1JYRF9PTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfUlhEX09OX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX1JYRF9PTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9SWERfT05fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9QQ0hfV19TV0lUQ0hfQ0FfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX1BDSF9XX1NXSVRDSF9DQV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9QQ0hfV19TV0lUQ0hfQ0FfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfUENIX1dfU1dJVENIX0NBX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX1BDSF9EQkdfV19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9DU0hfUENIX0RCR19XX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX1BDSF9EQkdfV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0NTSF9QQ0hfREJHX1dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBNUlNHX01PREVfU1dJVENIX1BDSF9XX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfUENIX1dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX1BDSF9XX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9QQ0hfV19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9ERkVfREJHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0RGRV9EQkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9ERkVfREJHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfREZFX0RCR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfSU5SX0xfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0lOUl9MX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9JTlJfTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfSU5SX0xfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfSU5SX0Nkb19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0lOUl9DZG9fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9JTlJfQ2RvX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfSU5SX0Nkb19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfSU5SX0MxeF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0lOUl9DMXhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9JTlJfQzF4X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfSU5SX0MxeF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfSU5SX1RfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0lOUl9UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9JTlJfVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfSU5SX1RfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfSU5SX1dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0lOUl9XX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9JTlJfV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfSU5SX1dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX0xfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0NTSF9MX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9DU0hfTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX0xfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX0Nkb19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0NTSF9DZG9fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9DU0hfQ2RvX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX0Nkb19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX0MxeF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0NTSF9DMXhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9DU0hfQzF4X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX0MxeF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX1RfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0NTSF9UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9DU0hfVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX1RfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX1dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNUlNHX01PREVfU1dJVENIX0NTSF9XX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19NT0RFX1NXSVRDSF9DU0hfV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIE1SU0dfTU9ERV9TV0lUQ0hfQ1NIX1dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIE1SU0dfU1dfUlNUX1JTVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNUlNHX1NXX1JTVF9SU1RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19TV19SU1RfUlNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIE1SU0dfU1dfUlNUX1JTVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIE1SU0dfRERSX0NUUkxfRERSX09OX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNUlNHX0REUl9DVFJMX0REUl9PTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19ERFJfQ1RSTF9ERFJfT05fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIE1SU0dfRERSX0NUUkxfRERSX09OX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIE1SU0dfQ0hFQ0tTVU1fQ1RSTF90eF9jaGVja3N1bV9kb25lX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgTVJTR19DSEVDS1NVTV9DVFJMX3R4X2NoZWNrc3VtX2RvbmVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1SU0dfQ0hFQ0tTVU1fQ1RSTF90eF9jaGVja3N1bV9kb25lX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBNUlNHX0NIRUNLU1VNX0NUUkxfdHhfY2hlY2tzdW1fZG9uZV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgTVJTR19DSEVDS1NVTV9DVFJMX3J4MTZfY2hlY2tzdW1fZG9uZV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMwKQorI2RlZmluZSBNUlNHX0NIRUNLU1VNX0NUUkxfcngxNl9jaGVja3N1bV9kb25lX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19DSEVDS1NVTV9DVFJMX3J4MTZfY2hlY2tzdW1fZG9uZV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4NDAwMDAwMDApCisjZGVmaW5lIE1SU0dfQ0hFQ0tTVU1fQ1RSTF9yeDE2X2NoZWNrc3VtX2RvbmVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDQwMDAwMDAwKQorCisjZGVmaW5lIE1SU0dfQ0hFQ0tTVU1fQ1RSTF9yeDMyX2NoZWNrc3VtX2RvbmVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyOSkKKyNkZWZpbmUgTVJTR19DSEVDS1NVTV9DVFJMX3J4MzJfY2hlY2tzdW1fZG9uZV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1SU0dfQ0hFQ0tTVU1fQ1RSTF9yeDMyX2NoZWNrc3VtX2RvbmVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDIwMDAwMDAwKQorI2RlZmluZSBNUlNHX0NIRUNLU1VNX0NUUkxfcngzMl9jaGVja3N1bV9kb25lX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgyMDAwMDAwMCkKKworI2RlZmluZSBNUlNHX0NIRUNLU1VNX0NUUkxfcng2NF9jaGVja3N1bV9kb25lX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjgpCisjZGVmaW5lIE1SU0dfQ0hFQ0tTVU1fQ1RSTF9yeDY0X2NoZWNrc3VtX2RvbmVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNUlNHX0NIRUNLU1VNX0NUUkxfcng2NF9jaGVja3N1bV9kb25lX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMCkKKyNkZWZpbmUgTVJTR19DSEVDS1NVTV9DVFJMX3J4NjRfY2hlY2tzdW1fZG9uZV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMDApCisKKyNkZWZpbmUgTVJTR19DSEVDS1NVTV9DVFJMX3N0YXJ0X2NoZWNrc3VtX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1SU0dfQ0hFQ0tTVU1fQ1RSTF9zdGFydF9jaGVja3N1bV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNUlNHX0NIRUNLU1VNX0NUUkxfc3RhcnRfY2hlY2tzdW1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgTVJTR19DSEVDS1NVTV9DVFJMX3N0YXJ0X2NoZWNrc3VtX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgTVJTR19DSEVDS1NVTV9MRU5fY2hlY2tzdW1fbGVuX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1SU0dfQ0hFQ0tTVU1fTEVOX2NoZWNrc3VtX2xlbl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgTVJTR19DSEVDS1NVTV9MRU5fY2hlY2tzdW1fbGVuX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgTVJTR19DSEVDS1NVTV90eF9jaGVja3N1bV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBNUlNHX0NIRUNLU1VNX3R4X2NoZWNrc3VtX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIE1SU0dfQ0hFQ0tTVU1fdHhfY2hlY2tzdW1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkYwMDAwKQorCisjZGVmaW5lIE1SU0dfQ0hFQ0tTVU1fcnhfY2hlY2tzdW1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNUlNHX0NIRUNLU1VNX3J4X2NoZWNrc3VtX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIE1SU0dfQ0hFQ0tTVU1fcnhfY2hlY2tzdW1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIE1SU0dfVElDS0dFTl9DVFJMX0MyS19NT0RFX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBNUlNHX1RJQ0tHRU5fQ1RSTF9DMktfTU9ERV9TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTVJTR19USUNLR0VOX0NUUkxfQzJLX01PREVfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIE1SU0dfVElDS0dFTl9DVFJMX0MyS19NT0RFX1NFTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIE1SU0dfVElDS0dFTl9DVFJMX0NfTU9ERV9TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNUlNHX1RJQ0tHRU5fQ1RSTF9DX01PREVfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgTVJTR19USUNLR0VOX0NUUkxfQ19NT0RFX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNlbmRpZiAvLyNpZm5kZWYgX0NQSF9NUlNHX0hfCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BocmFrZXN5c2dsYmNvbnJlZy5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHJha2VzeXNnbGJjb25yZWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MmEwZWY2Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHJha2VzeXNnbGJjb25yZWcuaApAQCAtMCwwICsxLDQzIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmIGRlZmluZWQoX19NRDkzX18pCisjaW5jbHVkZSAiY3BocmFrZXN5c2dsYmNvbnJlZ185My5oIgorI2VsaWYgZGVmaW5lZChfX01EOTVfXykKKyNpbmNsdWRlICJjcGhyYWtlc3lzZ2xiY29ucmVnXzk1LmgiCisjZWxpZiBkZWZpbmVkKF9fTUQ5N19fKSB8fCBkZWZpbmVkKF9fTUQ5N1BfXykKKyNpbmNsdWRlICJjcGhyYWtlc3lzZ2xiY29ucmVnXzk3LmgiCisjZWxzZQorI2Vycm9yICJbRVJST1JdIEludmFsaWQgTUQgZ2VuZXJhdGlvbiIKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHJha2VzeXNnbGJjb25yZWdfOTMuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhyYWtlc3lzZ2xiY29ucmVnXzkzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGQ4OGZjMAotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhyYWtlc3lzZ2xiY29ucmVnXzkzLmgKQEAgLTAsMCArMSwzNjcgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhfUkFLRVNZU19HTEJfQ09OX1JFR19IXworI2RlZmluZSBfQ1BIX1JBS0VTWVNfR0xCX0NPTl9SRUdfSF8KKworCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBTUkFNQUREUjsgICAgICAgICAvKiBTUkFNIGFkZHIgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIFNSQU1EQVRBOyAgICAgICAgIC8qIFNSQU0gZGF0YSBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogQVBCQUREUjsgICAgICAgICAgLyogQVBCIGFkZHIgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBBUEJEQVRBOyAgICAgICAgICAvKiBBUEIgZGF0YSBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyogIEFQQkFERFIzMjsgICAgICAgIC8qIEFQQiBhZGRyIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICAgQVBCREFUQTMyOyAgICAgICAgLyogQVBCIGRhdGEgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBEUFJBTUFERFI7ICAgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgc2lnbmVkICAgc2hvcnQqIERQUkFNQUREUl9TOyAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgRFBSQU1EQVRBOyAgICAgICAgLyogRFBSQU0gZGF0YSBpcyAxNiBiaXRzICovCisKKworI2RlZmluZSBSQUtFU1lTX0dMT0JBTF9DT05fUkVHX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhBQzIwMDAwMCkKKworI2RlZmluZSBSQUtFU1lTX0dMT0JBTF9DT05fZW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoUkFLRVNZU19HTE9CQUxfQ09OX1JFR19CQVNFICsgMHg5MCArIDEqNCkKKworCisKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJBS0VTWVNfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MCkpCisjZGVmaW5lIENHX0NPTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSQUtFU1lTX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDQpKQorI2RlZmluZSBDR19TRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUkFLRVNZU19HTE9CQUxfQ09OX1JFR19CQVNFICsgMHg4KSkKKyNkZWZpbmUgQ0dfQ0xSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJBS0VTWVNfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4QykpCisjZGVmaW5lIENHX0NPTl8xWCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSQUtFU1lTX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDEwKSkKKyNkZWZpbmUgQ0dfU0VUXzFYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJBS0VTWVNfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MTQpKQorI2RlZmluZSBDR19DTFJfMVggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUkFLRVNZU19HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgxOCkpCisjZGVmaW5lIENHX0NPTl9ETyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSQUtFU1lTX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDIwKSkKKyNkZWZpbmUgQ0dfU0VUX0RPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJBS0VTWVNfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MjQpKQorI2RlZmluZSBDR19DTFJfRE8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUkFLRVNZU19HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgyOCkpCisjZGVmaW5lIENHX0NPTl9DT01CICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSQUtFU1lTX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDMwKSkKKyNkZWZpbmUgQVhJX0JVU19DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJBS0VTWVNfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4NDApKQorI2RlZmluZSBSQUtFX1BNX0NISyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUkFLRVNZU19HTE9CQUxfQ09OX1JFR19CQVNFICsgMHg1MCkpCisjZGVmaW5lIFJBS0VfRE1fQ0hLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSQUtFU1lTX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDU0KSkKKyNkZWZpbmUgUkFLRV9DTEtDTlRfQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJBS0VTWVNfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4NjApKQorI2RlZmluZSBSQUtFX0NLX0NMS0NOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUkFLRVNZU19HTE9CQUxfQ09OX1JFR19CQVNFICsgMHg2NCkpCisjZGVmaW5lIFJBS0VfSUNfRElWM19DTEtDTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSQUtFU1lTX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDY4KSkKKyNkZWZpbmUgUkFLRV9JQ18zMlhfQ0xLQ05UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJBS0VTWVNfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4NkMpKQorI2RlZmluZSBSQUtFX0lDXzhYX0NMS0NOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUkFLRVNZU19HTE9CQUxfQ09OX1JFR19CQVNFICsgMHg3MCkpCisjZGVmaW5lIFJBS0VfREJHQlVTX01VWCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSQUtFU1lTX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDgwKSkKKyNkZWZpbmUgUkFLRV9EVU1NWV9SRUcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJBS0VTWVNfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4OTApKQorCisKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkVTRVJWRUQ0X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIxKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SRVNFUlZFRDRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JFU0VSVkVENF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRTAwMDAwKQorCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JFU0VSVkVEM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkVTRVJWRUQzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JFU0VSVkVEM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SRVNFUlZFRDNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMCkKKworI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9CVVNfQVRCX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTkpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX0JVU19BVEJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9CVVNfQVRCX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDA4MDAwMCkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfQlVTX0FUQl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwODAwMDApCisKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkVTRVJWRUQyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SRVNFUlZFRDJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkVTRVJWRUQyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwN0MwMDApCisKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9BWElfQlVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0FYSV9CVVNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9BWElfQlVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfQVhJX0JVU19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfTE9HVE9QX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9MT0dUT1BfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfTE9HVE9QX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0xPR1RPUF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0RTUExPR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfRFNQTE9HX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0RTUExPR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9EU1BMT0dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkVTRVJWRUQxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SRVNFUlZFRDFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkVTRVJWRUQxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JFU0VSVkVEMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfUjJCX0RNQV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX1IyQl9ETUFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9SMkJfRE1BX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfUjJCX0RNQV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfTE9BREVSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0xPQURFUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9MT0FERVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfTE9BREVSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfSU5TVF9ERUNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0lOU1RfREVDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9JTlNUX0RFQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfSU5TVF9ERUNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfQlJJRl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0JSSUZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9CUklGX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfQlJJRl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JFU0VSVkVEMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SRVNFUlZFRDBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkVTRVJWRUQwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JFU0VSVkVEMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfRVhUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0VYVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9FWFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfRVhUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfREVTUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0RFU1BfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9ERVNQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfREVTUF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfREVTSUdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0RFU0lHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9ERVNJR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfREVTSUdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfQ1BJQ0hfQUNDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0NQSUNIX0FDQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9DUElDSF9BQ0NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfQ1BJQ0hfQUNDX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfQUNDX0JVU19JTlRGX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0FDQ19CVVNfSU5URl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9BQ0NfQlVTX0lOVEZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfQUNDX0JVU19JTlRGX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIENHX0NPTl9SRVNFUlZFRDVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBDR19DT05fUkVTRVJWRUQ1X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzApCisjZGVmaW5lIENHX0NPTl9SRVNFUlZFRDVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZDKQorCisjZGVmaW5lIENHX0NPTl9SQUtFX0JSSUZfQ0dfQ09OX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DT05fUkFLRV9CUklGX0NHX0NPTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ0dfQ09OX1JBS0VfQlJJRl9DR19DT05fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIENHX0NPTl9SQUtFX0JSSUZfQ0dfQ09OX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIENHX0NPTl9SQUtFX0NPUkVfQ0dfQ09OX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBDR19DT05fUkFLRV9DT1JFX0NHX0NPTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ0dfQ09OX1JBS0VfQ09SRV9DR19DT05fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIENHX0NPTl9SQUtFX0NPUkVfQ0dfQ09OX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIENHX1NFVF9SRVNFUlZFRDZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBDR19TRVRfUkVTRVJWRUQ2X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzApCisjZGVmaW5lIENHX1NFVF9SRVNFUlZFRDZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZDKQorCisjZGVmaW5lIENHX1NFVF9SQUtFX0JSSUZfQ0dfQ09OX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19TRVRfUkFLRV9CUklGX0NHX0NPTl9TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ0dfU0VUX1JBS0VfQlJJRl9DR19DT05fU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIENHX1NFVF9SQUtFX0JSSUZfQ0dfQ09OX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIENHX1NFVF9SQUtFX0NPUkVfQ0dfQ09OX1NFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBDR19TRVRfUkFLRV9DT1JFX0NHX0NPTl9TRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ0dfU0VUX1JBS0VfQ09SRV9DR19DT05fU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIENHX1NFVF9SQUtFX0NPUkVfQ0dfQ09OX1NFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIENHX0NMUl9SRVNFUlZFRDdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBDR19DTFJfUkVTRVJWRUQ3X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzApCisjZGVmaW5lIENHX0NMUl9SRVNFUlZFRDdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZDKQorCisjZGVmaW5lIENHX0NMUl9SQUtFX0JSSUZfQ0dfQ09OX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DTFJfUkFLRV9CUklGX0NHX0NPTl9DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ0dfQ0xSX1JBS0VfQlJJRl9DR19DT05fQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIENHX0NMUl9SQUtFX0JSSUZfQ0dfQ09OX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIENHX0NMUl9SQUtFX0NPUkVfQ0dfQ09OX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBDR19DTFJfUkFLRV9DT1JFX0NHX0NPTl9DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ0dfQ0xSX1JBS0VfQ09SRV9DR19DT05fQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIENHX0NMUl9SQUtFX0NPUkVfQ0dfQ09OX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIENHX0NPTl8xWF9SRVNFUlZFRDhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBDR19DT05fMVhfUkVTRVJWRUQ4X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzApCisjZGVmaW5lIENHX0NPTl8xWF9SRVNFUlZFRDhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZDKQorCisjZGVmaW5lIENHX0NPTl8xWF9SQUtFX0JSSUZfQ0dfQ09OXzFYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DT05fMVhfUkFLRV9CUklGX0NHX0NPTl8xWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ0dfQ09OXzFYX1JBS0VfQlJJRl9DR19DT05fMVhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIENHX0NPTl8xWF9SQUtFX0JSSUZfQ0dfQ09OXzFYX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIENHX0NPTl8xWF9SQUtFX0NPUkVfQ0dfQ09OXzFYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBDR19DT05fMVhfUkFLRV9DT1JFX0NHX0NPTl8xWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ0dfQ09OXzFYX1JBS0VfQ09SRV9DR19DT05fMVhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIENHX0NPTl8xWF9SQUtFX0NPUkVfQ0dfQ09OXzFYX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIENHX1NFVF8xWF9SRVNFUlZFRDlfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBDR19TRVRfMVhfUkVTRVJWRUQ5X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzApCisjZGVmaW5lIENHX1NFVF8xWF9SRVNFUlZFRDlfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZDKQorCisjZGVmaW5lIENHX1NFVF8xWF9SQUtFX0JSSUZfQ0dfQ09OX1NFVF8xWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19TRVRfMVhfUkFLRV9CUklGX0NHX0NPTl9TRVRfMVhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ0dfU0VUXzFYX1JBS0VfQlJJRl9DR19DT05fU0VUXzFYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIENHX1NFVF8xWF9SQUtFX0JSSUZfQ0dfQ09OX1NFVF8xWF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIENHX1NFVF8xWF9SQUtFX0NPUkVfQ0dfQ09OX1NFVF8xWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBDR19TRVRfMVhfUkFLRV9DT1JFX0NHX0NPTl9TRVRfMVhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ0dfU0VUXzFYX1JBS0VfQ09SRV9DR19DT05fU0VUXzFYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIENHX1NFVF8xWF9SQUtFX0NPUkVfQ0dfQ09OX1NFVF8xWF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIENHX0NMUl8xWF9SRVNFUlZFRDEwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBDR19DTFJfMVhfUkVTRVJWRUQxMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzApCisjZGVmaW5lIENHX0NMUl8xWF9SRVNFUlZFRDEwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZDKQorCisjZGVmaW5lIENHX0NMUl8xWF9SQUtFX0JSSUZfQ0dfQ09OX0NMUl8xWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DTFJfMVhfUkFLRV9CUklGX0NHX0NPTl9DTFJfMVhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ0dfQ0xSXzFYX1JBS0VfQlJJRl9DR19DT05fQ0xSXzFYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIENHX0NMUl8xWF9SQUtFX0JSSUZfQ0dfQ09OX0NMUl8xWF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIENHX0NMUl8xWF9SQUtFX0NPUkVfQ0dfQ09OX0NMUl8xWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBDR19DTFJfMVhfUkFLRV9DT1JFX0NHX0NPTl9DTFJfMVhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ0dfQ0xSXzFYX1JBS0VfQ09SRV9DR19DT05fQ0xSXzFYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIENHX0NMUl8xWF9SQUtFX0NPUkVfQ0dfQ09OX0NMUl8xWF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIENHX0NPTl9ET19SRVNFUlZFRDExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBDR19DT05fRE9fUkVTRVJWRUQxMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzApCisjZGVmaW5lIENHX0NPTl9ET19SRVNFUlZFRDExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZDKQorCisjZGVmaW5lIENHX0NPTl9ET19SQUtFX0JSSUZfQ0dfQ09OX0RPX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DT05fRE9fUkFLRV9CUklGX0NHX0NPTl9ET19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ0dfQ09OX0RPX1JBS0VfQlJJRl9DR19DT05fRE9fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIENHX0NPTl9ET19SQUtFX0JSSUZfQ0dfQ09OX0RPX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIENHX0NPTl9ET19SQUtFX0NPUkVfQ0dfQ09OX0RPX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBDR19DT05fRE9fUkFLRV9DT1JFX0NHX0NPTl9ET19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ0dfQ09OX0RPX1JBS0VfQ09SRV9DR19DT05fRE9fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIENHX0NPTl9ET19SQUtFX0NPUkVfQ0dfQ09OX0RPX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIENHX1NFVF9ET19SRVNFUlZFRDEyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBDR19TRVRfRE9fUkVTRVJWRUQxMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzApCisjZGVmaW5lIENHX1NFVF9ET19SRVNFUlZFRDEyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZDKQorCisjZGVmaW5lIENHX1NFVF9ET19SQUtFX0JSSUZfQ0dfQ09OX1NFVF9ET19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19TRVRfRE9fUkFLRV9CUklGX0NHX0NPTl9TRVRfRE9fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ0dfU0VUX0RPX1JBS0VfQlJJRl9DR19DT05fU0VUX0RPX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIENHX1NFVF9ET19SQUtFX0JSSUZfQ0dfQ09OX1NFVF9ET19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIENHX1NFVF9ET19SQUtFX0NPUkVfQ0dfQ09OX1NFVF9ET19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBDR19TRVRfRE9fUkFLRV9DT1JFX0NHX0NPTl9TRVRfRE9fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ0dfU0VUX0RPX1JBS0VfQ09SRV9DR19DT05fU0VUX0RPX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIENHX1NFVF9ET19SQUtFX0NPUkVfQ0dfQ09OX1NFVF9ET19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIENHX0NMUl9ET19SRVNFUlZFRDEzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBDR19DTFJfRE9fUkVTRVJWRUQxM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzApCisjZGVmaW5lIENHX0NMUl9ET19SRVNFUlZFRDEzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZDKQorCisjZGVmaW5lIENHX0NMUl9ET19SQUtFX0JSSUZfQ0dfQ09OX0NMUl9ET19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DTFJfRE9fUkFLRV9CUklGX0NHX0NPTl9DTFJfRE9fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ0dfQ0xSX0RPX1JBS0VfQlJJRl9DR19DT05fQ0xSX0RPX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIENHX0NMUl9ET19SQUtFX0JSSUZfQ0dfQ09OX0NMUl9ET19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIENHX0NMUl9ET19SQUtFX0NPUkVfQ0dfQ09OX0NMUl9ET19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBDR19DTFJfRE9fUkFLRV9DT1JFX0NHX0NPTl9DTFJfRE9fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ0dfQ0xSX0RPX1JBS0VfQ09SRV9DR19DT05fQ0xSX0RPX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIENHX0NMUl9ET19SQUtFX0NPUkVfQ0dfQ09OX0NMUl9ET19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIENHX0NPTl9DT01CX1JFU0VSVkVEMTRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBDR19DT05fQ09NQl9SRVNFUlZFRDE0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzApCisjZGVmaW5lIENHX0NPTl9DT01CX1JFU0VSVkVEMTRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZDKQorCisjZGVmaW5lIENHX0NPTl9DT01CX1JBS0VfQlJJRl9DR19DT05fQ09NQl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DT05fQ09NQl9SQUtFX0JSSUZfQ0dfQ09OX0NPTUJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ0dfQ09OX0NPTUJfUkFLRV9CUklGX0NHX0NPTl9DT01CX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIENHX0NPTl9DT01CX1JBS0VfQlJJRl9DR19DT05fQ09NQl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIENHX0NPTl9DT01CX1JBS0VfQ09SRV9DR19DT05fQ09NQl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBDR19DT05fQ09NQl9SQUtFX0NPUkVfQ0dfQ09OX0NPTUJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ0dfQ09OX0NPTUJfUkFLRV9DT1JFX0NHX0NPTl9DT01CX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIENHX0NPTl9DT01CX1JBS0VfQ09SRV9DR19DT05fQ09NQl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEFYSV9CVVNfQ0ZHX1JFU0VSVkVEMTVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBBWElfQlVTX0NGR19SRVNFUlZFRDE1X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjcpCisjZGVmaW5lIEFYSV9CVVNfQ0ZHX1JFU0VSVkVEMTVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkUwKQorCisjZGVmaW5lIEFYSV9CVVNfQ0ZHX1NBTVBfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBBWElfQlVTX0NGR19TQU1QX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQVhJX0JVU19DRkdfU0FNUF9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIEFYSV9CVVNfQ0ZHX1NBTVBfU0VMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIEFYSV9CVVNfQ0ZHX1NMVl9TWU5DX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBBWElfQlVTX0NGR19TTFZfU1lOQ19TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQVhJX0JVU19DRkdfU0xWX1NZTkNfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEMpCisKKyNkZWZpbmUgQVhJX0JVU19DRkdfTVNUX1NZTkNfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEFYSV9CVVNfQ0ZHX01TVF9TWU5DX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBBWElfQlVTX0NGR19NU1RfU1lOQ19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMykKKworI2RlZmluZSBSQUtFX1BNX0NIS19SQUtFX1BNX0NIS19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUkFLRV9QTV9DSEtfUkFLRV9QTV9DSEtfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBSQUtFX1BNX0NIS19SQUtFX1BNX0NIS19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBSQUtFX0RNX0NIS19SQUtFX0RNX0NIS19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUkFLRV9ETV9DSEtfUkFLRV9ETV9DSEtfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBSQUtFX0RNX0NIS19SQUtFX0RNX0NIS19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBSQUtFX0NMS0NOVF9DVFJMX1JBS0VfQ0xLQ05UX0RVTVBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkFLRV9DTEtDTlRfQ1RSTF9SQUtFX0NMS0NOVF9EVU1QX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJBS0VfQ0xLQ05UX0NUUkxfUkFLRV9DTEtDTlRfRFVNUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBSQUtFX0NMS0NOVF9DVFJMX1JBS0VfQ0xLQ05UX0RVTVBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBSQUtFX0NMS0NOVF9DVFJMX1JBS0VfQ0xLQ05UX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUkFLRV9DTEtDTlRfQ1RSTF9SQUtFX0NMS0NOVF9DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJBS0VfQ0xLQ05UX0NUUkxfUkFLRV9DTEtDTlRfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSQUtFX0NMS0NOVF9DVFJMX1JBS0VfQ0xLQ05UX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSQUtFX0NLX0NMS0NOVF9SQUtFX0NLX0NMS0NOVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUkFLRV9DS19DTEtDTlRfUkFLRV9DS19DTEtDTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBSQUtFX0NLX0NMS0NOVF9SQUtFX0NLX0NMS0NOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBSQUtFX0lDX0RJVjNfQ0xLQ05UX1JBS0VfSUNfRElWM19DTEtDTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUkFLRV9JQ19ESVYzX0NMS0NOVF9SQUtFX0lDX0RJVjNfQ0xLQ05UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBSQUtFX0lDX0RJVjNfQ0xLQ05UX1JBS0VfSUNfRElWM19DTEtDTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBSQUtFX0lDXzMyWF9DTEtDTlRfUkFLRV9JQ18zMlhfQ0xLQ05UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUkFLRV9JQ18zMlhfQ0xLQ05UX1JBS0VfSUNfMzJYX0NMS0NOVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBSQUtFX0lDXzMyWF9DTEtDTlRfUkFLRV9JQ18zMlhfQ0xLQ05UX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBSQUtFX0lDXzhYX0NMS0NOVF9SQUtFX0lDXzhYX0NMS0NOVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUkFLRV9JQ184WF9DTEtDTlRfUkFLRV9JQ184WF9DTEtDTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBSQUtFX0lDXzhYX0NMS0NOVF9SQUtFX0lDXzhYX0NMS0NOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBSQUtFX0RCR0JVU19NVVhfUkFLRV9EQkdCVVNfTVVYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUkFLRV9EQkdCVVNfTVVYX1JBS0VfREJHQlVTX01VWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJBS0VfREJHQlVTX01VWF9SQUtFX0RCR0JVU19NVVhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIFJBS0VfRFVNTVlfUkVHX1JBS0VfRFVNTVlfUkVHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSQUtFX0RVTU1ZX1JFR19SQUtFX0RVTU1ZX1JFR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFJBS0VfRFVNTVlfUkVHX1JBS0VfRFVNTVlfUkVHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisKKyNlbmRpZiAvKiNpZm5kZWYgX0NQSF9SQUtFU1lTX0dMQl9DT05fUkVHX0hfKi8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BocmFrZXN5c2dsYmNvbnJlZ185NS5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHJha2VzeXNnbGJjb25yZWdfOTUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZDg4ZmMwCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHJha2VzeXNnbGJjb25yZWdfOTUuaApAQCAtMCwwICsxLDM2NyBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NQSF9SQUtFU1lTX0dMQl9DT05fUkVHX0hfCisjZGVmaW5lIF9DUEhfUkFLRVNZU19HTEJfQ09OX1JFR19IXworCisKK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIFNSQU1BRERSOyAgICAgICAgIC8qIFNSQU0gYWRkciBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgU1JBTURBVEE7ICAgICAgICAgLyogU1JBTSBkYXRhIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBBUEJBRERSOyAgICAgICAgICAvKiBBUEIgYWRkciBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIEFQQkRBVEE7ICAgICAgICAgIC8qIEFQQiBkYXRhIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nKiAgQVBCQUREUjMyOyAgICAgICAgLyogQVBCIGFkZHIgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgICBBUEJEQVRBMzI7ICAgICAgICAvKiBBUEIgZGF0YSBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIERQUkFNQUREUjsgICAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSBzaWduZWQgICBzaG9ydCogRFBSQU1BRERSX1M7ICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBEUFJBTURBVEE7ICAgICAgICAvKiBEUFJBTSBkYXRhIGlzIDE2IGJpdHMgKi8KKworCisjZGVmaW5lIFJBS0VTWVNfR0xPQkFMX0NPTl9SRUdfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEFDMjAwMDAwKQorCisjZGVmaW5lIFJBS0VTWVNfR0xPQkFMX0NPTl9lbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChSQUtFU1lTX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDkwICsgMSo0KQorCisKKworI2RlZmluZSBSQUtFX1BXUl9BV0FSRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUkFLRVNZU19HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwKSkKKyNkZWZpbmUgQ0dfQ09OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJBS0VTWVNfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4NCkpCisjZGVmaW5lIENHX1NFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSQUtFU1lTX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDgpKQorI2RlZmluZSBDR19DTFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUkFLRVNZU19HTE9CQUxfQ09OX1JFR19CQVNFICsgMHhDKSkKKyNkZWZpbmUgQ0dfQ09OXzFYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJBS0VTWVNfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MTApKQorI2RlZmluZSBDR19TRVRfMVggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUkFLRVNZU19HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgxNCkpCisjZGVmaW5lIENHX0NMUl8xWCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSQUtFU1lTX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDE4KSkKKyNkZWZpbmUgQ0dfQ09OX0RPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJBS0VTWVNfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MjApKQorI2RlZmluZSBDR19TRVRfRE8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUkFLRVNZU19HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgyNCkpCisjZGVmaW5lIENHX0NMUl9ETyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSQUtFU1lTX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDI4KSkKKyNkZWZpbmUgQ0dfQ09OX0NPTUIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJBS0VTWVNfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MzApKQorI2RlZmluZSBBWElfQlVTX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUkFLRVNZU19HTE9CQUxfQ09OX1JFR19CQVNFICsgMHg0MCkpCisjZGVmaW5lIFJBS0VfUE1fQ0hLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSQUtFU1lTX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDUwKSkKKyNkZWZpbmUgUkFLRV9ETV9DSEsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJBS0VTWVNfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4NTQpKQorI2RlZmluZSBSQUtFX0NMS0NOVF9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUkFLRVNZU19HTE9CQUxfQ09OX1JFR19CQVNFICsgMHg2MCkpCisjZGVmaW5lIFJBS0VfQ0tfQ0xLQ05UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSQUtFU1lTX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDY0KSkKKyNkZWZpbmUgUkFLRV9JQ19ESVYzX0NMS0NOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJBS0VTWVNfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4NjgpKQorI2RlZmluZSBSQUtFX0lDXzMyWF9DTEtDTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUkFLRVNZU19HTE9CQUxfQ09OX1JFR19CQVNFICsgMHg2QykpCisjZGVmaW5lIFJBS0VfSUNfOFhfQ0xLQ05UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSQUtFU1lTX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDcwKSkKKyNkZWZpbmUgUkFLRV9EQkdCVVNfTVVYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJBS0VTWVNfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4ODApKQorI2RlZmluZSBSQUtFX0RVTU1ZX1JFRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUkFLRVNZU19HTE9CQUxfQ09OX1JFR19CQVNFICsgMHg5MCkpCisKKworI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SRVNFUlZFRDRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JFU0VSVkVENF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkVTRVJWRUQ0X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZFMDAwMDApCisKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkVTRVJWRUQzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SRVNFUlZFRDNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkVTRVJWRUQzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JFU0VSVkVEM19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX0JVU19BVEJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOSkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfQlVTX0FUQl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX0JVU19BVEJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDgwMDAwKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9CVVNfQVRCX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDA4MDAwMCkKKworI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SRVNFUlZFRDJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JFU0VSVkVEMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SRVNFUlZFRDJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDA3QzAwMCkKKworI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0FYSV9CVVNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfQVhJX0JVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0FYSV9CVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9BWElfQlVTX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9MT0dUT1BfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0xPR1RPUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9MT0dUT1BfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfTE9HVE9QX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfRFNQTE9HX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9EU1BMT0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfRFNQTE9HX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0RTUExPR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKworI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SRVNFUlZFRDFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JFU0VSVkVEMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SRVNFUlZFRDFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkVTRVJWRUQxX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9SMkJfRE1BX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfUjJCX0RNQV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX1IyQl9ETUFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9SMkJfRE1BX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9MT0FERVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfTE9BREVSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0xPQURFUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9MT0FERVJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9JTlNUX0RFQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfSU5TVF9ERUNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0lOU1RfREVDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9JTlNUX0RFQ19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9CUklGX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfQlJJRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0JSSUZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9CUklGX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkVTRVJWRUQwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JFU0VSVkVEMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SRVNFUlZFRDBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkVTRVJWRUQwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9FWFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfRVhUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0VYVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9FWFRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9ERVNQX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfREVTUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0RFU1BfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9ERVNQX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9ERVNJR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfREVTSUdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0RFU0lHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9ERVNJR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9DUElDSF9BQ0NfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfQ1BJQ0hfQUNDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0NQSUNIX0FDQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9DUElDSF9BQ0NfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9BQ0NfQlVTX0lOVEZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfQUNDX0JVU19JTlRGX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0FDQ19CVVNfSU5URl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9BQ0NfQlVTX0lOVEZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQ0dfQ09OX1JFU0VSVkVENV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENHX0NPTl9SRVNFUlZFRDVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMCkKKyNkZWZpbmUgQ0dfQ09OX1JFU0VSVkVENV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkMpCisKKyNkZWZpbmUgQ0dfQ09OX1JBS0VfQlJJRl9DR19DT05fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENHX0NPTl9SQUtFX0JSSUZfQ0dfQ09OX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DT05fUkFLRV9CUklGX0NHX0NPTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQ0dfQ09OX1JBS0VfQlJJRl9DR19DT05fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQ0dfQ09OX1JBS0VfQ09SRV9DR19DT05fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENHX0NPTl9SQUtFX0NPUkVfQ0dfQ09OX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DT05fUkFLRV9DT1JFX0NHX0NPTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQ0dfQ09OX1JBS0VfQ09SRV9DR19DT05fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQ0dfU0VUX1JFU0VSVkVENl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENHX1NFVF9SRVNFUlZFRDZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMCkKKyNkZWZpbmUgQ0dfU0VUX1JFU0VSVkVENl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkMpCisKKyNkZWZpbmUgQ0dfU0VUX1JBS0VfQlJJRl9DR19DT05fU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENHX1NFVF9SQUtFX0JSSUZfQ0dfQ09OX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19TRVRfUkFLRV9CUklGX0NHX0NPTl9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQ0dfU0VUX1JBS0VfQlJJRl9DR19DT05fU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQ0dfU0VUX1JBS0VfQ09SRV9DR19DT05fU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENHX1NFVF9SQUtFX0NPUkVfQ0dfQ09OX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19TRVRfUkFLRV9DT1JFX0NHX0NPTl9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQ0dfU0VUX1JBS0VfQ09SRV9DR19DT05fU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQ0dfQ0xSX1JFU0VSVkVEN19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENHX0NMUl9SRVNFUlZFRDdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMCkKKyNkZWZpbmUgQ0dfQ0xSX1JFU0VSVkVEN19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkMpCisKKyNkZWZpbmUgQ0dfQ0xSX1JBS0VfQlJJRl9DR19DT05fQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENHX0NMUl9SQUtFX0JSSUZfQ0dfQ09OX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DTFJfUkFLRV9CUklGX0NHX0NPTl9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQ0dfQ0xSX1JBS0VfQlJJRl9DR19DT05fQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQ0dfQ0xSX1JBS0VfQ09SRV9DR19DT05fQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENHX0NMUl9SQUtFX0NPUkVfQ0dfQ09OX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DTFJfUkFLRV9DT1JFX0NHX0NPTl9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQ0dfQ0xSX1JBS0VfQ09SRV9DR19DT05fQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQ0dfQ09OXzFYX1JFU0VSVkVEOF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENHX0NPTl8xWF9SRVNFUlZFRDhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMCkKKyNkZWZpbmUgQ0dfQ09OXzFYX1JFU0VSVkVEOF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkMpCisKKyNkZWZpbmUgQ0dfQ09OXzFYX1JBS0VfQlJJRl9DR19DT05fMVhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENHX0NPTl8xWF9SQUtFX0JSSUZfQ0dfQ09OXzFYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DT05fMVhfUkFLRV9CUklGX0NHX0NPTl8xWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQ0dfQ09OXzFYX1JBS0VfQlJJRl9DR19DT05fMVhfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQ0dfQ09OXzFYX1JBS0VfQ09SRV9DR19DT05fMVhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENHX0NPTl8xWF9SQUtFX0NPUkVfQ0dfQ09OXzFYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DT05fMVhfUkFLRV9DT1JFX0NHX0NPTl8xWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQ0dfQ09OXzFYX1JBS0VfQ09SRV9DR19DT05fMVhfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQ0dfU0VUXzFYX1JFU0VSVkVEOV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENHX1NFVF8xWF9SRVNFUlZFRDlfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMCkKKyNkZWZpbmUgQ0dfU0VUXzFYX1JFU0VSVkVEOV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkMpCisKKyNkZWZpbmUgQ0dfU0VUXzFYX1JBS0VfQlJJRl9DR19DT05fU0VUXzFYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENHX1NFVF8xWF9SQUtFX0JSSUZfQ0dfQ09OX1NFVF8xWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19TRVRfMVhfUkFLRV9CUklGX0NHX0NPTl9TRVRfMVhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQ0dfU0VUXzFYX1JBS0VfQlJJRl9DR19DT05fU0VUXzFYX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQ0dfU0VUXzFYX1JBS0VfQ09SRV9DR19DT05fU0VUXzFYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENHX1NFVF8xWF9SQUtFX0NPUkVfQ0dfQ09OX1NFVF8xWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19TRVRfMVhfUkFLRV9DT1JFX0NHX0NPTl9TRVRfMVhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQ0dfU0VUXzFYX1JBS0VfQ09SRV9DR19DT05fU0VUXzFYX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQ0dfQ0xSXzFYX1JFU0VSVkVEMTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENHX0NMUl8xWF9SRVNFUlZFRDEwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMCkKKyNkZWZpbmUgQ0dfQ0xSXzFYX1JFU0VSVkVEMTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkMpCisKKyNkZWZpbmUgQ0dfQ0xSXzFYX1JBS0VfQlJJRl9DR19DT05fQ0xSXzFYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENHX0NMUl8xWF9SQUtFX0JSSUZfQ0dfQ09OX0NMUl8xWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DTFJfMVhfUkFLRV9CUklGX0NHX0NPTl9DTFJfMVhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQ0dfQ0xSXzFYX1JBS0VfQlJJRl9DR19DT05fQ0xSXzFYX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQ0dfQ0xSXzFYX1JBS0VfQ09SRV9DR19DT05fQ0xSXzFYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENHX0NMUl8xWF9SQUtFX0NPUkVfQ0dfQ09OX0NMUl8xWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DTFJfMVhfUkFLRV9DT1JFX0NHX0NPTl9DTFJfMVhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQ0dfQ0xSXzFYX1JBS0VfQ09SRV9DR19DT05fQ0xSXzFYX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQ0dfQ09OX0RPX1JFU0VSVkVEMTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENHX0NPTl9ET19SRVNFUlZFRDExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMCkKKyNkZWZpbmUgQ0dfQ09OX0RPX1JFU0VSVkVEMTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkMpCisKKyNkZWZpbmUgQ0dfQ09OX0RPX1JBS0VfQlJJRl9DR19DT05fRE9fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENHX0NPTl9ET19SQUtFX0JSSUZfQ0dfQ09OX0RPX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DT05fRE9fUkFLRV9CUklGX0NHX0NPTl9ET19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQ0dfQ09OX0RPX1JBS0VfQlJJRl9DR19DT05fRE9fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQ0dfQ09OX0RPX1JBS0VfQ09SRV9DR19DT05fRE9fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENHX0NPTl9ET19SQUtFX0NPUkVfQ0dfQ09OX0RPX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DT05fRE9fUkFLRV9DT1JFX0NHX0NPTl9ET19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQ0dfQ09OX0RPX1JBS0VfQ09SRV9DR19DT05fRE9fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQ0dfU0VUX0RPX1JFU0VSVkVEMTJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENHX1NFVF9ET19SRVNFUlZFRDEyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMCkKKyNkZWZpbmUgQ0dfU0VUX0RPX1JFU0VSVkVEMTJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkMpCisKKyNkZWZpbmUgQ0dfU0VUX0RPX1JBS0VfQlJJRl9DR19DT05fU0VUX0RPX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENHX1NFVF9ET19SQUtFX0JSSUZfQ0dfQ09OX1NFVF9ET19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19TRVRfRE9fUkFLRV9CUklGX0NHX0NPTl9TRVRfRE9fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQ0dfU0VUX0RPX1JBS0VfQlJJRl9DR19DT05fU0VUX0RPX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQ0dfU0VUX0RPX1JBS0VfQ09SRV9DR19DT05fU0VUX0RPX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENHX1NFVF9ET19SQUtFX0NPUkVfQ0dfQ09OX1NFVF9ET19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19TRVRfRE9fUkFLRV9DT1JFX0NHX0NPTl9TRVRfRE9fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQ0dfU0VUX0RPX1JBS0VfQ09SRV9DR19DT05fU0VUX0RPX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQ0dfQ0xSX0RPX1JFU0VSVkVEMTNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENHX0NMUl9ET19SRVNFUlZFRDEzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMCkKKyNkZWZpbmUgQ0dfQ0xSX0RPX1JFU0VSVkVEMTNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkMpCisKKyNkZWZpbmUgQ0dfQ0xSX0RPX1JBS0VfQlJJRl9DR19DT05fQ0xSX0RPX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENHX0NMUl9ET19SQUtFX0JSSUZfQ0dfQ09OX0NMUl9ET19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DTFJfRE9fUkFLRV9CUklGX0NHX0NPTl9DTFJfRE9fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQ0dfQ0xSX0RPX1JBS0VfQlJJRl9DR19DT05fQ0xSX0RPX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQ0dfQ0xSX0RPX1JBS0VfQ09SRV9DR19DT05fQ0xSX0RPX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENHX0NMUl9ET19SQUtFX0NPUkVfQ0dfQ09OX0NMUl9ET19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DTFJfRE9fUkFLRV9DT1JFX0NHX0NPTl9DTFJfRE9fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQ0dfQ0xSX0RPX1JBS0VfQ09SRV9DR19DT05fQ0xSX0RPX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQ0dfQ09OX0NPTUJfUkVTRVJWRUQxNF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENHX0NPTl9DT01CX1JFU0VSVkVEMTRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMCkKKyNkZWZpbmUgQ0dfQ09OX0NPTUJfUkVTRVJWRUQxNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkMpCisKKyNkZWZpbmUgQ0dfQ09OX0NPTUJfUkFLRV9CUklGX0NHX0NPTl9DT01CX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENHX0NPTl9DT01CX1JBS0VfQlJJRl9DR19DT05fQ09NQl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DT05fQ09NQl9SQUtFX0JSSUZfQ0dfQ09OX0NPTUJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQ0dfQ09OX0NPTUJfUkFLRV9CUklGX0NHX0NPTl9DT01CX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQ0dfQ09OX0NPTUJfUkFLRV9DT1JFX0NHX0NPTl9DT01CX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENHX0NPTl9DT01CX1JBS0VfQ09SRV9DR19DT05fQ09NQl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DT05fQ09NQl9SQUtFX0NPUkVfQ0dfQ09OX0NPTUJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQ0dfQ09OX0NPTUJfUkFLRV9DT1JFX0NHX0NPTl9DT01CX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQVhJX0JVU19DRkdfUkVTRVJWRUQxNV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIEFYSV9CVVNfQ0ZHX1JFU0VSVkVEMTVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNykKKyNkZWZpbmUgQVhJX0JVU19DRkdfUkVTRVJWRUQxNV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRTApCisKKyNkZWZpbmUgQVhJX0JVU19DRkdfU0FNUF9TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIEFYSV9CVVNfQ0ZHX1NBTVBfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBBWElfQlVTX0NGR19TQU1QX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgQVhJX0JVU19DRkdfU0FNUF9TRUxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgQVhJX0JVU19DRkdfU0xWX1NZTkNfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIEFYSV9CVVNfQ0ZHX1NMVl9TWU5DX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBBWElfQlVTX0NGR19TTFZfU1lOQ19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwQykKKworI2RlZmluZSBBWElfQlVTX0NGR19NU1RfU1lOQ19TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQVhJX0JVU19DRkdfTVNUX1NZTkNfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIEFYSV9CVVNfQ0ZHX01TVF9TWU5DX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAzKQorCisjZGVmaW5lIFJBS0VfUE1fQ0hLX1JBS0VfUE1fQ0hLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSQUtFX1BNX0NIS19SQUtFX1BNX0NIS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFJBS0VfUE1fQ0hLX1JBS0VfUE1fQ0hLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFJBS0VfRE1fQ0hLX1JBS0VfRE1fQ0hLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSQUtFX0RNX0NIS19SQUtFX0RNX0NIS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFJBS0VfRE1fQ0hLX1JBS0VfRE1fQ0hLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFJBS0VfQ0xLQ05UX0NUUkxfUkFLRV9DTEtDTlRfRFVNUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX0NMS0NOVF9DVFJMX1JBS0VfQ0xLQ05UX0RVTVBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkFLRV9DTEtDTlRfQ1RSTF9SQUtFX0NMS0NOVF9EVU1QX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFJBS0VfQ0xLQ05UX0NUUkxfUkFLRV9DTEtDTlRfRFVNUF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFJBS0VfQ0xLQ05UX0NUUkxfUkFLRV9DTEtDTlRfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSQUtFX0NMS0NOVF9DVFJMX1JBS0VfQ0xLQ05UX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkFLRV9DTEtDTlRfQ1RSTF9SQUtFX0NMS0NOVF9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJBS0VfQ0xLQ05UX0NUUkxfUkFLRV9DTEtDTlRfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJBS0VfQ0tfQ0xLQ05UX1JBS0VfQ0tfQ0xLQ05UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSQUtFX0NLX0NMS0NOVF9SQUtFX0NLX0NMS0NOVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFJBS0VfQ0tfQ0xLQ05UX1JBS0VfQ0tfQ0xLQ05UX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFJBS0VfSUNfRElWM19DTEtDTlRfUkFLRV9JQ19ESVYzX0NMS0NOVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSQUtFX0lDX0RJVjNfQ0xLQ05UX1JBS0VfSUNfRElWM19DTEtDTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFJBS0VfSUNfRElWM19DTEtDTlRfUkFLRV9JQ19ESVYzX0NMS0NOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFJBS0VfSUNfMzJYX0NMS0NOVF9SQUtFX0lDXzMyWF9DTEtDTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSQUtFX0lDXzMyWF9DTEtDTlRfUkFLRV9JQ18zMlhfQ0xLQ05UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFJBS0VfSUNfMzJYX0NMS0NOVF9SQUtFX0lDXzMyWF9DTEtDTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFJBS0VfSUNfOFhfQ0xLQ05UX1JBS0VfSUNfOFhfQ0xLQ05UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSQUtFX0lDXzhYX0NMS0NOVF9SQUtFX0lDXzhYX0NMS0NOVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFJBS0VfSUNfOFhfQ0xLQ05UX1JBS0VfSUNfOFhfQ0xLQ05UX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFJBS0VfREJHQlVTX01VWF9SQUtFX0RCR0JVU19NVVhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSQUtFX0RCR0JVU19NVVhfUkFLRV9EQkdCVVNfTVVYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUkFLRV9EQkdCVVNfTVVYX1JBS0VfREJHQlVTX01VWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgUkFLRV9EVU1NWV9SRUdfUkFLRV9EVU1NWV9SRUdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJBS0VfRFVNTVlfUkVHX1JBS0VfRFVNTVlfUkVHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgUkFLRV9EVU1NWV9SRUdfUkFLRV9EVU1NWV9SRUdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKworI2VuZGlmIC8qI2lmbmRlZiBfQ1BIX1JBS0VTWVNfR0xCX0NPTl9SRUdfSF8qLwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhyYWtlc3lzZ2xiY29ucmVnXzk3LmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BocmFrZXN5c2dsYmNvbnJlZ185Ny5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI2N2U2YzIKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BocmFrZXN5c2dsYmNvbnJlZ185Ny5oCkBAIC0wLDAgKzEsNTA0IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfQ1BIX1JBS0VTWVNfR0xCX0NPTl9SRUdfSF8KKyNkZWZpbmUgX0NQSF9SQUtFU1lTX0dMQl9DT05fUkVHX0hfCisKKwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogU1JBTUFERFI7ICAgICAgICAgLyogU1JBTSBhZGRyIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBTUkFNREFUQTsgICAgICAgICAvKiBTUkFNIGRhdGEgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIEFQQkFERFI7ICAgICAgICAgIC8qIEFQQiBhZGRyIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgQVBCREFUQTsgICAgICAgICAgLyogQVBCIGRhdGEgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqICBBUEJBRERSMzI7ICAgICAgICAvKiBBUEIgYWRkciBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAgIEFQQkRBVEEzMjsgICAgICAgIC8qIEFQQiBkYXRhIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogRFBSQU1BRERSOyAgICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHNpZ25lZCAgIHNob3J0KiBEUFJBTUFERFJfUzsgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIERQUkFNREFUQTsgICAgICAgIC8qIERQUkFNIGRhdGEgaXMgMTYgYml0cyAqLworCisKKyNkZWZpbmUgUkFLRVNZU19HTE9CQUxfQ09OX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QUNFMDAwMDApCisKKworI2RlZmluZSBSQUtFU1lTX0dMT0JBTF9DT05fZW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoUkFLRVNZU19HTE9CQUxfQ09OX1JFR19CQVNFICsgMHhjMCArIDEqNCkKKworCisKKworI2RlZmluZSBSQUtFX1BXUl9BV0FSRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUkFLRVNZU19HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwKSkKKyNkZWZpbmUgQ0dfQ09OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJBS0VTWVNfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4NCkpCisjZGVmaW5lIENHX1NFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSQUtFU1lTX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDgpKQorI2RlZmluZSBDR19DTFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUkFLRVNZU19HTE9CQUxfQ09OX1JFR19CQVNFICsgMHhDKSkKKyNkZWZpbmUgQ0dfQ09OXzFYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJBS0VTWVNfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MTApKQorI2RlZmluZSBDR19TRVRfMVggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUkFLRVNZU19HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgxNCkpCisjZGVmaW5lIENHX0NMUl8xWCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSQUtFU1lTX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDE4KSkKKyNkZWZpbmUgQ0dfQ09OX0RPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJBS0VTWVNfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MjApKQorI2RlZmluZSBDR19TRVRfRE8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUkFLRVNZU19HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgyNCkpCisjZGVmaW5lIENHX0NMUl9ETyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSQUtFU1lTX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDI4KSkKKyNkZWZpbmUgQ0dfQ09OX0NPTUIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJBS0VTWVNfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MzApKQorI2RlZmluZSBDR19DT05fUkVTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUkFLRVNZU19HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgzNCkpCisjZGVmaW5lIENHX1NFVF9SRVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSQUtFU1lTX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDM4KSkKKyNkZWZpbmUgQ0dfQ0xSX1JFUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJBS0VTWVNfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4M0MpKQorI2RlZmluZSBBWElfQlVTX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUkFLRVNZU19HTE9CQUxfQ09OX1JFR19CQVNFICsgMHg0MCkpCisjZGVmaW5lIFJBS0VfUE1fQ0hLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSQUtFU1lTX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDUwKSkKKyNkZWZpbmUgUkFLRV9ETV9DSEsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJBS0VTWVNfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4NTQpKQorI2RlZmluZSBSQUtFX0NMS0NOVF9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUkFLRVNZU19HTE9CQUxfQ09OX1JFR19CQVNFICsgMHg2MCkpCisjZGVmaW5lIFJBS0VfQ0tfQ0xLQ05UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSQUtFU1lTX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDY0KSkKKyNkZWZpbmUgUkFLRV9JQ19ESVYzX0NMS0NOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJBS0VTWVNfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4NjgpKQorI2RlZmluZSBSQUtFX0lDXzMyWF9DTEtDTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUkFLRVNZU19HTE9CQUxfQ09OX1JFR19CQVNFICsgMHg2QykpCisjZGVmaW5lIFJBS0VfSUNfOFhfQ0xLQ05UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSQUtFU1lTX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDcwKSkKKyNkZWZpbmUgUkFLRV9EQkdCVVNfTVVYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJBS0VTWVNfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4ODApKQorI2RlZmluZSBSQUtFX0RVTU1ZX1JFRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUkFLRVNZU19HTE9CQUxfQ09OX1JFR19CQVNFICsgMHg5MCkpCisjZGVmaW5lIFJBS0VfQ1BVX1NXX1JFU0VUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSQUtFU1lTX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweGEwKSkKKyNkZWZpbmUgQVhJMlNSQU1fU1RBVFVTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJBS0VTWVNfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4YjApKQorI2RlZmluZSBTQ1FfQVhJMlNSQU1fQkZBQkxFX0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUkFLRVNZU19HTE9CQUxfQ09OX1JFR19CQVNFICsgMHhjMCkpCisKKworI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SRVNFUlZFRDRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JFU0VSVkVENF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkVTRVJWRUQ0X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZFMDAwMDApCisKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkVTRVJWRUQzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SRVNFUlZFRDNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkVTRVJWRUQzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JFU0VSVkVEM19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX0JVU19BVEJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOSkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfQlVTX0FUQl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX0JVU19BVEJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDgwMDAwKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9CVVNfQVRCX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDA4MDAwMCkKKworI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SRVNFUlZFRDJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JFU0VSVkVEMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SRVNFUlZFRDJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDA3QzAwMCkKKworI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0FYSV9CVVNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfQVhJX0JVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0FYSV9CVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9BWElfQlVTX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9MT0dUT1BfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0xPR1RPUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9MT0dUT1BfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfTE9HVE9QX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfRFNQTE9HX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9EU1BMT0dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfRFNQTE9HX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0RTUExPR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKworI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SRVNFUlZFRDFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JFU0VSVkVEMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SRVNFUlZFRDFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkVTRVJWRUQxX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9SMkJfRE1BX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfUjJCX0RNQV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX1IyQl9ETUFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9SMkJfRE1BX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9MT0FERVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfTE9BREVSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0xPQURFUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9MT0FERVJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9JTlNUX0RFQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfSU5TVF9ERUNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0lOU1RfREVDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9JTlNUX0RFQ19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9CUklGX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfQlJJRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0JSSUZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9CUklGX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkVTRVJWRUQwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JFU0VSVkVEMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SRVNFUlZFRDBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkVTRVJWRUQwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9FWFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfRVhUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0VYVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9FWFRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9ERVNQX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfREVTUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0RFU1BfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9ERVNQX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9ERVNJR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfREVTSUdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0RFU0lHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9ERVNJR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9DUElDSF9BQ0NfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfQ1BJQ0hfQUNDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0NQSUNIX0FDQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9DUElDSF9BQ0NfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9BQ0NfQlVTX0lOVEZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJBS0VfUFdSX0FXQVJFX1JBS0VfQUNDX0JVU19JTlRGX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX1BXUl9BV0FSRV9SQUtFX0FDQ19CVVNfSU5URl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUkFLRV9QV1JfQVdBUkVfUkFLRV9BQ0NfQlVTX0lOVEZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQ0dfQ09OX1JFU0VSVkVENV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIENHX0NPTl9SRVNFUlZFRDVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyOSkKKyNkZWZpbmUgQ0dfQ09OX1JFU0VSVkVENV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRjgpCisKKyNkZWZpbmUgQ0dfQ09OX1JBS0VfTUVNX0NHX0NPTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENHX0NPTl9SQUtFX01FTV9DR19DT05fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DT05fUkFLRV9NRU1fQ0dfQ09OX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgQ0dfQ09OX1JBS0VfTUVNX0NHX0NPTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgQ0dfQ09OX1JBS0VfQlJJRl9DR19DT05fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENHX0NPTl9SQUtFX0JSSUZfQ0dfQ09OX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DT05fUkFLRV9CUklGX0NHX0NPTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQ0dfQ09OX1JBS0VfQlJJRl9DR19DT05fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQ0dfQ09OX1JBS0VfQ09SRV9DR19DT05fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENHX0NPTl9SQUtFX0NPUkVfQ0dfQ09OX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DT05fUkFLRV9DT1JFX0NHX0NPTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQ0dfQ09OX1JBS0VfQ09SRV9DR19DT05fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQ0dfU0VUX1JFU0VSVkVENl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIENHX1NFVF9SRVNFUlZFRDZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyOSkKKyNkZWZpbmUgQ0dfU0VUX1JFU0VSVkVENl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRjgpCisKKyNkZWZpbmUgQ0dfU0VUX1JBS0VfTUVNX0NHX0NPTl9TRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENHX1NFVF9SQUtFX01FTV9DR19DT05fU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19TRVRfUkFLRV9NRU1fQ0dfQ09OX1NFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgQ0dfU0VUX1JBS0VfTUVNX0NHX0NPTl9TRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgQ0dfU0VUX1JBS0VfQlJJRl9DR19DT05fU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENHX1NFVF9SQUtFX0JSSUZfQ0dfQ09OX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19TRVRfUkFLRV9CUklGX0NHX0NPTl9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQ0dfU0VUX1JBS0VfQlJJRl9DR19DT05fU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQ0dfU0VUX1JBS0VfQ09SRV9DR19DT05fU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENHX1NFVF9SQUtFX0NPUkVfQ0dfQ09OX1NFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19TRVRfUkFLRV9DT1JFX0NHX0NPTl9TRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQ0dfU0VUX1JBS0VfQ09SRV9DR19DT05fU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQ0dfQ0xSX1JFU0VSVkVEN19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIENHX0NMUl9SRVNFUlZFRDdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyOSkKKyNkZWZpbmUgQ0dfQ0xSX1JFU0VSVkVEN19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRjgpCisKKyNkZWZpbmUgQ0dfQ0xSX1JBS0VfQlJJRl9DR19DT05fQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENHX0NMUl9SQUtFX0JSSUZfQ0dfQ09OX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DTFJfUkFLRV9CUklGX0NHX0NPTl9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgQ0dfQ0xSX1JBS0VfQlJJRl9DR19DT05fQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgQ0dfQ0xSX3Jha2VfYnJpZl9jZ19jb25fY2xyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENHX0NMUl9yYWtlX2JyaWZfY2dfY29uX2Nscl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DTFJfcmFrZV9icmlmX2NnX2Nvbl9jbHJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQ0dfQ0xSX3Jha2VfYnJpZl9jZ19jb25fY2xyX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQ0dfQ0xSX1JBS0VfQ09SRV9DR19DT05fQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENHX0NMUl9SQUtFX0NPUkVfQ0dfQ09OX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DTFJfUkFLRV9DT1JFX0NHX0NPTl9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQ0dfQ0xSX1JBS0VfQ09SRV9DR19DT05fQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQ0dfQ09OXzFYX1JFU0VSVkVEOF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIENHX0NPTl8xWF9SRVNFUlZFRDhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyOSkKKyNkZWZpbmUgQ0dfQ09OXzFYX1JFU0VSVkVEOF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRjgpCisKKyNkZWZpbmUgQ0dfQ09OXzFYX1JBS0VfTUVNX0NHX0NPTl8xWF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENHX0NPTl8xWF9SQUtFX01FTV9DR19DT05fMVhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DT05fMVhfUkFLRV9NRU1fQ0dfQ09OXzFYX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgQ0dfQ09OXzFYX1JBS0VfTUVNX0NHX0NPTl8xWF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgQ0dfQ09OXzFYX1JBS0VfQlJJRl9DR19DT05fMVhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENHX0NPTl8xWF9SQUtFX0JSSUZfQ0dfQ09OXzFYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DT05fMVhfUkFLRV9CUklGX0NHX0NPTl8xWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQ0dfQ09OXzFYX1JBS0VfQlJJRl9DR19DT05fMVhfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQ0dfQ09OXzFYX1JBS0VfQ09SRV9DR19DT05fMVhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENHX0NPTl8xWF9SQUtFX0NPUkVfQ0dfQ09OXzFYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DT05fMVhfUkFLRV9DT1JFX0NHX0NPTl8xWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQ0dfQ09OXzFYX1JBS0VfQ09SRV9DR19DT05fMVhfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQ0dfU0VUXzFYX1JFU0VSVkVEOV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIENHX1NFVF8xWF9SRVNFUlZFRDlfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyOSkKKyNkZWZpbmUgQ0dfU0VUXzFYX1JFU0VSVkVEOV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRjgpCisKKyNkZWZpbmUgQ0dfU0VUXzFYX1JBS0VfTUVNX0NHX0NPTl9TRVRfMVhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENHX1NFVF8xWF9SQUtFX01FTV9DR19DT05fU0VUXzFYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19TRVRfMVhfUkFLRV9NRU1fQ0dfQ09OX1NFVF8xWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgQ0dfU0VUXzFYX1JBS0VfTUVNX0NHX0NPTl9TRVRfMVhfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgQ0dfU0VUXzFYX1JBS0VfQlJJRl9DR19DT05fU0VUXzFYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENHX1NFVF8xWF9SQUtFX0JSSUZfQ0dfQ09OX1NFVF8xWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19TRVRfMVhfUkFLRV9CUklGX0NHX0NPTl9TRVRfMVhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQ0dfU0VUXzFYX1JBS0VfQlJJRl9DR19DT05fU0VUXzFYX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQ0dfU0VUXzFYX1JBS0VfQ09SRV9DR19DT05fU0VUXzFYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENHX1NFVF8xWF9SQUtFX0NPUkVfQ0dfQ09OX1NFVF8xWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19TRVRfMVhfUkFLRV9DT1JFX0NHX0NPTl9TRVRfMVhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQ0dfU0VUXzFYX1JBS0VfQ09SRV9DR19DT05fU0VUXzFYX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQ0dfQ0xSXzFYX1JFU0VSVkVEMTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIENHX0NMUl8xWF9SRVNFUlZFRDEwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyOSkKKyNkZWZpbmUgQ0dfQ0xSXzFYX1JFU0VSVkVEMTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRjgpCisKKyNkZWZpbmUgQ0dfQ0xSXzFYX1JBS0VfTUVNX0NHX0NPTl9DTFJfMVhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENHX0NMUl8xWF9SQUtFX01FTV9DR19DT05fQ0xSXzFYX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DTFJfMVhfUkFLRV9NRU1fQ0dfQ09OX0NMUl8xWF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgQ0dfQ0xSXzFYX1JBS0VfTUVNX0NHX0NPTl9DTFJfMVhfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgQ0dfQ0xSXzFYX1JBS0VfQlJJRl9DR19DT05fQ0xSXzFYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENHX0NMUl8xWF9SQUtFX0JSSUZfQ0dfQ09OX0NMUl8xWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DTFJfMVhfUkFLRV9CUklGX0NHX0NPTl9DTFJfMVhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQ0dfQ0xSXzFYX1JBS0VfQlJJRl9DR19DT05fQ0xSXzFYX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQ0dfQ0xSXzFYX1JBS0VfQ09SRV9DR19DT05fQ0xSXzFYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENHX0NMUl8xWF9SQUtFX0NPUkVfQ0dfQ09OX0NMUl8xWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DTFJfMVhfUkFLRV9DT1JFX0NHX0NPTl9DTFJfMVhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQ0dfQ0xSXzFYX1JBS0VfQ09SRV9DR19DT05fQ0xSXzFYX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQ0dfQ09OX0RPX1JFU0VSVkVEMTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIENHX0NPTl9ET19SRVNFUlZFRDExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyOSkKKyNkZWZpbmUgQ0dfQ09OX0RPX1JFU0VSVkVEMTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRjgpCisKKyNkZWZpbmUgQ0dfQ09OX0RPX1JBS0VfTUVNX0NHX0NPTl9ET19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENHX0NPTl9ET19SQUtFX01FTV9DR19DT05fRE9fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DT05fRE9fUkFLRV9NRU1fQ0dfQ09OX0RPX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgQ0dfQ09OX0RPX1JBS0VfTUVNX0NHX0NPTl9ET19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgQ0dfQ09OX0RPX1JBS0VfQlJJRl9DR19DT05fRE9fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENHX0NPTl9ET19SQUtFX0JSSUZfQ0dfQ09OX0RPX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DT05fRE9fUkFLRV9CUklGX0NHX0NPTl9ET19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQ0dfQ09OX0RPX1JBS0VfQlJJRl9DR19DT05fRE9fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQ0dfQ09OX0RPX1JBS0VfQ09SRV9DR19DT05fRE9fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENHX0NPTl9ET19SQUtFX0NPUkVfQ0dfQ09OX0RPX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DT05fRE9fUkFLRV9DT1JFX0NHX0NPTl9ET19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQ0dfQ09OX0RPX1JBS0VfQ09SRV9DR19DT05fRE9fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQ0dfU0VUX0RPX1JFU0VSVkVEMTJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIENHX1NFVF9ET19SRVNFUlZFRDEyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyOSkKKyNkZWZpbmUgQ0dfU0VUX0RPX1JFU0VSVkVEMTJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRjgpCisKKyNkZWZpbmUgQ0dfU0VUX0RPX1JBS0VfTUVNX0NHX0NPTl9TRVRfRE9fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENHX1NFVF9ET19SQUtFX01FTV9DR19DT05fU0VUX0RPX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19TRVRfRE9fUkFLRV9NRU1fQ0dfQ09OX1NFVF9ET19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgQ0dfU0VUX0RPX1JBS0VfTUVNX0NHX0NPTl9TRVRfRE9fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgQ0dfU0VUX0RPX1JBS0VfQlJJRl9DR19DT05fU0VUX0RPX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENHX1NFVF9ET19SQUtFX0JSSUZfQ0dfQ09OX1NFVF9ET19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19TRVRfRE9fUkFLRV9CUklGX0NHX0NPTl9TRVRfRE9fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQ0dfU0VUX0RPX1JBS0VfQlJJRl9DR19DT05fU0VUX0RPX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQ0dfU0VUX0RPX1JBS0VfQ09SRV9DR19DT05fU0VUX0RPX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENHX1NFVF9ET19SQUtFX0NPUkVfQ0dfQ09OX1NFVF9ET19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19TRVRfRE9fUkFLRV9DT1JFX0NHX0NPTl9TRVRfRE9fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQ0dfU0VUX0RPX1JBS0VfQ09SRV9DR19DT05fU0VUX0RPX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQ0dfQ0xSX0RPX1JFU0VSVkVEMTNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIENHX0NMUl9ET19SRVNFUlZFRDEzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyOSkKKyNkZWZpbmUgQ0dfQ0xSX0RPX1JFU0VSVkVEMTNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRjgpCisKKyNkZWZpbmUgQ0dfQ0xSX0RPX1JBS0VfTUVNX0NHX0NPTl9DTFJfRE9fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIENHX0NMUl9ET19SQUtFX01FTV9DR19DT05fQ0xSX0RPX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DTFJfRE9fUkFLRV9NRU1fQ0dfQ09OX0NMUl9ET19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgQ0dfQ0xSX0RPX1JBS0VfTUVNX0NHX0NPTl9DTFJfRE9fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgQ0dfQ0xSX0RPX1JBS0VfQlJJRl9DR19DT05fQ0xSX0RPX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENHX0NMUl9ET19SQUtFX0JSSUZfQ0dfQ09OX0NMUl9ET19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DTFJfRE9fUkFLRV9CUklGX0NHX0NPTl9DTFJfRE9fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQ0dfQ0xSX0RPX1JBS0VfQlJJRl9DR19DT05fQ0xSX0RPX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQ0dfQ0xSX0RPX1JBS0VfQ09SRV9DR19DT05fQ0xSX0RPX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENHX0NMUl9ET19SQUtFX0NPUkVfQ0dfQ09OX0NMUl9ET19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DTFJfRE9fUkFLRV9DT1JFX0NHX0NPTl9DTFJfRE9fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQ0dfQ0xSX0RPX1JBS0VfQ09SRV9DR19DT05fQ0xSX0RPX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQ0dfQ09OX0NPTUJfUkVTRVJWRUQxNF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIENHX0NPTl9DT01CX1JFU0VSVkVEMTRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyOSkKKyNkZWZpbmUgQ0dfQ09OX0NPTUJfUkVTRVJWRUQxNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRjgpCisKKworI2RlZmluZSBDR19DT05fQ09NQl9SQUtFX01FTV9DR19DT05fQ09NQl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQ0dfQ09OX0NPTUJfUkFLRV9NRU1fQ0dfQ09OX0NPTUJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENHX0NPTl9DT01CX1JBS0VfTUVNX0NHX0NPTl9DT01CX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBDR19DT05fQ09NQl9SQUtFX01FTV9DR19DT05fQ09NQl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBDR19DT05fQ09NQl9SQUtFX0JSSUZfQ0dfQ09OX0NPTUJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ0dfQ09OX0NPTUJfUkFLRV9CUklGX0NHX0NPTl9DT01CX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENHX0NPTl9DT01CX1JBS0VfQlJJRl9DR19DT05fQ09NQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBDR19DT05fQ09NQl9SQUtFX0JSSUZfQ0dfQ09OX0NPTUJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBDR19DT05fQ09NQl9SQUtFX0NPUkVfQ0dfQ09OX0NPTUJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ0dfQ09OX0NPTUJfUkFLRV9DT1JFX0NHX0NPTl9DT01CX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENHX0NPTl9DT01CX1JBS0VfQ09SRV9DR19DT05fQ09NQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBDR19DT05fQ09NQl9SQUtFX0NPUkVfQ0dfQ09OX0NPTUJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBDR19DT05fUkVTX1JFU0VSVkVEMTVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgQ0dfQ09OX1JFU19SRVNFUlZFRDE1X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI5KQorI2RlZmluZSBDR19DT05fUkVTX1JFU0VSVkVEMTVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGOCkKKworI2RlZmluZSBDR19DT05fUkVTX1JBS0VfTUVNX0NHX0NPTl9SRVNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQ0dfQ09OX1JFU19SQUtFX01FTV9DR19DT05fUkVTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENHX0NPTl9SRVNfUkFLRV9NRU1fQ0dfQ09OX1JFU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBDR19DT05fUkVTX1JBS0VfTUVNX0NHX0NPTl9SRVNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBDR19DT05fUkVTX1JBS0VfQlJJRl9DR19DT05fUkVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ0dfQ09OX1JFU19SQUtFX0JSSUZfQ0dfQ09OX1JFU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENHX0NPTl9SRVNfUkFLRV9CUklGX0NHX0NPTl9SRVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBDR19DT05fUkVTX1JBS0VfQlJJRl9DR19DT05fUkVTX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBDR19DT05fUkVTX1JBS0VfQ09SRV9DR19DT05fUkVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQ0dfQ09OX1JFU19SQUtFX0NPUkVfQ0dfQ09OX1JFU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENHX0NPTl9SRVNfUkFLRV9DT1JFX0NHX0NPTl9SRVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBDR19DT05fUkVTX1JBS0VfQ09SRV9DR19DT05fUkVTX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBDR19TRVRfUkVTX1JFU0VSVkVEMTZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgQ0dfU0VUX1JFU19SRVNFUlZFRDE2X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI5KQorI2RlZmluZSBDR19TRVRfUkVTX1JFU0VSVkVEMTZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGOCkKKworI2RlZmluZSBDR19TRVRfUkVTX1JBS0VfTUVNX0NHX0NPTl9TRVRfUkVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQ0dfU0VUX1JFU19SQUtFX01FTV9DR19DT05fU0VUX1JFU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENHX1NFVF9SRVNfUkFLRV9NRU1fQ0dfQ09OX1NFVF9SRVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBDR19TRVRfUkVTX1JBS0VfTUVNX0NHX0NPTl9TRVRfUkVTX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBDR19TRVRfUkVTX1JBS0VfQlJJRl9DR19DT05fU0VUX1JFU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ0dfU0VUX1JFU19SQUtFX0JSSUZfQ0dfQ09OX1NFVF9SRVNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIENHX1NFVF9SRVNfUkFLRV9CUklGX0NHX0NPTl9TRVRfUkVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBDR19TRVRfUkVTX1JBS0VfQlJJRl9DR19DT05fU0VUX1JFU19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworCisjZGVmaW5lIENHX1NFVF9SRVNfUkFLRV9DT1JFX0NHX0NPTl9TRVRfUkVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBDR19TRVRfUkVTX1JBS0VfQ09SRV9DR19DT05fU0VUX1JFU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ0dfU0VUX1JFU19SQUtFX0NPUkVfQ0dfQ09OX1NFVF9SRVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIENHX1NFVF9SRVNfUkFLRV9DT1JFX0NHX0NPTl9TRVRfUkVTX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIENHX0NMUl9SRVNfUkVTRVJWRUQxN19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBDR19DTFJfUkVTX1JFU0VSVkVEMTdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjkpCisjZGVmaW5lIENHX0NMUl9SRVNfUkVTRVJWRUQxN19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkY4KQorCisjZGVmaW5lIENHX0NMUl9SRVNfUkFLRV9NRU1fQ0dfQ09OX0NMUl9SRVNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBDR19DTFJfUkVTX1JBS0VfTUVNX0NHX0NPTl9DTFJfUkVTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ0dfQ0xSX1JFU19SQUtFX01FTV9DR19DT05fQ0xSX1JFU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIENHX0NMUl9SRVNfUkFLRV9NRU1fQ0dfQ09OX0NMUl9SRVNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIENHX0NMUl9SRVNfUkFLRV9CUklGX0NHX0NPTl9DTFJfUkVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDR19DTFJfUkVTX1JBS0VfQlJJRl9DR19DT05fQ0xSX1JFU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ0dfQ0xSX1JFU19SQUtFX0JSSUZfQ0dfQ09OX0NMUl9SRVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIENHX0NMUl9SRVNfUkFLRV9CUklGX0NHX0NPTl9DTFJfUkVTX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIENHX0NMUl9SRVNfUkFLRV9DT1JFX0NHX0NPTl9DTFJfUkVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBDR19DTFJfUkVTX1JBS0VfQ09SRV9DR19DT05fQ0xSX1JFU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQ0dfQ0xSX1JFU19SQUtFX0NPUkVfQ0dfQ09OX0NMUl9SRVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIENHX0NMUl9SRVNfUkFLRV9DT1JFX0NHX0NPTl9DTFJfUkVTX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEFYSV9CVVNfQ0ZHX1JFU0VSVkVEMThfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBBWElfQlVTX0NGR19SRVNFUlZFRDE4X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjcpCisjZGVmaW5lIEFYSV9CVVNfQ0ZHX1JFU0VSVkVEMThfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkUwKQorCisjZGVmaW5lIEFYSV9CVVNfQ0ZHX1NBTVBfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBBWElfQlVTX0NGR19TQU1QX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQVhJX0JVU19DRkdfU0FNUF9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIEFYSV9CVVNfQ0ZHX1NBTVBfU0VMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIEFYSV9CVVNfQ0ZHX1NMVl9TWU5DX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBBWElfQlVTX0NGR19TTFZfU1lOQ19TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgQVhJX0JVU19DRkdfU0xWX1NZTkNfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEMpCisKKyNkZWZpbmUgQVhJX0JVU19DRkdfTVNUX1NZTkNfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEFYSV9CVVNfQ0ZHX01TVF9TWU5DX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBBWElfQlVTX0NGR19NU1RfU1lOQ19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMykKKworI2RlZmluZSBSQUtFX1BNX0NIS19SQUtFX1BNX0NIS19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUkFLRV9QTV9DSEtfUkFLRV9QTV9DSEtfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBSQUtFX1BNX0NIS19SQUtFX1BNX0NIS19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBSQUtFX0RNX0NIS19SQUtFX0RNX0NIS19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUkFLRV9ETV9DSEtfUkFLRV9ETV9DSEtfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBSQUtFX0RNX0NIS19SQUtFX0RNX0NIS19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBSQUtFX0NMS0NOVF9DVFJMX1JBS0VfQ0xLQ05UX0RVTVBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkFLRV9DTEtDTlRfQ1RSTF9SQUtFX0NMS0NOVF9EVU1QX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJBS0VfQ0xLQ05UX0NUUkxfUkFLRV9DTEtDTlRfRFVNUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBSQUtFX0NMS0NOVF9DVFJMX1JBS0VfQ0xLQ05UX0RVTVBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBSQUtFX0NMS0NOVF9DVFJMX1JBS0VfQ0xLQ05UX0NMUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUkFLRV9DTEtDTlRfQ1RSTF9SQUtFX0NMS0NOVF9DTFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJBS0VfQ0xLQ05UX0NUUkxfUkFLRV9DTEtDTlRfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSQUtFX0NMS0NOVF9DVFJMX1JBS0VfQ0xLQ05UX0NMUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSQUtFX0NLX0NMS0NOVF9SQUtFX0NLX0NMS0NOVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUkFLRV9DS19DTEtDTlRfUkFLRV9DS19DTEtDTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBSQUtFX0NLX0NMS0NOVF9SQUtFX0NLX0NMS0NOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBSQUtFX0lDX0RJVjNfQ0xLQ05UX1JBS0VfSUNfRElWM19DTEtDTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUkFLRV9JQ19ESVYzX0NMS0NOVF9SQUtFX0lDX0RJVjNfQ0xLQ05UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBSQUtFX0lDX0RJVjNfQ0xLQ05UX1JBS0VfSUNfRElWM19DTEtDTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBSQUtFX0lDXzMyWF9DTEtDTlRfUkFLRV9JQ18zMlhfQ0xLQ05UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUkFLRV9JQ18zMlhfQ0xLQ05UX1JBS0VfSUNfMzJYX0NMS0NOVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBSQUtFX0lDXzMyWF9DTEtDTlRfUkFLRV9JQ18zMlhfQ0xLQ05UX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBSQUtFX0lDXzhYX0NMS0NOVF9SQUtFX0lDXzhYX0NMS0NOVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUkFLRV9JQ184WF9DTEtDTlRfUkFLRV9JQ184WF9DTEtDTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBSQUtFX0lDXzhYX0NMS0NOVF9SQUtFX0lDXzhYX0NMS0NOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBSQUtFX0RCR0JVU19NVVhfUkFLRV9EQkdCVVNfTVVYX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUkFLRV9EQkdCVVNfTVVYX1JBS0VfREJHQlVTX01VWF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJBS0VfREJHQlVTX01VWF9SQUtFX0RCR0JVU19NVVhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIFJBS0VfRFVNTVlfUkVHX1JBS0VfRFVNTVlfUkVHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSQUtFX0RVTU1ZX1JFR19SQUtFX0RVTU1ZX1JFR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFJBS0VfRFVNTVlfUkVHX1JBS0VfRFVNTVlfUkVHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFJBS0VfQ1BVX1NXX1JFU0VUX1JBS0VfQ1BVX1NXX1JFU0VUX0JSSUZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSQUtFX0NQVV9TV19SRVNFVF9SQUtFX0NQVV9TV19SRVNFVF9CUklGX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkFLRV9DUFVfU1dfUkVTRVRfUkFLRV9DUFVfU1dfUkVTRVRfQlJJRl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFJBS0VfQ1BVX1NXX1JFU0VUX1JBS0VfQ1BVX1NXX1JFU0VUX0JSSUZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFJBS0VfQ1BVX1NXX1JFU0VUX1JBS0VfQ1BVX1NXX1JFU0VUX01EMzJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSQUtFX0NQVV9TV19SRVNFVF9SQUtFX0NQVV9TV19SRVNFVF9NRDMyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkFLRV9DUFVfU1dfUkVTRVRfUkFLRV9DUFVfU1dfUkVTRVRfTUQzMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJBS0VfQ1BVX1NXX1JFU0VUX1JBS0VfQ1BVX1NXX1JFU0VUX01EMzJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEFYSTJTUkFNX1NUQVRVU19BWEkyU1JBTV9TVEFUVVNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBBWEkyU1JBTV9TVEFUVVNfQVhJMlNSQU1fU1RBVFVTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIEFYSTJTUkFNX1NUQVRVU19BWEkyU1JBTV9TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFNDUV9BWEkyU1JBTV9CRkFCTEVfRU5fU0NRX0FYSTJTUkFNX0JGQUJMRV9FTl9SRUdfTFNCICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTQ1FfQVhJMlNSQU1fQkZBQkxFX0VOX1NDUV9BWEkyU1JBTV9CRkFCTEVfRU5fUkVHX1dJRFRIICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU0NRX0FYSTJTUkFNX0JGQUJMRV9FTl9TQ1FfQVhJMlNSQU1fQkZBQkxFX0VOX1JFR19NQVNLICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNDUV9BWEkyU1JBTV9CRkFCTEVfRU5fU0NRX0FYSTJTUkFNX0JGQUJMRV9FTl9SRUdfQklUICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisKKworI2VuZGlmIC8vI2lmbmRlZiBfQ1BIX1JBS0VTWVNfR0xCX0NPTl9SRUdfSF8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BocnR0dHh0aW1lcnJlZy5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHJ0dHR4dGltZXJyZWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lODAzN2ZjCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHJ0dHR4dGltZXJyZWcuaApAQCAtMCwwICsxLDM0MSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NQSF9SVFRfVFhfVElNRVJfSF8KKyNkZWZpbmUgX0NQSF9SVFRfVFhfVElNRVJfSF8KKyAgICAKK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIFNSQU1BRERSOyAgICAgICAgIC8qIFNSQU0gYWRkciBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgU1JBTURBVEE7ICAgICAgICAgLyogU1JBTSBkYXRhIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBBUEJBRERSOyAgICAgICAgICAvKiBBUEIgYWRkciBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIEFQQkRBVEE7ICAgICAgICAgIC8qIEFQQiBkYXRhIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nKiAgQVBCQUREUjMyOyAgICAgICAgLyogQVBCIGFkZHIgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgICBBUEJEQVRBMzI7ICAgICAgICAvKiBBUEIgZGF0YSBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIERQUkFNQUREUjsgICAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSBzaWduZWQgICBzaG9ydCogRFBSQU1BRERSX1M7ICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBEUFJBTURBVEE7ICAgICAgICAvKiBEUFJBTSBkYXRhIGlzIDE2IGJpdHMgKi8KKworI2lmIGRlZmluZWQoX19NRDkzX18pfHxkZWZpbmVkKF9fTUQ5NV9fKQorI2RlZmluZSBERkVfV19UVFJfUkVHX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhBNjFBMDAwMCkKKyNlbHNlCisjZGVmaW5lIERGRV9XX1RUUl9SRUdfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEE4MTgwMDAwKQorI2VuZGlmICAgCisKKyNkZWZpbmUgQzFYX1RUUl9TUl9PRkZTRVRfMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRV9XX1RUUl9SRUdfQkFTRSArIDB4MDAwMCkpCisjZGVmaW5lIEMxWF9UVFJfU1JfT0ZGU0VUXzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVfV19UVFJfUkVHX0JBU0UgKyAweDAwMDQpKQorI2RlZmluZSBDMVhfVFRSX0ZPUkNFX1RUUl9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFX1dfVFRSX1JFR19CQVNFICsgMHgwMDEwKSkKKyNkZWZpbmUgQzFYX1RUUl9QSEFTRV9BQ0NfQURKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRV9XX1RUUl9SRUdfQkFTRSArIDB4MDAyMCkpCisjZGVmaW5lIEMxWF9UVFJfVV9UWF9EQVRBX09GRlNFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVfV19UVFJfUkVHX0JBU0UgKyAweDAwMjQpKQorI2RlZmluZSBDMVhfVFRSX1JYX1RYX0xPRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFX1dfVFRSX1JFR19CQVNFICsgMHgwMDUwKSkKKyNkZWZpbmUgQzFYX1RUUl9SWF9USU1FX01PTjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRV9XX1RUUl9SRUdfQkFTRSArIDB4MDA1NCkpCisjZGVmaW5lIEMxWF9UVFJfUlhfVElNRV9NT04xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVfV19UVFJfUkVHX0JBU0UgKyAweDAwNTgpKQorI2RlZmluZSBDMVhfVFRSX1RYX1RJTUVfTU9OMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFX1dfVFRSX1JFR19CQVNFICsgMHgwMDVDKSkKKyNkZWZpbmUgQzFYX1RUUl9UWF9USU1FX01PTjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRV9XX1RUUl9SRUdfQkFTRSArIDB4MDA2MCkpCisjZGVmaW5lIEMxWF9UVFJfVFhfVElNRV9NT04yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVfV19UVFJfUkVHX0JBU0UgKyAweDAwNjQpKQorI2RlZmluZSBDMVhfVFRSX0NOVF9BREogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFX1dfVFRSX1JFR19CQVNFICsgMHgwMDY4KSkKKworI2RlZmluZSBDMVhfVFRSX0ZSQU1FX09GRlNFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFX1dfVFRSX1JFR19CQVNFICsgMHgwMDcwKSkKKyNkZWZpbmUgQzFYX1RUUl9UWFJYREVMQVkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRV9XX1RUUl9SRUdfQkFTRSArIDB4MDA3NCkpCisjZGVmaW5lIEMxWF9UVFJfUkFfRExZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVfV19UVFJfUkVHX0JBU0UgKyAweDAwNzgpKQorCisjZGVmaW5lIEMxWF9UVFJfQ1JQX1dJTl9PTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVfV19UVFJfUkVHX0JBU0UgKyAweDAwODApKQorI2RlZmluZSBDMVhfVFRSX0NSUF9XSU5fT0ZGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFX1dfVFRSX1JFR19CQVNFICsgMHgwMDg0KSkKKworI2lmIGRlZmluZWQoX19NRDkzX18pfHxkZWZpbmVkKF9fTUQ5NV9fKQorI2RlZmluZSBDMVhfVFRSX1RYREZFX1dJTl9PTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFX1dfVFRSX1JFR19CQVNFICsgMHgwMDg4KSkKKyNkZWZpbmUgQzFYX1RUUl9UWERGRV9XSU5fT0ZGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRV9XX1RUUl9SRUdfQkFTRSArIDB4MDA4QykpCisjZW5kaWYKKworI2RlZmluZSBDMVhfVFRSX1RYQ1JQX0ZJRk9fV0lOX09OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFX1dfVFRSX1JFR19CQVNFICsgMHgwMDkwKSkKKyNkZWZpbmUgQzFYX1RUUl9UWENSUF9GSUZPX1dJTl9PRkYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRV9XX1RUUl9SRUdfQkFTRSArIDB4MDA5NCkpCisKKyNpZiBkZWZpbmVkKF9fTUQ5M19fKXx8ZGVmaW5lZChfX01EOTVfXykKKyNkZWZpbmUgQzFYX1RUUl9UWERBQ19XSU5fT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRV9XX1RUUl9SRUdfQkFTRSArIDB4MDA5OCkpCisjZGVmaW5lIEMxWF9UVFJfVFhEQUNfV0lOX09GRiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVfV19UVFJfUkVHX0JBU0UgKyAweDAwOUMpKQorI2VuZGlmCisKKyNkZWZpbmUgQzFYX1RUUl9UWEJSUF9TVFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRV9XX1RUUl9SRUdfQkFTRSArIDB4MDBDMCkpCisjZGVmaW5lIEMxWF9UVFJfVFhDUlBfU1RSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVfV19UVFJfUkVHX0JBU0UgKyAweDAwQzQpKQorI2RlZmluZSBDMVhfVFRSX0tTX1NUUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFX1dfVFRSX1JFR19CQVNFICsgMHgwMEM4KSkKKworI2RlZmluZSBDMVhfVFRSX0ZSTV9CT1VOREFSWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFX1dfVFRSX1JFR19CQVNFICsgMHgwMEQwKSkKKyNkZWZpbmUgQzFYX1RUUl9ERUJVR19TVFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRV9XX1RUUl9SRUdfQkFTRSArIDB4MDBGMCkpCisKKyNpZiAoIWRlZmluZWQoX19NRDkzX18pKSYmKCFkZWZpbmVkKF9fTUQ5NV9fKSkKKyNkZWZpbmUgQzFYX1RYX1RJTUVSX1RUUl9XSU5fSU1NX09OX09GRiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRV9XX1RUUl9SRUdfQkFTRSArIDB4MDEwMCkpCisjZGVmaW5lIEMxWF9UWF9USU1FUl9UVFJfV0lOX1NDSF9PTl9VQ05UX1RSSUcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVfV19UVFJfUkVHX0JBU0UgKyAweDAxMTApKQorI2RlZmluZSBDMVhfVFhfVElNRVJfVFRSX1dJTl9TQ0hfT05fVUNOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFX1dfVFRSX1JFR19CQVNFICsgMHgwMTE0KSkKKyNkZWZpbmUgQzFYX1RYX1RJTUVSX1RUUl9XSU5fU0NIX09GRl9VQ05UX1RSSUcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRV9XX1RUUl9SRUdfQkFTRSArIDB4MDExOCkpCisjZGVmaW5lIEMxWF9UWF9USU1FUl9UVFJfV0lOX1NDSF9PRkZfVUNOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVfV19UVFJfUkVHX0JBU0UgKyAweDAxMUMpKQorI2RlZmluZSBDMVhfVFhfVElNRVJfVFRSX1dJTl9TQ0hfT05fU1RJTUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoREZFX1dfVFRSX1JFR19CQVNFICsgMHgwMTIwKSkKKyNkZWZpbmUgQzFYX1RYX1RJTUVSX1RUUl9XSU5fU0NIX09GRl9TVElNRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKERGRV9XX1RUUl9SRUdfQkFTRSArIDB4MDEyNCkpCisjZGVmaW5lIEMxWF9UWF9USU1FUl9UVFJfV0lOX0RCRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShERkVfV19UVFJfUkVHX0JBU0UgKyAweDAxMmMpKQorI2VuZGlmCisgICAgCisjZGVmaW5lIFVTRV9SWF9TUl9PZmZTRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgVVNFX1JYX1NSX09mZlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFVTRV9SWF9TUl9PZmZTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorI2RlZmluZSBVU0VfUlhfU1JfT2ZmU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBTUl9PRkZTRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1JfT0ZGU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBTUl9PRkZTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKyAgICAKKyNkZWZpbmUgVFhfQ05UX1dPX1RYX0RFTEFZX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYX0NOVF9XT19UWF9ERUxBWV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgVFhfQ05UX1dPX1RYX0RFTEFZX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkYpCisgICAgCisjZGVmaW5lIFRYX0NOVF9XX1RYX0RFTEFZX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWF9DTlRfV19UWF9ERUxBWV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFRYX0NOVF9XX1RYX0RFTEFZX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZGKQorICAgIAorI2RlZmluZSBGUkFNRV9PRkZTRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRlJBTUVfT0ZGU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBGUkFNRV9PRkZTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGRikKKyAgICAKKyNkZWZpbmUgVFhSWERFTEFZX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYUlhERUxBWV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgVFhSWERFTEFZX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkYpCisgICAgCisjZGVmaW5lIFJBX0RMWV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSQV9ETFlfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFJBX0RMWV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZGKQorCisjaWYgZGVmaW5lZChfX01EOTNfXyl8fGRlZmluZWQoX19NRDk1X18pICAgCisjZGVmaW5lIFRYREZFX1dJTl9PTl9DTVBSX09OX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyOCkKKyNkZWZpbmUgVFhERkVfV0lOX09OX0NNUFJfT05fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX1dJTl9PTl9DTVBSX09OX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDEwMDAwMDAwKQorI2RlZmluZSBUWERGRV9XSU5fT05fQ01QUl9PTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBUWERGRV9XSU5fT05fVFJHX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjcpCisjZGVmaW5lIFRYREZFX1dJTl9PTl9UUkdfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWERGRV9XSU5fT05fVFJHX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwODAwMDAwMCkKKyNkZWZpbmUgVFhERkVfV0lOX09OX1RSR19FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDgwMDAwMDApCisgICAgCisjZGVmaW5lIFRYREZFX1dJTl9PTl9TWVNURU1fVElNRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9XSU5fT05fU1lTVEVNX1RJTUVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFRYREZFX1dJTl9PTl9TWVNURU1fVElNRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZGKQorICAgIAorI2RlZmluZSBUWERGRV9XSU5fT0ZGX0NNUFJfT05fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjgpCisjZGVmaW5lIFRYREZFX1dJTl9PRkZfQ01QUl9PTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWERGRV9XSU5fT0ZGX0NNUFJfT05fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMCkKKyNkZWZpbmUgVFhERkVfV0lOX09GRl9DTVBSX09OX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMDApCisgICAgCisjZGVmaW5lIFRYREZFX1dJTl9PRkZfVFJHX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNykKKyNkZWZpbmUgVFhERkVfV0lOX09GRl9UUkdfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX1dJTl9PRkZfVFJHX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA4MDAwMDAwKQorI2RlZmluZSBUWERGRV9XSU5fT0ZGX1RSR19FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwODAwMDAwMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBUWERGRV9XSU5fT0ZGX1NZU1RFTV9USU1FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfV0lOX09GRl9TWVNURU1fVElNRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBUWERGRV9XSU5fT0ZGX1NZU1RFTV9USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGRikKKyNlbmRpZgorCisjZGVmaW5lIFRYQ1JQX0ZJRk9fV0lOX09OX0NNUFJfT05fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyOCkKKyNkZWZpbmUgVFhDUlBfRklGT19XSU5fT05fQ01QUl9PTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYQ1JQX0ZJRk9fV0lOX09OX0NNUFJfT05fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDEwMDAwMDAwKQorI2RlZmluZSBUWENSUF9GSUZPX1dJTl9PTl9DTVBSX09OX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBUWENSUF9GSUZPX1dJTl9PTl9UUkdfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjcpCisjZGVmaW5lIFRYQ1JQX0ZJRk9fV0lOX09OX1RSR19FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWENSUF9GSUZPX1dJTl9PTl9UUkdfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwODAwMDAwMCkKKyNkZWZpbmUgVFhDUlBfRklGT19XSU5fT05fVFJHX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDgwMDAwMDApCisgICAgCisjZGVmaW5lIFRYQ1JQX0ZJRk9fV0lOX09OX1NZU1RFTV9USU1FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWENSUF9GSUZPX1dJTl9PTl9TWVNURU1fVElNRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFRYQ1JQX0ZJRk9fV0lOX09OX1NZU1RFTV9USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZGKQorICAgIAorI2RlZmluZSBUWENSUF9GSUZPX1dJTl9PRkZfQ01QUl9PTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjgpCisjZGVmaW5lIFRYQ1JQX0ZJRk9fV0lOX09GRl9DTVBSX09OX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWENSUF9GSUZPX1dJTl9PRkZfQ01QUl9PTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMCkKKyNkZWZpbmUgVFhDUlBfRklGT19XSU5fT0ZGX0NNUFJfT05fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMDApCisgICAgCisjZGVmaW5lIFRYQ1JQX0ZJRk9fV0lOX09GRl9UUkdfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNykKKyNkZWZpbmUgVFhDUlBfRklGT19XSU5fT0ZGX1RSR19FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYQ1JQX0ZJRk9fV0lOX09GRl9UUkdfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA4MDAwMDAwKQorI2RlZmluZSBUWENSUF9GSUZPX1dJTl9PRkZfVFJHX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwODAwMDAwMCkKKyAgICAKKyNkZWZpbmUgVFhDUlBfRklGT19XSU5fT0ZGX1NZU1RFTV9USU1FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYQ1JQX0ZJRk9fV0lOX09GRl9TWVNURU1fVElNRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgVFhDUlBfRklGT19XSU5fT0ZGX1NZU1RFTV9USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkYpCisKKyNpZiBkZWZpbmVkKF9fTUQ5M19fKXx8ZGVmaW5lZChfX01EOTVfXykgICAgCisjZGVmaW5lIFRYREFDX1dJTl9PTl9DTVBSX09OX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyOCkKKyNkZWZpbmUgVFhEQUNfV0lOX09OX0NNUFJfT05fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREFDX1dJTl9PTl9DTVBSX09OX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDEwMDAwMDAwKQorI2RlZmluZSBUWERBQ19XSU5fT05fQ01QUl9PTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBUWERBQ19XSU5fT05fVFJHX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjcpCisjZGVmaW5lIFRYREFDX1dJTl9PTl9UUkdfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWERBQ19XSU5fT05fVFJHX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwODAwMDAwMCkKKyNkZWZpbmUgVFhEQUNfV0lOX09OX1RSR19FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDgwMDAwMDApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyNkZWZpbmUgVFhEQUNfV0lOX09OX1NZU1RFTV9USU1FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREFDX1dJTl9PTl9TWVNURU1fVElNRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgVFhEQUNfV0lOX09OX1NZU1RFTV9USU1FX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkYpCisgICAgCisjZGVmaW5lIFRYREFDX1dJTl9PRkZfQ01QUl9PTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyOCkKKyNkZWZpbmUgVFhEQUNfV0lOX09GRl9DTVBSX09OX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREFDX1dJTl9PRkZfQ01QUl9PTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDEwMDAwMDAwKQorI2RlZmluZSBUWERBQ19XSU5fT0ZGX0NNUFJfT05fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBUWERBQ19XSU5fT0ZGX1RSR19FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjcpCisjZGVmaW5lIFRYREFDX1dJTl9PRkZfVFJHX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWERBQ19XSU5fT0ZGX1RSR19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwODAwMDAwMCkKKyNkZWZpbmUgVFhEQUNfV0lOX09GRl9UUkdfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDgwMDAwMDApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyNkZWZpbmUgVFhEQUNfV0lOX09GRl9TWVNURU1fVElNRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREFDX1dJTl9PRkZfU1lTVEVNX1RJTUVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgVFhEQUNfV0lOX09GRl9TWVNURU1fVElNRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkYpCisjZW5kaWYKKworI2RlZmluZSBUWEJSUF9TVFJfQ01QUl9PTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjgpCisjZGVmaW5lIFRYQlJQX1NUUl9DTVBSX09OX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9TVFJfQ01QUl9PTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMCkKKyNkZWZpbmUgVFhCUlBfU1RSX0NNUFJfT05fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMDApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyNkZWZpbmUgVFhCUlBfU1RSX1NJTkdMRV9UUklHR0VSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI3KQorI2RlZmluZSBUWEJSUF9TVFJfU0lOR0xFX1RSSUdHRVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhCUlBfU1RSX1NJTkdMRV9UUklHR0VSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDgwMDAwMDApCisjZGVmaW5lIFRYQlJQX1NUUl9TSU5HTEVfVFJJR0dFUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA4MDAwMDAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisjZGVmaW5lIFRYQlJQX1NUUl9TWVNURU1fVElNRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWEJSUF9TVFJfU1lTVEVNX1RJTUVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFRYQlJQX1NUUl9TWVNURU1fVElNRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZGKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisjZGVmaW5lIFRYQ1JQX1NUUl9DTVBSX09OX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyOCkKKyNkZWZpbmUgVFhDUlBfU1RSX0NNUFJfT05fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYQ1JQX1NUUl9DTVBSX09OX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDEwMDAwMDAwKQorI2RlZmluZSBUWENSUF9TVFJfQ01QUl9PTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMCkKKyAgICAKKyNkZWZpbmUgVFhDUlBfU1RSX1NJTkdMRV9UUklHR0VSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI3KQorI2RlZmluZSBUWENSUF9TVFJfU0lOR0xFX1RSSUdHRVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhDUlBfU1RSX1NJTkdMRV9UUklHR0VSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDgwMDAwMDApCisjZGVmaW5lIFRYQ1JQX1NUUl9TSU5HTEVfVFJJR0dFUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA4MDAwMDAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisjZGVmaW5lIFRYQ1JQX1NUUl9TWVNURU1fVElNRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWENSUF9TVFJfU1lTVEVNX1RJTUVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFRYQ1JQX1NUUl9TWVNURU1fVElNRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZGKQorICAgIAorI2RlZmluZSBLU19TVFJfQ01QUl9PTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjgpCisjZGVmaW5lIEtTX1NUUl9DTVBSX09OX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBLU19TVFJfQ01QUl9PTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMCkKKyNkZWZpbmUgS1NfU1RSX0NNUFJfT05fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMDApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyNkZWZpbmUgS1NfU1RSX1NJTkdMRV9UUklHR0VSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI3KQorI2RlZmluZSBLU19TVFJfU0lOR0xFX1RSSUdHRVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgS1NfU1RSX1NJTkdMRV9UUklHR0VSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDgwMDAwMDApCisjZGVmaW5lIEtTX1NUUl9TSU5HTEVfVFJJR0dFUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA4MDAwMDAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisjZGVmaW5lIEtTX1NUUl9BVVRPX1RSSUdHRVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgS1NfU1RSX0FVVE9fVFJJR0dFUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIEtTX1NUUl9BVVRPX1RSSUdHRVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMzAwMDAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisjZGVmaW5lIEtTX1NUUl9TWVNURU1fVElNRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBLU19TVFJfU1lTVEVNX1RJTUVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIEtTX1NUUl9TWVNURU1fVElNRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZGKQorI2lmICghZGVmaW5lZChfX01EOTNfXykpJiYoIWRlZmluZWQoX19NRDk1X18pKQorI2RlZmluZSBDMVhfVFhfVElNRVJfVFRSX1dJTl9JTU1fT05fT0ZGX1RUUl9XSU5fSU1NX09GRl9UUklHX0xTQiAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEMxWF9UWF9USU1FUl9UVFJfV0lOX0lNTV9PTl9PRkZfVFRSX1dJTl9JTU1fT0ZGX1RSSUdfV0lEVEggICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQzFYX1RYX1RJTUVSX1RUUl9XSU5fSU1NX09OX09GRl9UVFJfV0lOX0lNTV9PRkZfVFJJR19NQVNLICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBDMVhfVFhfVElNRVJfVFRSX1dJTl9JTU1fT05fT0ZGX1RUUl9XSU5fSU1NX09GRl9UUklHX0JJVCAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgQzFYX1RYX1RJTUVSX1RUUl9XSU5fSU1NX09OX09GRl9UVFJfV0lOX0lNTV9PTl9UUklHX0xTQiAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBDMVhfVFhfVElNRVJfVFRSX1dJTl9JTU1fT05fT0ZGX1RUUl9XSU5fSU1NX09OX1RSSUdfV0lEVEggICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEMxWF9UWF9USU1FUl9UVFJfV0lOX0lNTV9PTl9PRkZfVFRSX1dJTl9JTU1fT05fVFJJR19NQVNLICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQzFYX1RYX1RJTUVSX1RUUl9XSU5fSU1NX09OX09GRl9UVFJfV0lOX0lNTV9PTl9UUklHX0JJVCAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIEMxWF9UWF9USU1FUl9UVFJfV0lOX1NDSF9PTl9VQ05UX1RSSUdfVFRSX1dJTl9TQ0hfT05fVUNOVF9DTVBSX09OX0xTQiAgICAgICAoMSkKKyNkZWZpbmUgQzFYX1RYX1RJTUVSX1RUUl9XSU5fU0NIX09OX1VDTlRfVFJJR19UVFJfV0lOX1NDSF9PTl9VQ05UX0NNUFJfT05fV0lEVEggICAgICgxKQorI2RlZmluZSBDMVhfVFhfVElNRVJfVFRSX1dJTl9TQ0hfT05fVUNOVF9UUklHX1RUUl9XSU5fU0NIX09OX1VDTlRfQ01QUl9PTl9NQVNLICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIEMxWF9UWF9USU1FUl9UVFJfV0lOX1NDSF9PTl9VQ05UX1RSSUdfVFRSX1dJTl9TQ0hfT05fVUNOVF9DTVBSX09OX0JJVCAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBDMVhfVFhfVElNRVJfVFRSX1dJTl9TQ0hfT05fVUNOVF9UUklHX1RUUl9XSU5fU0NIX09OX1VDTlRfVFJJR19MU0IgICAgICAgICAgKDApCisjZGVmaW5lIEMxWF9UWF9USU1FUl9UVFJfV0lOX1NDSF9PTl9VQ05UX1RSSUdfVFRSX1dJTl9TQ0hfT05fVUNOVF9UUklHX1dJRFRIICAgICAgICAoMSkKKyNkZWZpbmUgQzFYX1RYX1RJTUVSX1RUUl9XSU5fU0NIX09OX1VDTlRfVFJJR19UVFJfV0lOX1NDSF9PTl9VQ05UX1RSSUdfTUFTSyAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBDMVhfVFhfVElNRVJfVFRSX1dJTl9TQ0hfT05fVUNOVF9UUklHX1RUUl9XSU5fU0NIX09OX1VDTlRfVFJJR19CSVQgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQzFYX1RYX1RJTUVSX1RUUl9XSU5fU0NIX09OX1VDTlRfVFRSX1dJTl9TQ0hfT05fVUNOVF9MU0IgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBDMVhfVFhfVElNRVJfVFRSX1dJTl9TQ0hfT05fVUNOVF9UVFJfV0lOX1NDSF9PTl9VQ05UX1dJRFRIICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBDMVhfVFhfVElNRVJfVFRSX1dJTl9TQ0hfT05fVUNOVF9UVFJfV0lOX1NDSF9PTl9VQ05UX01BU0sgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgQzFYX1RYX1RJTUVSX1RUUl9XSU5fU0NIX09GRl9VQ05UX1RSSUdfVFRSX1dJTl9TQ0hfT0ZGX1VDTlRfQ01QUl9PTl9MU0IgICAgICgxKQorI2RlZmluZSBDMVhfVFhfVElNRVJfVFRSX1dJTl9TQ0hfT0ZGX1VDTlRfVFJJR19UVFJfV0lOX1NDSF9PRkZfVUNOVF9DTVBSX09OX1dJRFRIICAgKDEpCisjZGVmaW5lIEMxWF9UWF9USU1FUl9UVFJfV0lOX1NDSF9PRkZfVUNOVF9UUklHX1RUUl9XSU5fU0NIX09GRl9VQ05UX0NNUFJfT05fTUFTSyAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgQzFYX1RYX1RJTUVSX1RUUl9XSU5fU0NIX09GRl9VQ05UX1RSSUdfVFRSX1dJTl9TQ0hfT0ZGX1VDTlRfQ01QUl9PTl9CSVQgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIEMxWF9UWF9USU1FUl9UVFJfV0lOX1NDSF9PRkZfVUNOVF9UUklHX1RUUl9XSU5fU0NIX09GRl9VQ05UX0VOX0xTQiAgICAgICAgICAoMCkKKyNkZWZpbmUgQzFYX1RYX1RJTUVSX1RUUl9XSU5fU0NIX09GRl9VQ05UX1RSSUdfVFRSX1dJTl9TQ0hfT0ZGX1VDTlRfRU5fV0lEVEggICAgICAgICgxKQorI2RlZmluZSBDMVhfVFhfVElNRVJfVFRSX1dJTl9TQ0hfT0ZGX1VDTlRfVFJJR19UVFJfV0lOX1NDSF9PRkZfVUNOVF9FTl9NQVNLICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEMxWF9UWF9USU1FUl9UVFJfV0lOX1NDSF9PRkZfVUNOVF9UUklHX1RUUl9XSU5fU0NIX09GRl9VQ05UX0VOX0JJVCAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBDMVhfVFhfVElNRVJfVFRSX1dJTl9TQ0hfT0ZGX1VDTlRfVFRSX1dJTl9TQ0hfT0ZGX1VDTlRfTFNCICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEMxWF9UWF9USU1FUl9UVFJfV0lOX1NDSF9PRkZfVUNOVF9UVFJfV0lOX1NDSF9PRkZfVUNOVF9XSURUSCAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIEMxWF9UWF9USU1FUl9UVFJfV0lOX1NDSF9PRkZfVUNOVF9UVFJfV0lOX1NDSF9PRkZfVUNOVF9NQVNLICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBDMVhfVFhfVElNRVJfVFRSX1dJTl9TQ0hfT05fU1RJTUVfVFRSX1dJTl9TQ0hfT05fQ01QUl9PTl9MU0IgICAgICAgICAgICAgICAgKDI4KQorI2RlZmluZSBDMVhfVFhfVElNRVJfVFRSX1dJTl9TQ0hfT05fU1RJTUVfVFRSX1dJTl9TQ0hfT05fQ01QUl9PTl9XSURUSCAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEMxWF9UWF9USU1FUl9UVFJfV0lOX1NDSF9PTl9TVElNRV9UVFJfV0lOX1NDSF9PTl9DTVBSX09OX01BU0sgICAgICAgICAgICAgICAoMHgxMDAwMDAwMCkKKyNkZWZpbmUgQzFYX1RYX1RJTUVSX1RUUl9XSU5fU0NIX09OX1NUSU1FX1RUUl9XSU5fU0NIX09OX0NNUFJfT05fQklUICAgICAgICAgICAgICAgICgweDEwMDAwMDAwKQorCisjZGVmaW5lIEMxWF9UWF9USU1FUl9UVFJfV0lOX1NDSF9PTl9TVElNRV9UVFJfV0lOX1NDSF9PTl9UUkdfRU5fTFNCICAgICAgICAgICAgICAgICAoMjcpCisjZGVmaW5lIEMxWF9UWF9USU1FUl9UVFJfV0lOX1NDSF9PTl9TVElNRV9UVFJfV0lOX1NDSF9PTl9UUkdfRU5fV0lEVEggICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQzFYX1RYX1RJTUVSX1RUUl9XSU5fU0NIX09OX1NUSU1FX1RUUl9XSU5fU0NIX09OX1RSR19FTl9NQVNLICAgICAgICAgICAgICAgICgweDA4MDAwMDAwKQorI2RlZmluZSBDMVhfVFhfVElNRVJfVFRSX1dJTl9TQ0hfT05fU1RJTUVfVFRSX1dJTl9TQ0hfT05fVFJHX0VOX0JJVCAgICAgICAgICAgICAgICAgKDB4MDgwMDAwMDApCisKKyNkZWZpbmUgQzFYX1RYX1RJTUVSX1RUUl9XSU5fU0NIX09OX1NUSU1FX1RUUl9XSU5fU0NIX09OX1NZU1RFTV9USU1FX0xTQiAgICAgICAgICAgICgwKQorI2RlZmluZSBDMVhfVFhfVElNRVJfVFRSX1dJTl9TQ0hfT05fU1RJTUVfVFRSX1dJTl9TQ0hfT05fU1lTVEVNX1RJTUVfV0lEVEggICAgICAgICAgKDIwKQorI2RlZmluZSBDMVhfVFhfVElNRVJfVFRSX1dJTl9TQ0hfT05fU1RJTUVfVFRSX1dJTl9TQ0hfT05fU1lTVEVNX1RJTUVfTUFTSyAgICAgICAgICAgKDB4MDAwRkZGRkYpCisKKyNkZWZpbmUgQzFYX1RYX1RJTUVSX1RUUl9XSU5fU0NIX09GRl9TVElNRV9UVFJfV0lOX1NDSF9PRkZfQ01QUl9PTl9MU0IgICAgICAgICAgICAgICgyOCkKKyNkZWZpbmUgQzFYX1RYX1RJTUVSX1RUUl9XSU5fU0NIX09GRl9TVElNRV9UVFJfV0lOX1NDSF9PRkZfQ01QUl9PTl9XSURUSCAgICAgICAgICAgICgxKQorI2RlZmluZSBDMVhfVFhfVElNRVJfVFRSX1dJTl9TQ0hfT0ZGX1NUSU1FX1RUUl9XSU5fU0NIX09GRl9DTVBSX09OX01BU0sgICAgICAgICAgICAgKDB4MTAwMDAwMDApCisjZGVmaW5lIEMxWF9UWF9USU1FUl9UVFJfV0lOX1NDSF9PRkZfU1RJTUVfVFRSX1dJTl9TQ0hfT0ZGX0NNUFJfT05fQklUICAgICAgICAgICAgICAoMHgxMDAwMDAwMCkKKworI2RlZmluZSBDMVhfVFhfVElNRVJfVFRSX1dJTl9TQ0hfT0ZGX1NUSU1FX1RUUl9XSU5fU0NIX09GRl9UUkdfRU5fTFNCICAgICAgICAgICAgICAgKDI3KQorI2RlZmluZSBDMVhfVFhfVElNRVJfVFRSX1dJTl9TQ0hfT0ZGX1NUSU1FX1RUUl9XSU5fU0NIX09GRl9UUkdfRU5fV0lEVEggICAgICAgICAgICAgKDEpCisjZGVmaW5lIEMxWF9UWF9USU1FUl9UVFJfV0lOX1NDSF9PRkZfU1RJTUVfVFRSX1dJTl9TQ0hfT0ZGX1RSR19FTl9NQVNLICAgICAgICAgICAgICAoMHgwODAwMDAwMCkKKyNkZWZpbmUgQzFYX1RYX1RJTUVSX1RUUl9XSU5fU0NIX09GRl9TVElNRV9UVFJfV0lOX1NDSF9PRkZfVFJHX0VOX0JJVCAgICAgICAgICAgICAgICgweDA4MDAwMDAwKQorCisjZGVmaW5lIEMxWF9UWF9USU1FUl9UVFJfV0lOX1NDSF9PRkZfU1RJTUVfVFRSX1dJTl9TQ0hfT0ZGX1NZU1RFTV9USU1FX0xTQiAgICAgICAgICAoMCkKKyNkZWZpbmUgQzFYX1RYX1RJTUVSX1RUUl9XSU5fU0NIX09GRl9TVElNRV9UVFJfV0lOX1NDSF9PRkZfU1lTVEVNX1RJTUVfV0lEVEggICAgICAgICgyMCkKKyNkZWZpbmUgQzFYX1RYX1RJTUVSX1RUUl9XSU5fU0NIX09GRl9TVElNRV9UVFJfV0lOX1NDSF9PRkZfU1lTVEVNX1RJTUVfTUFTSyAgICAgICAgICgweDAwMEZGRkZGKQorCisjZGVmaW5lIEMxWF9UWF9USU1FUl9UVFJfV0lOX0RCR19UVFJfV0lOX1NUQVRVU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQzFYX1RYX1RJTUVSX1RUUl9XSU5fREJHX1RUUl9XSU5fU1RBVFVTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDMVhfVFhfVElNRVJfVFRSX1dJTl9EQkdfVFRSX1dJTl9TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEMxWF9UWF9USU1FUl9UVFJfV0lOX0RCR19UVFJfV0lOX1NUQVRVU19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNlbmRpZgorICAgIAorI2VuZGlmIC8vI2lmbmRlZiBfQ1BIX1JUVF9UWF9USU1FUl9IXworCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BocnhicnBidXNjb25maWcuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhyeGJycGJ1c2NvbmZpZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwMTcwNzIKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BocnhicnBidXNjb25maWcuaApAQCAtMCwwICsxLDQwNSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NQSF9SWEJSUF9CVVNfQ09ORklHX0hfCisjZGVmaW5lIF9DUEhfUlhCUlBfQlVTX0NPTkZJR19IXworCisKK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIFNSQU1BRERSOyAgICAgICAgIC8qIFNSQU0gYWRkciBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgU1JBTURBVEE7ICAgICAgICAgLyogU1JBTSBkYXRhIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBBUEJBRERSOyAgICAgICAgICAvKiBBUEIgYWRkciBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIEFQQkRBVEE7ICAgICAgICAgIC8qIEFQQiBkYXRhIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nKiAgQVBCQUREUjMyOyAgICAgICAgLyogQVBCIGFkZHIgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgICBBUEJEQVRBMzI7ICAgICAgICAvKiBBUEIgZGF0YSBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIERQUkFNQUREUjsgICAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSBzaWduZWQgICBzaG9ydCogRFBSQU1BRERSX1M7ICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBEUFJBTURBVEE7ICAgICAgICAvKiBEUFJBTSBkYXRhIGlzIDE2IGJpdHMgKi8KKworI2lmIGRlZmluZWQoX19NRDk1X18pCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUdfUkVHX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEFEMTYwMDAwKQorI2Vsc2UKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJR19SRUdfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QUM5NjAwMDApCisjZW5kaWYKKworI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoUlhCUlBfQlVTX0NPTkZJR19SRUdfQkFTRSArIDB4MDBhNCArIDEqNCkKKworCisKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0JVU19DT05GSUdfUkVHX0JBU0UgKyAweDAwMDApKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQlVTX0NPTkZJR19SRUdfQkFTRSArIDB4MDAwNCkpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9CVVNfQ09ORklHX1JFR19CQVNFICsgMHgwMDA4KSkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0JVU19DT05GSUdfUkVHX0JBU0UgKyAweDAwMGMpKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQlVTX0NPTkZJR19SRUdfQkFTRSArIDB4MDAxMCkpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUc1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9CVVNfQ09ORklHX1JFR19CQVNFICsgMHgwMDE0KSkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0JVU19DT05GSUdfUkVHX0JBU0UgKyAweDAwMTgpKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQlVTX0NPTkZJR19SRUdfQkFTRSArIDB4MDAxYykpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUc4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9CVVNfQ09ORklHX1JFR19CQVNFICsgMHgwMDIwKSkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0JVU19DT05GSUdfUkVHX0JBU0UgKyAweDAwMjQpKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQlVTX0NPTkZJR19SRUdfQkFTRSArIDB4MDAyOCkpCisjZGVmaW5lIFJYQlJQX0JVU19TVEFUVVMwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9CVVNfQ09ORklHX1JFR19CQVNFICsgMHgwMDMwKSkKKyNkZWZpbmUgUlhCUlBfQlVTX1NUQVRVUzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0JVU19DT05GSUdfUkVHX0JBU0UgKyAweDAwMzQpKQorI2RlZmluZSBSWEJSUF9CVVNfU1RBVFVTMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQlVTX0NPTkZJR19SRUdfQkFTRSArIDB4MDAzOCkpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcxMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9CVVNfQ09ORklHX1JFR19CQVNFICsgMHgwMDQwKSkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0JVU19DT05GSUdfUkVHX0JBU0UgKyAweDAwNDQpKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMTMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQlVTX0NPTkZJR19SRUdfQkFTRSArIDB4MDA0OCkpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcxNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9CVVNfQ09ORklHX1JFR19CQVNFICsgMHgwMDRjKSkKKyNkZWZpbmUgUlhCUlBfU0xWX0JVU19DT05GSUcwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0JVU19DT05GSUdfUkVHX0JBU0UgKyAweDAwODApKQorI2RlZmluZSBSWEJSUF9TTFZfQlVTX1NUQVRVUzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfQlVTX0NPTkZJR19SRUdfQkFTRSArIDB4MDBhMCkpCisjZGVmaW5lIFJYQlJQX1NMVl9CVVNfU1RBVFVTMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9CVVNfQ09ORklHX1JFR19CQVNFICsgMHgwMGE0KSkKKworCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcwX0ZMVVNIX1RIUkVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMCkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzBfRkxVU0hfVEhSRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcwX0ZMVVNIX1RIUkVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEMwMDAwMDAwKQorCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcwX01JX09TVERfRVhUX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyOSkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzBfTUlfT1NURF9FWFRfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcwX01JX09TVERfRVhUX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDIwMDAwMDAwKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMF9NSV9PU1REX0VYVF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgyMDAwMDAwMCkKKworI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMF9NSV9RT1NfT05fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjgpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcwX01JX1FPU19PTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMF9NSV9RT1NfT05fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMCkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzBfTUlfUU9TX09OX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMDApCisKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzBfQ0dfRElTQUJMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI3KQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMF9DR19ESVNBQkxFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzBfQ0dfRElTQUJMRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDgwMDAwMDApCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcwX0NHX0RJU0FCTEVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA4MDAwMDAwKQorCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcwX0RNQV9NT0RFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNikKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzBfRE1BX01PREVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcwX0RNQV9NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA0MDAwMDAwKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMF9ETUFfTU9ERV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwNDAwMDAwMCkKKworI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMF9PU1RfRU5fSFJRX1dfVzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjUpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcwX09TVF9FTl9IUlFfV19XMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMF9PU1RfRU5fSFJRX1dfVzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMjAwMDAwMCkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzBfT1NUX0VOX0hSUV9XX1cxX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDIwMDAwMDApCisKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzBfT1NUX0VOX0hSUV9SX1IxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMF9PU1RfRU5fSFJRX1JfUjFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzBfT1NUX0VOX0hSUV9SX1IxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDEwMDAwMDApCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcwX09TVF9FTl9IUlFfUl9SMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAxMDAwMDAwKQorCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcwX1NQTElUX0RJU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzBfU1BMSVRfRElTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcwX1NQTElUX0RJU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkMwMDAwKQorCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcwX0NITkxfRElTQUJMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzBfQ0hOTF9ESVNBQkxFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcwX0NITkxfRElTQUJMRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDNGMDAwKQorCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcwX1BSRV9ISUdIX1BSSU9SSVRZX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMF9QUkVfSElHSF9QUklPUklUWV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzBfUFJFX0hJR0hfUFJJT1JJVFlfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDBGQzApCisKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzBfSElHSF9QUklPUklUWV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcwX0hJR0hfUFJJT1JJVFlfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMF9ISUdIX1BSSU9SSVRZX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKworI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMV9SR19PU1RfRU5fVEJPX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzApCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcxX1JHX09TVF9FTl9UQk9fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMV9SR19PU1RfRU5fVEJPX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMCkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzFfUkdfT1NUX0VOX1RCT19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4NDAwMDAwMDApCisKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzFfUFJFX0hQUklfTEFTVF9FTl9IUlFfVzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI5KQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMV9QUkVfSFBSSV9MQVNUX0VOX0hSUV9XMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzFfUFJFX0hQUklfTEFTVF9FTl9IUlFfVzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MjAwMDAwMDApCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcxX1BSRV9IUFJJX0xBU1RfRU5fSFJRX1cxX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDIwMDAwMDAwKQorCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcxX1BSRV9IUFJJX0xBU1RfRU5fSFJRX1dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyOCkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzFfUFJFX0hQUklfTEFTVF9FTl9IUlFfV19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcxX1BSRV9IUFJJX0xBU1RfRU5fSFJRX1dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDEwMDAwMDAwKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMV9QUkVfSFBSSV9MQVNUX0VOX0hSUV9XX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMCkKKworI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMV9QUkVfSFBSSV9MQVNUX0VOX0hSUV9SMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjcpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcxX1BSRV9IUFJJX0xBU1RfRU5fSFJRX1IxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMV9QUkVfSFBSSV9MQVNUX0VOX0hSUV9SMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwODAwMDAwMCkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzFfUFJFX0hQUklfTEFTVF9FTl9IUlFfUjFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDgwMDAwMDApCisKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzFfUFJFX0hQUklfTEFTVF9FTl9IUlFfUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI2KQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMV9QUkVfSFBSSV9MQVNUX0VOX0hSUV9SX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzFfUFJFX0hQUklfTEFTVF9FTl9IUlFfUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDQwMDAwMDApCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcxX1BSRV9IUFJJX0xBU1RfRU5fSFJRX1JfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA0MDAwMDAwKQorCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcxX0hQUklfTEFTVF9FTl9IUlFfVzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNSkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzFfSFBSSV9MQVNUX0VOX0hSUV9XMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcxX0hQUklfTEFTVF9FTl9IUlFfVzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAyMDAwMDAwKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMV9IUFJJX0xBU1RfRU5fSFJRX1cxX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMjAwMDAwMCkKKworI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMV9IUFJJX0xBU1RfRU5fSFJRX1dfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcxX0hQUklfTEFTVF9FTl9IUlFfV19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMV9IUFJJX0xBU1RfRU5fSFJRX1dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMTAwMDAwMCkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzFfSFBSSV9MQVNUX0VOX0hSUV9XX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDEwMDAwMDApCisKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzFfSFBSSV9MQVNUX0VOX0hSUV9SMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIzKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMV9IUFJJX0xBU1RfRU5fSFJRX1IxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzFfSFBSSV9MQVNUX0VOX0hSUV9SMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDA4MDAwMDApCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcxX0hQUklfTEFTVF9FTl9IUlFfUjFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwODAwMDAwKQorCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcxX0hQUklfTEFTVF9FTl9IUlFfUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMikKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzFfSFBSSV9MQVNUX0VOX0hSUV9SX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcxX0hQUklfTEFTVF9FTl9IUlFfUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwNDAwMDAwKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMV9IUFJJX0xBU1RfRU5fSFJRX1JfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDQwMDAwMCkKKworI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMV9SR19EQkdfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcxX1JHX0RCR19TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMV9SR19EQkdfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRjAwMCkKKworI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMV9TTFZfU1lOQ19TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcxX1NMVl9TWU5DX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMV9TTFZfU1lOQ19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMEMwMCkKKworI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMV9NU1RfU1lOQ19TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzFfTVNUX1NZTkNfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcxX01TVF9TWU5DX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMzAwKQorCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcxX1JYQlJQX1RPUF9EQkdfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMV9SWEJSUF9UT1BfREJHX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzFfUlhCUlBfVE9QX0RCR19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0MpCisKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzFfUFJFX0hQUklfRElTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcxX1BSRV9IUFJJX0RJU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMV9QUkVfSFBSSV9ESVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzFfUFJFX0hQUklfRElTX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzFfSFBSSV9ESVNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcxX0hQUklfRElTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMV9IUFJJX0RJU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzFfSFBSSV9ESVNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfQVVUT19CV19MSU1JVF9FTl9IQVJRX1cxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDIzKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMl9BVVRPX0JXX0xJTUlUX0VOX0hBUlFfVzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfQVVUT19CV19MSU1JVF9FTl9IQVJRX1cxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDA4MDAwMDApCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcyX0FVVE9fQldfTElNSVRfRU5fSEFSUV9XMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwODAwMDAwKQorCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcyX0FVVE9fQldfTElNSVRfRU5fSEFSUV9XX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMikKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfQVVUT19CV19MSU1JVF9FTl9IQVJRX1dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcyX0FVVE9fQldfTElNSVRfRU5fSEFSUV9XX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwNDAwMDAwKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMl9BVVRPX0JXX0xJTUlUX0VOX0hBUlFfV19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDQwMDAwMCkKKworI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMl9BVVRPX0JXX0xJTUlUX0VOX0hBUlFfUjFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcyX0FVVE9fQldfTElNSVRfRU5fSEFSUV9SMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMl9BVVRPX0JXX0xJTUlUX0VOX0hBUlFfUjFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDIwMDAwMCkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfQVVUT19CV19MSU1JVF9FTl9IQVJRX1IxX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAyMDAwMDApCisKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfQVVUT19CV19MSU1JVF9FTl9IQVJRX1JfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMl9BVVRPX0JXX0xJTUlUX0VOX0hBUlFfUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfQVVUT19CV19MSU1JVF9FTl9IQVJRX1JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAxMDAwMDApCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcyX0FVVE9fQldfTElNSVRfRU5fSEFSUV9SX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcyX1JHX0VSUk9SX0ZMQUdfU0VMRUNUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfUkdfRVJST1JfRkxBR19TRUxFQ1RfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcyX1JHX0VSUk9SX0ZMQUdfU0VMRUNUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEMwMDAwKQorCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcyX1JHX1JFU0VUX0VSUk9SX0ZMQUdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNykKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfUkdfUkVTRVRfRVJST1JfRkxBR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcyX1JHX1JFU0VUX0VSUk9SX0ZMQUdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDIwMDAwKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMl9SR19SRVNFVF9FUlJPUl9GTEFHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAyMDAwMCkKKworI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMl9SRUdfTEFUQ0hfTU9ERV9XMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcyX1JFR19MQVRDSF9NT0RFX1cxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMl9SRUdfTEFUQ0hfTU9ERV9XMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfUkVHX0xBVENIX01PREVfVzFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfUkVHX0xBVENIX01PREVfV19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMl9SRUdfTEFUQ0hfTU9ERV9XX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfUkVHX0xBVENIX01PREVfV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcyX1JFR19MQVRDSF9NT0RFX1dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcyX1JFR19MQVRDSF9NT0RFX1IxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfUkVHX0xBVENIX01PREVfUjFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcyX1JFR19MQVRDSF9NT0RFX1IxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMl9SRUdfTEFUQ0hfTU9ERV9SMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKworI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMl9SRUdfTEFUQ0hfTU9ERV9SX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcyX1JFR19MQVRDSF9NT0RFX1JfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMl9SRUdfTEFUQ0hfTU9ERV9SX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfUkVHX0xBVENIX01PREVfUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfVVNFX0hBUlFfTU9ERV9XMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMl9VU0VfSEFSUV9NT0RFX1cxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfVVNFX0hBUlFfTU9ERV9XMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcyX1VTRV9IQVJRX01PREVfVzFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcyX1VTRV9IQVJRX01PREVfV19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfVVNFX0hBUlFfTU9ERV9XX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcyX1VTRV9IQVJRX01PREVfV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMl9VU0VfSEFSUV9NT0RFX1dfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKworI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMl9VU0VfSEFSUV9NT0RFX1IxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcyX1VTRV9IQVJRX01PREVfUjFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMl9VU0VfSEFSUV9NT0RFX1IxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfVVNFX0hBUlFfTU9ERV9SMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfVVNFX0hBUlFfTU9ERV9SX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcyX1VTRV9IQVJRX01PREVfUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMl9VU0VfSEFSUV9NT0RFX1JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfVVNFX0hBUlFfTU9ERV9SX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfR0FMU19TV19FUlJfUlNUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcyX0dBTFNfU1dfRVJSX1JTVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMl9HQUxTX1NXX0VSUl9SU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfR0FMU19TV19FUlJfUlNUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfRk9SQ0VfSFJRX0RST1BfVzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcyX0ZPUkNFX0hSUV9EUk9QX1cxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMl9GT1JDRV9IUlFfRFJPUF9XMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfRk9SQ0VfSFJRX0RST1BfVzFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfRk9SQ0VfSFJRX0RST1BfV19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcyX0ZPUkNFX0hSUV9EUk9QX1dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMl9GT1JDRV9IUlFfRFJPUF9XX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfRk9SQ0VfSFJRX0RST1BfV19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfRk9SQ0VfSFJRX0RST1BfUjFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcyX0ZPUkNFX0hSUV9EUk9QX1IxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMl9GT1JDRV9IUlFfRFJPUF9SMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfRk9SQ0VfSFJRX0RST1BfUjFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfRk9SQ0VfSFJRX0RST1BfUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcyX0ZPUkNFX0hSUV9EUk9QX1JfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMl9GT1JDRV9IUlFfRFJPUF9SX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfRk9SQ0VfSFJRX0RST1BfUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfQkFORFdJRFRIX0xJTUlUX0VOX0hSUV9XMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcyX0JBTkRXSURUSF9MSU1JVF9FTl9IUlFfVzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMl9CQU5EV0lEVEhfTElNSVRfRU5fSFJRX1cxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfQkFORFdJRFRIX0xJTUlUX0VOX0hSUV9XMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfQkFORFdJRFRIX0xJTUlUX0VOX0hSUV9XX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcyX0JBTkRXSURUSF9MSU1JVF9FTl9IUlFfV19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMl9CQU5EV0lEVEhfTElNSVRfRU5fSFJRX1dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfQkFORFdJRFRIX0xJTUlUX0VOX0hSUV9XX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfQkFORFdJRFRIX0xJTUlUX0VOX0hSUV9SMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcyX0JBTkRXSURUSF9MSU1JVF9FTl9IUlFfUjFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMl9CQU5EV0lEVEhfTElNSVRfRU5fSFJRX1IxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfQkFORFdJRFRIX0xJTUlUX0VOX0hSUV9SMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfQkFORFdJRFRIX0xJTUlUX0VOX0hSUV9SX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcyX0JBTkRXSURUSF9MSU1JVF9FTl9IUlFfUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9CVVNfQ09ORklHMl9CQU5EV0lEVEhfTElNSVRfRU5fSFJRX1JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzJfQkFORFdJRFRIX0xJTUlUX0VOX0hSUV9SX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzNfQkFORFdJRFRIX0xJTUlUX1RIUkVTSE9MRF9IUlFfUl9MU0IgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUczX0JBTkRXSURUSF9MSU1JVF9USFJFU0hPTERfSFJRX1JfV0lEVEggICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzNfQkFORFdJRFRIX0xJTUlUX1RIUkVTSE9MRF9IUlFfUl9NQVNLICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzRfQkFORFdJRFRIX0xJTUlUX1RIUkVTSE9MRF9IUlFfUjFfTFNCICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUc0X0JBTkRXSURUSF9MSU1JVF9USFJFU0hPTERfSFJRX1IxX1dJRFRIICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzRfQkFORFdJRFRIX0xJTUlUX1RIUkVTSE9MRF9IUlFfUjFfTUFTSyAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzVfQkFORFdJRFRIX0xJTUlUX1RIUkVTSE9MRF9IUlFfV19MU0IgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUc1X0JBTkRXSURUSF9MSU1JVF9USFJFU0hPTERfSFJRX1dfV0lEVEggICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzVfQkFORFdJRFRIX0xJTUlUX1RIUkVTSE9MRF9IUlFfV19NQVNLICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzZfQkFORFdJRFRIX0xJTUlUX1RIUkVTSE9MRF9IUlFfVzFfTFNCICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUc2X0JBTkRXSURUSF9MSU1JVF9USFJFU0hPTERfSFJRX1cxX1dJRFRIICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzZfQkFORFdJRFRIX0xJTUlUX1RIUkVTSE9MRF9IUlFfVzFfTUFTSyAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzdfQVVUT19CV19MSU1JVF9USFJFU0hPTERfUl9TUlRfVEhST19MU0IgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUc3X0FVVE9fQldfTElNSVRfVEhSRVNIT0xEX1JfU1JUX1RIUk9fV0lEVEggICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzdfQVVUT19CV19MSU1JVF9USFJFU0hPTERfUl9TUlRfVEhST19NQVNLICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzhfQVVUT19CV19MSU1JVF9USFJFU0hPTERfV19TUlRfVEhST19MU0IgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUc4X0FVVE9fQldfTElNSVRfVEhSRVNIT0xEX1dfU1JUX1RIUk9fV0lEVEggICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzhfQVVUT19CV19MSU1JVF9USFJFU0hPTERfV19TUlRfVEhST19NQVNLICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzlfQVVUT19CV19MSU1JVF9USFJFU0hPTERfUjFfU1JUX1RIUk9fTFNCICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUc5X0FVVE9fQldfTElNSVRfVEhSRVNIT0xEX1IxX1NSVF9USFJPX1dJRFRIICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzlfQVVUT19CV19MSU1JVF9USFJFU0hPTERfUjFfU1JUX1RIUk9fTUFTSyAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzEwX0FVVE9fQldfTElNSVRfVEhSRVNIT0xEX1cxX1NSVF9USFJPX0xTQiAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcxMF9BVVRPX0JXX0xJTUlUX1RIUkVTSE9MRF9XMV9TUlRfVEhST19XSURUSCAgICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzEwX0FVVE9fQldfTElNSVRfVEhSRVNIT0xEX1cxX1NSVF9USFJPX01BU0sgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgUlhCUlBfQlVTX1NUQVRVUzBfU1RBMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0JVU19TVEFUVVMwX1NUQTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhCUlBfQlVTX1NUQVRVUzBfU1RBMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgUlhCUlBfQlVTX1NUQVRVUzFfU1RBMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0JVU19TVEFUVVMxX1NUQTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhCUlBfQlVTX1NUQVRVUzFfU1RBMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgUlhCUlBfQlVTX1NUQVRVUzJfU1RBMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0JVU19TVEFUVVMyX1NUQTJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhCUlBfQlVTX1NUQVRVUzJfU1RBMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzExX0FVVE9fQldfTElNSVRfVEhSRVNIT0xEX1JfQldfU1RBVFVTX0xTQiAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcxMV9BVVRPX0JXX0xJTUlUX1RIUkVTSE9MRF9SX0JXX1NUQVRVU19XSURUSCAgICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzExX0FVVE9fQldfTElNSVRfVEhSRVNIT0xEX1JfQldfU1RBVFVTX01BU0sgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzEyX0FVVE9fQldfTElNSVRfVEhSRVNIT0xEX1dfQldfU1RBVFVTX0xTQiAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcxMl9BVVRPX0JXX0xJTUlUX1RIUkVTSE9MRF9XX0JXX1NUQVRVU19XSURUSCAgICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzEyX0FVVE9fQldfTElNSVRfVEhSRVNIT0xEX1dfQldfU1RBVFVTX01BU0sgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzEzX0FVVE9fQldfTElNSVRfVEhSRVNIT0xEX1IxX0JXX1NUQVRVU19MU0IgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcxM19BVVRPX0JXX0xJTUlUX1RIUkVTSE9MRF9SMV9CV19TVEFUVVNfV0lEVEggICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzEzX0FVVE9fQldfTElNSVRfVEhSRVNIT0xEX1IxX0JXX1NUQVRVU19NQVNLICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzE0X0FVVE9fQldfTElNSVRfVEhSRVNIT0xEX1cxX0JXX1NUQVRVU19MU0IgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0JVU19DT05GSUcxNF9BVVRPX0JXX0xJTUlUX1RIUkVTSE9MRF9XMV9CV19TVEFUVVNfV0lEVEggICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhCUlBfQlVTX0NPTkZJRzE0X0FVVE9fQldfTElNSVRfVEhSRVNIT0xEX1cxX0JXX1NUQVRVU19NQVNLICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgUlhCUlBfU0xWX0JVU19DT05GSUcwX1NDUV9BWEkyU1JBTV9CRkFCTEVfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFJYQlJQX1NMVl9CVVNfQ09ORklHMF9TQ1FfQVhJMlNSQU1fQkZBQkxFX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9TTFZfQlVTX0NPTkZJRzBfU0NRX0FYSTJTUkFNX0JGQUJMRV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgUlhCUlBfU0xWX0JVU19DT05GSUcwX1NDUV9BWEkyU1JBTV9CRkFCTEVfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgUlhCUlBfU0xWX0JVU19DT05GSUcwX0JVU19QV1JfQVdBUkVfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYQlJQX1NMVl9CVVNfQ09ORklHMF9CVVNfUFdSX0FXQVJFX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9TTFZfQlVTX0NPTkZJRzBfQlVTX1BXUl9BV0FSRV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgUlhCUlBfU0xWX0JVU19DT05GSUcwX0JVU19QV1JfQVdBUkVfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgUlhCUlBfU0xWX0JVU19DT05GSUcwX1NMVl9TWU5DX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYQlJQX1NMVl9CVVNfQ09ORklHMF9TTFZfU1lOQ19TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBSWEJSUF9TTFZfQlVTX0NPTkZJRzBfU0xWX1NZTkNfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwQykKKworI2RlZmluZSBSWEJSUF9TTFZfQlVTX0NPTkZJRzBfTVNUX1NZTkNfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfU0xWX0JVU19DT05GSUcwX01TVF9TWU5DX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYQlJQX1NMVl9CVVNfQ09ORklHMF9NU1RfU1lOQ19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAzKQorCisjZGVmaW5lIFJYQlJQX1NMVl9CVVNfU1RBVFVTMF9TVEEwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9TTFZfQlVTX1NUQVRVUzBfU1RBMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFJYQlJQX1NMVl9CVVNfU1RBVFVTMF9TVEEwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFJYQlJQX1NMVl9CVVNfU1RBVFVTMV9TVEExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9TTFZfQlVTX1NUQVRVUzFfU1RBMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfU0xWX0JVU19TVEFUVVMxX1NUQTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX1NMVl9CVVNfU1RBVFVTMV9TVEExX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisKKyNlbmRpZiAvLyNpZm5kZWYgX0NQSF9SWEJSUF9CVVNfQ09ORklHX0hfCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BocnhicnBnbGJjb25yZWcuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhyeGJycGdsYmNvbnJlZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4MzAxMWMKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BocnhicnBnbGJjb25yZWcuaApAQCAtMCwwICsxLDQzIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmIGRlZmluZWQoX19NRDkzX18pCisjaW5jbHVkZSAiY3BocnhicnBnbGJjb25yZWdfOTMuaCIKKyNlbGlmIGRlZmluZWQoX19NRDk1X18pCisjaW5jbHVkZSAiY3BocnhicnBnbGJjb25yZWdfOTUuaCIKKyNlbGlmIGRlZmluZWQoX19NRDk3X18pIHx8IGRlZmluZWQoX19NRDk3UF9fKQorI2luY2x1ZGUgImNwaHJ4YnJwZ2xiY29ucmVnXzk3LmgiCisjZWxzZQorI2Vycm9yICJbRVJST1JdIEludmFsaWQgTUQgZ2VuZXJhdGlvbiIKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHJ4YnJwZ2xiY29ucmVnXzkzLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BocnhicnBnbGJjb25yZWdfOTMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jM2RjMjNhCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHJ4YnJwZ2xiY29ucmVnXzkzLmgKQEAgLTAsMCArMSwxNDAxIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfQ1BIX1JYQlJQX0dMQl9DT05fUkVHX0hfCisjZGVmaW5lIF9DUEhfUlhCUlBfR0xCX0NPTl9SRUdfSF8KKworCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBTUkFNQUREUjsgICAgICAgICAvKiBTUkFNIGFkZHIgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIFNSQU1EQVRBOyAgICAgICAgIC8qIFNSQU0gZGF0YSBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogQVBCQUREUjsgICAgICAgICAgLyogQVBCIGFkZHIgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBBUEJEQVRBOyAgICAgICAgICAvKiBBUEIgZGF0YSBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyogIEFQQkFERFIzMjsgICAgICAgIC8qIEFQQiBhZGRyIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICAgQVBCREFUQTMyOyAgICAgICAgLyogQVBCIGRhdGEgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBEUFJBTUFERFI7ICAgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgc2lnbmVkICAgc2hvcnQqIERQUkFNQUREUl9TOyAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgRFBSQU1EQVRBOyAgICAgICAgLyogRFBSQU0gZGF0YSBpcyAxNiBiaXRzICovCisKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhBRDExMDAwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfQ09OX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDE4NCArIDEqNCkKKworCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JYQlJQX0NMT0NLX0VOX0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAwMDApKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfQ0JVU19DTE9DS19FTl9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDAwNCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0NMT0NLX0VOX0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDA4KSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAwMEMpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDAxMCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDE0KSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAwMTgpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTFRFX1dDVExfQ0xPQ0tfRU5fQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDAxQykpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUTF9DTE9DS19FTl9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDIwKSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RMX0NMT0NLX0VOX0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAwMjQpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVExfQ0xPQ0tfRU5fQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDAyOCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVExfQ0xPQ0tfRU5fQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDJDKSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUkVTRVRfQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAwMzApKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDAzNCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1JFU0VUX0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDM4KSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUFdSX0FXQVJFX0VOX0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAwM0MpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDA0MCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1BXUl9BV0FSRV9FTl9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDQ0KSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAwNDgpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRERSX0NMT0NLX0VOQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDA0QykpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9BU1NFUlRfSVJRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDUwKSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0REUl9DTE9DS19FTkFfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAwNTQpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV1RfREVCVUcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDA1OCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SRVNFUlZFRF9PVVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDVDKSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JFU0VSVkVEX0lOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAwNjApKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfUlNSVl9NUFVfU1RBUlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDEwMCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9SU1JWX01QVV9FTkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTA0KSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX1JTUlZfTVBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAxMDgpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfRFNDSF9NUFVfU1RBUlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDEwQykpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9EU0NIX01QVV9FTkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTEwKSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX0RTQ0hfTVBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAxMTQpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfTFRFX01QVV9TVEFSVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDExOCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9MVEVfTVBVX0VORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTFDKSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX0xURV9NUFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAxMjApKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfUjk5X01QVV9TVEFSVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDEyNCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9SOTlfTVBVX0VORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTI4KSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX1I5OV9NUFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAxMkMpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDEzMCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMF9TVEFSVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTM0KSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUwX0VORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAxMzgpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDEzQykpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMV9TVEFSVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTQwKSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUxX0VORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAxNDQpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDE0OCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMl9TVEFSVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTRDKSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUyX0VORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAxNTApKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9IQVJRX0JVRl9IU1BBX01QVV9TVEFSVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDE1NCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX0hBUlFfQlVGX0hTUEFfTVBVX0VORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTU4KSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfSEFSUV9CVUZfSFNQQV9NUFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAxNUMpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9IQVJRX0JVRl9MVEVfTVBVX1NUQVJUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDE2MCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX0hBUlFfQlVGX0xURV9NUFVfRU5EICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTY0KSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfSEFSUV9CVUZfTFRFX01QVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAxNjgpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fU1dfSURMRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDE2QykpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTcwKSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX1NXX0lETEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAxNzQpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fRk9SQ0VfSURMRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDE3OCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTdDKSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX0ZPUkNFX0lETEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAxODApKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRENNX0RCR19TRUwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDE4NCkpCisKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfUlhCUlBfQ0xPQ0tfRU5fQ1RSTF9SWEJSUF9GT1JDRV9PTl9MU0IgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JYQlJQX0NMT0NLX0VOX0NUUkxfUlhCUlBfRk9SQ0VfT05fV0lEVEggICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SWEJSUF9DTE9DS19FTl9DVFJMX1JYQlJQX0ZPUkNFX09OX01BU0sgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlhCUlBfQ0xPQ0tfRU5fQ1RSTF9SWEJSUF9GT1JDRV9PTl9CSVQgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfQ0JVU19DTE9DS19FTl9DVFJMX1dDVExfQUNDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX0FDQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9DQlVTX0NMT0NLX0VOX0NUUkxfV0NUTF9BQ0NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfQ0JVU19DTE9DS19FTl9DVFJMX1dDVExfQUNDX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfQ0JVU19DTE9DS19FTl9DVFJMX1dDVF9BQ0NfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9XQ1RfQUNDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9DQlVTX0NMT0NLX0VOX0NUUkxfV0NUX0FDQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfQ0JVU19DTE9DS19FTl9DVFJMX1dDVF9BQ0NfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfQ0JVU19DTE9DS19FTl9DVFJMX0xfQUNDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9MX0FDQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9DQlVTX0NMT0NLX0VOX0NUUkxfTF9BQ0NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfQ0JVU19DTE9DS19FTl9DVFJMX0xfQUNDX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9DTE9DS19FTl9DVFJMX0xfUkVCUlBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfQ0xPQ0tfRU5fQ1RSTF9MX1JFQlJQX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0NMT0NLX0VOX0NUUkxfTF9SRUJSUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9DTE9DS19FTl9DVFJMX0xfUkVCUlBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9DTE9DS19FTl9DVFJMX0xfUkJNQVBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfQ0xPQ0tfRU5fQ1RSTF9MX1JCTUFQX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0NMT0NLX0VOX0NUUkxfTF9SQk1BUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9DTE9DS19FTl9DVFJMX0xfUkJNQVBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9DTE9DS19FTl9DVFJMX0xfUE9PTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfQ0xPQ0tfRU5fQ1RSTF9MX1BPT0xfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0NMT0NLX0VOX0NUUkxfTF9QT09MX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9DTE9DS19FTl9DVFJMX0xfUE9PTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9DTE9DS19FTl9DVFJMX0xfSEFSUV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfQ0xPQ0tfRU5fQ1RSTF9MX0hBUlFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0NMT0NLX0VOX0NUUkxfTF9IQVJRX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9DTE9DS19FTl9DVFJMX0xfSEFSUV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9DTE9DS19FTl9DVFJMX0xfRENJX1BBUlNFUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfQ0xPQ0tfRU5fQ1RSTF9MX0RDSV9QQVJTRVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0NMT0NLX0VOX0NUUkxfTF9EQ0lfUEFSU0VSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9DTE9DS19FTl9DVFJMX0xfRENJX1BBUlNFUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9DTE9DS19FTl9DVFJMX0xfQ0JSUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfQ0xPQ0tfRU5fQ1RSTF9MX0NCUlBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0NMT0NLX0VOX0NUUkxfTF9DQlJQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9DTE9DS19FTl9DVFJMX0xfQ0JSUF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9QT09MX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX1BPT0xfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9QT09MX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfUE9PTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfQlJQX0RNQV9MU0IgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9CUlBfRE1BX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfQlJQX0RNQV9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX0JSUF9ETUFfQklUICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV19SOTlfQ1RSTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX1I5OV9DVFJMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV19SOTlfQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dfUjk5X0NUUkxfQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX0NfQ09SUl9TRVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfQ19DT1JSX1NFUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX0NfQ09SUl9TRVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX0NPUlJfU0VSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX0VWRE9fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfQ19FVkRPX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX0NfRVZET19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX0VWRE9fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX1JUVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfQ19SVFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX0NfUlRUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX1JUVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfRFZJVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX0RWSVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9EVklUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfRFZJVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9IQVJRX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV1RfSEFSUV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dUX0hBUlFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9IQVJRX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9DRFJNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV1RfQ0RSTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dUX0NEUk1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9DRFJNX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9CQ0hfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV1RfQkNIX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dUX0JDSF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9CQ0hfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0hTUk1fQ0FMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV19IU1JNX0NBTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dfSFNSTV9DQUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0hTUk1fQ0FMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX1RYSUZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV19UWElGX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dfVFhJRl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX1RYSUZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0RSTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV19EUk1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dfRFJNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0RSTV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0NPUlJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV19DT1JSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dfQ09SUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0NPUlJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfUE9PTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9QT09MX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfUE9PTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX1BPT0xfQklUICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX0JSUF9ETUFfTFNCICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfQlJQX0RNQV9XSURUSCAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX0JSUF9ETUFfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9CUlBfRE1BX0JJVCAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dfUjk5X0NUUkxfTFNCICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV19SOTlfQ1RSTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dfUjk5X0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX1I5OV9DVFJMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX0NPUlJfU0VSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX0NfQ09SUl9TRVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX0NPUlJfU0VSX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfQ19DT1JSX1NFUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfQ19FVkRPX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX0NfRVZET19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX0VWRE9fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfQ19FVkRPX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfQ19SVFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX0NfUlRUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX1JUVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfQ19SVFRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX0RWSVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9EVklUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfRFZJVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX0RWSVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV1RfSEFSUV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dUX0hBUlFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9IQVJRX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV1RfSEFSUV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV1RfQ0RSTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dUX0NEUk1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9DRFJNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV1RfQ0RSTV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV1RfQkNIX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dUX0JDSF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9CQ0hfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV1RfQkNIX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV19IU1JNX0NBTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dfSFNSTV9DQUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0hTUk1fQ0FMX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV19IU1JNX0NBTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV19UWElGX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dfVFhJRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX1RYSUZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV19UWElGX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV19EUk1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dfRFJNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0RSTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV19EUk1fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV19DT1JSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dfQ09SUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0NPUlJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV19DT1JSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX1BPT0xfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfUE9PTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX1BPT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9QT09MX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9CUlBfRE1BX0xTQiAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX0JSUF9ETUFfV0lEVEggICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9CUlBfRE1BX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfQlJQX0RNQV9CSVQgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX1I5OV9DVFJMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dfUjk5X0NUUkxfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX1I5OV9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV19SOTlfQ1RSTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfQ19DT1JSX1NFUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX0NPUlJfU0VSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfQ19DT1JSX1NFUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX0NfQ09SUl9TRVJfQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX0NfRVZET19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX0VWRE9fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfQ19FVkRPX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX0NfRVZET19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX0NfUlRUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX1JUVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfQ19SVFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX0NfUlRUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9EVklUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfRFZJVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX0RWSVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9EVklUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dUX0hBUlFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9IQVJRX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV1RfSEFSUV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dUX0hBUlFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dUX0NEUk1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9DRFJNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV1RfQ0RSTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dUX0NEUk1fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dUX0JDSF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9CQ0hfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV1RfQkNIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dUX0JDSF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dfSFNSTV9DQUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0hTUk1fQ0FMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV19IU1JNX0NBTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dfSFNSTV9DQUxfQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dfVFhJRl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX1RYSUZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV19UWElGX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dfVFhJRl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dfRFJNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0RSTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV19EUk1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dfRFJNX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dfQ09SUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0NPUlJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV19DT1JSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dfQ09SUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfUE9PTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9QT09MX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfUE9PTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV0NUX1BPT0xfQklUICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV0NUX0JSUF9ETUFfTFNCICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfQlJQX0RNQV9XSURUSCAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV0NUX0JSUF9ETUFfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9CUlBfRE1BX0JJVCAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dfUjk5X0NUUkxfTFNCICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV19SOTlfQ1RSTF9XSURUSCAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dfUjk5X0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX1I5OV9DVFJMX0JJVCAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX0NPUlJfU0VSX0xTQiAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX0NfQ09SUl9TRVJfV0lEVEggICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX0NPUlJfU0VSX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfQ19DT1JSX1NFUl9CSVQgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfQ19FVkRPX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX0NfRVZET19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX0VWRE9fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfQ19FVkRPX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfQ19SVFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX0NfUlRUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX1JUVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfQ19SVFRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV0NUX0RWSVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9EVklUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfRFZJVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV0NUX0RWSVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV1RfSEFSUV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dUX0hBUlFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9IQVJRX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV1RfSEFSUV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV1RfQ0RSTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dUX0NEUk1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9DRFJNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV1RfQ0RSTV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV1RfQkNIX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dUX0JDSF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9CQ0hfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV1RfQkNIX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV19IU1JNX0NBTF9MU0IgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dfSFNSTV9DQUxfV0lEVEggICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0hTUk1fQ0FMX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV19IU1JNX0NBTF9CSVQgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV19UWElGX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dfVFhJRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX1RYSUZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV19UWElGX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV19EUk1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dfRFJNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0RSTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV19EUk1fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV19DT1JSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dfQ09SUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0NPUlJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV19DT1JSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9XQ1RMX0NMT0NLX0VOX0NUUkxfU0hSX1BPT0xfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfV0NUTF9DTE9DS19FTl9DVFJMX1NIUl9QT09MX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTFRFX1dDVExfQ0xPQ0tfRU5fQ1RSTF9TSFJfUE9PTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9XQ1RMX0NMT0NLX0VOX0NUUkxfU0hSX1BPT0xfQklUICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UVVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFVSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTFRFX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RVUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UVVJfQklUICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UUkFDRV9MU0IgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFJBQ0VfV0lEVEggICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTFRFX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RSQUNFX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UUkFDRV9CSVQgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9QT09MX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfUE9PTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTFRFX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1BPT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9QT09MX0JJVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0hBUlFfQlVGX0xTQiAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9IQVJRX0JVRl9XSURUSCAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTFRFX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfSEFSUV9CVUZfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0hBUlFfQlVGX0JJVCAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9FQ1RSTF9MU0IgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfRUNUUkxfV0lEVEggICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTFRFX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX0VDVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9FQ1RSTF9CSVQgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0NWSVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9DVklUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTFRFX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfQ1ZJVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0NWSVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RMX0NMT0NLX0VOX0NUUkxfU0hSX1BPT0xfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUTF9DTE9DS19FTl9DVFJMX1NIUl9QT09MX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9TSFJfUE9PTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RMX0NMT0NLX0VOX0NUUkxfU0hSX1BPT0xfQklUICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UVVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFVSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RVUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UVVJfQklUICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UUkFDRV9MU0IgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFJBQ0VfV0lEVEggICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RSQUNFX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UUkFDRV9CSVQgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9QT09MX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfUE9PTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1BPT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9QT09MX0JJVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0hBUlFfQlVGX0xTQiAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9IQVJRX0JVRl9XSURUSCAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfSEFSUV9CVUZfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0hBUlFfQlVGX0JJVCAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9FQ1RSTF9MU0IgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfRUNUUkxfV0lEVEggICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX0VDVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9FQ1RSTF9CSVQgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0NWSVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9DVklUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfQ1ZJVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0NWSVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RMX0NMT0NLX0VOX0NUUkxfU0hSX1BPT0xfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUTF9DTE9DS19FTl9DVFJMX1NIUl9QT09MX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9TSFJfUE9PTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RMX0NMT0NLX0VOX0NUUkxfU0hSX1BPT0xfQklUICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UVVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFVSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RVUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UVVJfQklUICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UUkFDRV9MU0IgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFJBQ0VfV0lEVEggICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RSQUNFX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UUkFDRV9CSVQgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9QT09MX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfUE9PTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1BPT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9QT09MX0JJVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0hBUlFfQlVGX0xTQiAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9IQVJRX0JVRl9XSURUSCAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfSEFSUV9CVUZfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0hBUlFfQlVGX0JJVCAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9FQ1RSTF9MU0IgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfRUNUUkxfV0lEVEggICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX0VDVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9FQ1RSTF9CSVQgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0NWSVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9DVklUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfQ1ZJVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0NWSVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RMX0NMT0NLX0VOX0NUUkxfU0hSX1BPT0xfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUTF9DTE9DS19FTl9DVFJMX1NIUl9QT09MX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVExfQ0xPQ0tfRU5fQ1RSTF9TSFJfUE9PTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RMX0NMT0NLX0VOX0NUUkxfU0hSX1BPT0xfQklUICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UVVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFVSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RVUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UVVJfQklUICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UUkFDRV9MU0IgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFJBQ0VfV0lEVEggICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RSQUNFX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UUkFDRV9CSVQgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9QT09MX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfUE9PTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1BPT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9QT09MX0JJVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0hBUlFfQlVGX0xTQiAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9IQVJRX0JVRl9XSURUSCAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfSEFSUV9CVUZfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0hBUlFfQlVGX0JJVCAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9FQ1RSTF9MU0IgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfRUNUUkxfV0lEVEggICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX0VDVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9FQ1RSTF9CSVQgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0NWSVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9DVklUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfQ1ZJVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0NWSVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUTF9DTE9DS19FTl9DVFJMX1NIUl9QT09MX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVExfQ0xPQ0tfRU5fQ1RSTF9TSFJfUE9PTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RMX0NMT0NLX0VOX0NUUkxfU0hSX1BPT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUTF9DTE9DS19FTl9DVFJMX1NIUl9QT09MX0JJVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFVSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RVUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UVVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFVSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFJBQ0VfTFNCICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RSQUNFX1dJRFRIICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UUkFDRV9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFJBQ0VfQklUICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfUE9PTF9MU0IgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1BPT0xfV0lEVEggICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9QT09MX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfUE9PTF9CSVQgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9IQVJRX0JVRl9MU0IgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfSEFSUV9CVUZfV0lEVEggICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0hBUlFfQlVGX01BU0sgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9IQVJRX0JVRl9CSVQgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfRUNUUkxfTFNCICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX0VDVFJMX1dJRFRIICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9FQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfRUNUUkxfQklUICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9DVklUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfQ1ZJVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0NWSVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9DVklUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUkVTRVRfQ1RSTF9MX1JFQlJQX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1JFU0VUX0NUUkxfTF9SRUJSUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9SRVNFVF9DVFJMX0xfUkVCUlBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUkVTRVRfQ1RSTF9MX1JFQlJQX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUkVTRVRfQ1RSTF9MX1JCTUFQX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1JFU0VUX0NUUkxfTF9SQk1BUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9SRVNFVF9DVFJMX0xfUkJNQVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUkVTRVRfQ1RSTF9MX1JCTUFQX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUkVTRVRfQ1RSTF9MX1BPT0xfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1JFU0VUX0NUUkxfTF9QT09MX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9SRVNFVF9DVFJMX0xfUE9PTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUkVTRVRfQ1RSTF9MX1BPT0xfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUkVTRVRfQ1RSTF9MX0hBUlFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1JFU0VUX0NUUkxfTF9IQVJRX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9SRVNFVF9DVFJMX0xfSEFSUV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUkVTRVRfQ1RSTF9MX0hBUlFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUkVTRVRfQ1RSTF9MX0RDSV9QQVJTRVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1JFU0VUX0NUUkxfTF9EQ0lfUEFSU0VSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9SRVNFVF9DVFJMX0xfRENJX1BBUlNFUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUkVTRVRfQ1RSTF9MX0RDSV9QQVJTRVJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUkVTRVRfQ1RSTF9MX0NCUlBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1JFU0VUX0NUUkxfTF9DQlJQX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9SRVNFVF9DVFJMX0xfQ0JSUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUkVTRVRfQ1RSTF9MX0NCUlBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dDVF9QT09MX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV0NUX1BPT0xfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dDVF9QT09MX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XQ1RfUE9PTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XQ1RfQlJQX0RNQV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dDVF9CUlBfRE1BX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XQ1RfQlJQX0RNQV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV0NUX0JSUF9ETUFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV19SOTlfQ1RSTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XX1I5OV9DVFJMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV19SOTlfQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dfUjk5X0NUUkxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX0NfQ09SUl9TRVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfQ19DT1JSX1NFUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX0NfQ09SUl9TRVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9DX0NPUlJfU0VSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9DX0VWRE9fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfQ19FVkRPX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX0NfRVZET19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9DX0VWRE9fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9DX1JUVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfQ19SVFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX0NfUlRUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9DX1JUVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XQ1RfRFZJVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV0NUX0RWSVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dDVF9EVklUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XQ1RfRFZJVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XVF9IQVJRX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV1RfSEFSUV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dUX0hBUlFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XVF9IQVJRX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XVF9DRFJNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV1RfQ0RSTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dUX0NEUk1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XVF9DRFJNX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XVF9CQ0hfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV1RfQkNIX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dUX0JDSF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XVF9CQ0hfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XX0hTUk1fQ0FMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV19IU1JNX0NBTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dfSFNSTV9DQUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XX0hTUk1fQ0FMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XX1RYSUZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV19UWElGX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dfVFhJRl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XX1RYSUZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XX0RSTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV19EUk1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dfRFJNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XX0RSTV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XX0NPUlJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV19DT1JSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dfQ09SUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XX0NPUlJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1JFU0VUX0NUUkxfU0hSX1BPT0xfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9SRVNFVF9DVFJMX1NIUl9QT09MX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUkVTRVRfQ1RSTF9TSFJfUE9PTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1JFU0VUX0NUUkxfU0hSX1BPT0xfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1JFU0VUX0NUUkxfV0NUTF9UVVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9SRVNFVF9DVFJMX1dDVExfVFVSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUkVTRVRfQ1RSTF9XQ1RMX1RVUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1JFU0VUX0NUUkxfV0NUTF9UVVJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1JFU0VUX0NUUkxfV0NUTF9UUkFDRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9SRVNFVF9DVFJMX1dDVExfVFJBQ0VfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUkVTRVRfQ1RSTF9XQ1RMX1RSQUNFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1JFU0VUX0NUUkxfV0NUTF9UUkFDRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1JFU0VUX0NUUkxfV0NUTF9QT09MX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9SRVNFVF9DVFJMX1dDVExfUE9PTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUkVTRVRfQ1RSTF9XQ1RMX1BPT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1JFU0VUX0NUUkxfV0NUTF9QT09MX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1JFU0VUX0NUUkxfV1RMX0hBUlFfQlVGX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9SRVNFVF9DVFJMX1dUTF9IQVJRX0JVRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUkVTRVRfQ1RSTF9XVExfSEFSUV9CVUZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1JFU0VUX0NUUkxfV1RMX0hBUlFfQlVGX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1JFU0VUX0NUUkxfV0NUTF9FQ1RSTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9SRVNFVF9DVFJMX1dDVExfRUNUUkxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUkVTRVRfQ1RSTF9XQ1RMX0VDVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1JFU0VUX0NUUkxfV0NUTF9FQ1RSTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1JFU0VUX0NUUkxfV1RMX0NWSVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9SRVNFVF9DVFJMX1dUTF9DVklUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUkVTRVRfQ1RSTF9XVExfQ1ZJVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1JFU0VUX0NUUkxfV1RMX0NWSVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1BXUl9BV0FSRV9FTl9DVFJMX0xfUkVCUlBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9QV1JfQVdBUkVfRU5fQ1RSTF9MX1JFQlJQX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUFdSX0FXQVJFX0VOX0NUUkxfTF9SRUJSUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1BXUl9BV0FSRV9FTl9DVFJMX0xfUkVCUlBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1BXUl9BV0FSRV9FTl9DVFJMX0xfUkJNQVBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9QV1JfQVdBUkVfRU5fQ1RSTF9MX1JCTUFQX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUFdSX0FXQVJFX0VOX0NUUkxfTF9SQk1BUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1BXUl9BV0FSRV9FTl9DVFJMX0xfUkJNQVBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1BXUl9BV0FSRV9FTl9DVFJMX0xfUE9PTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9QV1JfQVdBUkVfRU5fQ1RSTF9MX1BPT0xfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUFdSX0FXQVJFX0VOX0NUUkxfTF9QT09MX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1BXUl9BV0FSRV9FTl9DVFJMX0xfUE9PTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1BXUl9BV0FSRV9FTl9DVFJMX0xfSEFSUV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9QV1JfQVdBUkVfRU5fQ1RSTF9MX0hBUlFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUFdSX0FXQVJFX0VOX0NUUkxfTF9IQVJRX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1BXUl9BV0FSRV9FTl9DVFJMX0xfSEFSUV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1BXUl9BV0FSRV9FTl9DVFJMX0xfRENJX1BBUlNFUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9QV1JfQVdBUkVfRU5fQ1RSTF9MX0RDSV9QQVJTRVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUFdSX0FXQVJFX0VOX0NUUkxfTF9EQ0lfUEFSU0VSX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1BXUl9BV0FSRV9FTl9DVFJMX0xfRENJX1BBUlNFUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1BXUl9BV0FSRV9FTl9DVFJMX0xfQ0JSUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9QV1JfQVdBUkVfRU5fQ1RSTF9MX0NCUlBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUFdSX0FXQVJFX0VOX0NUUkxfTF9DQlJQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1BXUl9BV0FSRV9FTl9DVFJMX0xfQ0JSUF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV0NUX1BPT0xfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XQ1RfUE9PTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV0NUX1BPT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dDVF9QT09MX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dDVF9CUlBfRE1BX0xTQiAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV0NUX0JSUF9ETUFfV0lEVEggICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dDVF9CUlBfRE1BX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XQ1RfQlJQX0RNQV9CSVQgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XX1I5OV9DVFJMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dfUjk5X0NUUkxfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XX1I5OV9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV19SOTlfQ1RSTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfQ19DT1JSX1NFUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9DX0NPUlJfU0VSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfQ19DT1JSX1NFUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX0NfQ09SUl9TRVJfQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX0NfRVZET19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9DX0VWRE9fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfQ19FVkRPX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX0NfRVZET19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX0NfUlRUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9DX1JUVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfQ19SVFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX0NfUlRUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dDVF9EVklUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XQ1RfRFZJVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV0NUX0RWSVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dDVF9EVklUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dUX0hBUlFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XVF9IQVJRX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV1RfSEFSUV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dUX0hBUlFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dUX0NEUk1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XVF9DRFJNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV1RfQ0RSTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dUX0NEUk1fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dUX0JDSF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XVF9CQ0hfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV1RfQkNIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dUX0JDSF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dfSFNSTV9DQUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XX0hTUk1fQ0FMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV19IU1JNX0NBTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dfSFNSTV9DQUxfQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dfVFhJRl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XX1RYSUZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV19UWElGX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dfVFhJRl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dfRFJNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XX0RSTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV19EUk1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dfRFJNX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dfQ09SUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XX0NPUlJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV19DT1JSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dfQ09SUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9QV1JfQVdBUkVfRU5fQ1RSTF9TSFJfUE9PTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUFdSX0FXQVJFX0VOX0NUUkxfU0hSX1BPT0xfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1BXUl9BV0FSRV9FTl9DVFJMX1NIUl9QT09MX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9QV1JfQVdBUkVfRU5fQ1RSTF9TSFJfUE9PTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9QV1JfQVdBUkVfRU5fQ1RSTF9CVVNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUFdSX0FXQVJFX0VOX0NUUkxfQlVTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1BXUl9BV0FSRV9FTl9DVFJMX0JVU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9QV1JfQVdBUkVfRU5fQ1RSTF9CVVNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9QV1JfQVdBUkVfRU5fQ1RSTF9XQ1RMX1RVUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUFdSX0FXQVJFX0VOX0NUUkxfV0NUTF9UVVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1BXUl9BV0FSRV9FTl9DVFJMX1dDVExfVFVSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9QV1JfQVdBUkVfRU5fQ1RSTF9XQ1RMX1RVUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9QV1JfQVdBUkVfRU5fQ1RSTF9XQ1RMX1RSQUNFX0xTQiAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUFdSX0FXQVJFX0VOX0NUUkxfV0NUTF9UUkFDRV9XSURUSCAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1BXUl9BV0FSRV9FTl9DVFJMX1dDVExfVFJBQ0VfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9QV1JfQVdBUkVfRU5fQ1RSTF9XQ1RMX1RSQUNFX0JJVCAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9QV1JfQVdBUkVfRU5fQ1RSTF9XQ1RMX1BPT0xfTFNCICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUFdSX0FXQVJFX0VOX0NUUkxfV0NUTF9QT09MX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1BXUl9BV0FSRV9FTl9DVFJMX1dDVExfUE9PTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9QV1JfQVdBUkVfRU5fQ1RSTF9XQ1RMX1BPT0xfQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9QV1JfQVdBUkVfRU5fQ1RSTF9XVExfSEFSUV9CVUZfTFNCICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUFdSX0FXQVJFX0VOX0NUUkxfV1RMX0hBUlFfQlVGX1dJRFRIICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1BXUl9BV0FSRV9FTl9DVFJMX1dUTF9IQVJRX0JVRl9NQVNLICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9QV1JfQVdBUkVfRU5fQ1RSTF9XVExfSEFSUV9CVUZfQklUICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9QV1JfQVdBUkVfRU5fQ1RSTF9XQ1RMX0VDVFJMX0xTQiAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUFdSX0FXQVJFX0VOX0NUUkxfV0NUTF9FQ1RSTF9XSURUSCAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1BXUl9BV0FSRV9FTl9DVFJMX1dDVExfRUNUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9QV1JfQVdBUkVfRU5fQ1RSTF9XQ1RMX0VDVFJMX0JJVCAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9QV1JfQVdBUkVfRU5fQ1RSTF9XVExfQ1ZJVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUFdSX0FXQVJFX0VOX0NUUkxfV1RMX0NWSVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1BXUl9BV0FSRV9FTl9DVFJMX1dUTF9DVklUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9QV1JfQVdBUkVfRU5fQ1RSTF9XVExfQ1ZJVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9DX0VWRE9fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX0NfRVZET19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9DX0VWRE9fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fQ19FVkRPX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fQ19SVFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9DX1JUVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fQ19SVFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX0NfUlRUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX01BU19CVVNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9NQVNfQlVTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fTUFTX0JVU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX01BU19CVVNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX1NMVl9CVVNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9TTFZfQlVTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fU0xWX0JVU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX1NMVl9CVVNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX0xfQ0JSUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9MX0NCUlBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fTF9DQlJQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX0xfQ0JSUF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX0xfSEFSUV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9MX0hBUlFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fTF9IQVJRX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX0xfSEFSUV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX1dfRFJNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9XX0RSTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fV19EUk1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX1dfRFJNX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX1dUX0JDSF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9XVF9CQ0hfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fV1RfQkNIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX1dUX0JDSF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX1dUX0hBUlFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9XVF9IQVJRX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fV1RfSEFSUV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX1dUX0hBUlFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX1dUTF9DVklUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9XVExfQ1ZJVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fV1RMX0NWSVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX1dUTF9DVklUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX1dDVExfVFVSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9XQ1RMX1RVUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fV0NUTF9UVVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX1dDVExfVFVSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX1dUTF9IQVJRX0JVRl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9XVExfSEFSUV9CVUZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fV1RMX0hBUlFfQlVGX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX1dUTF9IQVJRX0JVRl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9ERFJfQ0xPQ0tfRU5BX1dDVF9EVklUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRERSX0NMT0NLX0VOQV9XQ1RfRFZJVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0REUl9DTE9DS19FTkFfV0NUX0RWSVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9ERFJfQ0xPQ0tfRU5BX1dDVF9EVklUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9ERFJfQ0xPQ0tfRU5BX1dUTF9IQVJRX0JVRl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRERSX0NMT0NLX0VOQV9XVExfSEFSUV9CVUZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0REUl9DTE9DS19FTkFfV1RMX0hBUlFfQlVGX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9ERFJfQ0xPQ0tfRU5BX1dUTF9IQVJRX0JVRl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9ERFJfQ0xPQ0tfRU5BX1dDVExfVFVSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRERSX0NMT0NLX0VOQV9XQ1RMX1RVUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0REUl9DTE9DS19FTkFfV0NUTF9UVVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9ERFJfQ0xPQ0tfRU5BX1dDVExfVFVSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9BU1NFUlRfSVJRX0xfVFVSX0FTU0VSVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfQVNTRVJUX0lSUV9MX1RVUl9BU1NFUlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0FTU0VSVF9JUlFfTF9UVVJfQVNTRVJUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9BU1NFUlRfSVJRX0xfVFVSX0FTU0VSVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9BU1NFUlRfSVJRX0xfSEFSUV9BU1NFUlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfQVNTRVJUX0lSUV9MX0hBUlFfQVNTRVJUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0FTU0VSVF9JUlFfTF9IQVJRX0FTU0VSVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9BU1NFUlRfSVJRX0xfSEFSUV9BU1NFUlRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9BU1NFUlRfSVJRX01QVV9XQ1RfRFZJVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfQVNTRVJUX0lSUV9NUFVfV0NUX0RWSVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0FTU0VSVF9JUlFfTVBVX1dDVF9EVklUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9BU1NFUlRfSVJRX01QVV9XQ1RfRFZJVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9BU1NFUlRfSVJRX01QVV9XQ1RMX1RVUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfQVNTRVJUX0lSUV9NUFVfV0NUTF9UVVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0FTU0VSVF9JUlFfTVBVX1dDVExfVFVSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9BU1NFUlRfSVJRX01QVV9XQ1RMX1RVUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9BU1NFUlRfSVJRX01QVV9XVExfSEFSUV9CVUZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfQVNTRVJUX0lSUV9NUFVfV1RMX0hBUlFfQlVGX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0FTU0VSVF9JUlFfTVBVX1dUTF9IQVJRX0JVRl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9BU1NFUlRfSVJRX01QVV9XVExfSEFSUV9CVUZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9BU1NFUlRfSVJRX01QVV9XQ1RMX1RSQUNFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfQVNTRVJUX0lSUV9NUFVfV0NUTF9UUkFDRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0FTU0VSVF9JUlFfTVBVX1dDVExfVFJBQ0VfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9BU1NFUlRfSVJRX01QVV9XQ1RMX1RSQUNFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9ERFJfQ0xPQ0tfRU5BX1NUQVRVU19XQ1RfRFZJVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRERSX0NMT0NLX0VOQV9TVEFUVVNfV0NUX0RWSVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0REUl9DTE9DS19FTkFfU1RBVFVTX1dDVF9EVklUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9ERFJfQ0xPQ0tfRU5BX1NUQVRVU19XQ1RfRFZJVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9ERFJfQ0xPQ0tfRU5BX1NUQVRVU19XVExfSEFSUV9CVUZfTFNCICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRERSX0NMT0NLX0VOQV9TVEFUVVNfV1RMX0hBUlFfQlVGX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0REUl9DTE9DS19FTkFfU1RBVFVTX1dUTF9IQVJRX0JVRl9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9ERFJfQ0xPQ0tfRU5BX1NUQVRVU19XVExfSEFSUV9CVUZfQklUICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9ERFJfQ0xPQ0tfRU5BX1NUQVRVU19XQ1RMX1RVUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRERSX0NMT0NLX0VOQV9TVEFUVVNfV0NUTF9UVVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0REUl9DTE9DS19FTkFfU1RBVFVTX1dDVExfVFVSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9ERFJfQ0xPQ0tfRU5BX1NUQVRVU19XQ1RMX1RVUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XVF9ERUJVR19UVElfQVJCVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV1RfREVCVUdfVFRJX0FSQlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dUX0RFQlVHX1RUSV9BUkJUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JFU0VSVkVEX09VVF9SRVNFUlZFRF9PVVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SRVNFUlZFRF9PVVRfUkVTRVJWRURfT1VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JFU0VSVkVEX09VVF9SRVNFUlZFRF9PVVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JFU0VSVkVEX0lOX1JFU0VSVkVEX0lOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SRVNFUlZFRF9JTl9SRVNFUlZFRF9JTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JFU0VSVkVEX0lOX1JFU0VSVkVEX0lOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX1JTUlZfTVBVX1NUQVJUX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9SU1JWX01QVV9TVEFSVF9BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX1JTUlZfTVBVX1NUQVJUX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX1JTUlZfTVBVX0VORF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9SU1JWX01QVV9FTkRfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX1JTUlZfTVBVX0VORF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX1JTUlZfTVBVX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9SU1JWX01QVV9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfUlNSVl9NUFVfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX1JTUlZfTVBVX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX0RTQ0hfTVBVX1NUQVJUX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9EU0NIX01QVV9TVEFSVF9BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX0RTQ0hfTVBVX1NUQVJUX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX0RTQ0hfTVBVX0VORF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9EU0NIX01QVV9FTkRfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX0RTQ0hfTVBVX0VORF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX0RTQ0hfTVBVX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9EU0NIX01QVV9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfRFNDSF9NUFVfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX0RTQ0hfTVBVX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX0xURV9NUFVfU1RBUlRfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9MVEVfTVBVX1NUQVJUX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX0xURV9NUFVfU1RBUlRfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX0xURV9NUFVfRU5EX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9MVEVfTVBVX0VORF9BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX0xURV9NUFVfRU5EX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX0xURV9NUFVfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9MVEVfTVBVX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfTFRFX01QVV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX0xURV9NUFVfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX1I5OV9NUFVfU1RBUlRfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9SOTlfTVBVX1NUQVJUX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX1I5OV9NUFVfU1RBUlRfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX1I5OV9NUFVfRU5EX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9SOTlfTVBVX0VORF9BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX1I5OV9NUFVfRU5EX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX1I5OV9NUFVfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9SOTlfTVBVX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfUjk5X01QVV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX1I5OV9NUFVfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUwX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMF9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTBfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUwX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUwX1NUQVJUX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMF9TVEFSVF9BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUwX1NUQVJUX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUwX0VORF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMF9FTkRfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUwX0VORF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUxX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMV9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTFfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUxX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUxX1NUQVJUX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMV9TVEFSVF9BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUxX1NUQVJUX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUxX0VORF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMV9FTkRfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUxX0VORF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUyX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMl9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTJfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUyX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUyX1NUQVJUX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMl9TVEFSVF9BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUyX1NUQVJUX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUyX0VORF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMl9FTkRfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUyX0VORF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfSEFSUV9CVUZfSFNQQV9NUFVfU1RBUlRfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX0hBUlFfQlVGX0hTUEFfTVBVX1NUQVJUX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfSEFSUV9CVUZfSFNQQV9NUFVfU1RBUlRfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfSEFSUV9CVUZfSFNQQV9NUFVfRU5EX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX0hBUlFfQlVGX0hTUEFfTVBVX0VORF9BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfSEFSUV9CVUZfSFNQQV9NUFVfRU5EX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfSEFSUV9CVUZfSFNQQV9NUFVfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX0hBUlFfQlVGX0hTUEFfTVBVX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9IQVJRX0JVRl9IU1BBX01QVV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfSEFSUV9CVUZfSFNQQV9NUFVfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfSEFSUV9CVUZfTFRFX01QVV9TVEFSVF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX0hBUlFfQlVGX0xURV9NUFVfU1RBUlRfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfSEFSUV9CVUZfTFRFX01QVV9TVEFSVF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfSEFSUV9CVUZfTFRFX01QVV9FTkRfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX0hBUlFfQlVGX0xURV9NUFVfRU5EX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfSEFSUV9CVUZfTFRFX01QVV9FTkRfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfSEFSUV9CVUZfTFRFX01QVV9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX0hBUlFfQlVGX0xURV9NUFVfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9IQVJRX0JVRl9MVEVfTVBVX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfSEFSUV9CVUZfTFRFX01QVV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX1NXX0lETEVfTF9SRUJSUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9TV19JRExFX0xfUkVCUlBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fU1dfSURMRV9MX1JFQlJQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX1NXX0lETEVfTF9SRUJSUF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX1NXX0lETEVfTF9SQk1BUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9TV19JRExFX0xfUkJNQVBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fU1dfSURMRV9MX1JCTUFQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX1NXX0lETEVfTF9SQk1BUF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX1NXX0lETEVfTF9IQVJRX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9TV19JRExFX0xfSEFSUV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fU1dfSURMRV9MX0hBUlFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX1NXX0lETEVfTF9IQVJRX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX1NXX0lETEVfTF9EQ0lfUEFSU0VSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9TV19JRExFX0xfRENJX1BBUlNFUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fU1dfSURMRV9MX0RDSV9QQVJTRVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX1NXX0lETEVfTF9EQ0lfUEFSU0VSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX1NXX0lETEVfTF9DQlJQX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9TV19JRExFX0xfQ0JSUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fU1dfSURMRV9MX0NCUlBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX1NXX0lETEVfTF9DQlJQX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XQ1RfQlJQX0RNQV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dDVF9CUlBfRE1BX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XQ1RfQlJQX0RNQV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV0NUX0JSUF9ETUFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV19SOTlfQ1RSTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XX1I5OV9DVFJMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV19SOTlfQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dfUjk5X0NUUkxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX0NfQ09SUl9TRVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfQ19DT1JSX1NFUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX0NfQ09SUl9TRVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9DX0NPUlJfU0VSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9DX0VWRE9fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfQ19FVkRPX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX0NfRVZET19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9DX0VWRE9fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9DX1JUVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfQ19SVFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX0NfUlRUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9DX1JUVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XQ1RfRFZJVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV0NUX0RWSVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dDVF9EVklUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XQ1RfRFZJVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XVF9IQVJRX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV1RfSEFSUV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dUX0hBUlFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XVF9IQVJRX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XVF9DRFJNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV1RfQ0RSTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dUX0NEUk1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XVF9DRFJNX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XVF9CQ0hfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV1RfQkNIX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dUX0JDSF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XVF9CQ0hfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XX0hTUk1fQ0FMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV19IU1JNX0NBTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dfSFNSTV9DQUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XX0hTUk1fQ0FMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XX1RYSUZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV19UWElGX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dfVFhJRl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XX1RYSUZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XX0RSTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV19EUk1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dfRFJNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XX0RSTV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XX0NPUlJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV19DT1JSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dfQ09SUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XX0NPUlJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX1NXX0lETEVfQlVTX0lOVEZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9TV19JRExFX0JVU19JTlRGX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fU1dfSURMRV9CVVNfSU5URl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX1NXX0lETEVfQlVTX0lOVEZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX1NXX0lETEVfU0xWX0JVU19JTlRGX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9TV19JRExFX1NMVl9CVVNfSU5URl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fU1dfSURMRV9TTFZfQlVTX0lOVEZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX1NXX0lETEVfU0xWX0JVU19JTlRGX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX1NXX0lETEVfV0NUTF9UVVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9TV19JRExFX1dDVExfVFVSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fU1dfSURMRV9XQ1RMX1RVUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX1NXX0lETEVfV0NUTF9UVVJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX1NXX0lETEVfV0NUTF9UUkFDRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9TV19JRExFX1dDVExfVFJBQ0VfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fU1dfSURMRV9XQ1RMX1RSQUNFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX1NXX0lETEVfV0NUTF9UUkFDRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX1NXX0lETEVfV1RMX0hBUlFfQlVGX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9TV19JRExFX1dUTF9IQVJRX0JVRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fU1dfSURMRV9XVExfSEFSUV9CVUZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX1NXX0lETEVfV1RMX0hBUlFfQlVGX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX1NXX0lETEVfV0NUTF9FQ1RSTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9TV19JRExFX1dDVExfRUNUUkxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fU1dfSURMRV9XQ1RMX0VDVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX1NXX0lETEVfV0NUTF9FQ1RSTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX1NXX0lETEVfV1RMX0NWSVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9TV19JRExFX1dUTF9DVklUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fU1dfSURMRV9XVExfQ1ZJVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX1NXX0lETEVfV1RMX0NWSVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX0ZPUkNFX0lETEVfTF9SRUJSUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9GT1JDRV9JRExFX0xfUkVCUlBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fRk9SQ0VfSURMRV9MX1JFQlJQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX0ZPUkNFX0lETEVfTF9SRUJSUF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX0ZPUkNFX0lETEVfTF9SQk1BUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9GT1JDRV9JRExFX0xfUkJNQVBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fRk9SQ0VfSURMRV9MX1JCTUFQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX0ZPUkNFX0lETEVfTF9SQk1BUF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX0ZPUkNFX0lETEVfTF9IQVJRX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9GT1JDRV9JRExFX0xfSEFSUV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fRk9SQ0VfSURMRV9MX0hBUlFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX0ZPUkNFX0lETEVfTF9IQVJRX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX0ZPUkNFX0lETEVfTF9EQ0lfUEFSU0VSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9GT1JDRV9JRExFX0xfRENJX1BBUlNFUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fRk9SQ0VfSURMRV9MX0RDSV9QQVJTRVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX0ZPUkNFX0lETEVfTF9EQ0lfUEFSU0VSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX0ZPUkNFX0lETEVfTF9DQlJQX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9GT1JDRV9JRExFX0xfQ0JSUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fRk9SQ0VfSURMRV9MX0NCUlBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX0ZPUkNFX0lETEVfTF9DQlJQX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XQ1RfQlJQX0RNQV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dDVF9CUlBfRE1BX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XQ1RfQlJQX0RNQV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV0NUX0JSUF9ETUFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV19SOTlfQ1RSTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XX1I5OV9DVFJMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV19SOTlfQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dfUjk5X0NUUkxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX0NfQ09SUl9TRVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfQ19DT1JSX1NFUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX0NfQ09SUl9TRVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9DX0NPUlJfU0VSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9DX0VWRE9fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfQ19FVkRPX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX0NfRVZET19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9DX0VWRE9fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9DX1JUVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfQ19SVFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX0NfUlRUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9DX1JUVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XQ1RfRFZJVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV0NUX0RWSVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dDVF9EVklUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XQ1RfRFZJVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XVF9IQVJRX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV1RfSEFSUV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dUX0hBUlFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XVF9IQVJRX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XVF9DRFJNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV1RfQ0RSTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dUX0NEUk1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XVF9DRFJNX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XVF9CQ0hfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV1RfQkNIX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dUX0JDSF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XVF9CQ0hfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XX0hTUk1fQ0FMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV19IU1JNX0NBTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dfSFNSTV9DQUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XX0hTUk1fQ0FMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XX1RYSUZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV19UWElGX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dfVFhJRl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XX1RYSUZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XX0RSTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV19EUk1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dfRFJNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XX0RSTV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XX0NPUlJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV19DT1JSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dfQ09SUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XX0NPUlJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX0ZPUkNFX0lETEVfQlVTX0lOVEZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9GT1JDRV9JRExFX0JVU19JTlRGX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fRk9SQ0VfSURMRV9CVVNfSU5URl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX0ZPUkNFX0lETEVfQlVTX0lOVEZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX0ZPUkNFX0lETEVfU0xWX0JVU19JTlRGX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9GT1JDRV9JRExFX1NMVl9CVVNfSU5URl9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fRk9SQ0VfSURMRV9TTFZfQlVTX0lOVEZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX0ZPUkNFX0lETEVfU0xWX0JVU19JTlRGX0JJVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX0ZPUkNFX0lETEVfV0NUTF9UVVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9GT1JDRV9JRExFX1dDVExfVFVSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fRk9SQ0VfSURMRV9XQ1RMX1RVUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX0ZPUkNFX0lETEVfV0NUTF9UVVJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX0ZPUkNFX0lETEVfV0NUTF9UUkFDRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9GT1JDRV9JRExFX1dDVExfVFJBQ0VfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fRk9SQ0VfSURMRV9XQ1RMX1RSQUNFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX0ZPUkNFX0lETEVfV0NUTF9UUkFDRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX0ZPUkNFX0lETEVfV1RMX0hBUlFfQlVGX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9GT1JDRV9JRExFX1dUTF9IQVJRX0JVRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fRk9SQ0VfSURMRV9XVExfSEFSUV9CVUZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX0ZPUkNFX0lETEVfV1RMX0hBUlFfQlVGX0JJVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX0ZPUkNFX0lETEVfV0NUTF9FQ1RSTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9GT1JDRV9JRExFX1dDVExfRUNUUkxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fRk9SQ0VfSURMRV9XQ1RMX0VDVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX0ZPUkNFX0lETEVfV0NUTF9FQ1RSTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX0ZPUkNFX0lETEVfV1RMX0NWSVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9GT1JDRV9JRExFX1dUTF9DVklUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fRk9SQ0VfSURMRV9XVExfQ1ZJVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX0ZPUkNFX0lETEVfV1RMX0NWSVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RDTV9EQkdfU0VMX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQ01fREJHX1NFTF9TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRENNX0RCR19TRUxfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxRikKKworCisjZW5kaWYgLypfQ1BIX1JYQlJQX0dMQl9DT05fUkVHX0hfKi8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BocnhicnBnbGJjb25yZWdfOTUuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhyeGJycGdsYmNvbnJlZ185NS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlZjVlNGUKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BocnhicnBnbGJjb25yZWdfOTUuaApAQCAtMCwwICsxLDE0MzAgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhfUlhCUlBfR0xCX0NPTl9SRUdfSF8KKyNkZWZpbmUgX0NQSF9SWEJSUF9HTEJfQ09OX1JFR19IXworCisKK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIFNSQU1BRERSOyAgICAgICAgIC8qIFNSQU0gYWRkciBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgU1JBTURBVEE7ICAgICAgICAgLyogU1JBTSBkYXRhIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBBUEJBRERSOyAgICAgICAgICAvKiBBUEIgYWRkciBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIEFQQkRBVEE7ICAgICAgICAgIC8qIEFQQiBkYXRhIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nKiAgQVBCQUREUjMyOyAgICAgICAgLyogQVBCIGFkZHIgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgICBBUEJEQVRBMzI7ICAgICAgICAvKiBBUEIgZGF0YSBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIERQUkFNQUREUjsgICAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSBzaWduZWQgICBzaG9ydCogRFBSQU1BRERSX1M7ICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBEUFJBTURBVEE7ICAgICAgICAvKiBEUFJBTSBkYXRhIGlzIDE2IGJpdHMgKi8KKworCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEFEMTEwMDAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9DT05fZW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTg0ICsgMSo0KQorCisKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfUlhCUlBfQ0xPQ0tfRU5fQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDAwMCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9DQlVTX0NMT0NLX0VOX0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDA0KSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9DQlVTX0NMT0NLX0VOX0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAwMDgpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX0NCVVNfQ0xPQ0tfRU5fQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDAwQykpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfQ0JVU19DTE9DS19FTl9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDEwKSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fQ0JVU19DTE9DS19FTl9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAwMTQpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9DTE9DS19FTl9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDAxOCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDFDKSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAwMjApKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDAyNCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDI4KSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9XQ1RMX0NMT0NLX0VOX0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAwMkMpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVExfQ0xPQ0tfRU5fQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDAzMCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUTF9DTE9DS19FTl9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDM0KSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RMX0NMT0NLX0VOX0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAwMzgpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RMX0NMT0NLX0VOX0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDAzQykpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1JFU0VUX0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDQwKSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAwNDQpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9SRVNFVF9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDA0OCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1BXUl9BV0FSRV9FTl9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDRDKSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAwNTApKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9QV1JfQVdBUkVfRU5fQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDA1NCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDU4KSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0REUl9DTE9DS19FTkEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAwNUMpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfQVNTRVJUX0lSUSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDA2MCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9ERFJfQ0xPQ0tfRU5BX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDY0KSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dUX0RFQlVHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAwNjgpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUkVTRVJWRURfT1VUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDA2QykpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SRVNFUlZFRF9JTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDcwKSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX1JTUlZfTVBVX1NUQVJUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAxMDApKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfUlNSVl9NUFVfRU5EICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDEwNCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9SU1JWX01QVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTA4KSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX0RTQ0hfTVBVX1NUQVJUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAxMEMpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfRFNDSF9NUFVfRU5EICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDExMCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9EU0NIX01QVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTE0KSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX0xURV9NUFVfU1RBUlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAxMTgpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfTFRFX01QVV9FTkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDExQykpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9MVEVfTVBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTIwKSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX1I5OV9NUFVfU1RBUlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAxMjQpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfUjk5X01QVV9FTkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDEyOCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9SOTlfTVBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTJDKSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAxMzApKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTBfU1RBUlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDEzNCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMF9FTkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTM4KSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAxM0MpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTFfU1RBUlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDE0MCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMV9FTkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTQ0KSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAxNDgpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTJfU1RBUlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDE0QykpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMl9FTkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTUwKSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfSEFSUV9CVUZfSFNQQV9NUFVfU1RBUlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAxNTQpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9IQVJRX0JVRl9IU1BBX01QVV9FTkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDE1OCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX0hBUlFfQlVGX0hTUEFfTVBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTVDKSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfSEFSUV9CVUZfTFRFX01QVV9TVEFSVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAxNjApKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9IQVJRX0JVRl9MVEVfTVBVX0VORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDE2NCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX0hBUlFfQlVGX0xURV9NUFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTY4KSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX1NXX0lETEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAxNkMpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDE3MCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9TV19JRExFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTc0KSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX0ZPUkNFX0lETEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAxNzgpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDE3QykpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9GT1JDRV9JRExFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTgwKSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RDTV9EQkdfU0VMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAxODQpKQorCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JYQlJQX0NMT0NLX0VOX0NUUkxfUlhCUlBfRk9SQ0VfT05fTFNCICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SWEJSUF9DTE9DS19FTl9DVFJMX1JYQlJQX0ZPUkNFX09OX1dJRFRIICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlhCUlBfQ0xPQ0tfRU5fQ1RSTF9SWEJSUF9GT1JDRV9PTl9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JYQlJQX0NMT0NLX0VOX0NUUkxfUlhCUlBfRk9SQ0VfT05fQklUICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9DQlVTX0NMT0NLX0VOX0NUUkxfV0NUTF9BQ0NfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfQ0JVU19DTE9DS19FTl9DVFJMX1dDVExfQUNDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTFRFX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX0FDQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9DQlVTX0NMT0NLX0VOX0NUUkxfV0NUTF9BQ0NfQklUICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9DQlVTX0NMT0NLX0VOX0NUUkxfV0NUX0FDQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfQ0JVU19DTE9DS19FTl9DVFJMX1dDVF9BQ0NfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTFRFX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9XQ1RfQUNDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9DQlVTX0NMT0NLX0VOX0NUUkxfV0NUX0FDQ19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9DQlVTX0NMT0NLX0VOX0NUUkxfTF9BQ0NfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfQ0JVU19DTE9DS19FTl9DVFJMX0xfQUNDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTFRFX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9MX0FDQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9DQlVTX0NMT0NLX0VOX0NUUkxfTF9BQ0NfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9DQlVTX0NMT0NLX0VOX0NUUkxfV0NUTF9BQ0NfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfQ0JVU19DTE9DS19FTl9DVFJMX1dDVExfQUNDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX0FDQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9DQlVTX0NMT0NLX0VOX0NUUkxfV0NUTF9BQ0NfQklUICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9DQlVTX0NMT0NLX0VOX0NUUkxfV0NUX0FDQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfQ0JVU19DTE9DS19FTl9DVFJMX1dDVF9BQ0NfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9XQ1RfQUNDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9DQlVTX0NMT0NLX0VOX0NUUkxfV0NUX0FDQ19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9DQlVTX0NMT0NLX0VOX0NUUkxfTF9BQ0NfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfQ0JVU19DTE9DS19FTl9DVFJMX0xfQUNDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9MX0FDQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9DQlVTX0NMT0NLX0VOX0NUUkxfTF9BQ0NfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9DQlVTX0NMT0NLX0VOX0NUUkxfV0NUTF9BQ0NfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfQ0JVU19DTE9DS19FTl9DVFJMX1dDVExfQUNDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX0FDQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9DQlVTX0NMT0NLX0VOX0NUUkxfV0NUTF9BQ0NfQklUICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9DQlVTX0NMT0NLX0VOX0NUUkxfV0NUX0FDQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfQ0JVU19DTE9DS19FTl9DVFJMX1dDVF9BQ0NfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9XQ1RfQUNDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9DQlVTX0NMT0NLX0VOX0NUUkxfV0NUX0FDQ19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9DQlVTX0NMT0NLX0VOX0NUUkxfTF9BQ0NfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfQ0JVU19DTE9DS19FTl9DVFJMX0xfQUNDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9MX0FDQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9DQlVTX0NMT0NLX0VOX0NUUkxfTF9BQ0NfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9DQlVTX0NMT0NLX0VOX0NUUkxfV0NUTF9BQ0NfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfQ0JVU19DTE9DS19FTl9DVFJMX1dDVExfQUNDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX0FDQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9DQlVTX0NMT0NLX0VOX0NUUkxfV0NUTF9BQ0NfQklUICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9DQlVTX0NMT0NLX0VOX0NUUkxfV0NUX0FDQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfQ0JVU19DTE9DS19FTl9DVFJMX1dDVF9BQ0NfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9XQ1RfQUNDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9DQlVTX0NMT0NLX0VOX0NUUkxfV0NUX0FDQ19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9DQlVTX0NMT0NLX0VOX0NUUkxfTF9BQ0NfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfQ0JVU19DTE9DS19FTl9DVFJMX0xfQUNDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9MX0FDQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9DQlVTX0NMT0NLX0VOX0NUUkxfTF9BQ0NfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fQ0JVU19DTE9DS19FTl9DVFJMX1dDVExfQUNDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX0FDQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19DQlVTX0NMT0NLX0VOX0NUUkxfV0NUTF9BQ0NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fQ0JVU19DTE9DS19FTl9DVFJMX1dDVExfQUNDX0JJVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fQ0JVU19DTE9DS19FTl9DVFJMX1dDVF9BQ0NfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9XQ1RfQUNDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19DQlVTX0NMT0NLX0VOX0NUUkxfV0NUX0FDQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fQ0JVU19DTE9DS19FTl9DVFJMX1dDVF9BQ0NfQklUICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fQ0JVU19DTE9DS19FTl9DVFJMX0xfQUNDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9MX0FDQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19DQlVTX0NMT0NLX0VOX0NUUkxfTF9BQ0NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fQ0JVU19DTE9DS19FTl9DVFJMX0xfQUNDX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfQ0xPQ0tfRU5fQ1RSTF9MX1JFQlJQX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0NMT0NLX0VOX0NUUkxfTF9SRUJSUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9DTE9DS19FTl9DVFJMX0xfUkVCUlBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfQ0xPQ0tfRU5fQ1RSTF9MX1JFQlJQX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfQ0xPQ0tfRU5fQ1RSTF9MX1JCTUFQX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0NMT0NLX0VOX0NUUkxfTF9SQk1BUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9DTE9DS19FTl9DVFJMX0xfUkJNQVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfQ0xPQ0tfRU5fQ1RSTF9MX1JCTUFQX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfQ0xPQ0tfRU5fQ1RSTF9MX0hBUlFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0NMT0NLX0VOX0NUUkxfTF9IQVJRX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9DTE9DS19FTl9DVFJMX0xfSEFSUV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfQ0xPQ0tfRU5fQ1RSTF9MX0hBUlFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfQ0xPQ0tfRU5fQ1RSTF9MX0RDSV9QQVJTRVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0NMT0NLX0VOX0NUUkxfTF9EQ0lfUEFSU0VSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9DTE9DS19FTl9DVFJMX0xfRENJX1BBUlNFUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfQ0xPQ0tfRU5fQ1RSTF9MX0RDSV9QQVJTRVJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfQ0xPQ0tfRU5fQ1RSTF9MX0NCUlBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0NMT0NLX0VOX0NUUkxfTF9DQlJQX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9DTE9DS19FTl9DVFJMX0xfQ0JSUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfQ0xPQ0tfRU5fQ1RSTF9MX0NCUlBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfUE9PTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9QT09MX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfUE9PTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX1BPT0xfQklUICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX0JSUF9ETUFfTFNCICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfQlJQX0RNQV9XSURUSCAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX0JSUF9ETUFfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9CUlBfRE1BX0JJVCAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dfUjk5X0NUUkxfTFNCICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV19SOTlfQ1RSTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dfUjk5X0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX1I5OV9DVFJMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX0NPUlJfU0VSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX0NfQ09SUl9TRVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX0NPUlJfU0VSX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfQ19DT1JSX1NFUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfQ19FVkRPX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX0NfRVZET19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX0VWRE9fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfQ19FVkRPX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfQ19SVFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX0NfUlRUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX1JUVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfQ19SVFRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX0RWSVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9EVklUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfRFZJVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX0RWSVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV1RfSEFSUV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dUX0hBUlFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9IQVJRX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV1RfSEFSUV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV1RfQ0RSTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dUX0NEUk1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9DRFJNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV1RfQ0RSTV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV1RfQkNIX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dUX0JDSF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9CQ0hfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV1RfQkNIX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV19IU1JNX0NBTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dfSFNSTV9DQUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0hTUk1fQ0FMX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV19IU1JNX0NBTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV19EUk1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dfRFJNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0RSTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV19EUk1fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV19DT1JSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dfQ09SUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0NPUlJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV19DT1JSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX1BPT0xfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfUE9PTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX1BPT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9QT09MX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9CUlBfRE1BX0xTQiAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX0JSUF9ETUFfV0lEVEggICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9CUlBfRE1BX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfQlJQX0RNQV9CSVQgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX1I5OV9DVFJMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dfUjk5X0NUUkxfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX1I5OV9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV19SOTlfQ1RSTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfQ19DT1JSX1NFUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX0NPUlJfU0VSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfQ19DT1JSX1NFUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX0NfQ09SUl9TRVJfQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX0NfRVZET19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX0VWRE9fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfQ19FVkRPX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX0NfRVZET19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX0NfUlRUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX1JUVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfQ19SVFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX0NfUlRUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9EVklUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfRFZJVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX0RWSVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9EVklUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dUX0hBUlFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9IQVJRX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV1RfSEFSUV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dUX0hBUlFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dUX0NEUk1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9DRFJNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV1RfQ0RSTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dUX0NEUk1fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dUX0JDSF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9CQ0hfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV1RfQkNIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dUX0JDSF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dfSFNSTV9DQUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0hTUk1fQ0FMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV19IU1JNX0NBTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dfSFNSTV9DQUxfQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dfRFJNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0RSTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV19EUk1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dfRFJNX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dfQ09SUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0NPUlJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV19DT1JSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dfQ09SUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9QT09MX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX1BPT0xfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9QT09MX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfUE9PTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfQlJQX0RNQV9MU0IgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9CUlBfRE1BX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfQlJQX0RNQV9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX0JSUF9ETUFfQklUICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV19SOTlfQ1RSTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX1I5OV9DVFJMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV19SOTlfQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dfUjk5X0NUUkxfQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX0NfQ09SUl9TRVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfQ19DT1JSX1NFUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX0NfQ09SUl9TRVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX0NPUlJfU0VSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX0VWRE9fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfQ19FVkRPX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX0NfRVZET19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX0VWRE9fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX1JUVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfQ19SVFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX0NfUlRUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX1JUVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfRFZJVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX0RWSVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9EVklUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfRFZJVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9IQVJRX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV1RfSEFSUV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dUX0hBUlFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9IQVJRX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9DRFJNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV1RfQ0RSTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dUX0NEUk1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9DRFJNX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9CQ0hfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV1RfQkNIX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dUX0JDSF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9CQ0hfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0hTUk1fQ0FMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV19IU1JNX0NBTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dfSFNSTV9DQUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0hTUk1fQ0FMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0RSTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV19EUk1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dfRFJNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0RSTV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0NPUlJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV19DT1JSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dfQ09SUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0NPUlJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV0NUX1BPT0xfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfUE9PTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV0NUX1BPT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9QT09MX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9CUlBfRE1BX0xTQiAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV0NUX0JSUF9ETUFfV0lEVEggICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9CUlBfRE1BX01BU0sgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfQlJQX0RNQV9CSVQgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX1I5OV9DVFJMX0xTQiAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dfUjk5X0NUUkxfV0lEVEggICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX1I5OV9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV19SOTlfQ1RSTF9CSVQgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfQ19DT1JSX1NFUl9MU0IgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX0NPUlJfU0VSX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfQ19DT1JSX1NFUl9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX0NfQ09SUl9TRVJfQklUICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX0NfRVZET19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX0VWRE9fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfQ19FVkRPX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX0NfRVZET19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX0NfUlRUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX1JUVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfQ19SVFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX0NfUlRUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9EVklUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfRFZJVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV0NUX0RWSVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9EVklUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dUX0hBUlFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9IQVJRX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV1RfSEFSUV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dUX0hBUlFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dUX0NEUk1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9DRFJNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV1RfQ0RSTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dUX0NEUk1fQklUICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dUX0JDSF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9CQ0hfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV1RfQkNIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dUX0JDSF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dfSFNSTV9DQUxfTFNCICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0hTUk1fQ0FMX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV19IU1JNX0NBTF9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dfSFNSTV9DQUxfQklUICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dfRFJNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0RSTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV19EUk1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dfRFJNX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dfQ09SUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0NPUlJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV19DT1JSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dfQ09SUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfV0NUTF9DTE9DS19FTl9DVFJMX1NIUl9QT09MX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTFRFX1dDVExfQ0xPQ0tfRU5fQ1RSTF9TSFJfUE9PTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9XQ1RMX0NMT0NLX0VOX0NUUkxfU0hSX1BPT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfV0NUTF9DTE9DS19FTl9DVFJMX1NIUl9QT09MX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFVSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTFRFX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RVUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UVVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFVSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFJBQ0VfTFNCICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTFRFX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RSQUNFX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UUkFDRV9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFJBQ0VfQklUICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfUE9PTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTFRFX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1BPT0xfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9QT09MX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfUE9PTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9IQVJRX0JVRl9MU0IgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTFRFX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfSEFSUV9CVUZfV0lEVEggICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0hBUlFfQlVGX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9IQVJRX0JVRl9CSVQgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfRUNUUkxfTFNCICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTFRFX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX0VDVFJMX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9FQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfRUNUUkxfQklUICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9DVklUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTFRFX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfQ1ZJVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0NWSVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9DVklUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUTF9DTE9DS19FTl9DVFJMX1NIUl9QT09MX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9TSFJfUE9PTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RMX0NMT0NLX0VOX0NUUkxfU0hSX1BPT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUTF9DTE9DS19FTl9DVFJMX1NIUl9QT09MX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFVSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RVUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UVVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFVSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFJBQ0VfTFNCICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RSQUNFX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UUkFDRV9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFJBQ0VfQklUICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfUE9PTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1BPT0xfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9QT09MX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfUE9PTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9IQVJRX0JVRl9MU0IgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfSEFSUV9CVUZfV0lEVEggICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0hBUlFfQlVGX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9IQVJRX0JVRl9CSVQgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfRUNUUkxfTFNCICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX0VDVFJMX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9FQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfRUNUUkxfQklUICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9DVklUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfQ1ZJVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0NWSVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9DVklUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUTF9DTE9DS19FTl9DVFJMX1NIUl9QT09MX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9TSFJfUE9PTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RMX0NMT0NLX0VOX0NUUkxfU0hSX1BPT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUTF9DTE9DS19FTl9DVFJMX1NIUl9QT09MX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFVSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RVUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UVVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFVSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFJBQ0VfTFNCICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RSQUNFX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UUkFDRV9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFJBQ0VfQklUICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfUE9PTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1BPT0xfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9QT09MX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfUE9PTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9IQVJRX0JVRl9MU0IgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfSEFSUV9CVUZfV0lEVEggICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0hBUlFfQlVGX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9IQVJRX0JVRl9CSVQgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfRUNUUkxfTFNCICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX0VDVFJMX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9FQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfRUNUUkxfQklUICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9DVklUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfQ1ZJVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0NWSVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9DVklUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUTF9DTE9DS19FTl9DVFJMX1NIUl9QT09MX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVExfQ0xPQ0tfRU5fQ1RSTF9TSFJfUE9PTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RMX0NMT0NLX0VOX0NUUkxfU0hSX1BPT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUTF9DTE9DS19FTl9DVFJMX1NIUl9QT09MX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFVSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RVUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UVVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFVSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFJBQ0VfTFNCICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RSQUNFX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UUkFDRV9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFJBQ0VfQklUICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfUE9PTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1BPT0xfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9QT09MX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfUE9PTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9IQVJRX0JVRl9MU0IgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfSEFSUV9CVUZfV0lEVEggICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0hBUlFfQlVGX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9IQVJRX0JVRl9CSVQgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfRUNUUkxfTFNCICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX0VDVFJMX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9FQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfRUNUUkxfQklUICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9DVklUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfQ1ZJVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0NWSVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9DVklUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVExfQ0xPQ0tfRU5fQ1RSTF9TSFJfUE9PTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RMX0NMT0NLX0VOX0NUUkxfU0hSX1BPT0xfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUTF9DTE9DS19FTl9DVFJMX1NIUl9QT09MX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVExfQ0xPQ0tfRU5fQ1RSTF9TSFJfUE9PTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RVUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UVVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFVSX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RVUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RSQUNFX0xTQiAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UUkFDRV9XSURUSCAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFJBQ0VfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RSQUNFX0JJVCAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1BPT0xfTFNCICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9QT09MX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfUE9PTF9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1BPT0xfQklUICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfSEFSUV9CVUZfTFNCICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0hBUlFfQlVGX1dJRFRIICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9IQVJRX0JVRl9NQVNLICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfSEFSUV9CVUZfQklUICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX0VDVFJMX0xTQiAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9FQ1RSTF9XSURUSCAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfRUNUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX0VDVFJMX0JJVCAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfQ1ZJVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0NWSVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9DVklUX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfQ1ZJVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1JFU0VUX0NUUkxfTF9SRUJSUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9SRVNFVF9DVFJMX0xfUkVCUlBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUkVTRVRfQ1RSTF9MX1JFQlJQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1JFU0VUX0NUUkxfTF9SRUJSUF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1JFU0VUX0NUUkxfTF9SQk1BUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9SRVNFVF9DVFJMX0xfUkJNQVBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUkVTRVRfQ1RSTF9MX1JCTUFQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1JFU0VUX0NUUkxfTF9SQk1BUF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1JFU0VUX0NUUkxfTF9IQVJRX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9SRVNFVF9DVFJMX0xfSEFSUV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUkVTRVRfQ1RSTF9MX0hBUlFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1JFU0VUX0NUUkxfTF9IQVJRX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1JFU0VUX0NUUkxfTF9EQ0lfUEFSU0VSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9SRVNFVF9DVFJMX0xfRENJX1BBUlNFUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUkVTRVRfQ1RSTF9MX0RDSV9QQVJTRVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1JFU0VUX0NUUkxfTF9EQ0lfUEFSU0VSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1JFU0VUX0NUUkxfTF9DQlJQX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9SRVNFVF9DVFJMX0xfQ0JSUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUkVTRVRfQ1RSTF9MX0NCUlBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1JFU0VUX0NUUkxfTF9DQlJQX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XQ1RfUE9PTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dDVF9QT09MX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XQ1RfUE9PTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV0NUX1BPT0xfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV0NUX0JSUF9ETUFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XQ1RfQlJQX0RNQV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV0NUX0JSUF9ETUFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dDVF9CUlBfRE1BX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dfUjk5X0NUUkxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV19SOTlfQ1RSTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dfUjk5X0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XX1I5OV9DVFJMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9DX0NPUlJfU0VSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX0NfQ09SUl9TRVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9DX0NPUlJfU0VSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfQ19DT1JSX1NFUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfQ19FVkRPX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX0NfRVZET19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9DX0VWRE9fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfQ19FVkRPX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfQ19SVFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX0NfUlRUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9DX1JUVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfQ19SVFRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV0NUX0RWSVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dDVF9EVklUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XQ1RfRFZJVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV0NUX0RWSVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV1RfSEFSUV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dUX0hBUlFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XVF9IQVJRX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV1RfSEFSUV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV1RfQ0RSTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dUX0NEUk1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XVF9DRFJNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV1RfQ0RSTV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV1RfQkNIX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dUX0JDSF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XVF9CQ0hfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV1RfQkNIX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV19IU1JNX0NBTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dfSFNSTV9DQUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XX0hTUk1fQ0FMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV19IU1JNX0NBTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV19UWElGX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dfVFhJRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XX1RYSUZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV19UWElGX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV19EUk1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dfRFJNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XX0RSTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV19EUk1fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV19DT1JSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dfQ09SUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XX0NPUlJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV19DT1JSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9SRVNFVF9DVFJMX1NIUl9QT09MX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUkVTRVRfQ1RSTF9TSFJfUE9PTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1JFU0VUX0NUUkxfU0hSX1BPT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9SRVNFVF9DVFJMX1NIUl9QT09MX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9SRVNFVF9DVFJMX1dDVExfVFVSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUkVTRVRfQ1RSTF9XQ1RMX1RVUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1JFU0VUX0NUUkxfV0NUTF9UVVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9SRVNFVF9DVFJMX1dDVExfVFVSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9SRVNFVF9DVFJMX1dDVExfVFJBQ0VfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUkVTRVRfQ1RSTF9XQ1RMX1RSQUNFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1JFU0VUX0NUUkxfV0NUTF9UUkFDRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9SRVNFVF9DVFJMX1dDVExfVFJBQ0VfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9SRVNFVF9DVFJMX1dDVExfUE9PTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUkVTRVRfQ1RSTF9XQ1RMX1BPT0xfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1JFU0VUX0NUUkxfV0NUTF9QT09MX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9SRVNFVF9DVFJMX1dDVExfUE9PTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9SRVNFVF9DVFJMX1dUTF9IQVJRX0JVRl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUkVTRVRfQ1RSTF9XVExfSEFSUV9CVUZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1JFU0VUX0NUUkxfV1RMX0hBUlFfQlVGX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9SRVNFVF9DVFJMX1dUTF9IQVJRX0JVRl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9SRVNFVF9DVFJMX1dDVExfRUNUUkxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUkVTRVRfQ1RSTF9XQ1RMX0VDVFJMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1JFU0VUX0NUUkxfV0NUTF9FQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9SRVNFVF9DVFJMX1dDVExfRUNUUkxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9SRVNFVF9DVFJMX1dUTF9DVklUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUkVTRVRfQ1RSTF9XVExfQ1ZJVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1JFU0VUX0NUUkxfV1RMX0NWSVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9SRVNFVF9DVFJMX1dUTF9DVklUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9QV1JfQVdBUkVfRU5fQ1RSTF9MX1JFQlJQX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUFdSX0FXQVJFX0VOX0NUUkxfTF9SRUJSUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1BXUl9BV0FSRV9FTl9DVFJMX0xfUkVCUlBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9QV1JfQVdBUkVfRU5fQ1RSTF9MX1JFQlJQX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9QV1JfQVdBUkVfRU5fQ1RSTF9MX1JCTUFQX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUFdSX0FXQVJFX0VOX0NUUkxfTF9SQk1BUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1BXUl9BV0FSRV9FTl9DVFJMX0xfUkJNQVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9QV1JfQVdBUkVfRU5fQ1RSTF9MX1JCTUFQX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9QV1JfQVdBUkVfRU5fQ1RSTF9MX0hBUlFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUFdSX0FXQVJFX0VOX0NUUkxfTF9IQVJRX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1BXUl9BV0FSRV9FTl9DVFJMX0xfSEFSUV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9QV1JfQVdBUkVfRU5fQ1RSTF9MX0hBUlFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9QV1JfQVdBUkVfRU5fQ1RSTF9MX0RDSV9QQVJTRVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUFdSX0FXQVJFX0VOX0NUUkxfTF9EQ0lfUEFSU0VSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1BXUl9BV0FSRV9FTl9DVFJMX0xfRENJX1BBUlNFUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9QV1JfQVdBUkVfRU5fQ1RSTF9MX0RDSV9QQVJTRVJfQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9QV1JfQVdBUkVfRU5fQ1RSTF9MX0NCUlBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUFdSX0FXQVJFX0VOX0NUUkxfTF9DQlJQX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1BXUl9BV0FSRV9FTl9DVFJMX0xfQ0JSUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9QV1JfQVdBUkVfRU5fQ1RSTF9MX0NCUlBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dDVF9QT09MX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV0NUX1BPT0xfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dDVF9QT09MX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XQ1RfUE9PTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XQ1RfQlJQX0RNQV9MU0IgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dDVF9CUlBfRE1BX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XQ1RfQlJQX0RNQV9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV0NUX0JSUF9ETUFfQklUICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV19SOTlfQ1RSTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XX1I5OV9DVFJMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV19SOTlfQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dfUjk5X0NUUkxfQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX0NfQ09SUl9TRVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfQ19DT1JSX1NFUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX0NfQ09SUl9TRVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9DX0NPUlJfU0VSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9DX0VWRE9fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfQ19FVkRPX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX0NfRVZET19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9DX0VWRE9fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9DX1JUVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfQ19SVFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX0NfUlRUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9DX1JUVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XQ1RfRFZJVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV0NUX0RWSVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dDVF9EVklUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XQ1RfRFZJVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XVF9IQVJRX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV1RfSEFSUV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dUX0hBUlFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XVF9IQVJRX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XVF9DRFJNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV1RfQ0RSTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dUX0NEUk1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XVF9DRFJNX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XVF9CQ0hfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV1RfQkNIX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dUX0JDSF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XVF9CQ0hfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XX0hTUk1fQ0FMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV19IU1JNX0NBTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dfSFNSTV9DQUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XX0hTUk1fQ0FMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XX1RYSUZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV19UWElGX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dfVFhJRl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XX1RYSUZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XX0RSTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV19EUk1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dfRFJNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XX0RSTV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XX0NPUlJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV19DT1JSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dfQ09SUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XX0NPUlJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUFdSX0FXQVJFX0VOX0NUUkxfU0hSX1BPT0xfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1BXUl9BV0FSRV9FTl9DVFJMX1NIUl9QT09MX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9QV1JfQVdBUkVfRU5fQ1RSTF9TSFJfUE9PTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUFdSX0FXQVJFX0VOX0NUUkxfU0hSX1BPT0xfQklUICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUFdSX0FXQVJFX0VOX0NUUkxfQlVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1BXUl9BV0FSRV9FTl9DVFJMX0JVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9QV1JfQVdBUkVfRU5fQ1RSTF9CVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUFdSX0FXQVJFX0VOX0NUUkxfQlVTX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUFdSX0FXQVJFX0VOX0NUUkxfV0NUTF9UVVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1BXUl9BV0FSRV9FTl9DVFJMX1dDVExfVFVSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9QV1JfQVdBUkVfRU5fQ1RSTF9XQ1RMX1RVUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUFdSX0FXQVJFX0VOX0NUUkxfV0NUTF9UVVJfQklUICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUFdSX0FXQVJFX0VOX0NUUkxfV0NUTF9UUkFDRV9MU0IgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1BXUl9BV0FSRV9FTl9DVFJMX1dDVExfVFJBQ0VfV0lEVEggICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9QV1JfQVdBUkVfRU5fQ1RSTF9XQ1RMX1RSQUNFX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUFdSX0FXQVJFX0VOX0NUUkxfV0NUTF9UUkFDRV9CSVQgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUFdSX0FXQVJFX0VOX0NUUkxfV0NUTF9QT09MX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1BXUl9BV0FSRV9FTl9DVFJMX1dDVExfUE9PTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9QV1JfQVdBUkVfRU5fQ1RSTF9XQ1RMX1BPT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUFdSX0FXQVJFX0VOX0NUUkxfV0NUTF9QT09MX0JJVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUFdSX0FXQVJFX0VOX0NUUkxfV1RMX0hBUlFfQlVGX0xTQiAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1BXUl9BV0FSRV9FTl9DVFJMX1dUTF9IQVJRX0JVRl9XSURUSCAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9QV1JfQVdBUkVfRU5fQ1RSTF9XVExfSEFSUV9CVUZfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUFdSX0FXQVJFX0VOX0NUUkxfV1RMX0hBUlFfQlVGX0JJVCAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUFdSX0FXQVJFX0VOX0NUUkxfV0NUTF9FQ1RSTF9MU0IgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1BXUl9BV0FSRV9FTl9DVFJMX1dDVExfRUNUUkxfV0lEVEggICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9QV1JfQVdBUkVfRU5fQ1RSTF9XQ1RMX0VDVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUFdSX0FXQVJFX0VOX0NUUkxfV0NUTF9FQ1RSTF9CSVQgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUFdSX0FXQVJFX0VOX0NUUkxfV1RMX0NWSVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1BXUl9BV0FSRV9FTl9DVFJMX1dUTF9DVklUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9QV1JfQVdBUkVfRU5fQ1RSTF9XVExfQ1ZJVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUFdSX0FXQVJFX0VOX0NUUkxfV1RMX0NWSVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fQ19FVkRPX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9DX0VWRE9fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fQ19FVkRPX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX0NfRVZET19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX0NfUlRUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fQ19SVFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX0NfUlRUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9DX1JUVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9NQVNfQlVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fTUFTX0JVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX01BU19CVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9NQVNfQlVTX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9TTFZfQlVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fU0xWX0JVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX1NMVl9CVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9TTFZfQlVTX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9MX0NCUlBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fTF9DQlJQX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX0xfQ0JSUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9MX0NCUlBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9MX0hBUlFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fTF9IQVJRX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX0xfSEFSUV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9MX0hBUlFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9XX0RSTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fV19EUk1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX1dfRFJNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9XX0RSTV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9XVF9CQ0hfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fV1RfQkNIX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX1dUX0JDSF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9XVF9CQ0hfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9XVF9IQVJRX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fV1RfSEFSUV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX1dUX0hBUlFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9XVF9IQVJRX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9XVExfQ1ZJVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fV1RMX0NWSVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX1dUTF9DVklUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9XVExfQ1ZJVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9XQ1RMX1RVUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fV0NUTF9UVVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX1dDVExfVFVSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9XQ1RMX1RVUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9XVExfSEFSUV9CVUZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fV1RMX0hBUlFfQlVGX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX1dUTF9IQVJRX0JVRl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9XVExfSEFSUV9CVUZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRERSX0NMT0NLX0VOQV9XQ1RfRFZJVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0REUl9DTE9DS19FTkFfV0NUX0RWSVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9ERFJfQ0xPQ0tfRU5BX1dDVF9EVklUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRERSX0NMT0NLX0VOQV9XQ1RfRFZJVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRERSX0NMT0NLX0VOQV9XVExfSEFSUV9CVUZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0REUl9DTE9DS19FTkFfV1RMX0hBUlFfQlVGX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9ERFJfQ0xPQ0tfRU5BX1dUTF9IQVJRX0JVRl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRERSX0NMT0NLX0VOQV9XVExfSEFSUV9CVUZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRERSX0NMT0NLX0VOQV9XQ1RMX1RVUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0REUl9DTE9DS19FTkFfV0NUTF9UVVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9ERFJfQ0xPQ0tfRU5BX1dDVExfVFVSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRERSX0NMT0NLX0VOQV9XQ1RMX1RVUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfQVNTRVJUX0lSUV9MX0hBUlFfQVNTRVJUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0FTU0VSVF9JUlFfTF9IQVJRX0FTU0VSVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9BU1NFUlRfSVJRX0xfSEFSUV9BU1NFUlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfQVNTRVJUX0lSUV9MX0hBUlFfQVNTRVJUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfQVNTRVJUX0lSUV9NUFVfV0NUX0RWSVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0FTU0VSVF9JUlFfTVBVX1dDVF9EVklUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9BU1NFUlRfSVJRX01QVV9XQ1RfRFZJVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfQVNTRVJUX0lSUV9NUFVfV0NUX0RWSVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfQVNTRVJUX0lSUV9NUFVfV0NUTF9UVVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0FTU0VSVF9JUlFfTVBVX1dDVExfVFVSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9BU1NFUlRfSVJRX01QVV9XQ1RMX1RVUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfQVNTRVJUX0lSUV9NUFVfV0NUTF9UVVJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfQVNTRVJUX0lSUV9NUFVfV1RMX0hBUlFfQlVGX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0FTU0VSVF9JUlFfTVBVX1dUTF9IQVJRX0JVRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9BU1NFUlRfSVJRX01QVV9XVExfSEFSUV9CVUZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfQVNTRVJUX0lSUV9NUFVfV1RMX0hBUlFfQlVGX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfQVNTRVJUX0lSUV9NUFVfV0NUTF9UUkFDRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0FTU0VSVF9JUlFfTVBVX1dDVExfVFJBQ0VfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9BU1NFUlRfSVJRX01QVV9XQ1RMX1RSQUNFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfQVNTRVJUX0lSUV9NUFVfV0NUTF9UUkFDRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfQVNTRVJUX0lSUV9XQ1RfRE1BX0FTU0VSVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0FTU0VSVF9JUlFfV0NUX0RNQV9BU1NFUlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9BU1NFUlRfSVJRX1dDVF9ETUFfQVNTRVJUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfQVNTRVJUX0lSUV9XQ1RfRE1BX0FTU0VSVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRERSX0NMT0NLX0VOQV9TVEFUVVNfV0NUX0RWSVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0REUl9DTE9DS19FTkFfU1RBVFVTX1dDVF9EVklUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9ERFJfQ0xPQ0tfRU5BX1NUQVRVU19XQ1RfRFZJVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRERSX0NMT0NLX0VOQV9TVEFUVVNfV0NUX0RWSVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRERSX0NMT0NLX0VOQV9TVEFUVVNfV1RMX0hBUlFfQlVGX0xTQiAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0REUl9DTE9DS19FTkFfU1RBVFVTX1dUTF9IQVJRX0JVRl9XSURUSCAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9ERFJfQ0xPQ0tfRU5BX1NUQVRVU19XVExfSEFSUV9CVUZfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRERSX0NMT0NLX0VOQV9TVEFUVVNfV1RMX0hBUlFfQlVGX0JJVCAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRERSX0NMT0NLX0VOQV9TVEFUVVNfV0NUTF9UVVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0REUl9DTE9DS19FTkFfU1RBVFVTX1dDVExfVFVSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9ERFJfQ0xPQ0tfRU5BX1NUQVRVU19XQ1RMX1RVUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRERSX0NMT0NLX0VOQV9TVEFUVVNfV0NUTF9UVVJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV1RfREVCVUdfVFRJX0FSQlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dUX0RFQlVHX1RUSV9BUkJUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XVF9ERUJVR19UVElfQVJCVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SRVNFUlZFRF9PVVRfUkVTRVJWRURfT1VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUkVTRVJWRURfT1VUX1JFU0VSVkVEX09VVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SRVNFUlZFRF9PVVRfUkVTRVJWRURfT1VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SRVNFUlZFRF9JTl9SRVNFUlZFRF9JTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUkVTRVJWRURfSU5fUkVTRVJWRURfSU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SRVNFUlZFRF9JTl9SRVNFUlZFRF9JTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZGKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9SU1JWX01QVV9TVEFSVF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfUlNSVl9NUFVfU1RBUlRfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9SU1JWX01QVV9TVEFSVF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9SU1JWX01QVV9FTkRfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfUlNSVl9NUFVfRU5EX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9SU1JWX01QVV9FTkRfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9SU1JWX01QVV9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfUlNSVl9NUFVfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX1JTUlZfTVBVX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9SU1JWX01QVV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9EU0NIX01QVV9TVEFSVF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfRFNDSF9NUFVfU1RBUlRfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9EU0NIX01QVV9TVEFSVF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9EU0NIX01QVV9FTkRfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfRFNDSF9NUFVfRU5EX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9EU0NIX01QVV9FTkRfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9EU0NIX01QVV9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfRFNDSF9NUFVfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX0RTQ0hfTVBVX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9EU0NIX01QVV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9MVEVfTVBVX1NUQVJUX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfTFRFX01QVV9TVEFSVF9BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9MVEVfTVBVX1NUQVJUX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9MVEVfTVBVX0VORF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfTFRFX01QVV9FTkRfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9MVEVfTVBVX0VORF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9MVEVfTVBVX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfTFRFX01QVV9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX0xURV9NUFVfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9MVEVfTVBVX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9SOTlfTVBVX1NUQVJUX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfUjk5X01QVV9TVEFSVF9BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9SOTlfTVBVX1NUQVJUX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9SOTlfTVBVX0VORF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfUjk5X01QVV9FTkRfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9SOTlfTVBVX0VORF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9SOTlfTVBVX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfUjk5X01QVV9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX1I5OV9NUFVfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9SOTlfTVBVX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTBfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUwX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMF9TVEFSVF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTBfU1RBUlRfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMF9TVEFSVF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMF9FTkRfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTBfRU5EX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMF9FTkRfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMV9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTFfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUxX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMV9TVEFSVF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTFfU1RBUlRfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMV9TVEFSVF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMV9FTkRfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTFfRU5EX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMV9FTkRfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMl9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTJfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUyX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMl9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMl9TVEFSVF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTJfU1RBUlRfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMl9TVEFSVF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMl9FTkRfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTJfRU5EX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMl9FTkRfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX0hBUlFfQlVGX0hTUEFfTVBVX1NUQVJUX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9IQVJRX0JVRl9IU1BBX01QVV9TVEFSVF9BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX0hBUlFfQlVGX0hTUEFfTVBVX1NUQVJUX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX0hBUlFfQlVGX0hTUEFfTVBVX0VORF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9IQVJRX0JVRl9IU1BBX01QVV9FTkRfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX0hBUlFfQlVGX0hTUEFfTVBVX0VORF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX0hBUlFfQlVGX0hTUEFfTVBVX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9IQVJRX0JVRl9IU1BBX01QVV9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfSEFSUV9CVUZfSFNQQV9NUFVfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX0hBUlFfQlVGX0hTUEFfTVBVX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX0hBUlFfQlVGX0xURV9NUFVfU1RBUlRfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9IQVJRX0JVRl9MVEVfTVBVX1NUQVJUX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX0hBUlFfQlVGX0xURV9NUFVfU1RBUlRfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX0hBUlFfQlVGX0xURV9NUFVfRU5EX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9IQVJRX0JVRl9MVEVfTVBVX0VORF9BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX0hBUlFfQlVGX0xURV9NUFVfRU5EX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX0hBUlFfQlVGX0xURV9NUFVfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9IQVJRX0JVRl9MVEVfTVBVX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfSEFSUV9CVUZfTFRFX01QVV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX0hBUlFfQlVGX0xURV9NUFVfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9TV19JRExFX0xfUkVCUlBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fU1dfSURMRV9MX1JFQlJQX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX1NXX0lETEVfTF9SRUJSUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9TV19JRExFX0xfUkVCUlBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9TV19JRExFX0xfUkJNQVBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fU1dfSURMRV9MX1JCTUFQX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX1NXX0lETEVfTF9SQk1BUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9TV19JRExFX0xfUkJNQVBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9TV19JRExFX0xfSEFSUV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fU1dfSURMRV9MX0hBUlFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX1NXX0lETEVfTF9IQVJRX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9TV19JRExFX0xfSEFSUV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9TV19JRExFX0xfRENJX1BBUlNFUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fU1dfSURMRV9MX0RDSV9QQVJTRVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX1NXX0lETEVfTF9EQ0lfUEFSU0VSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9TV19JRExFX0xfRENJX1BBUlNFUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9TV19JRExFX0xfQ0JSUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fU1dfSURMRV9MX0NCUlBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX1NXX0lETEVfTF9DQlJQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9TV19JRExFX0xfQ0JSUF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV0NUX0JSUF9ETUFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XQ1RfQlJQX0RNQV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV0NUX0JSUF9ETUFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dDVF9CUlBfRE1BX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dfUjk5X0NUUkxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV19SOTlfQ1RSTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dfUjk5X0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XX1I5OV9DVFJMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9DX0NPUlJfU0VSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX0NfQ09SUl9TRVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9DX0NPUlJfU0VSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfQ19DT1JSX1NFUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfQ19FVkRPX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX0NfRVZET19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9DX0VWRE9fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfQ19FVkRPX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfQ19SVFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX0NfUlRUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9DX1JUVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfQ19SVFRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV0NUX0RWSVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dDVF9EVklUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XQ1RfRFZJVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV0NUX0RWSVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV1RfSEFSUV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dUX0hBUlFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XVF9IQVJRX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV1RfSEFSUV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV1RfQ0RSTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dUX0NEUk1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XVF9DRFJNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV1RfQ0RSTV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV1RfQkNIX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dUX0JDSF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XVF9CQ0hfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV1RfQkNIX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV19IU1JNX0NBTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dfSFNSTV9DQUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XX0hTUk1fQ0FMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV19IU1JNX0NBTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV19UWElGX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dfVFhJRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XX1RYSUZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV19UWElGX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV19EUk1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dfRFJNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XX0RSTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV19EUk1fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV19DT1JSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dfQ09SUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XX0NPUlJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV19DT1JSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9TV19JRExFX0JVU19JTlRGX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fU1dfSURMRV9CVVNfSU5URl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX1NXX0lETEVfQlVTX0lOVEZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9TV19JRExFX0JVU19JTlRGX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9TV19JRExFX1NMVl9CVVNfSU5URl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fU1dfSURMRV9TTFZfQlVTX0lOVEZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX1NXX0lETEVfU0xWX0JVU19JTlRGX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9TV19JRExFX1NMVl9CVVNfSU5URl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9TV19JRExFX1dDVExfVFVSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fU1dfSURMRV9XQ1RMX1RVUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX1NXX0lETEVfV0NUTF9UVVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9TV19JRExFX1dDVExfVFVSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9TV19JRExFX1dDVExfVFJBQ0VfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fU1dfSURMRV9XQ1RMX1RSQUNFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX1NXX0lETEVfV0NUTF9UUkFDRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9TV19JRExFX1dDVExfVFJBQ0VfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9TV19JRExFX1dUTF9IQVJRX0JVRl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fU1dfSURMRV9XVExfSEFSUV9CVUZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX1NXX0lETEVfV1RMX0hBUlFfQlVGX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9TV19JRExFX1dUTF9IQVJRX0JVRl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9TV19JRExFX1dDVExfRUNUUkxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fU1dfSURMRV9XQ1RMX0VDVFJMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX1NXX0lETEVfV0NUTF9FQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9TV19JRExFX1dDVExfRUNUUkxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9TV19JRExFX1dUTF9DVklUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fU1dfSURMRV9XVExfQ1ZJVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX1NXX0lETEVfV1RMX0NWSVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9TV19JRExFX1dUTF9DVklUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9GT1JDRV9JRExFX0xfUkVCUlBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fRk9SQ0VfSURMRV9MX1JFQlJQX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX0ZPUkNFX0lETEVfTF9SRUJSUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9GT1JDRV9JRExFX0xfUkVCUlBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9GT1JDRV9JRExFX0xfUkJNQVBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fRk9SQ0VfSURMRV9MX1JCTUFQX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX0ZPUkNFX0lETEVfTF9SQk1BUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9GT1JDRV9JRExFX0xfUkJNQVBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9GT1JDRV9JRExFX0xfSEFSUV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fRk9SQ0VfSURMRV9MX0hBUlFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX0ZPUkNFX0lETEVfTF9IQVJRX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9GT1JDRV9JRExFX0xfSEFSUV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9GT1JDRV9JRExFX0xfRENJX1BBUlNFUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fRk9SQ0VfSURMRV9MX0RDSV9QQVJTRVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX0ZPUkNFX0lETEVfTF9EQ0lfUEFSU0VSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9GT1JDRV9JRExFX0xfRENJX1BBUlNFUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9GT1JDRV9JRExFX0xfQ0JSUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fRk9SQ0VfSURMRV9MX0NCUlBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX0ZPUkNFX0lETEVfTF9DQlJQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9GT1JDRV9JRExFX0xfQ0JSUF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV0NUX0JSUF9ETUFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XQ1RfQlJQX0RNQV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV0NUX0JSUF9ETUFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dDVF9CUlBfRE1BX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dfUjk5X0NUUkxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV19SOTlfQ1RSTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dfUjk5X0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XX1I5OV9DVFJMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9DX0NPUlJfU0VSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX0NfQ09SUl9TRVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9DX0NPUlJfU0VSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfQ19DT1JSX1NFUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfQ19FVkRPX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX0NfRVZET19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9DX0VWRE9fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfQ19FVkRPX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfQ19SVFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX0NfUlRUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9DX1JUVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfQ19SVFRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV0NUX0RWSVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dDVF9EVklUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XQ1RfRFZJVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV0NUX0RWSVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV1RfSEFSUV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dUX0hBUlFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XVF9IQVJRX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV1RfSEFSUV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV1RfQ0RSTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dUX0NEUk1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XVF9DRFJNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV1RfQ0RSTV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV1RfQkNIX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dUX0JDSF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XVF9CQ0hfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV1RfQkNIX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV19IU1JNX0NBTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dfSFNSTV9DQUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XX0hTUk1fQ0FMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV19IU1JNX0NBTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV19UWElGX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dfVFhJRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XX1RYSUZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV19UWElGX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV19EUk1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dfRFJNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XX0RSTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV19EUk1fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV19DT1JSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dfQ09SUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XX0NPUlJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV19DT1JSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9GT1JDRV9JRExFX0JVU19JTlRGX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fRk9SQ0VfSURMRV9CVVNfSU5URl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX0ZPUkNFX0lETEVfQlVTX0lOVEZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9GT1JDRV9JRExFX0JVU19JTlRGX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9GT1JDRV9JRExFX1NMVl9CVVNfSU5URl9MU0IgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fRk9SQ0VfSURMRV9TTFZfQlVTX0lOVEZfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX0ZPUkNFX0lETEVfU0xWX0JVU19JTlRGX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9GT1JDRV9JRExFX1NMVl9CVVNfSU5URl9CSVQgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9GT1JDRV9JRExFX1dDVExfVFVSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fRk9SQ0VfSURMRV9XQ1RMX1RVUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX0ZPUkNFX0lETEVfV0NUTF9UVVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9GT1JDRV9JRExFX1dDVExfVFVSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9GT1JDRV9JRExFX1dDVExfVFJBQ0VfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fRk9SQ0VfSURMRV9XQ1RMX1RSQUNFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX0ZPUkNFX0lETEVfV0NUTF9UUkFDRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9GT1JDRV9JRExFX1dDVExfVFJBQ0VfQklUICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9GT1JDRV9JRExFX1dUTF9IQVJRX0JVRl9MU0IgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fRk9SQ0VfSURMRV9XVExfSEFSUV9CVUZfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX0ZPUkNFX0lETEVfV1RMX0hBUlFfQlVGX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9GT1JDRV9JRExFX1dUTF9IQVJRX0JVRl9CSVQgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9GT1JDRV9JRExFX1dDVExfRUNUUkxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fRk9SQ0VfSURMRV9XQ1RMX0VDVFJMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX0ZPUkNFX0lETEVfV0NUTF9FQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9GT1JDRV9JRExFX1dDVExfRUNUUkxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9GT1JDRV9JRExFX1dUTF9DVklUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fRk9SQ0VfSURMRV9XVExfQ1ZJVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX0ZPUkNFX0lETEVfV1RMX0NWSVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9GT1JDRV9JRExFX1dUTF9DVklUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQ01fREJHX1NFTF9TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRENNX0RCR19TRUxfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RDTV9EQkdfU0VMX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUYpCisKKworI2VuZGlmIC8qX0NQSF9SWEJSUF9HTEJfQ09OX1JFR19IXyovClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHJ4YnJwZ2xiY29ucmVnXzk3LmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BocnhicnBnbGJjb25yZWdfOTcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZmIyN2JmCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHJ4YnJwZ2xiY29ucmVnXzk3LmgKQEAgLTAsMCArMSwxNDMwIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfQ1BIX1JYQlJQX0dMQl9DT05fUkVHX0hfCisjZGVmaW5lIF9DUEhfUlhCUlBfR0xCX0NPTl9SRUdfSF8KKworCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBTUkFNQUREUjsgICAgICAgICAvKiBTUkFNIGFkZHIgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIFNSQU1EQVRBOyAgICAgICAgIC8qIFNSQU0gZGF0YSBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogQVBCQUREUjsgICAgICAgICAgLyogQVBCIGFkZHIgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBBUEJEQVRBOyAgICAgICAgICAvKiBBUEIgZGF0YSBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyogIEFQQkFERFIzMjsgICAgICAgIC8qIEFQQiBhZGRyIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICAgQVBCREFUQTMyOyAgICAgICAgLyogQVBCIGRhdGEgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBEUFJBTUFERFI7ICAgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgc2lnbmVkICAgc2hvcnQqIERQUkFNQUREUl9TOyAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgRFBSQU1EQVRBOyAgICAgICAgLyogRFBSQU0gZGF0YSBpcyAxNiBiaXRzICovCisKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhBQzkxMDAwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfQ09OX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDE4NCArIDEqNCkKKworCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JYQlJQX0NMT0NLX0VOX0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAwMDApKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfQ0JVU19DTE9DS19FTl9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDAwNCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfQ0JVU19DTE9DS19FTl9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDA4KSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9DQlVTX0NMT0NLX0VOX0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAwMEMpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX0NCVVNfQ0xPQ0tfRU5fQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDAxMCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX0NCVVNfQ0xPQ0tfRU5fQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDE0KSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfQ0xPQ0tfRU5fQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAwMTgpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDAxQykpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDIwKSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAwMjQpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDAyOCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfV0NUTF9DTE9DS19FTl9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDJDKSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RMX0NMT0NLX0VOX0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAwMzApKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVExfQ0xPQ0tfRU5fQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDAzNCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUTF9DTE9DS19FTl9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDM4KSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUTF9DTE9DS19FTl9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAwM0MpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9SRVNFVF9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDA0MCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDQ0KSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUkVTRVRfQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAwNDgpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9QV1JfQVdBUkVfRU5fQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDA0QykpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDUwKSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUFdSX0FXQVJFX0VOX0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAwNTQpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDA1OCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9ERFJfQ0xPQ0tfRU5BICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDVDKSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0FTU0VSVF9JUlEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAwNjApKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRERSX0NMT0NLX0VOQV9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDA2NCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XVF9ERUJVRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMDY4KSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JFU0VSVkVEX09VVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAwNkMpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUkVTRVJWRURfSU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDA3MCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9SU1JWX01QVV9TVEFSVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTAwKSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX1JTUlZfTVBVX0VORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAxMDQpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfUlNSVl9NUFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDEwOCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9EU0NIX01QVV9TVEFSVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTBDKSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX0RTQ0hfTVBVX0VORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAxMTApKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfRFNDSF9NUFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDExNCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9MVEVfTVBVX1NUQVJUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTE4KSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX0xURV9NUFVfRU5EICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAxMUMpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfTFRFX01QVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDEyMCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9SOTlfTVBVX1NUQVJUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTI0KSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX1I5OV9NUFVfRU5EICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAxMjgpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfUjk5X01QVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDEyQykpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTMwKSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUwX1NUQVJUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAxMzQpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTBfRU5EICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDEzOCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTNDKSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUxX1NUQVJUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAxNDApKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTFfRU5EICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDE0NCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTQ4KSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUyX1NUQVJUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAxNEMpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTJfRU5EICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDE1MCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX0hBUlFfQlVGX0hTUEFfTVBVX1NUQVJUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTU0KSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfSEFSUV9CVUZfSFNQQV9NUFVfRU5EICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAxNTgpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9IQVJRX0JVRl9IU1BBX01QVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDE1QykpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX0hBUlFfQlVGX0xURV9NUFVfU1RBUlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTYwKSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfSEFSUV9CVUZfTFRFX01QVV9FTkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAxNjQpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9IQVJRX0JVRl9MVEVfTVBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDE2OCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9TV19JRExFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTZDKSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAxNzApKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fU1dfSURMRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDE3NCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9GT1JDRV9JRExFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTc4KSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYQlJQX0dMT0JBTF9DT05fUkVHX0JBU0UgKyAweDAxN0MpKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fRk9SQ0VfSURMRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhCUlBfR0xPQkFMX0NPTl9SRUdfQkFTRSArIDB4MDE4MCkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQ01fREJHX1NFTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWEJSUF9HTE9CQUxfQ09OX1JFR19CQVNFICsgMHgwMTg0KSkKKworCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SWEJSUF9DTE9DS19FTl9DVFJMX1JYQlJQX0ZPUkNFX09OX0xTQiAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlhCUlBfQ0xPQ0tfRU5fQ1RSTF9SWEJSUF9GT1JDRV9PTl9XSURUSCAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JYQlJQX0NMT0NLX0VOX0NUUkxfUlhCUlBfRk9SQ0VfT05fTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SWEJSUF9DTE9DS19FTl9DVFJMX1JYQlJQX0ZPUkNFX09OX0JJVCAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfQ0JVU19DTE9DS19FTl9DVFJMX1dDVExfQUNDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTFRFX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX0FDQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9DQlVTX0NMT0NLX0VOX0NUUkxfV0NUTF9BQ0NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfQ0JVU19DTE9DS19FTl9DVFJMX1dDVExfQUNDX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfQ0JVU19DTE9DS19FTl9DVFJMX1dDVF9BQ0NfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTFRFX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9XQ1RfQUNDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9DQlVTX0NMT0NLX0VOX0NUUkxfV0NUX0FDQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfQ0JVU19DTE9DS19FTl9DVFJMX1dDVF9BQ0NfQklUICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfQ0JVU19DTE9DS19FTl9DVFJMX0xfQUNDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTFRFX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9MX0FDQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9DQlVTX0NMT0NLX0VOX0NUUkxfTF9BQ0NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfQ0JVU19DTE9DS19FTl9DVFJMX0xfQUNDX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfQ0JVU19DTE9DS19FTl9DVFJMX1dDVExfQUNDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX0FDQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9DQlVTX0NMT0NLX0VOX0NUUkxfV0NUTF9BQ0NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfQ0JVU19DTE9DS19FTl9DVFJMX1dDVExfQUNDX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfQ0JVU19DTE9DS19FTl9DVFJMX1dDVF9BQ0NfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9XQ1RfQUNDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9DQlVTX0NMT0NLX0VOX0NUUkxfV0NUX0FDQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfQ0JVU19DTE9DS19FTl9DVFJMX1dDVF9BQ0NfQklUICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfQ0JVU19DTE9DS19FTl9DVFJMX0xfQUNDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9MX0FDQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9DQlVTX0NMT0NLX0VOX0NUUkxfTF9BQ0NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfQ0JVU19DTE9DS19FTl9DVFJMX0xfQUNDX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfQ0JVU19DTE9DS19FTl9DVFJMX1dDVExfQUNDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX0FDQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9DQlVTX0NMT0NLX0VOX0NUUkxfV0NUTF9BQ0NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfQ0JVU19DTE9DS19FTl9DVFJMX1dDVExfQUNDX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfQ0JVU19DTE9DS19FTl9DVFJMX1dDVF9BQ0NfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9XQ1RfQUNDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9DQlVTX0NMT0NLX0VOX0NUUkxfV0NUX0FDQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfQ0JVU19DTE9DS19FTl9DVFJMX1dDVF9BQ0NfQklUICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfQ0JVU19DTE9DS19FTl9DVFJMX0xfQUNDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9MX0FDQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9DQlVTX0NMT0NLX0VOX0NUUkxfTF9BQ0NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfQ0JVU19DTE9DS19FTl9DVFJMX0xfQUNDX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfQ0JVU19DTE9DS19FTl9DVFJMX1dDVExfQUNDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX0FDQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9DQlVTX0NMT0NLX0VOX0NUUkxfV0NUTF9BQ0NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfQ0JVU19DTE9DS19FTl9DVFJMX1dDVExfQUNDX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfQ0JVU19DTE9DS19FTl9DVFJMX1dDVF9BQ0NfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9XQ1RfQUNDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9DQlVTX0NMT0NLX0VOX0NUUkxfV0NUX0FDQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfQ0JVU19DTE9DS19FTl9DVFJMX1dDVF9BQ0NfQklUICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfQ0JVU19DTE9DS19FTl9DVFJMX0xfQUNDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9MX0FDQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9DQlVTX0NMT0NLX0VOX0NUUkxfTF9BQ0NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfQ0JVU19DTE9DS19FTl9DVFJMX0xfQUNDX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX0FDQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19DQlVTX0NMT0NLX0VOX0NUUkxfV0NUTF9BQ0NfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fQ0JVU19DTE9DS19FTl9DVFJMX1dDVExfQUNDX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX0FDQ19CSVQgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9XQ1RfQUNDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19DQlVTX0NMT0NLX0VOX0NUUkxfV0NUX0FDQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fQ0JVU19DTE9DS19FTl9DVFJMX1dDVF9BQ0NfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9XQ1RfQUNDX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9MX0FDQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19DQlVTX0NMT0NLX0VOX0NUUkxfTF9BQ0NfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fQ0JVU19DTE9DS19FTl9DVFJMX0xfQUNDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX0NCVVNfQ0xPQ0tfRU5fQ1RSTF9MX0FDQ19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0NMT0NLX0VOX0NUUkxfTF9SRUJSUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9DTE9DS19FTl9DVFJMX0xfUkVCUlBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfQ0xPQ0tfRU5fQ1RSTF9MX1JFQlJQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0NMT0NLX0VOX0NUUkxfTF9SRUJSUF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0NMT0NLX0VOX0NUUkxfTF9SQk1BUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9DTE9DS19FTl9DVFJMX0xfUkJNQVBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfQ0xPQ0tfRU5fQ1RSTF9MX1JCTUFQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0NMT0NLX0VOX0NUUkxfTF9SQk1BUF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0NMT0NLX0VOX0NUUkxfTF9IQVJRX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9DTE9DS19FTl9DVFJMX0xfSEFSUV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfQ0xPQ0tfRU5fQ1RSTF9MX0hBUlFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0NMT0NLX0VOX0NUUkxfTF9IQVJRX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0NMT0NLX0VOX0NUUkxfTF9EQ0lfUEFSU0VSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9DTE9DS19FTl9DVFJMX0xfRENJX1BBUlNFUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfQ0xPQ0tfRU5fQ1RSTF9MX0RDSV9QQVJTRVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0NMT0NLX0VOX0NUUkxfTF9EQ0lfUEFSU0VSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0NMT0NLX0VOX0NUUkxfTF9DQlJQX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9DTE9DS19FTl9DVFJMX0xfQ0JSUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfQ0xPQ0tfRU5fQ1RSTF9MX0NCUlBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0NMT0NLX0VOX0NUUkxfTF9DQlJQX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX1BPT0xfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfUE9PTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX1BPT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9QT09MX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9CUlBfRE1BX0xTQiAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX0JSUF9ETUFfV0lEVEggICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9CUlBfRE1BX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfQlJQX0RNQV9CSVQgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX1I5OV9DVFJMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dfUjk5X0NUUkxfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX1I5OV9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV19SOTlfQ1RSTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfQ19DT1JSX1NFUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX0NPUlJfU0VSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfQ19DT1JSX1NFUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX0NfQ09SUl9TRVJfQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX0NfRVZET19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX0VWRE9fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfQ19FVkRPX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX0NfRVZET19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX0NfUlRUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX1JUVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfQ19SVFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX0NfUlRUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9EVklUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfRFZJVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX0RWSVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9EVklUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dUX0hBUlFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9IQVJRX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV1RfSEFSUV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dUX0hBUlFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dUX0NEUk1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9DRFJNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV1RfQ0RSTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dUX0NEUk1fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dUX0JDSF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9CQ0hfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV1RfQkNIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dUX0JDSF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dfSFNSTV9DQUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0hTUk1fQ0FMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV19IU1JNX0NBTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dfSFNSTV9DQUxfQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dfRFJNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0RSTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV19EUk1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dfRFJNX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dfQ09SUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0NPUlJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUX0NMT0NLX0VOX0NUUkxfV19DT1JSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVF9DTE9DS19FTl9DVFJMX1dfQ09SUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9QT09MX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX1BPT0xfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9QT09MX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfUE9PTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfQlJQX0RNQV9MU0IgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9CUlBfRE1BX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfQlJQX0RNQV9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX0JSUF9ETUFfQklUICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV19SOTlfQ1RSTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX1I5OV9DVFJMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV19SOTlfQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dfUjk5X0NUUkxfQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX0NfQ09SUl9TRVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfQ19DT1JSX1NFUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX0NfQ09SUl9TRVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX0NPUlJfU0VSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX0VWRE9fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfQ19FVkRPX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX0NfRVZET19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX0VWRE9fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX1JUVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfQ19SVFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX0NfUlRUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX1JUVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfRFZJVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX0RWSVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9EVklUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfRFZJVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9IQVJRX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV1RfSEFSUV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dUX0hBUlFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9IQVJRX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9DRFJNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV1RfQ0RSTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dUX0NEUk1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9DRFJNX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9CQ0hfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV1RfQkNIX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dUX0JDSF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9CQ0hfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0hTUk1fQ0FMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV19IU1JNX0NBTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dfSFNSTV9DQUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0hTUk1fQ0FMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0RSTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV19EUk1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dfRFJNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0RSTV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0NPUlJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUX0NMT0NLX0VOX0NUUkxfV19DT1JSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVF9DTE9DS19FTl9DVFJMX1dfQ09SUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0NPUlJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfUE9PTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9QT09MX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfUE9PTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX1BPT0xfQklUICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX0JSUF9ETUFfTFNCICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfQlJQX0RNQV9XSURUSCAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX0JSUF9ETUFfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9CUlBfRE1BX0JJVCAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dfUjk5X0NUUkxfTFNCICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV19SOTlfQ1RSTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dfUjk5X0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX1I5OV9DVFJMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX0NPUlJfU0VSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX0NfQ09SUl9TRVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX0NPUlJfU0VSX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfQ19DT1JSX1NFUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfQ19FVkRPX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX0NfRVZET19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX0VWRE9fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfQ19FVkRPX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfQ19SVFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX0NfUlRUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX1JUVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfQ19SVFRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX0RWSVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9EVklUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfRFZJVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV0NUX0RWSVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV1RfSEFSUV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dUX0hBUlFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9IQVJRX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV1RfSEFSUV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV1RfQ0RSTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dUX0NEUk1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9DRFJNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV1RfQ0RSTV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV1RfQkNIX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dUX0JDSF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9CQ0hfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV1RfQkNIX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV19IU1JNX0NBTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dfSFNSTV9DQUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0hTUk1fQ0FMX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV19IU1JNX0NBTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV19EUk1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dfRFJNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0RSTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV19EUk1fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV19DT1JSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVF9DTE9DS19FTl9DVFJMX1dfQ09SUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0NPUlJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUX0NMT0NLX0VOX0NUUkxfV19DT1JSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9QT09MX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV0NUX1BPT0xfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9QT09MX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfUE9PTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfQlJQX0RNQV9MU0IgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9CUlBfRE1BX1dJRFRIICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfQlJQX0RNQV9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV0NUX0JSUF9ETUFfQklUICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV19SOTlfQ1RSTF9MU0IgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX1I5OV9DVFJMX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV19SOTlfQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dfUjk5X0NUUkxfQklUICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX0NfQ09SUl9TRVJfTFNCICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfQ19DT1JSX1NFUl9XSURUSCAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX0NfQ09SUl9TRVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX0NPUlJfU0VSX0JJVCAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX0VWRE9fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfQ19FVkRPX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX0NfRVZET19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX0VWRE9fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX1JUVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfQ19SVFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX0NfUlRUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9DX1JUVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfRFZJVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV0NUX0RWSVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dDVF9EVklUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XQ1RfRFZJVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9IQVJRX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV1RfSEFSUV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dUX0hBUlFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9IQVJRX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9DRFJNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV1RfQ0RSTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dUX0NEUk1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9DRFJNX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9CQ0hfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV1RfQkNIX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dUX0JDSF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XVF9CQ0hfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0hTUk1fQ0FMX0xTQiAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV19IU1JNX0NBTF9XSURUSCAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dfSFNSTV9DQUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0hTUk1fQ0FMX0JJVCAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0RSTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV19EUk1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dfRFJNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0RSTV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0NPUlJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUX0NMT0NLX0VOX0NUUkxfV19DT1JSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVF9DTE9DS19FTl9DVFJMX1dfQ09SUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RfQ0xPQ0tfRU5fQ1RSTF9XX0NPUlJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfTFRFX1dDVExfQ0xPQ0tfRU5fQ1RSTF9TSFJfUE9PTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9XQ1RMX0NMT0NLX0VOX0NUUkxfU0hSX1BPT0xfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfV0NUTF9DTE9DS19FTl9DVFJMX1NIUl9QT09MX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTFRFX1dDVExfQ0xPQ0tfRU5fQ1RSTF9TSFJfUE9PTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfTFRFX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RVUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UVVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFVSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTFRFX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RVUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfTFRFX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RSQUNFX0xTQiAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UUkFDRV9XSURUSCAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFJBQ0VfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTFRFX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RSQUNFX0JJVCAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfTFRFX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1BPT0xfTFNCICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9QT09MX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfUE9PTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTFRFX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1BPT0xfQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfTFRFX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfSEFSUV9CVUZfTFNCICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0hBUlFfQlVGX1dJRFRIICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9IQVJRX0JVRl9NQVNLICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTFRFX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfSEFSUV9CVUZfQklUICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfTFRFX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX0VDVFJMX0xTQiAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9FQ1RSTF9XSURUSCAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfRUNUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTFRFX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX0VDVFJMX0JJVCAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfTFRFX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfQ1ZJVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xURV9XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0NWSVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MVEVfV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9DVklUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTFRFX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfQ1ZJVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9TSFJfUE9PTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RMX0NMT0NLX0VOX0NUUkxfU0hSX1BPT0xfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUTF9DTE9DS19FTl9DVFJMX1NIUl9QT09MX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9TSFJfUE9PTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RVUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UVVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFVSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RVUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RSQUNFX0xTQiAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UUkFDRV9XSURUSCAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFJBQ0VfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RSQUNFX0JJVCAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1BPT0xfTFNCICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9QT09MX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfUE9PTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1BPT0xfQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfSEFSUV9CVUZfTFNCICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0hBUlFfQlVGX1dJRFRIICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9IQVJRX0JVRl9NQVNLICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfSEFSUV9CVUZfQklUICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX0VDVFJMX0xTQiAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9FQ1RSTF9XSURUSCAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfRUNUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX0VDVFJMX0JJVCAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfQ1ZJVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0ZERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0NWSVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9GRERfV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9DVklUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRkREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfQ1ZJVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9TSFJfUE9PTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RMX0NMT0NLX0VOX0NUUkxfU0hSX1BPT0xfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUTF9DTE9DS19FTl9DVFJMX1NIUl9QT09MX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9TSFJfUE9PTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RVUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UVVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFVSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RVUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RSQUNFX0xTQiAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UUkFDRV9XSURUSCAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFJBQ0VfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RSQUNFX0JJVCAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1BPT0xfTFNCICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9QT09MX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfUE9PTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1BPT0xfQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfSEFSUV9CVUZfTFNCICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0hBUlFfQlVGX1dJRFRIICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9IQVJRX0JVRl9NQVNLICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfSEFSUV9CVUZfQklUICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX0VDVFJMX0xTQiAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9FQ1RSTF9XSURUSCAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfRUNUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX0VDVFJMX0JJVCAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfQ1ZJVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1RERF9XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0NWSVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9URERfV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9DVklUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfVEREX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfQ1ZJVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVExfQ0xPQ0tfRU5fQ1RSTF9TSFJfUE9PTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RMX0NMT0NLX0VOX0NUUkxfU0hSX1BPT0xfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUTF9DTE9DS19FTl9DVFJMX1NIUl9QT09MX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVExfQ0xPQ0tfRU5fQ1RSTF9TSFJfUE9PTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RVUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UVVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFVSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RVUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RSQUNFX0xTQiAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UUkFDRV9XSURUSCAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFJBQ0VfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RSQUNFX0JJVCAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1BPT0xfTFNCICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9QT09MX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfUE9PTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1BPT0xfQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfSEFSUV9CVUZfTFNCICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0hBUlFfQlVGX1dJRFRIICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9IQVJRX0JVRl9NQVNLICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfSEFSUV9CVUZfQklUICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX0VDVFJMX0xTQiAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9FQ1RSTF9XSURUSCAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfRUNUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX0VDVFJMX0JJVCAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfQ1ZJVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JUVF9XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0NWSVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9SVFRfV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9DVklUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUlRUX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfQ1ZJVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RMX0NMT0NLX0VOX0NUUkxfU0hSX1BPT0xfTFNCICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUTF9DTE9DS19FTl9DVFJMX1NIUl9QT09MX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVExfQ0xPQ0tfRU5fQ1RSTF9TSFJfUE9PTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RMX0NMT0NLX0VOX0NUUkxfU0hSX1BPT0xfQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UVVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFVSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RVUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UVVJfQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UUkFDRV9MU0IgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfVFJBQ0VfV0lEVEggICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1RSQUNFX01BU0sgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9UUkFDRV9CSVQgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9QT09MX0xTQiAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfUE9PTF9XSURUSCAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX1BPT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9QT09MX0JJVCAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0hBUlFfQlVGX0xTQiAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9IQVJRX0JVRl9XSURUSCAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfSEFSUV9CVUZfTUFTSyAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0hBUlFfQlVGX0JJVCAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9FQ1RSTF9MU0IgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUTF9DTE9DS19FTl9DVFJMX1dDVExfRUNUUkxfV0lEVEggICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XQ1RMX0VDVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RMX0NMT0NLX0VOX0NUUkxfV0NUTF9FQ1RSTF9CSVQgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0NWSVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0VWRE9fV0NUTF9DTE9DS19FTl9DVFJMX1dUTF9DVklUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9FVkRPX1dDVExfQ0xPQ0tfRU5fQ1RSTF9XVExfQ1ZJVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRVZET19XQ1RMX0NMT0NLX0VOX0NUUkxfV1RMX0NWSVRfQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9SRVNFVF9DVFJMX0xfUkVCUlBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUkVTRVRfQ1RSTF9MX1JFQlJQX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1JFU0VUX0NUUkxfTF9SRUJSUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9SRVNFVF9DVFJMX0xfUkVCUlBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9SRVNFVF9DVFJMX0xfUkJNQVBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUkVTRVRfQ1RSTF9MX1JCTUFQX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1JFU0VUX0NUUkxfTF9SQk1BUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9SRVNFVF9DVFJMX0xfUkJNQVBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9SRVNFVF9DVFJMX0xfSEFSUV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUkVTRVRfQ1RSTF9MX0hBUlFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1JFU0VUX0NUUkxfTF9IQVJRX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9SRVNFVF9DVFJMX0xfSEFSUV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9SRVNFVF9DVFJMX0xfRENJX1BBUlNFUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUkVTRVRfQ1RSTF9MX0RDSV9QQVJTRVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1JFU0VUX0NUUkxfTF9EQ0lfUEFSU0VSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9SRVNFVF9DVFJMX0xfRENJX1BBUlNFUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9SRVNFVF9DVFJMX0xfQ0JSUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUkVTRVRfQ1RSTF9MX0NCUlBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1JFU0VUX0NUUkxfTF9DQlJQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9SRVNFVF9DVFJMX0xfQ0JSUF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV0NUX1BPT0xfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XQ1RfUE9PTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV0NUX1BPT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dDVF9QT09MX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dDVF9CUlBfRE1BX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV0NUX0JSUF9ETUFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dDVF9CUlBfRE1BX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XQ1RfQlJQX0RNQV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XX1I5OV9DVFJMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dfUjk5X0NUUkxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XX1I5OV9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV19SOTlfQ1RSTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfQ19DT1JSX1NFUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9DX0NPUlJfU0VSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfQ19DT1JSX1NFUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX0NfQ09SUl9TRVJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX0NfRVZET19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9DX0VWRE9fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfQ19FVkRPX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX0NfRVZET19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX0NfUlRUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9DX1JUVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfQ19SVFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX0NfUlRUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dDVF9EVklUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XQ1RfRFZJVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV0NUX0RWSVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dDVF9EVklUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dUX0hBUlFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XVF9IQVJRX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV1RfSEFSUV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dUX0hBUlFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dUX0NEUk1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XVF9DRFJNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV1RfQ0RSTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dUX0NEUk1fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dUX0JDSF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XVF9CQ0hfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV1RfQkNIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dUX0JDSF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dfSFNSTV9DQUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XX0hTUk1fQ0FMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV19IU1JNX0NBTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dfSFNSTV9DQUxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dfVFhJRl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XX1RYSUZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV19UWElGX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dfVFhJRl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dfRFJNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XX0RSTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV19EUk1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dfRFJNX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dfQ09SUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUkVTRVRfQ1RSTF9XX0NPUlJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1JFU0VUX0NUUkxfV19DT1JSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9SRVNFVF9DVFJMX1dfQ09SUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUkVTRVRfQ1RSTF9TSFJfUE9PTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1JFU0VUX0NUUkxfU0hSX1BPT0xfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9SRVNFVF9DVFJMX1NIUl9QT09MX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUkVTRVRfQ1RSTF9TSFJfUE9PTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUkVTRVRfQ1RSTF9XQ1RMX1RVUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1JFU0VUX0NUUkxfV0NUTF9UVVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9SRVNFVF9DVFJMX1dDVExfVFVSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUkVTRVRfQ1RSTF9XQ1RMX1RVUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUkVTRVRfQ1RSTF9XQ1RMX1RSQUNFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1JFU0VUX0NUUkxfV0NUTF9UUkFDRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9SRVNFVF9DVFJMX1dDVExfVFJBQ0VfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUkVTRVRfQ1RSTF9XQ1RMX1RSQUNFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUkVTRVRfQ1RSTF9XQ1RMX1BPT0xfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1JFU0VUX0NUUkxfV0NUTF9QT09MX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9SRVNFVF9DVFJMX1dDVExfUE9PTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUkVTRVRfQ1RSTF9XQ1RMX1BPT0xfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUkVTRVRfQ1RSTF9XVExfSEFSUV9CVUZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1JFU0VUX0NUUkxfV1RMX0hBUlFfQlVGX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9SRVNFVF9DVFJMX1dUTF9IQVJRX0JVRl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUkVTRVRfQ1RSTF9XVExfSEFSUV9CVUZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUkVTRVRfQ1RSTF9XQ1RMX0VDVFJMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1JFU0VUX0NUUkxfV0NUTF9FQ1RSTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9SRVNFVF9DVFJMX1dDVExfRUNUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUkVTRVRfQ1RSTF9XQ1RMX0VDVFJMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUkVTRVRfQ1RSTF9XVExfQ1ZJVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1JFU0VUX0NUUkxfV1RMX0NWSVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9SRVNFVF9DVFJMX1dUTF9DVklUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUkVTRVRfQ1RSTF9XVExfQ1ZJVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUFdSX0FXQVJFX0VOX0NUUkxfTF9SRUJSUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1BXUl9BV0FSRV9FTl9DVFJMX0xfUkVCUlBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9QV1JfQVdBUkVfRU5fQ1RSTF9MX1JFQlJQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUFdSX0FXQVJFX0VOX0NUUkxfTF9SRUJSUF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUFdSX0FXQVJFX0VOX0NUUkxfTF9SQk1BUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1BXUl9BV0FSRV9FTl9DVFJMX0xfUkJNQVBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9QV1JfQVdBUkVfRU5fQ1RSTF9MX1JCTUFQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUFdSX0FXQVJFX0VOX0NUUkxfTF9SQk1BUF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUFdSX0FXQVJFX0VOX0NUUkxfTF9IQVJRX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1BXUl9BV0FSRV9FTl9DVFJMX0xfSEFSUV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9QV1JfQVdBUkVfRU5fQ1RSTF9MX0hBUlFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUFdSX0FXQVJFX0VOX0NUUkxfTF9IQVJRX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUFdSX0FXQVJFX0VOX0NUUkxfTF9EQ0lfUEFSU0VSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1BXUl9BV0FSRV9FTl9DVFJMX0xfRENJX1BBUlNFUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9QV1JfQVdBUkVfRU5fQ1RSTF9MX0RDSV9QQVJTRVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUFdSX0FXQVJFX0VOX0NUUkxfTF9EQ0lfUEFSU0VSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUFdSX0FXQVJFX0VOX0NUUkxfTF9DQlJQX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX1BXUl9BV0FSRV9FTl9DVFJMX0xfQ0JSUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9QV1JfQVdBUkVfRU5fQ1RSTF9MX0NCUlBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfUFdSX0FXQVJFX0VOX0NUUkxfTF9DQlJQX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XQ1RfUE9PTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dDVF9QT09MX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XQ1RfUE9PTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV0NUX1BPT0xfQklUICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV0NUX0JSUF9ETUFfTFNCICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XQ1RfQlJQX0RNQV9XSURUSCAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV0NUX0JSUF9ETUFfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dDVF9CUlBfRE1BX0JJVCAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dfUjk5X0NUUkxfTFNCICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV19SOTlfQ1RSTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dfUjk5X0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XX1I5OV9DVFJMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9DX0NPUlJfU0VSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX0NfQ09SUl9TRVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9DX0NPUlJfU0VSX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfQ19DT1JSX1NFUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfQ19FVkRPX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX0NfRVZET19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9DX0VWRE9fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfQ19FVkRPX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfQ19SVFRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX0NfUlRUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9DX1JUVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfQ19SVFRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV0NUX0RWSVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dDVF9EVklUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XQ1RfRFZJVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV0NUX0RWSVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV1RfSEFSUV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dUX0hBUlFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XVF9IQVJRX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV1RfSEFSUV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV1RfQ0RSTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dUX0NEUk1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XVF9DRFJNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV1RfQ0RSTV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV1RfQkNIX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dUX0JDSF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XVF9CQ0hfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV1RfQkNIX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV19IU1JNX0NBTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dfSFNSTV9DQUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XX0hTUk1fQ0FMX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV19IU1JNX0NBTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV19UWElGX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dfVFhJRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XX1RYSUZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV19UWElGX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV19EUk1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dfRFJNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XX0RSTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV19EUk1fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV19DT1JSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX1BXUl9BV0FSRV9FTl9DVFJMX1dfQ09SUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9QV1JfQVdBUkVfRU5fQ1RSTF9XX0NPUlJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfUFdSX0FXQVJFX0VOX0NUUkxfV19DT1JSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1BXUl9BV0FSRV9FTl9DVFJMX1NIUl9QT09MX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9QV1JfQVdBUkVfRU5fQ1RSTF9TSFJfUE9PTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUFdSX0FXQVJFX0VOX0NUUkxfU0hSX1BPT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1BXUl9BV0FSRV9FTl9DVFJMX1NIUl9QT09MX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1BXUl9BV0FSRV9FTl9DVFJMX0JVU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9QV1JfQVdBUkVfRU5fQ1RSTF9CVVNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUFdSX0FXQVJFX0VOX0NUUkxfQlVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1BXUl9BV0FSRV9FTl9DVFJMX0JVU19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1BXUl9BV0FSRV9FTl9DVFJMX1dDVExfVFVSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9QV1JfQVdBUkVfRU5fQ1RSTF9XQ1RMX1RVUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUFdSX0FXQVJFX0VOX0NUUkxfV0NUTF9UVVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1BXUl9BV0FSRV9FTl9DVFJMX1dDVExfVFVSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1BXUl9BV0FSRV9FTl9DVFJMX1dDVExfVFJBQ0VfTFNCICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9QV1JfQVdBUkVfRU5fQ1RSTF9XQ1RMX1RSQUNFX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUFdSX0FXQVJFX0VOX0NUUkxfV0NUTF9UUkFDRV9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1BXUl9BV0FSRV9FTl9DVFJMX1dDVExfVFJBQ0VfQklUICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1BXUl9BV0FSRV9FTl9DVFJMX1dDVExfUE9PTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9QV1JfQVdBUkVfRU5fQ1RSTF9XQ1RMX1BPT0xfV0lEVEggICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUFdSX0FXQVJFX0VOX0NUUkxfV0NUTF9QT09MX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1BXUl9BV0FSRV9FTl9DVFJMX1dDVExfUE9PTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1BXUl9BV0FSRV9FTl9DVFJMX1dUTF9IQVJRX0JVRl9MU0IgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9QV1JfQVdBUkVfRU5fQ1RSTF9XVExfSEFSUV9CVUZfV0lEVEggICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUFdSX0FXQVJFX0VOX0NUUkxfV1RMX0hBUlFfQlVGX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1BXUl9BV0FSRV9FTl9DVFJMX1dUTF9IQVJRX0JVRl9CSVQgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1BXUl9BV0FSRV9FTl9DVFJMX1dDVExfRUNUUkxfTFNCICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9QV1JfQVdBUkVfRU5fQ1RSTF9XQ1RMX0VDVFJMX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUFdSX0FXQVJFX0VOX0NUUkxfV0NUTF9FQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1BXUl9BV0FSRV9FTl9DVFJMX1dDVExfRUNUUkxfQklUICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1BXUl9BV0FSRV9FTl9DVFJMX1dUTF9DVklUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9QV1JfQVdBUkVfRU5fQ1RSTF9XVExfQ1ZJVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfUFdSX0FXQVJFX0VOX0NUUkxfV1RMX0NWSVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX1BXUl9BV0FSRV9FTl9DVFJMX1dUTF9DVklUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX0NfRVZET19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fQ19FVkRPX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX0NfRVZET19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9DX0VWRE9fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9DX1JUVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX0NfUlRUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9DX1JUVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fQ19SVFRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fTUFTX0JVU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX01BU19CVVNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9NQVNfQlVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fTUFTX0JVU19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fU0xWX0JVU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX1NMVl9CVVNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9TTFZfQlVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fU0xWX0JVU19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fTF9DQlJQX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX0xfQ0JSUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9MX0NCUlBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fTF9DQlJQX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fTF9IQVJRX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX0xfSEFSUV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9MX0hBUlFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fTF9IQVJRX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fV19EUk1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX1dfRFJNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9XX0RSTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fV19EUk1fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fV1RfQkNIX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX1dUX0JDSF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9XVF9CQ0hfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fV1RfQkNIX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fV1RfSEFSUV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX1dUX0hBUlFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9XVF9IQVJRX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fV1RfSEFSUV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fV1RMX0NWSVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX1dUTF9DVklUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9XVExfQ1ZJVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fV1RMX0NWSVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fV0NUTF9UVVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX1dDVExfVFVSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9XQ1RMX1RVUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fV0NUTF9UVVJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fV1RMX0hBUlFfQlVGX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9HUElPX0VOX1dUTF9IQVJRX0JVRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfR1BJT19FTl9XVExfSEFSUV9CVUZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0dQSU9fRU5fV1RMX0hBUlFfQlVGX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0REUl9DTE9DS19FTkFfV0NUX0RWSVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9ERFJfQ0xPQ0tfRU5BX1dDVF9EVklUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRERSX0NMT0NLX0VOQV9XQ1RfRFZJVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0REUl9DTE9DS19FTkFfV0NUX0RWSVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0REUl9DTE9DS19FTkFfV1RMX0hBUlFfQlVGX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9ERFJfQ0xPQ0tfRU5BX1dUTF9IQVJRX0JVRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRERSX0NMT0NLX0VOQV9XVExfSEFSUV9CVUZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0REUl9DTE9DS19FTkFfV1RMX0hBUlFfQlVGX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0REUl9DTE9DS19FTkFfV0NUTF9UVVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9ERFJfQ0xPQ0tfRU5BX1dDVExfVFVSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRERSX0NMT0NLX0VOQV9XQ1RMX1RVUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0REUl9DTE9DS19FTkFfV0NUTF9UVVJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0FTU0VSVF9JUlFfTF9IQVJRX0FTU0VSVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9BU1NFUlRfSVJRX0xfSEFSUV9BU1NFUlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfQVNTRVJUX0lSUV9MX0hBUlFfQVNTRVJUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0FTU0VSVF9JUlFfTF9IQVJRX0FTU0VSVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0FTU0VSVF9JUlFfTVBVX1dDVF9EVklUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9BU1NFUlRfSVJRX01QVV9XQ1RfRFZJVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfQVNTRVJUX0lSUV9NUFVfV0NUX0RWSVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0FTU0VSVF9JUlFfTVBVX1dDVF9EVklUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0FTU0VSVF9JUlFfTVBVX1dDVExfVFVSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9BU1NFUlRfSVJRX01QVV9XQ1RMX1RVUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfQVNTRVJUX0lSUV9NUFVfV0NUTF9UVVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0FTU0VSVF9JUlFfTVBVX1dDVExfVFVSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0FTU0VSVF9JUlFfTVBVX1dUTF9IQVJRX0JVRl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9BU1NFUlRfSVJRX01QVV9XVExfSEFSUV9CVUZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfQVNTRVJUX0lSUV9NUFVfV1RMX0hBUlFfQlVGX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0FTU0VSVF9JUlFfTVBVX1dUTF9IQVJRX0JVRl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0FTU0VSVF9JUlFfTVBVX1dDVExfVFJBQ0VfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9BU1NFUlRfSVJRX01QVV9XQ1RMX1RSQUNFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfQVNTRVJUX0lSUV9NUFVfV0NUTF9UUkFDRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0FTU0VSVF9JUlFfTVBVX1dDVExfVFJBQ0VfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0FTU0VSVF9JUlFfV0NUX0RNQV9BU1NFUlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9BU1NFUlRfSVJRX1dDVF9ETUFfQVNTRVJUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfQVNTRVJUX0lSUV9XQ1RfRE1BX0FTU0VSVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0FTU0VSVF9JUlFfV0NUX0RNQV9BU1NFUlRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0REUl9DTE9DS19FTkFfU1RBVFVTX1dDVF9EVklUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9ERFJfQ0xPQ0tfRU5BX1NUQVRVU19XQ1RfRFZJVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRERSX0NMT0NLX0VOQV9TVEFUVVNfV0NUX0RWSVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0REUl9DTE9DS19FTkFfU1RBVFVTX1dDVF9EVklUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0REUl9DTE9DS19FTkFfU1RBVFVTX1dUTF9IQVJRX0JVRl9MU0IgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9ERFJfQ0xPQ0tfRU5BX1NUQVRVU19XVExfSEFSUV9CVUZfV0lEVEggICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRERSX0NMT0NLX0VOQV9TVEFUVVNfV1RMX0hBUlFfQlVGX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0REUl9DTE9DS19FTkFfU1RBVFVTX1dUTF9IQVJRX0JVRl9CSVQgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0REUl9DTE9DS19FTkFfU1RBVFVTX1dDVExfVFVSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9ERFJfQ0xPQ0tfRU5BX1NUQVRVU19XQ1RMX1RVUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfRERSX0NMT0NLX0VOQV9TVEFUVVNfV0NUTF9UVVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0REUl9DTE9DS19FTkFfU1RBVFVTX1dDVExfVFVSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dUX0RFQlVHX1RUSV9BUkJUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XVF9ERUJVR19UVElfQVJCVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV1RfREVCVUdfVFRJX0FSQlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfUkVTRVJWRURfT1VUX1JFU0VSVkVEX09VVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JFU0VSVkVEX09VVF9SRVNFUlZFRF9PVVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUkVTRVJWRURfT1VUX1JFU0VSVkVEX09VVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfUkVTRVJWRURfSU5fUkVTRVJWRURfSU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1JFU0VSVkVEX0lOX1JFU0VSVkVEX0lOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfUkVTRVJWRURfSU5fUkVTRVJWRURfSU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfUlNSVl9NUFVfU1RBUlRfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX1JTUlZfTVBVX1NUQVJUX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfUlNSVl9NUFVfU1RBUlRfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfUlNSVl9NUFVfRU5EX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX1JTUlZfTVBVX0VORF9BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfUlNSVl9NUFVfRU5EX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfUlNSVl9NUFVfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX1JTUlZfTVBVX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9SU1JWX01QVV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfUlNSVl9NUFVfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfRFNDSF9NUFVfU1RBUlRfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX0RTQ0hfTVBVX1NUQVJUX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfRFNDSF9NUFVfU1RBUlRfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfRFNDSF9NUFVfRU5EX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX0RTQ0hfTVBVX0VORF9BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfRFNDSF9NUFVfRU5EX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfRFNDSF9NUFVfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX0RTQ0hfTVBVX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9EU0NIX01QVV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfRFNDSF9NUFVfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfTFRFX01QVV9TVEFSVF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX0xURV9NUFVfU1RBUlRfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfTFRFX01QVV9TVEFSVF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfTFRFX01QVV9FTkRfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX0xURV9NUFVfRU5EX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfTFRFX01QVV9FTkRfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfTFRFX01QVV9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX0xURV9NUFVfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9MVEVfTVBVX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfTFRFX01QVV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfUjk5X01QVV9TVEFSVF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX1I5OV9NUFVfU1RBUlRfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfUjk5X01QVV9TVEFSVF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfUjk5X01QVV9FTkRfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX1I5OV9NUFVfRU5EX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfUjk5X01QVV9FTkRfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfUjk5X01QVV9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVFVSX1I5OV9NUFVfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1RVUl9SOTlfTVBVX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9UVVJfUjk5X01QVV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTBfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUwX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMF9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTBfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTBfU1RBUlRfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUwX1NUQVJUX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTBfU1RBUlRfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTBfRU5EX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUwX0VORF9BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTBfRU5EX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTFfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUxX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTFfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTFfU1RBUlRfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUxX1NUQVJUX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTFfU1RBUlRfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTFfRU5EX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUxX0VORF9BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTFfRU5EX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTJfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUyX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX1ZJVFdfTVBVMl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTJfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTJfU1RBUlRfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUyX1NUQVJUX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTJfU1RBUlRfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTJfRU5EX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfVklUV19NUFUyX0VORF9BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9WSVRXX01QVTJfRU5EX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9IQVJRX0JVRl9IU1BBX01QVV9TVEFSVF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfSEFSUV9CVUZfSFNQQV9NUFVfU1RBUlRfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9IQVJRX0JVRl9IU1BBX01QVV9TVEFSVF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9IQVJRX0JVRl9IU1BBX01QVV9FTkRfQURSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfSEFSUV9CVUZfSFNQQV9NUFVfRU5EX0FEUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9IQVJRX0JVRl9IU1BBX01QVV9FTkRfQURSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9IQVJRX0JVRl9IU1BBX01QVV9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfSEFSUV9CVUZfSFNQQV9NUFVfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX0hBUlFfQlVGX0hTUEFfTVBVX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9IQVJRX0JVRl9IU1BBX01QVV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9IQVJRX0JVRl9MVEVfTVBVX1NUQVJUX0FEUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfSEFSUV9CVUZfTFRFX01QVV9TVEFSVF9BRFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9IQVJRX0JVRl9MVEVfTVBVX1NUQVJUX0FEUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9IQVJRX0JVRl9MVEVfTVBVX0VORF9BRFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfSEFSUV9CVUZfTFRFX01QVV9FTkRfQURSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9IQVJRX0JVRl9MVEVfTVBVX0VORF9BRFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9IQVJRX0JVRl9MVEVfTVBVX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RCUlBfSEFSUV9CVUZfTFRFX01QVV9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQlJQX0hBUlFfQlVGX0xURV9NUFVfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfREJSUF9IQVJRX0JVRl9MVEVfTVBVX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fU1dfSURMRV9MX1JFQlJQX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX1NXX0lETEVfTF9SRUJSUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9TV19JRExFX0xfUkVCUlBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fU1dfSURMRV9MX1JFQlJQX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fU1dfSURMRV9MX1JCTUFQX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX1NXX0lETEVfTF9SQk1BUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9TV19JRExFX0xfUkJNQVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fU1dfSURMRV9MX1JCTUFQX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fU1dfSURMRV9MX0hBUlFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX1NXX0lETEVfTF9IQVJRX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9TV19JRExFX0xfSEFSUV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fU1dfSURMRV9MX0hBUlFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fU1dfSURMRV9MX0RDSV9QQVJTRVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX1NXX0lETEVfTF9EQ0lfUEFSU0VSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9TV19JRExFX0xfRENJX1BBUlNFUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fU1dfSURMRV9MX0RDSV9QQVJTRVJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fU1dfSURMRV9MX0NCUlBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX1NXX0lETEVfTF9DQlJQX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9TV19JRExFX0xfQ0JSUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fU1dfSURMRV9MX0NCUlBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dDVF9CUlBfRE1BX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV0NUX0JSUF9ETUFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dDVF9CUlBfRE1BX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XQ1RfQlJQX0RNQV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XX1I5OV9DVFJMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dfUjk5X0NUUkxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XX1I5OV9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV19SOTlfQ1RSTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfQ19DT1JSX1NFUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9DX0NPUlJfU0VSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfQ19DT1JSX1NFUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX0NfQ09SUl9TRVJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX0NfRVZET19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9DX0VWRE9fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfQ19FVkRPX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX0NfRVZET19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX0NfUlRUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9DX1JUVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfQ19SVFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX0NfUlRUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dDVF9EVklUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XQ1RfRFZJVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV0NUX0RWSVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dDVF9EVklUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dUX0hBUlFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XVF9IQVJRX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV1RfSEFSUV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dUX0hBUlFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dUX0NEUk1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XVF9DRFJNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV1RfQ0RSTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dUX0NEUk1fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dUX0JDSF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XVF9CQ0hfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV1RfQkNIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dUX0JDSF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dfSFNSTV9DQUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XX0hTUk1fQ0FMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV19IU1JNX0NBTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dfSFNSTV9DQUxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dfVFhJRl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XX1RYSUZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV19UWElGX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dfVFhJRl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dfRFJNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XX0RSTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV19EUk1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dfRFJNX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dfQ09SUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fU1dfSURMRV9XX0NPUlJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX1NXX0lETEVfV19DT1JSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9TV19JRExFX1dfQ09SUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fU1dfSURMRV9CVVNfSU5URl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX1NXX0lETEVfQlVTX0lOVEZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9TV19JRExFX0JVU19JTlRGX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fU1dfSURMRV9CVVNfSU5URl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fU1dfSURMRV9TTFZfQlVTX0lOVEZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX1NXX0lETEVfU0xWX0JVU19JTlRGX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9TV19JRExFX1NMVl9CVVNfSU5URl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fU1dfSURMRV9TTFZfQlVTX0lOVEZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fU1dfSURMRV9XQ1RMX1RVUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX1NXX0lETEVfV0NUTF9UVVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9TV19JRExFX1dDVExfVFVSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fU1dfSURMRV9XQ1RMX1RVUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fU1dfSURMRV9XQ1RMX1RSQUNFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX1NXX0lETEVfV0NUTF9UUkFDRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9TV19JRExFX1dDVExfVFJBQ0VfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fU1dfSURMRV9XQ1RMX1RSQUNFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fU1dfSURMRV9XVExfSEFSUV9CVUZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX1NXX0lETEVfV1RMX0hBUlFfQlVGX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9TV19JRExFX1dUTF9IQVJRX0JVRl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fU1dfSURMRV9XVExfSEFSUV9CVUZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fU1dfSURMRV9XQ1RMX0VDVFJMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX1NXX0lETEVfV0NUTF9FQ1RSTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9TV19JRExFX1dDVExfRUNUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fU1dfSURMRV9XQ1RMX0VDVFJMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fU1dfSURMRV9XVExfQ1ZJVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX1NXX0lETEVfV1RMX0NWSVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9TV19JRExFX1dUTF9DVklUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fU1dfSURMRV9XVExfQ1ZJVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fRk9SQ0VfSURMRV9MX1JFQlJQX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX0ZPUkNFX0lETEVfTF9SRUJSUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9GT1JDRV9JRExFX0xfUkVCUlBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fRk9SQ0VfSURMRV9MX1JFQlJQX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fRk9SQ0VfSURMRV9MX1JCTUFQX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX0ZPUkNFX0lETEVfTF9SQk1BUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9GT1JDRV9JRExFX0xfUkJNQVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fRk9SQ0VfSURMRV9MX1JCTUFQX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fRk9SQ0VfSURMRV9MX0hBUlFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX0ZPUkNFX0lETEVfTF9IQVJRX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9GT1JDRV9JRExFX0xfSEFSUV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fRk9SQ0VfSURMRV9MX0hBUlFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fRk9SQ0VfSURMRV9MX0RDSV9QQVJTRVJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX0ZPUkNFX0lETEVfTF9EQ0lfUEFSU0VSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9GT1JDRV9JRExFX0xfRENJX1BBUlNFUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fRk9SQ0VfSURMRV9MX0RDSV9QQVJTRVJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fRk9SQ0VfSURMRV9MX0NCUlBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0xfRENNX0ZPUkNFX0lETEVfTF9DQlJQX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9MX0RDTV9GT1JDRV9JRExFX0xfQ0JSUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfTF9EQ01fRk9SQ0VfSURMRV9MX0NCUlBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dDVF9CUlBfRE1BX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV0NUX0JSUF9ETUFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dDVF9CUlBfRE1BX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XQ1RfQlJQX0RNQV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XX1I5OV9DVFJMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dfUjk5X0NUUkxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XX1I5OV9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV19SOTlfQ1RSTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfQ19DT1JSX1NFUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9DX0NPUlJfU0VSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfQ19DT1JSX1NFUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX0NfQ09SUl9TRVJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX0NfRVZET19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9DX0VWRE9fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfQ19FVkRPX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX0NfRVZET19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX0NfUlRUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9DX1JUVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfQ19SVFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX0NfUlRUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dDVF9EVklUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XQ1RfRFZJVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV0NUX0RWSVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dDVF9EVklUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dUX0hBUlFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XVF9IQVJRX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV1RfSEFSUV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dUX0hBUlFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dUX0NEUk1fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XVF9DRFJNX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV1RfQ0RSTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dUX0NEUk1fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dUX0JDSF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XVF9CQ0hfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV1RfQkNIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dUX0JDSF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dfSFNSTV9DQUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XX0hTUk1fQ0FMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV19IU1JNX0NBTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dfSFNSTV9DQUxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dfVFhJRl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XX1RYSUZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV19UWElGX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dfVFhJRl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dfRFJNX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XX0RSTV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV19EUk1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dfRFJNX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dfQ09SUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVF9EQ01fRk9SQ0VfSURMRV9XX0NPUlJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RfRENNX0ZPUkNFX0lETEVfV19DT1JSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUX0RDTV9GT1JDRV9JRExFX1dfQ09SUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fRk9SQ0VfSURMRV9CVVNfSU5URl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX0ZPUkNFX0lETEVfQlVTX0lOVEZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9GT1JDRV9JRExFX0JVU19JTlRGX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fRk9SQ0VfSURMRV9CVVNfSU5URl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fRk9SQ0VfSURMRV9TTFZfQlVTX0lOVEZfTFNCICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX0ZPUkNFX0lETEVfU0xWX0JVU19JTlRGX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9GT1JDRV9JRExFX1NMVl9CVVNfSU5URl9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fRk9SQ0VfSURMRV9TTFZfQlVTX0lOVEZfQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fRk9SQ0VfSURMRV9XQ1RMX1RVUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX0ZPUkNFX0lETEVfV0NUTF9UVVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9GT1JDRV9JRExFX1dDVExfVFVSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fRk9SQ0VfSURMRV9XQ1RMX1RVUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fRk9SQ0VfSURMRV9XQ1RMX1RSQUNFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX0ZPUkNFX0lETEVfV0NUTF9UUkFDRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9GT1JDRV9JRExFX1dDVExfVFJBQ0VfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fRk9SQ0VfSURMRV9XQ1RMX1RSQUNFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fRk9SQ0VfSURMRV9XVExfSEFSUV9CVUZfTFNCICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX0ZPUkNFX0lETEVfV1RMX0hBUlFfQlVGX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9GT1JDRV9JRExFX1dUTF9IQVJRX0JVRl9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fRk9SQ0VfSURMRV9XVExfSEFSUV9CVUZfQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fRk9SQ0VfSURMRV9XQ1RMX0VDVFJMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX0ZPUkNFX0lETEVfV0NUTF9FQ1RSTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9GT1JDRV9JRExFX1dDVExfRUNUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fRk9SQ0VfSURMRV9XQ1RMX0VDVFJMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fRk9SQ0VfSURMRV9XVExfQ1ZJVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX1dDVExfRENNX0ZPUkNFX0lETEVfV1RMX0NWSVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9XQ1RMX0RDTV9GT1JDRV9JRExFX1dUTF9DVklUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSWEJSUF9HTE9CQUxfV0NUTF9EQ01fRk9SQ0VfSURMRV9XVExfQ1ZJVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSWEJSUF9HTE9CQUxfRENNX0RCR19TRUxfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlhCUlBfR0xPQkFMX0RDTV9EQkdfU0VMX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFJYQlJQX0dMT0JBTF9EQ01fREJHX1NFTF9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisKKyNlbmRpZiAvKl9DUEhfUlhCUlBfR0xCX0NPTl9SRUdfSF8qLwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhyeGRmZTJjc19yeHNlbC5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHJ4ZGZlMmNzX3J4c2VsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmE5MjhhMAotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhyeGRmZTJjc19yeHNlbC5oCkBAIC0wLDAgKzEsMjI4IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfQ1BIX1JYREZFMkNTX1JYU0VMX1JFR185N19IXworI2RlZmluZSBfQ1BIX1JYREZFMkNTX1JYU0VMX1JFR185N19IXworCisKK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIFNSQU1BRERSOyAgICAgICAgIC8qIFNSQU0gYWRkciBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgU1JBTURBVEE7ICAgICAgICAgLyogU1JBTSBkYXRhIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBBUEJBRERSOyAgICAgICAgICAvKiBBUEIgYWRkciBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIEFQQkRBVEE7ICAgICAgICAgIC8qIEFQQiBkYXRhIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nKiAgQVBCQUREUjMyOyAgICAgICAgLyogQVBCIGFkZHIgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgICBBUEJEQVRBMzI7ICAgICAgICAvKiBBUEIgZGF0YSBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIERQUkFNQUREUjsgICAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSBzaWduZWQgICBzaG9ydCogRFBSQU1BRERSX1M7ICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBEUFJBTURBVEE7ICAgICAgICAvKiBEUFJBTSBkYXRhIGlzIDE2IGJpdHMgKi8KKworCisjZGVmaW5lIFJYREZFMkNTX1JYU0VMX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEE4REIwMDAwKQorCisjZGVmaW5lIFJYREZFMkNTX1JYU0VMX1JFR19lbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChSWERGRTJDU19SWFNFTF9SRUdfQkFTRSArIDB4MDA2MCArIDEqNCkKKworCisjZGVmaW5lIEMySzFYX0NTX1NFTF9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRTJDU19SWFNFTF9SRUdfQkFTRSArIDB4MCkpCisjZGVmaW5lIEMyS0RPX0NTX1NFTF9DVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRTJDU19SWFNFTF9SRUdfQkFTRSArIDB4NCkpCisjZGVmaW5lIFRERF9DU19TRUxfQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRTJDU19SWFNFTF9SRUdfQkFTRSArIDB4OCkpCisjZGVmaW5lIFdfQ1NfU0VMX0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRTJDU19SWFNFTF9SRUdfQkFTRSArIDB4QykpCisjZGVmaW5lIE5SX0NTX0RBVEFfU0VMXzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRTJDU19SWFNFTF9SRUdfQkFTRSArIDB4MTApKQorI2RlZmluZSBOUl9DU19EQVRBX1NFTF8xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkUyQ1NfUlhTRUxfUkVHX0JBU0UgKyAweDE0KSkKKyNkZWZpbmUgTlJfQ1NfVFJBTlNfU1RBUlRfVElNRVJfQ0MwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFMkNTX1JYU0VMX1JFR19CQVNFICsgMHgxOCkpCisjZGVmaW5lIE5SX0NTX1RSQU5TX1NUQVJUX1RJTUVSX0NDMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRTJDU19SWFNFTF9SRUdfQkFTRSArIDB4MUMpKQorI2RlZmluZSBOUl9DU19UUkFOU19TVEFSVF9USU1FUl9DQzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkUyQ1NfUlhTRUxfUkVHX0JBU0UgKyAweDIwKSkKKyNkZWZpbmUgTlJfQ1NfVFJBTlNfU1RBUlRfVElNRVJfQ0MzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFMkNTX1JYU0VMX1JFR19CQVNFICsgMHgyNCkpCisjZGVmaW5lIE5SX0NTX0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRTJDU19SWFNFTF9SRUdfQkFTRSArIDB4MjgpKQorI2RlZmluZSBSWERGRTJDU19OUl9TQ19HQUxTX0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkUyQ1NfUlhTRUxfUkVHX0JBU0UgKyAweDJDKSkKKyNkZWZpbmUgUlhERkUyQ1NfREJHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFMkNTX1JYU0VMX1JFR19CQVNFICsgMHgzMCkpCisKKyNkZWZpbmUgQzJLMVhfQ1NfU0VMX0NUUkxfYzJrMXhfY3NfZGF0YV90cmFuc19lbl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBDMksxWF9DU19TRUxfQ1RSTF9jMmsxeF9jc19kYXRhX3RyYW5zX2VuX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQzJLMVhfQ1NfU0VMX0NUUkxfYzJrMXhfY3NfZGF0YV90cmFuc19lbl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIEMySzFYX0NTX1NFTF9DVFJMX2MyazF4X2NzX2RhdGFfdHJhbnNfZW5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIEMySzFYX0NTX1NFTF9DVFJMX2MyazF4X2NzX2RhdGFfZGVsYXlfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMCkKKyNkZWZpbmUgQzJLMVhfQ1NfU0VMX0NUUkxfYzJrMXhfY3NfZGF0YV9kZWxheV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEMySzFYX0NTX1NFTF9DVFJMX2MyazF4X2NzX2RhdGFfZGVsYXlfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDQwMDAwMDAwKQorI2RlZmluZSBDMksxWF9DU19TRUxfQ1RSTF9jMmsxeF9jc19kYXRhX2RlbGF5X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMCkKKworI2RlZmluZSBDMksxWF9DU19TRUxfQ1RSTF9jMmsxeF9jc19kYXRhX3NlbF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQzJLMVhfQ1NfU0VMX0NUUkxfYzJrMXhfY3NfZGF0YV9zZWxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIEMySzFYX0NTX1NFTF9DVFJMX2MyazF4X2NzX2RhdGFfc2VsX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIEMyS0RPX0NTX1NFTF9DVFJMX2Mya2RvX2NzX2RhdGFfdHJhbnNfZW5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgQzJLRE9fQ1NfU0VMX0NUUkxfYzJrZG9fY3NfZGF0YV90cmFuc19lbl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEMyS0RPX0NTX1NFTF9DVFJMX2Mya2RvX2NzX2RhdGFfdHJhbnNfZW5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBDMktET19DU19TRUxfQ1RSTF9jMmtkb19jc19kYXRhX3RyYW5zX2VuX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBDMktET19DU19TRUxfQ1RSTF9jMmtkb19jc19kYXRhX2RlbGF5X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzApCisjZGVmaW5lIEMyS0RPX0NTX1NFTF9DVFJMX2Mya2RvX2NzX2RhdGFfZGVsYXlfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDMktET19DU19TRUxfQ1RSTF9jMmtkb19jc19kYXRhX2RlbGF5X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMCkKKyNkZWZpbmUgQzJLRE9fQ1NfU0VMX0NUUkxfYzJrZG9fY3NfZGF0YV9kZWxheV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4NDAwMDAwMDApCisKKyNkZWZpbmUgQzJLRE9fQ1NfU0VMX0NUUkxfYzJrZG9fY3NfZGF0YV9zZWxfZGl2X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIEMyS0RPX0NTX1NFTF9DVFJMX2Mya2RvX2NzX2RhdGFfc2VsX2Rpdl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBDMktET19DU19TRUxfQ1RSTF9jMmtkb19jc19kYXRhX3NlbF9kaXZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMUYwMCkKKworI2RlZmluZSBDMktET19DU19TRUxfQ1RSTF9jMmtkb19jc19kYXRhX3NlbF9tYWluX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQzJLRE9fQ1NfU0VMX0NUUkxfYzJrZG9fY3NfZGF0YV9zZWxfbWFpbl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIEMyS0RPX0NTX1NFTF9DVFJMX2Mya2RvX2NzX2RhdGFfc2VsX21haW5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIFRERF9DU19TRUxfQ1RSTF90ZGRfY3NfZGF0YV90cmFuc19lbl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgVEREX0NTX1NFTF9DVFJMX3RkZF9jc19kYXRhX3RyYW5zX2VuX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRERF9DU19TRUxfQ1RSTF90ZGRfY3NfZGF0YV90cmFuc19lbl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBURERfQ1NfU0VMX0NUUkxfdGRkX2NzX2RhdGFfdHJhbnNfZW5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBURERfQ1NfU0VMX0NUUkxfdGRkX2NzX2RhdGFfZGVsYXlfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVEREX0NTX1NFTF9DVFJMX3RkZF9jc19kYXRhX2RlbGF5X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRERF9DU19TRUxfQ1RSTF90ZGRfY3NfZGF0YV9kZWxheV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBURERfQ1NfU0VMX0NUUkxfdGRkX2NzX2RhdGFfZGVsYXlfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBXX0NTX1NFTF9DVFJMX3dfY3Nfb2ZmcGNoX3RyYW5zX2VuX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFdfQ1NfU0VMX0NUUkxfd19jc19vZmZwY2hfdHJhbnNfZW5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBXX0NTX1NFTF9DVFJMX3dfY3Nfb2ZmcGNoX3RyYW5zX2VuX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgV19DU19TRUxfQ1RSTF93X2NzX29mZnBjaF90cmFuc19lbl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgV19DU19TRUxfQ1RSTF93X2NzX2RhdGFfdHJhbnNfZW5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMwKQorI2RlZmluZSBXX0NTX1NFTF9DVFJMX3dfY3NfZGF0YV90cmFuc19lbl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgV19DU19TRUxfQ1RSTF93X2NzX2RhdGFfdHJhbnNfZW5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4NDAwMDAwMDApCisjZGVmaW5lIFdfQ1NfU0VMX0NUUkxfd19jc19kYXRhX3RyYW5zX2VuX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDQwMDAwMDAwKQorCisjZGVmaW5lIFdfQ1NfU0VMX0NUUkxfd19jc19vZmZwY2hfZGVsYXlfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBXX0NTX1NFTF9DVFJMX3dfY3Nfb2ZmcGNoX2RlbGF5X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgV19DU19TRUxfQ1RSTF93X2NzX29mZnBjaF9kZWxheV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFdfQ1NfU0VMX0NUUkxfd19jc19vZmZwY2hfZGVsYXlfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFdfQ1NfU0VMX0NUUkxfd19jc19kYXRhX2RlbGF5X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBXX0NTX1NFTF9DVFJMX3dfY3NfZGF0YV9kZWxheV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgV19DU19TRUxfQ1RSTF93X2NzX2RhdGFfZGVsYXlfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFdfQ1NfU0VMX0NUUkxfd19jc19kYXRhX2RlbGF5X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIE5SX0NTX0RBVEFfU0VMXzBfbnJfY3NfZGF0YV9zZWxfYzFhMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgTlJfQ1NfREFUQV9TRUxfMF9ucl9jc19kYXRhX3NlbF9jMWExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIE5SX0NTX0RBVEFfU0VMXzBfbnJfY3NfZGF0YV9zZWxfYzFhMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDFGMDAwMDAwKQorCisjZGVmaW5lIE5SX0NTX0RBVEFfU0VMXzBfbnJfY3NfZGF0YV9zZWxfYzFhMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgTlJfQ1NfREFUQV9TRUxfMF9ucl9jc19kYXRhX3NlbF9jMWEwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIE5SX0NTX0RBVEFfU0VMXzBfbnJfY3NfZGF0YV9zZWxfYzFhMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUYwMDAwKQorCisjZGVmaW5lIE5SX0NTX0RBVEFfU0VMXzBfbnJfY3NfZGF0YV9zZWxfYzBhMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBOUl9DU19EQVRBX1NFTF8wX25yX2NzX2RhdGFfc2VsX2MwYTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgTlJfQ1NfREFUQV9TRUxfMF9ucl9jc19kYXRhX3NlbF9jMGExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDFGMDApCisKKyNkZWZpbmUgTlJfQ1NfREFUQV9TRUxfMF9ucl9jc19kYXRhX3NlbF9jMGEwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE5SX0NTX0RBVEFfU0VMXzBfbnJfY3NfZGF0YV9zZWxfYzBhMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBOUl9DU19EQVRBX1NFTF8wX25yX2NzX2RhdGFfc2VsX2MwYTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxRikKKworI2RlZmluZSBOUl9DU19EQVRBX1NFTF8xX25yX2NzX2RhdGFfc2VsX2MzYTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIE5SX0NTX0RBVEFfU0VMXzFfbnJfY3NfZGF0YV9zZWxfYzNhMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBOUl9DU19EQVRBX1NFTF8xX25yX2NzX2RhdGFfc2VsX2MzYTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxRjAwMDAwMCkKKworI2RlZmluZSBOUl9DU19EQVRBX1NFTF8xX25yX2NzX2RhdGFfc2VsX2MzYTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIE5SX0NTX0RBVEFfU0VMXzFfbnJfY3NfZGF0YV9zZWxfYzNhMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBOUl9DU19EQVRBX1NFTF8xX25yX2NzX2RhdGFfc2VsX2MzYTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDFGMDAwMCkKKworI2RlZmluZSBOUl9DU19EQVRBX1NFTF8xX25yX2NzX2RhdGFfc2VsX2MyYTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgTlJfQ1NfREFUQV9TRUxfMV9ucl9jc19kYXRhX3NlbF9jMmExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIE5SX0NTX0RBVEFfU0VMXzFfbnJfY3NfZGF0YV9zZWxfYzJhMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRjAwKQorCisjZGVmaW5lIE5SX0NTX0RBVEFfU0VMXzFfbnJfY3NfZGF0YV9zZWxfYzJhMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBOUl9DU19EQVRBX1NFTF8xX25yX2NzX2RhdGFfc2VsX2MyYTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgTlJfQ1NfREFUQV9TRUxfMV9ucl9jc19kYXRhX3NlbF9jMmEwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUYpCisKKyNkZWZpbmUgTlJfQ1NfVFJBTlNfU1RBUlRfVElNRVJfQ0MwX25yX2NzX2RhdGFfdHJhbnNfc3RhcnRfdGltZXJfY2MwX0xTQiAgICAgICAgKDApCisjZGVmaW5lIE5SX0NTX1RSQU5TX1NUQVJUX1RJTUVSX0NDMF9ucl9jc19kYXRhX3RyYW5zX3N0YXJ0X3RpbWVyX2NjMF9XSURUSCAgICAgICgzMCkKKyNkZWZpbmUgTlJfQ1NfVFJBTlNfU1RBUlRfVElNRVJfQ0MwX25yX2NzX2RhdGFfdHJhbnNfc3RhcnRfdGltZXJfY2MwX01BU0sgICAgICAgKDB4M0ZGRkZGRkYpCisKKyNkZWZpbmUgTlJfQ1NfVFJBTlNfU1RBUlRfVElNRVJfQ0MxX25yX2NzX2RhdGFfdHJhbnNfc3RhcnRfdGltZXJfY2MxX0xTQiAgICAgICAgKDApCisjZGVmaW5lIE5SX0NTX1RSQU5TX1NUQVJUX1RJTUVSX0NDMV9ucl9jc19kYXRhX3RyYW5zX3N0YXJ0X3RpbWVyX2NjMV9XSURUSCAgICAgICgzMCkKKyNkZWZpbmUgTlJfQ1NfVFJBTlNfU1RBUlRfVElNRVJfQ0MxX25yX2NzX2RhdGFfdHJhbnNfc3RhcnRfdGltZXJfY2MxX01BU0sgICAgICAgKDB4M0ZGRkZGRkYpCisKKyNkZWZpbmUgTlJfQ1NfVFJBTlNfU1RBUlRfVElNRVJfQ0MyX25yX2NzX2RhdGFfdHJhbnNfc3RhcnRfdGltZXJfY2MyX0xTQiAgICAgICAgKDApCisjZGVmaW5lIE5SX0NTX1RSQU5TX1NUQVJUX1RJTUVSX0NDMl9ucl9jc19kYXRhX3RyYW5zX3N0YXJ0X3RpbWVyX2NjMl9XSURUSCAgICAgICgzMCkKKyNkZWZpbmUgTlJfQ1NfVFJBTlNfU1RBUlRfVElNRVJfQ0MyX25yX2NzX2RhdGFfdHJhbnNfc3RhcnRfdGltZXJfY2MyX01BU0sgICAgICAgKDB4M0ZGRkZGRkYpCisKKyNkZWZpbmUgTlJfQ1NfVFJBTlNfU1RBUlRfVElNRVJfQ0MzX25yX2NzX2RhdGFfdHJhbnNfc3RhcnRfdGltZXJfY2MzX0xTQiAgICAgICAgKDApCisjZGVmaW5lIE5SX0NTX1RSQU5TX1NUQVJUX1RJTUVSX0NDM19ucl9jc19kYXRhX3RyYW5zX3N0YXJ0X3RpbWVyX2NjM19XSURUSCAgICAgICgzMCkKKyNkZWZpbmUgTlJfQ1NfVFJBTlNfU1RBUlRfVElNRVJfQ0MzX25yX2NzX2RhdGFfdHJhbnNfc3RhcnRfdGltZXJfY2MzX01BU0sgICAgICAgKDB4M0ZGRkZGRkYpCisKKyNkZWZpbmUgTlJfQ1NfQ1RSTF9ucl9jc19kYXRhX3RyYW5zX2VuX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBOUl9DU19DVFJMX25yX2NzX2RhdGFfdHJhbnNfZW5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTlJfQ1NfQ1RSTF9ucl9jc19kYXRhX3RyYW5zX2VuX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIE5SX0NTX0NUUkxfbnJfY3NfZGF0YV90cmFuc19lbl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIE5SX0NTX0NUUkxfbnJfY3NfZGF0YV90cmFuc19yYXRlX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBOUl9DU19DVFJMX25yX2NzX2RhdGFfdHJhbnNfcmF0ZV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTlJfQ1NfQ1RSTF9ucl9jc19kYXRhX3RyYW5zX3JhdGVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIE5SX0NTX0NUUkxfbnJfY3NfZGF0YV90cmFuc19yYXRlX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIE5SX0NTX0NUUkxfbnJfY3NfZGF0YV9pcV9zd2FwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBOUl9DU19DVFJMX25yX2NzX2RhdGFfaXFfc3dhcF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTlJfQ1NfQ1RSTF9ucl9jc19kYXRhX2lxX3N3YXBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIE5SX0NTX0NUUkxfbnJfY3NfZGF0YV9pcV9zd2FwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIE5SX0NTX0NUUkxfbnJfY3NfZGF0YV90cmFuc19tb2RlX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBOUl9DU19DVFJMX25yX2NzX2RhdGFfdHJhbnNfbW9kZV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTlJfQ1NfQ1RSTF9ucl9jc19kYXRhX3RyYW5zX21vZGVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIE5SX0NTX0NUUkxfbnJfY3NfZGF0YV90cmFuc19tb2RlX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJYREZFMkNTX05SX1NDX0dBTFNfQ0ZHX3J4ZGZlMmNzX25yX3NjX0dBTFNfcmdfcHJvdGVjdF9tb2RlX0xTQiAgICAgICAgICg0KQorI2RlZmluZSBSWERGRTJDU19OUl9TQ19HQUxTX0NGR19yeGRmZTJjc19ucl9zY19HQUxTX3JnX3Byb3RlY3RfbW9kZV9XSURUSCAgICAgICAoMSkKKyNkZWZpbmUgUlhERkUyQ1NfTlJfU0NfR0FMU19DRkdfcnhkZmUyY3NfbnJfc2NfR0FMU19yZ19wcm90ZWN0X21vZGVfTUFTSyAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFJYREZFMkNTX05SX1NDX0dBTFNfQ0ZHX3J4ZGZlMmNzX25yX3NjX0dBTFNfcmdfcHJvdGVjdF9tb2RlX0JJVCAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFJYREZFMkNTX05SX1NDX0dBTFNfQ0ZHX3J4ZGZlMmNzX25yX3NjX0dBTFNfcmdfZmx1c2hfZmlmb19tb2RlX0xTQiAgICAgICgzKQorI2RlZmluZSBSWERGRTJDU19OUl9TQ19HQUxTX0NGR19yeGRmZTJjc19ucl9zY19HQUxTX3JnX2ZsdXNoX2ZpZm9fbW9kZV9XSURUSCAgICAoMSkKKyNkZWZpbmUgUlhERkUyQ1NfTlJfU0NfR0FMU19DRkdfcnhkZmUyY3NfbnJfc2NfR0FMU19yZ19mbHVzaF9maWZvX21vZGVfTUFTSyAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFJYREZFMkNTX05SX1NDX0dBTFNfQ0ZHX3J4ZGZlMmNzX25yX3NjX0dBTFNfcmdfZmx1c2hfZmlmb19tb2RlX0JJVCAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFJYREZFMkNTX05SX1NDX0dBTFNfQ0ZHX3J4ZGZlMmNzX25yX3NjX0dBTFNfcmdfbXN0X3N5bmNfc2VsX0xTQiAgICAgICAgICgxKQorI2RlZmluZSBSWERGRTJDU19OUl9TQ19HQUxTX0NGR19yeGRmZTJjc19ucl9zY19HQUxTX3JnX21zdF9zeW5jX3NlbF9XSURUSCAgICAgICAoMikKKyNkZWZpbmUgUlhERkUyQ1NfTlJfU0NfR0FMU19DRkdfcnhkZmUyY3NfbnJfc2NfR0FMU19yZ19tc3Rfc3luY19zZWxfTUFTSyAgICAgICAgKDB4MDAwMDAwMDYpCisKKyNkZWZpbmUgUlhERkUyQ1NfTlJfU0NfR0FMU19DRkdfcnhkZmUyY3NfbnJfc2NfR0FMU19yZ19kaXNhYmxlX21zdF9jZ19MU0IgICAgICAgKDApCisjZGVmaW5lIFJYREZFMkNTX05SX1NDX0dBTFNfQ0ZHX3J4ZGZlMmNzX25yX3NjX0dBTFNfcmdfZGlzYWJsZV9tc3RfY2dfV0lEVEggICAgICgxKQorI2RlZmluZSBSWERGRTJDU19OUl9TQ19HQUxTX0NGR19yeGRmZTJjc19ucl9zY19HQUxTX3JnX2Rpc2FibGVfbXN0X2NnX01BU0sgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhERkUyQ1NfTlJfU0NfR0FMU19DRkdfcnhkZmUyY3NfbnJfc2NfR0FMU19yZ19kaXNhYmxlX21zdF9jZ19CSVQgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUlhERkUyQ1NfREJHX3J4ZGZlMmNzX25yX2Vycl9zdGltZXJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFJYREZFMkNTX0RCR19yeGRmZTJjc19ucl9lcnJfc3RpbWVyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMCkKKyNkZWZpbmUgUlhERkUyQ1NfREJHX3J4ZGZlMmNzX25yX2Vycl9zdGltZXJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkMpCisKKyNkZWZpbmUgUlhERkUyQ1NfREJHX3J4ZGZlMmNzX25yX2Vycl9mbGFnX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJYREZFMkNTX0RCR19yeGRmZTJjc19ucl9lcnJfZmxhZ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSWERGRTJDU19EQkdfcnhkZmUyY3NfbnJfZXJyX2ZsYWdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUlhERkUyQ1NfREJHX3J4ZGZlMmNzX25yX2Vycl9mbGFnX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKworI2VuZGlmIC8vI2lmbmRlZiBfQ1BIX1JYREZFMkNTX1JYU0VMX1JFR185N19IXwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhyeGRmZWF0aW1lci5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHJ4ZGZlYXRpbWVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzUwYmNlOQotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhyeGRmZWF0aW1lci5oCkBAIC0wLDAgKzEsOTEgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhfUlhfREZFX0FUVElNRVJfSF8KKyNkZWZpbmUgX0NQSF9SWF9ERkVfQVRUSU1FUl9IXworCisKK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIFNSQU1BRERSOyAgICAgICAgIC8qIFNSQU0gYWRkciBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgU1JBTURBVEE7ICAgICAgICAgLyogU1JBTSBkYXRhIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBBUEJBRERSOyAgICAgICAgICAvKiBBUEIgYWRkciBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIEFQQkRBVEE7ICAgICAgICAgIC8qIEFQQiBkYXRhIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nKiAgQVBCQUREUjMyOyAgICAgICAgLyogQVBCIGFkZHIgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgICBBUEJEQVRBMzI7ICAgICAgICAvKiBBUEIgZGF0YSBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIERQUkFNQUREUjsgICAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSBzaWduZWQgICBzaG9ydCogRFBSQU1BRERSX1M7ICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBEUFJBTURBVEE7ICAgICAgICAvKiBEUFJBTSBkYXRhIGlzIDE2IGJpdHMgKi8KKworCisjZGVmaW5lIFJYREZFX0FUSU1FUl9SRUdfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEE3MEQwMDAwKQorCisjZGVmaW5lIFJYREZFX0FUSU1FUl9lbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChSWERGRV9BVElNRVJfUkVHX0JBU0UgKyAweDAwMDAwMDA0ICsgMSo0KQorCisKKworI2RlZmluZSBSR19SWERGRV9BVElNRVJfVFJHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfQVRJTUVSX1JFR19CQVNFICsgMHgwMDAwMDAwMCkpCisjZGVmaW5lIFJHX1JYREZFX0FUSU1FUl9STyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9BVElNRVJfUkVHX0JBU0UgKyAweDAwMDAwMDA0KSkKKworCisjZGVmaW5lIFJHX1JYREZFX0FUSU1FUl9UUkdfYXRpbWVyX2Y1Mm1fdHJnX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgUkdfUlhERkVfQVRJTUVSX1RSR19hdGltZXJfZjUybV90cmdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJHX1JYREZFX0FUSU1FUl9UUkdfYXRpbWVyX2Y1Mm1fdHJnX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBSR19SWERGRV9BVElNRVJfVFJHX2F0aW1lcl9mNTJtX3RyZ19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBSR19SWERGRV9BVElNRVJfVFJHX2F0aW1lcl9mNTJtX3N0cF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzApCisjZGVmaW5lIFJHX1JYREZFX0FUSU1FUl9UUkdfYXRpbWVyX2Y1Mm1fc3RwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSR19SWERGRV9BVElNRVJfVFJHX2F0aW1lcl9mNTJtX3N0cF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMCkKKyNkZWZpbmUgUkdfUlhERkVfQVRJTUVSX1RSR19hdGltZXJfZjUybV9zdHBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4NDAwMDAwMDApCisKKyNkZWZpbmUgUkdfUlhERkVfQVRJTUVSX1RSR19hdGltZXJfZjJwMTdtX3RyZ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBSR19SWERGRV9BVElNRVJfVFJHX2F0aW1lcl9mMnAxN21fdHJnX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkdfUlhERkVfQVRJTUVSX1RSR19hdGltZXJfZjJwMTdtX3RyZ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisjZGVmaW5lIFJHX1JYREZFX0FUSU1FUl9UUkdfYXRpbWVyX2YycDE3bV90cmdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorCisjZGVmaW5lIFJHX1JYREZFX0FUSU1FUl9UUkdfYXRpbWVyX2YycDE3bV9zdHBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgUkdfUlhERkVfQVRJTUVSX1RSR19hdGltZXJfZjJwMTdtX3N0cF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJHX1JYREZFX0FUSU1FUl9UUkdfYXRpbWVyX2YycDE3bV9zdHBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBSR19SWERGRV9BVElNRVJfVFJHX2F0aW1lcl9mMnAxN21fc3RwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBSR19SWERGRV9BVElNRVJfUk9fYXRpbWVyX2Y1Mm1fc3RhdHVzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFJHX1JYREZFX0FUSU1FUl9ST19hdGltZXJfZjUybV9zdGF0dXNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSR19SWERGRV9BVElNRVJfUk9fYXRpbWVyX2Y1Mm1fc3RhdHVzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgUkdfUlhERkVfQVRJTUVSX1JPX2F0aW1lcl9mNTJtX3N0YXR1c19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgUkdfUlhERkVfQVRJTUVSX1JPX2F0aW1lcl9mMnAxN21fc3RhdHVzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBSR19SWERGRV9BVElNRVJfUk9fYXRpbWVyX2YycDE3bV9zdGF0dXNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkdfUlhERkVfQVRJTUVSX1JPX2F0aW1lcl9mMnAxN21fc3RhdHVzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisjZGVmaW5lIFJHX1JYREZFX0FUSU1FUl9ST19hdGltZXJfZjJwMTdtX3N0YXR1c19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorCisKKyNlbmRpZiAvLyNpZm5kZWYgX0NQSF9SWF9ERkVfQVRUSU1FUl9IXwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHJ4ZGZlZmNjYWx0Yy5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHJ4ZGZlZmNjYWx0Yy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhZDIxZjkKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BocnhkZmVmY2NhbHRjLmgKQEAgLTAsMCArMSwxNTMgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhfUlhfREZFX0ZDQ0FMVENfSF8KKyNkZWZpbmUgX0NQSF9SWF9ERkVfRkNDQUxUQ19IXworCisKK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIFNSQU1BRERSOyAgICAgICAgIC8qIFNSQU0gYWRkciBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgU1JBTURBVEE7ICAgICAgICAgLyogU1JBTSBkYXRhIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBBUEJBRERSOyAgICAgICAgICAvKiBBUEIgYWRkciBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIEFQQkRBVEE7ICAgICAgICAgIC8qIEFQQiBkYXRhIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nKiAgQVBCQUREUjMyOyAgICAgICAgLyogQVBCIGFkZHIgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgICBBUEJEQVRBMzI7ICAgICAgICAvKiBBUEIgZGF0YSBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIERQUkFNQUREUjsgICAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSBzaWduZWQgICBzaG9ydCogRFBSQU1BRERSX1M7ICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBEUFJBTURBVEE7ICAgICAgICAvKiBEUFJBTSBkYXRhIGlzIDE2IGJpdHMgKi8KKworCisjZGVmaW5lIFJYREZFX0ZDQ0FMVENfUkVHX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEE3MEIwMDAwKQorCisjZGVmaW5lIFJYREZFX0ZDQ0FMVENfZW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChSWERGRV9GQ0NBTFRDX1JFR19CQVNFICsgMHgwMDAwMEEwMCArIDEqNCkKKworCisKKyNkZWZpbmUgUkdfUlhERkVfRkNDQUxUQ19PRkZTRVQobikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDQ0FMVENfUkVHX0JBU0UgKyAweDAwMDAwMDAwICsgKG4pKjQpKSAgIC8vbiBpcyBmcm9tIDAgdG8gNAorI2RlZmluZSBSR19SWERGRV9GQ0NBTFRDX1RRX1NFTChuKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNDQUxUQ19SRUdfQkFTRSArIDB4MDAwMDAyMDAgKyAobikqNCkpICAgLy9uIGlzIGZyb20gMCB0byAxMQorI2RlZmluZSBSR19SWERGRV9GQ0NBTFRDX1RRX1RSRyhuKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNDQUxUQ19SRUdfQkFTRSArIDB4MDAwMDAyODAgKyAobikqNCkpICAgLy9uIGlzIGZyb20gMCB0byAxMQorI2RlZmluZSBSR19SWERGRV9GQ0NBTFRDX1RRX1JPKG4pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNDQUxUQ19SRUdfQkFTRSArIDB4MDAwMDAzMDAgKyAobikqNCkpICAgLy9uIGlzIGZyb20gMCB0byAxMQorI2RlZmluZSBSR19SWERGRV9GQ0NBTFRDX1RRX0FMTF9STyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNDQUxUQ19SRUdfQkFTRSArIDB4MDAwMDA2MDApKQorI2RlZmluZSBSR19SWERGRV9GQ0NBTFRDX0xQTV9DRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNDQUxUQ19SRUdfQkFTRSArIDB4MDAwMDA4MDApKQorI2RlZmluZSBSR19SWERGRV9GQ0NBTFRDX0xQTV9STyhuKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVfRkNDQUxUQ19SRUdfQkFTRSArIDB4MDAwMDA4MTAgKyAobikqNCkpICAgLy9uIGlzIGZyb20gMCB0byAxCisjZGVmaW5lIFJHX1JYREZFX0ZDQ0FMVENfTFBNX1NXX01PREUobikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRV9GQ0NBTFRDX1JFR19CQVNFICsgMHgwMDAwMDgyMCArIChuKSo0KSkgICAvL24gaXMgZnJvbSAwIHRvIDEKKyNkZWZpbmUgUkdfUlhERkVfRkNDQUxUQ19JUlEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFX0ZDQ0FMVENfUkVHX0JBU0UgKyAweDAwMDAwQTAwKSkKKworCisjZGVmaW5lIFJHX1JYREZFX0ZDQ0FMVENfT0ZGU0VUX29mZnNldF8yX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgUkdfUlhERkVfRkNDQUxUQ19PRkZTRVRfb2Zmc2V0XzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJHX1JYREZFX0ZDQ0FMVENfT0ZGU0VUX29mZnNldF8yX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkYwMDAwKQorCisjZGVmaW5lIFJHX1JYREZFX0ZDQ0FMVENfT0ZGU0VUX29mZnNldF8xX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBSR19SWERGRV9GQ0NBTFRDX09GRlNFVF9vZmZzZXRfMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgUkdfUlhERkVfRkNDQUxUQ19PRkZTRVRfb2Zmc2V0XzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGMDApCisKKyNkZWZpbmUgUkdfUlhERkVfRkNDQUxUQ19PRkZTRVRfb2Zmc2V0XzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJHX1JYREZFX0ZDQ0FMVENfT0ZGU0VUX29mZnNldF8wX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBSR19SWERGRV9GQ0NBTFRDX09GRlNFVF9vZmZzZXRfMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDBGRikKKworI2RlZmluZSBSR19SWERGRV9GQ0NBTFRDX1RRX1NFTF90cV9hdGltZXJfc2VsX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIFJHX1JYREZFX0ZDQ0FMVENfVFFfU0VMX3RxX2F0aW1lcl9zZWxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBSR19SWERGRV9GQ0NBTFRDX1RRX1NFTF90cV9hdGltZXJfc2VsX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMzAwMDAwMCkKKworI2RlZmluZSBSR19SWERGRV9GQ0NBTFRDX1RRX1NFTF90cV9zdGltZXJfc2VsX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFJHX1JYREZFX0ZDQ0FMVENfVFFfU0VMX3RxX3N0aW1lcl9zZWxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBSR19SWERGRV9GQ0NBTFRDX1RRX1NFTF90cV9zdGltZXJfc2VsX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDFGMDAwMCkKKworI2RlZmluZSBSR19SWERGRV9GQ0NBTFRDX1RRX1NFTF90cV9vZmZzZXRfc2VsX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgUkdfUlhERkVfRkNDQUxUQ19UUV9TRUxfdHFfb2Zmc2V0X3NlbF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFJHX1JYREZFX0ZDQ0FMVENfVFFfU0VMX3RxX29mZnNldF9zZWxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRjAwKQorCisjZGVmaW5lIFJHX1JYREZFX0ZDQ0FMVENfVFFfU0VMX3RxX2dsb19lbl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSR19SWERGRV9GQ0NBTFRDX1RRX1NFTF90cV9nbG9fZW5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkdfUlhERkVfRkNDQUxUQ19UUV9TRUxfdHFfZ2xvX2VuX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJHX1JYREZFX0ZDQ0FMVENfVFFfU0VMX3RxX2dsb19lbl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJHX1JYREZFX0ZDQ0FMVENfVFFfVFJHX3RxX3RyZ190Z2xfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgUkdfUlhERkVfRkNDQUxUQ19UUV9UUkdfdHFfdHJnX3RnbF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJHX1JYREZFX0ZDQ0FMVENfVFFfVFJHX3RxX3RyZ190Z2xfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBSR19SWERGRV9GQ0NBTFRDX1RRX1RSR190cV90cmdfdGdsX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBSR19SWERGRV9GQ0NBTFRDX1RRX1RSR190cV9zdHBfdGdsX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzApCisjZGVmaW5lIFJHX1JYREZFX0ZDQ0FMVENfVFFfVFJHX3RxX3N0cF90Z2xfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSR19SWERGRV9GQ0NBTFRDX1RRX1RSR190cV9zdHBfdGdsX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMCkKKyNkZWZpbmUgUkdfUlhERkVfRkNDQUxUQ19UUV9UUkdfdHFfc3RwX3RnbF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4NDAwMDAwMDApCisKKyNkZWZpbmUgUkdfUlhERkVfRkNDQUxUQ19UUV9ST190cV9mc21fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBSR19SWERGRV9GQ0NBTFRDX1RRX1JPX3RxX2ZzbV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkdfUlhERkVfRkNDQUxUQ19UUV9ST190cV9mc21fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDEwMDAwMDApCisjZGVmaW5lIFJHX1JYREZFX0ZDQ0FMVENfVFFfUk9fdHFfZnNtX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAxMDAwMDAwKQorCisjZGVmaW5lIFJHX1JYREZFX0ZDQ0FMVENfVFFfUk9fdHFfcG9pbnRlcl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSR19SWERGRV9GQ0NBTFRDX1RRX1JPX3RxX3BvaW50ZXJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgUkdfUlhERkVfRkNDQUxUQ19UUV9ST190cV9wb2ludGVyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwRkYpCisKKyNkZWZpbmUgUkdfUlhERkVfRkNDQUxUQ19UUV9BTExfUk9fYWxsX3RxX2ZzbV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJHX1JYREZFX0ZDQ0FMVENfVFFfQUxMX1JPX2FsbF90cV9mc21fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgUkdfUlhERkVfRkNDQUxUQ19UUV9BTExfUk9fYWxsX3RxX2ZzbV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDBGRkYpCisKKyNkZWZpbmUgUkdfUlhERkVfRkNDQUxUQ19MUE1fQ0ZHX2xwbV9nY19lbl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJHX1JYREZFX0ZDQ0FMVENfTFBNX0NGR19scG1fZ2NfZW5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSR19SWERGRV9GQ0NBTFRDX0xQTV9DRkdfbHBtX2djX2VuX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgUkdfUlhERkVfRkNDQUxUQ19MUE1fQ0ZHX2xwbV9nY19lbl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgUkdfUlhERkVfRkNDQUxUQ19MUE1fQ0ZHX2xwbV9mc21fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJHX1JYREZFX0ZDQ0FMVENfTFBNX0NGR19scG1fZnNtX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSR19SWERGRV9GQ0NBTFRDX0xQTV9DRkdfbHBtX2ZzbV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBSR19SWERGRV9GQ0NBTFRDX0xQTV9ST19scG1fZnNtX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUkdfUlhERkVfRkNDQUxUQ19MUE1fUk9fbHBtX2ZzbV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJHX1JYREZFX0ZDQ0FMVENfTFBNX1JPX2xwbV9mc21fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIFJHX1JYREZFX0ZDQ0FMVENfTFBNX1NXX01PREVfbHBtX3N3X21vZGVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgUkdfUlhERkVfRkNDQUxUQ19MUE1fU1dfTU9ERV9scG1fc3dfbW9kZV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJHX1JYREZFX0ZDQ0FMVENfTFBNX1NXX01PREVfbHBtX3N3X21vZGVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorI2RlZmluZSBSR19SWERGRV9GQ0NBTFRDX0xQTV9TV19NT0RFX2xwbV9zd19tb2RlX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKworI2RlZmluZSBSR19SWERGRV9GQ0NBTFRDX0xQTV9TV19NT0RFX2xwbV9zd190cmdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUkdfUlhERkVfRkNDQUxUQ19MUE1fU1dfTU9ERV9scG1fc3dfdHJnX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJHX1JYREZFX0ZDQ0FMVENfTFBNX1NXX01PREVfbHBtX3N3X3RyZ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSR19SWERGRV9GQ0NBTFRDX0xQTV9TV19NT0RFX2xwbV9zd190cmdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSR19SWERGRV9GQ0NBTFRDX0lSUV9yeGtfcmVhZGJhY2tfY2xyX3RnbF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFJHX1JYREZFX0ZDQ0FMVENfSVJRX3J4a19yZWFkYmFja19jbHJfdGdsX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSR19SWERGRV9GQ0NBTFRDX0lSUV9yeGtfcmVhZGJhY2tfY2xyX3RnbF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKyNkZWZpbmUgUkdfUlhERkVfRkNDQUxUQ19JUlFfcnhrX3JlYWRiYWNrX2Nscl90Z2xfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisKKyNkZWZpbmUgUkdfUlhERkVfRkNDQUxUQ19JUlFfcnhrX3JlYWRiYWNrX3N0YXR1c19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJHX1JYREZFX0ZDQ0FMVENfSVJRX3J4a19yZWFkYmFja19zdGF0dXNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSR19SWERGRV9GQ0NBTFRDX0lSUV9yeGtfcmVhZGJhY2tfc3RhdHVzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUkdfUlhERkVfRkNDQUxUQ19JUlFfcnhrX3JlYWRiYWNrX3N0YXR1c19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKworI2VuZGlmIC8vI2lmbmRlZiBfQ1BIX1JYX0RGRV9GQ0NBTFRDX0hfCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BocnhkZmVzeXNjb25maWcuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhyeGRmZXN5c2NvbmZpZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI0OGQxNDYKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BocnhkZmVzeXNjb25maWcuaApAQCAtMCwwICsxLDQwIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmIGRlZmluZWQoX19NRDkzX18pCisjaW5jbHVkZSAiY3BocnhkZmVzeXNjb25maWdfOTMuaCIKKyNlbHNlIC8qTUQ5NSxNRDk3LCBhZnRlciBNRDk3IG15YmUgbmVlZCB1cGRhdGUgKi8KKyNpbmNsdWRlICJjcGhyeGRmZXN5c2NvbmZpZ185NS5oIgorI2VuZGlmCisKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhyeGRmZXN5c2NvbmZpZ185My5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHJ4ZGZlc3lzY29uZmlnXzkzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2IyM2M1YgotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhyeGRmZXN5c2NvbmZpZ185My5oCkBAIC0wLDAgKzEsODggQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhfUlhERUZfU1lTQ09ORklHX0hfCisjZGVmaW5lIF9DUEhfUlhERUZfU1lTQ09ORklHX0hfCisKKwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogU1JBTUFERFI7ICAgICAgICAgLyogU1JBTSBhZGRyIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBTUkFNREFUQTsgICAgICAgICAvKiBTUkFNIGRhdGEgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIEFQQkFERFI7ICAgICAgICAgIC8qIEFQQiBhZGRyIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgQVBCREFUQTsgICAgICAgICAgLyogQVBCIGRhdGEgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqICBBUEJBRERSMzI7ICAgICAgICAvKiBBUEIgYWRkciBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAgIEFQQkRBVEEzMjsgICAgICAgIC8qIEFQQiBkYXRhIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogRFBSQU1BRERSOyAgICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHNpZ25lZCAgIHNob3J0KiBEUFJBTUFERFJfUzsgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIERQUkFNREFUQTsgICAgICAgIC8qIERQUkFNIGRhdGEgaXMgMTYgYml0cyAqLworCisKKyNkZWZpbmUgUlhERkVTWVNfQ09ORklHX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QTcwMTAwMDApCisKKyNkZWZpbmUgUlhERkVTWVNfQ09ORklHX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFJYREZFU1lTX0NPTkZJR19SRUdfQkFTRSArIDB4MDAwMDAxODAgKyAxKjQpCisKKworCisjZGVmaW5lIFJHX1JYREZFU1lTX1NXX0JDS19DR19FTihuKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRVNZU19DT05GSUdfUkVHX0JBU0UgKyAweDAwMDAwMDAwICsgKG4pKjQpKSAgIC8vbiBpcyBmcm9tIDAgdG8gMjMKKyNkZWZpbmUgUkdfUlhERkVTWVNfU1dfUENLX0NHX0VOKG4pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFU1lTX0NPTkZJR19SRUdfQkFTRSArIDB4MDAwMDAwODAgKyAobikqNCkpICAgLy9uIGlzIGZyb20gMCB0byAyMworI2RlZmluZSBSR19SWERGRVNZU19TV19CVVNfQkNLX0NHX0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVTWVNfQ09ORklHX1JFR19CQVNFICsgMHgwMDAwMDEwMCkpCisjZGVmaW5lIFJHX1JYREZFU1lTX0REUl9FTkFfRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRVNZU19DT05GSUdfUkVHX0JBU0UgKyAweDAwMDAwMTgwKSkKKworCisjZGVmaW5lIFJHX1JYREZFU1lTX1NXX0JDS19DR19FTl9yeGRmZXN5c19zd19iY2tfY2dfZW5fTFNCICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSR19SWERGRVNZU19TV19CQ0tfQ0dfRU5fcnhkZmVzeXNfc3dfYmNrX2NnX2VuX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkdfUlhERkVTWVNfU1dfQkNLX0NHX0VOX3J4ZGZlc3lzX3N3X2Jja19jZ19lbl9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJHX1JYREZFU1lTX1NXX0JDS19DR19FTl9yeGRmZXN5c19zd19iY2tfY2dfZW5fQklUICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJHX1JYREZFU1lTX1NXX1BDS19DR19FTl9yeGRmZXN5c19zd19wY2tfY2dfZW5fTFNCICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSR19SWERGRVNZU19TV19QQ0tfQ0dfRU5fcnhkZmVzeXNfc3dfcGNrX2NnX2VuX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkdfUlhERkVTWVNfU1dfUENLX0NHX0VOX3J4ZGZlc3lzX3N3X3Bja19jZ19lbl9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJHX1JYREZFU1lTX1NXX1BDS19DR19FTl9yeGRmZXN5c19zd19wY2tfY2dfZW5fQklUICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJHX1JYREZFU1lTX1NXX0JVU19CQ0tfQ0dfRU5fcnhkZmVzeXNfc3dfYnVzX2Jja19jZ19lbl9MU0IgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSR19SWERGRVNZU19TV19CVVNfQkNLX0NHX0VOX3J4ZGZlc3lzX3N3X2J1c19iY2tfY2dfZW5fV0lEVEggICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkdfUlhERkVTWVNfU1dfQlVTX0JDS19DR19FTl9yeGRmZXN5c19zd19idXNfYmNrX2NnX2VuX01BU0sgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJHX1JYREZFU1lTX1NXX0JVU19CQ0tfQ0dfRU5fcnhkZmVzeXNfc3dfYnVzX2Jja19jZ19lbl9CSVQgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJHX1JYREZFU1lTX0REUl9FTkFfRU5fcnhkZmVzeXNfbWFzX2J1c19pZGxlX2VuX0xTQiAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSR19SWERGRVNZU19ERFJfRU5BX0VOX3J4ZGZlc3lzX21hc19idXNfaWRsZV9lbl9XSURUSCAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkdfUlhERkVTWVNfRERSX0VOQV9FTl9yeGRmZXN5c19tYXNfYnVzX2lkbGVfZW5fTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFJHX1JYREZFU1lTX0REUl9FTkFfRU5fcnhkZmVzeXNfbWFzX2J1c19pZGxlX2VuX0JJVCAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFJHX1JYREZFU1lTX0REUl9FTkFfRU5fcnhkZmVzeXNfZG1hX2Rkcl9jbGtfZW5hX2VuX0xTQiAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSR19SWERGRVNZU19ERFJfRU5BX0VOX3J4ZGZlc3lzX2RtYV9kZHJfY2xrX2VuYV9lbl9XSURUSCAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkdfUlhERkVTWVNfRERSX0VOQV9FTl9yeGRmZXN5c19kbWFfZGRyX2Nsa19lbmFfZW5fTUFTSyAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJHX1JYREZFU1lTX0REUl9FTkFfRU5fcnhkZmVzeXNfZG1hX2Rkcl9jbGtfZW5hX2VuX0JJVCAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisKKyNlbmRpZiAvLyNpZm5kZWYgX0NQSF9SWERFRl9TWVNDT05GSUdfSF8KZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhyeGRmZXN5c2NvbmZpZ185NS5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHJ4ZGZlc3lzY29uZmlnXzk1LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2IyM2M1YgotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhyeGRmZXN5c2NvbmZpZ185NS5oCkBAIC0wLDAgKzEsODggQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhfUlhERUZfU1lTQ09ORklHX0hfCisjZGVmaW5lIF9DUEhfUlhERUZfU1lTQ09ORklHX0hfCisKKwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogU1JBTUFERFI7ICAgICAgICAgLyogU1JBTSBhZGRyIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBTUkFNREFUQTsgICAgICAgICAvKiBTUkFNIGRhdGEgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIEFQQkFERFI7ICAgICAgICAgIC8qIEFQQiBhZGRyIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgQVBCREFUQTsgICAgICAgICAgLyogQVBCIGRhdGEgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqICBBUEJBRERSMzI7ICAgICAgICAvKiBBUEIgYWRkciBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAgIEFQQkRBVEEzMjsgICAgICAgIC8qIEFQQiBkYXRhIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogRFBSQU1BRERSOyAgICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHNpZ25lZCAgIHNob3J0KiBEUFJBTUFERFJfUzsgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIERQUkFNREFUQTsgICAgICAgIC8qIERQUkFNIGRhdGEgaXMgMTYgYml0cyAqLworCisKKyNkZWZpbmUgUlhERkVTWVNfQ09ORklHX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QTcwMTAwMDApCisKKyNkZWZpbmUgUlhERkVTWVNfQ09ORklHX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFJYREZFU1lTX0NPTkZJR19SRUdfQkFTRSArIDB4MDAwMDAxODAgKyAxKjQpCisKKworCisjZGVmaW5lIFJHX1JYREZFU1lTX1NXX0JDS19DR19FTihuKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRVNZU19DT05GSUdfUkVHX0JBU0UgKyAweDAwMDAwMDAwICsgKG4pKjQpKSAgIC8vbiBpcyBmcm9tIDAgdG8gMjMKKyNkZWZpbmUgUkdfUlhERkVTWVNfU1dfUENLX0NHX0VOKG4pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFJYREZFU1lTX0NPTkZJR19SRUdfQkFTRSArIDB4MDAwMDAwODAgKyAobikqNCkpICAgLy9uIGlzIGZyb20gMCB0byAyMworI2RlZmluZSBSR19SWERGRVNZU19TV19CVVNfQkNLX0NHX0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoUlhERkVTWVNfQ09ORklHX1JFR19CQVNFICsgMHgwMDAwMDEwMCkpCisjZGVmaW5lIFJHX1JYREZFU1lTX0REUl9FTkFfRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShSWERGRVNZU19DT05GSUdfUkVHX0JBU0UgKyAweDAwMDAwMTgwKSkKKworCisjZGVmaW5lIFJHX1JYREZFU1lTX1NXX0JDS19DR19FTl9yeGRmZXN5c19zd19iY2tfY2dfZW5fTFNCICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSR19SWERGRVNZU19TV19CQ0tfQ0dfRU5fcnhkZmVzeXNfc3dfYmNrX2NnX2VuX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkdfUlhERkVTWVNfU1dfQkNLX0NHX0VOX3J4ZGZlc3lzX3N3X2Jja19jZ19lbl9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJHX1JYREZFU1lTX1NXX0JDS19DR19FTl9yeGRmZXN5c19zd19iY2tfY2dfZW5fQklUICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJHX1JYREZFU1lTX1NXX1BDS19DR19FTl9yeGRmZXN5c19zd19wY2tfY2dfZW5fTFNCICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSR19SWERGRVNZU19TV19QQ0tfQ0dfRU5fcnhkZmVzeXNfc3dfcGNrX2NnX2VuX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkdfUlhERkVTWVNfU1dfUENLX0NHX0VOX3J4ZGZlc3lzX3N3X3Bja19jZ19lbl9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJHX1JYREZFU1lTX1NXX1BDS19DR19FTl9yeGRmZXN5c19zd19wY2tfY2dfZW5fQklUICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJHX1JYREZFU1lTX1NXX0JVU19CQ0tfQ0dfRU5fcnhkZmVzeXNfc3dfYnVzX2Jja19jZ19lbl9MU0IgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSR19SWERGRVNZU19TV19CVVNfQkNLX0NHX0VOX3J4ZGZlc3lzX3N3X2J1c19iY2tfY2dfZW5fV0lEVEggICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkdfUlhERkVTWVNfU1dfQlVTX0JDS19DR19FTl9yeGRmZXN5c19zd19idXNfYmNrX2NnX2VuX01BU0sgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJHX1JYREZFU1lTX1NXX0JVU19CQ0tfQ0dfRU5fcnhkZmVzeXNfc3dfYnVzX2Jja19jZ19lbl9CSVQgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJHX1JYREZFU1lTX0REUl9FTkFfRU5fcnhkZmVzeXNfbWFzX2J1c19pZGxlX2VuX0xTQiAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSR19SWERGRVNZU19ERFJfRU5BX0VOX3J4ZGZlc3lzX21hc19idXNfaWRsZV9lbl9XSURUSCAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkdfUlhERkVTWVNfRERSX0VOQV9FTl9yeGRmZXN5c19tYXNfYnVzX2lkbGVfZW5fTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFJHX1JYREZFU1lTX0REUl9FTkFfRU5fcnhkZmVzeXNfbWFzX2J1c19pZGxlX2VuX0JJVCAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFJHX1JYREZFU1lTX0REUl9FTkFfRU5fcnhkZmVzeXNfZG1hX2Rkcl9jbGtfZW5hX2VuX0xTQiAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSR19SWERGRVNZU19ERFJfRU5BX0VOX3J4ZGZlc3lzX2RtYV9kZHJfY2xrX2VuYV9lbl9XSURUSCAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkdfUlhERkVTWVNfRERSX0VOQV9FTl9yeGRmZXN5c19kbWFfZGRyX2Nsa19lbmFfZW5fTUFTSyAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJHX1JYREZFU1lTX0REUl9FTkFfRU5fcnhkZmVzeXNfZG1hX2Rkcl9jbGtfZW5hX2VuX0JJVCAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisKKyNlbmRpZiAvLyNpZm5kZWYgX0NQSF9SWERFRl9TWVNDT05GSUdfSF8KZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhyeG1tZXZlbnRnZW4uaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGhyeG1tZXZlbnRnZW4uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYjQyNzA5Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHJ4bW1ldmVudGdlbi5oCkBAIC0wLDAgKzEsMTYxIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfQ1BIX1JYX01NX0VWRU5UX0dFTl9IXworI2RlZmluZSBfQ1BIX1JYX01NX0VWRU5UX0dFTl9IXworCisKK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIFNSQU1BRERSOyAgICAgICAgIC8qIFNSQU0gYWRkciBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgU1JBTURBVEE7ICAgICAgICAgLyogU1JBTSBkYXRhIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBBUEJBRERSOyAgICAgICAgICAvKiBBUEIgYWRkciBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIEFQQkRBVEE7ICAgICAgICAgIC8qIEFQQiBkYXRhIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nKiAgQVBCQUREUjMyOyAgICAgICAgLyogQVBCIGFkZHIgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgICBBUEJEQVRBMzI7ICAgICAgICAvKiBBUEIgZGF0YSBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIERQUkFNQUREUjsgICAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSBzaWduZWQgICBzaG9ydCogRFBSQU1BRERSX1M7ICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBEUFJBTURBVEE7ICAgICAgICAvKiBEUFJBTSBkYXRhIGlzIDE2IGJpdHMgKi8KKworCisjZGVmaW5lIE1NX1JYX1JGX0VWRU5UR0VOX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAwKQorCisjZGVmaW5lIE1NX1JYX1JGX0VWRU5UR0VOX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChNTV9SWF9SRl9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MjAxNCArIDMyKjQpCisKKworCisjZGVmaW5lIE1NX0VWRU5UR0VOX0xURV9CU0lfQklBUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNTV9SWF9SRl9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDAwMCkpCisjZGVmaW5lIE1NX0VWRU5UR0VOX0ZERF9CU0lfQklBUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNTV9SWF9SRl9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDAwNCkpCisjZGVmaW5lIE1NX0VWRU5UR0VOX0dTTV9CU0lfQklBUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNTV9SWF9SRl9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDAwOCkpCisjZGVmaW5lIE1NX0VWRU5UR0VOX0JTSV9FVkVOVF9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNTV9SWF9SRl9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDAwQykpCisjZGVmaW5lIE1NX0VWRU5UR0VOX0JTSV9FVkVOVF9TVE9QICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNTV9SWF9SRl9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDAxMCkpCisjZGVmaW5lIE1NX0VWRU5UR0VOX0JTSV9FVkVOVChuKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNTV9SWF9SRl9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MDAxNCArIChuKSo0KSkgICAvL24gaXMgZnJvbSAwIHRvIDMxCisjZGVmaW5lIE1NX0VWRU5UR0VOX0xURV9NSVBJX0JJQVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNTV9SWF9SRl9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MTAwMCkpCisjZGVmaW5lIE1NX0VWRU5UR0VOX0ZERF9NSVBJX0JJQVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNTV9SWF9SRl9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MTAwNCkpCisjZGVmaW5lIE1NX0VWRU5UR0VOX0dTTV9NSVBJX0JJQVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNTV9SWF9SRl9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MTAwOCkpCisjZGVmaW5lIE1NX0VWRU5UR0VOX01JUElfRVZFTlRfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNTV9SWF9SRl9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MTAwQykpCisjZGVmaW5lIE1NX0VWRU5UR0VOX01JUElfRVZFTlRfU1RPUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNTV9SWF9SRl9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MTAxMCkpCisjZGVmaW5lIE1NX0VWRU5UR0VOX01JUElfRVZFTlQobikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNTV9SWF9SRl9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MTAxNCArIChuKSo0KSkgICAvL24gaXMgZnJvbSAwIHRvIDMxCisjZGVmaW5lIE1NX0VWRU5UR0VOX0xURV9CUElfQklBUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNTV9SWF9SRl9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MjAwMCkpCisjZGVmaW5lIE1NX0VWRU5UR0VOX0ZERF9CUElfQklBUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNTV9SWF9SRl9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MjAwNCkpCisjZGVmaW5lIE1NX0VWRU5UR0VOX0dTTV9CUElfQklBUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNTV9SWF9SRl9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MjAwOCkpCisjZGVmaW5lIE1NX0VWRU5UR0VOX0JQSV9FVkVOVF9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNTV9SWF9SRl9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MjAwQykpCisjZGVmaW5lIE1NX0VWRU5UR0VOX0JQSV9FVkVOVF9TVE9QICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNTV9SWF9SRl9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MjAxMCkpCisjZGVmaW5lIE1NX0VWRU5UR0VOX0JQSV9FVkVOVChuKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNTV9SWF9SRl9FVkVOVEdFTl9SRUdfQkFTRSArIDB4MjAxNCArIChuKSo0KSkgICAvL24gaXMgZnJvbSAwIHRvIDMxCisKKworI2RlZmluZSBNTV9FVkVOVEdFTl9MVEVfQlNJX0JJQVNfTFRFX0JTSV9CSUFTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTU1fRVZFTlRHRU5fTFRFX0JTSV9CSUFTX0xURV9CU0lfQklBU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBNTV9FVkVOVEdFTl9MVEVfQlNJX0JJQVNfTFRFX0JTSV9CSUFTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGRikKKworI2RlZmluZSBNTV9FVkVOVEdFTl9GRERfQlNJX0JJQVNfRkREX0JTSV9CSUFTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTU1fRVZFTlRHRU5fRkREX0JTSV9CSUFTX0ZERF9CU0lfQklBU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBNTV9FVkVOVEdFTl9GRERfQlNJX0JJQVNfRkREX0JTSV9CSUFTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBNTV9FVkVOVEdFTl9HU01fQlNJX0JJQVNfR1NNX0JTSV9CSUFTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTU1fRVZFTlRHRU5fR1NNX0JTSV9CSUFTX0dTTV9CU0lfQklBU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBNTV9FVkVOVEdFTl9HU01fQlNJX0JJQVNfR1NNX0JTSV9CSUFTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwM0ZGRikKKworI2RlZmluZSBNTV9FVkVOVEdFTl9CU0lfRVZFTlRfU1RBVFVTX0JTSV9FVkVOVF9TVEFUVVNfTFNCICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTU1fRVZFTlRHRU5fQlNJX0VWRU5UX1NUQVRVU19CU0lfRVZFTlRfU1RBVFVTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBNTV9FVkVOVEdFTl9CU0lfRVZFTlRfU1RBVFVTX0JTSV9FVkVOVF9TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBNTV9FVkVOVEdFTl9CU0lfRVZFTlRfU1RPUF9CU0lfRVZFTlRfU1RPUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTU1fRVZFTlRHRU5fQlNJX0VWRU5UX1NUT1BfQlNJX0VWRU5UX1NUT1BfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBNTV9FVkVOVEdFTl9CU0lfRVZFTlRfU1RPUF9CU0lfRVZFTlRfU1RPUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBNTV9FVkVOVEdFTl9CU0lfRVZFTlRfTU9ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjkpCisjZGVmaW5lIE1NX0VWRU5UR0VOX0JTSV9FVkVOVF9NT0RFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBNTV9FVkVOVEdFTl9CU0lfRVZFTlRfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhFMDAwMDAwMCkKKworI2RlZmluZSBNTV9FVkVOVEdFTl9CU0lfRVZFTlRfQlNJX0VWRU5UX1RJTUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTU1fRVZFTlRHRU5fQlNJX0VWRU5UX0JTSV9FVkVOVF9USU1FX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBNTV9FVkVOVEdFTl9CU0lfRVZFTlRfQlNJX0VWRU5UX1RJTUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGRikKKworI2RlZmluZSBNTV9FVkVOVEdFTl9MVEVfTUlQSV9CSUFTX0xURV9NSVBJX0JJQVNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTU1fRVZFTlRHRU5fTFRFX01JUElfQklBU19MVEVfTUlQSV9CSUFTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBNTV9FVkVOVEdFTl9MVEVfTUlQSV9CSUFTX0xURV9NSVBJX0JJQVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGRikKKworI2RlZmluZSBNTV9FVkVOVEdFTl9GRERfTUlQSV9CSUFTX0ZERF9NSVBJX0JJQVNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTU1fRVZFTlRHRU5fRkREX01JUElfQklBU19GRERfTUlQSV9CSUFTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBNTV9FVkVOVEdFTl9GRERfTUlQSV9CSUFTX0ZERF9NSVBJX0JJQVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBNTV9FVkVOVEdFTl9HU01fTUlQSV9CSUFTX0dTTV9NSVBJX0JJQVNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTU1fRVZFTlRHRU5fR1NNX01JUElfQklBU19HU01fTUlQSV9CSUFTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBNTV9FVkVOVEdFTl9HU01fTUlQSV9CSUFTX0dTTV9NSVBJX0JJQVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwM0ZGRikKKworI2RlZmluZSBNTV9FVkVOVEdFTl9NSVBJX0VWRU5UX1NUQVRVU19NSVBJX0VWRU5UX1NUQVRVU19MU0IgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTU1fRVZFTlRHRU5fTUlQSV9FVkVOVF9TVEFUVVNfTUlQSV9FVkVOVF9TVEFUVVNfV0lEVEggICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBNTV9FVkVOVEdFTl9NSVBJX0VWRU5UX1NUQVRVU19NSVBJX0VWRU5UX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBNTV9FVkVOVEdFTl9NSVBJX0VWRU5UX1NUT1BfTUlQSV9FVkVOVF9TVE9QX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTU1fRVZFTlRHRU5fTUlQSV9FVkVOVF9TVE9QX01JUElfRVZFTlRfU1RPUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBNTV9FVkVOVEdFTl9NSVBJX0VWRU5UX1NUT1BfTUlQSV9FVkVOVF9TVE9QX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBNTV9FVkVOVEdFTl9NSVBJX0VWRU5UX01PREVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjkpCisjZGVmaW5lIE1NX0VWRU5UR0VOX01JUElfRVZFTlRfTU9ERV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBNTV9FVkVOVEdFTl9NSVBJX0VWRU5UX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhFMDAwMDAwMCkKKworI2RlZmluZSBNTV9FVkVOVEdFTl9NSVBJX0VWRU5UX01JUElfRVZFTlRfVElNRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTU1fRVZFTlRHRU5fTUlQSV9FVkVOVF9NSVBJX0VWRU5UX1RJTUVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBNTV9FVkVOVEdFTl9NSVBJX0VWRU5UX01JUElfRVZFTlRfVElNRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGRikKKworI2RlZmluZSBNTV9FVkVOVEdFTl9MVEVfQlBJX0JJQVNfTFRFX0JQSV9CSUFTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTU1fRVZFTlRHRU5fTFRFX0JQSV9CSUFTX0xURV9CUElfQklBU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBNTV9FVkVOVEdFTl9MVEVfQlBJX0JJQVNfTFRFX0JQSV9CSUFTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGRikKKworI2RlZmluZSBNTV9FVkVOVEdFTl9GRERfQlBJX0JJQVNfRkREX0JQSV9CSUFTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTU1fRVZFTlRHRU5fRkREX0JQSV9CSUFTX0ZERF9CUElfQklBU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBNTV9FVkVOVEdFTl9GRERfQlBJX0JJQVNfRkREX0JQSV9CSUFTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBNTV9FVkVOVEdFTl9HU01fQlBJX0JJQVNfR1NNX0JQSV9CSUFTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTU1fRVZFTlRHRU5fR1NNX0JQSV9CSUFTX0dTTV9CUElfQklBU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBNTV9FVkVOVEdFTl9HU01fQlBJX0JJQVNfR1NNX0JQSV9CSUFTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwM0ZGRikKKworI2RlZmluZSBNTV9FVkVOVEdFTl9CUElfRVZFTlRfU1RBVFVTX0JQSV9FVkVOVF9TVEFUVVNfTFNCICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTU1fRVZFTlRHRU5fQlBJX0VWRU5UX1NUQVRVU19CUElfRVZFTlRfU1RBVFVTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBNTV9FVkVOVEdFTl9CUElfRVZFTlRfU1RBVFVTX0JQSV9FVkVOVF9TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBNTV9FVkVOVEdFTl9CUElfRVZFTlRfU1RPUF9CUElfRVZFTlRfU1RPUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTU1fRVZFTlRHRU5fQlBJX0VWRU5UX1NUT1BfQlBJX0VWRU5UX1NUT1BfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBNTV9FVkVOVEdFTl9CUElfRVZFTlRfU1RPUF9CUElfRVZFTlRfU1RPUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBNTV9FVkVOVEdFTl9CUElfRVZFTlRfTU9ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjkpCisjZGVmaW5lIE1NX0VWRU5UR0VOX0JQSV9FVkVOVF9NT0RFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBNTV9FVkVOVEdFTl9CUElfRVZFTlRfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhFMDAwMDAwMCkKKworI2RlZmluZSBNTV9FVkVOVEdFTl9CUElfRVZFTlRfQlBJX0VWRU5UX1RJTUVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTU1fRVZFTlRHRU5fQlBJX0VWRU5UX0JQSV9FVkVOVF9USU1FX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBNTV9FVkVOVEdFTl9CUElfRVZFTlRfQlBJX0VWRU5UX1RJTUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGRikKKworCisjZW5kaWYgLy8jaWZuZGVmIF9DUEhfUlhfTU1fRVZFTlRfR0VOX0hfCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3Boc2xwY3RybC5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHNscGN0cmwuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZjdkNzk1Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHNscGN0cmwuaApAQCAtMCwwICsxLDIxMSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NQSFNMUENUUkxfSF8KKyNkZWZpbmUgX0NQSFNMUENUUkxfSF8KKworCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBTUkFNQUREUjsgICAgICAgICAvKiBTUkFNIGFkZHIgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIFNSQU1EQVRBOyAgICAgICAgIC8qIFNSQU0gZGF0YSBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogQVBCQUREUjsgICAgICAgICAgLyogQVBCIGFkZHIgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBBUEJEQVRBOyAgICAgICAgICAvKiBBUEIgZGF0YSBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyogIEFQQkFERFIzMjsgICAgICAgIC8qIEFQQiBhZGRyIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICAgQVBCREFUQTMyOyAgICAgICAgLyogQVBCIGRhdGEgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBEUFJBTUFERFI7ICAgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgc2lnbmVkICAgc2hvcnQqIERQUkFNQUREUl9TOyAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgRFBSQU1EQVRBOyAgICAgICAgLyogRFBSQU0gZGF0YSBpcyAxNiBiaXRzICovCisKKyNpZiAoZGVmaW5lZChfX01EOTNfXyl8fGRlZmluZWQoX19NRDk1X18pKQorI2RlZmluZSBTVF9TTV9SRUdfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QTYwRDAwMDApLypTTSBSRUcgQkFTRSA5MyY5NSovCisjZWxpZiBkZWZpbmVkKF9fTUQ5N19fKSB8fCBkZWZpbmVkKF9fTUQ5N1BfXykgCisjZGVmaW5lIFNUX1NNX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhBODBEMDAwMCkvKlNNIFJFRyBCQVNFIDk3Ki8KKyNlbmRpZgorCisjZGVmaW5lIFNUX1NNX0NPTihpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfU01fUkVHX0JBU0UgKygoaSkgPDwgMTcpICsgMHgwMDAwMDAwMCkpCisjZGVmaW5lIFNUX1NNX1BBVVNFX1RJTUUoaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfU01fUkVHX0JBU0UgKygoaSkgPDwgMTcpICsgMHgwMDAwMDAwNCkpCisjZGVmaW5lIFNUX1NNX1NUQShpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfU01fUkVHX0JBU0UgKygoaSkgPDwgMTcpICsgMHgwMDAwMDAwOCkpCisjZGVmaW5lIFNUX1NNX0NGRyhpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfU01fUkVHX0JBU0UgKygoaSkgPDwgMTcpICsgMHgwMDAwMDAwQykpCisjZGVmaW5lIFNUX1NNX1NUQVJUX1RJTUUoaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfU01fUkVHX0JBU0UgKygoaSkgPDwgMTcpICsgMHgwMDAwMDAxMCkpCisjZGVmaW5lIFNUX1NNX1NXX1dBS0VfQ09OKGkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfU01fUkVHX0JBU0UgKygoaSkgPDwgMTcpICsgMHgwMDAwMDAxNCkpCisjZGVmaW5lIFNUX1NNX1NURVBfRlJBQyhpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfU01fUkVHX0JBU0UgKygoaSkgPDwgMTcpICsgMHgwMDAwMDAxOCkpCisjZGVmaW5lIFNUX1NNX1NZU0NOVF9GMzJLX0lOVChpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfU01fUkVHX0JBU0UgKygoaSkgPDwgMTcpICsgMHgwMDAwMDAxQykpCisjZGVmaW5lIFNUX1NNX1NZU0NOVF9GMzJLX0ZSQUMoaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfU01fUkVHX0JBU0UgKygoaSkgPDwgMTcpICsgMHgwMDAwMDAyMCkpCisjZGVmaW5lIFNUX1NNX1NVUEZSTV9GMzJLX0woaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfU01fUkVHX0JBU0UgKygoaSkgPDwgMTcpICsgMHgwMDAwMDAyNCkpCisjZGVmaW5lIFNUX1NNX1NVUEZSTV9GMzJLX0goaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfU01fUkVHX0JBU0UgKygoaSkgPDwgMTcpICsgMHgwMDAwMDAyOCkpCisjZGVmaW5lIFNUX1NNX1NMRUVQX09GRlNFVChpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfU01fUkVHX0JBU0UgKygoaSkgPDwgMTcpICsgMHgwMDAwMDAyQykpCisjZGVmaW5lIFNUX1NNX1RJTUVfU1RBUlQoaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfU01fUkVHX0JBU0UgKygoaSkgPDwgMTcpICsgMHgwMDAwMDAzMCkpCisjZGVmaW5lIFNUX1NNX1NVUEZSTV9USU1FX0xfU1RBUlQoaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfU01fUkVHX0JBU0UgKygoaSkgPDwgMTcpICsgMHgwMDAwMDAzNCkpCisjZGVmaW5lIFNUX1NNX1NVUEZSTV9USU1FX0hfU1RBUlQoaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfU01fUkVHX0JBU0UgKygoaSkgPDwgMTcpICsgMHgwMDAwMDAzOCkpCisjZGVmaW5lIFNUX1NNX1RJTUVfU0xUQkQoaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfU01fUkVHX0JBU0UgKygoaSkgPDwgMTcpICsgMHgwMDAwMDAzQykpCisjZGVmaW5lIFNUX1NNX1NVUEZSTV9USU1FX0xfU0xUQkQoaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfU01fUkVHX0JBU0UgKygoaSkgPDwgMTcpICsgMHgwMDAwMDA0MCkpCisjZGVmaW5lIFNUX1NNX1NVUEZSTV9USU1FX0hfU0xUQkQoaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfU01fUkVHX0JBU0UgKygoaSkgPDwgMTcpICsgMHgwMDAwMDA0NCkpCisjZGVmaW5lIFNUX1NNX1RJTUVfV0FLRVVQX1NUQVJUKGkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfU01fUkVHX0JBU0UgKygoaSkgPDwgMTcpICsgMHgwMDAwMDA0OCkpCisjZGVmaW5lIFNUX1NNX1NVUEZSTV9USU1FX0xfV0FLRVVQX1NUQVJUKGkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfU01fUkVHX0JBU0UgKygoaSkgPDwgMTcpICsgMHgwMDAwMDA0QykpCisjZGVmaW5lIFNUX1NNX1NVUEZSTV9USU1FX0hfV0FLRVVQX1NUQVJUKGkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfU01fUkVHX0JBU0UgKygoaSkgPDwgMTcpICsgMHgwMDAwMDA1MCkpCisjZGVmaW5lIFNUX1NNX0ZJTkFMX1BBVVNFX0RVUkFUSU9OKGkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfU01fUkVHX0JBU0UgKygoaSkgPDwgMTcpICsgMHgwMDAwMDA1NCkpCisjZGVmaW5lIFNUX1NNX1BSRVNMUF9DTlQoaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfU01fUkVHX0JBU0UgKygoaSkgPDwgMTcpICsgMHgwMDAwMDA1OCkpCisjZGVmaW5lIFNUX1NNX1NMVF9TVEFSVF9GMzJLKGkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfU01fUkVHX0JBU0UgKygoaSkgPDwgMTcpICsgMHgwMDAwMDA1QykpCisjZGVmaW5lIFNUX1NNX1dBS0VVUF9TVEFSVF9GMzJLKGkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfU01fUkVHX0JBU0UgKygoaSkgPDwgMTcpICsgMHgwMDAwMDA2MCkpCisKKworI2RlZmluZSBTVF9TTV9DT05fQ0xSX0NOVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBTVF9TTV9DT05fQ0xSX0NOVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX1NNX0NPTl9DTFJfQ05UX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKyNkZWZpbmUgU1RfU01fQ09OX0NMUl9DTlRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorCisjZGVmaW5lIFNUX1NNX0NPTl9QQVVTRV9TVEFSVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfU01fQ09OX1BBVVNFX1NUQVJUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9TTV9DT05fUEFVU0VfU1RBUlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFNUX1NNX0NPTl9QQVVTRV9TVEFSVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBTVF9TTV9DT05fUEFVU0VfTU9ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNUX1NNX0NPTl9QQVVTRV9NT0RFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfU01fQ09OX1BBVVNFX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBTVF9TTV9DT05fUEFVU0VfTU9ERV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgU1RfU01fUEFVU0VfVElNRV9QQVVTRV9USU1FX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVF9TTV9QQVVTRV9USU1FX1BBVVNFX1RJTUVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBTVF9TTV9QQVVTRV9USU1FX1BBVVNFX1RJTUVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgU1RfU01fU1RBX1NMUF9FWElUX0NQTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTVF9TTV9TVEFfU0xQX0VYSVRfQ1BMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX1NNX1NUQV9TTFBfRVhJVF9DUExfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgU1RfU01fU1RBX1NMUF9FWElUX0NQTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFNUX1NNX1NUQV9QQVVTRV9DUExfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgU1RfU01fU1RBX1BBVVNFX0NQTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9TTV9TVEFfUEFVU0VfQ1BMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFNUX1NNX1NUQV9QQVVTRV9DUExfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBTVF9TTV9DRkdfU1dfV0FLRV9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFNUX1NNX0NGR19TV19XQUtFX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfU01fQ0ZHX1NXX1dBS0VfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBTVF9TTV9DRkdfU1dfV0FLRV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgU1RfU01fQ0ZHX0lSUV9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9TTV9DRkdfSVJRX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX1NNX0NGR19JUlFfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgU1RfU01fQ0ZHX0lSUV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFNUX1NNX1NUQVJUX1RJTUVfU1lTVEVNX1RJTUVfQ05UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1RfU01fU1RBUlRfVElNRV9TWVNURU1fVElNRV9DTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgU1RfU01fU1RBUlRfVElNRV9TWVNURU1fVElNRV9DTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZDKQorCisjZGVmaW5lIFNUX1NNX1NXX1dBS0VfQ09OX1NXX0VWRU5UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RfU01fU1dfV0FLRV9DT05fU1dfRVZFTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9TTV9TV19XQUtFX0NPTl9TV19FVkVOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNUX1NNX1NXX1dBS0VfQ09OX1NXX0VWRU5UX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBTVF9TTV9TVEVQX0ZSQUNfU1RFUF9JTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE4KQorI2RlZmluZSBTVF9TTV9TVEVQX0ZSQUNfU1RFUF9JTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNUX1NNX1NURVBfRlJBQ19TVEVQX0lOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwN0ZDMDAwMCkKKworI2RlZmluZSBTVF9TTV9TVEVQX0ZSQUNfU1RFUF9GUkFDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNUX1NNX1NURVBfRlJBQ19TVEVQX0ZSQUNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTgpCisjZGVmaW5lIFNUX1NNX1NURVBfRlJBQ19TVEVQX0ZSQUNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAzRkZGRikKKworI2RlZmluZSBTVF9TTV9TWVNDTlRfRjMyS19JTlRfU1lTQ05UX0YzMktfSU5UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNUX1NNX1NZU0NOVF9GMzJLX0lOVF9TWVNDTlRfRjMyS19JTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFNUX1NNX1NZU0NOVF9GMzJLX0lOVF9TWVNDTlRfRjMyS19JTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGRikKKworI2RlZmluZSBTVF9TTV9TWVNDTlRfRjMyS19GUkFDX1NZU0NOVF9GMzJLX0ZSQUNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNUX1NNX1NZU0NOVF9GMzJLX0ZSQUNfU1lTQ05UX0YzMktfRlJBQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMTgpCisjZGVmaW5lIFNUX1NNX1NZU0NOVF9GMzJLX0ZSQUNfU1lTQ05UX0YzMktfRlJBQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAzRkZGRikKKworI2RlZmluZSBTVF9TTV9TVVBGUk1fRjMyS19MX1NVUEZSTV9DTlRfRjMyS19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNUX1NNX1NVUEZSTV9GMzJLX0xfU1VQRlJNX0NOVF9GMzJLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFNUX1NNX1NVUEZSTV9GMzJLX0xfU1VQRlJNX0NOVF9GMzJLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBTVF9TTV9TVVBGUk1fRjMyS19IX1NVUEZSTV9DTlRfRjMyS19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNUX1NNX1NVUEZSTV9GMzJLX0hfU1VQRlJNX0NOVF9GMzJLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgU1RfU01fU1VQRlJNX0YzMktfSF9TVVBGUk1fQ05UX0YzMktfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIFNUX1NNX1NMRUVQX09GRlNFVF9DSElQX09GRlNFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1RfU01fU0xFRVBfT0ZGU0VUX0NISVBfT0ZGU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgU1RfU01fU0xFRVBfT0ZGU0VUX0NISVBfT0ZGU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRkZDKQorCisjZGVmaW5lIFNUX1NNX1RJTUVfU1RBUlRfU01fVElNRV9TVEFSVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RfU01fVElNRV9TVEFSVF9TTV9USU1FX1NUQVJUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgU1RfU01fVElNRV9TVEFSVF9TTV9USU1FX1NUQVJUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZGKQorCisjZGVmaW5lIFNUX1NNX1NVUEZSTV9USU1FX0xfU1RBUlRfU01fU1VQRlJNX1RJTUVfU1RBUlRfTFNCICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RfU01fU1VQRlJNX1RJTUVfTF9TVEFSVF9TTV9TVVBGUk1fVElNRV9TVEFSVF9XSURUSCAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgU1RfU01fU1VQRlJNX1RJTUVfTF9TVEFSVF9TTV9TVVBGUk1fVElNRV9TVEFSVF9NQVNLICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFNUX1NNX1NVUEZSTV9USU1FX0hfU1RBUlRfU01fU1VQRlJNX1RJTUVfU1RBUlRfTFNCICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RfU01fU1VQRlJNX1RJTUVfSF9TVEFSVF9TTV9TVVBGUk1fVElNRV9TVEFSVF9XSURUSCAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBTVF9TTV9TVVBGUk1fVElNRV9IX1NUQVJUX1NNX1NVUEZSTV9USU1FX1NUQVJUX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgU1RfU01fVElNRV9TTFRCRF9TTV9USU1FX1NMVEJEX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVF9TTV9USU1FX1NMVEJEX1NNX1RJTUVfU0xUQkRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBTVF9TTV9USU1FX1NMVEJEX1NNX1RJTUVfU0xUQkRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkYpCisKKyNkZWZpbmUgU1RfU01fU1VQRlJNX1RJTUVfTF9TTFRCRF9TTV9TVVBGUk1fVElNRV9TTFRCRF9MU0IgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVF9TTV9TVVBGUk1fVElNRV9MX1NMVEJEX1NNX1NVUEZSTV9USU1FX1NMVEJEX1dJRFRIICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBTVF9TTV9TVVBGUk1fVElNRV9MX1NMVEJEX1NNX1NVUEZSTV9USU1FX1NMVEJEX01BU0sgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgU1RfU01fU1VQRlJNX1RJTUVfSF9TTFRCRF9TTV9TVVBGUk1fVElNRV9TTFRCRF9MU0IgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVF9TTV9TVVBGUk1fVElNRV9IX1NMVEJEX1NNX1NVUEZSTV9USU1FX1NMVEJEX1dJRFRIICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFNUX1NNX1NVUEZSTV9USU1FX0hfU0xUQkRfU01fU1VQRlJNX1RJTUVfU0xUQkRfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBTVF9TTV9USU1FX1dBS0VVUF9TVEFSVF9TTV9USU1FX1dBS0VVUF9TVEFSVF9MU0IgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNUX1NNX1RJTUVfV0FLRVVQX1NUQVJUX1NNX1RJTUVfV0FLRVVQX1NUQVJUX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFNUX1NNX1RJTUVfV0FLRVVQX1NUQVJUX1NNX1RJTUVfV0FLRVVQX1NUQVJUX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGRikKKworI2RlZmluZSBTVF9TTV9TVVBGUk1fVElNRV9MX1dBS0VVUF9TVEFSVF9TTV9TVVBGUk1fV0FLRVVQX1NUQVJUX0xTQiAgICAgICAgICAgKDApCisjZGVmaW5lIFNUX1NNX1NVUEZSTV9USU1FX0xfV0FLRVVQX1NUQVJUX1NNX1NVUEZSTV9XQUtFVVBfU1RBUlRfV0lEVEggICAgICAgICAoMzIpCisjZGVmaW5lIFNUX1NNX1NVUEZSTV9USU1FX0xfV0FLRVVQX1NUQVJUX1NNX1NVUEZSTV9XQUtFVVBfU1RBUlRfTUFTSyAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBTVF9TTV9TVVBGUk1fVElNRV9IX1dBS0VVUF9TVEFSVF9TTV9TVVBGUk1fV0FLRVVQX1NUQVJUX0xTQiAgICAgICAgICAgKDApCisjZGVmaW5lIFNUX1NNX1NVUEZSTV9USU1FX0hfV0FLRVVQX1NUQVJUX1NNX1NVUEZSTV9XQUtFVVBfU1RBUlRfV0lEVEggICAgICAgICAoNCkKKyNkZWZpbmUgU1RfU01fU1VQRlJNX1RJTUVfSF9XQUtFVVBfU1RBUlRfU01fU1VQRlJNX1dBS0VVUF9TVEFSVF9NQVNLICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIFNUX1NNX0ZJTkFMX1BBVVNFX0RVUkFUSU9OX0ZJTkFMX1BBVVNFX0RVUkFUSU9OX0xTQiAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RfU01fRklOQUxfUEFVU0VfRFVSQVRJT05fRklOQUxfUEFVU0VfRFVSQVRJT05fV0lEVEggICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgU1RfU01fRklOQUxfUEFVU0VfRFVSQVRJT05fRklOQUxfUEFVU0VfRFVSQVRJT05fTUFTSyAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFNUX1NNX1BSRVNMUF9DTlRfU01fUFJFU0xQX0NOVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RfU01fUFJFU0xQX0NOVF9TTV9QUkVTTFBfQ05UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTVF9TTV9QUkVTTFBfQ05UX1NNX1BSRVNMUF9DTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgU1RfU01fU0xUX1NUQVJUX0YzMktfU01fU0xUX1NUQVJUX0YzMktfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVF9TTV9TTFRfU1RBUlRfRjMyS19TTV9TTFRfU1RBUlRfRjMyS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFNUX1NNX1NMVF9TVEFSVF9GMzJLX1NNX1NMVF9TVEFSVF9GMzJLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzRikKKworI2RlZmluZSBTVF9TTV9XQUtFVVBfU1RBUlRfRjMyS19TTV9XQUtFVVBfU1RBUlRfRjMyS19MU0IgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNUX1NNX1dBS0VVUF9TVEFSVF9GMzJLX1NNX1dBS0VVUF9TVEFSVF9GMzJLX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFNUX1NNX1dBS0VVUF9TVEFSVF9GMzJLX1NNX1dBS0VVUF9TVEFSVF9GMzJLX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworCisjZW5kaWYgLyogX0NQSFNMUENUUkxfSF8gKi8KZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGh0eGNycGNvbW1vbi5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHR4Y3JwY29tbW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGRkOWVkMAotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGh0eGNycGNvbW1vbi5oCkBAIC0wLDAgKzEsMTc3IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfQ1BIX0NPTU1PTl9UWENSUF9IXworI2RlZmluZSBfQ1BIX0NPTU1PTl9UWENSUF9IXworCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBTUkFNQUREUjsgICAgICAgICAvKiBTUkFNIGFkZHIgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIFNSQU1EQVRBOyAgICAgICAgIC8qIFNSQU0gZGF0YSBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogQVBCQUREUjsgICAgICAgICAgLyogQVBCIGFkZHIgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBBUEJEQVRBOyAgICAgICAgICAvKiBBUEIgZGF0YSBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyogIEFQQkFERFIzMjsgICAgICAgIC8qIEFQQiBhZGRyIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICAgQVBCREFUQTMyOyAgICAgICAgLyogQVBCIGRhdGEgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBEUFJBTUFERFI7ICAgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgc2lnbmVkICAgc2hvcnQqIERQUkFNQUREUl9TOyAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgRFBSQU1EQVRBOyAgICAgICAgLyogRFBSQU0gZGF0YSBpcyAxNiBiaXRzICovCisKKyNpZiBkZWZpbmVkKF9fTUQ5M19fKXx8ZGVmaW5lZChfX01EOTVfXykKKyNkZWZpbmUgVFhDUlBfSU5URVJOQUxfUkVHX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhBODE3MDAwMCkKKyNlbHNlCisjZGVmaW5lIFRYQ1JQX0lOVEVSTkFMX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QTg5NzAwMDApCisjZW5kaWYKKworI2RlZmluZSBNT0RFX1NFTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9JTlRFUk5BTF9SRUdfQkFTRSArIDB4MDAwMCkpCisjZGVmaW5lIENSQ19FTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0lOVEVSTkFMX1JFR19CQVNFICsgMHgwMDA0KSkKKyNkZWZpbmUgQ1JDX0xFTkdUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfSU5URVJOQUxfUkVHX0JBU0UgKyAweDAwMDgpKQorI2RlZmluZSBDUkNfT1VUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9JTlRFUk5BTF9SRUdfQkFTRSArIDB4MDAwQykpCisjZGVmaW5lIENSQ19NT0RfU0VMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0lOVEVSTkFMX1JFR19CQVNFICsgMHgwMDEwKSkKKyNkZWZpbmUgVERfU1dfVElNRVJfRU5BQkxFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfSU5URVJOQUxfUkVHX0JBU0UgKyAweDAwMTQpKQorI2RlZmluZSBURF9TV19USU1FUl9DT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9JTlRFUk5BTF9SRUdfQkFTRSArIDB4MDAxOCkpCisjZGVmaW5lIEZERF9TV19USU1FUl9HVFhDUlBfRU5BQkxFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0lOVEVSTkFMX1JFR19CQVNFICsgMHgwMDFDKSkKKyNkZWZpbmUgRkREX1NXX1RJTUVSX1dUWEhDSF9FTkFCTEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfSU5URVJOQUxfUkVHX0JBU0UgKyAweDAwMjApKQorI2RlZmluZSBGRERfU1dfVElNRVJfV1RYQ1FJX0VOQUJMRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9JTlRFUk5BTF9SRUdfQkFTRSArIDB4MDAyNCkpCisjZGVmaW5lIEZERF9TV19UVFJfR1RYQ1JQX1NUUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0lOVEVSTkFMX1JFR19CQVNFICsgMHgwMDI4KSkKKyNkZWZpbmUgRkREX1NXX1RUUl9XVFhIQ0hfU1RSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfSU5URVJOQUxfUkVHX0JBU0UgKyAweDAwMkMpKQorI2RlZmluZSBGRERfU1dfVFRSX1dUWENRSV9TVFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9JTlRFUk5BTF9SRUdfQkFTRSArIDB4MDAzMCkpCisjZGVmaW5lIEZERF9TV19UVFJfU0xPVF9DTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0lOVEVSTkFMX1JFR19CQVNFICsgMHgwMDM0KSkKKyNkZWZpbmUgQzFYX1NXX1RJTUVSX0VOQUJMRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfSU5URVJOQUxfUkVHX0JBU0UgKyAweDAwMzgpKQorI2RlZmluZSBDMVhfU1dfVElNRVJfQ09OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9JTlRFUk5BTF9SRUdfQkFTRSArIDB4MDAzQykpCisjZGVmaW5lIFdSQlJQTUVNX1RFU1RfU1RBUlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0lOVEVSTkFMX1JFR19CQVNFICsgMHgwMDQwKSkKKyNkZWZpbmUgV1JCUlBNRU1fVEVTVF9OVU0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfSU5URVJOQUxfUkVHX0JBU0UgKyAweDAwNDQpKQorI2RlZmluZSBET19UUklHR0VSX1NFTEVDVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9JTlRFUk5BTF9SRUdfQkFTRSArIDB4MDA0QykpCisjZGVmaW5lIERPX1RJTUVSX1RSSUdHRVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0lOVEVSTkFMX1JFR19CQVNFICsgMHgwMDUwKSkKKyNkZWZpbmUgRE9fS1NfVFJJR0dFUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfSU5URVJOQUxfUkVHX0JBU0UgKyAweDAwNTQpKQorI2RlZmluZSBET19UWF9FTkFCTEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9JTlRFUk5BTF9SRUdfQkFTRSArIDB4MDA1OCkpCisjZGVmaW5lIFRFU1RNT0RFX05VTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0lOVEVSTkFMX1JFR19CQVNFICsgMHgwMDVDKSkKKyNkZWZpbmUgVEVTVE1PREVfU1RBUlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfSU5URVJOQUxfUkVHX0JBU0UgKyAweDAwNjApKQorI2RlZmluZSBLU19TRUxfQ09ORklHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9JTlRFUk5BTF9SRUdfQkFTRSArIDB4MDA2NCkpCisjZGVmaW5lIE1PREVfU0VMX0FERFJfTUlTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0lOVEVSTkFMX1JFR19CQVNFICsgMHgwMDY4KSkKKyNkZWZpbmUgSVJRX01PREVfU0VMX0FERFJfTUlTX0NMUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfSU5URVJOQUxfUkVHX0JBU0UgKyAweDAwNkMpKQorI2RlZmluZSBJUlFfTU9ERV9DSEFOR0VfQ0xSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9JTlRFUk5BTF9SRUdfQkFTRSArIDB4MDA3MCkpCisjZGVmaW5lIFRYQ1JQX01PREVfU0VURVJSX0NMUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0lOVEVSTkFMX1JFR19CQVNFICsgMHgwMDc0KSkKKyNkZWZpbmUgVFhDUlBfSVJRX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfSU5URVJOQUxfUkVHX0JBU0UgKyAweDAwNzgpKQorI2RlZmluZSBUWENSUF9JUlFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9JTlRFUk5BTF9SRUdfQkFTRSArIDB4MDA3QykpCisjZGVmaW5lIElORk9fQlJQX1JVMV9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0lOVEVSTkFMX1JFR19CQVNFICsgMHgwMDgwKSkKKyNkZWZpbmUgSU5GT19CUlBfUlUxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfSU5URVJOQUxfUkVHX0JBU0UgKyAweDAwODQpKQorI2RlZmluZSBJTkZPX0JSUF9SVTJfQUREUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9JTlRFUk5BTF9SRUdfQkFTRSArIDB4MDA4QykpCisjZGVmaW5lIElORk9fQlJQX1JVMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0lOVEVSTkFMX1JFR19CQVNFICsgMHgwMDkwKSkKKyNkZWZpbmUgREJHX0JVU19TRUwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfSU5URVJOQUxfUkVHX0JBU0UgKyAweDAwOTQpKQorI2RlZmluZSBEVU1NWV9DUlAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9JTlRFUk5BTF9SRUdfQkFTRSArIDB4MDA5OCkpCisjZGVmaW5lIFJBS0VfTE9HX0NPVU5URVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0lOVEVSTkFMX1JFR19CQVNFICsgMHgwMDlDKSkKKyNkZWZpbmUgUkFLRUxPR18wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfSU5URVJOQUxfUkVHX0JBU0UgKyAweDAwQTApKQorI2RlZmluZSBSQUtFTE9HXzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9JTlRFUk5BTF9SRUdfQkFTRSArIDB4MDBBNCkpCisjZGVmaW5lIFJBS0VMT0dfMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYQ1JQX0lOVEVSTkFMX1JFR19CQVNFICsgMHgwMEE4KSkKKyNkZWZpbmUgUkFLRUxPR18zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfSU5URVJOQUxfUkVHX0JBU0UgKyAweDAwQUMpKQorI2RlZmluZSBSQUtFTE9HXzQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9JTlRFUk5BTF9SRUdfQkFTRSArIDB4MDBCMCkpCisjaWYgZGVmaW5lZChfX01EOTdfXykKKyNkZWZpbmUgVFhDUlBfS1MwX1RPX1RQQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhDUlBfSU5URVJOQUxfUkVHX0JBU0UgKyAweDAxMEMpKQorI2RlZmluZSBUWENSUF9LUzFfVE9fVFBDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWENSUF9JTlRFUk5BTF9SRUdfQkFTRSArIDB4MDExMCkpCisjZW5kaWYKKworI2RlZmluZSBNT0RFX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNT0RFX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBNT0RFX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIE1PREVfU0VMX0FERFJfTUlTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1PREVfU0VMX0FERFJfTUlTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1PREVfU0VMX0FERFJfTUlTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIE1PREVfU0VMX0FERFJfTUlTX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgTU9ERV9TRUxfQUREUl9NSVNfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTU9ERV9TRUxfQUREUl9NSVNfQ0xSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTU9ERV9TRUxfQUREUl9NSVNfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgTU9ERV9TRUxfQUREUl9NSVNfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBDUkNfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBDUkNfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBDUkNfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBDUkNfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIENSQ19MRU5HVEhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENSQ19MRU5HVEhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBDUkNfTEVOR1RIX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZGKQorCisjZGVmaW5lIENSQ19PVVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIENSQ19PVVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBDUkNfT1VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIElORk9fUlUxX0FERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIElORk9fUlUxX0FERFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBJTkZPX1JVMV9BRERSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRkZGKQorCisjZGVmaW5lIFJVMV9BRERSMF9EQVRBX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBSVTFfQUREUjBfREFUQV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBSVTFfQUREUjBfREFUQV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGMDAwMDAwKQorCisjZGVmaW5lIFJVMV9BRERSMV9EQVRBX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBSVTFfQUREUjFfREFUQV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBSVTFfQUREUjFfREFUQV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwRkYwMDAwKQorCisjZGVmaW5lIFJVMV9BRERSMl9EQVRBX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJVMV9BRERSMl9EQVRBX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJVMV9BRERSMl9EQVRBX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGMDApCisKKyNkZWZpbmUgUlUxX0FERFIzX0RBVEFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlUxX0FERFIzX0RBVEFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgUlUxX0FERFIzX0RBVEFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDBGRikKKworI2RlZmluZSBJTkZPX1JVMl9BRERSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBJTkZPX1JVMl9BRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgSU5GT19SVTJfQUREUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMUZGRikKKworI2RlZmluZSBSVTJfQUREUjBfREFUQV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgUlUyX0FERFIwX0RBVEFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgUlUyX0FERFIwX0RBVEFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRjAwMDAwMCkKKworI2RlZmluZSBSVTJfQUREUjFfREFUQV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgUlUyX0FERFIxX0RBVEFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgUlUyX0FERFIxX0RBVEFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMEZGMDAwMCkKKworI2RlZmluZSBSVTJfQUREUjJfREFUQV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBSVTJfQUREUjJfREFUQV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBSVTJfQUREUjJfREFUQV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRjAwKQorCisjZGVmaW5lIFJVMl9BRERSM19EQVRBX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFJVMl9BRERSM19EQVRBX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJVMl9BRERSM19EQVRBX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwRkYpCisKKyNkZWZpbmUgREJHX0JVU19TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREJHX0JVU19TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREJHX0JVU19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBDUlBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBDUlBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgQ1JQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2VuZGlmIC8vI2lmbmRlZiBfQ1BIX0NPTU1PTl9UWENSUF9IXwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHR4ZGZlYmIuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGh0eGRmZWJiLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODRmNzYzMQotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGh0eGRmZWJiLmgKQEAgLTAsMCArMSw0MyBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiBkZWZpbmVkKF9fTUQ5M19fKQorI2luY2x1ZGUgImNwaHR4ZGZlYmJfOTMuaCIKKyNlbGlmIGRlZmluZWQoX19NRDk1X18pCisjaW5jbHVkZSAiY3BodHhkZmViYl85NS5oIgorI2VsaWYgZGVmaW5lZChfX01EOTdfXykKKyNpbmNsdWRlICJjcGh0eGRmZWJiXzk3LmgiCisjZWxzZQorI2Vycm9yICJbRVJST1JdIEludmFsaWQgTUQgZ2VuZXJhdGlvbiIKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHR4ZGZlYmJfOTMuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGh0eGRmZWJiXzkzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGJiMDE3NAotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGh0eGRmZWJiXzkzLmgKQEAgLTAsMCArMSwyNzAgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhfVFhERkVfQkJfSF8KKyNkZWZpbmUgX0NQSF9UWERGRV9CQl9IXworCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBTUkFNQUREUjsgICAgICAgICAvKiBTUkFNIGFkZHIgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIFNSQU1EQVRBOyAgICAgICAgIC8qIFNSQU0gZGF0YSBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogQVBCQUREUjsgICAgICAgICAgLyogQVBCIGFkZHIgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBBUEJEQVRBOyAgICAgICAgICAvKiBBUEIgZGF0YSBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyogIEFQQkFERFIzMjsgICAgICAgIC8qIEFQQiBhZGRyIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICAgQVBCREFUQTMyOyAgICAgICAgLyogQVBCIGRhdGEgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBEUFJBTUFERFI7ICAgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgc2lnbmVkICAgc2hvcnQqIERQUkFNQUREUl9TOyAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgRFBSQU1EQVRBOyAgICAgICAgLyogRFBSQU0gZGF0YSBpcyAxNiBiaXRzICovCisKKyNkZWZpbmUgVFhERkVfQkJfUkVHX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDBYQTgzMDAwMDApCisKKyNkZWZpbmUgVFhERkVfQkJfUkVHX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFRYREZFX0JCX1JFR19SRUdfQkFTRSArIDB4NjQgKyAxKjQpCisjZGVmaW5lIFRYREZFX0JCX0xfQ0NBX0NPTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDApKQorI2RlZmluZSBUWERGRV9CQl9MX0dST1VQX1NFTF9XSU4wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhERkVfQkJfUkVHX1JFR19CQVNFICsgMHg0KSkKKyNkZWZpbmUgVFhERkVfQkJfTF9HUk9VUF9TRUxfV0lOMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYREZFX0JCX1JFR19SRUdfQkFTRSArIDB4OCkpCisjZGVmaW5lIFRYREZFX0JCX0RBVEFfUkFURV9HMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweGMpKQorI2RlZmluZSBUWERGRV9CQl9EQVRBX1JBVEVfRzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhERkVfQkJfUkVHX1JFR19CQVNFICsgMHgxMCkpCisjZGVmaW5lIFRYREZFX0JCX1NXX0NPTl9XSU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDE0KSkKKyNkZWZpbmUgVFhERkVfQkJfU1dfQ09OX01PREUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYREZFX0JCX1JFR19SRUdfQkFTRSArIDB4MTgpKQorI2RlZmluZSBUWERGRV9CQl9MX0NPTl9ERUxfQ0FMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhERkVfQkJfUkVHX1JFR19CQVNFICsgMHgxYykpCisjZGVmaW5lIFRYREZFX0JCX1NXX0NPTl9TSU5FICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDIwKSkKKyNkZWZpbmUgVFhERkVfQkJfU1JDX0ZJRk9fUFRSX0NPTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYREZFX0JCX1JFR19SRUdfQkFTRSArIDB4MjQpKQorI2RlZmluZSBUWERGRV9CQl9XVENfTkNPX0NPTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhERkVfQkJfUkVHX1JFR19CQVNFICsgMHgyOCkpCisjZGVmaW5lIFRYREZFX0JCX0xfTkNPX0NPTjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDJjKSkKKyNkZWZpbmUgVFhERkVfQkJfTF9OQ09fQ09OMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYREZFX0JCX1JFR19SRUdfQkFTRSArIDB4MzApKQorI2RlZmluZSBUWERGRV9CQl9MX05DT19DT04yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhERkVfQkJfUkVHX1JFR19CQVNFICsgMHgzNCkpCisjZGVmaW5lIFRYREZFX0JCX1dUQ19OQ09fREVMVEFfRl9SRVNfQ09OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDM4KSkKKyNkZWZpbmUgVFhERkVfQkJfU1dfUEFQUl9USCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYREZFX0JCX1JFR19SRUdfQkFTRSArIDB4M2MpKQorI2RlZmluZSBUWERGRV9CQl9DRlJfQ09OMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhERkVfQkJfUkVHX1JFR19CQVNFICsgMHg0MCkpCisjZGVmaW5lIFRYREZFX0JCX0NGUl9DT04xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDQ0KSkKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYREZFX0JCX1JFR19SRUdfQkFTRSArIDB4NDgpKQorI2RlZmluZSBUWERGRV9CQl9DUkNfT1VUX0cwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhERkVfQkJfUkVHX1JFR19CQVNFICsgMHg0YykpCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDUwKSkKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX09VVF9HMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYREZFX0JCX1JFR19SRUdfQkFTRSArIDB4NTQpKQorI2RlZmluZSBUWERGRV9CQl9DMktfSVM5NV9DT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhERkVfQkJfUkVHX1JFR19CQVNFICsgMHg1OCkpCisjZGVmaW5lIFRYREZFX0JCX0ZQR0FfQ09OXzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDVjKSkKKyNkZWZpbmUgVFhERkVfQkJfSVJRX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYREZFX0JCX1JFR19SRUdfQkFTRSArIDB4NjApKQorI2RlZmluZSBUeERGRV9CQl9EQkdfU0VMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhERkVfQkJfUkVHX1JFR19CQVNFICsgMHg2NCkpCisKKworI2RlZmluZSBUWERGRV9CQl9MX0NDQV9DT05fUkdfTFRFX0NDQV9NT0RFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfTF9DQ0FfQ09OX1JHX0xURV9DQ0FfTU9ERV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0JCX0xfQ0NBX0NPTl9SR19MVEVfQ0NBX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUWERGRV9CQl9MX0NDQV9DT05fUkdfTFRFX0NDQV9NT0RFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUWERGRV9CQl9MX0dST1VQX1NFTF9XSU4wX1JHX0xURV9HUk9VUF9TRUxfV0lOMF9MU0IgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfTF9HUk9VUF9TRUxfV0lOMF9SR19MVEVfR1JPVVBfU0VMX1dJTjBfV0lEVEggICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0JCX0xfR1JPVVBfU0VMX1dJTjBfUkdfTFRFX0dST1VQX1NFTF9XSU4wX01BU0sgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUWERGRV9CQl9MX0dST1VQX1NFTF9XSU4wX1JHX0xURV9HUk9VUF9TRUxfV0lOMF9CSVQgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUWERGRV9CQl9MX0dST1VQX1NFTF9XSU4xX1JHX0xURV9HUk9VUF9TRUxfV0lOMV9MU0IgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfTF9HUk9VUF9TRUxfV0lOMV9SR19MVEVfR1JPVVBfU0VMX1dJTjFfV0lEVEggICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0JCX0xfR1JPVVBfU0VMX1dJTjFfUkdfTFRFX0dST1VQX1NFTF9XSU4xX01BU0sgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUWERGRV9CQl9MX0dST1VQX1NFTF9XSU4xX1JHX0xURV9HUk9VUF9TRUxfV0lOMV9CSVQgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUWERGRV9CQl9EQVRBX1JBVEVfRzBfUkdfQ0NBX0JXX1JFQUxfRzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgVFhERkVfQkJfREFUQV9SQVRFX0cwX1JHX0NDQV9CV19SRUFMX0cwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYREZFX0JCX0RBVEFfUkFURV9HMF9SR19DQ0FfQldfUkVBTF9HMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUMwKQorCisjZGVmaW5lIFRYREZFX0JCX0RBVEFfUkFURV9HMF9SR19QUkFDSF9GX0cwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUWERGRV9CQl9EQVRBX1JBVEVfRzBfUkdfUFJBQ0hfRl9HMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgVFhERkVfQkJfREFUQV9SQVRFX0cwX1JHX1BSQUNIX0ZfRzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMzgpCisKKyNkZWZpbmUgVFhERkVfQkJfREFUQV9SQVRFX0cwX1JHX0xURV9DQldfRzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX0JCX0RBVEFfUkFURV9HMF9SR19MVEVfQ0JXX0cwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUWERGRV9CQl9EQVRBX1JBVEVfRzBfUkdfTFRFX0NCV19HMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBUWERGRV9CQl9EQVRBX1JBVEVfRzFfUkdfQ0NBX0JXX1JFQUxfRzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgVFhERkVfQkJfREFUQV9SQVRFX0cxX1JHX0NDQV9CV19SRUFMX0cxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYREZFX0JCX0RBVEFfUkFURV9HMV9SR19DQ0FfQldfUkVBTF9HMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMUMwKQorCisjZGVmaW5lIFRYREZFX0JCX0RBVEFfUkFURV9HMV9SR19QUkFDSF9GX0cxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUWERGRV9CQl9EQVRBX1JBVEVfRzFfUkdfUFJBQ0hfRl9HMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgVFhERkVfQkJfREFUQV9SQVRFX0cxX1JHX1BSQUNIX0ZfRzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMzgpCisKKyNkZWZpbmUgVFhERkVfQkJfREFUQV9SQVRFX0cxX1JHX0xURV9DQldfRzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX0JCX0RBVEFfUkFURV9HMV9SR19MVEVfQ0JXX0cxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUWERGRV9CQl9EQVRBX1JBVEVfRzFfUkdfTFRFX0NCV19HMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBUWERGRV9CQl9TV19DT05fV0lOX1JHX1RYREZFX0JCX1NXX1RYREZFX1dJTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfU1dfQ09OX1dJTl9SR19UWERGRV9CQl9TV19UWERGRV9XSU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0JCX1NXX0NPTl9XSU5fUkdfVFhERkVfQkJfU1dfVFhERkVfV0lOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUWERGRV9CQl9TV19DT05fV0lOX1JHX1RYREZFX0JCX1NXX1RYREZFX1dJTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUWERGRV9CQl9TV19DT05fTU9ERV9SR19UWERGRV9CQl9TV19NT0RFX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfU1dfQ09OX01PREVfUkdfVFhERkVfQkJfU1dfTU9ERV9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0JCX1NXX0NPTl9NT0RFX1JHX1RYREZFX0JCX1NXX01PREVfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUWERGRV9CQl9TV19DT05fTU9ERV9SR19UWERGRV9CQl9TV19NT0RFX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUWERGRV9CQl9MX0NPTl9ERUxfQ0FMX1JHX0RFTF9DQUxfT05fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfTF9DT05fREVMX0NBTF9SR19ERUxfQ0FMX09OX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0JCX0xfQ09OX0RFTF9DQUxfUkdfREVMX0NBTF9PTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUWERGRV9CQl9MX0NPTl9ERUxfQ0FMX1JHX0RFTF9DQUxfT05fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUWERGRV9CQl9TV19DT05fU0lORV9SR19UWERGRV9CQl9TV19TSU5FX0dFTl9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgVFhERkVfQkJfU1dfQ09OX1NJTkVfUkdfVFhERkVfQkJfU1dfU0lORV9HRU5fRU5fV0lEVEggICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0JCX1NXX0NPTl9TSU5FX1JHX1RYREZFX0JCX1NXX1NJTkVfR0VOX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBUWERGRV9CQl9TV19DT05fU0lORV9SR19UWERGRV9CQl9TV19TSU5FX0dFTl9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBUWERGRV9CQl9TV19DT05fU0lORV9SR19UWERGRV9CQl9TV19TSU5FX0FNUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgVFhERkVfQkJfU1dfQ09OX1NJTkVfUkdfVFhERkVfQkJfU1dfU0lORV9BTVBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYREZFX0JCX1NXX0NPTl9TSU5FX1JHX1RYREZFX0JCX1NXX1NJTkVfQU1QX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDcwKQorCisjZGVmaW5lIFRYREZFX0JCX1NXX0NPTl9TSU5FX1JHX1RYREZFX0JCX1NXX1NJTkVfRlJFUV9TRUxfTFNCICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9TV19DT05fU0lORV9SR19UWERGRV9CQl9TV19TSU5FX0ZSRVFfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgVFhERkVfQkJfU1dfQ09OX1NJTkVfUkdfVFhERkVfQkJfU1dfU0lORV9GUkVRX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgVFhERkVfQkJfU1JDX0ZJRk9fUFRSX0NPTl9SR19TUkNfRklGT19XUFRSX0lOSVRfTFNCICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX0JCX1NSQ19GSUZPX1BUUl9DT05fUkdfU1JDX0ZJRk9fV1BUUl9JTklUX1dJRFRIICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUWERGRV9CQl9TUkNfRklGT19QVFJfQ09OX1JHX1NSQ19GSUZPX1dQVFJfSU5JVF9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBUWERGRV9CQl9XVENfTkNPX0NPTl9SR19OQ09fV1RDX0RFTFRBX0ZfUkVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfV1RDX05DT19DT05fUkdfTkNPX1dUQ19ERUxUQV9GX1JFU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9XVENfTkNPX0NPTl9SR19OQ09fV1RDX0RFTFRBX0ZfUkVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9MX05DT19DT04wX1JHX05DT19MX0RFTFRBX0ZfUkVTX0RCMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfTF9OQ09fQ09OMF9SR19OQ09fTF9ERUxUQV9GX1JFU19EQjBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9MX05DT19DT04wX1JHX05DT19MX0RFTFRBX0ZfUkVTX0RCMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9MX05DT19DT04xX1JHX05DT19MX0RFTFRBX0ZfUkVTX0RCMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfTF9OQ09fQ09OMV9SR19OQ09fTF9ERUxUQV9GX1JFU19EQjFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9MX05DT19DT04xX1JHX05DT19MX0RFTFRBX0ZfUkVTX0RCMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9MX05DT19DT04yX1JHX05DT19MX0lOSVRfUEhBU0VfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfTF9OQ09fQ09OMl9SR19OQ09fTF9JTklUX1BIQVNFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI2KQorI2RlZmluZSBUWERGRV9CQl9MX05DT19DT04yX1JHX05DT19MX0lOSVRfUEhBU0VfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwM0ZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9XVENfTkNPX0RFTFRBX0ZfUkVTX0NPTl9UWERGRV9CQl9OQ09fREVMVEFfRl9SRVNfU1RSX0xTQiAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfV1RDX05DT19ERUxUQV9GX1JFU19DT05fVFhERkVfQkJfTkNPX0RFTFRBX0ZfUkVTX1NUUl9XSURUSCAgICAgKDEpCisjZGVmaW5lIFRYREZFX0JCX1dUQ19OQ09fREVMVEFfRl9SRVNfQ09OX1RYREZFX0JCX05DT19ERUxUQV9GX1JFU19TVFJfTUFTSyAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUWERGRV9CQl9XVENfTkNPX0RFTFRBX0ZfUkVTX0NPTl9UWERGRV9CQl9OQ09fREVMVEFfRl9SRVNfU1RSX0JJVCAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUWERGRV9CQl9TV19QQVBSX1RIX1JHX1RYREZFX0JCX1NXX1BBUFJfUkVEX0FfTFNCICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfU1dfUEFQUl9USF9SR19UWERGRV9CQl9TV19QQVBSX1JFRF9BX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBUWERGRV9CQl9TV19QQVBSX1RIX1JHX1RYREZFX0JCX1NXX1BBUFJfUkVEX0FfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMEZGRikKKworI2RlZmluZSBUWERGRV9CQl9DRlJfQ09OMF9SR19QQVBSX1JFRF9TUVJUX0NPRUZGX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgVFhERkVfQkJfQ0ZSX0NPTjBfUkdfUEFQUl9SRURfU1FSVF9DT0VGRl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYREZFX0JCX0NGUl9DT04wX1JHX1BBUFJfUkVEX1NRUlRfQ09FRkZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFDKQorCisjZGVmaW5lIFRYREZFX0JCX0NGUl9DT04wX1JHX1BBUFJfUkVEX09OX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9DRlJfQ09OMF9SR19QQVBSX1JFRF9PTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgVFhERkVfQkJfQ0ZSX0NPTjBfUkdfUEFQUl9SRURfT05fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDMpCisKKyNkZWZpbmUgVFhERkVfQkJfQ0ZSX0NPTjFfUkdfUEFQUl9XNF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBUWERGRV9CQl9DRlJfQ09OMV9SR19QQVBSX1c0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgVFhERkVfQkJfQ0ZSX0NPTjFfUkdfUEFQUl9XNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4M0YwMDAwMDApCisKKyNkZWZpbmUgVFhERkVfQkJfQ0ZSX0NPTjFfUkdfUEFQUl9XM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE4KQorI2RlZmluZSBUWERGRV9CQl9DRlJfQ09OMV9SR19QQVBSX1czX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgVFhERkVfQkJfQ0ZSX0NPTjFfUkdfUEFQUl9XM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDBGQzAwMDApCisKKyNkZWZpbmUgVFhERkVfQkJfQ0ZSX0NPTjFfUkdfUEFQUl9XMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBUWERGRV9CQl9DRlJfQ09OMV9SR19QQVBSX1cyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgVFhERkVfQkJfQ0ZSX0NPTjFfUkdfUEFQUl9XMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwM0YwMDApCisKKyNkZWZpbmUgVFhERkVfQkJfQ0ZSX0NPTjFfUkdfUEFQUl9XMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFRYREZFX0JCX0NGUl9DT04xX1JHX1BBUFJfVzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBUWERGRV9CQl9DRlJfQ09OMV9SR19QQVBSX1cxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMEZDMCkKKworI2RlZmluZSBUWERGRV9CQl9DRlJfQ09OMV9SR19QQVBSX1cwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfQ0ZSX0NPTjFfUkdfUEFQUl9XMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFRYREZFX0JCX0NGUl9DT04xX1JHX1BBUFJfVzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDNGKQorCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04wX1JHX0NSQ19MRU5HVEhfRzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMF9SR19DUkNfTEVOR1RIX0cwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04wX1JHX0NSQ19MRU5HVEhfRzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRjAwKQorCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04wX1JHX0NSQ19QT0lOVF9HMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMF9SR19DUkNfUE9JTlRfRzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjBfUkdfQ1JDX1BPSU5UX0cwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNzApCisKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjBfUkdfQ1JDX0VOX0cwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04wX1JHX0NSQ19FTl9HMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMF9SR19DUkNfRU5fRzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjBfUkdfQ1JDX0VOX0cwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX09VVF9HMF9SR19DUkNfT1VUX0cwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX0JCX0NSQ19PVVRfRzBfUkdfQ1JDX09VVF9HMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX09VVF9HMF9SR19DUkNfT1VUX0cwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjFfUkdfQ1JDX0xFTkdUSF9HMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04xX1JHX0NSQ19MRU5HVEhfRzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjFfUkdfQ1JDX0xFTkdUSF9HMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGMDApCisKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjFfUkdfQ1JDX1BPSU5UX0cxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04xX1JHX0NSQ19QT0lOVF9HMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMV9SR19DUkNfUE9JTlRfRzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA3MCkKKworI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMV9SR19DUkNfRU5fRzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjFfUkdfQ1JDX0VOX0cxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04xX1JHX0NSQ19FTl9HMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMV9SR19DUkNfRU5fRzFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUWERGRV9CQl9DUkNfT1VUX0cxX1JHX0NSQ19PVVRfRzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX09VVF9HMV9SR19DUkNfT1VUX0cxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9DUkNfT1VUX0cxX1JHX0NSQ19PVVRfRzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9DMktfSVM5NV9DT05fUkdfQzJLX0lTOTVfRkxHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfQzJLX0lTOTVfQ09OX1JHX0MyS19JUzk1X0ZMR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0JCX0MyS19JUzk1X0NPTl9SR19DMktfSVM5NV9GTEdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUWERGRV9CQl9DMktfSVM5NV9DT05fUkdfQzJLX0lTOTVfRkxHX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUWERGRV9CQl9GUEdBX0NPTl8wX1JHX0ZQR0FfQ0lDX0NLX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhERkVfQkJfRlBHQV9DT05fMF9SR19GUEdBX0NJQ19DS19TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0JCX0ZQR0FfQ09OXzBfUkdfRlBHQV9DSUNfQ0tfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBUWERGRV9CQl9GUEdBX0NPTl8wX1JHX0ZQR0FfQ0lDX0NLX1NFTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBUWERGRV9CQl9GUEdBX0NPTl8wX1JHX0ZQR0FfT1VUX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfRlBHQV9DT05fMF9SR19GUEdBX09VVF9TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0JCX0ZQR0FfQ09OXzBfUkdfRlBHQV9PVVRfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUWERGRV9CQl9GUEdBX0NPTl8wX1JHX0ZQR0FfT1VUX1NFTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUWERGRV9CQl9JUlFfTUFTS19SR19JUlFfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhERkVfQkJfSVJRX01BU0tfUkdfSVJRX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0JCX0lSUV9NQVNLX1JHX0lSUV9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBUWERGRV9CQl9JUlFfTUFTS19SR19JUlFfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBUWERGRV9CQl9JUlFfTUFTS19SR19JUlFfTUFTS19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfSVJRX01BU0tfUkdfSVJRX01BU0tfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0JCX0lSUV9NQVNLX1JHX0lSUV9NQVNLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUWERGRV9CQl9JUlFfTUFTS19SR19JUlFfTUFTS19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUeERGRV9CQl9EQkdfU0VMX1JHX0RCR19FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgVHhERkVfQkJfREJHX1NFTF9SR19EQkdfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFR4REZFX0JCX0RCR19TRUxfUkdfREJHX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBUeERGRV9CQl9EQkdfU0VMX1JHX0RCR19FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBUeERGRV9CQl9EQkdfU0VMX1JHX0RCR19TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVHhERkVfQkJfREJHX1NFTF9SR19EQkdfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFR4REZFX0JCX0RCR19TRUxfUkdfREJHX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorI2VuZGlmCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BodHhkZmViYl85NS5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHR4ZGZlYmJfOTUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMGRlYTRmCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHR4ZGZlYmJfOTUuaApAQCAtMCwwICsxLDEwMjggQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhfVFhERkVfQkJfSF8KKyNkZWZpbmUgX0NQSF9UWERGRV9CQl9IXworCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBTUkFNQUREUjsgICAgICAgICAvKiBTUkFNIGFkZHIgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIFNSQU1EQVRBOyAgICAgICAgIC8qIFNSQU0gZGF0YSBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogQVBCQUREUjsgICAgICAgICAgLyogQVBCIGFkZHIgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBBUEJEQVRBOyAgICAgICAgICAvKiBBUEIgZGF0YSBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyogIEFQQkFERFIzMjsgICAgICAgIC8qIEFQQiBhZGRyIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICAgQVBCREFUQTMyOyAgICAgICAgLyogQVBCIGRhdGEgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBEUFJBTUFERFI7ICAgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgc2lnbmVkICAgc2hvcnQqIERQUkFNQUREUl9TOyAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgRFBSQU1EQVRBOyAgICAgICAgLyogRFBSQU0gZGF0YSBpcyAxNiBiaXRzICovCisKKyNkZWZpbmUgVFhERkVfQkJfUkVHX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QTgzMDIwMDApCisKKyNkZWZpbmUgVFhERkVfQkJfUkVHX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFRYREZFX0JCX1JFR19SRUdfQkFTRSArIDB4RkZDICsgMSo0KQorCisjZGVmaW5lIFRYREZFX0JCX0dMQl9DT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDAwMCkpCisjZGVmaW5lIFRYREZFX0JCX0RBVEFfUkFURV9HMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDAwNCkpCisjZGVmaW5lIFRYREZFX0JCX0RBVEFfUkFURV9HMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDAwOCkpCisjZGVmaW5lIFRYREZFX0JCX0RBVEFfUkFURV9HMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDAwQykpCisjZGVmaW5lIFRYREZFX0JCX0xfR1JPVVBfU0VMX1dJTjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDAxMCkpCisjZGVmaW5lIFRYREZFX0JCX0xfR1JPVVBfU0VMX1dJTjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDAxNCkpCisjZGVmaW5lIFRYREZFX0JCX0xfR1JPVVBfU0VMX1dJTjIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDAxOCkpCisjZGVmaW5lIFRYREZFX0JCX0xfTkNPX0NPTjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDAxQykpCisjZGVmaW5lIFRYREZFX0JCX0xfTkNPX0NPTjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDAyMCkpCisjZGVmaW5lIFRYREZFX0JCX0xfTkNPX0NPTjIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDAyNCkpCisjZGVmaW5lIFRYREZFX0JCX0xfTkNPX0NPTjMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDAyOCkpCisjZGVmaW5lIFRYREZFX0JCX0xfTkNPX0NPTjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDAyQykpCisjZGVmaW5lIFRYREZFX0JCX0xfTkNPX0NPTjUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDAzMCkpCisjZGVmaW5lIFRYREZFX0JCX1NXX0NPTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDAzNCkpCisjZGVmaW5lIFRYREZFX0JCX1NXX0NPTl9TSU5FICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDAzOCkpCisjZGVmaW5lIFRYREZFX0JCX0xfQ09OX0RFTF9DQUwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDAzQykpCisjZGVmaW5lIFRYREZFX0JCX1NSQ19GSUZPX1BUUl9DT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDA0MCkpCisjZGVmaW5lIFRYREZFX0JCX1dUQ19OQ09fQ09OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDA0NCkpCisjZGVmaW5lIFRYREZFX0JCX1dUQ19OQ09fREVMVEFfRl9SRVNfQ09OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDA0OCkpCisjZGVmaW5lIFRYREZFX0JCX0MyS19JUzk1X0NPTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDA0QykpCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDA1MCkpCisjZGVmaW5lIFRYREZFX0JCX0NSQ19PVVRfRzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDA1NCkpCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDA1OCkpCisjZGVmaW5lIFRYREZFX0JCX0NSQ19PVVRfRzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDA1QykpCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDA2MCkpCisjZGVmaW5lIFRYREZFX0JCX0NSQ19PVVRfRzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDA2NCkpCisjZGVmaW5lIFRYREZFX0JCX1BDQ19JTkZPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDA2OCkpCisjZGVmaW5lIFRYREZFX0JCX1BDQ19DT04wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDA2QykpCisjZGVmaW5lIFRYREZFX0JCX1RFU1RfU0VMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDA3MCkpCisjZGVmaW5lIFRYREZFX0JCX1dJTl9FUlJfQ09OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDA3NCkpCisjZGVmaW5lIFRYREZFX0JCX0RCR18wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDA4MCkpCisjZGVmaW5lIFRYREZFX0JCX0RCR18xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDA4NCkpCisjZGVmaW5lIFRYREZFX0JCX0RCR18yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDA4OCkpCisjZGVmaW5lIFRYREZFX0JCX0RCR18zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDA4QykpCisjZGVmaW5lIFRYREZFX0JCX0RCR180ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDA5MCkpCisjZGVmaW5lIFRYREZFX0JCX0RCR181ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDA5NCkpCisjZGVmaW5lIFRYREZFX0JCX0RCR182ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDA5OCkpCisjZGVmaW5lIFRYREZFX0JCX0RCR183ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDA5QykpCisjZGVmaW5lIFRYREZFX0JCX0RCR184ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDBBMCkpCisjZGVmaW5lIFRYREZFX0JCX0RCR185ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDBBNCkpCisjZGVmaW5lIFRYREZFX0JCX0RCR18xMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDBBOCkpCisjZGVmaW5lIFRYREZFX0JCX0RCR18xMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDBBQykpCisjZGVmaW5lIFRYREZFX0JCX0RCR18xMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDBCMCkpCisjZGVmaW5lIFRYREZFX0JCX0RCR18xMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDBCNCkpCisjZGVmaW5lIFRYREZFX0JCX0RCR18xNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDBCOCkpCisjZGVmaW5lIFRYREZFX0JCX0RCR18xNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDBCQykpCisjZGVmaW5lIFRYREZFX0JCX0RCR18xNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDBDMCkpCisjZGVmaW5lIFRYREZFX0JCX0ZQR0FfQ09OXzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDEwMCkpCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9DT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDgwMCkpCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDgwNCkpCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDgwOCkpCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDgwQykpCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9DT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDgxMCkpCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDgxNCkpCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDgxOCkpCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDgxQykpCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9TV19DT04wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDgyMCkpCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9TV19NT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDgyNCkpCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9TV19DT04wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDgzMCkpCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9TV19NT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweDgzNCkpCisjZGVmaW5lIFRYREZFX0JCX1JFR19QUk9URUNUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9CQl9SRUdfUkVHX0JBU0UgKyAweEZGQykpCisKKworCisjZGVmaW5lIFRYREZFX0JCX0dMQl9DT05fUkdfU1dfQ0dfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBUWERGRV9CQl9HTEJfQ09OX1JHX1NXX0NHX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhERkVfQkJfR0xCX0NPTl9SR19TV19DR19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFRYREZFX0JCX0dMQl9DT05fUkdfU1dfQ0dfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFRYREZFX0JCX0dMQl9DT05fUkdfTFRFX0NDQV9NT0RFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9HTEJfQ09OX1JHX0xURV9DQ0FfTU9ERV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhERkVfQkJfR0xCX0NPTl9SR19MVEVfQ0NBX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYREZFX0JCX0dMQl9DT05fUkdfTFRFX0NDQV9NT0RFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYREZFX0JCX0RBVEFfUkFURV9HMF9SR19CV19SRUFMX0cwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBUWERGRV9CQl9EQVRBX1JBVEVfRzBfUkdfQldfUkVBTF9HMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgVFhERkVfQkJfREFUQV9SQVRFX0cwX1JHX0JXX1JFQUxfRzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxQzApCisKKyNkZWZpbmUgVFhERkVfQkJfREFUQV9SQVRFX0cwX1JHX1BSQUNIX0ZfRzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYREZFX0JCX0RBVEFfUkFURV9HMF9SR19QUkFDSF9GX0cwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUWERGRV9CQl9EQVRBX1JBVEVfRzBfUkdfUFJBQ0hfRl9HMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzOCkKKworI2RlZmluZSBUWERGRV9CQl9EQVRBX1JBVEVfRzBfUkdfTFRFX0NCV19HMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREFUQV9SQVRFX0cwX1JHX0xURV9DQldfRzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYREZFX0JCX0RBVEFfUkFURV9HMF9SR19MVEVfQ0JXX0cwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIFRYREZFX0JCX0RBVEFfUkFURV9HMV9SR19CV19SRUFMX0cxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBUWERGRV9CQl9EQVRBX1JBVEVfRzFfUkdfQldfUkVBTF9HMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgVFhERkVfQkJfREFUQV9SQVRFX0cxX1JHX0JXX1JFQUxfRzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxQzApCisKKyNkZWZpbmUgVFhERkVfQkJfREFUQV9SQVRFX0cxX1JHX1BSQUNIX0ZfRzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYREZFX0JCX0RBVEFfUkFURV9HMV9SR19QUkFDSF9GX0cxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUWERGRV9CQl9EQVRBX1JBVEVfRzFfUkdfUFJBQ0hfRl9HMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzOCkKKworI2RlZmluZSBUWERGRV9CQl9EQVRBX1JBVEVfRzFfUkdfTFRFX0NCV19HMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREFUQV9SQVRFX0cxX1JHX0xURV9DQldfRzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYREZFX0JCX0RBVEFfUkFURV9HMV9SR19MVEVfQ0JXX0cxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIFRYREZFX0JCX0RBVEFfUkFURV9HMl9SR19CV19SRUFMX0cyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBUWERGRV9CQl9EQVRBX1JBVEVfRzJfUkdfQldfUkVBTF9HMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgVFhERkVfQkJfREFUQV9SQVRFX0cyX1JHX0JXX1JFQUxfRzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxQzApCisKKyNkZWZpbmUgVFhERkVfQkJfREFUQV9SQVRFX0cyX1JHX1BSQUNIX0ZfRzJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYREZFX0JCX0RBVEFfUkFURV9HMl9SR19QUkFDSF9GX0cyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUWERGRV9CQl9EQVRBX1JBVEVfRzJfUkdfUFJBQ0hfRl9HMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzOCkKKworI2RlZmluZSBUWERGRV9CQl9EQVRBX1JBVEVfRzJfUkdfTFRFX0NCV19HMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREFUQV9SQVRFX0cyX1JHX0xURV9DQldfRzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYREZFX0JCX0RBVEFfUkFURV9HMl9SR19MVEVfQ0JXX0cyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIFRYREZFX0JCX0xfR1JPVVBfU0VMX1dJTjBfUkdfTFRFX0dST1VQX1NFTF9XSU4wX0xTQiAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9MX0dST1VQX1NFTF9XSU4wX1JHX0xURV9HUk9VUF9TRUxfV0lOMF9XSURUSCAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgVFhERkVfQkJfTF9HUk9VUF9TRUxfV0lOMF9SR19MVEVfR1JPVVBfU0VMX1dJTjBfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDMpCisKKyNkZWZpbmUgVFhERkVfQkJfTF9HUk9VUF9TRUxfV0lOMV9SR19MVEVfR1JPVVBfU0VMX1dJTjFfTFNCICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX0JCX0xfR1JPVVBfU0VMX1dJTjFfUkdfTFRFX0dST1VQX1NFTF9XSU4xX1dJRFRIICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBUWERGRV9CQl9MX0dST1VQX1NFTF9XSU4xX1JHX0xURV9HUk9VUF9TRUxfV0lOMV9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMykKKworI2RlZmluZSBUWERGRV9CQl9MX0dST1VQX1NFTF9XSU4yX1JHX0xURV9HUk9VUF9TRUxfV0lOMl9MU0IgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfTF9HUk9VUF9TRUxfV0lOMl9SR19MVEVfR1JPVVBfU0VMX1dJTjJfV0lEVEggICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFRYREZFX0JCX0xfR1JPVVBfU0VMX1dJTjJfUkdfTFRFX0dST1VQX1NFTF9XSU4yX01BU0sgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAzKQorCisjZGVmaW5lIFRYREZFX0JCX0xfTkNPX0NPTjBfUkdfTkNPX0xfREVMVEFfRl9SRVNfREIwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9MX05DT19DT04wX1JHX05DT19MX0RFTFRBX0ZfUkVTX0RCMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFRYREZFX0JCX0xfTkNPX0NPTjBfUkdfTkNPX0xfREVMVEFfRl9SRVNfREIwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFRYREZFX0JCX0xfTkNPX0NPTjFfUkdfTkNPX0xfREVMVEFfRl9SRVNfREIxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9MX05DT19DT04xX1JHX05DT19MX0RFTFRBX0ZfUkVTX0RCMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFRYREZFX0JCX0xfTkNPX0NPTjFfUkdfTkNPX0xfREVMVEFfRl9SRVNfREIxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFRYREZFX0JCX0xfTkNPX0NPTjJfUkdfTkNPX0xfREVMVEFfRl9SRVNfREIyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9MX05DT19DT04yX1JHX05DT19MX0RFTFRBX0ZfUkVTX0RCMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFRYREZFX0JCX0xfTkNPX0NPTjJfUkdfTkNPX0xfREVMVEFfRl9SRVNfREIyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFRYREZFX0JCX0xfTkNPX0NPTjNfUkdfTkNPX0xfSU5JVF9QSEFTRV9HMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9MX05DT19DT04zX1JHX05DT19MX0lOSVRfUEhBU0VfRzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMjYpCisjZGVmaW5lIFRYREZFX0JCX0xfTkNPX0NPTjNfUkdfTkNPX0xfSU5JVF9QSEFTRV9HMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAzRkZGRkZGKQorCisjZGVmaW5lIFRYREZFX0JCX0xfTkNPX0NPTjRfUkdfTkNPX0xfSU5JVF9QSEFTRV9HMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9MX05DT19DT040X1JHX05DT19MX0lOSVRfUEhBU0VfRzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMjYpCisjZGVmaW5lIFRYREZFX0JCX0xfTkNPX0NPTjRfUkdfTkNPX0xfSU5JVF9QSEFTRV9HMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAzRkZGRkZGKQorCisjZGVmaW5lIFRYREZFX0JCX0xfTkNPX0NPTjVfUkdfTkNPX0xfSU5JVF9QSEFTRV9HMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9MX05DT19DT041X1JHX05DT19MX0lOSVRfUEhBU0VfRzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMjYpCisjZGVmaW5lIFRYREZFX0JCX0xfTkNPX0NPTjVfUkdfTkNPX0xfSU5JVF9QSEFTRV9HMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAzRkZGRkZGKQorCisjZGVmaW5lIFRYREZFX0JCX1NXX0NPTl9SR19ERUxUQV9GX1JFU19BVVRPX0NMUl9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBUWERGRV9CQl9TV19DT05fUkdfREVMVEFfRl9SRVNfQVVUT19DTFJfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhERkVfQkJfU1dfQ09OX1JHX0RFTFRBX0ZfUkVTX0FVVE9fQ0xSX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFRYREZFX0JCX1NXX0NPTl9SR19ERUxUQV9GX1JFU19BVVRPX0NMUl9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFRYREZFX0JCX1NXX0NPTl9SR19UWERGRV9CQl9TV19UWERGRV9XSU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9TV19DT05fUkdfVFhERkVfQkJfU1dfVFhERkVfV0lOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhERkVfQkJfU1dfQ09OX1JHX1RYREZFX0JCX1NXX1RYREZFX1dJTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYREZFX0JCX1NXX0NPTl9SR19UWERGRV9CQl9TV19UWERGRV9XSU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYREZFX0JCX1NXX0NPTl9TSU5FX1JHX1RYREZFX0JCX1NXX1NJTkVfR0VOX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBUWERGRV9CQl9TV19DT05fU0lORV9SR19UWERGRV9CQl9TV19TSU5FX0dFTl9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhERkVfQkJfU1dfQ09OX1NJTkVfUkdfVFhERkVfQkJfU1dfU0lORV9HRU5fRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFRYREZFX0JCX1NXX0NPTl9TSU5FX1JHX1RYREZFX0JCX1NXX1NJTkVfR0VOX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFRYREZFX0JCX1NXX0NPTl9TSU5FX1JHX1RYREZFX0JCX1NXX1NJTkVfQU1QX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBUWERGRV9CQl9TV19DT05fU0lORV9SR19UWERGRV9CQl9TV19TSU5FX0FNUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgVFhERkVfQkJfU1dfQ09OX1NJTkVfUkdfVFhERkVfQkJfU1dfU0lORV9BTVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNzApCisKKyNkZWZpbmUgVFhERkVfQkJfU1dfQ09OX1NJTkVfUkdfVFhERkVfQkJfU1dfU0lORV9GUkVRX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX0JCX1NXX0NPTl9TSU5FX1JHX1RYREZFX0JCX1NXX1NJTkVfRlJFUV9TRUxfV0lEVEggICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBUWERGRV9CQl9TV19DT05fU0lORV9SR19UWERGRV9CQl9TV19TSU5FX0ZSRVFfU0VMX01BU0sgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBUWERGRV9CQl9MX0NPTl9ERUxfQ0FMX1JHX0RFTF9DQUxfT05fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfTF9DT05fREVMX0NBTF9SR19ERUxfQ0FMX09OX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0JCX0xfQ09OX0RFTF9DQUxfUkdfREVMX0NBTF9PTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUWERGRV9CQl9MX0NPTl9ERUxfQ0FMX1JHX0RFTF9DQUxfT05fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUWERGRV9CQl9TUkNfRklGT19QVFJfQ09OX1JHX1NSQ19GSUZPX1dQVFJfSU5JVF9MU0IgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfU1JDX0ZJRk9fUFRSX0NPTl9SR19TUkNfRklGT19XUFRSX0lOSVRfV0lEVEggICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYREZFX0JCX1NSQ19GSUZPX1BUUl9DT05fUkdfU1JDX0ZJRk9fV1BUUl9JTklUX01BU0sgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIFRYREZFX0JCX1dUQ19OQ09fQ09OX1JHX05DT19XVENfREVMVEFfRl9SRVNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9XVENfTkNPX0NPTl9SR19OQ09fV1RDX0RFTFRBX0ZfUkVTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFRYREZFX0JCX1dUQ19OQ09fQ09OX1JHX05DT19XVENfREVMVEFfRl9SRVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFRYREZFX0JCX1dUQ19OQ09fREVMVEFfRl9SRVNfQ09OX1NQX1RYREZFX0JCX05DT19ERUxUQV9GX1JFU19TVFJfTFNCICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9XVENfTkNPX0RFTFRBX0ZfUkVTX0NPTl9TUF9UWERGRV9CQl9OQ09fREVMVEFfRl9SRVNfU1RSX1dJRFRIICAoMSkKKyNkZWZpbmUgVFhERkVfQkJfV1RDX05DT19ERUxUQV9GX1JFU19DT05fU1BfVFhERkVfQkJfTkNPX0RFTFRBX0ZfUkVTX1NUUl9NQVNLICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYREZFX0JCX1dUQ19OQ09fREVMVEFfRl9SRVNfQ09OX1NQX1RYREZFX0JCX05DT19ERUxUQV9GX1JFU19TVFJfQklUICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYREZFX0JCX0MyS19JUzk1X0NPTl9SR19DMktfSVM5NV9GTEdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9DMktfSVM5NV9DT05fUkdfQzJLX0lTOTVfRkxHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhERkVfQkJfQzJLX0lTOTVfQ09OX1JHX0MyS19JUzk1X0ZMR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYREZFX0JCX0MyS19JUzk1X0NPTl9SR19DMktfSVM5NV9GTEdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04wX1JHX0NSQ19MRU5HVEhfRzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMF9SR19DUkNfTEVOR1RIX0cwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04wX1JHX0NSQ19MRU5HVEhfRzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRjAwKQorCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04wX1JHX0NSQ19QT0lOVF9HMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMF9SR19DUkNfUE9JTlRfRzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjBfUkdfQ1JDX1BPSU5UX0cwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNzApCisKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjBfUkdfQ1JDX0VOX0cwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04wX1JHX0NSQ19FTl9HMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMF9SR19DUkNfRU5fRzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjBfUkdfQ1JDX0VOX0cwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX09VVF9HMF9SR19DUkNfT1VUX0cwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX0JCX0NSQ19PVVRfRzBfUkdfQ1JDX09VVF9HMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX09VVF9HMF9SR19DUkNfT1VUX0cwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjFfUkdfQ1JDX0xFTkdUSF9HMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04xX1JHX0NSQ19MRU5HVEhfRzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjFfUkdfQ1JDX0xFTkdUSF9HMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGMDApCisKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjFfUkdfQ1JDX1BPSU5UX0cxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04xX1JHX0NSQ19QT0lOVF9HMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMV9SR19DUkNfUE9JTlRfRzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA3MCkKKworI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMV9SR19DUkNfRU5fRzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjFfUkdfQ1JDX0VOX0cxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04xX1JHX0NSQ19FTl9HMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMV9SR19DUkNfRU5fRzFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUWERGRV9CQl9DUkNfT1VUX0cxX1JHX0NSQ19PVVRfRzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX09VVF9HMV9SR19DUkNfT1VUX0cxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9DUkNfT1VUX0cxX1JHX0NSQ19PVVRfRzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMl9SR19DUkNfTEVOR1RIX0cyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjJfUkdfQ1JDX0xFTkdUSF9HMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMl9SR19DUkNfTEVOR1RIX0cyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkYwMCkKKworI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMl9SR19DUkNfUE9JTlRfRzJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjJfUkdfQ1JDX1BPSU5UX0cyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04yX1JHX0NSQ19QT0lOVF9HMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDcwKQorCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04yX1JHX0NSQ19FTl9HMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMl9SR19DUkNfRU5fRzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjJfUkdfQ1JDX0VOX0cyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04yX1JHX0NSQ19FTl9HMl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYREZFX0JCX0NSQ19PVVRfRzJfUkdfQ1JDX09VVF9HMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9DUkNfT1VUX0cyX1JHX0NSQ19PVVRfRzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFRYREZFX0JCX0NSQ19PVVRfRzJfUkdfQ1JDX09VVF9HMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFRYREZFX0JCX1BDQ19JTkZPX1JHX1BDQ19JTkZPX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9QQ0NfSU5GT19SR19QQ0NfSU5GT19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgVFhERkVfQkJfUENDX0lORk9fUkdfUENDX0lORk9fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwN0YpCisKKyNkZWZpbmUgVFhERkVfQkJfUENDX0NPTjBfUkdfUENDX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFRYREZFX0JCX1BDQ19DT04wX1JHX1BDQ19FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWERGRV9CQl9QQ0NfQ09OMF9SR19QQ0NfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgVFhERkVfQkJfUENDX0NPTjBfUkdfUENDX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgVFhERkVfQkJfUENDX0NPTjBfUkdfUENDX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX0JCX1BDQ19DT04wX1JHX1BDQ19TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUWERGRV9CQl9QQ0NfQ09OMF9SR19QQ0NfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBUWERGRV9CQl9URVNUX1NFTF9SR19URVNUX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgVFhERkVfQkJfVEVTVF9TRUxfUkdfVEVTVF9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0JCX1RFU1RfU0VMX1JHX1RFU1RfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBUWERGRV9CQl9URVNUX1NFTF9SR19URVNUX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBUWERGRV9CQl9URVNUX1NFTF9SR19URVNUX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfVEVTVF9TRUxfUkdfVEVTVF9TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFRYREZFX0JCX1RFU1RfU0VMX1JHX1RFU1RfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIFRYREZFX0JCX1dJTl9FUlJfQ09OX1NQX1dJTl9FUlJfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9XSU5fRVJSX0NPTl9TUF9XSU5fRVJSX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhERkVfQkJfV0lOX0VSUl9DT05fU1BfV0lOX0VSUl9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYREZFX0JCX1dJTl9FUlJfQ09OX1NQX1dJTl9FUlJfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYREZFX0JCX0RCR18wX1JHX1dJTl9FUlJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzBfUkdfV0lOX0VSUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0JCX0RCR18wX1JHX1dJTl9FUlJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBUWERGRV9CQl9EQkdfMF9SR19XSU5fRVJSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBUWERGRV9CQl9EQkdfMF9SR19UUENfQ0ZSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzBfUkdfVFBDX0NGUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIxKQorI2RlZmluZSBUWERGRV9CQl9EQkdfMF9SR19UUENfQ0ZSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDFGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfMV9SR19EQkdfMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzFfUkdfREJHXzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfMV9SR19EQkdfMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfMl9SR19EQkdfMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzJfUkdfREJHXzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfMl9SR19EQkdfMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfM19SR19EQkdfM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzNfUkdfREJHXzNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfM19SR19EQkdfM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfNF9SR19EQkdfNF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzRfUkdfREJHXzRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfNF9SR19EQkdfNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfNV9SR19EQkdfNV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzVfUkdfREJHXzVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfNV9SR19EQkdfNV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfNl9SR19EQkdfNl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzZfUkdfREJHXzZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfNl9SR19EQkdfNl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfN19SR19EQkdfN19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzdfUkdfREJHXzdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfN19SR19EQkdfN19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfOF9SR19EQkdfOF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzhfUkdfREJHXzhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfOF9SR19EQkdfOF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfOV9SR19EQkdfOV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzlfUkdfREJHXzlfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfOV9SR19EQkdfOV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfMTBfUkdfREJHXzEwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzEwX1JHX0RCR18xMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfMTBfUkdfREJHXzEwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfMTFfUkdfREJHXzExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzExX1JHX0RCR18xMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfMTFfUkdfREJHXzExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfMTJfUkdfREJHXzEyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzEyX1JHX0RCR18xMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfMTJfUkdfREJHXzEyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfMTNfUkdfREJHXzEzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzEzX1JHX0RCR18xM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfMTNfUkdfREJHXzEzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfMTRfUkdfREJHXzE0X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzE0X1JHX0RCR18xNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfMTRfUkdfREJHXzE0X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfMTVfUkdfREJHXzE1X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzE1X1JHX0RCR18xNV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfMTVfUkdfREJHXzE1X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfMTZfUkdfREJHXzE2X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzE2X1JHX0RCR18xNl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfMTZfUkdfREJHXzE2X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9GUEdBX0NPTl8wX1JHX0ZQR0FfU1JDX0lRX1NXQVBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIFRYREZFX0JCX0ZQR0FfQ09OXzBfUkdfRlBHQV9TUkNfSVFfU1dBUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBUWERGRV9CQl9GUEdBX0NPTl8wX1JHX0ZQR0FfU1JDX0lRX1NXQVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMzAwMDAwMCkKKworI2RlZmluZSBUWERGRV9CQl9GUEdBX0NPTl8wX1JHX0ZQR0FfQ0tfREJHX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFRYREZFX0JCX0ZQR0FfQ09OXzBfUkdfRlBHQV9DS19EQkdfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBUWERGRV9CQl9GUEdBX0NPTl8wX1JHX0ZQR0FfQ0tfREJHX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDFGMDAwMCkKKworI2RlZmluZSBUWERGRV9CQl9GUEdBX0NPTl8wX1JHX0ZQR0FfT1VUX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgVFhERkVfQkJfRlBHQV9DT05fMF9SR19GUEdBX09VVF9TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFRYREZFX0JCX0ZQR0FfQ09OXzBfUkdfRlBHQV9PVVRfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRjAwKQorCisjZGVmaW5lIFRYREZFX0JCX0ZQR0FfQ09OXzBfUkdfRlBHQV9DSUNfQ0tfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9GUEdBX0NPTl8wX1JHX0ZQR0FfQ0lDX0NLX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhERkVfQkJfRlBHQV9DT05fMF9SR19GUEdBX0NJQ19DS19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYREZFX0JCX0ZQR0FfQ09OXzBfUkdfRlBHQV9DSUNfQ0tfU0VMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9DT05fUkdfQ0ZSX1AwX09OX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfQ09OX1JHX0NGUl9QMF9PTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhERkVfQkJfUDBfQ0ZSX0NPTl9SR19DRlJfUDBfT05fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9DT05fUkdfQ0ZSX1AwX09OX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMF9SR19DRlJfUDBfRV9ST01fMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNykKKyNkZWZpbmUgVFhERkVfQkJfUDBfQ0ZSX1JPTV8wX1JHX0NGUl9QMF9FX1JPTV8yX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMF9SR19DRlJfUDBfRV9ST01fMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDM4MDAwMDAwKQorCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMF9SR19DRlJfUDBfTV9ST01fMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgVFhERkVfQkJfUDBfQ0ZSX1JPTV8wX1JHX0NGUl9QMF9NX1JPTV8yX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMF9SR19DRlJfUDBfTV9ST01fMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA3RjAwMDAwKQorCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMF9SR19DRlJfUDBfRV9ST01fMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNykKKyNkZWZpbmUgVFhERkVfQkJfUDBfQ0ZSX1JPTV8wX1JHX0NGUl9QMF9FX1JPTV8xX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMF9SR19DRlJfUDBfRV9ST01fMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEUwMDAwKQorCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMF9SR19DRlJfUDBfTV9ST01fMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgVFhERkVfQkJfUDBfQ0ZSX1JPTV8wX1JHX0NGUl9QMF9NX1JPTV8xX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMF9SR19DRlJfUDBfTV9ST01fMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDFGQzAwKQorCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMF9SR19DRlJfUDBfRV9ST01fMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfUk9NXzBfUkdfQ0ZSX1AwX0VfUk9NXzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgVFhERkVfQkJfUDBfQ0ZSX1JPTV8wX1JHX0NGUl9QMF9FX1JPTV8wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzODApCisKKyNkZWZpbmUgVFhERkVfQkJfUDBfQ0ZSX1JPTV8wX1JHX0NGUl9QMF9NX1JPTV8wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMF9SR19DRlJfUDBfTV9ST01fMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfUk9NXzBfUkdfQ0ZSX1AwX01fUk9NXzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA3RikKKworI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfUk9NXzFfUkdfQ0ZSX1AwX0VfUk9NXzVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjcpCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMV9SR19DRlJfUDBfRV9ST01fNV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfUk9NXzFfUkdfQ0ZSX1AwX0VfUk9NXzVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgzODAwMDAwMCkKKworI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfUk9NXzFfUkdfQ0ZSX1AwX01fUk9NXzVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMV9SR19DRlJfUDBfTV9ST01fNV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfUk9NXzFfUkdfQ0ZSX1AwX01fUk9NXzVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwN0YwMDAwMCkKKworI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfUk9NXzFfUkdfQ0ZSX1AwX0VfUk9NXzRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTcpCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMV9SR19DRlJfUDBfRV9ST01fNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfUk9NXzFfUkdfQ0ZSX1AwX0VfUk9NXzRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBFMDAwMCkKKworI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfUk9NXzFfUkdfQ0ZSX1AwX01fUk9NXzRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMV9SR19DRlJfUDBfTV9ST01fNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfUk9NXzFfUkdfQ0ZSX1AwX01fUk9NXzRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxRkMwMCkKKworI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfUk9NXzFfUkdfQ0ZSX1AwX0VfUk9NXzNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgVFhERkVfQkJfUDBfQ0ZSX1JPTV8xX1JHX0NGUl9QMF9FX1JPTV8zX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMV9SR19DRlJfUDBfRV9ST01fM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMzgwKQorCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMV9SR19DRlJfUDBfTV9ST01fM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfUk9NXzFfUkdfQ0ZSX1AwX01fUk9NXzNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgVFhERkVfQkJfUDBfQ0ZSX1JPTV8xX1JHX0NGUl9QMF9NX1JPTV8zX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwN0YpCisKKyNkZWZpbmUgVFhERkVfQkJfUDBfQ0ZSX1JPTV8yX1JHX0NGUl9QMF9FX1JPTV82X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMl9SR19DRlJfUDBfRV9ST01fNl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfUk9NXzJfUkdfQ0ZSX1AwX0VfUk9NXzZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDM4MCkKKworI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfUk9NXzJfUkdfQ0ZSX1AwX01fUk9NXzZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfUDBfQ0ZSX1JPTV8yX1JHX0NGUl9QMF9NX1JPTV82X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMl9SR19DRlJfUDBfTV9ST01fNl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDdGKQorCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9DT05fUkdfQ0ZSX1AxX09OX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfQ09OX1JHX0NGUl9QMV9PTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhERkVfQkJfUDFfQ0ZSX0NPTl9SR19DRlJfUDFfT05fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9DT05fUkdfQ0ZSX1AxX09OX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMF9SR19DRlJfUDFfRV9ST01fMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNykKKyNkZWZpbmUgVFhERkVfQkJfUDFfQ0ZSX1JPTV8wX1JHX0NGUl9QMV9FX1JPTV8yX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMF9SR19DRlJfUDFfRV9ST01fMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDM4MDAwMDAwKQorCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMF9SR19DRlJfUDFfTV9ST01fMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgVFhERkVfQkJfUDFfQ0ZSX1JPTV8wX1JHX0NGUl9QMV9NX1JPTV8yX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMF9SR19DRlJfUDFfTV9ST01fMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA3RjAwMDAwKQorCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMF9SR19DRlJfUDFfRV9ST01fMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNykKKyNkZWZpbmUgVFhERkVfQkJfUDFfQ0ZSX1JPTV8wX1JHX0NGUl9QMV9FX1JPTV8xX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMF9SR19DRlJfUDFfRV9ST01fMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEUwMDAwKQorCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMF9SR19DRlJfUDFfTV9ST01fMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgVFhERkVfQkJfUDFfQ0ZSX1JPTV8wX1JHX0NGUl9QMV9NX1JPTV8xX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMF9SR19DRlJfUDFfTV9ST01fMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDFGQzAwKQorCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMF9SR19DRlJfUDFfRV9ST01fMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfUk9NXzBfUkdfQ0ZSX1AxX0VfUk9NXzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgVFhERkVfQkJfUDFfQ0ZSX1JPTV8wX1JHX0NGUl9QMV9FX1JPTV8wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzODApCisKKyNkZWZpbmUgVFhERkVfQkJfUDFfQ0ZSX1JPTV8wX1JHX0NGUl9QMV9NX1JPTV8wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMF9SR19DRlJfUDFfTV9ST01fMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfUk9NXzBfUkdfQ0ZSX1AxX01fUk9NXzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA3RikKKworI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfUk9NXzFfUkdfQ0ZSX1AxX0VfUk9NXzVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjcpCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMV9SR19DRlJfUDFfRV9ST01fNV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfUk9NXzFfUkdfQ0ZSX1AxX0VfUk9NXzVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgzODAwMDAwMCkKKworI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfUk9NXzFfUkdfQ0ZSX1AxX01fUk9NXzVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMV9SR19DRlJfUDFfTV9ST01fNV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfUk9NXzFfUkdfQ0ZSX1AxX01fUk9NXzVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwN0YwMDAwMCkKKworI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfUk9NXzFfUkdfQ0ZSX1AxX0VfUk9NXzRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTcpCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMV9SR19DRlJfUDFfRV9ST01fNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfUk9NXzFfUkdfQ0ZSX1AxX0VfUk9NXzRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBFMDAwMCkKKworI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfUk9NXzFfUkdfQ0ZSX1AxX01fUk9NXzRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMV9SR19DRlJfUDFfTV9ST01fNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfUk9NXzFfUkdfQ0ZSX1AxX01fUk9NXzRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxRkMwMCkKKworI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfUk9NXzFfUkdfQ0ZSX1AxX0VfUk9NXzNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgVFhERkVfQkJfUDFfQ0ZSX1JPTV8xX1JHX0NGUl9QMV9FX1JPTV8zX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMV9SR19DRlJfUDFfRV9ST01fM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMzgwKQorCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMV9SR19DRlJfUDFfTV9ST01fM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfUk9NXzFfUkdfQ0ZSX1AxX01fUk9NXzNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgVFhERkVfQkJfUDFfQ0ZSX1JPTV8xX1JHX0NGUl9QMV9NX1JPTV8zX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwN0YpCisKKyNkZWZpbmUgVFhERkVfQkJfUDFfQ0ZSX1JPTV8yX1JHX0NGUl9QMV9FX1JPTV82X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMl9SR19DRlJfUDFfRV9ST01fNl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfUk9NXzJfUkdfQ0ZSX1AxX0VfUk9NXzZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDM4MCkKKworI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfUk9NXzJfUkdfQ0ZSX1AxX01fUk9NXzZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfUDFfQ0ZSX1JPTV8yX1JHX0NGUl9QMV9NX1JPTV82X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMl9SR19DRlJfUDFfTV9ST01fNl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDdGKQorCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9TV19DT04wX1JHX0NGUl9QMF9TV19TQ0FMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgVFhERkVfQkJfUDBfQ0ZSX1NXX0NPTjBfUkdfQ0ZSX1AwX1NXX1NDQUxFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9TV19DT04wX1JHX0NGUl9QMF9TV19TQ0FMRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUYwMDAwKQorCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9TV19DT04wX1JHX0NGUl9QMF9TV19BX1RIX0NMSVBfTFNCICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfU1dfQ09OMF9SR19DRlJfUDBfU1dfQV9USF9DTElQX1dJRFRIICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgVFhERkVfQkJfUDBfQ0ZSX1NXX0NPTjBfUkdfQ0ZSX1AwX1NXX0FfVEhfQ0xJUF9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGMDApCisKKyNkZWZpbmUgVFhERkVfQkJfUDBfQ0ZSX1NXX0NPTjBfUkdfQ0ZSX1AwX1NXX0FfVEhfUENfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9TV19DT04wX1JHX0NGUl9QMF9TV19BX1RIX1BDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfU1dfQ09OMF9SR19DRlJfUDBfU1dfQV9USF9QQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDBGRikKKworI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfU1dfTU9ERV9SR19DRlJfUDBfU1dfTU9ERV9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfUDBfQ0ZSX1NXX01PREVfUkdfQ0ZSX1AwX1NXX01PREVfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9TV19NT0RFX1JHX0NGUl9QMF9TV19NT0RFX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfU1dfTU9ERV9SR19DRlJfUDBfU1dfTU9ERV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfU1dfQ09OMF9SR19DRlJfUDFfU1dfU0NBTEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9TV19DT04wX1JHX0NGUl9QMV9TV19TQ0FMRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfU1dfQ09OMF9SR19DRlJfUDFfU1dfU0NBTEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDFGMDAwMCkKKworI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfU1dfQ09OMF9SR19DRlJfUDFfU1dfQV9USF9DTElQX0xTQiAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgVFhERkVfQkJfUDFfQ0ZSX1NXX0NPTjBfUkdfQ0ZSX1AxX1NXX0FfVEhfQ0xJUF9XSURUSCAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9TV19DT04wX1JHX0NGUl9QMV9TV19BX1RIX0NMSVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRjAwKQorCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9TV19DT04wX1JHX0NGUl9QMV9TV19BX1RIX1BDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfU1dfQ09OMF9SR19DRlJfUDFfU1dfQV9USF9QQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgVFhERkVfQkJfUDFfQ0ZSX1NXX0NPTjBfUkdfQ0ZSX1AxX1NXX0FfVEhfUENfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwRkYpCisKKyNkZWZpbmUgVFhERkVfQkJfUDFfQ0ZSX1NXX01PREVfUkdfQ0ZSX1AxX1NXX01PREVfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9TV19NT0RFX1JHX0NGUl9QMV9TV19NT0RFX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfU1dfTU9ERV9SR19DRlJfUDFfU1dfTU9ERV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhERkVfQkJfUDFfQ0ZSX1NXX01PREVfUkdfQ0ZSX1AxX1NXX01PREVfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhERkVfQkJfUkVHX1BST1RFQ1RfUkdfVFhERkVfQkJfQUNDRVNTX1JJR0hUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX0JCX1JFR19QUk9URUNUX1JHX1RYREZFX0JCX0FDQ0VTU19SSUdIVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBUWERGRV9CQl9SRUdfUFJPVEVDVF9SR19UWERGRV9CQl9BQ0NFU1NfUklHSFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworCisjZGVmaW5lIFRYREZFX0JCX0dMQl9DT05fUkdfU1dfQ0dfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBUWERGRV9CQl9HTEJfQ09OX1JHX1NXX0NHX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhERkVfQkJfR0xCX0NPTl9SR19TV19DR19FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFRYREZFX0JCX0dMQl9DT05fUkdfU1dfQ0dfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFRYREZFX0JCX0dMQl9DT05fUkdfTFRFX0NDQV9NT0RFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9HTEJfQ09OX1JHX0xURV9DQ0FfTU9ERV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhERkVfQkJfR0xCX0NPTl9SR19MVEVfQ0NBX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYREZFX0JCX0dMQl9DT05fUkdfTFRFX0NDQV9NT0RFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYREZFX0JCX0RBVEFfUkFURV9HMF9SR19CV19SRUFMX0cwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBUWERGRV9CQl9EQVRBX1JBVEVfRzBfUkdfQldfUkVBTF9HMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgVFhERkVfQkJfREFUQV9SQVRFX0cwX1JHX0JXX1JFQUxfRzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxQzApCisKKyNkZWZpbmUgVFhERkVfQkJfREFUQV9SQVRFX0cwX1JHX1BSQUNIX0ZfRzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYREZFX0JCX0RBVEFfUkFURV9HMF9SR19QUkFDSF9GX0cwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUWERGRV9CQl9EQVRBX1JBVEVfRzBfUkdfUFJBQ0hfRl9HMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzOCkKKworI2RlZmluZSBUWERGRV9CQl9EQVRBX1JBVEVfRzBfUkdfTFRFX0NCV19HMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREFUQV9SQVRFX0cwX1JHX0xURV9DQldfRzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYREZFX0JCX0RBVEFfUkFURV9HMF9SR19MVEVfQ0JXX0cwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIFRYREZFX0JCX0RBVEFfUkFURV9HMV9SR19CV19SRUFMX0cxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBUWERGRV9CQl9EQVRBX1JBVEVfRzFfUkdfQldfUkVBTF9HMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgVFhERkVfQkJfREFUQV9SQVRFX0cxX1JHX0JXX1JFQUxfRzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxQzApCisKKyNkZWZpbmUgVFhERkVfQkJfREFUQV9SQVRFX0cxX1JHX1BSQUNIX0ZfRzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYREZFX0JCX0RBVEFfUkFURV9HMV9SR19QUkFDSF9GX0cxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUWERGRV9CQl9EQVRBX1JBVEVfRzFfUkdfUFJBQ0hfRl9HMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzOCkKKworI2RlZmluZSBUWERGRV9CQl9EQVRBX1JBVEVfRzFfUkdfTFRFX0NCV19HMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREFUQV9SQVRFX0cxX1JHX0xURV9DQldfRzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYREZFX0JCX0RBVEFfUkFURV9HMV9SR19MVEVfQ0JXX0cxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIFRYREZFX0JCX0RBVEFfUkFURV9HMl9SR19CV19SRUFMX0cyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBUWERGRV9CQl9EQVRBX1JBVEVfRzJfUkdfQldfUkVBTF9HMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgVFhERkVfQkJfREFUQV9SQVRFX0cyX1JHX0JXX1JFQUxfRzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxQzApCisKKyNkZWZpbmUgVFhERkVfQkJfREFUQV9SQVRFX0cyX1JHX1BSQUNIX0ZfRzJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYREZFX0JCX0RBVEFfUkFURV9HMl9SR19QUkFDSF9GX0cyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUWERGRV9CQl9EQVRBX1JBVEVfRzJfUkdfUFJBQ0hfRl9HMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAzOCkKKworI2RlZmluZSBUWERGRV9CQl9EQVRBX1JBVEVfRzJfUkdfTFRFX0NCV19HMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREFUQV9SQVRFX0cyX1JHX0xURV9DQldfRzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYREZFX0JCX0RBVEFfUkFURV9HMl9SR19MVEVfQ0JXX0cyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIFRYREZFX0JCX0xfR1JPVVBfU0VMX1dJTjBfUkdfTFRFX0dST1VQX1NFTF9XSU4wX0xTQiAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9MX0dST1VQX1NFTF9XSU4wX1JHX0xURV9HUk9VUF9TRUxfV0lOMF9XSURUSCAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgVFhERkVfQkJfTF9HUk9VUF9TRUxfV0lOMF9SR19MVEVfR1JPVVBfU0VMX1dJTjBfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDMpCisKKyNkZWZpbmUgVFhERkVfQkJfTF9HUk9VUF9TRUxfV0lOMV9SR19MVEVfR1JPVVBfU0VMX1dJTjFfTFNCICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX0JCX0xfR1JPVVBfU0VMX1dJTjFfUkdfTFRFX0dST1VQX1NFTF9XSU4xX1dJRFRIICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBUWERGRV9CQl9MX0dST1VQX1NFTF9XSU4xX1JHX0xURV9HUk9VUF9TRUxfV0lOMV9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMykKKworI2RlZmluZSBUWERGRV9CQl9MX0dST1VQX1NFTF9XSU4yX1JHX0xURV9HUk9VUF9TRUxfV0lOMl9MU0IgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfTF9HUk9VUF9TRUxfV0lOMl9SR19MVEVfR1JPVVBfU0VMX1dJTjJfV0lEVEggICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFRYREZFX0JCX0xfR1JPVVBfU0VMX1dJTjJfUkdfTFRFX0dST1VQX1NFTF9XSU4yX01BU0sgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAzKQorCisjZGVmaW5lIFRYREZFX0JCX0xfTkNPX0NPTjBfUkdfTkNPX0xfREVMVEFfRl9SRVNfREIwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9MX05DT19DT04wX1JHX05DT19MX0RFTFRBX0ZfUkVTX0RCMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFRYREZFX0JCX0xfTkNPX0NPTjBfUkdfTkNPX0xfREVMVEFfRl9SRVNfREIwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFRYREZFX0JCX0xfTkNPX0NPTjFfUkdfTkNPX0xfREVMVEFfRl9SRVNfREIxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9MX05DT19DT04xX1JHX05DT19MX0RFTFRBX0ZfUkVTX0RCMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFRYREZFX0JCX0xfTkNPX0NPTjFfUkdfTkNPX0xfREVMVEFfRl9SRVNfREIxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFRYREZFX0JCX0xfTkNPX0NPTjJfUkdfTkNPX0xfREVMVEFfRl9SRVNfREIyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9MX05DT19DT04yX1JHX05DT19MX0RFTFRBX0ZfUkVTX0RCMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFRYREZFX0JCX0xfTkNPX0NPTjJfUkdfTkNPX0xfREVMVEFfRl9SRVNfREIyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFRYREZFX0JCX0xfTkNPX0NPTjNfUkdfTkNPX0xfSU5JVF9QSEFTRV9HMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9MX05DT19DT04zX1JHX05DT19MX0lOSVRfUEhBU0VfRzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMjYpCisjZGVmaW5lIFRYREZFX0JCX0xfTkNPX0NPTjNfUkdfTkNPX0xfSU5JVF9QSEFTRV9HMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAzRkZGRkZGKQorCisjZGVmaW5lIFRYREZFX0JCX0xfTkNPX0NPTjRfUkdfTkNPX0xfSU5JVF9QSEFTRV9HMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9MX05DT19DT040X1JHX05DT19MX0lOSVRfUEhBU0VfRzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMjYpCisjZGVmaW5lIFRYREZFX0JCX0xfTkNPX0NPTjRfUkdfTkNPX0xfSU5JVF9QSEFTRV9HMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAzRkZGRkZGKQorCisjZGVmaW5lIFRYREZFX0JCX0xfTkNPX0NPTjVfUkdfTkNPX0xfSU5JVF9QSEFTRV9HMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9MX05DT19DT041X1JHX05DT19MX0lOSVRfUEhBU0VfRzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMjYpCisjZGVmaW5lIFRYREZFX0JCX0xfTkNPX0NPTjVfUkdfTkNPX0xfSU5JVF9QSEFTRV9HMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAzRkZGRkZGKQorCisjZGVmaW5lIFRYREZFX0JCX1NXX0NPTl9SR19ERUxUQV9GX1JFU19BVVRPX0NMUl9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBUWERGRV9CQl9TV19DT05fUkdfREVMVEFfRl9SRVNfQVVUT19DTFJfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhERkVfQkJfU1dfQ09OX1JHX0RFTFRBX0ZfUkVTX0FVVE9fQ0xSX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFRYREZFX0JCX1NXX0NPTl9SR19ERUxUQV9GX1JFU19BVVRPX0NMUl9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFRYREZFX0JCX1NXX0NPTl9SR19UWERGRV9CQl9TV19UWERGRV9XSU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9TV19DT05fUkdfVFhERkVfQkJfU1dfVFhERkVfV0lOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhERkVfQkJfU1dfQ09OX1JHX1RYREZFX0JCX1NXX1RYREZFX1dJTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYREZFX0JCX1NXX0NPTl9SR19UWERGRV9CQl9TV19UWERGRV9XSU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYREZFX0JCX1NXX0NPTl9TSU5FX1JHX1RYREZFX0JCX1NXX1NJTkVfR0VOX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBUWERGRV9CQl9TV19DT05fU0lORV9SR19UWERGRV9CQl9TV19TSU5FX0dFTl9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhERkVfQkJfU1dfQ09OX1NJTkVfUkdfVFhERkVfQkJfU1dfU0lORV9HRU5fRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFRYREZFX0JCX1NXX0NPTl9TSU5FX1JHX1RYREZFX0JCX1NXX1NJTkVfR0VOX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFRYREZFX0JCX1NXX0NPTl9TSU5FX1JHX1RYREZFX0JCX1NXX1NJTkVfQU1QX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBUWERGRV9CQl9TV19DT05fU0lORV9SR19UWERGRV9CQl9TV19TSU5FX0FNUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgVFhERkVfQkJfU1dfQ09OX1NJTkVfUkdfVFhERkVfQkJfU1dfU0lORV9BTVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNzApCisKKyNkZWZpbmUgVFhERkVfQkJfU1dfQ09OX1NJTkVfUkdfVFhERkVfQkJfU1dfU0lORV9GUkVRX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX0JCX1NXX0NPTl9TSU5FX1JHX1RYREZFX0JCX1NXX1NJTkVfRlJFUV9TRUxfV0lEVEggICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBUWERGRV9CQl9TV19DT05fU0lORV9SR19UWERGRV9CQl9TV19TSU5FX0ZSRVFfU0VMX01BU0sgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBUWERGRV9CQl9MX0NPTl9ERUxfQ0FMX1JHX0RFTF9DQUxfT05fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfTF9DT05fREVMX0NBTF9SR19ERUxfQ0FMX09OX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0JCX0xfQ09OX0RFTF9DQUxfUkdfREVMX0NBTF9PTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUWERGRV9CQl9MX0NPTl9ERUxfQ0FMX1JHX0RFTF9DQUxfT05fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUWERGRV9CQl9TUkNfRklGT19QVFJfQ09OX1JHX1NSQ19GSUZPX1dQVFJfSU5JVF9MU0IgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfU1JDX0ZJRk9fUFRSX0NPTl9SR19TUkNfRklGT19XUFRSX0lOSVRfV0lEVEggICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYREZFX0JCX1NSQ19GSUZPX1BUUl9DT05fUkdfU1JDX0ZJRk9fV1BUUl9JTklUX01BU0sgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIFRYREZFX0JCX1dUQ19OQ09fQ09OX1JHX05DT19XVENfREVMVEFfRl9SRVNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9XVENfTkNPX0NPTl9SR19OQ09fV1RDX0RFTFRBX0ZfUkVTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFRYREZFX0JCX1dUQ19OQ09fQ09OX1JHX05DT19XVENfREVMVEFfRl9SRVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFRYREZFX0JCX1dUQ19OQ09fREVMVEFfRl9SRVNfQ09OX1NQX1RYREZFX0JCX05DT19ERUxUQV9GX1JFU19TVFJfTFNCICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9XVENfTkNPX0RFTFRBX0ZfUkVTX0NPTl9TUF9UWERGRV9CQl9OQ09fREVMVEFfRl9SRVNfU1RSX1dJRFRIICAoMSkKKyNkZWZpbmUgVFhERkVfQkJfV1RDX05DT19ERUxUQV9GX1JFU19DT05fU1BfVFhERkVfQkJfTkNPX0RFTFRBX0ZfUkVTX1NUUl9NQVNLICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYREZFX0JCX1dUQ19OQ09fREVMVEFfRl9SRVNfQ09OX1NQX1RYREZFX0JCX05DT19ERUxUQV9GX1JFU19TVFJfQklUICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYREZFX0JCX0MyS19JUzk1X0NPTl9SR19DMktfSVM5NV9GTEdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9DMktfSVM5NV9DT05fUkdfQzJLX0lTOTVfRkxHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhERkVfQkJfQzJLX0lTOTVfQ09OX1JHX0MyS19JUzk1X0ZMR19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYREZFX0JCX0MyS19JUzk1X0NPTl9SR19DMktfSVM5NV9GTEdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04wX1JHX0NSQ19MRU5HVEhfRzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMF9SR19DUkNfTEVOR1RIX0cwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04wX1JHX0NSQ19MRU5HVEhfRzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRjAwKQorCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04wX1JHX0NSQ19QT0lOVF9HMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMF9SR19DUkNfUE9JTlRfRzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjBfUkdfQ1JDX1BPSU5UX0cwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNzApCisKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjBfUkdfQ1JDX0VOX0cwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04wX1JHX0NSQ19FTl9HMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMF9SR19DUkNfRU5fRzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjBfUkdfQ1JDX0VOX0cwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX09VVF9HMF9SR19DUkNfT1VUX0cwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX0JCX0NSQ19PVVRfRzBfUkdfQ1JDX09VVF9HMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX09VVF9HMF9SR19DUkNfT1VUX0cwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjFfUkdfQ1JDX0xFTkdUSF9HMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04xX1JHX0NSQ19MRU5HVEhfRzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjFfUkdfQ1JDX0xFTkdUSF9HMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGMDApCisKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjFfUkdfQ1JDX1BPSU5UX0cxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04xX1JHX0NSQ19QT0lOVF9HMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMV9SR19DUkNfUE9JTlRfRzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA3MCkKKworI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMV9SR19DUkNfRU5fRzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjFfUkdfQ1JDX0VOX0cxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04xX1JHX0NSQ19FTl9HMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMV9SR19DUkNfRU5fRzFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUWERGRV9CQl9DUkNfT1VUX0cxX1JHX0NSQ19PVVRfRzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX09VVF9HMV9SR19DUkNfT1VUX0cxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9DUkNfT1VUX0cxX1JHX0NSQ19PVVRfRzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMl9SR19DUkNfTEVOR1RIX0cyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjJfUkdfQ1JDX0xFTkdUSF9HMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMl9SR19DUkNfTEVOR1RIX0cyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkYwMCkKKworI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMl9SR19DUkNfUE9JTlRfRzJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjJfUkdfQ1JDX1BPSU5UX0cyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04yX1JHX0NSQ19QT0lOVF9HMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDcwKQorCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04yX1JHX0NSQ19FTl9HMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMl9SR19DUkNfRU5fRzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjJfUkdfQ1JDX0VOX0cyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04yX1JHX0NSQ19FTl9HMl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYREZFX0JCX0NSQ19PVVRfRzJfUkdfQ1JDX09VVF9HMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9DUkNfT1VUX0cyX1JHX0NSQ19PVVRfRzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFRYREZFX0JCX0NSQ19PVVRfRzJfUkdfQ1JDX09VVF9HMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFRYREZFX0JCX1BDQ19JTkZPX1JHX1BDQ19JTkZPX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9QQ0NfSU5GT19SR19QQ0NfSU5GT19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgVFhERkVfQkJfUENDX0lORk9fUkdfUENDX0lORk9fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwN0YpCisKKyNkZWZpbmUgVFhERkVfQkJfUENDX0NPTjBfUkdfUENDX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFRYREZFX0JCX1BDQ19DT04wX1JHX1BDQ19FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWERGRV9CQl9QQ0NfQ09OMF9SR19QQ0NfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgVFhERkVfQkJfUENDX0NPTjBfUkdfUENDX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgVFhERkVfQkJfUENDX0NPTjBfUkdfUENDX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX0JCX1BDQ19DT04wX1JHX1BDQ19TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUWERGRV9CQl9QQ0NfQ09OMF9SR19QQ0NfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNykKKworI2RlZmluZSBUWERGRV9CQl9URVNUX1NFTF9SR19URVNUX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgVFhERkVfQkJfVEVTVF9TRUxfUkdfVEVTVF9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0JCX1RFU1RfU0VMX1JHX1RFU1RfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBUWERGRV9CQl9URVNUX1NFTF9SR19URVNUX0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBUWERGRV9CQl9URVNUX1NFTF9SR19URVNUX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfVEVTVF9TRUxfUkdfVEVTVF9TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFRYREZFX0JCX1RFU1RfU0VMX1JHX1RFU1RfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIFRYREZFX0JCX1dJTl9FUlJfQ09OX1NQX1dJTl9FUlJfQ0xSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9XSU5fRVJSX0NPTl9TUF9XSU5fRVJSX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhERkVfQkJfV0lOX0VSUl9DT05fU1BfV0lOX0VSUl9DTFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYREZFX0JCX1dJTl9FUlJfQ09OX1NQX1dJTl9FUlJfQ0xSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYREZFX0JCX0RCR18wX1JHX1dJTl9FUlJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzBfUkdfV0lOX0VSUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0JCX0RCR18wX1JHX1dJTl9FUlJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBUWERGRV9CQl9EQkdfMF9SR19XSU5fRVJSX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBUWERGRV9CQl9EQkdfMF9SR19UUENfQ0ZSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzBfUkdfVFBDX0NGUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIxKQorI2RlZmluZSBUWERGRV9CQl9EQkdfMF9SR19UUENfQ0ZSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDFGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfMV9SR19EQkdfMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzFfUkdfREJHXzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfMV9SR19EQkdfMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfMl9SR19EQkdfMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzJfUkdfREJHXzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfMl9SR19EQkdfMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfM19SR19EQkdfM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzNfUkdfREJHXzNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfM19SR19EQkdfM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfNF9SR19EQkdfNF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzRfUkdfREJHXzRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfNF9SR19EQkdfNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfNV9SR19EQkdfNV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzVfUkdfREJHXzVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfNV9SR19EQkdfNV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfNl9SR19EQkdfNl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzZfUkdfREJHXzZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfNl9SR19EQkdfNl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfN19SR19EQkdfN19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzdfUkdfREJHXzdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfN19SR19EQkdfN19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfOF9SR19EQkdfOF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzhfUkdfREJHXzhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfOF9SR19EQkdfOF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfOV9SR19EQkdfOV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzlfUkdfREJHXzlfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfOV9SR19EQkdfOV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfMTBfUkdfREJHXzEwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzEwX1JHX0RCR18xMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfMTBfUkdfREJHXzEwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfMTFfUkdfREJHXzExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzExX1JHX0RCR18xMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfMTFfUkdfREJHXzExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfMTJfUkdfREJHXzEyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzEyX1JHX0RCR18xMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfMTJfUkdfREJHXzEyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfMTNfUkdfREJHXzEzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzEzX1JHX0RCR18xM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfMTNfUkdfREJHXzEzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfMTRfUkdfREJHXzE0X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzE0X1JHX0RCR18xNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfMTRfUkdfREJHXzE0X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfMTVfUkdfREJHXzE1X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzE1X1JHX0RCR18xNV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfMTVfUkdfREJHXzE1X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfMTZfUkdfREJHXzE2X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzE2X1JHX0RCR18xNl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfMTZfUkdfREJHXzE2X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9GUEdBX0NPTl8wX1JHX0ZQR0FfU1JDX0lRX1NXQVBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIFRYREZFX0JCX0ZQR0FfQ09OXzBfUkdfRlBHQV9TUkNfSVFfU1dBUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBUWERGRV9CQl9GUEdBX0NPTl8wX1JHX0ZQR0FfU1JDX0lRX1NXQVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMzAwMDAwMCkKKworI2RlZmluZSBUWERGRV9CQl9GUEdBX0NPTl8wX1JHX0ZQR0FfQ0tfREJHX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFRYREZFX0JCX0ZQR0FfQ09OXzBfUkdfRlBHQV9DS19EQkdfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBUWERGRV9CQl9GUEdBX0NPTl8wX1JHX0ZQR0FfQ0tfREJHX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDFGMDAwMCkKKworI2RlZmluZSBUWERGRV9CQl9GUEdBX0NPTl8wX1JHX0ZQR0FfT1VUX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgVFhERkVfQkJfRlBHQV9DT05fMF9SR19GUEdBX09VVF9TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFRYREZFX0JCX0ZQR0FfQ09OXzBfUkdfRlBHQV9PVVRfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRjAwKQorCisjZGVmaW5lIFRYREZFX0JCX0ZQR0FfQ09OXzBfUkdfRlBHQV9DSUNfQ0tfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9GUEdBX0NPTl8wX1JHX0ZQR0FfQ0lDX0NLX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhERkVfQkJfRlBHQV9DT05fMF9SR19GUEdBX0NJQ19DS19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYREZFX0JCX0ZQR0FfQ09OXzBfUkdfRlBHQV9DSUNfQ0tfU0VMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9DT05fUkdfQ0ZSX1AwX09OX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfQ09OX1JHX0NGUl9QMF9PTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhERkVfQkJfUDBfQ0ZSX0NPTl9SR19DRlJfUDBfT05fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9DT05fUkdfQ0ZSX1AwX09OX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMF9SR19DRlJfUDBfRV9ST01fMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNykKKyNkZWZpbmUgVFhERkVfQkJfUDBfQ0ZSX1JPTV8wX1JHX0NGUl9QMF9FX1JPTV8yX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMF9SR19DRlJfUDBfRV9ST01fMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDM4MDAwMDAwKQorCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMF9SR19DRlJfUDBfTV9ST01fMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgVFhERkVfQkJfUDBfQ0ZSX1JPTV8wX1JHX0NGUl9QMF9NX1JPTV8yX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMF9SR19DRlJfUDBfTV9ST01fMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA3RjAwMDAwKQorCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMF9SR19DRlJfUDBfRV9ST01fMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNykKKyNkZWZpbmUgVFhERkVfQkJfUDBfQ0ZSX1JPTV8wX1JHX0NGUl9QMF9FX1JPTV8xX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMF9SR19DRlJfUDBfRV9ST01fMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEUwMDAwKQorCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMF9SR19DRlJfUDBfTV9ST01fMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgVFhERkVfQkJfUDBfQ0ZSX1JPTV8wX1JHX0NGUl9QMF9NX1JPTV8xX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMF9SR19DRlJfUDBfTV9ST01fMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDFGQzAwKQorCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMF9SR19DRlJfUDBfRV9ST01fMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfUk9NXzBfUkdfQ0ZSX1AwX0VfUk9NXzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgVFhERkVfQkJfUDBfQ0ZSX1JPTV8wX1JHX0NGUl9QMF9FX1JPTV8wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzODApCisKKyNkZWZpbmUgVFhERkVfQkJfUDBfQ0ZSX1JPTV8wX1JHX0NGUl9QMF9NX1JPTV8wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMF9SR19DRlJfUDBfTV9ST01fMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfUk9NXzBfUkdfQ0ZSX1AwX01fUk9NXzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA3RikKKworI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfUk9NXzFfUkdfQ0ZSX1AwX0VfUk9NXzVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjcpCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMV9SR19DRlJfUDBfRV9ST01fNV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfUk9NXzFfUkdfQ0ZSX1AwX0VfUk9NXzVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgzODAwMDAwMCkKKworI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfUk9NXzFfUkdfQ0ZSX1AwX01fUk9NXzVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMV9SR19DRlJfUDBfTV9ST01fNV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfUk9NXzFfUkdfQ0ZSX1AwX01fUk9NXzVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwN0YwMDAwMCkKKworI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfUk9NXzFfUkdfQ0ZSX1AwX0VfUk9NXzRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTcpCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMV9SR19DRlJfUDBfRV9ST01fNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfUk9NXzFfUkdfQ0ZSX1AwX0VfUk9NXzRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBFMDAwMCkKKworI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfUk9NXzFfUkdfQ0ZSX1AwX01fUk9NXzRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMV9SR19DRlJfUDBfTV9ST01fNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfUk9NXzFfUkdfQ0ZSX1AwX01fUk9NXzRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxRkMwMCkKKworI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfUk9NXzFfUkdfQ0ZSX1AwX0VfUk9NXzNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgVFhERkVfQkJfUDBfQ0ZSX1JPTV8xX1JHX0NGUl9QMF9FX1JPTV8zX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMV9SR19DRlJfUDBfRV9ST01fM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMzgwKQorCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMV9SR19DRlJfUDBfTV9ST01fM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfUk9NXzFfUkdfQ0ZSX1AwX01fUk9NXzNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgVFhERkVfQkJfUDBfQ0ZSX1JPTV8xX1JHX0NGUl9QMF9NX1JPTV8zX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwN0YpCisKKyNkZWZpbmUgVFhERkVfQkJfUDBfQ0ZSX1JPTV8yX1JHX0NGUl9QMF9FX1JPTV82X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMl9SR19DRlJfUDBfRV9ST01fNl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfUk9NXzJfUkdfQ0ZSX1AwX0VfUk9NXzZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDM4MCkKKworI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfUk9NXzJfUkdfQ0ZSX1AwX01fUk9NXzZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfUDBfQ0ZSX1JPTV8yX1JHX0NGUl9QMF9NX1JPTV82X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9ST01fMl9SR19DRlJfUDBfTV9ST01fNl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDdGKQorCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9DT05fUkdfQ0ZSX1AxX09OX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfQ09OX1JHX0NGUl9QMV9PTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhERkVfQkJfUDFfQ0ZSX0NPTl9SR19DRlJfUDFfT05fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9DT05fUkdfQ0ZSX1AxX09OX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMF9SR19DRlJfUDFfRV9ST01fMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNykKKyNkZWZpbmUgVFhERkVfQkJfUDFfQ0ZSX1JPTV8wX1JHX0NGUl9QMV9FX1JPTV8yX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMF9SR19DRlJfUDFfRV9ST01fMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDM4MDAwMDAwKQorCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMF9SR19DRlJfUDFfTV9ST01fMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgVFhERkVfQkJfUDFfQ0ZSX1JPTV8wX1JHX0NGUl9QMV9NX1JPTV8yX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMF9SR19DRlJfUDFfTV9ST01fMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA3RjAwMDAwKQorCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMF9SR19DRlJfUDFfRV9ST01fMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNykKKyNkZWZpbmUgVFhERkVfQkJfUDFfQ0ZSX1JPTV8wX1JHX0NGUl9QMV9FX1JPTV8xX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMF9SR19DRlJfUDFfRV9ST01fMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEUwMDAwKQorCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMF9SR19DRlJfUDFfTV9ST01fMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgVFhERkVfQkJfUDFfQ0ZSX1JPTV8wX1JHX0NGUl9QMV9NX1JPTV8xX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMF9SR19DRlJfUDFfTV9ST01fMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDFGQzAwKQorCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMF9SR19DRlJfUDFfRV9ST01fMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfUk9NXzBfUkdfQ0ZSX1AxX0VfUk9NXzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgVFhERkVfQkJfUDFfQ0ZSX1JPTV8wX1JHX0NGUl9QMV9FX1JPTV8wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzODApCisKKyNkZWZpbmUgVFhERkVfQkJfUDFfQ0ZSX1JPTV8wX1JHX0NGUl9QMV9NX1JPTV8wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMF9SR19DRlJfUDFfTV9ST01fMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfUk9NXzBfUkdfQ0ZSX1AxX01fUk9NXzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA3RikKKworI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfUk9NXzFfUkdfQ0ZSX1AxX0VfUk9NXzVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjcpCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMV9SR19DRlJfUDFfRV9ST01fNV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfUk9NXzFfUkdfQ0ZSX1AxX0VfUk9NXzVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgzODAwMDAwMCkKKworI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfUk9NXzFfUkdfQ0ZSX1AxX01fUk9NXzVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMV9SR19DRlJfUDFfTV9ST01fNV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfUk9NXzFfUkdfQ0ZSX1AxX01fUk9NXzVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwN0YwMDAwMCkKKworI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfUk9NXzFfUkdfQ0ZSX1AxX0VfUk9NXzRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTcpCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMV9SR19DRlJfUDFfRV9ST01fNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfUk9NXzFfUkdfQ0ZSX1AxX0VfUk9NXzRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBFMDAwMCkKKworI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfUk9NXzFfUkdfQ0ZSX1AxX01fUk9NXzRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMV9SR19DRlJfUDFfTV9ST01fNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfUk9NXzFfUkdfQ0ZSX1AxX01fUk9NXzRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxRkMwMCkKKworI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfUk9NXzFfUkdfQ0ZSX1AxX0VfUk9NXzNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgVFhERkVfQkJfUDFfQ0ZSX1JPTV8xX1JHX0NGUl9QMV9FX1JPTV8zX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMV9SR19DRlJfUDFfRV9ST01fM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMzgwKQorCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMV9SR19DRlJfUDFfTV9ST01fM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfUk9NXzFfUkdfQ0ZSX1AxX01fUk9NXzNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgVFhERkVfQkJfUDFfQ0ZSX1JPTV8xX1JHX0NGUl9QMV9NX1JPTV8zX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwN0YpCisKKyNkZWZpbmUgVFhERkVfQkJfUDFfQ0ZSX1JPTV8yX1JHX0NGUl9QMV9FX1JPTV82X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMl9SR19DRlJfUDFfRV9ST01fNl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfUk9NXzJfUkdfQ0ZSX1AxX0VfUk9NXzZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDM4MCkKKworI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfUk9NXzJfUkdfQ0ZSX1AxX01fUk9NXzZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfUDFfQ0ZSX1JPTV8yX1JHX0NGUl9QMV9NX1JPTV82X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9ST01fMl9SR19DRlJfUDFfTV9ST01fNl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDdGKQorCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9TV19DT04wX1JHX0NGUl9QMF9TV19TQ0FMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgVFhERkVfQkJfUDBfQ0ZSX1NXX0NPTjBfUkdfQ0ZSX1AwX1NXX1NDQUxFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9TV19DT04wX1JHX0NGUl9QMF9TV19TQ0FMRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMUYwMDAwKQorCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9TV19DT04wX1JHX0NGUl9QMF9TV19BX1RIX0NMSVBfTFNCICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfU1dfQ09OMF9SR19DRlJfUDBfU1dfQV9USF9DTElQX1dJRFRIICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgVFhERkVfQkJfUDBfQ0ZSX1NXX0NPTjBfUkdfQ0ZSX1AwX1NXX0FfVEhfQ0xJUF9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGMDApCisKKyNkZWZpbmUgVFhERkVfQkJfUDBfQ0ZSX1NXX0NPTjBfUkdfQ0ZSX1AwX1NXX0FfVEhfUENfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9TV19DT04wX1JHX0NGUl9QMF9TV19BX1RIX1BDX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfU1dfQ09OMF9SR19DRlJfUDBfU1dfQV9USF9QQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDBGRikKKworI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfU1dfTU9ERV9SR19DRlJfUDBfU1dfTU9ERV9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfUDBfQ0ZSX1NXX01PREVfUkdfQ0ZSX1AwX1NXX01PREVfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0JCX1AwX0NGUl9TV19NT0RFX1JHX0NGUl9QMF9TV19NT0RFX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUWERGRV9CQl9QMF9DRlJfU1dfTU9ERV9SR19DRlJfUDBfU1dfTU9ERV9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfU1dfQ09OMF9SR19DRlJfUDFfU1dfU0NBTEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9TV19DT04wX1JHX0NGUl9QMV9TV19TQ0FMRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfU1dfQ09OMF9SR19DRlJfUDFfU1dfU0NBTEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDFGMDAwMCkKKworI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfU1dfQ09OMF9SR19DRlJfUDFfU1dfQV9USF9DTElQX0xTQiAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgVFhERkVfQkJfUDFfQ0ZSX1NXX0NPTjBfUkdfQ0ZSX1AxX1NXX0FfVEhfQ0xJUF9XSURUSCAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9TV19DT04wX1JHX0NGUl9QMV9TV19BX1RIX0NMSVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICgweDAwMDBGRjAwKQorCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9TV19DT04wX1JHX0NGUl9QMV9TV19BX1RIX1BDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfU1dfQ09OMF9SR19DRlJfUDFfU1dfQV9USF9QQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgVFhERkVfQkJfUDFfQ0ZSX1NXX0NPTjBfUkdfQ0ZSX1AxX1NXX0FfVEhfUENfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwRkYpCisKKyNkZWZpbmUgVFhERkVfQkJfUDFfQ0ZSX1NXX01PREVfUkdfQ0ZSX1AxX1NXX01PREVfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX0JCX1AxX0NGUl9TV19NT0RFX1JHX0NGUl9QMV9TV19NT0RFX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWERGRV9CQl9QMV9DRlJfU1dfTU9ERV9SR19DRlJfUDFfU1dfTU9ERV9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhERkVfQkJfUDFfQ0ZSX1NXX01PREVfUkdfQ0ZSX1AxX1NXX01PREVfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhERkVfQkJfUkVHX1BST1RFQ1RfUkdfVFhERkVfQkJfQUNDRVNTX1JJR0hUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX0JCX1JFR19QUk9URUNUX1JHX1RYREZFX0JCX0FDQ0VTU19SSUdIVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBUWERGRV9CQl9SRUdfUFJPVEVDVF9SR19UWERGRV9CQl9BQ0NFU1NfUklHSFRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHR4ZGZlYmJfOTcuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGh0eGRmZWJiXzk3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2YzMmM2MgotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGh0eGRmZWJiXzk3LmgKQEAgLTAsMCArMSwzOTkgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKgorKiBGSUxFIE5BTUU6IDogY3BodHhkZmViYmQKKyogREVTQ1JJUFRJT046IFR4ZGZlYmIgRC1kaWUgcmVsYXRlZCByZWdpc3RlcnMKKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisKKworI2lmbmRlZiBfQ1BIX1RYREZFX0JCX0RfSF8KKyNkZWZpbmUgX0NQSF9UWERGRV9CQl9EX0hfCisKKwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogU1JBTUFERFI7ICAgICAgICAgLyogU1JBTSBhZGRyIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBTUkFNREFUQTsgICAgICAgICAvKiBTUkFNIGRhdGEgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIEFQQkFERFI7ICAgICAgICAgIC8qIEFQQiBhZGRyIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgQVBCREFUQTsgICAgICAgICAgLyogQVBCIGRhdGEgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqICBBUEJBRERSMzI7ICAgICAgICAvKiBBUEIgYWRkciBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAgIEFQQkRBVEEzMjsgICAgICAgIC8qIEFQQiBkYXRhIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogRFBSQU1BRERSOyAgICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHNpZ25lZCAgIHNob3J0KiBEUFJBTUFERFJfUzsgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIERQUkFNREFUQTsgICAgICAgIC8qIERQUkFNIGRhdGEgaXMgMTYgYml0cyAqLworCisKKyNkZWZpbmUgVFhERkVfRF9DQzBfUkVHX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDBYQThBQjIwMDApCisKKworI2RlZmluZSBUWERGRV9EX0NDMF9lbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoVFhERkVfRF9DQzBfUkVHX0JBU0UgKyAweDI0OCArIDEqNCkKKworCisKKworCisKKyNkZWZpbmUgVFhERkVfQkJfUkVHX1BST1RFQ1QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYREZFX0RfQ0MwX1JFR19CQVNFICsgMHgwMDApKQorI2RlZmluZSBUWERGRV9CQl9HTEJfQ09OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhERkVfRF9DQzBfUkVHX0JBU0UgKyAweDAwNCkpCisjZGVmaW5lIFRYREZFX0JCX1NXX0NPTl9TSU5FICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9EX0NDMF9SRUdfQkFTRSArIDB4MDA4KSkKKyNkZWZpbmUgVFhERkVfQkJfTF9DT05fREVMX0NBTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYREZFX0RfQ0MwX1JFR19CQVNFICsgMHgwMEMpKQorI2RlZmluZSBUWERGRV9CQl9TUkNfRklGT19QVFJfQ09OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhERkVfRF9DQzBfUkVHX0JBU0UgKyAweDAxMCkpCisjZGVmaW5lIFRYREZFX0JCX0MyS19JUzk1X0NPTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9EX0NDMF9SRUdfQkFTRSArIDB4MDE0KSkKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYREZFX0RfQ0MwX1JFR19CQVNFICsgMHgwMTgpKQorI2RlZmluZSBUWERGRV9CQl9DUkNfT1VUX0cwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhERkVfRF9DQzBfUkVHX0JBU0UgKyAweDAxQykpCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9EX0NDMF9SRUdfQkFTRSArIDB4MDIwKSkKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX09VVF9HMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYREZFX0RfQ0MwX1JFR19CQVNFICsgMHgwMjQpKQorI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhERkVfRF9DQzBfUkVHX0JBU0UgKyAweDAyOCkpCisjZGVmaW5lIFRYREZFX0JCX0NSQ19PVVRfRzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9EX0NDMF9SRUdfQkFTRSArIDB4MDJDKSkKKyNkZWZpbmUgVFhERkVfQkJfUENDX0lORk8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYREZFX0RfQ0MwX1JFR19CQVNFICsgMHgwMzApKQorI2RlZmluZSBUWERGRV9CQl9QQ0NfQ09OMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhERkVfRF9DQzBfUkVHX0JBU0UgKyAweDAzNCkpCisjZGVmaW5lIFNFUkRFU19USUNLX0RFTEFZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9EX0NDMF9SRUdfQkFTRSArIDB4MDM4KSkKKyNkZWZpbmUgSVJRX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYREZFX0RfQ0MwX1JFR19CQVNFICsgMHgwNDApKQorI2RlZmluZSBJUlFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhERkVfRF9DQzBfUkVHX0JBU0UgKyAweDA0NCkpCisjZGVmaW5lIElSUV9DTEVBUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9EX0NDMF9SRUdfQkFTRSArIDB4MDQ4KSkKKyNkZWZpbmUgVFhERkVfQkJfVEVTVF9TRUwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYREZFX0RfQ0MwX1JFR19CQVNFICsgMHgwNEMpKQorI2RlZmluZSBUWERGRV9CQl9EQkdfMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhERkVfRF9DQzBfUkVHX0JBU0UgKyAweDA1MCkpCisjZGVmaW5lIFRYREZFX0JCX0RCR18xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9EX0NDMF9SRUdfQkFTRSArIDB4MDU0KSkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYREZFX0RfQ0MwX1JFR19CQVNFICsgMHgwNTgpKQorI2RlZmluZSBUWERGRV9CQl9EQkdfMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhERkVfRF9DQzBfUkVHX0JBU0UgKyAweDA1QykpCisjZGVmaW5lIFRYREZFX0JCX0RCR180ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9EX0NDMF9SRUdfQkFTRSArIDB4MDYwKSkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYREZFX0RfQ0MwX1JFR19CQVNFICsgMHgwNjQpKQorI2RlZmluZSBUWERGRV9CQl9EQkdfNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhERkVfRF9DQzBfUkVHX0JBU0UgKyAweDA2OCkpCisjZGVmaW5lIFRYREZFX0JCX0RCR183ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9EX0NDMF9SRUdfQkFTRSArIDB4MDZDKSkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYREZFX0RfQ0MwX1JFR19CQVNFICsgMHgwNzApKQorI2RlZmluZSBUWERGRV9CQl9EQkdfOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhERkVfRF9DQzBfUkVHX0JBU0UgKyAweDA3NCkpCisjZGVmaW5lIFRYREZFX0JCX0RCR18xMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9EX0NDMF9SRUdfQkFTRSArIDB4MDc4KSkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzExICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYREZFX0RfQ0MwX1JFR19CQVNFICsgMHgwN0MpKQorI2RlZmluZSBUWERGRV9CQl9EQkdfMTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhERkVfRF9DQzBfUkVHX0JBU0UgKyAweDA4MCkpCisjZGVmaW5lIFRYREZFX0JCX0RCR18xMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9EX0NDMF9SRUdfQkFTRSArIDB4MDg0KSkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzE0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYREZFX0RfQ0MwX1JFR19CQVNFICsgMHgwODgpKQorI2RlZmluZSBUWERGRV9CQl9EQkdfMTUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhERkVfRF9DQzBfUkVHX0JBU0UgKyAweDA4QykpCisjZGVmaW5lIEZJUl9TVVBfQ09OX0cwX1BBUlQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9EX0NDMF9SRUdfQkFTRSArIDB4MDkwKSkKKyNkZWZpbmUgRklSX1NVUF9DT05fRzBfUEFSVDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYREZFX0RfQ0MwX1JFR19CQVNFICsgMHgwOTQpKQorI2RlZmluZSBUWERGRV9XSU5fUkVHX1BST1RFQ1QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhERkVfRF9DQzBfUkVHX0JBU0UgKyAweDEwMCkpCisjZGVmaW5lIFRRXzBfQ09OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9EX0NDMF9SRUdfQkFTRSArIDB4MTEwKSkKKyNkZWZpbmUgU0VSREVTX1BSRV9FTl9PTl8wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYREZFX0RfQ0MwX1JFR19CQVNFICsgMHgyMDApKQorI2RlZmluZSBTRVJERVNfRU5fT0ZGXzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhERkVfRF9DQzBfUkVHX0JBU0UgKyAweDIxOCkpCisjZGVmaW5lIFNFUkRFU19FTl9PTl9PRkZTRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9EX0NDMF9SRUdfQkFTRSArIDB4MjMwKSkKKyNkZWZpbmUgU0VSREVTX1BSRV9FTl9PRkZfT0ZGU0VUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYREZFX0RfQ0MwX1JFR19CQVNFICsgMHgyMzQpKQorI2RlZmluZSBTRVJERVNfV0lOX0VOQUJMRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhERkVfRF9DQzBfUkVHX0JBU0UgKyAweDIzOCkpIC8qIFNXIGNhbiB1c2UgaXQgb3Igbm90Ki8KKyNkZWZpbmUgVFhERkVfRF9TRVJERVNfUFJFX0VOX1NXICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYREZFX0RfQ0MwX1JFR19CQVNFICsgMHgyNDApKQorI2RlZmluZSBUWERGRV9EX1NFUkRFU19FTl9TVyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhERkVfRF9DQzBfUkVHX0JBU0UgKyAweDI0NCkpCisjZGVmaW5lIFRYREZFX0RfREZFX1dJTl9TVyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWERGRV9EX0NDMF9SRUdfQkFTRSArIDB4MjQ4KSkgIAorCisKKworCisjZGVmaW5lIFRYREZFX0JCX1JFR19QUk9URUNUX1JHX1RYREZFX0JCX0FDQ0VTU19SSUdIVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9SRUdfUFJPVEVDVF9SR19UWERGRV9CQl9BQ0NFU1NfUklHSFRfV0lEVEggICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgVFhERkVfQkJfUkVHX1BST1RFQ1RfUkdfVFhERkVfQkJfQUNDRVNTX1JJR0hUX01BU0sgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgVFhERkVfQkJfR0xCX0NPTl9SR19TV19DR19FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFRYREZFX0JCX0dMQl9DT05fUkdfU1dfQ0dfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWERGRV9CQl9HTEJfQ09OX1JHX1NXX0NHX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgVFhERkVfQkJfR0xCX0NPTl9SR19TV19DR19FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgVFhERkVfQkJfU1dfQ09OX1NJTkVfUkdfVFhERkVfQkJfU1dfU0lORV9HRU5fRU5fTFNCICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFRYREZFX0JCX1NXX0NPTl9TSU5FX1JHX1RYREZFX0JCX1NXX1NJTkVfR0VOX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWERGRV9CQl9TV19DT05fU0lORV9SR19UWERGRV9CQl9TV19TSU5FX0dFTl9FTl9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgVFhERkVfQkJfU1dfQ09OX1NJTkVfUkdfVFhERkVfQkJfU1dfU0lORV9HRU5fRU5fQklUICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgVFhERkVfQkJfU1dfQ09OX1NJTkVfUkdfVFhERkVfQkJfU1dfU0lORV9BTVBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFRYREZFX0JCX1NXX0NPTl9TSU5FX1JHX1RYREZFX0JCX1NXX1NJTkVfQU1QX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUWERGRV9CQl9TV19DT05fU0lORV9SR19UWERGRV9CQl9TV19TSU5FX0FNUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA3MCkKKworI2RlZmluZSBUWERGRV9CQl9TV19DT05fU0lORV9SR19UWERGRV9CQl9TV19TSU5FX0ZSRVFfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfU1dfQ09OX1NJTkVfUkdfVFhERkVfQkJfU1dfU0lORV9GUkVRX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFRYREZFX0JCX1NXX0NPTl9TSU5FX1JHX1RYREZFX0JCX1NXX1NJTkVfRlJFUV9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIFRYREZFX0JCX0xfQ09OX0RFTF9DQUxfUkdfREVMX0NBTF9PTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9MX0NPTl9ERUxfQ0FMX1JHX0RFTF9DQUxfT05fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhERkVfQkJfTF9DT05fREVMX0NBTF9SR19ERUxfQ0FMX09OX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYREZFX0JCX0xfQ09OX0RFTF9DQUxfUkdfREVMX0NBTF9PTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYREZFX0JCX1NSQ19GSUZPX1BUUl9DT05fUkdfU1JDX0ZJRk9fV1BUUl9JTklUX0xTQiAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9TUkNfRklGT19QVFJfQ09OX1JHX1NSQ19GSUZPX1dQVFJfSU5JVF9XSURUSCAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgVFhERkVfQkJfU1JDX0ZJRk9fUFRSX0NPTl9SR19TUkNfRklGT19XUFRSX0lOSVRfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDcpCisKKyNkZWZpbmUgVFhERkVfQkJfQzJLX0lTOTVfQ09OX1JHX0MyS19JUzk1X0ZMR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX0JCX0MyS19JUzk1X0NPTl9SR19DMktfSVM5NV9GTEdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWERGRV9CQl9DMktfSVM5NV9DT05fUkdfQzJLX0lTOTVfRkxHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhERkVfQkJfQzJLX0lTOTVfQ09OX1JHX0MyS19JUzk1X0ZMR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjBfUkdfQ1JDX0xFTkdUSF9HMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04wX1JHX0NSQ19MRU5HVEhfRzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjBfUkdfQ1JDX0xFTkdUSF9HMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGMDApCisKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjBfUkdfQ1JDX1BPSU5UX0cwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04wX1JHX0NSQ19QT0lOVF9HMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMF9SR19DUkNfUE9JTlRfRzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA3MCkKKworI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMF9SR19DUkNfRU5fRzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjBfUkdfQ1JDX0VOX0cwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04wX1JHX0NSQ19FTl9HMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMF9SR19DUkNfRU5fRzBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUWERGRV9CQl9DUkNfT1VUX0cwX1JHX0NSQ19PVVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX09VVF9HMF9SR19DUkNfT1VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9DUkNfT1VUX0cwX1JHX0NSQ19PVVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMV9SR19DUkNfTEVOR1RIX0cxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjFfUkdfQ1JDX0xFTkdUSF9HMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMV9SR19DUkNfTEVOR1RIX0cxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkYwMCkKKworI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMV9SR19DUkNfUE9JTlRfRzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjFfUkdfQ1JDX1BPSU5UX0cxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04xX1JHX0NSQ19QT0lOVF9HMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDcwKQorCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04xX1JHX0NSQ19FTl9HMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMV9SR19DUkNfRU5fRzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjFfUkdfQ1JDX0VOX0cxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04xX1JHX0NSQ19FTl9HMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYREZFX0JCX0NSQ19PVVRfRzFfUkdfQ1JDX09VVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9CQl9DUkNfT1VUX0cxX1JHX0NSQ19PVVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFRYREZFX0JCX0NSQ19PVVRfRzFfUkdfQ1JDX09VVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04yX1JHX0NSQ19MRU5HVEhfRzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMl9SR19DUkNfTEVOR1RIX0cwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04yX1JHX0NSQ19MRU5HVEhfRzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRjAwKQorCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04yX1JHX0NSQ19QT0lOVF9HMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMl9SR19DUkNfUE9JTlRfRzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjJfUkdfQ1JDX1BPSU5UX0cwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNzApCisKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjJfUkdfQ1JDX0VOX0cwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX0JCX0NSQ19DT04yX1JHX0NSQ19FTl9HMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWERGRV9CQl9DUkNfQ09OMl9SR19DUkNfRU5fRzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX0NPTjJfUkdfQ1JDX0VOX0cwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX09VVF9HMl9SR19DUkNfT1VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX0JCX0NSQ19PVVRfRzJfUkdfQ1JDX09VVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgVFhERkVfQkJfQ1JDX09VVF9HMl9SR19DUkNfT1VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgVFhERkVfQkJfUENDX0lORk9fUkdfUENDX0lORk9fMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX0JCX1BDQ19JTkZPX1JHX1BDQ19JTkZPXzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBUWERGRV9CQl9QQ0NfSU5GT19SR19QQ0NfSU5GT18wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA3RikKKworI2RlZmluZSBUWERGRV9CQl9QQ0NfQ09OMF9SR19QQ0NfRU5fMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgVFhERkVfQkJfUENDX0NPTjBfUkdfUENDX0VOXzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0JCX1BDQ19DT04wX1JHX1BDQ19FTl8wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBUWERGRV9CQl9QQ0NfQ09OMF9SR19QQ0NfRU5fMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBUWERGRV9CQl9QQ0NfQ09OMF9SR19QQ0NfU0VMXzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfUENDX0NPTjBfUkdfUENDX1NFTF8wX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYREZFX0JCX1BDQ19DT04wX1JHX1BDQ19TRUxfMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIFNFUkRFU19USUNLX0RFTEFZX1NFUkRFU19USUNLX0RFTEFZX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTRVJERVNfVElDS19ERUxBWV9TRVJERVNfVElDS19ERUxBWV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgU0VSREVTX1RJQ0tfREVMQVlfU0VSREVTX1RJQ0tfREVMQVlfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUYpCisKKyNkZWZpbmUgSVJRX1NUQVRVU19UWERGRV9GSUZPX1dJTl9FUlJPUl9JUlFfU1RBVFVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIElSUV9TVEFUVVNfVFhERkVfRklGT19XSU5fRVJST1JfSVJRX1NUQVRVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBJUlFfU1RBVFVTX1RYREZFX0ZJRk9fV0lOX0VSUk9SX0lSUV9TVEFUVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgSVJRX1NUQVRVU19UWERGRV9GSUZPX1dJTl9FUlJPUl9JUlFfU1RBVFVTX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgSVJRX1NUQVRVU19UWERGRV9XSU5fT0ZGX0lSUV9TVEFUVVNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIElSUV9TVEFUVVNfVFhERkVfV0lOX09GRl9JUlFfU1RBVFVTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBJUlFfU1RBVFVTX1RYREZFX1dJTl9PRkZfSVJRX1NUQVRVU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgSVJRX1NUQVRVU19UWERGRV9XSU5fT0ZGX0lSUV9TVEFUVVNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgSVJRX01BU0tfVFhERkVfRklGT19XSU5fRVJST1JfSVJRX01BU0tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIElSUV9NQVNLX1RYREZFX0ZJRk9fV0lOX0VSUk9SX0lSUV9NQVNLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBJUlFfTUFTS19UWERGRV9GSUZPX1dJTl9FUlJPUl9JUlFfTUFTS19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgSVJRX01BU0tfVFhERkVfRklGT19XSU5fRVJST1JfSVJRX01BU0tfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgSVJRX01BU0tfVFhERkVfV0lOX09GRl9JUlFfTUFTS19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIElSUV9NQVNLX1RYREZFX1dJTl9PRkZfSVJRX01BU0tfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBJUlFfTUFTS19UWERGRV9XSU5fT0ZGX0lSUV9NQVNLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgSVJRX01BU0tfVFhERkVfV0lOX09GRl9JUlFfTUFTS19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgSVJRX0NMRUFSX1RYREZFX0ZJRk9fV0lOX0VSUk9SX0lSUV9TVEFUVVNfQ0xFQVJfTFNCICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIElSUV9DTEVBUl9UWERGRV9GSUZPX1dJTl9FUlJPUl9JUlFfU1RBVFVTX0NMRUFSX1dJRFRIICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBJUlFfQ0xFQVJfVFhERkVfRklGT19XSU5fRVJST1JfSVJRX1NUQVRVU19DTEVBUl9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgSVJRX0NMRUFSX1RYREZFX0ZJRk9fV0lOX0VSUk9SX0lSUV9TVEFUVVNfQ0xFQVJfQklUICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgSVJRX0NMRUFSX1RYREZFX1dJTl9PRkZfSVJRX1NUQVRVU19DTEVBUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIElSUV9DTEVBUl9UWERGRV9XSU5fT0ZGX0lSUV9TVEFUVVNfQ0xFQVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBJUlFfQ0xFQVJfVFhERkVfV0lOX09GRl9JUlFfU1RBVFVTX0NMRUFSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgSVJRX0NMRUFSX1RYREZFX1dJTl9PRkZfSVJRX1NUQVRVU19DTEVBUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhERkVfQkJfVEVTVF9TRUxfUkdfVEVTVF9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFRYREZFX0JCX1RFU1RfU0VMX1JHX1RFU1RfRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWERGRV9CQl9URVNUX1NFTF9SR19URVNUX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgVFhERkVfQkJfVEVTVF9TRUxfUkdfVEVTVF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgVFhERkVfQkJfVEVTVF9TRUxfUkdfVEVTVF9TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX0JCX1RFU1RfU0VMX1JHX1RFU1RfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBUWERGRV9CQl9URVNUX1NFTF9SR19URVNUX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfMF9SR19EQkdfMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzBfUkdfREJHXzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfMF9SR19EQkdfMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfMV9SR19EQkdfMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzFfUkdfREJHXzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfMV9SR19EQkdfMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfMl9SR19EQkdfMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzJfUkdfREJHXzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfMl9SR19EQkdfMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfM19SR19EQkdfM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzNfUkdfREJHXzNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfM19SR19EQkdfM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfNF9SR19EQkdfNF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzRfUkdfREJHXzRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfNF9SR19EQkdfNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfNV9SR19EQkdfNV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzVfUkdfREJHXzVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfNV9SR19EQkdfNV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfNl9SR19EQkdfNl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzZfUkdfREJHXzZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfNl9SR19EQkdfNl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfN19SR19EQkdfN19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzdfUkdfREJHXzdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfN19SR19EQkdfN19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfOF9SR19EQkdfOF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzhfUkdfREJHXzhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfOF9SR19EQkdfOF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfOV9SR19EQkdfOV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzlfUkdfREJHXzlfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfOV9SR19EQkdfOV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfMTBfUkdfREJHXzEwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzEwX1JHX0RCR18xMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfMTBfUkdfREJHXzEwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfMTFfUkdfREJHXzExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzExX1JHX0RCR18xMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfMTFfUkdfREJHXzExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfMTJfUkdfREJHXzEyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzEyX1JHX0RCR18xMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfMTJfUkdfREJHXzEyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfMTNfUkdfREJHXzEzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzEzX1JHX0RCR18xM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfMTNfUkdfREJHXzEzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfMTRfUkdfREJHXzE0X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzE0X1JHX0RCR18xNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfMTRfUkdfREJHXzE0X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWERGRV9CQl9EQkdfMTVfUkdfREJHXzE1X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfQkJfREJHXzE1X1JHX0RCR18xNV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWERGRV9CQl9EQkdfMTVfUkdfREJHXzE1X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBGSVJfU1VQX0NPTl9HMF9QQVJUMF9GSVJfU1VQX0xFTl9DVFJMX0cwX1BBUlQwX0xTQiAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRklSX1NVUF9DT05fRzBfUEFSVDBfRklSX1NVUF9MRU5fQ1RSTF9HMF9QQVJUMF9XSURUSCAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBGSVJfU1VQX0NPTl9HMF9QQVJUMF9GSVJfU1VQX0xFTl9DVFJMX0cwX1BBUlQwX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBGSVJfU1VQX0NPTl9HMF9QQVJUMV9GSVJfU1VQX1NFTV9DVFJMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjIpCisjZGVmaW5lIEZJUl9TVVBfQ09OX0cwX1BBUlQxX0ZJUl9TVVBfU0VNX0NUUkxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBGSVJfU1VQX0NPTl9HMF9QQVJUMV9GSVJfU1VQX1NFTV9DVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDQwMDAwMCkKKyNkZWZpbmUgRklSX1NVUF9DT05fRzBfUEFSVDFfRklSX1NVUF9TRU1fQ1RSTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDA0MDAwMDApCisKKyNkZWZpbmUgRklSX1NVUF9DT05fRzBfUEFSVDFfRklSX1NVUF9HQUlOX0cwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBGSVJfU1VQX0NPTl9HMF9QQVJUMV9GSVJfU1VQX0dBSU5fRzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIEZJUl9TVVBfQ09OX0cwX1BBUlQxX0ZJUl9TVVBfR0FJTl9HMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwM0ZGQzAwKQorCisjZGVmaW5lIEZJUl9TVVBfQ09OX0cwX1BBUlQxX0ZJUl9TVVBfTEVOX0NUUkxfRzBfUEFSVDFfTFNCICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBGSVJfU1VQX0NPTl9HMF9QQVJUMV9GSVJfU1VQX0xFTl9DVFJMX0cwX1BBUlQxX1dJRFRIICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgRklSX1NVUF9DT05fRzBfUEFSVDFfRklSX1NVUF9MRU5fQ1RSTF9HMF9QQVJUMV9NQVNLICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDcpCisKKyNkZWZpbmUgVFhERkVfV0lOX1JFR19QUk9URUNUX1JHX1RYREZFX0JCX0FDQ0VTU19SSUdIVF9MU0IgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX1dJTl9SRUdfUFJPVEVDVF9SR19UWERGRV9CQl9BQ0NFU1NfUklHSFRfV0lEVEggICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBUWERGRV9XSU5fUkVHX1BST1RFQ1RfUkdfVFhERkVfQkJfQUNDRVNTX1JJR0hUX01BU0sgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBUUV8wX0NPTl9SR19UUV8wX1RSR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFFfMF9DT05fUkdfVFFfMF9UUkdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRRXzBfQ09OX1JHX1RRXzBfVFJHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRRXzBfQ09OX1JHX1RRXzBfUlNUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUUV8wX0NPTl9SR19UUV8wX1JTVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFFfMF9DT05fUkdfVFFfMF9SU1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgVFFfMF9DT05fUkdfRzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFRRXzBfQ09OX1JHX0cwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgVFFfMF9DT05fUkdfRzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA3RkMpCisKKyNkZWZpbmUgU0VSREVTX1BSRV9FTl9PTl8wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNFUkRFU19QUkVfRU5fT05fMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgU0VSREVTX1BSRV9FTl9PTl8wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMUZGRkYpCisKKyNkZWZpbmUgU0VSREVTX0VOX09GRl8wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNFUkRFU19FTl9PRkZfMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgU0VSREVTX0VOX09GRl8wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMUZGRkYpCisKKyNkZWZpbmUgU0VSREVTX0VOX09OX09GRlNFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNFUkRFU19FTl9PTl9PRkZTRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgU0VSREVTX0VOX09OX09GRlNFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgU0VSREVTX1BSRV9FTl9PRkZfT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNFUkRFU19QUkVfRU5fT0ZGX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgU0VSREVTX1BSRV9FTl9PRkZfT0ZGU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAzRkYpCisKKyNkZWZpbmUgU0VSREVTX1dJTl9FTkFCTEVfU0VSREVTX1BSRV9FTl9PTl8wX0VOQUJMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNFUkRFU19XSU5fRU5BQkxFX1NFUkRFU19QUkVfRU5fT05fMF9FTkFCTEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTRVJERVNfV0lOX0VOQUJMRV9TRVJERVNfUFJFX0VOX09OXzBfRU5BQkxFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBTRVJERVNfV0lOX0VOQUJMRV9TRVJERVNfRU5fT0ZGXzBfRU5BQkxFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgU0VSREVTX1dJTl9FTkFCTEVfU0VSREVTX0VOX09GRl8wX0VOQUJMRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNFUkRFU19XSU5fRU5BQkxFX1NFUkRFU19FTl9PRkZfMF9FTkFCTEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFRYREZFX0RfU0VSREVTX1BSRV9FTl8wX1NXX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWERGRV9EX1NFUkRFU19QUkVfRU5fMF9TV19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhERkVfRF9TRVJERVNfUFJFX0VOXzBfU1dfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhERkVfRF9TRVJERVNfRU5fMF9TV19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX0RfU0VSREVTX0VOXzBfU1dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWERGRV9EX1NFUkRFU19FTl8wX1NXX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUWERGRV9EX0RGRV9XSU5fMF9TV19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhERkVfRF9ERkVfV0lOXzBfU1dfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYREZFX0RfREZFX1dJTl8wX1NXX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisKKworI2VuZGlmIC8vI2RlZmluZSBfQ1BIX1RYREZFX0JCX0RfSF8KZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGh0eHN5c2dsYmNvbmZpZzByZWdfcmVzY3RybC5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHR4c3lzZ2xiY29uZmlnMHJlZ19yZXNjdHJsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmQ5MmFmNgotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGh0eHN5c2dsYmNvbmZpZzByZWdfcmVzY3RybC5oCkBAIC0wLDAgKzEsNDMgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWYgZGVmaW5lZChfX01EOTNfXykKKyNpbmNsdWRlICJjcGh0eHN5c2dsYmNvbmZpZzByZWdfcmVzY3RybF85My5oIgorI2VsaWYgZGVmaW5lZChfX01EOTVfXykKKyNpbmNsdWRlICJjcGh0eHN5c2dsYmNvbmZpZ3JlZzBfOTUuaCIKKyNlbGlmIGRlZmluZWQoX19NRDk3X18pIHx8IGRlZmluZWQoX19NRDk3UF9fKQorI2luY2x1ZGUgImNwaGRmZXN5c2dsYmNvbmZpZ3JlZzAuaCIKKyNlbHNlCisjaW5jbHVkZSAiY3BoZGZlc3lzZ2xiY29uZmlncmVnMC5oIi8qI2Vycm9yICJbRVJST1JdIEludmFsaWQgTUQgZ2VuZXJhdGlvbiIgRm9yIGJ1aWxkIGVycm9yKi8KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHR4c3lzZ2xiY29uZmlnMHJlZ19yZXNjdHJsXzkzLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BodHhzeXNnbGJjb25maWcwcmVnX3Jlc2N0cmxfOTMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNWY5Yzk2Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHR4c3lzZ2xiY29uZmlnMHJlZ19yZXNjdHJsXzkzLmgKQEAgLTAsMCArMSwyNzEgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhfVFhTWVNfR0xCX0NPTjBfUkVHX1JDX0hfCisjZGVmaW5lIF9DUEhfVFhTWVNfR0xCX0NPTjBfUkVHX1JDX0hfCisKKwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogU1JBTUFERFI7ICAgICAgICAgLyogU1JBTSBhZGRyIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBTUkFNREFUQTsgICAgICAgICAvKiBTUkFNIGRhdGEgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIEFQQkFERFI7ICAgICAgICAgIC8qIEFQQiBhZGRyIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgQVBCREFUQTsgICAgICAgICAgLyogQVBCIGRhdGEgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqICBBUEJBRERSMzI7ICAgICAgICAvKiBBUEIgYWRkciBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAgIEFQQkRBVEEzMjsgICAgICAgIC8qIEFQQiBkYXRhIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogRFBSQU1BRERSOyAgICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHNpZ25lZCAgIHNob3J0KiBEUFJBTUFERFJfUzsgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIERQUkFNREFUQTsgICAgICAgIC8qIERQUkFNIGRhdGEgaXMgMTYgYml0cyAqLworCisKKyNkZWZpbmUgVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QTgxOTAwMDApCisKKyNkZWZpbmUgVFhTWVNfR0xCX0NPTl9DT05GSUcwX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDEwMCArIDEqNCkKKworCisKKyNkZWZpbmUgRElWX1RYQlJQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDAwMCkpCisjZGVmaW5lIERJVl9UWENSUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwMDQpKQorI2RlZmluZSBCVVNfVFhCUlBfU1dfQ0tDVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDBjKSkKKyNkZWZpbmUgVFhTWVNfQ0tfRElWX0RCR19TRUwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDAxOCkpCisjZGVmaW5lIERFQlVHX1NFTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwMUMpKQorI2RlZmluZSBERUJVR19XSVRIX0NLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDI0KSkKKyNkZWZpbmUgVFhTWVNfREVCVUdfQlVTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDAyOCkpCisjZGVmaW5lIFRYQlJQX0NDMF9TV19DS0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwMmMpKQorI2RlZmluZSBUWEJSUF9DQzFfU1dfQ0tFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDMwKSkKKyNkZWZpbmUgUkdfU1dfQUREUl9EQVRBX1ZMRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDAzNCkpCisjZGVmaW5lIFRYQlJQMF9TV19SRVNFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwMzgpKQorI2RlZmluZSBUWEJSUDFfU1dfUkVTRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDNjKSkKKyNkZWZpbmUgVFhCUlBfQ0MwX0JVU19DS19TV19DS0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDA0MCkpCisjZGVmaW5lIFRYQlJQX0NDMV9CVVNfQ0tfU1dfQ0tFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwNDQpKQorI2RlZmluZSBUWEJSUF9DQzBfQlVTX0NLX1NXX0NLQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDQ4KSkKKyNkZWZpbmUgVFhCUlBfQ0MxX0JVU19DS19TV19DS0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDA0YykpCisjZGVmaW5lIE1BU0tfVFhCUlAwX0JVUzJYX0NLX0lETEVfRElWICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwNTApKQorI2RlZmluZSBNQVNLX1RYQlJQMV9CVVMyWF9DS19JRExFX0RJViAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDU0KSkKKyNkZWZpbmUgTUFTS19UWENSUF9DS19JRExFX0RJViAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDA1OCkpCisjZGVmaW5lIE1BU0tfVFhCUlBfTUFTX0JVU19JRExFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwNWMpKQorI2RlZmluZSBNQVNLX1RYQlJQX1NMVl9CVVNfSURMRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDYwKSkKKyNkZWZpbmUgVFhDUlBfU1BfV0NSUF9BUEJfU1dfUkVTRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDA2NCkpCisjZGVmaW5lIFRYQ1JQX1JHX1RBUEJfU1dfUkVTRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwNjgpKQorI2RlZmluZSBUWENSUF9SR19DMVhfU1dfUkVTRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDZDKSkKKyNkZWZpbmUgVFhDUlBfUkdfQ0RPX1NXX1JFU0VUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDA3MCkpCisjZGVmaW5lIFRYQ1JQX0NLX1NXX0NLRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwNzQpKQorI2RlZmluZSBUWENSUF9DS19TV19DS0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDc4KSkKKyNkZWZpbmUgU1dfQ0tfSURMRV9ESVYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDA3YykpCisjZGVmaW5lIE1BU0tfTURBT19UWFNZU19JRExFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwODApKQorI2RlZmluZSBSMlRYX1NXX0RJU0FCTEVfSFcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMTAwKSkKKworCisjZGVmaW5lIERJVl9UWEJSUF9ESVZfVFhCUlBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBESVZfVFhCUlBfRElWX1RYQlJQX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgRElWX1RYQlJQX0RJVl9UWEJSUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDMpCisKKyNkZWZpbmUgRElWX1RYQ1JQX0RJVl9UWENSUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERJVl9UWENSUF9ESVZfVFhDUlBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBESVZfVFhDUlBfRElWX1RYQ1JQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMykKKworI2RlZmluZSBCVVNfVFhCUlBfU1dfQ0tDVFJMX0JVU19UWEJSUF9TV19DS0NUUkxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgQlVTX1RYQlJQX1NXX0NLQ1RSTF9CVVNfVFhCUlBfU1dfQ0tDVFJMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIEJVU19UWEJSUF9TV19DS0NUUkxfQlVTX1RYQlJQX1NXX0NLQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBCVVNfVFhCUlBfU1dfQ0tDVFJMX0JVU19UWEJSUF9TV19DS0NUUkxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUWFNZU19DS19ESVZfREJHX1NFTF9UWFNZU19DS19ESVZfREJHX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhTWVNfQ0tfRElWX0RCR19TRUxfVFhTWVNfQ0tfRElWX0RCR19TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYU1lTX0NLX0RJVl9EQkdfU0VMX1RYU1lTX0NLX0RJVl9EQkdfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA3KQorCisjZGVmaW5lIERFQlVHX1NFTF9ERUJVR19TRUxfM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgREVCVUdfU0VMX0RFQlVHX1NFTF8zX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERFQlVHX1NFTF9ERUJVR19TRUxfM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDBGMDAwMDAwKQorCisjZGVmaW5lIERFQlVHX1NFTF9ERUJVR19TRUxfMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgREVCVUdfU0VMX0RFQlVHX1NFTF8yX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERFQlVHX1NFTF9ERUJVR19TRUxfMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEYwMDAwKQorCisjZGVmaW5lIERFQlVHX1NFTF9ERUJVR19TRUxfMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBERUJVR19TRUxfREVCVUdfU0VMXzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgREVCVUdfU0VMX0RFQlVHX1NFTF8xX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDBGMDApCisKKyNkZWZpbmUgREVCVUdfU0VMX0RFQlVHX1NFTF8wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERFQlVHX1NFTF9ERUJVR19TRUxfMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBERUJVR19TRUxfREVCVUdfU0VMXzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBERUJVR19UUklHX1NFTF9ERUJVR19UUklHX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgREVCVUdfVFJJR19TRUxfREVCVUdfVFJJR19TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERFQlVHX1RSSUdfU0VMX0RFQlVHX1RSSUdfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIERFQlVHX1dJVEhfQ0tfREVCVUdfV0lUSF9DS19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBERUJVR19XSVRIX0NLX0RFQlVHX1dJVEhfQ0tfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgREVCVUdfV0lUSF9DS19ERUJVR19XSVRIX0NLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUYpCisKKyNkZWZpbmUgVFhTWVNfREVCVUdfQlVTX1RYU1lTX0RFQlVHX0JVU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYU1lTX0RFQlVHX0JVU19UWFNZU19ERUJVR19CVVNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgVFhTWVNfREVCVUdfQlVTX1RYU1lTX0RFQlVHX0JVU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgVFhCUlBfQ0MwX1NXX0NLRU5fVFhCUlBfQ0MwX1NXX0NLRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYQlJQX0NDMF9TV19DS0VOX1RYQlJQX0NDMF9TV19DS0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9DQzBfU1dfQ0tFTl9UWEJSUF9DQzBfU1dfQ0tFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhCUlBfQ0MwX1NXX0NLRU5fVFhCUlBfQ0MwX1NXX0NLRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhCUlBfQ0MxX1NXX0NLRU5fVFhCUlBfQ0MxX1NXX0NLRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYQlJQX0NDMV9TV19DS0VOX1RYQlJQX0NDMV9TV19DS0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9DQzFfU1dfQ0tFTl9UWEJSUF9DQzFfU1dfQ0tFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhCUlBfQ0MxX1NXX0NLRU5fVFhCUlBfQ0MxX1NXX0NLRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUkdfU1dfQUREUl9EQVRBX1ZMRF9TV19SQUtFX0RBVEFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJHX1NXX0FERFJfREFUQV9WTERfU1dfUkFLRV9EQVRBX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgUkdfU1dfQUREUl9EQVRBX1ZMRF9TV19SQUtFX0RBVEFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwN0ZGMDApCisKKyNkZWZpbmUgUkdfU1dfQUREUl9EQVRBX1ZMRF9TV19SQUtFX0FERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJHX1NXX0FERFJfREFUQV9WTERfU1dfUkFLRV9BRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSR19TV19BRERSX0RBVEFfVkxEX1NXX1JBS0VfQUREUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDBGMCkKKworI2RlZmluZSBSR19TV19BRERSX0RBVEFfVkxEX1NXX1JBS0VfUlNWX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkdfU1dfQUREUl9EQVRBX1ZMRF9TV19SQUtFX1JTVl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFJHX1NXX0FERFJfREFUQV9WTERfU1dfUkFLRV9SU1ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBFKQorCisjZGVmaW5lIFJHX1NXX0FERFJfREFUQV9WTERfU1dfVkxEX1RHTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSR19TV19BRERSX0RBVEFfVkxEX1NXX1ZMRF9UR0xfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkdfU1dfQUREUl9EQVRBX1ZMRF9TV19WTERfVEdMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJHX1NXX0FERFJfREFUQV9WTERfU1dfVkxEX1RHTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYQlJQMF9TV19SRVNFVF9UWEJSUDBfVFhCUlBfU1dfUkVTRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgVFhCUlAwX1NXX1JFU0VUX1RYQlJQMF9UWEJSUF9TV19SRVNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYQlJQMF9TV19SRVNFVF9UWEJSUDBfVFhCUlBfU1dfUkVTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorI2RlZmluZSBUWEJSUDBfU1dfUkVTRVRfVFhCUlAwX1RYQlJQX1NXX1JFU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKworI2RlZmluZSBUWEJSUDBfU1dfUkVTRVRfVFhCUlAwX1RYU1JQX1NXX1JFU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhCUlAwX1NXX1JFU0VUX1RYQlJQMF9UWFNSUF9TV19SRVNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYQlJQMF9TV19SRVNFVF9UWEJSUDBfVFhTUlBfU1dfUkVTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUWEJSUDBfU1dfUkVTRVRfVFhCUlAwX1RYU1JQX1NXX1JFU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUWEJSUDFfU1dfUkVTRVRfVFhCUlAxX1RYQlJQX1NXX1JFU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFRYQlJQMV9TV19SRVNFVF9UWEJSUDFfVFhCUlBfU1dfUkVTRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUDFfU1dfUkVTRVRfVFhCUlAxX1RYQlJQX1NXX1JFU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKyNkZWZpbmUgVFhCUlAxX1NXX1JFU0VUX1RYQlJQMV9UWEJSUF9TV19SRVNFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisKKyNkZWZpbmUgVFhCUlAxX1NXX1JFU0VUX1RYQlJQMV9UWFNSUF9TV19SRVNFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYQlJQMV9TV19SRVNFVF9UWEJSUDFfVFhTUlBfU1dfUkVTRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUDFfU1dfUkVTRVRfVFhCUlAxX1RYU1JQX1NXX1JFU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhCUlAxX1NXX1JFU0VUX1RYQlJQMV9UWFNSUF9TV19SRVNFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhCUlBfQ0MwX0JVU19DS19TV19DS0VOX1RYQlJQX0NDMF9CVVNfQ0tfU1dfQ0tFTl9MU0IgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYQlJQX0NDMF9CVVNfQ0tfU1dfQ0tFTl9UWEJSUF9DQzBfQlVTX0NLX1NXX0NLRU5fV0lEVEggICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9DQzBfQlVTX0NLX1NXX0NLRU5fVFhCUlBfQ0MwX0JVU19DS19TV19DS0VOX01BU0sgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhCUlBfQ0MwX0JVU19DS19TV19DS0VOX1RYQlJQX0NDMF9CVVNfQ0tfU1dfQ0tFTl9CSVQgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhCUlBfQ0MxX0JVU19DS19TV19DS0VOX1RYQlJQX0NDMV9CVVNfQ0tfU1dfQ0tFTl9MU0IgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYQlJQX0NDMV9CVVNfQ0tfU1dfQ0tFTl9UWEJSUF9DQzFfQlVTX0NLX1NXX0NLRU5fV0lEVEggICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9DQzFfQlVTX0NLX1NXX0NLRU5fVFhCUlBfQ0MxX0JVU19DS19TV19DS0VOX01BU0sgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhCUlBfQ0MxX0JVU19DS19TV19DS0VOX1RYQlJQX0NDMV9CVVNfQ0tfU1dfQ0tFTl9CSVQgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhCUlBfQ0MwX0JVU19DS19TV19DS0NUUkxfVFhCUlBfQ0MwX0JVU19DS19TV19DS0NUUkxfTFNCICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYQlJQX0NDMF9CVVNfQ0tfU1dfQ0tDVFJMX1RYQlJQX0NDMF9CVVNfQ0tfU1dfQ0tDVFJMX1dJRFRIICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9DQzBfQlVTX0NLX1NXX0NLQ1RSTF9UWEJSUF9DQzBfQlVTX0NLX1NXX0NLQ1RSTF9NQVNLICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhCUlBfQ0MwX0JVU19DS19TV19DS0NUUkxfVFhCUlBfQ0MwX0JVU19DS19TV19DS0NUUkxfQklUICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhCUlBfQ0MxX0JVU19DS19TV19DS0NUUkxfVFhCUlBfQ0MxX0JVU19DS19TV19DS0NUUkxfTFNCICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYQlJQX0NDMV9CVVNfQ0tfU1dfQ0tDVFJMX1RYQlJQX0NDMV9CVVNfQ0tfU1dfQ0tDVFJMX1dJRFRIICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9DQzFfQlVTX0NLX1NXX0NLQ1RSTF9UWEJSUF9DQzFfQlVTX0NLX1NXX0NLQ1RSTF9NQVNLICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhCUlBfQ0MxX0JVU19DS19TV19DS0NUUkxfVFhCUlBfQ0MxX0JVU19DS19TV19DS0NUUkxfQklUICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgTUFTS19UWEJSUDBfQlVTMlhfQ0tfSURMRV9ESVZfTUFTS19UWEJSUDBfQlVTMlhfQ0tfSURMRV9ESVZfTFNCICAgICAgICAgKDApCisjZGVmaW5lIE1BU0tfVFhCUlAwX0JVUzJYX0NLX0lETEVfRElWX01BU0tfVFhCUlAwX0JVUzJYX0NLX0lETEVfRElWX1dJRFRIICAgICAgICgxKQorI2RlZmluZSBNQVNLX1RYQlJQMF9CVVMyWF9DS19JRExFX0RJVl9NQVNLX1RYQlJQMF9CVVMyWF9DS19JRExFX0RJVl9NQVNLICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgTUFTS19UWEJSUDBfQlVTMlhfQ0tfSURMRV9ESVZfTUFTS19UWEJSUDBfQlVTMlhfQ0tfSURMRV9ESVZfQklUICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgTUFTS19UWEJSUDFfQlVTMlhfQ0tfSURMRV9ESVZfTUFTS19UWEJSUDFfQlVTMlhfQ0tfSURMRV9ESVZfTFNCICAgICAgICAgKDApCisjZGVmaW5lIE1BU0tfVFhCUlAxX0JVUzJYX0NLX0lETEVfRElWX01BU0tfVFhCUlAxX0JVUzJYX0NLX0lETEVfRElWX1dJRFRIICAgICAgICgxKQorI2RlZmluZSBNQVNLX1RYQlJQMV9CVVMyWF9DS19JRExFX0RJVl9NQVNLX1RYQlJQMV9CVVMyWF9DS19JRExFX0RJVl9NQVNLICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgTUFTS19UWEJSUDFfQlVTMlhfQ0tfSURMRV9ESVZfTUFTS19UWEJSUDFfQlVTMlhfQ0tfSURMRV9ESVZfQklUICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgTUFTS19UWENSUF9DS19JRExFX0RJVl9NQVNLX1RYQ1JQX0NLX0lETEVfRElWX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1BU0tfVFhDUlBfQ0tfSURMRV9ESVZfTUFTS19UWENSUF9DS19JRExFX0RJVl9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNQVNLX1RYQ1JQX0NLX0lETEVfRElWX01BU0tfVFhDUlBfQ0tfSURMRV9ESVZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgTUFTS19UWENSUF9DS19JRExFX0RJVl9NQVNLX1RYQ1JQX0NLX0lETEVfRElWX0JJVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgTUFTS19UWEJSUF9NQVNfQlVTX0lETEVfTUFTS19UWEJSUF9NQVNfQlVTX0lETEVfTFNCICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1BU0tfVFhCUlBfTUFTX0JVU19JRExFX01BU0tfVFhCUlBfTUFTX0JVU19JRExFX1dJRFRIICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNQVNLX1RYQlJQX01BU19CVVNfSURMRV9NQVNLX1RYQlJQX01BU19CVVNfSURMRV9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgTUFTS19UWEJSUF9NQVNfQlVTX0lETEVfTUFTS19UWEJSUF9NQVNfQlVTX0lETEVfQklUICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgTUFTS19UWEJSUF9TTFZfQlVTX0lETEVfTUFTS19UWEJSUF9TTFZfQlVTX0lETEVfTFNCICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1BU0tfVFhCUlBfU0xWX0JVU19JRExFX01BU0tfVFhCUlBfU0xWX0JVU19JRExFX1dJRFRIICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNQVNLX1RYQlJQX1NMVl9CVVNfSURMRV9NQVNLX1RYQlJQX1NMVl9CVVNfSURMRV9NQVNLICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgTUFTS19UWEJSUF9TTFZfQlVTX0lETEVfTUFTS19UWEJSUF9TTFZfQlVTX0lETEVfQklUICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhDUlBfU1BfV0NSUF9BUEJfU1dfUkVTRVRfVFhDUlBfU1BfV0NSUF9BUEJfU1dfUkVTRVRfTFNCICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYQ1JQX1NQX1dDUlBfQVBCX1NXX1JFU0VUX1RYQ1JQX1NQX1dDUlBfQVBCX1NXX1JFU0VUX1dJRFRIICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWENSUF9TUF9XQ1JQX0FQQl9TV19SRVNFVF9UWENSUF9TUF9XQ1JQX0FQQl9TV19SRVNFVF9NQVNLICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhDUlBfU1BfV0NSUF9BUEJfU1dfUkVTRVRfVFhDUlBfU1BfV0NSUF9BUEJfU1dfUkVTRVRfQklUICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhDUlBfUkdfVEFQQl9TV19SRVNFVF9UWENSUF9SR19UQVBCX1NXX1JFU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYQ1JQX1JHX1RBUEJfU1dfUkVTRVRfVFhDUlBfUkdfVEFQQl9TV19SRVNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWENSUF9SR19UQVBCX1NXX1JFU0VUX1RYQ1JQX1JHX1RBUEJfU1dfUkVTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhDUlBfUkdfVEFQQl9TV19SRVNFVF9UWENSUF9SR19UQVBCX1NXX1JFU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhDUlBfUkdfQzFYX1NXX1JFU0VUX1RYQ1JQX1JHX0MxWF9TV19SRVNFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYQ1JQX1JHX0MxWF9TV19SRVNFVF9UWENSUF9SR19DMVhfU1dfUkVTRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWENSUF9SR19DMVhfU1dfUkVTRVRfVFhDUlBfUkdfQzFYX1NXX1JFU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhDUlBfUkdfQzFYX1NXX1JFU0VUX1RYQ1JQX1JHX0MxWF9TV19SRVNFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhDUlBfUkdfQ0RPX1NXX1JFU0VUX1RYQ1JQX1JHX0NET19TV19SRVNFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYQ1JQX1JHX0NET19TV19SRVNFVF9UWENSUF9SR19DRE9fU1dfUkVTRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWENSUF9SR19DRE9fU1dfUkVTRVRfVFhDUlBfUkdfQ0RPX1NXX1JFU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhDUlBfUkdfQ0RPX1NXX1JFU0VUX1RYQ1JQX1JHX0NET19TV19SRVNFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhDUlBfQ0tfU1dfQ0tFTl9UWENSUF9DS19TV19DS0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYQ1JQX0NLX1NXX0NLRU5fVFhDUlBfQ0tfU1dfQ0tFTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWENSUF9DS19TV19DS0VOX1RYQ1JQX0NLX1NXX0NLRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhDUlBfQ0tfU1dfQ0tFTl9UWENSUF9DS19TV19DS0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhDUlBfQ0tfU1dfQ0tDVFJMX1RYQ1JQX0NLX1NXX0NLQ1RSTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYQ1JQX0NLX1NXX0NLQ1RSTF9UWENSUF9DS19TV19DS0NUUkxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWENSUF9DS19TV19DS0NUUkxfVFhDUlBfQ0tfU1dfQ0tDVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhDUlBfQ0tfU1dfQ0tDVFJMX1RYQ1JQX0NLX1NXX0NLQ1RSTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgU1dfQ0tfSURMRV9ESVZfU1dfQ0tfSURMRV9ESVZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNXX0NLX0lETEVfRElWX1NXX0NLX0lETEVfRElWX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTV19DS19JRExFX0RJVl9TV19DS19JRExFX0RJVl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgU1dfQ0tfSURMRV9ESVZfU1dfQ0tfSURMRV9ESVZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgTUFTS19NREFPX1RYU1lTX0lETEVfTUFTS19NREFPX1RYU1lTX0lETEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1BU0tfTURBT19UWFNZU19JRExFX01BU0tfTURBT19UWFNZU19JRExFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBNQVNLX01EQU9fVFhTWVNfSURMRV9NQVNLX01EQU9fVFhTWVNfSURMRV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgTUFTS19NREFPX1RYU1lTX0lETEVfTUFTS19NREFPX1RYU1lTX0lETEVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUjJUWF9TV19ESVNBQkxFX0hXX1IyVFhfU1dfRElTQUJMRV9IV19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFIyVFhfU1dfRElTQUJMRV9IV19SMlRYX1NXX0RJU0FCTEVfSFdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSMlRYX1NXX0RJU0FCTEVfSFdfUjJUWF9TV19ESVNBQkxFX0hXX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUjJUWF9TV19ESVNBQkxFX0hXX1IyVFhfU1dfRElTQUJMRV9IV19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKworI2VuZGlmIC8qI2lmbmRlZiBfQ1BIX1RYU1lTX0dMQl9DT04wX1JFR19SQ19IXyovClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHR4c3lzZ2xiY29uZmlnMHJlZ19yZXNjdHJsXzk1LmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BodHhzeXNnbGJjb25maWcwcmVnX3Jlc2N0cmxfOTUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTFjZGE4Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHR4c3lzZ2xiY29uZmlnMHJlZ19yZXNjdHJsXzk1LmgKQEAgLTAsMCArMSwyNzEgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhfVFhTWVNfR0xCX0NPTjBfUkVHX1JDX0hfCisjZGVmaW5lIF9DUEhfVFhTWVNfR0xCX0NPTjBfUkVHX1JDX0hfCisKKwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogU1JBTUFERFI7ICAgICAgICAgLyogU1JBTSBhZGRyIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBTUkFNREFUQTsgICAgICAgICAvKiBTUkFNIGRhdGEgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIEFQQkFERFI7ICAgICAgICAgIC8qIEFQQiBhZGRyIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgQVBCREFUQTsgICAgICAgICAgLyogQVBCIGRhdGEgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqICBBUEJBRERSMzI7ICAgICAgICAvKiBBUEIgYWRkciBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAgIEFQQkRBVEEzMjsgICAgICAgIC8qIEFQQiBkYXRhIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogRFBSQU1BRERSOyAgICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHNpZ25lZCAgIHNob3J0KiBEUFJBTUFERFJfUzsgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIERQUkFNREFUQTsgICAgICAgIC8qIERQUkFNIGRhdGEgaXMgMTYgYml0cyAqLworCisKKyNkZWZpbmUgVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QTgxOTAwMDApCisKKyNkZWZpbmUgVFhTWVNfR0xCX0NPTl9DT05GSUcwX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDEwMCArIDEqNCkKKworCisKKyNkZWZpbmUgRElWX1RYQlJQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDAwMCkpCisjZGVmaW5lIERJVl9UWENSUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwMDQpKQorI2RlZmluZSBCVVNfVFhCUlBfU1dfQ0tDVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDBjKSkKKyNkZWZpbmUgRFVCVUdfU0VMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDAxQykpCisjZGVmaW5lIERVQlVHX1RSSUdfU0VMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwMjApKQorI2RlZmluZSBEVUJVR19XSVRIX0NLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDI0KSkKKyNkZWZpbmUgVFhTWVNfREVCVUdfQlVTX0NGRzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDAyOCkpCisjZGVmaW5lIFRYQlJQX0NDX1NXX0NLRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwMmMpKQorI2RlZmluZSBUWEJSUF9DQzFfU1dfQ0tFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDMwKSkvKjkzc3RheSovCisjZGVmaW5lIFJHX1NXX0FERFJfREFUQV9WTEQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwMzQpKQorI2RlZmluZSBUWEJSUF9TV19SRVNFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDM4KSkKKyNkZWZpbmUgVFhCUlAxX1NXX1JFU0VUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDAzYykpLyo5M3N0YXkqLworI2RlZmluZSBUWEJSUF9DQ19CVVNfQ0tfU1dfQ0tFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDQwKSkKKyNkZWZpbmUgVFhfU1JQX0NSUF9DS19TV19DS0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDA0NCkpCisjZGVmaW5lIFRYQlJQX0NDX0JVU19DS19TV19DS0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwNDgpKQorI2RlZmluZSBUWF9TUlBfQ1JQX0NLX1NXX0NLQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDRjKSkKKyNkZWZpbmUgTUFTS19UWEJSUDBfQlVTMlhfQ0tfSURMRV9ESVYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDA1MCkpLyo5M3N0YXktLSovCisjZGVmaW5lIE1BU0tfVFhCUlAxX0JVUzJYX0NLX0lETEVfRElWICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwNTQpKQorI2RlZmluZSBNQVNLX1RYQ1JQX0NLX0lETEVfRElWICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDU4KSkKKyNkZWZpbmUgTUFTS19UWEJSUF9NQVNfQlVTX0lETEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDA1YykpCisjZGVmaW5lIE1BU0tfVFhCUlBfU0xWX0JVU19JRExFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwNjApKS8qLS05M3N0YXkqLworI2RlZmluZSBUWENSUF9TUF9XQ1JQX0FQQl9TV19SRVNFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDY0KSkKKyNkZWZpbmUgVFhDUlBfUkdfVEFQQl9TV19SRVNFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDA2OCkpCisjZGVmaW5lIFRYQ1JQX1JHX0MxWF9TV19SRVNFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwNkMpKQorI2RlZmluZSBUWENSUF9SR19DRE9fU1dfUkVTRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDcwKSkKKyNkZWZpbmUgVFhDUlBfQ0tfU1dfQ0tFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDA3NCkpCisjZGVmaW5lIFRYQ1JQX0NLX1NXX0NLQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwNzgpKQorI2RlZmluZSBTV19DS19JRExFX0RJViAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDdjKSkvKjkzc3RheS0tKi8KKyNkZWZpbmUgTUFTS19NREFPX1RYU1lTX0lETEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDA4MCkpLyotLTkzc3RheSovCisjZGVmaW5lIFIyVFhfU1dfRElTQUJMRV9IVyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAxMDApKQorCisKKyNkZWZpbmUgRElWX1RYQlJQX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERJVl9UWEJSUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBESVZfVFhCUlBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBESVZfVFhDUlBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRElWX1RYQ1JQX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIERJVl9UWENSUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAzKQorCisjZGVmaW5lIEJVU19UWEJSUF9TV19DS0NUUkxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCVVNfVFhCUlBfU1dfQ0tDVFJMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQlVTX1RYQlJQX1NXX0NLQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEJVU19UWEJSUF9TV19DS0NUUkxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYU1lTX0NLX0RJVl9EQkdfU0VMX1RYU1lTX0NLX0RJVl9EQkdfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKS8qOTNzdGF5LS0qLworI2RlZmluZSBUWFNZU19DS19ESVZfREJHX1NFTF9UWFNZU19DS19ESVZfREJHX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgVFhTWVNfQ0tfRElWX0RCR19TRUxfVFhTWVNfQ0tfRElWX0RCR19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDcpLyotLTkzc3RheSovCisKKyNkZWZpbmUgRFVCVUdfU0VMXzNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI0KQorI2RlZmluZSBEVUJVR19TRUxfM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgRFVCVUdfU0VMXzNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MEYwMDAwMDApCisKKyNkZWZpbmUgRFVCVUdfU0VMXzJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBEVUJVR19TRUxfMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgRFVCVUdfU0VMXzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRjAwMDApCisKKyNkZWZpbmUgRFVCVUdfU0VMXzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIERVQlVHX1NFTF8xX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEVUJVR19TRUxfMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMEYwMCkKKworI2RlZmluZSBEVUJVR19TRUxfMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRFVCVUdfU0VMXzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERVQlVHX1NFTF8wX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIERVQlVHX1RSSUdfU0VMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEVUJVR19UUklHX1NFTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgRFVCVUdfVFJJR19TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgRFVCVUdfV0lUSF9DS19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERVQlVHX1dJVEhfQ0tfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBEVUJVR19XSVRIX0NLX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxRikKKworI2RlZmluZSBUWFNZU19ERUJVR19CVVNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhTWVNfREVCVUdfQlVTX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBUWFNZU19ERUJVR19CVVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBUWEJSUF9DQ19TV19DS0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhCUlBfQ0NfU1dfQ0tFTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYQlJQX0NDX1NXX0NLRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUWEJSUF9DQ19TV19DS0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUWEJSUF9DQzFfU1dfQ0tFTl9UWEJSUF9DQzFfU1dfQ0tFTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkvKjkzc3RheS0tKi8KKyNkZWZpbmUgVFhCUlBfQ0MxX1NXX0NLRU5fVFhCUlBfQ0MxX1NXX0NLRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYQlJQX0NDMV9TV19DS0VOX1RYQlJQX0NDMV9TV19DS0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUWEJSUF9DQzFfU1dfQ0tFTl9UWEJSUF9DQzFfU1dfQ0tFTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkvKi0tOTNzdGF5Ki8KKworI2RlZmluZSBTV19SQUtFX0RBVEFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgU1dfUkFLRV9EQVRBX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBTV19SQUtFX0RBVEFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDA3RkYwMCkKKworI2RlZmluZSBTV19SQUtFX0FERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgU1dfUkFLRV9BRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFNXX1JBS0VfQUREUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEYwKQorCisjZGVmaW5lIFNXX1JBS0VfUlNWX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTV19SQUtFX1JTVl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgU1dfUkFLRV9SU1ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEUpCisKKyNkZWZpbmUgU1dfVkxEX1RHTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNXX1ZMRF9UR0xfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTV19WTERfVEdMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgU1dfVkxEX1RHTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhCUlBfVFhCUlBfU1dfUkVTRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBUWEJSUF9UWEJSUF9TV19SRVNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhCUlBfVFhCUlBfU1dfUkVTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisjZGVmaW5lIFRYQlJQX1RYQlJQX1NXX1JFU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorCisjZGVmaW5lIFRYQlJQX1RYU1JQX1NXX1JFU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWEJSUF9UWFNSUF9TV19SRVNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhCUlBfVFhTUlBfU1dfUkVTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYQlJQX1RYU1JQX1NXX1JFU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYQlJQX0NDX0JVU19DS19TV19DS0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWEJSUF9DQ19CVVNfQ0tfU1dfQ0tFTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhCUlBfQ0NfQlVTX0NLX1NXX0NLRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYQlJQX0NDX0JVU19DS19TV19DS0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYX1NSUF9DUlBfQ0tfU1dfQ0tFTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWF9TUlBfQ1JQX0NLX1NXX0NLRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhfU1JQX0NSUF9DS19TV19DS0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYX1NSUF9DUlBfQ0tfU1dfQ0tFTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYQlJQX0NDX0JVU19DS19TV19DS0NUUkxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWEJSUF9DQ19CVVNfQ0tfU1dfQ0tDVFJMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhCUlBfQ0NfQlVTX0NLX1NXX0NLQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYQlJQX0NDX0JVU19DS19TV19DS0NUUkxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYQlJQX0NDMV9CVVNfQ0tfU1dfQ0tFTl9UWEJSUF9DQzFfQlVTX0NLX1NXX0NLRU5fTFNCICAgICAgICAgICAgICAgICAgICgwKS8qOTNzdGF5LS0qLworI2RlZmluZSBUWEJSUF9DQzFfQlVTX0NLX1NXX0NLRU5fVFhCUlBfQ0MxX0JVU19DS19TV19DS0VOX1dJRFRIICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhCUlBfQ0MxX0JVU19DS19TV19DS0VOX1RYQlJQX0NDMV9CVVNfQ0tfU1dfQ0tFTl9NQVNLICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYQlJQX0NDMV9CVVNfQ0tfU1dfQ0tFTl9UWEJSUF9DQzFfQlVTX0NLX1NXX0NLRU5fQklUICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYQlJQX0NDMF9CVVNfQ0tfU1dfQ0tDVFJMX1RYQlJQX0NDMF9CVVNfQ0tfU1dfQ0tDVFJMX0xTQiAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWEJSUF9DQzBfQlVTX0NLX1NXX0NLQ1RSTF9UWEJSUF9DQzBfQlVTX0NLX1NXX0NLQ1RSTF9XSURUSCAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhCUlBfQ0MwX0JVU19DS19TV19DS0NUUkxfVFhCUlBfQ0MwX0JVU19DS19TV19DS0NUUkxfTUFTSyAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYQlJQX0NDMF9CVVNfQ0tfU1dfQ0tDVFJMX1RYQlJQX0NDMF9CVVNfQ0tfU1dfQ0tDVFJMX0JJVCAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYQlJQX0NDMV9CVVNfQ0tfU1dfQ0tDVFJMX1RYQlJQX0NDMV9CVVNfQ0tfU1dfQ0tDVFJMX0xTQiAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWEJSUF9DQzFfQlVTX0NLX1NXX0NLQ1RSTF9UWEJSUF9DQzFfQlVTX0NLX1NXX0NLQ1RSTF9XSURUSCAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhCUlBfQ0MxX0JVU19DS19TV19DS0NUUkxfVFhCUlBfQ0MxX0JVU19DS19TV19DS0NUUkxfTUFTSyAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYQlJQX0NDMV9CVVNfQ0tfU1dfQ0tDVFJMX1RYQlJQX0NDMV9CVVNfQ0tfU1dfQ0tDVFJMX0JJVCAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIE1BU0tfVFhCUlAwX0JVUzJYX0NLX0lETEVfRElWX01BU0tfVFhCUlAwX0JVUzJYX0NLX0lETEVfRElWX0xTQiAgICAgICAgICgwKQorI2RlZmluZSBNQVNLX1RYQlJQMF9CVVMyWF9DS19JRExFX0RJVl9NQVNLX1RYQlJQMF9CVVMyWF9DS19JRExFX0RJVl9XSURUSCAgICAgICAoMSkKKyNkZWZpbmUgTUFTS19UWEJSUDBfQlVTMlhfQ0tfSURMRV9ESVZfTUFTS19UWEJSUDBfQlVTMlhfQ0tfSURMRV9ESVZfTUFTSyAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIE1BU0tfVFhCUlAwX0JVUzJYX0NLX0lETEVfRElWX01BU0tfVFhCUlAwX0JVUzJYX0NLX0lETEVfRElWX0JJVCAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIE1BU0tfVFhCUlAxX0JVUzJYX0NLX0lETEVfRElWX01BU0tfVFhCUlAxX0JVUzJYX0NLX0lETEVfRElWX0xTQiAgICAgICAgICgwKQorI2RlZmluZSBNQVNLX1RYQlJQMV9CVVMyWF9DS19JRExFX0RJVl9NQVNLX1RYQlJQMV9CVVMyWF9DS19JRExFX0RJVl9XSURUSCAgICAgICAoMSkKKyNkZWZpbmUgTUFTS19UWEJSUDFfQlVTMlhfQ0tfSURMRV9ESVZfTUFTS19UWEJSUDFfQlVTMlhfQ0tfSURMRV9ESVZfTUFTSyAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIE1BU0tfVFhCUlAxX0JVUzJYX0NLX0lETEVfRElWX01BU0tfVFhCUlAxX0JVUzJYX0NLX0lETEVfRElWX0JJVCAgICAgICAgICgweDAwMDAwMDAxKS8qLS05M3N0YXkqLworCisjZGVmaW5lIFRYX1NSUF9DUlBfQ0tfU1dfQ0tDVFJMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWF9TUlBfQ1JQX0NLX1NXX0NLQ1RSTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhfU1JQX0NSUF9DS19TV19DS0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYX1NSUF9DUlBfQ0tfU1dfQ0tDVFJMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIE1BU0tfVFhCUlBfTUFTX0JVU19JRExFX01BU0tfVFhCUlBfTUFTX0JVU19JRExFX0xTQiAgICAgICAgICAgICAgICAgICAgICgwKS8qOTNzdGF5LS0qLworI2RlZmluZSBNQVNLX1RYQlJQX01BU19CVVNfSURMRV9NQVNLX1RYQlJQX01BU19CVVNfSURMRV9XSURUSCAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTUFTS19UWEJSUF9NQVNfQlVTX0lETEVfTUFTS19UWEJSUF9NQVNfQlVTX0lETEVfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIE1BU0tfVFhCUlBfTUFTX0JVU19JRExFX01BU0tfVFhCUlBfTUFTX0JVU19JRExFX0JJVCAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIE1BU0tfVFhCUlBfU0xWX0JVU19JRExFX01BU0tfVFhCUlBfU0xWX0JVU19JRExFX0xTQiAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNQVNLX1RYQlJQX1NMVl9CVVNfSURMRV9NQVNLX1RYQlJQX1NMVl9CVVNfSURMRV9XSURUSCAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTUFTS19UWEJSUF9TTFZfQlVTX0lETEVfTUFTS19UWEJSUF9TTFZfQlVTX0lETEVfTUFTSyAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIE1BU0tfVFhCUlBfU0xWX0JVU19JRExFX01BU0tfVFhCUlBfU0xWX0JVU19JRExFX0JJVCAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKS8qLS05M3N0YXkqLworCisjZGVmaW5lIFRYQ1JQX1NQX1dDUlBfQVBCX1NXX1JFU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWENSUF9TUF9XQ1JQX0FQQl9TV19SRVNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhDUlBfU1BfV0NSUF9BUEJfU1dfUkVTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYQ1JQX1NQX1dDUlBfQVBCX1NXX1JFU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYQ1JQX1JHX1RBUEJfU1dfUkVTRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWENSUF9SR19UQVBCX1NXX1JFU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhDUlBfUkdfVEFQQl9TV19SRVNFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYQ1JQX1JHX1RBUEJfU1dfUkVTRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYQ1JQX1JHX0MxWF9TV19SRVNFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWENSUF9SR19DMVhfU1dfUkVTRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhDUlBfUkdfQzFYX1NXX1JFU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYQ1JQX1JHX0MxWF9TV19SRVNFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYQ1JQX1JHX0NET19TV19SRVNFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWENSUF9SR19DRE9fU1dfUkVTRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhDUlBfUkdfQ0RPX1NXX1JFU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYQ1JQX1JHX0NET19TV19SRVNFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYQ1JQX0NLX1NXX0NLRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWENSUF9DS19TV19DS0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhDUlBfQ0tfU1dfQ0tFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYQ1JQX0NLX1NXX0NLRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYQ1JQX0NLX1NXX0NLQ1RSTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWENSUF9DS19TV19DS0NUUkxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhDUlBfQ0tfU1dfQ0tDVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYQ1JQX0NLX1NXX0NLQ1RSTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNXX0NLX0lETEVfRElWX1NXX0NLX0lETEVfRElWX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKS8qOTNzdGF5LS0qLworI2RlZmluZSBTV19DS19JRExFX0RJVl9TV19DS19JRExFX0RJVl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1dfQ0tfSURMRV9ESVZfU1dfQ0tfSURMRV9ESVZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNXX0NLX0lETEVfRElWX1NXX0NLX0lETEVfRElWX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIE1BU0tfTURBT19UWFNZU19JRExFX01BU0tfTURBT19UWFNZU19JRExFX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNQVNLX01EQU9fVFhTWVNfSURMRV9NQVNLX01EQU9fVFhTWVNfSURMRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgTUFTS19NREFPX1RYU1lTX0lETEVfTUFTS19NREFPX1RYU1lTX0lETEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIE1BU0tfTURBT19UWFNZU19JRExFX01BU0tfTURBT19UWFNZU19JRExFX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKS8qLS05M3N0YXkqLworCisjZGVmaW5lIFIyVFhfU1dfRElTQUJMRV9IV19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSMlRYX1NXX0RJU0FCTEVfSFdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUjJUWF9TV19ESVNBQkxFX0hXX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFIyVFhfU1dfRElTQUJMRV9IV19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisKKyNlbmRpZiAvKiNpZm5kZWYgX0NQSF9UWFNZU19HTEJfQ09OMF9SRUdfUkNfSF8qLwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGh0eHN5c2dsYmNvbmZpZzFyZWdfcmVzY3RybC5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHR4c3lzZ2xiY29uZmlnMXJlZ19yZXNjdHJsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzcxNGFkZQotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGh0eHN5c2dsYmNvbmZpZzFyZWdfcmVzY3RybC5oCkBAIC0wLDAgKzEsNDMgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWYgZGVmaW5lZChfX01EOTNfXykKKyNpbmNsdWRlICJjcGh0eHN5c2dsYmNvbmZpZzFyZWdfcmVzY3RybF85My5oIgorI2VsaWYgZGVmaW5lZChfX01EOTVfXykKKyNpbmNsdWRlICJjcGh0eHN5c2dsYmNvbmZpZzFyZWdfcmVzY3RybF85NS5oIgorI2VsaWYgZGVmaW5lZChfX01EOTdfXykKKyNpbmNsdWRlICJjcGhkZmVzeXNnbGJjb25maWdyZWcxLmgiCisjZWxzZQorI2luY2x1ZGUgImNwaGRmZXN5c2dsYmNvbmZpZ3JlZzEuaCIvKiNlcnJvciAiW0VSUk9SXSBJbnZhbGlkIE1EIGdlbmVyYXRpb24iIEZvciBidWlsZCBlcnJvciovCisjZW5kaWYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BodHhzeXNnbGJjb25maWcxcmVnX3Jlc2N0cmxfOTMuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGh0eHN5c2dsYmNvbmZpZzFyZWdfcmVzY3RybF85My5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg4MjhkMWIKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BodHhzeXNnbGJjb25maWcxcmVnX3Jlc2N0cmxfOTMuaApAQCAtMCwwICsxLDE1MSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NQSF9UWFNZU19HTEJfQ09OMV9SRUdfUkNfSF8KKyNkZWZpbmUgX0NQSF9UWFNZU19HTEJfQ09OMV9SRUdfUkNfSF8KKworCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBTUkFNQUREUjsgICAgICAgICAvKiBTUkFNIGFkZHIgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIFNSQU1EQVRBOyAgICAgICAgIC8qIFNSQU0gZGF0YSBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogQVBCQUREUjsgICAgICAgICAgLyogQVBCIGFkZHIgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBBUEJEQVRBOyAgICAgICAgICAvKiBBUEIgZGF0YSBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyogIEFQQkFERFIzMjsgICAgICAgIC8qIEFQQiBhZGRyIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICAgQVBCREFUQTMyOyAgICAgICAgLyogQVBCIGRhdGEgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBEUFJBTUFERFI7ICAgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgc2lnbmVkICAgc2hvcnQqIERQUkFNQUREUl9TOyAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgRFBSQU1EQVRBOyAgICAgICAgLyogRFBSQU0gZGF0YSBpcyAxNiBiaXRzICovCisKKworI2RlZmluZSBUWFNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhBODRmMDAwMCkKKworI2RlZmluZSBUWFNZU19HTEJfQ09OX0NPTkZJRzFfZW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoVFhTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMTAwICsgMSo0KQorCisKKworI2RlZmluZSBCVVNfQlVTMlhfU1dfQ0tDVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMDE0KSkKKyNkZWZpbmUgQlVTX1RYREZFX1NXX0NLQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSArIDB4MDAxOCkpCisjZGVmaW5lIFRYREZFX1JGX0NLX1NXX0NLRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAwMjQpKQorI2RlZmluZSBUWERGRV9CQl9DS19TV19DS0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMDJjKSkKKyNkZWZpbmUgVFBDX0YyMDhNX0JDTEtfQ0tfU1dfQ0tFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSArIDB4MDAzMCkpCisjZGVmaW5lIFRQQ19GMjA4TV9CQ0xLX0NLX1NXX0NLQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAwNDApKQorI2RlZmluZSBGRERfVFRSX0YxM01fU1dfQ0tFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMDRjKSkKKyNkZWZpbmUgVEREX1RUUl9GNFAzTV9TV19DS0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSArIDB4MDA1NCkpCisjZGVmaW5lIFRYS19GMjA4TV9CQ0xLX0NLX1NXX0NLRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAwNmMpKQorLy9UbyByZW1vdmUgdGhlIHJlZGVmaW5pdGlvbiB3YXJuaW5nLCB0aGUgZm9sbG93aW5nIDIgcmVnaXN0ZXIgYXJlIGFsc28gZGVmaW5lZCBpbiBjcGh0eHN5c2dsYmNvbmZpZzFyZWdfcmVzY3RybC5oLCBuZWVkIHRvIGNoZWNrIHdpdGggREUgaXMgdGhlIENPREEgY29ycmVjdAorLy8jZGVmaW5lIFRYU1lTX0RFQlVHX0JVUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAwNzQpKQorLy8jZGVmaW5lIERFQlVHX1RSSUdfU0VMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAwNzgpKQorI2RlZmluZSBMVEVfVFRSMF9GMTA0TV9TV19DS0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMDdDKSkKKyNkZWZpbmUgTFRFX1RUUjFfRjEwNE1fU1dfQ0tFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSArIDB4MDA4NCkpCisjZGVmaW5lIElOVFJBX0JBTkRfQ0EgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAxMDApKQorCisKKyNkZWZpbmUgQlVTX0JVUzJYX1NXX0NLQ1RSTF9CVVNfQlVTMlhfU1dfQ0tDVFJMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJVU19CVVMyWF9TV19DS0NUUkxfQlVTX0JVUzJYX1NXX0NLQ1RSTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCVVNfQlVTMlhfU1dfQ0tDVFJMX0JVU19CVVMyWF9TV19DS0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQlVTX0JVUzJYX1NXX0NLQ1RSTF9CVVNfQlVTMlhfU1dfQ0tDVFJMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQlVTX1RYREZFX1NXX0NLQ1RSTF9CVVNfVFhERkVfU1dfQ0tDVFJMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJVU19UWERGRV9TV19DS0NUUkxfQlVTX1RYREZFX1NXX0NLQ1RSTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCVVNfVFhERkVfU1dfQ0tDVFJMX0JVU19UWERGRV9TV19DS0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQlVTX1RYREZFX1NXX0NLQ1RSTF9CVVNfVFhERkVfU1dfQ0tDVFJMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhERkVfUkZfQ0tfU1dfQ0tFTl9UWERGRV9SRl9DS19TV19DS0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX1JGX0NLX1NXX0NLRU5fVFhERkVfUkZfQ0tfU1dfQ0tFTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWERGRV9SRl9DS19TV19DS0VOX1RYREZFX1JGX0NLX1NXX0NLRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhERkVfUkZfQ0tfU1dfQ0tFTl9UWERGRV9SRl9DS19TV19DS0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhERkVfQkJfQ0tfU1dfQ0tFTl9UWERGRV9CQl9DS19TV19DS0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX0JCX0NLX1NXX0NLRU5fVFhERkVfQkJfQ0tfU1dfQ0tFTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWERGRV9CQl9DS19TV19DS0VOX1RYREZFX0JCX0NLX1NXX0NLRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhERkVfQkJfQ0tfU1dfQ0tFTl9UWERGRV9CQl9DS19TV19DS0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFBDX0YyMDhNX0JDTEtfQ0tfU1dfQ0tFTl9UUENfRjIwOE1fR0FURURfQkNMS19DS19TV19DS0VOX0xTQiAgICAgICAgICAgKDEpCisjZGVmaW5lIFRQQ19GMjA4TV9CQ0xLX0NLX1NXX0NLRU5fVFBDX0YyMDhNX0dBVEVEX0JDTEtfQ0tfU1dfQ0tFTl9XSURUSCAgICAgICAgICgxKQorI2RlZmluZSBUUENfRjIwOE1fQkNMS19DS19TV19DS0VOX1RQQ19GMjA4TV9HQVRFRF9CQ0xLX0NLX1NXX0NLRU5fTUFTSyAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgVFBDX0YyMDhNX0JDTEtfQ0tfU1dfQ0tFTl9UUENfRjIwOE1fR0FURURfQkNMS19DS19TV19DS0VOX0JJVCAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgVFBDX0YyMDhNX0JDTEtfQ0tfU1dfQ0tFTl9UUENfRjIwOE1fQkNMS19DS19TV19DS0VOX0xTQiAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRQQ19GMjA4TV9CQ0xLX0NLX1NXX0NLRU5fVFBDX0YyMDhNX0JDTEtfQ0tfU1dfQ0tFTl9XSURUSCAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUUENfRjIwOE1fQkNMS19DS19TV19DS0VOX1RQQ19GMjA4TV9CQ0xLX0NLX1NXX0NLRU5fTUFTSyAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFBDX0YyMDhNX0JDTEtfQ0tfU1dfQ0tFTl9UUENfRjIwOE1fQkNMS19DS19TV19DS0VOX0JJVCAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFBDX0YyMDhNX0JDTEtfQ0tfU1dfQ0tDVFJMX1RQQ19GMjA4TV9HQVRFRF9CQ0xLX0NLX1NXX0NLQ1RSTF9MU0IgICAgICAgKDEpCisjZGVmaW5lIFRQQ19GMjA4TV9CQ0xLX0NLX1NXX0NLQ1RSTF9UUENfRjIwOE1fR0FURURfQkNMS19DS19TV19DS0NUUkxfV0lEVEggICAgICgxKQorI2RlZmluZSBUUENfRjIwOE1fQkNMS19DS19TV19DS0NUUkxfVFBDX0YyMDhNX0dBVEVEX0JDTEtfQ0tfU1dfQ0tDVFJMX01BU0sgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgVFBDX0YyMDhNX0JDTEtfQ0tfU1dfQ0tDVFJMX1RQQ19GMjA4TV9HQVRFRF9CQ0xLX0NLX1NXX0NLQ1RSTF9CSVQgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgVFBDX0YyMDhNX0JDTEtfQ0tfU1dfQ0tDVFJMX1RQQ19GMjA4TV9CQ0xLX0NLX1NXX0NLQ1RSTF9MU0IgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRQQ19GMjA4TV9CQ0xLX0NLX1NXX0NLQ1RSTF9UUENfRjIwOE1fQkNMS19DS19TV19DS0NUUkxfV0lEVEggICAgICAgICAgICgxKQorI2RlZmluZSBUUENfRjIwOE1fQkNMS19DS19TV19DS0NUUkxfVFBDX0YyMDhNX0JDTEtfQ0tfU1dfQ0tDVFJMX01BU0sgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFBDX0YyMDhNX0JDTEtfQ0tfU1dfQ0tDVFJMX1RQQ19GMjA4TV9CQ0xLX0NLX1NXX0NLQ1RSTF9CSVQgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgRkREX1RUUl9GMTNNX1NXX0NLRU5fRkREX1RUUl9GMTNNX1NXX0NLRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEZERF9UVFJfRjEzTV9TV19DS0VOX0ZERF9UVFJfRjEzTV9TV19DS0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBGRERfVFRSX0YxM01fU1dfQ0tFTl9GRERfVFRSX0YxM01fU1dfQ0tFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgRkREX1RUUl9GMTNNX1NXX0NLRU5fRkREX1RUUl9GMTNNX1NXX0NLRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVEREX1RUUl9GNFAzTV9TV19DS0VOX1RERF9UVFJfRjRQM01fU1dfQ0tFTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRERF9UVFJfRjRQM01fU1dfQ0tFTl9URERfVFRSX0Y0UDNNX1NXX0NLRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBURERfVFRSX0Y0UDNNX1NXX0NLRU5fVEREX1RUUl9GNFAzTV9TV19DS0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVEREX1RUUl9GNFAzTV9TV19DS0VOX1RERF9UVFJfRjRQM01fU1dfQ0tFTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhLX0YyMDhNX0JDTEtfQ0tfU1dfQ0tFTl9UWEtfRjIwOE1fQkNMS19DS19TV19DS0VOX0xTQiAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYS19GMjA4TV9CQ0xLX0NLX1NXX0NLRU5fVFhLX0YyMDhNX0JDTEtfQ0tfU1dfQ0tFTl9XSURUSCAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEtfRjIwOE1fQkNMS19DS19TV19DS0VOX1RYS19GMjA4TV9CQ0xLX0NLX1NXX0NLRU5fTUFTSyAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhLX0YyMDhNX0JDTEtfQ0tfU1dfQ0tFTl9UWEtfRjIwOE1fQkNMS19DS19TV19DS0VOX0JJVCAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhTWVNfREVCVUdfQlVTX1RYU1lTX0RFQlVHX0JVU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYU1lTX0RFQlVHX0JVU19UWFNZU19ERUJVR19CVVNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgVFhTWVNfREVCVUdfQlVTX1RYU1lTX0RFQlVHX0JVU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgREVCVUdfVFJJR19TRUxfREVCVUdfVFJJR19TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERFQlVHX1RSSUdfU0VMX0RFQlVHX1RSSUdfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBERUJVR19UUklHX1NFTF9ERUJVR19UUklHX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBMVEVfVFRSMF9GMTA0TV9TV19DS0VOX0xURV9UVFIwX0YxMDRNX1NXX0NLRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTFRFX1RUUjBfRjEwNE1fU1dfQ0tFTl9MVEVfVFRSMF9GMTA0TV9TV19DS0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIExURV9UVFIwX0YxMDRNX1NXX0NLRU5fTFRFX1RUUjBfRjEwNE1fU1dfQ0tFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBMVEVfVFRSMF9GMTA0TV9TV19DS0VOX0xURV9UVFIwX0YxMDRNX1NXX0NLRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBMVEVfVFRSMV9GMTA0TV9TV19DS0VOX0xURV9UVFIxX0YxMDRNX1NXX0NLRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTFRFX1RUUjFfRjEwNE1fU1dfQ0tFTl9MVEVfVFRSMV9GMTA0TV9TV19DS0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIExURV9UVFIxX0YxMDRNX1NXX0NLRU5fTFRFX1RUUjFfRjEwNE1fU1dfQ0tFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBMVEVfVFRSMV9GMTA0TV9TV19DS0VOX0xURV9UVFIxX0YxMDRNX1NXX0NLRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBJTlRSQV9CQU5EX0NBX0lOVFJBX0JBTkRfQ0FfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgSU5UUkFfQkFORF9DQV9JTlRSQV9CQU5EX0NBX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIElOVFJBX0JBTkRfQ0FfSU5UUkFfQkFORF9DQV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAzKQorCisKKyNlbmRpZiAvKl9DUEhfVFhTWVNfR0xCX0NPTjFfUkVHX1JDX0hfKi8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BodHhzeXNnbGJjb25maWcxcmVnX3Jlc2N0cmxfOTUuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGh0eHN5c2dsYmNvbmZpZzFyZWdfcmVzY3RybF85NS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg4MjhkMWIKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BodHhzeXNnbGJjb25maWcxcmVnX3Jlc2N0cmxfOTUuaApAQCAtMCwwICsxLDE1MSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NQSF9UWFNZU19HTEJfQ09OMV9SRUdfUkNfSF8KKyNkZWZpbmUgX0NQSF9UWFNZU19HTEJfQ09OMV9SRUdfUkNfSF8KKworCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBTUkFNQUREUjsgICAgICAgICAvKiBTUkFNIGFkZHIgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIFNSQU1EQVRBOyAgICAgICAgIC8qIFNSQU0gZGF0YSBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogQVBCQUREUjsgICAgICAgICAgLyogQVBCIGFkZHIgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBBUEJEQVRBOyAgICAgICAgICAvKiBBUEIgZGF0YSBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyogIEFQQkFERFIzMjsgICAgICAgIC8qIEFQQiBhZGRyIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICAgQVBCREFUQTMyOyAgICAgICAgLyogQVBCIGRhdGEgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBEUFJBTUFERFI7ICAgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgc2lnbmVkICAgc2hvcnQqIERQUkFNQUREUl9TOyAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgRFBSQU1EQVRBOyAgICAgICAgLyogRFBSQU0gZGF0YSBpcyAxNiBiaXRzICovCisKKworI2RlZmluZSBUWFNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhBODRmMDAwMCkKKworI2RlZmluZSBUWFNZU19HTEJfQ09OX0NPTkZJRzFfZW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoVFhTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMTAwICsgMSo0KQorCisKKworI2RlZmluZSBCVVNfQlVTMlhfU1dfQ0tDVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMDE0KSkKKyNkZWZpbmUgQlVTX1RYREZFX1NXX0NLQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSArIDB4MDAxOCkpCisjZGVmaW5lIFRYREZFX1JGX0NLX1NXX0NLRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAwMjQpKQorI2RlZmluZSBUWERGRV9CQl9DS19TV19DS0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMDJjKSkKKyNkZWZpbmUgVFBDX0YyMDhNX0JDTEtfQ0tfU1dfQ0tFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSArIDB4MDAzMCkpCisjZGVmaW5lIFRQQ19GMjA4TV9CQ0xLX0NLX1NXX0NLQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAwNDApKQorI2RlZmluZSBGRERfVFRSX0YxM01fU1dfQ0tFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMDRjKSkKKyNkZWZpbmUgVEREX1RUUl9GNFAzTV9TV19DS0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSArIDB4MDA1NCkpCisjZGVmaW5lIFRYS19GMjA4TV9CQ0xLX0NLX1NXX0NLRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAwNmMpKQorLy9UbyByZW1vdmUgdGhlIHJlZGVmaW5pdGlvbiB3YXJuaW5nLCB0aGUgZm9sbG93aW5nIDIgcmVnaXN0ZXIgYXJlIGFsc28gZGVmaW5lZCBpbiBjcGh0eHN5c2dsYmNvbmZpZzFyZWdfcmVzY3RybC5oLCBuZWVkIHRvIGNoZWNrIHdpdGggREUgaXMgdGhlIENPREEgY29ycmVjdAorLy8jZGVmaW5lIFRYU1lTX0RFQlVHX0JVUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAwNzQpKQorLy8jZGVmaW5lIERFQlVHX1RSSUdfU0VMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAwNzgpKQorI2RlZmluZSBMVEVfVFRSMF9GMTA0TV9TV19DS0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMDdDKSkKKyNkZWZpbmUgTFRFX1RUUjFfRjEwNE1fU1dfQ0tFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSArIDB4MDA4NCkpCisjZGVmaW5lIElOVFJBX0JBTkRfQ0EgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAxMDApKQorCisKKyNkZWZpbmUgQlVTX0JVUzJYX1NXX0NLQ1RSTF9CVVNfQlVTMlhfU1dfQ0tDVFJMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJVU19CVVMyWF9TV19DS0NUUkxfQlVTX0JVUzJYX1NXX0NLQ1RSTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCVVNfQlVTMlhfU1dfQ0tDVFJMX0JVU19CVVMyWF9TV19DS0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQlVTX0JVUzJYX1NXX0NLQ1RSTF9CVVNfQlVTMlhfU1dfQ0tDVFJMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgQlVTX1RYREZFX1NXX0NLQ1RSTF9CVVNfVFhERkVfU1dfQ0tDVFJMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJVU19UWERGRV9TV19DS0NUUkxfQlVTX1RYREZFX1NXX0NLQ1RSTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCVVNfVFhERkVfU1dfQ0tDVFJMX0JVU19UWERGRV9TV19DS0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQlVTX1RYREZFX1NXX0NLQ1RSTF9CVVNfVFhERkVfU1dfQ0tDVFJMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhERkVfUkZfQ0tfU1dfQ0tFTl9UWERGRV9SRl9DS19TV19DS0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX1JGX0NLX1NXX0NLRU5fVFhERkVfUkZfQ0tfU1dfQ0tFTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWERGRV9SRl9DS19TV19DS0VOX1RYREZFX1JGX0NLX1NXX0NLRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhERkVfUkZfQ0tfU1dfQ0tFTl9UWERGRV9SRl9DS19TV19DS0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhERkVfQkJfQ0tfU1dfQ0tFTl9UWERGRV9CQl9DS19TV19DS0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYREZFX0JCX0NLX1NXX0NLRU5fVFhERkVfQkJfQ0tfU1dfQ0tFTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWERGRV9CQl9DS19TV19DS0VOX1RYREZFX0JCX0NLX1NXX0NLRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhERkVfQkJfQ0tfU1dfQ0tFTl9UWERGRV9CQl9DS19TV19DS0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFBDX0YyMDhNX0JDTEtfQ0tfU1dfQ0tFTl9UUENfRjIwOE1fR0FURURfQkNMS19DS19TV19DS0VOX0xTQiAgICAgICAgICAgKDEpCisjZGVmaW5lIFRQQ19GMjA4TV9CQ0xLX0NLX1NXX0NLRU5fVFBDX0YyMDhNX0dBVEVEX0JDTEtfQ0tfU1dfQ0tFTl9XSURUSCAgICAgICAgICgxKQorI2RlZmluZSBUUENfRjIwOE1fQkNMS19DS19TV19DS0VOX1RQQ19GMjA4TV9HQVRFRF9CQ0xLX0NLX1NXX0NLRU5fTUFTSyAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgVFBDX0YyMDhNX0JDTEtfQ0tfU1dfQ0tFTl9UUENfRjIwOE1fR0FURURfQkNMS19DS19TV19DS0VOX0JJVCAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgVFBDX0YyMDhNX0JDTEtfQ0tfU1dfQ0tFTl9UUENfRjIwOE1fQkNMS19DS19TV19DS0VOX0xTQiAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRQQ19GMjA4TV9CQ0xLX0NLX1NXX0NLRU5fVFBDX0YyMDhNX0JDTEtfQ0tfU1dfQ0tFTl9XSURUSCAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUUENfRjIwOE1fQkNMS19DS19TV19DS0VOX1RQQ19GMjA4TV9CQ0xLX0NLX1NXX0NLRU5fTUFTSyAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFBDX0YyMDhNX0JDTEtfQ0tfU1dfQ0tFTl9UUENfRjIwOE1fQkNMS19DS19TV19DS0VOX0JJVCAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFBDX0YyMDhNX0JDTEtfQ0tfU1dfQ0tDVFJMX1RQQ19GMjA4TV9HQVRFRF9CQ0xLX0NLX1NXX0NLQ1RSTF9MU0IgICAgICAgKDEpCisjZGVmaW5lIFRQQ19GMjA4TV9CQ0xLX0NLX1NXX0NLQ1RSTF9UUENfRjIwOE1fR0FURURfQkNMS19DS19TV19DS0NUUkxfV0lEVEggICAgICgxKQorI2RlZmluZSBUUENfRjIwOE1fQkNMS19DS19TV19DS0NUUkxfVFBDX0YyMDhNX0dBVEVEX0JDTEtfQ0tfU1dfQ0tDVFJMX01BU0sgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgVFBDX0YyMDhNX0JDTEtfQ0tfU1dfQ0tDVFJMX1RQQ19GMjA4TV9HQVRFRF9CQ0xLX0NLX1NXX0NLQ1RSTF9CSVQgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgVFBDX0YyMDhNX0JDTEtfQ0tfU1dfQ0tDVFJMX1RQQ19GMjA4TV9CQ0xLX0NLX1NXX0NLQ1RSTF9MU0IgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRQQ19GMjA4TV9CQ0xLX0NLX1NXX0NLQ1RSTF9UUENfRjIwOE1fQkNMS19DS19TV19DS0NUUkxfV0lEVEggICAgICAgICAgICgxKQorI2RlZmluZSBUUENfRjIwOE1fQkNMS19DS19TV19DS0NUUkxfVFBDX0YyMDhNX0JDTEtfQ0tfU1dfQ0tDVFJMX01BU0sgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFBDX0YyMDhNX0JDTEtfQ0tfU1dfQ0tDVFJMX1RQQ19GMjA4TV9CQ0xLX0NLX1NXX0NLQ1RSTF9CSVQgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgRkREX1RUUl9GMTNNX1NXX0NLRU5fRkREX1RUUl9GMTNNX1NXX0NLRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEZERF9UVFJfRjEzTV9TV19DS0VOX0ZERF9UVFJfRjEzTV9TV19DS0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBGRERfVFRSX0YxM01fU1dfQ0tFTl9GRERfVFRSX0YxM01fU1dfQ0tFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgRkREX1RUUl9GMTNNX1NXX0NLRU5fRkREX1RUUl9GMTNNX1NXX0NLRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVEREX1RUUl9GNFAzTV9TV19DS0VOX1RERF9UVFJfRjRQM01fU1dfQ0tFTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRERF9UVFJfRjRQM01fU1dfQ0tFTl9URERfVFRSX0Y0UDNNX1NXX0NLRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBURERfVFRSX0Y0UDNNX1NXX0NLRU5fVEREX1RUUl9GNFAzTV9TV19DS0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVEREX1RUUl9GNFAzTV9TV19DS0VOX1RERF9UVFJfRjRQM01fU1dfQ0tFTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhLX0YyMDhNX0JDTEtfQ0tfU1dfQ0tFTl9UWEtfRjIwOE1fQkNMS19DS19TV19DS0VOX0xTQiAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYS19GMjA4TV9CQ0xLX0NLX1NXX0NLRU5fVFhLX0YyMDhNX0JDTEtfQ0tfU1dfQ0tFTl9XSURUSCAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEtfRjIwOE1fQkNMS19DS19TV19DS0VOX1RYS19GMjA4TV9CQ0xLX0NLX1NXX0NLRU5fTUFTSyAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhLX0YyMDhNX0JDTEtfQ0tfU1dfQ0tFTl9UWEtfRjIwOE1fQkNMS19DS19TV19DS0VOX0JJVCAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhTWVNfREVCVUdfQlVTX1RYU1lTX0RFQlVHX0JVU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYU1lTX0RFQlVHX0JVU19UWFNZU19ERUJVR19CVVNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgVFhTWVNfREVCVUdfQlVTX1RYU1lTX0RFQlVHX0JVU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgREVCVUdfVFJJR19TRUxfREVCVUdfVFJJR19TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERFQlVHX1RSSUdfU0VMX0RFQlVHX1RSSUdfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBERUJVR19UUklHX1NFTF9ERUJVR19UUklHX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBMVEVfVFRSMF9GMTA0TV9TV19DS0VOX0xURV9UVFIwX0YxMDRNX1NXX0NLRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTFRFX1RUUjBfRjEwNE1fU1dfQ0tFTl9MVEVfVFRSMF9GMTA0TV9TV19DS0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIExURV9UVFIwX0YxMDRNX1NXX0NLRU5fTFRFX1RUUjBfRjEwNE1fU1dfQ0tFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBMVEVfVFRSMF9GMTA0TV9TV19DS0VOX0xURV9UVFIwX0YxMDRNX1NXX0NLRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBMVEVfVFRSMV9GMTA0TV9TV19DS0VOX0xURV9UVFIxX0YxMDRNX1NXX0NLRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTFRFX1RUUjFfRjEwNE1fU1dfQ0tFTl9MVEVfVFRSMV9GMTA0TV9TV19DS0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIExURV9UVFIxX0YxMDRNX1NXX0NLRU5fTFRFX1RUUjFfRjEwNE1fU1dfQ0tFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBMVEVfVFRSMV9GMTA0TV9TV19DS0VOX0xURV9UVFIxX0YxMDRNX1NXX0NLRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBJTlRSQV9CQU5EX0NBX0lOVFJBX0JBTkRfQ0FfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgSU5UUkFfQkFORF9DQV9JTlRSQV9CQU5EX0NBX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIElOVFJBX0JBTkRfQ0FfSU5UUkFfQkFORF9DQV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAzKQorCisKKyNlbmRpZiAvKl9DUEhfVFhTWVNfR0xCX0NPTjFfUkVHX1JDX0hfKi8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BodHhzeXNnbGJjb25maWdyZWcwLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BodHhzeXNnbGJjb25maWdyZWcwLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTgyMTU3NgotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGh0eHN5c2dsYmNvbmZpZ3JlZzAuaApAQCAtMCwwICsxLDQyIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmIGRlZmluZWQoX19NRDkzX18pCisjaW5jbHVkZSAiY3BodHhzeXNnbGJjb25maWdyZWcwXzkzLmgiCisjZWxpZiBkZWZpbmVkKF9fTUQ5NV9fKQorI2luY2x1ZGUgImNwaHR4c3lzZ2xiY29uZmlncmVnMF85NS5oIgorI2Vsc2UKKyNlcnJvciAiW0VSUk9SXSBJbnZhbGlkIE1EIGdlbmVyYXRpb24iICAgIC8qIFRoZSBtb2R1bGUgaGF2ZSBkZWxldGUgaW4gOTcsIHdoaWNoIGlzIG1vdmVkIHRvIGRmZXN5c2NvbmZpZ3JlZzAgbW9kdWxlICovCisjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHR4c3lzZ2xiY29uZmlncmVnMF85My5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHR4c3lzZ2xiY29uZmlncmVnMF85My5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzODg3NWMKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BodHhzeXNnbGJjb25maWdyZWcwXzkzLmgKQEAgLTAsMCArMSwyNDYgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhfVFhTWVNfR0xCX0NPTkZJR19IXworI2RlZmluZSBfQ1BIX1RYU1lTX0dMQl9DT05GSUdfSF8KKworCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBTUkFNQUREUjsgICAgICAgICAvKiBTUkFNIGFkZHIgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIFNSQU1EQVRBOyAgICAgICAgIC8qIFNSQU0gZGF0YSBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogQVBCQUREUjsgICAgICAgICAgLyogQVBCIGFkZHIgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBBUEJEQVRBOyAgICAgICAgICAvKiBBUEIgZGF0YSBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyogIEFQQkFERFIzMjsgICAgICAgIC8qIEFQQiBhZGRyIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICAgQVBCREFUQTMyOyAgICAgICAgLyogQVBCIGRhdGEgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBEUFJBTUFERFI7ICAgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgc2lnbmVkICAgc2hvcnQqIERQUkFNQUREUl9TOyAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgRFBSQU1EQVRBOyAgICAgICAgLyogRFBSQU0gZGF0YSBpcyAxNiBiaXRzICovCisKKworI2RlZmluZSBUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhBODE5MDAwMCkKKworI2RlZmluZSBUWFNZU19HTEJfQ09OX0NPTkZJRzBfZW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDYwICsgMSo0KQorCisKKworI2RlZmluZSBESVZfVFhCUlAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDAwKSkKKyNkZWZpbmUgRElWX1RYQ1JQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDAwNCkpCisjZGVmaW5lIEJVU19UWEJSUF9TV19DS0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwMGMpKQorI2RlZmluZSBUWFNZU19DS19ESVZfREJHX1NFTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDE4KSkKKyNkZWZpbmUgRFVCVUdfU0VMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDAxQykpCisjZGVmaW5lIERVQlVHX1RSSUdfU0VMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwMjApKQorI2RlZmluZSBEVUJVR19XSVRIX0NLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDI0KSkKKyNkZWZpbmUgVFhTWVNfREVCVUdfQlVTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDAyOCkpCisjZGVmaW5lIFRYQlJQX0NDMF9TV19DS0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwMmMpKQorI2RlZmluZSBUWEJSUF9DQzFfU1dfQ0tFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDMwKSkKKyNkZWZpbmUgUkdfU1dfQUREUl9EQVRBX1ZMRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDAzNCkpCisjZGVmaW5lIFRYQlJQMF9TV19SRVNFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwMzgpKQorI2RlZmluZSBUWEJSUDFfU1dfUkVTRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDNjKSkKKyNkZWZpbmUgVFhCUlBfQ0MwX0JVU19DS19TV19DS0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDA0MCkpCisjZGVmaW5lIFRYQlJQX0NDMV9CVVNfQ0tfU1dfQ0tFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwNDQpKQorI2RlZmluZSBUWEJSUF9DQzBfQlVTX0NLX1NXX0NLQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDQ4KSkKKyNkZWZpbmUgVFhCUlBfQ0MxX0JVU19DS19TV19DS0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDA0YykpCisjZGVmaW5lIE1BU0tfVFhCUlAwX0JVUzJYX0NLX0lETEVfRElWICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwNTApKQorI2RlZmluZSBNQVNLX1RYQlJQMV9CVVMyWF9DS19JRExFX0RJViAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDU0KSkKKyNkZWZpbmUgTUFTS19UWENSUF9DS19JRExFX0RJViAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDA1OCkpCisjZGVmaW5lIE1BU0tfVFhCUlBfTUFTX0JVU19JRExFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwNWMpKQorI2RlZmluZSBNQVNLX1RYQlJQX1NMVl9CVVNfSURMRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDYwKSkKKyNkZWZpbmUgVFhDUlBfU1BfV0NSUF9BUEJfU1dfUkVTRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDA2NCkpCisjZGVmaW5lIFRYQ1JQX1JHX1RBUEJfU1dfUkVTRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwNjgpKQorI2RlZmluZSBUWENSUF9SR19DMVhfU1dfUkVTRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDZDKSkKKyNkZWZpbmUgVFhDUlBfUkdfQ0RPX1NXX1JFU0VUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDA3MCkpCisjZGVmaW5lIFRYQ1JQX0NLX1NXX0NLRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwNzQpKQorI2RlZmluZSBUWENSUF9DS19TV19DS0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDc4KSkKKyNkZWZpbmUgUjJUWF9TV19ESVNBQkxFX0hXICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDEwMCkpCisKKworI2RlZmluZSBESVZfVFhCUlBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRElWX1RYQlJQX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIERJVl9UWEJSUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAzKQorCisjZGVmaW5lIERJVl9UWENSUF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBESVZfVFhDUlBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgRElWX1RYQ1JQX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDMpCisKKyNkZWZpbmUgQlVTX1RYQlJQX1NXX0NLQ1RSTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIEJVU19UWEJSUF9TV19DS0NUUkxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBCVVNfVFhCUlBfU1dfQ0tDVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgQlVTX1RYQlJQX1NXX0NLQ1RSTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhTWVNfQ0tfRElWX0RCR19TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYU1lTX0NLX0RJVl9EQkdfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBUWFNZU19DS19ESVZfREJHX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMykKKworI2RlZmluZSBEVUJVR19TRUxfM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIERVQlVHX1NFTF8zX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEVUJVR19TRUxfM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwRjAwMDAwMCkKKworI2RlZmluZSBEVUJVR19TRUxfMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIERVQlVHX1NFTF8yX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEVUJVR19TRUxfMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGMDAwMCkKKworI2RlZmluZSBEVUJVR19TRUxfMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgRFVCVUdfU0VMXzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERVQlVHX1NFTF8xX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwRjAwKQorCisjZGVmaW5lIERVQlVHX1NFTF8wX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEVUJVR19TRUxfMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgRFVCVUdfU0VMXzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgRFVCVUdfVFJJR19TRUxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERVQlVHX1RSSUdfU0VMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEVUJVR19UUklHX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBEVUJVR19XSVRIX0NLX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRFVCVUdfV0lUSF9DS19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIERVQlVHX1dJVEhfQ0tfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDFGKQorCisjZGVmaW5lIFRYU1lTX0RFQlVHX0JVU19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWFNZU19ERUJVR19CVVNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFRYU1lTX0RFQlVHX0JVU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFRYQlJQX0NDMF9TV19DS0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWEJSUF9DQzBfU1dfQ0tFTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhCUlBfQ0MwX1NXX0NLRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYQlJQX0NDMF9TV19DS0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYQlJQX0NDMV9TV19DS0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWEJSUF9DQzFfU1dfQ0tFTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhCUlBfQ0MxX1NXX0NLRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYQlJQX0NDMV9TV19DS0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFJHX1NXX0FERFJfREFUQV9WTERfU1dfUkFLRV9EQVRBX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBSR19TV19BRERSX0RBVEFfVkxEX1NXX1JBS0VfREFUQV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFJHX1NXX0FERFJfREFUQV9WTERfU1dfUkFLRV9EQVRBX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDdGRjAwKQorCisjZGVmaW5lIFJHX1NXX0FERFJfREFUQV9WTERfU1dfUkFLRV9BRERSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSR19TV19BRERSX0RBVEFfVkxEX1NXX1JBS0VfQUREUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUkdfU1dfQUREUl9EQVRBX1ZMRF9TV19SQUtFX0FERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwRjApCisKKyNkZWZpbmUgUkdfU1dfQUREUl9EQVRBX1ZMRF9TV19SQUtFX1JTVl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJHX1NXX0FERFJfREFUQV9WTERfU1dfUkFLRV9SU1ZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBSR19TV19BRERSX0RBVEFfVkxEX1NXX1JBS0VfUlNWX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRSkKKworI2RlZmluZSBSR19TV19BRERSX0RBVEFfVkxEX1NXX1ZMRF9UR0xfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUkdfU1dfQUREUl9EQVRBX1ZMRF9TV19WTERfVEdMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFJHX1NXX0FERFJfREFUQV9WTERfU1dfVkxEX1RHTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSR19TV19BRERSX0RBVEFfVkxEX1NXX1ZMRF9UR0xfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBTV19SQUtFX0RBVEFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgU1dfUkFLRV9EQVRBX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBTV19SQUtFX0RBVEFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDA3RkYwMCkKKworI2RlZmluZSBTV19SQUtFX0FERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgU1dfUkFLRV9BRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFNXX1JBS0VfQUREUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEYwKQorCisjZGVmaW5lIFNXX1JBS0VfUlNWX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTV19SQUtFX1JTVl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgU1dfUkFLRV9SU1ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEUpCisKKyNkZWZpbmUgU1dfVkxEX1RHTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNXX1ZMRF9UR0xfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTV19WTERfVEdMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgU1dfVkxEX1RHTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhCUlAwX1RYQlJQX1NXX1JFU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBUWEJSUDBfVFhCUlBfU1dfUkVTRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhCUlAwX1RYQlJQX1NXX1JFU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisjZGVmaW5lIFRYQlJQMF9UWEJSUF9TV19SRVNFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorCisjZGVmaW5lIFRYQlJQMF9UWFNSUF9TV19SRVNFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWEJSUDBfVFhTUlBfU1dfUkVTRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhCUlAwX1RYU1JQX1NXX1JFU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFRYQlJQMF9UWFNSUF9TV19SRVNFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFRYQlJQMV9UWEJSUF9TV19SRVNFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgVFhCUlAxX1RYQlJQX1NXX1JFU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYQlJQMV9UWEJSUF9TV19SRVNFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorI2RlZmluZSBUWEJSUDFfVFhCUlBfU1dfUkVTRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKworI2RlZmluZSBUWEJSUDFfVFhTUlBfU1dfUkVTRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhCUlAxX1RYU1JQX1NXX1JFU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYQlJQMV9UWFNSUF9TV19SRVNFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUWEJSUDFfVFhTUlBfU1dfUkVTRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUWEJSUF9DQzBfQlVTX0NLX1NXX0NLRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhCUlBfQ0MwX0JVU19DS19TV19DS0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYQlJQX0NDMF9CVVNfQ0tfU1dfQ0tFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUWEJSUF9DQzBfQlVTX0NLX1NXX0NLRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUWEJSUF9DQzFfQlVTX0NLX1NXX0NLRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhCUlBfQ0MxX0JVU19DS19TV19DS0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYQlJQX0NDMV9CVVNfQ0tfU1dfQ0tFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUWEJSUF9DQzFfQlVTX0NLX1NXX0NLRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUWEJSUF9DQzBfQlVTX0NLX1NXX0NLQ1RSTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhCUlBfQ0MwX0JVU19DS19TV19DS0NUUkxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYQlJQX0NDMF9CVVNfQ0tfU1dfQ0tDVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUWEJSUF9DQzBfQlVTX0NLX1NXX0NLQ1RSTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUWEJSUF9DQzFfQlVTX0NLX1NXX0NLQ1RSTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgVFhCUlBfQ0MxX0JVU19DS19TV19DS0NUUkxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYQlJQX0NDMV9CVVNfQ0tfU1dfQ0tDVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBUWEJSUF9DQzFfQlVTX0NLX1NXX0NLQ1RSTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBNQVNLX1RYQlJQMF9CVVMyWF9DS19JRExFX0RJVl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTUFTS19UWEJSUDBfQlVTMlhfQ0tfSURMRV9ESVZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1BU0tfVFhCUlAwX0JVUzJYX0NLX0lETEVfRElWX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBNQVNLX1RYQlJQMF9CVVMyWF9DS19JRExFX0RJVl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBNQVNLX1RYQlJQMV9CVVMyWF9DS19JRExFX0RJVl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTUFTS19UWEJSUDFfQlVTMlhfQ0tfSURMRV9ESVZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1BU0tfVFhCUlAxX0JVUzJYX0NLX0lETEVfRElWX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBNQVNLX1RYQlJQMV9CVVMyWF9DS19JRExFX0RJVl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBNQVNLX1RYQ1JQX0NLX0lETEVfRElWX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTUFTS19UWENSUF9DS19JRExFX0RJVl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1BU0tfVFhDUlBfQ0tfSURMRV9ESVZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBNQVNLX1RYQ1JQX0NLX0lETEVfRElWX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBNQVNLX1RYQlJQX01BU19CVVNfSURMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTUFTS19UWEJSUF9NQVNfQlVTX0lETEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1BU0tfVFhCUlBfTUFTX0JVU19JRExFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBNQVNLX1RYQlJQX01BU19CVVNfSURMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBNQVNLX1RYQlJQX1NMVl9CVVNfSURMRV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTUFTS19UWEJSUF9TTFZfQlVTX0lETEVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIE1BU0tfVFhCUlBfU0xWX0JVU19JRExFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBNQVNLX1RYQlJQX1NMVl9CVVNfSURMRV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBSMlRYX1NXX0RJU0FCTEVfSFdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUjJUWF9TV19ESVNBQkxFX0hXX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFIyVFhfU1dfRElTQUJMRV9IV19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBSMlRYX1NXX0RJU0FCTEVfSFdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2VuZGlmIC8vI2lmbmRlZiBfQ1BIX1RYU1lTX0dMQl9DT05GSUdfSF8KZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGh0eHN5c2dsYmNvbmZpZ3JlZzBfOTUuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGh0eHN5c2dsYmNvbmZpZ3JlZzBfOTUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OTJmYjEwCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHR4c3lzZ2xiY29uZmlncmVnMF85NS5oCkBAIC0wLDAgKzEsMjIxIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfQ1BIX1RYU1lTX0dMQl9DT05GSUdfSF8KKyNkZWZpbmUgX0NQSF9UWFNZU19HTEJfQ09ORklHX0hfCisKKwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogU1JBTUFERFI7ICAgICAgICAgLyogU1JBTSBhZGRyIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBTUkFNREFUQTsgICAgICAgICAvKiBTUkFNIGRhdGEgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIEFQQkFERFI7ICAgICAgICAgIC8qIEFQQiBhZGRyIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgQVBCREFUQTsgICAgICAgICAgLyogQVBCIGRhdGEgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqICBBUEJBRERSMzI7ICAgICAgICAvKiBBUEIgYWRkciBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAgIEFQQkRBVEEzMjsgICAgICAgIC8qIEFQQiBkYXRhIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogRFBSQU1BRERSOyAgICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHNpZ25lZCAgIHNob3J0KiBEUFJBTUFERFJfUzsgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIERQUkFNREFUQTsgICAgICAgIC8qIERQUkFNIGRhdGEgaXMgMTYgYml0cyAqLworCisKKyNkZWZpbmUgVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QTgxOTAwMDApCisKKyNkZWZpbmUgVFhTWVNfR0xCX0NPTl9DT05GSUcwX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDEwMCArIDEqNCkKKworCisjZGVmaW5lIERJVl9UWEJSUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwMDApKQorI2RlZmluZSBESVZfVFhDUlAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDA0KSkKKyNkZWZpbmUgQlVTX1RYQlJQX1NXX0NLQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDAwYykpCisjZGVmaW5lIERVQlVHX1NFTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwMUMpKQorI2RlZmluZSBEVUJVR19UUklHX1NFTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDIwKSkKKyNkZWZpbmUgRFVCVUdfV0lUSF9DSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDAyNCkpCisjZGVmaW5lIFRYU1lTX0RFQlVHX0JVU19DRkcwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwMjgpKQorI2RlZmluZSBUWEJSUF9DQ19TV19DS0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDJjKSkKKyNkZWZpbmUgUkdfU1dfQUREUl9EQVRBX1ZMRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDAzNCkpCisjZGVmaW5lIFRYQlJQX1NXX1JFU0VUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwMzgpKQorI2RlZmluZSBUWEJSUF9DQ19CVVNfQ0tfU1dfQ0tFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDQwKSkKKyNkZWZpbmUgVFhfU1JQX0NSUF9DS19TV19DS0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDA0NCkpCisjZGVmaW5lIFRYQlJQX0NDX0JVU19DS19TV19DS0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwNDgpKQorI2RlZmluZSBUWF9TUlBfQ1JQX0NLX1NXX0NLQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDRjKSkKKyNkZWZpbmUgVFhDUlBfU1BfV0NSUF9BUEJfU1dfUkVTRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDA2NCkpCisjZGVmaW5lIFRYQ1JQX1JHX1RBUEJfU1dfUkVTRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwNjgpKQorI2RlZmluZSBUWENSUF9SR19DMVhfU1dfUkVTRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDZDKSkKKyNkZWZpbmUgVFhDUlBfUkdfQ0RPX1NXX1JFU0VUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDA3MCkpCisjZGVmaW5lIFRYQ1JQX0NLX1NXX0NLRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzBfUkVHX0JBU0UgKyAweDAwNzQpKQorI2RlZmluZSBUWENSUF9DS19TV19DS0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcwX1JFR19CQVNFICsgMHgwMDc4KSkKKyNkZWZpbmUgUjJUWF9TV19ESVNBQkxFX0hXICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMF9SRUdfQkFTRSArIDB4MDEwMCkpCisKKyNkZWZpbmUgRElWX1RYQlJQX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERJVl9UWEJSUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBESVZfVFhCUlBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBESVZfVFhDUlBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRElWX1RYQ1JQX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIERJVl9UWENSUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAzKQorCisjZGVmaW5lIEJVU19UWEJSUF9TV19DS0NUUkxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBCVVNfVFhCUlBfU1dfQ0tDVFJMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgQlVTX1RYQlJQX1NXX0NLQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIEJVU19UWEJSUF9TV19DS0NUUkxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERVQlVHX1NFTF8zX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgRFVCVUdfU0VMXzNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERVQlVHX1NFTF8zX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDBGMDAwMDAwKQorCisjZGVmaW5lIERVQlVHX1NFTF8yX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgRFVCVUdfU0VMXzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIERVQlVHX1NFTF8yX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEYwMDAwKQorCisjZGVmaW5lIERVQlVHX1NFTF8xX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBEVUJVR19TRUxfMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgRFVCVUdfU0VMXzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDBGMDApCisKKyNkZWZpbmUgRFVCVUdfU0VMXzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIERVQlVHX1NFTF8wX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBEVUJVR19TRUxfMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBEVUJVR19UUklHX1NFTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRFVCVUdfVFJJR19TRUxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIERVQlVHX1RSSUdfU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIERVQlVHX1dJVEhfQ0tfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBEVUJVR19XSVRIX0NLX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgRFVCVUdfV0lUSF9DS19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMUYpCisKKyNkZWZpbmUgVFhTWVNfREVCVUdfQlVTX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYU1lTX0RFQlVHX0JVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgVFhTWVNfREVCVUdfQlVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgVFhCUlBfQ0NfU1dfQ0tFTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYQlJQX0NDX1NXX0NLRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9DQ19TV19DS0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhCUlBfQ0NfU1dfQ0tFTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUkdfU1dfQUREUl9EQVRBX1ZMRF9TV19SQUtFX0RBVEFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFJHX1NXX0FERFJfREFUQV9WTERfU1dfUkFLRV9EQVRBX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgUkdfU1dfQUREUl9EQVRBX1ZMRF9TV19SQUtFX0RBVEFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwN0ZGMDApCisKKyNkZWZpbmUgUkdfU1dfQUREUl9EQVRBX1ZMRF9TV19SQUtFX0FERFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFJHX1NXX0FERFJfREFUQV9WTERfU1dfUkFLRV9BRERSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBSR19TV19BRERSX0RBVEFfVkxEX1NXX1JBS0VfQUREUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDBGMCkKKworI2RlZmluZSBSR19TV19BRERSX0RBVEFfVkxEX1NXX1JBS0VfUlNWX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkdfU1dfQUREUl9EQVRBX1ZMRF9TV19SQUtFX1JTVl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFJHX1NXX0FERFJfREFUQV9WTERfU1dfUkFLRV9SU1ZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBFKQorCisjZGVmaW5lIFJHX1NXX0FERFJfREFUQV9WTERfU1dfVkxEX1RHTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBSR19TV19BRERSX0RBVEFfVkxEX1NXX1ZMRF9UR0xfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUkdfU1dfQUREUl9EQVRBX1ZMRF9TV19WTERfVEdMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJHX1NXX0FERFJfREFUQV9WTERfU1dfVkxEX1RHTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNXX1JBS0VfREFUQV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBTV19SQUtFX0RBVEFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFNXX1JBS0VfREFUQV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDdGRjAwKQorCisjZGVmaW5lIFNXX1JBS0VfQUREUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBTV19SQUtFX0FERFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgU1dfUkFLRV9BRERSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwRjApCisKKyNkZWZpbmUgU1dfUkFLRV9SU1ZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNXX1JBS0VfUlNWX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBTV19SQUtFX1JTVl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRSkKKworI2RlZmluZSBTV19WTERfVEdMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1dfVkxEX1RHTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNXX1ZMRF9UR0xfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBTV19WTERfVEdMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBUWEJSUF9UWEJSUF9TV19SRVNFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFRYQlJQX1RYQlJQX1NXX1JFU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9UWEJSUF9TV19SRVNFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMCkKKyNkZWZpbmUgVFhCUlBfVFhCUlBfU1dfUkVTRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisKKyNkZWZpbmUgVFhCUlBfVFhTUlBfU1dfUkVTRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYQlJQX1RYU1JQX1NXX1JFU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9UWFNSUF9TV19SRVNFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhCUlBfVFhTUlBfU1dfUkVTRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhCUlBfQ0NfQlVTX0NLX1NXX0NLRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYQlJQX0NDX0JVU19DS19TV19DS0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9DQ19CVVNfQ0tfU1dfQ0tFTl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhCUlBfQ0NfQlVTX0NLX1NXX0NLRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhfU1JQX0NSUF9DS19TV19DS0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYX1NSUF9DUlBfQ0tfU1dfQ0tFTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWF9TUlBfQ1JQX0NLX1NXX0NLRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhfU1JQX0NSUF9DS19TV19DS0VOX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhCUlBfQ0NfQlVTX0NLX1NXX0NLQ1RSTF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYQlJQX0NDX0JVU19DS19TV19DS0NUUkxfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWEJSUF9DQ19CVVNfQ0tfU1dfQ0tDVFJMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhCUlBfQ0NfQlVTX0NLX1NXX0NLQ1RSTF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhfU1JQX0NSUF9DS19TV19DS0NUUkxfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYX1NSUF9DUlBfQ0tfU1dfQ0tDVFJMX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWF9TUlBfQ1JQX0NLX1NXX0NLQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhfU1JQX0NSUF9DS19TV19DS0NUUkxfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhDUlBfU1BfV0NSUF9BUEJfU1dfUkVTRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYQ1JQX1NQX1dDUlBfQVBCX1NXX1JFU0VUX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWENSUF9TUF9XQ1JQX0FQQl9TV19SRVNFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhDUlBfU1BfV0NSUF9BUEJfU1dfUkVTRVRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhDUlBfUkdfVEFQQl9TV19SRVNFVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYQ1JQX1JHX1RBUEJfU1dfUkVTRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWENSUF9SR19UQVBCX1NXX1JFU0VUX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhDUlBfUkdfVEFQQl9TV19SRVNFVF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhDUlBfUkdfQzFYX1NXX1JFU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYQ1JQX1JHX0MxWF9TV19SRVNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWENSUF9SR19DMVhfU1dfUkVTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhDUlBfUkdfQzFYX1NXX1JFU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhDUlBfUkdfQ0RPX1NXX1JFU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYQ1JQX1JHX0NET19TV19SRVNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWENSUF9SR19DRE9fU1dfUkVTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhDUlBfUkdfQ0RPX1NXX1JFU0VUX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhDUlBfQ0tfU1dfQ0tFTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYQ1JQX0NLX1NXX0NLRU5fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWENSUF9DS19TV19DS0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhDUlBfQ0tfU1dfQ0tFTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgVFhDUlBfQ0tfU1dfQ0tDVFJMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYQ1JQX0NLX1NXX0NLQ1RSTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWENSUF9DS19TV19DS0NUUkxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgVFhDUlBfQ0tfU1dfQ0tDVFJMX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgUjJUWF9TV19ESVNBQkxFX0hXX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFIyVFhfU1dfRElTQUJMRV9IV19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBSMlRYX1NXX0RJU0FCTEVfSFdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgUjJUWF9TV19ESVNBQkxFX0hXX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZW5kaWYgLy8jaWZuZGVmIF9DUEhfVFhTWVNfR0xCX0NPTkZJR19IXwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHR4c3lzZ2xiY29uZmlncmVnMS5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHR4c3lzZ2xiY29uZmlncmVnMS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjZTYzNjYKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BodHhzeXNnbGJjb25maWdyZWcxLmgKQEAgLTAsMCArMSw0MyBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiBkZWZpbmVkKF9fTUQ5M19fKQorI2luY2x1ZGUgImNwaHR4c3lzZ2xiY29uZmlncmVnMV85My5oIgorI2VsaWYgZGVmaW5lZChfX01EOTVfXykKKyNpbmNsdWRlICJjcGh0eHN5c2dsYmNvbmZpZ3JlZzFfOTUuaCIKKyNlbHNlCisjZXJyb3IgIltFUlJPUl0gSW52YWxpZCBNRCBnZW5lcmF0aW9uIiAgLyogVGhlIG1vZHVsZSBoYXZlIGRlbGV0ZSBpbiA5Nywgd2hpY2ggaXMgbW92ZWQgdG8gZGZlc3lzY29uZmlncmVnMSBtb2R1bGUgKi8KKyNlbmRpZgorCisKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGh0eHN5c2dsYmNvbmZpZ3JlZzFfOTMuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9IVy9jcGh0eHN5c2dsYmNvbmZpZ3JlZzFfOTMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMzYxM2IwCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHR4c3lzZ2xiY29uZmlncmVnMV85My5oCkBAIC0wLDAgKzEsODIgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhfVFhTWVNfR0xCQ09OX0NPTkZJRzFfSF8KKyNkZWZpbmUgX0NQSF9UWFNZU19HTEJDT05fQ09ORklHMV9IXworCisKK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIFNSQU1BRERSOyAgICAgICAgIC8qIFNSQU0gYWRkciBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgU1JBTURBVEE7ICAgICAgICAgLyogU1JBTSBkYXRhIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBBUEJBRERSOyAgICAgICAgICAvKiBBUEIgYWRkciBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIEFQQkRBVEE7ICAgICAgICAgIC8qIEFQQiBkYXRhIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nKiAgQVBCQUREUjMyOyAgICAgICAgLyogQVBCIGFkZHIgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgICBBUEJEQVRBMzI7ICAgICAgICAvKiBBUEIgZGF0YSBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIERQUkFNQUREUjsgICAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSBzaWduZWQgICBzaG9ydCogRFBSQU1BRERSX1M7ICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBEUFJBTURBVEE7ICAgICAgICAvKiBEUFJBTSBkYXRhIGlzIDE2IGJpdHMgKi8KKworCisjZGVmaW5lIFRYU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEE4NGYwMDAwKQorCisKKyNkZWZpbmUgVFhTWVNfR0xCX0NPTl9DT05GSUcxX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFRYU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSArIDB4MDA4OCkKKworCisKKworI2RlZmluZSBCVVNfQlVTXzJYX1NXX0NLQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSArIDB4MDAxNCkpCisjZGVmaW5lIEJVU19UWERGRV9TV19DS0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMDE4KSkKKyNkZWZpbmUgVFhERkVfUkZfQ0tfU1dfQ0tFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAwMjQpKQorI2RlZmluZSBUWERGRV9SRl9CQlRYX0NLX1NXX0NLRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSArIDB4MDAyOCkpCisjZGVmaW5lIFRYREZFX0JCX0NLX1NXX0NLRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMDJDKSkKKyNkZWZpbmUgVFBDX0YyMDhNX0JDTEtfQ0tfU1dfQ0tFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAwMzApKQorI2RlZmluZSBUWERGRV9SRl9DS19TV19DS0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSArIDB4MDAzNCkpCisjZGVmaW5lIFRYREZFX1JGX0JCVFhfQ0tfU1dfQ0tDVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMDM4KSkKKyNkZWZpbmUgVFhERkVfQkJfQ0tfU1dfQ0tDVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAwM2MpKQorI2RlZmluZSBUUENfRjIwOE1fQkNMS19DS19TV19DS0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSArIDB4MDA0MCkpCisjZGVmaW5lIEZERF9UVFJfRjEzTV9TV19DS0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMDRjKSkKKyNkZWZpbmUgRkREX1RUUl9GMTNNX1NXX0NLQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAwNTApKQorI2RlZmluZSBURERfVFRSX0Y0UDNNX1NXX0NLRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSArIDB4MDA1NCkpCisjZGVmaW5lIFRERF9UVFJfRjRQM01fU1dfQ0tDVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMDU4KSkKKyNkZWZpbmUgVFhLX0YyMDhNX0JDTEtfQ0tfU1dfQ0tFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAwNmMpKQorI2RlZmluZSBUWEtfRjIwOE1fQkNMS19DS19TV19DS0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSArIDB4MDA3MCkpCisjZGVmaW5lIFRYU1lTX0RFQlVHX0JVU19DRkcxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMDc0KSkKKyNkZWZpbmUgTFRFX1RUUjBfRjEwNE1fU1dfQ0tFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAwN2MpKQorI2RlZmluZSBMVEVfVFRSMF9GMTA0TV9TV19DS0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSArIDB4MDA4MCkpCisjZGVmaW5lIExURV9UVFIxX0YxMDRNX1NXX0NLRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMDg0KSkKKyNkZWZpbmUgTFRFX1RUUjFfRjEwNE1fU1dfQ0tDVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAwODgpKQorI2RlZmluZSBJTlRSQV9CQU5EX0NBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSArIDB4MDEwMCkpCisKKyNlbmRpZiAKKwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHR4c3lzZ2xiY29uZmlncmVnMV85NS5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL0hXL2NwaHR4c3lzZ2xiY29uZmlncmVnMV85NS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjYzE1OTIKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vSFcvY3BodHhzeXNnbGJjb25maWdyZWcxXzk1LmgKQEAgLTAsMCArMSw3OSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NQSF9UWFNZU19HTEJDT05fQ09ORklHMV9IXworI2RlZmluZSBfQ1BIX1RYU1lTX0dMQkNPTl9DT05GSUcxX0hfCisKKwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogU1JBTUFERFI7ICAgICAgICAgLyogU1JBTSBhZGRyIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBTUkFNREFUQTsgICAgICAgICAvKiBTUkFNIGRhdGEgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIEFQQkFERFI7ICAgICAgICAgIC8qIEFQQiBhZGRyIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgQVBCREFUQTsgICAgICAgICAgLyogQVBCIGRhdGEgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqICBBUEJBRERSMzI7ICAgICAgICAvKiBBUEIgYWRkciBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAgIEFQQkRBVEEzMjsgICAgICAgIC8qIEFQQiBkYXRhIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogRFBSQU1BRERSOyAgICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHNpZ25lZCAgIHNob3J0KiBEUFJBTUFERFJfUzsgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIERQUkFNREFUQTsgICAgICAgIC8qIERQUkFNIGRhdGEgaXMgMTYgYml0cyAqLworCisKKyNkZWZpbmUgVFhTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QTg0ZjAwMDApCisKKworI2RlZmluZSBUWFNZU19HTEJfQ09OX0NPTkZJRzFfZW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoVFhTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMDk0ICsgMSo0KQorCisKKworCisjZGVmaW5lIEJVU19CVVNfMlhfU1dfQ0tDVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMDE0KSkKKyNkZWZpbmUgQlVTX1RYREZFX1NXX0NLQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAwMTgpKQorI2RlZmluZSBUWERGRV9SRl9DS19TV19DS0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSArIDB4MDAyNCkpCisjZGVmaW5lIFRYREZFX0JCX0NLX1NXX0NLRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMDJDKSkKKyNkZWZpbmUgVFBDX0YyMDhNX0JDTEtfQ0tfU1dfQ0tFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAwMzApKQorI2RlZmluZSBUUENfRjIwOE1fQkNMS19DS19TV19DS0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSArIDB4MDA0MCkpCisjZGVmaW5lIEZERF9UVFJfRjEzTV9TV19DS0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMDRjKSkKKyNkZWZpbmUgVEREX1RUUl9GNFAzTV9TV19DS0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAwNTQpKQorI2RlZmluZSBUWEtfRjIwOE1fQkNMS19DS19TV19DS0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSArIDB4MDA2YykpCisjZGVmaW5lIFRYRVRfRjIwOE1fQkNMS19DS19TV19DS0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMDcwKSkKKyNkZWZpbmUgVFhTWVNfREVCVUdfQlVTX0NGRzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAwNzQpKQorI2RlZmluZSBUWFNZU19ERUJVR19UUklHX1NFTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSArIDB4MDA3OCkpCisjZGVmaW5lIExURV9UVFIwX0YxMDRNX1NXX0NLRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMDdjKSkKKyNkZWZpbmUgTFRFX1RUUjFfRjEwNE1fU1dfQ0tFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAwODQpKQorI2RlZmluZSBMVEVfVFRSMl9GMTA0TV9TV19DS0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSArIDB4MDA4OCkpCisjZGVmaW5lIEFNU0NfUkVGX0IwX1NXX0NLQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoVFhTWVNfR0xCX0NPTl9DT05GSUcxX1JFR19CQVNFICsgMHgwMDhjKSkKKyNkZWZpbmUgQU1TQ19SRUZfQjFfU1dfQ0tDVFJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShUWFNZU19HTEJfQ09OX0NPTkZJRzFfUkVHX0JBU0UgKyAweDAwOTApKQorI2RlZmluZSBBTVNDX0NLX1NXX0NLRU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFRYU1lTX0dMQl9DT05fQ09ORklHMV9SRUdfQkFTRSArIDB4MDA5NCkpCisKKworI2VuZGlmIAorCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vYzJrX2RtYV9tb2RlbF9hcGkuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jMmtfZG1hX21vZGVsX2FwaS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk4NTQxODIKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vYzJrX2RtYV9tb2RlbF9hcGkuaApAQCAtMCwwICsxLDEwMiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDA1CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqICBjMmtfZG1hX21vZGVsX2FwaS5oCisgKgorICogUHJvamVjdDoKKyAqIC0tLS0tLS0tCisgKiAgIEMySworICoKKyAqIERlc2NyaXB0aW9uOgorICogLS0tLS0tLS0tLS0tCisgKiBDMksgRE1BIGhhcmR3YXJlIG1vZGVsIGFwaSBoZWFkZXIgZmlsZQorICoKKyAqIEF1dGhvcjoKKyAqIC0tLS0tLS0KKyAqIC0tLS0tLS0KKyAqCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqICAgICAgICAgICAgIEhJU1RPUlkKKyAqIEJlbG93IHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogVXBwZXIgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DMktfRE1BX01PREVMX0FQSV9ICisjZGVmaW5lIF9DMktfRE1BX01PREVMX0FQSV9ICisgCisjaW5jbHVkZSAgImthbF9nZW5lcmFsX3R5cGVzLmgiCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0qKgorKiogUmVnaXN0ZXIgQWNjZXNzICoqCisqKi0tLS0tLS0tLS0tLS0tLS0tKi8KKworZXh0ZXJuIHZvaWQgaHdkX3dyaXRlKGthbF91aW50MzIgcmVnLCBrYWxfaW50MTYgZGF0YSk7CitleHRlcm4ga2FsX2ludDE2IGh3ZF9yZWFkKGthbF91aW50MzIgcmVnKTsKK2V4dGVybiB2b2lkIGh3ZF9zZXRfYml0KGthbF91aW50MzIgcmVnLCBrYWxfdWludDMyIGJpdF9tYXNrKTsKK2V4dGVybiB2b2lkIGh3ZF9jbGVhcl9iaXQoa2FsX3VpbnQzMiByZWcsIGthbF91aW50MzIgYml0X21hc2spOworCisvKiAzMi1CaXQgUmVnaXN0ZXIgTUFDUk9TIC0gdXNlZCBieSBVU0IgKi8KK2V4dGVybiB2b2lkIGh3ZF93cml0ZV8zMihrYWxfdWludDMyIHJlZywga2FsX2ludDMyIGRhdGEpOworZXh0ZXJuIGthbF9pbnQzMiBod2RfcmVhZF8zMihrYWxfdWludDMyIHJlZyk7CitleHRlcm4gdm9pZCBod2Rfc2V0X2JpdF8zMihrYWxfdWludDMyIHJlZywga2FsX3VpbnQzMiBiaXRfbWFzayk7CitleHRlcm4gdm9pZCBod2RfcmVzZXRfYml0XzMyKGthbF91aW50MzIgcmVnLCBrYWxfdWludDMyIGJpdF9tYXNrKTsKKworLyogMTYtQml0IFJlZ2lzdGVyIE1BQ1JPUyAgKi8KK2V4dGVybiB2b2lkIGh3ZF93cml0ZV8xNihrYWxfdWludDMyIHJlZywga2FsX2ludDE2IGRhdGEpOworZXh0ZXJuIGthbF9pbnQxNiBod2RfcmVhZF8xNihrYWxfdWludDMyIHJlZyk7CitleHRlcm4gdm9pZCBod2Rfc2V0X2JpdF8xNihrYWxfdWludDMyIHJlZywga2FsX3VpbnQxNiBiaXRfbWFzayk7CitleHRlcm4gdm9pZCBod2RfcmVzZXRfYml0XzE2KGthbF91aW50MzIgcmVnLCBrYWxfdWludDE2IGJpdF9tYXNrKTsKKworLyogOC1CaXQgUmVnaXN0ZXIgTUFDUk9TIC0gdXNlZCBieSBFQkkgKi8KK2V4dGVybiB2b2lkIGh3ZF93cml0ZV84KGthbF91aW50MzIgcmVnLCBrYWxfaW50OCBkYXRhKTsKK2V4dGVybiBrYWxfaW50OCBod2RfcmVhZF84KGthbF91aW50MzIgcmVnKTsKK2V4dGVybiB2b2lkIGh3ZF9zZXRfYml0Xzgoa2FsX3VpbnQzMiByZWcsIGthbF91aW50OCBiaXRfbWFzayk7CitleHRlcm4gdm9pZCBod2RfcmVzZXRfYml0Xzgoa2FsX3VpbnQzMiByZWcsIGthbF91aW50OCBiaXRfbWFzayk7CisKKyNlbmRpZiAgLyogX0MyS19ETUFfTU9ERUxfQVBJX0ggKi8KZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jMmtfcnN2YV9lbnVtcy5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2Mya19yc3ZhX2VudW1zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGIzZDViYgotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jMmtfcnN2YV9lbnVtcy5oCkBAIC0wLDAgKzEsMTM2IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAwNQorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEZpbGVuYW1lOgorICogLS0tLS0tLS0tCisgKiAgICBjMmtfcnN2YV9lbnVtcy5oCisgKgorICogUHJvamVjdDoKKyAqIC0tLS0tLS0tCisgKiAgICBTUkxURQorICoKKyAqIERlc2NyaXB0aW9uOgorICogLS0tLS0tLS0tLS0tCisgKgorICoKKyAqIEF1dGhvcjoKKyAqIC0tLS0tLS0KKyAqIC0tLS0tLS0KKyAqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfQzJLX1JTVkFfRU5VTVNfSF8KKyNkZWZpbmUgX0MyS19SU1ZBX0VOVU1TX0hfCisKKworLy8gI2lmZGVmIF9fQ0RNQTIwMDBfUkFUX18KKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRDMgQ1NTIDwtLT4gTUQxIFJTVkFDICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCit0eXBlZGVmIGVudW0geworICAgIENTU19GUkVRX1NDQU5fRklOSVNIRUQsCisgICAgQ1NTX0ZSRVFfU0NBTl9QUkVFTVBURUQKK31jc3NfZnJlcV9zY2FuX3N0b3BfY2F1c2VfZW51bTsKKwordHlwZWRlZiBlbnVtIHsKKyAgICBDU1NfRTkxMV9DQUxMLAorICAgIENTU19VU0VSX1RSSUdHRVJfU0VBUkNILAorICAgIENTU19PUkRJTkFSWV9TRUFSQ0gsCisgICAgQ1NTX0ZSRVFfU0NBTl9OVUxMCit9Y3NzX2ZyZXFfc2Nhbl90eXBlX2VudW07CisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUQzIFBTVyA8LS0+IE1EMSBSU1ZBUyAgICAgICAgICAgICAgICAgICAgICAgICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwordHlwZWRlZiBlbnVtIHsKKyAgICBSU1ZBU19JRF9OT05FICAgICA9IDB4MDBGRkZGRkYKKyAgICAgICAgCisgICAgLFJTVkFTX0lEX1NJTTFfR0FTICAgPSAweDAxMDAwMEZGCisgICAgLFJTVkFTX0lEX1NJTTFfVUFTICAgPSAweDAyMDAwMUZGCisgICAgLFJTVkFTX0lEX1NJTTFfRUFTICAgPSAweDAzMDAwMkZGCisgICAgLFJTVkFTX0lEX1NJTTFfRVZETyAgPSAweDA0MDAwM0ZGCisgICAgLFJTVkFTX0lEX1NJTTFfMVhSVFQgPSAweDA1MDAwNEZGCisgICAgLFJTVkFTX0lEX1NJTTFfTkFTICAgPSAweDA2MDBGRjAxCisgICAgLFJTVkFTX0lEX1NJTTFfTDRDICAgPSAweDA3MDBGRjAyCisKKyAgICAsUlNWQVNfSURfU0lNMl9HQVMgICA9IDB4MDgwMTAwRkYKKyAgICAsUlNWQVNfSURfU0lNMl9VQVMgICA9IDB4MDkwMTAxRkYKKyAgICAsUlNWQVNfSURfU0lNMl9FQVMgICA9IDB4MEEwMTAyRkYKKyAgICAsUlNWQVNfSURfU0lNMl9FVkRPICA9IDB4MEIwMTAzRkYKKyAgICAsUlNWQVNfSURfU0lNMl8xWFJUVCA9IDB4MEMwMTA0RkYKKyAgICAsUlNWQVNfSURfU0lNMl9OQVMgICA9IDB4MEQwMUZGMDEKKyAgICAsUlNWQVNfSURfU0lNMl9MNEMgICA9IDB4MEUwMUZGMDIKKworICAgICxSU1ZBU19JRF9TSU0zX0dBUyAgID0gMHgwRjAyMDBGRgorICAgICxSU1ZBU19JRF9TSU0zX1VBUyAgID0gMHgxMDAyMDFGRgorICAgICxSU1ZBU19JRF9TSU0zX0VBUyAgID0gMHgxMTAyMDJGRgorICAgICxSU1ZBU19JRF9TSU0zX0VWRE8gID0gMHgxMjAyMDNGRgorICAgICxSU1ZBU19JRF9TSU0zXzFYUlRUID0gMHgxMzAyMDRGRgorICAgICxSU1ZBU19JRF9TSU0zX05BUyAgID0gMHgxNDAyRkYwMQorICAgICxSU1ZBU19JRF9TSU0zX0w0QyAgID0gMHgxNTAyRkYwMgorCisgICAgLFJTVkFTX0lEX1NJTTRfR0FTICAgPSAweDE2MDMwMEZGCisgICAgLFJTVkFTX0lEX1NJTTRfVUFTICAgPSAweDE3MDMwMUZGCisgICAgLFJTVkFTX0lEX1NJTTRfRUFTICAgPSAweDE4MDMwMkZGCisgICAgLFJTVkFTX0lEX1NJTTRfRVZETyAgPSAweDE5MDMwM0ZGCisgICAgLFJTVkFTX0lEX1NJTTRfMVhSVFQgPSAweDFBMDMwNEZGCisgICAgLFJTVkFTX0lEX1NJTTRfTkFTICAgPSAweDFCMDNGRjAxCisgICAgLFJTVkFTX0lEX1NJTTRfTDRDICAgPSAweDFDMDNGRjAyCisKK30gcnN2YXNfaWRfZW51bTsKKworCit0eXBlZGVmIGVudW0geworICAgIFJTVkFTX1NJTTEgID0gMAorICAgICxSU1ZBU19TSU0yID0gMQorICAgICxSU1ZBU19TSU0zID0gMgorICAgICxSU1ZBU19TSU00ID0gMworICAgICxSU1ZBU19TSU1fTk9ORSA9IDB4RkYKK30gcnN2YXNfc2ltX2VudW07CisKKy8qKgorICogRm9yIEdFTjk1ICYgOTcKKyAqLwordHlwZWRlZiAgZW51bSB7CisgICBSU1ZBU19TVVNQRU5EX0FGVEVSX0FCT1JULAorICAgUlNWQVNfVklSVFVBTF9JRExFX0FGVEVSX0FCT1JULAorICAgUlNWQVNfQUJPUlRfQUNUSU9OX05PTkUKK30gcnN2YXNfYWJvcnRfYWN0aW9uX2VudW07CisvLyAjZW5kaWYgLyogX19DRE1BMjAwMF9SQVRfXyAqLworCisjZW5kaWYgLyogX0MyS19SU1ZBX0VOVU1TX0hfICovCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vYzJrX3JzdmFfc3RydWN0LmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vYzJrX3JzdmFfc3RydWN0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTdkOTRhMQotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jMmtfcnN2YV9zdHJ1Y3QuaApAQCAtMCwwICsxLDEzNyBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMDUKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICogICAgYzJrX3JzdmFfc3RydWN0LmgKKyAqCisgKiBQcm9qZWN0OgorICogLS0tLS0tLS0KKyAqICAgIFNSTFRFCisgKgorICogRGVzY3JpcHRpb246CisgKiAtLS0tLS0tLS0tLS0KKyAqCisgKgorICogQXV0aG9yOgorICogLS0tLS0tLQorICogLS0tLS0tLQorICoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DMktfUlNWQV9TVFJVQ1RfSF8KKyNkZWZpbmUgX0MyS19SU1ZBX1NUUlVDVF9IXworCisjaW5jbHVkZSAiYzJrX3JzdmFfZW51bXMuaCIKKworLy8gI2lmZGVmIF9fQ0RNQTIwMDBfUkFUX18KKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRDMgQ1NTIDwtLT4gTUQxIFJTVkFDICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisKK3R5cGVkZWYgc3RydWN0IHsgICAgCisgICAgTE9DQUxfUEFSQV9IRFIKKyAgICBjc3NfZnJlcV9zY2FuX3R5cGVfZW51bSBmcmVxX3NjYW5fdHlwZTsKKyAgICBrYWxfYm9vbCBpc19mdWxsX2JhbmQ7CisgICAga2FsX3VpbnQ4IHNlc3Npb25faWQ7IC8qIHNlc3Npb24gaWQgKi8KK31jc3NfcnN2YWNfZnJlcXVlbmN5X3NjYW5fc3RhcnRfcmVxX3N0cnVjdDsKKwordHlwZWRlZiBzdHJ1Y3QgeworICAgIExPQ0FMX1BBUkFfSERSCisgICAgY3NzX2ZyZXFfc2Nhbl9zdG9wX2NhdXNlX2VudW0gY2F1c2U7CisgICAgLyogcHJlZW1wdGlvbiBzZXNzaW9uIGlkLCBvbmx5IHVzZWQgd2hlbiBjYXVzZT1DU1NfRlJFUV9TQ0FOX1BSRUVNUFRFRCAqLworICAgIC8qIGFsd2F5cyByZWxlYXNlIHRoZSByZXNvdXJjZSB3aGVuIGNhdXNlPUNTU19GUkVRX1NDQU5fRklOSVNIRUQgKi8KKyAgICBrYWxfdWludDggc2Vzc2lvbl9pZDsgLyogc2Vzc2lvbiBpZCAqLworfWNzc19yc3ZhY19mcmVxdWVuY3lfc2Nhbl9zdG9wX3JlcV9zdHJ1Y3Q7CisKK3R5cGVkZWYgc3RydWN0IHsgICAgCisgICAgTE9DQUxfUEFSQV9IRFIKKyAgICBjc3NfZnJlcV9zY2FuX3R5cGVfZW51bSBmcmVxX3NjYW5fdHlwZTsKKyAgICBrYWxfYm9vbCBpc19mdWxsX2JhbmQ7CisgICAga2FsX3VpbnQ4IHNlc3Npb25faWQ7IC8qIHNlc3Npb24gaWQgKi8KK31jc3NfcnN2YWNfZnJlcXVlbmN5X3NjYW5fbW9kaWZ5X3JlcV9zdHJ1Y3Q7CisKK3R5cGVkZWYgc3RydWN0IHsKKyAgICBMT0NBTF9QQVJBX0hEUgorICAgIGthbF91aW50OCBzZXNzaW9uX2lkOyAvKiBzZXNzaW9uIGlkICovCisjaWZkZWYgTVRLX1BMVF9PTl9QQ19JVCAKKyAgICBrYWxfdWludDggcGFkZGluZzsKKyNlbmRpZgorfXJzdmFjX2Nzc19mcmVxdWVuY3lfc2Nhbl9hY2NlcHRfaW5kX3N0cnVjdDsKKwordHlwZWRlZiBzdHJ1Y3QgeworICAgIExPQ0FMX1BBUkFfSERSCisgICAga2FsX3VpbnQ4IHByZWVtcHRfc2Vzc2lvbl9pZDsgLyogcHJlZW1wdGlvbiBzZXNzaW9uIGlkICovCit9cnN2YWNfY3NzX2ZyZXF1ZW5jeV9zY2FuX3ByZWVtcHRfaW5kX3N0cnVjdDsKKworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRDMgUFNXIDwtLT4gTUQxIFJTVkFTICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKwordHlwZWRlZiBzdHJ1Y3QgeworICAgTE9DQUxfUEFSQV9IRFIgICAKKyAgIGthbF91aW50OCAgICAgICAgICAgICAgIHBlZXJfc2VydmljZV9wcmlvcml0eTsKKyAgIHJzdmFzX3NpbV9lbnVtICAgICAgICAgIHNpbV9pbl90cmFuc2ZlcjsKK30gcnN2YXNfY2FzX3N1c3BlbmRfc2VydmljZV9yZXFfc3RydWN0OworCit0eXBlZGVmIHN0cnVjdCB7CisgICBMT0NBTF9QQVJBX0hEUiAgIAorICAga2FsX3VpbnQ4ICAgICAgICAgICAgICAgcGVlcl9zZXJ2aWNlX3ByaW9yaXR5OworICAgcnN2YXNfYWJvcnRfYWN0aW9uX2VudW0gYWN0aW9uOworfSByc3Zhc19jYXNfYWJvcnRfc2VydmljZV9yZXFfc3RydWN0OworCit0eXBlZGVmIHN0cnVjdCB7CisgICBMT0NBTF9QQVJBX0hEUiAgIAorICAga2FsX3VpbnQ4ICAgICAgICAgICAgICAgcGVlcl9zZXJ2aWNlX3ByaW9yaXR5OworICAgcnN2YXNfc2ltX2VudW0gc2ltX2luX3RyYW5zZmVyOworfSByc3Zhc19jYXNfdmlydHVhbF9zdXNwZW5kX3NlcnZpY2VfcmVxX3N0cnVjdDsKKwordHlwZWRlZiBzdHJ1Y3QgeworICAgTE9DQUxfUEFSQV9IRFIgCisgICByc3Zhc19zaW1fZW51bSBzaW1faW5fdHJhbnNmZXI7Cit9IHJzdmFzX2Nhc192aXJ0dWFsX3Jlc3VtZV9zZXJ2aWNlX3JlcV9zdHJ1Y3Q7CisKK3R5cGVkZWYgc3RydWN0IHsKKyAgIExPQ0FMX1BBUkFfSERSCit9IHJzdmFzX2Nhc19yZXN1bWVfc2VydmljZV9yZXFfc3RydWN0OworCisKKy8vICNlbmRpZiAvKiBfX0NETUEyMDAwX1JBVF9fICovCisKKyNlbmRpZiAvKiBfQzJLX1JTVkFfU1RSVUNUX0hfICovCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY2wxX2NjX3B1YmxpYy5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NsMV9jY19wdWJsaWMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOGRlY2MzCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NsMV9jY19wdWJsaWMuaApAQCAtMCwwICsxLDY2IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICogICBjbDFfY2NfcHVibGljLmgKKyAqCisgKiBQcm9qZWN0OgorICogLS0tLS0tLS0KKyAqICAgVU1PTFlBX1NvZnR3YXJlCisgKgorICogRGVzY3JpcHRpb246CisgKiAtLS0tLS0tLS0tLS0KKyAqICAgIENMMSBwdWJsaWMgaW50ZXJmYWNlIGRlY2xhcmUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgIF9DTDFfQ0NfUFVCTElDX0hfCisjZGVmaW5lICBfQ0wxX0NDX1BVQkxJQ19IXworCisjaW5jbHVkZSAia2FsX2dlbmVyYWxfdHlwZXMuaCIKKworCitleHRlcm4ga2FsX2Jvb2wgQ0wxX0lTX0MyS19FWElTVCh2b2lkKTsgICAgCitleHRlcm4gdm9pZCBDTDFfRk9SQ0VfU0xFRVAodm9pZCk7CitleHRlcm4gdm9pZCBDTDFfRXJyb3JDaGVja19UeEJSUF9Xb3JrTW9kZV9Db25mbGljdF9Bc3NlcnRfMXhSVFQodm9pZCk7CitleHRlcm4gdm9pZCBDTDFfRXJyb3JDaGVja19UeEJSUF9Xb3JrTW9kZV9Db25mbGljdF9Bc3NlcnRfRVZETyh2b2lkKTsKKworI2lmIGRlZmluZWQoX19DRE1BMjAwMF9SQVRfXykgLyogQzJLIGlzIGJ1aWx0ICovCitleHRlcm4gdm9pZCBDMmsxeFJUVF9sMV9zbHBfaW5mbyhrYWxfdWludDY0ICp3b3JraW5nX3RpbWUsIGthbF91aW50MzIgKndha2V1cF9jbnQsIGthbF91aW50MzIgKnNsZWVwX2NudCk7CitleHRlcm4gdm9pZCBDMmtFVkRPX2wxX3NscF9pbmZvKGthbF91aW50NjQgKndvcmtpbmdfdGltZSwga2FsX3VpbnQzMiAqd2FrZXVwX2NudCwga2FsX3VpbnQzMiAqc2xlZXBfY250KTsKKyNlbmRpZgorCisjZW5kaWYgIC8vI2lmbmRlZiAgX0NMMV9DQ19QVUJMSUNfSF8KZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jbDFfbnZyYW1faWQuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jbDFfbnZyYW1faWQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZTNjYTQyCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NsMV9udnJhbV9pZC5oCkBAIC0wLDAgKzEsNzMyIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZpbGVuYW1lOgorICogLS0tLS0tLS0tCisgKiBjbDFfbnZyYW1faWQuaAorICoKKyAqIFByb2plY3Q6CisgKiAtLS0tLS0tLQorICogOTMKKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqIC0tLS0tLS0tLS0tLQorICogQzJLIE5WUkFNIGl0ZW0gaW5mb21hdGlvbiBwcm92aWRlZCB0byBOVlJBTSwgTU1SRiwgYW5kIEMySyBpdHNlbGYuCisgKgorICogICAgICAgICAgICAgICAKKyAqIEF1dGhvcjoKKyAqIC0tLS0tLS0KKyAqIAorICoKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiAgICAgICAgICAgICBISVNUT1JZCisgKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFVwcGVyIHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiBkZWZpbmVkKF9fTUQ5M19fKSB8fCBkZWZpbmVkKF9fTUQ5NV9fKQorI2RlZmluZSBNSVBJX1JYX0VWRU5UX01BWF9OVU0gICAgICAgICAgICAgICAgICAgKDkgICsxKQorI2RlZmluZSBNSVBJX1JYX0RBVEFfTUFYX05VTSAgICAgICAgICAgICAgICAgICAgKDE4ICsxKQorI2RlZmluZSBNSVBJX1RYX0VWRU5UX01BWF9OVU0gICAgICAgICAgICAgICAgICAgKDEyICsxKQorI2RlZmluZSBNSVBJX1RYX0RBVEFfTUFYX05VTSAgICAgICAgICAgICAgICAgICAgKDM2ICsxKQorI2RlZmluZSBNSVBJX1RQQ19FVkVOVF9NQVhfTlVNICAgICAgICAgICAgICAgICAgKDkgICsxKQorI2RlZmluZSBNSVBJX1RQQ19EQVRBX01BWF9OVU0gICAgICAgICAgICAgICAgICAgKDUgICsxKQorI2RlZmluZSBNSVBJX1BBX1NFQ1RJT05fREFUQV9NQVhfTlVNICAgICAgICAgICAgQzJLX01JUElfU1VCQkFORF9OVU0KKyNkZWZpbmUgTUlQSV9FVE1fVFhfRVZFTlRfTUFYX05VTSAgICAgICAgICAgICAgIE1JUElfVFhfRVZFTlRfTUFYX05VTQorI2RlZmluZSBNSVBJX0VUTV9UWF9EQVRBX01BWF9OVU0gICAgICAgICAgICAgICAgTUlQSV9UWF9EQVRBX01BWF9OVU0KKyNkZWZpbmUgTUlQSV9FVE1fVFBDX0VWRU5UX01BWF9OVU0gICAgICAgICAgICAgIE1JUElfVFBDX0VWRU5UX01BWF9OVU0KKyNkZWZpbmUgTUlQSV9FVE1fVFBDX0RBVEFfTUFYX05VTSAgICAgICAgICAgICAgIE1JUElfVFBDX0RBVEFfTUFYX05VTQorI2RlZmluZSBNSVBJX0VUTV9QQV9TRUNUSU9OX0RBVEFfTUFYX05VTSAgICAgICAgQzJLX01JUElfU1VCQkFORF9OVU0KKworI2RlZmluZSBNSVBJX1RBU19FVkVOVF9NQVhfTlVNCQkJCQkoMTApCisjZGVmaW5lIE1JUElfVEFTX0RBVEFfTUFYX05VTQkJCQkJKDIwKQorCisjZGVmaW5lIE1JUElfRUxOQV9FVkVOVF9NQVhfTlVNCQkJCQkoMTApCisjZGVmaW5lIE1JUElfRUxOQV9EQVRBX01BWF9OVU0JCQkJCSgyMCkKKworI2RlZmluZSBNSVBJX0RBVF9FVkVOVF9NQVhfTlVNCQkJCQlNSVBJX1RBU19FVkVOVF9NQVhfTlVNCisjZGVmaW5lIE1JUElfREFUX0RBVEFfTUFYX05VTQkJCQkJTUlQSV9UQVNfREFUQV9NQVhfTlVNCisvKiBOVlJBTSBJRCBkZWZpbml0aW9uIG9mIGl0ZW1zIGluIEMySyBSRiBjdXN0b20gZmlsZSAqLworLyogQ29tbW9uIFBhcmFtZXRlcnMgKi8KKy8qIDAgKi9OVlJBTV9JVEVNX1JGX0NVU1QoQ1VTVF9QQVJBTSwgLCAxLCBDVVNUX1BBUkFNX1QsIDEsIE5VTEwpCisvKiBCUEkgQ29uZmlndXJhdGlvbnMgKi8KKy8qIDEgKi9OVlJBTV9JVEVNX1JGX0NVU1QoQ1VTVF9CUElfQ0ZHLCBCQU5EX0EsIE1BWF9CQU5EX05VTSwgQ1VTVF9CUElfQ0ZHX1QsIDEsIE5VTEwpCisvKiAyICovTlZSQU1fSVRFTV9SRl9DVVNUKENVU1RfQlBJX0NGRywgQkFORF9CLCBNQVhfQkFORF9OVU0sIENVU1RfQlBJX0NGR19ULCAxLCBOVUxMKQorLyogMyAqL05WUkFNX0lURU1fUkZfQ1VTVChDVVNUX0JQSV9DRkcsIEJBTkRfQywgTUFYX0JBTkRfTlVNLCBDVVNUX0JQSV9DRkdfVCwgMSwgTlVMTCkKKy8qIDQgKi9OVlJBTV9JVEVNX1JGX0NVU1QoQ1VTVF9CUElfQ0ZHLCBCQU5EX0QsIE1BWF9CQU5EX05VTSwgQ1VTVF9CUElfQ0ZHX1QsIDEsIE5VTEwpCisvKiA1ICovTlZSQU1fSVRFTV9SRl9DVVNUKENVU1RfQlBJX0NGRywgQkFORF9FLCBNQVhfQkFORF9OVU0sIENVU1RfQlBJX0NGR19ULCAxLCBOVUxMKQorCisvKiBUQVMgQ29uZmlndXJhdGlvbnMgKi8KKy8vTlZSQU1fSVRFTV9SRl9DVVNUKFJGX0NVU1RfVEFTLCBEQk1fUkZfQ1VTVF9UQVNfU0laRSwgaHdkUmZDdXN0b21UYXMsIGh3ZFJmQ3VzdFRhc0lucHV0LCBId2RSZkN1c3RUYXNQcm9jZXNzKQorLy9OVlJBTV9JVEVNX1JGX0NVU1QoUkZfQ1VTVF9UQVNfQllfUkFULCBEQk1fUkZfQ1VTVF9UQVNfQllfUkFUX1NJWkUsIEMyS19UQVNfRkVBVFVSRV9CWV9SQVQsIEMyS19UQVNfRkVBVFVSRV9CWV9SQVRfSU5QVVQsIEh3ZFJmQ3VzdFRhc0J5UmF0UHJvY2VzcykKKworLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gR0VOQVJBTF9OQU1FLCAgUkZfQkFORCwgUkVDLCAgVFlQRSwgICAgICAgICAgICAgICAgICAgICwgVFlQRSBOVU0sICAgICAgICAgICAgICBGVU5DCisKKy8qIE1JUEkgQ29uZmlndXJhdGlvbnMgKi8KKy8qIDYgKi8gTlZSQU1fSVRFTV9NSVBJKE1JUElfUEFSQU0sICwgMSwgTUlQSV9QQVJBTV9ULCAxLCBOVUxMKQorCisvKiA3ICovIE5WUkFNX0lURU1fTUlQSShNSVBJX1JYX0VWRU5ULCBCQU5EX0EsIE1BWF9CQU5EX05VTSwgTUlQSV9FVkVOVF9UQUJMRV9ULCBNSVBJX1JYX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiA4ICovIE5WUkFNX0lURU1fTUlQSShNSVBJX1JYX0VWRU5ULCBCQU5EX0IsIE1BWF9CQU5EX05VTSwgTUlQSV9FVkVOVF9UQUJMRV9ULCBNSVBJX1JYX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiA5ICovIE5WUkFNX0lURU1fTUlQSShNSVBJX1JYX0VWRU5ULCBCQU5EX0MsIE1BWF9CQU5EX05VTSwgTUlQSV9FVkVOVF9UQUJMRV9ULCBNSVBJX1JYX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAxMCAqL05WUkFNX0lURU1fTUlQSShNSVBJX1JYX0VWRU5ULCBCQU5EX0QsIE1BWF9CQU5EX05VTSwgTUlQSV9FVkVOVF9UQUJMRV9ULCBNSVBJX1JYX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAxMSAqL05WUkFNX0lURU1fTUlQSShNSVBJX1JYX0VWRU5ULCBCQU5EX0UsIE1BWF9CQU5EX05VTSwgTUlQSV9FVkVOVF9UQUJMRV9ULCBNSVBJX1JYX0VWRU5UX01BWF9OVU0sIE5VTEwpCisKKy8qIDEyICovTlZSQU1fSVRFTV9NSVBJKE1JUElfUlhfREFUQSwgQkFORF9BLCBNQVhfQkFORF9OVU0sIE1JUElfREFUQV9TVUJCQU5EX1RBQkxFX1QsIE1JUElfUlhfREFUQV9NQVhfTlVNLCBOVUxMKQorLyogMTMgKi9OVlJBTV9JVEVNX01JUEkoTUlQSV9SWF9EQVRBLCBCQU5EX0IsIE1BWF9CQU5EX05VTSwgTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCwgTUlQSV9SWF9EQVRBX01BWF9OVU0sIE5VTEwpCisvKiAxNCAqL05WUkFNX0lURU1fTUlQSShNSVBJX1JYX0RBVEEsIEJBTkRfQywgTUFYX0JBTkRfTlVNLCBNSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9ULCBNSVBJX1JYX0RBVEFfTUFYX05VTSwgTlVMTCkKKy8qIDE1ICovTlZSQU1fSVRFTV9NSVBJKE1JUElfUlhfREFUQSwgQkFORF9ELCBNQVhfQkFORF9OVU0sIE1JUElfREFUQV9TVUJCQU5EX1RBQkxFX1QsIE1JUElfUlhfREFUQV9NQVhfTlVNLCBOVUxMKQorLyogMTYgKi9OVlJBTV9JVEVNX01JUEkoTUlQSV9SWF9EQVRBLCBCQU5EX0UsIE1BWF9CQU5EX05VTSwgTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCwgTUlQSV9SWF9EQVRBX01BWF9OVU0sIE5VTEwpCisKKy8qIDE3ICovTlZSQU1fSVRFTV9NSVBJKE1JUElfVFhfRVZFTlQsIEJBTkRfQSwgTUFYX0JBTkRfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfVFhfRVZFTlRfTUFYX05VTSwgTlVMTCkKKy8qIDE4ICovTlZSQU1fSVRFTV9NSVBJKE1JUElfVFhfRVZFTlQsIEJBTkRfQiwgTUFYX0JBTkRfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfVFhfRVZFTlRfTUFYX05VTSwgTlVMTCkKKy8qIDE5ICovTlZSQU1fSVRFTV9NSVBJKE1JUElfVFhfRVZFTlQsIEJBTkRfQywgTUFYX0JBTkRfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfVFhfRVZFTlRfTUFYX05VTSwgTlVMTCkKKy8qIDIwICovTlZSQU1fSVRFTV9NSVBJKE1JUElfVFhfRVZFTlQsIEJBTkRfRCwgTUFYX0JBTkRfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfVFhfRVZFTlRfTUFYX05VTSwgTlVMTCkKKy8qIDIxICovTlZSQU1fSVRFTV9NSVBJKE1JUElfVFhfRVZFTlQsIEJBTkRfRSwgTUFYX0JBTkRfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfVFhfRVZFTlRfTUFYX05VTSwgTlVMTCkKKworLyogMjIgKi9OVlJBTV9JVEVNX01JUEkoTUlQSV9UWF9EQVRBLCBCQU5EX0EsIE1BWF9CQU5EX05VTSwgTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCwgTUlQSV9UWF9EQVRBX01BWF9OVU0sIE5VTEwpCisvKiAyMyAqL05WUkFNX0lURU1fTUlQSShNSVBJX1RYX0RBVEEsIEJBTkRfQiwgTUFYX0JBTkRfTlVNLCBNSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9ULCBNSVBJX1RYX0RBVEFfTUFYX05VTSwgTlVMTCkKKy8qIDI0ICovTlZSQU1fSVRFTV9NSVBJKE1JUElfVFhfREFUQSwgQkFORF9DLCBNQVhfQkFORF9OVU0sIE1JUElfREFUQV9TVUJCQU5EX1RBQkxFX1QsIE1JUElfVFhfREFUQV9NQVhfTlVNLCBOVUxMKQorLyogMjUgKi9OVlJBTV9JVEVNX01JUEkoTUlQSV9UWF9EQVRBLCBCQU5EX0QsIE1BWF9CQU5EX05VTSwgTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCwgTUlQSV9UWF9EQVRBX01BWF9OVU0sIE5VTEwpCisvKiAyNiAqL05WUkFNX0lURU1fTUlQSShNSVBJX1RYX0RBVEEsIEJBTkRfRSwgTUFYX0JBTkRfTlVNLCBNSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9ULCBNSVBJX1RYX0RBVEFfTUFYX05VTSwgTlVMTCkKKworLyogMjcgKi9OVlJBTV9JVEVNX01JUEkoTUlQSV9UUENfRVZFTlQsIEJBTkRfQSwgTUFYX0JBTkRfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfVFBDX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAyOCAqL05WUkFNX0lURU1fTUlQSShNSVBJX1RQQ19FVkVOVCwgQkFORF9CLCBNQVhfQkFORF9OVU0sIE1JUElfRVZFTlRfVEFCTEVfVCwgTUlQSV9UUENfRVZFTlRfTUFYX05VTSwgTlVMTCkKKy8qIDI5ICovTlZSQU1fSVRFTV9NSVBJKE1JUElfVFBDX0VWRU5ULCBCQU5EX0MsIE1BWF9CQU5EX05VTSwgTUlQSV9FVkVOVF9UQUJMRV9ULCBNSVBJX1RQQ19FVkVOVF9NQVhfTlVNLCBOVUxMKQorLyogMzAgKi9OVlJBTV9JVEVNX01JUEkoTUlQSV9UUENfRVZFTlQsIEJBTkRfRCwgTUFYX0JBTkRfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfVFBDX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzMSAqL05WUkFNX0lURU1fTUlQSShNSVBJX1RQQ19FVkVOVCwgQkFORF9FLCBNQVhfQkFORF9OVU0sIE1JUElfRVZFTlRfVEFCTEVfVCwgTUlQSV9UUENfRVZFTlRfTUFYX05VTSwgTlVMTCkKKworLyogMzIgKi9OVlJBTV9JVEVNX01JUEkoTUlQSV9UUENfREFUQSwgQkFORF9BLCBNQVhfQkFORF9OVU0sIE1JUElfREFUQV9UQUJMRV9ULCBNSVBJX1RQQ19EQVRBX01BWF9OVU0sIE5VTEwpCisvKiAzMyAqL05WUkFNX0lURU1fTUlQSShNSVBJX1RQQ19EQVRBLCBCQU5EX0IsIE1BWF9CQU5EX05VTSwgTUlQSV9EQVRBX1RBQkxFX1QsIE1JUElfVFBDX0RBVEFfTUFYX05VTSwgTlVMTCkKKy8qIDM0ICovTlZSQU1fSVRFTV9NSVBJKE1JUElfVFBDX0RBVEEsIEJBTkRfQywgTUFYX0JBTkRfTlVNLCBNSVBJX0RBVEFfVEFCTEVfVCwgTUlQSV9UUENfREFUQV9NQVhfTlVNLCBOVUxMKQorLyogMzUgKi9OVlJBTV9JVEVNX01JUEkoTUlQSV9UUENfREFUQSwgQkFORF9ELCBNQVhfQkFORF9OVU0sIE1JUElfREFUQV9UQUJMRV9ULCBNSVBJX1RQQ19EQVRBX01BWF9OVU0sIE5VTEwpCisvKiAzNiAqL05WUkFNX0lURU1fTUlQSShNSVBJX1RQQ19EQVRBLCBCQU5EX0UsIE1BWF9CQU5EX05VTSwgTUlQSV9EQVRBX1RBQkxFX1QsIE1JUElfVFBDX0RBVEFfTUFYX05VTSwgTlVMTCkKKworLyogMzcgKi9OVlJBTV9JVEVNX01JUEkoTUlQSV9QQV9TRUNUSU9OX0RBVEFfMVhSVFQsIEJBTkRfQSwgTUFYX0JBTkRfTlVNLCBUUENfU0VDVElPTl9UQUJMRV9ULCBNSVBJX1BBX1NFQ1RJT05fREFUQV9NQVhfTlVNLCBOVUxMKQorLyogMzggKi9OVlJBTV9JVEVNX01JUEkoTUlQSV9QQV9TRUNUSU9OX0RBVEFfMVhSVFQsIEJBTkRfQiwgTUFYX0JBTkRfTlVNLCBUUENfU0VDVElPTl9UQUJMRV9ULCBNSVBJX1BBX1NFQ1RJT05fREFUQV9NQVhfTlVNLCBOVUxMKQorLyogMzkgKi9OVlJBTV9JVEVNX01JUEkoTUlQSV9QQV9TRUNUSU9OX0RBVEFfMVhSVFQsIEJBTkRfQywgTUFYX0JBTkRfTlVNLCBUUENfU0VDVElPTl9UQUJMRV9ULCBNSVBJX1BBX1NFQ1RJT05fREFUQV9NQVhfTlVNLCBOVUxMKQorLyogNDAgKi9OVlJBTV9JVEVNX01JUEkoTUlQSV9QQV9TRUNUSU9OX0RBVEFfMVhSVFQsIEJBTkRfRCwgTUFYX0JBTkRfTlVNLCBUUENfU0VDVElPTl9UQUJMRV9ULCBNSVBJX1BBX1NFQ1RJT05fREFUQV9NQVhfTlVNLCBOVUxMKQorLyogNDEgKi9OVlJBTV9JVEVNX01JUEkoTUlQSV9QQV9TRUNUSU9OX0RBVEFfMVhSVFQsIEJBTkRfRSwgTUFYX0JBTkRfTlVNLCBUUENfU0VDVElPTl9UQUJMRV9ULCBNSVBJX1BBX1NFQ1RJT05fREFUQV9NQVhfTlVNLCBOVUxMKQorCisvKiA0MiAqL05WUkFNX0lURU1fTUlQSShNSVBJX1BBX1NFQ1RJT05fREFUQV9FVkRPLCBCQU5EX0EsIE1BWF9CQU5EX05VTSwgVFBDX1NFQ1RJT05fVEFCTEVfVCwgTUlQSV9QQV9TRUNUSU9OX0RBVEFfTUFYX05VTSwgTlVMTCkKKy8qIDQzICovTlZSQU1fSVRFTV9NSVBJKE1JUElfUEFfU0VDVElPTl9EQVRBX0VWRE8sIEJBTkRfQiwgTUFYX0JBTkRfTlVNLCBUUENfU0VDVElPTl9UQUJMRV9ULCBNSVBJX1BBX1NFQ1RJT05fREFUQV9NQVhfTlVNLCBOVUxMKQorLyogNDQgKi9OVlJBTV9JVEVNX01JUEkoTUlQSV9QQV9TRUNUSU9OX0RBVEFfRVZETywgQkFORF9DLCBNQVhfQkFORF9OVU0sIFRQQ19TRUNUSU9OX1RBQkxFX1QsIE1JUElfUEFfU0VDVElPTl9EQVRBX01BWF9OVU0sIE5VTEwpCisvKiA0NSAqL05WUkFNX0lURU1fTUlQSShNSVBJX1BBX1NFQ1RJT05fREFUQV9FVkRPLCBCQU5EX0QsIE1BWF9CQU5EX05VTSwgVFBDX1NFQ1RJT05fVEFCTEVfVCwgTUlQSV9QQV9TRUNUSU9OX0RBVEFfTUFYX05VTSwgTlVMTCkKKy8qIDQ2ICovTlZSQU1fSVRFTV9NSVBJKE1JUElfUEFfU0VDVElPTl9EQVRBX0VWRE8sIEJBTkRfRSwgTUFYX0JBTkRfTlVNLCBUUENfU0VDVElPTl9UQUJMRV9ULCBNSVBJX1BBX1NFQ1RJT05fREFUQV9NQVhfTlVNLCBOVUxMKQorCisvKiBNSVBJIENvbmZpZ3VyYXRpb24gLS0gRVRNICovCisvKiA0NyAqL05WUkFNX0lURU1fTUlQSShNSVBJX0VUTV9UWF9FVkVOVCwgQkFORF9BLCBNQVhfQkFORF9OVU0sIE1JUElfRVZFTlRfVEFCTEVfVCwgTUlQSV9FVE1fVFhfRVZFTlRfTUFYX05VTSwgTlVMTCkKKy8qIDQ4ICovTlZSQU1fSVRFTV9NSVBJKE1JUElfRVRNX1RYX0VWRU5ULCBCQU5EX0IsIE1BWF9CQU5EX05VTSwgTUlQSV9FVkVOVF9UQUJMRV9ULCBNSVBJX0VUTV9UWF9FVkVOVF9NQVhfTlVNLCBOVUxMKQorLyogNDkgKi9OVlJBTV9JVEVNX01JUEkoTUlQSV9FVE1fVFhfRVZFTlQsIEJBTkRfQywgTUFYX0JBTkRfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfRVRNX1RYX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiA1MCAqL05WUkFNX0lURU1fTUlQSShNSVBJX0VUTV9UWF9FVkVOVCwgQkFORF9ELCBNQVhfQkFORF9OVU0sIE1JUElfRVZFTlRfVEFCTEVfVCwgTUlQSV9FVE1fVFhfRVZFTlRfTUFYX05VTSwgTlVMTCkKKy8qIDUxICovTlZSQU1fSVRFTV9NSVBJKE1JUElfRVRNX1RYX0VWRU5ULCBCQU5EX0UsIE1BWF9CQU5EX05VTSwgTUlQSV9FVkVOVF9UQUJMRV9ULCBNSVBJX0VUTV9UWF9FVkVOVF9NQVhfTlVNLCBOVUxMKQorCisvKiA1MiAqL05WUkFNX0lURU1fTUlQSShNSVBJX0VUTV9UWF9EQVRBLCBCQU5EX0EsIE1BWF9CQU5EX05VTSwgTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCwgTUlQSV9FVE1fVFhfREFUQV9NQVhfTlVNLCBOVUxMKQorLyogNTMgKi9OVlJBTV9JVEVNX01JUEkoTUlQSV9FVE1fVFhfREFUQSwgQkFORF9CLCBNQVhfQkFORF9OVU0sIE1JUElfREFUQV9TVUJCQU5EX1RBQkxFX1QsIE1JUElfRVRNX1RYX0RBVEFfTUFYX05VTSwgTlVMTCkKKy8qIDU0ICovTlZSQU1fSVRFTV9NSVBJKE1JUElfRVRNX1RYX0RBVEEsIEJBTkRfQywgTUFYX0JBTkRfTlVNLCBNSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9ULCBNSVBJX0VUTV9UWF9EQVRBX01BWF9OVU0sIE5VTEwpCisvKiA1NSAqL05WUkFNX0lURU1fTUlQSShNSVBJX0VUTV9UWF9EQVRBLCBCQU5EX0QsIE1BWF9CQU5EX05VTSwgTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCwgTUlQSV9FVE1fVFhfREFUQV9NQVhfTlVNLCBOVUxMKQorLyogNTYgKi9OVlJBTV9JVEVNX01JUEkoTUlQSV9FVE1fVFhfREFUQSwgQkFORF9FLCBNQVhfQkFORF9OVU0sIE1JUElfREFUQV9TVUJCQU5EX1RBQkxFX1QsIE1JUElfRVRNX1RYX0RBVEFfTUFYX05VTSwgTlVMTCkKKworLyogNTcgKi9OVlJBTV9JVEVNX01JUEkoTUlQSV9FVE1fVFBDX0VWRU5ULCBCQU5EX0EsIE1BWF9CQU5EX05VTSwgTUlQSV9FVkVOVF9UQUJMRV9ULCBNSVBJX0VUTV9UUENfRVZFTlRfTUFYX05VTSwgTlVMTCkKKy8qIDU4ICovTlZSQU1fSVRFTV9NSVBJKE1JUElfRVRNX1RQQ19FVkVOVCwgQkFORF9CLCBNQVhfQkFORF9OVU0sIE1JUElfRVZFTlRfVEFCTEVfVCwgTUlQSV9FVE1fVFBDX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiA1OSAqL05WUkFNX0lURU1fTUlQSShNSVBJX0VUTV9UUENfRVZFTlQsIEJBTkRfQywgTUFYX0JBTkRfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfRVRNX1RQQ19FVkVOVF9NQVhfTlVNLCBOVUxMKQorLyogNjAgKi9OVlJBTV9JVEVNX01JUEkoTUlQSV9FVE1fVFBDX0VWRU5ULCBCQU5EX0QsIE1BWF9CQU5EX05VTSwgTUlQSV9FVkVOVF9UQUJMRV9ULCBNSVBJX0VUTV9UUENfRVZFTlRfTUFYX05VTSwgTlVMTCkKKy8qIDYxICovTlZSQU1fSVRFTV9NSVBJKE1JUElfRVRNX1RQQ19FVkVOVCwgQkFORF9FLCBNQVhfQkFORF9OVU0sIE1JUElfRVZFTlRfVEFCTEVfVCwgTUlQSV9FVE1fVFBDX0VWRU5UX01BWF9OVU0sIE5VTEwpCisKKy8qIDYyICovTlZSQU1fSVRFTV9NSVBJKE1JUElfRVRNX1RQQ19EQVRBLCBCQU5EX0EsIE1BWF9CQU5EX05VTSwgTUlQSV9EQVRBX1RBQkxFX1QsIE1JUElfRVRNX1RQQ19EQVRBX01BWF9OVU0sIE5VTEwpCisvKiA2MyAqL05WUkFNX0lURU1fTUlQSShNSVBJX0VUTV9UUENfREFUQSwgQkFORF9CLCBNQVhfQkFORF9OVU0sIE1JUElfREFUQV9UQUJMRV9ULCBNSVBJX0VUTV9UUENfREFUQV9NQVhfTlVNLCBOVUxMKQorLyogNjQgKi9OVlJBTV9JVEVNX01JUEkoTUlQSV9FVE1fVFBDX0RBVEEsIEJBTkRfQywgTUFYX0JBTkRfTlVNLCBNSVBJX0RBVEFfVEFCTEVfVCwgTUlQSV9FVE1fVFBDX0RBVEFfTUFYX05VTSwgTlVMTCkKKy8qIDY1ICovTlZSQU1fSVRFTV9NSVBJKE1JUElfRVRNX1RQQ19EQVRBLCBCQU5EX0QsIE1BWF9CQU5EX05VTSwgTUlQSV9EQVRBX1RBQkxFX1QsIE1JUElfRVRNX1RQQ19EQVRBX01BWF9OVU0sIE5VTEwpCisvKiA2NiAqL05WUkFNX0lURU1fTUlQSShNSVBJX0VUTV9UUENfREFUQSwgQkFORF9FLCBNQVhfQkFORF9OVU0sIE1JUElfREFUQV9UQUJMRV9ULCBNSVBJX0VUTV9UUENfREFUQV9NQVhfTlVNLCBOVUxMKQorCisvKiA2NyAqL05WUkFNX0lURU1fTUlQSShNSVBJX0VUTV9QQV9TRUNUSU9OX0RBVEFfMVhSVFQsIEJBTkRfQSwgTUFYX0JBTkRfTlVNLCBUUENfU0VDVElPTl9UQUJMRV9ULCBNSVBJX0VUTV9QQV9TRUNUSU9OX0RBVEFfTUFYX05VTSwgTlVMTCkKKy8qIDY4ICovTlZSQU1fSVRFTV9NSVBJKE1JUElfRVRNX1BBX1NFQ1RJT05fREFUQV8xWFJUVCwgQkFORF9CLCBNQVhfQkFORF9OVU0sIFRQQ19TRUNUSU9OX1RBQkxFX1QsIE1JUElfRVRNX1BBX1NFQ1RJT05fREFUQV9NQVhfTlVNLCBOVUxMKQorLyogNjkgKi9OVlJBTV9JVEVNX01JUEkoTUlQSV9FVE1fUEFfU0VDVElPTl9EQVRBXzFYUlRULCBCQU5EX0MsIE1BWF9CQU5EX05VTSwgVFBDX1NFQ1RJT05fVEFCTEVfVCwgTUlQSV9FVE1fUEFfU0VDVElPTl9EQVRBX01BWF9OVU0sIE5VTEwpCisvKiA3MCAqL05WUkFNX0lURU1fTUlQSShNSVBJX0VUTV9QQV9TRUNUSU9OX0RBVEFfMVhSVFQsIEJBTkRfRCwgTUFYX0JBTkRfTlVNLCBUUENfU0VDVElPTl9UQUJMRV9ULCBNSVBJX0VUTV9QQV9TRUNUSU9OX0RBVEFfTUFYX05VTSwgTlVMTCkKKy8qIDcxICovTlZSQU1fSVRFTV9NSVBJKE1JUElfRVRNX1BBX1NFQ1RJT05fREFUQV8xWFJUVCwgQkFORF9FLCBNQVhfQkFORF9OVU0sIFRQQ19TRUNUSU9OX1RBQkxFX1QsIE1JUElfRVRNX1BBX1NFQ1RJT05fREFUQV9NQVhfTlVNLCBOVUxMKQorCisKKy8qIDcyICovTlZSQU1fSVRFTV9NSVBJKE1JUElfRVRNX1BBX1NFQ1RJT05fREFUQV9FVkRPLCBCQU5EX0EsIE1BWF9CQU5EX05VTSwgVFBDX1NFQ1RJT05fVEFCTEVfVCwgTUlQSV9FVE1fUEFfU0VDVElPTl9EQVRBX01BWF9OVU0sIE5VTEwpCisvKiA3MyAqL05WUkFNX0lURU1fTUlQSShNSVBJX0VUTV9QQV9TRUNUSU9OX0RBVEFfRVZETywgQkFORF9CLCBNQVhfQkFORF9OVU0sIFRQQ19TRUNUSU9OX1RBQkxFX1QsIE1JUElfRVRNX1BBX1NFQ1RJT05fREFUQV9NQVhfTlVNLCBOVUxMKQorLyogNzQgKi9OVlJBTV9JVEVNX01JUEkoTUlQSV9FVE1fUEFfU0VDVElPTl9EQVRBX0VWRE8sIEJBTkRfQywgTUFYX0JBTkRfTlVNLCBUUENfU0VDVElPTl9UQUJMRV9ULCBNSVBJX0VUTV9QQV9TRUNUSU9OX0RBVEFfTUFYX05VTSwgTlVMTCkKKy8qIDc1ICovTlZSQU1fSVRFTV9NSVBJKE1JUElfRVRNX1BBX1NFQ1RJT05fREFUQV9FVkRPLCBCQU5EX0QsIE1BWF9CQU5EX05VTSwgVFBDX1NFQ1RJT05fVEFCTEVfVCwgTUlQSV9FVE1fUEFfU0VDVElPTl9EQVRBX01BWF9OVU0sIE5VTEwpCisvKiA3NiAqL05WUkFNX0lURU1fTUlQSShNSVBJX0VUTV9QQV9TRUNUSU9OX0RBVEFfRVZETywgQkFORF9FLCBNQVhfQkFORF9OVU0sIFRQQ19TRUNUSU9OX1RBQkxFX1QsIE1JUElfRVRNX1BBX1NFQ1RJT05fREFUQV9NQVhfTlVNLCBOVUxMKQorCisvKiBDYWxpYnJhdGlvbiBEYXRhICovCisvKiA3NyAqL05WUkFNX0lURU1fUkZfQ0FMKEFGQ19EQVRBLCAsIDEsICBBRkNfREFUQV9ULCAxLCBOVUxMKQorCisvKiA3OCAqL05WUkFNX0lURU1fUkZfQ0FMKFRYX0FQVF9QQV9DT05URVhUXzFYUlRULCBCQU5EX0EsIE1BWF9CQU5EX05VTSwgVFhfQVBUX1BBX0NPTlRFWFRfVCwgMSwgTlVMTCkKKy8qIDc5ICovTlZSQU1fSVRFTV9SRl9DQUwoVFhfQVBUX1BBX0NPTlRFWFRfMVhSVFQsIEJBTkRfQiwgTUFYX0JBTkRfTlVNLCBUWF9BUFRfUEFfQ09OVEVYVF9ULCAxLCBOVUxMKQorLyogODAgKi9OVlJBTV9JVEVNX1JGX0NBTChUWF9BUFRfUEFfQ09OVEVYVF8xWFJUVCwgQkFORF9DLCBNQVhfQkFORF9OVU0sIFRYX0FQVF9QQV9DT05URVhUX1QsIDEsIE5VTEwpCisvKiA4MSAqL05WUkFNX0lURU1fUkZfQ0FMKFRYX0FQVF9QQV9DT05URVhUXzFYUlRULCBCQU5EX0QsIE1BWF9CQU5EX05VTSwgVFhfQVBUX1BBX0NPTlRFWFRfVCwgMSwgTlVMTCkKKy8qIDgyICovTlZSQU1fSVRFTV9SRl9DQUwoVFhfQVBUX1BBX0NPTlRFWFRfMVhSVFQsIEJBTkRfRSwgTUFYX0JBTkRfTlVNLCBUWF9BUFRfUEFfQ09OVEVYVF9ULCAxLCBOVUxMKQorCisvKiA4MyAqL05WUkFNX0lURU1fUkZfQ0FMKFRYX0FQVF9QQV9DT05URVhUX0VWRE8sIEJBTkRfQSwgTUFYX0JBTkRfTlVNLCBUWF9BUFRfUEFfQ09OVEVYVF9ULCAxLCBOVUxMKQorLyogODQgKi9OVlJBTV9JVEVNX1JGX0NBTChUWF9BUFRfUEFfQ09OVEVYVF9FVkRPLCBCQU5EX0IsIE1BWF9CQU5EX05VTSwgVFhfQVBUX1BBX0NPTlRFWFRfVCwgMSwgTlVMTCkKKy8qIDg1ICovTlZSQU1fSVRFTV9SRl9DQUwoVFhfQVBUX1BBX0NPTlRFWFRfRVZETywgQkFORF9DLCBNQVhfQkFORF9OVU0sIFRYX0FQVF9QQV9DT05URVhUX1QsIDEsIE5VTEwpCisvKiA4NiAqL05WUkFNX0lURU1fUkZfQ0FMKFRYX0FQVF9QQV9DT05URVhUX0VWRE8sIEJBTkRfRCwgTUFYX0JBTkRfTlVNLCBUWF9BUFRfUEFfQ09OVEVYVF9ULCAxLCBOVUxMKQorLyogODcgKi9OVlJBTV9JVEVNX1JGX0NBTChUWF9BUFRfUEFfQ09OVEVYVF9FVkRPLCBCQU5EX0UsIE1BWF9CQU5EX05VTSwgVFhfQVBUX1BBX0NPTlRFWFRfVCwgMSwgTlVMTCkKKworLyogODggKi9OVlJBTV9JVEVNX1JGX0NBTChUWF9EUERfUEFfQ09OVEVYVF8xWFJUVCwgQkFORF9BLCBNQVhfQkFORF9OVU0sIFRYX0RQRF9QQV9DT05URVhUX1QsIDEsIE5VTEwpCisvKiA4OSAqL05WUkFNX0lURU1fUkZfQ0FMKFRYX0RQRF9QQV9DT05URVhUXzFYUlRULCBCQU5EX0IsIE1BWF9CQU5EX05VTSwgVFhfRFBEX1BBX0NPTlRFWFRfVCwgMSwgTlVMTCkKKy8qIDkwICovTlZSQU1fSVRFTV9SRl9DQUwoVFhfRFBEX1BBX0NPTlRFWFRfMVhSVFQsIEJBTkRfQywgTUFYX0JBTkRfTlVNLCBUWF9EUERfUEFfQ09OVEVYVF9ULCAxLCBOVUxMKQorLyogOTEgKi9OVlJBTV9JVEVNX1JGX0NBTChUWF9EUERfUEFfQ09OVEVYVF8xWFJUVCwgQkFORF9ELCBNQVhfQkFORF9OVU0sIFRYX0RQRF9QQV9DT05URVhUX1QsIDEsIE5VTEwpCisvKiA5MiAqL05WUkFNX0lURU1fUkZfQ0FMKFRYX0RQRF9QQV9DT05URVhUXzFYUlRULCBCQU5EX0UsIE1BWF9CQU5EX05VTSwgVFhfRFBEX1BBX0NPTlRFWFRfVCwgMSwgTlVMTCkKKworLyogOTMgKi9OVlJBTV9JVEVNX1JGX0NBTChUWF9EUERfUEFfQ09OVEVYVF9FVkRPLCBCQU5EX0EsIE1BWF9CQU5EX05VTSwgVFhfRFBEX1BBX0NPTlRFWFRfVCwgMSwgTlVMTCkKKy8qIDk0ICovTlZSQU1fSVRFTV9SRl9DQUwoVFhfRFBEX1BBX0NPTlRFWFRfRVZETywgQkFORF9CLCBNQVhfQkFORF9OVU0sIFRYX0RQRF9QQV9DT05URVhUX1QsIDEsIE5VTEwpCisvKiA5NSAqL05WUkFNX0lURU1fUkZfQ0FMKFRYX0RQRF9QQV9DT05URVhUX0VWRE8sIEJBTkRfQywgTUFYX0JBTkRfTlVNLCBUWF9EUERfUEFfQ09OVEVYVF9ULCAxLCBOVUxMKQorLyogOTYgKi9OVlJBTV9JVEVNX1JGX0NBTChUWF9EUERfUEFfQ09OVEVYVF9FVkRPLCBCQU5EX0QsIE1BWF9CQU5EX05VTSwgVFhfRFBEX1BBX0NPTlRFWFRfVCwgMSwgTlVMTCkKKy8qIDk3ICovTlZSQU1fSVRFTV9SRl9DQUwoVFhfRFBEX1BBX0NPTlRFWFRfRVZETywgQkFORF9FLCBNQVhfQkFORF9OVU0sIFRYX0RQRF9QQV9DT05URVhUX1QsIDEsIE5VTEwpCisKKyAgICAgICAgLyoqIFR4IFBBIGdhaW4gZnJlcXVlbmN5IGFuZCB0ZW1wZXJhdHVyZSBjb21wZW5zYXRpb24gY2FsIGRhdGEqLworLyogOTggKi8gTlZSQU1fSVRFTV9SRl9DQUwoVFhfQVBUX1BBX0dBSU5fQ09NUF8xWFJUVCwgQkFORF9BLCBNQVhfQkFORF9OVU0sIFRYX0FQVF9QQV9HQUlOX0NPTVBfVCwgMSwgTlVMTCkKKy8qIDk5ICovIE5WUkFNX0lURU1fUkZfQ0FMKFRYX0FQVF9QQV9HQUlOX0NPTVBfMVhSVFQsIEJBTkRfQiwgTUFYX0JBTkRfTlVNLCBUWF9BUFRfUEFfR0FJTl9DT01QX1QsIDEsIE5VTEwpCisvKiAxMDAgKi9OVlJBTV9JVEVNX1JGX0NBTChUWF9BUFRfUEFfR0FJTl9DT01QXzFYUlRULCBCQU5EX0MsIE1BWF9CQU5EX05VTSwgVFhfQVBUX1BBX0dBSU5fQ09NUF9ULCAxLCBOVUxMKQorLyogMTAxICovTlZSQU1fSVRFTV9SRl9DQUwoVFhfQVBUX1BBX0dBSU5fQ09NUF8xWFJUVCwgQkFORF9ELCBNQVhfQkFORF9OVU0sIFRYX0FQVF9QQV9HQUlOX0NPTVBfVCwgMSwgTlVMTCkKKy8qIDEwMiAqL05WUkFNX0lURU1fUkZfQ0FMKFRYX0FQVF9QQV9HQUlOX0NPTVBfMVhSVFQsIEJBTkRfRSwgTUFYX0JBTkRfTlVNLCBUWF9BUFRfUEFfR0FJTl9DT01QX1QsIDEsIE5VTEwpCisvKiAxMDMgKi9OVlJBTV9JVEVNX1JGX0NBTChUWF9BUFRfUEFfR0FJTl9DT01QX0VWRE8sIEJBTkRfQSwgTUFYX0JBTkRfTlVNLCBUWF9BUFRfUEFfR0FJTl9DT01QX1QsIDEsIE5VTEwpCisvKiAxMDQgKi9OVlJBTV9JVEVNX1JGX0NBTChUWF9BUFRfUEFfR0FJTl9DT01QX0VWRE8sIEJBTkRfQiwgTUFYX0JBTkRfTlVNLCBUWF9BUFRfUEFfR0FJTl9DT01QX1QsIDEsIE5VTEwpCisvKiAxMDUgKi9OVlJBTV9JVEVNX1JGX0NBTChUWF9BUFRfUEFfR0FJTl9DT01QX0VWRE8sIEJBTkRfQywgTUFYX0JBTkRfTlVNLCBUWF9BUFRfUEFfR0FJTl9DT01QX1QsIDEsIE5VTEwpCisvKiAxMDYgKi9OVlJBTV9JVEVNX1JGX0NBTChUWF9BUFRfUEFfR0FJTl9DT01QX0VWRE8sIEJBTkRfRCwgTUFYX0JBTkRfTlVNLCBUWF9BUFRfUEFfR0FJTl9DT01QX1QsIDEsIE5VTEwpCisvKiAxMDcgKi9OVlJBTV9JVEVNX1JGX0NBTChUWF9BUFRfUEFfR0FJTl9DT01QX0VWRE8sIEJBTkRfRSwgTUFYX0JBTkRfTlVNLCBUWF9BUFRfUEFfR0FJTl9DT01QX1QsIDEsIE5VTEwpCisKKy8qIDEwOCAqL05WUkFNX0lURU1fUkZfQ0FMKFRYX0RQRF9QQV9HQUlOX0NPTVBfMVhSVFQsIEJBTkRfQSwgTUFYX0JBTkRfTlVNLCBUWF9EUERfUEFfR0FJTl9DT01QX1QsIDEsIE5VTEwpCisvKiAxMDkgKi9OVlJBTV9JVEVNX1JGX0NBTChUWF9EUERfUEFfR0FJTl9DT01QXzFYUlRULCBCQU5EX0IsIE1BWF9CQU5EX05VTSwgVFhfRFBEX1BBX0dBSU5fQ09NUF9ULCAxLCBOVUxMKQorLyogMTEwICovTlZSQU1fSVRFTV9SRl9DQUwoVFhfRFBEX1BBX0dBSU5fQ09NUF8xWFJUVCwgQkFORF9DLCBNQVhfQkFORF9OVU0sIFRYX0RQRF9QQV9HQUlOX0NPTVBfVCwgMSwgTlVMTCkKKy8qIDExMSAqL05WUkFNX0lURU1fUkZfQ0FMKFRYX0RQRF9QQV9HQUlOX0NPTVBfMVhSVFQsIEJBTkRfRCwgTUFYX0JBTkRfTlVNLCBUWF9EUERfUEFfR0FJTl9DT01QX1QsIDEsIE5VTEwpCisvKiAxMTIgKi9OVlJBTV9JVEVNX1JGX0NBTChUWF9EUERfUEFfR0FJTl9DT01QXzFYUlRULCBCQU5EX0UsIE1BWF9CQU5EX05VTSwgVFhfRFBEX1BBX0dBSU5fQ09NUF9ULCAxLCBOVUxMKQorLyogMTEzICovTlZSQU1fSVRFTV9SRl9DQUwoVFhfRFBEX1BBX0dBSU5fQ09NUF9FVkRPLCBCQU5EX0EsIE1BWF9CQU5EX05VTSwgVFhfRFBEX1BBX0dBSU5fQ09NUF9ULCAxLCBOVUxMKQorLyogMTE0ICovTlZSQU1fSVRFTV9SRl9DQUwoVFhfRFBEX1BBX0dBSU5fQ09NUF9FVkRPLCBCQU5EX0IsIE1BWF9CQU5EX05VTSwgVFhfRFBEX1BBX0dBSU5fQ09NUF9ULCAxLCBOVUxMKQorLyogMTE1ICovTlZSQU1fSVRFTV9SRl9DQUwoVFhfRFBEX1BBX0dBSU5fQ09NUF9FVkRPLCBCQU5EX0MsIE1BWF9CQU5EX05VTSwgVFhfRFBEX1BBX0dBSU5fQ09NUF9ULCAxLCBOVUxMKQorLyogMTE2ICovTlZSQU1fSVRFTV9SRl9DQUwoVFhfRFBEX1BBX0dBSU5fQ09NUF9FVkRPLCBCQU5EX0QsIE1BWF9CQU5EX05VTSwgVFhfRFBEX1BBX0dBSU5fQ09NUF9ULCAxLCBOVUxMKQorLyogMTE3ICovTlZSQU1fSVRFTV9SRl9DQUwoVFhfRFBEX1BBX0dBSU5fQ09NUF9FVkRPLCBCQU5EX0UsIE1BWF9CQU5EX05VTSwgVFhfRFBEX1BBX0dBSU5fQ09NUF9ULCAxLCBOVUxMKQorCisKKy8qIDExOCAqL05WUkFNX0lURU1fUkZfQ0FMKERFVF9DT1VQTEVfTE9TU18xWFJUVCwgQkFORF9BLCBNQVhfQkFORF9OVU0sIERFVF9DT1VQTEVfTE9TU19ULCAxLCBOVUxMKQorLyogMTE5ICovTlZSQU1fSVRFTV9SRl9DQUwoREVUX0NPVVBMRV9MT1NTXzFYUlRULCBCQU5EX0IsIE1BWF9CQU5EX05VTSwgREVUX0NPVVBMRV9MT1NTX1QsIDEsIE5VTEwpCisvKiAxMjAgKi9OVlJBTV9JVEVNX1JGX0NBTChERVRfQ09VUExFX0xPU1NfMVhSVFQsIEJBTkRfQywgTUFYX0JBTkRfTlVNLCBERVRfQ09VUExFX0xPU1NfVCwgMSwgTlVMTCkKKy8qIDEyMSAqL05WUkFNX0lURU1fUkZfQ0FMKERFVF9DT1VQTEVfTE9TU18xWFJUVCwgQkFORF9ELCBNQVhfQkFORF9OVU0sIERFVF9DT1VQTEVfTE9TU19ULCAxLCBOVUxMKQorLyogMTIyICovTlZSQU1fSVRFTV9SRl9DQUwoREVUX0NPVVBMRV9MT1NTXzFYUlRULCBCQU5EX0UsIE1BWF9CQU5EX05VTSwgREVUX0NPVVBMRV9MT1NTX1QsIDEsIE5VTEwpCisvKiAxMjMgKi9OVlJBTV9JVEVNX1JGX0NBTChERVRfQ09VUExFX0xPU1NfRVZETywgQkFORF9BLCBNQVhfQkFORF9OVU0sIERFVF9DT1VQTEVfTE9TU19ULCAxLCBOVUxMKQorLyogMTI0ICovTlZSQU1fSVRFTV9SRl9DQUwoREVUX0NPVVBMRV9MT1NTX0VWRE8sIEJBTkRfQiwgTUFYX0JBTkRfTlVNLCBERVRfQ09VUExFX0xPU1NfVCwgMSwgTlVMTCkKKy8qIDEyNSAqL05WUkFNX0lURU1fUkZfQ0FMKERFVF9DT1VQTEVfTE9TU19FVkRPLCBCQU5EX0MsIE1BWF9CQU5EX05VTSwgREVUX0NPVVBMRV9MT1NTX1QsIDEsIE5VTEwpCisvKiAxMjYgKi9OVlJBTV9JVEVNX1JGX0NBTChERVRfQ09VUExFX0xPU1NfRVZETywgQkFORF9ELCBNQVhfQkFORF9OVU0sIERFVF9DT1VQTEVfTE9TU19ULCAxLCBOVUxMKQorLyogMTI3ICovTlZSQU1fSVRFTV9SRl9DQUwoREVUX0NPVVBMRV9MT1NTX0VWRE8sIEJBTkRfRSwgTUFYX0JBTkRfTlVNLCBERVRfQ09VUExFX0xPU1NfVCwgMSwgTlVMTCkKKworLyogMTI4ICovTlZSQU1fSVRFTV9SRl9DQUwoREVUX0NPVVBMRV9MT1NTX0NPTVBfMVhSVFQsIEJBTkRfQSwgTUFYX0JBTkRfTlVNLCBERVRfQ09VUExFX0xPU1NfQ09NUF9ULCAxLCBOVUxMKQorLyogMTI5ICovTlZSQU1fSVRFTV9SRl9DQUwoREVUX0NPVVBMRV9MT1NTX0NPTVBfMVhSVFQsIEJBTkRfQiwgTUFYX0JBTkRfTlVNLCBERVRfQ09VUExFX0xPU1NfQ09NUF9ULCAxLCBOVUxMKQorLyogMTMwICovTlZSQU1fSVRFTV9SRl9DQUwoREVUX0NPVVBMRV9MT1NTX0NPTVBfMVhSVFQsIEJBTkRfQywgTUFYX0JBTkRfTlVNLCBERVRfQ09VUExFX0xPU1NfQ09NUF9ULCAxLCBOVUxMKQorLyogMTMxICovTlZSQU1fSVRFTV9SRl9DQUwoREVUX0NPVVBMRV9MT1NTX0NPTVBfMVhSVFQsIEJBTkRfRCwgTUFYX0JBTkRfTlVNLCBERVRfQ09VUExFX0xPU1NfQ09NUF9ULCAxLCBOVUxMKQorLyogMTMyICovTlZSQU1fSVRFTV9SRl9DQUwoREVUX0NPVVBMRV9MT1NTX0NPTVBfMVhSVFQsIEJBTkRfRSwgTUFYX0JBTkRfTlVNLCBERVRfQ09VUExFX0xPU1NfQ09NUF9ULCAxLCBOVUxMKQorLyogMTMzICovTlZSQU1fSVRFTV9SRl9DQUwoREVUX0NPVVBMRV9MT1NTX0NPTVBfRVZETywgQkFORF9BLCBNQVhfQkFORF9OVU0sIERFVF9DT1VQTEVfTE9TU19DT01QX1QsIDEsIE5VTEwpCisvKiAxMzQgKi9OVlJBTV9JVEVNX1JGX0NBTChERVRfQ09VUExFX0xPU1NfQ09NUF9FVkRPLCBCQU5EX0IsIE1BWF9CQU5EX05VTSwgREVUX0NPVVBMRV9MT1NTX0NPTVBfVCwgMSwgTlVMTCkKKy8qIDEzNSAqL05WUkFNX0lURU1fUkZfQ0FMKERFVF9DT1VQTEVfTE9TU19DT01QX0VWRE8sIEJBTkRfQywgTUFYX0JBTkRfTlVNLCBERVRfQ09VUExFX0xPU1NfQ09NUF9ULCAxLCBOVUxMKQorLyogMTM2ICovTlZSQU1fSVRFTV9SRl9DQUwoREVUX0NPVVBMRV9MT1NTX0NPTVBfRVZETywgQkFORF9ELCBNQVhfQkFORF9OVU0sIERFVF9DT1VQTEVfTE9TU19DT01QX1QsIDEsIE5VTEwpCisvKiAxMzcgKi9OVlJBTV9JVEVNX1JGX0NBTChERVRfQ09VUExFX0xPU1NfQ09NUF9FVkRPLCBCQU5EX0UsIE1BWF9CQU5EX05VTSwgREVUX0NPVVBMRV9MT1NTX0NPTVBfVCwgMSwgTlVMTCkKKworICAgICAgICAvKiogUnggcGF0aGxvc3MgY29tcGVuc2F0aW9uIGNhbCBkYXRhIGluIGhpZ2ggcG93ZXIgbW9kZSovCisvKiAxNDggKi9OVlJBTV9JVEVNX1JGX0NBTChNQUlOX1JYX1BBVEhfTE9TU19IUE0sIEJBTkRfQSwgTUFYX0JBTkRfTlVNLCBSWF9QQVRIX0xPU1NfQ09NUF9ULCAxLCBOVUxMKQorLyogMTQ5ICovTlZSQU1fSVRFTV9SRl9DQUwoTUFJTl9SWF9QQVRIX0xPU1NfSFBNLCBCQU5EX0IsIE1BWF9CQU5EX05VTSwgUlhfUEFUSF9MT1NTX0NPTVBfVCwgMSwgTlVMTCkKKy8qIDE1MCAqL05WUkFNX0lURU1fUkZfQ0FMKE1BSU5fUlhfUEFUSF9MT1NTX0hQTSwgQkFORF9DLCBNQVhfQkFORF9OVU0sIFJYX1BBVEhfTE9TU19DT01QX1QsIDEsIE5VTEwpCisvKiAxNTEgKi9OVlJBTV9JVEVNX1JGX0NBTChNQUlOX1JYX1BBVEhfTE9TU19IUE0sIEJBTkRfRCwgTUFYX0JBTkRfTlVNLCBSWF9QQVRIX0xPU1NfQ09NUF9ULCAxLCBOVUxMKQorLyogMTUyICovTlZSQU1fSVRFTV9SRl9DQUwoTUFJTl9SWF9QQVRIX0xPU1NfSFBNLCBCQU5EX0UsIE1BWF9CQU5EX05VTSwgUlhfUEFUSF9MT1NTX0NPTVBfVCwgMSwgTlVMTCkKKy8qIDE1MyAqL05WUkFNX0lURU1fUkZfQ0FMKE1BSU5fUlhfUEFUSF9MT1NTX0xQTSwgQkFORF9BLCBNQVhfQkFORF9OVU0sIFJYX1BBVEhfTE9TU19DT01QX1QsIDEsIE5VTEwpCisvKiAxNTQgKi9OVlJBTV9JVEVNX1JGX0NBTChNQUlOX1JYX1BBVEhfTE9TU19MUE0sIEJBTkRfQiwgTUFYX0JBTkRfTlVNLCBSWF9QQVRIX0xPU1NfQ09NUF9ULCAxLCBOVUxMKQorLyogMTU1ICovTlZSQU1fSVRFTV9SRl9DQUwoTUFJTl9SWF9QQVRIX0xPU1NfTFBNLCBCQU5EX0MsIE1BWF9CQU5EX05VTSwgUlhfUEFUSF9MT1NTX0NPTVBfVCwgMSwgTlVMTCkKKy8qIDE1NiAqL05WUkFNX0lURU1fUkZfQ0FMKE1BSU5fUlhfUEFUSF9MT1NTX0xQTSwgQkFORF9ELCBNQVhfQkFORF9OVU0sIFJYX1BBVEhfTE9TU19DT01QX1QsIDEsIE5VTEwpCisvKiAxNTcgKi9OVlJBTV9JVEVNX1JGX0NBTChNQUlOX1JYX1BBVEhfTE9TU19MUE0sIEJBTkRfRSwgTUFYX0JBTkRfTlVNLCBSWF9QQVRIX0xPU1NfQ09NUF9ULCAxLCBOVUxMKQorCisvKiAxNjggKi9OVlJBTV9JVEVNX1JGX0NBTChESVZfUlhfUEFUSF9MT1NTX0hQTSwgQkFORF9BLCBNQVhfQkFORF9OVU0sIFJYX1BBVEhfTE9TU19DT01QX1QsIDEsIE5VTEwpCisvKiAxNjkgKi9OVlJBTV9JVEVNX1JGX0NBTChESVZfUlhfUEFUSF9MT1NTX0hQTSwgQkFORF9CLCBNQVhfQkFORF9OVU0sIFJYX1BBVEhfTE9TU19DT01QX1QsIDEsIE5VTEwpCisvKiAxNzAgKi9OVlJBTV9JVEVNX1JGX0NBTChESVZfUlhfUEFUSF9MT1NTX0hQTSwgQkFORF9DLCBNQVhfQkFORF9OVU0sIFJYX1BBVEhfTE9TU19DT01QX1QsIDEsIE5VTEwpCisvKiAxNzEgKi9OVlJBTV9JVEVNX1JGX0NBTChESVZfUlhfUEFUSF9MT1NTX0hQTSwgQkFORF9ELCBNQVhfQkFORF9OVU0sIFJYX1BBVEhfTE9TU19DT01QX1QsIDEsIE5VTEwpCisvKiAxNzIgKi9OVlJBTV9JVEVNX1JGX0NBTChESVZfUlhfUEFUSF9MT1NTX0hQTSwgQkFORF9FLCBNQVhfQkFORF9OVU0sIFJYX1BBVEhfTE9TU19DT01QX1QsIDEsIE5VTEwpCisvKiAxNzMgKi9OVlJBTV9JVEVNX1JGX0NBTChESVZfUlhfUEFUSF9MT1NTX0xQTSwgQkFORF9BLCBNQVhfQkFORF9OVU0sIFJYX1BBVEhfTE9TU19DT01QX1QsIDEsIE5VTEwpCisvKiAxNzQgKi9OVlJBTV9JVEVNX1JGX0NBTChESVZfUlhfUEFUSF9MT1NTX0xQTSwgQkFORF9CLCBNQVhfQkFORF9OVU0sIFJYX1BBVEhfTE9TU19DT01QX1QsIDEsIE5VTEwpCisvKiAxNzUgKi9OVlJBTV9JVEVNX1JGX0NBTChESVZfUlhfUEFUSF9MT1NTX0xQTSwgQkFORF9DLCBNQVhfQkFORF9OVU0sIFJYX1BBVEhfTE9TU19DT01QX1QsIDEsIE5VTEwpCisvKiAxNzYgKi9OVlJBTV9JVEVNX1JGX0NBTChESVZfUlhfUEFUSF9MT1NTX0xQTSwgQkFORF9ELCBNQVhfQkFORF9OVU0sIFJYX1BBVEhfTE9TU19DT01QX1QsIDEsIE5VTEwpCisvKiAxNzcgKi9OVlJBTV9JVEVNX1JGX0NBTChESVZfUlhfUEFUSF9MT1NTX0xQTSwgQkFORF9FLCBNQVhfQkFORF9OVU0sIFJYX1BBVEhfTE9TU19DT01QX1QsIDEsIE5VTEwpCisKKy8qIDE4OCAqL05WUkFNX0lURU1fUkZfQ0FMKFNIRFJfUlhfUEFUSF9MT1NTX0hQTSwgQkFORF9BLCBNQVhfQkFORF9OVU0sIFJYX1BBVEhfTE9TU19DT01QX1QsIDEsIE5VTEwpCisvKiAxODkgKi9OVlJBTV9JVEVNX1JGX0NBTChTSERSX1JYX1BBVEhfTE9TU19IUE0sIEJBTkRfQiwgTUFYX0JBTkRfTlVNLCBSWF9QQVRIX0xPU1NfQ09NUF9ULCAxLCBOVUxMKQorLyogMTkwICovTlZSQU1fSVRFTV9SRl9DQUwoU0hEUl9SWF9QQVRIX0xPU1NfSFBNLCBCQU5EX0MsIE1BWF9CQU5EX05VTSwgUlhfUEFUSF9MT1NTX0NPTVBfVCwgMSwgTlVMTCkKKy8qIDE5MSAqL05WUkFNX0lURU1fUkZfQ0FMKFNIRFJfUlhfUEFUSF9MT1NTX0hQTSwgQkFORF9ELCBNQVhfQkFORF9OVU0sIFJYX1BBVEhfTE9TU19DT01QX1QsIDEsIE5VTEwpCisvKiAxOTIgKi9OVlJBTV9JVEVNX1JGX0NBTChTSERSX1JYX1BBVEhfTE9TU19IUE0sIEJBTkRfRSwgTUFYX0JBTkRfTlVNLCBSWF9QQVRIX0xPU1NfQ09NUF9ULCAxLCBOVUxMKQorLyogMTkzICovTlZSQU1fSVRFTV9SRl9DQUwoU0hEUl9SWF9QQVRIX0xPU1NfTFBNLCBCQU5EX0EsIE1BWF9CQU5EX05VTSwgUlhfUEFUSF9MT1NTX0NPTVBfVCwgMSwgTlVMTCkKKy8qIDE5NCAqL05WUkFNX0lURU1fUkZfQ0FMKFNIRFJfUlhfUEFUSF9MT1NTX0xQTSwgQkFORF9CLCBNQVhfQkFORF9OVU0sIFJYX1BBVEhfTE9TU19DT01QX1QsIDEsIE5VTEwpCisvKiAxOTUgKi9OVlJBTV9JVEVNX1JGX0NBTChTSERSX1JYX1BBVEhfTE9TU19MUE0sIEJBTkRfQywgTUFYX0JBTkRfTlVNLCBSWF9QQVRIX0xPU1NfQ09NUF9ULCAxLCBOVUxMKQorLyogMTk2ICovTlZSQU1fSVRFTV9SRl9DQUwoU0hEUl9SWF9QQVRIX0xPU1NfTFBNLCBCQU5EX0QsIE1BWF9CQU5EX05VTSwgUlhfUEFUSF9MT1NTX0NPTVBfVCwgMSwgTlVMTCkKKy8qIDE5NyAqL05WUkFNX0lURU1fUkZfQ0FMKFNIRFJfUlhfUEFUSF9MT1NTX0xQTSwgQkFORF9FLCBNQVhfQkFORF9OVU0sIFJYX1BBVEhfTE9TU19DT01QX1QsIDEsIE5VTEwpCisKKy8qIDE5OCAqL05WUkFNX0lURU1fUkZfQ0FMKEFHUFNfR1JPVVBfREVMQVksIEJBTkRfQSwgTUFYX0JBTkRfTlVNLCBBR1BTX0dST1VQX0RFTEFZX1QsIDEsIE5VTEwpCisvKiAxOTkgKi9OVlJBTV9JVEVNX1JGX0NBTChBR1BTX0dST1VQX0RFTEFZLCBCQU5EX0IsIE1BWF9CQU5EX05VTSwgQUdQU19HUk9VUF9ERUxBWV9ULCAxLCBOVUxMKQorLyogMjAwICovTlZSQU1fSVRFTV9SRl9DQUwoQUdQU19HUk9VUF9ERUxBWSwgQkFORF9DLCBNQVhfQkFORF9OVU0sIEFHUFNfR1JPVVBfREVMQVlfVCwgMSwgTlVMTCkKKy8qIDIwMSAqL05WUkFNX0lURU1fUkZfQ0FMKEFHUFNfR1JPVVBfREVMQVksIEJBTkRfRCwgTUFYX0JBTkRfTlVNLCBBR1BTX0dST1VQX0RFTEFZX1QsIDEsIE5VTEwpCisvKiAyMDIgKi9OVlJBTV9JVEVNX1JGX0NBTChBR1BTX0dST1VQX0RFTEFZLCBCQU5EX0UsIE1BWF9CQU5EX05VTSwgQUdQU19HUk9VUF9ERUxBWV9ULCAxLCBOVUxMKQorCisvKiAyMTMgKi9OVlJBTV9JVEVNX1JGX1BPQyhQT0NfRklOQUwsIEJBTkRfQSwgTUFYX0JBTkRfTlVNLCBQT0NfRklOQUxfVCwgMSwgTlVMTCkKKy8qIDIxNCAqL05WUkFNX0lURU1fUkZfUE9DKFBPQ19GSU5BTCwgQkFORF9CLCBNQVhfQkFORF9OVU0sIFBPQ19GSU5BTF9ULCAxLCBOVUxMKQorLyogMjE1ICovTlZSQU1fSVRFTV9SRl9QT0MoUE9DX0ZJTkFMLCBCQU5EX0MsIE1BWF9CQU5EX05VTSwgUE9DX0ZJTkFMX1QsIDEsIE5VTEwpCisvKiAyMTYgKi9OVlJBTV9JVEVNX1JGX1BPQyhQT0NfRklOQUwsIEJBTkRfRCwgTUFYX0JBTkRfTlVNLCBQT0NfRklOQUxfVCwgMSwgTlVMTCkKKy8qIDIxNyAqL05WUkFNX0lURU1fUkZfUE9DKFBPQ19GSU5BTCwgQkFORF9FLCBNQVhfQkFORF9OVU0sIFBPQ19GSU5BTF9ULCAxLCBOVUxMKQorCisvLy9UT0RPOiBUQVMKKy8qKioKK0MyS19DVVNUT01fVEFTX0ZFQVRVUkVfQllfUkFUX1QJCQlDTDFEX1JGXwlUQVNfRkVBVFVSRV9CWV9SQVRfVAorQzJLX0NVU1RPTV9UQVNfRkVfUk9VVEVfREFUQUJBU0VfVAkJQ0wxRF9SRl8JVEFTX0ZFX1JPVVRFX0RBVEFCQVNFX1QKK0MyS19DVVNUT01fVEFTX0ZFX0NBVF9BX1QJCQkJCUNMMURfUkZfCVRBU19GRV9DQVRfQV9UCitDMktfQ1VTVE9NX1RBU19GRV9DQVRfQl9UCQkJCQlDTDFEX1JGXwlUQVNfRkVfQ0FUX0JfVAorQzJLX0NVU1RPTV9UQVNfRkVfQ0FUX0NfVAkJCQkJQ0wxRF9SRl8JVEFTX0ZFX0NBVF9DX1QKK0MyS19UVU5FUl9GRV9ST1VURV9UQUJMRQkJCQkJQ0wxRF9SRl8JVFVORVJfRkVfUk9VVEVfVEFCTEUKK0MyS19DVVNUT01fVFVORVJfQkFORF9UCQkJCQkJQ0wxRF9SRl8JVFVORVJfQkFORF9UCitDMktfQ1VTVE9NX1RBU19DRkdfVAorCitNSVBJX0VWRU5UX1RBQkxFX1QKK01JUElfREFUQV9TVUJCQU5EX1RBQkxFX1QKKyoqKi8KKy8qKiogVEFTIEJQSSAqKiovLyogVkFSICovCisvKiAyMTggKi9OVlJBTV9JVEVNX1JGX1RBU19WQVIoQ1VTVF9UQVNfRkVBVFVSRSwgLCAxLCBUQVNfRkVBVFVSRV9CWV9SQVRfVCwgMSwgTlVMTCkKKyNpZmRlZiBfX01EOTNfXworLyogMjE5ICovTlZSQU1fSVRFTV9SRl9UQVNfVkFSKENVU1RfVEFTX0ZFX1JPVVRFX0RBVEFCQVNFLCAsIDEsIFRBU19GRV9ST1VURV9EQVRBQkFTRV9ULCAxLCBOVUxMKQorLyogMjIwICovTlZSQU1fSVRFTV9SRl9UQVNfVkFSKENVU1RfVEFTX0ZFX0NBVF9BLCAsIDEsIFRBU19GRV9DQVRfQV9ULCAxLCBOVUxMKQorLyogMjIxICovTlZSQU1fSVRFTV9SRl9UQVNfVkFSKENVU1RfVEFTX0ZFX0NBVF9CLCAsIDEsIFRBU19GRV9DQVRfQl9ULCAxLCBOVUxMKQorLyogMjIyICovTlZSQU1fSVRFTV9SRl9UQVNfVkFSKENVU1RfVEFTX0ZFX0NBVF9DLCAsIDEsIFRBU19GRV9DQVRfQ19ULCAxLCBOVUxMKQorLyogMjIzICovTlZSQU1fSVRFTV9SRl9UQVNfVkFSKENVU1RfVFVORVJfRkVfUk9VVEVfVEFCTEUsICwgMSwgVFVORVJfRkVfUk9VVEVfVEFCTEUsIDEsIE5VTEwpCisvKiAyMjQgKi9OVlJBTV9JVEVNX1JGX1RBU19WQVIoQ1VTVF9UVU5FUiwgQkFORF9BLCBNQVhfQkFORF9OVU0sIFRVTkVSX0JBTkRfVCwgMSwgTlVMTCkKKy8qIDIyNSAqL05WUkFNX0lURU1fUkZfVEFTX1ZBUihDVVNUX1RVTkVSLCBCQU5EX0IsIE1BWF9CQU5EX05VTSwgVFVORVJfQkFORF9ULCAxLCBOVUxMKQorLyogMjI2ICovTlZSQU1fSVRFTV9SRl9UQVNfVkFSKENVU1RfVFVORVIsIEJBTkRfQywgTUFYX0JBTkRfTlVNLCBUVU5FUl9CQU5EX1QsIDEsIE5VTEwpCisvKiAyMjcgKi9OVlJBTV9JVEVNX1JGX1RBU19WQVIoQ1VTVF9UVU5FUiwgQkFORF9ELCBNQVhfQkFORF9OVU0sIFRVTkVSX0JBTkRfVCwgMSwgTlVMTCkKKy8qIDIyOCAqL05WUkFNX0lURU1fUkZfVEFTX1ZBUihDVVNUX1RVTkVSLCBCQU5EX0UsIE1BWF9CQU5EX05VTSwgVFVORVJfQkFORF9ULCAxLCBOVUxMKQorCisvKioqIFRBUyBNSVBJICoqKi8vKiBBUlJBWSAqLworLyogMjI5ICovTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkoQ1VTVF9UVU5FUl9ST1VURV9FVkVOVCwgQkFORF9BLCBNQVhfQkFORF9OVU0sIE1JUElfRVZFTlRfVEFCTEVfVCwgTUlQSV9UQVNfRVZFTlRfTUFYX05VTSwgTlVMTCkKKy8qIDIzMCAqL05WUkFNX0lURU1fUkZfVEFTX0FSUkFZKENVU1RfVFVORVJfUk9VVEVfRVZFTlQsIEJBTkRfQiwgTUFYX0JBTkRfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfVEFTX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAyMzEgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShDVVNUX1RVTkVSX1JPVVRFX0VWRU5ULCBCQU5EX0MsIE1BWF9CQU5EX05VTSwgTUlQSV9FVkVOVF9UQUJMRV9ULCBNSVBJX1RBU19FVkVOVF9NQVhfTlVNLCBOVUxMKQorLyogMjMyICovTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkoQ1VTVF9UVU5FUl9ST1VURV9FVkVOVCwgQkFORF9ELCBNQVhfQkFORF9OVU0sIE1JUElfRVZFTlRfVEFCTEVfVCwgTUlQSV9UQVNfRVZFTlRfTUFYX05VTSwgTlVMTCkKKy8qIDIzMyAqL05WUkFNX0lURU1fUkZfVEFTX0FSUkFZKENVU1RfVFVORVJfUk9VVEVfRVZFTlQsIEJBTkRfRSwgTUFYX0JBTkRfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfVEFTX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAyMzQgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShDVVNUX1RVTkVSX1JPVVRFX0RBVEEsIEJBTkRfQSwgTUFYX0JBTkRfTlVNLCBNSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9ULCBNSVBJX1RBU19EQVRBX01BWF9OVU0sIE5VTEwpCisvKiAyMzUgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShDVVNUX1RVTkVSX1JPVVRFX0RBVEEsIEJBTkRfQiwgTUFYX0JBTkRfTlVNLCBNSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9ULCBNSVBJX1RBU19EQVRBX01BWF9OVU0sIE5VTEwpCisvKiAyMzYgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShDVVNUX1RVTkVSX1JPVVRFX0RBVEEsIEJBTkRfQywgTUFYX0JBTkRfTlVNLCBNSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9ULCBNSVBJX1RBU19EQVRBX01BWF9OVU0sIE5VTEwpCisvKiAyMzcgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShDVVNUX1RVTkVSX1JPVVRFX0RBVEEsIEJBTkRfRCwgTUFYX0JBTkRfTlVNLCBNSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9ULCBNSVBJX1RBU19EQVRBX01BWF9OVU0sIE5VTEwpCisvKiAyMzggKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShDVVNUX1RVTkVSX1JPVVRFX0RBVEEsIEJBTkRfRSwgTUFYX0JBTkRfTlVNLCBNSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9ULCBNSVBJX1RBU19EQVRBX01BWF9OVU0sIE5VTEwpCisKKy8qIDIzOSAqL05WUkFNX0lURU1fUkZfVEFTX0FSUkFZKENVU1RfVEFTX0VWRU5UX0NBVF9BLCBSb3V0ZTAsIE1BWF9Sb3V0ZV9OVU0sIE1JUElfRVZFTlRfVEFCTEVfVCwgTUlQSV9UQVNfRVZFTlRfTUFYX05VTSwgTlVMTCkKKy8qIDI0MCAqL05WUkFNX0lURU1fUkZfVEFTX0FSUkFZKENVU1RfVEFTX0VWRU5UX0NBVF9BLCBSb3V0ZTEsIE1BWF9Sb3V0ZV9OVU0sIE1JUElfRVZFTlRfVEFCTEVfVCwgTUlQSV9UQVNfRVZFTlRfTUFYX05VTSwgTlVMTCkKKy8qIDI0MSAqL05WUkFNX0lURU1fUkZfVEFTX0FSUkFZKENVU1RfVEFTX0VWRU5UX0NBVF9BLCBSb3V0ZTIsIE1BWF9Sb3V0ZV9OVU0sIE1JUElfRVZFTlRfVEFCTEVfVCwgTUlQSV9UQVNfRVZFTlRfTUFYX05VTSwgTlVMTCkKKy8qIDI0MiAqL05WUkFNX0lURU1fUkZfVEFTX0FSUkFZKENVU1RfVEFTX0VWRU5UX0NBVF9BLCBSb3V0ZTMsIE1BWF9Sb3V0ZV9OVU0sIE1JUElfRVZFTlRfVEFCTEVfVCwgTUlQSV9UQVNfRVZFTlRfTUFYX05VTSwgTlVMTCkKKy8qIDI0MyAqL05WUkFNX0lURU1fUkZfVEFTX0FSUkFZKENVU1RfVEFTX0RBVEFfQ0FUX0EsIFJvdXRlMCwgTUFYX1JvdXRlX05VTSwgTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCwgTUlQSV9UQVNfREFUQV9NQVhfTlVNLCBOVUxMKQorLyogMjQ0ICovTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkoQ1VTVF9UQVNfREFUQV9DQVRfQSwgUm91dGUxLCBNQVhfUm91dGVfTlVNLCBNSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9ULCBNSVBJX1RBU19EQVRBX01BWF9OVU0sIE5VTEwpCisvKiAyNDUgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShDVVNUX1RBU19EQVRBX0NBVF9BLCBSb3V0ZTIsIE1BWF9Sb3V0ZV9OVU0sIE1JUElfREFUQV9TVUJCQU5EX1RBQkxFX1QsIE1JUElfVEFTX0RBVEFfTUFYX05VTSwgTlVMTCkKKy8qIDI0NiAqL05WUkFNX0lURU1fUkZfVEFTX0FSUkFZKENVU1RfVEFTX0RBVEFfQ0FUX0EsIFJvdXRlMywgTUFYX1JvdXRlX05VTSwgTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCwgTUlQSV9UQVNfREFUQV9NQVhfTlVNLCBOVUxMKQorCisvKiAyNDcgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShDVVNUX1RBU19FVkVOVF9DQVRfQiwgUm91dGUwLCBNQVhfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfVEFTX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAyNDggKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShDVVNUX1RBU19FVkVOVF9DQVRfQiwgUm91dGUxLCBNQVhfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfVEFTX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAyNDkgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShDVVNUX1RBU19FVkVOVF9DQVRfQiwgUm91dGUyLCBNQVhfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfVEFTX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAyNTAgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShDVVNUX1RBU19FVkVOVF9DQVRfQiwgUm91dGUzLCBNQVhfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfVEFTX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAyNTEgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShDVVNUX1RBU19EQVRBX0NBVF9CLCBSb3V0ZTAsIE1BWF9Sb3V0ZV9OVU0sIE1JUElfREFUQV9TVUJCQU5EX1RBQkxFX1QsIE1JUElfVEFTX0RBVEFfTUFYX05VTSwgTlVMTCkKKy8qIDI1MiAqL05WUkFNX0lURU1fUkZfVEFTX0FSUkFZKENVU1RfVEFTX0RBVEFfQ0FUX0IsIFJvdXRlMSwgTUFYX1JvdXRlX05VTSwgTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCwgTUlQSV9UQVNfREFUQV9NQVhfTlVNLCBOVUxMKQorLyogMjUzICovTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkoQ1VTVF9UQVNfREFUQV9DQVRfQiwgUm91dGUyLCBNQVhfUm91dGVfTlVNLCBNSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9ULCBNSVBJX1RBU19EQVRBX01BWF9OVU0sIE5VTEwpCisvKiAyNTQgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShDVVNUX1RBU19EQVRBX0NBVF9CLCBSb3V0ZTMsIE1BWF9Sb3V0ZV9OVU0sIE1JUElfREFUQV9TVUJCQU5EX1RBQkxFX1QsIE1JUElfVEFTX0RBVEFfTUFYX05VTSwgTlVMTCkKKworLyogMjU1ICovTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkoQ1VTVF9UQVNfRVZFTlRfQ0FUX0MsIFJvdXRlMCwgTUFYX1JvdXRlX05VTSwgTUlQSV9FVkVOVF9UQUJMRV9ULCBNSVBJX1RBU19FVkVOVF9NQVhfTlVNLCBOVUxMKQorLyogMjU2ICovTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkoQ1VTVF9UQVNfRVZFTlRfQ0FUX0MsIFJvdXRlMSwgTUFYX1JvdXRlX05VTSwgTUlQSV9FVkVOVF9UQUJMRV9ULCBNSVBJX1RBU19FVkVOVF9NQVhfTlVNLCBOVUxMKQorLyogMjU3ICovTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkoQ1VTVF9UQVNfRVZFTlRfQ0FUX0MsIFJvdXRlMiwgTUFYX1JvdXRlX05VTSwgTUlQSV9FVkVOVF9UQUJMRV9ULCBNSVBJX1RBU19FVkVOVF9NQVhfTlVNLCBOVUxMKQorLyogMjU4ICovTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkoQ1VTVF9UQVNfRVZFTlRfQ0FUX0MsIFJvdXRlMywgTUFYX1JvdXRlX05VTSwgTUlQSV9FVkVOVF9UQUJMRV9ULCBNSVBJX1RBU19FVkVOVF9NQVhfTlVNLCBOVUxMKQorLyogMjU5ICovTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkoQ1VTVF9UQVNfREFUQV9DQVRfQywgUm91dGUwLCBNQVhfUm91dGVfTlVNLCBNSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9ULCBNSVBJX1RBU19EQVRBX01BWF9OVU0sIE5VTEwpCisvKiAyNjAgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShDVVNUX1RBU19EQVRBX0NBVF9DLCBSb3V0ZTEsIE1BWF9Sb3V0ZV9OVU0sIE1JUElfREFUQV9TVUJCQU5EX1RBQkxFX1QsIE1JUElfVEFTX0RBVEFfTUFYX05VTSwgTlVMTCkKKy8qIDI2MSAqL05WUkFNX0lURU1fUkZfVEFTX0FSUkFZKENVU1RfVEFTX0RBVEFfQ0FUX0MsIFJvdXRlMiwgTUFYX1JvdXRlX05VTSwgTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCwgTUlQSV9UQVNfREFUQV9NQVhfTlVNLCBOVUxMKQorLyogMjYyICovTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkoQ1VTVF9UQVNfREFUQV9DQVRfQywgUm91dGUzLCBNQVhfUm91dGVfTlVNLCBNSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9ULCBNSVBJX1RBU19EQVRBX01BWF9OVU0sIE5VTEwpCisjZW5kaWYKKy8qKkVMTkEqKi8KKy8qRUxOQSBjb25maWcmYnBpIGRhdGEqLworLyogMjY0ICovTlZSQU1fSVRFTV9FTE5BX1ZBUihDVVNUX0VMTkFfQ0ZHLCAsIDEsIENVU1RfRUxOQV9DRkdfVCwgMSwgTlVMTCkKKy8qKlRYIFBPV0VSKiovCisvKiBUWCBwb3dlciBiYWNrIG9mZiAqLworLyogMjg1ICovTlZSQU1fSVRFTV9UWF9QT1dFUl9WQVIoVFhfUE9XRVJfQkFDS19PRkYsQkFORF9BLCBNQVhfQkFORF9OVU0sIFRYX1BPV0VSX0JBQ0tfT0ZGX1QsMSxOVUxMKQorLyogMjg2ICovTlZSQU1fSVRFTV9UWF9QT1dFUl9WQVIoVFhfUE9XRVJfQkFDS19PRkYsQkFORF9CLCBNQVhfQkFORF9OVU0sIFRYX1BPV0VSX0JBQ0tfT0ZGX1QsMSxOVUxMKQorLyogMjg3ICovTlZSQU1fSVRFTV9UWF9QT1dFUl9WQVIoVFhfUE9XRVJfQkFDS19PRkYsQkFORF9DLCBNQVhfQkFORF9OVU0sIFRYX1BPV0VSX0JBQ0tfT0ZGX1QsMSxOVUxMKQorLyogMjg4ICovTlZSQU1fSVRFTV9UWF9QT1dFUl9WQVIoVFhfUE9XRVJfQkFDS19PRkYsQkFORF9ELCBNQVhfQkFORF9OVU0sIFRYX1BPV0VSX0JBQ0tfT0ZGX1QsMSxOVUxMKQorLyogMjg5ICovTlZSQU1fSVRFTV9UWF9QT1dFUl9WQVIoVFhfUE9XRVJfQkFDS19PRkYsQkFORF9FLCBNQVhfQkFORF9OVU0sIFRYX1BPV0VSX0JBQ0tfT0ZGX1QsMSxOVUxMKQorLyogVFggcG93ZXIgb2Zmc2V0ICovCisjaWYgZGVmaW5lZChfX1RYX1BPV0VSX09GRlNFVF9TVVBQT1JUX18pICAKKy8qIDI5MCAqL05WUkFNX0lURU1fVFhfUE9XRVJfVkFSKFRYX1BPV0VSX09GRlNFVCxCQU5EX0EsIE1BWF9CQU5EX05VTSwgU0FSX1RYX1BPV0VSX09GRlNFVF9ULDEsTlVMTCkKKy8qIDI5MSAqL05WUkFNX0lURU1fVFhfUE9XRVJfVkFSKFRYX1BPV0VSX09GRlNFVCxCQU5EX0IsIE1BWF9CQU5EX05VTSwgU0FSX1RYX1BPV0VSX09GRlNFVF9ULDEsTlVMTCkKKy8qIDI5MiAqL05WUkFNX0lURU1fVFhfUE9XRVJfVkFSKFRYX1BPV0VSX09GRlNFVCxCQU5EX0MsIE1BWF9CQU5EX05VTSwgU0FSX1RYX1BPV0VSX09GRlNFVF9ULDEsTlVMTCkKKy8qIDI5MyAqL05WUkFNX0lURU1fVFhfUE9XRVJfVkFSKFRYX1BPV0VSX09GRlNFVCxCQU5EX0QsIE1BWF9CQU5EX05VTSwgU0FSX1RYX1BPV0VSX09GRlNFVF9ULDEsTlVMTCkKKy8qIDI5NCAqL05WUkFNX0lURU1fVFhfUE9XRVJfVkFSKFRYX1BPV0VSX09GRlNFVCxCQU5EX0UsIE1BWF9CQU5EX05VTSwgU0FSX1RYX1BPV0VSX09GRlNFVF9ULDEsTlVMTCkKKyNlbmRpZgorLypUQVMgVFNUKi8KKy8qIDI5NSAqL05WUkFNX0lURU1fUkZfVEFTX1RTVChUQVNfVFNUX0NPTkZJRywgLCAxLCBUQVNfVFNUX0NPTkZJR19ULCAxLCBOVUxMKQorI2lmIElTX0MyS19EQVRfUkZEX0NUUkxfRU4KKy8qIERBVCAqLworLyogMjk2ICovTlZSQU1fSVRFTV9SRl9UQVNfVkFSKERBVF9GRV9ST1VURV9EQVRBQkFTRSwgLCAxLCBEQVRfRkVfUk9VVEVfREFUQUJBU0VfVCwgMSwgTlVMTCkKKy8qIDI5NyAqL05WUkFNX0lURU1fUkZfVEFTX1ZBUihEQVRfRkVfQ0FUX0FfREFUQUJBU0UsICwgMSwgREFUX0ZFX0NBVF9BX1QsIDEsIE5VTEwpCisvKiAyOTggKi9OVlJBTV9JVEVNX1JGX1RBU19WQVIoREFUX0ZFX0NBVF9CX0RBVEFCQVNFLCAsIDEsIERBVF9GRV9DQVRfQl9ULCAxLCBOVUxMKQorCisvKiAyOTkgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQSwgREFUX0NBVF9BX1JvdXRlMCwgTUFYX0RBVF9DQVRfQV9Sb3V0ZV9OVU0sIE1JUElfRVZFTlRfVEFCTEVfVCwgTUlQSV9EQVRfRVZFTlRfTUFYX05VTSwgTlVMTCkKKy8qIDMwMCAqL05WUkFNX0lURU1fUkZfVEFTX0FSUkFZKERBVF9NSVBJX0VWRU5UX0NBVF9BLCBEQVRfQ0FUX0FfUm91dGUxLCBNQVhfREFUX0NBVF9BX1JvdXRlX05VTSwgTUlQSV9FVkVOVF9UQUJMRV9ULCBNSVBJX0RBVF9FVkVOVF9NQVhfTlVNLCBOVUxMKQorLyogMzAxICovTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkoREFUX01JUElfRVZFTlRfQ0FUX0EsIERBVF9DQVRfQV9Sb3V0ZTIsIE1BWF9EQVRfQ0FUX0FfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzMDIgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQSwgREFUX0NBVF9BX1JvdXRlMywgTUFYX0RBVF9DQVRfQV9Sb3V0ZV9OVU0sIE1JUElfRVZFTlRfVEFCTEVfVCwgTUlQSV9EQVRfRVZFTlRfTUFYX05VTSwgTlVMTCkKKy8qIDMwMyAqL05WUkFNX0lURU1fUkZfVEFTX0FSUkFZKERBVF9NSVBJX0VWRU5UX0NBVF9BLCBEQVRfQ0FUX0FfUm91dGU0LCBNQVhfREFUX0NBVF9BX1JvdXRlX05VTSwgTUlQSV9FVkVOVF9UQUJMRV9ULCBNSVBJX0RBVF9FVkVOVF9NQVhfTlVNLCBOVUxMKQorLyogMzA0ICovTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkoREFUX01JUElfRVZFTlRfQ0FUX0EsIERBVF9DQVRfQV9Sb3V0ZTUsIE1BWF9EQVRfQ0FUX0FfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzMDUgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQSwgREFUX0NBVF9BX1JvdXRlNiwgTUFYX0RBVF9DQVRfQV9Sb3V0ZV9OVU0sIE1JUElfRVZFTlRfVEFCTEVfVCwgTUlQSV9EQVRfRVZFTlRfTUFYX05VTSwgTlVMTCkKKy8qIDMwNiAqL05WUkFNX0lURU1fUkZfVEFTX0FSUkFZKERBVF9NSVBJX0VWRU5UX0NBVF9BLCBEQVRfQ0FUX0FfUm91dGU3LCBNQVhfREFUX0NBVF9BX1JvdXRlX05VTSwgTUlQSV9FVkVOVF9UQUJMRV9ULCBNSVBJX0RBVF9FVkVOVF9NQVhfTlVNLCBOVUxMKQorLyogMzA3ICovTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkoREFUX01JUElfRVZFTlRfQ0FUX0EsIERBVF9DQVRfQV9Sb3V0ZTgsIE1BWF9EQVRfQ0FUX0FfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzMDggKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQSwgREFUX0NBVF9BX1JvdXRlOSwgTUFYX0RBVF9DQVRfQV9Sb3V0ZV9OVU0sIE1JUElfRVZFTlRfVEFCTEVfVCwgTUlQSV9EQVRfRVZFTlRfTUFYX05VTSwgTlVMTCkKKworLyogMzA5ICovTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkoREFUX01JUElfREFUQV9DQVRfQSwgREFUX0NBVF9BX1JvdXRlMCwgTUFYX0RBVF9DQVRfQV9Sb3V0ZV9OVU0sIE1JUElfREFUQV9TVUJCQU5EX1RBQkxFX1QsIE1JUElfREFUX0RBVEFfTUFYX05VTSwgTlVMTCkKKy8qIDMxMCAqL05WUkFNX0lURU1fUkZfVEFTX0FSUkFZKERBVF9NSVBJX0RBVEFfQ0FUX0EsIERBVF9DQVRfQV9Sb3V0ZTEsIE1BWF9EQVRfQ0FUX0FfUm91dGVfTlVNLCBNSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9ULCBNSVBJX0RBVF9EQVRBX01BWF9OVU0sIE5VTEwpCisvKiAzMTEgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9EQVRBX0NBVF9BLCBEQVRfQ0FUX0FfUm91dGUyLCBNQVhfREFUX0NBVF9BX1JvdXRlX05VTSwgTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCwgTUlQSV9EQVRfREFUQV9NQVhfTlVNLCBOVUxMKQorLyogMzEyICovTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkoREFUX01JUElfREFUQV9DQVRfQSwgREFUX0NBVF9BX1JvdXRlMywgTUFYX0RBVF9DQVRfQV9Sb3V0ZV9OVU0sIE1JUElfREFUQV9TVUJCQU5EX1RBQkxFX1QsIE1JUElfREFUX0RBVEFfTUFYX05VTSwgTlVMTCkKKy8qIDMxMyAqL05WUkFNX0lURU1fUkZfVEFTX0FSUkFZKERBVF9NSVBJX0RBVEFfQ0FUX0EsIERBVF9DQVRfQV9Sb3V0ZTQsIE1BWF9EQVRfQ0FUX0FfUm91dGVfTlVNLCBNSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9ULCBNSVBJX0RBVF9EQVRBX01BWF9OVU0sIE5VTEwpCisvKiAzMTQgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9EQVRBX0NBVF9BLCBEQVRfQ0FUX0FfUm91dGU1LCBNQVhfREFUX0NBVF9BX1JvdXRlX05VTSwgTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCwgTUlQSV9EQVRfREFUQV9NQVhfTlVNLCBOVUxMKQorLyogMzE1ICovTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkoREFUX01JUElfREFUQV9DQVRfQSwgREFUX0NBVF9BX1JvdXRlNiwgTUFYX0RBVF9DQVRfQV9Sb3V0ZV9OVU0sIE1JUElfREFUQV9TVUJCQU5EX1RBQkxFX1QsIE1JUElfREFUX0RBVEFfTUFYX05VTSwgTlVMTCkKKy8qIDMxNiAqL05WUkFNX0lURU1fUkZfVEFTX0FSUkFZKERBVF9NSVBJX0RBVEFfQ0FUX0EsIERBVF9DQVRfQV9Sb3V0ZTcsIE1BWF9EQVRfQ0FUX0FfUm91dGVfTlVNLCBNSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9ULCBNSVBJX0RBVF9EQVRBX01BWF9OVU0sIE5VTEwpCisvKiAzMTcgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9EQVRBX0NBVF9BLCBEQVRfQ0FUX0FfUm91dGU4LCBNQVhfREFUX0NBVF9BX1JvdXRlX05VTSwgTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCwgTUlQSV9EQVRfREFUQV9NQVhfTlVNLCBOVUxMKQorLyogMzE4ICovTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkoREFUX01JUElfREFUQV9DQVRfQSwgREFUX0NBVF9BX1JvdXRlOSwgTUFYX0RBVF9DQVRfQV9Sb3V0ZV9OVU0sIE1JUElfREFUQV9TVUJCQU5EX1RBQkxFX1QsIE1JUElfREFUX0RBVEFfTUFYX05VTSwgTlVMTCkKKworLyogMzE5ICovTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkoREFUX01JUElfRVZFTlRfQ0FUX0IsIERBVF9DQVRfQl9Sb3V0ZTAsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzMjAgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMSwgTUFYX0RBVF9DQVRfQl9Sb3V0ZV9OVU0sIE1JUElfRVZFTlRfVEFCTEVfVCwgTUlQSV9EQVRfRVZFTlRfTUFYX05VTSwgTlVMTCkKKy8qIDMyMSAqL05WUkFNX0lURU1fUkZfVEFTX0FSUkFZKERBVF9NSVBJX0VWRU5UX0NBVF9CLCBEQVRfQ0FUX0JfUm91dGUyLCBNQVhfREFUX0NBVF9CX1JvdXRlX05VTSwgTUlQSV9FVkVOVF9UQUJMRV9ULCBNSVBJX0RBVF9FVkVOVF9NQVhfTlVNLCBOVUxMKQorLyogMzIyICovTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkoREFUX01JUElfRVZFTlRfQ0FUX0IsIERBVF9DQVRfQl9Sb3V0ZTMsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzMjMgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQiwgREFUX0NBVF9CX1JvdXRlNCwgTUFYX0RBVF9DQVRfQl9Sb3V0ZV9OVU0sIE1JUElfRVZFTlRfVEFCTEVfVCwgTUlQSV9EQVRfRVZFTlRfTUFYX05VTSwgTlVMTCkKKy8qIDMyNCAqL05WUkFNX0lURU1fUkZfVEFTX0FSUkFZKERBVF9NSVBJX0VWRU5UX0NBVF9CLCBEQVRfQ0FUX0JfUm91dGU1LCBNQVhfREFUX0NBVF9CX1JvdXRlX05VTSwgTUlQSV9FVkVOVF9UQUJMRV9ULCBNSVBJX0RBVF9FVkVOVF9NQVhfTlVNLCBOVUxMKQorLyogMzI1ICovTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkoREFUX01JUElfRVZFTlRfQ0FUX0IsIERBVF9DQVRfQl9Sb3V0ZTYsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzMjYgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQiwgREFUX0NBVF9CX1JvdXRlNywgTUFYX0RBVF9DQVRfQl9Sb3V0ZV9OVU0sIE1JUElfRVZFTlRfVEFCTEVfVCwgTUlQSV9EQVRfRVZFTlRfTUFYX05VTSwgTlVMTCkKKy8qIDMyNyAqL05WUkFNX0lURU1fUkZfVEFTX0FSUkFZKERBVF9NSVBJX0VWRU5UX0NBVF9CLCBEQVRfQ0FUX0JfUm91dGU4LCBNQVhfREFUX0NBVF9CX1JvdXRlX05VTSwgTUlQSV9FVkVOVF9UQUJMRV9ULCBNSVBJX0RBVF9FVkVOVF9NQVhfTlVNLCBOVUxMKQorLyogMzI4ICovTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkoREFUX01JUElfRVZFTlRfQ0FUX0IsIERBVF9DQVRfQl9Sb3V0ZTksIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzMjkgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMTAsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzMzAgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMTEsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzMzEgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMTIsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzMzIgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMTMsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzMzMgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMTQsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzMzQgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMTUsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzMzUgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMTYsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzMzYgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMTcsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzMzcgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMTgsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzMzggKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMTksIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzMzkgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMjAsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzNDAgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMjEsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzNDEgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMjIsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzNDIgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMjMsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzNDMgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMjQsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzNDQgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMjUsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzNDUgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMjYsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzNDYgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMjcsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzNDcgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMjgsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzNDggKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMjksIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzNDkgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMzAsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzNTAgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMzEsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzNTEgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMzIsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzNTIgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMzMsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzNTMgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMzQsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzNTQgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMzUsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzNTUgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMzYsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzNTYgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMzcsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzNTcgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMzgsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisvKiAzNTggKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9FVkVOVF9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMzksIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0VWRU5UX1RBQkxFX1QsIE1JUElfREFUX0VWRU5UX01BWF9OVU0sIE5VTEwpCisKKy8qIDM2OSAqL05WUkFNX0lURU1fUkZfVEFTX0FSUkFZKERBVF9NSVBJX0RBVEFfQ0FUX0IsIERBVF9DQVRfQl9Sb3V0ZTAsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9ULCBNSVBJX0RBVF9EQVRBX01BWF9OVU0sIE5VTEwpCisvKiAzNzAgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9EQVRBX0NBVF9CLCBEQVRfQ0FUX0JfUm91dGUxLCBNQVhfREFUX0NBVF9CX1JvdXRlX05VTSwgTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCwgTUlQSV9EQVRfREFUQV9NQVhfTlVNLCBOVUxMKQorLyogMzcxICovTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkoREFUX01JUElfREFUQV9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMiwgTUFYX0RBVF9DQVRfQl9Sb3V0ZV9OVU0sIE1JUElfREFUQV9TVUJCQU5EX1RBQkxFX1QsIE1JUElfREFUX0RBVEFfTUFYX05VTSwgTlVMTCkKKy8qIDM3MiAqL05WUkFNX0lURU1fUkZfVEFTX0FSUkFZKERBVF9NSVBJX0RBVEFfQ0FUX0IsIERBVF9DQVRfQl9Sb3V0ZTMsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9ULCBNSVBJX0RBVF9EQVRBX01BWF9OVU0sIE5VTEwpCisvKiAzNzMgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9EQVRBX0NBVF9CLCBEQVRfQ0FUX0JfUm91dGU0LCBNQVhfREFUX0NBVF9CX1JvdXRlX05VTSwgTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCwgTUlQSV9EQVRfREFUQV9NQVhfTlVNLCBOVUxMKQorLyogMzc0ICovTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkoREFUX01JUElfREFUQV9DQVRfQiwgREFUX0NBVF9CX1JvdXRlNSwgTUFYX0RBVF9DQVRfQl9Sb3V0ZV9OVU0sIE1JUElfREFUQV9TVUJCQU5EX1RBQkxFX1QsIE1JUElfREFUX0RBVEFfTUFYX05VTSwgTlVMTCkKKy8qIDM3NSAqL05WUkFNX0lURU1fUkZfVEFTX0FSUkFZKERBVF9NSVBJX0RBVEFfQ0FUX0IsIERBVF9DQVRfQl9Sb3V0ZTYsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9ULCBNSVBJX0RBVF9EQVRBX01BWF9OVU0sIE5VTEwpCisvKiAzNzYgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9EQVRBX0NBVF9CLCBEQVRfQ0FUX0JfUm91dGU3LCBNQVhfREFUX0NBVF9CX1JvdXRlX05VTSwgTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCwgTUlQSV9EQVRfREFUQV9NQVhfTlVNLCBOVUxMKQorLyogMzc3ICovTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkoREFUX01JUElfREFUQV9DQVRfQiwgREFUX0NBVF9CX1JvdXRlOCwgTUFYX0RBVF9DQVRfQl9Sb3V0ZV9OVU0sIE1JUElfREFUQV9TVUJCQU5EX1RBQkxFX1QsIE1JUElfREFUX0RBVEFfTUFYX05VTSwgTlVMTCkKKy8qIDM3OCAqL05WUkFNX0lURU1fUkZfVEFTX0FSUkFZKERBVF9NSVBJX0RBVEFfQ0FUX0IsIERBVF9DQVRfQl9Sb3V0ZTksIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9ULCBNSVBJX0RBVF9EQVRBX01BWF9OVU0sIE5VTEwpCisvKiAzNzkgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9EQVRBX0NBVF9CLCBEQVRfQ0FUX0JfUm91dGUxMCwgTUFYX0RBVF9DQVRfQl9Sb3V0ZV9OVU0sIE1JUElfREFUQV9TVUJCQU5EX1RBQkxFX1QsIE1JUElfREFUX0RBVEFfTUFYX05VTSwgTlVMTCkKKy8qIDM4MCAqL05WUkFNX0lURU1fUkZfVEFTX0FSUkFZKERBVF9NSVBJX0RBVEFfQ0FUX0IsIERBVF9DQVRfQl9Sb3V0ZTExLCBNQVhfREFUX0NBVF9CX1JvdXRlX05VTSwgTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCwgTUlQSV9EQVRfREFUQV9NQVhfTlVNLCBOVUxMKQorLyogMzgxICovTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkoREFUX01JUElfREFUQV9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMTIsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9ULCBNSVBJX0RBVF9EQVRBX01BWF9OVU0sIE5VTEwpCisvKiAzODIgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9EQVRBX0NBVF9CLCBEQVRfQ0FUX0JfUm91dGUxMywgTUFYX0RBVF9DQVRfQl9Sb3V0ZV9OVU0sIE1JUElfREFUQV9TVUJCQU5EX1RBQkxFX1QsIE1JUElfREFUX0RBVEFfTUFYX05VTSwgTlVMTCkKKy8qIDM4MyAqL05WUkFNX0lURU1fUkZfVEFTX0FSUkFZKERBVF9NSVBJX0RBVEFfQ0FUX0IsIERBVF9DQVRfQl9Sb3V0ZTE0LCBNQVhfREFUX0NBVF9CX1JvdXRlX05VTSwgTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCwgTUlQSV9EQVRfREFUQV9NQVhfTlVNLCBOVUxMKQorLyogMzg0ICovTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkoREFUX01JUElfREFUQV9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMTUsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9ULCBNSVBJX0RBVF9EQVRBX01BWF9OVU0sIE5VTEwpCisvKiAzODUgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9EQVRBX0NBVF9CLCBEQVRfQ0FUX0JfUm91dGUxNiwgTUFYX0RBVF9DQVRfQl9Sb3V0ZV9OVU0sIE1JUElfREFUQV9TVUJCQU5EX1RBQkxFX1QsIE1JUElfREFUX0RBVEFfTUFYX05VTSwgTlVMTCkKKy8qIDM4NiAqL05WUkFNX0lURU1fUkZfVEFTX0FSUkFZKERBVF9NSVBJX0RBVEFfQ0FUX0IsIERBVF9DQVRfQl9Sb3V0ZTE3LCBNQVhfREFUX0NBVF9CX1JvdXRlX05VTSwgTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCwgTUlQSV9EQVRfREFUQV9NQVhfTlVNLCBOVUxMKQorLyogMzg3ICovTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkoREFUX01JUElfREFUQV9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMTgsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9ULCBNSVBJX0RBVF9EQVRBX01BWF9OVU0sIE5VTEwpCisvKiAzODggKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9EQVRBX0NBVF9CLCBEQVRfQ0FUX0JfUm91dGUxOSwgTUFYX0RBVF9DQVRfQl9Sb3V0ZV9OVU0sIE1JUElfREFUQV9TVUJCQU5EX1RBQkxFX1QsIE1JUElfREFUX0RBVEFfTUFYX05VTSwgTlVMTCkKKy8qIDM4OSAqL05WUkFNX0lURU1fUkZfVEFTX0FSUkFZKERBVF9NSVBJX0RBVEFfQ0FUX0IsIERBVF9DQVRfQl9Sb3V0ZTIwLCBNQVhfREFUX0NBVF9CX1JvdXRlX05VTSwgTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCwgTUlQSV9EQVRfREFUQV9NQVhfTlVNLCBOVUxMKQorLyogMzkwICovTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkoREFUX01JUElfREFUQV9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMjEsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9ULCBNSVBJX0RBVF9EQVRBX01BWF9OVU0sIE5VTEwpCisvKiAzOTEgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9EQVRBX0NBVF9CLCBEQVRfQ0FUX0JfUm91dGUyMiwgTUFYX0RBVF9DQVRfQl9Sb3V0ZV9OVU0sIE1JUElfREFUQV9TVUJCQU5EX1RBQkxFX1QsIE1JUElfREFUX0RBVEFfTUFYX05VTSwgTlVMTCkKKy8qIDM5MiAqL05WUkFNX0lURU1fUkZfVEFTX0FSUkFZKERBVF9NSVBJX0RBVEFfQ0FUX0IsIERBVF9DQVRfQl9Sb3V0ZTIzLCBNQVhfREFUX0NBVF9CX1JvdXRlX05VTSwgTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCwgTUlQSV9EQVRfREFUQV9NQVhfTlVNLCBOVUxMKQorLyogMzkzICovTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkoREFUX01JUElfREFUQV9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMjQsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9ULCBNSVBJX0RBVF9EQVRBX01BWF9OVU0sIE5VTEwpCisvKiAzOTQgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9EQVRBX0NBVF9CLCBEQVRfQ0FUX0JfUm91dGUyNSwgTUFYX0RBVF9DQVRfQl9Sb3V0ZV9OVU0sIE1JUElfREFUQV9TVUJCQU5EX1RBQkxFX1QsIE1JUElfREFUX0RBVEFfTUFYX05VTSwgTlVMTCkKKy8qIDM5NSAqL05WUkFNX0lURU1fUkZfVEFTX0FSUkFZKERBVF9NSVBJX0RBVEFfQ0FUX0IsIERBVF9DQVRfQl9Sb3V0ZTI2LCBNQVhfREFUX0NBVF9CX1JvdXRlX05VTSwgTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCwgTUlQSV9EQVRfREFUQV9NQVhfTlVNLCBOVUxMKQorLyogMzk2ICovTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkoREFUX01JUElfREFUQV9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMjcsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9ULCBNSVBJX0RBVF9EQVRBX01BWF9OVU0sIE5VTEwpCisvKiAzOTcgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9EQVRBX0NBVF9CLCBEQVRfQ0FUX0JfUm91dGUyOCwgTUFYX0RBVF9DQVRfQl9Sb3V0ZV9OVU0sIE1JUElfREFUQV9TVUJCQU5EX1RBQkxFX1QsIE1JUElfREFUX0RBVEFfTUFYX05VTSwgTlVMTCkKKy8qIDM5OCAqL05WUkFNX0lURU1fUkZfVEFTX0FSUkFZKERBVF9NSVBJX0RBVEFfQ0FUX0IsIERBVF9DQVRfQl9Sb3V0ZTI5LCBNQVhfREFUX0NBVF9CX1JvdXRlX05VTSwgTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCwgTUlQSV9EQVRfREFUQV9NQVhfTlVNLCBOVUxMKQorLyogMzk5ICovTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkoREFUX01JUElfREFUQV9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMzAsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9ULCBNSVBJX0RBVF9EQVRBX01BWF9OVU0sIE5VTEwpCisvKiA0MDAgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9EQVRBX0NBVF9CLCBEQVRfQ0FUX0JfUm91dGUzMSwgTUFYX0RBVF9DQVRfQl9Sb3V0ZV9OVU0sIE1JUElfREFUQV9TVUJCQU5EX1RBQkxFX1QsIE1JUElfREFUX0RBVEFfTUFYX05VTSwgTlVMTCkKKy8qIDQwMSAqL05WUkFNX0lURU1fUkZfVEFTX0FSUkFZKERBVF9NSVBJX0RBVEFfQ0FUX0IsIERBVF9DQVRfQl9Sb3V0ZTMyLCBNQVhfREFUX0NBVF9CX1JvdXRlX05VTSwgTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCwgTUlQSV9EQVRfREFUQV9NQVhfTlVNLCBOVUxMKQorLyogNDAyICovTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkoREFUX01JUElfREFUQV9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMzMsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9ULCBNSVBJX0RBVF9EQVRBX01BWF9OVU0sIE5VTEwpCisvKiA0MDMgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9EQVRBX0NBVF9CLCBEQVRfQ0FUX0JfUm91dGUzNCwgTUFYX0RBVF9DQVRfQl9Sb3V0ZV9OVU0sIE1JUElfREFUQV9TVUJCQU5EX1RBQkxFX1QsIE1JUElfREFUX0RBVEFfTUFYX05VTSwgTlVMTCkKKy8qIDQwNCAqL05WUkFNX0lURU1fUkZfVEFTX0FSUkFZKERBVF9NSVBJX0RBVEFfQ0FUX0IsIERBVF9DQVRfQl9Sb3V0ZTM1LCBNQVhfREFUX0NBVF9CX1JvdXRlX05VTSwgTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCwgTUlQSV9EQVRfREFUQV9NQVhfTlVNLCBOVUxMKQorLyogNDA1ICovTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkoREFUX01JUElfREFUQV9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMzYsIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9ULCBNSVBJX0RBVF9EQVRBX01BWF9OVU0sIE5VTEwpCisvKiA0MDYgKi9OVlJBTV9JVEVNX1JGX1RBU19BUlJBWShEQVRfTUlQSV9EQVRBX0NBVF9CLCBEQVRfQ0FUX0JfUm91dGUzNywgTUFYX0RBVF9DQVRfQl9Sb3V0ZV9OVU0sIE1JUElfREFUQV9TVUJCQU5EX1RBQkxFX1QsIE1JUElfREFUX0RBVEFfTUFYX05VTSwgTlVMTCkKKy8qIDQwNyAqL05WUkFNX0lURU1fUkZfVEFTX0FSUkFZKERBVF9NSVBJX0RBVEFfQ0FUX0IsIERBVF9DQVRfQl9Sb3V0ZTM4LCBNQVhfREFUX0NBVF9CX1JvdXRlX05VTSwgTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCwgTUlQSV9EQVRfREFUQV9NQVhfTlVNLCBOVUxMKQorLyogNDA4ICovTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkoREFUX01JUElfREFUQV9DQVRfQiwgREFUX0NBVF9CX1JvdXRlMzksIE1BWF9EQVRfQ0FUX0JfUm91dGVfTlVNLCBNSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9ULCBNSVBJX0RBVF9EQVRBX01BWF9OVU0sIE5VTEwpCisjZW5kaWYgCisvKiBTQVIgVFggcG93ZXIgb2Zmc2V0ICovCisjaWYgZGVmaW5lZChfX1NBUl9UWF9QT1dFUl9CQUNLT0ZGX1NVUFBPUlRfXykgICAKKy8qIDQwOSAqL05WUkFNX0lURU1fVFhfUE9XRVJfVkFSKFNBUl9UWF9QT1dFUl9PRkZTRVQsQkFORF9BLCBNQVhfQkFORF9OVU0sIFNBUl9UWF9QT1dFUl9PRkZTRVRfVCwxLE5VTEwpCisvKiA0MTAgKi9OVlJBTV9JVEVNX1RYX1BPV0VSX1ZBUihTQVJfVFhfUE9XRVJfT0ZGU0VULEJBTkRfQiwgTUFYX0JBTkRfTlVNLCBTQVJfVFhfUE9XRVJfT0ZGU0VUX1QsMSxOVUxMKQorLyogNDExICovTlZSQU1fSVRFTV9UWF9QT1dFUl9WQVIoU0FSX1RYX1BPV0VSX09GRlNFVCxCQU5EX0MsIE1BWF9CQU5EX05VTSwgU0FSX1RYX1BPV0VSX09GRlNFVF9ULDEsTlVMTCkKKy8qIDQxMiAqL05WUkFNX0lURU1fVFhfUE9XRVJfVkFSKFNBUl9UWF9QT1dFUl9PRkZTRVQsQkFORF9ELCBNQVhfQkFORF9OVU0sIFNBUl9UWF9QT1dFUl9PRkZTRVRfVCwxLE5VTEwpCisvKiA0MTMgKi9OVlJBTV9JVEVNX1RYX1BPV0VSX1ZBUihTQVJfVFhfUE9XRVJfT0ZGU0VULEJBTkRfRSwgTUFYX0JBTkRfTlVNLCBTQVJfVFhfUE9XRVJfT0ZGU0VUX1QsMSxOVUxMKQorI2VuZGlmCisvKkRQRCovCisvKiA0MTQgKi9OVlJBTV9JVEVNX1JGX1BPQyhUWF9EUERfQU1fUE1fQ09NUF8xWFJUVCwgQkFORF9BLCBNQVhfQkFORF9OVU0sIFRYX0RQRF9BTV9QTV9MVVRfREFUQV9ULCAxLCBOVUxMKQorLyogNDE1ICovTlZSQU1fSVRFTV9SRl9QT0MoVFhfRFBEX0FNX1BNX0NPTVBfMVhSVFQsIEJBTkRfQiwgTUFYX0JBTkRfTlVNLCBUWF9EUERfQU1fUE1fTFVUX0RBVEFfVCwgMSwgTlVMTCkKKy8qIDQxNiAqL05WUkFNX0lURU1fUkZfUE9DKFRYX0RQRF9BTV9QTV9DT01QXzFYUlRULCBCQU5EX0MsIE1BWF9CQU5EX05VTSwgVFhfRFBEX0FNX1BNX0xVVF9EQVRBX1QsIDEsIE5VTEwpCisvKiA0MTcgKi9OVlJBTV9JVEVNX1JGX1BPQyhUWF9EUERfQU1fUE1fQ09NUF8xWFJUVCwgQkFORF9ELCBNQVhfQkFORF9OVU0sIFRYX0RQRF9BTV9QTV9MVVRfREFUQV9ULCAxLCBOVUxMKQorLyogNDE4ICovTlZSQU1fSVRFTV9SRl9QT0MoVFhfRFBEX0FNX1BNX0NPTVBfMVhSVFQsIEJBTkRfRSwgTUFYX0JBTkRfTlVNLCBUWF9EUERfQU1fUE1fTFVUX0RBVEFfVCwgMSwgTlVMTCkKKy8qIDQxOSAqL05WUkFNX0lURU1fUkZfUE9DKFRYX0RQRF9BTV9QTV9DT01QX0VWRE8sIEJBTkRfQSwgTUFYX0JBTkRfTlVNLCBUWF9EUERfQU1fUE1fTFVUX0RBVEFfVCwgMSwgTlVMTCkKKy8qIDQyMCAqL05WUkFNX0lURU1fUkZfUE9DKFRYX0RQRF9BTV9QTV9DT01QX0VWRE8sIEJBTkRfQiwgTUFYX0JBTkRfTlVNLCBUWF9EUERfQU1fUE1fTFVUX0RBVEFfVCwgMSwgTlVMTCkKKy8qIDQyMSAqL05WUkFNX0lURU1fUkZfUE9DKFRYX0RQRF9BTV9QTV9DT01QX0VWRE8sIEJBTkRfQywgTUFYX0JBTkRfTlVNLCBUWF9EUERfQU1fUE1fTFVUX0RBVEFfVCwgMSwgTlVMTCkKKy8qIDQyMiAqL05WUkFNX0lURU1fUkZfUE9DKFRYX0RQRF9BTV9QTV9DT01QX0VWRE8sIEJBTkRfRCwgTUFYX0JBTkRfTlVNLCBUWF9EUERfQU1fUE1fTFVUX0RBVEFfVCwgMSwgTlVMTCkKKy8qIDQyMyAqL05WUkFNX0lURU1fUkZfUE9DKFRYX0RQRF9BTV9QTV9DT01QX0VWRE8sIEJBTkRfRSwgTUFYX0JBTkRfTlVNLCBUWF9EUERfQU1fUE1fTFVUX0RBVEFfVCwgMSwgTlVMTCkKKy8qIDQyNCAqL05WUkFNX0lURU1fUkZfQ1VTVChEUERfQ09NTU9OX0NUUkwsIEJBTkRfQSwgTUFYX0JBTkRfTlVNLCBEUERfQ09NTU9OX0NUUkxfVCwgMSwgTlVMTCkKKy8qIDQyNSAqL05WUkFNX0lURU1fUkZfQ1VTVChEUERfQ09NTU9OX0NUUkwsIEJBTkRfQiwgTUFYX0JBTkRfTlVNLCBEUERfQ09NTU9OX0NUUkxfVCwgMSwgTlVMTCkKKy8qIDQyNiAqL05WUkFNX0lURU1fUkZfQ1VTVChEUERfQ09NTU9OX0NUUkwsIEJBTkRfQywgTUFYX0JBTkRfTlVNLCBEUERfQ09NTU9OX0NUUkxfVCwgMSwgTlVMTCkKKy8qIDQyNyAqL05WUkFNX0lURU1fUkZfQ1VTVChEUERfQ09NTU9OX0NUUkwsIEJBTkRfRCwgTUFYX0JBTkRfTlVNLCBEUERfQ09NTU9OX0NUUkxfVCwgMSwgTlVMTCkKKy8qIDQyOCAqL05WUkFNX0lURU1fUkZfQ1VTVChEUERfQ09NTU9OX0NUUkwsIEJBTkRfRSwgTUFYX0JBTkRfTlVNLCBEUERfQ09NTU9OX0NUUkxfVCwgMSwgTlVMTCkKKy8qIDQyOSAqL05WUkFNX0lURU1fUkZfQ1VTVChQQ0ZFX0RQRF9PVEZDX0NVU1RPTV9QQVJBLCAsIDEsCVBDRkVfRFBEX09URkNfQ1VTVE9NX1BBUkFfVCwgMSwgTlVMTCkKKworLyogNDMwICovTlZSQU1fSVRFTV9NSVBJKE1JUElfUEFfU0VDVElPTl9EUERfREFUQV8xWFJUVCwgQkFORF9BLCBNQVhfQkFORF9OVU0sIFRQQ19TRUNUSU9OX1RBQkxFX1QsIE1JUElfUEFfU0VDVElPTl9EQVRBX01BWF9OVU0sIE5VTEwpCisvKiA0MzEgKi9OVlJBTV9JVEVNX01JUEkoTUlQSV9QQV9TRUNUSU9OX0RQRF9EQVRBXzFYUlRULCBCQU5EX0IsIE1BWF9CQU5EX05VTSwgVFBDX1NFQ1RJT05fVEFCTEVfVCwgTUlQSV9QQV9TRUNUSU9OX0RBVEFfTUFYX05VTSwgTlVMTCkKKy8qIDQzMiAqL05WUkFNX0lURU1fTUlQSShNSVBJX1BBX1NFQ1RJT05fRFBEX0RBVEFfMVhSVFQsIEJBTkRfQywgTUFYX0JBTkRfTlVNLCBUUENfU0VDVElPTl9UQUJMRV9ULCBNSVBJX1BBX1NFQ1RJT05fREFUQV9NQVhfTlVNLCBOVUxMKQorLyogNDMzICovTlZSQU1fSVRFTV9NSVBJKE1JUElfUEFfU0VDVElPTl9EUERfREFUQV8xWFJUVCwgQkFORF9ELCBNQVhfQkFORF9OVU0sIFRQQ19TRUNUSU9OX1RBQkxFX1QsIE1JUElfUEFfU0VDVElPTl9EQVRBX01BWF9OVU0sIE5VTEwpCisvKiA0MzQgKi9OVlJBTV9JVEVNX01JUEkoTUlQSV9QQV9TRUNUSU9OX0RQRF9EQVRBXzFYUlRULCBCQU5EX0UsIE1BWF9CQU5EX05VTSwgVFBDX1NFQ1RJT05fVEFCTEVfVCwgTUlQSV9QQV9TRUNUSU9OX0RBVEFfTUFYX05VTSwgTlVMTCkKKworLyogNDM1ICovTlZSQU1fSVRFTV9NSVBJKE1JUElfUEFfU0VDVElPTl9EUERfREFUQV9FVkRPLCBCQU5EX0EsIE1BWF9CQU5EX05VTSwgVFBDX1NFQ1RJT05fVEFCTEVfVCwgTUlQSV9QQV9TRUNUSU9OX0RBVEFfTUFYX05VTSwgTlVMTCkKKy8qIDQzNiAqL05WUkFNX0lURU1fTUlQSShNSVBJX1BBX1NFQ1RJT05fRFBEX0RBVEFfRVZETywgQkFORF9CLCBNQVhfQkFORF9OVU0sIFRQQ19TRUNUSU9OX1RBQkxFX1QsIE1JUElfUEFfU0VDVElPTl9EQVRBX01BWF9OVU0sIE5VTEwpCisvKiA0MzcgKi9OVlJBTV9JVEVNX01JUEkoTUlQSV9QQV9TRUNUSU9OX0RQRF9EQVRBX0VWRE8sIEJBTkRfQywgTUFYX0JBTkRfTlVNLCBUUENfU0VDVElPTl9UQUJMRV9ULCBNSVBJX1BBX1NFQ1RJT05fREFUQV9NQVhfTlVNLCBOVUxMKQorLyogNDM4ICovTlZSQU1fSVRFTV9NSVBJKE1JUElfUEFfU0VDVElPTl9EUERfREFUQV9FVkRPLCBCQU5EX0QsIE1BWF9CQU5EX05VTSwgVFBDX1NFQ1RJT05fVEFCTEVfVCwgTUlQSV9QQV9TRUNUSU9OX0RBVEFfTUFYX05VTSwgTlVMTCkKKy8qIDQzOSAqL05WUkFNX0lURU1fTUlQSShNSVBJX1BBX1NFQ1RJT05fRFBEX0RBVEFfRVZETywgQkFORF9FLCBNQVhfQkFORF9OVU0sIFRQQ19TRUNUSU9OX1RBQkxFX1QsIE1JUElfUEFfU0VDVElPTl9EQVRBX01BWF9OVU0sIE5VTEwpCisjaWZkZWYgX19NRDk1X18gIAorLyogNDQwICovTlZSQU1fSVRFTV9SRl9UQVNfVkFSKENVU1RfQU5UX0ZFX1JPVVRFX0RBVEFCQVNFLCAsMSwgQU5UX0ZFX1JPVVRFX0RBVEFCQVNFX1QsIDEsIE5VTEwpCisvKiA0NDEgKi9OVlJBTV9JVEVNX1JGX1RBU19WQVIoQ1VTVF9VVEFTX0FMR09SSVRITV9QQVJBTUVURVIsICwxLCBVVEFTX0FMR09SSVRITV9QQVJBTUVURVJfVCwgMSwgTlVMTCkKKyNlbmRpZgorI2lmIElTX0MyS19VREFUX1NVUFBPUlQKKy8qIDQ0MiAqL05WUkFNX0lURU1fUkZfVEFTX1ZBUihDVVNUX0RBVF9BTlRfVFVORVJfUk9VVEVfREFUQUJBU0UsICwxLCBEQVRfQU5UX1RVTkVSX1JPVVRFX0RBVEFCQVNFX1QsIDEsIE5VTEwpCisjZW5kaWYKKyNlbmRpZgorCisjaWYgKGRlZmluZWQoX19NRDk3X18pIHx8IGRlZmluZWQoX19NRDk3UF9fKSkKKworI2RlZmluZSBNSVBJX1RBU19FVkVOVF9NQVhfTlVNCQkJCQkoMTApCisjZGVmaW5lIE1JUElfVEFTX0RBVEFfTUFYX05VTQkJCQkJKDIwKQorCisjZGVmaW5lIE1JUElfRUxOQV9FVkVOVF9NQVhfTlVNCQkJCQkoMTApCisjZGVmaW5lIE1JUElfRUxOQV9EQVRBX01BWF9OVU0JCQkJCSgyMCkKKworI2RlZmluZSBNSVBJX0RBVF9FVkVOVF9NQVhfTlVNCQkJCQlNSVBJX1RBU19FVkVOVF9NQVhfTlVNCisjZGVmaW5lIE1JUElfREFUX0RBVEFfTUFYX05VTQkJCQkJTUlQSV9UQVNfREFUQV9NQVhfTlVNCisvKiBOVlJBTSBJRCBkZWZpbml0aW9uIG9mIGl0ZW1zIGluIEMySyBSRiBjdXN0b20gZmlsZSAqLworLyogQ29tbW9uIFBhcmFtZXRlcnMgKi8KKy8qIDAgKi9OVlJBTV9JVEVNX1JGX0NVU1QoQ1VTVF9QQVJBTSwgLCAxLCBDVVNUX1BBUkFNX1QsIDEsIE5VTEwpCisKKy8qIENhbGlicmF0aW9uIERhdGEgKi8KKy8qIDc3ICovTlZSQU1fSVRFTV9SRl9DQUwoQUZDX0RBVEEsICwgMSwgIEFGQ19EQVRBX1QsIDEsIE5VTEwpCisKKy8qIDc4ICovTlZSQU1fSVRFTV9SRl9DQUwoVFhfQVBUX1BBX0NPTlRFWFRfMVhSVFQsIEJBTkRfQSwgTUFYX0JBTkRfTlVNLCBUWF9BUFRfUEFfQ09OVEVYVF9ULCAxLCBOVUxMKQorLyogNzkgKi9OVlJBTV9JVEVNX1JGX0NBTChUWF9BUFRfUEFfQ09OVEVYVF8xWFJUVCwgQkFORF9CLCBNQVhfQkFORF9OVU0sIFRYX0FQVF9QQV9DT05URVhUX1QsIDEsIE5VTEwpCisvKiA4MCAqL05WUkFNX0lURU1fUkZfQ0FMKFRYX0FQVF9QQV9DT05URVhUXzFYUlRULCBCQU5EX0MsIE1BWF9CQU5EX05VTSwgVFhfQVBUX1BBX0NPTlRFWFRfVCwgMSwgTlVMTCkKKy8qIDgxICovTlZSQU1fSVRFTV9SRl9DQUwoVFhfQVBUX1BBX0NPTlRFWFRfMVhSVFQsIEJBTkRfRCwgTUFYX0JBTkRfTlVNLCBUWF9BUFRfUEFfQ09OVEVYVF9ULCAxLCBOVUxMKQorLyogODIgKi9OVlJBTV9JVEVNX1JGX0NBTChUWF9BUFRfUEFfQ09OVEVYVF8xWFJUVCwgQkFORF9FLCBNQVhfQkFORF9OVU0sIFRYX0FQVF9QQV9DT05URVhUX1QsIDEsIE5VTEwpCisKKy8qIDgzICovTlZSQU1fSVRFTV9SRl9DQUwoVFhfQVBUX1BBX0NPTlRFWFRfRVZETywgQkFORF9BLCBNQVhfQkFORF9OVU0sIFRYX0FQVF9QQV9DT05URVhUX1QsIDEsIE5VTEwpCisvKiA4NCAqL05WUkFNX0lURU1fUkZfQ0FMKFRYX0FQVF9QQV9DT05URVhUX0VWRE8sIEJBTkRfQiwgTUFYX0JBTkRfTlVNLCBUWF9BUFRfUEFfQ09OVEVYVF9ULCAxLCBOVUxMKQorLyogODUgKi9OVlJBTV9JVEVNX1JGX0NBTChUWF9BUFRfUEFfQ09OVEVYVF9FVkRPLCBCQU5EX0MsIE1BWF9CQU5EX05VTSwgVFhfQVBUX1BBX0NPTlRFWFRfVCwgMSwgTlVMTCkKKy8qIDg2ICovTlZSQU1fSVRFTV9SRl9DQUwoVFhfQVBUX1BBX0NPTlRFWFRfRVZETywgQkFORF9ELCBNQVhfQkFORF9OVU0sIFRYX0FQVF9QQV9DT05URVhUX1QsIDEsIE5VTEwpCisvKiA4NyAqL05WUkFNX0lURU1fUkZfQ0FMKFRYX0FQVF9QQV9DT05URVhUX0VWRE8sIEJBTkRfRSwgTUFYX0JBTkRfTlVNLCBUWF9BUFRfUEFfQ09OVEVYVF9ULCAxLCBOVUxMKQorCisvKiA4OCAqL05WUkFNX0lURU1fUkZfQ0FMKFRYX0RQRF9QQV9DT05URVhUXzFYUlRULCBCQU5EX0EsIE1BWF9CQU5EX05VTSwgVFhfRFBEX1BBX0NPTlRFWFRfVCwgMSwgTlVMTCkKKy8qIDg5ICovTlZSQU1fSVRFTV9SRl9DQUwoVFhfRFBEX1BBX0NPTlRFWFRfMVhSVFQsIEJBTkRfQiwgTUFYX0JBTkRfTlVNLCBUWF9EUERfUEFfQ09OVEVYVF9ULCAxLCBOVUxMKQorLyogOTAgKi9OVlJBTV9JVEVNX1JGX0NBTChUWF9EUERfUEFfQ09OVEVYVF8xWFJUVCwgQkFORF9DLCBNQVhfQkFORF9OVU0sIFRYX0RQRF9QQV9DT05URVhUX1QsIDEsIE5VTEwpCisvKiA5MSAqL05WUkFNX0lURU1fUkZfQ0FMKFRYX0RQRF9QQV9DT05URVhUXzFYUlRULCBCQU5EX0QsIE1BWF9CQU5EX05VTSwgVFhfRFBEX1BBX0NPTlRFWFRfVCwgMSwgTlVMTCkKKy8qIDkyICovTlZSQU1fSVRFTV9SRl9DQUwoVFhfRFBEX1BBX0NPTlRFWFRfMVhSVFQsIEJBTkRfRSwgTUFYX0JBTkRfTlVNLCBUWF9EUERfUEFfQ09OVEVYVF9ULCAxLCBOVUxMKQorCisvKiA5MyAqL05WUkFNX0lURU1fUkZfQ0FMKFRYX0RQRF9QQV9DT05URVhUX0VWRE8sIEJBTkRfQSwgTUFYX0JBTkRfTlVNLCBUWF9EUERfUEFfQ09OVEVYVF9ULCAxLCBOVUxMKQorLyogOTQgKi9OVlJBTV9JVEVNX1JGX0NBTChUWF9EUERfUEFfQ09OVEVYVF9FVkRPLCBCQU5EX0IsIE1BWF9CQU5EX05VTSwgVFhfRFBEX1BBX0NPTlRFWFRfVCwgMSwgTlVMTCkKKy8qIDk1ICovTlZSQU1fSVRFTV9SRl9DQUwoVFhfRFBEX1BBX0NPTlRFWFRfRVZETywgQkFORF9DLCBNQVhfQkFORF9OVU0sIFRYX0RQRF9QQV9DT05URVhUX1QsIDEsIE5VTEwpCisvKiA5NiAqL05WUkFNX0lURU1fUkZfQ0FMKFRYX0RQRF9QQV9DT05URVhUX0VWRE8sIEJBTkRfRCwgTUFYX0JBTkRfTlVNLCBUWF9EUERfUEFfQ09OVEVYVF9ULCAxLCBOVUxMKQorLyogOTcgKi9OVlJBTV9JVEVNX1JGX0NBTChUWF9EUERfUEFfQ09OVEVYVF9FVkRPLCBCQU5EX0UsIE1BWF9CQU5EX05VTSwgVFhfRFBEX1BBX0NPTlRFWFRfVCwgMSwgTlVMTCkKKworICAgICAgICAvKiogVHggUEEgZ2FpbiBmcmVxdWVuY3kgYW5kIHRlbXBlcmF0dXJlIGNvbXBlbnNhdGlvbiBjYWwgZGF0YSovCisvKiA5OCAqLyBOVlJBTV9JVEVNX1JGX0NBTChUWF9BUFRfUEFfR0FJTl9DT01QXzFYUlRULCBCQU5EX0EsIE1BWF9CQU5EX05VTSwgVFhfQVBUX1BBX0dBSU5fQ09NUF9ULCAxLCBOVUxMKQorLyogOTkgKi8gTlZSQU1fSVRFTV9SRl9DQUwoVFhfQVBUX1BBX0dBSU5fQ09NUF8xWFJUVCwgQkFORF9CLCBNQVhfQkFORF9OVU0sIFRYX0FQVF9QQV9HQUlOX0NPTVBfVCwgMSwgTlVMTCkKKy8qIDEwMCAqL05WUkFNX0lURU1fUkZfQ0FMKFRYX0FQVF9QQV9HQUlOX0NPTVBfMVhSVFQsIEJBTkRfQywgTUFYX0JBTkRfTlVNLCBUWF9BUFRfUEFfR0FJTl9DT01QX1QsIDEsIE5VTEwpCisvKiAxMDEgKi9OVlJBTV9JVEVNX1JGX0NBTChUWF9BUFRfUEFfR0FJTl9DT01QXzFYUlRULCBCQU5EX0QsIE1BWF9CQU5EX05VTSwgVFhfQVBUX1BBX0dBSU5fQ09NUF9ULCAxLCBOVUxMKQorLyogMTAyICovTlZSQU1fSVRFTV9SRl9DQUwoVFhfQVBUX1BBX0dBSU5fQ09NUF8xWFJUVCwgQkFORF9FLCBNQVhfQkFORF9OVU0sIFRYX0FQVF9QQV9HQUlOX0NPTVBfVCwgMSwgTlVMTCkKKy8qIDEwMyAqL05WUkFNX0lURU1fUkZfQ0FMKFRYX0FQVF9QQV9HQUlOX0NPTVBfRVZETywgQkFORF9BLCBNQVhfQkFORF9OVU0sIFRYX0FQVF9QQV9HQUlOX0NPTVBfVCwgMSwgTlVMTCkKKy8qIDEwNCAqL05WUkFNX0lURU1fUkZfQ0FMKFRYX0FQVF9QQV9HQUlOX0NPTVBfRVZETywgQkFORF9CLCBNQVhfQkFORF9OVU0sIFRYX0FQVF9QQV9HQUlOX0NPTVBfVCwgMSwgTlVMTCkKKy8qIDEwNSAqL05WUkFNX0lURU1fUkZfQ0FMKFRYX0FQVF9QQV9HQUlOX0NPTVBfRVZETywgQkFORF9DLCBNQVhfQkFORF9OVU0sIFRYX0FQVF9QQV9HQUlOX0NPTVBfVCwgMSwgTlVMTCkKKy8qIDEwNiAqL05WUkFNX0lURU1fUkZfQ0FMKFRYX0FQVF9QQV9HQUlOX0NPTVBfRVZETywgQkFORF9ELCBNQVhfQkFORF9OVU0sIFRYX0FQVF9QQV9HQUlOX0NPTVBfVCwgMSwgTlVMTCkKKy8qIDEwNyAqL05WUkFNX0lURU1fUkZfQ0FMKFRYX0FQVF9QQV9HQUlOX0NPTVBfRVZETywgQkFORF9FLCBNQVhfQkFORF9OVU0sIFRYX0FQVF9QQV9HQUlOX0NPTVBfVCwgMSwgTlVMTCkKKworLyogMTA4ICovTlZSQU1fSVRFTV9SRl9DQUwoVFhfRFBEX1BBX0dBSU5fQ09NUF8xWFJUVCwgQkFORF9BLCBNQVhfQkFORF9OVU0sIFRYX0RQRF9QQV9HQUlOX0NPTVBfVCwgMSwgTlVMTCkKKy8qIDEwOSAqL05WUkFNX0lURU1fUkZfQ0FMKFRYX0RQRF9QQV9HQUlOX0NPTVBfMVhSVFQsIEJBTkRfQiwgTUFYX0JBTkRfTlVNLCBUWF9EUERfUEFfR0FJTl9DT01QX1QsIDEsIE5VTEwpCisvKiAxMTAgKi9OVlJBTV9JVEVNX1JGX0NBTChUWF9EUERfUEFfR0FJTl9DT01QXzFYUlRULCBCQU5EX0MsIE1BWF9CQU5EX05VTSwgVFhfRFBEX1BBX0dBSU5fQ09NUF9ULCAxLCBOVUxMKQorLyogMTExICovTlZSQU1fSVRFTV9SRl9DQUwoVFhfRFBEX1BBX0dBSU5fQ09NUF8xWFJUVCwgQkFORF9ELCBNQVhfQkFORF9OVU0sIFRYX0RQRF9QQV9HQUlOX0NPTVBfVCwgMSwgTlVMTCkKKy8qIDExMiAqL05WUkFNX0lURU1fUkZfQ0FMKFRYX0RQRF9QQV9HQUlOX0NPTVBfMVhSVFQsIEJBTkRfRSwgTUFYX0JBTkRfTlVNLCBUWF9EUERfUEFfR0FJTl9DT01QX1QsIDEsIE5VTEwpCisvKiAxMTMgKi9OVlJBTV9JVEVNX1JGX0NBTChUWF9EUERfUEFfR0FJTl9DT01QX0VWRE8sIEJBTkRfQSwgTUFYX0JBTkRfTlVNLCBUWF9EUERfUEFfR0FJTl9DT01QX1QsIDEsIE5VTEwpCisvKiAxMTQgKi9OVlJBTV9JVEVNX1JGX0NBTChUWF9EUERfUEFfR0FJTl9DT01QX0VWRE8sIEJBTkRfQiwgTUFYX0JBTkRfTlVNLCBUWF9EUERfUEFfR0FJTl9DT01QX1QsIDEsIE5VTEwpCisvKiAxMTUgKi9OVlJBTV9JVEVNX1JGX0NBTChUWF9EUERfUEFfR0FJTl9DT01QX0VWRE8sIEJBTkRfQywgTUFYX0JBTkRfTlVNLCBUWF9EUERfUEFfR0FJTl9DT01QX1QsIDEsIE5VTEwpCisvKiAxMTYgKi9OVlJBTV9JVEVNX1JGX0NBTChUWF9EUERfUEFfR0FJTl9DT01QX0VWRE8sIEJBTkRfRCwgTUFYX0JBTkRfTlVNLCBUWF9EUERfUEFfR0FJTl9DT01QX1QsIDEsIE5VTEwpCisvKiAxMTcgKi9OVlJBTV9JVEVNX1JGX0NBTChUWF9EUERfUEFfR0FJTl9DT01QX0VWRE8sIEJBTkRfRSwgTUFYX0JBTkRfTlVNLCBUWF9EUERfUEFfR0FJTl9DT01QX1QsIDEsIE5VTEwpCisKKworLyogMTE4ICovTlZSQU1fSVRFTV9SRl9DQUwoREVUX0NPVVBMRV9MT1NTXzFYUlRULCBCQU5EX0EsIE1BWF9CQU5EX05VTSwgREVUX0NPVVBMRV9MT1NTX1QsIDEsIE5VTEwpCisvKiAxMTkgKi9OVlJBTV9JVEVNX1JGX0NBTChERVRfQ09VUExFX0xPU1NfMVhSVFQsIEJBTkRfQiwgTUFYX0JBTkRfTlVNLCBERVRfQ09VUExFX0xPU1NfVCwgMSwgTlVMTCkKKy8qIDEyMCAqL05WUkFNX0lURU1fUkZfQ0FMKERFVF9DT1VQTEVfTE9TU18xWFJUVCwgQkFORF9DLCBNQVhfQkFORF9OVU0sIERFVF9DT1VQTEVfTE9TU19ULCAxLCBOVUxMKQorLyogMTIxICovTlZSQU1fSVRFTV9SRl9DQUwoREVUX0NPVVBMRV9MT1NTXzFYUlRULCBCQU5EX0QsIE1BWF9CQU5EX05VTSwgREVUX0NPVVBMRV9MT1NTX1QsIDEsIE5VTEwpCisvKiAxMjIgKi9OVlJBTV9JVEVNX1JGX0NBTChERVRfQ09VUExFX0xPU1NfMVhSVFQsIEJBTkRfRSwgTUFYX0JBTkRfTlVNLCBERVRfQ09VUExFX0xPU1NfVCwgMSwgTlVMTCkKKy8qIDEyMyAqL05WUkFNX0lURU1fUkZfQ0FMKERFVF9DT1VQTEVfTE9TU19FVkRPLCBCQU5EX0EsIE1BWF9CQU5EX05VTSwgREVUX0NPVVBMRV9MT1NTX1QsIDEsIE5VTEwpCisvKiAxMjQgKi9OVlJBTV9JVEVNX1JGX0NBTChERVRfQ09VUExFX0xPU1NfRVZETywgQkFORF9CLCBNQVhfQkFORF9OVU0sIERFVF9DT1VQTEVfTE9TU19ULCAxLCBOVUxMKQorLyogMTI1ICovTlZSQU1fSVRFTV9SRl9DQUwoREVUX0NPVVBMRV9MT1NTX0VWRE8sIEJBTkRfQywgTUFYX0JBTkRfTlVNLCBERVRfQ09VUExFX0xPU1NfVCwgMSwgTlVMTCkKKy8qIDEyNiAqL05WUkFNX0lURU1fUkZfQ0FMKERFVF9DT1VQTEVfTE9TU19FVkRPLCBCQU5EX0QsIE1BWF9CQU5EX05VTSwgREVUX0NPVVBMRV9MT1NTX1QsIDEsIE5VTEwpCisvKiAxMjcgKi9OVlJBTV9JVEVNX1JGX0NBTChERVRfQ09VUExFX0xPU1NfRVZETywgQkFORF9FLCBNQVhfQkFORF9OVU0sIERFVF9DT1VQTEVfTE9TU19ULCAxLCBOVUxMKQorCisvKiAxMjggKi9OVlJBTV9JVEVNX1JGX0NBTChERVRfQ09VUExFX0xPU1NfQ09NUF8xWFJUVCwgQkFORF9BLCBNQVhfQkFORF9OVU0sIERFVF9DT1VQTEVfTE9TU19DT01QX1QsIDEsIE5VTEwpCisvKiAxMjkgKi9OVlJBTV9JVEVNX1JGX0NBTChERVRfQ09VUExFX0xPU1NfQ09NUF8xWFJUVCwgQkFORF9CLCBNQVhfQkFORF9OVU0sIERFVF9DT1VQTEVfTE9TU19DT01QX1QsIDEsIE5VTEwpCisvKiAxMzAgKi9OVlJBTV9JVEVNX1JGX0NBTChERVRfQ09VUExFX0xPU1NfQ09NUF8xWFJUVCwgQkFORF9DLCBNQVhfQkFORF9OVU0sIERFVF9DT1VQTEVfTE9TU19DT01QX1QsIDEsIE5VTEwpCisvKiAxMzEgKi9OVlJBTV9JVEVNX1JGX0NBTChERVRfQ09VUExFX0xPU1NfQ09NUF8xWFJUVCwgQkFORF9ELCBNQVhfQkFORF9OVU0sIERFVF9DT1VQTEVfTE9TU19DT01QX1QsIDEsIE5VTEwpCisvKiAxMzIgKi9OVlJBTV9JVEVNX1JGX0NBTChERVRfQ09VUExFX0xPU1NfQ09NUF8xWFJUVCwgQkFORF9FLCBNQVhfQkFORF9OVU0sIERFVF9DT1VQTEVfTE9TU19DT01QX1QsIDEsIE5VTEwpCisvKiAxMzMgKi9OVlJBTV9JVEVNX1JGX0NBTChERVRfQ09VUExFX0xPU1NfQ09NUF9FVkRPLCBCQU5EX0EsIE1BWF9CQU5EX05VTSwgREVUX0NPVVBMRV9MT1NTX0NPTVBfVCwgMSwgTlVMTCkKKy8qIDEzNCAqL05WUkFNX0lURU1fUkZfQ0FMKERFVF9DT1VQTEVfTE9TU19DT01QX0VWRE8sIEJBTkRfQiwgTUFYX0JBTkRfTlVNLCBERVRfQ09VUExFX0xPU1NfQ09NUF9ULCAxLCBOVUxMKQorLyogMTM1ICovTlZSQU1fSVRFTV9SRl9DQUwoREVUX0NPVVBMRV9MT1NTX0NPTVBfRVZETywgQkFORF9DLCBNQVhfQkFORF9OVU0sIERFVF9DT1VQTEVfTE9TU19DT01QX1QsIDEsIE5VTEwpCisvKiAxMzYgKi9OVlJBTV9JVEVNX1JGX0NBTChERVRfQ09VUExFX0xPU1NfQ09NUF9FVkRPLCBCQU5EX0QsIE1BWF9CQU5EX05VTSwgREVUX0NPVVBMRV9MT1NTX0NPTVBfVCwgMSwgTlVMTCkKKy8qIDEzNyAqL05WUkFNX0lURU1fUkZfQ0FMKERFVF9DT1VQTEVfTE9TU19DT01QX0VWRE8sIEJBTkRfRSwgTUFYX0JBTkRfTlVNLCBERVRfQ09VUExFX0xPU1NfQ09NUF9ULCAxLCBOVUxMKQorCisgICAgICAgIC8qKiBSeCBwYXRobG9zcyBjb21wZW5zYXRpb24gY2FsIGRhdGEgaW4gaGlnaCBwb3dlciBtb2RlKi8KKy8qIDE0OCAqL05WUkFNX0lURU1fUkZfQ0FMKE1BSU5fUlhfUEFUSF9MT1NTX0hQTSwgQkFORF9BLCBNQVhfQkFORF9OVU0sIFJYX1BBVEhfTE9TU19DT01QX1QsIDEsIE5VTEwpCisvKiAxNDkgKi9OVlJBTV9JVEVNX1JGX0NBTChNQUlOX1JYX1BBVEhfTE9TU19IUE0sIEJBTkRfQiwgTUFYX0JBTkRfTlVNLCBSWF9QQVRIX0xPU1NfQ09NUF9ULCAxLCBOVUxMKQorLyogMTUwICovTlZSQU1fSVRFTV9SRl9DQUwoTUFJTl9SWF9QQVRIX0xPU1NfSFBNLCBCQU5EX0MsIE1BWF9CQU5EX05VTSwgUlhfUEFUSF9MT1NTX0NPTVBfVCwgMSwgTlVMTCkKKy8qIDE1MSAqL05WUkFNX0lURU1fUkZfQ0FMKE1BSU5fUlhfUEFUSF9MT1NTX0hQTSwgQkFORF9ELCBNQVhfQkFORF9OVU0sIFJYX1BBVEhfTE9TU19DT01QX1QsIDEsIE5VTEwpCisvKiAxNTIgKi9OVlJBTV9JVEVNX1JGX0NBTChNQUlOX1JYX1BBVEhfTE9TU19IUE0sIEJBTkRfRSwgTUFYX0JBTkRfTlVNLCBSWF9QQVRIX0xPU1NfQ09NUF9ULCAxLCBOVUxMKQorLyogMTUzICovTlZSQU1fSVRFTV9SRl9DQUwoTUFJTl9SWF9QQVRIX0xPU1NfTFBNLCBCQU5EX0EsIE1BWF9CQU5EX05VTSwgUlhfUEFUSF9MT1NTX0NPTVBfVCwgMSwgTlVMTCkKKy8qIDE1NCAqL05WUkFNX0lURU1fUkZfQ0FMKE1BSU5fUlhfUEFUSF9MT1NTX0xQTSwgQkFORF9CLCBNQVhfQkFORF9OVU0sIFJYX1BBVEhfTE9TU19DT01QX1QsIDEsIE5VTEwpCisvKiAxNTUgKi9OVlJBTV9JVEVNX1JGX0NBTChNQUlOX1JYX1BBVEhfTE9TU19MUE0sIEJBTkRfQywgTUFYX0JBTkRfTlVNLCBSWF9QQVRIX0xPU1NfQ09NUF9ULCAxLCBOVUxMKQorLyogMTU2ICovTlZSQU1fSVRFTV9SRl9DQUwoTUFJTl9SWF9QQVRIX0xPU1NfTFBNLCBCQU5EX0QsIE1BWF9CQU5EX05VTSwgUlhfUEFUSF9MT1NTX0NPTVBfVCwgMSwgTlVMTCkKKy8qIDE1NyAqL05WUkFNX0lURU1fUkZfQ0FMKE1BSU5fUlhfUEFUSF9MT1NTX0xQTSwgQkFORF9FLCBNQVhfQkFORF9OVU0sIFJYX1BBVEhfTE9TU19DT01QX1QsIDEsIE5VTEwpCisKKy8qIDE2OCAqL05WUkFNX0lURU1fUkZfQ0FMKERJVl9SWF9QQVRIX0xPU1NfSFBNLCBCQU5EX0EsIE1BWF9CQU5EX05VTSwgUlhfUEFUSF9MT1NTX0NPTVBfVCwgMSwgTlVMTCkKKy8qIDE2OSAqL05WUkFNX0lURU1fUkZfQ0FMKERJVl9SWF9QQVRIX0xPU1NfSFBNLCBCQU5EX0IsIE1BWF9CQU5EX05VTSwgUlhfUEFUSF9MT1NTX0NPTVBfVCwgMSwgTlVMTCkKKy8qIDE3MCAqL05WUkFNX0lURU1fUkZfQ0FMKERJVl9SWF9QQVRIX0xPU1NfSFBNLCBCQU5EX0MsIE1BWF9CQU5EX05VTSwgUlhfUEFUSF9MT1NTX0NPTVBfVCwgMSwgTlVMTCkKKy8qIDE3MSAqL05WUkFNX0lURU1fUkZfQ0FMKERJVl9SWF9QQVRIX0xPU1NfSFBNLCBCQU5EX0QsIE1BWF9CQU5EX05VTSwgUlhfUEFUSF9MT1NTX0NPTVBfVCwgMSwgTlVMTCkKKy8qIDE3MiAqL05WUkFNX0lURU1fUkZfQ0FMKERJVl9SWF9QQVRIX0xPU1NfSFBNLCBCQU5EX0UsIE1BWF9CQU5EX05VTSwgUlhfUEFUSF9MT1NTX0NPTVBfVCwgMSwgTlVMTCkKKy8qIDE3MyAqL05WUkFNX0lURU1fUkZfQ0FMKERJVl9SWF9QQVRIX0xPU1NfTFBNLCBCQU5EX0EsIE1BWF9CQU5EX05VTSwgUlhfUEFUSF9MT1NTX0NPTVBfVCwgMSwgTlVMTCkKKy8qIDE3NCAqL05WUkFNX0lURU1fUkZfQ0FMKERJVl9SWF9QQVRIX0xPU1NfTFBNLCBCQU5EX0IsIE1BWF9CQU5EX05VTSwgUlhfUEFUSF9MT1NTX0NPTVBfVCwgMSwgTlVMTCkKKy8qIDE3NSAqL05WUkFNX0lURU1fUkZfQ0FMKERJVl9SWF9QQVRIX0xPU1NfTFBNLCBCQU5EX0MsIE1BWF9CQU5EX05VTSwgUlhfUEFUSF9MT1NTX0NPTVBfVCwgMSwgTlVMTCkKKy8qIDE3NiAqL05WUkFNX0lURU1fUkZfQ0FMKERJVl9SWF9QQVRIX0xPU1NfTFBNLCBCQU5EX0QsIE1BWF9CQU5EX05VTSwgUlhfUEFUSF9MT1NTX0NPTVBfVCwgMSwgTlVMTCkKKy8qIDE3NyAqL05WUkFNX0lURU1fUkZfQ0FMKERJVl9SWF9QQVRIX0xPU1NfTFBNLCBCQU5EX0UsIE1BWF9CQU5EX05VTSwgUlhfUEFUSF9MT1NTX0NPTVBfVCwgMSwgTlVMTCkKKworLyogMTg4ICovTlZSQU1fSVRFTV9SRl9DQUwoU0hEUl9SWF9QQVRIX0xPU1NfSFBNLCBCQU5EX0EsIE1BWF9CQU5EX05VTSwgUlhfUEFUSF9MT1NTX0NPTVBfVCwgMSwgTlVMTCkKKy8qIDE4OSAqL05WUkFNX0lURU1fUkZfQ0FMKFNIRFJfUlhfUEFUSF9MT1NTX0hQTSwgQkFORF9CLCBNQVhfQkFORF9OVU0sIFJYX1BBVEhfTE9TU19DT01QX1QsIDEsIE5VTEwpCisvKiAxOTAgKi9OVlJBTV9JVEVNX1JGX0NBTChTSERSX1JYX1BBVEhfTE9TU19IUE0sIEJBTkRfQywgTUFYX0JBTkRfTlVNLCBSWF9QQVRIX0xPU1NfQ09NUF9ULCAxLCBOVUxMKQorLyogMTkxICovTlZSQU1fSVRFTV9SRl9DQUwoU0hEUl9SWF9QQVRIX0xPU1NfSFBNLCBCQU5EX0QsIE1BWF9CQU5EX05VTSwgUlhfUEFUSF9MT1NTX0NPTVBfVCwgMSwgTlVMTCkKKy8qIDE5MiAqL05WUkFNX0lURU1fUkZfQ0FMKFNIRFJfUlhfUEFUSF9MT1NTX0hQTSwgQkFORF9FLCBNQVhfQkFORF9OVU0sIFJYX1BBVEhfTE9TU19DT01QX1QsIDEsIE5VTEwpCisvKiAxOTMgKi9OVlJBTV9JVEVNX1JGX0NBTChTSERSX1JYX1BBVEhfTE9TU19MUE0sIEJBTkRfQSwgTUFYX0JBTkRfTlVNLCBSWF9QQVRIX0xPU1NfQ09NUF9ULCAxLCBOVUxMKQorLyogMTk0ICovTlZSQU1fSVRFTV9SRl9DQUwoU0hEUl9SWF9QQVRIX0xPU1NfTFBNLCBCQU5EX0IsIE1BWF9CQU5EX05VTSwgUlhfUEFUSF9MT1NTX0NPTVBfVCwgMSwgTlVMTCkKKy8qIDE5NSAqL05WUkFNX0lURU1fUkZfQ0FMKFNIRFJfUlhfUEFUSF9MT1NTX0xQTSwgQkFORF9DLCBNQVhfQkFORF9OVU0sIFJYX1BBVEhfTE9TU19DT01QX1QsIDEsIE5VTEwpCisvKiAxOTYgKi9OVlJBTV9JVEVNX1JGX0NBTChTSERSX1JYX1BBVEhfTE9TU19MUE0sIEJBTkRfRCwgTUFYX0JBTkRfTlVNLCBSWF9QQVRIX0xPU1NfQ09NUF9ULCAxLCBOVUxMKQorLyogMTk3ICovTlZSQU1fSVRFTV9SRl9DQUwoU0hEUl9SWF9QQVRIX0xPU1NfTFBNLCBCQU5EX0UsIE1BWF9CQU5EX05VTSwgUlhfUEFUSF9MT1NTX0NPTVBfVCwgMSwgTlVMTCkKKworLyogMTk4ICovTlZSQU1fSVRFTV9SRl9DQUwoQUdQU19HUk9VUF9ERUxBWSwgQkFORF9BLCBNQVhfQkFORF9OVU0sIEFHUFNfR1JPVVBfREVMQVlfVCwgMSwgTlVMTCkKKy8qIDE5OSAqL05WUkFNX0lURU1fUkZfQ0FMKEFHUFNfR1JPVVBfREVMQVksIEJBTkRfQiwgTUFYX0JBTkRfTlVNLCBBR1BTX0dST1VQX0RFTEFZX1QsIDEsIE5VTEwpCisvKiAyMDAgKi9OVlJBTV9JVEVNX1JGX0NBTChBR1BTX0dST1VQX0RFTEFZLCBCQU5EX0MsIE1BWF9CQU5EX05VTSwgQUdQU19HUk9VUF9ERUxBWV9ULCAxLCBOVUxMKQorLyogMjAxICovTlZSQU1fSVRFTV9SRl9DQUwoQUdQU19HUk9VUF9ERUxBWSwgQkFORF9ELCBNQVhfQkFORF9OVU0sIEFHUFNfR1JPVVBfREVMQVlfVCwgMSwgTlVMTCkKKy8qIDIwMiAqL05WUkFNX0lURU1fUkZfQ0FMKEFHUFNfR1JPVVBfREVMQVksIEJBTkRfRSwgTUFYX0JBTkRfTlVNLCBBR1BTX0dST1VQX0RFTEFZX1QsIDEsIE5VTEwpCisKKy8qVEFTKi8KKy8qIDIxOCAqL05WUkFNX0lURU1fUkZfVEFTX1ZBUihDVVNUX1RBU19GRUFUVVJFLCAsIDEsIFRBU19GRUFUVVJFX1QsIDEsIE5VTEwpCisvKiA0NDEgKi9OVlJBTV9JVEVNX1JGX1RBU19WQVIoQ1VTVF9VVEFTX0FMR09SSVRITV9QQVJBTUVURVIsICwgMSwgVVRBU19BTEdPUklUSE1fUEFSQU1FVEVSX1QsIDEsIE5VTEwpCisKKy8qKlRYIFBPV0VSKiovCisvKiBUWCBwb3dlciBiYWNrIG9mZiAqLworLyogMjg1ICovTlZSQU1fSVRFTV9UWF9QT1dFUl9WQVIoVFhfUE9XRVJfQkFDS19PRkYsQkFORF9BLCBNQVhfQkFORF9OVU0sIFRYX1BPV0VSX0JBQ0tfT0ZGX1QsMSxOVUxMKQorLyogMjg2ICovTlZSQU1fSVRFTV9UWF9QT1dFUl9WQVIoVFhfUE9XRVJfQkFDS19PRkYsQkFORF9CLCBNQVhfQkFORF9OVU0sIFRYX1BPV0VSX0JBQ0tfT0ZGX1QsMSxOVUxMKQorLyogMjg3ICovTlZSQU1fSVRFTV9UWF9QT1dFUl9WQVIoVFhfUE9XRVJfQkFDS19PRkYsQkFORF9DLCBNQVhfQkFORF9OVU0sIFRYX1BPV0VSX0JBQ0tfT0ZGX1QsMSxOVUxMKQorLyogMjg4ICovTlZSQU1fSVRFTV9UWF9QT1dFUl9WQVIoVFhfUE9XRVJfQkFDS19PRkYsQkFORF9ELCBNQVhfQkFORF9OVU0sIFRYX1BPV0VSX0JBQ0tfT0ZGX1QsMSxOVUxMKQorLyogMjg5ICovTlZSQU1fSVRFTV9UWF9QT1dFUl9WQVIoVFhfUE9XRVJfQkFDS19PRkYsQkFORF9FLCBNQVhfQkFORF9OVU0sIFRYX1BPV0VSX0JBQ0tfT0ZGX1QsMSxOVUxMKQorLyogVFggcG93ZXIgb2Zmc2V0ICovCisjaWYgZGVmaW5lZChfX1RYX1BPV0VSX09GRlNFVF9TVVBQT1JUX18pICAKKy8qIDI5MCAqL05WUkFNX0lURU1fVFhfUE9XRVJfVkFSKFRYX1BPV0VSX09GRlNFVCxCQU5EX0EsIE1BWF9CQU5EX05VTSwgU1dUUF9UWF9QT1dFUl9PRkZTRVRfVCwxLE5VTEwpCisvKiAyOTEgKi9OVlJBTV9JVEVNX1RYX1BPV0VSX1ZBUihUWF9QT1dFUl9PRkZTRVQsQkFORF9CLCBNQVhfQkFORF9OVU0sIFNXVFBfVFhfUE9XRVJfT0ZGU0VUX1QsMSxOVUxMKQorLyogMjkyICovTlZSQU1fSVRFTV9UWF9QT1dFUl9WQVIoVFhfUE9XRVJfT0ZGU0VULEJBTkRfQywgTUFYX0JBTkRfTlVNLCBTV1RQX1RYX1BPV0VSX09GRlNFVF9ULDEsTlVMTCkKKy8qIDI5MyAqL05WUkFNX0lURU1fVFhfUE9XRVJfVkFSKFRYX1BPV0VSX09GRlNFVCxCQU5EX0QsIE1BWF9CQU5EX05VTSwgU1dUUF9UWF9QT1dFUl9PRkZTRVRfVCwxLE5VTEwpCisvKiAyOTQgKi9OVlJBTV9JVEVNX1RYX1BPV0VSX1ZBUihUWF9QT1dFUl9PRkZTRVQsQkFORF9FLCBNQVhfQkFORF9OVU0sIFNXVFBfVFhfUE9XRVJfT0ZGU0VUX1QsMSxOVUxMKQorI2VuZGlmCisgCisvKiBTQVIgVFggcG93ZXIgb2Zmc2V0ICovCisjaWYgZGVmaW5lZChfX1NBUl9UWF9QT1dFUl9CQUNLT0ZGX1NVUFBPUlRfXykgICAKKy8qIDQwOSAqL05WUkFNX0lURU1fVFhfUE9XRVJfVkFSKFNBUl9UWF9QT1dFUl9PRkZTRVQsQkFORF9BLCBNQVhfQkFORF9OVU0sIFNBUl9UWF9QT1dFUl9PRkZTRVRfVCwxLE5VTEwpCisvKiA0MTAgKi9OVlJBTV9JVEVNX1RYX1BPV0VSX1ZBUihTQVJfVFhfUE9XRVJfT0ZGU0VULEJBTkRfQiwgTUFYX0JBTkRfTlVNLCBTQVJfVFhfUE9XRVJfT0ZGU0VUX1QsMSxOVUxMKQorLyogNDExICovTlZSQU1fSVRFTV9UWF9QT1dFUl9WQVIoU0FSX1RYX1BPV0VSX09GRlNFVCxCQU5EX0MsIE1BWF9CQU5EX05VTSwgU0FSX1RYX1BPV0VSX09GRlNFVF9ULDEsTlVMTCkKKy8qIDQxMiAqL05WUkFNX0lURU1fVFhfUE9XRVJfVkFSKFNBUl9UWF9QT1dFUl9PRkZTRVQsQkFORF9ELCBNQVhfQkFORF9OVU0sIFNBUl9UWF9QT1dFUl9PRkZTRVRfVCwxLE5VTEwpCisvKiA0MTMgKi9OVlJBTV9JVEVNX1RYX1BPV0VSX1ZBUihTQVJfVFhfUE9XRVJfT0ZGU0VULEJBTkRfRSwgTUFYX0JBTkRfTlVNLCBTQVJfVFhfUE9XRVJfT0ZGU0VUX1QsMSxOVUxMKQorI2VuZGlmCisvKkRQRCovCisvKiA0MTQgKi9OVlJBTV9JVEVNX1JGX1BPQyhUWF9EUERfQU1fUE1fQ09NUF8xWFJUVCwgQkFORF9BLCBNQVhfQkFORF9OVU0sIFRYX0RQRF9BTV9QTV9MVVRfREFUQV9ULCAxLCBOVUxMKQorLyogNDE1ICovTlZSQU1fSVRFTV9SRl9QT0MoVFhfRFBEX0FNX1BNX0NPTVBfMVhSVFQsIEJBTkRfQiwgTUFYX0JBTkRfTlVNLCBUWF9EUERfQU1fUE1fTFVUX0RBVEFfVCwgMSwgTlVMTCkKKy8qIDQxNiAqL05WUkFNX0lURU1fUkZfUE9DKFRYX0RQRF9BTV9QTV9DT01QXzFYUlRULCBCQU5EX0MsIE1BWF9CQU5EX05VTSwgVFhfRFBEX0FNX1BNX0xVVF9EQVRBX1QsIDEsIE5VTEwpCisvKiA0MTcgKi9OVlJBTV9JVEVNX1JGX1BPQyhUWF9EUERfQU1fUE1fQ09NUF8xWFJUVCwgQkFORF9ELCBNQVhfQkFORF9OVU0sIFRYX0RQRF9BTV9QTV9MVVRfREFUQV9ULCAxLCBOVUxMKQorLyogNDE4ICovTlZSQU1fSVRFTV9SRl9QT0MoVFhfRFBEX0FNX1BNX0NPTVBfMVhSVFQsIEJBTkRfRSwgTUFYX0JBTkRfTlVNLCBUWF9EUERfQU1fUE1fTFVUX0RBVEFfVCwgMSwgTlVMTCkKKy8qIDQxOSAqL05WUkFNX0lURU1fUkZfUE9DKFRYX0RQRF9BTV9QTV9DT01QX0VWRE8sIEJBTkRfQSwgTUFYX0JBTkRfTlVNLCBUWF9EUERfQU1fUE1fTFVUX0RBVEFfVCwgMSwgTlVMTCkKKy8qIDQyMCAqL05WUkFNX0lURU1fUkZfUE9DKFRYX0RQRF9BTV9QTV9DT01QX0VWRE8sIEJBTkRfQiwgTUFYX0JBTkRfTlVNLCBUWF9EUERfQU1fUE1fTFVUX0RBVEFfVCwgMSwgTlVMTCkKKy8qIDQyMSAqL05WUkFNX0lURU1fUkZfUE9DKFRYX0RQRF9BTV9QTV9DT01QX0VWRE8sIEJBTkRfQywgTUFYX0JBTkRfTlVNLCBUWF9EUERfQU1fUE1fTFVUX0RBVEFfVCwgMSwgTlVMTCkKKy8qIDQyMiAqL05WUkFNX0lURU1fUkZfUE9DKFRYX0RQRF9BTV9QTV9DT01QX0VWRE8sIEJBTkRfRCwgTUFYX0JBTkRfTlVNLCBUWF9EUERfQU1fUE1fTFVUX0RBVEFfVCwgMSwgTlVMTCkKKy8qIDQyMyAqL05WUkFNX0lURU1fUkZfUE9DKFRYX0RQRF9BTV9QTV9DT01QX0VWRE8sIEJBTkRfRSwgTUFYX0JBTkRfTlVNLCBUWF9EUERfQU1fUE1fTFVUX0RBVEFfVCwgMSwgTlVMTCkKKy8qIDQyNCAqL05WUkFNX0lURU1fUkZfQ1VTVChEUERfQ09NTU9OX0NUUkwsIEJBTkRfQSwgTUFYX0JBTkRfTlVNLCBEUERfQ09NTU9OX0NUUkxfVCwgMSwgTlVMTCkKKy8qIDQyNSAqL05WUkFNX0lURU1fUkZfQ1VTVChEUERfQ09NTU9OX0NUUkwsIEJBTkRfQiwgTUFYX0JBTkRfTlVNLCBEUERfQ09NTU9OX0NUUkxfVCwgMSwgTlVMTCkKKy8qIDQyNiAqL05WUkFNX0lURU1fUkZfQ1VTVChEUERfQ09NTU9OX0NUUkwsIEJBTkRfQywgTUFYX0JBTkRfTlVNLCBEUERfQ09NTU9OX0NUUkxfVCwgMSwgTlVMTCkKKy8qIDQyNyAqL05WUkFNX0lURU1fUkZfQ1VTVChEUERfQ09NTU9OX0NUUkwsIEJBTkRfRCwgTUFYX0JBTkRfTlVNLCBEUERfQ09NTU9OX0NUUkxfVCwgMSwgTlVMTCkKKy8qIDQyOCAqL05WUkFNX0lURU1fUkZfQ1VTVChEUERfQ09NTU9OX0NUUkwsIEJBTkRfRSwgTUFYX0JBTkRfTlVNLCBEUERfQ09NTU9OX0NUUkxfVCwgMSwgTlVMTCkKKy8qIDQyOSAqL05WUkFNX0lURU1fUkZfQ1VTVChQQ0ZFX0RQRF9PVEZDX0NVU1RPTV9QQVJBLCAsIDEsCVBDRkVfRFBEX09URkNfQ1VTVE9NX1BBUkFfVCwgMSwgTlVMTCkKKyNpZiBJU19DMktfSU5ESUNBVElPTl9GT1JfQVBfQ0xPQ0tfSE9QUElOR19TVVBQT1JUCisvKiA0NDQgKi9OVlJBTV9JVEVNX1JGX1RBU19WQVIoQ1VTVF9SRl9IT1BQSU5HLCAsIDEsIEhPUFBJTkdfREFUQV9CQVNFX1QsIDEsIE5VTEwpCisjZW5kaWYKKworI2VuZGlmCisKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jbDFfcnRiX2FwaS5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NsMV9ydGJfYXBpLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTIwMGNmOAotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jbDFfcnRiX2FwaS5oCkBAIC0wLDAgKzEsNTAgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNworKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmICBDTDFfUlRCX0FQSV9ICisjZGVmaW5lICBDTDFfUlRCX0FQSV9ICisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAKKyAgRlVOQ1RJT04gTkFNRTogICBDbDFfQXNzZXJ0RnVuY3Rpb24KKworICBERVNDUklQVElPTjogICAgIFJUQkEgUHJvdmlkZSB0aGlzIEFQSSBmb3IgUlRCIHRvIGNhbGwgdG8gcGFzcyB0aGUgYXNzZXJ0IGluZm9ybWF0aW9uIHRvIENMMQorCisgIFBBUkFNRVRFUlM6ICAgICAgQXNzZXJ0IENhdXNlICAgICAgICAgICAgLSBJbmRpY2F0ZSBhc3NlcnQgY2F1c2Ugb2YgUlRCCisgICAgICAgICAgICAgICAgICAgU2ltSW5kZXggICAgICAgICAgICAgICAgLSBDdXJyZW50IFNJTSBJbmRleAorICAgICAgICAgICAgICAgICAgIFBhcmExL1BhcmEyICAgICAgICAgICAgIC0gVGhlIGFzc2VydCByZWxhdGVkIGluZm9ybWF0aW9uCisgIFJFVFVSTkVEIFZBTFVFUzogCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK2V4dGVybiB2b2lkIENsMV9Bc3NlcnRGdW5jdGlvbihSVEJfQVNTRVJUX0NBVVNFIEFzc2VydENhdXNlLCBSVEJfU0lNX0lOREVYIFNpbUluZGV4LCBrYWxfdWludDMyIFBhcmExLCBrYWxfdWludDMyIFBhcmEyKTsKKworI2VuZGlmClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NsMV90aW1lcnR5cGUuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jbDFfdGltZXJ0eXBlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDA2MzUxNwotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jbDFfdGltZXJ0eXBlLmgKQEAgLTAsMCArMSw2MCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK0NMMV9USU1FUl9UWVBFKENUaW1lck5vbmUpLAorQ0wxX1RJTUVSX1RZUEUoQ1RpbWVyWEwxSWNzUGlsb3QpLAorQ0wxX1RJTUVSX1RZUEUoQ1RpbWVyWEwxSWNzU3luYyksCitDTDFfVElNRVJfVFlQRShDVGltZXJYTDFOc2x0UGNoT3ZoZCksCitDTDFfVElNRVJfVFlQRShDVGltZXJYTDFOc2x0SW50ZXJNZWFzKSwKK0NMMV9USU1FUl9UWVBFKENUaW1lclhMMUFmbHRNZWFzKSwKK0NMMV9USU1FUl9UWVBFKENUaW1lclhMMVNsdENjaSksCitDTDFfVElNRVJfVFlQRShDVGltZXJYTDFTbHRRcGNoXzEpLAorQ0wxX1RJTUVSX1RZUEUoQ1RpbWVyWEwxU2x0UXBjaF8yKSwKK0NMMV9USU1FUl9UWVBFKENUaW1lclhMMVNsdFBjaCksCitDTDFfVElNRVJfVFlQRShDVGltZXJYTDFTbHRQY2hMb3N0RGV0KSwKK0NMMV9USU1FUl9UWVBFKENUaW1lclhMMVNsdG50ZXJNZWFzKSwKK0NMMV9USU1FUl9UWVBFKENUaW1lclhMMUNvbm5lY3RQc1J4KSwKK0NMMV9USU1FUl9UWVBFKENUaW1lclhMMUNvbm5lY3RJbnRlck1lYXMpLAorQ0wxX1RJTUVSX1RZUEUoQ1RpbWVyWEwxQ29ubmVjdEFmbHRNZWFzKSwKK0NMMV9USU1FUl9UWVBFKENUaW1lckV2TDFJY3NQaWxvdCksCitDTDFfVElNRVJfVFlQRShDVGltZXJFdkwxSWNzU3luYyksCitDTDFfVElNRVJfVFlQRShDVGltZXJFdkwxTnNsdENDKSwKK0NMMV9USU1FUl9UWVBFKENUaW1lckV2TDFTbHRQY2gpLAorQ0wxX1RJTUVSX1RZUEUoQ1RpbWVyRXZMMUludGVyTWVhcyksCitDTDFfVElNRVJfVFlQRShDVGltZXJFdkwxQ29ubmVjdFJ4KSwKK0NMMV9USU1FUl9UWVBFKENUaW1lckV2TDFDb25uZWN0SW50ZXJNZWFzKSwKK0NMMV9USU1FUl9UWVBFKENUaW1lckV2U3RkYnlNZWFzKSwKK0NMMV9USU1FUl9UWVBFKENUaW1lckV2U3RkYnlTeW5jKSwKK0NMMV9USU1FUl9UWVBFKENUaW1lckV2U3RkYnlDZ2kpLAorQ0wxX1RJTUVSX1RZUEUoQ1RpbWVyRW5kKSwKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jbDFjb21tb24uaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jbDFjb21tb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTEzMDU0Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NsMWNvbW1vbi5oCkBAIC0wLDAgKzEsOTcgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DTDFDT01NT05fSF8KKyNkZWZpbmUgX0NMMUNPTU1PTl9IXworCisvLyNkZWZpbmUgQzJLX0NPU0lNX1RTVF9PTl9QQyAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTURNX1RNX1NUUl9CVUYwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKworI2luY2x1ZGUgInN5c2RlZnMuaCIKKyNpZmRlZiBNVEtfQzJLX0NPU0lNCisjaW5jbHVkZSAibWRtX3RyYy5oIgorI2VuZGlmCisKKworLy8jaWYgIWRlZmluZWQgKEMyS19DT1NJTV9UU1RfT05fUEMpCit0eXBlZGVmIHVuc2lnbmVkIGludCAgaW50Ym9vbDsKKy8vI2VuZGlmCisKKwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogU1JBTUFERFI7ICAgICAgICAgLyogU1JBTSBhZGRyIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBTUkFNREFUQTsgICAgICAgICAvKiBTUkFNIGRhdGEgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIEFQQkFERFI7ICAgICAgICAgIC8qIEFQQiBhZGRyIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgQVBCREFUQTsgICAgICAgICAgLyogQVBCIGRhdGEgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqICBBUEJBRERSMzI7ICAgICAgICAvKiBBUEIgYWRkciBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAgIEFQQkRBVEEzMjsgICAgICAgIC8qIEFQQiBkYXRhIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogRFBSQU1BRERSOyAgICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHNpZ25lZCAgIHNob3J0KiBEUFJBTUFERFJfUzsgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIERQUkFNREFUQTsgICAgICAgIC8qIERQUkFNIGRhdGEgaXMgMTYgYml0cyAqLworCisjaWZuZGVmIE5VTEwKKyNkZWZpbmUgTlVMTCAgICAgICAgIDAKKyNlbmRpZgorCisjaWZuZGVmIE9LCisjZGVmaW5lIE9LICAgICAgICAgICAxCisjZW5kaWYKKworI2lmbmRlZiBFUlJPUgorI2RlZmluZSBFUlJPUjEgICAgICAgMAorI2VuZGlmCisKKyNpZm5kZWYgRkFJTAorI2RlZmluZSBGQUlMICAgICAgICAgMAorI2VuZGlmCisKKyNpZm5kZWYgUEFTUworI2RlZmluZSBQQVNTICAgICAgICAgMQorI2VuZGlmCisKKyNpZm5kZWYgT0tBWQorI2RlZmluZSBPS0FZICAgIDEKKyNlbmRpZgorCisjaWYgZGVmaW5lZCAoQzJLX0NPU0lNX1RTVF9PTl9QQykKKyNpZiAwCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisjZW5kaWYKKyNlbHNlCisjZW5kaWYKKworI2VuZGlmCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY2wxZF9pbnRlcmZhY2UuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jbDFkX2ludGVyZmFjZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkODRlNDIKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY2wxZF9pbnRlcmZhY2UuaApAQCAtMCwwICsxLDYwIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMDUKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4gCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICogICBjbDFkX2ludGVyZmFjZS5oCisgKgorICogUHJvamVjdDoKKyAqIC0tLS0tLS0tCisgKiAgIE1UNjI5MworICoKKyAqIERlc2NyaXB0aW9uOgorICogLS0tLS0tLS0tLS0tCisgKiAgIENMMUQgSW50ZXJmYWNlCisgKgorICogQXV0aG9yOgorICogLS0tLS0tLQorICogICAKKyAqCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIEZvciBNTVJGICovCisjZGVmaW5lIGlzX2Mya19leGlzdCBLQUxfVFJVRQorI2RlZmluZSBDTDFEX0lTX0MyS19FWElTVCgpICAoKGthbF9ib29sKWlzX2Mya19leGlzdCkKKwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NsMWZoaHNjZXZ0aWQuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jbDFmaGhzY2V2dGlkLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzc2MjMwNAotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jbDFmaGhzY2V2dGlkLmgKQEAgLTAsMCArMSwxMjYgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DTDFGSEhTQ0VWVElEX0hfCisjZGVmaW5lIF9DTDFGSEhTQ0VWVElEX0hfCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAKKyogRklMRSBOQU1FICAgOiAgICAgY2wxZmhoc2NldnRpZC5oCisqCisqIERFU0NSSVBUSU9OIDogICAKKyoKKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2RlZmluZSBGSF9IU0NfRVZUX0lEX0hFQURFUl8xWCAgICAgICgweDAwODApCisjZGVmaW5lIEZIX0hTQ19FVlRfSURfSEVBREVSX0RPICAgICAgKDB4MDEwMCkKKyNkZWZpbmUgRkhfSFNDX0VWVF9JRF9IRUFERVJfTUFTSyAgICAoMHgwMTgwKQorCisjZGVmaW5lIEZIX0hTQ19FVlRfSURfSEVBREVSX0NPTU1PTiAgKEZIX0hTQ19FVlRfSURfSEVBREVSXzFYIHwgRkhfSFNDX0VWVF9JRF9IRUFERVJfRE8pCisKKyNpZiAoKEZIX0hTQ19FVlRfSURfSEVBREVSX01BU0sgJiBGUl9FVlRfSURfSEVBREVSX0RFU1RfTUFTSykgIT0gMCkKKyAgICNlcnJvciAiRVZUIElEIGhlYWRlciBiaXRzIGFzc2lnbiBjb25mbGljdCEhISIKKyNlbmRpZgorCisKKy8qIFRoaXMgSGRyTWFzayBpcyBmb3IgU2xlZXAgUkkgdXNhZ2UqLworI2RlZmluZSBGSF9IU0NfRVZUX0lEX0RFRklORShJZCwgVmFsLCBIZHJNYXNrKSBGUl9FVlRfSURfREVGSU5FKElkLCAoSGRyTWFzayB8IFZhbCksIEZIX0hTQykKKworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBHbG9iYWwgRGVmaW5lcyAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKiBTYW1wbGUgKi8KK0ZIX0hTQ19FVlRfSURfREVGSU5FKEVWVF9JRF9YWF9UT19GSF9IU0NfU0FNUExFLCAgICAgICAgICAgICAgICAgICAgIDB4MDAsICAgMCkKK0ZIX0hTQ19FVlRfSURfREVGSU5FKEVWVF9JRF9IU0NfTVBBX1JFUSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgRkhfSFNDX0VWVF9JRF9IRUFERVJfQ09NTU9OKQorRkhfSFNDX0VWVF9JRF9ERUZJTkUoRVZUX0lEX0hTQ19NUEFfUkVMRUFTRSwgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgICBGSF9IU0NfRVZUX0lEX0hFQURFUl9DT01NT04pCitGSF9IU0NfRVZUX0lEX0RFRklORShFVlRfSURfSFNDX0RFUVVFVUVfRVZFTlQsICAgICAgICAgICAgICAgICAgICAgICAweDAzLCAgIDApCitGSF9IU0NfRVZUX0lEX0RFRklORShFVlRfSURfSFNDX1NMRUVQT1ZFUl9JTlRfQ09NUCwgICAgICAgICAgICAgICAgICAweDA0LCAgIDApCitGSF9IU0NfRVZUX0lEX0RFRklORShFVlRfSURfSFNDX01NT19HQVBfUkVRLCAgICAgICAgICAgICAgICAgICAgICAgICAweDA1LCAgIDApCitGSF9IU0NfRVZUX0lEX0RFRklORShFVlRfSURfRE9fU0xFRVBfQ01ELCAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA2LCAgIEZIX0hTQ19FVlRfSURfSEVBREVSX0RPKQorRkhfSFNDX0VWVF9JRF9ERUZJTkUoRVZUX0lEX0hTQ19STUNfU1RPUF9BQ0ssICAgICAgICAgICAgICAgICAgICAgICAgMHgwNywgICBGSF9IU0NfRVZUX0lEX0hFQURFUl9ETykKK0ZIX0hTQ19FVlRfSURfREVGSU5FKEVWVF9JRF9ET19TTE9UVEVEX1NFVCwgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDgsICAgRkhfSFNDX0VWVF9JRF9IRUFERVJfRE8pICAgCitGSF9IU0NfRVZUX0lEX0RFRklORShFVlRfSURfRE9fV0FLRV9DTUQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA5LCAgIEZIX0hTQ19FVlRfSURfSEVBREVSX0RPKQorRkhfSFNDX0VWVF9JRF9ERUZJTkUoRVZUX0lEXzFYX1NMRUVQX0NNRCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwQSwgICBGSF9IU0NfRVZUX0lEX0hFQURFUl8xWCkKK0ZIX0hTQ19FVlRfSURfREVGSU5FKEVWVF9JRF8xWF9XQUtFX0NNRCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MEIsICAgRkhfSFNDX0VWVF9JRF9IRUFERVJfMVgpCitGSF9IU0NfRVZUX0lEX0RFRklORShFVlRfSURfSFNDX09PU0FfU0xFRVAsICAgICAgICAgICAgICAgICAgICAgICAgICAweDBDLCAgIEZIX0hTQ19FVlRfSURfSEVBREVSX0NPTU1PTikKK0ZIX0hTQ19FVlRfSURfREVGSU5FKEVWVF9JRF9IU0NfMVhfUFJJT1JJVFlfQk9PU1QsICAgICAgICAgICAgICAgICAgIDB4MEQsICAgRkhfSFNDX0VWVF9JRF9IRUFERVJfMVgpCitGSF9IU0NfRVZUX0lEX0RFRklORShFVlRfSURfSFNDX0VWU1RBTkRCWV9TTEVFUCwgICAgICAgICAgICAgICAgICAgICAweDBFLCAgIEZIX0hTQ19FVlRfSURfSEVBREVSX0RPKQorRkhfSFNDX0VWVF9JRF9ERUZJTkUoRVZUX0lEX0hTQ19FVlNUQU5EQllfV0FLRSwgICAgICAgICAgICAgICAgICAgICAgMHgwRiwgICBGSF9IU0NfRVZUX0lEX0hFQURFUl9ETykKK0ZIX0hTQ19FVlRfSURfREVGSU5FKEVWVF9JRF8xWF9TTE9UVEVEX1NFVCwgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTAsICAgRkhfSFNDX0VWVF9JRF9IRUFERVJfMVgpICAgCisKK0ZIX0hTQ19FVlRfSURfREVGSU5FKEVWVF9JRF9IU0NfRE9fUFJJT1JJVFlfQk9PU1QsICAgICAgICAgICAgICAgICAgIDB4MjAsICAgRkhfSFNDX0VWVF9JRF9IRUFERVJfRE8pCitGSF9IU0NfRVZUX0lEX0RFRklORShFVlRfSURfREVOWV9QQVRURVJOX0lORCwgICAgICAgICAgICAgICAgICAgICAgICAweDIxLCAgIDApCitGSF9IU0NfRVZUX0lEX0RFRklORShFVlRfSURfSFNDX1BSRUVNUFRfVFJJR19JTkQsICAgICAgICAgICAgICAgICAgICAweDIyLCAgIDApCitGSF9IU0NfRVZUX0lEX0RFRklORShFVlRfSURfSFNDX1JCU19TQ0VOQVJJT19DT05UUk9MX0NPTkZJR19JTkQsICAgICAweDIzLCAgIDApCisKK0ZIX0hTQ19FVlRfSURfREVGSU5FKEVWVF9JRF9SVEJBX1RPX0hTQ19ERU5ZX0lORCwgICAgICAgICAgICAgICAgICAgIDB4MzAsICAgMCkKK0ZIX0hTQ19FVlRfSURfREVGSU5FKEVWVF9JRF9SVEJBX1VUX0NIQU5fU1RBVFVTX0NIRUNLLCAgICAgICAgICAgICAgIDB4MzEsICAgMCkKK0ZIX0hTQ19FVlRfSURfREVGSU5FKEVWVF9JRF9SVEJBX1VUX1RPX0ZIX0hTQ19JTkRfQ0hFQ0ssICAgICAgICAgICAgIDB4MzIsICAgMCkKK0ZIX0hTQ19FVlRfSURfREVGSU5FKEVWVF9JRF9SVEJTVFVCX1VUX1RPX1JUQkFfSU5EX0NIRUNLLCAgICAgICAgICAgIDB4MzMsICAgMCkKKworRkhfSFNDX0VWVF9JRF9ERUZJTkUoRVZUX0lEX1NNX1VUX01PTl9ERUVQX1RFU1QsICAgICAgICAgICAgICAgICAgICAgMHgzNCwgICAwKQorCitGSF9IU0NfRVZUX0lEX0RFRklORShFVlRfSURfSFNDX01QQV9PUF9NT0RFX1NFVCwgICAgICAgICAgICAgICAgICAgICAweDM1LCAgIDApCisKKworCisKKy8qIE1VU1QgYmUgbGVzcyB0aGFuIDEyNyAoMHg3RikgISEhICovCisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgR2xvYmFsIERhdGEKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBHbG9iYWwgVmFyaWFibGVzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworCisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgR2xvYmFsIEZ1bmN0aW9uIFByb3RvdHlwZXMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBFbmQgb2YgRmlsZQorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjZW5kaWYKKworCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY2wxZmhydGJhY29uc3RhbnQuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jbDFmaHJ0YmFjb25zdGFudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY5ZDFmOTMKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY2wxZmhydGJhY29uc3RhbnQuaApAQCAtMCwwICsxLDEwMSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiAgX0NMMUZIUlRCQUNPTlNUQU5UX0hfCisjZGVmaW5lICBfQ0wxRkhSVEJBQ09OU1RBTlRfSF8KKworI2lmZGVmIE1US19ERVZfOTNNX1BSRUlUCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisKKyAgRklMRSBOQU1FOiBjbDFmaHJ0YmFjb25zdGFudC5oCisKKyAgREVTQ1JJUFRJT046CisKKyAgICAgVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBjb25zdGFudCBkZWZpbml0aW9uIG9mIFJUQkEgbW9kdWxlIGluIDkzbQorCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisqIERlZmluaXRpb25zCisqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisjZGVmaW5lIEZFQ19ERExfUlhfTUFSR0lOICAgICAgICAgICAgICAgICAgICAgICAoODUwKQorI2RlZmluZSBGRUNfRERMX1RSWF9NQVJHSU4gICAgICAgICAgICAgICAgICAgICAgKDk1MCkKKyNkZWZpbmUgRkVDX0RETF9SWF9NQVJHSU5fQ09OTl9TVEFOREJZX01FQVMgICAgICg1MDAwKQorCisvKiogRGVmaW5lIGZvciB0aGUgUlRCQSBDaGFubmVsIHJlbGF0ZWQgYmxvY2sgaW5mby4gKi8KKyNkZWZpbmUgUlRCQV9CQVNJQ19CTE9DS19MRU5HVEggICAgICAgICAgICAgICAgICAoMjAwMDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiogVGhlIFJUQkEgYmFzaWMgYmxvY2sgbGVuZ3RoIGluIHVzIHVuaXQuICovCisjZGVmaW5lIFJUQkFfWEwxX0lDU19TWU5DX1NNQUxMX0JMT0NLX0xFTkdUSCAgICAgKDgwMDAwLzMpICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqIFRoZSBYTDEgc3luYyBjaGFubmVsIHNtYWxsIGJsb2NrIHJlc2VydmUgbGVuZ3RoLCBpbiB1cyB1bml0LiAqLyAgIAorI2RlZmluZSBSVEJBX1hMMV9DT05OX1BTX1JYX0JMT0NLX0xFTkdUSCAgICAgICAgIChSVEJBX0JBU0lDX0JMT0NLX0xFTkdUSCAqIDYpICAgICAgICAgICAgIC8qKiBUaGUgWEwxIGNvbm5lY3QgcHMgYmxvY2sgbGVuZ3RoLiAqLworI2RlZmluZSBSVEJBX1hMMV9TTFRfUENIX0xPU1RfREVUX0JMT0NLX0xFTkdUSCAgIFJUQkFfQkFTSUNfQkxPQ0tfTEVOR1RIICAgICAgICAgICAgIC8qKiBUaGUgWEwxIFBDSCBMb3N0IGJsb2NrIGxlbmd0aC4gKi8KKyNkZWZpbmUgUlRCQV9YTDFfTlNMVF9QQ0hfT1ZIRF9CTE9DS19MRU5HVEggICAgICBSVEJBX0JBU0lDX0JMT0NLX0xFTkdUSCAgICAgICAgICAgICAvKiogVGhlIFhMMSBub24tc2xvdHRlZCBQQ0ggb3ZlcmhlYWQgYmxvY2sgbGVuZ3RoLiAqLworI2RlZmluZSBSVEJBX1hMMV9OU0xUX1BDSF9MT05HX0JMT0NLX0xFTkdUSCAgICAgIChSVEJBX1hMMV9OU0xUX1BDSF9PVkhEX0JMT0NLX0xFTkdUSCAqIDE2KQorICAgIAorI2lmZGVmICBNVEtfQ0JQX1NZTkNfT1BUSU1JWkUKKyNkZWZpbmUgWEwxX01JTklfQUNRX0ZBU1RfQUdDX0lDU19MRU5HVEggICAgICAgICAoMzUwMCkgICAgCisjZW5kaWYKKyAgICAKKyNkZWZpbmUgWEwxX01JTklfQUNRX0ZBU1RfQUdDX0xFTkdUSCAgICAgICAgICAgICAoNTc1MCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKiBUaGUgWEwxIG1pbmkgYWNxdWlzaXRpb24gbGVuZ3RoLHdoaWNoIG5lZWRzIHRvIGJlIGFkZGVkIHRvIFJUQiBibG9jayAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGVuIHByZXZpb3VzbHkgcHJlZW1wdCwgaW4gdXMgdW5pdC4gKi8gIAorI2RlZmluZSBSVEJBX0VWTDFfSUNTX1NZTkNfU01BTExfQkxPQ0tfTEVOR1RIICAgIFJUQkFfQkFTSUNfQkxPQ0tfTEVOR1RIICAgICAgICAgICAgLyoqIFRoZSBFdkwxIFN5bmMgcGNoIGNoYW5uZWwgYmFzaWMgYmxvY2sgbGVuZ3RoIGluIHVzIHVuaXQuICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBSVEJBX0VWTDFfTlNMVF9DQ19PVkhEX0JMT0NLX0xFTkdUSCAgICAgIFJUQkFfQkFTSUNfQkxPQ0tfTEVOR1RIICAgICAgICAgICAgLyoqIFRoZSBFdkwxIG5vbi1zbG90dGVkIHBjaCBjaGFubmVsIGJhc2ljIGJsb2NrIGxlbmd0aCBpbiB1cyB1bml0LiAqLworI2RlZmluZSBSVEJBX0VWTDFfQ09OTl9SWF9CTE9DS19MRU5HVEggICAgICAgICAgIFJUQkFfQkFTSUNfQkxPQ0tfTEVOR1RIICAgICAgICAgICAgLyoqIFRoZSBFdkwxIENvbm5lY3QgUnggY2hhbm5lbCBiYXNpYyBibG9jayBsZW5ndGggaW4gdXMgdW5pdC4gKi8KKworI2RlZmluZSBSVEJBX1hMMV9CUlBfVEFJTF9NQVJHSU5fMjBNUyAgICAgICAgICAgICgzKjEyNTApICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqIDF4UlRUJ3MgQlJQIFRhaWwgTWFyZ2luIGZvciAyMG1zIGZyYW1lIHNpemUgKDNQQ0cpLiovCisjZGVmaW5lIFJUQkFfWEwxX0JSUF9UQUlMX01BUkdJTl8yNk1TICAgICAgICAgICAgKDMqMTY2NykgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiogMXhSVFQncyBCUlAgVGFpbCBNYXJnaW4gZm9yIDI2bXMgZnJhbWUgc2l6ZSAoM1BDRykuKi8KKyNkZWZpbmUgUlRCQV9YTDFfQlJQX1RBSUxfTUFSR0lOXzIwTVNfVFJBRkZJQyAgICAoNioxMjUwKQkJCQkJCQkJCQkJCQkJLyoqIDF4UlRUJ3MgQlJQIFRhaWwgTWFyZ2luIGZvciAyMG1zIEZDSCBmcmFtZSBzaXplICgzUENHKS4qLworCisjZGVmaW5lIFJUQkFfU0NIRV9GQUtFX01BUkdJTl8yME1TICAgICAgICAgICAgICAgKDEyNTApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiogVGhlIGZha2UgbWFyZ2luIGZvciBSVEJBIHNjaGVkdWxlIGZvciBSQyBjb250cm9sLiovCisjZGVmaW5lIFJUQkFfU0NIRV9GQUtFX01BUkdJTl8yNk1TICAgICAgICAgICAgICAgKDE2NjcpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiogVGhlIGZha2UgbWFyZ2luIGZvciBSVEJBIHNjaGVkdWxlIGZvciBSQyBjb250cm9sLiovCisKKyNkZWZpbmUgUlRCQV9TQ0hFX0NIRUNLX0RTUF9JRExFX01BUkdJTl8yME1TICAgICAgICgxMjUwKSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKiBUaGUgY2hlY2sgZHNwIGlkbGUgbWFyZ2luIGZvciBSQyBjb250cm9sLiovCisjZGVmaW5lIFJUQkFfU0NIRV9DSEVDS19EU1BfSURMRV9NQVJHSU5fMjZNUyAgICAgICAoMTY2NykgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiogVGhlIGNoZWNrIGRzcCBpZGxlIG1hcmdpbiBmb3IgUkMgY29udHJvbC4qLworI2RlZmluZSBSVEJBX1NDSEVfQ0hFQ0tfRFNQX0lETEVfTUFSR0lOXzIwTVNfTE9ORyAgKDYyNTApICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqIFRoZSBjaGVjayBkc3AgaWRsZSBtYXJnaW4gZm9yIFJDIGNvbnRyb2wgZHVlIHRvIHVuLWFsaWdubWVudCB0aW1pbmcgYmV0d2VlbiBJQSBhbmQgTUQzMiwgNSoxMjUwLiovCisKKyNkZWZpbmUgUlRCQV9TQ0hFX0NIRUNLX0RTUF9JRExFX01BUkdJTl8yNk1TX0xPTkcgICgxMDAwMCkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKiBUaGUgY2hlY2sgZHNwIGlkbGUgbWFyZ2luIGZvciBSQyBjb250cm9sIGR1ZSB0byB1bi1hbGlnbm1lbnQgdGltaW5nIGJldHdlZW4gSUEgYW5kIE1EMzIsIDYqMTY2N3VzLiovCisjZGVmaW5lIFJUQkFfU0NIRV9DSEVDS19EU1BfSURMRV9NQVJHSU5fMjZNU19NRUQgICAoNjY2NikgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiogVGhlIGNoZWNrIGRzcCBpZGxlIG1hcmdpbiBmb3IgUkMgY29udHJvbCBkdWUgdG8gdW4tYWxpZ25tZW50IHRpbWluZyBiZXR3ZWVuIElBIGFuZCBNRDMyLCA0KjE2Njd1cy4qLworCisKKyNkZWZpbmUgUlRCQV9TQ0hFX0hTQ19QUkVFTVBUX0FEVkFOQ0VfT0ZGU0VUICAgIChSVEJBX1NDSEVfQ0hFQ0tfRFNQX0lETEVfTUFSR0lOXzI2TVNfTUVEKSAgIC8qKiBJbmRpY2F0ZSB0aGUgSFNDIHByZWVtcHQgZ2FwIGZvciBIU0MgZnVsbHkvZGl2IHByZWVtcHRpb24uKi8KKyNkZWZpbmUgUlRCQV9JTlZBTElEX0dBUF9TVEFSVF9USU1FICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBFbmQgb2YgRmlsZQorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjZW5kaWYKKyNlbmRpZgorCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY2wxZmhydGJhZGVmcy5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NsMWZocnRiYWRlZnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45Y2VhNjA1Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NsMWZocnRiYWRlZnMuaApAQCAtMCwwICsxLDcyNCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiAgX0NMMUZIUlRCQURFRlNfSF8KKyNkZWZpbmUgIF9DTDFGSFJUQkFERUZTX0hfCisKKyNpZmRlZiBNVEtfREVWXzkzTV9QUkVJVAorCisKKyNpbmNsdWRlICJrYWxfcHVibGljX2RlZnMuaCIKKyNpbmNsdWRlICJzeXN0eXAuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisKKyAgRklMRSBOQU1FOiBjbDFmaHJ0YmFkZWZzLmgKKworICBERVNDUklQVElPTjoKKworICAgICBUaGlzIGZpbGUgY29udGFpbnMgdGhlIGRhdGEgdHlwZSBkZWZpbml0aW9uIG9mIFJUQkEgbW9kdWxlIGluIDkzbQorCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisqIERlZmluaXRpb25zCisqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisjaWYgMCAKKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKyNlbHNlCisjZGVmaW5lIEMyS19TUkxURV9SVEJBX09OICAgICAgQzJLX1NSTFRFX09OCisjZW5kaWYKKworI2lmbmRlZiBNVEtfUExUX09OX1BDCisvLyNkZWZpbmUgTVRLX0RFVl85M01fUlRCQV9CWVBBU1NfRU5BQkxFICAKKyNlbmRpZgorCisjZGVmaW5lIE1US19ERVZfOTNNX1JUQkFfUkJTX0VOQUJMRQorI2RlZmluZSBNVEtfREVWXzkzTV9SVEJBX0hQU19UUklHX0VOQUJMRQorI2RlZmluZSBNVEtfREVWXzkzTV9SVEJBX1JCU19TQ0VOQVJJT19DT05UUk9MX0VOQUJMRQorCisjZGVmaW5lIFBOVUxMICh2b2lkKikoMCkKKworI2RlZmluZSBEVU1NWV9GUkNfSU5QVVQgICAgICAgICAoMHhGRkZGRkZGRikKKyNkZWZpbmUgRFVNTVlfRlJBTUVfTlVNX0lOUFVUICAgKDB4RkZGRkZGRkYpCisjZGVmaW5lIEZSQU1FX05VTV9XUkFQICAgICAgICAgICgweEZGRkZGRkZGKQorI2RlZmluZSBNQVhfRlJBTUVfTlVNICAgICAgICAgICAoMHgxMDAwMDAwMDBMKQorI2RlZmluZSBJTlZBTElEX0dBUF9FTkRfRlJDICAgICAoRFVNTVlfRlJDX0lOUFVUKQorI2RlZmluZSBJTlZBTElEX1NMVF9QQ0hfQ09ORklHICAoMHgwKQorCisKKworI2RlZmluZSBGUkNfQUREKGEsIGIpICAgICAgICAgICgoYSArIGIpJiBDMktfRlJDX1dSQVApCisjZGVmaW5lIEZSQ19NSU5VUyhsYXRlLGVhcmx5KSAgKCgobGF0ZSkgKyBNQVhfRlJDX0NOVCAtIChlYXJseSkpJiBDMktfRlJDX1dSQVApCisjZGVmaW5lIEZSQU1FX0FERChhLCBiKSAgICAgICAgICAoKGEgKyBiKSYgRlJBTUVfTlVNX1dSQVApCisjZGVmaW5lIEZSQU1FX01JTlVTKGxhdGUsZWFybHkpICAoKChsYXRlKSArIE1BWF9GUkFNRV9OVU0gLSAoZWFybHkpKSYgRlJBTUVfTlVNX1dSQVApCisKKworLyoqIERlZmluZSBmb3IgdGhlIFN0YXJ2YXRpb24gdGltZXIuICovCisjZGVmaW5lIFJUQkFfWEwxX0lDU19TWU5DX1NUQVJWQVRJT05fVElNRVIgICAgICAgICAoNDUwKSAgICAvKiogVGhlIFhMMSBzeW5jIGNoYW5uZWwgc3RhcnZhdGlvbiB0aW1lciBsZW5ndGggaW4gbXMgdW5pdC4gKi8KKyNkZWZpbmUgUlRCQV9YTDFfTlNMVF9QQ0hfT1ZIRF9TVEFSVkFUSU9OX1RJTUVSICAgICgxMDApICAgIC8qKiBUaGUgWEwxIG5zbHQgcGNoIGNoYW5uZWwgc3RhcnZhdGlvbiB0aW1lciBsZW5ndGggaW4gbXMgdW5pdC4gKi8KKyNkZWZpbmUgUlRCQV9TVEFSVkFUSU9OX1RJTUVSX0ZBQ1RPUiAgICAgICAgICAgICAgICgxMCkgICAgICAgICAgICAgICAgICAgCisjZGVmaW5lIFJUQkFfWEwxX1NMVF9QQ0hfTE9TVF9ERVRfU1RBUlZBVElPTl9USU1FUiAoMTAwMCkgICAvKiogVGhlIFhMMSBzbHQgcGNoIGxvc3QgZGV0ZWN0IGNoYW5uZWwgc3RhcnZhdGlvbiB0aW1lciBsZW5ndGggaW4gbXMgdW5pdC4gKi8KKyNkZWZpbmUgUlRCQV9YTDFfQ09OTl9QU19SWF9TVEFSVkFUSU9OX1RJTUVSICAgICAgICgzMDAwKSAgIC8qKiBUaGUgWEwxIGNvbm5lY3QgcHMgY2hhbm5lbCBzdGFydmF0aW9uIHRpbWVyIGxlbmd0aCBpbiBtcyB1bml0LiAqLworCisjZGVmaW5lIFJUQkFfRVZMMV9JQ1NfU1lOQ19TVEFSVkFUSU9OX1RJTUVSICAgICAgICAoMTgwKSAgIC8qKiBUaGUgRXZMMSBzeW5jIGNoYW5uZWwgc3RhcnZhdGlvbiB0aW1lciBsZW5ndGggaW4gbXMgdW5pdC4gKi8KKyNkZWZpbmUgUlRCQV9FVkwxX1NUREJZX0xURV9JRExFX1NZTkNfU1RBUlZBVElPTl9USU1FUiAgICAgICAgKDUwMCkgICAvKiogVGhlIEV2U3RhbmRieSBzeW5jIGNoYW5uZWwgc3RhcnZhdGlvbiB0aW1lciBsZW5ndGggaW4gbXMgdW5pdC4gKi8KKyNkZWZpbmUgUlRCQV9FVkwxX0NPTk5fUlhfU1RBUlZBVElPTl9USU1FUiAgICAgICAgICgyMDAwKSAgIC8qKiBUaGUgRXZMMSBjb25uZWN0IGNoYW5uZWwgc3RhcnZhdGlvbiB0aW1lciBsZW5ndGggaW4gbXMgdW5pdC4gKi8KKworI2RlZmluZSBSVEJBX0NNRF9GSUZPX05VTSAgICAoOCkKKyNkZWZpbmUgUlRCQV9UT1RBTF9CTE9DS19OVU0gKDIpCisjZGVmaW5lIFJUQkFfU0NIRV9CTE9DS19JTkRFWCAoMCkgICAgICAgICAgICAgICAvKiogVGhpcyBpbmRleCBzdG9yZXMgdGhlIGJsb2NrIHdoaWNoIGlzIHRvIGJlIHNjaGVkdWxlZC4qLworI2RlZmluZSBSVEJBX0FDVElWRV9CTE9DS19JTkRFWCAoMSkgICAgICAgICAgICAgLyoqIFRoaXMgaW5kZXggc3RvcmVzIHRoZSBibG9jayB3aGljaCBpcyBhY3RpdmUvcnVubmluZy4qLworCisjZGVmaW5lIFJUQkFfU0hJRlRfTlVNMSAgICAgKDEpICAgICAgICAgICAgICAgICAKKyNkZWZpbmUgUlRCQV9TSElGVF9OVU0yICAgICAoMTQpICAKKyNkZWZpbmUgUlRCQV9TRUNDSEFOX1NISUZUX05VTTEgICgzMSkKKworI2RlZmluZSBQcmVlbXB0X29mZnNldF9UaW1lX01pbiAgKDEpCisjZGVmaW5lIFByZWVtcHRfb2Zmc2V0X1RpbWVfTWF4ICAoMykKKyNkZWZpbmUgUmVzdW1lX29mZnNldF9UaW1lX01pbiAgICgyKQorI2RlZmluZSBSZXN1bWVfb2Zmc2V0X1RpbWVfTWF4ICAgKDQpCisKKy8qKiBzZXQgc2x0X3BjaF9jaGFubmVsIGV4ZWN1dGUgdGltZSwgdW5pdDoyMG1zKi8KKyNkZWZpbmUgU0xUX1BDSF9FWEVDVVRFX0ZSQU1FX05VTSAoMTApCisjZGVmaW5lIE5TTFRfUENIX0xPTkdfQkxPQ0tfRVhFQ1VURV9GUkFNRV9OVU0gKDE3KQorI2RlZmluZSBOU0xUX1BDSF9TSE9SVF9CTE9DS19FWEVDVVRFX0ZSQU1FX05VTSAoMSkKKworCisvKiogU2V0IHRoZSBjaGFubmVsIGF0dHJpYnV0ZSBmbGFnLiovCisjZGVmaW5lIFJUQkFfUFJJTUFSWV9DSEFOX0JOICAgICAgICAgICAgICAgMHgwMDAxCisjZGVmaW5lIFJUQkFfU0VDT05EQVJZX0NIQU5fQk4gICAgICAgICAgICAgMHgwMDAyCisKKyNkZWZpbmUgUlRCQV9SRl9PTl9NQVJHSU5fSU5ERVggICAgICAgICAgICAoMCkKKyNkZWZpbmUgUlRCQV9SRl9PRkZfTUFSR0lOX0lOREVYICAgICAgICAgICAoMSkKKworI2lmZGVmIE1US19ERVZfOTNNX1JUQkFfUkJTX1NDRU5BUklPX0NPTlRST0xfRU5BQkxFCisjZGVmaW5lIFJCU19TQ0VOX0VWRE9fUlRCX1BSRUVNUFRJT04gICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFJCU19TQ0VOX0VWRE9fUlRCX1JFU1VNRSAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFJCU19TQ0VOXzF4UlRUX1JFU1lOQ19SVEJfR1JBTlQgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFJCU19TQ0VOXzF4UlRUX1JUQl9QUkVFTVBUSU9OICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFJCU19TQ0VOXzF4UlRUX1JUQl9SRVNVTUUgICAgICAgICAgKDB4MDAwMDAwMDEwKQorI2RlZmluZSBSVEJBX0FCU19WQUxVRShhKSAgICAgICAgICAoKChhKSA8IDApID8gKC0oYSkpIDogKGEpKQorI2VuZGlmCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK01hY3JvcyBEZWZpbml0aW9uCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKyNkZWZpbmUgUlRCQV9HRVRfU0lNX0lOREVYKE1vZGUpICAgICAgICAgICAgICAgIChnUnRiYVNpbUluZGV4UmVjb3JkW01vZGVdKQorLyoqIEZvciBSVEJBIHRvIHNldC9nZXQgdGhlIGJ5UGFzcyBpbnRlcmFjdGlvbiB3aXRoIFJUQi4gKi8KKyNkZWZpbmUgUlRCQV9CWVBBU1NfU0VUKE1vZGUsIEJ5UGFzcykgICAgICAgICAgIChnUnRiYUJ5UGFzc01vZGVbTW9kZV0gPSBCeVBhc3MpICAgICAKKyNkZWZpbmUgUlRCQV9CWVBBU1NfR0VUKE1vZGUpICAgICAgICAgICAgICAgICAgIChnUnRiYUJ5UGFzc01vZGVbTW9kZV0pCisvKiogRm9yIFJUQkEgdG8gZW5hYmxlL2Rpc2FibGUgdGhlIHN0YXJ2YXRpb24gZmxhZy4gKi8KKyNkZWZpbmUgUlRCQV9TVEFSVkFUSU9OX1RSSUdHRVIoTW9kZSwgRW5hYmxlKSAgIChnUnRiYVNjaGVJbmZvW01vZGVdLlByaW1hcnlDaGFuUGFyYS5TdGFydmF0aW9uVHJpZ2dlciA9IEVuYWJsZSkKKyNkZWZpbmUgUlRCQV9TVEFSVkFUSU9OX1NUQVRVUyhNb2RlKSAgICAgICAgICAgIChnUnRiYVNjaGVJbmZvW01vZGVdLlByaW1hcnlDaGFuUGFyYS5TdGFydmF0aW9uVHJpZ2dlcikKKworLyoqIEZvciBSVEJBIHRvIHNldC9nZXQgdGhlIHN0YXJ2YXRpb24gdGltZXIgYWN0aXZlL2luYWN0aXZlIHN0YXR1cy4gKi8KKyNkZWZpbmUgUlRCQV9TVEFSVkFUSU9OX1RJTUVSX1NUQVRVU19TRVQoTW9kZSwgQWN0aXZlKSAgICAgKGdSdGJhU3RhcnZhdGlvbkZsYWdbTW9kZV0gPSBBY3RpdmUpCisjZGVmaW5lIFJUQkFfU1RSQVZBVElPTl9USU1FUl9TVEFUVVNfR0VUKE1vZGUpICAgICAgICAgICAgIChnUnRiYVN0YXJ2YXRpb25GbGFnW01vZGVdKQorCisvKiogRm9yIFJUQkEgdG8gc2V0L2dldCB0aGUgZ2F0ZSBtb2RlLiAqLworI2RlZmluZSBSVEJBX0dBVEVfTU9ERV9TRVQoTW9kZSwgTW9kZVR5cGUpICAgICAgICAgICAoZ1J0YmFHYXRlTW9kZVN0YXR1c1tNb2RlXSA9IE1vZGVUeXBlKSAgICAgCisjZGVmaW5lIFJUQkFfR0FURV9NT0RFX0dFVChNb2RlKSAgICAgICAgICAgICAgICAgICAgIChnUnRiYUdhdGVNb2RlU3RhdHVzW01vZGVdKQorCisjZGVmaW5lIFJUQkFfUkNfQ09OVFJPTF9NQVJHSU5fR0VUKENoYW5uZWwsTWFyZ2luVHlwZSkgIChnUnRiYVJjTWFyZ2luVGJsW0NoYW5uZWxdW01hcmdpblR5cGVdKQorCisjZGVmaW5lIFJGX09OX01BUkdJTigpICAgICAgICAgICAgICAgICAgICAgICAgICAgIChSdGJhQ2wxR2V0UkZPbk1hcmdpbkluZm8oKSkgIAorI2RlZmluZSBSRl9PRkZfTUFSR0lOKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAoUnRiYUNsMUdldFJGT2ZmTWFyZ2luSW5mbygpKQorCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogRW51bXMKKyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy8qKiBUaGUgRW51bSBvZiB0aGUgUlRCQSBjaGFubmVsIGJhc2VkIG9uIHRoZSBzY2hlZHVsZSB0eXBlLiAqLwordHlwZWRlZiBlbnVtCit7CisgICAgLyoqKioqKioqKioqKioqKioqKiBTY2hlZHVsZSBUeXBlIDAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisgICAgUlRCQV9YTDFfSUNTX1BJTE9UX0NIQU4gPSAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKiBJQ1MgUGlsb3QgQWNxIENoYW5uZWwuICovICAKKyAgICBSVEJBX1hMMV9TSU5HTEVfSU5URVJfTUVBU19DSEFOLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqIFNsb3R0ZWQgSW50ZXItTWVhcyBDaGFubmVsIGFmdGVyIFFQQ0guICovCisgICAgUlRCQV9YTDFfU0xUX0NDSV9DSEFOLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKiBTbG90dGVkIENDSSBDaGFubmVsLiAqLworICAgIFJUQkFfWEwxX1NMVF9RUENIMV9DSEFOLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiogU2xvdHRlZCBRUENIMSBDaGFubmxlLiAqLworICAgIFJUQkFfWEwxX1NMVF9RUENIMl9DSEFOLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiogU2xvdHRlZCBRUENIMiBDaGFubmxlLiAqLworICAgIFJUQkFfWEwxX0lDU19SU1NJX1NDQU5fQ0hBTiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiogSUNTIFJTU0kgU2NhbiBDaGFubmVsKiovCisgICAgUlRCQV9FVkwxX0lDU19QSUxPVF9DSEFOLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKiBJQ1MgUGlsb3QgQWNxIENoYW5uZWwuICovCisgICAgUlRCQV9FVkwxX1NUREJZX0xURV9JRExFX01FQVNfQ0hBTiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKiBTdGFuZGJ5IE1lYXMgQ2hhbm5lbCBpbiBMVEUgSWRsZSBHYXAuICovCisgICAgUlRCQV9FVkwxX1NUREJZX0xURV9DT05OX01FQVNfQ0hBTiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKiBTdGFuZGJ5IE1lYXMgQ2hhbm5lbCBpbiBMVEUgQ29ubmVjdCBHYXAuICovCisgICAgUlRCQV9FVkwxX1NUREJZX0NHSV9NRUFTX0NIQU4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKiBTdGFuZGJ5IENHSSBNZWFzIENoYW5uZWwuICovCisgICAgCisgICAgLyoqKioqKioqKioqKioqKioqKiBTY2hlZHVsZSBUeXBlIDEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisgICAgUlRCQV9YTDFfU0xUX1BDSF9DSEFOLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKiAxeFJUVCdzIFNsb3R0ZWQgUENIIENoYW5ubGUuICovICAgIAorICAgIFJUQkFfRVZMMV9TTFRfUENIX0NIQU4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiogRVZETydzIFNsb3R0ZWQgUENIIENoYW5ubGUuICovIAorICAgIAorICAgIC8qKioqKioqKioqKioqKioqKiogU2NoZWR1bGUgVHlwZSAyICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworICAgIFJUQkFfWEwxX0lDU19TWU5DX0NIQU4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiogMXhSVFQgSUNTIFN5bmMgQWNxIENoYW5uZWwuICovCisgICAgUlRCQV9YTDFfSUNTX1NZTkNfT1BUSU1JWkVfQ0hBTiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKiAxeFJUVCBJQ1MgU3luYyBBY3EgQ2hhbm5lbCB3aXRoIG9wdGltaXphdGlvbiBzY2hlZHVsZSBtYW5uZXIuICovCisgICAgUlRCQV9FVkwxX0lDU19TWU5DX0NIQU4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKiBFVkRPIElDUyBTeW5jIEFjcSBDaGFubmVsLiAqLworICAgIFJUQkFfRVZMMV9TVERCWV9MVEVfSURMRV9TWU5DX0NIQU4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiogU3RhbmRieSBTeW5jIENoYW5uZWwgaW4gTFRFIElkbGUgR2FwLiAqLworICAgIFJUQkFfRVZMMV9TVERCWV9MVEVfQ09OTl9TWU5DX0NIQU4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiogU3RhbmRieSBTeW5jIENoYW5uZWwgaW4gTFRFIENvbm5lY3QgQXV0byBHYXAuICovCisgICAgUlRCQV9FVkwxX1NUREJZX0NHSV9TWU5DX0NIQU4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKiBTdGFuZGJ5IENHSSBTeW5jIENoYW5uZWwuICovCisKKyAgICAvKioqKioqKioqKioqKioqKioqIFNjaGVkdWxlIFR5cGUgMyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyAgICBSVEJBX1hMMV9OU0xUX1BDSF9PVkhEX0NIQU4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqIE5vbi1TbG90dGVkIFBDaCBDaGFubmVsLiAqLworCisgICAgLyoqKioqKioqKioqKioqKioqKiBTY2hlZHVsZSBUeXBlIDQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisgICAgUlRCQV9YTDFfTlNMVF9QQ0hfRUFSTFlfV0FLVVBfQ0hBTiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKiBOb24tU2xvdHRlZCBQQ2ggQ2hhbm5lbFJlZ2lzdGVyZWQgaW4gZWFybHkgd2FrZXVwLiAqLworICAgIFJUQkFfWEwxX1NMVF9QQ0hfTE9TVF9ERVRfQ0hBTiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiogU2xvdHRlZCBQQ0ggTG9zdCBEZXRlY3QgQ2hhbm5sZS4gKi8KKyAgICBSVEJBX1hMMV9DT05OX1BTX1JYX0NIQU4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqIENvbm5lY3QgUFMgUnguICovCisgICAgUlRCQV9FVkwxX05TTFRfQ0NfT1ZIRF9DSEFOLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKiBOb24tU2xvdHRlZCBDQyBDaGFubmVsLiAqLworICAgIFJUQkFfRVZMMV9DT05OX1JYX0NIQU4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiogQ29ubmVjdCBQUyBSeC4gKi8KKyAgICBSVEJBX0VWTDFfU1REQllfQ0dJX0NIQU4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqIFN0YW5kYnkgQ0dJIENoYW5uZWwuICovCisgICAgUlRCQV9QUklNQVJZX0NIQU5fRU5ELAorCisgICAgLyoqKioqKioqKioqKioqKioqKiBTZWNvbmRhcnkgQ2hhbm5lbCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyAgICBSVEJBX0NMMV9DSEFOX1NFQ09OREFSWV9TVEFSVCwKKyAgICBSVEJBX1hMMV9OU0xUX0lOVEVSX01FQVNfQ0hBTiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqIE5vbi1TbG90dGVkIEludGVyLU1lYXMgQ2hhbm5lbC4gKi8KKyAgICBSVEJBX1hMMV9BRkxUX01FQVNfQ0hBTiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqIEFGTFQgTWVhcyBDaGFubmVsLiAqLworICAgIFJUQkFfWEwxX1NMVF9JTlRFUl9NRUFTX0NIQU4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiogU2xvdHRlZCBJbnRlci1NZWFzIENoYW5uZWwgd2l0aCBQQ0hfTG9zdCBjaGFubmVsLiAqLworICAgIFJUQkFfWEwxX0NPTk5fSU5URVJfTUVBU19DSEFOLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiogQ29ubmVjdCBJbnRlciBNZWFzLiAqLworICAgIFJUQkFfWEwxX0NPTk5fQUZMVF9DSEFOLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiogQ29ubmVjdCBBRkxUIE1lYXMuICovCisgICAgUlRCQV9FVkwxX1JBS0VfRERMX0NIQU4sCisgICAgUlRCQV9FVkwxX0lOVEVSX01FQVNfQ0hBTiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKiBTbG90dGVkIEludGVyLU1lYXMgQ2hhbm5lbC4gKi8KKyAgICBSVEJBX0VWTDFfQ09OTl9JTlRFUl9NRUFTX0NIQU4sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqIENvbm5lY3QgSW50ZXIgTWVhcy4gKi8KKyAgICBSVEJBX0NMMV9DSEFOX1NFQ09OREFSWV9FTkQsCisgICAgUlRCQV9DTDFfQ0hBTl9OVU0gPSBSVEJBX0NMMV9DSEFOX1NFQ09OREFSWV9FTkQKK31SdGJhQ2wxQ2hhbm5lbFR5cGVUOworCit0eXBlZGVmIGVudW0KK3sKKyAgICBSVEJBX1NDSEVEVUxFX1RZUEVfMCwgICAgIC8qKiBTY2hlZHVsZSBUeXBlIDA6IFNpbmdsZSBSZXNlcnZhdGlvbiB3byByZXRyeTsgUkYgc3RvcCBuZWVkZWQuKi8KKyAgICBSVEJBX1NDSEVEVUxFX1RZUEVfMSwgICAgIC8qKiBTY2hlZHVsZSBUeXBlIDE6IFNpbmdsZSBSZXNlcnZhdGlvbiB3byByZXRyeTsgS2ljayBieSBjbDEgb3IgSFNDOyBTbWFsbCBibG9jayBzY2hlZHVsZSBhZnRlci4qLworICAgIFJUQkFfU0NIRURVTEVfVFlQRV8yLCAgICAgLyoqIFNjaGVkdWxlIFR5cGUgMjogQ29udGludWUgUmVzZXJ2YXRpb24gd2l0aCByZXRyeTsgU21hbGwgYmxvY2sgc2NoZWR1bGUgYWZ0ZXIuKi8KKyAgICBSVEJBX1NDSEVEVUxFX1RZUEVfMywgICAgIC8qKiBTY2hlZHVsZSBUeXBlIDM6IENvbnRpbnVlIFJlc2VydmF0aW9uIHdpdGggcmV0cnk7IFNtYWxsICsgbG9uZyBibG9jayBzd2l0Y2guKi8KKyAgICBSVEJBX1NDSEVEVUxFX1RZUEVfNCwgICAgIC8qKiBTY2hlZHVsZSBUeXBlIDQ6IENvbnRpbnVlIFJlc2VydmF0aW9uIHdpdGggcmV0cnk7IG5vcm1hbCBibG9jayBjb250aW51ZSByZXNlcnZhdGlvbiovIAorICAgIFJUQkFfU0NIRURVTEVfVFlQRV9OVU0KK31SdGJhQ2hhbm5lbFNjaGVUeXBlVDsKKworLyoqIFRoZSBFbnVtIG9mIHRoZSBwcm90ZWN0IHJlYXNvbi4gKi8KK3R5cGVkZWYgZW51bQoreworICAgIFVOUFJPVEVDVElPTiwKKyAgICBQUk9URUNUXzFYUlRUX1BTLAorICAgIFBST1RFQ1RfRVZET19QUworfVJ0YmFQcm90ZWNSZWFzb25UOworCisvKiogVGhlIFNjaGVkdWxlZCBJbmRpY2F0aW9uIFR5cGUgU2VuZCBieSBSVEJBIHRvIENMMS4gKi8KK3R5cGVkZWYgZW51bQoreworICAgIFJUQkFfSU5WQUxJRF9JTkQsCisgICAgUlRCQV9HUkFOVF9JTkQsCisgICAgUlRCQV9QUkVFTVBUX0lORCwKKyAgICBSVEJBX1JFU1VNRV9JTkQsCisgICAgUlRCQV9SRl9TVE9QX0lORCwKKyAgICBSQ19PRkZfQ01QTFRfSU5ECit9UnRiYUluZFR5cGVUOworCisvKiogVGhlIFJUQkEgcmVzZXJ2ZSBsZW5ndGggY2FsYyByZWZlcmVuY2UgdHlwZS4qLwordHlwZWRlZiBlbnVtCit7CisgICAgRklSU1RfQkxPQ0tfU0NIRSwgICAgICAgICAgICAgICAgICAgLyoqIEluZGljYXRlIHRoaXMgYmxvY2sgaXMgdGhlIGZpcnN0IGJsb2NrIG9mIFJUQkEgcmVnaXN0ZXIuKi8KKyAgICBSRVNVTUVfQkxPQ0tfU0NIRSwgICAgICAgICAgICAgICAgICAvKiogSW5kaWNhdGUgdGhpcyBibG9jayBpcyB0aGUgcmVzdW1lIGJsb2NrIG9mIFJUQkEgcmVnaXN0ZXIuKi8KKyAgICBBQ1RJVkVfQkxPQ0tfU0NIRSAgICAgICAgICAgICAgICAgICAvKiogSW5kaWNhdGUgdGhpcyBibG9jayBpcyB0aGUgYWN0aXZlIGJsb2NrIG9mIFJUQkEgcmVnaXN0ZXIuKi8KK31SdGJhUmVzTGVuU2NoZVR5cGVUOworCisvKiogVGhlIHNjaGVkdWxlZCBpbmRpY2F0aW9uIHNlbmRpbmcgdGltZSBhbmQgdHlwZS4gKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgUnRiYUNsMUNoYW5uZWxUeXBlVCAgIENoYW5uZWw7ICAgICAgICAgICAgICAgIC8qKiBUaGUgUlRCQSBDaGFubmVsLiAqLworICAgIFJ0YmFJbmRUeXBlVCAgICAgICAgICBSdGJhSW5kOyAKKyAgICBTeXNTRnJhbWVUaW1lVCAgICAgICAgU2NoZVRpbWU7ICAgIAorfVJ0YmFTY2hlSW5kVHlwZVQ7CisKKy8qKiBUaGUgUlRCQSBDaGFubmVsIFN0YXR1cyBFbnVtLiAqLwordHlwZWRlZiBlbnVtCit7ICAgCisgICAgSU5BQ1RJVkVfU1RBVFVTLAorICAgIFJFR0lTVEVSX1BFTkRfU1RBVFVTLAorICAgIFBSRUVNUFRFRF9TVEFUVVMsCisgICAgR1JBTlRfUEVORF9TVEFUVVMsCisgICAgQUNUSVZFX1NUQVRVUywKK31SdGJhQ2hhbm5lbFN0YXR1c1Q7CisKKy8qKiBSVEJBIFByaW9yaXR5IEluZGV4IEVudW0uKi8KK3R5cGVkZWYgZW51bQoreworICAgIFJUQkFfUFJJT19JTkRFWF8wLAorICAgIFJUQkFfUFJJT19JTkRFWF8xLAorICAgIFJUQkFfUFJJT19JTkRFWF9OVU0KK31SdGJhUHJpb3JpdHlUeXBlVDsKKwordHlwZWRlZiBlbnVtCit7CisgICAgUlRCQV9HQVRFX01PREVfT04sCisgICAgUlRCQV9HQVRFX01PREVfT0ZGCit9UnRiYUdhdGVNb2RlVHlwZVQ7CisKK3R5cGVkZWYgc3RydWN0Cit7CisJa2FsX3VpbnQzMiBHYXBFbmRUaW1lOworfSBSdGJhR2F0ZU1vZGVSZWNvcmRJbmZvVDsKKwordHlwZWRlZiBlbnVtCit7CisgICAgUlRCQV9HQVRFX01PREVfRU5BQkxFLAorICAgIFJUQkFfR0FURV9NT0RFX0RJU0FCTEUsCisgICAgUlRCQV9NTU9fR0FQX09GRkVSX0VOQUJMRSwKKyAgICBSVEJBX01NT19HQVBfT0ZGRVJfRElTQUJMRSwKKwlSVEJBX01NT19HQVBfT0ZGRVJfRElTQUJMRV9CWV9SU1ZBU19TVVNQRU5ELAorCVJUQkFfTU1PX0dBUF9PRkZFUl9ESVNBQkxFX0JZX1JNQ19JTklUX0RPTkUKK30gUnRiYUdhdGVNb2RlUmVhc29uVDsKKworLyoqIFJUQkEgTWFyZ2luIENvbWJpbmF0aW9uIGZvciBSQyBDb250cm9sLiovCit0eXBlZGVmIGVudW0KK3sKKyAgICBSVEJBX0ZBS0VfU0NIRV9NQVJHSU4sCisgICAgUlRCQV9GRUNfRERMX01BUkdJTiwKKyAgICBSVEJBX0NIRUNLX0RTUF9JRExFX01BUkdJTiwKKyAgICBSQ19DT05UUk9MX01BUkdJTl9OVU0KK31SdGJhUmNDb250cmlsTWFyZ2luVDsKKworI2lmZGVmIFNZU19PUFRJT05fVFhfVEFTX0VOQUJMRQordHlwZWRlZiBlbnVtCit7CisgICBSVEJBX1RBU19CQUNLX09GRl9ESVNBQkxFLAorICAgUlRCQV9UQVNfQkFDS19PRkZfRU5BQkxFLAorICAgUlRCQV9UQVNfQkFDS19PRkZfVU5LTk9XTgorfVJ0YmFUYXNRdWVyeVJlc3VsdFQ7CisjZW5kaWYKKworCisvKiogUlRCQSBSQyBUaW1pbmcgU3RydWN0dXJlLiovCit0eXBlZGVmIHN0cnVjdAoreworICAgIFN5c1NGcmFtZVRpbWVUICAgICAgICAgIEZpcnN0RXZlbnRUaW1pbmc7CisgICAga2FsX2Jvb2wgICAgICAgICAgICAgICAgRmFrZUZsYWc7CisgICAgUnRiYUNsMUNoYW5uZWxUeXBlVCAgICAgQ2wxQ2hhbm5lbDsKK31SdGJhUmNUaW1pbmdUeXBlVDsKKwordHlwZWRlZiB2b2lkICgqUnRiYUNiRnVuYykoUnRiYUluZFR5cGVUIFJ0YmFJbmQsIFJ0YmFSY1RpbWluZ1R5cGVUIFJjVGltaW5nKTsKKwordHlwZWRlZiB2b2lkICgqUnRiYVF1ZXJ5UnNsdFByb2NGdW5jKShTeXNBaXJJbnRlcmZhY2VUIE1vZGUsIGthbF9ib29sIFJlc2VydmVTdWNjZXNzLGthbF91aW50MzIgQXZhaWxhYmxlVGltZSk7CisKK3R5cGVkZWYgdm9pZCAoKlJ0YmFTZUZuRXZ0RnVuYykgKGthbF91aW50MzIgUGFyYW0pOworCisvKiogVGhlIFJUQkEgUkMgQ29udHJvbCBSZWZlcmVuY2UgVGltaW5nLiovCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF91aW50MzIgIFJ0YmFSZlN0b3BSZWZUaW1pbmc7CisgICAga2FsX3VpbnQzMiAgUnRiYVByZWVtcHRSZWZUaW1pbmc7CisgICAga2FsX3VpbnQzMiAgUnRiYVJlc3VtZUdyYW50UmVmVGltaW5nOworfSBSdGJhU2NoZVJlZlRpbWVUeXBlVDsKKworLyoqIENoYW5uZWwncyBSVEIgYmxvY2sgaW5mb3JtYXRpb24uICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIFJ0YmFDbDFDaGFubmVsVHlwZVQgICAgIENoYW5uZWw7ICAgICAgICAgICAgICAgICAgICAvKiogVGhlIHNjaGVkdWxlZCBjaGFubmVsIHR5cGUgaW4gUlRCQS4gKi8KKyAgICBrYWxfdWludDMyICAgICAgICAgICAgICBDaGFubmVsUHJpbzsgICAgICAgICAgICAgICAgLyoqIEluZGljYXRlIHRoZSBjaGFubmVsIHByaW9yaXR5LiAqLworICAgIGthbF91aW50MzIgICAgICAgICAgICAgIFN0YXJ0VGltZTsgICAgICAgICAgICAgICAgICAvKiogSW5kaWNhdGUgdGhlIHN0YXJ0IHRpbWUgb2YgY2hhbm5lbCBpbiBGUkMuICovCisgICAga2FsX3VpbnQzMiAgICAgICAgICAgICAgRW5kVGltZTsgICAgICAgICAgICAgICAgICAgIC8qKiBJbmRpY2F0ZSB0aGUgZW5kIHRpbWUgb2YgdGhlIGNoYW5uZWwgaW4gRlJDLiAqLworICAgIGthbF91aW50MzIgICAgICAgICAgICAgIFJlc2VydmVMZW47ICAgICAgICAgICAgICAgICAvKiogSW5kaWNhdGUgdGhlIHJlc2VydmUgbGVuZ3RoIG9mIHRoaXMgY2hhbm5lbC4gKi8KKyAgICBrYWxfdWludDMyICAgICAgICAgICAgICBQb3N0UHJvY2Vzc01hcmdpbjsgICAgICAgICAgLyoqIEluZGljYXRlIHRoZSBjaGFubmVsIHBvc3QgcHJvY2VzcyBtYXJnaW4uKi8KKyAgICBrYWxfdWludDMyICAgICAgICAgICAgICBBY3R1YWxSZXNlcnZlTGVuOyAgICAgICAgICAgLyoqIFRoZSBhY3R1YWwgcmVzZXJ2ZSBsZW5ndGggb2YgdGhlIGNoYW5uZWwuICovCit9UnRiYUNoYW5uZWxCbGtJbmZvVDsKKworCisvKiogVGhlIFByaW1hcnkgQ2hhbm5lbCBTcGVjaWZpYyBwYXJhbWV0ZXJzIHVzZWQuICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIFJ0YmFDaGFubmVsU3RhdHVzVCAgICAgIFByZVN0YXR1czsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKiBJbmRpY2F0ZSB0aGUgY2hhbm5lbCdzIHByZXZpb3VzIHN0YXR1cy4gKi8KKyAgICBSdGJhQ2hhbm5lbFN0YXR1c1QgICAgICBTdGF0dXM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiogSW5kaWNhdGUgdGhlIGNoYW5uZWwgc3RhdHVzLiAqLworICAgIFJ0YmFDaGFubmVsQmxrSW5mb1QgICAgIFByaUNoYW5uZWxJbmZvW1JUQkFfVE9UQUxfQkxPQ0tfTlVNXTsgICAgICAgICAgIC8qKiBJbmRpY2F0ZSB0aGUgY2hhbm5lbCBpbmZvcm1hdGlvbiBvZiBzY2hlZHVsZSBibG9jayBhbmQgcGVuZGluZyBibG9jay4gKi8KKyAgICBSdGJhU2NoZVJlZlRpbWVUeXBlVCAgICBTY2hlUmVmVGltZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiogVGhlIFJUQkEgc2NoZWR1bGUgcmVmZXJlbmNlIHRpbWUuKi8KKyAgICBSdGJhQ2hhbm5lbFNjaGVUeXBlVCAgICBTY2hlVHlwZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiogSW5kaWNhdGUgdGhlIGNoYW5uZWwgc2NoZWR1bGUgdHlwZS4qLworICAgIGthbF9ib29sICAgICAgICAgICAgICAgIExvbmdCbGs7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKiBJbmRpY2F0ZSB0aGlzIGlzIHRoZSBsb25nIGJsay4gKi8KKyAgICBrYWxfYm9vbCAgICAgICAgICAgICAgICBTdGFydmF0aW9uVHJpZ2dlcjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiogSW5kaWNhdGUgdGhlIHN0YXJ2YXRpb24gdHJpZ2dlcmVkLiAqLworICAgIGthbF9ib29sICAgICAgICAgICAgICAgIFByaUNoYW5SZWdpc3RlcmVkOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKiBJbmRpY2F0ZSB0aGUgY2hhbm5lbCBpcyByZWdpc3RlcmVkIHRvIFJUQi4qLworICAgIFJ0YmFDYkZ1bmMgICAgICAgICAgICAgIFByaUNhbGxCYWNrRnVuYzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKiBUaGUgUHJpbWFyeSBjaGFubmVsIGNhbGwgYmFjayBmdW5jdGlvbiBwb2ludGVyLiovCisgICAga2FsX3VpbnQzMiAgICAgICAgICAgICAgUXVlcnlGcmFtZU51bTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqIEluZGljYXRlIHRoZSBxdWVyeSBmcmFtZSBudW1iZXIuKi8KKyAgICBrYWxfYm9vbCAgICAgICAgICAgICAgICBTY2hlUmFuZ2VGbGFnOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiogSW5kaWNhdGUgdGhlIFJUQkEgbmVlZHMgdG8gc2VsZi1zY2hlZHVsZSB0aGUgUlRCIGJsb2NrIGluIHRoZSByYW5nZSBvZiBHYXBFbmRGUkMuKi8KKyAgICBrYWxfdWludDMyICAgICAgICAgICAgICBHYXBFbmRGUkM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiogSW5kaWNhdGUgdGhlIGdhcCBlbmQgRlJDIHRpbWUgZm9yIHNwZWNpZmljIGNoYW5uZWxzLiovCisgICAga2FsX2Jvb2wgICAgICAgICAgICAgICAgS2lja1F1ZXJ5QnlIc2M7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqIEluZGljYXRlIHRoZSBLaWNrIFF1ZXJ5IGlzIHRyaWdnZXJlZCBieSBIU0MsIG5vIG5lZWQgdG8gY2FsbCBiYWNrIGV4ZWN1dGUuKi8KKyAgICBrYWxfYm9vbCAgICAgICAgICAgICAgICBGb3JjZVJ0YlJlamVjdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiogSW5kaWNhdGUgd2hldGhlciB0byBmb3JjZSByZWplY3QgdGhlIFJUQiBxdWVyeSByZXN1bHQuKi8KK31SdGJhUHJpQ2hhbm5lbFBhcmFUOworCisKKy8qKiBUaGUgU2Vjb25kYXJ5IENoYW5uZWwgU3BlY2lmaWMgcGFyYW1ldGVycyB1c2VkLiAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBSdGJhQ2hhbm5lbFN0YXR1c1QgICAgICBQcmVTdGF0dXM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiogSW5kaWNhdGUgdGhlIGNoYW5uZWwncyBwcmV2aW91cyBzdGF0dXMuICovCisgICAgUnRiYUNoYW5uZWxTdGF0dXNUICAgICAgU3RhdHVzOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqIEluZGljYXRlIHRoZSBjaGFubmVsIHN0YXR1cy4gKi8KKyAgICBSdGJhQ2hhbm5lbEJsa0luZm9UICAgICBTZWNDaGFubmVsSW5mbzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiogSW5kaWNhdGUgdGhlIGNoYW5uZWwgaW5mb3JtYXRpb24gb2Ygc2NoZWR1bGVkIHNlY29uZGFyeSBibG9jay4qLyAgICAKKyAgICBSdGJhQ2JGdW5jICAgICAgICAgICAgICBTZWNDYWxsQmFja0Z1bmM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiogVGhlIFNlY29uZGFyeSBjaGFubmVsIGNhbGwgYmFjayBmdW5jdGlvbiBwb2ludGVyLiovCit9UnRiYVNlY0NoYW5uZWxQYXJhVDsKKworLyoqIFRoZSBSVEJBIGludGVybmFsIGRhdGEgc3RydWN0dXJlIGZvciBzY2hlZHVsZSBpbmNsdWRpbmcgY2hhbm5lbCBpbmZvcm1hdGlvbi4gKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgUnRiYVByaUNoYW5uZWxQYXJhVCAgICAgUHJpbWFyeUNoYW5QYXJhOyAgICAgICAgLyoqIFRoZSBwcmltYXJ5IGNoYW5uZWwgcGFyYW1ldGVycy4gKi8KKyAgICBSdGJhU2VjQ2hhbm5lbFBhcmFUICAgICBTZWNvbmRhcnlDaGFuUGFyYTsgICAgICAvKiogVGhlIHNlY29uZGFyeSBjaGFubmVsIHBhcmFtZXRlcnMsIHVzZWQgZm9yIGludGVyLW1lYXMgYmxvY2sgYWxvbmcgd2l0aCBQQ0ggY29udGludWVzIGJsb2NrLiAqLyAgICAKK31SdGJhU2NoZUluZm9UOworCisvKiogZGVmaW5lcyB0aGUgUlRCQSBBUEkgY29tbWFuZCB0eXBlcy4gKi8KK3R5cGVkZWYgZW51bSAKK3sKKyAgICBSVEJBX0NNRF9OT05FLAorICAgIFJUQkFfQ01EX1JFR19QUklNQVJZLAorICAgIFJUQkFfQ01EX1JFR19TRUNPTkRBUlksCisgICAgUlRCQV9DTURfQ0FOQ0VMX0NIQU5FTCwKKyAgICBSVEJBX0NNRF9QUklPX0JPT1NULAorICAgIFJUQkFfQ01EX1NNQUxMX0JMS19SRUcsCisgICAgUlRCQV9DTURfQ0hBTk5FTENIQU5HRSwKKyAgICBSVEJBX0NNRF9QUk9URUNUX0NGRywKKyAgICBSVEJBX0NNRF9LSUNLX1FVRVJZLAorICAgIFJUQkFfQ01EX0NBTkNFTF9BTEwsCisgICAgUlRCQV9DTURfQ0FOQ0VMX1FVRVJZLCAgIAorICAgIFJUQkFfQ01EX0dBVEVfTU9ERV9SRVEsCisgICAgUlRCQV9DTURfQURKVVNUX0NIQU5fUE9TLAorICAgIFJUQkFfQ01EX0NBTENfUEFHRV9QT1MKK31SdGJhQ21kVHlwZVQ7CisKK3R5cGVkZWYgc3RydWN0IAoreworICAgIFJ0YmFDbWRUeXBlVCAgICAgICAgRmlmb1tSVEJBX0NNRF9GSUZPX05VTV07CisgICAga2FsX3VpbnQ4ICAgICAgICAgICBmaWZvX2luZGV4OworfVJ0YmFDbWRGaWZvVHlwZVQ7CisKKy8qKiBSVEJBIHVzZSB0aGlzIHRvIHJlY29yZCB0aGUgQ2wxJ3MgUHJpbWFyeSBDaGFubmVsIHJlZ2lzZ2VyIGluZm9ybWF0aW9uIGluIEFEUy4qLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBSdGJhQ2wxQ2hhbm5lbFR5cGVUICAgICBDbDFDaGFubmVsOworICAgIGthbF9ib29sICAgICAgICAgICAgICAgIFN0YXJ0VGltZVZhbGlkOworICAgIGthbF91aW50MzIgICAgICAgICAgICAgIFN0YXJ0VGltZTsKKyAgICBrYWxfdWludDMyICAgICAgICAgICAgICBSZXNlcnZlTGVuOyAKKyAgICBrYWxfdWludDMyICAgICAgICAgICAgICBHYXBFbmRGUkM7CisgICAga2FsX3VpbnQzMiAgICAgICAgICAgICAgUG9zdFByb2Nlc3NNYXJnaW47CisgICAgUnRiYUNiRnVuYyAgICAgICAgICAgICAgUnRiYUNhbGxCYWNrRnVuYzsKK30gUnRiYVByaVJlZ2lzdGVyUmVxQWRzVHlwZVQ7CisKKy8qKiBSVEJBIHVzZSB0aGlzIHRvIHJlY29yZCB0aGUgQ2wxJ3MgU2Vjb25kYXJ5IENoYW5uZWwgcmVnaXNnZXIgaW5mb3JtYXRpb24gaW4gQURTLiovCit0eXBlZGVmIHN0cnVjdAoreworICAgIFJ0YmFDbDFDaGFubmVsVHlwZVQgICAgIENsMUNoYW5uZWw7CisgICAga2FsX2Jvb2wgICAgICAgICAgICAgICAgU3RhcnRUaW1lVmFsaWQ7CisgICAga2FsX3VpbnQzMiAgICAgICAgICAgICAgU3RhcnRUaW1lOworICAgIGthbF91aW50MzIgICAgICAgICAgICAgIFJlc2VydmVMZW47IAorICAgIFJ0YmFDYkZ1bmMgICAgICAgICAgICAgIFJ0YmFDYWxsQmFja0Z1bmM7Cit9IFJ0YmFTZWNSZWdpc3RlclJlcUFkc1R5cGVUOworCisvKiogUlRCQSB1c2UgdGhpcyB0byByZWNvcmQgdGhlIENsMSdzIGNhbmNlbCBpbmZvcm1hdGlvbiBpbiBBRFMuKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgUnRiYUNsMUNoYW5uZWxUeXBlVCAgICAgQ2wxQ2hhbm5lbDsKKyAgICBrYWxfYm9vbCAgICAgICAgICAgICAgICBDYW5jZWxBbGw7Cit9IFJ0YmFDYW5jZWxSZXFBZHNUeXBlVDsKKworLyoqIFJUQkEgdXNlIHRoaXMgdG8gcmVjb3JkIHRoZSBDTDEncyBjaGFubmVsIHByb3RlY3Rpb24gY2ZnLiovCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF9ib29sICAgICAgIFByb3RlY3Rpb25UcmlnOyAgICAKK30gUnRiYUNoYW5uZWxQcm90ZWN0QWRzVHlwZVQ7CisKKy8qKiBSVEJBIHVzZSB0aGlzIHRvIHJlY29yZCB0aGUgdG8gYmUgY2hhbmdlZCBjaGFubmVsIHByb3RlY3Rpb24gY2ZnLiovCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX2Jvb2wgICAgICAgICAgICAgICAgQ2hhbm5lbENoYW5nZVBlbmRpbmc7CisgICBSdGJhQ2wxQ2hhbm5lbFR5cGVUICAgICBEZXN0Q2hhbm5lbDsgCit9IFJ0YmFDaGFubmVsQ2hhbmdlQWRzVHlwZVQ7CisKKy8qKiBSVEJBIHVzZSB0aGlzIHRvIHJlY29yZCB0aGUgdG8gYmUgY2hhbmdlZCBjaGFubmVsIHByaW9yaXR5LiovCit0eXBlZGVmIHN0cnVjdAoreworICAgUnRiYUNsMUNoYW5uZWxUeXBlVCAgICAgUHJpb0NoYW5uZWw7IAorfSBSdGJhQ2hhbm5lbFByaW9Cb29zdEFkc1R5cGVUOworCisvKiogUlRCQSB1c2UgdGhpcyB0byByZWNvcmQgdGhlIGdhdGUgbW9kZSByZWxlYXRlZCBBZHMuKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICBSdGJhR2F0ZU1vZGVSZWFzb25UICAgICAgUmVhc29uOworICAga2FsX3VpbnQzMiAgICAgICAgICAgICAgIEdhcExlbjsKK30gUnRiYUdhdGVNb2RlUmVxQWRzVHlwZVQ7CisKKy8qKiBSVEJBIHVzZSB0aGlzIHN0cnVjdHVyZSB0byByZWNvcmQgdGhlIGNoYW5uZWwgYWRqdXN0IGFkcy4qLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF91aW50MzIgICAgICAgICAgICAgICBOZXdTdGFydFRpbWU7CisgICBrYWxfdWludDMyICAgICAgICAgICAgICAgUmVzZXJ2ZUxlbjsKK30gUnRiYUFkanVzdENoYW5Qb3NBZHNUeXBlVDsKKworLyoqIFJUQkEgdXNlIHRoaXMgc3RydWN0dXJlIHRvIHJlY29yZCB0aGUgc21hbGwgYmxvY2sgcmVnaXN0ZXIgYWRzLiovCit0eXBlZGVmIHN0cnVjdCAKK3sKKyAgIGthbF9ib29sICAgICAgICAgICAgICAgICBRdWVyeVJlc3VsdDsKKyAgIGthbF91aW50MzIgICAgICAgICAgICAgICBOZXh0YXZhaWxhYmxlVGltZTsKK30gUnRiYVNjaGVTbWFsbEJsa1JlZ1R5cGVUOwordHlwZWRlZiBzdHJ1Y3QgCit7CisgICAgUnRiYVByaVJlZ2lzdGVyUmVxQWRzVHlwZVQgICAgICBQcmlhbWFyeVJlZ0FkczsKKyAgICBSdGJhU2VjUmVnaXN0ZXJSZXFBZHNUeXBlVCAgICAgIFNlY29uZGFyeVJlZ0FkczsKKyAgICBSdGJhQ2FuY2VsUmVxQWRzVHlwZVQgICAgICAgICAgIENhbmNlbEFsbEFkczsKKyAgICBSdGJhQ2FuY2VsUmVxQWRzVHlwZVQgICAgICAgICAgIENhbmNlbENoYW5uZWxBZHM7CisgICAgUnRiYUNoYW5uZWxQcm90ZWN0QWRzVHlwZVQgICAgICBQcm90ZWN0QWRzOworICAgIFJ0YmFDaGFubmVsQ2hhbmdlQWRzVHlwZVQgICAgICAgQ2hhbm5lbENoYW5nZUFkczsgICAgCisgICAgUnRiYUNoYW5uZWxQcmlvQm9vc3RBZHNUeXBlVCAgICBCb29zdENoYW5uZWxBZHM7ICAgCisgICAgUnRiYUdhdGVNb2RlUmVxQWRzVHlwZVQgICAgICAgICBHYXRlTW9kZVJlcUFkczsKKyAgICBSdGJhQWRqdXN0Q2hhblBvc0Fkc1R5cGVUICAgICAgIENoYW5uZWxBZGpQb3NBZHM7CisgICAgUnRiYVNjaGVTbWFsbEJsa1JlZ1R5cGVUICAgICAgICBTbWFsbEJsa1JlZ0FkczsKK30gUnRiYUNtZFJlcUFkc1R5cGVUOworCisvKiogZGVmaW5lcyBmb3IgUlRCQSBIaWdoZXIgVGltZXIgUXVlcnkgUmVxdWVzdCBhZHMgc2VuZCB0byBSVEIuKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX2ludDE2ICBDaGFubmVsVHlwZTsKKyAgICBrYWxfaW50MzIgIFN0YXJ0VGltZTsKKyAgICBrYWxfaW50MzIgIENoZWNrTGVuOworICAgIGthbF9pbnQzMiAgQ2hhbm5lbFByaW87CisgICAga2FsX2ludDMyICBQb3N0UHJvY2Vzc01hcmdpbjsKK30gUnRiYUhpZ2hUaW1lclF1ZXJ5SW5mb1R5cGVUOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF9pbnQxNiAgQ2hhbm5lbFR5cGU7CisgICAga2FsX2ludDMyICBTdGFydFRpbWU7CisgICAga2FsX2ludDMyICBSZXNlcnZlTGVuOworICAgIGthbF9pbnQzMiAgQ2hhbm5lbFByaW87Cit9IFJ0YmFSZWdpc3JlckluZm9UeXBlVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBSdGJhQ2wxQ2hhbm5lbFR5cGVUIENoYW5uZWw7CisgICAga2FsX2Jvb2wgICAgICAgICAgICBEZW5pZWRCeVJ0YjsKKyAgICBrYWxfYm9vbCAgICAgICAgICAgIFRpbWVWYWxpZDsKKyAgICBrYWxfdWludDMyICAgICAgICAgIEF2YWlsYWJsZVRpbWU7Cit9IFJ0YmFEZW5pZWRJbmRUeXBlVDsKKwordHlwZWRlZiBlbnVtCit7CisgICAgUlRCQV9TQ0hFX1NFRk5fU1RBUlRWQVRJT04sCisgICAgUlRCQV9TQ0hFX1NFRk5fUkZfU1RPUF9JTkQsCisgICAgUlRCQV9TQ0hFX1NFRk5fU1lOQ19SRVNFUlZFX0VORF9JTkQsCisJUlRCQV9TQ0hFX1NFRk5fTU1PX0dBUF9ESVNBQkxFLAorICAgIFJUQkFfU0VGTl9TQ0hFX05VTQorfVJ0YmFTY2hlU2VmblR5cGVUOworCisvKiBSVEJBIEdhdGUgTW9kZSBSZXEgZXZlbnQgc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIFN5c0FpckludGVyZmFjZVQgT3duZXI7ICAgICAvKiAxeFJUVCBvciBFVkRPICovCisgICAgUnRiYUdhdGVNb2RlUmVhc29uVCBSZWFzb247IC8qIEdhdGUgTW9kZSBSZWFzb24gKi8KKyAgICBrYWxfdWludDMyIEdhcExlbjsgICAgICAgICAgLyogR2FwIExlbmd0aCBmb3IgTU1PIEdBUCBPRkZFUiBFTkFCTEUuKi8KK31SdGJhR2F0ZU1vZGVFdmVudFR5cGVUOworCit0eXBlZGVmIHZvaWQgKCpSdGJhU2NoZVNlZm5GdW5jdGlvbikoa2FsX3VpbnQzMiBQYXJtKTsKKworI2RlZmluZSBNRVJHRV9TVFIoeCx5KSAgICB4IyN5ICAgLyogZXggOiBpZiB4PTEyMyBhbmQgeT00NTYsIHRoZW4gTUVSR0VfU1RSKHgseSk9MTIzNDU2ICovCisjZGVmaW5lIENMMV9USU1FUl9UWVBFKHgpIE1FUkdFX1NUUihyLHgpCisKKy8vTUQxIGFuZCBNRDMgY29tcGlsZXMgaW5kZXBlbmRlbnRseS4gIFRoZXJlZm9yZSwgTUQxIHNob3VsZCBjb3B5IHRoZSBNRDMncyBmaWxlcyBvbiBNRDEgc2lkZS4KK3R5cGVkZWYgZW51bQoreworICAgQ0wxX1RJTUVSX1RZUEUoQ1RpbWVySW5pdCkgPSAtMSwgCisgICAjaW5jbHVkZSAiY2wxX3RpbWVydHlwZS5oIgorICAgQ0wxX1RJTUVSX1RZUEUoQ1RpbWVyTnVtKQorfVJ0YlRpbWVyVHlwZVQ7CisKKyN1bmRlZiBNRVJHRV9TVFIKKyN1bmRlZiBDTDFfVElNRVJfVFlQRQorCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF91aW50MzIgICAgICAgICAgICBDaGFubmVsQml0TWFwOyAgICAgICAgLyptYXBwaW5nIEMySydzIGNoYW5uZWwgdHlwZSovCisgICAga2FsX3VpbnQxNiAgICAgICAgICAgIElzUGVyaW9kaWM7ICAgICAgICAgICAvKmluZGljYXRlIHRoZSBkZW55IHBhdHRlcm4gaXMgcGVyaW9kaWMgb3Igbm90Ki8KKyAgICBrYWxfdWludDE2ICAgICAgICAgICAgUGF0dGVybkJpdE1hcDsgICAgICAgIC8qbWFwcGluZyBkZW55IHBhdHRlcm4qLworfVJic0RlbnlQYXR0ZXJuUGFyYVQ7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX3VpbnQxNiAgUmJzUGF0dGVybkluZm9bUlRCQV9QUklNQVJZX0NIQU5fRU5EXTsgICAgICAgIC8qUmVjb3JkIFBhdHRlcm5CaXRNYXAgYmFzZXMgb24gY2hhbm5lbCB0eXBlKi8KKyAgICBrYWxfdWludDMyIElzUGVyaW9kaWNNYXA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qbWFwcGluZyBjaGFubmVsJ3MgUGF0dGVybkJpdE1hcCBpcyBwZXJpb2RpYyBvciBub3QqLworfVJic0RlbnlQYXR0ZXJuSW5mb1R5cGVUOworCisvKiBIU0MgcHJlZW1wdCB0cmlnZ2VyIGFjdGlvbiB0eXBlKi8KK3R5cGVkZWYgZW51bQoreworICAgIEhTQ19QUkVFTVBUX0hZQlJJRF9UWVBFLAorICAgIEhTQ19QUkVFTVBUX1NIRFJfVFlQRSwKKyAgICBIU0NfUFJFRU1QVF9FQVJMWV9XQUtFVVBfVFlQRSwKKyAgICBIU0NfUFJFRU1QVF9UWVBFX05VTQorfUhzY0FjdGlvblBhcmFFOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF91aW50MzIgICAgICAgICAgICBDaGFubmVsQml0TWFwOyAgICAgICAgIC8qIG1hcHBpbmcgQzJLJ3MgY2hhbm5lbCB0eXBlKi8gICAKKyAgICBrYWxfYm9vbCAgICAgICAgICAgICAgR3JhbnRQcmVlbXB0VHJpZzsgICAgICAvKiBJbmRpY2F0ZSBSVEJBIGdyYW50IG9yIHByZWVtcHQgdG8gdHJpZ2dlciBIc2MgcHJlZW1wdCBmbG93Ki8KKyAgICBrYWxfdWludDggICAgICAgICAgICAgVGltaW5nQml0TWFwOyAgICAgICAgICAvKiBtYXBwaW5nIGJsb2NrIG51bSBhbmQgdGhlbiBqdWRnZSB3aGV0aGVyIHRvIHRyaWdnZXIgSHNjIHByZWVtcHQgZmxvdyovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICAgIFByZWVtcHRUaW1lT2Zmc2V0OyAgICAgLyogcHJlZW1wdCB0aW1pbmcgb2Zmc2V0IGFmdGVyIHRyaWdnZXIqLyAKKyAgICBrYWxfdWludDggICAgICAgICAgICAgUmVzdW1lVGltZU9mZnNldDsgICAgICAvKiByZXN1bWUgdGltaW5nIG9mZnNldCBhZnRlciB0cmlnZ2VyKi8KKyAgICBIc2NBY3Rpb25QYXJhRSAgICAgICAgSHNjQWN0aW9uVHlwZTsgICAgICAgICAvKiBpbmRpY2F0ZSBhY3RpdmUgdHlwZSwgaHlicmlkLFNIRFIgb3IgZWFybHkgd2FrZXVwKi8gICAgCit9SHNjUHJlZW1wdFRyaWdQYXJhVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sgCisgICAga2FsX2Jvb2wgICAgICAgICAgICAgIEdyYW50UHJlZW1wdFRyaWc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBJbmRpY2F0ZSBSVEJBIGdyYW50IG9yIHByZWVtcHQgdG8gdHJpZ2dlciBIc2MgcHJlZW1wdCBmbG93Ki8KKyAgICBrYWxfdWludDggICAgICAgICAgICAgVGltaW5nQml0TWFwW1JUQkFfUFJJTUFSWV9DSEFOX0VORF07ICAgICAgICAgIC8qIFJlY29yZCB0aW1pbmcgYml0IG1hcCBiYXNlcyBvbiBkaWZmZXJlbnQgY2hhbm5lbCB0eXBlKi8KKyAgICBrYWxfdWludDggICAgICAgICAgICAgUHJlZW1wdFRpbWVPZmZzZXQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHByZWVtcHQgdGltaW5nIG9mZnNldCBhZnRlciB0cmlnZ2VyKi8gCisgICAga2FsX3VpbnQ4ICAgICAgICAgICAgIFJlc3VtZVRpbWVPZmZzZXQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiByZXN1bWUgdGltaW5nIG9mZnNldCBhZnRlciB0cmlnZ2VyKi8KKyAgICBIc2NBY3Rpb25QYXJhRSAgICAgICAgSHNjQWN0aW9uVHlwZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGluZGljYXRlIGFjdGl2ZSB0eXBlLCBoeWJyaWQsU0hEUiBvciBlYXJseSB3YWtldXAqLyAgICAKKyAgICBrYWxfYm9vbCAgICAgICAgICAgICAgU2VjQ2hhbkhzY1RyaWc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGluZGljYXRlIHdoZXRoZXIgc2Vjb25kYXJ5IGNoYW5uZWwgbmVlZCB0byB0cmlnZ2VyIEhTQyBwcmVlbXB0Ki8KK31Ic2NQcmVlbXB0VHJpZ0luZm9UeXBlVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfdWludDMyICAgICAgICAgICAgTGFzdFBhZ2luZ1RpbWU7ICAgICAgICAgICAgICAgIC8qIEluZGljYXRlIExhc3QgcGFnaW5nIHJlY2VpdmluZyB0aW1lKi8KKyAgICBrYWxfdWludDMyICAgICAgICAgICAgU2xvdF9jeWNsZTsgICAgICAgICAgICAgICAgICAgIC8qIEluZGljYXRlIDF4UlRUIERSWCBjeWNsZSovCisgICAga2FsX2Jvb2wgICAgICAgICAgICAgIENhbGNfUGFnZTsgICAgICAgICAgICAgICAgICAgICAvKiBJbmRpY2F0ZSBSVEJBIHRvIGNhbGN1bGF0ZSBQYWdpbmcgcG9zaXRpb24qLworICAgIGthbF9ib29sICAgICAgICAgICAgICBTY2hlX1BhZ2U7ICAgICAgICAgICAgICAgICAgICAgLyogSW5kaWNhdGUgUlRCQSB0byBxdWVyeSByZXNvdXJjZXMgd2l0aG91dCBtaW5BY2NlcHRMZW5naHQqLworICAgIGthbF9ib29sICAgICAgICAgICAgICBBZGp1c3RfTGVuOyAgICAgICAgICAgICAgICAgICAgLyogSW5kaWNhdGUgUlRCQSB0byBhZGp1c3QgTnNsdF9wY2ggY2hhbm5lbCBsZW5ndGgqLworfVJ0YmFTbHRQY2hTY2hlUGFyYVQ7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX3VpbnQzMiAgICAgICAgICAgIExhc3RQYWdpbmdUaW1lOyAgICAgICAgICAgICAgICAvKiBJbmRpY2F0ZSBMYXN0IHBhZ2luZyByZWNlaXZpbmcgdGltZSovCisgICAga2FsX3VpbnQzMiAgICAgICAgICAgIFNsb3RfY3ljbGU7ICAgICAgICAgICAgICAgICAgICAvKiBJbmRpY2F0ZSAxeFJUVCBEUlggY3ljbGUqLworICAgIGthbF9ib29sICAgICAgICAgICAgICBDYWxjX1BhZ2U7ICAgICAgICAgICAgICAgICAgICAgLyogSW5kaWNhdGUgUlRCQSB0byBjYWxjdWxhdGUgUGFnaW5nIHBvc2l0aW9uKi8KK31SdGJhU2x0UGNoUGFyYVQ7Cit0eXBlZGVmIGVudW0KK3sKKyAgICBET19SVEJfUFJFRU1QVElPTl9BTkRfMXhSVFRfSFlCUklEX1JFU1lOQ19BQ0NFUFQsICAgICAKKyAgICBET19SVEJfUFJFRU1QVElPTl9BTkRfMXhSVFRfU0hEUl9SRVNZTkNfQUNDRVBULAorICAgIERPX1JUQl9SRVNVTUVfQU5EXzF4UlRUX0hZQlJJRF9SRVNZTkNfQUNDRVBULAorICAgIERPX1JUQl9SRVNVTUVfQU5EXzF4UlRUX1NIRFJfUkVTWU5DX0FDQ0VQVCwKKyAgICBET19SVEJfUFJFRU1QVElPTl9BTkRfMXhSVFRfUlRCX1BSRUVNUFQsCisgICAgRE9fUlRCX1JFU1VNRV9BTkRfMXhSVFRfUlRCX1BSRUVNUFQsCisgICAgRE9fUlRCX1BSRUVNUFRJT05fQU5EXzF4UlRUX1JUQl9SRVNVTUUsCisgICAgRE9fUlRCX1JFU1VNRV9BTkRfMXhSVFRfUlRCX1JFU1VNRSwKKyAgICBSVFRfVElNSU5HX0NIQU5HRV9TWU5DVElNRV9DQUxDX1RFU1QsCisgICAgRVZET19USU1JTkdfQ0hBTkdFX1NZTkNUSU1FX0NBTENfVEVTVCwKKyAgICBGSVJTVF9GUkFNRV9USUNLX1BPU0lUSU9OX1RTVF8xLAorICAgIEZJUlNUX0ZSQU1FX1RJQ0tfUE9TSVRJT05fVFNUXzIsCit9UmJzU2NlbmFyaW9Db25maWdUeXBlVDsKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgUmJzU2NlbmFyaW9Db25maWdUeXBlVCAgUmJzU2NlbkNmZzsKKyAgICBrYWxfaW50MzIgICAgICAgICAgICAgICBUaW1pbmdPZmZzZXQ7Cit9UmJzU2NlbkNvbmZpZ1BhcmFUOwordHlwZWRlZiBlbnVtCit7CisgICAgLyoqIFRoZSBpbml0aWFsIHN0YXRlIGZvciBSQlMgc2NlbmFyaW8gY29udHJvbCBtb2R1bGUuKi8KKyAgICBSQlNfU0NFTl9DVFJMX05VTEwsCisgICAgCisgICAgLyoqIEluZGljYXRlIHRoZSBSQlMgc2NlbmFyaW8gcGFyYW1ldGVyIGlzIGNvbmZpZ3VyZWQgYnV0IHRoZSBwcmUtY29uZGl0aW9uIG1heSBub3QgbWVldC4qLworICAgIFJCU19TQ0VOX0NUUkxfQ09ORklHRUQsCisKKyAgICAvKiogSW5kaWNhdGUgdGhlIFJCUyBzY2VuYXJpbyBwcmUtY29uZGl0aW9uIGhhcyBtZWV0LCBSVEJBIHdpbGwgc3RhcnQgdG8gcmUtc2NoZWR1bGUgdGhlIFJUQiBibG9jayB0byBmdWxmaWxsIHRoZSBSQlMgc2NlbmFyaW8uKi8KKyAgICBSQlNfU0NFTl9DVFJMX1RSSUdHRVJFRCwKKworICAgIC8qKiBJbmRpY2F0ZSB0aGUgUlRCIEJsb2NrIGhhcyBiZWVuIHJlLXNjaGVkdWxlZCBmb3Igc2NlbmFyaW8gY29udHJvbC4qLworICAgIFJCU19TQ0VOX0NUUkxfUlRCX1JFU0NIRUQsCisKKyAgICAvKiogSW5kaWNhdGUgdGhlIGNoYW5uZWwgaGFzIHJlY2VpdmUgUlRCIGdyYW50LiovCisgICAgUkJTX1NDRU5fQ1RSTF9TQ0hFX1JUQl9HUkFOVCwKKworICAgIC8qKiBJbmRpY2F0ZSB0aGUgY2hhbm5lbCBoYXMgcmVjZWl2ZSBSVEIgcHJlZW1wdC4qLworICAgIFJCU19TQ0VOX0NUUkxfU0NIRV9SVEJfUFJFRU1QVCwKKworICAgIC8qKiBJbmRpY2F0ZSB0aGUgY2hhbm5lbCBoYXMgcmVjZWl2ZSBSVEIgcmVzdW1lLiovCisgICAgUkJTX1NDRU5fQ1RSTF9TQ0hFX1JUQl9SRVNVTUUsCisKKyAgICAvKiogSW5kaWNhdGUgdGhlIFJCUyBzY2VuYXJpbyBoYXMgYWNoaWV2ZWQgdGhlIHNjZW5hcmlvIHR5cGUgY29uZmlndXJlLiovCisgICAgUkJTX1NDRU5fQ1RSTF9GSU5JU0hFRAorfVJic1NjZW5DdHJsU3RhdGVUeXBlVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBSYnNTY2VuYXJpb0NvbmZpZ1R5cGVUICBSYnNTY2VuYXJpb0NvbmZpZzsKKyAgICBrYWxfaW50MzIgICAgICAgICAgICAgICBUaW1pbmdPZmZzZXQ7Cit9IFJic1NjZW5hcmlvQ29udHJvbFBhcmFUOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qKiBUaGUgUkJTIHNjZW5hcmlvIGNvbnRyb2wgcGFyYW1ldGVycy4qLworICAgIFJic1NjZW5hcmlvQ29udHJvbFBhcmFUIFJic1NjZW5DdHJsUGFyYTsJCisgICAgLyoqIFRoZSBEbyBzdGF0ZSBmb3IgUkJTIHNjZW5hcmlvIGNvbnRyb2wgbW9kdWxlLiovCisgICAgUmJzU2NlbkN0cmxTdGF0ZVR5cGVUCURvUmJzU3RhdGU7CisgICAgLyoqIFRoZSAxeFJUVCBzdGF0ZSBmb3IgUkJTIHNjZW5hcmlvIGNvbnRyb2wgbW9kdWxlLiovCisgICAgUmJzU2NlbkN0cmxTdGF0ZVR5cGVUCVJ0dFJic1N0YXRlOworICAgIC8qKiAxeFJUVCBldmVudCByZWZlcmVuY2UgdGltZS4qLworICAgIGthbF91aW50MzIgICAgICAgICAgICAgIFJ0dEV2ZW50UmVmVGltZTsJCisgICAgLyoqIEVWRE8gZXZlbnQgcmVmZXJlbmNlIHRpbWUuKi8KKyAgICBrYWxfdWludDMyICAgICAgICAgICAgICBFdmRvRXZlbnRSZWZUaW1lOworICAgIC8qKiAxeFJUVCBTeXN0ZW0gRXZlbnQgVGltaW5nLiovCisgICAgU3lzU0ZyYW1lVGltZVQgICAgICAgICAgUnR0RXZlbnRTeXNUaW1lOwkKKyAgICAvKiogRVZETyBTeXN0ZW0gRXZlbnQgVGltaW5nLiovCisgICAgU3lzU0ZyYW1lVGltZVQgICAgICAgICAgRG9FdmVudFN5c1RpbWU7CisgICAgLyoqIFRoZSBSQlMgU2NlbmFyaW8gY29udHJvbCBiaXRtYXAgY29sbGVjdGlvbi4qLworICAgIGthbF91aW50MzIgICAgICAgICAgICAgIFJic1NjZW5DdHJsQml0bWFwOworICAgIC8qKiBUaGUgUmVjb3JkIFRhcmdldCBSQlMgc2NlbmFyaW8gY29udHJvbCBiaXRtYXAuKi8KKyAgICBrYWxfdWludDMyICAgICAgICAgICAgICBUYXJnZXRSYnNTY2VuQ3RybEJpdG1hcDsKKyAgICAvKiogSW5kaWNhdGUgdGhlIGV2ZW50IHRpbWluZyBpcyBhZGp1c3RlZCBieSBSVEJBIHNjaGVkdWxlLiovCisgICAga2FsX2Jvb2wgICAgICAgICAgICAgICAgU3BlY2lmaWNFdnRUaW1pbmdTZXQ7Cit9IFJic1NjZW5hcmlvQ29udHJvbFNjaGVJbmZvVDsKKwordHlwZWRlZiBlbnVtCit7CisgICAgQ1RpbWVyX05vbmUsCisgICAgQ1RpbWVyX1hMMUljc1Bpb2x0LAorICAgIENUaW1lcl9YTDFJY3NTeW5jLAorICAgIENUaW1lcl9YTDFOc2x0UGNoT3ZoZCwKKyAgICBDVGltZXJfWEwxTnNsdEludGVyTWVhcywKKyAgICBDVGltZXJfWEwxQWZsdE1lYXMsCisgICAgQ1RpbWVyX1hMMVNsdENjaSwKKyAgICBDVGltZXJfWEwxU2x0UXBjaF8xLAorICAgIENUaW1lcl9YTDFTbHRRcGNoXzIsCisgICAgQ1RpbWVyX1hMMVNsdFBjaCwKKyAgICBDVGltZXJfWEwxU2x0UGNoTG9zdERldCwKKyAgICBDVGltZXJfWEwxU2x0bnRlck1lYXMsCisgICAgQ1RpbWVyX1hMMUNvbm5lY3RQc1J4LAorICAgIENUaW1lcl9YTDFDb25uZWN0SW50ZXJNZWFzLAorICAgIENUaW1lcl9YTDFDb25uZWN0QWZsdE1lYXMsCisgICAgQ1RpbWVyX0V2TDFJY3NQaWxvdCwKKyAgICBDVGltZXJfRXZMMUljc1N5bmMsCisgICAgQ1RpbWVyX0V2TDFOc2x0Q0MsCisgICAgQ1RpbWVyX0V2TDFTbHRQY2gsCisgICAgQ1RpbWVyX0V2TDFJbnRlck1lYXMsCisgICAgQ1RpbWVyX0V2TDFDb25uZWN0UngsCisgICAgQ1RpbWVyX0V2TDFDb25uZWN0SW50ZXJNZWFzLAorICAgIENUaW1lcl9FdlN0ZGJ5TWVhcywKKyAgICBDVGltZXJfRXZTdGRieVN5bmMsCisgICAgQ1RpbWVyX0V2U3RkYnlDZ2ksCisgICAgQ1RpbWVyX0VuZAorfVJ0YlRpbWVyVHlwZUU7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBFbmQgb2YgRmlsZQorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjZW5kaWYKKyNlbmRpZgorCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY2wxZmhydGJhaWYuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jbDFmaHJ0YmFpZi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlNzI5NmIKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY2wxZmhydGJhaWYuaApAQCAtMCwwICsxLDQ3NSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiAgX0NMMUZIUlRCQUlGX0hfCisjZGVmaW5lICBfQ0wxRkhSVEJBSUZfSF8KKworI2lmZGVmIE1US19ERVZfOTNNX1BSRUlUCisgICAgCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKworICBGSUxFIE5BTUU6IGNsMWZocnRiYWlmLmgKKworICBERVNDUklQVElPTjoKKworICAgICBUaGlzIGZpbGUgY29udGFpbnMgdGhlIG1lc3NhZ2UgdHlwZSBhbmQgYXBpcyBvZiBSVEJBIGZvciBvdGhlciBtb2R1bGVzLgorCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBJbmNsdWRlIEZpbGVzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKyNpbmNsdWRlICJjbDFmaHJ0YmFkZWZzLmgiCisjZGVmaW5lIFJUQkFfUFJJX0NIQU5ORUxfU1RBVFVTX0dFVChNb2RlKSAgIChSdGJhQ2hhbm5lbFN0YXR1c0dldChNb2RlLEtBTF9UUlVFKSkKKworI2lmZGVmIE1US19ERVZfOTNNX1JUQkFfUkJTX1NDRU5BUklPX0NPTlRST0xfRU5BQkxFCisjZGVmaW5lIFJCU19TQ0VOX0NUUkxfU1BFQ0lGSUNfVElNSU5HX1NFVChFbmFibGUpICAgICAgICAgICAgKGdSdGJhUmJzU2NlbkN0cmxTY2hlSW5mby5TcGVjaWZpY0V2dFRpbWluZ1NldCA9IEVuYWJsZSkKKyNkZWZpbmUgUkJTX1NDRU5fQ1RSTF9TUEVDSUZJQ19USU1JTkdfR0VUKCkgICAgICAgICAgICAgICAgICAoZ1J0YmFSYnNTY2VuQ3RybFNjaGVJbmZvLlNwZWNpZmljRXZ0VGltaW5nU2V0KQorI2VuZGlmCisKKy8qKiBUaGUgUkYgcmVzZXJ2ZSBlbmQgaW5kaWNhdGlvbiBmcm9tIFJUQkEuICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIFJ0YmFDbDFDaGFubmVsVHlwZVQgICAgIENsMUNoYW5uZWw7ICAgICAgLyoqVGhlIFJmIFJlc2VydmUgRW5kIEluZCByZWNlaXZlZCBSVEJBIGNoYW5uZWwuICovCit9IENsMVJ0YmFSZlJlc2VydmVFbmRJbmRNc2dUOworI2lmZGVmIE1US19ERVZfOTNNX1JUQkFfUkJTX1NDRU5BUklPX0NPTlRST0xfRU5BQkxFCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF9ib29sICAgICAgICAgICAgICAgIFJic1NjZW5DaGVja1Bhc3M7ICAgICAgLyoqVGhlIFJmIFJlc2VydmUgRW5kIEluZCByZWNlaXZlZCBSVEJBIGNoYW5uZWwuICovCit9IFJ0YmFSYnNTY2VuQ3RybFJwdEluZE1zZ1Q7CisjZW5kaWYKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisqIFJUQkEgZ2xvYmFsIEFQSXMKKyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIAorICBGVU5DVElPTiBOQU1FOiAgIFJ0YmFJbml0CisKKyAgREVTQ1JJUFRJT046ICAgICBUaGUgUlRCQSBpbml0aWFsaXphdGlvbiBmdW5jdGlvbgorCisgIFBBUkFNRVRFUlM6ICAgICAgCisKKyAgUkVUVVJORUQgVkFMVUVTOiAKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworZXh0ZXJuIHZvaWQgUnRiYUluaXQodm9pZCk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIAorICBGVU5DVElPTiBOQU1FOiAgIFJ0YmFDbDFTd2l0Y2hBY3RpdmVSYXRSZXEKKworICBERVNDUklQVElPTjogICAgIENMMSBpbmZvcm0gUlRCQSB0aGUgcmF0IHN0YXR1cworCisgIFBBUkFNRVRFUlM6ICAgICAgU3lzQWlySW50ZXJmYWNlIC0gMXhSVFQgb3IgRVZETyAgICBBY3RpdmF0ZSAtIEluZGljYXRlIHRoZSBtb2RlIGlzIGFjdGl2ZSBvciBub3QKKworICBSRVRVUk5FRCBWQUxVRVM6IAorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitleHRlcm4gdm9pZCBSdGJhQ2wxU3dpdGNoQWN0aXZlUmF0UmVxKFN5c0FpckludGVyZmFjZVQgbW9kZSwga2FsX2Jvb2wgQWN0aXZhdGUpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAKKyAgRlVOQ1RJT04gTkFNRTogICBSdGJhQ2wxUmVnUmVxCisKKyAgREVTQ1JJUFRJT046ICAgICBDTDEgcmVnaXN0ZXIgY2hhbm5lbCBvbiBSVEJBCisKKyAgUEFSQU1FVEVSUzogICAgICBtb2RlICAgICAgICAgICAgLSBJbmRpY2F0ZSAxeFJUVCBvciBFVkRPCisgICAgICAgICAgICAgICAgICAgQ2wxQ2hhbm5lbCAgICAgIC0gQ0wxIHJlZ2lzdGVyZWQgY2hhbm5lbCBpbiBSVEJBCisgICAgICAgICAgICAgICAgICAgU3RhcnRUaW1lVmFsaWQgIC0gSW5kaWNhdGUgdGhlIHN0YXJ0IHRpbWUgaXMgdmFsaWQsIGlmIG5vdCwgUlRCQSB3aWxsIHRyeQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIHJlc2VydmUgdGhlIHJlc291cmNlIGFzIHNvb24gYXMgcG9zc2libGUKKyAgICAgICAgICAgICAgICAgICBTdGFydFRpbWUgICAgICAgLSBUaGUgc3RhcnQgdGltZSBvZiB0aGlzIGNoYW5uZWwgaW4gRlJDCisgICAgICAgICAgICAgICAgICAgUmVzZXJ2ZUxlbiAgICAgIC0gVGhlIG5lZWRlZCByZXNlcnZlIGxlbmd0aCBvZiB0aGlzIGNoYW5uZWwsaW4gdXMgdW5pdAorICAgICAgICAgICAgICAgICAgIEdhcEVuZEZSQyAgICAgICAtIFRoZSBnYXAgZW5kIEZSQyB0aW1lIHVzZWQgYnkgR00KKyAgICAgICAgICAgICAgICAgICAqUnRiYUNhbGxCYWNrRnVuYyAgIC0gVGhlIGNoYW5uZWwgc3BlY2lmaWVkIGNhbGwgYmFjayBmdW50aW9uCisgICAgICAgICAgICAgICAgICAgSHdTdGF0ZSAgICAgICAgIC0gSW5kaWNhdGUgUkYgT24vT2ZmCisKKworICBSRVRVUk5FRCBWQUxVRVM6IAorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitleHRlcm4gdm9pZCBSdGJhQ2wxUmVnUmVxKFN5c0FpckludGVyZmFjZVQgTW9kZSwgUnRiYUNsMUNoYW5uZWxUeXBlVCBDbDFDaGFubmVsLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAga2FsX2Jvb2wgU3RhcnRUaW1lVmFsaWQsIGthbF91aW50MzIgU3RhcnRUaW1lLCBrYWxfdWludDMyIFJlc2VydmVMZW4sIGthbF91aW50MzIgR2FwRW5kRlJDLAorICAgICAgICAgICAgICAgICAgICAgICAgICBSdGJhQ2JGdW5jIFJ0YmFDYWxsQmFja0Z1bmMpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAKKyAgRlVOQ1RJT04gTkFNRTogICBSdGJhQ2wxUmVnV2l0aFBvc3RQcm9jZXNzTWFyZ2luUmVxCisKKyAgREVTQ1JJUFRJT046ICAgICBDTDEgcmVnaXN0ZXIgY2hhbm5lbCBvbiBSVEJBCisKKyAgUEFSQU1FVEVSUzogICAgICBNb2RlICAgICAgICAgICAgLSBJbmRpY2F0ZSAxeFJUVCBvciBFVkRPCisgICAgICAgICAgICAgICAgICAgQ2wxQ2hhbm5lbCAgICAgIC0gQ0wxIHJlZ2lzdGVyZWQgY2hhbm5lbCBpbiBSVEJBCisgICAgICAgICAgICAgICAgICAgU3RhcnRUaW1lVmFsaWQgIC0gSW5kaWNhdGUgdGhlIHN0YXJ0IHRpbWUgaXMgdmFsaWQsIGlmIG5vdCwgUlRCQSB3aWxsIHRyeQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIHJlc2VydmUgdGhlIHJlc291cmNlIGFzIHNvb24gYXMgcG9zc2libGUKKyAgICAgICAgICAgICAgICAgICBTdGFydFRpbWUgICAgICAgLSBUaGUgc3RhcnQgdGltZSBvZiB0aGlzIGNoYW5uZWwgaW4gRlJDCisgICAgICAgICAgICAgICAgICAgUmVzZXJ2ZUxlbiAgICAgIC0gVGhlIG5lZWRlZCByZXNlcnZlIGxlbmd0aCBvZiB0aGlzIGNoYW5uZWwsaW4gdXMgdW5pdAorICAgICAgICAgICAgICAgICAgIEdhcEVuZEZSQyAgICAgICAtIFRoZSBnYXAgZW5kIEZSQyB0aW1lIHVzZWQgYnkgR00KKyAgICAgICAgICAgICAgICAgICBQb3N0UHJvY2Vzc01hcmdpbiAtIFRoZSBwb3N0IHByb2Nlc3MgbWFyZ2luIGZvciB0aGlzIGNoYW5uZWwKKyAgICAgICAgICAgICAgICAgICAqUnRiYUNhbGxCYWNrRnVuYyAgIC0gVGhlIGNoYW5uZWwgc3BlY2lmaWVkIGNhbGwgYmFjayBmdW50aW9uCisKKworICBSRVRVUk5FRCBWQUxVRVM6IAorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitleHRlcm4gdm9pZCBSdGJhQ2wxUmVnV2l0aFBvc3RQcm9jZXNzTWFyZ2luUmVxKFN5c0FpckludGVyZmFjZVQgTW9kZSwgUnRiYUNsMUNoYW5uZWxUeXBlVCBDbDFDaGFubmVsLCAKKyAgICAgICAgICAgICAgICAgICBrYWxfYm9vbCBTdGFydFRpbWVWYWxpZCwga2FsX3VpbnQzMiBTdGFydFRpbWUsIGthbF91aW50MzIgUmVzZXJ2ZUxlbiwga2FsX3VpbnQzMiBHYXBFbmRGUkMsIGthbF91aW50MzIgUG9zdFByb2Nlc3NNYXJnaW4sCisgICAgICAgICAgICAgICAgICAgUnRiYUNiRnVuYyBSdGJhQ2FsbEJhY2tGdW5jKTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgCisgIEZVTkNUSU9OIE5BTUU6ICAgUnRiYUNsMVByb3RlY3Rpb25DZmdSZXEKKworICBERVNDUklQVElPTjogICAgIENMMSBQcm90ZWN0IHRoZSBjaGFubmVsIG9uIFJUQkEKKworICBQQVJBTUVURVJTOiAgICAgIE1vZGUgICAgICAgICAgICAtIEluZGljYXRlIDF4UlRUIG9yIEVWRE8KKyAgICAgICAgICAgICAgICAgICBQcm90ZWN0UmVhc29uICAgLSBUaGUgY2hhbm5lbCBwcm90ZWN0aW9uIHJlYXNvbgorCisgIFJFVFVSTkVEIFZBTFVFUzogCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK2V4dGVybiB2b2lkIFJ0YmFDbDFQcm90ZWN0aW9uQ2ZnUmVxKFN5c0FpckludGVyZmFjZVQgTW9kZSwgUnRiYVByb3RlY1JlYXNvblQgUHJvdGVjdFJlYXNvbik7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIAorICBGVU5DVElPTiBOQU1FOiAgIFJ0YmFDbDFDYW5jZWxSZXEKKworICBERVNDUklQVElPTjogICAgIENMMSBjYW5jZWwgdGhlIGNoYW5uZWwgb24gUlRCQQorCisgIFBBUkFNRVRFUlM6ICAgICAgbW9kZSAgICAgICAgICAgIC0gSW5kaWNhdGUgMXhSVFQgb3IgRVZETworICAgICAgICAgICAgICAgICAgIENhbmNlbEFsbCAgICAgICAtIFRydWUgLSBDYW5jZWwgYWxsIHJlZ2lzdGVyZWQgYWxsIHJlc2VydmUgY2hhbm5lbCwgRmFsc2UgLSBOb3QgY2FuY2VsIGFsbAorICAgICAgICAgICAgICAgICAgIENsMUNoYW5uZWwgICAgICAtIENMMSBjYW5jZWwgY2hhbm5lbCBpbiBSVEJBCisKKyAgUkVUVVJORUQgVkFMVUVTOiAKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworZXh0ZXJuIHZvaWQgUnRiYUNsMUNhbmNlbFJlcShTeXNBaXJJbnRlcmZhY2VUIE1vZGUsIGthbF9ib29sIENhbmNlbEFsbCwgUnRiYUNsMUNoYW5uZWxUeXBlVCBDbDFDaGFubmVsKTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgCisgIEZVTkNUSU9OIE5BTUU6ICAgUnRiYUNsMUNhbmNlbFF1ZXJ5UmVxCisKKyAgREVTQ1JJUFRJT046ICAgICBDTDEgY2FuY2VsIHRoZSBxdWVyeSBvbiBSVEJBCisKKyAgUEFSQU1FVEVSUzogICAgICBtb2RlICAgICAgICAgICAgLSBJbmRpY2F0ZSAxeFJUVCBvciBFVkRPCisKKyAgUkVUVVJORUQgVkFMVUVTOiAKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworZXh0ZXJuIHZvaWQgUnRiYUNsMUNhbmNlbFF1ZXJ5UmVxKFN5c0FpckludGVyZmFjZVQgTW9kZSk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIAorICBGVU5DVElPTiBOQU1FOiAgIFJ0YmFDbDFDaGFubmVsQ2hhbmdlUmVxCisKKyAgREVTQ1JJUFRJT046ICAgICBDTDEgY2hhbmdlIHRoZSBjaGFubmVsIHRvIG5ldyBjaGFubmVsIG9uIFJUQkEKKworICBQQVJBTUVURVJTOiAgICAgIG1vZGUgICAgICAgICAgICAtIEluZGljYXRlIDF4UlRUIG9yIEVWRE8KKyAgICAgICAgICAgICAgICAgICBDbDFDaGFubmVsICAgICAgLSBDTDEgY2hhbmdlZCBjaGFubmVsIGluIFJUQkEKKworICBSRVRVUk5FRCBWQUxVRVM6IAorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitleHRlcm4gdm9pZCBSdGJhQ2wxQ2hhbm5lbENoYW5nZVJlcShTeXNBaXJJbnRlcmZhY2VUIE1vZGUsIFJ0YmFDbDFDaGFubmVsVHlwZVQgQ2wxQ2hhbm5lbCk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIAorICBGVU5DVElPTiBOQU1FOiAgIFJ0YmFDbDFLaWNrUXVlcnlSZXEKKworICBERVNDUklQVElPTjogICAgIENMMSB1c2UgdGhpcyBBUEkgdG8ga2ljayBSVEJBIHRvIHF1ZXJ5IHdpdGggUlRCCisKKyAgUEFSQU1FVEVSUzogICAgICBNb2RlICAgICAgICAgICAgLSBJbmRpY2F0ZSB0aGUgMXhSVFQgb3IgRVZETyBtb2RlCisKKyAgUkVUVVJORUQgVkFMVUVTOiAKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworZXh0ZXJuIHZvaWQgUnRiYUNsMUtpY2tRdWVyeVJlcShTeXNBaXJJbnRlcmZhY2VUIE1vZGUpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAKKyAgRlVOQ1RJT04gTkFNRTogICBSdGJhSHNjS2lja1F1ZXJ5UmVxCisKKyAgREVTQ1JJUFRJT046ICAgICBIU0MgdXNlIHRoaXMgQVBJIHRvIGtpY2sgUlRCQSB0byBxdWVyeSB3aXRoIFJUQgorCisgIFBBUkFNRVRFUlM6ICAgICAgTW9kZSAgICAgICAgICAgICAtIEluZGljYXRlIHRoZSAxeFJUVCBvciBFVkRPIG1vZGUKKyAgICAgICAgICAgICAgICAgICAqQ2hhbm5lbFR5cGUgICAgIC0gSFNDIHVzZSB0aGlzIEFQSSB0byBxdWVyeSB0aGUgcmVnaXN0ZXJlZCBSVEIgY2hhbm5lbCwgdGhlIHF1ZXJ5aWVkIGNoYW5uZWwgdHlwZSBpcyByZXR1cm5lZCAKKyAgICAgICAgICAgICAgICAgICAqUnhPblRpbWUgICAgICAgIC0gVGhlIFJGIG9uIHRpbWUgaW4gQzJLIHN5c3RlbSB0aW1lIHVuaXQsIHZhbGlkIG9ubHkgd2hlbiB0aGUgcmV0dXJuIHZhbHVlIGlzIHRydWUKKyAgICAgICAgICAgICAgICAgICAqUnhPZmZUaW1lICAgICAgIC0gVGhlIFJGIG9mZiB0aW1lIGluIEMySyBzeXN0ZW0gdGltZSB1bml0LCB2YWxpZCBvbmx5IHdoZW4gdGhlIHJldHVybiB2YWx1ZSBpcyB0cnVlIGFuZCB0aGUgY2hhbm5lbCB0eXBlIGlzIFFQQ0gxLzIgYW5kIENDSQorCisgIFJFVFVSTkVEIFZBTFVFUzogVGhlIFF1ZXJ5IFJlc3VsdCBpcyBzdWNjZXNzIG9yIG5vdAorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitleHRlcm4ga2FsX2Jvb2wgUnRiYUhzY0tpY2tRdWVyeVJlcShTeXNBaXJJbnRlcmZhY2VUIE1vZGUsIFJ0YmFDbDFDaGFubmVsVHlwZVQgKkNoYW5uZWxUeXBlLCBTeXNTRnJhbWVUaW1lVCAqUnhPblRpbWUsIFN5c1NGcmFtZVRpbWVUICpSeE9mZlRpbWUpOworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIAorICBGVU5DVElPTiBOQU1FOiAgIFJ0YmFRdWVyeUV2ZG9ERlNFbmRUaW1lCisKKyAgREVTQ1JJUFRJT046ICAgICBMMUQgdXNlIHRoaXMgQVBJIHRvIGdldCB0aGUgRVZETydzIERGUyBFbmQgdGltZSBhbmQgdG8gY2FsYyB0aGUgZGVsYXkgZnJhbWUgbnVtYmVyIAorCisgIFBBUkFNRVRFUlM6ICAgICAgCisgIFJFVFVSTkVEIFZBTFVFUzogVGhlIGRlbGF5ZWQgZnJhbWUgbnVtYmVyKDIwbXMgRnJhbWUgc2l6ZSAwLSBubyBkZWxheSwgMS0gZGVsYXkgMjBtcykKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworZXh0ZXJuIGthbF91aW50OCBSdGJhUXVlcnlFdmRvREZTRW5kVGltZSh2b2lkKTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgCisgIEZVTkNUSU9OIE5BTUU6ICAgUnRiYVByb2Nlc3NTaW1JbmRleEluZm9Nc2cKKworICBERVNDUklQVElPTjogICAgIFJUQkEgdXNlIHRoaXMgQVBJIHRvIHByb2Nlc3MgdGhlIHNpbSBpbmRleCBpbmZvcm1hdGlvbiBmcm9tIFZBTCAKKworICBQQVJBTUVURVJTOiAgICAgIAorICBSRVRVUk5FRCBWQUxVRVM6IAorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitleHRlcm4gdm9pZCBSdGJhUHJvY2Vzc1NpbUluZGV4SW5mb01zZyh2b2lkICpNc2dEYXRhUCk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIAorICBGVU5DVElPTiBOQU1FOiAgIFJ0YmFQcm9jZXNzTU1PR2FwRGlzYWJsZU1zZworCisgIERFU0NSSVBUSU9OOiAgICAgUlRCQSB1c2UgdGhpcyBBUEkgdG8gcHJvdmlkZSB0byBIU0MgZm9yIGhlbHAgdG8gZGlzYWJsZSBNTU8gR0FQCisKKyAgUEFSQU1FVEVSUzogICAgICAKKyAgUkVUVVJORUQgVkFMVUVTOiAKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworZXh0ZXJuIHZvaWQgUnRiYVByb2Nlc3NNTU9HYXBEaXNhYmxlTXNnKHZvaWQgKk1zZ0RhdGFQKTsKKworCisjaWZkZWYgTVRLX1BMVF9PTl9QQ19JVAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgCisgIEZVTkNUSU9OIE5BTUU6ICAgQ0JTU2ltSW5kZXhJbmZvTXNnCisKKyAgREVTQ1JJUFRJT046ICAgICBDQlMgdXNlIHRoaXMgQVBJIHRvIHByb2Nlc3MgdGhlIHNpbSBpbmRleCBpbmZvcm1hdGlvbiBmcm9tIFZBTCAKKworICBQQVJBTUVURVJTOiAgICAgIAorICBSRVRVUk5FRCBWQUxVRVM6IAorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitleHRlcm4gdm9pZCBDQlNTaW1JbmRleEluZm9Nc2coa2FsX2Jvb2wgQzJLSW5TSU0yKTsKKyNlbmRpZgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAKKyAgRlVOQ1RJT04gTkFNRTogICBSdGJhQ2hhbm5lbFByaW9Cb29zdFJlcQorCisgIERFU0NSSVBUSU9OOiAgICAgUlRCQSBwcm92aWRlIHRoaXMgQVBJIGZvciBDTDEgdG8gcmFpc2UgdGhlIGNoYW5uZWwgcHJpb3JpdHkgdGVtcG9yeSBmb3Igb25jZSB0aW1lCisKKyAgUEFSQU1FVEVSUzogICAgICBNb2RlICAgICAgICAgICAgLSBJbmRpY2F0ZSB0aGUgMXhSVFQgb3IgRVZETyBtb2RlCisgICAgICAgICAgICAgICAgICAgQ2wxQ2hhbm5lbCAgICAgIC0gQ0wxIGNoYW5uZWwgaW4gUlRCQSB0byBib29zdCB0aGUgcHJpb3JpdHkKKyAgUkVUVVJORUQgVkFMVUVTOiAKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworZXh0ZXJuIHZvaWQgUnRiYUNoYW5uZWxQcmlvQm9vc3RSZXEoU3lzQWlySW50ZXJmYWNlVCBNb2RlLCBSdGJhQ2wxQ2hhbm5lbFR5cGVUIENsMUNoYW5uZWwpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAKKyAgRlVOQ1RJT04gTkFNRTogICBSdGJhR2F0ZU1vZGVSZXEKKworICBERVNDUklQVElPTjogICAgIFJUQkEgUHJvdmlkZSB0aGlzIEFQSSB0byBDTDEgdG8gZW5hYmxlL2Rpc2FibGUgdGhlIGdhdGUgbW9kZSAgCisKKyAgUEFSQU1FVEVSUzogICAgICBNb2RlICAgICAgIC0gSW5kaWNhdGUgdGhlIDF4UlRUIG9yIEVWRE8gbW9kZQorICAgICAgICAgICAgICAgICAgIFJlYXNvbiAgICAgLSBJbmRpY2F0ZSB0aGUgZ2F0ZSBtb2RlIGVuYWJsZS9kaXNibGUgcmVhc29uCisgICAgICAgICAgICAgICAgICAgR2FwTGVuICAgICAtIElmIHRoZSBnYXRlIG1vZGUgZW5hYmxlIGZvciBNTU8gZ2FwIG9mZmVyLCB0aGUgcHJvdmlkZWQgR0FQIGxlbmd0aCAKKyAgICAgICAgICAgICAgICAgICAKKyAgUkVUVVJORUQgVkFMVUVTOiAKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworZXh0ZXJuIHZvaWQgUnRiYUdhdGVNb2RlUmVxKFN5c0FpckludGVyZmFjZVQgTW9kZSwgUnRiYUdhdGVNb2RlUmVhc29uVCBSZWFzb24sIGthbF91aW50MzIgR2FwTGVuKTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgCisgIEZVTkNUSU9OIE5BTUU6ICAgUnRiYVJlYWRTaW1JbmRleAorCisgIERFU0NSSVBUSU9OOiAgICAgUlRCQSB1c2UgdGhpcyBBUEkgdG8gcHJvdmlkZSBzaW0gaW5kZXguCisKKyAgUEFSQU1FVEVSUzogICAgIAorICBSRVRVUk5FRCBWQUxVRVM6IGN1cnJlbnQgc2ltIGluZGV4CisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK2V4dGVybiBrYWxfdWludDMyIFJ0YmFSZWFkU2ltSW5kZXgodm9pZCk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIAorICBGVU5DVElPTiBOQU1FOiAgIFJ0YmFFdmVudEhhbmRsZXIKKworICBERVNDUklQVElPTjogICAgIFJUQkEgRXZlbnQgSGFuZGxlciBtYWluIGZ1bmN0aW9uCisKKyAgUEFSQU1FVEVSUzogICAgICBNb2RlICAgICAgICAgICAgLSBJbmRpY2F0ZSAxeFJUVCBvciBFVkRPCisgIFJFVFVSTkVEIFZBTFVFUzogCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK2V4dGVybiB2b2lkIFJ0YmFFdmVudEhhbmRsZXIoU3lzQWlySW50ZXJmYWNlVCBNb2RlKTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgCisgIEZVTkNUSU9OIE5BTUU6ICAgUnRiYVF1ZXJ5U2NoZWR1bGVyCisKKyAgREVTQ1JJUFRJT046ICAgICBSVEJBIFF1ZXJ5IFNjaGVkdWxlciBtYWluIGZ1bmN0aW9uCisKKyAgUEFSQU1FVEVSUzogICAgICBNb2RlICAgICAgICAgICAgLSBJbmRpY2F0ZSAxeFJUVCBvciBFVkRPCisgIFJFVFVSTkVEIFZBTFVFUzogCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK2V4dGVybiB2b2lkIFJ0YmFRdWVyeVNjaGVkdWxlcihTeXNBaXJJbnRlcmZhY2VUIE1vZGUpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAKKyAgRlVOQ1RJT04gTkFNRTogICBSdGJhUXVlcnlBY3RpdmVCbG9ja0luZm8KKworICBERVNDUklQVElPTjogICAgIFJUQkEgUHJvdmlkZSB0aGlzIEFQSSBmb3Igb3RoZXIgbW9kdWxlIHRvIHF1ZXJ5IHRoZSBhY3RpdmUgYmxvY2sgcnVubmluZyBpbiBSVEJBCisKKyAgUEFSQU1FVEVSUzogICAgICBNb2RlIC0gSW5kaWNhdGUgdG8gUlRCQSBmb3IgcXVlcnkgd2hpY2ggbW9kZSdzIGFjdGl2ZSBjaGFubmVsCisgICAgICAgICAgICAgICAgICAgKkJsb2NrU3RhcnRUaW1lIC0gSWYgdGhlIGNoYW5uZWwgaXMgYWN0aXZlLCByZXR1cm4gdGhlIGJsb2NrIHN0YXJ0IHRpbWUgaW4gUlRCQSBpbiBzeXN0ZW0gdGltZSBmb3JtYXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBPbmx5IHZhbGlkIHdoZW4gdGhlIEFQSSByZXR1cm5zIEtBTF9UUlVFCisgIAorICBSRVRVUk5FRCBWQUxVRVM6IFRydWUgIC0gRm9yIEN1cnJlbnQgTW9kZSwgdGhlIGNoYW5uZWwgaXMgYWN0aXZlIGFuZCB1c2VyIGNhbiBnZXQgdGhlIGJsb2NrIHN0YXJ0IHRpbWUgaW4gKkJsb2NrU3RhcnRUaW1lCisgICAgICAgICAgICAgICAgICAgRmFsc2UgLSBDdXJyZW50bHkgbm8gY2hhbm5lbCBpcyBhY3RpdmUgZm9yIHRoaXMgbW9kZQorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitleHRlcm4ga2FsX2Jvb2wgUnRiYVF1ZXJ5QWN0aXZlQmxvY2tJbmZvKFN5c0FpckludGVyZmFjZVQgTW9kZSwga2FsX3VpbnQzMiAqQmxvY2tTdGFydFRpbWUpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAKKyAgRlVOQ1RJT04gTkFNRTogICBSdGJhUHJvY0dhdGVNb2RlUmVxRXZlbnQKKworICBERVNDUklQVElPTjogICAgIFJUQkEgUHJvdmlkZSB0aGlzIEFQSSBmb3IgSFNDL0wxRCB0byBjYWxsIGZvciBnYXRlIG1vZGUgcmVxdWVzdCBldmVudCBoYW5kbGUKKworICBQQVJBTUVURVJTOiAgICAgIEV2dFB0ciAgIC0gVGhlIHBvaW50ZXIgdG8gdGhlIGdhdGUgbW9kZSByZXF1ZXN0CisgIAorICBSRVRVUk5FRCBWQUxVRVM6IAorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitleHRlcm4gdm9pZCBSdGJhUHJvY0dhdGVNb2RlUmVxRXZlbnQoUnRiYUdhdGVNb2RlRXZlbnRUeXBlVCAqRXZ0UHRyKTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgCisgIEZVTkNUSU9OIE5BTUU6ICAgUnRiYUNsMUFkanVzdENoYW5uZWxQb3NpdGlvblJlcQorCisgIERFU0NSSVBUSU9OOiAgICAgUlRCQSBQcm92aWRlIHRoaXMgQVBJIGZvciBMMUQgdG8gYWRqdXN0IHRoZSBjaGFubmVsIGJsb2NrIHNjaGVkdWxlIHN0YXJ0IHRpbWUKKworICBQQVJBTUVURVJTOiAgICAgIE1vZGUgICAgICAgICAgICAtIEluZGljYXRlIDF4UlRUIG9yIEVWRE8KKyAgICAgICAgICAgICAgICAgICBTdGFydFRpbWUgICAgICAgLSBUaGUgbmV3IHN0YXJ0IHRpbWUgaW5kaWNhdGVkIGJ5IEwxCisgICAgICAgICAgICAgICAgICAgUmVzZXJ2ZUxlbmd0aCAgIC0gVGhlIGNoYW5uZWwgcmVzZXJ2ZSBsZW5ndGggaW5kaWNhdGVkIGJ5IEwxCisgIAorICBSRVRVUk5FRCBWQUxVRVM6IAorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitleHRlcm4gdm9pZCBSdGJhQ2wxQWRqdXN0Q2hhbm5lbFBvc2l0aW9uUmVxKFN5c0FpckludGVyZmFjZVQgTW9kZSwga2FsX3VpbnQzMiBTdGFydFRpbWUsIGthbF91aW50MzIgUmVzZXJ2ZUxlbik7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIAorICBGVU5DVElPTiBOQU1FOiAgIFJ0YmFDbDFHZXRSRk9uTWFyZ2luSW5mbworCisgIERFU0NSSVBUSU9OOiAgICAgCisKKyAgUEFSQU1FVEVSUzogICAgICAKKyAgCisgIFJFVFVSTkVEIFZBTFVFUzogVGhlIFJGIG9uIG1hcmdpbgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitleHRlcm4ga2FsX3VpbnQzMiBSdGJhQ2wxR2V0UkZPbk1hcmdpbkluZm8odm9pZCk7CisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAKKyAgRlVOQ1RJT04gTkFNRTogICBSdGJhQ2wxR2V0UkZPZmZNYXJnaW5JbmZvCisKKyAgREVTQ1JJUFRJT046ICAgICAKKyAgUEFSQU1FVEVSUzogICAgICAKKyAgCisgIFJFVFVSTkVEIFZBTFVFUzogVGhlIFJGIG9mZiBtYXJnaW4KKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworZXh0ZXJuIGthbF91aW50MzIgUnRiYUNsMUdldFJGT2ZmTWFyZ2luSW5mbyh2b2lkKTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgCisgIEZVTkNUSU9OIE5BTUU6ICAgUnRiYUNsMVByZUNsZWFyUmVzZXJ2YXRpb25SZXEKKworICBERVNDUklQVElPTjogICAgIFJUQkEgcHJvdmlkZSB0aGlzIEFQSSBmb3IgQ0wxIHRvIHByZS1jbGVhciByZXNlcnZhdGlvbiBiZWZvcmUgdGhlIHJlYWwgY2FuY2VsIHJlcXVlc3QgaXMgY2FsbGVkCisgIFBBUkFNRVRFUlM6ICAgICAgCisgIAorICBSRVRVUk5FRCBWQUxVRVM6IAorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitleHRlcm4gdm9pZCBSdGJhQ2wxUHJlQ2xlYXJSZXNlcnZhdGlvblJlcShTeXNBaXJJbnRlcmZhY2VUIE1vZGUpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgRlVOQ1RJT04gTkFNRTogICBSdGJhQ2wxUHJlQ2FuY2VsUmVxCisKKyAgREVTQ1JJUFRJT046ICAgICBSVEJBIHByb3ZpZGUgdGhpcyBBUEkgZm9yIENMMSB0byBwcmUtY2FuY2VsIHRoZSBSRiBzdG9wIGV2ZW50IGJlZm9yZSB0aGUgcmVhbCBjYW5jZWwgcmVxdWVzdCBpcyBjYWxsZWQKKyAgUEFSQU1FVEVSUzogICAgICBNb2RlICAgICAgICAgICAgLSBJbmRpY2F0ZSAxeFJUVCBvciBFVkRPCisgIAorICBSRVRVUk5FRCBWQUxVRVM6IAorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitleHRlcm4gdm9pZCBSdGJhQ2wxUHJlQ2FuY2VsUmVxKFN5c0FpckludGVyZmFjZVQgTW9kZSk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisKKyAgUEFSQU1FVEVSUzogICAgICBNb2RlICAgICAgICAgICAgICAgLSBJbmRpY2F0ZSAxeFJUVCBvciBFVkRPCisgICAgICAgICAgICAgICAgICAgbGFzdFBhZ2luZ1RpbWUgICAgIC0gaW5kaWNhdGUgbGFzdFBhZ2luZ1RpbWUsIHVuaXQgMjBtcworICAgICAgICAgICAgICAgICAgIFNsb3RfY3ljbGUgICAgICAgICAtIGluZGljYXRlIHNsb3RfY3ljbGUgb2YgRFJYCisKKyAgUkVUVVJORUQgVkFMVUVTOiAKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworZXh0ZXJuIHZvaWQgUnRiYVNsdFBjaFBvc2l0b25SZXEoU3lzQWlySW50ZXJmYWNlVCBNb2RlLCBrYWxfdWludDMyIExhc3RQYWdpbmdUaW1lLCBrYWxfdWludDMyIFNsb3RfQ3ljbGUpOworI2lmZGVmIFNZU19PUFRJT05fVFhfVEFTX0VOQUJMRQorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgIEZVTkNUSU9OIE5BTUU6ICAgUnRiYVRhc0JhY2tPZmZRdWVyeQorCisgIERFU0NSSVBUSU9OOiAgICAgUlRCQSBwcm92aWRlIHRoaXMgQVBJIGZvciBUQVMgdG8gcXVlcnkgd2hldGhlciBjYW4gZXhlY3V0ZSAKKyAgUkYgdHVuZXIgb3Igbm90CisgIFBBUkFNRVRFUlM6ICAgICAgTW9kZSAgICAgICAgICAgIC0gSW5kaWNhdGUgMXhSVFQgb3IgRVZETworICAgICAgICAgICAgICAgICAgIE1pblJlc2VydmVMZW5ndGggICAtSW5kaWNhdGUgdGhlIHRoZSBNaW4gTGVuZ3RoIG9mIFRBUyBSRiAKKyAgICAgICAgICAgICAgICAgICBUdW5lcgorICAKKyAgUkVUVVJORUQgVkFMVUVTOiAKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworZXh0ZXJuIHZvaWQgUnRiYVRhc0JhY2tPZmZRdWVyeShTeXNBaXJJbnRlcmZhY2VUIE1vZGUsIGthbF91aW50MzIgTWluUmVzZXJ2ZUxlbmd0aCwgUnRiYVRhc1F1ZXJ5UmVzdWx0VCogUXVlcnlSZXN1bHQpOworI2VuZGlmCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorCisgIEZVTkNUSU9OIE5BTUU6IFJic0RlbnlQYXR0ZXJuSW5mb1JlY29yZAorCisgIERFU0NSSVBUSU9OOiAgIHRoaXMgQVBJIGlzIHVzZWQgZm9yIHJlY29kaW5nIHNjcmlwdCBpbmZvbWF0aW9uCisKKyAgUEFSQU1FVEVSUzogICAgcERlbnlQYXR0ZXJuICAgIC0gcG9pbnQgdG8gc2NyaXB0IGluZm9tYXRpb24gCisKKyAgUkVUVVJORUQgVkFMVUVTOiAKKyAgCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZmRlZiBNVEtfREVWXzkzTV9SVEJBX1JCU19FTkFCTEUKK2V4dGVybiB2b2lkIFJic0RlbnlQYXR0ZXJuSW5mb1JlY29yZChrYWxfdWludDgqIHBEZW55UGF0dGVybik7CisjZW5kaWYKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorCisgIEZVTkNUSU9OIE5BTUU6IEhzY1ByZWVtcHRUcmlnSW5mb1JlY29yZAorCisgIERFU0NSSVBUSU9OOiAgIHRoaXMgQVBJIGlzIHVzZWQgZm9yIHJlY29kaW5nIHNjcmlwdCBpbmZvbWF0aW9uCisKKyAgUEFSQU1FVEVSUzogICAgcEhzY1ByZWVtcHRUcmlnICAgIC0gcG9pbnQgdG8gc2NyaXB0IGluZm9tYXRpb24gIAorCisgIFJFVFVSTkVEIFZBTFVFUzogCisgIAorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZkZWYgTVRLX0RFVl85M01fUlRCQV9IUFNfVFJJR19FTkFCTEUKK2V4dGVybiB2b2lkIEhzY1ByZWVtcHRUcmlnSW5mb1JlY29yZChrYWxfdWludDgqIHBIc2NQcmVlbXB0VHJpZyk7CisjZW5kaWYKKworI2lmZGVmIE1US19ERVZfOTNNX1JUQkFfUkJTX1NDRU5BUklPX0NPTlRST0xfRU5BQkxFCitleHRlcm4gdm9pZCBSdGJhQ2wxUmJzU2NlbmFyaW9Db250cm9sUmVxKFJic1NjZW5hcmlvQ29udHJvbFBhcmFUICpwUmJzU2NlbkN0cmxQYXJhKTsKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jbDFmci5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NsMWZyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDM2YzI3OAotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jbDFmci5oCkBAIC0wLDAgKzEsMTUyIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoKKyogRklMRSBOQU1FICAgOiBjbDFmci5oCisqCisqIERFU0NSSVBUSU9OIDoKKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBJbmNsdWRlIEZpbGVzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmbmRlZiBfQ0wxRlJfSF8KKyNkZWZpbmUgX0NMMUZSX0hfCisKKyNpbmNsdWRlICJjbDFmcmV2dGlkLmgiCisjaW5jbHVkZSAia2FsX3B1YmxpY19hcGkuaCIKKyNpbmNsdWRlICJrYWxfaHJ0X2FwaS5oIgorI2luY2x1ZGUgImludHJDdHJsLmgiCisjaW5jbHVkZSAiYzJrX2RlZnMuaCIKKyNpZm5kZWYgTVRLX1BMVF9PTl9QQworI2lmZGVmIF9fTUQ5M19fCisjZGVmaW5lIElSUV9DMktfRlJfRkhfU1dJX0NPREUgICAgICAgICAgICAgIElSUV9TV19MSVNSMTVfQ09ERQorI2VsaWYgZGVmaW5lZCAoX19NRDk1X18pCisjZGVmaW5lIElSUV9DMktfRlJfRkhfU1dJX0NPREUgICAgICAgICAgICAgIElSUV9TV19MSVNSOF9DT0RFCisjZWxzZQorI2RlZmluZSBJUlFfQzJLX0ZSX0ZIX1NXSV9DT0RFICAgICAgICAgICAgICBJUlFfU1dfTElTUjhfQ09ERQorI2VuZGlmCisKKyNlbmRpZgorCisvKiBGcmFtZSB0aWNrIHJlbGF0ZWQgKi8KK3R5cGVkZWYgZW51bQoreworICAgTk9STUFMX0RPTUFJTiwKKyAgIEZSQU1FVElDS19SRUdVTEFSLAorICAgRlJBTUVUSUNLX0hTQyA9IEZSQU1FVElDS19SRUdVTEFSLAorICAgRlJBTUVUSUNLX0wxRCwKKyAgIEZSQU1FVElDS19STUMsCisgICBGUkFNRUhBTkRMRVJfSU5fU1dJLAorICAgRlJBTUVIQU5ETEVSX0lOX1BDR1NMT1QsCisgICBQQ0dfSVJRLAorICAgU0xPVF9JUlEsCisgICBSQ1BSSV9JUlEsCisgICBPVEhFUl9JUlEsCisKKyAgIEZSX01PRF9NQVhfTlVNCit9IEZyTW9kdWxlVDsKKworI2lmIChDVVJfR0VOPj1NRF9HRU45NSkKKy8qUnVubmluZyBJUlEgTElTUiBsb2NhdGlvbiovCit0eXBlZGVmIGVudW0KK3sKKyAgIExPQ19IV0RfV0FLRV9ET19MSVNSLAorICAgTE9DX1NZU19ET19TTE9UX0xJU1IsCisgICBMT0NfU1lTX0RPX0hBTEZfU0xPVF9MSVNSLAorICAgTE9DX1NZU19ET19IQUxGX1NMT1RfTElTUl8yLAorICAgTE9DX0ZSQU1FX0hBTkRMRVJfU1dJX0xJU1IsCisgICBMT0NfU1lTX0ZUSU1FUl9ET19MSVNSLAorICAgTE9DX0xJU1JfUlVOX01BWF9OVU0KK30gSXJxTGlzclJ1blQ7CisjZW5kaWYKKworCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX2Jvb2wgICAgICAgVXNlRG07CisgICBrYWxfYm9vbCAgICAgICBQcm9jZXNzZWQ7CisgICBrYWxfdWludDE2ICAgICBFdnRJZDsKKyAgIGthbF91aW50MTYgICAgIEV2dExlbmd0aDsgLyogSW4gYnl0ZSAqLworICAga2FsX3VpbnQzMiAgICAgVGltZVN0YW1wOyAvKiBJbiBGUkMgKi8KKyAgIGthbF91aW50OCogICAgIERhdGFQdHI7Cit9IEV2dERhdGFUOworCisjZGVmaW5lIE1fRnIyQnl0ZUFsaWduKHgpICgoKCh4KSArIDEpID4+IDEpIDw8IDEpCisjZGVmaW5lIE1fRnI0Qnl0ZUFsaWduKHgpICgoKCh4KSArIDMpID4+IDIpIDw8IDIpCisKKworI2RlZmluZSBNX1NldFNoT25nb2luZ0ZsYWcoSW50ZXJmYWNlKSB7Z1NoT25nb2luZ1tJbnRlcmZhY2VdID0gS0FMX1RSVUU7fQorI2RlZmluZSBNX0NsclNoT25nb2luZ0ZsYWcoSW50ZXJmYWNlKSB7Z1NoT25nb2luZ1tJbnRlcmZhY2VdID0gS0FMX0ZBTFNFO30KKyNkZWZpbmUgTV9Jc1NoT25nb2luZyhJbnRlcmZhY2UpICAgICAgKGdTaE9uZ29pbmdbSW50ZXJmYWNlXSA9PSBLQUxfVFJVRSkKKworCitleHRlcm4ga2FsX3VpbnQzMiBnU3dpQml0bWFwOworZXh0ZXJuIGthbF9ib29sIGdTaE9uZ29pbmdbU1lTX01PREVfTUFYXTsKK2V4dGVybiBrYWxfdWludDMyIGdGaFN3aU93bmVyQml0bWFwOworCitleHRlcm4gdm9pZCAgICAgICBGclNlbmRFdmVudChGck1vZHVsZVQgU3JjLCBGck1vZHVsZVQgRGVzdCwgRnJFdnRJZFQgRXZ0SWQsIGthbF9ib29sIFVzZURtLCBrYWxfdWludDgqIERhdGFQdHIsIGthbF91aW50MTYgTGVuZ3RoKTsKK2V4dGVybiB2b2lkICAgICAgIF9fRnJJcnFTZW5kTXNnKEZyTW9kdWxlVCBTcmMsIG1vZHVsZV90eXBlIERlc3RNb2QsIG1zZ190eXBlIE1zZ0lkLCBrYWxfYm9vbCBVc2VEbSwga2FsX3VpbnQ4KiBEYXRhUHRyLCBrYWxfdWludDE2IExlbmd0aCk7CitleHRlcm4gdm9pZCAgICAgICBGckV2ZW50RXhlY3V0b3IoRnJNb2R1bGVUIEV4ZWN1dGlvbik7CitleHRlcm4gdm9pZCAgICAgICBGckZoU3dpRXZlbnRFeGVjdXRvcih2b2lkKTsKK2V4dGVybiB2b2lkICAgICAgIEZyRmhTd2lUcmlnZ2VyKFN5c0FpckludGVyZmFjZVQgTW9kZSk7CitleHRlcm4gdm9pZCAgICAgICBGclN3aVRyaWdnZXJIaXNyKHZvaWQpOworZXh0ZXJuIHZvaWQgICAgICAgRnJGaE1zZ0RlbGl2ZXJIaXNyKHZvaWQpOworZXh0ZXJuIHZvaWQgICAgICAgRnJTaE1zZ0RlbGl2ZXJIaXNyKHZvaWQpOworZXh0ZXJuIHZvaWQgICAgICAgRnJSck1zZ0RlbGl2ZXJIaXNyKHZvaWQpOworZXh0ZXJuIGthbF9ib29sICAgRnJFdnRRdWV1ZUVtcHR5KEZyTW9kdWxlVCBNb2R1bGUpOworZXh0ZXJuIGthbF9ib29sICAgRnJNc2dRdWV1ZUVtcHR5KEZyTW9kdWxlVCBNb2R1bGUpOworZXh0ZXJuIGthbF9ib29sICAgRnJBbGxRdWV1ZUVtcHR5KHZvaWQpOworCisjaWYgKENVUl9HRU4+PU1EX0dFTjk1KQorZXh0ZXJuIHZvaWQgRnJTYW1lUHJpb0lSUVByb2Nlc3Moa2FsX2Jvb2wgbWFzayxJcnFMaXNyUnVuVCBJcnFMaXNyUnVuTG9jKTsKKyNlbmRpZgorCisvKiAyQnl0ZXMgYWxpZ25tZW50IGlzIHRvIG1ha2Ugc3VyZSBzaXplb2YoWFhYX21zZ19zdHJ1Y3QpPXNpemVvZihMT0NBTF9QQVJBX0hEUikrc2l6ZW9mKG1zZyksCisgICBiZWNhdXNlIExPQ0FMX1BBUkFfSERSIGhhcyBhIHVpbnQxNiBpdGVtLCBzaXplb2YoWFhYX21zZ19zdHJ1Y3QpIG11c3QgYmUgZXZlbiBudW1iZXIuCisgICBpZiB0aGUgc2l6ZW9mKG1zZykgaXMgb2RkLCB0aGUgZXF1YXRpb24gaXMgbm90IGZ1bGxmaWxsZWQuCisqLworI2RlZmluZSBGcklycVNlbmRNc2coU3JjLCBEZXN0TW9kLCBNc2dJZCwgVXNlRG0sIERhdGFQdHIsIExlbmd0aCkgXAorICAgX19GcklycVNlbmRNc2coU3JjLCBEZXN0TW9kLCBNc2dJZCwgVXNlRG0sIERhdGFQdHIsIE1fRnIyQnl0ZUFsaWduKExlbmd0aCkpCisKKyNlbmRpZgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogRW5kIG9mIEZpbGUKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY2wxZnJldnRpZC5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NsMWZyZXZ0aWQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZDczNDUwCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NsMWZyZXZ0aWQuaApAQCAtMCwwICsxLDc3IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBJbmNsdWRlIEZpbGVzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworI2lmbmRlZiBfQ0wxRlJFVlRJRF9IXworI2RlZmluZSBfQ0wxRlJFVlRJRF9IXworCisKKyNkZWZpbmUgRlJfRVZUX0lEX0hFQURFUl9GSF9IU0MgICAgICAoMHgwMjAwKQorI2RlZmluZSBGUl9FVlRfSURfSEVBREVSX0ZIX1hMMSAgICAgICgweDA0MDApCisjZGVmaW5lIEZSX0VWVF9JRF9IRUFERVJfRkhfUk1DICAgICAgKDB4MDgwMCkKKyNkZWZpbmUgRlJfRVZUX0lEX0hFQURFUl9YTDFfU0ggICAgICAoMHgxMDAwKQorI2RlZmluZSBGUl9FVlRfSURfSEVBREVSX0VWTDFfU0ggICAgICgweDIwMDApCisjZGVmaW5lIEZSX0VWVF9JRF9IRUFERVJfUkNQX1JJICAgICAgKDB4NDAwMCkKKyNkZWZpbmUgRlJfRVZUX0lEX0hFQURFUl9UU1QgICAgICAgICAoMHg4MDAwKQorCisjZGVmaW5lIEZSX0VWVF9JRF9IRUFERVJfREVTVF9NQVNLICAgKDB4N0UwMCkKKworCisKKworI2RlZmluZSBGUl9FVlRfSURfREVGSU5FKElkLCBOdW0sIEhlYWRlcikgIElkPShGUl9FVlRfSURfSEVBREVSXyMjSGVhZGVyfE51bSksCit0eXBlZGVmIGVudW0KK3sKKyAgICNpbmNsdWRlICJjbDFmcnRzdGV2dGlkLmgiCisgICAjaW5jbHVkZSAiY2wxZmhoc2NldnRpZC5oIgorICAgI2luY2x1ZGUgInhsMWZoZXZ0aWQuaCIKKyAgICNpbmNsdWRlICJldmwxZmhldnRpZC5oIgorICAgI2luY2x1ZGUgInhsMXNoZXZ0aWQuaCIKKyAgICNpbmNsdWRlICJldmwxc2hldnRpZC5oIgorICAgI2luY2x1ZGUgInJjcHJpZXZ0aWQuaCIKKworICAgRlJfRVZUX0lEX0lOVkFMSUQgPSAweEZGRkYKK30gRnJFdnRJZFQ7CisjdW5kZWYgRlJfRVZUX0lEX0RFRklORQorCisjZW5kaWYKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIEVuZCBvZiBGaWxlCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NsMWZydHN0ZXZ0aWQuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jbDFmcnRzdGV2dGlkLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmI0ZTRjNAotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jbDFmcnRzdGV2dGlkLmgKQEAgLTAsMCArMSw3NCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmIGRlZmluZWQoTVRLX0RFVl85M01fUFJFSVQpICYmIGRlZmluZWQoTVRLX1BMVF9PTl9QQykgJiYgZGVmaW5lZChNVEtfUExUX09OX1BDX0lUKQorCisKK0ZSX0VWVF9JRF9ERUZJTkUoRVZUX0lEX1RTVF9UQVNLX1RPX0ZUXzEsICAgICAweDAwLCAgIFRTVCkKK0ZSX0VWVF9JRF9ERUZJTkUoRVZUX0lEX1RTVF9UQVNLX1RPX0ZUXzIsICAgICAweDAxLCAgIFRTVCkKK0ZSX0VWVF9JRF9ERUZJTkUoRVZUX0lEX1RTVF9QQ0dfVE9fRlRfMSwgICAgICAweDAyLCAgIFRTVCkKK0ZSX0VWVF9JRF9ERUZJTkUoRVZUX0lEX1RTVF9QQ0dfVE9fRlRfMiwgICAgICAweDAzLCAgIFRTVCkKK0ZSX0VWVF9JRF9ERUZJTkUoRVZUX0lEX1RTVF9TTE9UX1RPX0ZUXzEsICAgICAweDA0LCAgIFRTVCkKK0ZSX0VWVF9JRF9ERUZJTkUoRVZUX0lEX1RTVF9TTE9UX1RPX0ZUXzIsICAgICAweDA1LCAgIFRTVCkKK0ZSX0VWVF9JRF9ERUZJTkUoRVZUX0lEX1RTVF9XQUtFX1RPX0ZUXzEsICAgICAweDA2LCAgIFRTVCkKK0ZSX0VWVF9JRF9ERUZJTkUoRVZUX0lEX1RTVF9XQUtFX1RPX0ZUXzIsICAgICAweDA3LCAgIFRTVCkKK0ZSX0VWVF9JRF9ERUZJTkUoRVZUX0lEX1RTVF9UQVNLX1RPX1BDR18xLCAgICAweDA4LCAgIFRTVCkKK0ZSX0VWVF9JRF9ERUZJTkUoRVZUX0lEX1RTVF9UQVNLX1RPX1BDR18yLCAgICAweDA5LCAgIFRTVCkKK0ZSX0VWVF9JRF9ERUZJTkUoRVZUX0lEX1RTVF9GVF9UT19QQ0dfMSwgICAgICAweDBBLCAgIFRTVCkKK0ZSX0VWVF9JRF9ERUZJTkUoRVZUX0lEX1RTVF9GVF9UT19QQ0dfMiwgICAgICAweDBCLCAgIFRTVCkKK0ZSX0VWVF9JRF9ERUZJTkUoRVZUX0lEX1RTVF9TV0lfVE9fUENHXzEsICAgICAweDBDLCAgIFRTVCkKK0ZSX0VWVF9JRF9ERUZJTkUoRVZUX0lEX1RTVF9TV0lfVE9fUENHXzIsICAgICAweDBELCAgIFRTVCkKK0ZSX0VWVF9JRF9ERUZJTkUoRVZUX0lEX1RTVF9TTE9UX1RPX1BDR18xLCAgICAweDBFLCAgIFRTVCkKK0ZSX0VWVF9JRF9ERUZJTkUoRVZUX0lEX1RTVF9TTE9UX1RPX1BDR18yLCAgICAweDBGLCAgIFRTVCkKK0ZSX0VWVF9JRF9ERUZJTkUoRVZUX0lEX1RTVF9XQUtFX1RPX1BDR18xLCAgICAweDEwLCAgIFRTVCkKK0ZSX0VWVF9JRF9ERUZJTkUoRVZUX0lEX1RTVF9XQUtFX1RPX1BDR18yLCAgICAweDExLCAgIFRTVCkKK0ZSX0VWVF9JRF9ERUZJTkUoRVZUX0lEX1RTVF9UQVNLX1RPX1NMT1RfMSwgICAweDEyLCAgIFRTVCkKK0ZSX0VWVF9JRF9ERUZJTkUoRVZUX0lEX1RTVF9UQVNLX1RPX1NMT1RfMiwgICAweDEzLCAgIFRTVCkKK0ZSX0VWVF9JRF9ERUZJTkUoRVZUX0lEX1RTVF9GVF9UT19TTE9UXzEsICAgICAweDE0LCAgIFRTVCkKK0ZSX0VWVF9JRF9ERUZJTkUoRVZUX0lEX1RTVF9GVF9UT19TTE9UXzIsICAgICAweDE1LCAgIFRTVCkKK0ZSX0VWVF9JRF9ERUZJTkUoRVZUX0lEX1RTVF9TV0lfVE9fU0xPVF8xLCAgICAweDE2LCAgIFRTVCkKK0ZSX0VWVF9JRF9ERUZJTkUoRVZUX0lEX1RTVF9TV0lfVE9fU0xPVF8yLCAgICAweDE3LCAgIFRTVCkKK0ZSX0VWVF9JRF9ERUZJTkUoRVZUX0lEX1RTVF9QQ0dfVE9fU0xPVF8xLCAgICAweDE4LCAgIFRTVCkKK0ZSX0VWVF9JRF9ERUZJTkUoRVZUX0lEX1RTVF9QQ0dfVE9fU0xPVF8yLCAgICAweDE5LCAgIFRTVCkKK0ZSX0VWVF9JRF9ERUZJTkUoRVZUX0lEX1RTVF9XQUtFX1RPX1NMT1RfMSwgICAweDFBLCAgIFRTVCkKK0ZSX0VWVF9JRF9ERUZJTkUoRVZUX0lEX1RTVF9XQUtFX1RPX1NMT1RfMiwgICAweDFCLCAgIFRTVCkgICAKK0ZSX0VWVF9JRF9ERUZJTkUoRVZUX0lEX1RTVF9VVF9UUklHX1RBU0tfVE9fRlQsICAgICAgMHgxQywgICBUU1QpIAorRlJfRVZUX0lEX0RFRklORShFVlRfSURfVFNUX1VUX1RSSUdfVEFTS19UT19TTE9ULCAgICAweDFELCAgIFRTVCkgIAorCisKKworLyogTVVTVCBiZSBsZXNzIHRoYW4gMjU1ICgweEZGKSAhISEgKi8KKworI2VuZGlmCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY2wxbmJpZi5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NsMW5iaWYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YzVlNDkxCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NsMW5iaWYuaApAQCAtMCwwICsxLDE1NSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICogY2wxbmJpZi5oCisgKgorICogUHJvamVjdDoKKyAqIC0tLS0tLS0tCisgKiBDMksKKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqIC0tLS0tLS0tLS0tLQorICogZ2xvYmFsIGRlZmluaXRpb24gb2YgTkJJRiBjYWxjdWxhaW9uLgorICoKKyAqIEF1dGhvcjoKKyAqIC0tLS0tLS0KKyAqIAorICoKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiAgICAgICAgICAgICBISVNUT1JZCisgKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFVwcGVyIHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgIF9DTDFOQklGX0hfCisjZGVmaW5lICBfQ0wxTkJJRl9IXworCisjaW5jbHVkZSAia2FsX2dlbmVyYWxfdHlwZXMuaCIKKyNpbmNsdWRlICJzeXNhcGkuaCIKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgR2xvYmFsIERlZmluZXMgQW5kIE1hY3JvcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qIHBhcmFtZXRlciBvZiBNU0dfSURfTDFEX01NQUZDX05CSUZfUlhfT05fTVNHICovCit0eXBlZGVmIFBBQ0tFRF9QUkVGSVggc3RydWN0Cit7CisgICAgU3lzQWlySW50ZXJmYWNlVCAgSW50ZXJmYWNlOworICAgIGthbF91aW50OCAgICAgICAgIFBhdGg7CisgICAga2FsX3VpbnQzMiAgICAgICAgQ2hhbm5lbDsKKyAgICBTeXNDZG1hQmFuZFQgICAgICBCYW5kQ2xhc3M7CisgICAga2FsX2ludDMyICAgICAgICAgRm9lSHo7IC8qRk9FIGFkanVzdGVkIGJ5IFBMTCwgaW4gSHouIEEgcG9zaXRpdmUgRk9FIG1lYW5zIE1TJ3MgY2xvY2sgaXMgZmFzdGVyIHRoYW4gQlMgKi8KKworfSBQQUNLRURfUFJFRklYIENsMU5iaWZSeE9uTXNnVDsKKworLyogcGFyYW1ldGVyIG9mIE1TR19JRF9MMURfTU1BRkNfTkJJRl9SWF9PRkZfTVNHICovCit0eXBlZGVmIFBBQ0tFRF9QUkVGSVggc3RydWN0Cit7CisgICAgU3lzQWlySW50ZXJmYWNlVCAgSW50ZXJmYWNlOworICAgIGthbF91aW50OCAgICAgICAgIFBhdGg7CisKK30gUEFDS0VEX1BSRUZJWCBDbDFOYmlmUnhPZmZNc2dUOworCisvKiBwYXJhbWV0ZXIgb2YgTVNHX0lEX0wxRF9NTUFGQ19OQklGX0ZPRV9VUERBVEVfTVNHICovCit0eXBlZGVmIFBBQ0tFRF9QUkVGSVggc3RydWN0Cit7CisgICAgU3lzQWlySW50ZXJmYWNlVCAgSW50ZXJmYWNlOworICAgIGthbF9pbnQzMiAgICAgICAgIEZvZUh6OyAvKiBGT0UgYWRqdXN0ZWQgYnkgUExMLCBpbiBIei4gQSBwb3NpdGl2ZSBGT0UgbWVhbnMgTVMncyBjbG9jayBpcyBmYXN0ZXIgdGhhbiBCUyAqLworCit9IFBBQ0tFRF9QUkVGSVggQ2wxTmJpZkZvZVVwZGF0ZU1zZ1Q7CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIExvY2FsIERlZmluZXMgYW5kIE1hY3JvcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIExvY2FsIFR5cGVkZWZzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgTG9jYWwgVmFyaWFibGVzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgR2xvYmFsIFZhcmlhYmxlcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIExvY2FsIEZ1bmN0aW9uIFByb3RvdHlwZXMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBHbG9iYWwgRnVuY3Rpb24gUHJvdG90eXBlcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK2V4dGVybiB2b2lkIENsMU5iaWZJbml0KHZvaWQpOworZXh0ZXJuIHZvaWQgQ2wxQ2FsY05iaWZSeE9uKENsMU5iaWZSeE9uTXNnVCAqTXNnUGFyYW0pOworZXh0ZXJuIHZvaWQgQ2wxTmJpZkZvZUFkanVzdChDbDFOYmlmRm9lVXBkYXRlTXNnVCAqTXNnUGFyYW0pOworZXh0ZXJuIHZvaWQgQ2wxQ2FsY05iaWZSeE9mZihDbDFOYmlmUnhPZmZNc2dUICpNc2dQYXJhbSk7CisjaWYgKGRlZmluZWQoTVRLX1BMVF9PTl9QQ19JVCkpfHwoZGVmaW5lZChNVEtfQzJLX0wxX1RTVCkpCitleHRlcm4gdm9pZCBDbDFUc3RQaHlVdE5iaWYxQ2FsY0NvZWYoU3lzQWlySW50ZXJmYWNlVCBJbnRlcmZhY2UsIGthbF9pbnQzMiBGU3B1ckh6LCBrYWxfaW50MzIgKk5iaWZBSSwga2FsX2ludDMyICpOYmlmQVEsIGthbF91aW50MzIgKk5iaWZQKTsKKyNlbmRpZgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgQ29kZSBTZWN0aW9uCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICRMb2c6IGwxZG5iaWYuaCAkCisqCisqIDAxIDI0IDIwMTcgeWluZ3FpLmxpdQorKiBbTU9MWTAwMjI2NDAzXSBbQmlhbmNvIEJyaW5nLXVwXVs2MjkzXVtDMktdIE1vZGlmeSBOQklGIGFuZCB0ZXN0IGNvZGUgYWZ0ZXIgUEhZIFVULgorKiAJCisqIAkuCisqCisqIDExIDA5IDIwMTYgc3VlLnpob25nCisqIFtNT0xZMDAyMDg0MzVdIFs2MjkzXVtDMktdU3luYyBDMksgY29kZSB0byBVTU9MWUEgVFJVTksKKyogCQorKiAJVXBkYXRlIEMySyBMMSBzb3VyY2UKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogRW5kIG9mIEZpbGUKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2VuZGlmCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY2wxcmNhcGkuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jbDFyY2FwaS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3ZGE3ZDcKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY2wxcmNhcGkuaApAQCAtMCwwICsxLDEyNSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBfQ0wxX1JDQVBJX0hfCisjZGVmaW5lIF9DTDFfUkNBUElfSF8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIAorKiBGSUxFIE5BTUUgICA6ICAgICBjbDFyY2FwaS5oCisqCisqIERFU0NSSVBUSU9OIDogICBleHRlcm4gUkMgQVBJCisqCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaW5jbHVkZSAiY2wxcmNyZXEuaCIKKworI2lmIGRlZmluZWQoX19GUEdBX18pIHx8IGRlZmluZWQoQ0wxX1JDX0RSVl9EU1BfU0xFRVBfRkxPV19PTkxZKQorI2RlZmluZSBDTDFfUkNfRFJWX0JPT1RVUF9URU1QCisjZW5kaWYKKworI2lmIGRlZmluZWQoTVQ2NzM5KSAvKiBpZiBaSU9OICovCisjZGVmaW5lIEMyS19EVkZTX1RYX0NPTlRST0wKKyNlbmRpZgorCit0eXBlZGVmIGVudW0KK3sKKyAgICBDTDFfUkNfU0VRX1JBS0VfREVBQ1RfTlVMTCwKKyAgICBDTDFfUkNfU0VRX1JBS0VfREVBQ1RfV0FJVCwKKyAgICBDTDFfUkNfU0VRX1JBS0VfREVBQ1RfU0NIRSwKKyAgICBDTDFfUkNfU0VRX1JBS0VfREVBQ1RfRVhFLAorICAgIENMMV9SQ19TRVFfUkFLRV9ERUFDVF9TVEFUX05VTQorfUNsMVJjU2VxUmFrZURlYWN0U3RhdGVUOworCit0eXBlZGVmIGVudW0KK3sKKyAgICBDTDFfUkNfU0VRX1JBS0VfREVBQ1RfUkNPRkZfRVZULAorICAgIENMMV9SQ19TRVFfUkFLRV9ERUFDVF9EMkJJRk9GRl9FVlQsCisgICAgQ0wxX1JDX1NFUV9SQUtFX0RFQUNUX0NMUl9FVlQsCisgICAgQ0wxX1JDX1NFUV9SQUtFX0RFQUNUX0VWVF9OVU0KK31DbDFSY1NlcVJha2VEZWFjdEV2dFQ7CisKK2V4dGVybiB2b2lkIENsMVJjSW5pdCh2b2lkKTsKKworZXh0ZXJuIHZvaWQgQ2wxUmNSZXFJbml0KHZvaWQpOworCitleHRlcm4gdm9pZCBDbDFTaFJjU2VxUnR0UGVyaW9kaWNhbFRyaWdnZXIodm9pZCk7CisKK2V4dGVybiB2b2lkIENsMVNoUmNTZXFFdmRvUGVyaW9kaWNhbFRyaWdnZXIodm9pZCk7CisKKyNpZiAoZGVmaW5lZChfX01US19UQVJHRVRfXykmJihkZWZpbmVkKF9fTUQ5N19fKXx8ZGVmaW5lZChfX01EOTdQX18pKSYmZGVmaW5lZChDTDFfUkNfRFJWX0JPT1RVUF9URU1QKSkgfHwgKGRlZmluZWQoTVQ2NzYzKXx8ZGVmaW5lZChNVDY3MzkpKQorZXh0ZXJuIHZvaWQgQ2wxUmNkRm9yY2VBbGxPbih2b2lkKTsKKyNlbmRpZgorCisjaWYgZGVmaW5lZChfX01EOTNfXyl8fGRlZmluZWQoX19NRDk1X18pCitleHRlcm4gdm9pZCBDbDFSY2RUeFJjT25Oc2Z0TW9kZSh2b2lkKTsKKyNlbmRpZgorCitleHRlcm4ga2FsX3VpbnQ4IENsMVJjUmVxUnhPbihDbDFSY1JlcVJ4T25UICpSeE9uKTsKKworZXh0ZXJuIHZvaWQgQ2wxUmNSZXFSeE9mZihDbDFSY1JlcVJ4T2ZmVCAqUnhPZmYpOworCitleHRlcm4ga2FsX3VpbnQ4IENsMVJjUmVxVHhPbihDbDFSY1JlcVR4T25PZmZUICpUeE9uKTsKKworZXh0ZXJuIHZvaWQgQ2wxUmNSZXFUeE9mZihDbDFSY1JlcVR4T25PZmZUICpUeE9mZik7CisKK2V4dGVybiB2b2lkIENsMVJjUmVxU2NoT2ZmKENsMVJjUmVxU2NoT2ZmVCAqU2NoT2ZmKTsKKworZXh0ZXJuIHZvaWQgQ2wxUmNVdGlsR2V0UmZPblRpbWUoQ2wxUmNSZXFSeE9uVCAqUnhPbixTeXNTRnJhbWVUaW1lVCAqIFJmQWN0aW9uVGltZSk7CisKK2V4dGVybiB2b2lkIENsMVNoUmNSYWtlT2ZmVHJpZ2dlcihTeXNBaXJJbnRlcmZhY2VUIE1vZGUpOworCitleHRlcm4gdm9pZCBDbDFSY2RSYWtlT2ZmKFN5c0FpckludGVyZmFjZVQgTW9kZSk7CisKK2V4dGVybiB2b2lkIENsMVJjZEh3SW5pdCh2b2lkKTsKKworZXh0ZXJuIHZvaWQgQ2wxUmNkQnJwc3lzRHZpdFJlc2V0KFN5c0FpckludGVyZmFjZVQgTW9kZSk7CisKK2V4dGVybiB2b2lkIENsMVJjU2VxUmFrZURlYWN0U2NoZWR1bGUoU3lzQWlySW50ZXJmYWNlVCBNb2RlLCBDbDFSY1NlcVJha2VEZWFjdEV2dFQgRXZ0KTsKKworZXh0ZXJuIHZvaWQgQ2wxUmNkQnJwc3lzVHVyYm9SZXNldChTeXNBaXJJbnRlcmZhY2VUIE1vZGUpOworCitleHRlcm4gdm9pZCBDbDFSY1V0aWxSZk9uTWVyZ2VOb3RpZmljYXRpb24oU3lzQWlySW50ZXJmYWNlVCBNb2RlKTsKKworZXh0ZXJuIHZvaWQgQ2wxUmNkUGFydGlhbEJ5cGFzc0NvbmYoU3lzQWlySW50ZXJmYWNlVCBNb2RlLCBrYWxfdWludDMyIENvbmYxLCBrYWxfdWludDMyIENvbmYyLCBrYWxfdWludDMyIENvbmYzKTsKKworZXh0ZXJuIHZvaWQgQ2wxUmNSZXFNb2RlbUR2ZnNTY2VuU2V0KFN5c0FpckludGVyZmFjZVQgTW9kZSwgQ2wxUmNSZXFNb2RlbUR2ZnNVc3JUIFVzciwgQ2wxUmNkRHZmc1NjZW5UIFNjZW4pOworCitleHRlcm4gdm9pZCBDbDFSY1JlcU1vZGVtRHZmc1NjZW5DYW5jZWwoU3lzQWlySW50ZXJmYWNlVCBNb2RlLCBDbDFSY1JlcU1vZGVtRHZmc1VzclQgVXNyKTsKKworZXh0ZXJuIHZvaWQgQ2wxUmNkQ3NzeXNTcmFtT25PZmYoU3lzQWlySW50ZXJmYWNlVCBNb2RlLGthbF9ib29sIE9mZik7CisjZW5kaWYKKworCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY2wxcmNyZXEuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jbDFyY3JlcS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE2YTdlMTUKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY2wxcmNyZXEuaApAQCAtMCwwICsxLDI5OSBAQAorIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLiAKKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9DTDFfUkNfUkVRX0hfCisjZGVmaW5lIF9DTDFfUkNfUkVRX0hfCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAKKyogRklMRSBOQU1FICAgOiAgICAgY2wxcmNyZXEuaAorKgorKiBERVNDUklQVElPTiA6ICAgVGhpcyBmaWxlIGNvbnRhaW5zIGRhdGEgdHlwZSBkZWZpbml0aW9ucyBhYm91dCBSQyBSZXEKKyoKKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLypFc3NlbnRpYWwgRGVmaW5pdGlvbnMqLworI2luY2x1ZGUgICJzeXNkZWZzLmgiCisjaW5jbHVkZSAgInN5c2FwaS5oIgorI2luY2x1ZGUgICJzeXNmcmMuaCIKKyNpbmNsdWRlICAiY2wxZnIuaCIKKyNpbmNsdWRlICAiY2wxZmhydGJhZGVmcy5oIgorI2luY2x1ZGUgICJjbDFmaHJ0YmFjb25zdGFudC5oIgorI2luY2x1ZGUgICJoc2NhcGkuaCIKKworI2lmIGRlZmluZWQoTVRLX0RFVl85M01fUFJFSVQpICYmIGRlZmluZWQoTVRLX1BMVF9PTl9QQykgJiYgZGVmaW5lZChNVEtfUExUX09OX1BDX0lUKSAmJiBkZWZpbmVkKE1US19ERVZfOTNNX0MyS19MMV9VVCkKKyNkZWZpbmUgQ0wxX1JDX1VOSVRfVEVTVAorI2VuZGlmCisKKyNpZmRlZiAgQ0wxX1JDX1VOSVRfVEVTVAorI2RlZmluZSBNX0NMMV9SQ19VVF9MT0coYSxiKSAgQ2wxUmNVdExvZ2dpbmdCaXRtYXAoYSxiKQorI2Vsc2UKKyNkZWZpbmUgTV9DTDFfUkNfVVRfTE9HKGEsYikKKyNlbmRpZgorCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEZFQVRVUkVTIE1BQ1JPUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLypEZWZpbmUgdGhpcyBtYWNybyB0byBlbmFibGUgZmxvdyBvbmx5LCBubyByY2QgZnVuY3Rpb24gaW52b2tlZCovCisvKiNkZWZpbmUgQ0wxX1JDX1JFUV9TRVFfRkxPV19PTkxZICgwKSovCisKKy8qRGVmaW5lIHRoaXMgbWFjcm8gdG8gZW5hYmxlIHBvd2VyIGNvbnRyb2wsIGJ1dCByZWFsIGFwaSB3aWxsIGJlIHJlZGVmaW5lZCBhcyBkdW1teSBmdW5jdGlvbiovCisvKiNkZWZpbmUgQ0wxX1JDX0RSVl9QV1JfQ1RSTF9GTE9XX09OTFkgKDEpKi8KKworLypEZWZpbmUgdGhpcyBtYWNybyB0byBlbmFibGUgY2xvY2sgY29udHJvbCwgYnV0IG5vIHJlYWwgaHcgd2lsbCBiZSBhY2Nlc3NlZCBpZiB0aGlzIGlzIG1hY3JvIGRlZmluZWQqLworLyojZGVmaW5lIENMMV9SQ19EUlZfQ0xLX0NUUkxfRkxPV19PTkxZICgyKSovCisKKy8qRGVmaW5lIHRoaXMgbWFjcm8gdG8gZW5hYmxlIHNyYW0gY29udHJvbCwgYnV0IG5vIHJlYWwgaHcgd2lsbCBiZSBhY2Nlc3NlZCBpZiB0aGlzIGlzIG1hY3JvIGRlZmluZWQqLworLyojZGVmaW5lIENMMV9SQ19EUlZfU1JBTV9DVFJMX0ZMT1dfT05MWSAoMykqLworCisvKkRlZmluZSB0aGlzIG1hY3JvIHRvIGVuYWJsZSBtb2RlbSBkdmZzLCBzaG91bGQgYmUgY29tcGF0aWJsZSB3aXRoIHRoZSBmbG93IG9ubHkgb3B0aW9uIGVuYWJsZWQgaW4gZHZmcyBkcml2ZXIqLworLyojZGVmaW5lIENMMV9SQ19EUlZfTU9ERU1fRFZGU19GTE9XX09OTFkgKDQpKi8KKworLypEZWZpbmUgdGhpcyBtYWNybyB0byBlbmFibGUgZHNwIHNsZWVwIGZsb3cgY29udHJvbCwgYnV0IHJlYWwgYXBpIHdpbGwgYmUgcmVkZWZpbmVkIGFzIGR1bW15IGZ1bmN0aW9uKi8KKy8qICNkZWZpbmUgQ0wxX1JDX0RSVl9EU1BfU0xFRVBfRkxPV19PTkxZICg1KSAqLworCisvKkRlZmluZSB0aGlzIG1hY3JvIHRvIGVuYWJsZSBkc3Agc2xlZXAgZmxvdyBjb250cm9sLCBidXQgcmVhbCBhcGkgd2lsbCBiZSByZWRlZmluZWQgYXMgZHVtbXkgZnVuY3Rpb24qLworLyogI2RlZmluZSBDTDFfUkNfRFJWX0RTUF9ERExfRkxPV19PTkxZICg2KSAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogTG9jYWwgQ29uc3QgRGVmaW5pdGlvbnMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNkZWZpbmUgQ0wxX1JDX1BDR19EVVJBVElPTiAoMTUzNiA8PCAzKQorI2RlZmluZSBDTDFfUkNfU0xPVF9EVVJBVElPTiAoMjA0OCA8PCAzKQorCisjZGVmaW5lIENMMV9SQ19TRlJBTUVfUENHX05VTSAoNjQpCisjZGVmaW5lIENMMV9SQ19TRlJBTUVfU0xPVF9OVU0gKDQ4KQorCisvKkRETCBkdXJhdGlvbiBpbiAxLzggY2hpcCB1bml0Ki8KKyNkZWZpbmUgQ0wxX1JDX0ZFQ19SWF9ERExfRFVSQVRJT04gKDgzNTYpICAgICAgLyp1bml0IGlzIDEvOCBjaGlwKi8KKyNkZWZpbmUgQ0wxX1JDX0ZFQ19UUlhfRERMX0RVUkFUSU9OICg5MzM5KSAgICAgIC8qdW5pdCBpcyAxLzggY2hpcCovCisjZGVmaW5lIENMMV9SQ19SQUtFX01EMzJfRERMX0RVUkFUSU9OICg0NzI2MikgICAgIC8qdW5pdCBpcyAxLzggY2hpcCovCisKKy8qRGlmZmVyZW50IHBlcmlvZCB0byByZXR1cm4gdG8gQXJiaXRlciB0byBoZWxwIGRlY2lkZSBob3cgbWFueSBUU3MgdG8gcHJvdGVjdCovCisjZGVmaW5lIENMMV9SQ19SRVFfVFhPTl9QRVJJT0QgKDMpCisKKy8qIFRoaXMgbWFjcm8gdXNlZCBmb3IgUkMgaW50ZXJuYWwgVHggb2ZmIGZsb3cgc2NoZWR1bGUsIHZhbHVlIDMgaXMgdG8gZ3VhcmFudGVlIHRoYXQgdHVybiBvZmYgVHggUkMgSFcgYWZ0ZXIgVHggcGF0aCBvZmYgKi8KKyNkZWZpbmUgQ0wxX1JDX1JFUV9UWE9GRl9ERUxBWV9QRVJJT0QgICAgICAoMykgLyogMyBsb3RzICovCisKKyNkZWZpbmUgQ0wxX1JDX1JFUV9FVkRPX1RYT0ZGX0RFTEFZX0RVUkFUSU9OICAgICAgIChDTDFfUkNfUkVRX1RYT0ZGX0RFTEFZX1BFUklPRCoxNjY2KSAvKiAzKjE2NjY9NDk5OHVzLCBFVkRPIHNsb3Q6MTY2NnVzICovCisjZGVmaW5lIENMMV9SQ19SRVFfMVhSVFRfVFhPRkZfREVMQVlfRFVSQVRJT04gICAgICAoQ0wxX1JDX1JFUV9UWE9GRl9ERUxBWV9QRVJJT0QqMTI1MCkgLyogMyoxMjUwPTM3NTB1cywgMXhSVFQgc2xvdDoxMjUwdXMgKi8KKworI2lmIChDTDFfUkNfUkVRX0VWRE9fVFhPRkZfREVMQVlfRFVSQVRJT04pID4gKENMMV9JRl9FVkRPX1JDX1JFUV9UWE9GRl9ERUxBWSoxMDAwKQorI2Vycm9yICgiQ0wxX1JDX1JFUV9FVkRPX1RYT0ZGX0RFTEFZX0RVUkFUSU9OKSA+IChDTDFfSUZfRVZET19SQ19SRVFfVFhPRkZfREVMQVkqMTAwMCIpCisjZW5kaWYgCisKKyNpZiAoQ0wxX1JDX1JFUV8xWFJUVF9UWE9GRl9ERUxBWV9EVVJBVElPTikgPiAoQ0wxX0lGXzFYUlRUX1JDX1JFUV9UWE9GRl9ERUxBWSoxMDAwKQorI2Vycm9yICgiQ0wxX1JDX1JFUV8xWFJUVF9UWE9GRl9ERUxBWV9EVVJBVElPTikgPiAoQ0wxX0lGXzFYUlRUX1JDX1JFUV9UWE9GRl9ERUxBWSoxMDAwIikKKyNlbmRpZgorCisvKlRoZSBtYXhpbXVtIGxlbmd0aCBvZiB0aGUgcmVxdWVzdCBxdWV1ZSovCisjZGVmaW5lIENMMV9SQ19SRVFfUURFUFRIICAgICAgICAgICAgICAgICgyKQorCisvKklmIHRoZSBvbmdvaW5nIGlzIDB4RkYsIHRoZSBxdWV1ZSBpcyBlbXB0eSovCisjZGVmaW5lIENMMV9SQ19SRVFfUUVNUFRZICAgICAgICAgICAgICAgICgweEZGKQorCisvKk1hZ2ljIG51bWJlciBmb3Igb3B0aW1pemUgZGl2MyovCisjZGVmaW5lIENMMV9SQ19ESVYzX01BR0lDX05VTSAgICAoMHhBQUFBQUFBQikKKworI2RlZmluZSBDTDFfUkNfRElWMyhOdW0pICAgICgoa2FsX3VpbnQzMikoKCgoa2FsX3VpbnQ2NCkoTnVtKSkqQ0wxX1JDX0RJVjNfTUFHSUNfTlVNKSA+PiAzMykpCisKKyNkZWZpbmUgQ2wxUmNSZXFFY2hpcE9mZnNldDJUc051bShNb2RlLCBFY2hpcE9mZnNldCkgKFN5c0ZyYW1lU2l6ZUlzMjZtcyhNb2RlKT8gKChFY2hpcE9mZnNldCkgPj4gMTQpOihDTDFfUkNfRElWMyhFY2hpcE9mZnNldCA+PiAxMikpKQorCisjZGVmaW5lIENsMVJjUmVxR2V0VHNMZW5ndGgoTW9kZSkgKFN5c0ZyYW1lU2l6ZUlzMjZtcyhNb2RlKT8gQ0wxX1JDX1NMT1RfRFVSQVRJT04gOiBDTDFfUkNfUENHX0RVUkFUSU9OKQorCisjZGVmaW5lIENMMV9SQ19SRVFfRkVDX0hSVF9NQVJHSU4gICAgMTk2NiAvKigyMDAqNjE0NC82MjUpKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBMb2NhbCBFbnVtZXJhdGlvbnMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3R5cGVkZWYgZW51bQoreworICAgIENMMV9SQ19TRVFfR1JPVVBfVFlQRV9SWCwKKyAgICBDTDFfUkNfU0VRX0dST1VQX1RZUEVfVFgsCisgICAgQ0wxX1JDX1NFUV9HUk9VUF9UWVBFX05VTQorfUNsMVJjU2VxR3JwVHlwZVQ7CisKKy8qRGlmZmVyZW50IHR5cGUgd2lsbCBsZWFkIHRvIGRpZmZlcmVudCBSWCBPTiBSQ3NlcXVlbmNlKi8KK3R5cGVkZWYgZW51bQoreworICAgIENMMV9SQ19SRVFfUlhPTl9TQ0hPTkxZLAorICAgIENMMV9SQ19SRVFfUlhPTl9DSEFOTkVMUlgsCisgICAgQ0wxX1JDX1JFUV9SWE9OX1NUREJZTUVBUywKKyAgICBDTDFfUkNfUkVRX1JYT05fVFlQRU5VTQorfUNsMVJjUmVxUnhPblR5cGVUOworCisvKkRpZmZlcmVudCB0eXBlIG1lYW5zIGRpZmZlcmVudCByZXNvdXJjZSB0byBPRkYqLwordHlwZWRlZiBlbnVtCit7CisgICAgQ0wxX1JDX1JFUV9SWE9GRl9TQ0hPTkxZLAorICAgIENMMV9SQ19SRVFfUlhPRkZfQ0hBTk5FTFJYLAorICAgIENMMV9SQ19SRVFfUlhPRkZfVFlQRU5VTQorfUNsMVJjUmVxUnhPZmZUeXBlVDsKKworLypEaWZmZXJlbnQgZW51bSBtZWFucyBkaWZmZXJlbnQgcmVjZWl2ZXIgb2YgUkMgT0ZGIENPTVBMRVRFIEVWRU5UKi8KK3R5cGVkZWYgZW51bSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoreyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgQ0wxX1JDX1JFUV9PRkZfQ09NUExFVEVfTk9JTkQgPSAwLCAgICAgICAgICAgICAgICAgICAgICAvKk5vIG5lZWQgdG8gc2VuZCBpbmRpY2F0aW9uIGFmdGVyIFJDIE9GRiBjb21wbGV0ZSovCisgICAgQ0wxX1JDX1JFUV9PRkZfQ09NUExFVEVfMlJJLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKlNlbmQgaW5kaWNhdGlvbiB0byBzbGVlcCBSSSBhZnRlciBSQyBPRkYgY29tcGxldGUqLworICAgIENMMV9SQ19SRVFfT0ZGX0NPTVBMRVRFXzJOT1JNQUwsICAgICAgICAgICAgICAgICAgICAgICAgLypTZW5kIGluZGljYXRpb24gdG8gRlQgYWZ0ZXIgUkMgT0ZGIGNvbXBsZXRlKi8KKyAgICBDTDFfUkNfUkVRX09GRl9DT01QRUxURV9UWVBFX05VTQorfUNsMVJjUmVxRW5kSW5kVDsKKwordHlwZWRlZiBlbnVtCit7CisgICAgQ0wxX1JDX1JFUV9QQVJBTExFTCwKKyAgICBDTDFfUkNfUkVRX0NBTkNFTF9PTkdPSU5HLAorICAgIENMMV9SQ19SRVFfUEVORCwKKyAgICBDTDFfUkNfUkVRX0lOVkFMSUQsCisgICAgQ0wxX1JDX1JFUV9NRVJHRSwKKyAgICBDTDFfUkNfUkVRX0FSQl9OVU0KK31DbDFSY1JlcUFyYlQ7CisKK3R5cGVkZWYgZW51bQoreworICAgIENMMV9SQ19SRVFfUlhPTiwKKyAgICBDTDFfUkNfUkVRX1JYT0ZGLAorICAgIENMMV9SQ19SRVFfVFhPTiwKKyAgICBDTDFfUkNfUkVRX1RYT0ZGLAorICAgIENMMV9SQ19SRVFfU0NIT0ZGLAorICAgIENMMV9SQ19SRVFfVFlQRU5VTQorfUNsMVJjUmVxVHlwZVQ7CisKK3R5cGVkZWYgZW51bQoreworICAgIENMMV9SQ19SRVFfTU9ERU1fRFZGU19TRVRfUkMsCisgICAgQ0wxX1JDX1JFUV9NT0RFTV9EVkZTX1NFVF9ITCwKKyAgICBDTDFfUkNfUkVRX01PREVNX0RWRlNfU0VUX05VTSwKK31DbDFSY1JlcU1vZGVtRHZmc1VzclQ7CisKK3R5cGVkZWYgZW51bQoreworICAgIENMMV9SQ0RfRFZGU19TQ0VOX0RFRkFVTFQsCisgICAgQ0wxX1JDRF9EVkZTX1NDRU5fQ0hBTk5FTFRYLAorICAgIENMMV9SQ0RfRFZGU19TQ0VOX0NIQU5ORUxSWCwKKyAgICBDTDFfUkNEX0RWRlNfU0NFTl9TQ0hPTkxZLAorICAgIENMMV9SQ0RfRFZGU19TQ0VOX05VTQorfUNsMVJjZER2ZnNTY2VuVDsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIExvY2FsIFN0cnVjdHVyZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qRGVmaW5lIHRoZSBSWCBPTiByZXF1ZXN0Ki8KK3R5cGVkZWYgc3RydWN0IAoreworICAgIFJ0YmFSY1RpbWluZ1R5cGVUICAgICBSdGJUaW1pbmc7CisgICAga2FsX2Jvb2wgICAgICAgICAgICAgIFJha2VEZGxJbmQ7ICAgICAgICAgICAgICAgLypGYWxzZTogTmVlZCBub3QgdG8gZG8gUmFrZSBEREw7IFRydWU6IE5lZWQgdG8gZG8gUmFrZSBEREwqLworICAgIGthbF9ib29sICAgICAgICAgICAgICBSY0NvdG5yb2w7ICAgICAgICAgICAgICAgIC8qRmFsc2U6IFJGIG9wZXJhdGlvbiBvbmx5OyBUUlVFOiBSRiBvcGVyYXRpb24gd2l0aCBSQyBvcGVyYXRpb247Ki8KKyAgICBTeXNBaXJJbnRlcmZhY2VUICAgICAgTW9kZTsKK31DbDFSY1JlcVJ4T25UOworCisvKkRlZmluZSB0aGUgUlggT0ZGIHJlcXVlc3QqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBTeXNTRnJhbWVUaW1lVCAgICAgICAgRXZlbnRUaW1lOworICAgIENsMVJjUmVxRW5kSW5kVCAgICAgICBFbmRJbmRpY2F0aW9uOworICAgIFN5c0FpckludGVyZmFjZVQgICAgICBNb2RlOworfUNsMVJjUmVxUnhPZmZUOworCisvKkRlZmluZSB0aGUgVFggT04vT0ZGIHJlcXVlc3QqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBTeXNTRnJhbWVUaW1lVCAgICAgICAgRXZlbnRUaW1lOworICAgIGthbF9ib29sICAgICAgICAgICAgICBUeEZvckFjY2VzczsKKyAgICBTeXNBaXJJbnRlcmZhY2VUICAgICAgTW9kZTsKK31DbDFSY1JlcVR4T25PZmZUOworCisvKkEgZnVuYyBwdHIgd2hpY2ggc2hvdWxkIHBvb2ludCB0byB0aGUgZnVuY3Rpb24gYnkgd2hpY2ggd2UgY2FuIGp1ZGdlIHdoZXRoZXIgU0NIIHBvc3QgcHJvY2VzcyBpcyBvbmdvaW5nKi8KK3R5cGVkZWYga2FsX2Jvb2wgKCpDbDFSY1NjaFBvc3RQcm9jU3RhdHVzRnVuY1B0cikodm9pZCk7CisKKy8qRGVmaW5lIHRoZSBTQ0ggT0ZGIHJlcXVlc3QqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBTeXNBaXJJbnRlcmZhY2VUICAgICAgTW9kZTsKK31DbDFSY1JlcVNjaE9mZlQ7CisKKy8qIFJYL1RYIFJlcSBEYXRhIFN0b3JlZCAqLworCisvKkRlZmluZSB0aGlzIHVuaW9uIHRvIG1lcmdlIHRoZSB0d28ga2luZHMgb2YgcmVxdWVzdCB0byBzaW1wbGlmeSBkYXRhIG1hbmFnZSBhbmQgc2F2ZSBtZW1vcnkqLwordHlwZWRlZiB1bmlvbgoreworICAgIENsMVJjUmVxUnhPblQgUnhPblJlcTsKKyAgICBDbDFSY1JlcVJ4T2ZmVCBSeE9mZlJlcTsKK31DbDFSY1JlcVJ4T25PZmZUOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIENsMVJjUmVxVHlwZVQgUmNSZXFUeXBlOworICAgIENsMVJjUmVxUnhPbk9mZlQgUmNSZXFJbmZvOworfUNsMVJjUmVxUnhPbk9mZkluZm9UOworCisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgQ2wxUmNSZXFSeE9uT2ZmSW5mb1QgQ2wxUmNSZXFSeFFbQ0wxX1JDX1JFUV9RREVQVEhdOworICAgIGthbF91aW50OCBPbmdvaW5nOworICAgIGthbF9ib29sIFBlbmRpbmc7Cit9Q2wxUmNSZXFSeE9uT2ZmSW5mb1F1ZVQ7CisKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBDbDFSY1JlcVR5cGVUIFJjUmVxVHlwZTsKKyAgICBDbDFSY1JlcVR4T25PZmZUIFJjUmVxSW5mbzsKK31DbDFSY1JlcVR4T25PZmZJbmZvVDsKKworCit0eXBlZGVmIHN0cnVjdAoreworICAgIENsMVJjUmVxVHhPbk9mZkluZm9UIENsMVJjUmVxVHhRW0NMMV9SQ19SRVFfUURFUFRIXTsKKyAgICBrYWxfdWludDggT25nb2luZzsKKyAgICBrYWxfYm9vbCBQZW5kaW5nOworfUNsMVJjUmVxVHhPbk9mZkluZm9RdWVUOworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBSY1JlcSBpbnRlcm5hbCBmdW5jdGlvbnMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIENsMVJjUmVxSW5pdCh2b2lkKTsKK3ZvaWQgQ2wxUmNUZXN0RERMU3RhcnQodm9pZCk7CisKKy8vdm9pZCBDbDFSY1JlcVJ4T25QYXJzZShDbDFSY1JlcVJ4T25UICpSeE9uLCBDbDFSY1NlcVJ4UGFyYVQgKlJjU2VxKTsKKworLy92b2lkIENsMVJjUmVxUnhPZmZQYXJzZShDbDFSY1JlcVJ4T2ZmVCAqUnhPZmYsIENsMVJjU2VxUnhQYXJhVCAqUmNTZXEpOworCitrYWxfYm9vbCBDbDFSY1JlcVJ4RW5xdWUoQ2wxUmNSZXFSeE9uT2ZmSW5mb1F1ZVQgKkluZm9RLCBDbDFSY1JlcVR5cGVUIFJjUmVxVHlwZSwgQ2wxUmNSZXFSeE9uT2ZmVCAqUmVxSW5mbyk7CisKK3ZvaWQgQ2wxUmNSZXFNb2RlbUR2ZnNTY2VuU2V0KFN5c0FpckludGVyZmFjZVQgTW9kZSwgQ2wxUmNSZXFNb2RlbUR2ZnNVc3JUIFVzciwgQ2wxUmNkRHZmc1NjZW5UIFNjZW4pOworCit2b2lkIENsMVJjUmVxTW9kZW1EdmZzU2NlbkNhbmNlbChTeXNBaXJJbnRlcmZhY2VUIE1vZGUsIENsMVJjUmVxTW9kZW1EdmZzVXNyVCBVc3IpOworCisjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NsMXNocmFkYXJiLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY2wxc2hyYWRhcmIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MjE0M2NkCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NsMXNocmFkYXJiLmgKQEAgLTAsMCArMSw4OCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NMMV9TSF9SQURfQVJCX0hfCisjZGVmaW5lIF9DTDFfU0hfUkFEX0FSQl9IXworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogCisqIEZJTEUgTkFNRSAgIDogICAgIGNsMXNocmFkYXJiLmgKKyoKKyogREVTQ1JJUFRJT04gOiAgIFJhZGlvIGFyYml0ZXIgIGludGVyZmFjZSBkZWZpbmF0aW9uCisqCisqIEhJU1RPUlkgICAgIDoKKyogICAgIFNlZSBMb2cgYXQgZW5kIG9mIGZpbGUKKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworCisjaW5jbHVkZSAiY2wxc2hyZmMuaCIKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgR2xvYmFsIERlZmluZXMgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworCit0eXBlZGVmIFJmY0FjdGlvblQgUmFkQXJiQWN0aW9uVDsKKyAKK3R5cGVkZWYgUmZjQWN0aW9uVGltZVQgUmFkQXJiQWN0aW9uVGltZVQ7CisKK3R5cGVkZWYgIFJmY0FjdGlvblJlcVQgUmFkQXJiUmVxUmZUOworCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEdsb2JhbCBEYXRhCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgR2xvYmFsIFZhcmlhYmxlcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEdsb2JhbCBGdW5jdGlvbiBQcm90b3R5cGVzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KK3ZvaWQgQ2wxU2hBcmJJbml0KHZvaWQpOwordm9pZCBDbDFTaEFyYlRhc2tUeFJmUmVxIChSYWRBcmJSZXFSZlQgKlJhZEFyYlJlcVJmUHRyKTsKK3ZvaWQgQ2wxU2hBcmJGclRpY2tSZlJlcShSYWRBcmJSZXFSZlQgKlJhZEFyYlJlcVJmUHRyKTsKK3ZvaWQgQ2wxU2hBcmJNYWluKCBTeXNBaXJJbnRlcmZhY2VUIEludGVyZmFjZSk7Cit2b2lkIENsMVNoQXJiRXZ0SGFuZGxlcihrYWxfdWludDggKkRhdGFQdHIpOwordm9pZCBDbDFTaEFyYlNoUmZSZHlJbmQgKFN5c0FpckludGVyZmFjZVQgSW50ZXJmYWNlKTsKK3ZvaWQgQ2wxU2hBcmJDbGVhckZyZWV6ZVJlcShTeXNBaXJJbnRlcmZhY2VUIEludGVyZmFjZSk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBFbmQgb2YgRmlsZQorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjZW5kaWYKKworCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY2wxc2hyYWtlYXJiLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY2wxc2hyYWtlYXJiLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWNjMmVlNwotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jbDFzaHJha2VhcmIuaApAQCAtMCwwICsxLDExMiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NMMV9TSF9SQUtFX0FSQl9IXworI2RlZmluZSBfQ0wxX1NIX1JBS0VfQVJCX0hfCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAKKyogRklMRSBOQU1FICAgOiAgICAgY2wxc2hyYWtlYXJiLmgKKyoKKyogREVTQ1JJUFRJT04gOiAgIFNIUkggUkFLRSAgYXJiaXRlciAgaW50ZXJmYWNlIGRlZmluYXRpb24KKyoKKyogSElTVE9SWSAgICAgOgorKiAgICAgU2VlIExvZyBhdCBlbmQgb2YgZmlsZSAKKyoKKyogQXV0aG9yOiBWaW5jZW50CisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKworI2luY2x1ZGUgImNsMXNocmZjLmgiCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEdsb2JhbCBEZWZpbmVzIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisjZGVmaW5lIENMMV9SQUtFX0FDVElWRV9NT0RFXzFYIAkoMHgwMSkKKyNkZWZpbmUgQ0wxX1JBS0VfQUNUSVZFX01PREVfRE8gCSgweDAyKQorI2RlZmluZSBDTDFfUkFLRV9BQ1RJVkVfTU9ERV9CT1RIIAkoMHgwMykKKyNkZWZpbmUgQ0wxX1JBS0VfQUNUSVZFX01PREVfTlVMTCAJKDB4MDApCisKK3R5cGVkZWYgZW51bQoreworICAgQ0wxX1JBS0VfQVJCX1JFVF9OVUxMID0gMCwJCQkgIAorICAgQ0wxX1JBS0VfQVJCX1JFVF9PTl9GSVJTVCwKKyAgIENMMV9SQUtFX0FSQl9SRVRfT05fMk5ELAorICAgQ0wxX1JBS0VfQVJCX1JFVF9PRkZfTEFTVCwKKyAgIENMMV9SQUtFX0FSQl9SRVRfT0ZGX0ZJUlNULAorICAgQ0wxX1JBS0VfQVJCX1JFVF9NQVgKK30gQ2wxU2hSYWtlQXJiUmV0OworCit0eXBlZGVmIGVudW0KK3sKKyAgIENMMV9SQUtFX0FSQl9FVlRfUFJFX09OID0gMCwgCQkJCisgICBDTDFfUkFLRV9BUkJfRVZUX09OLAorICAgQ0wxX1JBS0VfQVJCX0VWVF9PRkYsCisgICBDTDFfUkFLRV9BUkJfRVZUX09GRl9XSVJDLAorICAgQ0wxX1JBS0VfQVJCX0VWVF9NQVgKK30gQ2wxU2hSYWtlQXJiRXZlbnRUeXBlOworCit0eXBlZGVmIGVudW0KK3sKKyAgIENMMV9SQUtFX0FSQl9TVF9OVUxMID0gMCwgICAgICAgICAgICAgCisgICBDTDFfUkFLRV9BUkJfU1RfUFJFT04sCisgICBDTDFfUkFLRV9BUkJfU1RfUFJFT05fUFJFT04sCisgICBDTDFfUkFLRV9BUkJfU1RfT04sCisgICBDTDFfUkFLRV9BUkJfU1RfT05fUFJFT04sCisgICBDTDFfUkFLRV9BUkJfU1RfT05fT04sCisgICBDTDFfUkFLRV9BUkJfU1RfTUFYCit9IENsMVNoUmFrZUFyYkludGVyU3RhdGVUOworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBHbG9iYWwgRGF0YQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEdsb2JhbCBWYXJpYWJsZXMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBHbG9iYWwgRnVuY3Rpb24gUHJvdG90eXBlcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCit2b2lkIENsMVNoUmFrZUFyYkluaXQodm9pZCk7CitDbDFTaFJha2VBcmJSZXQgQ2wxU2hSYWtlQXJiKFN5c0FpckludGVyZmFjZVQgbW9kZSxDbDFTaFJha2VBcmJFdmVudFR5cGUgZXZlbnQpOworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBFbmQgb2YgRmlsZQorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjZW5kaWYvKl9DTDFfU0hfUkFLRV9BUkJfSF8qLworCisKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jbDFzaHJmYy5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NsMXNocmZjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjJkZmZmNQotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jbDFzaHJmYy5oCkBAIC0wLDAgKzEsMjk0IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfQ0wxX1NIX1JGQ19IXworI2RlZmluZSBfQ0wxX1NIX1JGQ19IXworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogCisqIEZJTEUgTkFNRSAgIDogICAgIGNsMXNocmZjLmgKKyoKKyogREVTQ1JJUFRJT04gOiAgIFJGIGNvbnRyb2wgIGludGVyZmFjZSBkZWZpbmF0aW9uCisqCisqIEhJU1RPUlkgICAgIDoKKyogICAgIFNlZSBMb2cgYXQgZW5kIG9mIGZpbGUKKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworCisjaW5jbHVkZSAia2FsX3B1YmxpY19hcGkuaCIKKyNpbmNsdWRlICJzeXNhcGkuaCIKKyNpbmNsdWRlICJjbDFyY2FwaS5oIgorI2lmICghZGVmaW5lZChfX01EOTNfXykpICYmICghZGVmaW5lZChfX01EOTVfXykpCisjaW5jbHVkZSAiLi4vcmZkL2NsMV9yZl90YXNfcHVibGljLmgiCisjaW5jbHVkZSAiY2wxZF9yZl9jb21tb25fZGVmcy5oIgorI2VuZGlmCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEdsb2JhbCBEZWZpbmVzIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisvKiBQbGwgc2V0dGxpbmcgdGltZSBJbiBFY2hpcCwgVEJELCB3b3VsZCBiZSByZXBsYWNlZCBieSBSRkQgaW50ZXJmYWNlKi8KKyNkZWZpbmUgUkZDX1BMTF9USU1fRUNISVAgICAgICAgICAoMjQ2KjgpCisKKyNpZiBkZWZpbmVkKCBfX01EOTNfXyl8fGRlZmluZWQoIF9fTUQ5NV9fKQorI2RlZmluZSBSRkNfRE9fUlhQQVRIX0RFTEFZICAgICAgICgxMjgpCisjZWxzZQorI2lmIGRlZmluZWQoTVQ2Mjk3KQorI2RlZmluZSBSRkNfRE9fUlhQQVRIX0RFTEFZICAgICAgICgyMTMpCisjZWxpZiBkZWZpbmVkKE1UNjg4NSkgfHwgZGVmaW5lZChNVDY4NzMpCisjZGVmaW5lIFJGQ19ET19SWFBBVEhfREVMQVkgICAgICAgKDE5MykKKyNlbHNlCisjZGVmaW5lIFJGQ19ET19SWFBBVEhfREVMQVkgICAgICAgKDE5MykKKyNlbmRpZgorI2VuZGlmCisKKy8qKkZvciBNRDkzIGFuZCBNRDk1LCB0aGUgUkZDX1JUVF9UUlhQQVRIX0RFTEFZIG5lZWQgdG8gc2V0IGRpZmZlcmVudCB2YWx1ZSEqLworI2lmZGVmIF9fTUQ5M19fCisjZGVmaW5lIFJGQ19ET19UUlhQQVRIX0RFTEFZICAgICAgKDI3OCkgIC8vU2FtZSBhcyBET19UWFJYREVMQVkKKyNlbGlmIGRlZmluZWQgX19NRDk1X18KKyNkZWZpbmUgUkZDX0RPX1RSWFBBVEhfREVMQVkgICAgICAoMjczKSAgLy9TYW1lIGFzIERPX1RYUlhERUxBWSAgICAgICAgICAgCisjZWxzZQorLyoqVXNlZCB0byBPdGhlciBTZXR0aW5nICxmb3IgZXhhbXBsZSBNRDk3Ki8KKyNpZiBkZWZpbmVkKE1UNjI5NykKKyNkZWZpbmUgUkZDX0RPX1RSWFBBVEhfREVMQVkgICAgICAoNDE5KSAgLy9TYW1lIGFzIERPX1RYUlhERUxBWSAgICAvKio0MTUgLS0+NDE5LCBUeCBUcmFuc21pdGUgRXJyb3IgY2hhbmdlIGZyb20gMC41dXMgdG8gMC4wNXVzIGZvciBBcG9sbG8qLworI2VsaWYgZGVmaW5lZChNVDY4ODUpfHwgZGVmaW5lZChNVDY4NzMpCisjZGVmaW5lIFJGQ19ET19UUlhQQVRIX0RFTEFZICAgICAgKDQwMikgIC8vU2FtZSBhcyBET19UWFJYREVMQVkgICAgLyoqNDE5IC0tPjM5OSwgVHggVHJhbnNtaXRlIEVycm9yIGNoYW5nZSBmcm9tIDEuOXVzIHRvIDAuMDV1cyBmb3IgUGV0cnVzKi8KKyNlbHNlCisjZGVmaW5lIFJGQ19ET19UUlhQQVRIX0RFTEFZICAgICAgKDQwMikgIC8vU2FtZSBhcyBET19UWFJYREVMQVkgICAKKyNlbmRpZgorCisjZW5kaWYKKworLyoqRm9yIE1EOTMgYW5kIE1EOTUsIHRoZSBSRkNfUlRUX1RSWFBBVEhfREVMQVkgbmVlZCB0byBzZXQgZGlmZmVyZW50IHZhbHVlISovCisjaWZkZWYgX19NRDkzX18KKyNkZWZpbmUgUkZDX1JUVF9UUlhQQVRIX0RFTEFZICAgICAoMjc4KSAgLy9TYW1lIGFzIFJUVF9UWFJYREVMQVlfSU5JVAorI2RlZmluZSBSRkNfUlRUX1JYUEFUSF9ERUxBWSAgICAgICgxMjgpCisjZWxpZiBkZWZpbmVkIF9fTUQ5NV9fCisjZGVmaW5lIFJGQ19SVFRfVFJYUEFUSF9ERUxBWSAgICAgKDI3MykgIC8vU2FtZSBhcyBSVFRfVFhSWERFTEFZX0lOSVQgICAKKyNkZWZpbmUgUkZDX1JUVF9SWFBBVEhfREVMQVkgICAgICAoMTI4KQorI2Vsc2UKKy8qKlVzZWQgdG8gT3RoZXIgU2V0dGluZyAsZm9yIGV4YW1wbGUgTUQ5NyovCisjaWYgZGVmaW5lZChNVDYyOTcpCisjZGVmaW5lIFJGQ19SVFRfVFJYUEFUSF9ERUxBWSAgICAgKDQxOSkgIC8vU2FtZSBhcyBSVFRfVFhSWERFTEFZX0lOSVQgICAgLyoqNDE1IC0tPjQxOSwgVHggVHJhbnNtaXRlIEVycm9yIGNoYW5nZSBmcm9tIDAuNXVzIHRvIDAuMDV1cyBmb3IgQXBvbGxvKi8KKyNkZWZpbmUgUkZDX1JUVF9SWFBBVEhfREVMQVkgICAgICAoMjEzKQorI2VsaWYgZGVmaW5lZChNVDY4ODUpIHx8IGRlZmluZWQoTVQ2ODczKQorI2RlZmluZSBSRkNfUlRUX1RSWFBBVEhfREVMQVkgICAgICg0MDIpICAvL1NhbWUgYXMgUlRUX1RYUlhERUxBWV9JTklUICAgIC8qKjQxOSAtLT4zOTksIFR4IFRyYW5zbWl0ZSBFcnJvciBjaGFuZ2UgZnJvbSAxLjl1cyB0byAwLjA1dXMgZm9yIFBldHJ1cyovCisjZGVmaW5lIFJGQ19SVFRfUlhQQVRIX0RFTEFZICAgICAgKDE5MykKKyNlbHNlCisjZGVmaW5lIFJGQ19SVFRfVFJYUEFUSF9ERUxBWSAgICAgKDQwMikgIC8vU2FtZSBhcyBSVFRfVFhSWERFTEFZX0lOSVQgICAKKyNkZWZpbmUgUkZDX1JUVF9SWFBBVEhfREVMQVkgICAgICAoMTkzKQorI2VuZGlmCisjZW5kaWYKKworI2RlZmluZSBSRkNfUlRUX1RYUEFUSF9ERUxBWSAgICAgIChSRkNfUlRUX1RSWFBBVEhfREVMQVkgLSBSRkNfUlRUX1JYUEFUSF9ERUxBWSkKKyAgICAKKyNkZWZpbmUgUkZDX1JUVF9HQVRFX09OX09GRl9ERUxBWSAoNDAwLypUQkQqLykKKworCisvKiA4MG1zIFBlcmlvZCBsZW5ndGggaW4gRWNoaXAqLworI2RlZmluZSBSRkNfODBNU19QRVJJT0QgICAgICAgICAgICAweEMwMDAwCisKKy8qIFBDRyBQZXJpb2QgTGVuZ3RoIEluIEVjaGlwKi8KKyNkZWZpbmUgUkZDX1JUVF9QQ0dfUEVSSU9EICAgKDE1MzYqOCkKKworLyogU2xvdCBQZXJpb2QgTGVuZ3RoIEluIEVjaGlwKi8KKyNkZWZpbmUgUkZDX0VWRE9fU0xPVF9QRVJJT0QgKDIwNDgqOCkKKworCit0eXBlZGVmIGVudW0KK3sKKyAgIFJGQ19QQVRIX1J4TSA9IDAsCisgICBSRkNfUEFUSF9SeEQsCisgICBSRkNfUEFUSF9SeFMsCisgICBSRkNfUEFUSF9UeCwKKyAgIFJGQ19NQVhfUEFUSAorfVJmY1BhdGhUeXBUOworCit0eXBlZGVmIGVudW0KK3sKKyAgIFJGQ19GUkVFWkVfTk9ORSA9IDAsCisgICBSRkNfVFhfRlJFRVpFLAorICAgUkZDX1RYX1VORlJFRVpFLAorfVJmY0ZyZWV6ZVR5cFQ7CisKKwordHlwZWRlZiBlbnVtCit7CisgICBSRkNfVEFTS19SRVFVRVNUID0gMCwKKyAgIFJGQ19GUkFNRV9SRVFVRVNULAorICAgUkZDX1NMT1RfUENHX1JFUVVFU1QKK31SZmNSZXF1ZXN0VHlwVDsKKworCit0eXBlZGVmIGVudW0KK3sKKyAgICBSRkNfUEFUSF9PRkYsCisgICAgUkZDX1BBVEhfT0ZGX09OR09JTkcsCisgICAgUkZDX1BBVEhfT04sCisgICAgUkZDX1BBVEhfT05fT05HT0lORworfVJmY1BhdGhTdGF0dXNUOworCisKK3R5cGVkZWYgZW51bQoreworICAgIFJGQ19QQVRIX1JDX09GRiwKKyAgICBSRkNfUEFUSF9SQ19PTkdPSU5HLAorICAgIFJGQ19QQVRIX1JDX09OCit9UmZjUGF0aFJjU3RhdHVzVDsKKworCit0eXBlZGVmIGVudW0KK3sKKyAgICBSRkNfSURMRSwKKyAgICBSRkNfMVhfTUFJTl9PTkxZLAorICAgIFJGQ18xWF9ESVZfT05MWSwKKyAgICBSRkNfMVhfRElWX1JYLAorICAgIFJGQ19ET19NQUlOX09OTFksCisgICAgUkZDX0RPX0RJVl9PTkxZLAorICAgIFJGQ19ET19ESVZfUlgsICAgIAorICAgIFJGQ19TSERSLAorICAgIFJGQ18xWF9ERlMsCisgICAgUkZDX0RPX0RGUworfVJmY1NjZW5hcmlvVDsKKworCit0eXBlZGVmIGVudW0KK3sKKyAgICBBQ1RJT05fT0ZGID0gMCwKKyAgICBBQ1RJT05fT04gPSAxLAorICAgIEFDVElPTl9OVU0gPSAyCit9UmZjQWN0aW9uT25PZmZUOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIFN5c0FpckludGVyZmFjZVQgICAgICAgIEludGVyZmFjZTsKKyAgICBTeXNDZG1hQmFuZFQgICAgICAgICAgICBCYW5kOworICAgIGthbF91aW50MTYgICAgICAgICAgICAgIENoYW47CisgICAgUmZjUGF0aFR5cFQgICAgICAgICAgICAgUGF0aDsKKyAgICBSZmNBY3Rpb25Pbk9mZlQgICAgICAgICBBY3Rpb25UeXA7CisgICAgUmZjUmVxdWVzdFR5cFQgICAgICAgICAgUmVxdWVzdFR5cDsKKyAgICB2b2lkKiAgICAgICAgICAgICAgICAgICBDb21tb25QYXJtUHRyOworfVJmY0FjdGlvblQ7CisKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiA4MG1zIHRpbWluZywgaW4gZWNoaXAqLworICAgIGthbF9pbnQzMiAgICAgICAgICAgICAgIFRpbWluZzsKKyAgICAKKyAgICAvKiBTdXBlciBGcmFtZSBudW1iZXIqLworICAgIGthbF91aW50NjQgICAgICAgICAgICAgIFN1cGVyRnJhbWU7CisgICAgCisgICAgLyogSW1tYWN0aW9uLCBpZiBUUlVFLCAiVGltaW5nJlN1cGVyRnJhbWUiIHdvdWxkIGJlIG9ibWl0dGVkKi8KKyAgICBrYWxfYm9vbCAgICAgICAgICAgICAgICBJbW1BY3Rpb247Cit9UmZjQWN0aW9uVGltZVQ7CisKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiBSZXEgVGltaW5nIEluZm8sIEZpbGxlZCBSeCBNb2R1bGVzKFJUQkEpIGluIEZICisgICAgICAgICogaWYgIlJjQ3RybCIgaXMgVFJVRSwgZmlsbGVkIHdpdGggUkMgdGltaW5nLgorICAgICAgICAqIE90aGVyd2lzZSwgZmlsbGVkIHdpdGggUkYgdGltaW5nLgorICAgICAgICAqLworICAgIFJ0YmFSY1RpbWluZ1R5cGVUICAgICBSZXFUaW1pbmc7CisKKyAgICAvKiBSYWtlIERkbCBJbmRpY2F0aW9uICwgZm9yIFJ4IE9ubHkqLworICAgIGthbF9ib29sICAgICAgICAgICAgICBSYWtlRGRsSW5kOyAKKworICAgIC8qIFJjIENvbnRyb2wgSW5kaWNhdGlvbiovCisgICAga2FsX2Jvb2wgICAgICAgICAgICAgIFJjQ3RybDsKKworICAgIC8qIFVzZWQgZm9yIFJjIFJ4T2ZmIHdpdGggIlJjQ3RybCI9PSBUUlVFIE9ubHkqLworICAgIENsMVJjUmVxRW5kSW5kVCAgICAgICBFbmRJbmRpY2F0aW9uOworCisgICAgLyogQWNjZXNzIFR4IEluZGljYXRpb24qLworICAgIGthbF9ib29sICAgICAgICAgICAgICBBY1R4SW5kOworCisgICAgLyogQWN0aW9uIGJvZHkqLworICAgIFJmY0FjdGlvblQgICAgICAgICAgICBBY3Rpb247CisgICAgCisgICAgLyogQWN0aW9uIFRpbWluZywgRmlsbGVkIGJ5IFR4IE1vZHVsZXMgaW4gVGFzayhXaXRob3V0IFJUQkEpCisgICAgICAgICogIkltbUFjdGlvbiIgaXMgdmFsaWQgZm9yIGJvdGggVHggYW5kIFJ4IGltbWVkYWl0ZSBhY3Rpb24uCisgICAgICAgICovCisgICAgUmZjQWN0aW9uVGltZVQgICAgICAgIEFjdGlvblRpbWluZzsKK31SZmNBY3Rpb25SZXFUOworCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEdsb2JhbCBEYXRhCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgR2xvYmFsIFZhcmlhYmxlcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisjaWYgKCFkZWZpbmVkKF9fTUQ5M19fKSkgJiYgKCFkZWZpbmVkKF9fTUQ5NV9fKSkKK2V4dGVybiBDMktfQ1VTVE9NX1RBU19TVEFURV9FIEFudEN1cnJlbnRTdGF0ZVtSRl9CYW5kX05VTV9NQVhdOworZXh0ZXJuIEMyS19DVVNUT01fVEFTX1NUQVRFX0UgR2V0QW50Q3VycmVudFN0YXRlKFN5c0NkbWFCYW5kVCBiYW5kKTsKKyNlbmRpZgorCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBHbG9iYWwgRnVuY3Rpb24gUHJvdG90eXBlcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCit2b2lkIENsMVNoUmZjSW5pdCh2b2lkKTsKK3ZvaWQgQ2wxU2hSZmNBY3Rpb25SZXEoUmZjQWN0aW9uUmVxVCAqQWN0aW9uUmVxUHRyKTsKK3ZvaWQgQ2wxU2hSZmNNYWluKFN5c0FpckludGVyZmFjZVQgSW50ZXJmYWNlKTsKK3ZvaWQgQ2wxU2hSZmNTdGF0Q2hhbmdlKGthbF91aW50MzIgUGFyYW0pOwordm9pZCBDbDFTaFJmY1JjU3RhdFRvT2ZmKGthbF91aW50MzIgUGFyYW0pOwordm9pZCBDbDFTaFJmY1JjU3RhdFRvT24oa2FsX3VpbnQzMiBQYXJhbSk7CitSZmNQYXRoU3RhdHVzVCBDbDFTaFJmY1JmU3RhdEdldChTeXNBaXJJbnRlcmZhY2VUIEludGVyZmFjZSwgUmZjUGF0aFR5cFQgUGF0aCk7CitSZmNTY2VuYXJpb1QgQ2wxU2hSZmNTY2VuYXJpb0dldCh2b2lkKTsKK3ZvaWQgQ2wxU2hSZmNUeEZyZWV6ZVJlcShTeXNBaXJJbnRlcmZhY2VUIEludGVyZmFjZSk7Cit2b2lkIENsMVNoUmZjVHhVbkZyZWV6ZVJlcShTeXNBaXJJbnRlcmZhY2VUIEludGVyZmFjZSk7CitrYWxfYm9vbCBDbDFTaFJmY1R4RnJlZXplUmVxQ2hlY2soU3lzQWlySW50ZXJmYWNlVCBJbnRlcmZhY2UpOworUmZjUGF0aFJjU3RhdHVzVCBDbDFTaFJmY1JjU3RhdEdldChTeXNBaXJJbnRlcmZhY2VUIEludGVyZmFjZSwgUmZjUGF0aFR5cFQgUGF0aCk7Cit2b2lkIENsMVJmY0dldE5leHRSeEJvdW5kYXJ5KFN5c0FpckludGVyZmFjZVQgSW50ZXJmYWNlLCBrYWxfaW50MzIgKkVjaGlwVGltZSwga2FsX3VpbnQ2NCAqU3VwZXJGcmFtZSk7Cit2b2lkIENsMVNoUmZjUmNSZXEoU3lzQWlySW50ZXJmYWNlVCBJbnRlcmZhY2UsIFJmY1BhdGhUeXBUIFBhdGgsIFJmY0FjdGlvbk9uT2ZmVCBBY3Rpb25UeXAsIFJ0YmFSY1RpbWluZ1R5cGVUICAqUmNSZXFUaW1pbmdQdHIsIENsMVJjUmVxRW5kSW5kVCBFbmRJbmRpY2F0aW9uLCBrYWxfYm9vbCBSYWtlRGRsSW5kLCBrYWxfYm9vbCBBY1R4SW5kKTsKK3ZvaWQgQ2wxU2hSZmNyUnhQYXRoSW5mb0dldChTeXNBaXJJbnRlcmZhY2VUIEludGVyZmFjZSwga2FsX3VpbnQxNiAqQmFuZFB0ciwga2FsX3VpbnQxNiAqQ2hhblB0cik7Cit2b2lkIENsMVNoUmZjVHhPblRpbWluZ0xvZ2dpbmcodm9pZCk7CisKKyNpZmRlZiBTWVNfT1BUSU9OX1RYX1RBU19FTkFCTEUKK2thbF9ib29sIENsMVNoUmZjT25seVJmSW1tZWRpYXRlT24oU3lzQWlySW50ZXJmYWNlVCAgQ3VyckludGVyZmFjZSwga2FsX3VpbnQxNiAgQ3VyckJhbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGthbF91aW50MTYgIEN1cnJDaGFuKTsKK2thbF9ib29sIENsMVNoUmZjT25seVJmSW1tZWRpYXRlT2ZmKFN5c0FpckludGVyZmFjZVQgIEN1cnJJbnRlcmZhY2UsIGthbF91aW50MTYgIEN1cnJCYW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrYWxfdWludDE2ICBDdXJyQ2hhbik7CisjZW5kaWYKKyNpZmRlZiBNVEtfREVWX1RFTVBfQzJLX09URkMKK2V4dGVybiBrYWxfdWludDggQ2wxU2hUeERwZE90ZmNIaXN0b3J5UmVjUHVzaChTeXNBaXJJbnRlcmZhY2VUIEludGVyZmFjZSwga2FsX3VpbnQzMiBDaGFubmVsLCBTeXNDZG1hQmFuZFQgQmFuZENsYXNzKTsKK2V4dGVybiBrYWxfdWludDggQ2wxU2hUeERwZE90ZmNHZXRIaXN0b3J5UmVjSWR4KFN5c0FpckludGVyZmFjZVQgSW50ZXJmYWNlLCBrYWxfdWludDMyIENoYW5uZWwsIFN5c0NkbWFCYW5kVCBCYW5kQ2xhc3MpOworI2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBFbmQgb2YgRmlsZQorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NsMXNsZWVwLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY2wxc2xlZXAuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZGVkMzVlCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NsMXNsZWVwLmgKQEAgLTAsMCArMSwxMjMgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgIF9DTDFTTEVFUF9IXworI2RlZmluZSAgX0NMMVNMRUVQX0hfCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAKKwlGSUxFIE5BTUU6IGh3ZHNsZWVwLmgKKworCURFU0NSSVBUSU9OOgorCQlJbnRlcmZhY2UgdG8gaHdkc2xlZXAuYworCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgInN5c2FwaS5oIgorCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogZXhwb3J0ZWQgZGF0YQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEdsb2JhbCBEZWZpbmVzIGFuZCBNYWNyb3MKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworI2RlZmluZSBQQVVTRV9DTURfU1dfTUFSR0lOICAgICgxNTAwKSAgICAgICAgICAgICAgICAgICAgICAgLyogNVQgMzJLIFNXIE1hcmdpbiAqLworI2RlZmluZSBQQVVTRV9DTURfTUFSR0lOICAgICAgICgxNTAwICsgUEFVU0VfQ01EX1NXX01BUkdJTikgLyogM1QgMzJLICsgMlQgdW5jZXJ0YW50eSArIDVUIFNXIE1hcmdpbiAqLworCit0eXBlZGVmIHN0cnVjdCAKK3sKKyAgIGthbF9ib29sICAgICAgICAgICAgICAgICAgICAgU2xlZXBTdGF0ZTsgICAgICAvKiBJbmRpY2F0ZSB3aGV0aGVyIFVFIGlzIGluIHNsZWVwIHN0YXRlICovCisgICBrYWxfdWludDMyICAgICAgICAgICAgICAgICAgIFdha2VUaW1lOyAgICAgICAgLyogcmVjb3JkIHdha2UgdXAgdGltZSAqLworICAga2FsX3VpbnQ2NCAgICAgICAgICAgICAgICAgICBXYWtlRHVyYXRpb247ICAgIC8qIHJlY29yZCB0b3RhbCB3YWtlIGR1cmF0aW9uIGFmdGVyIFVFIGJvb3QgdXAgKi8KK30gQ2wxV2FrZUluZm9UOworCit0eXBlZGVmIHN0cnVjdCAKK3sKKyAgIGthbF91aW50OCAgICAgICAgICAgICAgICAgICAgQ3VycmVudElkeDsgICAgICAvKiBJbmRpY2F0ZSBjdXJyZW50IGluZGV4ICovCisgICBDbDFXYWtlSW5mb1QgICAgICAgICAgICAgICAgIFdha2VJbmZvWzJdOyAgICAgLyogcmVjb3JkIHdha2UgaW5mbywgMiBpbmRleCBmb3IgcGluZy1wYW5nIGJ1ZmZlciBmb3IgY29ybmVyIGNhc2UgcXVlcnkgaW4gc2xlZXAgb3Igd2FrZSB1cCBib3VuZGFyeSAqLworICAga2FsX3VpbnQzMiAgICAgICAgICAgICAgICAgICBXYWtlQ250OyAgICAgICAgIC8qIHJlY29yZCB0b3RhbCB3YWtlIGNvdW50cyBhZnRlciBVRSBib290IHVwICovCisgICBrYWxfdWludDMyICAgICAgICAgICAgICAgICAgIFNsZWVwQ250OyAgICAgICAgLyogcmVjb3JkIHRvdGFsIHNsZWVwIGNvdW50cyBhZnRlciBVRSBib290IHVwICovCit9IENsMVNsZWVwRW1JbmZvVDsKKworZXh0ZXJuIENsMVNsZWVwRW1JbmZvVCAgZ0NsMVNsZWVwRW1JbmZvW1NZU19NT0RFX01BWF07CisKKy8qIENsb2NrIENvbnRyb2wgQmxvY2tzICovCit0eXBlZGVmIGVudW0gCit7CisgICBIV0RfQkxLX0NUUkxfUFBQX0hBLAorICAgSFdEX0JMS19DVFJMXzFYX1NZU1RJTUUsCisgICBIV0RfQkxLX0NUUkxfRE9fU1lTVElNRSwKKworICAgSFdEX0JMS19DVFJMX0ZUX0NUUkwsCisgICBIV0RfQkxLX0NUUkxfUkZfQ1RSTCwKKworICAgSFdEX0JMS19DVFJMX05VTV9CTE9DS1MKK30gSHdkQmxrQ29udHJvbEJsb2Nrc1Q7CisKKyNpZm5kZWYgTVRLX1BMVF9PTl9QQworI2RlZmluZSBJUlFfV0FLRTFYX0lSUV9DT0RFICAgICAgSVJRX1NUMXhfV0FLRVVQX0lSUV9DT0RFCisjZGVmaW5lIElSUV9XQUtFRE9fSVJRX0NPREUgICAgICBJUlFfU1RET19XQUtFVVBfSVJRX0NPREUKKyNlbHNlCisjZGVmaW5lIElSUV9XQUtFMVhfSVJRX0NPREUgICAgICBPU0NfSVNSX1NSQ19DVVNUT00xMAorI2RlZmluZSBJUlFfV0FLRURPX0lSUV9DT0RFICAgICAgT1NDX0lTUl9TUkNfQ1VTVE9NMTEKKyNlbmRpZgorCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogZXhwb3J0ZWQgZnVuY3Rpb25zCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK2V4dGVybiB2b2lkICAgICBId2RTbGVlcEluaXQodm9pZCk7CitleHRlcm4ga2FsX2Jvb2wgSHdkRW50ZXJDYnBEZWVwU2xlZXBDaGVjayhTeXNBaXJJbnRlcmZhY2VUIEludGVyZmFjZSkgOworZXh0ZXJuIHZvaWQgICAgIEh3ZFdha2V1cFNscEN0cmwoIFN5c0FpckludGVyZmFjZVQgSW50ZXJmYWNlICkgOworZXh0ZXJuIHZvaWQgICAgIEh3ZERlZXBTbGVlcENsZWFyQ2FuY2VsbGluZ0ZsYWcoU3lzQWlySW50ZXJmYWNlVCBJbnRlcmZhY2UpOworZXh0ZXJuIGthbF9ib29sIEh3ZElzQmxvY2tDb25maWdWYWxpZCggSHdkQmxrQ29udHJvbEJsb2Nrc1QgQmxvY2sgKTsKK2V4dGVybiBrYWxfYm9vbCBId2RDaGVja0RlZXBTbGVlcE1vZGUoIFN5c0FpckludGVyZmFjZVQgSW50ZXJmYWNlKTsKK2V4dGVybiBrYWxfYm9vbCBId2RDaGVja0RlZXBTbGVlcEhXTW9kZShTeXNBaXJJbnRlcmZhY2VUIEludGVyZmFjZSk7CitleHRlcm4gdm9pZCAgICAgSHdkU2xlZXBPdmVySGlzcjF4KHZvaWQpOworZXh0ZXJuIHZvaWQgICAgIEh3ZFNsZWVwT3Zlckhpc3JETyh2b2lkKTsKK2V4dGVybiB2b2lkICAgICBId2RTbGVlcFNldENhbFZhbHVlKFN5c0FpckludGVyZmFjZVQgSW50ZXJmYWNlLCBrYWxfdWludDMyIENhbFZhbHVlKTsKK2V4dGVybiBrYWxfdWludDMyIEh3ZFNsZWVwQ2FsY0NhbFZhbHVlKFN5c0FpckludGVyZmFjZVQgSW50ZXJmYWNlLCBrYWxfdWludDMyIFNjQ250LCBrYWxfdWludDMyIEZjRnJlcSwga2FsX3VpbnQzMiBGY0NudCk7CitleHRlcm4gdm9pZCAgICAgSHdkU2xlZXBTZXRTbHBPZmZzZXQoU3lzQWlySW50ZXJmYWNlVCBJbnRlcmZhY2UsIGthbF9pbnQxNiBPZmZzZXQpOworZXh0ZXJuIGthbF91aW50MzIgSHdkU2xlZXBUaW1lc0dldChTeXNBaXJJbnRlcmZhY2VUIEludGVyZmFjZSk7CitleHRlcm4gdm9pZCAgICAgQ2wxU21UaWNrKFN5c0FpckludGVyZmFjZVQgSW50ZXJmYWNlKTsKK2V4dGVybiB2b2lkICAgICBId2REZWVwU2xlZXBSZWNvdmVyKHZvaWQpOworZXh0ZXJuIHZvaWQgICAgIENsMV9zbHBfaW5mb19jYWxjKFN5c0FpckludGVyZmFjZVQgSW50ZXJmYWNlLCBrYWxfdWludDY0ICp3b3JraW5nX3RpbWUsIGthbF91aW50MzIgKndha2V1cF9jbnQsIGthbF91aW50MzIgKnNsZWVwX2NudCk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRW5kIG9mIGZpbGUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNlbmRpZgorCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY2wxdHNrbGwxYWFwaS5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NsMXRza2xsMWFhcGkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NmY1NzYzCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NsMXRza2xsMWFhcGkuaApAQCAtMCwwICsxLDQyMCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiAgX0NMMVRTS0xMMUFBUElfSF8KKyNkZWZpbmUgIF9DTDFUU0tMTDFBQVBJX0hfCisKKyNpZmRlZiBNVEtfREVWXzkzTV9QUkVJVAorICAgIAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisKKyAgRklMRSBOQU1FOiBjbDF0c2tsbDFhYXBpLmgKKworICBERVNDUklQVElPTjoKKworICAgICBUaGlzIGZpbGUgY29udGFpbnMgdGhlIG1lc3NhZ2UgdHlwZSBhbmQgYXBpcyBvZiBMTDFBIGZvciBvdGhlciBtb2R1bGVzLgorCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEluY2x1ZGUgRmlsZXMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworI2luY2x1ZGUgImNsMXRza2xsMWFkZWZzLmgiCisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisqIERlZmluaXRpb25zCisqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisjZGVmaW5lIEdBUF9TRVNTSU9OX0lOX1BFUklPRCAgICAgICAgICAoNikgICAgICAvKiogVGhlIG1heGltdW0gbnVtYmVyIG9mIGdhcCBzZXNzaW9uIGluIG9uZSBnYXAgbm90aWZ5IGluZC4gKi8KKworI2RlZmluZSBHQVBfTUFSR0lOX0ZPUl9TVEFOREJZICAgICAgICAgKDEwMDAwKSAvKiogVGhlIEdhcCBtYXJnaW4gZm9yIFN0YW5kYnkgcmF0IHdoZW4gRVZETyBpbiBhY3RpdmUuKi8KKyNkZWZpbmUgR0FQX01BUkdJTl9GT1JfU1RBTkRCWV9PVkVSTEFQICgyMDAwMCkgIC8qKiBUaGUgaGVhZGVyIG9yIGVuZCBHYXAgbWFyZ2luIGZvciBTdGFuZGJ5IHJhdCB3aGVuIEVWRE8gaW4gYWN0aXZlLiovCisKK2V4dGVybiBMbDFhU2NoZUluZm9UICBnTGwxYVNjaGVJbmZvOworCisjZGVmaW5lIExMMUFfR0FQX1NFUlZJQ0VfU1RBVFVTX1NFVChFbmFibGUpICAgICAgIChnTGwxYVNjaGVJbmZvLkdhcFNlcnZpY2VFbmFibGUgPSBFbmFibGUpCisjZGVmaW5lIExMMUFfR0FQX1NFUlZJQ0VfU1RBVFVTX0dFVCgpICAgICAgICAgICAgIChnTGwxYVNjaGVJbmZvLkdhcFNlcnZpY2VFbmFibGUpCisKKyNkZWZpbmUgTEwxQV9HQVBfT0ZGRVJFRF9TVEFUVVNfU0VUKFN0YXR1cykgICAgICAgKGdMbDFhU2NoZUluZm8uR2FwT2ZmZXJlZFN0YXR1cyA9IFN0YXR1cykKKyNkZWZpbmUgTEwxQV9HQVBfT0ZGRVJFRF9TVEFUVVNfR0VUKCkgICAgICAgICAgICAgKGdMbDFhU2NoZUluZm8uR2FwT2ZmZXJlZFN0YXR1cykKKworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgTWVzc2FnZSBGb3JtYXRzIHN0cnVjdHVyZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlJNQyBJbnRlcmZhY2UgUmVsYXRlZCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqIFJtYyBSYXQgU3RhdHVzIEluZC4gKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICBSbWNSYXRTdGF0dXNUICAgIFJhdFN0YXR1czsgICAvKiBGbGlnaHQvU3RhbmRieS9BY3RpdmUuICovCit9IExsMWFSbWNSYXRTdGF0dXNJbmRNc2dUOworCisvKiogUm1jIE1vZGUgU3RhdHVzIEluZC4gKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICBSbWNNb2RlU3RhdHVzVCAgIE1vZGVTdGF0dXM7ICAgLyogTlVMTC9JRExFL0NPTk5FQ1RFRC4gKi8KKyAgIGthbF91aW50MTYgICAgICAgRHJ4Q3ljbGVMZW5ndGg7LyogV2hlbiBJRExFIE1vZGUsIHRoaXMgdmFsdWUgaXMgdmFsaWQgYW5kIGluIHNsb3QgdW5pdC4gKi8KK30gTGwxYVJtY01vZGVTdGF0dXNJbmRNc2dUOworCisvKiogUm1jIEludGVyLUZyZXEgTnVtYmVyLiAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfdWludDggICAgICAgICAgIEZyZXFOdW07ICAgLyoqIEVWRE8gaW4gYWN0aXZlLCB0aGUgbnVtYmVyIG9mIGhpZ2hlciBwcmlvcml0eSBpbnRlci1mcmVxLiovIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKiBXaGVuIEhQUyBvZmYsIHRoZSBmcmVxX251bSBpcyBlcXVhbCB0byB6ZXJvLiAqLworfSBMbDFhUm1jQWN0aXZlTWVhc0luZm9JbmRNc2dUOworCisvKiogRXZTdGFuZGJ5IFNlbmQgdGhlIHN0YW5kYnkgbWVhcyBjb25maWcgdG8gTEwxQSwgaW5jbHVkaW5nIHRoZSBtZWFzIHB1cnBvc2UgYW5kIG1lYXMgdHlwZS4gKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX3VpbnQ4ICAgICAgICAgICAgICAgTWVhc1B1cnBvc2U7ICAgICAgICAgICAgICAgICAgICAvKiogQml0MCAtIE1lYXMgT24vT2ZmLCAgQml0MSAtIENlbGwgU2VhcmNoIE9uL09mZi4gKi8KKyAgICBrYWxfdWludDggICAgICAgICAgICAgICBUaWNrQml0TWFwOyAgICAgICAgICAgICAgICAgICAgIC8qKiBCaXQwIC0gVElDS19CSVRNQVBfTVBTUiwgIEJpdDEgLSBUSUNLX0JJVE1BUF9IUFMsIEJpdDIgLSBUSUNLX0JJVE1BUF9MUFMsIEJpdDMgLSBUSUNLX0JJVE1BUF9SRVMuICovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICAgICAgRnJlcU51bTsgICAgICAgICAgICAgICAgICAgICAgICAvKiogVGhpcyBuZWVkIEV2U3RhbmRieSB0byBmaWxsIGl0IHdpdGggZGlmZmVyZW50IE1lYXMgT24vT2ZmIGFuZCBUaHBzIE9uL09mZiBDb21iaW5hdGlvbi4gKi8gIAorICAgIGthbF91aW50OCAgICAgICAgICAgICAgIElzUGVyaW9kUmVzZXRCaXRNYXA7ICAgICAgICAgICAgLyoqIEJpdDAgLSBSQU5LIEJJVCAgIEJpdDEgLSBISUdIIFBSSU9SSVRZIEJJVC4gKi8gCisgICAga2FsX3VpbnQ4ICAgICAgICAgICAgICAgVGlkOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiogVGhlIFRpZCBmb3IgdGhpcyBzdGFuZGJ5IG1lYXMgcmVxdWVzdC4gKi8KK30gTGwxYUV2U3RhbmRieU1lYXNSZXFNc2dUOworCisvKiogVGhpcyBpcyBhIGdhcCBzZXNzaW9uIHN0cmljdHVyZSwgd2l0aCB0aGUgc3RhcnQgdGltZSBhbmQgZHVyYXRpb24gaW4gRVZETydzIHN5c3RlbSB0aW1lIGZvcm1hdC4gKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX3VpbnQzMiAgICAgICBHYXBTZXNzaW9uU3RhcnRUaW1lOyAgLyoqIFRoZSBTdGFydCBUaW1lIG9mIFN0YW5kYnkgR2FwLiBUaGUgc3RhcnQgdGltZSBpcyBiYXNlZCBvbiBGUkMgdGltZS4qLworICAgIC8qIG1vZGlmeSBpdCB0byBrYWxfdWludDMyIHRvIGtlZXAgc2FtZSB3aXRoIDkxIGZvciBFVkwxIGZsb3cgICovCisgICAga2FsX3VpbnQzMiAgICAgICBHYXBTZXNzaW9uTGVuZ3RoOyAgICAgLyoqIFRoZSBMZW5ndGggb2YgU3RhbmRieSBHYXAuIFRoZSBzdGFydCB0aW1lIGlzIGJhc2VkIG9uIEZSQyB0aW1lLiovCit9IEdhcFNlc3Npb25UeXBlVDsKKworCisvKiogVGhlIEV2U3RhbmRieScgR2FwIE5vdGlmeSBJbmQgU3RydWN0dXJlLiAqLwordHlwZWRlZiBzdHJ1Y3QKK3sgICAKKyAgICBrYWxfdWludDggICAgICAgICAgICAgICBUaWQ7ICAgICAgICAgICAvKiogVGhlIFRpZCBmb3IgdGhpcyBnYXAgbm90aWZ5IGluZC4gKi8KKyAgICBrYWxfdWludDggICAgICAgICAgICAgICBHYXBTZXNzaW9uTnVtOyAvKiogMSAtIEZvciBJZGxlIEdhcDsgMSA8IG51bWJlciA8PTYgLSBGb3IgQ29ubmVjdCBHYXAuICovCisgICAgR2FwU2Vzc2lvblR5cGVUICAgICAgICAgR2FwU2Vzc2lvbltHQVBfU0VTU0lPTl9JTl9QRVJJT0RdOyAgIC8qKiBMTDFBIHdpbGwgaW5mb3JtIGFsbCB0aGUgZ2FwIHNlc3Npb24gdGltZSB0byBHYXAgTWFuYWdlci4gKi8KKyAgICBrYWxfdWludDggICAgICAgICAgICAgICBNZWFzVGlkOyAgICAgICAvKiogSW5kaWNhdGUgdGhlIG1lYXN1cmVtZW50IHRpZCBmb3Igc3RhbmRieSBtZWFzIG1vZHVsZS4gKi8KKyAgICBrYWxfdWludDggICAgICAgICAgICAgICBIcHNUaWQ7ICAgICAgICAvKiogSW5kaWNhdGUgdGhlIEhwcyB0aWQgZm9yIHN0YW5kYnkgbWVhcyBtb2R1bGUuICovICAKKyAgICBrYWxfdWludDggICAgICAgICAgICAgICBUaWNrQml0bWFwOyAgICAvKiogQml0MCAtIFRtcmFzdXJlLCBCaXQxIC0gVGhwcy4gKi8KKyAgICBrYWxfYm9vbCAgICAgICAgICAgICAgICBpc19jb25uX2dhcDsgICAvKiBpbmRpY2F0ZSB3aGV0aGVyIGlzIExURSBjb25uZWN0IG5vcm1hbCBnYXAgKi8gIAorfSBFdlN0YW5kYnlMbDFhR2FwTm90aWZ5SW5kTXNnVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIExPQ0FMX1BBUkFfSERSCisgICBFdlN0YW5kYnlMbDFhR2FwTm90aWZ5SW5kTXNnVCAgICBtc2c7ICAgICAgIAorfSBldnN0YW5kYnlfbGwxYV9nYXBfbm90aWZ5X2luZF9tc2dfc3RydWN0OworCisKKy8qKiBUaGUgRXZTdGFuZGJ5JyBNZWFzdXJlIGRvbmUgSW5kIFN0cnVjdHVyZS4gKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX3VpbnQ4ICAgICAgICAgICAgICAgVGlkOyAgICAgICAgICAvKiogSW5kaWNhdGUgdGhlIG1lYXN1cmUgZG9uZSB0aWQgdG8gd2hpY2ggZ2FwIHBhdHRlcm4gcGVyaW9kIHNlbnQgYmVmb3JlLiovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICAgICAgVGlja0JpdG1hcDsgICAvKiogQml0MCAtIFRJQ0tfQklUTUFQX01QU1IsICBCaXQxIC0gVElDS19CSVRNQVBfSFBTLCBCaXQyIC0gVElDS19CSVRNQVBfTFBTLCBCaXQzIC0gVElDS19CSVRNQVBfUkVTLiAqLworICAgIGthbF91aW50OCAgICAgICAgICAgICAgIGNlbGxfbGlzdF9zdGF0dXNfYml0bWFwOyAvKiBjZWxsX2xpc3Rfc3RhdHVzX2JpdG1hcCAgIC0gYml0IDAgaXMgc2V0IHRvIDEsIGlmIG5vIGNlbGwgZm91bmQgaW4gY2VsbCBsaXN0ICovCit9IExsMWFFdlN0YW5kYnlNZWFzRG9uZUluZE1zZ1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgTE9DQUxfUEFSQV9IRFIKKyAgICBMbDFhRXZTdGFuZGJ5TWVhc0RvbmVJbmRNc2dUICAgIG1zZzsKK30gTGwxYUV2U3RhbmRieU1lYXNEb25lSW5kTXNnVF9IRFI7CisKKy8qKiBUaGUgRXZTdGFuZGJ5IEF1dG8tR2FwIENuZiBTdHJ1Y3R1cmUuICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF9ib29sICAgICAgICAgICAgU3VjY2VzczsgICAgICAgLyoqIEluZGljYXRlIHRoZSBhdXRvLWdhcCByZXF1ZXNldCBmb3IgRXZTdGFuZGJ5IGlzIHN1Y2Nlc3Mgb3IgZmFpbC4gKi8gCisgICAga2FsX2ludDMyICAgICAgICAgICBWYWxpZFBlcmlvZDsgICAvKiogVGhlIHZhbGlkIGF1dG8tZ2FwIHBlcmlvZCBmcm9tIExMMSwgaW4gdXNjIHVuaXQuICovCisgICAga2FsX3VpbnQzMiAgICAgICAgICBBdXRvVGltZTsgICAgICAvKiogUmV0dXJuIHRoZSBBdXRvVGltZSB0byBHTS4qLworfSBFdlN0YW5kYnlMbDFhQXV0b0dhcENuZk1zZ1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBMT0NBTF9QQVJBX0hEUgorICAgRXZTdGFuZGJ5TGwxYUF1dG9HYXBDbmZNc2dUICAgIG1zZzsgICAgICAgCit9ICBldnN0YW5kYnlfbGwxYV9hdXRvX2dhcF9jbmZfbXNnX3N0cnVjdDsgIAorCit0eXBlZGVmIHN0cnVjdAoreworICAgIExsMWFBY3RpdmVHYXBQYXR0ZXJuVHlwZVQgQWN0aXZlR2FwOworICAgIGthbF91aW50MzIgICAgICAgICAgICAgICAgR2FwU3RhcnRUaW1lOworICAgIGthbF91aW50MzIgICAgICAgICAgICAgICAgR2FwTGVuOworfUxsMWFHYXBQYXR0ZXJuSW5kTXNnVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIExPQ0FMX1BBUkFfSERSCisgICBMbDFhR2FwUGF0dGVybkluZE1zZ1QgICAgICAgICBtc2c7Cit9TGwxYUdhcFBhdHRlcm5Nc2dUX0hEUjsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF9ib29sICAgICBFbmFibGU7ICAgICAgLyoqIEluZGljYXRlIFJNQyBHTSBuZWVkcyBzcGVjaWZpYyBnYXAgbGVuZ3RoIGZvciBzdGFuZGJ5IElDUy4qLworICAga2FsX3VpbnQxNiAgIEdhcExlbjsgICAgICAvKiogVGhlIG5lZWRlZCBzcGVjaWZpYyBnYXAgbGVuZ3RoLCBpbiBtcyB1bml0LiovCit9IEV2U3RhbmRieUxsMWFTcGVjaWZpY0dhcFJlZ01zZ1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBMT0NBTF9QQVJBX0hEUgorICAgRXZTdGFuZGJ5TGwxYVNwZWNpZmljR2FwUmVnTXNnVCAgICAgbXNnOworfUV2U3RhbmRieUxsMWFTcGVjaWZpY0dhcFJlZ01zZ1RfSERSOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAKKyAgRlVOQ1RJT04gTkFNRTogICBMbDFhSHNjR2FwUGF0dGVybk9mZmVyUmVxCisKKyAgREVTQ1JJUFRJT046ICAgICBUaGlzIGlzIHVzZWQgYnkgRXZTcGFnZSB0byBjYWxsIHdoZW4gZ2FwIG9mZmVyIGVuYWJsZSBmbGFnIGlzIHNldAorCisgIFBBUkFNRVRFUlM6ICAgICAgSXNEcnhDeWNsZSAtLSBJbmRpY2F0ZSB3aGV0aGVyIHRoZSBnYXAgaXMgaW4gYSBuZXcgRFJYIGN5Y2xlCisgICAgICAgICAgICAgICAgICAgU3RhcnRUaW1lICAtLSBUaGUgSWRsZSBHYXAgU3RhcnQgVGltZSBpbiAzMktjbnQKKyAgICAgICAgICAgICAgICAgICBHYXBMZW4gICAgIC0tIFRoZSBJZGxlIEdhcCBsZW5ndGggaW4gMzJLY250CisKKyAgUkVUVVJORUQgVkFMVUVTOiAKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworZXh0ZXJuIHZvaWQgTGwxYUhzY0dhcFBhdHRlcm5PZmZlclJlcShMbDFhQWN0aXZlR2FwUGF0dGVyblR5cGVUIEdhcFR5cGUsIGthbF9ib29sIElzRHJ4Q3ljbGUsIGthbF91aW50MzIgU3RhcnRUaW1lLCBrYWxfdWludDMyIEdhcExlbik7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIAorICBGVU5DVElPTiBOQU1FOiAgIExsMWFIc2NQcm9jTW1vR2FwUGF0dGVybk9mZmVyUmVxCisKKyAgREVTQ1JJUFRJT046ICAgICBUaGlzIGlzIHVzZWQgYnkgTEwxQSB0byBwcm9jZXNzIHRoZSBNTU8gZ2FwIG9mZmVyIHRvIE1MTDEKKworICBQQVJBTUVURVJTOiAgICAgIE1zZ1B0ciAgLS0gVGhlIG1lc3NhZ2UgcG9pbnRlciBmb3IgTU1PIGdhcCByZWNlaXZlZCBmcm9tIGZyYW1lIGhhbmRsZXIKKworICBSRVRVUk5FRCBWQUxVRVM6IAorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitleHRlcm4gdm9pZCBMbDFhSHNjUHJvY01tb0dhcFBhdHRlcm5PZmZlclJlcSh2b2lkICpNc2dQdHIpOworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIAorICBGVU5DVElPTiBOQU1FOiAgIExsMWFIc2NQcm9jR2FwU3RvcFJlcQorCisgIERFU0NSSVBUSU9OOiAgICAgVGhpcyBpcyB1c2VkIGJ5IEV2U3BhZ2UgdG8gY2FsbCB3aGVuIEV2U3BhZ2UgbmVlZHMgdG8gcGVyZm9ybSBlYXJseSB3YWtldXAKKyAgICAgICAgICAgICAgICAgICBhbmQgbmVlZHMgTEwxQSBoZWxwcyB0byBzdG9wIHN0YW5kYnkgcmF0J3MgZ2FwKGlmIHByZXZpb3VzbHkgZ2FwIHBhdHRlcm4gaXMgb2ZmZXJlZCkuCisgICAgICAgICAgICAgICAgICAgV2hlbiB0aGlzIEFQSSBpcyBjYWxsZWQsIExMMUEgd2lsbCBzZW5kIGdhcCBzdG9wIHJlcXVlc3QgdG8gTEwxIGF1dG9tYXRpY2FsbHkgCisgICAgICAgICAgICAgICAgICAgYW5kIHdhaXQgZm9yIGdhcCBzdG9wIGNuZiBmcm9tIExMMS4KKyAgUEFSQU1FVEVSUzogICAgICB2b2lkCisgIFJFVFVSTkVEIFZBTFVFUzogCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK2V4dGVybiBrYWxfYm9vbCBMbDFhSHNjUHJvY0dhcFN0b3BSZXEodm9pZCk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIAorICBGVU5DVElPTiBOQU1FOiAgIEhzY1Byb2NMbDFhTXNnCisKKyAgREVTQ1JJUFRJT046ICAgICBUaGlzIGlzIHRoZSBMTDFBIG1lc3NhZ2UgcHJvY2VzcyBmdW5jdGlvbiBlbnRyeSBpbiBIU0MgdGFzay4gCisgIFBBUkFNRVRFUlM6ICAgICAgKk1zZ0RhdGFQIC0gTWVzc2FnZSBEYXRhIFBvaW50ZXIKKyAgICAgICAgICAgICAgICAgICBNc2dJZCAgICAgLSBUaGUgZGVmaW5lZCBtZXNzYWdlIGlkCisgICAgICAgICAgICAgICAgICAgTXNnU2l6ZSAgIC0gVGhlIG1lc3NhZ2Ugc2l6ZQorICBSRVRVUk5FRCBWQUxVRVM6IFRSVUUgLSBQcm9jZXNzZWQKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworZXh0ZXJuIGthbF9ib29sIEhzY1Byb2NMbDFhTXNnKHZvaWQgKk1zZ0RhdGFQLCBrYWxfdWludDMyIE1zZ0lkLCBrYWxfdWludDMyIE1zZ1NpemUpOworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIAorICBGVU5DVElPTiBOQU1FOiAgIExsMWFNb2RlU3RhdHVzR2V0CisKKyAgREVTQ1JJUFRJT046ICAgICBUaGUgQVBJIHByb3ZpZGUgYnkgTEwxQSB0byBnZXQgdGhlIFJNQyBNb2RlIFN0YXR1cworICBQQVJBTUVURVJTOiAgICAgIHZvaWQKKworICBSRVRVUk5FRCBWQUxVRVM6IFJtY01vZGVTdGF0dXNUCisKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworZXh0ZXJuIFJtY01vZGVTdGF0dXNUIExsMWFNb2RlU3RhdHVzR2V0KHZvaWQpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAKKyAgRlVOQ1RJT04gTkFNRTogICBMbDFhTW9kZVN0YXR1c1NldAorCisgIERFU0NSSVBUSU9OOiAgICAgVGhlIEFQSSBwcm92aWRlIGJ5IExMMUEgdG8gc2V0IHRoZSBSTUMgTW9kZSBTdGF0dXMKKyAgUEFSQU1FVEVSUzogICAgICBSbWNNb2RlU3RhdHVzCisKKyAgUkVUVVJORUQgVkFMVUVTOiB2b2lkCisKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworZXh0ZXJuIHZvaWQgTGwxYU1vZGVTdGF0dXNTZXQoUm1jTW9kZVN0YXR1c1QgIFJtY01vZGVTdGF0dXMpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAKKyAgRlVOQ1RJT04gTkFNRTogICBMbDFhRHJ4Q3ljbGVMZW5HZXQKKworICBERVNDUklQVElPTjogICAgIFRoZSBBUEkgcHJvdmlkZSBieSBMTDFBIHRvIGdldCB0aGUgUk1DIERSWCBjeWNsZSBsZW5ndGgKKyAgUEFSQU1FVEVSUzogICAgICB2b2lkCisKKyAgUkVUVVJORUQgVkFMVUVTOiB1aW50MTYKKworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitleHRlcm4ga2FsX3VpbnQxNiBMbDFhRHJ4Q3ljbGVMZW5HZXQodm9pZCk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIAorICBGVU5DVElPTiBOQU1FOiAgIExsMWFEcnhDeWNsZUxlblNldAorCisgIERFU0NSSVBUSU9OOiAgICAgVGhlIEFQSSBwcm92aWRlIGJ5IExMMUEgdG8gc2V0IHRoZSBSTUMgRFJYIGN5Y2xlIGxlbmd0aAorICBQQVJBTUVURVJTOiAgICAgIHVpbnQxNgorCisgIFJFVFVSTkVEIFZBTFVFUzogdm9pZAorCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK2V4dGVybiB2b2lkIExsMWFEcnhDeWNsZUxlblNldChrYWxfdWludDE2ICBEcnhDeWNsZUxlbik7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIAorICBGVU5DVElPTiBOQU1FOiAgIExsMWFSYXRTdGF0ZUdldAorCisgIERFU0NSSVBUSU9OOiAgICAgVGhlIEFQSSBwcm92aWRlIGJ5IExMMUEgdG8gZ2V0IHRoZSBzTGwxYVNjaGVJbmZvLlJhdFN0YXRlCisgIFBBUkFNRVRFUlM6ICAgICAgdm9pZAorCisgIFJFVFVSTkVEIFZBTFVFUzogYm9vbAorCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK2V4dGVybiBMbDFhU3RhdGVUeXBlVCBMbDFhUmF0U3RhdGVHZXQodm9pZCk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIAorICBGVU5DVElPTiBOQU1FOiAgIExsMWFSYXRTdGF0ZVNldAorCisgIERFU0NSSVBUSU9OOiAgICAgVGhlIEFQSSBwcm92aWRlIGJ5IExMMUEgdG8gc2V0IHRoZSBzTGwxYVNjaGVJbmZvLlJzdmFzU3VzcGVuZAorICBQQVJBTUVURVJTOiAgICAgIGJvb2wKKworICBSRVRVUk5FRCBWQUxVRVM6IHZvaWQKKworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitleHRlcm4gdm9pZCBMbDFhUmF0U3RhdGVTZXQoTGwxYVN0YXRlVHlwZVQgIFJhdFN0YXRlKTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgCisgIEZVTkNUSU9OIE5BTUU6ICAgTGwxYUluaXQKKworICBERVNDUklQVElPTjogICAgIFRoZSBMTDFBIEluaXRpYWxpc2UgZnVuY3Rpb24KKworICBQQVJBTUVURVJTOiAgICAgIAorCisgIFJFVFVSTkVEIFZBTFVFUzogCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK2V4dGVybiB2b2lkIExsMWFJbml0KHZvaWQpOworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgCisgIEZVTkNUSU9OIE5BTUU6ICAgTGwxYUluaXRGb3JWendNbW8KKworICBERVNDUklQVElPTjogICAgIFRoZSBMTDFBIEluaXRpYWxpc2UgZnVuY3Rpb24KKworICBQQVJBTUVURVJTOiAgICAgIAorCisgIFJFVFVSTkVEIFZBTFVFUzogCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK2V4dGVybiB2b2lkIExsMWFJbml0Rm9yVnp3TW1vKHZvaWQpOworCisjaWZkZWYgQzJLX0xMMV9TVFVCX1RBUkdFVF9TVVBQT1JUCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAKKyAgRlVOQ1RJT04gTkFNRTogICBMbDFhRXZTdGFuZGJ5U2V0TFRFSW5mbworCisgIERFU0NSSVBUSU9OOiAgICAgRXZTdGFuZGJ5IHVzZSB0aGlzIEFQSSB0byBzZXQgdGhlIExURSdzIGluZm8KKyAgICAgICAgICAgICAgICAgICBQYXR0ZXJuLgorICBQQVJBTUVURVJTOiAgICAgIAorICBSRVRVUk5FRCBWQUxVRVM6IAorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitleHRlcm4gdm9pZCBMbDFhRXZTdGFuZGJ5U2V0TFRFSW5mbyh2b2lkICpNc2dEYXRhUCk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIAorICBGVU5DVElPTiBOQU1FOiAgIExsMWFFdlN0YW5kYnlTZXRHYXBMZW5ndGhJbmZvCisKKyAgREVTQ1JJUFRJT046ICAgICBFdlN0YW5kYnkgdXNlIHRoaXMgQVBJIHRvIHNldCB0aGUgTFRFJ3MgZ2FwIGxlbmd0aCBpbmZvIGZyb20gc2NyaXB0CisgICAgICAgICAgICAgICAgICAgUGF0dGVybi4KKyAgUEFSQU1FVEVSUzogICAgICAKKyAgUkVUVVJORUQgVkFMVUVTOiAKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworZXh0ZXJuIHZvaWQgTGwxYUV2U3RhbmRieVNldEdhcExlbmd0aEluZm8odm9pZCAqTXNnRGF0YVApOworCisjZW5kaWYKKworZXh0ZXJuIEwxZE1vZGVTdGF0dXNUIExsMWFMMWRNb2RlU3RhdHVzR2V0KHZvaWQpOworZXh0ZXJuIHZvaWQgTGwxYUwxZE1vZGVTdGF0dXNTZXQoTDFkTW9kZVN0YXR1c1QgIEwxZE1vZGVTdGF0dXMpOworCisKK2V4dGVybiBSbWNSYXRTdGF0dXNUIExsMWFSbWNSYXRTdGF0dXNHZXQodm9pZCk7CitleHRlcm4gdm9pZCBMbDFhUm1jUmF0U3RhdHVzU2V0KFJtY1JhdFN0YXR1c1QgIFJtY1JhdFN0YXR1cyk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIAorICBGVU5DVElPTiBOQU1FOiAgIExsMWFEb1N0YW5kYnlNZWFzVGlja0JpdG1hcEdldAorCisgIERFU0NSSVBUSU9OOiAgICAgVGhlIEFQSSBwcm92aWRlIGJ5IExMMUEgdG8gZ2V0IHRoZSBzTGwxYU1lYXNUaWNrQml0bWFwCisgIFBBUkFNRVRFUlM6ICAgICAgdm9pZAorCisgIFJFVFVSTkVEIFZBTFVFUzogYm9vbAorCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK2V4dGVybiBrYWxfdWludDggTGwxYURvU3RhbmRieU1lYXNUaWNrQml0bWFwR2V0KHZvaWQpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAKKyAgRlVOQ1RJT04gTkFNRTogICBMbDFhRG9TdGFuZGJ5TWVhc1RpY2tCaXRtYXBTZXQKKworICBERVNDUklQVElPTjogICAgIFRoZSBBUEkgcHJvdmlkZSBieSBMTDFBIHRvIHNldCB0aGUgc0xsMWFNZWFzVGlja0JpdG1hcAorICBQQVJBTUVURVJTOiAgICAgIGJvb2wKKworICBSRVRVUk5FRCBWQUxVRVM6IHZvaWQKKworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitleHRlcm4gdm9pZCBMbDFhRG9TdGFuZGJ5TWVhc1RpY2tCaXRtYXBTZXQoa2FsX3VpbnQ4ICBNZWFzVGlja0JpdG1hcCk7CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgCisgIEZVTkNUSU9OIE5BTUU6ICAgTGwxYURvU3RhbmRieU1lYXNQdXJwb3NlQml0bWFwR2V0CisKKyAgREVTQ1JJUFRJT046ICAgICBUaGUgQVBJIHByb3ZpZGUgYnkgTEwxQSB0byBnZXQgdGhlIHNMbDFhTWVhc1B1cnBvc2VCaXRtYXAKKyAgUEFSQU1FVEVSUzogICAgICB2b2lkCisKKyAgUkVUVVJORUQgVkFMVUVTOiBib29sCisKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworZXh0ZXJuIGthbF91aW50OCBMbDFhRG9TdGFuZGJ5TWVhc1B1cnBvc2VCaXRtYXBHZXQodm9pZCk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIAorICBGVU5DVElPTiBOQU1FOiAgIExsMWFEb1N0YW5kYnlNZWFzUHVycG9zZUJpdG1hcFNldAorCisgIERFU0NSSVBUSU9OOiAgICAgVGhlIEFQSSBwcm92aWRlIGJ5IExMMUEgdG8gc2V0IHRoZSBzTGwxYU1lYXNQdXJwb3NlQml0bWFwCisgIFBBUkFNRVRFUlM6ICAgICAgYm9vbAorCisgIFJFVFVSTkVEIFZBTFVFUzogdm9pZAorCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK2V4dGVybiB2b2lkIExsMWFEb1N0YW5kYnlNZWFzUHVycG9zZUJpdG1hcFNldChrYWxfdWludDggIE1lYXNQdXJwb3NlQml0bWFwKTsKKworCisjZW5kaWYgLyoqIEVuZCBvZiBNVEtfREVWX0MyS19JUkFULiAqLworI2VuZGlmCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY2wxdHNrbGwxYWRlZnMuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jbDF0c2tsbDFhZGVmcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1MzMyMWYKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY2wxdHNrbGwxYWRlZnMuaApAQCAtMCwwICsxLDI0NSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiAgX0NMMVRTS0xMMUFERUZTX0hfCisjZGVmaW5lICBfQ0wxVFNLTEwxQURFRlNfSF8KKworCisjaWZkZWYgTVRLX0RFVl85M01fUFJFSVQKKyNpbmNsdWRlICJrYWxfcHVibGljX2RlZnMuaCIKKyNpbmNsdWRlICJzeXN0eXAuaCIKKyNpbmNsdWRlICJ2YWxhcGkuaCIKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKworICBGSUxFIE5BTUU6IGNsMXRza2xsMWFkZWZzLmgKKworICBERVNDUklQVElPTjoKKworICAgICBUaGlzIGZpbGUgY29udGFpbnMgdGhlIGRhdGEgdHlwZSBkZWZpbml0aW9uIG9mIExMMUEgbW9kdWxlIGluIDkzbQorCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisqIERlZmluaXRpb25zCisqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisjZGVmaW5lIFBOVUxMICh2b2lkKikoMCkKKworI2RlZmluZSBUSUNLX0JJVE1BUF9MUFMgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMSkKKyNkZWZpbmUgVElDS19CSVRNQVBfSFBTICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDIpCisjZGVmaW5lIFRJQ0tfQklUTUFQX1JFUyAgICAgICAgICAgICAgICAgICAgICAgICgweDA0KQorI2RlZmluZSBUSUNLX0JJVE1BUF9NUFNSICAgICAgICAgICAgICAgICAgICAgICAoMHgwOCkKKworI2RlZmluZSBMTDFBX01FQVNfUFVSUE9TRV9DRUxMX1NFQVJDSCAgICAgICAgICAoMHgwMikKKyNkZWZpbmUgTEwxQV9NRUFTX1BVUlBPU0VfTUVBU1VSRSAgICAgICAgICAgICAgKDB4MDEpCisKKyNkZWZpbmUgQzJLX1NSTFRFX0xMMUFfT04gICAgICBDMktfU1JMVEVfT04KKworI2lmbmRlZiBNVEtfUExUX09OX1BDCisvLyNkZWZpbmUgTVRLX0RFVl85M01fTEwxQV9CWVBBU1NfRU5BQkxFICAKKy8vI2RlZmluZSBDMktfTEwxX1NUVUJfVEFSR0VUX1NVUFBPUlQKKyNlbmRpZgorCisKKworCisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitNYWNyb3MgRGVmaW5pdGlvbgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKworCisKKworCisKKworCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKiBFbnVtcworKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworLyoqIFRoZSBFVkRPJ3MgUmF0IFN0YXR1cyBFbnVtLiAqLwordHlwZWRlZiBlbnVtCit7CisgICAgUkFUX0ZMSUdIVCwKKyAgICBSQVRfU1RBTkRCWSwKKyAgICBSQVRfQUNUSVZFLCAgICAKKyAgICBSQVRfUFNFVURPX0ZMSUdIVCwKKyAgICBSQVRfUFNFVURPX0FDVElWRSwKKyAgICBSQVRfTlVMTAorfVJtY1JhdFN0YXR1c1Q7CisKKy8qKiBUaGUgTEwxQSdzIEludGVybmFsIFN0YXRlIERlZmluaXRpb24uICovCit0eXBlZGVmIGVudW0KK3sKKyAgICBMTDFBX0ZMSUdIVCwKKyAgICBMTDFBX1NUQU5EQlksCisgICAgTEwxQV9BQ1RJVkUsICAgIAorICAgIExMMUFfUkFUX01PREVfSU5JVCwKKyAgICBMTDFBX1NVU1BFTkQgICAgICAgICAgCit9TGwxYVN0YXRlVHlwZVQ7CisKKy8qKiBUaGUgRVZETydzIG1vZGUgc3RhdHVzIGVubXUuICovCit0eXBlZGVmIGVudW0KK3sKKyAgICBSTUNfTU9ERV9CRUdJTiwKKyAgICBSTUNfTlVMTF9NT0RFLAorICAgIFJNQ19JRExFX01PREUsCisgICAgUk1DX0NPTk5FQ1RfTU9ERQorfVJtY01vZGVTdGF0dXNUOworCisvKiogVGhlIDF4UlRUJ3MgbW9kZSBzdGF0dXMgZW5tdS4gKi8KK3R5cGVkZWYgIGVudW0KK3sKKyAgICBMMURfTk9OX0RBVEFfQ09OTkVDVEVEX01PREUsCisgICAgTDFEX0RBVEFfQ09OTkVDVEVEX01PREUgICAgCit9TDFkTW9kZVN0YXR1c1Q7CisKKy8qKiBMTDFBIGdhcCBvZmZlcmVkIHN0YXR1cy4qLwordHlwZWRlZiAgZW51bQoreworICAgIEdBUF9OT1RfT0ZGRVJFRCwKKyAgICBHQVBfT0ZGRVJFRCwKKyAgICBXQUlUX0ZPUl9HQVBfU1RPUF9DTkYgICAgCit9TGwxYUdhcE9mZmVyZWRTdGF0dXNUOworCisvKiogTEwxQSBhdXRvZ2FwIGF2YWlsYWJsZSBzdGF0dXMuKi8KK3R5cGVkZWYgIGVudW0KK3sKKyAgICBBVVRPX0dBUF9TVEFUVVNfVU5LTk9XTiwKKyAgICBBVVRPX0dBUF9TVEFUVVNfQVZBSUwsCisgICAgQVVUT19HQVBfU1RBVFVTX1VOQVZBSUwgICAgCit9TGwxYUF1dG9HYXBBdmFpbFN0YXR1c1Q7CisKKy8qKiBMTDFBIGF1dG9nYXAgcmVxdWVzdCBzdGF0ZS4qLwordHlwZWRlZiAgZW51bQoreworICAgIEFVVE9fR0FQX05VTEwsCisgICAgQVVUT19HQVBfUkVRX1BFTkRJTkcsCisgICAgQVVUT19HQVBfV0FJVF9SRVNVTFQsCisgICAgQVVUT19HQVBfQUNUSVZFICAgCit9TGwxYUF1dG9HYXBSZXFTdGF0ZVQ7CisKKy8qKiBMTDFBIEFjdGl2ZSBHYXAgUGF0dGVybiB0eXBlLiovCit0eXBlZGVmICBlbnVtCit7CisgICAgQUNUSVZFX05VTExfR0FQLAorICAgIEFDVElWRV9JRExFX0dBUCwKKyAgICBBQ1RJVkVfTU1PX0dBUAorfUxsMWFBY3RpdmVHYXBQYXR0ZXJuVHlwZVQ7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX3VpbnQzMiAgICBSdHRHYXBMZW47ICAgICAgICAgICAgICAgLyogMXhSVFQgcHMgY29ubmVjdCBnYXAgbGVuZ3RoIGZvciBMVEUgTU1PIDogdW5pdCBtcyAqLworICAgIGthbF91aW50MzIgICAgRXZkb0dhcExlbjsgICAgICAgICAgICAgIC8qIEVWRE8gY29ubmVjdCBnYXAgbGVuZ3RoIGZvciBMVEUgTU1PIDogdW5pdCBtcyAqLworICAgIGthbF9ib29sICAgICAgUnRiYU1tb0dhcEVuYWJsZTsgICAgICAgIC8qIFRSVUU6TEwxQSBoYXZlIHNlbnQgZW5hYmxlIHRvIFJUQkE7IEZBTFNFOiBMTDFBIGhhdmUgc2VudCBkaXNhYmxlIHRvIFJUQkEgKi8gICAgIAorfUxsMWFDMmtDb25uR2FwVDsKKworLyoqIEwxZCBNb2RlIFN0YXR1cyBJbmQuICovCit0eXBlZGVmICBzdHJ1Y3QKK3sKKyAgICBMMWRNb2RlU3RhdHVzVCAgICBMMWRNb2RlU3RhdHVzOyAgIC8qIE5vbl9EYXRhL0RhdGEuICovCit9TGwxYUwxZE1vZGVTdGF0dXNJbmRNc2dUOworCisvKiogTEwxQSdzIGludGVybmFsIHBhcmFtZXRlcnMgZGVmaW5pdG9uLiovCit0eXBlZGVmIHN0cnVjdAoreworICAgIExsMWFTdGF0ZVR5cGVUICAgICAgICAgICAgICBSYXRTdGF0ZTsgICAgICAgICAgIC8qKiBMTDFBJ3MgaW50ZXJuYWwgUmF0U3RhdGUuICovCisgICAgUm1jUmF0U3RhdHVzVCAgICAgICAgICAgICAgIFJtY1JhdFN0YXR1czsgICAgICAgLyoqIExMMUEgcmVjb3JkIHRoZSByYXQgc3RhdHVzIG9mIEVWRE8uKi8KKyAgICBSbWNNb2RlU3RhdHVzVCAgICAgICAgICAgICAgUm1jTW9kZVN0YXR1czsgICAgICAvKiogUk1DJ3MgTW9kZSBTdGF0dXMgcmVzdG9yZWQgaW4gTEwxQS4gKi8KKyAgICBMMWRNb2RlU3RhdHVzVCAgICAgICAgICAgICAgTDFkTW9kZVN0YXR1czsgICAgICAvKiogTDFEJ3MgbW9kZSBzdGF0dXMgcmVjb3JkZWQgaW4gTEwxQSAqLworCisgICAgTGwxYUdhcE9mZmVyZWRTdGF0dXNUICAgICAgIEdhcE9mZmVyZWRTdGF0dXM7ICAgLyoqIEluZGljYXRlIHRoZSBnYXAgb2ZmZXJlZCBzdGF0dXMgZm9yIGV2ZG8gYWN0aXZlLiAqLworICAgIFN5c0FpckludGVyZmFjZVQgICAgICAgICAgICBHYXBPZmZlcmVkT3duZXI7ICAgIC8qKiBJbmRpY2F0ZSB0aGUgZ2FwIG9mZmVyZWQgb3duZXIgZm9yIGV2ZG8gb3IgcnR0IGFjdGl2ZS4gKi8KKyAgICBMbDFhQXV0b0dhcEF2YWlsU3RhdHVzVCAgICAgQXV0b0dhcEF2YWlsU3RhdHVzOyAvKiogSW5kaWNhdGUgdGhlIGF1dG8tZ2FwIGF2YWlsYWJsZSBpbmZvcm1hdGlvbiBmb3IgZXZkbyBzdGFuZGJ5LiAqLworICAgIExsMWFBdXRvR2FwUmVxU3RhdGVUICAgICAgICBBdXRvR2FwUmVxU3RhdGU7ICAgIC8qKiBJbmRpY2F0ZSB0aGUgYXV0by1nYXAgcmVxdWVzdCBzdGF0ZSBmb3IgZXZkbyBzdGFuZGJ5LiAqLworICAgIGthbF91aW50OCAgICAgICAgICAgICAgICAgICBHYXBJZ25vcmVGbGFnOyAgICAgIC8qKiBJbmRpY2F0ZSB0aGUgd2hldGhlciBuZWVkcyB0byBpZ25vcmUgdGhlIGFjdGl2ZSBnYXAgcGF0dGVybiBpbmQgb3Igc3RhbmRieSBnYXAgbm90aWZ5IGluZC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCaXQwIC0gSWdub3JlIHRoZSBhY3RpdmUgZ2FwIHBhdHRlcm4gd2hlbiBzZXQgYXMgMTsgQml0MSAtIElnbm9yZSB0aGUgc3RhbmRieSBnYXAgbm90aWZ5IHdoZW4gc2V0IGFzIDEuKi8KKyAgICBrYWxfYm9vbCAgICAgICAgICAgICAgICAgICAgR2FwU2VydmljZUVuYWJsZTsgICAvKiogSW5kaWNhdGUgdGhlIGdhcCBzZXJ2aWNlIGVuYWJsZSBzdGF0dXMuICovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICAgICAgICAgIEdhcFN0b3BTdXNwZW5kRXZlbnQ7ICAgLyoqIFRvIHJlY29yZCB0aGUgZ2FwIHN0b3AgcmVxIGFuZCBnYXAgc3VzcGVuZCByZXEgZXZlbnQuKi8KKyAgICBrYWxfdWludDMyICAgICAgICAgICAgICAgICAgQXV0b0dhcFN0YXJ0VGltZTsgLyoqIFRoZSBHTSBuZWVkIExMMUEgdG8gcmV0dXJuIHRoZSBhdXRvIHRpbWUuKi8KKyAgICBrYWxfdWludDE2ICAgICAgICAgICAgICAgICAgRHJ4Q3ljbGVMZW47ICAgIC8qKiBMTDFBIE5lZWRzIHRvIHJlY29yZCB0aGUgRHJ4Q3ljbGUgTGVuZ3RoIGZvciBldmRvIGFjdGl2ZSBpZGxlIG1vZGUuKi8KKyAgICBrYWxfYm9vbCAgICAgICAgICAgICAgICAgICAgSXNDMmtPblNpbTI7ICAgIC8qIHRvIGluZGljYXRlIEVWRE8gaW4gU0lNMSBvciBTSU0yICovIAorfUxsMWFTY2hlSW5mb1Q7CisKKy8vI2lmZGVmIEMyS19MTDFfU1RVQl9UQVJHRVRfU1VQUE9SVCAvKiBmb3IgTldTSU0gVVQvSVQgYnVpbGQgaW4gZWx0X21zZ19zdHJ1Y3QuaCAqLworLyoqIFRoZSAxeFJUVCdzIG1vZGUgc3RhdHVzIGVubXUuICovCit0eXBlZGVmICBlbnVtCit7CisgICAgTFRFX0FDVElWRV9OVUxMLAorICAgIExURV9BQ1RJVkVfSURMRSwKKyAgICBMVEVfQUNUSVZFX0NPTk5FQ1QgICAgCit9TGwxYUx0ZVN0dWJNb2RlVDsKKworCisvKiBMbDFhIHN0dWIgZGVmaW5pdGFpb24gZm9yIHRhcmdldCBzdGFuZGJ5ICovCit0eXBlZGVmICBzdHJ1Y3QKK3sKKyAgICBMbDFhTHRlU3R1Yk1vZGVUICAgIEx0ZU1vZGU7ICAgLyogTFRFIGFjdGl2ZSBtb2RlLiAqLworICAgIGthbF9ib29sICAgICAgICAgICAgU3RvcEdhcEluR2FwUmFuZ2U7IC8qIHdoZXRoZXIgbmVlZCBMTDFBIHNlbmQgc3RvcCBnYXAgdG8gRVZMMSBkdXJpbmcgZ2FwIHJhbmdlICovICAgIAorfUxsMWFMdGVBY3RpdmVJbmZvVDsKKworLyogTGwxYSBzdHViIGRlZmluaXRhaW9uIGZvciB0YXJnZXQgc3RhbmRieSAqLwordHlwZWRlZiAgc3RydWN0Cit7CisgICAga2FsX3VpbnQzMiAgICAgICAgICAgIE51bGxHYXBMZW47ICAgICAgLyogTFRFIGFjdGl2ZSBOdWxsIGdhcCBsZW5ndGgsIE1heCBpcyA1MDAwMDAwLCBVaW50OnVzIC4gKi8KKyAgICBrYWxfdWludDMyICAgICAgICAgICAgSWRsZUdhcExlbjsgICAgICAvKiBMVEUgYWN0aXZlIElkbGUgZ2FwIGxlbmd0aCwgTWF4IGlzIDEwMDAwMDAwLCBVaW50OnVzIC4gKi8gICAgCisgICAga2FsX3VpbnQzMiAgICAgICAgICAgIENvbm5HYXBMZW47ICAgICAgLyogTFRFIGFjdGl2ZSBDb25uZWN0IGdhcCBsZW5ndGgsIE1heCBpcyA2MDAwLCBVaW50OnVzIC4gKi8gCisgICAga2FsX3VpbnQzMiAgICAgICAgICAgIEF1dG9HYXBMZW47ICAgICAgLyogTEwxQSBzZW5kIGF1dG8gZ2FwIHN0b3Agd2l0aCB0aGlzIGxlbmd0aCB3aGVuIGhhcyBvZmZlciBhdXRvIGdhcCB0byBFVkwxLE1heCBpcyA2MDAwMDAgVWludDp1cyAuICovIAorfUxsMWFTdGFuZGJ5R2FwTGVuSW5kVDsKKworCisvKiBMbDFhIHN0dWIgZGVmaW5pdGFpb24gZm9yIHRhcmdldCBzdGFuZGJ5ICovCit0eXBlZGVmICBzdHJ1Y3QKK3sKKyAgICBMbDFhTHRlQWN0aXZlSW5mb1QgICAgTHRlQWN0aXZlSW5mbzsgICAvKiBMVEUgYWN0aXZlIGluZm8uICovCisgICAga2FsX3VpbnQxNiAgICAgICAgICAgIE5vcm1hbEdhcENudDsgICAgLyogdG8gcmVjb3JkIGhvdyBtYW55IGdhcHMgaGF2ZSBzZW50IHRvIEVWTDEgKi8gICAgCisgICAga2FsX3VpbnQxNiAgICAgICAgICAgIEF1dG9HYXBDbnQ7ICAgICAgLyogdG8gcmVjb3JkIGhvdyBtYW55IGdhcHMgaGF2ZSBzZW50IHRvIEVWTDEgKi8gCisgICAgTGwxYVN0YW5kYnlHYXBMZW5JbmRUIEdhcExlbmd0aDsgICAgICAgIC8qIHRvIHJlY29yZCBnYXAgbGVuZ3RoIGZyb20gc2NyaXB0IGluZGljYXRpb24gKi8KK31MbDFhU3R1YkluZm9UOworCisKKy8vI2VuZGlmCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIEVuZCBvZiBGaWxlCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNlbmRpZgorI2VuZGlmCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY2wxdHN0X2VtX2V2bDEuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jbDF0c3RfZW1fZXZsMS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5NjY3MTkKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY2wxdHN0X2VtX2V2bDEuaApAQCAtMCwwICsxLDEyMCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TS0FMX1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DTDFUU1RfRU1fRVZMMV9IXworI2RlZmluZSBfQ0wxVFNUX0VNX0VWTDFfSF8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIAorKiBGSUxFIE5BTUUgICA6ICAgICBjbDF0c3RfZW1fZXZsMS5oLgorKgorKiBERVNDUklQVElPTiA6ICAgZXZsMSBFTSBkZXNpZ24gTXNnaWQgYW5kIGZ1bnRpb24gZGVjbGFyYXRpb24KKyoKKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEluY2x1ZGUgRmlsZXMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLyAgIAorI2lmbmRlZiBNVEtfREVWXzkzTV9DMktfTDFfVVQKKyNpZmRlZiBfX01PREVNX0VNX01PREVfXworI2RlZmluZSBfX0VWTDFfRU1fTU9ERV9fCisjaW5jbHVkZSAiZW1fcHVibGljX3N0cnVjdF9ldmwxLmgiCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEdsb2JhbCBUeXBlZGVmcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgZW1faW5mb19lbnVtICAgICAgICAgICAgICAgICAgICAgZW1faW5mbzsKKyAgICBlbV9ldmwxX2NlbGxfc3dpdGNoX2luZm9fc3RydWN0ICBNc2c7Cit9IGVtX2V2bDFfY2VsbF9zd2l0Y2hfaW5mb190ZW1wX3N0cnVjdDsKKworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBHbG9iYWwgRGF0YQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBHbG9iYWwgVmFyaWFibGVzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy8qIEVNX0lEIFN3aXRjaCBmb3IgRVZMMSAqLworI2RlZmluZSAgRVZMMV9FTV9JRF9OVU0gIChFTV9FVkwxX0lORk9fRU5EIC0gRU1fRVZMMV9JTkZPX0JFR0lOICsgMSkKK2V4dGVybiBrYWxfYm9vbCBldmwxX2VtX29uX3NbRVZMMV9FTV9JRF9OVU1dIDsKK2V4dGVybiBrYWxfdWludDggVHhBY0VtRnJhbWVOdW0gOworZXh0ZXJuIGVtX2V2bDFfYWNjX2RhdGFfcmF0ZV9pbmZvX3N0cnVjdCBUeEFjRXZsMUVtTXNnOworCisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgR2xvYmFsIEZ1bmN0aW9uIFByb3RvdHlwZXMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwordm9pZCBFdmwxRW1VcGRhdGVSZXFNc2cobG9jYWxfcGFyYV9zdHJ1Y3QgKmxvY2FsX3BhcmFfcHRyKTsKK3ZvaWQgRXZsU2VuZEVtUHJvY0dlbmVyYWxJbmZvSW5kKGVtX2V2bDFfZ2VuZXJhbF9pbmZvX3N0cnVjdCAqRW1Nc2dQdHIpOwordm9pZCBFdmwxU2VuZEVtUHJvY1R4YWdjUHdySW5mb0luZCh2b2lkKTsKK3ZvaWQgRXZsMVNlbmRFbVByb2NDZWxsU3dpdGNoSW5mb0luZCh2b2lkKTsKK3ZvaWQgRXZsMVNlbmRFbVByb2NSeGFnY0luZm9JbmQodm9pZCk7Cit2b2lkIEV2bDFTZW5kRW1Qcm9jQWZjSW5mb0luZCh2b2lkKTsKK3ZvaWQgRXZsMVNlbmRFbVByb2NNYnBTZWN0b3JJbmZvSW5kKHZvaWQpOwordm9pZCBFdmwxU2VuZEVtUHJvY0ZtcEZpbmdlckluZm9JbmQodm9pZCk7Cit2b2lkIEV2bDFTZW5kRW1Qcm9jRm1wU2VjdG9ySW5mb0luZCh2b2lkKTsKK3ZvaWQgRXZsMVNlbmRFbVByb2NUaW1pbmdUcmFja1N0YXR1c0luZCh2b2lkKTsKK3ZvaWQgRXZsMVNlbmRFbVByb2NTY2hTdGF0dXNJbmQodm9pZCk7Cit2b2lkIEV2bDFTZW5kRW1Qcm9jU2NoUGlsb3RVcGRhdGVJbmZvSW5kKHZvaWQpOwordm9pZCBFdmwxU2VuZEVtUHJvY1NjaFJlc3VsdEluZm9JbmQodm9pZCk7Cit2b2lkIEV2bDFTZW5kRW1Qcm9jQWNjRGF0YVJhdGVJbmZvSW5kKHZvaWQpOwordm9pZCBFdmwxU2VuZEVtUHJvY1RyYWZmaWNScmlWYWx1ZUluZm9JbmQodm9pZCk7Cit2b2lkIEV2bDFTZW5kRW1UeEFnY1B3ck1zZ1RvQ2wxdHN0KHZvaWQgKkVtUHdyUCwga2FsX3VpbnQxNiBFbVJlcEN0cmwpOwordm9pZCBFdmwxU2VuZEVtVGltaW5nVHJhY2tTdGF0dXNNc2dUb0NsMXRzdChrYWxfaW50MTYgRW1TdEFkakRpcik7Cit2b2lkIEV2bDFFbUdlbmVyYWxJbmZvQ29sbGVjdEFuZFJlcG9ydCh2b2lkKTsKK3ZvaWQgRXZsMVNlbmRFbVR4QWNjRGF0YVJhdGVNc2dUb0NsMXRzdChrYWxfdWludDE2IEVtVHhBY0RhdGFSYXRlKTsKK3ZvaWQgRXZsMVNlbmRFbVR4VHJhZmZpY1JyaUluZm9Nc2dUb0NsMXRzdChrYWxfdWludDE2IEVtVHhScmlEYXRhQWNrLCBrYWxfdWludDE2IEVtVHhScmlEYXRhTmFrLCBrYWxfdWludDE2IEVtU3VidHlwZSk7Cit2b2lkIEV2bDFFbUdlbmVyYWxJbmZvVXBkYXRlU2V0KHZvaWQpOworI2lmZGVmIF9fVEMxMF9JUENfQ0RNQV9TVVBQT1JUX18KK3ZvaWQgRXZsMVNlbmRFbVByb2NSZlBkSW5mb0luZCh2b2lkKTsKKyNlbmRpZgorCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBFbmQgb2YgRmlsZQorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKworCisKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jbDF0c3Rjb21tb24uaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jbDF0c3Rjb21tb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOTdlMTNhCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NsMXRzdGNvbW1vbi5oCkBAIC0wLDAgKzEsMTMxIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgTW9kaWZpY2F0aW9uIE5vdGljZToKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIG1vZGlmaWVkIGJ5IE1lZGlhVGVrIEluYy4gYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoKKyogRmlsZW5hbWU6CisqIC0tLS0tLS0tLQorKiBjbDF0c3Rjb21tb24uaAorKgorKiBQcm9qZWN0OgorKiAtLS0tLS0tLQorKiAgIE1UWFhYWCBQcm9qZWN0CisqCisqIERlc2NyaXB0aW9uOgorKiAtLS0tLS0tLS0tLS0KKyogICBUaGlzIGZpbGUgY29udGFpbnMgdGhlIGxvZyBJUSBmdW5jdGlvbnMuCisqCisqIEF1dGhvcjoKKyogLS0tLS0tLQorKgorKgorKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorKiAgICAgICAgICAgICBISVNUT1JZCisqIEJlbG93IHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisqCisqCisqCisqCisqCisqCisqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisqIFVwcGVyIHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgX0NMMVRTVF9DT01NT05fSF8KKyNkZWZpbmUgX0NMMVRTVF9DT01NT05fSF8KKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgSW5jbHVkZSBGaWxlcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisjaW5jbHVkZSAia2FsX2dlbmVyYWxfdHlwZXMuaCIKKyNpbmNsdWRlICJrYWxfcHVibGljX2RlZnMuaCIKKyNpbmNsdWRlICJzeXNhcGkuaCIKKworLyoqIEZoY1N0YXR1c0UuCisgKiBJbmRpY2F0ZXMgdGhlIEZIQyBzdGF0dXMuCisgKi8KK3R5cGVkZWYgZW51bQoreworICAgIEZIQ19TVEFUVVNfU1RPUCwgICAgICAgLyoqIFN0b3AgKi8KKyAgICBGSENfU1RBVFVTX1JVTklORyAgICAgIC8qKiBSdW5uaW5nICovCit9IEZoY1N0YXR1c0U7CisKKy8qKiBkZWZpbmUgRFBEIHN0YXR1cyAqLwordHlwZWRlZiBlbnVtCit7CisgICAgQ0wxVFNUX0RQRF9TVEFUVVNfU1RPUCwgIC8qKiBTdG9wICovCisgICAgQ0wxVFNUX0RQRF9TVEFUVVNfUlVOSU5HIC8qKiBSdW5uaW5nICovCit9IENsMVRzdERwZFN0YXR1c0U7CisKKy8qKiBkZWZpbmUgRGVsYXkgY2FsIHN0YXR1cyAqLwordHlwZWRlZiBlbnVtCit7CisgICAgQ0wxVFNUX0RMWV9TVEFUVVNfU1RPUCwgIC8qKiBTdG9wICovCisgICAgQ0wxVFNUX0RMWV9TVEFUVVNfUlVOSU5HIC8qKiBSdW5uaW5nICovCit9IENsMVRzdERseVN0YXR1c0U7CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICBnbG9iYWwgZnVjY3Rpb24KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworZXh0ZXJuIGthbF9ib29sIENsMUZoY1N0YXR1c0NoZWNrKEZoY1N0YXR1c0UgU3RhdHVzKTsKK2V4dGVybiBrYWxfYm9vbCBDbDFUc3REcGRTdGF0dXNDaGVjayhDbDFUc3REcGRTdGF0dXNFIFN0YXR1cyk7CitleHRlcm4ga2FsX2Jvb2wgQ2wxVHN0RGx5U3RhdHVzQ2hlY2soQ2wxVHN0RGx5U3RhdHVzRSBTdGF0dXMpOworZXh0ZXJuIHZvaWQgQ2wxVHN0RHBkSW5pdCh2b2lkKTsKK2V4dGVybiB2b2lkIENsMVRzdERseUluaXQodm9pZCk7CitleHRlcm4gdm9pZCBDbDFUc3RDYWxJbml0KGthbF91aW50OCBSZk1vZGUpOworZXh0ZXJuIHZvaWQgQ2wxVHN0Q2FsRGVJbml0KGthbF91aW50OCBSZk1vZGUpOworCitleHRlcm4gdm9pZCBDbDFUc3RUeE9uVGltZUNhbGMoU3lzU0ZyYW1lVGltZVQgKiBTRnJhbWVQdHIpOworZXh0ZXJuIGthbF91aW50OCBDbDFUc3RSZk1vZGVDYWxjKGthbF91aW50OCBSZk1vZGUsIGthbF91aW50OCBEYmdJbmZvKTsKK2V4dGVybiB2b2lkIENsMVRzdENmZ1RpbWVDYWxjKFN5c1NGcmFtZVRpbWVUICogU0ZyYW1lUHRyKTsKKworZXh0ZXJuIHZvaWQgQ2wxVHN0WGwxVHhoT24odm9pZCk7CitleHRlcm4gdm9pZCBDbDFUc3RYbDFUeGhPZmYodm9pZCk7CitleHRlcm4gdm9pZCBDbDFUc3RFdmwxVHhoT24odm9pZCk7CitleHRlcm4gdm9pZCBDbDFUc3RFdmwxVHhoT2ZmKHZvaWQpOworCitleHRlcm4gdm9pZCBDbDFUc3REcGRGYWNJc3Iodm9pZCk7CitleHRlcm4gdm9pZCBDbDFUc3REbHlMYWJJc3Iodm9pZCk7CitleHRlcm4gdm9pZCBDbDFGaGNNYWluKHZvaWQpOworCisjZW5kaWYgLyogX0NMMVRTVF9EUERfQ09NX0hfICovCisKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jbDF0c3RkbHlzcmNoLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY2wxdHN0ZGx5c3JjaC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlYTU1ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY2wxdHN0ZGx5c3JjaC5oCkBAIC0wLDAgKzEsMTUxIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBNb2RpZmljYXRpb24gTm90aWNlOgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgbW9kaWZpZWQgYnkgTWVkaWFUZWsgSW5jLiBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDA1CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogICAgICAgICAgICAgSElTVE9SWQorICogQmVsb3cgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogVXBwZXIgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCisvKiBEb3h5Z2VuZSBoZWFkZXIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyoqIAorICogCisgKiBAZmlsZSAgICAgICBjbDF0c3RkbHlzcmNoLmgKKyAqIEB7CisgKi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9fQ0wxVFNURExZU1JDSF9IX18KKyNkZWZpbmUgX19DTDFUU1RETFlTUkNIX0hfXworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgSW5jbHVkZXMKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBEZWZpbmVzCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgRW51bXMKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBTdHJ1Y3R1cmVzCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgSW50ZXJmYWNlIFByb3RvdHlwZXMKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK2V4dGVybiBrYWxfdWludDE2IENsMVRzdERwZFBhdGhEbHlNYWluKHZvaWQpOworCisjZGVmaW5lIENMMVRTVF9ETFlfU1JDSF9IU0xPVF9DTlQgICAgICAgICAgICAgIAkzMgorCisjZGVmaW5lIENMMVRTVF9SRUZfREZFX0RMWV9UUl9NSU4gICAgICAgICAgICAgIAkwICAgICAvKiBIVyBsaW1pdGF0aW9uLiAqLworI2RlZmluZSBDTDFUU1RfUkVGX0RGRV9ETFlfVFJfTUFYICAgICAgICAgICAgICAJOTQgICAgLyogSFcgbGltaXRhdGlvbi4gKi8KKworI2RlZmluZSBDTDFUU1RfQ09SUl9MRUZUX1NISUZUX0JJVF9GT1JfU0lHTl9CSVQgNAorI2RlZmluZSBDTDFUU1RfQ09SUl9BQlNfUklHSFRfU0hJRlRfQklUICAgICAgIAk4CisjZGVmaW5lIENMMVRTVF9OVU1fVFJfVkFMVUVfREVDSU1BTF9QT0lOVCAgICAgICA4CisKKyNkZWZpbmUgQ0wxVFNUX1BST1RFQ1RJT05fU0ZfQ05UX05VTSAgICAgICAgICAgIDEyMDAKKworI2RlZmluZSBDTDFUU1RfRFBEX0RMWV9TUkNIX1JBTkdFICAgICAgICAgICAgICAgNQorCisjZGVmaW5lIENMMVRTVF9HRF9NRUFTX1NBTVBMRSAgICAgICAgICAgICAgICAgICAxNzAwCisjZGVmaW5lIENMMVRTVF9HRF9XQUlUX1NBTVBMRSAgICAgICAgICAgICAgICAgICA2NAorI2RlZmluZSBDTDFUU1RfR0RfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgMworCisvKiogZGVmaW5lIERlbGF5IHNlYXJjaCBzdGF0dXMgKi8KK3R5cGVkZWYgZW51bQoreworCisJQ0wxVFNUX0RMWV9TUkNIX0ZTTV9CQl9FTkFCTEUsCisgICAgQ0wxVFNUX0RMWV9TUkNIX0ZTTV9UWE9OX1RQQywKKworICAgIENMMVRTVF9ETFlfU1JDSF9GU01fV0FJVF9JTklULAorCisJQ0wxVFNUX0RMWV9TUkNIX0ZTTV9GSVJTVF9UUklHLAorCUNMMVRTVF9ETFlfU1JDSF9GU01fU1dFRVBfRExZLAorCisgICAgQ0wxVFNUX0RMWV9TUkNIX0ZTTV9UWE9GRiwKKyAgICBDTDFUU1RfRExZX1NSQ0hfRlNNX0JCX0RJU0FCTEUsCisKKyAgICBDTDFUU1RfRExZX1NSQ0hfRlNNX0RPX1RYSF9JTklULAorICAgIAorCUNMMVRTVF9ETFlfU1JDSF9GU01fSU5WQUxJRCwKKyAgICBDTDFUU1RfRExZX1NSQ0hfRlNNX05VTQorfSBDbDFUc3REbHlTdGF0ZUU7CisKK3R5cGVkZWYgc3RydWN0Cit7CisJa2FsX3VpbnQ4CQkJCUJhbmRDbGFzczsKKwlrYWxfdWludDE2CQkJCUNoYW5OdW07Cit9IENsMVRzdERseUZyZXFJbmZvVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKwkvKiBEUEQgZGVsYXkgc2VhcmNoIHN0YXJ0IHJlcXVlc3QgKi8KKwlDUmZUZXN0Q21kX1N0YXJ0RHBkUGF0aERlbGF5U2VhcmNoX1JlcUluZm8gU3RhcnRJbmZvOworCisJa2FsX2Jvb2wgICAgICAgICAgICAgICAgICAgIERseVNyY2hGbGFnOworCWthbF9ib29sICAgICAgICAgICAgICAgICAgICBUaW1lT3V0RmxhZzsKKwlrYWxfYm9vbCAgICAgICAgICAgICAgICAgICAgU3JjaEZhaWxGbGFnOworCUNsMVRzdERseVN0YXRlRQkJICAgICAgICBEbHlTdGF0ZTsKKworICAgIENsMVRzdERseVN0YXR1c0UgICAgICAgICAgICBEbHlTdGF0dXM7CisKKwlrYWxfaW50MTYgICAgICAgICAgICAgICAgICAgQmJFbkNudDsKKwlrYWxfaW50MTYgICAgICAgICAgICAgICAgICAgVHhPbkNudDsKKwlrYWxfaW50MTYgICAgICAgICAgICAgICAgICAgVHhPZmZDbnQ7CisJa2FsX2ludDE2ICAgICAgICAgICAgICAgICAgIFR4U3RoQ250OworCisgICAgQ2wxVHN0RGx5RnJlcUluZm9UICAgICAgICAgIEZyZXFJbmZvOworCisJa2FsX2ludDE2ICAgICAgICAgICAgICAgICAgIFRyVmFsdWU7CisJa2FsX2ludDE2ICAgICAgICAgICAgICAgICAgIFRySW5pVmFsdWU7CisJa2FsX2ludDE2ICAgICAgICAgICAgICAgICAgIFRyRW5kVmFsdWU7CisJa2FsX2ludDE2ICAgICAgICAgICAgICAgICAgIFRyT3B0VmFsdWU7CisKKwlrYWxfdWludDMyICAgICAgICAgICAgICAgICAgQWNjdW1UcjsKKwlrYWxfdWludDMyICAgICAgICAgICAgICAgICAgQ29yck9wdDsKKwlrYWxfdWludDMyICAgICAgICAgICAgICAgICAgQ29yck1pbjsKKworCWthbF91aW50MTYgICAgICAgICAgICAgICAgICBIU2xvdENudDsKK30gQ2wxRGx5RGF0YVQ7CisKKyNlbmRpZiAvKiAjaWZuZGVmIF9fTERQRENBTERMWU1BSU5fSF9fICovCisKKwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NsMXRzdGRwZC5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NsMXRzdGRwZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM3MTBmNDgKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY2wxdHN0ZHBkLmgKQEAgLTAsMCArMSwyNzYgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBNb2RpZmljYXRpb24gTm90aWNlOgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgbW9kaWZpZWQgYnkgTWVkaWFUZWsgSW5jLiBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKgorKiBGaWxlbmFtZToKKyogLS0tLS0tLS0tCisqIGNsMXRzdGRwZC5oCisqCisqIFByb2plY3Q6CisqIC0tLS0tLS0tCisqICAgTVRYWFhYIFByb2plY3QKKyoKKyogRGVzY3JpcHRpb246CisqIC0tLS0tLS0tLS0tLQorKiAgIFRoaXMgZmlsZSBjb250YWlucyB0aGUgbG9nIElRIGZ1bmN0aW9ucy4KKyoKKyogQXV0aG9yOgorKiAtLS0tLS0tCisqCisqCisqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisqICAgICAgICAgICAgIEhJU1RPUlkKKyogQmVsb3cgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorKgorKgorKgorKgorKgorKgorKgorKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKiBVcHBlciB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9DTDFUU1RfRFBEX0hfCisjZGVmaW5lIF9DTDFUU1RfRFBEX0hfCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEluY2x1ZGUgRmlsZXMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworI2luY2x1ZGUgImthbF9nZW5lcmFsX3R5cGVzLmgiCisjaW5jbHVkZSAia2FsX3B1YmxpY19kZWZzLmgiCisjaW5jbHVkZSAic3lzYXBpLmgiCisKKyNkZWZpbmUgQ0wxVFNUX0RQRF9SRVRSWV9MSU1JVCAgIAkzCisjZGVmaW5lIENMMVRTVF9EUERfUkVGX1RFTVBfSU5ERVggICA0CisjZGVmaW5lIENMMVRTVF9EUERfRkFDVE9SWV9ESUZGICAJMTIKKworLyoqIGRlZmluZSBEUEQgc3RhdGUgKi8KK3R5cGVkZWYgZW51bQoreworCUNMMVRTVF9EUERfRlNNX0lETEUgPSAwLAorCUNMMVRTVF9EUERfRlNNX1RYX09OX1RQQyA9IDEsCisJQ0wxVFNUX0RQRF9GU01fVFBDID0gMiwKKyAgICBDTDFUU1RfRFBEX0ZTTV9UWF9PRkYgPSAzLAorCUNMMVRTVF9EUERfRlNNX0dBSU5fUVVFUlkgPSA0LAorCUNMMVRTVF9EUERfRlNNX1RYX09GRl9XQUlUID0gNSwKKyAgICBDTDFUU1RfRFBEX0ZTTV9OVU0KK30gQ2wxVHN0RHBkU3RhdGVFOworCisvKiA4LWxldmVsIFBBIGRjMmRjIGZvciBEUEQgY2FsaWJyYXRpb24gKi8KK3R5cGVkZWYgZW51bQoreworICAgQ0wxVFNUX0RQRF9QQV9JRFgwID0gMCwKKyAgIENMMVRTVF9EUERfUEFfSURYMSA9IDEsCisgICBDTDFUU1RfRFBEX1BBX0lEWDIgPSAyLAorICAgQ0wxVFNUX0RQRF9QQV9JRFgzID0gMywKKyAgIENMMVRTVF9EUERfUEFfSURYNCA9IDQsCisgICBDTDFUU1RfRFBEX1BBX0lEWDUgPSA1LAorICAgQ0wxVFNUX0RQRF9QQV9JRFg2ID0gNiwKKyAgIENMMVRTVF9EUERfUEFfSURYNyA9IDcsCisgICBDTDFUU1RfRFBEX1BBX05VTEwgPSAweDdmCSAgIAorfSBDbDFUc3REcGRQYUlkeEU7CisKKy8qIFBBIGxldmVsLTcgaW5kZXggKi8KK3R5cGVkZWYgZW51bQoreworICAgQ0wxVFNUX0RQRF9MN19JRFgwID0gMCwKKyAgIENMMVRTVF9EUERfTDdfSURYMSA9IDEsCisgICBDTDFUU1RfRFBEX0w3X05VTEwgPSAweDdmCSAgIAorfSBDbDFUc3REcGRMN0lkeEU7CisKKy8qIGRlZmluZSBTeXN0ZW0gdGltZSBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0IENsMURwZFN5c1RpbWVUYWcKK3sKKyAgICAvKiBTbG90IG51bWJlciAqLworICAgIGthbF91aW50OAkJCQlTbG90OworCisgICAgLyogaGFsZiBzbG90IGJvdW5kYXJ5IHN5c3RlbSB0aW1lICovCisgICAga2FsX3VpbnQzMiAgICAgICAgICAgICAgVGltZTsKK30gQ2wxRHBkU3lzVGltZVQ7CisKKy8qIGRlZmluZSB0YXJnZXQgdGltZSBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0IENsMURwZFRhcmdldFRpbWVUYWcKK3sKKyAgICAvKiBTbG90IG51bWJlciAqLworICAgIGthbF91aW50NjQJCQkJU3VwRnJhbTsKKworICAgIC8qIHN5c3RlbSB0aW1lICovCisgICAga2FsX3VpbnQzMiAgICAgICAgICAgICAgU3lzVGltZTsKK30gQ2wxRHBkVGFyZ2V0VGltZVQ7CisKK3R5cGVkZWYgc3RydWN0Cit7CisJa2FsX3VpbnQ4CQkJCUJhbmRDbGFzczsKKwlrYWxfdWludDE2CQkJCUNoYW5OdW07Cit9IENsMVRzdERwZEZyZXFQYXJhVDsKKworLyoqIFRoaXMgc3RydWN0dXJlIGlzIHVwZGF0ZWQgYnkgQWxnbyBkcml2ZXIgKi8KK3R5cGVkZWYgc3RydWN0IENsMVRzdERwZEFsZ29VcGRQYXJhVGFnCit7CisJLyoqIFBBIHRhYmxlIGluZGV4ICovCisJa2FsX3VpbnQ4ICAJCQkJUGFUYklkeDsKKworCS8qKiAwOiB0aGUgZmlyc3QgbGV2ZWwgNworCSAgICAxOiB0aGUgc2Vjb25kIGxldmVsIGxldmVsIDcgKi8KKwlrYWxfdWludDggIAkJCQlQYUw3SWR4OworCisJLyoqIHRhcmdldCBwb3dlciAqLworCWthbF9pbnQxNiAgCQkJCVBlYWs7CisKKwkvKiogUEEgZ2FpbiAoaW5jbHVkZSBjb21wZW5zYXRpb24pICovCisJa2FsX2ludDE2ICAJCQkJUGFHYWluOworCit9IENsMVRzdERwZEFsZ29VcGRQYXJhVDsKKworLyoqIFRoaXMgc3RydWN0dXJlIGlzIHVwZGF0ZWQgYnkgUkYgZHJpdmVyICovCit0eXBlZGVmIHN0cnVjdCBDbDFUc3REcGRSZmRVcGRQYXJhVGFnCit7CisJLyoqIHRhcmdldCBwb3dlciAqLworCWthbF9pbnQxNiAgCQkJCVByZjsKKworCS8qKiBQQSBnYWluIChpbmNsdWRlIGNvbXBlbnNhdGlvbikgKi8KKwlrYWxfaW50MTYgIAkJCQlQYUdhaW47CisKKwkvKiogUEEgZ2FpbiBjb21wZW5zYXRpb24gKi8KKwlrYWxfaW50MTYgIAkJCQlQYUdhaW5Db21wOworCisJLyoqIENvdXBsZXIgbG9zcyAoaW5jbHVkZSBjb21wZW5zYXRpb24pICovCisJa2FsX2ludDE2ICAJCQkJQ291cGxlckxvc3M7CisKK30gQ2wxVHN0RHBkUmZkVXBkUGFyYVQ7CisKKy8qKiBUaGlzIHN0cnVjdHVyZSBpcyB1c2VkIHRvIHN0b3JlIFVQQyBIVyBpbmZvcm1hdGlvbiBpbiBFVkRPIGFuZCAxeFJUVCBtb2RlLiAqLwordHlwZWRlZiBzdHJ1Y3QgQ2wxVHN0RHBkVXBjSW5mb1RhZworeworCS8qKiBQR0EgZ2FpbiAqLworCWthbF9pbnQxNiAgCQkJCVBnYUdhaW47CisKKwkvKiogREVUIHBhdGggUEdBIGdhaW4gKi8KKwlrYWxfaW50MTYgIAkJCQlEZXRHYWluOworCisgICAgLyoqIEJCIGdhaW4gKi8KKyAgICBrYWxfaW50MTYgICAgICAgICAgICAgICBCYkdhaW47Cit9IENsMVRzdERwZFVwY0luZm9UOworCisvKiogVGhpcyBzdHJ1Y3R1cmUgaXMgdXNlZCB0byBzdG9yZSBGYWlsIEluZm8uICovCit0eXBlZGVmIHN0cnVjdCBDbDFUc3REcGRGYWlsSW5mb1RhZworeworCWthbF91aW50OAkJCQlTdGF0dXM7IAorCisgICAgLyoqIEZhaWwgUmF0ICovCisJa2FsX3VpbnQ4CQkJCUN1clJmTW9kZTsKKworICAgIC8qKiBGYWlsIGJhbmQgY2xhc3MgKi8KKwlrYWxfdWludDgJCQkJQ3VyQmFuZENsYXNzOworCisgICAgLyoqIEZhaWwgY2hhbm5lbCBudW1iZXIgKi8KKwlrYWxfdWludDE2CQkJCUN1ckNoYW5OdW07CisJCisgICAgLyoqIEZhaWwgUEEgaW5kZXggKi8KKwlrYWxfdWludDE2CQkJCUN1clBhSWR4OworCisgICAgLyoqIEZhaWwgUEEgR2FpbiAqLworCWthbF9pbnQxNgkJCQlDdXJQYUdhaW47Cit9IENsMVRzdERwZEZhaWxJbmZvVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKwlDUmZUZXN0Q21kX1N0YXJ0RHBkX1JlcUluZm8gU3RhcnRJbmZvOworCUNsMVRzdFR4RHBkU3RhcnRQZHVUCQlTdGFydFBkdVtDTDFEX1JGX0JBTkRfQ0xBU1NfTUFYXTsKKworCUNsMVRzdERwZFN0YXR1c0UgICAgICAJCURwZFN0YXR1czsKKworCUNsMVRzdERwZFN0YXRlRSAgICAgIAkJRHBkU3RhdGU7CisKKwlDbDFEcGRTeXNUaW1lVCAgICAgICAgCQlTeXNUaW1lOworCisJU3lzU0ZyYW1lVGltZVQgICAgICAgICAgICAgIFRhclRpbWU7CisKKwlDbDFUc3REcGRGcmVxUGFyYVQgICAJCUZyZXFQYXJhOworCisJQ2wxVHN0RHBkQWxnb1VwZFBhcmFUIAkJQWxnb1VwZFBhcmE7CisKKwlDbDFUc3REcGRSZmRVcGRQYXJhVCAJCVJmZFVwZFBhcmE7CisKKwlDbDFUc3REcGRVcGNJbmZvVCAgICAgICAgICAgVXBjSW5mbzsKKworCU1NRFBEX0ZBQ19QR0FfUEFSQU1fVCAgICAgICAqcF90YXJnZXRfcGdhX3RhYmxlOworCisJLyogVGhlIHBhcmFtZXRlcnMgZm9yIEZYUCBhbmQgUEEgY2FsaWJyYXRpb24gcmVzdWx0IHBvaW50ZXIgKi8KKwlEUERfRlhQX1BBUkFNICAgICAgICAgICAgICAgRnhwUGFyYTsKKworCS8qIFRvIHJlc3RvcmUgdGhlIGNhbGlicmF0ZWQgUEEgZ2FpbiByZXN1bHQgdGVtcGVyYXJpbHkgKi8KKwlrYWxfaW50MTYgICAgICAgICAgICAgICAgICAgUGFHYWluW0NMMVRTVF9EUERfRlJFUV9OVU1dW0NMMVRTVF9EUERfUEFfTlVNXTsgICAgICAKKworCUNsMVRzdERwZEZhaWxJbmZvVCAgICAgICAgICBGYWlsSW5mbzsKKworCWthbF9pbnQxNiAgICAgICAgICAgICAgICAgICBUclZhbHVlOworCWthbF91aW50OCAgICAgICAgICAgICAgICAgICBRdWVyeUNudDsKKwlrYWxfdWludDggICAgICAgICAgICAgICAgICAgVHhPbkZsYWc7CisJa2FsX3VpbnQ4ICAgICAgICAgICAgICAgICAgIFR4T2ZmQ250OworCisJa2FsX3VpbnQ4ICAgICAgICAgICAgICAgICAgIHF1ZXJ5OworCisJa2FsX2Jvb2wgICAgICAgICAgICAgICAgICAgIHJmX3R4X2ZlY193YWtldXBfZmxhZzsKKworCWthbF91aW50OCAgICAgICAgICAgICAgICAgICBmeHBfcmV0cnlfY291bnQ7CisKKyAgICBrYWxfdWludDE2ICAgICAgICAgICAgICAgICAgV2FpdFNtcGxlczsKKyAgICBrYWxfdWludDE2ICAgICAgICAgICAgICAgICAgRHBkVGhVcHBlcjsKKyAgICBrYWxfdWludDE2ICAgICAgICAgICAgICAgICAgVGVzdE1vZGU7CisgICAga2FsX3VpbnQxNiAgICAgICAgICAgICAgICAgIEluaXRNb2RlOworICAgIGthbF91aW50MTYgICAgICAgICAgICAgICAgICBUZXN0Q250MzsKKyAgICBrYWxfdWludDMyICAgICAgICAgICAgICAgICAgSFNsb3RDbnQ7CisKK30gQ2wxRHBkRGF0YVQ7CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICBnbG9iYWwgZnVjY3Rpb24KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworZXh0ZXJuIHZvaWQgQ2wxVHN0RHBkRmFjTWFpbih2b2lkKTsKKworI2VuZGlmIC8qIF9DTDFUU1RfRFBEX0hfICovCisKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jbDF0c3RkcGRpZi5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NsMXRzdGRwZGlmLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDkxOWZlZQotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jbDF0c3RkcGRpZi5oCkBAIC0wLDAgKzEsMjkxIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgTW9kaWZpY2F0aW9uIE5vdGljZToKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIG1vZGlmaWVkIGJ5IE1lZGlhVGVrIEluYy4gYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoKKyogRmlsZW5hbWU6CisqIC0tLS0tLS0tLQorKiBjbDF0c3RkcGRpZi5oCisqCisqIFByb2plY3Q6CisqIC0tLS0tLS0tCisqICAgTVRYWFhYIFByb2plY3QKKyoKKyogRGVzY3JpcHRpb246CisqIC0tLS0tLS0tLS0tLQorKiAgIFRoaXMgZmlsZSBjb250YWlucyB0aGUgbG9nIElRIGZ1bmN0aW9ucy4KKyoKKyogQXV0aG9yOgorKiAtLS0tLS0tCisqCisqCisqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisqICAgICAgICAgICAgIEhJU1RPUlkKKyogQmVsb3cgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyoKKyoKKyoKKyoKKyoKKyoKKyoKKyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogVXBwZXIgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBfQ0wxVFNUX0RQRF9JRl9IXworI2RlZmluZSBfQ0wxVFNUX0RQRF9JRl9IXworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBJbmNsdWRlIEZpbGVzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKyNpbmNsdWRlICJrYWxfZ2VuZXJhbF90eXBlcy5oIgorI2luY2x1ZGUgImthbF9wdWJsaWNfZGVmcy5oIgorI2luY2x1ZGUgImNsMV9yZl9wdWJsaWMuaCIKKworI2RlZmluZSAgQ0wxVFNUX0RQRF9GUkVRX05VTSAgIDE2CisjZGVmaW5lICBDTDFUU1RfRFBEX1BBX05VTSAgICAgOAorI2RlZmluZSAgQ0wxVFNUX0RQRF9CQU5EX01BWCAgIDIyCisKKyNkZWZpbmUgIENMMVRTVF9EUERfQ0hBTl9JTlZBTElEICA2NTUzNQorCit0eXBlZGVmIGVudW0KK3sKKwlDTDFUU1RfRFBEX0NNRF9TVEFUVVNfSU5WQUxJRAkJCT0gMCwKKwlDTDFUU1RfRFBEX0NNRF9TVEFUVVNfU1VDQ0VTUwkJCT0gMSwKKwlDTDFUU1RfRFBEX0NNRF9TVEFUVVNfRkFJTFVSRQkJCT0gMiwKKwlDTDFUU1RfRFBEX0NNRF9TVEFUVVNfUERVX1NJWkVfRVJSCQk9IDMsCisJQ0wxVFNUX0RQRF9DTURfU1RBVFVTX1BBUkFNX0VSUgkgICAgICAgID0gNCAgCit9Q2wxVHN0RHBkRmFjQ21kU3RhdHVzRTsKKwordHlwZWRlZiBlbnVtCit7CisJQ0wxVFNUX0RMWV9TUkNIX0NNRF9TVEFUVVNfSU5WQUxJRCAgICAgICA9IDAsCisJQ0wxVFNUX0RMWV9TUkNIX0NNRF9TVEFUVVNfU1VDQ0VTUwkJID0gMSwKKwlDTDFUU1RfRExZX1NSQ0hfQ01EX1NUQVRVU19USU1FT1VUCQkgPSAyLAorCUNMMVRTVF9ETFlfU1JDSF9DTURfU1RBVFVTX1NSQ0hfRkFJTAkgPSAzCit9IENsMVRzdERseVNyY2hDbWRTdGF0dXNFOworCisvLz09PT09PT0gRFBEIEZhYyBzZXR0aW5nIChhbGwpLyBnZXR0aW5nIFBEVSA9PT09PT09PT0vCisKKy8qKiBkZWZpbmUgVHggRFBEIGNhbGlicmF0aW9uIGRhdGEgKGFsbCkgc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdAoreworCS8qIFBBIGNvbnRleHQgKi8KKwkvKiBMSUQ6TlZSQU1fRUZfQ0wxX1RYX0FQVF9QQV9DT05URVhUX1hYX0JBTkRfWF9MSUQgKi8KKwlDTDFEX1JGX1RYX0RQRF9QQV9DT05URVhUX1QgCVR4RHBkUGFDdHg7CisKKwkvKiBQQSBnYWluIHRlbXBlcmF0dXJlIGFuZCBmcmVxdWVuY3kgY29tcGVuc2F0aW9uLCBRNSBkQiAqLworCS8qIExJRDpOVlJBTV9FRl9DTDFfVFhfQVBUX1BBX0dBSU5fQ09NUF9YWF9CQU5EX1hfTElEICovCisJQ0wxRF9SRl9UWF9EUERfUEFfR0FJTl9DT01QX1QgICBUeERwZFBhQ29tcDsKKworCS8qIENvdXBsZXIgbG9zcyB0ZW1wZXJhdHVyZSBhbmQgZnJlcXVlbmN5IGNvbXBlbnNhdGlvbiwgUTUgZEIgKi8KKwkvKiBMSUQ6TlZSQU1fRUZfQ0wxX0RFVF9DT1VQTEVfTE9TU19DT01QX1hYX0JBTkRfWF9MSUQgKi8KKwlDTDFEX1JGX1RYX0RQRF9BTV9QTV9MVVRfREFUQV9UIFR4RHBkQW1QbUx1dDsKKworfSBDbDFUc3RUeERwZENhbEFsbFBkdVQ7CisKKy8vPT09PT09PSBEUEQgRmFjIHNldHRpbmcgKHBhcnQpIFBEVT09PT09PT09PT09PT09PT09PT0vCisKKy8qKiBkZWZpbmUgVHggRFBEIGNhbGlicmF0aW9uIGRhdGEgKHBhcnRpYWwpIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKwkvKiBQQSBjb250ZXh0ICovCisJLyogTElEOk5WUkFNX0VGX0NMMV9UWF9BUFRfUEFfQ09OVEVYVF9YWF9CQU5EX1hfTElEICovCisJQ0wxRF9SRl9UWF9EUERfUEFfQ09OVEVYVF9UIAlUeERwZFBhQ3R4OworCisJLyogUEEgZ2FpbiB0ZW1wZXJhdHVyZSBhbmQgZnJlcXVlbmN5IGNvbXBlbnNhdGlvbiwgUTUgZEIgKi8KKwkvKiBMSUQ6TlZSQU1fRUZfQ0wxX1RYX0FQVF9QQV9HQUlOX0NPTVBfWFhfQkFORF9YX0xJRCAqLworCUNMMURfUkZfVFhfRFBEX1BBX0dBSU5fQ09NUF9UICAgVHhEcGRQYUNvbXA7CisKK30gQ2wxVHN0VHhEcGRDYWxQYXJ0UGR1VDsKKworLy89PT09PT09IERQRCBGYWMgc3RhcnQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0vCit0eXBlZGVmIHN0cnVjdAoreworCWthbF91aW50MTYgQXB0UmVmQ2hhbjsKKwlrYWxfaW50MTYgIHRwY193YW50ZWRfcF9vZmZzZXQ7Cit9Q2wxVHN0VHhEcGRTdGFydFBkdVQ7CisKKy8qIERQRCBmYWN0b3J5IHN0YXJ0IHJlcXVlc3QgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyogQ3VycmVudCB0ZW1wZXJhdHVyZSBpbmRleCAqLworCWthbF91aW50OCAJVGVtcElkeDsKKworICAgIC8qIDA6IDF4UlRULCAxOiBFVkRPICovCisJa2FsX3VpbnQ4IAlSZk1vZGU7CisKKyAgICAvKiBCYW5kIG51bWJlciAqLworCWthbF91aW50OCAJQmFuZE51bTsKKworCWthbF91aW50OCAJQmFuZENsYXNzW0NMMVRTVF9EUERfQkFORF9NQVhdOworfUNSZlRlc3RDbWRfU3RhcnREcGRfUmVxSW5mbzsKKworLyogRFBEIGZhY3Rvcnkgc3RhcnQgY29uZmlybSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKwlrYWxfdWludDggCUJhbmROdW07CisJa2FsX3VpbnQ4IAlCYW5kQ2xhc3NbQ0wxVFNUX0RQRF9CQU5EX01BWF07CisJa2FsX3VpbnQ4ICAJU3RhdHVzOyAKKyAgICBrYWxfdWludDggICBDdXJCYW5kQ2xhc3M7CisgICAga2FsX3VpbnQxNiAgQ3VyQ2hhbk51bTsKKyAgICBrYWxfdWludDE2ICBDdXJQYUlkeDsKKyAgICBrYWxfdWludDE2ICBDdXJQYUdhaW47CisgICAgCit9Q1JmVGVzdENtZF9TdGFydERwZF9DbmZJbmZvOworCisvLz09PT09PT0gRFBEIEZhYyBzZXR0aW5nPT09PT09PT09PT09PT0vCisKKy8qIERQRCBmYWN0b3J5IGRhdGEgc2V0dGluZyByZXF1ZXN0ICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qIHVwZGF0ZSBOVlJBTSBmbGFnLCAwOiBkbyBub3QgdXBkYXRlLCAxOiB1cGRhdGUgKi8KKyAgICBrYWxfdWludDggCVVwZGF0ZU52OworCisgICAgLyogMDogMXhSVFQsIDE6IEVWRE8gKi8KKwlrYWxfdWludDggCVJmTW9kZTsKKworICAgIC8qIEJhbmQgbnVtYmVyICovCisJa2FsX3VpbnQ4IAlCYW5kTnVtOworCisJa2FsX3VpbnQ4IAlCYW5kQ2xhc3NbQ0wxVFNUX0RQRF9CQU5EX01BWF07CisKK31DUmZUZXN0Q21kX1NldERwZEFsbF9SZXFJbmZvOworCisvKiBEUEQgZmFjdG9yeSBkYXRhIHNldHRpbmcgY29uZmlybSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKwlrYWxfdWludDgJQmFuZE51bTsKKwlrYWxfdWludDgJU2V0U3RhdHVzOyAgICAgICAgICAgICAKK31DUmZUZXN0Q21kX1NldERwZEFsbF9DbmZJbmZvOworCisvLz09PT09PT0gRFBEIEZhYyBnZXR0aW5nPT09PT09PT09PT09PT0vCisKKy8qIERQRCBmYWN0b3J5IGRhdGEgZ2V0dGluZyByZXF1ZXN0ICovCit0eXBlZGVmIHN0cnVjdAoreyAgICAgICAgICAgICAKKyAgICAvKiAwOiAxeFJUVCwgMTogRVZETyAqLworCWthbF91aW50OCAJUmZNb2RlOworCisJa2FsX3VpbnQ4IAlCYW5kTnVtOworICAgIGthbF91aW50OCAJQmFuZENsYXNzW0NMMVRTVF9EUERfQkFORF9NQVhdOworfUNSZlRlc3RDbWRfR2V0RHBkQWxsX1JlcUluZm87CisKKy8qIERQRCBmYWN0b3J5IGRhdGEgZ2V0dGluZyBjb25maXJtICovCit0eXBlZGVmIHN0cnVjdAoreyAgICAgICAgICAgICAKKwlrYWxfdWludDggCUJhbmROdW07CisJa2FsX3VpbnQ4ICAJR2V0U3RhdHVzOyAgICAgICAgICAgIAorfUNSZlRlc3RDbWRfR2V0RHBkQWxsX0NuZkluZm87CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBEZWxheSBzZWFyY2ggKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogRFBEIGRlbGF5IHNlYXJjaCBzdGFydCByZXF1ZXN0ICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qIDA6IDF4UlRULCAxOiBFVkRPICovCisJa2FsX3VpbnQ4IAlSZk1vZGU7CisKKwlrYWxfdWludDggCVNyY2hUaW1lczsKKwlrYWxfdWludDggCUJhbmROdW07CisJa2FsX3VpbnQ4IAlCYW5kQ2xhc3NbQ0wxVFNUX0RQRF9CQU5EX01BWF07Cit9Q1JmVGVzdENtZF9TdGFydERwZFBhdGhEZWxheVNlYXJjaF9SZXFJbmZvOworCisvLz09PT09PT0gRGVsYXkgc2VhcmNoIHNldHRpbmc9PT09PT09PT09PT09PS8KKworLyogRFBEIGRlbGF5IHNlYXJjaCBkYXRhIHNldHRpbmcgcmVxdWVzdCAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiAwOiAxeFJUVCwgMTogRVZETyAqLworCWthbF91aW50OCAJUmZNb2RlOworCisJa2FsX3VpbnQ4IAlCYW5kTnVtOworCisJa2FsX3VpbnQ4CUJhbmRDbGFzc1tDTDFUU1RfRFBEX0JBTkRfTUFYXTsKK31DUmZUZXN0Q21kX1NldERwZFBhdGhEZWxheVNlYXJjaF9SZXFJbmZvOworCisvKiBEUEQgZGVsYXkgc2VhcmNoIGRhdGEgc2V0dGluZyBwZHUgKG9uZSBiYW5kKSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKwlrYWxfdWludDggCUJhbmRDbGFzczsKKwlrYWxfdWludDE2IAlDaGFuTnVtW0NMMVRTVF9EUERfRlJFUV9OVU1dOworCWthbF9pbnQxNiAgCURwZFRyW0NMMVRTVF9EUERfRlJFUV9OVU1dOworfUNsMVRzdERwZFBhdGhEbHlQZHVUOworCisvKiBEUEQgZGVsYXkgc2VhcmNoIGRhdGEgc2V0dGluZyBwZHUgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisJQ2wxVHN0RHBkUGF0aERseVBkdVQgRGx5UmVxW0NMMVRTVF9EUERfQkFORF9NQVhdOworfUNSZlRlc3RDbWRfU2V0RHBkUGF0aERlbGF5U2VhcmNoX1JlcVBkdTsKKworLyogRFBEIGRlbGF5IHNlYXJjaCBkYXRhIHNldHRpbmcgY29uZmlybSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKwlrYWxfdWludDggCUJhbmROdW07CisJa2FsX3VpbnQ4ICAJU2V0U3RhdHVzOworfUNSZlRlc3RDbWRfU2V0RHBkUGF0aERlbGF5U2VhcmNoX0NuZkluZm87CisKKy8vPT09PT09PSBEZWxheSBzZWFyY2ggZ2V0dGluZz09PT09PT09PT09PT09LworCisvKiBEUEQgZGVsYXkgc2VhcmNoIGRhdGEgZ2V0dGluZyByZXF1ZXN0ICovCit0eXBlZGVmIHN0cnVjdAoreyAgICAgICAgICAgICAKKyAgICAvKiAwOiAxeFJUVCwgMTogRVZETyAqLworCWthbF91aW50OCAJUmZNb2RlOworCisJa2FsX3VpbnQ4IAlCYW5kTnVtOworCWthbF91aW50OCAJQmFuZENsYXNzW0NMMVRTVF9EUERfQkFORF9NQVhdOyAKK31DUmZUZXN0Q21kX0dldERwZFBhdGhEZWxheVNlYXJjaF9SZXFJbmZvOworCisvKiBEUEQgZGVsYXkgc2VhcmNoIGRhdGEgZ2V0dGluZyBjb25maXJtICovCit0eXBlZGVmIHN0cnVjdAoreworCWthbF91aW50OCAJQmFuZE51bTsKKwlrYWxfdWludDggIAlHZXRTdGF0dXM7Cit9Q1JmVGVzdENtZF9HZXREcGRQYXRoRGVsYXlTZWFyY2hfQ25mSW5mbzsKKworLyogRFBEIGRlbGF5IHNlYXJjaCBkYXRhIGdldHRpbmcgcGR1ICovCit0eXBlZGVmIHN0cnVjdAoreworICAgQ2wxVHN0RHBkUGF0aERseVBkdVQgRGx5UnNwW0NMMVRTVF9EUERfQkFORF9NQVhdOworfUNSZlRlc3RDbWRfR2V0RHBkUGF0aERlbGF5U2VhcmNoX0NuZlBkdTsKKworI2VuZGlmIC8qIF9DTDFUU1RfRFBEX0lGX0hfICovCisKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jbDF0c3RlbHRpZi5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NsMXRzdGVsdGlmLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTAyNmMwZgotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jbDF0c3RlbHRpZi5oCkBAIC0wLDAgKzEsODc4IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgTW9kaWZpY2F0aW9uIE5vdGljZToKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIG1vZGlmaWVkIGJ5IE1lZGlhVGVrIEluYy4gYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoKKyogRmlsZW5hbWU6CisqIC0tLS0tLS0tLQorKiBjbDF0c3RlbHRpZi5oCisqCisqIFByb2plY3Q6CisqIC0tLS0tLS0tCisqICAgTVRYWFhYIFByb2plY3QKKyoKKyogRGVzY3JpcHRpb246CisqIC0tLS0tLS0tLS0tLQorKiAgIFRoaXMgZmlsZSBjb250YWlucyB0aGUgZWx0IGlmIGZ1bmN0aW9ucyBkZWNsYXJlLgorKgorKiBBdXRob3I6CisqIC0tLS0tLS0KKyoKKyoKKyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyogICAgICAgICAgICAgSElTVE9SWQorKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyoKKyoKKyoKKyoKKyoKKyoKKyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogVXBwZXIgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBfQ0wxVFNUX0VMVF9JRl9IXworI2RlZmluZSBfQ0wxVFNUX0VMVF9JRl9IXworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBJbmNsdWRlIEZpbGVzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKyNpbmNsdWRlICJjbDF0c3RtZXRhaWYuaCIKKworLyogUkNQX0VUU19UWF9BVkFJTEFCTEVfUFdSX1RFU1RfTU9ERV9NU0cqLwordHlwZWRlZiBlbnVtCit7CisgICAgVFhBR0NfQ1RSTF9UWVBFX1NUT1AgPSAwLAorICAgIFRYQUdDX0NUUkxfVFlQRV9TVEFSVCA9IDEsCisgICAgVFhBR0NfQ1RSTF9UWVBFX0dFVF9UWF9QV1IgPSAyLAorICAgIFRYQUdDX0NUUkxfVFlQRV9JTlZBTElEID0gMHhGRgorfSBSY3BUc3RUeEFnY0N0cmxUeXBlVDsKKworLyoqIGRlZmluZSB0aGUgdHJhbnNtaXNzaW9uIHNpZ25hbCB0eXBlIGVudW1lcmF0aW9uICovCit0eXBlZGVmIGVudW0KK3sKKyAgICBDTDFUU1RfRUxUX1RYX1NJR19UWVBFXzFYID0gMSwKKyAgICBDTDFUU1RfRUxUX1RYX1NJR19UWVBFX0RPX1BJTE9UID0gMiwKKyAgICBDTDFUU1RfRUxUX1RYX1NJR19UWVBFX0RPX1NUMiA9IDMsCisgICAgQ0wxVFNUX0VMVF9UWF9TSUdfVFlQRV9ET19QSFlVVCA9IDQsCisgICAgQ0wxVFNUX0VMVF9UWF9TSUdfVFlQRV9SRl9UT05FID0gNiwKKyAgICBDTDFUU1RfRUxUX1RYX1NJR19UWVBFX0JCX1RPTkUgPSA3ICAgIAorfSBDbDFUc3RFbHRUeFNpZ1R5cGVUOworCisKK3R5cGVkZWYgZW51bQoreworICAgIENMMVRTVF9OVUxMID0gMCwKKyAgICBDTDFUU1RfT1ZFUkhFQURNRVNTQUdFX1RFU1QgPSAxLAorICAgIENMMVRTVF9GVENDUkNfVEVTVCA9IDIsCisgICAgQ0wxVFNUX1BIWV9VVF9URVNUID0gMywKKyAgICBDTDFUU1RfRlRDQ1JDX1NJTkdMRV9URVNUID0gNCwKKyAgICBDTDFUU1RfRkNDQ1JDX1RFU1QgPSA1Cit9IENsMVRzdENmZ1R5cGVUOworCit0eXBlZGVmIGVudW0KK3sKKyAgICBDTDFUU1RfU1VDQ0VTU0ZVTEwgPSAwLAorICAgIENMMVRTVF9GQUlMID0gMQorfSBDbDFUc3RSc3BSZXN1bHRUOworCisvKiogZGVmaW5lIHRoZSBQd3IgbW9kZSBlbnVtZXJhdGlvbiAoT3IgQVBULCBEUEQpICovCit0eXBlZGVmIGVudW0KK3sKKyAgICBDTDFUU1RfUFdSX01PREVfRVRNLAorICAgIENMMVRTVF9QV1JfTU9ERV9BUFQsCisgICAgQ0wxVFNUX1BXUl9NT0RFX0RQRAorfSBDbDFUc3RQd3JNb2RlVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF91aW50MTYgIEZ0Y1BlclN0YXRpYzsKKyAgIGthbF91aW50MTYgIEZjY1BlclN0YXRpYzsKKyAgIGthbF91aW50MzIgRnRjVG90YWxGd2RQYWNrZXRzQ291bnQ7CisgICBrYWxfdWludDMyIEZ0Y1RvdGFsRndkR29vZFBhY2tldHNDb3VudDsKKyAgIGthbF91aW50MzIgRmNjVG90YWxGd2RQYWNrZXRzQ291bnQ7CisgICBrYWxfdWludDggUHJlYW1ibGVNYWNJZDsKKyAgIGthbF91aW50OCBEcmNJbmRleDsKKyAgIGthbF91aW50MzIgUnNwRnJhbUNvbnV0OworfUNsMVRzdFJzcEluZm9UOworCisKKy8qKiBkZWZpbmUgUkYgdHJhbnNtaXR0ZXIgY29udHJvbCBjb21tYW5kIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiAwOiAxeFJUVCwgMTogRVZETyAqLworICAgIGthbF91aW50OCAgICAgICAgICAgUmZNb2RlOworCisgICAgLyogMDogT0ZGLCAxOiBPTiAqLworICAgIGthbF91aW50OCAgICAgICAgICAgQWN0aW9uOworCisgICAgLyogMDogVFhERkUgUkYgdG9uZSBmb3IgMXhSVFQgYW5kIEVWRE8KKyAgICAgICAxOiBUWERGRSBCQiBzaWduYWwgdG9uZSBmb3IgMXhSVFQgYW5kIEVWRE8KKyAgICAgICAyOiByZXZlcnNlIDF4UlRUIHNpZ25hbCBmb3IgMXhSVFQKKyAgICAgICAzOiByZXZlcnNlIEVWRE8gcGlsb3Qgb25seSBmb3IgRVZETworICAgICAgIDQ6IHJldmVyc2UgRVZETyBzdWJ0eXBlMiBmb3IgRVZETyAqLworICAgIGthbF91aW50OCAgICAgICAgICAgU2lnVHlwZTsKKworICAgIC8qIENETUEgQmFuZCBDbGFzcyB0byB0dXJuIG9uKi8KKyAgICBrYWxfdWludDggICAgICAgICAgIEJhbmRDbGFzczsKKworICAgIC8qIENoYW5uZWwgTnVtYmVyIHRvIHR1cm4gb24qLworICAgIGthbF91aW50MTYgICAgICAgICAgQ2hhbm5lbE51bTsKKworICAgIC8qIFBvd2VyIHJlZmVyZW5jZSB1c2VkIGZvciBvcGVuIGxvb3AgZXN0aW1hdGlvbiBpbiAxLzY0ZEJtQFM5LjYgdW5pdC4qLworICAgIGthbF9pbnQxNiAgICAgICAgICAgUHdyUmVmOworCisgICAgLyogRnJlcXVlbmN5IG9mZnNldCBmb3IgUkYgdG9uZSB0cmFuc21pc3Npb24gKi8KKyAgICBrYWxfdWludDMyICAgICAgICAgIEZyZXFPZmZzZXQ7CisKKyAgICAvKiBCQiB0b25lIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVycyAqLworICAgIGthbF91aW50MzIgICAgICAgICAgQmJUb25lQ2ZnOworCisgICAgQ2wxVHN0MXhTaWdQYXJhVCAgICBSdHRTaWdQYXJhOworCisgICAgLyogdG90YWwgZnJlcXVlbmN5IG9mZnNldCBlcnJvciBpbiBIeiovCisgICAga2FsX2ludDMyICAgICAgICAgICBGb2VIejsKKworICAgIC8qIE9wZW4gbG9vcCBjb3JyZWN0IGdhaW4gd2l0aCBTMC4xNiB1bml0Ki8KKyAgICBrYWxfaW50MzIgICAgICAgICAgIE9sQ29yckdhaW47CisKKyAgICAvKiBPcGVuIGxvb3AgbWF4IHNsZXcgd2l0aCBTMi42IHVuaXQqLworICAgIGthbF9pbnQzMiAgICAgICAgICAgT2xNYXhTbGV3OworCisgICAgLyogUlBDIGNvbWJpbmUgd2l0aCBVNS4wKi8KKyAgICBrYWxfdWludDE2ICAgICAgICAgIFJwY0NvbWJUaHI7CisKKyAgICAvKiBSU1NJIHZhbHVlIHdpdGggZmlsdGVyIGluIDEvNjRkQm1AUzcuNiB1bml0LiovCisgICAga2FsX2ludDE2ICAgICAgICAgICBSc3NpV2lGaWx0ZXI7CisKKyAgICAvKiBUWEFHQyBTVyBtb2RlIGNvbnRyb2wKKyAgICBiaXRbNzowXTogICBycGNfYml0X3NyY19zZWwsICAxOiBzdyBtb2RlLCAwOiBub3JtYWwgbW9kZQorICAgIGJpdFsxNTo4XTogIGtzX3ZhbHVlX3NyY19zZWwsIDE6IHN3IG1vZGUsIDA6IG5vcm1hbCBtb2RlCisgICAgYml0WzIzOjE2XTogcnBjX3N5bV9wb3Nfc2VsLCAgMTogc3cgbW9kZSwgMDogbm9ybWFsIG1vZGUKKyAgICAqLworICAgIGthbF91aW50MzIgICAgICAgICAgVHhBZ2NTd01vZGU7CisKKyAgICAvKiBUeCBBZ2MgY29udHJvbCBmbGFnICovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICBUeEFnY0ZsYWc7CisKKyAgICAvKiBUWCBBR0MgY29udHJvbCB0eXBlLAorICAgIDA6IHN0b3Agc3cgdHhhZ2MsCisgICAgMTogc3RhcnQgc3cgdHhhZ2MgKi8KKyAgICBrYWxfdWludDggICAgICAgICAgIEN0cmxUeXBlOworICAgICAgICAKKyAgICAvKiBBY2Nlc3MvIFRyYWZmaWMgY2hhbm5lbCAqLworICAgIGthbF91aW50OCAgICAgICAgICAgQ2hhblR5cGU7CisgICAgCisgICAgLyogUEhZIHN1YnR5cGUgKi8KKyAgICBrYWxfdWludDggICAgICAgICAgIFBoeVN1YlR5cGU7CisgICAgCisgICAgLyogUG93ZXIgcmVmZXJlbmNlIHVzZWQgZm9yIG9wZW4gbG9vcCBlc3RpbWF0aW9uIGluIDEvNjRkQm1AUzkuNiB1bml0LiovCisgICAga2FsX2ludDE2ICAgICAgICAgICBQb3dlckJhc2U7IC8qIFE2IGRCICovCisKKyAgICAvKiBCaXQwOiB0cmFucyBpbmQgVFJVRS9GQUxTRSwKKyAgICAgICBCaXQ0OiBDbG9zZSBsb29wIHBhcmFtZXRlcnMgZW5hYmxlL2Rpc2FibGUgKi8KKyAgICBrYWxfdWludDE2ICAgICAgICAgIFRlc3RCbXA7CisKKyAgICAvKiBjbG9zZSBsb29wIHN0ZXAgdXAgc2l6ZSBpbiAxLzY0ZEJAUzIuNiB1bml0ICovCisgICAga2FsX2ludDE2ICAgICAgICAgICBDbFN0ZXBVcDsKKworICAgIC8qIGNsb3NlIGxvb3Agc3RlcCBkb3duIHNpemUgaW4gMS82NGRCQFMyLjYgdW5pdCAqLworICAgIGthbF9pbnQxNiAgICAgICAgICAgQ2xTdGVwRG93bjsKKworICAgIC8qIGNsb3NlIGxvb3AgYWRqdXN0bWVudCBsaW1pdGVkIGluIDEvNjRkQkBTOC42IHVuaXQgKi8KKyAgICBrYWxfaW50MTYgICAgICAgICAgIENsQWRqTWF4OworCisgICAgLyogY2xvc2UgbG9vcCBhZGp1c3RtZW50IGxpbWl0ZWQgaW4gMS82NGRCQFM4LjYgdW5pdCAqLworICAgIGthbF9pbnQxNiAgICAgICAgICAgQ2xBZGpNaW47CisKKyAgICAvKiBtYXhpbXVtIHRyYW5zbWl0IHBvd2VyIGFkanVzdG1lbnQgaW4gMS82NGRCQFM1LjYgdW5pdCwgc2V0IHplcm8KKyAgICBpZiBub3QgdXNlIGl0ICovCisgICAga2FsX2ludDE2ICAgICAgICAgICBNYXhQd3JBZGo7CisKKyAgICAvKiBLUyB2YWx1ZSBpbiBTVyBtb2RlIHdpdGggUzYuNiB1bml0Ki8KKyAgICBrYWxfdWludDE2ICAgICAgICAgIFBjZ1ZsZFBhdDsgICAvL0luZGljYXRlIFBDRyB2YWxpZCBwYXR0ZXJuCisKKyAgICAvKiBSUEMgYml0IGluIFNXIG1vZGUgd2l0aCBVMi4wIHVuaXQqLworICAgIGthbF91aW50MTYgICAgICAgICAgUnBjQml0U3c7CisKKyAgICAvKiBLUyB2YWx1ZSBpbiBTVyBtb2RlIHdpdGggUzYuNiB1bml0Ki8KKyAgICBrYWxfaW50MTYgICAgICAgICAgIEtzVmFsdWVTdzsKKworICAgIC8qIEluZGljYXRlIFJQQyBzeW1ib2wgcG9zaXRpb24gKi8KKyAgICBrYWxfdWludDE2ICAgICAgICAgIFJwY1N5bVBvc1N3WzE2XTsgLy8xeFJUVCBvbmx5CisKKyAgICAvKiBiaXRtYXAgaW5kaWNhdGUgUkMgY29uZmlndXJhdGlvbiBmb3IgMTYgUENHcyAqLworICAgIGthbF91aW50MTYgICAgICAgICAgUmNDZmdQYXQ7ICAvLyAxeFJUVCBvbmx5LCBiaXRtYXAgaW5kaWNhdGUgUkMgY29uZmlndXJhdGlvbiBmb3IgMTYgUENHcworCisgICAga2FsX3VpbnQxNiAgICAgICAgICBSZXNlcnZlZDsKKworfSBDbDFUc3RUcmFuc21pdEN0cmxFbHRDbWRUOworCit0eXBlZGVmICBzdHJ1Y3QKK3sKKyAgICAvKkZvciBFVkRPKi8KKyAgICBDbDFUc3RUcmFuc21pdEN0cmxDbWRUICBNc2c7CisgICAga2FsX3VpbnQxNiAgICAgICAgICAgICAgRXZDaGFubmVsVHlwZTsKKyAgICBrYWxfdWludDE2ICAgICAgICAgICAgICBFdlByb3RvY29sU3VidHlwZTsKKyAgICBrYWxfdWludDE2ICAgICAgICAgICAgICBFdkF1eFBpbG90TWluaVBheWxvYWQ7CisgICAga2FsX3VpbnQxNiAgICAgICAgICAgICAgRXZEcmNHYXRpbmc7CisgICAga2FsX3VpbnQxNiAgICAgICAgICAgICAgRXZEcmNCb29zdExlbmd0aDsKKyAgICBrYWxfdWludDE2ICAgICAgICAgICAgICBFdkRzY0Jvb3N0TGVuZ3RoOworICAgIGthbF91aW50MTYgICAgICAgICAgICAgIEV2RHJjTGVuZ3RoOworICAgIGthbF91aW50MTYgICAgICAgICAgICAgIEV2RnJhbWVPZmZzZXQ7CisgICAgLypzdWJ5cGUwOjAsMCwxOjkuNkssMjoxOS4yaywzOjM4LjRrLDQ6NzYuOGssIDU6MTUzLjYgKi8KKyAgICBrYWxfdWludDE2ICAgICAgICAgICAgICBFdkRhdGFSYXRlOworICAgIGthbF91aW50MTYgICAgICAgICAgICAgIEV2RFJDQ292ZXI7CisgICAga2FsX3VpbnQxNiAgICAgICAgICAgICAgRXZEUkNDb3ZlcjE7CisgICAga2FsX3VpbnQxNiAgICAgICAgICAgICAgRXZEUkNDb3ZlcjI7CisgICAga2FsX3VpbnQxNiAgICAgICAgICAgICAgRXZEUkNWYWx1ZTsKKyAgICBrYWxfdWludDE2ICAgICAgICAgICAgICBFdkRSQ1ZhbHVlMTsKKyAgICBrYWxfdWludDE2ICAgICAgICAgICAgICBFdkRTQ1ZhbHVlOworICAgIGthbF91aW50MTYgICAgICAgICAgICAgIEV2RFNDVmFsdWUxOworICAgIGthbF91aW50MTYgICAgICAgICAgICAgIEV2RFNDVmFsdWUyOworICAgIGthbF91aW50MTYgICAgICAgICAgICAgIEV2QWNrRW5hbGJsZTsKKyAgICBrYWxfdWludDE2ICAgICAgICAgICAgICBFdkFja1VzZXJUeXBlOworICAgIGthbF91aW50MTYgICAgICAgICAgICAgIEV2QWNrQml0czsKKyAgICBrYWxfdWludDE2ICAgICAgICAgICAgICBFdkFja0JpdHMxOworICAgIGthbF91aW50MTYgICAgICAgICAgICAgIEV2QWNrU3VTY2FsZTsKKyAgICBrYWxfdWludDE2ICAgICAgICAgICAgICBFdkFja011U2NhbGU7CisgICAga2FsX3VpbnQxNiAgICAgICAgICAgICAgRXZQcmVTbG90OworICAgIGthbF91aW50MTYgICAgICAgICAgICAgIEV2Q2FwRnJhbWU7Cit9IENsMVRzdFRyYW5zbWl0Q3RybENtZFBoeVVUOworCisvKiogZGVmaW5lIHRlbXBlcmF0dXJlIGJhY2sgb2ZmIGRhdGEgc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF91aW50OCAgICAgICAgICAgICAgIEJhbmQ7CisgICAga2FsX2ludDggICAgICAgICAgICAgICAgVGVtcGVyYXR1cmU7CisgICAga2FsX2ludDE2ICAgICAgICAgICAgICAgQmFja09mZjsKK30gQ2wxVHN0VGVtcEJhY2tPZmZEYXRhVDsKKworLyoqIGRlZmluZSB0ZW1wZXJhdHVyZSBiYWNrIG9mZiBzZXQgY29tbWFuZCBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgQ2wxVHN0VGVtcEJhY2tPZmZEYXRhVCAgQmFja09mZkRhdGE7Cit9IENsMVRzdFRlbXBCYWNrT2ZmU2V0Q21kVDsKKworLyoqIGRlZmluZSB0ZW1wZXJhdHVyZSBiYWNrIG9mZiBzZXQgcmVzcG9uc2Ugc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qIFJlcXVlc3QgZXhlY3V0ZSBzdGF0dXMgKi8KKyAgICBDbDFUc3RSZXFTdGF0dXNFICAgICAgICBTdGF0dXM7Cit9IENsMVRzdFRlbXBCYWNrT2ZmU2V0UnNwVDsKKworLyoqIGRlZmluZSB0ZW1wZXJhdHVyZSBiYWNrIG9mZiBnZXQgY29tbWFuZCBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyogYmFuZCBjbGFzcyAqLworICAgIGthbF91aW50OCAgICAgICAgICAgICAgIEJhbmQ7CisgICAga2FsX3VpbnQ4ICAgICAgICAgICAgICAgUmVzZXJ2ZWQxOworICAgIGthbF91aW50MTYgICAgICAgICAgICAgIFJlc2VydmVkMjsKK30gQ2wxVHN0VGVtcEJhY2tPZmZHZXRDbWRUOworCisvKiogZGVmaW5lIHRlbXBlcmF0dXJlIGJhY2sgb2ZmIGdldCByZXNwb25zZSBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyogUmVxdWVzdCBleGVjdXRlIHN0YXR1cyAqLworICAgIENsMVRzdFJlcVN0YXR1c0UgICAgICAgIFN0YXR1czsKKworICAgIC8qIEJhY2sgb2ZmIGRhdGEgKi8KKyAgICBDbDFUc3RUZW1wQmFja09mZkRhdGFUICBCYWNrT2ZmRGF0YTsKK30gQ2wxVHN0VGVtcEJhY2tPZmZHZXRSc3BUOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qIFRYIEFHQyBjb250cm9sIHR5cGUsCisgICAgICAgMDogc3RvcCBzdyB0eGFnYywKKyAgICAgICAxOiBzdGFydCBzdyB0eGFnYywKKyAgICAgICAyOiBvYnRhaW4gY3VycmVudCByZXF1ZXN0IHBvd2VyICovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICAgICAgQ3RybFR5cGU7CisKKyAgICAvKiBUeCBzbG90ICovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICAgICAgVHhTbG90OworCisgICAgLyogQWNjZXNzLyBUcmFmZmljIGNoYW5uZWwgKi8KKyAgICBrYWxfdWludDggICAgICAgICAgICAgICBDaGFuVHlwZTsKKworICAgIC8qIFBIWSBzdWJ0eXBlICovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICAgICAgUGh5U3ViVHlwZTsKKworICAgIC8qIFBvd2VyIHJlZmVyZW5jZSB1c2VkIGZvciBvcGVuIGxvb3AgZXN0aW1hdGlvbiBpbiAxLzY0ZEJtQFM5LjYgdW5pdC4qLworICAgIGthbF9pbnQxNiAgICAgICAgICAgICAgIFBvd2VyQmFzZTsgLyogUTYgZEIgKi8KKworICAgIC8qIEJpdDA6IHRyYW5zIGluZCBUUlVFL0ZBTFNFLAorICAgICAgIEJpdDQ6IENsb3NlIGxvb3AgcGFyYW1ldGVycyBlbmFibGUvZGlzYWJsZSAqLworICAgIGthbF91aW50MTYgICAgICAgICAgICAgIFRlc3RCbXA7CisKKyAgICAvKiBjbG9zZSBsb29wIHN0ZXAgdXAgc2l6ZSBpbiAxLzY0ZEJAUzIuNiB1bml0ICovCisgICAga2FsX2ludDE2ICAgICAgICAgICAgICAgQ2xTdGVwVXA7CisKKyAgICAvKiBjbG9zZSBsb29wIHN0ZXAgZG93biBzaXplIGluIDEvNjRkQkBTMi42IHVuaXQgKi8KKyAgICBrYWxfaW50MTYgICAgICAgICAgICAgICBDbFN0ZXBEb3duOworCisgICAgLyogY2xvc2UgbG9vcCBhZGp1c3RtZW50IGxpbWl0ZWQgaW4gMS82NGRCQFM4LjYgdW5pdCAqLworICAgIGthbF9pbnQxNiAgICAgICAgICAgICAgIENsQWRqTWF4OworCisgICAgLyogY2xvc2UgbG9vcCBhZGp1c3RtZW50IGxpbWl0ZWQgaW4gMS82NGRCQFM4LjYgdW5pdCAqLworICAgIGthbF9pbnQxNiAgICAgICAgICAgICAgIENsQWRqTWluOworCisgICAgLyogbWF4aW11bSB0cmFuc21pdCBwb3dlciBhZGp1c3RtZW50IGluIDEvNjRkQkBTNS42IHVuaXQsIHNldCB6ZXJvCisgICAgaWYgbm90IHVzZSBpdCAqLworICAgIGthbF9pbnQxNiAgICAgICAgICAgICAgIE1heFB3ckFkajsKKworICAgIC8qIFJQQyBiaXQgaW4gU1cgbW9kZSB3aXRoIFUyLjAgdW5pdCovCisgICAga2FsX3VpbnQxNiAgICAgICAgICAgICAgUnBjQml0U3c7IC8qIFE2IGRCICovCisKKyAgICAvKiBLUyB2YWx1ZSBpbiBTVyBtb2RlIHdpdGggUzYuNiB1bml0Ki8KKyAgICBrYWxfaW50MTYgICAgICAgICAgICAgICBLc1ZhbHVlU3c7IC8qIFE2IGRCICovCisKKyAgICAvKiBSZXNlcnZlZCAqLworICAgIGthbF91aW50MTYgICAgICAgICAgICAgIFJlc2VydmVkOworCit9IFJjcFRzdFR4QWdjQ3RybENtZFQ7CisKKy8qKiBkZWZpbmUgVHggQUdDIHRlc3QgY3RybCBtZXNzYWdlICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF91aW50MTYgICAgICAgICAgICAgIEN0cmxUeXBlOyAgICAvLzE6IHN0YXJ0IFR4QUdDIHRlc3QsICAwOiBTdG9wIFR4QUdDIHRlc3QKKyAgICBrYWxfdWludDE2ICAgICAgICAgICAgICBQY2dWbGRQYXQ7ICAgLy9JbmRpY2F0ZSBQQ0cgdmFsaWQgcGF0dGVybgorICAgIGthbF91aW50MTYgICAgICAgICAgICAgIFJwY0JpdFN3OyAgICAgICAgLy9SUEMgYml0IGluIFNXIG1vZGUgd2l0aCBVMi4wIHVuaXQKKyAgICBrYWxfdWludDE2ICAgICAgICAgICAgICBScGNTeW1Qb3NTd1sxNl07IC8vSW5kaWNhdGUgUlBDIHN5bWJvbCBwb3NpdGlvbgorICAgIGthbF9pbnQxNiAgICAgICAgICAgICAgIEtzVmFsdWVTdzsgLy9LUyB2YWx1ZSBpbiBTVyBtb2RlIHdpdGggUzYuNiB1bml0CisgICAga2FsX3VpbnQxNiAgICAgICAgICAgICAgQ2xTdGVwVXA7ICAgIC8vU3RlcCBzaXplIG9mIGNsb3NlIGxvb3AgYWRqdXN0bWVudCBmb3IgaW5jcmVtZW50ICAgIAorICAgIGthbF91aW50MTYgICAgICAgICAgICAgIENsU3RlcERvd247ICAvL1N0ZXAgc2l6ZSBvZiBjbG9zZSBsb29wIGFkanVzdG1lbnQgZm9yIGRlY3JlbWVudAorICAgIGthbF91aW50MTYgICAgICAgICAgICAgIEdhdGVQYXQ7ICAgICAvL0dhdGVPbi9PZmYgcGF0dGVybgorICAgIGthbF9pbnQxNiAgICAgICAgICAgICAgIENsQWRqTWF4OyAgICAvL01heGltdW0gY2xvc2UgbG9vcCBhY2N1bXVsYXRpb24gICAgICAgICAgCisgICAga2FsX2ludDE2ICAgICAgICAgICAgICAgQ2xBZGpNaW47ICAgIC8vTWluaW11bSBjbG9zZSBsb29wIGFjY3VtdWxhdGlvbiAgICAgICAgICAgIAorICAgIGthbF9pbnQxNiAgICAgICAgICAgICAgIE1heFB3ckFkajsgICAvL01heGltdW0gcG93ZXIgYWRqdXN0bWVudAorICAgIGthbF91aW50MTYgICAgICAgICAgICAgIFJjQ2ZnUGF0OyAgICAvL1JDIGNvbmZpZ3VyYXRpb24gcGVyIHNsb3QgYmFzaXMKKyAgICBrYWxfdWludDE2ICAgICAgICAgICAgICBUeEFnY0NmZ1Nsb3Q7Ly9JbmRpY2F0ZSBUeEFHQyBjb25maWd1cmF0aW9uIHN0YXJ0IFNsb3QKKworfSBMMWRUc3RUeEFnY0N0cmxDbWRUOworCisKKy8qKiBkZWZpbmUgVHggQUdDIHRlc3QgY3RybCBtZXNzYWdlIHJlc3BvbnNlICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qIFJlcXVlc3QgZXhlY3V0ZSBzdGF0dXMgKi8KKyAgICBDbDFUc3RSZXFTdGF0dXNFICAgIFN0YXR1czsKK30gTDFkVHN0VHhBZ2NDdHJsUnNwVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiBQcmVlbXB0aW9uIHR5cGU6LAorICAgICAgIDA6IHN0b3AgcHJlZW1wdGlvbiwKKyAgICAgICAxOiBzdGFydCBSVEIvSFNDIHByZWVtcHRpb24sICAqLworICAgIGthbF91aW50OCAgICBQcmVlbXB0OworfSBSY3BUeFN0aFJ0YkhzY1ByZWVtcHRDdHJsQ21kVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiBSZXF1ZXN0IGV4ZWN1dGUgc3RhdHVzICovCisgICAgQ2wxVHN0UmVxU3RhdHVzRSAgICAgICAgU3RhdHVzOworfSBDbDFUc3RSeEFudGVubmFUZXN0TW9kZVJzcFQ7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX3VpbnQzMiAgICAgICAgICAgICAgQ2ZnRGF0YTsKK30gVHhEZmVCYlRvbmVDZmdDbWRUOworCisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyogUmVxdWVzdCBleGVjdXRlIHN0YXR1cyAqLworICAgIENsMVRzdFJlcVN0YXR1c0UgICAgICAgIFN0YXR1czsKK30gVHhEZmVCYlRvbmVDZmdSc3BUOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF91aW50MzIgICAgICAgICAgICAgIENmZ0RhdGE7Cit9IFR4RGZlQmJOY29DZmdDbWRUOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qIFJlcXVlc3QgZXhlY3V0ZSBzdGF0dXMgKi8KKyAgICBDbDFUc3RSZXFTdGF0dXNFICAgICAgICBTdGF0dXM7Cit9IFR4RGZlQmJOY29DZmdSc3BUOworCisvKiogZGVmaW5lIFNOUiBxdWVyeSBjb21tYW5kIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiAwOiAxeFJUVCwgMTogRVZETyAqLworICAgIGthbF91aW50OCAgICAgICAgICAgUmZNb2RlOworCisgICAgLyogQml0MDogbWFpbiBhbnRlbm5hLCBCaXQxOiBkaXZlcnNpdHkgYW50ZW5uYSwgQml0MjogU0hEUiAqLworICAgIGthbF91aW50OCAgICAgICAgICAgUGF0aEJpdE1hcDsKK30gQ2wxVHN0UnhTbnJRdWVyeUNtZFQ7CisKKy8qKiBkZWZpbmUgU05SIHF1ZXJ5IGNvbmZpcm0gc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qIFJlcXVlc3QgZXhlY3V0ZSBzdGF0dXMgKi8KKyAgICBDbDFUc3RSZXFTdGF0dXNFICAgIFN0YXR1czsKKworICAgIC8qIE1haW4gYW50ZW5uYSBSeCBNYWluIEFudCBTTlIsIHVuaXQgaXMgUTUgZEJtICovCisgICAga2FsX3VpbnQxNiAgICAgICAgICAgUnhNYWluQW50U25yOworCisgICAgLyogRGl2ZXJzaXR5IGFudGVubmEgUnggcG93ZXIsIHVuaXQgaXMgUTUgZEJtICovCisgICAga2FsX3VpbnQxNiAgICAgICAgICAgUnhEaXZBbnRTbnI7CisKK30gQ2wxVHN0UnhTbnJRdWVyeVJzcFQ7CisKKy8qKiBkZWZpbmUgRWMvSW8gcXVlcnkgY29tbWFuZCBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyogMDogMXhSVFQsIDE6IEVWRE8gKi8KKyAgICBrYWxfdWludDggICAgICAgICAgIFJmTW9kZTsKKworICAgIC8qIEJpdDA6IG1haW4gYW50ZW5uYSwgQml0MTogZGl2ZXJzaXR5IGFudGVubmEsIEJpdDI6IFNIRFIgKi8KKyAgICBrYWxfdWludDggICAgICAgICAgIFBhdGhCaXRNYXA7Cit9IENsMVRzdFJ4RWNJb1F1ZXJ5Q21kVDsKKworLyoqIGRlZmluZSBFYy9JbyAgcXVlcnkgY29uZmlybSBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyogUmVxdWVzdCBleGVjdXRlIHN0YXR1cyAqLworICAgIENsMVRzdFJlcVN0YXR1c0UgICAgU3RhdHVzOworCisgICAgLyogTWFpbiBhbnRlbm5hIFJ4IHBvd2VyLCB1bml0IGlzIFE1IGRCbSAqLworICAgIGthbF9pbnQxNiAgICAgICAgICAgUnhNYWluQW50RWNJbzsKKworICAgIC8qIERpdmVyc2l0eSBhbnRlbm5hIFJ4IHBvd2VyLCB1bml0IGlzIFE1IGRCbSAqLworICAgIGthbF9pbnQxNiAgICAgICAgICAgUnhEaXZBbnRFY0lvOworCit9IENsMVRzdFJ4RWNJb1F1ZXJ5UnNwVDsKKworLyoqIGRlZmluZSBJQ1MgU1lOQyBjb21tYW5kIEVMVCBtc2cgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisvKgorMDogaWNzIHdvIGFmYyB3byAxeAorMTogaWNzIHdpIGFmYyB3byAxeAorMjogaWNzIHdvIGFmYyB3aSAxeAorMzogaWNzIHdpIGFmYyB3aSAxeAorNDogaWNzIHdvIHNpZ25hbAorNTogaWNzIHdpICBzdHJvbmcgc2lnbmFsCis2OiBpY3MgZm9lCis3OiBpY3MgcHJlZW1wdAorMHhmLS0tLS0+dmFsaWQobm8gdGVzdCApKi8KKyAga2FsX3VpbnQxNiAgICAgICAgICAgICAgICAgY2FzZUlkIDsKKyAga2FsX3VpbnQxNiAgICAgICAgICAgICAgICAgRHVtbXkgOworCit9IEVsdFRzdEljc1RzdENhc2VJZENmZ1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX2Jvb2wgUmNwRGJnRW47ICAvKiAxLT5SQ1Agc3ViY2hhbm5lbCBpbiBEZWJ1ZyBtb2RlLCAwLT5ub3JtYWwgbW9kZSAqLworICAgIGthbF9ib29sIFJjcERiZ1ZhbDsKKyAgICBrYWxfYm9vbCBBcnFEYmdFbjsgIC8qIDEtPkgvTEFSUSBzdWJjaGFubmVsIGluIERlYnVnIG1vZGUsIDAtPm5vcm1hbCBtb2RlICovCisgICAga2FsX2Jvb2wgQXJxRGJnVmFsOworfUVsdFRzdE1jZERlYnVnTXNnVDsKKworCit0eXBlZGVmIHN0cnVjdAoreworICAgU3lzQ2RtYUJhbmRUICAgQmFuZDsKKyAgIGthbF91aW50MTYgICAgIENoYW47CisgICBrYWxfdWludDggICAgICBUcmlnZ2VyU291cmNlOyAvKiAwLT5JRFA7IDEtPlJVUCAqLworfUVsdFJtY0ludGVyaG9Uc3RDZmdUOworCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX3VpbnQxNiBSZXNlUGlsb3RQTjsKK31FbHRSbWNJbnRyYWhvVHN0Q2ZnVDsKKworCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF91aW50OCAgRG9TaWduYWxWYWxpZEZsYWc7Cit9IEVsdFRzdFN0YkRvU2lnbmFsQ2ZnVDsKKworCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF91aW50OCAgUnR0VGltaW5nVmFsaWQ7CisgICAga2FsX3VpbnQ4ICBEb1RpbWluZ1ZhbGlkOworfSBFbHRUc3RTdGJUaW1pbmdDZmdUOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF91aW50OCAgdGVtcF90eXBlOworfSBFbHRUc3RSZWFkVGVtcFQ7CisKKworLyoqIGRlZmluZSB0ZW1wZXJhdHVyZSBnZXQgcmVzcG9uc2Ugc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qIFJlcXVlc3QgZXhlY3V0ZSBzdGF0dXMgKi8KKyAgICBDbDFUc3RSZXFTdGF0dXNFICAgICAgICBTdGF0dXM7CisKKyAgICAvKiBHZXQgdGVtcGVyYXR1cmUqLworICAgIENMMURfUkZfVEVNUEVSQVRVUkVfUVVFUllfVCAgVGVtcGVyYXR1cmU7Cit9IENsMVRzdFJlYWRUZW1wUnNwVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfdWludDggIFN0YXRlOworICAgIGthbF91aW50OCAgRGZzVHlwZTsKKyAgICBrYWxfdWludDggIENoYW5JbmRleDsKK30gQ2wxVHN0Um1jRGZzTWVhc0RvbmVSc3BUOworCisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBrYWxfYm9vbCByZXN1bHQ7LyogMS0+UGFzcywgMC0+RmFpbCAqLworfUVsdEMya1BoeVV0VHN0UnB0VDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF9ib29sIENyY1Jlc3VsdDsvKiAxLT5QYXNzLCAwLT5GYWlsICovCisgICBrYWxfdWludDggUHJlYW1ibGVNYWNJZDsKKyAgIGthbF91aW50OCBEcmNJbmRleDsKK31FbHRDMmtQaHlVdFJ4Q2FzZVRzdFJwdFQ7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX2Jvb2wgICAgICAgUkVTRVRfRU47CisgICAga2FsX2Jvb2wgICAgICAgRVFfTU9ERV9MMV9FTjsKKyAgICBrYWxfdWludDMyICAgICBFUV9NT0RFOworICAgIGthbF9ib29sICAgICAgIE1NU0VfRkxBR19MMV9FTjsKKyAgICBrYWxfdWludDMyICAgICBNTVNFX0ZMQUc7CisgICAga2FsX2Jvb2wgICAgICAgSVRFUl9OVU1fTDFfRU47CisgICAga2FsX3VpbnQzMiAgICAgSVRFUl9OVU07CisgICAga2FsX2Jvb2wgICAgICAgQUxQSEFfRklMVEVSX01PREVfTDFfRU47CisgICAga2FsX3VpbnQzMiAgICAgQUxQSEFfRklMVEVSX01PREU7CisgICAga2FsX2Jvb2wgICAgICAgREFUQV9GVE1fTDFfRU47CisgICAga2FsX3VpbnQzMiAgICAgREFUQV9GUkFDOworICAgIGthbF91aW50MzIgICAgIEMySV9GUkFDOworICAgIGthbF9ib29sICAgICAgIFBSRV9DT1VSU0VfTDFfRU47CisgICAga2FsX3VpbnQzMiAgICAgUFJFX0NPVVJTRTsKKyAgICBrYWxfYm9vbCAgICAgICBDT1JSX0xFTl9MMV9FTjsKKyAgICBrYWxfdWludDMyICAgICBDT1JSX0xFTjsKKyAgICBrYWxfYm9vbCAgICAgICBBTFBIQV9TSElGVF9MMV9FTjsKKyAgICBrYWxfdWludDMyICAgICBBTFBIQV9TSElGVDsKKyAgICBrYWxfYm9vbCAgICAgICBXSU5fQUREX0JEX0wxX0VOOworICAgIGthbF91aW50MzIgICAgIFdJTl9BRERfQkQ7CisgICAga2FsX2Jvb2wgICAgICAgUERfTUFUUklYX05PSVNFX0wxX0VOOworICAgIGthbF91aW50MzIgICAgIFBEX01BVFJJWF9OT0lTRTsKK31FbHRUc3RDdWlmQ2ZnVDsKKworCit0eXBlZGVmIHN0cnVjdAoreworICAgIENsMVRzdENmZ1R5cGVUIFRlc3RUeXBlOworfUVsdFRzdENmZ1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgQ2wxVHN0Q2ZnVHlwZVQgVGVzdFR5cGU7CisgICAgQ2wxVHN0UnNwUmVzdWx0VCBUZXN0UmVzdWx0OworICAgIENsMVRzdFJzcEluZm9UIFRlc3RSc3BJbmZvOworfUVsdFRzdFJzcFQ7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX3VpbnQ4ICBJc1N0Yk9ubHlNb2RlOworfSBFbHRUc3RTdGJPbmx5TW9kZUNmZ1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBTeXNBaXJJbnRlcmZhY2VUIE1vZGU7CisgICBrYWxfdWludDMyIENsMVJjZFB3ckN0cmxQYXJ0aWFsQnlwYXNzQ29uZjsKKyAgIGthbF91aW50MzIgQ2wxUmNkQ2xrQ3RybFBhcnRpYWxCeXBhc3NDb25mOworICAga2FsX3VpbnQzMiBDbDFSY2RTcmFtQ3RybFBhcnRpYWxCeXBhc3NDb25mOyAKK30gIENsMVJjZFBhcnRpYWxCeXBhc3NDb25mVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIENMMURfUkZfVFBDX1NFQ1RJT05fVEFCTEVfVCBUYWJsZVtDMktfTUlQSV9TVUJCQU5EX05VTV07Cit9IE52RWRpdG9yTWlwaVBhU2VjdGlvbkRhdGFUYWJsZVQ7CisKKy8qKiBkZWZpbmUgVFBDIE1JUEkgY29kZXdvcmQgU2V0dGluZyBjb21tYW5kIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiB1cGRhdGUgTlZSQU0gZmxhZywgMDogZG8gbm90IHVwZGF0ZSwgMTogdXBkYXRlICovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICBVcGRhdGVOdnJhbTsKKworICAgIC8qIDA6IDF4UlRULCAxOiBFVkRPICovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICBSZk1vZGU7CisgICAgCisgICAgLyogVG8gdXBkYXRlLCAwOkVUTSwgMTpBUFQsIDI6RFBEICovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICBQd3JNb2RlOworCisgICAgLyogQ0RNQSBCYW5kIENsYXNzIHRvIHR1cm4gb24qLworICAgIGthbF91aW50OCAgICAgICAgICAgQmFuZENsYXNzOworCisgICAgLyogVHBjTWlwaSovCisgICAgTnZFZGl0b3JNaXBpUGFTZWN0aW9uRGF0YVRhYmxlVCBUcGNNaXBpOworCisgICAgLyogUmVzZXJ2ZWQgKi8KKyAgICBrYWxfdWludDggICAgICAgICAgIFJlc2VydmVkOworfSBDbDFUc3RTZXRUcGNNaXBpQ3dDbWRUOworCisvKiogZGVmaW5lIFRQQyBNSVBJIGNvZGV3b3JkIHNldHRpbmcgY29uZmlybSBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyogUmVxdWVzdCBleGVjdXRlIHN0YXR1cyAqLworICAgIENsMVRzdFJlcVN0YXR1c0UgICAgU3RhdHVzOworfSBDbDFUc3RTZXRUcGNNaXBpQ3dSc3BUOworCisvKiogZGVmaW5lIFRQQyBNSVBJIGNvZGV3b3JkIGdldHRpbmcgY29tbWFuZCBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyogMDogMXhSVFQsIDE6IEVWRE8gKi8KKyAgICBrYWxfdWludDggICAgICAgICAgIFJmTW9kZTsKKyAgICAKKyAgICAvKiBUbyB1cGRhdGUsIDA6RVRNLCAxOkFQVCwgMjpEUEQgKi8KKyAgICBrYWxfdWludDggICAgICAgICAgIFB3ck1vZGU7CisKKyAgICAvKiBDRE1BIEJhbmQgQ2xhc3MgdG8gdHVybiBvbiovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICBCYW5kQ2xhc3M7CisKKyAgICAvKiBSZXNlcnZlZCAqLworICAgIGthbF91aW50MTYgICAgICAgICAgUmVzZXJ2ZWQ7CisKK30gQ2wxVHN0R2V0VHBjTWlwaUN3Q21kVDsKKworLyoqIGRlZmluZSBNSVBJIGNvZGV3b3JkIGdldHRpbmcgY29uZmlybSBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyogUmVxdWVzdCBleGVjdXRlIHN0YXR1cyAqLworICAgIENsMVRzdFJlcVN0YXR1c0UgICAgU3RhdHVzOworCisgICAgLyogVFBDIE1JUEkgZGF0YSAqLworICAgIE52RWRpdG9yTWlwaVBhU2VjdGlvbkRhdGFUYWJsZVQgVHBjTWlwaTsKK30gQ2wxVHN0R2V0VHBjTWlwaUN3UnNwVDsKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgR2xvYmFsIFR5cGVkZWZzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KK2V4dGVybiB2b2lkIENsMVRzdEVsdElmR2V0UmZQbGF0SW5mbyhDbDFUc3RHZXRSZlBsYXRJbmZvQ21kVCAqUHRyKTsKK2V4dGVybiB2b2lkIENsMVRzdEVsdElmUmZkVGVzdE1vZGVSZXEoQ2wxVHN0UmZkVGVzdE1vZGVSZXFDbWRUICpQdHIpOworZXh0ZXJuIHZvaWQgQ2wxVHN0RWx0SWZSZmRJbml0UmVxKENsMVRzdFJmZEluaXRSZXFDbWRUICpQdHIpOworZXh0ZXJuIHZvaWQgQ2wxVHN0RWx0SWZTZXRNaXBpQ29kZVdvcmQoQ2wxVHN0U2V0TWlwaUNvZGVXb3JkQ21kVCAqUHRyKTsKK2V4dGVybiB2b2lkIENsMVRzdEVsdElmR2V0TWlwaUNvZGVXb3JkKENsMVRzdEdldE1pcGlDb2RlV29yZENtZFQgKlB0cik7CitleHRlcm4gdm9pZCBDbDFUc3RFbHRJZlNldFNwaURhdGEoQ2wxVHN0U2V0U3BpRGF0YUNtZFQgKlB0cik7CitleHRlcm4gdm9pZCBDbDFUc3RFbHRJZkdldFNwaURhdGEoQ2wxVHN0R2V0U3BpRGF0YUNtZFQgKlB0cik7CitleHRlcm4gdm9pZCBDbDFUc3RFbHRJZlNldFRwY01pcGlDb2RlV29yZChDbDFUc3RTZXRUcGNNaXBpQ3dDbWRUICpQdHIpOworZXh0ZXJuIHZvaWQgQ2wxVHN0RWx0SWZHZXRUcGNNaXBpQ29kZVdvcmQoQ2wxVHN0R2V0VHBjTWlwaUN3Q21kVCAqUHRyKTsKK2V4dGVybiB2b2lkIENsMVRzdEVsdElmVHJhbnNtaXRDdHJsKENsMVRzdFRyYW5zbWl0Q3RybEVsdENtZFQgKlB0cik7CitleHRlcm4gdm9pZCBDbDFUc3RFbHRJZlJlY2VpdmVDdHJsKENsMVRzdFJlY2VpdmVDdHJsQ21kVCAqUHRyKTsKK2V4dGVybiB2b2lkIENsMVRzdEVsdElmQWZjQ29uZmlnKENsMVRzdEFmY0NvbmZpZ0NtZFQgKlB0cik7CitleHRlcm4gdm9pZCBDbDFUc3RFbHRJZlR4QWdjQ29uZmlnKENsMVRzdFR4QWdjQ29uZmlnQ21kVCAqUHRyKTsKK2V4dGVybiB2b2lkIENsMVRzdEVsdElmVHhQb3dlclF1ZXJ5KENsMVRzdFR4UG93ZXJRdWVyeUNtZFQgKlB0cik7CitleHRlcm4gdm9pZCBDbDFUc3RFbHRJZlJ4QWdjQ29uZmlnKENsMVRzdFJ4QWdjQ29uZmlnQ21kVCAqUHRyKTsKK2V4dGVybiB2b2lkIENsMVRzdEVsdElmUnhSc3NpUXVlcnkoQ2wxVHN0UnhSc3NpUXVlcnlDbWRUICpQdHIpOworZXh0ZXJuIHZvaWQgQ2wxVHN0RWx0SWZSeFNuclF1ZXJ5KENsMVRzdFJ4U25yUXVlcnlDbWRUICpQdHIpOworZXh0ZXJuIHZvaWQgQ2wxVHN0RWx0SWZSeEVjSW9RdWVyeShDbDFUc3RSeEVjSW9RdWVyeUNtZFQgKlB0cik7CitleHRlcm4gdm9pZCBDbDFUc3RFbHRJZkFmY0NhbERhdGFTZXQoQ2wxVHN0QWZjQ2FsRGF0YVNldENtZFQgKlB0cik7CitleHRlcm4gdm9pZCBDbDFUc3RFbHRJZkFmY0NhbERhdGFHZXQoQ2wxVHN0QWZjQ2FsRGF0YUdldENtZFQgKlB0cik7CitleHRlcm4gdm9pZCBDbDFUc3RFbHRJZlJ4Q2FsRGF0YVNldChDbDFUc3RSeENhbERhdGFTZXRDbWRUICpQdHIpOworZXh0ZXJuIHZvaWQgQ2wxVHN0RWx0SWZSeENhbERhdGFHZXQoQ2wxVHN0UnhDYWxEYXRhR2V0Q21kVCAqUHRyKTsKK2V4dGVybiB2b2lkIENsMVRzdEVsdElmVHhDYWxEYXRhU2V0KENsMVRzdFR4Q2FsRGF0YVNldENtZFQgKlB0cik7CitleHRlcm4gdm9pZCBDbDFUc3RFbHRJZlR4Q2FsRGF0YUdldChDbDFUc3RUeENhbERhdGFHZXRDbWRUICpQdHIpOworI2lmbmRlZiBfX01EOTNfXworZXh0ZXJuIHZvaWQgQ2wxVHN0RWx0SWZMbmFDYWxQd3JQb2ludEdldChDbDFUc3RMbmFDYWxQd3JQb2ludEdldENtZFQgKlB0cik7CisjZW5kaWYKKyNpZiAoIWRlZmluZWQoX19NRDkzX18pKSAmJiAoIWRlZmluZWQoX19NRDk1X18pKQorZXh0ZXJuIHZvaWQgQ2wxVHN0RWx0SWZSeEdhaW5HZXQoQ2wxVHN0UnhHYWluR2V0Q21kVCAqUHRyKTsKK2V4dGVybiB2b2lkIENsMVRzdEVsdElmVHhHYWluR2V0KENsMVRzdFR4R2FpbkdldENtZFQgKlB0cik7CitleHRlcm4gdm9pZCBDbDFUc3RFbHRJZlNldEJwaURhdGEoQ2wxVHN0U2V0QnBpRGF0YUNtZFQgKlB0cik7CitleHRlcm4gdm9pZCBDbDFUc3RFbHRJZkdldEJwaURhdGEoQ2wxVHN0R2V0QnBpRGF0YUNtZFQgKlB0cik7CitleHRlcm4gdm9pZCBDbDFUc3RFbHRJZlJ4QWdjRml4TWFudWFsQ29uZmlnKENsMVRzdFJ4QWdjRml4TWFudWFsQ29uZmlnQ21kVCAqTXNnUHRyKTsKKyNlbmRpZgorZXh0ZXJuIHZvaWQgQ2wxVHN0RWx0SWZGaGNTdGFydChDbDFUc3RGaGNTdGFydENtZFQgKlB0cik7CitleHRlcm4gdm9pZCBDbDFUc3RFbHRJZlRlbXBCYWNrT2ZmU2V0KENsMVRzdFRlbXBCYWNrT2ZmU2V0Q21kVCAqUHRyKTsKK2V4dGVybiB2b2lkIENsMVRzdEVsdElmVGVtcEJhY2tPZmZHZXQoQ2wxVHN0VGVtcEJhY2tPZmZHZXRDbWRUICpQdHIpOworZXh0ZXJuIHZvaWQgQ2wxdHN0RWx0SWZSY3BBY2NSdGJQcmVlbXB0KFJjcFR4U3RoUnRiSHNjUHJlZW1wdEN0cmxDbWRUICpQdHIpOworZXh0ZXJuIHZvaWQgQ2wxdHN0RWx0SWZSY3BUeEFnY0N0cmwoUmNwVHN0VHhBZ2NDdHJsQ21kVCAqUHRyKTsKK2V4dGVybiB2b2lkIENsMXRzdEVsdElmTDFkVHhBZ2NDdHJsKEwxZFRzdFR4QWdjQ3RybENtZFQgKlB0cik7CitleHRlcm4gdm9pZCBDbDF0c3RFbHRJZlR4RGZlQmJUb25lQ2ZnKFR4RGZlQmJUb25lQ2ZnQ21kVCAqUHRyKTsKK2V4dGVybiB2b2lkIENsMXRzdEVsdElmVHhEZmVCYk5jb0NmZyhUeERmZUJiTmNvQ2ZnQ21kVCAqUHRyKTsKK2V4dGVybiB2b2lkIENsMVRzdEVsdElmSWNzQ2FzZUlkQ2ZnKEVsdFRzdEljc1RzdENhc2VJZENmZ1QgKlB0cik7CitleHRlcm4gdm9pZCAgQ2wxVHN0RWx0SWZNY2REYmdNc2coRWx0VHN0TWNkRGVidWdNc2dUICpNc2dQdHIpOworZXh0ZXJuIHZvaWQgQ2wxVHN0RWx0Um1jSW50ZXJob1RzdENmZyhFbHRSbWNJbnRlcmhvVHN0Q2ZnVCAqUHRyKTsKK2V4dGVybiB2b2lkICBDbDFUc3RFbHRSbWNJbnRyYWhvVHN0Q2ZnKEVsdFJtY0ludHJhaG9Uc3RDZmdUICogUHRyKTsKK2V4dGVybiB2b2lkIENsMVRzdEVsdElmU3RiRG9TaWduYWxDZmcoRWx0VHN0U3RiRG9TaWduYWxDZmdUICpQdHIpOworZXh0ZXJuIHZvaWQgQ2wxVHN0RWx0SWZTdGJUaW1pbmdDZmcoRWx0VHN0U3RiVGltaW5nQ2ZnVCAqUHRyKTsKK2V4dGVybiB2b2lkIENsMVBoeVV0UnB0VG9TY3JpcChFbHRDMmtQaHlVdFRzdFJwdFQgKkNoZWNrUnB0TXNnKTsKK2V4dGVybiB2b2lkIENsMVBoeVV0UnhDYXNlUnB0VG9TY3JpcHQoRWx0QzJrUGh5VXRSeENhc2VUc3RScHRUICpDaGVja1JwdE1zZyk7CitleHRlcm4gdm9pZCBDbDFUZXN0RGZzTWVhc0RvbmUoQ2wxVHN0Um1jRGZzTWVhc0RvbmVSc3BUICpDaGVja1JwdE1zZyk7CitleHRlcm4gdm9pZCBDbDFUc3RFbHRJZlNlbmRNc2coaWxtX3N0cnVjdCAqcnNwX2lsbV9wdHIpOworZXh0ZXJuIHZvaWQgQ2wxVHN0RWx0SWZDdWlmQ2ZnKEVsdFRzdEN1aWZDZmdUICpNc2dQdHIpOworZXh0ZXJuIHZvaWQgQ2wxU2VuZFRzdFJlc3AoQ2wxVHN0Q2ZnVHlwZVQgVHlwZSxDbDFUc3RSc3BSZXN1bHRUIFJlc3VsdCxDbDFUc3RSc3BJbmZvVCAqUnNwSW5mbyk7CitleHRlcm4gdm9pZCBDbDFUc3RFbHRJZlN0Yk9ubHlNb2RlQ2ZnKEVsdFRzdFN0Yk9ubHlNb2RlQ2ZnVCAqTXNnUHRyKTsKK2V4dGVybiB2b2lkIENsMVRzdEVsdElmUmNQYXJ0aWFsQnlwYXNzQ29uZihDbDFSY2RQYXJ0aWFsQnlwYXNzQ29uZlQqIE1zZ1B0cik7CisjZW5kaWYgLyogX0NMMVRTVF9FTFRfSUZfSF8gKi8KKwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NsMXRzdGwxcHNpZi5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NsMXRzdGwxcHNpZi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4NTVjNTEKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY2wxdHN0bDFwc2lmLmgKQEAgLTAsMCArMSwzNjMgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBNb2RpZmljYXRpb24gTm90aWNlOgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgbW9kaWZpZWQgYnkgTWVkaWFUZWsgSW5jLiBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKgorKiBGaWxlbmFtZToKKyogLS0tLS0tLS0tCisqIGNsMXRzdGwxcHNpZi5oCisqCisqIFByb2plY3Q6CisqIC0tLS0tLS0tCisqICAgTVRYWFhYIFByb2plY3QKKyoKKyogRGVzY3JpcHRpb246CisqIC0tLS0tLS0tLS0tLQorKiAgIFRoaXMgZmlsZSBjb250YWlucyB0aGUgbG9nIElRIGZ1bmN0aW9ucy4KKyoKKyogQXV0aG9yOgorKiAtLS0tLS0tCisqCisqCisqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisqICAgICAgICAgICAgIEhJU1RPUlkKKyogQmVsb3cgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyoKKyoKKyoKKyoKKyoKKyoKKyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogVXBwZXIgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBfQ0wxVFNUX0wxUFNfSUZfSF8KKyNkZWZpbmUgX0NMMVRTVF9MMVBTX0lGX0hfCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEluY2x1ZGUgRmlsZXMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworI2luY2x1ZGUgImNsMXRzdGVsdGlmLmgiCisjaW5jbHVkZSAidmFsYXBpLmgiCisKKwordHlwZWRlZiBlbnVtCit7CisgICAgQ0wxX0RJU0FCTEVfTU9ERSA9IDAsCisgICAgQ0wxX01BSU5SWF9PTkxZX01PREUgPSAxLAorICAgIENMMV9ESVZFUlNJVFlSWF9PTkxZX01PREUsCisgICAgQ0wxX0RVQUxfTU9ERSwKKyAgICBDTDFfVEVTVE1PREVfTlVNCit9IENsMUFudGVubmFUZXN0TW9kZVQ7CisKK3R5cGVkZWYgZW51bQoreworICAgIEhfQU5UID0gMCwKKyAgICBMX0FOVF8xLAorICAgIExfQU5UXzIsCisgICAgSU5WQUxJRF9BTlQgPSAyNTUKK30gQ2wxTWFpbkFudGVubmFJbmZvVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIENsMUFudGVubmFUZXN0TW9kZVQgICAgICAgICAgQW50VGVzdE1vZGU7Cit9IENsMVRzdEFudGVubmFUZXN0TW9kZU1zZ1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgTE9DQUxfUEFSQV9IRFIKKyAgICBDbDFUc3RBbnRlbm5hVGVzdE1vZGVNc2dUICAgbXNnOworfWNsMXRzdF92YWxfcnhfdGVzdF9tb2RlX21zZ19zdHJ1Y3Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgVmFsQ2wxdHN0UmVxTW9kZVQgICAgICAgICAgIE1vZGU7CisgICAga2FsX3VpbnQxNiAgICAgICAgICAgICAgICAgIENoYW5uZWw7CisgICAga2FsX3VpbnQ4ICAgICAgICAgICAgICAgICAgIEJhbmQ7CisgICAga2FsX2ludDggICAgICAgICAgICAgICAgICAgICAgICBUeFBvd2VyOy8qUTAqLworICAgIFZhbENsMXRzdFR4U2lnVHlwZVQgICAgICAgICBUeFNpZ1R5cGU7Cit9IENsMXRzdFZhbFJ4VHhQd3JEZXRlY3RNc2dUOworCisvKiogZGVmaW5lIFR4IENETUEgY2hhbm5lbCBjb250b3JsIG1lc3NhZ2UqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBMT0NBTF9QQVJBX0hEUgorICAgIENsMXRzdFZhbFJ4VHhQd3JEZXRlY3RNc2dUICBNc2c7Cit9IGNsMXRzdF92YWxfcnh0eF9wd3JfZGV0ZWN0X21zZ19zdHJ1Y3Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgIGthbF91aW50OCBSYXRUeXBlOworICBrYWxfYm9vbCBNb25pdG9yaW5nUmVxOworfSBDbDF0c3RWYWxHZXRBbnRJbmZvUmVxTXNnVDsKKworLyoqIGRlZmluZSBUeCBDRE1BIGNoYW5uZWwgY29udG9ybCBtZXNzYWdlKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgTE9DQUxfUEFSQV9IRFIKKyAgICBDbDF0c3RWYWxHZXRBbnRJbmZvUmVxTXNnVCAgTXNnOworfSBjbDF0c3RfdmFsX2dldF9hbnRfaW5mb19yZXFfbXNnX3N0cnVjdDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAga2FsX3VpbnQ4IFJhdFR5cGU7CisgIGthbF91aW50OCBBbnRlbm5hSW5kZXg7Cit9IENsMXRzdFRhc01haW5QYXRoU3dpdGNoSW5mb01zZ1Q7CisKKy8qKiBkZWZpbmUgVHggQ0RNQSBjaGFubmVsIGNvbnRvcmwgbWVzc2FnZSovCit0eXBlZGVmIHN0cnVjdAoreworICAgIExPQ0FMX1BBUkFfSERSCisgICAgQ2wxdHN0VGFzTWFpblBhdGhTd2l0Y2hJbmZvTXNnVCAgTXNnOworfSBjbDF0c3RfdGFzX21haW5fcGF0aF9zd2l0Y2hfaW5mb19tc2dfc3RydWN0OworCisjaWZkZWYgX19SRl9TQ0FOX0ZPUl9ERVNFTlNFX1RFU1RfXyAgCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF91aW50OCAgICAgICAgICAgICAgICAgICBSYXRUeXBlOy8qMXhSVFQgb3IgRVZETyovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICAgICAgICAgIEJhbmQ7CisgICAga2FsX3VpbnQxNiAgICAgICAgICAgICAgICAgIENoYW5uZWw7CisgICAga2FsX2Jvb2wgICAgICAgICAgICAgICAgICAgIFR4T25GbGFnOworICAgIGthbF9pbnQ4ICAgICAgICAgICAgICAgICAgICBUeFBvd2VyOy8qUTAqLworICAgIGthbF91aW50OCAgICAgICAgICAgICAgICAgICBSZXBlYXRUaW1lczsKK30gQ2wxdHN0VmFsUnhTY2FuTXNnVDsKKworLyoqIGRlZmluZSBUeCBDRE1BIGNoYW5uZWwgY29udG9ybCBtZXNzYWdlKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgTE9DQUxfUEFSQV9IRFIKKyAgICBDbDF0c3RWYWxSeFNjYW5Nc2dUICBNc2c7Cit9IGNsMXRzdF92YWxfcnhfc2Nhbl9tc2dfc3RydWN0OworI2VuZGlmCisKKyNpZmRlZiBfX0VNX01BWF9UWF9QT1dFUl9TVVBQT1JUX18KKy8qTVNHX0lEX0NMMVRTVF9WQUxfTUFYX1RYX1BXUl9TRVRfTVNHOiBkZWZpbmUgTWF4IFR4UG93ZXIgQWRqdXN0IE9mZnNldCBzZXQgbWVzc2FnZSA6ICovCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX3VpbnQ4ICAgIEJhbmQ7CisgICBrYWxfaW50MTYJTWF4VHhQd3JPZmZzZXQ7IC8qIEFkanVzdCBNYXggVHhQb3dlciBmb3IgdGVzdCovCit9IENsMXRzdFZhbE1heFR4UHdyU2V0TXNnVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKwlMT0NBTF9QQVJBX0hEUgorCUNsMXRzdFZhbE1heFR4UHdyU2V0TXNnVCBNc2c7Cit9IGNsMXRzdF92YWxfbWF4X3R4X3B3cl9zZXRfbXNnX3N0cnVjdDsKKyNlbmRpZgorCisjaWZkZWYgTVRLX0RFVl9FTkdJTkVFUl9NT0RFCisvKipNU0dfSURfQ0wxVFNUX1JDUF9UWF9UUkFOU01JVF9DVFJMX01TRyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBSZlRzdENvbnRyb2xBY3Rpb25UICAgICAgICAgQWN0aW9uOworICAgIGthbF91aW50MTYgICAgICAgICAgICAgICAgICBDaGFubmVsOworICAgIGthbF91aW50OCAgICAgICAgICAgICAgICAgICBCYW5kOworICAgIGthbF9pbnQ4ICAgICAgICAgICAgICAgICAgICAgICAgVHhQb3dlcjsvKlEwKi8KKyAgICBDbDFUc3RUeFNpZ1R5cGVUICAgICAgICAgICAgVHhTaWdUeXBlOworfSBDbDFUc3RSY3BSeFR4VHJhbnNtaXRDdHJsTXNnVDsKKworLyoqIGRlZmluZSBUeCBDRE1BIGNoYW5uZWwgY29udG9ybCBtZXNzYWdlKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgTE9DQUxfUEFSQV9IRFIKKyAgICBDbDFUc3RSY3BSeFR4VHJhbnNtaXRDdHJsTXNnVCAgTXNnOworfSBjbDF0c3RfcmNwX3R4X3RyYW5zbWl0X2N0cmxfbXNnX3N0cnVjdDsKKyNlbmRpZgorCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF91aW50MzIgIFNldFJlc3VsdDsKK30gQ2wxdHN0U2V0TW9iaWxlSWRSc3BUOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIExPQ0FMX1BBUkFfSERSCisgICAgQ2wxdHN0U2V0TW9iaWxlSWRSc3BUIE1zZzsKK30gY2wxdHN0X3NldF9tb2JpbGVfaWRfcnNwX21zZ19zdHJ1Y3Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX3VpbnQ2NCAgTWVpZDsKKyAgICBrYWxfdWludDMyICBFc247Cit9IENsMXRzdEdldE1vYmlsZUlkUnNwVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBMT0NBTF9QQVJBX0hEUgorICAgIENsMXRzdEdldE1vYmlsZUlkUnNwVCBNc2c7Cit9IGNsMXRzdF9nZXRfbW9iaWxlX2lkX3JzcF9tc2dfc3RydWN0OworCisjaWYgKGRlZmluZWQoTVRLX1BMVF9PTl9QQ19JVCkpfHwoZGVmaW5lZChNVEtfQzJLX0wxX1RTVCkpCisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBrYWxfYm9vbCByZXN1bHQ7LyogMS0+UGFzcywgMC0+RmFpbCAqLworfUNsMXRzdFBoeVV0VHN0UnB0VDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBMT0NBTF9QQVJBX0hEUgorICAgIENsMXRzdFBoeVV0VHN0UnB0VCAgICAgIG1zZzsKK30gQ2wxVHN0UGh5dXRScHRNc2dTdHJ1Y3Q7CisjZW5kaWYKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEdsb2JhbCBUeXBlZGVmcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCitleHRlcm4gdm9pZCBDbDFUc3RSeFRlc3RNb2RlU2V0Q3RybChDbDFUc3RBbnRlbm5hVGVzdE1vZGVNc2dUICpNc2dQdHIpOworZXh0ZXJuIHZvaWQgQ2wxVHN0VmFsUnhUeFB3ckRldGVjdChDbDF0c3RWYWxSeFR4UHdyRGV0ZWN0TXNnVCAqTXNnUHRyKTsKKyNpZmRlZiBfX1JGX1NDQU5fRk9SX0RFU0VOU0VfVEVTVF9fICAKK2V4dGVybiB2b2lkIENsMVRzdFZhbFJ4U2NhbihDbDF0c3RWYWxSeFNjYW5Nc2dUICpNc2dQdHIpOworI2VuZGlmCisjaWZkZWYgTVRLX0RFVl9FTkdJTkVFUl9NT0RFCitleHRlcm4gdm9pZCBDbDF0c3RSY3BUeFRyYW5zbWl0Q3RybChDbDFUc3RSY3BSeFR4VHJhbnNtaXRDdHJsTXNnVCAqTXNnUHRyKTsKKyNlbmRpZgorZXh0ZXJuIHZvaWQgQ2wxVHN0VmFsR2V0QW50SW5mb1JlcShDbDF0c3RWYWxHZXRBbnRJbmZvUmVxTXNnVCAqTXNnUHRyKTsKK2V4dGVybiB2b2lkIENsMVRzdFZhbEdldEFudEluZm9JbmQoQ2wxdHN0VGFzTWFpblBhdGhTd2l0Y2hJbmZvTXNnVCAqTXNnUHRyKTsKK2V4dGVybiB2b2lkIENsMVRzdEZoY1JlcG9ydFRvRnQodm9pZCk7CitleHRlcm4gQ2wxQW50ZW5uYVRlc3RNb2RlVCBDbDFUc3RHZXRBbnRlbm5hVGVzdE1vZGUoU3lzQ2RtYUJhbmRUIEN1cnJlbnRCYW5kKTsKK2V4dGVybiBrYWxfYm9vbCBDbDFUc3REaXZlcnNpdHlPbmx5VGVzdEN0cmwodm9pZCk7CitleHRlcm4ga2FsX2Jvb2wgQ2wxVHN0TWFpbk9ubHlUZXN0Q3RybCh2b2lkKTsKK2V4dGVybiBrYWxfYm9vbCBJc1Rlc3RNb2RlVmFsaWQoQ2wxQW50ZW5uYVRlc3RNb2RlVCBBbnRUZXN0TW9kZSk7CitleHRlcm4ga2FsX2Jvb2wgQ2wxVHN0UmZJc0RpdmVyc2l0eUNvbXBpbGVkSW4odm9pZCk7CitleHRlcm4gdm9pZCBDbDFUc3RFbHRJZlRlbXBSZWFkKEVsdFRzdFJlYWRUZW1wVCAqTXNnUHRyKTsKKyNpZiAoZGVmaW5lZChNVEtfUExUX09OX1BDX0lUKSl8fChkZWZpbmVkKE1US19DMktfTDFfVFNUKSkKK2V4dGVybiB2b2lkIENsMVRzdFNoUGh5dXRSZXBvcnQoQ2wxdHN0UGh5VXRUc3RScHRUICpNc2dQdHIpOworI2VuZGlmCitleHRlcm4ga2FsX2Jvb2wgQ2wxVHN0UnhEaXZlcnNpdHlPbmx5VGVzdEVuYWJsZShTeXNDZG1hQmFuZFQgQ3VycmVudEJhbmQpOworZXh0ZXJuIGthbF9ib29sIENsMVRzdFJmQ3VzdFJ4RGl2ZXJzaXR5RW5hYmxlKFN5c0NkbWFCYW5kVCBDdXJyZW50QmFuZCk7CisKK2V4dGVybiB2b2lkIENsMVRzdE5zdFBvd2VyVXBQcm9jKENsMVRzdE5zdFBvd2VyVXBDbWRUICpQdHIpOworZXh0ZXJuIHZvaWQgQ2wxVHN0TnN0VGNoRmVyQ2ZnUHJvYyhDbDFUc3ROc3RUY2hGZXJDZmdDbWRUICpQdHIpOworZXh0ZXJuIHZvaWQgQ2wxVHN0TnN0VHhQd3JNZWFzQ2ZnUHJvYyhDbDFUc3ROc3RUeFB3ck1lYXNDZmdDbWRUICpQdHIpOworZXh0ZXJuIHZvaWQgQ2wxVHN0TnN0UnhQd3JNZWFzQ2ZnUHJvYyhDbDFUc3ROc3RSeFB3ck1lYXNDZmdDbWRUICpQdHIpOworZXh0ZXJuIHZvaWQgQ2wxVHN0TnN0TGlzdFNldENmZ1Byb2MoQ2wxVHN0TnN0TGlzdFNldENmZ0NtZFQgKlB0cik7CitleHRlcm4gdm9pZCBDbDFUc3ROc3RFbnRlclRlc3RNb2RlUHJvYyhDbDFUc3ROc3RFbnRlclRlc3RNb2RlQ21kVCAqUHRyKTsKK2V4dGVybiB2b2lkIENsMVRzdE5zdEV4aXRUZXN0TW9kZVByb2MoQ2wxVHN0TnN0RXhpdFRlc3RNb2RlQ21kVCAqUHRyKTsKKworZXh0ZXJuIHZvaWQgQ2wxVHN0TnN0UG93ZXJVcENuZlByb2Nlc3MoUHN3TnN0UG93ZXJ1cEFja1JzcE1zZ1QgKk1zZ1B0cik7CitleHRlcm4gdm9pZCBDbDFUc3ROc3RUY2hGZXJDZmdDbmZQcm9jZXNzKFBzd05zdFRjaEZlckNmZ0NuZk1zZ1QgKk1zZ1B0cik7CitleHRlcm4gdm9pZCBDbDFUc3ROc3RUeE1lYXNDZmdDbmZQcm9jZXNzKFBzd05zdFRyYW5zbWl0VGNoQWNrTXNnVCAqTXNnUHRyKTsKK2V4dGVybiB2b2lkIENsMVRzdE5zdFJ4TWVhc0NmZ0NuZlByb2Nlc3MoUHN3TnN0UnhQd3JSZXNwTXNnVCAqTXNnUHRyKTsKK2V4dGVybiB2b2lkIENsMVRzdE5zdExpc3RTZXRDZmdDbmZQcm9jZXNzKFBzd05zdExpc3RTZXRSZXNwTXNnVCAqTXNnUHRyKTsKKworZXh0ZXJuIHZvaWQgQ2wxdHN0TDRDRW50ZXJGYWNNb2RlUmVxUHJvKG1zZ190eXBlIG1zZ19pZCk7CitleHRlcm4gdm9pZCBDbDF0c3RMNENFbnRlck5vck1vZGVSZXFQcm8obXNnX3R5cGUgbXNnX2lkKTsKK2V4dGVybiB2b2lkIENsMXRzdFNldE1vYmlsZUlkUnNwUHJvKENsMXRzdFNldE1vYmlsZUlkUnNwVCAqUHRyKTsKK2V4dGVybiB2b2lkIENsMXRzdEdldE1vYmlsZUlkUnNwUHJvKENsMXRzdEdldE1vYmlsZUlkUnNwVCAqUHRyKTsKKworZXh0ZXJuIHZvaWQgQ2wxVHN0UnhBbnRUZXN0TW9kZVNldFByb2MoQ2wxVHN0UnhBbnRUZXN0TW9kZVNldENtZFQgKlB0cik7CisjZW5kaWYgLyogX0NMMVRTVF9MMVBTX0lGX0hfICovCisKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jbDF0c3RtZXRhaWYuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jbDF0c3RtZXRhaWYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45Y2I0OWUyCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NsMXRzdG1ldGFpZi5oCkBAIC0wLDAgKzEsMTk0MyBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIE1vZGlmaWNhdGlvbiBOb3RpY2U6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBtb2RpZmllZCBieSBNZWRpYVRlayBJbmMuIGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqCisqIEZpbGVuYW1lOgorKiAtLS0tLS0tLS0KKyogY2wxdHN0bWV0YWlmLmgKKyoKKyogUHJvamVjdDoKKyogLS0tLS0tLS0KKyogICBNVFhYWFggUHJvamVjdAorKgorKiBEZXNjcmlwdGlvbjoKKyogLS0tLS0tLS0tLS0tCisqICAgVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBsb2cgSVEgZnVuY3Rpb25zLgorKgorKiBBdXRob3I6CisqIC0tLS0tLS0KKyoKKyoKKyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyogICAgICAgICAgICAgSElTVE9SWQorKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisqCisqCisqCisqCisqCisqCisqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisqIFVwcGVyIHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgX0NMMVRTVF9NRVRBX0lGX0hfCisjZGVmaW5lIF9DTDFUU1RfTUVUQV9JRl9IXworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBJbmNsdWRlIEZpbGVzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKyNpbmNsdWRlICJrYWxfZ2VuZXJhbF90eXBlcy5oIgorI2luY2x1ZGUgImthbF9wdWJsaWNfZGVmcy5oIgorI2luY2x1ZGUgImZ0X21zZ19jb21tb24uaCIKKyNpbmNsdWRlICJjbDFkX3JmX3B1YmxpYy5oIgorI2luY2x1ZGUgInN5c3R5cC5oIgorI2luY2x1ZGUgImNsMV9yZl9wdWJsaWMuaCIKKworI2RlZmluZSBDTDFUU1RfVEVNUF9TRUNUSU9OX05VTSAgICAgICAgICAgICAgICAgOAorI2RlZmluZSBDTDFUU1RfRlJFUV9TRUNUSU9OX05VTSAgICAgICAgICAgICAgICAgMTYKKyNkZWZpbmUgQ0wxVFNUX1JYX1BBVEhfTlVNICAgICAgICAgICAgICAgICAgICAgIDMKKyNkZWZpbmUgQ0wxVFNUX1BPV0VSX01PREVfTlVNICAgICAgICAgICAgICAgICAgIDIKKyNkZWZpbmUgQ0wxVFNUX0xOQV9NT0RFX05VTSAgICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgQ0wxVFNUX1BBX1NFQ1RJT05fTlVNICAgICAgICAgICAgICAgICAgIDgKKyNkZWZpbmUgQ0wxVFNUX1BBX01PREVfTlVNICAgICAgICAgICAgICAgICAgICAgIDMKKworI2RlZmluZSBDTDFUU1RfRkhDX1RYX0VMRU1FTlRfTlVNICAgICAgICAgICAgICAgMTAwMAorI2RlZmluZSBDTDFUU1RfRkhDX1JYX0VMRU1FTlRfTlVNICAgICAgICAgICAgICAgMTAwMAorCisjZGVmaW5lIENMMVRTVF9SWF9QQVRIX01BSU4gICAgICAgICAgICAgICAgICAgICAoMSA8PCAwKQorI2RlZmluZSBDTDFUU1RfUlhfUEFUSF9ESVYgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMSkKKyNkZWZpbmUgQ0wxVFNUX1JYX1BBVEhfU0hEUiAgICAgICAgICAgICAgICAgICAgICgxIDw8IDIpCisKKyNkZWZpbmUgQ0wxVFNUX0NBTF9SU1NJX1dJTl9FQ0hJUCAgICAgICAgICAgICAgIDB4MTAwMCAgICAgIC8qIHVuaXQgRSBjaGlwICg1MTIgY2hpcHMpICovCisjZGVmaW5lIENMMVRTVF9TVVBfRlJBTUVfTEVOX0VDSElQICAgICAgICAgICAgICBTVF85TV9DTlRTX1BFUl84ME1TICAgICAvKiB1bml0IEUgY2hpcCAoODAgbXMpICovCisjZGVmaW5lIENMMVRTVF9TTE9UX0xFTl9FQ0hJUCAgICAgICAgICAgICAgICAgICBTVF85TV9DTlRTX1BFUl8xUFQ2N01TICAvKiB1bml0IEUgY2hpcCAoMS42NjY2NiBtcykgKi8KKyNkZWZpbmUgQ0wxVFNUX1BDR19MRU5fRUNISVAgICAgICAgICAgICAgICAgICAgIFNUXzlNX0NOVFNfUEVSXzFQVDI1TVMgIC8qIHVuaXQgRSBjaGlwICgxLjI1IG1zKSAqLworI2RlZmluZSBDTDFUU1RfSEFMRl9TTE9UX0xFTl9FQ0hJUCAgICAgICAgICAgICAgMHgyMDAwICAgICAgLyogdW5pdCBFIGNoaXAgKDEuNjY2NjYgbXMpLzIgKi8KKyNkZWZpbmUgQ0wxVFNUX0hBTEZfU0xPVF9MRU5fVVMgICAgICAgICAgICAgICAgIDB4MzQxICAgICAgIC8qIHVuaXQgdXMgKDAuODMzMzMgbXMpICovCisjaWYgKCFkZWZpbmVkKF9fTUQ5M19fKSkgJiYgKCFkZWZpbmVkKF9fTUQ5NV9fKSkKKyNkZWZpbmUgQ0wxVFNUX0ZJVkVfUENHX0xFTl9VUyAgICAgICAgICAgICAgICAgIDB4MTg2QSAgICAgIC8qIHVuaXQgdXMgKDYuMjUgbXMpICovCisjZW5kaWYKKyNkZWZpbmUgQ0wxVFNUX1FVQVJUX1NMT1RfTEVOX0VDSElQICAgICAgICAgICAgIDB4MTAwMCAgICAgIC8qIHVuaXQgRSBjaGlwICgxLjY2NjY2IG1zKS80ICovCisjZGVmaW5lIENMMVRTVF9UUkNfUlNTSV9XSU5fTlVNICAgICAgICAgICAgICAgICAxMiAgICAgICAgICAvKiA1bXMgKi8KKyNkZWZpbmUgQ0wxVFNUX1JYX09OX0hSVF9FQ0hJUCAgICAgICAgICAgICAgICAgIDB4N0FFICAgICAgIC8qIHVuaXQgRSBjaGlwICgyMDAgdXMpLCBUQkQgKi8KKyNkZWZpbmUgQ0wxVFNUX1JYX0RFTEFZX0VDSElQICAgICAgICAgICAgICAgICAgIDIwICAgICAgICAgIC8qIHVuaXQgRSBjaGlwICgyMGNoaXApLCBUQkQgKi8KKworI2RlZmluZSBDTDFUU1RfTU9EX0hBTEZfU0xPVF9FQ0hJUChBKSAgICAgICAgICAgKEEgJiAweDAwMDAwMUZGRikKKyNkZWZpbmUgQ0wxVFNUX01PRF9TTE9UX0VDSElQKEEpICAgICAgICAgICAgICAgIChBICYgMHgwMDAwMDNGRkYpCisjZGVmaW5lIENMMVRTVF9NT0RfQ0FMX1JTU0lfV0lOX0VDSElQKEEpICAgICAgICAoQSAmIDB4MDAwMDAwRkZGKQorCisjZGVmaW5lIENMMVRTVF9NT0RfU1VQX0ZSQU1FX0VDSElQKEEpICAgICAgICAgICB3aGlsZSAoQSA+PSBTVF85TV9DTlRTX1BFUl84ME1TKSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBIC09U1RfOU1fQ05UU19QRVJfODBNUzsgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorCisKKyNkZWZpbmUgQ0wxVFNUX05TVF9NQVhfTElTVF9OVU0gICAgICAgICAgICAgICAgIDUwCisjZGVmaW5lIENMMVRTVF9OU1RfTUFYX1RYX1BXUl9DT1VOVCAgICAgICAgICAgICAyMAorI2RlZmluZSBDTDFUU1RfTlNUX01BWF9SWF9QV1JfQ09VTlQgICAgICAgICAgICAgMjAKKyNkZWZpbmUgQ0wxVFNUX1JGX0JBTkRfTlVNX01BWCAgICAgICAgICAgICAgICAgIDUKKyNpZiBkZWZpbmVkKCBfX01EOTNfXyl8fGRlZmluZWQoIF9fTUQ5NV9fKQorI2RlZmluZSBDTDFUU1RfOTNNXzk1TV9SWEFHQ19DRkdfREVMQVkgICAgICAgICAgMTQgLyppbiA5M00gYW5kIDk1TSwgY2ZnIGNvbXBsZXRlIGFmdGVyIDEwLjg0bXMsIGFuZCBhZnRlciAxc2xvdCxkc3Agc2VuZCByc3NpIHRvIElBKGFmdGVyIDEyLjVtcyksIGRlbGF5IDE0bXMgdG8gbWFrZSBzdXJlIHJzc2kgaXMgcmVhZGVkIGFmdGVyIGNmZyByZWFsbHkgc2V0Ki8KKyNlbHNlCisjZGVmaW5lIENMMVRTVF85N01fUlhBR0NfQ0ZHX0RFTEFZICAgICAgICAgIDcgLyppbiA5N00saW52b2tpbmcgY2ZnIEFwaSBpbiBuIHNsb3Qob3IgcGNnKS4gY2ZnIHRha2UgYWZmZWN0IGluIHNsb3QocGNnKW4rMSxSRkQgZ2V0IHJzc2kgaW4gbisyIHNsb3QocGNnKSwgTDEgZ2V0IGl0IGluIG4rMyBzbG90KHBjZyksIGRlbGF5IDdtcyB0byByc3NpIGlzIHJlYWRlZCBhZnRlciBjZmcgcmVhbGx5IHNldCovCisjZW5kaWYKKworCisvKiogVHggcG93ZXIgZGlmZmVyIGJldHdlZW4gYmIgc2luZSB0b25lIGFuZCAgbW9kdWxhdGUgc2lnbmFsIGlmIGJiIHNpbmUgZnJlcSBzZWwgaXMgNiBhbmQgQU1QIGlzIDEvMiAqLyAKKyNkZWZpbmUgQ0wxVFNUX1RYX0RJRkZFUl9CQl9UT05FX01PRFVMREFURV9TSUcgICAgICAoODQpCisKKy8qKiBkZWZpbmUgUkZEIHRlc3QgbW9kZSBlbnVtZXJhdGlvbiAqLwordHlwZWRlZiBlbnVtCit7CisgICAgQ0wxVFNUX1JGRF9SWF9UU1RfTU9ERSA9IDAsCisgICAgQ0wxVFNUX1JGRF9UWF9UU1RfTU9ERSA9IDEsCisgICAgQ0wxVFNUX1JGRF9NRVRBX01PREUgPSAyLAorICAgIENMMVRTVF9SRkRfSU5WQUxJRCA9IDB4RkYKK30gQ2wxVHN0UmZkVHN0TW9kZVQ7CisKK3R5cGVkZWYgZW51bQoreworICAgIENMMVRTVF9SWF9BR0NfRlNNX0lDUyAgID0gMCwKKyAgICBDTDFUU1RfUlhfQUdDX0ZTTV9DQUwgICA9IDEsCisgICAgQ0wxVFNUX1JYX0FHQ19GU01fSU5WQUxJRCA9IDB4N0ZGRgorfUNsMVRzdFJ4QWdjRnNtVDsKKworLyogdGhpcyBlbnVtIGlzIFRCRCAodGVtcCB1c2UpICovCit0eXBlZGVmIGVudW0KK3sKKyAgICBNSVBJMCwKKyAgICBNSVBJMSwKKyAgICBNSVBJMiwKKyAgICBNSVBJMywKKyAgICBNSVBJX0VORCwKKyAgICBCU0kxID0gTUlQSV9FTkQsCisgICAgQlNJX05BTUVfTUFYLAorICAgIEJTSV9OQU1FX0lOVkFMSUQgPSBCU0lfTkFNRV9NQVgKK30gQnNpTmFtZVQ7CisKKy8qKiBkZWZpbmUgdGhlIFJGIG1vZGUgZW51bWVyYXRpb24gKi8KK3R5cGVkZWYgZW51bQoreworICAgIENMMVRTVF9SRl9NT0RFXzFYUlRULAorICAgIENMMVRTVF9SRl9NT0RFX0VWRE8KK30gQ2wxVHN0UmZNb2RlVDsKKworLyoqIGRlZmluZSB0aGUgUlggYWdjIGNvbnRyb2wgbW9kZSAqLwordHlwZWRlZiBlbnVtCit7CisgICAgQ0wxVFNUX1JYX0FHQ19BVVRPID0gMCwKKyAgICBDTDFUU1RfUlhfQUdDX01BTlVBTCA9IDEKK30gQ2wxVHN0UnhBZ2NNb2RlVDsKKworLyoqIGRlZmluZSB0aGUgY29tbWFuZCBhY3Rpb24gZW51bWVyYXRpb24gKi8KK3R5cGVkZWYgZW51bQoreworICAgIENMMVRTVF9BQ1RJT05fT0ZGLAorICAgIENMMVRTVF9BQ1RJT05fT04KK30gQ2wxVHN0QWN0aW9uVDsKKworLyoqIGRlZmluZSB0aGUgTlZSQU0gb3BlcmF0aW9uIGVudW1lcmF0aW9uICovCit0eXBlZGVmIGVudW0KK3sKKyAgICBDTDFUU1RfTlZfTk9UX1VQREFURSwKKyAgICBDTDFUU1RfTlZfVVBEQVRFLAorICAgIENMMVRTVF9OVl9JTlZBTElEID0gMHhGRgorfSBDbDFUc3ROdk9wdFQ7CisKKy8qKiBkZWZpbmUgdGhlIHN0ZXAgaW5kaWNhdGlvbiBlbnVtZXJhdGlvbiAqLwordHlwZWRlZiBlbnVtCit7CisgICAgQ0wxVFNUX0ZIQ19TVEVQX0lORF9OT1JNQUwsICAgLyogbmV4dCBzdGVwIGlzIG5vcm1hbCBzdGVwICovCisgICAgQ0wxVFNUX0ZIQ19TVEVQX0lORF9SRVRVTkUsICAgLyogbmV4dCBzdGVwIGlzIHJldHVuZSBzdGVwICovCisgICAgQ0wxVFNUX0ZIQ19TVEVQX0lORF9FTkQsICAgICAgLyogY3VycmVudCBzdGVwIGlzIGxhc3Qgc3RlcCAqLworICAgIENMMVRTVF9GSENfU1RFUF9JTkRfU1dJVENILCAgIC8qIG5leHQgc3RlcCBpcyBzd2l0Y2ggc3RlcCAqLworICAgIENMMVRTVF9GSENfU1RFUF9JTkRfTlVNCit9IENsMVRzdEZoY1N0ZXBJbmRUOworCisvKiogZGVmaW5lIHRoZSB0cmFuc21pc3Npb24gc2lnbmFsIHR5cGUgZW51bWVyYXRpb24gKi8KK3R5cGVkZWYgZW51bQoreworICAgIENMMVRTVF9UWF9TSUdfVFlQRV9SRl9UT05FLAorICAgIENMMVRTVF9UWF9TSUdfVFlQRV9CQl9UT05FLAorICAgIENMMVRTVF9UWF9TSUdfVFlQRV8xWCwKKyAgICBDTDFUU1RfVFhfU0lHX1RZUEVfRE9fUElMT1QsCisgICAgQ0wxVFNUX1RYX1NJR19UWVBFX0RPX1NUMgorfSBDbDFUc3RUeFNpZ1R5cGVUOworCisvKiogZGVmaW5lIHRoZSBjb21tYW5kIGV4ZWN1dGUgc3RhdHVzIGVudW1lcmF0aW9uICovCit0eXBlZGVmIGVudW0KK3sKKyAgICBDTDFUU1RfUkVRX1NVQ0NFU1MsCisgICAgQ0wxVFNUX1JFUV9GQUlMVVJFLAorICAgIENMMVRTVF9SRVFfTk9UX1NVUFBPUlQsCisgICAgQ0wxVFNUX1JFUV9JTlZBTElEID0gMHg3RkZGRkZGRgorfSBDbDFUc3RSZXFTdGF0dXNFOworCisvKiogZGVmaW5lIHRoZSBjb21tYW5kIE5zdCBDbWQgU3RhdHVzIGVudW1lcmF0aW9uICovCit0eXBlZGVmIGVudW0KK3sKKyAgICBDTDFUU1RfTlNUX0NNRF9TVUNDRVNTLAorICAgIENMMVRTVF9OU1RfQ01EX0ZBSUxVUkVfQ01ELAorICAgIENMMVRTVF9OU1RfQ01EX0ZBSUxVUkVfSUNTLAorCisgICAgQ0wxVFNUX05TVF9DTURfRkFJTFVSRV9TWU5DLAorCisgICAgQ0wxVFNUX05TVF9DTURfRkFJTFVSRV9UQ0gsCisKKyAgICBDTDFUU1RfTlNUX0NNRF9GQUlMVVJFX0hITywKKyAgICBDTDFUU1RfTlNUX0NNRF9GQUlMVVJFX05PVF9TVVBQT1JULAorICAgIENMMVRTVF9OU1RfQ01EX0lOVkFMSUQgPSAweDdGRkZGRkZGCit9IENsMVRzdE5zdENtZFN0YXR1c0U7CisKKworLyogQ0wxVFNUIGNvbW1hbmQgdHlwZSAqLwordHlwZWRlZiBlbnVtCit7CisgICAgQ0wxVFNUX0NNRF9HRVRfUkZfUExBVF9JTkZPICAgICAgICAgPTAsCisgICAgQ0wxVFNUX0NNRF9SRkRfVEVTVF9NT0RFX1JFUSAgICAgICAgPTEsCisgICAgQ0wxVFNUX0NNRF9SRkRfSU5JVF9SRVEgICAgICAgICAgICAgPTIsCisgICAgQ0wxVFNUX0NNRF9TRVRfTUlQSV9DVyAgICAgICAgICAgICAgPTMsCisgICAgQ0wxVFNUX0NNRF9HRVRfTUlQSV9DVyAgICAgICAgICAgICAgPTQsCisgICAgQ0wxVFNUX0NNRF9TRVRfU1BJX0RBVEEgICAgICAgICAgICAgPTUsCisgICAgQ0wxVFNUX0NNRF9HRVRfU1BJX0RBVEEgICAgICAgICAgICAgPTYsCisgICAgQ0wxVFNUX0NNRF9UUkFOU01JVF9DVFJMICAgICAgICAgICAgPTcsCisgICAgQ0wxVFNUX0NNRF9SRUNFSVZFX0NUUkwgICAgICAgICAgICAgPTgsCisgICAgQ0wxVFNUX0NNRF9BRkNfQ09ORklHICAgICAgICAgICAgICAgPTksCisgICAgQ0wxVFNUX0NNRF9UWF9BR0NfQ09ORklHICAgICAgICAgICAgPTEwLAorICAgIENMMVRTVF9DTURfVFhfUE9XRVJfUVVFUlkgICAgICAgICAgID0xMSwKKyAgICBDTDFUU1RfQ01EX1JYX0FHQ19DT05GSUcgICAgICAgICAgICA9MTIsCisgICAgQ0wxVFNUX0NNRF9SWF9SU1NJX1FVRVJZICAgICAgICAgICAgPTEzLAorICAgIENMMVRTVF9DTURfQUZDX0NBTF9EQVRBX1NFVCAgICAgICAgID0xNCwKKyAgICBDTDFUU1RfQ01EX0FGQ19DQUxfREFUQV9HRVQgICAgICAgICA9MTUsCisgICAgQ0wxVFNUX0NNRF9SWF9DQUxfREFUQV9TRVQgICAgICAgICAgPTE2LAorICAgIENMMVRTVF9DTURfUlhfQ0FMX0RBVEFfR0VUICAgICAgICAgID0xNywKKyAgICBDTDFUU1RfQ01EX1RYX0NBTF9EQVRBX1NFVCAgICAgICAgICA9MTgsCisgICAgQ0wxVFNUX0NNRF9UWF9DQUxfREFUQV9HRVQgICAgICAgICAgPTE5LAorICAgIENMMVRTVF9DTURfRkhDX1NUQVJUICAgICAgICAgICAgICAgID0yMCwKKyAgICBDTDFUU1RfQ01EX0RQRF9QQV9EQVRBX1NFVCAgICAgICAgICA9MjEsCisgICAgQ0wxVFNUX0NNRF9EUERfUEFfREFUQV9HRVQgICAgICAgICAgPTIyLAorICAgIENMMVRTVF9DTURfRFBEX0FNX1BNX0RBVEFfU0VUICAgICAgID0yMywKKyAgICBDTDFUU1RfQ01EX0RQRF9BTV9QTV9EQVRBX0dFVCAgICAgICA9MjQsCisgICAgQ0wxVFNUX0NNRF9EUERfRkFDX1NUQVJUICAgICAgICAgICAgPTI1LAorI2lmbmRlZiBfX01EOTNfXworICAgIENMMVRTVF9DTURfUlhfTE5BX1BXUl9SQU5HRV9HRVQgICAgID0yNiwKKyNlbmRpZgorI2lmICghZGVmaW5lZChfX01EOTNfXykpICYmICghZGVmaW5lZChfX01EOTVfXykpCisgICAgQ0wxVFNUX0NNRF9SWF9HQUlOX0dFVCAgICAgICAgICAgICAgPTI3LAorICAgIENMMVRTVF9DTURfVFhfR0FJTl9HRVQgICAgICAgICAgICAgID0yOCwKKyAgICBDTDFUU1RfQ01EX1NFVF9CUElfREFUQSAgICAgICAgICAgICA9MjksCisgICAgQ0wxVFNUX0NNRF9HRVRfQlBJX0RBVEEgICAgICAgICAgICAgPTMwLAorICAgIENMMVRTVF9DTURfUlhfQUdDX0ZJWF9NQU5VQUxfQ09ORklHID0zMSwKKyAgICBDTDFUU1RfQ01EX1JYREZFX0lRX0RVTVBfQ0ZHICAgICAgICA9MzIsCisgICAgQ0wxVFNUX0NNRF9UWERGRV9JUV9EVU1QX0NGRyAgICAgICAgPTMzLAorICAgIENMMVRTVF9DTURfVFhLREZFX0lRX0RVTVBfQ0ZHICAgICAgID0zNCwKKyAgICBDTDFUU1RfQ01EX1JYVFhERkVfSVFfRFVNUF9RVUVSWSAgICA9MzUsCisjZW5kaWYKKworICAgIENMMVRTVF9DTURfRkFDVE9SWV9NT0RFX1JFUSAgICAgICAgID00MCwKKyAgICBDTDFUU1RfQ01EX05PUk1BTF9NT0RFX1JFUSAgICAgICAgICA9NDEsCisgICAgQ0wxVFNUX0NNRF9TRVRfTUVJRCAgICAgICAgICAgICAgICAgPTQyLAorICAgIENMMVRTVF9DTURfR0VUX01FSUQgICAgICAgICAgICAgICAgID00MywKKyAgICBDTDFUU1RfQ01EX1VCSU5fSU5JVCAgICAgICAgICAgICAgICA9NDQsCisgICAgQ0wxVFNUX0NNRF9VQklOX0RFSU5JVCAgICAgICAgICAgICAgPTQ1LAorCisgICAgQ0wxVFNUX0NNRF9OU1RfUE9XRVJfVVAgICAgICAgICAgICAgPTB4MTAwLAorICAgIENMMVRTVF9DTURfTlNUX1RDSF9GRVJfQ0ZHICAgICAgICAgID0weDEwMSwKKyAgICBDTDFUU1RfQ01EX05TVF9UWF9QV1JfTUVBU19DRkcgICAgICA9MHgxMDIsCisgICAgQ0wxVFNUX0NNRF9OU1RfUlhfUFdSX01FQVNfQ0ZHICAgICAgPTB4MTAzLAorICAgIENMMVRTVF9DTURfTlNUX0xJU1RfTU9ERV9TRVRfQ0ZHICAgID0weDEwNCwKKyAgICBDTDFUU1RfQ01EX05TVF9FTlRFUl9URVNUX01PREUgICAgICA9MHgxMDUsCisgICAgQ0wxVFNUX0NNRF9OU1RfRVhJVF9URVNUX01PREUgICAgICAgPTB4MTA2LAorCisgICAgQ0wxVFNUX0NNRF9SWF9BTlRfVEVTVE1PREVfU0VUX1JFUSAgICAgICA9MHgxMjAsCisKKyAgICBDTDFUU1RfQ01EX1RBUkdFVF9BU1NFUlQgICAgICAgICAgICA9MHgzRTgsCisKKyAgICBDTDFUU1RfQ01EX0lOVkFMSUQgICAgICAgICAgICAgICAgICA9MHg3RkZGRkZGRgorfSBDbDFUc3RDbWRUeXBlRTsKKworI2lmIDAKKyNpZmRlZiBNVEtfUExUX09OX1BDX0lUCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisjZW5kaWYKKyNlbmRpZgorCisvKiogZGVmaW5lIFJGIHBsYXRmb3JtIGluZm9ybWF0aW9uIGdldHRpbmcgY29tbWFuZCBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX3VpbnQzMiAgICAgICAgICBSZXNlcnZlZDsKK30gQ2wxVHN0R2V0UmZQbGF0SW5mb0NtZFQ7CisKKy8qKiBkZWZpbmUgUkYgcGxhdGZvcm0gaW5mb3JtYXRpb24gZm9yIGNhbGlicmF0aW9uICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF91aW50MTYgICAgICAgICAgUmZJZDsKKyAgICBrYWxfdWludDE2ICAgICAgICAgIFhvVHlwZTsKKyAgICBrYWxfdWludDMyICAgICAgICAgIEJhbmRTdXBwb3J0Qm1wOyAvLyBCYW5kIHN1cHBvcnQgYml0bWFwCisgICAga2FsX3VpbnQzMiAgICAgICAgICBSeERpdlN1cHBvcnRCbXA7Ly8gUlhEIGJhbmQgc3VwcG9ydCBiaXRtYXAKKworICAgIGthbF91aW50MzIgICAgICAgICAgTWlwaVN1cHBvcnRCbXA7IC8vIE1JUEkgYmFuZCBzdXBwb3J0IGJpdG1hcAorICAgIGthbF91aW50MzIgICAgICAgICAgRHBkU3VwcG9ydEJtcDsgIC8vIERQRCBiYW5kIHN1cHBvcnQgYml0bWFwCisgICAga2FsX3VpbnQzMiAgICAgICAgICBSeFN5bnRoTnVtOyAgICAgLy8gMTogbWFpbitkaXYsIDI6IG1haW4rZGl2K1NIRFIKKyAgICBrYWxfdWludDMyICAgICAgICAgIEMya05zZnRDYXBhYmlsaXR5OyAgICAgLy8gQml0MCBpbmRpY2F0ZSB0aGUgTGlzdCBOc2Z0IFN1cHBvcnQ6IDAgbWVhbnMgbW9kbWVtIGlzIG5vdCBzdXBwb3J0IExpc3QgTnNmdDsgMTogbW9kbWVtIGlzIHN1cHBvcnQgTGlzdCBOc2Z0KDVGcmFtZSBUeCBNZWFzKTsKKyNpZm5kZWYgX19NRDkzX18KKyAgICBrYWxfdWludDMyICAgICAgICAgIE90aGVyQ2FwYWJpbGl0eTsgICAgIC8vYml0MCB1c2VkIGluZGljYXRlIGlmIHVzaW5nIGN3IGZvciByeCBjYWw6IDAgaXMgZGlzYWJsZSwgMSBpcyBlbmFibGUsIG90aGVyIGJpdHMgcmVzZXJ2ZWQuCisjZW5kaWYKK31DbDFUc3RQbGF0SW5mb0ZhY1Q7CisKKy8qKiBkZWZpbmUgUkYgcGxhdGZvcm0gaW5mb3JtYXRpb24gZ2V0dGluZyBjb25maXJtIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiBSZXF1ZXN0IGV4ZWN1dGUgc3RhdHVzICovCisgICAgQ2wxVHN0UmVxU3RhdHVzRSAgICBTdGF0dXM7CisKKyAgICAvKiBQbGF0Zm9ybSBpbmZvIGZvciBmYWN0b3J5IGNhbGlicmF0aW9uICovCisgICAgQ2wxVHN0UGxhdEluZm9GYWNUICBQbGF0SW5mb0ZhYzsgICAgCit9Q2wxVHN0R2V0UmZQbGF0SW5mb1JzcFQ7CisKKy8qKiBkZWZpbmUgUkZEIHRlc3QgbW9kZSByZXF1ZXN0IHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiogW2luXSAtIDA6IDF4UlRULCAxOiBFVkRPICovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICBSZk1vZGU7CisKKyAgICAvKiogW2luXSAtIDE6IHRlc3QgbW9kZSBlbmFibGUKKyAgICAgICAgICAgICAgIDA6IHRlc3QgbW9kZSBkaXNhYmxlaW4gICAqLworICAgIGthbF91aW50OCAgICAgICAgICAgVHN0TW9kZUVuOworCisgICAgLyoqIFtpbl0gLSBiaXQwOiBSWCB0ZXN0IG1vZGUKKyAgICAgICAgICAgICAgIGJpdDE6IFRYIHRlc3QgbW9kZQorICAgICAgICAgICAgICAgYml0MjogTUVUQSBtb2RlCisgICAgIE5vdGU6IGp1c3Qgb25lIGJpdCBjYW4gYmUgc2V0L2NsZWFyIGV2ZXJ5IHRpbWUKKyAgICAqLworICAgIGthbF91aW50OCAgICAgICAgICAgVHN0TW9kZUJtcDsKKworICAgIC8qKiBbaW5dIC0gMTogTDEgbm9ybWFsIG1vZGUgZW5hYmxlICovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICBMMU5vck1vZGVFbjsKK30gQ2wxVHN0UmZkVGVzdE1vZGVSZXFDbWRUOworCisvKiogZGVmaW5lIFJGRCB0ZXN0IG1vZGUgY29uZmlybSBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyogUmVxdWVzdCBleGVjdXRlIHN0YXR1cyAqLworICAgIENsMVRzdFJlcVN0YXR1c0UgICAgU3RhdHVzOworfSBDbDFUc3RSZmRUZXN0TW9kZVJlcVJzcFQ7CisKKy8qKiBkZWZpbmUgUkYgZHJpdmVyIGluaXQgY29tbWFuZCBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX3VpbnQzMiAgICAgICAgICBSZXNlcnZlZDsKK30gQ2wxVHN0UmZkSW5pdFJlcUNtZFQ7CisKKy8qKiBkZWZpbmUgUkYgZHJpdmVyIGluaXQgcmVzcG9uc2Ugc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qIFJlcXVlc3QgZXhlY3V0ZSBzdGF0dXMgKi8KKyAgICBDbDFUc3RSZXFTdGF0dXNFICAgIFN0YXR1czsKK30gQ2wxVHN0UmZkSW5pdFJlcVJzcFQ7CisKKy8qKiBkZWZpbmUgTUlQSSBjb2Rld29yZCBzZXR0aW5nIGNvbW1hbmQgc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF91aW50MTYgICAgICAgICAgTWlwaVBvcnQ7CisgICAga2FsX3VpbnQxNiAgICAgICAgICBSZXNlcnZlZDsKKyAgICBrYWxfdWludDMyICAgICAgICAgIE1pcGlVc2lkOworICAgIGthbF91aW50MzIgICAgICAgICAgTWlwaUFkZHI7CisgICAga2FsX3VpbnQzMiAgICAgICAgICBNaXBpRGF0YTsKK30gQ2wxVHN0U2V0TWlwaUNvZGVXb3JkQ21kVDsKKworLyoqIGRlZmluZSBNSVBJIGNvZGV3b3JkIHNldHRpbmcgY29uZmlybSBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyogUmVxdWVzdCBleGVjdXRlIHN0YXR1cyAqLworICAgIENsMVRzdFJlcVN0YXR1c0UgICAgU3RhdHVzOworfSBDbDFUc3RTZXRNaXBpQ29kZVdvcmRSc3BUOworCisvKiogZGVmaW5lIE1JUEkgY29kZXdvcmQgZ2V0dGluZyBjb21tYW5kIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfdWludDE2ICAgICAgICAgIE1pcGlQb3J0OworICAgIGthbF91aW50MTYgICAgICAgICAgUmVzZXJ2ZWQ7CisgICAga2FsX3VpbnQzMiAgICAgICAgICBNaXBpVXNpZDsKKyAgICBrYWxfdWludDMyICAgICAgICAgIE1pcGlBZGRyOworfSBDbDFUc3RHZXRNaXBpQ29kZVdvcmRDbWRUOworCisvKiogZGVmaW5lIE1JUEkgY29kZXdvcmQgZ2V0dGluZyBjb25maXJtIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiBSZXF1ZXN0IGV4ZWN1dGUgc3RhdHVzICovCisgICAgQ2wxVHN0UmVxU3RhdHVzRSAgICBTdGF0dXM7CisKKyAgICAvKiBNSVBJIGRhdGEgKi8KKyAgICBrYWxfdWludDMyICAgICAgICAgIE1pcGlEYXRhOworfSBDbDFUc3RHZXRNaXBpQ29kZVdvcmRSc3BUOworCisvKiogZGVmaW5lIFNQSSBkYXRhIHNldHRpbmcgY29tbWFuZCBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX3VpbnQxNiAgICAgICAgICBTcGlJZDsKKyAgICBrYWxfdWludDE2ICAgICAgICAgIFJlc2VydmVkOworICAgIGthbF91aW50MzIgICAgICAgICAgU3BpQWRkcjsKKyAgICBrYWxfdWludDMyICAgICAgICAgIFNwaURhdGE7Cit9IENsMVRzdFNldFNwaURhdGFDbWRUOworCisvKiogZGVmaW5lIFNQSSBkYXRhIHNldHRpbmcgY29uZmlybSBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyogUmVxdWVzdCBleGVjdXRlIHN0YXR1cyAqLworICAgIENsMVRzdFJlcVN0YXR1c0UgICAgU3RhdHVzOworfSBDbDFUc3RTZXRTcGlEYXRhUnNwVDsKKworLyoqIGRlZmluZSBTUEkgZGF0YSBnZXR0aW5nIGNvbW1hbmQgc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF91aW50MTYgICAgICAgICAgU3BpSWQ7CisgICAga2FsX3VpbnQxNiAgICAgICAgICBSZXNlcnZlZDsKKyAgICBrYWxfdWludDMyICAgICAgICAgIFNwaUFkZHI7Cit9IENsMVRzdEdldFNwaURhdGFDbWRUOworCisvKiogZGVmaW5lIFNQSSBkYXRhIGdldHRpbmcgY29uZmlybSBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyogUmVxdWVzdCBleGVjdXRlIHN0YXR1cyAqLworICAgIENsMVRzdFJlcVN0YXR1c0UgICAgU3RhdHVzOworCisgICAgLyogU1BJIGRhdGEgKi8KKyAgICBrYWxfdWludDMyICAgICAgICAgIFNwaURhdGE7Cit9IENsMVRzdEdldFNwaURhdGFSc3BUOworCisvKiogZGVmaW5lIDF4UlRUIHNpZ25hbCBwYXJhbWV0ZXJzICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qIE9ubHkgZm9yIFJUVCAqLworICAgIC8qKjAtPlJDMSwxLT5SQzIsIGV0YyovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICBSZXZSYzsKKyAgICAvKiBPbmx5IGZvciBSVFQgKi8KKyAgICAvLzA6IEFDQ0VTUywgMTogRkNIICAyOiBGQ0grU0NICisgICAga2FsX3VpbnQ4ICAgICAgICAgICBDaG5UeXBlOworICAgIC8qIE9ubHkgZm9yIFJUVCAqLworICAgICAvKiowLT5GdWxsLDEtPkhhbGYgUmF0ZSwgZXRjKi8KKyAgICBrYWxfdWludDggICAgICAgICAgIEZjaFJhdGU7CisgICAgLyogT25seSBmb3IgUlRUICovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICBTY2hSYXRlOworCisgICAgLyogT25seSBmb3IgUlRUICovCisgICAga2FsX3VpbnQxNiAgICAgICAgICBHYXRlUGF0OyAvL0dhdGVPbi9PZmYgcGF0dGVybgorCisgICAgLyogT25seSBmb3IgUlRUICovCisgICAga2FsX3VpbnQxNiAgICAgICAgICBGcGNQYXQ7ICAvL0ZQQyBwYXR0ZXJuCisKKyAgICAvKiBPbmx5IGZvciBSVFQgKi8KKyAgICBrYWxfdWludDE2ICAgICAgICAgIFR4UHJlYW1ibGU7CisKKyAgICAvKiBPbmx5IGZvciBSVFQgKi8KKyAgICBrYWxfdWludDE2ICAgICAgICAgIExjbUxvdzsKKworICAgIC8qIE9ubHkgZm9yIFJUVCAqLworICAgIGthbF91aW50MTYgICAgICAgICAgU2NoV2M7ICAgLy9XYWxzaCBjb2RlIGZvciBTQ0ggY2hhbm5lbAorCisgICAgLyogT25seSBmb3IgUlRUICovCisgICAga2FsX3VpbnQxNiAgICAgICAgICBSYURseTsgICAvL1JBIGNoaXAgZGVsYXkgZm9yIGFjY2VzcyB0cmFuc21pc3Npb24KKworICAgIC8qIE9ubHkgZm9yIFJUVCAqLworICAgIGthbF91aW50MTYgICAgICAgICAgVHVyYm9FbjsgIC8vSW5kaWNhdGUgVHVyYm8gb3IgQ0MgZW5jb2RlIGZvciBTQ0ggY2hhbm5lbAorICAgIGthbF91aW50MTYgICAgICAgICAgUmVzZXJ2ZWQ7CisKK30gQ2wxVHN0MXhTaWdQYXJhVDsKKworLyoqIGRlZmluZSBSRiB0cmFuc21pdHRlciBjb250cm9sIGNvbW1hbmQgc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qIDA6IDF4UlRULCAxOiBFVkRPICovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICBSZk1vZGU7CisKKyAgICAvKiAwOiBPRkYsIDE6IE9OICovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICBBY3Rpb247CisKKyAgICAvKiAwOiBUWERGRSBSRiB0b25lIGZvciAxeFJUVCBhbmQgRVZETworICAgICAgIDE6IFRYREZFIEJCIHNpZ25hbCB0b25lIGZvciAxeFJUVCBhbmQgRVZETworICAgICAgIDI6IHJldmVyc2UgMXhSVFQgc2lnbmFsIGZvciAxeFJUVAorICAgICAgIDM6IHJldmVyc2UgRVZETyBwaWxvdCBvbmx5IGZvciBFVkRPCisgICAgICAgNDogcmV2ZXJzZSBFVkRPIHN1YnR5cGUyIGZvciBFVkRPICovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICBTaWdUeXBlOworCisgICAgLyogQ0RNQSBCYW5kIENsYXNzIHRvIHR1cm4gb24qLworICAgIGthbF91aW50OCAgICAgICAgICAgQmFuZENsYXNzOworCisgICAgLyogQ2hhbm5lbCBOdW1iZXIgdG8gdHVybiBvbiovCisgICAga2FsX3VpbnQxNiAgICAgICAgICBDaGFubmVsTnVtOworCisgICAgLyogUmVzZXJ2ZWQgKi8KKyAgICBrYWxfdWludDE2ICAgICAgICAgIFJlc2VydmVkMTsKKworICAgIC8qIEZyZXF1ZW5jeSBvZmZzZXQgZm9yIFJGIHRvbmUgdHJhbnNtaXNzaW9uICovCisgICAga2FsX3VpbnQzMiAgICAgICAgICBGcmVxT2Zmc2V0OworCisgICAgLyogQkIgdG9uZSBjb25maWd1cmF0aW9uIHBhcmFtZXRlcnMgKi8KKyAgICBrYWxfdWludDMyICAgICAgICAgIEJiVG9uZUNmZzsKKworICAgIENsMVRzdDF4U2lnUGFyYVQgICAgUnR0U2lnUGFyYTsKKworfSBDbDFUc3RUcmFuc21pdEN0cmxDbWRUOworCisvKiogZGVmaW5lIFJGIHRyYW5zbWl0dGVyIGNvbnRyb2wgY29uZmlybSBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyogUmVxdWVzdCBleGVjdXRlIHN0YXR1cyAqLworICAgIENsMVRzdFJlcVN0YXR1c0UgICAgU3RhdHVzOworfSBDbDFUc3RUcmFuc21pdEN0cmxSc3BUOworCisvKiogZGVmaW5lIFJGIHJlY2VpdmUgY29udHJvbCBjb21tYW5kIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiAwOiAxeFJUVCwgMTogRVZETyAqLworICAgIGthbF91aW50OCAgICAgICAgICAgUmZNb2RlOworCisgICAgLyogMDogT0ZGLCAxOiBPTiAqLworICAgIGthbF91aW50OCAgICAgICAgICAgQWN0aW9uOworCisgICAgLyogYml0MCBmb3IgTWFpbiwgYml0MSBmb3IgRGl2LCBiaXQyIGZvciBTSERSICovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICBQYXRoQml0bWFwOworCisgICAgLyogQmFuZCBDbGFzcyB0byB0dXJuIG9uKi8KKyAgICBrYWxfdWludDggICAgICAgICAgIEJhbmRDbGFzczsKKworICAgIC8qIENoYW5uZWwgbnVtYmVyIHRvIHR1cm4gb24qLworICAgIGthbF91aW50MTYgICAgICAgICAgQ2hhbm5lbE51bTsKKworICAgIC8qIFJ4IEFHQyBGU00sIDAgOiBBdXRvKFJTU0kgc2NhbikgMTogY2FsaWJyYXRpb24gKi8KKyAgICBrYWxfdWludDE2ICAgICAgICAgIFJ4QWdjRnNtOworCit9IENsMVRzdFJlY2VpdmVDdHJsQ21kVDsKKworLyoqIGRlZmluZSBSRiByZWNlaXZlIGNvbnRyb2wgY29uZmlybSBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyogUmVxdWVzdCBleGVjdXRlIHN0YXR1cyAqLworICAgIENsMVRzdFJlcVN0YXR1c0UgICAgU3RhdHVzOworfSBDbDFUc3RSZWNlaXZlQ3RybFJzcFQ7CisKKy8qKiBkZWZpbmUgQUZDIGNvbmZpZ3VyZSBjb21tYW5kIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiBNYW51YWwgZm9yIGF1dG8gbW9kZSovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICBDdHJsTW9kZTsKKworICAgIC8qIENhcCBJZCB2YWxpZCBpbmRpY2F0aW9uKi8KKyAgICBrYWxfdWludDggICAgICAgICAgIENhcElkVmFsaWQ7CisKKyAgICAvKiBDYXAgSWQqLworICAgIGthbF91aW50MTYgICAgICAgICAgQ2FwSWQ7CisKKyAgICAvKiBSZXNlcnZlZCAqLworICAgIGthbF91aW50OCAgICAgICAgICAgUmVzZXJ2ZWQ7CisKKyAgICAvKiBBRkMgREFDIHZhbGlkIGluZGljYXRpb24qLworICAgIGthbF91aW50OCAgICAgICAgICAgRGFjVmFsaWQ7CisKKyAgICAvKkFGQyBEQUMgdmFsdWUqLworICAgIGthbF91aW50MTYgICAgICAgICAgRGFjVmFsdWU7Cit9IENsMVRzdEFmY0NvbmZpZ0NtZFQ7CisKKy8qKiBkZWZpbmUgQUZDIGNvbmZpZ3VyZSBjb25maXJtIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiBSZXF1ZXN0IGV4ZWN1dGUgc3RhdHVzICovCisgICAgQ2wxVHN0UmVxU3RhdHVzRSAgICBTdGF0dXM7Cit9IENsMVRzdEFmY0NvbmZpZ1JzcFQ7CisKKy8qKiBkZWZpbmUgVHggQUdDIGNvbmZpZ3VyYXRpb24gY29tbWFuZCBzdHJ1Y3R1cmUgZm9yIFJGIHRlc3QgYW5kIHRyYWRpdGlvbmFsIGNhbGlicmF0aW9uICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qIDA6IDF4UlRULCAxOiBFVkRPICovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICBSZk1vZGU7CisKKyAgICAvKiAwOiBBUFQgbW9kZSwgMTogRFBEIG1vZGUgKi8KKyAgICBrYWxfdWludDggICAgICAgICAgIFBhVHlwZTsKKworICAgIC8qIDA6IGZpeCBwb3dlciAxOiBtYW51YWwgbW9kZSAqLworICAgIGthbF91aW50OCAgICAgICAgICAgQ3RybE1vZGU7CisKKyAgICAvKiBJTFBDIGVuYWJsZSBvciBkaXNhYmxlICovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICBJbHBjRW5hYmxlOworCisgICAgLyogUEEgdGFibGUgaW5kZXggKi8KKyAgICBrYWxfdWludDggICAgICAgICAgIFBhVGJsSWR4OworCisgICAgLyogUEEgbW9kZSwgMDogaGlnaCwgMTogbWlkZGxlLCAyOiBsb3cgKi8KKyAgICBrYWxfdWludDggICAgICAgICAgIFBhTW9kZTsKKworICAgIC8qIFR4IFBvd2VyIGluIGRCbSBmb3IgZml4IHBvd2VyLCBRNSovCisgICAga2FsX2ludDE2ICAgICAgICAgICBUeFB3cjsKKworICAgIC8qIFR4IFBvd2VyIGluIGRCbSBmb3IgY2FsaWJyYXRpb24sIFE1Ki8KKyAgICBrYWxfaW50MTYgICAgICAgICAgIFR4UHdyQ2FsOworCisgICAgLyogUEEgZ2FpbiwgUTUgZEJtICovCisgICAga2FsX2ludDE2ICAgICAgICAgICBQYUdhaW47CisKKyAgICAvKiBDb3VwbGVyIGxvc3MsIFE1IGRCICovCisgICAga2FsX2ludDE2ICAgICAgICAgICBDcExvc3M7CisKKyAgICAvKiBBTSAqLworICAgIGthbF9pbnQxNiAgICAgICAgICAgQW07CisKKyAgICAvKiBQTSAqLworICAgIGthbF9pbnQxNiAgICAgICAgICAgUG07CisKKyAgICAvKiAwLzEqLworICAgIGthbF91aW50OCAgICAgICAgICAgVm0xOworCisgICAgLyowLzEqLworICAgIGthbF91aW50OCAgICAgICAgICAgVm0yOworCisgICAgLyogdm9sdGFnZSwgaW4gdW5pdCBvZiBtViovCisgICAga2FsX3VpbnQxNiAgICAgICAgICBWY2M7CisKK30gQ2wxVHN0VHhBZ2NDb25maWdDbWRUOworCisvKiogZGVmaW5lIFR4IEFHQyBjb25maWd1cmF0aW9uIGNvbmZpcm0gc3RydWN0dXJlIGZvciBSRiB0ZXN0IGFuZCB0cmFkaXRpb25hbCBjYWxpYnJhdGlvbiAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiBSZXF1ZXN0IGV4ZWN1dGUgc3RhdHVzICovCisgICAgQ2wxVHN0UmVxU3RhdHVzRSAgICBTdGF0dXM7Cit9IENsMVRzdFR4QWdjQ29uZmlnUnNwVDsKKworLyoqIGRlZmluZSBERFBDIHJlc3VsdCBnZXR0aW5nIGNvbW1hbmQgc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF91aW50OCAgICAgICAgICAgUmVzZXJ2ZWQ7Cit9IENsMVRzdFR4UG93ZXJRdWVyeUNtZFQ7CisKKy8qKiBkZWZpbmUgRERQQyByZXN1bHQgZ2V0dGluZyBjb25maXJtIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiBSZXF1ZXN0IGV4ZWN1dGUgc3RhdHVzICovCisgICAgQ2wxVHN0UmVxU3RhdHVzRSAgICBTdGF0dXM7CisKKyAgICAvKiBUeCBwb3dlciwgdW5pdCBpcyBRNSBkQm0gKi8KKyAgICBrYWxfaW50MTYgICAgICAgICAgIFBvd2VyOworICAgIGthbF9pbnQxNiAgICAgICAgICAgUmVzZXJ2ZWQ7Cit9IENsMVRzdFR4UG93ZXJRdWVyeVJzcFQ7CisKKy8qKiBkZWZpbmUgUnggQUdDIGNvbmZpZ3VyYXRpb24gY29tbWFuZCBzdHJ1Y3R1cmUgZm9yIFJGIHRlc3QgYW5kIHRyYWRpdGlvbmFsIGNhbGlicmF0aW9uICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qIDA6IDF4UlRULCAxOiBFVkRPICovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICBSZk1vZGU7CisKKyAgICAvKiBCaXQwOiBtYWluIGFudGVubmEsIEJpdDE6IGRpdmVyc2l0eSBhbnRlbm5hLCBCaXQyOiBTSERSICovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICBQYXRoQml0TWFwOworCisgICAgLyogMDogQXV0bywgMTogTWFudWFsIGZvciBjYWxpYnJhdGlvbiBhbmQgdGVzdCwgMjogUlNTSSBzY2FuICovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICBDdHJsTW9kZTsKKworICAgIC8qIDA6IGhpZ2ggcG93ZXIgbW9kZSwgMTogbG93IHBvd2VyIG1vZGUgKi8KKyAgICBrYWxfdWludDggICAgICAgICAgIFB3ck1vZGU7CisKKyAgICAvKiAwOiBzdGFnZSAwLCAxOiBzdGFnZSAxLi4uLjU6IHN0YWdlIDUgKi8KKyAgICBrYWxfdWludDggICAgICAgICAgIExuYU1vZGU7CisKKyNpZmRlZiBfX01EOTNfXworICAgIGthbF91aW50OCAgICAgICAgICAgUmVzZXJ2ZWQxOworI2Vsc2UKKyAgICAvKiAwOiBkaXNhYmxlLCAxOiBlbmFibGUgKi8KKyAgICBrYWxfdWludDggICAgICAgICAgIERpZ0dhaW5GaXg7CisjZW5kaWYgICAgCisKKyAgICAvKiBSZXNlcnZlZCAqLworICAgIGthbF91aW50MTYgICAgICAgICAgUmVzZXJ2ZWQyOworCit9IENsMVRzdFJ4QWdjQ29uZmlnQ21kVDsKKworLyoqIGRlZmluZSBSeCBBR0MgY29uZmlndXJhdGlvbiBjb25maXJtIHN0cnVjdHVyZSBmb3IgUkYgdGVzdCBhbmQgdHJhZGl0aW9uYWwgY2FsaWJyYXRpb24gKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyogUmVxdWVzdCBleGVjdXRlIHN0YXR1cyAqLworICAgIENsMVRzdFJlcVN0YXR1c0UgICAgU3RhdHVzOworfSBDbDFUc3RSeEFnY0NvbmZpZ1JzcFQ7CisKKworLyoqIGRlZmluZSBSU1NJIHF1ZXJ5IGNvbW1hbmQgc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qIDA6IDF4UlRULCAxOiBFVkRPICovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICBSZk1vZGU7CisKKyAgICAvKiBCaXQwOiBtYWluIGFudGVubmEsIEJpdDE6IGRpdmVyc2l0eSBhbnRlbm5hLCBCaXQyOiBTSERSICovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICBQYXRoQml0TWFwOworCisgICAgLyogUmVzZXJ2ZWQgKi8KKyAgICBrYWxfdWludDE2ICAgICAgICAgIFJlc2VydmVkOworfSBDbDFUc3RSeFJzc2lRdWVyeUNtZFQ7CisKKy8qKiBkZWZpbmUgUlNTSSBxdWVyeSBjb25maXJtIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiBSZXF1ZXN0IGV4ZWN1dGUgc3RhdHVzICovCisgICAgQ2wxVHN0UmVxU3RhdHVzRSAgICBTdGF0dXM7CisKKyAgICAvKiBNYWluIGFudGVubmEgUnggcG93ZXIsIHVuaXQgaXMgUTUgZEJtICovCisgICAga2FsX2ludDE2ICAgICAgICAgICBSeE1haW5Qb3dlcjsKKworICAgIC8qIERpdmVyc2l0eSBhbnRlbm5hIFJ4IHBvd2VyLCB1bml0IGlzIFE1IGRCbSAqLworICAgIGthbF9pbnQxNiAgICAgICAgICAgUnhEaXZQb3dlcjsKKworfSBDbDFUc3RSeFJzc2lRdWVyeVJzcFQ7CisKKy8qKiBkZWZpbmUgQUZDIGNhbGlicmF0aW9uIGRhdGEgc2V0dGluZyBjb21tYW5kIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiB1cGRhdGUgTlZSQU0gZmxhZywgMDogZG8gbm90IHVwZGF0ZSwgMTogdXBkYXRlICovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICBVcGRhdGVOdnJhbTsKKworICAgIC8qIFJlc2VydmVkICovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICBSZXNlcnZlZDE7CisKKyAgICAvKiBSZXNlcnZlZCAqLworICAgIGthbF91aW50MTYgICAgICAgICAgUmVzZXJ2ZWQyOworCisgICAgLyogQUZDIGNhbGlicmF0aW9uIGRhdGEgKi8KKyAgICBDTDFEX1JGX0FGQ19EQVRBX1QgIEFmY0NhbERhdGE7CisKK30gQ2wxVHN0QWZjQ2FsRGF0YVNldENtZFQ7CisKKy8qKiBkZWZpbmUgQUZDIGNhbGlicmF0aW9uIGRhdGEgc2V0dGluZyBjb25maXJtIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiBSZXF1ZXN0IGV4ZWN1dGUgc3RhdHVzICovCisgICAgQ2wxVHN0UmVxU3RhdHVzRSAgICBTdGF0dXM7Cit9IENsMVRzdEFmY0NhbERhdGFTZXRSc3BUOworCisvKiogZGVmaW5lIEFGQyBjYWxpYnJhdGlvbiBkYXRhIGdldHRpbmcgY29tbWFuZCBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX3VpbnQzMiAgICAgICAgICBSZXNlcnZlZDsKK30gQ2wxVHN0QWZjQ2FsRGF0YUdldENtZFQ7CisKKy8qKiBkZWZpbmUgQUZDIGNhbGlicmF0aW9uIGRhdGEgZ2V0dGluZyBjb25maXJtIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiBSZXF1ZXN0IGV4ZWN1dGUgc3RhdHVzICovCisgICAgQ2wxVHN0UmVxU3RhdHVzRSAgICBTdGF0dXM7CisKKyAgICAvKiBBRkMgY2FsaWJyYXRpb24gZGF0YSAqLworICAgIC8qIExJRDpOVlJBTV9FRl9DTDFfQUZDX0RBVEFfX0xJRCAqLworICAgIENMMURfUkZfQUZDX0RBVEFfVCAgQWZjQ2FsRGF0YTsKKworfSBDbDFUc3RBZmNDYWxEYXRhR2V0UnNwVDsKKworLyoqIGRlZmluZSBSeCBjYWxpYnJhdGlvbiBkYXRhIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiBIaWdoIHBvd2VyIG1vZGUgcGF0aCBsb3NzICovCisgICAgLyogTElEIE5WUkFNX0VGX0NMMV9NQUlOX1JYX1BBVEhfTE9TU19IUE1fQkFORF9YX0xJRCAqLworICAgIENMMURfUkZfUlhfUEFUSF9MT1NTX0NPTVBfVCBSeFBMb3NzSFBNOworCisgICAgLyogTG93IHBvd2VyIG1vZGUgcGF0aCBsb3NzICovCisgICAgLyogTElEOk5WUkFNX0VGX0NMMV9NQUlOX1JYX1BBVEhfTE9TU19MUE1fQkFORF9YX0xJRCAqLworICAgIENMMURfUkZfUlhfUEFUSF9MT1NTX0NPTVBfVCBSeFBMb3NzTFBNOworfSBDbDFUc3RSeENhbERhdGFUOworCisvKiogZGVmaW5lIFJ4IGNhbGlicmF0aW9uIGRhdGEgc2V0dGluZyBjb21tYW5kIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiB1cGRhdGUgTlZSQU0gZmxhZywgMDogZG8gbm90IHVwZGF0ZSwgMTogdXBkYXRlICovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICBVcGRhdGVOdnJhbTsKKworICAgIC8qIENETUEgQmFuZCBDbGFzcyB0byB0dXJuIG9uICovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICBCYW5kQ2xhc3M7CisKKyAgICAvKiBwYXRoIGJpdG1hcCwgYml0MC0tbWFpbiwgYml0MS0tZGl2ZXJzaXR5LCBiaXQyLS1TSERSICovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICBQYXRoQm1wOworCisgICAgLyogUmVzZXJ2ZWQgKi8KKyAgICBrYWxfdWludDggICAgICAgICAgIFJlc2VydmVkOworCisgICAgLyogUnggY2FsaWJyYXRpb24gZGF0YSAqLworICAgIENsMVRzdFJ4Q2FsRGF0YVQgICAgUnhDYWxEYXRhOworCit9IENsMVRzdFJ4Q2FsRGF0YVNldENtZFQ7CisKKy8qKiBkZWZpbmUgUnggY2FsaWJyYXRpb24gZGF0YSBzZXR0aW5nIGNvbmZpcm0gc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qIFJlcXVlc3QgZXhlY3V0ZSBzdGF0dXMgKi8KKyAgICBDbDFUc3RSZXFTdGF0dXNFICAgIFN0YXR1czsKK30gQ2wxVHN0UnhDYWxEYXRhU2V0UnNwVDsKKworLyoqIGRlZmluZSBSeCBjYWxpYnJhdGlvbiBkYXRhIGdldHRpbmcgY29tbWFuZCBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyogQ0RNQSBCYW5kIENsYXNzIHRvIHR1cm4gb24qLworICAgIGthbF91aW50OCAgICAgICAgICAgQmFuZENsYXNzOworCisgICAgLyogcGF0aCBiaXRtYXAsIGJpdDAtLW1haW4sIGJpdDEtLWRpdmVyc2l0eSwgYml0Mi0tU0hEUiAqLworICAgIGthbF91aW50OCAgICAgICAgICAgUGF0aEJtcDsKKworICAgIC8qIFJlc2VydmVkICovCisgICAga2FsX3VpbnQxNiAgICAgICAgICBSZXNlcnZlZDsKKworfSBDbDFUc3RSeENhbERhdGFHZXRDbWRUOworCisvKiogZGVmaW5lIFJ4IGNhbGlicmF0aW9uIGRhdGEgZ2V0dGluZyBjb25maXJtIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiBSZXF1ZXN0IGV4ZWN1dGUgc3RhdHVzICovCisgICAgQ2wxVHN0UmVxU3RhdHVzRSAgICBTdGF0dXM7CisKKyAgICAvKiBSeCBjYWxpYnJhdGlvbiBkYXRhICovCisgICAgQ2wxVHN0UnhDYWxEYXRhVCAgICBSeENhbERhdGE7CisKK30gQ2wxVHN0UnhDYWxEYXRhR2V0UnNwVDsKKworLyoqIGRlZmluZSBUeCBjYWxpYnJhdGlvbiBkYXRhIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiBQQSBjb250ZXh0ICovCisgICAgLyogTElEOk5WUkFNX0VGX0NMMV9UWF9BUFRfUEFfQ09OVEVYVF9YWF9CQU5EX1hfTElEICovCisgICAgQ0wxRF9SRl9UWF9BUFRfUEFfQ09OVEVYVF9UICAgICBUeEFwdFBhQ3R4OworCisgICAgLyogUEEgZ2FpbiB0ZW1wZXJhdHVyZSBhbmQgZnJlcXVlbmN5IGNvbXBlbnNhdGlvbiwgUTUgZEIgKi8KKyAgICAvKiBMSUQ6TlZSQU1fRUZfQ0wxX1RYX0FQVF9QQV9HQUlOX0NPTVBfWFhfQkFORF9YX0xJRCAqLworICAgIENMMURfUkZfVFhfQVBUX1BBX0dBSU5fQ09NUF9UICAgVHhBcHRQYUdhaW5Db21wOworCisgICAgLyogQ291cGxlciBsb3NzIHRlbXBlcmF0dXJlIGFuZCBmcmVxdWVuY3kgY29tcGVuc2F0aW9uLCBRNSBkQiAqLworICAgIC8qIExJRDpOVlJBTV9FRl9DTDFfREVUX0NPVVBMRV9MT1NTX0NPTVBfWFhfQkFORF9YX0xJRCAqLworICAgIENMMURfUkZfREVUX0NPVVBMRV9MT1NTX0NPTVBfVCAgQ3BsTG9zc0NvbXA7CisKKyAgICAvKiBDb3VwbGVyIGxvc3MsIFE1IGRCICovCisgICAgLyogTElEOk5WUkFNX0VGX0NMMV9ERVRfQ09VUExFX0xPU1NfWFhfQkFORF9YX0xJRCAqLworICAgIENMMURfUkZfREVUX0NPVVBMRV9MT1NTX1QgICAgICAgQ3BsTG9zczsKKworICAgIC8qIFJlc2VydmVkICovCisgICAga2FsX3VpbnQxNiAgICAgICAgICAgICAgICAgICAgICBSZXNlcnZlZDsKK30gQ2wxVHN0VHhDYWxEYXRhVDsKKworLyoqIGRlZmluZSBUeCBjYWxpYnJhdGlvbiBkYXRhIHNldHRpbmcgY29tbWFuZCBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyogdXBkYXRlIE5WUkFNIGZsYWcsIDA6IGRvIG5vdCB1cGRhdGUsIDE6IHVwZGF0ZSAqLworICAgIGthbF91aW50OCAgICAgICAgICAgVXBkYXRlTnZyYW07CisKKyAgICAvKiAwOiAxeFJUVCwgMTogRVZETyAqLworICAgIGthbF91aW50OCAgICAgICAgICAgUmZNb2RlOworCisgICAgLyogQ0RNQSBCYW5kIENsYXNzIHRvIHR1cm4gb24qLworICAgIGthbF91aW50OCAgICAgICAgICAgQmFuZENsYXNzOworCisgICAgLyogUmVzZXJ2ZWQgKi8KKyAgICBrYWxfdWludDggICAgICAgICAgIFJlc2VydmVkOworCisgICAgLyogVHggY2FsaWJyYXRpb24gZGF0YSAqLworICAgIENsMVRzdFR4Q2FsRGF0YVQgICAgVHhDYWxEYXRhOworCit9IENsMVRzdFR4Q2FsRGF0YVNldENtZFQ7CisKKy8qKiBkZWZpbmUgVHggY2FsaWJyYXRpb24gZGF0YSBzZXR0aW5nIGNvbmZpcm0gc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qIFJlcXVlc3QgZXhlY3V0ZSBzdGF0dXMgKi8KKyAgICBDbDFUc3RSZXFTdGF0dXNFICAgIFN0YXR1czsKK30gQ2wxVHN0VHhDYWxEYXRhU2V0UnNwVDsKKworLyoqIGRlZmluZSBUeCBjYWxpYnJhdGlvbiBkYXRhIGdldHRpbmcgY29tbWFuZCBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyogMDogMXhSVFQsIDE6IEVWRE8gKi8KKyAgICBrYWxfdWludDggICAgICAgICAgIFJmTW9kZTsKKworICAgIC8qIENETUEgQmFuZCBDbGFzcyB0byB0dXJuIG9uKi8KKyAgICBrYWxfdWludDggICAgICAgICAgIEJhbmRDbGFzczsKKworICAgIC8qIFJlc2VydmVkICovCisgICAga2FsX3VpbnQxNiAgICAgICAgICBSZXNlcnZlZDsKKworfSBDbDFUc3RUeENhbERhdGFHZXRDbWRUOworCisvKiogZGVmaW5lIFR4IGNhbGlicmF0aW9uIGRhdGEgZ2V0dGluZyBjb25maXJtIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiBSZXF1ZXN0IGV4ZWN1dGUgc3RhdHVzICovCisgICAgQ2wxVHN0UmVxU3RhdHVzRSAgICBTdGF0dXM7CisKKyAgICAvKiBUeCBjYWxpYnJhdGlvbiBkYXRhICovCisgICAgQ2wxVHN0VHhDYWxEYXRhVCAgICBUeENhbERhdGE7CisKK30gQ2wxVHN0VHhDYWxEYXRhR2V0UnNwVDsKKworI2lmbmRlZiBfX01EOTNfXworLyoqIGRlZmluZSBMbmEgY2FsaWJyYXRpb24gcG93ZXIgcG9pbnQgZ2V0dGluZyBjb21tYW5kIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiBCYW5kIE51bSB0byBjYWwgKi8KKyAgICBrYWxfdWludDggICAgICAgICAgIEJhbmROdW07CisKKyAgICAvKiBDRE1BIEJhbmQgQ2xhc3MgdG8gdHVybiBvbiovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICBCYW5kQ2xhc3NbUkZfQmFuZF9OVU1fTUFYXTsKKworICAgIC8qIFJlc2VydmVkICovCisgICAga2FsX3VpbnQxNiAgICAgICAgICBSZXNlcnZlZDsKKworfSBDbDFUc3RMbmFDYWxQd3JQb2ludEdldENtZFQ7CisKKy8qKiBkZWZpbmUgTG5hIGNhbGlicmF0aW9uIHBvd2VyIHBvaW50IGFuZCByYW5nZSAgY29uZmlybSBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyogUmVxdWVzdCBleGVjdXRlIHN0YXR1cyAqLworICAgIENsMVRzdFJlcVN0YXR1c0UgICAgU3RhdHVzOworICAgIAorICAgIC8qIExuYSBjYWxpYnJhdGlvbiBwb3dlciBwb2ludCBhbmQgcmFuZ2UgKi8KKyAgICBDTDFEX1JGX1JYX0xOQV9DQUxJQlJBVElPTl9QT1dFUl9BTkRfUkFOR0VfVCBMbmFDYWxQd3JQb2ludFtSRl9CYW5kX05VTV9NQVhdOworCit9IENsMVRzdExuYUNhbFB3clBvaW50R2V0UnNwVDsKKyNlbmRpZgorCisjaWYgKCFkZWZpbmVkKF9fTUQ5M19fKSkgJiYgKCFkZWZpbmVkKF9fTUQ5NV9fKSkKKy8qKiBkZWZpbmUgUnggQWdjIEdhaW4gZ2V0dGluZyBjb21tYW5kIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBDTDFEX1JGX1JBVF9UWVBFX0UgIFJhdFR5cGU7CisgICAgQ0wxRF9SRl9QQVRIX0UgICAgICBQYXRoOworfUNsMVRzdFJ4R2FpbkdldENtZFQ7CisKKy8qKiBkZWZpbmUgUnggQWdjIEdhaW4gZ2V0dGluZyBjb21tYW5kIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiBSZXF1ZXN0IGV4ZWN1dGUgc3RhdHVzICovCisgICAgQ2wxVHN0UmVxU3RhdHVzRSAgICBTdGF0dXM7CisKKyAgICBDTDFEX1JGX0FHQ19BTEdPX1JFU1VMVF9RVUVSWV9UIFJ4R2FpblBhcmE7Cit9Q2wxVHN0UnhHYWluR2V0UnNwVDsKKworLyoqIGRlZmluZSBUeCBBZ2MgR2FpbiBnZXR0aW5nIGNvbW1hbmQgc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIENMMURfUkZfUkFUX1RZUEVfRSAgUmF0VHlwZTsKK31DbDFUc3RUeEdhaW5HZXRDbWRUOworCisvKiogZGVmaW5lIFR4IEFnYyBHYWluIGdldHRpbmcgY29tbWFuZCBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyogUmVxdWVzdCBleGVjdXRlIHN0YXR1cyAqLworICAgIENsMVRzdFJlcVN0YXR1c0UgICAgU3RhdHVzOworCisgICAgQ0wxRF9SRl9UUENfQUxHT19SRVNVTFRfUVVFUllfVCBUeEdhaW5QYXJhOworfUNsMVRzdFR4R2FpbkdldFJzcFQ7CisKKy8qKiBkZWZpbmUgU1BJIGRhdGEgc2V0dGluZyBjb21tYW5kIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBDTDFEX1JGX1JBVF9UWVBFX0UgIFJhdFR5cGU7ICAvLyBpcyBuZWVkIGFkZCBSZXNlcnZlZD8KKyAgICBrYWxfdWludDMyICAgICAgICAgIEJwaURhdGE7Cit9IENsMVRzdFNldEJwaURhdGFDbWRUOworCisvKiogZGVmaW5lIFNQSSBkYXRhIHNldHRpbmcgY29uZmlybSBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyogUmVxdWVzdCBleGVjdXRlIHN0YXR1cyAqLworICAgIENsMVRzdFJlcVN0YXR1c0UgICAgU3RhdHVzOworfSBDbDFUc3RTZXRCcGlEYXRhUnNwVDsKKworLyoqIGRlZmluZSBTUEkgZGF0YSBnZXR0aW5nIGNvbW1hbmQgc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIENMMURfUkZfUkFUX1RZUEVfRSAgUmF0VHlwZTsKK30gQ2wxVHN0R2V0QnBpRGF0YUNtZFQ7CisKKy8qKiBkZWZpbmUgU1BJIGRhdGEgZ2V0dGluZyBjb25maXJtIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiBSZXF1ZXN0IGV4ZWN1dGUgc3RhdHVzICovCisgICAgQ2wxVHN0UmVxU3RhdHVzRSAgICBTdGF0dXM7CisKKyAgICAvKiBTUEkgZGF0YSAqLworICAgIGthbF91aW50MzIgICAgICAgICAgQnBpRGF0YTsKK30gQ2wxVHN0R2V0QnBpRGF0YVJzcFQ7CisKKy8qKiBkZWZpbmUgUnggQUdDIGNvbmZpZ3VyYXRpb24gY29tbWFuZCBzdHJ1Y3R1cmUgZm9yIFJGIHRlc3QgYW5kIHRyYWRpdGlvbmFsIGNhbGlicmF0aW9uICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qIDA6IDF4UlRULCAxOiBFVkRPICovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICBSZk1vZGU7CisKKyAgICAvKiBCaXQwOiBtYWluIGFudGVubmEsIEJpdDE6IGRpdmVyc2l0eSBhbnRlbm5hLCBCaXQyOiBTSERSICovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICBQYXRoQml0TWFwOworCisgICAgLyogMDogZml4ZWQgZ2FpbiwgMTptYW51YWwgKi8KKyAgICBrYWxfdWludDggICAgICAgICAgIFRlc3RNb2RlOworCisgICAgLyogQzJLIFJYIEFHQyBGU00gdHlwZSwgMDpGQVNULCAxOlNURUFEWSwgMjpJQ1MsIDM6Q0FMLCA0OkZJWF9HQUlOKi8KKyAgICBrYWxfdWludDggICAgICAgICAgIEFnY0ZzbTsKKworICAgIC8qIDA6IGhpZ2ggcG93ZXIgbW9kZSwgMTogbG93IHBvd2VyIG1vZGUgKi8KKyAgICBrYWxfdWludDggICAgICAgICAgIFB3ck1vZGU7CisKKyAgICAvKiAwOiBzdGFnZSAwLCAxOiBzdGFnZSAxLi4uLjU6IHN0YWdlIDUgKi8KKyAgICBrYWxfdWludDggICAgICAgICAgIExuYU1vZGU7CisKKyAgICAvKiogUEdBIGluZGV4IG9mIENMMURfUkZfUEdBX0lOREVYX0UgKi8KKyAgICBrYWxfdWludDggICAgICAgICAgIFBnYUluZGV4OworCisgICAgLyogaW5kaWNhdGUgd2hpY2ggcGFyYW1ldGVycyB0byBiZSBmaXhlZCwgYml0MDogcmYgZ2FpbiwgYml0MTogcmYgREMsIGJpdDI6IGRpZ2l0YWwgZ2FpbiwgYml0MzogZGlnaXRhbCBEQyAqLworICAgIGthbF91aW50OCAgICAgICAgICAgQWdjRGNGaXhCbXA7CisKKyAgICAvKiBkaWdpdGFsIGdhaW4gaW4gREIyIGZvcm1hdCwgUzUuNSovCisgICAga2FsX3VpbnQzMiAgICAgICAgICBEaWdHYWluOworfSBDbDFUc3RSeEFnY0ZpeE1hbnVhbENvbmZpZ0NtZFQ7CisKKy8qKiBkZWZpbmUgUnggQUdDIGNvbmZpZ3VyYXRpb24gY29uZmlybSBzdHJ1Y3R1cmUgZm9yIFJGIHRlc3QgYW5kIHRyYWRpdGlvbmFsIGNhbGlicmF0aW9uICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qIFJlcXVlc3QgZXhlY3V0ZSBzdGF0dXMgKi8KKyAgICBDbDFUc3RSZXFTdGF0dXNFICAgIFN0YXR1czsKK30gQ2wxVHN0UnhBZ2NGaXhNYW51YWxDb25maWdSc3BUOworCisvKiogZGVmaW5lIFNQSSBkYXRhIGdldHRpbmcgY29tbWFuZCBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyogUmF0LDA6MXgsMTpETyAqLworICAgIGthbF91aW50MzIgICAgUmF0VHlwZTsKKyAgICAvKiBQYXRoQml0TWFwKi8KKyAgICBrYWxfdWludDMyICAgIFBhdGhCbXA7IAorICAgIC8qIER1bXAgbm9kZSovCisgICAga2FsX3VpbnQzMiAgICBEdW1wTm9kZTsKKyAgICAvKiBJUSBudW1iZXIqLyAgCisgICAga2FsX3VpbnQzMiAgICBJcU51bTsgCit9IENsMVRzdFJ4RGZlSXFEdW1wQ2ZnQ21kVDsKKworLyoqIGRlZmluZSBTUEkgZGF0YSBnZXR0aW5nIGNvbmZpcm0gc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qIFJlcXVlc3QgZXhlY3V0ZSBzdGF0dXMgKi8KKyAgICBDbDFUc3RSZXFTdGF0dXNFICAgIFN0YXR1czsKKyAgICAvKlRvdGFsICBibG9jayBzaXplICovCisgICAga2FsX3VpbnQzMiAgICAgICAgICBCdWZmZXJTaXplOworICAgIC8qYm9jayBudW1iZXIgKi8KKyAgICBrYWxfdWludDMyICAgICAgICAgIEJsb2NrTnVtOworfSBDbDFUc3RSeERmZUlxRHVtcENmZ1JzcFQ7CisKKy8qKiBkZWZpbmUgU1BJIGRhdGEgZ2V0dGluZyBjb21tYW5kIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiBSYXQsMDoxeCwxOkRPICovCisgICAga2FsX3VpbnQzMiAgICBSYXRUeXBlOworICAgIC8qKiBbaW5dIC0gQkIgb3IgUkYgb3IgTVJYKiovCisgICAga2FsX3VpbnQzMiAgICBEdW1wU2VsOworICAgIC8qKiBbaW5dIC0gRm9yIFRYREZFX0JCOjA6YmIgaW5wdXQ7IDE6ZmlyYWQgaW5wdXQ7IDI6c3JjIGlucHV0OyAzOmNpYzF4IGlucHV0OyA0OmNpYzJ4IGlucHV0OyA1Om5jbyBpbnB1dDsgNjpuY28gb3VwdXQKKyAgICAgICAgICAgICAgICAgICAgIEZvciBUWERGRV9SRjowOmdhaW5fYmI7IDE6ZHBkIGNvbXA7IDI6Z2FpbiBia2Y7IDM6Z2EgY29tcDsgNDphZCBjb21wOyA1Om1haW4gcGhhc2UgciBkZWxheTsgNjptYWluIGRjOyA3Om1haW4gZmk7IDg6bWFpbiBmZCoqLworICAgIGthbF91aW50MzIgICAgTm9kZVNlbDsKKyAgICAvKiBJUSBudW1iZXIqLyAgICAgCisgICAga2FsX3VpbnQzMiAgICBJcU51bTsKK30gQ2wxVHN0VHhEZmVJcUR1bXBDZmdDbWRUOworCisvKiogZGVmaW5lIFNQSSBkYXRhIGdldHRpbmcgY29uZmlybSBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyogUmVxdWVzdCBleGVjdXRlIHN0YXR1cyAqLworICAgIENsMVRzdFJlcVN0YXR1c0UgICAgU3RhdHVzOworICAgIC8qVG90YWwgIGJsb2NrIHNpemUgKi8KKyAgICBrYWxfdWludDMyICAgICAgICAgIEJ1ZmZlclNpemU7CisgICAgLypib2NrIG51bWJlciAqLworICAgIGthbF91aW50MzIgICAgICAgICAgQmxvY2tOdW07Cit9IENsMVRzdFR4RGZlSXFEdW1wQ2ZnUnNwVDsKKworLyoqIGRlZmluZSBTUEkgZGF0YSBnZXR0aW5nIGNvbW1hbmQgc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qIFJhdCwwOjF4LDE6RE8gKi8KKyAgICBrYWxfdWludDMyICAgIFJhdFR5cGU7CisgICAgLyoqIFtpbl0gLSAwOlRYS19SRUY7IDE6VFhERkVfQkI7IDI6VFhERkVfUkY7IDM6VFhERkVfRVQ7IDQ6VFhLX0RFVCoqLworICAgIGthbF91aW50MzIgICAgRHVtcFNlbDsKKyAgICAvKiogW2luXSAtIEZvciBUWEsgREVUOiAwOmRldCBhZmlmbyBvdXQ7IDE6ZGV0IGNpYyBvdXQ7IDI6ZGV0IG91dDsKKyAgICAgICAgICAgICAgICAgICAgIEZvciBUWEsgUkVGOiAwOnJlZiBzY2FsZSBvdXQ7IDE6cmVmIGkgZGVsYXkgb3V0OyAyOnJlZiBmIGRlbGF5IG91dDsgMzpyZWYgZGNtIG91dCoqLworICAgIGthbF91aW50MzIgICAgTm9kZVNlbDsKKyAgICAvKiBJUSBudW1iZXIqLyAgICAgCisgICAga2FsX3VpbnQzMiAgICBJcU51bTsKK30gQ2wxVHN0VHhrRGZlSXFEdW1wQ2ZnQ21kVDsKKworLyoqIGRlZmluZSBTUEkgZGF0YSBnZXR0aW5nIGNvbmZpcm0gc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qIFJlcXVlc3QgZXhlY3V0ZSBzdGF0dXMgKi8KKyAgICBDbDFUc3RSZXFTdGF0dXNFICAgIFN0YXR1czsKKyAgICAvKlRvdGFsICBibG9jayBzaXplICovCisgICAga2FsX3VpbnQzMiAgICAgICAgICBCdWZmZXJTaXplOworICAgIC8qYm9jayBudW1iZXIgKi8KKyAgICBrYWxfdWludDMyICAgICAgICAgIEJsb2NrTnVtOworfSBDbDFUc3RUeGtEZmVJcUR1bXBDZmdSc3BUOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF91aW50MzIgICAgICAgICAgQmxvY2tJbmRleDsKK30gQ2wxVHN0UnhUeERmZUlxRHVtcFFyeUNtZFQ7CisKKy8qKiBkZWZpbmUgU1BJIGRhdGEgZ2V0dGluZyBjb25maXJtIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiBSZXF1ZXN0IGV4ZWN1dGUgc3RhdHVzICovCisgICAgQ2wxVHN0UmVxU3RhdHVzRSAgICBTdGF0dXM7CisgICAgLyogbGFzdCBibG9jayBmbGFnICovCisgICAga2FsX3VpbnQxNiAgICAgICAgICBMYXN0QmxvY2tJbmQ7CisgICAgLyogcGFydGlhbCBibG9jayBzaXplICovCisgICAga2FsX3VpbnQxNiAgICAgICAgICBQdEJsb2NrU2l6ZTsKKyAgICAvKiBibG9jayBvZmZzZXQgKi8KKyAgICBrYWxfdWludDMyICAgICAgICAgIEJsb2NrT2Zmc2V0OworICAgIC8qIERhdGEgYnVmZmVyKi8gICAKKyAgICBrYWxfdWludDMyICAgICAgICAgIERhdGFbQ0wxVFNUX1JYX1RYX0lRX0RVTVBfTlVNXTsKK30gQ2wxVHN0UnhUeERmZUlxRHVtcFFyeVJzcFQ7CisjZW5kaWYKKworLyoqIGRlZmluZSBGSEMgc3RhcnQgY29tbW9uIGRhdGEgc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qIFR4IFJYIGRlbGF5IGZvciBGSEMsIHVuaXQgdXMgKD4gMTB1cykgKi8KKyAgICBrYWxfdWludDE2ICAgICAgICAgIFR4UnhEZWxheTsKKworICAgIC8qIFR4IHN0ZXAgbGVuZ3RoLCB1bml0IHVzICg+PSAxMDAwdXMgYW5kIDw9IDIwMDAwIHVzKSAqLworICAgIGthbF91aW50MTYgICAgICAgICAgVHhTdGVwTGVuZ3RoOworCisgICAgLyogVHggcmV0dW5lIGxlbmd0aCwgdW5pdCB1cyAoPj0gNTAwdXMpICovCisgICAga2FsX3VpbnQxNiAgICAgICAgICBUeFJldHVMZW5ndGg7CisKKyAgICAvKiBSRiBtb2RlIHN3aXRjaCBsZW5ndGgsIHVuaXQgdXMsIHRoZSBpbnRlZ2VyIG11bHRpcGxlIG9mIHN0ZXAgbGVuZ3RoICovCisgICAga2FsX3VpbnQxNiAgICAgICAgICBSZk1Td2hMZW5ndGg7CisKKyAgICAvKiBSeCBzdGVwIGxlbmd0aCwgdW5pdCB1cyAoPj0gMTAwMHVzIGFuZCA8PSAyMDAwMCB1cykgKi8KKyAgICBrYWxfdWludDE2ICAgICAgICAgIFJ4U3RlcExlbmd0aDsKKworICAgIC8qIFJ4IHJldHVuZSBsZW5ndGgsIHVuaXQgdXMgKD49IDUwMHVzKSAqLworICAgIGthbF91aW50MTYgICAgICAgICAgUnhSZXR1TGVuZ3RoOworCit9IENsMVRzdEZoY0NvbW1vblQ7CisKKy8qKiBkZWZpbmUgVHggY2FsaWJyYXRpb24gZWxlbWVudCBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyogMDogMXhSVFQsIDE6IEVWRE8gKi8KKyAgICBrYWxfdWludDggICAgICAgICAgIFJmTW9kZTsKKworICAgIC8qIFN0ZXAgaW5kaWNhdGlvbiwgMDogbmV4dCBzdGVwIGlzIG5vcm1hbCBzdGVwLAorICAgICAgICAgICAgICAgICAgICAgICAgMTogbmV4dCBzdGVwIGlzIHJldHVuZSBzdGVwLAorICAgICAgICAgICAgICAgICAgICAgICAgMjogdGhlIGN1cnJlbnQgc3RlcCBpcyB0aGUgbGFzdCBzdGVwLAorICAgICAgICAgICAgICAgICAgICAgICAgMzogbmV4dCBzdGVwIGlzIFJGIG1vZGUgc3dpdGNoIHN0ZXAKKyAgICAqLworICAgIGthbF91aW50OCAgICAgICAgICAgU3RlcEluZDsKKworICAgIC8qIENETUEgYmFuZCBjbGFzcyAqLworICAgIGthbF91aW50OCAgICAgICAgICAgQmFuZENsYXNzOworCisgICAgLyogUmVzZXJ2ZWQgKi8KKyAgICBrYWxfdWludDggICAgICAgICAgIFJlc2VydmVkOworCisgICAgLyogQ0RNQSBjaGFubmVsICovCisgICAga2FsX3VpbnQxNiAgICAgICAgICBDaGFuTnVtOworCisgICAgLyogUkYgY2FsaWJyYXRpb24gcG93ZXIgcG9pbnRzLCBkQm0sIFE1ICovCisgICAga2FsX2ludDE2ICAgICAgICAgICBUeFB3cjsKKworfSBDbDFUc3RGaGNUeEVsZW1lbnRUOworCisvKiogZGVmaW5lIFJ4IGNhbGlicmF0aW9uIGVsZW1lbnQgc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qIFN0ZXAgaW5kaWNhdGlvbiwgMDogbmV4dCBzdGVwIGlzIG5vcm1hbCBzdGVwLAorICAgICAgICAgICAgICAgICAgICAgICAgMTogbmV4dCBzdGVwIGlzIHJldHVuZSBzdGVwLAorICAgICAgICAgICAgICAgICAgICAgICAgMjogdGhlIGN1cnJlbnQgc3RlcCBpcyB0aGUgbGFzdCBzdGVwCisgICAgKi8KKyAgICBrYWxfdWludDggICAgICAgICAgIFN0ZXBJbmQ7CisKKyAgICAvKiBDRE1BIGJhbmQgY2xhc3MgKi8KKyAgICBrYWxfdWludDggICAgICAgICAgIEJhbmRDbGFzczsKKworICAgIC8qIENETUEgY2hhbm5lbCAqLworICAgIGthbF91aW50MTYgICAgICAgICAgQ2hhbk51bTsKKworICAgIC8qIEJpdDA6IG1haW4gYW50ZW5uYSwgQml0MTogZGl2ZXJzaXR5IGFudGVubmEsIEJpdDI6IFNIRFIgKi8KKyAgICBrYWxfdWludDggICAgICAgICAgIFBhdGhCaXRtYXA7CisKKyAgICAvKiBQb3dlciBtb2RlLCAwOiBoaWdoIHBvd2VyIG1vZGUsIDE6IGxvdyBwb3dlciBtb2RlICovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICBQd3JNb2RlOworCisgICAgLyogTE5BIG1vZGUsIDB+NyAqLworICAgIGthbF91aW50OCAgICAgICAgICAgTG5hTW9kZTsKKworICAgIC8qIFJlc2VydmVkICovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICBSZXNlcnZlZDsKKworfSBDbDFUc3RGaGNSeEVsZW1lbnRUOworCisvKiogZGVmaW5lIEZIQyBjYWxpYnJhdGlvbiBzdGFydCBjb21tYW5kIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiBGSEMgY2FsaWJyYXRpb24gY29tbW9uIGRhdGEgKi8KKyAgICBDbDFUc3RGaGNDb21tb25UICAgIENvbW1vbkRhdGE7CisKKyAgICAvKiBSZXNlcnZlZCAqLworICAgIGthbF91aW50MTYgICAgICAgICAgUmVzZXJ2ZWQxOworCisgICAgLyogVHggY2FsaWJyYXRpb24gZWxlbWVudHMgbnVtYmVyICgxfjEwMDApICovCisgICAga2FsX3VpbnQxNiAgICAgICAgICBUeEVsZW1lbnROdW07CisKKyAgICAvKiBUeCBjYWxpYnJhdGlvbiBlbGVtZW50cyAqLworICAgIENsMVRzdEZoY1R4RWxlbWVudFQgVHhFbGVtZW50W0NMMVRTVF9GSENfVFhfRUxFTUVOVF9OVU1dOworCisgICAgLyogUmVzZXJ2ZWQgKi8KKyAgICBrYWxfdWludDE2ICAgICAgICAgIFJlc2VydmVkMjsKKworICAgIC8qIFJ4IGNhbGlicmF0aW9uIGVsZW1lbnRzIG51bWJlciAoMX4xMDAwKSAqLworICAgIGthbF91aW50MTYgICAgICAgICAgUnhFbGVtZW50TnVtOworCisgICAgLyogUnggY2FsaWJyYXRpb24gZWxlbWVudHMgKi8KKyAgICBDbDFUc3RGaGNSeEVsZW1lbnRUIFJ4RWxlbWVudFtDTDFUU1RfRkhDX1JYX0VMRU1FTlRfTlVNXTsKKworfSBDbDFUc3RGaGNTdGFydENtZFQ7CisKKy8qKiBkZWZpbmUgRkhDIHJlcG9ydCByZXN1bHQgc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qIHBvd2VyIGRldGVjdCByZXN1bHQgbnVtYmVyICovCisgICAga2FsX3VpbnQxNiAgICAgICAgICBQZGV0TnVtOworCisgICAgLyogUlNTSSBudW1iZXIgKi8KKyAgICBrYWxfdWludDE2ICAgICAgICAgIFJzc2lOdW07CisKKyAgICAvKiBwb3dlciBkZXRlY3QgcmVzdWx0LCB1bml0IGlzIFE1IGRCbSAqLworICAgIGthbF9pbnQxNiAgICAgICAgICAgUGRldFtDTDFUU1RfRkhDX1RYX0VMRU1FTlRfTlVNXTsKKworICAgIC8qIE1haW4gYW50ZW5uYSBSU1NJLCB1bml0IGlzIFE1IGRCbSAqLworICAgIGthbF9pbnQxNiAgICAgICAgICAgUnNzaU1haW5bQ0wxVFNUX0ZIQ19SWF9FTEVNRU5UX05VTV07CisKKyAgICAvKiBEaXZlcnNpdHkgYW50ZW5uYSBSU1NJLCB1bml0IGlzIFE1IGRCbSAqLworICAgIGthbF9pbnQxNiAgICAgICAgICAgUnNzaURpdltDTDFUU1RfRkhDX1JYX0VMRU1FTlRfTlVNXTsKK30gQ2wxVHN0RmhjUnB0RGF0YVQ7CisKKy8qKiBkZWZpbmUgRkhDIGNhbGlicmF0aW9uIHN0YXJ0IGNvbmZpcm0gc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qIFJlcXVlc3QgZXhlY3V0ZSBzdGF0dXMgKi8KKyAgICBDbDFUc3RSZXFTdGF0dXNFICAgIFN0YXR1czsKKworICAgIC8qIEZIQyByZXBvcnQgcmVzdWx0ICovCisgICAgQ2wxVHN0RmhjUnB0RGF0YVQgICBScHREYXRhOworfSBDbDFUc3RGaGNTdGFydFJzcFQ7CisKKy8qKiBkZWZpbmUgMXhydHQgTlNUIFJlbGF0aW9uIGNvbW1hbmQgYW5kIGNvbmZpcm0gc3RydWN0dXJlICovCisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyogQ0RNQSBCYW5kIENsYXNzIHRvIHR1cm4gb24qLworICAgIGthbF91aW50MTYgICAgICAgICAgQmFuZENsYXNzOworICAgIC8qIENETUEgRnJlcSBDaGFubmVsIHRvIHR1cm4gb24qLworICAgIGthbF91aW50MTYgICAgICAgICAgQ2hhbm5lbDsKKyAgICAvKiBDRE1BIFdhbHNoIENvZGUgQ2hhbm5lbCovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICBDb2RlQ2hhbjsKKyAgICAvKiBDRE1BIFJhZGlvIGNvbmZpZ3VyYXRpb24sMSBpcyBSQzEsIDIgaXMgUkMyIEV0YyovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICBSYWRpb0NvbmZpZzsKK30gQ2wxVHN0TnN0UG93ZXJVcENtZFQ7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyogUmVxdWVzdCBleGVjdXRlIHN0YXR1cyAqLworICAgIENsMVRzdFJlcVN0YXR1c0UgICAgICBTdGF0dXM7CisKKyAgICAvKiBOc3QgQ21kIFJlc3VsdCBzdGF0dXMgKi8KKyAgICBDbDFUc3ROc3RDbWRTdGF0dXNFICAgTnN0U3RhdHVzOworfSBDbDFUc3ROc3RQb3dlclVwUnNwVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiBDRE1BIEJhbmQgQ2xhc3MgdG8gdHVybiBvbiovCisgICAga2FsX3VpbnQxNiAgICAgICAgICBCYW5kQ2xhc3M7CisgICAgLyogQ0RNQSBGcmVxIENoYW5uZWwgdG8gdHVybiBvbiovCisgICAga2FsX3VpbnQxNiAgICAgICAgICBDaGFubmVsOworICAgIC8qIE51bWJlciBvZiBGZXIgY2FjdWFsdGUgRnJhbWVzKi8KKyAgICBrYWxfdWludDE2ICAgICAgICAgIE51bUZyYW1lczsKKyAgICAvKiBGbGFnIG9mIEVuYWJsZSBBRkMgQ29uZmlnKi8KKyAgICBrYWxfYm9vbCAgICAgICAgICAgIEVuYWJsZUFGQzsKK30gQ2wxVHN0TnN0VGNoRmVyQ2ZnQ21kVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiBSZXF1ZXN0IGV4ZWN1dGUgc3RhdHVzICovCisgICAgQ2wxVHN0UmVxU3RhdHVzRSAgICAgICBTdGF0dXM7CisKKyAgICAvKiBOc3QgQ21kIFJlc3VsdCBzdGF0dXMgKi8KKyAgICBDbDFUc3ROc3RDbWRTdGF0dXNFICAgIE5zdFN0YXR1czsKKyAgICBrYWxfdWludDE2ICAgICAgICAgICAgIEJhZEZyYW1lczsKKyAgICBrYWxfdWludDE2ICAgICAgICAgICAgIFRvdGFsRnJhbWVzOworfSBDbDFUc3ROc3RUY2hGZXJDZmdSc3BUOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qIENETUEgQmFuZCBDbGFzcyB0byB0dXJuIG9uKi8KKyAgICBrYWxfdWludDE2ICAgICAgICAgIEJhbmRDbGFzczsKKyAgICAvKiBDRE1BIEZyZXEgQ2hhbm5lbCB0byB0dXJuIG9uKi8KKyAgICBrYWxfdWludDE2ICAgICAgICAgIENoYW5uZWw7CisgICAgLyogVHggUG93ZXIgTGV2ZWwgLHVuaW50IGlzIFE2Ki8KKyAgICBrYWxfdWludDE2ICAgICAgICAgIFR4UHdyUTY7Cit9IENsMVRzdE5zdFR4UHdyTWVhc0NmZ0NtZFQ7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyogUmVxdWVzdCBleGVjdXRlIHN0YXR1cyAqLworICAgIENsMVRzdFJlcVN0YXR1c0UgICAgICAgU3RhdHVzOworCisgICAgLyogTnN0IENtZCBSZXN1bHQgc3RhdHVzICovCisgICAgQ2wxVHN0TnN0Q21kU3RhdHVzRSAgICBOc3RTdGF0dXM7Cit9IENsMVRzdE5zdFR4UHdyTWVhc0NmZ1JzcFQ7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyogQ0RNQSBCYW5kIENsYXNzIHRvIHR1cm4gb24qLworICAgIGthbF91aW50MTYgICAgICAgICAgQmFuZENsYXNzOworICAgIC8qIENETUEgRnJlcSBDaGFubmVsIHRvIHR1cm4gb24qLworICAgIGthbF91aW50MTYgICAgICAgICAgQ2hhbm5lbDsKK30gQ2wxVHN0TnN0UnhQd3JNZWFzQ2ZnQ21kVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiBSZXF1ZXN0IGV4ZWN1dGUgc3RhdHVzICovCisgICAgQ2wxVHN0UmVxU3RhdHVzRSAgICAgICBTdGF0dXM7CisKKyAgICAvKiBOc3QgQ21kIFJlc3VsdCBzdGF0dXMgKi8KKyAgICBDbDFUc3ROc3RDbWRTdGF0dXNFICAgIE5zdFN0YXR1czsKKyAgICAvKiBDdXJyZW50IFBOIE9mZnNldCAqLworICAgIGthbF91aW50MTYgICAgICAgICAgICAgUG5PZmZzZXQ7CisgICAgLyogQ3VycmVudCBBc2V0IFBpbG90IFN0cmVuZ3RoICovCisgICAga2FsX2ludDE2ICAgICAgICAgICAgICBTdHJlbmd0aDsKKyAgICAvKiBDdXJyZW50IE1haW4gQW50IFJ4IFBvd2VyLHVuaXQgaXMgUTUgKi8KKyAgICBrYWxfaW50MTYgICAgICAgICAgICAgIE1haW5SeFB3clE1OworICAgIC8qIEN1cnJlbnQgRGl2IEFudCBSeCBQb3dlcix1bml0IGlzIFE1ICovCisgICAga2FsX2ludDE2ICAgICAgICAgICAgICBEaXZSeFB3clE1OworfSBDbDFUc3ROc3RSeFB3ck1lYXNDZmdSc3BUOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qIFRvdGFsIENvdW50IG9mIE5TVCBMaXN0ICovCisgICAga2FsX3VpbnQ4ICAgICAgICAgIENvdW50OworICAgIC8qIE51bSBvZiBmcmFtZSBvZmZzZXQgKi8KKyAgICBrYWxfdWludDggICAgICAgICAgIE9mZnNldFtDTDFUU1RfTlNUX01BWF9MSVNUX05VTV07CisgICAgLyogQ0RNQSBCYW5kIENsYXNzIHRvIHR1cm4gb24qLworICAgIGthbF91aW50MTYgICAgICAgICAgQmFuZENsYXNzW0NMMVRTVF9OU1RfTUFYX0xJU1RfTlVNXTsKKyAgICAvKiBDRE1BIEZyZXEgQ2hhbm5lbCB0byB0dXJuIG9uKi8KKyAgICBrYWxfdWludDE2ICAgICAgICAgIENoYW5uZWxbQ0wxVFNUX05TVF9NQVhfTElTVF9OVU1dOworICAgIC8qIENETUEgV2Fsc2ggQ29kZSBDaGFubmVsKi8KKyAgICBrYWxfdWludDggICAgICAgICAgIENvZGVDaGFuW0NMMVRTVF9OU1RfTUFYX0xJU1RfTlVNXTsKKyAgICAvKiBDRE1BIFJhZGlvIGNvbmZpZ3VyYXRpb24sMSBpcyBSQzEsIDIgaXMgUkMyIEV0YyovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICBSYWRpb0NvbmZpZ1tDTDFUU1RfTlNUX01BWF9MSVNUX05VTV07CisKKyAgICAvKiBOdW1iZXIgb2YgRmVyIGNhY3VhbHRlIEZyYW1lcyovCisgICAga2FsX3VpbnQxNiAgICAgICAgICBOdW1GcmFtZXNbQ0wxVFNUX05TVF9NQVhfTElTVF9OVU1dOworICAgIC8qIENvdW50IG9mIE1lYXMgVHggUHdyIExldmVsIGZvciBQZXIgRnJlcSBDaGFuKi8KKyAgICBrYWxfdWludDggICAgICAgICAgIFR4UHdyQ291bnRbQ0wxVFNUX05TVF9NQVhfTElTVF9OVU1dOworICAgIC8qIE1lYXMgVHggUHdyIExldmVsIGZvciBQZXIgRnJlcSBDaGFuKi8KKyAgICBrYWxfdWludDE2ICAgICAgICAgIFR4UHdyTGV2ZWxRNltDTDFUU1RfTlNUX01BWF9MSVNUX05VTV1bQ0wxVFNUX05TVF9NQVhfVFhfUFdSX0NPVU5UXTsKKyAgICAvKiBDb3VudCBvZiBNZWFzIFJ4IFB3ciBMZXZlbCBmb3IgUGVyIEZyZXEgQ2hhbiovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICBSeFB3ckNvdW50W0NMMVRTVF9OU1RfTUFYX0xJU1RfTlVNXTsKK30gQ2wxVHN0TnN0TGlzdFNldENmZ0NtZFQ7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyogUmVxdWVzdCBleGVjdXRlIHN0YXR1cyAqLworICAgIENsMVRzdFJlcVN0YXR1c0UgICAgICAgU3RhdHVzOworCisgICAgLyogTnN0IENtZCBSZXN1bHQgc3RhdHVzICovCisgICAgQ2wxVHN0TnN0Q21kU3RhdHVzRSAgICBOc3RTdGF0dXM7CisgICAgLyogVG90YWwgQ291bnQgb2YgTlNUIExpc3QgKi8KKyAgICBrYWxfdWludDggICAgICAgICAgICAgIENvdW50OworICAgIC8qIEluZGV4IG9mIGxpc3QgKi8KKyAgICBrYWxfdWludDggICAgICAgICAgICAgIEluZGV4W0NMMVRTVF9OU1RfTUFYX0xJU1RfTlVNXTsKKyAgICAvKiBDRE1BIEJhbmQgQ2xhc3MgdG8gdHVybiBvbiovCisgICAga2FsX3VpbnQxNiAgICAgICAgICAgICBCYW5kQ2xhc3NbQ0wxVFNUX05TVF9NQVhfTElTVF9OVU1dOworICAgIC8qIENETUEgRnJlcSBDaGFubmVsIHRvIHR1cm4gb24qLworICAgIGthbF91aW50MTYgICAgICAgICAgICAgQ2hhbm5lbFtDTDFUU1RfTlNUX01BWF9MSVNUX05VTV07CisgICAgLyogTnVtYmVyIG9mIEJhZCBGcmFtZXMgZm9yIFBlciBGcmVxIENoYW4gKi8KKyAgICBrYWxfdWludDggICAgICAgICAgICAgIEJhZEZyYW1lc1tDTDFUU1RfTlNUX01BWF9MSVNUX05VTV07CisgICAgLyogTnVtYmVyIG9mIFRvdGFsIE1lYXMgRnJhbWVzIGZvciBQZXIgRnJlcSBDaGFuICovCisgICAga2FsX3VpbnQ4ICAgICAgICAgICAgICBUb3RhbEZyYW1lc1tDTDFUU1RfTlNUX01BWF9MSVNUX05VTV07CisgICAgLyogQ3VycmVudCBNYWluIEFudCBSeCBQb3dlcix1bml0IGlzIFE1ICovCisgICAga2FsX2ludDE2ICAgICAgICAgICAgICBNYWluUnhQd3JRNVtDTDFUU1RfTlNUX01BWF9MSVNUX05VTV1bQ0wxVFNUX05TVF9NQVhfUlhfUFdSX0NPVU5UXTsKKyAgICAvKiBDdXJyZW50IERpdiBBbnQgUnggUG93ZXIsdW5pdCBpcyBRNSAqLworICAgIGthbF9pbnQxNiAgICAgICAgICAgICAgRGl2UnhQd3JRNVtDTDFUU1RfTlNUX01BWF9MSVNUX05VTV1bQ0wxVFNUX05TVF9NQVhfUlhfUFdSX0NPVU5UXTsKK30gQ2wxVHN0TnN0TGlzdFNldENmZ1JzcFQ7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX3VpbnQzMiAgICAgICAgICAgICBSZXNlcnZlZDsKK30gQ2wxVHN0TnN0RW50ZXJUZXN0TW9kZUNtZFQ7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyogUmVxdWVzdCBleGVjdXRlIHN0YXR1cyAqLworICAgIENsMVRzdFJlcVN0YXR1c0UgICAgICAgU3RhdHVzOworCisgICAgLyogTnN0IENtZCBSZXN1bHQgc3RhdHVzICovCisgICAgQ2wxVHN0TnN0Q21kU3RhdHVzRSAgICBOc3RTdGF0dXM7Cit9IENsMVRzdE5zdEVudGVyVGVzdE1vZGVSc3BUOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF91aW50MzIgICAgICAgICAgICAgUmVzZXJ2ZWQ7Cit9IENsMVRzdE5zdEV4aXRUZXN0TW9kZUNtZFQ7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyogUmVxdWVzdCBleGVjdXRlIHN0YXR1cyAqLworICAgIENsMVRzdFJlcVN0YXR1c0UgICAgICAgU3RhdHVzOworCisgICAgLyogTnN0IENtZCBSZXN1bHQgc3RhdHVzICovCisgICAgQ2wxVHN0TnN0Q21kU3RhdHVzRSAgICBOc3RTdGF0dXM7Cit9IENsMVRzdE5zdEV4aXRUZXN0TW9kZVJzcFQ7CisKKy8qKiBkZWZpbmUgZW50ZXIgZmFjdG9yeSBtb2RlIHJlcXVlc3Qgc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF91aW50MzIgICAgICAgICAgICAgUmVzZXJ2ZWQ7Cit9IENsMVRzdEZhY3RvcnlNb2RlUmVxQ21kVDsKKworLyoqIGRlZmluZSBlbnRlciBmYWN0b3J5IG1vZGUgY29uZmlybSBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyogUmVxdWVzdCBleGVjdXRlIHN0YXR1cyAqLworICAgIENsMVRzdFJlcVN0YXR1c0UgICAgICAgU3RhdHVzOworfSBDbDFUc3RGYWN0b3J5TW9kZVJlcVJzcFQ7CisKKy8qKiBkZWZpbmUgZW50ZXIgbm9ybWFsIG1vZGUgcmVxdWVzdCBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX3VpbnQzMiAgICAgICAgICAgICBSZXNlcnZlZDsKK30gQ2wxVHN0Tm9ybWFsTW9kZVJlcUNtZFQ7CisKKy8qKiBkZWZpbmUgZW50ZXIgbm9ybWFsIG1vZGUgY29uZmlybSBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyogUmVxdWVzdCBleGVjdXRlIHN0YXR1cyAqLworICAgIENsMVRzdFJlcVN0YXR1c0UgICAgU3RhdHVzOworfSBDbDFUc3ROb3JtYWxNb2RlUmVxUnNwVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfdWludDMyICAgICAgICAgIE1laWRfTDsKKyAgICBrYWxfdWludDMyICAgICAgICAgIE1laWRfSDsKK30gQ2wxVHN0U2V0TWVpZENtZFQ7CisKKy8qKiBkZWZpbmUgTUVJRCBzZXR0aW5nIGNvbmZpcm0gc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qIFJlcXVlc3QgZXhlY3V0ZSBzdGF0dXMgKi8KKyAgICBDbDFUc3RSZXFTdGF0dXNFICAgIFN0YXR1czsKK30gQ2wxVHN0U2V0TWVpZFJzcFQ7CisKKy8qKiBkZWZpbmUgTUVJRCBnZXR0aW5nIGNvbW1hbmQgc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF91aW50MzIgICAgICAgICAgUmVzZXJ2ZWQ7Cit9IENsMVRzdEdldE1laWRDbWRUOworCisvKiogZGVmaW5lIE1FSUQgZ2V0dGluZyBjb25maXJtIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiBSZXF1ZXN0IGV4ZWN1dGUgc3RhdHVzICovCisgICAgQ2wxVHN0UmVxU3RhdHVzRSAgICBTdGF0dXM7CisKKyAgICAvKiBNRUlEIGRhdGEgKi8KKyAgICBrYWxfdWludDMyICAgICAgICAgIE1laWRfTDsKKyAgICBrYWxfdWludDMyICAgICAgICAgIE1laWRfSDsKKworICAgIC8qIEVTTiBkYXRhICovCisgICAga2FsX3VpbnQzMiAgICAgICAgICBFc247Cit9IENsMVRzdEdldE1laWRSc3BUOworCisvKiogZGVmaW5lIFVCSU4gaW5pdCByZXF1ZXN0IHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfdWludDMyICAgICAgICAgICAgIFJlc2VydmVkOworfSBDbDFUc3RVYmluSW5pdENtZFQ7CisKKy8qKiBkZWZpbmUgVUJJTiBpbml0IGNvbmZpcm0gc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qIFJlcXVlc3QgZXhlY3V0ZSBzdGF0dXMgKi8KKyAgICBDbDFUc3RSZXFTdGF0dXNFICAgICAgIFN0YXR1czsKK30gQ2wxVHN0VWJpbkluaXRSc3BUOworCisvKiogZGVmaW5lIFVCSU4gRGUgaW5pdCByZXF1ZXN0IHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfdWludDMyICAgICAgICAgICAgIFJlc2VydmVkOworfSBDbDFUc3RVYmluRGVJbml0Q21kVDsKKworLyoqIGRlZmluZSBVQklOIERlaW5pdCBjb25maXJtIHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiBSZXF1ZXN0IGV4ZWN1dGUgc3RhdHVzICovCisgICAgQ2wxVHN0UmVxU3RhdHVzRSAgICBTdGF0dXM7Cit9IENsMVRzdFViaW5EZUluaXRSc3BUOworCisKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiBBbnQgVGVzdCBNb2RlIFNldDowIG1lYW5zIGRpc2FibGUgdGVzdCBNb2RlLDEgbWVhbnMgTWFpbiBSeCBPbmx5LGFuZCAKKyAgICAgKiAyIG1lYW5zIERpdiBSeCBPbmx5IE1vZGUsMyBtZWFucyBEdWFsIE1vZGUoTWFpbitEaXYpLiovCisgICAga2FsX3VpbnQzMiAgICAgICAgICBBbnRUZXN0TW9kZTsKK30gQ2wxVHN0UnhBbnRUZXN0TW9kZVNldENtZFQ7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyogUmVxdWVzdCBleGVjdXRlIHN0YXR1cyAqLworICAgIENsMVRzdFJlcVN0YXR1c0UgICAgICAgU3RhdHVzOworfSBDbDFUc3RSeEFudFRlc3RNb2RlU2V0UnNwVDsKKworCisjaWYgMAorI2lmZGVmIE1US19QTFRfT05fUENfSVQKKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKyNlbmRpZgorI2VuZGlmCisKKy8qIEMySyBtZXRhIGludGVyZmFjZSBjb21tYW5kIHVuaW9uICovCit0eXBlZGVmIHVuaW9uCit7CisgICAgQ2wxVHN0R2V0UmZQbGF0SW5mb0NtZFQgICAgICAgICAgICAgR2V0UmZQbGF0SW5mb0NtZDsgICAgICAvLyBmb3IgQ0wxVFNUX0NNRF9HRVRfUkZfUExBVEZPUk1fSU5GTworICAgIENsMVRzdFJmZFRlc3RNb2RlUmVxQ21kVCAgICAgICAgICAgIFJmZFRlc3RNb2RlUmVxQ21kOyAgICAgLy8gZm9yIENMMVRTVF9DTURfUkZEX0VOVEVSX1RFU1RfTU9ERQorICAgIENsMVRzdFJmZEluaXRSZXFDbWRUICAgICAgICAgICAgICAgIFJmZEluaXRSZXFDbWQ7ICAgICAgICAgLy8gZm9yIENMMVRTVF9DTURfUkZEX0lOSVRfUkVRCisgICAgQ2wxVHN0U2V0TWlwaUNvZGVXb3JkQ21kVCAgICAgICAgICAgU2V0TWlwaUNvZGVXb3JkQ21kOyAgICAvLyBmb3IgQ0wxVFNUX0NNRF9TRVRfTUlQSV9DVworICAgIENsMVRzdEdldE1pcGlDb2RlV29yZENtZFQgICAgICAgICAgIEdldE1pcGlDb2RlV29yZENtZDsgICAgLy8gZm9yIENMMVRTVF9DTURfR0VUX01JUElfQ1cKKyAgICBDbDFUc3RTZXRTcGlEYXRhQ21kVCAgICAgICAgICAgICAgICBTZXRTcGlEYXRhQ21kOyAgICAgICAgIC8vIGZvciBDTDFUU1RfQ01EX1NFVF9TUElfREFUQQorICAgIENsMVRzdEdldFNwaURhdGFDbWRUICAgICAgICAgICAgICAgIEdldFNwaURhdGFDbWQ7ICAgICAgICAgLy8gZm9yIENMMVRTVF9DTURfR0VUX1NQSV9EQVRBCisgICAgQ2wxVHN0VHJhbnNtaXRDdHJsQ21kVCAgICAgICAgICAgICAgVHJhbnNtaXRDdHJsQ21kOyAgICAgICAvLyBmb3IgQ0wxVFNUX0NNRF9UUkFOU01JVF9DVFJMCisgICAgQ2wxVHN0UmVjZWl2ZUN0cmxDbWRUICAgICAgICAgICAgICAgUmVjZWl2ZUN0cmxDbWQ7ICAgICAgICAvLyBmb3IgQ0wxVFNUX0NNRF9SRUNFSVZFX0NUUkwKKyAgICBDbDFUc3RBZmNDb25maWdDbWRUICAgICAgICAgICAgICAgICBBZmNDb25maWdDbWQ7ICAgICAgICAgIC8vIGZvciBDTDFUU1RfQ01EX0FGQ19DT05GSUcKKyAgICBDbDFUc3RUeEFnY0NvbmZpZ0NtZFQgICAgICAgICAgICAgICBUeEFnY0NvbmZpZ0NtZDsgICAgICAgIC8vIGZvciBDTDFUU1RfQ01EX1RYX0FHQ19DT05GSUcKKyAgICBDbDFUc3RUeFBvd2VyUXVlcnlDbWRUICAgICAgICAgICAgICBUeFBvd2VyUXVlcnlDbWQ7ICAgICAgIC8vIGZvciBDTDFUU1RfQ01EX1RYX1BPV0VSX1FVRVJZCisgICAgQ2wxVHN0UnhBZ2NDb25maWdDbWRUICAgICAgICAgICAgICAgUnhBZ2NDb25maWdDbWQ7ICAgICAgICAvLyBmb3IgQ0wxVFNUX0NNRF9SWF9BR0NfQ09ORklHCisgICAgQ2wxVHN0UnhSc3NpUXVlcnlDbWRUICAgICAgICAgICAgICAgUnhSc3NpUXVlcnlDbWQ7ICAgICAgICAvLyBmb3IgQ0wxVFNUX0NNRF9SWF9SU1NJX1FVRVJZCisgICAgQ2wxVHN0QWZjQ2FsRGF0YVNldENtZFQgICAgICAgICAgICAgQWZjQ2FsRGF0YVNldENtZDsgICAgICAvLyBmb3IgQ0wxVFNUX0NNRF9BRkNfQ0FMX0RBVEFfU0VUCisgICAgQ2wxVHN0QWZjQ2FsRGF0YUdldENtZFQgICAgICAgICAgICAgQWZjQ2FsRGF0YUdldENtZDsgICAgICAvLyBmb3IgQ0wxVFNUX0NNRF9BRkNfQ0FMX0RBVEFfR0VUCisgICAgQ2wxVHN0UnhDYWxEYXRhU2V0Q21kVCAgICAgICAgICAgICAgUnhDYWxEYXRhU2V0Q21kOyAgICAgICAvLyBmb3IgQ0wxVFNUX0NNRF9SWF9DQUxfREFUQV9TRVQKKyAgICBDbDFUc3RSeENhbERhdGFHZXRDbWRUICAgICAgICAgICAgICBSeENhbERhdGFHZXRDbWQ7ICAgICAgIC8vIGZvciBDTDFUU1RfQ01EX1JYX0NBTF9EQVRBX0dFVAorICAgIENsMVRzdFR4Q2FsRGF0YVNldENtZFQgICAgICAgICAgICAgIFR4Q2FsRGF0YVNldENtZDsgICAgICAgLy8gZm9yIENMMVRTVF9DTURfVFhfQ0FMX0RBVEFfU0VUCisgICAgQ2wxVHN0VHhDYWxEYXRhR2V0Q21kVCAgICAgICAgICAgICAgVHhDYWxEYXRhR2V0Q21kOyAgICAgICAvLyBmb3IgQ0wxVFNUX0NNRF9UWF9DQUxfREFUQV9HRVQKKyNpZm5kZWYgX19NRDkzX18KKyAgICBDbDFUc3RMbmFDYWxQd3JQb2ludEdldENtZFQgICAgICAgICBMbmFDYWxQd3JQb2ludEdldENtZDsgIC8vIGZvciAgQ0wxVFNUX0NNRF9SWF9MTkFfUFdSX1JBTkdFX0dFVAorI2VuZGlmCisjaWYgKCFkZWZpbmVkKF9fTUQ5M19fKSkgJiYgKCFkZWZpbmVkKF9fTUQ5NV9fKSkKKyAgICBDbDFUc3RSeEdhaW5HZXRDbWRUICAgICAgICAgICAgICAgICBSeEdhaW5HZXRDbWQ7ICAgICAgICAgIC8vIGZvciAgQ0wxVFNUX0NNRF9SWF9HQUlOX0dFVAorICAgIENsMVRzdFR4R2FpbkdldENtZFQgICAgICAgICAgICAgICAgIFR4R2FpbkdldENtZDsgICAgICAgICAgLy8gZm9yICBDTDFUU1RfQ01EX1RYX0dBSU5fR0VUCisgICAgQ2wxVHN0U2V0QnBpRGF0YUNtZFQgICAgICAgICAgICAgICAgU2V0QnBpRGF0YUNtZDsgICAgICAgICAvLyBmb3IgQ0wxVFNUX0NNRF9TRVRfQlBJX0RBVEEKKyAgICBDbDFUc3RHZXRCcGlEYXRhQ21kVCAgICAgICAgICAgICAgICBHZXRCcGlEYXRhQ21kOyAgICAgICAgIC8vIGZvciBDTDFUU1RfQ01EX0dFVF9CUElfREFUQQorICAgIENsMVRzdFJ4QWdjRml4TWFudWFsQ29uZmlnQ21kVCAgICAgIFJ4QWdjRml4TWFudWFsQ29uZmlnQ21kOyAvLyBmb3IgQ0wxVFNUX0NNRF9SWF9BR0NfRklYX01BTlVBTF9DT05GSUcKKyAgICBDbDFUc3RSeERmZUlxRHVtcENmZ0NtZFQgICAgICAgICAgICBSeERmZUlxRHVtcENmZ0NtZDsgICAgIC8vIGZvciBDTDFUU1RfQ01EX1JYREZFX0lRX0RVTVBfQ0ZHCisgICAgQ2wxVHN0VHhEZmVJcUR1bXBDZmdDbWRUICAgICAgICAgICAgVHhEZmVJcUR1bXBDZmdDbWQ7ICAgICAvLyBmb3IgQ0wxVFNUX0NNRF9UWERGRV9JUV9EVU1QX0NGRworICAgIENsMVRzdFR4a0RmZUlxRHVtcENmZ0NtZFQgICAgICAgICAgIFR4a0RmZUlxRHVtcENmZ0NtZDsgICAgLy8gZm9yIENMMVRTVF9DTURfVFhERkVfSVFfRFVNUF9DRkcKKyAgICBDbDFUc3RSeFR4RGZlSXFEdW1wUXJ5Q21kVCAgICAgICAgICBSeFR4RGZlSXFEdW1wUXJ5Q21kOyAgIC8vIGZvciBDTDFUU1RfQ01EX1JYREZFX0lRX0RVTVBfUVVFUlkgLyBDTDFUU1RfQ01EX1RYREZFX0lRX0RVTVBfUVVFUlkgLyBDTDFUU1RfQ01EX1RYREZFX0lRX0RVTVBfUVVFUlkKKyNlbmRpZgorCisgICAgQ2wxVHN0RmhjU3RhcnRDbWRUICAgICAgICAgICAgICAgICAgRmhjU3RhcnRDbWQ7ICAgICAgICAgICAvLyBmb3IgQ0wxVFNUX0NNRF9GSENfU1RBUlQKKyAgICBDbDFUc3RGYWN0b3J5TW9kZVJlcUNtZFQgICAgICAgICAgICBGYWN0b3J5TW9kZVJlcUNtZDsgICAgIC8vIGZvciBDTDFUU1RfQ01EX0ZBQ1RPUllfTU9ERV9SRVEKKyAgICBDbDFUc3ROb3JtYWxNb2RlUmVxQ21kVCAgICAgICAgICAgICBOb3JtYWxNb2RlUmVxQ21kOyAgICAgIC8vIGZvciBDTDFUU1RfQ01EX05PUk1BTF9NT0RFX1JFUQorICAgIENsMVRzdFNldE1laWRDbWRUICAgICAgICAgICAgICAgICAgIFNldE1laWRDbWQ7ICAgICAgICAgICAgLy8gZm9yIENMMVRTVF9DTURfU0VUX01FSUQKKyAgICBDbDFUc3RHZXRNZWlkQ21kVCAgICAgICAgICAgICAgICAgICBHZXRNZWlkQ21kOyAgICAgICAgICAgIC8vIGZvciBDTDFUU1RfQ01EX0dFVF9NRUlECisgICAgQ2wxVHN0VWJpbkluaXRDbWRUICAgICAgICAgICAgICAgICAgVWJpbkluaXRDbWQ7ICAgICAgICAgICAvLyBmb3IgQ0wxVFNUX0NNRF9VQklOX0lOSVQKKyAgICBDbDFUc3RVYmluRGVJbml0Q21kVCAgICAgICAgICAgICAgICBVYmluRGVJbml0Q21kOyAgICAgICAgIC8vIGZvciBDTDFUU1RfQ01EX1VCSU5fREVJTklUCisKKyAgICBDbDFUc3ROc3RQb3dlclVwQ21kVCAgICAgICAgICAgICAgICBOc3RQb3dlclVwQ21kOworICAgIENsMVRzdE5zdFRjaEZlckNmZ0NtZFQgICAgICAgICAgICAgIE5zdFRjaEZlckNmZ0NtZDsKKyAgICBDbDFUc3ROc3RUeFB3ck1lYXNDZmdDbWRUICAgICAgICAgICBOc3RUeFB3ck1lYXNDZmdDbWQ7CisKKyAgICBDbDFUc3ROc3RSeFB3ck1lYXNDZmdDbWRUICAgICAgICAgICBOc3RSeFB3ck1lYXNDZmdDbWQ7CisgICAgQ2wxVHN0TnN0TGlzdFNldENmZ0NtZFQgICAgICAgICAgICAgTnN0TGlzdFNldENmZ0NtZDsKKyAgICBDbDFUc3ROc3RFbnRlclRlc3RNb2RlQ21kVCAgICAgICAgICBOc3RFbnRlclRlc3RNb2RlQ21kOworICAgIENsMVRzdE5zdEV4aXRUZXN0TW9kZUNtZFQgICAgICAgICAgIE5zdEV4aXRUZXN0TW9kZUNtZDsKKworICAgIENsMVRzdFJ4QW50VGVzdE1vZGVTZXRDbWRUICAgICAgICAgIFJ4QW50VGVzdE1vZGVTZXRDbWQ7Cit9Q2wxVHN0Q21kUGFyYW07CisKKy8qIEMySyBtZXRhIGludGVyZmFjZSBjb25maXJtIHVuaW9uICovCit0eXBlZGVmIHVuaW9uCit7CisgICAgQ2wxVHN0R2V0UmZQbGF0SW5mb1JzcFQgICAgICAgICAgICAgR2V0UmZQbGF0SW5mb1JzcDsgICAgICAvLyBmb3IgQ0wxVFNUX0NNRF9HRVRfUkZfUExBVEZPUk1fSU5GTworICAgIENsMVRzdFJmZFRlc3RNb2RlUmVxUnNwVCAgICAgICAgICAgIFJmZFRlc3RNb2RlUmVxUnNwOyAgICAgLy8gZm9yIENMMVRTVF9DTURfUkZEX0VYSVRfVEVTVF9NT0RFCisgICAgQ2wxVHN0UmZkSW5pdFJlcVJzcFQgICAgICAgICAgICAgICAgUmZkSW5pdFJlcVJzcDsgICAgICAgICAvLyBmb3IgQ0wxVFNUX0NNRF9SRkRfSU5JVF9SRVEKKyAgICBDbDFUc3RTZXRNaXBpQ29kZVdvcmRSc3BUICAgICAgICAgICBTZXRNaXBpQ29kZVdvcmRSc3A7ICAgIC8vIGZvciBDTDFUU1RfQ01EX1NFVF9NSVBJX0NXCisgICAgQ2wxVHN0R2V0TWlwaUNvZGVXb3JkUnNwVCAgICAgICAgICAgR2V0TWlwaUNvZGVXb3JkUnNwOyAgICAvLyBmb3IgQ0wxVFNUX0NNRF9HRVRfTUlQSV9DVworICAgIENsMVRzdFNldFNwaURhdGFSc3BUICAgICAgICAgICAgICAgIFNldFNwaURhdGFSc3A7ICAgICAgICAgLy8gZm9yIENMMVRTVF9DTURfU0VUX1NQSV9EQVRBCisgICAgQ2wxVHN0R2V0U3BpRGF0YVJzcFQgICAgICAgICAgICAgICAgR2V0U3BpRGF0YVJzcDsgICAgICAgICAvLyBmb3IgQ0wxVFNUX0NNRF9HRVRfU1BJX0RBVEEKKyAgICBDbDFUc3RUcmFuc21pdEN0cmxSc3BUICAgICAgICAgICAgICBUcmFuc21pdEN0cmxSc3A7ICAgICAgIC8vIGZvciBDTDFUU1RfQ01EX1RSQU5TTUlUX0NUUkwKKyAgICBDbDFUc3RSZWNlaXZlQ3RybFJzcFQgICAgICAgICAgICAgICBSZWNlaXZlQ3RybFJzcDsgICAgICAgIC8vIGZvciBDTDFUU1RfQ01EX1JFQ0VJVkVfQ1RSTAorICAgIENsMVRzdEFmY0NvbmZpZ1JzcFQgICAgICAgICAgICAgICAgIEFmY0NvbmZpZ1JzcDsgICAgICAgICAgLy8gZm9yIENMMVRTVF9DTURfQUZDX0NPTkZJRworICAgIENsMVRzdFR4QWdjQ29uZmlnUnNwVCAgICAgICAgICAgICAgIFR4QWdjQ29uZmlnUnNwOyAgICAgICAgLy8gZm9yIENMMVRTVF9DTURfVFhfQUdDX0NPTkZJRworICAgIENsMVRzdFR4UG93ZXJRdWVyeVJzcFQgICAgICAgICAgICAgIFR4UG93ZXJRdWVyeVJzcDsgICAgICAgLy8gZm9yIENMMVRTVF9DTURfVFhfUE9XRVJfUVVFUlkKKyAgICBDbDFUc3RSeEFnY0NvbmZpZ1JzcFQgICAgICAgICAgICAgICBSeEFnY0NvbmZpZ1JzcDsgICAgICAgIC8vIGZvciBDTDFUU1RfQ01EX1JYX0FHQ19DT05GSUcKKyAgICBDbDFUc3RSeFJzc2lRdWVyeVJzcFQgICAgICAgICAgICAgICBSeFJzc2lRdWVyeVJzcDsgICAgICAgIC8vIGZvciBDTDFUU1RfQ01EX1JYX1JTU0lfUVVFUlkKKyAgICBDbDFUc3RBZmNDYWxEYXRhU2V0UnNwVCAgICAgICAgICAgICBBZmNDYWxEYXRhU2V0UnNwOyAgICAgIC8vIGZvciBDTDFUU1RfQ01EX0FGQ19DQUxfREFUQV9TRVQKKyAgICBDbDFUc3RBZmNDYWxEYXRhR2V0UnNwVCAgICAgICAgICAgICBBZmNDYWxEYXRhR2V0UnNwOyAgICAgIC8vIGZvciBDTDFUU1RfQ01EX0FGQ19DQUxfREFUQV9HRVQKKyAgICBDbDFUc3RSeENhbERhdGFTZXRSc3BUICAgICAgICAgICAgICBSeENhbERhdGFTZXRSc3A7ICAgICAgIC8vIGZvciBDTDFUU1RfQ01EX1JYX0NBTF9EQVRBX1NFVAorICAgIENsMVRzdFJ4Q2FsRGF0YUdldFJzcFQgICAgICAgICAgICAgIFJ4Q2FsRGF0YUdldFJzcDsgICAgICAgLy8gZm9yIENMMVRTVF9DTURfUlhfQ0FMX0RBVEFfR0VUCisgICAgQ2wxVHN0VHhDYWxEYXRhU2V0UnNwVCAgICAgICAgICAgICAgVHhDYWxEYXRhU2V0UnNwOyAgICAgICAvLyBmb3IgQ0wxVFNUX0NNRF9UWF9DQUxfREFUQV9TRVQKKyAgICBDbDFUc3RUeENhbERhdGFHZXRSc3BUICAgICAgICAgICAgICBUeENhbERhdGFHZXRSc3A7ICAgICAgIC8vIGZvciBDTDFUU1RfQ01EX1RYX0NBTF9EQVRBX0dFVAorI2lmbmRlZiBfX01EOTNfXworICAgIENsMVRzdExuYUNhbFB3clBvaW50R2V0UnNwVCAgICAgICAgIExuYUNhbFB3clBvaW50R2V0UnNwOyAgLy8gZm9yICBDTDFUU1RfQ01EX1JYX0xOQV9QV1JfUkFOR0VfR0VUCisjZW5kaWYKKyNpZiAoIWRlZmluZWQoX19NRDkzX18pKSAmJiAoIWRlZmluZWQoX19NRDk1X18pKQorICAgIENsMVRzdFJ4R2FpbkdldFJzcFQgICAgICAgICAgICAgICAgIFJ4R2FpbkdldFJzcDsgICAgICAgICAgLy8gZm9yICBDTDFUU1RfQ01EX1JYX0dBSU5fR0VUCisgICAgQ2wxVHN0VHhHYWluR2V0UnNwVCAgICAgICAgICAgICAgICAgVHhHYWluR2V0UnNwOyAgICAgICAgICAvLyBmb3IgIENMMVRTVF9DTURfVFhfR0FJTl9HRVQKKyAgICBDbDFUc3RTZXRCcGlEYXRhUnNwVCAgICAgICAgICAgICAgICBTZXRCcGlEYXRhUnNwOyAgICAgICAgIC8vIGZvciBDTDFUU1RfQ01EX1NFVF9CUElfREFUQQorICAgIENsMVRzdEdldEJwaURhdGFSc3BUICAgICAgICAgICAgICAgIEdldEJwaURhdGFSc3A7ICAgICAgICAgLy8gZm9yIENMMVRTVF9DTURfR0VUX0JQSV9EQVRBCisgICAgQ2wxVHN0UnhBZ2NGaXhNYW51YWxDb25maWdSc3BUICAgICAgUnhBZ2NGaXhNYW51YWxDb25maWdSc3A7IC8vIGZvciBDTDFUU1RfQ01EX1JYX0FHQ19GSVhfTUFOVUFMX0NPTkZJRworICAgIENsMVRzdFJ4RGZlSXFEdW1wQ2ZnUnNwVCAgICAgICAgICAgIFJ4RGZlSXFEdW1wQ2ZnUnNwOyAgICAgLy8gZm9yIENMMVRTVF9DTURfUlhERkVfSVFfRFVNUF9DRkcKKyAgICBDbDFUc3RUeERmZUlxRHVtcENmZ1JzcFQgICAgICAgICAgICBUeERmZUlxRHVtcENmZ1JzcDsgICAgIC8vIGZvciBDTDFUU1RfQ01EX1RYREZFX0lRX0RVTVBfQ0ZHCisgICAgQ2wxVHN0VHhrRGZlSXFEdW1wQ2ZnUnNwVCAgICAgICAgICAgVHhrRGZlSXFEdW1wQ2ZnUnNwOyAgICAvLyBmb3IgQ0wxVFNUX0NNRF9UWGtERkVfSVFfRFVNUF9DRkcKKyAgICBDbDFUc3RSeFR4RGZlSXFEdW1wUXJ5UnNwVCAgICAgICAgICBSeFR4RGZlSXFEdW1wUXJ5UnNwOyAgIC8vIGZvciBDTDFUU1RfQ01EX1JYREZFX0lRX0RVTVBfUVVFUlkgLyBDTDFUU1RfQ01EX1RYREZFX0lRX0RVTVBfUVVFUlkgLyBDTDFUU1RfQ01EX1RYa0RGRV9JUV9EVU1QX1FVRVJZCisjZW5kaWYKKworICAgIENsMVRzdEZoY1N0YXJ0UnNwVCAgICAgICAgICAgICAgICAgIEZoY1N0YXJ0UnNwOyAgICAgICAgICAgLy8gZm9yIENMMVRTVF9DTURfRkhDX1NUQVJUCisgICAgQ2wxVHN0RmFjdG9yeU1vZGVSZXFSc3BUICAgICAgICAgICAgRmFjdG9yeU1vZGVSZXFSc3A7ICAgICAvLyBmb3IgQ0wxVFNUX0NNRF9GQUNUT1JZX01PREVfUkVRCisgICAgQ2wxVHN0Tm9ybWFsTW9kZVJlcVJzcFQgICAgICAgICAgICAgTm9ybWFsTW9kZVJlcVJzcDsgICAgICAvLyBmb3IgQ0wxVFNUX0NNRF9OT1JNQUxfTU9ERV9SRVEKKyAgICBDbDFUc3RTZXRNZWlkUnNwVCAgICAgICAgICAgICAgICAgICBTZXRNZWlkUnNwOyAgICAgICAgICAgIC8vIGZvciBDTDFUU1RfQ01EX1NFVF9NRUlECisgICAgQ2wxVHN0R2V0TWVpZFJzcFQgICAgICAgICAgICAgICAgICAgR2V0TWVpZFJzcDsgICAgICAgICAgICAvLyBmb3IgQ0wxVFNUX0NNRF9HRVRfTUVJRAorICAgIENsMVRzdFViaW5Jbml0UnNwVCAgICAgICAgICAgICAgICAgIFViaW5Jbml0UnNwOyAgICAgICAgICAgLy8gZm9yIENMMVRTVF9DTURfVUJJTl9JTklUCisgICAgQ2wxVHN0VWJpbkRlSW5pdFJzcFQgICAgICAgICAgICAgICAgVWJpbkRlSW5pdFJzcDsgICAgICAgICAvLyBmb3IgQ0wxVFNUX0NNRF9VQklOX0RFSU5JVAorCisgICAgQ2wxVHN0TnN0UG93ZXJVcFJzcFQgICAgICAgICAgICAgICAgTnN0UG93ZXJVcFJzcDsKKyAgICBDbDFUc3ROc3RUY2hGZXJDZmdSc3BUICAgICAgICAgICAgICBOc3RUY2hGZXJDZmdSc3A7CisgICAgQ2wxVHN0TnN0VHhQd3JNZWFzQ2ZnUnNwVCAgICAgICAgICAgTnN0VHhQd3JNZWFzQ2ZnUnNwOworCisgICAgQ2wxVHN0TnN0UnhQd3JNZWFzQ2ZnUnNwVCAgICAgICAgICAgTnN0UnhQd3JNZWFzQ2ZnUnNwOworICAgIENsMVRzdE5zdExpc3RTZXRDZmdSc3BUICAgICAgICAgICAgIE5zdExpc3RTZXRDZmdSc3A7CisgICAgQ2wxVHN0TnN0RW50ZXJUZXN0TW9kZVJzcFQgICAgICAgICAgTnN0RW50ZXJUZXN0TW9kZVJzcDsKKyAgICBDbDFUc3ROc3RFeGl0VGVzdE1vZGVSc3BUICAgICAgICAgICBOc3RFeGl0VGVzdE1vZGVSc3A7CisKKyAgICBDbDFUc3RSeEFudFRlc3RNb2RlU2V0UnNwVCAgICAgICAgICBSeEFudFRlc3RNb2RlU2V0UnNwOworfUNsMVRzdFJzcFBhcmFtOworCisvKiBGVCBwZWVyIGJ1ZmZlciByZXF1ZXN0IHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIENsMVRzdENtZFR5cGVFIFR5cGU7CisgICBDbDFUc3RDbWRQYXJhbSBQYXJhOworfUZUX0NSRl9QRUVSX0NNRDsKKworLyogRlQgcGVlciBidWZmZXIgY29uZmlybSBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICBDbDFUc3RDbWRUeXBlRSBUeXBlOworICAgQ2wxVHN0UnNwUGFyYW0gUGFyYTsKK31GVF9DUkZfUEVFUl9SU1A7CisKKy8qIHN0cnVjdCBkZWZpbml0aW9uIGZvciBGVCByZXF1ZXN0ICYgY29uZmlybSAqLwordHlwZWRlZiBGVF9IIEZUX0NSRl9MT0NBTF9QQVJBOworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBHbG9iYWwgVHlwZWRlZnMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworZXh0ZXJuIHZvaWQgQ0wxVFNUX0FMTE9DX01TR19DQyhpbG1fc3RydWN0KiBpbG1fcHRyLCBrYWxfdWludDMyIGxvY2FsX3BhcmFtX3NpemUsIGthbF91aW50MzIgcGVlcl9wZHVfc2l6ZSk7CitleHRlcm4gdm9pZCBDTDFUU1RfU0VORF9NU0dfVE9fRlQoaWxtX3N0cnVjdCAqaWxtX3B0cik7CitleHRlcm4gdm9pZCBDTDFUU1RfQmFja3VwRnRIZWFkZXIoa2FsX3VpbnQxNiB0YWtlbik7CitleHRlcm4gdm9pZCBDTDFUU1RfU2V0RnRIZWFkZXIoRlRfQ1JGX0xPQ0FMX1BBUkEgKnJzcF9sb2MpOworCitleHRlcm4gdm9pZCBDbDFUc3RSZmRUZXN0TW9kZVJlcVBybyhDbDFUc3RSZmRUZXN0TW9kZVJlcUNtZFQgKlB0cik7CisKK2V4dGVybiB2b2lkIENsMVRzdFR4UGF0aE9uVGltaW5nQ2FsYyhrYWxfdWludDggICAgIFJmTW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrYWxfdWludDE2ICAgIFJhRGx5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGthbF91aW50MzIgICAgKlR4U3RhcnRPZnN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGthbF91aW50MzIgICAgKlJ4U3RhcnRPZnN0KTsKKworZXh0ZXJuIHZvaWQgQ2wxVHN0VHhQYXRoT2ZmVGltaW5nQ2FsYyhrYWxfdWludDggICAgIFJmTW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2FsX3VpbnQzMiAgICAqVHhTdGFydE9mc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGthbF91aW50MzIgICAgKlJ4U3RhcnRPZnN0KTsKKworZXh0ZXJuIHZvaWQgQ2wxVHN0VHhQYXRoT24xeFNpZ1BybyhrYWxfdWludDggQWN0aW9uLCBDbDFUc3QxeFNpZ1BhcmFUICpQdHIsIGthbF9ib29sIEZsYWdMMWQpOworCitleHRlcm4ga2FsX3VpbnQ4IENsMVRzdERvQWN0aW9uUXVlcnkoa2FsX3VpbnQ4IEFjdGlvbik7CisKK2V4dGVybiB2b2lkIENsMVRzdFRyYW5zbWl0Q3RybFBhdGhQcm8oQ2wxVHN0VHJhbnNtaXRDdHJsQ21kVCAqUHRyKTsKK2V4dGVybiB2b2lkIENsMVRzdFRyYW5zbWl0Q3RybFNpZ1BybyhDbDFUc3RUcmFuc21pdEN0cmxDbWRUICpQdHIsIGthbF9ib29sIEwxZEZsYWcpOworZXh0ZXJuIHZvaWQgQ2wxVHN0UmVjZWl2ZUN0cmxQYXRoUHJvKENsMVRzdFJlY2VpdmVDdHJsQ21kVCAqUHRyKTsKK2V4dGVybiB2b2lkIENsMVRzdEFmY0NvbmZpZ1BybyhDbDFUc3RBZmNDb25maWdDbWRUICpQdHIpOworZXh0ZXJuIHZvaWQgQ2wxVHN0QWZjQ29uZmlnUHJvKENsMVRzdEFmY0NvbmZpZ0NtZFQgKlB0cik7CitleHRlcm4gdm9pZCBDbDFUc3RUeEFnY0NvbmZpZ1BybyhDbDFUc3RUeEFnY0NvbmZpZ0NtZFQgKlB0cik7CitleHRlcm4gdm9pZCBDbDFUc3RSeEFnY0NvbmZpZ1BybyhDbDFUc3RSeEFnY0NvbmZpZ0NtZFQgKlB0cik7CitleHRlcm4gdm9pZCBDbHRzdEFmY0NhbERhdGFTZXQoQ2wxVHN0QWZjQ2FsRGF0YVNldENtZFQgKlB0cik7CitleHRlcm4gdm9pZCBDbHRzdEFmY0NhbERhdGFHZXQoQ0wxRF9SRl9BRkNfREFUQV9UICpQdHIpOworZXh0ZXJuIHZvaWQgQ2x0c3RSeENhbERhdGFTZXQoQ2wxVHN0UnhDYWxEYXRhU2V0Q21kVCAqUHRyKTsKK2V4dGVybiB2b2lkIENsdHN0UnhDYWxEYXRhR2V0KENsMVRzdFJ4Q2FsRGF0YUdldENtZFQgKkdldFB0ciwgQ2wxVHN0UnhDYWxEYXRhVCAqRGF0UHRyKTsKK2V4dGVybiB2b2lkIENsdHN0VHhDYWxEYXRhU2V0KENsMVRzdFR4Q2FsRGF0YVNldENtZFQgKlB0cik7CitleHRlcm4gdm9pZCBDbHRzdFR4Q2FsRGF0YUdldChDbDFUc3RUeENhbERhdGFHZXRDbWRUICpHZXRQdHIsIENsMVRzdFR4Q2FsRGF0YVQgKkRhdFB0cik7CitleHRlcm4gdm9pZCBDbDF0c3RUeERmZUJiVG9uZUNmZyhrYWxfdWludDMyIENmZ0RhdGEpOworZXh0ZXJuIHZvaWQgQ2wxVHN0UnhSc3NpUXVlcnkoQ2wxVHN0UnhSc3NpUXVlcnlDbWRUICpQdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDTDFEX1JGX0FHQ19SU1NJX1FVRVJZX1QgKkFkc1B0cik7CitleHRlcm4gdm9pZCBDbDFUc3RSeFJzc2lRdWVyeVBkdUZpbGwoQ2wxVHN0UnhSc3NpUXVlcnlDbWRUICpQdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0wxRF9SRl9BR0NfUlNTSV9RVUVSWV9UICpBZHNQdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2wxVHN0UnhSc3NpUXVlcnlSc3BUICpSc3BQZHUpOworZXh0ZXJuIHZvaWQgQ2wxVHN0TWV0YUlmR2V0UmZQbGF0SW5mbyhDbDFUc3RHZXRSZlBsYXRJbmZvQ21kVCAqUHRyKTsKK2V4dGVybiB2b2lkIENsMVRzdE1ldGFJZlJmZFRlc3RNb2RlUmVxKENsMVRzdFJmZFRlc3RNb2RlUmVxQ21kVCAqUHRyKTsKK2V4dGVybiB2b2lkIENsMVRzdE1ldGFJZlJmZEluaXRSZXEoQ2wxVHN0UmZkSW5pdFJlcUNtZFQgKlB0cik7CitleHRlcm4gdm9pZCBDbDFUc3RNZXRhSWZTZXRNaXBpQ29kZVdvcmQoQ2wxVHN0U2V0TWlwaUNvZGVXb3JkQ21kVCAqUHRyKTsKK2V4dGVybiB2b2lkIENsMVRzdE1ldGFJZkdldE1pcGlDb2RlV29yZChDbDFUc3RHZXRNaXBpQ29kZVdvcmRDbWRUICpQdHIpOworZXh0ZXJuIHZvaWQgQ2wxVHN0TWV0YUlmU2V0U3BpRGF0YShDbDFUc3RTZXRTcGlEYXRhQ21kVCAqUHRyKTsKK2V4dGVybiB2b2lkIENsMVRzdE1ldGFJZkdldFNwaURhdGEoQ2wxVHN0R2V0U3BpRGF0YUNtZFQgKlB0cik7CitleHRlcm4gdm9pZCBDbDFUc3RNZXRhSWZUcmFuc21pdEN0cmwoQ2wxVHN0VHJhbnNtaXRDdHJsQ21kVCAqUHRyKTsKK2V4dGVybiB2b2lkIENsMVRzdE1ldGFJZlJlY2VpdmVDdHJsKENsMVRzdFJlY2VpdmVDdHJsQ21kVCAqUHRyKTsKK2V4dGVybiB2b2lkIENsMVRzdE1ldGFJZkFmY0NvbmZpZyhDbDFUc3RBZmNDb25maWdDbWRUICpQdHIpOworZXh0ZXJuIHZvaWQgQ2wxVHN0TWV0YUlmVHhBZ2NDb25maWcoQ2wxVHN0VHhBZ2NDb25maWdDbWRUICpQdHIpOworZXh0ZXJuIHZvaWQgQ2wxVHN0TWV0YUlmVHhQb3dlclF1ZXJ5KENsMVRzdFR4UG93ZXJRdWVyeUNtZFQgKlB0cik7CitleHRlcm4gdm9pZCBDbDFUc3RNZXRhSWZSeEFnY0NvbmZpZyhDbDFUc3RSeEFnY0NvbmZpZ0NtZFQgKlB0cik7CitleHRlcm4gdm9pZCBDbDFUc3RNZXRhSWZSeFJzc2lRdWVyeShDbDFUc3RSeFJzc2lRdWVyeUNtZFQgKlB0cik7CitleHRlcm4gdm9pZCBDbDFUc3RNZXRhSWZBZmNDYWxEYXRhU2V0KENsMVRzdEFmY0NhbERhdGFTZXRDbWRUICpQdHIpOworZXh0ZXJuIHZvaWQgQ2wxVHN0TWV0YUlmQWZjQ2FsRGF0YUdldChDbDFUc3RBZmNDYWxEYXRhR2V0Q21kVCAqUHRyKTsKK2V4dGVybiB2b2lkIENsMVRzdE1ldGFJZlJ4Q2FsRGF0YVNldChDbDFUc3RSeENhbERhdGFTZXRDbWRUICpQdHIpOworZXh0ZXJuIHZvaWQgQ2wxVHN0TWV0YUlmUnhDYWxEYXRhR2V0KENsMVRzdFJ4Q2FsRGF0YUdldENtZFQgKlB0cik7CitleHRlcm4gdm9pZCBDbDFUc3RNZXRhSWZUeENhbERhdGFTZXQoQ2wxVHN0VHhDYWxEYXRhU2V0Q21kVCAqUHRyKTsKK2V4dGVybiB2b2lkIENsMVRzdE1ldGFJZlR4Q2FsRGF0YUdldChDbDFUc3RUeENhbERhdGFHZXRDbWRUICpQdHIpOworI2lmbmRlZiBfX01EOTNfXworZXh0ZXJuIHZvaWQgQ2wxVHN0TWV0YUlmTG5hQ2FsUHdyUG9pbnRHZXQoQ2wxVHN0TG5hQ2FsUHdyUG9pbnRHZXRDbWRUICpQdHIpOworI2VuZGlmCisjaWYgKCFkZWZpbmVkKF9fTUQ5M19fKSkgJiYgKCFkZWZpbmVkKF9fTUQ5NV9fKSkKK2V4dGVybiB2b2lkIENsMVRzdE1ldGFJZlJ4R2FpbkdldChDbDFUc3RSeEdhaW5HZXRDbWRUICpQdHIpOworZXh0ZXJuIHZvaWQgQ2wxVHN0TWV0YUlmVHhHYWluR2V0KENsMVRzdFR4R2FpbkdldENtZFQgKlB0cik7CitleHRlcm4gdm9pZCBDbDFUc3RNZXRhSWZTZXRCcGlEYXRhKENsMVRzdFNldEJwaURhdGFDbWRUICpQdHIpOworZXh0ZXJuIHZvaWQgQ2wxVHN0TWV0YUlmR2V0QnBpRGF0YShDbDFUc3RHZXRCcGlEYXRhQ21kVCAqUHRyKTsKK2V4dGVybiB2b2lkIENsMVRzdFJ4QWdjRml4TWFudWFsQ29uZmlnUHJvKENsMVRzdFJ4QWdjRml4TWFudWFsQ29uZmlnQ21kVCAqUHRyKTsKK2V4dGVybiB2b2lkIENsMVRzdE1ldGFJZlJ4QWdjRml4TWFudWFsQ29uZmlnKENsMVRzdFJ4QWdjRml4TWFudWFsQ29uZmlnQ21kVCAqUHRyKTsKK2V4dGVybiB2b2lkIENsMVRzdE1ldGFJZlJ4RGZlSXFEdW1wQ2ZnKENsMVRzdFJ4RGZlSXFEdW1wQ2ZnQ21kVCAqUHRyKTsKK2V4dGVybiB2b2lkIENsMVRzdE1ldGFJZlR4RGZlSXFEdW1wQ2ZnKENsMVRzdFR4RGZlSXFEdW1wQ2ZnQ21kVCAqUHRyKTsKK2V4dGVybiB2b2lkIENsMVRzdE1ldGFJZlR4a0RmZUlxRHVtcENmZyhDbDFUc3RUeGtEZmVJcUR1bXBDZmdDbWRUICpQdHIpOworZXh0ZXJuIHZvaWQgQ2wxVHN0TWV0YUlmUnhUeERmZUlxRHVtcFFyeShDbDFUc3RSeFR4RGZlSXFEdW1wUXJ5Q21kVCAqUHRyKTsKKyNlbmRpZgorZXh0ZXJuIHZvaWQgQ2wxVHN0TWV0YUlmRmhjU3RhcnQoQ2wxVHN0RmhjU3RhcnRDbWRUICpQdHIpOworZXh0ZXJuIHZvaWQgQ2wxdHN0TWV0YUlmRmFjdG9yeU1vZGVSZXEoQ2wxVHN0RmFjdG9yeU1vZGVSZXFDbWRUICogUHRyKTsKK2V4dGVybiB2b2lkIENsMXRzdE1ldGFJZk5vcm1hbE1vZGVSZXEoQ2wxVHN0Tm9ybWFsTW9kZVJlcUNtZFQgKiBQdHIpOworZXh0ZXJuIHZvaWQgQ2wxVHN0TWV0YUlmU2V0TWVpZChDbDFUc3RTZXRNZWlkQ21kVCAqUHRyKTsKK2V4dGVybiB2b2lkIENsMVRzdE1ldGFJZkdldE1laWQoQ2wxVHN0R2V0TWVpZENtZFQgKlB0cik7CitleHRlcm4gdm9pZCBDbDFUc3RNZXRhSWZVYmluSW5pdChDbDFUc3RVYmluSW5pdENtZFQgKlB0cik7CitleHRlcm4gdm9pZCBDbDFUc3RNZXRhSWZVYmluRGVJbml0KENsMVRzdFViaW5EZUluaXRDbWRUICpQdHIpOworZXh0ZXJuIHZvaWQgQ2wxVHN0TWV0YUlmVGFyZ2V0QXNzZXJ0KCk7CitleHRlcm4ga2FsX3VpbnQzMiBDbHRzdE52T3BlckJtcEdldChrYWxfdWludDggVXBkYXRlTnZyYW0pOworZXh0ZXJuIGthbF9ib29sIENsMXRzdERvVHJpZ1R4U2xwUnNtRGx5UXVlcnkoKTsKK2V4dGVybiB2b2lkIENsMXRzdERvVHJpZ1R4U2xwUnNtRGx5Q2xlYXIoKTsKKworI2VuZGlmIC8qIF9DTDFUU1RfTUVUQV9JRl9IXyAqLworCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY2wxdHN0cGh5dXRtYWluLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY2wxdHN0cGh5dXRtYWluLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjBiNjc4NgotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jbDF0c3RwaHl1dG1haW4uaApAQCAtMCwwICsxLDE2MiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NMMVRTVFBIWVVUTUFJTl9IXworI2RlZmluZSBfQ0wxVFNUUEhZVVRNQUlOX0hfCisKKyNpZm5kZWYgTVRLX1BMVF9PTl9QQ19JVAordHlwZWRlZiBlbnVtCit7CisgICBDTDFfUEhZVVRfTU9EX0VWTDFfRkxCU1JQLCAgIAorICAgQ0wxX1BIWVVUX01PRF9FVkwxX1NDSCwKKyAgIENMMV9QSFlVVF9NT0RfRVZMMV9STEJTUlAsICAgCisgICBDTDFfUEhZVVRfTU9EXzFYTDFfRkxCU1JQLCAgIAorICAgQ0wxX1BIWVVUX01PRF8xWEwxX1NDSCwKKyAgIENMMV9QSFlVVF9NT0RfMVhMMV9STEJTUlAsICAgCisgICBDTDFfUEhZVVRfTU9EX0VWTDFfRlJPTlRFTkQsICAgCisgICBDTDFfUEhZVVRfTU9EXzFYTDFfRlJPTlRFTkQsIAorICAgQ0wxX1BIWVVUX01PRF9EVUFMX01PREUsIAorICAgQ0wxX1BIWVVUX01PRF9DT1NJTSwKKyAgIENMMV9QSFlVVF9NT0RfUlhUSU1FUiwKKyAgIENMMV9QSFlVVF9NT0RfU0xQQ1RSTCwKKyAgIENMMV9QSFlVVF9NT0RfTlVNICAgCit9IENsMVBoeVV0TW9kSWRUOworCit0eXBlZGVmIGVudW0KK3sKKyAgIENMMV9QSFlVVF9NT0RfQ0FTRV8wMSwKKyAgIENMMV9QSFlVVF9NT0RfQ0FTRV8wMiwKKyAgIENMMV9QSFlVVF9NT0RfQ0FTRV8wMywKKyAgIENMMV9QSFlVVF9NT0RfQ0FTRV8wNCwKKyAgIENMMV9QSFlVVF9NT0RfQ0FTRV8wNSwKKyAgIENMMV9QSFlVVF9NT0RfQ0FTRV8wNiwKKyAgIENMMV9QSFlVVF9NT0RfQ0FTRV8wNywKKyAgIENMMV9QSFlVVF9NT0RfQ0FTRV8wOCwKKyAgIENMMV9QSFlVVF9NT0RfQ0FTRV8wOSwKKyAgIENMMV9QSFlVVF9NT0RfQ0FTRV8xMCwKKyAgIENMMV9QSFlVVF9NT0RfQ0FTRV8xMSwKKyAgIENMMV9QSFlVVF9NT0RfQ0FTRV8xMiwKKyAgIENMMV9QSFlVVF9NT0RfQ0FTRV8xMywKKyAgIENMMV9QSFlVVF9NT0RfQ0FTRV8xNCwKKyAgIENMMV9QSFlVVF9NT0RfQ0FTRV8xNSwKKyAgIENMMV9QSFlVVF9NT0RfQ0FTRV8xNiwKKyAgIENMMV9QSFlVVF9NT0RfQ0FTRV8xNywKKyAgIENMMV9QSFlVVF9NT0RfQ0FTRV8xOCwKKyAgIENMMV9QSFlVVF9NT0RfQ0FTRV8xOSwKKyAgIENMMV9QSFlVVF9NT0RfQ0FTRV8yMCwKKyAgIENMMV9QSFlVVF9NT0RfQ0FTRV8yMSwKKyAgIENMMV9QSFlVVF9NT0RfQ0FTRV8yMiwKKyAgIENMMV9QSFlVVF9NT0RfQ0FTRV8yMywKKyAgIENMMV9QSFlVVF9NT0RfQ0FTRV8yNCwKKyAgIENMMV9QSFlVVF9NT0RfQ0FTRV8yNSwKKyAgIENMMV9QSFlVVF9NT0RfQ0FTRV8yNiwKKyAgIENMMV9QSFlVVF9NT0RfQ0FTRV8yNywKKyAgIENMMV9QSFlVVF9NT0RfQ0FTRV8yOCwKKyAgIENMMV9QSFlVVF9NT0RfQ0FTRV8yOSwKKyAgIENMMV9QSFlVVF9NT0RfQ0FTRV8zMCwKKyAgIENMMV9QSFlVVF9NT0RfQ0FTRV9OVU0gICAKK30gQ2wxUGh5VXRNb2RDYXNlSWRUOworCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX3VpbnQzMiBPcGVyYXRpb25UeXBlOyAvKiAwOiBvZmYgICAxOiBvbiAqLworICAga2FsX3VpbnQzMiBSZk1vZGU7IC8qIDA6IFJUVCAgMTogRVZETyAqLworICAga2FsX3VpbnQzMiBQYXRoQm1wOyAvKiBiaXQwOiBtYWluICAgYml0MTpkaXYgICBiaXQyOnNlYyAqLworICAga2FsX3VpbnQzMiBSeEFnY1N0YXRlOyAvKiAwOkZBU1QgIDE6U1RFQURZICAyOklDUyAgMzpGSEMgKi8KKyAgIGthbF91aW50MzIgUHdyTW9kZTsgLyogMDpIUE0gIDE6TFBNICovCisgICBrYWxfaW50MzIgIEluaXRSc3NpZEJtUTVbM107Cit9IENsMVBoeVV0UGFyYW1SeEFnY1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX3VpbnQzMiBPcGVyYXRpb25UeXBlOyAvKiAwOiBvZmYgICAxOiBvbiAqLworICAgIGthbF91aW50MzIgUmZNb2RlOyAvKiAwOiBSVFQgIDE6IEVWRE8gKi8KKyAgICBrYWxfdWludDMyIFBhdGhCbXA7IC8qIGJpdDA6IG1haW4gICBiaXQxOmRpdiAgIGJpdDI6c2VjICovCisgICAga2FsX3VpbnQzMiBSeEFnY1N0YXRlOyAvKiAwOkZBU1QgIDE6U1RFQURZICAyOklDUyAgMzpGSEMgKi8KKyAgICBrYWxfdWludDMyIFB3ck1vZGU7IC8qIDA6SFBNICAxOkxQTSAqLworICAgIGthbF9pbnQzMiAgSW5pdFJzc2lkQm1RNVszXTsKKyAgICBrYWxfaW50MzIgIEZvZUh6OworCit9IENsMVBoeVV0UGFyYW1BZmNOY29UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF91aW50MzIgT3BlcmF0aW9uVHlwZTsgLyogMDogb2ZmICAgMTogb24gKi8KKyAgICBrYWxfdWludDMyIFJmTW9kZTsgLyogMDogUlRUICAxOiBFVkRPICovCisgICAga2FsX3VpbnQzMiBQYXRoQm1wOyAvKiBiaXQwOiBtYWluICAgYml0MTpkaXYgICBiaXQyOnNlYyAqLworICAgIGthbF91aW50MzIgUnhBZ2NTdGF0ZTsgLyogMDpGQVNUICAxOlNURUFEWSAgMjpJQ1MgIDM6RkhDICovCisgICAga2FsX3VpbnQzMiBQd3JNb2RlOyAvKiAwOkhQTSAgMTpMUE0gKi8KKyAgICBrYWxfaW50MzIgIEluaXRSc3NpZEJtUTVbM107CisgICAga2FsX3VpbnQzMiBOYmlmQm1wOworICAgIGthbF9pbnQzMiAgRm9lSHpbM107CisKK30gQ2wxUGh5VXRQYXJhbUFmY05iaWZUOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF91aW50MzIgTW9kZUJtcDsgLyogQml0MDogMVg7IEJpdDE6IEVWRE8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIDE6IDFYIG9ubHk7IDI6IERPIG9ubHk7IDM6IDFYIGFuZCBETyAqLworICAgIGthbF91aW50MzIgQ2FzZUJtcFsyXTsgLyogWzBdOiAxWDsgWzFdOiBETyAqLworfSBDbDFQaHlVdFBhcmFtUnhUaW1lclQ7CisKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfdWludDMyIE1vZGVCbXA7IC8qIEJpdDA6IDFYOyBCaXQxOiBFVkRPCisgICAgICAgICAgICAgICAgICAgICAgICAgICAxOiAxWCBvbmx5OyAyOiBETyBvbmx5OyAzOiAxWCBhbmQgRE8gKi8KKyAgICBrYWxfdWludDMyIENhc2VCbXBbMl07IC8qIFswXTogMVg7IFsxXTogRE8gKi8KK30gQ2wxUGh5VXRQYXJhbVNscEN0cmxUOworCisKK3R5cGVkZWYgdW5pb24KK3sKKyAgICBrYWxfdWludDMyICAgICAgICAgICAgUmVzZXJ2ZWQ7IC8qIFJlc2VydmVkICovCisgICAgQ2wxUGh5VXRQYXJhbVJ4QWdjVCAgIFBhcmFtUnhBZ2M7CisgICAgQ2wxUGh5VXRQYXJhbUFmY05jb1QgIFBhcmFtQWZjTmNvOworICAgIENsMVBoeVV0UGFyYW1BZmNOYmlmVCBQYXJhbUFmY05iaWY7CisgICAgQ2wxUGh5VXRQYXJhbVJ4VGltZXJUIFBhcmFtUnhUaW1lcjsKKyAgICBDbDFQaHlVdFBhcmFtU2xwQ3RybFQgUGFyYW1TbHBDdHJsOworfSBDbDFQaHlVdFBhcmFtVTsKKwordHlwZWRlZiAgc3RydWN0Cit7CisgICBDbDFQaHlVdE1vZElkVCAgICAgIE1vZElkOworICAgQ2wxUGh5VXRNb2RDYXNlSWRUICBDYXNlSWQ7ICAgLyogQ2FzZSBJRCBpbiBtb2R1bGUgKi8KKyAgIENsMVBoeVV0UGFyYW1VICAgICAgUGFyYW07Cit9IENsMVBoeVV0VHJpZ0NtZFQ7CisjZW5kaWYKK2V4dGVybiB2b2lkIENsMVRzdFBoeVV0TXNnSGFuZGxlcih2b2lkICpwTXNnKTsKKworCisjZW5kaWYgLyogI2lmbmRlZiBfQ0wxVFNUUEhZVVRNQUlOX0hfICovCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY3BoMXhmbGJycC5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NwaDF4ZmxicnAuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYjYxZjBkCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NwaDF4ZmxicnAuaApAQCAtMCwwICsxLDQxMyBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NQSDFYRkxCUlBfSF8KKyNkZWZpbmUgX0NQSDFYRkxCUlBfSF8KKyAgIAorI2luY2x1ZGUgImNsMWNvbW1vbi5oIgorI2luY2x1ZGUgImthbF9nZW5lcmFsX3R5cGVzLmgiCisKKyNkZWZpbmUgWEwxX1NZTkNfQ09SUl9OVU0gMTcKKwordHlwZWRlZiBlbnVtCit7CisgICAgUlRUX0JSUF9TWU5DID0gMCwKKyAgICBSVFRfQlJQX1BDSCwKKyAgICBSVFRfQlJQX0ZDSCwKKyAgICBSVFRfQlJQX1JPTExfQkFDSworfSBDcGgxeEJycENoU2VsOworCisKK3R5cGVkZWYgc3RydWN0IAoreworLyoqKioqKkRCUlAgUlRUIFNZTkMvUENIL0ZDSCBGdWxsIHJhdGUgUEFSQU0xKioqKioqKi8KKyAga2FsX3VpbnQxNiAgIEludGx2U2l6ZTsKKyAga2FsX3VpbnQ4ICAgIEludGx2TTsKKyAga2FsX3VpbnQ4ICAgIEludGx2Sk0xOworICBrYWxfdWludDggICAgSW50bHZGYkVuOworfUZjaFNjaFBhcmFtMVQ7CisKK3R5cGVkZWYgc3RydWN0IAoreworLyoqKioqKkRCUlAgUlRUIFNZTkMvUENIL0ZDSCBGdWxsIHJhdGUgUEFSQU0yKioqKioqKi8gCisgIGthbF91aW50OCAgICBSZXBlYXRSYXRlOworICBrYWxfdWludDggICAgUHVuY0NmZzsKKyAga2FsX3VpbnQxNiAgUHVuY1BhdHRlcm47CisgIGthbF91aW50MTYgIEVuY29kZWRCaXRzOworfUZjaFNjaFBhcmFtMlQ7CisKK3R5cGVkZWYgc3RydWN0IAoreworLyoqKioqKkRCUlAgUlRUIFNZTkMvUENIL0ZDSCBGdWxsIHJhdGUgUEFSQU0zKioqKioqKi8gCisgIGthbF91aW50MTYgIENvZGVCbG9ja1NpemU7CisgIGthbF91aW50OCAgICBDcmNTaXplOworICBrYWxfdWludDggICAgQ29kZVJhdGU7CisgIGthbF91aW50OCAgICBTZXRQdDsKK31GY2hTY2hQYXJhbTNUOworCit0eXBlZGVmIHN0cnVjdCAKK3sKKyAvKioqKioqKioqKioqKioqKioqKioqKipGdWxsIHJhdGEqKioqKioqKioqKioqKioqKioqLworCisgIEZjaFNjaFBhcmFtMVQgICBGY2hDaGFuRnVsbFBhcmFtMTsKKyAgRmNoU2NoUGFyYW0yVCAgIEZjaENoYW5GdWxsUGFyYW0yOworICBGY2hTY2hQYXJhbTNUICAgRmNoQ2hhbkZ1bGxQYXJhbTM7CisKKyAgLyoqKioqKioqKioqKioqKioqKipIYWxmIHJhdGEqKioqKioqKioqKioqKioqKioqKiovCisgIEZjaFNjaFBhcmFtMlQgICBGY2hDaGFuSGFsZlBhcmFtMjsKKyAgRmNoU2NoUGFyYW0zVCAgIEZjaENoYW5IYWxmUGFyYW0zOworICAgCisgIC8qKioqKioqKioqKioqKioqKioqUXVhcnRlciByYXRhKioqKioqKioqKioqKioqKioqKioqLworICBGY2hTY2hQYXJhbTJUICAgRmNoQ2hhblF1YXJ0ZXJQYXJhbTI7CisgIEZjaFNjaFBhcmFtM1QgICBGY2hDaGFuUXVhcnRlclBhcmFtMzsKKyAgCisvKioqKioqKioqKioqKioqKioqKkVpZ2h0aCByYXRhKioqKioqKioqKioqKioqKioqKioqLworICBGY2hTY2hQYXJhbTJUICAgRmNoQ2hhbkVpZ2h0aFBhcmFtMjsKKyAgRmNoU2NoUGFyYW0zVCAgIEZjaENoYW5FaWdodGhQYXJhbTM7Cit9RmNoUGFyYW1zVDsKKworCit0eXBlZGVmIHN0cnVjdCAgCit7CisgIEZjaFNjaFBhcmFtMVQgICBGc2NoQ2hhblBhcmFtMTsKKyAgRmNoU2NoUGFyYW0yVCAgIEZzY2hDaGFuUGFyYW0yOworICBGY2hTY2hQYXJhbTNUICAgRnNjaENoYW5QYXJhbTM7Cit9IFNjaENoYW5QYXJhbVQ7CisKKwordHlwZWRlZiBzdHJ1Y3QgIAoreworICBGY2hTY2hQYXJhbTFUICAgUGNoQ2hhblBhcmFtMTsKKyAgRmNoU2NoUGFyYW0yVCAgIFBjaENoYW5QYXJhbTI7CisgIEZjaFNjaFBhcmFtM1QgICBQY2hDaGFuUGFyYW0zOworfSBQY2hDaGFuUGFyYW1UOworCit0eXBlZGVmIHN0cnVjdAoreworICBGY2hTY2hQYXJhbTFUICAgU3luY0NoYW5QYXJhbTE7CisgIEZjaFNjaFBhcmFtMlQgICBTeW5jQ2hhblBhcmFtMjsKKyAgRmNoU2NoUGFyYW0zVCAgIFN5bmNDaGFuUGFyYW0zOworfSBTeW5jQ2hhblBhcmFtVDsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisKKyAgICAgICAgIERNQSBWaXQgUGFyYW1ldGVycworCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordHlwZWRlZiBzdHJ1Y3QgCit7CisgICAga2FsX3VpbnQ4ICAgQml0T2Zmc2V0OworICAgIGthbF91aW50OCAgIFN3YXBFbmRpYW47CisgICAga2FsX3VpbnQ4ICAgQ3JjUmVtb3ZlOworICAgIGthbF91aW50OCAgIERtYURpc2FibGU7Cit9Q2hhbkRNQUNmZ1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX3VpbnQzMiAgRGJycFZpdEZjaERtYUZ1bGxCYXNlOworICAgIGthbF91aW50MzIgIERicnBWaXRGY2hEbWFIYWxmQmFzZTsKKyAgICBrYWxfdWludDMyICBEYnJwVml0RmNoRG1hUXVhdEJhc2U7CisgICAga2FsX3VpbnQzMiAgRGJycFZpdEZjaERtYUVpZ2hCYXNlOworICAgIGthbF91aW50MzIgIERicnBWaXRTY2hEbWFCYXNlOworICAgIENoYW5ETUFDZmdUICAgRmNoRnVsbERtYUNmZzsKKyAgICBDaGFuRE1BQ2ZnVCAgIFNjaERtYUNmZzsKK30gRG1hQ2ZnVDsKKwordHlwZWRlZiBzdHJ1Y3QgIAoreworICAgIGthbF91aW50OCAgQ25mZ1BpblNlbDsKKyAgICBrYWxfdWludDggIERhdGFQaW5nU2VsOworfURicnBEbWFDaDNSZXFUOworCit0eXBlZGVmIHN0cnVjdCAgCit7CisgICAga2FsX3VpbnQ4IE1vZGU7CisgICAga2FsX3VpbnQ4IENuZmc7CisgICAga2FsX3VpbnQ4IFByaW9yaXR5OworICAgIGthbF91aW50OCBBY2NJZHg7CisgICAga2FsX3VpbnQxNiBCdWZJZHg7ICAKK31EYnJwRG1hQ2gzQ3RybFQ7CisKK3R5cGVkZWYgc3RydWN0ICAKK3sKKyAgICBrYWxfdWludDE2ICBCYXNlQWRkcklkeDsKKyAgICBrYWxfdWludDE2ICBTdGFydFNhbXBsZUlkeDsgICAKK31EYnJwRG1hQ2gzQ3RybENuZmdUOworCit0eXBlZGVmIHN0cnVjdCAgCit7CisgICAga2FsX3VpbnQzMiBEYnJwRG1hQ2gzOworICAgIERicnBEbWFDaDNSZXFUICAgRGJycERtYUNoM1JlcTsKKyAgICBEYnJwRG1hQ2gzQ3RybFQgRGJycERtYUNoM0N0cmw7CisgICAgRGJycERtYUNoM0N0cmxDbmZnVCAgRGJycERtYUNoM0N0cmxDbmZnUGluZzsKKyAgICBEYnJwRG1hQ2gzQ3RybENuZmdUICBEYnJwRG1hQ2gzQ3RybENuZmdQb25nOworICAgIGthbF91aW50MzIgIERicnBEbWFDaDNDdHJsQ25mZzsKKyAgICBEYnJwRG1hQ2gzQ3RybENuZmdUICBEYnJwRG1hQ2gzQ3RybERhdGFQaW5nOworICAgIERicnBEbWFDaDNDdHJsQ25mZ1QgIERicnBEbWFDaDNDdHJsRGF0YVBvbmc7CisgICAga2FsX3VpbnQzMiBEYnJwRG1hQ2gzQ3RybERhdGE7ICAKK31EbWFDaGFubmVsM1Q7CisKKy8vdHVyYm8gcGFyYQordHlwZWRlZiBzdHJ1Y3QgCit7CisgICAga2FsX3VpbnQ4IE1heEl0ZXI7CisgICAga2FsX3VpbnQ4IE1pbkl0ZXI7Cit9RGJycFR1clJ0dENmZ1Q7Cit0eXBlZGVmIHN0cnVjdCAKK3sKKyAgICBrYWxfdWludDggIE1hY09mc3Q7CisgICAga2FsX3VpbnQ4ICBTd2FwRW5kaWFuOworICAgIGthbF91aW50OCAgQ3JjUmVtb3ZlOworfURicnBUdXJSdHREbWFDZmdUOworCit0eXBlZGVmIHN0cnVjdCAgCit7CisgICAgRGJycFR1clJ0dENmZ1QgIERicnBUdXJSdHRDZmc7CisgICAga2FsX3VpbnQzMiBEYnJwVHVyUnR0RHN0OworICAgIERicnBUdXJSdHREbWFDZmdUIERicnBUdXJSdHREbWFDZmc7CisgICAga2FsX3VpbnQzMiAgRGJycFR1clJ0dFRyYWNlQ2ZnOyAgIAorfVR1cmJvUGFyYW1lc1Q7CisKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKworICAgICAgICAgQ29udHJvbCBQYXJhbWV0ZXJzCisKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordHlwZWRlZiBzdHJ1Y3QgIAoreworICAgIGthbF91aW50OCAgIEZjaERybURvbmU7CisgICAga2FsX3VpbnQ4ICAgU2NoRHJtRG9uZTsKKyAgICBrYWxfdWludDggICBGY2hEZWNEb25lOworICAgIGthbF91aW50OCAgIFNjaERlY0RvbmU7CisgICAga2FsX3VpbnQ4ICAgQ29yckRvbmU7Cit9RGJycFJ0dERvbmVWZWNUOworCit0eXBlZGVmIHN0cnVjdCAgCit7CisgICBrYWxfdWludDggICBDZmdPazsKKyAgIGthbF91aW50OCAgIENmZ0Fzc2VydDsKK31EYnJwUnR0Q2ZnT2tUOworCit0eXBlZGVmIHN0cnVjdCAgCit7CisgICBrYWxfdWludDMyICAgRmNoRW47CisgICBrYWxfdWludDMyICBTY2hFbjsKKyAgIGthbF91aW50MzIgIFNjaEVuY29kaW5nOworfURicnBSdHRDaERldFQ7CisKK3R5cGVkZWYgc3RydWN0IAoreworICAga2FsX3VpbnQzMiAgIFNjYWxlTW9kZTsKKyAgIGthbF91aW50MzIgICBEZXJlYXBTY2FsTW9kZTsKK31EYnJwUnR0U2NhbGVDZmdUOworCit0eXBlZGVmIHN0cnVjdCAgCit7CisgICBrYWxfdWludDggICBDaFNlbDsKKyAgIGthbF91aW50OCAgIFN5bmNCdWZJZHg7CisgICBrYWxfdWludDggICBTeW5jRHJtRW47CisgICBrYWxfdWludDggICBTeW5jQ29yckVuOworICAga2FsX3VpbnQ4ICAgU3luY1ZpdEVuOworfURicnBSdHRGY2hDZmdUOworCit0eXBlZGVmIHN0cnVjdCAKK3sKKyAgIGthbF91aW50MTYgIEV0UGNnTWFwOworICAga2FsX2Jvb2wgICAgRXRFbjsKKyAgIGthbF91aW50MTYgIEV0UXVhclBjZyA7CisgICBrYWxfdWludDE2ICBFdEhhbGZQY2c7CisgICBrYWxfdWludDE2ICBFdEZ1bGxQY2c7Cit9RGJycFJ0dEZjaEV0UGFybWFUOworCisKK3R5cGVkZWYgc3RydWN0ICAKK3sKKyAgIGthbF91aW50MzIgIERicnBSdHRTdGFydDsKKyAgIGthbF91aW50MzIgIERicnBSdHREb25lOworICAgRGJycFJ0dERvbmVWZWNUICBEYnJwUnR0RG9uZVZlYzsKKyAgIERicnBSdHRDZmdPa1QgICAgICAgRGJycFJ0dENmZ09rOyAgCisgICBEYnJwUnR0Q2hEZXRUICAgICAgIERicnBSdHRDaERldDsKKyAgIERicnBSdHRTY2FsZUNmZ1QgICAgIERicnBSdHRTY2FsQ2ZnOworICAgRGJycFJ0dEZjaENmZ1QgICAgICBEYnJwUnR0RmNoQ2ZnOyAKKyAgIERicnBSdHRGY2hFdFBhcm1hVCAgIERicnBSdHRGY2hFdFBhcmFtOworfURicnBDb250cm9sUGFyYW1UOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKworICAgICAgICBWaXQgRGVjb2RlIFBhcmFtZXRlcnMKKworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3R5cGVkZWYgc3RydWN0ICAKK3sgICAKKyAgIGthbF9ib29sICBGdWxsOworICAga2FsX2Jvb2wgIEhhbGY7CisgICBrYWxfYm9vbCAgUXVhdDsKKyAgIGthbF9ib29sICBFaWdoOworfVZpdEZjaENyY1N0YXR1c1Q7ICAKKworCit0eXBlZGVmIHN0cnVjdCAgCit7ICAgCisgICBrYWxfdWludDMyICBGdWxsOworICAga2FsX3VpbnQzMiAgSGFsZjsKKyAgIGthbF91aW50MzIgIFF1YXQ7CisgICBrYWxfdWludDMyICBFaWdoOworfVZpdEZjaFNTdGF0dXNUOyAgLypFbmQgc3RhdGUgbWV0cmljKFMtVmFsdWUsUykgMjFiaXRzLFMqLworCit0eXBlZGVmIHN0cnVjdCAgCit7ICAgCisgICBrYWxfdWludDMyICBGdWxsOworICAga2FsX3VpbnQzMiAgSGFsZjsKKyAgIGthbF91aW50MzIgIFF1YXQ7CisgICBrYWxfdWludDMyICBFaWdoOworfVZpdEZjaFlTdGF0dXNUOyAgLyp5YW1hbW90byBtZXRyaWMoWSkgMTFiaXRzLCBZQU1BKi8KKwordHlwZWRlZiBzdHJ1Y3QgIAoreyAgIAorICAga2FsX3VpbnQzMiAgRnVsbDsKKyAgIGthbF91aW50MzIgIEhhbGY7CisgICBrYWxfdWludDMyICBRdWF0OworICAga2FsX3VpbnQzMiAgRWlnaDsKK31WaXRGY2hIU3RhdHVzVDsgIC8qSHlwb3RoZXNpcyBNZXRyaWMoSCkgMjFiaXRzLEUqLworCisKK3R5cGVkZWYgc3RydWN0ICAKK3sgICAKKyAgIGthbF91aW50MzIgIEZ1bGw7CisgICBrYWxfdWludDMyICBIYWxmOworICAga2FsX3VpbnQzMiAgUXVhdDsKKyAgIGthbF91aW50MzIgIEVpZ2g7Cit9Vml0RmNoU2VydGF0dXNUOyAgLypTRVIgMTFiaXRzLFNFUiovCisKK3R5cGVkZWYgc3RydWN0ICAKK3sgICAKKyAgIGthbF91aW50MzIgIEZ1bGw7CisgICBrYWxfdWludDMyICBIYWxmOworICAga2FsX3VpbnQzMiAgUXVhdDsKKyAgIGthbF91aW50MzIgIEVpZ2g7Cit9Vml0RmNoU29mdFNlcnRhdHVzVDsgIC8qU29mdCBTRVIgMTFiaXRzLCBQTSovCisKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBWaXRGY2hTU3RhdHVzVCAgICAgICAgIEZjaFM7CisgICAgVml0RmNoWVN0YXR1c1QgICAgICAgICBGY2hZOworICAgIFZpdEZjaEhTdGF0dXNUICAgICAgICAgRmNoSDsKKyAgICBWaXRGY2hTZXJ0YXR1c1QgICAgIEZjaFNlcjsKKyAgICBWaXRGY2hTb2Z0U2VydGF0dXNUIEZjaFNvZnRTZXI7CisgICAgVml0RmNoQ3JjU3RhdHVzVCAgICAgICBGY2hDcmM7CisgICAga2FsX3VpbnQzMiAgICAgICAgICAgICBTY2hDcmM7Cit9Vml0UmRhUGFyYW1UOworCisKK3R5cGVkZWYgc3RydWN0ICAKK3sKKyAgIGthbF91aW50MzIgICBEYnJwVml0UmVzZXQ7CisgICBrYWxfdWludDMyICAgRGJycFZpdEx2YTsKKyAgIGthbF91aW50MzIgICBEYnJwVml0UGNoQ29uZjsKKyAgIGthbF91aW50MzIgICBEYnJwVml0Rmlyc3RGcm07CisgICBrYWxfdWludDMyICAgRGJycFZpdFN5bmM7CisgICAKKyAgIGthbF91aW50MzIgIERicnBWaXRGY2hEbWFGdWxsQmFzZTsKKyAgIGthbF91aW50MzIgIERicnBWaXRGY2hEbWFIYWxmQmFzZTsKKyAgIGthbF91aW50MzIgIERicnBWaXRGY2hEbWFRdWF0QmFzZTsKKyAgIGthbF91aW50MzIgIERicnBWaXRGY2hEbWFFaWdoQmFzZTsKKyAgIGthbF91aW50MzIgIERicnBWaXRTY2hEbWFCYXNlOworICAgQ2hhbkRNQUNmZ1QgICBGY2hGdWxsRG1hQ2ZnOworICAgQ2hhbkRNQUNmZ1QgICBTY2hEbWFDZmc7CisgICAKKyAgIFZpdFJkYVBhcmFtVCAgRGJycFJkYVBhcm1lczsKKyAgIGthbF91aW50MzIgICBEYnJwVml0U3RhdHVzIDsgIAorICAga2FsX3VpbnQzMiAgIERicnBWaXREb25lOworICAga2FsX3VpbnQzMiAgRGJycFZpdEZjaEZ1bGxVc2FnZTsgICAgLy9kZWJ1ZyB1c2VkIAorfVZpdENoYW5QYXJhbVQ7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX3VpbnQ4IE1zZ0xlbmd0aDsKKyAgICBrYWxfdWludDggQ29yckV4dHJhRW5hYmxlOworfQorRGJycFJ0dENvcnJQYXR0ZXJuVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfdWludDggICBEYnJwUnR0Q29yckJ1ZklkeDsKKyAgICBrYWxfdWludDE2ICBEYnJwUnR0Q29yckVuZXJneTsKKyAgICBrYWxfaW50MTYgICBEYnJwUnR0Q29yclJzbHRbWEwxX1NZTkNfQ09SUl9OVU1dOworfUJicnBSdHRDb3JyVDsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisKKyAgICAgICAgRnVuY3Rpb24gZGVjbGFyYXRpb24KKworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitleHRlcm4gdm9pZCBDcGgxeEZsQnJwU3luY1BjaFBhcmFtQ29uZmlnKFBjaENoYW5QYXJhbVQgKmFkc19wdHIpOworZXh0ZXJuIHZvaWQgQ3BoMXhGbEJycEZjaFBhcmFtQ29uZmlnKEZjaFBhcmFtc1QgICphZHNfcHRyKTsKK2V4dGVybiB2b2lkIENwaDF4RmxCcnBGc2NoUGFyYW1Db25maWcoU2NoQ2hhblBhcmFtVCAgKmFkc19wdHIpOworZXh0ZXJuIHZvaWQgQ3BoMXhGbEJycENvcnJWaXRDb250cm9sQ29uZmlnKENwaDF4QnJwQ2hTZWwgQ2hTZWwsa2FsX3VpbnQ4IEJ1ZklkeCxrYWxfYm9vbCBWaXRFbiwga2FsX3VpbnQ4IFZpdFN0YXJ0QnVmSWR4LGthbF9ib29sIENvcnJFbik7CitleHRlcm4gdm9pZCBDcGgxeEZsQnJwVHVyQ29uZmlnKFR1cmJvUGFyYW1lc1QgKmFkc19wdHIpOworZXh0ZXJuIHZvaWQgQ3BoMXhGbEJycFZpdENvbmZpZyhWaXRDaGFuUGFyYW1UICphZHNfcHRyKTsKK2V4dGVybiB2b2lkIENwaDF4RmxCcnBJbnB1dERtYUNvbmZpZyhEbWFDaGFubmVsM1QgKmFkc19wdHIpOworZXh0ZXJuIHZvaWQgQ3BoMXhGbEJycFN5bmNTb21Sc2x0UmVhZChCYnJwUnR0Q29yclQgKmFkc19wdHIpOworZXh0ZXJuIHZvaWQgIENwaDF4RmxCcnBTeW5jQ29yckV4dHJhRW5hYmxlKGthbF91aW50MTYgRXh0cmFMZW4pOworZXh0ZXJuIHZvaWQgQ3BoMXhGbEJycEZjaFJkYVJlYWQoVml0UmRhUGFyYW1UICAqUmRhVml0UHRyKTsKK2V4dGVybiBrYWxfdWludDMyIENwaDF4RmxCcnBWaXREb25lKCk7CitleHRlcm4ga2FsX3VpbnQzMiBDcGgxeEZsQnJwQ29yckRvbmUoKTsKK2V4dGVybiBrYWxfdWludDMyIENwaDF4RmxCcnBUdXJEb25lKCk7CitleHRlcm4ga2FsX3VpbnQzMiBDcGgxeEZsQnJwRHJtRG9uZSgpOworZXh0ZXJuIHZvaWQgQ3BoMXhGbEJycERvbmVDbHIoKTsKK2V4dGVybiB2b2lkIENwaDF4RmxCcnBDZmdEb25lKCk7CitleHRlcm4gdm9pZCBDcGgxeEZsQnJwRmNoQ3JjU3RhdGVSZWFkKFZpdEZjaENyY1N0YXR1c1QgKmFkc19wdHIpOworZXh0ZXJuIGthbF91aW50MzIgQ3BoMXhGbEJycFNjaFZpdENyY1N0YXRlUmVhZCgpOworZXh0ZXJuIGthbF91aW50MzIgQ3BoMXhGbEJycFNjaFR1ckNyY1N0YXRlUmVhZCgpOworZXh0ZXJuIHZvaWQgQ3BoMXhGbEJycEVuQ29uZmlnKERicnBSdHRDaERldFQgKmFkc19wdHIpOworZXh0ZXJuIHZvaWQgQ3BoMXhGbEJycFNjYWxlQ29uZmlnKERicnBSdHRTY2FsZUNmZ1QgKmFkc19wdHIpOworZXh0ZXJuIHZvaWQgQ3BoMXhGbEJycEV0UGFyYUNvbmZpZyhEYnJwUnR0RmNoRXRQYXJtYVQgKmFkc19wdHIpOyAKK2V4dGVybiB2b2lkIENwaDF4RmxCcnBDaFNlbChEYnJwUnR0RmNoQ2ZnVCAqYWRzX3B0cik7CitleHRlcm4gdm9pZCBDcGgxeEZsQnJwRmNoQ3JjU3RhdGVSZWFkKFZpdEZjaENyY1N0YXR1c1QgKmFkc19wdHIpOworZXh0ZXJuIHZvaWQgQ3BoMXhGbEJycENvZGVCbGNva1NpemVDZmcoa2FsX3VpbnQzMiBDb2RlQmxvY2tTaXplKTsKK2V4dGVybiB2b2lkIENwaDF4RmxCcnBWaXRGaXJzdEZybUNmZyhrYWxfYm9vbCBGaXJzdEZybSk7CitleHRlcm4ga2FsX3VpbnQzMiBDcGgxeEZsQnJwRHVtcENoMEVuZXJhZ2UoKTsKK2V4dGVybiBrYWxfdWludDMyIENwaDF4RmxCcnBEdW1wQ2gxRW5lcmFnZSgpOworZXh0ZXJuIGthbF91aW50MzIgQ3BoMXhGbEJycER1bXBDaDFUdXJFbmVyYWdlKCk7CitleHRlcm4ga2FsX3VpbnQzMiBDcGgxeEZsQnJwRG9uZVJlYWQoKTsKK2V4dGVybiBrYWxfdWludDMyIENwaDF4RmxCcnBDZmdEb25lUmVhZCgpOworZXh0ZXJuIGthbF91aW50MzIgQ3BoMXhGbEJycFZpdFN0YXRlKCk7CisKKyNlbmRpZgorCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY3BoMXhmbGJzcnByZWdhY2Nlc3MuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jcGgxeGZsYnNycHJlZ2FjY2Vzcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1ODA0ZTIKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY3BoMXhmbGJzcnByZWdhY2Nlc3MuaApAQCAtMCwwICsxLDc2IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9DUEgxWEZMQlNSUFJFR0FDQ0VTU19IXworI2RlZmluZSBfQ1BIMVhGTEJTUlBSRUdBQ0NFU1NfSF8KKworCisjaWZuZGVmIE1US19DMktfQ09TSU0gIAorI3VuZGVmIEh3ZFdyaXRlMzIKKyN1bmRlZiBId2RSZWFkMzIKKyN1bmRlZiBId2RDbGVhckJpdDMyCisjdW5kZWYgSHdkU2V0Qml0MzIKKworI2lmZGVmIE1US19QTFRfT05fUEMKKyNkZWZpbmUgSHdkV3JpdGUzMihSZWcsIGRhdGEpICAgWGwxRmxCc3JwUmVnV3JpdGUoKEh3ZFJlZ1QpKFJlZyksIGRhdGEpICAgICAgICAKKyNkZWZpbmUgSHdkUmVhZDMyKFJlZykgICAgICAgICAgWGwxRmxCc3JwUmVnUmVhZCgoSHdkUmVnVCkoUmVnKSkKKyNkZWZpbmUgSHdkQ2xlYXJCaXQzMihSZWcsYml0X21hc2spICBYbDFGbEJzcnBSZWdDbGVhckJpdCgoSHdkUmVnVClSZWcsYml0X21hc2spCisjZGVmaW5lIEh3ZFNldEJpdDMyKFJlZyxiaXRfbWFzaykgICAgWGwxRmxCc3JwUmVnU2V0Qml0KChId2RSZWdUKVJlZyxiaXRfbWFzaykKKyNlbHNlCisjZGVmaW5lIEh3ZFdyaXRlMzIoUmVnLCBkYXRhKSAgIFhsMUZsQnNycFJlZ1dyaXRlKCh2b2xhdGlsZSB1bnNpZ25lZCBsb25nKikoUmVnKSwgZGF0YSkgICAgICAgIAorI2RlZmluZSBId2RSZWFkMzIoUmVnKSAgICAgICAgICBYbDFGbEJzcnBSZWdSZWFkKCh2b2xhdGlsZSB1bnNpZ25lZCBsb25nKikoUmVnKSkKKyNkZWZpbmUgSHdkQ2xlYXJCaXQzMihSZWcsYml0X21hc2spICBYbDFGbEJzcnBSZWdDbGVhckJpdCgodm9sYXRpbGUgdW5zaWduZWQgbG9uZyopUmVnLGJpdF9tYXNrKQorI2RlZmluZSBId2RTZXRCaXQzMihSZWcsYml0X21hc2spICAgIFhsMUZsQnNycFJlZ1NldEJpdCgodm9sYXRpbGUgdW5zaWduZWQgbG9uZyopUmVnLGJpdF9tYXNrKQorI2VuZGlmCisKKyNlbmRpZiAvKiAjaWZuZGVmIE1US19DMktfQ09TSU0gKi8KKworCisjaWZkZWYgTVRLX1BMVF9PTl9QQworZXh0ZXJuIHZvaWQgWGwxRmxCc3JwUmVnV3JpdGUoSHdkUmVnVCByZWcsIGthbF91aW50MzIgZGF0YSk7CitleHRlcm4ga2FsX2ludDMyIFhsMUZsQnNycFJlZ1JlYWQoSHdkUmVnVCByZWcpOworZXh0ZXJuIHZvaWQgWGwxRmxCc3JwUmVnQ2xlYXJCaXQoSHdkUmVnVCByZWcsa2FsX2ludDMyIGJpdF9tYXNrKTsKK2V4dGVybiB2b2lkIFhsMUZsQnNycFJlZ1NldEJpdChId2RSZWdUIHJlZyxrYWxfaW50MzIgYml0X21hc2spOworI2Vsc2UKK2V4dGVybiB2b2lkIFhsMUZsQnNycFJlZ1dyaXRlKHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqIHJlZywga2FsX3VpbnQzMiBkYXRhKTsKK2V4dGVybiBrYWxfaW50MzIgWGwxRmxCc3JwUmVnUmVhZCh2b2xhdGlsZSB1bnNpZ25lZCBsb25nKiByZWcpOworZXh0ZXJuIHZvaWQgWGwxRmxCc3JwUmVnQ2xlYXJCaXQodm9sYXRpbGUgdW5zaWduZWQgbG9uZyogcmVnLGthbF9pbnQzMiBiaXRfbWFzayk7CitleHRlcm4gdm9pZCBYbDFGbEJzcnBSZWdTZXRCaXQodm9sYXRpbGUgdW5zaWduZWQgbG9uZyogcmVnLGthbF9pbnQzMiBiaXRfbWFzayk7CisjZW5kaWYKKworI2VuZGlmICAvKiAjaWZuZGVmIF9DUEgxWEZMU1JQUkVHQUNDRVNTX0hfICovCisKKworCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY3BoMXhmbHJha2UuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jcGgxeGZscmFrZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmMzdhMzUKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY3BoMXhmbHJha2UuaApAQCAtMCwwICsxLDQ2MyBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NQSDFYRkxSQUtFX0hfCisjZGVmaW5lIF9DUEgxWEZMUkFLRV9IXworCisjaW5jbHVkZSAiY2wxY29tbW9uLmgiCisjaW5jbHVkZSAia2FsX2dlbmVyYWxfdHlwZXMuaCIKKworI2RlZmluZSBEMkJJRl9XT1JLX0FST1VORF9NT1JFX0FOVCAxCisKKy8vI2RlZmluZSBEMkJJRl9XT1JLX0FST1VORF9UMl9ESVNEMkJJRiAxCisKKworI2RlZmluZSBTRUNUT1JfTlVNXzFYIDYKKyNkZWZpbmUgRklOR0VSX05VTV8xWCA4CisKKyNkZWZpbmUgU1BFRURfVVBQRVJST1VORCAweGZmCisKKyNkZWZpbmUgIERFRkFVTFRfVDFfUENHICAgICgwKSAKKyNkZWZpbmUgIERFRkFVTFRfVDZfUENHICAgICgwKSAgCisjZGVmaW5lICBERUZBVUxUX1Q3X1BDRyAgICAoMTUpICAKKyNpZiBkZWZpbmVkKF9fTUQ5M19fKXx8ZGVmaW5lZChfX01EOTVfXykKKyNkZWZpbmUgIEJJR1JBTV9CQVNFX0FERFJfTDEgICAgIDB4YTkwMDAwMDAKKyNlbmRpZgorCisjaWZkZWYgX19NRDk3X18KKyNkZWZpbmUgIEJJR1JBTV9CQVNFX0FERFJfTDEgICAgIDB4YWIwMDAwMDAKKyNlbmRpZgorLypSYWtlIEJvb3R1cCovCit0eXBlZGVmIGVudW0KK3sKKyAgICBCT09UX1VQX1dDRE1BX01PREUgPSAwLAorICAgIEJPT1RfVVBfQzJLX01PREUKK30gQ3BoQm9vdFVwTW9kZTsKKworCisvKlJha2UgR2VuZXJhdGUqLwordHlwZWRlZiBlbnVtCit7CisgICAgQjJSX01PREVfV0NETUEsCisgICAgQjJSX01PREVfQzFYLAorICAgIEIyUl9NT0RFX0NETywKKyAgICBCMlJfTU9ERV9TSERSCit9IENwaDF4QjJSaWZNb2RlOworCit0eXBlZGVmIGVudW0KK3sKKyAgICBEMkJfTU9ERV9XQ0RNQSwKKyAgICBEMkJfTU9ERV9DMVgsCisgICAgRDJCX01PREVfQ0RPLAorICAgIEQyQl9NT0RFX1FMSUMKK30gQ3BoMXhEMkJpZk1vZGU7CisKKworLypSYWtlIEdlbmVyYXRlKi8KK3R5cGVkZWYgZW51bQoreworICAgIENQSF9OVUxMX1NUQVRFID0gMCwKKyAgICBDUEhfU1lOQ19TVEFURSA9IDEsCisgICAgQ1BIX0lETEVfU1RBVEUgPSAyLAorICAgIENQSF9DT05ORUNURURfU1RBVEUgPSA0Cit9IENwaDF4TDFkU3RhdGU7CisKK3R5cGVkZWYgZW51bQoreworICAgIERJU0FCTEVfTU9ERSwKKyAgICBSVFRfTU9ERSwKKyAgICBFVkRPX01PREUsCisgICAgU0hEUl9TVEFURQorfSBDcGhMMWRNb2RlOworCit0eXBlZGVmIGVudW0KK3sKKyAgICBBTlRfTUFJTl9PTkxZLAorICAgIEFOVF9ESVZfT05MWSwKKyAgICBBTlRfRElWRVJTSVRZLAorICAgIEFOVF9TSERSLAorICAgIEFOVF9ESVNBQkxFCit9IENwaEFudE1vZDsKKworCit0eXBlZGVmIGVudW0KK3sKKyAgICBDSF9OVUxMID0gMCwKKyAgICBDSF9QQ0ggPSAzLCAgICAKKyAgICBDSF9GQ0ggPSAzLAorICAgIENIX1NDSCA9IDQsCisgICAgQ0hfU1lOQyA9IDUKK30gQ3BoMXhDSFR5cGU7CisKK3R5cGVkZWYgZW51bQoreworICAgIFNGNCA9IDAsCisgICAgU0Y4LAorICAgIFNGMTYsIAorICAgIFNGMzIsCisgICAgU0Y2NCwKKyAgICBTRjEyOCwKKyAgICBTRjI1NgorfSBDcGgxeFNGVHlwZTsKKworCit0eXBlZGVmIGVudW0KK3sKKyAgICBGTkdfUkVMRUFTRUQgPSAwLAorICAgIEZOR19BQ1RJVkFURUQsCisgICAgRk5HX09CU0VSVkVECit9IENwaDF4Rm5nU3RhdHVzOworCit0eXBlZGVmIHN0cnVjdAoreworICBrYWxfYm9vbCAgIFFsaWNFbjsKKyAga2FsX3VpbnQzMiBUN1RpbWluZzsKK31DcGgxeEZsUmFrZVFsaWNDZmdUOworCisKK3R5cGVkZWYgc3RydWN0ICAKK3sKKyAgLypGb3Igbm9ybWFsIGluaXQqLworICBrYWxfdWludDMyIFQzVGltZTsgLypVaW50IGlzIDEvOCBjaGlwKi8gCisgIGthbF91aW50MzIgVDJUaW1lOyAvKlVpbnQgaXMgMS84IGNoaXAqLyAKKyAga2FsX3VpbnQxNiBUM0Rpc3Q7IC8qVWludCBpcyAxLzggY2hpcCwgbGFzdCA3IGJpdCBub3QgdmFsaWQqLyAKKyAgLypmcm9tIFJmYyBzdGF0ZSovCisgIENwaEFudE1vZCAgQW50TW9kZTsKKyAgLypGb3Igc2hkciBpbml0Ki8KKyAga2FsX3VpbnQxNiBQYWdpbmdPZmZzZXQ7CisgIGthbF91aW50MzIgR3NyU2xvdEluZHg7CisgIGthbF91aW50MzIgVDNHc3JBZGRyOworCisgIC8qRm9yIGFsbCBpbml0Ki8KKyAga2FsX3VpbnQ4ICBUN1Nsb3RJZHg7CisgIC8qdWludCBpcyAxMDBrSHoqLworICBrYWxfdWludDE2IERsQ2FycmllckZyZXE7IAorICBDcGgxeEwxZFN0YXRlIEwxZFN0YXRlMXg7CisgIGthbF9ib29sICAgUWxpY0VuOworICBrYWxfdWludDE2IFFsaWNEZWxheTsgLypFQ2hpcCovCisgIGthbF91aW50MzIgVDdUaW1pbmc7CisgIGthbF91aW50MzIgTGNNYXNrWzJdOworICBrYWxfdWludDMyIExjU3RhdGVbMl07CisgIC8qTGNTdGF0ZSB0aW1pbmcqLworICBrYWxfdWludDMyIExjRnJhbWU7CisgIGthbF91aW50OCAgTGNQY2c7CisgIGthbF91aW50OCAgUGljaDF4cnR0UnNoQml0OworICBrYWxfdWludDggIEZjaFJzaEJpdDsKKyAgLypQaWxvdCBvbiBldmRvIGNoaXAqLworICBrYWxfdWludDMyIFBpY2hPbkRvQ2hpcDsKK30gQ3BoMXhGbFJha2VJbml0VDsKKworCisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBrYWxfdWludDggIFQ2U2xvdElkeDsKKyAgIGthbF9ib29sICAgSXNTaGRyOworfSBDcGgxeEZsUmFrZURlYWN0aXZlVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfYm9vbCAgICAgQ2hDaGFuZ2U7IAorICAgIGthbF9ib29sICAgICBDaEVuOworICAgIENwaDF4Q0hUeXBlICBUeXBlOy8qQ0hfVFlQRTogMSBQQ0ggMiBTWU5DIDMgRkNIICovCisgICAga2FsX3VpbnQ4ICAgIEZvclJjOworICAgIGthbF91aW50OCAgICBSZXZSYzsKKyAgICBrYWxfdWludDMyICAgUnNoQml0OworICAgIGthbF91aW50MTYgICBQbk9mZnNldFtTRUNUT1JfTlVNXzFYXTsKKyAgICBrYWxfdWludDE2ICAgV2Fsc2hDb2RlW1NFQ1RPUl9OVU1fMVhdOworICAgIGthbF91aW50OCAgICBRb2ZDb2RlW1NFQ1RPUl9OVU1fMVhdOworICAgIGthbF91aW50OCAgICBQd3JTZWNTZXRJZFtTRUNUT1JfTlVNXzFYXTsKKyAgICBrYWxfdWludDggICAgU2Y7LyowIFNGNCAxIFNGOCAuLi4uNiBTRiAyNTYqLworICAgIGthbF91aW50MTYgICAgQ2ZnQ2hhbmdlQml0OworICAgIGthbF91aW50OCAgICBWYWxpZEJpdDsKKyAgICBrYWxfdWludDggICAgRnJhbWVPZmZzZXQ7CisgICAga2FsX3VpbnQ4ICAgIFBoY2gwUnNoQml0OworICAgIGthbF91aW50OCAgICBQaGNoMlJzaEJpdDsKK30gQ3BoMXhGbFJha2VDaDBUOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF9ib29sICAgICBDaENoYW5nZTsKKyAgICBrYWxfYm9vbCAgICAgQ2hFbjsKKyAgICBrYWxfdWludDggICAgRm9yUmM7CisgICAga2FsX3VpbnQxNiAgIFJzaEJpdDsKKyAgICBrYWxfdWludDE2ICAgV2Fsc2hDb2RlW1NFQ1RPUl9OVU1fMVhdOworICAgIGthbF91aW50OCAgICBRb2ZDb2RlW1NFQ1RPUl9OVU1fMVhdOworICAgIGthbF91aW50OCAgICBTZjsgLyowIFNGNCAxIFNGOCAuLi4uNiBTRiAyNTYqLworICAgIGthbF91aW50OCAgICBDZmdDaGFuZ2VCaXQ7CisgICAga2FsX3VpbnQ4ICAgIFZhbGlkQml0OworICAgIGthbF91aW50OCAgICBGcmFtZU9mZnNldDsKKyAgICBrYWxfdWludDggICAgUGhjaDFSc2hCaXQ7Cit9IENwaDF4RmxSYWtlQ2gxVDsKKworCit0eXBlZGVmIHN0cnVjdAoreyAgCisgIENwaDF4RmxSYWtlQ2gwVCBSYWtlQ2gwQ2ZnOworICBDcGgxeEZsUmFrZUNoMVQgUmFrZUNoMUNmZzsKK30gQ3BoMXhGbFJha2VDaENmZ1Q7CisKKworCit0eXBlZGVmIHN0cnVjdAoreyAgCisgICAgQ3BoQW50TW9kICBBbnRNb2RlOworICAgIGthbF91aW50MzIgICAgIFJlZlRpbWVFQ2hpcDsKKyAgICBrYWxfdWludDMyICAgICBSZWZHc3JIQ2hpcDsKKyAgICBrYWxfYm9vbCAgICAgICBSZWZHc3JTeW5jUmVhZFN0YXRlOworICAgIGthbF9ib29sICAgICAgIFJlZkdzclRpbWluZ1JlYWRTdGF0ZTsKK30gQ3BoMXhGbFJha2VHc3JUOyAgCisKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF9ib29sICBGbmdFbkZsYWc7CisgICBrYWxfdWludDggICBGbmdJZHg7CisKKyAgIGthbF91aW50OCBTZWNJZDsKKyAgIGthbF9ib29sICBGbmdSZWFzc2lnbkZsYWc7IAorICAgQ3BoMXhGbmdTdGF0dXMgRm5nU3RhdHVzOyAgICAKKyAgIGthbF91aW50MzIgRm5nQWRkcjsKKyAgIGthbF91aW50MzIgRm5nU3ltSWR4OyAKKyAgIGthbF91aW50MzIgRm5nSW5pdFBvd2VyOworCisgICBrYWxfaW50MTYgRm5nQWNjdURyaWZ0OworIH0gQ3BoMXhGbFJha2VGaW5nZXJDZmdUOworIAordHlwZWRlZiBzdHJ1Y3QKK3sgICAgCisgICAga2FsX3VpbnQxNiAgUHdyVHNoZEEyT0g7CisgICAga2FsX3VpbnQxNiAgUHdyVHNoZE8yQUg7Cit9IENwaDF4RmxSYWtlVHJhY2tlclRzaGRDZmdUOyAKKworCit0eXBlZGVmIHN0cnVjdAoreyAgCisgICAga2FsX3VpbnQ4ICAgRm5nSWR4OworICAgIGthbF91aW50OCAgIEZuZ0FjY3VEcmlmdDsgCit9IENwaDF4RmxSYWtlVHJhY2tlckRyaWZ0Q2ZnVDsgICAgICAKKwordHlwZWRlZiBzdHJ1Y3QKK3sgICAKKyAgICBrYWxfYm9vbCBSc3NpU3RhYmxlRmxhZzsKKyAgICBrYWxfdWludDE2IFByZXZpb3VzU3BlZWRSZXN1bHQ7Cit9IENwaDF4RmxSYWtlU3Blc3RUOworCisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX3VpbnQ4ICBGbmdJZHg7CisgICAga2FsX2ludDggICBGbmdBY2N1RHJpZnQ7CisgICAga2FsX3VpbnQzMiBGbmdNaWNQb3dlcjsKKyAgICBrYWxfdWludDggIEZuZ1N0YXR1czsgCit9IENwaDF4RmxSYWtlVHJhY2tlclJlYWRUOworCisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBrYWxfdWludDggY3VyclNwZWVkOyAKKyAgIAorfSBDcGgxeEZsUmFrZUN1cnJTcGVlZFQ7IAorCisKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF9ib29sIFJ4REZsYWc7Cit9IENwaDF4RmxSYWtlUnhkVDsKKworCisKK3R5cGVkZWYgc3RydWN0Cit7CisgIGthbF9ib29sIE9jRW47CisgIGthbF9ib29sIE9jU2VsRW47CisgIGthbF91aW50MTYgT2NTZWxTbG90SWR4OworICBrYWxfdWludDE2IE9jU2VsU3ltSWR4OworICBrYWxfdWludDE2IE9jU2VsTGVuZ3RoOworfUNwaDF4RmxSYWtlT2NDZmdUOworCisKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAga2FsX3VpbnQ4ICBGbmdJZHg7CisgIGthbF9ib29sICAgRW5hYmxlOworICBrYWxfaW50MzIgICBGbmdQb3NbOF07ICAvLyBmaW5nZXIgbnVtYmVyCit9Q3BoMXhGbFJha2VRbGljRmluZ2VyQ2ZnVDsKKworCit0eXBlZGVmIHN0cnVjdAoreworICBrYWxfYm9vbCBFbmFibGU7CisgIGthbF91aW50MzIgQ2hFblN0YXRlOworICBrYWxfdWludDMyIEFjdGlvblRpbWVDaGlwOworICBrYWxfdWludDE2IFZhbGlkQml0RmNoOworICBrYWxfdWludDE2IFZhbGlkQml0U2NoOworfUNwaDF4RmxSYWtlQ2ZzQ2ZnVDsKKworCit0eXBlZGVmIHN0cnVjdAoreworICBrYWxfYm9vbCBGcGNFbmFibGU7CisgIGthbF91aW50MTYgIEZwY01vZGU7CisgIGthbF91aW50MTYgIEZ3ZFJjOyAvKkZXRCBSQzpSYzEgMSxSQzIgMiwuLi5SQzExIDYsIFJDMTIgNyovCisgIGthbF91aW50MTYgIFJwY01vZGU7CisgIGthbF91aW50MTYgIFJldlJjOworICAKKyAga2FsX2ludDMyICAgIEZwY1N1YkNoYW5HYWluOworICBrYWxfYm9vbCAgICBGY2hTZXRQdEluY2w7CisgIGthbF9pbnQzMiAgICBGY2hDdXJyU2V0UHQ7CisgIGthbF9ib29sICAgIFNjaFNldFB0SW5jbDsKKyAga2FsX2ludDMyICAgIFNjaEN1cnJTZXRQdDsKKworfUNwaDF4RmxSYWtlUGNNb2RlQ2ZnVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfYm9vbCAgICBGY2hTZXRQdEluY2w7CisgICAga2FsX2ludDMyICAgIEZjaEN1cnJTZXRQdDsKKyAgICBrYWxfYm9vbCAgICBTY2hTZXRQdEluY2w7CisgICAga2FsX3VpbnQzMiAgU2NoQ3VyclNldFB0OworfUNwaDF4RmxSYWtlUGNTZXRQdENmZ1Q7CisKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAga2FsX2Jvb2wgICBGY2hGcGNWYWxpZDsKKyAga2FsX3VpbnQxNiBGY2hGcGNEZWNpc2lvbjsKKyAga2FsX2ludDMyIEZjaEViTnQ7ICAvKlBDRyBsZXZlbCovCisgIAorICBrYWxfYm9vbCAgIFNjaEZwY1ZhbGlkOworICBrYWxfdWludDE2IFNjaEZwY0RlY2lzaW9uOworICBrYWxfaW50MzIgU2NoRWJOdDsgIC8qUENHIGxldmVsKi8KK31DcGgxeEZsUmFrZUZwY0JpdFQ7CisKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAga2FsX2Jvb2wgICBScGNWYWxpZDsKKyAga2FsX3VpbnQxNiBScGNEZWNpc2lvbjsKKyAga2FsX3VpbnQxNiBJbmRleDsKK31DcGgxeEZsUmFrZVJwY0JpdFQ7CisKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAga2FsX2Jvb2wgQ2hDaGFuZ2U7CisgIGthbF91aW50MTYgIEZjaEFja01hc2s7CisgIGthbF91aW50MTYgIFJldkZjaEFja01hc2s7CisgIGthbF91aW50MzIgIFJ4U3JwQWNrVHNoOworfUNwaDF4RmxSYWtlQWNrQ2ZnVDsKKworCit0eXBlZGVmIHN0cnVjdAoreworICBrYWxfYm9vbCAgIEZvZVJlYWR5OworICBrYWxfaW50MzIgICBGaW5lRm9lOworICBrYWxfdWludDMyIFNxUHdyOworCit9Q3BoMXhGbFJha2VGb2VSZWFkVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAga2FsX3VpbnQzMiBJaXJQaWxvdFB3cjsKKyAga2FsX3VpbnQzMiBJaXJOb2lzZVB3cjsKKyAga2FsX3VpbnQzMiBJaXJQY2JQd3I7CisgIGthbF91aW50MzIgSWlyRnNjaFB3cjsKK31DcGgxeEZsUmFrZVNycEFscGhhVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAga2FsX3VpbnQzMiBGY2hEZWNvZGVPSzsKKyAga2FsX3VpbnQzMiBGY2hEZWNvZGVVcGRhdGU7CisgIGthbF91aW50MzIgRnNjaERlY29kZU9LOworICBrYWxfdWludDMyIEZzY2hEZWNvZGVVcGRhdGU7Cit9Q3BoMXhGbFJha2VTcnBFaWJUOworCitleHRlcm4gdm9pZCBDcGgxeEZsUmFrZUluaXQoQ3BoMXhGbFJha2VJbml0VCAqYWRzUHRyKTsKK2V4dGVybiB2b2lkIENwaDF4RmxSYWtlU2hkckluaXQoQ3BoMXhGbFJha2VJbml0VCAqYWRzUHRyKTsKK2V4dGVybiBrYWxfYm9vbCBDcGgxeEZsUmFrZVNsZWVwSW5kUmVhZCgpOworZXh0ZXJuIGthbF9ib29sIENwaDF4RmxSYWtlU3RhdHVzUmVhZCgpOworZXh0ZXJuIHZvaWQgQ3BoMXhGbFJha2VDaGFubmVsRGlzYWJsZSgpOworZXh0ZXJuIHZvaWQgQ3BoMXhSbFJha2VEZWFjdGl2ZShDcGgxeEZsUmFrZURlYWN0aXZlVCAqYWRzUHRyKTsKK2V4dGVybiB2b2lkIENwaDF4RmxSYWtlRGlzYWJsZUxvYWQoKTsKK2V4dGVybiB2b2lkIENwaDF4RmxSYWtlRGlzYWJsZUQyYmlmQjJyaWYoKTsKK2V4dGVybiB2b2lkIENwaDF4RmxSYWtlRGlzYWJsZUExQzEodm9pZCk7CitleHRlcm4gdm9pZCBDcGgxeEZsUmFrZUNoMENvbmZpZyhDcGgxeEZsUmFrZUNoMFQgKmFkc1B0cik7CitleHRlcm4gdm9pZCBDcGgxeEZsUmFrZUNoMUNvbmZpZyhDcGgxeEZsUmFrZUNoMVQgKmFkc1B0cik7CitleHRlcm4gdm9pZCAgQ3BoMXhGbFJha2VDaDJDb25maWcoQ3BoMXhGbFJha2VDaDBUICphZHNQdHIpOworZXh0ZXJuIHZvaWQgQ3BoMXhGbFJha2VHc3JSZWFkKENwaDF4RmxSYWtlR3NyVCAqYWRzUHRyKTsKK2V4dGVybiB2b2lkIENwaDF4RmxSYWtlVDZDb25maWcoa2FsX3VpbnQ4IFQ2U2xvdElkeCk7CitleHRlcm4gdm9pZCBDcGgxeEZsUmFrZVQ3Q29uZmlnKGthbF91aW50OCBUN1Nsb3RJZHgpOworZXh0ZXJuIHZvaWQgQ3BoMXhGbFJha2VGaW5nZXJDb25maWcoQ3BoMXhGbFJha2VGaW5nZXJDZmdUICphZHNQdHIpOworZXh0ZXJuIHZvaWQgQ3BoMXhGbFJha2VUcmFja2VyUmVhZChDcGgxeEZsUmFrZVRyYWNrZXJSZWFkVCAqYWRzUHRyKTsKK2V4dGVybiB2b2lkIENwaDF4RmxSYWtlVHJhY2tlckluZm8oKTsKK2V4dGVybiB2b2lkIENwaDF4RmxSYWtlVHJhY2tlclRzaENvbmZpZyhDcGgxeEZsUmFrZVRyYWNrZXJUc2hkQ2ZnVCAqYWRzUHRyKTsKK2V4dGVybiB2b2lkIENwaDF4RmxSYWtlVHJhY2tlckNvbmZpZyhDcGgxeEZsUmFrZVRyYWNrZXJEcmlmdENmZ1QgKmFkc1B0cik7CitleHRlcm4gdm9pZCBDcGgxeEZsUmFrZU9jQ29uZmlnKENwaDF4RmxSYWtlT2NDZmdUICphZHNQdHIpOworZXh0ZXJuIHZvaWQgQ3BoMXhGbFJha2VPQ1Jlc3VsdENvbmZpZyhrYWxfYm9vbCBPY1NlbEVuKTsKK2V4dGVybiB2b2lkIENwaDF4RmxSYWtlU3Blc3RDb25maWcoQ3BoMXhGbFJha2VTcGVzdFQgKmFkc1B0cik7CitleHRlcm4gdm9pZCBDcGgxeEZsUmFrZVNwZXN0Rm9yY2VDb25maWcoa2FsX3VpbnQzMiBTcGVlZEVzdEZpbmFsKTsKK2V4dGVybiB2b2lkIENwaDF4RmxSYWtlU3Blc3RSZWFkKENwaDF4RmxSYWtlQ3VyclNwZWVkVCAqYWRzUHRyKTsKK2V4dGVybiB2b2lkIENwaDF4RmxSYWtlUnhkQ29uZmlnKGthbF9ib29sIEVuYWJsZSk7CitleHRlcm4ga2FsX2Jvb2wgQ3BoMXhGbFJha2VSeGRDaGVjaygpOworZXh0ZXJuIHZvaWQgQ3BoMXhGbFJha2VRbGljQ29uZmlnKGthbF9ib29sIFFsaWNFbiwga2FsX3VpbnQzMiBUN1RpbWluZyk7CitleHRlcm4gdm9pZCBDcGgxeEZsUmFrZVFsaWNGaW5nZXJDb25maWcoQ3BoMXhGbFJha2VRbGljRmluZ2VyQ2ZnVCAqYWRzUHRyKTsKK2V4dGVybiB2b2lkIENwaDF4RmxSYWtlQ2ZzQ29uZmlnKENwaDF4RmxSYWtlQ2ZzQ2ZnVCAqYWRzUHRyKTsKK2V4dGVybiB2b2lkIENwaDF4RmxSYWtlRnBjTW9kZUNvbmZpZyhDcGgxeEZsUmFrZVBjTW9kZUNmZ1QgKmFkc1B0cik7CitleHRlcm4gdm9pZCBDcGgxeEZsUmFrZUZwY1NldFB0Q29uZmlnKENwaDF4RmxSYWtlUGNNb2RlQ2ZnVCAqYWRzUHRyKTsKK2V4dGVybiB2b2lkIENwaDF4RmxSYWtlRnBjQml0UmVhZChDcGgxeEZsUmFrZUZwY0JpdFQgKmFkc1B0cik7CitleHRlcm4ga2FsX2ludDMyIENwaDF4RmxSYWtlU3luY1BjaEViTnRSZWFkKCk7CitleHRlcm4gdm9pZCBDcGgxeEZsUmFrZVJwY0JpdFJlYWQoQ3BoMXhGbFJha2VScGNCaXRUICphZHNQdHIpOworZXh0ZXJuIHZvaWQgQ3BoMXhGbFJha2VBY2tDb25maWcoQ3BoMXhGbFJha2VBY2tDZmdUICphZHNQdHIpOworZXh0ZXJuIGthbF9ib29sIENwaDF4RmxSYWtlQWNrUmVhZCgpOworZXh0ZXJuIHZvaWQgQ3BoMXhGbFJha2VBY2tDbHIoKTsKK2V4dGVybiB2b2lkIENwaDF4RmxSYWtlTG9uZ0NvZGVNYXNrQ29uZmlnKGthbF91aW50MzIgKmFkc1B0cik7CitleHRlcm4gdm9pZCBDcGgxeEZsUmFrZUxvbmdDb2RlU3RhdGVDb25maWcoa2FsX3VpbnQzMiAqYWRzUHRyKTsKK2V4dGVybiB2b2lkIENwaDF4RmxSYWtlTG9uZ0NvZGVTdGF0ZVJlYWQoa2FsX3VpbnQzMiAqYWRzUHRyKTsKK2V4dGVybiB2b2lkIENwaDF4RmxSYWtlQWZjUnN0KCk7CitleHRlcm4gdm9pZCBDcGgxeEZsUmFrZUFmY1JlYWQoQ3BoMXhGbFJha2VGb2VSZWFkVCAqYWRzUHRyKTsKK2V4dGVybiBrYWxfdWludDMyIENwaDF4RmxSYWtlUGlsb3RFYk50UmVhZCgpOworZXh0ZXJuIHZvaWQgQ3BoMXhGbFJha2VTcnBBbHBoYUNmZyhDcGgxeEZsUmFrZVNycEFscGhhVCAqYWRzUHRyKTsKK2V4dGVybiB2b2lkIENwaDF4RmxSYWtlRWliQ2ZnKENwaDF4RmxSYWtlU3JwRWliVCAqYWRzUHRyKTsKK2V4dGVybiBrYWxfYm9vbCBDcGgxeEZsUmFrZUMxQTFFbkNoZWNrKCk7CitleHRlcm4ga2FsX2Jvb2wgQ3BoMXhGbFJha2VDMEEwRW5DaGVjayh2b2lkKTsKK2V4dGVybiB2b2lkIENwaDF4RmxSYWtlVHJrSW5pdENmZygpOworZXh0ZXJuIHZvaWQgQ3BoMXhGbFJha2VPY0luaXRDZmcoKTsKK2V4dGVybiB2b2lkIENwaDF4RmxSYWtlVHJrQ29uZlRoQ2ZnKGthbF91aW50MzIgUHdyVHNoZE8yQUgpOworZXh0ZXJuIHZvaWQgQ3BoMXhGbFJha2VCaWdyYW1EdW1wQWNjZXNzRW5hYmxlKCk7CitleHRlcm4ga2FsX3VpbnQzMiBDcGgxeEZsUmFrZUJpZ3JhbUlxQWRkcmVzcyhDcGhBbnRNb2QgIEFudE1vZGUpOworZXh0ZXJuIHZvaWQgQ3BoMXhGbFJha2VTaGRyR3NyUmVhZChDcGgxeEZsUmFrZUdzclQgKmFkc1B0cik7CisjZW5kaWYKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jcGgxeHJsYnJwLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY3BoMXhybGJycC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5MmY3MzcKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY3BoMXhybGJycC5oCkBAIC0wLDAgKzEsNjUgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEgxWFJMQlJQX0hfCisjZGVmaW5lIF9DUEgxWFJMQlJQX0hfCisKKyNpbmNsdWRlICJjbDFjb21tb24uaCIKKyNpbmNsdWRlICJrYWxfZ2VuZXJhbF90eXBlcy5oIgorCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF91aW50MTYgVHhIYU1vZGU7CisgICAga2FsX3VpbnQxNiBUeEludHJsdlBhcm07CisgICAga2FsX3VpbnQxNiBGcmVwTDsKKyAgICBrYWxfdWludDE2IEZyZXBMcDsgCisgICAga2FsX3VpbnQxNiBGcmVwTHBtbDsKKyAgICBrYWxfdWludDE2IEZyZXBNOyAKKyAgICBrYWxfdWludDE2IEZyZXBBY2MwOyAKKyAgICBrYWxfdWludDE2IENobmxUeXBlOyAKKyAgICBrYWxfdWludDE2IENyYzsgCisgICAga2FsX3VpbnQxNiBQdW5jOyAKKyAgICBrYWxfdWludDE2IFB1bmNQYXQwOyAKKyAgICBrYWxfdWludDE2IFB1bmNQYXQxOyAKKyAgICBrYWxfdWludDE2IElucHV0TGVuOworICAgIGthbF91aW50MTYgVHN0Q3RybDsgCisgICAga2FsX3VpbnQzMiBDaG5sQWRkcmVzczsgCisgICAga2FsX3VpbnQxNiBSVFRfU3RhcnQ7IAorfSBDcGgxeFJsQnJwQ2ZnVDsKKwordm9pZCBDcGgxeFJsQnJwSW5pdCgpOwordm9pZCBDcGgxeFJsQnJwQ2ZnKENwaDF4UmxCcnBDZmdUICpDcGhCcnBDZmdQdHIpOwora2FsX2Jvb2wgQ3BoMXhSbEJycFN0YXRHZXQoKTsKK3ZvaWQgQ3BoMXhSbEJycFJlZ0xvZygpOworI2VuZGlmCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY3BoMXhybGNycC5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NwaDF4cmxjcnAuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMjk3ZGIwCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NwaDF4cmxjcnAuaApAQCAtMCwwICsxLDcyIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfQ1BIMVhSTENSUF9IXworI2RlZmluZSBfQ1BIMVhSTENSUF9IXworCisjaW5jbHVkZSAiY2wxY29tbW9uLmgiCisjaW5jbHVkZSAia2FsX2dlbmVyYWxfdHlwZXMuaCIKKwordHlwZWRlZiBlbnVtCit7CisgICAgQ1BIX1JMX0NSUF9SQVRfVFlQRV9JTlYgICA9IDB4MCwKKyAgICBDUEhfUkxfQ1JQX1JBVF9UWVBFX1dDRE1BID0gMHgxLAorICAgIENQSF9STF9DUlBfUkFUX1RZUEVfVEQgICAgPSAweDIsCisgICAgQ1BIX1JMX0NSUF9SQVRfVFlQRV9OQSAgICA9IDB4NCwKKyAgICBDUEhfUkxfQ1JQX1JBVF9UWVBFX0VWRE8gID0gMHg4LAorICAgIENQSF9STF9DUlBfUkFUX1RZUEVfMXhSVFQgPSAweDEwLAorICAgIENQSF9STF9DUlBfUkFUX1RZUEVfTUFYCit9Q3BoUmxDcnBNb2RlVDsKKwordm9pZCBDcGhSbENycE1vZGVDZmcoQ3BoUmxDcnBNb2RlVCBNb2RlKTsKK3ZvaWQgQ3BoMXhSbENycEluaXQoKTsKK3ZvaWQgQ3BoMXhSbENycFN0YXJ0KCk7Cit2b2lkIENwaDF4UmxDcnBTdG9wKGthbF91aW50MTYgU3RvcEJ5UGNnKTsKK3ZvaWQgQ3BoMXhSbENycExjSW5pdENmZyhrYWxfdWludDE2ICpMY0luaXRQdHIpOwordm9pZCBDcGgxeFJsQ3JwU2NJbml0Q2ZnKGthbF91aW50MTYgU2NJbml0UGNnKTsKK3ZvaWQgQ3BoMXhSbENycExjTXNrQ2ZnKGthbF91aW50MTYgKkxjTXNrUHRyKTsKK2thbF91aW50MTYgQ3BoMXhSbENycExjU2NyYW1HZXQoKTsKK3ZvaWQgQ3BoMXhSbENycEFja0NmZyhrYWxfdWludDE2IEFja0JpdCk7Cit2b2lkIENwaDF4UmxDcnBGcGNDZmcoa2FsX3VpbnQxNiBGcGNFaWJCaXQpOwordm9pZCBDcGgxeFJsQ3JwQ2huQ3RybENmZyhrYWxfdWludDE2IFR4Q3RybCwga2FsX3VpbnQxNiBGY2hTdGF0dXMpOwordm9pZCBDcGgxeFJsQ3JwQ2huU2NhbGVDZmcoa2FsX3VpbnQxNiBQaWxvdFNjYWxlLCBrYWxfdWludDE2IEZjaFNjYWxlLCBrYWxfdWludDE2IFNjaFNjYWxlLCBrYWxfdWludDE2IEFja1NjYWxlKTsKK3ZvaWQgQ3BoMXhSbENycEtzU3RhcnRDZmcoKTsKK2thbF9ib29sIENwaDF4UmxDcnBLc1N0YXR1c0dldCgpOwora2FsX2ludDE2IENwaDF4UmxDcnBLc1ZhbHVlR2V0KCk7Cit2b2lkIENwaDF4UmxDcnBMYXRjaE1vZGVDZmcoa2FsX2Jvb2wgSHBjZ0xhdGNoRW4pOwordm9pZCBDcGgxeFJsQ3JwQ3JjQ2hlY2tDZmcoa2FsX3VpbnQzMiBDcmNMZW5ndGgpOwora2FsX3VpbnQzMiBDcGgxeFJsQ3JwQ3JjUmVhZCgpOwordm9pZCBDcGgxeFJsQ3JwSXM5NUNmZyhrYWxfYm9vbCBJczk1KTsKK3ZvaWQgQ3BoMXhSbENycFJlZ0xvZygpOworI2VuZGlmCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY3BoMXhybHRtci5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NwaDF4cmx0bXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OGM2OGIxCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NwaDF4cmx0bXIuaApAQCAtMCwwICsxLDk2IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfQ1BIMVhSTFRNUl9IXworI2RlZmluZSBfQ1BIMVhSTFRNUl9IXworCisjaW5jbHVkZSAiY2wxY29tbW9uLmgiCisjaW5jbHVkZSAia2FsX2dlbmVyYWxfdHlwZXMuaCIKKyAKKyNkZWZpbmUgVFhfVE1SX1dJRFRIICAoMHgxMDAwMDApICAvLzIwYml0cworCisjaWZkZWYgX19NRDkzX18KKyNkZWZpbmUgUlRUX1RYUlhERUxBWV9JTklUICAgICgyNzgpICAvL1NhbWUgYXNlIFJGQ19SVFRfVFJYUEFUSF9ERUxBWQorI2VsaWYgZGVmaW5lZCBfX01EOTVfXworI2RlZmluZSBSVFRfVFhSWERFTEFZX0lOSVQgICAgKDI3MykgIC8vU2FtZSBhc2UgUkZDX1JUVF9UUlhQQVRIX0RFTEFZICAgICAgICAgICAKKyNlbHNlCisvKipVc2VkIHRvIE90aGVyIFNldHRpbmcgLGZvciBleGFtcGxlIE1EOTcqLworI2lmIGRlZmluZWQoTVQ2Mjk3KQorI2RlZmluZSBSVFRfVFhSWERFTEFZX0lOSVQgICAgKDQxOSkgIC8vU2FtZSBhcyBSRkNfUlRUX1RSWFBBVEhfREVMQVkgICAgCisjZWxpZiBkZWZpbmVkKE1UNjg4NSl8fCBkZWZpbmVkKE1UNjg3MykKKyNkZWZpbmUgUlRUX1RYUlhERUxBWV9JTklUICAgICg0MDIpICAvL1NhbWUgYXMgUkZDX1JUVF9UUlhQQVRIX0RFTEFZIAorI2Vsc2UKKyNkZWZpbmUgUlRUX1RYUlhERUxBWV9JTklUICAgICg0MDIpICAvL1NhbWUgYXMgUkZDX1JUVF9UUlhQQVRIX0RFTEFZICAgCisjZW5kaWYKKworI2VuZGlmCisKKwordHlwZWRlZiBlbnVtCit7CisgICAgVFhfVE1SX0RMWV9UWVBFX0ZSQU1FX09GVCA9IDAsCisgICAgVFhfVE1SX0RMWV9UWVBFX1JUWCwKKyAgICBUWF9UTVJfRExZX1RZUEVfUkEsCisgICAgVFhfVE1SX0RMWV9UWVBFX01BWAorfUNwaDF4VHhUbXJEbHlUeXBlVDsKKwordHlwZWRlZiBlbnVtCit7CisgICAgVFhfVE1SX1dJTl9UWVBFX1RYREZFID0gMCwKKyAgICBUWF9UTVJfV0lOX1RZUEVfVFhERkVfRklGTywKKyAgICBUWF9UTVJfV0lOX1RZUEVfVFhEQUMsCisgICAgVFhfVE1SX1dJTl9UWVBFX01BWAorfUNwaDF4VHhUbXJXaW5UeXBlVDsKKwordHlwZWRlZiBlbnVtCit7CisgICAgVFhfVE1SX1NUQl9UWVBFX1RYQlJQID0gMCwKKyAgICBUWF9UTVJfU1RCX1RZUEVfVFhDUlAsCisgICAgVFhfVE1SX1NUQl9UWVBFX0tTLAorICAgIFRYX1RNUl9TVEJfVFlQRV9NQVgKK31DcGgxeFR4VG1yU3RiVHlwZVQ7CisKKwordm9pZCBDcGgxeFR4VG1ySW5pdCgpOwordm9pZCBDcGgxeFR4VG1yRGx5Q2ZnKENwaDF4VHhUbXJEbHlUeXBlVCBUeXBlLCBrYWxfdWludDMyIERlbGF5KTsKK3ZvaWQgQ3BoMXhUeFRtcldpbkNmZyhDcGgxeFR4VG1yV2luVHlwZVQgVHlwZSwga2FsX2Jvb2wgSXNPbiwga2FsX3VpbnQzMiBXaW5UaW1lKTsKK3ZvaWQgQ3BoMXhUeFRtclN0YkNmZyhDcGgxeFR4VG1yU3RiVHlwZVQgVHlwZSwga2FsX3VpbnQzMiBTdGJUaW1lKTsKK3ZvaWQgQ3BoMXhUeFRtcktzUGVyVHJpZyhrYWxfdWludDMyIFN0YlRpbWUpOwordm9pZCBDcGgxeFR4RnJtQmR5T2Z0Q2ZnKGthbF91aW50MzIgRnJtQmR5T2Zmc2V0KTsKK2thbF91aW50MzIgQ3BoMXhUeFRtckNudEdldCgpOwordm9pZCBDcGgxeFR4U3lzQ250SW1tZWRSZEVuKCk7CitrYWxfdWludDMyIENwaDF4VHhTeXNSYURseUdldCgpOwora2FsX3VpbnQzMiBDcGgxeFR4U3lzRnJtT2Z0R2V0KCk7Cit2b2lkIENwaDF4UmxUbXJSZWdMb2coKTsKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NwaDF4c2NoLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY3BoMXhzY2guaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MTFjYTg5Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NwaDF4c2NoLmgKQEAgLTAsMCArMSwxNTUgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorCisgIEZJTEUgTkFNRTogIENwaDF4c2NoLmgKKworICBERVNDUklQVElPTjoKKworICAgIFRoaXMgaW5jbHVkZSBmaWxlIHByb3ZpZGVzIHNlYXJjaGVyIGNvbnN0YW50cy4KKworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEgxWFNDSF9IXworI2RlZmluZSBfQ1BIMVhTQ0hfSF8KKworI2luY2x1ZGUgImthbF9nZW5lcmFsX3R5cGVzLmgiCisKKyNpZiAoZGVmaW5lZChNVEtfQzJLX0NPU0lNKSl8fChkZWZpbmVkKE1US19DMktfTDFfVFNUKSkKKyNkZWZpbmUgICAgIFNSMVhfTUFYX1BBR0VTICAgICAgICAgICAgICAxMgorI2Vsc2UKKyNkZWZpbmUgICAgIFNSMVhfTUFYX1BBR0VTICAgICAgICAgICAgICAxMQorI2VuZGlmCisvKiBkZWZhdWx0IHJlZ2lzdGVyIGFzc2lnbm1lbnQsIFRCRCAqLworI2RlZmluZSAgICAgREVGQVVMVF9DVExfUkVHICAgICAgICAgICAgIDAKKyNkZWZpbmUgICAgIERFRkFVTFRfQ09SUl9SRUcgICAgICAgICAgICAwCisjZGVmaW5lICAgICBERUZBVUxUX05DT0hfUkVHICAgICAgICAgICAgMAorI2RlZmluZSAgICAgREVGQVVMVF9BVVhQSUxPVF9SRUcgICAgICAgIDAKKyNkZWZpbmUgICAgIERFRkFVTFRfV0lOX1JFRyAgICAgICAgICAgICAwCisjZGVmaW5lICAgICBERUZBVUxUX0QxVEhfUkVHICAgICAgICAgICAgMAorI2RlZmluZSAgICAgREVGQVVMVF9URVNUX1JFRyAgICAgICAgICAgIDAKKyNkZWZpbmUgICAgIERFRkFVTFRfT0ZGU0VUX1JFRyAgICAgICAgICAwCisKKyNkZWZpbmUgICAgIERXRUxMX0xFTl9NQVNLICAgICAgICAgICAgICAweDNGCisjZGVmaW5lICAgICBEV0VMTDJfQ09SUl9TSElGVCAgICAgICAgICAgNgorI2RlZmluZSAgICAgRFdFTEwyX0NOVF9TSElGVCAgICAgICAgICAgIDYKKyNkZWZpbmUgICAgIFNSMVhfU0lOR0xFX0JVRl9TWiAgICAgICAgICAxMDI0ICAgICAgICAgIAorI2RlZmluZSAgICAgU1IxWF9ET1VCTEVfQlVGX1NaICAgICAgICAgIDIwNDgKKworLyogc2VhcmNoZXIgY29uc3RhbnQgKi8KKyNkZWZpbmUgICAgIEZVTExfUE5fQ0lSICAgICAgICAgICAgICAgICAzMjc2NyAgICAvKiAyXjE1IC0gMSAqLworI2RlZmluZSAgICAgRlVMTF9QTl9DSVJfMlggICAgICAgICAgICAgIDAgICAgICAgIC8qIDJeMTYgPSAweDEwMDAwID0gKHVuaXQgMTYpIDAgICovCisjZGVmaW5lICAgICBTUjFYX01BWF9ISVRTICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgICAgIERFRkFVTFRfV0lOX1NJWiAgICAgICAgICAgICAzMgorI2RlZmluZSAgICAgU1IxWF9TRUFSQ0hRX1NJWkUgICAgICAgICAgIDMyCisjZGVmaW5lICAgICBTUjFYX1BOX0JVRl9TSVogICAgICAgICAgICAgMzIKKyNkZWZpbmUgICAgIFNSMVhfUE5fQlVGX1NJWl9IQUxGICAgICAgICAoU1IxWF9QTl9CVUZfU0laID4+IDEpCisjZGVmaW5lICAgICBTUjFYX0NJQVFfV0lOX1NJWkUgICAgICAgICAgMQorI2RlZmluZSAgICAgU1IxWF9GRlRfU0laRSAgICAgICAgICAgICAgIDEyOAorI2RlZmluZSAgICAgU1IxWF9GRlRfQklOX1dUSF9IWiAgICAgICAgIDYwMAorCisvKiBBZmx0IENvbnN0YW50ICovCisjZGVmaW5lICAgICBTUjFYX0FGTFRfU1BZX1BXUl9CVUZfU1ogICAgNTUgICAgLy8gMSArIDMqMTAgKyAzKjgKKyNkZWZpbmUgICAgIFNSMVhfQUZMVF9EQkdfQlVGX1NaICAgICAgICAoU1lTX01BWF9BRkxUX0xJU1RfUElMT1RTKjkpICAgIAorI2RlZmluZSAgICAgU1IxWF9BRkxUXzFDSElQX1VOSVRfSU5fVEMxNiAxNgorI2RlZmluZSAgICAgU1IxWF9BRkxUXzFDSElQX01BU0tfSU5fVEMxNiAoMSAqIFNSMVhfQUZMVF8xQ0hJUF9VTklUX0lOX1RDMTYgLSAxKSAKKyNkZWZpbmUgICAgIFNSMVhfQUZMVF8yQ0hJUF9NQVNLX0lOX1RDMTYgKDIgKiBTUjFYX0FGTFRfMUNISVBfVU5JVF9JTl9UQzE2IC0gMSkgCisjZGVmaW5lICAgICBTUjFYX0FGTFRfM0NISVBfTUFTS19JTl9UQzE2ICgzICogU1IxWF9BRkxUXzFDSElQX1VOSVRfSU5fVEMxNiAtIDEpIAorCisvKiBEaWZmZXJlbnQgb3IgQ2FuZGlkYXRlIEZyZXF1ZW5jeSBTZWFyY2ggKi8KKyNkZWZpbmUgICAgIFNSMVhfQ0ZTX1NSQ0hfVkFMSURfTVNLICAgICAweEMwMDAKKyNkZWZpbmUgICAgIFNSMVhfQ0ZTX1JTTFRfREJHX1NaICAgICAgICAxNQorCisvKiogSW5wdXQgYnVmZmVyIHRlc3QgYWRkcmVzcywgaS5lLiBvZmZzZXQgcmVsYXRpdmUgdG8gaW5wdXQgYnVmZmVyIHN0YXJ0OiB2YWxpZCB2YWx1ZSBpcyAwfjIwNDcuICovCisjZGVmaW5lICAgICBJTkJVRl9UU1RfQUREUiAgICAgICAgICAgICAgMHgwMDAwCisKK3R5cGVkZWYgZW51bQoreworICAgIFNDSF9JTlBVVF9TRUxfQzBBMCwKKyAgICBTQ0hfSU5QVVRfU0VMX0MwQTEsCisgICAgU0NIX0lOUFVUX1NFTF9DMUEwLAorICAgIFNDSF9JTlBVVF9TRUxfQzFBMQorfVNjaElucHV0U2VsVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBTY2hJbnB1dFNlbFQgU2NoSW5wdXRTZWw7CisgICAga2FsX3VpbnQzMiBTY2hDdHJsUmVnVmFsOworICAgIGthbF91aW50MzIgU2NoQ29yclJlZ1ZhbDsKKyAgICBrYWxfdWludDMyIFNjaE5Db2hSZWdWYWw7CisgICAga2FsX3VpbnQzMiBTY2hBdXhQaWxvdFJlZ1ZhbDsKKyAgICBrYWxfdWludDMyIFNjaEQxVGhyZXNoUmVnVmFsOworICAgIGthbF91aW50MzIgU2NoQXV4T2ZmUmVnVmFsOworICAgIGthbF91aW50MzIgU2NoVGVzdFJlZ1ZhbDsKKyAgICBrYWxfdWludDMyIFNjaFRlc3QyUmVnVmFsOworICAgIGthbF91aW50MzIgU2NoQ3RybDJSZWdWYWw7CisgICAga2FsX3VpbnQzMiBTY2hTdGF0dXNSZWdWYWw7CisgICAga2FsX3VpbnQzMiBTY2hUaHJlc1JlZ1ZhbDsKKyAgICBrYWxfdWludDMyIFNjaEluQnVmVHN0Q3RybFJlZ1ZhbDsKKyAgICBrYWxfdWludDMyIFNjaEluQnVmVHN0RGF0YVJlZ1ZhbDsgICAgCit9Q3BoMXhTY2hId0NmZ1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX3VpbnQzMiBTY2hTdGFydFBuT2Zmc2V0OworICAgIGthbF91aW50MzIgU2NoV2luU2l6ZTsKK31DcGgxeFNjaFdpbkNmZ1Q7CisKK2V4dGVybiB2b2lkIENwaDF4U2NoSHdJbml0KGthbF9ib29sIEluaXRBbGwpOworZXh0ZXJuIHZvaWQgQ3BoMXhTY2hId1Jlc2V0KGthbF9ib29sIFJlc2V0QWxsKTsKK2V4dGVybiB2b2lkIENwaDF4U2NoSHdDZmcoQ3BoMXhTY2hId0NmZ1QgKkFkc1B0cik7CitleHRlcm4gdm9pZCBDcGgxeFNjaFdpbkNmZyhrYWxfdWludDMyIFBuTnVtLCBDcGgxeFNjaFdpbkNmZ1QgKkFkc1B0cik7CitleHRlcm4gdm9pZCBDcGgxeFNjaEZha2VDZmcoa2FsX2Jvb2wgU3RhcnQpOworZXh0ZXJuIHZvaWQgQ3BoMXhTY2hEbHlTdGFydEVuYWJsZShrYWxfYm9vbCBFbmFibGUpOworZXh0ZXJuIHZvaWQgQ3BoMXhTY2hEbHlTdGFydFRpbWVTZXQoa2FsX3VpbnQzMiBTeXNUaW1lKTsKK2V4dGVybiBrYWxfdWludDggQ3BoMXhTY2hPYmZTdGF0ZUdldCh2b2lkKTsgCitleHRlcm4ga2FsX3VpbnQ4IENwaDF4U2NoRG9uZVN0YXRlR2V0KHZvaWQpOworZXh0ZXJuIHZvaWQgQ3BoMXhTY2hEb25lU3RhdGVDbHIodm9pZCk7CitleHRlcm4gdm9pZCBDcGgxeFNjaE9iZlN0YXRlQ2xyKHZvaWQpOworZXh0ZXJuIGthbF91aW50OCBDcGgxeFNjaE1lbVNoYXJlQml0R2V0KHZvaWQpOworZXh0ZXJuIGthbF9ib29sIENwaDF4U2NoQ2xvY2tTdGF0ZUdldCh2b2lkKTsKK2V4dGVybiB2b2lkIENwaDF4U2NoUnNsdFJlYWQoa2FsX2Jvb2wgSW5pdGlhbEFjcSwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGthbF9ib29sIFVzZVNvcnRlciwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGthbF9ib29sIFRpbWVEb21haW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGthbF91aW50OCBTY2hNb2RlLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2FsX3VpbnQxNiAqQnVmMVB0ciwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGthbF91aW50MTYgKkJ1ZjJQdHIpOworZXh0ZXJuIHZvaWQgQ3BoMXhTY2hJUUR1bXBDZmcoa2FsX3VpbnQxNiBTdGFydE9mZnNldCk7CitleHRlcm4gdm9pZCBDcGgxeFNjaElRRHVtcChrYWxfdWludDE2ICpCdWZQdHIsIGthbF91aW50MTYgSVFMZW5ndGgpOworZXh0ZXJuIHZvaWQgQ3BoMXhTY2hJbnB1dEJ1ZkNscih2b2lkKTsKK2V4dGVybiB2b2lkIENwaDF4U2NoSW5wdXRCdWZEdW1wKHZvaWQpOworZXh0ZXJuIHZvaWQgQ3BoMXhTY2hId1N0YWxsUmVnRHVtcCh2b2lkKTsKK2V4dGVybiB2b2lkIENwaDF4U2NoUmVnVmFsRHVtcCh2b2lkKTsKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NwaDF4c2NocmVnYWNjZXNzLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY3BoMXhzY2hyZWdhY2Nlc3MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMDEzZjBhCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NwaDF4c2NocmVnYWNjZXNzLmgKQEAgLTAsMCArMSw2MSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NQSDFYU0NIUkVHQUNDRVNTX0hfCisjZGVmaW5lIF9DUEgxWFNDSFJFR0FDQ0VTU19IXworCisKKyNpZm5kZWYgTVRLX0MyS19DT1NJTSAgIAorI3VuZGVmIEh3ZFdyaXRlMzIKKyN1bmRlZiBId2RSZWFkMzIKKyNpZmRlZiBNVEtfUExUX09OX1BDCisjZGVmaW5lIEh3ZFdyaXRlMzIoUmVnLCBkYXRhKSAgIFhsMVNjaFJlZ1dyaXRlKChId2RSZWdUKShSZWcpLCBkYXRhKSAgICAgICAgCisjZGVmaW5lIEh3ZFJlYWQzMihSZWcpICAgICAgICAgIFhsMVNjaFJlZ1JlYWQoKEh3ZFJlZ1QpKFJlZykpCisjZWxzZQorI2RlZmluZSBId2RXcml0ZTMyKFJlZywgZGF0YSkgICBYbDFTY2hSZWdXcml0ZSgodm9sYXRpbGUgdW5zaWduZWQgbG9uZyopKFJlZyksIGRhdGEpICAgICAgICAKKyNkZWZpbmUgSHdkUmVhZDMyKFJlZykgICAgICAgICAgWGwxU2NoUmVnUmVhZCgodm9sYXRpbGUgdW5zaWduZWQgbG9uZyopKFJlZykpCisjZW5kaWYKKyNlbmRpZiAvKiAjaWZuZGVmIE1US19DMktfQ09TSU0gKi8KKworCisjaWZkZWYgTVRLX1BMVF9PTl9QQworZXh0ZXJuIHZvaWQgWGwxU2NoUmVnV3JpdGUoSHdkUmVnVCByZWcsIGthbF91aW50MzIgZGF0YSk7CitleHRlcm4ga2FsX2ludDMyIFhsMVNjaFJlZ1JlYWQoSHdkUmVnVCByZWcpOworI2Vsc2UKK2V4dGVybiB2b2lkIFhsMVNjaFJlZ1dyaXRlKHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqIHJlZywga2FsX3VpbnQzMiBkYXRhKTsKK2V4dGVybiBrYWxfaW50MzIgWGwxU2NoUmVnUmVhZCh2b2xhdGlsZSB1bnNpZ25lZCBsb25nKiByZWcpOworI2VuZGlmCisKKworI2VuZGlmICAvKiAjaWZuZGVmIF9DUEhFVkRPRkxTUlBSRUdBQ0NFU1NfSF8gKi8KZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jcGhldmRvZmxicnAuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jcGhldmRvZmxicnAuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNzg2MTY4Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NwaGV2ZG9mbGJycC5oCkBAIC0wLDAgKzEsNjMgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhFVkRPRkxCUlBfSF8KKyNkZWZpbmUgX0NQSEVWRE9GTEJSUF9IXworCisjaW5jbHVkZSAiY2wxY29tbW9uLmgiCisjaW5jbHVkZSAia2FsX2dlbmVyYWxfdHlwZXMuaCIKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfdWludDggSW50ZXJsYWNlSWQ7LyoqT3V0cHV0Ki8KKyAgICBrYWxfdWludDggQ3JjUmVzdWx0Oy8qKk91dHB1dDpGb3IgRWFjaCBpbnRlcmxhY2UgSUQuKi8KKyAgICBrYWxfdWludDE2IEVwU2l6ZTsgICAvKipPdXRwdXQ6Rm9yIEVhY2ggaW50ZXJsYWNlIElELiovIAorfSBDcGhFdmRvRmxCcnBPdXRwdXRBZHNTdHJ1Y3Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgCisgICAga2FsX3VpbnQ4IEludGVybGFjZUlkOyAvKipJbnB1dDogcGFyYW0gZm9yIHJlYWQuKi8KKyAgICBrYWxfdWludDggRHJjSW5kZXg7LyoqT3V0cHV0Ki8KKyAgICBrYWxfdWludDggQ3JjVHlwZTsvKipPdXRwdXQ6MDogQ1JDIExFTj0xNjsgMTogQ1JDIExFTj0yNDsgZm9yIGVhY2ggaW50ZXJsYWNlIElELiovICAgIAorICAgIGthbF91aW50OCBTbG90Q291bnQ7LyoqT3V0cHV0OkZvciBFYWNoIGludGVybGFjZSBJRC4qLworICAgIAorfSBDcGhFdmRvRmxCcnBDb250cm9sbGVyUmVhZEFkc1N0cnVjdDsKKworICAgIAordm9pZCBDcGhFdmRvRmxCcnBJbnRDbGVhcigpOwordm9pZCBDcGhFdmRvRmxCcnBDb25maWcoa2FsX3VpbnQzMiBkbWFBZGRyZXNzKTsKK3ZvaWQgQ3BoRXZkb0ZsQnJwT3V0cHV0KENwaEV2ZG9GbEJycE91dHB1dEFkc1N0cnVjdCAgKmFkc19wdHIpOwordm9pZCBDcGhFdmRvRmxCcnBDb250cm9sbGVyUmVhZChDcGhFdmRvRmxCcnBDb250cm9sbGVyUmVhZEFkc1N0cnVjdCAgKmFkc19wdHIpOworI2VuZGlmCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY3BoZXZkb2ZsYnNycHJlZ2FjY2Vzcy5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NwaGV2ZG9mbGJzcnByZWdhY2Nlc3MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZTg1MGM3Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NwaGV2ZG9mbGJzcnByZWdhY2Nlc3MuaApAQCAtMCwwICsxLDkwIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9DUEhFVkRPRkxCU1JQUkVHQUNDRVNTX0hfCisjZGVmaW5lIF9DUEhFVkRPRkxCU1JQUkVHQUNDRVNTX0hfCisKKworI2lmbmRlZiBNVEtfQzJLX0NPU0lNICAKKworI2RlZmluZSBJTkNMVURFX0RTUF9IRUFERVJfRU5BQkxFX0lOTkVSX0JSUAorI2luY2x1ZGUgIkNVSUZfaW5uZXJfYnJwX0FMTC5oIgorI3VuZGVmIElOQ0xVREVfRFNQX0hFQURFUl9FTkFCTEVfSU5ORVJfQlJQCisKKyN1bmRlZiBDVUlGX1JFQUQKKyN1bmRlZiBDVUlGX1dSSVRFCisKKyNpZiBkZWZpbmVkKE1US19QTFRfT05fUENfSVQpCitleHRlcm4gQ1VJRl9DMktfRVZET19SRUdTIENwaEN1aWZSZWdzOworI2RlZmluZSBDVUlGX1JFQUQocmVnKSAgICAgICAgICBFdmwxQ3VpZlJlZ1JlYWQoKGthbF91aW50MzIqKSgmKENwaEN1aWZSZWdzLnJlZykpKQorI2RlZmluZSBDVUlGX1dSSVRFKHJlZywgdmFsKSAgICBFdmwxQ3VpZlJlZ1dyaXRlKChrYWxfdWludDMyKikoJihDcGhDdWlmUmVncy5yZWcpKSwgdmFsKQorI2Vsc2UKKworI2RlZmluZSBDVUlGX1JFQUQocmVnKSAgICAgICAgICBFdmwxQ3VpZlJlZ1JlYWQoKGthbF91aW50MzIqKSgmKENVSUZfQzJLX0VWRE8tPnJlZykpKQorI2RlZmluZSBDVUlGX1dSSVRFKHJlZywgdmFsKSAgICBFdmwxQ3VpZlJlZ1dyaXRlKChrYWxfdWludDMyKikoJihDVUlGX0MyS19FVkRPLT5yZWcpKSwgdmFsKQorI2VuZGlmCisKKyAKKyN1bmRlZiBId2RXcml0ZTMyCisjdW5kZWYgSHdkUmVhZDMyCisjaWZkZWYgTVRLX1BMVF9PTl9QQworI2RlZmluZSBId2RXcml0ZTMyKFJlZywgZGF0YSkgICBFdmwxRmxCc3JwUmVnV3JpdGUoKEh3ZFJlZ1QpKFJlZyksIGRhdGEpICAgICAgICAKKyNkZWZpbmUgSHdkUmVhZDMyKFJlZykgICAgICAgICAgRXZsMUZsQnNycFJlZ1JlYWQoKEh3ZFJlZ1QpKFJlZykpCisjZWxzZQorI2RlZmluZSBId2RXcml0ZTMyKFJlZywgZGF0YSkgICBFdmwxRmxCc3JwUmVnV3JpdGUoKHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqKShSZWcpLCBkYXRhKSAgICAgICAgCisjZGVmaW5lIEh3ZFJlYWQzMihSZWcpICAgICAgICAgIEV2bDFGbEJzcnBSZWdSZWFkKCh2b2xhdGlsZSB1bnNpZ25lZCBsb25nKikoUmVnKSkKKworI2VuZGlmCisKKyNlbmRpZiAvKiAjaWZuZGVmIE1US19DMktfQ09TSU0gKi8KKwordm9pZCBFdmwxQ3VpZlJlZ1dyaXRlKGthbF91aW50MzIqIHJlZywga2FsX3VpbnQzMiB2YWwpOwora2FsX3VpbnQzMiBFdmwxQ3VpZlJlZ1JlYWQoa2FsX3VpbnQzMiogcmVnKTsKKworI2lmZGVmIE1US19QTFRfT05fUEMKK2V4dGVybiB2b2lkIEV2bDFGbEJzcnBSZWdXcml0ZShId2RSZWdUIHJlZywga2FsX3VpbnQzMiBkYXRhKTsKK2V4dGVybiBrYWxfaW50MzIgRXZsMUZsQnNycFJlZ1JlYWQoSHdkUmVnVCByZWcpOworCisjZWxzZQorZXh0ZXJuIHZvaWQgRXZsMUZsQnNycFJlZ1dyaXRlKHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqIHJlZywga2FsX3VpbnQzMiBkYXRhKTsKK2V4dGVybiBrYWxfaW50MzIgRXZsMUZsQnNycFJlZ1JlYWQodm9sYXRpbGUgdW5zaWduZWQgbG9uZyogcmVnKTsKKworI2VuZGlmCisKKworI2VuZGlmICAvKiAjaWZuZGVmIF9DUEhFVkRPRkxTUlBSRUdBQ0NFU1NfSF8gKi8KKworCisKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jcGhldmRvZmxzcnAuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jcGhldmRvZmxzcnAuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNDFkZDliCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NwaGV2ZG9mbHNycC5oCkBAIC0wLDAgKzEsNjcwIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfQ1BIRVZET0ZMU1JQX0hfCisjZGVmaW5lIF9DUEhFVkRPRkxTUlBfSF8KKworI2luY2x1ZGUgImNsMWNvbW1vbi5oIgorI2luY2x1ZGUgImthbF9nZW5lcmFsX3R5cGVzLmgiCisjZGVmaW5lIEVWRE9fTUFYX05VTV9QSUxPVFMgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgRVZET19NQVhfTlVNX0RBVEFfRklOR0VSUyAgICAgICAgICgzKQorI2RlZmluZSBFVkRPX01BWF9OVU1fTUFDX0ZJTkdFUlMgICAgICAgICAgKDEyKQorI2RlZmluZSBFVkRPX01BWF9UT1RBTF9GSU5HRVJTICAgICAgICAgICAgKEVWRE9fTUFYX05VTV9EQVRBX0ZJTkdFUlMgKyBFVkRPX01BWF9OVU1fTUFDX0ZJTkdFUlMpCisjZGVmaW5lIEVWRE9fTUFYX05VTV9QQ0cgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgRVZET19JTlZBTElEX1NFQ1RPUklEICAgICAgICAgICAgICgweEZGKQorI2RlZmluZSBFVkRPX0lOVkFMSURfUENHSUQgICAgICAgICAgICAgICAgKDB4RkYpCisjZGVmaW5lIEVWRE9fSU5WQUxJRF9QTk9GRlNFVCAgICAgICAgICAgICAoMHhGRkZGKQorI2RlZmluZSBFVkRPX01BWF9NQUNJTkRFWCAgICAgICAgICAgICAgICAgKDEyNykKKyNkZWZpbmUgRVZET19NQVhfU1BFRUQgICAgICAgICAgICAgICAgICAgICgyMDApCisjZGVmaW5lIFQzX0lOSVRfQUREUiAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgRFJDX1JFR19TSVpFX00gICAgICAgICAgICAgICAgICAgIDE1ICAvKiBEUkMgT2Zmc2V0IGlzIGZyb20gMCAtMTQgKi8gCisjZGVmaW5lIFJYQ19JTlRFUkxBQ0VfTEVOR1RIICAgICAgICAgICAgICAoNCkgCisjZGVmaW5lIEVWRE9fUkVWX0EgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMikgCisKKworI2RlZmluZSBCUl9ETUFfQkFTSUNfQUREUkVTUyAgICAgICAgKDB4QUI4NjAwMDApCisjZGVmaW5lIEJJR1JBTV9CQVNFX0FERFJFU1MgICAgICAgICAoMHhBOTAwMDAwMCkKKyNkZWZpbmUgRVZET19JTklUX1NQRUVEICAgICAgICAgICAgICAoMTYwKQorCisvLyNkZWZpbmUgQzJLX1JBS0VfQ01JRl9SRUdfQkFTRSAxCisKKy8qUmFrZSBHZW5lcmF0ZSovCit0eXBlZGVmIGVudW0KK3sKKyAgICBUUkFGRklDX01PREVfV0NETUEsCisgICAgVFJBRkZJQ19NT0RFXzFYUlRULAorICAgIFRSQUZGSUNfTU9ERV9FVkRPLAorICAgIFRSQUZGSUNfTU9ERV8xWFJUVF9RTElDCit9IENwaEV2bDFUcmFmZmljTW9kZTsKKworCisvKlJha2UgQm9vdHVwKi8KK3R5cGVkZWYgZW51bQoreworICAgIEJPT1RfVVBfTU9ERV9XQ0RNQSA9IDAsCisgICAgQk9PVF9VUF9NT0RFX0MySworfSBDcGhSYWtlQm9vdFVwTW9kZTsKKworLypSYWtlIFN0YXRlKi8KK3R5cGVkZWYgZW51bQoreworICAgIEVWTDFfU1lOQyA9IDEsCisgICAgRVZMMV9JRExFID0gMiwgCisgICAgRVZMMV9DT05ORUNURUQgPSA0Cit9IENwaEV2bDFTdGF0ZVQ7CisKKy8qUmFrZSBNb2RlKi8KK3R5cGVkZWYgZW51bQoreworICAgIFJBS0VfTU9ERV9ESVNBQkxFID0gMCwKKyAgICBSQUtFX01PREVfMVgsCisgICAgUkFLRV9NT0RFX0RPLCAKKyAgICBSQUtFX01PREVfU0hEUgorfSBDcGhSYWtlTW9kZTsKKworLypQTUIgQ0ggdHlwZSovCit0eXBlZGVmIGVudW0KK3sKKyAgICBQSUxPVF9UUkFGRklDX0NIID0gMCwKKyAgICBQSUxPVF9NQUNfQ0ggPSBQSUxPVF9UUkFGRklDX0NILAorICAgIE1BQ19DSCA9IDEsCisgICAgUkFfQ0ggPSBNQUNfQ0gsCisgICAgUE1CMF9DSCA9IDcsCisgICAgUE1CMV9DSCA9IFBNQjBfQ0gsCisgICAgUE1CMl9DSCAgPSBQTUIwX0NILAorICAgIFBNQl9GVENfQ0ggPSBQTUIwX0NILAorfSBDcGhFdmwxQ2hUeXBlOworCisKKy8qU3ByZWFkaW5nIGZhY3RvciovCit0eXBlZGVmIGVudW0KK3sKKyAgICBFVkwxX1NGNCA9IDAsCisgICAgRVZMMV9TRjgsCisgICAgRVZMMV9TRjE2LAorICAgIEVWTDFfU0YzMiwKKyAgICBFVkwxX1NGNjQsCisgICAgRVZMMV9TRjEyOCwKKyAgICBFVkwxX1NGMjU2Cit9IENwaEV2bDFTRlR5cGU7CisKKy8qU3ByZWFkaW5nIGZhY3RvciovCit0eXBlZGVmIGVudW0KK3sKKyAgICBGSU5HRVJfTk9fQ0hBTkdFID0gMCwKKyAgICBGSU5HRVJfQVNTSUdOLAorICAgIEZJTkdFUl9SRUxFQVNFCit9IENwaEV2bDFGbmdBbGxvY0FjdGlvbjsKKworLypTcHJlYWRpbmcgZmFjdG9yKi8KK3R5cGVkZWYgZW51bQoreworICAgIEZJTkdFUl9SRUxFQVNFRCA9IDAsCisgICAgRklOR0VSX0FDVElWQVRFRCA9IDEsCisgICAgRklOR0VSX09CU0VSVkVEID0gMiwKK31FdmwxRm5nU3RhdHVzVDsKKworCisvKiBBRkNfTW9kZSAqLwordHlwZWRlZiBlbnVtCit7CisgICBBRkNfRkFTVCwKKyAgIEFGQ19OT1JNQUwgICAKK30gQ3BoQWZjTW9kZVQ7CisKKwordHlwZWRlZiBlbnVtCit7CisgICAgQ09ORklHX01VID0gMHgwMSwKKyAgICBDT05GSUdfRE9GID0gMHgwMiwKKyAgICBDT05GSUdfUE1CX01PREUgPSAweDA0LAorICAgIENPTkZJR19NQUNJTkRFWCA9IDB4MDgsCisgICAgQ09ORklHX1BEX1JFU0VUID0gMHgxMCwKKyAgICBDT05GSUdfUERfRU5BQkxFID0gMHgyMAorfSBDcGhFdmwxRmxTcnBQZENmZ1R5cGU7CisKK3R5cGVkZWYgZW51bQoreworICAgIFBEX01PREVfSU5JVF9BQ1EsCisgICAgUERfTU9ERV9UUkFGRklDLAorICAgIFBEX01PREVfSURMRSAgICAKK30gQ3BoRXZsMUZsU3JwUGRNb2RlOworCisKK3R5cGVkZWYgZW51bQoreworICAgIERSQ19UQUJMRV9JTklUID0gMHgwMSwKKyAgICBEUkNfU0xNU19JTklUID0gMHgwMiwKKyAgICBEUkNfU1dfUEFSQV9JTklUID0gMHgwNCwKKyAgICBEUkNfUkVJTklUID0gMHgwOAorfSBDcGhFdmwxRmxTcnBEcmNJbml0VHlwZTsKKworCit0eXBlZGVmIGVudW0KK3sKKyAgICBFVkVOVF9EUkNfSU5JVCA9IDB4MDEsCisgICAgRVZFTlRfRFJDX0NGRyA9IDB4MDIsCisgICAgRVZFTlRfRFJDX1RBQkxFX1VQREFURSA9MHgwNAorfSBDcGhFdmwxRmxTcnBEcmNFdmVudFR5cGU7CisKKwordHlwZWRlZiBlbnVtCit7CisgICAgQ0ZHX0RSQ19MRU4gPSAweDAxLAorICAgIENGR19EUkNfR0FUSU5HID0gMHgwMiwKKyAgICBDRkdfRklYX1RYX1JBVEUgPSAweDA0LAorICAgIENGR19GSVhfVFhfUkFURV9ESVNBQkxFID0weDA4LAorICAgIENGR19HTE9CQUxfQllQQVNTID0gMHgxMCwKKyAgICBDRkdfQURKX0MySV9MRVZFTF9MRU5HVEggPSAweDIwLAorICAgIENGR19HbE9CQUxfQURKID0gMHg0MCwKKyAgICBDRkdfUFJFRElDVElPTiA9IDB4ODAsCisgICAgQ0ZHX0RSQ19SQU5HRSA9IDB4MTAwCit9IENwaEV2bDFGbFNycERyY0NmZ1R5cGU7CisKKwordHlwZWRlZiBzdHJ1Y3QgIAoreworICAgIC8qKiBbSW5dKi8KKyAgICBDcGhFdmwxU3RhdGVUIEV2bDFTdGF0ZTsKKyAgICAvKiogW0luXSovICAgIAorICAgIGthbF91aW50MzIgUnhQYXRoOworICAgIC8qKiBbSW5dKi8gICAgCisgICAga2FsX3VpbnQzMiBFdmwxU3VidHlwZTsKKyAgICAvKiogW0luXSovICAgIAorICAgIGthbF91aW50MzIgVDNEaXN0OworICAgIC8qKiBbSW5dKi8gICAgCisgICAga2FsX3VpbnQzMiBETENhcnJpZXJGcmVxOworICAgIC8qKiBbSW5dKi8gICAgCisgICAga2FsX3VpbnQzMiBUM1RpbWU7ICAKKyAgICAvKiogW0luXSovICAgIAorICAgIGthbF91aW50MzIgVDJUaW1lOworICAgIC8qKiBbSW5dKi8gICAgCisgICAga2FsX3VpbnQzMiBDcGljaE9uVGltZTsgIAorICAgIC8qKiBbSW5dICovCisgICAga2FsX2Jvb2wgICBFdmwxRW5hYmxlZDsKK31DcGhFdmwxUmFrZVN0YXJ0VDsKKworCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF91aW50MTYgIFBpbG90UE47CisgICAga2FsX3VpbnQxNiAgUHdyRXN0OyAgICAKKyAgICBrYWxfdWludDggICBQY2dJZDsKKyAgICBrYWxfdWludDggICBTZXJ2Q2VsbDsKKyAgICBrYWxfdWludDggICBNYWNJZDsKKyAgICBrYWxfdWludDggICBNYWNXYWxzaElkOworICAgIGthbF91aW50OCAgIFJBQkxlbmd0aDsKKyAgICBrYWxfdWludDggICBSQUJPZmZzZXQ7CisgICAga2FsX3VpbnQ4ICAgUkFDaGFubmVsR2FpbjsKKyAgICBrYWxfdWludDggICBSZXM7Cit9UmFrZVNlY3RvckluZm9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qKiBbSW5dKi8KKyAgICBrYWxfYm9vbCBQbWJGdGNDZmdDaGFuZ2U7CisgICAgLyoqIFtJbl0qLyAgICAKKyAgICBrYWxfdWludDggICBNYWNDZmdDaGFuZ2U7CisgICAgLyoqIFtJbl0qLyAgICAKKyAgICBrYWxfdWludDggICBTZXJ2aW5nU2VjSWQ7IAorICAgIC8qKiBbSW5dKi8gICAgCisgICAga2FsX3VpbnQxNiAgU2VydmluZ1BOOworICAgIC8qKiBbSW5dKi8KKyAgICBrYWxfdWludDE2ICBVc2VyTWFjSWR4OworICAgIC8qKiBbSW5dKi8KKyAgICBrYWxfdWludDE2ICBDY1Nob3J0UGt0SWR4OyAgICAKKyAgICAvKiogW0luXSovICAgIAorICAgIGthbF91aW50OCAgIE51bVNlYzsKKyAgICAvKiogW0luXSovICAgCisgICAga2FsX3VpbnQ4ICAgU2VjUmVudW1JZFtFVkRPX01BWF9OVU1fUElMT1RTXTsKKyAgICAvKiogW0luXSovICAgIAorICAgIFJha2VTZWN0b3JJbmZvVCBTZWN0b3JJbmZvW0VWRE9fTUFYX05VTV9QSUxPVFNdOyAKK31DcGhFdmwxUmFrZUNoVDsKKwordHlwZWRlZiBzdHJ1Y3QgCit7CisgICAgLyoqIFtJbl0qLworICAgIGthbF91aW50OCBGbmdJZHg7CisgICAgLyoqIFtJbl0qLyAgICAKKyAgICBrYWxfdWludDggU2VjSWQ7CisgICAgLyoqIFtJbl0qLyAgICAKKyAgICBDcGhFdmwxRm5nQWxsb2NBY3Rpb24gQWN0aW9uOworICAgIC8qKiBbSW5dKi8gICAgCisgICAgRXZsMUZuZ1N0YXR1c1QgRm5nU3RhdHVzOworICAgIC8qKiBbSW5dKi8gICAgCisgICAga2FsX3VpbnQxNiBGbmdBZGRyOworICAgIC8qKiBbSW5dKi8gICAgCisgICAga2FsX3VpbnQxNiBGbmdTeW1JZHg7CisgICAgLyoqIFtJbl0qLyAgICAKKyAgICBrYWxfdWludDMyIEZuZ0luaXRQb3dlcjsKKyB9IENwaEV2bDFSYWtlRm5nQ2ZnVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiogW091dF0qLworICAgIGthbF91aW50MzIgICAgUmVmVGltZUVjaGlwOworICAgIC8qKiBbT3V0XSovICAgIAorICAgIGthbF91aW50MzIgICAgIFJlZkdzckFkZHI7Cit9Q3BoRXZsMUZsU3JwR3NyVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sgICAgCisgICAga2FsX3VpbnQ4ICAgRm5nSWR4OworICAgIGthbF91aW50MTYgICBGbmdTbnI7IAorfSBDcGhFdmwxUmFrZUZuZ1NOUlJlc3VsdFQ7IAorCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qKiBbSW5dKi8KKyAgICBrYWxfYm9vbCBSc3NpU3RhYmxlRmxhZzsKKyAgICAvKiogW0luXSovCisgICAga2FsX3VpbnQ4IFByZXZTcGVlZFJlc3VsdDsKKyAgICAvKiogW091dF0qLworICAgIGthbF91aW50OCAgRmluYWxTcGVlZDsKK30gQ3BoRXZsMVNwZXN0Q2ZnVDsgCisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX3VpbnQ4ICAgRm5nSWR4OworICAgIGthbF9pbnQ4ICAgIEZuZ0FjY0RyaWZ0VmFsdWU7Cit9QWNjRHJpZnRUOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qKiBbSW5dKi8KKyAgICBrYWxfaW50MTYgIEEyT1BpbG90OworICAgIC8qKiBbSW5dKi8gICAgCisgICAga2FsX2ludDE2ICBPMkFQaWxvdDsKKyAgICAvKiogW0luXSovCisgICAga2FsX2ludDE2ICAgQTJPTWFjOworICAgIC8qKiBbSW5dKi8KKyAgICBrYWxfaW50MTYgICBPMkFNYWM7CisgICAgLyoqIFtJbl0qLworICAgIGthbF91aW50OCAgIE51bUZuZ1VwZDsKKyAgICAvKiogW0luXSovCisgICAgQWNjRHJpZnRUICAgIEFjY0RyaWZ0W0VWRE9fTUFYX1RPVEFMX0ZJTkdFUlNdOworfUNwaEV2bDFUcmFja2VyQ2ZnVDsKKworCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qKiBbSW5dKi8KKyAgICBrYWxfdWludDggIEZuZ0lkeDsKKyAgICAvKiogW091dF0qLworICAgIGthbF91aW50OCAgRm5nU3RhdHVzOyAKKyAgICAvKiogW091dF0qLworICAgIGthbF9pbnQ4ICBGbmdBY2N1RHJpZnQ7CisgICAgLyoqIFtPdXRdKi8KKyAgICBrYWxfdWludDMyIEZuZ01pY1Bvd2VyOworfSBDcGhFdmwxVHJhY2tlclJlc3VsdFQ7CisKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfYm9vbCBSY3BEYmdFbjsgIC8qIDEtPlJDUCBzdWJjaGFubmVsIGluIERlYnVnIG1vZGUsIDAtPm5vcm1hbCBtb2RlICovCisgICAga2FsX2Jvb2wgUmNwRGJnVmFsOworICAgIGthbF9ib29sIEFycURiZ0VuOyAgLyogMS0+SC9MQVJRIHN1YmNoYW5uZWwgaW4gRGVidWcgbW9kZSwgMC0+bm9ybWFsIG1vZGUgKi8KKyAgICBrYWxfYm9vbCBBcnFEYmdWYWw7Cit9RXZsMU1jZERlYnVnUGFyYW1UOworCisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyoqIFtJbl0qLworICAgIGthbF91aW50OCAgRHJjTG9ja1BlcmlvZDsKKyAgICAvKiogW0luXSovICAgIAorICAgIGthbF91aW50OCAgRHJjTG9ja0xlbjsKKyAgICAvKiogW0luXSovCisgICAga2FsX3VpbnQ4ICBBcnFNb2RlOworICAgIC8qKiBbSW5dKi8KKyAgICBrYWxfdWludDggIEFycVR5cGU7CisgICAgLyoqIFtJbl0qLworICAgIGthbF91aW50OCAgRnJhYlRjOworICAgIC8qKiBbSW5dKi8KKyAgICBrYWxfdWludDggIFFyYWJUYzsKKyAgICAvKiogW0luXSovCisgICAgRXZsMU1jZERlYnVnUGFyYW1UICBNY2REYmdEYXRhOyAvKiAxLT5SQ1Agc3ViY2hhbm5lbCBpbiBEZWJ1ZyBtb2RlLCAwLT5ub3JtYWwgbW9kZSAqLyAgIAorfUNwaEV2bDFCc3JwTWNkSW5mb1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyoqIFtJbl0qLworICAgIGthbF91aW50OCBOZXh0QXJxdHlwZTsgICAKK30gQ3BoRXZsMU1jZEFycVR5cGVDZmdUOworCisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyoqIFtJbl0qLworICAgIGthbF9ib29sIFBhcnFWYWxpZDsKKyAgICAvKiogW0luXSovCisgICAga2FsX3VpbnQ4IFJ0Y01hY1N1YlR5cGU7CisgICAgLyoqIFtJbl0qLworICAgIGthbF91aW50OCBOdW1TZWM7CisgICAgLyoqIFtJbl0qLworICAgIGthbF91aW50OCBOdW1QY2c7CisgICAgLyoqIFtJbl0qLworICAgIGthbF91aW50OCBTZWNSZW51bUlkW0VWRE9fTUFYX05VTV9QSUxPVFNdOworICAgIC8qKiBbSW5dKi8KKyAgICBrYWxfdWludDggUGNnUmVudW1JZFtFVkRPX01BWF9OVU1fUENHXTsKK30gQ3BoRXZsMU1jZEdldE1hY0JpdHNJbnB1dFQ7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgIC8qKiBbT3V0XSovCisgIGthbF9pbnQxNiAgUkFCOyAgICAgICAgICAgICAgIC8qIDwxMywxLHQ+IGZvciBTb2Z0UkFCKE1BQyBzdWJ0eXBlIDAvMSksIDwxNiwxNSx0PiBmb3IgUkFCKE1BQyBzdWJ0eXBlIDIvMykgKi8KKyAgLyoqIFtPdXRdKi8KKyAga2FsX3VpbnQ4ICBTbG90UkFCOyAgICAgICAgICAgLyogWzBdLCBoYXJkIGxpbWl0ZWQgUkFCICovCisgIC8qKiBbT3V0XSovCisgIGthbF91aW50OCAgU2xvdFFSQUI7ICAgICAgICAgIC8qIFswXSwgc3ViZnJhbWUgcmF0ZSBzYW1wbGluZyAqLworICAvKiogW091dF0qLworICBrYWxfaW50MzIgIFNsb3RGUkFCOyAgICAgICAgICAvKiA8MTMsMSx0Piwgc3ViZnJhbWUgcmF0ZSBzYW1wbGluZyAqLworfSBDcGhNYWNCaXRzU2VjdG9yVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgLyoqIFtPdXRdKi8KKyAga2FsX3VpbnQ4IERSQ0xvY2tQY2c7ICAgICAgICAgLyogMC0+VW5Mb2NrLCAxLT5Mb2NrICovCisgIC8qKiBbT3V0XSovCisgIGthbF91aW50OCBEUkNMb2NrUGNnRmluYWw7ICAgIC8qIEZpbmFsIHZhbHVlIGFmdGVyIHBlcnNpc3RlbmNlIHRlc3QsIDAtPlVuTG9jaywgMS0+TG9jayAqLworICAvKiogW091dF0qLworICBrYWxfdWludDggRFJDTG9ja0NvdW50ZXI7ICAgICAgIC8qIGZvciBwZXJzaXN0ZW5jZSB0ZXN0ICovCisgIC8qKiBbT3V0XSovCisgIGthbF91aW50OCBITEFSUUJpdFBjZzsgICAgICAgIC8qIDEtPkFDSywgMC0+TkFLICovCisgIC8qKiBbT3V0XSovCisgIGthbF9pbnQzMiBEUkNMb2NrTWV0cmljOyAgICAgIC8qIERSQ0xvY2sgbWV0cmljLCBjaGVjayBzaWduIGZvciBkZWNpc2lvbiAqLworICAvKiogW091dF0qLyAgCisgIGthbF9pbnQzMiAgSExBUlFNZXRyaWM7ICAgICAgIC8qIFsyMDowXSwgYXQgc3ViZnJhbWUgcmF0ZSAqLworICAvKiogW091dF0qLyAgCisgIGthbF9pbnQzMiAgUEFSUU1ldHJpYzsgICAgICAgIC8qIFsyMDowXSwgYXQgc3ViZnJhbWUgcmF0ZSAqLworICAvKiogW091dF0qLworICBrYWxfdWludDMyIENJTWV0cmljOyAgICAgICAgICAvKiBbMjE6MF0sIEMvSSBtZXRyaWMgYXQgc3ViZnJhbWUgcmF0ZSAqLworfSBDcGhNYWNCaXRzUENHVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiogW091dF0qLworICAgIGthbF91aW50OCAgUkFCVmFsaWQ7ICAgICAgICAgICAvKiAwLzEtPk5vdFZhbGlkL1ZhbGlkLCBWYWxpZCBvY2N1cnMgZXZlcnkgc2xvdCBUIG1vZCBSQUJMZW5ndGhuID0gUkFCT2Zmc2V0bi0xICovCisgICAgLyoqIFtPdXRdKi8KKyAgICBrYWxfdWludDggIERSQ0xvY2tWYWxpZDsgICAgICAgLyogMC0+Tm90VmFsLCAxLT5WYWxpZCwgVmFsaWQgb2NjdXJzIGV2ZXJ5ICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogc2xvdCAoVC1GcmFtZU9mZnNldCkgbW9kIERSQ0xvY2tQZXJpb2QgeCBEUkNMb2NrTGVuZ3RoICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogPSAoRFJDTG9ja1BlcmlvZCAtMSkgeCBEUkNMb2NrTGVuZ3RoICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRm9yIFJldiBBLiBEUkNMb2NrUGVyaW9kID0gNCAqLworICAgIC8qKiBbT3V0XSovICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAga2FsX3VpbnQ4ICBITEFSUUJpdDsgICAgICAgICAgIC8qIEgvTEFSUSBCaXQgY29tYmluZWQgb3ZlciB0aGUgUENHcyAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIDEtPkFDSywgMC0+TkFLICovIAorICAgIC8qKiBbT3V0XSovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICBrYWxfdWludDggIFJQQ1ZhbGlkOyAgICAgICAgICAgLyogMC0+Tm90VmFsLCAxLT5WYWxpZCwgVmFsaWQgb2NjdXJzIGV2ZXJ5ICAqLyAgCisgICAgLyoqIFtPdXRdKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgIGthbF91aW50OCAgUlBDQml0OyAgICAgICAgICAgICAvKiAwLT51cCwgMS0+ZG93biovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAvKiogW091dF0qLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICBrYWxfdWludDggIFFSQUI7ICAgICAgICAgICAgICAgLyogUVJBQiBIYXJkIHZhbHVlIGNvbWJpbmVkIChsb2dpY2FsIE9SKSBvdmVyIGFsbCBzZWN0b3JzICovICAgCisgICAgLyoqIFtPdXRdKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICBrYWxfaW50MzIgIEZSQUI7ICAgICAgICAgICAgICAgLyogRlJBQiBmb3IgY3VycmVudCBzdWJmcmFtZSBjb21iaW5lZCAobWF4IGFtb25nKSBvdmVyIGFsbCBzZWN0b3JzICovCisgICAgLyoqIFtPdXRdKi8KKyAgICBrYWxfaW50MzIgIG9sZEZSQUI7ICAgICAgICAgICAgLyogRlJBQiBmb3IgcHJldmlvdXMgc3ViZnJhbWUgY29tYmluZWQgKG1heCBhbW9uZykgb3ZlciBhbGwgc2VjdG9ycyAqLyAgCisgICAgLyoqIFtPdXRdKi8KKyAgICBDcGhNYWNCaXRzU2VjdG9yVCBTZWN0b3JbRVZET19NQVhfTlVNX1BJTE9UU107CisgICAgLyoqIFtPdXRdKi8KKyAgICBDcGhNYWNCaXRzUENHVCBQY2dbRVZET19NQVhfTlVNX1BDR107Cit9Q3BoRXZsMU1jZEdldE1hY0JpdHNPdXRwdXRUOworCit0eXBlZGVmIHN0cnVjdCAgICAKK3sKKyAgICAvKiogW0luXSovCisgICAga2FsX2Jvb2wgICBtdUVuYWJsZTsKKyAgICAvKiogW0luXSovCisgICAga2FsX3VpbnQ4ICBkb2Y7CisgICAgLyoqIFtJbl0qLworICAgIGthbF91aW50MTYgcG1iQ3RybEluaXRUcmFmZmljOworICAgIC8qKiBbSW5dKi8KKyAgICBrYWxfdWludDggIHBtYk1vZGU7CisgICAgLyoqIFtJbl0qLworICAgIGthbF91aW50OCAgbWFjSW5kZXg7CisgICAgLyoqIFtJbl0qLworICAgIGthbF91aW50MTYgcG1iQ3RybDsKKyAgICAvKiogW0luXSovCisgICAga2FsX3VpbnQxNiBwbWJFbmFibGVQbWFiTTsKK31DcGhFdmwxUGRDdHhUOworCisKK3R5cGVkZWYgc3RydWN0IAoreworICAgIC8qKiBbSW5dKi8KKyAgICBrYWxfdWludDggICBpbml0Qml0bWFwOworICAgIC8qKiBbSW5dKi8KKyAgICBrYWxfdWludDE2ICBjZmdCaXRtYXA7ICAvKmluZGljYXRlIHRoZSBjb25maWd1cmF0aW9uIHR5cGUqLworICAgIC8qKiBbSW5dKi8KKyAgICBrYWxfaW50MzIgICBkcmNDMklNYXg7CisgICAgLyoqIFtJbl0qLworICAgIGthbF9pbnQzMiAgIGRyY0MySU1pbjsKKyAgICAvKiogW0luXSovCisgICAga2FsX2ludDMyICAgZHJjR2xvYmFsQWRqOworICAgIC8qKiBbSW5dKi8KKyAgICBrYWxfYm9vbCAgICBnbG9iYWxCeVBhc3M7CisgICAgLyoqIFtJbl0qLworICAgIGthbF9pbnQzMiAgIHNsbXNJbml0WzVdOworICAgIC8qKiBbSW5dKi8KKyAgICBrYWxfaW50MzIgICBkcmNUaHJCeVBhc3MxOworICAgIC8qKiBbSW5dKi8KKyAgICBrYWxfaW50MzIgICBkcmNUaHJCeVBhc3MyOworICAgIC8qKiBbSW5dKi8KKyAgICBrYWxfaW50MzIgICBkcmNTbG1zTXU7CisgICAgLyoqIFtJbl0qLworICAgIGthbF9pbnQzMiAgIGRyY0lJclBvbGU7CisgICAgLyoqIFtJbl0qLworICAgIGthbF9pbnQzMiAgIGRyY0VycklJclBvbGU7CisgICAgLyoqIFtJbl0qLworICAgIGthbF91aW50OCAgIGRyY0xlbmd0aDsKKyAgICAvKiogW0luXSovCisgICAga2FsX2Jvb2wgICAgZHJjR2F0aW5nOworICAgIC8qKiBbSW5dKi8KKyAgICBrYWxfaW50MzIgICBkcmNMdmNyb3NzTGVuOworICAgIC8qKiBbSW5dKi8KKyAgICBrYWxfdWludDggICBmaXhUeERyYzsKKyAgICAvKiogW0luXSovCisgICAga2FsX3VpbnQxNiAgZHJjTW9kZTsKKyAgICAvKiogW0luXSovCisgICAga2FsX2ludDMyICAgZHJjQ3RybDsKKyAgICAvKiogW0luXSovCisgICAga2FsX3VpbnQxNiAgcG1iRW5hYmxlUG1hYk07CisgICAgLyoqIFtJbl0qLworICAgIGthbF91aW50MzIgICpwRHJjT2Zmc2V0OworICAgIC8qKiBbSW5dKi8KKyAgICBrYWxfaW50MzIgICAqcERyY0MySVRocjsKKyAgICAvKiogW0luXSovCisgICAga2FsX3VpbnQzMiAgKnBEcmNUaHJQdXQ7CisgICAgLyoqIFtJbl0qLworICAgIGthbF91aW50MzIgICpwRHJjVGhyQXdnbjsKKwkvKiogW0luXSovCisJa2FsX2Jvb2wJYkRyY1JhbmdlRmxhZzsKKwkvKiogW0luXSovCisJa2FsX3VpbnQzMgltYXhEcmNWYWx1ZTsKKwkvKiogW0luXSovCisJa2FsX3VpbnQzMgltaW5EcmNWYWx1ZTsKK31DcGhFdmwxRHJjQ3R4VDsKKworCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qKiBbT3V0XSovCisgICAga2FsX3VpbnQ4ICAgdGltZVN0YW1wOworICAgIC8qKiBbT3V0XSovCisgICAga2FsX2Jvb2wgICAgcmVhY2tGbGFnOworICAgIC8qKiBbT3V0XSovCisgICAga2FsX3VpbnQ4ICAgc3VwTWFjaW5kZXg7CisgICAgLyoqIFtPdXRdKi8KKyAgICBrYWxfdWludDggICBwcmVhbWJsZU1hY2luZGV4OworICAgIC8qKiBbT3V0XSovCisgICAga2FsX3VpbnQ4ICAgaW50ZXJsYWNlSWQ7Cit9IENwaEV2bDFSeGNQYWNrZXRJbmZvUmVhZFQ7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyoqIFtPdXRdKi8KKyAgICBrYWxfYm9vbCAgIGludGVybGFjZVN0YXR1c1tSWENfSU5URVJMQUNFX0xFTkdUSF07Cit9IENwaEV2bDFSeGNJbnRlcmxhY2VTdGF0dXNSZWFkVDsKKworCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qKiBbSW5dKi8KKyAgICBrYWxfYm9vbCAgIGNyY1Jlc3VsdEludGVybGFjZTsKKyAgICAvKiogW0luXSovCisgICAga2FsX3VpbnQ4ICBpbnRlcmxhY2VJZDsKK30gQ3BoRXZsMVJ4Y1BhY2tldENyY1Jlc3VsdFQ7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyoqIFtJbl0qLworICAgIGthbF91aW50OCBDbnRBY2M7CisgICAgLyoqIFtJbl0qLworICAgIGthbF91aW50MzIgU05SQWNjOworICAgIC8qKiBbSW5dKi8KKyAgICBrYWxfaW50MzIgIFJlRmluZUFjYzsgIAorICAgIC8qKiBbSW5dKi8KKyAgICBrYWxfaW50MzIgIEltRmluZUFjYzsKKyAgICAvKiogW0luXSovCisgICAga2FsX2ludDMyICBSZUNvYXJzZUFjYzsKKyAgICAvKiogW0luXSovCisgICAga2FsX2ludDMyICBJbUNvYXJzZUFjYzsKK30gQ3BoRXZsMUFmY0FjY01ldHJpY1Q7CisKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiogW0luXSovCisgICAga2FsX3VpbnQxNiBQcmVTbnIxOyAvKipQcmUgU05SIDEgZnJvbSBDRSwgZmxvYXRpbmcgcG9pbnQgMS81LzEwIGZvcm1hdCovCisgICAgLyoqIFtJbl0qLworICAgIGthbF91aW50MTYgUHJlU25yMjsgLyoqUHJlIFNOUjIgUlhEIGZyb20gQ0UsIGZsb2F0aW5nIHBvaW50IDEvNS8xMCBmb3JtYXQqLworfUNwaEV2bDFDZVByZVNuclQ7CisKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfYm9vbCAgICAgICBSRVNFVF9FTjsKKyAgICBrYWxfYm9vbCAgICAgICBFUV9NT0RFX0wxX0VOOworICAgIGthbF91aW50MzIgICAgIEVRX01PREU7CisgICAga2FsX2Jvb2wgICAgICAgTU1TRV9GTEFHX0wxX0VOOworICAgIGthbF91aW50MzIgICAgIE1NU0VfRkxBRzsKKyAgICBrYWxfYm9vbCAgICAgICBJVEVSX05VTV9MMV9FTjsKKyAgICBrYWxfdWludDMyICAgICBJVEVSX05VTTsKKyAgICBrYWxfYm9vbCAgICAgICBBTFBIQV9GSUxURVJfTU9ERV9MMV9FTjsKKyAgICBrYWxfdWludDMyICAgICBBTFBIQV9GSUxURVJfTU9ERTsKKyAgICBrYWxfYm9vbCAgICAgICBEQVRBX0ZUTV9MMV9FTjsKKyAgICBrYWxfdWludDMyICAgICBEQVRBX0ZSQUM7CisgICAga2FsX3VpbnQzMiAgICAgQzJJX0ZSQUM7CisgICAga2FsX2Jvb2wgICAgICAgUFJFX0NPVVJTRV9MMV9FTjsKKyAgICBrYWxfdWludDMyICAgICBQUkVfQ09VUlNFOworICAgIGthbF9ib29sICAgICAgIENPUlJfTEVOX0wxX0VOOworICAgIGthbF91aW50MzIgICAgIENPUlJfTEVOOworICAgIGthbF9ib29sICAgICAgIEFMUEhBX1NISUZUX0wxX0VOOworICAgIGthbF91aW50MzIgICAgIEFMUEhBX1NISUZUOworICAgIGthbF9ib29sICAgICAgIFdJTl9BRERfQkRfTDFfRU47CisgICAga2FsX3VpbnQzMiAgICAgV0lOX0FERF9CRDsKKyAgICBrYWxfYm9vbCAgICAgICBQRF9NQVRSSVhfTk9JU0VfTDFfRU47CisgICAga2FsX3VpbnQzMiAgICAgUERfTUFUUklYX05PSVNFOworfUNwaEV2bDFDdWlmQ2ZnUGFyYW1UOworCit2b2lkIENwaEV2bDFGbFNycFJha2VDbWlmUmVzZXQodm9pZCk7Cit2b2lkIENwaEV2bDFGbFNycFJha2VTdGFydChDcGhFdmwxUmFrZVN0YXJ0VCAqYWRzUHRyKTsKK3ZvaWQgQ3BoRXZsMUZsU3JwUmFrZVJlc3RvcmUoQ3BoRXZsMVJha2VTdGFydFQgKmFkc1B0cik7Cit2b2lkIENwaEV2bDFGbFNycElkUmVnRHVtcChrYWxfdWludDMyICphZHNfcHRyKTsKK3ZvaWQgQ3BoRXZsMUZsU3JwQ2dSZWdEdW1wKGthbF91aW50MzIgKmFkc19wdHIpOwordm9pZCBDcGhFdmwxRmxTcnBSYWtlQ3BoaWNoT24oa2FsX3VpbnQzMiBDcGljaE9uVGltZSk7Cit2b2lkIENwaEV2bDFGbFNycFJha2VEZWFjdGl2ZShrYWxfdWludDggVDVTbG90SWR4KTsKK3ZvaWQgQ3BoRXZsMUZsU3JwUmFrZUVudGVyRG9ybWFudERsZWVwKHZvaWQpOwordm9pZCBDcGhFdmwxRmxTcnBEMmJpZk9mZih2b2lkKTsKK3ZvaWQgQ3BoRXZsMUZsU3JwUmFrZVN0YXRlQ2ZnKENwaEV2bDFTdGF0ZVQgRXZsMVN0YXRlKTsKK3ZvaWQgQ3BoRXZsMUZsU3JwUmFrZVN1YlR5cGVDZmcoa2FsX3VpbnQzMiBFdmwxU3VidHlwZSk7Cit2b2lkIENwaEV2bDFGbFNycFJha2VUNUNmZyhrYWxfdWludDggVDVTbG90SWR4KTsKK3ZvaWQgQ3BoRXZsMUZsU3JwUmFrZUNoQ2ZnKENwaEV2bDFTdGF0ZVQgRXZsMVN0YXRlLCBDcGhFdmwxUmFrZUNoVCAqYWRzUHRyKTsKK3ZvaWQgQ3BoRXZsMUZsU3JwUmFrZUZuZ0NmZyhDcGhFdmwxUmFrZUZuZ0NmZ1QgKmFkc1B0cik7Cit2b2lkIENwaEV2bDFGbFNycFRhcmdldFNlY3RvckNmZyhrYWxfYm9vbCBDZWxsU3dFbkZsYWcsIGthbF91aW50OCBUYXJnZXRTZWN0b3JJZCk7CitrYWxfYm9vbCBDcGhFdmwxRmxTcnBDc21FbkNoZWNrKHZvaWQpOwordm9pZCBDcGhFdmwxRmxTcnBSYWtlVHhGcmFtZU9mZnNldENmZyhrYWxfdWludDE2IFR4RnJhbWVPZmZzZXQpOwora2FsX3VpbnQxNiBDcGhFdmwxRmxTcnBGbmdUb3RhbFNOUlJlYWQodm9pZCk7CitrYWxfdWludDMyIENwaEV2bDFGbFNycEZuZ1NOUlJlYWQoa2FsX3VpbnQ4IEZuZ0lkeCk7CitrYWxfdWludDMyIENwaEV2bDFGbFNycEZuZ1J4RFNOUlJlYWQoa2FsX3VpbnQ4IEZuZ0lkeCk7Cit2b2lkIENwaEV2bDFGbFNycFRyYWNrZXJDZmcoQ3BoRXZsMVRyYWNrZXJDZmdUICphZHNQdHIpOwordm9pZCBDcGhFdmwxRmxTcnBUcmFja2VyUmVzdWx0UmVhZChDcGhFdmwxVHJhY2tlclJlc3VsdFQqYWRzUHRyKTsKK3ZvaWQgQ3BoRXZsMUZsU3JwU3Blc3RDZmcoQ3BoRXZsMVNwZXN0Q2ZnVCAqYWRzUHRyKTsKK2thbF91aW50MzIgQ3BoRXZsMUZsU3JwQ3VyclNwZWVkUmVhZCh2b2lkKTsKK3ZvaWQgQ3BoRXZsMUZsU3JwUnhkQ2ZnKGthbF9ib29sIFJ4REVuKTsKK3ZvaWQgQ3BoRXZsMUZsU3JwT0NPbkNmZyhrYWxfYm9vbCBPY0VuRmxhZyk7Cit2b2lkIENwaEV2bDFGbFNycE1jZFN0YXJ0KGthbF91aW50MzIgTWFjU3ViVHlwZSwgQ3BoRXZsMUJzcnBNY2RJbmZvVCAqYWRzUHRyKTsKK2thbF91aW50OCBDcGhFdmwxRmxTcnBNY2RIbEFycVJlYWQoIHZvaWQgKTsKK3ZvaWQgQ3BoRXZsMUZsU3JwTWNkQXJxVHlwZUNmZyhrYWxfdWludDggTmV4dEFycVR5cGUpOwordm9pZCBDcGhFdmwxRmxTcnBNY2REYmdDZmcoRXZsMU1jZERlYnVnUGFyYW1UICphZHNQdHIpOwordm9pZCBDcGhFdmwxRmxTcnBNY2RNYWNCaXRzUmVhZChDcGhFdmwxTWNkR2V0TWFjQml0c0lucHV0VCAqYWRzUHRySW4sICBDcGhFdmwxTWNkR2V0TWFjQml0c091dHB1dFQgKmFkc1B0ck91dCk7Cit2b2lkIENwaEV2bDFGbFNycFVzaXBDZmcoa2FsX2Jvb2wgVXNpcEVuRmxhZyk7Cit2b2lkIENwaEV2bDFGbFNycFVzaXBNYWNJbmRleENmZyhrYWxfdWludDggU3VwTWFjSW5kZXgpOwordm9pZCBDcGhFdmwxRmxTcnBQZEVuYWJsZShrYWxfYm9vbCBlbmFibGUgLCB2b2lkICphZHNQdHIpOwordm9pZCBDcGhFdmwxRmxTcnBQZENvbmZpZyhDcGhFdmwxRmxTcnBQZENmZ1R5cGUgY2ZnVHlwZSwgdm9pZCAqYWRzUHRyKTsKK3ZvaWQgQ3BoRXZsMUZsU3JwRHJjSW5pdChDcGhFdmwxRmxTcnBEcmNJbml0VHlwZSBpbml0VHlwZSwgdm9pZCAqYWRzUHRyKTsKK3ZvaWQgQ3BoRXZsMUZsU3JwRHJjQ29uZmlnKENwaEV2bDFGbFNycERyY0NmZ1R5cGUgY2ZnVHlwZSwgdm9pZCAqYWRzUHRyKTsKK3ZvaWQgQ3BoRXZsMUZsU3JwRHJjVGFibGVVcGRhdGUodm9pZCAqYWRzUHRyKTsKK2thbF9pbnQzMiBDcGhFdmwxRmxTcnBEcmNSZWdSZWFkKEFQQkFERFIzMiByZWdBZGRyKTsKK3ZvaWQgQ3BoRXZsMUZsU3JwRHJjUmVnV3JpdGUoQVBCQUREUjMyIHJlZ0FkZHIsIGthbF9pbnQzMiByZWdWYWwpOwordm9pZCBDcGhFdmwxRmxTcnBSeGNJbml0aWFsVGltZUNvbmZpZyhrYWxfdWludDMyIHRpbWVTdGFtcCk7Cit2b2lkIENwaEV2bDFGbFNycFJ4Y0NyY1Jlc3VsdENvbmZpZyhDcGhFdmwxUnhjUGFja2V0Q3JjUmVzdWx0VCAqYWRzUHRyKTsKK3ZvaWQgQ3BoRXZsMUZsU3JwUnhjUGFja2V0SW5mb1JlYWQoQ3BoRXZsMVJ4Y1BhY2tldEluZm9SZWFkVCAqYWRzUHRyKTsKK3ZvaWQgQ3BoRXZsMUZsU3JwUnhjSW50ZXJsYWNlU3RhdHVzUmVhZChDcGhFdmwxUnhjSW50ZXJsYWNlU3RhdHVzUmVhZFQgKmFkc1B0cik7Cit2b2lkIENwaEV2bDFGbFNycEFmY0FjY1JlYWQoQ3BoRXZsMUFmY0FjY01ldHJpY1QgKmFkc1B0cik7CitrYWxfYm9vbCBDcGhFdmwxRmxTcnBBZmNCdXN5Q2hrKHZvaWQpOwordm9pZCBDcGhFdmwxRmxTcnBBZmNSc3Qodm9pZCk7Cit2b2lkIENwaEV2bDFGbFNycEFmY0xvY2sodm9pZCk7Cit2b2lkIENwaEV2bDFGbFNycEFmY1VuTG9jayh2b2lkKTsKK3ZvaWQgQ3BoRXZsMUZsU3JwQWZjTW9kZUNmZyhDcGhBZmNNb2RlVCBBZmNNb2RlKTsKK3ZvaWQgQ3BoRXZsMUZsU3JwUHJlU05SUmVhZChDcGhFdmwxQ2VQcmVTbnJUICpDRVNucik7CitrYWxfdWludDE2IENwaEV2bDFGbFNycFBvc3RTTlJSZWFkKGthbF91aW50OCBJbnRlcmxhY2VJZCk7Cit2b2lkIENwaEV2bDFGbFNycEMyaU11Q2ZnKGthbF91aW50MzIgSWlyVGltZSk7CitrYWxfdWludDE2IENwaEV2bDFGbFNycEMyaVNhbXBsQ250R2V0KGthbF91aW50OCBTZWNJZCk7Cit2b2lkIENwaEV2bDFGbFNycEMyaUxvZ1Jsc3RHZXQoa2FsX3VpbnQ4IFNlY0lkLCBrYWxfaW50MTYgKkMyaUxvZzB5LCBrYWxfaW50MTYgKkMyaUxvZzF5KTsKK2thbF91aW50OCBDcGhFdmwxRmxTcnBTdXBNYWNJbmRleFJlYWQoa2FsX3VpbnQ4IEludGVybGFjZUlkKTsKK2thbF91aW50MzIgQ3BoRXZsMUZsU3JwRm5TbG90T2Zmc2V0UmVhZCh2b2lkKTsKK2thbF91aW50OCBDcGhFdmwxRmxTcnBTdWJUeXBlUmVhZCh2b2lkKTsKK2thbF91aW50MTYgQ3BoRXZsMUZsU3JwRHJjQzJpU2hvcnRSZWFkKHZvaWQpOwora2FsX3VpbnQxNiBDcGhFdmwxRmxTcnBEcmNDMmlMb25nUmVhZCh2b2lkKTsKK2thbF91aW50OCBDcGhFdmwxRmxTcnBEcmNWYWx1ZVJlYWQodm9pZCk7CitrYWxfdWludDggQ3BoRXZsMUZsU3JwVXNlck1hY0luZGV4UmVhZCh2b2lkKTsKK2V4dGVybiB2b2lkIENwaEV2bDFGbFNycEdzclJlYWQoQ3BoRXZsMUZsU3JwR3NyVCAqYWRzUHRyKTsKK2V4dGVybiBrYWxfdWludDMyIENwaEV2bDFGbFNycEZuZ0VuUmVhZCgpOworZXh0ZXJuIGthbF91aW50MzIqIENwaEV2bDFGbFNycENhbEJpZ1JBTUFkZHIodm9pZCk7CitleHRlcm4gdm9pZCBDcGhFdmwxRmxTcnBSeGNDb25maWdNaW5Db250U3BhbihrYWxfdWludDggTWluQ29udFNwYW4pOworZXh0ZXJuIHZvaWQgQ3BoRXZsMUZsU3JwQ3VpZkNmZyhDcGhFdmwxQ3VpZkNmZ1BhcmFtVCAqYWRzUHRyKTsKK2V4dGVybiB2b2lkIENwaEV2bDFGbFNycFRpbWluZ0FkakNmZyhrYWxfaW50MTYgVGltZUFkakVjaGlwKTsKKyNlbmRpZgorCisKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jcGhldmRvcmxicnAuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jcGhldmRvcmxicnAuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMjY3MmU1Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NwaGV2ZG9ybGJycC5oCkBAIC0wLDAgKzEsMTA3IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfQ1BIX0VWRE9fUkxCUlBfSF8KKyNkZWZpbmUgX0NQSF9FVkRPX1JMQlJQX0hfCisKKworI2luY2x1ZGUgImNsMWNvbW1vbi5oIgorCisjaW5jbHVkZSAia2FsX2dlbmVyYWxfdHlwZXMuaCIKKyNpbmNsdWRlICJjcGhldmRvcmxjb21kZWYuaCIKKworCisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgR2xvYmFsIFR5cGVkZWZzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwordHlwZWRlZiBlbnVtCit7CisgICAgQlJQX1NXQVBfRk9STUFUNCA9IDAsCisgICAgQlJQX1NXQVBfRk9STUFUMSA9IDEsCisgICAgQlJQX1NXQVBfRk9STUFUMiA9IDIsCisgICAgQlJQX1NXQVBfRk9STUFUMyA9IDQKK30gQ3BoRXZkb1JsQnJwU3dhcFR5cFQ7CisKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfYm9vbCAgIEh3VHJpZzsKKyAgICBDcGhFdmRvQ29tQ25obFR5cFQgQ2hubFR5cDsKKyAgICBDcGhFdmRvQ29tQWNjUHJ0Y2xUeXBUICAgQWNjUHJ0Y2xTYlR5cDsKKyAgICBDcGhFdmRvQ29tVHJmZmNQcnRjbFR5cFQgUnRjUHJ0Y2xTYnR5cDsKKyAgICBDcGhFdmRvUmxCcnBTd2FwVHlwVCBTd2FwVHlwOworfSBDcGhFdmRvUmxCcnBJbml0VDsKKworCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF9ib29sIEVuYWJsZTsKK30gQ3BoRXZkb1JsQnJwRW5UOworCisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX3VpbnQxNiBBY2NEYXRhOworICAgIGthbF91aW50MTYgVHJmZmNTYnR5cDAxRGF0YTsKKyAgICBrYWxfdWludDE2IFRyZmZjU2J0eXAyRGF0YUFjazsKKyAgICBrYWxfdWludDE2IFRyZmZjU2J0eXAyRGF0YU5hazsgICAgCisgICAgCisgICAga2FsX3VpbnQzMiBQYWNrZXREYXRhQWRkcjsKKyAgICBrYWxfdWludDMyIFBhY2tldERhdGFBZGRyTmFrOworCit9IENwaEV2ZG9SbEJycERhdGFDZmdUOworCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEdsb2JhbCBGdW5jdGlvbiBQcm90b3R5cGVzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KK3ZvaWQgQ3BoRXZkb1JsQnJwSW5pdChDcGhFdmRvUmxCcnBJbml0VCAqQWRzUHRyKTsKK3ZvaWQgQ3BoRXZkb1JsQnJwUmVzZXQodm9pZCk7Cit2b2lkIENwaEV2ZG9SbEJycEVuKENwaEV2ZG9SbEJycEVuVCAqQWRzUHRyKTsKK3ZvaWQgQ3BoRXZkb1JsQnJwU3dUcmlnKHZvaWQpOwordm9pZCBDcGhFdmRvUmxCcnBEYXRhQ2ZnKENwaEV2ZG9SbEJycERhdGFDZmdUICAqQWRzUHRyKTsKK3ZvaWQgQ3BoRXZkb1JsQnJwU3dJbnRlcmxhY2VFbihrYWxfdWludDggSW50ZXJsYWNlKTsKK3ZvaWQgQ3BoRXZkb1JsQnJwU3dJbnRlcmxhY2VEaXNFbih2b2lkKTsKK3ZvaWQgQ3BoRXZkb1JsQnJwRGVndWdDcmNFbih2b2lkKTsKK3ZvaWQgQ3BoRXZkb1JsQnJwRGVndWdDcmNSZWFkKGthbF91aW50MzIgKkJycENyY0ksa2FsX3VpbnQzMiAqQnJwQ3JjUSk7CitDcGhFdmRvQ29tQ25obFR5cFQgQ3BoRXZkb1JsQnJwQ2hubFR5cGVHZXQoKTsKK3ZvaWQgQ3BoRXZkb1JsQnJwTW9kZVNlbCgpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogRW5kIG9mIEZpbGUKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2VuZGlmCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY3BoZXZkb3JsYnNycHJlZ2FjY2Vzcy5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NwaGV2ZG9ybGJzcnByZWdhY2Nlc3MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZDEyNGJiCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NwaGV2ZG9ybGJzcnByZWdhY2Nlc3MuaApAQCAtMCwwICsxLDcwIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9DUEhFVkRPUkxCU1JQUkVHQUNDRVNTX0hfCisjZGVmaW5lIF9DUEhFVkRPUkxCU1JQUkVHQUNDRVNTX0hfCisKKworI2lmbmRlZiBNVEtfQzJLX0NPU0lNICAgCisjdW5kZWYgSHdkV3JpdGUzMgorI3VuZGVmIEh3ZFJlYWQzMgorI2lmZGVmIE1US19QTFRfT05fUEMKKyNkZWZpbmUgSHdkV3JpdGUzMihSZWcsIGRhdGEpICAgRXZsMVJsQnNycFJlZ1dyaXRlKChId2RSZWdUKShSZWcpLCBkYXRhKSAgICAgICAgCisjZGVmaW5lIEh3ZFJlYWQzMihSZWcpICAgICAgICAgIEV2bDFSbEJzcnBSZWdSZWFkKChId2RSZWdUKShSZWcpKQorI2Vsc2UKKyNkZWZpbmUgSHdkV3JpdGUzMihSZWcsIGRhdGEpICAgRXZsMVJsQnNycFJlZ1dyaXRlKCh2b2xhdGlsZSB1bnNpZ25lZCBsb25nKikoUmVnKSwgZGF0YSkgICAgICAgIAorI2RlZmluZSBId2RSZWFkMzIoUmVnKSAgICAgICAgICBFdmwxUmxCc3JwUmVnUmVhZCgodm9sYXRpbGUgdW5zaWduZWQgbG9uZyopKFJlZykpCisKKyNlbmRpZgorCisjZW5kaWYgLyogI2lmbmRlZiBNVEtfQzJLX0NPU0lNICovCisKKworI2lmZGVmIE1US19QTFRfT05fUEMKK2V4dGVybiB2b2lkIEV2bDFSbEJzcnBSZWdXcml0ZShId2RSZWdUIHJlZywga2FsX3VpbnQzMiBkYXRhKTsKK2V4dGVybiBrYWxfaW50MzIgRXZsMVJsQnNycFJlZ1JlYWQoSHdkUmVnVCByZWcpOworCisjZWxzZQorZXh0ZXJuIHZvaWQgRXZsMVJsQnNycFJlZ1dyaXRlKHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqIHJlZywga2FsX3VpbnQzMiBkYXRhKTsKK2V4dGVybiBrYWxfaW50MzIgRXZsMVJsQnNycFJlZ1JlYWQodm9sYXRpbGUgdW5zaWduZWQgbG9uZyogcmVnKTsKKworI2VuZGlmCisKKworI2VuZGlmICAvKiAjaWZuZGVmIF9DUEhFVkRPRkxTUlBSRUdBQ0NFU1NfSF8gKi8KKworCisKKwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NwaGV2ZG9ybGNvbWRlZi5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NwaGV2ZG9ybGNvbWRlZi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3YWI1ZDUKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY3BoZXZkb3JsY29tZGVmLmgKQEAgLTAsMCArMSwxMzMgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKworI2lmbmRlZiBfQ1BIX0VWRE9fUkxfQ09NX0RFRl9IXworI2RlZmluZSBfQ1BIX0VWRE9fUkxfQ09NX0RFRl9IXworCisKK3R5cGVkZWYgZW51bQoreworICAgIEFDQ0VTU19DSEFOTkVMLAorICAgIFRSQUZGSUNfQ0hBTk5FTAorfSBDcGhFdmRvQ29tQ25obFR5cFQ7CisKK3R5cGVkZWYgZW51bQoreworICAgIEFDQ0VTUzBfUFJPVE9DT0wsCisgICAgQUNDRVNTMTJfUFJPVE9DT0wKK30gQ3BoRXZkb0NvbUFjY1BydGNsVHlwVDsKKworCit0eXBlZGVmIGVudW0KK3sKKyAgICBUUkFGRklDMDFfUFJPVE9DT0wsCisgICAgVFJBRkZJQzJfUFJPVE9DT0wKK30gQ3BoRXZkb0NvbVRyZmZjUHJ0Y2xUeXBUOworCit0eXBlZGVmIGVudW0KK3sKKyAgICBBQ0NFU1NfU1lNQk9MRV9SQVRFXzAsCisgICAgQUNDRVNTX1NZTUJPTEVfUkFURV85NiwKKyAgICBBQ0NFU1NfU1lNQk9MRV9SQVRFXzE5MiwKKyAgICBBQ0NFU1NfU1lNQk9MRV9SQVRFXzM4NCwKKyAgICBBQ0NFU1NfU1lNQk9MRV9SQVRFXzc2OCwKKyAgICBBQ0NFU1NfU1lNQk9MRV9SQVRFXzE1MworfSBDcGhFdmRvQ29tQWNjU3ltYlJhdGVUOworCisKK3R5cGVkZWYgZW51bQoreworICAgIEFDQ0VTU19QQVlMT0FEX0lOREVYXzAgPSAwLAorICAgIEFDQ0VTU19QQVlMT0FEX0lOREVYXzI1NiA9IDIsCisgICAgQUNDRVNTX1BBWUxPQURfSU5ERVhfNTEyID0gMywKKyAgICBBQ0NFU1NfUEFZTE9BRF9JTkRFWF8xMDI0ID0gNSwKKyAgICBBQ0NFU1NfUEFZTE9BRF9JTkRFWF8yMDQ4ID0gNywKKyAgICBBQ0NFU1NfUEFZTE9BRF9JTkRFWF80MDk2ID0gOSwKK30gQ3BoRXZkb0NvbUFjY1BsZElkeFQ7CisKK3R5cGVkZWYgZW51bQoreworICAgIFRSQUZGSUNfU1VCVFVQRTAxX1NZTUJPTEVfUkFURV8wLAorICAgIFRSQUZGSUNfU1VCVFVQRTAxX1NZTUJPTEVfUkFURV85NiwKKyAgICBUUkFGRklDX1NVQlRVUEUwMV9TWU1CT0xFX1JBVEVfMTkyLAorICAgIFRSQUZGSUNfU1VCVFVQRTAxX1NZTUJPTEVfUkFURV8zODQsCisgICAgVFJBRkZJQ19TVUJUVVBFMDFfU1lNQk9MRV9SQVRFXzc2OCwKKyAgICBUUkFGRklDX1NVQlRVUEUwMV9TWU1CT0xFX1JBVEVfMTUzCit9IENwaEV2ZG9Db21UcmZmY1NidHlwMDFTeW1iUmF0ZVQ7CisKKwordHlwZWRlZiBlbnVtCit7CisgICAgVFJBRkZJQ19TVUJUVVBFMDFfUEFZTE9BRF9JTkRFWF8wID0gMCwKKyAgICBUUkFGRklDX1NVQlRVUEUwMV9QQVlMT0FEX0lOREVYXzI1NiA9IDIsCisgICAgVFJBRkZJQ19TVUJUVVBFMDFfUEFZTE9BRF9JTkRFWF81MTIgPSAzLAorICAgIFRSQUZGSUNfU1VCVFVQRTAxX1BBWUxPQURfSU5ERVhfMTAyNCA9IDUsCisgICAgVFJBRkZJQ19TVUJUVVBFMDFfUEFZTE9BRF9JTkRFWF8yMDQ4ID0gNywKKyAgICBUUkFGRklDX1NVQlRVUEUwMV9QQVlMT0FEX0lOREVYXzQwOTYgPSA5LAorfUNwaEV2ZG9Db21UcmZmY1NidHlwMDFQbGRJZHhUOworCisKK3R5cGVkZWYgZW51bQoreworICAgIFRSQUZGSUNfU1VCVFVQRTJfUEFZTE9BRF9JTkRFWF8wID0gMCwKKyAgICBUUkFGRklDX1NVQlRVUEUyX1BBWUxPQURfSU5ERVhfMTI4ID0gMSwKKyAgICBUUkFGRklDX1NVQlRVUEUyX1BBWUxPQURfSU5ERVhfMjU2ID0gMiwKKyAgICBUUkFGRklDX1NVQlRVUEUyX1BBWUxPQURfSU5ERVhfNTEyID0gMywKKyAgICBUUkFGRklDX1NVQlRVUEUyX1BBWUxPQURfSU5ERVhfNzY4ID0gNCwKKyAgICBUUkFGRklDX1NVQlRVUEUyX1BBWUxPQURfSU5ERVhfMTAyNCA9IDUsCisgICAgVFJBRkZJQ19TVUJUVVBFMl9QQVlMT0FEX0lOREVYXzE1MzYgPSA2LAorICAgIFRSQUZGSUNfU1VCVFVQRTJfUEFZTE9BRF9JTkRFWF8yMDQ4ID0gNywKKyAgICBUUkFGRklDX1NVQlRVUEUyX1BBWUxPQURfSU5ERVhfMzA3MiA9IDgsCisgICAgVFJBRkZJQ19TVUJUVVBFMl9QQVlMT0FEX0lOREVYXzQwOTYgPSA5LAorICAgIFRSQUZGSUNfU1VCVFVQRTJfUEFZTE9BRF9JTkRFWF82MTQ0ID0gMTAsCisgICAgVFJBRkZJQ19TVUJUVVBFMl9QQVlMT0FEX0lOREVYXzgxOTIgPSAxMSwKKyAgICBUUkFGRklDX1NVQlRVUEUyX1BBWUxPQURfSU5ERVhfMTI4OCA9IDEyLAorICAgIFRSQUZGSUNfU1VCVFVQRTJfUEFZTE9BRF9JTkRFWF9OVU0KK30gQ3BoRXZkb0NvbVRyZmZjU2J0eXAyUGxkSWR4VDsKKwordHlwZWRlZiBlbnVtCit7CisgICAgVFJBRkZJQ19TVUJUVVBFMl9TVUJQQUNLRVRfSU5ERVhfMCA9IDAsCisgICAgVFJBRkZJQ19TVUJUVVBFMl9TVUJQQUNLRVRfSU5ERVhfMSA9IDEsCisgICAgVFJBRkZJQ19TVUJUVVBFMl9TVUJQQUNLRVRfSU5ERVhfMiA9IDIsCisgICAgVFJBRkZJQ19TVUJUVVBFMl9TVUJQQUNLRVRfSU5ERVhfMyA9IDMsCisgICAgVFJBRkZJQ19TVUJUVVBFMl9TVUJQQUNLRVRfTlVNCit9IENwaEV2ZG9Db21UcmZmY1NidHlwMlNiUGFja2V0SWR4VDsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIEVuZCBvZiBGaWxlCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NwaGV2ZG9ybGNycC5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NwaGV2ZG9ybGNycC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4NTQwZGYKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY3BoZXZkb3JsY3JwLmgKQEAgLTAsMCArMSwyMzggQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKworI2lmbmRlZiBfQ1BIX0VWRE9fUkxDUlBfSF8KKyNkZWZpbmUgX0NQSF9FVkRPX1JMQ1JQX0hfCisKKworI2luY2x1ZGUgImNsMWNvbW1vbi5oIgorI2luY2x1ZGUgImthbF9nZW5lcmFsX3R5cGVzLmgiCisjaW5jbHVkZSAiY3BoZXZkb3JsY29tZGVmLmgiCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEdsb2JhbCBUeXBlZGVmcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX2Jvb2wgICBId0RyY0RzY0Jvb3N0OworICAgIGthbF9ib29sICAgSHdUcmlnOworICAgIGthbF9ib29sICAgSHdIYXJxQ2ZnOworICAgIGthbF9ib29sICAgU3dEcmNWYWx1ZUNmZzsKKyAgICBrYWxfYm9vbCAgIFN3RHJjQ2hhbmdlQ3RybDsKKyAgICBrYWxfYm9vbCAgIEludklxOworfSBDcGhFdmRvUmxDcnBJbml0VDsKKworCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF9ib29sIFJlc2V0OworfSBDcGhFdmRvUmxDcnBSZXNldFQ7CisKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAgQ3BoRXZkb0NvbUFjY1BydGNsVHlwVCBQcm90b2NvbFN1YnR5cDsKKyAgICAga2FsX3VpbnQxNiBQcm1ibFBsdFNjYWxlOworfSBDcGhFdmRvUmxDcnBBY2NQcm1ibENmZ1Q7CisKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAga2FsX3VpbnQxNiBQbHRTY2FsZTsKKyAgICAga2FsX3VpbnQxNiBQcm1ibFBsdFNjYWxlOworICAgICBrYWxfdWludDE2IERhdGFTY2FsZTA7CisgICAgIGthbF91aW50MTYgUnJpRGF0YTsKKyAgICAga2FsX3VpbnQxNiBEYXRhU2NhbGVLc0FjazsKK30gQ3BoRXZkb1JsQ3JwQWNjQ3BzbENmZ1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgIENwaEV2ZG9Db21UcmZmY1BydGNsVHlwVCBQcm90b2NvbFN1YnR5cDsKKyAgICAga2FsX3VpbnQxNiBQbHRTY2FsZTsKKyAgICAga2FsX3VpbnQxNiBBdXhQbHRNaW5QeWxkOworICAgICBrYWxfdWludDE2IERyY0xlbjsKKyAgICAga2FsX3VpbnQxNiBEcmNHYXRpbmc7CisgICAgIGthbF91aW50MTYgRHJjU2NhbGU7CisgICAgIGthbF91aW50MTYgRHJjU2NhbGVCb29zdDsKKyAgICAga2FsX3VpbnQxNiBEcmNCb29zdExlbjsKKyAgICAga2FsX3VpbnQxNiBEc2NTY2FsZTsKKyAgICAga2FsX3VpbnQxNiBEc2NTY2FsZUJvb3N0OworICAgICBrYWxfdWludDE2IERzY0Jvb3N0TGVuOworICAgICBrYWxfdWludDMyIEFja1N1cFNjYWxlOworICAgICBrYWxfdWludDMyIEFja011cFNjYWxlOworfSBDcGhFdmRvUmxDcnBUcmZmY1BhcmFtQ2ZnVDsKKworCit0eXBlZGVmIHN0cnVjdAoreworICAgICBrYWxfdWludDE2IERyY0xlbjsKKyAgICAga2FsX3VpbnQxNiBEcmNTY2FsZTsKKyAgICAga2FsX3VpbnQxNiBBY2tTdXBTY2FsZTsKKyAgICAga2FsX3VpbnQxNiBBY2tNdXBTY2FsZTsKKyAgICAga2FsX3VpbnQxNiBEc2NTY2FsZTsKK30gQ3BoRXZkb1JsQ3JwVHJmZmNTZW1pU3RhdGljQ2ZnVDsKKworCit0eXBlZGVmIHN0cnVjdAoreworICAgICBrYWxfdWludDE2IEF1eFBsdFNjYWxlQWNrOworICAgICBrYWxfdWludDE2IEF1eFBsdFNjYWxlTmFrOworICAgICBrYWxfdWludDE2IFJyaVNjYWxlQWNrOworICAgICBrYWxfdWludDE2IFJyaVNjYWxlTmFrOworICAgICBrYWxfdWludDE2IERhdGFTY2FsZUtzQWNrOworICAgICBrYWxfdWludDE2IERhdGFTY2FsZUtzTmFrOworICAgICBrYWxfdWludDE2IERhdGFTY2FsZTBBY2s7CisgICAgIGthbF91aW50MTYgRGF0YVNjYWxlME5hazsKKyAgICAga2FsX3VpbnQxNiBEYXRhU2NhbGUxQWNrOworICAgICBrYWxfdWludDE2IERhdGFTY2FsZTFOYWs7CisgICAgIGthbF91aW50MTYgRGF0YVNjYWxlMkFjazsKKyAgICAga2FsX3VpbnQxNiBEYXRhU2NhbGUyTmFrOworICAgICBrYWxfdWludDE2IERhdGFTY2FsZTNBY2s7CisgICAgIGthbF91aW50MTYgRGF0YVNjYWxlM05hazsKKyAgICAga2FsX3VpbnQxNiBScmlEYXRhMTsKKyAgICAga2FsX3VpbnQxNiBScmlEYXRhMkFjazsKKyAgICAga2FsX3VpbnQxNiBScmlEYXRhMk5hazsKKyAgICAgQ3BoRXZkb0NvbVRyZmZjU2J0eXAyUGxkSWR4VCBQbGRJZHg7CisgICAgIENwaEV2ZG9Db21UcmZmY1NidHlwMlNiUGFja2V0SWR4VCBTYlBhY2tldElkeDsKK30gQ3BoRXZkb1JsQ3JwVHJmZmNEYXRhQ2ZnVDsKKworCit0eXBlZGVmIHN0cnVjdAoreworICAgICBrYWxfdWludDE2IFNsb3RPZmZzZXQ7CisgICAgIGthbF91aW50MzIgTG9uZ1BuTWFza0g7CisgICAgIGthbF91aW50MzIgTG9uZ1BuTWFza0w7Cit9Q3BoRXZkb1JsQ3JwUG5Db2RlQ2ZnVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAga2FsX3VpbnQxNiBDdXJTbG90OworICAgICBrYWxfdWludDE2IERyY0NvdmVyOworfSBDcGhFdmRvUmxDcnBEcmNDb3ZlckNmZ1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgIGthbF91aW50MTYgQ3VyU2xvdDsKKyAgICAga2FsX3VpbnQxNiBEc2NEYXRhOworfSBDcGhFdmRvUmxDcnBEc2NEYXRhQ2ZnVDsKKworCit0eXBlZGVmIGVudW0KK3sKKyAgICBTSU5HTEVfVVNFUiwKKyAgICBNVUxJVElQTEVfVVNFUgorfSBDcGhFdmRvUmxDcnBBY2tVc2VyVHlwVDsKKworCit0eXBlZGVmIHN0cnVjdAoreworICAgICBrYWxfYm9vbCBFbmFibGU7ICAgICAKKyAgICAgQ3BoRXZkb1JsQ3JwQWNrVXNlclR5cFQgIEFja1VzZXJUeXBlOworICAgICBrYWxfdWludDggIEFja2JpdDsKK30gQ3BoRXZkb1JsQ3JwQWNrQ2hubENmZ1Q7CisKKworCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF9ib29sIEVuYWJsZTsKK30gQ3BoRXZkb1JsQ3JwRW5DZmdUOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF9ib29sIEZyZWV6ZTsKK30gQ3BoRXZkb1JsQ3JwRnJlZXplQ2ZnVDsKKworCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF9ib29sIEtzVHJpZzsKK30gQ3BoRXZkb1JsQ3JwVHN0S3NUcmlnVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfYm9vbCBUaW1lclRyaWc7Cit9IENwaEV2ZG9SbENycFRzdFRpbWVyVHJpZ1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX3VpbnQxNiBEcmNWYWx1ZTsKK30gQ3BoRXZkb1JsQ3JwVHN0RHJjVmFsdWVDZmdUOworCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEdsb2JhbCBGdW5jdGlvbiBQcm90b3R5cGVzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwordm9pZCBDcGhFdmRvUmxDcnBJbml0KENwaEV2ZG9SbENycEluaXRUICpBZHNQdHIpOwordm9pZCBDcGhFdmRvUmxDcnBSZXNldChDcGhFdmRvUmxDcnBSZXNldFQgKkFkc1B0cik7Cit2b2lkIENwaEV2ZG9SbENycEFjY1BybWJsQ2ZnKENwaEV2ZG9SbENycEFjY1BybWJsQ2ZnVCAqQWRzUHRyKTsKK3ZvaWQgQ3BoRXZkb1JsQ3JwQWNjQ3BzbENmZyhDcGhFdmRvUmxDcnBBY2NDcHNsQ2ZnVCAqQWRzUHRyKTsKK3ZvaWQgQ3BoRXZkb1JsQ3JwVHJmZmNTdGF0aWNDZmcoQ3BoRXZkb1JsQ3JwVHJmZmNQYXJhbUNmZ1QgKkFkc1B0cik7Cit2b2lkIENwaEV2ZG9SbENycFRyZmZjU2VtaVN0YXRpY0NmZyhDcGhFdmRvUmxDcnBUcmZmY1NlbWlTdGF0aWNDZmdUICpBZHNQdHIpOwordm9pZCBDcGhFdmRvUmxDcnBUcmZmY0RhdGFDZmcoQ3BoRXZkb1JsQ3JwVHJmZmNEYXRhQ2ZnVCAqQWRzUHRyKTsKK3ZvaWQgQ3BoRXZkb1JsQ3JwUG5Db2RlQ2ZnKENwaEV2ZG9SbENycFBuQ29kZUNmZ1QgKkFkc1B0cik7Cit2b2lkIENwaEV2ZG9SbENycERyY0NvdmVyQ2ZnKENwaEV2ZG9SbENycERyY0NvdmVyQ2ZnVCAqQWRzUHRyKTsKK3ZvaWQgQ3BoRXZkb1JsQ3JwRHNjRGF0YUNmZyhDcGhFdmRvUmxDcnBEc2NEYXRhQ2ZnVCAqQWRzUHRyKTsKK3ZvaWQgQ3BoRXZkb1JsQ3JwRnJlZXplQ2ZnKENwaEV2ZG9SbENycEZyZWV6ZUNmZ1QgKkFkc1B0cik7Cit2b2lkIENwaEV2ZG9SbENycEFja0NobmxDZmcoQ3BoRXZkb1JsQ3JwQWNrQ2hubENmZ1QgKkFkc1B0cik7Cit2b2lkIENwaEV2ZG9SbENycERpc0Fja0Nobmwodm9pZCk7Cit2b2lkIENwaEV2ZG9SbENycFdyaXRlU3VwQWNrU2NhbGUoa2FsX3VpbnQzMiBTdXBBY2tTY2FsZSk7Cit2b2lkIENwaEV2ZG9SbENycFdyaXRlTXVwQWNrU2NhbGUoa2FsX3VpbnQzMiBNdXBBY2tTY2FsZSk7Cit2b2lkIENwaEV2ZG9SbENycFRzdEVuYWJsZUNmZyhDcGhFdmRvUmxDcnBFbkNmZ1QgKkFkc1B0cik7Cit2b2lkIENwaEV2ZG9SbENycFRzdEtzVHJpZyhDcGhFdmRvUmxDcnBUc3RLc1RyaWdUICpBZHNQdHIpOwordm9pZCBDcGhFdmRvUmxDcnBUc3RUaW1lclRyaWcoQ3BoRXZkb1JsQ3JwVHN0VGltZXJUcmlnVCAqQWRzUHRyKTsKK3ZvaWQgQ3BoRXZkb1JsQ3JwVHN0RHJjVmFsdWVDZmcoQ3BoRXZkb1JsQ3JwVHN0RHJjVmFsdWVDZmdUICpBZHNQdHIpOwordm9pZCBDcGhFdmRvSW5pdGlhbGl6ZUNoYW5uZWxTY2FsZSgpOwordm9pZCBDcGhFdmRvRHJjUmF0ZVZhbHVlRm9yVGVzdChrYWxfdWludDMyIERSQ1ZhbHVlKTsKK3ZvaWQgQ3BoRXZkb1JyaURhdGFBY2tTeW1ib2xSYXRlKGthbF91aW50MzIgUnJpRGF0YUFjayApOwora2FsX2ludDE2IENwaEV2ZG9SbENycEFja1ZhbHVlR2V0KCk7CitrYWxfdWludDMyIENwaEV2ZG9EcmNWYWx1ZURlYnVnKCk7CitrYWxfdWludDMyIENwaEV2ZG9SbEFja0RlYnVnKCk7CitrYWxfdWludDMyIENwaEV2ZG9SbEtzMERlYnVnKCk7CitrYWxfdWludDMyIENwaEV2ZG9SbEtzMURlYnVnKCk7CitrYWxfdWludDMyIENwaEV2ZG9DcnBGc21EZWJ1ZygpOwora2FsX3VpbnQzMiBDcGhFdmRvUmxDcnBEc2NEYXRhUmVhZCgpOwordm9pZCBDcGhFdmRvUmxDcnBDcmNDaGVja0NmZyhrYWxfdWludDMyIENyY0xlbmd0aCk7Cit2b2lkIENwaEV2ZG9SbENycE1vZGVTZWwoKTsKKy8vdm9pZCBDcGhFdmRvUmxDcnBBbGxSZWdpc3RlckR1bXAoKTsgIC8qIG9ubHkgZm9yIFR4Y3JwIGRlYnVnICovCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIEVuZCBvZiBGaWxlCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NwaGV2ZG9ybHRtci5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NwaGV2ZG9ybHRtci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjYTQ4YmEKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY3BoZXZkb3JsdG1yLmgKQEAgLTAsMCArMSw5MyBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0NQSEVWRE9STFRNUl9IXworI2RlZmluZSBfQ1BIRVZET1JMVE1SX0hfCisKKyNpbmNsdWRlICJjbDFjb21tb24uaCIKKyNpbmNsdWRlICJrYWxfZ2VuZXJhbF90eXBlcy5oIgorCisvKipGb3IgTUQ5MyBhbmQgTUQ5NSwgdGhlIFJGQ19SVFRfVFJYUEFUSF9ERUxBWSBuZWVkIHRvIHNldCBkaWZmZXJlbnQgdmFsdWUhKi8KKyNpZmRlZiBfX01EOTNfXworI2RlZmluZSBET19UWFJYREVMQVkgICAgICAgICAoMjc4KSAgLy9TYW1lIGFzIFJGQ19ET19UUlhQQVRIX0RFTEFZCisjZWxpZiBkZWZpbmVkIF9fTUQ5NV9fCisjZGVmaW5lIERPX1RYUlhERUxBWSAgICAgICAgICgyNzMpICAvL1NhbWUgYXMgUkZDX0RPX1RSWFBBVEhfREVMQVkgICAgICAgICAgIAorI2Vsc2UKKy8qKlVzZWQgdG8gT3RoZXIgU2V0dGluZyAsZm9yIGV4YW1wbGUgTUQ5NyovCisjaWYgZGVmaW5lZChNVDYyOTcpCisjZGVmaW5lIERPX1RYUlhERUxBWSAgICAgICAgICg0MTkpICAvL1NhbWUgYXMgUkZDX0RPX1RSWFBBVEhfREVMQVkgICAgCisjZWxpZiBkZWZpbmVkKE1UNjg4NSl8fCBkZWZpbmVkKE1UNjg3MykKKyNkZWZpbmUgRE9fVFhSWERFTEFZICAgICAgICAgKDQwMikgIC8vU2FtZSBhcyBSRkNfRE9fVFJYUEFUSF9ERUxBWSAKKyNlbHNlCisjZGVmaW5lIERPX1RYUlhERUxBWSAgICAgICAgICg0MDIpICAvL1NhbWUgYXMgUkZDX0RPX1RSWFBBVEhfREVMQVkgICAKKyNlbmRpZgorCisjZW5kaWYKKwordHlwZWRlZiBlbnVtCit7CisgICAgVFhfVE1SX0RPX1dJTl9UWVBFX0NSUCwKKyAgICBUWF9UTVJfRE9fV0lOX1RZUEVfVFhERkVfRklGTywKKyAgICBUWF9UTVJfRE9fV0lOX1RZUEVfVFhERkUsCisgICAgVFhfVE1SX0RPX1dJTl9UWVBFX1RYREFDLAorICAgIFRYX1RNUl9ET19XSU5fVFlQRV9NQVgKK31DcGhFdmRvVHhUbXJXaW5UeXBlVDsKKwordHlwZWRlZiBlbnVtCit7CisgICAgVFhfVE1SX0RPX1NUUkJfVFlQRV9UWEJSUCA9IDAsCisgICAgVFhfVE1SX0RPX1NUUkJfVFlQRV9UWENSUCwKKyAgICBUWF9UTVJfRE9fU1RSQl9UWVBFX0tTLAorICAgIFRYX1RNUl9ET19TVFJCX1RZUEVfTUFYCit9Q3BoRXZkb1R4VG1yU3RyYlR5cGVUOworCit0eXBlZGVmIGVudW0KK3sKKyAgICBUWF9UTVJfRE9fU1RSQl9UUklHX1RZUEVfRElTID0gMCwKKyAgICBUWF9UTVJfRE9fU1RSQl9UUklHX1RZUEVfU0lOR0xFID0gMSwKKyAgICBUWF9UTVJfRE9fU1RSQl9UUklHX1RZUEVfU0xPVF9PUl9GUkFNRSA9IDIsCisgICAgVFhfVE1SX0RPX1NUUkJfVFJJR19UWVBFX1NVQkZSQU1FID0gMywKKyAgICBUWF9UTVJfRE9fU1RSQl9UUklHX1RZUEVfTUFYCit9Q3BoRXZkb1R4VG1yU3RyYlRyaWdUeXBlVDsKKworCit2b2lkIENwaEV2ZG9UeFRtckluaXQoKTsKK3ZvaWQgQ3BoRXZkb1R4VG1yRnJhbWVPZmZzZXQoa2FsX3VpbnQzMiBGcmFtZU9mZnNldCk7Cit2b2lkIENwaEV2ZG9UeFRtcldpbkNmZyhDcGhFdmRvVHhUbXJXaW5UeXBlVCBUeXBlLCBrYWxfYm9vbCBJc09uLCBrYWxfdWludDMyIFdpblRpbWUpOwordm9pZCBDcGhFdmRvVHhUbXJTdHJiQ2ZnKENwaEV2ZG9UeFRtclN0cmJUeXBlVCBTdGJUeXBlLCBDcGhFdmRvVHhUbXJTdHJiVHJpZ1R5cGVUIFRyaWdUeXBlLCBrYWxfdWludDMyIFN0YlRpbWUpOwora2FsX2ludDMyIENwaEV2ZG9HZXRUeFRtcigpOwora2FsX2ludDMyIENwaEV2ZG9UeFJ4RGVsYXkoKTsKK3ZvaWQgQ3BoRXZkb1NldFR4UnhEZWxheShrYWxfdWludDMyIFR4UnhEZWxheSk7CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NwaGV2ZG9zY2guaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jcGhldmRvc2NoLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDk4Mzg4YwotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jcGhldmRvc2NoLmgKQEAgLTAsMCArMSwzNDAgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhFVkRPU0NIX0hfCisjZGVmaW5lIF9DUEhFVkRPU0NIX0hfCisKKy8vI2luY2x1ZGUgImNsMWNvbW1vbi5oIgorI2luY2x1ZGUgImthbF9nZW5lcmFsX3R5cGVzLmgiCisKKyNkZWZpbmUgU0NIX01BWF9QSUxPVFMgICAgICAgICAgICA1NgorI2RlZmluZSBTQ0hfS0VQVF9QSUxPVFMgICAgICAgICAgIDIwCisjZGVmaW5lIFNZU19NQVhfQUNUSVZFX0xJU1RfUElMT1RTICAgICAgIDYgLyogbWF4IG51bWJlciBvZiBwaWxvdCBwbidzIGluIGFjaXR2ZSBsaXN0ICAqLworI2RlZmluZSBTWVNfTUFYX0NBTkRJREFURV9MSVNUX1BJTE9UUyAgIDEwIC8qIG1heCBudW1iZXIgb2YgcGlsb3QgcG4ncyBpbiBjYW5kaWRhdGUgbGlzdCAgKi8KKyNkZWZpbmUgU1lTX01BWF9ORUlHSEJPUl9MSVNUX1BJTE9UUyAgICA1NiAvKiBtYXggbnVtYmVyIG9mIHBpbG90IHBuJ3MgaW4gbmVpZ2hib3IgbGlzdCAgKi8KKyNkZWZpbmUgU1lTX01BWF9SRU1BSU5JTkdfTElTVF9QSUxPVFMgICAgNSAvKiBtYXggbnVtYmVyIG9mIHBpbG90cyBpbiByZW1haW5pbmcgc2V0ICovCisKKworI2RlZmluZSBTQ0hfTUFYX1BFUl9QSUxPVF9QQVRIUyAgIDE2CisjZGVmaW5lIFNDSF9WRVJJRl9OVU1fUElMT1RTX0ZPVVIgIDQKKyNkZWZpbmUgU0NIX1ZFUklGX05VTV9QSUxPVFNfT05FICAgMQorI2RlZmluZSBTQ0hfQUxXQVlTX1NSQ0ggICAgICAgICAgICAxCisjZGVmaW5lIFNDSF9OT1RfQUxXQVlTX1NSQ0ggICAgICAgIDAKKyNkZWZpbmUgU0NIX01BWF9VU0FCTEVfUEFUSFMgICAgICA0MgorI2RlZmluZSBTQ0hfTUFYX1BFUl9QSUxPVF9VU0FCTEVfUEFUSFMgICAgNworCisjZGVmaW5lIFNDSF9VU0FCTEVfUEFUSF9TUFlfVVBEQVRFX0NOVCAxMAorCisjZGVmaW5lIFNDSF9LRVBUX1BJTE9UUyAgICAgICAgICAgMjAKKyNkZWZpbmUgU0NIX1BJTE9UX0VOQUJMRSAgICAgICAgICAgMQorI2RlZmluZSBTQ0hfUElMT1RfRElTQUJMRSAgICAgICAgICAwCisjZGVmaW5lIFNDSF9QSUxPVF9LRUVQICAgICAgICAgICAgIDEKKyNkZWZpbmUgU0NIX1BJTE9UX0RPTlRfS0VFUCAgICAgICAgMAorI2RlZmluZSBTQ0hfUFBNX1NMT1RfUTYgICAgICAgIDE1NjI1CisvKiAjZGVmaW5lIFNDSF9TVEFUX1RPX0VDSU9fUTI5ICAgMjM5ODEqLworI2RlZmluZSBTQ0hfU1RBVF9UT19FQ0lPX1EyOSAgICgzMTY1NSoyKSAgLyp0ZW1wIGZpeCBmb3IgcGlsb3QgZmx1Y3R1YXRpb24sIG1hdGNoIHNoaWZ0IDEgY2hhbmdlICovCisKKyNkZWZpbmUgU0NIX01JTlVTOERCUTE2ICAgICAgICAxMDM4NworI2RlZmluZSBTQ0hfTUlOVVMxMURCUTE2ICAgICAgICA1MjA2CisjZGVmaW5lIFNDSF9NSU5VUzEyREJRMTYgICAgICAgIDQxMzUKKyNkZWZpbmUgU0NIX01JTlVTMTREQlExNiAgICAgICAgMjYwOQorI2RlZmluZSBTQ0hfTUlOVVMxNHA1REJRMTYgICAgICAyMzI1CisjZGVmaW5lIFNDSF9NSU5VUzE1REJRMTYgICAgICAgIDIwNzIKKyNkZWZpbmUgU0NIX01JTlVTMThEQlExNiAgICAgICAgMTAzOAorI2RlZmluZSBTQ0hfTUlOVVMyMURCUTE2ICAgICAgICAgNTIwCisjZGVmaW5lIFNDSF9NQVhfTlVNX0ZJTkdFUlMgICAgICAgICA2CisjZGVmaW5lIFNDSF9NSU5fT0ZGU0VUX0RJU1RfVEMyICAgICAyCisjZGVmaW5lIFNDSF9IQUxGX0NISVBfVEMyICAgICAgICAgICAxCisjZGVmaW5lIFNDSF9PTkVfQ0hJUF9UQzIgICAgICAgICAgICAyCisKKyNkZWZpbmUgU0NIX0ZJTkdFUl9BTExPQ19DTlQgICAgICAgIDMKKworLypTY2ggSFcgcHJvZ3JhbW1pbmcgZm9yIFNSRE9fSU5CVUZfQ1RMOkJVRkZDQVBUOiBQZXJpb2QgaW4gaGFsZi1zbG90cyBiZWZvcmUgbmV4dCBidWZmZXIgY2FwdHVyZSBOT1RFOiB0aGUgQ0FQTEVOPD0gQlVGRkNBUFQgcGVyaW9kCitkZWZpbmUgT05MSU5FIHNlYXJjaCBtb2RlIHZhbHVlcyAqLworI2RlZmluZSBTQ0hfSFdfUFJPR19PTkxfSU5CVUZfQ1RMX0NBUFRfUEVSSU9EICAgICAgNyAgIC8qIENhcHR1cmUgYXQgKE0rMSkgaGFsZiBzbG90cyBpbnRlcnZhbHMsIGkuZS4sIDYuNjY4bXMgKi8KKworLypTY2ggSFcgcHJvZ3JhbW1pbmcgZm9yIFNSRE9fSU5CVUZfQ1RMOkJVRkZDQVBJTlQ6IE51bSBvZiBidWZmZXJzIGNhcHR1cmVkIGJlZm9yZSBJTlRSIGlzIHRyaWdnZXJlZAorZGVmaW5lIE9OTElORSBzZWFyY2ggbW9kZSB2YWx1ZXMgKi8KKyNkZWZpbmUgU0NIX0hXX1BST0dfT05MX0lOQlVGX0NUTF9DQVBUVVJFU19QRVJfSU5UUiAgOCAgICAvKiBJbnRlcnJ1cHQgdG8gQ1AgZXZlcnkgTiooTSsxKSBoYWxmIHNsb3RzLCA1My4zbXMgKi8KKworCisvKlNjaCBIVyBwcm9ncmFtbWluZyBmb3IgU1JET19JTkJVRl9DVEw6QlVGRkNBUFQ6IFBlcmlvZCBpbiBoYWxmLXNsb3RzIGJlZm9yZSBuZXh0IGJ1ZmZlciBjYXB0dXJlIE5PVEU6IHRoZSBDQVBMRU48PSBCVUZGQ0FQVCBwZXJpb2QKK2RlZmluZSBERlMgc2VhcmNoIG1vZGUgdmFsdWVzICovCisjZGVmaW5lIFNDSF9IV19QUk9HX0RGU19JTkJVRl9DVExfQ0FQVF9QRVJJT0QgICAgICAzICAgLyogQ2FwdHVyZSBhdCAoTSsxKSBoYWxmIHNsb3RzIGludGVydmFscywgaS5lLiwgMy4zMzRtcyAqLworCisvKlNjaCBIVyBwcm9ncmFtbWluZyBmb3IgU1JET19JTkJVRl9DVEw6QlVGRkNBUElOVDogTnVtIG9mIGJ1ZmZlcnMgY2FwdHVyZWQgYmVmb3JlIElOVFIgaXMgdHJpZ2dlcmVkCitkZWZpbmUgREZTIHNlYXJjaCBtb2RlIHZhbHVlcyAqLworI2RlZmluZSBTQ0hfSFdfUFJPR19ERlNfSU5CVUZfQ1RMX0NBUFRVUkVTX1BFUl9JTlRSICAyICAgIC8qIEludGVycnVwdCB0byBDUCBldmVyeSBOKihNKzEpIGhhbGYgc2xvdHMsIDYuNjY4bXMgKi8KKworLyogU2NoIEhXIHByb2dyYW1taW5nIGZvciBTUkRPX0lOQlVGX0NUTDpBTlRFTk5BX0lOSVRfRU4gOi0KKyAgRW5hYmxlIGNoYW5naW5nIHRoZSBzb3VyY2UgYW50ZW5uYSAobWFpbiBPUiBkaXZlcnNpdHksIGJhc2VkIG9uIHRoZSB2YWx1ZSBpbgorICBTUkRPX0lOQlVGX0NUTDpBTlRFTk5BX0lOSVQgKSwgaW4gQW50ZW5uYS10b2dnbGUgc2VhcmNoIG1vZGUKKyAgKFNSRE9fSU5CVUZfQ1RMOkFOVF9NT0RFID0gMHgyLyAweDMpCisgIE5PVEU6IElNRCByZXF1aXJlcyBsYXN0IGJ1ZmZlciB0byBiZSBjYXB0dXJlZCBhcyBNQUlOIGhlbmNlIGJhc2VkIG9uIHRoZQorICBudW1iZXIgb2YgYnVmZmVycyBjYXB0dXJlZCwgY2hhbmdlIHRoZSBzdGFydGluZyBzb3VyY2UgYWNjb3JkaW5nbHkKKyovCisjZGVmaW5lIFNDSF9IV19JTkJVRl9DVExfQU5URU5OQV9JTklUX0VOX1VTRUQgICAgMQorI2RlZmluZSBTQ0hfSFdfSU5CVUZfQ1RMX0FOVEVOTkFfSU5JVF9FTl9OT1RVU0VEICAgMAorI2RlZmluZSBTQ0hfSFdfSU5CVUZfQ1RMX0FOVEVOTkFfSU5JVF9OT1RVU0VEICBTQ0hfSFdfUFJPR19JTkJVRl9BTlRfTU9ERV9NQUlOIC8vRG9uJ3QgY2FyZSB2YWx1ZSBmb3IgU1JET19JTkJVRl9DVEw6QU5URU5OQV9JTklUIGZpZWxkCisKKyNkZWZpbmUgICAgUk1DX1NDSF9MT0dJUV9NQVhfQlVGRkVSX0xFTkdUSCAgICAweDhDMCAvKjEwMjQrOTZjaGlwIDJ4Ki8KKworLyogU2NoIEhXIHByb2dyYW1taW5nIGZvciBTUkRPX0lOQlVGX0NUTDpBTlRfTU9ERSA6LQorRGVmaW5lIHR5cGUgdG8gaW5kaWNhdGUgaW5wdXQgc291cmNlIGFudGVubmEgKi8KK3R5cGVkZWYgZW51bQoreworICBTQ0hfSFdfUFJPR19JTkJVRl9BTlRfTU9ERV9NQUlOICAgICAgICAgICAgICAgICA9IDAsCisgIFNDSF9IV19QUk9HX0lOQlVGX0FOVF9NT0RFX0RJViAgICAgICAgICAgICAgICAgID0gMSwKKyAgU0NIX0hXX1BST0dfSU5CVUZfQU5UX01PREVfQUxURVJOQVRFX1BFUl9DQVBUICAgPSAyLCAgICAvKiBBbHRlcm5hdGUgYW50ZW5uYSBhZnRlciBlYWNoIGNhcHR1cmUgTk9URTogTXVsdGlwbGUgY2FwdHVyZXMgYmVmb3JlIHNlYXJjaCBIVyBpbnRlcnJ1cHQgaXMgdHJpZ2dlcmVkLiBBbHNvIGVhY2ggY3BhdHVyZSBjYW4gYmUgbXVsdGlwbGUgaGFsZi1zbG90cyBsb25nICovCisgIFNDSF9IV19QUk9HX0lOQlVGX0FOVF9NT0RFX0FMVEVSTkFURV9QRVJfSEZTTE9UID0gMywgICAvKiBBbHRlcm5hdGUgYW50ZW5uYSBhZnRlciBlYWNoIGhhbGYgc2xvdCovCit9U2NoSHdQcm9nSW5CdWZBbnRNb2RlVDsKKwordHlwZWRlZiBlbnVtCit7CisgIEhXX1JFU0VULAorICBIV19QQVVTRSwKKyAgSU5JVF9BQ1FfUE5fU1JDSCwKKyAgSU5JVF9BQ1FfT05MSU5FX1BOX1NSQ0gsCisgIElOSVRfQUNRX1ZFUklGX1NSQ0gsCisgIE1JTklfQUNRLAorICBGQVNUX1NFQVJDSCwKKyAgT05MSU5FLAorICBPRkZTRVRfQURKLAorICBGQVNUX0ZVTExfU0VBUkNILAorICBTQ0hfTU9ERV9VTlVTRURfMSwKKyAgU0NIX01PREVfVU5VU0VEXzIsCisgIERGUywKKyAgTUVBU182TVNfU1JDSCwKKyAgTUVBU19PTkxJTkVfU0NBTgorfSBTY2hNb2RlVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfdWludDE2IFBpbG90UE47ICAgICAgLyogUGlsb3RQTiAwIHRvIDUxMSAqLworICAgIGthbF9pbnQxNiBTdGFydE9mZnNldDsgICAvKiBTdGFydCBvZmZzZXQgdG8gc2VhcmNoLCAgVGMvMiAoLTEwMjQsLi4uLCsxMDIzLjUgY2hpcHMpICovCit9IFNjaENmZ1BuTGlzdFQ7IAorCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF9pbnQ4IE51bVBpbG90czsgICAgICAgIC8qIE51bWJlciBvZiBQaWxvdHMgaW4gdGhlIEFjdGl2ZSBsaXN0ICovCisgICAga2FsX3VpbnQxNiBXaW5TaXplOyAgICAgICAgLyogV2luZG93IFNpemUgKi8KKyAgICBTY2hDZmdQbkxpc3RUIFBuTGlzdFFbU1lTX01BWF9BQ1RJVkVfTElTVF9QSUxPVFNdOworfSBTY2hDZmdBY3RMaXN0VDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfaW50OCBOdW1QaWxvdHM7ICAgICAgIC8qIE51bWJlciBvZiBQaWxvdHMgaW4gdGhlIENhbmRpZGF0ZSBsaXN0ICovCisgICAga2FsX3VpbnQxNiBXaW5TaXplOyAgICAgIC8qIFdpbmRvdyBTaXplICovCisgICAgU2NoQ2ZnUG5MaXN0VCBQbkxpc3RRW1NZU19NQVhfQ0FORElEQVRFX0xJU1RfUElMT1RTXTsKK30gU2NoQ2ZnQ2FuZExpc3RUOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF9pbnQ4IE51bVBpbG90czsgICAgICAgLyogTnVtYmVyIG9mIFBpbG90cyBpbiB0aGUgTmVpZ2hib3IgbGlzdCAqLworICAgIGthbF91aW50MTYgV2luU2l6ZVtTWVNfTUFYX05FSUdIQk9SX0xJU1RfUElMT1RTXTsgICAgICAgIC8qIFdpbmRvdyBpbmZvcm1hdGlvbiAqLworICAgIFNjaENmZ1BuTGlzdFQgUG5MaXN0UVtTWVNfTUFYX05FSUdIQk9SX0xJU1RfUElMT1RTXTsKK30gU2NoQ2ZnTmVpZ2hMaXN0VDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfaW50OCBOdW1QaWxvdHM7ICAgICAgIC8qIE51bWJlciBvZiBQaWxvdHMgaW4gdGhlIFJlbWFpbmluZyBsaXN0ICovCisgICAga2FsX3VpbnQxNiBXaW5TaXplOyAgICAgIC8qIFdpbmRvdyBTaXplICovCisgICAgU2NoQ2ZnUG5MaXN0VCBQbkxpc3RRW1NZU19NQVhfUkVNQUlOSU5HX0xJU1RfUElMT1RTXTsKK30gU2NoQ2ZnUmVtTGlzdFQ7CisKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfaW50MTYgTGlzdE51bTsgICAgICAgLyogdG90YWwgc2VhcmNoIGxpc3QgbnVtYmVyIChBK0MrTitSKSAqLworICAgIFNjaENmZ0FjdExpc3RUIEFjdGl2ZTsKKyAgICBTY2hDZmdDYW5kTGlzdFQgQ2FuZGlkYXRlOworICAgIFNjaENmZ05laWdoTGlzdFQgTmVpZ2hib3I7CisgICAgU2NoQ2ZnUmVtTGlzdFQgUmVtYWluaW5nOworfSBTY2hMaXN0VDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAga2FsX3VpbnQxNiBXaW5TaXplOyAgICAgICAvKiBXaW5kb3cgU2l6ZSAqLworICBrYWxfaW50MTYgV2luT2Zmc2V0OyAgICAgIC8qIFdpbmRvdyBPZmZzZXQgKi8KK30gV2luVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAga2FsX3VpbnQxNiBQaWxvdFBOOyAgICAgIC8qIFBpbG90UE4gMCB0byA1MTEgKi8KKyAga2FsX2ludDE2IE9mZnNldDsgICAgICAgLyogVGMvMiByZXNvbHV0aW9uICovCit9IEFjcUxpc3RRVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfaW50MTYgTGlzdE51bTsgICAgICAKKyAgICBBY3FMaXN0UVQgUG5MaXN0UVtTQ0hfVkVSSUZfTlVNX1BJTE9UU19GT1VSXTsKK30gU2NoQWNxTGlzdFQ7IAorCit0eXBlZGVmIHN0cnVjdAoreworICAgIFNjaE1vZGVUIFNjaE1vZGU7CisgICAga2FsX3VpbnQxNiBTY2hJbml0QWNxTnVtSGFsZlNsb3RCdWZDYXA7ICAgCisgICAga2FsX3VpbnQ4ICBBbnRlbm5hOworICAgIGthbF9ib29sICBhbnRlbm5hX2luaXRfZW47CisgICAga2FsX3VpbnQzMiBhbnRlbm5hX2luaXQ7IC8vTm90IFZhbGlkIGFzIGFudGVubmFfaW5pdF9lbiBpcyBGQUxTRQorICAgIGthbF9ib29sICAgRGl2X29ubHk7CisgICAga2FsX3VpbnQxNiBTY2hJbml0QWNxV2luU2l6ZVRjOworICAgIGthbF91aW50MTYgU2NoSW5pdEFjcVdpbk9mZnNldFRjOyAgIAorICAgIGthbF91aW50MTYgU2NoTWluaUFjcVdpblNpemVJbmRleDsKKyAgICAvL2ludGthbF9ib29sICBiSHdkUHdyU2F2aW5nRG9Qd3JVcDsvL25vIHRoaXMgbW9kZSBmb3IgOTMKKyAgICBrYWxfYm9vbCAgU2NoU3RhcnREbHlFbjsKKyAgICBrYWxfdWludDMyICBTY2hTdGFydERseUNudDsKKyAgICBTY2hMaXN0VCBTY2hMaXN0OworICAgIFNjaEFjcUxpc3RUIFNjaEFjcVNyY2g7Cit9IENwaEV2ZG9TY2hNb2RlQ29uZmlnU3RydWN0OworCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX3VpbnQxNiBNZXRyaWM7CisgICBrYWxfdWludDE2IFBpbG90UE47CisgICBrYWxfaW50MTYgT2Zmc2V0OyAgLyogT2Zmc2V0IGluIFRjLzIgKC0xMDI0LC4uLiwrMTAyMy41IGNoaXBzKSAqLworfSBTY2hTb3J0UVQ7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBrYWxfdWludDE2ICBDb3VudDsKKyAgIFNjaFNvcnRRVCBTb3J0UVtTQ0hfTUFYX1BJTE9UU107Cit9IFNjaFNvcnRUOworCit0eXBlZGVmIHN0cnVjdAoreworICBrYWxfdWludDE2IFN0YXQ7ICAgICAgICAgLyogU3RhdCBmb3IgcGF0aCAqLworICBrYWxfaW50MTYgU3RhdE9mZnNldDsgICAgLyogU3RhdCBPZmZzZXQgaW4gVGMvMiAoLTEwMjQsLi4uLCsxMDIzLjUgY2hpcHMpICovCisgIGthbF91aW50OCBQYXRoVmFsaWQ7ICAgICAvKiBJbmRpY2F0ZXMgaWYgcGF0aCBpcyB2YWxpZCAocGFzc2VzIHRocmVzaCkgKi8KKyAga2FsX3VpbnQ4IE51bUF2ZzsgICAgICAgIC8qIE51bWJlciBvZiB0aW1lcyBvZmZzZXQgd2FzIGZvdW5kICovCisgIGthbF91aW50OCBBbnQ7ICAgICAgICAgICAvKiBTb3VyY2UgYW50ZW5uYSAqLworfSBTY2hQYXRoUVQ7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgIGthbF91aW50MTYgUGlsb3RQTjsgICAgICAvKiBQaWxvdFBOIDAgdG8gNTExICovCisgIGthbF9pbnQxNiBPZmZzZXQ7ICAgICAgICAvKiBzdHJvbmdlc3Qgb2Zmc2V0IGZvdW5kLCAgVGMvMiAoLTEwMjQsLi4uLCsxMDIzLjUgY2hpcHMpICovCisgIGthbF9pbnQxNiBTdGFydE9mZnNldDsgICAvKiBTdGFydCBvZmZzZXQgdG8gc2VhcmNoLCAgVGMvMiAoLTEwMjQsLi4uLCsxMDIzLjUgY2hpcHMpICovCisgIGthbF91aW50MTYgTWF4U3RhdDsgICAgICAgLyogTWF4aW11bSBzdGF0aXN0aWMgaW4gdGhlIHBhdGggYnVmZmVyICovCisgIGthbF91aW50MTYgUHdyRXN0OyAgICAgICAvKiBTdW0gb2YgdXNhYmxlIHBhdGggcG93ZXIgKi8KKyNpZmRlZiBNVEtfUExUX09OX1BDCisgIGthbF9pbnQxNiAgU3RyZW5ndGhfZGI7ICAvKiBwaWxvdCBzdHJlbmd0aCBpbiBkYiAqLworI2VuZGlmCisgIGthbF91aW50OCBOdW1XaW5TZWFyY2g7ICAvKiBOdW1iZXIgb2YgdGltZXMgdGhlIHBpbG90IHdhcyBzZWFyY2hlZCAqLworICBrYWxfdWludDggUGlsb3RGb3VuZDsgICAgLyogSW5kaWNhdGVzIGlmIHRoZSBIL1cgZm91bmQgdGhlIHBpbG90ICovCisgIFNjaFBhdGhRVCBQYXRoUVtTQ0hfTUFYX1BFUl9QSUxPVF9QQVRIU107Cit9IExpc3RRVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAga2FsX2ludDggTnVtUGlsb3RzOyAgICAgICAgLyogTnVtYmVyIG9mIFBpbG90cyBpbiB0aGUgQWN0aXZlIGxpc3QgKi8KKyAga2FsX3VpbnQxNiBXaW5TaXplOyAgICAgICAgLyogV2luZG93IFNpemUgKi8KKyAga2FsX3VpbnQ4IE1BQ0luZGV4W1NZU19NQVhfQUNUSVZFX0xJU1RfUElMT1RTXTsgICAgICAvKiBNQUMgSW5kZXggKi8KKyAga2FsX2ludDggUGNnSWRbU1lTX01BWF9BQ1RJVkVfTElTVF9QSUxPVFNdOworICBrYWxfdWludDggUkFCTGVuZ3RoW1NZU19NQVhfQUNUSVZFX0xJU1RfUElMT1RTXTsKKyAga2FsX3VpbnQ4IFJBQk9mZnNldFtTWVNfTUFYX0FDVElWRV9MSVNUX1BJTE9UU107CisgIGthbF91aW50OCBSQUNoYW5uZWxHYWluW1NZU19NQVhfQUNUSVZFX0xJU1RfUElMT1RTXTsKKyAga2FsX3VpbnQ4IERSQ0NvdmVyW1NZU19NQVhfQUNUSVZFX0xJU1RfUElMT1RTXTsKKyAga2FsX3VpbnQ4IERTQ1tTWVNfTUFYX0FDVElWRV9MSVNUX1BJTE9UU107ICAgLyogb3hmZiBtZWFucyBOVUxMICovCisgIExpc3RRVCBMaXN0UVtTWVNfTUFYX0FDVElWRV9MSVNUX1BJTE9UU107Cit9IEFjdExpc3RUOworCit0eXBlZGVmIHN0cnVjdAoreworICBrYWxfaW50OCBOdW1QaWxvdHM7ICAgICAgIC8qIE51bWJlciBvZiBQaWxvdHMgaW4gdGhlIENhbmRpZGF0ZSBsaXN0ICovCisgIGthbF91aW50MTYgV2luU2l6ZTsgICAgICAvKiBXaW5kb3cgU2l6ZSAqLworICBMaXN0UVQgTGlzdFFbU1lTX01BWF9DQU5ESURBVEVfTElTVF9QSUxPVFNdOworfSBDYW5kTGlzdFQ7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgIGthbF9pbnQ4IE51bVBpbG90czsgICAgICAgLyogTnVtYmVyIG9mIFBpbG90cyBpbiB0aGUgTmVpZ2hib3IgbGlzdCAqLworICBXaW5UIFdpbltTWVNfTUFYX05FSUdIQk9SX0xJU1RfUElMT1RTXTsgICAgICAgIC8qIFdpbmRvdyBpbmZvcm1hdGlvbiAqLworICBMaXN0UVQgTGlzdFFbU1lTX01BWF9ORUlHSEJPUl9MSVNUX1BJTE9UU107Cit9IE5laWdoTGlzdFQ7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgIGthbF9pbnQ4IE51bVBpbG90czsgICAgICAgLyogTnVtYmVyIG9mIFBpbG90cyBpbiB0aGUgUmVtYWluaW5nIGxpc3QgKi8KKyAga2FsX3VpbnQxNiBXaW5TaXplOyAgICAgIC8qIFdpbmRvdyBTaXplICovCisgIExpc3RRVCBMaXN0UVtTWVNfTUFYX1JFTUFJTklOR19MSVNUX1BJTE9UU107Cit9IFJlbUxpc3RUOworCit0eXBlZGVmIHN0cnVjdAoreworICBrYWxfaW50MTYgUGlsb3RTZXE7CisgIGthbF91aW50OCBDb25uU2V0dXBGbGFnOworICBrYWxfdWludDggVGNhRmxhZzsKKyAga2FsX2ludDE2IExpc3ROdW07ICAgICAgIC8qIHRvdGFsIHNlYXJjaCBsaXN0IG51bWJlciAoQStDK04rUikgKi8KKyAgQWN0TGlzdFQgQWN0aXZlOworICBDYW5kTGlzdFQgQ2FuZGlkYXRlOworICBOZWlnaExpc3RUIE5laWdoYm9yOworICBSZW1MaXN0VCBSZW1haW5pbmc7Cit9IFJtY1NjaFN0YXR1c1Q7CisKK3R5cGVkZWYgc3RydWN0IAoreworICAgIFNjaE1vZGVUIFNjaE1vZGU7CisgICAgU2NoU29ydFFUICpwU29ydFE7ICAgLyoqRm9yIHN0b3JlIElOSVRfUE5fU1JDSCByZXN1bHQ6IFNDSF9LRVBUX1BJTE9UUy4qLworICAgIFJtY1NjaFN0YXR1c1QgKnBTY2hTdGF0dXM7IC8qKkZvciBzdG9yZSBvdGhlciBzZWFyY2ggcmVzdWx0LiovCit9IENwaEV2ZG9TY2hSZXN1bHRSZWFkU3RydWN0OyAKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF9pbnQ4ICAgICAgICAgICAgIEltZEFkY0k7ICAgIC8qIElNRCBBREMgSSBzYW1wbGVzICovCisgICBrYWxfaW50OCAgICAgICAgICAgICBJbWRBZGNROyAgICAvKiBJTUQgQURDIFEgc2FtcGxlcyAqLworfSBSbWNTY2hMb2dJUUNvbXBsZXhTYW1wbGVUOworCisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgICBrYWxfaW50OCAgIHRiZDsKK31DcGhFdmRvU2NoVGVzdElxRHVtcEFkc1N0cnVjdDsKKyAgICAKK3ZvaWQgQ3BoRXZkb1NjaEluaXQoKTsKK3ZvaWQgQ3BoRXZkb1BhdXNlQ29uZmlnKGthbF91aW50OCBQYXVzZUJpdCk7Cit2b2lkIENwaEV2ZG9TY2hNb2RlQ29uZmlnKENwaEV2ZG9TY2hNb2RlQ29uZmlnU3RydWN0ICphZHNfcHRyKTsKK3ZvaWQgQ3BoRXZkb1NjaFJlc3VsdFJlYWQoQ3BoRXZkb1NjaFJlc3VsdFJlYWRTdHJ1Y3QgKmFkc19wdHIpOwordm9pZCBDcGhFdmRvU2NoTG9nSXFSZWFkKFJtY1NjaExvZ0lRQ29tcGxleFNhbXBsZVQgKmFkc19wdHIpOworI2lmIDAgLyoqSnVzdCB1c2VkIGZvciBkZWJ1Zy4qLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworI2VuZGlmCitrYWxfYm9vbCBDcGhFdmRvU2NoUmVhZFNjaERvbmUodm9pZCk7CisjaWZkZWYgTVRLX1BMVF9PTl9QQ19JVAordm9pZCBDcGhFdmRvU2NoV3JpdGVTY2hEb25lKGthbF9ib29sIFNjaERvbmUpOworI2VuZGlmCisjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NwaGV2ZG9zY2hyZWdhY2Nlc3MuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jcGhldmRvc2NocmVnYWNjZXNzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGQ5MmViZgotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jcGhldmRvc2NocmVnYWNjZXNzLmgKQEAgLTAsMCArMSw3MCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBfQ1BIRVZET1NDSFJFR0FDQ0VTU19IXworI2RlZmluZSBfQ1BIRVZET1NDSFJFR0FDQ0VTU19IXworCisKKyNpZm5kZWYgTVRLX0MyS19DT1NJTSAgIAorI3VuZGVmIEh3ZFdyaXRlMzIKKyN1bmRlZiBId2RSZWFkMzIKKyNpZmRlZiBNVEtfUExUX09OX1BDCisjZGVmaW5lIEh3ZFdyaXRlMzIoUmVnLCBkYXRhKSAgIEV2bDFTY2hSZWdXcml0ZSgoSHdkUmVnVCkoUmVnKSwgZGF0YSkgICAgICAgIAorI2RlZmluZSBId2RSZWFkMzIoUmVnKSAgICAgICAgICBFdmwxU2NoUmVnUmVhZCgoSHdkUmVnVCkoUmVnKSkKKyNlbHNlCisjZGVmaW5lIEh3ZFdyaXRlMzIoUmVnLCBkYXRhKSAgIEV2bDFTY2hSZWdXcml0ZSgodm9sYXRpbGUgdW5zaWduZWQgbG9uZyopKFJlZyksIGRhdGEpICAgICAgICAKKyNkZWZpbmUgSHdkUmVhZDMyKFJlZykgICAgICAgICAgRXZsMVNjaFJlZ1JlYWQoKHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqKShSZWcpKQorCisjZW5kaWYKKworI2VuZGlmIC8qICNpZm5kZWYgTVRLX0MyS19DT1NJTSAqLworCisKKyNpZmRlZiBNVEtfUExUX09OX1BDCitleHRlcm4gdm9pZCBFdmwxU2NoUmVnV3JpdGUoSHdkUmVnVCByZWcsIGthbF91aW50MzIgZGF0YSk7CitleHRlcm4ga2FsX2ludDMyIEV2bDFTY2hSZWdSZWFkKEh3ZFJlZ1QgcmVnKTsKKworI2Vsc2UKK2V4dGVybiB2b2lkIEV2bDFTY2hSZWdXcml0ZSh2b2xhdGlsZSB1bnNpZ25lZCBsb25nKiByZWcsIGthbF91aW50MzIgZGF0YSk7CitleHRlcm4ga2FsX2ludDMyIEV2bDFTY2hSZWdSZWFkKHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqIHJlZyk7CisKKyNlbmRpZgorCisKKyNlbmRpZiAgLyogI2lmbmRlZiBfQ1BIRVZET0ZMU1JQUkVHQUNDRVNTX0hfICovCisKKworCisKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jcGhoZWFkZG9jaW5jLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY3BoaGVhZGRvY2luYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyMjRjY2YKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY3BoaGVhZGRvY2luYy5oCkBAIC0wLDAgKzEsODAgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhfSEVBRF9ET0NfSU5DX0hfCisjZGVmaW5lIF9DUEhfSEVBRF9ET0NfSU5DX0hfCisKKy8qSFcgUmVnaXN0ZXIgSGVhZCBEb2MqLworI2luY2x1ZGUgImNwaDF4cnhicnAuaCIKKyNpbmNsdWRlICJjcGgxeHJ4YnJwY29ycnNlci5oIgorI2luY2x1ZGUgImNwaDF4cnhicnBkbWEuaCIKKyNpbmNsdWRlICJjcGgxeHJ4YnJwd2N0ZG1hLmgiCisjaW5jbHVkZSAiY3BoMXhyeGV2ZW50Z2VuLmgiICAgLy9PSyBmb3IgOTUKKyNpbmNsdWRlICJjcGgxeHJ4c2xwLmgiCisjaW5jbHVkZSAiY3BoMXhzY2hyZWcuaCIgICAvL09LIGZvciA5NQorI2luY2x1ZGUgImNwaDF4dHhicnAuaCIKKyNpbmNsdWRlICJjcGgxeHR4Y3JwLmgiCisjaW5jbHVkZSAiY3BoMXh0eHRtci5oIgorI2luY2x1ZGUgImNwaGIycmlmLmgiCisjaW5jbHVkZSAiY3BoZDJiaWYuaCIKKyNpbmNsdWRlICJjcGhjc3RvcHJlZy5oIgorI2luY2x1ZGUgImNwaGV2ZG9zY2hyZWcuaCIKKyNpbmNsdWRlICJjcGhjMmtsMWFvY2ZnLmgiCisjaW5jbHVkZSAiY3BoYzJrcnhicnBkdml0LmgiCisjaW5jbHVkZSAiY3BoYzJrcnhicnB0dXIuaCIKKyNpbmNsdWRlICJjcGhjMmtyeGRmZS5oIgorI2luY2x1ZGUgImNwaGMya3J4ZGZlZmNpbW0uaCIKKyNpbmNsdWRlICJjcGhldmRvcnhicnAuaCIKKyNpbmNsdWRlICJjcGhtcnNnLmgiCisjaW5jbHVkZSAiY3BoZXZkb3J4ZXZlbnRnZW4uaCIKKyNpbmNsdWRlICJjcGhldmRvcnhzbHAuaCIKKyNpbmNsdWRlICJjcGhldmRvdHhicnAuaCIKKyNpbmNsdWRlICJjcGhldmRvdHhjcnAuaCIKKyNpbmNsdWRlICJjcGhldmRvdHh0aW1lcnJlZy5oIgorI2luY2x1ZGUgImNwaHJ0dHR4dGltZXJyZWcuaCIKKyNpbmNsdWRlICJjcGhyeGRmZWF0aW1lci5oIgorI2luY2x1ZGUgImNwaHJ4ZGZlZmNjYWx0Yy5oIgorI2luY2x1ZGUgImNwaHJ4ZGZlc3lzY29uZmlnLmgiCisjaW5jbHVkZSAiY3BocnhtbWV2ZW50Z2VuLmgiCisjaW5jbHVkZSAiY3Boc3lzdGVtdGltZXIuaCIKKyNpbmNsdWRlICJjcGh0eGNycGNvbW1vbi5oIgorI2luY2x1ZGUgImNwaHR4ZGZlYmIuaCIKKyNpZiBkZWZpbmVkKF9fTUQ5M19fKXx8ZGVmaW5lZChfX01EOTVfXykKKyNpbmNsdWRlICJjcGh0eHN5c2dsYmNvbmZpZ3JlZzAuaCIKKyNpbmNsdWRlICJjcGh0eHN5c2dsYmNvbmZpZ3JlZzEuaCIKKyNlbGlmIGRlZmluZWQoX19NRDk3X18pIHx8IGRlZmluZWQoX19NRDk3UF9fKQorI2luY2x1ZGUgImNwaGRmZXN5c2dsYmNvbmZpZ3JlZzAuaCIKKyNpbmNsdWRlICJjcGhkZmVzeXNnbGJjb25maWdyZWcxLmgiCisjZW5kaWYKKyNlbmRpZiAvLyNpZm5kZWYgX0NQSF9IRUFEX0RPQ19JTkNfSF8KZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jcGhtZHN5c21kbS5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NwaG1kc3lzbWRtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjYzNjBiMQotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jcGhtZHN5c21kbS5oCkBAIC0wLDAgKzEsMTYwIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfQ1BIX01EU1lTX01ETV9IXworI2RlZmluZSBfQ1BIX01EU1lTX01ETV9IXworCisjaW5jbHVkZSAia2FsX2dlbmVyYWxfdHlwZXMuaCIKKwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogU1JBTUFERFI7ICAgICAgICAgLyogU1JBTSBhZGRyIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBTUkFNREFUQTsgICAgICAgICAvKiBTUkFNIGRhdGEgaXMgMTYgYml0cyAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIEFQQkFERFI7ICAgICAgICAgIC8qIEFQQiBhZGRyIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgQVBCREFUQTsgICAgICAgICAgLyogQVBCIGRhdGEgaXMgMTYgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcqICBBUEJBRERSMzI7ICAgICAgICAvKiBBUEIgYWRkciBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAgIEFQQkRBVEEzMjsgICAgICAgIC8qIEFQQiBkYXRhIGlzIDMyIGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCogRFBSQU1BRERSOyAgICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHNpZ25lZCAgIHNob3J0KiBEUFJBTUFERFJfUzsgICAgICAvKiBEUFJBTSBhZGRyIGlzIDE2IGJpdHMgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIERQUkFNREFUQTsgICAgICAgIC8qIERQUkFNIGRhdGEgaXMgMTYgYml0cyAqLworCisKKyNkZWZpbmUgTURTWVNfTURNX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QTA0OTAwMDApCisKKyNkZWZpbmUgTURTWVNfTURNX2VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKE1EU1lTX01ETV9SRUdfQkFTRSArIDB4QzAgKyA4KjQpCisKKworCisjZGVmaW5lIE1ETV9UTV9FTkRTSU0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFNZU19NRE1fUkVHX0JBU0UgKyAweDE0KSkKKyNkZWZpbmUgTURNX1RNX0VSUkNOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EU1lTX01ETV9SRUdfQkFTRSArIDB4MTgpKQorI2RlZmluZSBNRE1fVE1fREJHSU5GTyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURTWVNfTURNX1JFR19CQVNFICsgMHgxQykpCisjZGVmaW5lIE1ETV9UTV9FTkRGQUlMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFNZU19NRE1fUkVHX0JBU0UgKyAweDI4KSkKKyNkZWZpbmUgTURNX1RNX0VORFNVQ0MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EU1lTX01ETV9SRUdfQkFTRSArIDB4MkMpKQorI2RlZmluZSBNRE1fVE1fQUxMRk1UMzJCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURTWVNfTURNX1JFR19CQVNFICsgMHgzNCkpCisjZGVmaW5lIE1ETV9UTV9IRVhGTVQzMkIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFNZU19NRE1fUkVHX0JBU0UgKyAweDM4KSkKKyNkZWZpbmUgTURNX1RNX0RFQ0ZNVDMyQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EU1lTX01ETV9SRUdfQkFTRSArIDB4M0MpKQorI2RlZmluZSBNRE1fVE1fQklORk1UMzJCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURTWVNfTURNX1JFR19CQVNFICsgMHg0MCkpCisjZGVmaW5lIE1ETV9UTV9NRU1EVU1QU1RSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFNZU19NRE1fUkVHX0JBU0UgKyAweDUwKSkKKyNkZWZpbmUgTURNX1RNX01FTURVTVBTVE9QICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EU1lTX01ETV9SRUdfQkFTRSArIDB4NTQpKQorI2RlZmluZSBNRE1fVE1fTUVNR09MREVOU1RSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURTWVNfTURNX1JFR19CQVNFICsgMHg1OCkpCisjZGVmaW5lIE1ETV9UTV9NRU1HT0xERU5TVE9QICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFNZU19NRE1fUkVHX0JBU0UgKyAweDVDKSkKKyNkZWZpbmUgTURNX1RNX01FTVJFVklTRVNUUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EU1lTX01ETV9SRUdfQkFTRSArIDB4NjApKQorI2RlZmluZSBNRE1fVE1fTUVNUkVWSVNFU1RPUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURTWVNfTURNX1JFR19CQVNFICsgMHg2NCkpCisjZGVmaW5lIE1ETV9UTV9SVU5USU1FX1VTRUMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFNZU19NRE1fUkVHX0JBU0UgKyAweDZDKSkKKyNkZWZpbmUgTURNX1RNX1NUUl9DTEVBUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKE1EU1lTX01ETV9SRUdfQkFTRSArIDB4OTApKQorI2RlZmluZSBNRE1fVE1fU1RSX0RJU1BMQVkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURTWVNfTURNX1JFR19CQVNFICsgMHg5NCkpCisjZGVmaW5lIE1ETV9UTV9TVFIobikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShNRFNZU19NRE1fUkVHX0JBU0UgKyAweDk4ICsgKG4pKjQpKSAgIC8vbiBpcyBmcm9tIDAgdG8gNworI2RlZmluZSBNRE1fVE1fREFUKG4pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoTURTWVNfTURNX1JFR19CQVNFICsgMHhDMCArIChuKSo0KSkgICAvL24gaXMgZnJvbSAwIHRvIDcKKworCisjZGVmaW5lIE1ETV9UTV9FTkRTSU1fTURNX1RNX0VORFNJTV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNRE1fVE1fRU5EU0lNX01ETV9UTV9FTkRTSU1fV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIE1ETV9UTV9FTkRTSU1fTURNX1RNX0VORFNJTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIE1ETV9UTV9FUlJDTlRfTURNX1RNX0VSUkNOVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNRE1fVE1fRVJSQ05UX01ETV9UTV9FUlJDTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIE1ETV9UTV9FUlJDTlRfTURNX1RNX0VSUkNOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIE1ETV9UTV9EQkdJTkZPX01ETV9UTV9EQkdJTkZPX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNRE1fVE1fREJHSU5GT19NRE1fVE1fREJHSU5GT19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIE1ETV9UTV9EQkdJTkZPX01ETV9UTV9EQkdJTkZPX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIE1ETV9UTV9FTkRGQUlMX01ETV9UTV9FTkRGQUlMX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNRE1fVE1fRU5ERkFJTF9NRE1fVE1fRU5ERkFJTF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIE1ETV9UTV9FTkRGQUlMX01ETV9UTV9FTkRGQUlMX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIE1ETV9UTV9FTkRTVUNDX01ETV9UTV9FTkRTVUNDX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNRE1fVE1fRU5EU1VDQ19NRE1fVE1fRU5EU1VDQ19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIE1ETV9UTV9FTkRTVUNDX01ETV9UTV9FTkRTVUNDX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIE1ETV9UTV9BTExGTVQzMkJfTURNX1RNX0FMTEZNVDMyQl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNRE1fVE1fQUxMRk1UMzJCX01ETV9UTV9BTExGTVQzMkJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIE1ETV9UTV9BTExGTVQzMkJfTURNX1RNX0FMTEZNVDMyQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIE1ETV9UTV9IRVhGTVQzMkJfTURNX1RNX0hFWEZNVDMyQl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNRE1fVE1fSEVYRk1UMzJCX01ETV9UTV9IRVhGTVQzMkJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIE1ETV9UTV9IRVhGTVQzMkJfTURNX1RNX0hFWEZNVDMyQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIE1ETV9UTV9ERUNGTVQzMkJfTURNX1RNX0RFQ0ZNVDMyQl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNRE1fVE1fREVDRk1UMzJCX01ETV9UTV9ERUNGTVQzMkJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIE1ETV9UTV9ERUNGTVQzMkJfTURNX1RNX0RFQ0ZNVDMyQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIE1ETV9UTV9CSU5GTVQzMkJfTURNX1RNX0JJTkZNVDMyQl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNRE1fVE1fQklORk1UMzJCX01ETV9UTV9CSU5GTVQzMkJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIE1ETV9UTV9CSU5GTVQzMkJfTURNX1RNX0JJTkZNVDMyQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIE1ETV9UTV9NRU1EVU1QU1RSX01ETV9UTV9NRU1EVU1QU1RSX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNRE1fVE1fTUVNRFVNUFNUUl9NRE1fVE1fTUVNRFVNUFNUUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIE1ETV9UTV9NRU1EVU1QU1RSX01ETV9UTV9NRU1EVU1QU1RSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIE1ETV9UTV9NRU1EVU1QU1RPUF9NRE1fVE1fTUVNRFVNUFNUT1BfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNRE1fVE1fTUVNRFVNUFNUT1BfTURNX1RNX01FTURVTVBTVE9QX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIE1ETV9UTV9NRU1EVU1QU1RPUF9NRE1fVE1fTUVNRFVNUFNUT1BfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIE1ETV9UTV9NRU1HT0xERU5TVFJfTURNX1RNX01FTUdPTERFTlNUUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNRE1fVE1fTUVNR09MREVOU1RSX01ETV9UTV9NRU1HT0xERU5TVFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIE1ETV9UTV9NRU1HT0xERU5TVFJfTURNX1RNX01FTUdPTERFTlNUUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIE1ETV9UTV9NRU1HT0xERU5TVE9QX01ETV9UTV9NRU1HT0xERU5TVE9QX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNRE1fVE1fTUVNR09MREVOU1RPUF9NRE1fVE1fTUVNR09MREVOU1RPUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIE1ETV9UTV9NRU1HT0xERU5TVE9QX01ETV9UTV9NRU1HT0xERU5TVE9QX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIE1ETV9UTV9NRU1SRVZJU0VTVFJfTURNX1RNX01FTVJFVklTRVNUUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNRE1fVE1fTUVNUkVWSVNFU1RSX01ETV9UTV9NRU1SRVZJU0VTVFJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIE1ETV9UTV9NRU1SRVZJU0VTVFJfTURNX1RNX01FTVJFVklTRVNUUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIE1ETV9UTV9NRU1SRVZJU0VTVE9QX01ETV9UTV9NRU1SRVZJU0VTVE9QX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNRE1fVE1fTUVNUkVWSVNFU1RPUF9NRE1fVE1fTUVNUkVWSVNFU1RPUF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIE1ETV9UTV9NRU1SRVZJU0VTVE9QX01ETV9UTV9NRU1SRVZJU0VTVE9QX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIE1ETV9UTV9SVU5USU1FX1VTRUNfTURNX1RNX1JVTlRJTUVfVVNFQ19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNRE1fVE1fUlVOVElNRV9VU0VDX01ETV9UTV9SVU5USU1FX1VTRUNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIE1ETV9UTV9SVU5USU1FX1VTRUNfTURNX1RNX1JVTlRJTUVfVVNFQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIE1ETV9UTV9TVFJfQ0xFQVJfTURNX1RNX1NUUl9DTEVBUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNRE1fVE1fU1RSX0NMRUFSX01ETV9UTV9TVFJfQ0xFQVJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgTURNX1RNX1NUUl9DTEVBUl9NRE1fVE1fU1RSX0NMRUFSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgTURNX1RNX1NUUl9ESVNQTEFZX01ETV9UTV9TVFJfRElTUExBWV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIE1ETV9UTV9TVFJfRElTUExBWV9NRE1fVE1fU1RSX0RJU1BMQVlfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBNRE1fVE1fU1RSX0RJU1BMQVlfTURNX1RNX1NUUl9ESVNQTEFZX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBNRE1fVE1fU1RSX01ETV9UTV9TVFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgTURNX1RNX1NUUl9NRE1fVE1fU1RSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIE1ETV9UTV9TVFJfTURNX1RNX1NUUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMEZGKQorCisjZGVmaW5lIE1ETV9UTV9EQVRfTURNX1RNX0RBVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBNRE1fVE1fREFUX01ETV9UTV9EQVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIE1ETV9UTV9EQVRfTURNX1RNX0RBVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisKKyNlbmRpZiAvLyNpZm5kZWYgX0NQSF9NRFNZU19NRE1fSF8KZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jcGhybGRmZWJiLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY3BocmxkZmViYi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhZDFlYmUKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY3BocmxkZmViYi5oCkBAIC0wLDAgKzEsNTEgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhSTERGRUJCX0hfCisjZGVmaW5lIF9DUEhSTERGRUJCX0hfCisKKyNpbmNsdWRlICJjbDFjb21tb24uaCIKKyNpbmNsdWRlICJrYWxfZ2VuZXJhbF90eXBlcy5oIgorCisKK3ZvaWQgQ3BoUmxEZmVJbml0KCk7Cit2b2lkIENwaFJsRGZlTmNvQ2ZnKGthbF9pbnQzMiBOY28pOwordm9pZCBDcGgxeFJsRGZlSXM5NUNmZyhrYWxfYm9vbCBJczk1KTsKK3ZvaWQgQ3BoMXhSbERmZUNyY0NoZWNrQ2ZnKHZvaWQpOwora2FsX3VpbnQzMiBDcGgxeFJsRGZlQmJDcmNSZWFkKHZvaWQpOwora2FsX3VpbnQzMiBDcGgxeFJsRGZlUmZDcmNSZWFkKHZvaWQpOwordm9pZCBDcGhSbERmZVJlZ0xvZygpOwordm9pZCBDcGhSbERmZUJiU2luZUNmZyhrYWxfdWludDMyIENmZ0RhdGEpOwordm9pZCBDcGhUc3RFdmRvVHhEZmVXaW5DZmcoU3lzQWlySW50ZXJmYWNlVCBJbnRlcmZhY2Usa2FsX2Jvb2wgSXNPbik7CisjZW5kaWYKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jcGhybHN5c2dsYi5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NwaHJsc3lzZ2xiLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjc5ODhhNQotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jcGhybHN5c2dsYi5oCkBAIC0wLDAgKzEsNTUgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhSTFNZU0dMQl9IXworI2RlZmluZSBfQ1BIUkxTWVNHTEJfSF8KKworI2luY2x1ZGUgImNsMWNvbW1vbi5oIgorI2luY2x1ZGUgImthbF9nZW5lcmFsX3R5cGVzLmgiCisKK3ZvaWQgQ3BoMXhSbEJycFJzdCgpOwordm9pZCBDcGgxeFJsQ3JwUnN0KCk7Cit2b2lkIENwaEV2ZG9SbEJycFJzdCgpOwordm9pZCBDcGhFdmRvUmxDcnBSc3QoKTsKK3ZvaWQgQ3BoUmxTeXNUeEJycERpdkNmZyhTeXNBaXJJbnRlcmZhY2VUIEludGVyZmFjZSwga2FsX2Jvb2wgTW1UeCk7Cit2b2lkIENwaFJsU3lzVHhDcnBEaXZDZmcoU3lzQWlySW50ZXJmYWNlVCBJbnRlcmZhY2UsIGthbF9ib29sIE1tVHgpOwordm9pZCBDcGhSbFN5c1R4RGZlQmJDa0VuKCk7Cit2b2lkIENwaFJsU3lzVHhEZmVCYkNrRGlzKCk7Cit2b2lkIENwaFJsU3lzVHhDcnBDa0VuKCk7Cit2b2lkIENwaFJsU3lzVHhDcnBDa0RpcygpOwordm9pZCBDcGhSbFN5c1R4QnJwQ2tFbigpOwordm9pZCBDcGhSbFN5c1R4QnJwQ2tEaXMoKTsKK3ZvaWQgQ3BoUmxTeXNUeERmZVJmQ2tFbigpOwordm9pZCBDcGgxeFJsU3lzR2xiUmVnTG9nKCk7CisjZW5kaWYKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jcGhyeGRmZS5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NwaHJ4ZGZlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTAzMDBiMAotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9jcGhyeGRmZS5oCkBAIC0wLDAgKzEsNjkgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIF9DUEhSWERGRV9IXworI2RlZmluZSBfQ1BIUlhERkVfSF8KKworI2luY2x1ZGUgImNsMWNvbW1vbi5oIgorI2luY2x1ZGUgImthbF9nZW5lcmFsX3R5cGVzLmgiCisKKwordHlwZWRlZiBlbnVtCit7CisgICAgTVJTR19NT0RFX0VWRE9fU0NILAorICAgIE1SU0dfTU9ERV9FVkRPX0lOTkVSLAorICAgIE1SU0dfTU9ERV8xWF9TQ0gsCisgICAgTVJTR19NT0RFXzFYX0lOTkVSCisKK30gQ3BoQzJrTXJzZ01vZGVFbnVtOworCitleHRlcm4gdm9pZCBDcGhSeGRmZUNsb2NrT24odm9pZCk7CisKK2V4dGVybiB2b2lkIENwaFJ4ZGZlVHN0UGF0dGVybkNweShjb25zdCB2b2lkICphZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGthbF91aW50MzIgbGVuICAgLyogdGhlIGRhdGEgbGVuZ3RoIG9mIHRlc3QgcGF0dGVybiwgMTI4IGJ5dGVzIG11bHRpcGxlcyBhbmQgbm90IGxhcmdlciB0aGFuIDE2IE1CeXRlcyAqLyk7CisKK2V4dGVybiB2b2lkIENwaFJ4ZGZlT24oQ3BoQzJrTXJzZ01vZGVFbnVtIG1yc2dNb2RlLAorICAgICAgICAgICAgICAgICAgICAgICBrYWxfdWludDMyIGxlbiwgICAvKiB0aGUgZGF0YSBsZW5ndGggb2YgdGVzdCBwYXR0ZXJuLCAxMjggYnl0ZXMgbXVsdGlwbGVzIGFuZCBub3QgbGFyZ2VyIHRoYW4gMTYgTUJ5dGVzICovCisgICAgICAgICAgICAgICAgICAgICAgIGthbF91aW50MzIgb2Zmc2V0IC8qIHRoZSA4MG1zIHN5c3RlbSB0aW1lciBhdCB3aGljaCB0ZXN0IHBhdHRlcm4gc3RhcnQgKi8pOworCitleHRlcm4gdm9pZCBDcGhSeGRmZU9uRGF0YUFkZHIoQ3BoQzJrTXJzZ01vZGVFbnVtIG1yc2dNb2RlLAorICAgICAgICAgICAgICAgIGthbF91aW50MzIgbGVuLCAgIC8qIHRoZSBkYXRhIGxlbmd0aCBvZiB0ZXN0IHBhdHRlcm4sIDEyOCBieXRlcyBtdWx0aXBsZXMgYW5kIG5vdCBsYXJnZXIgdGhhbiAxNiBNQnl0ZXMgKi8KKyAgICAgICAgICAgICAgICBrYWxfdWludDMyIG9mZnNldCwgLyogdGhlIDgwbXMgc3lzdGVtIHRpbWVyIGF0IHdoaWNoIHRlc3QgcGF0dGVybiBzdGFydCAqLworICAgICAgICAgICAgICAgIGthbF91aW50MzIgRGF0YUFkZHIgLypEYXRhIGFkcmVzcyovKTsKK2V4dGVybiB2b2lkIENwaFJ4ZGZlTXJzZ1dpbk9uKENwaEMya01yc2dNb2RlRW51bSBtcnNnTW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGthbF91aW50MzIgb2Zmc2V0IC8qIHRoZSA4MG1zIHN5c3RlbSB0aW1lciBhdCB3aGljaCB0ZXN0IHBhdHRlcm4gc3RhcnQgKi8pOworCitleHRlcm4gdm9pZCBDcGhSeGRmZU1yc2dXaW5PZmYoQ3BoQzJrTXJzZ01vZGVFbnVtIG1yc2dNb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGthbF91aW50MzIgb2Zmc2V0IC8qIHRoZSA4MG1zIHN5c3RlbSB0aW1lciBhdCB3aGljaCB0ZXN0IHBhdHRlcm4gZW5kICovKTsKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NwaHN5c3RlbXRpbWVyLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY3Boc3lzdGVtdGltZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZTA3NjJmCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NwaHN5c3RlbXRpbWVyLmgKQEAgLTAsMCArMSwxMjc4IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfQ1BIU1lTVEVNVElNRVJfSF8KKyNkZWZpbmUgX0NQSFNZU1RFTVRJTUVSX0hfCisKK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIFNSQU1BRERSOyAgICAgICAgIC8qIFNSQU0gYWRkciBpcyAxNiBiaXRzICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAgU1JBTURBVEE7ICAgICAgICAgLyogU1JBTSBkYXRhIGlzIDE2IGJpdHMgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0KiBBUEJBRERSOyAgICAgICAgICAvKiBBUEIgYWRkciBpcyAxNiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgIEFQQkRBVEE7ICAgICAgICAgIC8qIEFQQiBkYXRhIGlzIDE2IGJpdHMgICAqLwordHlwZWRlZiB2b2xhdGlsZSB1bnNpZ25lZCBsb25nKiAgQVBCQUREUjMyOyAgICAgICAgLyogQVBCIGFkZHIgaXMgMzIgYml0cyAgICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgICBBUEJEQVRBMzI7ICAgICAgICAvKiBBUEIgZGF0YSBpcyAzMiBiaXRzICAgKi8KK3R5cGVkZWYgdm9sYXRpbGUgdW5zaWduZWQgc2hvcnQqIERQUkFNQUREUjsgICAgICAgIC8qIERQUkFNIGFkZHIgaXMgMTYgYml0cyAqLwordHlwZWRlZiB2b2xhdGlsZSBzaWduZWQgICBzaG9ydCogRFBSQU1BRERSX1M7ICAgICAgLyogRFBSQU0gYWRkciBpcyAxNiBiaXRzICovCit0eXBlZGVmIHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICBEUFJBTURBVEE7ICAgICAgICAvKiBEUFJBTSBkYXRhIGlzIDE2IGJpdHMgKi8KKworI2lmIChkZWZpbmVkKF9fTUQ5M19fKXx8ZGVmaW5lZChfX01EOTVfXykpCisjZGVmaW5lIFNUX1JYX1RJTUVSX1JFR19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHhBNjBDMDAwMCkvKlJYIFRJTUVSIFJFRyBCQVNFIDkzJjk1Ki8KKyNlbGlmIGRlZmluZWQoX19NRDk3X18pIHx8IGRlZmluZWQoX19NRDk3UF9fKQorI2RlZmluZSBTVF9SWF9USU1FUl9SRUdfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QTgwQzAwMDApLypSWCBUSU1FUiBSRUcgQkFTRSA5NyovCisjZW5kaWYKKworI2RlZmluZSBTVF9BRFZfUkVUKGkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUX1JYX1RJTUVSX1JFR19CQVNFICsgKChpKSA8PCAxNykgKyAweDAwMDAwMDAwKSkKKyNkZWZpbmUgU1RfU1lOQ19USU1FKGkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVF9SWF9USU1FUl9SRUdfQkFTRSArICgoaSkgPDwgMTcpICsgMHgwMDAwMDAwNCkpCisjZGVmaW5lIFNUX1NZTkNfU1lTQ05UX0lOSShpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfUlhfVElNRVJfUkVHX0JBU0UgKyAoKGkpIDw8IDE3KSArIDB4MDAwMDAwMDgpKQorI2RlZmluZSBTVF9TWU5DX1NVUEZSTV9DTlRfTF9JTkkoaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUX1JYX1RJTUVSX1JFR19CQVNFICsgKChpKSA8PCAxNykgKyAweDAwMDAwMDBDKSkKKyNkZWZpbmUgU1RfU1lOQ19TVVBGUk1fQ05UX0hfSU5JKGkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVF9SWF9USU1FUl9SRUdfQkFTRSArICgoaSkgPDwgMTcpICsgMHgwMDAwMDAxMCkpCisjZGVmaW5lIFNUX1NZTkNfVElNRV9FTihpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfUlhfVElNRVJfUkVHX0JBU0UgKyAoKGkpIDw8IDE3KSArIDB4MDAwMDAwMTQpKQorI2RlZmluZSBTVF9TVVBGUk1fQ05UX0xfSU5JKGkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUX1JYX1RJTUVSX1JFR19CQVNFICsgKChpKSA8PCAxNykgKyAweDAwMDAwMDE4KSkKKyNkZWZpbmUgU1RfU1VQRlJNX0NOVF9IX0lOSShpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVF9SWF9USU1FUl9SRUdfQkFTRSArICgoaSkgPDwgMTcpICsgMHgwMDAwMDAxQykpCisjZGVmaW5lIFNUX1NVUEZSTV9DTlRfSU5JX1RSSUcoaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfUlhfVElNRVJfUkVHX0JBU0UgKyAoKGkpIDw8IDE3KSArIDB4MDAwMDAwMjApKQorI2RlZmluZSBTVF9GUk1fVFlQRShpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUX1JYX1RJTUVSX1JFR19CQVNFICsgKChpKSA8PCAxNykgKyAweDAwMDAwMDI0KSkKKyNkZWZpbmUgU1RfQ1BJTlRfT0ZGU0VUKGkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVF9SWF9USU1FUl9SRUdfQkFTRSArICgoaSkgPDwgMTcpICsgMHgwMDAwMDAyOCkpCisjZGVmaW5lIFNUX0NQSU5UX01BU0soaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfUlhfVElNRVJfUkVHX0JBU0UgKyAoKGkpIDw8IDE3KSArIDB4MDAwMDAwMkMpKQorI2RlZmluZSBTVF9DUElOVF9DTFIoaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUX1JYX1RJTUVSX1JFR19CQVNFICsgKChpKSA8PCAxNykgKyAweDAwMDAwMDMwKSkKKyNkZWZpbmUgU1RfQ1BJTlRfU1JDKGkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVF9SWF9USU1FUl9SRUdfQkFTRSArICgoaSkgPDwgMTcpICsgMHgwMDAwMDAzNCkpCisjZGVmaW5lIFNUX0NQSU5UX0lTUihpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfUlhfVElNRVJfUkVHX0JBU0UgKyAoKGkpIDw8IDE3KSArIDB4MDAwMDAwMzgpKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX09GRlNFVChpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUX1JYX1RJTUVSX1JFR19CQVNFICsgKChpKSA8PCAxNykgKyAweDAwMDAwMDNDKSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLKGkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVF9SWF9USU1FUl9SRUdfQkFTRSArICgoaSkgPDwgMTcpICsgMHgwMDAwMDA0MCkpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSKGkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfUlhfVElNRVJfUkVHX0JBU0UgKyAoKGkpIDw8IDE3KSArIDB4MDAwMDAwNDQpKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQyhpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUX1JYX1RJTUVSX1JFR19CQVNFICsgKChpKSA8PCAxNykgKyAweDAwMDAwMDQ4KSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1IoaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVF9SWF9USU1FUl9SRUdfQkFTRSArICgoaSkgPDwgMTcpICsgMHgwMDAwMDA0QykpCisjZGVmaW5lIFNUX0NGR19DUElOVF9USU1FKGkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfUlhfVElNRVJfUkVHX0JBU0UgKyAoKGkpIDw8IDE3KSArIDB4MDAwMDAwNTApKQorI2RlZmluZSBTVF9DRkdfQ1BJTlRfRU4oaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUX1JYX1RJTUVSX1JFR19CQVNFICsgKChpKSA8PCAxNykgKyAweDAwMDAwMDU0KSkKKyNkZWZpbmUgU1RfQ0ZHX0NQSU5UX0lTUihpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVF9SWF9USU1FUl9SRUdfQkFTRSArICgoaSkgPDwgMTcpICsgMHgwMDAwMDA1OCkpCisjZGVmaW5lIFNUX0NGR19DUElOVF9DTFIoaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfUlhfVElNRVJfUkVHX0JBU0UgKyAoKGkpIDw8IDE3KSArIDB4MDAwMDAwNUMpKQorI2lmZGVmIF9fTUQ5M19fCisjZGVmaW5lIFNUX1NVQkZSX1NUQVRVUyhpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfUlhfVElNRVJfUkVHX0JBU0UgKyAoKGkpIDw8IDE3KSArIDB4MDAwMDAwNjApKQorI2VuZGlmCisjZGVmaW5lIFNUX1NZU0NOVChpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfUlhfVElNRVJfUkVHX0JBU0UgKyAoKGkpIDw8IDE3KSArIDB4MDAwMDAwNjQpKQorI2RlZmluZSBTVF9TVVBGUk1fQ05UX0woaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUX1JYX1RJTUVSX1JFR19CQVNFICsgKChpKSA8PCAxNykgKyAweDAwMDAwMDY4KSkKKyNkZWZpbmUgU1RfU1VQRlJNX0NOVF9IKGkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVF9SWF9USU1FUl9SRUdfQkFTRSArICgoaSkgPDwgMTcpICsgMHgwMDAwMDA2QykpCisjZGVmaW5lIFNUX0ZSQ19USU1JTkdfU1lOQ19NT0RFKGkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfUlhfVElNRVJfUkVHX0JBU0UgKyAoKGkpIDw8IDE3KSArIDB4MDAwMDAwNzApKQorI2RlZmluZSBTVF9GUkNfVElNSU5HX1NZTkNfQ01QKGkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUX1JYX1RJTUVSX1JFR19CQVNFICsgKChpKSA8PCAxNykgKyAweDAwMDAwMDc0KSkKKyNkZWZpbmUgU1RfRlJDX1RJTUlOR19TWU5DX1RSSUcoaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVF9SWF9USU1FUl9SRUdfQkFTRSArICgoaSkgPDwgMTcpICsgMHgwMDAwMDA3OCkpCisjZGVmaW5lIFNUX0ZSQ19USU1JTkdfU1lOQ19TWVNDTlQoaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfUlhfVElNRVJfUkVHX0JBU0UgKyAoKGkpIDw8IDE3KSArIDB4MDAwMDAwN0MpKQorI2RlZmluZSBTVF9GUkNfVElNSU5HX1NZTkNfU1VQRlJNX0NOVF9MKGkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUX1JYX1RJTUVSX1JFR19CQVNFICsgKChpKSA8PCAxNykgKyAweDAwMDAwMDgwKSkKKyNkZWZpbmUgU1RfRlJDX1RJTUlOR19TWU5DX1NVUEZSTV9DTlRfSChpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVF9SWF9USU1FUl9SRUdfQkFTRSArICgoaSkgPDwgMTcpICsgMHgwMDAwMDA4NCkpCisjZGVmaW5lIFNUX01VX1NGTyhpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfUlhfVElNRVJfUkVHX0JBU0UgKyAoKGkpIDw8IDE3KSArIDB4MDAwMDAwODgpKQorI2RlZmluZSBTVF9NVV9BQ0NfSU5JX0woaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUX1JYX1RJTUVSX1JFR19CQVNFICsgKChpKSA8PCAxNykgKyAweDAwMDAwMDhDKSkKKyNkZWZpbmUgU1RfTVVfQUNDX0lOSV9IKGkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVF9SWF9USU1FUl9SRUdfQkFTRSArICgoaSkgPDwgMTcpICsgMHgwMDAwMDA5MCkpCisjZGVmaW5lIFNUX01VX0FDQ19TRVQoaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfUlhfVElNRVJfUkVHX0JBU0UgKyAoKGkpIDw8IDE3KSArIDB4MDAwMDAwOTQpKQorI2RlZmluZSBTVF9SQUtFX0NUTF9USU1FMyhpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUX1JYX1RJTUVSX1JFR19CQVNFICsgKChpKSA8PCAxNykgKyAweDAwMDAwMDk4KSkKKyNkZWZpbmUgU1RfR1NSX0NUTF9USU1FMihpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVF9SWF9USU1FUl9SRUdfQkFTRSArICgoaSkgPDwgMTcpICsgMHgwMDAwMDA5QykpCisjZGVmaW5lIFNUX0dTUl9TWU5DX1RSSUcoaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfUlhfVElNRVJfUkVHX0JBU0UgKyAoKGkpIDw8IDE3KSArIDB4MDAwMDAwQTApKQorI2RlZmluZSBTVF9HU1JfU1lOQ19UQUcoaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUX1JYX1RJTUVSX1JFR19CQVNFICsgKChpKSA8PCAxNykgKyAweDAwMDAwMEE0KSkKKyNpZmRlZiBfX01EOTNfXworI2RlZmluZSBTVF8xWERPX1RJTUlOR19TWU5DX1RSSUcoaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUX1JYX1RJTUVSX1JFR19CQVNFICsgKChpKSA8PCAxNykgKyAweDAwMDAwMEE4KSkKKyNkZWZpbmUgU1RfMVhET19USU1JTkdfU1lOQ19TWVNDTlQoaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVF9SWF9USU1FUl9SRUdfQkFTRSArICgoaSkgPDwgMTcpICsgMHgwMDAwMDBBQykpCisjZWxzZQorI2RlZmluZSBTVF8xWERPX1RJTUlOR19TWU5DX1RSSUcoaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUX1JYX1RJTUVSX1JFR19CQVNFICsgKChpKSA8PCAxNykgKyAweDAwMDAwMEMwKSkKKyNkZWZpbmUgU1RfMVhET19USU1JTkdfU1lOQ19TWVNDTlQoaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVF9SWF9USU1FUl9SRUdfQkFTRSArICgoaSkgPDwgMTcpICsgMHgwMDAwMDBDNCkpCisjZGVmaW5lIFNUXzFYRE9fVElNSU5HX1NZTkNfU1VQRlJNX0NOVF9MKGkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfUlhfVElNRVJfUkVHX0JBU0UgKyAoKGkpIDw8IDE3KSArIDB4MDAwMDAwQzgpKQorI2RlZmluZSBTVF8xWERPX1RJTUlOR19TWU5DX1NVUEZSTV9DTlRfSChpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUX1JYX1RJTUVSX1JFR19CQVNFICsgKChpKSA8PCAxNykgKyAweDAwMDAwMENDKSkKKyNlbmRpZgorI2RlZmluZSBTVF8xWERPTVJHX0VOKGkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUX1JYX1RJTUVSX1JFR19CQVNFICsgKChpKSA8PCAxNykgKyAweDAwMDAwMEIwKSkKKyNkZWZpbmUgU1RfMVhET01SR19JTklfVElNRShpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVF9SWF9USU1FUl9SRUdfQkFTRSArICgoaSkgPDwgMTcpICsgMHgwMDAwMDBCNCkpCisjZGVmaW5lIFNUXzFYRE9NUkdfT0ZGU0VUKGkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfUlhfVElNRVJfUkVHX0JBU0UgKyAoKGkpIDw8IDE3KSArIDB4MDAwMDAwQjgpKQorI2RlZmluZSBTVF9HUFNfRU4oaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUX1JYX1RJTUVSX1JFR19CQVNFICsgKChpKSA8PCAxNykgKyAweDAwMDAwMEJDKSkKKyNpZiBkZWZpbmVkKF9fTUQ5N19fKSB8fCBkZWZpbmVkKF9fTUQ5N1BfXykKKyNkZWZpbmUgU1RfMVhET19VU19TWU5DX0lNTV9FTihpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVF9SWF9USU1FUl9SRUdfQkFTRSArICgoaSkgPDwgMTcpICsgMHgwMDAwMDIwMCkpCisjZGVmaW5lIFNUXzFYRE9fVVNfU1lOQ19JTU1fVUNOVChpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfUlhfVElNRVJfUkVHX0JBU0UgKyAoKGkpIDw8IDE3KSArIDB4MDAwMDAyMDQpKQorI2RlZmluZSBTVF8xWERPX1VTX1NZTkNfSU1NX1NZU0NOVChpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUX1JYX1RJTUVSX1JFR19CQVNFICsgKChpKSA8PCAxNykgKyAweDAwMDAwMjA4KSkKKyNkZWZpbmUgU1RfMVhET19VU19TWU5DX1NDSF9FTihpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQVBCQUREUjMyKShTVF9SWF9USU1FUl9SRUdfQkFTRSArICgoaSkgPDwgMTcpICsgMHgwMDAwMDIxMCkpCisjZGVmaW5lIFNUXzFYRE9fVVNfU1lOQ19TQ0hfVElNRShpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFQQkFERFIzMikoU1RfUlhfVElNRVJfUkVHX0JBU0UgKyAoKGkpIDw8IDE3KSArIDB4MDAwMDAyMGMpKQorI2RlZmluZSBTVF8xWERPX1VTX1NZTkNfU0NIX1VDTlQoaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBUEJBRERSMzIpKFNUX1JYX1RJTUVSX1JFR19CQVNFICsgKChpKSA8PCAxNykgKyAweDAwMDAwMjE0KSkKKyNlbmRpZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBTVF9BRFZfUkVUX01PREVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNUX0FEVl9SRVRfTU9ERV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1RfQURWX1JFVF9NT0RFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAzKQorI2RlZmluZSBTVF9BRFZfUkVUX01PREVfQURWICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNUX0FEVl9SRVRfTU9ERV9SRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBTVF9BRFZfUkVUX0FESl9UQzhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNUX0FEVl9SRVRfQURKX1RDOF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1RfQURWX1JFVF9BREpfVEM4X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwN0ZDKQorCisKKyNkZWZpbmUgU1RfU1lOQ19USU1FX1NZU1RFTV9USU1FX0NOVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVF9TWU5DX1RJTUVfU1lTVEVNX1RJTUVfQ05UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE4KQorI2RlZmluZSBTVF9TWU5DX1RJTUVfU1lTVEVNX1RJTUVfQ05UX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkMpCisKKyNkZWZpbmUgU1RfU1lTQ05UX0lOSV9TWVNURU1fVElNRV9DTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVF9TWVNDTlRfSU5JX1NZU1RFTV9USU1FX0NOVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBTVF9TWVNDTlRfSU5JX1NZU1RFTV9USU1FX0NOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkYpCisKKyNkZWZpbmUgU1RfU1lOQ19TVVBGUk1fQ05UX0xfSU5JX1NVUEZSTV9DTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVF9TWU5DX1NVUEZSTV9DTlRfTF9JTklfU1VQRlJNX0NOVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBTVF9TWU5DX1NVUEZSTV9DTlRfTF9JTklfU1VQRlJNX0NOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgU1RfU1lOQ19TVVBGUk1fQ05UX0hfSU5JX1NVUEZSTV9DTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVF9TWU5DX1NVUEZSTV9DTlRfSF9JTklfU1VQRlJNX0NOVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFNUX1NZTkNfU1VQRlJNX0NOVF9IX0lOSV9TVVBGUk1fQ05UX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBTVF9TWU5DX1RJTUVfRU5fRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNUX1NZTkNfVElNRV9FTl9FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfU1lOQ19USU1FX0VOX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBTVF9TWU5DX1RJTUVfRU5fRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgU1RfU1VQRlJNX0NOVF9MX0lOSV9TVVBGUk1fQ05UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVF9TVVBGUk1fQ05UX0xfSU5JX1NVUEZSTV9DTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBTVF9TVVBGUk1fQ05UX0xfSU5JX1NVUEZSTV9DTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgU1RfU1VQRlJNX0NOVF9IX0lOSV9TVVBGUk1fQ05UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVF9TVVBGUk1fQ05UX0hfSU5JX1NVUEZSTV9DTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFNUX1NVUEZSTV9DTlRfSF9JTklfU1VQRlJNX0NOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwRikKKworI2RlZmluZSBTVF9TVVBGUk1fQ05UX0lOSV9UUklHX1RSSUdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNUX1NVUEZSTV9DTlRfSU5JX1RSSUdfVFJJR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfU1VQRlJNX0NOVF9JTklfVFJJR19UUklHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBTVF9TVVBGUk1fQ05UX0lOSV9UUklHX1RSSUdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgU1RfRlJNX1RZUEVfRlJNX1RZUEVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVF9GUk1fVFlQRV9GUk1fVFlQRV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0ZSTV9UWVBFX0ZSTV9UWVBFX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgU1RfRlJNX1RZUEVfRlJNX1RZUEVfMjZNUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAwKQorI2RlZmluZSBTVF9GUk1fVFlQRV9GUk1fVFlQRV8yME1TICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgU1RfQ1BJTlRfT0ZGU0VUX0NISVBfT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVF9DUElOVF9PRkZTRVRfQ0hJUF9PRkZTRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE4KQorI2RlZmluZSBTVF9DUElOVF9PRkZTRVRfQ0hJUF9PRkZTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkMpCisKKyNkZWZpbmUgU1RfQ1BJTlRfTUFTS19NU0sxNV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1RfQ1BJTlRfTUFTS19NU0sxNV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9DUElOVF9NQVNLX01TSzE1X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisjZGVmaW5lIFNUX0NQSU5UX01BU0tfTVNLMTVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBTVF9DUElOVF9NQVNLX01TSzE0X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBTVF9DUElOVF9NQVNLX01TSzE0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0NQSU5UX01BU0tfTVNLMTRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKyNkZWZpbmUgU1RfQ1BJTlRfTUFTS19NU0sxNF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorCisjZGVmaW5lIFNUX0NQSU5UX01BU0tfTVNLMTNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIFNUX0NQSU5UX01BU0tfTVNLMTNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfQ1BJTlRfTUFTS19NU0sxM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorI2RlZmluZSBTVF9DUElOVF9NQVNLX01TSzEzX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisKKyNkZWZpbmUgU1RfQ1BJTlRfTUFTS19NU0sxMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgU1RfQ1BJTlRfTUFTS19NU0sxMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9DUElOVF9NQVNLX01TSzEyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisjZGVmaW5lIFNUX0NQSU5UX01BU0tfTVNLMTJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBTVF9DUElOVF9NQVNLX01TSzExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBTVF9DUElOVF9NQVNLX01TSzExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0NQSU5UX01BU0tfTVNLMTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgU1RfQ1BJTlRfTUFTS19NU0sxMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorCisjZGVmaW5lIFNUX0NQSU5UX01BU0tfTVNLMTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFNUX0NQSU5UX01BU0tfTVNLMTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfQ1BJTlRfTUFTS19NU0sxMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBTVF9DUElOVF9NQVNLX01TSzEwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgU1RfQ1BJTlRfTUFTS19NU0s5X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTVF9DUElOVF9NQVNLX01TSzlfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0NQSU5UX01BU0tfTVNLOV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgU1RfQ1BJTlRfTUFTS19NU0s5X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIFNUX0NQSU5UX01BU0tfTVNLOF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgU1RfQ1BJTlRfTUFTS19NU0s4X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9DUElOVF9NQVNLX01TSzhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFNUX0NQSU5UX01BU0tfTVNLOF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBTVF9DUElOVF9NQVNLX01TSzdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFNUX0NQSU5UX01BU0tfTVNLN19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfQ1BJTlRfTUFTS19NU0s3X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBTVF9DUElOVF9NQVNLX01TSzdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgU1RfQ1BJTlRfTUFTS19NU0s2X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTVF9DUElOVF9NQVNLX01TSzZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0NQSU5UX01BU0tfTVNLNl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgU1RfQ1BJTlRfTUFTS19NU0s2X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFNUX0NQSU5UX01BU0tfTVNLNV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgU1RfQ1BJTlRfTUFTS19NU0s1X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9DUElOVF9NQVNLX01TSzVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFNUX0NQSU5UX01BU0tfTVNLNV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBTVF9DUElOVF9NQVNLX01TSzRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFNUX0NQSU5UX01BU0tfTVNLNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfQ1BJTlRfTUFTS19NU0s0X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBTVF9DUElOVF9NQVNLX01TSzRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgU1RfQ1BJTlRfTUFTS19NU0szX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBTVF9DUElOVF9NQVNLX01TSzNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0NQSU5UX01BU0tfTVNLM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgU1RfQ1BJTlRfTUFTS19NU0szX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFNUX0NQSU5UX01BU0tfTVNLMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1RfQ1BJTlRfTUFTS19NU0syX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9DUElOVF9NQVNLX01TSzJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFNUX0NQSU5UX01BU0tfTVNLMl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBTVF9DUElOVF9NQVNLX01TSzFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0NQSU5UX01BU0tfTVNLMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfQ1BJTlRfTUFTS19NU0sxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBTVF9DUElOVF9NQVNLX01TSzFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgU1RfQ1BJTlRfTUFTS19NU0swX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVF9DUElOVF9NQVNLX01TSzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0NQSU5UX01BU0tfTVNLMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgU1RfQ1BJTlRfTUFTS19NU0swX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNUX0NQSU5UX0NMUl9DTFIxNV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFNUX0NQSU5UX0NMUl9DTFIxNV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfQ1BJTlRfQ0xSX0NMUjE1X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorI2RlZmluZSBTVF9DUElOVF9DTFJfQ0xSMTVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisKKyNkZWZpbmUgU1RfQ1BJTlRfQ0xSX0NMUjE0X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgU1RfQ1BJTlRfQ0xSX0NMUjE0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9DUElOVF9DTFJfQ0xSMTRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisjZGVmaW5lIFNUX0NQSU5UX0NMUl9DTFIxNF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKworI2RlZmluZSBTVF9DUElOVF9DTFJfQ0xSMTNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBTVF9DUElOVF9DTFJfQ0xSMTNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0NQSU5UX0NMUl9DTFIxM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKyNkZWZpbmUgU1RfQ1BJTlRfQ0xSX0NMUjEzX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorCisjZGVmaW5lIFNUX0NQSU5UX0NMUl9DTFIxMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIFNUX0NQSU5UX0NMUl9DTFIxMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfQ1BJTlRfQ0xSX0NMUjEyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorI2RlZmluZSBTVF9DUElOVF9DTFJfQ0xSMTJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisKKyNkZWZpbmUgU1RfQ1BJTlRfQ0xSX0NMUjExX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgU1RfQ1BJTlRfQ0xSX0NMUjExX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9DUElOVF9DTFJfQ0xSMTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisjZGVmaW5lIFNUX0NQSU5UX0NMUl9DTFIxMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKworI2RlZmluZSBTVF9DUElOVF9DTFJfQ0xSMTBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBTVF9DUElOVF9DTFJfQ0xSMTBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0NQSU5UX0NMUl9DTFIxMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKyNkZWZpbmUgU1RfQ1BJTlRfQ0xSX0NMUjEwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorCisjZGVmaW5lIFNUX0NQSU5UX0NMUl9DTFI5X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgU1RfQ1BJTlRfQ0xSX0NMUjlfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9DUElOVF9DTFJfQ0xSOV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisjZGVmaW5lIFNUX0NQSU5UX0NMUl9DTFI5X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKworI2RlZmluZSBTVF9DUElOVF9DTFJfQ0xSOF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFNUX0NQSU5UX0NMUl9DTFI4X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfQ1BJTlRfQ0xSX0NMUjhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorI2RlZmluZSBTVF9DUElOVF9DTFJfQ0xSOF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisKKyNkZWZpbmUgU1RfQ1BJTlRfQ0xSX0NMUjdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTVF9DUElOVF9DTFJfQ0xSN19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0NQSU5UX0NMUl9DTFI3X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKyNkZWZpbmUgU1RfQ1BJTlRfQ0xSX0NMUjdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorCisjZGVmaW5lIFNUX0NQSU5UX0NMUl9DTFI2X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgU1RfQ1BJTlRfQ0xSX0NMUjZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9DUElOVF9DTFJfQ0xSNl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisjZGVmaW5lIFNUX0NQSU5UX0NMUl9DTFI2X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKworI2RlZmluZSBTVF9DUElOVF9DTFJfQ0xSNV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFNUX0NQSU5UX0NMUl9DTFI1X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfQ1BJTlRfQ0xSX0NMUjVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorI2RlZmluZSBTVF9DUElOVF9DTFJfQ0xSNV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisKKyNkZWZpbmUgU1RfQ1BJTlRfQ0xSX0NMUjRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBTVF9DUElOVF9DTFJfQ0xSNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0NQSU5UX0NMUl9DTFI0X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKyNkZWZpbmUgU1RfQ1BJTlRfQ0xSX0NMUjRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorCisjZGVmaW5lIFNUX0NQSU5UX0NMUl9DTFIzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgU1RfQ1BJTlRfQ0xSX0NMUjNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9DUElOVF9DTFJfQ0xSM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisjZGVmaW5lIFNUX0NQSU5UX0NMUl9DTFIzX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKworI2RlZmluZSBTVF9DUElOVF9DTFJfQ0xSMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNUX0NQSU5UX0NMUl9DTFIyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfQ1BJTlRfQ0xSX0NMUjJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorI2RlZmluZSBTVF9DUElOVF9DTFJfQ0xSMl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisKKyNkZWZpbmUgU1RfQ1BJTlRfQ0xSX0NMUjFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9DUElOVF9DTFJfQ0xSMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0NQSU5UX0NMUl9DTFIxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKyNkZWZpbmUgU1RfQ1BJTlRfQ0xSX0NMUjFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorCisjZGVmaW5lIFNUX0NQSU5UX0NMUl9DTFIwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RfQ1BJTlRfQ0xSX0NMUjBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9DUElOVF9DTFJfQ0xSMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNUX0NQSU5UX0NMUl9DTFIwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBTVF9DUElOVF9TUkNfU1JDMTVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBTVF9DUElOVF9TUkNfU1JDMTVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0NQSU5UX1NSQ19TUkMxNV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKyNkZWZpbmUgU1RfQ1BJTlRfU1JDX1NSQzE1X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwKQorCisjZGVmaW5lIFNUX0NQSU5UX1NSQ19TUkMxNF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIFNUX0NQSU5UX1NSQ19TUkMxNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfQ1BJTlRfU1JDX1NSQzE0X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorI2RlZmluZSBTVF9DUElOVF9TUkNfU1JDMTRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDApCisKKyNkZWZpbmUgU1RfQ1BJTlRfU1JDX1NSQzEzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgU1RfQ1BJTlRfU1JDX1NSQzEzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9DUElOVF9TUkNfU1JDMTNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisjZGVmaW5lIFNUX0NQSU5UX1NSQ19TUkMxM19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMCkKKworI2RlZmluZSBTVF9DUElOVF9TUkNfU1JDMTJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBTVF9DUElOVF9TUkNfU1JDMTJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0NQSU5UX1NSQ19TUkMxMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKyNkZWZpbmUgU1RfQ1BJTlRfU1JDX1NSQzEyX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwKQorCisjZGVmaW5lIFNUX0NQSU5UX1NSQ19TUkMxMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFNUX0NQSU5UX1NSQ19TUkMxMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfQ1BJTlRfU1JDX1NSQzExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorI2RlZmluZSBTVF9DUElOVF9TUkNfU1JDMTFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA4MDApCisKKyNkZWZpbmUgU1RfQ1BJTlRfU1JDX1NSQzEwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgU1RfQ1BJTlRfU1JDX1NSQzEwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9DUElOVF9TUkNfU1JDMTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisjZGVmaW5lIFNUX0NQSU5UX1NSQ19TUkMxMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDQwMCkKKworI2RlZmluZSBTVF9DUElOVF9TUkNfU1JDOV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFNUX0NQSU5UX1NSQ19TUkM5X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfQ1BJTlRfU1JDX1NSQzlfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorI2RlZmluZSBTVF9DUElOVF9TUkNfU1JDOV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAyMDApCisKKyNkZWZpbmUgU1RfQ1BJTlRfU1JDX1NSQzhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBTVF9DUElOVF9TUkNfU1JDOF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0NQSU5UX1NSQ19TUkM4X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKyNkZWZpbmUgU1RfQ1BJTlRfU1JDX1NSQzhfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMTAwKQorCisjZGVmaW5lIFNUX0NQSU5UX1NSQ19TUkM3X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgU1RfQ1BJTlRfU1JDX1NSQzdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9DUElOVF9TUkNfU1JDN19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisjZGVmaW5lIFNUX0NQSU5UX1NSQ19TUkM3X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA4MCkKKworI2RlZmluZSBTVF9DUElOVF9TUkNfU1JDNl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFNUX0NQSU5UX1NSQ19TUkM2X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfQ1BJTlRfU1JDX1NSQzZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorI2RlZmluZSBTVF9DUElOVF9TUkNfU1JDNl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDApCisKKyNkZWZpbmUgU1RfQ1BJTlRfU1JDX1NSQzVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBTVF9DUElOVF9TUkNfU1JDNV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0NQSU5UX1NSQ19TUkM1X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKyNkZWZpbmUgU1RfQ1BJTlRfU1JDX1NSQzVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwKQorCisjZGVmaW5lIFNUX0NQSU5UX1NSQ19TUkM0X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgU1RfQ1BJTlRfU1JDX1NSQzRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9DUElOVF9TUkNfU1JDNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisjZGVmaW5lIFNUX0NQSU5UX1NSQ19TUkM0X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMCkKKworI2RlZmluZSBTVF9DUElOVF9TUkNfU1JDM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFNUX0NQSU5UX1NSQ19TUkMzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfQ1BJTlRfU1JDX1NSQzNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorI2RlZmluZSBTVF9DUElOVF9TUkNfU1JDM19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDgpCisKKyNkZWZpbmUgU1RfQ1BJTlRfU1JDX1NSQzJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVF9DUElOVF9TUkNfU1JDMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0NQSU5UX1NSQ19TUkMyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKyNkZWZpbmUgU1RfQ1BJTlRfU1JDX1NSQzJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0KQorCisjZGVmaW5lIFNUX0NQSU5UX1NSQ19TUkMxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfQ1BJTlRfU1JDX1NSQzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9DUElOVF9TUkNfU1JDMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisjZGVmaW5lIFNUX0NQSU5UX1NSQ19TUkMxX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMikKKworI2RlZmluZSBTVF9DUElOVF9TUkNfU1JDMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNUX0NQSU5UX1NSQ19TUkMwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfQ1BJTlRfU1JDX1NSQzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBTVF9DUElOVF9TUkNfU1JDMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgU1RfQ1BJTlRfSVNSX0lTUjE1X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1RfQ1BJTlRfSVNSX0lTUjE1X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9DUElOVF9JU1JfSVNSMTVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisjZGVmaW5lIFNUX0NQSU5UX0lTUl9JU1IxNV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBTVF9DUElOVF9JU1JfSVNSMTRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBTVF9DUElOVF9JU1JfSVNSMTRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0NQSU5UX0lTUl9JU1IxNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKyNkZWZpbmUgU1RfQ1BJTlRfSVNSX0lTUjE0X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorCisjZGVmaW5lIFNUX0NQSU5UX0lTUl9JU1IxM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIFNUX0NQSU5UX0lTUl9JU1IxM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfQ1BJTlRfSVNSX0lTUjEzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorI2RlZmluZSBTVF9DUElOVF9JU1JfSVNSMTNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisKKyNkZWZpbmUgU1RfQ1BJTlRfSVNSX0lTUjEyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgU1RfQ1BJTlRfSVNSX0lTUjEyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9DUElOVF9JU1JfSVNSMTJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisjZGVmaW5lIFNUX0NQSU5UX0lTUl9JU1IxMl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBTVF9DUElOVF9JU1JfSVNSMTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBTVF9DUElOVF9JU1JfSVNSMTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0NQSU5UX0lTUl9JU1IxMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgU1RfQ1BJTlRfSVNSX0lTUjExX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorCisjZGVmaW5lIFNUX0NQSU5UX0lTUl9JU1IxMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFNUX0NQSU5UX0lTUl9JU1IxMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfQ1BJTlRfSVNSX0lTUjEwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBTVF9DUElOVF9JU1JfSVNSMTBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgU1RfQ1BJTlRfSVNSX0lTUjlfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTVF9DUElOVF9JU1JfSVNSOV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0NQSU5UX0lTUl9JU1I5X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgU1RfQ1BJTlRfSVNSX0lTUjlfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIFNUX0NQSU5UX0lTUl9JU1I4X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgU1RfQ1BJTlRfSVNSX0lTUjhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9DUElOVF9JU1JfSVNSOF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFNUX0NQSU5UX0lTUl9JU1I4X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBTVF9DUElOVF9JU1JfSVNSN19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFNUX0NQSU5UX0lTUl9JU1I3X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfQ1BJTlRfSVNSX0lTUjdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBTVF9DUElOVF9JU1JfSVNSN19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgU1RfQ1BJTlRfSVNSX0lTUjZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTVF9DUElOVF9JU1JfSVNSNl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0NQSU5UX0lTUl9JU1I2X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgU1RfQ1BJTlRfSVNSX0lTUjZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFNUX0NQSU5UX0lTUl9JU1I1X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgU1RfQ1BJTlRfSVNSX0lTUjVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9DUElOVF9JU1JfSVNSNV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFNUX0NQSU5UX0lTUl9JU1I1X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBTVF9DUElOVF9JU1JfSVNSNF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFNUX0NQSU5UX0lTUl9JU1I0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfQ1BJTlRfSVNSX0lTUjRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBTVF9DUElOVF9JU1JfSVNSNF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgU1RfQ1BJTlRfSVNSX0lTUjNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBTVF9DUElOVF9JU1JfSVNSM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0NQSU5UX0lTUl9JU1IzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgU1RfQ1BJTlRfSVNSX0lTUjNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFNUX0NQSU5UX0lTUl9JU1IyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1RfQ1BJTlRfSVNSX0lTUjJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9DUElOVF9JU1JfSVNSMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFNUX0NQSU5UX0lTUl9JU1IyX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBTVF9DUElOVF9JU1JfSVNSMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0NQSU5UX0lTUl9JU1IxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfQ1BJTlRfSVNSX0lTUjFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBTVF9DUElOVF9JU1JfSVNSMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgU1RfQ1BJTlRfSVNSX0lTUjBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVF9DUElOVF9JU1JfSVNSMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0NQSU5UX0lTUl9JU1IwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgU1RfQ1BJTlRfSVNSX0lTUjBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfT0ZGU0VUX0NISVBfT0ZGU0VUX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9PRkZTRVRfQ0hJUF9PRkZTRVRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9PRkZTRVRfQ0hJUF9PRkZTRVRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAxRkZDKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0szMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0szMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzMxX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLMzFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzMwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzMwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLMzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4NDAwMDAwMDApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0szMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLMjlfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI5KQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLMjlfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0syOV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgyMDAwMDAwMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzI5X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDIwMDAwMDAwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0syOF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjgpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0syOF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzI4X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDEwMDAwMDAwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLMjhfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMDApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzI3X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNykKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzI3X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLMjdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDgwMDAwMDApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0syN19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwODAwMDAwMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLMjZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI2KQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLMjZfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0syNl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwNDAwMDAwMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzI2X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA0MDAwMDAwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0syNV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjUpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0syNV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzI1X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAyMDAwMDAwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLMjVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDIwMDAwMDApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzI0X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzI0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLMjRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDEwMDAwMDApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0syNF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMTAwMDAwMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLMjNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIzKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLMjNfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0syM19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDgwMDAwMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzIzX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwODAwMDAwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0syMl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjIpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0syMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzIyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwNDAwMDAwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLMjJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDA0MDAwMDApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzIxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzIxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLMjFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAyMDAwMDApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0syMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDIwMDAwMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLMjBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLMjBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0syMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzIwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0sxOV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTkpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0sxOV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzE5X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDgwMDAwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLMTlfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwODAwMDApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzE4X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzE4X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLMThfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwNDAwMDApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0sxOF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDA0MDAwMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLMTdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE3KQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLMTdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0sxN19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAyMDAwMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzE3X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDIwMDAwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0sxNl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0sxNl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzE2X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLMTZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzE1X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzE1X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLMTVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0sxNV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLMTRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLMTRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0sxNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzE0X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0sxM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0sxM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzEzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLMTNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzEyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzEyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLMTJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0sxMl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLMTFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLMTFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0sxMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzExX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0sxMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0sxMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzEwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLMTBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzlfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLOV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0s5X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzlfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0s4X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzhfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLOF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0s4X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLN19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0s3X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLN19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzZfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLNl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0s2X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0s1X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLNV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0s1X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLNF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0s0X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLNF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0szX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0syX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0syX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0sxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX01BU0tfTVNLMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfTUFTS19NU0swX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9NQVNLX01TSzBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjMxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjMxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSMzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFIzMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSMzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSMzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFIzMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4NDAwMDAwMDApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjMwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFIyOV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI5KQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFIyOV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjI5X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgyMDAwMDAwMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSMjlfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDIwMDAwMDAwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjI4X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjgpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjI4X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSMjhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDEwMDAwMDAwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFIyOF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMDApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSMjdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNykKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSMjdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFIyN19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDgwMDAwMDApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjI3X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwODAwMDAwMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFIyNl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI2KQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFIyNl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjI2X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwNDAwMDAwMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSMjZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA0MDAwMDAwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjI1X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjUpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjI1X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSMjVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAyMDAwMDAwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFIyNV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDIwMDAwMDApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSMjRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSMjRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFIyNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDEwMDAwMDApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjI0X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMTAwMDAwMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFIyM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIzKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFIyM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjIzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDgwMDAwMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSMjNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwODAwMDAwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjIyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjIpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjIyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSMjJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwNDAwMDAwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFIyMl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDA0MDAwMDApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSMjFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSMjFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFIyMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAyMDAwMDApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjIxX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDIwMDAwMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFIyMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFIyMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjIwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSMjBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjE5X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTkpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjE5X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSMTlfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDgwMDAwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFIxOV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwODAwMDApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSMThfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSMThfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFIxOF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwNDAwMDApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjE4X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDA0MDAwMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFIxN19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE3KQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFIxN19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjE3X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAyMDAwMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSMTdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDIwMDAwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjE2X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjE2X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSMTZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFIxNl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSMTVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSMTVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFIxNV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjE1X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFIxNF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFIxNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjE0X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSMTRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjEzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjEzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSMTNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFIxM19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSMTJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSMTJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFIxMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjEyX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFIxMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFIxMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSMTFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjEwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjEwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSMTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFIxMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSOV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFI5X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjlfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSOV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSOF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFI4X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjhfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFI3X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSN19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFI3X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSNl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFI2X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSNl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSNV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFI1X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFI0X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFI0X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFIzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSM19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFIyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFIxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFIxX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0NMUl9DTFIwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfQ0xSX0NMUjBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9DTFJfQ0xSMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzMxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzMxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDMzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkMzMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDMzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDMzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkMzMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4NDAwMDAwMDApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzMwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkMyOV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI5KQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkMyOV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzI5X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgyMDAwMDAwMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDMjlfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDIwMDAwMDAwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzI4X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjgpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzI4X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDMjhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDEwMDAwMDAwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkMyOF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMDApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDMjdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNykKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDMjdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkMyN19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDgwMDAwMDApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzI3X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwODAwMDAwMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkMyNl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI2KQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkMyNl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzI2X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwNDAwMDAwMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDMjZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA0MDAwMDAwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzI1X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjUpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzI1X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDMjVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAyMDAwMDAwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkMyNV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDIwMDAwMDApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDMjRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDMjRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkMyNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDEwMDAwMDApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzI0X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMTAwMDAwMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkMyM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIzKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkMyM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzIzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDgwMDAwMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDMjNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwODAwMDAwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzIyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjIpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzIyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDMjJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwNDAwMDAwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkMyMl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDA0MDAwMDApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDMjFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDMjFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkMyMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAyMDAwMDApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzIxX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDIwMDAwMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkMyMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkMyMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzIwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDMjBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzE5X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTkpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzE5X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDMTlfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDgwMDAwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkMxOV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwODAwMDApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDMThfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDMThfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkMxOF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwNDAwMDApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzE4X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDA0MDAwMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkMxN19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE3KQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkMxN19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzE3X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAyMDAwMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDMTdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDIwMDAwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzE2X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzE2X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDMTZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkMxNl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDMTVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDMTVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkMxNV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzE1X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkMxNF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkMxNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzE0X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDMTRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzEzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzEzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDMTNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkMxM19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDMTJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDMTJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkMxMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzEyX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkMxMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkMxMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDMTFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzEwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzEwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDMTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkMxMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDOV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkM5X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzlfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDOV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDOF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkM4X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzhfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkM3X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDN19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkM3X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDNl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkM2X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDNl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDNV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkM1X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkM0X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkM0X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkMzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDM19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkMyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkMxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkMxX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX1NSQ19TUkMwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfU1JDX1NSQzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9TUkNfU1JDMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjMxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjMxX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSMzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1IzMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSMzBfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSMzBfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1IzMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4NDAwMDAwMDApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjMwX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1IyOV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI5KQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1IyOV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjI5X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgyMDAwMDAwMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSMjlfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDIwMDAwMDAwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjI4X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjgpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjI4X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSMjhfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDEwMDAwMDAwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1IyOF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMDApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSMjdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNykKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSMjdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1IyN19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDgwMDAwMDApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjI3X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwODAwMDAwMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1IyNl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDI2KQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1IyNl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjI2X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwNDAwMDAwMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSMjZfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDA0MDAwMDAwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjI1X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjUpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjI1X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSMjVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAyMDAwMDAwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1IyNV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDIwMDAwMDApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSMjRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyNCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSMjRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1IyNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDEwMDAwMDApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjI0X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMTAwMDAwMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1IyM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIzKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1IyM19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjIzX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDgwMDAwMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSMjNfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwODAwMDAwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjIyX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjIpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjIyX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSMjJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwNDAwMDAwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1IyMl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDA0MDAwMDApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSMjFfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSMjFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1IyMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAyMDAwMDApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjIxX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDIwMDAwMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1IyMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1IyMF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjIwX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDEwMDAwMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSMjBfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMTAwMDAwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjE5X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTkpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjE5X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSMTlfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDgwMDAwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1IxOV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwODAwMDApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSMThfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSMThfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1IxOF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwNDAwMDApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjE4X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDA0MDAwMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1IxN19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE3KQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1IxN19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjE3X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAyMDAwMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSMTdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDIwMDAwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjE2X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjE2X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSMTZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDEwMDAwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1IxNl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMTAwMDApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSMTVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSMTVfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1IxNV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDgwMDApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjE1X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwODAwMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1IxNF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1IxNF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjE0X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSMTRfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjEzX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjEzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSMTNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAyMDAwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1IxM19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDIwMDApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSMTJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSMTJfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1IxMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDEwMDApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjEyX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMTAwMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1IxMV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1IxMV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjExX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSMTFfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwODAwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjEwX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjEwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSMTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1IxMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSOV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1I5X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjlfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDIwMCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSOV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMjAwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjhfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSOF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1I4X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjhfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1I3X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjdfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSN19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDgwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1I3X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSNl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1I2X1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSNl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDQwKQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjVfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSNV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1I1X01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMjApCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjVfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAyMCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1I0X0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSNF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1I0X0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTApCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSM19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1IzX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOCkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSM19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4KQorCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSMl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1IyX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDQpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNCkKKworI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1IxX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjFfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSMV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1IxX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDIpCisKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSMF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVF9IQUxGX0NQSU5UX0lTUl9JU1IwX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0hBTEZfQ1BJTlRfSVNSX0lTUjBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgU1RfSEFMRl9DUElOVF9JU1JfSVNSMF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNUX0NGR19DUElOVF9USU1FX1NZU1RFTV9USU1FX0NOVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1RfQ0ZHX0NQSU5UX1RJTUVfU1lTVEVNX1RJTUVfQ05UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgU1RfQ0ZHX0NQSU5UX1RJTUVfU1lTVEVNX1RJTUVfQ05UX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZDKQorCisjZGVmaW5lIFNUX0NGR19DUElOVF9FTl9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RfQ0ZHX0NQSU5UX0VOX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9DRkdfQ1BJTlRfRU5fRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNUX0NGR19DUElOVF9FTl9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBTVF9DRkdfQ1BJTlRfSVNSX0lTUl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNUX0NGR19DUElOVF9JU1JfSVNSX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfQ0ZHX0NQSU5UX0lTUl9JU1JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBTVF9DRkdfQ1BJTlRfSVNSX0lTUl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgU1RfQ0ZHX0NQSU5UX0NMUl9DTFJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVF9DRkdfQ1BJTlRfQ0xSX0NMUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0NGR19DUElOVF9DTFJfQ0xSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgU1RfQ0ZHX0NQSU5UX0NMUl9DTFJfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNUX1NVQkZSX1NUQVRVU19TVUJGUl9TVEFUVVNfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RfU1VCRlJfU1RBVFVTX1NVQkZSX1NUQVRVU19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBTVF9TVUJGUl9TVEFUVVNfU1VCRlJfU1RBVFVTX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwM0YpCisKKyNkZWZpbmUgU1RfU1lTQ05UX1NZU1RFTV9USU1FX0NOVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVF9TWVNDTlRfU1lTVEVNX1RJTUVfQ05UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBTVF9TWVNDTlRfU1lTVEVNX1RJTUVfQ05UX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkYpCisjZGVmaW5lIFNUX1NZU0NOVF9TWVNURU1fVElNRV9DTlRfTUFYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBCRkZGRikKKyNkZWZpbmUgU1RfU1lTQ05UX1NZU1RFTV9USU1FX0NOVF9ST1VORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEMwMDAwKQorCisjZGVmaW5lIFNUX1NVUEZSTV9DTlRfTF9TVVBGUk1fQ05UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RfU1VQRlJNX0NOVF9MX1NVUEZSTV9DTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMikKKyNkZWZpbmUgU1RfU1VQRlJNX0NOVF9MX1NVUEZSTV9DTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGKQorCisjZGVmaW5lIFNUX1NVUEZSTV9DTlRfSF9TVVBGUk1fQ05UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RfU1VQRlJNX0NOVF9IX1NVUEZSTV9DTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBTVF9TVVBGUk1fQ05UX0hfU1VQRlJNX0NOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMEYpCisKKyNkZWZpbmUgU1RfRlJDX1RJTUlOR19TWU5DX01PREVfTU9ERV9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVF9GUkNfVElNSU5HX1NZTkNfTU9ERV9NT0RFX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX0ZSQ19USU1JTkdfU1lOQ19NT0RFX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgU1RfRlJDX1RJTUlOR19TWU5DX01PREVfTU9ERV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNUX0ZSQ19USU1JTkdfU1lOQ19DTVBfU1lTVEVNX1RJTUVfQ05UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1RfRlJDX1RJTUlOR19TWU5DX0NNUF9TWVNURU1fVElNRV9DTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgU1RfRlJDX1RJTUlOR19TWU5DX0NNUF9TWVNURU1fVElNRV9DTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZDKQorCisjZGVmaW5lIFNUX0ZSQ19USU1JTkdfU1lOQ19UUklHX1RSSUdfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RfRlJDX1RJTUlOR19TWU5DX1RSSUdfVFJJR19XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9GUkNfVElNSU5HX1NZTkNfVFJJR19UUklHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNUX0ZSQ19USU1JTkdfU1lOQ19UUklHX1RSSUdfQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2RlZmluZSBTVF9GUkNfVElNSU5HX1NZTkNfU1lTQ05UX1NZU1RFTV9USU1FX0NOVF9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNUX0ZSQ19USU1JTkdfU1lOQ19TWVNDTlRfU1lTVEVNX1RJTUVfQ05UX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAoMjApCisjZGVmaW5lIFNUX0ZSQ19USU1JTkdfU1lOQ19TWVNDTlRfU1lTVEVNX1RJTUVfQ05UX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGRikKKworI2RlZmluZSBTVF9GUkNfVElNSU5HX1NZTkNfU1VQRlJNX0NOVF9MX1NVUEZSTV9DTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNUX0ZSQ19USU1JTkdfU1lOQ19TVVBGUk1fQ05UX0xfU1VQRlJNX0NOVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoMzIpCisjZGVmaW5lIFNUX0ZSQ19USU1JTkdfU1lOQ19TVVBGUk1fQ05UX0xfU1VQRlJNX0NOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKworI2RlZmluZSBTVF9GUkNfVElNSU5HX1NZTkNfU1VQRlJNX0NOVF9IX1NVUEZSTV9DTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNUX0ZSQ19USU1JTkdfU1lOQ19TVVBGUk1fQ05UX0hfU1VQRlJNX0NOVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgU1RfRlJDX1RJTUlOR19TWU5DX1NVUEZSTV9DTlRfSF9TVVBGUk1fQ05UX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDBGKQorCisjZGVmaW5lIFNUX01VX1NGT19FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFNUX01VX1NGT19FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfTVVfU0ZPX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBTVF9NVV9TRk9fRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgU1RfTVVfU0ZPX0FGQ19QUEJfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVF9NVV9TRk9fQUZDX1BQQl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBTVF9NVV9TRk9fQUZDX1BQQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEZGRkYpCisKKyNkZWZpbmUgU1RfTVVfQUNDX0lOSV9MX01VX0FDQ19JTklfTFNCX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVF9NVV9BQ0NfSU5JX0xfTVVfQUNDX0lOSV9MU0JfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMyKQorI2RlZmluZSBTVF9NVV9BQ0NfSU5JX0xfTVVfQUNDX0lOSV9MU0JfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkYpCisKKyNkZWZpbmUgU1RfTVVfQUNDX0lOSV9IX01VX0FDQ19JTklfTVNCX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVF9NVV9BQ0NfSU5JX0hfTVVfQUNDX0lOSV9NU0JfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFNUX01VX0FDQ19JTklfSF9NVV9BQ0NfSU5JX01TQl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDBGRikKKworI2RlZmluZSBTVF9NVV9BQ0NfU0VUX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMxKQorI2RlZmluZSBTVF9NVV9BQ0NfU0VUX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUX01VX0FDQ19TRVRfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKyNkZWZpbmUgU1RfTVVfQUNDX1NFVF9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorCisjZGVmaW5lIFNUX01VX0FDQ19TRVRfU1lTVEVNX1RJTUVfQ05UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgU1RfTVVfQUNDX1NFVF9TWVNURU1fVElNRV9DTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgU1RfTVVfQUNDX1NFVF9TWVNURU1fVElNRV9DTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkZDKQorCisjZGVmaW5lIFNUX1JBS0VfQ1RMX1RJTUUzX0VOX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzEpCisjZGVmaW5lIFNUX1JBS0VfQ1RMX1RJTUUzX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfUkFLRV9DVExfVElNRTNfRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwKQorI2RlZmluZSBTVF9SQUtFX0NUTF9USU1FM19FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisKKyNkZWZpbmUgU1RfUkFLRV9DVExfVElNRTNfU1lTVEVNX1RJTUVfQ05UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBTVF9SQUtFX0NUTF9USU1FM19TWVNURU1fVElNRV9DTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBTVF9SQUtFX0NUTF9USU1FM19TWVNURU1fVElNRV9DTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGODApCisKKyNkZWZpbmUgU1RfR1NSX0NUTF9USU1FMl9TWVNURU1fVElNRV9DTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBTVF9HU1JfQ1RMX1RJTUUyX1NZU1RFTV9USU1FX0NOVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE4KQorI2RlZmluZSBTVF9HU1JfQ1RMX1RJTUUyX1NZU1RFTV9USU1FX0NOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkMpCisKKyNkZWZpbmUgU1RfR1NSX1NZTkNfVFJJR19UUklHX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMSkKKyNkZWZpbmUgU1RfR1NSX1NZTkNfVFJJR19UUklHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9HU1JfU1lOQ19UUklHX1RSSUdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4ODAwMDAwMDApCisjZGVmaW5lIFNUX0dTUl9TWU5DX1RSSUdfVFJJR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworI2RlZmluZSBTVF9HU1JfU1lOQ19UQUdfR1NSX1NBTVBMRV9DTlRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFNUX0dTUl9TWU5DX1RBR19HU1JfU0FNUExFX0NOVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTgpCisjZGVmaW5lIFNUX0dTUl9TWU5DX1RBR19HU1JfU0FNUExFX0NOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDBGRkZGQykKKworI2RlZmluZSBTVF8xWERPX1RJTUlOR19TWU5DX1RSSUdfVFJJR19MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFNUXzFYRE9fVElNSU5HX1NZTkNfVFJJR19UUklHX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgU1RfMVhET19USU1JTkdfU1lOQ19UUklHX1RSSUdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorI2RlZmluZSBTVF8xWERPX1RJTUlOR19TWU5DX1RSSUdfVFJJR19CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisKKyNkZWZpbmUgU1RfMVhET19USU1JTkdfU1lOQ19TWVNDTlRfU1lTVEVNX1RJTUVfQ05UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVF8xWERPX1RJTUlOR19TWU5DX1NZU0NOVF9TWVNURU1fVElNRV9DTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBTVF8xWERPX1RJTUlOR19TWU5DX1NZU0NOVF9TWVNURU1fVElNRV9DTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwRkZGRkYpCisKKyNkZWZpbmUgU1RfMVhET01SR19FTl9FTl9MU0IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBTVF8xWERPTVJHX0VOX0VOX1dJRFRIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFNUXzFYRE9NUkdfRU5fRU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKyNkZWZpbmUgU1RfMVhET01SR19FTl9FTl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxKQorCisjZGVmaW5lIFNUXzFYRE9NUkdfSU5JX1RJTUVfU1lTVEVNX1RJTUVfQ05UX0xTQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgU1RfMVhET01SR19JTklfVElNRV9TWVNURU1fVElNRV9DTlRfV0lEVEggICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxNykKKyNkZWZpbmUgU1RfMVhET01SR19JTklfVElNRV9TWVNURU1fVElNRV9DTlRfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkY4KQorCisjZGVmaW5lIFNUXzFYRE9NUkdfT0ZGU0VUX1NZU1RFTV9USU1FX0NOVF9PRkZTRVRfTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgU1RfMVhET01SR19PRkZTRVRfU1lTVEVNX1RJTUVfQ05UX09GRlNFVF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICgxNykKKyNkZWZpbmUgU1RfMVhET01SR19PRkZTRVRfU1lTVEVNX1RJTUVfQ05UX09GRlNFVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMEZGRkY4KQorCisjZGVmaW5lIFNUX0dQU19FTl9HUFNfRU5fTFNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgU1RfR1BTX0VOX0dQU19FTl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBTVF9HUFNfRU5fR1BTX0VOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDEpCisjZGVmaW5lIFNUX0dQU19FTl9HUFNfRU5fQklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMSkKKworI2VuZGlmCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vY3Boc3lzdGltZS5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NwaHN5c3RpbWUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZjJjZjI3Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2NwaHN5c3RpbWUuaApAQCAtMCwwICsxLDg4IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfQ1BIU1lTVElNRV9IXworI2RlZmluZSBfQ1BIU1lTVElNRV9IXworCisjaW5jbHVkZSAiY2wxY29tbW9uLmgiCisjaW5jbHVkZSAiY3Boc3lzdGVtdGltZXIuaCIKKyNpbmNsdWRlICJrYWxfZ2VuZXJhbF90eXBlcy5oIgorI2luY2x1ZGUgInN5c2RlZnMuaCIKKyNpbmNsdWRlICJzeXNhcGkuaCIKKworI2RlZmluZSBDcGhTeXNTdEludENscihBaXJpbnRlcmZhY2UsIE1hc2spICAgICAgICAgICAgSHdkV3JpdGUzMihTVF9DUElOVF9DTFIoQWlyaW50ZXJmYWNlKSwgTWFzaykKKyNkZWZpbmUgQ3BoU3lzU3RIYWxmSW50Q2xyKEFpcmludGVyZmFjZSwgTWFzaykgICAgICAgIEh3ZFdyaXRlMzIoU1RfSEFMRl9DUElOVF9DTFIoQWlyaW50ZXJmYWNlKSwgTWFzaykKKworCisKKy8qIFN5c3RlbSBUaW1lciBDb21tb24gUGFydCovCitleHRlcm4gdm9pZCAgICAgICBDcGhTeXNUaW1lSW5pdCh2b2lkKTsKK2V4dGVybiB2b2lkICAgICAgIENwaFN5c1RpbWVBZHZSZXQgKFN5c0FpckludGVyZmFjZVQgQWlyaW50ZXJmYWNlLCBrYWxfdWludDE2IEVjaGlwcywga2FsX2Jvb2wgQWR2YW5jZSk7CitleHRlcm4gdm9pZCAgICAgICBDcGhTeXNUaW1lU3luY1RpbWUgKFN5c0FpckludGVyZmFjZVQgQWlyaW50ZXJmYWNlLCBrYWxfdWludDMyIFN5bmNFY2hpcCwga2FsX3VpbnQzMiBFY2hpcEluaSwga2FsX3VpbnQ4IFN1cGZybUluaUgsIGthbF91aW50MzIgU3VwZnJtSW5pTCk7CitleHRlcm4gdm9pZCAgICAgICBDcGhTeXNUaW1lU2V0U3VwZnJtQ250IChTeXNBaXJJbnRlcmZhY2VUIEFpcmludGVyZmFjZSwga2FsX3VpbnQ4IFN1cGZybUluaUgsIGthbF91aW50MzIgU3VwZnJtSW5pTCk7CitleHRlcm4gdm9pZCAgICAgICBDcGhTeXNTZXRGcmFtZVNpemUgKFN5c0FpckludGVyZmFjZVQgQWlyaW50ZXJmYWNlLCBTeXNGcmFtZVNpemVUIEZyYW1lU2l6ZSk7CitleHRlcm4gdm9pZCAgICAgICBDcGhTeXNTdEludERpc2FibGUgKFN5c0FpckludGVyZmFjZVQgQWlyaW50ZXJmYWNlLCBrYWxfdWludDE2IE1hc2spOworZXh0ZXJuIHZvaWQgICAgICAgQ3BoU3lzU3RJbnRFbmFibGUgKFN5c0FpckludGVyZmFjZVQgQWlyaW50ZXJmYWNlLCBrYWxfdWludDE2IE1hc2spOworZXh0ZXJuIHZvaWQgICAgICAgQ3BoU3lzU3RIYWxmSW50RGlzYWJsZSAoU3lzQWlySW50ZXJmYWNlVCBBaXJpbnRlcmZhY2UsIGthbF91aW50MzIgTWFzayk7CitleHRlcm4gdm9pZCAgICAgICBDcGhTeXNTdEhhbGZJbnRFbmFibGUgKFN5c0FpckludGVyZmFjZVQgQWlyaW50ZXJmYWNlLCBrYWxfdWludDMyIE1hc2spOworZXh0ZXJuIHZvaWQgICAgICAgQ3BoU3lzU2V0U3RJbnRPZmZzZXQgKFN5c0FpckludGVyZmFjZVQgQWlyaW50ZXJmYWNlLCBrYWxfdWludDMyIENoaXBPZmZzZXQyeCk7CitleHRlcm4ga2FsX3VpbnQzMiBDcGhTeXNHZXRTdEludE9mZnNldCAoU3lzQWlySW50ZXJmYWNlVCBBaXJpbnRlcmZhY2UpOworZXh0ZXJuIHZvaWQgICAgICAgQ3BoU3lzU2V0U3RIYWxmSW50T2Zmc2V0IChTeXNBaXJJbnRlcmZhY2VUIEFpcmludGVyZmFjZSwga2FsX3VpbnQzMiBDaGlwT2Zmc2V0MngpOworZXh0ZXJuIGthbF91aW50MzIgQ3BoU3lzR2V0U3RIYWxmSW50T2Zmc2V0IChTeXNBaXJJbnRlcmZhY2VUIEFpcmludGVyZmFjZSk7CitleHRlcm4gdm9pZCAgICAgICBDcGhTeXNUaW1lU2V0U2ZvIChTeXNBaXJJbnRlcmZhY2VUIEFpcmludGVyZmFjZSwga2FsX2ludDE2IEFmY1BwYik7CitleHRlcm4ga2FsX2ludDE2ICBDcGhTeXNUaW1lR2V0U2ZvIChTeXNBaXJJbnRlcmZhY2VUIEFpcmludGVyZmFjZSk7CitleHRlcm4ga2FsX3VpbnQzMiBDcGhTeXNUaW1lRWNoaXBDbnQoU3lzQWlySW50ZXJmYWNlVCBBaXJpbnRlcmZhY2UpOworZXh0ZXJuIGthbF91aW50NjQgQ3BoU3lzVGltZVN1cGZybUNudChTeXNBaXJJbnRlcmZhY2VUIEFpcmludGVyZmFjZSk7CitleHRlcm4ga2FsX3VpbnQxNiBDcGhTeXNUaW1lU3ltYk51bShTeXNBaXJJbnRlcmZhY2VUIEFpcmludGVyZmFjZSk7CitleHRlcm4ga2FsX2ludDMyICBDcGhTeXNUaW1lMXhEaWZmVG9Ebyh2b2lkKTsKKyNpZiBkZWZpbmVkIF9fTUQ5NV9fCitleHRlcm4ga2FsX2ludDY0ICBDcGhTeXNUaW1lMXhUb3RhbERpZmZUb0RvKHZvaWQpOworI2VuZGlmCitleHRlcm4ga2FsX2ludDMyICBDcGhTeXNUaW1lVHhEaWZmVG9SeChTeXNBaXJJbnRlcmZhY2VUIEFpcmludGVyZmFjZSk7CitleHRlcm4gdm9pZCAgICAgICBDcGhTeXNUaW1lV2FpdChTeXNBaXJJbnRlcmZhY2VUIEFpcmludGVyZmFjZSwga2FsX3VpbnQzMiBFY2hpcFdhaXQpOworZXh0ZXJuIGthbF9pbnQzMiAgQ3BoU3lzVGltZVR4RGlmZlRvUnhJbldpbihTeXNBaXJJbnRlcmZhY2VUIEFpcmludGVyZmFjZSk7CitleHRlcm4gdm9pZCAgICAgICBDcGhTeXNUaW1lVHhUaW1lckFkaihTeXNBaXJJbnRlcmZhY2VUIEFpcmludGVyZmFjZSwga2FsX2ludDMyIEFkajMyeCk7CitleHRlcm4gdm9pZCAgICAgICBDcGhTeXNUaW1lVHhTeW5jVG9SeChTeXNBaXJJbnRlcmZhY2VUIEFpcmludGVyZmFjZSk7CisKKyNpZiBkZWZpbmVkKE1US19DMktfQ09TSU0pCitleHRlcm4gdm9pZCAgICAgICBTeXMxeFBjZ0xpc3Iodm9pZCk7CitleHRlcm4gdm9pZCAgICAgICBTeXNEb1Nsb3RMaXNyKHZvaWQpOworZXh0ZXJuIGthbF91aW50NjQgQ3BoU3lzVGltZUluU2xvdEdldChTeXNBaXJJbnRlcmZhY2VUIEFpcmludGVyZmFjZSk7CisjZW5kaWYKKworZXh0ZXJuIGthbF91aW50MzIgQ3BoUmVhZFN5bmNUaW1lKFN5c0FpckludGVyZmFjZVQgQWlyaW50ZXJmYWNlKTsKKworCisjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2RvX2ZtcGFwaS5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2RvX2ZtcGFwaS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkZWIwZGMKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vZG9fZm1wYXBpLmgKQEAgLTAsMCArMSw5NCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCIiTUVESUFURUsgU09GVFdBUkUiIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiIkFTLUlTIiIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKgorKiBUaGlzIFNvZnR3YXJlIGlzIHRoZSBwcm9wZXJ0eSBvZiBWSUEgVGVsZWNvbSwgSW5jLiBhbmQgbWF5IG9ubHkgYmUgdXNlZCBwdXJzdWFudCB0byBhIGxpY2Vuc2UgZnJvbSBWSUEgVGVsZWNvbSwgSW5jLiAgCisqIAorKiBBbnkgdW5hdXRob3JpemVkIHVzZSBpbmNvbnNpc3RlbnQgd2l0aCB0aGUgdGVybXMgb2Ygc3VjaCBsaWNlbnNlIGlzIHN0cmljdGx5IHByb2hpYml0ZWQuCisqIAorKiBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxMCBWSUEgVGVsZWNvbSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogCisqIEZJTEUgTkFNRSAgIDogZG9fZm1wYXBpLmgKKyoKKyogREVTQ1JJUFRJT04gOiBBUEkgZGVmaW5pdGlvbiBmb3IgRk1QIChGaW5nZXIgTWFuYWdlbWVudCBQcm9jZXNzaW5nKSBjb21wb25lbnQuCisqCisqIEhJU1RPUlkgICAgIDoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfRE9fRk1QQVBJX0hfCisjZGVmaW5lIF9ET19GTVBBUElfSF8KKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgSW5jbHVkZSBGaWxlcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisjaW5jbHVkZSAiZG9fcm1jYXBpLmgiCisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgR2xvYmFsIERlZmluZXMgYW5kIE1hY3JvcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICBNZXNzYWdlIElEcywgZm9yICNkZWZpbmUgUk1DX0NNRF9NQUlMQk9YLCBFWEVfTUFJTEJPWF8xX0lECistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy8qCitUaGUgTWVzc2FnZSBJZHMgYXJlIG1vdmVkIHRvIGRvX3JtY2FwaS5oLCB0byBtYWludGFpbiBvbmUgZW51bWVyYXRpb24gbGlzdCBmb3IKK3RoZSBSTUMgdGFzay4KKyovCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICBNZXNzYWdlIEZvcm1hdHMgc3RydWN0dXJlCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy8qIHR5cGVkZWYgUEFDS0VEIHN0cnVjdCAqLworCisKKworCisKKworCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEdsb2JhbCBGdW5jdGlvbiBQcm90b3R5cGVzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogRW5kIG9mIEZpbGUKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2VuZGlmCisKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9oc2NfbW9kdWxlX3RyYWNlLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vaHNjX21vZHVsZV90cmFjZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjMmQyYzYKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vaHNjX21vZHVsZV90cmFjZS5oCkBAIC0wLDAgKzEsNzAgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWYgZGVmaW5lZChNVEtfREVWXzkzTV9QUkVJVCkgJiYgZGVmaW5lZChNVEtfUExUX09OX1BDX0lUKQorCisjaWZuZGVmICBfSFNDX01PRFVMRV9UUkFDRV9IXworI2RlZmluZSAgX0hTQ19NT0RVTEVfVFJBQ0VfSF8KKyAgICAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorCisgIEZJTEUgTkFNRTogaHNjX21vZHVsZV90cmFjZS5oCisKKyAgREVTQ1JJUFRJT046CisKKyAgICAgVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBkZWZpbml0aW9uIG9mIGhzYyB0YXNrIHRyYWNlIGluIE5XU0lNIGZvciA5M20gdGVtcCB1c2UuCisKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgSW5jbHVkZSBGaWxlcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisjZGVmaW5lIE1vblByaW50ZiguLi4pIGRobF9wcmludChUUkFDRV9JTkZPLCBESExfVVNFUl9GTEFHX05PTkUsIE1PRF9DSFNDLCAjI19fVkFfQVJHU19fKQorCisKKyNkZWZpbmUgIENMMVRSQUNFX0hTQ19DTUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9uUHJpbnRmCisKKy8qKiBIU0MgUmVsYXRlZCBUcmFjZSBkZWZpbml0aW9ucy4qLworc3RhdGljIGNoYXIgKkhzY19Nc2dfU3RyaW5nW109eworCisiSHNjUHJvY0NtZE1zZzogTXNnSWQgMHgleCIsCisiSHNjUHJvY01wYU1zZzogTXNnSWQgMHgleCIgICAgCisKK307IAorCisjZGVmaW5lIEhzY19Nc2dfU3RyaW5nKGluZGV4KSAgICAgICAgICAgICBIc2NfTXNnX1N0cmluZ1tpbmRleF0KKyNlbmRpZgorCisjZW5kaWYgLyogZGVmaW5lZChNVEtfREVWXzkzTV9QUkVJVCkgICYmIGRlZmluZWQoTVRLX1BMVF9PTl9QQ19JVCkgKi8KKworCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vaHNjX21zZ19zdHJ1Y3QuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9oc2NfbXNnX3N0cnVjdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4OWI0MDAKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vaHNjX21zZ19zdHJ1Y3QuaApAQCAtMCwwICsxLDM5MSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIAorKiBGSUxFIE5BTUUgICA6aHNjX21zZ19zdHJ1Y3QuaCAKKyoKKyogREVTQ1JJUFRJT04gOlRoaXMgbW9kdWxlIGRlZmluZXMgdGhlIExheWVyIDEgSUxNIG1lc3NnYWUgc3RydWN0IGZvciBIU0MKKyoKKyoKKyogSElTVE9SWSAgICAgOgorKiAgICAgMS5GaWxlIENyZWF0ZSBieSBhdGxhcy54dSwgMjAxNiwyLDUKKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9IU0NfTVNHX1NUUlVDVF9ICisjZGVmaW5lIF9IU0NfTVNHX1NUUlVDVF9ICisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEluY2x1ZGUgRmlsZXMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworI2luY2x1ZGUgImthbF9wdWJsaWNfZGVmcy5oIgorI2luY2x1ZGUgImhzY2FwaS5oIgorI2luY2x1ZGUgImhzY2FwaWV4LmgiCisjaW5jbHVkZSAiZG9fbXBhYXBpLmgiCisjaW5jbHVkZSAiY2wxdHNrbGwxYWFwaS5oIgorI2luY2x1ZGUgImNsMWZocnRiYWlmLmgiCisjaW5jbHVkZSAiaHNjZGVmcy5oIgorI2luY2x1ZGUgImRvX2NsY2FwaS5oIgorI2luY2x1ZGUgImwxZGFwaS5oIgorCit0eXBlZGVmIHN0cnVjdAoreworICAgIExPQ0FMX1BBUkFfSERSCisgICAgSHNjQ2xjT29zYVNsZWVwQ21kTXNnVCBtc2c7Cit9IGhzY19jbGNfb29zYV9zbGVlcF9jbWRfbXNnX3N0cnVjdDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBMT0NBTF9QQVJBX0hEUgorICAgIEhzY0NsY09vc2FTbGVlcENtZE1zZ1QgbXNnOworfSBoc2NfY2xjX29vc2FfY29udF9jbWRfbXNnX3N0cnVjdDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBMT0NBTF9QQVJBX0hEUgorICAgIEhzY0NsY09vc2FTbGVlcENtZE1zZ1QgbXNnOworfSBsMWRfb29zYV9jb250X21zZ19zdHJ1Y3Q7CisKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBMT0NBTF9QQVJBX0hEUgorICAgIEhzY0luZmluaXRlU2xlZXBSZXFNc2dUIG1zZzsKK30gaHNjX2luZmluaXRlX3NsZWVwX3JlcV9tc2dfc3RydWN0OworCisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgTE9DQUxfUEFSQV9IRFIKKyAgICBMbDFhSWRwU2lnbmFsUHJvdGVjdFN0YXR1c0luZFQgbXNnOworfSBoc2NfY2xjX2xsMWFfaWRwX3NpZ25hbF9wcm90ZWN0X3N0YXR1c19pbmRfc3RydWN0OworCit0eXBlZGVmIHN0cnVjdAoreworICAgIExPQ0FMX1BBUkFfSERSCisgICAgSHNjQ3NzU3VzcGVuZFJlc3VtZUNtZE1zZ1QgbXNnOworfSBoc2NfY3NzX3N1c3BlbmRfcmVzdW1lX2NtZF9tc2dfc3RydWN0OworCit0eXBlZGVmIHN0cnVjdAoreworICAgIExPQ0FMX1BBUkFfSERSCit9IGhzY19zc21fZGVxdWVfc2lnbmFsX2NtZF9tc2dfc3RydWN0OworCisvKiBMTDFBX1BTV19TSUdOQUxfUFJPVEVDVF9TVEFUVVNfSU5EICovCit0eXBlZGVmIHN0cnVjdAoreworICAgTE9DQUxfUEFSQV9IRFIKKyAgIExsMWFQc3dTaWduYWxQcm90ZWN0U3RhdHVzSW5kVCBtc2c7Cit9IGxsMWFfcHN3X3NpZ25hbF9wcm90ZWN0X3N0YXR1c19pbmRfc3RydWN0OworCisjaWYgZGVmaW5lZCAoTVRLX0RFVl9DMktfSVJBVCkgJiYgZGVmaW5lZCAoTVRLX0RFVl9DMktfU1JMVEVfTDEpCisvKiBIU0NfU0lCOF9USU1JTkdfU1lOQ19SRVEgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICBMT0NBTF9QQVJBX0hEUgorICAgSHNjU2liOFRpbWluZ1N5bmNSZXFNc2dUIG1zZzsKK30gaHNjX3NpYjhfdGltaW5nX3N5bmNfcmVxX3N0cnVjdDsKKworLyogSFNDX1NJQjhfVElNSU5HX1NZTkNfQ05GICovCit0eXBlZGVmIHN0cnVjdAoreworICAgTE9DQUxfUEFSQV9IRFIKKyAgIEhzY1NpYjhUaW1pbmdTeW5jQ25mTXNnVCBtc2c7Cit9IGhzY19zaWI4X3RpbWluZ19zeW5jX2NuZl9zdHJ1Y3Q7CisjZW5kaWYKKy8qIE1TR19JRF9IU0NfU0xFRVBPVkVSX0lOVF9DT01QX01TRyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIExPQ0FMX1BBUkFfSERSCisgICBIc2NTbGVlcE92ZXJDb21wTXNnVCBtc2c7Cit9IGhzY19zbGVlcG92ZXJfaW50X2NvbXBfbXNnX3N0cnVjdDsKKworLyogTVNHX0lEX0hTQ19TRVRfU0hEUl9TVkRPX09QX01PREVfTVNHICovCit0eXBlZGVmIHN0cnVjdAoreworICAgTE9DQUxfUEFSQV9IRFIKKyAgIEhzY1NldFNoZHJTdmRvT3BNb2RlVCBtc2c7Cit9IGhzY19zZXRfc2hkcl9zdmRvX29wX21vZGVfbXNnX3N0cnVjdDsKKworI2lmZGVmIE1US19ERVZfQzJLX0lSQVQKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgTE9DQUxfUEFSQV9IRFIKKyAgICBIc2NDbGNTaWI4SW5mb0NmZ01zZ1QgbXNnOyAgIAorfSBoc2NfY2xjX3NpYjhfaW5mb19jZmdfbXNnX3N0cnVjdDsKKyNlbmRpZgorCit0eXBlZGVmIHN0cnVjdAoreworICAgIExPQ0FMX1BBUkFfSERSCisgICAgSHNjQzJrUmVjb3ZlclRpbWluZ0NuZk1zZ1QgbXNnOworfSBoc2NfcmVjb3Zlcl90aW1pbmdfY25mX3N0cnVjdDsKKworCisvKiBIU0NfQ0xjX0NBTF9TVEFSVF9NU0cgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgTE9DQUxfUEFSQV9IRFIKKyAgICBIc2NDbGtDYWxTdGFydE1zZ1QgbXNnOyAgIAorfSBoc2NfY2xjX2NhbF9zdGFydF9tc2dfc3RydWN0OworCisKKy8qIE1TR19JRF9IU0NfQ0xLX0NBTF9TVEFSVF9NU0cgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgTE9DQUxfUEFSQV9IRFIKKyAgICBIc2NDbGtDYWxTdGFydE1zZ1QgbXNnOyAgIAorfSBoc2NfY2xrX2NhbF9zdGFydF9tc2dfc3RydWN0OworCisvKiBIU0NfSURQX1NMRUVQX0NNRF9NU0cgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICBMT0NBTF9QQVJBX0hEUgorICAgSHNjSWRwU2xlZXBDbWRNc2dUIG1zZzsKK30gaHNjX2lkcF9zbGVlcF9jbWRfbXNnX3N0cnVjdDsKKworLyogTVBBX1JGX0FOVEVOTkFfQVNTSUdOX01TRyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIExPQ0FMX1BBUkFfSERSCisgICBNcGFSc3BNc2dUIG1zZzsKK30gaHNjX21wYV9yZl9hbnRlbm5hX2Fzc2lnbl9tc2dfc3RydWN0OworCisvKiBMMURfTVBBX1JGX1BSRUVNUFRfUkVRX01TRyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBMT0NBTF9QQVJBX0hEUgorICAgIE1wYVJlcU1zZ1QgbXNnOworfSBsMWRfbXBhX3JmX3ByZWVtcHRfcmVxX21zZ19zdHJ1Y3Q7CisKKworLyogTVBBX1JGX0FOVEVOTkFfUkVMRUFTRV9SRVFfTVNHICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIExPQ0FMX1BBUkFfSERSCisgICAgTXBhUmVxTXNnVCBtc2c7Cit9IG1wYV9yZl9hbnRlbm5hX3JlbGVhc2VfcmVxX21zZ19zdHJ1Y3Q7CisgIAorLyogTVBBX1JGX0FOVEVOTkFfUkVRVUVTVF9NU0cgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICBMT0NBTF9QQVJBX0hEUgorICAgTXBhUmVxTXNnVCBtc2c7Cit9IG1wYV9yZl9hbnRlbm5hX3JlcXVlc3RfbXNnX3N0cnVjdDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIExPQ0FMX1BBUkFfSERSCisgICBNcGFSc3BNc2dUIG1zZzsKK30gbXBhX3JmX3JlbGVhc2VfaW5kX21zZ19zdHJ1Y3Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBMT0NBTF9QQVJBX0hEUgorICAgTXBhUnNwTXNnVCBtc2c7Cit9IG1wYV9yZl9hbnRlbm5hX3JlcXVlc3RfY2FuY2VsX21zZ19zdHJ1Y3Q7CisKKy8qIExMMUFfQ0xDX0xURV9TQ0FOX0MyS19BQ1RJVkVfUEFSQU1TX0lORCAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIExPQ0FMX1BBUkFfSERSCisgICBMbDFhQ2xjTHRlU2NhbkMya0FjdGl2ZVBhcmFtc0luZFQgICAgbXNnOworfSBsbDFhX2NsY19sdGVfc2Nhbl9jMmtfYWN0aXZlX3BhcmFtc19pbmRfc3RydWN0OworCisvKiBMTDFBX0wxRF9NT0RFX1NUQVRVU19JTkQgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICBMT0NBTF9QQVJBX0hEUgorICAgTGwxYUwxZE1vZGVTdGF0dXNJbmRNc2dUICAgICAgbXNnOworfSBsbDFhX2wxZF9tb2RlX3N0YXR1c19pbmRfc3RydWN0OworCisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBMT0NBTF9QQVJBX0hEUgorICAgTGwxYUV2U3RhbmRieU1lYXNEb25lSW5kTXNnVCBtc2c7Cit9IGxsMWFfZXZzdGFuZGJ5X21lYXNfZG9uZV9pbmRfbXNnX3N0cnVjdDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIExPQ0FMX1BBUkFfSERSCisgICBMbDFhRXZTdGFuZGJ5TWVhc1JlcU1zZ1QgbXNnOworfSBsbDFhX2V2c3RhbmRieV9tZWFzdXJlX3JlcV9tc2dfc3RydWN0OworCit0eXBlZGVmIHN0cnVjdAoreworICAgTE9DQUxfUEFSQV9IRFIKKyAgIExsMWFJZHBTaWduYWxQcm90ZWN0U3RhdHVzSW5kVCBtc2c7Cit9IGxsMWFfaWRwX3NpZ25hbF9wcm90ZWN0X3N0YXR1c19zdHJ1Y3Q7CisKKy8qIE1TR19JRF9IU0NfSURQX0VOQUJMRV9ET19TTE9UVEVEX01TRyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIExPQ0FMX1BBUkFfSERSCisgICBIc2NJZHBTUGFnZVBhcm1zTXNnVCBtc2c7Cit9IGhzY19pZHBfZW5hYmxlX2RvX3Nsb3R0ZWRfbXNnX3N0cnVjdDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIExPQ0FMX1BBUkFfSERSCisgICBIc2NSbWNNaW5pQWNxRXJyTXNnVCBtc2c7Cit9IGhzY19ybWNfbWluaWFjcV9yZXN1bHRfbXNnX3N0cnVjdDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIExPQ0FMX1BBUkFfSERSCisgICBMbDFhUm1jTW9kZVN0YXR1c0luZE1zZ1QgbXNnOworfSBsbDFhX3JtY19tb2RlX3N0YXR1c19pbmRfbXNnX3N0cnVjdDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIExPQ0FMX1BBUkFfSERSCisgICBMbDFhUm1jUmF0U3RhdHVzSW5kTXNnVCBtc2c7Cit9IGxsMWFfcm1jX3JhdF9zdGF0dXNfaW5kX21zZ19zdHJ1Y3Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBMT0NBTF9QQVJBX0hEUgorICAgTGwxYVJtY0FjdGl2ZU1lYXNJbmZvSW5kTXNnVCBtc2c7Cit9IGxsMWFfcm1jX2FjdGl2ZV9tZWFzdXJlX2luZm9faW5kX21zZ19zdHJ1Y3Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgTE9DQUxfUEFSQV9IRFIKKyAgICBJZHBIc2NSZXN5bmNEZW5pZWRNc2dUIG1zZzsKK30gaHNjX2RvX3Jlc3luY19kZW5pZWRfbXNnX3N0cnVjdDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBMT0NBTF9QQVJBX0hEUgorICAgIElkcEhzY1dha2V1cEluZE1zZ1QgbXNnOworfSBoc2Nfd2FrZV9pbmRfbXNnX3N0cnVjdDsKKworCisjaWYgZGVmaW5lZCAoTVRLX0RFVl9DMktfSVJBVCkKKy8qTVNHX0lEX0hTQ19DMktfU0lNX0lOREVYX0lORk9fTVNHKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgTE9DQUxfUEFSQV9IRFIKKyAgICBIc2NDMmtTaW1JbmRleEluZm9Nc2dUICBtc2c7Cit9aHNjX2Mya19zaW1faW5kZXhfaW5mb19tc2dfc3RydWN0OworCisvKiBNU0dfSURfSFNDX0MyS19NTU9fR0FQX0lORk9fTVNHKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAgTE9DQUxfUEFSQV9IRFIKKyAgICBIc2NDMmtNbW9HYXBQYXR0ZXJuSW5kTXNnVCBtc2c7Cit9aHNjX2Mya19tbW9fZ2FwX2luZm9fbXNnX3N0cnVjdDsKKyNlbmRpZgorCisvKiBIU0NfSURQX1dBS0VfQ01EX01TRyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIExPQ0FMX1BBUkFfSERSCisgICBIc2NJZHBXYWtlQ21kTXNnVCBtc2c7Cit9IGhzY19pZHBfd2FrZV9jbWRfbXNnX3N0cnVjdDsKKworCisjaWYgZGVmaW5lZCAoTVRLX0RFVl9DMktfSVJBVCkgJiYgZGVmaW5lZCAoTVRLX0RFVl9DMktfU1JMVEVfTDEpCisvKiBIU0NfMVhfUFJJT1JJVFlfQk9PU1RfTVNHICovCit0eXBlZGVmIHN0cnVjdAoreworICAgTE9DQUxfUEFSQV9IRFIKKyAgIEhzYzF4UHJpb3JpdHlCb29zdE1zZ1QgIG1zZzsKK31oc2NfMXhfcHJpb3JpdHlfYm9vc3RfbXNnX3N0cnVjdDsKKyNlbmRpZgordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIExPQ0FMX1BBUkFfSERSCisgICBrYWxfdWludDggICAgcnhEaXZlcnNpdHlDdHJsOworfWhzY19yeF9kaXZfY3RybF9tc2dfc3RydWN0OworCit0eXBlZGVmIHN0cnVjdAoreworICAgIExPQ0FMX1BBUkFfSERSCisgICAgTDFkT29zYVJlcU1zZ1QgbXNnOworfWwxZF9vb3NhX3JlcV9tc2dfc3RydWN0OworCit0eXBlZGVmIHN0cnVjdAoreworICAgIExPQ0FMX1BBUkFfSERSCisgICAgSHNjRnJjU3luY0luZm9SZXB0TXNnVCBtc2c7Cit9IGhzY19mcmNfc3luY19pbmZvX3JlcHRfbXNnX3N0cnVjdDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBMT0NBTF9QQVJBX0hEUgorICAgIEhzY0RvUHJpb3JpdHlCb29zdE1zZ1QgbXNnOworfSBoc2NfRG9fcHJpb3JpdHlfYm9vc3RfbXNnX3N0cnVjdDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIEhzY1N5c0FpckludGVyZmFjZVQgICBSZXN5bmNPd25lcjsKKyAgIEhzY1N5c0FpckludGVyZmFjZVQgICBVcGRhdGVPd25lcjsKKyAgIEhzY1Jlc3luY1QgICAgICAgICAgICBSZXN5bmM7Cit9IEhzY1NwUmVzeW5jUmVjb3JkTXNnVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBMT0NBTF9QQVJBX0hEUgorICAgIEhzY1NwUmVzeW5jUmVjb3JkTXNnVCBtc2c7Cit9IGhzY19zcF9yZXN5bmNfcmVjb3JkX21zZ19zdHJ1Y3Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgTE9DQUxfUEFSQV9IRFIKKyAgICBrYWxfdWludDggIGluZGV4OworI2lmIGRlZmluZWQoX19VRV9TSU1VTEFUT1JfXykKKyAgICBrYWxfY2hhciAgIHN0cmluZ1syNTZdOworICAjZWxzZQorICAgIGthbF9jaGFyICAgc3RyaW5nWzEyOF07CisjZW5kaWYKK30gYzJrX3NsZWVwX2N0cmxfbXNnX3N0cnVjdDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBMT0NBTF9QQVJBX0hEUgorICAgIEhzY1RpbWVQcm9maWxlTXNnVCBtc2c7Cit9IGhzY190aW1lX3Byb2ZpbGVfbXNnX3N0cnVjdDsKKworLyogTVNHX0lEX0hTQ19DU1NfUFNFVURPX1NFVF9SQVRfSU5EICovCit0eXBlZGVmIHN0cnVjdAoreyAKKyAgIExPQ0FMX1BBUkFfSERSIAorICAgSHNjQ3NzUHNldWRvU2V0UmF0SW5kVCAgICBtc2c7Cit9ICBoc2NfY3NzX3BzZXVkb19zZXRfcmF0X2luZF9zdHJ1Y3Q7CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2hzY2FwaS5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2hzY2FwaS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2Y2RhNzgKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vaHNjYXBpLmgKQEAgLTAsMCArMSw1MzMgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiIk1FRElBVEVLIFNPRlRXQVJFIiIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIiJBUy1JUyIiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoKKyogVGhpcyBTb2Z0d2FyZSBpcyB0aGUgcHJvcGVydHkgb2YgVklBIFRlbGVjb20sIEluYy4gYW5kIG1heSBvbmx5IGJlIHVzZWQgcHVyc3VhbnQgdG8gYSBsaWNlbnNlIGZyb20gVklBIFRlbGVjb20sIEluYy4gIAorKiAKKyogQW55IHVuYXV0aG9yaXplZCB1c2UgaW5jb25zaXN0ZW50IHdpdGggdGhlIHRlcm1zIG9mIHN1Y2ggbGljZW5zZSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkLgorKiAKKyogQ29weXJpZ2h0IChjKSAyMDAyLTIwMTAgVklBIFRlbGVjb20sIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiAgX0hTQ0FQSV9IXworI2RlZmluZSAgX0hTQ0FQSV9IXworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIAorKiBGSUxFIE5BTUUgICA6ICAgaHNjYXBpLmgKKyoKKyogREVTQ1JJUFRJT04gOgorKgorKgorKiBISVNUT1JZICAgICA6CisqICAgICBTZWUgTG9nIGF0IGVuZCBvZiBmaWxlCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisqIEluY2x1ZGUgRmlsZXMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworI2luY2x1ZGUgInN5c2FwaS5oIgorI2luY2x1ZGUgInBzd2FwaS5oIgorCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKiBNZXNzYWdlIElEcyBmb3Igc2lnbmFscyBhbmQgY29tbWFuZHMgc2VudCB0byBIU0MgCisqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisjaW5jbHVkZSAiaHNjbXNnLmgiCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKiBEZWZpbml0aW9ucworKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworI2RlZmluZSBIU0NfTlVNX0FQUFMgICAoU1lTX01PREVfRVZETysxKQorLyogVGhlIG1heGltdW0gbWluaS1hY3EgZXJyb3IsIGluIHRjOCwgd2hlcmUgdGhlIDMySyBjYWxpYnJhdGlvbiB3aWxsIGJlIGFwcGxpZWQuCisgICBJZiB0aGUgbWluaS1hY3EgZXJyb3IgaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHRoaXMgdGhyZXNob2xkLCAKKyAgIHRoZSBlcnJvciB3aWxsIG5vdCBiZSB1c2VkIGZvciBhZGp1c3RpbmcgMzJrIGNsb2NrIGNhbGlicmF0aW9uLiAqLworI2RlZmluZSBTUF9NSU5JX0FDUV9UQzhfQ0FMX0FESlVTVF9NQVggKDgqNSkgIC8qIFRocmVzaG9sZCBmb3IgbWluaS1hY3EgZXJyb3IgZm9yIFNDST0wICovCisKKworI2RlZmluZSBIU0NfRk1fRlJFUVVFTkNZICAgICAgICAgICAgICAyMDgwMDAwMDAgLyoyMDhNSHoqLworI2RlZmluZSBIU0NfRk1fRFVSQVRJT04gICAgICAgICAgICAgICAxICAgICAgICAgLyoxcyovCisjZGVmaW5lIEhTQ18zMktfQ05UU19QRVJfU0VDICAgICAgICAgIDMyNzY4ICAgICAvKkhXRF9DTEtfRlJFUV8zMktIWiAgVEJEKi8KKworI2RlZmluZSBDTDFfSUZfRVZET19SQ19SRVFfVFhPRkZfREVMQVkgICAgICAgICAgKDcpICAgICAvKiA3bXMsIGFib3V0IDEuNjY2KigzKzEpLCBmb3IgTDMgdXNlLCAxIHNsb3QgbW9yZSB0aGFuIFJDIFR4IG9mZiBzbG90IGlzIGZvciBtYXJnZSAqLworI2RlZmluZSBDTDFfSUZfMVhSVFRfUkNfUkVRX1RYT0ZGX0RFTEFZICAgICAgICAgKDUpICAgICAvKiA1bXMsIGFib3V0IDEuMjUwKigzKzEpLCBmb3IgTDMgdXNlLCAxIHNsb3QgbW9yZSB0aGFuIFJDIFR4IG9mZiBzbG90IGlzIGZvciBtYXJnZSAqLworCisKKy8qIE1QQSBSZWxlYXNlIHJlYXNvbnMsIHRvIGJlIHNoYXJlZCB3aXRoIFNZUyAqLwordHlwZWRlZiBlbnVtCit7CisgICBIU0NfU1NNX01QQV9SRUxfUFJFRU1QVCwKKyAgIEhTQ19TU01fTVBBX1JFTF9TTEVFUCwKKyAgIEhTQ19TU01fTVBBX1JFTF9SRVNFVCwKKyAgIEhTQ19TU01fUFJFUF9NQVgKK30gSHNjU3NtTXBhUmVhc29uVDsKKworLyogMzJrIENsayBDYWwgU2V0dGxlIFNwZWVkcyAqLyAKK3R5cGVkZWYgZW51bQoreworICAgU0VUVExFX05PUk1BTCwKKyAgIFNFVFRMRV9GQVNULAorICAgU0VUVExFX01BWAorfSBIc2NDbGtDYWxTcGVlZFQ7CisgICAKK3R5cGVkZWYgZW51bQoreworICAgQ09ORklEX0hJR0gsCisgICBDT05GSURfTUVELAorICAgQ09ORklEX01JTiwKKyAgIENPTkZJRF9NQVgKK30gSHNjQ2xrQ2FsVGhyZXNoVDsKKwordHlwZWRlZiBlbnVtCit7CisgICAgU0lNMl9HU01fU1VTUEVORCwKKyAgICBTSU0yX0dTTV9SRVNVTUUsCisgICAgU0lNMV8xeFJUVF9TVVNQRU5ELAorICAgIFNJTTFfMXhSVFRfUkVTVU1FLAorICAgIFNJTTFfMXhSVFRfQ0FOQ0VMLAorICAgIFNJTTFfTFRFX1JFU1VNRQorfSBIc2NDc3NTdXBlbmRSZXN1bWVUOworCit0eXBlZGVmIGVudW0KK3sKKyAgIFVOS05PV05fU1RBVEUgID0gMCwKKyAgIFdBSVRJTkdfU1RBVEUsCisgICBPRkZFUkVEX1NUQVRFLAorICAgSU5WQUxJRF9TVEFURQorfSBIc2NTaWI4VGltaW5nU3RhdGVUOworCit0eXBlZGVmIGVudW0KK3sKKyAgICBIU0NfQ1NTX1JBVF9GTElHSFQsCisgICAgSFNDX0NTU19SQVRfU1RBTkRCWSwKKyAgICBIU0NfQ1NTX1JBVF9BQ1RJVkUKK31Ic2NDc3NSYXRUeXBlVDsKKwordHlwZWRlZiBlbnVtCit7CisgICBGSCwKKyAgIFBDRywKKyAgIFNMT1QsCisgICBGSF9JTlBDR1NMT1QsCisgICBGSF9pblBDR0lSUSwKKyAgIEZIX2luU0xPVElSUQorfSBUaW1lUHJvZmlsZU1vZGVUOworCit0eXBlZGVmIFN5c0FpckludGVyZmFjZVQgSHNjU3lzQWlySW50ZXJmYWNlVDsKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgIE1lc3NhZ2UgRm9ybWF0cyBzdHJ1Y3R1cmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworLyogTVNHX0lEX0hTQ19DTEtfQ0FMX1NUQVJUX01TRywgSFNDX0VUU19DTEtfQ0FMX1NUQVJUX01TRyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIEhzY1N5c0FpckludGVyZmFjZVQgICAgT3duZXI7ICAgLyogU1lTX01PREVfMXhSVFQgb3IgU1lTX01PREVfRVZETyAqLworfSBIc2NDbGtDYWxTdGFydE1zZ1Q7CisKKworLyogSFNDX0lEUF9TTEVFUF9DTURfTVNHICovCit0eXBlZGVmIHN0cnVjdAoreworICAgRnJhbWVSZWNUIFBjaFdha2VTeXN0ZW1UaW1lRnJhbWU7CisgICBrYWxfdWludDggU3luY0NhcHN1bGVPZmZzZXQ7Cit9IEhzY0lkcFNsZWVwQ21kTXNnVDsKKworCisvKiBNU0dfSURfSFNDX0lEUF9FTkFCTEVfRE9fU0xPVFRFRF9NU0cgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICBrYWxfdWludDE2ICAgUGFnZVNsb3Q7ICAgICAgICAgICAvKiBhc3NpZ25lZCBzbG90IHRvIG1vbml0b3IgICAgICAgICAqLworICAga2FsX3VpbnQxNiAgIFNsb3RDeWNsZUluZGV4OyAgICAgLyogc2VsZWN0ZWQgc2xvdCBjeWNsZSBpbmRleCAgICAgICAgKi8KK30gSHNjSWRwU1BhZ2VQYXJtc01zZ1Q7CisKKworLyogTVNHX0lEX0hTQ19STUNfQUNUSVZBVEVfUlNQX01TRyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF9pbnQxNiAgICBQaWxvdFBOOworICAga2FsX2ludDE2ICAgIFJ4VHhPZmZzZXRUYzI7CisgICBrYWxfaW50MTYgICAgTWluaUFjcUVyclRjMjsKKyAgIGthbF91aW50MTYgICBQd3JFc3Q7Cit9IEhzY1JtY01pbmlBY3FFcnJNc2dUOworCisjaWZkZWYgTVRLX0RFVl9DMktfSVJBVAorLyogSFNDX0NMQ19TSUI4X0lORk9fQ0ZHX01TRyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF9ib29sICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNfdXBkYXRlOyAgICAgICAgICAgICAgIC8qIDAgPSBDbGVhciwgIDEgPSBVcGRhdGUqLworICAgc3lzX3RpbWVfaW5mb19jMmtfc3RydWN0ICAgICAgIHNpYjhfc3lzX3RpbWVfaW5mbzsgICAgCit9IEhzY0NsY1NpYjhJbmZvQ2ZnTXNnVDsKKworLyogSFNDX1NJQjhfVElNSU5HX1NZTkNfUkVRICovCit0eXBlZGVmIHN0cnVjdAoreworICAgU3lzQWlySW50ZXJmYWNlVCBNb2RlOyAgICAgICAgICAgICAgIC8qIDAgPSAxeFJUVCwgIDEgPSBFdkRPKi8KK30gSHNjU2liOFRpbWluZ1N5bmNSZXFNc2dUOworCisvKiBIU0NfU0lCOF9USU1JTkdfU1lOQ19DTkYgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICBTeXNBaXJJbnRlcmZhY2VUIE1vZGU7ICAgICAgICAgICAgICAgLyogMCA9IDF4UlRULCAgMSA9IEV2RE8qLworICAga2FsX2Jvb2wgcmVzdWx0OyAgLyogSW5kaWNhdGUgdGhlIHRpbWUgc3luYyBpbmZvIGluIHRoaXMgbWVzc2FnZSBpcyB2YWxpZCBvciBpbnZhbGlkLiAqLworfSBIc2NTaWI4VGltaW5nU3luY0NuZk1zZ1Q7CisjZW5kaWYKKworLyogTVNHX0lEX0hTQ19DTENfT09TQV9TTEVFUF9DTURfTVNHICovCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX3VpbnQzMiAgIFNsZWVwRHVyYXRpb247ICAvKiBTbGVlcCBkdXJhdGlvbiBpbiAxLzEwIHNlY29uZHMgKi8KK30gSHNjQ2xjT29zYVNsZWVwQ21kTXNnVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIEhzY1N5c0FpckludGVyZmFjZVQgTW9kZTsgICAgICAgICAgICAgICAvKiAwID0gMXhSVFQsICAxID0gRXZETyovCisgICBrYWxfYm9vbCAgICAgICAgICAgIElzRmxpZ2h0TW9kZTsgICAgICAgLyogVFJVRSAtIEZsaWdoIG1vZGU7IEZBTFNFIC0gb3RoZXIgbW9kZSAqLworfSBIc2NJbmZpbml0ZVNsZWVwUmVxTXNnVDsKKworCisvKiBNU0dfSURfSFNDX0NTU19TVVNQRU5EX1JFU1VNRV9DTURfTVNHICovCit0eXBlZGVmIHN0cnVjdAoreworICAgSHNjQ3NzU3VwZW5kUmVzdW1lVCAgICBDc3NDbWRUeXBlOyAgIAorICAgSHNjQ3NzUmF0VHlwZVQgICAgICAgICBSYXRUeXBlOworfSAgSHNjQ3NzU3VzcGVuZFJlc3VtZUNtZE1zZ1Q7CisKKy8qIExMMUFfQ0xDX0xURV9TQ0FOX0MyS19BQ1RJVkVfUEFSQU1TX0lORCAgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICBrYWxfdWludDE2ICAgIExURV9zY2FuX2FjdGl2ZV9kdXJhdGlvbl8xeFJUVDsgIC8qIHVuaXQgaW4gbWlsaXNlY29uZCwgdmFsdWUgcmFuZ2UgWzEuLjEwMDAwXSwgMHhGRkZGIG1lYW5zIGludmFsaWQgKGZlYXR1cmUgb2ZmKSAqLworICAga2FsX3VpbnQxNiAgICBMVEVfc2Nhbl9hY3RpdmVfZHVyYXRpb25fRE87ICAgICAvKiB1bml0IGluIG1pbGlzZWNvbmQsIHZhbHVlIHJhbmdlIFsxLi4xMDAwXSwgMHhGRkZGIG1lYW5zIGludmFsaWQgKGZlYXR1cmUgb2ZmKSAqLworfSBMbDFhQ2xjTHRlU2NhbkMya0FjdGl2ZVBhcmFtc0luZFQ7CisKKy8qIExMMUFfSURQX1NJR05BTF9QUk9URUNUX1NUQVRVU19JTkQgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICBrYWxfYm9vbCAgICBiU2lnbmFsUHJvdGVjdFN0YXR1czsvKiBLQUxfVFJVRSxtZWFucyBzaWduYWwgaW50ZXJhdGlvbiBpcyBzdGFydGVkIGFuZCBuZWVkIGJlIHByb3RlY3RlZDsgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogS0FMX0ZBTFNFLG1lYW5zIHNpZ25hbCBpbnRlcmF0aW9uIGlzIGVuZGVkIGFuZCBwcm90ZWN0aW9uIGNhbiBiZSBjYW5jZWxlZC4gKi8KK30gTGwxYUlkcFNpZ25hbFByb3RlY3RTdGF0dXNJbmRUOworCisvKiBMTDFBX1BTV19TSUdOQUxfUFJPVEVDVF9TVEFUVVNfSU5EICovCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX2Jvb2wgICAgYlNpZ25hbFByb3RlY3RTdGF0dXM7LyogS0FMX1RSVUUsbWVhbnMgc2lnbmFsIGludGVyYXRpb24gaXMgc3RhcnRlZCBhbmQgbmVlZCBiZSBwcm90ZWN0ZWQ7ICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEtBTF9GQUxTRSxtZWFucyBzaWduYWwgaW50ZXJhdGlvbiBpcyBlbmRlZCBhbmQgcHJvdGVjdGlvbiBjYW4gYmUgY2FuY2VsZWQuICovCit9IExsMWFQc3dTaWduYWxQcm90ZWN0U3RhdHVzSW5kVDsKKworLyogSFNDX0VUU19DQUxfU0VUVExFX1RJTUVfU0VUX01TRyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF91aW50OCAgICBTZXR0bGVUaW1lW1NFVFRMRV9NQVhdW0NPTkZJRF9NQVhdOworICAga2FsX3VpbnQxNiAgIEZhc3RTZXR0bGVQZXJpb2RJblNlY29uZHM7Cit9IEhzY0Nsa0NhbFBhcm1zVDsKKworLyogTVNHX0lEX0hTQ19BTFRFUk5BVEVfQUZDX01TRyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF91aW50OCBFbmFibGU7ICAgICAgIAorfSBIc2NBbHRlcm5hdGVBZmNNc2dUOworCisvKiBIU0NfSURQX1dBS0VfQ01EX01TRyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF91aW50OCBSZXE7Cit9IEhzY0lkcFdha2VDbWRNc2dUOworCit0eXBlZGVmIHN0cnVjdAoreworICAgVGltZVByb2ZpbGVNb2RlVCBNb2RlOworICAga2FsX3VpbnQ4ICAgICAgICBzdGFydGlkeDsKKyAgIGthbF91aW50OCAgICAgICAgZW5kaWR4OworfSBIc2NUaW1lUHJvZmlsZU1zZ1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBrYWxfdWludDggT3duZXI7Cit9IEhzY1NsZWVwT3ZlckNvbXBNc2dUOworCisvKiBNU0dfSURfSFNDX1NFVF9TSERSX1NWRE9fT1BfTU9ERV9NU0cgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICBrYWxfdWludDggU2hkckVuYWJsZWQ7CisgICBrYWxfdWludDggU3Zkb0VuYWJsZWQ7Cit9IEhzY1NldFNoZHJTdmRvT3BNb2RlVDsKKworI2lmIGRlZmluZWQgKE1US19ERVZfQzJLX0lSQVQpICYmIGRlZmluZWQgKE1US19ERVZfQzJLX1NSTFRFX0wxKQorCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX2Jvb2wgICAgQzJrSW5TaW0yOyAKK30gSHNjQzJrU2ltSW5kZXhJbmZvTXNnVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF91aW50MzIgIE1tb0dhcFN0YXJ0VGltZTsKKyAgIGthbF9pbnQzMiAgIEdhcExlbmd0aDsKK30gSHNjQzJrTW1vR2FwUGF0dGVybkluZE1zZ1Q7CisKKy8qIEhTQ18xWF9QUklPUklUWV9CT09TVF9NU0cKKyAqIFRoaXMgbWVzc2FnZSBpcyBzZW50IGJ5IFBTVywgdG8gbW9kaWZ5IDFYIHByaW9yaXR5IGZvciBwcmVlbXB0aW9uICovCit0eXBlZGVmIHN0cnVjdCAKK3sKKyAgICBrYWxfYm9vbCAgIGNvbnRyb2w7ICAgLyogVHJ1ZTogcmFpc2UgcHJpb3JpdHksIEZhbHNlOiBkZWNyZWFzZSBwcmlvcml0eSAqLworfSBIc2MxeFByaW9yaXR5Qm9vc3RNc2dUOworCit0eXBlZGVmIHN0cnVjdCAKK3sKKyAgICBrYWxfYm9vbCAgIGNvbnRyb2w7ICAgLyogVHJ1ZTogcmFpc2UgcHJpb3JpdHksIEZhbHNlOiBkZWNyZWFzZSBwcmlvcml0eSAqLworfSBIc2NEb1ByaW9yaXR5Qm9vc3RNc2dUOworCisjZW5kaWYKKworCit0eXBlZGVmIHN0cnVjdAoreworICAgU3lzQWlySW50ZXJmYWNlVCBNb2RlOyAgICAgICAgICAgICAgIC8qIDAgPSAxeFJUVCwgIDEgPSBFdkRPKi8KK30gSHNjRnJjU3luY0luZm9SZXB0TXNnVDsKKworLyogTVNHX0lEX0hTQ19DU1NfUFNFVURPX1NFVF9SQVRfSU5EICovCit0eXBlZGVmIHN0cnVjdAoreyAKKyAgIEhzY0Nzc1JhdFR5cGVUICAgICAgICAgUmF0VHlwZTsKKyAgIGthbF9ib29sICAgICAgICAgICAgICAgSXNDMmtPblNpbTI7Cit9ICBIc2NDc3NQc2V1ZG9TZXRSYXRJbmRUOworCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKiBIc2MgZ2xvYmFsCisqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCitleHRlcm4ga2FsX2Jvb2wgICBIc2NDbGtDYWxGYXN0U2V0dGxlRW5hYmxlZDsKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKiBIc2MgZ2xvYmFsIEFQSXMKKyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIAorICBGVU5DVElPTiBOQU1FOiAgIEhzY1NzbUZyYW1lQ250RXN0CisKKyAgREVTQ1JJUFRJT046ICAgICBFc3RpbWF0ZXMgZnJhbWUgY291bnQgZHVyaW5nIHNsb3R0ZWQgcGFnaW5nIAorCisgIFBBUkFNRVRFUlM6ICAgICAgCisKKyAgUkVUVVJORUQgVkFMVUVTOiBGcmFtZVJlY1QKKworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitleHRlcm4gRnJhbWVSZWNUIEhzY1NzbUZyYW1lQ250RXN0KEhzY1N5c0FpckludGVyZmFjZVQgT3duZXIpOworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIAorICBGVU5DVElPTiBOQU1FOiAgIEhzY1N5c0RvUGNoQmFja29mZlRvdGFsRnJhbWVzCisKKyAgREVTQ1JJUFRJT046ICAgICAKKworICBQQVJBTUVURVJTOiAgICAgIAorCisgIFJFVFVSTkVEIFZBTFVFUzogUmV0dXJucyBUb3RhbCBCYWNrb2ZmIFRpbWUgaW4gRE8gRnJhbWVzCisgICAgICAgICAgICAgICAgICAgKGluY2x1ZGluZyBSRiBiYWNrb2ZmLCBDYWxpYnJhdGlvbiwgYW5kIE1pbmlBY3FFcnIgQWRqdXN0KQorCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK2V4dGVybiBrYWxfdWludDggSHNjU3lzRG9QY2hCYWNrb2ZmVG90YWxGcmFtZXMoSHNjU3lzQWlySW50ZXJmYWNlVCBPd25lciwga2FsX2ludDMyIGJhY2tvZmYpOworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIAorICBGVU5DVElPTiBOQU1FOiAgIEhzY0Nsa0NhbFNldHRsZVRpbWVHZXQKKworICBERVNDUklQVElPTjogICAgIFJldHVybnMgdGhlIDMyS0h6IGNhbGlicmF0aW9uIHNldHRsaW5nIHRpbWUKKworICBQQVJBTUVURVJTOiAgICAgIFNldHRsZVNwZWVkICAgPSBTRVRUTEVfTk9STUFMIG9yIFNFVFRMRV9GQVNUOworICAgICAgICAgICAgICAgICAgIFRocmVzaG9sZFpvbmUgPSBDT05GSURfSElHSCwgQ09ORklEX01FRCwgb3IgQ09ORklEX01JTjsgCisKKyAgUkVUVVJORUQgVkFMVUVTOiAzMktIeiBDYWxpYnJhdGlvbiBzZXR0bGluZyB0aW1lCisKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworZXh0ZXJuIGthbF91aW50OCAgIEhzY0Nsa0NhbFNldHRsZVRpbWVHZXQoa2FsX3VpbnQ4IFNldHRsZVNwZWVkLCBrYWxfdWludDggVGhyZXNob2xkWm9uZSk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorCisgICBGVU5DVElPTiBOQU1FOiAgSHNjQ2xrQ2FsRmFzdFNldHRsZQorCisgICBERVNDUklQVElPTjogICAgU2VuZCBIU0MgVHJhbnNtaXR0ZXIgU3RhdGUgZm9yIDMyayBjbG9jayBjYWxpYnJhdGlvbgorCisgICBQQVJBTUVURVJTOiAgICAgTm9uZQorCisgICBSRVRVUk5TOiAgICAgICAgTm9uZQorCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK2V4dGVybiB2b2lkICBIc2NDbGtDYWxGYXN0U2V0dGxlKGthbF9ib29sIFR4T24pOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKworICAgRlVOQ1RJT04gTkFNRTogIEhzY1NldEFmY1N0YXR1cworCisgICBERVNDUklQVElPTjogICAgVmFsaWRhdGVzIEFmYyBmb3IgdGhlIGdpdmVuIGludGVyZmFjZS4KKworICAgUEFSQU1FVEVSUzogICAgIEhzY1N5c0FpckludGVyZmFjZVQgSW50ZXJmYWNlCisgICAgICAgICAgICAgICAgICAgU3lzQ2RtYUJhbmRUIEJhbmQKKyAgICAgICAgICAgICAgICAgICBrYWxfYm9vbCBWYWxpZAorCisgICBSRVRVUk5TOiAgICAgICAgTm9uZQorCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK2V4dGVybiB2b2lkIEhzY1NldEFmY1N0YXR1cyhTeXNBaXJJbnRlcmZhY2VUIEludGVyZmFjZSwgU3lzQ2RtYUJhbmRUIEJhbmQsIGthbF9ib29sIFZhbGlkKTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgCisgIEZVTkNUSU9OIE5BTUU6ICAgSHNjU3NtU3BlY2lhbDF4UHJlZW1wdGlvbgorCisgIERFU0NSSVBUSU9OOiAgICAgRW5hYmxlcyAxeCBQUyB0byBmb3JjZSBoaWdoIHByaW9ydHkgZm9yIDFYIGFudGVubmEgcmVxdWVzdAorCisgIFBBUkFNRVRFUlM6ICAgICAgS0FMX1RSVUUvS0FMX0ZBTFNFICAKKworICBSRVRVUk5FRCBWQUxVRVM6IE5vbmUKKworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitleHRlcm4gdm9pZCAgSHNjU3NtU3BlY2lhbDF4UHJlZW1wdGlvbihrYWxfYm9vbCBDb250cm9sKTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgCisgIEZVTkNUSU9OIE5BTUU6ICAgSHNjU3NtU3BlY2lhbERvUHJvdGVjdFByZWVtcHRpb24KKworICBERVNDUklQVElPTjogICAgIFVzZWQgdG8gcmFpc2UgRG8ncyBwcmlvcml0eSBhbmQgcHJvdGVjdCBETyBmcm9tIGJlaW5nIEhTQyBwcmVlbXB0IGJ5IDF4UlRUCisKKyAgUEFSQU1FVEVSUzogICAgICBDb250cm9sIC0gRW5hYmxlIERvIHNwZWNpYWwgcHJvdGVjdCBmcm9tIEhTQyBwcmVlbXB0aW9uIG9yIG5vdAorCisgIFJFVFVSTkVEIFZBTFVFUzogTm9uZQorCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK2V4dGVybiB2b2lkICAgSHNjU3NtU3BlY2lhbERvUHJvdGVjdFByZWVtcHRpb24oa2FsX2Jvb2wgQ29udHJvbCk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIAorICBGVU5DVElPTiBOQU1FOiAgIEhzY1NzbURvUnhBZ2NTZXR0bGVMb25nCisKKyAgREVTQ1JJUFRJT046ICAgICAgCisKKyAgUEFSQU1FVEVSUzogICAgICAKKworICBSRVRVUk5FRCBWQUxVRVM6IDEvS0FMX1RSVUUgOiBMb25nICBSeEFnYyBGYXN0IFNldHRsZSBUaW1lCisgICAgICAgICAgICAgICAgIDogMC9LQUxfRkFMU0U6IFNob3J0IFJ4QWdjIEZhc3QgU2V0dGxlIFRpbWUKKworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitleHRlcm4ga2FsX2Jvb2wgSHNjU3NtRG9SeEFnY1NldHRsZUxvbmcodm9pZCk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIAorICBGVU5DVElPTiBOQU1FOiAgIEhzY1NoZHJFbmFibGVkCisKKyAgREVTQ1JJUFRJT046ICAgICAgCisKKyAgUEFSQU1FVEVSUzogICAgICAKKworICBSRVRVUk5FRCBWQUxVRVM6IDEvS0FMX1RSVUUgOiBTSERSIGlzIGVuYWJsZWQKKyAgICAgICAgICAgICAgICAgOiAwL0tBTF9GQUxTRTogU0hEUiBpcyBub3QgZW5hYmxlZAorCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK2V4dGVybiBrYWxfYm9vbCBIc2NTaGRyRW5hYmxlZCh2b2lkKTsKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAKKyAgRlVOQ1RJT04gTkFNRTogICBIc2NDdXJyZW50V2FrZXVwSW5TaGRyCisKKyAgREVTQ1JJUFRJT046ICAgICBSZXR1cm5zIHRoZSBjdXJyZW50IChkeW5hbWljKSBzdGF0ZQorCisgIFBBUkFNRVRFUlM6ICAgICAgTm9uZQorCisgIFJFVFVSTkVEIFZBTFVFUzogMS9LQUxfVFJVRSA6IFNIRFIgaXMgZW5hYmxlZAorICAgICAgICAgICAgICAgICA6IDAvS0FMX0ZBTFNFOiBTSERSIGlzIG5vdCBlbmFibGVkCisKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworZXh0ZXJuIGthbF91aW50OCAgICAgSHNjTDFkU1BhZ2VXYWtlU3RhdHVzKHZvaWQpOworZXh0ZXJuIHZvaWQgICAgICAgICAgSHNjU3BEaXNhYmxlKEhzY1N5c0FpckludGVyZmFjZVQgT3duZXIpOworZXh0ZXJuIGthbF91aW50MTYgICAgSHNjU3BIaXN0b3J5KEhzY1N5c0FpckludGVyZmFjZVQgT3duZXIpOworZXh0ZXJuIGthbF91aW50MTYgICAgSHNjTDFkU1BhZ2VHZXROdW1PZkZyYW1lczRXYWtldXAodm9pZCk7CitleHRlcm4ga2FsX2Jvb2wgICAgICBIc2NTc21Eb0luU3VzcGVuZFF1ZXVlKHZvaWQpOworI2lmZGVmIE1US19DQlAKK2V4dGVybiB2b2lkICAgICAgICAgIEhzY1NzbVJtY0FudGVubmFSZWxlYXNlKGthbF91aW50OCBSZlBhdGhzLCBrYWxfYm9vbCByZWxlYXNlRmxhZyk7CitleHRlcm4gdm9pZCAgICAgICAgICBIc2NTc21SZXN5bmNDYW5jZWwoSHNjU3lzQWlySW50ZXJmYWNlVCBPd25lcik7CitleHRlcm4ga2FsX2Jvb2wgICAgICBIc2NTc21Jbldha2VRdWV1ZShIc2NTeXNBaXJJbnRlcmZhY2VUIE93bmVyKTsKK2V4dGVybiB2b2lkICAgICAgICAgIEhzY1NzbVJlc2V0KEhzY1N5c0FpckludGVyZmFjZVQgT3duZXIpOworZXh0ZXJuIGthbF91aW50OCAgICAgSHNjU3BFbmFibGVkKEhzY1N5c0FpckludGVyZmFjZVQgT3duZXIpOworI2VuZGlmCisKKyNpZiBkZWZpbmVkIChNVEtfREVWX0MyS19JUkFUKSAmJiBkZWZpbmVkIChNVEtfREVWX0MyS19TUkxURV9MMSkKK2V4dGVybiBrYWxfYm9vbCAgICAgIEhzY1NzbUlzMXhBdmFpbGFibGVmb3JBdXRvR2FwKCB2b2lkICk7CitleHRlcm4ga2FsX2Jvb2wgICAgICBIc2NTc21DbG9zZVRvUmVzeW5jKHZvaWQpOworZXh0ZXJuIGthbF9ib29sICAgICAgSHNjU3NtUmVzeW5jVGltZVF1ZXJ5KEhzY1N5c0FpckludGVyZmFjZVQgT3duZXIsIGthbF91aW50MzIgKkZyYyk7CitleHRlcm4ga2FsX2Jvb2wgICAgICBIc2NTc21SZXN5bmNTaGRyR2V0KEhzY1N5c0FpckludGVyZmFjZVQgT3duZXIpOworZXh0ZXJuIHZvaWQgICAgICAgICAgSHNjU3NtRXZzdGFuZGJ5VGltZUNvcHlQcm9oaWJpdChrYWxfYm9vbCBQcm9oaWJpdCk7CitleHRlcm4gdm9pZCAgICAgICAgICBIc2NPb3NhU3RhdGVVcGRhdGVFdlN0YW5kYnkoKTsKK2V4dGVybiB2b2lkICAgICAgICAgIEhzY09vc2FTdGF0ZVVwZGF0ZSgpOworZXh0ZXJuIHZvaWQgICAgICAgICAgSHNjT29zYVNlbmRXYWtlSW5kKCk7CitleHRlcm4gdm9pZCAgICAgICAgICBIc2NMbDFhR2FwT2ZmZXJSZXEoa2FsX2Jvb2wgRW5hYmxlKTsKK2V4dGVybiBrYWxfYm9vbCAgICAgIEhzY1NzbURvUGNoUHJpb0Jvb3N0VHJpZ1F1ZXJ5KHZvaWQpOworI2VuZGlmCisKKworZXh0ZXJuIHZvaWQgICAgICAgICAgSHNjU3NtUmVzdW1lV2FrZUNtZE1zZyh2b2lkKTsKK2V4dGVybiBrYWxfYm9vbCAgICAgIE1wYUNoZWNrU2Vjb25kUGF0aFN1cHBvcnQodm9pZCk7CisKKyNpZmRlZiBTWVNfT1BUSU9OX1RYX1RBU19FTkFCTEUKKy8qIHVzZWQgZm9yIFRBUyBvbmx5ICovCitleHRlcm4ga2FsX2Jvb2wgICAgICBIc2NTc21DaGVja0RvUHJlZW1wdEZvclRhcyh2b2lkKTsKK2V4dGVybiBrYWxfYm9vbCAgICAgIEhzY1NzbUNoZWNrU2hkck1vZGVGb3JUYXModm9pZCk7CisjZW5kaWYKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiByZW1vdmVkIQorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBFbmQgb2YgRmlsZQorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjZW5kaWYKKworLyoqTG9nIGluZm9ybWF0aW9uOiBcbWFpblxUcm9waHlcVHJvcGh5X3lseGlhb19ocmVmMjIwMzNcMSAyMDEzLTAzLTE4IDE0OjE1OjI2IEdNVCB5bHhpYW8KKyoqIEhSRUYjMjIwMzMsIG1lcmdlIDQuNi4wKiovCisvKipMb2cgaW5mb3JtYXRpb246IFxtYWluXFRyb3BoeVwxIDIwMTMtMDMtMTkgMDU6MTk6NDcgR01UIGh6aGFuZworKiogSFJFRiMyMjAzMyB0byBtZXJnZSAwLjQuNiBjb2RlIGZyb20gU0QuKiovCisvKipMb2cgaW5mb3JtYXRpb246IFxtYWluXFRyb3BoeVxUcm9waHlfamx1b19ocmVmMjIwODRcMSAyMDEzLTA0LTAzIDA0OjEzOjI5IEdNVCBqbHVvCisqKiBIUkVGIzIyMDg0OkhBTkRST0lEIzE3MjMqKi8KKy8qKkxvZyBpbmZvcm1hdGlvbjogXG1haW5cVHJvcGh5XDIgMjAxMy0wNC0wMyAwNjozNzo1NSBHTVQgY3poYW5nCisqKiBIUkVGIzIyMDg0KiovCisvKipMb2cgaW5mb3JtYXRpb246IFxtYWluXFRyb3BoeVxUcm9waHlfeWFubGl1X2hhbmRyb2lkMjAyOFwxIDIwMTMtMDgtMzAgMDc6MDM6MTAgR01UIHlhbmxpdQorKiogSEFORFJPSUQjMjAyODogY2hlY2sgaW4gU0QncyBNVCBzbG90dGVkIG9wdGltaXphdGlvbioqLworLyoqTG9nIGluZm9ybWF0aW9uOiBcbWFpblxUcm9waHlcMyAyMDEzLTA4LTMwIDA3OjA1OjI1IEdNVCB5YW5saXUKKyoqIEhBTkRST0lEIzIwMjggbWVyZ2VkOiBjaGVjayBpbiBTRCdzIE1UIHNsb3R0ZWQgb3B0aW1pemF0aW9uKiovCisvKipMb2cgaW5mb3JtYXRpb246IFxtYWluXFRyb3BoeVxUcm9waHlfeGRpbmdfaHJlZjIyMzMxXDEgMjAxMy0xMi0xMCAwNzoxNzo0NSBHTVQgeGRpbmcKKyoqIEhSRUYjMjIzMzEsILrPsqJNTUPP4LnYuabE3LW9VHJvcGh5IGJhc2VsaW5lyc8qKi8KKy8qKkxvZyBpbmZvcm1hdGlvbjogXG1haW5cVHJvcGh5XDQgMjAxMy0xMi0xMCAwODozMzoxMiBHTVQganp3YW5nCisqKiBocmVmIzIyMzMxOk1lcmdlIE1NQyBsYXRlc3QgaW1wbGVtZW50YXRpb24gZnJvbSBRaWxpYW4gYnJhbmNoLioqLworCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vaHNjYXBpZXguaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9oc2NhcGlleC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFmOGZjYzgKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vaHNjYXBpZXguaApAQCAtMCwwICsxLDIxOCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgIF9IU0NBUElFWF9IXworI2RlZmluZSAgX0hTQ0FQSUVYX0hfCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogCisqIEZJTEUgTkFNRSAgIDogICBoc2NhcGkuaAorKgorKiBERVNDUklQVElPTiA6CisqCisqCisqIEhJU1RPUlkgICAgIDoKKyogICAgIFNlZSBMb2cgYXQgZW5kIG9mIGZpbGUKKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogSW5jbHVkZSBGaWxlcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisjaW5jbHVkZSAic3lzYXBpLmgiCisjaW5jbHVkZSAic3lzdHlwLmgiCisjaW5jbHVkZSAiY2wxZmhydGJhZGVmcy5oIgorI2luY2x1ZGUgImhzY3R5cGRlZnMuaCIKKworI2luY2x1ZGUgImhzY2FwaS5oIgorCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICB0eXBlZGVmCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKyNpZm5kZWYgTVRLX1BMVF9PTl9QQworLy8jZGVmaW5lIE1US19ERVZfOTNNX1NJQjhfVElNSU5HX0JZUEFTU19FTkFCTEUKKyNlbmRpZgorI2RlZmluZSBIU0NfU0lCOF9USU1JTkdfVkFMSURfVElNRVIgICAgICAgKDYwMDApIC8qIHZhbGlkIFRpbWVyLCA2MDAwbXMgKi8KKyNkZWZpbmUgSFNDX1NJQjhfVElNSU5HX0lOVkFMSURfVElNRVIgICAgICg2MDAwKSAgLyogdmFsaWQgVGltZXIsIDYwMDBtcyAqLworCisjZGVmaW5lIFNQX0JBQ0tPRkZfQUNUSVZBVEVfRFNQX1VTICAgICgyNjYpIC8qIDI2NnVzLCBUQkQgKi8KKyNkZWZpbmUgU1BfQkFDS09GRl9BQ1RJVkFURV9EU1BfOU0gICAgKFNZU19DT05WRVJUX0ZSQ19UT185TShTUF9CQUNLT0ZGX0FDVElWQVRFX0RTUF9VUywgMCkpCisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgTVBBIGV2ZW50IHN0cnVjdHVyZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qIGZvciA2MjkzICovCisvKiBIU0NfTVBBX1JFUSBldmVudCBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAvKiAxeFJUVCBvciBFdkRPICovICAgCisgICBTeXNBaXJJbnRlcmZhY2VUICBPd25lcjsgCisgICAKKyAgIC8qIFJGIHRvIHJlcXVlc3QuCisgICAgICBCaXRtYXAgZGVmaW5pdGlvbiwgcmVmZXIgdG8gCisgICAgICBNUEFfTURNX1BBVEhfTUFJTiAKKyAgICAgIE1QQV9NRE1fUEFUSF9ESVYgIAorICAgICAgTVBBX01ETV9QQVRIX1RYICAgKi8gICAKKyAgIE1wYUFudFR5cGVCbXBUICAgIFJlcTsKK30gSHNjTXBhUmVxRXZlbnRUOworCisvKiBIU0NfTVBBX1JFTEVBU0UgZXZlbnQgc3R1cmN0dXJlICovCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qIFRoZSByZWFzb24gdG8gcmVsZWFzZSBSRi4gCisgICAgICAgIEJpdG1wYSBkZWZpbml0aW9uLCByZWZlciB0bworICAgICAgICBIU0NfU1NNX01QQV9SRUxfUFJFRU1QVCAgLSByZWxlYXNlIFJGIGZvciBiZWluZyBwcmVlbXB0ZWQKKyAgICAgICAgSFNDX1NTTV9NUEFfUkVMX1NMRUVQIC0gIHJlbGVhc2UgUkYgZm9yIGdvaW5nIHRvIHNsZWVwCisgICAgICAgIEhTQ19TU01fTVBBX1JFTF9SRVNFVCAtIHJlbGVhc2UgUkYgZm9yIHJlc2V0ZWQgKi8KKyAgICBIc2NTc21NcGFSZWFzb25UICAgICAgICAgUmVhc29uOworCisgICAgLyogMXhSVFQgb3IgRXZETyAqLyAgIAorICAgIFN5c0FpckludGVyZmFjZVQgIE93bmVyOyAKKworICAgIAorICAgIC8qIFJGIHRvIGJlIHJlbGVhc2VkLiAKKyAgICAgICBCaXRtYXAgZGVmaW5pdGlvbiwgcmVmZXIgdG8gCisgICAgICAgTVBBX01ETV9QQVRIX01BSU4gCisgICAgICAgTVBBX01ETV9QQVRIX0RJViAgCisgICAgICAgTVBBX01ETV9QQVRIX1RYICAgKi8gICAKKyAgICBNcGFBbnRUeXBlQm1wVCAgICBSZXE7CisgICAgCit9SHNjTXBhUmVsZWFzZUV2ZW50VDsKKworCisvKiBIU0NfUkZfQVNTSUdOX0lORCBldmVudCBzdHVyY3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisKKyAgICAvKiAwIC0gTVBBX1JGX0RFTklFRCwgMS0gTVBBX1JGX0dSQU5ULCAyIC0gTVBBX1JGX1BFTkRJTkcgKi8KKyAgICBNcGFSZkFzc2lnblN0YXR1c1QgUmZHcmFudDsKKyAgICAKKyAgICAvKiByZXF1ZXN0ZWQgUkYgYnkgQ0wxLiAKKyAgICAgICBCaXRtYXAgZGVmaW5pdGlvbiwgcmVmZXIgdG8gCisgICAgICAgTVBBX01ETV9QQVRIX01BSU4gCisgICAgICAgTVBBX01ETV9QQVRIX0RJViAgCisgICAgICAgTVBBX01ETV9QQVRIX1RYICAgKi8gICAKKyAgICBNcGFBbnRUeXBlQm1wVCAgICAgUmVxOworICAgIAorICAgICAvKiBhc3NpZ25lZCBSRiBwYXRoIGJ5IE1QQS4KKyAgICAgICAgUkYgcGF0aCBkZWZpbml0aW9uLCByZWZlciB0byAKKyAgICAgICAgTVBBX1JGX1BBVEhfUlhfMQorICAgICAgICBNUEFfUkZfUEFUSF9SWF8yCisgICAgICAgIE1QQV9SRl9QQVRIX1JYXzMgIAorICAgICAgICBNUEFfUkZfUEFUSF9UWF8xCisgICAgICAgIE1QQV9SRl9QQVRIX1RYXzIgICovCisgICAgIE1wYVJmUGF0aEJtcFQgICAgIFJmQW50ZW5uYTsKKyAgICAKK31Ic2NSZkFzc2lnbkluZEV2ZW50VDsKKworCisvKiBIU0NfUlhBQ1RJVkFURV9JTkQgZXZlbnQgc3R1cmN0dXJlICovCit0eXBlZGVmIHN0cnVjdAoreyAgICAKKyAgICAvKiBhc3NpZ25lZCBSRiBwYXRoIGJ5IE1QQS4KKyAgICAgICAgUkYgcGF0aCBkZWZpbml0aW9uLCByZWZlciB0byAKKyAgICAgICAgTVBBX1JGX1BBVEhfUlhfMQorICAgICAgICBNUEFfUkZfUEFUSF9SWF8yCisgICAgICAgIE1QQV9SRl9QQVRIX1JYXzMgIAorICAgICAgICBNUEFfUkZfUEFUSF9UWF8xCisgICAgICAgIE1QQV9SRl9QQVRIX1RYXzIgICovCisgICAgIE1wYVJmUGF0aEJtcFQgICAgICAgIFJmQW50ZW5uYTsKKworICAgICAvKiogUnRiYSBjaGFubmVsICBTeXMgUmNTdGFydCB0aW1lIGFuZCBSYyBlbmQgdGltZSwgODBtcyBTdXBlckZyYW1lIGFuZCAxLzggY2hpcG9mZnNldCAgKi8KKyAgICAgUnRiYVJjVGltaW5nVHlwZVQgICAgU3lzUmNTdGFydFRpbWU7IAorICAgICBTeXNTRnJhbWVUaW1lVCAgICAgICBTeXNFbmRUaW1lOyAvKiBDTDEgZG9lc24ndCBuZWVkIHVzZSB0aGUgZmFrZSBmbGFnZSBmb3IgZW5kIHRpbWUqLworfUhzY1J4QWN0aXZhdGVJbmRFdmVudFQ7CisKKworLyogRVZUX0lEX1JNQ19NUEFfRlVMTF9QUkVFTVBUX0lORCBhbmQgRVZUX0lEX1JNQ19NUEFfRElWX1BSRUVNUFRfSU5EIGV2ZW50IHN0dXJjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sgICAgLyogezB4RkZGRkZGRkZGRkZGRkZGRlVMLCAweEZGRkZGRkZGVUx9IGlzIGludmFsaWQgdGltZSwgUk1DIHNob3VsZCBieXBhc3MgaXQuICovCisgICAgIFN5c1NGcmFtZVRpbWVUICAgICAgIERvTGFzdFJGU3RvcFRpbWU7IAorfUhzY1ByZWVtcHRFdmVudFQ7CisKKworLyogSFNDIFNMRUVQT1ZFUiBDT01QIEVWTkVUIGV2ZW50IHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIFN5c0FpckludGVyZmFjZVQgT3duZXI7IC8qIDF4UlRUIG9yIEVWRE8gKi8KK30gSHNjU2xlZXBPdmVyQ29tcEV2ZW50VDsKKworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogQ2xvY2sgQ2FsaWJyYXRpb24gRGVmaW5pdGlvbnMKKyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICBrYWxfdWludDMyICAgICAgICAgICAgICBTY0NudDsKKyAgIGthbF91aW50MzIgICAgICAgICAgICAgIEZjRnJlcTsKKyAgIGthbF91aW50MzIgICAgICAgICAgICAgIEZjQ250OworfSBIc2NGbVJlc3VsdFQ7CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKiBIU0MgU0lCOCBUaW1pbmcgU3luYworKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIEhzY1NpYjhUaW1pbmdTdGF0ZVQgICAgICAgICAgICAgU3RhdGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogc2liOCB0aW1pbmcgc3RhdGUsIFVOS05PV04sIFdBSVRJTkcsIE9GRkVSRUQgLCBJTlZBTElEICAqLyAgIAorICAgSHNjQ2xjU2liOEluZm9DZmdNc2dUICAgICAgICAgICBTaWI4SW5mb0NmZ01zZzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBzdG9yZSBTaWI4IHRpbWluZyBjb25maWd1cmF0aW9uICovCisgICBrYWxfYm9vbCAgICAgICAgICAgICAgICAgICAgICAgIElzVGltaW5nU3luY1JlcVByb2Nlc3NpbmdbSFNDX05VTV9BUFBTXTsgICAgIC8qIFNldCBwZW5kaW5nIGZsYWcgZm9yIDF4IG9yICBkbyB3aGVuIDF4IFBTIG9yIEVWRE8gTDEgcmVxdWVzdCBzaWI4IHRpbWluZywgY2xlYXIgdGhpcyBmbGFnIHJlc3BlY3RpdmVseSB3aGVuIDF4IG9yIGRvIHRpbWluZyByZWNvdmVyIGZpbmlzaGVkICovCisgICBrYWxfYm9vbCAgICAgICAgICAgICAgICAgICAgICAgIElzU2liOEluZm9DZmdNc2dQZW5kaW5nOyAgICAgICAgIC8qIHNpYjggdGltaW5nIGNvbmZpZ3VyYXRpb24gbXNnIGNvbWVzLCBzZXQgdGhpcyBwZW5kaW5nIGZsYWcgd2hlbiBIU0MgaXMgcHJvY2Vzc2luZyB0aW1pbmcgc3luYyByZXEgZnJvbSAxeCBQUyBvciBETyBMMSovCisgICBsbDFfY2wxX3NpYjhfdGltaW5nX3N5bmNfY25mX3N0cnVjdCBTaWI4VGltaW5nU3luY1Jlc3VsdEZyb21MTDE7ICAgICAgICAgICAgICAgICAgICAgICAgLyogc3RvcmUgdGhlIHNpYjggdGltaW5nIHJlc3VsdCBmcm9tIE1EMSAqLworfSBIc2NTaWI4VGltaW5nVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF91aW50NjQgICAgICAgICAgICAgICAgICAgICAgQ3VyckMya1N5c3RlbVRpbWU7ICAgICAgICAgLyogIFVpbnQ6IENETUEgY2hpcCwgYmFzZWQgb24gMS4yMjg4TUh6Ki8KKyAgIGthbF91aW50MzIgICAgICAgICAgICAgICAgICAgICAgQ3VyckZyYzsgICAgICAgICAgICAgICAgICAgLyogY3VycmVudCBGcmMgLCB1bml0OiAgMXVzICovCit9IEhzY0Mya1JlY292ZXJUaW1pbmdSZXFFdnRUOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIFN5c0FpckludGVyZmFjZVQgbW9kZTsgICAgLyogIDF4IG9yIGRvKi8KKyAgICBrYWxfYm9vbCAgICAgICAgIHJlc3VsdDsKK30gSHNjQzJrUmVjb3ZlclRpbWluZ0NuZk1zZ1Q7CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKiBGdW5jdGlvbnMKKyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KK2V4dGVybiB2b2lkIEhzY1JlY292ZXJUaW1pbmdCeVNpYjhUaW1pbmcoU3lzQWlySW50ZXJmYWNlVCBtb2RlLCBIc2NDMmtSZWNvdmVyVGltaW5nUmVxRXZ0VCAqcEN1cnJUaW1lKTsKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogRW5kIG9mIEZpbGUKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2VuZGlmCisKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9oc2NkZWZzLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vaHNjZGVmcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhZDJlYzAKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vaHNjZGVmcy5oCkBAIC0wLDAgKzEsNTA1IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIiJNRURJQVRFSyBTT0ZUV0FSRSIiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICIiQVMtSVMiIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TS1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmICBfSFNDREVGU19IXworI2RlZmluZSAgX0hTQ0RFRlNfSF8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKgorKiBGSUxFIE5BTUUgICA6ICAgaHNjZGVmcy5oCisqCisqIERFU0NSSVBUSU9OIDogICBUaGlzIGZpbGUgY29udGFpbnMgZ2VuZXJhbCBjb25zdGFudHMgYW5kIGRlZmluaXRpb25zIHVzZWQgYnkKKyogICAgICAgICAgICAgICAgIHRoZSBMMUQgdW5pdAorKgorKiBISVNUT1JZICAgICA6CisqICAgICBTZWUgTG9nIGF0IGVuZCBvZiBmaWxlCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgSW5jbHVkZSBGaWxlcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisjaW5jbHVkZSAiZG9fbXBhYXBpLmgiCisjaW5jbHVkZSAiaHNjYXBpLmgiCisjaW5jbHVkZSAiaHNjYXBpZXguaCIKKyNpbmNsdWRlICJzeXN0eXAuaCIKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgSGFyZHdhcmUgTWFjcm9zCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICBNUEEgZGVmaW5pdGlvbnMgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIE1wYUFudGVubmFJbmZvVCAgICAgICAgTXBhUmZBbnRlbm5hW01QQV9SRl9OVU1fUEFUSFNdOyAvKkhXRF9SRl9NUEFfTUFYX1BBVEhfTlVNICovCisgIGthbF91aW50OCAgICAgICAgICAgICAgQWxsU3RhdHVzOworICBrYWxfdWludDggICAgICAgICAgICAgIFN0YXR1c1tNUEFfUkZfTlVNX0FQUFNdOworICBrYWxfdWludDggICAgICAgICAgICAgIFJmUHJpdltNUEFfUkZfTlVNX0FQUFNdOworfSBIc2NNcGFUOworCit0eXBlZGVmIGVudW0KK3sKKyAgIEhTQ19PUF9NT0RFX0xFR0FDWV9IWUJSSURfQk4gPSAwLAorICAgSFNDX09QX01PREVfU0hEUl9XSVRIX0RJVl9CTiwKKyAgIEhTQ19PUF9NT0RFX1NIRFJfMl9NQUlOU19CTiwKKyAgIEhTQ19PUF9NT0RFX1NWRE9fMl9SWF9CTiwKKyAgIEhTQ19PUF9NT0RFX1NWRE9fM19SWF9CTgorfUhzY01wYU9wTW9kZVQ7CisKKyNkZWZpbmUgSFNDX09QX01PREVfTEVHQUNZX0hZQlJJRCAgKDE8PEhTQ19PUF9NT0RFX0xFR0FDWV9IWUJSSURfQk4pCisjZGVmaW5lIEhTQ19PUF9NT0RFX1NIRFJfV0lUSF9ESVYgICgxPDxIU0NfT1BfTU9ERV9TSERSX1dJVEhfRElWX0JOKQorI2RlZmluZSBIU0NfT1BfTU9ERV9TSERSXzJfTUFJTlMgICAoMTw8SFNDX09QX01PREVfU0hEUl8yX01BSU5TX0JOKQorI2RlZmluZSBIU0NfT1BfTU9ERV9TVkRPXzJfUlggICAgICAoMTw8SFNDX09QX01PREVfU1ZET18yX1JYX0JOKQorI2RlZmluZSBIU0NfT1BfTU9ERV9TVkRPXzNfUlggICAgICAoMTw8SFNDX09QX01PREVfU1ZET18zX1JYX0JOKQorI2RlZmluZSBIU0NfT1BfTU9ERV9TSERSICAgICAgICAgICAoSFNDX09QX01PREVfU0hEUl9XSVRIX0RJViB8IEhTQ19PUF9NT0RFX1NIRFJfMl9NQUlOUykKKyNkZWZpbmUgSFNDX09QX01PREVfU1ZETyAgICAgICAgICAgKEhTQ19PUF9NT0RFX1NWRE9fMl9SWCB8IEhTQ19PUF9NT0RFX1NWRE9fM19SWCkKKyNkZWZpbmUgSFNDX09QX01PREVfU0hEUl9PUl9TVkRPICAgKEhTQ19PUF9NT0RFX1NIRFIgfCBIU0NfT1BfTU9ERV9TVkRPKQorCitleHRlcm4ga2FsX3VpbnQ4IGhzY01wYU9wTW9kZTsgCitleHRlcm4ga2FsX3VpbnQ4IGhzY01wYU9wTW9kZUh3ZENvbmZpZzsKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIENsayBDYWxpYnJhdGlvbiBkZWZpbml0aW9ucyAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworI2RlZmluZSBTUF9DTlRfMzJLX1VQUEVSXzhfTUFTSyAgICAgICAgIDB4MDBGRiAgICAvKiBVcHBlciBtYXNrIDhiaXRzOlsyMy0xNl0gb2YgMzJrSHogY291bnRlciBbMjM6MF0gKi8KKyNkZWZpbmUgU1BfQ05UXzlNSFpfVVBQRVJfNF9NQVNLICAgICAgICAweDAwMEYgICAgLyogVXBwZXIgbWFzayA0Yml0czpbMTktMTZdIG9mIDlNSHogY291bnRlciBbMTk6MF0gKi8KKyNkZWZpbmUgU1BfQ05UXzlNSFpfVVBQRVJfMl9NQVNLICAgICAgICAweDAwMDMgICAgLyogYml0cyBbMTctMTZdIG9mIDlNSHogY291bnRlciBbMTk6MF0gKi8KKyNkZWZpbmUgSFNDX0NMS19DQUxfRE9fUElMT1RfSElHSF9DT05GSUQgMTY0NjIgICAgLyogLTZkQiBpbiBRMTYgKi8KKyNkZWZpbmUgSFNDX0NMS19DQUxfRE9fUElMT1RfTUVEX0NPTkZJRCAgIDgyMzEgICAgLyogLTlkQiBpbiBRMTYgKi8KKyNkZWZpbmUgSFNDX0NMS19DQUxfRE9fUElMT1RfTUlOX0NPTkZJRCAgIDQxMzUgICAgLyogLTEyZEIgaW4gUTE2ICovCisjZGVmaW5lIEhTQ19DTEtfQ0FMX1NFVFRMRV9USU1FXzE2WCAgICAgICAgIDE2ICAgIC8qIHNldHRsZSB0aW1lIGluIHVuaXRzIG9mIHNsb3QgY3ljbGUgbGVuZ3RoICovCisjZGVmaW5lIEhTQ19DTEtfQ0FMX1NFVFRMRV9USU1FXzhYICAgICAgICAgICA4ICAgIC8qIHNldHRsZSB0aW1lIGluIHVuaXRzIG9mIHNsb3QgY3ljbGUgbGVuZ3RoICovCisjZGVmaW5lIEhTQ19DTEtfQ0FMX1NFVFRMRV9USU1FXzRYICAgICAgICAgICA0ICAgIC8qIHNldHRsZSB0aW1lIGluIHVuaXRzIG9mIHNsb3QgY3ljbGUgbGVuZ3RoICovCisjZGVmaW5lIEhTQ19DTEtfQ0FMX1NFVFRMRV9USU1FXzJYICAgICAgICAgICAyICAgIC8qIHNldHRsZSB0aW1lIGluIHVuaXRzIG9mIHNsb3QgY3ljbGUgbGVuZ3RoICovCisjZGVmaW5lIEhTQ19DTEtfQ0FMX1NFVFRMRV9USU1FXzFYICAgICAgICAgICAxICAgIC8qIHNldHRsZSB0aW1lIGluIHVuaXRzIG9mIHNsb3QgY3ljbGUgbGVuZ3RoICovCisjZGVmaW5lIEhTQ19DTEtfQ0FMX0ZBU1RfU0VUVExFX1BFUklPRCAgICAgMTIwICAgIC8qIGZhc3Qgc2V0dGxlIHBlcmlvZCBpbiB1bml0cyBvZiBzZWNvbmRzICAgICovCisjZGVmaW5lIEhTQ19NSU5JX0FDUV9FUlJfVEM4X1RIUkVTSCAgICAgKDQ1KjgpICAgIC8qIFRocmVzaG9sZCBzZXQgYXQgNDUgY2hpcHMgKi8KKworCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIFNwYWdlIEJhY2tvZmYgVGltZSBEZWZpbml0aW9ucyAoQ0JQNy4wIFNsb3R0ZWQgT3BlcmF0aW9uIFNlY3Rpb24gMi40LCBKaW5nIFN1KQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisjZGVmaW5lIEhTQ19TUF9TTE9UVEVEX1dBS0VfU0NIRV9TTE9UX0NOVCAgICAgMQorI2RlZmluZSBIU0NfU1BfUlhfQUdDX1NFVFRMRV9TSE9SVF9TTE9UX0NOVCAgIDIKKyNkZWZpbmUgSFNDX1NQX1JYX0FHQ19TRVRUTEVfTE9OR19TTE9UX0NOVCAgICA0CisjZGVmaW5lIEhTQ19TUF9NSU5JX0FDUV9EQVRBX0NBUF9TTE9UX0NOVCAgICAgMworI2RlZmluZSBIU0NfU1BfTUlOSV9BQ1FfUE9TVF9QUk9DX1NMT1RfQ05UICAgIDIKKyNkZWZpbmUgSFNDX1NQX0ZJTkdfQUxMT0NfU0xPVF9DTlQgICAgICAgICAgICA3CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICBETyBUeEZyZWV6ZSBCYWNrb2ZmIFRpbWUgRGVmaW5pdGlvbnMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworI2RlZmluZSBIU0NfU1RPUERPX0dVQVJEX0ZSTVMgICAgICAgICAgICAgIDEwICAgLyogMTAgZ3VhcmQgZnJhbWVzIHdoZXRoZXIgaW4gMVggb3IgRE8gKi8KKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIEhzY1NzbSBEZWZpbml0aW9ucworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisjZGVmaW5lIEhTQ18zMktfU1RFUF9GUkFDX1NISUZUICAgICAgICAgICAgICAgICgxOCkKKworI2RlZmluZSBIU0NfOU1fQ05UU19QRVJfMjA0OF84ME1TICAgICAgICAgICAgICAweDYwMDAwMDAwVUwgLyogOU1IeiBjb3VudCBpbiBtYXggZHVyYXRpb24gb2YgU2xvdHRlZCBjeWNsZSAoOS44MzA0TUh6ICogMjA0OCAqIDgwIG1zKSAqLworI2RlZmluZSBIU0NfMjZNU19GUk1fQ05UU19QRVJfMjA0OF84ME1TICAgICAgICAweDE4MDAgLyogMjZtcyBGcmFtZSBjbnQgaW4gbWF4IGR1cmF0aW9uIG9mIFNsb3R0ZWQgY3ljbGUgKDIwNDggKiAzKSAqLworI2RlZmluZSBIU0NfMjZNU19GUk1fQ05UU19NT0RfTUFYX1NMT1RQRVJJT0QgICBIU0NfMjZNU19GUk1fQ05UU19QRVJfMjA0OF84ME1TCisjZGVmaW5lIEhTQ18yNk1TX0ZSTV9DTlRTX01PRF9NQVhfMzJCSVRTICAgICAgIDB4RkZGRkYwMDBVTCAgICAgICAgICAgIC8qIDB4RkZGRkYwMDAgPSAweDEwMDAwMDAwMC8weDE4MDAgKi8KKworI2RlZmluZSBIU0NfU1NNX1JFU1lOQ19DQUxfQkFDS09GRl9TUF9DTEtfQ05UICAoRlJDX0ZSRVEgKiA4MCAvIDEwMDApICAvKiBDbGsgQ2FsIENvbGxpc2lvbiBidWZmZXIgODBtcyAqLworI2RlZmluZSBIU0NfU1NNX1JFU1lOQ19DT0xMSVNJT05fVVMgICAgICAgICAgICAoRlJDX0ZSRVEgKiAxNTAgLyAxMDAwKSAvKiBSZXN5bmMgQ29sbGlzaW9uIGJ1ZmZlciAxNTBtcyAqLworI2RlZmluZSBIU0NfU1NNX0RVQUxfUkVTWU5DX0NPTExJU0lPTl9VUyAgICAgICAoRlJDX0ZSRVEgKiA0MCAvIDEwMDApICAvKiBSZXN5bmMgQ29sbGlzaW9uIGJ1ZmZlciA0MG1zICovCisjZGVmaW5lIEhTQ19TU01fUkVTWU5DX1NIRFJfSFlCUklEX1RJTUVSICAgICAgICgxNTAwMDApICAgICAgICAgICAgICAgIC8qIDE1MG1zIGFoZWFkLCBSZXN5bmMgZGVjaXNpb24gdG8gd2FrZSB1cCBpbiBTSERSIG9yIGh5YnJpZCAqLworI2RlZmluZSBIU0NfU1NNX1JFU1lOQ18xWF9TQ0FOX0JBQ0tPRkZfVVMgICAgICAoMipGUkNfRlJFUSkgICAgICAgICAgICAvKiBSZXN5bmMgQ29sbGlzaW9uIGJ1ZmZlciAycyAqLworI2RlZmluZSBIU0NfU1NNX1JFU1lOQ19ET19TQ0FOX0JBQ0tPRkZfVVMgICAgICAoMCpGUkNfRlJFUSkgICAgICAgICAgICAvKiBSZXN5bmMgQ29sbGlzaW9uIGJ1ZmZlciAwcyAqLworI2RlZmluZSBIU0NfU1NNX1JFRl9USU1FX1NWX1BFUklPRCAgICAgICAgICAgICAoNDApICAgICAgICAgICAgICAgICAgICAvKiBETyByZWYgdGltZSBzdXBlcnZpc2lvbiBwZXJpb2Q6IDQwcyAqLworI2RlZmluZSBIU0NfRE9fU0xUX0JMT0NLX0xFTkdUSCAgICAgICAgICAgICAgICAoMTA2NjY3KSAgICAgICAgICAgICAgICAvKiA2NCBzbG90cyAqLworI2RlZmluZSBIU0NfRE9fV0FLRV9CTE9DS19MRU5HVEggICAgICAgICAgICAgICAoNTMzMzMpICAgICAgICAgICAgICAgICAvKiAzMiBzbG90cyAqLworCisjZGVmaW5lIEhTQ19TU01fU1RBVFVTX0RPX0JOICAgICAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgSFNDX1NTTV9TVEFUVVNfUkVTWU5DX0NNUExUX0JOICAgICAgICAgMSAgICAgLyogY29tcGxldGVkIGh3IFJlc3luYyAqLworI2RlZmluZSBIU0NfU1NNX1NUQVRVU19SRVNZTkNfREVOSUVEX0JOICAgICAgICAyICAgICAvKiBTbG90dGVkIHdha2V1cCB3YXMgZGVuaWVkICovCisjZGVmaW5lIEhTQ19TU01fU1RBVFVTX1NVU1BFTkRFRF9CTiAgICAgICAgICAgIDMgICAgIC8qIHByZWVtcHRlZCBhbmQgc3VzcGVuZGVkICovCisjZGVmaW5lIEhTQ19TU01fU1RBVFVTX1dBS0VfUEVORElOR19CTiAgICAgICAgIDQgICAgIC8qIFdha2UgQ21kIHdhcyByZWNlaXZlZCAqLworI2RlZmluZSBIU0NfU1NNX1NUQVRVU19XQUtFX1NDSEVEVUxFRF9CTiAgICAgICA1ICAgICAvKiBSZXN5bmMgaGFzIGJlZW4gc2NoZWR1bGVkIGZvciB0aGUgd2FrZSBjb21tYW5kICovCisjZGVmaW5lIEhTQ19TU01fU1RBVFVTX01QQV9OT1JNX1JFUV9QRU5ESU5HX0JOIDYgICAgIC8qIHdhaXRpbmcgZm9yIFJGIE5vcm0gUmVxIHJlc3VsdHMgKi8KKyNkZWZpbmUgSFNDX1NTTV9TVEFUVVNfTVBBX05PUk1fUkVRX0lNTUVEX0JOICAgNyAgICAgLyogSW1tZWRpYXRlIFJGIHJlcXVlc3QgKDFeTXBhUmVxTXNnLlF1ZXVlUmVxdWVzdCkgKi8gCisjZGVmaW5lIEhTQ19TU01fU1RBVFVTX1RYX0FWQUlMQUJMRV9CTiAgICAgICAgIDEwICAgIC8qIFR4IGF2YWlsYWJsZSBJbmQgKi8KKyNkZWZpbmUgSFNDX1NTTV9TVEFUVVNfTVBBX01FQVNfUkVRX0JOICAgICAgICAgMTEgICAgLyogQW50ZW5uYSByZXF1ZXN0IGlzIGZvciBNZWFzICovCisjZGVmaW5lIEhTQ19TU01fU1RBVFVTX1dBS0VfUFJPQ0VTU0VEX0JOICAgICAgIDEyICAgIC8qIFdha2UgY21kIGlzIHByb2Nlc3NlZCAqLworI2RlZmluZSBIU0NfU1NNX1NUQVRVU19TTE9UVEVEX0JOICAgICAgICAgICAgICAxMyAgICAvKiBTbG90dGVkIG1vZGUgKi8KKworI2RlZmluZSBIU0NfU1NNX1NUQVRVU19ETyAgICAgICAgICAgICAgICAgICAgICAoMTw8SFNDX1NTTV9TVEFUVVNfRE9fQk4pICAgICAgICAgICAgICAgICAgIC8qMHgwMDAxKi8KKyNkZWZpbmUgSFNDX1NTTV9TVEFUVVNfUkVTWU5DX0NNUExUICAgICAgICAgICAgKDE8PEhTQ19TU01fU1RBVFVTX1JFU1lOQ19DTVBMVF9CTikgICAgICAgICAvKjB4MDAwMiovCisjZGVmaW5lIEhTQ19TU01fU1RBVFVTX1JFU1lOQ19ERU5JRUQgICAgICAgICAgICgxPDxIU0NfU1NNX1NUQVRVU19SRVNZTkNfREVOSUVEX0JOKSAgICAgICAgLyoweDAwMDQqLworI2RlZmluZSBIU0NfU1NNX1NUQVRVU19TVVNQRU5ERUQgICAgICAgICAgICAgICAoMTw8SFNDX1NTTV9TVEFUVVNfU1VTUEVOREVEX0JOKSAgICAgICAgICAgIC8qMHgwMDA4Ki8KKyNkZWZpbmUgSFNDX1NTTV9TVEFUVVNfV0FLRV9QRU5ESU5HICAgICAgICAgICAgKDE8PEhTQ19TU01fU1RBVFVTX1dBS0VfUEVORElOR19CTikgICAgICAgICAvKjB4MDAxMCovCisjZGVmaW5lIEhTQ19TU01fU1RBVFVTX1dBS0VfU0NIRURVTEVEICAgICAgICAgICgxPDxIU0NfU1NNX1NUQVRVU19XQUtFX1NDSEVEVUxFRF9CTikgICAgICAgLyoweDAwMjAqLworI2RlZmluZSBIU0NfU1NNX1NUQVRVU19NUEFfTk9STV9SRVFfUEVORElORyAgICAoMTw8SFNDX1NTTV9TVEFUVVNfTVBBX05PUk1fUkVRX1BFTkRJTkdfQk4pIC8qMHgwMDQwKi8KKyNkZWZpbmUgSFNDX1NTTV9TVEFUVVNfTVBBX05PUk1fUkVRX0lNTUVEICAgICAgKDE8PEhTQ19TU01fU1RBVFVTX01QQV9OT1JNX1JFUV9JTU1FRF9CTikgICAvKjB4MDA4MCovCisjZGVmaW5lIEhTQ19TU01fU1RBVFVTX1RYX0FWQUlMX0lORF9QRU5EICAgICAgICgxPDxIU0NfU1NNX1NUQVRVU19UWF9BVkFJTEFCTEVfQk4pICAgICAgICAgLyoweDA0MDAqLworI2RlZmluZSBIU0NfU1NNX1NUQVRVU19NUEFfTUVBU19SRVEgICAgICAgICAgICAoMTw8SFNDX1NTTV9TVEFUVVNfTVBBX01FQVNfUkVRX0JOKSAgICAgICAgIC8qMHgwODAwKi8KKyNkZWZpbmUgSFNDX1NTTV9TVEFUVVNfV0FLRV9QUk9DRVNTRUQgICAgICAgICAgKDE8PEhTQ19TU01fU1RBVFVTX1dBS0VfUFJPQ0VTU0VEX0JOKSAgICAgICAvKjB4MTAwMCovCisjZGVmaW5lIEhTQ19TU01fU1RBVFVTX1NMT1RURUQgICAgICAgICAgICAgICAgICgxPDxIU0NfU1NNX1NUQVRVU19TTE9UVEVEX0JOKQorCisjZGVmaW5lIEhTQ19TU01fU1RBVFVTX1JFU1lOQ19SRVNFVCAgICAgICAgICAgICggSFNDX1NTTV9TVEFUVVNfUkVTWU5DX0NNUExUICAgIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhTQ19TU01fU1RBVFVTX1JFU1lOQ19ERU5JRUQgICB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIU0NfU1NNX1NUQVRVU19TVVNQRU5ERUQgKQorCit0eXBlZGVmIGVudW0KK3sKKyAgIEhTQ19TU01fQUNUSVZFXzF4UlRULAorICAgSFNDX1NTTV9BQ1RJVkVfRVZETywKKyAgIEhTQ19TU01fUkVTWU5DLAorICAgSFNDX1NTTV9XQUlUXzEsCisgICBIU0NfU1NNX1dBSVRfMiwKKyAgIEhTQ19TU01fU1VTUEVOREVELAorICAgSFNDX1NTTV9OVU1fV0FLRQorfSBXYWtlVHlwZVQ7CisKK3R5cGVkZWYgZW51bQoreworICAgSFNDX0ZNX05PTkUsCisgICBIU0NfRk1fT05HT0lORywKKyAgIEhTQ19GTV9ET05FCit9IEhzY0ZtU3RhdHVzVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIEhzY0ZtU3RhdHVzVCAgICAgICAgICAgICAgRm1TdGF0dXM7CisgICBIc2NGbVJlc3VsdFQgICAgICAgICAgICAgIEZtUmVzdWx0OworICAga2FsX2ludDMyICAgICAgICAgICAgICAgICBNaW5pQWNxQ29ycmVjdGlvblRjODsKKyAgIGthbF9pbnQzMiAgICAgICAgICAgICAgICAgT25saW5lQWRqOworICAga2FsX2ludDMyICAgICAgICAgICAgICAgICBDYWxWYWx1ZTsKKyAgIGthbF91aW50MTYgICAgICAgICAgICAgICAgTWluaUFjcVB3ckVzdDsgICAgCisgICBrYWxfaW50MzIgICAgICAgICAgICAgICAgIE1pbmlBY3FDYWxWYWx1ZTsKKyAgIGthbF91aW50OCAgICAgICAgICAgICAgICAgQ2FsU2NhbGVbSFNDX05VTV9BUFBTXTsgIC8qIENhbFNjYWxlID0gUmVzeW5jRGVueUNudCsxICovCisgICBrYWxfdWludDggICAgICAgICAgICAgICAgIFJlc3luY0RlbnlDbnRbSFNDX05VTV9BUFBTXTsKKyAgIGthbF91aW50MzIgICAgICAgICAgICAgICAgU2xlZXBUaW1lczsKK30gSHNjQ2xrQ2FsVDsgIC8qIFRoaXMgaXMgdGhlIGNsayBjYWwgc3RydWN0dXJlIGZvciBETywgc2VlIFNQYWdlQ2FsIGluIGwxZCBmb3IgMVggKi8KKworCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX3VpbnQzMiAgICBSeFBsbFNldHRsZTsgICAgICAvKiBTbG90dGVkIFBhZ2luZyBSRiBSeCBQbGwgc2V0dGxlIGluIHN5bWJvbHMuKi8KKyAgIGthbF91aW50MzIgICAgUnhBZ2NTZXR0bGU7ICAgICAgLyogVGhpcyBpcyB1cGRhdGVkIGluIGZyYW1lIGhhbmRsZXIgKi8gCisgICBrYWxfdWludDMyICAgIFJ4QWdjU2V0dGxlU2hvcnQ7IC8qIFNob3J0IFNsb3R0ZWQgUGFnaW5nIFJ4QWdjIHNldHRsZSBpbiBzeW1ib2xzLiovCisgICBrYWxfdWludDMyICAgIFJ4QWdjU2V0dGxlTG9uZzsgIC8qIExvbmcgU2xvdHRlZCBQYWdpbmcgUnhBZ2Mgc2V0dGxlIGluIHN5bWJvbHMuKi8KKyAgIGthbF91aW50MzIgICAgTWluaUFjcTsgICAgICAgICAgLyogQnVmZmVyIENhcHR1cmUsIHNlYXJjaCwgYW5kIGZpbmdlciBhbGxvY2F0aW9uIGRlbGF5IGluIG1zICovCisgICBrYWxfdWludDMyICAgIE1pc2NBZGo7ICAgICAgICAgIC8qIFRpbWUgYmV0d2VlbiBSZXN5bmMgTGlzciB0byBSZXN5bmMgSGlzciAqLworfSBIc2NTcEJhY2tvZmZUOworCit0eXBlZGVmIHN0cnVjdAoreworICAgRnJhbWVSZWNUICAgICAgV2FrZUZyYW1lOworICAga2FsX3VpbnQzMiAgICAgRlJDX1Jlc3luYzsKK30gSHNjRG9TdG9wVHhUOworCit0eXBlZGVmIHN0cnVjdAoreyAvKiBXQVJOSU5HISAgVEhpcyBzdHJ1Y3R1cmUgaXMgcmVzZXQgdG8gMCBiZWZvcmUgZXZlcnkgUmVzeW5jIFRpbWUgY2FsYyAqLworICBrYWxfYm9vbCAgICAgICBWYWxpZDsKKyAgRnJhbWVSZWNUICAgICAgUGNoV2FrZVN5c3RlbVRpbWVGcmFtZTsKKyAga2FsX3VpbnQzMiAgICAgVG90YWw5TUh6RHVyYXRpb247CisgIGthbF9pbnQzMiAgICAgIFRvdGFsQ2FsVmFsdWU7CisgIGthbF9pbnQzMiAgICAgIEJhY2tvZmY5TUh6OworICBTeXNTRnJhbWVUaW1lVCBTZnJhbWVfUHJldlJlc3luYzsKKyAgU3lzU0ZyYW1lVGltZVQgU2ZyYW1lX1Jlc3luYzsKKyAga2FsX3VpbnQzMiAgICAgRlJDX1Jlc3luYzsKKyAga2FsX3VpbnQzMiAgICAgRlJDX1J0YjsgIC8qIGluIEZSQywgZm9yIHJlc3luYyBwb2xsaW5nIGluIGZyYW1lIHRpY2sgKi8KK30gSHNjUmVzeW5jVDsKKworCit0eXBlZGVmIHN0cnVjdAoreworICBIc2NTeXNBaXJJbnRlcmZhY2VUICAgT3duZXI7CisgIGthbF91aW50MTYgICAgICAgICAgICBTdGF0dXM7CisgIGthbF91aW50OCAgICAgICAgICAgICBSZlJlcTsKKyAgSHNjUmVzeW5jVCAgICAgICAgICAgIFJlc3luYzsKKyAga2FsX2Jvb2wgICAgICAgICAgICAgICgqSW5UcmFmZmljKSh2b2lkKTsKKyAga2FsX3VpbnQ4ICAgICAgICAgICAgIEFjdGl2ZVFudW07CisgIGthbF9ib29sICAgICAgICAgICAgICBXYWtlU2NoZWR1bGVQZW5kOworICBrYWxfdWludDggICAgICAgICAgICAgV2FrZVNjaGVMZW47IC8qIEluIGZyYW1lICovCisgIGthbF9ib29sICAgICAgICAgICAgICBNb2RlbVdha2VQZW5kOworICBrYWxfYm9vbCAgICAgICAgICAgICAgSHNjU2hkcldha2V1cDsKKyAga2FsX2Jvb2wgICAgICAgICAgICAgIFRpbWVDb3B5UHJvaGliaXQ7Cit9IEhzY0FwcFQ7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgIEhzY0FwcFQgICAqUHRyOworICB2b2lkICAgICAoKkRlUXVldWVQKSAoa2FsX3VpbnQ4KTsKK30gSHNjUXVldWVUOworCit0eXBlZGVmIHN0cnVjdAoreworICBrYWxfYm9vbCAgICAgICAgICAgICAgU3BlY2lhbDF4UHJlZW1wdGlvbjsKKyAga2FsX3VpbnQ4ICAgICAgICAgICAgIFByaW9yaXR5OworICBIc2NTeXNBaXJJbnRlcmZhY2VUICAgUmVzeW5jT3duZXI7CisgIEhzY1F1ZXVlVCAgICAgICAgICAgICBXYWtlUXVldWVbSFNDX1NTTV9OVU1fV0FLRV07CisgIEhzY0FwcFQgICAgICAgICAgICAgICBBcHBbSFNDX05VTV9BUFBTXTsKKyAgSHNjU3BCYWNrb2ZmVCAgICAgICAgIEJhY2tvZmY7CisgIGthbF91aW50MzIgICAgICAgICAgICBTY2FuQmFja29mZltIU0NfTlVNX0FQUFNdOworICBIc2NEb1N0b3BUeFQgICAgICAgICAgRG9TdG9wVHg7CisgIGthbF91aW50MzIgICAgICAgICAgICBSZXN5bmNDb2xsaXNpb25CdWZmZXI7IC8qIEluIEZSQyB1bml0ICovCisgIGthbF9ib29sICAgICAgICAgICAgICBTaGRyTW9kZUNoZWNraW5nRmxhZzsKKyAga2FsX3VpbnQzMiAgICAgICAgICAgIFNoZHJNb2RlQ2hlY2tpbmdUaW1lOworfSBIc2NTc21TdGF0dXNUOworCisvKiBEZWVwIFNsZWVwIFJlcXVlc3QgaW4gSFNDICovCit0eXBlZGVmIHN0cnVjdAoreworICBrYWxfdWludDMyICAgICAgICAgICAgVmV0b0ZsYWdbSFNDX05VTV9BUFBTXTsKK30gSHNjU3NtRGVlcFNsZWVwVDsKKworCisvKiBEZWVwIFNsZWVwIFJlcXVlc3QgaW4gSFNDICovCit0eXBlZGVmIHN0cnVjdAoreworICBGcmFtZVJlY1QgICAgICBQY2hXYWtlU3lzdGVtVGltZUZyYW1lOyAgLyogaW4gZnJhbWUgKi8KKyAga2FsX3VpbnQzMiAgICAgQmFja29mZjlNSHo7ICAgICAgICAgICAgIC8qIGluIGVjaGlwICovCisgIGthbF91aW50MzIgICAgIEFnY1NldHRsZTsgICAgICAgICAgICAgICAvKiBpbiBlY2hpcCAqLworICBTeXNTRnJhbWVUaW1lVCBTZnJhbWVSZXN5bmM7ICAgICAgICAgICAgLyogaW4gc3VwZnJhbWUrZWNoaXAgKi8KKyAga2FsX3VpbnQzMiAgICAgRnJjUmVzeW5jOyAgICAgICAgICAgICAgIC8qIGluIEZSQyAqLworICBrYWxfdWludDMyICAgICBGcmNSdGI7ICAgICAgICAgICAgICAgICAgLyogaW4gRlJDLCBmb3IgcmVzeW5jIHBvbGxpbmcgaW4gZnJhbWUgdGljayAqLworfSBIc2NTc21Eb1NsZWVwQ21kVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgRnJhbWVSZWNUICAgICAgUGNoV2FrZVN5c3RlbVRpbWVGcmFtZTsgIC8qIGluIGZyYW1lICovCisgIGthbF91aW50MzIgICAgIEJhY2tvZmY5TUh6OyAgICAgICAgICAgICAvKiBpbiBlY2hpcCAqLworICBTeXNTRnJhbWVUaW1lVCBTZnJhbWVSZXN5bmM7ICAgICAgICAgICAgLyogaW4gc3VwZnJhbWUrZWNoaXAgKi8KKyAga2FsX3VpbnQzMiAgICAgRnJjUmVzeW5jOyAgICAgICAgICAgICAgIC8qIGluIEZSQyAqLworICBrYWxfdWludDMyICAgICBGcmNSdGI7ICAgICAgICAgICAgICAgICAgLyogaW4gRlJDLCBmb3IgcmVzeW5jIHBvbGxpbmcgaW4gZnJhbWUgdGljayAqLworfSBIc2NTc20xeFNsZWVwQ21kVDsKKworICAgCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgU1BhZ2UgZGVmaW5pdGlvbnMgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKyNkZWZpbmUgU1BfU1RBVFVTX1NQX0VOQUJMRURfQk4gICAgICAgICAwCisjZGVmaW5lIFNQX1NUQVRVU19DQUxfRE9ORV9CTiAgICAgICAgICAgMQorI2RlZmluZSBTUF9TVEFUVVNfU1JDSF9ET05FX0JOICAgICAgICAgIDIKKyNkZWZpbmUgU1BfU1RBVFVTX1NMRUVQX0NNRF9SRUNWRF9CTiAgICAzCisjZGVmaW5lIFNQX1NUQVRVU19TTEVFUF9DTURfUEVORF9CTiAgICAgNAorI2RlZmluZSBTUF9TVEFUVVNfU1RPUF9BQ0tfUkVDVkRfQk4gICAgIDUKKyNkZWZpbmUgU1BfU1RBVFVTX1JFU1lOQ19DTVBMVF9CTiAgICAgICA2ICAgLyogc2VuZCBSRVNZTkNfSU5ELCBXQUtFX0lORCwgb3IgVEhBV19JTkQgaWYgbm90IHNldCAqLworI2RlZmluZSBTUF9TVEFUVVNfTUlOSV9BQ1FfQ01QTFRfQk4gICAgIDcgICAvKiByZiBpcyBjdXJyZW50LCBhIFJ4QWN0aXZhdGUgcmVxdWVzdCB3YXMgc2VudCAqLworI2RlZmluZSBTUF9TVEFUVVNfTUlOSV9BQ1FfUkVRX0JOICAgICAgIDggICAvKiBNaW5pIEFjcSBpcyByZXF1aXJlZCB1cG9uIHJlc3VtaW5nIGZyb20gcHJlZW1wdGlvbiAqLworI2RlZmluZSBTUF9TVEFUVVNfU1BfRElTQUJMRV9QRU5EX0JOICAgIDkgICAvKiBQZW5kaW5nIFNsb3R0ZWQgRGlzYWJsZSAqLworI2RlZmluZSBTUF9TVEFUVVNfU1VTUEVOREVEX0JOICAgICAgICAgIDEwCisjZGVmaW5lIFNQX1NUQVRVU19TTEVFUF9DTURfRElTQ0FSRF9CTiAgMTEKKyNkZWZpbmUgU1BfU1RBVFVTX1JFU1lOQ19ERU5JRURfQk4gICAgICAxMgorCisjZGVmaW5lIFNQX1NUQVRVU19TUF9FTkFCTEVEICAgICAgICAgKDE8PFNQX1NUQVRVU19TUF9FTkFCTEVEX0JOKSAgICAgICAgIC8qMHgwMDAxKi8KKyNkZWZpbmUgU1BfU1RBVFVTX0NBTF9ET05FICAgICAgICAgICAoMTw8U1BfU1RBVFVTX0NBTF9ET05FX0JOKSAgICAgICAgICAgLyoweDAwMDIqLworI2RlZmluZSBTUF9TVEFUVVNfU1JDSF9ET05FICAgICAgICAgICgxPDxTUF9TVEFUVVNfU1JDSF9ET05FX0JOKSAgICAgICAgICAvKjB4MDAwNCovCisjZGVmaW5lIFNQX1NUQVRVU19TTEVFUF9DTURfUkVDVkQgICAgKDE8PFNQX1NUQVRVU19TTEVFUF9DTURfUkVDVkRfQk4pICAgIC8qMHgwMDA4Ki8KKyNkZWZpbmUgU1BfU1RBVFVTX1NMRUVQX0NNRF9QRU5EICAgICAoMTw8U1BfU1RBVFVTX1NMRUVQX0NNRF9QRU5EX0JOKSAgICAgLyoweDAwMTAqLworI2RlZmluZSBTUF9TVEFUVVNfU1RPUF9BQ0tfUkVDVkQgICAgICgxPDxTUF9TVEFUVVNfU1RPUF9BQ0tfUkVDVkRfQk4pICAgICAvKjB4MDAyMCovCisjZGVmaW5lIFNQX1NUQVRVU19SRVNZTkNfQ01QTFQgICAgICAgKDE8PFNQX1NUQVRVU19SRVNZTkNfQ01QTFRfQk4pICAgICAgIC8qMHgwMDQwKi8KKyNkZWZpbmUgU1BfU1RBVFVTX01JTklfQUNRX0NNUExUICAgICAoMTw8U1BfU1RBVFVTX01JTklfQUNRX0NNUExUX0JOKSAgICAgLyoweDAwODAqLworI2RlZmluZSBTUF9TVEFUVVNfTUlOSV9BQ1FfUkVRICAgICAgICgxPDxTUF9TVEFUVVNfTUlOSV9BQ1FfUkVRX0JOKSAgICAgICAvKjB4MDEwMCovCisjZGVmaW5lIFNQX1NUQVRVU19TUF9ESVNBQkxFX1BFTkQgICAgKDE8PFNQX1NUQVRVU19TUF9ESVNBQkxFX1BFTkRfQk4pICAgIC8qMHgwMjAwKi8KKyNkZWZpbmUgU1BfU1RBVFVTX1NVU1BFTkRFRCAgICAgICAgICAoMTw8U1BfU1RBVFVTX1NVU1BFTkRFRF9CTikgICAgICAgICAgLyoweDA0MDAqLworI2RlZmluZSBTUF9TVEFUVVNfU0xFRVBfQ01EX0RJU0NBUkQgICgxPDxTUF9TVEFUVVNfU0xFRVBfQ01EX0RJU0NBUkRfQk4pICAvKjB4MDgwMCovCisjZGVmaW5lIFNQX1NUQVRVU19SRVNZTkNfREVOSUVEICAgICAgKDE8PFNQX1NUQVRVU19SRVNZTkNfREVOSUVEX0JOKSAgICAgIC8qMHgxMDAwKi8KKworI2RlZmluZSBTUF9FTkFCTElOR19UUklHR0VSUyAgICAgICAgIChTUF9TVEFUVVNfU1BfRU5BQkxFRCB8IFNQX1NUQVRVU19DQUxfRE9ORSkgLyoweDAwMDMqLworCisjZGVmaW5lIFNQX0VWRU5UX1RSSUdHRVJTICAgICAgICAgICAgKFNQX1NUQVRVU19TUkNIX0RPTkUgICAgICAgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNQX1NUQVRVU19TTEVFUF9DTURfUkVDVkQgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNQX1NUQVRVU19TTEVFUF9DTURfUEVORCAgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNQX1NUQVRVU19TVE9QX0FDS19SRUNWRCAgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNQX1NUQVRVU19SRVNZTkNfQ01QTFQgICAgKQorI2RlZmluZSBTUF9TTEVFUF9SRVNFVCAgICAgICAgICAgICAgIChTUF9TVEFUVVNfU1JDSF9ET05FICAgICAgIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTUF9TVEFUVVNfU0xFRVBfQ01EX1JFQ1ZEIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTUF9TVEFUVVNfU0xFRVBfQ01EX1BFTkQgIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTUF9TVEFUVVNfU1RPUF9BQ0tfUkVDVkQgIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTUF9TVEFUVVNfTUlOSV9BQ1FfQ01QTFQgIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTUF9TVEFUVVNfTUlOSV9BQ1FfUkVRICAgIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTUF9TVEFUVVNfUkVTWU5DX0NNUExUICAgICkKKyNkZWZpbmUgU1BfU1VTUEVORF9SRVNFVCAgICAgICAgICAgICAoU1BfU1RBVFVTX1NSQ0hfRE9ORSAgICAgICB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1BfU1RBVFVTX1NMRUVQX0NNRF9SRUNWRCB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1BfU1RBVFVTX1NMRUVQX0NNRF9QRU5EICB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1BfU1RBVFVTX1NUT1BfQUNLX1JFQ1ZEICB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1BfU1RBVFVTX01JTklfQUNRX0NNUExUICApCisjZGVmaW5lIFNQX0FDVElWQVRFX1JFU0VUICAgICAgICAgICAgKFNQX1NUQVRVU19TUkNIX0RPTkUgICAgICAgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNQX1NUQVRVU19TTEVFUF9DTURfUkVDVkQgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNQX1NUQVRVU19TVE9QX0FDS19SRUNWRCAgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNQX1NUQVRVU19NSU5JX0FDUV9SRVEgICAgKQorCisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBrYWxfdWludDggICAgIEVuYWJsZWQ7CisgICBrYWxfdWludDggICAgIFN0YXRlOworICAga2FsX3VpbnQzMiAgICBIaXN0b3J5OworICAga2FsX3VpbnQ4ICAgICBTbG90Q3ljbGVJZHhbMl07CisgICBrYWxfdWludDggICAgIENhbFNldHRsZVRpbWU7CisgICBrYWxfdWludDggICAgIEltbWVkaWF0ZU1vZGU7Cit9IEhzY1NwU3RhdHVzVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF91aW50MTYgICAgSGlzdG9yeTsKKyAgIGthbF91aW50OCAgICAgSW1tZWRpYXRlTW9kZTsKK30gTDFkU1BhZ2VTdGF0dXNUOworCit0eXBlZGVmIGVudW0KK3sKKyAgIFNQX1NUQVRFX05PTlNMT1RURUQgPSAwLCAgICAgICAgICAgICAvKiBzbG90dGVkIHBhZ2UgbW9kZSBpcyBkaXNhYmxlZCAqLworICAgU1BfU1RBVEVfUENIX01PTklUT1IsCisgICBTUF9TVEFURV9XQUlUX0ZPUl9TVE9QX0FDSywKKyAgIFNQX1NUQVRFX1NQQUdFX1NMRUVQLAorICAgU1BfU1RBVEVfTUFYCit9IFNwU3RhdGVUOworCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX3VpbnQ4ICAgICBSZXBlYXRPazsKKyAgIHZvaWQgICAgICAgICAgKCpGdW5jUCkodm9pZCk7CisgICBrYWxfdWludDE2ICAgIFRyaWdnZXJzOworICAga2FsX3VpbnQ4ICAgICBOZXh0OworfSBTcERvU3RhdGVUYmxFbnRyeVQ7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBTcERvU3RhdGVUYmxFbnRyeVQgU3RhdGVbU1BfU1RBVEVfTUFYXTsKK30gSHNjU3BEb1N0YXRlVGJsVDsKKworCit0eXBlZGVmIHN0cnVjdAoreworICAgSHNjU3lzQWlySW50ZXJmYWNlVCAgIFJlc3luY093bmVyOworICAgSHNjUmVzeW5jVCAgICAgICAgICAgIFJlc3luY1tIU0NfTlVNX0FQUFNdOworfSBIc2NTcFJlc3luY1JlY29yZFQ7CisgIAorCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgSFNDIE9PU0EgZGVmaW5pdGlvbnMgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KK3R5cGVkZWYgZW51bQoreworICAgT09TQV9TVEFURV9JTklUID0gMCwgICAgICAgICAgICAgLyogc2xvdHRlZCBwYWdlIG1vZGUgaXMgZGlzYWJsZWQgKi8KKyAgIE9PU0FfU1RBVEVfSU5fU0xFRVAsCisgICBPT1NBX1NUQVRFX0VOVEVSSU5HX1NMRUVQLAorICAgT09TQV9TVEFURV9XQUtFX0JFRk9SRV9TTEVFUCAgICAgLyogT09TQSB3YWtlIGNtZCBhc3NlcnQgYmVmb3JlIE9PU0Egc2xlZXAgZmxvdyBmaW5pc2hlZCAqLworfSBPb3NhU3RhdGVUOworCisjZGVmaW5lIEhTQ19PT1NBX1RZUEVfTk9STUFMICAgICAgICAgICAoMTw8MCkKKyNkZWZpbmUgSFNDX09PU0FfVFlQRV9SQVZBU19TVVNQRU5EICAgICgxPDwxKQorI2RlZmluZSBIU0NfT09TQV9UWVBFX0lORklOSVRFX1NMRUVQICAgKDE8PDIpCisjZGVmaW5lIEhTQ19PT1NBX1RZUEVfRkxJR0hUX01PREUgICAgICAoMTw8MykKKyNkZWZpbmUgTUFYX09PU0FfU0xFRVBfRFVSQVRJT05fMVhSVFQgICgxODAwKSAgLyp1bml0OjAuMXMsIDE4MCBzIGZvciAxeFJUVCAqLworI2RlZmluZSBNQVhfT09TQV9TTEVFUF9EVVJBVElPTl9FVkRPICAgKDYwMDApICAvKnVuaXQ6MC4xcywgNjAwIHMgZm9yIDF4UlRUICovCisKKy8qIENvbnZlcnQgdGhlIE9PU0Egc2xlZXAgZHVyYXRpb24odW5pdCAwLjEgc2Vjb25kKSB0byBGUkMoIFVuaXQgMSB1cyksIAordGhlIE1BWCBTTEVFUCBEVVJBVElPTjogNjAwcyBmb3IgRVZETywgMTgwIHMgZm9yIDF4UlRUICovCisjZGVmaW5lIE1fMFAxU0VDX1RPX0ZSQyhhKSAgICAgICAgKChrYWxfdWludDY0KWEqMTAwMDAwTCkKKwordHlwZWRlZiBzdHJ1Y3QgCit7CisgICBrYWxfdWludDggICAgICBPb3NhU2xlZXBUeXBlOworICAgT29zYVN0YXRlVCAgICAgT29zYVN0YXRlOworICAga2FsX3VpbnQzMiAgICAgU3RhcnRUaW1lOyAgICAgLyogSW4gRlJDICovCisgICBrYWxfdWludDMyICAgICBXYWtlVGltZTsgICAgICAvKiBJbiBGUkMgKi8KKyAgIGthbF91aW50MzIgICAgIFNsZWVwRHVyYXRpb247IC8qIEluIDAuMXMgKi8KKyAgIGthbF9ib29sICAgICAgIFdha2V1cEZsYWc7CisgICBrYWxfdWludDggICAgICBPb3NhV2FrZXVwVHlwZTsKK30gSHNjT29zYVQ7CisKKwordHlwZWRlZiBzdHJ1Y3QgCit7CisgICBIc2NTeXNBaXJJbnRlcmZhY2VUIE93bmVyOworfSBIc2NPb3NhU2xlZXBFdnRUOworCisKKworCisjaWYgZGVmaW5lZCAoTVRLX0RFVl9DMktfSVJBVCkgJiYgZGVmaW5lZCAoTVRLX0RFVl9DMktfU1JMVEVfTDEpCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgSFNDIEdBUCBzZXJ2aXZlIGRlZmluaXRpb25zIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCit0eXBlZGVmIHN0cnVjdCAKK3sKKyAgIGthbF9ib29sICAgICAgU2x0V2FrZVBlbmQ7ICAgICAgICAvKiBETyBzbG90dGVkIHdha2UgcGVuZGluZyBmb3IgR0FQIHN0b3BwaW5nICovCisgICBrYWxfYm9vbCAgICAgIE9vc2FXYWtlUGVuZDsgICAgICAgLyogT09TQSB3YWtlIHBlbmRpbmcgZm9yIEdBUCBzdG9wcGluZyAqLworICAga2FsX2Jvb2wgICAgICBDb250T29zYVBlbmQ7ICAgICAgIC8qIENPTlQgT09TQSBzbGVlcCBwZW5kaW5nICovCisgICBrYWxfdWludDMyICAgIEdhcEVuZEZyYW1lOyAgICAgICAgLyogRnJhbWUgbnVtYmVyIG9mIEdBUCBlbmQgd2hlbiBETyBzbG90dGVkIHNsZWVwICovCisgICBrYWxfdWludDMyICAgIENvbnRTbGVlcER1cmF0aW9uOyAgLyogaW4gMTAwbXMgKi8KKyAgIGthbF9ib29sICAgICAgR2FwR2F0ZTsgICAgICAgICAgICAvKiBLQUxfVFJVRTogbWVhbnMgY2FuJ3Qgb2ZmZXIgZ2FwIHRvIE1EMSAqLworfSBIc2NHYXBUOworI2VuZGlmCisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIEhTQyBHZW5lcmFsIGRlZmluaXRpb25zIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCit0eXBlZGVmIGVudW0KK3sKKyAgSFNDX09PU0FfVElNRVJfMVhfSUQsCisgIEhTQ19PT1NBX1RJTUVSX0RPX0lELAorICBIU0NfQ0xLX0NBTF9GQVNUX1NFVFRMRV9USU1FUl9JRCwKKyAgSFNDX1NIRFJfTU9ERV9USU1FUl9JRCwKKyAgSFNDX05VTV9USU1FUlMKK30gSHNjVGltZXJJZHM7CisKK3R5cGVkZWYgZW51bQoreworICAgSFNDX1RfTVBBX0FOVF9BVkFJTEFCTEUsCisgICBIU0NfVF9NUEFfQU5UX0FTU0lHTkVECit9SHNjQW50U3RhdHVzVDsKKworCisjaWYgZGVmaW5lZCAoTVRLX0RFVl9DMktfSVJBVCkgJiYgZGVmaW5lZCAoTVRLX0RFVl9DMktfU1JMVEVfTDEpCisvKiBHQVAgc2Vydml2ZSAqLworZXh0ZXJuIEhzY0dhcFQgICAgICAgICAgIEhzY0dhcDsKKyNlbmRpZgorCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICRMb2c6IGhzY2RlZnMuaCAkCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIEVuZCBvZiBGaWxlCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNlbmRpZgorLyoqTG9nIGluZm9ybWF0aW9uOiBcbWFpblxUcm9waHlcVHJvcGh5X3lseGlhb19ocmVmMjIwMzNcMSAyMDEzLTAzLTE4IDE0OjE0OjI0IEdNVCB5bHhpYW8KKyoqIEhSRUYjMjIwMzMsIG1lcmdlIDQuNi4wKiovCisvKipMb2cgaW5mb3JtYXRpb246IFxtYWluXFRyb3BoeVwxIDIwMTMtMDMtMTkgMDU6MTg6NDEgR01UIGh6aGFuZworKiogSFJFRiMyMjAzMyB0byBtZXJnZSAwLjQuNiBjb2RlIGZyb20gU0QuKiovCisvKipMb2cgaW5mb3JtYXRpb246IFxtYWluXFRyb3BoeVxUcm9waHlfamx1b19ocmVmMjIwODRcMSAyMDEzLTA0LTAzIDA0OjExOjI4IEdNVCBqbHVvCisqKiBIUkVGIzIyMDg0OkhBTkRST0lEIzE3MjMqKi8KKy8qKkxvZyBpbmZvcm1hdGlvbjogXG1haW5cVHJvcGh5XDIgMjAxMy0wNC0wMyAwNjoyNDo1OSBHTVQgY3poYW5nCisqKiBIUkVGIzIyMDg0KiovCisKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9oc2Ntc2cuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9oc2Ntc2cuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYWFiMTkyCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL2hzY21zZy5oCkBAIC0wLDAgKzEsMTE4IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIiJNRURJQVRFSyBTT0ZUV0FSRSIiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICIiQVMtSVMiIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqCisqIFRoaXMgU29mdHdhcmUgaXMgdGhlIHByb3BlcnR5IG9mIFZJQSBUZWxlY29tLCBJbmMuIGFuZCBtYXkgb25seSBiZSB1c2VkIHB1cnN1YW50IHRvIGEgbGljZW5zZSBmcm9tIFZJQSBUZWxlY29tLCBJbmMuICAKKyogCisqIEFueSB1bmF1dGhvcml6ZWQgdXNlIGluY29uc2lzdGVudCB3aXRoIHRoZSB0ZXJtcyBvZiBzdWNoIGxpY2Vuc2UgaXMgc3RyaWN0bHkgcHJvaGliaXRlZC4KKyogCisqIENvcHlyaWdodCAoYykgMTk5OC0yMDExIFZJQSBUZWxlY29tLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIAorICBGSUxFIE5BTUU6ICBoc2Ntc2cuaAorCisgIERFU0NSSVBUSU9OOgorCisgICAgVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBkZWZlbml0aW9ucyBvZiBhbGwgdGhlIEhTQyBtc2cgaWQncy4KKworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKiBNZXNzYWdlIElEcyBmb3Igc2lnbmFscyBhbmQgY29tbWFuZHMgc2VudCB0byBIU0MgCisqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNpbmNsdWRlICJoc2NfbXNnaWQuaCIKKworI2lmbmRlZiBNU0dfSURfTUlTTUFUQ0hfREVURUNUCisjdW5kZWYgTVNHSURfU0VUIAorI3VuZGVmIE1TR0lEX05FWFQgCisKKworLy8gcmVndWxhciBtc2cgaWQncyBlbnVtCisjZGVmaW5lIE1TR0lEX1NFVChuYW1lLCB2YWwpIG5hbWUgPSB2YWwKKyNkZWZpbmUgTVNHSURfTkVYVChuYW1lKSBuYW1lCisKKyNkZWZpbmUgSFNDX1NQRE9fTVNHX0lEUyB0eXBlZGVmIGVudW0KKyNkZWZpbmUgSFNDX1NQRE9fX01TR19JRFNfTkFNRSBIc2NTcERvTXNnSWRUCisjZGVmaW5lIEhTQ19TUDFYX01TR19JRFMgdHlwZWRlZiBlbnVtCisjZGVmaW5lIEhTQ19TUDFYX19NU0dfSURTX05BTUUgSHNjU3AxeE1zZ0lkVAorI2RlZmluZSBIU0NfQ01EX01TR19JRFMgdHlwZWRlZiBlbnVtCisjZGVmaW5lIEhTQ19DTURfX01TR19JRFNfTkFNRSBIc2NDbWRNc2dJZFQKKworCitleHRlcm4gY29uc3Qga2FsX3VpbnQzMiBIc2NTcERvVmFsaWRNc2dJZExpc3RbXTsKK2V4dGVybiBrYWxfdWludDMyIEhzY1NwRG9WYWxpZE1zZ0lkTGlzdFNpemVPZih2b2lkKTsKK2V4dGVybiBjb25zdCBrYWxfdWludDMyIEhzY1NwMXhWYWxpZE1zZ0lkTGlzdFtdOworZXh0ZXJuIGthbF91aW50MzIgSHNjU3AxeFZhbGlkTXNnSWRMaXN0U2l6ZU9mKHZvaWQpOworZXh0ZXJuIGNvbnN0IGthbF91aW50MzIgSHNjQ21kVmFsaWRNc2dJZExpc3RbXTsKK2V4dGVybiBrYWxfdWludDMyIEhzY0NtZFZhbGlkTXNnSWRMaXN0U2l6ZU9mKHZvaWQpOworCisKKyNlbHNlCisKKworI2lmZGVmICBIV0RfTVNHX0lEX01JU01BVENIX0RFVEVDVAorI2RlZmluZSAgSFNDX1NQRE9WYWxpZE1zZ0lkTGlzdCBId2RIc2NTcERvVmFsaWRNc2dJZExpc3QKKyNkZWZpbmUgIEhTQ19TUDFYVmFsaWRNc2dJZExpc3QgSHdkSHNjU3AxeFZhbGlkTXNnSWRMaXN0CisjZGVmaW5lICBIU0NfQ01EVmFsaWRNc2dJZExpc3QgIEh3ZEhzY0NtZFZhbGlkTXNnSWRMaXN0CisjZWxzZQorI2RlZmluZSAgSFNDX1NQRE9WYWxpZE1zZ0lkTGlzdCBIc2NTcERvVmFsaWRNc2dJZExpc3QKKyNkZWZpbmUgIEhTQ19TUDFYVmFsaWRNc2dJZExpc3QgSHNjU3AxeFZhbGlkTXNnSWRMaXN0CisjZGVmaW5lICBIU0NfQ01EVmFsaWRNc2dJZExpc3QgIEhzY0NtZFZhbGlkTXNnSWRMaXN0CisjZW5kaWYKKworCisjdW5kZWYgSFNDX1NQRE9fTVNHX0lEUworI3VuZGVmIEhTQ19TUERPX19NU0dfSURTX05BTUUgIAorI3VuZGVmIEhTQ19TUDFYX01TR19JRFMgCisjdW5kZWYgSFNDX1NQMVhfX01TR19JRFNfTkFNRSAgCisjdW5kZWYgSFNDX0NNRF9NU0dfSURTICAKKyN1bmRlZiBIU0NfQ01EX19NU0dfSURTX05BTUUgIAorCisKKworI2RlZmluZSBIU0NfU1BET19NU0dfSURTIGNvbnN0IGthbF91aW50MzIgSFNDX1NQRE9WYWxpZE1zZ0lkTGlzdFtdID0KKyNkZWZpbmUgSFNDX1NQRE9fX01TR19JRFNfTkFNRSAKKyNkZWZpbmUgSFNDX1NQMVhfTVNHX0lEUyBjb25zdCBrYWxfdWludDMyIEhTQ19TUDFYVmFsaWRNc2dJZExpc3RbXSA9CisjZGVmaW5lIEhTQ19TUDFYX19NU0dfSURTX05BTUUgCisjZGVmaW5lIEhTQ19DTURfTVNHX0lEUyBjb25zdCBrYWxfdWludDMyIEhTQ19DTURWYWxpZE1zZ0lkTGlzdCBbXT0KKyNkZWZpbmUgSFNDX0NNRF9fTVNHX0lEU19OQU1FIAorCisKKyNlbmRpZgorCisKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9oc2N0eXBkZWZzLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vaHNjdHlwZGVmcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ5NDhiZGYKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vaHNjdHlwZGVmcy5oCkBAIC0wLDAgKzEsNzYgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmICBfSFNDVFlQRURFRlNfSF8KKyNkZWZpbmUgIF9IU0NUWVBFREVGU19IXworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIAorKiBGSUxFIE5BTUUgICA6ICAgaHNjdHlwZGVmcy5oCisqCisqIERFU0NSSVBUSU9OIDoKKyoKKyoKKyogSElTVE9SWSAgICAgOgorKiAgICAgU2VlIExvZyBhdCBlbmQgb2YgZmlsZQorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKiBJbmNsdWRlIEZpbGVzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgdHlwZWRlZgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCit0eXBlZGVmIGthbF91aW50OCBNcGFSZlBhdGhCbXBUOworCit0eXBlZGVmIGthbF91aW50OCBNcGFBbnRUeXBlQm1wVDsKKwordHlwZWRlZiBlbnVtCit7CisgICBNUEFfUkZfREVOSUVEID0gMCwKKyAgIE1QQV9SRl9HUkFOVCwKKyAgIE1QQV9SRl9QRU5ESU5HLAorICAgTVBBX1JGX1NUQVRVU19OVU0KK30gTXBhUmZBc3NpZ25TdGF0dXNUOworICAgIAorCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIEVuZCBvZiBGaWxlCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNlbmRpZgorCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vbnZyYW1fY2wxZGVmLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vbnZyYW1fY2wxZGVmLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjFhNGFlOQotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9udnJhbV9jbDFkZWYuaApAQCAtMCwwICsxLDEwNCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICogbnZyYW1fY2wxZGVmLmgKKyAqCisgKiBQcm9qZWN0OgorICogLS0tLS0tLS0KKyAqIDkzCisgKgorICogRGVzY3JpcHRpb246CisgKiAtLS0tLS0tLS0tLS0KKyAqIEMySyBpbnRlcmZhY2UgZGVjbGFyYXRpb24gcHJvdmlkZWQgdG8gTlZSQU0uCisgKgorICogICAgICAgICAgICAgICAKKyAqIEF1dGhvcjoKKyAqIC0tLS0tLS0KKyAqIAorICoKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiAgICAgICAgICAgICBISVNUT1JZCisgKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFVwcGVyIHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgX05WUkFNX0NMMURFRl9IXworI2RlZmluZSBfTlZSQU1fQ0wxREVGX0hfCisKKyNpbmNsdWRlICJjbDFfcmZfcHVibGljLmgiCisKKyN1bmRlZiBOVlJBTV9JVEVNX1JGX0NVU1QKKyN1bmRlZiBOVlJBTV9JVEVNX01JUEkKKyN1bmRlZiBOVlJBTV9JVEVNX1JGX0NBTAorI3VuZGVmIE5WUkFNX0lURU1fUkZfUE9DCisjdW5kZWYgTlZSQU1fSVRFTV9SRl9UQVNfVkFSCisjdW5kZWYgTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkKKyN1bmRlZiBOVlJBTV9JVEVNX0VMTkFfVkFSCisjdW5kZWYgTlZSQU1fSVRFTV9UWF9QT1dFUl9WQVIKKyN1bmRlZiBOVlJBTV9JVEVNX1JGX1RBU19UU1QKKworI2RlZmluZSBOVlJBTV9JVEVNX1JGX0NVU1QobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgICAgCU5WUkFNX0VGX0NMMV8jI25BTUUjI18jI2FGRklYIyNfSVRFTSwKKyNkZWZpbmUgTlZSQU1fSVRFTV9NSVBJKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpICAgICAgIAlOVlJBTV9FRl9DTDFfIyNhRkZJWCMjXyMjbkFNRSMjX0lURU0sCisjZGVmaW5lIE5WUkFNX0lURU1fUkZfQ0FMKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpICAgICAJTlZSQU1fRUZfQ0wxQ0FMXyMjbkFNRSMjXyMjYUZGSVgjI19JVEVNLAorI2RlZmluZSBOVlJBTV9JVEVNX1JGX1BPQyhuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSAgICAgCU5WUkFNX0VGX0NMMUNBTF8jI25BTUUjI18jI2FGRklYIyNfSVRFTSwKKyNkZWZpbmUgTlZSQU1fSVRFTV9SRl9UQVNfVkFSKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpICAgICBOVlJBTV9FRl9DTDFfIyNuQU1FIyNfIyNhRkZJWCMjX0lURU0sCisjZGVmaW5lIE5WUkFNX0lURU1fUkZfVEFTX0FSUkFZKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpICAgTlZSQU1fRUZfQ0wxXyMjbkFNRSMjXyMjYUZGSVgjI19JVEVNLAorI2RlZmluZSBOVlJBTV9JVEVNX0VMTkFfVkFSKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpICAgICAJTlZSQU1fRUZfQ0wxXyMjbkFNRSMjXyMjYUZGSVgjI19JVEVNLAorI2RlZmluZSBOVlJBTV9JVEVNX1RYX1BPV0VSX1ZBUihuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSAgIE5WUkFNX0VGX0NMMV8jI25BTUUjI18jI2FGRklYIyNfSVRFTSwKKyNkZWZpbmUgTlZSQU1fSVRFTV9SRl9UQVNfVFNUKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpICAgICBOVlJBTV9FRl9DTDFfIyNuQU1FIyNfIyNhRkZJWCMjX0lURU0sCisKK3R5cGVkZWYgZW51bSB7CisgICAgI2luY2x1ZGUgImNsMV9udnJhbV9pZC5oIgorICAgIENMMURfUkZfTlZSQU1fSVRFTV9NQVhfTlVNCit9IE5WUkFNX0NMMV9MSURfSURYX0U7CisKKwordHlwZWRlZiB2b2lkKiBDTDFEX1JGX0NVU1RfREFUQV9TRVRfSU5GT19UOworCisKK2V4dGVybiBjb25zdCBDTDFEX1JGX0NVU1RfREFUQV9TRVRfSU5GT19UIGMxbGRfcmZfY3VzdF9kYXRhX2RyZGlfc2V0X3B0cltdW0NMMURfUkZfTlZSQU1fSVRFTV9NQVhfTlVNXTsKKworI2VuZGlmIC8qIF9OVlJBTV9DTDFERUZfSF8gKi8KKworCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vcmVnX2FjY2Vzcy5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL3JlZ19hY2Nlc3MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYWFiMWRhCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL3JlZ19hY2Nlc3MuaApAQCAtMCwwICsxLDQyIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMDUKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4gCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBSRUdfQUNDRVNTX0gKKyNkZWZpbmUgUkVHX0FDQ0VTU19ICisKKyNkZWZpbmUgUkVHX1JFQUQodmFsKSAgICAgICAgICAgICAgIChrYWxfdWludDgpKChId2RSZWFkMzIodmFsKSkpIAorI2RlZmluZSBSRUdfV1JJVEUocmVnLCB2YWwpICAgICAgICAgSHdkV3JpdGUzMihyZWcsIHZhbCkKKworI2VuZGlmCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vc3R1Yl9tc2dfc3RydWN0LmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vc3R1Yl9tc2dfc3RydWN0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmEwZTdiZgotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9zdHViX21zZ19zdHJ1Y3QuaApAQCAtMCwwICsxLDMzMCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE3CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIAorKiBGSUxFIE5BTUUgICA6c3R1Yl9tc2dfc3RydWN0LmggCisqCisqIERFU0NSSVBUSU9OIDpUaGlzIG1vZHVsZSBkZWZpbmVzIHRoZSBMYXllciAxIElMTSBtZXNzZ2FlIHN0cnVjdCBmb3IgTDEgU1RVQiBtb2R1bGUKKyoKKyoKKyogSElTVE9SWSAgICAgOgorKiAgICAgMS5GaWxlIENyZWF0ZSBieSBIYWlyb25nLldhbmcsIDIwMTcsMDIsMjAKKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9TVFVCX01TR19TVFJVQ1RfSAorI2RlZmluZSBfU1RVQl9NU0dfU1RSVUNUX0gKKworI2lmZGVmIE1US19ERVZfQzJLX1NSTFRFX0JBU0UKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqU1RVQiBJbnRlcmZhY2UgUmVsYXRlZCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIFRoZSAgcmF0IHN0YXR1cyBlbm11LiAqLwordHlwZWRlZiBlbnVtCit7CisgICAgQ0JTX0xMMVNUVUJfUkFUX0ZMSUdIVCwKKyAgICBDQlNfTEwxU1RVQl9SQVRfU1RBTkRCWSwKKyAgICBDQlNfTEwxU1RVQl9SQVRfQUNUSVZFCit9Q2JzTGwxc3R1YlJhdFN0YXR1c0U7CisKKy8qIFRoZSAgbW9kZSBzdGF0dXMgZW5tdS4gKi8KK3R5cGVkZWYgZW51bQoreworICAgIENCU19MTDFTVFVCX05VTExfTU9ERSwKKyAgICBDQlNfTEwxU1RVQl9JRExFX01PREUsCisgICAgQ0JTX0xMMVNUVUJfQ09OTkVDVF9NT0RFCit9Q2JzTGwxc3R1Yk1vZGVTdGF0dXNFOworCisvKiBUaGUgIFJBVCBlbm11LiAqLwordHlwZWRlZiBlbnVtCit7CisgICAgSU5WQUxJRF9SQVQsCisgICAgU1RVQl9MVEUsICAgIAorICAgIFNUVUJfR1NNLAorICAgIFNUVUJfVERTCisgICAgCit9UmF0RTsKKworLyogUkFUX01PREVfVCAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIExPQ0FMX1BBUkFfSERSCisgICBSYXRFICAgICAgICAgICAgICAgICAgICAgICAgUmF0OyAgICAgICAgICAgICAvKiBMVEUvR1NNICAqLworICAgQ2JzTGwxc3R1YlJhdFN0YXR1c0UgICAgICAgIFJhdFN0YXR1czsgICAgICAgLyogRmxpZ2h0L1N0YW5kYnkvQWN0aXZlLiAqLworICAgQ2JzTGwxc3R1Yk1vZGVTdGF0dXNFICAgICAgIE1vZGVTdGF0dXM7ICAgICAgLyogTlVMTC9JRExFL0NPTk5FQ1RFRC4gKi8KK31jYnNfcmF0X21vZGVfc3RhdHVzX2luZF9zdHJ1Y3QsCitlbDFfcmF0X21vZGVfc3RhdHVzX2luZF9zdHJ1Y3Q7CisKKworLyogVGhlICBPcGVyYXRpb24gZW5tdS4gKi8KK3R5cGVkZWYgZW51bQoreworICAgIE1EMV9TVFVCX0lOVkFMSURfT1AsCisgICAgTUQxX1NUVUJfT1BfQURELAorICAgIE1EMV9TVFVCX09QX0RFTEVURSwKKyAgICBNRDFfU1RVQl9PUF9DSEFOR0UKK31TdHViT3BlcmF0aW9uRTsKKworCisvKiBUaGUgIENoYW5uZWxUeXBlIGVubXUuICovCit0eXBlZGVmIGVudW0KK3sKKyAgICAvKiBDMksgY2hhbm5lbCB0eXBlcyBkZWZpbmUqLworICAgIFN0dWJDVGltZXJOb25lID0gMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qMDAqLworICAgIFN0dWJDVGltZXJYTDFJY3NQaWxvdCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qMDEqLworICAgIFN0dWJDVGltZXJYTDFJY3NTeW5jLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qMDIqLworICAgIFN0dWJDVGltZXJYTDFOc2x0UGNoT3ZoZCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qMDMqLworICAgIFN0dWJDVGltZXJYTDFOc2x0SW50ZXJNZWFzLCAgICAgICAgICAgICAgICAgICAgICAgIC8qMDQqLworICAgIFN0dWJDVGltZXJYTDFBZmx0TWVhcywgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qMDUqLworICAgIFN0dWJDVGltZXJYTDFTbHRDY2ksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qMDYqLworICAgIFN0dWJDVGltZXJYTDFTbHRRcGNoXzEsICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qMDcqLworICAgIFN0dWJDVGltZXJYTDFTbHRRcGNoXzIsICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qMDgqLworICAgIFN0dWJDVGltZXJYTDFTbHRQY2gsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qMDkqLworICAgIFN0dWJDVGltZXJYTDFTbHRQY2hMb3N0RGV0LCAgICAgICAgICAgICAgICAgICAgICAgIC8qMTAqLworICAgIFN0dWJDVGltZXJYTDFTbHRudGVyTWVhcywgICAgICAgICAgICAgICAgICAgICAgICAgIC8qMTEqLworICAgIFN0dWJDVGltZXJYTDFDb25uZWN0UHNSeCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qMTIqLworICAgIFN0dWJDVGltZXJYTDFDb25uZWN0SW50ZXJNZWFzLCAgICAgICAgICAgICAgICAgICAgIC8qMTMqLworICAgIFN0dWJDVGltZXJYTDFDb25uZWN0QWZsdE1lYXMsICAgICAgICAgICAgICAgICAgICAgIC8qMTQqLworICAgIFN0dWJDVGltZXJFdkwxSWNzUGlsb3QsICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qMTUqLworICAgIFN0dWJDVGltZXJFdkwxSWNzU3luYywgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qMTYqLworICAgIFN0dWJDVGltZXJFdkwxTnNsdENDLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qMTcqLworICAgIFN0dWJDVGltZXJFdkwxU2x0UGNoLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qMTgqLworICAgIFN0dWJDVGltZXJFdkwxSW50ZXJNZWFzLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qMTkqLworICAgIFN0dWJDVGltZXJFdkwxQ29ubmVjdFJ4LCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qMjAqLworICAgIFN0dWJDVGltZXJFdkwxQ29ubmVjdEludGVyTWVhcywgICAgICAgICAgICAgICAgICAgIC8qMjEqLworICAgIFN0dWJDVGltZXJFdlN0ZGJ5TWVhcywgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qMjIqLworICAgIFN0dWJDVGltZXJFdlN0ZGJ5U3luYywgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qMjMqLworICAgIFN0dWJDVGltZXJFdlN0ZGJ5Q2dpLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qMjQqLworICAgIFN0dWJDVGltZXJFbmQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qMjUqLworICAgIC8qIExURSBjaGFubmVsIHR5cGVzIGRlZmluZSAqLworICAgIFN0dWI0R1RpbWVyTWFjRHJ4c2NoLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qMjYqLworICAgIFN0dWI0R1RpbWVyUmFjaCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qMjcqLworICAgIFN0dWI0R1RpbWVySW50cmFGcmVxQ3NNZWFzLCAgICAgICAgICAgICAgICAgICAgICAgIC8qMjgqLworICAgIFN0dWI0R1RpbWVySW50ZXJGcmVxQ3NNZWFzLCAgICAgICAgICAgICAgICAgICAgICAgIC8qMjkqLworICAgIFN0dWI0R1RpbWVySW50ZXJGcmVxR2FwQ3NNZWFzLCAgICAgICAgICAgICAgICAgICAgIC8qMzAqLworICAgIFN0dWI0R1RpbWVyRGxTeW5jLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qMzEqLworICAgIFN0dWI0R1RpbWVyTmJyQmNjaEhpZ2gsICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qMzIqLworICAgIFN0dWI0R1RpbWVyTmJyQmNjaENzSGlnaCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qMzMqLworICAgIFN0dWI0R1RpbWVyUGFnaW5nLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qMzQqLworICAgIFN0dWI0R1RpbWVyUGFnaW5nRHVtcCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qMzUqLworICAgIFN0dWI0R1RpbWVyU2VydkJjY2gsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qMzYqLworICAgIFN0dWI0R1RpbWVyU3J2QmNjaCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qMzcqLworICAgIFN0dWI0R1RpbWVyU3J2QmNjaENzLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qMzgqLworICAgIFN0dWI0R1RpbWVyTmJyQmNjaE1pZGRsZSwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qMzkqLworICAgIFN0dWI0R1RpbWVyTmJyQmNjaENzTWlkZGxlLCAgICAgICAgICAgICAgICAgICAgICAgIC8qNDAqLworICAgIFN0dWI0R1RpbWVyTmJyQmNjaExvdywgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qNDEqLworICAgIFN0dWI0R1RpbWVyTmJyQmNjaENzTG93LCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qNDIqLworICAgIFN0dWI0R1RpbWVyQ3NyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qNDMqLworCisgICAgLyogR1NNIGNoYW5uZWwgdHlwZXMgZGVmaW5lICovCisgICAgU3R1YjJHVGltZXJCY2NoLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyo0NCovCisgICAgU3R1YjJHVGltZXJOQmNjaCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyo0NSovCisgICAgU3R1YjJHVGltZXJQZHRjaCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyo0NiovCisgICAgU3R1YjJHVGltZXJQYWNjaCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyo0NyovCisgICAgU3R1YjJHVGltZXJQdGNjaCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyo0OCovCisgICAgU3R1YjJHVGltZXJTZXJ2aW5nU0IsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyo0OSovCisgICAgU3R1YjJHVGltZXJQb2xsaW5nUmVzcCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyo1MCovCisgICAgU3R1YjJHVGltZXJTaW5nbGVEbCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyo1MSovCisgICAgU3R1YjJHVGltZXJQb2xsUmVzcCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyo1MiovCisgICAgU3R1YjJHVGltZXJQY2gsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyo1MyovCisgICAgU3R1YjJHVGltZXJTQiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyo1NCovCisgICAgU3R1YjJHVGltZXJGQ0JTZWFyY2gsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyo1NSovCisgICAgU3R1YjJHVGltZXJGdWxsU2NhbiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyo1NiovCisgICAgU3R1YjJHVGltZXJTaW5nbGVVbFR3b1BoYXNlLCAgICAgICAgICAgICAgICAgICAgICAgLyo1NyovCisgICAgU3R1YjJHVGltZXJBZ2NoLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyo1OCovCisgICAgU3R1YjJHVGltZXJDYmNoLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyo1OSovCisgICAgU3R1YjJHVGltZXJQdGNjaFVwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyo2MCovCisgICAgU3R1YjJHVGltZXJQdGNjaERvd24sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyo2MSovCisgICAgU3R1YjJHVGltZXJGY2NoVCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyo2MiovCisgICAgU3R1YjJHVGltZXJTY2hULCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyo2MyovCisgICAgU3R1YjJHVGltZXJJTSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyo2NCovCisgICAgU3R1YjJHVGltZXJQZGNoLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyo2NSovICAgIAorICAgIFN0dWJUZHNUaW1lckJjaEhpZ2gsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qNjYqLworICAgIFN0dWJUZHNUaW1lckJjaE1lZCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qNjcqLworICAgIFN0dWJUZHNUaW1lckJjaExvdywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qNjgqLworICAgIFN0dWJUZHNUaW1lclBpY2gsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qNjkqLworICAgIFN0dWJUZHNUaW1lclBjaDNHLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qNzAqLworICAgIFN0dWJUZHNUaW1lclJ4dHgsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qNzEqLworICAgIFN0dWJUZHNUaW1lck1lYXMsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qNzIqLworICAgIFN0dWJUZHNUaW1lclNDUywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qNzMqLworICAgIFN0dWJUZHNUaW1lclJhLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qNzQqLworICAgIAorICAgIFN0dWJUb3RhbFRpbWVyTnVtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qNzUqLworfUNoYW5uZWxUeXBlRTsKKworI2RlZmluZSBDMktfQ0hBTk5FTF9TVEFSVCAgU3R1YkNUaW1lck5vbmUKKyNkZWZpbmUgQzJLX0NIQU5ORUxfRU5EICAgIFN0dWJDVGltZXJFbmQKKyNkZWZpbmUgTFRFX0NIQU5ORUxfU1RBUlQgIFN0dWI0R1RpbWVyTWFjRHJ4c2NoCisjZGVmaW5lIExURV9DSEFOTkVMX0VORCAgICBTdHViNEdUaW1lckNzcgorI2RlZmluZSBHU01fQ0hBTk5FTF9TVEFSVCAgU3R1YjJHVGltZXJCY2NoCisjZGVmaW5lIEdTTV9DSEFOTkVMX0VORCAgICBTdHViMkdUaW1lclBkY2gKKyNkZWZpbmUgVERTX0NIQU5ORUxfU1RBUlQgIFN0dWJUZHNUaW1lckJjaEhpZ2gKKyNkZWZpbmUgVERTX0NIQU5ORUxfRU5EICAgIFN0dWJUZHNUaW1lclJhCisKKworLyogU0NSSVBUX0NIQU5ORUxfSU5GT19UICovCit0eXBlZGVmIHN0cnVjdAoreworICAgTE9DQUxfUEFSQV9IRFIKKyAgIFJhdEUgICAgICAgICAgICAgICAgIFJhdDsgICAgICAgICAgICAgICAvKiBMVEUvR1NNICAqLworICAgU3R1Yk9wZXJhdGlvbkUgICAgICAgT3BlcmF0aW9uOyAgICAgICAgIC8qIGFkZC9kZWxldGUvY2hhbmdlLiAqLworICAgQ2hhbm5lbFR5cGVFICAgICAgICAgQ2hhbm5lbFR5cGU7ICAgICAgIC8qIExURS9HU00gY2hhbm5lbCB0eXBlICovCisgICBrYWxfdWludDMyICAgICAgICAgICBDaGFubmVsT2Zmc2V0OyAgICAgLyogY2hhbm5lbCBvZmZzZXQgYmFzZSBvbiBGUkN0aW1lKDApLHVuaXQ6dXMgKi8KKyAgIGthbF91aW50MzIgICAgICAgICAgIENoYW5uZWxMZW5ndGg7ICAgICAvKiBjaGFubmVsIGxlbmd0aCwgdW5pdDp1cyAqLworICAga2FsX3VpbnQzMiAgICAgICAgICAgUGVyaW9kOyAgICAgICAgICAgIC8qIGNoYW5uZWwgcGVyaW9kLiBmb3IgUENIIGNoYW5uZWwsIHBlcmlvZCBtZWFucyBEUlhDeWNsZTsiMCJtZWFucyBmb3IgY29udGludW91cyByZWNlaXZlIGNoYW5uZWw7IDB4RkZGRkZGRkYgZm9yIHVucGVyaW9kaWMgY2hhbm5lbDt1aW50OnVzICovCit9Y2JzX2NoYW5uZWxfY29uZmlnX2luZF9zdHJ1Y3Q7CisKKy8qIENIQU5ORUxfSU5GT19UICovCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX2Jvb2wgICAgICAgICAgICAgICAgIHZhbGlkOyAgICAgICAgICAgICAvKiBpbmRpY2F0ZSB0aGUgY2hhbm5lbCBpcyB2YWxpZCBvciBub3QgKi8KKyAgIGthbF91aW50MzIgICAgICAgICAgICAgICBPZmZzZXQ7ICAgICAgICAgICAgLyogY2hhbm5lbCBvZmZzZXQgYmFzZSBvbiBGUkN0aW1lKDApLHVuaXQ6dXMgKi8KKyAgIGthbF91aW50MzIgICAgICAgICAgICAgICBMZW5ndGg7ICAgICAgICAgICAgLyogY2hhbm5lbCBsZW5ndGgsIHVuaXQ6dXMgKi8KKyAgIGthbF91aW50MzIgICAgICAgICAgICAgICBQZXJpb2Q7ICAgICAgICAgICAgLyogY2hhbm5lbCBwZXJpb2QuIGZvciBQQ0ggY2hhbm5lbCwgcGVyaW9kIG1lYW5zIERSWEN5Y2xlOyIwIm1lYW5zIGZvciBjb250aW51b3VzIHJlY2VpdmUgY2hhbm5lbDsgMHhGRkZGRkZGRiBmb3IgdW5wZXJpb2RpYyBjaGFubmVsO3VpbnQ6dXMgKi8KK31DQlNfQ0hBTk5FTF9EQVRBX1Q7CisKKy8qIENCUyBMVEUvR1NNIFNUQVRFIGVudW0gKi8KK3R5cGVkZWYgZW51bQoreworICAgIEZMSUdIVCwKKyAgICBMVEVfU1VTUEVORCwKKyAgICBMVEVfU1RBTkRCWSwKKyAgICBMVEVfSURMRSwKKyAgICBMVEVfUFMsCisgICAgR1NNX0lETEUsCisgICAgR1NNX1ZfSURMRSwgICAgCisgICAgR1NNX1BTLAorICAgIFREU19JRExFLAorICAgIFREU19QUywKKyAgICBURFNfU1RBTkRCWSwKKyAgICBURFNfVl9JRExFCisgICAgCit9Q2JzUnRiTW9kZVN0YXRlRTsKKworLyogQ2JzUmF0U3RhdHVzVCAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIENic1J0Yk1vZGVTdGF0ZUUgICAgICAgIEx0ZVN0YXRlOyAgICAgICAgICAgLyogaW5kaWNhdGUgTFRFIHN0YXRlICovCisgICBDYnNSdGJNb2RlU3RhdGVFICAgICAgICBHc21TdGF0ZTsgICAgICAgICAgIC8qIGluZGljYXRlIEdTTSBzdGF0ZSAqLyAgIAorICAgQ2JzUnRiTW9kZVN0YXRlRSAgICAgICAgVGRzU3RhdGU7ICAgICAgICAgICAvKiBpbmRpY2F0ZSBURFMgc3RhdGUgKi8KK31DQlNfUlRCX01PREVfU1RBVEVfVDsKKworCisvKiBMbDFzdHViQ2JzQ2hhbm5lbE5vdGlmeVQgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICBDaGFubmVsVHlwZUUgICAgICAgICAgICBDaGFubmVsVHlwZTsgICAgICAgLyogTFRFJ3MgaW50ZXJfZnJlcSBudW1iZXIgKi8KKyAgIFN0dWJPcGVyYXRpb25FICAgICAgICAgIE9wZXJhdGlvbjsgICAgICAgICAvKiBhZGQvZGVsZXRlL2NoYW5nZS4gKi8KKworfUxMMVNUVUJfQ0JTX0NIQU5ORUxfTk9USUZZX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBMT0NBTF9QQVJBX0hEUgorICAgTEwxU1RVQl9DQlNfQ0hBTk5FTF9OT1RJRllfVCAgICBtc2c7Cit9bGwxc3R1Yl9jYnNfY2hhbm5lbF9ub3RpZnlfaW5kX3N0cnVjdDsKKworLyogRUwxX0FDVElWRV9NRUFTVVJFX0lORk9fVCAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIExPQ0FMX1BBUkFfSERSCisgICBrYWxfdWludDE2ICAgICAgICAgICAgRnJlcU51bTsgICAgICAgLyogb25seSBmb3IgTFRFIGNoYW5uZWwgdHlwZSAqLworfWVsMV9hY3RpdmVfbWVhc3VyZV9pbmZvX2luZF9zdHJ1Y3Q7CisKK3R5cGVkZWYgZW51bQoreworICAgIE5VTExfTUVBUywKKyAgICBNRUFTX09OLAorICAgIE1FQVNfT0ZGLAorICAgIENBUlJJRVJfU0VSQUNIX09OLAorICAgIENBUlJJRVJfU0VSQUNIX09GRiwKKyAgICBCQ0NIX09OLAorICAgIEJDQ0hfT0ZGCit9TWVhc1B1cnBvc2VFOworCisvKiBFTDFfU1RBTkRCWV9NRUFTVVJFX1JFUV9UICovCit0eXBlZGVmIHN0cnVjdAoreworICAgTE9DQUxfUEFSQV9IRFIKKyAgIE1lYXNQdXJwb3NlRSAgICAgICAgICAgIE1lYXNQdXJwb3NlOworfWVsMV9zdGFuZGJ5X21lYXN1cmVfcmVxX3N0cnVjdDsKKworLyogRUwxX0FVVE9fR0FQX0FWQUlMQUJMRV9JTkRfVCAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIExPQ0FMX1BBUkFfSERSCisgICBrYWxfYm9vbCAgICAgICAgICAgIGF2YWlsYWJsZTsKK31lbDFfYXV0b19nYXBfYXZhaWxhYmxlX2luZF9zdHJ1Y3Q7CisKKwordHlwZWRlZiBzdHJ1Y3QgeworICAgIExPQ0FMX1BBUkFfSERSCisgICAga2FsX3VpbnQxNiAgICBMVEVfc2Nhbl9hY3RpdmVfZHVyYXRpb25fMXhSVFQ7ICAvKiB1bml0IGluIG1pbGlzZWNvbmQsIHZhbHVlIHJhbmdlIFsxLi4xMDAwMF0sIDB4RkZGRiBtZWFucyBpbnZhbGlkIChmZWF0dXJlIG9mZikgKi8KKyAgICBrYWxfdWludDE2ICAgIExURV9zY2FuX2FjdGl2ZV9kdXJhdGlvbl9ETzsgICAgIC8qIHVuaXQgaW4gbWlsaXNlY29uZCwgdmFsdWUgcmFuZ2UgWzEuLjEwMDBdLCAweEZGRkYgbWVhbnMgaW52YWxpZCAoZmVhdHVyZSBvZmYpICovCisgICAga2FsX2Jvb2wgICAgICBJc1N0b3BHYXBBZHY7ICAgICAgICAgICAgICAgICAgICAvKiB0byBpbmRpY2F0ZSBzcGVjaWFsIGNhc2UgdGhhdCBuZWVkIHN0b3AgTFRFIE1NTyBzdGFuZGJ5IG1lYXN1cmUgaW4gZ2FwIHJhbmdlICovCisgICAga2FsX2Jvb2wgICAgICBJc0RvU2lnUHJvdGVjdEluR2FwOyAgICAgICAgICAgICAvKiB0byBpbmRpY2F0ZSBzcGVjaWFsIGNhc2UgdGhhdCBuZWVkIHNlbmQgRG8gcHJvdGVjdCBzaWduYWwgc3RhcnQgaW4gZ2FwIHJhbmdlICovCisgICAga2FsX2Jvb2wgICAgICBJc1J0dFNpZ1Byb3RlY3RJbkdhcDsgICAgICAgICAgICAvKiB0byBpbmRpY2F0ZSBzcGVjaWFsIGNhc2UgdGhhdCBuZWVkIHNlbmQgUlRUIHByb3RlY3Qgc2lnbmFsIHN0YXJ0IGluIGdhcCByYW5nZSAqLworfQorbGwxYV9zY3JpcHRfbHRlX3NjYW5fYzJrX2FjdGl2ZV9wYXJhbXNfaW5kX3N0cnVjdDsKKwordHlwZWRlZiBzdHJ1Y3QgeworICAgIExPQ0FMX1BBUkFfSERSCisgICAga2FsX2Jvb2wgICAgICAgICBJc1Byb3RlY3Q7ICAgICAvKiB0byBpbmRpY2F0ZSBwcyBzaWduYWwgbmVlZCBwcm90ZWN0IG9yIG5vdCAqLworfQorbGwxYV9zY3JpcHRfcHNfbW1vX3NpZ25hbF9wcm90ZWN0X2luZF9zdHJ1Y3Q7CisKK3R5cGVkZWYgZW51bQoreworICAgIFNUVUJfUlNWQVNfU1VTUEVORCwKKyAgICBTVFVCX1JTVkFTX1JFU1VNRQorfSBTY3JpcHRSc3Zhc1N1cGVuZFJlc3VtZVQ7CisKK3R5cGVkZWYgc3RydWN0IHsKKyAgICBMT0NBTF9QQVJBX0hEUgorICAgIFNjcmlwdFJzdmFzU3VwZW5kUmVzdW1lVCAgICAgICAgIFJzdmFzQ21kVHlwZTsgICAgIC8qIHRvIGluZGljYXRlIHJzdmFzIGNtZCB0eXBlIHRvIGxsMXN0dWIgKi8KK30KK2xsMXN0dWJfc2NyaXB0X3JzdmFzX3N1c3BlbmRfcmVzdW1lX2luZF9zdHJ1Y3Q7CisKK3R5cGVkZWYgc3RydWN0IHsKKyAgICBMT0NBTF9QQVJBX0hEUgorfXJzdmFzX2NsMV9sbDFfcmVzdW1lX2luZF9zdHJ1Y3QsIHJzdmFzX2NsMV9sbDFfc3VzcGVuZF9pbmRfc3RydWN0OyAvKiBmb3Igc2VuZCBtc2cgdG8gTEwxQSAqLworCisKK3R5cGVkZWYgc3RydWN0IHsKKyAgICBMT0NBTF9QQVJBX0hEUgorfWVsMV9zdG9wX2dhcF9pbmRfc3RydWN0OworCisKKyNlbmRpZgorI2VuZGlmCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vc3lzMzJrbGVzcy5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL3N5czMya2xlc3MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMTIwYTYzCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL3N5czMya2xlc3MuaApAQCAtMCwwICsxLDk0IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIiJNRURJQVRFSyBTT0ZUV0FSRSIiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICIiQVMtSVMiIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworCisjaWZuZGVmIF9TWVMzMktMRVNTX0hfCisjZGVmaW5lIF9TWVMzMktMRVNTX0hfCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogCisqIEZJTEUgTkFNRSAgIDogc3lzMzJrbGVzcy5oCisqCisqIERFU0NSSVBUSU9OIDogRGVmaW5lcyBsb2NhbCBpbnRlcmZhY2UgZm9yIDMySy1sZXNzLiAKKyoKKyogSElTVE9SWSAgICAgOgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEluY2x1ZGUgRmlsZXMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaW5jbHVkZSAia2FsX3B1YmxpY19kZWZzLmgiCisjaW5jbHVkZSAia2FsX3B1YmxpY19hcGkuaCIKKyNpbmNsdWRlICJzeXNhcGkuaCIKKworCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEdsb2JhbCBEZWZpbmVzIGFuZCBNYWNyb3MKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEdsb2JhbCBUeXBlZGVmcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgR2xvYmFsIERhdGEKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBHbG9iYWwgRnVuY3Rpb24gUHJvdG90eXBlcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCitleHRlcm4ga2FsX2Jvb2wgU3lzSXMzMmtsZXNzTW9kZSh2b2lkKTsKKyNpZiBkZWZpbmVkKE1UNjc2MykgJiYgIWRlZmluZWQoTDFfU0lNKQorZXh0ZXJuIGthbF9ib29sIFN5czMya2xlc3NTbGVlcEFsbG93ZWQodm9pZCk7CisjZW5kaWYKK2V4dGVybiB2b2lkICAgICBTeXMzMmtsZXNzU2V0THBtS3Jlc2x0KFN5c0FpckludGVyZmFjZVQgQWRqdXN0ZXIsIGthbF9pbnQzMiBLX3Jlc3VsdCwga2FsX2ludDMyIFRpbWVEcmlmdCk7CitleHRlcm4gdm9pZCAgICAgU3lzMzJrbGVzc1VwZGF0ZUxwbVBhcmFtKFN5c0FpckludGVyZmFjZVQgQWRqdXN0ZXIsIGthbF9ib29sIEZvcmNlVXBkYXRlKTsKK2V4dGVybiB2b2lkICAgICBTeXMzMmtsZXNzVXBkYXRlRnBtUGFyYW0oU3lzQWlySW50ZXJmYWNlVCBBZGp1c3Rlciwga2FsX2ludDMyIEFmY0ZyZXFPZmZzZXQpOworZXh0ZXJuIHZvaWQgICAgIFN5czMya2xlc3NQTlVwZGF0ZShTeXNBaXJJbnRlcmZhY2VUIEFkanVzdGVyLCBrYWxfdWludDE2IFBpbG90UE4pOworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBFbmQgb2YgRmlsZQorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjZW5kaWYKKworCisKKworCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vc3lzY29tbW9uLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vc3lzY29tbW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWQ4YTFkMgotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9zeXNjb21tb24uaApAQCAtMCwwICsxLDE1NiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCIiTUVESUFURUsgU09GVFdBUkUiIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiIkFTLUlTIiIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKgorKiBUaGlzIFNvZnR3YXJlIGlzIHRoZSBwcm9wZXJ0eSBvZiBWSUEgVGVsZWNvbSwgSW5jLiBhbmQgbWF5IG9ubHkgYmUgdXNlZCBwdXJzdWFudCB0byBhIGxpY2Vuc2UgZnJvbSBWSUEgVGVsZWNvbSwgSW5jLiAgCisqIAorKiBBbnkgdW5hdXRob3JpemVkIHVzZSBpbmNvbnNpc3RlbnQgd2l0aCB0aGUgdGVybXMgb2Ygc3VjaCBsaWNlbnNlIGlzIHN0cmljdGx5IHByb2hpYml0ZWQuCisqIAorKiBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxMCBWSUEgVGVsZWNvbSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmICBfU1lTQ09NTU9OX0hfCisjZGVmaW5lICBfU1lTQ09NTU9OX0hfCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAKKyogRklMRSBOQU1FICAgOiAgIHN5c2NvbW1vbi5oCisqCisqIERFU0NSSVBUSU9OIDogICBDb21tb24gZnVuY3Rpb25zIGZvciBETyAmIDFYCisqCisqIEhJU1RPUlkgICAgIDoKKyogICAgIFNlZSBMb2cgYXQgZW5kIG9mIGZpbGUKKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogSW5jbHVkZSBGaWxlcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisjaW5jbHVkZSAic3lzYXBpLmgiCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEdsb2JhbCBEZWZpbmVzIEFuZCBNYWNyb3MKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKiBUdXJuIHRoZXNlIFJNQyBkZWJ1ZyBpZmRlZnMgT0ZGICovCisvKgorI2RlZmluZSBSTUNfU0NIX0lOUFVUX0JVRkZFUl9DQVBUVVJFX0VOQUJMRQorI2RlZmluZSBSTUNfTUFDX0ZJTkdFUl9XT1JLQVJPVU5ECisjZGVmaW5lIFJNQ19NQlBfVU5JVF9URVNUCisjZGVmaW5lIFJNQ19NQlBfVU5JVF9URVNUX1JQQworI2RlZmluZSBSTUNfTUFDX1BST0NfUkVTRVQKKyNkZWZpbmUgSVJBVF9NVUxUSU1PREVfVEVTVAorKi8KKworI2RlZmluZSBSTUNfRVFVQUxJWkVSCisjZGVmaW5lIFJNQ19FUV9SQUtFX0FVVE9fQ09NQklORQorCisvKiBUdXJuIHRoZXNlIFJNQyBkZWJ1ZyBpZmRlZnMgT04gKi8KKyNkZWZpbmUgUk1DX01CUF9VTklUX1RFU1RfUlBDCisjZGVmaW5lIFJNQ19NQUNfUE5fTE9BRF9JU1NVRQorI2RlZmluZSBSTUNfTUJQX1JFTlVNX0ZJWAorCisjZGVmaW5lIENDTV9BQ01fRFNBX1RFU1QKKworI2RlZmluZSBGQ1BfRldEX0FDS19ERUJVRworI2RlZmluZSBGQ1BfUEFDS0VUX1BFUkZfU1RBVAorI2RlZmluZSBBRkNfSU1QUk9WRQorCisvKiAjZGVmaW5lIFJDUF9SVE1fUkVWQV9XT1JLX0FST1VORCAqLworLyogI2RlZmluZSBGQ1BfRlRNX0RSQ19CWV9QQVNTICovCisvKiAjZGVmaW5lIEZDUF9GVE1fRFJDX1RFU1QgKi8KKworI2RlZmluZSBGQ1BfRlRNX0RSQ19NSVBTX0JZX1BBU1MgCisKKworI2RlZmluZSBSQ1BfUEFDS0VUX1BFUkZfU1RBVAorCisjZGVmaW5lIFJUTV9UWFRJTUVfUFJPRklMRSAKKy8qCisjZGVmaW5lIFJUTV9EVUFMX0ZDU19CVUZGRVIKKyovCisKKy8qI2RlZmluZSBGV0RfQ0hBTl9NT05fVEVTVAkgKi8KKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitHbG9iYWwgVHlwZWRlZnMgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy8qIE9PU0FfV0FLRVVQX1RZUEUgKi8KK3R5cGVkZWYgZW51bQoreworICBPT1NBX05PUk1BTF9XQUtFVVAsCisgIE9PU0FfRUFSTFlfV0FLRVVQLAorICBPT1NBX1dBS0VVUF9NQVgKK30gT29zYVdha2V1cFR5cGVUOworCit0eXBlZGVmIGVudW0KK3sKKyAgQ09OVl9MT0cxMF8xMCwKKyAgQ09OVl9MT0cxMF8yMCwKKyAgQ09OVl9MT0cyCit9IExvZ1NjYWxlQ29udlR5cGVUOworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBHbG9iYWwgRGF0YQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEdsb2JhbCBGdW5jdGlvbiBQcm90b3R5cGVzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy8qIFJhbmROdW0gR2VuZXJhdG9yICovCitleHRlcm4gdm9pZCBTeXNSYW5kb21OdW1iZXJJbml0KHZvaWQpOworZXh0ZXJuIGthbF91aW50MzIgU3lzUmFuZG9tTnVtYmVyKCBrYWxfdWludDMyIHJhbmdlICk7CisKKy8qIE1pc2MgT3BlcmF0aW9ucyAqLworZXh0ZXJuIGthbF91aW50MzIgICAgICAgICAgICAgU3lzR2V0V3JhcHBlZFJlc3VsdCgga2FsX3VpbnQzMiB2YWwsIGthbF9pbnQzMiBvZmZzZXQsIGthbF91aW50MzIgd3JhcExlbiApOworZXh0ZXJuIGthbF91aW50MzIgICAgICAgICAgICAgU3lzR2V0V3JhcHBlZFJlc3VsdDIoIGthbF91aW50MzIgdmFsLCBrYWxfaW50MzIgb2Zmc2V0LCBrYWxfdWludDMyIHdyYXBMZW4gKTsKK2V4dGVybiBGcmFtZVJlY1QgICAgICAgICAgU3lzR2V0RnJhbWVUaW1lQWRkZWQoIEZyYW1lUmVjVCB0aW1lLCBrYWxfaW50MzIgb2Zmc2V0ICk7IAorZXh0ZXJuIFN5c1RpbWVGdWxsVCAgICAgICBTeXNHZXRTbG90VGltZUFkZGVkKCBTeXNUaW1lRnVsbFQgdGltZSwga2FsX2ludDMyIG9mZnNldCApOworZXh0ZXJuIEZyYW1lUmVjVCAgICAgICAgICBTeXNDb252ZXJ0U3lzVGltZTFYdG9ETyggRnJhbWVSZWNUICBUaW1lMVggKTsKKworLyogR2FpbiB0byBMaW5lYXIgQ29udmVyc2lvbiBmdW5jdGlvbnMgKi8KK2V4dGVybiBrYWxfdWludDMyIFN5c0RiMkxpbmVhckNvbnYoa2FsX2ludDE2IEdhaW5EYik7CisKKy8qIExpbmVhciB0byBHYWluIENvbnZlcnNpb24gZnVuY3Rpb25zICovCitleHRlcm4ga2FsX2ludDE2IFN5c0xpbmVhcjJEYm1Db252KGthbF91aW50MzIgTGluZWFyR2Fpbik7CitleHRlcm4ga2FsX2ludDE2IFN5c0xpbmVhcjJEYkNvbnYoa2FsX3VpbnQzMiBMaW5lYXJHYWluKTsKKworZXh0ZXJuIHZvaWQgU2hhMUhhc2goY29uc3Qgdm9pZCAqZGF0YSwga2FsX3VpbnQzMiBsZW4sIGthbF91aW50OCAqZHN0KTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIEVuZCBvZiBGaWxlCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNlbmRpZgorCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vc3lzZnJjLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vc3lzZnJjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTNmYmQyYwotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9zeXNmcmMuaApAQCAtMCwwICsxLDEyNyBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCIiTUVESUFURUsgU09GVFdBUkUiIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiIkFTLUlTIiIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKworI2lmbmRlZiBfU1lTRlJDX0hfCisjZGVmaW5lIF9TWVNGUkNfSF8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAKKyogRklMRSBOQU1FICAgOiBzeXNmcmMuaAorKgorKiBERVNDUklQVElPTiA6IERlZmluZXMgbG9jYWwgaW50ZXJmYWNlIGZvciBGUkMuIAorKgorKiBISVNUT1JZICAgICA6CisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgSW5jbHVkZSBGaWxlcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisjaW5jbHVkZSAic3lzdHlwLmgiCisjaW5jbHVkZSAidmFsYXBpLmgiCisKKworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBHbG9iYWwgRGVmaW5lcyBhbmQgTWFjcm9zCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyogVmFsICogOS44MzA0ICogKDEgKyBBZmNQcGIvMTAwMDAwMDAwMCkgKi8KKyNkZWZpbmUgU1lTX0NPTlZFUlRfRlJDX1RPXzlNKFZhbCwgQWZjUHBiKSAoKCgoa2FsX2ludDY0KShWYWwpKSAqIDYxNDQgKyAoKCgoa2FsX2ludDY0KShWYWwpKSAqIChBZmNQcGIpICogMykgPj4gMTkpKSAvIDYyNSkgCisKKy8qIFZhbCAvICgxICsgQWZjUHBiLzEwMDAwMDAwMDApIC8gOS44MzA0ID0gVmFsICogKDEgLSBBZmNQcGIvMTAwMDAwMDAwMCkgLyA5LjgzMDQgKi8KKyNkZWZpbmUgU1lTX0NPTlZFUlRfOU1fVE9fRlJDKFZhbCwgQWZjUHBiKSAoKGthbF91aW50MzIpKCgoKGthbF9pbnQ2NCkoVmFsKSkgKiA2MjUgLSAoKCgoa2FsX2ludDY0KShWYWwpKSAqIChBZmNQcGIpICogNjI1KSA+PiAzMCkpIC8gNjE0NCkpCisKKyNkZWZpbmUgTUFYX0ZSQ19DTlQgICAgICAgICAgICAgICAoMHgxMDAwMDAwMDBVTCkKKyNkZWZpbmUgQzJLX0ZSQ19XUkFQICAgICAgICAgICAgICAoMHhGRkZGRkZGRikKKyNkZWZpbmUgRlJDX0ZSRVEgICAgICAgICAgICAgICAgICAoMTAwMDAwMEwpIC8qIDEgTUh6ICovCisKKyNpZiBkZWZpbmVkKF9fRlBHQV9fKSAmJiBkZWZpbmVkKF9fTVRLX1RBUkdFVF9fKQorLyogSW4gRlBHQSB2ZWZpY2F0aW9uIHBsYXRmb3JtLCBSeCBUaW1lciBjbG9jayBmcmVxdWVuY3kgaGFzIGRvd25zY2FsZSAxMDBcNTAsCisgICBidXQgRlJDIGNsb2NrIHJlbWFpbnMgMU1Iei4gVGhlcmVmb3JlLCBuZWVkIHRvIGNvcnJlY3QgRlJDIHZhbHVlIGJ5IC8oMTAwIG9yIDUwKSAqLworI2lmIGRlZmluZWQoX19NRDkzX18pfHxkZWZpbmVkKF9fTUQ5NV9fKQorI2RlZmluZSBGUkNfRE9XTlNDQUxFX0ZBQ1RPUiAgICAgICgxMDApCisjZW5kaWYKKyNpZiBkZWZpbmVkKF9fTUQ5N19fKSB8fCBkZWZpbmVkKF9fTUQ5N1BfXykKKyNkZWZpbmUgRlJDX0RPV05TQ0FMRV9GQUNUT1IgICAgICAoMTYwKQorI2VuZGlmCisjZWxzZQorI2RlZmluZSBGUkNfRE9XTlNDQUxFX0ZBQ1RPUiAgICAgICgxKQorI2VuZGlmCisKKy8qIERpZmYgb2YgdHdvIGNvbWFwcmVkIEZSQyBudW1iZXIgY2Fubm90IGJlIGJpZ2dlciB0aGFuIDJeMzE6IDIxNDcuNXMgKi8KKyNkZWZpbmUgTUFYX0ZSQ19ESUZGICAgICAgICAgICAgICAoMHg4MDAwMDAwMCkKKworLyoqIFRvIGNoZWNrIGVhcmxyRlJDIGlzIGVhcmxpZXIgdGhhbiBsYXRlRlJDICovCisjZGVmaW5lIEZSQ19DT01QQVJFKGVhcmx5LCBsYXRlKSAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICgoKGVhcmx5IDwgbGF0ZSkgJiYgKChsYXRlIC0gZWFybHkpIDwgTUFYX0ZSQ19ESUZGKSkgfHwgXAorICAgICgoZWFybHkgPiBsYXRlKSAmJiAoKGVhcmx5IC0gbGF0ZSkgPiBNQVhfRlJDX0RJRkYpKSkKKworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBHbG9iYWwgVHlwZWRlZnMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgR2xvYmFsIERhdGEKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEdsb2JhbCBGdW5jdGlvbiBQcm90b3R5cGVzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KK2V4dGVybiB2b2lkICAgICAgIFN5c0ZyY1N0YXJ0VGltZVN5bmMoU3lzQWlySW50ZXJmYWNlVCBJbnRlcmZhY2UpOworZXh0ZXJuIHZvaWQgICAgICAgU3lzRnJjU3RvcFRpbWVTeW5jKFN5c0FpckludGVyZmFjZVQgSW50ZXJmYWNlKTsKK2V4dGVybiB2b2lkICAgICAgIFN5c0ZyY1Jlc2V0KFN5c0FpckludGVyZmFjZVQgSW50ZXJmYWNlKTsKK2V4dGVybiB2b2lkICAgICAgIFN5c0ZyY1NldFNuYXBzaG90KFN5c0FpckludGVyZmFjZVQgSW50ZXJmYWNlLCBTeXNTRnJhbWVUaW1lVCAqU3lzVGltZSwga2FsX3VpbnQzMiBGcmMpOworZXh0ZXJuIGthbF9ib29sICAgU3lzRnJjQ29udmVydFRvU3QoU3lzQWlySW50ZXJmYWNlVCBJbnRlcmZhY2UsIGthbF91aW50MzIgRnJjLCBTeXNTRnJhbWVUaW1lVCAqU3lzVGltZSk7CitleHRlcm4gdm9pZCAgICAgICBTeXNGcmNDb252ZXJ0VG9TdEZvcmNlKFN5c0FpckludGVyZmFjZVQgSW50ZXJmYWNlLCBrYWxfdWludDMyIEZyYywgU3lzU0ZyYW1lVGltZVQgKlN5c1RpbWUsa2FsX2Jvb2wgTmVlZFRyYWNlKTsKK2V4dGVybiBrYWxfYm9vbCAgIFN5c1N0Q29udmVydFRvRnJjKFN5c0FpckludGVyZmFjZVQgSW50ZXJmYWNlLCBTeXNTRnJhbWVUaW1lVCAqU3lzVGltZSwga2FsX3VpbnQzMiAqRnJjKTsKK2V4dGVybiBrYWxfYm9vbCAgIFN5c0ZyY1N5bmNJc1ZhbGlkKFN5c0FpckludGVyZmFjZVQgSW50ZXJmYWNlKTsKK2V4dGVybiBrYWxfYm9vbCAgIFN5c0ZyY0dldE5leHRGcmFtZUJvdW5kYXJ5KFN5c0FpckludGVyZmFjZVQgSW50ZXJmYWNlLCBrYWxfYm9vbCBDaGVjazIwbXNCb3VuZGFyeSwga2FsX3VpbnQzMiBDaGVja1RpbWUsIGthbF91aW50MzIgKkZyY0ZyYW1lQm91bmRhcnksIGthbF9ib29sIFVzZUZyYW1lT2Zmc2V0KTsKK2V4dGVybiBrYWxfdWludDMyIFN5c0ZyY0NudEdldCh2b2lkKTsKK2V4dGVybiBrYWxfdWludDMyIFN5c0ZyY0NudEdldE5vRFModm9pZCk7CitleHRlcm4ga2FsX3VpbnQ4ICBTeXNGcmNIaWdoQ250R2V0KHZvaWQpOworZXh0ZXJuIGthbF9ib29sICAgU3lzRnJjUmVhZFNuYXBzaG90SW1tKFN5c0FpckludGVyZmFjZVQgSW50ZXJmYWNlLCBTeXNTRnJhbWVUaW1lVCogU0ZyYW1lVGltZSwga2FsX3VpbnQzMiogRnJjKTsKK2V4dGVybiB2b2lkICAgICAgIFN5c0ZyY1JlcHRTeW5jSW5mbyhTeXNBaXJJbnRlcmZhY2VUIEludGVyZmFjZSk7CitleHRlcm4gdm9pZCAgICAgICBTeXNGcmNSZWFkU25hcHNob3RJbW1EdnQoU3lzQWlySW50ZXJmYWNlVCBJbnRlcmZhY2UsIFN5c1NGcmFtZVRpbWVUKiBTRnJhbWVUaW1lLCBrYWxfdWludDMyKiBGcmMpOworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBFbmQgb2YgRmlsZQorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjZW5kaWYKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9zeXNzd2kuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL2NvbW1vbi9zeXNzd2kuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MDQ1ODIxCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL3N5c3N3aS5oCkBAIC0wLDAgKzEsNzYgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAKKyogRklMRSBOQU1FICAgOiBzeXNzd2kuaAorKgorKiBERVNDUklQVElPTiA6IERlZmluZXMgbG9jYWwgaW50ZXJmYWNlIGZvciBTV0kgY29udHJvbC4gCisqCisqIEhJU1RPUlkgICAgIDoKKyogICAgIAorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgX1NZU1NXSV9IXworI2RlZmluZSBfU1lTU1dJX0hfCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEluY2x1ZGUgRmlsZXMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBHbG9iYWwgRGVmaW5lcyBhbmQgTWFjcm9zCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgR2xvYmFsIFR5cGVkZWZzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgR2xvYmFsIERhdGEKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBHbG9iYWwgRnVuY3Rpb24gUHJvdG90eXBlcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCitleHRlcm4gdm9pZCBTeXNGckZoU3dpTGlzcih2b2lkKTsKK2V4dGVybiB2b2lkIFN5c0RvQ3JwU3dpTGlzcih2b2lkKTsKK2V4dGVybiB2b2lkIFN5c0JhY2t1cFN3aUxpc3Iodm9pZCkgOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogRW5kIG9mIEZpbGUKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2VuZGlmClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL3Rsc2FwaS5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvY29tbW9uL3Rsc2FwaS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk1YzJkOTIKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9jb21tb24vdGxzYXBpLmgKQEAgLTAsMCArMSwxNjEgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiIk1FRElBVEVLIFNPRlRXQVJFIiIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIiJBUy1JUyIiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoKKyogVGhpcyBTb2Z0d2FyZSBpcyB0aGUgcHJvcGVydHkgb2YgVklBIFRlbGVjb20sIEluYy4gYW5kIG1heSBvbmx5IGJlIHVzZWQgcHVyc3VhbnQgdG8gYSBsaWNlbnNlIGZyb20gVklBIFRlbGVjb20sIEluYy4gIAorKiAKKyogQW55IHVuYXV0aG9yaXplZCB1c2UgaW5jb25zaXN0ZW50IHdpdGggdGhlIHRlcm1zIG9mIHN1Y2ggbGljZW5zZSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkLgorKiAKKyogQ29weXJpZ2h0IChjKSAyMDAyLTIwMTAgVklBIFRlbGVjb20sIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIAorKiBGSUxFIE5BTUUgICA6IHRsc2FwaS5oCisqCisqIERFU0NSSVBUSU9OIDogQVBJIGRlZmluaXRpb24gZm9yIFRMUyB0YXNrLgorKgorKiBISVNUT1JZICAgICA6CisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX1RMU0FQSV9IXworI2RlZmluZSBfVExTQVBJX0hfCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEluY2x1ZGUgRmlsZXMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworI2luY2x1ZGUgImRvX21zZ2RlZnMuaCIKKyNpbmNsdWRlICJzeXNjb21tb24uaCIKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEdsb2JhbCBEZWZpbmVzIGFuZCBNYWNyb3MKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworI2RlZmluZSBUTFNfUFJJT1JJVFlfU1RSSU5HX0xFTiAyNTYKKyNkZWZpbmUgVExTX01BWF9TUFlfTEVOICAgICAgICAgMTY0CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIE1haWxib3ggSURzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKyNkZWZpbmUgVExTX01BSUxCT1hfQ01EIEVYRV9NQUlMQk9YXzFfSUQKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgIENvbW1hbmQgTWVzc2FnZSBJRHMsIGZvciBUTFMgdGFzaywgZm9yIFRMU19NQUlMQk9YX0NNRCwgRVhFX01BSUxCT1hfMV9JRAorICAgICBUaGUgbWVzc2FnZXMgSURzIGZvciBjb21wb25lbnRzIHNoYWxsIGFsc28gYmUgcHV0IGluIGhlcmUuICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwordHlwZWRlZiBlbnVtIC8qX01lc3NhZ2VfSURfZGVmaW5lKi8KK3sKKyAgIFRMU19URVNUX0FOT05fTVNHID0gVExTX0NNRF9NU0dJRF9TVEFSVCwKKyAgIFRMU19UUkFOU1BPUlRfQ09OTkVDVF9SU1BfTVNHLAorICAgVExTX0hBTkRTSEFLRV9NU0csCisgICBUTFNfVElNRVJfRVhQSVJFRF9NU0csCisgICBUTFNfSEFORFNIQUtFX0ZJTklTSF9NU0csCisgICBUTFNfUkVDT1JEX1JFQ1ZfTVNHLAorICAgVExTX0JZRV9NU0csCisgICBUTFNfVEVTVF9YNTA5X01TRywKKyAgIFRMU19URVNUX09QRU5QR1BfTVNHLAorCisgICBUTFNfVkFMX0NPTk5fUkVRLAorICAgVExTX1ZBTF9TRU5EX1JFUSwKKyAgIFRMU19WQUxfQ0xPU0VfUkVRLAorCisKKyAgIFRMU19DTURfTVNHSURfTEFTVAorfSBUbHNNc2dJZFQ7CisKK3R5cGVkZWYgZW51bSAvKl9UcmFjZV9JRF9kZWZpbmUqLworeworICAgVExTX1RSQUNFX1BFRVJfQ0xPU0VEX1RMU19DT05ORUNUSU9OLAorICAgVExTX1RSQUNFX1JFQ1ZfUkVDT1JEX0VSUk9SLAorICAgVExTX1RSQUNFX0hBTkRTSEFLRV9FUlJPUiwKKyAgIFRMU19UUkFDRV9IQU5EU0hBS0VfSU5fUFJPR1JFU1MsCisgICBUTFNfVFJBQ0VfSEFORFNIQUtFX0NPTVBMRVRFLAorCisgICBUTFNfVFJBQ0VfTEFTVAorfSBUbHNHZW5lcmFsVHJhY2VJZFQ7CisKK3R5cGVkZWYgUEFDS0VEX1BSRUZJWCBzdHJ1Y3QKK3sKKyAgIGthbF91aW50OCBQcmlvcml0aWVzW1RMU19QUklPUklUWV9TVFJJTkdfTEVOXTsKK30gUEFDS0VEX1BPU1RGSVggIFRsc1Rlc3RNc2dUOworCit0eXBlZGVmIHN0cnVjdCB7CisgICB2b2lkICpzZXNzaW9uOworfSBUbHNCeWVNc2dUOworCit0eXBlZGVmIHN0cnVjdCB7CisgICB2b2lkICpzZXNzaW9uOworfSBUbHNIYW5kc2hha2VNc2dUOworCit0eXBlZGVmIHN0cnVjdCB7CisgICB2b2lkICpzZXNzaW9uOworfSBUbHNIYW5kc2hha2VGaW5pc2hNc2dUOworCit0eXBlZGVmIHN0cnVjdCB7CisgICB2b2lkICpzZXNzaW9uOworfSBUbHNSZWNvcmRSZWN2TXNnVDsKKwordHlwZWRlZiBQQUNLRURfUFJFRklYIHN0cnVjdHsKKyAgIGthbF91aW50MTYgICAgICAgICAgIFRpbWVySUQ7Cit9IFBBQ0tFRF9QT1NURklYICBUbHNUaW1lckV4cGlyZWRNc2dUOworCisKKworLyogVGhlIFVFIHNoYWxsIG9ubHkgc3VwcG9ydCBBbHRlcm5hdGl2ZSBDbGllbnQgQXV0aGVudGljYXRpb24gYmFzZWQgc2VjdXJpdHkuICAgKi8KK3R5cGVkZWYgc3RydWN0IHsKKwlrYWxfdWludDMyIGFkZHJlc3NUeXBlOyAgICAvKiAwOiBJUFY0LCAxOiBJUHY2LCAyOiBib3RoICovCisJa2FsX3VpbnQzMiBhZGRyZXNzWzVdOyAgICAgICAvKiBbMF06IElQVjQgYWRkcmVzcywgWzFdLVs0XSBJUFY2IGFkZHJlc3MgKi8KKwlrYWxfdWludDE2IGxvY2FkUG9ydDsKKwlrYWxfdWludDE2IHJlbW90ZVBvcnQ7CisJa2FsX3VpbnQxNiBjZXJ0VHlwZTsKKwlrYWxfdWludDE2IGNlcnRMZW5ndGg7CisJa2FsX3VpbnQ4ICBjZXJ0QnVmWzFdOworfVRsc09wZW5SZXFNc2dUOworCisKK3R5cGVkZWYgc3RydWN0IHsKKwlrYWxfdWludDMyIGxlbjsgICAgLyogbGVuZ3RoIG9mIGRhdGEgdG8gYmUgc2VudCAqLworCWthbF91aW50OCAqIGJ1ZjsgICAgICAgLyogYnVmZmVyIG9mIGRhdGEgKi8KK31UbHNTZW5kTXNnVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAga2FsX3VpbnQxNiBsZW47CisgIGthbF91aW50OCAqYnVmOworfVZhbFRsc1NlbmRSc3BUOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogRW5kIG9mIEZpbGUKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2VuZGlmCisKKwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvcmZkL2NsMV9yZl9kYXRfcHVibGljLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9yZmQvY2wxX3JmX2RhdF9wdWJsaWMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ODQxNGE4Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvcmZkL2NsMV9yZl9kYXRfcHVibGljLmgKQEAgLTAsMCArMSw4NSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICogY2wxZF9yZl90YXNfcHVibGljLmgKKyAqCisgKiBQcm9qZWN0OgorICogLS0tLS0tLS0KKyAqIEMySworICoKKyAqIERlc2NyaXB0aW9uOgorICogLS0tLS0tLS0tLS0tCisgKiBIZWFkZXIgZmlsZSBjb250YWluaW5nIHR5cGVkZWZzIGFuZCBkZWZpbml0aW9ucyBwZXJ0YWluaW5nCisgKiB0byBDMksgUkYgZHJpdmVyIGV4dGVybmFsIGludGVyZmFjZS4KKyAqCisgKiBBdXRob3I6CisgKiAtLS0tLS0tCisgKgorICoKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiAgICAgICAgICAgICBISVNUT1JZCisgKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFVwcGVyIHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIENMMV9SRl9EQVRfUFVCTElDX0gKKyNkZWZpbmUgQ0wxX1JGX0RBVF9QVUJMSUNfSAorCisvKkRBVCBjb21waWxlIG9wdGlvbiAqLworI2lmIGRlZmluZWQgKF9fRFlOQU1JQ19BTlRFTk5BX1RVTklOR19fKXx8ZGVmaW5lZCAoTDFfU0lNKQorICAjaWYgZGVmaW5lZChfX01EOTNfXykKKwkjZGVmaW5lIElTX0MyS19EQVRfUkZEX0NUUkxfRU4JCSgxKQorCSNkZWZpbmUgSVNfQzJLX1VEQVRfU1VQUE9SVCAgICAgICAgICgwKQorICAjZWxpZiBkZWZpbmVkKF9fTUQ5NV9fKQorICAgICNkZWZpbmUgSVNfQzJLX0RBVF9SRkRfQ1RSTF9FTiAgICAgICgwKQkKKyAgICAjZGVmaW5lIElTX0MyS19VREFUX1NVUFBPUlQgCQkoMSkKKyAgI2VsaWYgKGRlZmluZWQoX19NRDk3X18pIHx8IGRlZmluZWQoX19NRDk3UF9fKSkKKyAgICAjZGVmaW5lIElTX0MyS19EQVRfUkZEX0NUUkxfRU4gICAgICAoMCkJCisgICAgI2RlZmluZSBJU19DMktfVURBVF9TVVBQT1JUIAkJKDApCisgICNlbmRpZgorI2Vsc2UKKwkjZGVmaW5lIElTX0MyS19EQVRfUkZEX0NUUkxfRU4JCSgwKQorICAgICNkZWZpbmUgSVNfQzJLX1VEQVRfU1VQUE9SVCAJCSgwKQorI2VuZGlmCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvcmZkL2NsMV9yZl9lbG5hX3B1YmxpYy5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvcmZkL2NsMV9yZl9lbG5hX3B1YmxpYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyNWFiNWUKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9yZmQvY2wxX3JmX2VsbmFfcHVibGljLmgKQEAgLTAsMCArMSwxMDIgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqIGNsMWRfcmZfZWxuYV9wdWJsaWMuaAorICoKKyAqIFByb2plY3Q6CisgKiAtLS0tLS0tLQorICogQzJLCisgKgorICogRGVzY3JpcHRpb246CisgKiAtLS0tLS0tLS0tLS0KKyAqIEhlYWRlciBmaWxlIGNvbnRhaW5pbmcgdHlwZWRlZnMgYW5kIGRlZmluaXRpb25zIHBlcnRhaW5pbmcKKyAqIHRvIEMySyBSRiBkcml2ZXIgZXh0ZXJuYWwgaW50ZXJmYWNlLgorICoKKyAqIEF1dGhvcjoKKyAqIC0tLS0tLS0KKyAqCisgKgorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqICAgICAgICAgICAgIEhJU1RPUlkKKyAqIEJlbG93IHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICoKKyAqCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogVXBwZXIgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgQ0wxX1JGX0VMTkFfUFVCTElDX0gKKyNkZWZpbmUgQ0wxX1JGX0VMTkFfUFVCTElDX0gKKworI2luY2x1ZGUgImNsMWRfcmZfY29tbW9uX2RlZnMuaCIKK2V4dGVybiBrYWxfdWludDMyIGVsbmFfaHdkX21hc2s7CitleHRlcm4ga2FsX3VpbnQzMiB0cGNfaHdkX2VuOworCisvKkVMTkEgcGluIGNvbnRyb2wgc3dpdGNoICovCisjZGVmaW5lIEMyS19FTE5BX1BJTl9OT05FICgtMSkKKyNkZWZpbmUgRUxOQV9SRl9CQU5EX01BWF9OVU0JKDUpCit0eXBlZGVmIGVudW17CisJQzJLX0VMTkExLAorCUMyS19FTE5BMiwKKwlDMktfRUxOQTMsCisJQzJLX0VMTkE0LAorCUMyS19FTE5BNSwKKwlDMktfRUxOQTYsCisJQzJLX0VMTkE3LAorCUMyS19FTE5BOCwKKwlDMktfRUxOQTksCisJQzJLX0VMTkExMCwKKwlDMktfRUxOQV9NQVhfTlVNLAorCUMyS19FTE5BX05PTkU9QzJLX0VMTkFfTUFYX05VTQorfUMyS19FTE5BX1RZUEVfRTsKK3R5cGVkZWYgc3RydWN0eworCWthbF91aW50OCBwbnVtX3BpbjA7CQkJLyp0aGUgMXN0IEJQSSBwaW4gbnVtIGZvciBFTE5BIGNybCAqLy8qQzJLX0VMTkFfUElOX05PTkUgbWVhbnMgbm90IHVzZWQgKi8KKwlrYWxfdWludDggcG51bV9waW4xOwkJCS8qdGhlIDJuZCBCUEkgcGluIG51bSBmb3IgRUxOQSBjdHIgKi8vKkMyS19FTE5BX1BJTl9OT05FIG1lYW5zIG5vdCB1c2VkICovCisJa2FsX3VpbnQzMiBwZGF0YV9vbl9waW4wOworCWthbF91aW50MzIgcGRhdGFfb25fcGluMTsKKwlrYWxfdWludDMyIHBkYXRhX2J5cGFzc19waW4wOworCWthbF91aW50MzIgcGRhdGFfYnlwYXNzX3BpbjE7Cit9QzJLX0VMTkFfQlBJX0RBVEFfVDsKK3R5cGVkZWYgc3RydWN0eworCS8qRUxOQSBNYXBwaW5nIGZvciBSRiBCTkFEICovCisJa2FsX3VpbnQ4IGVsbmFNYXBwaW5nX1JYW0VMTkFfUkZfQkFORF9NQVhfTlVNXTsKKwlrYWxfdWludDggZWxuYU1hcHBpbmdfUlhEW0VMTkFfUkZfQkFORF9NQVhfTlVNXTsKK31DTDFEX1JGX0NVU1RfRUxOQV9DRkdfVDsKKyNlbmRpZgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL3JmZC9jbDFfcmZfcG9jX3B1YmxpYy5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvcmZkL2NsMV9yZl9wb2NfcHVibGljLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDA1OWIwYQotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL3JmZC9jbDFfcmZfcG9jX3B1YmxpYy5oCkBAIC0wLDAgKzEsNDMgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWYgZGVmaW5lZCAoX19NRDkzX18pCisjaW5jbHVkZSAiY2wxX3JmX3BvY19wdWJsaWNfbWQ5My5oIgorI2VsaWYgZGVmaW5lZCAoX19NRDk1X18pCisjaW5jbHVkZSAiY2wxX3JmX3BvY19wdWJsaWNfbWQ5NS5oIgorI2VsaWYgZGVmaW5lZCAoX19NRDk3X18pIHx8IGRlZmluZWQgKF9fTUQ5N1BfXykKKyNpbmNsdWRlICJjbDFfcmZfcG9jX3B1YmxpY19tZDk3LmgiCisjZWxzZQorI2Vycm9yICJbRVJST1JdIEludmFsaWQgTUQgZ2VuZXJhdGlvbiIKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvcmZkL2NsMV9yZl9wb2NfcHVibGljX21kOTMuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL3JmZC9jbDFfcmZfcG9jX3B1YmxpY19tZDkzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOThkZWI1ZAotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL3JmZC9jbDFfcmZfcG9jX3B1YmxpY19tZDkzLmgKQEAgLTAsMCArMSwxMDQ5IEBACisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNworKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqCisqIEZJTEUgTkFNRSAgIDpjbDFfcmZfcG9jX3B1YmxpYy5oCisqCisqIERFU0NSSVBUSU9OIDoKKyoKKyoKKyogSElTVE9SWSAgICAgOgorKiAgICAgU2VlIExvZyBhdCBlbmQgb2YgZmlsZQorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBJbmNsdWRlIEZpbGVzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKyNpZiBkZWZpbmVkIChfX0MyS19SQVRfXykgfHwgZGVmaW5lZChfX0NMMV9UQVNLX0VOQUJMRV9fKQorI2lmbmRlZiBfQ0wxRF9SRl9QT0NfUFVCTElDX0hfCisjZGVmaW5lIF9DTDFEX1JGX1BPQ19QVUJMSUNfSF8KKworI2luY2x1ZGUgImNsMWRfcmZfY2lkLmgiCisvLyNpbmNsdWRlICJtbWwxX3J4ZGZlX2FwaS5oIgorCisvKiBUWCBERkUgcmVsYXRlZCAqLworI2lmIGRlZmluZWQoX19NRDk1X18pIAorI2RlZmluZSBUWF9EQ19DT01QX0ZDX01PREVfTlVNICAgICAgICAgICAgICAgICAoMSkKKyNlbGlmIGRlZmluZWQoX19NRDkzX18pIAorI2RlZmluZSBUWF9EQ19DT01QX0ZDX01PREVfTlVNICAgICAgICAgICAgICAgICAoMikKKyNlbGlmIChkZWZpbmVkKF9fTUQ5N19fKSB8fCBkZWZpbmVkKF9fTUQ5N1BfXykpIAorI2RlZmluZSBUWF9EQ19DT01QX0ZDX01PREVfTlVNICAgICAgICAgICAgICAgICAoMSkKKyNlbmRpZgorCisjaWYgSVNfQ0wxRF9SRl9UUklOSVRZTCB8fCBJU19DTDFEX1JGX1RSSU5JVFkyTCB8fCBJU19DTDFEX1JGX1RSSU5JVFlMRTIKKyNkZWZpbmUgVFhfUEdBX0JJQVNfU0VUX05VTSAgICAgICAgICAgICAgICAgICAgMworI2VuZGlmCisKKyNpZiBJU19DTDFEX1JGX1RSSU5JVFlFMSB8fCBJU19DTDFEX1JGX1RSSU5JVFlMIHx8IElTX0NMMURfUkZfVFJJTklUWTJMIHx8IElTX0NMMURfUkZfVFJJTklUWUxFMiB8fCBJU19DTDFEX1JGX0NPTFVNQlVTRTEvL3RlbXAgZm9yIEdlbjk3IHdhcm5pbmcKKyNkZWZpbmUgVFhfRENfQ09NUF9QR0FfU0xJQ0VfU0VUX05VTSAgICAgICAgICAgNAorI2Vsc2UKKyNkZWZpbmUgVFhfRENfQ09NUF9QR0FfU0xJQ0VfU0VUX05VTSAgICAgICAgICAgOAorI2VuZGlmCisKKyNpZiBkZWZpbmVkKF9fTUQ5NV9fKSAKKyNkZWZpbmUgVFhfSVFfQ09NUF9GQ19NT0RFX05VTSAgICAgICAgICAgICAgICAgKDEpCisjZWxpZiBkZWZpbmVkKF9fTUQ5M19fKSAKKyNkZWZpbmUgVFhfSVFfQ09NUF9GQ19NT0RFX05VTSAgICAgICAgICAgICAgICAgKDIpCisjZWxpZiAoZGVmaW5lZChfX01EOTdfXykgfHwgZGVmaW5lZChfX01EOTdQX18pKSAKKyNkZWZpbmUgVFhfSVFfQ09NUF9GQ19NT0RFX05VTSAgICAgICAgICAgICAgICAgKDEpCisjZW5kaWYKKworI2lmIElTX0NMMURfUkZfVFJJTklUWUUxIHx8IElTX0NMMURfUkZfVFJJTklUWUwgfHwgSVNfQ0wxRF9SRl9UUklOSVRZMkwgfHwgSVNfQ0wxRF9SRl9UUklOSVRZTEUyIHx8IElTX0NMMURfUkZfQ09MVU1CVVNFMS8vdGVtcCBmb3IgR2VuOTcgd2FybmluZworI2RlZmluZSBUWF9JUV9DT01QX1BHQV9TTElDRV9TRVRfTlVNICAgICAgICAgICA0CisjZWxzZQorI2RlZmluZSBUWF9JUV9DT01QX1BHQV9TTElDRV9TRVRfTlVNICAgICAgICAgICA4CisjZW5kaWYKKworLyogUlggREZFIHJlbGF0ZWQgKi8KKyNkZWZpbmUgUlhfUEFUSF9NQVhfTlVNICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFJYX1BPV0VSX01PREVfTUFYX05VTSAgICAgICAgICAgICAgICAgICgyKQorCisjaWYgZGVmaW5lZChfX01EOTVfXykgCisjZGVmaW5lIFJYX0ZEX0ZJTFRfVEFQU19NQVhfTlVNICAgICAgICAgICAgICAgICA3ICAgLyo+ICBtYXhpbXVtIG51bWJlcnMgb2YgY29tcGVuc2F0aW9uIGZpbHRlciB0YXBzICAqLworI2VsaWYgZGVmaW5lZChfX01EOTNfXykgCisjZGVmaW5lIFJYX0ZEX0ZJTFRfVEFQU19NQVhfTlVNICAgICAgICAgICAgICAgICA3ICAgLyo+ICBtYXhpbXVtIG51bWJlcnMgb2YgY29tcGVuc2F0aW9uIGZpbHRlciB0YXBzICAqLworI2VsaWYgKGRlZmluZWQoX19NRDk3X18pIHx8IGRlZmluZWQoX19NRDk3UF9fKSkgCisjZGVmaW5lIFJYX0ZEX0ZJTFRfVEFQU19NQVhfTlVNICAgICAgICAgICAgICAgICA1ICAgLyo+ICBtYXhpbXVtIG51bWJlcnMgb2YgY29tcGVuc2F0aW9uIGZpbHRlciB0YXBzICAqLworI2VuZGlmCisKKyNkZWZpbmUgQ0wxRF9SRl9SWERGRV9EQ19USUFfR0FJTl9IUE1fU1RFUFMgICAgICgzKQorI2RlZmluZSBDTDFEX1JGX1JYREZFX0RDX1BHQV9HQUlOX0hQTV9TVEVQUyAgICAgKDcpCisKKyNkZWZpbmUgQ0wxRF9SRl9SWERGRV9EQ19USUFfR0FJTl9MUE1fU1RFUFMgICAgIENMMURfUkZfUlhERkVfRENfVElBX0dBSU5fSFBNX1NURVBTCisjZGVmaW5lIENMMURfUkZfUlhERkVfRENfUEdBX0dBSU5fTFBNX1NURVBTICAgICBDTDFEX1JGX1JYREZFX0RDX1BHQV9HQUlOX0hQTV9TVEVQUworCisvKiBUWEsgREZFIHJlbGF0ZWQgKi8KKyNpZiBkZWZpbmVkKF9fTUQ5NV9fKSAKKyNkZWZpbmUgQ0wxRF9SRl9UWEtfREVUREZFX0VRTFBGX1RBUF9OVU0gICAgICAgICgxMykKKyNlbGlmIGRlZmluZWQoX19NRDkzX18pIAorI2RlZmluZSBDTDFEX1JGX1RYS19ERVRERkVfRVFMUEZfVEFQX05VTSAgICAgICAgKDExKQorI2VsaWYgKGRlZmluZWQoX19NRDk3X18pIHx8IGRlZmluZWQoX19NRDk3UF9fKSkgCisjZGVmaW5lIENMMURfUkZfVFhLX0RFVERGRV9FUUxQRl9UQVBfTlVNICAgICAgICAoMTMpCisjZW5kaWYKKyNpZiBkZWZpbmVkKF9fTUQ5NV9fKSAKKyNkZWZpbmUgQ0wxRF9SRl9UWEtfREVUREZFX0ZFX0dBSU5fU1RFUFMgICAgICAgICgxKQorI2VsaWYgZGVmaW5lZChfX01EOTNfXykgCisjZGVmaW5lIENMMURfUkZfVFhLX0RFVERGRV9GRV9HQUlOX1NURVBTICAgICAgICAoMikKKyNlbGlmIChkZWZpbmVkKF9fTUQ5N19fKSB8fCBkZWZpbmVkKF9fTUQ5N1BfXykpIAorI2RlZmluZSBDTDFEX1JGX1RYS19ERVRERkVfRkVfR0FJTl9TVEVQUyAgICAgICAgKDEpCisjZW5kaWYKKyNpZiBJU19DTDFEX1JGX1RSSU5JVFlFMSB8fCBJU19DTDFEX1JGX1RSSU5JVFlMIHx8IElTX0NMMURfUkZfVFJJTklUWTJMIHx8IElTX0NMMURfUkZfVFJJTklUWUxFMiB8fCBJU19DTDFEX1JGX0NPTFVNQlVTRTEvL3RlbXAgZm9yIEdlbjk3IHdhcm5pbmcKKyNkZWZpbmUgQ0wxRF9SRl9UWEtfREVUREZFX0dBSU5fU1RFUFMgICAgICAgICAgICg1KQorI2Vsc2UKKyNkZWZpbmUgQ0wxRF9SRl9UWEtfREVUREZFX0dBSU5fU1RFUFMgICAgICAgICAgICgxNSkKKyNlbmRpZgorLyogUlggREVWIHJlbGF0ZWQgKi8KKyNkZWZpbmUgQ0wxRF9SRl9ERVZfUE9DX1JYQUdDX1RBQkxFX01BWF9JTkRFWCAgICgxOSkgLy8gQ0wxRF9SRl9ERVZfUlhBR0NfVEFCTEVfTUFYX0lOREVYCisjZGVmaW5lIE1NUkZDX0MyS19QT0NfVFhfUEdBX1NMSUNFX05VTSAgICAgICAgICAoNykgIC8vIE1NUkZDX0MyS19UWF9QR0FfU0xJQ0VfTlVNCisKKyNpZiBJU19DTDFEX1JGX01UNjE3N0wKKyNkZWZpbmUgQ0wxRF9SRl9ERVZfUE9DX1RYX1BHQV9BX1RBQkxFX1NJWkUgICAgICgyMSkgIC8vQ0wxRF9SRl9ERVZfVFhfUEdBX0FfVEFCTEVfU0laRQorI2RlZmluZSBDTDFEX1JGX0RFVl9QT0NfVFhfUEdBX0JfVEFCTEVfU0laRSAgICAgKDE3KSAgLy9DTDFEX1JGX0RFVl9UWF9QR0FfQl9UQUJMRV9TSVpFCisjZWxpZiBJU19DTDFEX1JGX01UNjE3N00KKyNkZWZpbmUgQ0wxRF9SRl9ERVZfUE9DX1RYX1BHQV9BX1RBQkxFX1NJWkUgICAgICgzMCkgIC8vQ0wxRF9SRl9ERVZfVFhfUEdBX0FfVEFCTEVfU0laRQorI2RlZmluZSBDTDFEX1JGX0RFVl9QT0NfVFhfUEdBX0JfVEFCTEVfU0laRSAgICAgKDApICAvL0NMMURfUkZfREVWX1RYX1BHQV9CX1RBQkxFX1NJWkUKKyNlbGlmIElTX0NMMURfUkZfVFJJTklUWUUxCisjZGVmaW5lIENMMURfUkZfREVWX1BPQ19UWF9QR0FfQV9UQUJMRV9TSVpFICAgICAoMTQpICAvL0NMMURfUkZfREVWX1RYX1BHQV9BX1RBQkxFX1NJWkUKKyNkZWZpbmUgQ0wxRF9SRl9ERVZfUE9DX1RYX1BHQV9CX1RBQkxFX1NJWkUgICAgICgxMykgIC8vQ0wxRF9SRl9ERVZfVFhfUEdBX0JfVEFCTEVfU0laRQorI2VsaWYgSVNfQ0wxRF9SRl9UUklOSVRZTCB8fCBJU19DTDFEX1JGX1RSSU5JVFlMRTIKKyNkZWZpbmUgQ0wxRF9SRl9ERVZfUE9DX1RYX1BHQV9BX1RBQkxFX1NJWkUgICAgICgyNykgIC8vQ0wxRF9SRl9ERVZfVFhfUEdBX0FfVEFCTEVfU0laRQorI2RlZmluZSBDTDFEX1JGX0RFVl9QT0NfVFhfUEdBX0JfVEFCTEVfU0laRSAgICAgKDApICAvL0NMMURfUkZfREVWX1RYX1BHQV9CX1RBQkxFX1NJWkUKKyNlbGlmIElTX0NMMURfUkZfVFJJTklUWTJMCisjZGVmaW5lIENMMURfUkZfREVWX1BPQ19UWF9QR0FfQV9UQUJMRV9TSVpFICAgICAoMjcpICAvL0NMMURfUkZfREVWX1RYX1BHQV9BX1RBQkxFX1NJWkUKKyNkZWZpbmUgQ0wxRF9SRl9ERVZfUE9DX1RYX1BHQV9CX1RBQkxFX1NJWkUgICAgICgwKSAgLy9DTDFEX1JGX0RFVl9UWF9QR0FfQl9UQUJMRV9TSVpFCisjZWxpZiBJU19DTDFEX1JGX0NPTFVNQlVTRTEKKyNkZWZpbmUgQ0wxRF9SRl9ERVZfUE9DX1RYX1BHQV9BX1RBQkxFX1NJWkUgICAgICgxNCkgIC8vQ0wxRF9SRl9ERVZfVFhfUEdBX0FfVEFCTEVfU0laRQorI2RlZmluZSBDTDFEX1JGX0RFVl9QT0NfVFhfUEdBX0JfVEFCTEVfU0laRSAgICAgKDEzKSAgLy9DTDFEX1JGX0RFVl9UWF9QR0FfQl9UQUJMRV9TSVpFCisjZW5kaWYKKyNkZWZpbmUgQ0wxRF9SRl9ERVZfUE9DX1RYX1BHQV9UQUJMRV9TSVpFICAgICAgIChDTDFEX1JGX0RFVl9QT0NfVFhfUEdBX0FfVEFCTEVfU0laRSArIENMMURfUkZfREVWX1BPQ19UWF9QR0FfQl9UQUJMRV9TSVpFKS8vQ0wxRF9SRl9ERVZfVFhfUEdBX1RBQkxFX1NJWkUKKworI2RlZmluZSBDTDFEX1JGX0RFVl9QT0NfVFhERVRfQUdDX1RBQkxFX1NJWkUgICAgKDE1KSAgLy9DTDFEX1JGX0RFVl9UWERFVF9BR0NfVEFCTEVfU0laRQorI2RlZmluZSBDTDFEX1JGX0RFVl9QT0NfREVUX0ZFX0dBSU5fU1RFUFMgICAgICAgKDIpICAgLy9DTDFEX1JGX0RFVl9ERVRfRkVfR0FJTl9TVEVQUworCisKKyNkZWZpbmUgQ0wxRF9SRl9JRl9NQVhfTlVNICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIENMMURfUkZfREVUX1BHQV9HQUlOX1NURVBTICAgICAgICAgICg1KQorCisjaWYgSVNfQ0wxRF9SRl9NVDYxNzdMCisjZGVmaW5lIENMMURfVFhfTFBGX05PTUlOQUxfVkFMVUUgICAgICAxNzIvL2ZvciA3N0wKKyNlbGlmIElTX0NMMURfUkZfTVQ2MTc3TQorI2RlZmluZSBDTDFEX1RYX0xQRl9OT01JTkFMX1ZBTFVFICAgICAgMjYvL2ZvciA3N00KKyNlbGlmIElTX0NMMURfUkZfVFJJTklUWUUxIHx8IElTX0NMMURfUkZfQ09MVU1CVVNFMS8vdGVtcCBmb3IgR2VuOTcgd2FybmluZworI2RlZmluZSBDTDFEX1RYX0xQRl9OT01JTkFMX1ZBTFVFICAgICAgMTcyLy9TdHViIGZvciBUcmluaXR5RTEuIFdpbGwgZGVsZXRlIGxhdGVyLgorI2VsaWYgSVNfQ0wxRF9SRl9UUklOSVRZTCB8fCBJU19DTDFEX1JGX1RSSU5JVFkyTCB8fCBJU19DTDFEX1JGX1RSSU5JVFlMRTIKKyNkZWZpbmUgQ0wxRF9UWF9MUEZfTk9NSU5BTF9WQUxVRQkgICAxNzIKKyNlbmRpZgorCisjaWYgSVNfQ0wxRF9SRl9NVDYxNzdMCisjZGVmaW5lIENMMURfVFhfUkNGX05PTUlOQUxfVkFMVUUgICAgICAxNgorI2VsaWYgSVNfQ0wxRF9SRl9NVDYxNzdNCisjZGVmaW5lIENMMURfVFhfUkNGX05PTUlOQUxfVkFMVUUgICAgICAxNworI2VsaWYgSVNfQ0wxRF9SRl9UUklOSVRZRTEgfHwgSVNfQ0wxRF9SRl9DT0xVTUJVU0UxLy90ZW1wIGZvciBHZW45NyB3YXJuaW5nCisjZGVmaW5lIENMMURfVFhfUkNGX05PTUlOQUxfVkFMVUUgICAgICAxNi8vU3R1YiBmb3IgVHJpbml0eUUxLiBXaWxsIGRlbGV0ZSBsYXRlci4KKyNlbGlmIElTX0NMMURfUkZfVFJJTklUWUwgfHwgSVNfQ0wxRF9SRl9UUklOSVRZMkwgfHwgSVNfQ0wxRF9SRl9UUklOSVRZTEUyCisjZGVmaW5lIENMMURfVFhfUkNGX05PTUlOQUxfVkFMVUUgICAgICAxNgorI2VuZGlmCisKKyNkZWZpbmUgQ0wxRF9SRl9SWERGRV9SRkVRX1RBUFNfTlVNX01BWCAgICAgICAgICAgICAgICAgICAgKDE0KQorCit0eXBlZGVmIGVudW0KK3sKKyAgQ0wxRF9SRl9ERVZfVElBMCwKKyAgQ0wxRF9SRl9ERVZfVElBMSwKKyAgQ0wxRF9SRl9ERVZfVElBX05VTQorfUNMMURfUkZfREVWX1RJQV9FOworCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX2ludDE2ICAgICAgICAgICAgICAgICAgICAgIGlfcGFydDsKKyAgIGthbF9pbnQxNiAgICAgICAgICAgICAgICAgICAgICBxX3BhcnQ7Cit9IENMMURfUkZfVFhERkVfRENfQ09NUF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgQ0wxRF9SRl9UWERGRV9EQ19DT01QX1QgICAgICAgIGNvbXBfdGFiW1RYX0RDX0NPTVBfRkNfTU9ERV9OVU1dW1RYX0RDX0NPTVBfUEdBX1NMSUNFX1NFVF9OVU1dOworfSBDTDFEX1JGX1RYREZFX0RDX0NPTVBfVEFCX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBrYWxfaW50MTYgICAgICAgICAgICAgICAgICAgICAgZ2FpbjsKKyAgIGthbF9pbnQxNiAgICAgICAgICAgICAgICAgICAgICBwaGFzZTsKK30gQ0wxRF9SRl9UWERGRV9JUV9DT01QX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBDTDFEX1JGX1RYREZFX0lRX0NPTVBfVCAgICAgICAgICAgY29tcF90YWJbVFhfSVFfQ09NUF9GQ19NT0RFX05VTV1bVFhfSVFfQ09NUF9QR0FfU0xJQ0VfU0VUX05VTV07Cit9IENMMURfUkZfVFhERkVfSVFfQ09NUF9UQUJfVDsKKworI2lmIGRlZmluZWQoX19NRDkzX18pCit0eXBlZGVmIHN0cnVjdHsgICAgCisgICAga2FsX2ludDMyICAgICAgICAgICAgZ2Fpbl9lc3RfaHc7IC8qPiAgUy0zLjEwLCBlcHNpbG9uICovCisgICAga2FsX2ludDMyICAgICAgICAgICAgcGhhc2VfZXN0X2h3Oy8qPiAgUy00LjEwLCAtdGhldGEvMiwgaW4gcmFkaWFucyAqLworICAgIGthbF9pbnQxNiAgICAgICAgICAgIGZyZXFfZGVwX2ZpbHRbUlhfRkRfRklMVF9UQVBTX01BWF9OVU1dOyAvKj4gIFZhbGlkIGZvciAyLXBvaW50IG1lYXMuICovCit9IENMMURfUkZfUlhERkVfSVJSX0NPTVBfVDsKKyNlbGlmIGRlZmluZWQoX19NRDk1X18pCit0eXBlZGVmIHN0cnVjdHsgICAgCisgICAvLyBrYWxfaW50MzIgICAgICAgICAgICBnYWluX2VzdF9odzsgLyo+ICBTLTMuMTAsIGVwc2lsb24gKi8KKyAgICBrYWxfaW50OCAgICAgICAgICAgICBwaGFzZV9lc3RfaHc7Lyo+ICBTLTQuMTAsIC10aGV0YS8yLCBpbiByYWRpYW5zICovCisgICAga2FsX2ludDE2ICAgICAgICAgICAgZnJlcV9kZXBfZmlsdFtSWF9GRF9GSUxUX1RBUFNfTUFYX05VTV07IC8qPiAgVmFsaWQgZm9yIDItcG9pbnQgbWVhcy4gKi8KK30gQ0wxRF9SRl9SWERGRV9JUlJfQ09NUF9UOworI2VsaWYgKGRlZmluZWQoX19NRDk3X18pIHx8IGRlZmluZWQoX19NRDk3UF9fKSkKK3R5cGVkZWYgc3RydWN0eworICAgIGthbF9pbnQzMiAgICAgICAgICAgIHJ4X2ZpaXFfcGhhc2U7Lyo+ICBTLTQuMTAsIC10aGV0YS8yLCBpbiByYWRpYW5zICovCisgICAga2FsX2ludDE2ICAgICAgICAgICAgcnhfZmRpcV9jb2VmW1JYX0ZEX0ZJTFRfVEFQU19NQVhfTlVNXTsgLyo+ICBWYWxpZCBmb3IgMi1wb2ludCBtZWFzLiAqLworfSBDTDFEX1JGX1JYREZFX0lSUl9DT01QX1Q7CisjZW5kaWYKKwordHlwZWRlZiBzdHJ1Y3R7CisgICAgQ0wxRF9SRl9SWERGRV9JUlJfQ09NUF9UIGhwbTsKKyAgICBDTDFEX1JGX1JYREZFX0lSUl9DT01QX1QgbHBtOworfSBDTDFEX1JGX1JYREZFX0lSUl9DT01QX1BFUl9QQVRIX1Q7CisKKwordHlwZWRlZiBzdHJ1Y3R7CisgICAgQ0wxRF9SRl9SWERGRV9JUlJfQ09NUF9QRVJfUEFUSF9UIHJ4W1JYX1BBVEhfTUFYX05VTV07Cit9IENMMURfUkZfUlhERkVfSVJSX0NPTVBfUEVSX0JBTkRfVDsKKworCisKKworCisKKyNpZiBkZWZpbmVkKF9fTUQ5NV9fKQordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF91aW50OCAgICAgICAgICAgICAgICAgIGNyX3NlbDsgICAgIC8vLzwgMDogQzRSOCwgMTogQzVSNywgMjogQzZSNiwgMzogTkEKKyAgIGthbF91aW50OCAgICAgICAgICAgICAgICAgIHRhcF9zZWw7ICAgIC8vLzwgMDogOSB0YXBzLCAxOiAxNCB0YXBzCisgICBrYWxfdWludDMyICAgIGZpbHRlcl90YXBzW0NMMURfUkZfUlhERkVfUkZFUV9UQVBTX05VTV9NQVhdOyAvLy88IHM4Cit9Q0wxRF9SRl9SWERGRV9SRkVRX0NPTVBfVDsKKwordHlwZWRlZiBzdHJ1Y3R7CisKKwlDTDFEX1JGX1JYREZFX1JGRVFfQ09NUF9UIHJmZXFfaHBtOworCUNMMURfUkZfUlhERkVfUkZFUV9DT01QX1QgcmZlcV9scG07Cit9Q0wxRF9SWERGRV9SRkVRX0NPTVBfQldfVDsJCisjZW5kaWYKKyNpZiAoZGVmaW5lZChfX01EOTdfXykgfHwgZGVmaW5lZChfX01EOTdQX18pKQordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF91aW50MzIgY29lZltDTDFEX1JGX1JYREZFX1JGRVFfVEFQU19OVU1fTUFYXTsKKyAgIGthbF91aW50MzIgcG93ZXJfc2F2aW5nX21vZGU7CisgICBrYWxfdWludDMyIGN0X3NlbDsgICAgICAgICAgICAgICAgICAgICAvLy88IDA6IEM0UjgsIDE6IEM1UjcsIDI6IEM2UjYsIDM6IE5BCit9Q0wxRF9SRl9SWERGRV9SRkVRX0NPTVBfVDsKKwordHlwZWRlZiBzdHJ1Y3R7CisKKwlDTDFEX1JGX1JYREZFX1JGRVFfQ09NUF9UIHJmZXFfaHBtOworCUNMMURfUkZfUlhERkVfUkZFUV9DT01QX1QgcmZlcV9scG07Cit9Q0wxRF9SWERGRV9SRkVRX0NPTVBfQldfVDsJCisjZW5kaWYKKworCisKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfaW50MTYgZGNfaTsgLyo+ICBSRiBEQzpTNS4wLHJlc29sdXRpb24gPSA5bVYuIERGRSBEQzogUzAuMTQsIGZpeGVkIHBvaW50IHZhbHVlIGF0IFJ4IEFEQywgUnggQURDIGZ1bGwgc3dpbmcgaXMgKy8tMS42MnYgKi8KKyAgICBrYWxfaW50MTYgZGNfcTsgLyo+ICBSRiBEQzpTNS4wLHJlc29sdXRpb24gPSA5bVYuIERGRSBEQzogUzAuMTQsIGZpeGVkIHBvaW50IHZhbHVlIGF0IFJ4IEFEQywgUnggQURDIGZ1bGwgc3dpbmcgaXMgKy8tMS42MnYgKi8KK30gQ0wxRF9SRl9SWERGRV9EQ19DT01QX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgQ0wxRF9SRl9SWERGRV9EQ19DT01QX1QgaHBtW0NMMURfUkZfUlhERkVfRENfVElBX0dBSU5fSFBNX1NURVBTXVtDTDFEX1JGX1JYREZFX0RDX1BHQV9HQUlOX0hQTV9TVEVQU107CisgICAgQ0wxRF9SRl9SWERGRV9EQ19DT01QX1QgbHBtW0NMMURfUkZfUlhERkVfRENfVElBX0dBSU5fTFBNX1NURVBTXVtDTDFEX1JGX1JYREZFX0RDX1BHQV9HQUlOX0xQTV9TVEVQU107Cit9IENMMURfUkZfUlhERkVfRENfQ09NUF9QRVJfUEFUSF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgQ0wxRF9SRl9SWERGRV9EQ19DT01QX1BFUl9QQVRIX1QgcnhbUlhfUEFUSF9NQVhfTlVNXTsKK30gQ0wxRF9SRl9SWERGRV9EQ19DT01QX1BFUl9CQU5EX1Q7CisKKworLyogVFJBTlNDRUlWRVIgUEFSVCAqLworLyoqIFBPQyAgcHJvY2Vzc2luZyByZXN1bHQgc3RydWN0dXJlIGRlZmluaXRpb24qLworI2lmIElTX0NMMURfUkZfVFJJTklUWTJMIHx8IElTX0NMMURfUkZfVFJJTklUWUxFMgordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF91aW50MzIgaV9pZHhfb3B0OyAvKj4gb3B0aW11bSBnYXRlIGJpYXMgb24gSSBjaGFubmVsICAqLworICAga2FsX3VpbnQzMiBxX2lkeF9vcHQ7IC8qPiBvcHRpbXVtIGdhdGUgYmlhcyBvbiBRIGNoYW5uZWwgICovCit9UlhfSUlQMl9DQUxfUkVTVUxUX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgIGthbF91aW50MzIgdHhfbG9fY3c3MTQ7ICAgICAvKiBUWCBMTyBDYWwgKi8KK31UWF9MT19DQUxfUkVTVUxUX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBrYWxfaW50MTYgdHhfYWJiX2NzZWwyOworICAga2FsX2ludDE2IHR4X2FiYl9jc2VsMTsKKyAgIGthbF9pbnQxNiB0eF9hYmJfcnNlbDsKKyAgIC8vUkNGIHVzZSBkZWZhdWx0IHZhbHVlCisgICBrYWxfaW50MTYgdHhfcmNmX2NzZWxfNGE7CisgICBrYWxfaW50MTYgdHhfcmNmX2NzZWxfMmE7CisgICBrYWxfaW50MTYgdHhfcmNmX2NzZWxfMWE7CisgICBrYWxfaW50MTYgdHhfcmNmX3JzZWw7Cit9VFhfUkNfQ0FMX1JFU1VMVF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX2ludDMyIHR4X2NvYXJzZWRjX2k7CisgICBrYWxfaW50MzIgdHhfY29hcnNlZGNfcTsgICAKK31UWF9jb2Fyc2VfRENfUkVTVUxUX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBrYWxfdWludDggdHhfcGdhX2N0dW5lOworICAga2FsX3VpbnQ4IHR4X21vZF9jdHVuZTsKK31UWF9DQVBfQ0FMX1JFU1VMVF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX3VpbnQzMiBtcnhfY2Rjb2NfaTsgIAorICAga2FsX3VpbnQzMiBtcnhfY2Rjb2NfcTsKK31ERVRfQ0RDT0NfQ0FMX1JFU1VMVF9UOworCit0eXBlZGVmIHN0cnVjdHsgICAgCisgICAga2FsX2ludDE2IGdhaW5fZXN0OyAgLyo+ICBTLTMuMTAgKi8KKyAgICBrYWxfaW50MTYgcGhhc2VfZXN0OyAvKj4gIFMtNC4xMCAqLworfURFVF9JUV9DQUxfUkVTVUxUX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAvKiogVGhlIGVzdGltYXRlIERDIG9mZnNldCBpbiBTMC4xMSAqLworICAga2FsX2ludDE2IGRjb19lc3RfaTsgCisgICBrYWxfaW50MTYgZGNvX2VzdF9xOyAKK31ERVRfRENfQ0FMX1JFU1VMVF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX3VpbnQzMiB0eF9kZXRfY3c4MTc7IC8qIEJpdDE5LUJpdDEyIE5jc2VsICovCit9REVUX1NQQVJFU19UOworCisvKiogUlhEQyBUYWJsZSBjb250ZXh0ICovCit0eXBlZGVmIHN0cnVjdCAKK3sKKyAga2FsX3VpbnQxNiAgcnhEY29jSTsgIC8qKiBTNS4wLHJlc29sdXRpb24gPSA5bVYgKi8KKyAga2FsX3VpbnQxNiAgcnhEY29jUTsgIC8qKiBTNS4wLHJlc29sdXRpb24gPSA5bVYgKi8KK31DTDFEX1JGX0RFVl9QT0NfUkZfUlhfRENPQ19UOyAvL0NMMURfUkZfREVWX1JGX1JYX0RDT0NfVAorCit0eXBlZGVmIHN0cnVjdCAKK3sKKyAgIC8qKiBUaGUgZXN0aW1hdGUgREMgb2Zmc2V0LCBUeFBhdGg6UzAuMTQsIFR4IERBQyBmdWxsIHN3aW5nIGlzICsvLTEuMDV2LiBEZXRQYXRoOlMwLjExLCBkZXQgQURDIGZ1bGwgc3dpbmcgaXMgKy8tMC42diwgMTNNSHogY2xvY2sgKi8KKyAgIGthbF9pbnQxNiAgICBkY29fZXN0X2k7IAorICAga2FsX2ludDE2ICAgIGRjb19lc3RfcTsgCisgICAvKiogVGhlIGVzdGltYXRlIHBoYXNlIGVycm9yLCBUeFBhdGg6Uy00LjEwLCAtdGhldGEvMiwgaW4gcmFkaWFucy4gRGV0UGF0aDpTLTQuMTAsIC10aGV0YS8yLCBpbiByYWRpYW5zICovCisgICBrYWxfaW50MTYgICAgcGhhc2VfZXN0OyAKKyAgIC8qKiBUaGUgZXN0aW1hdGUgZ2FpbiBlcnJvciwgVHhQYXRoOlMtNC4xMCwgZXBzaWxvbi8yLiBEZXRQYXRoOlMtMy4xMCwgZXBzaWxvbiAqLworICAga2FsX2ludDE2ICAgIGdhaW5fZXN0OyAKK31DTDFEX1JGX0RFVl9QT0NfSVFfRENfQ0FMSUJfUEFSTV9UOyAvL0NMMURfUkZfREVWX0lRX0RDX0NBTElCX1BBUk1fVAorCit0eXBlZGVmIHN0cnVjdCAKK3sKKyAga2FsX2ludDE2ICAgcGdhX2dhaW47ICAgIC8qKiBUWF9QR0EgcmVsYXRpdmUgZ2FpbiB3aXRoIEcwLCAxLzMyZEIgdW5pdCAqLworfUNMMURfUkZfREVWX1BPQ19SRl9UWF9BR0NfVEFCTEVfVDsKKworLyoqIFRYIGFuZCBERVQgcGF0aCBJUSBpbWJhbGFuY2UgYW5kIERDIFBPQyByZXN1bHQgc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdHsgICAgCisgICBrYWxfaW50MTYgZ2Fpbl9lc3Q7ICAvKj4gIFMtMy4xMCwgZXBzaWxvbiAqLworICAga2FsX2ludDE2IHBoYXNlX2VzdDsgLyo+ICBTLTQuMTAsIC10aGV0YS8yLCBpbiByYWRpYW5zICovCit9Q0wxRF9SRl9ERVZfUE9DX0RFVF9JUV9DQUxfUEFSTV9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgLyoqIFRoZSBlc3RpbWF0ZSBEQyBvZmZzZXQgaW4gUzAuMTEsIGRldCBBREMgZnVsbCBzd2luZyBpcyArLy0wLjZ2LCB0aGUgY2xvY2sgaXMgMTNNSHogKi8KKyAgIGthbF9pbnQxNiBkY29fZXN0X2k7IAorICAga2FsX2ludDE2IGRjb19lc3RfcTsgCit9Q0wxRF9SRl9ERVZfUE9DX0RFVF9EQ19DQUxfUEFSTV9UOworCit0eXBlZGVmIHN0cnVjdCB7CisgICBrYWxfdWludDMyIGRjOyAgLypSRiBEQyBvZmZzZXQgaW4gUzUuMCovIC8qZGlnaXRhbCBEQyBvZmZzZXQgaW4gUzAuMTQqLworfUNMMURfUkZfREVWX0RDX1Q7CisKK3R5cGVkZWYgc3RydWN0IHsKKyAgIENMMURfUkZfREVWX0RDX1QgRENfREFUQV9JX0hQTVtDTDFEX1JGX0RFVl9USUFfTlVNXVtDTDFEX1JGX0lGX01BWF9OVU1dOworICAgQ0wxRF9SRl9ERVZfRENfVCBEQ19EQVRBX0lfTFBNW0NMMURfUkZfREVWX1RJQV9OVU1dW0NMMURfUkZfSUZfTUFYX05VTV07CisgICBDTDFEX1JGX0RFVl9EQ19UIERDX0RBVEFfUV9IUE1bQ0wxRF9SRl9ERVZfVElBX05VTV1bQ0wxRF9SRl9JRl9NQVhfTlVNXTsKKyAgIENMMURfUkZfREVWX0RDX1QgRENfREFUQV9RX0xQTVtDTDFEX1JGX0RFVl9USUFfTlVNXVtDTDFEX1JGX0lGX01BWF9OVU1dOworfSBDTDFEX1JGX0RFVl9EQ19UQkxfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKy8qIFJYIElSUiwgY29uZmlnIGluIFJYREZFICovCisgICAgLy9DTDFEX1JGX0RFVl9ERkVfUlhfSVJSX1QgcnhfaXJyX2hwbVtSWF9QQVRIX01BWF9OVU1dOworICAgIC8vQ0wxRF9SRl9ERVZfREZFX1JYX0lSUl9UIHJ4X2lycl9scG1bUlhfUEFUSF9NQVhfTlVNXTsKKworLyogUlggREMgb2YgREZFKi8KKyAgICAvL0NMMURfUkZfREVWX0RGRV9SWF9EQ19UIGRmZV9yeF9kY19ocG1bUlhfUEFUSF9NQVhfTlVNXVtDTDFEX1JGX0RFVl9QT0NfUlhBR0NfVEFCTEVfTUFYX0lOREVYXTsKKyAgICAvL0NMMURfUkZfREVWX0RGRV9SWF9EQ19UIGRmZV9yeF9kY19scG1bUlhfUEFUSF9NQVhfTlVNXVtDTDFEX1JGX0RFVl9QT0NfUlhBR0NfVEFCTEVfTUFYX0lOREVYXTsKKworLyogUlggREMgb2YgUkYqLworICAgQ0wxRF9SRl9ERVZfRENfVEJMX1QgcmZfcnhfZGNbUlhfUEFUSF9NQVhfTlVNXTsvL21haW4vZGl2L3NlYworCisvKiBSWCBJSVAyLCBjb25maWcgaW4gUkYgKi8KKyAgIFJYX0lJUDJfQ0FMX1JFU1VMVF9UIHJ4X2lpcDJfY2FsX3Jlc3VsdFtSWF9QQVRIX01BWF9OVU1dOy8vbWFpbi9kaXYvc2VjCit9UlhfUE9DX1RBQkxFX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisvKiBUWCBBQkIgUkMsIGNvbmZpZyBpbiBSRiAqLworICAgVFhfUkNfQ0FMX1JFU1VMVF9UIHR4X3JjX2NhbF9yZXN1bHQ7Ly9SIHVzZSBkZWZhdWx0IHZhbHVlCisKKy8qIFRYIEROTCAqLworICAgQ0wxRF9SRl9ERVZfUE9DX1JGX1RYX0FHQ19UQUJMRV9UIHR4X2RubF9jYWxfcmVzdWx0W0NMMURfUkZfREVWX1BPQ19UWF9QR0FfVEFCTEVfU0laRV07CisKKy8qIFRYIENhcCBUdW5pbmcsIGNvbmZpZyBpbiBSRiAqLworICAgVFhfQ0FQX0NBTF9SRVNVTFRfVCB0eF9jYXBfY2FsX3Jlc3VsdDsKKworICAgLy9rYWxfaW50MTYgICAgICAgICAgIHR4X3BnYV9waGFzZV9zdGVwOworCit9VFhfUE9DX1RBQkxFX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisvKiBERVQgY29hcnNlIERDT0MsIGNvbmZpZyBpbiBSRiAqLworICAgREVUX0NEQ09DX0NBTF9SRVNVTFRfVCBkZXRfY2Rjb2NfY2FsX3Jlc3VsdFtDTDFEX1JGX0RFVF9QR0FfR0FJTl9TVEVQU107CisgICBERVRfQ0RDT0NfQ0FMX1JFU1VMVF9UIGRldF9jZGNvY190eGxiX2NhbF9yZXN1bHRbQ0wxRF9SRl9ERVRfUEdBX0dBSU5fU1RFUFNdOworCisvKiBERVQgc3BhcmUgKi8KKyAgIC8vREVUX1NQQVJFU19UICBkZXRfc3BhcmVzOworCisvKiBNUlggUEdBJlRaQSBDdHVuZSAqLworICAga2FsX3VpbnQ4IG1yeF9wZ2FfY3R1bmU7Ly91c2UgZGVmYXVsdCB2YWx1ZQorICAga2FsX3VpbnQ4IG1yeF90emFfY3R1bmU7Ly91c2UgZGVmYXVsdCB2YWx1ZQorCit9REVUX1BPQ19UQUJMRV9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIFJYX1BPQ19UQUJMRV9UICByeF9wb2NfdGFibGU7CisgICAgVFhfUE9DX1RBQkxFX1QgIHR4X3BvY190YWJsZTsKKyAgICBERVRfUE9DX1RBQkxFX1QgZGV0X3BvY190YWJsZTsKK31DTDFEX1JGX1BPQ19ERVZfRklOQUxfUkVTVUxUX1Q7CisKKyNlbGlmIElTX0NMMURfUkZfVFJJTklUWUwKK3R5cGVkZWYgc3RydWN0Cit7CisgICBrYWxfdWludDMyIGlfaWR4X29wdDsgLyo+IG9wdGltdW0gZ2F0ZSBiaWFzIG9uIEkgY2hhbm5lbCAgKi8KKyAgIGthbF91aW50MzIgcV9pZHhfb3B0OyAvKj4gb3B0aW11bSBnYXRlIGJpYXMgb24gUSBjaGFubmVsICAqLworfVJYX0lJUDJfQ0FMX1JFU1VMVF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICBrYWxfdWludDMyIHR4X2xvX2N3NzE0OyAgICAgLyogVFggTE8gQ2FsICovCit9VFhfTE9fQ0FMX1JFU1VMVF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX2ludDE2IHR4X2FiYl9jc2VsMjsKKyAgIGthbF9pbnQxNiB0eF9hYmJfY3NlbDE7CisgICBrYWxfaW50MTYgdHhfYWJiX3JzZWw7CisgICAvL1JDRiB1c2UgZGVmYXVsdCB2YWx1ZQorICAga2FsX2ludDE2IHR4X3JjZl9jc2VsXzRhOworICAga2FsX2ludDE2IHR4X3JjZl9jc2VsXzJhOworICAga2FsX2ludDE2IHR4X3JjZl9jc2VsXzFhOworICAga2FsX2ludDE2IHR4X3JjZl9yc2VsOworfVRYX1JDX0NBTF9SRVNVTFRfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF9pbnQzMiB0eF9jb2Fyc2VkY19pOworICAga2FsX2ludDMyIHR4X2NvYXJzZWRjX3E7ICAgCit9VFhfY29hcnNlX0RDX1JFU1VMVF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX3VpbnQ4IHR4X3BnYV9jdHVuZTsKKyAgIGthbF91aW50OCB0eF9tb2RfY3R1bmU7Cit9VFhfQ0FQX0NBTF9SRVNVTFRfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF91aW50MzIgbXJ4X2NkY29jX2k7ICAKKyAgIGthbF91aW50MzIgbXJ4X2NkY29jX3E7Cit9REVUX0NEQ09DX0NBTF9SRVNVTFRfVDsKKwordHlwZWRlZiBzdHJ1Y3R7ICAgIAorICAgIGthbF9pbnQxNiBnYWluX2VzdDsgIC8qPiAgUy0zLjEwICovCisgICAga2FsX2ludDE2IHBoYXNlX2VzdDsgLyo+ICBTLTQuMTAgKi8KK31ERVRfSVFfQ0FMX1JFU1VMVF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgLyoqIFRoZSBlc3RpbWF0ZSBEQyBvZmZzZXQgaW4gUzAuMTEgKi8KKyAgIGthbF9pbnQxNiBkY29fZXN0X2k7IAorICAga2FsX2ludDE2IGRjb19lc3RfcTsgCit9REVUX0RDX0NBTF9SRVNVTFRfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF91aW50MzIgdHhfZGV0X2N3ODE3OyAvKiBCaXQxOS1CaXQxMiBOY3NlbCAqLworfURFVF9TUEFSRVNfVDsKKworLyoqIFJYREMgVGFibGUgY29udGV4dCAqLwordHlwZWRlZiBzdHJ1Y3QgCit7CisgIGthbF91aW50MTYgIHJ4RGNvY0k7ICAvKiogUzUuMCxyZXNvbHV0aW9uID0gOW1WICovCisgIGthbF91aW50MTYgIHJ4RGNvY1E7ICAvKiogUzUuMCxyZXNvbHV0aW9uID0gOW1WICovCit9Q0wxRF9SRl9ERVZfUE9DX1JGX1JYX0RDT0NfVDsgLy9DTDFEX1JGX0RFVl9SRl9SWF9EQ09DX1QKKwordHlwZWRlZiBzdHJ1Y3QgCit7CisgICAvKiogVGhlIGVzdGltYXRlIERDIG9mZnNldCwgVHhQYXRoOlMwLjE0LCBUeCBEQUMgZnVsbCBzd2luZyBpcyArLy0xLjA1di4gRGV0UGF0aDpTMC4xMSwgZGV0IEFEQyBmdWxsIHN3aW5nIGlzICsvLTAuNnYsIDEzTUh6IGNsb2NrICovCisgICBrYWxfaW50MTYgICAgZGNvX2VzdF9pOyAKKyAgIGthbF9pbnQxNiAgICBkY29fZXN0X3E7IAorICAgLyoqIFRoZSBlc3RpbWF0ZSBwaGFzZSBlcnJvciwgVHhQYXRoOlMtNC4xMCwgLXRoZXRhLzIsIGluIHJhZGlhbnMuIERldFBhdGg6Uy00LjEwLCAtdGhldGEvMiwgaW4gcmFkaWFucyAqLworICAga2FsX2ludDE2ICAgIHBoYXNlX2VzdDsgCisgICAvKiogVGhlIGVzdGltYXRlIGdhaW4gZXJyb3IsIFR4UGF0aDpTLTQuMTAsIGVwc2lsb24vMi4gRGV0UGF0aDpTLTMuMTAsIGVwc2lsb24gKi8KKyAgIGthbF9pbnQxNiAgICBnYWluX2VzdDsgCit9Q0wxRF9SRl9ERVZfUE9DX0lRX0RDX0NBTElCX1BBUk1fVDsgLy9DTDFEX1JGX0RFVl9JUV9EQ19DQUxJQl9QQVJNX1QKKwordHlwZWRlZiBzdHJ1Y3QgCit7CisgIGthbF9pbnQxNiAgIHBnYV9nYWluOyAgICAvKiogVFhfUEdBIHJlbGF0aXZlIGdhaW4gd2l0aCBHMCwgMS8zMmRCIHVuaXQgKi8KK31DTDFEX1JGX0RFVl9QT0NfUkZfVFhfQUdDX1RBQkxFX1Q7CisKKy8qKiBUWCBhbmQgREVUIHBhdGggSVEgaW1iYWxhbmNlIGFuZCBEQyBQT0MgcmVzdWx0IHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3R7ICAgIAorICAga2FsX2ludDE2IGdhaW5fZXN0OyAgLyo+ICBTLTMuMTAsIGVwc2lsb24gKi8KKyAgIGthbF9pbnQxNiBwaGFzZV9lc3Q7IC8qPiAgUy00LjEwLCAtdGhldGEvMiwgaW4gcmFkaWFucyAqLworfUNMMURfUkZfREVWX1BPQ19ERVRfSVFfQ0FMX1BBUk1fVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIC8qKiBUaGUgZXN0aW1hdGUgREMgb2Zmc2V0IGluIFMwLjExLCBkZXQgQURDIGZ1bGwgc3dpbmcgaXMgKy8tMC42diwgdGhlIGNsb2NrIGlzIDEzTUh6ICovCisgICBrYWxfaW50MTYgZGNvX2VzdF9pOyAKKyAgIGthbF9pbnQxNiBkY29fZXN0X3E7IAorfUNMMURfUkZfREVWX1BPQ19ERVRfRENfQ0FMX1BBUk1fVDsKKwordHlwZWRlZiBzdHJ1Y3QgeworICAga2FsX3VpbnQzMiBkYzsgIC8qUkYgREMgb2Zmc2V0IGluIFM1LjAqLyAvKmRpZ2l0YWwgREMgb2Zmc2V0IGluIFMwLjE0Ki8KK31DTDFEX1JGX0RFVl9EQ19UOworCit0eXBlZGVmIHN0cnVjdCB7CisgICBDTDFEX1JGX0RFVl9EQ19UIERDX0RBVEFfSV9IUE1bQ0wxRF9SRl9ERVZfVElBX05VTV1bQ0wxRF9SRl9JRl9NQVhfTlVNXTsKKyAgIENMMURfUkZfREVWX0RDX1QgRENfREFUQV9JX0xQTVtDTDFEX1JGX0RFVl9USUFfTlVNXVtDTDFEX1JGX0lGX01BWF9OVU1dOworICAgQ0wxRF9SRl9ERVZfRENfVCBEQ19EQVRBX1FfSFBNW0NMMURfUkZfREVWX1RJQV9OVU1dW0NMMURfUkZfSUZfTUFYX05VTV07CisgICBDTDFEX1JGX0RFVl9EQ19UIERDX0RBVEFfUV9MUE1bQ0wxRF9SRl9ERVZfVElBX05VTV1bQ0wxRF9SRl9JRl9NQVhfTlVNXTsKK30gQ0wxRF9SRl9ERVZfRENfVEJMX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisvKiBSWCBJUlIsIGNvbmZpZyBpbiBSWERGRSAqLworICAgIC8vQ0wxRF9SRl9ERVZfREZFX1JYX0lSUl9UIHJ4X2lycl9ocG1bUlhfUEFUSF9NQVhfTlVNXTsKKyAgICAvL0NMMURfUkZfREVWX0RGRV9SWF9JUlJfVCByeF9pcnJfbHBtW1JYX1BBVEhfTUFYX05VTV07CisKKy8qIFJYIERDIG9mIERGRSovCisgICAgLy9DTDFEX1JGX0RFVl9ERkVfUlhfRENfVCBkZmVfcnhfZGNfaHBtW1JYX1BBVEhfTUFYX05VTV1bQ0wxRF9SRl9ERVZfUE9DX1JYQUdDX1RBQkxFX01BWF9JTkRFWF07CisgICAgLy9DTDFEX1JGX0RFVl9ERkVfUlhfRENfVCBkZmVfcnhfZGNfbHBtW1JYX1BBVEhfTUFYX05VTV1bQ0wxRF9SRl9ERVZfUE9DX1JYQUdDX1RBQkxFX01BWF9JTkRFWF07CisKKy8qIFJYIERDIG9mIFJGKi8KKyAgIENMMURfUkZfREVWX0RDX1RCTF9UIHJmX3J4X2RjW1JYX1BBVEhfTUFYX05VTV07Ly9tYWluL2Rpdi9zZWMKKworLyogUlggSUlQMiwgY29uZmlnIGluIFJGICovCisgICBSWF9JSVAyX0NBTF9SRVNVTFRfVCByeF9paXAyX2NhbF9yZXN1bHRbUlhfUEFUSF9NQVhfTlVNXTsvL21haW4vZGl2L3NlYworfVJYX1BPQ19UQUJMRV9UOworCit0eXBlZGVmIHN0cnVjdAoreworLyogVFggQUJCIFJDLCBjb25maWcgaW4gUkYgKi8KKyAgIFRYX1JDX0NBTF9SRVNVTFRfVCB0eF9yY19jYWxfcmVzdWx0Oy8vUiB1c2UgZGVmYXVsdCB2YWx1ZQorCisvKiBUWCBETkwgKi8KKyAgIENMMURfUkZfREVWX1BPQ19SRl9UWF9BR0NfVEFCTEVfVCB0eF9kbmxfY2FsX3Jlc3VsdFtDTDFEX1JGX0RFVl9QT0NfVFhfUEdBX1RBQkxFX1NJWkVdOworCisvKiBUWCBDYXAgVHVuaW5nLCBjb25maWcgaW4gUkYgKi8KKyAgIFRYX0NBUF9DQUxfUkVTVUxUX1QgdHhfY2FwX2NhbF9yZXN1bHQ7CisKKyAgIC8va2FsX2ludDE2ICAgICAgICAgICB0eF9wZ2FfcGhhc2Vfc3RlcDsKKworfVRYX1BPQ19UQUJMRV9UOworCit0eXBlZGVmIHN0cnVjdAoreworLyogREVUIGNvYXJzZSBEQ09DLCBjb25maWcgaW4gUkYgKi8KKyAgIERFVF9DRENPQ19DQUxfUkVTVUxUX1QgZGV0X2NkY29jX2NhbF9yZXN1bHRbQ0wxRF9SRl9ERVRfUEdBX0dBSU5fU1RFUFNdOworCisvKiBERVQgc3BhcmUgKi8KKyAgIC8vREVUX1NQQVJFU19UICBkZXRfc3BhcmVzOworCisvKiBNUlggUEdBJlRaQSBDdHVuZSAqLworICAga2FsX3VpbnQ4IG1yeF9wZ2FfY3R1bmU7Ly91c2UgZGVmYXVsdCB2YWx1ZQorICAga2FsX3VpbnQ4IG1yeF90emFfY3R1bmU7Ly91c2UgZGVmYXVsdCB2YWx1ZQorCit9REVUX1BPQ19UQUJMRV9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIFJYX1BPQ19UQUJMRV9UICByeF9wb2NfdGFibGU7CisgICAgVFhfUE9DX1RBQkxFX1QgIHR4X3BvY190YWJsZTsKKyAgICBERVRfUE9DX1RBQkxFX1QgZGV0X3BvY190YWJsZTsKK31DTDFEX1JGX1BPQ19ERVZfRklOQUxfUkVTVUxUX1Q7CisKKyNlbGlmIElTX0NMMURfUkZfVFJJTklUWUUxIHx8IElTX0NMMURfUkZfQ09MVU1CVVNFMS8vdGVtcCBmb3IgR2VuOTcgd2FybmluZwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF91aW50MzIgICAgICAgICAgIGlfaWR4X29wdDsgLyo+IG9wdGltdW0gZ2F0ZSBiaWFzIG9uIEkgY2hhbm5lbCAgKi8KKyAgIGthbF91aW50MzIgICAgICAgICAgIHFfaWR4X29wdDsgLyo+IG9wdGltdW0gZ2F0ZSBiaWFzIG9uIFEgY2hhbm5lbCAgKi8KK31SWF9JSVAyX0NBTF9SRVNVTFRfQ1dfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAga2FsX3VpbnQzMiB0eF9sb19jdzcxNDsgICAgIC8qIFRYIExPIENhbCAqLworfVRYX0xPX0NBTF9SRVNVTFRfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF91aW50MTYgdHhfYWJiX2NzZWw7CisgICBrYWxfdWludDE2IHR4X2FiYl9yc2VsOworICAgLy9SQ0YgdXNlIGRlZmF1bHQgdmFsdWUKKyAgIGthbF91aW50MTYgdHhfcmNmX2NzZWw7CisgICBrYWxfdWludDE2IHR4X3JjZl9jc2VsXzFiOworICAga2FsX3VpbnQxNiB0eF9yY2ZfY3NlbF8yYTsKKyAgIGthbF91aW50MTYgdHhfcmNmX3JzZWw7Cit9VFhfUkNfQ0FMX1JFU1VMVF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX2ludDMyIHR4X2NvYXJzZWRjX2k7CisgICBrYWxfaW50MzIgdHhfY29hcnNlZGNfcTsgICAKK31UWF9jb2Fyc2VfRENfUkVTVUxUX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBrYWxfdWludDggdHhfcGdhX2N0dW5lOworICAga2FsX3VpbnQ4IHR4X21vZF9jdHVuZTsKK31UWF9DQVBfQ0FMX1JFU1VMVF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX3VpbnQzMiBtcnhfY2Rjb2NpX3NpZ247ICAvKiBNUlggY29hcnNlIERDIG9mZnNldCBJIGNoYW5uZWwgc2lnbgkJKi8KKyAgIGthbF91aW50MzIgbXJ4X2NkY29jaV9tYWc7CS8qIE1SWCBjb2Fyc2UgREMgb2Zmc2V0IEkgY2hhbm5lbCBtYWduaXR1ZGUgKi8KKyAgIGthbF91aW50MzIgbXJ4X2NkY29jcV9zaWduOyAgLyogTVJYIGNvYXJzZSBEQyBvZmZzZXQgUSBjaGFubmVsIHNpZ24JCSovCisgICBrYWxfdWludDMyIG1yeF9jZGNvY3FfbWFnOwkvKiBNUlggY29hcnNlIERDIG9mZnNldCBRIGNoYW5uZWwgbWFnbml0dWRlICovCit9REVUX0NEQ09DX0NBTF9SRVNVTFRfVDsKKwordHlwZWRlZiBzdHJ1Y3R7ICAgIAorICAgIGthbF9pbnQxNiBnYWluX2VzdDsgIC8qPiAgUy0zLjEwICovCisgICAga2FsX2ludDE2IHBoYXNlX2VzdDsgLyo+ICBTLTQuMTAgKi8KK31ERVRfSVFfQ0FMX1JFU1VMVF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgLyoqIFRoZSBlc3RpbWF0ZSBEQyBvZmZzZXQgaW4gUzAuMTEgKi8KKyAgIGthbF9pbnQxNiBkY29fZXN0X2k7IAorICAga2FsX2ludDE2IGRjb19lc3RfcTsgCit9REVUX0RDX0NBTF9SRVNVTFRfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF91aW50MzIgdHhfZGV0X2N3ODE3OyAvKiBCaXQxOS1CaXQxMiBOY3NlbCAqLworfURFVF9TUEFSRVNfVDsKKworLyoqIFJYREMgVGFibGUgY29udGV4dCAqLwordHlwZWRlZiBzdHJ1Y3QgCit7CisgIGthbF91aW50MTYgIHJ4RGNvY0k7ICAvKiogUzUuMCxyZXNvbHV0aW9uID0gOW1WICovCisgIGthbF91aW50MTYgIHJ4RGNvY1E7ICAvKiogUzUuMCxyZXNvbHV0aW9uID0gOW1WICovCit9Q0wxRF9SRl9ERVZfUE9DX1JGX1JYX0RDT0NfVDsgLy9DTDFEX1JGX0RFVl9SRl9SWF9EQ09DX1QKKwordHlwZWRlZiBzdHJ1Y3QgCit7CisgICAvKiogVGhlIGVzdGltYXRlIERDIG9mZnNldCwgVHhQYXRoOlMwLjE0LCBUeCBEQUMgZnVsbCBzd2luZyBpcyArLy0xLjA1di4gRGV0UGF0aDpTMC4xMSwgZGV0IEFEQyBmdWxsIHN3aW5nIGlzICsvLTAuNnYsIDEzTUh6IGNsb2NrICovCisgICBrYWxfaW50MTYgICAgZGNvX2VzdF9pOyAKKyAgIGthbF9pbnQxNiAgICBkY29fZXN0X3E7IAorICAgLyoqIFRoZSBlc3RpbWF0ZSBwaGFzZSBlcnJvciwgVHhQYXRoOlMtNC4xMCwgLXRoZXRhLzIsIGluIHJhZGlhbnMuIERldFBhdGg6Uy00LjEwLCAtdGhldGEvMiwgaW4gcmFkaWFucyAqLworICAga2FsX2ludDE2ICAgIHBoYXNlX2VzdDsgCisgICAvKiogVGhlIGVzdGltYXRlIGdhaW4gZXJyb3IsIFR4UGF0aDpTLTQuMTAsIGVwc2lsb24vMi4gRGV0UGF0aDpTLTMuMTAsIGVwc2lsb24gKi8KKyAgIGthbF9pbnQxNiAgICBnYWluX2VzdDsgCit9Q0wxRF9SRl9ERVZfUE9DX0lRX0RDX0NBTElCX1BBUk1fVDsgLy9DTDFEX1JGX0RFVl9JUV9EQ19DQUxJQl9QQVJNX1QKKwordHlwZWRlZiBzdHJ1Y3QgCit7CisgIGthbF9pbnQxNiAgIHBnYV9nYWluOyAgICAvKiogVFhfUEdBIHJlbGF0aXZlIGdhaW4gd2l0aCBHMCwgMS8zMmRCIHVuaXQgKi8KK31DTDFEX1JGX0RFVl9QT0NfUkZfVFhfQUdDX1RBQkxFX1Q7CisKKy8qKiBUWCBhbmQgREVUIHBhdGggSVEgaW1iYWxhbmNlIGFuZCBEQyBQT0MgcmVzdWx0IHN0cnVjdHVyZSAqLwordHlwZWRlZiBzdHJ1Y3R7ICAgIAorICAga2FsX2ludDE2IGdhaW5fZXN0OyAgLyo+ICBTLTMuMTAsIGVwc2lsb24gKi8KKyAgIGthbF9pbnQxNiBwaGFzZV9lc3Q7IC8qPiAgUy00LjEwLCAtdGhldGEvMiwgaW4gcmFkaWFucyAqLworfUNMMURfUkZfREVWX1BPQ19ERVRfSVFfQ0FMX1BBUk1fVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIC8qKiBUaGUgZXN0aW1hdGUgREMgb2Zmc2V0IGluIFMwLjExLCBkZXQgQURDIGZ1bGwgc3dpbmcgaXMgKy8tMC42diwgdGhlIGNsb2NrIGlzIDEzTUh6ICovCisgICBrYWxfaW50MTYgZGNvX2VzdF9pOyAKKyAgIGthbF9pbnQxNiBkY29fZXN0X3E7IAorfUNMMURfUkZfREVWX1BPQ19ERVRfRENfQ0FMX1BBUk1fVDsKKwordHlwZWRlZiBzdHJ1Y3QgeworICAga2FsX3VpbnQzMiBkYzsgIC8qUkYgREMgb2Zmc2V0IGluIFM1LjAqLyAvKmRpZ2l0YWwgREMgb2Zmc2V0IGluIFMwLjE0Ki8KK31DTDFEX1JGX0RFVl9EQ19UOworCit0eXBlZGVmIHN0cnVjdCB7CisgICBDTDFEX1JGX0RFVl9EQ19UIERDX0RBVEFfSV9IUE1bQ0wxRF9SRl9ERVZfVElBX05VTV1bQ0wxRF9SRl9JRl9NQVhfTlVNXTsKKyAgIENMMURfUkZfREVWX0RDX1QgRENfREFUQV9JX0xQTVtDTDFEX1JGX0RFVl9USUFfTlVNXVtDTDFEX1JGX0lGX01BWF9OVU1dOworICAgQ0wxRF9SRl9ERVZfRENfVCBEQ19EQVRBX1FfSFBNW0NMMURfUkZfREVWX1RJQV9OVU1dW0NMMURfUkZfSUZfTUFYX05VTV07CisgICBDTDFEX1JGX0RFVl9EQ19UIERDX0RBVEFfUV9MUE1bQ0wxRF9SRl9ERVZfVElBX05VTV1bQ0wxRF9SRl9JRl9NQVhfTlVNXTsKK30gQ0wxRF9SRl9ERVZfRENfVEJMX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisvKiBSWCBJUlIsIGNvbmZpZyBpbiBSWERGRSAqLworICAgIC8vQ0wxRF9SRl9ERVZfREZFX1JYX0lSUl9UIHJ4X2lycl9ocG1bUlhfUEFUSF9NQVhfTlVNXTsKKyAgICAvL0NMMURfUkZfREVWX0RGRV9SWF9JUlJfVCByeF9pcnJfbHBtW1JYX1BBVEhfTUFYX05VTV07CisKKy8qIFJYIERDIG9mIERGRSovCisgICAgLy9DTDFEX1JGX0RFVl9ERkVfUlhfRENfVCBkZmVfcnhfZGNfaHBtW1JYX1BBVEhfTUFYX05VTV1bQ0wxRF9SRl9ERVZfUE9DX1JYQUdDX1RBQkxFX01BWF9JTkRFWF07CisgICAgLy9DTDFEX1JGX0RFVl9ERkVfUlhfRENfVCBkZmVfcnhfZGNfbHBtW1JYX1BBVEhfTUFYX05VTV1bQ0wxRF9SRl9ERVZfUE9DX1JYQUdDX1RBQkxFX01BWF9JTkRFWF07CisKKy8qIFJYIERDIG9mIFJGKi8KKyAgIENMMURfUkZfREVWX0RDX1RCTF9UICAgICAgICAgcmZfcnhfZGNbM107Ly9FZHdpbiBUQkQKKworLyogUlggSUlQMiwgY29uZmlnIGluIFJGICovCisgICBSWF9JSVAyX0NBTF9SRVNVTFRfQ1dfVCByeF9paXAyX2NhbF9yZXN1bHRbMl07Ly9FZHdpbiBUQkQKK31SWF9QT0NfVEFCTEVfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKy8qIFRYIEFCQiBSQywgY29uZmlnIGluIFJGICovCisgICBUWF9SQ19DQUxfUkVTVUxUX1QgdHhfcmNfY2FsX3Jlc3VsdDsvL1IgdXNlIGRlZmF1bHQgdmFsdWUKKworLyogVFggRE5MICovCisgICBDTDFEX1JGX0RFVl9QT0NfUkZfVFhfQUdDX1RBQkxFX1QgdHhfZG5sX2NhbF9yZXN1bHRbQ0wxRF9SRl9ERVZfUE9DX1RYX1BHQV9UQUJMRV9TSVpFXTsKKworLyogVFggQ2FwIFR1bmluZywgY29uZmlnIGluIFJGICovCisgICBUWF9DQVBfQ0FMX1JFU1VMVF9UIHR4X2NhcF9jYWxfcmVzdWx0OworCisgICBrYWxfaW50MTYgICAgICAgICAgIHR4X3BnYV9waGFzZV9zdGVwOy8vRWR3aW4gVEJELCByZW1vdmVkIGluIEdlbjk1CisKK31UWF9QT0NfVEFCTEVfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKy8qIERFVCBjb2Fyc2UgRENPQywgY29uZmlnIGluIFJGICovCisgICBERVRfQ0RDT0NfQ0FMX1JFU1VMVF9UIGRldF9jZGNvY19jYWxfcmVzdWx0WzRdOy8vRWR3aW4gVEJECisKKy8qIERFVCBzcGFyZSAqLworICAgREVUX1NQQVJFU19UICBkZXRfc3BhcmVzOy8vRWR3aW4gVEJELCBub3Qgc3VyZSBpZiBuZWVkZWQgb3Igbm90CisKKy8qIE1SWCBQR0EmVFpBIEN0dW5lICovCisgICBrYWxfdWludDggbXJ4X3BnYV9jdHVuZTsvL3VzZSBkZWZhdWx0IHZhbHVlCisgICBrYWxfdWludDggbXJ4X3R6YV9jdHVuZTsvL3VzZSBkZWZhdWx0IHZhbHVlCisKK31ERVRfUE9DX1RBQkxFX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgUlhfUE9DX1RBQkxFX1QgIHJ4X3BvY190YWJsZTsKKyAgICBUWF9QT0NfVEFCTEVfVCAgdHhfcG9jX3RhYmxlOworICAgIERFVF9QT0NfVEFCTEVfVCBkZXRfcG9jX3RhYmxlOworfUNMMURfUkZfUE9DX0RFVl9GSU5BTF9SRVNVTFRfVDsKKworI2Vsc2UKK3R5cGVkZWYgc3RydWN0Cit7CisgIGthbF91aW50MzIgcnhkX2lpcDJfY3czNDk7ICAvKiBSWDEgSUlQMiBDYWwgKi8KKyAga2FsX3VpbnQzMiByeF9paXAyX2N3NDczOyAgLyogUlgxIElJUDIgQ2FsICovCisgIGthbF91aW50MzIgcnhfaWlwMl9jdzQ4MjsgIC8qIFJYMiBJSVAyIENhbCAqLworICBrYWxfdWludDMyIHJ4ZF9paXAyX2N3MzUwOworfVJYX0lJUDJfQ0FMX1JFU1VMVF9DV19UOworCit0eXBlZGVmIHN0cnVjdAoreworICBrYWxfdWludDMyIHR4X2xvX2N3NzE0OyAgICAgLyogVFggTE8gQ2FsICovCit9VFhfTE9fQ0FMX1JFU1VMVF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICBrYWxfdWludDMyIHR4X3JjX2xwZl9jdzc4NzsgIC8qIFRYIFJDIENhbCAqLworICBrYWxfdWludDMyIHR4X3JjX3JjZl9jdzc5MzsgIC8qIFRYIFJDIENhbCAqLworfVRYX1JDX0NBTF9SRVNVTFRfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAga2FsX3VpbnQzMiB0eF9iYWxfY2FwX2N3Nzk1OyAgLyogVFggUEdBIENhcCBUdW5pbmcgKi8KKyAga2FsX3VpbnQzMiB0eF9iYWxfY2FwX2N3Nzk2OyAgLyogVFggUEdBIENhcCBUdW5pbmcgKi8KK31UWF9DQVBfQ0FMX1JFU1VMVF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICBrYWxfdWludDMyIHR4X2NkY29jX2N3ODA3OyAgLyogREVUIGNvYXJzZSBEQ09DICovCisgIGthbF91aW50MzIgdHhfY2Rjb2NfY3c4MDg7ICAvKiBERVQgY29hcnNlIERDT0MgKi8KK31ERVRfQ0RDT0NfQ0FMX1JFU1VMVF9UOworCit0eXBlZGVmIHN0cnVjdHsgICAgCisgICAga2FsX2ludDE2IGdhaW5fZXN0OyAgLyo+ICBTLTMuMTAgKi8KKyAgICBrYWxfaW50MTYgcGhhc2VfZXN0OyAvKj4gIFMtNC4xMCAqLworfURFVF9JUV9DQUxfUkVTVUxUX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAvKiogVGhlIGVzdGltYXRlIERDIG9mZnNldCBpbiBTMC4xMSAqLworICAga2FsX2ludDE2IGRjb19lc3RfaTsgCisgICBrYWxfaW50MTYgZGNvX2VzdF9xOyAKK31ERVRfRENfQ0FMX1JFU1VMVF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX3VpbnQzMiB0eF9kZXRfY3c4MTc7IC8qIEJpdDE5LUJpdDEyIE5jc2VsICovCit9REVUX1NQQVJFU19UOworCisvKiogUlhEQyBUYWJsZSBjb250ZXh0ICovCit0eXBlZGVmIHN0cnVjdCAKK3sKKyAga2FsX3VpbnQxNiAgcnhEY29jSTsgIC8qKiBTNS4wLHJlc29sdXRpb24gPSA5bVYgKi8KKyAga2FsX3VpbnQxNiAgcnhEY29jUTsgIC8qKiBTNS4wLHJlc29sdXRpb24gPSA5bVYgKi8KK31DTDFEX1JGX0RFVl9QT0NfUkZfUlhfRENPQ19UOyAvL0NMMURfUkZfREVWX1JGX1JYX0RDT0NfVAorCit0eXBlZGVmIHN0cnVjdCAKK3sKKyAgIC8qKiBUaGUgZXN0aW1hdGUgREMgb2Zmc2V0LCBUeFBhdGg6UzAuMTQsIFR4IERBQyBmdWxsIHN3aW5nIGlzICsvLTEuMDV2LiBEZXRQYXRoOlMwLjExLCBkZXQgQURDIGZ1bGwgc3dpbmcgaXMgKy8tMC42diwgMTNNSHogY2xvY2sgKi8KKyAgIGthbF9pbnQxNiAgICBkY29fZXN0X2k7IAorICAga2FsX2ludDE2ICAgIGRjb19lc3RfcTsgCisgICAvKiogVGhlIGVzdGltYXRlIHBoYXNlIGVycm9yLCBUeFBhdGg6Uy00LjEwLCAtdGhldGEvMiwgaW4gcmFkaWFucy4gRGV0UGF0aDpTLTQuMTAsIC10aGV0YS8yLCBpbiByYWRpYW5zICovCisgICBrYWxfaW50MTYgICAgcGhhc2VfZXN0OyAKKyAgIC8qKiBUaGUgZXN0aW1hdGUgZ2FpbiBlcnJvciwgVHhQYXRoOlMtNC4xMCwgZXBzaWxvbi8yLiBEZXRQYXRoOlMtMy4xMCwgZXBzaWxvbiAqLworICAga2FsX2ludDE2ICAgIGdhaW5fZXN0OyAKK31DTDFEX1JGX0RFVl9QT0NfSVFfRENfQ0FMSUJfUEFSTV9UOyAvL0NMMURfUkZfREVWX0lRX0RDX0NBTElCX1BBUk1fVAorCit0eXBlZGVmIHN0cnVjdCAKK3sKKyAga2FsX2ludDE2ICAgcGdhX2dhaW47ICAgIC8qKiBUWF9QR0EgcmVsYXRpdmUgZ2FpbiB3aXRoIEcwLCAxLzMyZEIgdW5pdCAqLworfUNMMURfUkZfREVWX1BPQ19SRl9UWF9BR0NfVEFCTEVfVDsKKworLyoqIFRYIGFuZCBERVQgcGF0aCBJUSBpbWJhbGFuY2UgYW5kIERDIFBPQyByZXN1bHQgc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdHsgICAgCisgICBrYWxfaW50MTYgZ2Fpbl9lc3Q7ICAvKj4gIFMtMy4xMCwgZXBzaWxvbiAqLworICAga2FsX2ludDE2IHBoYXNlX2VzdDsgLyo+ICBTLTQuMTAsIC10aGV0YS8yLCBpbiByYWRpYW5zICovCit9Q0wxRF9SRl9ERVZfUE9DX0RFVF9JUV9DQUxfUEFSTV9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgLyoqIFRoZSBlc3RpbWF0ZSBEQyBvZmZzZXQgaW4gUzAuMTEsIGRldCBBREMgZnVsbCBzd2luZyBpcyArLy0wLjZ2LCB0aGUgY2xvY2sgaXMgMTNNSHogKi8KKyAgIGthbF9pbnQxNiBkY29fZXN0X2k7IAorICAga2FsX2ludDE2IGRjb19lc3RfcTsgCit9Q0wxRF9SRl9ERVZfUE9DX0RFVF9EQ19DQUxfUEFSTV9UOworCit0eXBlZGVmIHN0cnVjdCB7CisgICAga2FsX3VpbnQzMiBkYzsgIC8qUkYgREMgb2Zmc2V0IGluIFM1LjAqLyAvKmRpZ2l0YWwgREMgb2Zmc2V0IGluIFMwLjE0Ki8KK31DTDFEX1JGX0RFVl9EQ19UOworCit0eXBlZGVmIHN0cnVjdCB7CisgICAgQ0wxRF9SRl9ERVZfRENfVCBEQ19EQVRBX0lfSFBNW0NMMURfUkZfREVWX1RJQV9OVU1dW0NMMURfUkZfSUZfTUFYX05VTV07CisgICAgQ0wxRF9SRl9ERVZfRENfVCBEQ19EQVRBX0lfTFBNW0NMMURfUkZfREVWX1RJQV9OVU1dW0NMMURfUkZfSUZfTUFYX05VTV07CisgICAgQ0wxRF9SRl9ERVZfRENfVCBEQ19EQVRBX1FfSFBNW0NMMURfUkZfREVWX1RJQV9OVU1dW0NMMURfUkZfSUZfTUFYX05VTV07CisgICAgQ0wxRF9SRl9ERVZfRENfVCBEQ19EQVRBX1FfTFBNW0NMMURfUkZfREVWX1RJQV9OVU1dW0NMMURfUkZfSUZfTUFYX05VTV07Cit9IENMMURfUkZfREVWX0RDX1RCTF9UOworCit0eXBlZGVmIHN0cnVjdAoreworLyogUlggSVJSLCBjb25maWcgaW4gUlhERkUgKi8KKyAgICAvL0NMMURfUkZfREVWX0RGRV9SWF9JUlJfVCByeF9pcnJfaHBtW1JYX1BBVEhfTUFYX05VTV07CisgICAgLy9DTDFEX1JGX0RFVl9ERkVfUlhfSVJSX1QgcnhfaXJyX2xwbVtSWF9QQVRIX01BWF9OVU1dOworCisvKiBSWCBEQyBvZiBERkUqLworICAgIC8vQ0wxRF9SRl9ERVZfREZFX1JYX0RDX1QgZGZlX3J4X2RjX2hwbVtSWF9QQVRIX01BWF9OVU1dW0NMMURfUkZfREVWX1BPQ19SWEFHQ19UQUJMRV9NQVhfSU5ERVhdOworICAgIC8vQ0wxRF9SRl9ERVZfREZFX1JYX0RDX1QgZGZlX3J4X2RjX2xwbVtSWF9QQVRIX01BWF9OVU1dW0NMMURfUkZfREVWX1BPQ19SWEFHQ19UQUJMRV9NQVhfSU5ERVhdOworCisvKiBSWCBEQyBvZiBSRiovCisJQ0wxRF9SRl9ERVZfRENfVEJMX1QgICAgICAgICByZl9yeF9kY1szXTsKKworLyogUlggSUlQMiwgY29uZmlnIGluIFJGICovCisgICAgUlhfSUlQMl9DQUxfUkVTVUxUX0NXX1QgcnhfaWlwMl9jYWxfcmVzdWx0OworfVJYX1BPQ19UQUJMRV9UOworCit0eXBlZGVmIHN0cnVjdAoreworLyogVFggTE8gQ2FsLCBjb25maWcgaW4gUkYgKi8KKyAgICBUWF9MT19DQUxfUkVTVUxUX1QgdHhfbG9fY2FsX3Jlc3VsdDsKKworLyogVFggUkMsIGNvbmZpZyBpbiBSRiAqLworICAgIFRYX1JDX0NBTF9SRVNVTFRfVCB0eF9yY19jYWxfcmVzdWx0OworCisvKiBUWCBJUURDLCBjb25maWcgaW4gVFhERkUgKi8KKy8vICAgIENMMURfUkZfREVWX1BPQ19JUV9EQ19DQUxJQl9QQVJNX1QgdHhfaXFfZGNfY2FsX3Jlc3VsdFtNTVJGQ19DMktfUE9DX1RYX1BHQV9TTElDRV9OVU0rMV07CisKKy8qIFRYIEROTCAqLworICAgIENMMURfUkZfREVWX1BPQ19SRl9UWF9BR0NfVEFCTEVfVCB0eF9kbmxfY2FsX3Jlc3VsdFtDTDFEX1JGX0RFVl9QT0NfVFhfUEdBX1RBQkxFX1NJWkVdOworCisvKiBUWCBQR0EgQ2FwIFR1bmluZywgY29uZmlnIGluIFJGICovCisgICAgVFhfQ0FQX0NBTF9SRVNVTFRfVCB0eF9jYXBfY2FsX3Jlc3VsdDsKKworLyogVFggUEdBIHBoYXNlIHN0ZXAgKi8KKyAgICBrYWxfaW50MTYgICAgICAgICAgIHR4X3BnYV9waGFzZV9zdGVwOworCit9VFhfUE9DX1RBQkxFX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisvKiBERVQgY29hcnNlIERDT0MsIGNvbmZpZyBpbiBSRiAqLworICAgIERFVF9DRENPQ19DQUxfUkVTVUxUX1QgZGV0X2NkY29jX2NhbF9yZXN1bHQ7CisKKy8qIERFVCBzcGFyZSAqLworICAgIERFVF9TUEFSRVNfVCAgZGV0X3NwYXJlczsKKworLyogREVUIEROTCwgY29uZmlnIGluIFJGICovCisgICAga2FsX2ludDE2IGRldF9kbmxfY2FsX3Jlc3VsdFtDTDFEX1JGX0RFVl9QT0NfVFhERVRfQUdDX1RBQkxFX1NJWkVdOworCisvKiBERVQgSVEgaW1iYWxhbmNlIHdpdGggVHggcGF0aCBmb3J3YXJkIHNpZ25hbCwgY29uZmlnIGluIFRYREZFICAqLworICAgIENMMURfUkZfREVWX1BPQ19ERVRfSVFfQ0FMX1BBUk1fVCBkZXRfaXFfZndkW0NMMURfUkZfREVWX1BPQ19ERVRfRkVfR0FJTl9TVEVQU107CisKKy8qIERFVCBmaW5lIERDIHdpdGggVHggcGF0aCBmb3J3YXJkIHNpZ25hbCwgY29uZmlnIGluIFRYREZFICovCisgICAgQ0wxRF9SRl9ERVZfUE9DX0RFVF9EQ19DQUxfUEFSTV9UIGRldF9kY19md2RbQ0wxRF9SRl9ERVZfUE9DX1RYREVUX0FHQ19UQUJMRV9TSVpFXTsKKworLyogREVUIElRIGltYmFsYW5jZSB3aXRoIFR4IHBhdGggcmV2ZXJzZSBzaWduYWwsIGNvbmZpZyBpbiBUWERGRSAgKi8KKyAgICBDTDFEX1JGX0RFVl9QT0NfREVUX0lRX0NBTF9QQVJNX1QgZGV0X2lxX3JldltDTDFEX1JGX0RFVl9QT0NfREVUX0ZFX0dBSU5fU1RFUFNdOworCisvKiBERVQgZmluZSBEQyB3aXRoIFR4IHBhdGggcmV2ZXJzZSBzaWduYWwsIGNvbmZpZyBpbiBUWERGRSAqLworICAgIENMMURfUkZfREVWX1BPQ19ERVRfRENfQ0FMX1BBUk1fVCBkZXRfZGNfcmV2W0NMMURfUkZfREVWX1BPQ19UWERFVF9BR0NfVEFCTEVfU0laRV07Cit9REVUX1BPQ19UQUJMRV9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIFJYX1BPQ19UQUJMRV9UICByeF9wb2NfdGFibGU7CisgICAgVFhfUE9DX1RBQkxFX1QgIHR4X3BvY190YWJsZTsKKyAgICBERVRfUE9DX1RBQkxFX1QgZGV0X3BvY190YWJsZTsKK31DTDFEX1JGX1BPQ19ERVZfRklOQUxfUkVTVUxUX1Q7CisjZW5kaWYKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfaW50MzIgaV9wYXJ0OworICAgIGthbF9pbnQzMiBxX3BhcnQ7Cit9Q0wxRF9SRl9UWEtfREVUREZFX0VRTFBGX0NPTVBfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBDTDFEX1JGX1RYS19ERVRERkVfRVFMUEZfQ09NUF9UIGNvZWZbQ0wxRF9SRl9UWEtfREVUREZFX0VRTFBGX1RBUF9OVU1dOworICAgIGthbF9pbnQzMiAgICAgICAgICAgICAgc2NhbGVfaTsKKyAgICBrYWxfaW50MzIgICAgICAgICAgICAgIHNjYWxlX3E7Cit9Q0wxRF9SRl9UWEtfREVUREZFX0VRTFBGX0NGR19UOworCisjaWYgZGVmaW5lZChfX01EOTVfXykgCit0eXBlZGVmIHN0cnVjdAoreworICAgIENMMURfUkZfVFhLX0RFVERGRV9FUUxQRl9DRkdfVCBwZXJfZmVfZ2FpbjsKK31DTDFEX1JGX1RYS19ERVRERkVfRVFMUEZfQ09NUF9QRVJfQkFORF9UOworI2VsaWYgZGVmaW5lZChfX01EOTNfXykgCit0eXBlZGVmIHN0cnVjdAoreworICAgIENMMURfUkZfVFhLX0RFVERGRV9FUUxQRl9DRkdfVCBwZXJfZmVfZ2FpbltDTDFEX1JGX1RYS19ERVRERkVfRkVfR0FJTl9TVEVQU107Cit9Q0wxRF9SRl9UWEtfREVUREZFX0VRTFBGX0NPTVBfUEVSX0JBTkRfVDsKKyNlbGlmIChkZWZpbmVkKF9fTUQ5N19fKSB8fCBkZWZpbmVkKF9fTUQ5N1BfXykpIAordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBDTDFEX1JGX1RYS19ERVRERkVfRVFMUEZfQ0ZHX1QgcGVyX2ZlX2dhaW47Cit9Q0wxRF9SRl9UWEtfREVUREZFX0VRTFBGX0NPTVBfUEVSX0JBTkRfVDsKKyNlbmRpZgorCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF9pbnQzMiAgICAgICAgICAgICAgZ2Fpbl9lc3RfaHc7CisgICAga2FsX2ludDMyICAgICAgICAgICAgICBwaGFzZV9lc3RfaHc7CisgICAga2FsX2ludDMyICAgICAgICAgICAgICBkbmw7IAorICAgIGthbF9pbnQzMiAgICAgICAgICAgICAgZnJlcV9kZXBfcGhhc2VfZXN0OyAgICAgICAgICAgICAgICAgLy8vPCBWYWxpZCBmb3IgMi1wb2ludCBtZWFzLiBmb3IgZXJyb3IgaGFuZGxpbmcKK31DTDFEX1JGX1RYS19ERVRERkVfSVFfQ09NUF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIENMMURfUkZfVFhLX0RFVERGRV9JUV9DT01QX1QgIHBlcl9mZV9nYWluW0NMMURfUkZfVFhLX0RFVERGRV9GRV9HQUlOX1NURVBTXTsKK31DTDFEX1JGX1RYS19ERVRERkVfSVFfQ09NUF9QRVJfQkFORF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF9pbnQzMiAgICAgICAgICAgIGRjX2VzdF9pOyAvKj4gIFMwLjExLCBmaXhlZCBwb2ludCB2YWx1ZSBhdCBEZXQgQURDLCBEZXQgQURDIGZ1bGwgc3dpbmcgaXMgKy8tMC42diAqLworICAgIGthbF9pbnQzMiAgICAgICAgICAgIGRjX2VzdF9xOyAvKj4gIFMwLjExLCBmaXhlZCBwb2ludCB2YWx1ZSBhdCBEZXQgQURDLCBEZXQgQURDIGZ1bGwgc3dpbmcgaXMgKy8tMC42diAqLworfUNMMURfUkZfVFhLX0RFVERGRV9EQ19DT01QX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgQ0wxRF9SRl9UWEtfREVUREZFX0RDX0NPTVBfVCBwZXJfZGV0X2dhaW5bQ0wxRF9SRl9UWEtfREVUREZFX0dBSU5fU1RFUFNdOworfUNMMURfUkZfVFhLX0RFVERGRV9EQ19DT01QX1BFUl9CQU5EX1Q7CisKKyNpZiBJU19DTDFEX1JGX1RSSU5JVFlMIHx8IElTX0NMMURfUkZfVFJJTklUWTJMIHx8IElTX0NMMURfUkZfVFJJTklUWUxFMgordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfaW50MzIgcGdhX2JpYXNbVFhfUEdBX0JJQVNfU0VUX05VTV07Cit9Q0wxRF9SRl9QT0NfREVWX1RYX1BHQV9CSUFTX1JFU1VMVF9UOworI2VuZGlmCisKK3R5cGVkZWYgc3RydWN0eworCisgICAgLyogTlZSQU0gdmVyc2lvbiBudW1iZXIgKi8KKyNpZiBkZWZpbmVkKF9fTUQ5NV9fKQorICAgIGthbF91aW50MzIgdmVybm87CisjZW5kaWYKKworCS8qIFJYREZFICovCisgICAgQ0wxRF9SRl9SWERGRV9JUlJfQ09NUF9QRVJfQkFORF9UIGlycl9jb21wOworI2lmIGRlZmluZWQoX19NRDk1X18pCisjZWxpZiAoZGVmaW5lZChfX01EOTdfXykgfHwgZGVmaW5lZChfX01EOTdQX18pKQorI2VsaWYgZGVmaW5lZChfX01EOTNfXykKKyAgICBDTDFEX1JGX1JYREZFX0RDX0NPTVBfUEVSX0JBTkRfVCBkY19jb21wOworI2VuZGlmCisKKyAgICAvKiBUWERGRSAqLworICAgIENMMURfUkZfVFhERkVfSVFfQ09NUF9UQUJfVCB0eF9pcV9jb21wOworICAgIENMMURfUkZfVFhERkVfRENfQ09NUF9UQUJfVCB0eF9kY19jb21wOworI2lmIGRlZmluZWQoX19NRDk1X18pICAgIAorICAgIENMMURfUkZfVFhERkVfRENfQ09NUF9UQUJfVCB0eF9jb2Fyc2VfZGNfY29tcDsgICAgCisjZW5kaWYgICAgCisjaWYgKGRlZmluZWQoX19NRDk3X18pIHx8IGRlZmluZWQoX19NRDk3UF9fKSkgICAgCisgICAgICAgIENMMURfUkZfVFhERkVfRENfQ09NUF9UQUJfVCB0eF9jb2Fyc2VfZGNfY29tcDsgICAgCisjZW5kaWYgICAgCisKKyAgICAvKiBUWEtERkUgKi8KKyAgICBDTDFEX1JGX1RYS19ERVRERkVfRVFMUEZfQ09NUF9QRVJfQkFORF9UIHR4a19lcWxwZl9md2RfY29tcDsKKyAgICBDTDFEX1JGX1RYS19ERVRERkVfSVFfQ09NUF9QRVJfQkFORF9UIHR4a19pcV9md2RfY29tcDsKKyNpZiBJU19DTDFEX1JGX1RSSU5JVFlMRTIgfHwgSVNfQ0wxRF9SRl9UUklOSVRZMkwKKyAgICBDTDFEX1JGX1RYS19ERVRERkVfRENfQ09NUF9QRVJfQkFORF9UIHR4a19kY19md2RfY29tcF90eGxiOworI2VuZGlmCisJQ0wxRF9SRl9UWEtfREVUREZFX0RDX0NPTVBfUEVSX0JBTkRfVCB0eGtfZGNfZndkX2NvbXA7CisKKyAgICAvKiBUcmFuc2NlaXZlciAqLworICAgIENMMURfUkZfUE9DX0RFVl9GSU5BTF9SRVNVTFRfVCBwb2NfZGV2X2ZpbjsKKwkKKwkvKiBQR0FfQklBUyAqLworI2lmIElTX0NMMURfUkZfVFJJTklUWUwgfHwgSVNfQ0wxRF9SRl9UUklOSVRZMkwgfHwgSVNfQ0wxRF9SRl9UUklOSVRZTEUyCisgICAgQ0wxRF9SRl9QT0NfREVWX1RYX1BHQV9CSUFTX1JFU1VMVF9UIHR4X3BnYV9iaWFzX2NvbXA7CisjZW5kaWYKK30gQ0wxRF9SRl9QT0NfRklOQUxfVDsKKworI2VuZGlmIC8qIF9DTDFEX1JGX1BPQ19QVUJMSUNfSF8gKi8KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvcmZkL2NsMV9yZl9wb2NfcHVibGljX21kOTUuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL3JmZC9jbDFfcmZfcG9jX3B1YmxpY19tZDk1LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGJjMDEwZQotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL3JmZC9jbDFfcmZfcG9jX3B1YmxpY19tZDk1LmgKQEAgLTAsMCArMSwxMDUxIEBACisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNworKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqCisqIEZJTEUgTkFNRSAgIDpjbDFfcmZfcG9jX3B1YmxpYy5oCisqCisqIERFU0NSSVBUSU9OIDoKKyoKKyoKKyogSElTVE9SWSAgICAgOgorKiAgICAgU2VlIExvZyBhdCBlbmQgb2YgZmlsZQorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBJbmNsdWRlIEZpbGVzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKyNpZiBkZWZpbmVkIChfX0MyS19SQVRfXykgfHwgZGVmaW5lZChfX0NMMV9UQVNLX0VOQUJMRV9fKQorI2lmbmRlZiBfQ0wxRF9SRl9QT0NfUFVCTElDX0hfCisjZGVmaW5lIF9DTDFEX1JGX1BPQ19QVUJMSUNfSF8KKworI2luY2x1ZGUgImNsMWRfcmZfY2lkLmgiCisvLyNpbmNsdWRlICJtbWwxX3J4ZGZlX2FwaS5oIgorCisvKiBUWCBERkUgcmVsYXRlZCAqLworI2lmIGRlZmluZWQoX19NRDk1X18pIAorI2RlZmluZSBUWF9EQ19DT01QX0ZDX01PREVfTlVNICAgICAgICAgICAgICAgICAoMSkKKyNlbGlmIGRlZmluZWQoX19NRDkzX18pIAorI2RlZmluZSBUWF9EQ19DT01QX0ZDX01PREVfTlVNICAgICAgICAgICAgICAgICAoMikKKyNlbGlmIChkZWZpbmVkKF9fTUQ5N19fKSB8fCBkZWZpbmVkKF9fTUQ5N1BfXykpIAorI2RlZmluZSBUWF9EQ19DT01QX0ZDX01PREVfTlVNICAgICAgICAgICAgICAgICAoMSkKKyNlbmRpZgorCisjaWYgSVNfQ0wxRF9SRl9UUklOSVRZTCB8fCBJU19DTDFEX1JGX1RSSU5JVFkyTCB8fCBJU19DTDFEX1JGX1RSSU5JVFlMRTIKKyNkZWZpbmUgVFhfUEdBX0JJQVNfU0VUX05VTSAgICAgICAgICAgICAgICAgICAgMworI2VuZGlmCisKKyNpZiBJU19DTDFEX1JGX1RSSU5JVFlFMSB8fCBJU19DTDFEX1JGX1RSSU5JVFlMIHx8IElTX0NMMURfUkZfVFJJTklUWTJMIHx8IElTX0NMMURfUkZfVFJJTklUWUxFMiB8fCBJU19DTDFEX1JGX0NPTFVNQlVTRTEvL3RlbXAgZm9yIEdlbjk3IHdhcm5pbmcKKyNkZWZpbmUgVFhfRENfQ09NUF9QR0FfU0xJQ0VfU0VUX05VTSAgICAgICAgICAgNAorI2Vsc2UKKyNkZWZpbmUgVFhfRENfQ09NUF9QR0FfU0xJQ0VfU0VUX05VTSAgICAgICAgICAgOAorI2VuZGlmCisKKyNpZiBkZWZpbmVkKF9fTUQ5NV9fKSAKKyNkZWZpbmUgVFhfSVFfQ09NUF9GQ19NT0RFX05VTSAgICAgICAgICAgICAgICAgKDEpCisjZWxpZiBkZWZpbmVkKF9fTUQ5M19fKSAKKyNkZWZpbmUgVFhfSVFfQ09NUF9GQ19NT0RFX05VTSAgICAgICAgICAgICAgICAgKDIpCisjZWxpZiAoZGVmaW5lZChfX01EOTdfXykgfHwgZGVmaW5lZChfX01EOTdQX18pKSAKKyNkZWZpbmUgVFhfSVFfQ09NUF9GQ19NT0RFX05VTSAgICAgICAgICAgICAgICAgKDEpCisjZW5kaWYKKworI2lmIElTX0NMMURfUkZfVFJJTklUWUUxIHx8IElTX0NMMURfUkZfVFJJTklUWUwgfHwgSVNfQ0wxRF9SRl9UUklOSVRZMkwgfHwgSVNfQ0wxRF9SRl9UUklOSVRZTEUyIHx8IElTX0NMMURfUkZfQ09MVU1CVVNFMS8vdGVtcCBmb3IgR2VuOTcgd2FybmluZworI2RlZmluZSBUWF9JUV9DT01QX1BHQV9TTElDRV9TRVRfTlVNICAgICAgICAgICA0CisjZWxzZQorI2RlZmluZSBUWF9JUV9DT01QX1BHQV9TTElDRV9TRVRfTlVNICAgICAgICAgICA4CisjZW5kaWYKKworLyogUlggREZFIHJlbGF0ZWQgKi8KKyNkZWZpbmUgUlhfUEFUSF9NQVhfTlVNICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFJYX1BPV0VSX01PREVfTUFYX05VTSAgICAgICAgICAgICAgICAgICgyKQorCisjaWYgZGVmaW5lZChfX01EOTVfXykgCisjZGVmaW5lIFJYX0ZEX0ZJTFRfVEFQU19NQVhfTlVNICAgICAgICAgICAgICAgICA3ICAgLyo+ICBtYXhpbXVtIG51bWJlcnMgb2YgY29tcGVuc2F0aW9uIGZpbHRlciB0YXBzICAqLworI2VsaWYgZGVmaW5lZChfX01EOTNfXykgCisjZGVmaW5lIFJYX0ZEX0ZJTFRfVEFQU19NQVhfTlVNICAgICAgICAgICAgICAgICA3ICAgLyo+ICBtYXhpbXVtIG51bWJlcnMgb2YgY29tcGVuc2F0aW9uIGZpbHRlciB0YXBzICAqLworI2VsaWYgKGRlZmluZWQoX19NRDk3X18pIHx8IGRlZmluZWQoX19NRDk3UF9fKSkgCisjZGVmaW5lIFJYX0ZEX0ZJTFRfVEFQU19NQVhfTlVNICAgICAgICAgICAgICAgICA1ICAgLyo+ICBtYXhpbXVtIG51bWJlcnMgb2YgY29tcGVuc2F0aW9uIGZpbHRlciB0YXBzICAqLworI2VuZGlmCisKKyNkZWZpbmUgQ0wxRF9SRl9SWERGRV9EQ19USUFfR0FJTl9IUE1fU1RFUFMgICAgICgzKQorI2RlZmluZSBDTDFEX1JGX1JYREZFX0RDX1BHQV9HQUlOX0hQTV9TVEVQUyAgICAgKDcpCisKKyNkZWZpbmUgQ0wxRF9SRl9SWERGRV9EQ19USUFfR0FJTl9MUE1fU1RFUFMgICAgIENMMURfUkZfUlhERkVfRENfVElBX0dBSU5fSFBNX1NURVBTCisjZGVmaW5lIENMMURfUkZfUlhERkVfRENfUEdBX0dBSU5fTFBNX1NURVBTICAgICBDTDFEX1JGX1JYREZFX0RDX1BHQV9HQUlOX0hQTV9TVEVQUworCisvKiBUWEsgREZFIHJlbGF0ZWQgKi8KKyNpZiBkZWZpbmVkKF9fTUQ5NV9fKSAKKyNkZWZpbmUgQ0wxRF9SRl9UWEtfREVUREZFX0VRTFBGX1RBUF9OVU0gICAgICAgICgxMykKKyNlbGlmIGRlZmluZWQoX19NRDkzX18pIAorI2RlZmluZSBDTDFEX1JGX1RYS19ERVRERkVfRVFMUEZfVEFQX05VTSAgICAgICAgKDExKQorI2VsaWYgKGRlZmluZWQoX19NRDk3X18pIHx8IGRlZmluZWQoX19NRDk3UF9fKSkgCisjZGVmaW5lIENMMURfUkZfVFhLX0RFVERGRV9FUUxQRl9UQVBfTlVNICAgICAgICAoMTMpCisjZW5kaWYKKyNpZiBkZWZpbmVkKF9fTUQ5NV9fKSAKKyNkZWZpbmUgQ0wxRF9SRl9UWEtfREVUREZFX0ZFX0dBSU5fU1RFUFMgICAgICAgICgxKQorI2VsaWYgZGVmaW5lZChfX01EOTNfXykgCisjZGVmaW5lIENMMURfUkZfVFhLX0RFVERGRV9GRV9HQUlOX1NURVBTICAgICAgICAoMikKKyNlbGlmIChkZWZpbmVkKF9fTUQ5N19fKSB8fCBkZWZpbmVkKF9fTUQ5N1BfXykpIAorI2RlZmluZSBDTDFEX1JGX1RYS19ERVRERkVfRkVfR0FJTl9TVEVQUyAgICAgICAgKDEpCisjZW5kaWYKKyNpZiBJU19DTDFEX1JGX1RSSU5JVFlFMSB8fCBJU19DTDFEX1JGX1RSSU5JVFlMIHx8IElTX0NMMURfUkZfVFJJTklUWTJMIHx8IElTX0NMMURfUkZfVFJJTklUWUxFMiB8fCBJU19DTDFEX1JGX0NPTFVNQlVTRTEvL3RlbXAgZm9yIEdlbjk3IHdhcm5pbmcKKyNkZWZpbmUgQ0wxRF9SRl9UWEtfREVUREZFX0dBSU5fU1RFUFMgICAgICAgICAgICg1KQorI2Vsc2UKKyNkZWZpbmUgQ0wxRF9SRl9UWEtfREVUREZFX0dBSU5fU1RFUFMgICAgICAgICAgICgxNSkKKyNlbmRpZgorLyogUlggREVWIHJlbGF0ZWQgKi8KKyNkZWZpbmUgQ0wxRF9SRl9ERVZfUE9DX1JYQUdDX1RBQkxFX01BWF9JTkRFWCAgICgxOSkgLy8gQ0wxRF9SRl9ERVZfUlhBR0NfVEFCTEVfTUFYX0lOREVYCisjZGVmaW5lIE1NUkZDX0MyS19QT0NfVFhfUEdBX1NMSUNFX05VTSAgICAgICAgICAoNykgIC8vIE1NUkZDX0MyS19UWF9QR0FfU0xJQ0VfTlVNCisKKyNpZiBJU19DTDFEX1JGX01UNjE3N0wKKyNkZWZpbmUgQ0wxRF9SRl9ERVZfUE9DX1RYX1BHQV9BX1RBQkxFX1NJWkUgICAgICgyMSkgIC8vQ0wxRF9SRl9ERVZfVFhfUEdBX0FfVEFCTEVfU0laRQorI2RlZmluZSBDTDFEX1JGX0RFVl9QT0NfVFhfUEdBX0JfVEFCTEVfU0laRSAgICAgKDE3KSAgLy9DTDFEX1JGX0RFVl9UWF9QR0FfQl9UQUJMRV9TSVpFCisjZWxpZiBJU19DTDFEX1JGX01UNjE3N00KKyNkZWZpbmUgQ0wxRF9SRl9ERVZfUE9DX1RYX1BHQV9BX1RBQkxFX1NJWkUgICAgICgzMCkgIC8vQ0wxRF9SRl9ERVZfVFhfUEdBX0FfVEFCTEVfU0laRQorI2RlZmluZSBDTDFEX1JGX0RFVl9QT0NfVFhfUEdBX0JfVEFCTEVfU0laRSAgICAgKDApICAvL0NMMURfUkZfREVWX1RYX1BHQV9CX1RBQkxFX1NJWkUKKyNlbGlmIElTX0NMMURfUkZfVFJJTklUWUUxCisjZGVmaW5lIENMMURfUkZfREVWX1BPQ19UWF9QR0FfQV9UQUJMRV9TSVpFICAgICAoMTQpICAvL0NMMURfUkZfREVWX1RYX1BHQV9BX1RBQkxFX1NJWkUKKyNkZWZpbmUgQ0wxRF9SRl9ERVZfUE9DX1RYX1BHQV9CX1RBQkxFX1NJWkUgICAgICgxMykgIC8vQ0wxRF9SRl9ERVZfVFhfUEdBX0JfVEFCTEVfU0laRQorI2VsaWYgSVNfQ0wxRF9SRl9UUklOSVRZTCB8fCBJU19DTDFEX1JGX1RSSU5JVFlMRTIKKyNkZWZpbmUgQ0wxRF9SRl9ERVZfUE9DX1RYX1BHQV9BX1RBQkxFX1NJWkUgICAgICgyNykgIC8vQ0wxRF9SRl9ERVZfVFhfUEdBX0FfVEFCTEVfU0laRQorI2RlZmluZSBDTDFEX1JGX0RFVl9QT0NfVFhfUEdBX0JfVEFCTEVfU0laRSAgICAgKDApICAvL0NMMURfUkZfREVWX1RYX1BHQV9CX1RBQkxFX1NJWkUKKyNlbGlmIElTX0NMMURfUkZfVFJJTklUWTJMCisjZGVmaW5lIENMMURfUkZfREVWX1BPQ19UWF9QR0FfQV9UQUJMRV9TSVpFICAgICAoMjcpICAvL0NMMURfUkZfREVWX1RYX1BHQV9BX1RBQkxFX1NJWkUKKyNkZWZpbmUgQ0wxRF9SRl9ERVZfUE9DX1RYX1BHQV9CX1RBQkxFX1NJWkUgICAgICgwKSAgLy9DTDFEX1JGX0RFVl9UWF9QR0FfQl9UQUJMRV9TSVpFCisjZWxpZiBJU19DTDFEX1JGX0NPTFVNQlVTRTEKKyNkZWZpbmUgQ0wxRF9SRl9ERVZfUE9DX1RYX1BHQV9BX1RBQkxFX1NJWkUgICAgICgxNCkgIC8vQ0wxRF9SRl9ERVZfVFhfUEdBX0FfVEFCTEVfU0laRQorI2RlZmluZSBDTDFEX1JGX0RFVl9QT0NfVFhfUEdBX0JfVEFCTEVfU0laRSAgICAgKDEzKSAgLy9DTDFEX1JGX0RFVl9UWF9QR0FfQl9UQUJMRV9TSVpFCisjZW5kaWYKKyNkZWZpbmUgQ0wxRF9SRl9ERVZfUE9DX1RYX1BHQV9UQUJMRV9TSVpFICAgICAgIChDTDFEX1JGX0RFVl9QT0NfVFhfUEdBX0FfVEFCTEVfU0laRSArIENMMURfUkZfREVWX1BPQ19UWF9QR0FfQl9UQUJMRV9TSVpFKS8vQ0wxRF9SRl9ERVZfVFhfUEdBX1RBQkxFX1NJWkUKKworI2RlZmluZSBDTDFEX1JGX0RFVl9QT0NfVFhERVRfQUdDX1RBQkxFX1NJWkUgICAgKDE1KSAgLy9DTDFEX1JGX0RFVl9UWERFVF9BR0NfVEFCTEVfU0laRQorI2RlZmluZSBDTDFEX1JGX0RFVl9QT0NfREVUX0ZFX0dBSU5fU1RFUFMgICAgICAgKDIpICAgLy9DTDFEX1JGX0RFVl9ERVRfRkVfR0FJTl9TVEVQUworCisKKyNkZWZpbmUgQ0wxRF9SRl9JRl9NQVhfTlVNICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIENMMURfUkZfREVUX1BHQV9HQUlOX1NURVBTICAgICAgICAgICg1KQorCisjaWYgSVNfQ0wxRF9SRl9NVDYxNzdMCisjZGVmaW5lIENMMURfVFhfTFBGX05PTUlOQUxfVkFMVUUgICAgICAxNzIvL2ZvciA3N0wKKyNlbGlmIElTX0NMMURfUkZfTVQ2MTc3TQorI2RlZmluZSBDTDFEX1RYX0xQRl9OT01JTkFMX1ZBTFVFICAgICAgMjYvL2ZvciA3N00KKyNlbGlmIElTX0NMMURfUkZfVFJJTklUWUUxIHx8IElTX0NMMURfUkZfQ09MVU1CVVNFMS8vdGVtcCBmb3IgR2VuOTcgd2FybmluZworI2RlZmluZSBDTDFEX1RYX0xQRl9OT01JTkFMX1ZBTFVFICAgICAgMTcyLy9TdHViIGZvciBUcmluaXR5RTEuIFdpbGwgZGVsZXRlIGxhdGVyLgorI2VsaWYgSVNfQ0wxRF9SRl9UUklOSVRZTCB8fCBJU19DTDFEX1JGX1RSSU5JVFkyTCB8fCBJU19DTDFEX1JGX1RSSU5JVFlMRTIKKyNkZWZpbmUgQ0wxRF9UWF9MUEZfTk9NSU5BTF9WQUxVRQkgICAxNzIKKyNlbmRpZgorCisjaWYgSVNfQ0wxRF9SRl9NVDYxNzdMCisjZGVmaW5lIENMMURfVFhfUkNGX05PTUlOQUxfVkFMVUUgICAgICAxNgorI2VsaWYgSVNfQ0wxRF9SRl9NVDYxNzdNCisjZGVmaW5lIENMMURfVFhfUkNGX05PTUlOQUxfVkFMVUUgICAgICAxNworI2VsaWYgSVNfQ0wxRF9SRl9UUklOSVRZRTEgfHwgSVNfQ0wxRF9SRl9DT0xVTUJVU0UxLy90ZW1wIGZvciBHZW45NyB3YXJuaW5nCisjZGVmaW5lIENMMURfVFhfUkNGX05PTUlOQUxfVkFMVUUgICAgICAxNi8vU3R1YiBmb3IgVHJpbml0eUUxLiBXaWxsIGRlbGV0ZSBsYXRlci4KKyNlbGlmIElTX0NMMURfUkZfVFJJTklUWUwgfHwgSVNfQ0wxRF9SRl9UUklOSVRZMkwgfHwgSVNfQ0wxRF9SRl9UUklOSVRZTEUyCisjZGVmaW5lIENMMURfVFhfUkNGX05PTUlOQUxfVkFMVUUgICAgICAxNgorI2VuZGlmCisKKyNkZWZpbmUgQ0wxRF9SRl9SWERGRV9SRkVRX1RBUFNfTlVNX01BWCAgICAgICAgICAgICAgICAgICAgKDE0KQorCit0eXBlZGVmIGVudW0KK3sKKyAgQ0wxRF9SRl9ERVZfVElBMCwKKyAgQ0wxRF9SRl9ERVZfVElBMSwKKyAgQ0wxRF9SRl9ERVZfVElBX05VTQorfUNMMURfUkZfREVWX1RJQV9FOworCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX2ludDE2ICAgICAgICAgICAgICAgICAgICAgIGlfcGFydDsKKyAgIGthbF9pbnQxNiAgICAgICAgICAgICAgICAgICAgICBxX3BhcnQ7Cit9IENMMURfUkZfVFhERkVfRENfQ09NUF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgQ0wxRF9SRl9UWERGRV9EQ19DT01QX1QgICAgICAgIGNvbXBfdGFiW1RYX0RDX0NPTVBfRkNfTU9ERV9OVU1dW1RYX0RDX0NPTVBfUEdBX1NMSUNFX1NFVF9OVU1dOworfSBDTDFEX1JGX1RYREZFX0RDX0NPTVBfVEFCX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBrYWxfaW50MTYgICAgICAgICAgICAgICAgICAgICAgZ2FpbjsKKyAgIGthbF9pbnQxNiAgICAgICAgICAgICAgICAgICAgICBwaGFzZTsKK30gQ0wxRF9SRl9UWERGRV9JUV9DT01QX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBDTDFEX1JGX1RYREZFX0lRX0NPTVBfVCAgICAgICAgICAgY29tcF90YWJbVFhfSVFfQ09NUF9GQ19NT0RFX05VTV1bVFhfSVFfQ09NUF9QR0FfU0xJQ0VfU0VUX05VTV07Cit9IENMMURfUkZfVFhERkVfSVFfQ09NUF9UQUJfVDsKKworI2lmIGRlZmluZWQoX19NRDkzX18pCit0eXBlZGVmIHN0cnVjdHsgICAgCisgICAga2FsX2ludDMyICAgICAgICAgICAgZ2Fpbl9lc3RfaHc7IC8qPiAgUy0zLjEwLCBlcHNpbG9uICovCisgICAga2FsX2ludDMyICAgICAgICAgICAgcGhhc2VfZXN0X2h3Oy8qPiAgUy00LjEwLCAtdGhldGEvMiwgaW4gcmFkaWFucyAqLworICAgIGthbF9pbnQxNiAgICAgICAgICAgIGZyZXFfZGVwX2ZpbHRbUlhfRkRfRklMVF9UQVBTX01BWF9OVU1dOyAvKj4gIFZhbGlkIGZvciAyLXBvaW50IG1lYXMuICovCit9IENMMURfUkZfUlhERkVfSVJSX0NPTVBfVDsKKyNlbGlmIGRlZmluZWQoX19NRDk1X18pCit0eXBlZGVmIHN0cnVjdHsgICAgCisgICAvLyBrYWxfaW50MzIgICAgICAgICAgICBnYWluX2VzdF9odzsgLyo+ICBTLTMuMTAsIGVwc2lsb24gKi8KKyAgICBrYWxfaW50OCAgICAgICAgICAgICBwaGFzZV9lc3RfaHc7Lyo+ICBTLTQuMTAsIC10aGV0YS8yLCBpbiByYWRpYW5zICovCisgICAga2FsX2ludDE2ICAgICAgICAgICAgZnJlcV9kZXBfZmlsdFtSWF9GRF9GSUxUX1RBUFNfTUFYX05VTV07IC8qPiAgVmFsaWQgZm9yIDItcG9pbnQgbWVhcy4gKi8KK30gQ0wxRF9SRl9SWERGRV9JUlJfQ09NUF9UOworI2VsaWYgKGRlZmluZWQoX19NRDk3X18pIHx8IGRlZmluZWQoX19NRDk3UF9fKSkKK3R5cGVkZWYgc3RydWN0eworICAgIGthbF9pbnQzMiAgICAgICAgICAgIHJ4X2ZpaXFfcGhhc2U7Lyo+ICBTLTQuMTAsIC10aGV0YS8yLCBpbiByYWRpYW5zICovCisgICAga2FsX2ludDE2ICAgICAgICAgICAgcnhfZmRpcV9jb2VmW1JYX0ZEX0ZJTFRfVEFQU19NQVhfTlVNXTsgLyo+ICBWYWxpZCBmb3IgMi1wb2ludCBtZWFzLiAqLworfSBDTDFEX1JGX1JYREZFX0lSUl9DT01QX1Q7CisjZW5kaWYKKwordHlwZWRlZiBzdHJ1Y3R7CisgICAgQ0wxRF9SRl9SWERGRV9JUlJfQ09NUF9UIGhwbTsKKyAgICBDTDFEX1JGX1JYREZFX0lSUl9DT01QX1QgbHBtOworfSBDTDFEX1JGX1JYREZFX0lSUl9DT01QX1BFUl9QQVRIX1Q7CisKKwordHlwZWRlZiBzdHJ1Y3R7CisgICAgQ0wxRF9SRl9SWERGRV9JUlJfQ09NUF9QRVJfUEFUSF9UIHJ4W1JYX1BBVEhfTUFYX05VTV07Cit9IENMMURfUkZfUlhERkVfSVJSX0NPTVBfUEVSX0JBTkRfVDsKKworCisKKworCisKKyNpZiBkZWZpbmVkKF9fTUQ5NV9fKQordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF91aW50OCAgICAgICAgICAgICAgICAgIGNyX3NlbDsgICAgIC8vLzwgMDogQzRSOCwgMTogQzVSNywgMjogQzZSNiwgMzogTkEKKyAgIGthbF91aW50OCAgICAgICAgICAgICAgICAgIHRhcF9zZWw7ICAgIC8vLzwgMDogOSB0YXBzLCAxOiAxNCB0YXBzCisgICBrYWxfdWludDMyICAgIGZpbHRlcl90YXBzW0NMMURfUkZfUlhERkVfUkZFUV9UQVBTX05VTV9NQVhdOyAvLy88IHM4Cit9Q0wxRF9SRl9SWERGRV9SRkVRX0NPTVBfVDsKKwordHlwZWRlZiBzdHJ1Y3R7CisKKwlDTDFEX1JGX1JYREZFX1JGRVFfQ09NUF9UIHJmZXFfaHBtOworCUNMMURfUkZfUlhERkVfUkZFUV9DT01QX1QgcmZlcV9scG07Cit9Q0wxRF9SWERGRV9SRkVRX0NPTVBfQldfVDsJCisjZW5kaWYKKyNpZiAoZGVmaW5lZChfX01EOTdfXykgfHwgZGVmaW5lZChfX01EOTdQX18pKQordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF91aW50MzIgY29lZltDTDFEX1JGX1JYREZFX1JGRVFfVEFQU19OVU1fTUFYXTsKKyAgIGthbF91aW50MzIgcG93ZXJfc2F2aW5nX21vZGU7CisgICBrYWxfdWludDMyIGN0X3NlbDsgICAgICAgICAgICAgICAgICAgICAvLy88IDA6IEM0UjgsIDE6IEM1UjcsIDI6IEM2UjYsIDM6IE5BCit9Q0wxRF9SRl9SWERGRV9SRkVRX0NPTVBfVDsKKwordHlwZWRlZiBzdHJ1Y3R7CisKKwlDTDFEX1JGX1JYREZFX1JGRVFfQ09NUF9UIHJmZXFfaHBtOworCUNMMURfUkZfUlhERkVfUkZFUV9DT01QX1QgcmZlcV9scG07Cit9Q0wxRF9SWERGRV9SRkVRX0NPTVBfQldfVDsJCisjZW5kaWYKKworCisKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfaW50MTYgZGNfaTsgLyo+ICBSRiBEQzpTNS4wLHJlc29sdXRpb24gPSA5bVYuIERGRSBEQzogUzAuMTQsIGZpeGVkIHBvaW50IHZhbHVlIGF0IFJ4IEFEQywgUnggQURDIGZ1bGwgc3dpbmcgaXMgKy8tMS42MnYgKi8KKyAgICBrYWxfaW50MTYgZGNfcTsgLyo+ICBSRiBEQzpTNS4wLHJlc29sdXRpb24gPSA5bVYuIERGRSBEQzogUzAuMTQsIGZpeGVkIHBvaW50IHZhbHVlIGF0IFJ4IEFEQywgUnggQURDIGZ1bGwgc3dpbmcgaXMgKy8tMS42MnYgKi8KK30gQ0wxRF9SRl9SWERGRV9EQ19DT01QX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgQ0wxRF9SRl9SWERGRV9EQ19DT01QX1QgaHBtW0NMMURfUkZfUlhERkVfRENfVElBX0dBSU5fSFBNX1NURVBTXVtDTDFEX1JGX1JYREZFX0RDX1BHQV9HQUlOX0hQTV9TVEVQU107CisgICAgQ0wxRF9SRl9SWERGRV9EQ19DT01QX1QgbHBtW0NMMURfUkZfUlhERkVfRENfVElBX0dBSU5fTFBNX1NURVBTXVtDTDFEX1JGX1JYREZFX0RDX1BHQV9HQUlOX0xQTV9TVEVQU107Cit9IENMMURfUkZfUlhERkVfRENfQ09NUF9QRVJfUEFUSF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgQ0wxRF9SRl9SWERGRV9EQ19DT01QX1BFUl9QQVRIX1QgcnhbUlhfUEFUSF9NQVhfTlVNXTsKK30gQ0wxRF9SRl9SWERGRV9EQ19DT01QX1BFUl9CQU5EX1Q7CisKKworLyogVFJBTlNDRUlWRVIgUEFSVCAqLworLyoqIFBPQyAgcHJvY2Vzc2luZyByZXN1bHQgc3RydWN0dXJlIGRlZmluaXRpb24qLworI2lmIElTX0NMMURfUkZfVFJJTklUWTJMIHx8IElTX0NMMURfUkZfVFJJTklUWUxFMgordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF91aW50MzIgaV9pZHhfb3B0OyAvKj4gb3B0aW11bSBnYXRlIGJpYXMgb24gSSBjaGFubmVsICAqLworICAga2FsX3VpbnQzMiBxX2lkeF9vcHQ7IC8qPiBvcHRpbXVtIGdhdGUgYmlhcyBvbiBRIGNoYW5uZWwgICovCit9UlhfSUlQMl9DQUxfUkVTVUxUX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgIGthbF91aW50MzIgdHhfbG9fY3c3MTQ7ICAgICAvKiBUWCBMTyBDYWwgKi8KK31UWF9MT19DQUxfUkVTVUxUX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBrYWxfaW50MTYgdHhfYWJiX2NzZWwyOworICAga2FsX2ludDE2IHR4X2FiYl9jc2VsMTsKKyAgIGthbF9pbnQxNiB0eF9hYmJfcnNlbDsKKyAgIC8vUkNGIHVzZSBkZWZhdWx0IHZhbHVlCisgICBrYWxfaW50MTYgdHhfcmNmX2NzZWxfNGE7CisgICBrYWxfaW50MTYgdHhfcmNmX2NzZWxfMmE7CisgICBrYWxfaW50MTYgdHhfcmNmX2NzZWxfMWE7CisgICBrYWxfaW50MTYgdHhfcmNmX3JzZWw7Cit9VFhfUkNfQ0FMX1JFU1VMVF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX2ludDMyIHR4X2NvYXJzZWRjX2k7CisgICBrYWxfaW50MzIgdHhfY29hcnNlZGNfcTsgICAKK31UWF9jb2Fyc2VfRENfUkVTVUxUX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBrYWxfdWludDggdHhfcGdhX2N0dW5lOworICAga2FsX3VpbnQ4IHR4X21vZF9jdHVuZTsKK31UWF9DQVBfQ0FMX1JFU1VMVF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX3VpbnQzMiBtcnhfY2Rjb2NfaTsgIAorICAga2FsX3VpbnQzMiBtcnhfY2Rjb2NfcTsKK31ERVRfQ0RDT0NfQ0FMX1JFU1VMVF9UOworCit0eXBlZGVmIHN0cnVjdHsgICAgCisgICAga2FsX2ludDE2IGdhaW5fZXN0OyAgLyo+ICBTLTMuMTAgKi8KKyAgICBrYWxfaW50MTYgcGhhc2VfZXN0OyAvKj4gIFMtNC4xMCAqLworfURFVF9JUV9DQUxfUkVTVUxUX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAvKiogVGhlIGVzdGltYXRlIERDIG9mZnNldCBpbiBTMC4xMSAqLworICAga2FsX2ludDE2IGRjb19lc3RfaTsgCisgICBrYWxfaW50MTYgZGNvX2VzdF9xOyAKK31ERVRfRENfQ0FMX1JFU1VMVF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX3VpbnQzMiB0eF9kZXRfY3c4MTc7IC8qIEJpdDE5LUJpdDEyIE5jc2VsICovCit9REVUX1NQQVJFU19UOworCisvKiogUlhEQyBUYWJsZSBjb250ZXh0ICovCit0eXBlZGVmIHN0cnVjdCAKK3sKKyAga2FsX3VpbnQxNiAgcnhEY29jSTsgIC8qKiBTNS4wLHJlc29sdXRpb24gPSA5bVYgKi8KKyAga2FsX3VpbnQxNiAgcnhEY29jUTsgIC8qKiBTNS4wLHJlc29sdXRpb24gPSA5bVYgKi8KK31DTDFEX1JGX0RFVl9QT0NfUkZfUlhfRENPQ19UOyAvL0NMMURfUkZfREVWX1JGX1JYX0RDT0NfVAorCit0eXBlZGVmIHN0cnVjdCAKK3sKKyAgIC8qKiBUaGUgZXN0aW1hdGUgREMgb2Zmc2V0LCBUeFBhdGg6UzAuMTQsIFR4IERBQyBmdWxsIHN3aW5nIGlzICsvLTEuMDV2LiBEZXRQYXRoOlMwLjExLCBkZXQgQURDIGZ1bGwgc3dpbmcgaXMgKy8tMC42diwgMTNNSHogY2xvY2sgKi8KKyAgIGthbF9pbnQxNiAgICBkY29fZXN0X2k7IAorICAga2FsX2ludDE2ICAgIGRjb19lc3RfcTsgCisgICAvKiogVGhlIGVzdGltYXRlIHBoYXNlIGVycm9yLCBUeFBhdGg6Uy00LjEwLCAtdGhldGEvMiwgaW4gcmFkaWFucy4gRGV0UGF0aDpTLTQuMTAsIC10aGV0YS8yLCBpbiByYWRpYW5zICovCisgICBrYWxfaW50MTYgICAgcGhhc2VfZXN0OyAKKyAgIC8qKiBUaGUgZXN0aW1hdGUgZ2FpbiBlcnJvciwgVHhQYXRoOlMtNC4xMCwgZXBzaWxvbi8yLiBEZXRQYXRoOlMtMy4xMCwgZXBzaWxvbiAqLworICAga2FsX2ludDE2ICAgIGdhaW5fZXN0OyAKK31DTDFEX1JGX0RFVl9QT0NfSVFfRENfQ0FMSUJfUEFSTV9UOyAvL0NMMURfUkZfREVWX0lRX0RDX0NBTElCX1BBUk1fVAorCit0eXBlZGVmIHN0cnVjdCAKK3sKKyAga2FsX2ludDE2ICAgcGdhX2dhaW47ICAgIC8qKiBUWF9QR0EgcmVsYXRpdmUgZ2FpbiB3aXRoIEcwLCAxLzMyZEIgdW5pdCAqLworfUNMMURfUkZfREVWX1BPQ19SRl9UWF9BR0NfVEFCTEVfVDsKKworLyoqIFRYIGFuZCBERVQgcGF0aCBJUSBpbWJhbGFuY2UgYW5kIERDIFBPQyByZXN1bHQgc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdHsgICAgCisgICBrYWxfaW50MTYgZ2Fpbl9lc3Q7ICAvKj4gIFMtMy4xMCwgZXBzaWxvbiAqLworICAga2FsX2ludDE2IHBoYXNlX2VzdDsgLyo+ICBTLTQuMTAsIC10aGV0YS8yLCBpbiByYWRpYW5zICovCit9Q0wxRF9SRl9ERVZfUE9DX0RFVF9JUV9DQUxfUEFSTV9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgLyoqIFRoZSBlc3RpbWF0ZSBEQyBvZmZzZXQgaW4gUzAuMTEsIGRldCBBREMgZnVsbCBzd2luZyBpcyArLy0wLjZ2LCB0aGUgY2xvY2sgaXMgMTNNSHogKi8KKyAgIGthbF9pbnQxNiBkY29fZXN0X2k7IAorICAga2FsX2ludDE2IGRjb19lc3RfcTsgCit9Q0wxRF9SRl9ERVZfUE9DX0RFVF9EQ19DQUxfUEFSTV9UOworCit0eXBlZGVmIHN0cnVjdCB7CisgICBrYWxfdWludDMyIGRjOyAgLypSRiBEQyBvZmZzZXQgaW4gUzUuMCovIC8qZGlnaXRhbCBEQyBvZmZzZXQgaW4gUzAuMTQqLworfUNMMURfUkZfREVWX0RDX1Q7CisKK3R5cGVkZWYgc3RydWN0IHsKKyAgIENMMURfUkZfREVWX0RDX1QgRENfREFUQV9JX0hQTVtDTDFEX1JGX0RFVl9USUFfTlVNXVtDTDFEX1JGX0lGX01BWF9OVU1dOworICAgQ0wxRF9SRl9ERVZfRENfVCBEQ19EQVRBX0lfTFBNW0NMMURfUkZfREVWX1RJQV9OVU1dW0NMMURfUkZfSUZfTUFYX05VTV07CisgICBDTDFEX1JGX0RFVl9EQ19UIERDX0RBVEFfUV9IUE1bQ0wxRF9SRl9ERVZfVElBX05VTV1bQ0wxRF9SRl9JRl9NQVhfTlVNXTsKKyAgIENMMURfUkZfREVWX0RDX1QgRENfREFUQV9RX0xQTVtDTDFEX1JGX0RFVl9USUFfTlVNXVtDTDFEX1JGX0lGX01BWF9OVU1dOworfSBDTDFEX1JGX0RFVl9EQ19UQkxfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKy8qIFJYIElSUiwgY29uZmlnIGluIFJYREZFICovCisgICAgLy9DTDFEX1JGX0RFVl9ERkVfUlhfSVJSX1QgcnhfaXJyX2hwbVtSWF9QQVRIX01BWF9OVU1dOworICAgIC8vQ0wxRF9SRl9ERVZfREZFX1JYX0lSUl9UIHJ4X2lycl9scG1bUlhfUEFUSF9NQVhfTlVNXTsKKworLyogUlggREMgb2YgREZFKi8KKyAgICAvL0NMMURfUkZfREVWX0RGRV9SWF9EQ19UIGRmZV9yeF9kY19ocG1bUlhfUEFUSF9NQVhfTlVNXVtDTDFEX1JGX0RFVl9QT0NfUlhBR0NfVEFCTEVfTUFYX0lOREVYXTsKKyAgICAvL0NMMURfUkZfREVWX0RGRV9SWF9EQ19UIGRmZV9yeF9kY19scG1bUlhfUEFUSF9NQVhfTlVNXVtDTDFEX1JGX0RFVl9QT0NfUlhBR0NfVEFCTEVfTUFYX0lOREVYXTsKKworLyogUlggREMgb2YgUkYqLworICAgQ0wxRF9SRl9ERVZfRENfVEJMX1QgcmZfcnhfZGNbUlhfUEFUSF9NQVhfTlVNXTsvL21haW4vZGl2L3NlYworI2lmIElTX0NMMURfUlhEQ19HWEVfU1VQUE9SVAorICAgQ0wxRF9SRl9ERVZfRENfVEJMX1QgcmZfcnhfZGNfR1hFW1JYX1BBVEhfTUFYX05VTV07CisjZW5kaWYKKy8qIFJYIElJUDIsIGNvbmZpZyBpbiBSRiAqLworICAgUlhfSUlQMl9DQUxfUkVTVUxUX1QgcnhfaWlwMl9jYWxfcmVzdWx0W1JYX1BBVEhfTUFYX05VTV07Ly9tYWluL2Rpdi9zZWMKK31SWF9QT0NfVEFCTEVfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKy8qIFRYIEFCQiBSQywgY29uZmlnIGluIFJGICovCisgICBUWF9SQ19DQUxfUkVTVUxUX1QgdHhfcmNfY2FsX3Jlc3VsdDsvL1IgdXNlIGRlZmF1bHQgdmFsdWUKKworLyogVFggRE5MICovCisgICBDTDFEX1JGX0RFVl9QT0NfUkZfVFhfQUdDX1RBQkxFX1QgdHhfZG5sX2NhbF9yZXN1bHRbQ0wxRF9SRl9ERVZfUE9DX1RYX1BHQV9UQUJMRV9TSVpFXTsKKworLyogVFggQ2FwIFR1bmluZywgY29uZmlnIGluIFJGICovCisgICBUWF9DQVBfQ0FMX1JFU1VMVF9UIHR4X2NhcF9jYWxfcmVzdWx0OworCisgICAvL2thbF9pbnQxNiAgICAgICAgICAgdHhfcGdhX3BoYXNlX3N0ZXA7CisKK31UWF9QT0NfVEFCTEVfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKy8qIERFVCBjb2Fyc2UgRENPQywgY29uZmlnIGluIFJGICovCisgICBERVRfQ0RDT0NfQ0FMX1JFU1VMVF9UIGRldF9jZGNvY19jYWxfcmVzdWx0W0NMMURfUkZfREVUX1BHQV9HQUlOX1NURVBTXTsKKyAgIERFVF9DRENPQ19DQUxfUkVTVUxUX1QgZGV0X2NkY29jX3R4bGJfY2FsX3Jlc3VsdFtDTDFEX1JGX0RFVF9QR0FfR0FJTl9TVEVQU107CisKKy8qIERFVCBzcGFyZSAqLworICAgLy9ERVRfU1BBUkVTX1QgIGRldF9zcGFyZXM7CisKKy8qIE1SWCBQR0EmVFpBIEN0dW5lICovCisgICBrYWxfdWludDggbXJ4X3BnYV9jdHVuZTsvL3VzZSBkZWZhdWx0IHZhbHVlCisgICBrYWxfdWludDggbXJ4X3R6YV9jdHVuZTsvL3VzZSBkZWZhdWx0IHZhbHVlCisKK31ERVRfUE9DX1RBQkxFX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgUlhfUE9DX1RBQkxFX1QgIHJ4X3BvY190YWJsZTsKKyAgICBUWF9QT0NfVEFCTEVfVCAgdHhfcG9jX3RhYmxlOworICAgIERFVF9QT0NfVEFCTEVfVCBkZXRfcG9jX3RhYmxlOworfUNMMURfUkZfUE9DX0RFVl9GSU5BTF9SRVNVTFRfVDsKKworI2VsaWYgSVNfQ0wxRF9SRl9UUklOSVRZTAordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF91aW50MzIgaV9pZHhfb3B0OyAvKj4gb3B0aW11bSBnYXRlIGJpYXMgb24gSSBjaGFubmVsICAqLworICAga2FsX3VpbnQzMiBxX2lkeF9vcHQ7IC8qPiBvcHRpbXVtIGdhdGUgYmlhcyBvbiBRIGNoYW5uZWwgICovCit9UlhfSUlQMl9DQUxfUkVTVUxUX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgIGthbF91aW50MzIgdHhfbG9fY3c3MTQ7ICAgICAvKiBUWCBMTyBDYWwgKi8KK31UWF9MT19DQUxfUkVTVUxUX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBrYWxfaW50MTYgdHhfYWJiX2NzZWwyOworICAga2FsX2ludDE2IHR4X2FiYl9jc2VsMTsKKyAgIGthbF9pbnQxNiB0eF9hYmJfcnNlbDsKKyAgIC8vUkNGIHVzZSBkZWZhdWx0IHZhbHVlCisgICBrYWxfaW50MTYgdHhfcmNmX2NzZWxfNGE7CisgICBrYWxfaW50MTYgdHhfcmNmX2NzZWxfMmE7CisgICBrYWxfaW50MTYgdHhfcmNmX2NzZWxfMWE7CisgICBrYWxfaW50MTYgdHhfcmNmX3JzZWw7Cit9VFhfUkNfQ0FMX1JFU1VMVF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX2ludDMyIHR4X2NvYXJzZWRjX2k7CisgICBrYWxfaW50MzIgdHhfY29hcnNlZGNfcTsgICAKK31UWF9jb2Fyc2VfRENfUkVTVUxUX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBrYWxfdWludDggdHhfcGdhX2N0dW5lOworICAga2FsX3VpbnQ4IHR4X21vZF9jdHVuZTsKK31UWF9DQVBfQ0FMX1JFU1VMVF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX3VpbnQzMiBtcnhfY2Rjb2NfaTsgIAorICAga2FsX3VpbnQzMiBtcnhfY2Rjb2NfcTsKK31ERVRfQ0RDT0NfQ0FMX1JFU1VMVF9UOworCit0eXBlZGVmIHN0cnVjdHsgICAgCisgICAga2FsX2ludDE2IGdhaW5fZXN0OyAgLyo+ICBTLTMuMTAgKi8KKyAgICBrYWxfaW50MTYgcGhhc2VfZXN0OyAvKj4gIFMtNC4xMCAqLworfURFVF9JUV9DQUxfUkVTVUxUX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAvKiogVGhlIGVzdGltYXRlIERDIG9mZnNldCBpbiBTMC4xMSAqLworICAga2FsX2ludDE2IGRjb19lc3RfaTsgCisgICBrYWxfaW50MTYgZGNvX2VzdF9xOyAKK31ERVRfRENfQ0FMX1JFU1VMVF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX3VpbnQzMiB0eF9kZXRfY3c4MTc7IC8qIEJpdDE5LUJpdDEyIE5jc2VsICovCit9REVUX1NQQVJFU19UOworCisvKiogUlhEQyBUYWJsZSBjb250ZXh0ICovCit0eXBlZGVmIHN0cnVjdCAKK3sKKyAga2FsX3VpbnQxNiAgcnhEY29jSTsgIC8qKiBTNS4wLHJlc29sdXRpb24gPSA5bVYgKi8KKyAga2FsX3VpbnQxNiAgcnhEY29jUTsgIC8qKiBTNS4wLHJlc29sdXRpb24gPSA5bVYgKi8KK31DTDFEX1JGX0RFVl9QT0NfUkZfUlhfRENPQ19UOyAvL0NMMURfUkZfREVWX1JGX1JYX0RDT0NfVAorCit0eXBlZGVmIHN0cnVjdCAKK3sKKyAgIC8qKiBUaGUgZXN0aW1hdGUgREMgb2Zmc2V0LCBUeFBhdGg6UzAuMTQsIFR4IERBQyBmdWxsIHN3aW5nIGlzICsvLTEuMDV2LiBEZXRQYXRoOlMwLjExLCBkZXQgQURDIGZ1bGwgc3dpbmcgaXMgKy8tMC42diwgMTNNSHogY2xvY2sgKi8KKyAgIGthbF9pbnQxNiAgICBkY29fZXN0X2k7IAorICAga2FsX2ludDE2ICAgIGRjb19lc3RfcTsgCisgICAvKiogVGhlIGVzdGltYXRlIHBoYXNlIGVycm9yLCBUeFBhdGg6Uy00LjEwLCAtdGhldGEvMiwgaW4gcmFkaWFucy4gRGV0UGF0aDpTLTQuMTAsIC10aGV0YS8yLCBpbiByYWRpYW5zICovCisgICBrYWxfaW50MTYgICAgcGhhc2VfZXN0OyAKKyAgIC8qKiBUaGUgZXN0aW1hdGUgZ2FpbiBlcnJvciwgVHhQYXRoOlMtNC4xMCwgZXBzaWxvbi8yLiBEZXRQYXRoOlMtMy4xMCwgZXBzaWxvbiAqLworICAga2FsX2ludDE2ICAgIGdhaW5fZXN0OyAKK31DTDFEX1JGX0RFVl9QT0NfSVFfRENfQ0FMSUJfUEFSTV9UOyAvL0NMMURfUkZfREVWX0lRX0RDX0NBTElCX1BBUk1fVAorCit0eXBlZGVmIHN0cnVjdCAKK3sKKyAga2FsX2ludDE2ICAgcGdhX2dhaW47ICAgIC8qKiBUWF9QR0EgcmVsYXRpdmUgZ2FpbiB3aXRoIEcwLCAxLzMyZEIgdW5pdCAqLworfUNMMURfUkZfREVWX1BPQ19SRl9UWF9BR0NfVEFCTEVfVDsKKworLyoqIFRYIGFuZCBERVQgcGF0aCBJUSBpbWJhbGFuY2UgYW5kIERDIFBPQyByZXN1bHQgc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdHsgICAgCisgICBrYWxfaW50MTYgZ2Fpbl9lc3Q7ICAvKj4gIFMtMy4xMCwgZXBzaWxvbiAqLworICAga2FsX2ludDE2IHBoYXNlX2VzdDsgLyo+ICBTLTQuMTAsIC10aGV0YS8yLCBpbiByYWRpYW5zICovCit9Q0wxRF9SRl9ERVZfUE9DX0RFVF9JUV9DQUxfUEFSTV9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgLyoqIFRoZSBlc3RpbWF0ZSBEQyBvZmZzZXQgaW4gUzAuMTEsIGRldCBBREMgZnVsbCBzd2luZyBpcyArLy0wLjZ2LCB0aGUgY2xvY2sgaXMgMTNNSHogKi8KKyAgIGthbF9pbnQxNiBkY29fZXN0X2k7IAorICAga2FsX2ludDE2IGRjb19lc3RfcTsgCit9Q0wxRF9SRl9ERVZfUE9DX0RFVF9EQ19DQUxfUEFSTV9UOworCit0eXBlZGVmIHN0cnVjdCB7CisgICBrYWxfdWludDMyIGRjOyAgLypSRiBEQyBvZmZzZXQgaW4gUzUuMCovIC8qZGlnaXRhbCBEQyBvZmZzZXQgaW4gUzAuMTQqLworfUNMMURfUkZfREVWX0RDX1Q7CisKK3R5cGVkZWYgc3RydWN0IHsKKyAgIENMMURfUkZfREVWX0RDX1QgRENfREFUQV9JX0hQTVtDTDFEX1JGX0RFVl9USUFfTlVNXVtDTDFEX1JGX0lGX01BWF9OVU1dOworICAgQ0wxRF9SRl9ERVZfRENfVCBEQ19EQVRBX0lfTFBNW0NMMURfUkZfREVWX1RJQV9OVU1dW0NMMURfUkZfSUZfTUFYX05VTV07CisgICBDTDFEX1JGX0RFVl9EQ19UIERDX0RBVEFfUV9IUE1bQ0wxRF9SRl9ERVZfVElBX05VTV1bQ0wxRF9SRl9JRl9NQVhfTlVNXTsKKyAgIENMMURfUkZfREVWX0RDX1QgRENfREFUQV9RX0xQTVtDTDFEX1JGX0RFVl9USUFfTlVNXVtDTDFEX1JGX0lGX01BWF9OVU1dOworfSBDTDFEX1JGX0RFVl9EQ19UQkxfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKy8qIFJYIElSUiwgY29uZmlnIGluIFJYREZFICovCisgICAgLy9DTDFEX1JGX0RFVl9ERkVfUlhfSVJSX1QgcnhfaXJyX2hwbVtSWF9QQVRIX01BWF9OVU1dOworICAgIC8vQ0wxRF9SRl9ERVZfREZFX1JYX0lSUl9UIHJ4X2lycl9scG1bUlhfUEFUSF9NQVhfTlVNXTsKKworLyogUlggREMgb2YgREZFKi8KKyAgICAvL0NMMURfUkZfREVWX0RGRV9SWF9EQ19UIGRmZV9yeF9kY19ocG1bUlhfUEFUSF9NQVhfTlVNXVtDTDFEX1JGX0RFVl9QT0NfUlhBR0NfVEFCTEVfTUFYX0lOREVYXTsKKyAgICAvL0NMMURfUkZfREVWX0RGRV9SWF9EQ19UIGRmZV9yeF9kY19scG1bUlhfUEFUSF9NQVhfTlVNXVtDTDFEX1JGX0RFVl9QT0NfUlhBR0NfVEFCTEVfTUFYX0lOREVYXTsKKworLyogUlggREMgb2YgUkYqLworICAgQ0wxRF9SRl9ERVZfRENfVEJMX1QgcmZfcnhfZGNbUlhfUEFUSF9NQVhfTlVNXTsvL21haW4vZGl2L3NlYworCisvKiBSWCBJSVAyLCBjb25maWcgaW4gUkYgKi8KKyAgIFJYX0lJUDJfQ0FMX1JFU1VMVF9UIHJ4X2lpcDJfY2FsX3Jlc3VsdFtSWF9QQVRIX01BWF9OVU1dOy8vbWFpbi9kaXYvc2VjCit9UlhfUE9DX1RBQkxFX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisvKiBUWCBBQkIgUkMsIGNvbmZpZyBpbiBSRiAqLworICAgVFhfUkNfQ0FMX1JFU1VMVF9UIHR4X3JjX2NhbF9yZXN1bHQ7Ly9SIHVzZSBkZWZhdWx0IHZhbHVlCisKKy8qIFRYIEROTCAqLworICAgQ0wxRF9SRl9ERVZfUE9DX1JGX1RYX0FHQ19UQUJMRV9UIHR4X2RubF9jYWxfcmVzdWx0W0NMMURfUkZfREVWX1BPQ19UWF9QR0FfVEFCTEVfU0laRV07CisKKy8qIFRYIENhcCBUdW5pbmcsIGNvbmZpZyBpbiBSRiAqLworICAgVFhfQ0FQX0NBTF9SRVNVTFRfVCB0eF9jYXBfY2FsX3Jlc3VsdDsKKworICAgLy9rYWxfaW50MTYgICAgICAgICAgIHR4X3BnYV9waGFzZV9zdGVwOworCit9VFhfUE9DX1RBQkxFX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisvKiBERVQgY29hcnNlIERDT0MsIGNvbmZpZyBpbiBSRiAqLworICAgREVUX0NEQ09DX0NBTF9SRVNVTFRfVCBkZXRfY2Rjb2NfY2FsX3Jlc3VsdFtDTDFEX1JGX0RFVF9QR0FfR0FJTl9TVEVQU107CisKKy8qIERFVCBzcGFyZSAqLworICAgLy9ERVRfU1BBUkVTX1QgIGRldF9zcGFyZXM7CisKKy8qIE1SWCBQR0EmVFpBIEN0dW5lICovCisgICBrYWxfdWludDggbXJ4X3BnYV9jdHVuZTsvL3VzZSBkZWZhdWx0IHZhbHVlCisgICBrYWxfdWludDggbXJ4X3R6YV9jdHVuZTsvL3VzZSBkZWZhdWx0IHZhbHVlCisKK31ERVRfUE9DX1RBQkxFX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgUlhfUE9DX1RBQkxFX1QgIHJ4X3BvY190YWJsZTsKKyAgICBUWF9QT0NfVEFCTEVfVCAgdHhfcG9jX3RhYmxlOworICAgIERFVF9QT0NfVEFCTEVfVCBkZXRfcG9jX3RhYmxlOworfUNMMURfUkZfUE9DX0RFVl9GSU5BTF9SRVNVTFRfVDsKKworI2VsaWYgSVNfQ0wxRF9SRl9UUklOSVRZRTEgfHwgSVNfQ0wxRF9SRl9DT0xVTUJVU0UxLy90ZW1wIGZvciBHZW45NyB3YXJuaW5nCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX3VpbnQzMiAgICAgICAgICAgaV9pZHhfb3B0OyAvKj4gb3B0aW11bSBnYXRlIGJpYXMgb24gSSBjaGFubmVsICAqLworICAga2FsX3VpbnQzMiAgICAgICAgICAgcV9pZHhfb3B0OyAvKj4gb3B0aW11bSBnYXRlIGJpYXMgb24gUSBjaGFubmVsICAqLworfVJYX0lJUDJfQ0FMX1JFU1VMVF9DV19UOworCit0eXBlZGVmIHN0cnVjdAoreworICBrYWxfdWludDMyIHR4X2xvX2N3NzE0OyAgICAgLyogVFggTE8gQ2FsICovCit9VFhfTE9fQ0FMX1JFU1VMVF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX3VpbnQxNiB0eF9hYmJfY3NlbDsKKyAgIGthbF91aW50MTYgdHhfYWJiX3JzZWw7CisgICAvL1JDRiB1c2UgZGVmYXVsdCB2YWx1ZQorICAga2FsX3VpbnQxNiB0eF9yY2ZfY3NlbDsKKyAgIGthbF91aW50MTYgdHhfcmNmX2NzZWxfMWI7CisgICBrYWxfdWludDE2IHR4X3JjZl9jc2VsXzJhOworICAga2FsX3VpbnQxNiB0eF9yY2ZfcnNlbDsKK31UWF9SQ19DQUxfUkVTVUxUX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBrYWxfaW50MzIgdHhfY29hcnNlZGNfaTsKKyAgIGthbF9pbnQzMiB0eF9jb2Fyc2VkY19xOyAgIAorfVRYX2NvYXJzZV9EQ19SRVNVTFRfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF91aW50OCB0eF9wZ2FfY3R1bmU7CisgICBrYWxfdWludDggdHhfbW9kX2N0dW5lOworfVRYX0NBUF9DQUxfUkVTVUxUX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBrYWxfdWludDMyIG1yeF9jZGNvY2lfc2lnbjsgIC8qIE1SWCBjb2Fyc2UgREMgb2Zmc2V0IEkgY2hhbm5lbCBzaWduCQkqLworICAga2FsX3VpbnQzMiBtcnhfY2Rjb2NpX21hZzsJLyogTVJYIGNvYXJzZSBEQyBvZmZzZXQgSSBjaGFubmVsIG1hZ25pdHVkZSAqLworICAga2FsX3VpbnQzMiBtcnhfY2Rjb2NxX3NpZ247ICAvKiBNUlggY29hcnNlIERDIG9mZnNldCBRIGNoYW5uZWwgc2lnbgkJKi8KKyAgIGthbF91aW50MzIgbXJ4X2NkY29jcV9tYWc7CS8qIE1SWCBjb2Fyc2UgREMgb2Zmc2V0IFEgY2hhbm5lbCBtYWduaXR1ZGUgKi8KK31ERVRfQ0RDT0NfQ0FMX1JFU1VMVF9UOworCit0eXBlZGVmIHN0cnVjdHsgICAgCisgICAga2FsX2ludDE2IGdhaW5fZXN0OyAgLyo+ICBTLTMuMTAgKi8KKyAgICBrYWxfaW50MTYgcGhhc2VfZXN0OyAvKj4gIFMtNC4xMCAqLworfURFVF9JUV9DQUxfUkVTVUxUX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAvKiogVGhlIGVzdGltYXRlIERDIG9mZnNldCBpbiBTMC4xMSAqLworICAga2FsX2ludDE2IGRjb19lc3RfaTsgCisgICBrYWxfaW50MTYgZGNvX2VzdF9xOyAKK31ERVRfRENfQ0FMX1JFU1VMVF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX3VpbnQzMiB0eF9kZXRfY3c4MTc7IC8qIEJpdDE5LUJpdDEyIE5jc2VsICovCit9REVUX1NQQVJFU19UOworCisvKiogUlhEQyBUYWJsZSBjb250ZXh0ICovCit0eXBlZGVmIHN0cnVjdCAKK3sKKyAga2FsX3VpbnQxNiAgcnhEY29jSTsgIC8qKiBTNS4wLHJlc29sdXRpb24gPSA5bVYgKi8KKyAga2FsX3VpbnQxNiAgcnhEY29jUTsgIC8qKiBTNS4wLHJlc29sdXRpb24gPSA5bVYgKi8KK31DTDFEX1JGX0RFVl9QT0NfUkZfUlhfRENPQ19UOyAvL0NMMURfUkZfREVWX1JGX1JYX0RDT0NfVAorCit0eXBlZGVmIHN0cnVjdCAKK3sKKyAgIC8qKiBUaGUgZXN0aW1hdGUgREMgb2Zmc2V0LCBUeFBhdGg6UzAuMTQsIFR4IERBQyBmdWxsIHN3aW5nIGlzICsvLTEuMDV2LiBEZXRQYXRoOlMwLjExLCBkZXQgQURDIGZ1bGwgc3dpbmcgaXMgKy8tMC42diwgMTNNSHogY2xvY2sgKi8KKyAgIGthbF9pbnQxNiAgICBkY29fZXN0X2k7IAorICAga2FsX2ludDE2ICAgIGRjb19lc3RfcTsgCisgICAvKiogVGhlIGVzdGltYXRlIHBoYXNlIGVycm9yLCBUeFBhdGg6Uy00LjEwLCAtdGhldGEvMiwgaW4gcmFkaWFucy4gRGV0UGF0aDpTLTQuMTAsIC10aGV0YS8yLCBpbiByYWRpYW5zICovCisgICBrYWxfaW50MTYgICAgcGhhc2VfZXN0OyAKKyAgIC8qKiBUaGUgZXN0aW1hdGUgZ2FpbiBlcnJvciwgVHhQYXRoOlMtNC4xMCwgZXBzaWxvbi8yLiBEZXRQYXRoOlMtMy4xMCwgZXBzaWxvbiAqLworICAga2FsX2ludDE2ICAgIGdhaW5fZXN0OyAKK31DTDFEX1JGX0RFVl9QT0NfSVFfRENfQ0FMSUJfUEFSTV9UOyAvL0NMMURfUkZfREVWX0lRX0RDX0NBTElCX1BBUk1fVAorCit0eXBlZGVmIHN0cnVjdCAKK3sKKyAga2FsX2ludDE2ICAgcGdhX2dhaW47ICAgIC8qKiBUWF9QR0EgcmVsYXRpdmUgZ2FpbiB3aXRoIEcwLCAxLzMyZEIgdW5pdCAqLworfUNMMURfUkZfREVWX1BPQ19SRl9UWF9BR0NfVEFCTEVfVDsKKworLyoqIFRYIGFuZCBERVQgcGF0aCBJUSBpbWJhbGFuY2UgYW5kIERDIFBPQyByZXN1bHQgc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdHsgICAgCisgICBrYWxfaW50MTYgZ2Fpbl9lc3Q7ICAvKj4gIFMtMy4xMCwgZXBzaWxvbiAqLworICAga2FsX2ludDE2IHBoYXNlX2VzdDsgLyo+ICBTLTQuMTAsIC10aGV0YS8yLCBpbiByYWRpYW5zICovCit9Q0wxRF9SRl9ERVZfUE9DX0RFVF9JUV9DQUxfUEFSTV9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgLyoqIFRoZSBlc3RpbWF0ZSBEQyBvZmZzZXQgaW4gUzAuMTEsIGRldCBBREMgZnVsbCBzd2luZyBpcyArLy0wLjZ2LCB0aGUgY2xvY2sgaXMgMTNNSHogKi8KKyAgIGthbF9pbnQxNiBkY29fZXN0X2k7IAorICAga2FsX2ludDE2IGRjb19lc3RfcTsgCit9Q0wxRF9SRl9ERVZfUE9DX0RFVF9EQ19DQUxfUEFSTV9UOworCit0eXBlZGVmIHN0cnVjdCB7CisgICBrYWxfdWludDMyIGRjOyAgLypSRiBEQyBvZmZzZXQgaW4gUzUuMCovIC8qZGlnaXRhbCBEQyBvZmZzZXQgaW4gUzAuMTQqLworfUNMMURfUkZfREVWX0RDX1Q7CisKK3R5cGVkZWYgc3RydWN0IHsKKyAgIENMMURfUkZfREVWX0RDX1QgRENfREFUQV9JX0hQTVtDTDFEX1JGX0RFVl9USUFfTlVNXVtDTDFEX1JGX0lGX01BWF9OVU1dOworICAgQ0wxRF9SRl9ERVZfRENfVCBEQ19EQVRBX0lfTFBNW0NMMURfUkZfREVWX1RJQV9OVU1dW0NMMURfUkZfSUZfTUFYX05VTV07CisgICBDTDFEX1JGX0RFVl9EQ19UIERDX0RBVEFfUV9IUE1bQ0wxRF9SRl9ERVZfVElBX05VTV1bQ0wxRF9SRl9JRl9NQVhfTlVNXTsKKyAgIENMMURfUkZfREVWX0RDX1QgRENfREFUQV9RX0xQTVtDTDFEX1JGX0RFVl9USUFfTlVNXVtDTDFEX1JGX0lGX01BWF9OVU1dOworfSBDTDFEX1JGX0RFVl9EQ19UQkxfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKy8qIFJYIElSUiwgY29uZmlnIGluIFJYREZFICovCisgICAgLy9DTDFEX1JGX0RFVl9ERkVfUlhfSVJSX1QgcnhfaXJyX2hwbVtSWF9QQVRIX01BWF9OVU1dOworICAgIC8vQ0wxRF9SRl9ERVZfREZFX1JYX0lSUl9UIHJ4X2lycl9scG1bUlhfUEFUSF9NQVhfTlVNXTsKKworLyogUlggREMgb2YgREZFKi8KKyAgICAvL0NMMURfUkZfREVWX0RGRV9SWF9EQ19UIGRmZV9yeF9kY19ocG1bUlhfUEFUSF9NQVhfTlVNXVtDTDFEX1JGX0RFVl9QT0NfUlhBR0NfVEFCTEVfTUFYX0lOREVYXTsKKyAgICAvL0NMMURfUkZfREVWX0RGRV9SWF9EQ19UIGRmZV9yeF9kY19scG1bUlhfUEFUSF9NQVhfTlVNXVtDTDFEX1JGX0RFVl9QT0NfUlhBR0NfVEFCTEVfTUFYX0lOREVYXTsKKworLyogUlggREMgb2YgUkYqLworICAgQ0wxRF9SRl9ERVZfRENfVEJMX1QgICAgICAgICByZl9yeF9kY1szXTsvL0Vkd2luIFRCRAorCisvKiBSWCBJSVAyLCBjb25maWcgaW4gUkYgKi8KKyAgIFJYX0lJUDJfQ0FMX1JFU1VMVF9DV19UIHJ4X2lpcDJfY2FsX3Jlc3VsdFsyXTsvL0Vkd2luIFRCRAorfVJYX1BPQ19UQUJMRV9UOworCit0eXBlZGVmIHN0cnVjdAoreworLyogVFggQUJCIFJDLCBjb25maWcgaW4gUkYgKi8KKyAgIFRYX1JDX0NBTF9SRVNVTFRfVCB0eF9yY19jYWxfcmVzdWx0Oy8vUiB1c2UgZGVmYXVsdCB2YWx1ZQorCisvKiBUWCBETkwgKi8KKyAgIENMMURfUkZfREVWX1BPQ19SRl9UWF9BR0NfVEFCTEVfVCB0eF9kbmxfY2FsX3Jlc3VsdFtDTDFEX1JGX0RFVl9QT0NfVFhfUEdBX1RBQkxFX1NJWkVdOworCisvKiBUWCBDYXAgVHVuaW5nLCBjb25maWcgaW4gUkYgKi8KKyAgIFRYX0NBUF9DQUxfUkVTVUxUX1QgdHhfY2FwX2NhbF9yZXN1bHQ7CisKKyAgIGthbF9pbnQxNiAgICAgICAgICAgdHhfcGdhX3BoYXNlX3N0ZXA7Ly9FZHdpbiBUQkQsIHJlbW92ZWQgaW4gR2VuOTUKKworfVRYX1BPQ19UQUJMRV9UOworCit0eXBlZGVmIHN0cnVjdAoreworLyogREVUIGNvYXJzZSBEQ09DLCBjb25maWcgaW4gUkYgKi8KKyAgIERFVF9DRENPQ19DQUxfUkVTVUxUX1QgZGV0X2NkY29jX2NhbF9yZXN1bHRbNF07Ly9FZHdpbiBUQkQKKworLyogREVUIHNwYXJlICovCisgICBERVRfU1BBUkVTX1QgIGRldF9zcGFyZXM7Ly9FZHdpbiBUQkQsIG5vdCBzdXJlIGlmIG5lZWRlZCBvciBub3QKKworLyogTVJYIFBHQSZUWkEgQ3R1bmUgKi8KKyAgIGthbF91aW50OCBtcnhfcGdhX2N0dW5lOy8vdXNlIGRlZmF1bHQgdmFsdWUKKyAgIGthbF91aW50OCBtcnhfdHphX2N0dW5lOy8vdXNlIGRlZmF1bHQgdmFsdWUKKworfURFVF9QT0NfVEFCTEVfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBSWF9QT0NfVEFCTEVfVCAgcnhfcG9jX3RhYmxlOworICAgIFRYX1BPQ19UQUJMRV9UICB0eF9wb2NfdGFibGU7CisgICAgREVUX1BPQ19UQUJMRV9UIGRldF9wb2NfdGFibGU7Cit9Q0wxRF9SRl9QT0NfREVWX0ZJTkFMX1JFU1VMVF9UOworCisjZWxzZQordHlwZWRlZiBzdHJ1Y3QKK3sKKyAga2FsX3VpbnQzMiByeGRfaWlwMl9jdzM0OTsgIC8qIFJYMSBJSVAyIENhbCAqLworICBrYWxfdWludDMyIHJ4X2lpcDJfY3c0NzM7ICAvKiBSWDEgSUlQMiBDYWwgKi8KKyAga2FsX3VpbnQzMiByeF9paXAyX2N3NDgyOyAgLyogUlgyIElJUDIgQ2FsICovCisgIGthbF91aW50MzIgcnhkX2lpcDJfY3czNTA7Cit9UlhfSUlQMl9DQUxfUkVTVUxUX0NXX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgIGthbF91aW50MzIgdHhfbG9fY3c3MTQ7ICAgICAvKiBUWCBMTyBDYWwgKi8KK31UWF9MT19DQUxfUkVTVUxUX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgIGthbF91aW50MzIgdHhfcmNfbHBmX2N3Nzg3OyAgLyogVFggUkMgQ2FsICovCisgIGthbF91aW50MzIgdHhfcmNfcmNmX2N3NzkzOyAgLyogVFggUkMgQ2FsICovCit9VFhfUkNfQ0FMX1JFU1VMVF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICBrYWxfdWludDMyIHR4X2JhbF9jYXBfY3c3OTU7ICAvKiBUWCBQR0EgQ2FwIFR1bmluZyAqLworICBrYWxfdWludDMyIHR4X2JhbF9jYXBfY3c3OTY7ICAvKiBUWCBQR0EgQ2FwIFR1bmluZyAqLworfVRYX0NBUF9DQUxfUkVTVUxUX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgIGthbF91aW50MzIgdHhfY2Rjb2NfY3c4MDc7ICAvKiBERVQgY29hcnNlIERDT0MgKi8KKyAga2FsX3VpbnQzMiB0eF9jZGNvY19jdzgwODsgIC8qIERFVCBjb2Fyc2UgRENPQyAqLworfURFVF9DRENPQ19DQUxfUkVTVUxUX1Q7CisKK3R5cGVkZWYgc3RydWN0eyAgICAKKyAgICBrYWxfaW50MTYgZ2Fpbl9lc3Q7ICAvKj4gIFMtMy4xMCAqLworICAgIGthbF9pbnQxNiBwaGFzZV9lc3Q7IC8qPiAgUy00LjEwICovCit9REVUX0lRX0NBTF9SRVNVTFRfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIC8qKiBUaGUgZXN0aW1hdGUgREMgb2Zmc2V0IGluIFMwLjExICovCisgICBrYWxfaW50MTYgZGNvX2VzdF9pOyAKKyAgIGthbF9pbnQxNiBkY29fZXN0X3E7IAorfURFVF9EQ19DQUxfUkVTVUxUX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBrYWxfdWludDMyIHR4X2RldF9jdzgxNzsgLyogQml0MTktQml0MTIgTmNzZWwgKi8KK31ERVRfU1BBUkVTX1Q7CisKKy8qKiBSWERDIFRhYmxlIGNvbnRleHQgKi8KK3R5cGVkZWYgc3RydWN0IAoreworICBrYWxfdWludDE2ICByeERjb2NJOyAgLyoqIFM1LjAscmVzb2x1dGlvbiA9IDltViAqLworICBrYWxfdWludDE2ICByeERjb2NROyAgLyoqIFM1LjAscmVzb2x1dGlvbiA9IDltViAqLworfUNMMURfUkZfREVWX1BPQ19SRl9SWF9EQ09DX1Q7IC8vQ0wxRF9SRl9ERVZfUkZfUlhfRENPQ19UCisKK3R5cGVkZWYgc3RydWN0IAoreworICAgLyoqIFRoZSBlc3RpbWF0ZSBEQyBvZmZzZXQsIFR4UGF0aDpTMC4xNCwgVHggREFDIGZ1bGwgc3dpbmcgaXMgKy8tMS4wNXYuIERldFBhdGg6UzAuMTEsIGRldCBBREMgZnVsbCBzd2luZyBpcyArLy0wLjZ2LCAxM01IeiBjbG9jayAqLworICAga2FsX2ludDE2ICAgIGRjb19lc3RfaTsgCisgICBrYWxfaW50MTYgICAgZGNvX2VzdF9xOyAKKyAgIC8qKiBUaGUgZXN0aW1hdGUgcGhhc2UgZXJyb3IsIFR4UGF0aDpTLTQuMTAsIC10aGV0YS8yLCBpbiByYWRpYW5zLiBEZXRQYXRoOlMtNC4xMCwgLXRoZXRhLzIsIGluIHJhZGlhbnMgKi8KKyAgIGthbF9pbnQxNiAgICBwaGFzZV9lc3Q7IAorICAgLyoqIFRoZSBlc3RpbWF0ZSBnYWluIGVycm9yLCBUeFBhdGg6Uy00LjEwLCBlcHNpbG9uLzIuIERldFBhdGg6Uy0zLjEwLCBlcHNpbG9uICovCisgICBrYWxfaW50MTYgICAgZ2Fpbl9lc3Q7IAorfUNMMURfUkZfREVWX1BPQ19JUV9EQ19DQUxJQl9QQVJNX1Q7IC8vQ0wxRF9SRl9ERVZfSVFfRENfQ0FMSUJfUEFSTV9UCisKK3R5cGVkZWYgc3RydWN0IAoreworICBrYWxfaW50MTYgICBwZ2FfZ2FpbjsgICAgLyoqIFRYX1BHQSByZWxhdGl2ZSBnYWluIHdpdGggRzAsIDEvMzJkQiB1bml0ICovCit9Q0wxRF9SRl9ERVZfUE9DX1JGX1RYX0FHQ19UQUJMRV9UOworCisvKiogVFggYW5kIERFVCBwYXRoIElRIGltYmFsYW5jZSBhbmQgREMgUE9DIHJlc3VsdCBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgc3RydWN0eyAgICAKKyAgIGthbF9pbnQxNiBnYWluX2VzdDsgIC8qPiAgUy0zLjEwLCBlcHNpbG9uICovCisgICBrYWxfaW50MTYgcGhhc2VfZXN0OyAvKj4gIFMtNC4xMCwgLXRoZXRhLzIsIGluIHJhZGlhbnMgKi8KK31DTDFEX1JGX0RFVl9QT0NfREVUX0lRX0NBTF9QQVJNX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAvKiogVGhlIGVzdGltYXRlIERDIG9mZnNldCBpbiBTMC4xMSwgZGV0IEFEQyBmdWxsIHN3aW5nIGlzICsvLTAuNnYsIHRoZSBjbG9jayBpcyAxM01IeiAqLworICAga2FsX2ludDE2IGRjb19lc3RfaTsgCisgICBrYWxfaW50MTYgZGNvX2VzdF9xOyAKK31DTDFEX1JGX0RFVl9QT0NfREVUX0RDX0NBTF9QQVJNX1Q7CisKK3R5cGVkZWYgc3RydWN0IHsKKyAgICBrYWxfdWludDMyIGRjOyAgLypSRiBEQyBvZmZzZXQgaW4gUzUuMCovIC8qZGlnaXRhbCBEQyBvZmZzZXQgaW4gUzAuMTQqLworfUNMMURfUkZfREVWX0RDX1Q7CisKK3R5cGVkZWYgc3RydWN0IHsKKyAgICBDTDFEX1JGX0RFVl9EQ19UIERDX0RBVEFfSV9IUE1bQ0wxRF9SRl9ERVZfVElBX05VTV1bQ0wxRF9SRl9JRl9NQVhfTlVNXTsKKyAgICBDTDFEX1JGX0RFVl9EQ19UIERDX0RBVEFfSV9MUE1bQ0wxRF9SRl9ERVZfVElBX05VTV1bQ0wxRF9SRl9JRl9NQVhfTlVNXTsKKyAgICBDTDFEX1JGX0RFVl9EQ19UIERDX0RBVEFfUV9IUE1bQ0wxRF9SRl9ERVZfVElBX05VTV1bQ0wxRF9SRl9JRl9NQVhfTlVNXTsKKyAgICBDTDFEX1JGX0RFVl9EQ19UIERDX0RBVEFfUV9MUE1bQ0wxRF9SRl9ERVZfVElBX05VTV1bQ0wxRF9SRl9JRl9NQVhfTlVNXTsKK30gQ0wxRF9SRl9ERVZfRENfVEJMX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisvKiBSWCBJUlIsIGNvbmZpZyBpbiBSWERGRSAqLworICAgIC8vQ0wxRF9SRl9ERVZfREZFX1JYX0lSUl9UIHJ4X2lycl9ocG1bUlhfUEFUSF9NQVhfTlVNXTsKKyAgICAvL0NMMURfUkZfREVWX0RGRV9SWF9JUlJfVCByeF9pcnJfbHBtW1JYX1BBVEhfTUFYX05VTV07CisKKy8qIFJYIERDIG9mIERGRSovCisgICAgLy9DTDFEX1JGX0RFVl9ERkVfUlhfRENfVCBkZmVfcnhfZGNfaHBtW1JYX1BBVEhfTUFYX05VTV1bQ0wxRF9SRl9ERVZfUE9DX1JYQUdDX1RBQkxFX01BWF9JTkRFWF07CisgICAgLy9DTDFEX1JGX0RFVl9ERkVfUlhfRENfVCBkZmVfcnhfZGNfbHBtW1JYX1BBVEhfTUFYX05VTV1bQ0wxRF9SRl9ERVZfUE9DX1JYQUdDX1RBQkxFX01BWF9JTkRFWF07CisKKy8qIFJYIERDIG9mIFJGKi8KKwlDTDFEX1JGX0RFVl9EQ19UQkxfVCAgICAgICAgIHJmX3J4X2RjWzNdOworCisvKiBSWCBJSVAyLCBjb25maWcgaW4gUkYgKi8KKyAgICBSWF9JSVAyX0NBTF9SRVNVTFRfQ1dfVCByeF9paXAyX2NhbF9yZXN1bHQ7Cit9UlhfUE9DX1RBQkxFX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisvKiBUWCBMTyBDYWwsIGNvbmZpZyBpbiBSRiAqLworICAgIFRYX0xPX0NBTF9SRVNVTFRfVCB0eF9sb19jYWxfcmVzdWx0OworCisvKiBUWCBSQywgY29uZmlnIGluIFJGICovCisgICAgVFhfUkNfQ0FMX1JFU1VMVF9UIHR4X3JjX2NhbF9yZXN1bHQ7CisKKy8qIFRYIElRREMsIGNvbmZpZyBpbiBUWERGRSAqLworLy8gICAgQ0wxRF9SRl9ERVZfUE9DX0lRX0RDX0NBTElCX1BBUk1fVCB0eF9pcV9kY19jYWxfcmVzdWx0W01NUkZDX0MyS19QT0NfVFhfUEdBX1NMSUNFX05VTSsxXTsKKworLyogVFggRE5MICovCisgICAgQ0wxRF9SRl9ERVZfUE9DX1JGX1RYX0FHQ19UQUJMRV9UIHR4X2RubF9jYWxfcmVzdWx0W0NMMURfUkZfREVWX1BPQ19UWF9QR0FfVEFCTEVfU0laRV07CisKKy8qIFRYIFBHQSBDYXAgVHVuaW5nLCBjb25maWcgaW4gUkYgKi8KKyAgICBUWF9DQVBfQ0FMX1JFU1VMVF9UIHR4X2NhcF9jYWxfcmVzdWx0OworCisvKiBUWCBQR0EgcGhhc2Ugc3RlcCAqLworICAgIGthbF9pbnQxNiAgICAgICAgICAgdHhfcGdhX3BoYXNlX3N0ZXA7CisKK31UWF9QT0NfVEFCTEVfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKy8qIERFVCBjb2Fyc2UgRENPQywgY29uZmlnIGluIFJGICovCisgICAgREVUX0NEQ09DX0NBTF9SRVNVTFRfVCBkZXRfY2Rjb2NfY2FsX3Jlc3VsdDsKKworLyogREVUIHNwYXJlICovCisgICAgREVUX1NQQVJFU19UICBkZXRfc3BhcmVzOworCisvKiBERVQgRE5MLCBjb25maWcgaW4gUkYgKi8KKyAgICBrYWxfaW50MTYgZGV0X2RubF9jYWxfcmVzdWx0W0NMMURfUkZfREVWX1BPQ19UWERFVF9BR0NfVEFCTEVfU0laRV07CisKKy8qIERFVCBJUSBpbWJhbGFuY2Ugd2l0aCBUeCBwYXRoIGZvcndhcmQgc2lnbmFsLCBjb25maWcgaW4gVFhERkUgICovCisgICAgQ0wxRF9SRl9ERVZfUE9DX0RFVF9JUV9DQUxfUEFSTV9UIGRldF9pcV9md2RbQ0wxRF9SRl9ERVZfUE9DX0RFVF9GRV9HQUlOX1NURVBTXTsKKworLyogREVUIGZpbmUgREMgd2l0aCBUeCBwYXRoIGZvcndhcmQgc2lnbmFsLCBjb25maWcgaW4gVFhERkUgKi8KKyAgICBDTDFEX1JGX0RFVl9QT0NfREVUX0RDX0NBTF9QQVJNX1QgZGV0X2RjX2Z3ZFtDTDFEX1JGX0RFVl9QT0NfVFhERVRfQUdDX1RBQkxFX1NJWkVdOworCisvKiBERVQgSVEgaW1iYWxhbmNlIHdpdGggVHggcGF0aCByZXZlcnNlIHNpZ25hbCwgY29uZmlnIGluIFRYREZFICAqLworICAgIENMMURfUkZfREVWX1BPQ19ERVRfSVFfQ0FMX1BBUk1fVCBkZXRfaXFfcmV2W0NMMURfUkZfREVWX1BPQ19ERVRfRkVfR0FJTl9TVEVQU107CisKKy8qIERFVCBmaW5lIERDIHdpdGggVHggcGF0aCByZXZlcnNlIHNpZ25hbCwgY29uZmlnIGluIFRYREZFICovCisgICAgQ0wxRF9SRl9ERVZfUE9DX0RFVF9EQ19DQUxfUEFSTV9UIGRldF9kY19yZXZbQ0wxRF9SRl9ERVZfUE9DX1RYREVUX0FHQ19UQUJMRV9TSVpFXTsKK31ERVRfUE9DX1RBQkxFX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgUlhfUE9DX1RBQkxFX1QgIHJ4X3BvY190YWJsZTsKKyAgICBUWF9QT0NfVEFCTEVfVCAgdHhfcG9jX3RhYmxlOworICAgIERFVF9QT0NfVEFCTEVfVCBkZXRfcG9jX3RhYmxlOworfUNMMURfUkZfUE9DX0RFVl9GSU5BTF9SRVNVTFRfVDsKKyNlbmRpZgorCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF9pbnQzMiBpX3BhcnQ7CisgICAga2FsX2ludDMyIHFfcGFydDsKK31DTDFEX1JGX1RYS19ERVRERkVfRVFMUEZfQ09NUF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIENMMURfUkZfVFhLX0RFVERGRV9FUUxQRl9DT01QX1QgY29lZltDTDFEX1JGX1RYS19ERVRERkVfRVFMUEZfVEFQX05VTV07CisgICAga2FsX2ludDMyICAgICAgICAgICAgICBzY2FsZV9pOworICAgIGthbF9pbnQzMiAgICAgICAgICAgICAgc2NhbGVfcTsKK31DTDFEX1JGX1RYS19ERVRERkVfRVFMUEZfQ0ZHX1Q7CisKKyNpZiBkZWZpbmVkKF9fTUQ5NV9fKSAKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgQ0wxRF9SRl9UWEtfREVUREZFX0VRTFBGX0NGR19UIHBlcl9mZV9nYWluOworfUNMMURfUkZfVFhLX0RFVERGRV9FUUxQRl9DT01QX1BFUl9CQU5EX1Q7CisjZWxpZiBkZWZpbmVkKF9fTUQ5M19fKSAKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgQ0wxRF9SRl9UWEtfREVUREZFX0VRTFBGX0NGR19UIHBlcl9mZV9nYWluW0NMMURfUkZfVFhLX0RFVERGRV9GRV9HQUlOX1NURVBTXTsKK31DTDFEX1JGX1RYS19ERVRERkVfRVFMUEZfQ09NUF9QRVJfQkFORF9UOworI2VsaWYgKGRlZmluZWQoX19NRDk3X18pIHx8IGRlZmluZWQoX19NRDk3UF9fKSkgCit0eXBlZGVmIHN0cnVjdAoreworICAgIENMMURfUkZfVFhLX0RFVERGRV9FUUxQRl9DRkdfVCBwZXJfZmVfZ2FpbjsKK31DTDFEX1JGX1RYS19ERVRERkVfRVFMUEZfQ09NUF9QRVJfQkFORF9UOworI2VuZGlmCisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX2ludDMyICAgICAgICAgICAgICBnYWluX2VzdF9odzsKKyAgICBrYWxfaW50MzIgICAgICAgICAgICAgIHBoYXNlX2VzdF9odzsKKyAgICBrYWxfaW50MzIgICAgICAgICAgICAgIGRubDsgCisgICAga2FsX2ludDMyICAgICAgICAgICAgICBmcmVxX2RlcF9waGFzZV9lc3Q7ICAgICAgICAgICAgICAgICAvLy88IFZhbGlkIGZvciAyLXBvaW50IG1lYXMuIGZvciBlcnJvciBoYW5kbGluZworfUNMMURfUkZfVFhLX0RFVERGRV9JUV9DT01QX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgQ0wxRF9SRl9UWEtfREVUREZFX0lRX0NPTVBfVCAgcGVyX2ZlX2dhaW5bQ0wxRF9SRl9UWEtfREVUREZFX0ZFX0dBSU5fU1RFUFNdOworfUNMMURfUkZfVFhLX0RFVERGRV9JUV9DT01QX1BFUl9CQU5EX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX2ludDMyICAgICAgICAgICAgZGNfZXN0X2k7IC8qPiAgUzAuMTEsIGZpeGVkIHBvaW50IHZhbHVlIGF0IERldCBBREMsIERldCBBREMgZnVsbCBzd2luZyBpcyArLy0wLjZ2ICovCisgICAga2FsX2ludDMyICAgICAgICAgICAgZGNfZXN0X3E7IC8qPiAgUzAuMTEsIGZpeGVkIHBvaW50IHZhbHVlIGF0IERldCBBREMsIERldCBBREMgZnVsbCBzd2luZyBpcyArLy0wLjZ2ICovCit9Q0wxRF9SRl9UWEtfREVUREZFX0RDX0NPTVBfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBDTDFEX1JGX1RYS19ERVRERkVfRENfQ09NUF9UIHBlcl9kZXRfZ2FpbltDTDFEX1JGX1RYS19ERVRERkVfR0FJTl9TVEVQU107Cit9Q0wxRF9SRl9UWEtfREVUREZFX0RDX0NPTVBfUEVSX0JBTkRfVDsKKworI2lmIElTX0NMMURfUkZfVFJJTklUWUwgfHwgSVNfQ0wxRF9SRl9UUklOSVRZMkwgfHwgSVNfQ0wxRF9SRl9UUklOSVRZTEUyCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF9pbnQzMiBwZ2FfYmlhc1tUWF9QR0FfQklBU19TRVRfTlVNXTsKK31DTDFEX1JGX1BPQ19ERVZfVFhfUEdBX0JJQVNfUkVTVUxUX1Q7CisjZW5kaWYKKwordHlwZWRlZiBzdHJ1Y3R7CisKKyAgICAvKiBOVlJBTSB2ZXJzaW9uIG51bWJlciAqLworI2lmIGRlZmluZWQoX19NRDk1X18pCisgICAga2FsX3VpbnQzMiB2ZXJubzsKKyNlbmRpZgorCisJLyogUlhERkUgKi8KKyAgICBDTDFEX1JGX1JYREZFX0lSUl9DT01QX1BFUl9CQU5EX1QgaXJyX2NvbXA7CisjaWYgZGVmaW5lZChfX01EOTVfXykKKyNlbGlmIChkZWZpbmVkKF9fTUQ5N19fKSB8fCBkZWZpbmVkKF9fTUQ5N1BfXykpCisjZWxpZiBkZWZpbmVkKF9fTUQ5M19fKQorICAgIENMMURfUkZfUlhERkVfRENfQ09NUF9QRVJfQkFORF9UIGRjX2NvbXA7CisjZW5kaWYKKworICAgIC8qIFRYREZFICovCisgICAgQ0wxRF9SRl9UWERGRV9JUV9DT01QX1RBQl9UIHR4X2lxX2NvbXA7CisgICAgQ0wxRF9SRl9UWERGRV9EQ19DT01QX1RBQl9UIHR4X2RjX2NvbXA7CisjaWYgZGVmaW5lZChfX01EOTVfXykgICAgCisgICAgQ0wxRF9SRl9UWERGRV9EQ19DT01QX1RBQl9UIHR4X2NvYXJzZV9kY19jb21wOyAgICAKKyNlbmRpZiAgICAKKyNpZiAoZGVmaW5lZChfX01EOTdfXykgfHwgZGVmaW5lZChfX01EOTdQX18pKSAgICAKKyAgICAgICAgQ0wxRF9SRl9UWERGRV9EQ19DT01QX1RBQl9UIHR4X2NvYXJzZV9kY19jb21wOyAgICAKKyNlbmRpZiAgICAKKworICAgIC8qIFRYS0RGRSAqLworICAgIENMMURfUkZfVFhLX0RFVERGRV9FUUxQRl9DT01QX1BFUl9CQU5EX1QgdHhrX2VxbHBmX2Z3ZF9jb21wOworICAgIENMMURfUkZfVFhLX0RFVERGRV9JUV9DT01QX1BFUl9CQU5EX1QgdHhrX2lxX2Z3ZF9jb21wOworI2lmIElTX0NMMURfUkZfVFJJTklUWUxFMiB8fCBJU19DTDFEX1JGX1RSSU5JVFkyTAorICAgIENMMURfUkZfVFhLX0RFVERGRV9EQ19DT01QX1BFUl9CQU5EX1QgdHhrX2RjX2Z3ZF9jb21wX3R4bGI7CisjZW5kaWYKKwlDTDFEX1JGX1RYS19ERVRERkVfRENfQ09NUF9QRVJfQkFORF9UIHR4a19kY19md2RfY29tcDsKKworICAgIC8qIFRyYW5zY2VpdmVyICovCisgICAgQ0wxRF9SRl9QT0NfREVWX0ZJTkFMX1JFU1VMVF9UIHBvY19kZXZfZmluOworCQorCS8qIFBHQV9CSUFTICovCisjaWYgSVNfQ0wxRF9SRl9UUklOSVRZTCB8fCBJU19DTDFEX1JGX1RSSU5JVFkyTCB8fCBJU19DTDFEX1JGX1RSSU5JVFlMRTIKKyAgICBDTDFEX1JGX1BPQ19ERVZfVFhfUEdBX0JJQVNfUkVTVUxUX1QgdHhfcGdhX2JpYXNfY29tcDsKKyNlbmRpZgorfSBDTDFEX1JGX1BPQ19GSU5BTF9UOworCisjZW5kaWYgLyogX0NMMURfUkZfUE9DX1BVQkxJQ19IXyAqLworI2VuZGlmCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9yZmQvY2wxX3JmX3BvY19wdWJsaWNfbWQ5Ny5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvcmZkL2NsMV9yZl9wb2NfcHVibGljX21kOTcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42M2Q3ZmFmCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvcmZkL2NsMV9yZl9wb2NfcHVibGljX21kOTcuaApAQCAtMCwwICsxLDEwMTYgQEAKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE3CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoKKyogRklMRSBOQU1FICAgOmNsMV9yZl9wb2NfcHVibGljLmgKKyoKKyogREVTQ1JJUFRJT04gOgorKgorKgorKiBISVNUT1JZICAgICA6CisqICAgICBTZWUgTG9nIGF0IGVuZCBvZiBmaWxlCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEluY2x1ZGUgRmlsZXMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworI2lmIGRlZmluZWQgKF9fQzJLX1JBVF9fKSB8fCBkZWZpbmVkKF9fQ0wxX1RBU0tfRU5BQkxFX18pCisjaWZuZGVmIF9DTDFEX1JGX1BPQ19QVUJMSUNfSF8KKyNkZWZpbmUgX0NMMURfUkZfUE9DX1BVQkxJQ19IXworCisjaW5jbHVkZSAiY2wxZF9yZl9jaWQuaCIKKyNpbmNsdWRlICJjbDFkX3JmX2NvbW1vbl9kZWZzLmgiCisvLyNpbmNsdWRlICJtbWwxX3JmX2NhbF9pbnRlcmZhY2UuaCIKKy8vI2luY2x1ZGUgIm1tbDFfcmZfY2FsX3JmX2ludGVyZmFjZV9jb2x1bWJ1cy5oIgorLy8jaW5jbHVkZSAibW1sMV9jZGZfc2t1X21nci5oIgorCisvKiBUWCBERkUgcmVsYXRlZCAqLworI2RlZmluZSBUWF9EQ19DT01QX0ZDX01PREVfTlVNICAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFhfRENfQ09NUF9QR0FfU0xJQ0VfU0VUX05VTSAgICAgICAgICAgKDQpCisjZGVmaW5lIFRYX0lRX0NPTVBfRkNfTU9ERV9OVU0gICAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWF9JUV9DT01QX1BHQV9TTElDRV9TRVRfTlVNICAgICAgICAgICAoNCkKKworLyogUlggREZFIHJlbGF0ZWQgKi8KKyNkZWZpbmUgUlhfUEFUSF9NQVhfTlVNICAgICAgICAgICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFJYX1BPV0VSX01PREVfTUFYX05VTSAgICAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBSWF9GRF9GSUxUX1RBUFNfTUFYX05VTSAgICAgICAgICAgICAgICAoNSkgICAvKj4gIG1heGltdW0gbnVtYmVycyBvZiBjb21wZW5zYXRpb24gZmlsdGVyIHRhcHMgICovCisKKyNkZWZpbmUgQ0wxRF9SRl9SWERGRV9EQ19USUFfR0FJTl9IUE1fU1RFUFMgICAgKDIpCisjZGVmaW5lIENMMURfUkZfUlhERkVfRENfUEdBX0dBSU5fSFBNX1NURVBTICAgICg3KQorCisjZGVmaW5lIENMMURfUkZfUlhERkVfRENfVElBX0dBSU5fTFBNX1NURVBTICAgICgxKQorI2RlZmluZSBDTDFEX1JGX1JYREZFX0RDX1BHQV9HQUlOX0xQTV9TVEVQUyAgICAoNikKKworI2RlZmluZSBDTDFEX1JGX1JYREZFX1JGRVFfVEFQU19OVU1fTUFYICAgICAgICAoMTQpCisKKy8qIFRYSyBERkUgcmVsYXRlZCAqLyAKKyNkZWZpbmUgQ0wxRF9SRl9UWEtfREVUREZFX0VRTFBGX1RBUF9OVU0gICAgICAgKDEzKQorI2RlZmluZSBDTDFEX1JGX1RYS19ERVRERkVfRkVfR0FJTl9TVEVQUyAgICAgICAoMSkKKyNkZWZpbmUgQ0wxRF9SRl9UWEtfREVUREZFX0dBSU5fU1RFUFMgICAgICAgICAgKDUpCisKKy8qIFJYIERFViByZWxhdGVkICovCisjZGVmaW5lIENMMURfUkZfREVWX1BPQ19SWEFHQ19UQUJMRV9NQVhfSU5ERVggICgxOSkgLy8gQ0wxRF9SRl9ERVZfUlhBR0NfVEFCTEVfTUFYX0lOREVYCisjZGVmaW5lIE1NUkZDX0MyS19QT0NfVFhfUEdBX1NMSUNFX05VTSAgICAgICAgICg3KSAgLy8gTU1SRkNfQzJLX1RYX1BHQV9TTElDRV9OVU0KKyNkZWZpbmUgQ0wxRF9SRl9ERVZfUE9DX1RYX1BHQV9BX1RBQkxFX1NJWkUgICAgKDE0KSAgLy9DTDFEX1JGX0RFVl9UWF9QR0FfQV9UQUJMRV9TSVpFCisjZGVmaW5lIENMMURfUkZfREVWX1BPQ19UWF9QR0FfQl9UQUJMRV9TSVpFICAgICgxMykgIC8vQ0wxRF9SRl9ERVZfVFhfUEdBX0JfVEFCTEVfU0laRQorI2RlZmluZSBDTDFEX1JGX0RFVl9QT0NfVFhfUEdBX1RBQkxFX1NJWkUgICAgICAoQ0wxRF9SRl9ERVZfUE9DX1RYX1BHQV9BX1RBQkxFX1NJWkUgKyBDTDFEX1JGX0RFVl9QT0NfVFhfUEdBX0JfVEFCTEVfU0laRSkvL0NMMURfUkZfREVWX1RYX1BHQV9UQUJMRV9TSVpFCisKKyNkZWZpbmUgQ0wxRF9SRl9ERVZfUE9DX1RYREVUX0FHQ19UQUJMRV9TSVpFICAgKDE1KSAgLy9DTDFEX1JGX0RFVl9UWERFVF9BR0NfVEFCTEVfU0laRQorI2RlZmluZSBDTDFEX1JGX0RFVl9QT0NfREVUX0ZFX0dBSU5fU1RFUFMgICAgICAoMikgICAvL0NMMURfUkZfREVWX0RFVF9GRV9HQUlOX1NURVBTCisKKyNkZWZpbmUgQ0wxRF9SRl9JRl9NQVhfTlVNICAgICAgICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIENMMURfUkZfSUZfSFBNX01BWF9OVU0gICAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBDTDFEX1JGX0lGX0xQTV9NQVhfTlVNICAgICAgICAgICAgICAgICAoNikKKworI2RlZmluZSBDTDFEX1JGX0RFVF9QR0FfR0FJTl9TVEVQUyAgICAgICAgICAgICAoNSkKKworI2RlZmluZSBDTDFEX1RYX0xQRl9OT01JTkFMX1ZBTFVFICAgICAgICAgICAgICAoMTcyKQorI2RlZmluZSBDTDFEX1RYX1JDRl9OT01JTkFMX1ZBTFVFICAgICAgICAgICAgICAoMTYpCisKK3R5cGVkZWYgZW51bQoreworICBDTDFEX1JGX0RFVl9USUEwLAorICBDTDFEX1JGX0RFVl9USUFfTlVNCit9Q0wxRF9SRl9ERVZfVElBX0U7CisjaWYgMQordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF9pbnQxNiAgICAgICAgICAgICAgICAgICAgICBpX3BhcnQ7CisgICBrYWxfaW50MTYgICAgICAgICAgICAgICAgICAgICAgcV9wYXJ0OworfSBDTDFEX1JGX1RYREZFX0RDX0NPTVBfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIENMMURfUkZfVFhERkVfRENfQ09NUF9UICAgICAgICBjb21wX3RhYltUWF9EQ19DT01QX0ZDX01PREVfTlVNXVtUWF9EQ19DT01QX1BHQV9TTElDRV9TRVRfTlVNXTsKK30gQ0wxRF9SRl9UWERGRV9EQ19DT01QX1RBQl9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX2ludDE2ICAgICAgICAgICAgICAgICAgICAgIGdhaW47CisgICBrYWxfaW50MTYgICAgICAgICAgICAgICAgICAgICAgcGhhc2U7Cit9IENMMURfUkZfVFhERkVfSVFfQ09NUF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgQ0wxRF9SRl9UWERGRV9JUV9DT01QX1QgICAgICAgICAgIGNvbXBfdGFiW1RYX0lRX0NPTVBfRkNfTU9ERV9OVU1dW1RYX0lRX0NPTVBfUEdBX1NMSUNFX1NFVF9OVU1dOworfSBDTDFEX1JGX1RYREZFX0lRX0NPTVBfVEFCX1Q7CisKK3R5cGVkZWYgc3RydWN0eworICAgIGthbF9pbnQzMiAgICAgICAgICAgIHJ4X2ZpaXFfcGhhc2U7Lyo+ICBTLTQuMTAsIC10aGV0YS8yLCBpbiByYWRpYW5zICovCisgICAga2FsX2ludDE2ICAgICAgICAgICAgcnhfZmRpcV9jb2VmW1JYX0ZEX0ZJTFRfVEFQU19NQVhfTlVNXTsgLyo+ICBWYWxpZCBmb3IgMi1wb2ludCBtZWFzLiAqLworfSBDTDFEX1JGX1JYREZFX0lSUl9DT01QX1Q7CisKK3R5cGVkZWYgc3RydWN0eworICAgIENMMURfUkZfUlhERkVfSVJSX0NPTVBfVCBocG07CisgICAgQ0wxRF9SRl9SWERGRV9JUlJfQ09NUF9UIGxwbTsKK30gQ0wxRF9SRl9SWERGRV9JUlJfQ09NUF9QRVJfUEFUSF9UOworCit0eXBlZGVmIHN0cnVjdHsKKyAgICBDTDFEX1JGX1JYREZFX0lSUl9DT01QX1BFUl9QQVRIX1QgcnhbUlhfUEFUSF9NQVhfTlVNXTsKK30gQ0wxRF9SRl9SWERGRV9JUlJfQ09NUF9QRVJfQkFORF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX3VpbnQzMiBjb2VmW0NMMURfUkZfUlhERkVfUkZFUV9UQVBTX05VTV9NQVhdOworICAga2FsX3VpbnQzMiBwb3dlcl9zYXZpbmdfbW9kZTsKKyAgIGthbF91aW50MzIgY3Rfc2VsOyAgICAgICAgICAgICAgICAgICAgIC8vLzwgMDogQzRSOCwgMTogQzVSNywgMjogQzZSNiwgMzogTkEKK31DTDFEX1JGX1JYREZFX1JGRVFfQ09NUF9UOworCit0eXBlZGVmIHN0cnVjdCB7CisgICBrYWxfdWludDMyIGRjOyAgLypSRiBEQyBvZmZzZXQgaW4gUzUuMCovIC8qZGlnaXRhbCBEQyBvZmZzZXQgaW4gUzAuMTQqLworfUNMMURfUkZfREVWX0RDX1Q7CisKK3R5cGVkZWYgc3RydWN0IHsKKyAgIENMMURfUkZfREVWX0RDX1QgRENfREFUQV9JX0hQTVtDTDFEX1JGX0RFVl9USUFfTlVNXVtDTDFEX1JGX0lGX01BWF9OVU1dOworICAgQ0wxRF9SRl9ERVZfRENfVCBEQ19EQVRBX0lfTFBNW0NMMURfUkZfREVWX1RJQV9OVU1dW0NMMURfUkZfSUZfTUFYX05VTV07CisgICBDTDFEX1JGX0RFVl9EQ19UIERDX0RBVEFfUV9IUE1bQ0wxRF9SRl9ERVZfVElBX05VTV1bQ0wxRF9SRl9JRl9NQVhfTlVNXTsKKyAgIENMMURfUkZfREVWX0RDX1QgRENfREFUQV9RX0xQTVtDTDFEX1JGX0RFVl9USUFfTlVNXVtDTDFEX1JGX0lGX01BWF9OVU1dOworfSBDTDFEX1JGX0RFVl9EQ19UQkxfVDsKKwordHlwZWRlZiBzdHJ1Y3R7CisKKwlDTDFEX1JGX1JYREZFX1JGRVFfQ09NUF9UIHJmZXFfaHBtOworCUNMMURfUkZfUlhERkVfUkZFUV9DT01QX1QgcmZlcV9scG07Cit9Q0wxRF9SWERGRV9SRkVRX0NPTVBfQldfVDsJCisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX2ludDE2IGRjX2k7IC8qPiAgUkYgREM6UzUuMCxyZXNvbHV0aW9uID0gOW1WLiBERkUgREM6IFMwLjE0LCBmaXhlZCBwb2ludCB2YWx1ZSBhdCBSeCBBREMsIFJ4IEFEQyBmdWxsIHN3aW5nIGlzICsvLTEuNjJ2ICovCisgICAga2FsX2ludDE2IGRjX3E7IC8qPiAgUkYgREM6UzUuMCxyZXNvbHV0aW9uID0gOW1WLiBERkUgREM6IFMwLjE0LCBmaXhlZCBwb2ludCB2YWx1ZSBhdCBSeCBBREMsIFJ4IEFEQyBmdWxsIHN3aW5nIGlzICsvLTEuNjJ2ICovCit9IENMMURfUkZfUlhERkVfRENfQ09NUF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIENMMURfUkZfUlhERkVfRENfQ09NUF9UIGhwbVtDTDFEX1JGX1JYREZFX0RDX1RJQV9HQUlOX0hQTV9TVEVQU11bQ0wxRF9SRl9SWERGRV9EQ19QR0FfR0FJTl9IUE1fU1RFUFNdOworICAgIENMMURfUkZfUlhERkVfRENfQ09NUF9UIGxwbVtDTDFEX1JGX1JYREZFX0RDX1RJQV9HQUlOX0xQTV9TVEVQU11bQ0wxRF9SRl9SWERGRV9EQ19QR0FfR0FJTl9MUE1fU1RFUFNdOworfSBDTDFEX1JGX1JYREZFX0RDX0NPTVBfUEVSX1BBVEhfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIENMMURfUkZfUlhERkVfRENfQ09NUF9QRVJfUEFUSF9UIHJ4W1JYX1BBVEhfTUFYX05VTV07Cit9IENMMURfUkZfUlhERkVfRENfQ09NUF9QRVJfQkFORF9UOworI2VuZGlmCisjaWYgMAorLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworI2lmIElTX0NMMURfUkZfVFJJTklUWTJMIHx8IElTX0NMMURfUkZfVFJJTklUWUxFMgorLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworI2VsaWYgSVNfQ0wxRF9SRl9UUklOSVRZTAorLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworI2VsaWYgSVNfQ0wxRF9SRl9UUklOSVRZRTEgfHwgSVNfQ0wxRF9SRl9DT0xVTUJVU0UxLy90ZW1wIGZvciBHZW45NyB3YXJuaW5nCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisvKiB1bmRlciBjb25zdHJ1Y3Rpb24gISovCisjZWxzZQorLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworI2VuZGlmCisjZW5kaWYKKyNpZiAxCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF9pbnQzMiBpX3BhcnQ7CisgICAga2FsX2ludDMyIHFfcGFydDsKK31DTDFEX1JGX1RYS19ERVRERkVfRVFMUEZfQ09NUF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIENMMURfUkZfVFhLX0RFVERGRV9FUUxQRl9DT01QX1QgY29lZltDTDFEX1JGX1RYS19ERVRERkVfRVFMUEZfVEFQX05VTV07CisgICAga2FsX2ludDMyICAgICAgICAgICAgICBzY2FsZV9pOworICAgIGthbF9pbnQzMiAgICAgICAgICAgICAgc2NhbGVfcTsKK31DTDFEX1JGX1RYS19ERVRERkVfRVFMUEZfQ0ZHX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgQ0wxRF9SRl9UWEtfREVUREZFX0VRTFBGX0NGR19UIHBlcl9mZV9nYWluOworfUNMMURfUkZfVFhLX0RFVERGRV9FUUxQRl9DT01QX1BFUl9CQU5EX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX2ludDMyICAgICAgICAgICAgICBnYWluX2VzdF9odzsKKyAgICBrYWxfaW50MzIgICAgICAgICAgICAgIHBoYXNlX2VzdF9odzsKKyAgICBrYWxfaW50MzIgICAgICAgICAgICAgIGRubDsgCisgICAga2FsX2ludDMyICAgICAgICAgICAgICBmcmVxX2RlcF9waGFzZV9lc3Q7ICAgICAgICAgICAgICAgICAvLy88IFZhbGlkIGZvciAyLXBvaW50IG1lYXMuIGZvciBlcnJvciBoYW5kbGluZworfUNMMURfUkZfVFhLX0RFVERGRV9JUV9DT01QX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgQ0wxRF9SRl9UWEtfREVUREZFX0lRX0NPTVBfVCAgcGVyX2ZlX2dhaW5bQ0wxRF9SRl9UWEtfREVUREZFX0ZFX0dBSU5fU1RFUFNdOworfUNMMURfUkZfVFhLX0RFVERGRV9JUV9DT01QX1BFUl9CQU5EX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX2ludDMyICAgICAgICAgICAgZGNfZXN0X2k7IC8qPiAgUzAuMTEsIGZpeGVkIHBvaW50IHZhbHVlIGF0IERldCBBREMsIERldCBBREMgZnVsbCBzd2luZyBpcyArLy0wLjZ2ICovCisgICAga2FsX2ludDMyICAgICAgICAgICAgZGNfZXN0X3E7IC8qPiAgUzAuMTEsIGZpeGVkIHBvaW50IHZhbHVlIGF0IERldCBBREMsIERldCBBREMgZnVsbCBzd2luZyBpcyArLy0wLjZ2ICovCit9Q0wxRF9SRl9UWEtfREVUREZFX0RDX0NPTVBfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBDTDFEX1JGX1RYS19ERVRERkVfRENfQ09NUF9UIHBlcl9kZXRfZ2FpbltDTDFEX1JGX1RYS19ERVRERkVfR0FJTl9TVEVQU107Cit9Q0wxRF9SRl9UWEtfREVUREZFX0RDX0NPTVBfUEVSX0JBTkRfVDsKKyNlbmRpZgorCisjaWYgMAorLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworI2VuZGlmCisKKyNlbmRpZiAvKiBfQ0wxRF9SRl9QT0NfUFVCTElDX0hfICovCisjZW5kaWYKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL3JmZC9jbDFfcmZfcHVibGljLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9yZmQvY2wxX3JmX3B1YmxpYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlZDk0Y2MKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9yZmQvY2wxX3JmX3B1YmxpYy5oCkBAIC0wLDAgKzEsMTc3NiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICogY2wxX3JmX3B1YmxpYy5oCisgKgorICogUHJvamVjdDoKKyAqIC0tLS0tLS0tCisgKiA5MworICoKKyAqIERlc2NyaXB0aW9uOgorICogLS0tLS0tLS0tLS0tCisgKiBSRiBwdWJsaWMgZGVmaW5lcyBhbmQgdHlwZXMKKyAqCisgKgorICogQXV0aG9yOgorICogLS0tLS0tLQorICoKKyAqCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogICAgICAgICAgICAgSElTVE9SWQorICogQmVsb3cgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKgorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBVcHBlciB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9DTDFfUkZfUFVCTElDX0hfCisjZGVmaW5lIF9DTDFfUkZfUFVCTElDX0hfCisKKyNpbmNsdWRlICJjMmtfZGVmcy5oIgorI2luY2x1ZGUgImNsMWRfcmZfY29tbW9uX2RlZnMuaCIKKyNpbmNsdWRlICJjbDFfcmZfdGFzX3B1YmxpYy5oIiAKKyNpbmNsdWRlICJjbDFfcmZfZWxuYV9wdWJsaWMuaCIKKyNpbmNsdWRlICJjbDFfcmZfcG9jX3B1YmxpYy5oIgorI2luY2x1ZGUgIm1tbDFfcmZfcHVibGljLmgiCisjaW5jbHVkZSAiY2wxX3JmX2RhdF9wdWJsaWMuaCIKKyNpbmNsdWRlICJtbWwxX2ZlX3B1YmxpYy5oIgorI2luY2x1ZGUgImNsMV9yZl90YXNfcHVibGljLmgiCisKKyNkZWZpbmUgQzJLX1VTSURfTlVMTCAgICAgICAgICAgICAgICAgICAgICAweDAwMDAKKyNkZWZpbmUgQzJLX1VTSURfUkVHX1cgICAgICAgICAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgQzJLX1VTSURfUkVHX1dfRVhUICAgICAgICAgICAgICAgICAweDAwMDIKKworI2RlZmluZSBDMktfUkVHXzBfVyAgICAgICAgICAgICAgICAgICAweDAwMDEKKyNkZWZpbmUgQzJLX1JFR19XICAgICAgICAgICAgICAgICAgICAgMHgwMDAyCisjZGVmaW5lIEMyS19SRUdfV19FWFRfMVNUICAgICAgICAgICAgIDB4MDAwMworI2RlZmluZSBDMktfUkVHX1dfRVhUX0JZVEUgICAgICAgICAgICAweDAwMDQKKyNkZWZpbmUgQzJLX1JFR19XX0VYVF9FTkQgICAgICAgICAgICAgMHgwMDA1CisjZGVmaW5lIEMyS19SRUdfV19FWFRfT05MWV9PTkVCWVRFICAgIDB4MDAwNgorI2RlZmluZSBDMktfUkVHX1dfSU5WQUxJRCAgICAgICAgICAgICAweDAwMDgKKworLyogcG9ydCBzZWxlY3QgKi8KKyNkZWZpbmUgQzJLX01JUElfUE9SVDAgICAgICAgICAgICAgICAgMHgwMDAwCisjZGVmaW5lIEMyS19NSVBJX1BPUlQxICAgICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBDMktfTUlQSV9QT1JUMiAgICAgICAgICAgICAgICAweDAwMDIKKyNkZWZpbmUgQzJLX01JUElfUE9SVDMgICAgICAgICAgICAgICAgMHgwMDAzCisjZGVmaW5lIEMyS19NSVBJX1BPUlQ0ICAgICAgICAgICAgICAgIDB4MDAwNAorI2lmIDAKKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKy8qIHVuZGVyIGNvbnN0cnVjdGlvbiAhKi8KKyNlbmRpZgorI2RlZmluZSBDMktfTUlQSV9QT1JUX01BWCAgICAgICAgICAgICAoQzJLX01JUElfUE9SVDQrMSkKKworLyogZXZlbnQgdHlwZSAqLworI2RlZmluZSBDMktfTUlQSV9UUlhfT04gICAgICAgICAweDAwMDEKKyNkZWZpbmUgQzJLX01JUElfVFJYX09GRiAgICAgICAgMHgwMDAyCisjZGVmaW5lIEMyS19NSVBJX1RQQ19TRVQgICAgICAgIDB4MDAwMworI2RlZmluZSBDMktfTUlQSV9UWF9HQVRFX09OICAgICAweDAwMDQKKyNkZWZpbmUgQzJLX01JUElfVFhfR0FURV9PRkYgICAgMHgwMDA1CisjZGVmaW5lIEMyS19NSVBJX1JYX0RJVl9PTiAgICAgIDB4MDAwNgorI2RlZmluZSBDMktfTUlQSV9SWF9ESVZfT0ZGICAgICAweDAwMDcKKyNkZWZpbmUgQzJLX01JUElfRVRNX1RYX09OICAgICAgMHgwMDA4CisjZGVmaW5lIEMyS19NSVBJX0VUTV9UWF9PRkYgICAgIDB4MDAwOQorI2RlZmluZSBDMktfTUlQSV9FVE1fVFBDX1NFVCAgICAweDAwMEEKKyNkZWZpbmUgQzJLX01JUElfRUxOQV9PTgkJMHgwMDBCCisjZGVmaW5lIEMyS19NSVBJX0VMTkFfQllQQVNTCTB4MDAwQworI2RlZmluZSBDMktfTUlQSV9FTE5BX09GRgkJMHgwMDBECisjZGVmaW5lIEMyS19NSVBJX0VWRU5UX05VTEwgICAgIDB4MTAwMAorCisvKiBlbGVtZW50IHR5cGUgKi8KKyNkZWZpbmUgQzJLX01JUElfTlVMTCAgICAgICAgICAgICAgICAgMHgwMDAwCisjZGVmaW5lIEMyS19NSVBJX0FTTSAgICAgICAgICAgICAgICAgIDB4MDAwMQorI2RlZmluZSBDMktfTUlQSV9BTlQgICAgICAgICAgICAgICAgICAweDAwMDIKKyNkZWZpbmUgQzJLX01JUElfUEEgICAgICAgICAgICAgICAgICAgMHgwMDAzCisjZGVmaW5lIEMyS19NSVBJX1BBX1NFQyAgICAgICAgICAgICAgIDB4MDAwNAorI2RlZmluZSBDMktfTUlQSV9UQVMgICAgICAgICAgICAgICAgICAweDAwMDUKKyNkZWZpbmUgQzJLX01JUElfVFVORVIgICAgICAgICAgICAgICAgMHgwMDA2CisjZGVmaW5lIEMyS19NSVBJX0VUTSAgICAgICAgICAgICAgICAgIDB4MDAwNworI2RlZmluZSBDMktfTUlQSV9FVE1fU0VDICAgICAgICAgICAgICAweDAwMDgKKy8qRUxOQSBNSVBJIGVsZW1lbnQgdHlwZSAqLworI2RlZmluZSBDMktfTUlQSV9FTE5BICAgICAgICAgICAgICAJICAweDAwMDkKKyNkZWZpbmUgQzJLX01JUElfREFUCQkJCSAgMHgwMDBBCisjZGVmaW5lIEMyS19NSVBJX0VORF9QQVRURVJOICAgICAgICAgIDB4RkZGRgorCisvKiBUUEMgUEEgU0VDVElPTiBEQVRBIFBBVFRFUk4gKi8KKyNkZWZpbmUgQzJLX01JUElfUEFfU0VDVElPTl9EQVRBMCAgICAgMHgwCisjZGVmaW5lIEMyS19NSVBJX1BBX1NFQ1RJT05fREFUQTEgICAgIDB4MQorI2RlZmluZSBDMktfTUlQSV9QQV9TRUNUSU9OX0RBVEEyICAgICAweDIKKyNkZWZpbmUgQzJLX01JUElfUEFfU0VDVElPTl9EQVRBMyAgICAgMHgzCisjZGVmaW5lIEMyS19NSVBJX1BBX1NFQ1RJT05fREFUQTQgICAgIDB4NAorCisvKiBEdW1teSBQQSBVU0lEIGFuZCByZWdpc3RlciBhZGRyZXNzICovCisjZGVmaW5lIEMyS19NSVBJX1BBX1NFQ1RJT05fVVNJRCAgICAgIDB4MAorI2RlZmluZSBDMktfTUlQSV9QQV9TRUNUSU9OX0FERFJFU1MgICAweDAKKworLyogVFBDIEVUTSBTRUNUSU9OIERBVEEgUEFUVEVSTiAqLworI2RlZmluZSBDMktfTUlQSV9FVE1fU0VDVElPTl9EQVRBMCAgICAgMHgwCisjZGVmaW5lIEMyS19NSVBJX0VUTV9TRUNUSU9OX0RBVEExICAgICAweDEKKyNkZWZpbmUgQzJLX01JUElfRVRNX1NFQ1RJT05fREFUQTIgICAgIDB4MgorI2RlZmluZSBDMktfTUlQSV9FVE1fU0VDVElPTl9EQVRBMyAgICAgMHgzCisjZGVmaW5lIEMyS19NSVBJX0VUTV9TRUNUSU9OX0RBVEE0ICAgICAweDQKKworLyogRHVtbXkgRVRNIFVTSUQgYW5kIHJlZ2lzdGVyIGFkZHJlc3MgKi8KKyNkZWZpbmUgQzJLX01JUElfRVRNX1NFQ1RJT05fVVNJRCAgICAgIDB4MAorI2RlZmluZSBDMktfTUlQSV9FVE1fU0VDVElPTl9BRERSRVNTICAgMHgwCisKKworI2RlZmluZSBDMktfTUlQSV9TVUJCQU5EX05VTSAgNQorCisjZGVmaW5lIE1fVVMoeCkgICAgIHgKKworCisvKioqKioqKioqKioqKioqIFJGIEN1c3QgRGF0YSBEaW1lbnRpb25zICoqKioqKioqKioqKioqKi8KKyNkZWZpbmUgUkZfQ1VTVF9TVVBQT1JUX0JBTkRfTUFYX05VTSA1CisjZGVmaW5lIE1JUElfVFBDX09DVF9OVU0gOAorI2RlZmluZSBSRl9FTE5BX01BWF9OVU0gMTAKKworLypUZW1wOiA4ICovCisjZGVmaW5lIENMMURfUkZfTlVNX1RFTVBfQ0FMSUJSIDgKKyNkZWZpbmUgQ0wxRF9SRl9OVU1fVEVNUF9DQUxJQlJfRCAgICgyKkNMMURfUkZfTlVNX1RFTVBfQ0FMSUJSLTEpCisvKiBGcmVxOiAxNiAqLworI2RlZmluZSBDTDFEX1JGX05VTV9GUkVRX0NBTElCUiAxNgorLypQYSBHYWluOjggKi8KKyNkZWZpbmUgQ0wxRF9SRl9OVU1fVFhfUEFfR0FJTl9DQUxJQlIgOAorCisjZGVmaW5lIFRYX1BPV0VSX09GRlNFVF9UQUJMRV9JVEVNX05VTSAxNgorCisvKlNBUiBhbmQgU1dUUCB0YWJsZSBudW0gLSBzdGFydCAqLworI2lmIGRlZmluZWQoX19NRDkzX18pIHx8IGRlZmluZWQoX19NRDk1X18pCisjaWYgZGVmaW5lZChfX1NBUl9UWF9QT1dFUl9CQUNLT0ZGX1NVUFBPUlRfXykgIAorI2RlZmluZSBTQVJfVFhfUE9XRVJfT0ZGU0VUX1RBQkxFX05VTQkgOQorI2VsaWYgZGVmaW5lZChfX1RYX1BPV0VSX09GRlNFVF9TVVBQT1JUX18pCisjZGVmaW5lIFNBUl9UWF9QT1dFUl9PRkZTRVRfVEFCTEVfTlVNCSAxCisjZWxzZSAKKyNkZWZpbmUgU0FSX1RYX1BPV0VSX09GRlNFVF9UQUJMRV9OVU0JIDkKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKF9fTUQ5N19fKSB8fCBkZWZpbmVkKF9fTUQ5N1BfXykKKyNkZWZpbmUgU0FSX1RYX1BPV0VSX09GRlNFVF9UQUJMRV9OVU0gICAgMjAKKyNkZWZpbmUgU1dUUF9UWF9QT1dFUl9PRkZTRVRfVEFCTEVfTlVNCSAxCisjZW5kaWYKKy8qU0FSIGFuZCBTV1RQIHRhYmxlIG51bSAtIGVuZCAqLworCisjZGVmaW5lIENMMURfUkZfTlVNX1JBTVBfTEVWRUwgMTYKKyNkZWZpbmUgU0FSX0ZSRVFfQ0FMSUJSX05VTQkJCQkxNgorCisvKioqKioqKioqKioqKioqIFJGIEN1c3QgRGF0YSBEaW1lbnRpb25zICoqKioqKioqKioqKioqKi8KKyNkZWZpbmUgQ0wxRF9SRl9TVUJfQ0xBU1NfQUxMX1NVUFBPUlRFRCAgMHhmZmZmMDAwMAorI2RlZmluZSBDTDFEX1JGX1NVQl9DTEFTU19OT05FX1NVUFBPUlRFRCAweDAwMDAwMDAwCisKKy8qKioqKioqKioqKioqKioqKiBSRiBjdXN0IHBhcmFtcyAqKioqKioqKioqKioqKioqKioqLworI2lmIElTX0NMMURfUkZfVFJJTklUWUUxIHx8IElTX0NMMURfUkZfQ09MVU1CVVNFMS8vdGVtcCBmb3IgR2VuOTcgd2FybmluZworI2RlZmluZSBQTUhCMSAgICAgICAgICAgICAgICgwKQorI2RlZmluZSBQTUhCMiAgICAgICAgICAgICAgICgxKQorI2RlZmluZSBQTUhCMyAgICAgICAgICAgICAgICgyKQorI2RlZmluZSBQTUhCNCAgICAgICAgICAgICAgICgzKQorI2RlZmluZSBQTUhCNSAgICAgICAgICAgICAgICg0KQorI2RlZmluZSBQTUhCNiAgICAgICAgICAgICAgICg1KQorI2RlZmluZSBQTUhCNyAgICAgICAgICAgICAgICg2KQorI2RlZmluZSBQTUhCOCAgICAgICAgICAgICAgICg3KQorI2RlZmluZSBQTUhCOSAgICAgICAgICAgICAgICg4KQorI2RlZmluZSBQTUhCMTAgICAgICAgICAgICAgICg5KQorI2RlZmluZSBQVUhCTEFBMSAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgUFVIQkxBQTIgICAgICAgICAgICAoMTEpCisjZGVmaW5lIFBMQjEgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBQTEIyICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgUExCMyAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIFBMQjQgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBQTEI1ICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgUExCNiAgICAgICAgICAgICAgICAoMTcpCisjZGVmaW5lIERNSEIxICAgICAgICAgICAgICAgUE1IQjEKKyNkZWZpbmUgRE1IQjIgICAgICAgICAgICAgICBQTUhCMgorI2RlZmluZSBETUhCMyAgICAgICAgICAgICAgIFBNSEIzCisjZGVmaW5lIERNSEI0ICAgICAgICAgICAgICAgUE1IQjQKKyNkZWZpbmUgRE1IQjUgICAgICAgICAgICAgICBQTUhCNQorI2RlZmluZSBETUhCNiAgICAgICAgICAgICAgIFBNSEI2CisjZGVmaW5lIERNSEI3ICAgICAgICAgICAgICAgUE1IQjcKKyNkZWZpbmUgRE1IQjggICAgICAgICAgICAgICBQTUhCOAorI2RlZmluZSBETUhCOSAgICAgICAgICAgICAgIFBNSEI5CisjZGVmaW5lIERNSEIxMCAgICAgICAgICAgICAgUE1IQjEwCisjZGVmaW5lIERVSEJMQUExICAgICAgICAgICAgUFVIQkxBQTEKKyNkZWZpbmUgRFVIQkxBQTIgICAgICAgICAgICBQVUhCTEFBMgorI2RlZmluZSBETEIxICAgICAgICAgICAgICAgIFBMQjEKKyNkZWZpbmUgRExCMiAgICAgICAgICAgICAgICBQTEIyCisjZGVmaW5lIERMQjMgICAgICAgICAgICAgICAgUExCMworI2RlZmluZSBETEI0ICAgICAgICAgICAgICAgIFBMQjQKKyNkZWZpbmUgUFJYTUFYICAgICAgICAgICAgICBQTEI2CisjZGVmaW5lIERSWE1BWCAgICAgICAgICAgICAgRExCNAorCisjZGVmaW5lIFRYMF9PRkYgICAgICAgICAgICAgKDApCisjZGVmaW5lIFRYMF9MQjEgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFRYMF9MTTEgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFRYMF9MTTIgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFRYMF9NQjEgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFRYMF9IQjEgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFRYMF9IQjIgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFRYMF9VTEIgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFRYMF9MT0FEICAgICAgICAgICAgKDgpCisjZGVmaW5lIFRYMV9PRkYgICAgICAgICAgICAgKDkpCisjZGVmaW5lIFRYMV9MQjEgICAgICAgICAgICAgKDEwKQorI2RlZmluZSBUWDFfTE0xICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgVFgxX0xNMiAgICAgICAgICAgICAoMTIpCisjZGVmaW5lIFRYMV9NQjEgICAgICAgICAgICAgKDEzKQorI2RlZmluZSBUWDFfSEIxICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgVFgxX0hCMiAgICAgICAgICAgICAoMTUpCisjZGVmaW5lIFRYMV9VTEIgICAgICAgICAgICAgKDE2KQorI2RlZmluZSBUWDFfTE9BRCAgICAgICAgICAgICgxNykKKyNkZWZpbmUgVFgyX09GRiAgICAgICAgICAgICAoMTgpCisjZGVmaW5lIFRYMl9MQjEgICAgICAgICAgICAgKDE5KQorI2RlZmluZSBUWDJfTE0xICAgICAgICAgICAgICgyMCkKKyNkZWZpbmUgVFgyX0xNMiAgICAgICAgICAgICAoMjEpCisjZGVmaW5lIFRYMl9NQjEgICAgICAgICAgICAgKDIyKQorI2RlZmluZSBUWDJfSEIxICAgICAgICAgICAgICgyMykKKyNkZWZpbmUgVFgyX0hCMiAgICAgICAgICAgICAoMjQpCisjZGVmaW5lIFRYMl9VTEIgICAgICAgICAgICAgKDI1KQorI2RlZmluZSBUWDJfTE9BRCAgICAgICAgICAgICgyNikKKyNkZWZpbmUgVFhNQVhfUkYwICAgICAgICAgICBUWDBfTE9BRAorI2RlZmluZSBUWE1BWF9SRjEgICAgICAgICAgIFRYMF9MT0FECisjZGVmaW5lIFRYTUFYX1JGMiAgICAgICAgICAgVFgwX0xPQUQKKyNkZWZpbmUgVFhNQVhfUE9SVF9OVU0JCShUWDBfTE9BRCArIDEpCisKKyNlbGlmIElTX0NMMURfUkZfVFJJTklUWUwgfHwgSVNfQ0wxRF9SRl9UUklOSVRZMkwgfHwgSVNfQ0wxRF9SRl9UUklOSVRZTEUyCisjZGVmaW5lIFBNSEIxICAgICAgICAgICAgICAgKDApCisjZGVmaW5lIFBNSEIyICAgICAgICAgICAgICAgKDEpCisjZGVmaW5lIFBNSEIzICAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFBNSEI0ICAgICAgICAgICAgICAgKDMpCisjZGVmaW5lIFBNSEI1ICAgICAgICAgICAgICAgKDQpCisjZGVmaW5lIFBNSEI2ICAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFBNSEI3ICAgICAgICAgICAgICAgKDYpCisjZGVmaW5lIFBNSEI4ICAgICAgICAgICAgICAgKDcpCisjZGVmaW5lIFBMQjEgICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBQTEIyICAgICAgICAgICAgICAgICgxMykKKyNkZWZpbmUgUExCMyAgICAgICAgICAgICAgICAoMTQpCisjZGVmaW5lIFBMQjQgICAgICAgICAgICAgICAgKDE1KQorI2RlZmluZSBQTEI1ICAgICAgICAgICAgICAgICgxNikKKyNkZWZpbmUgUExBQVVIQjEgICAgICAgICAgICAoMTApCisjZGVmaW5lIFBMQUFVSEIyICAgICAgICAgICAgKDExKQorI2RlZmluZSBETUhCMSAgICAgICAgICAgICAgIFBNSEIxCisjZGVmaW5lIERNSEIyICAgICAgICAgICAgICAgUE1IQjIKKyNkZWZpbmUgRE1IQjMgICAgICAgICAgICAgICBQTUhCMworI2RlZmluZSBETUhCNCAgICAgICAgICAgICAgIFBNSEI0CisjZGVmaW5lIERNSEI1ICAgICAgICAgICAgICAgUE1IQjUKKyNkZWZpbmUgRE1IQjYgICAgICAgICAgICAgICBQTUhCNgorI2RlZmluZSBETUhCNyAgICAgICAgICAgICAgIFBNSEI3CisjZGVmaW5lIERNSEI4ICAgICAgICAgICAgICAgUE1IQjgKKyNkZWZpbmUgRExCMSAgICAgICAgICAgICAgICBQTEIxCisjZGVmaW5lIERMQjIgICAgICAgICAgICAgICAgUExCMgorI2RlZmluZSBETEIzICAgICAgICAgICAgICAgIFBMQjMKKyNkZWZpbmUgRExCNCAgICAgICAgICAgICAgICBQTEI0CisjZGVmaW5lIERMQjUgICAgICAgICAgICAgICAgUExCNQorI2RlZmluZSBETEFBVUhCMSAgICAgICAgICAgIFBMQUFVSEIxCisjZGVmaW5lIERMQUFVSEIyICAgICAgICAgICAgUExBQVVIQjIKKyNkZWZpbmUgUFJYTUFYX1RSSU5JVFlMCQkxNQorI2RlZmluZSBEUlhNQVhfVFJJTklUWUwJCTE1CisKKyNkZWZpbmUgUFJYTUFYICAgICAgICAgICAgICBQUlhNQVhfVFJJTklUWUwKKyNkZWZpbmUgRFJYTUFYICAgICAgICAgICAgICBEUlhNQVhfVFJJTklUWUwKKworI2RlZmluZSBUWDBfT0ZGICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWDBfTEIxICAgICAgICAgICAgICgxKQorI2RlZmluZSBUWDBfTEIyICAgICAgICAgICAgICg5KQorI2RlZmluZSBUWDBfTUIxICAgICAgICAgICAgICg0KQorI2RlZmluZSBUWDBfTUIyICAgICAgICAgICAgICgxMCkKKyNkZWZpbmUgVFgwX0hCMSAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgVFgwX0hCX1VIQjEJCQkoMTEpCisjZGVmaW5lIFRYMF9IQl9VSEIyCQkJKDEyKQorI2RlZmluZSBUWDBfTE9BRCAgICAgICAgICAgICgxMikJCS8vbWF4IHR4IHBvcnQgbnVtIGRlZmluZWQgaW4gbW1yZgorI2RlZmluZSBUWE1BWF9QT1JUX05VTQkJKFRYMF9MT0FEICsgMSkKKworI2RlZmluZSBUWDFfT0ZGICAgICAgICAgICAgIChUWE1BWF9QT1JUX05VTStUWDBfT0ZGKQorI2RlZmluZSBUWDFfTEIxICAgICAgICAgICAgIChUWE1BWF9QT1JUX05VTStUWDBfTEIxKQorI2RlZmluZSBUWDFfTUIxICAgICAgICAgICAgIChUWE1BWF9QT1JUX05VTStUWDBfTUIxKQorI2RlZmluZSBUWDFfTUIyICAgICAgICAgICAgIChUWE1BWF9QT1JUX05VTStUWDBfTUIyKQorI2RlZmluZSBUWDFfSEJfVUhCMSAgICAgICAgIChUWE1BWF9QT1JUX05VTStUWDBfSEJfVUhCMSkKKyNkZWZpbmUgVFgxX0hCX1VIQjIgICAgICAgICAoVFhNQVhfUE9SVF9OVU0rVFgwX0hCX1VIQjIpCisKKyNkZWZpbmUgVFgxX0xPQUQgICAgICAgICAgICAoVFhNQVhfUE9SVF9OVU0rVFgwX0xPQUQpCisjZGVmaW5lIFRYTUFYX1JGMCAgICAgICAgICAgVFgwX0xPQUQKKyNkZWZpbmUgVFhNQVhfUkYxICAgICAgICAgICBUWDBfTE9BRAorI2RlZmluZSBUWE1BWF9SRjIgICAgICAgICAgIFRYMF9MT0FECisKKworI2Vsc2UKKyNkZWZpbmUgUFJYMSAgICAgICAgICAgICAgICAoMCkKKyNkZWZpbmUgUFJYMiAgICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgUFJYMyAgICAgICAgICAgICAgICAoMikKKyNkZWZpbmUgUFJYNCAgICAgICAgICAgICAgICAoMykKKyNkZWZpbmUgUFJYNSAgICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgUFJYNiAgICAgICAgICAgICAgICAoNSkKKyNkZWZpbmUgUFJYNyAgICAgICAgICAgICAgICAoNikKKyNkZWZpbmUgUFJYOCAgICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgUFJYOSAgICAgICAgICAgICAgICAoOCkKKyNkZWZpbmUgUFJYMTAgICAgICAgICAgICAgICAoOSkKKyNkZWZpbmUgUFJYMTEgICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFBSWDEyICAgICAgICAgICAgICAgKDExKQorI2RlZmluZSBQUlgxMyAgICAgICAgICAgICAgICgxMikKKyNkZWZpbmUgUFJYMTQgICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIFBSWDE1ICAgICAgICAgICAgICAgKDE0KQorI2RlZmluZSBQUlgxNiAgICAgICAgICAgICAgICgxNSkKKyNkZWZpbmUgUFJYMTcgICAgICAgICAgICAgICAoMTYpCisjZGVmaW5lIFBSWDE4ICAgICAgICAgICAgICAgKDE3KQorI2RlZmluZSBQUlgxOSAgICAgICAgICAgICAgICgxOCkKKyNkZWZpbmUgUFJYMjAgICAgICAgICAgICAgICAoMTkpCisjZGVmaW5lIFBSWDIxICAgICAgICAgICAgICAgKDIwKQorI2RlZmluZSBQUlgyMiAgICAgICAgICAgICAgICgyMSkKKyNkZWZpbmUgRFJYMSAgICAgICAgICAgICAgICBQUlgxCisjZGVmaW5lIERSWDIgICAgICAgICAgICAgICAgUFJYMgorI2RlZmluZSBEUlgzICAgICAgICAgICAgICAgIFBSWDMKKyNkZWZpbmUgRFJYNCAgICAgICAgICAgICAgICBQUlg0CisjZGVmaW5lIERSWDUgICAgICAgICAgICAgICAgUFJYNQorI2RlZmluZSBEUlg2ICAgICAgICAgICAgICAgIFBSWDYKKyNkZWZpbmUgRFJYNyAgICAgICAgICAgICAgICBQUlg3CisjZGVmaW5lIERSWDggICAgICAgICAgICAgICAgUFJYOAorI2RlZmluZSBEUlg5ICAgICAgICAgICAgICAgIFBSWDkKKyNkZWZpbmUgRFJYMTAgICAgICAgICAgICAgICBQUlgxMAorI2RlZmluZSBEUlgxMSAgICAgICAgICAgICAgIFBSWDExCisjZGVmaW5lIERSWDEyICAgICAgICAgICAgICAgUFJYMTIKKyNkZWZpbmUgRFJYMTMgICAgICAgICAgICAgICBQUlgxMworI2RlZmluZSBEUlgxNCAgICAgICAgICAgICAgIFBSWDE0CisjZGVmaW5lIERSWDE1ICAgICAgICAgICAgICAgUFJYMTUKKyNkZWZpbmUgRFJYMTYgICAgICAgICAgICAgICBQUlgxNgorI2RlZmluZSBEUlgxNyAgICAgICAgICAgICAgIFBSWDE3CisjZGVmaW5lIERSWDE4ICAgICAgICAgICAgICAgUFJYMTgKKyNkZWZpbmUgRFJYMTkgICAgICAgICAgICAgICBQUlgxOQorI2RlZmluZSBEUlgyMCAgICAgICAgICAgICAgIFBSWDIwCisjZGVmaW5lIERSWDIxICAgICAgICAgICAgICAgUFJYMjEKKyNkZWZpbmUgRFJYMjIgICAgICAgICAgICAgICBQUlgyMgorI2RlZmluZSBQUlhNQVhfUkYxICAgICAgICAgIFBSWDExCisjZGVmaW5lIFBSWE1BWF9SRjIgICAgICAgICAgUFJYMjIKKyNkZWZpbmUgRFJYTUFYX1JGMSAgICAgICAgICBEUlgxMQorI2RlZmluZSBEUlhNQVhfUkYyICAgICAgICAgIERSWDIyCisjZGVmaW5lIFBSWE1BWCAgICAgICAgICAgICAgUFJYMjIKKyNkZWZpbmUgRFJYTUFYICAgICAgICAgICAgICBEUlgyMgorCisjZGVmaW5lIFRYMF9VSEIgICAgICAgICAgICAgICgwKQorI2RlZmluZSBUWDBfSEIxICAgICAgICAgICAgICAoMSkKKyNkZWZpbmUgVFgwX0hCMiAgICAgICAgICAgICAgKDIpCisjZGVmaW5lIFRYMF9NQjEgICAgICAgICAgICAgICgzKQorI2RlZmluZSBUWDBfTUIyICAgICAgICAgICAgICAoNCkKKyNkZWZpbmUgVFgwX01CMyAgICAgICAgICAgICAgKDUpCisjZGVmaW5lIFRYMF9MQjEgICAgICAgICAgICAgICg2KQorI2RlZmluZSBUWDBfTEIyICAgICAgICAgICAgICAoNykKKyNkZWZpbmUgVFgwX0xCMyAgICAgICAgICAgICAgKDgpCisjZGVmaW5lIFRYMF9MQjQgICAgICAgICAgICAgICg5KQorI2RlZmluZSBUWDFfVUhCICAgICAgICAgICAgICAoMTApCisjZGVmaW5lIFRYMV9IQiAgICAgICAgICAgICAgICgxMSkKKyNkZWZpbmUgVFgxX01CICAgICAgICAgICAgICAgKDEyKQorI2RlZmluZSBUWDFfTEIxICAgICAgICAgICAgICAoMTMpCisjZGVmaW5lIFRYMV9MQjIgICAgICAgICAgICAgICgxNCkKKyNkZWZpbmUgVFhPMSAgICAgICAgICAgICAgICAgVFgwX0hCMQorI2RlZmluZSBUWE8yICAgICAgICAgICAgICAgICBUWDBfTUIxCisjZGVmaW5lIFRYTzMgICAgICAgICAgICAgICAgIFRYMF9NQjIKKyNkZWZpbmUgVFhPNCAgICAgICAgICAgICAgICAgVFgwX0xCMQorI2RlZmluZSBUWE81ICAgICAgICAgICAgICAgICBUWDBfTEIyCisjZGVmaW5lIFRYTUFYX1JGMSAgICAgICAgICAgIFRYMF9MQjQKKyNkZWZpbmUgVFhNQVhfUkYyICAgICAgICAgICAgVFgxX0xCMgorI2VuZGlmCisKKyNkZWZpbmUgQzJLX1RYX0RFVF9JT19ERVQwICAgICAgKDApCisjZGVmaW5lIEMyS19UWF9ERVRfSU9fREVUMSAgICAgICgxKQorCisKKyNkZWZpbmUgTk9ORV9VU0VEX0JBTkQgICAgICAoMHhmZikKKworI2RlZmluZSBOT05FX1VTRURfUFJYICAgICAgIFBSWE1BWAorI2RlZmluZSBOT05FX1VTRURfRFJYICAgICAgIERSWE1BWAorI2RlZmluZSBUWF9JT19OVUxMICAgICAgICAgIFRYTUFYX1JGMQorI2RlZmluZSBDMktfVFhfREVUX0lPX05VTEwgICAgICBDMktfVFhfREVUX0lPX0RFVDAKKworLyoqKiBUQVMgMi4wICoqKi8KKyNkZWZpbmUgQzJLX1RBU19NQVhfQ0FUX0FfUk9VVEVfTlVNICAgICAgKDQpCisjZGVmaW5lIEMyS19UQVNfTUFYX0NBVF9CX1JPVVRFX05VTSAgICAgICg0KQorI2RlZmluZSBDMktfVEFTX01BWF9DQVRfQ19ST1VURV9OVU0gICAgICAoNCkKKyNkZWZpbmUgQzJLX1RBU19NQVhfRkVfUk9VVEVfTlVNICAgICAgICAgKDUpCisjZGVmaW5lIEMyS19UQVNfTUFYX1NUQVRFX05VTSAgICAgICAgICAgICg4KQorI2RlZmluZSBDMktfVFVORVJfRkVfTUFYICAgICAgICAgICAgICAgICAoOCkKKworCit0eXBlZGVmIGVudW0KK3sKKwlDTDFEX1JGX1RYX1BPV0VSX0JBQ0tfT0ZGX0hJR0hfVEVNUCwKKwlDTDFEX1JGX1RYX1BPV0VSX0JBQ0tfT0ZGX0xPV19URU1QLAkKKwlDTDFEX1JGX1RYX1BPV0VSX0JBQ0tfT0ZGX1RFTVBfTlVNIAorfUNMMURfUkZfVFhfUE9XRVJfQkFLX09GRl9URU1QX0U7CisKKy8qKiBDMksgUEEgY29udHJvbCB0eXBlIGVudW1lcmF0aW9uICovCit0eXBlZGVmIGVudW0KK3sKKyAgICBDTDFEX1JGX1BBX0JQSV9UWVBFPTAsCisgICAgQ0wxRF9SRl9QQV9NSVBJX1RZUEUsCisgICAgQ0wxRF9SRl9QQV9UWVBFX05VTQorfUNMMURfUkZfUEFfVFlQRV9FOworCisvKiogQzJLIFJBVCB0eXBlIGVudW1lcmF0aW9uICovCit0eXBlZGVmIGVudW0KK3sKKyAgIENMMURfUkZfUkFUXzFYUlRUICA9IDAsCisgICBDTDFEX1JGX1JBVF9FVkRPICAgPSAxLAorICAgQ0wxRF9SRl9SQVRfTlVNICAgID0gMiwKKyAgIENMMURfUkZfUkFUX05VTEwgICA9IENMMURfUkZfUkFUX05VTSwKK30gQ0wxRF9SRl9SQVRfVFlQRV9FOworCit0eXBlZGVmIGVudW0KK3sKKyAgIEMyS19EQzJEQwk9MCwKKyAgIEMyS19QTUlDCQk9VlBBX1NPVVJDRV9IV19QTUlDLAorICAgQzJLX0JBVFQsCisgICBDMktfRVRNLAorICAgQzJLX0hQVUUJCT1WUEFfU09VUkNFX0hXX0VYVF9WUEEKK30gQ0wxRF9SRl9QQV9WRERfU1JDX0U7CisKK3R5cGVkZWYgZW51bQoreworICAgX0lEWCA9IDEsCisgICBCQU5EX0FfSURYID0gMSwKKyAgIEJBTkRfQl9JRFggPSAyLAorICAgQkFORF9DX0lEWCA9IDMsCisgICBCQU5EX0RfSURYID0gNCwKKyAgIEJBTkRfRV9JRFggPSA1LAorICAgTUFYX0JBTkRfTlVNID0gNSwKKworICAgUm91dGUwX0lEWCA9IDEsCisgICBSb3V0ZTFfSURYID0gMiwKKyAgIFJvdXRlMl9JRFggPSAzLAorICAgUm91dGUzX0lEWCA9IDQsCisgICBNQVhfUm91dGVfTlVNID0gNCwKKworICAgREFUX0NBVF9BX1JvdXRlMF9JRFggPSAxLAorICAgREFUX0NBVF9BX1JvdXRlMV9JRFggPSAyLAorICAgREFUX0NBVF9BX1JvdXRlMl9JRFggPSAzLAorICAgREFUX0NBVF9BX1JvdXRlM19JRFggPSA0LAorICAgREFUX0NBVF9BX1JvdXRlNF9JRFggPSA1LAorICAgREFUX0NBVF9BX1JvdXRlNV9JRFggPSA2LAorICAgREFUX0NBVF9BX1JvdXRlNl9JRFggPSA3LAorICAgREFUX0NBVF9BX1JvdXRlN19JRFggPSA4LAorICAgREFUX0NBVF9BX1JvdXRlOF9JRFggPSA5LAorICAgREFUX0NBVF9BX1JvdXRlOV9JRFggPSAxMCwKKyAgIE1BWF9EQVRfQ0FUX0FfUm91dGVfTlVNID0gMTAsCisgICAKKyAgIERBVF9DQVRfQl9Sb3V0ZTBfSURYID0gMSwKKyAgIERBVF9DQVRfQl9Sb3V0ZTFfSURYID0gMiwKKyAgIERBVF9DQVRfQl9Sb3V0ZTJfSURYID0gMywKKyAgIERBVF9DQVRfQl9Sb3V0ZTNfSURYID0gNCwKKyAgIERBVF9DQVRfQl9Sb3V0ZTRfSURYID0gNSwKKyAgIERBVF9DQVRfQl9Sb3V0ZTVfSURYID0gNiwKKyAgIERBVF9DQVRfQl9Sb3V0ZTZfSURYID0gNywKKyAgIERBVF9DQVRfQl9Sb3V0ZTdfSURYID0gOCwKKyAgIERBVF9DQVRfQl9Sb3V0ZThfSURYID0gOSwKKyAgIERBVF9DQVRfQl9Sb3V0ZTlfSURYID0gMTAsCisgICBEQVRfQ0FUX0JfUm91dGUxMF9JRFggPSAxMSwKKyAgIERBVF9DQVRfQl9Sb3V0ZTExX0lEWCA9IDEyLAorICAgREFUX0NBVF9CX1JvdXRlMTJfSURYID0gMTMsCisgICBEQVRfQ0FUX0JfUm91dGUxM19JRFggPSAxNCwKKyAgIERBVF9DQVRfQl9Sb3V0ZTE0X0lEWCA9IDE1LAorICAgREFUX0NBVF9CX1JvdXRlMTVfSURYID0gMTYsCisgICBEQVRfQ0FUX0JfUm91dGUxNl9JRFggPSAxNywKKyAgIERBVF9DQVRfQl9Sb3V0ZTE3X0lEWCA9IDE4LAorICAgREFUX0NBVF9CX1JvdXRlMThfSURYID0gMTksCisgICBEQVRfQ0FUX0JfUm91dGUxOV9JRFggPSAyMCwKKyAgIERBVF9DQVRfQl9Sb3V0ZTIwX0lEWCA9IDIxLAorICAgREFUX0NBVF9CX1JvdXRlMjFfSURYID0gMjIsCisgICBEQVRfQ0FUX0JfUm91dGUyMl9JRFggPSAyMywKKyAgIERBVF9DQVRfQl9Sb3V0ZTIzX0lEWCA9IDI0LAorICAgREFUX0NBVF9CX1JvdXRlMjRfSURYID0gMjUsCisgICBEQVRfQ0FUX0JfUm91dGUyNV9JRFggPSAyNiwKKyAgIERBVF9DQVRfQl9Sb3V0ZTI2X0lEWCA9IDI3LAorICAgREFUX0NBVF9CX1JvdXRlMjdfSURYID0gMjgsCisgICBEQVRfQ0FUX0JfUm91dGUyOF9JRFggPSAyOSwKKyAgIERBVF9DQVRfQl9Sb3V0ZTI5X0lEWCA9IDMwLAorICAgREFUX0NBVF9CX1JvdXRlMzBfSURYID0gMzEsCisgICBEQVRfQ0FUX0JfUm91dGUzMV9JRFggPSAzMiwKKyAgIERBVF9DQVRfQl9Sb3V0ZTMyX0lEWCA9IDMzLAorICAgREFUX0NBVF9CX1JvdXRlMzNfSURYID0gMzQsCisgICBEQVRfQ0FUX0JfUm91dGUzNF9JRFggPSAzNSwKKyAgIERBVF9DQVRfQl9Sb3V0ZTM1X0lEWCA9IDM2LAorICAgREFUX0NBVF9CX1JvdXRlMzZfSURYID0gMzcsCisgICBEQVRfQ0FUX0JfUm91dGUzN19JRFggPSAzOCwKKyAgIERBVF9DQVRfQl9Sb3V0ZTM4X0lEWCA9IDM5LAorICAgREFUX0NBVF9CX1JvdXRlMzlfSURYID0gNDAsCisgICBNQVhfREFUX0NBVF9CX1JvdXRlX05VTSA9IDQwLAorICAgCisgICBFTE5BMV9JRFggPSAxLAorICAgRUxOQTJfSURYID0gMiwKKyAgIEVMTkEzX0lEWCA9IDMsCisgICBFTE5BNF9JRFggPSA0LAorICAgRUxOQTVfSURYID0gNSwKKyAgIEVMTkE2X0lEWCA9IDYsCisgICBFTE5BN19JRFggPSA3LAorICAgRUxOQThfSURYID0gOCwKKyAgIEVMTkE5X0lEWCA9IDksCisgICBFTE5BMTBfSURYID0gMTAsCisgICBNQVhfRUxOQV9OVU0gPSAxMAorfSBDTDFEX1JGX05WX0lURU1fSU5ERVhfVDsKKworLypFTE5BIG1vZGUgKi8KK3R5cGVkZWYgZW51bXsKKyAgICBDMktfRUxOQV9BTFdBWVNfT04sCisgICAgQzJLX0VMTkFfQUxXQVlTX09OXzJORF9TQVcsCisgICAgQzJLX0VMTkFfQllQQVNTLAorICAgIEMyS19FTE5BX0JZUEFTU18yTkRfU0FXLAorICAgIEMyS19FTE5BX09GRiwKKyAgICBDMktfRUxOQV9NT0RFX05VTV9NQVgsCisgICAgQzJrX0VMTkFfSUxMRUdBTAorfU1JUElfRUxOQV9DQVRFR09SWV9FOworI2lmIChkZWZpbmVkIF9fTUQ5NV9fKQordHlwZWRlZiBlbnVteworICAgICBDTDFEX0VMTkFfTk9ORSwKKwkgQ0wxRF8xOGRCX0JZUEFTU19MT1dfVFhfSVNPLAorCSBDTDFEXzE4ZEJfQllQQVNTX0hJR0hfVFhfSVNPLAorCSBDTDFEXzE4ZEJfQllQQVNTX0xPV19UWF9JU09fUl9NQVRDSElORywKKwkgQ0wxRF8xM1A1ZEJfQllQQVNTX0xPV19UWF9JU08sCisJIENMMURfMTNQNWRCX0JZUEFTU19ISUdIX1RYX0lTTywKKwkgQ0wxRF8xM1A1ZEJfQllQQVNTX0xPV19UWF9JU09fUl9NQVRDSElORywJIAorCSBDTDFEXzEzUDVkQl9BTFdBWVNfT05fTE9XX1RYX0lTTywKKwkgQ0wxRF8xM1A1ZEJfQUxXQVlTX09OX0hJR0hfVFhfSVNPLCAKKwkgQ0wxRF9FTE5BX01PREVfTlVNLAorCSBDTDFEX0VMTkFfTU9ERV9JTExFR0FMPUNMMURfRUxOQV9NT0RFX05VTQorfUNMMURfRUxOQV9NT0RFX0U7CisjZWxzZQordHlwZWRlZiBlbnVteworICAgIENMMURfRUxOQV9OT05FLAorICAgIENMMURfRUxOQV9BTFdBWVNfT04sCisgICAgQ0wxRF9FTE5BX1JVTlRJTUVfQ0hBTkdFLAorICAgIENMMURfRUxOQV9NT0RFX05VTSwKKyAgICBDTDFEX0VMTkFfTU9ERV9JTExFR0FMPUNMMURfRUxOQV9NT0RFX05VTQorfUNMMURfRUxOQV9NT0RFX0U7CisjZW5kaWYKK3R5cGVkZWYgZW51bXsKKyAgICBDMktfRUxOQV9PTl9JTlRFUiwKKyAgICBDMktfRUxOQV9CWVBBU1NfSU5URVIsCisgICAgQzJLX0VMTkFfT0ZGX0lOVEVSLAorICAgIEMyS19FTE5BX0VWRU5UX1RZUEVfTUFYX05VTQorfU1JUElfRUxOQV9FVkVOVF9UWVBFX0U7CisKKworCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF9ib29sIGlzX3N1cHBvcnRlZDsKKyAgICBTeXNDZG1hQmFuZFQgYmFuZF9jbGFzczsKKyAgICBrYWxfdWludDMyIHN1Yl9jbGFzczsKK30gQ0wxRF9SRl9DVVNUX0JBTkRfU1VQUE9SVF9UOworIHR5cGVkZWYgc3RydWN0Cit7CisgICBrYWxfaW50MTYgcGFfc2V0dGluZ190aW1lOworfSBDTDFEX1JGX0NVU1RfUEFfVElNSU5HX1Q7CisjaWYgZGVmaW5lZChfX01EOTNfXykgfHwgZGVmaW5lZChfX01EOTVfXykKKyB0eXBlZGVmIHN0cnVjdAorICB7CisgICAgIC8qIEJhbmQgQ2xhc3MgU3VwcG9ydGVkICovCisgICAgICBDTDFEX1JGX0NVU1RfQkFORF9TVVBQT1JUX1QgYmFuZF9zdXBwb3J0W1JGX0NVU1RfU1VQUE9SVF9CQU5EX01BWF9OVU1dOy8qNWJhbmRzOiBBLEIsQyxELEUgKi8KKyAgICAgIC8qIFBBIGNvbnRyb2wgdGltaW5nICovCisgICAgICBDTDFEX1JGX0NVU1RfUEFfVElNSU5HX1QgcGFfdGltaW5nOworICAgICAgLyogUEEgVkREIHNlbGVjdGlvbiovCisgICAgICBDTDFEX1JGX1BBX1ZERF9TUkNfRSBwYV92ZGRfc3JjX3NlbFtSRl9DVVNUX1NVUFBPUlRfQkFORF9NQVhfTlVNXTsKKworICAgICAgLyogUlggTE5BIHBvcnQgc2VsZWN0aW9uICovCisgICAgICBrYWxfdWludDggcnhfbG5hX3BvcnRfc2VsW1JGX0NVU1RfU1VQUE9SVF9CQU5EX01BWF9OVU1dOworICAgICAgLyogUlggRGl2ZXJzaXR5IExOQSBwb3J0IHNlbGVjdGlvbiAqLworICAgICAga2FsX3VpbnQ4IHJ4ZF9sbmFfcG9ydF9zZWxbUkZfQ1VTVF9TVVBQT1JUX0JBTkRfTUFYX05VTV07CisgICAgICAvKiBUWCBMTkEgcG9ydCBzZWxlY3Rpb24gKi8KKyAgICAgIGthbF91aW50OCB0eF9sbmFfcG9ydF9zZWxbUkZfQ1VTVF9TVVBQT1JUX0JBTkRfTUFYX05VTV07CisgICAgICAvKiBERVQgTE5BIHBvcnQgc2VsZWN0aW9uICovCisgICAgICBrYWxfdWludDggZGV0X2xuYV9wb3J0X3NlbFtSRl9DVVNUX1NVUFBPUlRfQkFORF9NQVhfTlVNXTsKKworICAgICAgLyogUlggRGl2ZXJzaXR5IGVuYWJsZSAqLworICAgICAga2FsX2Jvb2wgcnhfZGl2ZXJzaXR5X2VuYWJsZVtSRl9DVVNUX1NVUFBPUlRfQkFORF9NQVhfTlVNXTsKKyAgICAgIC8qIFJYIERpdmVyc2l0eSBlbmFibGUgZm9yIHRlc3QgKi8KKyAgICAgIGthbF9ib29sIHJ4X2RpdmVyc2l0eV9vbmx5X3Rlc3RfZW5hYmxlW1JGX0NVU1RfU1VQUE9SVF9CQU5EX01BWF9OVU1dOworICAgICAgLyogUEEgY29udHJvbCBieSBtaXBpIG9yIGJwaSAqLworI2lmIGRlZmluZWQoX19NRDk1X18pIHx8IGRlZmluZWQoX19NRDk3X18pIHx8IGRlZmluZWQoX19NRDk3UF9fKQorICAgICAgQ0wxRF9SRl9QQV9UWVBFX0UgcGFfY29udHJvbF9zZWxbUkZfQ1VTVF9TVVBQT1JUX0JBTkRfTUFYX05VTV07CisjZW5kaWYKKyAgfSBDTDFEX1JGX0NVU1RfUEFSQU1fVDsKKyNlbmRpZgorI2lmIChkZWZpbmVkKF9fTUQ5N19fKSB8fCBkZWZpbmVkKF9fTUQ5N1BfXykpCit0eXBlZGVmIHN0cnVjdAoreworIC8qIEJhbmQgQ2xhc3MgU3VwcG9ydGVkICovCisgIENMMURfUkZfQ1VTVF9CQU5EX1NVUFBPUlRfVCBiYW5kX3N1cHBvcnRbUkZfQ1VTVF9TVVBQT1JUX0JBTkRfTUFYX05VTV07Lyo1YmFuZHM6IEEsQixDLEQsRSAqLworICAvKiBSWCBEaXZlcnNpdHkgZW5hYmxlICovCisgIGthbF9ib29sIHJ4X2RpdmVyc2l0eV9lbmFibGVbUkZfQ1VTVF9TVVBQT1JUX0JBTkRfTUFYX05VTV07CisgIC8qIFJYIERpdmVyc2l0eSBlbmFibGUgZm9yIHRlc3QgKi8KKyAga2FsX2Jvb2wgcnhfZGl2ZXJzaXR5X29ubHlfdGVzdF9lbmFibGVbUkZfQ1VTVF9TVVBQT1JUX0JBTkRfTUFYX05VTV07Cit9IENMMURfUkZfQ1VTVF9QQVJBTV9UOworI2VuZGlmCisKKy8qKioqKioqKioqKioqKioqKiBCUEkgKioqKioqKioqKioqKioqKioqKi8KK3R5cGVkZWYgc3RydWN0eworICAgIC8qQlBJIERhdGEqLworICAgIGthbF91aW50MzIgcGRhdGFfcHIxOworICAgIGthbF91aW50MzIgcGRhdGFfcHIyOworICAgIGthbF91aW50MzIgcGRhdGFfcHIyYjsKKyAgICBrYWxfdWludDMyIHBkYXRhX3ByMzsKKyAgICBrYWxfdWludDMyIHBkYXRhX3ByM2E7CisKKyAgICBrYWxfdWludDMyIHBkYXRhX3B0MTsKKyAgICBrYWxfdWludDMyIHBkYXRhX3B0MjsKKyAgICBrYWxfdWludDMyIHBkYXRhX3B0MmI7CisgICAga2FsX3VpbnQzMiBwZGF0YV9wdDM7CisgICAga2FsX3VpbnQzMiBwZGF0YV9wdDNhOworCisgICAga2FsX3VpbnQzMiBwZGF0YV9yeGRfcHIxOworICAgIGthbF91aW50MzIgcGRhdGFfcnhkX3ByMjsKKyAgICBrYWxfdWludDMyIHBkYXRhX3J4ZF9wcjJiOworICAgIGthbF91aW50MzIgcGRhdGFfcnhkX3ByMzsKKyAgICBrYWxfdWludDMyIHBkYXRhX3J4ZF9wcjNhOworCisgICAga2FsX3VpbnQzMiBwZGF0YV9wdGcxOworICAgIGthbF91aW50MzIgcGRhdGFfcHRnMjsKKyAgICBrYWxfdWludDMyIHBkYXRhX3B0ZzJiOworICAgIGthbF91aW50MzIgcGRhdGFfcHRnMzsKKyAgICBrYWxfdWludDMyIHBkYXRhX3B0ZzNhOworCit9Q0wxRF9SRl9DVVNUX0JQSV9EQVRBX0NGR19UOwordHlwZWRlZiBzdHJ1Y3R7CisgICAgLypSWCAqLworICAgIGthbF9pbnQxNiB0Y19wcjE7CisgICAga2FsX2ludDE2IHRjX3ByMjsKKyAgICBrYWxfaW50MTYgdGNfcHIyYjsKKyAgICBrYWxfaW50MTYgdGNfcHIzOworICAgIGthbF9pbnQxNiB0Y19wcjNhOworCisgICAgLypSWEQgKi8KKyAgICBrYWxfaW50MTYgdGNfcnhkX3ByMTsKKyAgICBrYWxfaW50MTYgdGNfcnhkX3ByMjsKKyAgICBrYWxfaW50MTYgdGNfcnhkX3ByMmI7CisgICAga2FsX2ludDE2IHRjX3J4ZF9wcjM7CisgICAga2FsX2ludDE2IHRjX3J4ZF9wcjNhOworCisgICAgLypUWCAqLworICAgIGthbF9pbnQxNiB0Y19wdDE7CisgICAga2FsX2ludDE2IHRjX3B0MjsKKyAgICBrYWxfaW50MTYgdGNfcHQyYjsKKyAgICBrYWxfaW50MTYgdGNfcHQzOworICAgIGthbF9pbnQxNiB0Y19wdDNhOworCisgICAgLypUWCBHQVRFICovCisgICAga2FsX2ludDE2IHRjX3B0ZzE7CisgICAga2FsX2ludDE2IHRjX3B0ZzI7CisgICAga2FsX2ludDE2IHRjX3B0ZzJiOworICAgIGthbF9pbnQxNiB0Y19wdGczOworICAgIGthbF9pbnQxNiB0Y19wdGczYTsKKworfUNMMURfUkZfQ1VTVF9CUElfVElNSU5HX0NGR19UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIENMMURfUkZfQ1VTVF9CUElfREFUQV9DRkdfVCBicGlfZGF0YTsKKyAgICBDTDFEX1JGX0NVU1RfQlBJX1RJTUlOR19DRkdfVCBicGlfdGltaW5nOworfUNMMURfUkZfQ1VTVF9CUElfQ0ZHX1Q7CisKKworCisvKioqKioqKioqKioqKioqKiogVEFTICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lIEMyS19NSVBJX1RBU19FVkVOVF9OVU0gICAgICAgICgxMCkKKyNkZWZpbmUgQzJLX01JUElfVEFTX0RBVEFfTlVNICAgICAgICAgKDIwKQorI2RlZmluZSBDMktfTUlQSV9UQVNfUk9VVEVfTlVNICAgICAgICAoNCkKKyNkZWZpbmUgQzJLX01JUElfVFVORVJfRVZFTlRfTlVNICAgICAgKDgrMSkKKyNkZWZpbmUgQzJLX01JUElfVFVORVJfREFUQV9OVU0gICAgICAgKDgrMSkKKyNkZWZpbmUgQzJLX01JUElfVFVORVJfUk9VVEVfTlVNICAgICAgKDgpCisvKkRBVCovCisjZGVmaW5lIEMyS19EQVRfRkVfTlVMTAkJCQkgICgyNTUpCisjZGVmaW5lIEMyS19EQVRfTUlQSV9UQUJMRV9OVUxMCQkgICgyNTUpCisjZGVmaW5lIEMyS19EQVRfTUFYX0NBVF9BX1JPVVRFX05VTSAgICAgIDEwCisjZGVmaW5lIEMyS19EQVRfTUFYX0NBVF9CX1JPVVRFX05VTSAgICAgIDQwCisjZGVmaW5lIEMyS19EQVRfTk9fU1BMSVRfQkFORCAgICAgICAgICgweEZGKQorI2RlZmluZSBDMktfREFUX01BWF9TVEFURV9OVU0JCSAgKDgpCisjZGVmaW5lIEMyS19EQVRfTUFYX0NBVF9OVU0JCQkgICgyKQorI2RlZmluZSBDMktfTUlQSV9EQVRfRVZFTlRfTlVNCQkgICg4KQorI2RlZmluZSBDMktfTUlQSV9EQVRfREFUQV9OVU0JCSAgKDIwKQorI2RlZmluZSBDMktfQU5UX1RVTkVSX1NQTElUX1BBUlRfTUFYICAoNSkKKworLyptYXRjaCB0byBUQVMgYmlnIHN3aXRjaCAqLy8vMCwxLDIsMworLypTVCovCit0eXBlZGVmIGVudW0KK3sKKyAgICBUQVMyX0lEWF9TVEFURTAgPSAwLAorICAgIFRBUzJfSURYX1NUQVRFMSwKKyAgICBUQVMyX0lEWF9TVEFURTIsCisgICAgVEFTMl9JRFhfU1RBVEUzLAorICAgIFRBUzJfSURYX1NUQVRFNCwKKyAgICBUQVMyX0lEWF9TVEFURTUsCisgICAgVEFTMl9JRFhfU1RBVEU2LAorICAgIFRBUzJfSURYX1NUQVRFNywgICAgCisjaWZuZGVmIF9fTUQ5M19fCisgICAgVEFTMl9JRFhfU1RBVEU4LAorICAgIFRBUzJfSURYX1NUQVRFOSwKKyAgICBUQVMyX0lEWF9TVEFURTEwLAorICAgIFRBUzJfSURYX1NUQVRFMTEsCisgICAgVEFTMl9JRFhfU1RBVEUxMiwKKyAgICBUQVMyX0lEWF9TVEFURTEzLAorICAgIFRBUzJfSURYX1NUQVRFMTQsCisgICAgVEFTMl9JRFhfU1RBVEUxNSwKKyAgICBUQVMyX0lEWF9TVEFURTE2LAorICAgIFRBUzJfSURYX1NUQVRFMTcsCisgICAgVEFTMl9JRFhfU1RBVEUxOCwKKyAgICBUQVMyX0lEWF9TVEFURTE5LAorICAgIFRBUzJfSURYX1NUQVRFMjAsCisgICAgVEFTMl9JRFhfU1RBVEUyMSwKKyAgICBUQVMyX0lEWF9TVEFURTIyLAorICAgIFRBUzJfSURYX1NUQVRFMjMsCisjZW5kaWYKKyAgICBUQVMyX0lEWF9GT1JDRSwKKyAgICBUQVMyX0lEWF9ERUZBVUxULAorICAgIFRBUzJfSURYX0RFRkFVTFRfT05fVEVTVF9TSU0sCisgICAgVEFTMl9JRFhfREVGQVVMVF9PTl9SRUFMX1NJTSwKKyAgICBUQVMyX1RCTF9JRFhfTUFYCit9IENMMURfUkZfVEFTX1lBQkxfSU5JVF9JRFhfVDsKKworCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF9pbnQzMiB0YXNCTU1hc2s7CisgICAga2FsX2ludDMyIHRhc0JNRGF0YTsKKyAgICBrYWxfaW50MzIgaW5pdFRibEluZGV4OworICAgIGthbF9ib29sICB0YXNTd2l0Y2hFbjsKK30gQ0wxRF9SRl9UQVNfVEFCTF9UOwordHlwZWRlZiBlbnVtCit7CisgICBUQVNfQllfUkFUX1JFQUxfU0lNX0VOQkxFID0gMCwKKyAgIFRBU19CWV9SQVRfVEVTVF9TSU1fRU5CTEUgPSAxLAorICAgVEFTX0ZPUkNFX0VOQkxFID0gMCwKKyAgIFRBU19CWV9CQU5EX1JFQUxfU0lNX0VOQkxFLAorICAgVEFTX0JZX0JBTkRfVEVTVF9TSU1fRU5CTEUsCisgICBUQVNfVEVTVF9NT0RFX0VOQkxFLAorICAgVEFTX0lTX1RFU1RTSU0sCisgICBUQVNfQllfUkFUX0FMTF9TV0lUQ0hfTUFYID0gNAorfUNMMURfUkZfVEFTX01BUF9UOworLypTUCovCisKK3R5cGVkZWYgZW51bXsKKwlDMktfVEFTX0NBVF9BLAorCUMyS19UQVNfQ0FUX0IsCisJQzJLX1RBU19DQVRfQywKKwlDMktfVEFTX0NBVF9OVU0KK31DTDFEX1JGX0NVU1RfVEFTX0NBVF9FIDsKKwordHlwZWRlZiBlbnVteworCUMyS19UQVNfUk9VVEVfMCwKKwlDMktfVEFTX1JPVVRFXzEsCisJQzJLX1RBU19ST1VURV8yLAorCUMyS19UQVNfUk9VVEVfMywKKwlDMktfVEFTX1JPVVRFX05VTQorfUNMMURfUkZfQ1VTVF9UQVNfUk9VVEVfRTsKKwordHlwZWRlZiBlbnVtIHsKKyAgICBBTlRfTlVMTCA9IDAsIC8qIE5PIFRBUyBjb250cm9sICovCisgICAgQU5UXzEsCisgICAgQU5UXzIsCisgICAgQU5UXzMsCisgICAgQU5UXzQsCisgICAgQU5UXzUsCisgICAgQU5UXzYsCisgICAgQU5UXzcsCisKKyAgICBBTlRfTUFYX05VTSwKKworICAgIEFOVF9JTlZBTElEX05VTSA9IEFOVF9NQVhfTlVNCit9Q0wxRF9SRl9DVVNUX1RBU19BTlRfSU5ERVhfRTsKKwordHlwZWRlZiBlbnVtCit7CisgICBDMktfVEFTX0ZFX1JPVVRFMCwKKyAgIEMyS19UQVNfRkVfUk9VVEUxLAorICAgQzJLX1RBU19GRV9ST1VURTIsCisgICBDMktfVEFTX0ZFX1JPVVRFMywKKyAgIEMyS19UQVNfRkVfUk9VVEU0LAorICAgQzJLX1RBU19GRV9OVUxMID0gQzJLX1RBU19GRV9ST1VURTQKK31DMktfQ1VTVE9NX1RBU19GRV9ST1VURV9JRFhfRTsKKwordHlwZWRlZiBlbnVtCit7CisgICAgQzJLX1RBU19ESVNCTEUsCisgICAgQzJLX1RBU19ESVNBQkxFID0gQzJLX1RBU19ESVNCTEUsCisgICAgQzJLX1RBU19FTkFCTEUKK31DMktfQ1VTVE9NX1RBU19TV0lUQ0hfRTsKKwordHlwZWRlZiBlbnVtCit7CisgICAgQzJLX0FOVF9MQVlPVVRfR1JPVVBfSU5ERVgwLAorCUMyS19BTlRfTEFZT1VUX0dST1VQX0lOREVYMSwKKwlDMktfQU5UX0xBWU9VVF9HUk9VUF9JTkRFWDIsCisJQzJLX0FOVF9MQVlPVVRfR1JPVVBfSU5ERVgzLAorCUMyS19BTlRfTEFZT1VUX0dST1VQX0lOREVYNCwKKwlDMktfQU5UX0xBWU9VVF9HUk9VUF9JTkRFWDUsCisJQzJLX0FOVF9MQVlPVVRfR1JPVVBfSU5ERVg2LAorCUMyS19BTlRfTEFZT1VUX0dST1VQX0lOREVYNywKKwlDMktfQU5UX0xBWU9VVF9HUk9VUF9JTkRFWDgsCisJQzJLX0FOVF9MQVlPVVRfR1JPVVBfSU5ERVg5LAorCUMyS19BTlRfTEFZT1VUX0dST1VQX0lOREVYX01BWCwKKwlDMktfQU5UX0xBWU9VVF9HUk9VUF9JTkRFWF9OVUxMID0gMHhGRgorfUMyS19DVVNUT01fVEFTX0xBWU9VVF9HUk9VUF9FOworCisvKkRBVCBzdHJ1Y3R1cmUgKi8KK3R5cGVkZWYgZW51bQoreworICAgQzJLX0RBVF9DQVRfQV9DT05GSUdfSURYMCwKKyAgIEMyS19EQVRfQ0FUX0FfQ09ORklHX0lEWDEsCisgICBDMktfREFUX0NBVF9BX0NPTkZJR19JRFgyLAorICAgQzJLX0RBVF9DQVRfQV9DT05GSUdfSURYMywKKyAgIEMyS19EQVRfQ0FUX0FfQ09ORklHX0lEWDQsCisgICBDMktfREFUX0NBVF9BX0NPTkZJR19JRFg1LAorICAgQzJLX0RBVF9DQVRfQV9DT05GSUdfSURYNiwKKyAgIEMyS19EQVRfQ0FUX0FfQ09ORklHX0lEWDcsCisgICBDMktfREFUX0NBVF9BX0NPTkZJR19JRFg4LAorICAgQzJLX0RBVF9DQVRfQV9DT05GSUdfSURYOSwKKyAgIEMyS19EQVRfQ0FUX0FfTlVMTCA9IEMyS19EQVRfRkVfTlVMTCwKK31DMktfQ1VTVE9NX0RBVF9DQVRfQV9JRFhfRTsKKwordHlwZWRlZiBlbnVtCit7CisgICBDMktfREFUX0NBVF9CX0NPTkZJR19JRFgwLAorICAgQzJLX0RBVF9DQVRfQl9DT05GSUdfSURYMSwKKyAgIEMyS19EQVRfQ0FUX0JfQ09ORklHX0lEWDIsCisgICBDMktfREFUX0NBVF9CX0NPTkZJR19JRFgzLAorICAgQzJLX0RBVF9DQVRfQl9DT05GSUdfSURYNCwKKyAgIEMyS19EQVRfQ0FUX0JfQ09ORklHX0lEWDUsCisgICBDMktfREFUX0NBVF9CX0NPTkZJR19JRFg2LAorICAgQzJLX0RBVF9DQVRfQl9DT05GSUdfSURYNywKKyAgIEMyS19EQVRfQ0FUX0JfQ09ORklHX0lEWDgsCisgICBDMktfREFUX0NBVF9CX0NPTkZJR19JRFg5LAorICAgQzJLX0RBVF9DQVRfQl9DT05GSUdfSURYMTAsCisgICBDMktfREFUX0NBVF9CX0NPTkZJR19JRFgxMSwKKyAgIEMyS19EQVRfQ0FUX0JfQ09ORklHX0lEWDEyLAorICAgQzJLX0RBVF9DQVRfQl9DT05GSUdfSURYMTMsCisgICBDMktfREFUX0NBVF9CX0NPTkZJR19JRFgxNCwKKyAgIEMyS19EQVRfQ0FUX0JfQ09ORklHX0lEWDE1LAorICAgQzJLX0RBVF9DQVRfQl9DT05GSUdfSURYMTYsCisgICBDMktfREFUX0NBVF9CX0NPTkZJR19JRFgxNywKKyAgIEMyS19EQVRfQ0FUX0JfQ09ORklHX0lEWDE4LAorICAgQzJLX0RBVF9DQVRfQl9DT05GSUdfSURYMTksCisgICBDMktfREFUX0NBVF9CX0NPTkZJR19JRFgyMCwKKyAgIEMyS19EQVRfQ0FUX0JfQ09ORklHX0lEWDIxLAorICAgQzJLX0RBVF9DQVRfQl9DT05GSUdfSURYMjIsCisgICBDMktfREFUX0NBVF9CX0NPTkZJR19JRFgyMywKKyAgIEMyS19EQVRfQ0FUX0JfQ09ORklHX0lEWDI0LAorICAgQzJLX0RBVF9DQVRfQl9DT05GSUdfSURYMjUsCisgICBDMktfREFUX0NBVF9CX0NPTkZJR19JRFgyNiwKKyAgIEMyS19EQVRfQ0FUX0JfQ09ORklHX0lEWDI3LAorICAgQzJLX0RBVF9DQVRfQl9DT05GSUdfSURYMjgsCisgICBDMktfREFUX0NBVF9CX0NPTkZJR19JRFgyOSwKKyAgIEMyS19EQVRfQ0FUX0JfQ09ORklHX0lEWDMwLAorICAgQzJLX0RBVF9DQVRfQl9DT05GSUdfSURYMzEsCisgICBDMktfREFUX0NBVF9CX0NPTkZJR19JRFgzMiwKKyAgIEMyS19EQVRfQ0FUX0JfQ09ORklHX0lEWDMzLAorICAgQzJLX0RBVF9DQVRfQl9DT05GSUdfSURYMzQsCisgICBDMktfREFUX0NBVF9CX0NPTkZJR19JRFgzNSwKKyAgIEMyS19EQVRfQ0FUX0JfQ09ORklHX0lEWDM2LAorICAgQzJLX0RBVF9DQVRfQl9DT05GSUdfSURYMzcsCisgICBDMktfREFUX0NBVF9CX0NPTkZJR19JRFgzOCwKKyAgIEMyS19EQVRfQ0FUX0JfQ09ORklHX0lEWDM5LAorICAgQzJLX0RBVF9DQVRfQl9OVUxMID0gQzJLX0RBVF9GRV9OVUxMLAorfUMyS19DVVNUT01fREFUX0NBVF9CX0lEWF9FOworCit0eXBlZGVmIGVudW0KK3sKKyAgIEMyS19EQVRfQ0FUX0FfTUlQSV9UQUJMRV9DT05GSUdfSURYMCwKKyAgIEMyS19EQVRfQ0FUX0FfTUlQSV9UQUJMRV9DT05GSUdfSURYMSwKKyAgIEMyS19EQVRfQ0FUX0FfTUlQSV9UQUJMRV9DT05GSUdfSURYMiwKKyAgIEMyS19EQVRfQ0FUX0FfTUlQSV9UQUJMRV9DT05GSUdfSURYMywKKyAgIEMyS19EQVRfQ0FUX0FfTUlQSV9UQUJMRV9DT05GSUdfSURYNCwKKyAgIEMyS19EQVRfQ0FUX0FfTUlQSV9UQUJMRV9DT05GSUdfSURYNSwKKyAgIEMyS19EQVRfQ0FUX0FfTUlQSV9UQUJMRV9DT05GSUdfSURYNiwKKyAgIEMyS19EQVRfQ0FUX0FfTUlQSV9UQUJMRV9DT05GSUdfSURYNywKKyAgIEMyS19EQVRfQ0FUX0FfTUlQSV9UQUJMRV9DT05GSUdfSURYOCwKKyAgIEMyS19EQVRfQ0FUX0FfTUlQSV9UQUJMRV9DT05GSUdfSURYOSwKKyAgIEMyS19EQVRfQ0FUX0FfTUlQSV9UQUJMRV9OVUxMID0gQzJLX0RBVF9NSVBJX1RBQkxFX05VTEwsCit9QzJLX0NVU1RPTV9EQVRfQ0FUX0FfTUlQSV9UQkxfSURYX0U7CisKKwordHlwZWRlZiBlbnVtCit7CisgICBDMktfREFUX0NBVF9CX01JUElfVEFCTEVfQ09ORklHX0lEWDAsCisgICBDMktfREFUX0NBVF9CX01JUElfVEFCTEVfQ09ORklHX0lEWDEsCisgICBDMktfREFUX0NBVF9CX01JUElfVEFCTEVfQ09ORklHX0lEWDIsCisgICBDMktfREFUX0NBVF9CX01JUElfVEFCTEVfQ09ORklHX0lEWDMsCisgICBDMktfREFUX0NBVF9CX01JUElfVEFCTEVfQ09ORklHX0lEWDQsCisgICBDMktfREFUX0NBVF9CX01JUElfVEFCTEVfQ09ORklHX0lEWDUsCisgICBDMktfREFUX0NBVF9CX01JUElfVEFCTEVfQ09ORklHX0lEWDYsCisgICBDMktfREFUX0NBVF9CX01JUElfVEFCTEVfQ09ORklHX0lEWDcsCisgICBDMktfREFUX0NBVF9CX01JUElfVEFCTEVfQ09ORklHX0lEWDgsCisgICBDMktfREFUX0NBVF9CX01JUElfVEFCTEVfQ09ORklHX0lEWDksCisgICBDMktfREFUX0NBVF9CX01JUElfVEFCTEVfQ09ORklHX0lEWDEwLAorICAgQzJLX0RBVF9DQVRfQl9NSVBJX1RBQkxFX0NPTkZJR19JRFgxMSwKKyAgIEMyS19EQVRfQ0FUX0JfTUlQSV9UQUJMRV9DT05GSUdfSURYMTIsCisgICBDMktfREFUX0NBVF9CX01JUElfVEFCTEVfQ09ORklHX0lEWDEzLAorICAgQzJLX0RBVF9DQVRfQl9NSVBJX1RBQkxFX0NPTkZJR19JRFgxNCwKKyAgIEMyS19EQVRfQ0FUX0JfTUlQSV9UQUJMRV9DT05GSUdfSURYMTUsCisgICBDMktfREFUX0NBVF9CX01JUElfVEFCTEVfQ09ORklHX0lEWDE2LAorICAgQzJLX0RBVF9DQVRfQl9NSVBJX1RBQkxFX0NPTkZJR19JRFgxNywKKyAgIEMyS19EQVRfQ0FUX0JfTUlQSV9UQUJMRV9DT05GSUdfSURYMTgsCisgICBDMktfREFUX0NBVF9CX01JUElfVEFCTEVfQ09ORklHX0lEWDE5LAorICAgQzJLX0RBVF9DQVRfQl9NSVBJX1RBQkxFX0NPTkZJR19JRFgyMCwKKyAgIEMyS19EQVRfQ0FUX0JfTUlQSV9UQUJMRV9DT05GSUdfSURYMjEsCisgICBDMktfREFUX0NBVF9CX01JUElfVEFCTEVfQ09ORklHX0lEWDIyLAorICAgQzJLX0RBVF9DQVRfQl9NSVBJX1RBQkxFX0NPTkZJR19JRFgyMywKKyAgIEMyS19EQVRfQ0FUX0JfTUlQSV9UQUJMRV9DT05GSUdfSURYMjQsCisgICBDMktfREFUX0NBVF9CX01JUElfVEFCTEVfQ09ORklHX0lEWDI1LAorICAgQzJLX0RBVF9DQVRfQl9NSVBJX1RBQkxFX0NPTkZJR19JRFgyNiwKKyAgIEMyS19EQVRfQ0FUX0JfTUlQSV9UQUJMRV9DT05GSUdfSURYMjcsCisgICBDMktfREFUX0NBVF9CX01JUElfVEFCTEVfQ09ORklHX0lEWDI4LAorICAgQzJLX0RBVF9DQVRfQl9NSVBJX1RBQkxFX0NPTkZJR19JRFgyOSwKKyAgIEMyS19EQVRfQ0FUX0JfTUlQSV9UQUJMRV9DT05GSUdfSURYMzAsCisgICBDMktfREFUX0NBVF9CX01JUElfVEFCTEVfQ09ORklHX0lEWDMxLAorICAgQzJLX0RBVF9DQVRfQl9NSVBJX1RBQkxFX0NPTkZJR19JRFgzMiwKKyAgIEMyS19EQVRfQ0FUX0JfTUlQSV9UQUJMRV9DT05GSUdfSURYMzMsCisgICBDMktfREFUX0NBVF9CX01JUElfVEFCTEVfQ09ORklHX0lEWDM0LAorICAgQzJLX0RBVF9DQVRfQl9NSVBJX1RBQkxFX0NPTkZJR19JRFgzNSwKKyAgIEMyS19EQVRfQ0FUX0JfTUlQSV9UQUJMRV9DT05GSUdfSURYMzYsCisgICBDMktfREFUX0NBVF9CX01JUElfVEFCTEVfQ09ORklHX0lEWDM3LAorICAgQzJLX0RBVF9DQVRfQl9NSVBJX1RBQkxFX0NPTkZJR19JRFgzOCwKKyAgIEMyS19EQVRfQ0FUX0JfTUlQSV9UQUJMRV9DT05GSUdfSURYMzksCisgICBDMktfREFUX0NBVF9CX01JUElfVEFCTEVfTlVMTCA9IEMyS19EQVRfTUlQSV9UQUJMRV9OVUxMLAorfUMyS19DVVNUT01fREFUX0NBVF9CX01JUElfVEJMX0lEWF9FOworCit0eXBlZGVmIGVudW0KK3sKKyAgIEMyS19EQVRfRElTQUJMRSwKKyAgIEMyS19EQVRfRU5BQkxFCit9QzJLX0NVU1RPTV9EQVRfU1dJVENIX0U7CisKK3R5cGVkZWYgZW51bQoreworICAgQzJLX0RBVF9TVEFURTAsCisgICBDMktfREFUX1NUQVRFMSwKKyAgIEMyS19EQVRfU1RBVEUyLAorICAgQzJLX0RBVF9TVEFURTMsCisgICBDMktfREFUX1NUQVRFNCwKKyAgIEMyS19EQVRfU1RBVEU1LAorICAgQzJLX0RBVF9TVEFURTYsCisgICBDMktfREFUX1NUQVRFNywKKyAgIEMyS19EQVRfU1RBVEVfTlVMTCwKK31DMktfQ1VTVE9NX0RBVF9TVEFURV9FOworICAgCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX3VpbnQzMiAgIGNhdF9hX3JvdXRlX251bTsKKyAgIGthbF91aW50MzIgICBjYXRfYl9yb3V0ZV9udW07Cit9QzJLX0NVU1RPTV9EQVRfRkVfUk9VVEVfTUFQX1Q7CisKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIEMyS19DVVNUT01fREFUX0ZFX1JPVVRFX01BUF9UICAgICBkYXRfZmVfc2V0dGluZ1tDMktfREFUX01BWF9TVEFURV9OVU1dOworfUMyS19DVVNUT01fREFUX1JPVVRFX1NFVFRJTkdfVDsgICAKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIEMyS19DVVNUT01fREFUX1NXSVRDSF9FICAgZmVhdHVyZV9lbmFibGU7CisgICBDMktfQ1VTVE9NX0RBVF9ST1VURV9TRVRUSU5HX1QgICAgYzJrX2RhdF9mZV9yb3V0ZV9kYltSRl9DVVNUX1NVUFBPUlRfQkFORF9NQVhfTlVNXTsKK31DTDFEX1JGX0RBVF9GRV9ST1VURV9EQVRBQkFTRV9UOyAKK3R5cGVkZWYgQ0wxRF9SRl9EQVRfRkVfUk9VVEVfREFUQUJBU0VfVCBDMktfQ1VTVE9NX0RBVF9GRV9ST1VURV9EQVRBQkFTRV9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX3VpbnQzMiAgICAgICAgICAgICAgICAgICAgIGJwaV9tYXNrOworICAga2FsX3VpbnQzMiAgICAgICAgICAgICAgICAgICAgIGJwaV92YWx1ZTsKKyAgIEMyS19DVVNUT01fREFUX0NBVF9BX01JUElfVEJMX0lEWF9FIGRhdF9taXBpX3RhYmxlX2luZGV4OworfUMyS19DVVNUT01fREFUX0NBVF9BX0ZFX1NFVFRJTkdfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF91aW50MzIgICAgICAgICAgICAgICAgICAgICBicGlfbWFzazsKKyAgIGthbF91aW50MzIgICAgICAgICAgICAgICAgICAgICBicGlfdmFsdWU7CisgICBDMktfQ1VTVE9NX0RBVF9DQVRfQl9NSVBJX1RCTF9JRFhfRSBkYXRfbWlwaV90YWJsZV9pbmRleDsKK31DMktfQ1VTVE9NX0RBVF9DQVRfQl9GRV9TRVRUSU5HX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBDMktfQ1VTVE9NX0RBVF9DQVRfQV9GRV9TRVRUSU5HX1QgICBkYXRfY2F0X2FfZmVfcm91dGVbQzJLX0RBVF9NQVhfQ0FUX0FfUk9VVEVfTlVNXTsKK31DMktfQ1VTVE9NX0RBVF9GRV9DQVRfQV9UOwordHlwZWRlZiBDMktfQ1VTVE9NX0RBVF9GRV9DQVRfQV9UIENMMURfUkZfREFUX0ZFX0NBVF9BX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBDMktfQ1VTVE9NX0RBVF9DQVRfQl9GRV9TRVRUSU5HX1QgICBkYXRfY2F0X2JfZmVfcm91dGVbQzJLX0RBVF9NQVhfQ0FUX0JfUk9VVEVfTlVNXTsKK31DMktfQ1VTVE9NX0RBVF9GRV9DQVRfQl9UOwordHlwZWRlZiBDMktfQ1VTVE9NX0RBVF9GRV9DQVRfQl9UIENMMURfUkZfREFUX0ZFX0NBVF9CX1Q7CisKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF91aW50OCBkYXRfYW50X3N3aXRjaF9pbmRleDsKKyAgIGthbF91aW50OCBkYXRfdHVuZXJfaW5kZXg7Cit9QzJLX0NVU1RPTV9EQVRfQU5UX1RVTkVSX0lOREVYX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7IAorICAgQzJLX0NVU1RPTV9EQVRfQU5UX1RVTkVSX0lOREVYX1QgICAgZGF0X3JvdXRlX2luZGV4W0MyS19EQVRfTUFYX1NUQVRFX05VTV07Cit9QzJLX0NVU1RPTV9EQVRfUk9VVEVfSU5ERVhfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF91aW50OCAgc3BsaXRfbnVtYmVyOworICAga2FsX3VpbnQxNiBzdWJfZnJlcVtDMktfQU5UX1RVTkVSX1NQTElUX1BBUlRfTUFYXTsKKyAgIEMyS19DVVNUT01fREFUX1JPVVRFX0lOREVYX1QgIGRhdF9zcGxpdF9wYXJ0X3JvdXRlX2luZGV4W0MyS19BTlRfVFVORVJfU1BMSVRfUEFSVF9NQVhdOworfUMyS19DVVNUT01fREFUX1NQTElUX1BBUlRfU1RBVEVfSU5ERVhfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKwlDMktfQ1VTVE9NX0RBVF9TV0lUQ0hfRSAgIGZlYXR1cmVfZW5hYmxlOworICAgIEMyS19DVVNUT01fREFUX1NQTElUX1BBUlRfU1RBVEVfSU5ERVhfVCAgYzJrX2RhdF9mZV9yb3V0ZV9kYltSRl9DVVNUX1NVUFBPUlRfQkFORF9NQVhfTlVNXTsKK31DTDFEX1JGX0RBVF9BTlRfVFVORVJfUk9VVEVfREFUQUJBU0VfVDsKKwordHlwZWRlZiAgQ0wxRF9SRl9EQVRfQU5UX1RVTkVSX1JPVVRFX0RBVEFCQVNFX1QgIEMyS19DVVNUT01fREFUX0FOVF9UVU5FUl9ST1VURV9EQVRBQkFTRV9UOyAKKworCisvKlRBUyBUU1QgY29uZmlnIHN0cnVjdHVyZSAqLwordHlwZWRlZiBlbnVteworCUMyS19UQVNfVFNUX0RJU0FCTEUsCisJQzJLX1RBU19UU1RfRU5BQkxFCit9QzJLX0NVU1RPTV9UQVNfVFNUX1NXSVRDSF9FOworCit0eXBlZGVmIHN0cnVjdHsKKwlDMktfQ1VTVE9NX1RBU19UU1RfU1dJVENIX0UgdGFzX3RzdF9lbmFibGU7IC8vZW5hYmxlIHF1ZXJ5IHN0YXRlIGluZm8KKwlTeXNDZG1hQmFuZFQgdGFzX3RzdF9iYW5kX3N1cHBvcnRbUkZfQ1VTVF9TVVBQT1JUX0JBTkRfTUFYX05VTV07CisJQzJLX0NVU1RPTV9UQVNfU1dJVENIX0UgdGFzX3RzdF9zdGF0ZV9zdXBwb3J0W1JGX0NVU1RfU1VQUE9SVF9CQU5EX01BWF9OVU1dW0MyS19UQVNfTUFYX1NUQVRFX05VTV07Cit9Q0wxRF9SRl9UQVNfVFNUX0NPTkZJR19UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIEMyS19DVVNUT01fVEFTX1NXSVRDSF9FICB0YXNfZW5hYmxlOworICAgIE1NUkZEX0NVU1RPTV9UQVNfU1RBVEVfRSB0YXNfc3RhdGU7Cit9QzJLX0NVU1RPTV9UQVNfRkVBVFVSRV9PUFRJT05fVDsKKworI2lmbmRlZiBfX01EOTNfXwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF91aW50MTYgICBzdWJiYW5kX2ZyZXE7CisgICBDMktfQ1VTVE9NX0FOVF9UVU5FUl9DT05GSUdfU0VUVElOR19JTkRFWF9FIHR1bmVyX2NvbnRyb2xfc3BsaXRfc2V0dGluZzsKK31DMktfQ1VTVE9NX0FOVF9UVU5FUl9TUExJVF9DT05GSUdVUkVfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sJCisJa2FsX3VpbnQ4CSBhbnRfdHVuZXJfc3BsaXRfbnVtOworCUMyS19DVVNUT01fQU5UX1RVTkVSX1NQTElUX0NPTkZJR1VSRV9UCXR1bmVyX2NvbnRyb2xfc2V0dGluZ1tDMktfUkZfVVRBU19NQVhfU1BMSVRfQkFORF9OVU1dOwkKK31DMktfQ1VTVE9NX0FOVF9UVU5FUl9DT05GSUdVUkVfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIEMyS19DVVNUT01fVEFTX0ZFQVRVUkVfT1BUSU9OX1QgICByZWFsX3NpbV90YXNfZmVhdHVyZTsKKyAgIEMyS19DVVNUT01fVEFTX0ZFQVRVUkVfT1BUSU9OX1QgICB0ZXN0X3NpbV90YXNfZmVhdHVyZTsKKyAgIEMyS19DVVNUT01fVEFTX1NUQVRFX0UgICAgICAgICAgICBhbnRfdGFzX2NhbGlicmF0aW9uX3N0YXRlX3NldHRpbmc7ICAKKyAgIEMyS19DVVNUT01fVEFTX0xBWU9VVF9HUk9VUF9FICAgICBhbnRfdXRhc19ncm91cF9zZXR0aW5nX2luZGV4OworICAgQzJLX0NVU1RPTV9BTlRfVFVORVJfQ09ORklHVVJFX1QgIGFudF90dW5lcl9jb250cm9sX3NldHRpbmc7CisgICBrYWxfaW50OCAgICAgICAgICAgICAgICAgICAgICAgICAgcnNjcF9iaWFzW0MyS19SRl9VVEFTX01BWF9BTlRfTlVNXTsKK31DMktfQ1VTVE9NX0FOVF9GRUFUVVJFX0NPTkZJR1VSRV9CWV9CQU5EX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBDMktfQ1VTVE9NX0FOVF9GRUFUVVJFX0NPTkZJR1VSRV9CWV9CQU5EX1QgIGFudF90dW5lcl9mZV9yb3V0ZV9kYXRhYmFzZVtSRl9DVVNUX1NVUFBPUlRfQkFORF9NQVhfTlVNXTsKK31DTDFEX1JGX0FOVF9GRV9ST1VURV9EQVRBQkFTRV9UOworCit0eXBlZGVmIENMMURfUkZfQU5UX0ZFX1JPVVRFX0RBVEFCQVNFX1QgQzJLX0NVU1RPTV9BTlRfRkVfUk9VVEVfREFUQUJBU0VfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sJCQorICAgIGthbF9pbnQzMiAgU1R4X1NPX0hZU1RFUkVTSVNfRFVSQVRJT047ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICBrYWxfaW50MzIgIFNUeF9TT19BX1RIUkVTSE9MRF9JTkRJQ0FUSU5HX05PX1BPV0VSX0hFQURST09NOyAgICAgICAgICAgICAgICAgICAKKyAgICBrYWxfaW50MzIgIFNUeF9TT19UWFBfR0FJTl9USFJFU0hPTEQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAga2FsX2ludDMyICBTVHhfU09fUEhSX0dBSU5fVEhSRVNIT0xEOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICBrYWxfaW50MzIgIFNUeF9TT19QUkVTV0lUQ0hJTkdfU1RBVEVfRFVSQVRJT047ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAga2FsX2ludDMyICBTVHhfU09fSU5DUkVBU0VEX1RYUF9USFJFU0hPTERfSU5fUFJFU1dJVENISU5HX1NUQVRFOyAgICAgICAgICAgICAgIAorICAgIGthbF9pbnQzMiAgU1R4X1NPX1RIUkVTSE9MRF9GT1JfU1VNX09GX1RYUF9BTkRfU0lHUE9XRVJfSU5fUFJFU1dJVENISU5HX1NUQVRFOworfUMyS19DVVNUT01fVVRBU19TVHhfU09fUEFSQU1FVEVSX1Q7CQordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfaW50MzIgIFBUWFBfREJfTE9XRVJfQk9VTkRfUEFSQU07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgIGthbF9pbnQzMiAgUFRYUF9EQl9VUFBFUl9CT1VORF9QQVJBTTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICBrYWxfaW50MzIgIFBUWFBfREJfSU5DUkVBU0VEX0FNT1VOVF9CQVJSSUVSX1BBUkFNOyAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgIGthbF9pbnQzMiAgUFRYUF9EQl9ERUNSRUFTRURfQU1PVU5UX0JBUlJJRVJfUEFSQU07ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgIGthbF9pbnQzMiAgSFJfREJfTE9XRVJfQk9VTkRfUEFSQU07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAga2FsX2ludDMyICBIUl9EQl9VUFBFUl9CT1VORF9QQVJBTTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAga2FsX2ludDMyICBIUl9EQl9JTkNSRUFTRURfQU1PVU5UX0JBUlJJRVJfUEFSQU07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgIGthbF9pbnQzMiAgSFJfREJfREVDUkVBU0VEX0FNT1VOVF9CQVJSSUVSX1BBUkFNOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICBrYWxfaW50MzIgIEhSX0RCX1RJTUVfRFVSQVRJT05fVE9fUkVMQVhfQkFSUklFUl9QQVJBTTsgICAgICAgICAgICAgICAgICAgICAgICAKK31DMktfQ1VTVE9NX1VUQVNfREJfUEFSQU1FVEVSX1Q7Cit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF9pbnQzMiAgQlR4X1NPX0hZU1RFUkVTSVNfRFVSQVRJT047ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAga2FsX2ludDMyICBCVHhfU09fTUVBU19TSUdQT1dFUl9OVU1CRVI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICBrYWxfaW50MzIgIEJUeF9TT19TSUdQT1dFUl9DQl9USFJFU0hPTEQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICBrYWxfaW50MzIgIEJUeF9TT19BX1RIUkVTSE9MRF9JTkRJQ0FUSU5HX05PX1BPV0VSX0hFQURST09NOyAgICAgICAgICAgICAgICAgICAgICAgCisgICAga2FsX2ludDMyICBCVHhfU09fU0lHUE9XRVJfVEhSRVNIT0xEX0ZPUl9TVEFSVElOR19USU1FUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICBrYWxfaW50MzIgIEJUeF9TT19JTklUSUFMX0RVUkFUSU9OOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgIGthbF9pbnQzMiAgQlR4X1NPX1VQUEVSX0JPVU5EOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAga2FsX2ludDMyICBCVHhfU09fSU5DUkVBU0VEX0FNT1VOVF9ERUxUQV9GT1JfRkFJTF9QUkVfU1dJVENISU5HOyAgICAgICAgICAgICAgICAKKyAgICBrYWxfaW50MzIgIEJUeF9TT19QUkVTV0lUQ0hJTkdfU1RBVEVfRFVSQVRJT047ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICBrYWxfaW50MzIgIEJUeF9TT19JTkNSRUFTRURfVFhQX1RIUkVTSE9MRF9JTl9QUkVfU1dJVENISU5fU1RBVEU7ICAgICAgICAgICAgICAgCisgICAga2FsX2ludDMyICBCVHhfU09fVEhSRVNIT0xEX0ZPUl9TVU1fT0ZfVFhQX0FORF9TSUdQT1dFUl9JTl9QUkVTV0lUQ0hJTkdfU1RBVEU7Cit9QzJLX0NVU1RPTV9VVEFTX0JUeF9TT19QQVJBTUVURVJfVDsKK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX2ludDMyICBCUlhfSFlTVEVSRVNJU19EVVJBVElPTjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICBrYWxfaW50MzIgIEJSWF9MT1dfUVVBTElUWV9USFJFU0hPTEQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICBrYWxfaW50MzIgIEJSWF9TSUdQT1dFUl9DQl9USFJFU0hPTEQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICBrYWxfaW50MzIgIEJSWF9MT1dfU05SX1RIUkVTSE9MRDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICBrYWxfaW50MzIgIEJSWF9TSUdQT1dFUl9USFJFU0hPTERfRk9SX1NUQVJUSU5HX1RJTUVSOyAgICAgICAgICAgICAgICAgICAgICAKKyAgICBrYWxfaW50MzIgIEJSWF9JTklUSUFMX0RVUkFUSU9OOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICBrYWxfaW50MzIgIEJSWF9VUFBFUl9CT1VORDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgIGthbF9pbnQzMiAgQlJYX0lOQ1JFQVNFRF9BTU9VTlRfREVMVEFfRk9SX0ZBSUxfUFJFU1dJVENISU5HOyAgICAgICAgICAgICAgICAKKyAgICBrYWxfaW50MzIgIEJSWF9QUkVTV0lUQ0hJTkdfU1RBVEVfRFVSQVRJT047ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAga2FsX2ludDMyICBCUlhfU0lHUE9XRVJfQ0JfVEhSRVNIT0xEX0lOX1BSRVNXSVRDSElOR19zdGF0ZTsgICAgICAgICAgICAgICAgICAgIAorfUMyS19DVVNUT01fVVRBU19CUlhfUEFSQU1FVEVSX1Q7Cit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF9pbnQzMiAgSFRQX0hZU1RFUkVTSVNfRFVSQVRJT047ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICBrYWxfaW50MzIgIEhUUF9BX1RIUkVTSE9MRF9JTkRJQ0FUSU9OR19OT19QT1dFUl9IRUFEUk9PTTsgICAgICAgICAgICAgICAgICAgICAgCit9QzJLX0NVU1RPTV9VVEFTX0hUUF9QQVJBTUVURVJfVDsKK3R5cGVkZWYgc3RydWN0Cit7CisgIEMyS19DVVNUT01fVVRBU19TVHhfU09fUEFSQU1FVEVSX1QgIFVUQVNfU1R4X1NPX1BBUkFNRVRFUjsKKyAgQzJLX0NVU1RPTV9VVEFTX0RCX1BBUkFNRVRFUl9UICAgICAgVVRBU19EQl9QQVJBTUVURVI7CisgIEMyS19DVVNUT01fVVRBU19CVHhfU09fUEFSQU1FVEVSX1QgIFVUQVNfQlR4X1NPX1BBUkFNRVRFUjsKKyAgQzJLX0NVU1RPTV9VVEFTX0JSWF9QQVJBTUVURVJfVCAgICAgVVRBU19CUlhfUEFSQU1FVEVSOworICBDMktfQ1VTVE9NX1VUQVNfSFRQX1BBUkFNRVRFUl9UICAgICBVVEFTX0hUUF9QQVJBTUVURVI7ICAgICAgICAKK31DMktfQ1VTVE9NX1VUQVNfQUxHT1JJVEhNX1BBUkFNRVRFUl9UOwordHlwZWRlZiBDMktfQ1VTVE9NX1VUQVNfQUxHT1JJVEhNX1BBUkFNRVRFUl9UICBDTDFEX1JGX1VUQVNfQUxHT1JJVEhNX1BBUkFNRVRFUl9UOworI2VuZGlmCisKKyNpZiAoZGVmaW5lZChfX01EOTdfXykgfHwgZGVmaW5lZChfX01EOTdQX18pKQordHlwZWRlZiBzdHJ1Y3R7CisgICAga2FsX2ludDggICAgICAgICAgICAgICAgICAgICAgICAgIHJzY3BfYmlhc1tDMktfUkZfVVRBU19NQVhfQU5UX05VTV07Cit9Q0wxRF9SRl9UQVNfUlNDUF9CSUFTX1Q7Cit0eXBlZGVmIENMMURfUkZfVEFTX1JTQ1BfQklBU19UIEMyS19DVVNUT01fVEFTX1JTQ1BfQklBU19UOworCit0eXBlZGVmIHN0cnVjdHsKKyAgICBDMktfQ1VTVE9NX0RBVF9TV0lUQ0hfRSAgICAgICAgICAgZGF0X2VuYWJsZTsKKyAgICBDMktfQ1VTVE9NX1RBU19GRUFUVVJFX09QVElPTl9UICAgZm9yY2VfbW9kZV90YXNfZmVhdHVyZTsgICAgCisgICAgQzJLX0NVU1RPTV9UQVNfU1dJVENIX0UgICAgICAgICAgIHRhc19lbmFibGVfb25fcmVhbF9zaW07CisgICAgQzJLX0NVU1RPTV9UQVNfU1dJVENIX0UgICAgICAgICAgIHRhc19lbmFibGVfb25fdGVzdF9zaW07CisgICAgTU1SRkRfQ1VTVE9NX1RBU19TVEFURV9FICAgICAgICAgIHRhc19pbml0X2FudF9zdGF0ZTsKKyAgICBNTVJGRF9DVVNUT01fVEFTX1NUQVRFX0UgICAgICAgICAgYW50X3Rhc19jYWxpYnJhdGlvbl9zdGF0ZV9zZXR0aW5nW1JGX0NVU1RfU1VQUE9SVF9CQU5EX01BWF9OVU1dOworICAgIEMyS19DVVNUT01fVEFTX1JTQ1BfQklBU19UICAgICAgICByc2NwX2JpYXNfYnlfYmFuZFtSRl9DVVNUX1NVUFBPUlRfQkFORF9NQVhfTlVNXTsKK31DTDFEX1JGX1RBU19GRUFUVVJFX1Q7Cit0eXBlZGVmIENMMURfUkZfVEFTX0ZFQVRVUkVfVCBDMktfQ1VTVE9NX1RBU19GRUFUVVJFX1Q7CisjZWxzZQordHlwZWRlZiBzdHJ1Y3R7CisjaWZkZWYgX19NRDkzX18KKyAgICBDMktfQ1VTVE9NX1RBU19WRVJfRSAgICAgICAgICAgICAgdGFzX3ZlcnNpb247CisjZW5kaWYKKyAgICBDMktfQ1VTVE9NX1RBU19GRUFUVVJFX09QVElPTl9UICAgZm9yY2VfbW9kZV90YXNfZmVhdHVyZTsKKyAgICBDMktfQ1VTVE9NX1RBU19TVEFURV9FICAgICAgICAgICAgdGFzX2luaXRfYW50X3N0YXRlOworICAgIEMyS19DVVNUT01fVEFTX1NXSVRDSF9FICAgICAgICAgICB0YXNfZW5hYmxlX29uX3JlYWxfc2ltOworICAgIEMyS19DVVNUT01fVEFTX1NXSVRDSF9FICAgICAgICAgICB0YXNfZW5hYmxlX29uX3Rlc3Rfc2ltOworfUNMMURfUkZfVEFTX0ZFQVRVUkVfQllfUkFUX1Q7Cit0eXBlZGVmIENMMURfUkZfVEFTX0ZFQVRVUkVfQllfUkFUX1QgQzJLX0NVU1RPTV9UQVNfRkVBVFVSRV9CWV9SQVRfVDsKKyNlbmRpZgorCit0eXBlZGVmIHN0cnVjdAoreworICAgQzJLX0NVU1RPTV9UQVNfRkVBVFVSRV9PUFRJT05fVCAgIHJlYWxfc2ltX3Rhc19mZWF0dXJlOworICAgQzJLX0NVU1RPTV9UQVNfRkVBVFVSRV9PUFRJT05fVCAgIHRlc3Rfc2ltX3Rhc19mZWF0dXJlOworfUMyS19DVVNUT01fVEFTX0ZFQVRVUkVfRU5BQkxFX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBrYWxfdWludDMyICAgY2F0X2Ffcm91dGVfbnVtOworICAga2FsX3VpbnQzMiAgIGNhdF9iX3JvdXRlX251bTsKKyAgIGthbF91aW50MzIgICBjYXRfY19yb3V0ZV9udW07Cit9QzJLX0NVU1RPTV9UQVNfRkVfUk9VVEVfTUFQX1Q7Cit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX3VpbnQzMiAgICAgICAgICAgICAgICAgICAgICAgIHRhc19zdGF0ZV9udW07CisgICBDMktfQ1VTVE9NX1RBU19GRUFUVVJFX0VOQUJMRV9UICAgdGFzX2ZlYXR1cmVfZW5hYmxlOworICAgQzJLX0NVU1RPTV9UQVNfRkVfUk9VVEVfTUFQX1QgICAgIHRhc19mZV9zZXR0aW5nW0MyS19UQVNfTUFYX1NUQVRFX05VTV07Cit9QzJLX0NVU1RPTV9TQl9UQVNfU0VUVElOR19UOwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIEMyS19DVVNUT01fU0JfVEFTX1NFVFRJTkdfVCAgIGMya190YXNfZmVfcm91dGVfZGJbQzJLX1RBU19NQVhfRkVfUk9VVEVfTlVNXTsvKkJ5IHJvdXRlKEJ5IFJGX0JhbmQpICovCit9Q0wxRF9SRl9UQVNfRkVfUk9VVEVfREFUQUJBU0VfVDsKK3R5cGVkZWYgQ0wxRF9SRl9UQVNfRkVfUk9VVEVfREFUQUJBU0VfVCBDMktfQ1VTVE9NX1RBU19GRV9ST1VURV9EQVRBQkFTRV9UOworCit0eXBlZGVmIGVudW0KK3sKKyAgIEMyS19UQVNfTUlQSV9UQUJMRV9ST1VURTAsCisgICBDMktfVEFTX01JUElfVEFCTEVfUk9VVEUxLAorICAgQzJLX1RBU19NSVBJX1RBQkxFX1JPVVRFMiwKKyAgIEMyS19UQVNfTUlQSV9UQUJMRV9ST1VURTMsCisgICBDMktfVEFTX01JUElfVEFCTEVfTlVMTAorfUMyS19DVVNUT01fVEFTX01JUElfVEJMX0lEWF9FOwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF91aW50MzIgICAgICAgICAgICAgICAgICAgICBicGlfbWFzazsKKyAgIGthbF91aW50MzIgICAgICAgICAgICAgICAgICAgICBicGlfdmFsdWU7CisgICBDMktfQ1VTVE9NX1RBU19NSVBJX1RCTF9JRFhfRSAgdGFzX21pcGlfdGFibGVfaW5kZXg7Cit9QzJLX0NVU1RPTV9UQVNfRkVfU0VUVElOR19UOwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBDMktfQ1VTVE9NX1RBU19GRV9TRVRUSU5HX1QgICB0YXNfY2F0X2FfZmVfcm91dGVbQzJLX1RBU19NQVhfQ0FUX0FfUk9VVEVfTlVNXTsKK31DTDFEX1JGX1RBU19GRV9DQVRfQV9UOwordHlwZWRlZiBjb25zdCBDTDFEX1JGX1RBU19GRV9DQVRfQV9UIEMyS19DVVNUT01fVEFTX0ZFX0NBVF9BX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgQzJLX0NVU1RPTV9UQVNfRkVfU0VUVElOR19UICAgdGFzX2NhdF9iX2ZlX3JvdXRlW0MyS19UQVNfTUFYX0NBVF9CX1JPVVRFX05VTV07Cit9Q0wxRF9SRl9UQVNfRkVfQ0FUX0JfVDsKK3R5cGVkZWYgY29uc3QgQ0wxRF9SRl9UQVNfRkVfQ0FUX0JfVCBDMktfQ1VTVE9NX1RBU19GRV9DQVRfQl9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIEMyS19DVVNUT01fVEFTX0ZFX1NFVFRJTkdfVCAgIHRhc19jYXRfY19mZV9yb3V0ZVtDMktfVEFTX01BWF9DQVRfQ19ST1VURV9OVU1dOworfUNMMURfUkZfVEFTX0ZFX0NBVF9DX1Q7Cit0eXBlZGVmIGNvbnN0IENMMURfUkZfVEFTX0ZFX0NBVF9DX1QgQzJLX0NVU1RPTV9UQVNfRkVfQ0FUX0NfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfaW50OCBtYWluX3JvdXRlX251bTsKKyAgICBrYWxfaW50OCBkaXZfcm91dGVfbnVtOworfUh3ZFJmVHVuZXJJbmRleFQ7Cit0eXBlZGVmIHN0cnVjdAoreworICAgIEh3ZFJmVHVuZXJJbmRleFQgVHVuZXJJbml0U2V0dGluZzsKKyAgICBId2RSZlR1bmVySW5kZXhUIFR1bmVyV2l0aFRhc1NldHRpbmdbQzJLX1RBU19NQVhfU1RBVEVfTlVNXTsKK31Id2RSZlR1bmVyU2V0dGluZzsKK3R5cGVkZWYgc3RydWN0Cit7CisgIEh3ZFJmVHVuZXJTZXR0aW5nIHR1bmVyX2ZlX3JvdXRlW1JGX0NVU1RfU1VQUE9SVF9CQU5EX01BWF9OVU1dOworfUNMMURfUkZfVFVORVJfRkVfUk9VVEVfVEFCTEU7Cit0eXBlZGVmIGNvbnN0IENMMURfUkZfVFVORVJfRkVfUk9VVEVfVEFCTEUgQzJLX0NVU1RPTV9UVU5FUl9GRV9ST1VURV9UQUJMRTsKKwordHlwZWRlZiBlbnVtCit7CisgICBDMktfVFVORVJfRkVfUk9VVEUwLAorICAgQzJLX1RVTkVSX0ZFX1JPVVRFMSwKKyAgIEMyS19UVU5FUl9GRV9ST1VURTIsCisgICBDMktfVFVORVJfRkVfUk9VVEUzLAorICAgQzJLX1RVTkVSX0ZFX1JPVVRFNCwKKyAgIEMyS19UVU5FUl9GRV9ST1VURTUsCisgICBDMktfVFVORVJfRkVfUk9VVEU2LAorICAgQzJLX1RVTkVSX0ZFX1JPVVRFNywKKyAgIEMyS19UVU5FUl9GRV9OVUxMICwKK31DMktfQ1VTVE9NX1RVRVJfRkVfUk9VVEVfSURYX0U7Cit0eXBlZGVmIHN0cnVjdAoreworICAga2FsX3VpbnQzMiAgICAgICAgICAgICAgICAgICAgIGJwaV9tYXNrOworICAga2FsX3VpbnQzMiAgICAgICAgICAgICAgICAgICAgIGJwaV92YWx1ZTsKKyAgIEMyS19DVVNUT01fVFVFUl9GRV9ST1VURV9JRFhfRSAgdGFzX21pcGlfdGFibGVfaW5kZXg7Cit9QzJLX0NVU1RPTV9UVU5FUl9GRV9TRVRUSU5HX1Q7Cit0eXBlZGVmIHN0cnVjdAoreworICAgQzJLX0NVU1RPTV9UVU5FUl9GRV9TRVRUSU5HX1QgICB0dW5lcl9iYW5kX3JvdXRlW0MyS19UVU5FUl9GRV9NQVhdOworfUNMMURfUkZfVFVORVJfQkFORF9UOwordHlwZWRlZiBjb25zdCBDTDFEX1JGX1RVTkVSX0JBTkRfVCBDMktfQ1VTVE9NX1RVTkVSX0JBTkRfVDsKK3R5cGVkZWYgc3RydWN0eworCUMyS19DVVNUT01fVEFTX0ZFX0NBVF9BX1QgKiB0YXNfY2F0X2FfcHRyOworCUMyS19DVVNUT01fVEFTX0ZFX0NBVF9CX1QgKiB0YXNfY2F0X2JfcHRyOworCUMyS19DVVNUT01fVEFTX0ZFX0NBVF9DX1QgKiB0YXNfY2F0X2NfcHRyOworfUNMMURfUkZfVEFTX0RBVEFfQkFTRV9UOworCit0eXBlZGVmIHN0cnVjdHsKKwlDMktfQ1VTVE9NX1RVTkVSX0JBTkRfVCAqIHR1bmVyX2RhdGFfYmFzZV9ieV9iYW5kW1JGX0NVU1RfU1VQUE9SVF9CQU5EX01BWF9OVU1dOworfUNMMURfUkZfVFVORVJfREFUQV9CQVNFX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX2Jvb2wgbWlwaV9lbmFibGU7CisgICAga2FsX3VpbnQzMiBtaXBpX3Rvb2xfdmVyc2lvbjsKK31DTDFEX1JGX01JUElfUEFSQU1fVDsKKy8qbWlwaSBldmVudChSWC9UWC9UUEMgRXZlbnQpKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX3VpbnQxNiBtaXBpX2RhdGFfc3Q7LypNSVBJIGRhdGEgc3RhcnQgaW5kZXgqLworICAgIGthbF91aW50MTYgbWlwaV9kYXRhX3NwOy8qTUlQSSBkYXRhIHN0b3AgaW5kZXgqLworfUNMMURfUkZfTUlQSV9EQVRBX1NUU1A7CisvL2ZpbmFsCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF91aW50MTYgbWlwaV9lbG1fdHlwZTsvKk1JUEkgZWxlbWVudDpBU00sUEEsVHVuZXIsZXRjLiAqLworICAgIENMMURfUkZfTUlQSV9EQVRBX1NUU1AgbWlwaV9kYXRhX3N0c3A7CisgICAga2FsX3VpbnQxNiBtaXBpX2V2dF90eXBlOy8qTUlQSSBldmVudCB0eXBlOiBSWC9UWCBvbi9vZmYgKi8KKyAgICBrYWxfdWludDMyIG1pcGlfZXZ0X29mZnNldDsvKk1JUEkgZXZlbnQgb2Zmc2V0LGluIHVuaXQgb2YgY2hpcHMgKi8KK31DTDFEX1JGX01JUElfRVZFTlRfVEFCTEVfVDsvL2p1IGhlIDEKKworLyptaXBpIFJYL1RYIERhdGEgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX3VpbnQxNiBhZGRyOworICAgIGthbF91aW50MzIgZGF0YTsKK31DTDFEX01JUElfQUREUl9EQVRBX0VYUEFORF9UQUJMRV9UOwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfdWludDE2IG1pcGlfc3ViYmFuZF9mcmVxOworICAgIENMMURfTUlQSV9BRERSX0RBVEFfRVhQQU5EX1RBQkxFX1QgbWlwaV9kYXRhOworfUNMMURfTUlQSV9EQVRBX0VYUEFORF9UQUJMRV9UOworLypNSVBJX1NVQkJBTkQgKi8KK3R5cGVkZWYgZW51bQoreworICAgIG1pcGlfc3ViYmFuZF8wPTAsCisgICAgbWlwaV9zdWJiYW5kXzEsCisgICAgbWlwaV9zdWJiYW5kXzIsCisgICAgbWlwaV9zdWJiYW5kXzMsCisgICAgbWlwaV9zdWJiYW5kXzQsCisgICAgbWlwaV9zdWJiYW5kX251bV9tYXgKK31NSVBJX1NVQkJBTkRfRTsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfdWludDE2IG1pcGlfZWxtX3R5cGU7CisgICAga2FsX3VpbnQxNiBtaXBpX3BvcnRfc2VsOworICAgIGthbF91aW50MTYgbWlwaV9kYXRhX3NlcTsvKm1pcGkgZGF0YSB3cml0ZSBmb3JtYXQgKi8KKyAgICBrYWxfdWludDE2IG1pcGlfdXNpZDsKKyAgICBDTDFEX01JUElfREFUQV9FWFBBTkRfVEFCTEVfVCBtaXBpX3N1YmJhbmRfZGF0YVttaXBpX3N1YmJhbmRfbnVtX21heF07Cit9Q0wxRF9SRl9NSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9UOy8vanUgaGUgMgorCisvKm1pcGkgVFBDIERhdGEgKi8KKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfdWludDE2IG1pcGlfZWxtX3R5cGU7CisgICAga2FsX3VpbnQxNiBtaXBpX3BvcnRfc2VsOworICAgIGthbF91aW50MTYgbWlwaV9kYXRhX3NlcTsvKm1pcGkgZGF0YSB3cml0ZSBmb3JtYXQgKi8KKyAgICBrYWxfdWludDE2IG1pcGlfdXNpZDsKKyAgICBrYWxfdWludDE2IGFkZHI7CisgICAga2FsX3VpbnQzMiBkYXRhOworfUNMMURfUkZfTUlQSV9EQVRBX1RBQkxFX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX3VpbnQxNiBhZGRyOworICAgIGthbF91aW50MTYgZGF0YTsKK31DTDFEX1JGX01JUElfQUREUl9EQVRBX1RBQkxFX1Q7Cit0eXBlZGVmIHN0cnVjdAoreworICAgIENMMURfUkZfTUlQSV9BRERSX0RBVEFfVEFCTEVfVCBtaXBpX2V2ZW50X2RhdGFbNV07Ly8vVE9ETzogdGhlIG1heCBudW0gb2YgZGF0YSBpcyA1ICEKK31DTDFEX01JUElfVFBDX1NVQkJBTkRfT0NUX1RBQkxFX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX3VpbnQxNiBtaXBpX3N1YmJhbmRfZnJlcTsKKyAgICBrYWxfdWludDE2IG1pcGlfdXNpZDsKKyAgICBDTDFEX01JUElfVFBDX1NVQkJBTkRfT0NUX1RBQkxFX1QgbWlwaV9wYV9vY3RfdGFibGVbTUlQSV9UUENfT0NUX05VTV07Ly8vVE9ETzogdHlwZWRlZiBhbiBlbnVtICEhIQorfUNMMURfUkZfVFBDX1NFQ1RJT05fVEFCTEVfVDsvL2p1IGhlIDMKKwordHlwZWRlZiBjb25zdCBDTDFEX1JGX01JUElfRVZFTlRfVEFCTEVfVCBDMktfTUlQSV9FVkVOVF9UQUJMRV9UOwordHlwZWRlZiBjb25zdCBDTDFEX1JGX01JUElfREFUQV9TVUJCQU5EX1RBQkxFX1QgQzJLX01JUElfREFUQV9TVUJCQU5EX1RBQkxFX1Q7Cit0eXBlZGVmIGNvbnN0IENMMURfUkZfTUlQSV9EQVRBX1RBQkxFX1QgQzJLX01JUElfREFUQV9UQUJMRV9UOwordHlwZWRlZiBjb25zdCBDTDFEX1JGX1RQQ19TRUNUSU9OX1RBQkxFX1QgQzJLX01JUElfVFBDX1NFQ1RJT05fVEFCTEVfVDsKKworLyogTUlQSSBBZ2dyZWdhdGlvbiBzdHJ1Y3R1cmUqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKkV2ZW50IHRhYmxlcyovCisgICAgQ0wxRF9SRl9NSVBJX0VWRU5UX1RBQkxFX1QgKlJYX0VWRU5UX3B0cjsKKyAgICBDTDFEX1JGX01JUElfRVZFTlRfVEFCTEVfVCAqVFhfRVZFTlRfcHRyOworICAgIENMMURfUkZfTUlQSV9FVkVOVF9UQUJMRV9UICpUUENfRVZFTlRfcHRyOworICAgIC8qRVRNIGV2ZW50IHRhYmxlcyAqLworICAgIENMMURfUkZfTUlQSV9FVkVOVF9UQUJMRV9UICpFVE1fVFhfRVZFTlRfcHRyOworICAgIENMMURfUkZfTUlQSV9FVkVOVF9UQUJMRV9UICpFVE1fVFBDX0VWRU5UX3B0cjsKKworICAgIC8qRGF0YSB0YWJsZXMqLworICAgIENMMURfUkZfTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCAqUlhfREFUQV9wdHI7CisgICAgQ0wxRF9SRl9NSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9UICpUWF9EQVRBX3B0cjsKKyAgICBDTDFEX1JGX01JUElfREFUQV9UQUJMRV9UICpUUENfREFUQV9wdHI7CisgICAgLypFVE0gZGF0YSB0YWJsZXMgKi8KKyAgICBDTDFEX1JGX01JUElfREFUQV9TVUJCQU5EX1RBQkxFX1QgKkVUTV9UWF9EQVRBX3B0cjsKKyAgICBDTDFEX1JGX01JUElfREFUQV9UQUJMRV9UICpFVE1fVFBDX0RBVEFfcHRyOworCisgICAgLypUUEMgc2VjdGlvbiB0YWJsZXMqLworICAgIENMMURfUkZfVFBDX1NFQ1RJT05fVEFCTEVfVCAqVFBDX1NFQ1RJT05fREFUQV8xWFJUVF9wdHJbbWlwaV9zdWJiYW5kX251bV9tYXhdOworICAgIENMMURfUkZfVFBDX1NFQ1RJT05fVEFCTEVfVCAqVFBDX1NFQ1RJT05fREFUQV9FVkRPX3B0clttaXBpX3N1YmJhbmRfbnVtX21heF07CisgICAgQ0wxRF9SRl9UUENfU0VDVElPTl9UQUJMRV9UICpUUENfU0VDVElPTl9EUERfREFUQV8xWFJUVF9wdHJbbWlwaV9zdWJiYW5kX251bV9tYXhdOworICAgIENMMURfUkZfVFBDX1NFQ1RJT05fVEFCTEVfVCAqVFBDX1NFQ1RJT05fRFBEX0RBVEFfRVZET19wdHJbbWlwaV9zdWJiYW5kX251bV9tYXhdOworICAgIC8qRVRNIHNlY3Rpb24gdGFibGVzICovCisgICAgQ0wxRF9SRl9UUENfU0VDVElPTl9UQUJMRV9UICpFVE1fVFBDX1NFQ1RJT05fREFUQV8xWFJUVF9wdHJbbWlwaV9zdWJiYW5kX251bV9tYXhdOworICAgIENMMURfUkZfVFBDX1NFQ1RJT05fVEFCTEVfVCAqRVRNX1RQQ19TRUNUSU9OX0RBVEFfRVZET19wdHJbbWlwaV9zdWJiYW5kX251bV9tYXhdOworfUNMMURfUkZfQ1VTVF9NSVBJX0lOUFVUX1Q7CisvKiBFTE5BIE1JUEkgQWdncmVnYXRpb24gc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdHsKKwlDTDFEX1JGX01JUElfRVZFTlRfVEFCTEVfVCAqRUxOQV9FVkVOVF9wdHI7CisJQ0wxRF9SRl9NSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9UICpFTE5BX0RBVEFfcHRyOworfUNMMURfUkZfQ1VTVF9FTE5BX01JUElfSU5QVVRfVDsKKworLypNSVBJIGV2ZW50JmRhdGEgQWdncmVnYXRpb24gc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdHsKKwlDTDFEX1JGX01JUElfRVZFTlRfVEFCTEVfVCAqTUlQSV9FVkVOVF9wdHI7CisJQ0wxRF9SRl9NSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9UICpNSVBJX0RBVEFfcHRyOworfUNMMURfUkZfQ1VTVF9NSVBJX0lOUFVUX0FHR1JFQVRJT05fVDsKKworI3VuZGVmIE5WUkFNX0lURU1fUkZfQ1VTVAorI3VuZGVmIE5WUkFNX0lURU1fTUlQSQorI3VuZGVmIE5WUkFNX0lURU1fUkZfQ0FMCisjdW5kZWYgTlZSQU1fSVRFTV9SRl9QT0MKKyN1bmRlZiBOVlJBTV9JVEVNX1JGX1RBU19WQVIKKyN1bmRlZiBOVlJBTV9JVEVNX1JGX1RBU19BUlJBWQorI3VuZGVmIE5WUkFNX0lURU1fRUxOQV9WQVIKKyN1bmRlZiBOVlJBTV9JVEVNX1RYX1BPV0VSX1ZBUgorI3VuZGVmIE5WUkFNX0lURU1fUkZfVEFTX1RTVAorI2RlZmluZSBOVlJBTV9JVEVNX1JGX0NVU1QobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgCisjZGVmaW5lIE5WUkFNX0lURU1fTUlQSShuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSAKKyNkZWZpbmUgTlZSQU1fSVRFTV9SRl9DQUwobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgCisjZGVmaW5lIE5WUkFNX0lURU1fUkZfUE9DKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpIAorI2RlZmluZSBOVlJBTV9JVEVNX1JGX1RBU19WQVIobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgCisjZGVmaW5lIE5WUkFNX0lURU1fUkZfVEFTX0FSUkFZKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpIAorI2RlZmluZSBOVlJBTV9JVEVNX0VMTkFfVkFSKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpIAorI2RlZmluZSBOVlJBTV9JVEVNX1RYX1BPV0VSX1ZBUihuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSAKKyNkZWZpbmUgTlZSQU1fSVRFTV9SRl9UQVNfVFNUKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpIAorI2luY2x1ZGUgImNsMV9udnJhbV9pZC5oIi8vSnVzdCBmb3Igb2J0YWluIE1JUElfREFUX0VWRU5UX01BWF9OVU0gJiYgTUlQSV9EQVRfREFUQV9NQVhfTlVNCisKK3R5cGVkZWYgc3RydWN0eworCUNMMURfUkZfTUlQSV9FVkVOVF9UQUJMRV9UIERhdE1pcGlFdmVudEJ1ZmZlcltDMktfREFUX01BWF9DQVRfTlVNKk1JUElfREFUX0VWRU5UX01BWF9OVU1dOworCUNMMURfUkZfTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCBEYXRNaXBpRGF0YUJ1ZmZlcltDMktfREFUX01BWF9DQVRfTlVNKk1JUElfREFUX0RBVEFfTUFYX05VTV07Cit9Q0wxRF9SRl9DVVNUX01JUElfQlVGRkVSX1Q7CisKKworLyoqKioqKioqKioqKioqKioqIENhbGlicmF0aW9uICoqKioqKioqKioqKioqKioqKiovCisvKnRlbXBlcmF0dXJlIGFuZCBmcmVxdWVuY3kgY29tcGVuc2F0aW9uIHBhcmFtZXRlciAqLwordHlwZWRlZiBzdHJ1Y3R7CisgICAga2FsX2ludDE2IFRlbUZyZXFDb21wW0NMMURfUkZfTlVNX1RFTVBfQ0FMSUJSXVtDTDFEX1JGX05VTV9GUkVRX0NBTElCUl07LypURU1QOjg7IEZSRVE6MTUgKi8KK31DTDFEX1JGX1RFTVBfRlJFUV9DT01QX0RBVEFfVDsKKy8qUlggUGF0aCBMb3NzIERhdGEgKi8KK3R5cGVkZWYgc3RydWN0eworICAgIGthbF9pbnQ4IFRlbUNlbHNpdXNbQ0wxRF9SRl9OVU1fVEVNUF9DQUxJQlJdOy8qVEVNUDo4ICovCisgICAga2FsX3VpbnQxNiBDaGFuTnVtW0NMMURfUkZfTlVNX0ZSRVFfQ0FMSUJSXTsvKkZSRVE6MTUgKi8KKyAgICBDTDFEX1JGX1RFTVBfRlJFUV9DT01QX0RBVEFfVCBSeFBhdGhMb3NzRnJlcUNvbXBbQ0wxRF9SRl9MTkFfTU9ERV9OVU1dOy8qTE5BOjggKi8KK31DTDFEX1JGX1JYX1BBVEhfTE9TU19DT01QX1Q7Cit0eXBlZGVmIGNvbnN0IENMMURfUkZfUlhfUEFUSF9MT1NTX0NPTVBfVCBDMktfUkZfUlhfUEFUSF9MT1NTX0NPTVBfVDsKK3R5cGVkZWYgc3RydWN0IHsKKyAgICBrYWxfdWludDE2ICBpbml0X2RhYzsKKyAgICBrYWxfaW50MTYgIHNsb3BlOworICAgIGthbF91aW50MTYgIGNhcF9pZDsKKyAgICBrYWxfdWludDE2ICBSZXNlcnZlZDsKK31DTDFEX1JGX0FGQ19EQVRBX1Q7Cit0eXBlZGVmIGNvbnN0IENMMURfUkZfQUZDX0RBVEFfVCBDMktfUkZfQUZDX0RBVEFfVDsKKworLypQQSBDb250ZXh0IERhdGEgKi8KK3R5cGVkZWYgc3RydWN0eworICAgIC8qKiBUaGUgcmVmZXJlbmNlIHBvd2VyLCBpbiAxLzMyIGRCbS4gKi8KKyAgICBrYWxfaW50MTYgICAgICAgcmVmUHdyOworICAgIC8qKiBUaGUgcmVmZXJlbmNlIHBvd2VyIG91dHB1dCBQQSB3aXRob3V0IGZlcS90ZW1wIGNvbXBlbnNhdGlvbiwgaW4gMS8zMiBkQm0uICovCisgICAga2FsX2ludDE2ICAgICAgIHBhR2FpbjsKKyAgICAvKiogVGhlIFBBIG1vZGUgaW5mby4qLworICAgIGthbF91aW50MTYgICAgICBwYU1vZGU7CisgICAgLyoqIFRoZSBQQSBjb250cm9sIFJGR1BPcyBsZXZlbCAqLworICAgIC8vL1RPRE86IEJlbG93IDMgcGFyYW1ldGVyIG5vdCB1c2VkCisgICAga2FsX3VpbnQxNiAgICAgIHBhVm0wOworICAgIGthbF91aW50MTYgICAgICBwYVZtMTsKKyAgICAvKiogUEEgQlVDSyBzdXBwbHkgdm9sdGFnZSBsZXZlbCwgdW5pdCBpcyBtdiovCisgICAga2FsX3VpbnQxNiAgICAgIHBhVmRkOworfUNMMURfUkZfUEFfQ09OVEVYVF9UOwordHlwZWRlZiBzdHJ1Y3R7CisgICAga2FsX2ludDE2IEhpZ2hTd2l0Y2hUaHJlc2g7LyogVHggcG93ZXIgZm9yIEwyTSBvciBNMkgsIHVuaXQgaXMgMS8zMmRCbSAoUTUpKi8KKyAgICBrYWxfaW50MTYgTG93U3dpdGNoVGhyZXNoOy8qIFR4IHBvd2VyIGZvciBIMk0gb3IgTTJMLCB1bml0IGlzIDEvMzJkQm0gKFE1KSovCit9Q0wxRF9SRl9UWF9QQV9IWVNUX0RBVEFfVDsKK3R5cGVkZWYgc3RydWN0eworICAgIGthbF9pbnQxNiBUSF9PUF9BMkQ7CisgICAga2FsX2ludDE2IFRIX09QX0QyQTsvLy9UT0RPOiBuZXcgZmVhdHVyZSBmb3IgOTMKK31DTDFEX1JGX0FQVF9EUERfU1dJVENIX1RIRF9UOwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfaW50MzIgUGFDYWxTZWN0aW9uTnVtOworICAgIENMMURfUkZfUEFfQ09OVEVYVF9UIFR4UHdyUGFDb250ZXh0W0NMMURfUkZfTlVNX1RYX1BBX0dBSU5fQ0FMSUJSXTsvKlBBIEdhaW46OCAqLworICAgIENMMURfUkZfVFhfUEFfSFlTVF9EQVRBX1QgVHhIeXN0W0NMMURfUkZfUEFfTU9ERV9OVU0tMV07LypIeXN0IFJlZ2lvbiAqLworICAgIGthbF9pbnQxNiBwYVBoYXNlSnVtcENvbXBbQ0wxRF9SRl9QQV9NT0RFX05VTV07LypQQSBtb2RlOjMgKi8KKwlrYWxfaW50MTYgcmVzZXJ2ZTsKK31DTDFEX1JGX1RYX0FQVF9QQV9DT05URVhUX1Q7Cit0eXBlZGVmIGNvbnN0IENMMURfUkZfVFhfQVBUX1BBX0NPTlRFWFRfVCBDMktfUkZfVFhfQVBUX1BBX0NPTlRFWFRfVDsKK3R5cGVkZWYgc3RydWN0eworICAgIGthbF91aW50OCBQYUNhbFNlY3Rpb25OdW07CisgICAgQ0wxRF9SRl9QQV9DT05URVhUX1QgVHhQd3JQYUNvbnRleHRbQ0wxRF9SRl9OVU1fVFhfUEFfR0FJTl9DQUxJQlJdOy8qUEEgR2Fpbjo4ICovCisgICAgQ0wxRF9SRl9UWF9QQV9IWVNUX0RBVEFfVCBUeEh5c3RbQ0wxRF9SRl9QQV9NT0RFX05VTS0xXTsvKkh5c3QgUmVnaW9uICovCisgICAga2FsX2ludDE2IHBhUGhhc2VKdW1wQ29tcFtDTDFEX1JGX1BBX01PREVfTlVNXTsvKlBBIG1vZGU6MyAqLworCSBDTDFEX1JGX0FQVF9EUERfU1dJVENIX1RIRF9UIEFwdERwZFN3aXRjaFRoZDsKK31DTDFEX1JGX1RYX0RQRF9QQV9DT05URVhUX1Q7Cit0eXBlZGVmIGNvbnN0IENMMURfUkZfVFhfRFBEX1BBX0NPTlRFWFRfVCBDMktfUkZfVFhfRFBEX1BBX0NPTlRFWFRfVDsKKworLypBUFQgUEEgR2FpbiBEYXRhICovCit0eXBlZGVmIHN0cnVjdHsKKyAgICBrYWxfaW50OCBUZW1DZWxzaXVzW0NMMURfUkZfTlVNX1RFTVBfQ0FMSUJSXTsvKlRFTVA6OCAqLworICAgIGthbF91aW50MTYgQ2hhbk51bVtDTDFEX1JGX05VTV9GUkVRX0NBTElCUl07LypGUkVROjE2ICovCisgICAgQ0wxRF9SRl9URU1QX0ZSRVFfQ09NUF9EQVRBX1QgVHhQd3JQYUdhaW5Db21wW0NMMURfUkZfTlVNX1RYX1BBX0dBSU5fQ0FMSUJSXTsvKlBBIEdhaW46OCAqLworfUNMMURfUkZfVFhfQVBUX1BBX0dBSU5fQ09NUF9UOwordHlwZWRlZiBjb25zdCBDTDFEX1JGX1RYX0FQVF9QQV9HQUlOX0NPTVBfVCBDMktfUkZfVFhfQVBUX1BBX0dBSU5fQ09NUF9UOworCisvKkRQRCBDb21tb24gcGFyYW1ldGVycyAqLwordHlwZWRlZiBzdHJ1Y3R7CisgICAga2FsX2ludDE2IEZkQltDTDFEX1JGX05VTV9UWF9QQV9HQUlOX0NBTElCUl07CisgICAga2FsX2ludDE2IFB0YXJUaFRtcFtDTDFEX1JGX05VTV9UWF9QQV9HQUlOX0NBTElCUl07CQorfUNMMURfUkZfVFhfRFBEX0NPTU1fREFUQV9UOworCisvKkRQRCBjdXN0b20gcGFyYW1ldGVycyovCit0eXBlZGVmIHN0cnVjdCAgICAgICAgICAgICAKK3sKKyAgIC8qRFBEIE5vcm1hbCBNb2RlIGVuYWJsZSBGbGFnKi8KKyAgIENMMURfRFBEX0VOQUJMRV9FICAgICAgIGRwZF9ub3JtYWxfZW5hYmxlOworCisgICAvKiBUaGUgZGVsdGEgdGVybSBhZGQgdG8gdGFiX1BBX1ZjY19pZHhfdGgsIHZhbHVlIGZyb20gY3VzdG9tIGZpbGUgKi8KKyAgIGthbF9pbnQxNiAgICAgICAgICBkX3Rhcl90aF9kcGQ7CisKK30gQ0wxRF9SRl9EUERfQ09NTU9OX0NUUkxfVDsgIAorCisvKioqKioqKioqKioqUENGRSBTQSBmaW5lIHR1bmUgUGFyYW1ldGVycyBTdGFydCoqKioqKiovCisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBrYWxfdWludDMyICAgICAgICByZXNlcnZlZDA7ICAgCit9Q0wxRF9SRl9QQ0ZFX0NVU1RPTV9QQVJBX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBrYWxfaW50MTYgICAgICAgIGRwZF9hcHRfdGVtcGVyYXR1cmVfdGhfYnlfcmZpY1syXTsgLy8gZm9yIDIgUkZJQworfUNMMURfUkZfRFBEX09URkNfQ1VTVE9NX1BBUkFfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBDTDFEX1JGX0RQRF9PVEZDX0NVU1RPTV9QQVJBX1QgICAgIGRwZF9vdGZjX2N1c3RvbTsKKyAgICBDTDFEX1JGX1BDRkVfQ1VTVE9NX1BBUkFfVCAgICAgICAgIHBjZmVfY3VzdG9tOworICAgCit9Q0wxRF9SRl9QQ0ZFX0RQRF9PVEZDX0NVU1RPTV9QQVJBX1Q7CisKKworCisvKkRQRCBQQSBHYWluIERhdGEgKi8KKyNkZWZpbmUgQ0wxRF9SRl9OVU1fUkFNUF9DQUxJQlIgMTYKK3R5cGVkZWYgc3RydWN0eworICAgIGthbF9pbnQ4IFRlbUNlbHNpdXNbQ0wxRF9SRl9OVU1fVEVNUF9DQUxJQlJdOy8qVEVNUDo4ICovCisgICAga2FsX3VpbnQxNiBDaGFuTnVtW0NMMURfUkZfTlVNX0ZSRVFfQ0FMSUJSXTsvKkZSRVE6MTYgKi8KKyAgICBDTDFEX1JGX1RFTVBfRlJFUV9DT01QX0RBVEFfVCBUeFB3clBhR2FpbkNvbXBbQ0wxRF9SRl9OVU1fVFhfUEFfR0FJTl9DQUxJQlJdOy8qUEEgR2Fpbjo4ICovCisJQ0wxRF9SRl9UWF9EUERfQ09NTV9EQVRBX1QgVHhEcGRDb21tW0NMMURfUkZfTlVNX0ZSRVFfQ0FMSUJSXTsKKyAgICBrYWxfaW50MTYgRHBkVHJbQ0wxRF9SRl9OVU1fRlJFUV9DQUxJQlJdOworfUNMMURfUkZfVFhfRFBEX1BBX0dBSU5fQ09NUF9UOwordHlwZWRlZiBjb25zdCBDTDFEX1JGX1RYX0RQRF9QQV9HQUlOX0NPTVBfVCBDMktfUkZfVFhfRFBEX1BBX0dBSU5fQ09NUF9UOworCisvKiBBTSBMVVQgZGF0YSBwYXJhbWV0ZXIgKi8KK3R5cGVkZWYgc3RydWN0eworICAgIGthbF91aW50OCBBbUx1dFtDTDFEX1JGX05VTV9UWF9QQV9HQUlOX0NBTElCUl1bQ0wxRF9SRl9OVU1fUkFNUF9MRVZFTF07LypQQSA6ODsgUkFNUDoxNiAqLworfUNMMURfUkZfQU1fTFVUX0RBVEFfVDsKKworLyogUE0gTFVUIGRhdGEgcGFyYW1ldGVyICovCit0eXBlZGVmIHN0cnVjdHsKKyAgICBrYWxfaW50OCBQbUx1dFtDTDFEX1JGX05VTV9UWF9QQV9HQUlOX0NBTElCUl1bQ0wxRF9SRl9OVU1fUkFNUF9MRVZFTF07LypQQSA6ODsgUkFNUDoxNiAqLworfUNMMURfUkZfUE1fTFVUX0RBVEFfVDsKKworLypEUEQgQU0vUE0gRGF0YSAqLwordHlwZWRlZiBzdHJ1Y3R7CisgICAgQ0wxRF9SRl9BTV9MVVRfREFUQV9UIEFtTHV0W0NMMURfUkZfTlVNX0ZSRVFfQ0FMSUJSXTsvKiBGUkVRIDoxNiAqLworICAgIENMMURfUkZfUE1fTFVUX0RBVEFfVCBQbUx1dFtDTDFEX1JGX05VTV9GUkVRX0NBTElCUl07LyogRlJFUSA6MTYgKi8KK31DTDFEX1JGX1RYX0RQRF9BTV9QTV9MVVRfREFUQV9UOwordHlwZWRlZiBjb25zdCBDTDFEX1JGX1RYX0RQRF9BTV9QTV9MVVRfREFUQV9UIEMyS19SRl9UWF9EUERfQU1fUE1fTFVUX0RBVEFfVDsKKworLypEUEQgQU0vUE0gRGF0YSBGb3IgT25lIEZyZXEqLwordHlwZWRlZiBzdHJ1Y3R7CisgICAgQ0wxRF9SRl9BTV9MVVRfREFUQV9UIEFtTHV0Oy8qIEZSRVEgOjE2ICovCisgICAgQ0wxRF9SRl9QTV9MVVRfREFUQV9UIFBtTHV0Oy8qIEZSRVEgOjE2ICovCit9Q0wxRF9SRl9UWF9EUERfQU1fUE1fQ0FMX0xVVF9EQVRBX1Q7Cit0eXBlZGVmIGNvbnN0IENMMURfUkZfVFhfRFBEX0FNX1BNX0NBTF9MVVRfREFUQV9UIEMyS19SRl9UWF9EUERfQU1fUE1fQ0FMX0xVVF9EQVRBX1Q7CisKKworLypERVQgQ291cGVyIExvc3MgRGF0YSAqLwordHlwZWRlZiBzdHJ1Y3R7CisgICAga2FsX2ludDE2IENvdXBsZXJHYWluW0NMMURfUkZfUEFfTU9ERV9OVU1dOy8qUEEgbW9kZTozICovCit9Q0wxRF9SRl9ERVRfQ09VUExFX0xPU1NfVDsKK3R5cGVkZWYgY29uc3QgQ0wxRF9SRl9ERVRfQ09VUExFX0xPU1NfVCBDMktfUkZfREVUX0NPVVBMRV9MT1NTX1Q7CisKKy8qREVUIENvbXBlbnNhdGlvbiBEYXRhICovCit0eXBlZGVmIHN0cnVjdHsKKyAgICBrYWxfaW50OCBUZW1DZWxzaXVzW0NMMURfUkZfTlVNX1RFTVBfQ0FMSUJSXTsvKlRFTVA6OCAqLworICAgIGthbF91aW50MTYgQ2hhbk51bVtDTDFEX1JGX05VTV9GUkVRX0NBTElCUl07LypGUkVROjE1ICovCisgICAgQ0wxRF9SRl9URU1QX0ZSRVFfQ09NUF9EQVRBX1QgVHhQZGV0Q291cGxlckdhaW5Db21wW0NMMURfUkZfUEFfTU9ERV9OVU1dOy8qUEEgbW9kZTozICovCit9Q0wxRF9SRl9ERVRfQ09VUExFX0xPU1NfQ09NUF9UOwordHlwZWRlZiBjb25zdCBDTDFEX1JGX0RFVF9DT1VQTEVfTE9TU19DT01QX1QgQzJLX1JGX0RFVF9DT1VQTEVfTE9TU19DT01QX1Q7Cit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF9pbnQzMiBncm91cF9kZWxheTsKK31DTDFEX1JGX0FHUFNfR1JPVVBfREVMQVlfVDsKK3R5cGVkZWYgY29uc3QgQ0wxRF9SRl9BR1BTX0dST1VQX0RFTEFZX1QgQzJLX1JGX0FHUFNfR1JPVVBfREVMQVlfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfaW50MTYgdGVtcDsKKyAgICBrYWxfaW50MTYgYmFja19vZmY7Cit9Q0wxRF9SRl9UWF9QT1dFUl9CQUNLX09GRl9JVEVNX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgQ0wxRF9SRl9UWF9QT1dFUl9CQUNLX09GRl9JVEVNX1QgdGJsW0NMMURfUkZfVFhfUE9XRVJfQkFDS19PRkZfVEVNUF9OVU1dOworfUNMMURfUkZfVFhfUE9XRVJfQkFDS19PRkZfVDsKK3R5cGVkZWYgY29uc3QgQ0wxRF9SRl9UWF9QT1dFUl9CQUNLX09GRl9UIEMyS19SRl9UWF9QT1dFUl9CQUNLX09GRl9UOworCisvKlNBUiBhbmQgU1dUUCBkYXRhIHN0cnVjdHVyZSAqLworI2lmIGRlZmluZWQoX19NRDkzX18pCit0eXBlZGVmIGVudW17CisJQzJLX1NBUl9MQU5UXzEgPSAwLAorCUMyS19TQVJfVUFOVCwKKwlDMktfU0FSX0xBTlRfMiwKKwlDMktfU0FSX1RYX0FOVF9OVU0sCisJQzJLX1NBUl9UWF9BTlRfTlVMTCA9QzJLX1NBUl9UWF9BTlRfTlVNCit9Q0wxRF9SRl9TQVJfVFhfQU5UX0U7IC8vR2VuOTMgQU5UIG51bSBpcyAzCisjZW5kaWYKKyNpZiBkZWZpbmVkKF9fTUQ5NV9fKQordHlwZWRlZiBlbnVteworCUMyS19TQVJfQU5UMCwKKwlDMktfU0FSX0FOVDEsCisJQzJLX1NBUl9BTlQyLAorCUMyS19TQVJfQU5UMywKKwlDMktfU0FSX0FOVDQsCisJQzJLX1NBUl9UWF9BTlRfTlVNLAorCUMyS19TQVJfVFhfQU5UX05VTEwgPSBDMktfU0FSX1RYX0FOVF9OVU0KK31DTDFEX1JGX1NBUl9UWF9BTlRfRTsgLy9HZW45NSBBTlQgbnVtIGlzIDUKKyNlbmRpZgorI2lmIGRlZmluZWQoX19NRDk3X18pIHx8IGRlZmluZWQoX19NRDk3UF9fKQordHlwZWRlZiBlbnVteworCUMyS19TQVJfQU5UMCA9IDAsCisJQzJLX1NBUl9BTlQxLAorCUMyS19TQVJfQU5UMiwKKwlDMktfU0FSX0FOVDMsCisJQzJLX1NBUl9BTlQ0LAorCUMyS19TQVJfQU5UNSwKKwlDMktfU0FSX0FOVDYsCisJQzJLX1NBUl9BTlQ3LAorCUMyS19TQVJfQU5UOCwKKwlDMktfU0FSX0FOVDksCisJQzJLX1NBUl9BTlQxMCwKKwlDMktfU0FSX0FOVDExLAorCUMyS19TQVJfVFhfQU5UX05VTSwKKwlDMktfU0FSX1RYX0FOVF9OVUxMID0gQzJLX1NBUl9UWF9BTlRfTlVNCit9Q0wxRF9SRl9TQVJfVFhfQU5UX0U7IC8vR2VuOTcgQU5UIG51bSBpcyAxMgorI2VuZGlmCisvKkdlbjkzIGFuZCBHZW45NSBTQVIgJiBTV1RQIHN0cnVjdHVyZSAqLworI2lmIGRlZmluZWQoX19NRDkzX18pIHx8IGRlZmluZWQoX19NRDk1X18pCit0eXBlZGVmIHN0cnVjdHsKKwlrYWxfdWludDE2IHNhcl9jaGFuX251bTsgIAkJCQkJCQkJCQkJLyogVW5pdDogc2FyIGNoYW5uZWwgbnVtYmVyICovCisgIAlrYWxfaW50MTYgc2FyX3Bvd2VyX29mZnNldFtDMktfU0FSX1RYX0FOVF9OVU1dW0NMMURfUkZfUkFUX05VTV07ICAvKiBTQVIgVFggcG93ZXIgb2Zmc2V0LCBpbiB1bml0IG9mIDEvMzIgKi8KK31DTDFEX1JGX1NBUl9UWF9QT1dFUl9PRkZTRVRfVEJMX0lURU1fVDsKK3R5cGVkZWYgc3RydWN0eworCUNMMURfUkZfU0FSX1RYX1BPV0VSX09GRlNFVF9UQkxfSVRFTV9UIHNhcl90YmxfaXRlbVtTQVJfRlJFUV9DQUxJQlJfTlVNXTsKK31DTDFEX1JGX1NBUl9UWF9QT1dFUl9PRkZTRVRfVEJMX1Q7Cit0eXBlZGVmIHN0cnVjdHsKKwlDTDFEX1JGX1NBUl9UWF9QT1dFUl9PRkZTRVRfVEJMX1Qgc2FyX3RibFtTQVJfVFhfUE9XRVJfT0ZGU0VUX1RBQkxFX05VTV07Cit9Q0wxRF9SRl9TQVJfVFhfUE9XRVJfT0ZGU0VUX1Q7Cit0eXBlZGVmIGNvbnN0IENMMURfUkZfU0FSX1RYX1BPV0VSX09GRlNFVF9UIEMyS19SRl9TQVJfVFhfUE9XRVJfT0ZGU0VUX1Q7IC8vR2VuOTMgYW5kIEdlbjk1IFNBUiBhbmQgU1dUUCBjby1zdHJ1Y3R1cmUKKyNlbmRpZgorCisvKkdlbjk3IFNBUiAmIFNXVFAgc3RydWN0dXJlICovCisjaWYgZGVmaW5lZChfX01EOTdfXykgfHwgZGVmaW5lZChfX01EOTdQX18pCisvL1NBUiBzdHJ1Y3R1cmUKK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX2ludDE2IHNhcl9wb3dlcl9vZmZzZXRbQzJLX1NBUl9UWF9BTlRfTlVNXVtDTDFEX1JGX1JBVF9OVU1dOyAgLyogU0FSIFRYIHBvd2VyIG9mZnNldCwgaW4gdW5pdCBvZiAxLzMyICovCit9Q0wxRF9SRl9TQVJfVFhfUE9XRVJfT0ZGU0VUX1RCTF9JVEVNX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgQ0wxRF9SRl9TQVJfVFhfUE9XRVJfT0ZGU0VUX1RCTF9JVEVNX1Qgc2FyX3RibF9pdGVtOworfUNMMURfUkZfU0FSX1RYX1BPV0VSX09GRlNFVF9UQkxfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBDTDFEX1JGX1NBUl9UWF9QT1dFUl9PRkZTRVRfVEJMX1Qgc2FyX3RibFtTQVJfVFhfUE9XRVJfT0ZGU0VUX1RBQkxFX05VTV07Cit9Q0wxRF9SRl9TQVJfVFhfUE9XRVJfT0ZGU0VUX1Q7Cit0eXBlZGVmIGNvbnN0IENMMURfUkZfU0FSX1RYX1BPV0VSX09GRlNFVF9UIEMyS19SRl9TQVJfVFhfUE9XRVJfT0ZGU0VUX1Q7IC8vR2VuOTcgU0FSIGFuZCBTV1RQIHVzZSBpbmRlcGVuZGVudCBzdHJ1Y3R1cmUuCisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgQ0wxRF9SRl9TQVJfVFhfUE9XRVJfT0ZGU0VUX1QqIHNhcl90eXBlX2J5QmFuZFtSRl9CYW5kX05VTV9NQVhdOworfUNMMURfUkZfU0FSX1RZUEVfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfaW50MzIgb3BlcmF0b3Jfc2FyX3R5cGU7Ly9mb3IgZGVidWcuICBjb21tb25fc2FyIGNob29zZSB0eXBlIGFjY3JvZGluZyB0byAgb3BlcmF0b3Jfc2FyX3R5cGUobW1yZiBBUEkpCisgICAga2FsX2ludDE2IGNvbW1vbl9zYXJfdHhfcG93ZXJfb2Zmc2V0W1NBUl9UWF9QT1dFUl9PRkZTRVRfVEFCTEVfTlVNXVtDMktfU0FSX1RYX0FOVF9OVU1dOworfUNMMURfUkZfQ09NTU9OX1NBUl9JTklUX1Q7CisKKy8vU1dUUCBzdHJ1Y3R1cmUKK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX3VpbnQxNiBzd3RwX2NoYW5fbnVtOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBVbml0OiBzYXIgY2hhbm5lbCBudW1iZXIgKi8KKyAgICBrYWxfaW50MTYgIHN3dHBfcG93ZXJfb2Zmc2V0W0MyS19TQVJfVFhfQU5UX05VTV1bQ0wxRF9SRl9SQVRfTlVNXTsgIC8qIFNBUiBUWCBwb3dlciBvZmZzZXQsIGluIHVuaXQgb2YgMS8zMiAqLworfUNMMURfUkZfU1dUUF9UWF9QT1dFUl9PRkZTRVRfVEJMX0lURU1fVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBDTDFEX1JGX1NXVFBfVFhfUE9XRVJfT0ZGU0VUX1RCTF9JVEVNX1Qgc3d0cF90YmxfaXRlbVtTQVJfRlJFUV9DQUxJQlJfTlVNXTsKK31DTDFEX1JGX1NXVFBfVFhfUE9XRVJfT0ZGU0VUX1RCTF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIENMMURfUkZfU1dUUF9UWF9QT1dFUl9PRkZTRVRfVEJMX1Qgc3d0cF90YmxbU1dUUF9UWF9QT1dFUl9PRkZTRVRfVEFCTEVfTlVNXTsKK31DTDFEX1JGX1NXVFBfVFhfUE9XRVJfT0ZGU0VUX1Q7Cit0eXBlZGVmIGNvbnN0IENMMURfUkZfU1dUUF9UWF9QT1dFUl9PRkZTRVRfVCBDMktfUkZfU1dUUF9UWF9QT1dFUl9PRkZTRVRfVDsgLy9HZW45NyBTQVIgYW5kIFNXVFAgdXNlIGluZGVwZW5kZW50IHN0cnVjdHVyZS4KKyNlbmRpZgorCisKKyNpZiBkZWZpbmVkKF9fQzJLX1JGX0hPUFBJTkdfU1VQUE9SVF9fKQorI2RlZmluZSBJU19DMktfSU5ESUNBVElPTl9GT1JfQVBfQ0xPQ0tfSE9QUElOR19TVVBQT1JUICAgMQorI2RlZmluZSBJU19DMktfUkZfSE9QUElOR19ERUJVR19FTkFCTEUgIDAKKyNlbHNlCisjZGVmaW5lIElTX0MyS19JTkRJQ0FUSU9OX0ZPUl9BUF9DTE9DS19IT1BQSU5HX1NVUFBPUlQgICAwCisjZGVmaW5lIElTX0MyS19SRl9IT1BQSU5HX0RFQlVHX0VOQUJMRSAgMAorI2VuZGlmCisKKyNpZiBJU19DMktfSU5ESUNBVElPTl9GT1JfQVBfQ0xPQ0tfSE9QUElOR19TVVBQT1JUCisjZGVmaW5lIEMyS19SRl9GUkVRX0lOVkFMSUQgKDY1NTM1KQorI2RlZmluZSBDMktfUkZfRlJFUV9TTUFMTF9HUk9VUF9OVU0gKDgpCisjZGVmaW5lIEMyS19SRl9GUkVRX1RBQkxFX05VTSAgICg4KQordHlwZWRlZiBlbnVtCit7CisgICAgQzJLX1JGX0lOVEVSRkVSRV9DSEVDS19ESVNBQkxFLAorICAgIEMyS19SRl9JTlRFUkZFUkVfQ0hFQ0tfRU5BQkxFCit9QzJLX1JGX0lOVEVSRkVSRV9DSEVDS19FOworCit0eXBlZGVmIHN0cnVjdHsKKyAgICBrYWxfdWludDE2IGMya19yZl9mcmVxX3N0YXJ0OworICAgIGthbF91aW50MTYgYzJrX3JmX2ZyZXFfZW5kOworfUNMMURfUkZfSE9QUElOR19UQkxfSVRFTV9UOworCit0eXBlZGVmIHN0cnVjdHsKKyAgICBDTDFEX1JGX0hPUFBJTkdfVEJMX0lURU1fVCBjMmtfcmZfdGJsX2l0ZW0gW0MyS19SRl9GUkVRX1NNQUxMX0dST1VQX05VTV07IC8vIDggc21hbGwgZ3JvdXAgZm9yIEdfQS9CCit9Q0wxRF9SRl9IT1BQSU5HX1RCTF9JVEVNX0dST1VQX1Q7CisKK3R5cGVkZWYgc3RydWN0eworICAgIENMMURfUkZfSE9QUElOR19UQkxfSVRFTV9HUk9VUF9UIGMya19yZl9ncm91cF9hOworICAgIENMMURfUkZfSE9QUElOR19UQkxfSVRFTV9HUk9VUF9UIGMya19yZl9ncm91cF9iOworfUNMMURfUkZfSE9QUElOR19UQkxfVDsKKwordHlwZWRlZiBzdHJ1Y3R7CisgICAgQzJLX1JGX0lOVEVSRkVSRV9DSEVDS19FIGMya19yZl9ob3BwaW5nX3RhYmxlX2VuW0MyS19SRl9GUkVRX1RBQkxFX05VTV07CisgICAgQ0wxRF9SRl9IT1BQSU5HX1RCTF9UIGMya19yZl9ob3BwaW5nX3RhYmxlW0MyS19SRl9GUkVRX1RBQkxFX05VTV07Cit9Q0wxRF9SRl9IT1BQSU5HX0RBVEFfQkFTRV9UOworCit0eXBlZGVmIGNvbnN0IENMMURfUkZfSE9QUElOR19EQVRBX0JBU0VfVCBDMktfQ1VTVE9NX0hPUFBJTkdfREFUQV9CQVNFX1Q7CisjZW5kaWYKKyNlbmRpZiAvKiBfQ0wxX1JGX1BVQkxJQ19IXyAqLworCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9yZmQvY2wxX3JmX3Rhc19wdWJsaWMuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL3JmZC9jbDFfcmZfdGFzX3B1YmxpYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxMmVhYTEKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9yZmQvY2wxX3JmX3Rhc19wdWJsaWMuaApAQCAtMCwwICsxLDI1MyBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICogY2wxZF9yZl90YXNfcHVibGljLmgKKyAqCisgKiBQcm9qZWN0OgorICogLS0tLS0tLS0KKyAqIEMySworICoKKyAqIERlc2NyaXB0aW9uOgorICogLS0tLS0tLS0tLS0tCisgKiBIZWFkZXIgZmlsZSBjb250YWluaW5nIHR5cGVkZWZzIGFuZCBkZWZpbml0aW9ucyBwZXJ0YWluaW5nCisgKiB0byBDMksgUkYgZHJpdmVyIGV4dGVybmFsIGludGVyZmFjZS4KKyAqCisgKiBBdXRob3I6CisgKiAtLS0tLS0tCisgKgorICoKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiAgICAgICAgICAgICBISVNUT1JZCisgKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFVwcGVyIHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIENMMURfUkZfVEFTX1BVQkxJQ19ICisjZGVmaW5lIENMMURfUkZfVEFTX1BVQkxJQ19ICisjaWZkZWYgU1lTX09QVElPTl9UWF9UQVNfRU5BQkxFCisgICNpZiBkZWZpbmVkKF9fTUQ5M19fKQorICAgICNkZWZpbmUgX0MyS19UQVNfU1VQUE9SVF8gICAgKDEpCisgICAgI2RlZmluZSBfQzJLX1VUQVNfU1VQUE9SVF8gICAoMCkKKyAgICAjZGVmaW5lIF9DMktfVVRBU19TVVBQT1JUXzk3ICgwKQorICAjZWxpZiAoZGVmaW5lZChfX01EOTVfXykpCisgICAgI2RlZmluZSBfQzJLX1RBU19TVVBQT1JUXyAgICAoMCkKKyAgICAjZGVmaW5lIF9DMktfVVRBU19TVVBQT1JUXyAgICgxKQorICAgICNkZWZpbmUgX0MyS19VVEFTX1NVUFBPUlRfOTcgKDApCisgICNlbGlmIChkZWZpbmVkKF9fTUQ5N19fKSB8fCBkZWZpbmVkKF9fTUQ5N1BfXykpICAgIAorICAgICNkZWZpbmUgX0MyS19UQVNfU1VQUE9SVF8gICAgKDApCisgICAgI2RlZmluZSBfQzJLX1VUQVNfU1VQUE9SVF8gICAoMCkKKyAgICAjZGVmaW5lIF9DMktfVVRBU19TVVBQT1JUXzk3ICgxKQorICAjZWxzZSAKKyAgICAjZXJyb3IgIltFUlJPUl0gSW52YWxpZCBNRCBnZW5lcmF0aW9uIiAKKyAgI2VuZGlmCisjZWxzZQorICAgICNkZWZpbmUgX0MyS19UQVNfU1VQUE9SVF8gICAgKDApCisgICAgI2RlZmluZSBfQzJLX1VUQVNfU1VQUE9SVF8gICAoMCkKKyAgICAjZGVmaW5lIF9DMktfVVRBU19TVVBQT1JUXzk3ICgwKQorI2VuZGlmCisKKyNkZWZpbmUgQzJLX1JGX1VUQVNfUkZfUEFUSF9OVU0gICAgICAgICAgIDIKKyNkZWZpbmUgQzJLX1JGX1VUQVNfTUFYX1NQTElUX0JBTkRfTlVNICAgIDUKKyNkZWZpbmUgQzJLX1JGX1VUQVNfTUFYX0FOVF9OVU0gICAgICAgICAgIDgKKworI2RlZmluZSBDMktfQU5UX0lOVkFMSURfUEFUVEVSTiAgICAgICAgICAgMHhGRgorI2lmZGVmIEwxX1NJTQorICAjaWYgZGVmaW5lZChfX01EOTNfXykKKyAgICAjdW5kZWYgX0MyS19UQVNfU1VQUE9SVF8KKyAgICAjZGVmaW5lIF9DMktfVEFTX1NVUFBPUlRfICAgICAgICgxKQorICAjZWxpZiBkZWZpbmVkKF9fTUQ5NV9fKQorICAgICN1bmRlZiBfQzJLX1VUQVNfU1VQUE9SVF8KKyAgICAjZGVmaW5lIF9DMktfVVRBU19TVVBQT1JUXyAgICAgICgxKQorICAjZWxpZiAoZGVmaW5lZChfX01EOTdfXykgfHwgZGVmaW5lZChfX01EOTdQX18pKQorICAgICN1bmRlZiBfQzJLX1VUQVNfU1VQUE9SVF85NworICAgICNkZWZpbmUgX0MyS19VVEFTX1NVUFBPUlRfOTcgICAgKDEpCisjZW5kaWYKKyNlbmRpZgorCisjZGVmaW5lIF9DMktfVFVORVJfT0xEXyAoMCkKKworI2RlZmluZSBDMktfVEFTX0JQSV9QSU5fTlVMTCAgICAgICAgICAgICAgICAgICAgKC0xKQorI2RlZmluZSBNX0FCUyh2QUxVRSkJKHZBTFVFPj0wPyB2QUxVRTooLXZBTFVFKSkKKworI2RlZmluZSBDMktfVEFTX0JQSV9QSU5fR0VOKHBJTjFlTiwgcElOMmVOLCBwSU4zZU4sIHNFVGlEWCkgXAorCQkoKEMyS19UQVNfQlBJX1BJTjFfIyNzRVRpRFggPT0gQzJLX1RBU19CUElfUElOX05VTEwgPyAwIDogKChwSU4xZU4pIDw8IE1fQUJTKEMyS19UQVNfQlBJX1BJTjFfIyNzRVRpRFgpKSkgXAorCQl8KEMyS19UQVNfQlBJX1BJTjJfIyNzRVRpRFggPT0gQzJLX1RBU19CUElfUElOX05VTEwgPyAwIDogKChwSU4yZU4pIDw8IE1fQUJTKEMyS19UQVNfQlBJX1BJTjJfIyNzRVRpRFgpKSkgXAorCQl8KEMyS19UQVNfQlBJX1BJTjNfIyNzRVRpRFggPT0gQzJLX1RBU19CUElfUElOX05VTEwgPyAwIDogKChwSU4zZU4pIDw8IE1fQUJTKEMyS19UQVNfQlBJX1BJTjNfIyNzRVRpRFgpKSkpCisKK3R5cGVkZWYgZW51bQoreworICAgQzJLX1RBU19TVEFURTA9MCwKKyAgIEMyS19UQVNfU1RBVEUxLAorICAgQzJLX1RBU19TVEFURTIsCisgICBDMktfVEFTX1NUQVRFMywKKyAgIEMyS19UQVNfU1RBVEU0LAorICAgQzJLX1RBU19TVEFURTUsCisgICBDMktfVEFTX1NUQVRFNiwKKyAgIEMyS19UQVNfU1RBVEU3LAorICAjaWZuZGVmIF9fTUQ5M19fCisgICBDMktfVEFTX1NUQVRFOCwKKyAgIEMyS19UQVNfU1RBVEU5LAorICAgQzJLX1RBU19TVEFURTEwLAorICAgQzJLX1RBU19TVEFURTExLAorICAgQzJLX1RBU19TVEFURTEyLAorICAgQzJLX1RBU19TVEFURTEzLAorICAgQzJLX1RBU19TVEFURTE0LAorICAgQzJLX1RBU19TVEFURTE1LAorICAgQzJrX1RBU19TVEFURTE2LAorICAgQzJLX1RBU19TVEFURTE3LAorICAgQzJLX1RBU19TVEFURTE4LAorICAgQzJLX1RBU19TVEFURTE5LAorICAgQzJLX1RBU19TVEFURTIwLAorICAgQzJLX1RBU19TVEFURTIxLAorICAgQzJLX1RBU19TVEFURTIyLAorICAgQzJLX1RBU19TVEFURTIzLAorICAgQzJLX1RBU19TVEFURTI0LAorICAgQzJLX1RBU19TVEFURTI1LAorICAgQzJLX1RBU19TVEFURTI2LAorICAgQzJLX1RBU19TVEFURTI3LAorICAgQzJLX1RBU19TVEFURTI4LAorICAgQzJLX1RBU19TVEFURTI5LAorICAgQzJrX1RBU19TVEFURTMwLAorICAgQzJLX1RBU19TVEFURTMxLAorICAgQzJLX1RBU19TVEFURTMyLAorICAgQzJLX1RBU19TVEFURTMzLAorICAgQzJLX1RBU19TVEFURTM0LAorICAgQzJLX1RBU19TVEFURTM1LAorICAgQzJLX1RBU19TVEFURTM2LAorICAgQzJLX1RBU19TVEFURTM3LAorICAgQzJLX1RBU19TVEFURTM4LAorICAgQzJLX1RBU19TVEFURTM5LAorICAgQzJLX1RBU19TVEFURTQwLAorICAgQzJLX1RBU19TVEFURTQxLAorICAgQzJLX1RBU19TVEFURTQyLAorICAgQzJLX1RBU19TVEFURTQzLAorICAgQzJLX1RBU19TVEFURTQ0LAorICAgQzJLX1RBU19TVEFURTQ1LAorICAgQzJLX1RBU19TVEFURTQ2LAorICAgQzJLX1RBU19TVEFURTQ3LAorICAgQzJrX1RBU19TVEFURTQ4LAorICAgQzJLX1RBU19TVEFURTQ5LAorICAgQzJLX1RBU19TVEFURTUwLAorICAgQzJLX1RBU19TVEFURTUxLAorICAgQzJLX1RBU19TVEFURTUyLAorICAgQzJLX1RBU19TVEFURTUzLAorICAgQzJLX1RBU19TVEFURTU0LAorICAgQzJLX1RBU19TVEFURTU1LAorICAgQzJrX1RBU19TVEFURTU2LAorICAgQzJLX1RBU19TVEFURTU3LAorICAgQzJLX1RBU19TVEFURTU4LAorICAgQzJLX1RBU19TVEFURTU5LAorICAgQzJLX1RBU19TVEFURTYwLAorICAgQzJLX1RBU19TVEFURTYxLAorICAgQzJLX1RBU19TVEFURTYyLAorICAgQzJLX1RBU19TVEFURTYzLAorICAjZW5kaWYKKyAgIEMyS19UQVNfU1RBVEVfTUFYLAorICAgQzJLX1RBU19TVEFURV9OVUxMID0gQzJLX0FOVF9JTlZBTElEX1BBVFRFUk4KK31DMktfQ1VTVE9NX1RBU19TVEFURV9FOworCit0eXBlZGVmIGVudW17CisgICBDMktfQU5UX1RVTkVSX0NPTlRST0xfU0VUVElOR19JTkRFWDAsCisgICBDMktfQU5UX1RVTkVSX0NPTlRST0xfU0VUVElOR19JTkRFWDEsCisgICBDMktfQU5UX1RVTkVSX0NPTlRST0xfU0VUVElOR19JTkRFWDIsCisgICBDMktfQU5UX1RVTkVSX0NPTlRST0xfU0VUVElOR19JTkRFWDMsCisgICBDMktfQU5UX1RVTkVSX0NPTlRST0xfU0VUVElOR19JTkRFWDQsCisgICBDMktfQU5UX1RVTkVSX0NPTlRST0xfU0VUVElOR19JTkRFWDUsCisgICBDMktfQU5UX1RVTkVSX0NPTlRST0xfU0VUVElOR19JTkRFWDYsCisgICBDMktfQU5UX1RVTkVSX0NPTlRST0xfU0VUVElOR19JTkRFWDcsCisgICBDMktfQU5UX1RVTkVSX0NPTlRST0xfU0VUVElOR19JTkRFWDgsCisgICBDMktfQU5UX1RVTkVSX0NPTlRST0xfU0VUVElOR19JTkRFWDksCisgICBDMktfQU5UX1RVTkVSX0NPTlRST0xfU0VUVElOR19JTkRFWDEwLAorICAgQzJLX0FOVF9UVU5FUl9DT05UUk9MX1NFVFRJTkdfSU5ERVgxMSwKKyAgIEMyS19BTlRfVFVORVJfQ09OVFJPTF9TRVRUSU5HX0lOREVYMTIsCisgICBDMktfQU5UX1RVTkVSX0NPTlRST0xfU0VUVElOR19JTkRFWDEzLAorICAgQzJLX0FOVF9UVU5FUl9DT05UUk9MX1NFVFRJTkdfSU5ERVgxNCwKKyAgIEMyS19BTlRfVFVORVJfQ09OVFJPTF9TRVRUSU5HX0lOREVYMTUsCisgICBDMktfQU5UX1RVTkVSX0NPTlRST0xfU0VUVElOR19JTkRFWDE2LAorICAgQzJLX0FOVF9UVU5FUl9DT05UUk9MX1NFVFRJTkdfSU5ERVgxNywKKyAgIEMyS19BTlRfVFVORVJfQ09OVFJPTF9TRVRUSU5HX0lOREVYMTgsCisgICBDMktfQU5UX1RVTkVSX0NPTlRST0xfU0VUVElOR19JTkRFWDE5LAorICAgQzJLX0FOVF9UVU5FUl9DT05UUk9MX1NFVFRJTkdfSU5ERVgyMCwKKyAgIEMyS19BTlRfVFVORVJfQ09OVFJPTF9TRVRUSU5HX0lOREVYMjEsCisgICBDMktfQU5UX1RVTkVSX0NPTlRST0xfU0VUVElOR19JTkRFWDIyLAorICAgQzJLX0FOVF9UVU5FUl9DT05UUk9MX1NFVFRJTkdfSU5ERVgyMywKKyAgIEMyS19BTlRfVFVORVJfQ09OVFJPTF9TRVRUSU5HX0lOREVYMjQsCisgICBDMktfQU5UX1RVTkVSX0NPTlRST0xfU0VUVElOR19JTkRFWDI1LAorICAgQzJLX0FOVF9UVU5FUl9DT05UUk9MX1NFVFRJTkdfSU5ERVgyNiwKKyAgIEMyS19BTlRfVFVORVJfQ09OVFJPTF9TRVRUSU5HX0lOREVYMjcsCisgICBDMktfQU5UX1RVTkVSX0NPTlRST0xfU0VUVElOR19JTkRFWDI4LAorICAgQzJLX0FOVF9UVU5FUl9DT05UUk9MX1NFVFRJTkdfSU5ERVgyOSwKKyAgIEMyS19BTlRfVFVORVJfQ09OVFJPTF9TRVRUSU5HX0lOREVYMzAsCisgICBDMktfQU5UX1RVTkVSX0NPTlRST0xfU0VUVElOR19JTkRFWDMxLAorICAgQzJLX0FOVF9UVU5FUl9DT05UUk9MX1NFVFRJTkdfSU5ERVgzMiwKKyAgIEMyS19BTlRfVFVORVJfQ09OVFJPTF9TRVRUSU5HX0lOREVYMzMsCisgICBDMktfQU5UX1RVTkVSX0NPTlRST0xfU0VUVElOR19JTkRFWDM0LCAgIAorICAgQzJLX0FOVF9UVU5FUl9DT05UUk9MX1NFVFRJTkdfSU5ERVhfTUFYLAorICAgQzJLX0FOVF9UVU5FUl9DT05UUk9MX1NFVFRJTkdfTlVMTCA9IEMyS19BTlRfSU5WQUxJRF9QQVRURVJOCit9QzJLX0NVU1RPTV9BTlRfVFVORVJfQ09ORklHX1NFVFRJTkdfSU5ERVhfRTsKKwordHlwZWRlZiBlbnVtCit7CisgICBDMktfQU5UX0ZFX1NXSVRDSF9JTkRFWCwKKyAgIEMyS19BTlRfRkVfVFVORVJfSU5ERVgsCisgICBDMktfQU5UX0ZFX0NBVF9OVU0gICAgCit9QzJLX0FOVF9GRV9DQVRFR09SWV9FOworCit0eXBlZGVmIGVudW17CisgICAgQzJLX1RBU19WRVJfMV8wID0gMCwKKyAgICBDMktfVEFTX1ZFUl8xXzUgPSAxLAorICAgIEMyS19UQVNfVkVSXzJfMCA9IDIsCisgICAgQzJLX01BWF9UQVNfVkVSX05VTQorfUMyS19DVVNUT01fVEFTX1ZFUl9FOworCit0eXBlZGVmIGVudW17CisgICBDTDFEX05PUk1BTF9NT0RFID0gMCwKKyAgIENMMURfTUVUQV9NT0RFICAgPSAxLAorICAgQ0wxRF9CT09UX01PREVfQ0FUX05VTQorfUMyS19CT09UX01PREVfVFlQRV9FOworCit0eXBlZGVmIHN0cnVjdHsKKyAgIGthbF9ib29sIEFUX1RBU19TV0lUQ0hfRmxhZzsKK31DTDFEX1JGX1RBU19BVF9DTURfVDsKKworI2VuZGlmCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9yZmQvY2wxZF9tbXJmX3NoYXJlX2RhdGEuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL3JmZC9jbDFkX21tcmZfc2hhcmVfZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM2YjhiYmMKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9yZmQvY2wxZF9tbXJmX3NoYXJlX2RhdGEuaApAQCAtMCwwICsxLDczIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9DTDFEX01NUkZfU0hBUkVfREFUQV9IXworI2RlZmluZSBfQ0wxRF9NTVJGX1NIQVJFX0RBVEFfSF8KKworI3VuZGVmIE5WUkFNX0lURU1fUkZfQ1VTVAorI3VuZGVmIE5WUkFNX0lURU1fTUlQSQorI3VuZGVmIE5WUkFNX0lURU1fUkZfQ0FMCisjdW5kZWYgTlZSQU1fSVRFTV9SRl9QT0MKKyN1bmRlZiBOVlJBTV9JVEVNX1JGX1RBU19WQVIKKyN1bmRlZiBOVlJBTV9JVEVNX1JGX1RBU19BUlJBWQorI3VuZGVmIE5WUkFNX0lURU1fRUxOQV9WQVIKKyN1bmRlZiBOVlJBTV9JVEVNX1RYX1BPV0VSX1ZBUgorI3VuZGVmIE5WUkFNX0lURU1fUkZfVEFTX1RTVAorI2RlZmluZSBOVlJBTV9JVEVNX1JGX0NVU1QobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgIE1NUkZfQ1VTVE9NX0RFQ0xBUkVfU0hBUkVEX0FSUkFZKENMMURfUkZfIyN0WVBFLCBDTDFEX1JGXyMjbkFNRSMjXyMjYUZGSVgjI19TSE0sICh0WVBFblVNKSkKKyNkZWZpbmUgTlZSQU1fSVRFTV9NSVBJKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpIFwKKyAgICBNTVJGX0NVU1RPTV9ERUNMQVJFX1NIQVJFRF9BUlJBWShDTDFEX1JGXyMjdFlQRSwgQ0wxRF9SRl8jI25BTUUjI18jI2FGRklYIyNfU0hNLCAodFlQRW5VTSkpCisjZGVmaW5lIE5WUkFNX0lURU1fUkZfQ0FMKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpIFwKKyAgICBNTVJGX0NVU1RPTV9ERUNMQVJFX1NIQVJFRF9BUlJBWShDTDFEX1JGXyMjdFlQRSwgQ0wxRF9SRl8jI25BTUUjI18jI2FGRklYIyNfU0hNLCAodFlQRW5VTSkpCisjZGVmaW5lIE5WUkFNX0lURU1fUkZfUE9DKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpIFwKKyAgICBNTVJGX0NVU1RPTV9ERUNMQVJFX1NIQVJFRF9BUlJBWShDTDFEX1JGXyMjdFlQRSwgQ0wxRF9SRl8jI25BTUUjI18jI2FGRklYIyNfU0hNLCAodFlQRW5VTSkpCisvKioqIFRBUyAqKiovCisjZGVmaW5lIE5WUkFNX0lURU1fUkZfVEFTX1ZBUihuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisgICAgTU1SRl9DVVNUT01fREVDTEFSRV9TSEFSRURfQVJSQVkoQ0wxRF9SRl8jI3RZUEUsIENMMURfUkZfIyNuQU1FIyNfIyNhRkZJWCMjX1NITSwgKHRZUEVuVU0pKQorI2RlZmluZSBOVlJBTV9JVEVNX1JGX1RBU19BUlJBWShuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisgICAgTU1SRl9DVVNUT01fREVDTEFSRV9TSEFSRURfQVJSQVkoQ0wxRF9SRl8jI3RZUEUsIENMMURfUkZfIyNuQU1FIyNfIyNhRkZJWCMjX1NITSwgKHRZUEVuVU0pKQorLypFTE5BKi8KKyNkZWZpbmUgTlZSQU1fSVRFTV9FTE5BX1ZBUihuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisgICAgTU1SRl9DVVNUT01fREVDTEFSRV9TSEFSRURfQVJSQVkoQ0wxRF9SRl8jI3RZUEUsIENMMURfUkZfIyNuQU1FIyNfIyNhRkZJWCMjX1NITSwgKHRZUEVuVU0pKQorLypUWCBQT1dFUiovCisjZGVmaW5lIE5WUkFNX0lURU1fVFhfUE9XRVJfVkFSKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpIFwKKwkJTU1SRl9DVVNUT01fREVDTEFSRV9TSEFSRURfQVJSQVkoQ0wxRF9SRl8jI3RZUEUsIENMMURfUkZfIyNuQU1FIyNfIyNhRkZJWCMjX1NITSwgKHRZUEVuVU0pKQorLypUQVMgVFNUICovCisjZGVmaW5lIE5WUkFNX0lURU1fUkZfVEFTX1RTVChuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisJCU1NUkZfQ1VTVE9NX0RFQ0xBUkVfU0hBUkVEX0FSUkFZKENMMURfUkZfIyN0WVBFLCBDTDFEX1JGXyMjbkFNRSMjXyMjYUZGSVgjI19TSE0sICh0WVBFblVNKSkKKyNpbmNsdWRlICJjbDFfbnZyYW1faWQuaCIKKworI2VuZGlmCisKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL3JmZC9jbDFkX3JmX2NpZC5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvcmZkL2NsMWRfcmZfY2lkLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzZhNTdjZQotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL3JmZC9jbDFkX3JmX2NpZC5oCkBAIC0wLDAgKzEsMTMxIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICogY2wxZF9yZl9jaWQuaAorICoKKyAqIFByb2plY3Q6CisgKiAtLS0tLS0tLQorICogICA5M20KKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqIC0tLS0tLS0tLS0tLQorICogICAgVGhpcyBmaWxlIGNvbnRhaW5zIGMyayBSRiByZWxhdGVkIGNvbXBpbGUgb3B0aW9uIGlkLgorICoKKyAqIEF1dGhvcjoKKyAqIC0tLS0tLS0KKyAqIAorICoKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCisKKworI2lmbmRlZiBfX0NMMURfUkZfQ0lEX0hfXworI2RlZmluZSBfX0NMMURfUkZfQ0lEX0hfXworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBJbmNsdWRlIAorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyouLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiovCisvKi4uLi4uLi4uLi4uLkNoaXAgSUQgZGVmaW5pdGlvbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uKi8KKy8qLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4qLworCisjZGVmaW5lIENMMURfUkZfSURfTVQ2MTc3TSAgICAweDAwMDAwMDAxCisjZGVmaW5lIENMMURfUkZfSURfTVQ2MTc5ICAgICAweDAwMDAwMDAyCisjZGVmaW5lIENMMURfUkZfSURfTVQ2MTc3TCAgICAweDAwMDAwMDA0CisjZGVmaW5lIENMMURfUkZfSURfVFJJTklUWV9FMSAweDAwMDAwMDA4CisjZGVmaW5lIENMMURfUkZfSURfTVQ2MTg1TSAgICAweDAwMDAwMDEwCisjZGVmaW5lIENMMURfUkZfSURfTVQ2MTg2CSAgMHgwMDAwMDAyMAorI2RlZmluZSBDTDFEX1JGX0lEX01UNjE4Nk0gICAgMHgwMDAwMDA0MAorI2RlZmluZSBDTDFEX1JGX0lEX01UNjE5MFQgICAgMHgwMDAwMDA4MAorI2RlZmluZSBDTDFEX1JGX0lEX0NPTFVNQlVTRTIgMHgwMDAwMDEwMAorI2RlZmluZSBDTDFEX1JGX0lEX01UNjE5ME0gICAgMHgwMDAwMDIwMAorCisjaWZuZGVmIENMMURfUkZfSUQKKyAgICNpZiBkZWZpbmVkKE1UNjE3N01fQzJLX1JGKQorI2RlZmluZSBDTDFEX1JGX0lEICAgICAgICAgIENMMURfUkZfSURfTVQ2MTc3TQorICAgI2VsaWYgZGVmaW5lZChNVDYxNzdMX0MyS19SRikKKyNkZWZpbmUgQ0wxRF9SRl9JRCAgICAgICAgICBDTDFEX1JGX0lEX01UNjE3N0wKKyAgICNlbGlmIGRlZmluZWQoVFJJTklUWUUxX0MyS19SRikvLyB8fCBkZWZpbmVkKE1UNjE5MFRfQzJLX1JGKQorI2RlZmluZSBDTDFEX1JGX0lEICAgICAgICAgIENMMURfUkZfSURfVFJJTklUWV9FMQorICAgI2VsaWYgZGVmaW5lZChUUklOSVRZTF9DMktfUkYpIHx8IGRlZmluZWQoTVQ2MTg1TV9DMktfUkYpCisjZGVmaW5lIENMMURfUkZfSUQgICAgICAgICAgQ0wxRF9SRl9JRF9NVDYxODVNCisgICAjZWxpZiBkZWZpbmVkKE1UNjE4Nl9DMktfUkYpCisjZGVmaW5lIENMMURfUkZfSUQJCQlDTDFEX1JGX0lEX01UNjE4NgorICAgI2VsaWYgZGVmaW5lZChNVDYxODZNX0MyS19SRikKKyNkZWZpbmUgQ0wxRF9SRl9JRAkJCUNMMURfUkZfSURfTVQ2MTg2TQorICAgI2VsaWYgZGVmaW5lZChNVDYxOTBUX0MyS19SRikKKyNkZWZpbmUgQ0wxRF9SRl9JRCAgICAgICAgICBDTDFEX1JGX0lEX01UNjE5MFQKKyAgICNlbGlmIGRlZmluZWQoQ09MVU1CVVNFMl9DMktfUkYpIHx8IGRlZmluZWQoTVQ2MTkwX0MyS19SRikKKyNkZWZpbmUgQ0wxRF9SRl9JRCAgICAgICAgICBDTDFEX1JGX0lEX0NPTFVNQlVTRTIKKyAgICNlbGlmIGRlZmluZWQoTVQ2MTkwTV9DMktfUkYpCisjZGVmaW5lIENMMURfUkZfSUQgICAgICAgICAgQ0wxRF9SRl9JRF9NVDYxOTBNCisgICAjZWxzZQorI2Vycm9yICJObyBWYWxpZCBSRiBDaGlwIHdhcyBkZWZpbmVkIgorICAgI2VuZGlmCisjZWxzZQorI2Vycm9yICJVbmV4cGVjdGVkIFJGIENoaXAgd2FzIGRlZmluZWQiCisjZW5kaWYKKworI2RlZmluZSBJU19DTDFEX1JGX01UNjE3N00gICAgICAoQ0wxRF9SRl9JRCA9PSBDTDFEX1JGX0lEX01UNjE3N00pCisjZGVmaW5lIElTX0NMMURfUkZfTVQ2MTc3TCAgICAgIChDTDFEX1JGX0lEID09IENMMURfUkZfSURfTVQ2MTc3TCkKKyNkZWZpbmUgSVNfQ0wxRF9SRl9UUklOSVRZRTEgICAgKENMMURfUkZfSUQgPT0gQ0wxRF9SRl9JRF9UUklOSVRZX0UxKQorI2RlZmluZSBJU19DTDFEX1JGX1RSSU5JVFlMICAgICAoQ0wxRF9SRl9JRCA9PSBDTDFEX1JGX0lEX01UNjE4NU0pCisjZGVmaW5lIElTX0NMMURfUkZfVFJJTklUWUxFMiAgIChDTDFEX1JGX0lEID09IENMMURfUkZfSURfTVQ2MTg2KQorI2RlZmluZSBJU19DTDFEX1JGX1RSSU5JVFkyTCAgICAoQ0wxRF9SRl9JRCA9PSBDTDFEX1JGX0lEX01UNjE4Nk0pCisjZGVmaW5lIElTX0NMMURfUkZfQ09MVU1CVVNFMSAgIChDTDFEX1JGX0lEID09IENMMURfUkZfSURfTVQ2MTkwVCkKKyNkZWZpbmUgSVNfQ0wxRF9SRl9DT0xVTUJVU0UyICAgKENMMURfUkZfSUQgPT0gQ0wxRF9SRl9JRF9DT0xVTUJVU0UyKQorI2RlZmluZSBJU19DTDFEX1JGX01UNjE5ME0gICAgICAoQ0wxRF9SRl9JRCA9PSBDTDFEX1JGX0lEX01UNjE5ME0pICAgLy9DT0xVTUJVU0wgT1BUSU9OCisjZGVmaW5lIElTX0MyS19EUkRJX1NVUFBPUlQgICAgICAgICAgICAgICAgICAgZGVmaW5lZChfX1JGX0RSRElfQ0FQQUJJTElUWV9TVVBQT1JUX18pCisKKy8qUlhEQyBHeEUgRGltZW5zaW9uIChGb3IgTGFmaXRlKGFuZCBsYXRlcikgKyBUcmludHktTCBFMiAmIFRyaW5pdHktMkwsIHVwZGF0ZWQgMjAxODA5MTMpKi8KKyNpZiBkZWZpbmVkKF9fTUQ5NV9fKQorCisjaWYgZGVmaW5lZChNVDM5NjcpfHxkZWZpbmVkKE1UNjI5NU0pCisjZGVmaW5lIElTX0NMMURfUlhEQ19HWEVfU1VQUE9SVCAgKDApCisjZWxzZQorI2lmIElTX0NMMURfUkZfVFJJTklUWUUxIHx8IElTX0NMMURfUkZfVFJJTklUWUwKKyNkZWZpbmUgSVNfQ0wxRF9SWERDX0dYRV9TVVBQT1JUICAoMCkKKyNlbHNlCisjZGVmaW5lIElTX0NMMURfUlhEQ19HWEVfU1VQUE9SVCAgKDEpCisjZW5kaWYKKyNlbmRpZi8qTVQzOTY3IG9yIE1UNjI5NU0qLworCisjZW5kaWYvKl9fTUQ5NV9fKi8KKworCisjZW5kaWYgLyogX19DTDFEX1JGX0NJRF9IX18gKi8KZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL3JmZC9jbDFkX3JmX2NvbW1vbl9kZWZzLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9yZmQvY2wxZF9yZl9jb21tb25fZGVmcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmMTBlODEKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9yZmQvY2wxZF9yZl9jb21tb25fZGVmcy5oCkBAIC0wLDAgKzEsMzM4IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZpbGVuYW1lOgorICogLS0tLS0tLS0tCisgKiBjbDFkX3JmX2NvbW1vbl9kZWZzLmgKKyAqCisgKiBQcm9qZWN0OgorICogLS0tLS0tLS0KKyAqIEMySworICoKKyAqIERlc2NyaXB0aW9uOgorICogLS0tLS0tLS0tLS0tCisgKiBUaGlzIGZpbGUgY29udGFpbmluZyBjb21tb24gZGVmaW5pdGlvbiBmb3IgUkYgZHJpdmVyIGludGVyZmFjZS4KKyAqCisgKiBBdXRob3I6CisgKiAtLS0tLS0tCisgKiAKKyAqCisgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICogICAgICAgICAgICAgSElTVE9SWQorICogQmVsb3cgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKgorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBVcHBlciB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9DTDFEX1JGX0NPTU1PTl9ERUZTX0hfCisjZGVmaW5lIF9DTDFEX1JGX0NPTU1PTl9ERUZTX0hfCisKKyNpbmNsdWRlICJrYWxfZ2VuZXJhbF90eXBlcy5oIgorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgR2xvYmFsIERlZmluZXMgQW5kIE1hY3JvcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisjaWZuZGVmIFRSVUUKKyNkZWZpbmUgVFJVRSAgICAgKDEpCisjZW5kaWYKKworI2lmbmRlZiBGQUxTRQorI2RlZmluZSBGQUxTRSAgICAoMCkKKyNlbmRpZgorCisKKyNpZm5kZWYgTlVMTAorI2RlZmluZSBOVUxMICgodm9pZCogKTApCisjZW5kaWYKKworLyoqIFBBIG1vZGUgZW51bWVyYXRpb24gKi8KK3R5cGVkZWYgZW51bQoreworICAgQ0wxRF9SRl9QQV9NT0RFX0hJR0ggPSAwLAorICAgQ0wxRF9SRl9QQV9NT0RFX01JRCAgPSAxLAorICAgQ0wxRF9SRl9QQV9NT0RFX0xPVyAgPSAyLAorICAgQ0wxRF9SRl9QQV9NT0RFX05VTSAgPSAzLAorfUNMMURfUkZfUEFfTU9ERV9FOworCisKKy8qKiBMTkEgbW9kZSBlbnVtZXJhdGlvbiAqLwordHlwZWRlZiBlbnVtCit7CisgICBDTDFEX1JGX0xOQV9NT0RFMCA9IDAsIC8qKj4gTE5BIGhpZ2hlc3QgbW9kZSovCisgICBDTDFEX1JGX0xOQV9NT0RFMSA9IDEsCisgICBDTDFEX1JGX0xOQV9NT0RFMiA9IDIsCisgICBDTDFEX1JGX0xOQV9NT0RFMyA9IDMsCisgICBDTDFEX1JGX0xOQV9NT0RFNCA9IDQsCisgICBDTDFEX1JGX0xOQV9NT0RFNSA9IDUsCisgICBDTDFEX1JGX0xOQV9NT0RFNiA9IDYsCisgICBDTDFEX1JGX0xOQV9NT0RFNyA9IDcsCisgICBDTDFEX1JGX0xOQV9NT0RFX05VTSA9IDgsCit9Q0wxRF9SRl9MTkFfTU9ERV9FOworCisvKiogUEdBIGluZGV4IGVudW1lcmF0aW9uICovCit0eXBlZGVmIGVudW0KK3sKKyAgIENMMURfUkZfUEdBX0lOREVYMCA9IDAsIC8qKj4gUEdBIGhpZ2hlc3QgaW5kZXgqLworICAgQ0wxRF9SRl9QR0FfSU5ERVgxID0gMSwKKyAgIENMMURfUkZfUEdBX0lOREVYMiA9IDIsCisgICBDTDFEX1JGX1BHQV9JTkRFWDMgPSAzLAorICAgQ0wxRF9SRl9QR0FfSU5ERVg0ID0gNCwKKyAgIENMMURfUkZfUEdBX0lOREVYNSA9IDUsCisgICBDTDFEX1JGX1BHQV9JTkRFWDYgPSA2LCAvKiogb25seSBmb3IgVGllcjEgbW9kZSovCisgICBDTDFEX1JGX1BHQV9JTkRFWDcgPSA3LCAvKiogb25seSBmb3IgVGllcjEgbW9kZSovCisgICBDTDFEX1JGX1BHQV9JTkRFWF9OVU0gPSA4LAorfUNMMURfUkZfUEdBX0lOREVYX0U7CisKKy8qIC0tLS0tLS0tLS0tLS0tLSBFTFQgTE9HR0lORyAtLS0tLS0tLS0tLS0tLS0tLS0qLworLyogRm9yIFJYREZFIGxvZ2dpbmcgKi8KK3R5cGVkZWYgZW51bQoreworICAgIFJGX1RTVF9SWERGRV9GQ19UUSA9IDAsCisgICAgUkZfVFNUX1JYREZFX0ZDX0lNTSwKKyAgICBSRl9UU1RfUlhERkVfRkNfQUNULAorICAgIFJGX1RTVF9SWERGRV9GQ19XQlVGLAorICAgIFJGX1RTVF9SWERGRV9GQ19DQUxUQywKKworICAgIFJGX1RTVF9SWERGRV9TVElNRSwKKyAgICBSRl9UU1RfUlhERkVfQVRJTUUsCisgICAgCisgICAgUkZfVFNUX1JYREZFX0ZDX05VTQorfSBDTDFfUkZfVFNUX1JYREZFX1JHX1RZUEVfRTsKKwordHlwZWRlZiBlbnVtCit7CisgICAgUkZfVFNUX1RYREZFX0RCR19SRUcgPSAwLAorICAgIFJGX1RTVF9UWERGRV9DT01QX0RDX0ZJLAorICAgIFJGX1RTVF9UWERGRV9DT01QX0FTWU1NLAorICAgIFJGX1RTVF9UWERGRV9DT01QX0ZEQUQsCisgICAgUkZfVFNUX1RYREZFX0FNX1BNX0xVVCwKKyAgICBSRl9UU1RfVFhERkVfVFBDX0NPTU4sCisKKyAgICBSRl9UU1RfVFhERkVfU1RJTUUsCisKKyAgICBSRl9UU1RfVFhERkVfRkNfTlVNCit9IENMMV9SRl9UU1RfVFhERkVfUkdfVFlQRV9FOworCit0eXBlZGVmIGVudW0KK3sKKyAgICBSRl9UU1RfVFhLREZFX0RCR19SRUcgPSAwLAorICAgIFJGX1RTVF9UWEtERkVfUkVGX0RCRywKKyAgICBSRl9UU1RfVFhLREZFX0RFVF9EQkcsCisKKyAgICBSRl9UU1RfVFhLREZFX0ZDX05VTQorfSBDTDFfUkZfVFNUX1RYS0RGRV9SR19UWVBFX0U7CisvKiAtLS0tLS0tLS0tLS0tLS0gRUxUIExPR0dJTkcgLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworCisvKiogQzJLIFJGIGZyZXF1ZW5jeSBiYW5kIHR5cGUgZW51bWVyYXRpb24gKi8KK3R5cGVkZWYgZW51bQoreworICAgIENMMURfUkZfRlJFUV9MT1dfQkFORCAgPSAwLAorICAgIENMMURfUkZfRlJFUV9ISUdIX0JBTkQgPSAxLAorICAgIENMMURfUkZfRlJFUV9CQU5EX05VTSAgPSAyCit9Q0wxRF9SRl9GUkVRX0JBTkRfRTsKKwordHlwZWRlZiBlbnVtCit7CisgICAgUkZfQmFuZF9BPTAsCisgICAgUkZfQmFuZF9CLAorICAgIFJGX0JhbmRfQywKKyAgICBSRl9CYW5kX0QsCisgICAgUkZfQmFuZF9FLAorICAgIFJGX0JhbmRfTlVNX01BWCwKKyAgICBSRl9CYW5kX0VSUgorfUNMMURfUkZfQkFORF9FOworCit0eXBlZGVmIGVudW0gCit7CisvLy9UT0RPOiBuZWVkIHRvIGJlIGNvbmZpcm1lZCAhCisgICAgUkZfUkFUXzFYUlRUPTAsCisgICAgUkZfUkFUX0VWRE8sCisgICAgUkZfUkFUX05VTSwKKyAgICBSRl9SQVRfSU5WQUxJRAorfUNMMURfUkZfUkFUX0U7CisKKy8qIGRlZmluZSBDZG1hIEJhbmQgdHlwZSAqLwordHlwZWRlZiBlbnVtCit7CisgIENMMURfUkZfQkFORF9DTEFTU18wID0gMCwgICAvKiA4MDAgTUh6IGNlbGx1bGFyIGJhbmQgICAgICAgKi8KKyAgQ0wxRF9SRl9CQU5EX0NMQVNTXzEsICAgICAgIC8qIDEuOCB0byAyLjAgR0h6IGJhbmQgICAgICovCisgIENMMURfUkZfQkFORF9DTEFTU18yLCAgICAgICAvKiA4NzIgdG8gOTYwIE1IeiBUQUNTIGJhbmQgICAgKi8KKyAgQ0wxRF9SRl9CQU5EX0NMQVNTXzMsICAgICAgIC8qIDgzMiB0byA5MjUgTUh6IEpUQUNTIGJhbmQgICAqLworICBDTDFEX1JGX0JBTkRfQ0xBU1NfNCwgICAgICAgLyogMS43NSB0byAxLjg3IEdIeiBLb3JlYW4gUENTICovCisgIENMMURfUkZfQkFORF9DTEFTU181LCAgICAgICAvKiA0NTAgTUh6IE5NVCBiYW5kICAgICAgICAgICAgKi8KKyAgQ0wxRF9SRl9CQU5EX0NMQVNTXzYsICAgICAgIC8qIDIgR0h6IElNVC0yMDAwIGJhbmQgICAgICAgICAqLworICBDTDFEX1JGX0JBTkRfQ0xBU1NfNywgICAgICAgLyogNzAwIE1IeiBiYW5kICAgICAgICAgICAgICAgICovCisgIENMMURfUkZfQkFORF9DTEFTU184LCAgICAgICAvKiAxODAwIE1IeiBiYW5kICAgICAgICAgICAgICAgKi8KKyAgQ0wxRF9SRl9CQU5EX0NMQVNTXzksICAgICAgIC8qIDkwMCBNSHogYmFuZCAgICAgICAgICAgICAgICAqLworICBDTDFEX1JGX0JBTkRfQ0xBU1NfMTAsICAgICAgLyogU2Vjb25kYXJ5IDgwMCBNSHogTk1UIGJhbmQgICovCisgIENMMURfUkZfQkFORF9DTEFTU18xMSwgICAgICAvKiA0MDAgTUh6IEV1cm9wZWFuIFBBUk0gYmFuZCAgKi8KKyAgQ0wxRF9SRl9CQU5EX0NMQVNTXzEyLCAgICAgIC8qIDgwMCBNSHogUEFNUiBiYW5kICAgICAgICAgICAqLworICBDTDFEX1JGX0JBTkRfQ0xBU1NfMTMsICAgICAgLyogMi41IEdIeiBJTVQtMjAwMCAgICAgICAgICAgICovCisgIENMMURfUkZfQkFORF9DTEFTU18xNCwgICAgICAvKiBVUyBQQ1MgMS45IEdIeiBiYW5kICAgICAgICAgKi8KKyAgQ0wxRF9SRl9CQU5EX0NMQVNTXzE1LCAgICAgIC8qIEFXUyBiYW5kICAgICAgICAgICAgICAgICAgICAqLworICBDTDFEX1JGX0JBTkRfQ0xBU1NfMTYsICAgICAgLyogVVMgMi41IEdIeiBiYW5kICAgICAgICAgICAgICovCisgIENMMURfUkZfQkFORF9DTEFTU18xNywgICAgICAvKiBVUyAyLjVHSHogRm9yd2FyZCBMaW5rIE9ubHkgQmFuZCAqLworICBDTDFEX1JGX0JBTkRfQ0xBU1NfMTgsICAgICAgLyogNzAwIE1IeiBQdWJsaWMgU2FmZXR5IEJhbmQgICovCisgIENMMURfUkZfQkFORF9DTEFTU18xOSwgICAgICAvKiBMb3dlciA3MDAgTUh6IEJhbmQgKi8KKyAgQ0wxRF9SRl9CQU5EX0NMQVNTXzIwLCAgICAgIC8qIEwtQmFuZCAqLworICBDTDFEX1JGX0JBTkRfQ0xBU1NfTUFYLAorICBDTDFEX1JGX0JBTkRfQ0xBU1NfTk9UX1VTRUQgPSBDTDFEX1JGX0JBTkRfQ0xBU1NfTUFYLAorICBDTDFEX1JGX0JBTkRfQ0xBU1NfVU5TVVBQT1JURUQgLyogTVVTVCBiZSBESUZGRVJFTlQgdGhhbiBDTDFEX1JGX0JBTkRfQ0xBU1NfTUFYIC8gQ0wxRF9SRl9CQU5EX0NMQVNTX05PVF9VU0VEICovCit9IENMMURfUkZfQkFORF9DTEFTU19UWVBFX0U7CisKKyNkZWZpbmUgQ0wxRF9SRl9TVUJfQ0xBU1NfTUFYICAxNgorCisjZGVmaW5lIENMMURfUkZfU1VCX0NMQVNTXzBfU1VQUE9SVEVEICAgIDB4ODAwMDAwMDAKKyNkZWZpbmUgQ0wxRF9SRl9TVUJfQ0xBU1NfMV9TVVBQT1JURUQgICAgKDE8PDMwKQorI2RlZmluZSBDTDFEX1JGX1NVQl9DTEFTU18yX1NVUFBPUlRFRCAgICAoMTw8MjkpCisjZGVmaW5lIENMMURfUkZfU1VCX0NMQVNTXzNfU1VQUE9SVEVEICAgICgxPDwyOCkKKyNkZWZpbmUgQ0wxRF9SRl9TVUJfQ0xBU1NfNF9TVVBQT1JURUQgICAgKDE8PDI3KQorI2RlZmluZSBDTDFEX1JGX1NVQl9DTEFTU181X1NVUFBPUlRFRCAgICAoMTw8MjYpCisjZGVmaW5lIENMMURfUkZfU1VCX0NMQVNTXzZfU1VQUE9SVEVEICAgICgxPDwyNSkKKyNkZWZpbmUgQ0wxRF9SRl9TVUJfQ0xBU1NfN19TVVBQT1JURUQgICAgKDE8PDI0KQorI2RlZmluZSBDTDFEX1JGX1NVQl9DTEFTU184X1NVUFBPUlRFRCAgICAoMTw8MjMpCisjZGVmaW5lIENMMURfUkZfU1VCX0NMQVNTXzlfU1VQUE9SVEVEICAgICgxPDwyMikKKyNkZWZpbmUgQ0wxRF9SRl9TVUJfQ0xBU1NfMTBfU1VQUE9SVEVEICAgKDE8PDIxKQorI2RlZmluZSBDTDFEX1JGX1NVQl9DTEFTU18xMV9TVVBQT1JURUQgICAoMTw8MjApCisjZGVmaW5lIENMMURfUkZfU1VCX0NMQVNTXzEyX1NVUFBPUlRFRCAgICgxPDwxOSkKKyNkZWZpbmUgQ0wxRF9SRl9TVUJfQ0xBU1NfMTNfU1VQUE9SVEVEICAgKDE8PDE4KQorI2RlZmluZSBDTDFEX1JGX1NVQl9DTEFTU18xNF9TVVBQT1JURUQgICAoMTw8MTcpCisjZGVmaW5lIENMMURfUkZfU1VCX0NMQVNTXzE1X1NVUFBPUlRFRCAgICgxPDwxNikKKworI2RlZmluZSBDTDFEX1JGX1NVQl9DTEFTU18wX1VOU1VQUE9SVEVEICAoMDw8MzEpCisjZGVmaW5lIENMMURfUkZfU1VCX0NMQVNTXzFfVU5TVVBQT1JURUQgICgwPDwzMCkKKyNkZWZpbmUgQ0wxRF9SRl9TVUJfQ0xBU1NfMl9VTlNVUFBPUlRFRCAgKDA8PDI5KQorI2RlZmluZSBDTDFEX1JGX1NVQl9DTEFTU18zX1VOU1VQUE9SVEVEICAoMDw8MjgpCisjZGVmaW5lIENMMURfUkZfU1VCX0NMQVNTXzRfVU5TVVBQT1JURUQgICgwPDwyNykKKyNkZWZpbmUgQ0wxRF9SRl9TVUJfQ0xBU1NfNV9VTlNVUFBPUlRFRCAgKDA8PDI2KQorI2RlZmluZSBDTDFEX1JGX1NVQl9DTEFTU182X1VOU1VQUE9SVEVEICAoMDw8MjUpCisjZGVmaW5lIENMMURfUkZfU1VCX0NMQVNTXzdfVU5TVVBQT1JURUQgICgwPDwyNCkKKyNkZWZpbmUgQ0wxRF9SRl9TVUJfQ0xBU1NfOF9VTlNVUFBPUlRFRCAgKDA8PDIzKQorI2RlZmluZSBDTDFEX1JGX1NVQl9DTEFTU185X1VOU1VQUE9SVEVEICAoMDw8MjIpCisjZGVmaW5lIENMMURfUkZfU1VCX0NMQVNTXzEwX1VOU1VQUE9SVEVEICgwPDwyMSkKKyNkZWZpbmUgQ0wxRF9SRl9TVUJfQ0xBU1NfMTFfVU5TVVBQT1JURUQgKDA8PDIwKQorI2RlZmluZSBDTDFEX1JGX1NVQl9DTEFTU18xMl9VTlNVUFBPUlRFRCAoMDw8MTkpCisjZGVmaW5lIENMMURfUkZfU1VCX0NMQVNTXzEzX1VOU1VQUE9SVEVEICgwPDwxOCkKKyNkZWZpbmUgQ0wxRF9SRl9TVUJfQ0xBU1NfMTRfVU5TVVBQT1JURUQgKDA8PDE3KQorI2RlZmluZSBDTDFEX1JGX1NVQl9DTEFTU18xNV9VTlNVUFBPUlRFRCAoMDw8MTYpCisKKyNkZWZpbmUgQ0wxRF9SRl9TVUJfQ0xBU1NfQUxMX1NVUFBPUlRFRCAgMHhmZmZmMDAwMAorI2RlZmluZSBDTDFEX1JGX1NVQl9DTEFTU19OT05FX1NVUFBPUlRFRCAweDAwMDAwMDAwCisKKyNpZm5kZWYgQklUMAorI2RlZmluZSBCSVQwICAgICAweDAxCisjZGVmaW5lIEJJVDEgICAgIDB4MDIKKyNkZWZpbmUgQklUMiAgICAgMHgwNAorI2RlZmluZSBCSVQzICAgICAweDA4CisjZGVmaW5lIEJJVDQgICAgIDB4MTAKKyNkZWZpbmUgQklUNSAgICAgMHgyMAorI2RlZmluZSBCSVQ2ICAgICAweDQwCisjZGVmaW5lIEJJVDcgICAgIDB4ODAKKyNkZWZpbmUgQklUOCAgICAgMHgxMDAKKyNkZWZpbmUgQklUOSAgICAgMHgyMDAKKyNkZWZpbmUgQklUMTAgICAgMHg0MDAKKyNkZWZpbmUgQklUMTEgICAgMHg4MDAKKyNkZWZpbmUgQklUMTIgICAgMHgxMDAwCisjZGVmaW5lIEJJVDEzICAgIDB4MjAwMAorI2RlZmluZSBCSVQxNCAgICAweDQwMDAKKyNkZWZpbmUgQklUMTUgICAgMHg4MDAwCisjZGVmaW5lIEJJVDE2ICAgIDB4MTAwMDBVTAorI2RlZmluZSBCSVQxNyAgICAweDIwMDAwVUwKKyNkZWZpbmUgQklUMTggICAgMHg0MDAwMFVMCisjZGVmaW5lIEJJVDE5ICAgIDB4ODAwMDBVTAorI2RlZmluZSBCSVQyMCAgICAweDEwMDAwMFVMCisjZGVmaW5lIEJJVDIxICAgIDB4MjAwMDAwVUwKKyNkZWZpbmUgQklUMjIgICAgMHg0MDAwMDBVTAorI2RlZmluZSBCSVQyMyAgICAweDgwMDAwMFVMCisjZGVmaW5lIEJJVDI0ICAgIDB4MTAwMDAwMFVMCisjZGVmaW5lIEJJVDI1ICAgIDB4MjAwMDAwMFVMCisjZGVmaW5lIEJJVDI2ICAgIDB4NDAwMDAwMFVMCisjZGVmaW5lIEJJVDI3ICAgIDB4ODAwMDAwMFVMCisjZGVmaW5lIEJJVDI4ICAgIDB4MTAwMDAwMDBVTAorI2RlZmluZSBCSVQyOSAgICAweDIwMDAwMDAwVUwKKyNkZWZpbmUgQklUMzAgICAgMHg0MDAwMDAwMFVMCisjZGVmaW5lIEJJVDMxICAgIDB4ODAwMDAwMDBVTAorI2VuZGlmCisKKy8qIEhhbmR5IG1hY3JvcyAqLworI2lmbmRlZiBNQVgKKyNkZWZpbmUgTUFYKHgseSkgICgoICh4KSA+ICh5KSApID8gKHgpIDogKHkpKQorI2VuZGlmCisKKyNpZm5kZWYgTUlOCisjZGVmaW5lIE1JTih4LHkpICAoKCAoeCkgPCAoeSkgKSA/ICh4KSA6ICh5KSkKKyNlbmRpZgorCisjaWZuZGVmIE1fUTkKKyNkZWZpbmUgTV9ROSh2QUxVRSkgICAgICAgKChrYWxfaW50MzIpKCh2QUxVRSkgKiAoMSA8PCA5KSkpCisjZW5kaWYKKworI2lmbmRlZiBNX1E5VG9RMAorI2RlZmluZSBNX1E5VG9RMCh2QUxVRSkgICAoKHZBTFVFKSA+PiA5KQorI2VuZGlmCisKKy8qKiB1UyBhbmQgblMgdG8gQzJLIGNoaXBzOiAxIGMyayBjaGlwID0gMS8xLjIyOCB1UyAqLworI2lmbmRlZiBNX1VzVG9DaGlwcworI2RlZmluZSBNX1VzVG9DaGlwcyh1UykgICAgICAgICAgKCgodVMpICogMTIyOCArIDEwMDAgLSAxKSAvIDEwMDApCisjZW5kaWYKKworI2lmbmRlZiBNX05zVG9DaGlwcworI2RlZmluZSBNX05zVG9DaGlwcyhuUykgICAgICAgICAgKCgoblMpICogMTIyOCAqIDEwMDAgKyAxMDAwICogMTAwMCAtIDEpIC8gMTAwMCAqIDEwMDApCisjZW5kaWYKKworI2lmbmRlZiBNX0NoaXBzVG9VcworI2RlZmluZSBNX0NoaXBzVG9VcyhjSElQUykgICAgICAgKCgoY0hJUFMpICogMTAwMCArIDEyMjggLSAxKSAvIDEyMjgpCisjZW5kaWYKKworI2lmbmRlZiBNX1VzVG9DaGlwczh4CisjZGVmaW5lIE1fVXNUb0NoaXBzOHgodVMpICAgICAgICAoKCh1UykgKiAxMjI4KSo4IC8gMTAwMCkKKyNlbmRpZgorCisKKy8qIEludGVybmFsIG9wdGlvbnMgKi8KKyNpZm5kZWYgTDFfU0lNCisjZGVmaW5lIF9fQ0wxX1JGX0lUX09OX1RBUkdFVF9fIAkxCisjZWxzZQorI3VuZGVmIF9fQ0wxX1JGX0lUX09OX1RBUkdFVF9fCisjZW5kaWYKKworI2VuZGlmCisKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL3JmZC9jbDFkX3JmX3B1YmxpYy5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvcmZkL2NsMWRfcmZfcHVibGljLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzk4OGQxYgotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL3JmZC9jbDFkX3JmX3B1YmxpYy5oCkBAIC0wLDAgKzEsMTk3NiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGaWxlbmFtZToKKyAqIC0tLS0tLS0tLQorICogY2wxZF9yZl9wdWJsaWMuaAorICoKKyAqIFByb2plY3Q6CisgKiAtLS0tLS0tLQorICogQzJLCisgKgorICogRGVzY3JpcHRpb246CisgKiAtLS0tLS0tLS0tLS0KKyAqIEhlYWRlciBmaWxlIGNvbnRhaW5pbmcgdHlwZWRlZnMgYW5kIGRlZmluaXRpb25zIHBlcnRhaW5pbmcKKyAqIHRvIEMySyBSRiBkcml2ZXIgZXh0ZXJuYWwgaW50ZXJmYWNlLgorICoKKyAqIEF1dGhvcjoKKyAqIC0tLS0tLS0KKyAqCisgKgorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqICAgICAgICAgICAgIEhJU1RPUlkKKyAqIEJlbG93IHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICoKKyAqCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogVXBwZXIgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiAgX0NMMURfUkZfUFVCTElDX0hfCisjZGVmaW5lICBfQ0wxRF9SRl9QVUJMSUNfSF8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEluY2x1ZGUgRmlsZXMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjaW5jbHVkZSAic3lzZGVmcy5oIgorI2luY2x1ZGUgImthbF9nZW5lcmFsX3R5cGVzLmgiCisjaW5jbHVkZSAiY2wxX3JmX3BvY19wdWJsaWMuaCIKKyNpbmNsdWRlICJjbDFkX3JmX2NvbW1vbl9kZWZzLmgiCisjaW5jbHVkZSAiY2wxX3JmX3Rhc19wdWJsaWMuaCIKKyNpbmNsdWRlICJjbDFfcmZfZWxuYV9wdWJsaWMuaCIKKyNpbmNsdWRlICJjbDFfcmZfcHVibGljLmgiCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEdsb2JhbCBEZWZpbmVzIEFuZCBNYWNyb3MKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworI2RlZmluZSBDTDFEX1JGX1NVQl9DTEFTU19NQVggIDE2CisKKyNkZWZpbmUgQ0wxRF9SRl9TVUJfQ0xBU1NfMF9TVVBQT1JURUQgICAgMHg4MDAwMDAwMAorI2RlZmluZSBDTDFEX1JGX1NVQl9DTEFTU18xX1NVUFBPUlRFRCAgICAoMTw8MzApCisjZGVmaW5lIENMMURfUkZfU1VCX0NMQVNTXzJfU1VQUE9SVEVEICAgICgxPDwyOSkKKyNkZWZpbmUgQ0wxRF9SRl9TVUJfQ0xBU1NfM19TVVBQT1JURUQgICAgKDE8PDI4KQorI2RlZmluZSBDTDFEX1JGX1NVQl9DTEFTU180X1NVUFBPUlRFRCAgICAoMTw8MjcpCisjZGVmaW5lIENMMURfUkZfU1VCX0NMQVNTXzVfU1VQUE9SVEVEICAgICgxPDwyNikKKyNkZWZpbmUgQ0wxRF9SRl9TVUJfQ0xBU1NfNl9TVVBQT1JURUQgICAgKDE8PDI1KQorI2RlZmluZSBDTDFEX1JGX1NVQl9DTEFTU183X1NVUFBPUlRFRCAgICAoMTw8MjQpCisjZGVmaW5lIENMMURfUkZfU1VCX0NMQVNTXzhfU1VQUE9SVEVEICAgICgxPDwyMykKKyNkZWZpbmUgQ0wxRF9SRl9TVUJfQ0xBU1NfOV9TVVBQT1JURUQgICAgKDE8PDIyKQorI2RlZmluZSBDTDFEX1JGX1NVQl9DTEFTU18xMF9TVVBQT1JURUQgICAoMTw8MjEpCisjZGVmaW5lIENMMURfUkZfU1VCX0NMQVNTXzExX1NVUFBPUlRFRCAgICgxPDwyMCkKKyNkZWZpbmUgQ0wxRF9SRl9TVUJfQ0xBU1NfMTJfU1VQUE9SVEVEICAgKDE8PDE5KQorI2RlZmluZSBDTDFEX1JGX1NVQl9DTEFTU18xM19TVVBQT1JURUQgICAoMTw8MTgpCisjZGVmaW5lIENMMURfUkZfU1VCX0NMQVNTXzE0X1NVUFBPUlRFRCAgICgxPDwxNykKKyNkZWZpbmUgQ0wxRF9SRl9TVUJfQ0xBU1NfMTVfU1VQUE9SVEVEICAgKDE8PDE2KQorCisjZGVmaW5lIENMMURfUkZfU1VCX0NMQVNTXzBfVU5TVVBQT1JURUQgICgwPDwzMSkKKyNkZWZpbmUgQ0wxRF9SRl9TVUJfQ0xBU1NfMV9VTlNVUFBPUlRFRCAgKDA8PDMwKQorI2RlZmluZSBDTDFEX1JGX1NVQl9DTEFTU18yX1VOU1VQUE9SVEVEICAoMDw8MjkpCisjZGVmaW5lIENMMURfUkZfU1VCX0NMQVNTXzNfVU5TVVBQT1JURUQgICgwPDwyOCkKKyNkZWZpbmUgQ0wxRF9SRl9TVUJfQ0xBU1NfNF9VTlNVUFBPUlRFRCAgKDA8PDI3KQorI2RlZmluZSBDTDFEX1JGX1NVQl9DTEFTU181X1VOU1VQUE9SVEVEICAoMDw8MjYpCisjZGVmaW5lIENMMURfUkZfU1VCX0NMQVNTXzZfVU5TVVBQT1JURUQgICgwPDwyNSkKKyNkZWZpbmUgQ0wxRF9SRl9TVUJfQ0xBU1NfN19VTlNVUFBPUlRFRCAgKDA8PDI0KQorI2RlZmluZSBDTDFEX1JGX1NVQl9DTEFTU184X1VOU1VQUE9SVEVEICAoMDw8MjMpCisjZGVmaW5lIENMMURfUkZfU1VCX0NMQVNTXzlfVU5TVVBQT1JURUQgICgwPDwyMikKKyNkZWZpbmUgQ0wxRF9SRl9TVUJfQ0xBU1NfMTBfVU5TVVBQT1JURUQgKDA8PDIxKQorI2RlZmluZSBDTDFEX1JGX1NVQl9DTEFTU18xMV9VTlNVUFBPUlRFRCAoMDw8MjApCisjZGVmaW5lIENMMURfUkZfU1VCX0NMQVNTXzEyX1VOU1VQUE9SVEVEICgwPDwxOSkKKyNkZWZpbmUgQ0wxRF9SRl9TVUJfQ0xBU1NfMTNfVU5TVVBQT1JURUQgKDA8PDE4KQorI2RlZmluZSBDTDFEX1JGX1NVQl9DTEFTU18xNF9VTlNVUFBPUlRFRCAoMDw8MTcpCisjZGVmaW5lIENMMURfUkZfU1VCX0NMQVNTXzE1X1VOU1VQUE9SVEVEICgwPDwxNikKKworI2RlZmluZSBDTDFEX1JGX1NVQl9DTEFTU19BTExfU1VQUE9SVEVEICAweGZmZmYwMDAwCisjZGVmaW5lIENMMURfUkZfU1VCX0NMQVNTX05PTkVfU1VQUE9SVEVEIDB4MDAwMDAwMDAKKworCisjZGVmaW5lIENMMURfUkZfUlhERkVfTkJJRl9OVU0gICAoMykKKworLyoqIFJGRCBOViBvcGVyYXRpb24gKi8KKyNkZWZpbmUgQ0wxRF9SRl9OVl9MT0NBTCAgICAgICAgKDEgPDwgMCkKKyNkZWZpbmUgQ0wxRF9SRl9OVl9OVlJBTSAgICAgICAgKDEgPDwgMSkKKyNkZWZpbmUgQ0wxRF9SRl9OVl9JTklUICAgICAgICAgKDEgPDwgMikKKy8qIFJldHVybiBzdGF0dXMgKi8KKyNkZWZpbmUgQ0wxRF9SRl9OVl9TVUNDRVNTICAgICAgKDApCisjZGVmaW5lIENMMURfUkZfTlZfRkFJTCAgICAgICAgICgtMSkKKworI2RlZmluZSBDTDFEX1JGX05VTV9SQU1QX0xFVkVMIDE2CisjZGVmaW5lIENMMURfUlhERkVfRFVNUF9FTkEgIDEKKworLyoqIEMySyB0ZXN0IG1vZGUgZW51bWVyYXRpb24gKi8KK3R5cGVkZWYgZW51bQoreworICBDTDFEX1JGX1JYX1RFU1RfTU9ERSA9IDAsCisgIENMMURfUkZfVFhfVEVTVF9NT0RFID0gMSwKKyAgQ0wxRF9SRl9NRVRBX01PREUgICAgPSAyLAorfUNMMURfUkZfVEVTVF9NT0RFX0U7CisKKworLyoqIEMySyB0ZW1wZXJhdHVyZSBlbnVtZXJhdGlvbiAqLwordHlwZWRlZiBlbnVtCit7CisgIENMMURfUkZfVE1QX1NUT1AgICA9IDAsCisgIENMMURfUkZfVE1QX1NUQVJUICA9IDEsCisgIENMMURfUkZfVE1QX0lNTSAgICA9IDIsCisgIENMMURfUkZfVE1QX01PREVfTlVNCit9Q0wxRF9SRl9UTVBfTU9ERV9FOworCisKKy8qKiBSRiBQYXRoIHR5cGUgZW51bWVyYXRpb24gKi8KK3R5cGVkZWYgZW51bQoreworICBDTDFEX1JGX01BSU5fUlggICAgICAgPSAwLAorICBDTDFEX1JGX0RJVl9SWCAgICAgICAgLAorICBDTDFEX1JGX1NFQ19SWCAgICAgICAgLAorICBDTDFEX1JGX01BWF9OVU1fT0ZfUlggLAorICBDTDFEX1JGX1RYICAgICAgICAgICAgPSBDTDFEX1JGX01BWF9OVU1fT0ZfUlgsCisgIENMMURfUkZfTUFYX05VTV9PRl9UWFJYLAorICBDTDFEX1JGX01BWF9OVU1fT0ZfVFggPUNMMURfUkZfTUFYX05VTV9PRl9UWFJYLUNMMURfUkZfTUFYX05VTV9PRl9SWCwKK31DTDFEX1JGX1BBVEhfRTsKKworLyoqIFJGIHBvd2VyIG1vZGUgZW51bWVyYXRpb24gKi8KK3R5cGVkZWYgZW51bQoreworICAgQ0wxRF9SRl9IUE0gICAgICAgICAgID0gMCwKKyAgIENMMURfUkZfTFBNICAgICAgICAgICA9IDEsCisgICBDTDFEX1JGX01BWF9OVU1fT0ZfUE0gPSAyLAorfUNMMURfUkZfUFdSX01PREVfRTsKKworLyoqIFJ4QUdDIGdhaW4gaGlzdG9yeSByZWNvcmQgaW5kZXggZW51bWVyYXRpb24gKi8KK3R5cGVkZWYgZW51bQoreworICAgQ0wxRF9SRl9SWEFHQ19ISVNUT1JZX1JFQ19JRFgwID0gMCwKKyAgIENMMURfUkZfUlhBR0NfSElTVE9SWV9SRUNfSURYMSwKKyAgIENMMURfUkZfUlhBR0NfSElTVE9SWV9SRUNfSURYMiwKKyAgIENMMURfUkZfUlhBR0NfSElTVE9SWV9SRUNfSURYMywKKyAgIENMMURfUkZfUlhBR0NfSElTVE9SWV9SRUNfSURYNCwKKyAgIENMMURfUkZfUlhBR0NfSElTVE9SWV9SRUNfTlVNLAorICAgQ0wxRF9SRl9SWEFHQ19ISVNUT1JZX1JFQ19JRFhfSU5WQUxJRCA9IDB4RkYsCit9Q0wxRF9SRl9SWEFHQ19ISVNUT1JZX1JFQ19JRFhfRTsKKworI2lmZGVmIE1US19ERVZfVEVNUF9DMktfT1RGQworLyoqIFR4IERQRCBPVEZDIGhpc3RvcnkgcmVjb3JkIGluZGV4IGVudW1lcmF0aW9uICovCit0eXBlZGVmIGVudW0KK3sKKyAgIENMMURfUkZfVFhfRFBEX09URkNfSElTVE9SWV9SRUNfSURYMCA9IDAsCisgICBDTDFEX1JGX1RYX0RQRF9PVEZDX0hJU1RPUllfUkVDX0lEWDEsCisgICBDTDFEX1JGX1RYX0RQRF9PVEZDX0hJU1RPUllfUkVDX0lEWDIsCisgICBDTDFEX1JGX1RYX0RQRF9PVEZDX0hJU1RPUllfUkVDX0lEWDMsCisgICBDTDFEX1JGX1RYX0RQRF9PVEZDX0hJU1RPUllfUkVDX0lEWDQsCisgICBDTDFEX1JGX1RYX0RQRF9PVEZDX0hJU1RPUllfUkVDX05VTSwKKyAgIENMMURfUkZfVFhfRFBEX09URkNfSElTVE9SWV9SRUNfSURYX0lOVkFMSUQgPSAweEZGLAorfUNMMURfUkZfVFhfRFBEX09URkNfSElTVE9SWV9SRUNfSURYX0U7CisjZW5kaWYKKworLyoqIEMySyBUWCBBR0MgdGVzdCBtb2RlIHR5cGUgZW51bWVyYXRpb24gKi8KK3R5cGVkZWYgZW51bQoreworICBDTDFEX1JGX1RQQ19URVNUX01PREVfRklYUFdSID0gMCwKKyAgQ0wxRF9SRl9UUENfVEVTVF9NT0RFX01BTlVBTCA9IDEsCisgIENMMURfUkZfVFBDX1RFU1RfTU9ERV9GREIgPSAyCit9Q0wxRF9SRl9UUENfVEVTVF9NT0RFX0U7CisKKy8qKiBDMksgUlggQUdDIHRlc3QgbW9kZSB0eXBlIGVudW1lcmF0aW9uICovCit0eXBlZGVmIGVudW0KK3sKKyAgQ0wxRF9SRl9BR0NfVEVTVF9NT0RFX0ZJWEdBSU4gICA9IDAsCisgIENMMURfUkZfQUdDX1RFU1RfTU9ERV9NQU5VQUwgICAgPSAxCit9Q0wxRF9SRl9BR0NfVEVTVF9NT0RFX0U7CisKKy8qKiBDMksgUlggQUdDIEZTTSB0eXBlIGVudW1lcmF0aW9uICovCit0eXBlZGVmIGVudW0KK3sKKyAgQ0wxRF9SRl9BR0NfRlNNX0ZBU1QgICAgID0gMCwKKyAgQ0wxRF9SRl9BR0NfRlNNX1NURUFEWSAgID0gMSwKKyAgQ0wxRF9SRl9BR0NfRlNNX0lDUyAgICAgID0gMiwKKyAgQ0wxRF9SRl9BR0NfRlNNX0NBTCAgICAgID0gMywKKyAgQ0wxRF9SRl9BR0NfRlNNX0ZJWF9HQUlOID0gNCwKKyAgQ0wxRF9SRl9BR0NfRlNNX05VTSAgICAgID0gNQorfUNMMURfUkZfQUdDX0ZTTV9FOworCisvKiogQzJLIE5CSUYgcm91bmRpbmcgbW9kZSBlbnVtZXJhdGlvbiAqLwordHlwZWRlZiBlbnVtCit7CisgICAgQ0wxRF9SRl9SWERGRV9OQklGX1JPVU5EX01PREVfNiA9IDAsICAvKiBzaGlmdCA2LCByb3VuZCAzICovCisgICAgQ0wxRF9SRl9SWERGRV9OQklGX1JPVU5EX01PREVfNyA9IDEsICAvKiBzaGlmdCA3LCByb3VuZCA0ICovCisgICAgQ0wxRF9SRl9SWERGRV9OQklGX1JPVU5EX01PREVfOCA9IDIsICAvKiBzaGlmdCA4LCByb3VuZCA1ICovCisgICAgQ0wxRF9SRl9SWERGRV9OQklGX1JPVU5EX01PREVfOSA9IDMsICAvKiBzaGlmdCA5LCByb3VuZCA2ICovCisgICAgQ0wxRF9SRl9SWERGRV9OQklGX1JPVU5EX01PREVfMTAgPSA0ICAvKiBzaGlmdCAxMCwgcm91bmQgNyAqLworCit9Q0wxRF9SRl9SWERGRV9OQklGX1JPVU5EX01PREVfRTsKKworLyoqIEMySyBSWERGRSBQYXRoIGVudW1lcmF0aW9uICovCisjaWYgZGVmaW5lZChfX01EOTVfXykgCit0eXBlZGVmIGVudW0KK3sKKyAgICBSRl9SWERGRV9NQUlOX09OLAorICAgIFJGX1JYREZFX01BSU5fT0ZGLAorICAgIFJGX1JYREZFX0RJVl9PTiwKKyAgICBSRl9SWERGRV9ESVZfT0ZGLAorICAgIFJGX1JYREZFX01BSU5fUEFSVF9PTiwKKyAgICBSRl9SWERGRV9NQUlOX1BBUlRfT0ZGLAorICAgIFJGX1JYREZFX0RJVl9QQVJUX09OLAorICAgIFJGX1JYREZFX0RJVl9QQVJUX09GRiwKKyAgICBSRl9SWERGRV9NQUlOX0RJVl9PTiwKKyAgICBSRl9SWERGRV9NQUlOX0RJVl9PRkYsCisgICAgUkZfUlhERkVfU0VDX09OLAorICAgIFJGX1JYREZFX1NFQ19PRkYsCisgICAgUkZfUlhERkVfTVNfTUFJTl9ESVZfT04sICAgIAorICAgIFJGX1JYREZFX01TX1NFQ19PTiwgICAgCisKKyAgICBSRl9SWERGRV9NQUlOID0gUkZfUlhERkVfTUFJTl9PTiwKKyAgICBSRl9SWERGRV9ESVYgPSBSRl9SWERGRV9ESVZfT04sCisgICAgUkZfUlhERkVfU0VDID0gUkZfUlhERkVfU0VDX09OLAorfUNMMURfUkZfUlhERkVfU0VOQVJJT19FOworI2VsaWYgZGVmaW5lZChfX01EOTNfXykgCit0eXBlZGVmIGVudW0KK3sKKyAgICBSRl9SWERGRV9NQUlOX09OLAorICAgIFJGX1JYREZFX01BSU5fT0ZGLAorICAgIFJGX1JYREZFX0RJVl9PTiwKKyAgICBSRl9SWERGRV9ESVZfT0ZGLAorICAgIFJGX1JYREZFX01BSU5fUEFSVF9PTiwKKyAgICBSRl9SWERGRV9NQUlOX1BBUlRfT0ZGLAorICAgIFJGX1JYREZFX0RJVl9QQVJUX09OLAorICAgIFJGX1JYREZFX0RJVl9QQVJUX09GRiwKKyAgICBSRl9SWERGRV9NQUlOX0RJVl9PTiwKKyAgICBSRl9SWERGRV9NQUlOX0RJVl9PRkYsCisgICAgUkZfUlhERkVfU0VDX09OLAorICAgIFJGX1JYREZFX1NFQ19PRkYsCisKKyAgICBSRl9SWERGRV9NQUlOID0gUkZfUlhERkVfTUFJTl9PTiwKKyAgICBSRl9SWERGRV9ESVYgPSBSRl9SWERGRV9ESVZfT04sCisgICAgUkZfUlhERkVfU0VDID0gUkZfUlhERkVfU0VDX09OLAorfUNMMURfUkZfUlhERkVfU0VOQVJJT19FOworI2VsaWYgKGRlZmluZWQoX19NRDk3X18pIHx8IGRlZmluZWQoX19NRDk3UF9fKSkKK3R5cGVkZWYgZW51bQoreworICAgIFJGX1JYREZFX01BSU5fT04sCisgICAgUkZfUlhERkVfTUFJTl9PRkYsCisgICAgUkZfUlhERkVfRElWX09OLAorICAgIFJGX1JYREZFX0RJVl9PRkYsCisgICAgUkZfUlhERkVfTUFJTl9QQVJUX09OLAorICAgIFJGX1JYREZFX01BSU5fUEFSVF9PRkYsCisgICAgUkZfUlhERkVfRElWX1BBUlRfT04sCisgICAgUkZfUlhERkVfRElWX1BBUlRfT0ZGLAorICAgIFJGX1JYREZFX01BSU5fRElWX09OLAorICAgIFJGX1JYREZFX01BSU5fRElWX09GRiwKKyAgICBSRl9SWERGRV9TRUNfT04sCisgICAgUkZfUlhERkVfU0VDX09GRiwKKyAgICBSRl9SWERGRV9NU19NQUlOX0RJVl9PTiwgICAgCisgICAgUkZfUlhERkVfTVNfU0VDX09OLCAgICAKKworICAgIFJGX1JYREZFX01BSU4gPSBSRl9SWERGRV9NQUlOX09OLAorICAgIFJGX1JYREZFX0RJViA9IFJGX1JYREZFX0RJVl9PTiwKKyAgICBSRl9SWERGRV9TRUMgPSBSRl9SWERGRV9TRUNfT04sCit9Q0wxRF9SRl9SWERGRV9TRU5BUklPX0U7CisKKyNlbmRpZgorCisvKiogQzJLIFRYREZFIFBhdGggZW51bWVyYXRpb24gKi8KK3R5cGVkZWYgZW51bQoreworICAgIFJGX1RYREZFX09OLAorICAgIFJGX1RYREZFX09GRiwKKyAgICBSRl9UWERGRV9HQVRFX09OLAorICAgIFJGX1RYREZFX0dBVEVfT0ZGLAorfUNMMURfUkZfVFhERkVfU0VOQVJJT19FOworCisvKiogQzJLIFJYREZFIFRlc3Qgb3V0IElRIGRhdGEgZHVtcCBwb2ludCovCit0eXBlZGVmIGVudW0KK3sKKyAgICBDTDFEX1JGX1JYREZFX1RFU1RfT1VUX0lRX0RBVEFfRFVNUF9TUlJDLAorICAgIENMMURfUkZfUlhERkVfVEVTVF9PVVRfSVFfREFUQV9EVU1QX0RBR0MsCisgICAgQ0wxRF9SRl9SWERGRV9URVNUX09VVF9JUV9EQVRBX0RVTVBfU1JDLAorICAgIENMMURfUkZfUlhERkVfVEVTVF9PVVRfSVFfREFUQV9EVU1QX0NTLAorICAgIENMMURfUkZfUlhERkVfVEVTVF9PVVRfSVFfREFUQV9EVU1QX05VTQorCit9Q0wxRF9SRl9SWERGRV9URVNUX09VVF9JUV9EQVRBX0RVTVBfRTsKKworLyoqIEMySyBUWCBPTi9PRkYgUkYvVFBDIENUUkwgZW51bWVyYXRpb24gKi8KK3R5cGVkZWYgZW51bQoreworICAgIENMMURfUkZfVFhfT05fUkZfVFBDX0NUUkxfUkZfT05fVFBDX0lOSVQgICAgPSAwLAorICAgIENMMURfUkZfVFhfT05fUkZfVFBDX0NUUkxfUkZfT05fVFBDX0dBVEVfT04gPSAxLAorfSBDTDFEX1JGX1RYX09OX1JGX1RQQ19DVFJMX0U7CisKK3R5cGVkZWYgZW51bQoreworICAgIENMMURfUkZfVFhfT0ZGX1JGX1RQQ19DVFJMX1JGX09GRl9UUENfT0ZGICAgICAgPSAwLAorICAgIENMMURfUkZfVFhfT0ZGX1JGX1RQQ19DVFJMX1JGX09GRl9UUENfR0FURV9PRkYgPSAxLAorICAgIENMMURfUkZfVFhfT0ZGX1JGX1RQQ19DVFJMX1RQQ19PRkYgICAgICAgICAgICAgPSAyLAorfSBDTDFEX1JGX1RYX09GRl9SRl9UUENfQ1RSTF9FOworCit0eXBlZGVmIGVudW0geworICAgIFJYREZFX0ZDX0NGR19OQklGLAorICAgIFJYREZFX0ZDX0NGR19OQ08sCisgICAgUlhERkVfRkNfQ0ZHX1JGQywKKyAgICBSWERGRV9GQ19DRkdfTkNPX0NBTCwKKyAgICBSWERGRV9GQ19DRkdfRENfQ0FMLAorICAgIFJYREZFX0ZDX0NGR19JUlJfQ0FMLCAgICAKKyAgICBSWERGRV9GQ19DRkdfTlVNCit9Q0wxRF9SRl9SWERGRV9GQ19DRkdfVFlQRV9FOworCit0eXBlZGVmIGVudW0KK3sKKyAgICBDX1RYX0RETF9DSEVDSyAgICAgICAgICAgICAgICA9IDB4NDMwMDAwMDAsCisgICAgQ19UWF9QTV9ETF9TVEFSVCwKKyAgICBDX1RYX1NfVV9USU1FX1NZTkMsCisgICAgQ19UWF9DVFJMX1RJTUVfU1lOQywKKworICAgIENfVFhfRE1BX0NIRUNLICAgICAgICAgICAgICAgID0gMHg0MzAwMDAxMCwKKyAgICBDX1RYX0dETUFfQ0hFQ0ssCisKKyAgICBDX1RYX1BBVEhPTl9DSEVDSyAgICAgICAgICAgICA9IDB4NDMwMDAwMjAsCisgICAgQ19UWF9QQVRIT0ZGX0NIRUNLLAorCisgICAgQ19UWF9DRkdfVElNRV9XQVJOTklORyAgICAgICAgPSAweDQzMDAwMDMwLAorCisgICAgQ19UWF9DRkdfUkFUX0NIRUNLICAgICAgICAgICAgPSAweDQzMDAwMDQwLAorICAgIENfVFhfQ0ZHX0NNRF9DSEVDSywKKyAgICBDX1RYX0NGR19CVUZfQ0hFQ0sgLAorICAgIENfVFhfQ0ZHX0dBVEVfQ0hFQ0sgLAorCisgICAgQ19UWF9DRkdfQkFDS09GRl9DSEVDSyAgICAgICAgPSAweDQzMDAwMDUwLAorCisgICAgQ19UWF9DRkdfRF9UUV9DSEVDSyAgICAgICAgICAgPSAweDQzMDAwMDYwLAorICAgIENfVFhfQ0ZHX0RfR0NfQ0hFQ0ssCisKKyAgICBDX1RYX0NGR19BX1RRX0NIRUNLICAgICAgICAgICA9IDB4NDMwMDAwNzAsCisgICAgQ19UWF9DRkdfQV9HQ19DSEVDSywKK31DMktfVFBDX0JBTk5FUl9UUkFDRV9JRF9FOworCisjaWYgQ0wxRF9SWERGRV9EVU1QX0VOQSAKK3R5cGVkZWYgZW51bQoreworICBSWERGRV9EVU1QX0FfTUlYRURfSUZfT1VUUFVUICA9IDAgLCAvLzAgCisgIFJYREZFX0RVTVBfQV9DSUNfUzEgICAgICAgICAgICAsIC8vMSAKKyAgUlhERkVfRFVNUF9BX0RDT0NfT1VUUFVUICAgICAgICwgLy8yIAorICBSWERGRV9EVU1QX0FfUFJFX05DT19GSVJfTlIgICAgLCAvLzMgCisgIFJYREZFX0RVTVBfQV9QUkVfTkNPX0ZJUl9XVEMgICAsIC8vNCAKKyAgUlhERkVfRFVNUF9BX1BBVEhfREVDX09VVFBVVCAgICwgLy81IAorICBSWERGRV9EVU1QX0FfUkZFUV9PVVRQVVQgICAgICAgLCAvLzYgCisgIFJYREZFX0RVTVBfQV9GRFBNX09VVFBVVCAgICAgICAsIC8vNyAgIAorICBSWERGRV9EVU1QX0FfSVFDX09VVFBVVCAgICAgICAgLCAvLzggCisgIFJYREZFX0RVTVBfQV9OQklGX09VVFBVVCAgICAgICAsIC8vOSAKKyAgUlhERkVfRFVNUF9BX1BBVEhfT1VUUFVUICAgICAgICwgLy8xMAorICBSWERGRV9EVU1QX0FfTF9TVEFSVF9PVVRQVVQgICAgLCAvLzExCisgIFJYREZFX0RVTVBfQV9OQ09fT1VUUFVUICAgICAgICAgPSBSWERGRV9EVU1QX0FfTF9TVEFSVF9PVVRQVVQsCisgIFJYREZFX0RVTVBfQV9MX1Bvc3ROQ09fT1VUUFVUICAsIC8vMTIsCisgIFJYREZFX0RVTVBfQV9TUlJDX1BOQUFGX09VVFBVVCAsIC8vMTMsCisgIFJYREZFX0RVTVBfQV9MV0NfREFHQ19PVVRQVVQgICAsIC8vMTQsCisgIFJYREZFX0RVTVBfQV9QUkVfMlhfSEIgICAgICAgICAsIC8vMTUsCisgIFJYREZFX0RVTVBfQV9TUkNfT1VUUFVUICAgICAgICAsIC8vMTYsCisgIFJYREZFX0RVTVBfQV9GQ19PVVQgICAgICAgICAgICAsIC8vMTcsCisgIFJYREZFX0RVTVBfRF9GQ19JTiAgICAgICAgICAgICAsIC8vMTgsCisgIFJYREZFX0RVTVBfRF9QUkVfMlhfSEIgICAgICAgICAsIC8vMTksIAorICBSWERGRV9EVU1QX0RfRERTU1JDICAgICAgICAgICAgLCAvLzIwLAorICBSWERGRV9EVU1QX0RfRFNSQyAgICAgICAgICAgICAgLCAvLzIxLAorICBSWERGRV9EVU1QX0RfTEFZRVJfT1VUICAgICAgICAgLCAvLzIyLAorICBSWERGRV9EVU1QX0RfQ1NfTkNPICAgICAgICAgICAgLCAvLzIzLAorICBSWERGRV9EVU1QX0RfQ1NfRklSICAgICAgICAgICAgLCAvLzI0LAorICBSWERGRV9EVU1QX0RfQ1NfREFHQyAgICAgICAgICAgLCAvLzI1LAorICBSWERGRV9EVU1QX0RfQ1NfT1VUUFVUICAgICAgICAgLCAvLzI2LAorICBSWERGRV9EVU1QX0RfUEJDSF9PVVQgICAgICAgICAgLCAvLzI3LAorICBSWERGRV9EVU1QX0RfU1NTX09VVCAgICAgICAgICAgLCAvLzI4LCAgCisgIFJYREZFX0RVTVBfTk9ERV9OVU0gICAgICAgICAgICAsIC8vMjksCisgIFJYREZFX0RVTVBfRF9TVEFSVCAgICAgICAgICAgICA9ICBSWERGRV9EVU1QX0RfRkNfSU4gLTYsCit9Q0wxRF9SRl9SWERGRV9EVU1QX05PREVfRTsKKwordHlwZWRlZiBlbnVtCit7CisgIFJYREZFX1RUR19DSUMsCisgIFJYREZFX1RUR19SRkVRLAorICBSWERGRV9UVEdfUCA9IFJYREZFX1RUR19SRkVRLAorICBSWERGRV9UVEdfSEIsCisgIFJYREZFX1RUR19TUkMsCisgIFJYREZFX1RUR19OVU0KK31DTDFEX1JGX1JYREZFX1RUR19JTl9FOwordHlwZWRlZiBlbnVtCit7CisgIFRYREZFX0ZEQURfT1VUUFVULCAgLy9UQkQgQlkgV0FUU09OCit9Q0wxRF9SRl9UWERGRV9EVU1QX05PREVfRTsKKyNlbmRpZgorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgR2xvYmFsIFR5cGVkZWZzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy8qIFRoaXMgc3RydWN0dXJlIGRlc2NyaWJlcyB0aGUgc3VwcG9ydCBmb3IgYSBwYXJ0aWN1bGFyIGJhbmRjbGFzcy4KKyAgIFRoZSBTdWJjbGFzcyBlbGVtZW50IGlzIGEgYml0bWFwIGZpZWxkIHdpdGggZWFjaCBiaXQgaW5kaWNhdGluZyBzdXBwb3J0CisgICBmb3IgYSBwYXJ0aWN1bGFyIHN1YmNsYXNzLiBUaGUgU3VwcG9ydGVkIGVsZW1lbnQgaW5kaWNhdGVzIGluIGdlbmVyYWwKKyAgIHN1cHBvcnQgZm9yIGEgc3BlY2lmaWMgYmFuZCBjbGFzcworKi8KK3R5cGVkZWYgc3RydWN0IENMMURfUkZfU1VQUE9SVEVEX0JBTkRfSU5GT190YWcKK3sKKyAgIGthbF91aW50MzIgICBzdWJjbGFzczsKKyAgIGthbF91aW50MTYgICBzdXBwb3J0ZWQ7Cit9IENMMURfUkZfU1VQUE9SVEVEX0JBTkRfSU5GT19UOworCisvKiogQWRzIHN0cnVjdHVyZSB0byBwcm92aWRlIHBhcmFtZXRlcnMgdG8gdGhlIENMMURfUkZfR2V0X1BsYXRmb3JtX0luZm8oKSBmdW5jdGlvbi4gKi8KK3R5cGVkZWYgc3RydWN0IENMMURfUkZfR0VUX1BMQVRGT1JNX0lORk9fdGFnCit7CisgIC8qKiBbb3V0XSAtIFJGIGNoaXAgSUQgKi8KKyAga2FsX3VpbnQxNiAgIHJmX2NoaXBfaWQ7CisgIC8qKiBbb3V0XSAtIHRvdGFsIHN1cG9ydGVkIGJhbmQgY2xhc3MgbnVtYmVyICovCisgIGthbF91aW50MTYgICBzdXBwb3J0X2JjX251bTsKKyAgLyoqIFtvdXRdIC0gc3Vwb3J0ZWQgYmFuZCBjbGFzcyBpbmZvICovCisgIENMMURfUkZfU1VQUE9SVEVEX0JBTkRfSU5GT19UIHN1cHBvcnRfYmNfaW5mb1tTWVNfQkFORF9DTEFTU19NQVhdOworICAvKiogW291dF0gLSBkaXZlcnNpdHkgc3VwcG9ydGVkIHN0YXR1cywxOiBzdXBwb3J0LCAwOm5vdCBzdXBwb3J0ICovCisgIGthbF91aW50MTYgICBkaXZlcnNpdHlfZW5bU1lTX0JBTkRfQ0xBU1NfTUFYXTsKKyAgLyoqIFtvdXRdIC0gZGl2ZXJzaXR5IG9ubHkgdGVzdCBmZWF0dXJlIHN1cHBvcnRlZCBzdGF0dXMsMTogc3VwcG9ydCwgMDpub3Qgc3VwcG9ydCAqLworICBrYWxfdWludDE2ICAgZGl2ZXJzaXR5X29ubHlfdGVzdF9lbltTWVNfQkFORF9DTEFTU19NQVhdOworICAvKiogW291dF0gLSBSWCBwYXRoIG51bWJlciAqLworICBrYWxfdWludDE2ICAgcnhfcGF0aF9udW07CisgIC8qKiBbb3V0XSAtIFJYIHN5bnRoZXNpemVyIG51bWJlciAqLworICBrYWxfdWludDE2ICAgcnhfc3ludGhfbnVtOworICAvKiogW291dF0gLSBUWCBwYXRoIG51bWJlciAqLworICBrYWxfdWludDE2ICAgdHhfcGF0aF9udW07CisgIC8qKiBbb3V0XSAtIFRYIHN5bnRoZXNpemVyIG51bWJlciAqLworICBrYWxfdWludDE2ICAgdHhfc3ludGhfbnVtOworICAvKiogW291dF0gLSBoaWdoIHBvd2VyIG1vZGUgTE5BIG51bWJlciAqLworICBrYWxfdWludDE2ICAgaHBtX2xuYV9udW07CisgIC8qKiBbb3V0XSAtIGxvdyBwb3dlciBtb2RlIExOQSBudW1iZXIgKi8KKyAga2FsX3VpbnQxNiAgIGxwbV9sbmFfbnVtOworICAvKiogW291dF0gLSB0aGUgSFJUIG9mIFJYT04gaW4gdXMgdW5pdCovCisgIGthbF91aW50MTYgICByeG9uX2hydDsKKyAgLyoqIFtvdXRdIC0gdGhlIEhSVCBvZiBSWE9GRiBpbiB1cyB1bml0ICovCisgIGthbF91aW50MTYgICByeG9mZl9ocnQ7CisgIC8qKiBbb3V0XSAtIHRoZSBIUlQgb2YgVFhPTiBpbiB1cyB1bml0ICovCisgIGthbF91aW50MTYgICB0eG9uX2hydDsKKyAgLyoqIFtvdXRdIC0gdGhlIEhSVCBvZiBUWE9GRiBpbiB1cyB1bml0ICovCisgIGthbF91aW50MTYgICB0eG9mZl9ocnQ7CisgIC8qKiBbb3V0XSAtIHRoZSBBR1BTIEdyb3VwIERlbGF5IGluIG5zIHVuaXQgKi8KKyAga2FsX2ludDMyICAgIGFncHNfZ3JvdXBfZGVsYXlbU1lTX0JBTkRfQ0xBU1NfTUFYXTsKKyAgLyoqIFtvdXRdIC0gZHBkIGVuYWJsZSBzdGF0dXMsMTogZW5hYmxlLCAwOmRpc2FibGUgKi8KKyAga2FsX3VpbnQxNiAgIGRwZF9lbltTWVNfQkFORF9DTEFTU19NQVhdOworCit9IENMMURfUkZfR0VUX1BMQVRGT1JNX0lORk9fVDsKKworLyoqIEFkcyBzdHJ1Y3R1cmUgdG8gcHJvdmlkZSBwYXJhbWV0ZXJzIHRvIHRoZSBDTDFEX1JGX0FGQ19TeW50aF9PZmZzZXRfVXBkYXRlKCkgZnVuY3Rpb24uICovCit0eXBlZGVmIHN0cnVjdCBDTDFEX1JGX0FGQ19TWU5USF9PRkZTRVRfVVBEQVRFX3RhZworeworICAvKiogW2luXSAtIEluZGljYXRlIHRoZSBSQVQgdHlwZSBvZiBFVkRPLzFYUlRUICovCisgIGthbF91aW50OCAgIHJhdF90eXBlOworICAvKiogW2luXSAtIFJ4IHRpbWVyIHZhbHVlIG9mIHR1bmluZyBSRiBQTEwgZnJlcXVlbmN5LCByYW5nZSBpcyAwfjB4QkZGRkYgKi8KKyAga2FsX3VpbnQzMiAgcnhfc3RpbWU7CisgIC8qKiBbaW5dIC0gQ0wxRF9SRl9QQVRIX0UgZW51bSB0eXBlIG9mIFJGIHBhdGggKi8KKyAga2FsX3VpbnQ4ICAgcGF0aF90eXBlOworICAvKiogW2luXSAtIHRvdGFsIGZyZXF1ZW5jeSBvZmZzZXQgZXJyb3IgaW4gSHogKi8KKyAga2FsX2ludDMyICAgZm9lX2h6OworfSBDTDFEX1JGX0FGQ19TWU5USF9PRkZTRVRfVVBEQVRFX1Q7CisKKy8qKiBBZHMgc3RydWN0dXJlIHRvIHByb3ZpZGUgcGFyYW1ldGVycyB0byB0aGUgQ0wxRF9SRl9BRkNfSW5pdF9Gb2VfUHBiX1F1ZXJ5KCkgZnVuY3Rpb24uICovCit0eXBlZGVmIHN0cnVjdCBDTDFEX1JGX0FGQ19JTklUX0ZPRV9QUEJfUVVFUllfdGFnCit7CisgIC8qKiBbb3V0XSAtIHRvdGFsIGZyZXF1ZW5jeSBvZmZzZXQgZXJyb3IgaW4gcHBiKi8KKyAga2FsX2ludDMyIGZvZV9wcGI7Cit9IENMMURfUkZfQUZDX0lOSVRfRk9FX1BQQl9RVUVSWV9UOworCisvKiogcy1jdXJ2ZSBzdHJ1Y3R1cmUuICovCisjaWZuZGVmIF9fTUQ5M19fCit0eXBlZGVmIHN0cnVjdCBDTDFEX1JGX0FGQ19TX0NVUlZFX3RhZworeworICBrYWxfaW50MzIgYzBGYWM7CisgIGthbF9pbnQzMiBjMUZhYzsKKyAga2FsX2ludDMyIGMyRmFjOworICBrYWxfaW50MzIgYzNGYWM7Cit9IENMMURfUkZfQUZDX1NfQ1VSVkVfVDsKKyNlbHNlCit0eXBlZGVmIHN0cnVjdCBDTDFEX1JGX0FGQ19TX0NVUlZFX3RhZworeworICBmbG9hdCBjMEZhYzsKKyAgZmxvYXQgYzFGYWM7CisgIGZsb2F0IGMyRmFjOworICBmbG9hdCBjM0ZhYzsKK30gQ0wxRF9SRl9BRkNfU19DVVJWRV9UOworI2VuZGlmCisKKy8qKiBBZHMgc3RydWN0dXJlIHRvIHByb3ZpZGUgcGFyYW1ldGVycyB0byB0aGUgQ0wxRF9SRl9BRkNfU19DdXJ2ZV9QYXJhbV9RdWVyeSgpIGZ1bmN0aW9uLiAqLwordHlwZWRlZiBzdHJ1Y3QgQ0wxRF9SRl9BRkNfU19DVVJWRV9QQVJBTV9RVUVSWV90YWcKK3sKKyAgLyoqIFtvdXRdIC0gUG9pbnRlciBvZiBzLWN1cnZlIHN0cnVjdHVyZSovCisgIENMMURfUkZfQUZDX1NfQ1VSVkVfVCBzX2N1cnZlOworfSBDTDFEX1JGX0FGQ19TX0NVUlZFX1BBUkFNX1FVRVJZX1Q7CisKKy8qKiBBZHMgc3RydWN0dXJlIHRvIHByb3ZpZGUgcGFyYW1ldGVycyB0byB0aGUgQ0wxRF9SRl9BRkNfRm9lX1BwYl9Ub19EYWMoKSBmdW5jdGlvbi4gKi8KK3R5cGVkZWYgc3RydWN0IENMMURfUkZfQUZDX0ZPRV9QUEJfVE9fREFDX3RhZworeworICAvKiogW2luXSAtIHRvdGFsIGZyZXF1ZW5jeSBvZmZzZXQgZXJyb3IgaW4gcHBiKi8KKyAga2FsX2ludDMyICAgZm9lX3BwYjsKKyAgLyoqIFtvdXRdIC0gQUZDIERBQyB2YWx1ZSovCisgIGthbF91aW50MzIgIGFmY19kYWM7Cit9IENMMURfUkZfQUZDX0ZPRV9QUEJfVE9fREFDX1Q7CisKKy8qKiBBZHMgc3RydWN0dXJlIHRvIHByb3ZpZGUgcGFyYW1ldGVycyB0byB0aGUgQ0wxRF9SRl9BRkNfRGFjX1RvX0ZvZV9QcGIoKSBmdW5jdGlvbi4gKi8KK3R5cGVkZWYgc3RydWN0IENMMURfUkZfQUZDX0RBQ19UT19GT0VfUFBCX3RhZworeworICAvKiogW2luXSAtIEFGQyBEQUMgdmFsdWUqLworICBrYWxfdWludDMyIGFmY19kYWM7CisgIC8qKiBbb3V0XSAtIHRvdGFsIGZyZXF1ZW5jeSBvZmZzZXQgZXJyb3IgaW4gcHBiKi8KKyAga2FsX2ludDMyICBmb2VfcHBiOworfSBDTDFEX1JGX0FGQ19EQUNfVE9fRk9FX1BQQl9UOworCisvKiogQWRzIHN0cnVjdHVyZSB0byBwcm92aWRlIHBhcmFtZXRlcnMgdG8gdGhlIENMMURfUkZfQUZDX1J4X0NoYW5uZWxfVG9fRnJlcXVlbmN5KCkgZnVuY3Rpb24uICovCit0eXBlZGVmIHN0cnVjdCBDTDFEX1JGX0FGQ19SWF9DSEFOTkVMX1RPX0ZSRVFVRU5DWV90YWcKK3sKKyAgLyoqIFtpbl0gLSAzR1BQMiBiYW5kIGNsYXNzKi8KKyAga2FsX3VpbnQ4ICBiYW5kX2NsYXNzOworICAvKiogW2luXSAtIGNoYW5uZWwgbnVtYmVyKi8KKyAga2FsX3VpbnQxNiBjaGFubmVsOworICAvKiogW291dF0gLSBmcmVxdWVuY3kgaW4gS0h6IHVuaXQqLworICBrYWxfaW50MzIgIGZyZXFfa2h6OworfSBDTDFEX1JGX0FGQ19SWF9DSEFOTkVMX1RPX0ZSRVFVRU5DWV9UOworCisvKiogQWRzIHN0cnVjdHVyZSB0byBwcm92aWRlIHBhcmFtZXRlcnMgdG8gdGhlIENMMURfUkZfQUZDX1R4X0NoYW5uZWxfVG9fRnJlcXVlbmN5KCkgZnVuY3Rpb24uICovCit0eXBlZGVmIHN0cnVjdCBDTDFEX1JGX0FGQ19UWF9DSEFOTkVMX1RPX0ZSRVFVRU5DWV90YWcKK3sKKyAgLyoqIFtpbl0gLSAzR1BQMiBiYW5kIGNsYXNzKi8KKyAga2FsX3VpbnQ4ICBiYW5kX2NsYXNzOworICAvKiogW2luXSAtIGNoYW5uZWwgbnVtYmVyKi8KKyAga2FsX3VpbnQxNiBjaGFubmVsOworICAvKiogW291dF0gLSBmcmVxdWVuY3kgaW4gS0h6IHVuaXQqLworICBrYWxfaW50MzIgIGZyZXFfa2h6OworfSBDTDFEX1JGX0FGQ19UWF9DSEFOTkVMX1RPX0ZSRVFVRU5DWV9UOworCisvKiogQWRzIHN0cnVjdHVyZSB0byBwcm92aWRlIHBhcmFtZXRlcnMgdG8gdGhlIENMMURfUkZfQUZDX0NhcF9JZF9VcGRhdGUoKSBmdW5jdGlvbi4gKi8KK3R5cGVkZWYgc3RydWN0IENMMURfUkZfQUZDX0NBUF9JRF9VUERBVEVfdGFnCit7CisgIC8qKiBbaW5dIC0gY2FwIElEKi8KKyAga2FsX3VpbnQ4IGNhcF9pZDsKK30gQ0wxRF9SRl9BRkNfQ0FQX0lEX1VQREFURV9UOworCisvKiogQWRzIHN0cnVjdHVyZSB0byBwcm92aWRlIHBhcmFtZXRlcnMgdG8gdGhlIENMMURfUkZfQUZDX0RhY19VcGRhdGUoKSBmdW5jdGlvbi4gKi8KK3R5cGVkZWYgc3RydWN0IENMMURfUkZfQUZDX0RBQ19VUERBVEVfdGFnCit7CisgIC8qKiBbaW5dIC0gQUZDIERBQyB2YWx1ZSovCisgIGthbF91aW50MTYgYWZjX2RhYzsKK30gQ0wxRF9SRl9BRkNfREFDX1VQREFURV9UOworCisKKy8qKiBBZHMgc3RydWN0dXJlIHRvIHByb3ZpZGUgcGFyYW1ldGVycyB0byB0aGUgQ0wxRF9SRl9UZW1wZXJhdHVyZV9RdWVyeSgpIGZ1bmN0aW9uLiAqLwordHlwZWRlZiBzdHJ1Y3QgQ0wxRF9SRl9URU1QRVJBVFVSRV9RVUVSWV90YWcKK3sKKyAgLyoqIFtpbl0gLSAwOiBGcm9tIFJGIGZvciBSRiB0ZW1wZXJhdHVyZSBjb21wZW5zYXRpb24KKyAgICAgICAgICAgICAxOiBGcm9tIFBNSUMgZm9yIEFGQyB0ZW1wZXJhdHVyZSBjb21wZW5zYXRpb24KKyAgKi8KKyAga2FsX3VpbnQ4ICB0ZW1wX3R5cGU7CisgIC8qKiBbb3V0XSAtIFRlbXBlcmF0dXJlIHZhbHVlIGluIENlbHNpdXMqLworICBrYWxfaW50MTYgIHRlbXBlcmF0dXJlOworfSBDTDFEX1JGX1RFTVBFUkFUVVJFX1FVRVJZX1Q7CisKKy8qKiBBZHMgc3RydWN0dXJlIHRvIHByb3ZpZGUgcGFyYW1ldGVycyB0byB0aGUgQ0wxRF9SRl9UeF9QYXRoX09uKCkgZnVuY3Rpb24uICovCit0eXBlZGVmIHN0cnVjdCBDTDFEX1JGX1RYX1BBVEhfT05fdGFnCit7CisgIC8qKiBbaW5dIC0gaW5kaWNhdGUgdGhlIFJBVCB0eXBlIG9mIEVWRE8vMVhSVFQsIDA6IDFYUlRUOyAxOiBFVkRPICovCisgIGthbF91aW50OCByYXRfdHlwZTsKKyAgLyoqIFtpbl0gLSB0aW1lIG9mIG9uIGFpciBUWCBvbiB3aXRoIEhSVCBpbiBSWCBzdGltZXIsIHVuaXQ6IGVjaGlwLCByYW5nZTogMH4weEJGRkZGKi8KKyAga2FsX3VpbnQzMiByeF9zdGltZTsKKyAgLyoqIFtpbl0gLSB0aW1lIG9mIG9uIGFpciBUWCBib3VuZGFyeSBpbiBUWCBzdGltZXIsIHVuaXQ6IGVjaGlwLCByYW5nZTogMH4weEJGRkZGKi8KKyAga2FsX3VpbnQzMiB0eF9zdGltZTsKKyAgLyoqIFtpbl0gLSAzR1BQMiBiYW5kIGNsYXNzKi8KKyAga2FsX3VpbnQ4IGJhbmRfY2xhc3M7CisgIC8qKiBbaW5dIC0gY2hhbm5layBudW1iZXIqLworICBrYWxfdWludDE2IGNoYW5uZWw7CisgIC8qKiBbaW5dIC0gdG90YWwgZnJlcXVlbmN5IG9mZnNldCBlcnJvciBpbiBIeiovCisgIGthbF9pbnQzMiBmb2VfaHo7CisgIC8qKiBbaW5dIC0gcG93ZXIgcmVmZXJlbmNlIHVzZWQgZm9yIG9wZW4gbG9vcCBlc3RpbWF0aW9uIGluIDEvNjRkQm1AUzkuNiB1bml0Ki8KKyAga2FsX2ludDE2IHB3cl9yZWY7CisgIC8qKiBbaW5dIC0gUlNTSSB2YWx1ZSB3aXRoIGZpbHRlciBpbiAxLzY0ZEJtQFM3LjYgdW5pdCovCisgIGthbF9pbnQxNiByc3NpX3dpX2ZpbHRlcjsKKyAgLyoqIFtpbl0gLSBvcGVuIGxvb3AgY29ycmVjdCBnYWluIHdpdGggUzAuMTYgdW5pdCovCisgIGthbF9pbnQzMiBvbF9jb3JyX2dhaW47CisgIC8qKiBbaW5dIC0gb3BlbiBsb29wIG1heCBzbGV3IHdpdGggUzIuNiB1bml0Ki8KKyAga2FsX2ludDMyIG9sX21heF9zbGV3OworICAvKiogW2luXSAtIFJQQyBjb21iaW5lIHRocmVzaG9sZCB3aXRoIFU1LjAsIG9ubHkgZm9yIDFYUlRUKi8KKyAga2FsX3VpbnQxNiBycGNfY29tYl90aHI7CisgIC8qKiBbaW5dIC0gVFhBR0MgU1cgbW9kZSBjb250cm9sLCAxOiBzdyBtb2RlOyAwOiBub3JtYWwgbW9kZS4gYml0Wzc6MF0gcnBjX2JpdF9zcmNfc2VsOyBiaXRbMTU6OF0ga3NfdmFsdWVfc3JjX3NlbDsgYml0WzIzOjE2XSBycGNfc3ltX3Bvc19zZWwqLworICBrYWxfdWludDMyIHR4YWdjX3N3X21vZGVfY3RybDsKKyAgLyoqIFtpbl0gLSBkaXZlcnNpdHkgb25seSBlbmFibGUgaW5mbywgMDogbm90IGRpdiBvbmx5IG1vZGU7IDE6ZGl2IG9ubHkgbW9kZSovCisgIGthbF91aW50MzIgZGl2X29ubHlfZW47CisgIC8qKiBbaW5dIC0gdHggb24gY29udHJvbCwgMDogbm9ybWFsIG9uLCBSRi9GRU0gb24rVFhBR0Mgb24rVFhVUEMgb247IDE6IGdhdGUgb24sIFJGL0ZFTSBvbitUWFVQQyBvbiwgb25seSBmb3IgMVhSVFQqLworICBrYWxfdWludDMyIHR4X29uX2N0cmw7CisjaWZkZWYgTVRLX0RFVl9URU1QX0MyS19PVEZDCisgIC8qKiBbaW5dIC0gRFBEIE9URkMgbDEgY29uZGl0aW9uIGNoZWNrLCAwOiBsMSBub3QgZnVsbGZpbCBPVEZDLCAxOiBsMSBmdWxsZmlsIE9URkMgKi8KKyAga2FsX2Jvb2wgZHBkX290ZmNfbDFfZW47CisgIC8qKiBbaW5dIC0gc2F2ZSBUeCBpbmRleCBpbiBoaXN0b3J5IHJlY29kZS4gMHhGRiBtZWFucyBOT1Qgc2F2ZSBpbiBoaXN0b3J5IHJlY29yZCAqLworICBrYWxfdWludDggY2VsbF9pbmRleDsgIAorI2VuZGlmCisjaWYgKGRlZmluZWQoX19NRDk3X18pIHx8IGRlZmluZWQoX19NRDk3UF9fKSkKKyAgTU1SRkRfQ1VTVE9NX1RBU19TVEFURV9FIGFudF9zdGF0ZTsgIAorI2VuZGlmCit9Q0wxRF9SRl9UWF9QQVRIX09OX1Q7CisKKy8qKiBBZHMgc3RydWN0dXJlIHRvIHByb3ZpZGUgcGFyYW1ldGVycyB0byB0aGUgQ0wxRF9SRl9UeF9QYXRoX09mZigpIGZ1bmN0aW9uLiAqLwordHlwZWRlZiBzdHJ1Y3QgQ0wxRF9SRl9UWF9QQVRIX09GRl90YWcKK3sKKyAgLyoqIFtpbl0gLSBpbmRpY2F0ZSB0aGUgUkFUIHR5cGUgb2YgRVZETy8xWFJUVCwgMDogMVhSVFQ7IDE6IEVWRE8gKi8KKyAga2FsX3VpbnQ4IHJhdF90eXBlOworICAvKiogW2luXSAtIHRpbWUgb2YgVFggb2ZmIG9uIGFpciBib3VuZHJ5IHdpdGhvdXQgSFJUIGluIFJYIHN0aW1lciwgdW5pdDogZWNoaXAsIHJhbmdlOiAwfjB4QkZGRkYqLworICBrYWxfdWludDMyIHJ4X3N0aW1lOworICAvKiogW2luXSAtIHRpbWUgb2YgVFggb2ZmIG9uIGFpciBib3VuZHJ5IHdpdGhvdXQgSFJUIGluIFRYIHN0aW1lciwgdW5pdDogZWNoaXAsIHJhbmdlOiAwfjB4QkZGRkYqLworICBrYWxfdWludDMyIHR4X3N0aW1lOworICAvKiogW2luXSAtIHR4IG9mZiBjb250cm9sLCAwOiBub3JtYWwgb2ZmLCBSRi9GRU0vREZFIG9mZitUWEFHQyBvZmYrVFhVUEMgb2ZmOyAxOiBnYXRlIG9mZiwgUkYvRkVNL0RGRSBvZmYrVFhVUEMgb2ZmLCBvbmx5IGZvciAxWFJUVCovCisgIGthbF91aW50MzIgdHhfb2ZmX2N0cmw7CisjaWZkZWYgTVRLX0RFVl9URU1QX0MyS19PVEZDCisgIC8qKiBbaW5dIC0gc2F2ZSBUeCBpbmRleCBpbiBoaXN0b3J5IHJlY29kZS4gMHhGRiBtZWFucyBOT1Qgc2F2ZSBpbiBoaXN0b3J5IHJlY29yZCAqLworICBrYWxfdWludDggY2VsbF9pbmRleDsKKyNlbmRpZgorfUNMMURfUkZfVFhfUEFUSF9PRkZfVDsKKworLyoqIEFkcyBzdHJ1Y3R1cmUgdG8gcHJvdmlkZSBwYXJhbWV0ZXJzIHRvIHRoZSBDTDFEX1JGX1R4X1BhdGhfR2F0ZV9PbigpIGZ1bmN0aW9uLiAqLwordHlwZWRlZiBzdHJ1Y3QgQ0wxRF9SRl9UWF9QQVRIX0dBVEVfT05fdGFnCit7CisgIC8qKiBbaW5dIC0gaW5kaWNhdGUgdGhlIFJBVCB0eXBlIG9mIEVWRE8vMVhSVFQgKi8KKyAga2FsX3VpbnQ4ICByYXRfdHlwZTsKKyAgLyoqIFtpbl0gLSB0eCBvbiBhaXIgYm91bmRhcnkgaW4gUlggc3RpbWVyLCByYW5nZSBpcyAwfjB4QkZGRkYgKi8KKyAga2FsX3VpbnQzMiByeF9zdGltZTsKKyAgLyoqIFtpbl0gLSB0eCBvbiBhaXIgYm91bmRhcnkgaW4gVFggc3RpbWVyLCByYW5nZSBpcyAwfjB4QkZGRkYgKi8KKyAga2FsX2ludDMyICB0eF9zdGltZTsKK30gQ0wxRF9SRl9UWF9QQVRIX0dBVEVfT05fVDsKKworLyoqIEFkcyBzdHJ1Y3R1cmUgdG8gcHJvdmlkZSBwYXJhbWV0ZXJzIHRvIHRoZSBDTDFEX1JGX1R4X1BhdGhfR2F0ZV9PZmYoKSBmdW5jdGlvbi4gKi8KK3R5cGVkZWYgc3RydWN0IENMMURfUkZfVFhfUEFUSF9HQVRFX09GRl90YWcKK3sKKyAgLyoqIFtpbl0gLSBpbmRpY2F0ZSB0aGUgUkFUIHR5cGUgb2YgRVZETy8xWFJUVCAqLworICBrYWxfdWludDggIHJhdF90eXBlOworICAvKiogW2luXSAtIHR4IG9uIGFpciBib3VuZGFyeSBpbiBSWCBzdGltZXIsIHJhbmdlIGlzIDB+MHhCRkZGRiAqLworICBrYWxfdWludDMyIHJ4X3N0aW1lOworICAvKiogW2luXSAtIHR4IG9uIGFpciBib3VuZGFyeSBpbiBUWCBzdGltZXIsIHJhbmdlIGlzIDB+MHhCRkZGRiAqLworICBrYWxfaW50MzIgIHR4X3N0aW1lOworfSBDTDFEX1JGX1RYX1BBVEhfR0FURV9PRkZfVDsKKworLyoqIFRoaXMgc3RydWN0dXJlIGlzIHVzZWQgdG8gZHluYW1pYyBjb25maWd1cmUgVFhBR0MvVFBDIEhXIGluIDFYUlRUIG1vZGUuICovCit0eXBlZGVmIHN0cnVjdCBDTDFEX1JGX1RQQ19DRkdfMVhSVFRfdGFnCit7CisgIC8qKiBbaW5dIC0gZm9yIG5vbi1SQzggY2FzZSwgaW5kaWNhdGUgVFBDIHdoZXRoZXIgbmVlZHMgdG8gY29uZmlndXJlIFRRIGluIFBDRywgaXQncyByZXNlcnZlIHRvIHVzZSovCisgIGthbF9ib29sIHRxX2VuOworICAvKiogW2luXSAtIGhhbGUgUENHIHBvd2VyIGNvbnRyb2wgc3RhdHVzLCBUUlVFOiB2YWxpZChvbmx5IGZvciBSQzgpOyBGQUxTRTogaW52YWxpZCovCisgIGthbF9ib29sIGhwY2dfcGN0cmxfZW47CisgIC8qKiBbaW5dIC0gd2hldGhlciBuZWVkcyB0byB1cGRhdGUgY2xvc2UgbG9vcCBhY2N1bXVsYXRpb24qLworICBrYWxfYm9vbCBwY2dfdmxkOworICAvKiogW2luXSAtIGNsb3NlIGxvb3Agc3RlcCB1cCBzaXplIGluIDEvNjRkQiwgUzIuNiB1bml0Ki8KKyAga2FsX2ludDE2IGNsX3N0ZXBfdXA7CisgIC8qKiBbaW5dIC0gY2xvc2UgbG9vcCBzdGVwIGRvd24gc2l6ZSBpbiAxLzY0ZEIsIFMyLjYgdW5pdCovCisgIGthbF9pbnQxNiBjbF9zdGVwX2Rvd247CisgIC8qKiBbaW5dIC0gY2xvc2UgbG9vcCBhZGp1c3RtZW50IGxpbWl0ZWQgMS82NGRCLCBTOC42IHVuaXQqLworICBrYWxfaW50MTYgY2xfYWRqX21heDsKKyAgLyoqIFtpbl0gLSBjbG9zZSBsb29wIGFkanVzdG1lbnQgbGltaXRlZCAxLzY0ZEIsIFM4LjYgdW5pdCovCisgIGthbF9pbnQxNiBjbF9hZGpfbWluOworICAvKiogW2luXSAtIG1heGltdW0gdHJhbnNtaXQgcG93ZXIgYWRqdXN0bWVudCBpbiAxLzY0ZEIsIFM1LjYgdW5pdCwgc2V0IDAgaWYgbm90IHVzZSBpdCovCisgIGthbF9pbnQxNiBtYXhfcHdyX2FkajsKKyAgLyoqIFtpbl0gLSBSUEMgYml0IGluIFNXIG1vZGUgd2l0aCBVMi4wIHVuaXQqLworICBrYWxfaW50MTYgcnBjX2JpdF9zdzsKKyAgLyoqIFtpbl0gLSBLUyB2YWx1ZSBpbiBTVyBtb2RlIHdpdGggUzYuNiB1bml0Ki8KKyAga2FsX2ludDE2IGtzX3ZhbHVlX3N3OworICAvKiogW2luXSAtIFJQQyBzeW1ib2wgcG9zaXRpb24gaW4gU1cgbW9kZSB3aXRoIFU1LjAgdW5pdCovCisgIGthbF9pbnQxNiBycGNfc3ltX3Bvc19zdzsKK31DTDFEX1JGX1RQQ19DRkdfMVhSVFRfVDsKKworLyoqIFRoaXMgc3RydWN0dXJlIGlzIHVzZWQgdG8gZHluYW1pYyBjb25maWd1cmUgVFhBR0MvVFBDIEhXIGluIEVWRE8gbW9kZS4gKi8KK3R5cGVkZWYgc3RydWN0IENMMURfUkZfVFBDX0NGR19FVkRPX3RhZworeworICAvKiogW2luXSAtIGNsb3NlIGxvb3AgdmFsaWQgc3RhdHVzLCBUUlVFOiB2YWxpZCwgY2FjdWxhdGUgdGFyZ2V0IHBvd2VyIG9sK2NsK2tzOyBGTEFTRTogaW52YWxpZCwgb2wra3MsIGF0IG9uIGFpciBUWCBzbG90IGJvdW5kcmF5Ki8KKyAga2FsX2Jvb2wgY2xfdmFsaWQ7CisgIC8qKiBbaW5dIC0gY2xvc2UgbG9vcCBzdGVwIHVwIHNpemUgaW4gMS82NGRCLCBTMi42IHVuaXQqLworICBrYWxfaW50MTYgY2xfc3RlcF91cDsKKyAgLyoqIFtpbl0gLSBjbG9zZSBsb29wIHN0ZXAgZG93biBzaXplIGluIDEvNjRkQiwgUzIuNiB1bml0Ki8KKyAga2FsX2ludDE2IGNsX3N0ZXBfZG93bjsKKyAgLyoqIFtpbl0gLSBjbG9zZSBsb29wIGFkanVzdG1lbnQgbGltaXRlZCAxLzY0ZEIsIFM4LjYgdW5pdCovCisgIGthbF9pbnQxNiBjbF9hZGpfbWF4OworICAvKiogW2luXSAtIGNsb3NlIGxvb3AgYWRqdXN0bWVudCBsaW1pdGVkIDEvNjRkQiwgUzguNiB1bml0Ki8KKyAga2FsX2ludDE2IGNsX2Fkal9taW47CisgIC8qKiBbaW5dIC0gbWF4aW11bSB0cmFuc21pdCBwb3dlciBhZGp1c3RtZW50IGluIDEvNjRkQiwgUzUuNiB1bml0LCBzZXQgMCBpZiBub3QgdXNlIGl0Ki8KKyAga2FsX2ludDE2IG1heF9wd3JfYWRqOworICAvKiogW2luXSAtIFJQQyBiaXQgaW4gU1cgbW9kZSB3aXRoIFUyLjAgdW5pdCovCisgIGthbF9pbnQxNiBycGNfYml0X3N3OworICAvKiogW2luXSAtIEtTIHZhbHVlIGluIFNXIG1vZGUgd2l0aCBTNi42IHVuaXQqLworICBrYWxfaW50MTYga3NfdmFsdWVfc3c7Cit9Q0wxRF9SRl9UUENfQ0ZHX0VWRE9fVDsKKworLyoqIEFkcyBzdHJ1Y3R1cmUgdG8gcHJvdmlkZSBwYXJhbWV0ZXJzIHRvIHRoZSBDTDFEX1JGX1RQQ19DZmcoKSBmdW5jdGlvbi4gKi8KK3R5cGVkZWYgc3RydWN0IENMMURfUkZfVFBDX0NGR190YWcKK3sKKyAgLyoqIFtpbl0gLSBpbmRpY2F0ZSB0aGUgUkFUIHR5cGUgb2YgRVZETy8xWFJUVCwgMDogMVhSVFQ7IDE6IEVWRE8gKi8KKyAga2FsX3VpbnQ4IHJhdF90eXBlOworICAvKiogW2luXSAtIHRpbWUgb2Ygb24gYWlyIFRYIGJvdW5kYXJ5IGluIFRYIHN0aW1lciwgdGhlIGNvbmZpZ3VyYXRpb24gd2lsbCBiZSBhcHBsaWVkIHRvIEhXIGFmdGVyIHRoaXMgdGltZSwgdW5pdDogZWNoaXAsIHJhbmdlOiAwfjB4QkZGRkYqLworICBrYWxfdWludDMyIHR4X3N0aW1lOworI2lmIChkZWZpbmVkKF9fTUQ5N19fKSB8fCBkZWZpbmVkKF9fTUQ5N1BfXykpCisgIC8qKiBbaW5dIC0gUlggc3RpbWUgdmFsdWUgb2YgYm91bmRhcnkscmFuZ2UgaXMgMH4weEJGRkZGICovCisgIGthbF91aW50MzIgcnhfc3RpbWU7CisjZW5kaWYKKyAgLyoqIFtpbl0gLSBzdHJ1Y3R1cmUgcG9pbnRlciBvZiBDTDFEX1JGX1RQQ19DRkdfMVhSVFRfVCBvciBDTDFEX1JGX1RQQ19DRkdfRVZET19UKi8KKyAga2FsX3VpbnQzMiAqdHBjX2NmZ19wdHI7Cit9Q0wxRF9SRl9UUENfQ0ZHX1Q7CisKKy8qKiBUaGlzIHN0cnVjdHVyZSBpcyB1c2VkIHRvIGNvbmZpZ3VyZSBUUEMgSFcgaW4gU1cgbW9kZSwgdGhlIFBBL0NQTCB0YWJsZSBpcyBjb21lIGZyb20gUkZOVlJBTS4gKi8KK3R5cGVkZWYgc3RydWN0IENMMURfUkZfVFBDX0NGR19UU1RfRklYX1BPV0VSX3RhZworeworICAvKiogW2luXSAtIHR4IHRpbWVyIHZhbHVlIG9uIGFpciwgcmFuZ2U6IDB+MHhCRkZGRiovCisgIGthbF91aW50MzIgdHhfc3RpbWU7CisjaWYgKGRlZmluZWQoX19NRDk3X18pIHx8IGRlZmluZWQoX19NRDk3UF9fKSkKKyAgLyoqIFtpbl0gLSBSWCBzdGltZSB2YWx1ZSBvZiBib3VuZGFyeSxyYW5nZSBpcyAwfjB4QkZGRkYgKi8KKyAga2FsX3VpbnQzMiByeF9zdGltZTsKKyNlbmRpZgorICAvKiogW2luXSAtIHR4IHBvd2VyIG9uIGFpciBpbiAxLzMyIGRCbSBTNi41IHVuaXQqLworICBrYWxfaW50MzIgdGFyZ2V0X3Bvd2VyOworICAvKiogW2luXSAtIFRSVUU6IElMUEMgZW5hYmxlOyBGQUxTRTogSUxQQyBkaXNhYmxlKi8KKyAga2FsX2Jvb2wgaWxwY19lbjsKKyAgLyoqIFtpbl0gLSBQQSBwb3dlciBjb250cm9sIG1vZGUsIDA6IEFQVDsgMTogRFBEOyAyOiBFVDsgMzogQXV0byovCisgIGthbF91aW50MTYgcGFfY3RybF9tb2RlOworfUNMMURfUkZfVFBDX0NGR19UU1RfRklYX1BPV0VSX1Q7CisKKy8qKiBUaGlzIHN0cnVjdHVyZSBpcyB1c2VkIHRvIGNvbmZpZ3VyZSBUUEMgSFcgaW4gU1cgbW9kZSwgdGhlIFBBL0NQTCB0YWJsZSBpcyBjb21lIGZyb20gbWFudWFsIGNvbmZpZ3VyZSBpbmZvLiAqLwordHlwZWRlZiBzdHJ1Y3QgQ0wxRF9SRl9UUENfQ0ZHX1RTVF9NQU5VQUxfUE9XRVJfdGFnCit7CisgIC8qKiBbaW5dIC0gdHggdGltZXIgdmFsdWUgb24gYWlyLCByYW5nZTogMH4weEJGRkZGKi8KKyAga2FsX3VpbnQzMiB0eF9zdGltZTsKKyNpZiAoZGVmaW5lZChfX01EOTdfXykgfHwgZGVmaW5lZChfX01EOTdQX18pKQorICAvKiogW2luXSAtIFJYIHN0aW1lIHZhbHVlIG9mIGJvdW5kYXJ5LHJhbmdlIGlzIDB+MHhCRkZGRiAqLworICBrYWxfdWludDMyIHJ4X3N0aW1lOworI2VuZGlmCisgIC8qKiBbaW5dIC0gdHggcG93ZXIgb24gYWlyIGluIDEvMzIgZEJtIFM2LjUgdW5pdCovCisgIGthbF9pbnQzMiB0YXJnZXRfcG93ZXI7CisgIC8qKiBbaW5dIC0gY291cGxlciBsb3NzIGZyb20gYW50ZW5uYSB0byBSRkRFVCBwb3J0IGluIDEvNjRkQiB1bml0Ki8KKyAga2FsX2ludDMyIGNwbF9nYWluOworICAvKiogW2luXSAtIFRSVUU6IElMUEMgZW5hYmxlOyBGQUxTRTogSUxQQyBkaXNhYmxlKi8KKyAga2FsX2Jvb2wgaWxwY19lbjsKKyAgLyoqIFtpbl0gLSBQQSBwb3dlciBjb250cm9sIG1vZGUsIDA6IEFQVDsgMTogRFBEOyAyOiBFVDsgMzogQXV0byovCisgIGthbF91aW50MTYgcGFfY3RybF9tb2RlOworICAvKiogW2luXSAtIFBBIGNvbnRleHQgdGFibGUgaW5kZXgqLworICBrYWxfdWludDE2IHBhX3RibF9pZHg7CisgIC8qKiBbaW5dIC0gcmVmZXJlbmNlIHR4IHBvd2VyIGF0IGFudGVubmEgaW4gMS82NGRCbSB1bml0Ki8KKyAga2FsX2ludDMyIHJlZl90YXJnZXRfcG93ZXI7CisgIC8qKiBbaW5dIC0gYWxnb3JpdGhtIHJlZmVyZW5jZSB0eCBwb3dlciBvdXRwdXQgUEEgaW4gMS82NGRCbSB1bml0Ki8KKyAga2FsX2ludDMyIHBhX2dhaW47CisgIC8qKiBbaW5dIC0gUEEgcG93ZXIgbW9kZSwgSC9NL0wgbW9kZSwgQ0wxRF9SRl9QQV9NT0RFX0UgZW51bSovCisgIGthbF91aW50MTYgcGFfbW9kZTsKKyAgLyoqIFtpbl0gLSBQQSBiaWFzIHZvbHRhZ2UgaW4gbVYgdW5pdCovCisgIGthbF91aW50MTYgcGFfdmRkOworICAvKiogW2luXSAtIFBBIG1vZGUgY29udHJvbCB3aXRoIEJQSSovCisgIGthbF91aW50MTYgcGFfdm0wOworICAvKiogW2luXSAtIFBBIG1vZGUgY29udHJvbCB3aXRoIEJQSSovCisgIGthbF91aW50MTYgcGFfdm0xOworICAvKiogW2luXSAtIEFNIHZhbHVlIGluIERQRCBtb2RlKFRCRCkqLworICBrYWxfaW50MTYgZHBkX2FtOworICAvKiogW2luXSAtIFBNIHZhbHVlIGluIERQRCBtb2RlKFRCRCkqLworICBrYWxfaW50MTYgZHBkX3BtOworfUNMMURfUkZfVFBDX0NGR19UU1RfTUFOVUFMX1BPV0VSX1Q7CisKKy8qKiBUaGlzIHN0cnVjdHVyZSBpcyB1c2VkIHRvIGNvbmZpZ3VyZSBUUEMgRmRCIHBhcmFtZXRlcnMuICovCit0eXBlZGVmIHN0cnVjdCBDTDFEX1JGX1RQQ19DRkdfVFNUX0ZEQl90YWcKK3sKKyAgLyoqIFtpbl0gLSBGREIgaW5kZXggdW5pdCBpcyAxLzMyKi8KKyAga2FsX2ludDE2IGZkYl9pZHg7CisgIC8qKiBbaW5dIC0gRkRCIHVuaXQgaXMgMS8zMiovCisgIGthbF9pbnQxNiBmZGI7Cit9Q0wxRF9SRl9UUENfQ0ZHX1RTVF9GREJfVDsKKworLyoqIEFkcyBzdHJ1Y3R1cmUgdG8gcHJvdmlkZSBwYXJhbWV0ZXJzIHRvIHRoZSBDTDFEX1JGX1RQQ19DZmdfVGVzdCgpIGZ1bmN0aW9uLiAqLwordHlwZWRlZiBzdHJ1Y3QgQ0wxRF9SRl9UUENfQ0ZHX1RFU1RfdGFnCit7CisgIC8qKiBbaW5dIC0gaW5kaWNhdGUgdGhlIFJBVCB0eXBlIG9mIEVWRE8vMVhSVFQsIDA6IDFYUlRUOyAxOiBFVkRPICovCisgIGthbF91aW50OCByYXRfdHlwZTsKKyAgLyoqIFtpbl0gLSBlbnVtIHR5cGUgb2YgQ0wxRF9SRl9UUENfVEVTVF9NT0RFX0UsIDA6IGZpeCBwb3dlciBtb2RlOyAxOiBtYW51YWwgcG93ZXIgbW9kZTsgMjogRkRCIG1vZGUqLworICBrYWxfdWludDggdGVzdF9tb2RlOworICAvKiogW2luXSAtIHN0cnVjdHVyZSBwb2ludGVyIG9mIHRlc3RfbW9kZSovCisgIGthbF91aW50MzIqIGNmZ19wdHI7Cit9Q0wxRF9SRl9UUENfQ0ZHX1RFU1RfVDsKKworLyoqIFRoaXMgc3RydWN0dXJlIGlzIHVzZWQgdG8gc3RvcmUgVFBDIEhXIGluZm9ybWF0aW9uIGluIDFYUlRUIG1vZGUuICovCit0eXBlZGVmIHN0cnVjdCBDTDFEX1JGX1RQQ19JTkZPXzFYUlRUX3RhZworeworICAvKiogW291dF0gLSBQQ0cgbnVtYmVyKHJldmVyc2UgdG8gdXNlKSovCisgIGthbF91aW50MTYgcGNnX251bTsKKyAgLyoqIFtvdXRdIC0gY2xvc2UgbG9vcCBhZGp1c3QgYWNjdW11bGF0aW9uIHdpdGggMS82NGRCIFM4LjYgdW5pdCovCisgIGthbF9pbnQxNiBjbF9hY2N1bV9wcmU7CisgIC8qKiBbb3V0XSAtIFJTU0kgdmFsdWUgd2l0aCBmaWx0ZXIgaW4gVFhBR0MgSFcgd2l0aCAxLzY0ZEIgUzcuNiB1bml0Ki8KKyAga2FsX2ludDE2IG9sX3J4X3B3cl9maWx0ZXJfcHJlOworICAvKiogW291dF0gLSBjdXJyZW50IG1heCBsaW1pdCB0eCBwb3dlciB3aXRoIHRlbXBlcmF0dXJlIGJhY2sgb2ZmIGFuZCBTV1RQIGJhY2sgb2ZmIGluIEhXIHdpdGggMS82NGRCIFM1LjYgdW5pdCovCisgIGthbF9pbnQxNiBwd3JfbWF4OworICAvKiogW291dF0gLSB0eCBwb3dlciBjYWxjdWxhdGVkIGJ5IFRQQyBIVyovCisgIGthbF9pbnQxNiB0YXJnZXRfcHdyOworICAvKiogW291dF0gLSBLUyBpbiBIVyB3aXRoIDEvNjRkQiBTNi42IHVuaXQqLworICBrYWxfaW50MTYga3M7CisgIC8qKiBbb3V0XSAtIFJQQyBiaXQgcG9zaXRpb24qLworICBrYWxfaW50MTYgcnBjX3N5bV9wb3M7CisgIC8qKiBbb3V0XSAtIFRYVVBDIHRyaWdnZXIqLworICBrYWxfaW50MTYgdHhfdXBjX3RyaWc7CisgIC8qKiBbb3V0XSAtIFJQQyBiaXQqLworICBrYWxfaW50MTYgcnBjX2JpdDsKK31DTDFEX1JGX1RQQ19JTkZPXzFYUlRUX1Q7CisKKy8qKiBUaGlzIHN0cnVjdHVyZSBpcyB1c2VkIHRvIHN0b3JlIFRQQyBIVyBpbmZvcm1hdGlvbiBpbiBFVkRPIG1vZGUuICovCit0eXBlZGVmIHN0cnVjdCBDTDFEX1JGX1RQQ19JTkZPX0VWRE9fdGFnCit7CisgIC8qKiBbb3V0XSAtIHNsb3QgbnVtYmVyKi8KKyAga2FsX3VpbnQxNiBzbG90X251bTsKKyAgLyoqIFtvdXRdIC0gY2xvc2UgbG9vcCBhZGp1c3QgYWNjdW11bGF0aW9uIHdpdGggMS82NGRCIFM4LjYgdW5pdCovCisgIGthbF9pbnQxNiBjbF9hY2N1bV9wcmU7CisgIC8qKiBbb3V0XSAtIFJTU0kgdmFsdWUgd2l0aCBmaWx0ZXIgaW4gVFhBR0MgSFcgd2l0aCAxLzY0ZEIgUzcuNiB1bml0Ki8KKyAga2FsX2ludDE2IG9sX3J4X3B3cl9maWx0ZXJfcHJlOworICAvKiogW291dF0gLSBjdXJyZW50IG1heCBsaW1pdCB4IHBvd2VyIHdpdGggdGVtcGVyYXR1cmUgYmFjayBvZmYgYW5kIFNXVFAgYmFjayBvZmYgaW4gSFcgd2l0aCAxLzY0ZEIgUzUuNiB1bml0Ki8KKyAga2FsX2ludDE2IHB3cl9tYXg7CisgIC8qKiBbb3V0XSAtIHR4IHBvd2VyIGNhbGN1bGF0ZWQgYnkgVFBDIEhXKi8KKyAga2FsX2ludDE2IHRhcmdldF9wd3I7CisgICAvKiogW291dF0gLSAoY2FsY3VsYXRlIHRhcmdldCBwb3dlci1wd3JfbWF4KSBpbiBIVyB3aXRoIDEvNjRkQiBTNS42IHVuaXQqLworICBrYWxfaW50MTYgbWF4X2xpbWl0X3RoZF9jbGlwOworICAvKiogW291dF0gLSBLUyBpbiBIVyB3aXRoIDEvNjRkQiBTNi42IHVuaXQqLworICBrYWxfaW50MTYga3M7CisgIC8qKiBbb3V0XSAtIFJQQyBiaXQqLworICBrYWxfaW50MTYgcnBjX2JpdDsKKyAgIC8qKiBbb3V0XSAtIHBvd2VyIHJlZmVyZW5jZSB1c2VkIGZvciBvcGVuIGxvb3AgZXN0aW1hdGlvbiB3aXRoIDEvNjRkQiBTOS42IHVuaXQqLworICBrYWxfaW50MTYgcHdyX3JlZjsKK31DTDFEX1JGX1RQQ19JTkZPX0VWRE9fVDsKKworLyoqIEFkcyBzdHJ1Y3R1cmUgdG8gcHJvdmlkZSBwYXJhbWV0ZXJzIHRvIHRoZSBDTDFEX1JGX1RQQ19JbmZvX1F1ZXJ5KCkgZnVuY3Rpb24uICovCit0eXBlZGVmIHN0cnVjdCBDTDFEX1JGX1RQQ19JTkZPX1FVRVJZX3RhZworeworICAvKiogW2luXSAtIGluZGljYXRlIHRoZSBSQVQgdHlwZSBvZiBFVkRPLzFYUlRULCAwOiAxWFJUVDsgMTogRVZETyAqLworICBrYWxfdWludDggcmF0X3R5cGU7CisgIC8qKiBbb3V0XSAtIHN0cnVjdHVyZSBwb2ludGVyIG9mIENMMURfUkZfVFBDX1RQQ19JTkZPXzFYUlRUX1Qgb3IgQ0wxRF9SRl9UUENfVFBDX0lORk9fRVZET19UKGRpbWVuc2lvbiBpcyB0d28gaGFsZi1zbG90KSovCisgIGthbF91aW50MzIgKnRwY19pbmZvOworfUNMMURfUkZfVFBDX0lORk9fUVVFUllfVDsKKworLyoqIEFkcyBzdHJ1Y3R1cmUgdG8gcHJvdmlkZSBwYXJhbWV0ZXJzIHRvIHRoZSBDTDFEX1JGX1RQQ19BbnRlbm5hX1Bvd2VyX1F1ZXJ5KCkgZnVuY3Rpb24uICovCit0eXBlZGVmIHN0cnVjdCBDTDFEX1JGX1RQQ19BTlRFTk5BX1BPV0VSX1FVRVJZX3RhZworeworICAvKiogW291dF0gLSBjdXJyZW50IHR4IHBvd2VyIGF0IGFudGVubmEgaW4gMS8zMmRCbSB1bml0Ki8KKyAga2FsX2ludDE2IGFudF9wb3dlcjsKK31DTDFEX1JGX1RQQ19BTlRFTk5BX1BPV0VSX1FVRVJZX1Q7CisKKyNpZiAoZGVmaW5lZChfX01EOTdfXykgfHwgZGVmaW5lZChfX01EOTdQX18pKQorLyoqIEFkcyBzdHJ1Y3R1cmUgdG8gcHJvdmlkZSBwYXJhbWV0ZXJzIHRvIHRoZSBDTDFEX1JGX1RQQ19BbGdvX1Jlc3VsdF9RdWVyeSgpIGZ1bmN0aW9uLiAqLwordHlwZWRlZiBzdHJ1Y3QgQ0wxRF9SRl9UUENfQUxHT19SRVNVTFRfUVVFUllfdGFnCit7CisgIC8qKiBbaW5dIC0gaW5kaWNhdGUgdGhlIFJBVCB0eXBlIG9mIEVWRE8vMVhSVFQsIDA6IDFYUlRUOyAxOiBFVkRPICovCisgIGthbF91aW50OCByYXRfdHlwZTsKKyAgLyoqIFtvdXRdIC0gY3VycmVudCBvcCBtb2RlLCBVMi4wLCBIVyByZXR1cm4sIDA6IEVUOyAxOiBEUEQ7IDI6IEFQVCAqLworICBrYWxfdWludDggb3BfbW9kZTsKKyAgLyoqIFtvdXRdIC0gUEdBIGdhaW4gaW5kZXgsIFU1LjAqLworICBrYWxfdWludDggcGdhX2lkeDsKKyAgLyoqIFtvdXRdIC0gUEEgZ2FpbiBpbmRleCwgVTUuMCovCisgIGthbF91aW50OCBwYV9pZHg7CisgIC8qKiBbb3V0XSAtIERFVCBnYWluIGluZGV4LCBVNC4wKi8KKyAga2FsX3VpbnQ4IGRldF9pZHg7CisgIC8qKiBbb3V0XSAtIFBHQSBBL0IgdGFibGUgbW9kZSwgVTEuMCovCisgIGthbF91aW50OCBwZ2FfbW9kZTsKKyAgLyoqIFtvdXRdIC0gZGVzaXJlZCB0eCBnYWluLCBTNy41Ki8KKyAga2FsX2ludDE2IGd0eF9kYjsKKyAgLyoqIFtvdXRdIC0gdGFyZ2V0IHBvd2VyLCBTNy41Ki8KKyAga2FsX2ludDE2IGd0YXJfZGI7CisgIC8qKiBbb3V0XSAtIFBBIGdhaW4sIFM2LjUqLworICBrYWxfaW50MTYgcGFfZGI7CisgIC8qKiBbb3V0XSAtIFBHQSBnYWluLCBTNy41Ki8KKyAga2FsX2ludDE2IHBnYV9kYjsKKyAgLyoqIFtvdXRdIC0gZGlnaXRhbCBnYWluLCBTNi41Ki8KKyAga2FsX2ludDE2IGJiX2RiOworICAvKiogW291dF0gLSBkZXQgcGF0aCBGRStQR0EgZ2FpbiwgUzYuNSovCisgIGthbF9pbnQxNiBkZXRfcmZfZGI7CisgIC8qKiBbb3V0XSAtIGNvdXBsZXJsb3NzIGdhaW4gb2YgREVUIHBhdGgsIFM2LjUqLworICBrYWxfaW50MTYgY3BsX2dhaW47CisgIC8qKiBbb3V0XSAtIGJhY2sgb2ZmIGdhaW4sIFM2LjUqLworICBrYWxfaW50MTYgYmtmX2dhaW47CisgIC8qKiBbb3V0XSAtIElMUEMgY29tcGVuc2F0aW9uIHZhbHVlIGZvciB0eCBQR0EgZ2FpbiBhZGp1c3RtZW50LCBTNC41Ki8KKyAga2FsX2ludDE2IG1lYXNfcmY7CisgIC8qKiBbb3V0XSAtIEREUEMgZGV0IHZhciBmcm9tIFRQQyBIVywgUzI0LjAqLworICBrYWxfaW50MzIgZGRwY19kZXQ7CisgIC8qKiBbb3V0XSAtIFBBIG91dHB1dCBwb3dlciBiZSBtZXN1cmVkLCBTNi41Ki8KKyAga2FsX2ludDE2IHBwYV9kYm07CisgIC8qKiBbb3V0XSAtIFJYIHJzc2kgZm9yIFRYQUdDLCBTNy42Ki8KKyAga2FsX2ludDE2IG9sX3J4X3B3cl9maWx0ZXI7Cit9Q0wxRF9SRl9UUENfQUxHT19SRVNVTFRfUVVFUllfVDsKKyNlbmRpZgorCisvKiogVGhpcyBzdHJ1Y3R1cmUgaXMgdXNlZCB0byBjb25maWd1cmUgUlhERkUgTkNPLiAqLwordHlwZWRlZiBzdHJ1Y3QgQ0wxRF9SRl9SWERGRV9OQ09fQ0ZHX3RhZworeworICAvKiogW2luXSAtIFJYREZFIGZvZSwgdW5pdCBpcyBoeiAqLworICBrYWxfaW50MzIgIGZvZTsKK30gQ0wxRF9SRl9SWERGRV9OQ09fQ0ZHX1Q7CisKKy8qKiBUaGlzIHN0cnVjdHVyZSBpcyB1c2VkIHRvIGNvbmZpZ3VyZSBSWERGRSBOQklGLiAqLwordHlwZWRlZiBzdHJ1Y3QgQ0wxRF9SRl9SWERGRV9OQklGX0NGR190YWcKK3sKKyAgLyoqIFtpbl0gLSB0aGUgdmFsaWQgYml0IG1hcCBpbmZvIG9mIHRocmVlIE5CSUZzLCAzYid4eHggKi8KKyAga2FsX3VpbnQ4ICBuYmlmX2JtcDsKKyAgLyoqIFtpbl0gLSBwb3NpdGlvbiBvZiBOQklGIGZvciBJIHBhdGggKi8KKyAga2FsX2ludDMyICBuYmlmX2FpW0NMMURfUkZfUlhERkVfTkJJRl9OVU1dOworICAvKiogW2luXSAtIHBvc2l0aW9uIG9mIE5CSUYgZm9yIFEgcGF0aCAqLworICBrYWxfaW50MzIgIG5iaWZfYXFbQ0wxRF9SRl9SWERGRV9OQklGX05VTV07CisgIC8qKiBbaW5dIC0gcm91bmRpbmcgbW9kZSBvZiBOQklGICovCisgIGthbF91aW50MzIgbmJpZl9wW0NMMURfUkZfUlhERkVfTkJJRl9OVU1dOworfSBDTDFEX1JGX1JYREZFX05CSUZfQ0ZHX1Q7CisKKy8qKiBBZHMgc3RydWN0dXJlIHRvIHByb3ZpZGUgcGFyYW1ldGVycyB0byB0aGUgQ0wxRF9SRl9SeF9QYXRoX09uKCkgZnVuY3Rpb24uICovCit0eXBlZGVmIHN0cnVjdCBDTDFEX1JGX1JYX1BBVEhfT05fdGFnCit7CisgIC8qKiBbaW5dIC0gSW5kaWNhdGUgdGhlIFJBVCB0eXBlIG9mIEVWRE8vMVhSVFQgKi8KKyAga2FsX3VpbnQ4ICByYXRfdHlwZTsKKyAgLyoqIFtpbl0gLSBSeCB0aW1lciB2YWx1ZSB0aGF0IGFsaWduIHRvIEhSVCBvZiBSWE9OLCByYW5nZSBpcyAwfjB4QkZGRkYgKi8KKyAga2FsX3VpbnQzMiByeF9zdGltZTsKKyAgLyoqIFtpbl0gLSAzR1BQMiBiYW5kIGNsYXNzICovCisgIGthbF91aW50OCAgYmFuZF9jbGFzczsKKyAgLyoqIFtpbl0gLSBDaGFubmVsIG51bWJlciAqLworICBrYWxfdWludDE2IGNoYW5uZWw7CisgIC8qKiBbaW5dIC0geyBzZWNvbmQgUngsIGRpdmVyc2l0eSBSeCwgbWFpbiBSeH0KKyAgICAgICAgICAgICAgYml0MDogbWFpbiBSeAorICAgICAgICAgICAgICBiaXQxOiBkaXZlcnNpdHkgUngKKyAgICAgICAgICAgICAgYml0Mjogc2Vjb25kIFJ4CisgICovCisgIGthbF91aW50OCAgcGF0aF9ibXA7CisgIC8qKiBbaW5dIC0gdG90YWwgZnJlcXVlbmN5IG9mZnNldCBlcnJvciBpbiBIeiAqLworICBrYWxfaW50MzIgIGZvZV9oejsKKyAgLyoqIFtpbl0gLSBpbml0aWFsIFJTU0kgaW4gMS8zMiBkQm0qLworICBrYWxfaW50MzIgIGluaXRfcnNzaVtDTDFEX1JGX01BWF9OVU1fT0ZfUlhdOworICAvKiogW2luXSAtIHBvd2VyIG1vZGUgb2YgQ0wxRF9SRl9QV1JfTU9ERV9FKi8KKyAga2FsX3VpbnQ4ICBwb3dlcl9tb2RlOworICAvKiogW2luXSAtIFRoZSBzbG90L1BDRyBudW1iZXIgdG8ga2VlcCBGQVNUIHN0YXRlIGJlZm9yZSBTVEVBRFkgc3RhdGUqLworICBrYWxfdWludDggIGZhc3RfbnVtOworICAvKiogW2luXSAtIElDUy9GQVNUL1NURUFEWSwgSUNTIHN0YXRlIG9ubHkgZm9yIEVWRE8qLworICBrYWxfdWludDggIGFnY19mc207CisgIC8qKiBbaW5dIC0gdXNlIHRvIGdldCB0aGUgYmFja3VwIGdhaW4gc2V0dGluZyBmcm9tIGNlbGwgdGFibGUgYnkgcnggcGF0aCwweEZGIG1lYW5zIE5PVCByZXN1bWUgZnJvbSBoaXN0b3J5IHJlY29yZCAqLworICBrYWxfdWludDE2IGNlbGxfaW5kZXhbQ0wxRF9SRl9NQVhfTlVNX09GX1JYXTsKKworI2lmIChkZWZpbmVkKF9fTUQ5N19fKSB8fCBkZWZpbmVkKF9fTUQ5N1BfXykpCisgIE1NUkZEX0NVU1RPTV9UQVNfU1RBVEVfRSBhbnRfc3RhdGU7CisjZW5kaWYKK30gQ0wxRF9SRl9SWF9QQVRIX09OX1Q7CisKKy8qKiBBZHMgc3RydWN0dXJlIHRvIHByb3ZpZGUgcGFyYW1ldGVycyB0byB0aGUgQ0wxRF9SRl9SeF9QYXRoX09uKCkgZnVuY3Rpb24uICovCit0eXBlZGVmIHN0cnVjdCBDTDFEX1JGX1JYX1BBVEhfT0ZGX3RhZworeworICAvKiogW2luXSAtIEluZGljYXRlIHRoZSBSQVQgdHlwZSBvZiBFVkRPLzFYUlRUICovCisgIGthbF91aW50OCAgcmF0X3R5cGU7CisgIC8qKiBbaW5dIC0gUnggdGltZXIgdmFsdWUgdGhhdCBhbGlnbiB0byBIUlQgb2YgUlhPTiwgcmFuZ2UgaXMgMH4weEJGRkZGICovCisgIGthbF91aW50MzIgcnhfc3RpbWU7CisgIC8qKiBbaW5dIC0geyBzZWNvbmQgUngsIGRpdmVyc2l0eSBSeCwgbWFpbiBSeH0KKyAgICAgICAgICAgICAgYml0MDogbWFpbiBSeAorICAgICAgICAgICAgICBiaXQxOiBkaXZlcnNpdHkgUngKKyAgICAgICAgICAgICAgYml0Mjogc2Vjb25kIFJ4CisgICovCisgIGthbF91aW50OCAgcGF0aF9ibXA7CisgIC8qKiBbaW5dIC0gc2F2ZSBBR0MgaW5kZXggaW4gaGlzdG9yeSByZWNvZGUuIDB4RkYgbWVhbnMgTk9UIHNhdmUgaW4gaGlzdG9yeSByZWNvcmQgKi8KKyAga2FsX3VpbnQxNiBjZWxsX2luZGV4W0NMMURfUkZfTUFYX05VTV9PRl9SWF07Cit9IENMMURfUkZfUlhfUEFUSF9PRkZfVDsKKworLyoqIFRoaXMgc3RydWN0dXJlIGlzIHVzZWQgdG8gZHluYW1pYyB1cGRhdGUgQUdDIEZTTSBhbmQgcG93ZXIgbW9kZSBpbiBFVkRPIG1vZGUuICovCit0eXBlZGVmIHN0cnVjdCBDTDFEX1JGX0FHQ19DRkdfRVZET190YWcKK3sKKyAgLyoqIFtpbl0gLSBJbmRpY2F0ZSB3aGV0aGVyIEZTTSBpcyB2YWxpZCAqLworICBrYWxfYm9vbCAgIGFnY19mc21fdmxkOworICAvKiogW2luXSAtIElDUy9GQVNUL1NURUFEWSwgSUNTIHN0YXRlIG9ubHkgZm9yIEVWRE8gKi8KKyAga2FsX3VpbnQ4ICBhZ2NfZnNtOworICAvKiogW2luXSAtIEluZGljYXRlIHdoZXRoZXIgcG93ZXIgbW9kZSBpcyB2YWxpZCAqLworICBrYWxfYm9vbCAgIHBvd2VyX21vZGVfdmxkOworICAvKiogW2luXSAtIHBvd2VyIG1vZGUgb2YgQ0wxRF9SRl9QV1JfTU9ERV9FKi8KKyAga2FsX3VpbnQ4ICBwb3dlcl9tb2RlOworfSBDTDFEX1JGX0FHQ19DRkdfRVZET19UOworCisvKiogVGhpcyBzdHJ1Y3R1cmUgaXMgdXNlZCB0byBkeW5hbWljIHVwZGF0ZSBBR0MgRlNNIGFuZCBwb3dlciBtb2RlIGluIEVWRE8gbW9kZS4gKi8KK3R5cGVkZWYgc3RydWN0IENMMURfUkZfQUdDX0NGR18xWFJUVF90YWcKK3sKKyAgLyoqIFtpbl0gLSBJbmRpY2F0ZSB3aGV0aGVyIHBvd2VyIG1vZGUgaXMgdmFsaWQgKi8KKyAga2FsX2Jvb2wgICBwb3dlcl9tb2RlX3ZsZDsKKyAgLyoqIFtpbl0gLSBwb3dlciBtb2RlIG9mIENMMURfUkZfUFdSX01PREVfRSovCisgIGthbF91aW50OCAgcG93ZXJfbW9kZTsKK30gQ0wxRF9SRl9BR0NfQ0ZHXzFYUlRUX1Q7CisKKy8qKiBBZHMgc3RydWN0dXJlIHRvIHByb3ZpZGUgcGFyYW1ldGVycyB0byB0aGUgQ0wxRF9SRl9BR0NfQ2ZnKCkgZnVuY3Rpb24uICovCit0eXBlZGVmIHN0cnVjdCBDTDFEX1JGX0FHQ19DRkdfdGFnCit7CisgIC8qKiBbaW5dIC0gSW5kaWNhdGUgdGhlIFJBVCB0eXBlIG9mIEVWRE8vMVhSVFQgKi8KKyAga2FsX3VpbnQ4ICAgcmF0X3R5cGU7CisgIC8qKiBbaW5dIC0gUnggdGltZXIgdmFsdWUsIHJhbmdlIGlzIDB+MHhCRkZGRiAqLworICBrYWxfdWludDMyIHJ4X3N0aW1lOworICAvKiogW2luXSAtIHsgc2Vjb25kIFJ4LCBkaXZlcnNpdHkgUngsIG1haW4gUnh9CisgICAgICAgICAgICAgIGJpdDA6IG1haW4gUngKKyAgICAgICAgICAgICAgYml0MTogZGl2ZXJzaXR5IFJ4CisgICAgICAgICAgICAgIGJpdDI6IHNlY29uZCBSeAorICAqLworICBrYWxfdWludDggIHBhdGhfYm1wOworICAvKiogW2luXSAtIFN0cnVjdHVyZSBwb2ludGVyIG9mIENMMURfUkZfQUdDX0NGR19FVkRPX1QvQ0wxRF9SRl9BR0NfQ0ZHXzFYUlRUX1QgKi8KKyAga2FsX3VpbnQzMiogICBhZ2NfY2ZnX3B0cjsKK30gQ0wxRF9SRl9BR0NfQ0ZHX1Q7CisKKy8qKiBBZHMgc3RydWN0dXJlIHRvIHByb3ZpZGUgcGFyYW1ldGVycyB0byB0aGUgQ0wxRF9SRl9BR0NfUnNzaV9RdWVyeSgpIGZ1bmN0aW9uLiAqLwordHlwZWRlZiBzdHJ1Y3QgQ0wxRF9SRl9BR0NfUlNTSV9RVUVSWV90YWcKK3sKKyAgLyoqIFtpbl0gLSBJbmRpY2F0ZSB0aGUgUkFUIHR5cGUgb2YgRVZETy8xWFJUVCAqLworICBrYWxfdWludDggIHJhdF90eXBlOworICAvKiogW2luXSAtIHsgc2Vjb25kIFJ4LCBkaXZlcnNpdHkgUngsIG1haW4gUnh9CisgICAgICAgICAgICAgIGJpdDA6IG1haW4gUngKKyAgICAgICAgICAgICAgYml0MTogZGl2ZXJzaXR5IFJ4CisgICAgICAgICAgICAgIGJpdDI6IHNlY29uZCBSeAorICAqLworICBrYWxfdWludDggIHBhdGhfYm1wOworICAvKiogW291dF0gLSBSU1NJIHJlc3VsdCBvZiAzIFJ4IHBhdGguCisgICAgICAgICAgICAgIG5vcm1hbCBtb2RlOiBpbmNsdWRlIHRlbXBlcmF0dXJlIGNvbXAgYW5kIGxvdyBwb3dlciBjb21wLCBpdCdzIGEgYXZlcmFnZSBvZiBjdXJyZW50IFNMT1QvUENHCisgICAgICAgICAgICAgIHRlc3QvbWV0YSBtb2RlOiBpbmNsdWRlIHRlbXBlcmF0dXJlIGNvbXAgd2l0aG91dCBsb3dlciBjb21wLCBpdCdzIGEgYXZlcmFnZSBvZiB0ZXN0aW5nIHBlcmlvZAorICAqLworICBrYWxfaW50MTYgIHJzc2lbQ0wxRF9SRl9NQVhfTlVNX09GX1JYXTsKK30gQ0wxRF9SRl9BR0NfUlNTSV9RVUVSWV9UOworCisvKiogQWRzIHN0cnVjdHVyZSB0byBwcm92aWRlIHBhcmFtZXRlcnMgdG8gdGhlIENMMURfUkZfUEFIVF9TTlJfUXVlcnkoKSBmdW5jdGlvbi4gKi8KK3R5cGVkZWYgc3RydWN0IENMMURfUkZfUEFUSF9TTlJfUVVFUllfdGFnCit7CisgIC8qKiBbaW5dIC0gSW5kaWNhdGUgdGhlIFJBVCB0eXBlIG9mIEVWRE8vMVhSVFQgKi8KKyAga2FsX3VpbnQ4ICByYXRfdHlwZTsKKyAgLyoqIFtpbl0gLSB7IHNlY29uZCBSeCwgZGl2ZXJzaXR5IFJ4LCBtYWluIFJ4fQorICAgICAgICAgICAgICBiaXQwOiBtYWluIFJ4CisgICAgICAgICAgICAgIGJpdDE6IGRpdmVyc2l0eSBSeAorICAgICAgICAgICAgICBiaXQyOiBzZWNvbmQgUngKKyAgKi8KKyAga2FsX3VpbnQ4ICBwYXRoX2JtcDsKKyAgLyoqIFtvdXRdIC0gU05SIHJlc3VsdCBvZiAzIFJ4IHBhdGguCisgICAgICAgICAgICAgIG5vcm1hbCBtb2RlOiBpbmNsdWRlIHRlbXBlcmF0dXJlIGNvbXAgYW5kIGxvdyBwb3dlciBjb21wLCBpdCdzIGEgYXZlcmFnZSBvZiBjdXJyZW50IFNMT1QvUENHCisgICAgICAgICAgICAgIHRlc3QvbWV0YSBtb2RlOiBpbmNsdWRlIHRlbXBlcmF0dXJlIGNvbXAgd2l0aG91dCBsb3dlciBjb21wLCBpdCdzIGEgYXZlcmFnZSBvZiB0ZXN0aW5nIHBlcmlvZAorICAqLworICBrYWxfaW50MTYgIHNucltDTDFEX1JGX01BWF9OVU1fT0ZfUlhdOworfSBDTDFEX1JGX1BBVEhfU05SX1FVRVJZX1Q7CisKKy8qKiBBZHMgc3RydWN0dXJlIHRvIHByb3ZpZGUgcGFyYW1ldGVycyB0byB0aGUgQ0wxRF9SRl9QQVRIX0VDX0lPX1F1ZXJ5KCkgZnVuY3Rpb24uICovCit0eXBlZGVmIHN0cnVjdCBDTDFEX1JGX1BBVEhfRUNfSU9fUVVFUllfdGFnCit7CisgIC8qKiBbaW5dIC0gSW5kaWNhdGUgdGhlIFJBVCB0eXBlIG9mIEVWRE8vMVhSVFQgKi8KKyAga2FsX3VpbnQ4ICByYXRfdHlwZTsKKyAgLyoqIFtpbl0gLSB7IHNlY29uZCBSeCwgZGl2ZXJzaXR5IFJ4LCBtYWluIFJ4fQorICAgICAgICAgICAgICBiaXQwOiBtYWluIFJ4CisgICAgICAgICAgICAgIGJpdDE6IGRpdmVyc2l0eSBSeAorICAgICAgICAgICAgICBiaXQyOiBzZWNvbmQgUngKKyAgKi8KKyAga2FsX3VpbnQ4ICBwYXRoX2JtcDsKKyAgLyoqIFtvdXRdIC0gUlNTSSByZXN1bHQgb2YgMyBSeCBwYXRoLgorICAgICAgICAgICAgICBub3JtYWwgbW9kZTogaW5jbHVkZSB0ZW1wZXJhdHVyZSBjb21wIGFuZCBsb3cgcG93ZXIgY29tcCwgaXQncyBhIGF2ZXJhZ2Ugb2YgY3VycmVudCBTTE9UL1BDRworICAgICAgICAgICAgICB0ZXN0L21ldGEgbW9kZTogaW5jbHVkZSB0ZW1wZXJhdHVyZSBjb21wIHdpdGhvdXQgbG93ZXIgY29tcCwgaXQncyBhIGF2ZXJhZ2Ugb2YgdGVzdGluZyBwZXJpb2QKKyAgKi8KKyAga2FsX2ludDE2ICBlY2lvW0NMMURfUkZfTUFYX05VTV9PRl9SWF07Cit9IENMMURfUkZfUEFUSF9FQ19JT19RVUVSWV9UOworCisKKy8qKiBUaGlzIHN0cnVjdHVyZSBpcyB1c2VkIHRvIGNvbmZpZ3VyZSBBR0NEQyBIVyBpbiBGSVggR0FJTiBtb2RlLiAqLwordHlwZWRlZiBzdHJ1Y3QgQ0wxRF9SRl9BR0NfQ0ZHX1RTVF9GSVhfR0FJTl90YWcKK3sKKyAgLyoqIFtpbl0gLSBJQ1MvRkFTVC9TVEVBRFkvRkhDICovCisgIGthbF91aW50OCAgYWdjX2ZzbTsKKyAgLyoqIFtpbl0gLSBwb3dlciBtb2RlIG9mIENMMURfUkZfUFdSX01PREVfRSovCisgIGthbF91aW50OCAgcG93ZXJfbW9kZTsKKyAgLyoqIFtpbl0gLSBMTkEgaW5kZXggb2YgQ0wxRF9SRl9MTkFfTU9ERV9FKi8KKyAga2FsX3VpbnQ4ICBsbmFfaWR4OworICAvKiogW2luXSAtIFJ4IHRpbWVyIHZhbHVlLCByYW5nZSBpcyAwfjB4QkZGRkYsIGluZGljYXRlIHdoZW4gdG8gYmVnaW4gUlNTSSBhdmVyYWdlLAorICAgICAgICAgICAgIDB4RkZGRkZGRkYgbWVhbnMgbm8gdGltZSBsaW1pdGF0aW9uCisgICovCisgIGthbF91aW50MzIgcnNzaV9hdmdfc3RhcnRfdGltZTsKKworICAvKiogW2luXSAtIFJ4IHRpbWVyIHZhbHVlLCByYW5nZSBpcyAwfjB4QkZGRkYsIGluZGljYXRlIHdoZW4gdG8gZW5kIFJTU0kgYXZlcmFnZSwKKyAgICAgICAgICAgICAweEZGRkZGRkZGIG1lYW5zIG5vIHRpbWUgbGltaXRhdGlvbgorICAqLworICBrYWxfdWludDMyIHJzc2lfYXZnX2VuZF90aW1lOworCit9IENMMURfUkZfQUdDX0NGR19UU1RfRklYX0dBSU5fVDsKKworLyoqIFRoaXMgc3RydWN0dXJlIGlzIHVzZWQgdG8gY29uZmlndXJlIEFHQ0RDIEhXIGluIE1BTlVBTCBtb2RlLiAqLwordHlwZWRlZiBzdHJ1Y3QgQ0wxRF9SRl9BR0NfQ0ZHX1RTVF9NQU5VQUxfdGFnCit7CisgIC8qKiBbaW5dIC0gSUNTL0ZBU1QvU1RFQURZL0ZIQyAqLworICBrYWxfdWludDggYWdjX2ZzbTsKKyAgLyoqIFtpbl0gLSBwb3dlciBtb2RlIG9mIENMMURfUkZfUFdSX01PREVfRSAqLworICBrYWxfdWludDggcG93ZXJfbW9kZTsKKyAgLyoqIFtpbl0gLSBMTkEgaW5kZXggb2YgQ0wxRF9SRl9MTkFfTU9ERV9FICovCisgIGthbF91aW50OCBsbmFfaWR4OworICAvKiogW2luXSAtIFBHQSBpbmRleCBvZiBDTDFEX1JGX1BHQV9JTkRFWF9FICovCisgIGthbF91aW50OCBwZ2FfaWR4OworICAvKiogW2luXSAtIGRpZ2l0YWwgZ2FpbiBpbiBEQjIgZm9ybWF0LCBTNS41ICovCisgIGthbF9pbnQzMiBkaWdfZ2FpbjsKKyAgLyoqIFtpbl0gLSBpbmRpY2F0ZSB3aGljaCBwYXJhbWV0ZXJzIHRvIGJlIGZpeGVkCisJCWJpdDA6IHJmIGdhaW4KKwkJYml0MTogcmYgREMKKwkJYml0MjogZGlnaXRhbCBnYWluCisJCWJpdDM6IGRpZ2l0YWwgREMKKyAgKi8KKyAga2FsX3VpbnQ4IGFnY2RjX2ZpeF9ibXA7Cit9IENMMURfUkZfQUdDX0NGR19UU1RfTUFOVUFMX1Q7CisKKy8qKiBBZHMgc3RydWN0dXJlIHRvIHByb3ZpZGUgcGFyYW1ldGVycyB0byB0aGUgQ0wxRF9SRl9BR0NfQ2ZnX1Rlc3QoKSBmdW5jdGlvbi4gKi8KK3R5cGVkZWYgc3RydWN0IENMMURfUkZfQUdDX0NGR19URVNUX3RhZworeworICAvKiogW2luXSAtIEluZGljYXRlIHRoZSBSQVQgdHlwZSBvZiBFVkRPLzFYUlRUICovCisgIGthbF91aW50OCAgIHJhdF90eXBlOworICAvKiogW2luXSAtIFJ4IHRpbWVyIHZhbHVlLCByYW5nZSBpcyAwfjB4QkZGRkYgKi8KKyAga2FsX3VpbnQzMiAgcnhfc3RpbWU7CisgIC8qKiBbaW5dIC0geyBzZWNvbmQgUngsIGRpdmVyc2l0eSBSeCwgbWFpbiBSeH0KKyAgICAgICAgICAgICAgYml0MDogbWFpbiBSeAorICAgICAgICAgICAgICBiaXQxOiBkaXZlcnNpdHkgUngKKyAgICAgICAgICAgICAgYml0Mjogc2Vjb25kIFJ4CisgICovCisgIGthbF91aW50OCAgIHBhdGhfYm1wOworICAvKiogW2luXSAtIDA6IEFHQyBmaXggZ2FpbiBtb2RlIDE6IKGtICovCisgIGthbF91aW50OCAgIHRlc3RfbW9kZTsKKyAgLyoqIFtpbl0gLSBTdHJ1Y3R1cmUgcG9pbnRlciBvZiBDTDFEX1JGX0FHQ19DRkdfVFNUX0ZJWF9HQUlOX1QvQ0wxRF9SRl9BR0NfQ0ZHX1RTVF9NQU5VQUxfVCAqLworICBrYWxfdWludDMyKiAgIGNmZ19wdHI7Cit9IENMMURfUkZfQUdDX0NGR19URVNUX1Q7CisKKy8qKiBBZHMgc3RydWN0dXJlIHRvIHByb3ZpZGUgcGFyYW1ldGVycyB0byB0aGUgQ0wxRF9SRl9BR0NfQmFja3VwX0luZm9fUXVlcnkoKSBmdW5jdGlvbi4gKi8KK3R5cGVkZWYgc3RydWN0IENMMURfUkZfQUdDX0JBQ0tVUF9JTkZPX1FVRVJZX3RhZworeworICAvKiogW2luXSAtIEluZGljYXRlIHRoZSBSQVQgdHlwZSBvZiBFVkRPLzFYUlRUICovCisgIGthbF91aW50OCAgcmF0X3R5cGU7CisgIC8qKiBbaW5dIC0geyBzZWNvbmQgUngsIGRpdmVyc2l0eSBSeCwgbWFpbiBSeH0KKyAgICAgICAgICAgICAgYml0MDogbWFpbiBSeAorICAgICAgICAgICAgICBiaXQxOiBkaXZlcnNpdHkgUngKKyAgICAgICAgICAgICAgYml0Mjogc2Vjb25kIFJ4CisgICovCisgIGthbF91aW50OCAgcGF0aF9ibXA7CisgIC8qKiBbaW5dIC0gdXNlIHRvIGdldCB0aGUgYmFja3VwIGdhaW4gc2V0dGluZyBmcm9tIGNlbGwgdGFibGUgYnkgcnggcGF0aCovCisgIGthbF91aW50MTYgY2VsbF9pbmRleFtDTDFEX1JGX01BWF9OVU1fT0ZfUlhdOworCisgIC8qKiBbb3V0XSAtIHBvd2VyIG1vZGUgb2YgQ0wxRF9SRl9QV1JfTU9ERV9FKi8KKyAga2FsX3VpbnQ4ICBwb3dlcl9tb2RlW0NMMURfUkZfTUFYX05VTV9PRl9SWF07Cit9IENMMURfUkZfQUdDX0JBQ0tVUF9JTkZPX1FVRVJZX1Q7CisKKyNpZiAoZGVmaW5lZChfX01EOTdfXykgfHwgZGVmaW5lZChfX01EOTdQX18pKQorLyoqIEFkcyBzdHJ1Y3R1cmUgdG8gcHJvdmlkZSBwYXJhbWV0ZXJzIHRvIHRoZSBDTDFEX1JGX0FHQ19BbGdvX1Jlc3VsdF9RdWVyeSgpIGZ1bmN0aW9uLiAqLwordHlwZWRlZiBzdHJ1Y3QgQ0wxRF9SRl9BR0NfQUxHT19SRVNVTFRfUVVFUllfdGFnCit7CisgIC8qKiBbaW5dIC0gSW5kaWNhdGUgdGhlIFJBVCB0eXBlIG9mIEVWRE8vMVhSVFQgKi8KKyAga2FsX3VpbnQ4IHJhdF90eXBlOworICAvKiogW2luXSAtIHsgc2Vjb25kIFJ4LCBkaXZlcnNpdHkgUngsIG1haW4gUnh9CisgICAgICAgICAgICAgIGJpdDA6IG1haW4gUngKKyAgICAgICAgICAgICAgYml0MTogZGl2ZXJzaXR5IFJ4CisgICAgICAgICAgICAgIGJpdDI6IHNlY29uZCBSeAorICAqLworICBrYWxfdWludDggcGF0aF9ibXA7CisgIC8qKiBbb3V0XSAtIFBHQSBpbmRleCBvZiBDTDFEX1JGX1BHQV9JTkRFWF9FICovCisgIGthbF91aW50OCBwZ2FfaWR4OworICAvKiogW291dF0gLSBMTkEgaW5kZXggb2YgQ0wxRF9SRl9MTkFfTU9ERV9FICovCisgIGthbF91aW50OCBsbmFfaWR4OworICAvKiogW291dF0gLSBFTE5BIGluZGV4IG9mIENMMURfUkZfRUxOQV9NT0RFX0UgKi8KKyAga2FsX3VpbnQ4IGVsbmFfaWR4OworICAvKiogW291dF0gLSBNTE5BIGluZGV4IG9mIENMMURfUkZfTUxOQV9NT0RFX0UgKi8KKyAga2FsX3VpbnQ4IG1sbmFfaWR4OworICAvKiogW291dF0gLSBkaWdpdGFsIGdhaW4gaW4gUTUgZm9ybWF0ICovCisgIGthbF9pbnQzMiBkaWdfZ2FpbjsKKyAgLyoqIFtvdXRdIC0gUkYgZ2FpbiBpbiBRNSBmb3JtYXQgKi8KKyAga2FsX2ludDMyIHJmX2dhaW47CisgIC8qKiBbb3V0XSAtIHBhdGhsb3NzIGluIFE1IGZvcm1hdCAqLworICBrYWxfaW50MzIgcGF0aGxvc3M7CisgIC8qKiBbb3V0XSAtIGNhbGN1bGF0ZWQgd2lkZS1iYW5kIHBvd2VyIGluIFE1IGZvcm1hdCAqLworICBrYWxfaW50MzIgd2JfcG93ZXI7CisgIC8qKiBbb3V0XSAtIGNhbGN1bGF0ZWQgaW4tYmFuZCBwb3dlciBpbiBRNSBmb3JtYXQgKi8KKyAga2FsX2ludDMyIGliX3Bvd2VyOworICAvKiogW291dF0gLSBjYWxjdWxhdGVkIHJzc2kgaW4gUTUgZm9ybWF0ICovCisgIGthbF9pbnQzMiByc3NpOworICAvKiogW291dF0gLSBlc3RpbWF0ZWQgcmVzaWR1YWwgREMgaW4gSSBwYXRoICovCisgIGthbF9pbnQzMiBkY19lc3RfcmVfaTsKKyAgLyoqIFtvdXRdIC0gZXN0aW1hdGVkIHJlc2lkdWFsIERDIGluIFEgcGF0aCAqLworICBrYWxfaW50MzIgZGNfZXN0X3JlX3E7CisgIC8qKiBbb3V0XSAtIFJGIERDIGluIEkgcGF0aCAqLworICBrYWxfaW50MzIgcmZfZGNfaTsKKyAgLyoqIFtvdXRdIC0gUkYgREMgaW4gUSBwYXRoICovCisgIGthbF9pbnQzMiByZl9kY19xOworICAvKiogW291dF0gLSBkaWdpdGFsIERDIGluIEkgcGF0aCAqLworICBrYWxfaW50MzIgZGlnX2RjX2k7CisgIC8qKiBbb3V0XSAtIGRpZ2l0YWwgREMgaW4gUSBwYXRoICovCisgIGthbF9pbnQzMiBkaWdfZGNfcTsKK31DTDFEX1JGX0FHQ19BTEdPX1JFU1VMVF9RVUVSWV9UOworI2VuZGlmCisKKyNpZm5kZWYgX19NRDkzX18KK3R5cGVkZWYgc3RydWN0Cit7CisgICBrYWxfdWludDggICBsbmFfbW9kZV9udW1iZXI7CisgICBrYWxfaW50MTYgICBwb3dlcl9jYWxpYnJhdGlvbl92YWx1ZVtDTDFEX1JGX0xOQV9NT0RFX05VTV07Cit9Q0wxRF9MTkFfQ0FMSUJSQVRJT05fUE9XRVJfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgQ0wxRF9MTkFfQ0FMSUJSQVRJT05fUE9XRVJfVCAgaGlnaF9wb3dlcl9wb2ludDsgCisgIENMMURfTE5BX0NBTElCUkFUSU9OX1BPV0VSX1QgIGxvd19wb3dlcl9wb2ludDsgCit9Q0wxRF9SRl9MTkFfQ0FMSUJSQVRJT05fUE9XRVJfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgIGthbF9pbnQxNiBtaW47CisgICBrYWxfaW50MTYgbWF4OworfUNMMURfUkZfTUlOX01BWF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgQ0wxRF9SRl9NSU5fTUFYX1QgaGlnaF9wb3dlcl9jYWxpYnJhdGlvbl9yYW5nZVtDTDFEX1JGX0xOQV9NT0RFX05VTV07CisgICBDTDFEX1JGX01JTl9NQVhfVCBsb3dlcl9wb3dlcl9jYWxpYnJhdGlvbl9yYW5nZVtDTDFEX1JGX0xOQV9NT0RFX05VTV07Cit9Q0wxRF9SRl9MTkFfQ0FMX1JBTkdFX1BPV0VSX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICBDTDFEX1JGX0xOQV9DQUxJQlJBVElPTl9QT1dFUl9UICBjbDFkX3JmX2NhbGliX3Bvd2VyX3BvaW50W0NMMURfUkZfTUFYX05VTV9PRl9SWF07CisgICBDTDFEX1JGX0xOQV9DQUxfUkFOR0VfUE9XRVJfVCAgY2wxZF9yZl9jYWxpYl9wb3dlcl9yYW5nZVtDTDFEX1JGX01BWF9OVU1fT0ZfUlhdOworfUNMMURfUkZfUlhfTE5BX0NBTElCUkFUSU9OX1BPV0VSX0FORF9SQU5HRV9UOworCitleHRlcm4gQ0wxRF9SRl9SWF9MTkFfQ0FMSUJSQVRJT05fUE9XRVJfQU5EX1JBTkdFX1QgICpDTDFEX1JGX0dFVF9MTkFfQ0FMX1BPV0VSX1BPSU5UU19BTkRfUE9XRVJfUkFOR0Uoa2FsX3VpbnQ4IGJhbmRfY2xhc3NfbnVtLGthbF91aW50OCAqYmFuZF9jbGFzcyk7CisKKyNlbmRpZgorCisvKiogQWRzIHN0cnVjdHVyZSB0byBwcm92aWRlIHBhcmFtZXRlcnMgdG8gdGhlIENMMURfUkZfUlhERkVfSVFDX1VwZGF0ZSgpIGZ1bmN0aW9uLiAqLwordHlwZWRlZiBzdHJ1Y3QgQ0wxRF9SRl9SWERGRV9JUUNfVVBEQVRFX3RhZworeworICAvKiogW2luXSAtIEluZGljYXRlIHRoZSBSQVQgdHlwZSBvZiBFVkRPLzFYUlRUICovCisgIGthbF91aW50OCAgIHJhdF90eXBlOworICAvKiogW2luXSAtIFJ4IHRpbWVyIHZhbHVlIG9mIHVwZGF0ZSBJUSBjb21wZW5zYXRpb24sIHJhbmdlIGlzIDB+MHhCRkZGRiAqLworICBrYWxfdWludDMyICByeF9zdGltZTsKKyAgLyoqIFtpbl0gLSB7IGJpdDI6c2Vjb25kIFJ4LCBiaXQxOmRpdmVyc2l0eSBSeCwgYml0MDptYWluIFJ4fSAqLworICBrYWxfdWludDggICBwYXRoX2JtcDsKKyAgLyoqIFtpbl0gLSBwb3dlciBtb2RlIG9mIENMMURfUkZfUFdSX01PREVfRSovCisgIGthbF91aW50OCAgIHBvd2VyX21vZGU7Cit9IENMMURfUkZfUlhERkVfSVFDX1VQREFURV9UOworCisKKy8qKiBBZHMgc3RydWN0dXJlIHRvIHByb3ZpZGUgcGFyYW1ldGVycyB0byB0aGUgQ0wxRF9SRl9SWERGRV9OYmlmX1VwZGF0ZSgpIGZ1bmN0aW9uLiAqLwordHlwZWRlZiBzdHJ1Y3QgQ0wxRF9SRl9SWERGRV9OQ09fVVBEQVRFX3RhZworeworICAvKiogW2luXSAtIEluZGljYXRlIHRoZSBSQVQgdHlwZSBvZiBFVkRPLzFYUlRUICovCisgIGthbF91aW50OCAgIHJhdF90eXBlOworICAvKiogW2luXSAtIFJ4IHRpbWVyIHZhbHVlIG9mIHNldCBOQ08sIHJhbmdlIGlzIDB+MHhCRkZGRiAqLworICBrYWxfdWludDMyICByeF9zdGltZTsKKyAgLyoqIFtpbl0gLSB7IGJpdDI6c2Vjb25kIFJ4LCBiaXQxOmRpdmVyc2l0eSBSeCwgYml0MDptYWluIFJ4fSAqLworICBrYWxfdWludDggICBwYXRoX2JtcDsKKyAgLyoqIFtpbl0gLSBSWERGRSBOQ08gY29uZmlndXJhdGlvbiovCisgIENMMURfUkZfUlhERkVfTkNPX0NGR19UICBuY29fY2ZnOworfSBDTDFEX1JGX1JYREZFX05DT19VUERBVEVfVDsKKworLyoqIEFkcyBzdHJ1Y3R1cmUgdG8gcHJvdmlkZSBwYXJhbWV0ZXJzIHRvIHRoZSBDTDFEX1JGX1JYREZFX05iaWZfVXBkYXRlKCkgZnVuY3Rpb24uICovCit0eXBlZGVmIHN0cnVjdCBDTDFEX1JGX1JYREZFX05CSUZfVVBEQVRFX3RhZworeworICAvKiogW2luXSAtIEluZGljYXRlIHRoZSBSQVQgdHlwZSBvZiBFVkRPLzFYUlRUICovCisgIGthbF91aW50OCAgIHJhdF90eXBlOworICAvKiogW2luXSAtIFJ4IHRpbWVyIHZhbHVlLCByYW5nZSBpcyAwfjB4QkZGRkYgKi8KKyAga2FsX3VpbnQzMiAgcnhfc3RpbWU7CisgIC8qKiBbaW5dIC0geyBzZWNvbmQgUngsIGRpdmVyc2l0eSBSeCwgbWFpbiBSeH0KKyAgICAgICAgICAgICAgYml0MDogbWFpbiBSeAorICAgICAgICAgICAgICBiaXQxOiBkaXZlcnNpdHkgUngKKyAgICAgICAgICAgICAgYml0Mjogc2Vjb25kIFJ4CisgICovCisgIGthbF91aW50OCAgIHBhdGhfYm1wOworICAvKiogW2luXSAtIFJYREZFIE5CSUYgY29uZmlndXJhdGlvbiovCisgIENMMURfUkZfUlhERkVfTkJJRl9DRkdfVCBuYmlmX2NmZzsKK30gQ0wxRF9SRl9SWERGRV9OQklGX1VQREFURV9UOworCit0eXBlZGVmIHVuaW9ueworICAgIENMMURfUkZfUlhERkVfTkJJRl9VUERBVEVfVCAgbmJpZl9kYXRhOworICAgIENMMURfUkZfUlhERkVfTkNPX1VQREFURV9UICAgbmNvX2RhdGE7CisgICAgQ0wxRF9SRl9SWERGRV9JUUNfVVBEQVRFX1QgICBpcWNfZGF0YTsKK31DTDFEX1JGX1JYREZFX0RZTl9DRkdfREFUQV9VOworLyoqIEFkcyBzdHJ1Y3R1cmUgdG8gcHJvdmlkZSBwYXJhbWV0ZXJzIHRvIHRoZSBDTDFEX1JGX1JYREZFX1NvcnRfRG9uZSgpIGZ1bmN0aW9uLiAqLwordHlwZWRlZiBzdHJ1Y3QgQ0wxRF9SRl9SWERGRV9TT1JUX0RPTkVfdGFnCit7CisgIC8qKiBbaW5dIC0gSW5kaWNhdGUgdGhlIFJBVCB0eXBlIG9mIEVWRE8vMVhSVFQgKi8KKyAga2FsX3VpbnQ4ICAgcmF0X3R5cGU7CisKK30gQ0wxRF9SRl9SWERGRV9TT1JUX0RPTkVfVDsKKworI2lmIGRlZmluZWQoX19NRDkzX18pIAordHlwZWRlZiBzdHJ1Y3QgQ0wxRF9SRl9SWERGRV9QQVRIX0NGR190YWcKK3sKKyAgIENMMURfUkZfUkFUX1RZUEVfRSByYXQ7CisgICBDTDFEX1JGX1JYREZFX1NFTkFSSU9fRSBzY2VuYXJpbzsKKyAgIGthbF91aW50MzIgc3RpbWU7IC8qIGluIHVuaXQgb2YgY2hpcHMgKi8KKyAgIENMMURfUkZfQkFORF9DTEFTU19UWVBFX0UgYmFuZDsKK31DTDFEX1JGX1JYREZFX1BBVEhfQ0ZHX1Q7CisjZWxpZiBkZWZpbmVkKF9fTUQ5NV9fKSAKK3R5cGVkZWYgc3RydWN0IENMMURfUkZfUlhERkVfUEFUSF9DRkdfdGFnCit7CisgICBDTDFEX1JGX1JBVF9UWVBFX0UgcmF0OworICAgQ0wxRF9SRl9SWERGRV9TRU5BUklPX0Ugc2NlbmFyaW87CisgICBrYWxfdWludDMyIHN0aW1lOyAvKiBpbiB1bml0IG9mIGNoaXBzICovCisgICBDTDFEX1JGX0JBTkRfQ0xBU1NfVFlQRV9FIGJhbmQ7Cit9Q0wxRF9SRl9SWERGRV9QQVRIX0NGR19UOworI2VsaWYgKGRlZmluZWQoX19NRDk3X18pIHx8IGRlZmluZWQoX19NRDk3UF9fKSkgCit0eXBlZGVmIHN0cnVjdCBDTDFEX1JGX1JYREZFX1BBVEhfQ0ZHX3RhZworeworICAgQ0wxRF9SRl9SQVRfVFlQRV9FIHJhdDsKKyAgIENMMURfUkZfUlhERkVfU0VOQVJJT19FIHNjZW5hcmlvOworICAga2FsX3VpbnQzMiBzdGltZTsgLyogaW4gdW5pdCBvZiBjaGlwcyAqLworICAgQ0wxRF9SRl9CQU5EX0NMQVNTX1RZUEVfRSBiYW5kOworICAgLy9rYWxfdWludDggIHJjY19pZHhfdXNlOworfUNMMURfUkZfUlhERkVfUEFUSF9DRkdfVDsKKyNlbmRpZgorCisKK3R5cGVkZWYgc3RydWN0IHsKKyAgICBDTDFEX1JGX1JBVF9UWVBFX0UgcmF0OworICAgIENMMURfUkZfVFhERkVfU0VOQVJJT19FIHNjZW5hcmlvOworICAgIGthbF91aW50MzIgcnhfc3RpbWU7IC8qIGluIHVuaXQgb2YgY2hpcHMgKi8KKyAgICBrYWxfdWludDMyIHR4X3N0aW1lOyAvKiBpbiB1bml0IG9mIGNoaXBzICovCisgICAgQ0wxRF9SRl9CQU5EX0NMQVNTX1RZUEVfRSAgYmFuZF9jbGFzczsKKyAgICBrYWxfdWludDMyIGZyZXFfa2h6OworICAgIENMMURfUkZfRlJFUV9CQU5EX0UgZnJlcV9iYW5kX3R5cGU7Cit9Q0wxRF9SRl9UWERGRV9DRkdfVDsKKworCisvKiogVGhpcyBzdHJ1Y3R1cmUgaXMgdXNlZCB0byBjb25maWd1cmUgUlhERkUgTkNPLiAqLwordHlwZWRlZiBzdHJ1Y3QgQ0wxRF9SRl9UWERGRV9OQ09fQ0ZHX3RhZworeworICAvKiogW2luXSAtIFJYREZFIE5DTyBwaGFzZSwgdW5pdCBpcyA/ICovCisgIGthbF9pbnQzMiAgZm9lOworfSBDTDFEX1JGX1RYREZFX05DT19DRkdfVDsKKworLyoqIEFkcyBzdHJ1Y3R1cmUgdG8gcHJvdmlkZSBwYXJhbWV0ZXJzIHRvIHRoZSBjbDFkX3JmX3R4ZGZlX25jb191cGRhdGVfY29uZmlnKCkgZnVuY3Rpb24uICovCit0eXBlZGVmIHN0cnVjdCBDTDFEX1JGX1RYREZFX05DT19VUERBVEVfdGFnCit7CisgIC8qKiBbaW5dIC0gSW5kaWNhdGUgdGhlIFJBVCB0eXBlIG9mIEVWRE8vMVhSVFQgKi8KKyAga2FsX3VpbnQ4ICAgcmF0X3R5cGU7CisgIC8qKiBbaW5dIC0gVHggdGltZXIgdmFsdWUgb2Ygc2V0IE5DTywgcmFuZ2UgaXMgMH4weEJGRkZGICovCisgIGthbF91aW50MzIgIHR4X3N0aW1lOworICAvKiogW2luXSAtIHsgYml0MjpzZWNvbmQgUngsIGJpdDE6ZGl2ZXJzaXR5IFJ4LCBiaXQwOm1haW4gUnh9ICovCisgIGthbF91aW50OCAgIHBhdGhfYm1wOworICAvKiogW2luXSAtIFJYREZFIE5DTyBjb25maWd1cmF0aW9uKi8KKyAgQ0wxRF9SRl9UWERGRV9OQ09fQ0ZHX1QgICBuY29fY2ZnOworfSBDTDFEX1JGX1RYREZFX05DT19VUERBVEVfVDsKKworLyoqIEFkcyBzdHJ1Y3R1cmUgdG8gcHJvdmlkZSBwYXJhbWV0ZXJzIHRvIHRoZSBDTDFEX1JGX1RYREZFX1JGX1RUR19DZmcoKSBmdW5jdGlvbi4gKi8KK3R5cGVkZWYgc3RydWN0IENMMURfUkZfVFhERkVfUkZfVFRHX0NGR190YWcKK3sKKyAgLyoqIFtpbl0gLSBJbmRpY2F0ZSB0aGUgUkFUIHR5cGUgb2YgRVZETy8xWFJUVCAqLworICBrYWxfdWludDggIHJhdF90eXBlOworICAvKiogW2luXSAtIFRSVUU6IHR1cm4gb24gVFhERkVfV0lOIGFuZCBUVEcKKyAgICAgICAgICAgICBGQUxTRTogdHVybiBvZmYgVFhERkVfV0lOIGFuZCBUVEcKKyAgKi8KKyAga2FsX2Jvb2wgICB0dGdfZW47CisgIC8qKiBbaW5dIC0gU2luZSB0b25lIGZyZXF1ZW5jeSBpbiBIeiAqLworICBrYWxfdWludDMyIHR0Z19mcmVxOworCisgIGthbF91aW50OCAgYmFuZF9jbGFzczsKK30gQ0wxRF9SRl9UWERGRV9SRl9UVEdfQ0ZHX1Q7CisKKy8qKiBBZHMgc3RydWN0dXJlIHRvIHByb3ZpZGUgcGFyYW1ldGVycyB0byB0aGUgQ0wxRF9SRl9UWERGRV9CQl9UVEdfQ2ZnKCkgZnVuY3Rpb24uICovCit0eXBlZGVmIHN0cnVjdCB7CisJLyoqIFtpbl0gLSBJbmRpY2F0ZSB0aGUgUkFUIHR5cGUgb2YgRVZETy8xWFJUVCAqLworCWthbF91aW50OCAgcmF0X3R5cGU7CisJLyoqIFtpbl0gLSBUUlVFOiB0dXJuIG9uIFRYREZFX1dJTiBhbmQgVFRHCisJCQkgICBGQUxTRTogdHVybiBvZmYgVFhERkVfV0lOIGFuZCBUVEcKKwkqLworCWthbF9ib29sICAgdHRnX2VuOworCS8qKiBbaW5dIC0gU2luZSB0b25lIGZyZXF1ZW5jeSBpbiBIeiAqLworCWthbF91aW50MzIgdHRnX2ZyZXE7CisJCisJa2FsX3VpbnQzMiB0dGdfZ2FpbjsKK31DTDFEX1JGX1RYREZFX0JCX1RUR19DRkdfVDsKKworCisvKiogQWRzIHN0cnVjdHVyZSB0byBwcm92aWRlIHBhcmFtZXRlcnMgdG8gdGhlIENMMURfUkZfVGVzdF9Nb2RlX1JlcXVlc3QoKSBmdW5jdGlvbi4gKi8KK3R5cGVkZWYgc3RydWN0IENMMURfUkZfVEVTVF9NT0RFX1JFUVVFU1RfdGFnCit7CisgIC8qKiBbaW5dIC0gSW5kaWNhdGUgdGhlIFJBVCB0eXBlIG9mIEVWRE8vMVhSVFQgKi8KKyAga2FsX3VpbnQ4ICByYXRfdHlwZTsKKyAgLyoqIFtpbl0gLSBUUlVFOiB0ZXN0IG1vZGUgZW5hYmxlCisgICAgICAgICAgICAgRkFMU0U6IHRlc3QgbW9kZSBkaXNhYmxlaW4gICAqLworICBrYWxfYm9vbCAgdGVzdF9tb2RlX2VuOworCisgIC8qKiBbaW5dIC0gYml0MDogUlggdGVzdCBtb2RlCisgICAgICAgICAgICAgYml0MTogVFggdGVzdCBtb2RlCisgICAgICAgICAgICAgYml0MjogTUVUQSBtb2RlCisgICAgICBOb3RlOiBqdXN0IG9uZSBiaXQgY2FuIGJlIHNldC9jbGVhciBldmVyeSB0aW1lCisgKi8KKyAga2FsX3VpbnQ4IHRlc3RfbW9kZV9ibXA7CisKK30gQ0wxRF9SRl9URVNUX01PREVfUkVRVUVTVF9UOworCit0eXBlZGVmIHN0cnVjdCBDTDFEX1JGX05WX3RhZworeworICAgIGthbF91aW50MzIgbnZyYW1fbGlkOworICAgIGthbF91aW50OCogZGF0YV9idWY7CisgICAga2FsX3VpbnQzMiBvcGVyX2JtcDsKKyAgICBrYWxfdWludDE2IG52cmFtX3JlY19pZHg7Cit9IENMMURfUkZfTlZfVDsKKwordHlwZWRlZiBzdHJ1Y3QgQ0wxRF9SRl9OVl9SRV9JTklUX3RhZworeworICAgIGthbF91aW50MzIgb3Blcl9ibXA7Cit9IENMMURfUkZfTlZfUkVfSU5JVF9UOworCisvKiogVGhpcyBzdHJ1Y3R1cmUgaXMgdXNlZCB0byBzdG9yZSBVUEMgSFcgaW5mb3JtYXRpb24gaW4gRVZETyBhbmQgMXhSVFQgbW9kZS4gKi8KK3R5cGVkZWYgc3RydWN0IENMMURfUkZfVVBDX0lORk9fdGFnCit7CisJLyoqIFtpbl0gLSBQQSBpbmRleCAqLworCWthbF91aW50OCAgcGFfaWR4OworCQorCS8qKiBbb3V0XSAtIFBHQSBnYWluICovCisJa2FsX2ludDE2ICBwZ2FfZ2FpbjsKKworCS8qKiBbb3V0XSAtIERFVCBwYXRoIFBHQSBnYWluICovCisJa2FsX2ludDE2ICBkZXRfZ2FpbjsKKwkKKwkvKiogW291dF0gLSBCQiBnYWluICovCisJa2FsX2ludDE2ICBiYl9nYWluOworCit9IENMMURfUkZfVVBDX0lORk9fVDsKKworLyoqIEFkcyBzdHJ1Y3R1cmUgdG8gcHJvdmlkZSBwYXJhbWV0ZXJzIHRvIHRoZSBDTDFEX1JGX1VQQ19JbmZvX1F1ZXJ5KCkgZnVuY3Rpb24uICovCit0eXBlZGVmIHN0cnVjdCBDTDFEX1JGX1VQQ19JTkZPX1FVRVJZX3RhZworeworICAvKiogW2luXSAtIEluZGljYXRlIHRoZSBSQVQgdHlwZSBvZiBFVkRPLzFYUlRUICovCisgIGthbF91aW50OCAgcmF0X3R5cGU7CisgIC8qKiBbb3V0XSAtIFN0cnVjdHVyZSBwb2ludGVyIG9mIENMMURfUkZfVVBDX0lORk9fVAorICAqLworICBDTDFEX1JGX1VQQ19JTkZPX1QqIHVwY19pbmZvOworfSBDTDFEX1JGX1VQQ19JTkZPX1FVRVJZX1Q7CisKKy8qKiBBZHMgc3RydWN0dXJlIHRvIHByb3ZpZGUgcGFyYW1ldGVycyB0byB0aGUgQ0wxRF9SRl9UUENfR2Fpbl9JbmZvX1F1ZXJ5KCkgZnVuY3Rpb24uICovCit0eXBlZGVmIHN0cnVjdCBDTDFEX1JGX1RQQ19HQUlOX0lORk9fUVVFUllfdGFnCit7CisJLyoqIFtpbl0gLSBQQSBpbmRleCAqLworCWthbF91aW50OCAgcGFfaWR4OworCQorCS8qKiBbb3V0XSAtIFBBIGdhaW4gKi8KKwlrYWxfaW50MTYgIHBhX2dhaW47CisJCisJLyoqIFtpbl0gLSBQR0EgaW5kZXggKi8KKwlrYWxfdWludDggIHBnYV9pZHg7CisJCisJLyoqIFtvdXRdIC0gUEdBIGdhaW4gKi8KKwlrYWxfaW50MTYgIHBnYV9nYWluOworCQorCS8qKiBbaW5dIC0gREVUIFBBIGluZGV4ICovCisJa2FsX3VpbnQ4ICBkZXRfcGdhX2lkeDsKKwkKKwkvKiogW291dF0gLSBERVQgUEEgZ2FpbiAqLworCWthbF9pbnQxNiAgZGV0X3BnYV9nYWluOworCQorCS8qKiBbaW5dIC0gQ1BMIFBBIGluZGV4ICovCisJa2FsX3VpbnQ4ICBjcGxfaWR4OworCQorCS8qKiBbb3V0XSAtIENQTCBQQSBnYWluICovCisJa2FsX2ludDE2ICBjcGxfZ2FpbjsKKwkKKwkvKiogW2luXSAtIEJCIFBBIGluZGV4ICovCisJa2FsX3VpbnQ4ICBiYl9pZHg7CisJCisJLyoqIFtvdXRdIC0gQkIgUEEgZ2FpbiAqLworCWthbF9pbnQxNiAgYmJfZ2FpbjsKKworfSBDTDFEX1JGX1RQQ19HQUlOX0lORk9fUVVFUllfVDsKKworCisvKiogVGhpcyBzdHJ1Y3R1cmUgaXMgdXNlZCB0byBnZXQgUEEgTFVUIHRhYmxlICovCit0eXBlZGVmIHN0cnVjdCBDTDFEX1JGX0NVU1RfR0VUX1BBX0xVVF9UQkxfQ09OVEVYX3RhZworeworCS8qKiBbaW5dIC0gSW5kaWNhdGUgdGhlIFJBVCB0eXBlIG9mIEVWRE8vMVhSVFQgKi8KKwlrYWxfdWludDggIHJhdF90eXBlOworCisJLyoqIFtpbl0gLSBQQSBpbmRleCAqLworCWthbF91aW50OCAgcGFfaWR4OworCisJLyoqIFtvdXRdIC0gUEEgbW9kZSAqLworCWthbF91aW50OCAgcGFfbW9kZTsKKworCS8qKiBbb3V0XSAtIHRhcmdldCBwb3dlciAqLworCWthbF9pbnQxNiAgcHJmOworCisJLyoqIFtvdXRdIC0gUEEgZ2FpbiAoaW5jbHVkZSBjb21wZW5zYXRpb24pICovCisJa2FsX2ludDE2ICBwYV9nYWluOworCisJLyoqIFtvdXRdIC0gQ291cGxlciBsb3NzIChpbmNsdWRlIGNvbXBlbnNhdGlvbikgKi8KKwlrYWxfaW50MTYgIGNvdXBsZXJfbG9zczsKKworCS8qKiBbb3V0XSAtIFZNMCAqLworCWthbF91aW50OCAgdm0wOworCisJLyoqIFtvdXRdIC0gVk0xICovCisJa2FsX3VpbnQ4ICB2bTE7CisKKwkvKiogW291dF0gLSBWREQgKi8KKwlrYWxfdWludDE2IHZkZDsKKworCS8qKiBbb3V0XSAtIFBBIGNvbXAqKi8KKwlrYWxfaW50MTYgIHBhX2dhaW5fY29tcDsKKworfSBDTDFEX1JGX0NVU1RfR0VUX1BBX0xVVF9UQkxfQ09OVEVYX1Q7CisKKy8qKiBUaGlzIHN0cnVjdHVyZSBpcyB1c2VkIHRvIGdldCBjdXN0b20gaXRlbSBpbmZvICovCit0eXBlZGVmIHN0cnVjdCBDTDFEX1JGX0NVU1RfR0VUX0NVU1RfSVRFTV9JTkZPX3RhZworeworCS8qKiBbaW5dIC0gTElEICovCisJa2FsX3VpbnQzMiAgaXRlbV9saWQ7CisKKwkvKiogW2luXSAtIHJlY19pZHggKi8KKwlrYWxfdWludDMyCXJlY19pZHg7CisKKwkvKiogW291dF0gLSBMSUQgaXRlbSBhZGRyZXNzICovCisJa2FsX3VpbnQzMiogaXRlbV9hZGRyOworCit9IENMMURfUkZfQ1VTVF9HRVRfQ1VTVF9JVEVNX0lORk9fVDsKKworLyoqIFRoaXMgc3RydWN0dXJlIGlzIHVzZWQgdG8gY29weSBkYXRhIGZyb20gU0hNIHRvIE5WUkFNICovCit0eXBlZGVmIHN0cnVjdCBDTDFEX1JGX0NPUFlfREFUQV9GUk9NX1NITV9UT19OVlJBTV90YWcKK3sKKwkvKiogW2luXSAtIExJRCAqLworCWthbF91aW50MzIgIGl0ZW1fbGlkOworCisJLyoqIFtpbl0gLSByZWNfaWR4ICovCisJa2FsX3VpbnQzMglyZWNfaWR4OworCit9IENMMURfUkZfQ09QWV9EQVRBX0ZST01fU0hNX1RPX05WUkFNX1Q7CisKKyNpZiBkZWZpbmVkKF9fTUQ5NV9fKQordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfdWludDggcmF0X3R5cGU7Cit9Q0wxRF9SRl9SWERGRV9JUV9EVU1QX1Q7CisjZWxpZiAoZGVmaW5lZChfX01EOTdfXykgfHwgZGVmaW5lZChfX01EOTdQX18pKSAKKyNpZiBDTDFEX1JYREZFX0RVTVBfRU5BCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF9ib29sICAgICAgICAgICAgICAgICAgdHRnX2VuOworICAgIENMMURfUkZfUEFUSF9FICAgICAgICAgICAgcmZfcGF0aDsKKyAgICBDTDFEX1JGX1JBVF9UWVBFX0UgICAgICAgICAgICByYXRfdHlwZTsKKyAgICBDTDFEX1JGX1JYREZFX1RUR19JTl9FICAgICAgICBub2RlOworICAgIGthbF91aW50MzIgICAgICAgICAgICAgICAgICAgIHNjYWxlOworfUNMMURfUkZfUlhERkVfVFRHX0lucHV0X1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgQ0wxRF9SRl9SWERGRV9EVU1QX05PREVfRSBkdW1wX25vZGU7CisgICAgQ0wxRF9SRl9QQVRIX0UgICAgICAgICAgICByZl9wYXRoOworICAgIENMMURfUkZfUkFUX1RZUEVfRSAgICAgICAgcmF0X3R5cGU7CisgICAga2FsX3VpbnQzMiAgICAgICAgICAgICAgICBkdW1wX3NpemU7Cit9Q0wxRF9SRl9SWERGRV9JUV9EVU1QX0lucHV0X1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX2ludDMyICAgIGR1bXBfaWR4OworICAgIGthbF9pbnQzMiAgICBkdW1wX3NpemU7CisgICAga2FsX3VpbnQzMiAqIGRhdGFfYWRkcjsKK31DTDFEX1JGX1JYVFhERkVfSVFfRFVNUF9RVVJZX1Q7Cit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF9pbnQzMiAgICAgICAgICAgICAgICAgYnVmZmVyX3NpemU7CisgICAga2FsX2ludDMyICAgICAgICAgICAgICAgICBidWZmZXJfbnVtOworfUNMMURfUkZfUlhERkVfSVFfRFVNUF9PdXRwdXRfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgQ0wxRF9SRl9SWERGRV9JUV9EVU1QX0lucHV0X1QgIGlucHV0OworICBDTDFEX1JGX1JYREZFX0lRX0RVTVBfT3V0cHV0X1Qgb3V0cHV0OworfUNMMURfUkZfUlhERkVfSVFfRFVNUF9UOworI2VuZGlmCisjZW5kaWYKKyNpZiBDTDFEX1JYREZFX0RVTVBfRU5BCit0eXBlZGVmIGVudW0geworCVRYS19SRUYsCisJVFhERkVfUkYsCisJVFhERkVfQkIsCisJVFhERkVfRVQsCisJVFhLX0RFVCwKK31DTDFEX1JGX1RYREZFX0lRX0RVTVBfU0VMX0NGR19FOworCit0eXBlZGVmIGVudW0geworCUJCX0lOUFVULAorCUJCX0ZJUkFEX0lOUFVULAorCUJCX1NSQ19JTlBVVCwKKwlCQl9DSUMxWF9JTlBVVCwKKwlCQl9DSUMyWF9JTlBVVCwKKwlCQl9OQ09fSU5QVVQsCisJQkJfTkNPX09VVFBVVCwKKwlSRl9CQl9HQUlOID0gMCwKKwlSRl9EUERfQ09NUCwKKwlSRl9HQUlOX0JLRiwKKwlSRl9HQV9DT01QLAorCVJGX0FEX0NPTVAsCisJUkZfTUFJTl9QSEFTRV9SX0RFTEFZLAorCVJGX01BSU5fREMsCisJUkZfTUFJTl9GSSwKKwlSRl9NQUlOX0ZELAorfUNMMURfUkZfVFhERkVfSVFfRFVNUF9OT0RFX0NGR19FOworCit0eXBlZGVmIGVudW17CisgICAgUkZfREVUX0ZJRk8sCisgICAgUkZfREVUX0NJQywKKyAgICBSRl9ERVRfT1VULAorICAgIFJGX1JFRl9TQ0FMRSA9MCAsCisgICAgUkZfUkVGX0lfREVMQVksCisgICAgUkZfUkVGX0ZfREVMQVksCisgICAgUkZfUkVGX0RDTSwKK31DTDFEX1JGX1RYS0RGRV9JUV9EVU1QX05PREVfQ0ZHX0U7CisKK3R5cGVkZWYgc3RydWN0IHsKKwkvKiogW2luXSAtIEJCIG9yIFJGIG9yIE1SWCoqLworICAgIENMMURfUkZfVFhERkVfSVFfRFVNUF9TRUxfQ0ZHX0UgZHVtcF9zZWw7CisgICAgLyoqIFtpbl0gLSBGb3IgVFhERkVfQkI6MDpiYiBpbnB1dDsgMTpmaXJhZCBpbnB1dDsgMjpzcmMgaW5wdXQ7IDM6Y2ljMXggaW5wdXQ7IDQ6Y2ljMnggaW5wdXQ7IDU6bmNvIGlucHV0OyA2Om5jbyBvdXB1dAorICAgICAgICAgICAgICAgICAgICAgRm9yIFRYREZFX1JGOjA6Z2Fpbl9iYjsgMTpkcGQgY29tcDsgMjpnYWluIGJrZjsgMzpnYSBjb21wOyA0OmFkIGNvbXA7IDU6bWFpbiBwaGFzZSByIGRlbGF5OyA2Om1haW4gZGM7IDc6bWFpbiBmaTsgODptYWluIGZkKiovCisgICAgQ0wxRF9SRl9UWERGRV9JUV9EVU1QX05PREVfQ0ZHX0Ugbm9kZV9zZWw7CisgICAgQ0wxRF9SRl9SQVRfVFlQRV9FICAgICAgICByYXRfdHlwZTsgICAgCisgICAga2FsX3VpbnQzMiBkdW1wX3NpemU7Cit9Q0wxRF9SRl9UWERGRV9JUV9EVU1QX0lOUFVUX1Q7CisKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfaW50MzIgICAgICAgICAgICAgICAgIGJ1ZmZlcl9zaXplOworICAgIGthbF9pbnQzMiAgICAgICAgICAgICAgICAgYnVmZmVyX251bTsKK31DTDFEX1JGX1RYREZFX0lRX0RVTVBfT1VUUFVUX1Q7CisKKworCit0eXBlZGVmIHN0cnVjdCB7CisgICAgLyoqIFtpbl0gLSAwOlRYS19SRUY7IDE6VFhERkVfQkI7IDI6VFhERkVfUkY7IDM6VFhERkVfRVQ7IDQ6VFhLX0RFVCoqLworICAgIENMMURfUkZfVFhERkVfSVFfRFVNUF9TRUxfQ0ZHX0UgIGR1bXBfc2VsOworICAgIC8qKiBbaW5dIC0gRm9yIFRYSyBERVQ6IDA6ZGV0IGFmaWZvIG91dDsgMTpkZXQgY2ljIG91dDsgMjpkZXQgb3V0OworICAgICAgICAgICAgICAgICAgICAgRm9yIFRYSyBSRUY6IDA6cmVmIHNjYWxlIG91dDsgMTpyZWYgaSBkZWxheSBvdXQ7IDI6cmVmIGYgZGVsYXkgb3V0OyAzOnJlZiBkY20gb3V0KiovCisgICAgQ0wxRF9SRl9UWEtERkVfSVFfRFVNUF9OT0RFX0NGR19FIG5vZGVfc2VsOworICAgIGthbF91aW50MzIgZHVtcF9zaXplOworfUNMMURfUkZfVFhLREZFX0lRX0RVTVBfSU5QVVRfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfaW50MzIgICAgICAgICAgICAgICAgIGJ1ZmZlcl9zaXplOworICAgIGthbF9pbnQzMiAgICAgICAgICAgICAgICAgYnVmZmVyX251bTsKK31DTDFEX1JGX1RYS0RGRV9JUV9EVU1QX09VVFBVVF9UOworI2VuZGlmCisKKworCit0eXBlZGVmIHN0cnVjdHsKKyAgICBrYWxfdWludDMyIGFkZHJfc3RhcnQ7CisgICAga2FsX3VpbnQzMiBzaXplOworfUNMMURfUkZfTUlQSV9SRUFEX1Q7CisKK3R5cGVkZWYgc3RydWN0eworICAgIGthbF91aW50MzIgYWRkcjsKKyAgICBrYWxfdWludDMyIGRhdGE7Cit9Q0wxRF9SRl9NSVBJX1dSSVRFX1Q7CisKKyNpZiBkZWZpbmVkKF9fTUQ5N19fKQordHlwZWRlZiBzdHJ1Y3R7CisgICAgQ0wxRF9SRl9UWF9BUFRfUEFfQ09OVEVYVF9UIHBhX2NvbnRleHQ7CisgICAgQ0wxRF9SRl9UWF9BUFRfUEFfR0FJTl9DT01QX1QgcGFfY29tcGVuc2F0aW9uX2RhdGE7Cit9Q0wxRF9SRl9UWF9MRUFLQUdFX1BBX0ZLX1JFU1VMVF9UOworI2VuZGlmCisKKyNpZiAoZGVmaW5lZChfX01EOTdfXykgfHwgZGVmaW5lZChfX01EOTdQX18pKQorCQorI2lmIElTX0MyS19JTkRJQ0FUSU9OX0ZPUl9BUF9DTE9DS19IT1BQSU5HX1NVUFBPUlQKKy8qKiBBZHMgc3RydWN0dXJlIHRvIHByb3ZpZGUgcGFyYW1ldGVycyB0byB0aGUgQ0wxRF9SRl9IT1BQSU5HX0ZSRVFfUXVlcnkoKSBmdW5jdGlvbi4gKi8KK3R5cGVkZWYgc3RydWN0IAoreworICAgIC8qKiBbaW5dIC0gSW5kaWNhdGUgdGhlIFJBVCB0eXBlIG9mIEVWRE8vMVhSVFQgKi8KKyAgICBrYWxfdWludDggIHJhdF90eXBlOyAvLyAwIGZvciAxeHJ0dDsgMSBmb3IgZXZkbworICAgIC8qKiBbaW5dIC0gM0dQUDIgYmFuZCBjbGFzcyAqLworICAgIGthbF91aW50OCAgYmFuZF9jbGFzczsKKyAgICAvKiogW2luXSAtIENoYW5uZWwgbnVtYmVyICovCisgICAga2FsX3VpbnQxNiBjaGFubmVsOworICAgIC8qKiBbaW5dIC0gRnJlcSBHcm91cCB0eXBlICovCisgICAga2FsX3VpbnQ4IGZyZXFfZ3JvdXBfdHlwZTsgLy8gMCBmb3IgZ3JvdXBfYTsgMSBmb3IgZ3JvdXBfYgorICAgIC8qKiBbaW5dIC0gRnJlcSBUYWJsZSBpbmRleCAqLworICAgIGthbF91aW50OCBmcmVxX3RhYmxlX2luZGV4OyAvLzB+NyBmb3IgdGFibGUwfnRhYmxlNworfSBDTDFEX1JGX0hPUFBJTkdfUVVFUllfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiogW291dF0gLSBJbmRpY2F0ZSB0aGUgdG90YWwgbnVtIG9mIGRldmljZSB0YWJsZSAqLworICAgIGthbF91aW50OCB0YWJsZV9udW07CisgICAgLyoqIFtvdXRdIC0gSW5kaWNhdGUgdGhlIHRhYmxlIGVuYWJsZSBtYXNrICovCisgICAga2FsX3VpbnQzMiB0YWJsZV9lbl9tYXNrOyAvL2JpdCAwfjcgZm9yIHRhYmxlMH43Cit9Q0wxRF9SRl9UQUJMRV9JTkZPX1FVRVJZX1Q7CisKK3R5cGVkZWYgZW51bQoreworICAgIEMyS19SRl9IT1BQSU5HX0dST1VQX0EgPSAwLAorICAgIEMyS19SRl9IT1BQSU5HX0dST1VQX0IgPSAxLAorICAgIEMyS19SRl9IT1BQSU5HX0dST1VQX05VTEwKK31DTDFEX1JGX0hPUFBJTkdfR1JPVVBfRTsKKyNlbmRpZgorCisjZW5kaWYKKworLyoqIEFkcyBzdHJ1Y3R1cmUgdG8gcHJvdmlkZSBwYXJhbWV0ZXJzIHRvIHRoZSBDTDFEX1JGX1JGUERfSW5mb19RdWVyeSgpIGZ1bmN0aW9uLiAqLwordHlwZWRlZiBzdHJ1Y3QgQ0wxRF9SRl9SRlBEX0lORk9fUVVFUllfdGFnCit7CisgIC8qKiBbb3V0XSAtIHRhcmdldCBwb3dlciwgUzcuNSovCisgIGthbF9pbnQxNiB0YXJnZXRfcG93ZXI7CisgIC8qKiBbb3V0XSAtIFBBIG91dHB1dCBwb3dlciBiZSBtZXN1cmVkLCBTNi41Ki8KKyAga2FsX2ludDE2IGRkcGM7CisgIC8qKiBbb3V0XSAtIEREUEMgZGV0IHZhciBmcm9tIFRQQyBIVywgUzI0LjAqLworICBrYWxfaW50MzIgZGRwY19kZXQ7CisgIC8qKiBbb3V0XSAtIFJYIHJzc2kgZm9yIFRYQUdDLCBTNy42Ki8KKyAga2FsX2ludDE2IHJzc2lfZmlsdGVyOworICAvKiogW291dF0gLSBmZXRjaCB0aGUgUExMIHN0YXRlICovCisgIGthbF9ib29sIHBsbDsKKyAgLyoqIFtvdXRdIC0gZmV0Y2ggdGhlIFZDQyAqLworICBrYWxfdWludDggdmNjOworICAvKiogW291dF0gLSBmZXRjaCB0aGUgdGVtcGVyYXR1cmUgKi8KKyAga2FsX2ludDE2IHRlbXBlcmF0dXJlOworICAvKiogW291dF0gLSBwb3dlciBpcyBhYm5vcm1hbCBvciBub3QqLworICBrYWxfYm9vbCBwb3dlcl9hYm5vcm1hbDsKK31DTDFEX1JGX1JGUERfSU5GT19RVUVSWV9UOworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBHbG9iYWwgRGF0YQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCitleHRlcm4ga2FsX3VpbnQ4IHJhdDJtbXJmTW9kZVtDTDFEX1JGX1JBVF9OVU1dOworI2RlZmluZSBNX1JBVF9UT19NTVJGX01PREUocmF0KQkJKHJhdDJtbXJmTW9kZVtyYXRdKQorCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBHbG9iYWwgRnVuY3Rpb24gUHJvdG90eXBlcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisvKipSRkQgY29tbW9uIGludGVyZmFjZSovCitleHRlcm4gdm9pZCBDTDFEX1JGX0dldF9QbGF0Zm9ybV9JbmZvKENMMURfUkZfR0VUX1BMQVRGT1JNX0lORk9fVCogYWRzUHRyKTsKKyNpZiBfQzJLX1VUQVNfU1VQUE9SVF8KK2V4dGVybiBDMktfQ1VTVE9NX1RBU19TVEFURV9FIENMMURfUkZfVVRBU19HZXRDdXJyZW50U3RhdGUoU3lzQ2RtYUJhbmRUIGJhbmQsQ0wxRF9SRl9SQVRfRSBsMV9yYXQpOworZXh0ZXJuIGthbF9ib29sIENMMURfUkZfVVRBU19Jc0VuYWJsZShTeXNDZG1hQmFuZFQgYmFuZCk7CitleHRlcm4gQzJLX0NVU1RPTV9UQVNfTEFZT1VUX0dST1VQX0UgQ0wxRF9SRl9VVEFTX0dldF9Id19Hcm91cChTeXNDZG1hQmFuZFQgYmFuZCk7CitleHRlcm4gQzJLX0NVU1RPTV9VVEFTX0FMR09SSVRITV9QQVJBTUVURVJfVCAgKkNMMURfUkZfR0VUX1VUQVNfQUxHT1JJVEhNX1BBUkFNRVRFUih2b2lkKTsKK2V4dGVybiBrYWxfaW50OCAgQ0wxRF9SRl9RdWFyeV9VVEFTX0FudF9Sc2NwX0JpYXMoa2FsX3VpbnQ4IGFudF9pbmRleCxrYWxfdWludDggYzJrX2JhbmQpOworI2VuZGlmCitleHRlcm4gdm9pZCBDTDFEX1JGX1N3X0luaXQodm9pZCk7CitleHRlcm4gdm9pZCBDTDFEX1JGX0hXX1RYX0luaXQodm9pZCk7CitleHRlcm4gdm9pZCBDTDFEX1JGX0hXX1RYX0VuZCh2b2lkKTsKK2V4dGVybiB2b2lkIENMMURfUkZfSFdfUlhfSW5pdCh2b2lkKTsKK2V4dGVybiB2b2lkIENMMURfUkZfSFdfUlhfRW5kKHZvaWQpOworZXh0ZXJuIHZvaWQgQ0wxRF9SRl9Jbml0KHZvaWQpOworCisvKipSRkQgQUZDIGludGVyZmFjZSovCitleHRlcm4gdm9pZCBDTDFEX1JGX0FGQ19TeW50aF9PZmZzZXRfVXBkYXRlKENMMURfUkZfQUZDX1NZTlRIX09GRlNFVF9VUERBVEVfVCogYWRzUHRyKTsKK2V4dGVybiB2b2lkIENMMURfUkZfQUZDX0luaXRfRm9lX1BwYl9RdWVyeShDTDFEX1JGX0FGQ19JTklUX0ZPRV9QUEJfUVVFUllfVCogYWRzUHRyKTsKK2V4dGVybiB2b2lkIENMMURfUkZfQUZDX1NfQ3VydmVfUGFyYW1fUXVlcnkoQ0wxRF9SRl9BRkNfU19DVVJWRV9QQVJBTV9RVUVSWV9UKiBhZHNQdHIpOworZXh0ZXJuIHZvaWQgQ0wxRF9SRl9BRkNfRm9lX1BwYl9Ub19EYWMoQ0wxRF9SRl9BRkNfRk9FX1BQQl9UT19EQUNfVCogYWRzUHRyKTsKK2V4dGVybiB2b2lkIENMMURfUkZfQUZDX0RhY19Ub19Gb2VfUHBiKENMMURfUkZfQUZDX0RBQ19UT19GT0VfUFBCX1QqIGFkc1B0cik7CitleHRlcm4gdm9pZCBDTDFEX1JGX0FGQ19SeF9DaGFubmVsX1RvX0ZyZXF1ZW5jeShDTDFEX1JGX0FGQ19SWF9DSEFOTkVMX1RPX0ZSRVFVRU5DWV9UKiBhZHNQdHIpOworZXh0ZXJuIHZvaWQgQ0wxRF9SRl9BRkNfVHhfQ2hhbm5lbF9Ub19GcmVxdWVuY3koQ0wxRF9SRl9BRkNfVFhfQ0hBTk5FTF9UT19GUkVRVUVOQ1lfVCogYWRzUHRyKTsKK2V4dGVybiB2b2lkIENMMURfUkZfQUZDX0NhcF9JZF9VcGRhdGUoQ0wxRF9SRl9BRkNfQ0FQX0lEX1VQREFURV9UKiBhZHNQdHIpOworZXh0ZXJuIHZvaWQgQ0wxRF9SRl9BRkNfRGFjX1VwZGF0ZShDTDFEX1JGX0FGQ19EQUNfVVBEQVRFX1QqIGFkc1B0cik7CisKKy8qKlJGRCBwb3dlciBzYXZpbmcgaW50ZXJmYWNlKi8KK2V4dGVybiB2b2lkIENMMURfUkZfUG93ZXJfT24odm9pZCk7CitleHRlcm4gdm9pZCBDTDFEX1JGX1Bvd2VyX09mZih2b2lkKTsKKworLyoqUkZEIHRlbXBlcmF0dXJlIGZlYXR1cmUgaW50ZXJmYWNlKi8KK2V4dGVybiB2b2lkIENMMURfUkZfVGVtcGVyYXR1cmVfUXVlcnkoQ0wxRF9SRl9URU1QRVJBVFVSRV9RVUVSWV9UKiBhZHNQdHIpOworZXh0ZXJuIHZvaWQgQ0wxRF9SRl9UZW1wZXJhdHVyZV9NZWFzKGthbF91aW50OCByYXQsIENMMURfUkZfVE1QX01PREVfRSB0bXBfbW9kZSk7CisKKy8qKlJGRCBUWCBwYXRoIGNvbnRyb2wgaW50ZXJmYWNlKi8KK2V4dGVybiB2b2lkIENMMURfUkZfVHhfUGF0aF9PbihDTDFEX1JGX1RYX1BBVEhfT05fVCogYWRzUHRyKTsKK2V4dGVybiB2b2lkIENMMURfUkZfVHhfUGF0aF9PZmYoQ0wxRF9SRl9UWF9QQVRIX09GRl9UKiBhZHNQdHIpOworZXh0ZXJuIHZvaWQgQ0wxRF9SRl9UeF9QYXRoX0dhdGVfT24oQ0wxRF9SRl9UWF9QQVRIX0dBVEVfT05fVCogYWRzUHRyKTsKK2V4dGVybiB2b2lkIENMMURfUkZfVHhfUGF0aF9HYXRlX09mZihDTDFEX1JGX1RYX1BBVEhfR0FURV9PRkZfVCogYWRzUHRyKTsKKworLyoqUkZEIFRQQyBjb250cm9sIGludGVyZmFjZSovCitleHRlcm4gdm9pZCBDTDFEX1JGX1RQQ19Jbml0KHZvaWQpOworZXh0ZXJuIHZvaWQgQ0wxRF9SRl9UUENfQ2ZnKENMMURfUkZfVFBDX0NGR19UKiBhZHNQdHIpOworZXh0ZXJuIHZvaWQgQ0wxRF9SRl9UUENfSW5mb19RdWVyeShDTDFEX1JGX1RQQ19JTkZPX1FVRVJZX1QqIGFkc1B0cik7CitleHRlcm4gdm9pZCBDTDFEX1JGX1RQQ19DZmdfVGVzdChDTDFEX1JGX1RQQ19DRkdfVEVTVF9UKiBhZHNQdHIpOworZXh0ZXJuIHZvaWQgQ0wxRF9SRl9UUENfQW50ZW5uYV9Qb3dlcl9RdWVyeShDTDFEX1JGX1RQQ19BTlRFTk5BX1BPV0VSX1FVRVJZX1QqIGFkc1B0cik7CitleHRlcm4gdm9pZCBDTDFEX1JGX1RQQ19HYWluX0luZm9fUXVlcnkoQ0wxRF9SRl9UUENfR0FJTl9JTkZPX1FVRVJZX1QqIGFkc1B0cik7CitleHRlcm4gdm9pZCBDTDFEX1JGX1VQQ19JbmZvX1F1ZXJ5KENMMURfUkZfVVBDX0lORk9fUVVFUllfVCogYWRzUHRyKTsKK2V4dGVybiBrYWxfYm9vbCBDTDFEX1JGX0NVU1RfRmRiX1JlYWRfRG9uZV9RdWVyeSh2b2lkKTsKKyNpZiAoZGVmaW5lZChfX01EOTdfXykgfHwgZGVmaW5lZChfX01EOTdQX18pKQorZXh0ZXJuIHZvaWQgQ0wxRF9SRl9UUENfQWxnb19SZXN1bHRfUXVlcnkoQ0wxRF9SRl9UUENfQUxHT19SRVNVTFRfUVVFUllfVCogYWRzUHRyKTsKKyNlbmRpZgorCisvKipSRkQgUlggcGF0aCBjb250cm9sIGludGVyZmFjZSovCitleHRlcm4gdm9pZCBDTDFEX1JGX1J4X1BhdGhfT24oQ0wxRF9SRl9SWF9QQVRIX09OX1QqIGFkc1B0cik7CitleHRlcm4gdm9pZCBDTDFEX1JGX1J4X1BhdGhfT2ZmKENMMURfUkZfUlhfUEFUSF9PRkZfVCogYWRzUHRyKTsKKworLyoqUkZEIFBPQyB1cGRhdGUgaW50ZXJmYWNlKi8KK2V4dGVybiB2b2lkIENMMURfUkZfREVWX0FHQ19QT0NfdXBkYXRlKHZvaWQpOworZXh0ZXJuIHZvaWQgQ0wxRF9SRl9ERVZfVFBDX1BPQ191cGRhdGUodm9pZCk7CisKKy8qKlJGRCBBR0MgY29udHJvbCBpbnRlcmZhY2UqLworZXh0ZXJuIHZvaWQgQ0wxRF9SRl9BR0NfQ2ZnKENMMURfUkZfQUdDX0NGR19UKiBhZHNQdHIpOworZXh0ZXJuIHZvaWQgQ0wxRF9SRl9BR0NfUnNzaV9RdWVyeShDTDFEX1JGX0FHQ19SU1NJX1FVRVJZX1QqIGFkc1B0cik7CitleHRlcm4gdm9pZCBDTDFEX1JGX0FHQ19DZmdfVGVzdChDTDFEX1JGX0FHQ19DRkdfVEVTVF9UKiBhZHNQdHIpOworZXh0ZXJuIHZvaWQgQ0wxRF9SRl9BR0NfQmFja3VwX0luZm9fUXVlcnkoQ0wxRF9SRl9BR0NfQkFDS1VQX0lORk9fUVVFUllfVCogYWRzUHRyKTsKKyNpZiAoZGVmaW5lZChfX01EOTdfXykgfHwgZGVmaW5lZChfX01EOTdQX18pKQorZXh0ZXJuIHZvaWQgQ0wxRF9SRl9BR0NfQWxnb19SZXN1bHRfUXVlcnkoQ0wxRF9SRl9BR0NfQUxHT19SRVNVTFRfUVVFUllfVCogYWRzUHRyKTsKKyNlbmRpZgorCisvKipSRkQgREZFIGNvbnRyb2wgaW50ZXJmYWNlKi8KK2V4dGVybiB2b2lkIENMMURfUkZfUlhERkVfSXFjX1VwZGF0ZShDTDFEX1JGX1JYREZFX0lRQ19VUERBVEVfVCogYWRzUHRyKTsKK2V4dGVybiB2b2lkIENMMURfUkZfUlhERkVfTmNvX1VwZGF0ZShDTDFEX1JGX1JYREZFX05DT19VUERBVEVfVCogYWRzUHRyKTsKK2V4dGVybiB2b2lkIENMMURfUkZfUlhERkVfTmJpZl9VcGRhdGUoQ0wxRF9SRl9SWERGRV9OQklGX1VQREFURV9UKiBhZHNQdHIpOworZXh0ZXJuIHZvaWQgQ0wxRF9SRl9SWERGRV9OYmlmX1VwZGF0ZV9UZXN0KENMMURfUkZfUlhERkVfTkJJRl9VUERBVEVfVCogYWRzUHRyKTsKK2V4dGVybiB2b2lkIENMMURfUkZfUlhERkVfU29ydF9Eb25lKENMMURfUkZfUlhERkVfU09SVF9ET05FX1QqIGFkc1B0cik7CitleHRlcm4gdm9pZCBDTDFEX1JGX1RYREZFX1JGX1RUR19DZmcoQ0wxRF9SRl9UWERGRV9SRl9UVEdfQ0ZHX1QqIGFkc1B0cik7CitleHRlcm4gdm9pZCBDTDFEX1JGX1RYREZFX0JCX1RUR19DZmcoQ0wxRF9SRl9UWERGRV9CQl9UVEdfQ0ZHX1QqIGFkc1B0cik7CitleHRlcm4gdm9pZCBDTDFEX1JGX1RYREZFX1RUR19CQl9Db25maWcoY29uc3QgQ0wxRF9SRl9UWERGRV9CQl9UVEdfQ0ZHX1QgKmNvbmZpZ19wdHIpOworZXh0ZXJuIHZvaWQgQ0wxRF9SRl9SWERGRV9UZXN0X091dCh2b2lkKTsKK2V4dGVybiB2b2lkIENMMURfUkZfUlhERkVfVGVzdF9PdXRfQ2ZnKENMMURfUkZfUlhERkVfVEVTVF9PVVRfSVFfREFUQV9EVU1QX0UgZHVtcF9wb2ludCk7CisvKipSRkQgdGVzdCBjb250cm9sIGludGVyZmFjZSovCitleHRlcm4gdm9pZCBDTDFEX1JGX1Rlc3RfTW9kZV9SZXF1ZXN0KENMMURfUkZfVEVTVF9NT0RFX1JFUVVFU1RfVCogYWRzUHRyKTsKKworLyoqUkZEIE5WIGludGVyZmFjZSAqLworZXh0ZXJuIGthbF9pbnQzMiBDTDFEX1JGX05WX0dldChDTDFEX1JGX05WX1QqIG52X2dldF9wKTsKK2V4dGVybiBrYWxfaW50MzIgQ0wxRF9SRl9OVl9TZXQoQ0wxRF9SRl9OVl9UKiBudl9zZXRfcCk7CitleHRlcm4ga2FsX2ludDMyIENMMWRfUkZfTlZfUmVfSW5pdChDTDFEX1JGX05WX1JFX0lOSVRfVCogcmVfaW5pdF9wKTsKKworLyoqUkZEIEJhbmQgY29udmVyc2lvbiBpbnRlcmZhY2UgKi8KK2V4dGVybiBrYWxfdWludDggQ0wxRF9SRl9DVVNUX0Mya19CYW5kX1RvX1JmX0JhbmQoa2FsX3VpbnQ4IGMya19iYW5kKTsKKworLyoqIFJGRCBUQVMgaW50ZXJmYWNlICoqLworZXh0ZXJuIEMyS19DVVNUT01fVEFTX1NUQVRFX0UgQ0wxRF9SRl9UYXNfR2V0Q3VycmVudFN0YXRlKFN5c0NkbWFCYW5kVCBiYW5kLCBDTDFEX1JGX1JBVF9FIGwxX3JhdCk7CisjaWYgMAorLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworI2VuZGlmCisKKyNpZiBfQzJLX1VUQVNfU1VQUE9SVF8KK2V4dGVybiB2b2lkIENMMURfUkZfQ3VzdF9UQVNfSW5pdCh2b2lkKTsKK2V4dGVybiB2b2lkIENMMURfUkZfTUVUQV9Jbml0Q2FsaWJyYXRpb25TdGF0ZShib290X21vZGVfdHlwZSBjdXJyZW50X21vZGUpOworI2VuZGlmCitleHRlcm4gQzJLX0NVU1RPTV9UQVNfVkVSX0UgQ0wxRF9SRl9UYXNfR2V0VmVyc2lvbih2b2lkKTsKK2V4dGVybiBrYWxfYm9vbCBDTDFEX1JGX1RhczJfSXNFbmFibGUoQ0wxRF9SRl9CQU5EX0UgcmZfYmFuZCk7CitleHRlcm4gdm9pZCBDTDFEX1JGX1Rhc19VcGRhdGVfU3RhdGUoU3lzQ2RtYUJhbmRUIGJhbmQsIAorCQkJCQkJCQkJCUMyS19DVVNUT01fVEFTX1NUQVRFX0Ugc3RhdGUsIAorCQkJCQkJCQkJCUNMMURfUkZfUkFUX0UgbDFfcmF0KTsKK2V4dGVybiB2b2lkIENMMURfUkZfVGFzX1VwZGF0ZV9BVGNtZF9JbmZvKENMMURfUkZfVEFTX0FUX0NNRF9UKiB0YXNBdENtZEluZm9QdHIpOworZXh0ZXJuIHZvaWQgQ0wxRF9SRl9UYXNfVXBkYXRlX1NJTV9TdGF0dXMoa2FsX2Jvb2wgdHN0U0lNc3RhdHVzKTsKKy8qVEFTIE5WUkFNIEFQSSovCisvKkFwaS0xICovCitleHRlcm4gQzJLX0NVU1RPTV9UQVNfU1RBVEVfRSBUYXNGb3JjZVN0YXRlSW5mbyhTeXNDZG1hQmFuZFQgYmFuZCk7CisvKkFwaS0yICovCitleHRlcm4gdm9pZCBDTDFEX1RBU19FTkFCTEVfU0VUVElORyhrYWxfYm9vbCBudnJhbV93cml0ZSk7CisvKkFwaS0zICovCitleHRlcm4gdm9pZCBGT1JDRV9UQVNfU1RBVEVfVE9fTlZSQU0oCisJCUMyS19DVVNUT01fVEFTX1NUQVRFX0UgCVRhc1N0YXRlLAorCQlrYWxfYm9vbCBudnJhbV93cml0ZSk7CisvKkFwaS00ICovCitleHRlcm4gdm9pZCBGT1JDRV9UQVNfU1RBVEVfQllfQkFORCgKKwkJQzJLX0NVU1RPTV9UQVNfU1RBVEVfRSBUYXNTdGF0ZSwKKwkJU3lzQ2RtYUJhbmRUIGJhbmQpOworLypBcGktNSAqLworZXh0ZXJuIEMyS19DVVNUT01fVEFTX1NUQVRFX0UgUkVTVE9SRV9UQVNfU1RBVEVfQllfQkFORChTeXNDZG1hQmFuZFQgYmFuZCk7CisKKy8qQXBpLTYgKi8KKyNpZiAoIWRlZmluZWQoX19NRDk3X18pICYmICFkZWZpbmVkKF9fTUQ5N1BfXykpCitleHRlcm4gQzJLX0NVU1RPTV9UQVNfRkVBVFVSRV9CWV9SQVRfVCogVGFzQnlSYXRJbmZvUXVlcnkodm9pZCk7CisjZW5kaWYKKworLyoqVHVybiBPbiBQYSoqLworZXh0ZXJuIHZvaWQgQ0wxRF9SRl9WcGFfRW5hYmxlKGthbF9ib29sIHZwYV9lbixTeXNDZG1hQmFuZFQgYmFuZCk7CisKKy8qKlNlbmQvUmVhZCBCU0kvTUlQSS9CUEkgQ1cqKi8KK3ZvaWQgQ0wxRF9SRl9JTU1fU0VORF9CU0koa2FsX3VpbnQxNiBic2lpZCwga2FsX3VpbnQzMiBic2lhZGRyLCBrYWxfdWludDMyIGJzaWRhdGEpOwordm9pZCBDTDFEX1JGX0lNTV9SRUFEX0JTSShrYWxfdWludDE2IGJzaWlkLCBrYWxfdWludDMyIGJzaWFkZHIsIGthbF91aW50MzIqIGJzaWRhdGEpOwordm9pZCBDTDFEX1JGX0lNTV9TRU5EX01JUEkoa2FsX3VpbnQxNiBtaXBpcG9ydCwga2FsX3VpbnQzMiBtaXBpdXNpZCwga2FsX3VpbnQzMiBtaXBpYWRkciwga2FsX3VpbnQzMiBtaXBpZGF0YSk7Cit2b2lkIENMMURfUkZfSU1NX1JFQURfTUlQSShrYWxfdWludDE2IG1pcGlwb3J0LCBrYWxfdWludDMyIG1pcGl1c2lkLCBrYWxfdWludDMyIG1pcGlhZGRyLCBrYWxfdWludDMyKiBtaXBpZGF0YSk7Cit2b2lkIENMMURfUkZfSU1NX1NFTkRfQlBJKENMMURfUkZfUkFUX1RZUEVfRSByYXRfbW9kZSwga2FsX3VpbnQzMiBicGlkYXRhKTsKK3ZvaWQgQ0wxRF9SRl9JTU1fUkVBRF9CUEkoQ0wxRF9SRl9SQVRfVFlQRV9FIHJhdF9tb2RlLCBrYWxfdWludDMyKiBicGlkYXRhKTsKKworLyoqUkZEIFRyYWNlKiovCit2b2lkIENMMURfUkZfTG9nX1RpY2soQ0wxRF9SRl9SQVRfVFlQRV9FIHJhdCk7Cit2b2lkIENMMURfUkZfRHVtcF9Cc2lfQnBpX01pcGlfQ3dfTG9nZ2VyKHZvaWQpOworCisvKipSRiBjb25mbGljdCBjaGVja2luZyBpbnRlcmZhY2UqKi8KK3ZvaWQgQ0wxRF9SRl9CcGlfQ29uZmxpY3RfQ2hlY2soQ0wxRF9SRl9SQVRfVFlQRV9FIHJhdCk7CisKKyNpZiBDTDFEX1JYREZFX0RVTVBfRU5BCisjZGVmaW5lIENMMVRTVF9SWF9UWF9JUV9EVU1QX05VTSAgICAgICAgICAgICAgIDEyODAwCisKKyNpZiBkZWZpbmVkKF9fTUQ5NV9fKQorZXh0ZXJuIHZvaWQgQ0wxRF9SRl9SWERGRV9JUV9EVU1QX0NBUyhDTDFEX1JGX1JYREZFX0lRX0RVTVBfVCogZHVtcF9wYXJhbSk7CisjZWxpZiAoZGVmaW5lZChfX01EOTdfXykgfHwgZGVmaW5lZChfX01EOTdQX18pKQorI2lmIENMMURfUlhERkVfRFVNUF9FTkEKK2V4dGVybiBrYWxfaW50MzIgIGNsMWRfcmZfcnh0eGRmZV9kdW1wX3NpemUgOworZXh0ZXJuIGthbF9pbnQzMiAgY2wxZF9yZl9yeHR4ZGZlX2J1ZmZlcl9udW07CisjZW5kaWYKK2V4dGVybiB2b2lkIENMMURfUkZfUlhERkVfSVFfRHVtcF9DZmcoQ0wxRF9SRl9SWERGRV9JUV9EVU1QX0lucHV0X1QgKiBkdW1wX3BhcmFtLENMMURfUkZfUlhERkVfSVFfRFVNUF9PdXRwdXRfVCogZHVtcF9vdXRwdXQpOworZXh0ZXJuIHZvaWQgQ0wxRF9SRl9SWFRYREZFX0lRX0R1bXBfUXVlcnkoQ0wxRF9SRl9SWFRYREZFX0lRX0RVTVBfUVVSWV9UICogZHVtcF9wYXJhbSk7CitleHRlcm4gdm9pZCBDTDFEX1JGX1JYREZFX1RUR19Db25maWcoQ0wxRF9SRl9SWERGRV9UVEdfSW5wdXRfVCogYWRzUHRyKTsKKyNlbmRpZgorI2VuZGlmCisjaWYgKGRlZmluZWQoX19NRDk3X18pIHx8IGRlZmluZWQoX19NRDk3UF9fKSkKKy8qKlJGIGNvbnRyb2wgdGljayoqLworZXh0ZXJuIHZvaWQgQ0wxRF9SRl9DdHJsX1RpY2soQ0wxRF9SRl9SQVRfVFlQRV9FIHJhdCk7CitleHRlcm4gdm9pZCBDTDFEX1JGX1RYREZFX05jb19VcGRhdGUoY29uc3QgQ0wxRF9SRl9UWERGRV9OQ09fVVBEQVRFX1QgKmNvbmZpZ19wdHIpOworI2VuZGlmCisjaWYgKGRlZmluZWQoX19NRDk3X18pIHx8IGRlZmluZWQoX19NRDk3UF9fKSkKK2V4dGVybiB2b2lkIENMMURfUkZfVFhERkVfQ0dfQ1RSTChrYWxfYm9vbCBlbik7CisjZW5kaWYKKworZXh0ZXJuIHZvaWQgQ0wxRF9SRl9UWERGRV9JUV9EdW1wX0NmZyhDTDFEX1JGX1RYREZFX0lRX0RVTVBfSU5QVVRfVCogY29uZmlnX3B0ciwgQ0wxRF9SRl9UWERGRV9JUV9EVU1QX09VVFBVVF9UICpkdW1wX291dHB1dCApOworZXh0ZXJuIHZvaWQgQ0wxRF9SRl9UWERGRV9JUV9EdW1wX0NmZ19UbXAoQ0wxRF9SRl9UWERGRV9JUV9EVU1QX0lOUFVUX1QqIGNvbmZpZ19wdHIsIENMMURfUkZfVFhERkVfSVFfRFVNUF9PVVRQVVRfVCAqZHVtcF9vdXRwdXQgKTsKKworZXh0ZXJuIHZvaWQgQ0wxRF9SRl9UWEtERkVfSVFfRHVtcF9DZmcoQ0wxRF9SRl9UWEtERkVfSVFfRFVNUF9JTlBVVF9UKiBjb25maWdfcHRyLCBDTDFEX1JGX1RYS0RGRV9JUV9EVU1QX09VVFBVVF9UICpkdW1wX291dHB1dCApOworCisjaWYgZGVmaW5lZChfX01EOTdfXykKK2V4dGVybiB2b2lkIENMMURfUkZfUEFfRktfUmVzdWx0X1F1ZXJ5KGthbF91aW50OCBjMmtfYmFuZF9jbGFzcywgQ0wxRF9SRl9UWF9MRUFLQUdFX1BBX0ZLX1JFU1VMVF9UICpwX3BhX2ZrX3Jlc3VsdCk7CisjZW5kaWYKKworI2lmIF9DMktfVVRBU19TVVBQT1JUXzk3CitleHRlcm4gTU1SRkRfQ1VTVE9NX1RBU19TVEFURV9FICAgICAgICAgICAgICAgQ0wxRF9SRl9UQVNfR2V0X0luaXRfU3RhdGUoQzJLX0JPT1RfTU9ERV9UWVBFX0UgY3VycmVudF9tb2RlLCBDTDFEX1JGX0JBTkRfRSBiYW5kX2lkeCk7CitleHRlcm4gdm9pZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0wxRF9SRl9UQVNfVXBkYXRlX1NJTV9TdGF0dXMoa2FsX2Jvb2wgdHN0U0lNc3RhdHVzKTsKK2V4dGVybiBrYWxfYm9vbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDTDFEX1JGX1RBU19Jc19FbmFibGUoU3lzQ2RtYUJhbmRUIGMya19iYW5kKTsKK2V4dGVybiBDMktfQ1VTVE9NX1VUQVNfQUxHT1JJVEhNX1BBUkFNRVRFUl9UKiBDTDFEX1JGX1RBU19HZXRfQWxvZ3JpdGhtX1BhcmFtZXRlcih2b2lkKTsKK2V4dGVybiBNTVJGRF9BTlRfSFdfTEFZT1VUX0dST1VQX0lEWF9FICAgICAgICBDTDFEX1JGX1RBU19HZXRfSHdfR3JvdXAoU3lzQ2RtYUJhbmRUIGJhbmQpOworZXh0ZXJuIHZvaWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENMMURfUkZfVEFTX0VuYWJsZV9TZXR0aW5nKGthbF9ib29sIG52cmFtX3dyaXRlKTsKK2V4dGVybiBNTVJGRF9DVVNUT01fVEFTX1NUQVRFX0UgICAgICAgICAgICAgICBDTDFEX1JGX1RBU19Gb3JjZV9TdGF0ZV9JbmZvKFN5c0NkbWFCYW5kVCBiYW5kKTsKK2V4dGVybiB2b2lkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDTDFEX1JGX1RBU19Gb3JjZV9TdGF0ZV9Ub19OVihNTVJGRF9DVVNUT01fVEFTX1NUQVRFX0UgVGFzU3RhdGUsIGthbF9ib29sIG52cmFtX3dyaXRlKTsKK2V4dGVybiB2b2lkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDTDFEX1JGX1RBU19Gb3JjZV9TdGF0ZV9CeV9CYW5kKE1NUkZEX0NVU1RPTV9UQVNfU1RBVEVfRSBUYXNTdGF0ZSwgU3lzQ2RtYUJhbmRUIGJhbmQpOworZXh0ZXJuIE1NUkZEX0NVU1RPTV9UQVNfU1RBVEVfRSAgICAgICAgICAgICAgIENMMURfUkZfVEFTX1Jlc3RvcmVfU3RhdGVfQnlfQmFuZChTeXNDZG1hQmFuZFQgYmFuZCk7CitleHRlcm4gQzJLX0NVU1RPTV9UQVNfRkVBVFVSRV9UKiAgICAgICAgICAgICAgQ0wxRF9SRl9UQVNfR2V0X0J5UmF0X0luZm8odm9pZCk7CitleHRlcm4gdm9pZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0wxRF9SRl9UQVNfVXBkYXRlX0FUY21kX0luZm8oQ0wxRF9SRl9UQVNfQVRfQ01EX1QqIHRhc0F0Q21kSW5mb1B0cik7CitleHRlcm4gQzJLX0NVU1RPTV9UQVNfVkVSX0UgICAgICAgICAgICAgICAgICAgQ0wxRF9SRl9UQVNfR2V0X1ZlcnNpb24odm9pZCk7CitleHRlcm4ga2FsX2ludDggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0wxRF9SRl9UQVNfUXVlcnlfQU5UX1JTQ1BfQmlhcyhrYWxfdWludDggYW50X2luZGV4LCBrYWxfdWludDggYzJrX2JhbmQpOworZXh0ZXJuIE1NUkZEX0FOVF9JTkRFWF9UWVBFX0UgICAgICAgICAgICAgICAgIENMMURfUkZfVEFTX1F1ZXJ5X0N1cnJlbnRfVFhfQU5UX0lEWCh2b2lkKTsKK2V4dGVybiBNTVJGRF9BTlRfRkVfU1dJVENIX05XX0dST1VQX0UgICAgICAgICBDTDFEX1JGX0FOVF9HZXRfRkVfU3d0aWNoX05XX0dyb3VwKENMMURfUkZfQkFORF9FIHJmX2JhbmQpOworI2VuZGlmCisKKyNpZiAoZGVmaW5lZChfX01EOTdfXykgfHwgZGVmaW5lZChfX01EOTdQX18pKQorI2lmIElTX0MyS19JTkRJQ0FUSU9OX0ZPUl9BUF9DTE9DS19IT1BQSU5HX1NVUFBPUlQKK2V4dGVybiBrYWxfYm9vbCBDTDFEX1JGX0hPUFBJTkdfRlJFUV9RdWVyeShDTDFEX1JGX0hPUFBJTkdfUVVFUllfVCogYWRzUHRyKTsKK2V4dGVybiB2b2lkIENMMURfUkZfSE9QUElOR19GUkVRX1RBQkxFX0lORk9fUXVlcnkoQ0wxRF9SRl9UQUJMRV9JTkZPX1FVRVJZX1QqIGFkc1B0cik7CisjZW5kaWYKKyNlbmRpZgorCitleHRlcm4gdm9pZCBDTDFEX1JGX1JGUERfSW5mb19RdWVyeShDTDFEX1JGX1JGUERfSU5GT19RVUVSWV9UKiBhZHNQdHIpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogRW5kIG9mIEZpbGUKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2VuZGlmCisKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL3JmZC9jbDFkX3JmX3RzdF9lbHRfbXNnX3N0cnVjdC5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvcmZkL2NsMWRfcmZfdHN0X2VsdF9tc2dfc3RydWN0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDUwZTA4MgotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL3JmZC9jbDFkX3JmX3RzdF9lbHRfbXNnX3N0cnVjdC5oCkBAIC0wLDAgKzEsNjQgQEAKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoKKyogRklMRSBOQU1FICAgOmVsdF9tc2dfc3RydWN0LmgKKyoKKyogREVTQ1JJUFRJT04gOgorKgorKgorKiBISVNUT1JZICAgICA6CisqICAgICBTZWUgTG9nIGF0IGVuZCBvZiBmaWxlCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEluY2x1ZGUgRmlsZXMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworI2lmbmRlZiBfQ0wxRF9SRl9UU1RfRUxUX01TR19TVFJVQ1RfSF8KKyNkZWZpbmUgX0NMMURfUkZfVFNUX0VMVF9NU0dfU1RSVUNUX0hfCisKKworI2luY2x1ZGUgImNsMWRfcmZfdHN0X21zZy5oIgorCit0eXBlZGVmIHN0cnVjdAoreworICAgIExPQ0FMX1BBUkFfSERSCisgICAgQ0wxRF9SRl9UU1RfQ0FTRV9NU0dfVCBtc2c7Cit9ZWx0X2NsMWRfcmZfdHN0X2Nhc2VfbXNnX3N0cnVjdDsKKworI2VuZGlmIC8qIF9DTDFEX1JGX1RTVF9FTFRfTVNHX1NUUlVDVF9IXyAqLwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvcmZkL2NsMWRfcmZfdHN0X21zZy5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvcmZkL2NsMWRfcmZfdHN0X21zZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkMDFkOTgKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9yZmQvY2wxZF9yZl90c3RfbXNnLmgKQEAgLTAsMCArMSw3MTggQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvLyNpZiBkZWZpbmVkKF9fQ0wxX1RBU0tfRU5BQkxFX18pCisjaW5jbHVkZSAiY2wxZF9yZl9wdWJsaWMuaCIKKy8vI2VuZGlmCisKKyNpZm5kZWYgX0NMMURfUkZfVFNUX01TR19IXworI2RlZmluZSBfQ0wxRF9SRl9UU1RfTVNHX0hfCisKKwordHlwZWRlZiBlbnVtCit7CisgICAgUlRUX1JYX01BSU5fT05fT0ZGID0gMCwKKyAgICBSVFRfUlhfRElWX09OX09GRiwKKyAgICBSVFRfUlhfRElWX1BBUlRJQUxfT05fT0ZGLAorICAgIFJUVF9SWF9NQUlOX0RJVl9PTl9PRkYsCisgICAgUlRUX1JYX0RGUywKKyAgICBSVFRfVFhfT05fT0ZGLAorICAgIFJUVF9UWF9UWEdBVEVfT05fT0ZGLAorICAgIFJUVF9UWF9UUEMsCisgICAgUlRUX1RSWF9PTl9PRkYsCisgICAgUlRUX0hZQlJJRF9NT0RFLAorICAgIFJUVF9BR0NfSUNTLAorICAgIFJUVF9BR0NfRkFTVCwKKyAgICBSVFRfQUdDX1NURUFEWSwKKyAgICBSVFRfQUdDX0ZIQywKKyAgICBSVFRfQUdDX0ZBU1RfU1RFQURZLAorICAgIFJUVF9BR0NfUE9XRVJfTU9ERSwgICAgIAorICAgIERPX1JYX01BSU5fT05fT0ZGLAorICAgIERPX1JYX0RJVl9PTl9PRkYsCisgICAgRE9fUlhfRElWX1BBUlRJQUxfT05fT0ZGLAorICAgIERPX1JYX0RGU19BQ1QsCisgICAgRE9fUlhfREZTX0lETEUsCisgICAgRE9fUlhfTUFJTl9ESVZfU0VDX0ZIQywKKyAgICBET19SWF9BR0NfRlNNLAorICAgIERPX1JYX0FHQ19QV00sCisgICAgRE9fVFhfT05fT0ZGLAorICAgIERPX1RYX1RQQywKKyAgICBET19UUlhfT05fT0ZGLAorICAgIERPX1NIRFIsCisgICAgRE9fSFlCUklEX01PREUsCisgICAgRE9fQUdDX0lDUywKKyAgICBET19BR0NfRkFTVCwKKyAgICBET19BR0NfU1RFQURZLAorICAgIERPX0FHQ19GSEMsCisgICAgRE9fQUdDX0ZBU1RfU1RFQURZLAorICAgIERPX0FHQ19QT1dFUl9NT0RFLAorICAgIFJUVF9SWF9JQ1NfT04sCisgICAgUlRUX1JYX0lDU19PRkYsCisgICAgUlRUX1JYX01BSU5fT04sCisgICAgUlRUX1JYX01BSU5fT0ZGLAorICAgIFJUVF9SWF9NQUlOX0RJVl9PTiwKKyAgICBSVFRfUlhfTUFJTl9ESVZfT0ZGLAorICAgIFJUVF9UWF9PTiwKKyAgICBSVFRfVFhfT0ZGLAorICAgIERPX1JYX01BSU5fT04sCisgICAgRE9fUlhfTUFJTl9PRkYsCisgICAgRE9fUlhfRkhDX09OLAorICAgIERPX1JYX0ZIQ19PRkYsCisgICAgRE9fUlhfTUFJTl9ESVZfT04sCisgICAgRE9fUlhfTUFJTl9ESVZfT0ZGLAorICAgIERPX1RYX09OLAorICAgIERPX1RYX09GRiwKKyAgICBSWF9SRVNVTFRfUVVFUlksCisgICAgVFhERkVfUkVTVUxUX1FVRVJZLAorICAgIERPX0lNTV9CU0lfU0VORCwKKyAgICBET19JTU1fQlNJX1JFQUQsCisgICAgRE9fSU1NX01JUElfU0VORCwKKyAgICBET19JTU1fTUlQSV9SRUFELAorICAgIERPX1JYX0FGQywKKyAgICBSVFRfVFBDX1VQREFURV9UU1QsCisgICAgRE9fVFBDX1VQREFURV9UU1QsCisgICAgUlRUX1RFU1RfTU9ERSwKKyAgICBET19URVNUX01PREUsCisgICAgUlRUX0FHQ19DRkcsCisgICAgRE9fQUdDX0NGRywKKyAgICBSVFRfQUdDX0NGR19UU1QsCisgICAgRE9fQUdDX0NGR19UU1QsCisgICAgREZFX1JYX1BBVEgsCisgICAgREZFX1JYX0RZTiwKKyAgICBERkVfVFhfT04sCisgICAgREZFX1RYX09GRiwKKyAgICBERkVfVFhfT05fQ0hFQ0ssCisgICAgREZFX1RYX09GRl9DSEVDSywKKyAgICBUUENfVVBEQVRFX09MLAorICAgIFRQQ19VUERBVEVfQ0wsCisgICAgVFhERkVfVFRHX0NPTkZJRywKKyAgICBUWERGRV9EVU1QX0NPTkZJRywKKyAgICBUWEtERkVfRFVNUF9DT05GSUcsCisgICAgUlhERkVfVFRHX0NPTkZJRywKKyAgICBSWERGRV9EVU1QX0NPTkZJRywKKyAgICBNSVBJX1JFQURfUkVHLAorICAgIE1JUElfV1JJVEVfUkVHLAorICAgIFRQQ19QTV9ET1dOTE9BRCwKKyAgICBSVFRfVFBDX09OLAorICAgIERPX1RQQ19PTiwKKyAgICBSVFRfVFBDX1VQREFURV9UU1RfTE9PUCwKKyAgICBET19UUENfVVBEQVRFX1RTVF9MT09QLAorICAgIFJUVF9UUENfR0FURV9MT09QLAorICAgIFNZU19GUkFNRV9UWVBFX1NFVCwKKwlERkVfUlhfV0lOX09OLAorICAgIERGRV9SWF9XSU5fT0ZGLAorICAgIERGRV9SWF9DT01QLAorICAgIERGRV9TRVRfSVFfU1dBUCwgICAgCisvLyAgICBERkVfUlhfUEFUSF9UU1QsCisgICAgREZFX1JYX0RZTl9UU1QsCisgICAgREZFX1JYX0ZVTExfU0NILAorICAgIERGRV9SWF9OQklGX0NIRUNLX1RTVCwKKyAgICBERkVfUlhfTkNPX0NIRUNLX1RTVCwKKyAgICBERkVfUlhfUkZDX0NIRUNLX1RTVCwKKyAgICBERkVfUlhfV0lOX09OT0ZGX1RTVCwJCisgICAgVFhfUkVTVUxUX1FVRVJZLAorICAgIFRYX0RPX1RQQ19DRkdfVEVTVCwKKyAgICBUWF9ET19UUENfQ0ZHLAorICAgIFRYX1JUVF9UUENfQ0ZHX1RFU1QsCisgICAgVFhfUlRUX1RQQ19DRkcsCisgICAgVFhfVEVNUF9DT01QX1RFU1QsCisgICAgUkZfVFNUX0NBU0VfTlVNCit9IENMMURfUkZfVFNUX0NBU0VfSURYX0U7CisKK3R5cGVkZWYgZW51bQoreworICAgIEFHQ19BTEdPX1JFU1VMVF9DSEVDSywKKyAgICBBR0NfRkFTVF9TVEVBRFlfU1dJVENIX0NIRUNLLAorICAgIEFHQ19QT1dFUl9NT0RFX1NXSVRDSF9DSEVDSywKKyAgICBBR0NfR0FJTl9EQ19CQUNLVVBfQ0hFQ0ssCisgICAgQUdDX0lRX1NXQVBfQ0hFQ0ssCisgICAgQUdDX0ZJWF9HQUlOX0RDX0NIRUNLLAorICAgIFJGX1RTVF9SWF9DQVNFX0NIRUNLX0lURU1fTlVNCit9Q0wxRF9SRl9UU1RfUlhfQ0FTRV9DSEVDS19JVEVNX0U7CisKK3R5cGVkZWYgZW51bQoreworICAgIENMMURfUkZfVFNUX1JFUV9TVUNDRVNTLAorICAgIENMMURfUkZfVFNUX1JFUV9GQUlMVVJFLAorICAgIENMMURfUkZfVFNUX1JFUV9OT1RfU1VQUE9SVCwKKyAgICBDTDFEX1JGX1RTVF9SRVFfSU5WQUxJRCA9IDB4N0ZGRkZGRkYKK31DTDFEX1JGX1RTVF9SRVFfU1RBVFVTX0U7CisKK3R5cGVkZWYgZW51bQoreworICAgIENMMURfUkZfVFNUX1NZU19GUkFNRV9TSVpFXzIwTVMgPSAwLAorICAgIENMMURfUkZfVFNUX1NZU19GUkFNRV9TSVpFXzI2TVMgPSAxCit9Q0wxRF9SRl9UU1RfU1lTX0ZSQU1FX1NJWkVfRTsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBrYWxfdWludDMyIGR1bW15OworfSBDTDFEX1JGX1RTVF9DQVNFX05VTExfVDsKKwordHlwZWRlZiBlbnVtCit7ICAvKiBmb2xsb3dpbmcgbnVtYmVyIGFyZSBhY2NvcmRpbmcgdG8gSFdQT1IgcG9ydCBzZWxlY3QgKi8KKyAgIENMMURfTU1MMV9SRl9SRklDMSAgID0gMHgwMDAwLAorICAgQ0wxRF9NTUwxX1JGX1JGSUMyICAgPSAweDAwMDEsCisgICBDTDFEX01NTDFfUkZfUE1JQyAgICA9IDB4MDAwMiwKKyAgIENMMURfTU1MMV9SRl9NSVBJMCAgID0gMHgwMDAzLAorICAgQ0wxRF9NTUwxX1JGX01JUEkxICAgPSAweDAwMDQsCisgICBDTDFEX01NTDFfUkZfTUlQSTIgICA9IDB4MDAwNSwKKyAgIENMMURfTU1MMV9SRl9NSVBJMyAgID0gMHgwMDA2LAorICAgQ0wxRF9NTUwxX1JGX01JUEk0ICAgPSAweDAwMDcsCisjaWYgSVNfTU1MMV9DSElQX01UNjI5Ml9BTkRfTEFUVEVSX1ZFUlNJT04KKyAgIENMMURfTU1MMV9SRl9NSVBJNSAgID0gMHgwMDA4LAorICAgQ0wxRF9NTUwxX1JGX01JUEk2ICAgPSAweDAwMDksCisgICBDTDFEX01NTDFfUkZfTUlQSTcgICA9IDB4MDAwQSwKKyNlbmRpZgorICAgQ0wxRF9NTUwxX1JGX1BPUlRfQ05ULAorICAgQ0wxRF9NTUwxX1JGX1BPUlRfRU5ETUFSSywKK31DTDFEX01NTDFfUkZfQlNJTU1fUE9SVF9UOworCit0eXBlZGVmIGVudW0KK3sKKyAgIENMMURfTU1MMV9NSVBJX1JXICAgICAgICAgID0gMHgwMDAwLAorICAgQ0wxRF9NTUwxX01JUElfRVhUUldfMUJZVEUgPSAweDAwMDEsCisgICBDTDFEX01NTDFfTUlQSV9FWFRSV18yQllURSA9IDB4MDAwMiwKKyAgIENMMURfTU1MMV9NSVBJX0VYVFJXXzNCWVRFID0gMHgwMDAzLAorICAgQ0wxRF9NTUwxX01JUElfRVhUUldfNEJZVEUgPSAweDAwMDQsCisgICBDTDFEX01NTDFfTUlQSV9TVVBQT1JUX1JXX0NOVCwKK31DTDFEX01NTDFfTUlQSV9SRUdfUldfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBDTDFEX01NTDFfUkZfQlNJTU1fUE9SVF9UIHBvcnQ7CisgICAga2FsX3VpbnQzMiBic2lkYXRhOworfSBCU0lfU0VORF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIENMMURfTU1MMV9SRl9CU0lNTV9QT1JUX1QgcG9ydDsKKyAgICBrYWxfdWludDMyIGJzaWFkZHI7Cit9IEJTSV9SRUFEX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgQ0wxRF9NTUwxX1JGX0JTSU1NX1BPUlRfVCBwb3J0OworICAgIENMMURfTU1MMV9NSVBJX1JFR19SV19UIHJ3X3R5cGU7CisgICAga2FsX3VpbnQzMiBic2lkYXRhMTsKKyAgICBrYWxfdWludDMyIGJzaWRhdGEyOworfSBNSVBJX1NFTkRfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBDTDFEX01NTDFfUkZfQlNJTU1fUE9SVF9UIHBvcnQ7CisgICAgQ0wxRF9NTUwxX01JUElfUkVHX1JXX1QgcndfdHlwZTsKKyAgICBrYWxfdWludDMyIGJzaWFkZHI7Cit9IE1JUElfUkVBRF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qKiBbaW5dIC0gSW5kaWNhdGUgdGhlIFJBVCB0eXBlIG9mIEVWRE8vMVhSVFQgKi8KKyAgICBrYWxfdWludDggIHJhdF90eXBlOworICAgIC8qKiBbaW5dIC0gUnggdGltZXIgdmFsdWUsIHJhbmdlIGlzIDB+MHhCRkZGRiAqLworICAgIGthbF91aW50MzIgcnhfc3RpbWU7CisgICAgLyoqIFtpbl0gLSB7IHNlY29uZCBSeCwgZGl2ZXJzaXR5IFJ4LCBtYWluIFJ4fQorICAgICAgICAgICAgICAgIGJpdDA6IG1haW4gUngKKyAgICAgICAgICAgICAgICBiaXQxOiBkaXZlcnNpdHkgUngKKyAgICAgICAgICAgICAgICBiaXQyOiBzZWNvbmQgUngKKyAgICAqLworICAgIGthbF91aW50OCAgcGF0aF9ibXA7CisgICAgLyoqIFtpbl0gLSBJbmRpY2F0ZSB3aGV0aGVyIEZTTSBpcyB2YWxpZCAqLworICAgIGthbF9ib29sICAgYWdjX2ZzbV92bGQ7CisgICAgLyoqIFtpbl0gLSBJQ1MvRkFTVC9TVEVBRFksIElDUyBzdGF0ZSBvbmx5IGZvciBFVkRPICovCisgICAga2FsX3VpbnQ4ICBhZ2NfZnNtOworICAgIC8qKiBbaW5dIC0gSW5kaWNhdGUgd2hldGhlciBwb3dlciBtb2RlIGlzIHZhbGlkICovCisgICAga2FsX2Jvb2wgICBwb3dlcl9tb2RlX3ZsZDsKKyAgICAvKiogW2luXSAtIHBvd2VyIG1vZGUgb2YgQ0wxRF9SRl9QV1JfTU9ERV9FKi8KKyAgICBrYWxfdWludDggIHBvd2VyX21vZGU7Cit9Q0wxRF9SRl9UU1RfQUdDX0NGR19UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qKiBbaW5dIC0gSW5kaWNhdGUgdGhlIFJBVCB0eXBlIG9mIEVWRE8vMVhSVFQgKi8KKyAgICBrYWxfdWludDggIHJhdF90eXBlOworICAgIC8qKiBbaW5dIC0gUnggdGltZXIgdmFsdWUsIHJhbmdlIGlzIDB+MHhCRkZGRiAqLworICAgIGthbF91aW50MzIgcnhfc3RpbWU7CisgICAgLyoqIFtpbl0gLSB7IHNlY29uZCBSeCwgZGl2ZXJzaXR5IFJ4LCBtYWluIFJ4fQorICAgICAgICAgICAgICBiaXQwOiBtYWluIFJ4CisgICAgICAgICAgICAgIGJpdDE6IGRpdmVyc2l0eSBSeAorICAgICAgICAgICAgICBiaXQyOiBzZWNvbmQgUngKKyAgICAgKi8KKyAgICBrYWxfdWludDggIHBhdGhfYm1wOworICAgIC8qKiBbaW5dIC0gMDogQUdDIGZpeCBnYWluIG1vZGUgMTogQUdDIG1hbnVhbCBtb2RlICovCisgICAga2FsX3VpbnQ4ICB0ZXN0X21vZGU7CisgICAgLyoqIFtpbl0gLSBJQ1MvRkFTVC9TVEVBRFkvRkhDICovCisgICAga2FsX3VpbnQ4ICBhZ2NfZnNtOworICAgIC8qKiBbaW5dIC0gcG93ZXIgbW9kZSBvZiBDTDFEX1JGX1BXUl9NT0RFX0UqLworICAgIGthbF91aW50OCAgcG93ZXJfbW9kZTsKKyAgICAvKiogW2luXSAtIExOQSBpbmRleCBvZiBDTDFEX1JGX0xOQV9NT0RFX0UqLworICAgIGthbF91aW50OCAgbG5hX2lkeDsKKyAgICAvKiogW2luXSAtIFJ4IHRpbWVyIHZhbHVlLCByYW5nZSBpcyAwfjB4QkZGRkYsIGluZGljYXRlIHdoZW4gdG8gYmVnaW4gUlNTSSBhdmVyYWdlLAorICAgICAgICAgICAgICAweEZGRkZGRkZGIG1lYW5zIG5vIHRpbWUgbGltaXRhdGlvbgorICAgICAqLworICAgIGthbF91aW50MzIgcnNzaV9hdmdfc3RhcnRfdGltZTsKKworICAgIC8qKiBbaW5dIC0gUnggdGltZXIgdmFsdWUsIHJhbmdlIGlzIDB+MHhCRkZGRiwgaW5kaWNhdGUgd2hlbiB0byBlbmQgUlNTSSBhdmVyYWdlLAorICAgICAgICAgICAgICAweEZGRkZGRkZGIG1lYW5zIG5vIHRpbWUgbGltaXRhdGlvbgorICAgICAqLworICAgIGthbF91aW50MzIgcnNzaV9hdmdfZW5kX3RpbWU7CisjaWZkZWYgX19NRDk3X18KKyAgICAvKiogW2luXSAtIFBHQSBpbmRleCBvZiBDTDFEX1JGX1BHQV9JTkRFWF9FICovCisgICAga2FsX3VpbnQ4ICBwZ2FfaWR4OworICAgIC8qKiBbaW5dIC0gZGlnaXRhbCBnYWluIGluIERCMiBmb3JtYXQsIFM1LjUgKi8KKyAgICBrYWxfaW50MzIgIGRpZ19nYWluOworICAgIC8qKiBbaW5dIC0gaW5kaWNhdGUgd2hpY2ggcGFyYW1ldGVycyB0byBiZSBmaXhlZAorICAgIAliaXQwOiByZiBnYWluCisgICAgCWJpdDE6IHJmIERDCisgICAgCWJpdDI6IGRpZ2l0YWwgZ2FpbgorICAgIAliaXQzOiBkaWdpdGFsIERDCisgICAgKi8KKyAgICBrYWxfdWludDggIGFnY2RjX2ZpeF9ibXA7CisjZW5kaWYKK30gQ0wxRF9SRl9UU1RfQUdDX0NGR19URVNUX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyoqIFtpbl0gLSBJbmRpY2F0ZSB0aGUgUkFUIHR5cGUgb2YgRVZETy8xWFJUVCAqLworICAgIGthbF91aW50OCByYXRfdHlwZTsKKyAgICAvKiogW2luXSAtIFNldCBzeXN0ZW0gZnJhbWUgdHlwZSAqLworICAgIENMMURfUkZfVFNUX1NZU19GUkFNRV9TSVpFX0Ugc3lzX2ZyYW1lX3NpemU7Cit9Q0wxRF9SRl9UU1RfU1lTX0ZSQU1FX1RZUEVfU0VUX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyoqIFtvdXRdIC0gSW5kaWNhdGUgUnggY2FzZSBjaGVjayBpdGVtICovCisgICAgQ0wxRF9SRl9UU1RfUlhfQ0FTRV9DSEVDS19JVEVNX0UgY2hlY2tfaXRlbTsKKyAgICAvKiogW291dF0gLSBSZXR1cm4gY2FzZSBzdGF0dXMgKi8KKyAgICBDTDFEX1JGX1RTVF9SRVFfU1RBVFVTX0Ugc3RhdHVzOworICAgIC8qKiBbb3V0XSAtIFBHQSBpbmRleCBvZiBDTDFEX1JGX1BHQV9JTkRFWF9FICovCisgICAga2FsX3VpbnQ4IHBnYV9pZHg7CisgICAgLyoqIFtvdXRdIC0gTE5BIGluZGV4IG9mIENMMURfUkZfTE5BX01PREVfRSAqLworICAgIGthbF91aW50OCBsbmFfaWR4OworICAgIC8qKiBbb3V0XSAtIE1MTkEgaW5kZXggb2YgQ0wxRF9SRl9NTE5BX01PREVfRSAqLworICAgIGthbF91aW50OCBtbG5hX2lkeDsKKyAgICAvKiogW291dF0gLSBkaWdpdGFsIGdhaW4gaW4gUTUgZm9ybWF0ICovCisgICAga2FsX2ludDMyIGRpZ19nYWluOworICAgIC8qKiBbb3V0XSAtIHBhdGhsb3NzIGluIFE1IGZvcm1hdCAqLworICAgIGthbF9pbnQzMiBwYXRobG9zczsKKyAgICAvKiogW291dF0gLSBjYWxjdWxhdGVkIHJzc2kgaW4gUTUgZm9ybWF0ICovCisgICAga2FsX2ludDMyIHJzc2k7CisgICAgLyoqIFtvdXRdIC0gZXN0aW1hdGVkIHJlc2lkdWFsIERDIGluIEkgcGF0aCAqLworICAgIGthbF9pbnQzMiBkY19lc3RfcmVfaTsKKyAgICAvKiogW291dF0gLSBlc3RpbWF0ZWQgcmVzaWR1YWwgREMgaW4gUSBwYXRoICovCisgICAga2FsX2ludDMyIGRjX2VzdF9yZV9xOworICAgIC8qKiBbb3V0XSAtIFJGIERDIGluIEkgcGF0aCAqLworICAgIGthbF9pbnQzMiByZl9kY19pOworICAgIC8qKiBbb3V0XSAtIFJGIERDIGluIFEgcGF0aCAqLworICAgIGthbF9pbnQzMiByZl9kY19xOworICAgIC8qKiBbb3V0XSAtIGRpZ2l0YWwgREMgaW4gSSBwYXRoICovCisgICAga2FsX2ludDMyIGRpZ19kY19pOworICAgIC8qKiBbb3V0XSAtIGRpZ2l0YWwgREMgaW4gUSBwYXRoICovCisgICAga2FsX2ludDMyIGRpZ19kY19xOworfUNMMURfUkZfVFNUX1JYX1JFU1VMVF9DSEVDS19UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qKiBbaW5dIC0gSW5kaWNhdGUgdGhlIFJBVCB0eXBlIG9mIEVWRE8vMVhSVFQgKi8KKyAgICBrYWxfdWludDggcmF0X3R5cGU7CisgICAgLyoqIFtpbl0gLSB7IHNlY29uZCBSeCwgZGl2ZXJzaXR5IFJ4LCBtYWluIFJ4fQorICAgICAgICAgICAgICBiaXQwOiBtYWluIFJ4CisgICAgICAgICAgICAgIGJpdDE6IGRpdmVyc2l0eSBSeAorICAgICAgICAgICAgICBiaXQyOiBzZWNvbmQgUngKKyAgICAqLworICAgIGthbF91aW50OCBwYXRoX2JtcDsKKyAgICAvKiogW2luXSAtIEluZGljYXRlIFJ4IGNhc2UgY2hlY2sgaXRlbSAqLworICAgIENMMURfUkZfVFNUX1JYX0NBU0VfQ0hFQ0tfSVRFTV9FIGNoZWNrX2l0ZW07Cit9Q0wxRF9SRl9UU1RfUlhfUkVTVUxUX1FVRVJZX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyoqIFtpbl0gLSBJbmRpY2F0ZSB0aGUgUkFUIHR5cGUgb2YgRVZETy8xWFJUVCAqLworICAgIGthbF91aW50OCByYXRfdHlwZTsKK31DTDFEX1JGX1RTVF9UUENfUE1fRExfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiogW2luXSAtIEluZGljYXRlIHRoZSBSQVQgdHlwZSBvZiBFVkRPLzFYUlRUICovCisgICAga2FsX3VpbnQ4IHJhdF90eXBlOworICAgIC8qKiBbaW5dIC0gMDogVFBDIGZpeCBwb3dlciBtb2RlLDE6IFRQQyBtYW51YWwgcG93ZXIgbW9kZSAqLworICAgIGthbF91aW50OCB0ZXN0X21vZGU7IAorICAgIC8qKiBbaW5dIC0gVHggdGltZXIgdmFsdWUgb24gYWlyLCByYW5nZSBpcyAwfjB4QkZGRkYgKi8KKyAgICBrYWxfdWludDMyIHR4X3N0aW1lOworICAgIC8qKiBbaW5dIC0gVHggcG93ZXIgb24gYWlyIGluIDEvNjRkQm0gdW5pdCAqLworICAgIGthbF9pbnQzMiB0YXJnZXRfcG93ZXI7CisgICAgLyoqIFtpbl0gLSBUUlVFOiBJTFBDIGVuYWJsZSxGQUxTRTogSUxQQyBkaXNhYmxlICovCisgICAga2FsX2Jvb2wgaWxwY19lbjsKKyAgICAvKiogW2luXSAtIFBBIHBvd2VyIGNvbnRyb2wgbW9kZSwwOkFQVCBtb2RlLCAxOiBEUEQgbW9kZSwgMjogRVQgbW9kZSwgMzogQXV0byBtb2RlICovCisgICAga2FsX3VpbnQxNiBwYV9jdHJsX21vZGU7CisgICAgLyoqIFtpbl0gLSBUUlVFOiBEUEQgZW5hYmxlLEZBTFNFOiBEUEQgZGlzYWJsZSAqLworICAgIGthbF9ib29sIGRwZF9lbjsgIAorfUNMMURfUkZfVFNUX1RQQ19DRkdfVEVTVF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qKiBbaW5dIC0gSW5kaWNhdGUgdGhlIFJBVCB0eXBlIG9mIEVWRE8vMVhSVFQgKi8KKyAgICBDTDFEX1JGX1JBVF9UWVBFX0UgcmF0X3R5cGU7CisgICAgLyoqIFtpbl0gLSBUeCB0aW1lciB2YWx1ZSBvbiBhaXIsIHJhbmdlIGlzIDB+MHhCRkZGRiAqLworICAgIGthbF91aW50MzIgdHhfc3RpbWU7CisgICAgLyoqIFtpbl0gLSBUeCBwb3dlciBvbiBhaXIgaW4gMS82NGRCbSB1bml0ICovCisgICAga2FsX2ludDMyIHRhcmdldF9wb3dlcjsKK31DTDFEX1JGX1RTVF9UUENfQ0ZHX09MX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyoqIFtpbl0gLSBJbmRpY2F0ZSB0aGUgUkFUIHR5cGUgb2YgRVZETy8xWFJUVCAqLworICAgIENMMURfUkZfUkFUX1RZUEVfRSByYXRfdHlwZTsKKyAgICAvKiogW2luXSAtIFR4IHRpbWVyIHZhbHVlIG9uIGFpciwgcmFuZ2UgaXMgMH4weEJGRkZGICovCisgICAga2FsX3VpbnQzMiB0eF9zdGltZTsKKyAgICAvKiogW2luXSAtIHNldCBycGMgYml0IDA6IGRlY3JlYXNlIDE6IGluY3JlYXNlICovCisgICAga2FsX3VpbnQ4IHJwY19iaXQ7CisgICAgLyoqIFtpbl0gLSBzZXQgcnNzaSBpbml0IHZhbHVlIGJlZm9yZSBUUEMgQ0wgaXRlcmF0aW9uICovCisgICAga2FsX2ludDE2IHJzc2lfaW5pdDsKKyAgICAvKiogW2luXSAtIHNldCBUUEMgQ0wgaXRlcmF0aW9uIHRpbWVzICovCisgICAga2FsX2ludDE2IGl0ZXJfdGltZXM7ICAgCit9Q0wxRF9SRl9UU1RfVFBDX0NGR19DTF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qKiBbaW5dIC0gaW5kaWNhdGUgdGhlIFJBVCB0eXBlIG9mIEVWRE8vMVhSVFQsIDA6IDFYUlRUOyAxOiBFVkRPICovCisgICAga2FsX3VpbnQ4IHJhdF90eXBlOworICAgIC8qKiBbaW5dIC0gaW5kaWNhdGUgd2hldGhlciBDTCBpcyB2YWxpZCAqLworICAgIGthbF9ib29sIGlzX2Nsb3NlX2xvb3A7CisgICAgLyoqIFtpbl0gLSB0aW1lIG9mIG9uIGFpciBUWCBib3VuZGFyeSBpbiBUWCBzdGltZXIsIHRoZSBjb25maWd1cmF0aW9uIHdpbGwgYmUgYXBwbGllZCB0byBIVyBhZnRlciB0aGlzIHRpbWUsIHVuaXQ6IGVjaGlwLCByYW5nZTogMH4weEJGRkZGKi8KKyAgICBrYWxfdWludDMyIHR4X3N0aW1lOworICAgIC8qKiBbaW5dIC0gY2xvc2UgbG9vcCBzdGVwIHVwIHNpemUgaW4gMS82NGRCLCBTMi42IHVuaXQqLworICAgIGthbF9pbnQxNiBjbF9zdGVwX3VwOworICAgIC8qKiBbaW5dIC0gY2xvc2UgbG9vcCBzdGVwIGRvd24gc2l6ZSBpbiAxLzY0ZEIsIFMyLjYgdW5pdCovCisgICAga2FsX2ludDE2IGNsX3N0ZXBfZG93bjsKKyAgICAvKiogW2luXSAtIGNsb3NlIGxvb3AgYWRqdXN0bWVudCBsaW1pdGVkIDEvNjRkQiwgUzguNiB1bml0Ki8KKyAgICBrYWxfaW50MTYgY2xfYWRqX21heDsKKyAgICAvKiogW2luXSAtIGNsb3NlIGxvb3AgYWRqdXN0bWVudCBsaW1pdGVkIDEvNjRkQiwgUzguNiB1bml0Ki8KKyAgICBrYWxfaW50MTYgY2xfYWRqX21pbjsKKyAgICAvKiogW2luXSAtIG1heGltdW0gdHJhbnNtaXQgcG93ZXIgYWRqdXN0bWVudCBpbiAxLzY0ZEIsIFM1LjYgdW5pdCwgc2V0IDAgaWYgbm90IHVzZSBpdCovCisgICAga2FsX2ludDE2IG1heF9wd3JfYWRqOworICAgIC8qKiBbaW5dIC0gc2ltIHJzc2kgdmFsdWUgZnJvbSBSWEFHQyAqLworICAgIGthbF9pbnQxNiByc3NpX3ZhbDsKKyAgICAvKiogW2luXSAtIFJQQyBiaXQgaW4gU1cgbW9kZSB3aXRoIFUyLjAgdW5pdCovCisgICAga2FsX2ludDE2IHJwY19iaXRfc3c7CisgICAgLyoqIFtpbl0gLSBLUyB2YWx1ZSBpbiBTVyBtb2RlIHdpdGggUzYuNiB1bml0Ki8KKyAgICBrYWxfaW50MTYga3NfdmFsdWVfc3c7CisgICAgLyoqIFtpbl0gLSBSUEMgc3ltYm9sIHBvc2l0aW9uIGluIFNXIG1vZGUgd2l0aCBVNS4wIHVuaXQqLworICAgIGthbF9pbnQxNiBycGNfc3ltX3Bvc19zdzsKKyAgICAvKiogW2luXSAtIHNldCBUUEMgQ0wgaXRlcmF0aW9uIHRpbWVzICovCisgICAga2FsX2ludDE2IGl0ZXJfdGltZXM7IAorfUNMMURfUkZfVFNUX1RQQ19DRkdfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvKiogW291dF0gLSBjdXJyZW50IG9wIG1vZGUsIFUyLjAsIEhXIHJldHVybiwgMDogRVQ7IDE6IERQRDsgMjogQVBUICovCisgICAga2FsX3VpbnQ4IG9wX21vZGU7CisgICAgLyoqIFtvdXRdIC0gUEdBIGdhaW4gaW5kZXgsIFU1LjAqLworICAgIGthbF91aW50OCBwZ2FfaWR4OworICAgIC8qKiBbb3V0XSAtIFBBIGdhaW4gaW5kZXgsIFU1LjAqLworICAgIGthbF91aW50OCBwYV9pZHg7CisgICAgLyoqIFtvdXRdIC0gREVUIGdhaW4gaW5kZXgsIFU0LjAqLworICAgIGthbF91aW50OCBkZXRfaWR4OworICAgIC8qKiBbb3V0XSAtIFBHQSBBL0IgdGFibGUgbW9kZSwgVTEuMCovCisgICAga2FsX3VpbnQ4IHBnYV9tb2RlOworICAgIC8qKiBbb3V0XSAtIGRlc2lyZWQgdHggZ2FpbiwgUzcuNSovCisgICAga2FsX2ludDMyIGd0eF9kYjsKKyAgICAvKiogW291dF0gLSB0YXJnZXQgcG93ZXIsIFM3LjUqLworICAgIGthbF9pbnQzMiBndGFyX2RiOworICAgIC8qKiBbb3V0XSAtIFBBIGdhaW4sIFM2LjUqLworICAgIGthbF9pbnQzMiBwYV9kYjsKKyAgICAvKiogW291dF0gLSBQR0EgZ2FpbiwgUzcuNSovCisgICAga2FsX2ludDMyIHBnYV9kYjsKKyAgICAvKiogW291dF0gLSBkaWdpdGFsIGdhaW4sIFM2LjUqLworICAgIGthbF9pbnQzMiBiYl9kYjsKKyAgICAvKiogW291dF0gLSBkZXQgcGF0aCBGRStQR0EgZ2FpbiwgUzYuNSovCisgICAga2FsX2ludDMyIGRldF9yZl9kYjsKKyAgICAvKiogW291dF0gLSBjb3VwbGVybG9zcyBnYWluIG9mIERFVCBwYXRoLCBTNi41Ki8KKyAgICBrYWxfaW50MzIgY3BsX2dhaW47CisgICAgLyoqIFtvdXRdIC0gYmFjayBvZmYgZ2FpbiwgUzYuNSovCisgICAga2FsX2ludDMyIGJrZl9nYWluOworICAgIC8qKiBbb3V0XSAtIElMUEMgY29tcGVuc2F0aW9uIHZhbHVlIGZvciB0eCBQR0EgZ2FpbiBhZGp1c3RtZW50LCBTNC41Ki8KKyAgICBrYWxfaW50MzIgbWVhc19yZjsKKyAgICAvKiogW291dF0gLSBQQSBvdXRwdXQgcG93ZXIgYmUgbWVzdXJlZCwgUzYuNSovCisgICAga2FsX2ludDMyIHBwYV9kYm07Cit9Q0wxRF9SRl9UU1RfVFhfUkVTVUxUX0NIRUNLX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLyoqIFtpbl0gLSBpbmRpY2F0ZSB0aGUgUkFUIHR5cGUgb2YgRVZETy8xWFJUVCwgMDogMVhSVFQ7IDE6IEVWRE8gKi8KKyAgICBrYWxfdWludDggcmF0X3R5cGU7Cit9Q0wxRF9SRl9UU1RfVFhfUkVTVUxUX1FVRVJZX1Q7CisKK3R5cGVkZWYgc3RydWN0eworQ0wxRF9SRl9SWERGRV9OQklGX1VQREFURV9UIG5iaWZfZGF0YTsKK0NMMURfUkZfUlhERkVfTkNPX1VQREFURV9UIG5jb19kYXRhOworQ0wxRF9SRl9SWERGRV9JUUNfVVBEQVRFX1QgaXFjX2RhdGE7Cit9Q0wxRF9SRl9SWERGRV9EWU5fQ0ZHX0RBVEFfVDsKKwordHlwZWRlZiBzdHJ1Y3QgeworQ0wxRF9SRl9SWERGRV9GQ19DRkdfVFlQRV9FIGNmZ190eXBlOworQ0wxRF9SRl9SWERGRV9EWU5fQ0ZHX0RBVEFfVSBjZmdfZGF0YTsKK31DTDFEX1JGX1RTVF9ERkVfUlhfRFlOX1RFU1RfVDsKKworCit0eXBlZGVmIHN0cnVjdCB7CitDTDFEX1JGX1JYREZFX0ZDX0NGR19UWVBFX0UgY2ZnX3R5cGU7CitDTDFEX1JGX1JYREZFX0RZTl9DRkdfREFUQV9UIGNmZ19kYXRhOworfUNMMURfUkZfVFNUX0RGRV9SWF9EWU5fVEVTVF9CT1JHX1Q7CisKK3R5cGVkZWYgc3RydWN0IHsKKyAgICBDTDFEX1JGX1JBVF9UWVBFX0UgcmF0OworICAgIENMMURfUkZfUlhERkVfU0VOQVJJT19FIHNjZW5hcmlvOworICAgIGthbF91aW50MzIgc3RpbWU7IC8qIGluIHVuaXQgb2YgY2hpcHMgKi8KKwlDTDFEX1JGX0JBTkRfQ0xBU1NfVFlQRV9FIGJhbmQ7CisJQ0wxRF9SRl9SWERGRV9EWU5fQ0ZHX0RBVEFfVCBkeW5fZGF0YTsKK31DTDFEX1JGX1RTVF9ERkVfUlhfUEFUSF9URVNUX1Q7CisKK3R5cGVkZWYgc3RydWN0ewora2FsX3VpbnQzMiB3aW5fb25vZmZfbnVtOwora2FsX3VpbnQzMiBwOworfUNMMURfUkZfVFNUX0RGRV9SWF9XSU5fT05PRkZfVEVTVF9UOwordHlwZWRlZiBlbnVteworREZFX1JYX0ZVTExfU0NIX0NBU0UwLAorREZFX1JYX0ZVTExfU0NIX0NBU0UxLAorREZFX1JYX0ZVTExfU0NIX0NBU0UyLAorREZFX1JYX0ZVTExfU0NIX0NBU0UzLAorREZFX1JYX0ZVTExfU0NIX0NBU0U0LAorREZFX1JYX0ZVTExfU0NIX0NBU0VfTlVNLAorfWNsMWRfcmZfdHN0X2RmZV9yeF9mdWxsX3NjaF9lOwkKK3R5cGVkZWYgc3RydWN0IHsKK2NsMWRfcmZfdHN0X2RmZV9yeF9mdWxsX3NjaF9lIGNhc2VfaWQ7CitDTDFEX1JGX1JYX1BBVEhfT05fVCBwYXRoX29uOworfUNMMURfUkZfVFNUX0RGRV9SWF9GVUxMX1NDSF9UOworCisKKyNpZiBkZWZpbmVkIChfX01EOTdfXykgfHwgZGVmaW5lZCAoX19NRDk3UF9fKQordHlwZWRlZiBlbnVtCit7CisgICAgUlhERkVfV0lOX09OLAorICAgIFJYREZFX1dJTl9PRkYsCisgICAgUlhERkVfSVFfU1dBUCwKKyAgICBSWERGRV9DT01QLAorICAgIFJYREZFX0NBU0VfTlVNLAorCVJYREZFX0NBU0VfSU5WQUxJRCA9IDB4RkYKK31DTDFEX1JGX1JYREZFX0NBU0VfRTsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAvL1AKKwlrYWxfdWludDMyIGlxX3N3YXBfZW47CisgICAga2FsX3VpbnQzMiBzd19kY29jX2NvbXBfZW47CisgICAga2FsX3VpbnQzMiBwX25iaWZfZW47CisgICAga2FsX3VpbnQzMiBwX3JmZXFfZW47CisgICAga2FsX3VpbnQzMiBwX2ZkcG1fZW47CisgICAga2FsX3VpbnQzMiBwX2lxY19lbjsKKyAgICBrYWxfdWludDMyIHBfY3BseF9yZmVxX2VuOworICAgIC8vTAorICAgIGthbF91aW50MzIgc3dfZGFnY19lbjsKKyAgICBrYWxfdWludDMyIHN3X25jb19sbmFfY29tcF9lbjsKKyAgICBrYWxfdWludDMyIHJlc19waGFzZV9zdGVwX2VuOworICAgIGthbF91aW50MzIgbF9uY29fZW47CisgICAga2FsX3VpbnQzMiBsX25jb19tYnNmbl9lbjsKK31DTDFEX1JGX1JYREZFX1JFR19DVFJMOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIE1NUkZfQ09NTU9OX0JBTkRfSURYX0UgICAgICAgICAgICAgYmFuZDsKKyAgICBrYWxfdWludDMyICAgICAgICAgICAgICAgICAgICAgICAgIHV0aW1lOworICAgIC8va2FsX3VpbnQzMiAgICAgICAgICAgICAgICAgICAgICAgICBhZGNfaWR4W01NUkZDX0MyS19BTlRfTlVNXTsKKyAgICAvL01NTDFfQ0RGX0RFVklDRV9EUklWRVJfUkZfU1hfSURYX0Ugc3hfaWR4OworfUNMMURfUkZfVFNUX0RGRV9XSU5fT05fVEVTVF9UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIGthbF91aW50MzIgICAgICAgICAgICAgICAgICAgICAgICAgdXRpbWU7Cit9Q0wxRF9SRl9UU1RfREZFX1dJTl9PRkZfVEVTVF9UOworCisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAga2FsX2Jvb2wgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JfYzJrOworICAgIC8va2FsX3VpbnQzMiAgICAgICAgICAgICBwX3BhdGhfaWR4W01NUkZDX0MyS19BTlRfTlVNXTsKK31DTDFEX1JGX1RTVF9ERkVfSVFfU1dBUF9URVNUX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgLy9rYWxfYm9vbCAgICAgICAgICAgICAgICAgICBpc19ocG07CisgICAga2FsX3VpbnQzMiAgICAgICAgICAgICAgICAgICAgICAgICB1dGltZTsKKyAgICAvL0MyS19SWERGRV9SWEtfQ09NUF9JUlJfVCogIGlycltNTVJGQ19DMktfQU5UX05VTV07CisgICAgLy9DMktfUlhERkVfUlhLX0NPTVBfRENfVCogICBkY1tNTVJGQ19DMktfQU5UX05VTV07Cit9Q0wxRF9SRl9UU1RfREZFX1JYS19DT01QX1RFU1RfVDsKKyNlbmRpZgorCit0eXBlZGVmIHN0cnVjdCB7CisgICAgQ0wxRF9SRl9SQVRfVFlQRV9FIHJhdDsKKyAgICBDTDFEX1JGX1RYREZFX1NFTkFSSU9fRSBzY2VuYXJpbzsKKyAgICBrYWxfdWludDMyIHN0aW1lOyAvKiBpbiB1bml0IG9mIGNoaXBzICovCisgICAgQ0wxRF9SRl9CQU5EX0NMQVNTX1RZUEVfRSAgYmFuZF9jbGFzczsKK31DTDFEX1JGX1RTVF9UWERGRV9DRkdfVEVTVF9UOworCit0eXBlZGVmIHVuaW9uCit7CisgICAgQ0wxRF9SRl9UU1RfQ0FTRV9OVUxMX1QgY2FzZV9kYXRhX251bGw7CisgICAgQ0wxRF9SRl9SWF9QQVRIX09OX1Qgcnhfb247CisgICAgQ0wxRF9SRl9SWF9QQVRIX09GRl9UIHJ4X29mZjsKKyAgICBDTDFEX1JGX1RYX1BBVEhfT05fVCB0eF9vbjsKKyAgICBDTDFEX1JGX1RYX1BBVEhfT0ZGX1QgdHhfb2ZmOworICAgIEJTSV9TRU5EX1QgYnNpX3NlbmQ7CisgICAgQlNJX1JFQURfVCBic2lfcmVhZDsKKyAgICBNSVBJX1NFTkRfVCBtaXBpX3NlbmQ7CisgICAgTUlQSV9SRUFEX1QgbWlwaV9yZWFkOworICAgIENMMURfUkZfVEVTVF9NT0RFX1JFUVVFU1RfVCB0ZXN0X21vZGU7CisgICAgQ0wxRF9SRl9UU1RfU1lTX0ZSQU1FX1RZUEVfU0VUX1Qgc3lzX2ZyYW1lX3R5cGVfc2V0OworICAgIENMMURfUkZfQUZDX1NZTlRIX09GRlNFVF9VUERBVEVfVCBhZmM7CisgICAgQ0wxRF9SRl9UU1RfQUdDX0NGR19UIGFnY19jZmc7CisgICAgQ0wxRF9SRl9UU1RfQUdDX0NGR19URVNUX1QgYWdjX2NmZ190c3Q7CisgICAgQ0wxRF9SRl9UU1RfUlhfUkVTVUxUX1FVRVJZX1QgcnhfcmVzdWx0X3F1ZXJ5OworICAgIENMMURfUkZfVFNUX0RGRV9SWF9QQVRIX1RFU1RfVCByeF9kZmVfcGF0aDsKKyAgICBDTDFEX1JGX1RTVF9ERkVfUlhfRFlOX1RFU1RfVCByeF9kZmVfZHluOworICAgIENMMURfUkZfVFNUX1RQQ19DRkdfT0xfVCB0cGNfb2xfY2ZnOworICAgIENMMURfUkZfVFNUX1RQQ19DRkdfQ0xfVCB0cGNfY2xfY2ZnOworICAgIENMMURfUkZfVFNUX1RQQ19QTV9ETF9UIHRwY19wbV9kbDsKKyAgICBDTDFEX1JGX1RTVF9UUENfQ0ZHX1RFU1RfVCB0cGNfY2ZnX3RzdDsKKyAgICBDTDFEX1JGX1RTVF9UUENfQ0ZHX1QgdHBjX2NmZzsKKyAgICBDTDFEX1JGX1RTVF9UWF9SRVNVTFRfUVVFUllfVCB0eF9yZXN1bHRfcXVlcnk7CisjaWYgKGRlZmluZWQoX19NRDk3X18pIHx8IGRlZmluZWQoX19NRDk3UF9fKSkKKyAgICBDTDFEX1JGX1RYREZFX0JCX1RUR19DRkdfVCB0dGdfY2ZnOworICAgIENMMURfUkZfVFhERkVfSVFfRFVNUF9JTlBVVF9UIHR4ZGZlX2R1bXBfY2ZnOworICAgIENMMURfUkZfVFhLREZFX0lRX0RVTVBfSU5QVVRfVCB0eGtkZmVfZHVtcF9jZmc7CisgICAgQ0wxRF9SRl9SWERGRV9UVEdfSW5wdXRfVCAgICByeGRmZV90dGc7CisgICAgQ0wxRF9SRl9SWERGRV9JUV9EVU1QX0lucHV0X1QgcnhkZmVfZHVtcDsKKyAgICBDTDFEX1JGX01JUElfUkVBRF9UICAgICAgICAgICBtaXBpX3JlYWRfcmVnOworICAgIENMMURfUkZfTUlQSV9XUklURV9UICAgICAgICAgIG1pcGlfd3JpdGVfcmVnOworICAgIENMMURfUkZfVFNUX0RGRV9XSU5fT05fVEVTVF9UIGRmZV9yeF93aW5fb247CisgICAgQ0wxRF9SRl9UU1RfREZFX1dJTl9PRkZfVEVTVF9UIGRmZV9yeF93aW5fb2ZmOworICAgIENMMURfUkZfVFNUX0RGRV9JUV9TV0FQX1RFU1RfVCAgZGZlX3J4X2lxX3N3YXA7CisgICAgQ0wxRF9SRl9UU1RfREZFX1JYS19DT01QX1RFU1RfVCBkZmVfcnhfcnhrX2NvbXA7CisJQ0wxRF9SRl9UU1RfREZFX1JYX0RZTl9URVNUX0JPUkdfVCByeF9kZmVfZHluX2Jvcmc7CQorICAgIENMMURfUkZfVFNUX0RGRV9SWF9GVUxMX1NDSF9UICAgICAgcnhfZGZlX2Z1bGxfc2NoOwkKKyAgICBDTDFEX1JGX1RTVF9ERkVfUlhfV0lOX09OT0ZGX1RFU1RfVCByeF9kZmVfd2luX29ub2ZmOwkKKyNlbmRpZgorfSBDTDFEX1JGX1RTVF9DQVNFX0RBVEFfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBDTDFEX1JGX1RTVF9DQVNFX0lEWF9FIGNhc2VfaWR4OworICAgIGthbF91aW50MTYgY2FzZV9pdGVyX3RpbWVzOworICAgIENMMURfUkZfVFNUX0NBU0VfREFUQV9UIGNhc2VfZGF0YTsKK30gQ0wxRF9SRl9UU1RfQ0FTRV9NU0dfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBMT0NBTF9QQVJBX0hEUgorICAgIENMMURfUkZfVFNUX0NBU0VfTVNHX1QgbXNnOworfSBDTDFEX1JGX1RTVF9DQVNFX01TR19FTFRfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBDTDFEX1JGX1RTVF9SRVFfU1RBVFVTX0Ugc3RhdHVzOworfSBDTDFEX1JGX1RTVF9DQVNFX1JTUF9NU0dfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBDTDFEX1JGX1RTVF9DQVNFX0lEWF9FICAgICAgICAgICBjYXNlX2lkeDsKKyAgICBDTDFEX1JGX1JYX1BBVEhfT05fVCAgICAgICAgICAgICByeF9wYXRoX29uOworICAgIENMMURfUkZfUlhfUEFUSF9PRkZfVCAgICAgICAgICAgIHJ4X3BhdGhfb2ZmOworICAgIENMMURfUkZfVFNUX0FHQ19DRkdfVCAgICAgICAgICAgIGFnY19jZmc7CisgICAgQ0wxRF9SRl9UU1RfQUdDX0NGR19URVNUX1QgICAgICAgYWdjX2NmZ190c3Q7CisgICAgQ0wxRF9SRl9UU1RfUlhfUkVTVUxUX1FVRVJZX1QgICAgcnhfcmVzdWx0X3F1ZXJ5OworICAgIENMMURfUkZfVFNUX1NZU19GUkFNRV9UWVBFX1NFVF9UIHN5c19mcmFtZV90eXBlX3NldDsKKwlDTDFEX1JGX1RTVF9ERkVfUlhfUEFUSF9URVNUX1QgICByeF9kZmVfcGF0aDsKKwlDTDFEX1JGX1RTVF9ERkVfUlhfRFlOX1RFU1RfVCAgICByeF9kZmVfZHluOwkKKyAgICBDTDFEX1JGX1RTVF9ERkVfV0lOX09OX1RFU1RfVCAgICBkZmVfcnhfd2luX29uOworICAgIENMMURfUkZfVFNUX0RGRV9XSU5fT0ZGX1RFU1RfVCAgIGRmZV9yeF93aW5fb2ZmOworICAgIENMMURfUkZfVFNUX0RGRV9JUV9TV0FQX1RFU1RfVCAgIGRmZV9yeF9pcV9zd2FwOworICAgIENMMURfUkZfVFNUX0RGRV9SWEtfQ09NUF9URVNUX1QgIGRmZV9yeF9yeGtfY29tcDsKKwlDTDFEX1JGX1RTVF9ERkVfUlhfRFlOX1RFU1RfQk9SR19UIHJ4X2RmZV9keW5fYm9yZzsJCisgICAgQ0wxRF9SRl9UU1RfREZFX1JYX0ZVTExfU0NIX1QgICAgICByeF9kZmVfZnVsbF9zY2g7CQorCUNMMURfUkZfVFNUX0RGRV9SWF9XSU5fT05PRkZfVEVTVF9UIHJ4X2RmZV93aW5fb25vZmY7Cit9Q0wxRF9SRl9UU1RfUlhfQ0FTRV9NU0dfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBDTDFEX1JGX1RTVF9DQVNFX0lEWF9FIGNhc2VfaWR4OworfUNMMURfUkZfVFNUX1RYREZFX0NBU0VfTVNHX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgQ0wxRF9SRl9UU1RfUlhfUkVTVUxUX0NIRUNLX1QgcnhfcmVzdWx0X2NoZWNrW0NMMURfUkZfTUFYX05VTV9PRl9SWF07Cit9Q0wxRF9SRl9UU1RfUlhfUkVTVUxUX0NIRUNLX01TR19UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIC8qKiBbb3V0XSAtIFRYREZFIHJlbGF0ZWQgd2luZG93IGVuYWJsZSBzdGF0dXMgKi8KKyAgICBrYWxfYm9vbCB3aW5fb247CisgICAgLyoqIFtvdXRdIC0gVFhERkUgQUQgY29tcCAqLworICAgIGthbF9ib29sIGFkX2NvbXA7CisgICAgLyoqIFtvdXRdIC0gVFhERkUgR0EgY29tcCAqLworICAgIGthbF9ib29sIGdhX2NvbXA7CisgICAgLyoqIFtvdXRdIC0gVFhERkUgREMgY29tcCAqLworICAgIGthbF9ib29sIGRjX2NvbXA7CisgICAgLyoqIFtvdXRdIC0gVFhLREZFIERDIGNvbXAgKi8KKyAgICBrYWxfYm9vbCBrX2RjX2NvbXA7CisgICAgLyoqIFtvdXRdIC0gVFhLREZFIEZJIGNvbXAgKi8KKyAgICBrYWxfYm9vbCBrX2ZpX2NvbXA7CisgICAgLyoqIFtvdXRdIC0gVFhLREZFIEZEIGNvbXAgKi8KKyAgICBrYWxfYm9vbCBrX2ZkX2NvbXA7CisgICAgLyoqIFtvdXRdIC0gVFhERkUgcmVsYXRlZCB3aW5kb3cgZGlzYWJsZSBzdGF0dXMgKi8KKyAgICBrYWxfYm9vbCB3aW5fb2ZmOworfUNMMURfUkZfVFNUX1RYREZFX1JFU1VMVF9DSEVDS19UOworCit0eXBlZGVmIHN0cnVjdAoreworICAgIENMMURfUkZfVFNUX1RYREZFX1JFU1VMVF9DSEVDS19UIHR4ZGZlX3Jlc3VsdF9jaGVjazsKK31DTDFEX1JGX1RTVF9UWERGRV9SRVNVTFRfQ0hFQ0tfTVNHX1Q7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgQ0wxRF9SRl9UU1RfQ0FTRV9JRFhfRSBjYXNlX2lkeDsKKyAgICBDTDFEX1JGX1RTVF9UUENfUE1fRExfVCB0cGNfcG1fZGw7CisgICAgQ0wxRF9SRl9URVNUX01PREVfUkVRVUVTVF9UIHR4X3Rlc3RfbW9kZTsKKyAgICBDTDFEX1JGX1RYX1BBVEhfT05fVCB0eF9wYXRoX29uOworICAgIENMMURfUkZfVFhfUEFUSF9PRkZfVCB0eF9wYXRoX29mZjsKKyAgICBDTDFEX1JGX1RTVF9UUENfQ0ZHX1RFU1RfVCB0cGNfY2ZnX3RzdDsKKyAgICBDTDFEX1JGX1RTVF9UUENfQ0ZHX1QgdHBjX2NmZzsKKyAgICBDTDFEX1JGX1RTVF9UWF9SRVNVTFRfUVVFUllfVCB0eF9yZXN1bHRfcXVlcnk7Cit9Q0wxRF9SRl9UU1RfVFhfQ0FTRV9NU0dfVDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICBDTDFEX1JGX1RTVF9UWF9SRVNVTFRfQ0hFQ0tfVCB0eF9yZXN1bHRfY2hlY2s7Cit9Q0wxRF9SRl9UU1RfVFhfUkVTVUxUX0NIRUNLX01TR19UOworI2VuZGlmIC8qIF9DTDFEX1JGX1RTVF9NU0dfSF8gKi8KKwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvcmZkL2V4dGVybmFsL2NvbW0vcmZfY3VzdG9tL2NsMV9kYXRhX2RlZnMuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL3JmZC9leHRlcm5hbC9jb21tL3JmX2N1c3RvbS9jbDFfZGF0YV9kZWZzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTk1OGFjMQotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL3JmZC9leHRlcm5hbC9jb21tL3JmX2N1c3RvbS9jbDFfZGF0YV9kZWZzLmgKQEAgLTAsMCArMSw5MjQgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKworI2lmbmRlZiBfQ0wxX0RBVEFfREVGU19IXworI2RlZmluZSBfQ0wxX0RBVEFfREVGU19IXworCisjZGVmaW5lIFJGX0NVU1RfQ1VTVE9NX0RBVEFfQkNfU1VQUE9SVChzRVRpRFgpIFwKK3tcCisgICAge0NMMV9DQVRfKEJBTkRfQV9TVVBQT1JURURfLCBzRVRpRFgpLCBDTDFfQ0FUXyhDVVNUX0JBTkRfQV8sIHNFVGlEWCksIENMMURfUkZfU1VCX0NMQVNTX0FMTF9TVVBQT1JURUR9LFwKKyAgICB7Q0wxX0NBVF8oQkFORF9CX1NVUFBPUlRFRF8sIHNFVGlEWCksIENMMV9DQVRfKENVU1RfQkFORF9CXywgc0VUaURYKSwgQ0wxRF9SRl9TVUJfQ0xBU1NfQUxMX1NVUFBPUlRFRH0sXAorICAgIHtDTDFfQ0FUXyhCQU5EX0NfU1VQUE9SVEVEXywgc0VUaURYKSwgQ0wxX0NBVF8oQ1VTVF9CQU5EX0NfLCBzRVRpRFgpLCBDTDFEX1JGX1NVQl9DTEFTU19BTExfU1VQUE9SVEVEfSxcCisgICAge0NMMV9DQVRfKEJBTkRfRF9TVVBQT1JURURfLCBzRVRpRFgpLCBDTDFfQ0FUXyhDVVNUX0JBTkRfRF8sIHNFVGlEWCksIENMMURfUkZfU1VCX0NMQVNTX0FMTF9TVVBQT1JURUR9LFwKKyAgICB7Q0wxX0NBVF8oQkFORF9FX1NVUFBPUlRFRF8sIHNFVGlEWCksIENMMV9DQVRfKENVU1RfQkFORF9FXywgc0VUaURYKSwgQ0wxRF9SRl9TVUJfQ0xBU1NfQUxMX1NVUFBPUlRFRH0sXAorfQorCisjZGVmaW5lIFJGX0NVU1RfQ1VTVE9NX0RBVEFfUEFfVElNSU5HX0FORF9TT1VSQ0Uoc0VUaURYKVwKK3tcCisgICAgTV9VUzJFQ0hJUChDTDFfQ0FUXyhEQzJEQ19PRkZTRVRfLCBzRVRpRFgpKSxcCit9LFwKK3tcCisJQ0wxX0NBVF8oUEFfVkREX1NPVVJDRV9TRUxfQkFORF9BXywgc0VUaURYKSxcCisJQ0wxX0NBVF8oUEFfVkREX1NPVVJDRV9TRUxfQkFORF9CXywgc0VUaURYKSxcCisJQ0wxX0NBVF8oUEFfVkREX1NPVVJDRV9TRUxfQkFORF9DXywgc0VUaURYKSxcCisJQ0wxX0NBVF8oUEFfVkREX1NPVVJDRV9TRUxfQkFORF9EXywgc0VUaURYKSxcCisJQ0wxX0NBVF8oUEFfVkREX1NPVVJDRV9TRUxfQkFORF9FXywgc0VUaURYKSxcCit9CisjaWZkZWYgX19NRDk1X18KKyNkZWZpbmUgUkZfQ1VTVF9DVVNUT01fREFUQV9QQV9DT05UUk9MX1RZUEUoc0VUaURYKVwKK3tcCisJQ0wxX0NBVF8oUEFfQ09OVFJPTF9TRUxfQkFORF9BXywgc0VUaURYKSxcCisJQ0wxX0NBVF8oUEFfQ09OVFJPTF9TRUxfQkFORF9CXywgc0VUaURYKSxcCisJQ0wxX0NBVF8oUEFfQ09OVFJPTF9TRUxfQkFORF9DXywgc0VUaURYKSxcCisJQ0wxX0NBVF8oUEFfQ09OVFJPTF9TRUxfQkFORF9EXywgc0VUaURYKSxcCisJQ0wxX0NBVF8oUEFfQ09OVFJPTF9TRUxfQkFORF9FXywgc0VUaURYKVwKK30KKyNlbmRpZgorI2RlZmluZSBSRl9DVVNUX0NVU1RPTV9EQVRBX1JGX1BPUlRTKHNFVGlEWClcCisvKiBSWCBMTkEgcG9ydCBzZWxlY3Rpb24gKi9cCit7XAorICAgIENMMV9DQVRfKEJBTkRfQV9SWF9JT19TRUxfLCBzRVRpRFgpLFwKKyAgICBDTDFfQ0FUXyhCQU5EX0JfUlhfSU9fU0VMXywgc0VUaURYKSxcCisgICAgQ0wxX0NBVF8oQkFORF9DX1JYX0lPX1NFTF8sIHNFVGlEWCksXAorICAgIENMMV9DQVRfKEJBTkRfRF9SWF9JT19TRUxfLCBzRVRpRFgpLFwKKyAgICBDTDFfQ0FUXyhCQU5EX0VfUlhfSU9fU0VMXywgc0VUaURYKSxcCit9LFwKKy8qIFJYIERpdmVyaXNpdHkgTE5BIHBvcnQgc2VsZWN0aW9uICovXAore1wKKyAgICBDTDFfQ0FUXyhCQU5EX0FfUlhEX0lPX1NFTF8sIHNFVGlEWCksXAorICAgIENMMV9DQVRfKEJBTkRfQl9SWERfSU9fU0VMXywgc0VUaURYKSxcCisgICAgQ0wxX0NBVF8oQkFORF9DX1JYRF9JT19TRUxfLCBzRVRpRFgpLFwKKyAgICBDTDFfQ0FUXyhCQU5EX0RfUlhEX0lPX1NFTF8sIHNFVGlEWCksXAorICAgIENMMV9DQVRfKEJBTkRfRV9SWERfSU9fU0VMXywgc0VUaURYKSxcCit9LFwKKy8qIFRYIHBhdGggc2VsZWN0aW9uICovXAore1wKKyAgICBDTDFfQ0FUXyhCQU5EX0FfVFhfSU9fU0VMXywgc0VUaURYKSxcCisgICAgQ0wxX0NBVF8oQkFORF9CX1RYX0lPX1NFTF8sIHNFVGlEWCksXAorICAgIENMMV9DQVRfKEJBTkRfQ19UWF9JT19TRUxfLCBzRVRpRFgpLFwKKyAgICBDTDFfQ0FUXyhCQU5EX0RfVFhfSU9fU0VMXywgc0VUaURYKSxcCisgICAgQ0wxX0NBVF8oQkFORF9FX1RYX0lPX1NFTF8sIHNFVGlEWCksXAorfSxcCisvKiBUWCBkZXRlY3QgcGF0aCBzZWxlY3Rpb24gKi9cCit7XAorICAgIENMMV9DQVRfKEJBTkRfQV9UWF9ERVRfSU9fU0VMXywgc0VUaURYKSxcCisgICAgQ0wxX0NBVF8oQkFORF9CX1RYX0RFVF9JT19TRUxfLCBzRVRpRFgpLFwKKyAgICBDTDFfQ0FUXyhCQU5EX0NfVFhfREVUX0lPX1NFTF8sIHNFVGlEWCksXAorICAgIENMMV9DQVRfKEJBTkRfRF9UWF9ERVRfSU9fU0VMXywgc0VUaURYKSxcCisgICAgQ0wxX0NBVF8oQkFORF9FX1RYX0RFVF9JT19TRUxfLCBzRVRpRFgpLFwKK30KKworI2RlZmluZSBSRl9DVVNUX0NVU1RPTV9EQVRBX0VOX0VMTkEoc0VUaURYKVwKK3tcCisgICAgQ0wxX0NBVF8oUlhfQkFORF9BX0VMTkFfRU5BQkxFXywgc0VUaURYKSxcCisgICAgQ0wxX0NBVF8oUlhfQkFORF9CX0VMTkFfRU5BQkxFXywgc0VUaURYKSxcCisgICAgQ0wxX0NBVF8oUlhfQkFORF9DX0VMTkFfRU5BQkxFXywgc0VUaURYKSxcCisgICAgQ0wxX0NBVF8oUlhfQkFORF9EX0VMTkFfRU5BQkxFXywgc0VUaURYKSxcCisgICAgQ0wxX0NBVF8oUlhfQkFORF9FX0VMTkFfRU5BQkxFXywgc0VUaURYKSxcCit9LFwKK3tcCisgICAgQ0wxX0NBVF8oUlhEX0JBTkRfQV9FTE5BX0VOQUJMRV8sIHNFVGlEWCksXAorICAgIENMMV9DQVRfKFJYRF9CQU5EX0JfRUxOQV9FTkFCTEVfLCBzRVRpRFgpLFwKKyAgICBDTDFfQ0FUXyhSWERfQkFORF9DX0VMTkFfRU5BQkxFXywgc0VUaURYKSxcCisgICAgQ0wxX0NBVF8oUlhEX0JBTkRfRF9FTE5BX0VOQUJMRV8sIHNFVGlEWCksXAorICAgIENMMV9DQVRfKFJYRF9CQU5EX0VfRUxOQV9FTkFCTEVfLCBzRVRpRFgpLFwKK30KKworI2RlZmluZSBSRl9DVVNUX0NVU1RPTV9EQVRBX0VOUyhzRVRpRFgpXAore1wKKyAgICAvKiBSeCBkaXZlcnNpdHkgZW5hYmxlICovXAorICAgIENMMV9DQVRfKFJYX0RJVkVSU0lUWV9FTkFCTEVfQkFORF9BXywgc0VUaURYKSxcCisgICAgQ0wxX0NBVF8oUlhfRElWRVJTSVRZX0VOQUJMRV9CQU5EX0JfLCBzRVRpRFgpLFwKKyAgICBDTDFfQ0FUXyhSWF9ESVZFUlNJVFlfRU5BQkxFX0JBTkRfQ18sIHNFVGlEWCksXAorICAgIENMMV9DQVRfKFJYX0RJVkVSU0lUWV9FTkFCTEVfQkFORF9EXywgc0VUaURYKSxcCisgICAgQ0wxX0NBVF8oUlhfRElWRVJTSVRZX0VOQUJMRV9CQU5EX0VfLCBzRVRpRFgpLFwKK30sXAorLyogUnggZGl2ZXJzaXR5IHRlc3QgZW5hYmxlLiBUaGUgZGl2ZXJzaXR5IHBhdGggd2lsbCBiZSBhbHdheXMgb24gaWYgdGhpcyBpcyBUUlVFLiBVc2VkIGJ5IEhTQyAqL1wKK3tcCisgICAgQ0wxX0NBVF8oUlhfRElWRVJTSVRZX09OTFlfVEVTVF9FTkFCTEVfQkFORF9BXywgc0VUaURYKSxcCisgICAgQ0wxX0NBVF8oUlhfRElWRVJTSVRZX09OTFlfVEVTVF9FTkFCTEVfQkFORF9CXywgc0VUaURYKSxcCisgICAgQ0wxX0NBVF8oUlhfRElWRVJTSVRZX09OTFlfVEVTVF9FTkFCTEVfQkFORF9DXywgc0VUaURYKSxcCisgICAgQ0wxX0NBVF8oUlhfRElWRVJTSVRZX09OTFlfVEVTVF9FTkFCTEVfQkFORF9EXywgc0VUaURYKSxcCisgICAgQ0wxX0NBVF8oUlhfRElWRVJTSVRZX09OTFlfVEVTVF9FTkFCTEVfQkFORF9FXywgc0VUaURYKSxcCit9CisKKy8qIFRoZSBkZWZhdWx0IHRhYmxlIG9mIFJGIGN1c3RvbSBwYXJhbWV0ZXJzICovCisjaWYgSVNfQzJLX0lORElDQVRJT05fRk9SX0FQX0NMT0NLX0hPUFBJTkdfU1VQUE9SVAorI2RlZmluZSBSRl9DVVNUX0hPUFBJTkdfVEJMX0VOKHNFVGlEWCkgXAore1wKKyAgICBDTDFfQ0FUXyhDMktfSU5URVJGRVJFTkNFX0ZSRVFfVEFCTEUwX0VOQUJMRV8sIHNFVGlEWCksXAorICAgIENMMV9DQVRfKEMyS19JTlRFUkZFUkVOQ0VfRlJFUV9UQUJMRTFfRU5BQkxFXywgc0VUaURYKSxcCisgICAgQ0wxX0NBVF8oQzJLX0lOVEVSRkVSRU5DRV9GUkVRX1RBQkxFMl9FTkFCTEVfLCBzRVRpRFgpLFwKKyAgICBDTDFfQ0FUXyhDMktfSU5URVJGRVJFTkNFX0ZSRVFfVEFCTEUzX0VOQUJMRV8sIHNFVGlEWCksXAorICAgIENMMV9DQVRfKEMyS19JTlRFUkZFUkVOQ0VfRlJFUV9UQUJMRTRfRU5BQkxFXywgc0VUaURYKSxcCisgICAgQ0wxX0NBVF8oQzJLX0lOVEVSRkVSRU5DRV9GUkVRX1RBQkxFNV9FTkFCTEVfLCBzRVRpRFgpLFwKKyAgICBDTDFfQ0FUXyhDMktfSU5URVJGRVJFTkNFX0ZSRVFfVEFCTEU2X0VOQUJMRV8sIHNFVGlEWCksXAorICAgIENMMV9DQVRfKEMyS19JTlRFUkZFUkVOQ0VfRlJFUV9UQUJMRTdfRU5BQkxFXywgc0VUaURYKSxcCit9CisKKyNkZWZpbmUgUkZfQ1VTVF9IT1BQSU5HX1RCTF9HUk9VUChnUk9VUGlEWCwgdEFCTEVpRFgsIHNFVGlEWCkgXAore1wKKyAgICB7XAorICAgICAgICBDTDFfQ0FUXyhDTDFfQ0FUXyhDTDFfQ0FUXyhDTDFfQ0FUXyhDMktfSU5URVJGRVJFTkNFX0ZSRVFfLCB0QUJMRWlEWCksIGdST1VQaURYKSwgMF8pLCBzRVRpRFgpLFwKKyAgICAgICAgQ0wxX0NBVF8oQ0wxX0NBVF8oQ0wxX0NBVF8oQ0wxX0NBVF8oQzJLX0lOVEVSRkVSRU5DRV9GUkVRXywgdEFCTEVpRFgpLCBnUk9VUGlEWCksIDFfKSwgc0VUaURYKSxcCisgICAgICAgIENMMV9DQVRfKENMMV9DQVRfKENMMV9DQVRfKENMMV9DQVRfKEMyS19JTlRFUkZFUkVOQ0VfRlJFUV8sIHRBQkxFaURYKSwgZ1JPVVBpRFgpLCAyXyksIHNFVGlEWCksXAorICAgICAgICBDTDFfQ0FUXyhDTDFfQ0FUXyhDTDFfQ0FUXyhDTDFfQ0FUXyhDMktfSU5URVJGRVJFTkNFX0ZSRVFfLCB0QUJMRWlEWCksIGdST1VQaURYKSwgM18pLCBzRVRpRFgpLFwKKyAgICAgICAgQ0wxX0NBVF8oQ0wxX0NBVF8oQ0wxX0NBVF8oQ0wxX0NBVF8oQzJLX0lOVEVSRkVSRU5DRV9GUkVRXywgdEFCTEVpRFgpLCBnUk9VUGlEWCksIDRfKSwgc0VUaURYKSxcCisgICAgICAgIENMMV9DQVRfKENMMV9DQVRfKENMMV9DQVRfKENMMV9DQVRfKEMyS19JTlRFUkZFUkVOQ0VfRlJFUV8sIHRBQkxFaURYKSwgZ1JPVVBpRFgpLCA1XyksIHNFVGlEWCksXAorICAgICAgICBDTDFfQ0FUXyhDTDFfQ0FUXyhDTDFfQ0FUXyhDTDFfQ0FUXyhDMktfSU5URVJGRVJFTkNFX0ZSRVFfLCB0QUJMRWlEWCksIGdST1VQaURYKSwgNl8pLCBzRVRpRFgpLFwKKyAgICAgICAgQ0wxX0NBVF8oQ0wxX0NBVF8oQ0wxX0NBVF8oQ0wxX0NBVF8oQzJLX0lOVEVSRkVSRU5DRV9GUkVRXywgdEFCTEVpRFgpLCBnUk9VUGlEWCksIDdfKSwgc0VUaURYKSxcCisgICAgfVwKK30KKworI2RlZmluZSBSRl9DVVNUX0hPUFBJTkdfVEJMKHRBQkxFaURYLCBzRVRpRFgpIFwKK3tcCisgICAgUkZfQ1VTVF9IT1BQSU5HX1RCTF9HUk9VUChfQSwgdEFCTEVpRFgsIHNFVGlEWCksXAorICAgIFJGX0NVU1RfSE9QUElOR19UQkxfR1JPVVAoX0IsIHRBQkxFaURYLCBzRVRpRFgpLFwKK30KKworI2RlZmluZSBSRl9DVVNUX0hPUFBJTkdfVEJMX0RBVEFfQkFTRShzRVRpRFgpIFwKK3tcCisgICAgUkZfQ1VTVF9IT1BQSU5HX1RCTChUQUJMRTAsIHNFVGlEWCksXAorICAgIFJGX0NVU1RfSE9QUElOR19UQkwoVEFCTEUxLCBzRVRpRFgpLFwKKyAgICBSRl9DVVNUX0hPUFBJTkdfVEJMKFRBQkxFMiwgc0VUaURYKSxcCisgICAgUkZfQ1VTVF9IT1BQSU5HX1RCTChUQUJMRTMsIHNFVGlEWCksXAorICAgIFJGX0NVU1RfSE9QUElOR19UQkwoVEFCTEU0LCBzRVRpRFgpLFwKKyAgICBSRl9DVVNUX0hPUFBJTkdfVEJMKFRBQkxFNSwgc0VUaURYKSxcCisgICAgUkZfQ1VTVF9IT1BQSU5HX1RCTChUQUJMRTYsIHNFVGlEWCksXAorICAgIFJGX0NVU1RfSE9QUElOR19UQkwoVEFCTEU3LCBzRVRpRFgpLFwKK30KKyNkZWZpbmUgUkZfQ1VTVF9IT1BQSU5HX0RBVEEoc0VUaURYKSBcCitjb25zdCBDTDFEX1JGX0hPUFBJTkdfREFUQV9CQVNFX1QgQ0wxX0NBVF8oQ0wxRF9SRl9DVVNUX1JGX0hPUFBJTkdfXywgc0VUaURYKSA9XAore1wKKyAgICBSRl9DVVNUX0hPUFBJTkdfVEJMX0VOKHNFVGlEWCksXAorICAgIFJGX0NVU1RfSE9QUElOR19UQkxfREFUQV9CQVNFKHNFVGlEWClcCit9CisKKworI2VuZGlmCisKKyNpZmRlZiBfX01EOTVfXworI2RlZmluZSBSRl9DVVNUX0NVU1RPTV9EQVRBKHNFVGlEWCkgXAorY29uc3QgQ0wxRF9SRl9DVVNUX1BBUkFNX1QgQ0wxX0NBVF8oQ0wxRF9SRl9DVVNUX1BBUkFNX18sIHNFVGlEWCkgPVwKK3tcCisgICAgUkZfQ1VTVF9DVVNUT01fREFUQV9CQ19TVVBQT1JUKHNFVGlEWCksXAorICAgIFJGX0NVU1RfQ1VTVE9NX0RBVEFfUEFfVElNSU5HX0FORF9TT1VSQ0Uoc0VUaURYKSxcCisgICAgUkZfQ1VTVF9DVVNUT01fREFUQV9SRl9QT1JUUyhzRVRpRFgpLFwKKyAgICBSRl9DVVNUX0NVU1RPTV9EQVRBX0VOUyhzRVRpRFgpLFwKKyAgICBSRl9DVVNUX0NVU1RPTV9EQVRBX1BBX0NPTlRST0xfVFlQRShzRVRpRFgpXAorfQorI2VsaWYgKF9fTUQ5N19fIHx8IF9fTUQ5N1BfXykKKyNkZWZpbmUgUkZfQ1VTVF9DVVNUT01fREFUQShzRVRpRFgpIFwKK2NvbnN0IENMMURfUkZfQ1VTVF9QQVJBTV9UIENMMV9DQVRfKENMMURfUkZfQ1VTVF9QQVJBTV9fLCBzRVRpRFgpID1cCit7XAorICAgIFJGX0NVU1RfQ1VTVE9NX0RBVEFfQkNfU1VQUE9SVChzRVRpRFgpLFwKKyAgICBSRl9DVVNUX0NVU1RPTV9EQVRBX0VOUyhzRVRpRFgpXAorfQorI2VsaWYgX19NRDkzX18KKyNkZWZpbmUgUkZfQ1VTVF9DVVNUT01fREFUQShzRVRpRFgpIFwKK2NvbnN0IENMMURfUkZfQ1VTVF9QQVJBTV9UIENMMV9DQVRfKENMMURfUkZfQ1VTVF9QQVJBTV9fLCBzRVRpRFgpID1cCit7XAorICAgIFJGX0NVU1RfQ1VTVE9NX0RBVEFfQkNfU1VQUE9SVChzRVRpRFgpLFwKKyAgICBSRl9DVVNUX0NVU1RPTV9EQVRBX1BBX1RJTUlOR19BTkRfU09VUkNFKHNFVGlEWCksXAorICAgIFJGX0NVU1RfQ1VTVE9NX0RBVEFfUkZfUE9SVFMoc0VUaURYKSxcCisgICAgUkZfQ1VTVF9DVVNUT01fREFUQV9FTlMoc0VUaURYKVwKK30KKyNlbmRpZgorI2RlZmluZSBSRl9DVVNUX0NVU1RPTV9EQVRBX0JQSV9USU1JTkcoc0VUaURYKSBcCit7XAorICAgIC8qUlggKi9cCisgICAgLU1fVVMyRUNISVAoQ0wxX0NBVF8oVENfUFIxXywgc0VUaURYKSksXAorICAgIC1NX1VTMkVDSElQKENMMV9DQVRfKFRDX1BSMl8sIHNFVGlEWCkpLFwKKyAgICAtTV9VUzJFQ0hJUChDTDFfQ0FUXyhUQ19QUjJCXywgc0VUaURYKSksXAorICAgIE1fVVMyRUNISVAoQ0wxX0NBVF8oVENfUFIzXywgc0VUaURYKSksXAorICAgIE1fVVMyRUNISVAoVENfUFIzQSksXAorXAorICAgIC8qUlhEICovXAorICAgIC1NX1VTMkVDSElQKENMMV9DQVRfKFRDX1JYRF9QUjFfLCBzRVRpRFgpKSxcCisgICAgLU1fVVMyRUNISVAoQ0wxX0NBVF8oVENfUlhEX1BSMl8sIHNFVGlEWCkpLFwKKyAgICAtTV9VUzJFQ0hJUChDTDFfQ0FUXyhUQ19SWERfUFIyQl8sIHNFVGlEWCkpLFwKKyAgICBNX1VTMkVDSElQKENMMV9DQVRfKFRDX1JYRF9QUjNfLCBzRVRpRFgpKSxcCisgICAgTV9VUzJFQ0hJUChUQ19SWERfUFIzQSksXAorXAorICAgIC8qVFggKi9cCisgICAgLU1fVVMyRUNISVAoQ0wxX0NBVF8oVENfUFQxXywgc0VUaURYKSksXAorICAgIC1NX1VTMkVDSElQKENMMV9DQVRfKFRDX1BUMl8sIHNFVGlEWCkpLFwKKyAgICAtTV9VUzJFQ0hJUChDTDFfQ0FUXyhUQ19QVDJCXywgc0VUaURYKSksXAorICAgIE1fVVMyRUNISVAoQ0wxX0NBVF8oVENfUFQzXywgc0VUaURYKSksXAorICAgIE1fVVMyRUNISVAoVENfUFQzQSksXAorXAorICAgIC8qVFggR0FURSAqL1wKKyAgICAtTV9VUzJFQ0hJUChDTDFfQ0FUXyhUQ19QVEcxXywgc0VUaURYKSksXAorICAgIC1NX1VTMkVDSElQKENMMV9DQVRfKFRDX1BURzJfLCBzRVRpRFgpKSxcCisgICAgLU1fVVMyRUNISVAoQ0wxX0NBVF8oVENfUFRHMkJfLCBzRVRpRFgpKSxcCisgICAgTV9VUzJFQ0hJUChDTDFfQ0FUXyhUQ19QVEczXywgc0VUaURYKSksXAorICAgIE1fVVMyRUNISVAoVENfUFRHM0EpLFwKK30KKworLyogQlBJIGRhdGEgc2VnbWVudCBkZWZhdWx0IHZhbHVlcyAqLworI2RlZmluZSBSRl9DVVNUX0JQSV9EQVRBKGJBTkQsIHNFVGlEWCkgXAore1wKKyAgICBDTDFfQ0FUXyhQREFUQV8jI2JBTkQjI19QUjFfLCBzRVRpRFgpLFwKKyAgICBDTDFfQ0FUXyhQREFUQV8jI2JBTkQjI19QUjJfLCBzRVRpRFgpLFwKKyAgICBDTDFfQ0FUXyhQREFUQV8jI2JBTkQjI19QUjJCXywgc0VUaURYKSxcCisgICAgQ0wxX0NBVF8oUERBVEFfIyNiQU5EIyNfUFIzXywgc0VUaURYKSxcCisgICAgUERBVEFfIyNiQU5EIyNfUFIzQSxcCisgICAgQ0wxX0NBVF8oUERBVEFfIyNiQU5EIyNfUFQxXywgc0VUaURYKSxcCisgICAgQ0wxX0NBVF8oUERBVEFfIyNiQU5EIyNfUFQyXywgc0VUaURYKSxcCisgICAgQ0wxX0NBVF8oUERBVEFfIyNiQU5EIyNfUFQyQl8sIHNFVGlEWCksXAorICAgIENMMV9DQVRfKFBEQVRBXyMjYkFORCMjX1BUM18sIHNFVGlEWCksXAorICAgIFBEQVRBXyMjYkFORCMjX1BUM0EsXAorICAgIENMMV9DQVRfKFBEQVRBMl8jI2JBTkQjI19QUjFfLCBzRVRpRFgpLFwKKyAgICBDTDFfQ0FUXyhQREFUQTJfIyNiQU5EIyNfUFIyXywgc0VUaURYKSxcCisgICAgQ0wxX0NBVF8oUERBVEEyXyMjYkFORCMjX1BSMkJfLCBzRVRpRFgpLFwKKyAgICBDTDFfQ0FUXyhQREFUQTJfIyNiQU5EIyNfUFIzXywgc0VUaURYKSxcCisgICAgUERBVEEyXyMjYkFORCMjX1BSM0EsXAorXAorICAgIC8qIFRYIGdhdGUgZGF0YSAqL1wKKyAgICBDTDFfQ0FUXyhQREFUQV8jI2JBTkQjI19QVEcxXywgc0VUaURYKSxcCisgICAgQ0wxX0NBVF8oUERBVEFfIyNiQU5EIyNfUFRHMl8sIHNFVGlEWCksXAorICAgIENMMV9DQVRfKFBEQVRBXyMjYkFORCMjX1BURzJCXywgc0VUaURYKSxcCisgICAgQ0wxX0NBVF8oUERBVEFfIyNiQU5EIyNfUFRHM18sIHNFVGlEWCksXAorICAgIFBEQVRBXyMjYkFORCMjX1BURzNBLFwKK30KKworI2RlZmluZSBSRl9DVVNUX0JQSV9DRkcoYkFORCwgc0VUaURYKSBcCitjb25zdCBDTDFEX1JGX0NVU1RfQlBJX0NGR19UIENMMV9DQVRfKENMMV9DQVRfKENMMURfUkZfQ1VTVF9CUElfQ0ZHXywgYkFORCMjXyksIHNFVGlEWCkgPVwKK3tcCisgICAgUkZfQ1VTVF9CUElfREFUQShiQU5ELCBzRVRpRFgpLFwKKyAgICBSRl9DVVNUX0NVU1RPTV9EQVRBX0JQSV9USU1JTkcoc0VUaURYKSxcCit9CisKKy8qRUxOQSAqLworI2RlZmluZSBSRl9DVVNUX0VMTkFfQ0FURUdPUlkoZUxOQWlOREVYLHNFVGlEWCkgQ0wxX0NBVF8oQzJLXyMjZUxOQWlOREVYIyNfQ0FURUdPUllfLCBzRVRpRFgpCisjZGVmaW5lIFJGX0NVU1RfRUxOQV9NQVBQSU5HX1JGX0JBTkQoYkFORCxzRVRpRFgpIENMMV9DQVRfKEMyS18jI2JBTkQjI19FTE5BXywgc0VUaURYKQorI2RlZmluZSBSRl9DVVNUX0VMTkFfQ0ZHKHNFVGlEWCkgXAorY29uc3QgQ0wxRF9SRl9DVVNUX0VMTkFfQ0ZHX1QgQ0wxRF9SRl9DVVNUX0VMTkFfQ0ZHX18jI3NFVGlEWCA9XAore1wKKwkvKkVMTkEgQ2F0ZWdvcnkgKi9cCisJe1wKKwkJUkZfQ1VTVF9FTE5BX01BUFBJTkdfUkZfQkFORChCQU5EX0FfUlgsc0VUaURYKSxcCisJCVJGX0NVU1RfRUxOQV9NQVBQSU5HX1JGX0JBTkQoQkFORF9CX1JYLHNFVGlEWCksXAorCQlSRl9DVVNUX0VMTkFfTUFQUElOR19SRl9CQU5EKEJBTkRfQ19SWCxzRVRpRFgpLFwKKwkJUkZfQ1VTVF9FTE5BX01BUFBJTkdfUkZfQkFORChCQU5EX0RfUlgsc0VUaURYKSxcCisJCVJGX0NVU1RfRUxOQV9NQVBQSU5HX1JGX0JBTkQoQkFORF9FX1JYLHNFVGlEWClcCisJfSxcCisJe1wKKwkJUkZfQ1VTVF9FTE5BX01BUFBJTkdfUkZfQkFORChCQU5EX0FfUlhELHNFVGlEWCksXAorCQlSRl9DVVNUX0VMTkFfTUFQUElOR19SRl9CQU5EKEJBTkRfQl9SWEQsc0VUaURYKSxcCisJCVJGX0NVU1RfRUxOQV9NQVBQSU5HX1JGX0JBTkQoQkFORF9DX1JYRCxzRVRpRFgpLFwKKwkJUkZfQ1VTVF9FTE5BX01BUFBJTkdfUkZfQkFORChCQU5EX0RfUlhELHNFVGlEWCksXAorCQlSRl9DVVNUX0VMTkFfTUFQUElOR19SRl9CQU5EKEJBTkRfRV9SWEQsc0VUaURYKVwKKwl9XAorfQorLyogVEFTIFRTVCBjb25maWd1cmF0aW9uICovCisjZGVmaW5lIFJGX0NVU1RfVEFTX1RTVF9TVEFURV9JTkZPKGJBTkRpRFgsc0VUaURYKQl7XAorCUMyS19UQVNfVFNUXyMjYkFORGlEWCMjX1NUQVRFMF8jI3NFVGlEWCxcCisJQzJLX1RBU19UU1RfIyNiQU5EaURYIyNfU1RBVEUxXyMjc0VUaURYLFwKKwlDMktfVEFTX1RTVF8jI2JBTkRpRFgjI19TVEFURTJfIyNzRVRpRFgsXAorCUMyS19UQVNfVFNUXyMjYkFORGlEWCMjX1NUQVRFM18jI3NFVGlEWCxcCisJQzJLX1RBU19UU1RfIyNiQU5EaURYIyNfU1RBVEU0XyMjc0VUaURYLFwKKwlDMktfVEFTX1RTVF8jI2JBTkRpRFgjI19TVEFURTVfIyNzRVRpRFgsXAorCUMyS19UQVNfVFNUXyMjYkFORGlEWCMjX1NUQVRFNl8jI3NFVGlEWCxcCisJQzJLX1RBU19UU1RfIyNiQU5EaURYIyNfU1RBVEU3XyMjc0VUaURYLFwKK30KKworI2RlZmluZSBSRl9DVVNUX1RBU19UU1RfQ09ORklHKHNFVGlEWCkgXAorY29uc3QgQ0wxRF9SRl9UQVNfVFNUX0NPTkZJR19UIENMMURfUkZfVEFTX1RTVF9DT05GSUdfXyMjc0VUaURYID1cCit7XAorCUMyS19UQVNfVFNUX0NPTkZJR19FTkFCTEVfIyNzRVRpRFgsXAorCXtcCisJCUMyS19UQVNfVFNUX0JBTkRfQV8jI3NFVGlEWCxcCisJCUMyS19UQVNfVFNUX0JBTkRfQl8jI3NFVGlEWCxcCisJCUMyS19UQVNfVFNUX0JBTkRfQ18jI3NFVGlEWCxcCisJCUMyS19UQVNfVFNUX0JBTkRfRF8jI3NFVGlEWCxcCisJCUMyS19UQVNfVFNUX0JBTkRfRV8jI3NFVGlEWFwKKwl9LFwKKwl7XAorCQlSRl9DVVNUX1RBU19UU1RfU1RBVEVfSU5GTyhCQU5EX0Esc0VUaURYKSxcCisJCVJGX0NVU1RfVEFTX1RTVF9TVEFURV9JTkZPKEJBTkRfQixzRVRpRFgpLFwKKwkJUkZfQ1VTVF9UQVNfVFNUX1NUQVRFX0lORk8oQkFORF9DLHNFVGlEWCksXAorCQlSRl9DVVNUX1RBU19UU1RfU1RBVEVfSU5GTyhCQU5EX0Qsc0VUaURYKSxcCisJCVJGX0NVU1RfVEFTX1RTVF9TVEFURV9JTkZPKEJBTkRfRSxzRVRpRFgpXAorCX1cCit9CisKKy8qIFRBUyBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zICovCisvKioqIEMyS19DVVNUT01fVEFTX0ZFQVRVUkVfQllfUkFUX1QgKioqLworI2lmIGRlZmluZWQoX19NRDk3X18pIHx8IGRlZmluZWQoX19NRDk3UF9fKQorI2RlZmluZSBDMktfQU5UX0NPTkZJR1VSRShiLHNFVGlEWCxzKSAgQzJLX0FOVF8jI3MjI19DT05GSUdVUkUoYixzRVRpRFgpCisjZGVmaW5lIEMyS19BTlRfU1BMSVRfQ09ORklHVVJFKGIsc0VUaURYKVwKK3tcCisgICB7IEMyS19BTlRfIyNiIyNfUkVBTF9TSU1fVEFTX0VOQUJMRV8jI3NFVGlEWCwgQzJLX0FOVF8jI2IjI19SRUFMX1NJTV9JTklUX1NFVFRJTkdfIyNzRVRpRFggfSxcCisgICB7IEMyS19BTlRfIyNiIyNfVEVTVF9TSU1fVEFTX0VOQUJMRV8jI3NFVGlEWCwgQzJLX0FOVF8jI2IjI19URVNUX1NJTV9JTklUX1NFVFRJTkdfIyNzRVRpRFggfSxcCisgICAgIEMyS19BTlRfIyNiIyNfQ0FMSUJSQVRJT05fSU5JVF9TRVRUSU5HXyMjc0VUaURYLFwKKyAgICAgQzJLX0FOVF8jI2IjI19MQVlPVVRfR1JPVVBfIyNzRVRpRFgsXAorICAge1wKKyAgICAgIEMyS19BTlRfIyNiIyNfU1BMSVRfTlVNXyMjc0VUaURYLFwKKyAgICAgIHtcCisgICAgICAgICAgICB7XAorICAgICAgCSAgICAgICBDMktfQU5UXyMjYiMjX1NQTElUX1BBUlQxX0RMX0VORF8jI3NFVGlEWCxcCisgICAgICAgICAgICAgICBDMktfQU5UXyMjYiMjX1NQTElUX1BBUlQxX1RVTkVSX0NPTkZJR18jI3NFVGlEWFwKKyAgICAgICAgICAgIH0sXAorICAgICAgICAgICAge1wKKyAgICAgIAkgICAgICAgQzJLX0FOVF8jI2IjI19TUExJVF9QQVJUMl9ETF9FTkRfIyNzRVRpRFgsXAorICAgICAgICAgICAgICAgQzJLX0FOVF8jI2IjI19TUExJVF9QQVJUMl9UVU5FUl9DT05GSUdfIyNzRVRpRFhcCisgICAgICAgICAgICB9LFwKKyAgICAgICAgICAgIHtcCisgICAgICAJICAgICAgIEMyS19BTlRfIyNiIyNfU1BMSVRfUEFSVDNfRExfRU5EXyMjc0VUaURYLFwKKyAgICAgICAgICAgICAgIEMyS19BTlRfIyNiIyNfU1BMSVRfUEFSVDNfVFVORVJfQ09ORklHXyMjc0VUaURYXAorICAgICAgICAgICAgfSxcCisgICAgICAgICAgICB7XAorICAgICAgCSAgICAgICBDMktfQU5UXyMjYiMjX1NQTElUX1BBUlQ0X0RMX0VORF8jI3NFVGlEWCxcCisgICAgICAgICAgICAgICBDMktfQU5UXyMjYiMjX1NQTElUX1BBUlQ0X1RVTkVSX0NPTkZJR18jI3NFVGlEWFwKKyAgICAgICAgICAgIH0sXAorICAgICAgICAgICAge1wKKyAgICAgIAkgICAgICAgQzJLX0FOVF8jI2IjI19TUExJVF9QQVJUNV9ETF9FTkRfIyNzRVRpRFgsXAorICAgICAgICAgICAgICAgQzJLX0FOVF8jI2IjI19TUExJVF9QQVJUNV9UVU5FUl9DT05GSUdfIyNzRVRpRFhcCisgICAgICAgICAgICB9XAorICAgICAgfVwKKyAgfSxcCisgIHtcCisgICAgICBDMktfIyNiIyNfVEFTX0FOVDBfUlNDUF9CSUFTXyMjc0VUaURYLFwKKwkgICAgQzJLXyMjYiMjX1RBU19BTlQxX1JTQ1BfQklBU18jI3NFVGlEWCxcCisJICAgIEMyS18jI2IjI19UQVNfQU5UMl9SU0NQX0JJQVNfIyNzRVRpRFgsXAorCSAgICBDMktfIyNiIyNfVEFTX0FOVDNfUlNDUF9CSUFTXyMjc0VUaURYLFwKKwkgICAgQzJLXyMjYiMjX1RBU19BTlQ0X1JTQ1BfQklBU18jI3NFVGlEWCxcCisJICAgIEMyS18jI2IjI19UQVNfQU5UNV9SU0NQX0JJQVNfIyNzRVRpRFgsXAorCSAgICBDMktfIyNiIyNfVEFTX0FOVDZfUlNDUF9CSUFTXyMjc0VUaURYLFwKKyAgICAgIEMyS18jI2IjI19UQVNfQU5UN19SU0NQX0JJQVNfIyNzRVRpRFhcCisgIH1cCit9CisKKyNkZWZpbmUgQzJLX0FOVF9TSU5HTEVfQ09ORklHVVJFKGIsc0VUaURYKVwKK3tcCisgICB7IEMyS19BTlRfIyNiIyNfUkVBTF9TSU1fVEFTX0VOQUJMRV8jI3NFVGlEWCwgQzJLX0FOVF8jI2IjI19SRUFMX1NJTV9JTklUX1NFVFRJTkdfIyNzRVRpRFggfSxcCisgICB7IEMyS19BTlRfIyNiIyNfVEVTVF9TSU1fVEFTX0VOQUJMRV8jI3NFVGlEWCwgQzJLX0FOVF8jI2IjI19URVNUX1NJTV9JTklUX1NFVFRJTkdfIyNzRVRpRFggfSxcCisgICAgIEMyS19BTlRfIyNiIyNfQ0FMSUJSQVRJT05fSU5JVF9TRVRUSU5HXyMjc0VUaURYLFwKKyAgICAgQzJLX0FOVF8jI2IjI19MQVlPVVRfR1JPVVBfIyNzRVRpRFgsXAorICAge1wKKyAgICAgIDAsXAorICAgICAge1wKKyAgICAgICAgICAgIHswLCAgQzJLX0FOVF8jI2IjI19UVU5FUl9DT05GSUdfIyNzRVRpRFh9LFwKKyAgICAgICAgICAgIHswLCAgMH0sXAorICAgICAgICAgICAgezAsICAwfSxcCisgICAgICAgICAgICB7MCwgIDB9LFwKKyAgICAgICAgICAgIHswLCAgMH1cCisgICAgICB9XAorICAgfSxcCisgICB7XAorICAgIAlDMktfIyNiIyNfVEFTX0FOVDBfUlNDUF9CSUFTXyMjc0VUaURYLFwKKyAgICAJQzJLXyMjYiMjX1RBU19BTlQxX1JTQ1BfQklBU18jI3NFVGlEWCxcCisgICAgCUMyS18jI2IjI19UQVNfQU5UMl9SU0NQX0JJQVNfIyNzRVRpRFgsXAorICAgIAlDMktfIyNiIyNfVEFTX0FOVDNfUlNDUF9CSUFTXyMjc0VUaURYLFwKKyAgICAJQzJLXyMjYiMjX1RBU19BTlQ0X1JTQ1BfQklBU18jI3NFVGlEWCxcCisgICAgCUMyS18jI2IjI19UQVNfQU5UNV9SU0NQX0JJQVNfIyNzRVRpRFgsXAorICAgIAlDMktfIyNiIyNfVEFTX0FOVDZfUlNDUF9CSUFTXyMjc0VUaURYLFwKKyAgICAJQzJLXyMjYiMjX1RBU19BTlQ3X1JTQ1BfQklBU18jI3NFVGlEWFwKKyAgIH1cCit9CisKKyNkZWZpbmUgUkZfQ1VTVF9UQVNfQllfUkFUX0RBVEEoc0VUaURYKSBcCitjb25zdCBDMktfQ1VTVE9NX1RBU19GRUFUVVJFX1QgQ0wxRF9SRl9DVVNUX1RBU19GRUFUVVJFX18jI3NFVGlEWCA9XAore1wKKyAgIEMyS19EQVRfRkVBVFVSRV9FTkFCTEVfIyNzRVRpRFgsXAorICAge1wKKyAgICAgIEMyS19UQVNfRk9SQ0VfRU5BQkxFXyMjc0VUaURYLFwKKyAgICAgIEMyS19UQVNfRk9SQ0VfSU5JVF9TRVRUSU5HXyMjc0VUaURYLFwKKyAgIH0sXAorICAgQzJLX1RBU19FTkFCTEVfT05fUkVBTF9TSU1fIyNzRVRpRFgsXAorICAgQzJLX1RBU19FTkFCTEVfT05fVEVTVF9TSU1fIyNzRVRpRFgsXAorICAgQzJLX1RBU19JTklUX1NFVFRJTkdfIyNzRVRpRFgsXAorICAge1wKKyAgICAgIEMyS19BTlRfQkFORF9BX0NBTElCUkFUSU9OX0lOSVRfU0VUVElOR18jI3NFVGlEWCxcCisgICAgICBDMktfQU5UX0JBTkRfQl9DQUxJQlJBVElPTl9JTklUX1NFVFRJTkdfIyNzRVRpRFgsXAorICAgICAgQzJLX0FOVF9CQU5EX0NfQ0FMSUJSQVRJT05fSU5JVF9TRVRUSU5HXyMjc0VUaURYLFwKKyAgICAgIEMyS19BTlRfQkFORF9EX0NBTElCUkFUSU9OX0lOSVRfU0VUVElOR18jI3NFVGlEWCxcCisgICAgICBDMktfQU5UX0JBTkRfRV9DQUxJQlJBVElPTl9JTklUX1NFVFRJTkdfIyNzRVRpRFgsXAorICAgfSxcCisgICB7XAorICAgICAge1wKKyAgICAgICAgIHtcCisgICAgICAgICAgICBDMktfQkFORF9BX1RBU19BTlQwX1JTQ1BfQklBU18jI3NFVGlEWCxcCisgICAgICAgICAgICBDMktfQkFORF9BX1RBU19BTlQxX1JTQ1BfQklBU18jI3NFVGlEWCxcCisgICAgICAgICAgICBDMktfQkFORF9BX1RBU19BTlQyX1JTQ1BfQklBU18jI3NFVGlEWCxcCisgICAgICAgICAgICBDMktfQkFORF9BX1RBU19BTlQzX1JTQ1BfQklBU18jI3NFVGlEWCxcCisgICAgICAgICAgICBDMktfQkFORF9BX1RBU19BTlQ0X1JTQ1BfQklBU18jI3NFVGlEWCxcCisgICAgICAgICAgICBDMktfQkFORF9BX1RBU19BTlQ1X1JTQ1BfQklBU18jI3NFVGlEWCxcCisgICAgICAgICAgICBDMktfQkFORF9BX1RBU19BTlQ2X1JTQ1BfQklBU18jI3NFVGlEWCxcCisgICAgICAgICAgICBDMktfQkFORF9BX1RBU19BTlQ3X1JTQ1BfQklBU18jI3NFVGlEWCxcCisgICAgICAgICB9XAorICAgICAgfSxcCisgICAgICB7XAorICAgICAgICAge1wKKyAgICAgICAgICAgIEMyS19CQU5EX0JfVEFTX0FOVDBfUlNDUF9CSUFTXyMjc0VUaURYLFwKKyAgICAgICAgICAgIEMyS19CQU5EX0JfVEFTX0FOVDFfUlNDUF9CSUFTXyMjc0VUaURYLFwKKyAgICAgICAgICAgIEMyS19CQU5EX0JfVEFTX0FOVDJfUlNDUF9CSUFTXyMjc0VUaURYLFwKKyAgICAgICAgICAgIEMyS19CQU5EX0JfVEFTX0FOVDNfUlNDUF9CSUFTXyMjc0VUaURYLFwKKyAgICAgICAgICAgIEMyS19CQU5EX0JfVEFTX0FOVDRfUlNDUF9CSUFTXyMjc0VUaURYLFwKKyAgICAgICAgICAgIEMyS19CQU5EX0JfVEFTX0FOVDVfUlNDUF9CSUFTXyMjc0VUaURYLFwKKyAgICAgICAgICAgIEMyS19CQU5EX0JfVEFTX0FOVDZfUlNDUF9CSUFTXyMjc0VUaURYLFwKKyAgICAgICAgICAgIEMyS19CQU5EX0JfVEFTX0FOVDdfUlNDUF9CSUFTXyMjc0VUaURYLFwKKyAgICAgICAgIH1cCisgICAgICB9LFwKKyAgICAgIHtcCisgICAgICAgICB7XAorICAgICAgICAgICAgQzJLX0JBTkRfQ19UQVNfQU5UMF9SU0NQX0JJQVNfIyNzRVRpRFgsXAorICAgICAgICAgICAgQzJLX0JBTkRfQ19UQVNfQU5UMV9SU0NQX0JJQVNfIyNzRVRpRFgsXAorICAgICAgICAgICAgQzJLX0JBTkRfQ19UQVNfQU5UMl9SU0NQX0JJQVNfIyNzRVRpRFgsXAorICAgICAgICAgICAgQzJLX0JBTkRfQ19UQVNfQU5UM19SU0NQX0JJQVNfIyNzRVRpRFgsXAorICAgICAgICAgICAgQzJLX0JBTkRfQ19UQVNfQU5UNF9SU0NQX0JJQVNfIyNzRVRpRFgsXAorICAgICAgICAgICAgQzJLX0JBTkRfQ19UQVNfQU5UNV9SU0NQX0JJQVNfIyNzRVRpRFgsXAorICAgICAgICAgICAgQzJLX0JBTkRfQ19UQVNfQU5UNl9SU0NQX0JJQVNfIyNzRVRpRFgsXAorICAgICAgICAgICAgQzJLX0JBTkRfQ19UQVNfQU5UN19SU0NQX0JJQVNfIyNzRVRpRFgsXAorICAgICAgICAgfVwKKyAgICAgIH0sXAorICAgICAge1wKKyAgICAgICAgIHtcCisgICAgICAgICAgICBDMktfQkFORF9EX1RBU19BTlQwX1JTQ1BfQklBU18jI3NFVGlEWCxcCisgICAgICAgICAgICBDMktfQkFORF9EX1RBU19BTlQxX1JTQ1BfQklBU18jI3NFVGlEWCxcCisgICAgICAgICAgICBDMktfQkFORF9EX1RBU19BTlQyX1JTQ1BfQklBU18jI3NFVGlEWCxcCisgICAgICAgICAgICBDMktfQkFORF9EX1RBU19BTlQzX1JTQ1BfQklBU18jI3NFVGlEWCxcCisgICAgICAgICAgICBDMktfQkFORF9EX1RBU19BTlQ0X1JTQ1BfQklBU18jI3NFVGlEWCxcCisgICAgICAgICAgICBDMktfQkFORF9EX1RBU19BTlQ1X1JTQ1BfQklBU18jI3NFVGlEWCxcCisgICAgICAgICAgICBDMktfQkFORF9EX1RBU19BTlQ2X1JTQ1BfQklBU18jI3NFVGlEWCxcCisgICAgICAgICAgICBDMktfQkFORF9EX1RBU19BTlQ3X1JTQ1BfQklBU18jI3NFVGlEWCxcCisgICAgICAgICB9XAorICAgICAgfSxcCisgICAgICB7XAorICAgICAgICAge1wKKyAgICAgICAgICAgIEMyS19CQU5EX0VfVEFTX0FOVDBfUlNDUF9CSUFTXyMjc0VUaURYLFwKKyAgICAgICAgICAgIEMyS19CQU5EX0VfVEFTX0FOVDFfUlNDUF9CSUFTXyMjc0VUaURYLFwKKyAgICAgICAgICAgIEMyS19CQU5EX0VfVEFTX0FOVDJfUlNDUF9CSUFTXyMjc0VUaURYLFwKKyAgICAgICAgICAgIEMyS19CQU5EX0VfVEFTX0FOVDNfUlNDUF9CSUFTXyMjc0VUaURYLFwKKyAgICAgICAgICAgIEMyS19CQU5EX0VfVEFTX0FOVDRfUlNDUF9CSUFTXyMjc0VUaURYLFwKKyAgICAgICAgICAgIEMyS19CQU5EX0VfVEFTX0FOVDVfUlNDUF9CSUFTXyMjc0VUaURYLFwKKyAgICAgICAgICAgIEMyS19CQU5EX0VfVEFTX0FOVDZfUlNDUF9CSUFTXyMjc0VUaURYLFwKKyAgICAgICAgICAgIEMyS19CQU5EX0VfVEFTX0FOVDdfUlNDUF9CSUFTXyMjc0VUaURYLFwKKyAgICAgICAgIH1cCisgICAgICB9LFwKKyAgIH0sXAorfQorCisjZGVmaW5lIFJGX0NVU1RfVVRBU19BTEdPUklUSE1fUEFSQU1FVEVSKHNFVGlEWClcCitjb25zdCBDMktfQ1VTVE9NX1VUQVNfQUxHT1JJVEhNX1BBUkFNRVRFUl9UIENMMURfUkZfQ1VTVF9VVEFTX0FMR09SSVRITV9QQVJBTUVURVJfXyMjc0VUaURYID1cCit7XAorCXtcCisgICAgCUMyS19VVEFTX1NUeF9TT19IWVNURVJFU0lTX0RVUkFUSU9OXyMjc0VUaURYLFwKKyAgICAJQzJLX1VUQVNfU1R4X1NPX0FfVEhSRVNIT0xEX0lORElDQVRJTkdfTk9fUE9XRVJfSEVBRFJPT01fIyNzRVRpRFgsXAorICAgIAlDMktfVVRBU19TVHhfU09fVFhQX0dBSU5fVEhSRVNIT0xEXyMjc0VUaURYLFwKKyAgICAJQzJLX1VUQVNfU1R4X1NPX1BIUl9HQUlOX1RIUkVTSE9MRF8jI3NFVGlEWCxcCisgICAgCUMyS19VVEFTX1NUeF9TT19QUkVTV0lUQ0hJTkdfU1RBVEVfRFVSQVRJT05fIyNzRVRpRFgsXAorICAgIAlDMktfVVRBU19TVHhfU09fSU5DUkVBU0VEX1RYUF9USFJFU0hPTERfSU5fUFJFU1dJVENISU5HX1NUQVRFXyMjc0VUaURYLFwKKyAgICAJQzJLX1VUQVNfU1R4X1NPX1RIUkVTSE9MRF9GT1JfU1VNX09GX1RYUF9BTkRfU0lHUE9XRVJfSU5fUFJFU1dJVENISU5HX1NUQVRFXyMjc0VUaURYXAorICAgIH0sXAorICAgIHtcCisgICAgCUMyS19VVEFTX1BUWFBfREJfTE9XRVJfQk9VTkRfUEFSQU1fIyNzRVRpRFgsXAorICAgIAlDMktfVVRBU19QVFhQX0RCX1VQUEVSX0JPVU5EX1BBUkFNXyMjc0VUaURYLFwKKyAgICAJQzJLX1VUQVNfUFRYUF9EQl9JTkNSRUFTRURfQU1PVU5UX0JBUlJJRVJfUEFSQU1fIyNzRVRpRFgsXAorICAgIAlDMktfVVRBU19QVFhQX0RCX0RFQ1JFQVNFRF9BTU9VTlRfQkFSUklFUl9QQVJBTV8jI3NFVGlEWCxcCisgICAgCUMyS19VVEFTX0hSX0RCX0xPV0VSX0JPVU5EX1BBUkFNXyMjc0VUaURYLFwKKyAgICAJQzJLX1VUQVNfSFJfREJfVVBQRVJfQk9VTkRfUEFSQU1fIyNzRVRpRFgsXAorICAgIAlDMktfVVRBU19IUl9EQl9JTkNSRUFTRURfQU1PVU5UX0JBUlJJRVJfUEFSQU1fIyNzRVRpRFgsXAorICAgIAlDMktfVVRBU19IUl9EQl9ERUNSRUFTRURfQU1PVU5UX0JBUlJJRVJfUEFSQU1fIyNzRVRpRFgsXAorICAgIAlDMktfVVRBU19IUl9EQl9USU1FX0RVUkFUSU9OX1RPX1JFTEFYX0JBUlJJRVJfUEFSQU1fIyNzRVRpRFhcCisgICAgfSxcCisgICAge1wKKyAgICAJQzJLX1VUQVNfQlR4X1NPX0hZU1RFUkVTSVNfRFVSQVRJT05fIyNzRVRpRFgsXAorICAgIAlDMktfVVRBU19CVHhfU09fTUVBU19TSUdQT1dFUl9OVU1CRVJfIyNzRVRpRFgsXAorICAgIAlDMktfVVRBU19CVHhfU09fU0lHUE9XRVJfQ0JfVEhSRVNIT0xEXyMjc0VUaURYLFwKKyAgICAJQzJLX1VUQVNfQlR4X1NPX0FfVEhSRVNIT0xEX0lORElDQVRJTkdfTk9fUE9XRVJfSEVBRFJPT01fIyNzRVRpRFgsXAorICAgIAlDMktfVVRBU19CVHhfU09fU0lHUE9XRVJfVEhSRVNIT0xEX0ZPUl9TVEFSVElOR19USU1FUl8jI3NFVGlEWCxcCisgICAgCUMyS19VVEFTX0JUeF9TT19JTklUSUFMX0RVUkFUSU9OXyMjc0VUaURYLFwKKyAgICAJQzJLX1VUQVNfQlR4X1NPX1VQUEVSX0JPVU5EXyMjc0VUaURYLFwKKyAgICAJQzJLX1VUQVNfQlR4X1NPX0lOQ1JFQVNFRF9BTU9VTlRfREVMVEFfRk9SX0ZBSUxfUFJFX1NXSVRDSElOR18jI3NFVGlEWCxcCisgICAgCUMyS19VVEFTX0JUeF9TT19QUkVTV0lUQ0hJTkdfU1RBVEVfRFVSQVRJT05fIyNzRVRpRFgsXAorICAgIAlDMktfVVRBU19CVHhfU09fSU5DUkVBU0VEX1RYUF9USFJFU0hPTERfSU5fUFJFX1NXSVRDSElOX1NUQVRFXyMjc0VUaURYLFwKKyAgICAJQzJLX1VUQVNfQlR4X1NPX1RIUkVTSE9MRF9GT1JfU1VNX09GX1RYUF9BTkRfU0lHUE9XRVJfSU5fUFJFU1dJVENISU5HX1NUQVRfIyNzRVRpRFhcCisgICAgfSxcCisgICAge1wKKyAgICAJQzJLX1VUQVNfQlJYX0hZU1RFUkVTSVNfRFVSQVRJT05fIyNzRVRpRFgsXAorICAgIAlDMktfVVRBU19CUlhfTE9XX1FVQUxJVFlfVEhSRVNIT0xEXyMjc0VUaURYLFwKKyAgICAJQzJLX1VUQVNfQlJYX1NJR1BPV0VSX0NCX1RIUkVTSE9MRF8jI3NFVGlEWCxcCisgICAgCUMyS19VVEFTX0JSWF9MT1dfU05SX1RIUkVTSE9MRF8jI3NFVGlEWAksXAorICAgIAlDMktfVVRBU19CUlhfU0lHUE9XRVJfVEhSRVNIT0xEX0ZPUl9TVEFSVElOR19USU1FUl8jI3NFVGlEWCAsXAorICAgIAlDMktfVVRBU19CUlhfSU5JVElBTF9EVVJBVElPTl8jI3NFVGlEWCxcCisgICAgCUMyS19VVEFTX0JSWF9VUFBFUl9CT1VORF8jI3NFVGlEWCxcCisgICAgCUMyS19VVEFTX0JSWF9JTkNSRUFTRURfQU1PVU5UX0RFTFRBX0ZPUl9GQUlMX1BSRVNXSVRDSElOR18jI3NFVGlEWCxcCisgICAgCUMyS19VVEFTX0JSWF9QUkVTV0lUQ0hJTkdfU1RBVEVfRFVSQVRJT05fIyNzRVRpRFgsXAorICAgIAlDMktfVVRBU19CUlhfU0lHUE9XRVJfQ0JfVEhSRVNIT0xEX0lOX1BSRVNXSVRDSElOR19zdGF0ZV8jI3NFVGlEWFwKKyAgICB9LFwKKyAgICB7XAorICAgIAlDMktfVVRBU19IVFBfSFlTVEVSRVNJU19EVVJBVElPTl8jI3NFVGlEWCxcCisgICAgCUMyS19VVEFTX0hUUF9BX1RIUkVTSE9MRF9JTkRJQ0FUSU9OR19OT19QT1dFUl9IRUFEUk9PTV8jI3NFVGlEWFwKKyAgICB9XAorfQorI2VsaWYgX19NRDk1X18KKyNkZWZpbmUgQzJLX0FOVF9DT05GSUdVUkUoYixzRVRpRFgscykgIEMyS19BTlRfIyNzIyNfQ09ORklHVVJFKGIsc0VUaURYKQorI2RlZmluZSBDMktfQU5UX1NQTElUX0NPTkZJR1VSRShiLHNFVGlEWClcCit7XAorICAgeyBDMktfQU5UXyMjYiMjX1JFQUxfU0lNX1RBU19FTkFCTEVfIyNzRVRpRFgsIEMyS19BTlRfIyNiIyNfUkVBTF9TSU1fSU5JVF9TRVRUSU5HXyMjc0VUaURYIH0sXAorICAgeyBDMktfQU5UXyMjYiMjX1RFU1RfU0lNX1RBU19FTkFCTEVfIyNzRVRpRFgsIEMyS19BTlRfIyNiIyNfVEVTVF9TSU1fSU5JVF9TRVRUSU5HXyMjc0VUaURYIH0sXAorICAgICBDMktfQU5UXyMjYiMjX0NBTElCUkFUSU9OX0lOSVRfU0VUVElOR18jI3NFVGlEWCxcCisgICAgIEMyS19BTlRfIyNiIyNfTEFZT1VUX0dST1VQXyMjc0VUaURYLFwKKyAgIHtcCisgICAgICBDMktfQU5UXyMjYiMjX1NQTElUX05VTV8jI3NFVGlEWCxcCisgICAgICB7XAorICAgICAgICAgICAge1wKKyAgICAgIAkgICAgICAgQzJLX0FOVF8jI2IjI19TUExJVF9QQVJUMV9ETF9FTkRfIyNzRVRpRFgsXAorICAgICAgICAgICAgICAgQzJLX0FOVF8jI2IjI19TUExJVF9QQVJUMV9UVU5FUl9DT05GSUdfIyNzRVRpRFhcCisgICAgICAgICAgICB9LFwKKyAgICAgICAgICAgIHtcCisgICAgICAJICAgICAgIEMyS19BTlRfIyNiIyNfU1BMSVRfUEFSVDJfRExfRU5EXyMjc0VUaURYLFwKKyAgICAgICAgICAgICAgIEMyS19BTlRfIyNiIyNfU1BMSVRfUEFSVDJfVFVORVJfQ09ORklHXyMjc0VUaURYXAorICAgICAgICAgICAgfSxcCisgICAgICAgICAgICB7XAorICAgICAgCSAgICAgICBDMktfQU5UXyMjYiMjX1NQTElUX1BBUlQzX0RMX0VORF8jI3NFVGlEWCxcCisgICAgICAgICAgICAgICBDMktfQU5UXyMjYiMjX1NQTElUX1BBUlQzX1RVTkVSX0NPTkZJR18jI3NFVGlEWFwKKyAgICAgICAgICAgIH0sXAorICAgICAgICAgICAge1wKKyAgICAgIAkgICAgICAgQzJLX0FOVF8jI2IjI19TUExJVF9QQVJUNF9ETF9FTkRfIyNzRVRpRFgsXAorICAgICAgICAgICAgICAgQzJLX0FOVF8jI2IjI19TUExJVF9QQVJUNF9UVU5FUl9DT05GSUdfIyNzRVRpRFhcCisgICAgICAgICAgICB9LFwKKyAgICAgICAgICAgIHtcCisgICAgICAJICAgICAgIEMyS19BTlRfIyNiIyNfU1BMSVRfUEFSVDVfRExfRU5EXyMjc0VUaURYLFwKKyAgICAgICAgICAgICAgIEMyS19BTlRfIyNiIyNfU1BMSVRfUEFSVDVfVFVORVJfQ09ORklHXyMjc0VUaURYXAorICAgICAgICAgICAgfVwKKyAgICAgIH1cCisgIH0sXAorICB7XAorICAgICAgQzJLXyMjYiMjX1RBU19BTlQwX1JTQ1BfQklBU18jI3NFVGlEWCxcCisJICAgIEMyS18jI2IjI19UQVNfQU5UMV9SU0NQX0JJQVNfIyNzRVRpRFgsXAorCSAgICBDMktfIyNiIyNfVEFTX0FOVDJfUlNDUF9CSUFTXyMjc0VUaURYLFwKKwkgICAgQzJLXyMjYiMjX1RBU19BTlQzX1JTQ1BfQklBU18jI3NFVGlEWCxcCisJICAgIEMyS18jI2IjI19UQVNfQU5UNF9SU0NQX0JJQVNfIyNzRVRpRFgsXAorCSAgICBDMktfIyNiIyNfVEFTX0FOVDVfUlNDUF9CSUFTXyMjc0VUaURYLFwKKwkgICAgQzJLXyMjYiMjX1RBU19BTlQ2X1JTQ1BfQklBU18jI3NFVGlEWCxcCisgICAgICBDMktfIyNiIyNfVEFTX0FOVDdfUlNDUF9CSUFTXyMjc0VUaURYXAorICB9XAorfQorCisjZGVmaW5lIEMyS19BTlRfU0lOR0xFX0NPTkZJR1VSRShiLHNFVGlEWClcCit7XAorICAgeyBDMktfQU5UXyMjYiMjX1JFQUxfU0lNX1RBU19FTkFCTEVfIyNzRVRpRFgsIEMyS19BTlRfIyNiIyNfUkVBTF9TSU1fSU5JVF9TRVRUSU5HXyMjc0VUaURYIH0sXAorICAgeyBDMktfQU5UXyMjYiMjX1RFU1RfU0lNX1RBU19FTkFCTEVfIyNzRVRpRFgsIEMyS19BTlRfIyNiIyNfVEVTVF9TSU1fSU5JVF9TRVRUSU5HXyMjc0VUaURYIH0sXAorICAgICBDMktfQU5UXyMjYiMjX0NBTElCUkFUSU9OX0lOSVRfU0VUVElOR18jI3NFVGlEWCxcCisgICAgIEMyS19BTlRfIyNiIyNfTEFZT1VUX0dST1VQXyMjc0VUaURYLFwKKyAgIHtcCisgICAgICAwLFwKKyAgICAgIHtcCisgICAgICAgICAgICB7MCwgIEMyS19BTlRfIyNiIyNfVFVORVJfQ09ORklHXyMjc0VUaURYfSxcCisgICAgICAgICAgICB7MCwgIDB9LFwKKyAgICAgICAgICAgIHswLCAgMH0sXAorICAgICAgICAgICAgezAsICAwfSxcCisgICAgICAgICAgICB7MCwgIDB9XAorICAgICAgfVwKKyAgIH0sXAorICAge1wKKyAgICAJQzJLXyMjYiMjX1RBU19BTlQwX1JTQ1BfQklBU18jI3NFVGlEWCxcCisgICAgCUMyS18jI2IjI19UQVNfQU5UMV9SU0NQX0JJQVNfIyNzRVRpRFgsXAorICAgIAlDMktfIyNiIyNfVEFTX0FOVDJfUlNDUF9CSUFTXyMjc0VUaURYLFwKKyAgICAJQzJLXyMjYiMjX1RBU19BTlQzX1JTQ1BfQklBU18jI3NFVGlEWCxcCisgICAgCUMyS18jI2IjI19UQVNfQU5UNF9SU0NQX0JJQVNfIyNzRVRpRFgsXAorICAgIAlDMktfIyNiIyNfVEFTX0FOVDVfUlNDUF9CSUFTXyMjc0VUaURYLFwKKyAgICAJQzJLXyMjYiMjX1RBU19BTlQ2X1JTQ1BfQklBU18jI3NFVGlEWCxcCisgICAgCUMyS18jI2IjI19UQVNfQU5UN19SU0NQX0JJQVNfIyNzRVRpRFhcCisgICB9XAorfQorCisjZGVmaW5lIFJGX0NVU1RfVEFTX0JZX1JBVF9EQVRBKHNFVGlEWCkgXAorQzJLX0NVU1RPTV9UQVNfRkVBVFVSRV9CWV9SQVRfVCBDTDFEX1JGX0NVU1RfVEFTX0ZFQVRVUkVfXyMjc0VUaURYID1cCit7XAorICAge0MyS19UQVNfRk9SQ0VfRU5BQkxFXyMjc0VUaURYLEMyS19UQVNfRk9SQ0VfSU5JVF9TRVRUSU5HXyMjc0VUaURYfSxcCisgICBDMktfVEFTX0lOSVRfU0VUVElOR18jI3NFVGlEWCxcCisgICBDMktfVEFTX0VOQUJMRV9PTl9SRUFMX1NJTV8jI3NFVGlEWCxcCisgICBDMktfVEFTX0VOQUJMRV9PTl9URVNUX1NJTV8jI3NFVGlEWCxcCit9CisjZGVmaW5lIFJGX0NVU1RfVVRBU19BTEdPUklUSE1fUEFSQU1FVEVSKHNFVGlEWClcCitDMktfQ1VTVE9NX1VUQVNfQUxHT1JJVEhNX1BBUkFNRVRFUl9UIENMMURfUkZfQ1VTVF9VVEFTX0FMR09SSVRITV9QQVJBTUVURVJfXyMjc0VUaURYID1cCit7XAorCXtcCisgICAgCUMyS19VVEFTX1NUeF9TT19IWVNURVJFU0lTX0RVUkFUSU9OXyMjc0VUaURYLFwKKyAgICAJQzJLX1VUQVNfU1R4X1NPX0FfVEhSRVNIT0xEX0lORElDQVRJTkdfTk9fUE9XRVJfSEVBRFJPT01fIyNzRVRpRFgsXAorICAgIAlDMktfVVRBU19TVHhfU09fVFhQX0dBSU5fVEhSRVNIT0xEXyMjc0VUaURYLFwKKyAgICAJQzJLX1VUQVNfU1R4X1NPX1BIUl9HQUlOX1RIUkVTSE9MRF8jI3NFVGlEWCxcCisgICAgCUMyS19VVEFTX1NUeF9TT19QUkVTV0lUQ0hJTkdfU1RBVEVfRFVSQVRJT05fIyNzRVRpRFgsXAorICAgIAlDMktfVVRBU19TVHhfU09fSU5DUkVBU0VEX1RYUF9USFJFU0hPTERfSU5fUFJFU1dJVENISU5HX1NUQVRFXyMjc0VUaURYLFwKKyAgICAJQzJLX1VUQVNfU1R4X1NPX1RIUkVTSE9MRF9GT1JfU1VNX09GX1RYUF9BTkRfU0lHUE9XRVJfSU5fUFJFU1dJVENISU5HX1NUQVRFXyMjc0VUaURYXAorICAgIH0sXAorICAgIHtcCisgICAgCUMyS19VVEFTX1BUWFBfREJfTE9XRVJfQk9VTkRfUEFSQU1fIyNzRVRpRFgsXAorICAgIAlDMktfVVRBU19QVFhQX0RCX1VQUEVSX0JPVU5EX1BBUkFNXyMjc0VUaURYLFwKKyAgICAJQzJLX1VUQVNfUFRYUF9EQl9JTkNSRUFTRURfQU1PVU5UX0JBUlJJRVJfUEFSQU1fIyNzRVRpRFgsXAorICAgIAlDMktfVVRBU19QVFhQX0RCX0RFQ1JFQVNFRF9BTU9VTlRfQkFSUklFUl9QQVJBTV8jI3NFVGlEWCxcCisgICAgCUMyS19VVEFTX0hSX0RCX0xPV0VSX0JPVU5EX1BBUkFNXyMjc0VUaURYLFwKKyAgICAJQzJLX1VUQVNfSFJfREJfVVBQRVJfQk9VTkRfUEFSQU1fIyNzRVRpRFgsXAorICAgIAlDMktfVVRBU19IUl9EQl9JTkNSRUFTRURfQU1PVU5UX0JBUlJJRVJfUEFSQU1fIyNzRVRpRFgsXAorICAgIAlDMktfVVRBU19IUl9EQl9ERUNSRUFTRURfQU1PVU5UX0JBUlJJRVJfUEFSQU1fIyNzRVRpRFgsXAorICAgIAlDMktfVVRBU19IUl9EQl9USU1FX0RVUkFUSU9OX1RPX1JFTEFYX0JBUlJJRVJfUEFSQU1fIyNzRVRpRFhcCisgICAgfSxcCisgICAge1wKKyAgICAJQzJLX1VUQVNfQlR4X1NPX0hZU1RFUkVTSVNfRFVSQVRJT05fIyNzRVRpRFgsXAorICAgIAlDMktfVVRBU19CVHhfU09fTUVBU19TSUdQT1dFUl9OVU1CRVJfIyNzRVRpRFgsXAorICAgIAlDMktfVVRBU19CVHhfU09fU0lHUE9XRVJfQ0JfVEhSRVNIT0xEXyMjc0VUaURYLFwKKyAgICAJQzJLX1VUQVNfQlR4X1NPX0FfVEhSRVNIT0xEX0lORElDQVRJTkdfTk9fUE9XRVJfSEVBRFJPT01fIyNzRVRpRFgsXAorICAgIAlDMktfVVRBU19CVHhfU09fU0lHUE9XRVJfVEhSRVNIT0xEX0ZPUl9TVEFSVElOR19USU1FUl8jI3NFVGlEWCxcCisgICAgCUMyS19VVEFTX0JUeF9TT19JTklUSUFMX0RVUkFUSU9OXyMjc0VUaURYLFwKKyAgICAJQzJLX1VUQVNfQlR4X1NPX1VQUEVSX0JPVU5EXyMjc0VUaURYLFwKKyAgICAJQzJLX1VUQVNfQlR4X1NPX0lOQ1JFQVNFRF9BTU9VTlRfREVMVEFfRk9SX0ZBSUxfUFJFX1NXSVRDSElOR18jI3NFVGlEWCxcCisgICAgCUMyS19VVEFTX0JUeF9TT19QUkVTV0lUQ0hJTkdfU1RBVEVfRFVSQVRJT05fIyNzRVRpRFgsXAorICAgIAlDMktfVVRBU19CVHhfU09fSU5DUkVBU0VEX1RYUF9USFJFU0hPTERfSU5fUFJFX1NXSVRDSElOX1NUQVRFXyMjc0VUaURYLFwKKyAgICAJQzJLX1VUQVNfQlR4X1NPX1RIUkVTSE9MRF9GT1JfU1VNX09GX1RYUF9BTkRfU0lHUE9XRVJfSU5fUFJFU1dJVENISU5HX1NUQVRfIyNzRVRpRFhcCisgICAgfSxcCisgICAge1wKKyAgICAJQzJLX1VUQVNfQlJYX0hZU1RFUkVTSVNfRFVSQVRJT05fIyNzRVRpRFgsXAorICAgIAlDMktfVVRBU19CUlhfTE9XX1FVQUxJVFlfVEhSRVNIT0xEXyMjc0VUaURYLFwKKyAgICAJQzJLX1VUQVNfQlJYX1NJR1BPV0VSX0NCX1RIUkVTSE9MRF8jI3NFVGlEWCxcCisgICAgCUMyS19VVEFTX0JSWF9MT1dfU05SX1RIUkVTSE9MRF8jI3NFVGlEWAksXAorICAgIAlDMktfVVRBU19CUlhfU0lHUE9XRVJfVEhSRVNIT0xEX0ZPUl9TVEFSVElOR19USU1FUl8jI3NFVGlEWCAsXAorICAgIAlDMktfVVRBU19CUlhfSU5JVElBTF9EVVJBVElPTl8jI3NFVGlEWCxcCisgICAgCUMyS19VVEFTX0JSWF9VUFBFUl9CT1VORF8jI3NFVGlEWCxcCisgICAgCUMyS19VVEFTX0JSWF9JTkNSRUFTRURfQU1PVU5UX0RFTFRBX0ZPUl9GQUlMX1BSRVNXSVRDSElOR18jI3NFVGlEWCxcCisgICAgCUMyS19VVEFTX0JSWF9QUkVTV0lUQ0hJTkdfU1RBVEVfRFVSQVRJT05fIyNzRVRpRFgsXAorICAgIAlDMktfVVRBU19CUlhfU0lHUE9XRVJfQ0JfVEhSRVNIT0xEX0lOX1BSRVNXSVRDSElOR19zdGF0ZV8jI3NFVGlEWFwKKyAgICB9LFwKKyAgICB7XAorICAgIAlDMktfVVRBU19IVFBfSFlTVEVSRVNJU19EVVJBVElPTl8jI3NFVGlEWCxcCisgICAgCUMyS19VVEFTX0hUUF9BX1RIUkVTSE9MRF9JTkRJQ0FUSU9OR19OT19QT1dFUl9IRUFEUk9PTV8jI3NFVGlEWFwKKyAgICB9XAorfQorCisjZWxpZiBfX01EOTNfXworI2RlZmluZSBSRl9DVVNUX1RBU19CWV9SQVRfREFUQShzRVRpRFgpIFwKK0MyS19DVVNUT01fVEFTX0ZFQVRVUkVfQllfUkFUX1QgQ0wxRF9SRl9DVVNUX1RBU19GRUFUVVJFX18jI3NFVGlEWCA9XAore1wKKyAgIEMyS19UQVNfVkVSU0lPTl8jI3NFVGlEWCxcCisgICB7QzJLX1RBU19GT1JDRV9FTkFCTEVfIyNzRVRpRFgsQzJLX1RBU19GT1JDRV9JTklUX1NFVFRJTkdfIyNzRVRpRFh9LFwKKyAgIEMyS19UQVNfSU5JVF9TRVRUSU5HXyMjc0VUaURYLFwKKyAgIEMyS19UQVNfRU5BQkxFX09OX1JFQUxfU0lNXyMjc0VUaURYLFwKKyAgIEMyS19UQVNfRU5BQkxFX09OX1RFU1RfU0lNXyMjc0VUaURYLFwKK30KKy8qKiogQzJLX0NVU1RPTV9UQVNfRkVfUk9VVEVfREFUQUJBU0VfVCAqKiovCisjZGVmaW5lIEMyS19TQl9GRV9UQVNfU0VUVElORyhiLHMpIFwKK3tcCisgICAgYiMjX1RBU19TVEFURV9OVU1fIyNzLFwKKyAgICAge1wKKyAgICAgICAgeyBiIyNfVEFTX1JFQUxfU0lNX0JZX1JPVVRFX1RBU19FTkFCTEVfIyNzLCBiIyNfVEFTX1JFQUxfU0lNX0JZX1JPVVRFX0lOSVRfU0VUVElOR18jI3MgfSxcCisgICAgICAgIHsgYiMjX1RBU19URVNUX1NJTV9CWV9ST1VURV9UQVNfRU5BQkxFXyMjcywgYiMjX1RBU19URVNUX1NJTV9CWV9ST1VURV9JTklUX1NFVFRJTkdfIyNzIH0sXAorICAgICB9LFwKKyAgICAge1wKKyAgICAgICAgeyAgYiMjX1RBU19TVEFURTBfQ0FUX0FfUk9VVEVfIyNzLCBiIyNfVEFTX1NUQVRFMF9DQVRfQl9ST1VURV8jI3MsIGIjI19UQVNfU1RBVEUwX0NBVF9DX1JPVVRFXyMjcyB9LFwKKyAgICAgICAgeyAgYiMjX1RBU19TVEFURTFfQ0FUX0FfUk9VVEVfIyNzLCBiIyNfVEFTX1NUQVRFMV9DQVRfQl9ST1VURV8jI3MsIGIjI19UQVNfU1RBVEUxX0NBVF9DX1JPVVRFXyMjcyB9LFwKKyAgICAgICAgeyAgYiMjX1RBU19TVEFURTJfQ0FUX0FfUk9VVEVfIyNzLCBiIyNfVEFTX1NUQVRFMl9DQVRfQl9ST1VURV8jI3MsIGIjI19UQVNfU1RBVEUyX0NBVF9DX1JPVVRFXyMjcyB9LFwKKyAgICAgICAgeyAgYiMjX1RBU19TVEFURTNfQ0FUX0FfUk9VVEVfIyNzLCBiIyNfVEFTX1NUQVRFM19DQVRfQl9ST1VURV8jI3MsIGIjI19UQVNfU1RBVEUzX0NBVF9DX1JPVVRFXyMjcyB9LFwKKyAgICAgICAgeyAgYiMjX1RBU19TVEFURTRfQ0FUX0FfUk9VVEVfIyNzLCBiIyNfVEFTX1NUQVRFNF9DQVRfQl9ST1VURV8jI3MsIGIjI19UQVNfU1RBVEU0X0NBVF9DX1JPVVRFXyMjcyB9LFwKKyAgICAgICAgeyAgYiMjX1RBU19TVEFURTVfQ0FUX0FfUk9VVEVfIyNzLCBiIyNfVEFTX1NUQVRFNV9DQVRfQl9ST1VURV8jI3MsIGIjI19UQVNfU1RBVEU1X0NBVF9DX1JPVVRFXyMjcyB9LFwKKyAgICAgICAgeyAgYiMjX1RBU19TVEFURTZfQ0FUX0FfUk9VVEVfIyNzLCBiIyNfVEFTX1NUQVRFNl9DQVRfQl9ST1VURV8jI3MsIGIjI19UQVNfU1RBVEU2X0NBVF9DX1JPVVRFXyMjcyB9LFwKKyAgICAgICAgeyAgYiMjX1RBU19TVEFURTdfQ0FUX0FfUk9VVEVfIyNzLCBiIyNfVEFTX1NUQVRFN19DQVRfQl9ST1VURV8jI3MsIGIjI19UQVNfU1RBVEU3X0NBVF9DX1JPVVRFXyMjcyB9LFwKKyAgICAgfSxcCit9ICAgICAgCisKKyNkZWZpbmUgQzJLX1NCX1RBU19DT05GSUdVUkUoc0VUaURYKSBcCitDMktfQ1VTVE9NX1RBU19GRV9ST1VURV9EQVRBQkFTRV9UICAgQ0wxRF9SRl9DVVNUX1RBU19GRV9ST1VURV9EQVRBQkFTRV9fIyNzRVRpRFggPVwKK3tcCisgIHtcCisgIEMyS19TQl9GRV9UQVNfU0VUVElORyggQzJLX0JhbmRfQSAgICwgc0VUaURYICksXAorICBDMktfU0JfRkVfVEFTX1NFVFRJTkcoIEMyS19CYW5kX0IgICAsIHNFVGlEWCApLFwKKyAgQzJLX1NCX0ZFX1RBU19TRVRUSU5HKCBDMktfQmFuZF9DICAgLCBzRVRpRFggKSxcCisgIEMyS19TQl9GRV9UQVNfU0VUVElORyggQzJLX0JhbmRfRCAgICwgc0VUaURYICksXAorICBDMktfU0JfRkVfVEFTX1NFVFRJTkcoIEMyS19CYW5kX0UgICAsIHNFVGlEWCApLFwKKyAgfVwKK30KKy8qKiogQzJLX1RVTkVSX0ZFX1JPVVRFX1RBQkxFICoqKi8KKyNkZWZpbmUgQzJLX0NVU1RPTV9UVU5FUl9TRVRUSU5HKGIscylcCit7XAorICB7YiMjX1RVTkVSX0lOSVRJQUxfTUFJTl9ST1VURV8jI3MsYiMjX1RVTkVSX0lOSVRJQUxfRElWX1JPVVRFXyMjc30sXAorICB7XAorICAgIHtiIyNfVEFTX1NUQVRFMF9UVU5FUl9NQUlOX1JPVVRFXyMjcyxiIyNfVEFTX1NUQVRFMF9UVU5FUl9ESVZfUk9VVEVfIyNzfSxcCisgICAge2IjI19UQVNfU1RBVEUxX1RVTkVSX01BSU5fUk9VVEVfIyNzLGIjI19UQVNfU1RBVEUxX1RVTkVSX0RJVl9ST1VURV8jI3N9LFwKKyAgICB7YiMjX1RBU19TVEFURTJfVFVORVJfTUFJTl9ST1VURV8jI3MsYiMjX1RBU19TVEFURTJfVFVORVJfRElWX1JPVVRFXyMjc30sXAorICAgIHtiIyNfVEFTX1NUQVRFM19UVU5FUl9NQUlOX1JPVVRFXyMjcyxiIyNfVEFTX1NUQVRFM19UVU5FUl9ESVZfUk9VVEVfIyNzfSxcCisgICAge2IjI19UQVNfU1RBVEU0X1RVTkVSX01BSU5fUk9VVEVfIyNzLGIjI19UQVNfU1RBVEU0X1RVTkVSX0RJVl9ST1VURV8jI3N9LFwKKyAgICB7YiMjX1RBU19TVEFURTVfVFVORVJfTUFJTl9ST1VURV8jI3MsYiMjX1RBU19TVEFURTVfVFVORVJfRElWX1JPVVRFXyMjc30sXAorICAgIHtiIyNfVEFTX1NUQVRFNl9UVU5FUl9NQUlOX1JPVVRFXyMjcyxiIyNfVEFTX1NUQVRFNl9UVU5FUl9ESVZfUk9VVEVfIyNzfSxcCisgICAge2IjI19UQVNfU1RBVEU3X1RVTkVSX01BSU5fUk9VVEVfIyNzLGIjI19UQVNfU1RBVEU3X1RVTkVSX0RJVl9ST1VURV8jI3N9LFwKKyAgfVwKK30KKworI2RlZmluZSBDMktfQ1VTVE9NX1RVTkVSX0NPTkZJR1VSRShzRVRpRFgpXAorQzJLX0NVU1RPTV9UVU5FUl9GRV9ST1VURV9UQUJMRSBDTDFEX1JGX0NVU1RfVFVORVJfRkVfUk9VVEVfVEFCTEVfXyMjc0VUaURYPVwKK3tcCisgIHtcCisgICBDMktfQ1VTVE9NX1RVTkVSX1NFVFRJTkcoQzJLX0JhbmRfQSxzRVRpRFgpLFwKKyAgIEMyS19DVVNUT01fVFVORVJfU0VUVElORyhDMktfQmFuZF9CLHNFVGlEWCksXAorICAgQzJLX0NVU1RPTV9UVU5FUl9TRVRUSU5HKEMyS19CYW5kX0Msc0VUaURYKSxcCisgICBDMktfQ1VTVE9NX1RVTkVSX1NFVFRJTkcoQzJLX0JhbmRfRCxzRVRpRFgpLFwKKyAgIEMyS19DVVNUT01fVFVORVJfU0VUVElORyhDMktfQmFuZF9FLHNFVGlEWCksXAorICB9XAorfQorI2VuZGlmCisKKyNpZmRlZiBfX01EOTNfXworLypEQVQgKi8KKyNkZWZpbmUgQzJLX1NCX0RBVF9DT05GSUdVUkUoYixzKVwKK3tcCisgIHtcCisgICAgICAgIHtiIyNfREFUX1NUQVRFMF9DQVRfQV9DT05GSUdfIyNzLCBiIyNfREFUX1NUQVRFMF9DQVRfQl9DT05GSUdfIyNzfSwgIFwKKyAgICAgICAge2IjI19EQVRfU1RBVEUxX0NBVF9BX0NPTkZJR18jI3MsIGIjI19EQVRfU1RBVEUxX0NBVF9CX0NPTkZJR18jI3N9ICwgXAorICAgICAgICB7YiMjX0RBVF9TVEFURTJfQ0FUX0FfQ09ORklHXyMjcywgYiMjX0RBVF9TVEFURTJfQ0FUX0JfQ09ORklHXyMjc30gLCBcCisgICAgICAgIHtiIyNfREFUX1NUQVRFM19DQVRfQV9DT05GSUdfIyNzLCBiIyNfREFUX1NUQVRFM19DQVRfQl9DT05GSUdfIyNzfSAsIFwKKyAgICAgICAge2IjI19EQVRfU1RBVEU0X0NBVF9BX0NPTkZJR18jI3MsIGIjI19EQVRfU1RBVEU0X0NBVF9CX0NPTkZJR18jI3N9ICwgXAorICAgICAgICB7YiMjX0RBVF9TVEFURTVfQ0FUX0FfQ09ORklHXyMjcywgYiMjX0RBVF9TVEFURTVfQ0FUX0JfQ09ORklHXyMjc30gLCBcCisgICAgICAgIHtiIyNfREFUX1NUQVRFNl9DQVRfQV9DT05GSUdfIyNzLCBiIyNfREFUX1NUQVRFNl9DQVRfQl9DT05GSUdfIyNzfSAsIFwKKyAgICAgICAge2IjI19EQVRfU1RBVEU3X0NBVF9BX0NPTkZJR18jI3MsIGIjI19EQVRfU1RBVEU3X0NBVF9CX0NPTkZJR18jI3N9ICwgXAorICB9XAorfQorI2RlZmluZSAgIEMyS19EQVRfRkVfUk9VVEVfREFUQUJBU0Uoc0VUaURYKVwKK2NvbnN0IENMMURfUkZfREFUX0ZFX1JPVVRFX0RBVEFCQVNFX1QgQ0wxRF9SRl9EQVRfRkVfUk9VVEVfREFUQUJBU0VfXyMjc0VUaURYID0gXAore1wKKyAgQzJLX0RBVF9GRUFUVVJFX0VOQUJMRV8jI3NFVGlEWCxcCisgIHtcCisgICAgQzJLX1NCX0RBVF9DT05GSUdVUkUoIEMyS19CQU5EX0EgICwgc0VUaURYICkgLFwKKyAgICBDMktfU0JfREFUX0NPTkZJR1VSRSggQzJLX0JBTkRfQiAgLCBzRVRpRFggKSAsXAorICAgIEMyS19TQl9EQVRfQ09ORklHVVJFKCBDMktfQkFORF9DICAsIHNFVGlEWCApICxcCisgICAgQzJLX1NCX0RBVF9DT05GSUdVUkUoIEMyS19CQU5EX0QgICwgc0VUaURYICkgLFwKKyAgICBDMktfU0JfREFUX0NPTkZJR1VSRSggQzJLX0JBTkRfRSAgLCBzRVRpRFggKSAsXAorICB9XAorfQorI2Vsc2UKKyNkZWZpbmUgQzJLX0RBVF9TVEFURV9ST1VURV9DT05GSUdVUkUoYixwLHMpXAore1wKKyAge1wKKyAgCXtcCisgIAkJQzJLXyMjYiMjX0RBVF9TUExJVF8jI3AjI19TVEFURTBfU1dJVENIX0NPTkZJR18jI3MsXAorICAJCUMyS18jI2IjI19EQVRfU1BMSVRfIyNwIyNfU1RBVEUwX1RVTkVSX0NPTkZJR18jI3NcCisgIAl9LFwKKyAgCXtcCisgIAkJQzJLXyMjYiMjX0RBVF9TUExJVF8jI3AjI19TVEFURTFfU1dJVENIX0NPTkZJR18jI3MsXAorICAJCUMyS18jI2IjI19EQVRfU1BMSVRfIyNwIyNfU1RBVEUxX1RVTkVSX0NPTkZJR18jI3NcCisgIAl9LFwKKyAgCXtcCisgIAkJQzJLXyMjYiMjX0RBVF9TUExJVF8jI3AjI19TVEFURTJfU1dJVENIX0NPTkZJR18jI3MsXAorICAJCUMyS18jI2IjI19EQVRfU1BMSVRfIyNwIyNfU1RBVEUyX1RVTkVSX0NPTkZJR18jI3NcCisgIAl9LFwKKyAgCXtcCisgIAkJQzJLXyMjYiMjX0RBVF9TUExJVF8jI3AjI19TVEFURTNfU1dJVENIX0NPTkZJR18jI3MsXAorICAJCUMyS18jI2IjI19EQVRfU1BMSVRfIyNwIyNfU1RBVEUzX1RVTkVSX0NPTkZJR18jI3NcCisgIAl9LFwKKyAgCXtcCisgIAkJQzJLXyMjYiMjX0RBVF9TUExJVF8jI3AjI19TVEFURTRfU1dJVENIX0NPTkZJR18jI3MsXAorICAJCUMyS18jI2IjI19EQVRfU1BMSVRfIyNwIyNfU1RBVEU0X1RVTkVSX0NPTkZJR18jI3NcCisgIAl9LFwKKyAgCXtcCisgIAkJQzJLXyMjYiMjX0RBVF9TUExJVF8jI3AjI19TVEFURTVfU1dJVENIX0NPTkZJR18jI3MsXAorICAJCUMyS18jI2IjI19EQVRfU1BMSVRfIyNwIyNfU1RBVEU1X1RVTkVSX0NPTkZJR18jI3NcCisgIAl9LFwKKyAgCXtcCisgIAkJQzJLXyMjYiMjX0RBVF9TUExJVF8jI3AjI19TVEFURTZfU1dJVENIX0NPTkZJR18jI3MsXAorICAJCUMyS18jI2IjI19EQVRfU1BMSVRfIyNwIyNfU1RBVEU2X1RVTkVSX0NPTkZJR18jI3NcCisgIAl9LFwKKyAgCXtcCisgIAkJQzJLXyMjYiMjX0RBVF9TUExJVF8jI3AjI19TVEFURTdfU1dJVENIX0NPTkZJR18jI3MsXAorICAJCUMyS18jI2IjI19EQVRfU1BMSVRfIyNwIyNfU1RBVEU3X1RVTkVSX0NPTkZJR18jI3NcCisgIAl9XAorICB9XAorfQorCisJCisjZGVmaW5lICBDMktfREFUX1NCX0FOVF9UVU5FUl9ST1VURV9DT05GSUdVUkUoYixzKVwKK3tcCisJQzJLXyMjYiMjX0RBVF9TUExJVF9OVU1fIyNzLFwKKyAgIHtcCisJICAgQzJLXyMjYiMjX0RBVF9TUExJVF9QQVJUMV9ETF9FTkRfIyNzLFwKKwkgICBDMktfIyNiIyNfREFUX1NQTElUX1BBUlQyX0RMX0VORF8jI3MsXAorCSAgIEMyS18jI2IjI19EQVRfU1BMSVRfUEFSVDNfRExfRU5EXyMjcyxcCisJICAgQzJLXyMjYiMjX0RBVF9TUExJVF9QQVJUNF9ETF9FTkRfIyNzLFwKKwkgICBDMktfIyNiIyNfREFUX1NQTElUX1BBUlQ1X0RMX0VORF8jI3NcCisgICB9LFwKKyAgIHtcCisgICAgICAgQzJLX0RBVF9TVEFURV9ST1VURV9DT05GSUdVUkUoYixQQVJUMSxzKSxcCisgICAgICAgQzJLX0RBVF9TVEFURV9ST1VURV9DT05GSUdVUkUoYixQQVJUMixzKSxcCisJICAgQzJLX0RBVF9TVEFURV9ST1VURV9DT05GSUdVUkUoYixQQVJUMyxzKSxcCisJICAgQzJLX0RBVF9TVEFURV9ST1VURV9DT05GSUdVUkUoYixQQVJUNCxzKSxcCisJICAgQzJLX0RBVF9TVEFURV9ST1VURV9DT05GSUdVUkUoYixQQVJUNSxzKVwKKyAgIH1cCit9CisKKyNkZWZpbmUgQzJLX1JGX0RBVF9BTlRfVFVORVJfUk9VVEVfREFUQUJBU0Uoc0VUaURYKVwKK2NvbnN0IENMMURfUkZfREFUX0FOVF9UVU5FUl9ST1VURV9EQVRBQkFTRV9UIENMMURfUkZfQ1VTVF9EQVRfQU5UX1RVTkVSX1JPVVRFX0RBVEFCQVNFX18jI3NFVGlEWCA9XAore1wKKyAgIEMyS19EQVRfRkVBVFVSRV9FTkFCTEVfIyNzRVRpRFgsXAorICB7XAorCSAgIEMyS19EQVRfU0JfQU5UX1RVTkVSX1JPVVRFX0NPTkZJR1VSRSggQkFORF9BCSwgc0VUaURYKSAsXAorCSAgIEMyS19EQVRfU0JfQU5UX1RVTkVSX1JPVVRFX0NPTkZJR1VSRSggQkFORF9CCSwgc0VUaURYKSAsXAorCSAgIEMyS19EQVRfU0JfQU5UX1RVTkVSX1JPVVRFX0NPTkZJR1VSRSggQkFORF9DCSwgc0VUaURYKSAsXAorCSAgIEMyS19EQVRfU0JfQU5UX1RVTkVSX1JPVVRFX0NPTkZJR1VSRSggQkFORF9ECSwgc0VUaURYKSAsXAorCSAgIEMyS19EQVRfU0JfQU5UX1RVTkVSX1JPVVRFX0NPTkZJR1VSRSggQkFORF9FCSwgc0VUaURYKVwKKyAgfVwKK307CisKKyNlbmRpZgorCisvKiBGaW5pc2hlZCAqLworI2lmbmRlZiBfX01EOTNfXworI2RlZmluZSBIV0RfVEFTX0JQSV9DVVNUT01fREFUQV9ERUNMQVJFKHNFVGlEWCkgXAorZXh0ZXJuIEMyS19DVVNUT01fVEFTX0ZFQVRVUkVfQllfUkFUX1QgQ0wxRF9SRl9DVVNUX1RBU19GRUFUVVJFX18jI3NFVGlEWDtcCitleHRlcm4gQzJLX0NVU1RPTV9BTlRfRkVfUk9VVEVfREFUQUJBU0VfVCBDMktfQU5UX0ZFX1JPVVRFX0RBVEFCQVNFX18jI3NFVGlEWDtcCitleHRlcm4gQzJLX0NVU1RPTV9VVEFTX0FMR09SSVRITV9QQVJBTUVURVJfVCBDTDFEX1JGX0NVU1RfVVRBU19BTEdPUklUSE1fUEFSQU1FVEVSX18jI3NFVGlEWDtcCitleHRlcm4gY29uc3QgQ0wxRF9SRl9EQVRfQU5UX1RVTkVSX1JPVVRFX0RBVEFCQVNFX1QgIENMMURfUkZfQ1VTVF9EQVRfQU5UX1RVTkVSX1JPVVRFX0RBVEFCQVNFX18jI3NFVGlEWAorI2Vsc2UKKyNkZWZpbmUgSFdEX1RBU19CUElfQ1VTVE9NX0RBVEFfREVDTEFSRShzRVRpRFgpIFwKK2V4dGVybiBDMktfQ1VTVE9NX1RBU19GRUFUVVJFX0JZX1JBVF9UIENMMURfUkZfQ1VTVF9UQVNfRkVBVFVSRV9fIyNzRVRpRFg7XAorZXh0ZXJuIEMyS19DVVNUT01fVEFTX0ZFX1JPVVRFX0RBVEFCQVNFX1QgICBDTDFEX1JGX0NVU1RfVEFTX0ZFX1JPVVRFX0RBVEFCQVNFX18jI3NFVGlEWDtcCitleHRlcm4gQzJLX0NVU1RPTV9UVU5FUl9GRV9ST1VURV9UQUJMRSBDTDFEX1JGX0NVU1RfVFVORVJfRkVfUk9VVEVfVEFCTEVfXyMjc0VUaURYO1wKK2V4dGVybiBDMktfQ1VTVE9NX1RBU19GRV9DQVRfQV9UICBDTDFEX1JGX0NVU1RfVEFTX0ZFX0NBVF9BX18jI3NFVGlEWDtcCitleHRlcm4gQzJLX0NVU1RPTV9UQVNfRkVfQ0FUX0JfVCAgQ0wxRF9SRl9DVVNUX1RBU19GRV9DQVRfQl9fIyNzRVRpRFg7XAorZXh0ZXJuIEMyS19DVVNUT01fVEFTX0ZFX0NBVF9DX1QgIENMMURfUkZfQ1VTVF9UQVNfRkVfQ0FUX0NfXyMjc0VUaURYO1wKK2V4dGVybiBDMktfQ1VTVE9NX1RVTkVSX0JBTkRfVCBDTDFEX1JGX0NVU1RfVFVORVJfQkFORF9BXyMjc0VUaURYO1wKK2V4dGVybiBDMktfQ1VTVE9NX1RVTkVSX0JBTkRfVCBDTDFEX1JGX0NVU1RfVFVORVJfQkFORF9CXyMjc0VUaURYO1wKK2V4dGVybiBDMktfQ1VTVE9NX1RVTkVSX0JBTkRfVCBDTDFEX1JGX0NVU1RfVFVORVJfQkFORF9DXyMjc0VUaURYO1wKK2V4dGVybiBDMktfQ1VTVE9NX1RVTkVSX0JBTkRfVCBDTDFEX1JGX0NVU1RfVFVORVJfQkFORF9EXyMjc0VUaURYO1wKK2V4dGVybiBDMktfQ1VTVE9NX1RVTkVSX0JBTkRfVCBDTDFEX1JGX0NVU1RfVFVORVJfQkFORF9FXyMjc0VUaURYCisKKyNkZWZpbmUgSFdEX1RBU19NSVBJX0NVU1RPTV9EQVRBX0RFQ0xBUkUoc0VUaURYKVwKK2V4dGVybiBjb25zdCBDTDFEX1JGX01JUElfRVZFTlRfVEFCTEVfVCBDTDFEX1JGX0NVU1RfVFVORVJfUk9VVEVfRVZFTlRfQkFORF9BXyMjc0VUaURYW107XAorZXh0ZXJuIGNvbnN0IENMMURfUkZfTUlQSV9FVkVOVF9UQUJMRV9UIENMMURfUkZfQ1VTVF9UVU5FUl9ST1VURV9FVkVOVF9CQU5EX0JfIyNzRVRpRFhbXTtcCitleHRlcm4gY29uc3QgQ0wxRF9SRl9NSVBJX0VWRU5UX1RBQkxFX1QgQ0wxRF9SRl9DVVNUX1RVTkVSX1JPVVRFX0VWRU5UX0JBTkRfQ18jI3NFVGlEWFtdO1wKK2V4dGVybiBjb25zdCBDTDFEX1JGX01JUElfRVZFTlRfVEFCTEVfVCBDTDFEX1JGX0NVU1RfVFVORVJfUk9VVEVfRVZFTlRfQkFORF9EXyMjc0VUaURYW107XAorZXh0ZXJuIGNvbnN0IENMMURfUkZfTUlQSV9FVkVOVF9UQUJMRV9UIENMMURfUkZfQ1VTVF9UVU5FUl9ST1VURV9FVkVOVF9CQU5EX0VfIyNzRVRpRFhbXTtcCitleHRlcm4gY29uc3QgQ0wxRF9SRl9NSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9UIENMMURfUkZfQ1VTVF9UVU5FUl9ST1VURV9EQVRBX0JBTkRfQV8jI3NFVGlEWFtdO1wKK2V4dGVybiBjb25zdCBDTDFEX1JGX01JUElfREFUQV9TVUJCQU5EX1RBQkxFX1QgQ0wxRF9SRl9DVVNUX1RVTkVSX1JPVVRFX0RBVEFfQkFORF9CXyMjc0VUaURYW107XAorZXh0ZXJuIGNvbnN0IENMMURfUkZfTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCBDTDFEX1JGX0NVU1RfVFVORVJfUk9VVEVfREFUQV9CQU5EX0NfIyNzRVRpRFhbXTtcCitleHRlcm4gY29uc3QgQ0wxRF9SRl9NSVBJX0RBVEFfU1VCQkFORF9UQUJMRV9UIENMMURfUkZfQ1VTVF9UVU5FUl9ST1VURV9EQVRBX0JBTkRfRF8jI3NFVGlEWFtdO1wKK2V4dGVybiBjb25zdCBDTDFEX1JGX01JUElfREFUQV9TVUJCQU5EX1RBQkxFX1QgQ0wxRF9SRl9DVVNUX1RVTkVSX1JPVVRFX0RBVEFfQkFORF9FXyMjc0VUaURYW107XAorZXh0ZXJuIGNvbnN0IENMMURfUkZfTUlQSV9FVkVOVF9UQUJMRV9UIENMMURfUkZfQ1VTVF9UQVNfRVZFTlRfQ0FUX0FfUm91dGUwXyMjc0VUaURYW107XAorZXh0ZXJuIGNvbnN0IENMMURfUkZfTUlQSV9FVkVOVF9UQUJMRV9UIENMMURfUkZfQ1VTVF9UQVNfRVZFTlRfQ0FUX0FfUm91dGUxXyMjc0VUaURYW107XAorZXh0ZXJuIGNvbnN0IENMMURfUkZfTUlQSV9FVkVOVF9UQUJMRV9UIENMMURfUkZfQ1VTVF9UQVNfRVZFTlRfQ0FUX0FfUm91dGUyXyMjc0VUaURYW107XAorZXh0ZXJuIGNvbnN0IENMMURfUkZfTUlQSV9FVkVOVF9UQUJMRV9UIENMMURfUkZfQ1VTVF9UQVNfRVZFTlRfQ0FUX0FfUm91dGUzXyMjc0VUaURYW107XAorZXh0ZXJuIGNvbnN0IENMMURfUkZfTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCBDTDFEX1JGX0NVU1RfVEFTX0RBVEFfQ0FUX0FfUm91dGUwXyMjc0VUaURYW107XAorZXh0ZXJuIGNvbnN0IENMMURfUkZfTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCBDTDFEX1JGX0NVU1RfVEFTX0RBVEFfQ0FUX0FfUm91dGUxXyMjc0VUaURYW107XAorZXh0ZXJuIGNvbnN0IENMMURfUkZfTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCBDTDFEX1JGX0NVU1RfVEFTX0RBVEFfQ0FUX0FfUm91dGUyXyMjc0VUaURYW107XAorZXh0ZXJuIGNvbnN0IENMMURfUkZfTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCBDTDFEX1JGX0NVU1RfVEFTX0RBVEFfQ0FUX0FfUm91dGUzXyMjc0VUaURYW107XAorZXh0ZXJuIGNvbnN0IENMMURfUkZfTUlQSV9FVkVOVF9UQUJMRV9UIENMMURfUkZfQ1VTVF9UQVNfRVZFTlRfQ0FUX0JfUm91dGUwXyMjc0VUaURYW107XAorZXh0ZXJuIGNvbnN0IENMMURfUkZfTUlQSV9FVkVOVF9UQUJMRV9UIENMMURfUkZfQ1VTVF9UQVNfRVZFTlRfQ0FUX0JfUm91dGUxXyMjc0VUaURYW107XAorZXh0ZXJuIGNvbnN0IENMMURfUkZfTUlQSV9FVkVOVF9UQUJMRV9UIENMMURfUkZfQ1VTVF9UQVNfRVZFTlRfQ0FUX0JfUm91dGUyXyMjc0VUaURYW107XAorZXh0ZXJuIGNvbnN0IENMMURfUkZfTUlQSV9FVkVOVF9UQUJMRV9UIENMMURfUkZfQ1VTVF9UQVNfRVZFTlRfQ0FUX0JfUm91dGUzXyMjc0VUaURYW107XAorZXh0ZXJuIGNvbnN0IENMMURfUkZfTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCBDTDFEX1JGX0NVU1RfVEFTX0RBVEFfQ0FUX0JfUm91dGUwXyMjc0VUaURYW107XAorZXh0ZXJuIGNvbnN0IENMMURfUkZfTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCBDTDFEX1JGX0NVU1RfVEFTX0RBVEFfQ0FUX0JfUm91dGUxXyMjc0VUaURYW107XAorZXh0ZXJuIGNvbnN0IENMMURfUkZfTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCBDTDFEX1JGX0NVU1RfVEFTX0RBVEFfQ0FUX0JfUm91dGUyXyMjc0VUaURYW107XAorZXh0ZXJuIGNvbnN0IENMMURfUkZfTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCBDTDFEX1JGX0NVU1RfVEFTX0RBVEFfQ0FUX0JfUm91dGUzXyMjc0VUaURYW107XAorZXh0ZXJuIGNvbnN0IENMMURfUkZfTUlQSV9FVkVOVF9UQUJMRV9UIENMMURfUkZfQ1VTVF9UQVNfRVZFTlRfQ0FUX0NfUm91dGUwXyMjc0VUaURYW107XAorZXh0ZXJuIGNvbnN0IENMMURfUkZfTUlQSV9FVkVOVF9UQUJMRV9UIENMMURfUkZfQ1VTVF9UQVNfRVZFTlRfQ0FUX0NfUm91dGUxXyMjc0VUaURYW107XAorZXh0ZXJuIGNvbnN0IENMMURfUkZfTUlQSV9FVkVOVF9UQUJMRV9UIENMMURfUkZfQ1VTVF9UQVNfRVZFTlRfQ0FUX0NfUm91dGUyXyMjc0VUaURYW107XAorZXh0ZXJuIGNvbnN0IENMMURfUkZfTUlQSV9FVkVOVF9UQUJMRV9UIENMMURfUkZfQ1VTVF9UQVNfRVZFTlRfQ0FUX0NfUm91dGUzXyMjc0VUaURYW107XAorZXh0ZXJuIGNvbnN0IENMMURfUkZfTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCBDTDFEX1JGX0NVU1RfVEFTX0RBVEFfQ0FUX0NfUm91dGUwXyMjc0VUaURYW107XAorZXh0ZXJuIGNvbnN0IENMMURfUkZfTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCBDTDFEX1JGX0NVU1RfVEFTX0RBVEFfQ0FUX0NfUm91dGUxXyMjc0VUaURYW107XAorZXh0ZXJuIGNvbnN0IENMMURfUkZfTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCBDTDFEX1JGX0NVU1RfVEFTX0RBVEFfQ0FUX0NfUm91dGUyXyMjc0VUaURYW107XAorZXh0ZXJuIGNvbnN0IENMMURfUkZfTUlQSV9EQVRBX1NVQkJBTkRfVEFCTEVfVCBDTDFEX1JGX0NVU1RfVEFTX0RBVEFfQ0FUX0NfUm91dGUzXyMjc0VUaURYW10KKyNlbmRpZgorCisjZGVmaW5lIFJGX0NVU1RfTUlQSV9QQVJBTShzRVRpRFgpIFwKK2NvbnN0IENMMURfUkZfTUlQSV9QQVJBTV9UIENMMV9DQVRfKEMyS19fTUlQSV9QQVJBTV8sIHNFVGlEWClbXSA9XAore1wKKyAgICB7XAorICAgICAgICBDTDFfQ0FUXyhJU19NSVBJX0ZST05UX0VORF9FTkFCTEVfLCBzRVRpRFgpLFwKKyAgICAgICAgQ0wxX0NBVF8oQzJLX01JUElfVE9PTF9WRVJfLCBzRVRpRFgpLFwKKyAgICB9LFwKK30KKworI2VuZGlmIC8qIF9DTDFfREFUQV9ERUZTX0hfICovCisKKwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvcmZkL2V4dGVybmFsL2NvbW0vcmZfY3VzdG9tL2NsMV9kcmRpLmMgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9yZmQvZXh0ZXJuYWwvY29tbS9yZl9jdXN0b20vY2wxX2RyZGkuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MDM5ZDgzCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvcmZkL2V4dGVybmFsL2NvbW0vcmZfY3VzdG9tL2NsMV9kcmRpLmMKQEAgLTAsMCArMSwyNzIgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKworCisjaW5jbHVkZSAia2FsX2dlbmVyYWxfdHlwZXMuaCIKKyNpbmNsdWRlICJjbDFkX3JmX3B1YmxpYy5oIgorI2luY2x1ZGUgImNsMV9yZl9jb21tb24uaCIKKyNpbmNsdWRlICJudnJhbV9lbnVtcy5oIgorI2luY2x1ZGUgImNsMV9yZl9wdWJsaWMuaCIKKyNpbmNsdWRlICJjbDFfbnZyYW1fZGVmLmgiCisjaW5jbHVkZSAibnZyYW1fY2wxZGVmLmgiCisjaW5jbHVkZSAiY2wxX2RhdGFfZGVmcy5oIgorI2luY2x1ZGUgImNsMV9kcmRpLmgiCisKKyNpbmNsdWRlICJtbWwxX2N1c3RvbV9kcmRpLmgiIC8qIG9wZW4gZHJkaSBpbiBtbWwxICovCisjaW5jbHVkZSAibW1sMV9kcmRpLmgiCisjaW5jbHVkZSAibW1sMV9jdXN0b21fZHJkaS5oIiAvKiB1c2UgTU1MMSB0b3RhbCBzZXQgbnVtcyAqLworI2luY2x1ZGUgImMya19jdXN0b21fZHJkaS5oIgorI2luY2x1ZGUgImMya19jdXN0b21fZHJkaS5jIgorCisjaW5jbHVkZSAibW1sMV9mZV9wdWJsaWMuaCIgLyogdXNlIE1NTDFfRUxOQSBpbmRleCAqLworI2luY2x1ZGUgIm1tbDFfcmZfcHVibGljLmgiIC8qIHVzZSBQQSBzb3VyY2UgY29udG9sICovCisjZGVmaW5lIERSRElfREVGX0lOQ0xVREVfRklMRQorI2RlZmluZSBEUkRJX0RFRl9WQVJfREVGSU5FCisjaW5jbHVkZSAiY2wxX2RyZGlfZGVmcy5oIgorCitjb25zdCBDTDFEX1JGX0NVU1RfREFUQV9TRVRfSU5GT19UKiBzZXRfaW5mb19wdHI7CisKKyNkZWZpbmUgRFJESV9ERUZfU0VUX1BUUl9BUlJBWQorY29uc3QgQ0wxRF9SRl9DVVNUX0RBVEFfU0VUX0lORk9fVCBjMWxkX3JmX2N1c3RfZGF0YV9kcmRpX3NldF9wdHJbQzJLX1RPVEFMX1JFQUxfU0VUX05VTVMrMV1bQ0wxRF9SRl9OVlJBTV9JVEVNX01BWF9OVU1dID0KK3sKKyAgICAvKiArMSBtZWFucyBpbmNsdWRpbmcgU2V0RGVmYXVsdCAqLworICAgICNpbmNsdWRlICJjbDFfZHJkaV9kZWZzLmgiCit9OworCisjaWYgZGVmaW5lZChfX1NBUl9UWF9QT1dFUl9CQUNLT0ZGX1NVUFBPUlRfXykgJiYgKGRlZmluZWQoX19NRDk3X18pIHx8IGRlZmluZWQoX19NRDk3UF9fKSkKKy8vMjAxOV8wMTI1IE9QUE8gU0FSIEV4dGVuZAorI2RlZmluZSBTQVIoYmFuZCx2YWx1ZSkgICZDTDFEX1JGX1NBUl9UWF9QT1dFUl9PRkZTRVRfIyNiYW5kIyNfVHlwZSMjdmFsdWUKKyNkZWZpbmUgU0FSX1RZUEUodmFsdWUpICB7e1NBUihCQU5EX0EsdmFsdWUpLCBTQVIoQkFORF9CLHZhbHVlKSwgU0FSKEJBTkRfQyx2YWx1ZSksIFNBUihCQU5EX0QsdmFsdWUpLCBTQVIoQkFORF9FLHZhbHVlKX19CisKK0NMMURfUkZfU0FSX1RZUEVfVCBjbDFkX3JmX2NvbW1vbl9zYXJfZGF0YV9iYXNlW01NTDFfQ1VTVE9NX1RPVEFMX1NBUl9UQUJMRV9UWVBFX05VTV0gPQoreworICAgICNpZiBNTUwxX0NVU1RPTV9UT1RBTF9TQVJfVEFCTEVfVFlQRV9OVU0gPiAwCisgICAgICAgIFNBUl9UWVBFKDApCisgICAgI2VuZGlmCisgICAgI2lmIE1NTDFfQ1VTVE9NX1RPVEFMX1NBUl9UQUJMRV9UWVBFX05VTSA+IDEKKyAgICAgICAgLFNBUl9UWVBFKDEpCisgICAgI2VuZGlmCisgICAgI2lmIE1NTDFfQ1VTVE9NX1RPVEFMX1NBUl9UQUJMRV9UWVBFX05VTSA+IDIKKyAgICAgICAgLFNBUl9UWVBFKDIpCisgICAgI2VuZGlmCisgICAgI2lmIE1NTDFfQ1VTVE9NX1RPVEFMX1NBUl9UQUJMRV9UWVBFX05VTSA+IDMKKyAgICAgICAgLFNBUl9UWVBFKDMpCisgICAgI2VuZGlmCisgICAgI2lmIE1NTDFfQ1VTVE9NX1RPVEFMX1NBUl9UQUJMRV9UWVBFX05VTSA+IDQKKyAgICAgICAgLFNBUl9UWVBFKDQpCisgICAgI2VuZGlmCisgICAgI2lmIE1NTDFfQ1VTVE9NX1RPVEFMX1NBUl9UQUJMRV9UWVBFX05VTSA+IDUKKyAgICAgICAgLFNBUl9UWVBFKDUpCisgICAgI2VuZGlmCisgICAgI2lmIE1NTDFfQ1VTVE9NX1RPVEFMX1NBUl9UQUJMRV9UWVBFX05VTSA+IDYKKyAgICAgICAgLFNBUl9UWVBFKDYpCisgICAgI2VuZGlmCisgICAgI2lmIE1NTDFfQ1VTVE9NX1RPVEFMX1NBUl9UQUJMRV9UWVBFX05VTSA+IDcKKyAgICAgICAgLFNBUl9UWVBFKDcpCisgICAgI2VuZGlmCisgICAgI2lmIE1NTDFfQ1VTVE9NX1RPVEFMX1NBUl9UQUJMRV9UWVBFX05VTSA+IDgKKyAgICAgICAgLFNBUl9UWVBFKDgpCisgICAgI2VuZGlmCisgICAgI2lmIE1NTDFfQ1VTVE9NX1RPVEFMX1NBUl9UQUJMRV9UWVBFX05VTSA+IDkKKyAgICAgICAgLFNBUl9UWVBFKDkpCisgICAgI2VuZGlmCisgICAgI2lmIE1NTDFfQ1VTVE9NX1RPVEFMX1NBUl9UQUJMRV9UWVBFX05VTSA+IDEwCisgICAgICAgICxTQVJfVFlQRSgxMCkKKyAgICAjZW5kaWYKKyAgICAjaWYgTU1MMV9DVVNUT01fVE9UQUxfU0FSX1RBQkxFX1RZUEVfTlVNID4gMTEKKyAgICAgICAgLFNBUl9UWVBFKDExKQorICAgICNlbmRpZgorICAgICNpZiBNTUwxX0NVU1RPTV9UT1RBTF9TQVJfVEFCTEVfVFlQRV9OVU0gPiAxMgorICAgICAgICAsU0FSX1RZUEUoMTIpCisgICAgI2VuZGlmCisgICAgI2lmIE1NTDFfQ1VTVE9NX1RPVEFMX1NBUl9UQUJMRV9UWVBFX05VTSA+IDEzCisgICAgICAgICxTQVJfVFlQRSgxMykKKyAgICAjZW5kaWYKKyAgICAjaWYgTU1MMV9DVVNUT01fVE9UQUxfU0FSX1RBQkxFX1RZUEVfTlVNID4gMTQKKyAgICAgICAgLFNBUl9UWVBFKDE0KQorICAgICNlbmRpZgorICAgICNpZiBNTUwxX0NVU1RPTV9UT1RBTF9TQVJfVEFCTEVfVFlQRV9OVU0gPiAxNQorICAgICAgICAsU0FSX1RZUEUoMTUpCisgICAgI2VuZGlmCisgICAgI2lmIE1NTDFfQ1VTVE9NX1RPVEFMX1NBUl9UQUJMRV9UWVBFX05VTSA+IDE2CisgICAgICAgICxTQVJfVFlQRSgxNikKKyAgICAjZW5kaWYKKyAgICAjaWYgTU1MMV9DVVNUT01fVE9UQUxfU0FSX1RBQkxFX1RZUEVfTlVNID4gMTcKKyAgICAgICAgLFNBUl9UWVBFKDE3KQorICAgICNlbmRpZgorICAgICNpZiBNTUwxX0NVU1RPTV9UT1RBTF9TQVJfVEFCTEVfVFlQRV9OVU0gPiAxOAorICAgICAgICAsU0FSX1RZUEUoMTgpCisgICAgI2VuZGlmCisgICAgI2lmIE1NTDFfQ1VTVE9NX1RPVEFMX1NBUl9UQUJMRV9UWVBFX05VTSA+IDE5CisgICAgICAgICxTQVJfVFlQRSgxOSkKKyAgICAjZW5kaWYKKyAgICAjaWYgTU1MMV9DVVNUT01fVE9UQUxfU0FSX1RBQkxFX1RZUEVfTlVNID4gMjAKKyAgICAgICAgLFNBUl9UWVBFKDIwKQorICAgICNlbmRpZgorICAgICNpZiBNTUwxX0NVU1RPTV9UT1RBTF9TQVJfVEFCTEVfVFlQRV9OVU0gPiAyMQorICAgICAgICAsU0FSX1RZUEUoMjEpCisgICAgI2VuZGlmCisgICAgI2lmIE1NTDFfQ1VTVE9NX1RPVEFMX1NBUl9UQUJMRV9UWVBFX05VTSA+IDIyCisgICAgICAgICxTQVJfVFlQRSgyMikKKyAgICAjZW5kaWYKKyAgICAjaWYgTU1MMV9DVVNUT01fVE9UQUxfU0FSX1RBQkxFX1RZUEVfTlVNID4gMjMKKyAgICAgICAgLFNBUl9UWVBFKDIzKQorICAgICNlbmRpZgorICAgICNpZiBNTUwxX0NVU1RPTV9UT1RBTF9TQVJfVEFCTEVfVFlQRV9OVU0gPiAyNAorICAgICAgICAsU0FSX1RZUEUoMjQpCisgICAgI2VuZGlmCisgICAgI2lmIE1NTDFfQ1VTVE9NX1RPVEFMX1NBUl9UQUJMRV9UWVBFX05VTSA+IDI1CisgICAgICAgICxTQVJfVFlQRSgyNSkKKyAgICAjZW5kaWYKKyAgICAjaWYgTU1MMV9DVVNUT01fVE9UQUxfU0FSX1RBQkxFX1RZUEVfTlVNID4gMjYKKyAgICAgICAgLFNBUl9UWVBFKDI2KQorICAgICNlbmRpZgorICAgICNpZiBNTUwxX0NVU1RPTV9UT1RBTF9TQVJfVEFCTEVfVFlQRV9OVU0gPiAyNworICAgICAgICAsU0FSX1RZUEUoMjcpCisgICAgI2VuZGlmCisgICAgI2lmIE1NTDFfQ1VTVE9NX1RPVEFMX1NBUl9UQUJMRV9UWVBFX05VTSA+IDI4CisgICAgICAgICxTQVJfVFlQRSgyOCkKKyAgICAjZW5kaWYKKyAgICAjaWYgTU1MMV9DVVNUT01fVE9UQUxfU0FSX1RBQkxFX1RZUEVfTlVNID4gMjkKKyAgICAgICAgLFNBUl9UWVBFKDI5KQorICAgICNlbmRpZgorICAgICNpZiBNTUwxX0NVU1RPTV9UT1RBTF9TQVJfVEFCTEVfVFlQRV9OVU0gPiAzMAorICAgICAgICAsU0FSX1RZUEUoMzApCisgICAgI2VuZGlmCisgICAgI2lmIE1NTDFfQ1VTVE9NX1RPVEFMX1NBUl9UQUJMRV9UWVBFX05VTSA+IDMxCisgICAgICAgICxTQVJfVFlQRSgzMSkKKyAgICAjZW5kaWYKKyAgICAjaWYgTU1MMV9DVVNUT01fVE9UQUxfU0FSX1RBQkxFX1RZUEVfTlVNID4gMzIKKyAgICAgICAgLFNBUl9UWVBFKDMyKQorICAgICNlbmRpZgorICAgICNpZiBNTUwxX0NVU1RPTV9UT1RBTF9TQVJfVEFCTEVfVFlQRV9OVU0gPiAzMworICAgICAgICAsU0FSX1RZUEUoMzMpCisgICAgI2VuZGlmCisgICAgI2lmIE1NTDFfQ1VTVE9NX1RPVEFMX1NBUl9UQUJMRV9UWVBFX05VTSA+IDM0CisgICAgICAgICxTQVJfVFlQRSgzNCkKKyAgICAjZW5kaWYKKyAgICAjaWYgTU1MMV9DVVNUT01fVE9UQUxfU0FSX1RBQkxFX1RZUEVfTlVNID4gMzUKKyAgICAgICAgLFNBUl9UWVBFKDM1KQorICAgICNlbmRpZgorICAgICNpZiBNTUwxX0NVU1RPTV9UT1RBTF9TQVJfVEFCTEVfVFlQRV9OVU0gPiAzNgorICAgICAgICAsU0FSX1RZUEUoMzYpCisgICAgI2VuZGlmCisgICAgI2lmIE1NTDFfQ1VTVE9NX1RPVEFMX1NBUl9UQUJMRV9UWVBFX05VTSA+IDM3CisgICAgICAgICxTQVJfVFlQRSgzNykKKyAgICAjZW5kaWYKKyAgICAjaWYgTU1MMV9DVVNUT01fVE9UQUxfU0FSX1RBQkxFX1RZUEVfTlVNID4gMzgKKyAgICAgICAgLFNBUl9UWVBFKDM4KQorICAgICNlbmRpZgorICAgICNpZiBNTUwxX0NVU1RPTV9UT1RBTF9TQVJfVEFCTEVfVFlQRV9OVU0gPiAzOQorICAgICAgICAsU0FSX1RZUEUoMzkpCisgICAgI2VuZGlmCisgICAgI2lmIE1NTDFfQ1VTVE9NX1RPVEFMX1NBUl9UQUJMRV9UWVBFX05VTSA+IDQwCisgICAgICAgICxTQVJfVFlQRSg0MCkKKyAgICAjZW5kaWYKKyAgICAjaWYgTU1MMV9DVVNUT01fVE9UQUxfU0FSX1RBQkxFX1RZUEVfTlVNID4gNDEKKyAgICAgICAgLFNBUl9UWVBFKDQxKQorICAgICNlbmRpZgorICAgICNpZiBNTUwxX0NVU1RPTV9UT1RBTF9TQVJfVEFCTEVfVFlQRV9OVU0gPiA0MgorICAgICAgICAsU0FSX1RZUEUoNDIpCisgICAgI2VuZGlmCisgICAgI2lmIE1NTDFfQ1VTVE9NX1RPVEFMX1NBUl9UQUJMRV9UWVBFX05VTSA+IDQzCisgICAgICAgICxTQVJfVFlQRSg0MykKKyAgICAjZW5kaWYKKyAgICAjaWYgTU1MMV9DVVNUT01fVE9UQUxfU0FSX1RBQkxFX1RZUEVfTlVNID4gNDQKKyAgICAgICAgLFNBUl9UWVBFKDQ0KQorICAgICNlbmRpZgorICAgICNpZiBNTUwxX0NVU1RPTV9UT1RBTF9TQVJfVEFCTEVfVFlQRV9OVU0gPiA0NQorICAgICAgICAsU0FSX1RZUEUoNDUpCisgICAgI2VuZGlmCisgICAgI2lmIE1NTDFfQ1VTVE9NX1RPVEFMX1NBUl9UQUJMRV9UWVBFX05VTSA+IDQ2CisgICAgICAgICxTQVJfVFlQRSg0NikKKyAgICAjZW5kaWYKKyAgICAjaWYgTU1MMV9DVVNUT01fVE9UQUxfU0FSX1RBQkxFX1RZUEVfTlVNID4gNDcKKyAgICAgICAgLFNBUl9UWVBFKDQ3KQorICAgICNlbmRpZgorICAgICNpZiBNTUwxX0NVU1RPTV9UT1RBTF9TQVJfVEFCTEVfVFlQRV9OVU0gPiA0OAorICAgICAgICAsU0FSX1RZUEUoNDgpCisgICAgI2VuZGlmCisgICAgI2lmIE1NTDFfQ1VTVE9NX1RPVEFMX1NBUl9UQUJMRV9UWVBFX05VTSA+IDQ5CisgICAgICAgICxTQVJfVFlQRSg0OSkKKyAgICAjZW5kaWYKKyAgICAjaWYgTU1MMV9DVVNUT01fVE9UQUxfU0FSX1RBQkxFX1RZUEVfTlVNID4gNTAKKyAgICAgICAgLFNBUl9UWVBFKDUwKQorICAgICNlbmRpZgorICAgICNpZiBNTUwxX0NVU1RPTV9UT1RBTF9TQVJfVEFCTEVfVFlQRV9OVU0gPiA1MQorICAgICAgICAsU0FSX1RZUEUoNTEpCisgICAgI2VuZGlmCisgICAgI2lmIE1NTDFfQ1VTVE9NX1RPVEFMX1NBUl9UQUJMRV9UWVBFX05VTSA+IDUyCisgICAgICAgICxTQVJfVFlQRSg1MikKKyAgICAjZW5kaWYKKyAgICAjaWYgTU1MMV9DVVNUT01fVE9UQUxfU0FSX1RBQkxFX1RZUEVfTlVNID4gNTMKKyAgICAgICAgLFNBUl9UWVBFKDUzKQorICAgICNlbmRpZgorICAgICNpZiBNTUwxX0NVU1RPTV9UT1RBTF9TQVJfVEFCTEVfVFlQRV9OVU0gPiA1NAorICAgICAgICAsU0FSX1RZUEUoNTQpCisgICAgI2VuZGlmCisgICAgI2lmIE1NTDFfQ1VTVE9NX1RPVEFMX1NBUl9UQUJMRV9UWVBFX05VTSA+IDU1CisgICAgICAgICxTQVJfVFlQRSg1NSkKKyAgICAjZW5kaWYKKyAgICAjaWYgTU1MMV9DVVNUT01fVE9UQUxfU0FSX1RBQkxFX1RZUEVfTlVNID4gNTYKKyAgICAgICAgLFNBUl9UWVBFKDU2KQorICAgICNlbmRpZgorICAgICNpZiBNTUwxX0NVU1RPTV9UT1RBTF9TQVJfVEFCTEVfVFlQRV9OVU0gPiA1NworICAgICAgICAsU0FSX1RZUEUoNTcpCisgICAgI2VuZGlmCisgICAgI2lmIE1NTDFfQ1VTVE9NX1RPVEFMX1NBUl9UQUJMRV9UWVBFX05VTSA+IDU4CisgICAgICAgICxTQVJfVFlQRSg1OCkKKyAgICAjZW5kaWYKKyAgICAjaWYgTU1MMV9DVVNUT01fVE9UQUxfU0FSX1RBQkxFX1RZUEVfTlVNID4gNTkKKyAgICAgICAgLFNBUl9UWVBFKDU5KQorICAgICNlbmRpZgorICAgICNpZiBNTUwxX0NVU1RPTV9UT1RBTF9TQVJfVEFCTEVfVFlQRV9OVU0gPiA2MAorICAgICAgICAsU0FSX1RZUEUoNjApCisgICAgI2VuZGlmCisgICAgI2lmIE1NTDFfQ1VTVE9NX1RPVEFMX1NBUl9UQUJMRV9UWVBFX05VTSA+IDYxCisgICAgICAgICxTQVJfVFlQRSg2MSkKKyAgICAjZW5kaWYKKyAgICAjaWYgTU1MMV9DVVNUT01fVE9UQUxfU0FSX1RBQkxFX1RZUEVfTlVNID4gNjIKKyAgICAgICAgLFNBUl9UWVBFKDYyKQorICAgICNlbmRpZgorICAgICNpZiBNTUwxX0NVU1RPTV9UT1RBTF9TQVJfVEFCTEVfVFlQRV9OVU0gPiA2MworICAgICAgICAsU0FSX1RZUEUoNjMpCisgICAgI2VuZGlmCit9OworCisjZW5kaWYKKworCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9yZmQvZXh0ZXJuYWwvY29tbS9yZl9jdXN0b20vY2wxX2RyZGkuaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL3JmZC9leHRlcm5hbC9jb21tL3JmX2N1c3RvbS9jbDFfZHJkaS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyNTNjODIKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9yZmQvZXh0ZXJuYWwvY29tbS9yZl9jdXN0b20vY2wxX2RyZGkuaApAQCAtMCwwICsxLDE0MyBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBfQ0wxX0RSRElfSF8KKyNkZWZpbmUgX0NMMV9EUkRJX0hfCisKKyNkZWZpbmUgQ0wxX1NUUl8odE9LRU4pICAgICAgICAgQ0wxX1NUUl8yKHRPS0VOKQorI2RlZmluZSBDTDFfU1RSXzIodE9LRU4pICAgICAgICBDTDFfU1RSXzEodE9LRU4pCisjZGVmaW5lIENMMV9TVFJfMSh0T0tFTikgICAgICAgIENMMV9TVFJfMCh0T0tFTikKKyNkZWZpbmUgQ0wxX1NUUl8wKHRPS0VOKSAgICAgICAgI3RPS0VOCisKKyNkZWZpbmUgQ0wxX0NBVF8odDEsIHQyKSAgICAgICAgQ0wxX0NBVF8yKHQxLCB0MikKKyNkZWZpbmUgQ0wxX0NBVF8yKHQxLCB0MikgICAgICAgQ0wxX0NBVF8xKHQxLCB0MikKKyNkZWZpbmUgQ0wxX0NBVF8xKHQxLCB0MikgICAgICAgQ0wxX0NBVF8wKHQxLCB0MikKKyNkZWZpbmUgQ0wxX0NBVF8wKHQxLCB0MikgICAgICAgdDEjI3QyCisKKyNkZWZpbmUgTlZSQU1fU0VUX0lEWChzRVRpRFgpICBzRVRpRFgKKyNkZWZpbmUgTlZSQU1fSVRFTV9SRl9DVVNUX0RFRkFVTFRfUFJFKG5BTUUsIGFGRklYKSAgICAgQ0wxRF9SRl8jI25BTUUjI18jI2FGRklYIyNfCisjZGVmaW5lIE5WUkFNX0lURU1fTUlQSV9ERUZBVUxUX1BSRShuQU1FLCBhRkZJWCkgICAgICAgIEMyS18jI2FGRklYIyNfIyNuQU1FIyNfCisKKyNkZWZpbmUgTlZSQU1fSVRFTV9SRl9DVVNUX0RFRkFVTFQobkFNRSwgYUZGSVgsIHNFVGlEWCkgQ0wxX0NBVF8oTlZSQU1fSVRFTV9SRl9DVVNUX0RFRkFVTFRfUFJFKG5BTUUsIGFGRklYKSwgTlZSQU1fU0VUX0lEWChzRVRpRFgpKQorI2RlZmluZSBOVlJBTV9JVEVNX01JUElfREVGQVVMVChuQU1FLCBhRkZJWCwgc0VUaURYKSAgICBDTDFfQ0FUXyhOVlJBTV9JVEVNX01JUElfREVGQVVMVF9QUkUobkFNRSwgYUZGSVgpLCBOVlJBTV9TRVRfSURYKHNFVGlEWCkpCisjZGVmaW5lIE5WUkFNX0lURU1fUkZfQ0FMX0RFRkFVTFQobkFNRSwgYUZGSVgsIHNFVGlEWCkgIENMMV9DQVRfKE5WUkFNX0lURU1fUkZfQ1VTVF9ERUZBVUxUX1BSRShuQU1FLCBhRkZJWCksIE5WUkFNX1NFVF9JRFgoc0VUaURYKSkKKyNkZWZpbmUgTlZSQU1fSVRFTV9SRl9QT0NfREVGQVVMVChuQU1FLCBhRkZJWCwgc0VUaURYKSAgQ0wxX0NBVF8oTlZSQU1fSVRFTV9SRl9DVVNUX0RFRkFVTFRfUFJFKG5BTUUsIGFGRklYKSwgTlZSQU1fU0VUX0lEWChzRVRpRFgpKQorI2RlZmluZSBOVlJBTV9JVEVNX1JGX1RBU19ERUZBVUxUKG5BTUUsIGFGRklYLCBzRVRpRFgpCUNMMV9DQVRfKE5WUkFNX0lURU1fUkZfQ1VTVF9ERUZBVUxUX1BSRShuQU1FLCBhRkZJWCksIE5WUkFNX1NFVF9JRFgoc0VUaURYKSkKKyNkZWZpbmUgTlZSQU1fSVRFTV9SRl9FTE5BX0RFRkFVTFQobkFNRSwgYUZGSVgsIHNFVGlEWCkJQ0wxX0NBVF8oTlZSQU1fSVRFTV9SRl9DVVNUX0RFRkFVTFRfUFJFKG5BTUUsIGFGRklYKSwgTlZSQU1fU0VUX0lEWChzRVRpRFgpKQorI2RlZmluZSBOVlJBTV9JVEVNX1JGX1RYX1BPV0VSX0RFRkFVTFQobkFNRSwgYUZGSVgsIHNFVGlEWCkJQ0wxX0NBVF8oTlZSQU1fSVRFTV9SRl9DVVNUX0RFRkFVTFRfUFJFKG5BTUUsIGFGRklYKSwgTlZSQU1fU0VUX0lEWChzRVRpRFgpKQorI2RlZmluZSBOVlJBTV9JVEVNX1JGX1RBU19UU1RfREVGQVVMVChuQU1FLCBhRkZJWCwgc0VUaURYKSBDTDFfQ0FUXyhOVlJBTV9JVEVNX1JGX0NVU1RfREVGQVVMVF9QUkUobkFNRSwgYUZGSVgpLCBOVlJBTV9TRVRfSURYKHNFVGlEWCkpCisKKworCisjZGVmaW5lIENMMURfUkZfQ1VTVF9QQVJBTV9ERUZJTkUoc0VUaURYKSAgICAgICAgICAgICAgIFJGX0NVU1RfQ1VTVE9NX0RBVEEoc0VUaURYKQorI2RlZmluZSBDTDFEX1JGX0NVU1RfQlBJX0NGR19ERUZJTkUoYkFORCwgc0VUaURYKSAgICAgICBSRl9DVVNUX0JQSV9DRkcoYkFORCwgc0VUaURYKQorI2RlZmluZSBDTDFEX1JGX01JUElfUEFSQU1fREVGSU5FKHNFVGlEWCkgICAgICAgICAgICAgICBSRl9DVVNUX01JUElfUEFSQU0oc0VUaURYKQorLyoqKiBUQVMgKioqLworLypDMktfQ1VTVE9NX1RBU19GRUFUVVJFX0JZX1JBVF9UKi8vL0NvbnRyb2wgdGFzLgorI2RlZmluZSBDTDFEX1JGX1RBU19CWV9SQVRfREFUQV9ERUZJTkUoc0VUaURYKQkJCQkJUkZfQ1VTVF9UQVNfQllfUkFUX0RBVEEoc0VUaURYKQorLypDMktfQ1VTVE9NX1RBU19GRV9ST1VURV9EQVRBQkFTRV9UKi8vL1F1ZXJ5IHRhcyBicGkvbWlwaSBkZXRhaWwgc2V0dGluZyBieSByZl9iYW5kIGFuZCBzdGF0ZS4KKyNkZWZpbmUgQ0wxRF9SRl9UQVNfQ09ORklHVVJFX0RFRklORShzRVRpRFgpCQkJCQlDMktfU0JfVEFTX0NPTkZJR1VSRShzRVRpRFgpCisvKkMyS19UVU5FUl9GRV9ST1VURV9UQUJMRSovLy8gUXVlcnkgdHVubmVyIGJwaS9taXBpIGRldGFpbCBzZXR0aW5nLgorI2RlZmluZSBDTDFEX1JGX1RBU19UVU5ORVJfQ09ORklHVVJFX0RFRklORShzRVRpRFgpCQkJQzJLX0NVU1RPTV9UVU5FUl9DT05GSUdVUkUoc0VUaURYKQorLypDMktfVVRBU19BTEdPUklUSE1fUEFSQU1FVEVSKi8KKyNkZWZpbmUgQ0wxRF9SRl9VVEFTX0FMR09SSVRITV9QQVJBTUVURVJfREVGSU5FKHNFVGlEWCkgICAgUkZfQ1VTVF9VVEFTX0FMR09SSVRITV9QQVJBTUVURVIoc0VUaURYKQorLyoqKiBUQVMgVFNUICoqKi8KKyNkZWZpbmUgQ0wxRF9SRl9UQVNfVFNUX0NPTkZJR19ERUZJTkUoc0VUaURYKQkJCQkJUkZfQ1VTVF9UQVNfVFNUX0NPTkZJRyhzRVRpRFgpCisvKkVMTkEqLworI2RlZmluZSBDTDFEX1JGX0VMTkFfQ09ORklHX0RFRklORShzRVRpRFgpCQkJCQkJUkZfQ1VTVF9FTE5BX0NGRyhzRVRpRFgpCisKKy8qREFUKi8KKyNkZWZpbmUgQ0wxRF9SRl9EQVRfRkVfUk9VVEVfREFUQUJBU0VfREVGSU5FKHNFVGlEWCkJCQlDMktfREFUX0ZFX1JPVVRFX0RBVEFCQVNFKHNFVGlEWCkKKyNkZWZpbmUgIENMMURfUkZfVURBVF9BTlRfVFVORVJfUk9VVEVfREFUQUJBU0VfREVGSU5FKHNFVGlEWCkgICBDMktfUkZfREFUX0FOVF9UVU5FUl9ST1VURV9EQVRBQkFTRShzRVRpRFgpCisKKyNpZiBJU19DMktfSU5ESUNBVElPTl9GT1JfQVBfQ0xPQ0tfSE9QUElOR19TVVBQT1JUCisjZGVmaW5lIENMMURfUkZfQ1VTVF9SRl9IT1BQSU5HX0RFRklORShzRVRpRFgpICAgICAgUkZfQ1VTVF9IT1BQSU5HX0RBVEEoc0VUaURYKQorI2VuZGlmCisjaWYgMAorLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworLyogdW5kZXIgY29uc3RydWN0aW9uICEqLworI2VuZGlmCisKKworI2VuZGlmIC8qIF9DTDFfRFJESV9IXyAqLworCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9yZmQvZXh0ZXJuYWwvY29tbS9yZl9jdXN0b20vY2wxX2RyZGlfZGVmcy5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvcmZkL2V4dGVybmFsL2NvbW0vcmZfY3VzdG9tL2NsMV9kcmRpX2RlZnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOTdmM2ExCi0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvcmZkL2V4dGVybmFsL2NvbW0vcmZfY3VzdG9tL2NsMV9kcmRpX2RlZnMuaApAQCAtMCwwICsxLDkyNyBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBDb3B5cmlnaHQgU3RhdGVtZW50OgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgcHJvdGVjdGVkIGJ5IENvcHlyaWdodCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZiBkZWZpbmVkKF9fTUQ5N19fKSB8fCBkZWZpbmVkKF9fTUQ5N1BfXykKKyNpZmRlZiBEUkRJX0RFRl9JTkNMVURFX0ZJTEUvKlNldERlZmF1bHQgYWx3YXlzIGV4aXN0ICovCisgICAgI2luY2x1ZGUgIkRSREkvU2V0MC9jMmtfY3VzdG9tX3JmLmgiCisJI2luY2x1ZGUgImMya19jdXN0b21fY2FsX2RhdGEuYyIKKyAgICAjaW5jbHVkZSAiRFJESS9TZXQwL2Mya19jdXN0b21fcmYuYyIKKworCS8qRFBEIGN1c3RvbSBmaWxlKi8KKwkjaW5jbHVkZSAiRFJESS9TZXQwL2Mya19jdXN0b21fcmZfZHBkLmgiCisJI2luY2x1ZGUgIkRSREkvU2V0MC9jMmtfY3VzdG9tX3JmX2RwZC5jIgorCisgICAgLypUQVMgY3VzdG9tIGZpbGUqLworICAgICNpbmNsdWRlICJEUkRJL1NldDAvYzJrX2N1c3RvbV9yZl90YXMuaCIKKyAgICAjaW5jbHVkZSAiRFJESS9TZXQwL2Mya19jdXN0b21fcmZfdGFzLmMiCisKKyAgICAvKkRBVCBjdXN0b20gZmlsZSovCisgICAgI2luY2x1ZGUgIkRSREkvU2V0MC9jMmtfY3VzdG9tX3JmX2RhdC5oIgorICAgICNpbmNsdWRlICJEUkRJL1NldDAvYzJrX2N1c3RvbV9yZl9kYXQuYyIKKworICAgIC8qT1BQTyBjb21tb24gU0FSKi8KKyAgICAjaW5jbHVkZSAiYzJrX2N1c3RvbV9yZl9TQVJfZXh0ZW5kLmMiCisjZW5kaWYgLyogRFJESV9ERUZfSU5DTFVERV9GSUxFICovCisKKyNpZmRlZiBEUkRJX0RFRl9WQVJfREVDTEFSRQorI3VuZGVmIE5WUkFNX0lURU1fUkZfQ1VTVAorI3VuZGVmIE5WUkFNX0lURU1fTUlQSQorI3VuZGVmIE5WUkFNX0lURU1fUkZfQ0FMCisjdW5kZWYgTlZSQU1fSVRFTV9SRl9QT0MKKyN1bmRlZiBOVlJBTV9JVEVNX1JGX1RBU19WQVIKKyN1bmRlZiBOVlJBTV9JVEVNX1JGX1RBU19BUlJBWQorI3VuZGVmIE5WUkFNX0lURU1fRUxOQV9WQVIKKyN1bmRlZiBOVlJBTV9JVEVNX0VMTkFfQVJSQVkKKyN1bmRlZiBOVlJBTV9JVEVNX1RYX1BPV0VSX1ZBUgorI3VuZGVmIE5WUkFNX0lURU1fUkZfVEFTX1RTVAorI2RlZmluZSBOVlJBTV9JVEVNX1JGX0NVU1QobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgIGV4dGVybiBjb25zdCBDTDFEX1JGXyMjdFlQRSBOVlJBTV9JVEVNX1JGX0NVU1RfREVGQVVMVChuQU1FLCBhRkZJWCwgU2V0MCk7CisjZGVmaW5lIE5WUkFNX0lURU1fTUlQSShuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisgICAgZXh0ZXJuIGNvbnN0IENMMURfUkZfIyN0WVBFIE5WUkFNX0lURU1fTUlQSV9ERUZBVUxUKG5BTUUsIGFGRklYLCBTZXQwKVtdOworI2RlZmluZSBOVlJBTV9JVEVNX1JGX0NBTChuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisgICAgZXh0ZXJuIGNvbnN0IENMMURfUkZfIyN0WVBFIE5WUkFNX0lURU1fUkZfQ0FMX0RFRkFVTFQobkFNRSwgYUZGSVgsIERlZmF1bHQpOworI2RlZmluZSBOVlJBTV9JVEVNX1JGX1BPQyhuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKQorI2RlZmluZSBOVlJBTV9JVEVNX1JGX1RBU19WQVIobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgIGV4dGVybiBjb25zdCBDTDFEX1JGXyMjdFlQRSBOVlJBTV9JVEVNX1JGX1RBU19ERUZBVUxUKG5BTUUsIGFGRklYLCBTZXQwKTsKKyNkZWZpbmUgTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgIGV4dGVybiBjb25zdCBDTDFEX1JGXyMjdFlQRSBOVlJBTV9JVEVNX1JGX1RBU19ERUZBVUxUKG5BTUUsIGFGRklYLCBTZXQwKVtdOworI2RlZmluZSBOVlJBTV9JVEVNX0VMTkFfVkFSKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpIFwKKyAgICBleHRlcm4gY29uc3QgQ0wxRF9SRl8jI3RZUEUgTlZSQU1fSVRFTV9SRl9FTE5BX0RFRkFVTFQobkFNRSwgYUZGSVgsIFNldDApOworI2RlZmluZSBOVlJBTV9JVEVNX0VMTkFfQVJSQVkobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgIGV4dGVybiBjb25zdCBDTDFEX1JGXyMjdFlQRSBOVlJBTV9JVEVNX1JGX0VMTkFfREVGQVVMVChuQU1FLCBhRkZJWCwgU2V0MClbXTsKKy8qVFggUE9XRVIgKi8KKyNkZWZpbmUgTlZSQU1fSVRFTV9UWF9QT1dFUl9WQVIobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgIGV4dGVybiBjb25zdCBDTDFEX1JGXyMjdFlQRSBOVlJBTV9JVEVNX1JGX1RYX1BPV0VSX0RFRkFVTFQobkFNRSwgYUZGSVgsIFNldDApOworLypUQVMgVFNUICovCisjZGVmaW5lIE5WUkFNX0lURU1fUkZfVEFTX1RTVChuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisgICAgZXh0ZXJuIGNvbnN0IENMMURfUkZfIyN0WVBFIE5WUkFNX0lURU1fUkZfVEFTX1RTVF9ERUZBVUxUKG5BTUUsIGFGRklYLCBTZXQwKTsKKyNpbmNsdWRlICJjbDFfbnZyYW1faWQuaCIKKyNlbmRpZiAvKiBEUkRJX0RFRl9WQVJfREVDTEFSRSAqLworCisjaWZkZWYgRFJESV9ERUZfVkFSX0RFRklORQorICAgIENMMURfUkZfQ1VTVF9QQVJBTV9ERUZJTkUoU2V0MCk7CisgICAgQ0wxRF9SRl9UQVNfQllfUkFUX0RBVEFfREVGSU5FKFNldDApOworCUNMMURfUkZfVVRBU19BTEdPUklUSE1fUEFSQU1FVEVSX0RFRklORShTZXQwKTsKKworI2lmIElTX0MyS19JTkRJQ0FUSU9OX0ZPUl9BUF9DTE9DS19IT1BQSU5HX1NVUFBPUlQKKyAgICBDTDFEX1JGX0NVU1RfUkZfSE9QUElOR19ERUZJTkUoU2V0MCk7CisjZW5kaWYKKwkKKyNlbmRpZiAvKiBEUkRJX0RFRl9WQVJfREVGSU5FICovCisKKyNpZmRlZiBEUkRJX0RFRl9TRVRfUFRSX0FSUkFZCisjdW5kZWYgTlZSQU1fSVRFTV9SRl9DVVNUCisjdW5kZWYgTlZSQU1fSVRFTV9NSVBJCisjdW5kZWYgTlZSQU1fSVRFTV9SRl9DQUwKKyN1bmRlZiBOVlJBTV9JVEVNX1JGX1BPQworI3VuZGVmIE5WUkFNX0lURU1fUkZfVEFTX1ZBUgorI3VuZGVmIE5WUkFNX0lURU1fUkZfVEFTX0FSUkFZCisjdW5kZWYgTlZSQU1fSVRFTV9FTE5BX1ZBUgorI3VuZGVmIE5WUkFNX0lURU1fRUxOQV9BUlJBWQorI3VuZGVmIE5WUkFNX0lURU1fVFhfUE9XRVJfVkFSCisjdW5kZWYgTlZSQU1fSVRFTV9SRl9UQVNfVFNUCisjZGVmaW5lIE5WUkFNX0lURU1fUkZfQ1VTVChuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisgICAgKHZvaWQqKSZOVlJBTV9JVEVNX1JGX0NVU1RfREVGQVVMVChuQU1FLCBhRkZJWCwgU2V0MCksCisjZGVmaW5lIE5WUkFNX0lURU1fTUlQSShuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisgICAgKHZvaWQqKU5WUkFNX0lURU1fTUlQSV9ERUZBVUxUKG5BTUUsIGFGRklYLCBTZXQwKSwKKyNkZWZpbmUgTlZSQU1fSVRFTV9SRl9DQUwobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgICh2b2lkKikmTlZSQU1fSVRFTV9SRl9DQUxfREVGQVVMVChuQU1FLCBhRkZJWCwgRGVmYXVsdCksCisjZGVmaW5lIE5WUkFNX0lURU1fUkZfUE9DKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpIFwKKyAgICAodm9pZCopJk5WUkFNX0lURU1fUkZfUE9DX0RFRkFVTFQobkFNRSwgYUZGSVgsIERlZmF1bHQpLAorI2RlZmluZSBOVlJBTV9JVEVNX1JGX1RBU19WQVIobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgICh2b2lkKikmTlZSQU1fSVRFTV9SRl9UQVNfREVGQVVMVChuQU1FLCBhRkZJWCwgU2V0MCksCisjZGVmaW5lIE5WUkFNX0lURU1fUkZfVEFTX0FSUkFZKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpIFwKKyAgICAodm9pZCopTlZSQU1fSVRFTV9SRl9UQVNfREVGQVVMVChuQU1FLCBhRkZJWCwgU2V0MCksCisjZGVmaW5lIE5WUkFNX0lURU1fRUxOQV9WQVIobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgICh2b2lkKikmTlZSQU1fSVRFTV9SRl9FTE5BX0RFRkFVTFQobkFNRSwgYUZGSVgsIFNldDApLAorI2RlZmluZSBOVlJBTV9JVEVNX0VMTkFfQVJSQVkobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgICh2b2lkKilOVlJBTV9JVEVNX1JGX0VMTkFfREVGQVVMVChuQU1FLCBhRkZJWCwgU2V0MCksCisjZGVmaW5lIE5WUkFNX0lURU1fVFhfUE9XRVJfVkFSKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpIFwKKyAgICAodm9pZCopJk5WUkFNX0lURU1fUkZfVFhfUE9XRVJfREVGQVVMVChuQU1FLCBhRkZJWCwgU2V0MCksCisjZGVmaW5lIE5WUkFNX0lURU1fUkZfVEFTX1RTVChuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisgICAgKHZvaWQqKSZOVlJBTV9JVEVNX1JGX1RBU19UU1RfREVGQVVMVChuQU1FLCBhRkZJWCwgU2V0MCksCit7CisgICAgI2luY2x1ZGUgImNsMV9udnJhbV9pZC5oIgorfSwKKyNlbmRpZiAvKiBEUkRJX0RFRl9TRVRfUFRSX0FSUkFZICovCisjaWZkZWYgRFJESV9ERUZfVkFSX0RFQ0xBUkUKKyN1bmRlZiBOVlJBTV9JVEVNX1JGX0NVU1QKKyN1bmRlZiBOVlJBTV9JVEVNX01JUEkKKyN1bmRlZiBOVlJBTV9JVEVNX1JGX0NBTAorI3VuZGVmIE5WUkFNX0lURU1fUkZfUE9DCisjdW5kZWYgTlZSQU1fSVRFTV9SRl9UQVNfVkFSCisjdW5kZWYgTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkKKyN1bmRlZiBOVlJBTV9JVEVNX0VMTkFfVkFSCisjdW5kZWYgTlZSQU1fSVRFTV9UWF9QT1dFUl9WQVIKKyN1bmRlZiBOVlJBTV9JVEVNX1JGX1RBU19UU1QKKyNkZWZpbmUgTlZSQU1fSVRFTV9SRl9DVVNUKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpCisjZGVmaW5lIE5WUkFNX0lURU1fTUlQSShuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKQorI2RlZmluZSBOVlJBTV9JVEVNX1JGX0NBTChuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKQorI2RlZmluZSBOVlJBTV9JVEVNX1JGX1BPQyhuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisgICAgZXh0ZXJuIENMMURfUkZfIyN0WVBFIE5WUkFNX0lURU1fUkZfUE9DX0RFRkFVTFQobkFNRSwgYUZGSVgsIERlZmF1bHQpOworI2RlZmluZSBOVlJBTV9JVEVNX1JGX1RBU19WQVIobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykKKyNkZWZpbmUgTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykKKyNkZWZpbmUgTlZSQU1fSVRFTV9FTE5BX1ZBUihuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKQorI2RlZmluZSBOVlJBTV9JVEVNX1RYX1BPV0VSX1ZBUihuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKQorI2RlZmluZSBOVlJBTV9JVEVNX1JGX1RBU19UU1QobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykKKyNpbmNsdWRlICJjbDFfbnZyYW1faWQuaCIKKyNlbmRpZgorI2lmZGVmIERSRElfREVGX1ZBUl9ERUZJTkUKKyN1bmRlZiBOVlJBTV9JVEVNX1JGX0NVU1QKKyN1bmRlZiBOVlJBTV9JVEVNX01JUEkKKyN1bmRlZiBOVlJBTV9JVEVNX1JGX0NBTAorI3VuZGVmIE5WUkFNX0lURU1fUkZfUE9DCisjdW5kZWYgTlZSQU1fSVRFTV9SRl9UQVNfVkFSCisjdW5kZWYgTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkKKyN1bmRlZiBOVlJBTV9JVEVNX0VMTkFfVkFSCisjdW5kZWYgTlZSQU1fSVRFTV9UWF9QT1dFUl9WQVIKKyN1bmRlZiBOVlJBTV9JVEVNX1JGX1RBU19UU1QKKyNkZWZpbmUgTlZSQU1fSVRFTV9SRl9DVVNUKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpCisjZGVmaW5lIE5WUkFNX0lURU1fTUlQSShuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKQorI2RlZmluZSBOVlJBTV9JVEVNX1JGX0NBTChuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKQorI2RlZmluZSBOVlJBTV9JVEVNX1JGX1BPQyhuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisgICAgQ0wxRF9SRl8jI3RZUEUgTlZSQU1fSVRFTV9SRl9QT0NfREVGQVVMVChuQU1FLCBhRkZJWCwgRGVmYXVsdCk7CisjZGVmaW5lIE5WUkFNX0lURU1fUkZfVEFTX1ZBUihuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKQorI2RlZmluZSBOVlJBTV9JVEVNX1JGX1RBU19BUlJBWShuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKQorI2RlZmluZSBOVlJBTV9JVEVNX0VMTkFfVkFSKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpCisjZGVmaW5lIE5WUkFNX0lURU1fVFhfUE9XRVJfVkFSKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpCisjZGVmaW5lIE5WUkFNX0lURU1fUkZfVEFTX1RTVChuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKQorI2luY2x1ZGUgImNsMV9udnJhbV9pZC5oIgorI2VuZGlmCisKKyNlbmRpZgorCisjaWYgZGVmaW5lZChfX01EOTVfXykKKyNpZmRlZiBEUkRJX0RFRl9JTkNMVURFX0ZJTEUvKlNldERlZmF1bHQgYWx3YXlzIGV4aXN0ICovCisgICAgI2luY2x1ZGUgIkRSREkvU2V0MC9jMmtfY3VzdG9tX3JmLmgiCisgICAgI2luY2x1ZGUgIkRSREkvU2V0MC9jMmtfY3VzdG9tX3JmLmMiCisgICAgI2luY2x1ZGUgIkRSREkvU2V0MC9jMmtfY3VzdG9tX21pcGkuaCIKKyAgICAjaW5jbHVkZSAiRFJESS9TZXQwL2Mya19jdXN0b21fbWlwaS5jIgorICAgICNpbmNsdWRlICJEUkRJL1NldDAvYzJrX2N1c3RvbV9ldG0uaCIKKyAgICAjaW5jbHVkZSAiRFJESS9TZXQwL2Mya19jdXN0b21fZXRtLmMiCisJLypUQVMgY3VzdG9tIGZpbGUqLworCSNpZiAoX0MyS19VVEFTX1NVUFBPUlRfKSB8fCAoX19NRDk1X18pCisJCSNpbmNsdWRlICJEUkRJL1NldDAvYzJrX2N1c3RvbV9yZl9hbnQuaCIKKwkJI2luY2x1ZGUgIkRSREkvU2V0MC9jMmtfY3VzdG9tX3JmX2FudC5jIgorCQkvKnJlbW92ZSBfX01EOTdfXyB3aGVuIEdFTiA5NyBjdXN0b20gZmlsZSByZWFkeSAqLworCSNlbGlmIChfQzJLX1RBU19TVVBQT1JUXykgfHwgKF9fTUQ5N19fKSB8fCAoX19NRDk3UF9fKQorICAgICAgICAjaWZkZWYgTDFfU0lNCisgICAgICAgICNpbmNsdWRlICJEUkRJL1NldDAvYzJrX2N1c3RvbV9yZl9hbnQuaCIKKwkJI2luY2x1ZGUgIkRSREkvU2V0MC9jMmtfY3VzdG9tX3JmX2FudC5jIgorICAgICAgICAjZWxzZQorCQkjaW5jbHVkZSAiRFJESS9TZXQwL2Mya19jdXN0b21fcmZfdGFzLmgiCisJCSNpbmNsdWRlICJEUkRJL1NldDAvYzJrX2N1c3RvbV9yZl90YXMuYyIKKwkJI2luY2x1ZGUgIkRSREkvU2V0MC9jMmtfY3VzdG9tX3JmX3R1bmVyLmgiCisJCSNpbmNsdWRlICJEUkRJL1NldDAvYzJrX2N1c3RvbV9yZl90dW5lci5jIgorICAgICAgICAjZW5kaWYKKwkjZW5kaWYKKwkjaW5jbHVkZSAiRFJESS9TZXQwL2Mya19jdXN0b21fcmZfdGFzX3RzdC5oIgorCisJI2lmIChJU19DMktfREFUX1JGRF9DVFJMX0VOKXx8KElTX0MyS19VREFUX1NVUFBPUlQpCisJLypEQVQgY3VzdG9tIGZpbGUqLworCSNpbmNsdWRlICJEUkRJL1NldDAvYzJrX2N1c3RvbV9yZl9kYXQuaCIKKwkjaW5jbHVkZSAiRFJESS9TZXQwL2Mya19jdXN0b21fcmZfZGF0LmMiCisJI2VuZGlmCisJLypEUEQgY3VzdG9tIGZpbGUqLworCSNpbmNsdWRlICJEUkRJL1NldDAvYzJrX2N1c3RvbV9yZl9kcGQuaCIKKwkjaW5jbHVkZSAiRFJESS9TZXQwL2Mya19jdXN0b21fcmZfZHBkLmMiCisjZW5kaWYgLyogRFJESV9ERUZfSU5DTFVERV9GSUxFICovCisKKyNpZmRlZiBEUkRJX0RFRl9WQVJfREVDTEFSRQorI3VuZGVmIE5WUkFNX0lURU1fUkZfQ1VTVAorI3VuZGVmIE5WUkFNX0lURU1fTUlQSQorI3VuZGVmIE5WUkFNX0lURU1fUkZfQ0FMCisjdW5kZWYgTlZSQU1fSVRFTV9SRl9QT0MKKyN1bmRlZiBOVlJBTV9JVEVNX1JGX1RBU19WQVIKKyN1bmRlZiBOVlJBTV9JVEVNX1JGX1RBU19BUlJBWQorI3VuZGVmIE5WUkFNX0lURU1fRUxOQV9WQVIKKyN1bmRlZiBOVlJBTV9JVEVNX0VMTkFfQVJSQVkKKyN1bmRlZiBOVlJBTV9JVEVNX1RYX1BPV0VSX1ZBUgorI3VuZGVmIE5WUkFNX0lURU1fUkZfVEFTX1RTVAorI2RlZmluZSBOVlJBTV9JVEVNX1JGX0NVU1QobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgIGV4dGVybiBjb25zdCBDTDFEX1JGXyMjdFlQRSBOVlJBTV9JVEVNX1JGX0NVU1RfREVGQVVMVChuQU1FLCBhRkZJWCwgU2V0MCk7CisjZGVmaW5lIE5WUkFNX0lURU1fTUlQSShuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisgICAgZXh0ZXJuIGNvbnN0IENMMURfUkZfIyN0WVBFIE5WUkFNX0lURU1fTUlQSV9ERUZBVUxUKG5BTUUsIGFGRklYLCBTZXQwKVtdOworI2RlZmluZSBOVlJBTV9JVEVNX1JGX0NBTChuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisgICAgZXh0ZXJuIGNvbnN0IENMMURfUkZfIyN0WVBFIE5WUkFNX0lURU1fUkZfQ0FMX0RFRkFVTFQobkFNRSwgYUZGSVgsIFNldDApOworI2RlZmluZSBOVlJBTV9JVEVNX1JGX1BPQyhuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKQorI2RlZmluZSBOVlJBTV9JVEVNX1JGX1RBU19WQVIobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgIGV4dGVybiBjb25zdCBDTDFEX1JGXyMjdFlQRSBOVlJBTV9JVEVNX1JGX1RBU19ERUZBVUxUKG5BTUUsIGFGRklYLCBTZXQwKTsKKyNkZWZpbmUgTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgIGV4dGVybiBjb25zdCBDTDFEX1JGXyMjdFlQRSBOVlJBTV9JVEVNX1JGX1RBU19ERUZBVUxUKG5BTUUsIGFGRklYLCBTZXQwKVtdOworI2RlZmluZSBOVlJBTV9JVEVNX0VMTkFfVkFSKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpIFwKKyAgICBleHRlcm4gY29uc3QgQ0wxRF9SRl8jI3RZUEUgTlZSQU1fSVRFTV9SRl9FTE5BX0RFRkFVTFQobkFNRSwgYUZGSVgsIFNldDApOworI2RlZmluZSBOVlJBTV9JVEVNX0VMTkFfQVJSQVkobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgIGV4dGVybiBjb25zdCBDTDFEX1JGXyMjdFlQRSBOVlJBTV9JVEVNX1JGX0VMTkFfREVGQVVMVChuQU1FLCBhRkZJWCwgU2V0MClbXTsKKy8qVFggUE9XRVIgKi8KKyNkZWZpbmUgTlZSQU1fSVRFTV9UWF9QT1dFUl9WQVIobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgIGV4dGVybiBjb25zdCBDTDFEX1JGXyMjdFlQRSBOVlJBTV9JVEVNX1JGX1RYX1BPV0VSX0RFRkFVTFQobkFNRSwgYUZGSVgsIFNldDApOworLypUQVMgVFNUICovCisjZGVmaW5lIE5WUkFNX0lURU1fUkZfVEFTX1RTVChuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisgICAgZXh0ZXJuIGNvbnN0IENMMURfUkZfIyN0WVBFIE5WUkFNX0lURU1fUkZfVEFTX1RTVF9ERUZBVUxUKG5BTUUsIGFGRklYLCBTZXQwKTsKKyNpbmNsdWRlICJjbDFfbnZyYW1faWQuaCIKKyNlbmRpZiAvKiBEUkRJX0RFRl9WQVJfREVDTEFSRSAqLworCisjaWZkZWYgRFJESV9ERUZfVkFSX0RFRklORQorICAgIENMMURfUkZfQ1VTVF9QQVJBTV9ERUZJTkUoU2V0MCk7CisgICAgQ0wxRF9SRl9DVVNUX0JQSV9DRkdfREVGSU5FKEJBTkRfQSwgU2V0MCk7CisgICAgQ0wxRF9SRl9DVVNUX0JQSV9DRkdfREVGSU5FKEJBTkRfQiwgU2V0MCk7CisgICAgQ0wxRF9SRl9DVVNUX0JQSV9DRkdfREVGSU5FKEJBTkRfQywgU2V0MCk7CisgICAgQ0wxRF9SRl9DVVNUX0JQSV9DRkdfREVGSU5FKEJBTkRfRCwgU2V0MCk7CisgICAgQ0wxRF9SRl9DVVNUX0JQSV9DRkdfREVGSU5FKEJBTkRfRSwgU2V0MCk7CisgICAgQ0wxRF9SRl9NSVBJX1BBUkFNX0RFRklORShTZXQwKTsKKwkvKioqVEFTIG1hY3JvIHZhciBkZWZpbmUqKiovCisJCisJQ0wxRF9SRl9UQVNfQllfUkFUX0RBVEFfREVGSU5FKFNldDApOworI2lmZGVmIF9fTUQ5NV9fCisgICAgQ0wxRF9SRl9VVEFTX0FMR09SSVRITV9QQVJBTUVURVJfREVGSU5FKFNldDApOworI2VuZGlmCisjaWYgZGVmaW5lZChfX01EOTNfXykKKwlDTDFEX1JGX1RBU19DT05GSUdVUkVfREVGSU5FKFNldDApOworCUNMMURfUkZfVEFTX1RVTk5FUl9DT05GSUdVUkVfREVGSU5FKFNldDApOworCS8qVEFTIFRTVCBtYWNybyBkZWZpbmUgKi8KKyNlbmRpZgorCUNMMURfUkZfVEFTX1RTVF9DT05GSUdfREVGSU5FKFNldDApOworCisJLypFTE5BKi8KKwlDTDFEX1JGX0VMTkFfQ09ORklHX0RFRklORShTZXQwKTsKKwkjaWYgSVNfQzJLX0RBVF9SRkRfQ1RSTF9FTgorCS8qREFUKi8KKwlDTDFEX1JGX0RBVF9GRV9ST1VURV9EQVRBQkFTRV9ERUZJTkUoU2V0MCk7CisJI2VuZGlmCisJI2lmIElTX0MyS19VREFUX1NVUFBPUlQKKwlDTDFEX1JGX1VEQVRfQU5UX1RVTkVSX1JPVVRFX0RBVEFCQVNFX0RFRklORShTZXQwKTsKKwkjZW5kaWYKKyNlbmRpZiAvKiBEUkRJX0RFRl9WQVJfREVGSU5FICovCisKKyNpZmRlZiBEUkRJX0RFRl9TRVRfUFRSX0FSUkFZCisjdW5kZWYgTlZSQU1fSVRFTV9SRl9DVVNUCisjdW5kZWYgTlZSQU1fSVRFTV9NSVBJCisjdW5kZWYgTlZSQU1fSVRFTV9SRl9DQUwKKyN1bmRlZiBOVlJBTV9JVEVNX1JGX1BPQworI3VuZGVmIE5WUkFNX0lURU1fUkZfVEFTX1ZBUgorI3VuZGVmIE5WUkFNX0lURU1fUkZfVEFTX0FSUkFZCisjdW5kZWYgTlZSQU1fSVRFTV9FTE5BX1ZBUgorI3VuZGVmIE5WUkFNX0lURU1fRUxOQV9BUlJBWQorI3VuZGVmIE5WUkFNX0lURU1fVFhfUE9XRVJfVkFSCisjdW5kZWYgTlZSQU1fSVRFTV9SRl9UQVNfVFNUCisjZGVmaW5lIE5WUkFNX0lURU1fUkZfQ1VTVChuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisgICAgKHZvaWQqKSZOVlJBTV9JVEVNX1JGX0NVU1RfREVGQVVMVChuQU1FLCBhRkZJWCwgU2V0MCksCisjZGVmaW5lIE5WUkFNX0lURU1fTUlQSShuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisgICAgKHZvaWQqKU5WUkFNX0lURU1fTUlQSV9ERUZBVUxUKG5BTUUsIGFGRklYLCBTZXQwKSwKKyNkZWZpbmUgTlZSQU1fSVRFTV9SRl9DQUwobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgICh2b2lkKikmTlZSQU1fSVRFTV9SRl9DQUxfREVGQVVMVChuQU1FLCBhRkZJWCwgU2V0MCksCisjZGVmaW5lIE5WUkFNX0lURU1fUkZfUE9DKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpIFwKKyAgICAodm9pZCopJk5WUkFNX0lURU1fUkZfUE9DX0RFRkFVTFQobkFNRSwgYUZGSVgsIERlZmF1bHQpLAorI2RlZmluZSBOVlJBTV9JVEVNX1JGX1RBU19WQVIobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgICh2b2lkKikmTlZSQU1fSVRFTV9SRl9UQVNfREVGQVVMVChuQU1FLCBhRkZJWCwgU2V0MCksCisjZGVmaW5lIE5WUkFNX0lURU1fUkZfVEFTX0FSUkFZKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpIFwKKyAgICAodm9pZCopTlZSQU1fSVRFTV9SRl9UQVNfREVGQVVMVChuQU1FLCBhRkZJWCwgU2V0MCksCisjZGVmaW5lIE5WUkFNX0lURU1fRUxOQV9WQVIobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgICh2b2lkKikmTlZSQU1fSVRFTV9SRl9FTE5BX0RFRkFVTFQobkFNRSwgYUZGSVgsIFNldDApLAorI2RlZmluZSBOVlJBTV9JVEVNX0VMTkFfQVJSQVkobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgICh2b2lkKilOVlJBTV9JVEVNX1JGX0VMTkFfREVGQVVMVChuQU1FLCBhRkZJWCwgU2V0MCksCisjZGVmaW5lIE5WUkFNX0lURU1fVFhfUE9XRVJfVkFSKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpIFwKKyAgICAodm9pZCopJk5WUkFNX0lURU1fUkZfVFhfUE9XRVJfREVGQVVMVChuQU1FLCBhRkZJWCwgU2V0MCksCisjZGVmaW5lIE5WUkFNX0lURU1fUkZfVEFTX1RTVChuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisgICAgKHZvaWQqKSZOVlJBTV9JVEVNX1JGX1RBU19UU1RfREVGQVVMVChuQU1FLCBhRkZJWCwgU2V0MCksCit7CisgICAgI2luY2x1ZGUgImNsMV9udnJhbV9pZC5oIgorfSwKKyNlbmRpZiAvKiBEUkRJX0RFRl9TRVRfUFRSX0FSUkFZICovCisjaWZkZWYgRFJESV9ERUZfVkFSX0RFQ0xBUkUKKyN1bmRlZiBOVlJBTV9JVEVNX1JGX0NVU1QKKyN1bmRlZiBOVlJBTV9JVEVNX01JUEkKKyN1bmRlZiBOVlJBTV9JVEVNX1JGX0NBTAorI3VuZGVmIE5WUkFNX0lURU1fUkZfUE9DCisjdW5kZWYgTlZSQU1fSVRFTV9SRl9UQVNfVkFSCisjdW5kZWYgTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkKKyN1bmRlZiBOVlJBTV9JVEVNX0VMTkFfVkFSCisjdW5kZWYgTlZSQU1fSVRFTV9UWF9QT1dFUl9WQVIKKyN1bmRlZiBOVlJBTV9JVEVNX1JGX1RBU19UU1QKKyNkZWZpbmUgTlZSQU1fSVRFTV9SRl9DVVNUKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpCisjZGVmaW5lIE5WUkFNX0lURU1fTUlQSShuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKQorI2RlZmluZSBOVlJBTV9JVEVNX1JGX0NBTChuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKQorI2RlZmluZSBOVlJBTV9JVEVNX1JGX1BPQyhuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisgICAgZXh0ZXJuIENMMURfUkZfIyN0WVBFIE5WUkFNX0lURU1fUkZfUE9DX0RFRkFVTFQobkFNRSwgYUZGSVgsIERlZmF1bHQpOworI2RlZmluZSBOVlJBTV9JVEVNX1JGX1RBU19WQVIobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykKKyNkZWZpbmUgTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykKKyNkZWZpbmUgTlZSQU1fSVRFTV9FTE5BX1ZBUihuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKQorI2RlZmluZSBOVlJBTV9JVEVNX1RYX1BPV0VSX1ZBUihuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKQorI2RlZmluZSBOVlJBTV9JVEVNX1JGX1RBU19UU1QobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykKKyNpbmNsdWRlICJjbDFfbnZyYW1faWQuaCIKKyNlbmRpZgorI2lmZGVmIERSRElfREVGX1ZBUl9ERUZJTkUKKyN1bmRlZiBOVlJBTV9JVEVNX1JGX0NVU1QKKyN1bmRlZiBOVlJBTV9JVEVNX01JUEkKKyN1bmRlZiBOVlJBTV9JVEVNX1JGX0NBTAorI3VuZGVmIE5WUkFNX0lURU1fUkZfUE9DCisjdW5kZWYgTlZSQU1fSVRFTV9SRl9UQVNfVkFSCisjdW5kZWYgTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkKKyN1bmRlZiBOVlJBTV9JVEVNX0VMTkFfVkFSCisjdW5kZWYgTlZSQU1fSVRFTV9UWF9QT1dFUl9WQVIKKyN1bmRlZiBOVlJBTV9JVEVNX1JGX1RBU19UU1QKKyNkZWZpbmUgTlZSQU1fSVRFTV9SRl9DVVNUKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpCisjZGVmaW5lIE5WUkFNX0lURU1fTUlQSShuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKQorI2RlZmluZSBOVlJBTV9JVEVNX1JGX0NBTChuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKQorI2RlZmluZSBOVlJBTV9JVEVNX1JGX1BPQyhuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisgICAgQ0wxRF9SRl8jI3RZUEUgTlZSQU1fSVRFTV9SRl9QT0NfREVGQVVMVChuQU1FLCBhRkZJWCwgRGVmYXVsdCk7CisjZGVmaW5lIE5WUkFNX0lURU1fUkZfVEFTX1ZBUihuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKQorI2RlZmluZSBOVlJBTV9JVEVNX1JGX1RBU19BUlJBWShuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKQorI2RlZmluZSBOVlJBTV9JVEVNX0VMTkFfVkFSKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpCisjZGVmaW5lIE5WUkFNX0lURU1fVFhfUE9XRVJfVkFSKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpCisjZGVmaW5lIE5WUkFNX0lURU1fUkZfVEFTX1RTVChuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKQorI2luY2x1ZGUgImNsMV9udnJhbV9pZC5oIgorI2VuZGlmCisKKyNlbmRpZgorCisjaWYgZGVmaW5lZChfX01EOTNfXykKKyNpZmRlZiBEUkRJX0RFRl9JTkNMVURFX0ZJTEUvKlNldERlZmF1bHQgYWx3YXlzIGV4aXN0ICovCisgICAgI2luY2x1ZGUgImMya19jdXN0b21fcmYuaCIKKyAgICAjaW5jbHVkZSAiYzJrX2N1c3RvbV9yZi5jIgorICAgICNpbmNsdWRlICJjMmtfY3VzdG9tX21pcGkuaCIKKyAgICAjaW5jbHVkZSAiYzJrX2N1c3RvbV9taXBpLmMiCisgICAgI2luY2x1ZGUgImMya19jdXN0b21fZXRtLmgiCisgICAgI2luY2x1ZGUgImMya19jdXN0b21fZXRtLmMiCisJLypUQVMgY3VzdG9tIGZpbGUqLworCSNpbmNsdWRlICJjMmtfY3VzdG9tX3JmX3Rhcy5oIgorCSNpbmNsdWRlICJjMmtfY3VzdG9tX3JmX3Rhc190c3QuaCIKKwkjaW5jbHVkZSAiYzJrX2N1c3RvbV9yZl90YXMuYyIKKwkjaW5jbHVkZSAiYzJrX2N1c3RvbV9yZl90dW5lci5oIgorCSNpbmNsdWRlICJjMmtfY3VzdG9tX3JmX3R1bmVyLmMiCisJLypFTE5BIGN1c3RvbSBmaWxlKi8KKwkjaW5jbHVkZSAiYzJrX2N1c3RvbV9lbG5hLmgiCisJI2luY2x1ZGUgImMya19jdXN0b21fZWxuYS5jIgorCSNpZiAoSVNfQzJLX0RBVF9SRkRfQ1RSTF9FTil8fChJU19DMktfVURBVF9TVVBQT1JUKQorCS8qREFUIGN1c3RvbSBmaWxlKi8KKwkjaW5jbHVkZSAiYzJrX2N1c3RvbV9yZl9kYXQuaCIKKwkjaW5jbHVkZSAiYzJrX2N1c3RvbV9yZl9kYXQuYyIKKwkjZW5kaWYKKwkvKkRQRCBjdXN0b20gZmlsZSovCisJI2luY2x1ZGUgImMya19jdXN0b21fcmZfZHBkLmgiCisJI2luY2x1ZGUgImMya19jdXN0b21fcmZfZHBkLmMiCisjZW5kaWYgLyogRFJESV9ERUZfSU5DTFVERV9GSUxFICovCisKKyNpZmRlZiBEUkRJX0RFRl9WQVJfREVDTEFSRQorI3VuZGVmIE5WUkFNX0lURU1fUkZfQ1VTVAorI3VuZGVmIE5WUkFNX0lURU1fTUlQSQorI3VuZGVmIE5WUkFNX0lURU1fUkZfQ0FMCisjdW5kZWYgTlZSQU1fSVRFTV9SRl9QT0MKKyN1bmRlZiBOVlJBTV9JVEVNX1JGX1RBU19WQVIKKyN1bmRlZiBOVlJBTV9JVEVNX1JGX1RBU19BUlJBWQorI3VuZGVmIE5WUkFNX0lURU1fRUxOQV9WQVIKKyN1bmRlZiBOVlJBTV9JVEVNX1RYX1BPV0VSX1ZBUgorI3VuZGVmIE5WUkFNX0lURU1fUkZfVEFTX1RTVAorI2RlZmluZSBOVlJBTV9JVEVNX1JGX0NVU1QobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgIGV4dGVybiBjb25zdCBDTDFEX1JGXyMjdFlQRSBOVlJBTV9JVEVNX1JGX0NVU1RfREVGQVVMVChuQU1FLCBhRkZJWCwgU2V0RGVmYXVsdCk7CisjZGVmaW5lIE5WUkFNX0lURU1fTUlQSShuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisgICAgZXh0ZXJuIGNvbnN0IENMMURfUkZfIyN0WVBFIE5WUkFNX0lURU1fTUlQSV9ERUZBVUxUKG5BTUUsIGFGRklYLCBTZXREZWZhdWx0KVtdOworI2RlZmluZSBOVlJBTV9JVEVNX1JGX0NBTChuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisgICAgZXh0ZXJuIGNvbnN0IENMMURfUkZfIyN0WVBFIE5WUkFNX0lURU1fUkZfQ0FMX0RFRkFVTFQobkFNRSwgYUZGSVgsIFNldERlZmF1bHQpOworI2RlZmluZSBOVlJBTV9JVEVNX1JGX1BPQyhuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKQorI2RlZmluZSBOVlJBTV9JVEVNX1JGX1RBU19WQVIobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgIGV4dGVybiBjb25zdCBDTDFEX1JGXyMjdFlQRSBOVlJBTV9JVEVNX1JGX1RBU19ERUZBVUxUKG5BTUUsIGFGRklYLCBTZXREZWZhdWx0KTsKKyNkZWZpbmUgTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgIGV4dGVybiBjb25zdCBDTDFEX1JGXyMjdFlQRSBOVlJBTV9JVEVNX1JGX1RBU19ERUZBVUxUKG5BTUUsIGFGRklYLCBTZXREZWZhdWx0KVtdOworI2RlZmluZSBOVlJBTV9JVEVNX0VMTkFfVkFSKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpIFwKKyAgICBleHRlcm4gY29uc3QgQ0wxRF9SRl8jI3RZUEUgTlZSQU1fSVRFTV9SRl9FTE5BX0RFRkFVTFQobkFNRSwgYUZGSVgsIFNldERlZmF1bHQpOworLypUWCBQT1dFUiAqLworI2RlZmluZSBOVlJBTV9JVEVNX1RYX1BPV0VSX1ZBUihuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisgICAgZXh0ZXJuIGNvbnN0IENMMURfUkZfIyN0WVBFIE5WUkFNX0lURU1fUkZfVFhfUE9XRVJfREVGQVVMVChuQU1FLCBhRkZJWCwgU2V0RGVmYXVsdCk7CisvKlRBUyBUU1QgKi8KKyNkZWZpbmUgTlZSQU1fSVRFTV9SRl9UQVNfVFNUKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpIFwKKyAgICBleHRlcm4gY29uc3QgQ0wxRF9SRl8jI3RZUEUgTlZSQU1fSVRFTV9SRl9UQVNfVFNUX0RFRkFVTFQobkFNRSwgYUZGSVgsIFNldERlZmF1bHQpOworI2luY2x1ZGUgImNsMV9udnJhbV9pZC5oIgorI2VuZGlmIC8qIERSRElfREVGX1ZBUl9ERUNMQVJFICovCisKKyNpZmRlZiBEUkRJX0RFRl9WQVJfREVGSU5FCisgICAgQ0wxRF9SRl9DVVNUX1BBUkFNX0RFRklORShTZXREZWZhdWx0KTsKKyAgICBDTDFEX1JGX0NVU1RfQlBJX0NGR19ERUZJTkUoQkFORF9BLCBTZXREZWZhdWx0KTsKKyAgICBDTDFEX1JGX0NVU1RfQlBJX0NGR19ERUZJTkUoQkFORF9CLCBTZXREZWZhdWx0KTsKKyAgICBDTDFEX1JGX0NVU1RfQlBJX0NGR19ERUZJTkUoQkFORF9DLCBTZXREZWZhdWx0KTsKKyAgICBDTDFEX1JGX0NVU1RfQlBJX0NGR19ERUZJTkUoQkFORF9ELCBTZXREZWZhdWx0KTsKKyAgICBDTDFEX1JGX0NVU1RfQlBJX0NGR19ERUZJTkUoQkFORF9FLCBTZXREZWZhdWx0KTsKKyAgICBDTDFEX1JGX01JUElfUEFSQU1fREVGSU5FKFNldERlZmF1bHQpOworCS8qKipUQVMgbWFjcm8gdmFyIGRlZmluZSoqKi8KKwkKKwlDTDFEX1JGX1RBU19CWV9SQVRfREFUQV9ERUZJTkUoU2V0RGVmYXVsdCk7CisJQ0wxRF9SRl9UQVNfQ09ORklHVVJFX0RFRklORShTZXREZWZhdWx0KTsKKwlDTDFEX1JGX1RBU19UVU5ORVJfQ09ORklHVVJFX0RFRklORShTZXREZWZhdWx0KTsKKwkvKlRBUyBUU1QgbWFjcm8gZGVmaW5lICovCisJQ0wxRF9SRl9UQVNfVFNUX0NPTkZJR19ERUZJTkUoU2V0RGVmYXVsdCk7CisJLypFTE5BKi8KKwlDTDFEX1JGX0VMTkFfQ09ORklHX0RFRklORShTZXREZWZhdWx0KTsKKwkjaWYgSVNfQzJLX0RBVF9SRkRfQ1RSTF9FTgorCS8qREFUKi8KKwlDTDFEX1JGX0RBVF9GRV9ST1VURV9EQVRBQkFTRV9ERUZJTkUoU2V0RGVmYXVsdCk7CisJI2VuZGlmCisjZW5kaWYgLyogRFJESV9ERUZfVkFSX0RFRklORSAqLworCisjaWZkZWYgRFJESV9ERUZfU0VUX1BUUl9BUlJBWQorI3VuZGVmIE5WUkFNX0lURU1fUkZfQ1VTVAorI3VuZGVmIE5WUkFNX0lURU1fTUlQSQorI3VuZGVmIE5WUkFNX0lURU1fUkZfQ0FMCisjdW5kZWYgTlZSQU1fSVRFTV9SRl9QT0MKKyN1bmRlZiBOVlJBTV9JVEVNX1JGX1RBU19WQVIKKyN1bmRlZiBOVlJBTV9JVEVNX1JGX1RBU19BUlJBWQorI3VuZGVmIE5WUkFNX0lURU1fRUxOQV9WQVIKKyN1bmRlZiBOVlJBTV9JVEVNX1RYX1BPV0VSX1ZBUgorI3VuZGVmIE5WUkFNX0lURU1fUkZfVEFTX1RTVAorI2RlZmluZSBOVlJBTV9JVEVNX1JGX0NVU1QobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgICh2b2lkKikmTlZSQU1fSVRFTV9SRl9DVVNUX0RFRkFVTFQobkFNRSwgYUZGSVgsIFNldERlZmF1bHQpLAorI2RlZmluZSBOVlJBTV9JVEVNX01JUEkobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgICh2b2lkKilOVlJBTV9JVEVNX01JUElfREVGQVVMVChuQU1FLCBhRkZJWCwgU2V0RGVmYXVsdCksCisjZGVmaW5lIE5WUkFNX0lURU1fUkZfQ0FMKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpIFwKKyAgICAodm9pZCopJk5WUkFNX0lURU1fUkZfQ0FMX0RFRkFVTFQobkFNRSwgYUZGSVgsIFNldERlZmF1bHQpLAorI2RlZmluZSBOVlJBTV9JVEVNX1JGX1BPQyhuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisgICAgKHZvaWQqKSZOVlJBTV9JVEVNX1JGX1BPQ19ERUZBVUxUKG5BTUUsIGFGRklYLCBEZWZhdWx0KSwKKyNkZWZpbmUgTlZSQU1fSVRFTV9SRl9UQVNfVkFSKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpIFwKKyAgICAodm9pZCopJk5WUkFNX0lURU1fUkZfVEFTX0RFRkFVTFQobkFNRSwgYUZGSVgsIFNldERlZmF1bHQpLAorI2RlZmluZSBOVlJBTV9JVEVNX1JGX1RBU19BUlJBWShuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisgICAgKHZvaWQqKU5WUkFNX0lURU1fUkZfVEFTX0RFRkFVTFQobkFNRSwgYUZGSVgsIFNldERlZmF1bHQpLAorI2RlZmluZSBOVlJBTV9JVEVNX0VMTkFfVkFSKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpIFwKKyAgICAodm9pZCopJk5WUkFNX0lURU1fUkZfRUxOQV9ERUZBVUxUKG5BTUUsIGFGRklYLCBTZXREZWZhdWx0KSwKKyNkZWZpbmUgTlZSQU1fSVRFTV9UWF9QT1dFUl9WQVIobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgICh2b2lkKikmTlZSQU1fSVRFTV9SRl9UWF9QT1dFUl9ERUZBVUxUKG5BTUUsIGFGRklYLCBTZXREZWZhdWx0KSwKKyNkZWZpbmUgTlZSQU1fSVRFTV9SRl9UQVNfVFNUKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpIFwKKyAgICAodm9pZCopJk5WUkFNX0lURU1fUkZfVEFTX1RTVF9ERUZBVUxUKG5BTUUsIGFGRklYLCBTZXREZWZhdWx0KSwKK3sKKyAgICAjaW5jbHVkZSAiY2wxX252cmFtX2lkLmgiCit9LAorI2VuZGlmIC8qIERSRElfREVGX1NFVF9QVFJfQVJSQVkgKi8KKworI2lmZGVmIERSRElfREVGX1ZBUl9ERUNMQVJFCisjdW5kZWYgTlZSQU1fSVRFTV9SRl9DVVNUCisjdW5kZWYgTlZSQU1fSVRFTV9NSVBJCisjdW5kZWYgTlZSQU1fSVRFTV9SRl9DQUwKKyN1bmRlZiBOVlJBTV9JVEVNX1JGX1BPQworI3VuZGVmIE5WUkFNX0lURU1fUkZfVEFTX1ZBUgorI3VuZGVmIE5WUkFNX0lURU1fUkZfVEFTX0FSUkFZCisjdW5kZWYgTlZSQU1fSVRFTV9FTE5BX1ZBUgorI3VuZGVmIE5WUkFNX0lURU1fVFhfUE9XRVJfVkFSCisjdW5kZWYgTlZSQU1fSVRFTV9SRl9UQVNfVFNUCisjZGVmaW5lIE5WUkFNX0lURU1fUkZfQ1VTVChuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKQorI2RlZmluZSBOVlJBTV9JVEVNX01JUEkobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykKKyNkZWZpbmUgTlZSQU1fSVRFTV9SRl9DQUwobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykKKyNkZWZpbmUgTlZSQU1fSVRFTV9SRl9QT0MobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgIGV4dGVybiBDTDFEX1JGXyMjdFlQRSBOVlJBTV9JVEVNX1JGX1BPQ19ERUZBVUxUKG5BTUUsIGFGRklYLCBEZWZhdWx0KTsKKyNkZWZpbmUgTlZSQU1fSVRFTV9SRl9UQVNfVkFSKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpCisjZGVmaW5lIE5WUkFNX0lURU1fUkZfVEFTX0FSUkFZKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpCisjZGVmaW5lIE5WUkFNX0lURU1fRUxOQV9WQVIobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykKKyNkZWZpbmUgTlZSQU1fSVRFTV9UWF9QT1dFUl9WQVIobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykKKyNkZWZpbmUgTlZSQU1fSVRFTV9SRl9UQVNfVFNUKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpCisjaW5jbHVkZSAiY2wxX252cmFtX2lkLmgiCisjZW5kaWYKKyNpZmRlZiBEUkRJX0RFRl9WQVJfREVGSU5FCisjdW5kZWYgTlZSQU1fSVRFTV9SRl9DVVNUCisjdW5kZWYgTlZSQU1fSVRFTV9NSVBJCisjdW5kZWYgTlZSQU1fSVRFTV9SRl9DQUwKKyN1bmRlZiBOVlJBTV9JVEVNX1JGX1BPQworI3VuZGVmIE5WUkFNX0lURU1fUkZfVEFTX1ZBUgorI3VuZGVmIE5WUkFNX0lURU1fUkZfVEFTX0FSUkFZCisjdW5kZWYgTlZSQU1fSVRFTV9FTE5BX1ZBUgorI3VuZGVmIE5WUkFNX0lURU1fVFhfUE9XRVJfVkFSCisjdW5kZWYgTlZSQU1fSVRFTV9SRl9UQVNfVFNUCisjZGVmaW5lIE5WUkFNX0lURU1fUkZfQ1VTVChuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKQorI2RlZmluZSBOVlJBTV9JVEVNX01JUEkobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykKKyNkZWZpbmUgTlZSQU1fSVRFTV9SRl9DQUwobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykKKyNkZWZpbmUgTlZSQU1fSVRFTV9SRl9QT0MobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgIENMMURfUkZfIyN0WVBFIE5WUkFNX0lURU1fUkZfUE9DX0RFRkFVTFQobkFNRSwgYUZGSVgsIERlZmF1bHQpOworI2RlZmluZSBOVlJBTV9JVEVNX1JGX1RBU19WQVIobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykKKyNkZWZpbmUgTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykKKyNkZWZpbmUgTlZSQU1fSVRFTV9FTE5BX1ZBUihuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKQorI2RlZmluZSBOVlJBTV9JVEVNX1RYX1BPV0VSX1ZBUihuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKQorI2RlZmluZSBOVlJBTV9JVEVNX1JGX1RBU19UU1QobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykKKyNpbmNsdWRlICJjbDFfbnZyYW1faWQuaCIKKyNlbmRpZgorCisjZW5kaWYKKworI2lmIElTX0MyS19EUkRJX0VOQUJMRQorLy8jZXJyb3IgIkkgY2FuIHNlZSBoZXJlIgorI2lmIGRlZmluZWQoX19NRDkzX18pCisjdW5kZWYgRFJESV9DVVJfU0VUX0lEWAorI2RlZmluZSBEUkRJX0NVUl9TRVRfSURYICAgIDAKKyNpbmNsdWRlICJjbDFfbnZyYW1fZmlsZV9pZC5oIgorI2VuZGlmCisjdW5kZWYgRFJESV9DVVJfU0VUX0lEWAorI2RlZmluZSBEUkRJX0NVUl9TRVRfSURYICAgIDEKKyNpbmNsdWRlICJjbDFfbnZyYW1fZmlsZV9pZC5oIgorI3VuZGVmIERSRElfQ1VSX1NFVF9JRFgKKyNkZWZpbmUgRFJESV9DVVJfU0VUX0lEWCAgICAyCisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMworI2luY2x1ZGUgImNsMV9udnJhbV9maWxlX2lkLmgiCisjdW5kZWYgRFJESV9DVVJfU0VUX0lEWAorI2RlZmluZSBEUkRJX0NVUl9TRVRfSURYICAgIDQKKyNpbmNsdWRlICJjbDFfbnZyYW1fZmlsZV9pZC5oIgorI3VuZGVmIERSRElfQ1VSX1NFVF9JRFgKKyNkZWZpbmUgRFJESV9DVVJfU0VUX0lEWCAgICA1CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgNgorI2luY2x1ZGUgImNsMV9udnJhbV9maWxlX2lkLmgiCisjdW5kZWYgRFJESV9DVVJfU0VUX0lEWAorI2RlZmluZSBEUkRJX0NVUl9TRVRfSURYICAgIDcKKyNpbmNsdWRlICJjbDFfbnZyYW1fZmlsZV9pZC5oIgorI3VuZGVmIERSRElfQ1VSX1NFVF9JRFgKKyNkZWZpbmUgRFJESV9DVVJfU0VUX0lEWCAgICA4CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgOQorI2luY2x1ZGUgImNsMV9udnJhbV9maWxlX2lkLmgiCisjdW5kZWYgRFJESV9DVVJfU0VUX0lEWAorI2RlZmluZSBEUkRJX0NVUl9TRVRfSURYICAgIDEwCisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMTEKKyNpbmNsdWRlICJjbDFfbnZyYW1fZmlsZV9pZC5oIgorI3VuZGVmIERSRElfQ1VSX1NFVF9JRFgKKyNkZWZpbmUgRFJESV9DVVJfU0VUX0lEWCAgICAxMgorI2luY2x1ZGUgImNsMV9udnJhbV9maWxlX2lkLmgiCisjdW5kZWYgRFJESV9DVVJfU0VUX0lEWAorI2RlZmluZSBEUkRJX0NVUl9TRVRfSURYICAgIDEzCisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMTQKKyNpbmNsdWRlICJjbDFfbnZyYW1fZmlsZV9pZC5oIgorI3VuZGVmIERSRElfQ1VSX1NFVF9JRFgKKyNkZWZpbmUgRFJESV9DVVJfU0VUX0lEWCAgICAxNQorI2luY2x1ZGUgImNsMV9udnJhbV9maWxlX2lkLmgiCisjdW5kZWYgRFJESV9DVVJfU0VUX0lEWAorI2RlZmluZSBEUkRJX0NVUl9TRVRfSURYICAgIDE2CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMTcKKyNpbmNsdWRlICJjbDFfbnZyYW1fZmlsZV9pZC5oIgorI3VuZGVmIERSRElfQ1VSX1NFVF9JRFgKKyNkZWZpbmUgRFJESV9DVVJfU0VUX0lEWCAgICAxOAorI2luY2x1ZGUgImNsMV9udnJhbV9maWxlX2lkLmgiCisjdW5kZWYgRFJESV9DVVJfU0VUX0lEWAorI2RlZmluZSBEUkRJX0NVUl9TRVRfSURYICAgIDE5CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMjAKKyNpbmNsdWRlICJjbDFfbnZyYW1fZmlsZV9pZC5oIgorI3VuZGVmIERSRElfQ1VSX1NFVF9JRFgKKyNkZWZpbmUgRFJESV9DVVJfU0VUX0lEWCAgICAyMQorI2luY2x1ZGUgImNsMV9udnJhbV9maWxlX2lkLmgiCisjdW5kZWYgRFJESV9DVVJfU0VUX0lEWAorI2RlZmluZSBEUkRJX0NVUl9TRVRfSURYICAgIDIyCisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMjMKKyNpbmNsdWRlICJjbDFfbnZyYW1fZmlsZV9pZC5oIgorI3VuZGVmIERSRElfQ1VSX1NFVF9JRFgKKyNkZWZpbmUgRFJESV9DVVJfU0VUX0lEWCAgICAyNAorI2luY2x1ZGUgImNsMV9udnJhbV9maWxlX2lkLmgiCisjdW5kZWYgRFJESV9DVVJfU0VUX0lEWAorI2RlZmluZSBEUkRJX0NVUl9TRVRfSURYICAgIDI1CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMjYKKyNpbmNsdWRlICJjbDFfbnZyYW1fZmlsZV9pZC5oIgorI3VuZGVmIERSRElfQ1VSX1NFVF9JRFgKKyNkZWZpbmUgRFJESV9DVVJfU0VUX0lEWCAgICAyNworI2luY2x1ZGUgImNsMV9udnJhbV9maWxlX2lkLmgiCisjdW5kZWYgRFJESV9DVVJfU0VUX0lEWAorI2RlZmluZSBEUkRJX0NVUl9TRVRfSURYICAgIDI4CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMjkKKyNpbmNsdWRlICJjbDFfbnZyYW1fZmlsZV9pZC5oIgorI3VuZGVmIERSRElfQ1VSX1NFVF9JRFgKKyNkZWZpbmUgRFJESV9DVVJfU0VUX0lEWCAgICAzMAorI2luY2x1ZGUgImNsMV9udnJhbV9maWxlX2lkLmgiCisjdW5kZWYgRFJESV9DVVJfU0VUX0lEWAorI2RlZmluZSBEUkRJX0NVUl9TRVRfSURYICAgIDMxCisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMzIKKyNpbmNsdWRlICJjbDFfbnZyYW1fZmlsZV9pZC5oIgorI2lmIGRlZmluZWQoX19NRDkzX18pCisjdW5kZWYgRFJESV9DVVJfU0VUX0lEWAorI2RlZmluZSBEUkRJX0NVUl9TRVRfSURYICAgIDMzCisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMzQKKyNpbmNsdWRlICJjbDFfbnZyYW1fZmlsZV9pZC5oIgorI3VuZGVmIERSRElfQ1VSX1NFVF9JRFgKKyNkZWZpbmUgRFJESV9DVVJfU0VUX0lEWCAgICAzNQorI2luY2x1ZGUgImNsMV9udnJhbV9maWxlX2lkLmgiCisjdW5kZWYgRFJESV9DVVJfU0VUX0lEWAorI2RlZmluZSBEUkRJX0NVUl9TRVRfSURYICAgIDM2CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMzcKKyNpbmNsdWRlICJjbDFfbnZyYW1fZmlsZV9pZC5oIgorI3VuZGVmIERSRElfQ1VSX1NFVF9JRFgKKyNkZWZpbmUgRFJESV9DVVJfU0VUX0lEWCAgICAzOAorI2luY2x1ZGUgImNsMV9udnJhbV9maWxlX2lkLmgiCisjdW5kZWYgRFJESV9DVVJfU0VUX0lEWAorI2RlZmluZSBEUkRJX0NVUl9TRVRfSURYICAgIDM5CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgNDAKKyNpbmNsdWRlICJjbDFfbnZyYW1fZmlsZV9pZC5oIgorI3VuZGVmIERSRElfQ1VSX1NFVF9JRFgKKyNkZWZpbmUgRFJESV9DVVJfU0VUX0lEWCAgICA0MQorI2luY2x1ZGUgImNsMV9udnJhbV9maWxlX2lkLmgiCisjdW5kZWYgRFJESV9DVVJfU0VUX0lEWAorI2RlZmluZSBEUkRJX0NVUl9TRVRfSURYICAgIDQyCisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgNDMKKyNpbmNsdWRlICJjbDFfbnZyYW1fZmlsZV9pZC5oIgorI3VuZGVmIERSRElfQ1VSX1NFVF9JRFgKKyNkZWZpbmUgRFJESV9DVVJfU0VUX0lEWCAgICA0NAorI2luY2x1ZGUgImNsMV9udnJhbV9maWxlX2lkLmgiCisjdW5kZWYgRFJESV9DVVJfU0VUX0lEWAorI2RlZmluZSBEUkRJX0NVUl9TRVRfSURYICAgIDQ1CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgNDYKKyNpbmNsdWRlICJjbDFfbnZyYW1fZmlsZV9pZC5oIgorI3VuZGVmIERSRElfQ1VSX1NFVF9JRFgKKyNkZWZpbmUgRFJESV9DVVJfU0VUX0lEWCAgICA0NworI2luY2x1ZGUgImNsMV9udnJhbV9maWxlX2lkLmgiCisjdW5kZWYgRFJESV9DVVJfU0VUX0lEWAorI2RlZmluZSBEUkRJX0NVUl9TRVRfSURYICAgIDQ4CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgNDkKKyNpbmNsdWRlICJjbDFfbnZyYW1fZmlsZV9pZC5oIgorI3VuZGVmIERSRElfQ1VSX1NFVF9JRFgKKyNkZWZpbmUgRFJESV9DVVJfU0VUX0lEWCAgICA1MAorI2luY2x1ZGUgImNsMV9udnJhbV9maWxlX2lkLmgiCisjdW5kZWYgRFJESV9DVVJfU0VUX0lEWAorI2RlZmluZSBEUkRJX0NVUl9TRVRfSURYICAgIDUxCisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgNTIKKyNpbmNsdWRlICJjbDFfbnZyYW1fZmlsZV9pZC5oIgorI3VuZGVmIERSRElfQ1VSX1NFVF9JRFgKKyNkZWZpbmUgRFJESV9DVVJfU0VUX0lEWCAgICA1MworI2luY2x1ZGUgImNsMV9udnJhbV9maWxlX2lkLmgiCisjdW5kZWYgRFJESV9DVVJfU0VUX0lEWAorI2RlZmluZSBEUkRJX0NVUl9TRVRfSURYICAgIDU0CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgNTUKKyNpbmNsdWRlICJjbDFfbnZyYW1fZmlsZV9pZC5oIgorI3VuZGVmIERSRElfQ1VSX1NFVF9JRFgKKyNkZWZpbmUgRFJESV9DVVJfU0VUX0lEWCAgICA1NgorI2luY2x1ZGUgImNsMV9udnJhbV9maWxlX2lkLmgiCisjdW5kZWYgRFJESV9DVVJfU0VUX0lEWAorI2RlZmluZSBEUkRJX0NVUl9TRVRfSURYICAgIDU3CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgNTgKKyNpbmNsdWRlICJjbDFfbnZyYW1fZmlsZV9pZC5oIgorI3VuZGVmIERSRElfQ1VSX1NFVF9JRFgKKyNkZWZpbmUgRFJESV9DVVJfU0VUX0lEWCAgICA1OQorI2luY2x1ZGUgImNsMV9udnJhbV9maWxlX2lkLmgiCisjdW5kZWYgRFJESV9DVVJfU0VUX0lEWAorI2RlZmluZSBEUkRJX0NVUl9TRVRfSURYICAgIDYwCisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgNjEKKyNpbmNsdWRlICJjbDFfbnZyYW1fZmlsZV9pZC5oIgorI3VuZGVmIERSRElfQ1VSX1NFVF9JRFgKKyNkZWZpbmUgRFJESV9DVVJfU0VUX0lEWCAgICA2MgorI2luY2x1ZGUgImNsMV9udnJhbV9maWxlX2lkLmgiCisjdW5kZWYgRFJESV9DVVJfU0VUX0lEWAorI2RlZmluZSBEUkRJX0NVUl9TRVRfSURYICAgIDYzCisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgNjQKKyNpbmNsdWRlICJjbDFfbnZyYW1fZmlsZV9pZC5oIgorI3VuZGVmIERSRElfQ1VSX1NFVF9JRFgKKyNkZWZpbmUgRFJESV9DVVJfU0VUX0lEWCAgICA2NQorI2luY2x1ZGUgImNsMV9udnJhbV9maWxlX2lkLmgiCisjdW5kZWYgRFJESV9DVVJfU0VUX0lEWAorI2RlZmluZSBEUkRJX0NVUl9TRVRfSURYICAgIDY2CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgNjcKKyNpbmNsdWRlICJjbDFfbnZyYW1fZmlsZV9pZC5oIgorI3VuZGVmIERSRElfQ1VSX1NFVF9JRFgKKyNkZWZpbmUgRFJESV9DVVJfU0VUX0lEWCAgICA2OAorI2luY2x1ZGUgImNsMV9udnJhbV9maWxlX2lkLmgiCisjdW5kZWYgRFJESV9DVVJfU0VUX0lEWAorI2RlZmluZSBEUkRJX0NVUl9TRVRfSURYICAgIDY5CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgNzAKKyNpbmNsdWRlICJjbDFfbnZyYW1fZmlsZV9pZC5oIgorI3VuZGVmIERSRElfQ1VSX1NFVF9JRFgKKyNkZWZpbmUgRFJESV9DVVJfU0VUX0lEWCAgICA3MQorI2luY2x1ZGUgImNsMV9udnJhbV9maWxlX2lkLmgiCisjdW5kZWYgRFJESV9DVVJfU0VUX0lEWAorI2RlZmluZSBEUkRJX0NVUl9TRVRfSURYICAgIDcyCisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgNzMKKyNpbmNsdWRlICJjbDFfbnZyYW1fZmlsZV9pZC5oIgorI3VuZGVmIERSRElfQ1VSX1NFVF9JRFgKKyNkZWZpbmUgRFJESV9DVVJfU0VUX0lEWCAgICA3NAorI2luY2x1ZGUgImNsMV9udnJhbV9maWxlX2lkLmgiCisjdW5kZWYgRFJESV9DVVJfU0VUX0lEWAorI2RlZmluZSBEUkRJX0NVUl9TRVRfSURYICAgIDc1CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgNzYKKyNpbmNsdWRlICJjbDFfbnZyYW1fZmlsZV9pZC5oIgorI3VuZGVmIERSRElfQ1VSX1NFVF9JRFgKKyNkZWZpbmUgRFJESV9DVVJfU0VUX0lEWCAgICA3NworI2luY2x1ZGUgImNsMV9udnJhbV9maWxlX2lkLmgiCisjdW5kZWYgRFJESV9DVVJfU0VUX0lEWAorI2RlZmluZSBEUkRJX0NVUl9TRVRfSURYICAgIDc4CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgNzkKKyNpbmNsdWRlICJjbDFfbnZyYW1fZmlsZV9pZC5oIgorI3VuZGVmIERSRElfQ1VSX1NFVF9JRFgKKyNkZWZpbmUgRFJESV9DVVJfU0VUX0lEWCAgICA4MAorI2luY2x1ZGUgImNsMV9udnJhbV9maWxlX2lkLmgiCisjdW5kZWYgRFJESV9DVVJfU0VUX0lEWAorI2RlZmluZSBEUkRJX0NVUl9TRVRfSURYICAgIDgxCisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgODIKKyNpbmNsdWRlICJjbDFfbnZyYW1fZmlsZV9pZC5oIgorI3VuZGVmIERSRElfQ1VSX1NFVF9JRFgKKyNkZWZpbmUgRFJESV9DVVJfU0VUX0lEWCAgICA4MworI2luY2x1ZGUgImNsMV9udnJhbV9maWxlX2lkLmgiCisjdW5kZWYgRFJESV9DVVJfU0VUX0lEWAorI2RlZmluZSBEUkRJX0NVUl9TRVRfSURYICAgIDg0CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgODUKKyNpbmNsdWRlICJjbDFfbnZyYW1fZmlsZV9pZC5oIgorI3VuZGVmIERSRElfQ1VSX1NFVF9JRFgKKyNkZWZpbmUgRFJESV9DVVJfU0VUX0lEWCAgICA4NgorI2luY2x1ZGUgImNsMV9udnJhbV9maWxlX2lkLmgiCisjdW5kZWYgRFJESV9DVVJfU0VUX0lEWAorI2RlZmluZSBEUkRJX0NVUl9TRVRfSURYICAgIDg3CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgODgKKyNpbmNsdWRlICJjbDFfbnZyYW1fZmlsZV9pZC5oIgorI3VuZGVmIERSRElfQ1VSX1NFVF9JRFgKKyNkZWZpbmUgRFJESV9DVVJfU0VUX0lEWCAgICA4OQorI2luY2x1ZGUgImNsMV9udnJhbV9maWxlX2lkLmgiCisjdW5kZWYgRFJESV9DVVJfU0VUX0lEWAorI2RlZmluZSBEUkRJX0NVUl9TRVRfSURYICAgIDkwCisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgOTEKKyNpbmNsdWRlICJjbDFfbnZyYW1fZmlsZV9pZC5oIgorI3VuZGVmIERSRElfQ1VSX1NFVF9JRFgKKyNkZWZpbmUgRFJESV9DVVJfU0VUX0lEWCAgICA5MgorI2luY2x1ZGUgImNsMV9udnJhbV9maWxlX2lkLmgiCisjdW5kZWYgRFJESV9DVVJfU0VUX0lEWAorI2RlZmluZSBEUkRJX0NVUl9TRVRfSURYICAgIDkzCisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgOTQKKyNpbmNsdWRlICJjbDFfbnZyYW1fZmlsZV9pZC5oIgorI3VuZGVmIERSRElfQ1VSX1NFVF9JRFgKKyNkZWZpbmUgRFJESV9DVVJfU0VUX0lEWCAgICA5NQorI2luY2x1ZGUgImNsMV9udnJhbV9maWxlX2lkLmgiCisjdW5kZWYgRFJESV9DVVJfU0VUX0lEWAorI2RlZmluZSBEUkRJX0NVUl9TRVRfSURYICAgIDk2CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgOTcKKyNpbmNsdWRlICJjbDFfbnZyYW1fZmlsZV9pZC5oIgorI3VuZGVmIERSRElfQ1VSX1NFVF9JRFgKKyNkZWZpbmUgRFJESV9DVVJfU0VUX0lEWCAgICA5OAorI2luY2x1ZGUgImNsMV9udnJhbV9maWxlX2lkLmgiCisjdW5kZWYgRFJESV9DVVJfU0VUX0lEWAorI2RlZmluZSBEUkRJX0NVUl9TRVRfSURYICAgIDk5CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMTAwCisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMTAxCisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMTAyCisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMTAzCisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMTA0CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMTA1CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMTA2CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMTA3CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMTA4CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMTA5CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMTEwCisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMTExCisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMTEyCisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMTEzCisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMTE0CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMTE1CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMTE2CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMTE3CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMTE4CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMTE5CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMTIwCisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMTIxCisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMTIyCisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMTIzCisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMTI0CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMTI1CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMTI2CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyN1bmRlZiBEUkRJX0NVUl9TRVRfSURYCisjZGVmaW5lIERSRElfQ1VSX1NFVF9JRFggICAgMTI3CisjaW5jbHVkZSAiY2wxX252cmFtX2ZpbGVfaWQuaCIKKyNlbmRpZiAvKiBJU19DMktfRFJESV9FTkFCTEUgKi8KKyNlbmRpZgorCisjdW5kZWYgRFJESV9ERUZfSU5DTFVERV9GSUxFCisjdW5kZWYgRFJESV9ERUZfVkFSX0RFQ0xBUkUKKyN1bmRlZiBEUkRJX0RFRl9WQVJfREVGSU5FCisjdW5kZWYgRFJESV9ERUZfU0VUX1BUUl9BUlJBWQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL3JmZC9leHRlcm5hbC9jb21tL3JmX2N1c3RvbS9jbDFfbnZyYW1fZmlsZV9pZC5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvcmZkL2V4dGVybmFsL2NvbW0vcmZfY3VzdG9tL2NsMV9udnJhbV9maWxlX2lkLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGE4YjVhMAotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL3JmZC9leHRlcm5hbC9jb21tL3JmX2N1c3RvbS9jbDFfbnZyYW1fZmlsZV9pZC5oCkBAIC0wLDAgKzEsMjYwIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmIGRlZmluZWQoX19NRDkzX18pIHx8IGRlZmluZWQoX19NRDk1X18pCisjaWYgQzJLX1RPVEFMX1JFQUxfU0VUX05VTVMgPiBEUkRJX0NVUl9TRVRfSURYCisgICAgI2lmZGVmIERSRElfREVGX0lOQ0xVREVfRklMRQorICAgICAgICAjaW5jbHVkZSBDTDFfU1RSXyhDTDFfQ0FUXyhEUkRJL1NldCwgRFJESV9DVVJfU0VUX0lEWCkvYzJrX2N1c3RvbV9yZi5oKQorICAgICAgICAjaW5jbHVkZSBDTDFfU1RSXyhDTDFfQ0FUXyhEUkRJL1NldCwgRFJESV9DVVJfU0VUX0lEWCkvYzJrX2N1c3RvbV9yZi5jKQorICAgICAgICAjaW5jbHVkZSBDTDFfU1RSXyhDTDFfQ0FUXyhEUkRJL1NldCwgRFJESV9DVVJfU0VUX0lEWCkvYzJrX2N1c3RvbV9taXBpLmgpCisgICAgICAgICNpbmNsdWRlIENMMV9TVFJfKENMMV9DQVRfKERSREkvU2V0LCBEUkRJX0NVUl9TRVRfSURYKS9jMmtfY3VzdG9tX21pcGkuYykKKyAgICAgICAgI2luY2x1ZGUgQ0wxX1NUUl8oQ0wxX0NBVF8oRFJESS9TZXQsIERSRElfQ1VSX1NFVF9JRFgpL2Mya19jdXN0b21fZXRtLmgpCisgICAgICAgICNpbmNsdWRlIENMMV9TVFJfKENMMV9DQVRfKERSREkvU2V0LCBEUkRJX0NVUl9TRVRfSURYKS9jMmtfY3VzdG9tX2V0bS5jKQorI2lmbmRlZiBfX01EOTNfXworCSNpZiAoX0MyS19VVEFTX1NVUFBPUlRfKSB8fCAoX19NRDk1X18pIHx8IChfX01EOTdfXykgfHwgKF9fTUQ5N1BfXykKKwkJI2luY2x1ZGUgQ0wxX1NUUl8oQ0wxX0NBVF8oRFJESS9TZXQsIERSRElfQ1VSX1NFVF9JRFgpL2Mya19jdXN0b21fcmZfYW50LmgpCisJCSNpbmNsdWRlIENMMV9TVFJfKENMMV9DQVRfKERSREkvU2V0LCBEUkRJX0NVUl9TRVRfSURYKS9jMmtfY3VzdG9tX3JmX2FudC5jKQorCSNlbmRpZgorI2Vsc2UKKwkJI2luY2x1ZGUgQ0wxX1NUUl8oQ0wxX0NBVF8oRFJESS9TZXQsIERSRElfQ1VSX1NFVF9JRFgpL2Mya19jdXN0b21fcmZfdGFzLmgpCisJCSNpbmNsdWRlIENMMV9TVFJfKENMMV9DQVRfKERSREkvU2V0LCBEUkRJX0NVUl9TRVRfSURYKS9jMmtfY3VzdG9tX3JmX3Rhcy5jKQorCQkjaW5jbHVkZSBDTDFfU1RSXyhDTDFfQ0FUXyhEUkRJL1NldCwgRFJESV9DVVJfU0VUX0lEWCkvYzJrX2N1c3RvbV9yZl90dW5lci5oKQorCQkjaW5jbHVkZSBDTDFfU1RSXyhDTDFfQ0FUXyhEUkRJL1NldCwgRFJESV9DVVJfU0VUX0lEWCkvYzJrX2N1c3RvbV9yZl90dW5lci5jKQorCisJCSNpbmNsdWRlIENMMV9TVFJfKENMMV9DQVRfKERSREkvU2V0LCBEUkRJX0NVUl9TRVRfSURYKS9jMmtfY3VzdG9tX2VsbmEuaCkKKwkJI2luY2x1ZGUgQ0wxX1NUUl8oQ0wxX0NBVF8oRFJESS9TZXQsIERSRElfQ1VSX1NFVF9JRFgpL2Mya19jdXN0b21fZWxuYS5jKQorI2VuZGlmCQkKKwkJI2luY2x1ZGUgQ0wxX1NUUl8oQ0wxX0NBVF8oRFJESS9TZXQsIERSRElfQ1VSX1NFVF9JRFgpL2Mya19jdXN0b21fcmZfdGFzX3RzdC5oKQorCSNpZiAoSVNfQzJLX0RBVF9SRkRfQ1RSTF9FTil8fChJU19DMktfVURBVF9TVVBQT1JUKQorCQkjaW5jbHVkZSBDTDFfU1RSXyhDTDFfQ0FUXyhEUkRJL1NldCwgRFJESV9DVVJfU0VUX0lEWCkvYzJrX2N1c3RvbV9yZl9kYXQuaCkKKwkJI2luY2x1ZGUgQ0wxX1NUUl8oQ0wxX0NBVF8oRFJESS9TZXQsIERSRElfQ1VSX1NFVF9JRFgpL2Mya19jdXN0b21fcmZfZGF0LmMpCisJI2VuZGlmCisJCSNpbmNsdWRlIENMMV9TVFJfKENMMV9DQVRfKERSREkvU2V0LCBEUkRJX0NVUl9TRVRfSURYKS9jMmtfY3VzdG9tX3JmX2RwZC5oKQorCQkjaW5jbHVkZSBDTDFfU1RSXyhDTDFfQ0FUXyhEUkRJL1NldCwgRFJESV9DVVJfU0VUX0lEWCkvYzJrX2N1c3RvbV9yZl9kcGQuYykKKyNlbmRpZgorCisgICAgI2lmZGVmIERSRElfREVGX1ZBUl9ERUNMQVJFICAgICAgICAKKyAgICAjdW5kZWYgTlZSQU1fSVRFTV9SRl9DVVNUCisgICAgI3VuZGVmIE5WUkFNX0lURU1fTUlQSQorICAgICN1bmRlZiBOVlJBTV9JVEVNX1JGX0NBTAorICAgICN1bmRlZiBOVlJBTV9JVEVNX1JGX1BPQworCSN1bmRlZiBOVlJBTV9JVEVNX1JGX1RBU19WQVIKKwkjdW5kZWYgTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkKKwkjdW5kZWYgTlZSQU1fSVRFTV9FTE5BX1ZBUgorCSN1bmRlZiBOVlJBTV9JVEVNX1RYX1BPV0VSX1ZBUgorCSN1bmRlZiBOVlJBTV9JVEVNX1JGX1RBU19UU1QKKyAgICAjZGVmaW5lIE5WUkFNX0lURU1fUkZfQ1VTVChuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisgICAgICAgIGV4dGVybiBjb25zdCBDTDFEX1JGXyMjdFlQRSBOVlJBTV9JVEVNX1JGX0NVU1RfREVGQVVMVChuQU1FLCBhRkZJWCwgQ0wxX0NBVF8oU2V0LCBEUkRJX0NVUl9TRVRfSURYKSk7CisgICAgI2RlZmluZSBOVlJBTV9JVEVNX01JUEkobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgICAgICBleHRlcm4gY29uc3QgQ0wxRF9SRl8jI3RZUEUgTlZSQU1fSVRFTV9NSVBJX0RFRkFVTFQobkFNRSwgYUZGSVgsIENMMV9DQVRfKFNldCwgRFJESV9DVVJfU0VUX0lEWCkpW107CisgICAgI2RlZmluZSBOVlJBTV9JVEVNX1JGX0NBTChuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisgICAgICAgIGV4dGVybiBDTDFEX1JGXyMjdFlQRSBOVlJBTV9JVEVNX1JGX0NBTF9ERUZBVUxUKG5BTUUsIGFGRklYLCBDTDFfQ0FUXyhTZXQsIERSRElfQ1VSX1NFVF9JRFgpKTsKKwkjZGVmaW5lIE5WUkFNX0lURU1fUkZfVEFTX1ZBUihuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisJCWV4dGVybiBjb25zdCBDMktfQ1VTVE9NXyMjdFlQRSBOVlJBTV9JVEVNX1JGX1RBU19ERUZBVUxUKG5BTUUsIGFGRklYLCBDTDFfQ0FUXyhTZXQsIERSRElfQ1VSX1NFVF9JRFgpKTsKKwkjZGVmaW5lIE5WUkFNX0lURU1fUkZfVEFTX0FSUkFZKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpIFwKKwkJZXh0ZXJuIGNvbnN0IENMMURfUkZfIyN0WVBFIE5WUkFNX0lURU1fUkZfVEFTX0RFRkFVTFQobkFNRSwgYUZGSVgsIENMMV9DQVRfKFNldCwgRFJESV9DVVJfU0VUX0lEWCkpW107CisgICAgI2RlZmluZSBOVlJBTV9JVEVNX1JGX1BPQyhuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKQorCSNkZWZpbmUgTlZSQU1fSVRFTV9FTE5BX1ZBUihuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisJCWV4dGVybiBjb25zdCBDTDFEX1JGXyMjdFlQRSBOVlJBTV9JVEVNX1JGX0VMTkFfREVGQVVMVChuQU1FLCBhRkZJWCwgQ0wxX0NBVF8oU2V0LCBEUkRJX0NVUl9TRVRfSURYKSk7CisJI2RlZmluZSBOVlJBTV9JVEVNX1RYX1BPV0VSX1ZBUihuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisJCWV4dGVybiBjb25zdCBDTDFEX1JGXyMjdFlQRSBOVlJBTV9JVEVNX1JGX1RYX1BPV0VSX0RFRkFVTFQobkFNRSwgYUZGSVgsIENMMV9DQVRfKFNldCwgRFJESV9DVVJfU0VUX0lEWCkpOworCSNkZWZpbmUgTlZSQU1fSVRFTV9SRl9UQVNfVFNUKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpIFwKKwkJZXh0ZXJuIGNvbnN0IENMMURfUkZfIyN0WVBFIE5WUkFNX0lURU1fUkZfVEFTX1RTVF9ERUZBVUxUKG5BTUUsIGFGRklYLCBDTDFfQ0FUXyhTZXQsIERSRElfQ1VSX1NFVF9JRFgpKTsKKyAgICAjaW5jbHVkZSAiY2wxX252cmFtX2lkLmgiCisgICAgI2VuZGlmIC8qIERSRElfREVGX1ZBUl9ERUNMQVJFICovCisKKyAgICAjaWZkZWYgRFJESV9ERUZfVkFSX0RFRklORQorICAgIENMMURfUkZfQ1VTVF9QQVJBTV9ERUZJTkUoQ0wxX0NBVF8oU2V0LCBEUkRJX0NVUl9TRVRfSURYKSk7CisgICAgQ0wxRF9SRl9DVVNUX0JQSV9DRkdfREVGSU5FKEJBTkRfQSwgQ0wxX0NBVF8oU2V0LCBEUkRJX0NVUl9TRVRfSURYKSk7CisgICAgQ0wxRF9SRl9DVVNUX0JQSV9DRkdfREVGSU5FKEJBTkRfQiwgQ0wxX0NBVF8oU2V0LCBEUkRJX0NVUl9TRVRfSURYKSk7CisgICAgQ0wxRF9SRl9DVVNUX0JQSV9DRkdfREVGSU5FKEJBTkRfQywgQ0wxX0NBVF8oU2V0LCBEUkRJX0NVUl9TRVRfSURYKSk7CisgICAgQ0wxRF9SRl9DVVNUX0JQSV9DRkdfREVGSU5FKEJBTkRfRCwgQ0wxX0NBVF8oU2V0LCBEUkRJX0NVUl9TRVRfSURYKSk7CisgICAgQ0wxRF9SRl9DVVNUX0JQSV9DRkdfREVGSU5FKEJBTkRfRSwgQ0wxX0NBVF8oU2V0LCBEUkRJX0NVUl9TRVRfSURYKSk7CisgICAgQ0wxRF9SRl9NSVBJX1BBUkFNX0RFRklORShDTDFfQ0FUXyhTZXQsIERSRElfQ1VSX1NFVF9JRFgpKTsKKyAgICAKKwlDTDFEX1JGX1RBU19CWV9SQVRfREFUQV9ERUZJTkUoQ0wxX0NBVF8oU2V0LCBEUkRJX0NVUl9TRVRfSURYKSk7CisjaWZuZGVmIF9fTUQ5M19fCisgICAgQ0wxRF9SRl9VVEFTX0FMR09SSVRITV9QQVJBTUVURVJfREVGSU5FKENMMV9DQVRfKFNldCwgRFJESV9DVVJfU0VUX0lEWCkpOworI2VuZGlmCisjaWYgZGVmaW5lZChfX01EOTNfXykKKwlDTDFEX1JGX1RBU19DT05GSUdVUkVfREVGSU5FKENMMV9DQVRfKFNldCwgRFJESV9DVVJfU0VUX0lEWCkpOworCUNMMURfUkZfVEFTX1RVTk5FUl9DT05GSUdVUkVfREVGSU5FKENMMV9DQVRfKFNldCwgRFJESV9DVVJfU0VUX0lEWCkpOworI2VuZGlmCisJLypUQVMgVFNUIG1hY3JvIGRlZmluZSAqLworCUNMMURfUkZfVEFTX1RTVF9DT05GSUdfREVGSU5FKENMMV9DQVRfKFNldCwgRFJESV9DVVJfU0VUX0lEWCkpOworCS8qRUxOQSovCisJQ0wxRF9SRl9FTE5BX0NPTkZJR19ERUZJTkUoQ0wxX0NBVF8oU2V0LCBEUkRJX0NVUl9TRVRfSURYKSk7CisJI2lmIElTX0MyS19EQVRfUkZEX0NUUkxfRU4KKwkvKkRBVCovCisJQ0wxRF9SRl9EQVRfRkVfUk9VVEVfREFUQUJBU0VfREVGSU5FKENMMV9DQVRfKFNldCwgRFJESV9DVVJfU0VUX0lEWCkpOworCSNlbmRpZgorCSNpZiBJU19DMktfVURBVF9TVVBQT1JUIAorCUNMMURfUkZfVURBVF9BTlRfVFVORVJfUk9VVEVfREFUQUJBU0VfREVGSU5FKENMMV9DQVRfKFNldCwgRFJESV9DVVJfU0VUX0lEWCkpOworCSNlbmRpZgorCS8qIE90aGVyIHZhbHVlcyBhcmUgYWxsIGRlZmluZWQgaW4gY3VzdG9tIGZpbGVzICovICAgIAorICAgICNlbmRpZiAvKiBEUkRJX0RFRl9WQVJfREVGSU5FICovCisKKyAgICAjaWZkZWYgRFJESV9ERUZfU0VUX1BUUl9BUlJBWQorICAgICN1bmRlZiBOVlJBTV9JVEVNX1JGX0NVU1QKKyAgICAjdW5kZWYgTlZSQU1fSVRFTV9NSVBJCisgICAgI3VuZGVmIE5WUkFNX0lURU1fUkZfQ0FMCisgICAgI3VuZGVmIE5WUkFNX0lURU1fUkZfUE9DCisJI3VuZGVmIE5WUkFNX0lURU1fUkZfVEFTX1ZBUgorCSN1bmRlZiBOVlJBTV9JVEVNX1JGX1RBU19BUlJBWQorCSN1bmRlZiBOVlJBTV9JVEVNX0VMTkFfVkFSCisJI3VuZGVmIE5WUkFNX0lURU1fVFhfUE9XRVJfVkFSCisJI3VuZGVmIE5WUkFNX0lURU1fUkZfVEFTX1RTVAorICAgICNkZWZpbmUgTlZSQU1fSVRFTV9SRl9DVVNUKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpIFwKKyAgICAgICAgKHZvaWQqKSZOVlJBTV9JVEVNX1JGX0NVU1RfREVGQVVMVChuQU1FLCBhRkZJWCwgQ0wxX0NBVF8oU2V0LCBEUkRJX0NVUl9TRVRfSURYKSksCisgICAgI2RlZmluZSBOVlJBTV9JVEVNX01JUEkobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgICAgICAodm9pZCopTlZSQU1fSVRFTV9NSVBJX0RFRkFVTFQobkFNRSwgYUZGSVgsIENMMV9DQVRfKFNldCwgRFJESV9DVVJfU0VUX0lEWCkpLAorICAgICNkZWZpbmUgTlZSQU1fSVRFTV9SRl9DQUwobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgICAgICAodm9pZCopJk5WUkFNX0lURU1fUkZfQ0FMX0RFRkFVTFQobkFNRSwgYUZGSVgsIENMMV9DQVRfKFNldCwgRFJESV9DVVJfU0VUX0lEWCkpLAorICAgICNkZWZpbmUgTlZSQU1fSVRFTV9SRl9UQVNfVkFSKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpIFwKKyAgICAgICAgKHZvaWQqKSZOVlJBTV9JVEVNX1JGX1RBU19ERUZBVUxUKG5BTUUsIGFGRklYLCBDTDFfQ0FUXyhTZXQsIERSRElfQ1VSX1NFVF9JRFgpKSwKKyAgICAjZGVmaW5lIE5WUkFNX0lURU1fUkZfVEFTX0FSUkFZKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpIFwKKyAgICAgICAgKHZvaWQqKU5WUkFNX0lURU1fUkZfVEFTX0RFRkFVTFQobkFNRSwgYUZGSVgsIENMMV9DQVRfKFNldCwgRFJESV9DVVJfU0VUX0lEWCkpLAorICAgICNkZWZpbmUgTlZSQU1fSVRFTV9SRl9QT0MobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgICAgICAodm9pZCopJk5WUkFNX0lURU1fUkZfUE9DX0RFRkFVTFQobkFNRSwgYUZGSVgsIERlZmF1bHQpLAorICAgICNkZWZpbmUgTlZSQU1fSVRFTV9FTE5BX1ZBUihuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisgICAgICAgICh2b2lkKikmTlZSQU1fSVRFTV9SRl9FTE5BX0RFRkFVTFQobkFNRSwgYUZGSVgsIENMMV9DQVRfKFNldCwgRFJESV9DVVJfU0VUX0lEWCkpLAorICAgICNkZWZpbmUgTlZSQU1fSVRFTV9UWF9QT1dFUl9WQVIobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgICAgICAodm9pZCopJk5WUkFNX0lURU1fUkZfVFhfUE9XRVJfREVGQVVMVChuQU1FLCBhRkZJWCwgQ0wxX0NBVF8oU2V0LCBEUkRJX0NVUl9TRVRfSURYKSksCisgICAgI2RlZmluZSBOVlJBTV9JVEVNX1JGX1RBU19UU1QobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgICAgICAodm9pZCopJk5WUkFNX0lURU1fUkZfVEFTX1RTVF9ERUZBVUxUKG5BTUUsIGFGRklYLCBDTDFfQ0FUXyhTZXQsIERSRElfQ1VSX1NFVF9JRFgpKSwKKwl7CisJCSNpbmNsdWRlICJjbDFfbnZyYW1faWQuaCIKKwl9LAorICAgICNlbmRpZiAvKiBEUkRJX0RFRl9TRVRfUFRSX0FSUkFZICovCisjZW5kaWYKKyNlbmRpZgorCisjaWYgKGRlZmluZWQoX19NRDk3X18pIHx8IGRlZmluZWQoX19NRDk3UF9fKSkKKworI2lmIEMyS19UT1RBTF9SRUFMX1NFVF9OVU1TID4gRFJESV9DVVJfU0VUX0lEWAorICAgICNpZmRlZiBEUkRJX0RFRl9JTkNMVURFX0ZJTEUKKyAgICAgICAgI2luY2x1ZGUgQ0wxX1NUUl8oQ0wxX0NBVF8oRFJESS9TZXQsIERSRElfQ1VSX1NFVF9JRFgpL2Mya19jdXN0b21fcmYuaCkKKyAgICAgICAgI2luY2x1ZGUgQ0wxX1NUUl8oQ0wxX0NBVF8oRFJESS9TZXQsIERSRElfQ1VSX1NFVF9JRFgpL2Mya19jdXN0b21fcmYuYykKKwkKKwkJI2luY2x1ZGUgQ0wxX1NUUl8oQ0wxX0NBVF8oRFJESS9TZXQsIERSRElfQ1VSX1NFVF9JRFgpL2Mya19jdXN0b21fcmZfZHBkLmgpCisJCSNpbmNsdWRlIENMMV9TVFJfKENMMV9DQVRfKERSREkvU2V0LCBEUkRJX0NVUl9TRVRfSURYKS9jMmtfY3VzdG9tX3JmX2RwZC5jKQorCQkKKwkJI2luY2x1ZGUgQ0wxX1NUUl8oQ0wxX0NBVF8oRFJESS9TZXQsIERSRElfQ1VSX1NFVF9JRFgpL2Mya19jdXN0b21fcmZfdGFzLmgpCisJCSNpbmNsdWRlIENMMV9TVFJfKENMMV9DQVRfKERSREkvU2V0LCBEUkRJX0NVUl9TRVRfSURYKS9jMmtfY3VzdG9tX3JmX3Rhcy5jKQorCQkKKwkJI2luY2x1ZGUgQ0wxX1NUUl8oQ0wxX0NBVF8oRFJESS9TZXQsIERSRElfQ1VSX1NFVF9JRFgpL2Mya19jdXN0b21fcmZfZGF0LmgpCisJCSNpbmNsdWRlIENMMV9TVFJfKENMMV9DQVRfKERSREkvU2V0LCBEUkRJX0NVUl9TRVRfSURYKS9jMmtfY3VzdG9tX3JmX2RhdC5jKQorI2VuZGlmCisKKyAgICAjaWZkZWYgRFJESV9ERUZfVkFSX0RFQ0xBUkUgICAgICAgIAorICAgICN1bmRlZiBOVlJBTV9JVEVNX1JGX0NVU1QKKyAgICAjdW5kZWYgTlZSQU1fSVRFTV9NSVBJCisgICAgI3VuZGVmIE5WUkFNX0lURU1fUkZfQ0FMCisgICAgI3VuZGVmIE5WUkFNX0lURU1fUkZfUE9DCisJI3VuZGVmIE5WUkFNX0lURU1fUkZfVEFTX1ZBUgorCSN1bmRlZiBOVlJBTV9JVEVNX1JGX1RBU19BUlJBWQorCSN1bmRlZiBOVlJBTV9JVEVNX0VMTkFfVkFSCisJI3VuZGVmIE5WUkFNX0lURU1fVFhfUE9XRVJfVkFSCisJI3VuZGVmIE5WUkFNX0lURU1fUkZfVEFTX1RTVAorICAgICNkZWZpbmUgTlZSQU1fSVRFTV9SRl9DVVNUKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpIFwKKyAgICAgICAgZXh0ZXJuIGNvbnN0IENMMURfUkZfIyN0WVBFIE5WUkFNX0lURU1fUkZfQ1VTVF9ERUZBVUxUKG5BTUUsIGFGRklYLCBDTDFfQ0FUXyhTZXQsIERSRElfQ1VSX1NFVF9JRFgpKTsKKyAgICAjZGVmaW5lIE5WUkFNX0lURU1fTUlQSShuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisgICAgICAgIGV4dGVybiBjb25zdCBDTDFEX1JGXyMjdFlQRSBOVlJBTV9JVEVNX01JUElfREVGQVVMVChuQU1FLCBhRkZJWCwgQ0wxX0NBVF8oU2V0LCBEUkRJX0NVUl9TRVRfSURYKSlbXTsKKyAgICAjZGVmaW5lIE5WUkFNX0lURU1fUkZfQ0FMKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpIFwKKyAgICAgICAgZXh0ZXJuIENMMURfUkZfIyN0WVBFIE5WUkFNX0lURU1fUkZfQ0FMX0RFRkFVTFQobkFNRSwgYUZGSVgsIERlZmF1bHQpOworCSNkZWZpbmUgTlZSQU1fSVRFTV9SRl9UQVNfVkFSKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpIFwKKwkJZXh0ZXJuIGNvbnN0IEMyS19DVVNUT01fIyN0WVBFIE5WUkFNX0lURU1fUkZfVEFTX0RFRkFVTFQobkFNRSwgYUZGSVgsIENMMV9DQVRfKFNldCwgRFJESV9DVVJfU0VUX0lEWCkpOworCSNkZWZpbmUgTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorCQlleHRlcm4gY29uc3QgQ0wxRF9SRl8jI3RZUEUgTlZSQU1fSVRFTV9SRl9UQVNfREVGQVVMVChuQU1FLCBhRkZJWCwgQ0wxX0NBVF8oU2V0LCBEUkRJX0NVUl9TRVRfSURYKSlbXTsKKyAgICAjZGVmaW5lIE5WUkFNX0lURU1fUkZfUE9DKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpCisJI2RlZmluZSBOVlJBTV9JVEVNX0VMTkFfVkFSKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpIFwKKwkJZXh0ZXJuIGNvbnN0IENMMURfUkZfIyN0WVBFIE5WUkFNX0lURU1fUkZfRUxOQV9ERUZBVUxUKG5BTUUsIGFGRklYLCBDTDFfQ0FUXyhTZXQsIERSRElfQ1VSX1NFVF9JRFgpKTsKKwkjZGVmaW5lIE5WUkFNX0lURU1fVFhfUE9XRVJfVkFSKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpIFwKKwkJZXh0ZXJuIGNvbnN0IENMMURfUkZfIyN0WVBFIE5WUkFNX0lURU1fUkZfVFhfUE9XRVJfREVGQVVMVChuQU1FLCBhRkZJWCwgQ0wxX0NBVF8oU2V0LCBEUkRJX0NVUl9TRVRfSURYKSk7CisJI2RlZmluZSBOVlJBTV9JVEVNX1JGX1RBU19UU1QobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorCQlleHRlcm4gY29uc3QgQ0wxRF9SRl8jI3RZUEUgTlZSQU1fSVRFTV9SRl9UQVNfVFNUX0RFRkFVTFQobkFNRSwgYUZGSVgsIENMMV9DQVRfKFNldCwgRFJESV9DVVJfU0VUX0lEWCkpOworICAgICNpbmNsdWRlICJjbDFfbnZyYW1faWQuaCIKKyAgICAjZW5kaWYgLyogRFJESV9ERUZfVkFSX0RFQ0xBUkUgKi8KKworICAgICNpZmRlZiBEUkRJX0RFRl9WQVJfREVGSU5FCisgICAgQ0wxRF9SRl9DVVNUX1BBUkFNX0RFRklORShDTDFfQ0FUXyhTZXQsIERSRElfQ1VSX1NFVF9JRFgpKTsKKwlDTDFEX1JGX1RBU19CWV9SQVRfREFUQV9ERUZJTkUoQ0wxX0NBVF8oU2V0LCBEUkRJX0NVUl9TRVRfSURYKSk7CisJQ0wxRF9SRl9VVEFTX0FMR09SSVRITV9QQVJBTUVURVJfREVGSU5FKENMMV9DQVRfKFNldCwgRFJESV9DVVJfU0VUX0lEWCkpOworCQorCSNpZiBJU19DMktfSU5ESUNBVElPTl9GT1JfQVBfQ0xPQ0tfSE9QUElOR19TVVBQT1JUCisgICAgQ0wxRF9SRl9DVVNUX1JGX0hPUFBJTkdfREVGSU5FKENMMV9DQVRfKFNldCwgRFJESV9DVVJfU0VUX0lEWCkpOworCSNlbmRpZgorCisJLyogT3RoZXIgdmFsdWVzIGFyZSBhbGwgZGVmaW5lZCBpbiBjdXN0b20gZmlsZXMgKi8gICAgCisgICAgI2VuZGlmIC8qIERSRElfREVGX1ZBUl9ERUZJTkUgKi8KKworICAgICNpZmRlZiBEUkRJX0RFRl9TRVRfUFRSX0FSUkFZCisgICAgI3VuZGVmIE5WUkFNX0lURU1fUkZfQ1VTVAorICAgICN1bmRlZiBOVlJBTV9JVEVNX01JUEkKKyAgICAjdW5kZWYgTlZSQU1fSVRFTV9SRl9DQUwKKyAgICAjdW5kZWYgTlZSQU1fSVRFTV9SRl9QT0MKKwkjdW5kZWYgTlZSQU1fSVRFTV9SRl9UQVNfVkFSCisJI3VuZGVmIE5WUkFNX0lURU1fUkZfVEFTX0FSUkFZCisJI3VuZGVmIE5WUkFNX0lURU1fRUxOQV9WQVIKKwkjdW5kZWYgTlZSQU1fSVRFTV9UWF9QT1dFUl9WQVIKKwkjdW5kZWYgTlZSQU1fSVRFTV9SRl9UQVNfVFNUCisgICAgI2RlZmluZSBOVlJBTV9JVEVNX1JGX0NVU1QobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgICAgICAodm9pZCopJk5WUkFNX0lURU1fUkZfQ1VTVF9ERUZBVUxUKG5BTUUsIGFGRklYLCBDTDFfQ0FUXyhTZXQsIERSRElfQ1VSX1NFVF9JRFgpKSwKKyAgICAjZGVmaW5lIE5WUkFNX0lURU1fTUlQSShuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisgICAgICAgICh2b2lkKilOVlJBTV9JVEVNX01JUElfREVGQVVMVChuQU1FLCBhRkZJWCwgQ0wxX0NBVF8oU2V0LCBEUkRJX0NVUl9TRVRfSURYKSksCisgICAgI2RlZmluZSBOVlJBTV9JVEVNX1JGX0NBTChuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisgICAgICAgICh2b2lkKikmTlZSQU1fSVRFTV9SRl9DQUxfREVGQVVMVChuQU1FLCBhRkZJWCwgRGVmYXVsdCksCisgICAgI2RlZmluZSBOVlJBTV9JVEVNX1JGX1RBU19WQVIobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgICAgICAodm9pZCopJk5WUkFNX0lURU1fUkZfVEFTX0RFRkFVTFQobkFNRSwgYUZGSVgsIENMMV9DQVRfKFNldCwgRFJESV9DVVJfU0VUX0lEWCkpLAorICAgICNkZWZpbmUgTlZSQU1fSVRFTV9SRl9UQVNfQVJSQVkobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgICAgICAodm9pZCopTlZSQU1fSVRFTV9SRl9UQVNfREVGQVVMVChuQU1FLCBhRkZJWCwgQ0wxX0NBVF8oU2V0LCBEUkRJX0NVUl9TRVRfSURYKSksCisgICAgI2RlZmluZSBOVlJBTV9JVEVNX1JGX1BPQyhuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisgICAgICAgICh2b2lkKikmTlZSQU1fSVRFTV9SRl9QT0NfREVGQVVMVChuQU1FLCBhRkZJWCwgRGVmYXVsdCksCisgICAgI2RlZmluZSBOVlJBTV9JVEVNX0VMTkFfVkFSKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpIFwKKyAgICAgICAgKHZvaWQqKSZOVlJBTV9JVEVNX1JGX0VMTkFfREVGQVVMVChuQU1FLCBhRkZJWCwgQ0wxX0NBVF8oU2V0LCBEUkRJX0NVUl9TRVRfSURYKSksCisgICAgI2RlZmluZSBOVlJBTV9JVEVNX1RYX1BPV0VSX1ZBUihuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisgICAgICAgICh2b2lkKikmTlZSQU1fSVRFTV9SRl9UWF9QT1dFUl9ERUZBVUxUKG5BTUUsIGFGRklYLCBDTDFfQ0FUXyhTZXQsIERSRElfQ1VSX1NFVF9JRFgpKSwKKyAgICAjZGVmaW5lIE5WUkFNX0lURU1fUkZfVEFTX1RTVChuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisgICAgICAgICh2b2lkKikmTlZSQU1fSVRFTV9SRl9UQVNfVFNUX0RFRkFVTFQobkFNRSwgYUZGSVgsIENMMV9DQVRfKFNldCwgRFJESV9DVVJfU0VUX0lEWCkpLAorCXsKKwkJI2luY2x1ZGUgImNsMV9udnJhbV9pZC5oIgorCX0sCisgICAgI2VuZGlmIC8qIERSRElfREVGX1NFVF9QVFJfQVJSQVkgKi8KKyNlbmRpZgorCisjZW5kaWYKKworCisKKwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvcmZkL2V4dGVybmFsL2NvbW0vcmZfY3VzdG9tL2NsMV9yZl9jb21tb24uaCBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL3JmZC9leHRlcm5hbC9jb21tL3JmX2N1c3RvbS9jbDFfcmZfY29tbW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGM4ODIzMgotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL3JmZC9leHRlcm5hbC9jb21tL3JmX2N1c3RvbS9jbDFfcmZfY29tbW9uLmgKQEAgLTAsMCArMSwxMTIwIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfQ0wxX1JGX0NPTU1PTl9IXworI2RlZmluZSBfQ0wxX1JGX0NPTU1PTl9IXworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBJbmNsdWRlIEZpbGVzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoqIENvbW1vbiBzZXR0aW5nIGZvciBhbGwgUkYKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBUaGlzIHBhcnQgc2VydmVzIGFzIGRlZmF1bHQgdmFsdWUgb2YgdW5kZWZpbmVkIG1hY3JvIGNvbnN0YW50cyBpbiBjMmtfY3VzdG9tX3JmLmggKi8KKy8qIEFpbSB0byBhY2NvbW1vZGF0ZSB0byB0aG9zZSBkaWZmZXJlbmNlIGJldHdlZW4gUkYgY2hpcHMgKi8KKworLyogLS0tIEFkZCB0aGUgZGVmaW5pdGlvbiBvZiBsMWNvcmUgLS0tKi8KKyNpZm5kZWYgTV9VUzJDSElQCisjZGVmaW5lIE1fVVMyRUNISVAodVMpICAgICAgICAgICAgICAoKCh1UykgKiAxMjI4OCAqIDggKyA1MDAwKSAvIDEwMDAwKQorI2VuZGlmCisKKworLyogLS0tIFJGIHN1cHBvcnRlZCBiYW5kIGRlZmF1bHQgdmFsdWUgLS0tKi8KKyNpZm5kZWYgQ1VTVF9CQU5EX0EKKyNkZWZpbmUgIENVU1RfQkFORF9BICAgICAgICAgICAgU1lTX0JBTkRfQ0xBU1NfTk9UX1VTRUQKKyNkZWZpbmUgIEJBTkRfQV9TVVBQT1JURUQgICAgICAgS0FMX0ZBTFNFCisjZW5kaWYKKyNpZm5kZWYgQ1VTVF9CQU5EX0IKKyNkZWZpbmUgIENVU1RfQkFORF9CICAgICAgICAgICAgU1lTX0JBTkRfQ0xBU1NfTk9UX1VTRUQKKyNkZWZpbmUgIEJBTkRfQl9TVVBQT1JURUQgICAgICAgS0FMX0ZBTFNFCisjZW5kaWYKKyNpZm5kZWYgQ1VTVF9CQU5EX0MKKyNkZWZpbmUgIENVU1RfQkFORF9DICAgICAgICAgICAgU1lTX0JBTkRfQ0xBU1NfTk9UX1VTRUQKKyNkZWZpbmUgIEJBTkRfQ19TVVBQT1JURUQgICAgICAgS0FMX0ZBTFNFCisjZW5kaWYKKyNpZm5kZWYgQ1VTVF9CQU5EX0QKKyNkZWZpbmUgIENVU1RfQkFORF9EICAgICAgICAgICAgU1lTX0JBTkRfQ0xBU1NfTk9UX1VTRUQKKyNkZWZpbmUgIEJBTkRfRF9TVVBQT1JURUQgICAgICAgS0FMX0ZBTFNFCisjZW5kaWYKKyNpZm5kZWYgQ1VTVF9CQU5EX0UKKyNkZWZpbmUgIENVU1RfQkFORF9FICAgICAgICAgICAgU1lTX0JBTkRfQ0xBU1NfTk9UX1VTRUQKKyNkZWZpbmUgIEJBTkRfRV9TVVBQT1JURUQgICAgICAgS0FMX0ZBTFNFCisjZW5kaWYKKworCisvKiAtLS0gUkYgV2luZG93IEJQSSBtYXNrIGRlZmF1bHQgdmFsdWUgLS0tICovCisjaWZuZGVmICBQTUFTS19CQU5EX0FfUFIxCisgICAjZGVmaW5lICBQTUFTS19CQU5EX0FfUFIxICAgICAwCisgICAjZGVmaW5lICBQTUFTS19CQU5EX0FfUFIyICAgICAwCisgICAjZGVmaW5lICBQTUFTS19CQU5EX0FfUFIzICAgICAwCisgICAjZGVmaW5lICBQTUFTS19CQU5EX0FfUFQxICAgICAwCisgICAjZGVmaW5lICBQTUFTS19CQU5EX0FfUFQyICAgICAwCisgICAjZGVmaW5lICBQTUFTS19CQU5EX0FfUFQzICAgICAwCisjZW5kaWYKKyNpZm5kZWYgIFBNQVNLX0JBTkRfQl9QUjEKKyAgICNkZWZpbmUgIFBNQVNLX0JBTkRfQl9QUjEgICAgIDAKKyAgICNkZWZpbmUgIFBNQVNLX0JBTkRfQl9QUjIgICAgIDAKKyAgICNkZWZpbmUgIFBNQVNLX0JBTkRfQl9QUjMgICAgIDAKKyAgICNkZWZpbmUgIFBNQVNLX0JBTkRfQl9QVDEgICAgIDAKKyAgICNkZWZpbmUgIFBNQVNLX0JBTkRfQl9QVDIgICAgIDAKKyAgICNkZWZpbmUgIFBNQVNLX0JBTkRfQl9QVDMgICAgIDAKKyNlbmRpZgorI2lmbmRlZiAgUE1BU0tfQkFORF9DX1BSMQorICAgI2RlZmluZSAgUE1BU0tfQkFORF9DX1BSMSAgICAgMAorICAgI2RlZmluZSAgUE1BU0tfQkFORF9DX1BSMiAgICAgMAorICAgI2RlZmluZSAgUE1BU0tfQkFORF9DX1BSMyAgICAgMAorICAgI2RlZmluZSAgUE1BU0tfQkFORF9DX1BUMSAgICAgMAorICAgI2RlZmluZSAgUE1BU0tfQkFORF9DX1BUMiAgICAgMAorICAgI2RlZmluZSAgUE1BU0tfQkFORF9DX1BUMyAgICAgMAorI2VuZGlmCisjaWZuZGVmICBQTUFTS19CQU5EX0RfUFIxCisgICAjZGVmaW5lICBQTUFTS19CQU5EX0RfUFIxICAgICAwCisgICAjZGVmaW5lICBQTUFTS19CQU5EX0RfUFIyICAgICAwCisgICAjZGVmaW5lICBQTUFTS19CQU5EX0RfUFIzICAgICAwCisgICAjZGVmaW5lICBQTUFTS19CQU5EX0RfUFQxICAgICAwCisgICAjZGVmaW5lICBQTUFTS19CQU5EX0RfUFQyICAgICAwCisgICAjZGVmaW5lICBQTUFTS19CQU5EX0RfUFQzICAgICAwCisjZW5kaWYKKyNpZm5kZWYgIFBNQVNLX0JBTkRfRV9QUjEKKyAgICNkZWZpbmUgIFBNQVNLX0JBTkRfRV9QUjEgICAgIDAKKyAgICNkZWZpbmUgIFBNQVNLX0JBTkRfRV9QUjIgICAgIDAKKyAgICNkZWZpbmUgIFBNQVNLX0JBTkRfRV9QUjMgICAgIDAKKyAgICNkZWZpbmUgIFBNQVNLX0JBTkRfRV9QVDEgICAgIDAKKyAgICNkZWZpbmUgIFBNQVNLX0JBTkRfRV9QVDIgICAgIDAKKyAgICNkZWZpbmUgIFBNQVNLX0JBTkRfRV9QVDMgICAgIDAKKyNlbmRpZgorCisjaWZuZGVmIFBNQVNLX0JBTkRfQV9QUjJCCisgICAjZGVmaW5lIFBNQVNLX0JBTkRfQV9QUjJCIDAKKyNlbmRpZgorI2lmbmRlZiBQTUFTS19CQU5EX0FfUFIzQQorICAgI2RlZmluZSBQTUFTS19CQU5EX0FfUFIzQSAwCisjZW5kaWYKKyNpZm5kZWYgUE1BU0tfQkFORF9BX1BUMkIKKyAgICNkZWZpbmUgUE1BU0tfQkFORF9BX1BUMkIgMAorI2VuZGlmCisjaWZuZGVmIFBNQVNLX0JBTkRfQV9QVDNBCisgICAjZGVmaW5lIFBNQVNLX0JBTkRfQV9QVDNBIDAKKyNlbmRpZgorCisjaWZuZGVmIFBNQVNLX0JBTkRfQl9QUjJCCisgICAjZGVmaW5lIFBNQVNLX0JBTkRfQl9QUjJCIDAKKyNlbmRpZgorI2lmbmRlZiBQTUFTS19CQU5EX0JfUFIzQQorICAgI2RlZmluZSBQTUFTS19CQU5EX0JfUFIzQSAwCisjZW5kaWYKKyNpZm5kZWYgUE1BU0tfQkFORF9CX1BUMkIKKyAgICNkZWZpbmUgUE1BU0tfQkFORF9CX1BUMkIgMAorI2VuZGlmCisjaWZuZGVmIFBNQVNLX0JBTkRfQl9QVDNBCisgICAjZGVmaW5lIFBNQVNLX0JBTkRfQl9QVDNBIDAKKyNlbmRpZgorCisjaWZuZGVmIFBNQVNLX0JBTkRfQ19QUjJCCisgICAjZGVmaW5lIFBNQVNLX0JBTkRfQ19QUjJCIDAKKyNlbmRpZgorI2lmbmRlZiBQTUFTS19CQU5EX0NfUFIzQQorICAgI2RlZmluZSBQTUFTS19CQU5EX0NfUFIzQSAwCisjZW5kaWYKKyNpZm5kZWYgUE1BU0tfQkFORF9DX1BUMkIKKyAgICNkZWZpbmUgUE1BU0tfQkFORF9DX1BUMkIgMAorI2VuZGlmCisjaWZuZGVmIFBNQVNLX0JBTkRfQ19QVDNBCisgICAjZGVmaW5lIFBNQVNLX0JBTkRfQ19QVDNBIDAKKyNlbmRpZgorI2lmbmRlZiBQTUFTS19CQU5EX0RfUFIyQgorICAgI2RlZmluZSBQTUFTS19CQU5EX0RfUFIyQiAwCisjZW5kaWYKKyNpZm5kZWYgUE1BU0tfQkFORF9EX1BSM0EKKyAgICNkZWZpbmUgUE1BU0tfQkFORF9EX1BSM0EgMAorI2VuZGlmCisjaWZuZGVmIFBNQVNLX0JBTkRfRF9QVDJCCisgICAjZGVmaW5lIFBNQVNLX0JBTkRfRF9QVDJCIDAKKyNlbmRpZgorI2lmbmRlZiBQTUFTS19CQU5EX0RfUFQzQQorICAgI2RlZmluZSBQTUFTS19CQU5EX0RfUFQzQSAwCisjZW5kaWYKKyNpZm5kZWYgUE1BU0tfQkFORF9FX1BSMkIKKyAgICNkZWZpbmUgUE1BU0tfQkFORF9FX1BSMkIgMAorI2VuZGlmCisjaWZuZGVmIFBNQVNLX0JBTkRfRV9QUjNBCisgICAjZGVmaW5lIFBNQVNLX0JBTkRfRV9QUjNBIDAKKyNlbmRpZgorI2lmbmRlZiBQTUFTS19CQU5EX0VfUFQyQgorICAgI2RlZmluZSBQTUFTS19CQU5EX0VfUFQyQiAwCisjZW5kaWYKKyNpZm5kZWYgUE1BU0tfQkFORF9FX1BUM0EKKyAgICNkZWZpbmUgUE1BU0tfQkFORF9FX1BUM0EgMAorI2VuZGlmCisKKy8vQWRkIGZvciBSWEQKKyNpZm5kZWYgIFBNQVNLMl9CQU5EX0FfUFIxCisgICAjZGVmaW5lICBQTUFTSzJfQkFORF9BX1BSMSAgICAgMAorICAgI2RlZmluZSAgUE1BU0syX0JBTkRfQV9QUjIgICAgIDAKKyAgICNkZWZpbmUgIFBNQVNLMl9CQU5EX0FfUFIzICAgICAwCisjZW5kaWYKKyNpZm5kZWYgIFBNQVNLMl9CQU5EX0JfUFIxCisgICAjZGVmaW5lICBQTUFTSzJfQkFORF9CX1BSMSAgICAgMAorICAgI2RlZmluZSAgUE1BU0syX0JBTkRfQl9QUjIgICAgIDAKKyAgICNkZWZpbmUgIFBNQVNLMl9CQU5EX0JfUFIzICAgICAwCisjZW5kaWYKKyNpZm5kZWYgIFBNQVNLMl9CQU5EX0NfUFIxCisgICAjZGVmaW5lICBQTUFTSzJfQkFORF9DX1BSMSAgICAgMAorICAgI2RlZmluZSAgUE1BU0syX0JBTkRfQ19QUjIgICAgIDAKKyAgICNkZWZpbmUgIFBNQVNLMl9CQU5EX0NfUFIzICAgICAwCisjZW5kaWYKKyNpZm5kZWYgIFBNQVNLMl9CQU5EX0RfUFIxCisgICAjZGVmaW5lICBQTUFTSzJfQkFORF9EX1BSMSAgICAgMAorICAgI2RlZmluZSAgUE1BU0syX0JBTkRfRF9QUjIgICAgIDAKKyAgICNkZWZpbmUgIFBNQVNLMl9CQU5EX0RfUFIzICAgICAwCisjZW5kaWYKKyNpZm5kZWYgIFBNQVNLMl9CQU5EX0VfUFIxCisgICAjZGVmaW5lICBQTUFTSzJfQkFORF9FX1BSMSAgICAgMAorICAgI2RlZmluZSAgUE1BU0syX0JBTkRfRV9QUjIgICAgIDAKKyAgICNkZWZpbmUgIFBNQVNLMl9CQU5EX0VfUFIzICAgICAwCisjZW5kaWYKKworI2lmbmRlZiBQTUFTSzJfQkFORF9BX1BSMkIKKyAgICNkZWZpbmUgUE1BU0syX0JBTkRfQV9QUjJCIDAKKyNlbmRpZgorI2lmbmRlZiBQTUFTSzJfQkFORF9BX1BSM0EKKyAgICNkZWZpbmUgUE1BU0syX0JBTkRfQV9QUjNBIDAKKyNlbmRpZgorI2lmbmRlZiBQTUFTSzJfQkFORF9CX1BSMkIKKyAgICNkZWZpbmUgUE1BU0syX0JBTkRfQl9QUjJCIDAKKyNlbmRpZgorI2lmbmRlZiBQTUFTSzJfQkFORF9CX1BSM0EKKyAgICNkZWZpbmUgUE1BU0syX0JBTkRfQl9QUjNBIDAKKyNlbmRpZgorI2lmbmRlZiBQTUFTSzJfQkFORF9DX1BSMkIKKyAgICNkZWZpbmUgUE1BU0syX0JBTkRfQ19QUjJCIDAKKyNlbmRpZgorI2lmbmRlZiBQTUFTSzJfQkFORF9DX1BSM0EKKyAgICNkZWZpbmUgUE1BU0syX0JBTkRfQ19QUjNBIDAKKyNlbmRpZgorI2lmbmRlZiBQTUFTSzJfQkFORF9EX1BSMkIKKyAgICNkZWZpbmUgUE1BU0syX0JBTkRfRF9QUjJCIDAKKyNlbmRpZgorI2lmbmRlZiBQTUFTSzJfQkFORF9EX1BSM0EKKyAgICNkZWZpbmUgUE1BU0syX0JBTkRfRF9QUjNBIDAKKyNlbmRpZgorI2lmbmRlZiBQTUFTSzJfQkFORF9FX1BSMkIKKyAgICNkZWZpbmUgUE1BU0syX0JBTkRfRV9QUjJCIDAKKyNlbmRpZgorI2lmbmRlZiBQTUFTSzJfQkFORF9FX1BSM0EKKyAgICNkZWZpbmUgUE1BU0syX0JBTkRfRV9QUjNBIDAKKyNlbmRpZgorCisKKy8qIC0tLSBCUEkgZGF0YSBkZWZhdWx0IHZhbHVlIC0tLSAqLworI2lmbmRlZiAgUERBVEFfQkFORF9BX1BSMQorICAgI2RlZmluZSAgUERBVEFfQkFORF9BX1BSMSAgICAgMAorICAgI2RlZmluZSAgUERBVEFfQkFORF9BX1BSMiAgICAgMAorICAgI2RlZmluZSAgUERBVEFfQkFORF9BX1BSMyAgICAgMAorICAgI2RlZmluZSAgUERBVEFfQkFORF9BX1BUMSAgICAgMAorICAgI2RlZmluZSAgUERBVEFfQkFORF9BX1BUMiAgICAgMAorICAgI2RlZmluZSAgUERBVEFfQkFORF9BX1BUMyAgICAgMAorI2VuZGlmCisjaWZuZGVmICBQREFUQV9CQU5EX0JfUFIxCisgICAjZGVmaW5lICBQREFUQV9CQU5EX0JfUFIxICAgICAwCisgICAjZGVmaW5lICBQREFUQV9CQU5EX0JfUFIyICAgICAwCisgICAjZGVmaW5lICBQREFUQV9CQU5EX0JfUFIzICAgICAwCisgICAjZGVmaW5lICBQREFUQV9CQU5EX0JfUFQxICAgICAwCisgICAjZGVmaW5lICBQREFUQV9CQU5EX0JfUFQyICAgICAwCisgICAjZGVmaW5lICBQREFUQV9CQU5EX0JfUFQzICAgICAwCisjZW5kaWYKKyNpZm5kZWYgIFBEQVRBX0JBTkRfQ19QUjEKKyAgICNkZWZpbmUgIFBEQVRBX0JBTkRfQ19QUjEgICAgIDAKKyAgICNkZWZpbmUgIFBEQVRBX0JBTkRfQ19QUjIgICAgIDAKKyAgICNkZWZpbmUgIFBEQVRBX0JBTkRfQ19QUjMgICAgIDAKKyAgICNkZWZpbmUgIFBEQVRBX0JBTkRfQ19QVDEgICAgIDAKKyAgICNkZWZpbmUgIFBEQVRBX0JBTkRfQ19QVDIgICAgIDAKKyAgICNkZWZpbmUgIFBEQVRBX0JBTkRfQ19QVDMgICAgIDAKKyNlbmRpZgorI2lmbmRlZiAgUERBVEFfQkFORF9EX1BSMQorICAgI2RlZmluZSAgUERBVEFfQkFORF9EX1BSMSAgICAgMAorICAgI2RlZmluZSAgUERBVEFfQkFORF9EX1BSMiAgICAgMAorICAgI2RlZmluZSAgUERBVEFfQkFORF9EX1BSMyAgICAgMAorICAgI2RlZmluZSAgUERBVEFfQkFORF9EX1BUMSAgICAgMAorICAgI2RlZmluZSAgUERBVEFfQkFORF9EX1BUMiAgICAgMAorICAgI2RlZmluZSAgUERBVEFfQkFORF9EX1BUMyAgICAgMAorI2VuZGlmCisjaWZuZGVmICBQREFUQV9CQU5EX0VfUFIxCisgICAjZGVmaW5lICBQREFUQV9CQU5EX0VfUFIxICAgICAwCisgICAjZGVmaW5lICBQREFUQV9CQU5EX0VfUFIyICAgICAwCisgICAjZGVmaW5lICBQREFUQV9CQU5EX0VfUFIzICAgICAwCisgICAjZGVmaW5lICBQREFUQV9CQU5EX0VfUFQxICAgICAwCisgICAjZGVmaW5lICBQREFUQV9CQU5EX0VfUFQyICAgICAwCisgICAjZGVmaW5lICBQREFUQV9CQU5EX0VfUFQzICAgICAwCisjZW5kaWYKKworI2lmbmRlZiBQREFUQV9CQU5EX0FfUFIyQgorICAgI2RlZmluZSBQREFUQV9CQU5EX0FfUFIyQiAwCisjZW5kaWYKKyNpZm5kZWYgUERBVEFfQkFORF9BX1BSM0EKKyAgICNkZWZpbmUgUERBVEFfQkFORF9BX1BSM0EgMAorI2VuZGlmCisjaWZuZGVmIFBEQVRBX0JBTkRfQV9QVDJCCisgICAjZGVmaW5lIFBEQVRBX0JBTkRfQV9QVDJCIDAKKyNlbmRpZgorI2lmbmRlZiBQREFUQV9CQU5EX0FfUFQzQQorICAgI2RlZmluZSBQREFUQV9CQU5EX0FfUFQzQSAwCisjZW5kaWYKKworI2lmbmRlZiBQREFUQV9CQU5EX0JfUFIyQgorICAgI2RlZmluZSBQREFUQV9CQU5EX0JfUFIyQiAwCisjZW5kaWYKKyNpZm5kZWYgUERBVEFfQkFORF9CX1BSM0EKKyAgICNkZWZpbmUgUERBVEFfQkFORF9CX1BSM0EgMAorI2VuZGlmCisjaWZuZGVmIFBEQVRBX0JBTkRfQl9QVDJCCisgICAjZGVmaW5lIFBEQVRBX0JBTkRfQl9QVDJCIDAKKyNlbmRpZgorI2lmbmRlZiBQREFUQV9CQU5EX0JfUFQzQQorICAgI2RlZmluZSBQREFUQV9CQU5EX0JfUFQzQSAwCisjZW5kaWYKKworI2lmbmRlZiBQREFUQV9CQU5EX0NfUFIyQgorICAgI2RlZmluZSBQREFUQV9CQU5EX0NfUFIyQiAwCisjZW5kaWYKKyNpZm5kZWYgUERBVEFfQkFORF9DX1BSM0EKKyAgICNkZWZpbmUgUERBVEFfQkFORF9DX1BSM0EgMAorI2VuZGlmCisjaWZuZGVmIFBEQVRBX0JBTkRfQ19QVDJCCisgICAjZGVmaW5lIFBEQVRBX0JBTkRfQ19QVDJCIDAKKyNlbmRpZgorI2lmbmRlZiBQREFUQV9CQU5EX0NfUFQzQQorICAgI2RlZmluZSBQREFUQV9CQU5EX0NfUFQzQSAwCisjZW5kaWYKKworI2lmbmRlZiBQREFUQV9CQU5EX0RfUFIyQgorICAgI2RlZmluZSBQREFUQV9CQU5EX0RfUFIyQiAwCisjZW5kaWYKKyNpZm5kZWYgUERBVEFfQkFORF9EX1BSM0EKKyAgICNkZWZpbmUgUERBVEFfQkFORF9EX1BSM0EgMAorI2VuZGlmCisjaWZuZGVmIFBEQVRBX0JBTkRfRF9QVDJCCisgICAjZGVmaW5lIFBEQVRBX0JBTkRfRF9QVDJCIDAKKyNlbmRpZgorI2lmbmRlZiBQREFUQV9CQU5EX0RfUFQzQQorICAgI2RlZmluZSBQREFUQV9CQU5EX0RfUFQzQSAwCisjZW5kaWYKKworI2lmbmRlZiBQREFUQV9CQU5EX0VfUFIyQgorICAgI2RlZmluZSBQREFUQV9CQU5EX0VfUFIyQiAwCisjZW5kaWYKKyNpZm5kZWYgUERBVEFfQkFORF9FX1BSM0EKKyAgICNkZWZpbmUgUERBVEFfQkFORF9FX1BSM0EgMAorI2VuZGlmCisjaWZuZGVmIFBEQVRBX0JBTkRfRV9QVDJCCisgICAjZGVmaW5lIFBEQVRBX0JBTkRfRV9QVDJCIDAKKyNlbmRpZgorI2lmbmRlZiBQREFUQV9CQU5EX0VfUFQzQQorICAgI2RlZmluZSBQREFUQV9CQU5EX0VfUFQzQSAwCisjZW5kaWYKKworLy9BZGQgZm9yIFJYRAorI2lmbmRlZiAgUERBVEEyX0JBTkRfQV9QUjEKKyAgICNkZWZpbmUgIFBEQVRBMl9CQU5EX0FfUFIxICAgICAwCisgICAjZGVmaW5lICBQREFUQTJfQkFORF9BX1BSMiAgICAgMAorICAgI2RlZmluZSAgUERBVEEyX0JBTkRfQV9QUjMgICAgIDAKKyNlbmRpZgorI2lmbmRlZiAgUERBVEEyX0JBTkRfQl9QUjEKKyAgICNkZWZpbmUgIFBEQVRBMl9CQU5EX0JfUFIxICAgICAwCisgICAjZGVmaW5lICBQREFUQTJfQkFORF9CX1BSMiAgICAgMAorICAgI2RlZmluZSAgUERBVEEyX0JBTkRfQl9QUjMgICAgIDAKKyNlbmRpZgorI2lmbmRlZiAgUERBVEEyX0JBTkRfQ19QUjEKKyAgICNkZWZpbmUgIFBEQVRBMl9CQU5EX0NfUFIxICAgICAwCisgICAjZGVmaW5lICBQREFUQTJfQkFORF9DX1BSMiAgICAgMAorICAgI2RlZmluZSAgUERBVEEyX0JBTkRfQ19QUjMgICAgIDAKKyNlbmRpZgorI2lmbmRlZiAgUERBVEEyX0JBTkRfRF9QUjEKKyAgICNkZWZpbmUgIFBEQVRBMl9CQU5EX0RfUFIxICAgICAwCisgICAjZGVmaW5lICBQREFUQTJfQkFORF9EX1BSMiAgICAgMAorICAgI2RlZmluZSAgUERBVEEyX0JBTkRfRF9QUjMgICAgIDAKKyNlbmRpZgorI2lmbmRlZiAgUERBVEEyX0JBTkRfRV9QUjEKKyAgICNkZWZpbmUgIFBEQVRBMl9CQU5EX0VfUFIxICAgICAwCisgICAjZGVmaW5lICBQREFUQTJfQkFORF9FX1BSMiAgICAgMAorICAgI2RlZmluZSAgUERBVEEyX0JBTkRfRV9QUjMgICAgIDAKKyNlbmRpZgorCisjaWZuZGVmIFBEQVRBMl9CQU5EX0FfUFIyQgorICAgI2RlZmluZSBQREFUQTJfQkFORF9BX1BSMkIgMAorI2VuZGlmCisjaWZuZGVmIFBEQVRBMl9CQU5EX0FfUFIzQQorICAgI2RlZmluZSBQREFUQTJfQkFORF9BX1BSM0EgMAorI2VuZGlmCisjaWZuZGVmIFBEQVRBMl9CQU5EX0JfUFIyQgorICAgI2RlZmluZSBQREFUQTJfQkFORF9CX1BSMkIgMAorI2VuZGlmCisjaWZuZGVmIFBEQVRBMl9CQU5EX0JfUFIzQQorICAgI2RlZmluZSBQREFUQTJfQkFORF9CX1BSM0EgMAorI2VuZGlmCisjaWZuZGVmIFBEQVRBMl9CQU5EX0NfUFIyQgorICAgI2RlZmluZSBQREFUQTJfQkFORF9DX1BSMkIgMAorI2VuZGlmCisjaWZuZGVmIFBEQVRBMl9CQU5EX0NfUFIzQQorICAgI2RlZmluZSBQREFUQTJfQkFORF9DX1BSM0EgMAorI2VuZGlmCisjaWZuZGVmIFBEQVRBMl9CQU5EX0RfUFIyQgorICAgI2RlZmluZSBQREFUQTJfQkFORF9EX1BSMkIgMAorI2VuZGlmCisjaWZuZGVmIFBEQVRBMl9CQU5EX0RfUFIzQQorICAgI2RlZmluZSBQREFUQTJfQkFORF9EX1BSM0EgMAorI2VuZGlmCisjaWZuZGVmIFBEQVRBMl9CQU5EX0VfUFIyQgorICAgI2RlZmluZSBQREFUQTJfQkFORF9FX1BSMkIgMAorI2VuZGlmCisjaWZuZGVmIFBEQVRBMl9CQU5EX0VfUFIzQQorICAgI2RlZmluZSBQREFUQTJfQkFORF9FX1BSM0EgMAorI2VuZGlmCisKKworLyogVFggR0FURSBkZWZhdWx0IHZhbHVlICovCisjaWZuZGVmICBQTUFTS19CQU5EX0FfUFJHMQorICAgI2RlZmluZSAgUE1BU0tfQkFORF9BX1BSRzEgICAgIDAKKyAgICNkZWZpbmUgIFBNQVNLX0JBTkRfQV9QUkcyICAgICAwCisgICAjZGVmaW5lICBQTUFTS19CQU5EX0FfUFJHMyAgICAgMAorI2VuZGlmCisjaWZuZGVmICBQTUFTS19CQU5EX0FfUFRHMQorICAgI2RlZmluZSAgUE1BU0tfQkFORF9BX1BURzEgICAgIDAKKyAgICNkZWZpbmUgIFBNQVNLX0JBTkRfQV9QVEcyICAgICAwCisgICAjZGVmaW5lICBQTUFTS19CQU5EX0FfUFRHMyAgICAgMAorI2VuZGlmCisjaWZuZGVmICBQTUFTS19CQU5EX0JfUFJHMQorICAgI2RlZmluZSAgUE1BU0tfQkFORF9CX1BSRzEgICAgIDAKKyAgICNkZWZpbmUgIFBNQVNLX0JBTkRfQl9QUkcyICAgICAwCisgICAjZGVmaW5lICBQTUFTS19CQU5EX0JfUFJHMyAgICAgMAorI2VuZGlmCisjaWZuZGVmICBQTUFTS19CQU5EX0JfUFRHMQorI2RlZmluZSAgUE1BU0tfQkFORF9CX1BURzEgICAgIDAKKyNkZWZpbmUgIFBNQVNLX0JBTkRfQl9QVEcyICAgICAwCisjZGVmaW5lICBQTUFTS19CQU5EX0JfUFRHMyAgICAgMAorI2VuZGlmCisjaWZuZGVmICBQTUFTS19CQU5EX0NfUFJHMQorICAgI2RlZmluZSAgUE1BU0tfQkFORF9DX1BSRzEgICAgIDAKKyAgICNkZWZpbmUgIFBNQVNLX0JBTkRfQ19QUkcyICAgICAwCisgICAjZGVmaW5lICBQTUFTS19CQU5EX0NfUFJHMyAgICAgMAorI2VuZGlmCisjaWZuZGVmICBQTUFTS19CQU5EX0NfUFRHMQorI2RlZmluZSAgUE1BU0tfQkFORF9DX1BURzEgICAgIDAKKyNkZWZpbmUgIFBNQVNLX0JBTkRfQ19QVEcyICAgICAwCisjZGVmaW5lICBQTUFTS19CQU5EX0NfUFRHMyAgICAgMAorI2VuZGlmCisjaWZuZGVmICBQTUFTS19CQU5EX0RfUFJHMQorICAgI2RlZmluZSAgUE1BU0tfQkFORF9EX1BSRzEgICAgIDAKKyAgICNkZWZpbmUgIFBNQVNLX0JBTkRfRF9QUkcyICAgICAwCisgICAjZGVmaW5lICBQTUFTS19CQU5EX0RfUFJHMyAgICAgMAorI2VuZGlmCisjaWZuZGVmICBQTUFTS19CQU5EX0RfUFRHMQorI2RlZmluZSAgUE1BU0tfQkFORF9EX1BURzEgICAgIDAKKyNkZWZpbmUgIFBNQVNLX0JBTkRfRF9QVEcyICAgICAwCisjZGVmaW5lICBQTUFTS19CQU5EX0RfUFRHMyAgICAgMAorI2VuZGlmCisjaWZuZGVmICBQTUFTS19CQU5EX0VfUFJHMQorICAgI2RlZmluZSAgUE1BU0tfQkFORF9FX1BSRzEgICAgIDAKKyAgICNkZWZpbmUgIFBNQVNLX0JBTkRfRV9QUkcyICAgICAwCisgICAjZGVmaW5lICBQTUFTS19CQU5EX0VfUFJHMyAgICAgMAorI2VuZGlmCisjaWZuZGVmICBQTUFTS19CQU5EX0VfUFRHMQorI2RlZmluZSAgUE1BU0tfQkFORF9FX1BURzEgICAgIDAKKyNkZWZpbmUgIFBNQVNLX0JBTkRfRV9QVEcyICAgICAwCisjZGVmaW5lICBQTUFTS19CQU5EX0VfUFRHMyAgICAgMAorI2VuZGlmCisKKyNpZm5kZWYgUE1BU0tfQkFORF9BX1BSRzJCCisgICAjZGVmaW5lIFBNQVNLX0JBTkRfQV9QUkcyQiAwCisjZW5kaWYKKyNpZm5kZWYgUE1BU0tfQkFORF9BX1BSRzNBCisgICAjZGVmaW5lIFBNQVNLX0JBTkRfQV9QUkczQSAwCisjZW5kaWYKKyNpZm5kZWYgUE1BU0tfQkFORF9BX1BURzJCCisgICAjZGVmaW5lIFBNQVNLX0JBTkRfQV9QVEcyQiAwCisjZW5kaWYKKyNpZm5kZWYgUE1BU0tfQkFORF9BX1BURzNBCisgICAjZGVmaW5lIFBNQVNLX0JBTkRfQV9QVEczQSAwCisjZW5kaWYKKworI2lmbmRlZiBQTUFTS19CQU5EX0JfUFJHMkIKKyAgICNkZWZpbmUgUE1BU0tfQkFORF9CX1BSRzJCIDAKKyNlbmRpZgorI2lmbmRlZiBQTUFTS19CQU5EX0JfUFJHM0EKKyAgICNkZWZpbmUgUE1BU0tfQkFORF9CX1BSRzNBIDAKKyNlbmRpZgorI2lmbmRlZiBQTUFTS19CQU5EX0JfUFRHMkIKKyAgICNkZWZpbmUgUE1BU0tfQkFORF9CX1BURzJCIDAKKyNlbmRpZgorI2lmbmRlZiBQTUFTS19CQU5EX0JfUFRHM0EKKyAgICNkZWZpbmUgUE1BU0tfQkFORF9CX1BURzNBIDAKKyNlbmRpZgorCisjaWZuZGVmIFBNQVNLX0JBTkRfQ19QUkcyQgorICAgI2RlZmluZSBQTUFTS19CQU5EX0NfUFJHMkIgMAorI2VuZGlmCisjaWZuZGVmIFBNQVNLX0JBTkRfQ19QUkczQQorICAgI2RlZmluZSBQTUFTS19CQU5EX0NfUFJHM0EgMAorI2VuZGlmCisjaWZuZGVmIFBNQVNLX0JBTkRfQ19QVEcyQgorICAgI2RlZmluZSBQTUFTS19CQU5EX0NfUFRHMkIgMAorI2VuZGlmCisjaWZuZGVmIFBNQVNLX0JBTkRfQ19QVEczQQorICAgI2RlZmluZSBQTUFTS19CQU5EX0NfUFRHM0EgMAorI2VuZGlmCisKKyNpZm5kZWYgUE1BU0tfQkFORF9EX1BSRzJCCisgICAjZGVmaW5lIFBNQVNLX0JBTkRfRF9QUkcyQiAwCisjZW5kaWYKKyNpZm5kZWYgUE1BU0tfQkFORF9EX1BSRzNBCisgICAjZGVmaW5lIFBNQVNLX0JBTkRfRF9QUkczQSAwCisjZW5kaWYKKyNpZm5kZWYgUE1BU0tfQkFORF9EX1BURzJCCisgICAjZGVmaW5lIFBNQVNLX0JBTkRfRF9QVEcyQiAwCisjZW5kaWYKKyNpZm5kZWYgUE1BU0tfQkFORF9EX1BURzNBCisgICAjZGVmaW5lIFBNQVNLX0JBTkRfRF9QVEczQSAwCisjZW5kaWYKKworI2lmbmRlZiBQTUFTS19CQU5EX0VfUFJHMkIKKyAgICNkZWZpbmUgUE1BU0tfQkFORF9FX1BSRzJCIDAKKyNlbmRpZgorI2lmbmRlZiBQTUFTS19CQU5EX0VfUFJHM0EKKyAgICNkZWZpbmUgUE1BU0tfQkFORF9FX1BSRzNBIDAKKyNlbmRpZgorI2lmbmRlZiBQTUFTS19CQU5EX0VfUFRHMkIKKyAgICNkZWZpbmUgUE1BU0tfQkFORF9FX1BURzJCIDAKKyNlbmRpZgorI2lmbmRlZiBQTUFTS19CQU5EX0VfUFRHM0EKKyAgICNkZWZpbmUgUE1BU0tfQkFORF9FX1BURzNBIDAKKyNlbmRpZgorCisKKy8vQWRkIGZvciBSWEQKKyNpZm5kZWYgIFBNQVNLMl9CQU5EX0FfUFJHMQorICAgI2RlZmluZSAgUE1BU0syX0JBTkRfQV9QUkcxICAgICAwCisgICAjZGVmaW5lICBQTUFTSzJfQkFORF9BX1BSRzIgICAgIDAKKyAgICNkZWZpbmUgIFBNQVNLMl9CQU5EX0FfUFJHMyAgICAgMAorI2VuZGlmCisjaWZuZGVmICBQTUFTSzJfQkFORF9CX1BSRzEKKyAgICNkZWZpbmUgIFBNQVNLMl9CQU5EX0JfUFJHMSAgICAgMAorICAgI2RlZmluZSAgUE1BU0syX0JBTkRfQl9QUkcyICAgICAwCisgICAjZGVmaW5lICBQTUFTSzJfQkFORF9CX1BSRzMgICAgIDAKKyNlbmRpZgorI2lmbmRlZiAgUE1BU0syX0JBTkRfQ19QUkcxCisgICAjZGVmaW5lICBQTUFTSzJfQkFORF9DX1BSRzEgICAgIDAKKyAgICNkZWZpbmUgIFBNQVNLMl9CQU5EX0NfUFJHMiAgICAgMAorICAgI2RlZmluZSAgUE1BU0syX0JBTkRfQ19QUkczICAgICAwCisjZW5kaWYKKyNpZm5kZWYgIFBNQVNLMl9CQU5EX0RfUFJHMQorICAgI2RlZmluZSAgUE1BU0syX0JBTkRfRF9QUkcxICAgICAwCisgICAjZGVmaW5lICBQTUFTSzJfQkFORF9EX1BSRzIgICAgIDAKKyAgICNkZWZpbmUgIFBNQVNLMl9CQU5EX0RfUFJHMyAgICAgMAorI2VuZGlmCisjaWZuZGVmICBQTUFTSzJfQkFORF9FX1BSRzEKKyAgICNkZWZpbmUgIFBNQVNLMl9CQU5EX0VfUFJHMSAgICAgMAorICAgI2RlZmluZSAgUE1BU0syX0JBTkRfRV9QUkcyICAgICAwCisgICAjZGVmaW5lICBQTUFTSzJfQkFORF9FX1BSRzMgICAgIDAKKyNlbmRpZgorCisjaWZuZGVmIFBNQVNLMl9CQU5EX0FfUFJHMkIKKyAgICNkZWZpbmUgUE1BU0syX0JBTkRfQV9QUkcyQiAwCisjZW5kaWYKKyNpZm5kZWYgUE1BU0syX0JBTkRfQV9QUkczQQorICAgI2RlZmluZSBQTUFTSzJfQkFORF9BX1BSRzNBIDAKKyNlbmRpZgorI2lmbmRlZiBQTUFTSzJfQkFORF9CX1BSRzJCCisgICAjZGVmaW5lIFBNQVNLMl9CQU5EX0JfUFJHMkIgMAorI2VuZGlmCisjaWZuZGVmIFBNQVNLMl9CQU5EX0JfUFJHM0EKKyAgICNkZWZpbmUgUE1BU0syX0JBTkRfQl9QUkczQSAwCisjZW5kaWYKKyNpZm5kZWYgUE1BU0syX0JBTkRfQ19QUkcyQgorICAgI2RlZmluZSBQTUFTSzJfQkFORF9DX1BSRzJCIDAKKyNlbmRpZgorI2lmbmRlZiBQTUFTSzJfQkFORF9DX1BSRzNBCisgICAjZGVmaW5lIFBNQVNLMl9CQU5EX0NfUFJHM0EgMAorI2VuZGlmCisjaWZuZGVmIFBNQVNLMl9CQU5EX0RfUFJHMkIKKyAgICNkZWZpbmUgUE1BU0syX0JBTkRfRF9QUkcyQiAwCisjZW5kaWYKKyNpZm5kZWYgUE1BU0syX0JBTkRfRF9QUkczQQorICAgI2RlZmluZSBQTUFTSzJfQkFORF9EX1BSRzNBIDAKKyNlbmRpZgorI2lmbmRlZiBQTUFTSzJfQkFORF9FX1BSRzJCCisgICAjZGVmaW5lIFBNQVNLMl9CQU5EX0VfUFJHMkIgMAorI2VuZGlmCisjaWZuZGVmIFBNQVNLMl9CQU5EX0VfUFJHM0EKKyAgICNkZWZpbmUgUE1BU0syX0JBTkRfRV9QUkczQSAwCisjZW5kaWYKKworCisvKiAtLS0gQlBJIGRhdGEgZGVmYXVsdCB2YWx1ZSAtLS0gKi8KKyNpZm5kZWYgIFBEQVRBX0JBTkRfQV9QUkcxCisgICAjZGVmaW5lICBQREFUQV9CQU5EX0FfUFJHMSAgICAgMAorICAgI2RlZmluZSAgUERBVEFfQkFORF9BX1BSRzIgICAgIDAKKyAgICNkZWZpbmUgIFBEQVRBX0JBTkRfQV9QUkczICAgICAwCisjZW5kaWYKKyNpZm5kZWYgIFBEQVRBX0JBTkRfQV9QVEcxCisgICAjZGVmaW5lICBQREFUQV9CQU5EX0FfUFRHMSAgICAgMAorICAgI2RlZmluZSAgUERBVEFfQkFORF9BX1BURzIgICAgIDAKKyAgICNkZWZpbmUgIFBEQVRBX0JBTkRfQV9QVEczICAgICAwCisjZW5kaWYKKyNpZm5kZWYgIFBEQVRBX0JBTkRfQl9QUkcxCisgICAjZGVmaW5lICBQREFUQV9CQU5EX0JfUFJHMSAgICAgMAorICAgI2RlZmluZSAgUERBVEFfQkFORF9CX1BSRzIgICAgIDAKKyAgICNkZWZpbmUgIFBEQVRBX0JBTkRfQl9QUkczICAgICAwCisjZW5kaWYKKyNpZm5kZWYgIFBEQVRBX0JBTkRfQl9QVEcxCisgICAjZGVmaW5lICBQREFUQV9CQU5EX0JfUFRHMSAgICAgMAorICAgI2RlZmluZSAgUERBVEFfQkFORF9CX1BURzIgICAgIDAKKyAgICNkZWZpbmUgIFBEQVRBX0JBTkRfQl9QVEczICAgICAwCisjZW5kaWYKKyNpZm5kZWYgIFBEQVRBX0JBTkRfQ19QUkcxCisgICAjZGVmaW5lICBQREFUQV9CQU5EX0NfUFJHMSAgICAgMAorICAgI2RlZmluZSAgUERBVEFfQkFORF9DX1BSRzIgICAgIDAKKyAgICNkZWZpbmUgIFBEQVRBX0JBTkRfQ19QUkczICAgICAwCisjZW5kaWYKKyNpZm5kZWYgIFBEQVRBX0JBTkRfQ19QVEcxCisgICAjZGVmaW5lICBQREFUQV9CQU5EX0NfUFRHMSAgICAgMAorICAgI2RlZmluZSAgUERBVEFfQkFORF9DX1BURzIgICAgIDAKKyAgICNkZWZpbmUgIFBEQVRBX0JBTkRfQ19QVEczICAgICAwCisjZW5kaWYKKyNpZm5kZWYgIFBEQVRBX0JBTkRfRF9QUkcxCisgICAjZGVmaW5lICBQREFUQV9CQU5EX0RfUFJHMSAgICAgMAorICAgI2RlZmluZSAgUERBVEFfQkFORF9EX1BSRzIgICAgIDAKKyAgICNkZWZpbmUgIFBEQVRBX0JBTkRfRF9QUkczICAgICAwCisjZW5kaWYKKyNpZm5kZWYgIFBEQVRBX0JBTkRfRF9QVEcxCisgICAjZGVmaW5lICBQREFUQV9CQU5EX0RfUFRHMSAgICAgMAorICAgI2RlZmluZSAgUERBVEFfQkFORF9EX1BURzIgICAgIDAKKyAgICNkZWZpbmUgIFBEQVRBX0JBTkRfRF9QVEczICAgICAwCisjZW5kaWYKKyNpZm5kZWYgIFBEQVRBX0JBTkRfRV9QUkcxCisgICAjZGVmaW5lICBQREFUQV9CQU5EX0VfUFJHMSAgICAgMAorICAgI2RlZmluZSAgUERBVEFfQkFORF9FX1BSRzIgICAgIDAKKyAgICNkZWZpbmUgIFBEQVRBX0JBTkRfRV9QUkczICAgICAwCisjZW5kaWYKKyNpZm5kZWYgIFBEQVRBX0JBTkRfRV9QVEcxCisgICAjZGVmaW5lICBQREFUQV9CQU5EX0VfUFRHMSAgICAgMAorICAgI2RlZmluZSAgUERBVEFfQkFORF9FX1BURzIgICAgIDAKKyAgICNkZWZpbmUgIFBEQVRBX0JBTkRfRV9QVEczICAgICAwCisjZW5kaWYKKyNpZm5kZWYgUERBVEFfQkFORF9BX1BSRzJCCisgICAjZGVmaW5lIFBEQVRBX0JBTkRfQV9QUkcyQiAwCisjZW5kaWYKKyNpZm5kZWYgUERBVEFfQkFORF9BX1BSRzNBCisgICAjZGVmaW5lIFBEQVRBX0JBTkRfQV9QUkczQSAwCisjZW5kaWYKKyNpZm5kZWYgUERBVEFfQkFORF9BX1BURzJCCisgICAjZGVmaW5lIFBEQVRBX0JBTkRfQV9QVEcyQiAwCisjZW5kaWYKKyNpZm5kZWYgUERBVEFfQkFORF9BX1BURzNBCisgICAjZGVmaW5lIFBEQVRBX0JBTkRfQV9QVEczQSAwCisjZW5kaWYKKworI2lmbmRlZiBQREFUQV9CQU5EX0JfUFJHMkIKKyAgICNkZWZpbmUgUERBVEFfQkFORF9CX1BSRzJCIDAKKyNlbmRpZgorI2lmbmRlZiBQREFUQV9CQU5EX0JfUFJHM0EKKyAgICNkZWZpbmUgUERBVEFfQkFORF9CX1BSRzNBIDAKKyNlbmRpZgorI2lmbmRlZiBQREFUQV9CQU5EX0JfUFRHMkIKKyAgICNkZWZpbmUgUERBVEFfQkFORF9CX1BURzJCIDAKKyNlbmRpZgorI2lmbmRlZiBQREFUQV9CQU5EX0JfUFRHM0EKKyAgICNkZWZpbmUgUERBVEFfQkFORF9CX1BURzNBIDAKKyNlbmRpZgorCisjaWZuZGVmIFBEQVRBX0JBTkRfQ19QUkcyQgorICAgI2RlZmluZSBQREFUQV9CQU5EX0NfUFJHMkIgMAorI2VuZGlmCisjaWZuZGVmIFBEQVRBX0JBTkRfQ19QUkczQQorICAgI2RlZmluZSBQREFUQV9CQU5EX0NfUFJHM0EgMAorI2VuZGlmCisjaWZuZGVmIFBEQVRBX0JBTkRfQ19QVEcyQgorICAgI2RlZmluZSBQREFUQV9CQU5EX0NfUFRHMkIgMAorI2VuZGlmCisjaWZuZGVmIFBEQVRBX0JBTkRfQ19QVEczQQorICAgI2RlZmluZSBQREFUQV9CQU5EX0NfUFRHM0EgMAorI2VuZGlmCisKKyNpZm5kZWYgUERBVEFfQkFORF9EX1BSRzJCCisgICAjZGVmaW5lIFBEQVRBX0JBTkRfRF9QUkcyQiAwCisjZW5kaWYKKyNpZm5kZWYgUERBVEFfQkFORF9EX1BSRzNBCisgICAjZGVmaW5lIFBEQVRBX0JBTkRfRF9QUkczQSAwCisjZW5kaWYKKyNpZm5kZWYgUERBVEFfQkFORF9EX1BURzJCCisgICAjZGVmaW5lIFBEQVRBX0JBTkRfRF9QVEcyQiAwCisjZW5kaWYKKyNpZm5kZWYgUERBVEFfQkFORF9EX1BURzNBCisgICAjZGVmaW5lIFBEQVRBX0JBTkRfRF9QVEczQSAwCisjZW5kaWYKKworI2lmbmRlZiBQREFUQV9CQU5EX0VfUFJHMkIKKyAgICNkZWZpbmUgUERBVEFfQkFORF9FX1BSRzJCIDAKKyNlbmRpZgorI2lmbmRlZiBQREFUQV9CQU5EX0VfUFJHM0EKKyAgICNkZWZpbmUgUERBVEFfQkFORF9FX1BSRzNBIDAKKyNlbmRpZgorI2lmbmRlZiBQREFUQV9CQU5EX0VfUFRHMkIKKyAgICNkZWZpbmUgUERBVEFfQkFORF9FX1BURzJCIDAKKyNlbmRpZgorI2lmbmRlZiBQREFUQV9CQU5EX0VfUFRHM0EKKyAgICNkZWZpbmUgUERBVEFfQkFORF9FX1BURzNBIDAKKyNlbmRpZgorCisvL0FkZCBmb3IgUlhECisjaWZuZGVmICBQREFUQTJfQkFORF9BX1BSRzEKKyAgICNkZWZpbmUgIFBEQVRBMl9CQU5EX0FfUFJHMSAgICAgMAorICAgI2RlZmluZSAgUERBVEEyX0JBTkRfQV9QUkcyICAgICAwCisgICAjZGVmaW5lICBQREFUQTJfQkFORF9BX1BSRzMgICAgIDAKKyNlbmRpZgorI2lmbmRlZiAgUERBVEEyX0JBTkRfQl9QUkcxCisgICAjZGVmaW5lICBQREFUQTJfQkFORF9CX1BSRzEgICAgIDAKKyAgICNkZWZpbmUgIFBEQVRBMl9CQU5EX0JfUFJHMiAgICAgMAorICAgI2RlZmluZSAgUERBVEEyX0JBTkRfQl9QUkczICAgICAwCisjZW5kaWYKKyNpZm5kZWYgIFBEQVRBMl9CQU5EX0NfUFJHMQorICAgI2RlZmluZSAgUERBVEEyX0JBTkRfQ19QUkcxICAgICAwCisgICAjZGVmaW5lICBQREFUQTJfQkFORF9DX1BSRzIgICAgIDAKKyAgICNkZWZpbmUgIFBEQVRBMl9CQU5EX0NfUFJHMyAgICAgMAorI2VuZGlmCisjaWZuZGVmICBQREFUQTJfQkFORF9EX1BSRzEKKyAgICNkZWZpbmUgIFBEQVRBMl9CQU5EX0RfUFJHMSAgICAgMAorICAgI2RlZmluZSAgUERBVEEyX0JBTkRfRF9QUkcyICAgICAwCisgICAjZGVmaW5lICBQREFUQTJfQkFORF9EX1BSRzMgICAgIDAKKyNlbmRpZgorI2lmbmRlZiAgUERBVEEyX0JBTkRfRV9QUkcxCisgICAjZGVmaW5lICBQREFUQTJfQkFORF9FX1BSRzEgICAgIDAKKyAgICNkZWZpbmUgIFBEQVRBMl9CQU5EX0VfUFJHMiAgICAgMAorICAgI2RlZmluZSAgUERBVEEyX0JBTkRfRV9QUkczICAgICAwCisjZW5kaWYKKworI2lmbmRlZiBQREFUQTJfQkFORF9BX1BSRzJCCisgICAjZGVmaW5lIFBEQVRBMl9CQU5EX0FfUFJHMkIgMAorI2VuZGlmCisjaWZuZGVmIFBEQVRBMl9CQU5EX0FfUFJHM0EKKyAgICNkZWZpbmUgUERBVEEyX0JBTkRfQV9QUkczQSAwCisjZW5kaWYKKyNpZm5kZWYgUERBVEEyX0JBTkRfQl9QUkcyQgorICAgI2RlZmluZSBQREFUQTJfQkFORF9CX1BSRzJCIDAKKyNlbmRpZgorI2lmbmRlZiBQREFUQTJfQkFORF9CX1BSRzNBCisgICAjZGVmaW5lIFBEQVRBMl9CQU5EX0JfUFJHM0EgMAorI2VuZGlmCisjaWZuZGVmIFBEQVRBMl9CQU5EX0NfUFJHMkIKKyAgICNkZWZpbmUgUERBVEEyX0JBTkRfQ19QUkcyQiAwCisjZW5kaWYKKyNpZm5kZWYgUERBVEEyX0JBTkRfQ19QUkczQQorICAgI2RlZmluZSBQREFUQTJfQkFORF9DX1BSRzNBIDAKKyNlbmRpZgorI2lmbmRlZiBQREFUQTJfQkFORF9EX1BSRzJCCisgICAjZGVmaW5lIFBEQVRBMl9CQU5EX0RfUFJHMkIgMAorI2VuZGlmCisjaWZuZGVmIFBEQVRBMl9CQU5EX0RfUFJHM0EKKyAgICNkZWZpbmUgUERBVEEyX0JBTkRfRF9QUkczQSAwCisjZW5kaWYKKyNpZm5kZWYgUERBVEEyX0JBTkRfRV9QUkcyQgorICAgI2RlZmluZSBQREFUQTJfQkFORF9FX1BSRzJCIDAKKyNlbmRpZgorI2lmbmRlZiBQREFUQTJfQkFORF9FX1BSRzNBCisgICAjZGVmaW5lIFBEQVRBMl9CQU5EX0VfUFJHM0EgMAorI2VuZGlmCisKKy8qIEVMTkEgKi8KKyNpZm5kZWYgUE1BU0tfQkFORF9BX1BSM0FfRUxOQQorI2RlZmluZSBQTUFTS19CQU5EX0FfUFIzQV9FTE5BIDAKKyNlbmRpZgorI2lmbmRlZiBQTUFTS19CQU5EX0JfUFIzQV9FTE5BCisjZGVmaW5lIFBNQVNLX0JBTkRfQl9QUjNBX0VMTkEgMAorI2VuZGlmCisjaWZuZGVmIFBNQVNLX0JBTkRfQ19QUjNBX0VMTkEKKyNkZWZpbmUgUE1BU0tfQkFORF9DX1BSM0FfRUxOQSAwCisjZW5kaWYKKyNpZm5kZWYgUE1BU0tfQkFORF9EX1BSM0FfRUxOQQorI2RlZmluZSBQTUFTS19CQU5EX0RfUFIzQV9FTE5BIDAKKyNlbmRpZgorI2lmbmRlZiBQTUFTS19CQU5EX0VfUFIzQV9FTE5BCisjZGVmaW5lIFBNQVNLX0JBTkRfRV9QUjNBX0VMTkEgMAorI2VuZGlmCisKKyNpZm5kZWYgUERBVEFfQkFORF9BX1BSM0FfRUxOQQorI2RlZmluZSBQREFUQV9CQU5EX0FfUFIzQV9FTE5BIDAKKyNlbmRpZgorI2lmbmRlZiBQREFUQV9CQU5EX0JfUFIzQV9FTE5BCisjZGVmaW5lIFBEQVRBX0JBTkRfQl9QUjNBX0VMTkEgMAorI2VuZGlmCisjaWZuZGVmIFBEQVRBX0JBTkRfQ19QUjNBX0VMTkEKKyNkZWZpbmUgUERBVEFfQkFORF9DX1BSM0FfRUxOQSAwCisjZW5kaWYKKyNpZm5kZWYgUERBVEFfQkFORF9EX1BSM0FfRUxOQQorI2RlZmluZSBQREFUQV9CQU5EX0RfUFIzQV9FTE5BIDAKKyNlbmRpZgorI2lmbmRlZiBQREFUQV9CQU5EX0VfUFIzQV9FTE5BCisjZGVmaW5lIFBEQVRBX0JBTkRfRV9QUjNBX0VMTkEgMAorI2VuZGlmCisKKyNpZm5kZWYgUE1BU0syX0JBTkRfQV9QUjNBX0VMTkEKKyNkZWZpbmUgUE1BU0syX0JBTkRfQV9QUjNBX0VMTkEgMAorI2VuZGlmCisjaWZuZGVmIFBNQVNLMl9CQU5EX0JfUFIzQV9FTE5BCisjZGVmaW5lIFBNQVNLMl9CQU5EX0JfUFIzQV9FTE5BIDAKKyNlbmRpZgorI2lmbmRlZiBQTUFTSzJfQkFORF9DX1BSM0FfRUxOQQorI2RlZmluZSBQTUFTSzJfQkFORF9DX1BSM0FfRUxOQSAwCisjZW5kaWYKKyNpZm5kZWYgUE1BU0syX0JBTkRfRF9QUjNBX0VMTkEKKyNkZWZpbmUgUE1BU0syX0JBTkRfRF9QUjNBX0VMTkEgMAorI2VuZGlmCisjaWZuZGVmIFBNQVNLMl9CQU5EX0VfUFIzQV9FTE5BCisjZGVmaW5lIFBNQVNLMl9CQU5EX0VfUFIzQV9FTE5BIDAKKyNlbmRpZgorCisjaWZuZGVmIFBEQVRBMl9CQU5EX0FfUFIzQV9FTE5BCisjZGVmaW5lIFBEQVRBMl9CQU5EX0FfUFIzQV9FTE5BIDAKKyNlbmRpZgorI2lmbmRlZiBQREFUQTJfQkFORF9CX1BSM0FfRUxOQQorI2RlZmluZSBQREFUQTJfQkFORF9CX1BSM0FfRUxOQSAwCisjZW5kaWYKKyNpZm5kZWYgUERBVEEyX0JBTkRfQ19QUjNBX0VMTkEKKyNkZWZpbmUgUERBVEEyX0JBTkRfQ19QUjNBX0VMTkEgMAorI2VuZGlmCisjaWZuZGVmIFBEQVRBMl9CQU5EX0RfUFIzQV9FTE5BCisjZGVmaW5lIFBEQVRBMl9CQU5EX0RfUFIzQV9FTE5BIDAKKyNlbmRpZgorI2lmbmRlZiBQREFUQTJfQkFORF9FX1BSM0FfRUxOQQorI2RlZmluZSBQREFUQTJfQkFORF9FX1BSM0FfRUxOQSAwCisjZW5kaWYKKworCisvKiBUWCBQb3dlciBDb250cm9sIGRlZmF1dGwgdmFsdWVzICovCisjaWZuZGVmICBQTUFTS19QUlBDMQorICAgI2RlZmluZSAgUE1BU0tfUFJQQzEgICAgIDAKKyAgICNkZWZpbmUgIFBNQVNLX1BSUEMyICAgICAwCisgICAjZGVmaW5lICBQTUFTS19QUlBDMyAgICAgMAorI2VuZGlmCisjaWZuZGVmICBQTUFTS19QVFBDMQorICAgI2RlZmluZSAgUE1BU0tfUFRQQzEgICAgIDAKKyAgICNkZWZpbmUgIFBNQVNLX1BUUEMyICAgICAwCisjZW5kaWYKKyNpZm5kZWYgIFBNQVNLX1BUUEMzCisgICAjZGVmaW5lICBQTUFTS19QVFBDMyAgICAgMAorI2VuZGlmCisjaWZuZGVmIFBNQVNLX1BSUEMyQgorICAgI2RlZmluZSBQTUFTS19QUlBDMkIgMAorI2VuZGlmCisjaWZuZGVmIFBNQVNLX1BSUEMzQQorICAgI2RlZmluZSBQTUFTS19QUlBDM0EgMAorI2VuZGlmCisjaWZuZGVmIFBNQVNLX1BUUEMyQgorICAgI2RlZmluZSBQTUFTS19QVFBDMkIgMAorI2VuZGlmCisjaWZuZGVmIFBNQVNLX1BUUEMzQQorICAgI2RlZmluZSBQTUFTS19QVFBDM0EgMAorI2VuZGlmCisKKy8vQWRkIGZvciBSWEQKKyNpZm5kZWYgIFBNQVNLMl9QUlBDMQorICAgI2RlZmluZSAgUE1BU0syX1BSUEMxICAgICAwCisgICAjZGVmaW5lICBQTUFTSzJfUFJQQzIgICAgIDAKKyAgICNkZWZpbmUgIFBNQVNLMl9QUlBDMyAgICAgMAorI2VuZGlmCisjaWZuZGVmIFBNQVNLMl9QUlBDMkIKKyAgICNkZWZpbmUgUE1BU0syX1BSUEMyQiAwCisjZW5kaWYKKyNpZm5kZWYgUE1BU0syX1BSUEMzQQorICAgI2RlZmluZSBQTUFTSzJfUFJQQzNBIDAKKyNlbmRpZgorCisvKiAtLS0gQlBJIGRhdGEgZGVmYXVsdCB2YWx1ZSAtLS0gKi8KKyNpZm5kZWYgIFBEQVRBX1BSUEMxCisgICAjZGVmaW5lICBQREFUQV9QUlBDMSAgICAgMAorICAgI2RlZmluZSAgUERBVEFfUFJQQzIgICAgIDAKKyAgICNkZWZpbmUgIFBEQVRBX1BSUEMzICAgICAwCisjZW5kaWYKKyNpZm5kZWYgIFBEQVRBX1BUUEMxCisgICAjZGVmaW5lICBQREFUQV9QVFBDMSAgICAgMAorICAgI2RlZmluZSAgUERBVEFfUFRQQzIgICAgIDAKKyNlbmRpZgorI2lmbmRlZiAgUERBVEFfUFRQQzMKKyNkZWZpbmUgIFBEQVRBX1BUUEMzICAgICAwCisjZW5kaWYKKyNpZm5kZWYgUERBVEFfUFJQQzJCCisgICAjZGVmaW5lIFBEQVRBX1BSUEMyQiAwCisjZW5kaWYKKyNpZm5kZWYgUERBVEFfUFJQQzNBCisgICAjZGVmaW5lIFBEQVRBX1BSUEMzQSAwCisjZW5kaWYKKyNpZm5kZWYgUERBVEFfUFRQQzJCCisgICAjZGVmaW5lIFBEQVRBX1BUUEMyQiAwCisjZW5kaWYKKyNpZm5kZWYgUERBVEFfUFRQQzNBCisgICAjZGVmaW5lIFBEQVRBX1BUUEMzQSAwCisjZW5kaWYKKworLy9BZGQgZm9yIFJYRAorI2lmbmRlZiAgUERBVEEyX1BSUEMxCisgICAjZGVmaW5lICBQREFUQTJfUFJQQzEgICAgIDAKKyAgICNkZWZpbmUgIFBEQVRBMl9QUlBDMiAgICAgMAorICAgI2RlZmluZSAgUERBVEEyX1BSUEMzICAgICAwCisjZW5kaWYKKyNpZm5kZWYgUERBVEEyX1BSUEMyQgorICAgI2RlZmluZSBQREFUQTJfUFJQQzJCIDAKKyNlbmRpZgorI2lmbmRlZiBQREFUQTJfUFJQQzNBCisgICAjZGVmaW5lIFBEQVRBMl9QUlBDM0EgMAorI2VuZGlmCisKKworLyogQlBJIHRpbWluZyAqLworI2lmbmRlZiBUQ19QUjEKKyAgICNkZWZpbmUgVENfUFIxICAgICAgICAgICAwCisgICAjZGVmaW5lIFRDX1BSMiAgICAgICAgICAgMAorICAgI2RlZmluZSBUQ19QUjMgICAgICAgICAgIDAKKyNlbmRpZgorI2lmbmRlZiBUQ19SWERfUFIxCisgICAjZGVmaW5lIFRDX1JYRF9QUjEgICAgICAgICAgIDAKKyAgICNkZWZpbmUgVENfUlhEX1BSMiAgICAgICAgICAgMAorICAgI2RlZmluZSBUQ19SWERfUFIzICAgICAgICAgICAwCisjZW5kaWYKKyNpZm5kZWYgVENfUFQxCisgICAjZGVmaW5lIFRDX1BUMSAgICAgICAgICAgMAorICAgI2RlZmluZSBUQ19QVDIgICAgICAgICAgIDAKKyAgICNkZWZpbmUgVENfUFQzICAgICAgICAgICAwCisjZW5kaWYKKyNpZm5kZWYgVENfUFJHMQorICAgI2RlZmluZSBUQ19QUkcxICAgICAgICAgICAwCisgICAjZGVmaW5lIFRDX1BSRzIgICAgICAgICAgIDAKKyAgICNkZWZpbmUgVENfUFJHMyAgICAgICAgICAgMAorI2VuZGlmCisjaWZuZGVmIFRDX1JYRF9QUkcxCisgICAjZGVmaW5lIFRDX1JYRF9QUkcxICAgICAgICAgICAwCisgICAjZGVmaW5lIFRDX1JYRF9QUkcyICAgICAgICAgICAwCisgICAjZGVmaW5lIFRDX1JYRF9QUkczICAgICAgICAgICAwCisjZW5kaWYKKyNpZm5kZWYgVENfUFRHMQorICAgI2RlZmluZSBUQ19QVEcxICAgICAgICAgICAwCisgICAjZGVmaW5lIFRDX1BURzIgICAgICAgICAgIDAKKyAgICNkZWZpbmUgVENfUFRHMyAgICAgICAgICAgMAorI2VuZGlmCisjaWZuZGVmIFRDX1BSUEMxCisgICAjZGVmaW5lIFRDX1BSUEMxICAgICAgICAgICAwCisgICAjZGVmaW5lIFRDX1BSUEMyICAgICAgICAgICAwCisgICAjZGVmaW5lIFRDX1BSUEMzICAgICAgICAgICAwCisjZW5kaWYKKyNpZm5kZWYgVENfUlhEX1BSUEMxCisgICAjZGVmaW5lIFRDX1JYRF9QUlBDMSAgICAgICAgICAgMAorICAgI2RlZmluZSBUQ19SWERfUFJQQzIgICAgICAgICAgIDAKKyAgICNkZWZpbmUgVENfUlhEX1BSUEMzICAgICAgICAgICAwCisjZW5kaWYKKyNpZm5kZWYgVENfUFRQQzEKKyAgICNkZWZpbmUgVENfUFRQQzEgICAgICAgICAgIDAKKyAgICNkZWZpbmUgVENfUFRQQzIgICAgICAgICAgIDAKKyNlbmRpZgorI2lmbmRlZiBUQ19QVFBDMworICAgI2RlZmluZSBUQ19QVFBDMyAgICAgICAgICAgMAorI2VuZGlmCisKKyNpZm5kZWYgVENfUFIyQgorICAgI2RlZmluZSBUQ19QUjJCIDAKKyNlbmRpZgorI2lmbmRlZiBUQ19QUjNBCisgICAjZGVmaW5lIFRDX1BSM0EgMAorI2VuZGlmCisjaWZuZGVmIFRDX1JYRF9QUjJCCisgICAjZGVmaW5lIFRDX1JYRF9QUjJCIDAKKyNlbmRpZgorI2lmbmRlZiBUQ19SWERfUFIzQQorICAgI2RlZmluZSBUQ19SWERfUFIzQSAwCisjZW5kaWYKKyNpZm5kZWYgVENfUFQyQgorICAgI2RlZmluZSBUQ19QVDJCIDAKKyNlbmRpZgorI2lmbmRlZiBUQ19QVDNBCisgICAjZGVmaW5lIFRDX1BUM0EgMAorI2VuZGlmCisKKyNpZm5kZWYgVENfUFJHMkIKKyAgICNkZWZpbmUgVENfUFJHMkIgMAorI2VuZGlmCisjaWZuZGVmIFRDX1BSRzNBCisgICAjZGVmaW5lIFRDX1BSRzNBIDAKKyNlbmRpZgorI2lmbmRlZiBUQ19SWERfUFJHMkIKKyAgICNkZWZpbmUgVENfUlhEX1BSRzJCIDAKKyNlbmRpZgorI2lmbmRlZiBUQ19SWERfUFJHM0EKKyAgICNkZWZpbmUgVENfUlhEX1BSRzNBIDAKKyNlbmRpZgorI2lmbmRlZiBUQ19QVEcyQgorICAgI2RlZmluZSBUQ19QVDJCIDAKKyNlbmRpZgorI2lmbmRlZiBUQ19QVEczQQorICAgI2RlZmluZSBUQ19QVEczQSAwCisjZW5kaWYKKyNpZm5kZWYgVENfUFIzQV9FTE5BCisgICAjZGVmaW5lIFRDX1BSM0FfRUxOQSAwCisjZW5kaWYKKworI2lmbmRlZiBCQU5EX0FfUlhfSU9fU0VMCisgICAjZGVmaW5lIEJBTkRfQV9SWF9JT19TRUwgTk9ORV9VU0VEX1BSWAorI2VuZGlmCisjaWZuZGVmIEJBTkRfQl9SWF9JT19TRUwKKyAgICNkZWZpbmUgQkFORF9CX1JYX0lPX1NFTCBOT05FX1VTRURfUFJYCisjZW5kaWYKKyNpZm5kZWYgQkFORF9DX1JYX0lPX1NFTAorICAgI2RlZmluZSBCQU5EX0NfUlhfSU9fU0VMIE5PTkVfVVNFRF9QUlgKKyNlbmRpZgorI2lmbmRlZiBCQU5EX0RfUlhfSU9fU0VMCisgICAjZGVmaW5lIEJBTkRfRF9SWF9JT19TRUwgTk9ORV9VU0VEX1BSWAorI2VuZGlmCisjaWZuZGVmIEJBTkRfRV9SWF9JT19TRUwKKyAgICNkZWZpbmUgQkFORF9FX1JYX0lPX1NFTCBOT05FX1VTRURfUFJYCisjZW5kaWYKKworI2lmbmRlZiBCQU5EX0FfUlhEX0lPX1NFTAorICAgI2RlZmluZSBCQU5EX0FfUlhEX0lPX1NFTCBOT05FX1VTRURfRFJYCisjZW5kaWYKKyNpZm5kZWYgQkFORF9CX1JYRF9JT19TRUwKKyAgICNkZWZpbmUgQkFORF9CX1JYRF9JT19TRUwgTk9ORV9VU0VEX0RSWAorI2VuZGlmCisjaWZuZGVmIEJBTkRfQ19SWERfSU9fU0VMCisgICAjZGVmaW5lIEJBTkRfQ19SWERfSU9fU0VMIE5PTkVfVVNFRF9EUlgKKyNlbmRpZgorI2lmbmRlZiBCQU5EX0RfUlhEX0lPX1NFTAorICAgI2RlZmluZSBCQU5EX0RfUlhEX0lPX1NFTCBOT05FX1VTRURfRFJYCisjZW5kaWYKKyNpZm5kZWYgQkFORF9FX1JYRF9JT19TRUwKKyAgICNkZWZpbmUgQkFORF9FX1JYRF9JT19TRUwgTk9ORV9VU0VEX0RSWAorI2VuZGlmCisKKyNpZm5kZWYgQkFORF9BX1RYX0lPX1NFTAorICAgI2RlZmluZSBCQU5EX0FfVFhfSU9fU0VMIFRYX0lPX05VTEwKKyNlbmRpZgorI2lmbmRlZiBCQU5EX0JfVFhfSU9fU0VMCisgICAjZGVmaW5lIEJBTkRfQl9UWF9JT19TRUwgVFhfSU9fTlVMTAorI2VuZGlmCisjaWZuZGVmIEJBTkRfQ19UWF9JT19TRUwKKyAgICNkZWZpbmUgQkFORF9DX1RYX0lPX1NFTCBUWF9JT19OVUxMCisjZW5kaWYKKyNpZm5kZWYgQkFORF9EX1RYX0lPX1NFTAorICAgI2RlZmluZSBCQU5EX0RfVFhfSU9fU0VMIFRYX0lPX05VTEwKKyNlbmRpZgorI2lmbmRlZiBCQU5EX0VfVFhfSU9fU0VMCisgICAjZGVmaW5lIEJBTkRfRV9UWF9JT19TRUwgVFhfSU9fTlVMTAorI2VuZGlmCisKKyNpZm5kZWYgUERBVEFfQkFORF9BX1RBUzEKKyAgICNkZWZpbmUgUERBVEFfQkFORF9BX1RBUzEgICAgMAorICAgI2RlZmluZSBQREFUQV9CQU5EX0FfVEFTMiAgICAwCisgICAjZGVmaW5lIFBEQVRBX0JBTkRfQV9UQVMzICAgIDAKKyAgICNkZWZpbmUgUERBVEFfQkFORF9BX1RBUzQgICAgMAorICAgI2RlZmluZSBQREFUQV9CQU5EX0FfVEFTNSAgICAwCisgICAjZGVmaW5lIFBEQVRBX0JBTkRfQV9UQVM2ICAgIDAKKyAgICNkZWZpbmUgUERBVEFfQkFORF9BX1RBUzcgICAgMAorI2VuZGlmCisKKyNpZm5kZWYgUERBVEFfQkFORF9CX1RBUzEKKyAgICNkZWZpbmUgUERBVEFfQkFORF9CX1RBUzEgICAgMAorICAgI2RlZmluZSBQREFUQV9CQU5EX0JfVEFTMiAgICAwCisgICAjZGVmaW5lIFBEQVRBX0JBTkRfQl9UQVMzICAgIDAKKyAgICNkZWZpbmUgUERBVEFfQkFORF9CX1RBUzQgICAgMAorICAgI2RlZmluZSBQREFUQV9CQU5EX0JfVEFTNSAgICAwCisgICAjZGVmaW5lIFBEQVRBX0JBTkRfQl9UQVM2ICAgIDAKKyAgICNkZWZpbmUgUERBVEFfQkFORF9CX1RBUzcgICAgMAorI2VuZGlmCisKKyNpZm5kZWYgUERBVEFfQkFORF9DX1RBUzEKKyAgICNkZWZpbmUgUERBVEFfQkFORF9DX1RBUzEgICAgMAorICAgI2RlZmluZSBQREFUQV9CQU5EX0NfVEFTMiAgICAwCisgICAjZGVmaW5lIFBEQVRBX0JBTkRfQ19UQVMzICAgIDAKKyAgICNkZWZpbmUgUERBVEFfQkFORF9DX1RBUzQgICAgMAorICAgI2RlZmluZSBQREFUQV9CQU5EX0NfVEFTNSAgICAwCisgICAjZGVmaW5lIFBEQVRBX0JBTkRfQ19UQVM2ICAgIDAKKyAgICNkZWZpbmUgUERBVEFfQkFORF9DX1RBUzcgICAgMAorI2VuZGlmCisKKyNpZm5kZWYgUERBVEFfQkFORF9EX1RBUzEKKyAgICNkZWZpbmUgUERBVEFfQkFORF9EX1RBUzEgICAgMAorICAgI2RlZmluZSBQREFUQV9CQU5EX0RfVEFTMiAgICAwCisgICAjZGVmaW5lIFBEQVRBX0JBTkRfRF9UQVMzICAgIDAKKyAgICNkZWZpbmUgUERBVEFfQkFORF9EX1RBUzQgICAgMAorICAgI2RlZmluZSBQREFUQV9CQU5EX0RfVEFTNSAgICAwCisgICAjZGVmaW5lIFBEQVRBX0JBTkRfRF9UQVM2ICAgIDAKKyAgICNkZWZpbmUgUERBVEFfQkFORF9EX1RBUzcgICAgMAorI2VuZGlmCisKKyNpZm5kZWYgUERBVEFfQkFORF9FX1RBUzEKKyAgICNkZWZpbmUgUERBVEFfQkFORF9FX1RBUzEgICAgMAorICAgI2RlZmluZSBQREFUQV9CQU5EX0VfVEFTMiAgICAwCisgICAjZGVmaW5lIFBEQVRBX0JBTkRfRV9UQVMzICAgIDAKKyAgICNkZWZpbmUgUERBVEFfQkFORF9FX1RBUzQgICAgMAorICAgI2RlZmluZSBQREFUQV9CQU5EX0VfVEFTNSAgICAwCisgICAjZGVmaW5lIFBEQVRBX0JBTkRfRV9UQVM2ICAgIDAKKyAgICNkZWZpbmUgUERBVEFfQkFORF9FX1RBUzcgICAgMAorI2VuZGlmCisKKy8qIEVuYWJsZXMgKi8KKyNpZm5kZWYgUlhfRElWRVJTSVRZX0VOQUJMRQorICAgI2RlZmluZSBSWF9ESVZFUlNJVFlfRU5BQkxFICAgICAgS0FMX0ZBTFNFCisjZW5kaWYKKworI2lmbmRlZiBSWF9ESVZFUlNJVFlfT05MWV9URVNUCisgICAjZGVmaW5lIFJYX0RJVkVSU0lUWV9PTkxZX1RFU1QgICBLQUxfRkFMU0UKKyNlbmRpZgorCisjaWZuZGVmIFBBX1ZERF9EQzJEQ19FTkFCTEUKKyAgICNkZWZpbmUgUEFfVkREX0RDMkRDX0VOQUJMRSAgICAgIEtBTF9GQUxTRQorI2VuZGlmCisKKyNpZm5kZWYgUEFfVkREX1BNVV9FTkFCTEUKKyAgICNkZWZpbmUgUEFfVkREX1BNVV9FTkFCTEUgICAgICAgIEtBTF9GQUxTRQorI2VuZGlmCisKKyNpZm5kZWYgUEFfVkREX0JBVFRfRU5BQkxFCisgICAjZGVmaW5lIFBBX1ZERF9CQVRUX0VOQUJMRSAgICAgICBLQUxfRkFMU0UKKyNlbmRpZgorCisjaWZuZGVmIFRFTVBFUkFUVVJFX01FQVNfRU4KKyAgICNkZWZpbmUgVEVNUEVSQVRVUkVfTUVBU19FTiAgICAgIEtBTF9GQUxTRQorI2VuZGlmCisKKworCisjZW5kaWYgLyogX0NMMV9SRl9DT01NT05fSF8gKi8KKworCmRpZmYgLS1naXQgYS9tY3UvaW50ZXJmYWNlL2wxL2NsMS9yZmQvZXh0ZXJuYWwvY29tbS9yZl9jdXN0b20vY2wxZF9kdW1teS5oIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvcmZkL2V4dGVybmFsL2NvbW0vcmZfY3VzdG9tL2NsMWRfZHVtbXkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MTYwMDI3Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvcmZkL2V4dGVybmFsL2NvbW0vcmZfY3VzdG9tL2NsMWRfZHVtbXkuaApAQCAtMCwwICsxLDQyIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogIENvcHlyaWdodCBTdGF0ZW1lbnQ6CisqICAtLS0tLS0tLS0tLS0tLS0tLS0tLQorKiAgVGhpcyBzb2Z0d2FyZSBpcyBwcm90ZWN0ZWQgYnkgQ29weXJpZ2h0IGFuZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkCisqICBoZXJlaW4gaXMgY29uZmlkZW50aWFsLiBUaGUgc29mdHdhcmUgbWF5IG5vdCBiZSBjb3BpZWQgYW5kIHRoZSBpbmZvcm1hdGlvbgorKiAgY29udGFpbmVkIGhlcmVpbiBtYXkgbm90IGJlIHVzZWQgb3IgZGlzY2xvc2VkIGV4Y2VwdCB3aXRoIHRoZSB3cml0dGVuCisqICBwZXJtaXNzaW9uIG9mIE1lZGlhVGVrIEluYy4gKEMpIDIwMTYKKyoKKyogIEJZIE9QRU5JTkcgVEhJUyBGSUxFLCBCVVlFUiBIRVJFQlkgVU5FUVVJVk9DQUxMWSBBQ0tOT1dMRURHRVMgQU5EIEFHUkVFUworKiAgVEhBVCBUSEUgU09GVFdBUkUvRklSTVdBUkUgQU5EIElUUyBET0NVTUVOVEFUSU9OUyAoIk1FRElBVEVLIFNPRlRXQVJFIikKKyogIFJFQ0VJVkVEIEZST00gTUVESUFURUsgQU5EL09SIElUUyBSRVBSRVNFTlRBVElWRVMgQVJFIFBST1ZJREVEIFRPIEJVWUVSIE9OCisqICBBTiAiQVMtSVMiIEJBU0lTIE9OTFkuIE1FRElBVEVLIEVYUFJFU1NMWSBESVNDTEFJTVMgQU5ZIEFORCBBTEwgV0FSUkFOVElFUywKKyogIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisqICBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIE9SIE5PTklORlJJTkdFTUVOVC4KKyogIE5FSVRIRVIgRE9FUyBNRURJQVRFSyBQUk9WSURFIEFOWSBXQVJSQU5UWSBXSEFUU09FVkVSIFdJVEggUkVTUEVDVCBUTyBUSEUKKyogIFNPRlRXQVJFIE9GIEFOWSBUSElSRCBQQVJUWSBXSElDSCBNQVkgQkUgVVNFRCBCWSwgSU5DT1JQT1JBVEVEIElOLCBPUgorKiAgU1VQUExJRUQgV0lUSCBUSEUgTUVESUFURUsgU09GVFdBUkUsIEFORCBCVVlFUiBBR1JFRVMgVE8gTE9PSyBPTkxZIFRPIFNVQ0gKKyogIFRISVJEIFBBUlRZIEZPUiBBTlkgV0FSUkFOVFkgQ0xBSU0gUkVMQVRJTkcgVEhFUkVUTy4gTUVESUFURUsgU0hBTEwgQUxTTworKiAgTk9UIEJFIFJFU1BPTlNJQkxFIEZPUiBBTlkgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRVMgTUFERSBUTyBCVVlFUidTCisqICBTUEVDSUZJQ0FUSU9OIE9SIFRPIENPTkZPUk0gVE8gQSBQQVJUSUNVTEFSIFNUQU5EQVJEIE9SIE9QRU4gRk9SVU0uCisqCisqICBCVVlFUidTIFNPTEUgQU5EIEVYQ0xVU0lWRSBSRU1FRFkgQU5EIE1FRElBVEVLJ1MgRU5USVJFIEFORCBDVU1VTEFUSVZFCisqICBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFRCBIRVJFVU5ERVIgV0lMTCBCRSwKKyogIEFUIE1FRElBVEVLJ1MgT1BUSU9OLCBUTyBSRVZJU0UgT1IgUkVQTEFDRSBUSEUgTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUsCisqICBPUiBSRUZVTkQgQU5ZIFNPRlRXQVJFIExJQ0VOU0UgRkVFUyBPUiBTRVJWSUNFIENIQVJHRSBQQUlEIEJZIEJVWUVSIFRPCisqICBNRURJQVRFSyBGT1IgU1VDSCBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRS4KKyoKKyogIFRIRSBUUkFOU0FDVElPTiBDT05URU1QTEFURUQgSEVSRVVOREVSIFNIQUxMIEJFIENPTlNUUlVFRCBJTiBBQ0NPUkRBTkNFCisqICBXSVRIIFRIRSBMQVdTIE9GIFRIRSBTVEFURSBPRiBDQUxJRk9STklBLCBVU0EsIEVYQ0xVRElORyBJVFMgQ09ORkxJQ1QgT0YKKyogIExBV1MgUFJJTkNJUExFUy4gIEFOWSBESVNQVVRFUywgQ09OVFJPVkVSU0lFUyBPUiBDTEFJTVMgQVJJU0lORyBUSEVSRU9GIEFORAorKiAgUkVMQVRFRCBUSEVSRVRPIFNIQUxMIEJFIFNFVFRMRUQgQlkgQVJCSVRSQVRJT04gSU4gU0FOIEZSQU5DSVNDTywgQ0EsIFVOREVSCisqICBUSEUgUlVMRVMgT0YgVEhFIElOVEVSTkFUSU9OQUwgQ0hBTUJFUiBPRiBDT01NRVJDRSAoSUNDKS4KKyoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9DTDFEX0RVTU1ZX0hfCisjZGVmaW5lIF9DTDFEX0RVTU1ZX0hfCisKKworCisjZW5kaWYgLyogX0NMMV9EUkRJX0hfICovCisKZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL3JmZC9leHRlcm5hbC9jb21tL3JmX2N1c3RvbS9jbDFkX21tcmZfc2hhcmVfZGF0YS5jIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvcmZkL2V4dGVybmFsL2NvbW0vcmZfY3VzdG9tL2NsMWRfbW1yZl9zaGFyZV9kYXRhLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzA2YzRlYwotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL3JmZC9leHRlcm5hbC9jb21tL3JmX2N1c3RvbS9jbDFkX21tcmZfc2hhcmVfZGF0YS5jCkBAIC0wLDAgKzEsNzQgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKworI2luY2x1ZGUgImthbF9nZW5lcmFsX3R5cGVzLmgiCisjaW5jbHVkZSAiY2wxZF9yZl9jb21tb25fZGVmcy5oIgorI2luY2x1ZGUgImNsMV9yZl9wdWJsaWMuaCIKKyNpbmNsdWRlICJtbXJmX2thbC5oIgorCisjdW5kZWYgTlZSQU1fSVRFTV9SRl9DVVNUCisjdW5kZWYgTlZSQU1fSVRFTV9NSVBJCisjdW5kZWYgTlZSQU1fSVRFTV9SRl9DQUwKKyN1bmRlZiBOVlJBTV9JVEVNX1JGX1BPQworI3VuZGVmIE5WUkFNX0lURU1fUkZfVEFTX1ZBUgorI3VuZGVmIE5WUkFNX0lURU1fUkZfVEFTX0FSUkFZCisjdW5kZWYgTlZSQU1fSVRFTV9FTE5BX1ZBUgorI3VuZGVmIE5WUkFNX0lURU1fVFhfUE9XRVJfVkFSCisjdW5kZWYgTlZSQU1fSVRFTV9SRl9UQVNfVFNUCisjZGVmaW5lIE5WUkFNX0lURU1fUkZfQ1VTVChuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisgICAgTU1SRl9DVVNUT01fREVGSU5FX1NIQVJFRF9BUlJBWShDTDFEX1JGXyMjdFlQRSwgQ0wxRF9SRl8jI25BTUUjI18jI2FGRklYIyNfU0hNLCAodFlQRW5VTSkpCisjZGVmaW5lIE5WUkFNX0lURU1fTUlQSShuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisgICAgTU1SRl9DVVNUT01fREVGSU5FX1NIQVJFRF9BUlJBWShDTDFEX1JGXyMjdFlQRSwgQ0wxRF9SRl8jI25BTUUjI18jI2FGRklYIyNfU0hNLCAodFlQRW5VTSkpCisjZGVmaW5lIE5WUkFNX0lURU1fUkZfQ0FMKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpIFwKKyAgICBNTVJGX0NVU1RPTV9ERUZJTkVfU0hBUkVEX0FSUkFZKENMMURfUkZfIyN0WVBFLCBDTDFEX1JGXyMjbkFNRSMjXyMjYUZGSVgjI19TSE0sICh0WVBFblVNKSkKKyNkZWZpbmUgTlZSQU1fSVRFTV9SRl9QT0MobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorICAgIE1NUkZfQ1VTVE9NX0RFRklORV9TSEFSRURfQVJSQVkoQ0wxRF9SRl8jI3RZUEUsIENMMURfUkZfIyNuQU1FIyNfIyNhRkZJWCMjX1NITSwgKHRZUEVuVU0pKQorLyoqKiBUQVMgKioqLworI2RlZmluZSBOVlJBTV9JVEVNX1JGX1RBU19WQVIobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorCU1NUkZfQ1VTVE9NX0RFRklORV9TSEFSRURfQVJSQVkoQ0wxRF9SRl8jI3RZUEUsIENMMURfUkZfIyNuQU1FIyNfIyNhRkZJWCMjX1NITSwgKHRZUEVuVU0pKQorI2RlZmluZSBOVlJBTV9JVEVNX1JGX1RBU19BUlJBWShuQU1FLCBhRkZJWCwgckVDblVNLCB0WVBFLCB0WVBFblVNLCBmVU5DKSBcCisJTU1SRl9DVVNUT01fREVGSU5FX1NIQVJFRF9BUlJBWShDTDFEX1JGXyMjdFlQRSwgQ0wxRF9SRl8jI25BTUUjI18jI2FGRklYIyNfU0hNLCAodFlQRW5VTSkpCisvKkVMTkEqLworI2RlZmluZSBOVlJBTV9JVEVNX0VMTkFfVkFSKG5BTUUsIGFGRklYLCByRUNuVU0sIHRZUEUsIHRZUEVuVU0sIGZVTkMpIFwKKwkJTU1SRl9DVVNUT01fREVGSU5FX1NIQVJFRF9BUlJBWShDTDFEX1JGXyMjdFlQRSwgQ0wxRF9SRl8jI25BTUUjI18jI2FGRklYIyNfU0hNLCAodFlQRW5VTSkpCisvKlRYIFBPV0VSKi8KKyNkZWZpbmUgTlZSQU1fSVRFTV9UWF9QT1dFUl9WQVIobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorCQlNTVJGX0NVU1RPTV9ERUZJTkVfU0hBUkVEX0FSUkFZKENMMURfUkZfIyN0WVBFLCBDTDFEX1JGXyMjbkFNRSMjXyMjYUZGSVgjI19TSE0sICh0WVBFblVNKSkKKy8qVEFTIFRTVCAqLworI2RlZmluZSBOVlJBTV9JVEVNX1JGX1RBU19UU1QobkFNRSwgYUZGSVgsIHJFQ25VTSwgdFlQRSwgdFlQRW5VTSwgZlVOQykgXAorCQlNTVJGX0NVU1RPTV9ERUZJTkVfU0hBUkVEX0FSUkFZKENMMURfUkZfIyN0WVBFLCBDTDFEX1JGXyMjbkFNRSMjXyMjYUZGSVgjI19TSE0sICh0WVBFblVNKSkKKyNpbmNsdWRlICJjbDFfbnZyYW1faWQuaCIKKwpkaWZmIC0tZ2l0IGEvbWN1L2ludGVyZmFjZS9sMS9jbDEvcmZkL2V4dGVybmFsL2NvbW0vcmZfY3VzdG9tL2NsMWRfcmZfZXJyb3JfY2hlY2suYyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL3JmZC9leHRlcm5hbC9jb21tL3JmX2N1c3RvbS9jbDFkX3JmX2Vycm9yX2NoZWNrLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYThkYTkyZAotLS0gL2Rldi9udWxsCisrKyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL3JmZC9leHRlcm5hbC9jb21tL3JmX2N1c3RvbS9jbDFkX3JmX2Vycm9yX2NoZWNrLmMKQEAgLTAsMCArMSwxMjQ4IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBNb2RpZmljYXRpb24gTm90aWNlOgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgbW9kaWZpZWQgYnkgTWVkaWFUZWsgSW5jLiBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqIGNsMWRfcmZfZXJyb3JfY2hlY2suYworICoKKyAqIFByb2plY3Q6CisgKiAtLS0tLS0tLQorICogTVQ2MTc3bAorICoKKyAqIERlc2NyaXB0aW9uOgorICogLS0tLS0tLS0tLS0tCisgKiBFcnJvciBjaGVjayBhc3NlcnQgZnVuY3Rpb24KKyAqCisgKiBBdXRob3I6CisgKiAtLS0tLS0tCisgKiAtLS0tLS0tCisgKgorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiAgICAgICAgICAgICBISVNUT1JZCisgKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKgorICoKKyAqCisgKgorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogVXBwZXIgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCisvKiBEb3h5Z2VuIEdyb3VwIEhlYWRlciAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qKgorICogQGFkZHRvZ3JvdXAKKyAqIEB7CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKioKKyAqIEBmaWxlICAgICAgIGNsMWRfcmZfZXJyb3JfY2hlY2suYworICogQGF1dGhvciAgICAgTWFrZS5XdSAoTVRLMTEwNDkpCisgKiBAZGF0ZSAgICAgICAyMDE2LjA5LjYKKyAqIEBicmllZiAgICAgIEVycm9yIGNoZWNrIGZ1bmN0aW9uCisgKiBAZGV0YWlscworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqICNpbmNsdWRlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2luY2x1ZGUgImthbF9nZW5lcmFsX3R5cGVzLmgiCisjaW5jbHVkZSAia2FsX3B1YmxpY19hcGkuaCIKKyNpbmNsdWRlICJjbDFkX3JmX2Vycm9yX2NoZWNrLmgiCisvLyNpbmNsdWRlICJtbWwxX3JmX2ludGVyZmFjZS5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogR2xvYmFsIEZ1bmN0aW9ucyBkZWNsYXJhdGlvbiAoaW50ZXJmYWNlKQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8vW05PVEVdIFBsZWFzZSBhZGQgdGhlIG5ldyBjaGVjayBmcm9tIHRoZSBlbmQgb2YgdGhpcyBmaWxlISEhCisvLyAgICAgICA9PiBJbiBvcmRlciB0byBrZWVwIHRoZSBhc3NlcnQgbGluZSBudW1iZXIgdW5jaGFuZ2VkCisvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfRGV2X2NvbmZpZ19yZl9zY2VuYXJpbyhrYWxfdWludDE2IHJmX3NjZW4pCit7CisgICBrYWxfYm9vbCBSZl9TY2VuYXJpbyA9IEtBTF9GQUxTRTsKKyNpZiBkZWZpbmVkKF9fTUQ5M19fKXx8ZGVmaW5lZChfX01EOTVfXykKKyAgIEVYVF9BU1NFUlQoUmZfU2NlbmFyaW8scmZfc2NlbiwgMCwgMCk7CisjZWxpZiBkZWZpbmVkKF9fTUQ5N19fKSB8fCBkZWZpbmVkKF9fTUQ5N1BfXykKKyAgIERFQlVHX0FTU0VSVChSZl9TY2VuYXJpbyk7CisgICBNT0RFTV9XQVJOSU5HX01FU1NBR0UoUmZfU2NlbmFyaW8sICJEZXZfY29uZmlnX3JmX3NjZW5hcmlvIik7CisjZW5kaWYKK30KKwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfRGV2X2FmY19jb25maWcoa2FsX3VpbnQxNiBwYXRoKQoreworICAga2FsX2Jvb2wgUGF0aCA9IEtBTF9GQUxTRTsKKyNpZiBkZWZpbmVkKF9fTUQ5M19fKXx8ZGVmaW5lZChfX01EOTVfXykKKyAgIEVYVF9BU1NFUlQoUGF0aCxwYXRoLCAwLCAwKTsKKyNlbGlmIGRlZmluZWQoX19NRDk3X18pIHx8IGRlZmluZWQoX19NRDk3UF9fKQorICAgREVCVUdfQVNTRVJUKFBhdGgpOworICAgTU9ERU1fV0FSTklOR19NRVNTQUdFKFBhdGgsICJEZXZfYWZjX2NvbmZpZyIpOworI2VuZGlmCit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0Rldl9nZXRfYnNpX3NhdmUoa2FsX3VpbnQxNiBkZXZfcGF0aCwga2FsX3VpbnQxNiBpc192YWxpZCkKK3sKKyAgIGthbF9ib29sIGdldF9ic2kgPSBLQUxfRkFMU0U7CisgICBFWFRfQVNTRVJUKGdldF9ic2ksZGV2X3BhdGgsaXNfdmFsaWQsMCk7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0Rldl9zZXRfYnNpX3NhdmUoa2FsX3VpbnQxNiBkZXZfcGF0aCwgdm9pZCogYnNpX2dldCkKK3sKKyAgIGthbF9ib29sIGdldF9ic2kgPSBLQUxfRkFMU0U7CisgICBFWFRfQVNTRVJUKGdldF9ic2ksZGV2X3BhdGgsKGthbF91aW50MzIpYnNpX2dldCwwKTsKK30KKwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfRGV2X2dldF9ic2lfcG9ydChrYWxfdWludDE2IHJmKQoreworICAga2FsX2Jvb2wgUmYgPSBLQUxfRkFMU0U7CisgICBFWFRfQVNTRVJUKFJmLHJmLDAsMCk7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0Rldl9yZl9jdXN0X2dldF9wcnhfcmYoa2FsX3VpbnQxNiByZl9iYW5kLHZvaWQqIGJzaV9nZXQpCit7CisgICBrYWxfYm9vbCBwcnhfcmYgPSBLQUxfRkFMU0U7CisgICBFWFRfQVNTRVJUKHByeF9yZixyZl9iYW5kLChrYWxfdWludDMyKWJzaV9nZXQsMCk7ICAgCit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0Rldl9yZl9jdXN0X2dldF9kcnhfcmYoa2FsX3VpbnQxNiByZl9iYW5kLHZvaWQqIGJzaV9nZXQpCit7CisgICBrYWxfYm9vbCBkcnhfcmYgPSBLQUxfRkFMU0U7CisgICBFWFRfQVNTRVJUKGRyeF9yZixyZl9iYW5kLChrYWxfdWludDMyKWJzaV9nZXQsMCk7ICAgCit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0Rldl9yZl9nZXRfdHhfcmZfYnNpX2lkeChrYWxfdWludDE2IENMMURfUkZfREVWX1BsbEJhbmQsdm9pZCogYnNpX2dldCkKK3sKKyAgIGthbF9ib29sIGJzaV9pZHggPSBLQUxfRkFMU0U7CisgICBFWFRfQVNTRVJUKGJzaV9pZHgsQ0wxRF9SRl9ERVZfUGxsQmFuZCwoa2FsX3VpbnQzMilic2lfZ2V0LDApOyAKK30KKwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfRGV2X3NldF9kZXZfY3RybChrYWxfdWludDE2IHBhdGgsdm9pZCogYnNpX2dldCkKK3sKKyAgIGthbF9ib29sIGRldl9jdHJsID0gS0FMX0ZBTFNFOworICAgRVhUX0FTU0VSVChkZXZfY3RybCxwYXRoLChrYWxfdWludDMyKWJzaV9nZXQsMCk7IAorfQorCit2b2lkIENMMURfRXJyb3JDaGVja19EZXZfYzJrX2JzaV9zd2l0Y2hfdG9fbW1sMV9ic2koa2FsX3VpbnQxNiBic2kpCit7CisgICBrYWxfYm9vbCBic2lfc3dpdGNoID0gS0FMX0ZBTFNFOworICAgRVhUX0FTU0VSVChic2lfc3dpdGNoLGJzaSwwLDApOyAKK30KKwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfRGV2X2dldF9yeDFfd2FybXVwX2NvZGVfd29yZChrYWxfdWludDE2IGJhbmRfY2xhc3MsIGthbF91aW50MTYgYmFuZCkKK3sKKyAgIGthbF9ib29sIFBhdGggPSBLQUxfRkFMU0U7CisgICBFWFRfQVNTRVJUKFBhdGgsIGJhbmRfY2xhc3MsIGJhbmQsMCk7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0Rldl9nZXRfcngyX3dhcm11cF9jb2RlX3dvcmQoa2FsX3VpbnQxNiBiYW5kX2NsYXNzLCBrYWxfdWludDE2IGJhbmQpCit7CisgICBrYWxfYm9vbCBQYXRoID0gS0FMX0ZBTFNFOworICAgRVhUX0FTU0VSVChQYXRoLCBiYW5kX2NsYXNzLCBiYW5kLDApOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19EZXZfZ2V0X3ByeF9wb3J0KGthbF91aW50MTYgcHJ4UG9ydCkKK3sKKyAgIGthbF9ib29sIFJ4UG9ydCA9IEtBTF9GQUxTRTsKKyAgIEVYVF9BU1NFUlQoUnhQb3J0LCBwcnhQb3J0LCAwLCAwKTsKK30KKwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfRGV2X2dldF9kcnhfcG9ydChrYWxfdWludDE2IGRyeFBvcnQpCit7CisgICBrYWxfYm9vbCBSeFBvcnQgPSBLQUxfRkFMU0U7CisgICBFWFRfQVNTRVJUKFJ4UG9ydCwgZHJ4UG9ydCwgMCwgMCk7Cit9CisjaWYgZGVmaW5lZChfX01EOTNfXyl8fGRlZmluZWQoX19NRDk1X18pCit2b2lkIENMMURfRXJyb3JDaGVja19EZXZfYnVpbGRfcnhfd2FybXVwX3NjcmlwdChrYWxfdWludDE2IHBhdGgpCit7CisgICBrYWxfYm9vbCBQYXRoID0gS0FMX0ZBTFNFOworICAgRVhUX0FTU0VSVChQYXRoLCBwYXRoLDAsMCk7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0Rldl9idWlsZF9yeF9idXJzdF9zY3JpcHQoa2FsX3VpbnQxNiBwYXRoKQoreworICAga2FsX2Jvb2wgUGF0aCA9IEtBTF9GQUxTRTsKKyAgIEVYVF9BU1NFUlQoUGF0aCwgcGF0aCwwLDApOworfQorI2VuZGlmCit2b2lkIENMMURfRXJyb3JDaGVja19EZXZfYnVpbGRfcnhfcGF0aWFsX29uX3NjcmlwdChrYWxfdWludDE2IHBhdGgpCit7CisgICBrYWxfYm9vbCBQYXRoID0gS0FMX0ZBTFNFOworI2lmIGRlZmluZWQoX19NRDkzX18pfHxkZWZpbmVkKF9fTUQ5NV9fKQorICAgRVhUX0FTU0VSVChQYXRoLHBhdGgsIDAsMCk7CisjZWxpZiBkZWZpbmVkKF9fTUQ5N19fKSB8fCBkZWZpbmVkKF9fTUQ5N1BfXykKKyAgIERFQlVHX0FTU0VSVChQYXRoKTsKKyAgIE1PREVNX1dBUk5JTkdfTUVTU0FHRShQYXRoLCAiRGV2X2J1aWxkX3J4X3BhdGlhbF9vbl9zY3JpcHQiKTsKKyNlbmRpZgorfQorCit2b2lkIENMMURfRXJyb3JDaGVja19EZXZfYnVpbGRfcnhfcGF0aWFsX29mZl9zY3JpcHQoa2FsX3VpbnQxNiBwYXRoKQoreworICAga2FsX2Jvb2wgUGF0aCA9IEtBTF9GQUxTRTsKKyNpZiBkZWZpbmVkKF9fTUQ5M19fKXx8ZGVmaW5lZChfX01EOTVfXykKKyAgIEVYVF9BU1NFUlQoUGF0aCxwYXRoLCAwLDApOworI2VsaWYgZGVmaW5lZChfX01EOTdfXykgfHwgZGVmaW5lZChfX01EOTdQX18pCisgICBERUJVR19BU1NFUlQoUGF0aCk7CisgICBNT0RFTV9XQVJOSU5HX01FU1NBR0UoUGF0aCwgIkRldl9idWlsZF9yeF9wYXRpYWxfb2ZmX3NjcmlwdCIpOworI2VuZGlmCit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0Rldl9idWlsZF9yeF9zbGVlcF9zY3JpcHQoa2FsX3VpbnQxNiBwYXRoKQoreworICAga2FsX2Jvb2wgUGF0aCA9IEtBTF9GQUxTRTsKKyAgIEVYVF9BU1NFUlQoUGF0aCxwYXRoLCAwLDApOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19EZXZfcnhfb25fcnhfcGF0aChrYWxfdWludDE2IHBhdGgpCit7CisgICBrYWxfYm9vbCBQYXRoID0gS0FMX0ZBTFNFOworI2lmIGRlZmluZWQoX19NRDkzX18pfHxkZWZpbmVkKF9fTUQ5NV9fKQorICAgRVhUX0FTU0VSVChQYXRoLHBhdGgsIDAsMCk7CisjZWxpZiBkZWZpbmVkKF9fTUQ5N19fKSB8fCBkZWZpbmVkKF9fTUQ5N1BfXykKKyAgIERFQlVHX0FTU0VSVChQYXRoKTsKKyAgIE1PREVNX1dBUk5JTkdfTUVTU0FHRShQYXRoLCAiRGV2X3J4X29uX3J4X3BhdGgiKTsKKyNlbmRpZgorCit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0Rldl9yeF9vbl9wYXRoX2JhbmQoa2FsX3VpbnQxNiByeF9wYXRoLGthbF91aW50MTYgIGJhbmRfY2xhc3Msa2FsX3VpbnQxNiAgcmZfYmFuZCkKK3sKKyAgIGthbF9ib29sIFBhdGggPSBLQUxfRkFMU0U7CisjaWYgZGVmaW5lZChfX01EOTNfXyl8fGRlZmluZWQoX19NRDk1X18pCisgICBFWFRfQVNTRVJUKFBhdGgscnhfcGF0aCwgYmFuZF9jbGFzcywgcmZfYmFuZCk7CisjZWxpZiBkZWZpbmVkKF9fTUQ5N19fKSB8fCBkZWZpbmVkKF9fTUQ5N1BfXykKKyAgIERFQlVHX0FTU0VSVChQYXRoKTsKKyAgIE1PREVNX1dBUk5JTkdfTUVTU0FHRShQYXRoLCAiRGV2X3J4X29uX3BhdGhfYmFuZCIpOworI2VuZGlmCisKKworCit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0Rldl9yeF9vbl9tb2RlX3JmX2NvbmZpZyhrYWxfdWludDE2IG1vZGUpCit7CisgICBrYWxfYm9vbCBNb2RlID0gS0FMX0ZBTFNFOworI2lmIGRlZmluZWQoX19NRDkzX18pfHxkZWZpbmVkKF9fTUQ5NV9fKQorICAgRVhUX0FTU0VSVChNb2RlLG1vZGUsIDAsIDApOworI2VsaWYgZGVmaW5lZChfX01EOTdfXykgfHwgZGVmaW5lZChfX01EOTdQX18pCisgICBERUJVR19BU1NFUlQoTW9kZSk7CisgICBNT0RFTV9XQVJOSU5HX01FU1NBR0UoTW9kZSwgIkRldl9yeF9vbl9tb2RlX3JmX2NvbmZpZyIpOworI2VuZGlmCit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0Rldl9yeF9vZmZfcGF0aF9tb2RlKGthbF91aW50MTYgcnhfcGF0aCwga2FsX3VpbnQxNiBtb2RlKQoreworICAga2FsX2Jvb2wgUGF0aCA9IEtBTF9GQUxTRTsKKyNpZiBkZWZpbmVkKF9fTUQ5M19fKXx8ZGVmaW5lZChfX01EOTVfXykKKyAgIEVYVF9BU1NFUlQoUGF0aCxyeF9wYXRoLCBtb2RlLCAwKTsKKyNlbGlmIGRlZmluZWQoX19NRDk3X18pIHx8IGRlZmluZWQoX19NRDk3UF9fKQorICAgREVCVUdfQVNTRVJUKFBhdGgpOworICAgTU9ERU1fV0FSTklOR19NRVNTQUdFKFBhdGgsICJEZXZfcnhfb2ZmX3BhdGhfbW9kZSIpOworI2VuZGlmCisKK30KKwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfRGV2X3R4X29uX2JhbmRfbW9kZShrYWxfdWludDE2IGNkbWFfYmFuZCwga2FsX3VpbnQxNiBiYW5kLGthbF91aW50MTYgcmF0X3R5cGUpCit7CisgICBrYWxfYm9vbCBCYW5kID0gS0FMX0ZBTFNFOworI2lmIGRlZmluZWQoX19NRDkzX18pfHxkZWZpbmVkKF9fTUQ5NV9fKQorICAgRVhUX0FTU0VSVChCYW5kLGNkbWFfYmFuZCwgYmFuZCwgcmF0X3R5cGUpOworI2VsaWYgZGVmaW5lZChfX01EOTdfXykgfHwgZGVmaW5lZChfX01EOTdQX18pCisgICBERUJVR19BU1NFUlQoQmFuZCk7CisgICBNT0RFTV9XQVJOSU5HX01FU1NBR0UoQmFuZCwgIkRldl90eF9vbl9iYW5kX21vZGUiKTsKKyNlbmRpZgorfQorCit2b2lkIENMMURfRXJyb3JDaGVja19EZXZfZ2V0X3R4X3dhcm11cF9jb2RlX3dvcmQoa2FsX3VpbnQxNiBiYW5kX2NsYXNzLCBrYWxfdWludDE2IGJhbmQpCit7CisgICBrYWxfYm9vbCBQYXRoID0gS0FMX0ZBTFNFOworICAgRVhUX0FTU0VSVChQYXRoLCBiYW5kX2NsYXNzLCBiYW5kLDApOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19EZXZfZ2V0X3R4X3BvcnQoa2FsX3VpbnQxNiB0eFBvcnQpCit7CisgICBrYWxfYm9vbCBUeFBvcnQgPSBLQUxfRkFMU0U7CisgICBFWFRfQVNTRVJUKFR4UG9ydCwgdHhQb3J0LCAwLDApOyAgICAKK30KKwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfRGV2X2dhdGVfb24oa2FsX3VpbnQxNiByYXRfdHlwZSkKK3sKKyAgIGthbF9ib29sIFJhdCA9IEtBTF9GQUxTRTsKKyNpZiBkZWZpbmVkKF9fTUQ5M19fKXx8ZGVmaW5lZChfX01EOTVfXykKKyAgIEVYVF9BU1NFUlQoUmF0LHJhdF90eXBlLCAwLCAwKTsgCisjZWxpZiBkZWZpbmVkKF9fTUQ5N19fKSB8fCBkZWZpbmVkKF9fTUQ5N1BfXykKKyAgIERFQlVHX0FTU0VSVChSYXQpOworICAgTU9ERU1fV0FSTklOR19NRVNTQUdFKFJhdCwgIkRldl9nYXRlX29uIik7CisjZW5kaWYKK30KKwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfRGV2X3R4X29mZihrYWxfdWludDE2IHJhdF90eXBlKQoreworICAga2FsX2Jvb2wgUmF0ID0gS0FMX0ZBTFNFOworI2lmIGRlZmluZWQoX19NRDkzX18pfHxkZWZpbmVkKF9fTUQ5NV9fKQorICAgRVhUX0FTU0VSVChSYXQscmF0X3R5cGUsIDAsIDApOyAKKyNlbGlmIGRlZmluZWQoX19NRDk3X18pIHx8IGRlZmluZWQoX19NRDk3UF9fKQorICAgREVCVUdfQVNTRVJUKFJhdCk7CisgICBNT0RFTV9XQVJOSU5HX01FU1NBR0UoUmF0LCAiRGV2X3R4X29mZiIpOworI2VuZGlmCit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0Rldl9nYXRlX29mZihrYWxfdWludDE2IHJhdF90eXBlKQoreworICAga2FsX2Jvb2wgUmF0ID0gS0FMX0ZBTFNFOworI2lmIGRlZmluZWQoX19NRDkzX18pfHxkZWZpbmVkKF9fTUQ5NV9fKQorICAgRVhUX0FTU0VSVChSYXQscmF0X3R5cGUsIDAsIDApOworI2VsaWYgZGVmaW5lZChfX01EOTdfXykgfHwgZGVmaW5lZChfX01EOTdQX18pCisgICBERUJVR19BU1NFUlQoUmF0KTsKKyAgIE1PREVNX1dBUk5JTkdfTUVTU0FHRShSYXQsICJEZXZfZ2F0ZV9vZmYiKTsKKyNlbmRpZgorfQorCit2b2lkIENMMURfRXJyb3JDaGVja19EZXZfZ2V0X3J4X2RjX3RibChrYWxfdWludDggcnhfcGF0aCxrYWxfdWludDggcmZfYmFuZCkKK3sKKyAgIGthbF9ib29sIERjID0gS0FMX0ZBTFNFOworI2lmIGRlZmluZWQoX19NRDkzX18pfHxkZWZpbmVkKF9fTUQ5NV9fKQorICAgRVhUX0FTU0VSVChEYyxyeF9wYXRoLCByZl9iYW5kLCAwKTsgCisjZWxpZiBkZWZpbmVkKF9fTUQ5N19fKSB8fCBkZWZpbmVkKF9fTUQ5N1BfXykKKyAgIERFQlVHX0FTU0VSVChEYyk7CisgICBNT0RFTV9XQVJOSU5HX01FU1NBR0UoRGMsICJEZXZfZ2V0X3J4X2RjX3RibCIpOworI2VuZGlmCit9CisKKyNpZiBkZWZpbmVkKF9fTUQ5M19fKSB8fCBkZWZpbmVkKF9fTUQ5NV9fKQordm9pZCBDTDFEX0Vycm9yQ2hlY2tfRGV2X3BsbF9zcngoa2FsX3VpbnQxNiBiYW5kX2NsYXNzKQoreworICAga2FsX2Jvb2wgUGxsID0gS0FMX0ZBTFNFOworICAgRVhUX0FTU0VSVChQbGwsYmFuZF9jbGFzcywgMCwgMCk7IAorfQorCit2b2lkIENMMURfRXJyb3JDaGVja19EZXZfcGxsX3N0eChrYWxfdWludDE2IGJhbmRfY2xhc3MpCit7CisgICBrYWxfYm9vbCBQbGwgPSBLQUxfRkFMU0U7CisgICBFWFRfQVNTRVJUKFBsbCxiYW5kX2NsYXNzLCAwLCAwKTsgCit9CisjZW5kaWYKKyNpZiBkZWZpbmVkKF9fUE1JQ19WUzFfTE9XX1BPV0VSX0NUUkxfU1VQUE9SVF9fKQordm9pZCBDTDFEX0Vycm9yQ2hlY2tfRGV2X3ZzMShrYWxfdWludDE2IHBhdGhfdHlwZSwga2FsX3VpbnQxNiBwYXRoX29uKQoreworICAga2FsX2Jvb2wgVnMxID0gS0FMX0ZBTFNFOworICAgRVhUX0FTU0VSVChWczEscGF0aF90eXBlLCBwYXRoX3R5cGUsIDApOyAgCit9CisjZW5kaWYKKwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfUnhEZmVfcGF0aF9yYXQoa2FsX3VpbnQxNiByYXRfdHlwZSkKK3sKKyAgIGthbF9ib29sIFJhdCA9IEtBTF9GQUxTRTsKKyAgIEVYVF9BU1NFUlQoUmF0LHJhdF90eXBlICwwICwwKTsKK30KKwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfUnhEZmVfcGF0aF9zY2VuKGthbF91aW50MTYgc2NlbikKK3sKKyAgIGthbF9ib29sIFNjZW4gPSBLQUxfRkFMU0U7CisgICBFWFRfQVNTRVJUKFNjZW4sc2NlbiAsMCAsMCk7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX1J4RGZlX2ZjX3JhdChrYWxfdWludDE2IHJhdF90eXBlKQoreworICAga2FsX2Jvb2wgUmF0ID0gS0FMX0ZBTFNFOworICAgRVhUX0FTU0VSVChSYXQscmF0X3R5cGUgLDAgLDApOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19SeERmZV9mY193cml0ZV9yYXQoa2FsX3VpbnQxNiByYXRfdHlwZSkKK3sKKyAgIGthbF9ib29sIFJhdCA9IEtBTF9GQUxTRTsKKyAgIEVYVF9BU1NFUlQoUmF0LHJhdF90eXBlICwwICwwKTsKK30KKworCit2b2lkIENMMURfRXJyb3JDaGVja19SeERmZV90cV90eXBlKGthbF91aW50MTYgdHFfdHlwZSkKK3sKKyAgIGthbF9ib29sIFRxID0gS0FMX0ZBTFNFOworICAgRVhUX0FTU0VSVChUcSx0cV90eXBlICwwICwwKTsKK30KKwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfUnhEZmVfZmNfdHlwZShrYWxfdWludDE2IGZjX3R5cGUpCit7CisgICBrYWxfYm9vbCBGYyA9IEtBTF9GQUxTRTsKKyAgIEVYVF9BU1NFUlQoRmMsZmNfdHlwZSAsMCAsMCk7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX1J4RGZlX2ZjX3RxX3R5cGUoa2FsX3VpbnQxNiB0cV90eXBlKQoreworICAga2FsX2Jvb2wgVHEgPSBLQUxfRkFMU0U7CisgICBFWFRfQVNTRVJUKFRxLHRxX3R5cGUgLDAgLDApOworfQorCisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX1R4RGZlX3BhdGhfc2NlbihrYWxfdWludDE2IHNjZW4pCit7CisgICBrYWxfYm9vbCBTY2VuID0gS0FMX0ZBTFNFOworICAgRVhUX0FTU0VSVChTY2VuLHNjZW4gLDAgLDApOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19UeERmZV9ldnRfc2NlbihrYWxfdWludDE2IHNjZW4pCit7CisgICBrYWxfYm9vbCBTY2VuID0gS0FMX0ZBTFNFOworICAgRVhUX0FTU0VSVChTY2VuLHNjZW4gLDAgLDApOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19UeERmZV9ldnRfcmF0KGthbF91aW50MTYgcmF0X3R5cGUpCit7CisgICBrYWxfYm9vbCBSYXQgPSBLQUxfRkFMU0U7CisgICBFWFRfQVNTRVJUKFJhdCxyYXRfdHlwZSAsMCAsMCk7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX1R4RGZlX3R0Z19zY2VuKGthbF91aW50MTYgc2NlbikKK3sKKyAgIGthbF9ib29sIFNjZW4gPSBLQUxfRkFMU0U7CisgICBFWFRfQVNTRVJUKFNjZW4sc2NlbiAsMCAsMCk7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX1R4RGZlX3R0Z19yYXQoa2FsX3VpbnQxNiByYXQpCit7CisgICAga2FsX2Jvb2wgUmF0ID0gS0FMX0ZBTFNFOworICAgIEVYVF9BU1NFUlQoUmF0LHJhdCAsMCAsMCk7CisKK30KKworCit2b2lkIENMMURfRXJyb3JDaGVja19UeERmZV90dGdfcGhpKGthbF91aW50MTYgcGhpKQoreworICAgIGthbF9ib29sIFBoaSA9IEtBTF9GQUxTRTsKKyAgICBFWFRfQVNTRVJUKFBoaSxwaGkgLDAgLDApOworCit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfcGFyYW1faWxsZWdhbF9zeXNCYW5kQ2xhc3Moa2FsX3VpbnQ4IGJhbmRDbGFzcyl7CisJa2FsX2Jvb2wgQmFuZENsYXNzPUtBTF9GQUxTRTsKKwlFWFRfQVNTRVJUKEJhbmRDbGFzcyxiYW5kQ2xhc3MsMCwwKTsKK30KKworI2lmIGRlZmluZWQoX19NRDkzX18pIHx8IGRlZmluZWQoX19NRDk1X18pCit2b2lkIENMMURfRXJyb3JDaGVja19DVVNUX21pcGlfaWxsZWdhbF9kYXRhX3RhYl9udW1fcngoa2FsX3VpbnQxNiByeERhdGFFbmQpeworCWthbF9ib29sIFJ4RGF0YUVuZD1LQUxfRkFMU0U7CisJRVhUX0FTU0VSVChSeERhdGFFbmQscnhEYXRhRW5kLDAsMCk7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfbWlwaV9pbGxlZ2FsX2V2ZW50X3R5cGVfcngoa2FsX3VpbnQxNiByeEV2ZW50VHlwZSl7CisJa2FsX2Jvb2wgUnhFdmVudFR5cGU9S0FMX0ZBTFNFOworCUVYVF9BU1NFUlQoUnhFdmVudFR5cGUscnhFdmVudFR5cGUsMCwwKTsKK30KKwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF9taXBpX2lsbGVnYWxfZGF0YV90YWJfbnVtX3R4KGthbF91aW50MTYgdHhEYXRhRW5kKXsKKwlrYWxfYm9vbCBUeERhdGFFbmQ9S0FMX0ZBTFNFOworCUVYVF9BU1NFUlQoVHhEYXRhRW5kLHR4RGF0YUVuZCwwLDApOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19DVVNUX21pcGlfaWxsZWdhbF9ldmVudF90eXBlX3R4KGthbF91aW50MTYgdHhFdmVudFR5cGUpeworCWthbF9ib29sIFR4RXZlbnRUeXBlPUtBTF9GQUxTRTsKKwlFWFRfQVNTRVJUKFR4RXZlbnRUeXBlLHR4RXZlbnRUeXBlLDAsMCk7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfbWlwaV9pbGxlZ2FsX2J1ZmZlcl9pbmRleChrYWxfdWludDggdHhSeEJ1ZmZlckluZGV4KXsKKwlrYWxfYm9vbCBUeFJ4QnVmZmVySW5kZXg9S0FMX0ZBTFNFOworCUVYVF9BU1NFUlQoVHhSeEJ1ZmZlckluZGV4LHR4UnhCdWZmZXJJbmRleCwwLDApOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19DVVNUX21pcGlfaWxsZWdhbF9taXBpX2RhdGFfc2VxKGthbF91aW50MTYgbWlwaURhdGFTZXEpeworCWthbF9ib29sIE1pcGlEYXRhU2VxPUtBTF9GQUxTRTsKKwlFWFRfQVNTRVJUKE1pcGlEYXRhU2VxLG1pcGlEYXRhU2VxLDAsMCk7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfbWlwaV9pbGxlZ2FsX2RhdGFfdGFiX251bV90cGMxeHJ0dChrYWxfdWludDE2IHRwY0RhdGFFbmQpeworCWthbF9ib29sIFRwY0RhdGFFbmQ9S0FMX0ZBTFNFOworCUVYVF9BU1NFUlQoVHBjRGF0YUVuZCx0cGNEYXRhRW5kLDAsMCk7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfbWlwaV9pbGxlZ2FsX2J1ZmZlcl9pbmRleF90cGMxeHJ0dChrYWxfdWludDggdHBjQnVmZmVySW5kZXgpeworCWthbF9ib29sIFRwY0J1ZmZlckluZGV4PUtBTF9GQUxTRTsKKwlFWFRfQVNTRVJUKFRwY0J1ZmZlckluZGV4LHRwY0J1ZmZlckluZGV4LDAsMCk7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfbWlwaV9pbGxlZ2FsX21pcGlfZGF0YV9zZXFfdHBjMXhydHQoa2FsX3VpbnQxNiBtaXBpRGF0YVNlcVRwYyl7CisJa2FsX2Jvb2wgTWlwaURhdGFTZXFUcGM9S0FMX0ZBTFNFOworCUVYVF9BU1NFUlQoTWlwaURhdGFTZXFUcGMsbWlwaURhdGFTZXFUcGMsMCwwKTsKK30KKwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF9taXBpX2lsbGVnYWxfZGF0YV90YWJfbnVtX3RwY0V2ZG8oa2FsX3VpbnQxNiB0cGNEYXRhRW5kKXsKKwlrYWxfYm9vbCBUcGNEYXRhRW5kPUtBTF9GQUxTRTsKKwlFWFRfQVNTRVJUKFRwY0RhdGFFbmQsdHBjRGF0YUVuZCwwLDApOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19DVVNUX21pcGlfaWxsZWdhbF9idWZmZXJfaW5kZXhfdHBjRXZkbyhrYWxfdWludDggdHBjQnVmZmVySW5kZXgpeworCWthbF9ib29sIFRwY0J1ZmZlckluZGV4PUtBTF9GQUxTRTsKKwlFWFRfQVNTRVJUKFRwY0J1ZmZlckluZGV4LHRwY0J1ZmZlckluZGV4LDAsMCk7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfbWlwaV9pbGxlZ2FsX21pcGlfZGF0YV9zZXFfdHBjRXZkbyhrYWxfdWludDE2IG1pcGlEYXRhU2VxVHBjKXsKKwlrYWxfYm9vbCBNaXBpRGF0YVNlcVRwYz1LQUxfRkFMU0U7CisJRVhUX0FTU0VSVChNaXBpRGF0YVNlcVRwYyxtaXBpRGF0YVNlcVRwYywwLDApOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19DVVNUX21pcGlfaWxsZWdhbF9kYXRhX3RhYl9udW1fZXRtKGthbF91aW50MTYgZXRtRGF0YUVuZCl7CisJa2FsX2Jvb2wgRXRtRGF0YUVuZD1LQUxfRkFMU0U7CisJRVhUX0FTU0VSVChFdG1EYXRhRW5kLGV0bURhdGFFbmQsMCwwKTsKK30KKwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF9taXBpX2lsbGVnYWxfYnVmZmVyX2luZGV4X2V0bVR4T24oa2FsX3VpbnQ4IGV0bUJ1ZmZlckluZGV4KXsKKwlrYWxfYm9vbCBFdG1CdWZmZXJJbmRleD1LQUxfRkFMU0U7CisJRVhUX0FTU0VSVChFdG1CdWZmZXJJbmRleCxldG1CdWZmZXJJbmRleCwwLDApOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19DVVNUX21pcGlfaWxsZWdhbF9taXBpX2RhdGFfc2VxX2V0bVR4T24oa2FsX3VpbnQxNiBtaXBpRGF0YVNlcSl7CisJa2FsX2Jvb2wgTWlwaURhdGFTZXE9S0FMX0ZBTFNFOworCUVYVF9BU1NFUlQoTWlwaURhdGFTZXEsbWlwaURhdGFTZXEsMCwwKTsKK30KKwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF9taXBpX2lsbGVnYWxfYnVmZmVyX2luZGV4X2V0bVR4T2ZmKGthbF91aW50OCBldG1CdWZmZXJJbmRleCl7CisJa2FsX2Jvb2wgRXRtQnVmZmVySW5kZXg9S0FMX0ZBTFNFOworCUVYVF9BU1NFUlQoRXRtQnVmZmVySW5kZXgsZXRtQnVmZmVySW5kZXgsMCwwKTsKK30KKwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF9taXBpX2lsbGVnYWxfbWlwaV9kYXRhX3NlcV9ldG1UeE9mZihrYWxfdWludDE2IG1pcGlEYXRhU2VxKXsKKwlrYWxfYm9vbCBNaXBpRGF0YVNlcT1LQUxfRkFMU0U7CisJRVhUX0FTU0VSVChNaXBpRGF0YVNlcSxtaXBpRGF0YVNlcSwwLDApOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19DVVNUX21pcGlfaWxsZWdhbF9ldmVudF90eXBlX2V0bShrYWxfdWludDE2IGV0bUV2ZW50VHlwZSl7CisJa2FsX2Jvb2wgRXRtRXZlbnRUeXBlPUtBTF9GQUxTRTsKKwlFWFRfQVNTRVJUKEV0bUV2ZW50VHlwZSxldG1FdmVudFR5cGUsMCwwKTsKK30KKwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF9taXBpX2lsbGVnYWxfZGF0YV90YWJfbnVtX2V0bV90cGMxeHJ0dChrYWxfdWludDE2IHRwY0RhdGFFbmQpeworCWthbF9ib29sIFRwY0RhdGFFbmQ9S0FMX0ZBTFNFOworCUVYVF9BU1NFUlQoVHBjRGF0YUVuZCx0cGNEYXRhRW5kLDAsMCk7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfbWlwaV9pbGxlZ2FsX2J1ZmZlcl9pbmRleF9ldG1fdHBjMXhydHQoa2FsX3VpbnQ4IGV0bUJ1ZmZlckluZGV4KXsKKwlrYWxfYm9vbCBFdG1CdWZmZXJJbmRleD1LQUxfRkFMU0U7CisJRVhUX0FTU0VSVChFdG1CdWZmZXJJbmRleCxldG1CdWZmZXJJbmRleCwwLDApOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19DVVNUX21pcGlfaWxsZWdhbF9taXBpX2RhdGFfc2VxX2V0bV90cGMxeHJ0dChrYWxfdWludDE2IG1pcGlEYXRhU2VxKXsKKwlrYWxfYm9vbCBNaXBpRGF0YVNlcT1LQUxfRkFMU0U7CisJRVhUX0FTU0VSVChNaXBpRGF0YVNlcSxtaXBpRGF0YVNlcSwwLDApOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19DVVNUX21pcGlfaWxsZWdhbF9kYXRhX3RhYl9udW1fZXRtX3RwY0V2ZG8oa2FsX3VpbnQxNiB0cGNEYXRhRW5kKXsKKwlrYWxfYm9vbCBUcGNEYXRhRW5kPUtBTF9GQUxTRTsKKwlFWFRfQVNTRVJUKFRwY0RhdGFFbmQsdHBjRGF0YUVuZCwwLDApOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19DVVNUX21pcGlfaWxsZWdhbF9idWZmZXJfaW5kZXhfZXRtX3RwY0V2ZG8oa2FsX3VpbnQ4IGV0bUJ1ZmZlckluZGV4KXsKKwlrYWxfYm9vbCBFdG1CdWZmZXJJbmRleD1LQUxfRkFMU0U7CisJRVhUX0FTU0VSVChFdG1CdWZmZXJJbmRleCxldG1CdWZmZXJJbmRleCwwLDApOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19DVVNUX21pcGlfaWxsZWdhbF9taXBpX2RhdGFfc2VxX2V0bV90cGNFdmRvKGthbF91aW50MTYgbWlwaURhdGFTZXEpeworCWthbF9ib29sIE1pcGlEYXRhU2VxPUtBTF9GQUxTRTsKKwlFWFRfQVNTRVJUKE1pcGlEYXRhU2VxLG1pcGlEYXRhU2VxLDAsMCk7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfbWlwaV9pbGxlZ2FsX21pcGlfZGF0YV9udW0oa2FsX2Jvb2wgaXNfc3RhcnQsa2FsX3VpbnQxNiBtaXBpRGF0YU51bSl7CisJa2FsX2Jvb2wgTWlwaURhdGFOdW09S0FMX0ZBTFNFOworCUVYVF9BU1NFUlQoTWlwaURhdGFOdW0saXNfc3RhcnQsbWlwaURhdGFOdW0sMCk7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfbWlwaV9pbGxlZ2FsX21pcGlfZGF0YV9jaGVjayh2b2lkICppbmZvUHRyLGthbF91aW50OCBiYW5kLCBrYWxfdWludDggYWN0KXsKKwlrYWxfYm9vbCBNaXBpRGF0YUNoZWNrPUtBTF9GQUxTRTsKKwlFWFRfQVNTRVJUKE1pcGlEYXRhQ2hlY2ssKGthbF91aW50MzIpaW5mb1B0cixiYW5kLGFjdCk7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfbWlwaV9pbGxlZ2FsX21pcGlfZ2V0X3N1YmJhbmRfY2hlY2soa2FsX3VpbnQzMiBzdWJiYW5kX2ZyZXEsIGthbF91aW50MzIgZnJlcSl7CisJa2FsX2Jvb2wgTWlwaVN1YmJhbmRDaGVjaz1LQUxfRkFMU0U7CisJRVhUX0FTU0VSVChNaXBpU3ViYmFuZENoZWNrLHN1YmJhbmRfZnJlcSxmcmVxLDApOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19EZXZfdHhfcG9jX2JhbmQoa2FsX3VpbnQzMiBiYW5kX2NsYXNzKXsKKwlrYWxfYm9vbCBUeFBvY0JhbmQ9S0FMX0ZBTFNFOworCUVYVF9BU1NFUlQoVHhQb2NCYW5kLGJhbmRfY2xhc3MsMCwwKTsKK30KKyNlbmRpZgorCit2b2lkIENMMURfRXJyb3JDaGVja19DVVNUX2NhbF9pbGxlZ2FsX3JhdChrYWxfdWludDggcmF0KXsKKwlrYWxfYm9vbCBSYXQ9S0FMX0ZBTFNFOworCUVYVF9BU1NFUlQoUmF0LHJhdCwwLDApOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19DVVNUX2NhbF9pbGxlZ2FsX2NoYW5OdW0oa2FsX3VpbnQxNiBjaGFuTnVtKXsKKwlrYWxfYm9vbCBDaGFuTnVtPUtBTF9GQUxTRTsKKwlFWFRfQVNTRVJUKENoYW5OdW0sY2hhbk51bSwwLDApOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19DVVNUX2NhbF9pbGxlZ2FsX2RldlNlbmFyaW8oa2FsX3VpbnQ4IGRldlNlbmFyaW8peworCWthbF9ib29sIERldlNlbmFyaW89S0FMX0ZBTFNFOworCUVYVF9BU1NFUlQoRGV2U2VuYXJpbyxkZXZTZW5hcmlvLDAsMCk7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfY2FsX3J1bnRpbWVfaWxsZWdhbF9kZXZTZW5hcmlvKGthbF91aW50OCBkZXZTZW5hcmlvKXsKKwlrYWxfYm9vbCBEZXZTZW5hcmlvPUtBTF9GQUxTRTsKKwlFWFRfQVNTRVJUKERldlNlbmFyaW8sZGV2U2VuYXJpbywwLDApOworfQordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF9lbG5hX2lsbGVnYWxfZGVzU3ViYmFuZChrYWxfdWludDggZHN0U3ViYmFuZCl7CisJa2FsX2Jvb2wgRHN0U3ViYmFuZD1LQUxfRkFMU0U7CisJRVhUX0FTU0VSVChEc3RTdWJiYW5kLGRzdFN1YmJhbmQsMCwwKTsKK30KKwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF9lbG5hX2lsbGVnYWxfZWxuYVN3aXRjaChrYWxfdWludDggZWxuYVNlbCl7CisJa2FsX2Jvb2wgRWxuYVNlbD1LQUxfRkFMU0U7CisJRVhUX0FTU0VSVChFbG5hU2VsLGVsbmFTZWwsMCwwKTsKK30KKwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF9lbG5hX2lsbGVnYWxfY2F0ZWdvcnkoa2FsX3VpbnQ4IGVsbmFDYXRlZ29yeSl7CisJa2FsX2Jvb2wgRWxuYUNhdGVnb3J5PUtBTF9GQUxTRTsKKwlFWFRfQVNTRVJUKEVsbmFDYXRlZ29yeSxlbG5hQ2F0ZWdvcnksMCwwKTsKK30KK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX1RFTVBfbWVhcyhrYWxfdWludDggcmF0LGthbF91aW50OCB0bXBfbW9kZSl7CisJa2FsX2Jvb2wgVEVNUF9tZWFzPUtBTF9GQUxTRTsKKwlFWFRfQVNTRVJUKFRFTVBfbWVhcyxyYXQsdG1wX21vZGUsMCk7Cit9CisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyBGVU5DVElPTiBOQU1FOiAgQ0wxRF9FcnJvckNoZWNrX0hhbF9SYXRfVHlwZSgpCisgCisgREVTQ1JJUFRJT046ICAgIFRoaXMgZnVjbnRpb24gaXMgdXNlZCB0byBjaGVjayByYXQgdHlwZS4KKworIFBBUkFNRVRFUlM6ICAgICByYXQgdHlwZQorCisgUkVUVVJOUyBWQUxVRVM6IHZvaWQKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0hhbF9SYXRfVHlwZShrYWxfdWludDggcmF0KQoreworICAga2FsX2Jvb2wgZXJyb3IgPSBLQUxfRkFMU0U7CisJIEVYVF9BU1NFUlQoZXJyb3IscmF0LDAsMCk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIEZVTkNUSU9OIE5BTUU6ICBDTDFEX0Vycm9yQ2hlY2tfSGFsX1J4KCkKKyAKKyBERVNDUklQVElPTjogICAgVGhpcyBmdWNudGlvbiBpcyB1c2VkIHRvIGNoZWNrIEhBTCByeCBwYXRoIGNvbnRyb2wgY29uZmxpY3QuCisKKyBQQVJBTUVURVJTOiAgICAgdm9pZAorCisgUkVUVVJOUyBWQUxVRVM6IHZvaWQKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0hhbF9SeF9Db25mbGljdChDTDFEX1JGX0hBTF9SWF9FUlJPUl9FIGVycm9yX3R5cGUsa2FsX3VpbnQ4IGN1cl9ibXAsIGthbF91aW50OCByZXFfYm1wKQoreworICAga2FsX2Jvb2wgZXJyb3IgPSBLQUxfRkFMU0U7CisJIEVYVF9BU1NFUlQoZXJyb3IsZXJyb3JfdHlwZSxjdXJfYm1wLHJlcV9ibXApOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyBGVU5DVElPTiBOQU1FOiAgQ0wxRF9FcnJvckNoZWNrX0hhbF9BZmNfQmFuZF9DbGFzcygpCisgCisgREVTQ1JJUFRJT046ICAgIFRoaXMgZnVjbnRpb24gaXMgdXNlZCB0byBjaGVjayBiYW5kY2xhc3Mgc3VwcG9ydGVkIHN0YXR1cy4KKworIFBBUkFNRVRFUlM6ICAgICAzR1BQMiBiYW5kIGNsYXNzCisKKyBSRVRVUk5TIFZBTFVFUzogdm9pZAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfSGFsX0FmY19CYW5kX0NsYXNzKGthbF91aW50MzIgYmFuZF9jbGFzcykKK3sKKyAgIGthbF9ib29sIGJjID0gS0FMX0ZBTFNFOworI2lmIGRlZmluZWQoX19NRDkzX18pIHx8IGRlZmluZWQoX19NRDk1X18pCisgICBFWFRfQVNTRVJUKGJjLGJhbmRfY2xhc3MsMCwwKTsKKyNlbHNlCisgICBERUJVR19BU1NFUlQoYmMpOworICAgTU9ERU1fV0FSTklOR19NRVNTQUdFKGJjLCAiSW52YWxpZDogQmFuZF9DbGFzcyIpOworI2VuZGlmCit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIEZVTkNUSU9OIE5BTUU6ICBDTDFEX0Vycm9yQ2hlY2tfSGFsX0FmY19DaGFubmVsKCkKKyAKKyBERVNDUklQVElPTjogICAgVGhpcyBmdWNudGlvbiBpcyB1c2VkIHRvIGNoZWNrIGNoYW5uZWwgb2YgdGhlIGJhbmRjbGFzcyBzdXBwb3J0ZWQgc3RhdHVzLgorCisgUEFSQU1FVEVSUzogICAgIDNHUFAyIGJhbmQgY2xhc3MgYW5kIGNoYW5uZWwKKworIFJFVFVSTlMgVkFMVUVTOiB2b2lkCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIENMMURfRXJyb3JDaGVja19IYWxfQWZjX0NoYW5uZWwoa2FsX3VpbnQzMiBiYW5kX2NsYXNzLCBrYWxfdWludDMyIGNoYW5uZWwpCit7CisgICBrYWxfYm9vbCBjaCA9IEtBTF9GQUxTRTsKKyNpZiBkZWZpbmVkKF9fTUQ5M19fKSB8fCBkZWZpbmVkKF9fTUQ5NV9fKSAgIAorICAgRVhUX0FTU0VSVChjaCxiYW5kX2NsYXNzLGNoYW5uZWwsMCk7CisjZWxzZQorICAgREVCVUdfQVNTRVJUKGNoKTsKKyAgIE1PREVNX1dBUk5JTkdfTUVTU0FHRShjaCwgIkludmFsaWQ6IENoYW5uZWxfTnVtYmVyIik7CisjZW5kaWYKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgRlVOQ1RJT04gTkFNRTogIENMMURfRXJyb3JDaGVja19DdWlmX1RwYygpCisgCisgREVTQ1JJUFRJT046ICAgIFRoaXMgZnVjbnRpb24gaXMgdXNlZCB0byBjaGVjayBUUEMgY3VpZiB0cmFuc2ZlciBlcnJvci4KKworIFBBUkFNRVRFUlM6ICAgICBlcnJvciB0eXBlCisKKyBSRVRVUk5TIFZBTFVFUzogdm9pZAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ3VpZl9UcGMoQ0wxRF9SRl9DVUlGX1RQQ19DRkdfRVJST1JfRSBlcnJvcl90eXBlKQoreworI2lmbmRlZiBMMV9TSU0KKyAgIGthbF9ib29sIGVycm9yID0gS0FMX0ZBTFNFOworCSBFWFRfQVNTRVJUKGVycm9yLGVycm9yX3R5cGUsMCwwKTsKKyNlbmRpZgorfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyBGVU5DVElPTiBOQU1FOiAgQ0wxRF9FcnJvckNoZWNrX0N1aWZfQWdjKCkKKyAKKyBERVNDUklQVElPTjogICAgVGhpcyBmdWNudGlvbiBpcyB1c2VkIHRvIGNoZWNrIEFHQyBjdWlmIHRyYW5zZmVyIGVycm9yLgorCisgUEFSQU1FVEVSUzogICAgIGVycm9yIHR5cGUKKworIFJFVFVSTlMgVkFMVUVTOiB2b2lkCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIENMMURfRXJyb3JDaGVja19DdWlmX0FnYyhDTDFEX1JGX0NVSUZfQUdDX0VSUk9SX0UgZXJyb3JfdHlwZSwga2FsX3VpbnQzMiBwYXJhbTAsIGthbF91aW50MzIgcGFyYW0xKQoreworI2lmbmRlZiBMMV9TSU0KKyAgIGthbF9ib29sIGVycm9yID0gS0FMX0ZBTFNFOworCSBFWFRfQVNTRVJUKGVycm9yLGVycm9yX3R5cGUscGFyYW0wLHBhcmFtMSk7CisjZW5kaWYKK30KKwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfUmZfQ29uZmljdChrYWxfdWludDMyIHBhcmFtMCwga2FsX3VpbnQzMiBwYXJhbTEsIGthbF91aW50MzIgcGFyYW0yKQoreworI2lmbmRlZiBMMV9TSU0KKyAgIGthbF9ib29sIGVycm9yID0gS0FMX0ZBTFNFOworICAgRVhUX0FTU0VSVChlcnJvcixwYXJhbTAscGFyYW0xLHBhcmFtMik7CisjZW5kaWYKK30KKwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfUmZfUGFWZGRTZWxfQ3VzdG9tRmlsZVNldHRpbmcoa2FsX3VpbnQ4IHJmX2JhbmQpeworCWthbF9ib29sIFBhX1ZkZF9DdHJsPUtBTF9GQUxTRTsKKwlFWFRfQVNTRVJUKFBhX1ZkZF9DdHJsLHJmX2JhbmQsMCwwKTsKK30KKyNpZiBkZWZpbmVkKF9fTUQ5M19fKXx8ZGVmaW5lZChfX01EOTVfXykKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX1JmX0hwdWVfSW50ZXJmYWNlX0luZm8oa2FsX3VpbnQ4IHBhcmFtKXsKKwlrYWxfYm9vbCBocHVlX3JldF9pbmZvPUtBTF9GQUxTRTsKKwlFWFRfQVNTRVJUKGhwdWVfcmV0X2luZm8scGFyYW0sMCwwKTsKK30KKyNlbmRpZgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgRlVOQ1RJT04gTkFNRTogIEMyS19GRUNfTU1SRl9FcnJvcl9DaGVjaygpCisgCisgREVTQ1JJUFRJT046ICAgIFRoaXMgZnVjbnRpb24gaXMgdXNlZCB0byBjaGVjayBDMksgYWJub3JtYWwgQ1cgZXJyb3IuIEl0IHdpbGwgYmUgY2FsbGVkIGJ5IE1NUkYuCisKKyBQQVJBTUVURVJTOiAgICAgZXJyb3IgdHlwZQorCisgUkVUVVJOUyBWQUxVRVM6IHZvaWQKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQzJLX0ZFQ19NTVJGX0Vycm9yX0NoZWNrKGthbF91aW50MzIgb3BfY29kZSwga2FsX3VpbnQzMiBiaW5fbW9kZSkKK3sKKyAgIGthbF9ib29sIGVycm9yID0gS0FMX0ZBTFNFOworICAgRVhUX0FTU0VSVChlcnJvcixvcF9jb2RlLGJpbl9tb2RlLDApOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyBGVU5DVElPTiBOQU1FOiAgQ0wxRF9FcnJvckNoZWNrX0NVU1RfcGFyYW1fZHBkX2lsbGVnYWxfYmFuZHN1cHBvcnQoKQorIAorIERFU0NSSVBUSU9OOiAgICBUaGlzIGZ1Y250aW9uIGlzIHVzZWQgdG8gY2hlY2sgQzJLIGFibm9ybWFsIGJhbmQgY2xhc3Mgd2hlbiBwYXJzaW5nIERQRCBlbmFibGUgZmxhZy4KKworIFBBUkFNRVRFUlM6ICAgICBlcnJvciB0eXBlCisKKyBSRVRVUk5TIFZBTFVFUzogdm9pZAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF9wYXJhbV9kcGRfaWxsZWdhbF9iYW5kc3VwcG9ydChrYWxfdWludDggYmFuZCkKK3sKKyAgIGthbF9ib29sIGVycm9yID0gS0FMX0ZBTFNFOworICAgRVhUX0FTU0VSVChlcnJvcixiYW5kLDAsMCk7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfZWxuYV9pbGxlZ2FsX2dhaW5fdHlwZShrYWxfdWludDggZWxuYUdhaW4peworCWthbF9ib29sIEVsbmFHYWluVHlwZSA9IEtBTF9GQUxTRTsKKwlFWFRfQVNTRVJUKEVsbmFHYWluVHlwZSxlbG5hR2FpbiwwLDApOworfQorCisjaWYgZGVmaW5lZChfX01EOTNfXykgfHwgZGVmaW5lZChfX01EOTVfXykKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfdGFzX2lsbGVnYWxfYW50X2luZGV4KGthbF91aW50OCBhbnRfaW5kZXgsIGthbF91aW50OCByZl9iYW5kKQoreworICAga2FsX2Jvb2wgZXJyb3IgPSBLQUxfRkFMU0U7CisgICBFWFRfQVNTRVJUKGVycm9yLCBhbnRfaW5kZXgsIHJmX2JhbmQsIDApOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19DVVNUX3Rhc19pbGxlZ2FsX2Mya19iYW5kKGthbF91aW50OCBjMmtfYmFuZCkKK3sKKyAgIGthbF9ib29sIEMya19CYW5kPUtBTF9GQUxTRTsKKyAgIEVYVF9BU1NFUlQoQzJrX0JhbmQsYzJrX2JhbmQsMCwwKTsKK30KKwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF90YXNfaWxsZWdhbF9yZl9iYW5kKGthbF91aW50OCByZl9iYW5kKQoreworICAga2FsX2Jvb2wgUmZfQmFuZD1LQUxfRkFMU0U7CisgICBFWFRfQVNTRVJUKFJmX0JhbmQscmZfYmFuZCwwLDApOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19DVVNUX3V0YXNfaWxsZWdhbF9od19ncm91cF9pbmRleChrYWxfdWludDggcmZfYmFuZCwga2FsX3VpbnQ4IGh3X2dyb3VwX2luZGV4KQoreworICAga2FsX2Jvb2wgZXJyb3IgPSBLQUxfRkFMU0U7ICAgCisgICBFWFRfQVNTRVJUKGVycm9yLCBod19ncm91cF9pbmRleCwgcmZfYmFuZCwgMCk7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfdXRhc19pbGxlZ2FsX3N0YXRlX2luZGV4KGthbF91aW50OCByZl9iYW5kLCBrYWxfdWludDggdGFzX3N0YXRlKQoreworICAga2FsX2Jvb2wgZXJyb3IgPSBLQUxfRkFMU0U7CisgICBFWFRfQVNTRVJUKGVycm9yLCB0YXNfc3RhdGUsIHJmX2JhbmQsIDApOworfQorI2Vsc2UKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfdXRhc19pbGxlZ2FsX252X3N0YXR1cyh2b2lkKQoreworICAga2FsX2Jvb2wgZXJyb3IgPSBLQUxfRkFMU0U7CisKKyAgIERFQlVHX0FTU0VSVChlcnJvcik7CisgICBNT0RFTV9XQVJOSU5HX01FU1NBR0UoZXJyb3IsICJJbnZhbGlkOiBSL1dfTlZSQU1fRmFpbCIpOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19DVVNUX3V0YXNfaWxsZWdhbF9hbnRfcG9ydF9pbmRleCh2b2lkKQoreworICAga2FsX2Jvb2wgZXJyb3IgPSBLQUxfRkFMU0U7CisKKyAgIERFQlVHX0FTU0VSVChlcnJvcik7CisgICBNT0RFTV9XQVJOSU5HX01FU1NBR0UoZXJyb3IsICJJbnZhbGlkOiBUQVNfQU5UX1BPUlRfSURYIik7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfdXRhc19pbGxlZ2FsX2FudF9pbmRleCh2b2lkKQoreworICAga2FsX2Jvb2wgZXJyb3IgPSBLQUxfRkFMU0U7CisKKyAgIERFQlVHX0FTU0VSVChlcnJvcik7CisgICBNT0RFTV9XQVJOSU5HX01FU1NBR0UoZXJyb3IsICJJbnZhbGlkOiBUQVNfQU5UX0lEWCIpOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19DVVNUX3V0YXNfaWxsZWdhbF9jMmtfYmFuZCh2b2lkKQoreworICAga2FsX2Jvb2wgZXJyb3IgPSBLQUxfRkFMU0U7CisgICAgCisgICBERUJVR19BU1NFUlQoZXJyb3IpOworICAgTU9ERU1fV0FSTklOR19NRVNTQUdFKGVycm9yLCAiSW52YWxpZDogVEFTX0MyS19CYW5kIik7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfdXRhc19pbGxlZ2FsX3JmX2JhbmQodm9pZCkKK3sKKyAgIGthbF9ib29sIGVycm9yID0gS0FMX0ZBTFNFOworICAgIAorICAgREVCVUdfQVNTRVJUKGVycm9yKTsKKyAgIE1PREVNX1dBUk5JTkdfTUVTU0FHRShlcnJvciwgIkludmFsaWQ6IFRBU19SRl9CYW5kIik7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfdXRhc19pbGxlZ2FsX2h3X2dyb3VwX2luZGV4KHZvaWQpCit7CisgICBrYWxfYm9vbCBlcnJvciA9IEtBTF9GQUxTRTsKKworICAgREVCVUdfQVNTRVJUKGVycm9yKTsKKyAgIE1PREVNX1dBUk5JTkdfTUVTU0FHRShlcnJvciwgIkludmFsaWQ6IEFOVF9IV19Hcm91cF9JRFgiKTsKK30KKwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF91dGFzX2lsbGVnYWxfc3RhdGVfaW5kZXgodm9pZCkKK3sKKyAgIGthbF9ib29sIGVycm9yID0gS0FMX0ZBTFNFOworCisgICBERUJVR19BU1NFUlQoZXJyb3IpOworICAgTU9ERU1fV0FSTklOR19NRVNTQUdFKGVycm9yLCAiSW52YWxpZDogVEFTX1N0YXRlX0lEWCIpOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19DVVNUX3V0YXNfaWxsZWdhbF9ud19ncm91cF9pbmRleCh2b2lkKQoreworICAga2FsX2Jvb2wgZXJyb3IgPSBLQUxfRkFMU0U7CisgICAKKyAgIERFQlVHX0FTU0VSVChlcnJvcik7CisgICBNT0RFTV9XQVJOSU5HX01FU1NBR0UoZXJyb3IsICJJbnZhbGlkOiBBTlRfU3dpdGNoX05XX0dyb3VwX0lEWCIpOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19DVVNUX3V0YXNfaWxsZWdhbF90dW5lcl9zZXR0aW5nX2luZGV4KHZvaWQpCit7CisgICBrYWxfYm9vbCBlcnJvciA9IEtBTF9GQUxTRTsKKyAgIAorICAgREVCVUdfQVNTRVJUKGVycm9yKTsKKyAgIE1PREVNX1dBUk5JTkdfTUVTU0FHRShlcnJvciwgIkludmFsaWQ6IFRBU19UdW5lcl9TZXR0aW5nX0lEWCIpOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19DVVNUX3V0YXNfaWxsZWdhbF9jZGZfaW50Zl9lcnJvcih2b2lkKQoreworICAga2FsX2Jvb2wgZXJyb3IgPSBLQUxfRkFMU0U7CisgICAKKyAgIERFQlVHX0FTU0VSVChlcnJvcik7CisgICBNT0RFTV9XQVJOSU5HX01FU1NBR0UoZXJyb3IsICJJbnZhbGlkOiBUQVNfQ0RGX0ludGVyZmFjZV9FcnJvciIpOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19DVVNUX3V0YXNfaWxsZWdhbF9mZW1fc2NlbmFyaW8odm9pZCkKK3sKKyAgIGthbF9ib29sIGVycm9yID0gS0FMX0ZBTFNFOworICAgCisgICBERUJVR19BU1NFUlQoZXJyb3IpOworICAgTU9ERU1fV0FSTklOR19NRVNTQUdFKGVycm9yLCAiSW52YWxpZDogVEFTX0ZFTV9TY2VuYXJpbyIpOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19DVVNUX3V0YXNfaWxsZWdhbF9zd2l0Y2hfYml0bWFwKHZvaWQpCit7CisgICBrYWxfYm9vbCBlcnJvciA9IEtBTF9GQUxTRTsKKyAgIAorICAgREVCVUdfQVNTRVJUKGVycm9yKTsKKyAgIE1PREVNX1dBUk5JTkdfTUVTU0FHRShlcnJvciwgIkludmFsaWQ6IFRBU19Td2l0Y2hfQml0bWFwIik7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfdXRhc19pbGxlZ2FsX2Jvb3RfbW9kZSh2b2lkKQoreworICAga2FsX2Jvb2wgZXJyb3IgPSBLQUxfRkFMU0U7CisgICAKKyAgIERFQlVHX0FTU0VSVChlcnJvcik7CisgICBNT0RFTV9XQVJOSU5HX01FU1NBR0UoZXJyb3IsICJJbnZhbGlkOiBUQVNfQm9vdF9Nb2RlIik7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfdXRhc19pbGxlZ2FsX2luaXRfc2NlbmFyaW8odm9pZCkKK3sKKyAgIGthbF9ib29sIGVycm9yID0gS0FMX0ZBTFNFOworICAgCisgICBERUJVR19BU1NFUlQoZXJyb3IpOworICAgTU9ERU1fV0FSTklOR19NRVNTQUdFKGVycm9yLCAiSW52YWxpZDogVEFTX0luaXRfU2NlbmFyaW8iKTsKK30KKwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF9BTlRfaWxsZWdhbF9yb3V0ZV9pbmRleCh2b2lkKQoreworICAga2FsX2Jvb2wgZXJyb3IgPSBLQUxfRkFMU0U7CisgICAKKyAgIERFQlVHX0FTU0VSVChlcnJvcik7CisgICBNT0RFTV9XQVJOSU5HX01FU1NBR0UoZXJyb3IsICJJbnZhbGlkOiBEQVRfUm91dGVfSURYIik7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfQU5UX2lsbGVnYWxfc3BsaXRfYmFuZF9udW0odm9pZCkKK3sKKyAgIGthbF9ib29sIGVycm9yID0gS0FMX0ZBTFNFOworICAgCisgICBERUJVR19BU1NFUlQoZXJyb3IpOworICAgTU9ERU1fV0FSTklOR19NRVNTQUdFKGVycm9yLCAiSW52YWxpZDogQU5UX1NwbGl0X0JhbmRfTlVNIik7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0lzX051bGxfUG9pbnRlcih2b2lkKQoreworICAga2FsX2Jvb2wgZXJyb3IgPSBLQUxfRkFMU0U7CisgICAKKyAgIERFQlVHX0FTU0VSVChlcnJvcik7CisgICBNT0RFTV9XQVJOSU5HX01FU1NBR0UoZXJyb3IsICJJbnZhbGlkOiBOdWxsX1BvaW50ZXIiKTsKK30KKyNlbmRpZgorCit2b2lkIENMMURfRXJyb3JDaGVja19BZ2NfUmF0X1R5cGUoa2FsX3VpbnQxNiByYXRfdHlwZSkKK3sKKyAgIGthbF9ib29sIGVycm9yID0gS0FMX0ZBTFNFOworICAgRVhUX0FTU0VSVChlcnJvciwgcmF0X3R5cGUsIDAsIDApOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19BZ2NfUnhfUGF0aChrYWxfdWludDE2IHJ4X3BhdGgpCit7CisgICBrYWxfYm9vbCBlcnJvciA9IEtBTF9GQUxTRTsKKyAgIEVYVF9BU1NFUlQoZXJyb3IsIHJ4X3BhdGgsIDAsIDApOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19BZ2NfRlNNKGthbF91aW50MTYgcmF0X3R5cGUsIGthbF91aW50MTYgYWdjX2ZzbSkKK3sKKyAgIGthbF9ib29sIGVycm9yID0gS0FMX0ZBTFNFOworICAgRVhUX0FTU0VSVChlcnJvciwgcmF0X3R5cGUsIGFnY19mc20sIDApOworfQorCisjaWZkZWYgTDFfU0lNCit2b2lkIENMMURfRXJyb3JDaGVja19BZ2NfVGVzdF9Nb2RlKGthbF91aW50MTYgdGVzdF9tb2RlKQoreworICAga2FsX2Jvb2wgZXJyb3IgPSBLQUxfRkFMU0U7CisgICBFWFRfQVNTRVJUKGVycm9yLCB0ZXN0X21vZGUsIDAsIDApOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19BZ2NfQ2VsbF9JbmRleChrYWxfdWludDE2IGNlbGxfaW5kZXgpCit7CisgICBrYWxfYm9vbCBlcnJvciA9IEtBTF9GQUxTRTsKKyAgIEVYVF9BU1NFUlQoZXJyb3IsIGNlbGxfaW5kZXgsIDAsIDApOworfQorI2VuZGlmCisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0FnY19QaW5nX1BvbmdfQnVmZmVyKGthbF91aW50MTYgcGluZ192YWxpZCwga2FsX3VpbnQxNiBwb25nX3ZhbGlkKQoreworICAga2FsX2Jvb2wgZXJyb3IgPSBLQUxfRkFMU0U7CisgICBFWFRfQVNTRVJUKGVycm9yLCBwaW5nX3ZhbGlkLCBwb25nX3ZhbGlkLCAwKTsKK30KKwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQWdjX0RtYV9TdGF0dXMoa2FsX3VpbnQxNiBzdGF0dXMsIGthbF91aW50MTYgdHJpZ19zdGF0dXMpCit7CisgICBrYWxfYm9vbCBlcnJvciA9IEtBTF9GQUxTRTsKKyAgIEVYVF9BU1NFUlQoZXJyb3IsIHN0YXR1cywgdHJpZ19zdGF0dXMsIDApOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19BZ2NfUXVlcnlfRWxuYV9JbmRleF9FcnJvcihrYWxfdWludDE2IGVycl90eXBlKQoreworICAga2FsX2Jvb2wgZXJyb3IgPSBLQUxfRkFMU0U7CisgICBFWFRfQVNTRVJUKGVycm9yLCBlcnJfdHlwZSwgMCwgMCk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIEZVTkNUSU9OIE5BTUU6ICBDTDFEX0Vycm9yQ2hlY2tfVHBjX0ZTTV9Db25mbGljdCgpCisgCisgREVTQ1JJUFRJT046ICAgIFRoaXMgZnVjbnRpb24gaXMgdXNlZCB0byBjaGVjayBUUEMgRlNNLgorCisgUEFSQU1FVEVSUzogICAgIGVycm9yIHR5cGUKKworIFJFVFVSTlMgVkFMVUVTOiB2b2lkCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIENMMURfRXJyb3JDaGVja19UcGNfRlNNX0NvbmZsaWN0KGthbF91aW50MzIgcGFyYW0wLCBrYWxfdWludDMyIHBhcmFtMSkKK3sKKyAgICBrYWxfYm9vbCBlcnJvciA9IEtBTF9GQUxTRTsKKyAgICBFWFRfQVNTRVJUKGVycm9yLCBwYXJhbTAsIHBhcmFtMSwgMCk7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NmZ19UcGMoQ0wxRF9SRl9UUENfQ0ZHX0VSUk9SX0UgZXJyb3JfdHlwZSkKK3sKKyAgICBrYWxfYm9vbCBlcnJvciA9IEtBTF9GQUxTRTsKKyAgICBFWFRfQVNTRVJUKGVycm9yLCBlcnJvcl90eXBlLCAwLCAwKTsKK30KKwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfVHBjX0RNQV9QcmUoa2FsX3VpbnQzMiBwYXJhbTAsIGthbF91aW50MzIgcGFyYW0xLCBrYWxfdWludDMyIHBhcmFtMikKK3sKKyAgICBrYWxfYm9vbCBlcnJvciA9IEtBTF9GQUxTRTsKKyAgICBFWFRfQVNTRVJUKGVycm9yLCBwYXJhbTAsIHBhcmFtMSwgcGFyYW0yKTsKK30KKwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfVHBjX0RNQV9Qb3N0KGthbF91aW50MzIgcGFyYW0wLCBrYWxfdWludDMyIHBhcmFtMSwga2FsX3VpbnQzMiBwYXJhbTIpCit7CisgICAga2FsX2Jvb2wgZXJyb3IgPSBLQUxfRkFMU0U7CisgICAgRVhUX0FTU0VSVChlcnJvciwgcGFyYW0wLCBwYXJhbTEsIHBhcmFtMik7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX1RwY19UUV9HZW5fRmFpbChrYWxfdWludDMyIHBhcmFtMCwga2FsX3VpbnQzMiBwYXJhbTEsIGthbF91aW50MzIgcGFyYW0yKQoreworICAgIGthbF9ib29sIGVycm9yID0gS0FMX0ZBTFNFOworICAgIC8vRVhUX0FTU0VSVChlcnJvciwgcGFyYW0wLCBwYXJhbTEsIHBhcmFtMik7CisJREVCVUdfQVNTRVJUKGVycm9yKTsKKwlNT0RFTV9XQVJOSU5HX01FU1NBR0UoZXJyb3IsICJUUEMgVFEgR2VuIEZhaWwhIik7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX1RwY19IQUxfRlNNX0Vycm9yKGthbF91aW50MzIgcGFyYW0wLCBrYWxfdWludDMyIHBhcmFtMSwga2FsX3VpbnQzMiBwYXJhbTIpCit7CisgICAga2FsX2Jvb2wgZXJyb3IgPSBLQUxfRkFMU0U7CisgICAgLy9FWFRfQVNTRVJUKGVycm9yLCBwYXJhbTAsIHBhcmFtMSwgcGFyYW0yKTsKKwlERUJVR19BU1NFUlQoZXJyb3IpOworCU1PREVNX1dBUk5JTkdfTUVTU0FHRShlcnJvciwgIlRQQyBIQUwgRlNNIEVycm9yISIpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyBGVU5DVElPTiBOQU1FOiAgQ0wxRF9FcnJvckNoZWNrX1J4RGZlX3NldF9yY2NfY3EoKQorIAorIERFU0NSSVBUSU9OOiAgICBUaGlzIGZ1Y250aW9uIGlzIHVzZWQgdG8gY2hlY2sgQzJLIGFibm9ybWFsIENXIGVycm9yLiBJdCB3aWxsIGJlIGNhbGxlZCBieSBSWERGRS4KKworIFBBUkFNRVRFUlM6ICAgICBlcnJvciB0eXBlCisKKyBSRVRVUk5TIFZBTFVFUzogdm9pZAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfUnhEZmVfc2V0X3JjY19jcShrYWxfdWludDMyIHJhdCAsa2FsX3VpbnQzMiByY2NfY3FfaWR4KQoreworICAga2FsX2Jvb2wgZXJyb3IgPSBLQUxfRkFMU0U7CisgICBFWFRfQVNTRVJUKGVycm9yLHJhdCwgcmNjX2NxX2lkeCwwKTsKK30KKworCit2b2lkIENMMURfRXJyb3JDaGVja19SeERmZV9mY19zZW1pX3JhdChrYWxfdWludDMyIHJhdCkKK3sKKyAgIGthbF9ib29sIGVycm9yID0gS0FMX0ZBTFNFOworICAgRVhUX0FTU0VSVChlcnJvcixyYXQsMCwwKTsKK30KK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX1J4RGZlX3BfcGF0aF9jaGVjayhrYWxfdWludDMyIHJhdCxrYWxfdWludDMyIHBfaWR4LGthbF91aW50MzIgbF9pZHgpCit7CisgICBrYWxfYm9vbCBlcnJvciA9IEtBTF9GQUxTRTsKKyAgIEVYVF9BU1NFUlQoZXJyb3IscmF0LHBfaWR4LGxfaWR4KTsgICAgCit9CisKKyNpZiBkZWZpbmVkKF9fTUQ5N19fKSB8fCBkZWZpbmVkKF9fTUQ5N1BfXykKKy8qIE5WUkFNIGVycm9yIGNoZWNrICovCit2b2lkIENMMURfRXJyb3JDaGVja19OVlJBTV9xdWVyeV9pdGVtX2luZGV4KGthbF91aW50MzIgbGlkLCBrYWxfdWludDMyIHJlY19pZHgsIGthbF91aW50MzIgaSl7CisgICAga2FsX2Jvb2wgZXJyb3IgPSBLQUxfRkFMU0U7CisgICAgRVhUX0FTU0VSVChlcnJvciwgbGlkLCByZWNfaWR4LCBpKTsKK30KKwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfTlZSQU1fcmVhZF9tdWx0aV9yZWNvcmQoa2FsX3VpbnQzMiBsaWQsIGthbF91aW50MzIgbGlkX3NpemUpeworICAgIGthbF9ib29sIGVycm9yID0gS0FMX0ZBTFNFOworICAgIEVYVF9BU1NFUlQoZXJyb3IsIGxpZCwgbGlkX3NpemUsIDApOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19OVlJBTV9jaGVja19yZWNvcmRfc2l6ZShrYWxfdWludDMyIG52cmFtX2l0ZW1faWR4LCBrYWxfdWludDMyIGN1cnJlbnRfcmVjb3JkX3NpemUsIGthbF91aW50MzIgZmlyc3RfcmVjb3JkX3NpemUpeworICAgIGthbF9ib29sIGVycm9yID0gS0FMX0ZBTFNFOworICAgIEVYVF9BU1NFUlQoZXJyb3IsIG52cmFtX2l0ZW1faWR4LCBjdXJyZW50X3JlY29yZF9zaXplLCBmaXJzdF9yZWNvcmRfc2l6ZSk7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX05WUkFNX2lsbGVnYWxfb3V0X2J1ZmZlcihrYWxfdWludDMyIG9wX2NvZGUsIGthbF91aW50MzIgbGlkLCBrYWxfdWludDE2IHJlY29yZF9pbmRleCl7CisgICAga2FsX2Jvb2wgZXJyb3IgPSBLQUxfRkFMU0U7CisgICAgRVhUX0FTU0VSVChlcnJvciwgb3BfY29kZSwgbGlkLCByZWNvcmRfaW5kZXgpOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19OVlJBTV9pbGxlZ2FsX3JlY29yZF9pbmRleChrYWxfdWludDMyIGxpZCwga2FsX3VpbnQzMiByZWNfaWR4LCBrYWxfdWludDE2IHJlY19udW0peworICAgIGthbF9ib29sIGVycm9yID0gS0FMX0ZBTFNFOworICAgIEVYVF9BU1NFUlQoZXJyb3IsIGxpZCwgcmVjX2lkeCwgcmVjX251bSk7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX05WUkFNX2lsbGVnYWxfaW5fYnVmZmVyKGthbF91aW50MzIgb3BfY29kZSwga2FsX3VpbnQzMiBsaWQsIGthbF91aW50MTYgcmVjb3JkX2luZGV4KXsKKyAgICBrYWxfYm9vbCBlcnJvciA9IEtBTF9GQUxTRTsKKyAgICBFWFRfQVNTRVJUKGVycm9yLCBvcF9jb2RlLCBsaWQsIHJlY29yZF9pbmRleCk7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX05WUkFNX3dyaXRlX2ZhaWwoa2FsX3VpbnQzMiBlcnJvcl9ubywga2FsX3VpbnQzMiBsaWQsIGthbF91aW50MzIgcmVjb3JkX2luZGV4KXsKKyAgICBrYWxfYm9vbCBlcnJvciA9IEtBTF9GQUxTRTsKKyAgICBFWFRfQVNTRVJUKGVycm9yLCBlcnJvcl9ubywgbGlkLCByZWNvcmRfaW5kZXgpOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19OVlJBTV9jaGVja19yZWNvcmRfaW5kZXgoa2FsX3VpbnQzMiBsaWQsIGthbF91aW50MzIgcmVjX2lkeCwga2FsX3VpbnQzMiByZWNfbnVtKXsKKyAgICBrYWxfYm9vbCBlcnJvciA9IEtBTF9GQUxTRTsKKyAgICBFWFRfQVNTRVJUKGVycm9yLCBsaWQsIHJlY19pZHgsIHJlY19udW0pOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19OVlJBTV9jaGVja19idWZmZXJfc2l6ZShrYWxfdWludDMyIGxpZCwga2FsX3VpbnQzMiBidWZmZXJfc2l6ZSwga2FsX3VpbnQzMiBudnJhbV9pdGVtX3NpemUpeworICAgIGthbF9ib29sIGVycm9yID0gS0FMX0ZBTFNFOworICAgIEVYVF9BU1NFUlQoZXJyb3IsIGxpZCwgYnVmZmVyX3NpemUsIG52cmFtX2l0ZW1fc2l6ZSk7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX05WUkFNX2NoZWNrX3JlY29yZF9udW1fMm5kKGthbF91aW50MzIgbGlkLCBrYWxfdWludDMyIGxhc3RfcmVjX251bSwga2FsX3VpbnQzMiByZWNfbnVtKXsKKyAgICBrYWxfYm9vbCBlcnJvciA9IEtBTF9GQUxTRTsKKyAgICBFWFRfQVNTRVJUKGVycm9yLCBsaWQsIGxhc3RfcmVjX251bSwgcmVjX251bSk7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX05WUkFNX2NoZWNrX2l0ZW1fc2l6ZV8ybmQoa2FsX3VpbnQzMiBsaWQsIGthbF91aW50MzIgbGFzdF9udnJhbV9pdGVtX3NpemUsIGthbF91aW50MzIgbnZyYW1faXRlbV9zaXplKXsKKyAgICBrYWxfYm9vbCBlcnJvciA9IEtBTF9GQUxTRTsKKyAgICBFWFRfQVNTRVJUKGVycm9yLCBsaWQsIGxhc3RfbnZyYW1faXRlbV9zaXplLCBudnJhbV9pdGVtX3NpemUpOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19OVlJBTV9jaGVja19kcGRfMXhfZGVmYXVsdF93cml0ZShrYWxfdWludDMyIGJhbmRfaWR4LCBrYWxfdWludDMyIGxhc3RfcmVjX251bSwga2FsX3VpbnQzMiByZWNfbnVtKXsKKyAgICBrYWxfYm9vbCBlcnJvciA9IEtBTF9GQUxTRTsKKyAgICBFWFRfQVNTRVJUKGVycm9yLCBiYW5kX2lkeCwgbGFzdF9yZWNfbnVtLCByZWNfbnVtKTsKKworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19OVlJBTV9jaGVja19kcGRfZG9fZGVmYXVsdF93cml0ZShrYWxfdWludDMyIGJhbmRfaWR4LCBrYWxfdWludDMyIGxhc3RfcmVjX251bSwga2FsX3VpbnQzMiByZWNfbnVtKXsKKyAgICBrYWxfYm9vbCBlcnJvciA9IEtBTF9GQUxTRTsKKyAgICBFWFRfQVNTRVJUKGVycm9yLCBiYW5kX2lkeCwgbGFzdF9yZWNfbnVtLCByZWNfbnVtKTsKKworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19DREZfcXVlcnlfZmFpbChrYWxfdWludDMyIGVycm9yX3R5cGUsIGthbF91aW50MzIgcmV0dXJuX2Vycil7CisgICAga2FsX2Jvb2wgZXJyb3IgPSBLQUxfRkFMU0U7CisgICAgRVhUX0FTU0VSVChlcnJvciwgZXJyb3JfdHlwZSwgcmV0dXJuX2VyciwgMCk7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX1NYX2JtcF9xdWVyeShrYWxfdWludDMyIG1vZHVsZV90eXBlLCBrYWxfdWludDMyIHN4MV92YWxpZCwga2FsX3VpbnQzMiBzeDJfdmFsaWQpeworICAgIGthbF9ib29sIGVycm9yID0gS0FMX0ZBTFNFOworICAgIEVYVF9BU1NFUlQoZXJyb3IsIG1vZHVsZV90eXBlLCBzeDFfdmFsaWQsIHN4Ml92YWxpZCk7Ly8gbW9kdWxlX3R5cGU6MCA9PiBERVYgICBtb2R1bGVfdHlwZToxID0+IEZFTQorfQorCit2b2lkIENMMURfRXJyb3JDaGVja19GRU1fdXNhZ2VfbGlzdF9xdWVyeShrYWxfdWludDMyIGZlbV9zZW5hcmlvKXsKKyAgICBrYWxfYm9vbCBlcnJvciA9IEtBTF9GQUxTRTsKKyAgICBFWFRfQVNTRVJUKGVycm9yLCBmZW1fc2VuYXJpbywgMCwgMCk7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0ZFTV9yb3V0ZV9saXN0X3F1ZXJ5KGthbF91aW50MzIgZmVtX3NlbmFyaW8peworICAgIGthbF9ib29sIGVycm9yID0gS0FMX0ZBTFNFOworICAgIEVYVF9BU1NFUlQoZXJyb3IsIGZlbV9zZW5hcmlvLCAwLCAwKTsKK30KKwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfREVWX3JvdXRlX2xpc3RfcXVlcnkoa2FsX3VpbnQzMiBsb2NhdGlvbil7CisgICAga2FsX2Jvb2wgZXJyb3IgPSBLQUxfRkFMU0U7CisgICAgRVhUX0FTU0VSVChlcnJvciwgbG9jYXRpb24sIDAsIDApOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19DREZfdGltaW5nX29mZnNldF9xdWVyeShrYWxfdWludDMyIGVycm9yX3R5cGUpeworICAgIGthbF9ib29sIGVycm9yID0gS0FMX0ZBTFNFOworICAgIEVYVF9BU1NFUlQoZXJyb3IsIGVycm9yX3R5cGUsIDAsIDApOworfQorCisjZW5kaWYKKwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfUnhEZmVfZmNfcmNjX3VzZV91cChrYWxfdWludDE2IHJhdF90eXBlLCBrYWxfdWludDE2IHJjY19udW0pCit7CisgICBrYWxfYm9vbCByY2MgPSBLQUxfRkFMU0U7CisgICBFWFRfQVNTRVJUKHJjYyxyYXRfdHlwZSAscmNjX251bSAsMCk7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX1J4RGZlX2dldF9wYXRoX2JhbmQoa2FsX3VpbnQxNiBiYW5kLCBrYWxfdWludDE2IHJmX2JhbmQsa2FsX3VpbnQxNiBzY2VuKQoreworICAga2FsX2Jvb2wgcGF0aCA9IEtBTF9GQUxTRTsKKyAgIEVYVF9BU1NFUlQocGF0aCxiYW5kICxyZl9iYW5kICxzY2VuKTsKK30KKwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfUnhEZmVfZmNfZHluX3NjZW5fcGF0aChrYWxfdWludDE2IHBhdGggKQoreworICAgRVhUX0FTU0VSVChLQUxfRkFMU0UscGF0aCAsMCAsMCk7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX1J4RGZlX2dldF9mcmVlX3JjYyhrYWxfdWludDE2IHJhdCApCit7CisgICBFWFRfQVNTRVJUKEtBTF9GQUxTRSxyYXQgLDAgLDApOworfQorCit2b2lkIENMMURfRXJyb3JDaGVja19SeERmZV9kX2RpZV9kdW1wKGthbF91aW50MTYgcmF0ICkKK3sKKyAgIEVYVF9BU1NFUlQoS0FMX0ZBTFNFLHJhdCAsMCAsMCk7Cit9CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX1J4RGZlX2NjcV90cmdfdXNlZHVwX3BhdGgoa2FsX3VpbnQxNiByYXQgKQoreworRVhUX0FTU0VSVChLQUxfRkFMU0UscmF0ICwwICwwKTsKK30KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiAjZGVmaW5lCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogdHlwZWRlZgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvbnN0YW50CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogR2xvYmFsIFZhcmlhYmxlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogTG9jYWwgVmFyaWFibGVzCisgKiBTdGF0aWMgdmFyaWFibGVzIGRlY2xhcmF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogTG9jYWwgRnVuY3Rpb25zCisgKiBTdGF0aWMgRnVuY3Rpb25zIFByb3RvdHlwZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogU3RhdGljIEZ1bmN0aW9ucyBkZWNsYXJhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworCisKKworLyogRG94eWdlbiBHcm91cCBFbmQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qKkB9Ki8KZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL3JmZC9leHRlcm5hbC9jb21tL3JmX2N1c3RvbS9jbDFkX3JmX2Vycm9yX2NoZWNrLmggYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9yZmQvZXh0ZXJuYWwvY29tbS9yZl9jdXN0b20vY2wxZF9yZl9lcnJvcl9jaGVjay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyZWMwMGYKLS0tIC9kZXYvbnVsbAorKysgYi9tY3UvaW50ZXJmYWNlL2wxL2NsMS9yZmQvZXh0ZXJuYWwvY29tbS9yZl9jdXN0b20vY2wxZF9yZl9lcnJvcl9jaGVjay5oCkBAIC0wLDAgKzEsNjc2IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICBNb2RpZmljYXRpb24gTm90aWNlOgorKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyogIFRoaXMgc29mdHdhcmUgaXMgbW9kaWZpZWQgYnkgTWVkaWFUZWsgSW5jLiBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZAorKiAgaGVyZWluIGlzIGNvbmZpZGVudGlhbC4gVGhlIHNvZnR3YXJlIG1heSBub3QgYmUgY29waWVkIGFuZCB0aGUgaW5mb3JtYXRpb24KKyogIGNvbnRhaW5lZCBoZXJlaW4gbWF5IG5vdCBiZSB1c2VkIG9yIGRpc2Nsb3NlZCBleGNlcHQgd2l0aCB0aGUgd3JpdHRlbgorKiAgcGVybWlzc2lvbiBvZiBNZWRpYVRlayBJbmMuIChDKSAyMDE2CisqCisqICBCWSBPUEVOSU5HIFRISVMgRklMRSwgQlVZRVIgSEVSRUJZIFVORVFVSVZPQ0FMTFkgQUNLTk9XTEVER0VTIEFORCBBR1JFRVMKKyogIFRIQVQgVEhFIFNPRlRXQVJFL0ZJUk1XQVJFIEFORCBJVFMgRE9DVU1FTlRBVElPTlMgKCJNRURJQVRFSyBTT0ZUV0FSRSIpCisqICBSRUNFSVZFRCBGUk9NIE1FRElBVEVLIEFORC9PUiBJVFMgUkVQUkVTRU5UQVRJVkVTIEFSRSBQUk9WSURFRCBUTyBCVVlFUiBPTgorKiAgQU4gIkFTLUlTIiBCQVNJUyBPTkxZLiBNRURJQVRFSyBFWFBSRVNTTFkgRElTQ0xBSU1TIEFOWSBBTkQgQUxMIFdBUlJBTlRJRVMsCisqICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorKiAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBOT05JTkZSSU5HRU1FTlQuCisqICBORUlUSEVSIERPRVMgTUVESUFURUsgUFJPVklERSBBTlkgV0FSUkFOVFkgV0hBVFNPRVZFUiBXSVRIIFJFU1BFQ1QgVE8gVEhFCisqICBTT0ZUV0FSRSBPRiBBTlkgVEhJUkQgUEFSVFkgV0hJQ0ggTUFZIEJFIFVTRUQgQlksIElOQ09SUE9SQVRFRCBJTiwgT1IKKyogIFNVUFBMSUVEIFdJVEggVEhFIE1FRElBVEVLIFNPRlRXQVJFLCBBTkQgQlVZRVIgQUdSRUVTIFRPIExPT0sgT05MWSBUTyBTVUNICisqICBUSElSRCBQQVJUWSBGT1IgQU5ZIFdBUlJBTlRZIENMQUlNIFJFTEFUSU5HIFRIRVJFVE8uIE1FRElBVEVLIFNIQUxMIEFMU08KKyogIE5PVCBCRSBSRVNQT05TSUJMRSBGT1IgQU5ZIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VTIE1BREUgVE8gQlVZRVInUworKiAgU1BFQ0lGSUNBVElPTiBPUiBUTyBDT05GT1JNIFRPIEEgUEFSVElDVUxBUiBTVEFOREFSRCBPUiBPUEVOIEZPUlVNLgorKgorKiAgQlVZRVInUyBTT0xFIEFORCBFWENMVVNJVkUgUkVNRURZIEFORCBNRURJQVRFSydTIEVOVElSRSBBTkQgQ1VNVUxBVElWRQorKiAgTElBQklMSVRZIFdJVEggUkVTUEVDVCBUTyBUSEUgTUVESUFURUsgU09GVFdBUkUgUkVMRUFTRUQgSEVSRVVOREVSIFdJTEwgQkUsCisqICBBVCBNRURJQVRFSydTIE9QVElPTiwgVE8gUkVWSVNFIE9SIFJFUExBQ0UgVEhFIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLAorKiAgT1IgUkVGVU5EIEFOWSBTT0ZUV0FSRSBMSUNFTlNFIEZFRVMgT1IgU0VSVklDRSBDSEFSR0UgUEFJRCBCWSBCVVlFUiBUTworKiAgTUVESUFURUsgRk9SIFNVQ0ggTUVESUFURUsgU09GVFdBUkUgQVQgSVNTVUUuCisqCisqICBUSEUgVFJBTlNBQ1RJT04gQ09OVEVNUExBVEVEIEhFUkVVTkRFUiBTSEFMTCBCRSBDT05TVFJVRUQgSU4gQUNDT1JEQU5DRQorKiAgV0lUSCBUSEUgTEFXUyBPRiBUSEUgU1RBVEUgT0YgQ0FMSUZPUk5JQSwgVVNBLCBFWENMVURJTkcgSVRTIENPTkZMSUNUIE9GCisqICBMQVdTIFBSSU5DSVBMRVMuICBBTlkgRElTUFVURVMsIENPTlRST1ZFUlNJRVMgT1IgQ0xBSU1TIEFSSVNJTkcgVEhFUkVPRiBBTkQKKyogIFJFTEFURUQgVEhFUkVUTyBTSEFMTCBCRSBTRVRUTEVEIEJZIEFSQklUUkFUSU9OIElOIFNBTiBGUkFOQ0lTQ08sIENBLCBVTkRFUgorKiAgVEhFIFJVTEVTIE9GIFRIRSBJTlRFUk5BVElPTkFMIENIQU1CRVIgT0YgQ09NTUVSQ0UgKElDQykuCisqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqIGNsMWRfcmZfZXJyb3JfY2hlY2suaAorICoKKyAqIFByb2plY3Q6CisgKiAtLS0tLS0tLQorICogTVQ2MTc3TAorICoKKyAqIERlc2NyaXB0aW9uOgorICogLS0tLS0tLS0tLS0tCisgKiBFcnJvciBjaGVjayBhc3NlcnQgZnVuY3Rpb24KKyAqCisgKiBBdXRob3I6CisgKiAtLS0tLS0tCisgKiAtLS0tLS0tCisgKgorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiAgICAgICAgICAgICBISVNUT1JZCisgKiBCZWxvdyB0aGlzIGxpbmUsIHRoaXMgcGFydCBpcyBjb250cm9sbGVkIGJ5IFBWQ1MgVk0uIERPIE5PVCBNT0RJRlkhIQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKgorICogcmVtb3ZlZCEKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICoKKyAqIHJlbW92ZWQhCisgKiByZW1vdmVkIQorICogcmVtb3ZlZCEKKyAqCisgKgorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogVXBwZXIgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCisvKiBEb3h5Z2VuIEdyb3VwIEhlYWRlciAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qKgorICogQGFkZHRvZ3JvdXAKKyAqIEB7CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKioKKyAqIEBmaWxlICAgICAgIGNsMWRfcmZfZXJyb3JfY2hlY2suaAorICogQGF1dGhvciAgICAgTWFrZS5XdSAoTVRLMTEwNDkpCisgKiBAZGF0ZSAgICAgICAyMDE2LjA5LjA2CisgKiBAYnJpZWYgICAgIEVycm9yIGNoZWNrIChoZWFkZXIgZmlsZSkKKyAqIEBkZXRhaWxzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmICBfQ0wxRF9SRl9FUlJPUl9DSEVDS19IXworI2RlZmluZSAgX0NMMURfUkZfRVJST1JfQ0hFQ0tfSF8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqICNpbmNsdWRlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2luY2x1ZGUgImV2ZW50X2luZm9fdXRpbGl0eS5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogI2RlZmluZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFR5cGVkZWYKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit0eXBlZGVmIGVudW0KK3sKKyAgICBDTDFEX1JGX0hBTF9SWF9FUlJfTUFJTl9TRUNfQk9USF9PTiA9IDAsCisgICAgQ0wxRF9SRl9IQUxfUlhfRVJSX0RJVl9TRUNfQk9USF9PTiAgPSAxLAorICAgIENMMURfUkZfSEFMX1JYX0VSUl9QQVRIX09OX0NPTkZMSUNUID0gMiwKK31DTDFEX1JGX0hBTF9SWF9FUlJPUl9FOworCit0eXBlZGVmIGVudW0KK3sKKyAgICBDTDFEX1JGX0NVSUZfVFBDX0NGR19FUlJfQlVGX0ZVTEwgICAgICAgICAgICAgICAgICAgID0gMCwKKyAgICBDTDFEX1JGX0NVSUZfVFBDX0NGR19URVNUX0VSUl9DTURfSU5WQUxJRCAgICAgICAgICAgID0gMSwKKyAgICBDTDFEX1JGX0NVSUZfVFBDX0NGR19URVNUX0VSUl9DTURfVkxEX0ZMQUdfTk9UX0NMRUFSID0gMiwKKyAgICBDTDFEX1JGX0NVSUZfVFBDX0NGR19URVNUX0VSUl9CVUZfVkxEX0ZMQUdfTk9UX0NMRUFSID0gMworfUNMMURfUkZfQ1VJRl9UUENfQ0ZHX0VSUk9SX0U7CisKK3R5cGVkZWYgZW51bQoreworICAgIENMMURfUkZfVFBDX0NGR19FUlJfQlVGX0ZVTEwgICAgICAgICAgICAgICAgICAgID0gMCwKKyAgICBDTDFEX1JGX1RQQ19DRkdfVEVTVF9FUlJfQ01EX0lOVkFMSUQgICAgICAgICAgICA9IDEsCisgICAgQ0wxRF9SRl9UUENfQ0ZHX1RFU1RfRVJSX0NNRF9WTERfRkxBR19OT1RfQ0xFQVIgPSAyLAorICAgIENMMURfUkZfVFBDX0NGR19URVNUX0VSUl9CVUZfVkxEX0ZMQUdfTk9UX0NMRUFSID0gMworfUNMMURfUkZfVFBDX0NGR19FUlJPUl9FOworCit0eXBlZGVmIGVudW0KK3sKKyAgICBDTDFEX1JGX0NVSUZfQUdDX0VSUl9JTklUX0JVRl9GVUxMICAgID0gMCwKKyAgICBDTDFEX1JGX0NVSUZfQUdDX0VSUl9TQ0hfQlVGX0ZVTEwgICAgID0gMSwKKyAgICBDTDFEX1JGX0NVSUZfQUdDX0VSUl9URVNUX0NNRF9JTlZBTElEID0gMiwKKyAgICBDTDFEX1JGX0NVSUZfQUdDX0VSUl9DRUxMX0lEWF9JTlZBTElEID0gMywKK31DTDFEX1JGX0NVSUZfQUdDX0VSUk9SX0U7CisKK3R5cGVkZWYgZW51bQoreworICAgIC8qIFRQQyBQQSBCaWFzIFBhcnQgKi8KKyAgICBDTDFEX1JGX0NVU1RfVFBDX1BBX0JJQVNfMCA9IDAsIC8vW0luaXRdIFF1ZXJ5IG51bSBvZiBwYSBiaWFzIHNldHRpbmcgCisgICAgQ0wxRF9SRl9DVVNUX1RQQ19QQV9CSUFTXzEgPSAxLCAvL1tJbml0XSBRdWVyeSBjb250cm9sIGluZm8gZm9yIGFsbCBwYSBiaWFzIHNldHRpbmcgaW5kZXgKKyAgICBDTDFEX1JGX0NVU1RfVFBDX1BBX0JJQVNfMiA9IDIsIC8vW0luaXRdIFF1ZXJ5IEJXIGluZm8gZm9yIGFsbCBwYSBiaWFzIHNldHRpbmcgaW5kZXgKKyAgICBDTDFEX1JGX0NVU1RfVFBDX1BBX0JJQVNfMyA9IDMsIC8vW0luaXRdIFF1ZXJ5IHN1Yl9iYW5kIGluZm8gYnkgcGFfcGlhc19zZXRfaW5kZXggYW5kIGJ5IGJ3X3NldF9pbmRleAorICAgIENMMURfUkZfQ1VTVF9UUENfUEFfQklBU180ID0gNCwgLy9bSW5pdF0gUXVlcnkgYSB1bml0IG9mIFBBIGJpYXMgZGF0YSBieSBwYV9iaWFzX3NldF9pbmRleCBhbmQgYnkgYndfaW5kZXggYW5kIGJ5IHN1Yl9iYW5kCisgICAgQ0wxRF9SRl9DVVNUX1RQQ19QQV9CSUFTXzUgPSA1LCAvL1tSdW5UaW1lXSBRdWVyeSBwYSBiaWFzIHNldHRpbmcgaW5kZXgKKworICAgIC8qIFRQQyBFVE0gUGFydCovCisgICAgQ0wxRF9SRl9DVVNUX1RQQ19FVE1fMCA9IDYsIC8vIFF1ZXJ5IG51bSBvZiBFVE0gYmlhcyBzZXR0aW5nCisgICAgQ0wxRF9SRl9DVVNUX1RQQ19FVE1fMSA9IDcsIC8vIFF1ZXJ5IGNvbnRyb2wgaW5mbyB3aXRoIG9uZSBzZXR0aW5nIGluZGV4CisgICAgQ0wxRF9SRl9DVVNUX1RQQ19FVE1fMiA9IDgsIC8vIFF1ZXJ5IGEgdW5pdCBvZiBFVE0gYmlhcyBkYXRhIGJ5IHNldHRpbmcgaW5kZXgKKyAgICBDTDFEX1JGX0NVU1RfVFBDX0VUTV8zID0gOSwgLy8gQ3JlYXRlIG1hcHBpbmcgdGFibGUgYmV0d2VlbiBSRl9CQU5EIGFuZCBFVE0vUEEgc2V0dGluZyBpbmRleAorCisgICAgLyogREVWIENPTU1PTiBQYXJ0ICovCisgICAgQ0wxRF9SRl9ERVZfUlhfUEFUSF9NQVBfMCAgID0gOSwgIC8vIFF1ZXJ5IENERiBTWCBpbmRleCBzZXJ2aWNlCisgICAgQ0wxRF9SRl9ERVZfUlhfUEFUSF9NQVBfMSAgID0gMTAsIC8vIFF1ZXJ5IENERiBBREMgTUlNTyBpbmRleCBzZXJ2aWNlCisgICAgQ0wxRF9SRl9ERVZfVVNBR0VfTElTVF8wICAgID0gMTEsIC8vIFF1ZXJ5IERFViBTWDEgdXNhZ2UgbGlzdAorICAgIENMMURfUkZfREVWX1VTQUdFX0xJU1RfMSAgICA9IDEyLCAvLyBRdWVyeSBERVYgU1gyIHVzYWdlIGxpc3QKKyAgICBDTDFEX1JGX0RFVl9VU0FHRV9MSVNUXzJfMCAgPSAxMywgLy8gUXVlcnkgREVWIFNYMStTWDIgdXNhZ2UgbGlzdCAoU1gxKQorICAgIENMMURfUkZfREVWX1VTQUdFX0xJU1RfMl8xICA9IDE0LCAvLyBRdWVyeSBERVYgU1gxK1NYMiB1c2FnZSBsaXN0IChTWDIpCisgICAgQ0wxRF9SRl9ERVZfUk9VVEVfTElTVF8wICAgID0gMTUsIC8vIFF1ZXJ5IERFViBTWDEgcm91dGUgbGlzdAorICAgIENMMURfUkZfREVWX1JPVVRFX0xJU1RfMSAgICA9IDE2LCAvLyBRdWVyeSBERVYgU1gyIHJvdXRlIGxpc3QKKyAgICBDTDFEX1JGX0RFVl9ST1VURV9MSVNUXzJfMCAgPSAxNywgLy8gUXVlcnkgREVWIFNYMStTWDIgcm91dGUgbGlzdCAoU1gxKQorICAgIENMMURfUkZfREVWX1JPVVRFX0xJU1RfMl8xICA9IDE4LCAvLyBRdWVyeSBERVYgU1gxK1NYMiByb3V0ZSBsaXN0IChTWDIpCisgICAgCisgICAgLyogREVWLUFGQyBQYXJ0ICovCisgICAgQ0wxRF9SRl9ERVZfQUZDXzAgICAgICAgICAgID0gMTksIC8vIENyZWF0ZSBDb250YWluZXIKKyAgICBDTDFEX1JGX0RFVl9BRkNfMSAgICAgICAgICAgPSAyMCwgLy8gRG8gQ01ECisgICAgQ0wxRF9SRl9ERVZfQUZDXzIgICAgICAgICAgID0gMjEsIC8vIFJlbGVhc2UgQ29udGFpbmVyCisgICAgCisgICAgLyogREVWLVRFTSBQYXJ0ICovCisgICAgQ0wxRF9SRl9ERVZfVEVNX01FQVNfMCAgICAgID0gMjIsIC8vIENyZWF0ZSBDb250YWluZXIKKyAgICBDTDFEX1JGX0RFVl9URU1fTUVBU18xICAgICAgPSAyMywgLy8gRG8gQ01ECisgICAgQ0wxRF9SRl9ERVZfVEVNX01FQVNfMiAgICAgID0gMjQsIC8vIFJlbGVhc2UgQ29udGFpbmVyCisKKyAgICAvKiBERVYtUlggUGFydCAqLworICAgIENMMURfUkZfREVWX1JYX09OXzAgPSAyNSwgICAvLyBDcmVhdGUgQ29udGFpbmVyCisgICAgQ0wxRF9SRl9ERVZfUlhfT05fMSA9IDI2LCAgIC8vIERvIENNRAorICAgIENMMURfUkZfREVWX1JYX09OXzIgPSAyNywgICAvLyBSZWxlYXNlIENvbnRhaW5lcgorICAgIAorICAgIENMMURfUkZfREVWX1JYX09GRl8wID0gMjgsICAvLyBDcmVhdGUgQ29udGFpbmVyCisgICAgQ0wxRF9SRl9ERVZfUlhfT0ZGXzEgPSAyOSwgIC8vIERvIENNRAorICAgIENMMURfUkZfREVWX1JYX09GRl8yID0gMzAsICAvLyBSZWxlYXNlIENvbnRhaW5lcgorCisgICAgQ0wxRF9SRl9ERVZfUlhfUE9OXzAgPSAzMSwgIC8vIENyZWF0ZSBDb250YWluZXIKKyAgICBDTDFEX1JGX0RFVl9SWF9QT05fMSA9IDMyLCAgLy8gRG8gQ01ECisgICAgQ0wxRF9SRl9ERVZfUlhfUE9OXzIgPSAzMywgIC8vIFJlbGVhc2UgQ29udGFpbmVyCisKKyAgICBDTDFEX1JGX0RFVl9SWF9QT0ZGXzAgPSAzNCwgIC8vIENyZWF0ZSBDb250YWluZXIKKyAgICBDTDFEX1JGX0RFVl9SWF9QT0ZGXzEgPSAzNSwgIC8vIERvIENNRAorICAgIENMMURfUkZfREVWX1JYX1BPRkZfMiA9IDM2LCAgLy8gUmVsZWFzZSBDb250YWluZXIKKyAgICAKKyAgICAvKiBERVYtVFggUGFydCAqLworICAgIENMMURfUkZfREVWX1RYX09OXzAgPSAzNywgICAvLyBDcmVhdGUgQ29udGFpbmVyCisgICAgQ0wxRF9SRl9ERVZfVFhfT05fMSA9IDM4LCAgIC8vIERvIENNRAorICAgIENMMURfUkZfREVWX1RYX09OXzIgPSAzOSwgICAvLyBSZWxlYXNlIENvbnRhaW5lcgorCisgICAgQ0wxRF9SRl9ERVZfVFhfT0ZGXzAgPSAzNywgICAvLyBDcmVhdGUgQ29udGFpbmVyCisgICAgQ0wxRF9SRl9ERVZfVFhfT0ZGXzEgPSAzOCwgICAvLyBEbyBDTUQKKyAgICBDTDFEX1JGX0RFVl9UWF9PRkZfMiA9IDM5LCAgIC8vIFJlbGVhc2UgQ29udGFpbmVyCisKKyAgICAvKiBGRU0gQ09NTU9OIFBhcnQgKi8KKyAgICBDTDFEX1JGX0ZFTV9VU0FHRV9MSVNUXzAgICAgPSA0MCwgLy8gUXVlcnkgRkVNIFNYMSB1c2FnZSBsaXN0CisgICAgQ0wxRF9SRl9GRU1fVVNBR0VfTElTVF8xICAgID0gNDEsIC8vIFF1ZXJ5IEZFTSBTWDIgdXNhZ2UgbGlzdAorICAgIENMMURfUkZfRkVNX1VTQUdFX0xJU1RfMl8wICA9IDQyLCAvLyBRdWVyeSBGRU0gU1gxK1NYMiB1c2FnZSBsaXN0IChTWDEpCisgICAgQ0wxRF9SRl9GRU1fVVNBR0VfTElTVF8yXzEgID0gNDMsIC8vIFF1ZXJ5IEZFTSBTWDErU1gyIHVzYWdlIGxpc3QgKFNYMikKKworICAgIENMMURfUkZfRkVNX1JPVVRFX0xJU1RfMCAgICA9IDQ0LCAvLyBRdWVyeSBGRU0gU1gxIHJvdXRlIGxpc3QKKyAgICBDTDFEX1JGX0ZFTV9ST1VURV9MSVNUXzEgICAgPSA0NSwgLy8gUXVlcnkgRkVNIFNYMiByb3V0ZSBsaXN0CisgICAgQ0wxRF9SRl9GRU1fUk9VVEVfTElTVF8yXzAgID0gNDYsIC8vIFF1ZXJ5IEZFTSBTWDErU1gyIHJvdXRlIGxpc3QgKFNYMSkKKyAgICBDTDFEX1JGX0ZFTV9ST1VURV9MSVNUXzJfMSAgPSA0NywgLy8gUXVlcnkgRkVNIFNYMStTWDIgcm91dGUgbGlzdCAoU1gyKQorCisgICAgLyogRkVNLVJYIFBhcnQgKi8KKyAgICBDTDFEX1JGX0ZFTV9SWF9PTl8wID0gNDgsICAgIC8vIENyZWF0ZSBDb250YWluZXIKKyAgICBDTDFEX1JGX0ZFTV9SWF9PTl8xID0gNDksICAgIC8vIERvIENNRAorICAgIENMMURfUkZfRkVNX1JYX09OXzIgPSA1MCwgICAgLy8gUmVsZWFzZSBDb250YWluZXIKKworICAgIENMMURfUkZfRkVNX1JYX09GRl8wID0gNTEsICAgLy8gQ3JlYXRlIENvbnRhaW5lcgorICAgIENMMURfUkZfRkVNX1JYX09GRl8xID0gNTIsICAgLy8gRG8gQ01ECisgICAgQ0wxRF9SRl9GRU1fUlhfT0ZGXzIgPSA1MywgICAvLyBSZWxlYXNlIENvbnRhaW5lcgorICAgIAorICAgIC8qIEZFTS1UWCBQYXJ0ICovCisgICAgQ0wxRF9SRl9GRU1fVFhfT05fMCA9IDU0LCAgICAvLyBDcmVhdGUgQ29udGFpbmVyCisgICAgQ0wxRF9SRl9GRU1fVFhfT05fMSA9IDU1LCAgICAvLyBEbyBDTUQKKyAgICBDTDFEX1JGX0ZFTV9UWF9PTl8yID0gNTYsICAgIC8vIFJlbGVhc2UgQ29udGFpbmVyCisKKyAgICBDTDFEX1JGX0ZFTV9UWF9PRkZfMCA9IDU3LCAgIC8vIENyZWF0ZSBDb250YWluZXIKKyAgICBDTDFEX1JGX0ZFTV9UWF9PRkZfMSA9IDU4LCAgIC8vIERvIENNRAorICAgIENMMURfUkZfRkVNX1RYX09GRl8yID0gNTksICAgLy8gUmVsZWFzZSBDb250YWluZXIKKworICAgIC8qIEZFTS1UaW1pbmcgUGFydCAqLworICAgIENMMURfUkZfRkVNX1RJTUlOR19SWF9PTl8wICAgID0gNjAsICAgLy8gR2V0IEZFTSB0aW1pbmcgdGFibGUKKyAgICBDTDFEX1JGX0ZFTV9USU1JTkdfUlhfT05fMSAgICA9IDYxLCAgIC8vIEdldCBGRU0gdGltaW5nIG9mZnNldCBbQVNNIHNldCBwb3J0XQorICAgIENMMURfUkZfRkVNX1RJTUlOR19SWF9PTl8yICAgID0gNjIsICAgLy8gR2V0IEZFTSB0aW1pbmcgb2Zmc2V0IFtFTE5BIGJpYXMgb25dCisgICAgQ0wxRF9SRl9GRU1fVElNSU5HX1JYX09OXzMgICAgPSA2MywgICAvLyBHZXQgRkVNIHRpbWluZyBvZmZzZXQgW0VMTkEgb25dCisgICAgCisgICAgQ0wxRF9SRl9GRU1fVElNSU5HX1JYX09GRl8wICAgPSA2NCwgICAvLyBHZXQgRkVNIHRpbWluZyB0YWJsZQorICAgIENMMURfUkZfRkVNX1RJTUlOR19SWF9PRkZfMSAgID0gNjUsICAgLy8gR2V0IEZFTSB0aW1pbmcgb2Zmc2V0IFtBU00gZGlzYWJsZV0KKyAgICBDTDFEX1JGX0ZFTV9USU1JTkdfUlhfT0ZGXzIgICA9IDY2LCAgIC8vIEdldCBGRU0gdGltaW5nIG9mZnNldCBbRUxOQSBkaXNhYmxlIGJpYXNdCisgICAgQ0wxRF9SRl9GRU1fVElNSU5HX1JYX09GRl8zICAgPSA2NywgICAvLyBHZXQgRkVNIHRpbWluZyBvZmZzZXQgW0VMTkEgZGlzYWJsZV0KKyAgICAKKyAgICBDTDFEX1JGX0ZFTV9USU1JTkdfVFhfT05fMCAgICA9IDY4LCAgIC8vIEdldCBGRU0gdGltaW5nIHRhYmxlCisgICAgQ0wxRF9SRl9GRU1fVElNSU5HX1RYX09OXzEgICAgPSA2OSwgICAvLyBHZXQgRkVNIHRpbWluZyBvZmZzZXQgW0FTTSBzZXQgcG9ydF0KKyAgICBDTDFEX1JGX0ZFTV9USU1JTkdfVFhfT05fMiAgICA9IDcwLCAgIC8vIEdldCBGRU0gdGltaW5nIG9mZnNldCBbTVJYIEFTTSBzZXQgcG9ydF0KKyAgICBDTDFEX1JGX0ZFTV9USU1JTkdfVFhfT05fMyAgICA9IDcxLCAgIC8vIEdldCBGRU0gdGltaW5nIG9mZnNldCBbQ291cGxlciBzZXQgcG9ydF0KKyAgICBDTDFEX1JGX0ZFTV9USU1JTkdfVFhfT05fNCAgICA9IDcyLCAgIC8vIEdldCBGRU0gdGltaW5nIG9mZnNldCBbUEEgb25dCisgICAgQ0wxRF9SRl9GRU1fVElNSU5HX1RYX09OXzUgICAgPSA3MywgICAvLyBHZXQgRkVNIHRpbWluZyBvZmZzZXQgW0VUTSBvbl0KKyAgICBDTDFEX1JGX0ZFTV9USU1JTkdfVFhfT05fNiAgICA9IDc0LCAgIC8vIEdldCBGRU0gdGltaW5nIG9mZnNldCBbRVRNIHRyaWdnZXJdCisgICAgCisgICAgQ0wxRF9SRl9GRU1fVElNSU5HX1RYX09GRl8wICAgPSA3NSwgICAvLyBHZXQgRkVNIHRpbWluZyB0YWJsZQorICAgIENMMURfUkZfRkVNX1RJTUlOR19UWF9PRkZfMSAgID0gNzYsICAgLy8gR2V0IEZFTSB0aW1pbmcgb2Zmc2V0IFtBU00gb2ZmXQorICAgIENMMURfUkZfRkVNX1RJTUlOR19UWF9PRkZfMiAgID0gNzcsICAgLy8gR2V0IEZFTSB0aW1pbmcgb2Zmc2V0IFtNUlggQVNNIG9mZl0KKyAgICBDTDFEX1JGX0ZFTV9USU1JTkdfVFhfT0ZGXzMgICA9IDc4LCAgIC8vIEdldCBGRU0gdGltaW5nIG9mZnNldCBbQ291cGxlciBvZmZdCisgICAgQ0wxRF9SRl9GRU1fVElNSU5HX1RYX09GRl80ICAgPSA3OSwgICAvLyBHZXQgRkVNIHRpbWluZyBvZmZzZXQgW1BBIG9mZl0KKyAgICBDTDFEX1JGX0ZFTV9USU1JTkdfVFhfT0ZGXzUgICA9IDgwLCAgIC8vIEdldCBGRU0gdGltaW5nIG9mZnNldCBbRVRNIG9mZl0KKyAgICBDTDFEX1JGX0ZFTV9USU1JTkdfVFhfT0ZGXzYgICA9IDgxLCAgIC8vIEdldCBGRU0gdGltaW5nIG9mZnNldCBbRVRNIHRyaWdnZXJdCisKKyAgICBDTDFEX1JGX0RFVl9SWF9QQVRIX01BUF8yICAgICA9IDgyLCAgIC8vIFF1ZXJ5IENERiBBREMgUkYgcGF0aCBpbmRleAorCisgICAgQ0wxRF9SRl9GRU1fQ09ORkxJQ1RfV0lOX0NUUkxfMCA9IDgzLCAgLy8gUkYgQ29uZmxpY3QgY2hlY2sgLSBnZXQgY29udGFpbmVyCisgICAgQ0wxRF9SRl9GRU1fQ09ORkxJQ1RfV0lOX0NUUkxfMSA9IDg0LCAgLy8gUkYgQ29uZmxpY3QgY2hlY2sgLSBkbyBjbWQKKyAgICBDTDFEX1JGX0ZFTV9DT05GTElDVF9XSU5fQ1RSTF8yID0gODUsICAvLyBSRiBDb25mbGljdCBjaGVjayAtIHJlbGVhc2UgY29udGFpbmVyCisgICAgCisgICAgQ0wxRF9SRl9GRU1fQ0xFQVJfQlBJX1RYX0JVRiA9IDg2LCAgICAvLyBDbGVhciBUWCBCUEkgYnVmZmVyIHdoZW4gVFggb2ZmCisgICAgQ0wxRF9SRl9ERVZfVFhfUEFUSF9NQVBfMCAgICA9IDg3LCAgICAvLyBRdWVyeSBDREYgVFggU1ggaW5kZXggc2VydmljZQorCUNMMURfUkZfREVWX1RYX1BBVEhfTUFQXzEgICAgPSA4OCwgICAgLy8gUXVlcnkgQ0RGIFRYIERBQyBNSU1PIGluZGV4IHNlcnZpY2UKK31DTDFEX1JGX0NERl9RVUVSWV9FUlJPUl9FOworCit0eXBlZGVmIGVudW17CisgICAgQ0wxRF9SRl9GRU1fVElNSU5HX09GRlNFVF9SWF9PTl8xICAgPSAxLCAgICAvLyBbVGltaW5nIHZhbGlkXSBBU00gc2V0IHBvcnQKKyAgICBDTDFEX1JGX0ZFTV9USU1JTkdfT0ZGU0VUX1JYX09OXzIgICA9IDIsICAgIC8vIFtUaW1pbmcgdmFsaWRdIEVMTkEgYmlhcyBvbgorICAgIENMMURfUkZfRkVNX1RJTUlOR19PRkZTRVRfUlhfT05fMyAgID0gMywgICAgLy8gW1RpbWluZyB2YWxpZF0gRUxOQSBvbgorICAgIAorICAgIENMMURfUkZfRkVNX1RJTUlOR19PRkZTRVRfUlhfT0ZGXzEgID0gNCwgICAgLy8gW1RpbWluZyB2YWxpZF0gQVNNIGRpc2FibGUKKyAgICBDTDFEX1JGX0ZFTV9USU1JTkdfT0ZGU0VUX1JYX09GRl8yICA9IDUsICAgIC8vIFtUaW1pbmcgdmFsaWRdIEVMTkEgZGlzYWJsZSBiaWFzCisgICAgQ0wxRF9SRl9GRU1fVElNSU5HX09GRlNFVF9SWF9PRkZfMyAgPSA2LCAgICAvLyBbVGltaW5nIHZhbGlkXSBFTE5BIGRpc2FibGUKKworICAgIENMMURfUkZfRkVNX1RJTUlOR19PRkZTRVRfVFhfT05fMSAgID0gNywgICAgLy8gW1RpbWluZyB2YWxpZF0gQVNNIHNldCBwb3J0CisgICAgQ0wxRF9SRl9GRU1fVElNSU5HX09GRlNFVF9UWF9PTl8yICAgPSA4LCAgICAvLyBbVGltaW5nIHZhbGlkXSBNUlggQVNNIHNldCBwb3J0CisgICAgQ0wxRF9SRl9GRU1fVElNSU5HX09GRlNFVF9UWF9PTl8zICAgPSA5LCAgICAvLyBbVGltaW5nIHZhbGlkXSBDb3VwbGVyIHNldCBwb3J0CisgICAgQ0wxRF9SRl9GRU1fVElNSU5HX09GRlNFVF9UWF9PTl80ICAgPSAxMCwgICAvLyBbVGltaW5nIHZhbGlkXSBQQSBvbgorICAgIENMMURfUkZfRkVNX1RJTUlOR19PRkZTRVRfVFhfT05fNSAgID0gMTEsICAgLy8gW1RpbWluZyB2YWxpZF0gRVRNIG9uCisgICAgQ0wxRF9SRl9GRU1fVElNSU5HX09GRlNFVF9UWF9PTl82ICAgPSAxMiwgICAvLyBbVGltaW5nIHZhbGlkXSBFVE0gdGlnZ2VyCisKKyAgICBDTDFEX1JGX0ZFTV9USU1JTkdfT0ZGU0VUX1RYX09GRl8xICA9IDEzLCAgIC8vIFtUaW1pbmcgdmFsaWRdIEFTTSBvZmYKKyAgICBDTDFEX1JGX0ZFTV9USU1JTkdfT0ZGU0VUX1RYX09GRl8yICA9IDE0LCAgIC8vIFtUaW1pbmcgdmFsaWRdIE1SWCBBU00gb2ZmCisgICAgQ0wxRF9SRl9GRU1fVElNSU5HX09GRlNFVF9UWF9PRkZfMyAgPSAxNSwgICAvLyBbVGltaW5nIHZhbGlkXSBDb3VwbGVyIG9mZgorICAgIENMMURfUkZfRkVNX1RJTUlOR19PRkZTRVRfVFhfT0ZGXzQgID0gMTYsICAgLy8gW1RpbWluZyB2YWxpZF0gUEEgb2ZmCisgICAgQ0wxRF9SRl9GRU1fVElNSU5HX09GRlNFVF9UWF9PRkZfNSAgPSAxNywgICAvLyBbVGltaW5nIHZhbGlkXSBFVE0gb2ZmCisgICAgQ0wxRF9SRl9GRU1fVElNSU5HX09GRlNFVF9UWF9PRkZfNiAgPSAxOCwgICAvLyBbVGltaW5nIHZhbGlkXSBFVE0gdGlnZ2VyCisKK31DTDFEX1JGX0NERl9USU1JTkdfT0ZGU0VUX1ZBTElEX0U7CisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29uc3RhbnQKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBHbG9iYWwgdmFyaWFibGVzIChFeHRlcm4pCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBHbG9iYWwgRnVuY3Rpb25zIFByb3RvdHlwZSAoSW50ZXJmYWNlKQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0Rldl9jb25maWdfcmZfc2NlbmFyaW8oa2FsX3VpbnQxNiByZl9zY2VuKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0Rldl9hZmNfY29uZmlnKGthbF91aW50MTYgcGF0aCk7Cit2b2lkIENMMURfRXJyb3JDaGVja19EZXZfYzJrX2JzaV9zd2l0Y2hfdG9fbW1sMV9ic2koa2FsX3VpbnQxNiBic2kpOwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfRGV2X2dldF9yeDFfd2FybXVwX2NvZGVfd29yZChrYWxfdWludDE2IGJhbmRfY2xhc3MsIGthbF91aW50MTYgYmFuZCk7Cit2b2lkIENMMURfRXJyb3JDaGVja19EZXZfZ2V0X3J4Ml93YXJtdXBfY29kZV93b3JkKGthbF91aW50MTYgYmFuZF9jbGFzcywga2FsX3VpbnQxNiBiYW5kKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0Rldl9nZXRfcHJ4X3BvcnQoa2FsX3VpbnQxNiBwcnhQb3J0KTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0Rldl9nZXRfZHJ4X3BvcnQoa2FsX3VpbnQxNiBkcnhQb3J0KTsKKyNpZiBkZWZpbmVkKF9fTUQ5M19fKXx8ZGVmaW5lZChfX01EOTVfXykKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0Rldl9idWlsZF9yeF93YXJtdXBfc2NyaXB0KGthbF91aW50MTYgcGF0aCk7Cit2b2lkIENMMURfRXJyb3JDaGVja19EZXZfYnVpbGRfcnhfYnVyc3Rfc2NyaXB0KGthbF91aW50MTYgcGF0aCk7CisjZW5kaWYKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0Rldl9idWlsZF9yeF9wYXRpYWxfb25fc2NyaXB0KGthbF91aW50MTYgcGF0aCk7Cit2b2lkIENMMURfRXJyb3JDaGVja19EZXZfYnVpbGRfcnhfcGF0aWFsX29mZl9zY3JpcHQoa2FsX3VpbnQxNiBwYXRoKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0Rldl9idWlsZF9yeF9zbGVlcF9zY3JpcHQoa2FsX3VpbnQxNiBwYXRoKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0Rldl9yeF9vbl9yeF9wYXRoKGthbF91aW50MTYgcGF0aCk7Cit2b2lkIENMMURfRXJyb3JDaGVja19EZXZfcnhfb25fcGF0aF9iYW5kKGthbF91aW50MTYgcnhfcGF0aCxrYWxfdWludDE2ICBiYW5kX2NsYXNzLGthbF91aW50MTYgIHJmX2JhbmQpOwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfRGV2X3J4X29uX21vZGVfcmZfY29uZmlnKGthbF91aW50MTYgbW9kZSk7Cit2b2lkIENMMURfRXJyb3JDaGVja19EZXZfcnhfb2ZmX3BhdGhfbW9kZShrYWxfdWludDE2IHJ4X3BhdGgsIGthbF91aW50MTYgbW9kZSk7Cit2b2lkIENMMURfRXJyb3JDaGVja19EZXZfdHhfb25fYmFuZF9tb2RlKGthbF91aW50MTYgY2RtYV9iYW5kLCBrYWxfdWludDE2IGJhbmQsa2FsX3VpbnQxNiByYXRfdHlwZSk7Cit2b2lkIENMMURfRXJyb3JDaGVja19EZXZfZ2V0X3R4X3dhcm11cF9jb2RlX3dvcmQoa2FsX3VpbnQxNiBiYW5kX2NsYXNzLCBrYWxfdWludDE2IGJhbmQpOwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfRGV2X2dldF90eF9wb3J0KGthbF91aW50MTYgdHhQb3J0KTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0Rldl9nYXRlX29uKGthbF91aW50MTYgcmF0X3R5cGUpOwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfRGV2X3R4X29mZihrYWxfdWludDE2IHJhdF90eXBlKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0Rldl9nYXRlX29mZihrYWxfdWludDE2IHJhdF90eXBlKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0Rldl9nZXRfcnhfZGNfdGJsKGthbF91aW50OCByeF9wYXRoLGthbF91aW50OCByZl9iYW5kKTsKKyNpZiBkZWZpbmVkKF9fTUQ5M19fKSB8fCBkZWZpbmVkKF9fTUQ5NV9fKQordm9pZCBDTDFEX0Vycm9yQ2hlY2tfRGV2X3BsbF9zcngoa2FsX3VpbnQxNiBiYW5kX2NsYXNzKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0Rldl9wbGxfc3R4KGthbF91aW50MTYgYmFuZF9jbGFzcyk7CisjZW5kaWYKKyNpZiBkZWZpbmVkKF9fUE1JQ19WUzFfTE9XX1BPV0VSX0NUUkxfU1VQUE9SVF9fKQordm9pZCBDTDFEX0Vycm9yQ2hlY2tfRGV2X3ZzMShrYWxfdWludDE2IHBhdGhfdHlwZSwga2FsX3VpbnQxNiBwYXRoX29uKTsKKyNlbmRpZgordm9pZCBDTDFEX0Vycm9yQ2hlY2tfUnhEZmVfcGF0aF9yYXQoa2FsX3VpbnQxNiByYXRfdHlwZSk7Cit2b2lkIENMMURfRXJyb3JDaGVja19SeERmZV9wYXRoX3NjZW4oa2FsX3VpbnQxNiBzY2VuKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX1J4RGZlX2ZjX3JhdChrYWxfdWludDE2IHJhdF90eXBlKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX1J4RGZlX2ZjX3dyaXRlX3JhdChrYWxfdWludDE2IHJhdF90eXBlKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX1J4RGZlX3RxX3R5cGUoa2FsX3VpbnQxNiB0cV90eXBlKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX1J4RGZlX2ZjX3R5cGUoa2FsX3VpbnQxNiB0cV90eXBlKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX1J4RGZlX2ZjX3RxX3R5cGUoa2FsX3VpbnQxNiB0cV90eXBlKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX1J4RGZlX2ZjX3JjY191c2VfdXAoa2FsX3VpbnQxNiByYXRfdHlwZSwga2FsX3VpbnQxNiByY2NfbnVtKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX1J4RGZlX2dldF9wYXRoX2JhbmQoa2FsX3VpbnQxNiBiYW5kLCBrYWxfdWludDE2IHJmX2JhbmQsa2FsX3VpbnQxNiBzY2VuKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX1J4RGZlX2ZjX2R5bl9zY2VuX3BhdGgoa2FsX3VpbnQxNiBwYXRoICk7Cit2b2lkIENMMURfRXJyb3JDaGVja19SeERmZV9nZXRfZnJlZV9yY2Moa2FsX3VpbnQxNiByYXQgKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX1J4RGZlX2RfZGllX2R1bXAoa2FsX3VpbnQxNiByYXQgKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX1J4RGZlX2NjcV90cmdfdXNlZHVwX3BhdGgoa2FsX3VpbnQxNiByYXQgKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX1R4RGZlX3BhdGhfc2NlbihrYWxfdWludDE2IHNjZW4pOwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfVHhEZmVfZXZ0X3NjZW4oa2FsX3VpbnQxNiBzY2VuKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX1R4RGZlX2V2dF9yYXQoa2FsX3VpbnQxNiByYXRfdHlwZSk7Cit2b2lkIENMMURfRXJyb3JDaGVja19UeERmZV90dGdfc2NlbihrYWxfdWludDE2IHNjZW4pOwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfVHhEZmVfdHRnX3JhdChrYWxfdWludDE2IHJhdCk7Cit2b2lkIENMMURfRXJyb3JDaGVja19UeERmZV90dGdfcGhpKGthbF91aW50MTYgcGhpKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX1J4RGZlX3BfcGF0aF9jaGVjayhrYWxfdWludDMyIHJhdCxrYWxfdWludDMyIHBfaWR4LGthbF91aW50MzIgbF9pZHgpOworCisvKiBDVVNUIFBBUkFNRVRFUiAqLwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF9wYXJhbV9pbGxlZ2FsX3N5c0JhbmRDbGFzcyhrYWxfdWludDggYmFuZENsYXNzKTsKKyNpZiBkZWZpbmVkKF9fTUQ5M19fKSB8fCBkZWZpbmVkKF9fTUQ5NV9fKQorLyogQ1VTVCBNSVBJICovCisvKiogUlggJiBUWCAqKi8KK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfbWlwaV9pbGxlZ2FsX2RhdGFfdGFiX251bV9yeChrYWxfdWludDE2IGRhdGFFbmQpOwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF9taXBpX2lsbGVnYWxfZXZlbnRfdHlwZV9yeChrYWxfdWludDE2IHJ4RXZlbnRUeXBlKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfbWlwaV9pbGxlZ2FsX2RhdGFfdGFiX251bV90eChrYWxfdWludDE2IHR4RGF0YUVuZCk7Cit2b2lkIENMMURfRXJyb3JDaGVja19DVVNUX21pcGlfaWxsZWdhbF9ldmVudF90eXBlX3R4KGthbF91aW50MTYgdHhFdmVudFR5cGUpOwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF9taXBpX2lsbGVnYWxfYnVmZmVyX2luZGV4KGthbF91aW50OCB0eFJ4QnVmZmVySW5kZXgpOwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF9taXBpX2lsbGVnYWxfbWlwaV9kYXRhX3NlcShrYWxfdWludDE2IG1pcGlEYXRhU2VxKTsKKy8qKiBUUEMgMXhydHQgKiovCit2b2lkIENMMURfRXJyb3JDaGVja19DVVNUX21pcGlfaWxsZWdhbF9kYXRhX3RhYl9udW1fdHBjMXhydHQoa2FsX3VpbnQxNiB0cGNEYXRhRW5kKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfbWlwaV9pbGxlZ2FsX2J1ZmZlcl9pbmRleF90cGMxeHJ0dChrYWxfdWludDggdHBjQnVmZmVySW5kZXgpOwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF9taXBpX2lsbGVnYWxfbWlwaV9kYXRhX3NlcV90cGMxeHJ0dChrYWxfdWludDE2IG1pcGlEYXRhU2VxVHBjKTsKKy8qKiBUUEMgZXZkbyAqKi8KK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfbWlwaV9pbGxlZ2FsX2RhdGFfdGFiX251bV90cGNFdmRvKGthbF91aW50MTYgdHBjRGF0YUVuZCk7Cit2b2lkIENMMURfRXJyb3JDaGVja19DVVNUX21pcGlfaWxsZWdhbF9idWZmZXJfaW5kZXhfdHBjRXZkbyhrYWxfdWludDggdHBjQnVmZmVySW5kZXgpOwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF9taXBpX2lsbGVnYWxfbWlwaV9kYXRhX3NlcV90cGNFdmRvKGthbF91aW50MTYgbWlwaURhdGFTZXFUcGMpOworLyoqIEVUTSAqKi8KK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfbWlwaV9pbGxlZ2FsX2RhdGFfdGFiX251bV9ldG0oa2FsX3VpbnQxNiBldG1EYXRhRW5kKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfbWlwaV9pbGxlZ2FsX2V2ZW50X3R5cGVfZXRtKGthbF91aW50MTYgZXRtRXZlbnRUeXBlKTsKKy8qKiogRVRNIFRYIE9OICoqKi8KK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfbWlwaV9pbGxlZ2FsX2J1ZmZlcl9pbmRleF9ldG1UeE9uKGthbF91aW50OCBldG1CdWZmZXJJbmRleCk7Cit2b2lkIENMMURfRXJyb3JDaGVja19DVVNUX21pcGlfaWxsZWdhbF9taXBpX2RhdGFfc2VxX2V0bVR4T24oa2FsX3VpbnQxNiBtaXBpRGF0YVNlcSk7CisvKioqIEVUTSBUWCBPRkYgKioqLwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF9taXBpX2lsbGVnYWxfYnVmZmVyX2luZGV4X2V0bVR4T2ZmKGthbF91aW50OCBldG1CdWZmZXJJbmRleCk7Cit2b2lkIENMMURfRXJyb3JDaGVja19DVVNUX21pcGlfaWxsZWdhbF9taXBpX2RhdGFfc2VxX2V0bVR4T2ZmKGthbF91aW50MTYgbWlwaURhdGFTZXEpOworLyoqKiBFVE0gVFBDIDFYUlRUICoqKi8KK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfbWlwaV9pbGxlZ2FsX2RhdGFfdGFiX251bV9ldG1fdHBjMXhydHQoa2FsX3VpbnQxNiB0cGNEYXRhRW5kKTsKKwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF9taXBpX2lsbGVnYWxfYnVmZmVyX2luZGV4X2V0bV90cGMxeHJ0dChrYWxfdWludDggZXRtQnVmZmVySW5kZXgpOwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF9taXBpX2lsbGVnYWxfbWlwaV9kYXRhX3NlcV9ldG1fdHBjMXhydHQoa2FsX3VpbnQxNiBtaXBpRGF0YVNlcSk7CisvKioqIEVUTSBUUEMgRVZETyAqKiovCit2b2lkIENMMURfRXJyb3JDaGVja19DVVNUX21pcGlfaWxsZWdhbF9kYXRhX3RhYl9udW1fZXRtX3RwY0V2ZG8oa2FsX3VpbnQxNiB0cGNEYXRhRW5kKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfbWlwaV9pbGxlZ2FsX2J1ZmZlcl9pbmRleF9ldG1fdHBjRXZkbyhrYWxfdWludDggZXRtQnVmZmVySW5kZXgpOwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF9taXBpX2lsbGVnYWxfbWlwaV9kYXRhX3NlcV9ldG1fdHBjRXZkbyhrYWxfdWludDE2IG1pcGlEYXRhU2VxKTsKKwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF9taXBpX2lsbGVnYWxfbWlwaV9kYXRhX251bShrYWxfYm9vbCBpc19zdGFydCxrYWxfdWludDE2IG1pcGlEYXRhTnVtKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfbWlwaV9pbGxlZ2FsX21pcGlfZGF0YV9jaGVjayh2b2lkICppbmZvUHRyLGthbF91aW50OCBiYW5kLCBrYWxfdWludDggYWN0KTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfbWlwaV9pbGxlZ2FsX21pcGlfZ2V0X3N1YmJhbmRfY2hlY2soa2FsX3VpbnQzMiBzdWJiYW5kX2ZyZXEsIGthbF91aW50MzIgZnJlcSk7CisKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0Rldl90eF9wb2NfYmFuZChrYWxfdWludDMyIGJhbmRfY2xhc3MpOworI2VuZGlmIC8vX19NRDkzX198fF9fTUQ5NV9fCisKKy8qIENVU1QgQ0FMSUJSQVRJT04gKi8KK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfY2FsX2lsbGVnYWxfcmF0KGthbF91aW50OCByYXQpOwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF9jYWxfaWxsZWdhbF9jaGFuTnVtKGthbF91aW50MTYgY2hhbk51bSk7Cit2b2lkIENMMURfRXJyb3JDaGVja19DVVNUX2NhbF9pbGxlZ2FsX2RldlNlbmFyaW8oa2FsX3VpbnQ4IGRldlNlbmFyaW8pOwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF9jYWxfcnVudGltZV9pbGxlZ2FsX2RldlNlbmFyaW8oa2FsX3VpbnQ4IGRldlNlbmFyaW8pOworCisKKy8qIENVU1QgRUxOQSAqLwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF9lbG5hX2lsbGVnYWxfZGVzU3ViYmFuZChrYWxfdWludDggZHN0U3ViYmFuZCk7Cit2b2lkIENMMURfRXJyb3JDaGVja19DVVNUX2VsbmFfaWxsZWdhbF9lbG5hU3dpdGNoKGthbF91aW50OCBlbG5hU2VsKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfZWxuYV9pbGxlZ2FsX2NhdGVnb3J5KGthbF91aW50OCBlbG5hQ2F0ZWdvcnkpOwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF9lbG5hX2lsbGVnYWxfZ2Fpbl90eXBlKGthbF91aW50OCBlbG5hR2Fpbik7CisKKworLyogQ1VTVCBUQVMgKi8KKyNpZiBkZWZpbmVkKF9fTUQ5M19fKSB8fCBkZWZpbmVkKF9fTUQ5NV9fKQordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF90YXNfaWxsZWdhbF9jMmtfYmFuZChrYWxfdWludDggYzJrX2JhbmQpOwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF90YXNfaWxsZWdhbF9yZl9iYW5kKGthbF91aW50OCByZl9iYW5kKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfdGFzX2lsbGVnYWxfYW50X2luZGV4KGthbF91aW50OCBhbnRfaW5kZXgsa2FsX3VpbnQ4IHJmX2JhbmQpOwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF91dGFzX2lsbGVnYWxfaHdfZ3JvdXBfaW5kZXgoa2FsX3VpbnQ4IHJmX2JhbmQsa2FsX3VpbnQ4IGh3X2dyb3VwX2luZGV4KTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfdXRhc19pbGxlZ2FsX3N0YXRlX2luZGV4KGthbF91aW50OCByZl9iYW5kLGthbF91aW50OCB0YXNfc3RhdGUpOworI2Vsc2UKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfdXRhc19pbGxlZ2FsX252X3N0YXR1cyh2b2lkKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfdXRhc19pbGxlZ2FsX2FudF9pbmRleCh2b2lkKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfdXRhc19pbGxlZ2FsX2FudF9wb3J0X2luZGV4KHZvaWQpOwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF91dGFzX2lsbGVnYWxfYzJrX2JhbmQodm9pZCk7Cit2b2lkIENMMURfRXJyb3JDaGVja19DVVNUX3V0YXNfaWxsZWdhbF9yZl9iYW5kKHZvaWQpOwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF91dGFzX2lsbGVnYWxfaHdfZ3JvdXBfaW5kZXgodm9pZCk7Cit2b2lkIENMMURfRXJyb3JDaGVja19DVVNUX3V0YXNfaWxsZWdhbF9zdGF0ZV9pbmRleCh2b2lkKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfdXRhc19pbGxlZ2FsX253X2dyb3VwX2luZGV4KHZvaWQpOwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF91dGFzX2lsbGVnYWxfdHVuZXJfc2V0dGluZ19pbmRleCh2b2lkKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfdXRhc19pbGxlZ2FsX2NkZl9pbnRmX2Vycm9yKHZvaWQpOwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF91dGFzX2lsbGVnYWxfZmVtX3NjZW5hcmlvKHZvaWQpOwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF91dGFzX2lsbGVnYWxfc3dpdGNoX2JpdG1hcCh2b2lkKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfdXRhc19pbGxlZ2FsX2Jvb3RfbW9kZSh2b2lkKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NVU1RfdXRhc19pbGxlZ2FsX2luaXRfc2NlbmFyaW8odm9pZCk7Cit2b2lkIENMMURfRXJyb3JDaGVja19DVVNUX0FOVF9pbGxlZ2FsX3JvdXRlX2luZGV4KHZvaWQpOwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ1VTVF9BTlRfaWxsZWdhbF9zcGxpdF9iYW5kX251bSh2b2lkKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0lzX051bGxfUG9pbnRlcih2b2lkKTsKKyNlbmRpZgorCisKKy8qIFRFTVBFUkFUVVJFKi8KK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX1RFTVBfbWVhcyhrYWxfdWludDggcmF0LGthbF91aW50OCB0bXBfbW9kZSk7CisKKy8qIEhBTCBjb21tb24qLwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfSGFsX1JhdF9UeXBlKGthbF91aW50OCByYXQpOworCisvKiBIQUxfUlgqLwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfSGFsX1J4X0NvbmZsaWN0KENMMURfUkZfSEFMX1JYX0VSUk9SX0UgZXJyb3JfdHlwZSxrYWxfdWludDggY3VyX2JtcCwga2FsX3VpbnQ4IHJlcV9ibXApOworCisvKiBIQUxfQUZDKi8KK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0hhbF9BZmNfQmFuZF9DbGFzcyhrYWxfdWludDMyIGJhbmRfY2xhc3MpOwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfSGFsX0FmY19DaGFubmVsKGthbF91aW50MzIgYmFuZF9jbGFzcywga2FsX3VpbnQzMiBjaGFubmVsKTsKKworLyogQ1VJRiovCit2b2lkIENMMURfRXJyb3JDaGVja19DdWlmX1RwYyhDTDFEX1JGX0NVSUZfVFBDX0NGR19FUlJPUl9FIGVycm9yX3R5cGUpOwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQ3VpZl9BZ2MoQ0wxRF9SRl9DVUlGX0FHQ19FUlJPUl9FIGVycm9yX3R5cGUsIGthbF91aW50MzIgcGFyYW0wLCBrYWxfdWludDMyIHBhcmFtMSk7CisKKy8qQlBJIENvbmZsaWN0Ki8KK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX1JmX0NvbmZpY3Qoa2FsX3VpbnQzMiBwYXJhbTAsIGthbF91aW50MzIgcGFyYW0xLCBrYWxfdWludDMyIHBhcmFtMik7CisvKi0tSFBVRSAtLSovCisvKmN1c3RvbSBmaWxlKi8KK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX1JmX1BhVmRkU2VsX0N1c3RvbUZpbGVTZXR0aW5nKGthbF91aW50OCByZl9iYW5kKTsKKy8qaW50ZXJmYWNlIGluZm8gaWxsZWdhbCAqLworI2lmIGRlZmluZWQoX19NRDkzX18pfHxkZWZpbmVkKF9fTUQ5NV9fKQordm9pZCBDTDFEX0Vycm9yQ2hlY2tfUmZfSHB1ZV9JbnRlcmZhY2VfSW5mbyhrYWxfdWludDggcGFyYW0pOworI2VuZGlmCisvKmRwZCBzdXBwb3J0IGlsbGVnYWwgYmFuZCBjbGFzcyovCit2b2lkIENMMURfRXJyb3JDaGVja19DVVNUX3BhcmFtX2RwZF9pbGxlZ2FsX2JhbmRzdXBwb3J0KGthbF91aW50OCBiYW5kKTsKKworLyogQUdDICovCit2b2lkIENMMURfRXJyb3JDaGVja19BZ2NfUmF0X1R5cGUoa2FsX3VpbnQxNiByYXRfdHlwZSk7Cit2b2lkIENMMURfRXJyb3JDaGVja19BZ2NfUnhfUGF0aChrYWxfdWludDE2IHJ4X3BhdGgpOwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQWdjX0ZTTShrYWxfdWludDE2IHJhdF90eXBlLCBrYWxfdWludDE2IGFnY19mc20pOworI2lmZGVmIEwxX1NJTQordm9pZCBDTDFEX0Vycm9yQ2hlY2tfQWdjX1Rlc3RfTW9kZShrYWxfdWludDE2IHRlc3RfbW9kZSk7Cit2b2lkIENMMURfRXJyb3JDaGVja19BZ2NfQ2VsbF9JbmRleChrYWxfdWludDE2IGNlbGxfaW5kZXgpOworI2VuZGlmCit2b2lkIENMMURfRXJyb3JDaGVja19BZ2NfUGluZ19Qb25nX0J1ZmZlcihrYWxfdWludDE2IHBpbmdfdmFsaWQsIGthbF91aW50MTYgcG9uZ192YWxpZCk7Cit2b2lkIENMMURfRXJyb3JDaGVja19BZ2NfRG1hX1N0YXR1cyhrYWxfdWludDE2IHN0YXR1cywga2FsX3VpbnQxNiB0cmlnX3N0YXR1cyk7Cit2b2lkIENMMURfRXJyb3JDaGVja19BZ2NfUXVlcnlfRWxuYV9JbmRleF9FcnJvcihrYWxfdWludDE2IGVycl90eXBlKTsKKworLyogVFBDICovCit2b2lkIENMMURfRXJyb3JDaGVja19UcGNfRlNNX0NvbmZsaWN0KGthbF91aW50MzIgcGFyYW0wLCBrYWxfdWludDMyIHBhcmFtMSk7Cit2b2lkIENMMURfRXJyb3JDaGVja19DZmdfVHBjKENMMURfUkZfVFBDX0NGR19FUlJPUl9FIGVycm9yX3R5cGUpOwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfVHBjX0RNQV9QcmUoa2FsX3VpbnQzMiBwYXJhbTAsIGthbF91aW50MzIgcGFyYW0xLCBrYWxfdWludDMyIHBhcmFtMik7Cit2b2lkIENMMURfRXJyb3JDaGVja19UcGNfRE1BX1Bvc3Qoa2FsX3VpbnQzMiBwYXJhbTAsIGthbF91aW50MzIgcGFyYW0xLCBrYWxfdWludDMyIHBhcmFtMik7Cit2b2lkIENMMURfRXJyb3JDaGVja19UcGNfVFFfR2VuX0ZhaWwoa2FsX3VpbnQzMiBwYXJhbTAsIGthbF91aW50MzIgcGFyYW0xLCBrYWxfdWludDMyIHBhcmFtMik7Cit2b2lkIENMMURfRXJyb3JDaGVja19UcGNfSEFMX0ZTTV9FcnJvcihrYWxfdWludDMyIHBhcmFtMCwga2FsX3VpbnQzMiBwYXJhbTEsIGthbF91aW50MzIgcGFyYW0yKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX1J4RGZlX3NldF9yY2NfY3Eoa2FsX3VpbnQzMiByYXQgLGthbF91aW50MzIgcmNjX2NxX2lkeCk7Cit2b2lkIENMMURfRXJyb3JDaGVja19SeERmZV9mY19zZW1pX3JhdChrYWxfdWludDMyIHJhdCk7CisKKyNpZiBkZWZpbmVkKF9fTUQ5N19fKSB8fCBkZWZpbmVkKF9fTUQ5N1BfXykKKy8qIE5WUkFNICovCit2b2lkIENMMURfRXJyb3JDaGVja19OVlJBTV9xdWVyeV9pdGVtX2luZGV4KGthbF91aW50MzIgbGlkLCBrYWxfdWludDMyIHJlY19pZHgsIGthbF91aW50MzIgaSk7Cit2b2lkIENMMURfRXJyb3JDaGVja19OVlJBTV9yZWFkX211bHRpX3JlY29yZChrYWxfdWludDMyIGxpZCwga2FsX3VpbnQzMiBsaWRfc2l6ZSk7Cit2b2lkIENMMURfRXJyb3JDaGVja19OVlJBTV9jaGVja19yZWNvcmRfc2l6ZShrYWxfdWludDMyIG52cmFtX2l0ZW1faWR4LCBrYWxfdWludDMyIGN1cnJlbnRfcmVjb3JkX3NpemUsIGthbF91aW50MzIgZmlyc3RfcmVjb3JkX3NpemUpOwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfTlZSQU1faWxsZWdhbF9vdXRfYnVmZmVyKGthbF91aW50MzIgb3BfY29kZSwga2FsX3VpbnQzMiBsaWQsIGthbF91aW50MTYgcmVjb3JkX2luZGV4KTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX05WUkFNX2lsbGVnYWxfcmVjb3JkX2luZGV4KGthbF91aW50MzIgbGlkLCBrYWxfdWludDMyIHJlY19pZHgsIGthbF91aW50MTYgcmVjX251bSk7Cit2b2lkIENMMURfRXJyb3JDaGVja19OVlJBTV9pbGxlZ2FsX2luX2J1ZmZlcihrYWxfdWludDMyIG9wX2NvZGUsIGthbF91aW50MzIgbGlkLCBrYWxfdWludDE2IHJlY29yZF9pbmRleCk7Cit2b2lkIENMMURfRXJyb3JDaGVja19OVlJBTV93cml0ZV9mYWlsKGthbF91aW50MzIgZXJyb3Jfbm8sIGthbF91aW50MzIgbGlkLCBrYWxfdWludDMyIHJlY29yZF9pbmRleCk7Cit2b2lkIENMMURfRXJyb3JDaGVja19OVlJBTV9jaGVja19yZWNvcmRfaW5kZXgoa2FsX3VpbnQzMiBsaWQsIGthbF91aW50MzIgcmVjX2lkeCwga2FsX3VpbnQzMiByZWNfbnVtKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX05WUkFNX2NoZWNrX2J1ZmZlcl9zaXplKGthbF91aW50MzIgbGlkLCBrYWxfdWludDMyIGJ1ZmZlcl9zaXplLCBrYWxfdWludDMyIG52cmFtX2l0ZW1fc2l6ZSk7Cit2b2lkIENMMURfRXJyb3JDaGVja19OVlJBTV9jaGVja19yZWNvcmRfbnVtXzJuZChrYWxfdWludDMyIGxpZCwga2FsX3VpbnQzMiBsYXN0X3JlY19udW0sIGthbF91aW50MzIgcmVjX251bSk7Cit2b2lkIENMMURfRXJyb3JDaGVja19OVlJBTV9jaGVja19pdGVtX3NpemVfMm5kKGthbF91aW50MzIgbGlkLCBrYWxfdWludDMyIGxhc3RfbnZyYW1faXRlbV9zaXplLCBrYWxfdWludDMyIG52cmFtX2l0ZW1fc2l6ZSk7Cit2b2lkIENMMURfRXJyb3JDaGVja19OVlJBTV9jaGVja19kcGRfMXhfZGVmYXVsdF93cml0ZShrYWxfdWludDMyIGJhbmRfaWR4LCBrYWxfdWludDMyIGxhc3RfcmVjX251bSwga2FsX3VpbnQzMiByZWNfbnVtKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX05WUkFNX2NoZWNrX2RwZF9kb19kZWZhdWx0X3dyaXRlKGthbF91aW50MzIgYmFuZF9pZHgsIGthbF91aW50MzIgbGFzdF9yZWNfbnVtLCBrYWxfdWludDMyIHJlY19udW0pOworCisvKiBDREYgcXVlcnkgZXJyb3IgKi8KK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0NERl9xdWVyeV9mYWlsKGthbF91aW50MzIgZXJyb3JfdHlwZSwga2FsX3VpbnQzMiByZXR1cm5fZXJyKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX1NYX2JtcF9xdWVyeShrYWxfdWludDMyIG1vZHVsZV90eXAsIGthbF91aW50MzIgc3gxX3ZhbGlkLCBrYWxfdWludDMyIHN4Ml92YWxpZCk7Cit2b2lkIENMMURfRXJyb3JDaGVja19GRU1fdXNhZ2VfbGlzdF9xdWVyeShrYWxfdWludDMyIGZlbV9zZW5hcmlvKTsKK3ZvaWQgQ0wxRF9FcnJvckNoZWNrX0ZFTV9yb3V0ZV9saXN0X3F1ZXJ5KGthbF91aW50MzIgZmVtX3NlbmFyaW8pOwordm9pZCBDTDFEX0Vycm9yQ2hlY2tfREVWX3JvdXRlX2xpc3RfcXVlcnkoa2FsX3VpbnQzMiBsb2NhdGlvbik7Cit2b2lkIENMMURfRXJyb3JDaGVja19DREZfdGltaW5nX29mZnNldF9xdWVyeShrYWxfdWludDMyIGVycm9yX3R5cGUpOworCisjZW5kaWYgLy8gX19NRDk3X18gfHwgX19NRDk3UF9fCisKKworI2VuZGlmIC8vX0NMMURfUkZfRVJST1JfQ0hFQ0tfSF8KKworLyogRG94eWdlbiBHcm91cCBFbmQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qKkB9Ki8KZGlmZiAtLWdpdCBhL21jdS9pbnRlcmZhY2UvbDEvY2wxL3JmZC9leHRlcm5hbC9jb21tL3JmX2N1c3RvbS9jbDFkX3JmX21tcmZfcGNvcmUuYyBiL21jdS9pbnRlcmZhY2UvbDEvY2wxL3JmZC9leHRlcm5hbC9jb21tL3JmX2N1c3RvbS9jbDFkX3JmX21tcmZfcGNvcmUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMzBmYzc2Ci0tLSAvZGV2L251bGwKKysrIGIvbWN1L2ludGVyZmFjZS9sMS9jbDEvcmZkL2V4dGVybmFsL2NvbW0vcmZfY3VzdG9tL2NsMWRfcmZfbW1yZl9wY29yZS5jCkBAIC0wLDAgKzEsODcgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiAgQ29weXJpZ2h0IFN0YXRlbWVudDoKKyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisqICBUaGlzIHNvZnR3YXJlIGlzIHByb3RlY3RlZCBieSBDb3B5cmlnaHQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQKKyogIGhlcmVpbiBpcyBjb25maWRlbnRpYWwuIFRoZSBzb2Z0d2FyZSBtYXkgbm90IGJlIGNvcGllZCBhbmQgdGhlIGluZm9ybWF0aW9uCisqICBjb250YWluZWQgaGVyZWluIG1heSBub3QgYmUgdXNlZCBvciBkaXNjbG9zZWQgZXhjZXB0IHdpdGggdGhlIHdyaXR0ZW4KKyogIHBlcm1pc3Npb24gb2YgTWVkaWFUZWsgSW5jLiAoQykgMjAxNgorKgorKiAgQlkgT1BFTklORyBUSElTIEZJTEUsIEJVWUVSIEhFUkVCWSBVTkVRVUlWT0NBTExZIEFDS05PV0xFREdFUyBBTkQgQUdSRUVTCisqICBUSEFUIFRIRSBTT0ZUV0FSRS9GSVJNV0FSRSBBTkQgSVRTIERPQ1VNRU5UQVRJT05TICgiTUVESUFURUsgU09GVFdBUkUiKQorKiAgUkVDRUlWRUQgRlJPTSBNRURJQVRFSyBBTkQvT1IgSVRTIFJFUFJFU0VOVEFUSVZFUyBBUkUgUFJPVklERUQgVE8gQlVZRVIgT04KKyogIEFOICJBUy1JUyIgQkFTSVMgT05MWS4gTUVESUFURUsgRVhQUkVTU0xZIERJU0NMQUlNUyBBTlkgQU5EIEFMTCBXQVJSQU5USUVTLAorKiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgTk9OSU5GUklOR0VNRU5ULgorKiAgTkVJVEhFUiBET0VTIE1FRElBVEVLIFBST1ZJREUgQU5ZIFdBUlJBTlRZIFdIQVRTT0VWRVIgV0lUSCBSRVNQRUNUIFRPIFRIRQorKiAgU09GVFdBUkUgT0YgQU5ZIFRISVJEIFBBUlRZIFdISUNIIE1BWSBCRSBVU0VEIEJZLCBJTkNPUlBPUkFURUQgSU4sIE9SCisqICBTVVBQTElFRCBXSVRIIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSwgQU5EIEJVWUVSIEFHUkVFUyBUTyBMT09LIE9OTFkgVE8gU1VDSAorKiAgVEhJUkQgUEFSVFkgRk9SIEFOWSBXQVJSQU5UWSBDTEFJTSBSRUxBVElORyBUSEVSRVRPLiBNRURJQVRFSyBTSEFMTCBBTFNPCisqICBOT1QgQkUgUkVTUE9OU0lCTEUgRk9SIEFOWSBNRURJQVRFSyBTT0ZUV0FSRSBSRUxFQVNFUyBNQURFIFRPIEJVWUVSJ1MKKyogIFNQRUNJRklDQVRJT04gT1IgVE8gQ09ORk9STSBUTyBBIFBBUlRJQ1VMQVIgU1RBTkRBUkQgT1IgT1BFTiBGT1JVTS4KKyoKKyogIEJVWUVSJ1MgU09MRSBBTkQgRVhDTFVTSVZFIFJFTUVEWSBBTkQgTUVESUFURUsnUyBFTlRJUkUgQU5EIENVTVVMQVRJVkUKKyogIExJQUJJTElUWSBXSVRIIFJFU1BFQ1QgVE8gVEhFIE1FRElBVEVLIFNPRlRXQVJFIFJFTEVBU0VEIEhFUkVVTkRFUiBXSUxMIEJFLAorKiAgQVQgTUVESUFURUsnUyBPUFRJT04sIFRPIFJFVklTRSBPUiBSRVBMQUNFIFRIRSBNRURJQVRFSyBTT0ZUV0FSRSBBVCBJU1NVRSwKKyogIE9SIFJFRlVORCBBTlkgU09GVFdBUkUgTElDRU5TRSBGRUVTIE9SIFNFUlZJQ0UgQ0hBUkdFIFBBSUQgQlkgQlVZRVIgVE8KKyogIE1FRElBVEVLIEZPUiBTVUNIIE1FRElBVEVLIFNPRlRXQVJFIEFUIElTU1VFLgorKgorKiAgVEhFIFRSQU5TQUNUSU9OIENPTlRFTVBMQVRFRCBIRVJFVU5ERVIgU0hBTEwgQkUgQ09OU1RSVUVEIElOIEFDQ09SREFOQ0UKKyogIFdJVEggVEhFIExBV1MgT0YgVEhFIFNUQVRFIE9GIENBTElGT1JOSUEsIFVTQSwgRVhDTFVESU5HIElUUyBDT05GTElDVCBPRgorKiAgTEFXUyBQUklOQ0lQTEVTLiAgQU5ZIERJU1BVVEVTLCBDT05UUk9WRVJTSUVTIE9SIENMQUlNUyBBUklTSU5HIFRIRVJFT0YgQU5ECisqICBSRUxBVEVEIFRIRVJFVE8gU0hBTEwgQkUgU0VUVExFRCBCWSBBUkJJVFJBVElPTiBJTiBTQU4gRlJBTkNJU0NPLCBDQSwgVU5ERVIKKyogIFRIRSBSVUxFUyBPRiBUSEUgSU5URVJOQVRJT05BTCBDSEFNQkVSIE9GIENPTU1FUkNFIChJQ0MpLgorKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRmlsZW5hbWU6CisgKiAtLS0tLS0tLS0KKyAqIGNsMWRfcmZfbW1yZl9wY29yZS5jCisgKgorICogUHJvamVjdDoKKyAqIC0tLS0tLS0tCisgKiA5MworICoKKyAqIERlc2NyaXB0aW9uOgorICogLS0tLS0tLS0tLS0tCisgKiBJbnRlcmZhY2UgaW1wbGVtZW50YXRpb24gcHJvdmlkZWQgdG8gTU1SRi4KKyAqCisgKiAgICAgICAgICAgICAgIAorICogQXV0aG9yOgorICogLS0tLS0tLQorICogCisgKgorICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqICAgICAgICAgICAgIEhJU1RPUlkKKyAqIEJlbG93IHRoaXMgbGluZSwgdGhpcyBwYXJ0IGlzIGNvbnRyb2xsZWQgYnkgUFZDUyBWTS4gRE8gTk9UIE1PRElGWSEhCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICoKKyAqCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogVXBwZXIgdGhpcyBsaW5lLCB0aGlzIHBhcnQgaXMgY29udHJvbGxlZCBieSBQVkNTIFZNLiBETyBOT1QgTU9ESUZZISEKKyAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgImthbF9nZW5lcmFsX3R5cGVzLmgiCisjaW5jbHVkZSAiY2wxZF9yZl9jaWQuaCIKKworI2lmIElTX0MyS19EUkRJX1NVUFBPUlQKKyNpbmNsdWRlICJtbWwxX2N1c3RvbV9kcmRpLmgiCisjaW5jbHVkZSAiYzJrX2N1c3RvbV9kcmRpLmgiCisjZW5kaWYKKwora2FsX2Jvb2wgY2wxX2N1c3RvbV9kcmRpX2VuYWJsZSA9CisjaWYgSVNfQzJLX0RSRElfU1VQUE9SVAorI2lmIGRlZmluZWQoX19NRDkzX18pCisgICAgSVNfTU1MMV9EUkRJX0VOQUJMRQorI2Vsc2UKKyAgICAxCisjZW5kaWYKKyNlbHNlCisgICAgMAorI2VuZGlmCis7CisKKworCg==