LyoKICogKEMpIENvcHlyaWdodCAyMDAzCiAqIERhdmlkIE38bGxlciBFTFNPRlQgQUcgU3dpdHplcmxhbmQuIGQubXVlbGxlckBlbHNvZnQuY2gKICoKICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKICogcHJvamVjdC4KICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwogKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgogKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwKICogTUEgMDIxMTEtMTMwNyBVU0EKICovCgovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqIE5BTUUJICAgIDogczNjMjR4MC5oCiAqIFZlcnNpb24gIDogMzEuMy4yMDAzCiAqCiAqIGNvbW1vbiBzdHVmZiBmb3IgU0FNU1VORyBTM0MyNFgwIFNvQwogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKI2lmbmRlZiBfX1MzQzI0WDBfSF9fCiNkZWZpbmUgX19TM0MyNFgwX0hfXwoKdHlwZWRlZiB2b2xhdGlsZSB1OAlTM0MyNFgwX1JFRzg7CnR5cGVkZWYgdm9sYXRpbGUgdTE2CVMzQzI0WDBfUkVHMTY7CnR5cGVkZWYgdm9sYXRpbGUgdTMyCVMzQzI0WDBfUkVHMzI7CgovKiBNZW1vcnkgY29udHJvbGxlciAoc2VlIG1hbnVhbCBjaGFwdGVyIDUpICovCnR5cGVkZWYgc3RydWN0IHsKCVMzQzI0WDBfUkVHMzIJQldTQ09OOwoJUzNDMjRYMF9SRUczMglCQU5LQ09OWzhdOwoJUzNDMjRYMF9SRUczMglSRUZSRVNIOwoJUzNDMjRYMF9SRUczMglCQU5LU0laRTsKCVMzQzI0WDBfUkVHMzIJTVJTUkI2OwoJUzNDMjRYMF9SRUczMglNUlNSQjc7Cn0gLypfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkqLyBTM0MyNFgwX01FTUNUTDsKCgovKiBVU0IgSE9TVCAoc2VlIG1hbnVhbCBjaGFwdGVyIDEyKSAqLwp0eXBlZGVmIHN0cnVjdCB7CglTM0MyNFgwX1JFRzMyCUhjUmV2aXNpb247CglTM0MyNFgwX1JFRzMyCUhjQ29udHJvbDsKCVMzQzI0WDBfUkVHMzIJSGNDb21tb25TdGF0dXM7CglTM0MyNFgwX1JFRzMyCUhjSW50ZXJydXB0U3RhdHVzOwoJUzNDMjRYMF9SRUczMglIY0ludGVycnVwdEVuYWJsZTsKCVMzQzI0WDBfUkVHMzIJSGNJbnRlcnJ1cHREaXNhYmxlOwoJUzNDMjRYMF9SRUczMglIY0hDQ0E7CglTM0MyNFgwX1JFRzMyCUhjUGVyaW9kQ3V0dGVuZEVEOwoJUzNDMjRYMF9SRUczMglIY0NvbnRyb2xIZWFkRUQ7CglTM0MyNFgwX1JFRzMyCUhjQ29udHJvbEN1cnJlbnRFRDsKCVMzQzI0WDBfUkVHMzIJSGNCdWxrSGVhZEVEOwoJUzNDMjRYMF9SRUczMglIY0J1bGRDdXJyZW50RUQ7CglTM0MyNFgwX1JFRzMyCUhjRG9uZUhlYWQ7CglTM0MyNFgwX1JFRzMyCUhjUm1JbnRlcnZhbDsKCVMzQzI0WDBfUkVHMzIJSGNGbVJlbWFpbmluZzsKCVMzQzI0WDBfUkVHMzIJSGNGbU51bWJlcjsKCVMzQzI0WDBfUkVHMzIJSGNQZXJpb2RpY1N0YXJ0OwoJUzNDMjRYMF9SRUczMglIY0xTVGhyZXNob2xkOwoJUzNDMjRYMF9SRUczMglIY1JoRGVzY3JpcHRvckE7CglTM0MyNFgwX1JFRzMyCUhjUmhEZXNjcmlwdG9yQjsKCVMzQzI0WDBfUkVHMzIJSGNSaFN0YXR1czsKCVMzQzI0WDBfUkVHMzIJSGNSaFBvcnRTdGF0dXMxOwoJUzNDMjRYMF9SRUczMglIY1JoUG9ydFN0YXR1czI7Cn0gLypfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkqLyBTM0MyNFgwX1VTQl9IT1NUOwoKCi8qIElOVEVSUlVQVCAoc2VlIG1hbnVhbCBjaGFwdGVyIDE0KSAqLwp0eXBlZGVmIHN0cnVjdCB7CglTM0MyNFgwX1JFRzMyCVNSQ1BORDsKCVMzQzI0WDBfUkVHMzIJSU5UTU9EOwoJUzNDMjRYMF9SRUczMglJTlRNU0s7CglTM0MyNFgwX1JFRzMyCVBSSU9SSVRZOwoJUzNDMjRYMF9SRUczMglJTlRQTkQ7CglTM0MyNFgwX1JFRzMyCUlOVE9GRlNFVDsKI2lmZGVmIENPTkZJR19TM0MyNDEwCglTM0MyNFgwX1JFRzMyCVNVQlNSQ1BORDsKCVMzQzI0WDBfUkVHMzIJSU5UU1VCTVNLOwojZW5kaWYKfSAvKl9fYXR0cmlidXRlX18oKF9fcGFja2VkX18pKSovIFMzQzI0WDBfSU5URVJSVVBUOwoKCi8qIERNQVMgKHNlZSBtYW51YWwgY2hhcHRlciA4KSAqLwp0eXBlZGVmIHN0cnVjdCB7CglTM0MyNFgwX1JFRzMyCURJU1JDOwojaWZkZWYgQ09ORklHX1MzQzI0MTAKCVMzQzI0WDBfUkVHMzIJRElTUkNDOwojZW5kaWYKCVMzQzI0WDBfUkVHMzIJRElEU1Q7CiNpZmRlZiBDT05GSUdfUzNDMjQxMAoJUzNDMjRYMF9SRUczMglESURTVEM7CiNlbmRpZgoJUzNDMjRYMF9SRUczMglEQ09OOwoJUzNDMjRYMF9SRUczMglEU1RBVDsKCVMzQzI0WDBfUkVHMzIJRENTUkM7CglTM0MyNFgwX1JFRzMyCURDRFNUOwoJUzNDMjRYMF9SRUczMglETUFTS1RSSUc7CiNpZmRlZiBDT05GSUdfUzNDMjQwMAoJUzNDMjRYMF9SRUczMglyZXNbMV07CiNlbmRpZgojaWZkZWYgQ09ORklHX1MzQzI0MTAKCVMzQzI0WDBfUkVHMzIJcmVzWzddOwojZW5kaWYKfSAvKl9fYXR0cmlidXRlX18oKF9fcGFja2VkX18pKSovIFMzQzI0WDBfRE1BOwoKdHlwZWRlZiBzdHJ1Y3QgewoJUzNDMjRYMF9ETUEJZG1hWzRdOwp9IC8qX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpKi8gUzNDMjRYMF9ETUFTOwoKCi8qIENMT0NLICYgUE9XRVIgTUFOQUdFTUVOVCAoc2VlIFMzQzI0MDAgbWFudWFsIGNoYXB0ZXIgNikgKi8KLyogICAgICAgICAgICAgICAgICAgICAgICAgIChzZWUgUzNDMjQxMCBtYW51YWwgY2hhcHRlciA3KSAqLwp0eXBlZGVmIHN0cnVjdCB7CglTM0MyNFgwX1JFRzMyCUxPQ0tUSU1FOwoJUzNDMjRYMF9SRUczMglNUExMQ09OOwoJUzNDMjRYMF9SRUczMglVUExMQ09OOwoJUzNDMjRYMF9SRUczMglDTEtDT047CglTM0MyNFgwX1JFRzMyCUNMS1NMT1c7CglTM0MyNFgwX1JFRzMyCUNMS0RJVk47Cn0gLypfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkqLyBTM0MyNFgwX0NMT0NLX1BPV0VSOwoKCi8qIExDRCBDT05UUk9MTEVSIChzZWUgbWFudWFsIGNoYXB0ZXIgMTUpICovCnR5cGVkZWYgc3RydWN0IHsKCVMzQzI0WDBfUkVHMzIJTENEQ09OMTsKCVMzQzI0WDBfUkVHMzIJTENEQ09OMjsKCVMzQzI0WDBfUkVHMzIJTENEQ09OMzsKCVMzQzI0WDBfUkVHMzIJTENEQ09ONDsKCVMzQzI0WDBfUkVHMzIJTENEQ09ONTsKCVMzQzI0WDBfUkVHMzIJTENEU0FERFIxOwoJUzNDMjRYMF9SRUczMglMQ0RTQUREUjI7CglTM0MyNFgwX1JFRzMyCUxDRFNBRERSMzsKCVMzQzI0WDBfUkVHMzIJUkVETFVUOwoJUzNDMjRYMF9SRUczMglHUkVFTkxVVDsKCVMzQzI0WDBfUkVHMzIJQkxVRUxVVDsKCVMzQzI0WDBfUkVHMzIJcmVzWzhdOwoJUzNDMjRYMF9SRUczMglESVRITU9ERTsKCVMzQzI0WDBfUkVHMzIJVFBBTDsKI2lmZGVmIENPTkZJR19TM0MyNDEwCglTM0MyNFgwX1JFRzMyCUxDRElOVFBORDsKCVMzQzI0WDBfUkVHMzIJTENEU1JDUE5EOwoJUzNDMjRYMF9SRUczMglMQ0RJTlRNU0s7CglTM0MyNFgwX1JFRzMyCUxQQ1NFTDsKI2VuZGlmCn0gLypfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkqLyBTM0MyNFgwX0xDRDsKCgovKiBOQU5EIEZMQVNIIChzZWUgUzNDMjQxMCBtYW51YWwgY2hhcHRlciA2KSAqLwp0eXBlZGVmIHN0cnVjdCB7CglTM0MyNFgwX1JFRzMyCU5GQ09ORjsKCVMzQzI0WDBfUkVHMzIJTkZDTUQ7CglTM0MyNFgwX1JFRzMyCU5GQUREUjsKCVMzQzI0WDBfUkVHMzIJTkZEQVRBOwoJUzNDMjRYMF9SRUczMglORlNUQVQ7CglTM0MyNFgwX1JFRzMyCU5GRUNDOwp9IC8qX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpKi8gUzNDMjQxMF9OQU5EOwoKCi8qIFVBUlQgKHNlZSBtYW51YWwgY2hhcHRlciAxMSkgKi8KdHlwZWRlZiBzdHJ1Y3QgewoJUzNDMjRYMF9SRUczMglVTENPTjsKCVMzQzI0WDBfUkVHMzIJVUNPTjsKCVMzQzI0WDBfUkVHMzIJVUZDT047CglTM0MyNFgwX1JFRzMyCVVNQ09OOwoJUzNDMjRYMF9SRUczMglVVFJTVEFUOwoJUzNDMjRYMF9SRUczMglVRVJTVEFUOwoJUzNDMjRYMF9SRUczMglVRlNUQVQ7CglTM0MyNFgwX1JFRzMyCVVNU1RBVDsKI2lmZGVmIF9fQklHX0VORElBTgoJUzNDMjRYMF9SRUc4CXJlczFbM107CglTM0MyNFgwX1JFRzgJVVRYSDsKCVMzQzI0WDBfUkVHOAlyZXMyWzNdOwoJUzNDMjRYMF9SRUc4CVVSWEg7CiNlbHNlIC8qIExpdHRsZSBFbmRpYW4gKi8KCVMzQzI0WDBfUkVHOAlVVFhIOwoJUzNDMjRYMF9SRUc4CXJlczFbM107CglTM0MyNFgwX1JFRzgJVVJYSDsKCVMzQzI0WDBfUkVHOAlyZXMyWzNdOwojZW5kaWYKCVMzQzI0WDBfUkVHMzIJVUJSRElWOwp9IC8qX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpKi8gUzNDMjRYMF9VQVJUOwoKCi8qIFBXTSBUSU1FUiAoc2VlIG1hbnVhbCBjaGFwdGVyIDEwKSAqLwp0eXBlZGVmIHN0cnVjdCB7CglTM0MyNFgwX1JFRzMyCVRDTlRCOwoJUzNDMjRYMF9SRUczMglUQ01QQjsKCVMzQzI0WDBfUkVHMzIJVENOVE87Cn0gLypfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkqLyBTM0MyNFgwX1RJTUVSOwoKdHlwZWRlZiBzdHJ1Y3QgewoJUzNDMjRYMF9SRUczMglUQ0ZHMDsKCVMzQzI0WDBfUkVHMzIJVENGRzE7CglTM0MyNFgwX1JFRzMyCVRDT047CglTM0MyNFgwX1RJTUVSCWNoWzRdOwoJUzNDMjRYMF9SRUczMglUQ05UQjQ7CglTM0MyNFgwX1JFRzMyCVRDTlRPNDsKfSAvKl9fYXR0cmlidXRlX18oKF9fcGFja2VkX18pKSovIFMzQzI0WDBfVElNRVJTOwoKCi8qIFVTQiBERVZJQ0UgKHNlZSBtYW51YWwgY2hhcHRlciAxMykgKi8KdHlwZWRlZiBzdHJ1Y3QgewojaWZkZWYgX19CSUdfRU5ESUFOCglTM0MyNFgwX1JFRzgJcmVzWzNdOwoJUzNDMjRYMF9SRUc4CUVQX0ZJRk9fUkVHOwojZWxzZSAvKiAgbGl0dGxlIGVuZGlhbiAqLwoJUzNDMjRYMF9SRUc4CUVQX0ZJRk9fUkVHOwoJUzNDMjRYMF9SRUc4CXJlc1szXTsKI2VuZGlmCn0gLypfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkqLyBTM0MyNFgwX1VTQl9ERVZfRklGT1M7Cgp0eXBlZGVmIHN0cnVjdCB7CiNpZmRlZiBfX0JJR19FTkRJQU4KCVMzQzI0WDBfUkVHOAlyZXMxWzNdOwoJUzNDMjRYMF9SRUc4CUVQX0RNQV9DT047CglTM0MyNFgwX1JFRzgJcmVzMlszXTsKCVMzQzI0WDBfUkVHOAlFUF9ETUFfVU5JVDsKCVMzQzI0WDBfUkVHOAlyZXMzWzNdOwoJUzNDMjRYMF9SRUc4CUVQX0RNQV9GSUZPOwoJUzNDMjRYMF9SRUc4CXJlczRbM107CglTM0MyNFgwX1JFRzgJRVBfRE1BX1RUQ19MOwoJUzNDMjRYMF9SRUc4CXJlczVbM107CglTM0MyNFgwX1JFRzgJRVBfRE1BX1RUQ19NOwoJUzNDMjRYMF9SRUc4CXJlczZbM107CglTM0MyNFgwX1JFRzgJRVBfRE1BX1RUQ19IOwojZWxzZSAvKiAgbGl0dGxlIGVuZGlhbiAqLwoJUzNDMjRYMF9SRUc4CUVQX0RNQV9DT047CglTM0MyNFgwX1JFRzgJcmVzMVszXTsKCVMzQzI0WDBfUkVHOAlFUF9ETUFfVU5JVDsKCVMzQzI0WDBfUkVHOAlyZXMyWzNdOwoJUzNDMjRYMF9SRUc4CUVQX0RNQV9GSUZPOwoJUzNDMjRYMF9SRUc4CXJlczNbM107CglTM0MyNFgwX1JFRzgJRVBfRE1BX1RUQ19MOwoJUzNDMjRYMF9SRUc4CXJlczRbM107CglTM0MyNFgwX1JFRzgJRVBfRE1BX1RUQ19NOwoJUzNDMjRYMF9SRUc4CXJlczVbM107CglTM0MyNFgwX1JFRzgJRVBfRE1BX1RUQ19IOwoJUzNDMjRYMF9SRUc4CXJlczZbM107CiNlbmRpZgp9IC8qX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpKi8gUzNDMjRYMF9VU0JfREVWX0RNQVM7Cgp0eXBlZGVmIHN0cnVjdCB7CiNpZmRlZiBfX0JJR19FTkRJQU4KCVMzQzI0WDBfUkVHOAlyZXMxWzNdOwoJUzNDMjRYMF9SRUc4CUZVTkNfQUREUl9SRUc7CglTM0MyNFgwX1JFRzgJcmVzMlszXTsKCVMzQzI0WDBfUkVHOAlQV1JfUkVHOwoJUzNDMjRYMF9SRUc4CXJlczNbM107CglTM0MyNFgwX1JFRzgJRVBfSU5UX1JFRzsKCVMzQzI0WDBfUkVHOAlyZXM0WzE1XTsKCVMzQzI0WDBfUkVHOAlVU0JfSU5UX1JFRzsKCVMzQzI0WDBfUkVHOAlyZXM1WzNdOwoJUzNDMjRYMF9SRUc4CUVQX0lOVF9FTl9SRUc7CglTM0MyNFgwX1JFRzgJcmVzNlsxNV07CglTM0MyNFgwX1JFRzgJVVNCX0lOVF9FTl9SRUc7CglTM0MyNFgwX1JFRzgJcmVzN1szXTsKCVMzQzI0WDBfUkVHOAlGUkFNRV9OVU0xX1JFRzsKCVMzQzI0WDBfUkVHOAlyZXM4WzNdOwoJUzNDMjRYMF9SRUc4CUZSQU1FX05VTTJfUkVHOwoJUzNDMjRYMF9SRUc4CXJlczlbM107CglTM0MyNFgwX1JFRzgJSU5ERVhfUkVHOwoJUzNDMjRYMF9SRUc4CXJlczEwWzddOwoJUzNDMjRYMF9SRUc4CU1BWFBfUkVHOwoJUzNDMjRYMF9SRUc4CXJlczExWzNdOwoJUzNDMjRYMF9SRUc4CUVQMF9DU1JfSU5fQ1NSMV9SRUc7CglTM0MyNFgwX1JFRzgJcmVzMTJbM107CglTM0MyNFgwX1JFRzgJSU5fQ1NSMl9SRUc7CglTM0MyNFgwX1JFRzgJcmVzMTNbN107CglTM0MyNFgwX1JFRzgJT1VUX0NTUjFfUkVHOwoJUzNDMjRYMF9SRUc4CXJlczE0WzNdOwoJUzNDMjRYMF9SRUc4CU9VVF9DU1IyX1JFRzsKCVMzQzI0WDBfUkVHOAlyZXMxNVszXTsKCVMzQzI0WDBfUkVHOAlPVVRfRklGT19DTlQxX1JFRzsKCVMzQzI0WDBfUkVHOAlyZXMxNlszXTsKCVMzQzI0WDBfUkVHOAlPVVRfRklGT19DTlQyX1JFRzsKI2Vsc2UgLyogIGxpdHRsZSBlbmRpYW4gKi8KCVMzQzI0WDBfUkVHOAlGVU5DX0FERFJfUkVHOwoJUzNDMjRYMF9SRUc4CXJlczFbM107CglTM0MyNFgwX1JFRzgJUFdSX1JFRzsKCVMzQzI0WDBfUkVHOAlyZXMyWzNdOwoJUzNDMjRYMF9SRUc4CUVQX0lOVF9SRUc7CglTM0MyNFgwX1JFRzgJcmVzM1sxNV07CglTM0MyNFgwX1JFRzgJVVNCX0lOVF9SRUc7CglTM0MyNFgwX1JFRzgJcmVzNFszXTsKCVMzQzI0WDBfUkVHOAlFUF9JTlRfRU5fUkVHOwoJUzNDMjRYMF9SRUc4CXJlczVbMTVdOwoJUzNDMjRYMF9SRUc4CVVTQl9JTlRfRU5fUkVHOwoJUzNDMjRYMF9SRUc4CXJlczZbM107CglTM0MyNFgwX1JFRzgJRlJBTUVfTlVNMV9SRUc7CglTM0MyNFgwX1JFRzgJcmVzN1szXTsKCVMzQzI0WDBfUkVHOAlGUkFNRV9OVU0yX1JFRzsKCVMzQzI0WDBfUkVHOAlyZXM4WzNdOwoJUzNDMjRYMF9SRUc4CUlOREVYX1JFRzsKCVMzQzI0WDBfUkVHOAlyZXM5WzddOwoJUzNDMjRYMF9SRUc4CU1BWFBfUkVHOwoJUzNDMjRYMF9SRUc4CXJlczEwWzddOwoJUzNDMjRYMF9SRUc4CUVQMF9DU1JfSU5fQ1NSMV9SRUc7CglTM0MyNFgwX1JFRzgJcmVzMTFbM107CglTM0MyNFgwX1JFRzgJSU5fQ1NSMl9SRUc7CglTM0MyNFgwX1JFRzgJcmVzMTJbM107CglTM0MyNFgwX1JFRzgJT1VUX0NTUjFfUkVHOwoJUzNDMjRYMF9SRUc4CXJlczEzWzddOwoJUzNDMjRYMF9SRUc4CU9VVF9DU1IyX1JFRzsKCVMzQzI0WDBfUkVHOAlyZXMxNFszXTsKCVMzQzI0WDBfUkVHOAlPVVRfRklGT19DTlQxX1JFRzsKCVMzQzI0WDBfUkVHOAlyZXMxNVszXTsKCVMzQzI0WDBfUkVHOAlPVVRfRklGT19DTlQyX1JFRzsKCVMzQzI0WDBfUkVHOAlyZXMxNlszXTsKI2VuZGlmIC8qICBfX0JJR19FTkRJQU4gKi8KCVMzQzI0WDBfVVNCX0RFVl9GSUZPUwlmaWZvWzVdOwoJUzNDMjRYMF9VU0JfREVWX0RNQVMJZG1hWzVdOwp9IC8qX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpKi8gUzNDMjRYMF9VU0JfREVWSUNFOwoKCi8qIFdBVENIIERPRyBUSU1FUiAoc2VlIG1hbnVhbCBjaGFwdGVyIDE4KSAqLwp0eXBlZGVmIHN0cnVjdCB7CglTM0MyNFgwX1JFRzMyCVdUQ09OOwoJUzNDMjRYMF9SRUczMglXVERBVDsKCVMzQzI0WDBfUkVHMzIJV1RDTlQ7Cn0gLypfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkqLyBTM0MyNFgwX1dBVENIRE9HOwoKCi8qIElJQyAoc2VlIG1hbnVhbCBjaGFwdGVyIDIwKSAqLwp0eXBlZGVmIHN0cnVjdCB7CglTM0MyNFgwX1JFRzMyCUlJQ0NPTjsKCVMzQzI0WDBfUkVHMzIJSUlDU1RBVDsKCVMzQzI0WDBfUkVHMzIJSUlDQUREOwoJUzNDMjRYMF9SRUczMglJSUNEUzsKfSAvKl9fYXR0cmlidXRlX18oKF9fcGFja2VkX18pKSovIFMzQzI0WDBfSTJDOwoKCi8qIElJUyAoc2VlIG1hbnVhbCBjaGFwdGVyIDIxKSAqLwp0eXBlZGVmIHN0cnVjdCB7CiNpZmRlZiBfX0JJR19FTkRJQU4KCVMzQzI0WDBfUkVHMTYJcmVzMTsKCVMzQzI0WDBfUkVHMTYJSUlTQ09OOwoJUzNDMjRYMF9SRUcxNglyZXMyOwoJUzNDMjRYMF9SRUcxNglJSVNNT0Q7CglTM0MyNFgwX1JFRzE2CXJlczM7CglTM0MyNFgwX1JFRzE2CUlJU1BTUjsKCVMzQzI0WDBfUkVHMTYJcmVzNDsKCVMzQzI0WDBfUkVHMTYJSUlTRkNPTjsKCVMzQzI0WDBfUkVHMTYJcmVzNTsKCVMzQzI0WDBfUkVHMTYJSUlTRklGTzsKI2Vsc2UgLyogIGxpdHRsZSBlbmRpYW4gKi8KCVMzQzI0WDBfUkVHMTYJSUlTQ09OOwoJUzNDMjRYMF9SRUcxNglyZXMxOwoJUzNDMjRYMF9SRUcxNglJSVNNT0Q7CglTM0MyNFgwX1JFRzE2CXJlczI7CglTM0MyNFgwX1JFRzE2CUlJU1BTUjsKCVMzQzI0WDBfUkVHMTYJcmVzMzsKCVMzQzI0WDBfUkVHMTYJSUlTRkNPTjsKCVMzQzI0WDBfUkVHMTYJcmVzNDsKCVMzQzI0WDBfUkVHMTYJSUlTRklGTzsKCVMzQzI0WDBfUkVHMTYJcmVzNTsKI2VuZGlmCn0gLypfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkqLyBTM0MyNFgwX0kyUzsKCgovKiBJL08gUE9SVCAoc2VlIG1hbnVhbCBjaGFwdGVyIDkpICovCnR5cGVkZWYgc3RydWN0IHsKI2lmZGVmIENPTkZJR19TM0MyNDAwCglTM0MyNFgwX1JFRzMyCVBBQ09OOwoJUzNDMjRYMF9SRUczMglQQURBVDsKCglTM0MyNFgwX1JFRzMyCVBCQ09OOwoJUzNDMjRYMF9SRUczMglQQkRBVDsKCVMzQzI0WDBfUkVHMzIJUEJVUDsKCglTM0MyNFgwX1JFRzMyCVBDQ09OOwoJUzNDMjRYMF9SRUczMglQQ0RBVDsKCVMzQzI0WDBfUkVHMzIJUENVUDsKCglTM0MyNFgwX1JFRzMyCVBEQ09OOwoJUzNDMjRYMF9SRUczMglQRERBVDsKCVMzQzI0WDBfUkVHMzIJUERVUDsKCglTM0MyNFgwX1JFRzMyCVBFQ09OOwoJUzNDMjRYMF9SRUczMglQRURBVDsKCVMzQzI0WDBfUkVHMzIJUEVVUDsKCglTM0MyNFgwX1JFRzMyCVBGQ09OOwoJUzNDMjRYMF9SRUczMglQRkRBVDsKCVMzQzI0WDBfUkVHMzIJUEZVUDsKCglTM0MyNFgwX1JFRzMyCVBHQ09OOwoJUzNDMjRYMF9SRUczMglQR0RBVDsKCVMzQzI0WDBfUkVHMzIJUEdVUDsKCglTM0MyNFgwX1JFRzMyCU9QRU5DUjsKCglTM0MyNFgwX1JFRzMyCU1JU0NDUjsKCVMzQzI0WDBfUkVHMzIJRVhUSU5UOwojZW5kaWYKI2lmZGVmIENPTkZJR19TM0MyNDEwCglTM0MyNFgwX1JFRzMyCUdQQUNPTjsKCVMzQzI0WDBfUkVHMzIJR1BBREFUOwoJUzNDMjRYMF9SRUczMglyZXMxWzJdOwoJUzNDMjRYMF9SRUczMglHUEJDT047CglTM0MyNFgwX1JFRzMyCUdQQkRBVDsKCVMzQzI0WDBfUkVHMzIJR1BCVVA7CglTM0MyNFgwX1JFRzMyCXJlczI7CglTM0MyNFgwX1JFRzMyCUdQQ0NPTjsKCVMzQzI0WDBfUkVHMzIJR1BDREFUOwoJUzNDMjRYMF9SRUczMglHUENVUDsKCVMzQzI0WDBfUkVHMzIJcmVzMzsKCVMzQzI0WDBfUkVHMzIJR1BEQ09OOwoJUzNDMjRYMF9SRUczMglHUEREQVQ7CglTM0MyNFgwX1JFRzMyCUdQRFVQOwoJUzNDMjRYMF9SRUczMglyZXM0OwoJUzNDMjRYMF9SRUczMglHUEVDT047CglTM0MyNFgwX1JFRzMyCUdQRURBVDsKCVMzQzI0WDBfUkVHMzIJR1BFVVA7CglTM0MyNFgwX1JFRzMyCXJlczU7CglTM0MyNFgwX1JFRzMyCUdQRkNPTjsKCVMzQzI0WDBfUkVHMzIJR1BGREFUOwoJUzNDMjRYMF9SRUczMglHUEZVUDsKCVMzQzI0WDBfUkVHMzIJcmVzNjsKCVMzQzI0WDBfUkVHMzIJR1BHQ09OOwoJUzNDMjRYMF9SRUczMglHUEdEQVQ7CglTM0MyNFgwX1JFRzMyCUdQR1VQOwoJUzNDMjRYMF9SRUczMglyZXM3OwoJUzNDMjRYMF9SRUczMglHUEhDT047CglTM0MyNFgwX1JFRzMyCUdQSERBVDsKCVMzQzI0WDBfUkVHMzIJR1BIVVA7CglTM0MyNFgwX1JFRzMyCXJlczg7CgoJUzNDMjRYMF9SRUczMglNSVNDQ1I7CglTM0MyNFgwX1JFRzMyCURDTEtDT047CglTM0MyNFgwX1JFRzMyCUVYVElOVDA7CglTM0MyNFgwX1JFRzMyCUVYVElOVDE7CglTM0MyNFgwX1JFRzMyCUVYVElOVDI7CglTM0MyNFgwX1JFRzMyCUVJTlRGTFQwOwoJUzNDMjRYMF9SRUczMglFSU5URkxUMTsKCVMzQzI0WDBfUkVHMzIJRUlOVEZMVDI7CglTM0MyNFgwX1JFRzMyCUVJTlRGTFQzOwoJUzNDMjRYMF9SRUczMglFSU5UTUFTSzsKCVMzQzI0WDBfUkVHMzIJRUlOVFBFTkQ7CglTM0MyNFgwX1JFRzMyCUdTVEFUVVMwOwoJUzNDMjRYMF9SRUczMglHU1RBVFVTMTsKCVMzQzI0WDBfUkVHMzIJR1NUQVRVUzI7CglTM0MyNFgwX1JFRzMyCUdTVEFUVVMzOwoJUzNDMjRYMF9SRUczMglHU1RBVFVTNDsKI2VuZGlmCn0gLypfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkqLyBTM0MyNFgwX0dQSU87CgoKLyogUlRDIChzZWUgbWFudWFsIGNoYXB0ZXIgMTcpICovCnR5cGVkZWYgc3RydWN0IHsKI2lmZGVmIF9fQklHX0VORElBTgoJUzNDMjRYMF9SRUc4CXJlczFbNjddOwoJUzNDMjRYMF9SRUc4CVJUQ0NPTjsKCVMzQzI0WDBfUkVHOAlyZXMyWzNdOwoJUzNDMjRYMF9SRUc4CVRJQ05UOwoJUzNDMjRYMF9SRUc4CXJlczNbMTFdOwoJUzNDMjRYMF9SRUc4CVJUQ0FMTTsKCVMzQzI0WDBfUkVHOAlyZXM0WzNdOwoJUzNDMjRYMF9SRUc4CUFMTVNFQzsKCVMzQzI0WDBfUkVHOAlyZXM1WzNdOwoJUzNDMjRYMF9SRUc4CUFMTU1JTjsKCVMzQzI0WDBfUkVHOAlyZXM2WzNdOwoJUzNDMjRYMF9SRUc4CUFMTUhPVVI7CglTM0MyNFgwX1JFRzgJcmVzN1szXTsKCVMzQzI0WDBfUkVHOAlBTE1EQVRFOwoJUzNDMjRYMF9SRUc4CXJlczhbM107CglTM0MyNFgwX1JFRzgJQUxNTU9OOwoJUzNDMjRYMF9SRUc4CXJlczlbM107CglTM0MyNFgwX1JFRzgJQUxNWUVBUjsKCVMzQzI0WDBfUkVHOAlyZXMxMFszXTsKCVMzQzI0WDBfUkVHOAlSVENSU1Q7CglTM0MyNFgwX1JFRzgJcmVzMTFbM107CglTM0MyNFgwX1JFRzgJQkNEU0VDOwoJUzNDMjRYMF9SRUc4CXJlczEyWzNdOwoJUzNDMjRYMF9SRUc4CUJDRE1JTjsKCVMzQzI0WDBfUkVHOAlyZXMxM1szXTsKCVMzQzI0WDBfUkVHOAlCQ0RIT1VSOwoJUzNDMjRYMF9SRUc4CXJlczE0WzNdOwoJUzNDMjRYMF9SRUc4CUJDRERBVEU7CglTM0MyNFgwX1JFRzgJcmVzMTVbM107CglTM0MyNFgwX1JFRzgJQkNEREFZOwoJUzNDMjRYMF9SRUc4CXJlczE2WzNdOwoJUzNDMjRYMF9SRUc4CUJDRE1PTjsKCVMzQzI0WDBfUkVHOAlyZXMxN1szXTsKCVMzQzI0WDBfUkVHOAlCQ0RZRUFSOwojZWxzZSAvKiAgbGl0dGxlIGVuZGlhbiAqLwoJUzNDMjRYMF9SRUc4CXJlczBbNjRdOwoJUzNDMjRYMF9SRUc4CVJUQ0NPTjsKCVMzQzI0WDBfUkVHOAlyZXMxWzNdOwoJUzNDMjRYMF9SRUc4CVRJQ05UOwoJUzNDMjRYMF9SRUc4CXJlczJbMTFdOwoJUzNDMjRYMF9SRUc4CVJUQ0FMTTsKCVMzQzI0WDBfUkVHOAlyZXMzWzNdOwoJUzNDMjRYMF9SRUc4CUFMTVNFQzsKCVMzQzI0WDBfUkVHOAlyZXM0WzNdOwoJUzNDMjRYMF9SRUc4CUFMTU1JTjsKCVMzQzI0WDBfUkVHOAlyZXM1WzNdOwoJUzNDMjRYMF9SRUc4CUFMTUhPVVI7CglTM0MyNFgwX1JFRzgJcmVzNlszXTsKCVMzQzI0WDBfUkVHOAlBTE1EQVRFOwoJUzNDMjRYMF9SRUc4CXJlczdbM107CglTM0MyNFgwX1JFRzgJQUxNTU9OOwoJUzNDMjRYMF9SRUc4CXJlczhbM107CglTM0MyNFgwX1JFRzgJQUxNWUVBUjsKCVMzQzI0WDBfUkVHOAlyZXM5WzNdOwoJUzNDMjRYMF9SRUc4CVJUQ1JTVDsKCVMzQzI0WDBfUkVHOAlyZXMxMFszXTsKCVMzQzI0WDBfUkVHOAlCQ0RTRUM7CglTM0MyNFgwX1JFRzgJcmVzMTFbM107CglTM0MyNFgwX1JFRzgJQkNETUlOOwoJUzNDMjRYMF9SRUc4CXJlczEyWzNdOwoJUzNDMjRYMF9SRUc4CUJDREhPVVI7CglTM0MyNFgwX1JFRzgJcmVzMTNbM107CglTM0MyNFgwX1JFRzgJQkNEREFURTsKCVMzQzI0WDBfUkVHOAlyZXMxNFszXTsKCVMzQzI0WDBfUkVHOAlCQ0REQVk7CglTM0MyNFgwX1JFRzgJcmVzMTVbM107CglTM0MyNFgwX1JFRzgJQkNETU9OOwoJUzNDMjRYMF9SRUc4CXJlczE2WzNdOwoJUzNDMjRYMF9SRUc4CUJDRFlFQVI7CglTM0MyNFgwX1JFRzgJcmVzMTdbM107CiNlbmRpZgp9IC8qX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpKi8gUzNDMjRYMF9SVEM7CgoKLyogQURDIChzZWUgbWFudWFsIGNoYXB0ZXIgMTYpICovCnR5cGVkZWYgc3RydWN0IHsKCVMzQzI0WDBfUkVHMzIJQURDQ09OOwoJUzNDMjRYMF9SRUczMglBRENEQVQ7Cn0gLypfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkqLyBTM0MyNDAwX0FEQzsKCgovKiBBREMgKHNlZSBtYW51YWwgY2hhcHRlciAxNikgKi8KdHlwZWRlZiBzdHJ1Y3QgewoJUzNDMjRYMF9SRUczMglBRENDT047CglTM0MyNFgwX1JFRzMyCUFEQ1RTQzsKCVMzQzI0WDBfUkVHMzIJQURDRExZOwoJUzNDMjRYMF9SRUczMglBRENEQVQwOwoJUzNDMjRYMF9SRUczMglBRENEQVQxOwp9IC8qX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpKi8gUzNDMjQxMF9BREM7CgoKLyogU1BJIChzZWUgbWFudWFsIGNoYXB0ZXIgMjIpICovCnR5cGVkZWYgc3RydWN0IHsKCVMzQzI0WDBfUkVHMzIJU1BDT047CglTM0MyNFgwX1JFRzMyCVNQU1RBOwoJUzNDMjRYMF9SRUczMglTUFBJTjsKCVMzQzI0WDBfUkVHMzIJU1BQUkU7CglTM0MyNFgwX1JFRzMyCVNQVERBVDsKCVMzQzI0WDBfUkVHMzIJU1BSREFUOwoJUzNDMjRYMF9SRUczMglyZXNbMl07Cn0gX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpIFMzQzI0WDBfU1BJX0NIQU5ORUw7Cgp0eXBlZGVmIHN0cnVjdCB7CglTM0MyNFgwX1NQSV9DSEFOTkVMCWNoW1MzQzI0WDBfU1BJX0NIQU5ORUxTXTsKfSAvKl9fYXR0cmlidXRlX18oKF9fcGFja2VkX18pKSovIFMzQzI0WDBfU1BJOwoKCi8qIE1NQyBJTlRFUkZBQ0UgKHNlZSBTM0MyNDAwIG1hbnVhbCBjaGFwdGVyIDE5KSAqLwp0eXBlZGVmIHN0cnVjdCB7CiNpZmRlZiBfX0JJR19FTkRJQU4KCVMzQzI0WDBfUkVHOAlyZXMxWzNdOwoJUzNDMjRYMF9SRUc4CU1NQ09OOwoJUzNDMjRYMF9SRUc4CXJlczJbM107CglTM0MyNFgwX1JFRzgJTU1DUlI7CglTM0MyNFgwX1JFRzgJcmVzM1szXTsKCVMzQzI0WDBfUkVHOAlNTUZDT047CglTM0MyNFgwX1JFRzgJcmVzNFszXTsKCVMzQzI0WDBfUkVHOAlNTVNUQTsKCVMzQzI0WDBfUkVHMTYJcmVzNTsKCVMzQzI0WDBfUkVHMTYJTU1GU1RBOwoJUzNDMjRYMF9SRUc4CXJlczZbM107CglTM0MyNFgwX1JFRzgJTU1QUkU7CglTM0MyNFgwX1JFRzE2CXJlczc7CglTM0MyNFgwX1JFRzE2CU1NTEVOOwoJUzNDMjRYMF9SRUc4CXJlczhbM107CglTM0MyNFgwX1JFRzgJTU1DUjc7CglTM0MyNFgwX1JFRzMyCU1NUlNQWzRdOwoJUzNDMjRYMF9SRUc4CXJlczlbM107CglTM0MyNFgwX1JFRzgJTU1DTUQwOwoJUzNDMjRYMF9SRUczMglNTUNNRDE7CglTM0MyNFgwX1JFRzE2CXJlczEwOwoJUzNDMjRYMF9SRUcxNglNTUNSMTY7CglTM0MyNFgwX1JFRzgJcmVzMTFbM107CglTM0MyNFgwX1JFRzgJTU1EQVQ7CiNlbHNlCglTM0MyNFgwX1JFRzgJTU1DT047CglTM0MyNFgwX1JFRzgJcmVzMVszXTsKCVMzQzI0WDBfUkVHOAlNTUNSUjsKCVMzQzI0WDBfUkVHOAlyZXMyWzNdOwoJUzNDMjRYMF9SRUc4CU1NRkNPTjsKCVMzQzI0WDBfUkVHOAlyZXMzWzNdOwoJUzNDMjRYMF9SRUc4CU1NU1RBOwoJUzNDMjRYMF9SRUc4CXJlczRbM107CglTM0MyNFgwX1JFRzE2CU1NRlNUQTsKCVMzQzI0WDBfUkVHMTYJcmVzNTsKCVMzQzI0WDBfUkVHOAlNTVBSRTsKCVMzQzI0WDBfUkVHOAlyZXM2WzNdOwoJUzNDMjRYMF9SRUcxNglNTUxFTjsKCVMzQzI0WDBfUkVHMTYJcmVzNzsKCVMzQzI0WDBfUkVHOAlNTUNSNzsKCVMzQzI0WDBfUkVHOAlyZXM4WzNdOwoJUzNDMjRYMF9SRUczMglNTVJTUFs0XTsKCVMzQzI0WDBfUkVHOAlNTUNNRDA7CglTM0MyNFgwX1JFRzgJcmVzOVszXTsKCVMzQzI0WDBfUkVHMzIJTU1DTUQxOwoJUzNDMjRYMF9SRUcxNglNTUNSMTY7CglTM0MyNFgwX1JFRzE2CXJlczEwOwoJUzNDMjRYMF9SRUc4CU1NREFUOwoJUzNDMjRYMF9SRUc4CXJlczExWzNdOwojZW5kaWYKfSAvKl9fYXR0cmlidXRlX18oKF9fcGFja2VkX18pKSovIFMzQzI0MDBfTU1DOwoKCi8qIFNEIElOVEVSRkFDRSAoc2VlIFMzQzI0MTAgbWFudWFsIGNoYXB0ZXIgMTkpICovCnR5cGVkZWYgc3RydWN0IHsKCVMzQzI0WDBfUkVHMzIJU0RJQ09OOwoJUzNDMjRYMF9SRUczMglTRElQUkU7CglTM0MyNFgwX1JFRzMyCVNESUNBUkc7CglTM0MyNFgwX1JFRzMyCVNESUNDT047CglTM0MyNFgwX1JFRzMyCVNESUNTVEE7CglTM0MyNFgwX1JFRzMyCVNESVJTUDA7CglTM0MyNFgwX1JFRzMyCVNESVJTUDE7CglTM0MyNFgwX1JFRzMyCVNESVJTUDI7CglTM0MyNFgwX1JFRzMyCVNESVJTUDM7CglTM0MyNFgwX1JFRzMyCVNESURUSU1FUjsKCVMzQzI0WDBfUkVHMzIJU0RJQlNJWkU7CglTM0MyNFgwX1JFRzMyCVNESURDT047CglTM0MyNFgwX1JFRzMyCVNESURDTlQ7CglTM0MyNFgwX1JFRzMyCVNESURTVEE7CglTM0MyNFgwX1JFRzMyCVNESUZTVEE7CiNpZmRlZiBfX0JJR19FTkRJQU4KCVMzQzI0WDBfUkVHOAlyZXNbM107CglTM0MyNFgwX1JFRzgJU0RJREFUOwojZWxzZQoJUzNDMjRYMF9SRUc4CVNESURBVDsKCVMzQzI0WDBfUkVHOAlyZXNbM107CiNlbmRpZgoJUzNDMjRYMF9SRUczMglTRElJTVNLOwp9IC8qX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpKi8gUzNDMjQxMF9TREk7CgoKI2lmIDAKLyogTWVtb3J5IGNvbnRyb2wgKi8KI2RlZmluZSByQldTQ09OCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ4MDAwMDAwKQojZGVmaW5lIHJCQU5LQ09OMAkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ4MDAwMDA0KQojZGVmaW5lIHJCQU5LQ09OMQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ4MDAwMDA4KQojZGVmaW5lIHJCQU5LQ09OMgkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ4MDAwMDBDKQojZGVmaW5lIHJCQU5LQ09OMwkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ4MDAwMDEwKQojZGVmaW5lIHJCQU5LQ09ONAkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ4MDAwMDE0KQojZGVmaW5lIHJCQU5LQ09ONQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ4MDAwMDE4KQojZGVmaW5lIHJCQU5LQ09ONgkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ4MDAwMDFDKQojZGVmaW5lIHJCQU5LQ09ONwkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ4MDAwMDIwKQojZGVmaW5lIHJSRUZSRVNICQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDgwMDAwMjQpCiNkZWZpbmUgckJBTktTSVpFCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDgwMDAwMjgpCiNkZWZpbmUgck1SU1JCNgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0ODAwMDAyQykKI2RlZmluZSByTVJTUkI3CQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ4MDAwMDMwKQoKCi8qIFVTQiBIT1NUICovCiNkZWZpbmUgckhjUmV2aXNpb24JCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0OTAwMDAwMCkKI2RlZmluZSBySGNDb250cm9sCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDkwMDAwMDQpCiNkZWZpbmUgckhjQ29tbW9uU3RhdHVzCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDkwMDAwMDgpCiNkZWZpbmUgckhjSW50ZXJydXB0U3RhdHVzCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0OTAwMDAwQykKI2RlZmluZSBySGNJbnRlcnJ1cHRFbmFibGUJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ5MDAwMDEwKQojZGVmaW5lIHJIY0ludGVycnVwdERpc2FibGUJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ5MDAwMDE0KQojZGVmaW5lIHJIY0hDQ0EJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDkwMDAwMTgpCiNkZWZpbmUgckhjUGVyaW9kQ3V0dGVuZEVECSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0OTAwMDAxQykKI2RlZmluZSBySGNDb250cm9sSGVhZEVECSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0OTAwMDAyMCkKI2RlZmluZSBySGNDb250cm9sQ3VycmVudEVECSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0OTAwMDAyNCkKI2RlZmluZSBySGNCdWxrSGVhZEVECQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDkwMDAwMjgpCiNkZWZpbmUgckhjQnVsZEN1cnJlbnRFRAkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDkwMDAwMkMpCiNkZWZpbmUgckhjRG9uZUhlYWQJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0OTAwMDAzMCkKI2RlZmluZSBySGNSbUludGVydmFsCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDkwMDAwMzQpCiNkZWZpbmUgckhjRm1SZW1haW5pbmcJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0OTAwMDAzOCkKI2RlZmluZSBySGNGbU51bWJlcgkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ5MDAwMDNDKQojZGVmaW5lIHJIY1BlcmlvZGljU3RhcnQJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDQ5MDAwMDQwKQojZGVmaW5lIHJIY0xTVGhyZXNob2xkCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDkwMDAwNDQpCiNkZWZpbmUgckhjUmhEZXNjcmlwdG9yQQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDkwMDAwNDgpCiNkZWZpbmUgckhjUmhEZXNjcmlwdG9yQgkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NDkwMDAwNEMpCiNkZWZpbmUgckhjUmhTdGF0dXMJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0OTAwMDA1MCkKI2RlZmluZSBySGNSaFBvcnRTdGF0dXMxCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0OTAwMDA1NCkKI2RlZmluZSBySGNSaFBvcnRTdGF0dXMyCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0OTAwMDA1OCkKCgovKiBJTlRFUlJVUFQgKi8KI2RlZmluZSByU1JDUE5ECQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRBMDAwMDAwKQojZGVmaW5lIHJJTlRNT0QJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEEwMDAwMDQpCiNkZWZpbmUgcklOVE1TSwkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QTAwMDAwOCkKI2RlZmluZSByUFJJT1JJVFkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QTAwMDAwQykKI2RlZmluZSBySU5UUE5ECQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRBMDAwMDEwKQojZGVmaW5lIHJJTlRPRkZTRVQJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QTAwMDAxNCkKI2RlZmluZSByU1VCU1JDUE5ECQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEEwMDAwMTgpCiNkZWZpbmUgcklOVFNVQk1TSwkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRBMDAwMDFDKQoKCi8qIERNQSAqLwojZGVmaW5lIHJESVNSQzAJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwMDApCiNkZWZpbmUgckRJU1JDQzAJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDAwNCkKI2RlZmluZSByRElEU1QwCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMDA4KQojZGVmaW5lIHJESURTVEMwCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwMEMpCiNkZWZpbmUgckRDT04wCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMDEwKQojZGVmaW5lIHJEU1RBVDAJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwMTQpCiNkZWZpbmUgckRDU1JDMAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDAxOCkKI2RlZmluZSByRENEU1QwCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMDFDKQojZGVmaW5lIHJETUFTS1RSSUcwCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwMjApCiNkZWZpbmUgckRJU1JDMQkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDA0MCkKI2RlZmluZSByRElTUkNDMQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMDQ0KQojZGVmaW5lIHJESURTVDEJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwNDgpCiNkZWZpbmUgckRJRFNUQzEJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDA0QykKI2RlZmluZSByRENPTjEJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwNTApCiNkZWZpbmUgckRTVEFUMQkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDA1NCkKI2RlZmluZSByRENTUkMxCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMDU4KQojZGVmaW5lIHJEQ0RTVDEJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwNUMpCiNkZWZpbmUgckRNQVNLVFJJRzEJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDA2MCkKI2RlZmluZSByRElTUkMyCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMDgwKQojZGVmaW5lIHJESVNSQ0MyCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwODQpCiNkZWZpbmUgckRJRFNUMgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDA4OCkKI2RlZmluZSByRElEU1RDMgkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMDhDKQojZGVmaW5lIHJEQ09OMgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDA5MCkKI2RlZmluZSByRFNUQVQyCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMDk0KQojZGVmaW5lIHJEQ1NSQzIJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwOTgpCiNkZWZpbmUgckRDRFNUMgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDA5QykKI2RlZmluZSByRE1BU0tUUklHMgkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMEEwKQojZGVmaW5lIHJESVNSQzMJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwQzApCiNkZWZpbmUgckRJU1JDQzMJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDBDNCkKI2RlZmluZSByRElEU1QzCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMEM4KQojZGVmaW5lIHJESURTVEMzCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwQ0MpCiNkZWZpbmUgckRDT04zCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMEQwKQojZGVmaW5lIHJEU1RBVDMJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwRDQpCiNkZWZpbmUgckRDU1JDMwkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QjAwMDBEOCkKI2RlZmluZSByRENEU1QzCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRCMDAwMERDKQojZGVmaW5lIHJETUFTS1RSSUczCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEIwMDAwRTApCgoKLyogQ0xPQ0sgJiBQT1dFUiBNQU5BR0VNRU5UICovCiNkZWZpbmUgckxPQ0tUSU1FCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEMwMDAwMDApCiNkZWZpbmUgck1QTExDT04JCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QzAwMDAwNCkKI2RlZmluZSByVVBMTENPTgkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRDMDAwMDA4KQojZGVmaW5lIHJDTEtDT04JCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEMwMDAwMEMpCiNkZWZpbmUgckNMS1NMT1cJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0QzAwMDAxMCkKI2RlZmluZSByQ0xLRElWTgkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRDMDAwMDE0KQoKCi8qIExDRCBDT05UUk9MTEVSICovCiNkZWZpbmUgckxDRENPTjEJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0RDAwMDAwMCkKI2RlZmluZSByTENEQ09OMgkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDREMDAwMDA0KQojZGVmaW5lIHJMQ0RDT04zCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEQwMDAwMDgpCiNkZWZpbmUgckxDRENPTjQJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0RDAwMDAwQykKI2RlZmluZSByTENEQ09ONQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDREMDAwMDEwKQojZGVmaW5lIHJMQ0RTQUREUjEJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0RDAwMDAxNCkKI2RlZmluZSByTENEU0FERFIyCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEQwMDAwMTgpCiNkZWZpbmUgckxDRFNBRERSMwkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDREMDAwMDFDKQojZGVmaW5lIHJSRURMVVQJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEQwMDAwMjApCiNkZWZpbmUgckdSRUVOTFVUCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEQwMDAwMjQpCiNkZWZpbmUgckJMVUVMVVQJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0RDAwMDAyOCkKI2RlZmluZSByRElUSE1PREUJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0RDAwMDA0QykKI2RlZmluZSByVFBBTAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0RDAwMDA1MCkKI2RlZmluZSByTENESU5UUE5ECQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEQwMDAwNTQpCiNkZWZpbmUgckxDRFNSQ1BORAkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDREMDAwMDU4KQojZGVmaW5lIHJMQ0RJTlRNU0sJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0RDAwMDA1QykKCgovKiBOQU5EIEZMQVNIICovCiNkZWZpbmUgck5GQ09ORgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0RTAwMDAwMCkKI2RlZmluZSByTkZDTUQJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEUwMDAwMDQpCiNkZWZpbmUgck5GQUREUgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg0RTAwMDAwOCkKI2RlZmluZSByTkZEQVRBCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRFMDAwMDBDKQojZGVmaW5lIHJORlNUQVQJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NEUwMDAwMTApCiNkZWZpbmUgck5GRUNDCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDRFMDAwMDE0KQoKCi8qIFVBUlQgKi8KI2RlZmluZSByVUxDT04wCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUwMDAwMDAwKQojZGVmaW5lIHJVQ09OMAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MDAwMDAwNCkKI2RlZmluZSByVUZDT04wCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUwMDAwMDA4KQojZGVmaW5lIHJVTUNPTjAJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTAwMDAwMEMpCiNkZWZpbmUgclVUUlNUQVQwCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTAwMDAwMTApCiNkZWZpbmUgclVFUlNUQVQwCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTAwMDAwMTQpCiNkZWZpbmUgclVGU1RBVDAJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MDAwMDAxOCkKI2RlZmluZSByVU1TVEFUMAkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUwMDAwMDFDKQojZGVmaW5lIHJVQlJESVYwCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTAwMDAwMjgpCgojZGVmaW5lIHJVTENPTjEJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTAwMDQwMDApCiNkZWZpbmUgclVDT04xCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUwMDA0MDA0KQojZGVmaW5lIHJVRkNPTjEJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTAwMDQwMDgpCiNkZWZpbmUgclVNQ09OMQkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MDAwNDAwQykKI2RlZmluZSByVVRSU1RBVDEJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MDAwNDAxMCkKI2RlZmluZSByVUVSU1RBVDEJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MDAwNDAxNCkKI2RlZmluZSByVUZTVEFUMQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUwMDA0MDE4KQojZGVmaW5lIHJVTVNUQVQxCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTAwMDQwMUMpCiNkZWZpbmUgclVCUkRJVjEJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MDAwNDAyOCkKCiNkZWZpbmUgclVMQ09OMgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MDAwODAwMCkKI2RlZmluZSByVUNPTjIJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTAwMDgwMDQpCiNkZWZpbmUgclVGQ09OMgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MDAwODAwOCkKI2RlZmluZSByVVRSU1RBVDIJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MDAwODAxMCkKI2RlZmluZSByVUVSU1RBVDIJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MDAwODAxNCkKI2RlZmluZSByVUZTVEFUMgkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUwMDA4MDE4KQojZGVmaW5lIHJVQlJESVYyCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTAwMDgwMjgpCgojaWZkZWYgX19CSUdfRU5ESUFOCiNkZWZpbmUgclVUWEgwCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTAwMDAwMjMpCiNkZWZpbmUgclVSWEgwCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTAwMDAwMjcpCiNkZWZpbmUgclVUWEgxCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTAwMDQwMjMpCiNkZWZpbmUgclVSWEgxCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTAwMDQwMjcpCiNkZWZpbmUgclVUWEgyCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTAwMDgwMjMpCiNkZWZpbmUgclVSWEgyCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTAwMDgwMjcpCgojZGVmaW5lIFdyVVRYSDAoY2gpCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MDAwMDAyMyk9KHVuc2lnbmVkIGNoYXIpKGNoKQojZGVmaW5lIFJkVVJYSDAoKQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTAwMDAwMjcpCiNkZWZpbmUgV3JVVFhIMShjaCkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUwMDA0MDIzKT0odW5zaWduZWQgY2hhcikoY2gpCiNkZWZpbmUgUmRVUlhIMSgpCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MDAwNDAyNykKI2RlZmluZSBXclVUWEgyKGNoKQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTAwMDgwMjMpPSh1bnNpZ25lZCBjaGFyKShjaCkKI2RlZmluZSBSZFVSWEgyKCkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUwMDA4MDI3KQoKI2RlZmluZSBVVFhIMAkJCSgweDUwMDAwMDIwKzMpICAvKiBieXRlX2FjY2VzcyBhZGRyZXNzIGJ5IERNQSAqLwojZGVmaW5lIFVSWEgwCQkJKDB4NTAwMDAwMjQrMykKI2RlZmluZSBVVFhIMQkJCSgweDUwMDA0MDIwKzMpCiNkZWZpbmUgVVJYSDEJCQkoMHg1MDAwNDAyNCszKQojZGVmaW5lIFVUWEgyCQkJKDB4NTAwMDgwMjArMykKI2RlZmluZSBVUlhIMgkJCSgweDUwMDA4MDI0KzMpCgojZWxzZSAvKiBMaXR0bGUgRW5kaWFuICovCiNkZWZpbmUgclVUWEgwCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTAwMDAwMjApCiNkZWZpbmUgclVSWEgwCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTAwMDAwMjQpCiNkZWZpbmUgclVUWEgxCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTAwMDQwMjApCiNkZWZpbmUgclVSWEgxCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTAwMDQwMjQpCiNkZWZpbmUgclVUWEgyCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTAwMDgwMjApCiNkZWZpbmUgclVSWEgyCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTAwMDgwMjQpCgojZGVmaW5lIFdyVVRYSDAoY2gpCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MDAwMDAyMCk9KHVuc2lnbmVkIGNoYXIpKGNoKQojZGVmaW5lIFJkVVJYSDAoKQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTAwMDAwMjQpCiNkZWZpbmUgV3JVVFhIMShjaCkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUwMDA0MDIwKT0odW5zaWduZWQgY2hhcikoY2gpCiNkZWZpbmUgUmRVUlhIMSgpCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MDAwNDAyNCkKI2RlZmluZSBXclVUWEgyKGNoKQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTAwMDgwMjApPSh1bnNpZ25lZCBjaGFyKShjaCkKI2RlZmluZSBSZFVSWEgyKCkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUwMDA4MDI0KQoKI2RlZmluZSBVVFhIMAkJCSgweDUwMDAwMDIwKSAgICAvKiBieXRlX2FjY2VzcyBhZGRyZXNzIGJ5IERNQSAqLwojZGVmaW5lIFVSWEgwCQkJKDB4NTAwMDAwMjQpCiNkZWZpbmUgVVRYSDEJCQkoMHg1MDAwNDAyMCkKI2RlZmluZSBVUlhIMQkJCSgweDUwMDA0MDI0KQojZGVmaW5lIFVUWEgyCQkJKDB4NTAwMDgwMjApCiNkZWZpbmUgVVJYSDIJCQkoMHg1MDAwODAyNCkKI2VuZGlmCgoKLyogUFdNIFRJTUVSICovCiNkZWZpbmUgclRDRkcwCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUxMDAwMDAwKQojZGVmaW5lIHJUQ0ZHMQkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MTAwMDAwNCkKI2RlZmluZSByVENPTgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MTAwMDAwOCkKI2RlZmluZSByVENOVEIwCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUxMDAwMDBDKQojZGVmaW5lIHJUQ01QQjAJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTEwMDAwMTApCiNkZWZpbmUgclRDTlRPMAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MTAwMDAxNCkKI2RlZmluZSByVENOVEIxCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUxMDAwMDE4KQojZGVmaW5lIHJUQ01QQjEJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTEwMDAwMUMpCiNkZWZpbmUgclRDTlRPMQkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MTAwMDAyMCkKI2RlZmluZSByVENOVEIyCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUxMDAwMDI0KQojZGVmaW5lIHJUQ01QQjIJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTEwMDAwMjgpCiNkZWZpbmUgclRDTlRPMgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MTAwMDAyQykKI2RlZmluZSByVENOVEIzCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUxMDAwMDMwKQojZGVmaW5lIHJUQ01QQjMJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTEwMDAwMzQpCiNkZWZpbmUgclRDTlRPMwkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MTAwMDAzOCkKI2RlZmluZSByVENOVEI0CQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUxMDAwMDNDKQojZGVmaW5lIHJUQ05UTzQJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTEwMDAwNDApCgoKLyogVVNCIERFVklDRSAqLwojaWZkZWYgX19CSUdfRU5ESUFOCiNkZWZpbmUgckZVTkNfQUREUl9SRUcJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMTQzKQojZGVmaW5lIHJQV1JfUkVHCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDE0NykKI2RlZmluZSByRVBfSU5UX1JFRwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxNEIpCiNkZWZpbmUgclVTQl9JTlRfUkVHCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDE1QikKI2RlZmluZSByRVBfSU5UX0VOX1JFRwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxNUYpCiNkZWZpbmUgclVTQl9JTlRfRU5fUkVHCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDE2RikKI2RlZmluZSByRlJBTUVfTlVNMV9SRUcJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMTczKQojZGVmaW5lIHJGUkFNRV9OVU0yX1JFRwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxNzcpCiNkZWZpbmUgcklOREVYX1JFRwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxN0IpCiNkZWZpbmUgck1BWFBfUkVHCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDE4MykKI2RlZmluZSByRVAwX0NTUgkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxODcpCiNkZWZpbmUgcklOX0NTUjFfUkVHCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDE4NykKI2RlZmluZSBySU5fQ1NSMl9SRUcJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMThCKQojZGVmaW5lIHJPVVRfQ1NSMV9SRUcJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMTkzKQojZGVmaW5lIHJPVVRfQ1NSMl9SRUcJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMTk3KQojZGVmaW5lIHJPVVRfRklGT19DTlQxX1JFRwkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDE5QikKI2RlZmluZSByT1VUX0ZJRk9fQ05UMl9SRUcJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxOUYpCiNkZWZpbmUgckVQMF9GSUZPCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDFDMykKI2RlZmluZSByRVAxX0ZJRk8JCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMUM3KQojZGVmaW5lIHJFUDJfRklGTwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxQ0IpCiNkZWZpbmUgckVQM19GSUZPCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDFDRikKI2RlZmluZSByRVA0X0ZJRk8JCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMUQzKQojZGVmaW5lIHJFUDFfRE1BX0NPTgkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyMDMpCiNkZWZpbmUgckVQMV9ETUFfVU5JVAkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyMDcpCiNkZWZpbmUgckVQMV9ETUFfRklGTwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyMEIpCiNkZWZpbmUgckVQMV9ETUFfVFhfTE8JCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjBGKQojZGVmaW5lIHJFUDFfRE1BX1RYX01ECQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDIxMykKI2RlZmluZSByRVAxX0RNQV9UWF9ISQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyMTcpCiNkZWZpbmUgckVQMl9ETUFfQ09OCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDIxQikKI2RlZmluZSByRVAyX0RNQV9VTklUCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDIxRikKI2RlZmluZSByRVAyX0RNQV9GSUZPCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDIyMykKI2RlZmluZSByRVAyX0RNQV9UWF9MTwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyMjcpCiNkZWZpbmUgckVQMl9ETUFfVFhfTUQJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjJCKQojZGVmaW5lIHJFUDJfRE1BX1RYX0hJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDIyRikKI2RlZmluZSByRVAzX0RNQV9DT04JCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjQzKQojZGVmaW5lIHJFUDNfRE1BX1VOSVQJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjQ3KQojZGVmaW5lIHJFUDNfRE1BX0ZJRk8JCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjRCKQojZGVmaW5lIHJFUDNfRE1BX1RYX0xPCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDI0RikKI2RlZmluZSByRVAzX0RNQV9UWF9NRAkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyNTMpCiNkZWZpbmUgckVQM19ETUFfVFhfSEkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjU3KQojZGVmaW5lIHJFUDRfRE1BX0NPTgkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyNUIpCiNkZWZpbmUgckVQNF9ETUFfVU5JVAkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyNUYpCiNkZWZpbmUgckVQNF9ETUFfRklGTwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyNjMpCiNkZWZpbmUgckVQNF9ETUFfVFhfTE8JCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjY3KQojZGVmaW5lIHJFUDRfRE1BX1RYX01ECQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDI2QikKI2RlZmluZSByRVA0X0RNQV9UWF9ISQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyNkYpCiNlbHNlIC8qICBsaXR0bGUgZW5kaWFuICovCiNkZWZpbmUgckZVTkNfQUREUl9SRUcJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMTQwKQojZGVmaW5lIHJQV1JfUkVHCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDE0NCkKI2RlZmluZSByRVBfSU5UX1JFRwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxNDgpCiNkZWZpbmUgclVTQl9JTlRfUkVHCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDE1OCkKI2RlZmluZSByRVBfSU5UX0VOX1JFRwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxNUMpCiNkZWZpbmUgclVTQl9JTlRfRU5fUkVHCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDE2QykKI2RlZmluZSByRlJBTUVfTlVNMV9SRUcJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMTcwKQojZGVmaW5lIHJGUkFNRV9OVU0yX1JFRwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxNzQpCiNkZWZpbmUgcklOREVYX1JFRwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxNzgpCiNkZWZpbmUgck1BWFBfUkVHCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDE4MCkKI2RlZmluZSByRVAwX0NTUgkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxODQpCiNkZWZpbmUgcklOX0NTUjFfUkVHCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDE4NCkKI2RlZmluZSBySU5fQ1NSMl9SRUcJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMTg4KQojZGVmaW5lIHJPVVRfQ1NSMV9SRUcJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMTkwKQojZGVmaW5lIHJPVVRfQ1NSMl9SRUcJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMTk0KQojZGVmaW5lIHJPVVRfRklGT19DTlQxX1JFRwkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDE5OCkKI2RlZmluZSByT1VUX0ZJRk9fQ05UMl9SRUcJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxOUMpCiNkZWZpbmUgckVQMF9GSUZPCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDFDMCkKI2RlZmluZSByRVAxX0ZJRk8JCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMUM0KQojZGVmaW5lIHJFUDJfRklGTwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAxQzgpCiNkZWZpbmUgckVQM19GSUZPCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDFDQykKI2RlZmluZSByRVA0X0ZJRk8JCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMUQwKQojZGVmaW5lIHJFUDFfRE1BX0NPTgkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyMDApCiNkZWZpbmUgckVQMV9ETUFfVU5JVAkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyMDQpCiNkZWZpbmUgckVQMV9ETUFfRklGTwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyMDgpCiNkZWZpbmUgckVQMV9ETUFfVFhfTE8JCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjBDKQojZGVmaW5lIHJFUDFfRE1BX1RYX01ECQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDIxMCkKI2RlZmluZSByRVAxX0RNQV9UWF9ISQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyMTQpCiNkZWZpbmUgckVQMl9ETUFfQ09OCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDIxOCkKI2RlZmluZSByRVAyX0RNQV9VTklUCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDIxQykKI2RlZmluZSByRVAyX0RNQV9GSUZPCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDIyMCkKI2RlZmluZSByRVAyX0RNQV9UWF9MTwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyMjQpCiNkZWZpbmUgckVQMl9ETUFfVFhfTUQJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjI4KQojZGVmaW5lIHJFUDJfRE1BX1RYX0hJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDIyQykKI2RlZmluZSByRVAzX0RNQV9DT04JCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjQwKQojZGVmaW5lIHJFUDNfRE1BX1VOSVQJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjQ0KQojZGVmaW5lIHJFUDNfRE1BX0ZJRk8JCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjQ4KQojZGVmaW5lIHJFUDNfRE1BX1RYX0xPCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDI0QykKI2RlZmluZSByRVAzX0RNQV9UWF9NRAkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyNTApCiNkZWZpbmUgckVQM19ETUFfVFhfSEkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjU0KQojZGVmaW5lIHJFUDRfRE1BX0NPTgkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyNTgpCiNkZWZpbmUgckVQNF9ETUFfVU5JVAkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyNUMpCiNkZWZpbmUgckVQNF9ETUFfRklGTwkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyNjApCiNkZWZpbmUgckVQNF9ETUFfVFhfTE8JCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDUyMDAwMjY0KQojZGVmaW5lIHJFUDRfRE1BX1RYX01ECQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1MjAwMDI2OCkKI2RlZmluZSByRVA0X0RNQV9UWF9ISQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTIwMDAyNkMpCiNlbmRpZiAvKiAgX19CSUdfRU5ESUFOICovCgoKLyogV0FUQ0ggRE9HIFRJTUVSICovCiNkZWZpbmUgcldUQ09OCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDUzMDAwMDAwKQojZGVmaW5lIHJXVERBVAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1MzAwMDAwNCkKI2RlZmluZSByV1RDTlQJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTMwMDAwMDgpCgoKLyogSUlDICovCiNkZWZpbmUgcklJQ0NPTgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NDAwMDAwMCkKI2RlZmluZSBySUlDU1RBVAkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU0MDAwMDA0KQojZGVmaW5lIHJJSUNBREQJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTQwMDAwMDgpCiNkZWZpbmUgcklJQ0RTCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU0MDAwMDBDKQoKCi8qIElJUyAqLwojZGVmaW5lIHJJSVNDT04JCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTUwMDAwMDApCiNkZWZpbmUgcklJU01PRAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NTAwMDAwNCkKI2RlZmluZSBySUlTUFNSCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU1MDAwMDA4KQojZGVmaW5lIHJJSVNGQ09OCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTUwMDAwMEMpCgojaWZkZWYgX19CSUdfRU5ESUFOCiNkZWZpbmUgSUlTRklGCQkJKCh2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAqKTB4NTUwMDAwMTIpCiNlbHNlIC8qICBsaXR0bGUgZW5kaWFuICovCiNkZWZpbmUgSUlTRklGCQkJKCh2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAqKTB4NTUwMDAwMTApCiNlbmRpZgoKCi8qIEkvTyBQT1JUICovCiNkZWZpbmUgckdQQUNPTgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDAwMCkKI2RlZmluZSByR1BBREFUCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMDA0KQoKI2RlZmluZSByR1BCQ09OCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMDEwKQojZGVmaW5lIHJHUEJEQVQJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwMTQpCiNkZWZpbmUgckdQQlVQCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMDE4KQoKI2RlZmluZSByR1BDQ09OCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMDIwKQojZGVmaW5lIHJHUENEQVQJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwMjQpCiNkZWZpbmUgckdQQ1VQCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMDI4KQoKI2RlZmluZSByR1BEQ09OCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMDMwKQojZGVmaW5lIHJHUEREQVQJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwMzQpCiNkZWZpbmUgckdQRFVQCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMDM4KQoKI2RlZmluZSByR1BFQ09OCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMDQwKQojZGVmaW5lIHJHUEVEQVQJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwNDQpCiNkZWZpbmUgckdQRVVQCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMDQ4KQoKI2RlZmluZSByR1BGQ09OCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMDUwKQojZGVmaW5lIHJHUEZEQVQJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwNTQpCiNkZWZpbmUgckdQRlVQCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMDU4KQoKI2RlZmluZSByR1BHQ09OCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMDYwKQojZGVmaW5lIHJHUEdEQVQJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwNjQpCiNkZWZpbmUgckdQR1VQCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMDY4KQoKI2RlZmluZSByR1BIQ09OCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMDcwKQojZGVmaW5lIHJHUEhEQVQJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwNzQpCiNkZWZpbmUgckdQSFVQCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMDc4KQoKI2RlZmluZSByTUlTQ0NSCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMDgwKQojZGVmaW5lIHJEQ0xLQ09OCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwODQpCiNkZWZpbmUgckVYVElOVDAJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1NjAwMDA4OCkKI2RlZmluZSByRVhUSU5UMQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU2MDAwMDhDKQojZGVmaW5lIHJFWFRJTlQyCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwOTApCiNkZWZpbmUgckVJTlRGTFQwCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwOTQpCiNkZWZpbmUgckVJTlRGTFQxCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwOTgpCiNkZWZpbmUgckVJTlRGTFQyCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwOUMpCiNkZWZpbmUgckVJTlRGTFQzCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwQTApCiNkZWZpbmUgckVJTlRNQVNLCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwQTQpCiNkZWZpbmUgckVJTlRQRU5ECQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwQTgpCiNkZWZpbmUgckdTVEFUVVMwCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwQUMpCiNkZWZpbmUgckdTVEFUVVMxCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTYwMDAwQjApCgoKLyogUlRDICovCiNpZmRlZiBfX0JJR19FTkRJQU4KI2RlZmluZSByUlRDQ09OCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTcwMDAwNDMpCiNkZWZpbmUgclRJQ05UCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTcwMDAwNDcpCiNkZWZpbmUgclJUQ0FMTQkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDU3MDAwMDUzKQojZGVmaW5lIHJBTE1TRUMJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1NzAwMDA1NykKI2RlZmluZSByQUxNTUlOCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTcwMDAwNUIpCiNkZWZpbmUgckFMTUhPVVIJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDU3MDAwMDVGKQojZGVmaW5lIHJBTE1EQVRFCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1NzAwMDA2MykKI2RlZmluZSByQUxNTU9OCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTcwMDAwNjcpCiNkZWZpbmUgckFMTVlFQVIJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDU3MDAwMDZCKQojZGVmaW5lIHJSVENSU1QJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1NzAwMDA2RikKI2RlZmluZSByQkNEU0VDCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTcwMDAwNzMpCiNkZWZpbmUgckJDRE1JTgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDU3MDAwMDc3KQojZGVmaW5lIHJCQ0RIT1VSCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1NzAwMDA3QikKI2RlZmluZSByQkNEREFURQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTcwMDAwN0YpCiNkZWZpbmUgckJDRERBWQkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDU3MDAwMDgzKQojZGVmaW5lIHJCQ0RNT04JCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1NzAwMDA4NykKI2RlZmluZSByQkNEWUVBUgkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTcwMDAwOEIpCiNlbHNlIC8qICBsaXR0bGUgZW5kaWFuICovCiNkZWZpbmUgclJUQ0NPTgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDU3MDAwMDQwKQojZGVmaW5lIHJUSUNOVAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDU3MDAwMDQ0KQojZGVmaW5lIHJSVENBTE0JCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1NzAwMDA1MCkKI2RlZmluZSByQUxNU0VDCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTcwMDAwNTQpCiNkZWZpbmUgckFMTU1JTgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDU3MDAwMDU4KQojZGVmaW5lIHJBTE1IT1VSCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1NzAwMDA1QykKI2RlZmluZSByQUxNREFURQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTcwMDAwNjApCiNkZWZpbmUgckFMTU1PTgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDU3MDAwMDY0KQojZGVmaW5lIHJBTE1ZRUFSCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1NzAwMDA2OCkKI2RlZmluZSByUlRDUlNUCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTcwMDAwNkMpCiNkZWZpbmUgckJDRFNFQwkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDU3MDAwMDcwKQojZGVmaW5lIHJCQ0RNSU4JCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1NzAwMDA3NCkKI2RlZmluZSByQkNESE9VUgkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTcwMDAwNzgpCiNkZWZpbmUgckJDRERBVEUJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDU3MDAwMDdDKQojZGVmaW5lIHJCQ0REQVkJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopMHg1NzAwMDA4MCkKI2RlZmluZSByQkNETU9OCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NTcwMDAwODQpCiNkZWZpbmUgckJDRFlFQVIJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDU3MDAwMDg4KQojZW5kaWYKCgovKiBBREMgKi8KI2RlZmluZSByQURDQ09OCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU4MDAwMDAwKQojZGVmaW5lIHJBRENUU0MJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTgwMDAwMDQpCiNkZWZpbmUgckFEQ0RMWQkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1ODAwMDAwOCkKI2RlZmluZSByQURDREFUMAkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU4MDAwMDBDKQojZGVmaW5lIHJBRENEQVQxCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTgwMDAwMTApCgoKLyogU1BJICovCiNkZWZpbmUgclNQQ09OMAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1OTAwMDAwMCkKI2RlZmluZSByU1BTVEEwCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU5MDAwMDA0KQojZGVmaW5lIHJTUFBJTjAJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTkwMDAwMDgpCiNkZWZpbmUgclNQUFJFMAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1OTAwMDAwQykKI2RlZmluZSByU1BUREFUMAkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU5MDAwMDEwKQojZGVmaW5lIHJTUFJEQVQwCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTkwMDAwMTQpCiNkZWZpbmUgclNQQ09OMQkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1OTAwMDAyMCkKI2RlZmluZSByU1BTVEExCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU5MDAwMDI0KQojZGVmaW5lIHJTUFBJTjEJCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTkwMDAwMjgpCiNkZWZpbmUgclNQUFJFMQkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1OTAwMDAyQykKI2RlZmluZSByU1BUREFUMQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDU5MDAwMDMwKQojZGVmaW5lIHJTUFJEQVQxCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NTkwMDAwMzQpCgoKLyogU0QgSU5URVJGQUNFICovCiNkZWZpbmUgclNESUNPTgkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1QTAwMDAwMCkKI2RlZmluZSByU0RJUFJFCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDVBMDAwMDA0KQojZGVmaW5lIHJTRElDbWRBcmcJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1QTAwMDAwOCkKI2RlZmluZSByU0RJQ21kQ29uCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NUEwMDAwMEMpCiNkZWZpbmUgclNESUNtZFN0YQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDVBMDAwMDEwKQojZGVmaW5lIHJTRElSU1AwCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NUEwMDAwMTQpCiNkZWZpbmUgclNESVJTUDEJCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1QTAwMDAxOCkKI2RlZmluZSByU0RJUlNQMgkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDVBMDAwMDFDKQojZGVmaW5lIHJTRElSU1AzCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NUEwMDAwMjApCiNkZWZpbmUgclNESURUaW1lcgkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDVBMDAwMDI0KQojZGVmaW5lIHJTRElCU2l6ZQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDVBMDAwMDI4KQojZGVmaW5lIHJTRElEYXRDb24JCSgqKHZvbGF0aWxlIHVuc2lnbmVkICopMHg1QTAwMDAyQykKI2RlZmluZSByU0RJRGF0Q250CQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NUEwMDAwMzApCiNkZWZpbmUgclNESURhdFN0YQkJKCoodm9sYXRpbGUgdW5zaWduZWQgKikweDVBMDAwMDM0KQojZGVmaW5lIHJTRElGU1RBCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NUEwMDAwMzgpCiNpZmRlZiBfX0JJR19FTkRJQU4KI2RlZmluZSByU0RJREFUCQkJKCoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKTB4NUEwMDAwM0YpCiNlbHNlCiNkZWZpbmUgclNESURBVAkJCSgqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikweDVBMDAwMDNDKQojZW5kaWYKI2RlZmluZSByU0RJSW50TXNrCQkoKih2b2xhdGlsZSB1bnNpZ25lZCAqKTB4NUEwMDAwNDApCgojZW5kaWYKCiNlbmRpZiAvKl9fUzNDMjRYMF9IX18qLwo=