LyoqDQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIEBmaWxlICAgIHN0bTMyZjEwMng2LmgNCiAgKiBAYXV0aG9yICBNQ0QgQXBwbGljYXRpb24gVGVhbQ0KICAqIEB2ZXJzaW9uIFY0LjIuMA0KICAqIEBkYXRlICAgIDMxLU1hcmNoLTIwMTcNCiAgKiBAYnJpZWYgICBDTVNJUyBDb3J0ZXgtTTMgRGV2aWNlIFBlcmlwaGVyYWwgQWNjZXNzIExheWVyIEhlYWRlciBGaWxlLiANCiAgKiAgICAgICAgICBUaGlzIGZpbGUgY29udGFpbnMgYWxsIHRoZSBwZXJpcGhlcmFsIHJlZ2lzdGVyJ3MgZGVmaW5pdGlvbnMsIGJpdHMgDQogICogICAgICAgICAgZGVmaW5pdGlvbnMgYW5kIG1lbW9yeSBtYXBwaW5nIGZvciBTVE0zMkYxeHggZGV2aWNlcy4gICAgICAgICAgICANCiAgKiAgICAgICAgICAgIA0KICAqICAgICAgICAgIFRoaXMgZmlsZSBjb250YWluczoNCiAgKiAgICAgICAgICAgLSBEYXRhIHN0cnVjdHVyZXMgYW5kIHRoZSBhZGRyZXNzIG1hcHBpbmcgZm9yIGFsbCBwZXJpcGhlcmFscw0KICAqICAgICAgICAgICAtIFBlcmlwaGVyYWwncyByZWdpc3RlcnMgZGVjbGFyYXRpb25zIGFuZCBiaXRzIGRlZmluaXRpb24NCiAgKiAgICAgICAgICAgLSBNYWNyb3MgdG8gYWNjZXNzIHBlcmlwaGVyYWyScyByZWdpc3RlcnMgaGFyZHdhcmUNCiAgKiAgDQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIEBhdHRlbnRpb24NCiAgKg0KICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDT1BZUklHSFQoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3M8L2NlbnRlcj48L2gyPg0KICAqDQogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwNCiAgKiBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6DQogICogICAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsDQogICogICAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLg0KICAqICAgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLA0KICAqICAgICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbg0KICAqICAgICAgYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uDQogICogICAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIFNUTWljcm9lbGVjdHJvbmljcyBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMNCiAgKiAgICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQ0KICAqICAgICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQogICoNCiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyINCiAgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFDQogICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFDQogICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KICAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMDQogICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1INCiAgKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUg0KICAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQogICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UNCiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KICAqDQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqLw0KDQoNCi8qKiBAYWRkdG9ncm91cCBDTVNJUw0KICAqIEB7DQogICovDQoNCi8qKiBAYWRkdG9ncm91cCBzdG0zMmYxMDJ4Ng0KICAqIEB7DQogICovDQogICAgDQojaWZuZGVmIF9fU1RNMzJGMTAyeDZfSA0KI2RlZmluZSBfX1NUTTMyRjEwMng2X0gNCg0KI2lmZGVmIF9fY3BsdXNwbHVzDQogZXh0ZXJuICJDIiB7DQojZW5kaWYgDQoNCi8qKiBAYWRkdG9ncm91cCBDb25maWd1cmF0aW9uX3NlY3Rpb25fZm9yX0NNU0lTDQogICogQHsNCiAgKi8NCi8qKg0KICAqIEBicmllZiBDb25maWd1cmF0aW9uIG9mIHRoZSBDb3J0ZXgtTTMgUHJvY2Vzc29yIGFuZCBDb3JlIFBlcmlwaGVyYWxzIA0KICovDQojZGVmaW5lIF9fQ00zX1JFViAgICAgICAgICAgICAgICAgIDB4MDIwMFUgIC8qITwgQ29yZSBSZXZpc2lvbiByMnAwICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCiAjZGVmaW5lIF9fTVBVX1BSRVNFTlQgICAgICAgICAgICAgMFUgICAgICAgLyohPCBPdGhlciBTVE0zMiBkZXZpY2VzIGRvZXMgbm90IHByb3ZpZGUgYW4gTVBVICAqLw0KI2RlZmluZSBfX05WSUNfUFJJT19CSVRTICAgICAgICAgICA0VSAgICAgICAvKiE8IFNUTTMyIHVzZXMgNCBCaXRzIGZvciB0aGUgUHJpb3JpdHkgTGV2ZWxzICAgICovDQojZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgIDBVICAgICAgIC8qITwgU2V0IHRvIDEgaWYgZGlmZmVyZW50IFN5c1RpY2sgQ29uZmlnIGlzIHVzZWQgKi8NCg0KLyoqDQogICogQH0NCiAgKi8NCg0KLyoqIEBhZGR0b2dyb3VwIFBlcmlwaGVyYWxfaW50ZXJydXB0X251bWJlcl9kZWZpbml0aW9uDQogICogQHsNCiAgKi8NCg0KLyoqDQogKiBAYnJpZWYgU1RNMzJGMTB4IEludGVycnVwdCBOdW1iZXIgRGVmaW5pdGlvbiwgYWNjb3JkaW5nIHRvIHRoZSBzZWxlY3RlZCBkZXZpY2UgDQogKiAgICAgICAgaW4gQHJlZiBMaWJyYXJ5X2NvbmZpZ3VyYXRpb25fc2VjdGlvbiANCiAqLw0KDQogLyohPCBJbnRlcnJ1cHQgTnVtYmVyIERlZmluaXRpb24gKi8NCnR5cGVkZWYgZW51bQ0Kew0KLyoqKioqKiAgQ29ydGV4LU0zIFByb2Nlc3NvciBFeGNlcHRpb25zIE51bWJlcnMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KICBOb25NYXNrYWJsZUludF9JUlFuICAgICAgICAgPSAtMTQsICAgIC8qITwgMiBOb24gTWFza2FibGUgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KICBIYXJkRmF1bHRfSVJRbiAgICAgICAgICAgICAgPSAtMTMsICAgIC8qITwgMyBDb3J0ZXgtTTMgSGFyZCBGYXVsdCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAqLw0KICBNZW1vcnlNYW5hZ2VtZW50X0lSUW4gICAgICAgPSAtMTIsICAgIC8qITwgNCBDb3J0ZXgtTTMgTWVtb3J5IE1hbmFnZW1lbnQgSW50ZXJydXB0ICAgICAgICAgICAgICAqLw0KICBCdXNGYXVsdF9JUlFuICAgICAgICAgICAgICAgPSAtMTEsICAgIC8qITwgNSBDb3J0ZXgtTTMgQnVzIEZhdWx0IEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAqLw0KICBVc2FnZUZhdWx0X0lSUW4gICAgICAgICAgICAgPSAtMTAsICAgIC8qITwgNiBDb3J0ZXgtTTMgVXNhZ2UgRmF1bHQgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAqLw0KICBTVkNhbGxfSVJRbiAgICAgICAgICAgICAgICAgPSAtNSwgICAgIC8qITwgMTEgQ29ydGV4LU0zIFNWIENhbGwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAqLw0KICBEZWJ1Z01vbml0b3JfSVJRbiAgICAgICAgICAgPSAtNCwgICAgIC8qITwgMTIgQ29ydGV4LU0zIERlYnVnIE1vbml0b3IgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAqLw0KICBQZW5kU1ZfSVJRbiAgICAgICAgICAgICAgICAgPSAtMiwgICAgIC8qITwgMTQgQ29ydGV4LU0zIFBlbmQgU1YgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAqLw0KICBTeXNUaWNrX0lSUW4gICAgICAgICAgICAgICAgPSAtMSwgICAgIC8qITwgMTUgQ29ydGV4LU0zIFN5c3RlbSBUaWNrIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAqLw0KDQovKioqKioqICBTVE0zMiBzcGVjaWZpYyBJbnRlcnJ1cHQgTnVtYmVycyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogIFdXREdfSVJRbiAgICAgICAgICAgICAgICAgICA9IDAsICAgICAgLyohPCBXaW5kb3cgV2F0Y2hEb2cgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFBWRF9JUlFuICAgICAgICAgICAgICAgICAgICA9IDEsICAgICAgLyohPCBQVkQgdGhyb3VnaCBFWFRJIExpbmUgZGV0ZWN0aW9uIEludGVycnVwdCAgICAgICAgICAgICovDQogIFRBTVBFUl9JUlFuICAgICAgICAgICAgICAgICA9IDIsICAgICAgLyohPCBUYW1wZXIgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFJUQ19JUlFuICAgICAgICAgICAgICAgICAgICA9IDMsICAgICAgLyohPCBSVEMgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEZMQVNIX0lSUW4gICAgICAgICAgICAgICAgICA9IDQsICAgICAgLyohPCBGTEFTSCBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFJDQ19JUlFuICAgICAgICAgICAgICAgICAgICA9IDUsICAgICAgLyohPCBSQ0MgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEkwX0lSUW4gICAgICAgICAgICAgICAgICA9IDYsICAgICAgLyohPCBFWFRJIExpbmUwIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEkxX0lSUW4gICAgICAgICAgICAgICAgICA9IDcsICAgICAgLyohPCBFWFRJIExpbmUxIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEkyX0lSUW4gICAgICAgICAgICAgICAgICA9IDgsICAgICAgLyohPCBFWFRJIExpbmUyIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEkzX0lSUW4gICAgICAgICAgICAgICAgICA9IDksICAgICAgLyohPCBFWFRJIExpbmUzIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIEVYVEk0X0lSUW4gICAgICAgICAgICAgICAgICA9IDEwLCAgICAgLyohPCBFWFRJIExpbmU0IEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDFfSVJRbiAgICAgICAgICA9IDExLCAgICAgLyohPCBETUExIENoYW5uZWwgMSBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDJfSVJRbiAgICAgICAgICA9IDEyLCAgICAgLyohPCBETUExIENoYW5uZWwgMiBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDNfSVJRbiAgICAgICAgICA9IDEzLCAgICAgLyohPCBETUExIENoYW5uZWwgMyBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDRfSVJRbiAgICAgICAgICA9IDE0LCAgICAgLyohPCBETUExIENoYW5uZWwgNCBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDVfSVJRbiAgICAgICAgICA9IDE1LCAgICAgLyohPCBETUExIENoYW5uZWwgNSBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDZfSVJRbiAgICAgICAgICA9IDE2LCAgICAgLyohPCBETUExIENoYW5uZWwgNiBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIERNQTFfQ2hhbm5lbDdfSVJRbiAgICAgICAgICA9IDE3LCAgICAgLyohPCBETUExIENoYW5uZWwgNyBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICovDQogIEFEQzFfSVJRbiAgICAgICAgICAgICAgICAgICA9IDE4LCAgICAgLyohPCBBREMxIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFVTQl9IUF9JUlFuICAgICAgICAgICAgICAgICA9IDE5LCAgICAgLyohPCBVU0IgRGV2aWNlIEhpZ2ggUHJpb3JpdHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQogIFVTQl9MUF9JUlFuICAgICAgICAgICAgICAgICA9IDIwLCAgICAgLyohPCBVU0IgRGV2aWNlIExvdyBQcmlvcml0eSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovIA0KICBFWFRJOV81X0lSUW4gICAgICAgICAgICAgICAgPSAyMywgICAgIC8qITwgRXh0ZXJuYWwgTGluZVs5OjVdIEludGVycnVwdHMgICAgICAgICAgICAgICAgICAgICAgICAqLw0KICBUSU0yX0lSUW4gICAgICAgICAgICAgICAgICAgPSAyOCwgICAgIC8qITwgVElNMiBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KICBUSU0zX0lSUW4gICAgICAgICAgICAgICAgICAgPSAyOSwgICAgIC8qITwgVElNMyBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KICBJMkMxX0VWX0lSUW4gICAgICAgICAgICAgICAgPSAzMSwgICAgIC8qITwgSTJDMSBFdmVudCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KICBJMkMxX0VSX0lSUW4gICAgICAgICAgICAgICAgPSAzMiwgICAgIC8qITwgSTJDMSBFcnJvciBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KICBTUEkxX0lSUW4gICAgICAgICAgICAgICAgICAgPSAzNSwgICAgIC8qITwgU1BJMSBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KICBVU0FSVDFfSVJRbiAgICAgICAgICAgICAgICAgPSAzNywgICAgIC8qITwgVVNBUlQxIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KICBVU0FSVDJfSVJRbiAgICAgICAgICAgICAgICAgPSAzOCwgICAgIC8qITwgVVNBUlQyIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KICBFWFRJMTVfMTBfSVJRbiAgICAgICAgICAgICAgPSA0MCwgICAgIC8qITwgRXh0ZXJuYWwgTGluZVsxNToxMF0gSW50ZXJydXB0cyAgICAgICAgICAgICAgICAgICAgICAqLw0KICBSVENfQWxhcm1fSVJRbiAgICAgICAgICAgICAgPSA0MSwgICAgIC8qITwgUlRDIEFsYXJtIHRocm91Z2ggRVhUSSBMaW5lIEludGVycnVwdCAgICAgICAgICAgICAgICAqLw0KICBVU0JXYWtlVXBfSVJRbiAgICAgICAgICAgICAgPSA0MiwgICAgIC8qITwgVVNCIERldmljZSBXYWtlVXAgZnJvbSBzdXNwZW5kIHRocm91Z2ggRVhUSSBMaW5lIEludGVycnVwdCAqLw0KfSBJUlFuX1R5cGU7DQoNCi8qKg0KICAqIEB9DQogICovDQoNCiNpbmNsdWRlICJjb3JlX2NtMy5oIg0KI2luY2x1ZGUgInN5c3RlbV9zdG0zMmYxeHguaCINCiNpbmNsdWRlIDxzdGRpbnQuaD4NCg0KLyoqIEBhZGR0b2dyb3VwIFBlcmlwaGVyYWxfcmVnaXN0ZXJzX3N0cnVjdHVyZXMNCiAgKiBAew0KICAqLyAgIA0KDQovKiogDQogICogQGJyaWVmIEFuYWxvZyB0byBEaWdpdGFsIENvbnZlcnRlciAgDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgU1I7DQogIF9fSU8gdWludDMyX3QgQ1IxOw0KICBfX0lPIHVpbnQzMl90IENSMjsNCiAgX19JTyB1aW50MzJfdCBTTVBSMTsNCiAgX19JTyB1aW50MzJfdCBTTVBSMjsNCiAgX19JTyB1aW50MzJfdCBKT0ZSMTsNCiAgX19JTyB1aW50MzJfdCBKT0ZSMjsNCiAgX19JTyB1aW50MzJfdCBKT0ZSMzsNCiAgX19JTyB1aW50MzJfdCBKT0ZSNDsNCiAgX19JTyB1aW50MzJfdCBIVFI7DQogIF9fSU8gdWludDMyX3QgTFRSOw0KICBfX0lPIHVpbnQzMl90IFNRUjE7DQogIF9fSU8gdWludDMyX3QgU1FSMjsNCiAgX19JTyB1aW50MzJfdCBTUVIzOw0KICBfX0lPIHVpbnQzMl90IEpTUVI7DQogIF9fSU8gdWludDMyX3QgSkRSMTsNCiAgX19JTyB1aW50MzJfdCBKRFIyOw0KICBfX0lPIHVpbnQzMl90IEpEUjM7DQogIF9fSU8gdWludDMyX3QgSkRSNDsNCiAgX19JTyB1aW50MzJfdCBEUjsNCn0gQURDX1R5cGVEZWY7DQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgU1I7ICAgICAgICAgICAgICAgLyohPCBBREMgc3RhdHVzIHJlZ2lzdGVyLCAgICB1c2VkIGZvciBBREMgbXVsdGltb2RlIChiaXRzIGNvbW1vbiB0byBzZXZlcmFsIEFEQyBpbnN0YW5jZXMpLiBBZGRyZXNzIG9mZnNldDogQURDMSBiYXNlIGFkZHJlc3MgICAgICAgICAqLw0KICBfX0lPIHVpbnQzMl90IENSMTsgICAgICAgICAgICAgIC8qITwgQURDIGNvbnRyb2wgcmVnaXN0ZXIgMSwgdXNlZCBmb3IgQURDIG11bHRpbW9kZSAoYml0cyBjb21tb24gdG8gc2V2ZXJhbCBBREMgaW5zdGFuY2VzKS4gQWRkcmVzcyBvZmZzZXQ6IEFEQzEgYmFzZSBhZGRyZXNzICsgMHgwNCAgKi8NCiAgX19JTyB1aW50MzJfdCBDUjI7ICAgICAgICAgICAgICAvKiE8IEFEQyBjb250cm9sIHJlZ2lzdGVyIDIsIHVzZWQgZm9yIEFEQyBtdWx0aW1vZGUgKGJpdHMgY29tbW9uIHRvIHNldmVyYWwgQURDIGluc3RhbmNlcykuIEFkZHJlc3Mgb2Zmc2V0OiBBREMxIGJhc2UgYWRkcmVzcyArIDB4MDggICovDQogIHVpbnQzMl90ICBSRVNFUlZFRFsxNl07DQogIF9fSU8gdWludDMyX3QgRFI7ICAgICAgICAgICAgICAgLyohPCBBREMgZGF0YSByZWdpc3RlciwgICAgICB1c2VkIGZvciBBREMgbXVsdGltb2RlIChiaXRzIGNvbW1vbiB0byBzZXZlcmFsIEFEQyBpbnN0YW5jZXMpLiBBZGRyZXNzIG9mZnNldDogQURDMSBiYXNlIGFkZHJlc3MgKyAweDRDICAqLw0KfSBBRENfQ29tbW9uX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgQmFja3VwIFJlZ2lzdGVycyAgDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIHVpbnQzMl90ICBSRVNFUlZFRDA7DQogIF9fSU8gdWludDMyX3QgRFIxOw0KICBfX0lPIHVpbnQzMl90IERSMjsNCiAgX19JTyB1aW50MzJfdCBEUjM7DQogIF9fSU8gdWludDMyX3QgRFI0Ow0KICBfX0lPIHVpbnQzMl90IERSNTsNCiAgX19JTyB1aW50MzJfdCBEUjY7DQogIF9fSU8gdWludDMyX3QgRFI3Ow0KICBfX0lPIHVpbnQzMl90IERSODsNCiAgX19JTyB1aW50MzJfdCBEUjk7DQogIF9fSU8gdWludDMyX3QgRFIxMDsNCiAgX19JTyB1aW50MzJfdCBSVENDUjsNCiAgX19JTyB1aW50MzJfdCBDUjsNCiAgX19JTyB1aW50MzJfdCBDU1I7DQp9IEJLUF9UeXBlRGVmOw0KICANCg0KLyoqIA0KICAqIEBicmllZiBDUkMgY2FsY3VsYXRpb24gdW5pdCANCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBEUjsgICAgICAgICAgIC8qITwgQ1JDIERhdGEgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDAgKi8NCiAgX19JTyB1aW50OF90ICBJRFI7ICAgICAgICAgIC8qITwgQ1JDIEluZGVwZW5kZW50IGRhdGEgcmVnaXN0ZXIsICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDQgKi8NCiAgdWludDhfdCAgICAgICBSRVNFUlZFRDA7ICAgIC8qITwgUmVzZXJ2ZWQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDUgKi8NCiAgdWludDE2X3QgICAgICBSRVNFUlZFRDE7ICAgIC8qITwgUmVzZXJ2ZWQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDYgKi8gIA0KICBfX0lPIHVpbnQzMl90IENSOyAgICAgICAgICAgLyohPCBDUkMgQ29udHJvbCByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwOCAqLyANCn0gQ1JDX1R5cGVEZWY7DQoNCg0KLyoqIA0KICAqIEBicmllZiBEZWJ1ZyBNQ1UNCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBJRENPREU7DQogIF9fSU8gdWludDMyX3QgQ1I7DQp9REJHTUNVX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgRE1BIENvbnRyb2xsZXINCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBDQ1I7DQogIF9fSU8gdWludDMyX3QgQ05EVFI7DQogIF9fSU8gdWludDMyX3QgQ1BBUjsNCiAgX19JTyB1aW50MzJfdCBDTUFSOw0KfSBETUFfQ2hhbm5lbF9UeXBlRGVmOw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IElTUjsNCiAgX19JTyB1aW50MzJfdCBJRkNSOw0KfSBETUFfVHlwZURlZjsNCg0KDQoNCi8qKiANCiAgKiBAYnJpZWYgRXh0ZXJuYWwgSW50ZXJydXB0L0V2ZW50IENvbnRyb2xsZXINCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBJTVI7DQogIF9fSU8gdWludDMyX3QgRU1SOw0KICBfX0lPIHVpbnQzMl90IFJUU1I7DQogIF9fSU8gdWludDMyX3QgRlRTUjsNCiAgX19JTyB1aW50MzJfdCBTV0lFUjsNCiAgX19JTyB1aW50MzJfdCBQUjsNCn0gRVhUSV9UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIEZMQVNIIFJlZ2lzdGVycw0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IEFDUjsNCiAgX19JTyB1aW50MzJfdCBLRVlSOw0KICBfX0lPIHVpbnQzMl90IE9QVEtFWVI7DQogIF9fSU8gdWludDMyX3QgU1I7DQogIF9fSU8gdWludDMyX3QgQ1I7DQogIF9fSU8gdWludDMyX3QgQVI7DQogIF9fSU8gdWludDMyX3QgUkVTRVJWRUQ7DQogIF9fSU8gdWludDMyX3QgT0JSOw0KICBfX0lPIHVpbnQzMl90IFdSUFI7DQp9IEZMQVNIX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgT3B0aW9uIEJ5dGVzIFJlZ2lzdGVycw0KICAqLw0KICANCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDE2X3QgUkRQOw0KICBfX0lPIHVpbnQxNl90IFVTRVI7DQogIF9fSU8gdWludDE2X3QgRGF0YTA7DQogIF9fSU8gdWludDE2X3QgRGF0YTE7DQogIF9fSU8gdWludDE2X3QgV1JQMDsNCiAgX19JTyB1aW50MTZfdCBXUlAxOw0KICBfX0lPIHVpbnQxNl90IFdSUDI7DQogIF9fSU8gdWludDE2X3QgV1JQMzsNCn0gT0JfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBHZW5lcmFsIFB1cnBvc2UgSS9PDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgQ1JMOw0KICBfX0lPIHVpbnQzMl90IENSSDsNCiAgX19JTyB1aW50MzJfdCBJRFI7DQogIF9fSU8gdWludDMyX3QgT0RSOw0KICBfX0lPIHVpbnQzMl90IEJTUlI7DQogIF9fSU8gdWludDMyX3QgQlJSOw0KICBfX0lPIHVpbnQzMl90IExDS1I7DQp9IEdQSU9fVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBBbHRlcm5hdGUgRnVuY3Rpb24gSS9PDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgRVZDUjsNCiAgX19JTyB1aW50MzJfdCBNQVBSOw0KICBfX0lPIHVpbnQzMl90IEVYVElDUls0XTsNCiAgdWludDMyX3QgUkVTRVJWRUQwOw0KICBfX0lPIHVpbnQzMl90IE1BUFIyOyAgDQp9IEFGSU9fVHlwZURlZjsNCi8qKiANCiAgKiBAYnJpZWYgSW50ZXIgSW50ZWdyYXRlZCBDaXJjdWl0IEludGVyZmFjZQ0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IENSMTsNCiAgX19JTyB1aW50MzJfdCBDUjI7DQogIF9fSU8gdWludDMyX3QgT0FSMTsNCiAgX19JTyB1aW50MzJfdCBPQVIyOw0KICBfX0lPIHVpbnQzMl90IERSOw0KICBfX0lPIHVpbnQzMl90IFNSMTsNCiAgX19JTyB1aW50MzJfdCBTUjI7DQogIF9fSU8gdWludDMyX3QgQ0NSOw0KICBfX0lPIHVpbnQzMl90IFRSSVNFOw0KfSBJMkNfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBJbmRlcGVuZGVudCBXQVRDSERPRw0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IEtSOyAgICAgICAgICAgLyohPCBLZXkgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAqLw0KICBfX0lPIHVpbnQzMl90IFBSOyAgICAgICAgICAgLyohPCBQcmVzY2FsZXIgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLw0KICBfX0lPIHVpbnQzMl90IFJMUjsgICAgICAgICAgLyohPCBSZWxvYWQgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwOCAqLw0KICBfX0lPIHVpbnQzMl90IFNSOyAgICAgICAgICAgLyohPCBTdGF0dXMgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwQyAqLw0KfSBJV0RHX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgUG93ZXIgQ29udHJvbA0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IENSOw0KICBfX0lPIHVpbnQzMl90IENTUjsNCn0gUFdSX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgUmVzZXQgYW5kIENsb2NrIENvbnRyb2wNCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBDUjsNCiAgX19JTyB1aW50MzJfdCBDRkdSOw0KICBfX0lPIHVpbnQzMl90IENJUjsNCiAgX19JTyB1aW50MzJfdCBBUEIyUlNUUjsNCiAgX19JTyB1aW50MzJfdCBBUEIxUlNUUjsNCiAgX19JTyB1aW50MzJfdCBBSEJFTlI7DQogIF9fSU8gdWludDMyX3QgQVBCMkVOUjsNCiAgX19JTyB1aW50MzJfdCBBUEIxRU5SOw0KICBfX0lPIHVpbnQzMl90IEJEQ1I7DQogIF9fSU8gdWludDMyX3QgQ1NSOw0KDQoNCn0gUkNDX1R5cGVEZWY7DQoNCi8qKiANCiAgKiBAYnJpZWYgUmVhbC1UaW1lIENsb2NrDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgQ1JIOw0KICBfX0lPIHVpbnQzMl90IENSTDsNCiAgX19JTyB1aW50MzJfdCBQUkxIOw0KICBfX0lPIHVpbnQzMl90IFBSTEw7DQogIF9fSU8gdWludDMyX3QgRElWSDsNCiAgX19JTyB1aW50MzJfdCBESVZMOw0KICBfX0lPIHVpbnQzMl90IENOVEg7DQogIF9fSU8gdWludDMyX3QgQ05UTDsNCiAgX19JTyB1aW50MzJfdCBBTFJIOw0KICBfX0lPIHVpbnQzMl90IEFMUkw7DQp9IFJUQ19UeXBlRGVmOw0KDQovKiogDQogICogQGJyaWVmIFNEIGhvc3QgSW50ZXJmYWNlDQogICovDQoNCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDMyX3QgUE9XRVI7DQogIF9fSU8gdWludDMyX3QgQ0xLQ1I7DQogIF9fSU8gdWludDMyX3QgQVJHOw0KICBfX0lPIHVpbnQzMl90IENNRDsNCiAgX19JIHVpbnQzMl90IFJFU1BDTUQ7DQogIF9fSSB1aW50MzJfdCBSRVNQMTsNCiAgX19JIHVpbnQzMl90IFJFU1AyOw0KICBfX0kgdWludDMyX3QgUkVTUDM7DQogIF9fSSB1aW50MzJfdCBSRVNQNDsNCiAgX19JTyB1aW50MzJfdCBEVElNRVI7DQogIF9fSU8gdWludDMyX3QgRExFTjsNCiAgX19JTyB1aW50MzJfdCBEQ1RSTDsNCiAgX19JIHVpbnQzMl90IERDT1VOVDsNCiAgX19JIHVpbnQzMl90IFNUQTsNCiAgX19JTyB1aW50MzJfdCBJQ1I7DQogIF9fSU8gdWludDMyX3QgTUFTSzsNCiAgdWludDMyX3QgIFJFU0VSVkVEMFsyXTsNCiAgX19JIHVpbnQzMl90IEZJRk9DTlQ7DQogIHVpbnQzMl90ICBSRVNFUlZFRDFbMTNdOw0KICBfX0lPIHVpbnQzMl90IEZJRk87DQp9IFNESU9fVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBTZXJpYWwgUGVyaXBoZXJhbCBJbnRlcmZhY2UNCiAgKi8NCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBDUjE7DQogIF9fSU8gdWludDMyX3QgQ1IyOw0KICBfX0lPIHVpbnQzMl90IFNSOw0KICBfX0lPIHVpbnQzMl90IERSOw0KICBfX0lPIHVpbnQzMl90IENSQ1BSOw0KICBfX0lPIHVpbnQzMl90IFJYQ1JDUjsNCiAgX19JTyB1aW50MzJfdCBUWENSQ1I7DQogIF9fSU8gdWludDMyX3QgSTJTQ0ZHUjsNCn0gU1BJX1R5cGVEZWY7DQoNCi8qKg0KICAqIEBicmllZiBUSU0gVGltZXJzDQogICovDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IENSMTsgICAgICAgICAgICAgLyohPCBUSU0gY29udHJvbCByZWdpc3RlciAxLCAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAqLw0KICBfX0lPIHVpbnQzMl90IENSMjsgICAgICAgICAgICAgLyohPCBUSU0gY29udHJvbCByZWdpc3RlciAyLCAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLw0KICBfX0lPIHVpbnQzMl90IFNNQ1I7ICAgICAgICAgICAgLyohPCBUSU0gc2xhdmUgTW9kZSBDb250cm9sIHJlZ2lzdGVyLCAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwOCAqLw0KICBfX0lPIHVpbnQzMl90IERJRVI7ICAgICAgICAgICAgLyohPCBUSU0gRE1BL2ludGVycnVwdCBlbmFibGUgcmVnaXN0ZXIsICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwQyAqLw0KICBfX0lPIHVpbnQzMl90IFNSOyAgICAgICAgICAgICAgLyohPCBUSU0gc3RhdHVzIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxMCAqLw0KICBfX0lPIHVpbnQzMl90IEVHUjsgICAgICAgICAgICAgLyohPCBUSU0gZXZlbnQgZ2VuZXJhdGlvbiByZWdpc3RlciwgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxNCAqLw0KICBfX0lPIHVpbnQzMl90IENDTVIxOyAgICAgICAgICAgLyohPCBUSU0gIGNhcHR1cmUvY29tcGFyZSBtb2RlIHJlZ2lzdGVyIDEsICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxOCAqLw0KICBfX0lPIHVpbnQzMl90IENDTVIyOyAgICAgICAgICAgLyohPCBUSU0gIGNhcHR1cmUvY29tcGFyZSBtb2RlIHJlZ2lzdGVyIDIsICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxQyAqLw0KICBfX0lPIHVpbnQzMl90IENDRVI7ICAgICAgICAgICAgLyohPCBUSU0gY2FwdHVyZS9jb21wYXJlIGVuYWJsZSByZWdpc3RlciwgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgyMCAqLw0KICBfX0lPIHVpbnQzMl90IENOVDsgICAgICAgICAgICAgLyohPCBUSU0gY291bnRlciByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgyNCAqLw0KICBfX0lPIHVpbnQzMl90IFBTQzsgICAgICAgICAgICAgLyohPCBUSU0gcHJlc2NhbGVyIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgyOCAqLw0KICBfX0lPIHVpbnQzMl90IEFSUjsgICAgICAgICAgICAgLyohPCBUSU0gYXV0by1yZWxvYWQgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgyQyAqLw0KICBfX0lPIHVpbnQzMl90IFJDUjsgICAgICAgICAgICAgLyohPCBUSU0gIHJlcGV0aXRpb24gY291bnRlciByZWdpc3RlciwgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgzMCAqLw0KICBfX0lPIHVpbnQzMl90IENDUjE7ICAgICAgICAgICAgLyohPCBUSU0gY2FwdHVyZS9jb21wYXJlIHJlZ2lzdGVyIDEsICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgzNCAqLw0KICBfX0lPIHVpbnQzMl90IENDUjI7ICAgICAgICAgICAgLyohPCBUSU0gY2FwdHVyZS9jb21wYXJlIHJlZ2lzdGVyIDIsICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgzOCAqLw0KICBfX0lPIHVpbnQzMl90IENDUjM7ICAgICAgICAgICAgLyohPCBUSU0gY2FwdHVyZS9jb21wYXJlIHJlZ2lzdGVyIDMsICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgzQyAqLw0KICBfX0lPIHVpbnQzMl90IENDUjQ7ICAgICAgICAgICAgLyohPCBUSU0gY2FwdHVyZS9jb21wYXJlIHJlZ2lzdGVyIDQsICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHg0MCAqLw0KICBfX0lPIHVpbnQzMl90IEJEVFI7ICAgICAgICAgICAgLyohPCBUSU0gYnJlYWsgYW5kIGRlYWQtdGltZSByZWdpc3RlciwgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHg0NCAqLw0KICBfX0lPIHVpbnQzMl90IERDUjsgICAgICAgICAgICAgLyohPCBUSU0gRE1BIGNvbnRyb2wgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHg0OCAqLw0KICBfX0lPIHVpbnQzMl90IERNQVI7ICAgICAgICAgICAgLyohPCBUSU0gRE1BIGFkZHJlc3MgZm9yIGZ1bGwgdHJhbnNmZXIgcmVnaXN0ZXIsICBBZGRyZXNzIG9mZnNldDogMHg0QyAqLw0KICBfX0lPIHVpbnQzMl90IE9SOyAgICAgICAgICAgICAgLyohPCBUSU0gb3B0aW9uIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHg1MCAqLw0KfVRJTV9UeXBlRGVmOw0KDQoNCi8qKiANCiAgKiBAYnJpZWYgVW5pdmVyc2FsIFN5bmNocm9ub3VzIEFzeW5jaHJvbm91cyBSZWNlaXZlciBUcmFuc21pdHRlcg0KICAqLw0KIA0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgX19JTyB1aW50MzJfdCBTUjsgICAgICAgICAvKiE8IFVTQVJUIFN0YXR1cyByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDAgKi8NCiAgX19JTyB1aW50MzJfdCBEUjsgICAgICAgICAvKiE8IFVTQVJUIERhdGEgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDQgKi8NCiAgX19JTyB1aW50MzJfdCBCUlI7ICAgICAgICAvKiE8IFVTQVJUIEJhdWQgcmF0ZSByZWdpc3RlciwgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDggKi8NCiAgX19JTyB1aW50MzJfdCBDUjE7ICAgICAgICAvKiE8IFVTQVJUIENvbnRyb2wgcmVnaXN0ZXIgMSwgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MEMgKi8NCiAgX19JTyB1aW50MzJfdCBDUjI7ICAgICAgICAvKiE8IFVTQVJUIENvbnRyb2wgcmVnaXN0ZXIgMiwgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MTAgKi8NCiAgX19JTyB1aW50MzJfdCBDUjM7ICAgICAgICAvKiE8IFVTQVJUIENvbnRyb2wgcmVnaXN0ZXIgMywgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MTQgKi8NCiAgX19JTyB1aW50MzJfdCBHVFBSOyAgICAgICAvKiE8IFVTQVJUIEd1YXJkIHRpbWUgYW5kIHByZXNjYWxlciByZWdpc3RlciwgQWRkcmVzcyBvZmZzZXQ6IDB4MTggKi8NCn0gVVNBUlRfVHlwZURlZjsNCg0KLyoqIA0KICAqIEBicmllZiBVbml2ZXJzYWwgU2VyaWFsIEJ1cyBGdWxsIFNwZWVkIERldmljZQ0KICAqLw0KICANCnR5cGVkZWYgc3RydWN0DQp7DQogIF9fSU8gdWludDE2X3QgRVAwUjsgICAgICAgICAgICAgICAgIC8qITwgVVNCIEVuZHBvaW50IDAgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDAwICovIA0KICBfX0lPIHVpbnQxNl90IFJFU0VSVkVEMDsgICAgICAgICAgICAvKiE8IFJlc2VydmVkICovICAgICANCiAgX19JTyB1aW50MTZfdCBFUDFSOyAgICAgICAgICAgICAgICAgLyohPCBVU0IgRW5kcG9pbnQgMSByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDQgKi8NCiAgX19JTyB1aW50MTZfdCBSRVNFUlZFRDE7ICAgICAgICAgICAgLyohPCBSZXNlcnZlZCAqLyAgICAgICANCiAgX19JTyB1aW50MTZfdCBFUDJSOyAgICAgICAgICAgICAgICAgLyohPCBVU0IgRW5kcG9pbnQgMiByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDggKi8NCiAgX19JTyB1aW50MTZfdCBSRVNFUlZFRDI7ICAgICAgICAgICAgLyohPCBSZXNlcnZlZCAqLyAgICAgICANCiAgX19JTyB1aW50MTZfdCBFUDNSOyAgICAgICAgICAgICAgICAgLyohPCBVU0IgRW5kcG9pbnQgMyByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MEMgKi8gDQogIF9fSU8gdWludDE2X3QgUkVTRVJWRUQzOyAgICAgICAgICAgIC8qITwgUmVzZXJ2ZWQgKi8gICAgICAgDQogIF9fSU8gdWludDE2X3QgRVA0UjsgICAgICAgICAgICAgICAgIC8qITwgVVNCIEVuZHBvaW50IDQgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDEwICovDQogIF9fSU8gdWludDE2X3QgUkVTRVJWRUQ0OyAgICAgICAgICAgIC8qITwgUmVzZXJ2ZWQgKi8gICAgICAgDQogIF9fSU8gdWludDE2X3QgRVA1UjsgICAgICAgICAgICAgICAgIC8qITwgVVNCIEVuZHBvaW50IDUgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDE0ICovDQogIF9fSU8gdWludDE2X3QgUkVTRVJWRUQ1OyAgICAgICAgICAgIC8qITwgUmVzZXJ2ZWQgKi8gICAgICAgDQogIF9fSU8gdWludDE2X3QgRVA2UjsgICAgICAgICAgICAgICAgIC8qITwgVVNCIEVuZHBvaW50IDYgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDE4ICovDQogIF9fSU8gdWludDE2X3QgUkVTRVJWRUQ2OyAgICAgICAgICAgIC8qITwgUmVzZXJ2ZWQgKi8gICAgICAgDQogIF9fSU8gdWludDE2X3QgRVA3UjsgICAgICAgICAgICAgICAgIC8qITwgVVNCIEVuZHBvaW50IDcgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDFDICovDQogIF9fSU8gdWludDE2X3QgUkVTRVJWRUQ3WzE3XTsgICAgICAgIC8qITwgUmVzZXJ2ZWQgKi8gICAgIA0KICBfX0lPIHVpbnQxNl90IENOVFI7ICAgICAgICAgICAgICAgICAvKiE8IENvbnRyb2wgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHg0MCAqLw0KICBfX0lPIHVpbnQxNl90IFJFU0VSVkVEODsgICAgICAgICAgICAvKiE8IFJlc2VydmVkICovICAgICAgIA0KICBfX0lPIHVpbnQxNl90IElTVFI7ICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBzdGF0dXMgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHg0NCAqLw0KICBfX0lPIHVpbnQxNl90IFJFU0VSVkVEOTsgICAgICAgICAgICAvKiE8IFJlc2VydmVkICovICAgICAgIA0KICBfX0lPIHVpbnQxNl90IEZOUjsgICAgICAgICAgICAgICAgICAvKiE8IEZyYW1lIG51bWJlciByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHg0OCAqLw0KICBfX0lPIHVpbnQxNl90IFJFU0VSVkVEQTsgICAgICAgICAgICAvKiE8IFJlc2VydmVkICovICAgICAgIA0KICBfX0lPIHVpbnQxNl90IERBRERSOyAgICAgICAgICAgICAgICAvKiE8IERldmljZSBhZGRyZXNzIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHg0QyAqLw0KICBfX0lPIHVpbnQxNl90IFJFU0VSVkVEQjsgICAgICAgICAgICAvKiE8IFJlc2VydmVkICovICAgICAgIA0KICBfX0lPIHVpbnQxNl90IEJUQUJMRTsgICAgICAgICAgICAgICAvKiE8IEJ1ZmZlciBUYWJsZSBhZGRyZXNzIHJlZ2lzdGVyLCAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHg1MCAqLw0KICBfX0lPIHVpbnQxNl90IFJFU0VSVkVEQzsgICAgICAgICAgICAvKiE8IFJlc2VydmVkICovICAgICAgIA0KfSBVU0JfVHlwZURlZjsNCg0KDQovKiogDQogICogQGJyaWVmIFdpbmRvdyBXQVRDSERPRw0KICAqLw0KDQp0eXBlZGVmIHN0cnVjdA0Kew0KICBfX0lPIHVpbnQzMl90IENSOyAgIC8qITwgV1dERyBDb250cm9sIHJlZ2lzdGVyLCAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAqLw0KICBfX0lPIHVpbnQzMl90IENGUjsgIC8qITwgV1dERyBDb25maWd1cmF0aW9uIHJlZ2lzdGVyLCBBZGRyZXNzIG9mZnNldDogMHgwNCAqLw0KICBfX0lPIHVpbnQzMl90IFNSOyAgIC8qITwgV1dERyBTdGF0dXMgcmVnaXN0ZXIsICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwOCAqLw0KfSBXV0RHX1R5cGVEZWY7DQoNCi8qKg0KICAqIEB9DQogICovDQogIA0KLyoqIEBhZGR0b2dyb3VwIFBlcmlwaGVyYWxfbWVtb3J5X21hcA0KICAqIEB7DQogICovDQoNCg0KI2RlZmluZSBGTEFTSF9CQVNFICAgICAgICAgICAgMHgwODAwMDAwMFUgLyohPCBGTEFTSCBiYXNlIGFkZHJlc3MgaW4gdGhlIGFsaWFzIHJlZ2lvbiAqLw0KI2RlZmluZSBGTEFTSF9CQU5LMV9FTkQgICAgICAgMHgwODAwN0ZGRlUgLyohPCBGTEFTSCBFTkQgYWRkcmVzcyBvZiBiYW5rMSAqLw0KI2RlZmluZSBTUkFNX0JBU0UgICAgICAgICAgICAgMHgyMDAwMDAwMFUgLyohPCBTUkFNIGJhc2UgYWRkcmVzcyBpbiB0aGUgYWxpYXMgcmVnaW9uICovDQojZGVmaW5lIFBFUklQSF9CQVNFICAgICAgICAgICAweDQwMDAwMDAwVSAvKiE8IFBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzIGluIHRoZSBhbGlhcyByZWdpb24gKi8NCg0KI2RlZmluZSBTUkFNX0JCX0JBU0UgICAgICAgICAgMHgyMjAwMDAwMFUgLyohPCBTUkFNIGJhc2UgYWRkcmVzcyBpbiB0aGUgYml0LWJhbmQgcmVnaW9uICovDQojZGVmaW5lIFBFUklQSF9CQl9CQVNFICAgICAgICAweDQyMDAwMDAwVSAvKiE8IFBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzIGluIHRoZSBiaXQtYmFuZCByZWdpb24gKi8NCg0KDQovKiE8IFBlcmlwaGVyYWwgbWVtb3J5IG1hcCAqLw0KI2RlZmluZSBBUEIxUEVSSVBIX0JBU0UgICAgICAgUEVSSVBIX0JBU0UNCiNkZWZpbmUgQVBCMlBFUklQSF9CQVNFICAgICAgIChQRVJJUEhfQkFTRSArIDB4MDAwMTAwMDBVKQ0KI2RlZmluZSBBSEJQRVJJUEhfQkFTRSAgICAgICAgKFBFUklQSF9CQVNFICsgMHgwMDAyMDAwMFUpDQoNCiNkZWZpbmUgVElNMl9CQVNFICAgICAgICAgICAgIChBUEIxUEVSSVBIX0JBU0UgKyAweDAwMDAwMDAwVSkNCiNkZWZpbmUgVElNM19CQVNFICAgICAgICAgICAgIChBUEIxUEVSSVBIX0JBU0UgKyAweDAwMDAwNDAwVSkNCiNkZWZpbmUgUlRDX0JBU0UgICAgICAgICAgICAgIChBUEIxUEVSSVBIX0JBU0UgKyAweDAwMDAyODAwVSkNCiNkZWZpbmUgV1dER19CQVNFICAgICAgICAgICAgIChBUEIxUEVSSVBIX0JBU0UgKyAweDAwMDAyQzAwVSkNCiNkZWZpbmUgSVdER19CQVNFICAgICAgICAgICAgIChBUEIxUEVSSVBIX0JBU0UgKyAweDAwMDAzMDAwVSkNCiNkZWZpbmUgVVNBUlQyX0JBU0UgICAgICAgICAgIChBUEIxUEVSSVBIX0JBU0UgKyAweDAwMDA0NDAwVSkNCiNkZWZpbmUgSTJDMV9CQVNFICAgICAgICAgICAgIChBUEIxUEVSSVBIX0JBU0UgKyAweDAwMDA1NDAwVSkNCiNkZWZpbmUgQktQX0JBU0UgICAgICAgICAgICAgIChBUEIxUEVSSVBIX0JBU0UgKyAweDAwMDA2QzAwVSkNCiNkZWZpbmUgUFdSX0JBU0UgICAgICAgICAgICAgIChBUEIxUEVSSVBIX0JBU0UgKyAweDAwMDA3MDAwVSkNCiNkZWZpbmUgQUZJT19CQVNFICAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAwMDAwVSkNCiNkZWZpbmUgRVhUSV9CQVNFICAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAwNDAwVSkNCiNkZWZpbmUgR1BJT0FfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAwODAwVSkNCiNkZWZpbmUgR1BJT0JfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAwQzAwVSkNCiNkZWZpbmUgR1BJT0NfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAxMDAwVSkNCiNkZWZpbmUgR1BJT0RfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAxNDAwVSkNCiNkZWZpbmUgQURDMV9CQVNFICAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAyNDAwVSkNCiNkZWZpbmUgU1BJMV9CQVNFICAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAzMDAwVSkNCiNkZWZpbmUgVVNBUlQxX0JBU0UgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDAwMDAzODAwVSkNCg0KI2RlZmluZSBTRElPX0JBU0UgICAgICAgICAgICAgKFBFUklQSF9CQVNFICsgMHgwMDAxODAwMFUpDQoNCiNkZWZpbmUgRE1BMV9CQVNFICAgICAgICAgICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDAwMDBVKQ0KI2RlZmluZSBETUExX0NoYW5uZWwxX0JBU0UgICAgKEFIQlBFUklQSF9CQVNFICsgMHgwMDAwMDAwOFUpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDJfQkFTRSAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAwMDFDVSkNCiNkZWZpbmUgRE1BMV9DaGFubmVsM19CQVNFICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDAwMzBVKQ0KI2RlZmluZSBETUExX0NoYW5uZWw0X0JBU0UgICAgKEFIQlBFUklQSF9CQVNFICsgMHgwMDAwMDA0NFUpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDVfQkFTRSAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAwMDU4VSkNCiNkZWZpbmUgRE1BMV9DaGFubmVsNl9CQVNFICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDAwNkNVKQ0KI2RlZmluZSBETUExX0NoYW5uZWw3X0JBU0UgICAgKEFIQlBFUklQSF9CQVNFICsgMHgwMDAwMDA4MFUpDQojZGVmaW5lIFJDQ19CQVNFICAgICAgICAgICAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAxMDAwVSkNCiNkZWZpbmUgQ1JDX0JBU0UgICAgICAgICAgICAgIChBSEJQRVJJUEhfQkFTRSArIDB4MDAwMDMwMDBVKQ0KDQojZGVmaW5lIEZMQVNIX1JfQkFTRSAgICAgICAgICAoQUhCUEVSSVBIX0JBU0UgKyAweDAwMDAyMDAwVSkgLyohPCBGbGFzaCByZWdpc3RlcnMgYmFzZSBhZGRyZXNzICovDQojZGVmaW5lIEZMQVNIU0laRV9CQVNFICAgICAgICAweDFGRkZGN0UwVSAgICAvKiE8IEZMQVNIIFNpemUgcmVnaXN0ZXIgYmFzZSBhZGRyZXNzICovDQojZGVmaW5lIFVJRF9CQVNFICAgICAgICAgICAgICAweDFGRkZGN0U4VSAgICAvKiE8IFVuaXF1ZSBkZXZpY2UgSUQgcmVnaXN0ZXIgYmFzZSBhZGRyZXNzICovDQojZGVmaW5lIE9CX0JBU0UgICAgICAgICAgICAgICAweDFGRkZGODAwVSAgICAvKiE8IEZsYXNoIE9wdGlvbiBCeXRlcyBiYXNlIGFkZHJlc3MgKi8NCg0KDQoNCiNkZWZpbmUgREJHTUNVX0JBU0UgICAgICAgICAgMHhFMDA0MjAwMFUgLyohPCBEZWJ1ZyBNQ1UgcmVnaXN0ZXJzIGJhc2UgYWRkcmVzcyAqLw0KDQovKiBVU0IgZGV2aWNlIEZTICovDQojZGVmaW5lIFVTQl9CQVNFICAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwMDAwNUMwMFUpIC8qITwgVVNCX0lQIFBlcmlwaGVyYWwgUmVnaXN0ZXJzIGJhc2UgYWRkcmVzcyAqLw0KI2RlZmluZSBVU0JfUE1BQUREUiAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMDYwMDBVKSAvKiE8IFVTQl9JUCBQYWNrZXQgTWVtb3J5IEFyZWEgYmFzZSBhZGRyZXNzICovDQoNCg0KLyoqDQogICogQH0NCiAgKi8NCiAgDQovKiogQGFkZHRvZ3JvdXAgUGVyaXBoZXJhbF9kZWNsYXJhdGlvbg0KICAqIEB7DQogICovICANCg0KI2RlZmluZSBUSU0yICAgICAgICAgICAgICAgICgoVElNX1R5cGVEZWYgKilUSU0yX0JBU0UpDQojZGVmaW5lIFRJTTMgICAgICAgICAgICAgICAgKChUSU1fVHlwZURlZiAqKVRJTTNfQkFTRSkNCiNkZWZpbmUgUlRDICAgICAgICAgICAgICAgICAoKFJUQ19UeXBlRGVmICopUlRDX0JBU0UpDQojZGVmaW5lIFdXREcgICAgICAgICAgICAgICAgKChXV0RHX1R5cGVEZWYgKilXV0RHX0JBU0UpDQojZGVmaW5lIElXREcgICAgICAgICAgICAgICAgKChJV0RHX1R5cGVEZWYgKilJV0RHX0JBU0UpDQojZGVmaW5lIFVTQVJUMiAgICAgICAgICAgICAgKChVU0FSVF9UeXBlRGVmICopVVNBUlQyX0JBU0UpDQojZGVmaW5lIEkyQzEgICAgICAgICAgICAgICAgKChJMkNfVHlwZURlZiAqKUkyQzFfQkFTRSkNCiNkZWZpbmUgVVNCICAgICAgICAgICAgICAgICAoKFVTQl9UeXBlRGVmICopVVNCX0JBU0UpDQojZGVmaW5lIEJLUCAgICAgICAgICAgICAgICAgKChCS1BfVHlwZURlZiAqKUJLUF9CQVNFKQ0KI2RlZmluZSBQV1IgICAgICAgICAgICAgICAgICgoUFdSX1R5cGVEZWYgKilQV1JfQkFTRSkNCiNkZWZpbmUgQUZJTyAgICAgICAgICAgICAgICAoKEFGSU9fVHlwZURlZiAqKUFGSU9fQkFTRSkNCiNkZWZpbmUgRVhUSSAgICAgICAgICAgICAgICAoKEVYVElfVHlwZURlZiAqKUVYVElfQkFTRSkNCiNkZWZpbmUgR1BJT0EgICAgICAgICAgICAgICAoKEdQSU9fVHlwZURlZiAqKUdQSU9BX0JBU0UpDQojZGVmaW5lIEdQSU9CICAgICAgICAgICAgICAgKChHUElPX1R5cGVEZWYgKilHUElPQl9CQVNFKQ0KI2RlZmluZSBHUElPQyAgICAgICAgICAgICAgICgoR1BJT19UeXBlRGVmICopR1BJT0NfQkFTRSkNCiNkZWZpbmUgR1BJT0QgICAgICAgICAgICAgICAoKEdQSU9fVHlwZURlZiAqKUdQSU9EX0JBU0UpDQojZGVmaW5lIEFEQzEgICAgICAgICAgICAgICAgKChBRENfVHlwZURlZiAqKUFEQzFfQkFTRSkNCiNkZWZpbmUgQURDMV9DT01NT04gICAgICAgICAoKEFEQ19Db21tb25fVHlwZURlZiAqKUFEQzFfQkFTRSkNCiNkZWZpbmUgU1BJMSAgICAgICAgICAgICAgICAoKFNQSV9UeXBlRGVmICopU1BJMV9CQVNFKQ0KI2RlZmluZSBVU0FSVDEgICAgICAgICAgICAgICgoVVNBUlRfVHlwZURlZiAqKVVTQVJUMV9CQVNFKQ0KI2RlZmluZSBTRElPICAgICAgICAgICAgICAgICgoU0RJT19UeXBlRGVmICopU0RJT19CQVNFKQ0KI2RlZmluZSBETUExICAgICAgICAgICAgICAgICgoRE1BX1R5cGVEZWYgKilETUExX0JBU0UpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDEgICAgICAgKChETUFfQ2hhbm5lbF9UeXBlRGVmICopRE1BMV9DaGFubmVsMV9CQVNFKQ0KI2RlZmluZSBETUExX0NoYW5uZWwyICAgICAgICgoRE1BX0NoYW5uZWxfVHlwZURlZiAqKURNQTFfQ2hhbm5lbDJfQkFTRSkNCiNkZWZpbmUgRE1BMV9DaGFubmVsMyAgICAgICAoKERNQV9DaGFubmVsX1R5cGVEZWYgKilETUExX0NoYW5uZWwzX0JBU0UpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDQgICAgICAgKChETUFfQ2hhbm5lbF9UeXBlRGVmICopRE1BMV9DaGFubmVsNF9CQVNFKQ0KI2RlZmluZSBETUExX0NoYW5uZWw1ICAgICAgICgoRE1BX0NoYW5uZWxfVHlwZURlZiAqKURNQTFfQ2hhbm5lbDVfQkFTRSkNCiNkZWZpbmUgRE1BMV9DaGFubmVsNiAgICAgICAoKERNQV9DaGFubmVsX1R5cGVEZWYgKilETUExX0NoYW5uZWw2X0JBU0UpDQojZGVmaW5lIERNQTFfQ2hhbm5lbDcgICAgICAgKChETUFfQ2hhbm5lbF9UeXBlRGVmICopRE1BMV9DaGFubmVsN19CQVNFKQ0KI2RlZmluZSBSQ0MgICAgICAgICAgICAgICAgICgoUkNDX1R5cGVEZWYgKilSQ0NfQkFTRSkNCiNkZWZpbmUgQ1JDICAgICAgICAgICAgICAgICAoKENSQ19UeXBlRGVmICopQ1JDX0JBU0UpDQojZGVmaW5lIEZMQVNIICAgICAgICAgICAgICAgKChGTEFTSF9UeXBlRGVmICopRkxBU0hfUl9CQVNFKQ0KI2RlZmluZSBPQiAgICAgICAgICAgICAgICAgICgoT0JfVHlwZURlZiAqKU9CX0JBU0UpDQojZGVmaW5lIERCR01DVSAgICAgICAgICAgICAgKChEQkdNQ1VfVHlwZURlZiAqKURCR01DVV9CQVNFKQ0KDQoNCi8qKg0KICAqIEB9DQogICovDQoNCi8qKiBAYWRkdG9ncm91cCBFeHBvcnRlZF9jb25zdGFudHMNCiAgKiBAew0KICAqLw0KICANCiAgLyoqIEBhZGR0b2dyb3VwIFBlcmlwaGVyYWxfUmVnaXN0ZXJzX0JpdHNfRGVmaW5pdGlvbg0KICAqIEB7DQogICovDQogICAgDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgUGVyaXBoZXJhbCBSZWdpc3RlcnNfQml0c19EZWZpbml0aW9uICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgIENSQyBjYWxjdWxhdGlvbiB1bml0IChDUkMpICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENSQ19EUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBDUkNfRFJfRFJfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBDUkNfRFJfRFJfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgQ1JDX0RSX0RSX1BvcykgICAgIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBDUkNfRFJfRFIgICAgICAgICAgICAgICAgICAgICAgICAgICBDUkNfRFJfRFJfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgRGF0YSByZWdpc3RlciBiaXRzICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ1JDX0lEUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIENSQ19JRFJfSURSX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIENSQ19JRFJfSURSX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGVSA8PCBDUkNfSURSX0lEUl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMEZGICovDQojZGVmaW5lIENSQ19JRFJfSURSICAgICAgICAgICAgICAgICAgICAgICAgIENSQ19JRFJfSURSX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBHZW5lcmFsLXB1cnBvc2UgOC1iaXQgZGF0YSByZWdpc3RlciBiaXRzICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENSQ19DUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIENSQ19DUl9SRVNFVF9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIENSQ19DUl9SRVNFVF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IENSQ19DUl9SRVNFVF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIENSQ19DUl9SRVNFVCAgICAgICAgICAgICAgICAgICAgICAgIENSQ19DUl9SRVNFVF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBSRVNFVCBiaXQgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUG93ZXIgQ29udHJvbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFBXUl9DUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFBXUl9DUl9MUERTX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DUl9MUERTX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFBXUl9DUl9MUERTX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFBXUl9DUl9MUERTICAgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9MUERTX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBMb3ctUG93ZXIgRGVlcHNsZWVwICovDQojZGVmaW5lIFBXUl9DUl9QRERTX1BvcyAgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DUl9QRERTX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFBXUl9DUl9QRERTX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFBXUl9DUl9QRERTICAgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9QRERTX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQb3dlciBEb3duIERlZXBzbGVlcCAqLw0KI2RlZmluZSBQV1JfQ1JfQ1dVRl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1JfQ1dVRl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1JfQ1dVRl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBQV1JfQ1JfQ1dVRiAgICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfQ1dVRl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQ2xlYXIgV2FrZXVwIEZsYWcgKi8NCiNkZWZpbmUgUFdSX0NSX0NTQkZfUG9zICAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUFdSX0NSX0NTQkZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUFdSX0NSX0NTQkZfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgUFdSX0NSX0NTQkYgICAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX0NTQkZfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IENsZWFyIFN0YW5kYnkgRmxhZyAqLw0KI2RlZmluZSBQV1JfQ1JfUFZERV9Qb3MgICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1JfUFZERV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBQV1JfQ1JfUFZERV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBQV1JfQ1JfUFZERSAgICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfUFZERV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUG93ZXIgVm9sdGFnZSBEZXRlY3RvciBFbmFibGUgKi8NCg0KI2RlZmluZSBQV1JfQ1JfUExTX1BvcyAgICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBQV1JfQ1JfUExTX01zayAgICAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBQV1JfQ1JfUExTX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDBFMCAqLw0KI2RlZmluZSBQV1JfQ1JfUExTICAgICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfUExTX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgUExTWzI6MF0gYml0cyAoUFZEIExldmVsIFNlbGVjdGlvbikgKi8NCiNkZWZpbmUgUFdSX0NSX1BMU18wICAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUFdSX0NSX1BMU19Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgUFdSX0NSX1BMU18xICAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUFdSX0NSX1BMU19Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgUFdSX0NSX1BMU18yICAgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgUFdSX0NSX1BMU19Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCg0KLyohPCBQVkQgbGV2ZWwgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBQV1JfQ1JfUExTX0xFVjAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBWRCBsZXZlbCAyLjJWICovDQojZGVmaW5lIFBXUl9DUl9QTFNfTEVWMSAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDIwVSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUFZEIGxldmVsIDIuM1YgKi8NCiNkZWZpbmUgUFdSX0NSX1BMU19MRVYyICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwNDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQVkQgbGV2ZWwgMi40ViAqLw0KI2RlZmluZSBQV1JfQ1JfUExTX0xFVjMgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDA2MFUgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBWRCBsZXZlbCAyLjVWICovDQojZGVmaW5lIFBXUl9DUl9QTFNfTEVWNCAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDgwVSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUFZEIGxldmVsIDIuNlYgKi8NCiNkZWZpbmUgUFdSX0NSX1BMU19MRVY1ICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwQTBVICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQVkQgbGV2ZWwgMi43ViAqLw0KI2RlZmluZSBQV1JfQ1JfUExTX0xFVjYgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDBDMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBWRCBsZXZlbCAyLjhWICovDQojZGVmaW5lIFBXUl9DUl9QTFNfTEVWNyAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMEUwVSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUFZEIGxldmVsIDIuOVYgKi8NCg0KLyogTGVnYWN5IGRlZmluZXMgKi8NCiNkZWZpbmUgUFdSX0NSX1BMU18yVjIgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9QTFNfTEVWMA0KI2RlZmluZSBQV1JfQ1JfUExTXzJWMyAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX1BMU19MRVYxDQojZGVmaW5lIFBXUl9DUl9QTFNfMlY0ICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfUExTX0xFVjINCiNkZWZpbmUgUFdSX0NSX1BMU18yVjUgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9QTFNfTEVWMw0KI2RlZmluZSBQV1JfQ1JfUExTXzJWNiAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX1BMU19MRVY0DQojZGVmaW5lIFBXUl9DUl9QTFNfMlY3ICAgICAgICAgICAgICAgICAgICAgICBQV1JfQ1JfUExTX0xFVjUNCiNkZWZpbmUgUFdSX0NSX1BMU18yVjggICAgICAgICAgICAgICAgICAgICAgIFBXUl9DUl9QTFNfTEVWNg0KI2RlZmluZSBQV1JfQ1JfUExTXzJWOSAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX1BMU19MRVY3DQoNCiNkZWZpbmUgUFdSX0NSX0RCUF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUFdSX0NSX0RCUF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUFdSX0NSX0RCUF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgUFdSX0NSX0RCUCAgICAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NSX0RCUF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IERpc2FibGUgQmFja3VwIERvbWFpbiB3cml0ZSBwcm90ZWN0aW9uICovDQoNCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBQV1JfQ1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUFdSX0NTUl9XVUZfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUFdSX0NTUl9XVUZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUFdSX0NTUl9XVUZfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUFdSX0NTUl9XVUYgICAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NTUl9XVUZfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFdha2V1cCBGbGFnICovDQojZGVmaW5lIFBXUl9DU1JfU0JGX1BvcyAgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFBXUl9DU1JfU0JGX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFBXUl9DU1JfU0JGX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFBXUl9DU1JfU0JGICAgICAgICAgICAgICAgICAgICAgICAgIFBXUl9DU1JfU0JGX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBTdGFuZGJ5IEZsYWcgKi8NCiNkZWZpbmUgUFdSX0NTUl9QVkRPX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUFdSX0NTUl9QVkRPX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUFdSX0NTUl9QVkRPX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUFdSX0NTUl9QVkRPICAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NTUl9QVkRPX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBWRCBPdXRwdXQgKi8NCiNkZWZpbmUgUFdSX0NTUl9FV1VQX1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUFdSX0NTUl9FV1VQX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUFdSX0NTUl9FV1VQX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgUFdSX0NTUl9FV1VQICAgICAgICAgICAgICAgICAgICAgICAgUFdSX0NTUl9FV1VQX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEVuYWJsZSBXS1VQIHBpbiAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJhY2t1cCByZWdpc3RlcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMV9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMV9EX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMV9EX1BvcykgICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMV9EICAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMV9EX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjJfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjJfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjJfRF9Qb3MpICAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjJfRCAgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjJfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFIzX0RfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFIzX0RfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFIzX0RfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFIzX0QgICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFIzX0RfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFI0IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSNF9EX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSNF9EX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSNF9EX1BvcykgICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSNF9EICAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSNF9EX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSNSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjVfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjVfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjVfRF9Qb3MpICAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjVfRCAgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjVfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjYgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFI2X0RfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFI2X0RfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFI2X0RfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFI2X0QgICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFI2X0RfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFI3IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSN19EX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSN19EX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSN19EX1BvcykgICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSN19EICAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSN19EX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0RSOCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9EUjhfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9EUjhfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEJLUF9EUjhfRF9Qb3MpICAgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEJLUF9EUjhfRCAgICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9EUjhfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9EUjkgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfRFI5X0RfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfRFI5X0RfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBCS1BfRFI5X0RfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBCS1BfRFI5X0QgICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfRFI5X0RfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgQmFja3VwIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfRFIxMCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX0RSMTBfRF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0RSMTBfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQktQX0RSMTBfRF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQktQX0RSMTBfRCAgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0RSMTBfRF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJhY2t1cCBkYXRhICovDQoNCiNkZWZpbmUgUlRDX0JLUF9OVU1CRVIgMTANCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEJLUF9SVENDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQktQX1JUQ0NSX0NBTF9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX1JUQ0NSX0NBTF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4N0ZVIDw8IEJLUF9SVENDUl9DQUxfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwN0YgKi8NCiNkZWZpbmUgQktQX1JUQ0NSX0NBTCAgICAgICAgICAgICAgICAgICAgICAgQktQX1JUQ0NSX0NBTF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENhbGlicmF0aW9uIHZhbHVlICovDQojZGVmaW5lIEJLUF9SVENDUl9DQ09fUG9zICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9SVENDUl9DQ09fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEJLUF9SVENDUl9DQ09fUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEJLUF9SVENDUl9DQ08gICAgICAgICAgICAgICAgICAgICAgIEJLUF9SVENDUl9DQ09fTXNrICAgICAgICAgICAgICAgICAgLyohPCBDYWxpYnJhdGlvbiBDbG9jayBPdXRwdXQgKi8NCiNkZWZpbmUgQktQX1JUQ0NSX0FTT0VfUG9zICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX1JUQ0NSX0FTT0VfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQktQX1JUQ0NSX0FTT0VfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQktQX1JUQ0NSX0FTT0UgICAgICAgICAgICAgICAgICAgICAgQktQX1JUQ0NSX0FTT0VfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFsYXJtIG9yIFNlY29uZCBPdXRwdXQgRW5hYmxlICovDQojZGVmaW5lIEJLUF9SVENDUl9BU09TX1BvcyAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9SVENDUl9BU09TX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEJLUF9SVENDUl9BU09TX1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEJLUF9SVENDUl9BU09TICAgICAgICAgICAgICAgICAgICAgIEJLUF9SVENDUl9BU09TX01zayAgICAgICAgICAgICAgICAgLyohPCBBbGFybSBvciBTZWNvbmQgT3V0cHV0IFNlbGVjdGlvbiAqLw0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBCS1BfQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBCS1BfQ1JfVFBFX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfQ1JfVFBFX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBCS1BfQ1JfVFBFX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBCS1BfQ1JfVFBFICAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfQ1JfVFBFX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgVEFNUEVSIHBpbiBlbmFibGUgKi8NCiNkZWZpbmUgQktQX0NSX1RQQUxfUG9zICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0NSX1RQQUxfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQktQX0NSX1RQQUxfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQktQX0NSX1RQQUwgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0NSX1RQQUxfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFRBTVBFUiBwaW4gYWN0aXZlIGxldmVsICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQktQX0NTUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEJLUF9DU1JfQ1RFX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEJLUF9DU1JfQ1RFX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEJLUF9DU1JfQ1RFX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEJLUF9DU1JfQ1RFICAgICAgICAgICAgICAgICAgICAgICAgIEJLUF9DU1JfQ1RFX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBDbGVhciBUYW1wZXIgZXZlbnQgKi8NCiNkZWZpbmUgQktQX0NTUl9DVElfUG9zICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0NTUl9DVElfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQktQX0NTUl9DVElfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQktQX0NTUl9DVEkgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0NTUl9DVElfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IENsZWFyIFRhbXBlciBJbnRlcnJ1cHQgKi8NCiNkZWZpbmUgQktQX0NTUl9UUElFX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0NTUl9UUElFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQktQX0NTUl9UUElFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQktQX0NTUl9UUElFICAgICAgICAgICAgICAgICAgICAgICAgQktQX0NTUl9UUElFX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFRBTVBFUiBQaW4gaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBCS1BfQ1NSX1RFRl9Qb3MgICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBCS1BfQ1NSX1RFRl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBCS1BfQ1NSX1RFRl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBCS1BfQ1NSX1RFRiAgICAgICAgICAgICAgICAgICAgICAgICBCS1BfQ1NSX1RFRl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgVGFtcGVyIEV2ZW50IEZsYWcgKi8NCiNkZWZpbmUgQktQX0NTUl9USUZfUG9zICAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQktQX0NTUl9USUZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQktQX0NTUl9USUZfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgQktQX0NTUl9USUYgICAgICAgICAgICAgICAgICAgICAgICAgQktQX0NTUl9USUZfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFRhbXBlciBJbnRlcnJ1cHQgRmxhZyAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgIFJlc2V0IGFuZCBDbG9jayBDb250cm9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUkNDX0NSX0hTSU9OX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NSX0hTSU9OX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DUl9IU0lPTl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUkNDX0NSX0hTSU9OICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUl9IU0lPTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVybmFsIEhpZ2ggU3BlZWQgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19DUl9IU0lSRFlfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9IU0lSRFlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1JfSFNJUkRZX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJDQ19DUl9IU0lSRFkgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1JfSFNJUkRZX01zayAgICAgICAgICAgICAgICAgLyohPCBJbnRlcm5hbCBIaWdoIFNwZWVkIGNsb2NrIHJlYWR5IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NSX0hTSVRSSU1fUG9zICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NSX0hTSVRSSU1fTXNrICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBSQ0NfQ1JfSFNJVFJJTV9Qb3MpICAgICAvKiE8IDB4MDAwMDAwRjggKi8NCiNkZWZpbmUgUkNDX0NSX0hTSVRSSU0gICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUl9IU0lUUklNX01zayAgICAgICAgICAgICAgICAvKiE8IEludGVybmFsIEhpZ2ggU3BlZWQgY2xvY2sgdHJpbW1pbmcgKi8NCiNkZWZpbmUgUkNDX0NSX0hTSUNBTF9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NSX0hTSUNBTF9Nc2sgICAgICAgICAgICAgICAgICAgICgweEZGVSA8PCBSQ0NfQ1JfSFNJQ0FMX1BvcykgICAgICAvKiE8IDB4MDAwMEZGMDAgKi8NCiNkZWZpbmUgUkNDX0NSX0hTSUNBTCAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUl9IU0lDQUxfTXNrICAgICAgICAgICAgICAgICAvKiE8IEludGVybmFsIEhpZ2ggU3BlZWQgY2xvY2sgQ2FsaWJyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0NSX0hTRU9OX1BvcyAgICAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NSX0hTRU9OX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DUl9IU0VPTl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgUkNDX0NSX0hTRU9OICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUl9IU0VPTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEV4dGVybmFsIEhpZ2ggU3BlZWQgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19DUl9IU0VSRFlfUG9zICAgICAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9IU0VSRFlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1JfSFNFUkRZX1BvcykgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIFJDQ19DUl9IU0VSRFkgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1JfSFNFUkRZX01zayAgICAgICAgICAgICAgICAgLyohPCBFeHRlcm5hbCBIaWdoIFNwZWVkIGNsb2NrIHJlYWR5IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NSX0hTRUJZUF9Qb3MgICAgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NSX0hTRUJZUF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DUl9IU0VCWVBfUG9zKSAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NSX0hTRUJZUCAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DUl9IU0VCWVBfTXNrICAgICAgICAgICAgICAgICAvKiE8IEV4dGVybmFsIEhpZ2ggU3BlZWQgY2xvY2sgQnlwYXNzICovDQojZGVmaW5lIFJDQ19DUl9DU1NPTl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9DU1NPTl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1JfQ1NTT05fUG9zKSAgICAgICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIFJDQ19DUl9DU1NPTiAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1JfQ1NTT05fTXNrICAgICAgICAgICAgICAgICAgLyohPCBDbG9jayBTZWN1cml0eSBTeXN0ZW0gZW5hYmxlICovDQojZGVmaW5lIFJDQ19DUl9QTExPTl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9QTExPTl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1JfUExMT05fUG9zKSAgICAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIFJDQ19DUl9QTExPTiAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1JfUExMT05fTXNrICAgICAgICAgICAgICAgICAgLyohPCBQTEwgZW5hYmxlICovDQojZGVmaW5lIFJDQ19DUl9QTExSRFlfUG9zICAgICAgICAgICAgICAgICAgICAoMjVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DUl9QTExSRFlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1JfUExMUkRZX1BvcykgICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIFJDQ19DUl9QTExSRFkgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1JfUExMUkRZX01zayAgICAgICAgICAgICAgICAgLyohPCBQTEwgY2xvY2sgcmVhZHkgZmxhZyAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0NGR1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQovKiE8IFNXIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfU1dfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IFJDQ19DRkdSX1NXX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDMgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1cgICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1NXX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFNXWzE6MF0gYml0cyAoU3lzdGVtIGNsb2NrIFN3aXRjaCkgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dfMCAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1NXX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dfMSAgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19DRkdSX1NXX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUl9TV19IU0kgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSFNJIHNlbGVjdGVkIGFzIHN5c3RlbSBjbG9jayAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9TV19IU0UgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMVUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSFNFIHNlbGVjdGVkIGFzIHN5c3RlbSBjbG9jayAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9TV19QTEwgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMlUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUExMIHNlbGVjdGVkIGFzIHN5c3RlbSBjbG9jayAqLw0KDQovKiE8IFNXUyBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIFJDQ19DRkdSX1NXU19Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1NXU19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBSQ0NfQ0ZHUl9TV1NfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDBDICovDQojZGVmaW5lIFJDQ19DRkdSX1NXUyAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9TV1NfTXNrICAgICAgICAgICAgICAgICAgLyohPCBTV1NbMTowXSBiaXRzIChTeXN0ZW0gQ2xvY2sgU3dpdGNoIFN0YXR1cykgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dTXzAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1NXU19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dTXzEgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19DRkdSX1NXU19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUl9TV1NfSFNJICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSFNJIG9zY2lsbGF0b3IgdXNlZCBhcyBzeXN0ZW0gY2xvY2sgKi8NCiNkZWZpbmUgUkNDX0NGR1JfU1dTX0hTRSAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDRVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhTRSBvc2NpbGxhdG9yIHVzZWQgYXMgc3lzdGVtIGNsb2NrICovDQojZGVmaW5lIFJDQ19DRkdSX1NXU19QTEwgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDA4VSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgdXNlZCBhcyBzeXN0ZW0gY2xvY2sgKi8NCg0KLyohPCBIUFJFIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9Qb3MgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweEZVIDw8IFJDQ19DRkdSX0hQUkVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwRjAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRSAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX0hQUkVfTXNrICAgICAgICAgICAgICAgICAvKiE8IEhQUkVbMzowXSBiaXRzIChBSEIgcHJlc2NhbGVyKSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfSFBSRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUkNDX0NGR1JfSFBSRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFXzIgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgUkNDX0NGR1JfSFBSRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFXzMgICAgICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgUkNDX0NGR1JfSFBSRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfRElWMSAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTWVNDTEsgbm90IGRpdmlkZWQgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9ESVYyICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwODBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNZU0NMSyBkaXZpZGVkIGJ5IDIgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9ESVY0ICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwOTBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNZU0NMSyBkaXZpZGVkIGJ5IDQgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9ESVY4ICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwQTBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNZU0NMSyBkaXZpZGVkIGJ5IDggKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9ESVYxNiAgICAgICAgICAgICAgICAgIDB4MDAwMDAwQjBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNZU0NMSyBkaXZpZGVkIGJ5IDE2ICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfRElWNjQgICAgICAgICAgICAgICAgICAweDAwMDAwMEMwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTWVNDTEsgZGl2aWRlZCBieSA2NCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9IUFJFX0RJVjEyOCAgICAgICAgICAgICAgICAgMHgwMDAwMDBEMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU1lTQ0xLIGRpdmlkZWQgYnkgMTI4ICovDQojZGVmaW5lIFJDQ19DRkdSX0hQUkVfRElWMjU2ICAgICAgICAgICAgICAgICAweDAwMDAwMEUwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTWVNDTEsgZGl2aWRlZCBieSAyNTYgKi8NCiNkZWZpbmUgUkNDX0NGR1JfSFBSRV9ESVY1MTIgICAgICAgICAgICAgICAgIDB4MDAwMDAwRjBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNZU0NMSyBkaXZpZGVkIGJ5IDUxMiAqLw0KDQovKiE8IFBQUkUxIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTFfUG9zICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTFfTXNrICAgICAgICAgICAgICAgICAgICgweDdVIDw8IFJDQ19DRkdSX1BQUkUxX1BvcykgICAgICAvKiE8IDB4MDAwMDA3MDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTEgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BQUkUxX01zayAgICAgICAgICAgICAgICAvKiE8IFBSRTFbMjowXSBiaXRzIChBUEIxIHByZXNjYWxlcikgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTFfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1BQUkUxX1BvcykgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTFfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19DRkdSX1BQUkUxX1BvcykgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTFfMiAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFJDQ19DRkdSX1BQUkUxX1BvcykgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMV9ESVYxICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSENMSyBub3QgZGl2aWRlZCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMV9ESVYyICAgICAgICAgICAgICAgICAgMHgwMDAwMDQwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSENMSyBkaXZpZGVkIGJ5IDIgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTFfRElWNCAgICAgICAgICAgICAgICAgIDB4MDAwMDA1MDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhDTEsgZGl2aWRlZCBieSA0ICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUxX0RJVjggICAgICAgICAgICAgICAgICAweDAwMDAwNjAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIQ0xLIGRpdmlkZWQgYnkgOCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMV9ESVYxNiAgICAgICAgICAgICAgICAgMHgwMDAwMDcwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSENMSyBkaXZpZGVkIGJ5IDE2ICovDQoNCi8qITwgUFBSRTIgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMl9Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgUkNDX0NGR1JfUFBSRTJfUG9zKSAgICAgIC8qITwgMHgwMDAwMzgwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMiAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUFBSRTJfTXNrICAgICAgICAgICAgICAgIC8qITwgUFJFMlsyOjBdIGJpdHMgKEFQQjIgcHJlc2NhbGVyKSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMl8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfUFBSRTJfUG9zKSAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMl8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUkNDX0NGR1JfUFBSRTJfUG9zKSAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMl8yICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgUkNDX0NGR1JfUFBSRTJfUG9zKSAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUyX0RJVjEgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIQ0xLIG5vdCBkaXZpZGVkICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUyX0RJVjIgICAgICAgICAgICAgICAgICAweDAwMDAyMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIQ0xLIGRpdmlkZWQgYnkgMiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QUFJFMl9ESVY0ICAgICAgICAgICAgICAgICAgMHgwMDAwMjgwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSENMSyBkaXZpZGVkIGJ5IDQgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUFBSRTJfRElWOCAgICAgICAgICAgICAgICAgIDB4MDAwMDMwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhDTEsgZGl2aWRlZCBieSA4ICovDQojZGVmaW5lIFJDQ19DRkdSX1BQUkUyX0RJVjE2ICAgICAgICAgICAgICAgICAweDAwMDAzODAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIQ0xLIGRpdmlkZWQgYnkgMTYgKi8NCg0KLyohPCBBRENQUFJFIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgUkNDX0NGR1JfQURDUFJFX1BvcyAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfQURDUFJFX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IFJDQ19DRkdSX0FEQ1BSRV9Qb3MpICAgICAvKiE8IDB4MDAwMEMwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfQURDUFJFICAgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX0FEQ1BSRV9Nc2sgICAgICAgICAgICAgICAvKiE8IEFEQ1BSRVsxOjBdIGJpdHMgKEFEQyBwcmVzY2FsZXIpICovDQojZGVmaW5lIFJDQ19DRkdSX0FEQ1BSRV8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9BRENQUkVfUG9zKSAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFJDQ19DRkdSX0FEQ1BSRV8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBSQ0NfQ0ZHUl9BRENQUkVfUG9zKSAgICAgLyohPCAweDAwMDA4MDAwICovDQoNCiNkZWZpbmUgUkNDX0NGR1JfQURDUFJFX0RJVjIgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBDTEsyIGRpdmlkZWQgYnkgMiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9BRENQUkVfRElWNCAgICAgICAgICAgICAgICAgMHgwMDAwNDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUENMSzIgZGl2aWRlZCBieSA0ICovDQojZGVmaW5lIFJDQ19DRkdSX0FEQ1BSRV9ESVY2ICAgICAgICAgICAgICAgICAweDAwMDA4MDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQ0xLMiBkaXZpZGVkIGJ5IDYgKi8NCiNkZWZpbmUgUkNDX0NGR1JfQURDUFJFX0RJVjggICAgICAgICAgICAgICAgIDB4MDAwMEMwMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBDTEsyIGRpdmlkZWQgYnkgOCAqLw0KDQojZGVmaW5lIFJDQ19DRkdSX1BMTFNSQ19Qb3MgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTFNSQ19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9QTExTUkNfUG9zKSAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTFNSQyAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExTUkNfTXNrICAgICAgICAgICAgICAgLyohPCBQTEwgZW50cnkgY2xvY2sgc291cmNlICovDQoNCiNkZWZpbmUgUkNDX0NGR1JfUExMWFRQUkVfUG9zICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMWFRQUkVfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1BMTFhUUFJFX1BvcykgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMWFRQUkUgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTFhUUFJFX01zayAgICAgICAgICAgICAvKiE8IEhTRSBkaXZpZGVyIGZvciBQTEwgZW50cnkgKi8NCg0KLyohPCBQTExNVUwgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMX1BvcyAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMX01zayAgICAgICAgICAgICAgICAgKDB4RlUgPDwgUkNDX0NGR1JfUExMTVVMTF9Qb3MpICAgIC8qITwgMHgwMDNDMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMICAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTF9Nc2sgICAgICAgICAgICAgIC8qITwgUExMTVVMWzM6MF0gYml0cyAoUExMIG11bHRpcGxpY2F0aW9uIGZhY3RvcikgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTF8wICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1BMTE1VTExfUG9zKSAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTF8xICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19DRkdSX1BMTE1VTExfUG9zKSAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTF8yICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFJDQ19DRkdSX1BMTE1VTExfUG9zKSAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTF8zICAgICAgICAgICAgICAgICAgICgweDhVIDw8IFJDQ19DRkdSX1BMTE1VTExfUG9zKSAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExYVFBSRV9IU0UgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgLyohPCBIU0UgY2xvY2sgbm90IGRpdmlkZWQgZm9yIFBMTCBlbnRyeSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExYVFBSRV9IU0VfRElWMiAgICAgICAgICAgMHgwMDAyMDAwMFUgICAgICAgICAgICAgICAgICAgICAgLyohPCBIU0UgY2xvY2sgZGl2aWRlZCBieSAyIGZvciBQTEwgZW50cnkgKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjIgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDNfUG9zICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDNfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1BMTE1VTEwzX1BvcykgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDMgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTE1VTEwzX01zayAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayozICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw0X1BvcyAgICAgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw0X01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9QTExNVUxMNF9Qb3MpICAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw0ICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxMNF9Nc2sgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqNCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMNV9Qb3MgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMNV9Nc2sgICAgICAgICAgICAgICAgKDB4M1UgPDwgUkNDX0NGR1JfUExMTVVMTDVfUG9zKSAgIC8qITwgMHgwMDBDMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMNSAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTDVfTXNrICAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjUgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDZfUG9zICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDZfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX1BMTE1VTEw2X1BvcykgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDYgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTE1VTEw2X01zayAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayo2ICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw3X1BvcyAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw3X01zayAgICAgICAgICAgICAgICAoMHg1VSA8PCBSQ0NfQ0ZHUl9QTExNVUxMN19Qb3MpICAgLyohPCAweDAwMTQwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEw3ICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxMN19Nc2sgICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqNyAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMOF9Qb3MgICAgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMOF9Nc2sgICAgICAgICAgICAgICAgKDB4M1UgPDwgUkNDX0NGR1JfUExMTVVMTDhfUG9zKSAgIC8qITwgMHgwMDE4MDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMOCAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTDhfTXNrICAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjggKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDlfUG9zICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDlfTXNrICAgICAgICAgICAgICAgICgweDdVIDw8IFJDQ19DRkdSX1BMTE1VTEw5X1BvcykgICAvKiE8IDB4MDAxQzAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDkgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTE1VTEw5X01zayAgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayo5ICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxMF9Qb3MgICAgICAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxMF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0ZHUl9QTExNVUxMMTBfUG9zKSAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxMCAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxMMTBfTXNrICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sxMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTFfUG9zICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTFfTXNrICAgICAgICAgICAgICAgKDB4OVUgPDwgUkNDX0NGR1JfUExMTVVMTDExX1BvcykgIC8qITwgMHgwMDI0MDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTEgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTDExX01zayAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjExICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxMl9Qb3MgICAgICAgICAgICAgICAoMTlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxMl9Nc2sgICAgICAgICAgICAgICAoMHg1VSA8PCBSQ0NfQ0ZHUl9QTExNVUxMMTJfUG9zKSAgLyohPCAweDAwMjgwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxMiAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxMMTJfTXNrICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqMTIgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDEzX1BvcyAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDEzX01zayAgICAgICAgICAgICAgICgweEJVIDw8IFJDQ19DRkdSX1BMTE1VTEwxM19Qb3MpICAvKiE8IDB4MDAyQzAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDEzICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTE1VTEwxM19Nc2sgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayoxMyAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTRfUG9zICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTRfTXNrICAgICAgICAgICAgICAgKDB4M1UgPDwgUkNDX0NGR1JfUExMTVVMTDE0X1BvcykgIC8qITwgMHgwMDMwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9QTExNVUxMMTQgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfUExMTVVMTDE0X01zayAgICAgICAgICAgIC8qITwgUExMIGlucHV0IGNsb2NrKjE0ICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxNV9Qb3MgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxNV9Nc2sgICAgICAgICAgICAgICAoMHhEVSA8PCBSQ0NfQ0ZHUl9QTExNVUxMMTVfUG9zKSAgLyohPCAweDAwMzQwMDAwICovDQojZGVmaW5lIFJDQ19DRkdSX1BMTE1VTEwxNSAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9QTExNVUxMMTVfTXNrICAgICAgICAgICAgLyohPCBQTEwgaW5wdXQgY2xvY2sqMTUgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDE2X1BvcyAgICAgICAgICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDE2X01zayAgICAgICAgICAgICAgICgweDdVIDw8IFJDQ19DRkdSX1BMTE1VTEwxNl9Qb3MpICAvKiE8IDB4MDAzODAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfUExMTVVMTDE2ICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX1BMTE1VTEwxNl9Nc2sgICAgICAgICAgICAvKiE8IFBMTCBpbnB1dCBjbG9jayoxNiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9VU0JQUkVfUG9zICAgICAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9VU0JQUkVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NGR1JfVVNCUFJFX1BvcykgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9VU0JQUkUgICAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfVVNCUFJFX01zayAgICAgICAgICAgICAgIC8qITwgVVNCIERldmljZSBwcmVzY2FsZXIgKi8NCg0KLyohPCBNQ08gY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09fUG9zICAgICAgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09fTXNrICAgICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgUkNDX0NGR1JfTUNPX1BvcykgICAgICAgIC8qITwgMHgwNzAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ08gICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfTUNPX01zayAgICAgICAgICAgICAgICAgIC8qITwgTUNPWzI6MF0gYml0cyAoTWljcm9jb250cm9sbGVyIENsb2NrIE91dHB1dCkgKi8NCiNkZWZpbmUgUkNDX0NGR1JfTUNPXzAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DRkdSX01DT19Qb3MpICAgICAgICAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfTUNPXzEgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFJDQ19DRkdSX01DT19Qb3MpICAgICAgICAvKiE8IDB4MDIwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NGR1JfTUNPXzIgICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFJDQ19DRkdSX01DT19Qb3MpICAgICAgICAvKiE8IDB4MDQwMDAwMDAgKi8NCg0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09fTk9DTE9DSyAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE5vIGNsb2NrICovDQojZGVmaW5lIFJDQ19DRkdSX01DT19TWVNDTEsgICAgICAgICAgICAgICAgICAweDA0MDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzdGVtIGNsb2NrIHNlbGVjdGVkIGFzIE1DTyBzb3VyY2UgKi8NCiNkZWZpbmUgUkNDX0NGR1JfTUNPX0hTSSAgICAgICAgICAgICAgICAgICAgIDB4MDUwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIU0kgY2xvY2sgc2VsZWN0ZWQgYXMgTUNPIHNvdXJjZSAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09fSFNFICAgICAgICAgICAgICAgICAgICAgMHgwNjAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEhTRSBjbG9jayBzZWxlY3RlZCBhcyBNQ08gc291cmNlICAqLw0KI2RlZmluZSBSQ0NfQ0ZHUl9NQ09fUExMQ0xLX0RJVjIgICAgICAgICAgICAgMHgwNzAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBMTCBjbG9jayBkaXZpZGVkIGJ5IDIgc2VsZWN0ZWQgYXMgTUNPIHNvdXJjZSAqLw0KDQogLyogUmVmZXJlbmNlIGRlZmluZXMgKi8NCiAjZGVmaW5lIFJDQ19DRkdSX01DT1NFTCAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ08NCiAjZGVmaW5lIFJDQ19DRkdSX01DT1NFTF8wICAgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ09fMA0KICNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMXzEgICAgICAgICAgICAgICAgICAgIFJDQ19DRkdSX01DT18xDQogI2RlZmluZSBSQ0NfQ0ZHUl9NQ09TRUxfMiAgICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfTUNPXzINCiAjZGVmaW5lIFJDQ19DRkdSX01DT1NFTF9OT0NMT0NLICAgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ09fTk9DTE9DSw0KICNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMX1NZU0NMSyAgICAgICAgICAgICAgIFJDQ19DRkdSX01DT19TWVNDTEsNCiAjZGVmaW5lIFJDQ19DRkdSX01DT1NFTF9IU0kgICAgICAgICAgICAgICAgICBSQ0NfQ0ZHUl9NQ09fSFNJDQogI2RlZmluZSBSQ0NfQ0ZHUl9NQ09TRUxfSFNFICAgICAgICAgICAgICAgICAgUkNDX0NGR1JfTUNPX0hTRQ0KICNkZWZpbmUgUkNDX0NGR1JfTUNPU0VMX1BMTF9ESVYyICAgICAgICAgICAgIFJDQ19DRkdSX01DT19QTExDTEtfRElWMg0KDQovKiE8KioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0NJUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJDQ19DSVJfTFNJUkRZRl9Qb3MgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfTFNJUkRZRl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0xTSVJEWUZfUG9zKSAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJDQ19DSVJfTFNJUkRZRiAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0xTSVJEWUZfTXNrICAgICAgICAgICAgICAgLyohPCBMU0kgUmVhZHkgSW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0VSRFlGX1BvcyAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9MU0VSRFlGX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfTFNFUkRZRl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0VSRFlGICAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfTFNFUkRZRl9Nc2sgICAgICAgICAgICAgICAvKiE8IExTRSBSZWFkeSBJbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ0lSX0hTSVJEWUZfUG9zICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0hTSVJEWUZfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9IU0lSRFlGX1BvcykgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBSQ0NfQ0lSX0hTSVJEWUYgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9IU0lSRFlGX01zayAgICAgICAgICAgICAgIC8qITwgSFNJIFJlYWR5IEludGVycnVwdCBmbGFnICovDQojZGVmaW5lIFJDQ19DSVJfSFNFUkRZRl9Qb3MgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfSFNFUkRZRl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0hTRVJEWUZfUG9zKSAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFJDQ19DSVJfSFNFUkRZRiAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0hTRVJEWUZfTXNrICAgICAgICAgICAgICAgLyohPCBIU0UgUmVhZHkgSW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NJUl9QTExSRFlGX1BvcyAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9QTExSRFlGX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfUExMUkRZRl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgUkNDX0NJUl9QTExSRFlGICAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfUExMUkRZRl9Nc2sgICAgICAgICAgICAgICAvKiE8IFBMTCBSZWFkeSBJbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ0lSX0NTU0ZfUG9zICAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0NTU0ZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9DU1NGX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBSQ0NfQ0lSX0NTU0YgICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9DU1NGX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2xvY2sgU2VjdXJpdHkgU3lzdGVtIEludGVycnVwdCBmbGFnICovDQojZGVmaW5lIFJDQ19DSVJfTFNJUkRZSUVfUG9zICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfTFNJUkRZSUVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0xTSVJEWUlFX1BvcykgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFJDQ19DSVJfTFNJUkRZSUUgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0xTSVJEWUlFX01zayAgICAgICAgICAgICAgLyohPCBMU0kgUmVhZHkgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTRVJEWUlFX1BvcyAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX0xTRVJEWUlFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9MU0VSRFlJRV9Qb3MpICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX0xTRVJEWUlFICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9MU0VSRFlJRV9Nc2sgICAgICAgICAgICAgIC8qITwgTFNFIFJlYWR5IEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0lSRFlJRV9Qb3MgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9IU0lSRFlJRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfSFNJUkRZSUVfUG9zKSAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0lSRFlJRSAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfSFNJUkRZSUVfTXNrICAgICAgICAgICAgICAvKiE8IEhTSSBSZWFkeSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFJDQ19DSVJfSFNFUkRZSUVfUG9zICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DSVJfSFNFUkRZSUVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ0lSX0hTRVJEWUlFX1BvcykgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFJDQ19DSVJfSFNFUkRZSUUgICAgICAgICAgICAgICAgICAgICBSQ0NfQ0lSX0hTRVJEWUlFX01zayAgICAgICAgICAgICAgLyohPCBIU0UgUmVhZHkgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQ0lSX1BMTFJEWUlFX1BvcyAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ0lSX1BMTFJEWUlFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NJUl9QTExSRFlJRV9Qb3MpICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBSQ0NfQ0lSX1BMTFJEWUlFICAgICAgICAgICAgICAgICAgICAgUkNDX0NJUl9QTExSRFlJRV9Nc2sgICAgICAgICAgICAgIC8qITwgUExMIFJlYWR5IEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0lSRFlDX1BvcyAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9MU0lSRFlDX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfTFNJUkRZQ19Qb3MpICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0lSRFlDICAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfTFNJUkRZQ19Nc2sgICAgICAgICAgICAgICAvKiE8IExTSSBSZWFkeSBJbnRlcnJ1cHQgQ2xlYXIgKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0VSRFlDX1BvcyAgICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9MU0VSRFlDX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfTFNFUkRZQ19Qb3MpICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9MU0VSRFlDICAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfTFNFUkRZQ19Nc2sgICAgICAgICAgICAgICAvKiE8IExTRSBSZWFkeSBJbnRlcnJ1cHQgQ2xlYXIgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0lSRFlDX1BvcyAgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9IU0lSRFlDX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfSFNJUkRZQ19Qb3MpICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0lSRFlDICAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfSFNJUkRZQ19Nc2sgICAgICAgICAgICAgICAvKiE8IEhTSSBSZWFkeSBJbnRlcnJ1cHQgQ2xlYXIgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0VSRFlDX1BvcyAgICAgICAgICAgICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9IU0VSRFlDX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfSFNFUkRZQ19Qb3MpICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9IU0VSRFlDICAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfSFNFUkRZQ19Nc2sgICAgICAgICAgICAgICAvKiE8IEhTRSBSZWFkeSBJbnRlcnJ1cHQgQ2xlYXIgKi8NCiNkZWZpbmUgUkNDX0NJUl9QTExSRFlDX1BvcyAgICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9QTExSRFlDX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfUExMUkRZQ19Qb3MpICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9QTExSRFlDICAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfUExMUkRZQ19Nc2sgICAgICAgICAgICAgICAvKiE8IFBMTCBSZWFkeSBJbnRlcnJ1cHQgQ2xlYXIgKi8NCiNkZWZpbmUgUkNDX0NJUl9DU1NDX1BvcyAgICAgICAgICAgICAgICAgICAgICgyM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NJUl9DU1NDX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DSVJfQ1NTQ19Qb3MpICAgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NJUl9DU1NDICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DSVJfQ1NTQ19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENsb2NrIFNlY3VyaXR5IFN5c3RlbSBJbnRlcnJ1cHQgQ2xlYXIgKi8NCg0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQVBCMlJTVFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfQUZJT1JTVF9Qb3MgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfQUZJT1JTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJSU1RSX0FGSU9SU1RfUG9zKSAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0FGSU9SU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIyUlNUUl9BRklPUlNUX01zayAgICAgICAgICAvKiE8IEFsdGVybmF0ZSBGdW5jdGlvbiBJL08gcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUEFSU1RfUG9zICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUEFSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyUlNUUl9JT1BBUlNUX1BvcykgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BBUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMlJTVFJfSU9QQVJTVF9Nc2sgICAgICAgICAgLyohPCBJL08gcG9ydCBBIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BCUlNUX1BvcyAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BCUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfSU9QQlJTVF9Qb3MpIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QQlJTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjJSU1RSX0lPUEJSU1RfTXNrICAgICAgICAgIC8qITwgSS9PIHBvcnQgQiByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QQ1JTVF9Qb3MgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfSU9QQ1JTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJSU1RSX0lPUENSU1RfUG9zKSAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUENSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIyUlNUUl9JT1BDUlNUX01zayAgICAgICAgICAvKiE8IEkvTyBwb3J0IEMgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUERSU1RfUG9zICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJSU1RSX0lPUERSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyUlNUUl9JT1BEUlNUX1BvcykgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9JT1BEUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMlJTVFJfSU9QRFJTVF9Nc2sgICAgICAgICAgLyohPCBJL08gcG9ydCBEIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9BREMxUlNUX1BvcyAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9BREMxUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMlJTVFJfQURDMVJTVF9Qb3MpIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfQURDMVJTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjJSU1RSX0FEQzFSU1RfTXNrICAgICAgICAgIC8qITwgQURDIDEgaW50ZXJmYWNlIHJlc2V0ICovDQoNCg0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfVElNMVJTVF9Qb3MgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfVElNMVJTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJSU1RSX1RJTTFSU1RfUG9zKSAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX1RJTTFSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIyUlNUUl9USU0xUlNUX01zayAgICAgICAgICAvKiE8IFRJTTEgVGltZXIgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjJSU1RSX1NQSTFSU1RfUG9zICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJSU1RSX1NQSTFSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyUlNUUl9TUEkxUlNUX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFJDQ19BUEIyUlNUUl9TUEkxUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMlJTVFJfU1BJMVJTVF9Nc2sgICAgICAgICAgLyohPCBTUEkgMSByZXNldCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfVVNBUlQxUlNUX1BvcyAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfVVNBUlQxUlNUX01zayAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJSU1RSX1VTQVJUMVJTVF9Qb3MpIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMlJTVFJfVVNBUlQxUlNUICAgICAgICAgICAgICAgUkNDX0FQQjJSU1RSX1VTQVJUMVJTVF9Nc2sgICAgICAgIC8qITwgVVNBUlQxIHJlc2V0ICovDQoNCg0KDQoNCg0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQVBCMVJTVFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNMlJTVF9Qb3MgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfVElNMlJTVF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFSU1RSX1RJTTJSU1RfUG9zKSAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTJSU1QgICAgICAgICAgICAgICAgIFJDQ19BUEIxUlNUUl9USU0yUlNUX01zayAgICAgICAgICAvKiE8IFRpbWVyIDIgcmVzZXQgKi8NCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTNSU1RfUG9zICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFSU1RSX1RJTTNSU1RfTXNrICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxUlNUUl9USU0zUlNUX1BvcykgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9USU0zUlNUICAgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfVElNM1JTVF9Nc2sgICAgICAgICAgLyohPCBUaW1lciAzIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9XV0RHUlNUX1BvcyAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9XV0RHUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfV1dER1JTVF9Qb3MpIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfV1dER1JTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX1dXREdSU1RfTXNrICAgICAgICAgIC8qITwgV2luZG93IFdhdGNoZG9nIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9VU0FSVDJSU1RfUG9zICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9VU0FSVDJSU1RfTXNrICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfVVNBUlQyUlNUX1BvcykgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9VU0FSVDJSU1QgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfVVNBUlQyUlNUX01zayAgICAgICAgLyohPCBVU0FSVCAyIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9JMkMxUlNUX1BvcyAgICAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9JMkMxUlNUX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfSTJDMVJTVF9Qb3MpIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMVJTVFJfSTJDMVJTVCAgICAgICAgICAgICAgICAgUkNDX0FQQjFSU1RSX0kyQzFSU1RfTXNrICAgICAgICAgIC8qITwgSTJDIDEgcmVzZXQgKi8NCg0KDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9CS1BSU1RfUG9zICAgICAgICAgICAgICAoMjdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9CS1BSU1RfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfQktQUlNUX1BvcykgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9CS1BSU1QgICAgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfQktQUlNUX01zayAgICAgICAgICAgLyohPCBCYWNrdXAgaW50ZXJmYWNlIHJlc2V0ICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9QV1JSU1RfUG9zICAgICAgICAgICAgICAoMjhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9QV1JSU1RfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfUFdSUlNUX1BvcykgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9QV1JSU1QgICAgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfUFdSUlNUX01zayAgICAgICAgICAgLyohPCBQb3dlciBpbnRlcmZhY2UgcmVzZXQgKi8NCg0KDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9VU0JSU1RfUG9zICAgICAgICAgICAgICAoMjNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9VU0JSU1RfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMVJTVFJfVVNCUlNUX1BvcykgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxUlNUUl9VU0JSU1QgICAgICAgICAgICAgICAgICBSQ0NfQVBCMVJTVFJfVVNCUlNUX01zayAgICAgICAgICAgLyohPCBVU0IgRGV2aWNlIHJlc2V0ICovDQoNCg0KDQoNCg0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0FIQkVOUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSQ0NfQUhCRU5SX0RNQTFFTl9Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQUhCRU5SX0RNQTFFTl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FIQkVOUl9ETUExRU5fUG9zKSAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSQ0NfQUhCRU5SX0RNQTFFTiAgICAgICAgICAgICAgICAgICAgUkNDX0FIQkVOUl9ETUExRU5fTXNrICAgICAgICAgICAgIC8qITwgRE1BMSBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9TUkFNRU5fUG9zICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FIQkVOUl9TUkFNRU5fTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BSEJFTlJfU1JBTUVOX1BvcykgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUkNDX0FIQkVOUl9TUkFNRU4gICAgICAgICAgICAgICAgICAgIFJDQ19BSEJFTlJfU1JBTUVOX01zayAgICAgICAgICAgICAvKiE8IFNSQU0gaW50ZXJmYWNlIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQUhCRU5SX0ZMSVRGRU5fUG9zICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQUhCRU5SX0ZMSVRGRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FIQkVOUl9GTElURkVOX1BvcykgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBSQ0NfQUhCRU5SX0ZMSVRGRU4gICAgICAgICAgICAgICAgICAgUkNDX0FIQkVOUl9GTElURkVOX01zayAgICAgICAgICAgIC8qITwgRkxJVEYgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BSEJFTlJfQ1JDRU5fUG9zICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BSEJFTlJfQ1JDRU5fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQUhCRU5SX0NSQ0VOX1BvcykgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFJDQ19BSEJFTlJfQ1JDRU4gICAgICAgICAgICAgICAgICAgICBSQ0NfQUhCRU5SX0NSQ0VOX01zayAgICAgICAgICAgICAgLyohPCBDUkMgY2xvY2sgZW5hYmxlICovDQoNCg0KDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQVBCMkVOUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJDQ19BUEIyRU5SX0FGSU9FTl9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyRU5SX0FGSU9FTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMkVOUl9BRklPRU5fUG9zKSAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX0FGSU9FTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMkVOUl9BRklPRU5fTXNrICAgICAgICAgICAgLyohPCBBbHRlcm5hdGUgRnVuY3Rpb24gSS9PIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BBRU5fUG9zICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BBRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJFTlJfSU9QQUVOX1BvcykgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BBRU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjJFTlJfSU9QQUVOX01zayAgICAgICAgICAgIC8qITwgSS9PIHBvcnQgQSBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QQkVOX1BvcyAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QQkVOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyRU5SX0lPUEJFTl9Qb3MpICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfSU9QQkVOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIyRU5SX0lPUEJFTl9Nc2sgICAgICAgICAgICAvKiE8IEkvTyBwb3J0IEIgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUENFTl9Qb3MgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUENFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMkVOUl9JT1BDRU5fUG9zKSAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX0lPUENFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMkVOUl9JT1BDRU5fTXNrICAgICAgICAgICAgLyohPCBJL08gcG9ydCBDIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BERU5fUG9zICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BERU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJFTlJfSU9QREVOX1BvcykgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9JT1BERU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjJFTlJfSU9QREVOX01zayAgICAgICAgICAgIC8qITwgSS9PIHBvcnQgRCBjbG9jayBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfQURDMUVOX1BvcyAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjJFTlJfQURDMUVOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIyRU5SX0FEQzFFTl9Qb3MpICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjJFTlJfQURDMUVOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIyRU5SX0FEQzFFTl9Nc2sgICAgICAgICAgICAvKiE8IEFEQyAxIGludGVyZmFjZSBjbG9jayBlbmFibGUgKi8NCg0KDQojZGVmaW5lIFJDQ19BUEIyRU5SX1RJTTFFTl9Qb3MgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyRU5SX1RJTTFFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMkVOUl9USU0xRU5fUG9zKSAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX1RJTTFFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMkVOUl9USU0xRU5fTXNrICAgICAgICAgICAgLyohPCBUSU0xIFRpbWVyIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9TUEkxRU5fUG9zICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMkVOUl9TUEkxRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjJFTlJfU1BJMUVOX1BvcykgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9TUEkxRU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjJFTlJfU1BJMUVOX01zayAgICAgICAgICAgIC8qITwgU1BJIDEgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIyRU5SX1VTQVJUMUVOX1BvcyAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIyRU5SX1VTQVJUMUVOX01zayAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMkVOUl9VU0FSVDFFTl9Qb3MpIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMkVOUl9VU0FSVDFFTiAgICAgICAgICAgICAgICAgUkNDX0FQQjJFTlJfVVNBUlQxRU5fTXNrICAgICAgICAgIC8qITwgVVNBUlQxIGNsb2NrIGVuYWJsZSAqLw0KDQoNCg0KDQoNCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0FQQjFFTlIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNMkVOX1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNMkVOX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX1RJTTJFTl9Qb3MpICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfVElNMkVOICAgICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX1RJTTJFTl9Nc2sgICAgICAgICAgICAvKiE8IFRpbWVyIDIgY2xvY2sgZW5hYmxlZCovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTNFTl9Qb3MgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTNFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9USU0zRU5fUG9zKSAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX1RJTTNFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9USU0zRU5fTXNrICAgICAgICAgICAgLyohPCBUaW1lciAzIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9XV0RHRU5fUG9zICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9XV0RHRU5fTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfV1dER0VOX1BvcykgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9XV0RHRU4gICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfV1dER0VOX01zayAgICAgICAgICAgIC8qITwgV2luZG93IFdhdGNoZG9nIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9VU0FSVDJFTl9Qb3MgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9VU0FSVDJFTl9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfVVNBUlQyRU5fUG9zKSAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfVVNBUlQyRU4gICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX1VTQVJUMkVOX01zayAgICAgICAgICAvKiE8IFVTQVJUIDIgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX0kyQzFFTl9Qb3MgICAgICAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX0kyQzFFTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9JMkMxRU5fUG9zKSAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX0kyQzFFTiAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9JMkMxRU5fTXNrICAgICAgICAgICAgLyohPCBJMkMgMSBjbG9jayBlbmFibGUgKi8NCg0KDQojZGVmaW5lIFJDQ19BUEIxRU5SX0JLUEVOX1BvcyAgICAgICAgICAgICAgICAoMjdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19BUEIxRU5SX0JLUEVOX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQVBCMUVOUl9CS1BFTl9Qb3MpICAgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIFJDQ19BUEIxRU5SX0JLUEVOICAgICAgICAgICAgICAgICAgICBSQ0NfQVBCMUVOUl9CS1BFTl9Nc2sgICAgICAgICAgICAgLyohPCBCYWNrdXAgaW50ZXJmYWNlIGNsb2NrIGVuYWJsZSAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9QV1JFTl9Qb3MgICAgICAgICAgICAgICAgKDI4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQVBCMUVOUl9QV1JFTl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0FQQjFFTlJfUFdSRU5fUG9zKSAgIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQVBCMUVOUl9QV1JFTiAgICAgICAgICAgICAgICAgICAgUkNDX0FQQjFFTlJfUFdSRU5fTXNrICAgICAgICAgICAgIC8qITwgUG93ZXIgaW50ZXJmYWNlIGNsb2NrIGVuYWJsZSAqLw0KDQoNCiNkZWZpbmUgUkNDX0FQQjFFTlJfVVNCRU5fUG9zICAgICAgICAgICAgICAgICgyM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0FQQjFFTlJfVVNCRU5fTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19BUEIxRU5SX1VTQkVOX1BvcykgICAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgUkNDX0FQQjFFTlJfVVNCRU4gICAgICAgICAgICAgICAgICAgIFJDQ19BUEIxRU5SX1VTQkVOX01zayAgICAgICAgICAgICAvKiE8IFVTQiBEZXZpY2UgY2xvY2sgZW5hYmxlICovDQoNCg0KDQoNCg0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJDQ19CRENSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSQ0NfQkRDUl9MU0VPTl9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQkRDUl9MU0VPTl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0JEQ1JfTFNFT05fUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSQ0NfQkRDUl9MU0VPTiAgICAgICAgICAgICAgICAgICAgICAgUkNDX0JEQ1JfTFNFT05fTXNrICAgICAgICAgICAgICAgIC8qITwgRXh0ZXJuYWwgTG93IFNwZWVkIG9zY2lsbGF0b3IgZW5hYmxlICovDQojZGVmaW5lIFJDQ19CRENSX0xTRVJEWV9Qb3MgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19CRENSX0xTRVJEWV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQkRDUl9MU0VSRFlfUG9zKSAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJDQ19CRENSX0xTRVJEWSAgICAgICAgICAgICAgICAgICAgICBSQ0NfQkRDUl9MU0VSRFlfTXNrICAgICAgICAgICAgICAgLyohPCBFeHRlcm5hbCBMb3cgU3BlZWQgb3NjaWxsYXRvciBSZWFkeSAqLw0KI2RlZmluZSBSQ0NfQkRDUl9MU0VCWVBfUG9zICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQkRDUl9MU0VCWVBfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0JEQ1JfTFNFQllQX1BvcykgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBSQ0NfQkRDUl9MU0VCWVAgICAgICAgICAgICAgICAgICAgICAgUkNDX0JEQ1JfTFNFQllQX01zayAgICAgICAgICAgICAgIC8qITwgRXh0ZXJuYWwgTG93IFNwZWVkIG9zY2lsbGF0b3IgQnlwYXNzICovDQoNCiNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMX1BvcyAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IFJDQ19CRENSX1JUQ1NFTF9Qb3MpICAgICAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMICAgICAgICAgICAgICAgICAgICAgIFJDQ19CRENSX1JUQ1NFTF9Nc2sgICAgICAgICAgICAgICAvKiE8IFJUQ1NFTFsxOjBdIGJpdHMgKFJUQyBjbG9jayBzb3VyY2Ugc2VsZWN0aW9uKSAqLw0KI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0JEQ1JfUlRDU0VMX1BvcykgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgUkNDX0JEQ1JfUlRDU0VMX1BvcykgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KDQovKiE8IFJUQyBjb25naWd1cmF0aW9uICovDQojZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF9OT0NMT0NLICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBObyBjbG9jayAqLw0KI2RlZmluZSBSQ0NfQkRDUl9SVENTRUxfTFNFICAgICAgICAgICAgICAgICAgMHgwMDAwMDEwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTFNFIG9zY2lsbGF0b3IgY2xvY2sgdXNlZCBhcyBSVEMgY2xvY2sgKi8NCiNkZWZpbmUgUkNDX0JEQ1JfUlRDU0VMX0xTSSAgICAgICAgICAgICAgICAgIDB4MDAwMDAyMDBVICAgICAgICAgICAgICAgICAgICAgICAvKiE8IExTSSBvc2NpbGxhdG9yIGNsb2NrIHVzZWQgYXMgUlRDIGNsb2NrICovDQojZGVmaW5lIFJDQ19CRENSX1JUQ1NFTF9IU0UgICAgICAgICAgICAgICAgICAweDAwMDAwMzAwVSAgICAgICAgICAgICAgICAgICAgICAgLyohPCBIU0Ugb3NjaWxsYXRvciBjbG9jayBkaXZpZGVkIGJ5IDEyOCB1c2VkIGFzIFJUQyBjbG9jayAqLw0KDQojZGVmaW5lIFJDQ19CRENSX1JUQ0VOX1BvcyAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19CRENSX1JUQ0VOX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQkRDUl9SVENFTl9Qb3MpICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFJDQ19CRENSX1JUQ0VOICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQkRDUl9SVENFTl9Nc2sgICAgICAgICAgICAgICAgLyohPCBSVEMgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFJDQ19CRENSX0JEUlNUX1BvcyAgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19CRENSX0JEUlNUX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQkRDUl9CRFJTVF9Qb3MpICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIFJDQ19CRENSX0JEUlNUICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQkRDUl9CRFJTVF9Nc2sgICAgICAgICAgICAgICAgLyohPCBCYWNrdXAgZG9tYWluIHNvZnR3YXJlIHJlc2V0ICAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJDQ19DU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLyAgDQojZGVmaW5lIFJDQ19DU1JfTFNJT05fUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DU1JfTFNJT05fTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX0xTSU9OX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFJDQ19DU1JfTFNJT04gICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1NSX0xTSU9OX01zayAgICAgICAgICAgICAgICAgLyohPCBJbnRlcm5hbCBMb3cgU3BlZWQgb3NjaWxsYXRvciBlbmFibGUgKi8NCiNkZWZpbmUgUkNDX0NTUl9MU0lSRFlfUG9zICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NTUl9MU0lSRFlfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DU1JfTFNJUkRZX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUkNDX0NTUl9MU0lSRFkgICAgICAgICAgICAgICAgICAgICAgIFJDQ19DU1JfTFNJUkRZX01zayAgICAgICAgICAgICAgICAvKiE8IEludGVybmFsIExvdyBTcGVlZCBvc2NpbGxhdG9yIFJlYWR5ICovDQojZGVmaW5lIFJDQ19DU1JfUk1WRl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJDQ19DU1JfUk1WRl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSQ0NfQ1NSX1JNVkZfUG9zKSAgICAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIFJDQ19DU1JfUk1WRiAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfQ1NSX1JNVkZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSZW1vdmUgcmVzZXQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ1NSX1BJTlJTVEZfUG9zICAgICAgICAgICAgICAgICAgKDI2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1NSX1BJTlJTVEZfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NTUl9QSU5SU1RGX1BvcykgICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1NSX1BJTlJTVEYgICAgICAgICAgICAgICAgICAgICAgUkNDX0NTUl9QSU5SU1RGX01zayAgICAgICAgICAgICAgIC8qITwgUElOIHJlc2V0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NTUl9QT1JSU1RGX1BvcyAgICAgICAgICAgICAgICAgICgyN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NTUl9QT1JSU1RGX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DU1JfUE9SUlNURl9Qb3MpICAgICAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NTUl9QT1JSU1RGICAgICAgICAgICAgICAgICAgICAgIFJDQ19DU1JfUE9SUlNURl9Nc2sgICAgICAgICAgICAgICAvKiE8IFBPUi9QRFIgcmVzZXQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ1NSX1NGVFJTVEZfUG9zICAgICAgICAgICAgICAgICAgKDI4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1NSX1NGVFJTVEZfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NTUl9TRlRSU1RGX1BvcykgICAgIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1NSX1NGVFJTVEYgICAgICAgICAgICAgICAgICAgICAgUkNDX0NTUl9TRlRSU1RGX01zayAgICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgUmVzZXQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ1NSX0lXREdSU1RGX1BvcyAgICAgICAgICAgICAgICAgKDI5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1NSX0lXREdSU1RGX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NTUl9JV0RHUlNURl9Qb3MpICAgIC8qITwgMHgyMDAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1NSX0lXREdSU1RGICAgICAgICAgICAgICAgICAgICAgUkNDX0NTUl9JV0RHUlNURl9Nc2sgICAgICAgICAgICAgIC8qITwgSW5kZXBlbmRlbnQgV2F0Y2hkb2cgcmVzZXQgZmxhZyAqLw0KI2RlZmluZSBSQ0NfQ1NSX1dXREdSU1RGX1BvcyAgICAgICAgICAgICAgICAgKDMwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSQ0NfQ1NSX1dXREdSU1RGX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUkNDX0NTUl9XV0RHUlNURl9Qb3MpICAgIC8qITwgMHg0MDAwMDAwMCAqLw0KI2RlZmluZSBSQ0NfQ1NSX1dXREdSU1RGICAgICAgICAgICAgICAgICAgICAgUkNDX0NTUl9XV0RHUlNURl9Nc2sgICAgICAgICAgICAgIC8qITwgV2luZG93IHdhdGNoZG9nIHJlc2V0IGZsYWcgKi8NCiNkZWZpbmUgUkNDX0NTUl9MUFdSUlNURl9Qb3MgICAgICAgICAgICAgICAgICgzMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkNDX0NTUl9MUFdSUlNURl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFJDQ19DU1JfTFBXUlJTVEZfUG9zKSAgICAvKiE8IDB4ODAwMDAwMDAgKi8NCiNkZWZpbmUgUkNDX0NTUl9MUFdSUlNURiAgICAgICAgICAgICAgICAgICAgIFJDQ19DU1JfTFBXUlJTVEZfTXNrICAgICAgICAgICAgICAvKiE8IExvdy1Qb3dlciByZXNldCBmbGFnICovDQoNCg0KIA0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICBHZW5lcmFsIFB1cnBvc2UgYW5kIEFsdGVybmF0ZSBGdW5jdGlvbiBJL08gICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgR1BJT19DUkwgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEdQSU9fQ1JMX01PREVfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JMX01PREVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzMzMzMzMzM1UgPDwgR1BJT19DUkxfTU9ERV9Qb3MpIC8qITwgMHgzMzMzMzMzMyAqLw0KI2RlZmluZSBHUElPX0NSTF9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfTU9ERV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IG1vZGUgYml0cyAqLw0KDQojZGVmaW5lIEdQSU9fQ1JMX01PREUwX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JMX01PREUwX01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSTF9NT0RFMF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUwICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSTF9NT0RFMF9Nc2sgICAgICAgICAgICAgICAgLyohPCBNT0RFMFsxOjBdIGJpdHMgKFBvcnQgeCBtb2RlIGJpdHMsIHBpbiAwKSAqLw0KI2RlZmluZSBHUElPX0NSTF9NT0RFMF8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkxfTU9ERTBfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBHUElPX0NSTF9NT0RFMF8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkxfTU9ERTBfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KDQojZGVmaW5lIEdQSU9fQ1JMX01PREUxX1BvcyAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JMX01PREUxX01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSTF9NT0RFMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDMwICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUxICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSTF9NT0RFMV9Nc2sgICAgICAgICAgICAgICAgLyohPCBNT0RFMVsxOjBdIGJpdHMgKFBvcnQgeCBtb2RlIGJpdHMsIHBpbiAxKSAqLw0KI2RlZmluZSBHUElPX0NSTF9NT0RFMV8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkxfTU9ERTFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBHUElPX0NSTF9NT0RFMV8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkxfTU9ERTFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JMX01PREUyX1BvcyAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JMX01PREUyX01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSTF9NT0RFMl9Qb3MpICAgICAgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUyICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSTF9NT0RFMl9Nc2sgICAgICAgICAgICAgICAgLyohPCBNT0RFMlsxOjBdIGJpdHMgKFBvcnQgeCBtb2RlIGJpdHMsIHBpbiAyKSAqLw0KI2RlZmluZSBHUElPX0NSTF9NT0RFMl8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkxfTU9ERTJfUG9zKSAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9NT0RFMl8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkxfTU9ERTJfUG9zKSAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JMX01PREUzX1BvcyAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JMX01PREUzX01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSTF9NT0RFM19Qb3MpICAgICAgLyohPCAweDAwMDAzMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREUzICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSTF9NT0RFM19Nc2sgICAgICAgICAgICAgICAgLyohPCBNT0RFM1sxOjBdIGJpdHMgKFBvcnQgeCBtb2RlIGJpdHMsIHBpbiAzKSAqLw0KI2RlZmluZSBHUElPX0NSTF9NT0RFM18wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkxfTU9ERTNfUG9zKSAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9NT0RFM18xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkxfTU9ERTNfUG9zKSAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JMX01PREU0X1BvcyAgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JMX01PREU0X01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSTF9NT0RFNF9Qb3MpICAgICAgLyohPCAweDAwMDMwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU0ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSTF9NT0RFNF9Nc2sgICAgICAgICAgICAgICAgLyohPCBNT0RFNFsxOjBdIGJpdHMgKFBvcnQgeCBtb2RlIGJpdHMsIHBpbiA0KSAqLw0KI2RlZmluZSBHUElPX0NSTF9NT0RFNF8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkxfTU9ERTRfUG9zKSAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9NT0RFNF8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkxfTU9ERTRfUG9zKSAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JMX01PREU1X1BvcyAgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JMX01PREU1X01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSTF9NT0RFNV9Qb3MpICAgICAgLyohPCAweDAwMzAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU1ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSTF9NT0RFNV9Nc2sgICAgICAgICAgICAgICAgLyohPCBNT0RFNVsxOjBdIGJpdHMgKFBvcnQgeCBtb2RlIGJpdHMsIHBpbiA1KSAqLw0KI2RlZmluZSBHUElPX0NSTF9NT0RFNV8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkxfTU9ERTVfUG9zKSAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9NT0RFNV8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkxfTU9ERTVfUG9zKSAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JMX01PREU2X1BvcyAgICAgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JMX01PREU2X01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSTF9NT0RFNl9Qb3MpICAgICAgLyohPCAweDAzMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU2ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSTF9NT0RFNl9Nc2sgICAgICAgICAgICAgICAgLyohPCBNT0RFNlsxOjBdIGJpdHMgKFBvcnQgeCBtb2RlIGJpdHMsIHBpbiA2KSAqLw0KI2RlZmluZSBHUElPX0NSTF9NT0RFNl8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkxfTU9ERTZfUG9zKSAgICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9NT0RFNl8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkxfTU9ERTZfUG9zKSAgICAgIC8qITwgMHgwMjAwMDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JMX01PREU3X1BvcyAgICAgICAgICAgICAgICAgICAoMjhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JMX01PREU3X01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSTF9NT0RFN19Qb3MpICAgICAgLyohPCAweDMwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX01PREU3ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSTF9NT0RFN19Nc2sgICAgICAgICAgICAgICAgLyohPCBNT0RFN1sxOjBdIGJpdHMgKFBvcnQgeCBtb2RlIGJpdHMsIHBpbiA3KSAqLw0KI2RlZmluZSBHUElPX0NSTF9NT0RFN18wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkxfTU9ERTdfUG9zKSAgICAgIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9NT0RFN18xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkxfTU9ERTdfUG9zKSAgICAgIC8qITwgMHgyMDAwMDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JMX0NORl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JMX0NORl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgzMzMzMzMzM1UgPDwgR1BJT19DUkxfQ05GX1BvcykgLyohPCAweENDQ0NDQ0NDICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORiAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSTF9DTkZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzICovDQoNCiNkZWZpbmUgR1BJT19DUkxfQ05GMF9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfQ05GMF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX0NORjBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMEMgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GMCAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX0NORjBfTXNrICAgICAgICAgICAgICAgICAvKiE8IENORjBbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gMCkgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GMF8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JMX0NORjBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GMF8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JMX0NORjBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCg0KI2RlZmluZSBHUElPX0NSTF9DTkYxX1BvcyAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9DTkYxX01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkxfQ05GMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDBDMCAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkYxICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfQ05GMV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ05GMVsxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiAxKSAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkYxXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkxfQ05GMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkYxXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkxfQ05GMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JMX0NORjJfUG9zICAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JMX0NORjJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSTF9DTkYyX1BvcykgICAgICAgLyohPCAweDAwMDAwQzAwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjIgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSTF9DTkYyX01zayAgICAgICAgICAgICAgICAgLyohPCBDTkYyWzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDIpICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjJfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9DTkYyX1BvcykgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjJfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9DTkYyX1BvcykgICAgICAgLyohPCAweDAwMDAwODAwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfQ05GM19Qb3MgICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfQ05GM19Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX0NORjNfUG9zKSAgICAgICAvKiE8IDB4MDAwMEMwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GMyAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX0NORjNfTXNrICAgICAgICAgICAgICAgICAvKiE8IENORjNbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gMykgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GM18wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JMX0NORjNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GM18xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JMX0NORjNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9DTkY0X1BvcyAgICAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9DTkY0X01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkxfQ05GNF9Qb3MpICAgICAgIC8qITwgMHgwMDBDMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkY0ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfQ05GNF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ05GNFsxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiA0KSAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkY0XzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkxfQ05GNF9Qb3MpICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkY0XzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkxfQ05GNF9Qb3MpICAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JMX0NORjVfUG9zICAgICAgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JMX0NORjVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSTF9DTkY1X1BvcykgICAgICAgLyohPCAweDAwQzAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjUgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSTF9DTkY1X01zayAgICAgICAgICAgICAgICAgLyohPCBDTkY1WzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDUpICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjVfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSTF9DTkY1X1BvcykgICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JMX0NORjVfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSTF9DTkY1X1BvcykgICAgICAgLyohPCAweDAwODAwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkxfQ05GNl9Qb3MgICAgICAgICAgICAgICAgICAgICgyNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkxfQ05GNl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JMX0NORjZfUG9zKSAgICAgICAvKiE8IDB4MEMwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GNiAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JMX0NORjZfTXNrICAgICAgICAgICAgICAgICAvKiE8IENORjZbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gNikgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GNl8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JMX0NORjZfUG9zKSAgICAgICAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkxfQ05GNl8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JMX0NORjZfUG9zKSAgICAgICAvKiE8IDB4MDgwMDAwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSTF9DTkY3X1BvcyAgICAgICAgICAgICAgICAgICAgKDMwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSTF9DTkY3X01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkxfQ05GN19Qb3MpICAgICAgIC8qITwgMHhDMDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkY3ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkxfQ05GN19Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ05GN1sxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiA3KSAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkY3XzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkxfQ05GN19Qb3MpICAgICAgIC8qITwgMHg0MDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSTF9DTkY3XzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkxfQ05GN19Qb3MpICAgICAgIC8qITwgMHg4MDAwMDAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEdQSU9fQ1JIIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9NT0RFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MzMzMzMzMzNVIDw8IEdQSU9fQ1JIX01PREVfUG9zKSAvKiE8IDB4MzMzMzMzMzMgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERSAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX01PREVfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBtb2RlIGJpdHMgKi8NCg0KI2RlZmluZSBHUElPX0NSSF9NT0RFOF9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9NT0RFOF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfTU9ERThfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMyAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFOCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfTU9ERThfTXNrICAgICAgICAgICAgICAgIC8qITwgTU9ERThbMTowXSBiaXRzIChQb3J0IHggbW9kZSBiaXRzLCBwaW4gOCkgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERThfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JIX01PREU4X1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERThfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JIX01PREU4X1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCg0KI2RlZmluZSBHUElPX0NSSF9NT0RFOV9Qb3MgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9NT0RFOV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfTU9ERTlfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAzMCAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFOSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfTU9ERTlfTXNrICAgICAgICAgICAgICAgIC8qITwgTU9ERTlbMTowXSBiaXRzIChQb3J0IHggbW9kZSBiaXRzLCBwaW4gOSkgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTlfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JIX01PREU5X1BvcykgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTlfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JIX01PREU5X1BvcykgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCg0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTBfUG9zICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTBfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfTU9ERTEwX1BvcykgICAgIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfTU9ERTEwX01zayAgICAgICAgICAgICAgIC8qITwgTU9ERTEwWzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDEwKSAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTBfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfTU9ERTEwX1BvcykgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTBfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfTU9ERTEwX1BvcykgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMV9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMV9Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9NT0RFMTFfUG9zKSAgICAgLyohPCAweDAwMDAzMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMSAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9NT0RFMTFfTXNrICAgICAgICAgICAgICAgLyohPCBNT0RFMTFbMTowXSBiaXRzIChQb3J0IHggbW9kZSBiaXRzLCBwaW4gMTEpICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMV8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSSF9NT0RFMTFfUG9zKSAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxMV8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSSF9NT0RFMTFfUG9zKSAgICAgLyohPCAweDAwMDAyMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkhfTU9ERTEyX1BvcyAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfTU9ERTEyX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX01PREUxMl9Qb3MpICAgICAvKiE8IDB4MDAwMzAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTEyICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX01PREUxMl9Nc2sgICAgICAgICAgICAgICAvKiE8IE1PREUxMlsxOjBdIGJpdHMgKFBvcnQgeCBtb2RlIGJpdHMsIHBpbiAxMikgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTEyXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JIX01PREUxMl9Qb3MpICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTEyXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JIX01PREUxMl9Qb3MpICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTNfUG9zICAgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTNfTXNrICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfTU9ERTEzX1BvcykgICAgIC8qITwgMHgwMDMwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTMgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfTU9ERTEzX01zayAgICAgICAgICAgICAgIC8qITwgTU9ERTEzWzE6MF0gYml0cyAoUG9ydCB4IG1vZGUgYml0cywgcGluIDEzKSAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTNfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfTU9ERTEzX1BvcykgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9NT0RFMTNfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfTU9ERTEzX1BvcykgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxNF9Qb3MgICAgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxNF9Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9NT0RFMTRfUG9zKSAgICAgLyohPCAweDAzMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxNCAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9NT0RFMTRfTXNrICAgICAgICAgICAgICAgLyohPCBNT0RFMTRbMTowXSBiaXRzIChQb3J0IHggbW9kZSBiaXRzLCBwaW4gMTQpICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxNF8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSSF9NT0RFMTRfUG9zKSAgICAgLyohPCAweDAxMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX01PREUxNF8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSSF9NT0RFMTRfUG9zKSAgICAgLyohPCAweDAyMDAwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkhfTU9ERTE1X1BvcyAgICAgICAgICAgICAgICAgICgyOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfTU9ERTE1X01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX01PREUxNV9Qb3MpICAgICAvKiE8IDB4MzAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTE1ICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX01PREUxNV9Nc2sgICAgICAgICAgICAgICAvKiE8IE1PREUxNVsxOjBdIGJpdHMgKFBvcnQgeCBtb2RlIGJpdHMsIHBpbiAxNSkgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTE1XzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JIX01PREUxNV9Qb3MpICAgICAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfTU9ERTE1XzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JIX01PREUxNV9Qb3MpICAgICAvKiE8IDB4MjAwMDAwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSSF9DTkZfUG9zICAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9DTkZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MzMzMzMzMzNVIDw8IEdQSU9fQ1JIX0NORl9Qb3MpIC8qITwgMHhDQ0NDQ0NDQyAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYgICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfQ05GX01zayAgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cyAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX0NORjhfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX0NORjhfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9DTkY4X1BvcykgICAgICAgLyohPCAweDAwMDAwMDBDICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjggICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9DTkY4X01zayAgICAgICAgICAgICAgICAgLyohPCBDTkY4WzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDgpICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjhfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSSF9DTkY4X1BvcykgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjhfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSSF9DTkY4X1BvcykgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQoNCiNkZWZpbmUgR1BJT19DUkhfQ05GOV9Qb3MgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfQ05GOV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX0NORjlfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwQzAgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GOSAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX0NORjlfTXNrICAgICAgICAgICAgICAgICAvKiE8IENORjlbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gOSkgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GOV8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JIX0NORjlfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GOV8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JIX0NORjlfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCg0KI2RlZmluZSBHUElPX0NSSF9DTkYxMF9Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9DTkYxMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfQ05GMTBfUG9zKSAgICAgIC8qITwgMHgwMDAwMEMwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxMCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfQ05GMTBfTXNrICAgICAgICAgICAgICAgIC8qITwgQ05GMTBbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gMTApICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjEwXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSSF9DTkYxMF9Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjEwXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSSF9DTkYxMF9Qb3MpICAgICAgLyohPCAweDAwMDAwODAwICovDQoNCiNkZWZpbmUgR1BJT19DUkhfQ05GMTFfUG9zICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfQ05GMTFfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX0NORjExX1BvcykgICAgICAvKiE8IDB4MDAwMEMwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTEgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX0NORjExX01zayAgICAgICAgICAgICAgICAvKiE8IENORjExWzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDExKSAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxMV8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfQ05GMTFfUG9zKSAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxMV8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfQ05GMTFfUG9zKSAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX0NORjEyX1BvcyAgICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX0NORjEyX01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9DTkYxMl9Qb3MpICAgICAgLyohPCAweDAwMEMwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjEyICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9DTkYxMl9Nc2sgICAgICAgICAgICAgICAgLyohPCBDTkYxMlsxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiAxMikgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTJfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JIX0NORjEyX1BvcykgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTJfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JIX0NORjEyX1BvcykgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCg0KI2RlZmluZSBHUElPX0NSSF9DTkYxM19Qb3MgICAgICAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0NSSF9DTkYxM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgR1BJT19DUkhfQ05GMTNfUG9zKSAgICAgIC8qITwgMHgwMEMwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxMyAgICAgICAgICAgICAgICAgICAgICAgR1BJT19DUkhfQ05GMTNfTXNrICAgICAgICAgICAgICAgIC8qITwgQ05GMTNbMTowXSBiaXRzIChQb3J0IHggY29uZmlndXJhdGlvbiBiaXRzLCBwaW4gMTMpICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjEzXzAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0NSSF9DTkYxM19Qb3MpICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjEzXzEgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBHUElPX0NSSF9DTkYxM19Qb3MpICAgICAgLyohPCAweDAwODAwMDAwICovDQoNCiNkZWZpbmUgR1BJT19DUkhfQ05GMTRfUG9zICAgICAgICAgICAgICAgICAgICgyNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19DUkhfQ05GMTRfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEdQSU9fQ1JIX0NORjE0X1BvcykgICAgICAvKiE8IDB4MEMwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTQgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQ1JIX0NORjE0X01zayAgICAgICAgICAgICAgICAvKiE8IENORjE0WzE6MF0gYml0cyAoUG9ydCB4IGNvbmZpZ3VyYXRpb24gYml0cywgcGluIDE0KSAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxNF8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19DUkhfQ05GMTRfUG9zKSAgICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0NSSF9DTkYxNF8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgR1BJT19DUkhfQ05GMTRfUG9zKSAgICAgIC8qITwgMHgwODAwMDAwMCAqLw0KDQojZGVmaW5lIEdQSU9fQ1JIX0NORjE1X1BvcyAgICAgICAgICAgICAgICAgICAoMzBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQ1JIX0NORjE1X01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBHUElPX0NSSF9DTkYxNV9Qb3MpICAgICAgLyohPCAweEMwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQ1JIX0NORjE1ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0NSSF9DTkYxNV9Nc2sgICAgICAgICAgICAgICAgLyohPCBDTkYxNVsxOjBdIGJpdHMgKFBvcnQgeCBjb25maWd1cmF0aW9uIGJpdHMsIHBpbiAxNSkgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTVfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQ1JIX0NORjE1X1BvcykgICAgICAvKiE8IDB4NDAwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19DUkhfQ05GMTVfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEdQSU9fQ1JIX0NORjE1X1BvcykgICAgICAvKiE8IDB4ODAwMDAwMDAgKi8NCg0KLyohPCoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEdQSU9fSURSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIwX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFIwX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19JRFJfSURSMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIwICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19JRFJfSURSMF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCBpbnB1dCBkYXRhLCBiaXQgMCAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIxX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFIxX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19JRFJfSURSMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIxICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19JRFJfSURSMV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCBpbnB1dCBkYXRhLCBiaXQgMSAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIyX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFIyX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19JRFJfSURSMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIyICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19JRFJfSURSMl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCBpbnB1dCBkYXRhLCBiaXQgMiAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIzX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFIzX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19JRFJfSURSM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIzICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19JRFJfSURSM19Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCBpbnB1dCBkYXRhLCBiaXQgMyAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFI0X1BvcyAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFI0X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19JRFJfSURSNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFI0ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19JRFJfSURSNF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCBpbnB1dCBkYXRhLCBiaXQgNCAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFI1X1BvcyAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFI1X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19JRFJfSURSNV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFI1ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19JRFJfSURSNV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCBpbnB1dCBkYXRhLCBiaXQgNSAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFI2X1BvcyAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFI2X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19JRFJfSURSNl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFI2ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19JRFJfSURSNl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCBpbnB1dCBkYXRhLCBiaXQgNiAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFI3X1BvcyAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFI3X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19JRFJfSURSN19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFI3ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19JRFJfSURSN19Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCBpbnB1dCBkYXRhLCBiaXQgNyAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFI4X1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFI4X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19JRFJfSURSOF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFI4ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19JRFJfSURSOF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCBpbnB1dCBkYXRhLCBiaXQgOCAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFI5X1BvcyAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFI5X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19JRFJfSURSOV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFI5ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19JRFJfSURSOV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCBpbnB1dCBkYXRhLCBiaXQgOSAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIxMF9Qb3MgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFIxMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19JRFJfSURSMTBfUG9zKSAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIxMCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19JRFJfSURSMTBfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCBpbnB1dCBkYXRhLCBiaXQgMTAgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMTFfUG9zICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19JRFJfSURSMTFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fSURSX0lEUjExX1BvcykgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMTEgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fSURSX0lEUjExX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgaW5wdXQgZGF0YSwgYml0IDExICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjEyX1BvcyAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjEyX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFIxMl9Qb3MpICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjEyICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFIxMl9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCAxMiAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIxM19Qb3MgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0lEUl9JRFIxM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19JRFJfSURSMTNfUG9zKSAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBHUElPX0lEUl9JRFIxMyAgICAgICAgICAgICAgICAgICAgICAgR1BJT19JRFJfSURSMTNfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCBpbnB1dCBkYXRhLCBiaXQgMTMgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMTRfUG9zICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19JRFJfSURSMTRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fSURSX0lEUjE0X1BvcykgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgR1BJT19JRFJfSURSMTQgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fSURSX0lEUjE0X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgaW5wdXQgZGF0YSwgYml0IDE0ICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjE1X1BvcyAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fSURSX0lEUjE1X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0lEUl9JRFIxNV9Qb3MpICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEdQSU9fSURSX0lEUjE1ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0lEUl9JRFIxNV9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IGlucHV0IGRhdGEsIGJpdCAxNSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEdQSU9fT0RSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBHUElPX09EUl9PRFIwX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFIwX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIwICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSMF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDAgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMV9Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMSAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjFfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCAxICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjJfUG9zICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFIyX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjIgICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFIyX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgMiAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIzX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFIzX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIzICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSM19Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDMgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSNF9Qb3MgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSNF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSNCAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjRfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCA0ICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjVfUG9zICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFI1X1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjUgICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFI1X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgNSAqLw0KI2RlZmluZSBHUElPX09EUl9PRFI2X1BvcyAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFI2X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSNl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFI2ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSNl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDYgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSN19Qb3MgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSN19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjdfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSNyAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjdfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCA3ICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjhfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjhfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFI4X1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjggICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFI4X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgOCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFI5X1BvcyAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFI5X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSOV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFI5ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSOV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDkgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMTBfUG9zICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSMTBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjEwX1BvcykgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMTAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjEwX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCAxMCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxMV9Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFIxMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSMTFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxMSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSMTFfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDExICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjEyX1BvcyAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjEyX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFIxMl9Qb3MpICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjEyICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFIxMl9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgMTIgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMTNfUG9zICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19PRFJfT0RSMTNfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fT0RSX09EUjEzX1BvcykgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgR1BJT19PRFJfT0RSMTMgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fT0RSX09EUjEzX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgb3V0cHV0IGRhdGEsIGJpdCAxMyAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxNF9Qb3MgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX09EUl9PRFIxNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19PRFJfT0RSMTRfUG9zKSAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBHUElPX09EUl9PRFIxNCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19PRFJfT0RSMTRfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCBvdXRwdXQgZGF0YSwgYml0IDE0ICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjE1X1BvcyAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fT0RSX09EUjE1X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX09EUl9PRFIxNV9Qb3MpICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEdQSU9fT0RSX09EUjE1ICAgICAgICAgICAgICAgICAgICAgICBHUElPX09EUl9PRFIxNV9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IG91dHB1dCBkYXRhLCBiaXQgMTUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEdQSU9fQlNSUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTMF9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JTMF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUzBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTMCAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUzBfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBTZXQgYml0IDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTMV9Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JTMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUzFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTMSAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUzFfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBTZXQgYml0IDEgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTMl9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JTMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUzJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTMiAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUzJfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBTZXQgYml0IDIgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTM19Qb3MgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JTM19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUzNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTMyAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUzNfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBTZXQgYml0IDMgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTNF9Qb3MgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JTNF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUzRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTNCAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUzRfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBTZXQgYml0IDQgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTNV9Qb3MgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JTNV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUzVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTNSAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUzVfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBTZXQgYml0IDUgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTNl9Qb3MgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JTNl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUzZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTNiAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUzZfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBTZXQgYml0IDYgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTN19Qb3MgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JTN19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUzdfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTNyAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUzdfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBTZXQgYml0IDcgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTOF9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JTOF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUzhfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTOCAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUzhfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBTZXQgYml0IDggKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTOV9Qb3MgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JTOV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUzlfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTOSAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUzlfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBTZXQgYml0IDkgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTMTBfUG9zICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JTMTBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUzEwX1BvcykgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTMTAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUzEwX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBTZXQgYml0IDEwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzExX1BvcyAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUzExX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlMxMV9Qb3MpICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzExICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlMxMV9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggU2V0IGJpdCAxMSAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxMl9Qb3MgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlMxMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTMTJfUG9zKSAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxMiAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTMTJfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgMTIgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTMTNfUG9zICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JTMTNfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUzEzX1BvcykgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JTMTMgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUzEzX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBTZXQgYml0IDEzICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzE0X1BvcyAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUzE0X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlMxNF9Qb3MpICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUzE0ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlMxNF9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggU2V0IGJpdCAxNCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxNV9Qb3MgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlMxNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JTMTVfUG9zKSAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlMxNSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JTMTVfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFNldCBiaXQgMTUgKi8NCg0KI2RlZmluZSBHUElPX0JTUlJfQlIwX1BvcyAgICAgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlIwX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JSMF9Qb3MpICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIwICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JSMF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjFfUG9zICAgICAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUjFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlIxX1BvcykgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjEgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlIxX01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDEgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMl9Qb3MgICAgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjJfUG9zKSAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSMiAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjJfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMiAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIzX1BvcyAgICAgICAgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlIzX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JSM19Qb3MpICAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlIzICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JSM19Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAzICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjRfUG9zICAgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUjRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlI0X1BvcykgICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjQgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlI0X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDQgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSNV9Qb3MgICAgICAgICAgICAgICAgICAgICgyMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSNV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjVfUG9zKSAgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSNSAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjVfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgNSAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlI2X1BvcyAgICAgICAgICAgICAgICAgICAgKDIyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlI2X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JSNl9Qb3MpICAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlI2ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JSNl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCA2ICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjdfUG9zICAgICAgICAgICAgICAgICAgICAoMjNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUjdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlI3X1BvcykgICAgICAgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjcgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlI3X01zayAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDcgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSOF9Qb3MgICAgICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CU1JSX0JSOF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlNSUl9CUjhfUG9zKSAgICAgICAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgR1BJT19CU1JSX0JSOCAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlNSUl9CUjhfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgOCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlI5X1BvcyAgICAgICAgICAgICAgICAgICAgKDI1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JTUlJfQlI5X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CU1JSX0JSOV9Qb3MpICAgICAgIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBHUElPX0JTUlJfQlI5ICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CU1JSX0JSOV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCA5ICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjEwX1BvcyAgICAgICAgICAgICAgICAgICAoMjZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUjEwX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlIxMF9Qb3MpICAgICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjEwICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlIxMF9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDEwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjExX1BvcyAgICAgICAgICAgICAgICAgICAoMjdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUjExX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlIxMV9Qb3MpICAgICAgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjExICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlIxMV9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDExICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjEyX1BvcyAgICAgICAgICAgICAgICAgICAoMjhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUjEyX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlIxMl9Qb3MpICAgICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjEyICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlIxMl9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDEyICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjEzX1BvcyAgICAgICAgICAgICAgICAgICAoMjlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUjEzX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlIxM19Qb3MpICAgICAgLyohPCAweDIwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjEzICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlIxM19Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDEzICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjE0X1BvcyAgICAgICAgICAgICAgICAgICAoMzBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUjE0X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlIxNF9Qb3MpICAgICAgLyohPCAweDQwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjE0ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlIxNF9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDE0ICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjE1X1BvcyAgICAgICAgICAgICAgICAgICAoMzFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlNSUl9CUjE1X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JTUlJfQlIxNV9Qb3MpICAgICAgLyohPCAweDgwMDAwMDAwICovDQojZGVmaW5lIEdQSU9fQlNSUl9CUjE1ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JTUlJfQlIxNV9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDE1ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgR1BJT19CUlIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEdQSU9fQlJSX0JSMF9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSMF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JSUl9CUjBfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMCAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JSUl9CUjBfTXNrICAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDAgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlIxX1BvcyAgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CUlJfQlIxX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlJSX0JSMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlIxICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlJSX0JSMV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMSAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjJfUG9zICAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjJfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlIyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjIgICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlIyX01zayAgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCAyICovDQojZGVmaW5lIEdQSU9fQlJSX0JSM19Qb3MgICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSM19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JSUl9CUjNfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEdQSU9fQlJSX0JSMyAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JSUl9CUjNfTXNrICAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDMgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlI0X1BvcyAgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CUlJfQlI0X01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlJSX0JSNF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlI0ICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlJSX0JSNF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgNCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjVfUG9zICAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjVfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlI1X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjUgICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlI1X01zayAgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCA1ICovDQojZGVmaW5lIEdQSU9fQlJSX0JSNl9Qb3MgICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSNl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JSUl9CUjZfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEdQSU9fQlJSX0JSNiAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JSUl9CUjZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDYgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlI3X1BvcyAgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CUlJfQlI3X01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlJSX0JSN19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlI3ICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlJSX0JSN19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgNyAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjhfUG9zICAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0JSUl9CUjhfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19CUlJfQlI4X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBHUElPX0JSUl9CUjggICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlJfQlI4X01zayAgICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IFJlc2V0IGJpdCA4ICovDQojZGVmaW5lIEdQSU9fQlJSX0JSOV9Qb3MgICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fQlJSX0JSOV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0JSUl9CUjlfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEdQSU9fQlJSX0JSOSAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0JSUl9CUjlfTXNrICAgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggUmVzZXQgYml0IDkgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlIxMF9Qb3MgICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CUlJfQlIxMF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlJSX0JSMTBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlIxMCAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlJSX0JSMTBfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMTAgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlIxMV9Qb3MgICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CUlJfQlIxMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlJSX0JSMTFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlIxMSAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlJSX0JSMTFfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMTEgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlIxMl9Qb3MgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CUlJfQlIxMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlJSX0JSMTJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlIxMiAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlJSX0JSMTJfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMTIgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlIxM19Qb3MgICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CUlJfQlIxM19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlJSX0JSMTNfUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlIxMyAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlJSX0JSMTNfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMTMgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlIxNF9Qb3MgICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CUlJfQlIxNF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlJSX0JSMTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlIxNCAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlJSX0JSMTRfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMTQgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlIxNV9Qb3MgICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19CUlJfQlIxNV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fQlJSX0JSMTVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgR1BJT19CUlJfQlIxNSAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQlJSX0JSMTVfTXNrICAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBSZXNldCBiaXQgMTUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEdQSU9fTENLUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzBfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0swX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0swX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCAwICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxX1BvcyAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxICAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLMV9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgMSAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMl9Qb3MgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzJfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMiAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzJfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDIgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzNfUG9zICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzNfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0szX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzMgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0szX01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCAzICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s0X1BvcyAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s0X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLNF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s0ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLNF9Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgNCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLNV9Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLNSAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzVfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDUgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzZfUG9zICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzZfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0s2X1BvcykgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzYgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0s2X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCA2ICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s3X1BvcyAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s3X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLN19Qb3MpICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0s3ICAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLN19Nc2sgICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgNyAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLOF9Qb3MgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLOF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzhfUG9zKSAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLOCAgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzhfTXNrICAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDggKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzlfUG9zICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzlfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0s5X1BvcykgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzkgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0s5X01zayAgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCA5ICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxMF9Qb3MgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxMF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLMTBfUG9zKSAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxMCAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLMTBfTXNrICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgMTAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzExX1BvcyAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzExX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0sxMV9Qb3MpICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzExICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0sxMV9Nc2sgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCAxMSAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTJfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTJfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzEyX1BvcykgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTIgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzEyX01zayAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDEyICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxM19Qb3MgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxM19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLMTNfUG9zKSAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0sxMyAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLMTNfTXNrICAgICAgICAgICAgICAgLyohPCBQb3J0IHggTG9jayBiaXQgMTMgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzE0X1BvcyAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzE0X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEdQSU9fTENLUl9MQ0sxNF9Qb3MpICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgR1BJT19MQ0tSX0xDSzE0ICAgICAgICAgICAgICAgICAgICAgIEdQSU9fTENLUl9MQ0sxNF9Nc2sgICAgICAgICAgICAgICAvKiE8IFBvcnQgeCBMb2NrIGJpdCAxNCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTVfUG9zICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBHUElPX0xDS1JfTENLMTVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgR1BJT19MQ0tSX0xDSzE1X1BvcykgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBHUElPX0xDS1JfTENLMTUgICAgICAgICAgICAgICAgICAgICAgR1BJT19MQ0tSX0xDSzE1X01zayAgICAgICAgICAgICAgIC8qITwgUG9ydCB4IExvY2sgYml0IDE1ICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0tLX1BvcyAgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEdQSU9fTENLUl9MQ0tLX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBHUElPX0xDS1JfTENLS19Qb3MpICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEdQSU9fTENLUl9MQ0tLICAgICAgICAgICAgICAgICAgICAgICBHUElPX0xDS1JfTENLS19Nc2sgICAgICAgICAgICAgICAgLyohPCBMb2NrIGtleSAqLw0KDQovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQUZJT19FVkNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX01zayAgICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FVkNSX1BJTl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOICAgICAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUElOWzM6MF0gYml0cyAoUGluIHNlbGVjdGlvbikgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVZDUl9QSU5fUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFGSU9fRVZDUl9QSU5fUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl8yICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFGSU9fRVZDUl9QSU5fUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl8zICAgICAgICAgICAgICAgICAgICAgICgweDhVIDw8IEFGSU9fRVZDUl9QSU5fUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCg0KLyohPCBQSU4gY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMCAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUGluIDAgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDFfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDFfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVZDUl9QSU5fUFgxX1BvcykgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDEgICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fUFgxX01zayAgICAgICAgICAgICAvKiE8IFBpbiAxIHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgyX1BvcyAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgyX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VWQ1JfUElOX1BYMl9Qb3MpICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgyICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX1BYMl9Nc2sgICAgICAgICAgICAgLyohPCBQaW4gMiBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYM19Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYM19Nc2sgICAgICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FVkNSX1BJTl9QWDNfUG9zKSAgIC8qITwgMHgwMDAwMDAwMyAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMyAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9QWDNfTXNrICAgICAgICAgICAgIC8qITwgUGluIDMgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDRfUG9zICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDRfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVZDUl9QSU5fUFg0X1BvcykgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDQgICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fUFg0X01zayAgICAgICAgICAgICAvKiE8IFBpbiA0IHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg1X1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg1X01zayAgICAgICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VWQ1JfUElOX1BYNV9Qb3MpICAgLyohPCAweDAwMDAwMDA1ICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg1ICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX1BYNV9Nc2sgICAgICAgICAgICAgLyohPCBQaW4gNSBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYNl9Qb3MgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYNl9Nc2sgICAgICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FVkNSX1BJTl9QWDZfUG9zKSAgIC8qITwgMHgwMDAwMDAwNiAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYNiAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9QWDZfTXNrICAgICAgICAgICAgIC8qITwgUGluIDYgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDdfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDdfTXNrICAgICAgICAgICAgICAgICgweDdVIDw8IEFGSU9fRVZDUl9QSU5fUFg3X1BvcykgICAvKiE8IDB4MDAwMDAwMDcgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDcgICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fUFg3X01zayAgICAgICAgICAgICAvKiE8IFBpbiA3IHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg4X1BvcyAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg4X01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VWQ1JfUElOX1BYOF9Qb3MpICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFg4ICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX1BYOF9Nc2sgICAgICAgICAgICAgLyohPCBQaW4gOCBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYOV9Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYOV9Nc2sgICAgICAgICAgICAgICAgKDB4OVUgPDwgQUZJT19FVkNSX1BJTl9QWDlfUG9zKSAgIC8qITwgMHgwMDAwMDAwOSAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYOSAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9QWDlfTXNrICAgICAgICAgICAgIC8qITwgUGluIDkgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDEwX1BvcyAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDEwX01zayAgICAgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVZDUl9QSU5fUFgxMF9Qb3MpICAvKiE8IDB4MDAwMDAwMEEgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDEwICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fUFgxMF9Nc2sgICAgICAgICAgICAvKiE8IFBpbiAxMCBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTFfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTFfTXNrICAgICAgICAgICAgICAgKDB4QlUgPDwgQUZJT19FVkNSX1BJTl9QWDExX1BvcykgIC8qITwgMHgwMDAwMDAwQiAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTEgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9QWDExX01zayAgICAgICAgICAgIC8qITwgUGluIDExIHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxMl9Qb3MgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxMl9Nc2sgICAgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VWQ1JfUElOX1BYMTJfUG9zKSAgLyohPCAweDAwMDAwMDBDICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxMiAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX1BYMTJfTXNrICAgICAgICAgICAgLyohPCBQaW4gMTIgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDEzX1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDEzX01zayAgICAgICAgICAgICAgICgweERVIDw8IEFGSU9fRVZDUl9QSU5fUFgxM19Qb3MpICAvKiE8IDB4MDAwMDAwMEQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BJTl9QWDEzICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QSU5fUFgxM19Nc2sgICAgICAgICAgICAvKiE8IFBpbiAxMyBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTRfUG9zICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTRfTXNrICAgICAgICAgICAgICAgKDB4N1UgPDwgQUZJT19FVkNSX1BJTl9QWDE0X1BvcykgIC8qITwgMHgwMDAwMDAwRSAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUElOX1BYMTQgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BJTl9QWDE0X01zayAgICAgICAgICAgIC8qITwgUGluIDE0IHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxNV9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxNV9Nc2sgICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VWQ1JfUElOX1BYMTVfUG9zKSAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIEFGSU9fRVZDUl9QSU5fUFgxNSAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUElOX1BYMTVfTXNrICAgICAgICAgICAgLyohPCBQaW4gMTUgc2VsZWN0ZWQgKi8NCg0KI2RlZmluZSBBRklPX0VWQ1JfUE9SVF9Qb3MgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUE9SVF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQUZJT19FVkNSX1BPUlRfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA3MCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUE9SVCAgICAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BPUlRfTXNrICAgICAgICAgICAgICAgIC8qITwgUE9SVFsyOjBdIGJpdHMgKFBvcnQgc2VsZWN0aW9uKSAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUE9SVF8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FVkNSX1BPUlRfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUE9SVF8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQUZJT19FVkNSX1BPUlRfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUE9SVF8yICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQUZJT19FVkNSX1BPUlRfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KDQovKiE8IFBPUlQgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUE9SVF9QQSAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUG9ydCBBIHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX1BCX1BvcyAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX1BCX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VWQ1JfUE9SVF9QQl9Qb3MpICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX1BCICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUE9SVF9QQl9Nc2sgICAgICAgICAgICAgLyohPCBQb3J0IEIgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUENfUG9zICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUENfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVZDUl9QT1JUX1BDX1BvcykgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgQUZJT19FVkNSX1BPUlRfUEMgICAgICAgICAgICAgICAgICAgIEFGSU9fRVZDUl9QT1JUX1BDX01zayAgICAgICAgICAgICAvKiE8IFBvcnQgQyBzZWxlY3RlZCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUE9SVF9QRF9Qb3MgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfUE9SVF9QRF9Nc2sgICAgICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FVkNSX1BPUlRfUERfUG9zKSAgIC8qITwgMHgwMDAwMDAzMCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfUE9SVF9QRCAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX1BPUlRfUERfTXNrICAgICAgICAgICAgIC8qITwgUG9ydCBEIHNlbGVjdGVkICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX1BFX1BvcyAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX1BFX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VWQ1JfUE9SVF9QRV9Qb3MpICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFGSU9fRVZDUl9QT1JUX1BFICAgICAgICAgICAgICAgICAgICBBRklPX0VWQ1JfUE9SVF9QRV9Nc2sgICAgICAgICAgICAgLyohPCBQb3J0IEUgc2VsZWN0ZWQgKi8NCg0KI2RlZmluZSBBRklPX0VWQ1JfRVZPRV9Qb3MgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VWQ1JfRVZPRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FVkNSX0VWT0VfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBBRklPX0VWQ1JfRVZPRSAgICAgICAgICAgICAgICAgICAgICAgQUZJT19FVkNSX0VWT0VfTXNrICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgT3V0cHV0IEVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQUZJT19NQVBSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRklPX01BUFJfU1BJMV9SRU1BUF9Qb3MgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfU1BJMV9SRU1BUF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSX1NQSTFfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1NQSTFfUkVNQVAgICAgICAgICAgICAgICAgIEFGSU9fTUFQUl9TUEkxX1JFTUFQX01zayAgICAgICAgICAvKiE8IFNQSTEgcmVtYXBwaW5nICovDQojZGVmaW5lIEFGSU9fTUFQUl9JMkMxX1JFTUFQX1BvcyAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9JMkMxX1JFTUFQX01zayAgICAgICAgICAgICAoMHgxVSA8PCBBRklPX01BUFJfSTJDMV9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRklPX01BUFJfSTJDMV9SRU1BUCAgICAgICAgICAgICAgICAgQUZJT19NQVBSX0kyQzFfUkVNQVBfTXNrICAgICAgICAgIC8qITwgSTJDMSByZW1hcHBpbmcgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1VTQVJUMV9SRU1BUF9Qb3MgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1VTQVJUMV9SRU1BUF9Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fTUFQUl9VU0FSVDFfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1VTQVJUMV9SRU1BUCAgICAgICAgICAgICAgIEFGSU9fTUFQUl9VU0FSVDFfUkVNQVBfTXNrICAgICAgICAvKiE8IFVTQVJUMSByZW1hcHBpbmcgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1VTQVJUMl9SRU1BUF9Qb3MgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1VTQVJUMl9SRU1BUF9Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fTUFQUl9VU0FSVDJfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQUZJT19NQVBSX1VTQVJUMl9SRU1BUCAgICAgICAgICAgICAgIEFGSU9fTUFQUl9VU0FSVDJfUkVNQVBfTXNrICAgICAgICAvKiE8IFVTQVJUMiByZW1hcHBpbmcgKi8NCg0KDQojZGVmaW5lIEFGSU9fTUFQUl9USU0xX1JFTUFQX1BvcyAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9USU0xX1JFTUFQX01zayAgICAgICAgICAgICAoMHgzVSA8PCBBRklPX01BUFJfVElNMV9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDBDMCAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMV9SRU1BUCAgICAgICAgICAgICAgICAgQUZJT19NQVBSX1RJTTFfUkVNQVBfTXNrICAgICAgICAgIC8qITwgVElNMV9SRU1BUFsxOjBdIGJpdHMgKFRJTTEgcmVtYXBwaW5nKSAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMV9SRU1BUF8wICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSX1RJTTFfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTFfUkVNQVBfMSAgICAgICAgICAgICAgICgweDJVIDw8IEFGSU9fTUFQUl9USU0xX1JFTUFQX1BvcykgLyohPCAweDAwMDAwMDgwICovDQoNCi8qITwgVElNMV9SRU1BUCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0xX1JFTUFQX05PUkVNQVAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBObyByZW1hcCAoRVRSL1BBMTIsIENIMS9QQTgsIENIMi9QQTksIENIMy9QQTEwLCBDSDQvUEExMSwgQktJTi9QQjEyLCBDSDFOL1BCMTMsIENIMk4vUEIxNCwgQ0gzTi9QQjE1KSAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMV9SRU1BUF9QQVJUSUFMUkVNQVBfUG9zICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfVElNMV9SRU1BUF9QQVJUSUFMUkVNQVBfTXNrICgweDFVIDw8IEFGSU9fTUFQUl9USU0xX1JFTUFQX1BBUlRJQUxSRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMV9SRU1BUF9QQVJUSUFMUkVNQVAgICAgQUZJT19NQVBSX1RJTTFfUkVNQVBfUEFSVElBTFJFTUFQX01zayAvKiE8IFBhcnRpYWwgcmVtYXAgKEVUUi9QQTEyLCBDSDEvUEE4LCBDSDIvUEE5LCBDSDMvUEExMCwgQ0g0L1BBMTEsIEJLSU4vUEE2LCBDSDFOL1BBNywgQ0gyTi9QQjAsIENIM04vUEIxKSAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMV9SRU1BUF9GVUxMUkVNQVBfUG9zICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfVElNMV9SRU1BUF9GVUxMUkVNQVBfTXNrICAgKDB4M1UgPDwgQUZJT19NQVBSX1RJTTFfUkVNQVBfRlVMTFJFTUFQX1BvcykgLyohPCAweDAwMDAwMEMwICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0xX1JFTUFQX0ZVTExSRU1BUCAgICAgICBBRklPX01BUFJfVElNMV9SRU1BUF9GVUxMUkVNQVBfTXNrIC8qITwgRnVsbCByZW1hcCAoRVRSL1BFNywgQ0gxL1BFOSwgQ0gyL1BFMTEsIENIMy9QRTEzLCBDSDQvUEUxNCwgQktJTi9QRTE1LCBDSDFOL1BFOCwgQ0gyTi9QRTEwLCBDSDNOL1BFMTIpICovDQoNCiNkZWZpbmUgQUZJT19NQVBSX1RJTTJfUkVNQVBfUG9zICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1RJTTJfUkVNQVBfTXNrICAgICAgICAgICAgICgweDNVIDw8IEFGSU9fTUFQUl9USU0yX1JFTUFQX1BvcykgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQICAgICAgICAgICAgICAgICBBRklPX01BUFJfVElNMl9SRU1BUF9Nc2sgICAgICAgICAgLyohPCBUSU0yX1JFTUFQWzE6MF0gYml0cyAoVElNMiByZW1hcHBpbmcpICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQXzAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRklPX01BUFJfVElNMl9SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMl9SRU1BUF8xICAgICAgICAgICAgICAgKDB4MlUgPDwgQUZJT19NQVBSX1RJTTJfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KLyohPCBUSU0yX1JFTUFQIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTJfUkVNQVBfTk9SRU1BUCAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE5vIHJlbWFwIChDSDEvRVRSL1BBMCwgQ0gyL1BBMSwgQ0gzL1BBMiwgQ0g0L1BBMykgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTJfUkVNQVBfUEFSVElBTFJFTUFQMV9Qb3MgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1RJTTJfUkVNQVBfUEFSVElBTFJFTUFQMV9Nc2sgKDB4MVUgPDwgQUZJT19NQVBSX1RJTTJfUkVNQVBfUEFSVElBTFJFTUFQMV9Qb3MpIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMl9SRU1BUF9QQVJUSUFMUkVNQVAxICAgQUZJT19NQVBSX1RJTTJfUkVNQVBfUEFSVElBTFJFTUFQMV9Nc2sgLyohPCBQYXJ0aWFsIHJlbWFwIChDSDEvRVRSL1BBMTUsIENIMi9QQjMsIENIMy9QQTIsIENINC9QQTMpICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX1BBUlRJQUxSRU1BUDJfUG9zICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9USU0yX1JFTUFQX1BBUlRJQUxSRU1BUDJfTXNrICgweDFVIDw8IEFGSU9fTUFQUl9USU0yX1JFTUFQX1BBUlRJQUxSRU1BUDJfUG9zKSAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTJfUkVNQVBfUEFSVElBTFJFTUFQMiAgIEFGSU9fTUFQUl9USU0yX1JFTUFQX1BBUlRJQUxSRU1BUDJfTXNrIC8qITwgUGFydGlhbCByZW1hcCAoQ0gxL0VUUi9QQTAsIENIMi9QQTEsIENIMy9QQjEwLCBDSDQvUEIxMSkgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTJfUkVNQVBfRlVMTFJFTUFQX1BvcyAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1RJTTJfUkVNQVBfRlVMTFJFTUFQX01zayAgICgweDNVIDw8IEFGSU9fTUFQUl9USU0yX1JFTUFQX0ZVTExSRU1BUF9Qb3MpIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNMl9SRU1BUF9GVUxMUkVNQVAgICAgICAgQUZJT19NQVBSX1RJTTJfUkVNQVBfRlVMTFJFTUFQX01zayAvKiE8IEZ1bGwgcmVtYXAgKENIMS9FVFIvUEExNSwgQ0gyL1BCMywgQ0gzL1BCMTAsIENINC9QQjExKSAqLw0KDQojZGVmaW5lIEFGSU9fTUFQUl9USU0zX1JFTUFQX1BvcyAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fTUFQUl9USU0zX1JFTUFQX01zayAgICAgICAgICAgICAoMHgzVSA8PCBBRklPX01BUFJfVElNM19SRU1BUF9Qb3MpIC8qITwgMHgwMDAwMEMwMCAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNM19SRU1BUCAgICAgICAgICAgICAgICAgQUZJT19NQVBSX1RJTTNfUkVNQVBfTXNrICAgICAgICAgIC8qITwgVElNM19SRU1BUFsxOjBdIGJpdHMgKFRJTTMgcmVtYXBwaW5nKSAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNM19SRU1BUF8wICAgICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSX1RJTTNfUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTNfUkVNQVBfMSAgICAgICAgICAgICAgICgweDJVIDw8IEFGSU9fTUFQUl9USU0zX1JFTUFQX1BvcykgLyohPCAweDAwMDAwODAwICovDQoNCi8qITwgVElNM19SRU1BUCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0zX1JFTUFQX05PUkVNQVAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBObyByZW1hcCAoQ0gxL1BBNiwgQ0gyL1BBNywgQ0gzL1BCMCwgQ0g0L1BCMSkgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTNfUkVNQVBfUEFSVElBTFJFTUFQX1BvcyAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1RJTTNfUkVNQVBfUEFSVElBTFJFTUFQX01zayAoMHgxVSA8PCBBRklPX01BUFJfVElNM19SRU1BUF9QQVJUSUFMUkVNQVBfUG9zKSAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1RJTTNfUkVNQVBfUEFSVElBTFJFTUFQICAgIEFGSU9fTUFQUl9USU0zX1JFTUFQX1BBUlRJQUxSRU1BUF9Nc2sgLyohPCBQYXJ0aWFsIHJlbWFwIChDSDEvUEI0LCBDSDIvUEI1LCBDSDMvUEIwLCBDSDQvUEIxKSAqLw0KI2RlZmluZSBBRklPX01BUFJfVElNM19SRU1BUF9GVUxMUkVNQVBfUG9zICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfVElNM19SRU1BUF9GVUxMUkVNQVBfTXNrICAgKDB4M1UgPDwgQUZJT19NQVBSX1RJTTNfUkVNQVBfRlVMTFJFTUFQX1BvcykgLyohPCAweDAwMDAwQzAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9USU0zX1JFTUFQX0ZVTExSRU1BUCAgICAgICBBRklPX01BUFJfVElNM19SRU1BUF9GVUxMUkVNQVBfTXNrIC8qITwgRnVsbCByZW1hcCAoQ0gxL1BDNiwgQ0gyL1BDNywgQ0gzL1BDOCwgQ0g0L1BDOSkgKi8NCg0KDQoNCiNkZWZpbmUgQUZJT19NQVBSX1BEMDFfUkVNQVBfUG9zICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1BEMDFfUkVNQVBfTXNrICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fTUFQUl9QRDAxX1JFTUFQX1BvcykgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEFGSU9fTUFQUl9QRDAxX1JFTUFQICAgICAgICAgICAgICAgICBBRklPX01BUFJfUEQwMV9SRU1BUF9Nc2sgICAgICAgICAgLyohPCBQb3J0IEQwL1BvcnQgRDEgbWFwcGluZyBvbiBPU0NfSU4vT1NDX09VVCAqLw0KDQovKiE8IFNXSl9DRkcgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX01BUFJfU1dKX0NGR19Qb3MgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfU1dKX0NGR19Nc2sgICAgICAgICAgICAgICAgKDB4N1UgPDwgQUZJT19NQVBSX1NXSl9DRkdfUG9zKSAgIC8qITwgMHgwNzAwMDAwMCAqLw0KI2RlZmluZSBBRklPX01BUFJfU1dKX0NGRyAgICAgICAgICAgICAgICAgICAgQUZJT19NQVBSX1NXSl9DRkdfTXNrICAgICAgICAgICAgIC8qITwgU1dKX0NGR1syOjBdIGJpdHMgKFNlcmlhbCBXaXJlIEpUQUcgY29uZmlndXJhdGlvbikgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfMCAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFGSU9fTUFQUl9TV0pfQ0ZHX1BvcykgICAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfMSAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFGSU9fTUFQUl9TV0pfQ0ZHX1BvcykgICAvKiE8IDB4MDIwMDAwMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfMiAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFGSU9fTUFQUl9TV0pfQ0ZHX1BvcykgICAvKiE8IDB4MDQwMDAwMDAgKi8NCg0KI2RlZmluZSBBRklPX01BUFJfU1dKX0NGR19SRVNFVCAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnVsbCBTV0ogKEpUQUctRFAgKyBTVy1EUCkgOiBSZXNldCBTdGF0ZSAqLw0KI2RlZmluZSBBRklPX01BUFJfU1dKX0NGR19OT0pOVFJTVF9Qb3MgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfU1dKX0NGR19OT0pOVFJTVF9Nc2sgICAgICAgKDB4MVUgPDwgQUZJT19NQVBSX1NXSl9DRkdfTk9KTlRSU1RfUG9zKSAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfTk9KTlRSU1QgICAgICAgICAgIEFGSU9fTUFQUl9TV0pfQ0ZHX05PSk5UUlNUX01zayAgICAvKiE8IEZ1bGwgU1dKIChKVEFHLURQICsgU1ctRFApIGJ1dCB3aXRob3V0IEpOVFJTVCAqLw0KI2RlZmluZSBBRklPX01BUFJfU1dKX0NGR19KVEFHRElTQUJMRV9Qb3MgICAgKDI1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX01BUFJfU1dKX0NGR19KVEFHRElTQUJMRV9Nc2sgICAgKDB4MVUgPDwgQUZJT19NQVBSX1NXSl9DRkdfSlRBR0RJU0FCTEVfUG9zKSAvKiE8IDB4MDIwMDAwMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfSlRBR0RJU0FCTEUgICAgICAgIEFGSU9fTUFQUl9TV0pfQ0ZHX0pUQUdESVNBQkxFX01zayAvKiE8IEpUQUctRFAgRGlzYWJsZWQgYW5kIFNXLURQIEVuYWJsZWQgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfRElTQUJMRV9Qb3MgICAgICAgICgyNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfRElTQUJMRV9Nc2sgICAgICAgICgweDFVIDw8IEFGSU9fTUFQUl9TV0pfQ0ZHX0RJU0FCTEVfUG9zKSAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgQUZJT19NQVBSX1NXSl9DRkdfRElTQUJMRSAgICAgICAgICAgIEFGSU9fTUFQUl9TV0pfQ0ZHX0RJU0FCTEVfTXNrICAgICAvKiE8IEpUQUctRFAgRGlzYWJsZWQgYW5kIFNXLURQIERpc2FibGVkICovDQoNCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQUZJT19FWFRJQ1IxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX01zayAgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMF9Qb3MpICAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwICAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMF9Nc2sgICAgICAgICAgICAvKiE8IEVYVEkgMCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9Qb3MgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9Nc2sgICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjFfRVhUSTFfUG9zKSAgLyohPCAweDAwMDAwMEYwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMSAgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTFfTXNrICAgICAgICAgICAgLyohPCBFWFRJIDEgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUG9zICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfTXNrICAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1IxX0VYVEkyX1BvcykgIC8qITwgMHgwMDAwMEYwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTIgICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkyX01zayAgICAgICAgICAgIC8qITwgRVhUSSAyIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BvcyAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX01zayAgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSMV9FWFRJM19Qb3MpICAvKiE8IDB4MDAwMEYwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzICAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJM19Nc2sgICAgICAgICAgICAvKiE8IEVYVEkgMyBjb25maWd1cmF0aW9uICovDQoNCi8qITwgRVhUSTAgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEEgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbMF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QQl9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QQl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjFfRVhUSTBfUEJfUG9zKSAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BCICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMF9QQl9Nc2sgICAgICAgICAvKiE8IFBCWzBdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUENfUG9zICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUENfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkwX1BDX1BvcykgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QQyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTBfUENfTXNrICAgICAgICAgLyohPCBQQ1swXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BEX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BEX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMF9QRF9Qb3MpIC8qITwgMHgwMDAwMDAwMyAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEQgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkwX1BEX01zayAgICAgICAgIC8qITwgUERbMF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QRV9Qb3MgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjFfRVhUSTBfUEVfUG9zKSAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BFICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMF9QRV9Nc2sgICAgICAgICAvKiE8IFBFWzBdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEZfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEZfTXNrICAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkwX1BGX1BvcykgLyohPCAweDAwMDAwMDA1ICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMF9QRiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTBfUEZfTXNrICAgICAgICAgLyohPCBQRlswXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BHX1BvcyAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkwX1BHX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMF9QR19Qb3MpIC8qITwgMHgwMDAwMDAwNiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTBfUEcgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkwX1BHX01zayAgICAgICAgIC8qITwgUEdbMF0gcGluICovDQoNCi8qITwgRVhUSTEgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEEgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbMV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QQl9Qb3MgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QQl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjFfRVhUSTFfUEJfUG9zKSAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BCICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMV9QQl9Nc2sgICAgICAgICAvKiE8IFBCWzFdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUENfUG9zICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUENfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkxX1BDX1BvcykgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QQyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTFfUENfTXNrICAgICAgICAgLyohPCBQQ1sxXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BEX1BvcyAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BEX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMV9QRF9Qb3MpIC8qITwgMHgwMDAwMDAzMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEQgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkxX1BEX01zayAgICAgICAgIC8qITwgUERbMV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QRV9Qb3MgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjFfRVhUSTFfUEVfUG9zKSAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BFICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMV9QRV9Nc2sgICAgICAgICAvKiE8IFBFWzFdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEZfUG9zICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEZfTXNrICAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1IxX0VYVEkxX1BGX1BvcykgLyohPCAweDAwMDAwMDUwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMV9QRiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTFfUEZfTXNrICAgICAgICAgLyohPCBQRlsxXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BHX1BvcyAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkxX1BHX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMV9QR19Qb3MpIC8qITwgMHgwMDAwMDA2MCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTFfUEcgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkxX1BHX01zayAgICAgICAgIC8qITwgUEdbMV0gcGluICovDQoNCi8qITwgRVhUSTIgY29uZmlndXJhdGlvbiAqLyAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QQSAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVsyXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BCX1BvcyAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BCX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMl9QQl9Qb3MpIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUEIgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkyX1BCX01zayAgICAgICAgIC8qITwgUEJbMl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QQ19Qb3MgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QQ19Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjFfRVhUSTJfUENfUG9zKSAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BDICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMl9QQ19Nc2sgICAgICAgICAvKiE8IFBDWzJdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUERfUG9zICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUERfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IxX0VYVEkyX1BEX1BvcykgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QRCAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTJfUERfTXNrICAgICAgICAgLyohPCBQRFsyXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BFX1BvcyAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BFX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMV9FWFRJMl9QRV9Qb3MpIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUEUgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkyX1BFX01zayAgICAgICAgIC8qITwgUEVbMl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QRl9Qb3MgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QRl9Nc2sgICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjFfRVhUSTJfUEZfUG9zKSAvKiE8IDB4MDAwMDA1MDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkyX1BGICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJMl9QRl9Nc2sgICAgICAgICAvKiE8IFBGWzJdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUEdfUG9zICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTJfUEdfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IxX0VYVEkyX1BHX1BvcykgLyohPCAweDAwMDAwNjAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJMl9QRyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTJfUEdfTXNrICAgICAgICAgLyohPCBQR1syXSBwaW4gKi8NCg0KLyohPCBFWFRJMyBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QQSAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVszXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BCX1BvcyAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BCX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMV9FWFRJM19QQl9Qb3MpIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUEIgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkzX1BCX01zayAgICAgICAgIC8qITwgUEJbM10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QQ19Qb3MgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QQ19Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjFfRVhUSTNfUENfUG9zKSAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BDICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJM19QQ19Nc2sgICAgICAgICAvKiE8IFBDWzNdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUERfUG9zICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUERfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IxX0VYVEkzX1BEX1BvcykgLyohPCAweDAwMDAzMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QRCAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTNfUERfTXNrICAgICAgICAgLyohPCBQRFszXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BFX1BvcyAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BFX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMV9FWFRJM19QRV9Qb3MpIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUEUgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IxX0VYVEkzX1BFX01zayAgICAgICAgIC8qITwgUEVbM10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QRl9Qb3MgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QRl9Nc2sgICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjFfRVhUSTNfUEZfUG9zKSAvKiE8IDB4MDAwMDUwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IxX0VYVEkzX1BGICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMV9FWFRJM19QRl9Nc2sgICAgICAgICAvKiE8IFBGWzNdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUEdfUG9zICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjFfRVhUSTNfUEdfTXNrICAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IxX0VYVEkzX1BHX1BvcykgLyohPCAweDAwMDA2MDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMV9FWFRJM19QRyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjFfRVhUSTNfUEdfTXNrICAgICAgICAgLyohPCBQR1szXSBwaW4gKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQUZJT19FWFRJQ1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X01zayAgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNF9Qb3MpICAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0ICAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNF9Nc2sgICAgICAgICAgICAvKiE8IEVYVEkgNCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9Qb3MgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9Nc2sgICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjJfRVhUSTVfUG9zKSAgLyohPCAweDAwMDAwMEYwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNSAgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTVfTXNrICAgICAgICAgICAgLyohPCBFWFRJIDUgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUG9zICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfTXNrICAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1IyX0VYVEk2X1BvcykgIC8qITwgMHgwMDAwMEYwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTYgICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk2X01zayAgICAgICAgICAgIC8qITwgRVhUSSA2IGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BvcyAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X01zayAgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSMl9FWFRJN19Qb3MpICAvKiE8IDB4MDAwMEYwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3ICAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJN19Nc2sgICAgICAgICAgICAvKiE8IEVYVEkgNyBjb25maWd1cmF0aW9uICovDQoNCi8qITwgRVhUSTQgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEEgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbNF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QQl9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QQl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjJfRVhUSTRfUEJfUG9zKSAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BCICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNF9QQl9Nc2sgICAgICAgICAvKiE8IFBCWzRdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUENfUG9zICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUENfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk0X1BDX1BvcykgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QQyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTRfUENfTXNrICAgICAgICAgLyohPCBQQ1s0XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BEX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BEX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNF9QRF9Qb3MpIC8qITwgMHgwMDAwMDAwMyAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEQgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk0X1BEX01zayAgICAgICAgIC8qITwgUERbNF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QRV9Qb3MgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjJfRVhUSTRfUEVfUG9zKSAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BFICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNF9QRV9Nc2sgICAgICAgICAvKiE8IFBFWzRdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEZfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEZfTXNrICAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk0X1BGX1BvcykgLyohPCAweDAwMDAwMDA1ICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNF9QRiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTRfUEZfTXNrICAgICAgICAgLyohPCBQRls0XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BHX1BvcyAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk0X1BHX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNF9QR19Qb3MpIC8qITwgMHgwMDAwMDAwNiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTRfUEcgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk0X1BHX01zayAgICAgICAgIC8qITwgUEdbNF0gcGluICovDQoNCi8qIEVYVEk1IGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BBICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzVdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUEJfUG9zICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUEJfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk1X1BCX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QQiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTVfUEJfTXNrICAgICAgICAgLyohPCBQQls1XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BDX1BvcyAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BDX01zayAgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNV9QQ19Qb3MpIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUEMgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk1X1BDX01zayAgICAgICAgIC8qITwgUENbNV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QRF9Qb3MgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QRF9Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjJfRVhUSTVfUERfUG9zKSAvKiE8IDB4MDAwMDAwMzAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BEICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNV9QRF9Nc2sgICAgICAgICAvKiE8IFBEWzVdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUEVfUG9zICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUEVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk1X1BFX1BvcykgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QRSAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTVfUEVfTXNrICAgICAgICAgLyohPCBQRVs1XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BGX1BvcyAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BGX01zayAgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNV9QRl9Qb3MpIC8qITwgMHgwMDAwMDA1MCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTVfUEYgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk1X1BGX01zayAgICAgICAgIC8qITwgUEZbNV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QR19Qb3MgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNV9QR19Nc2sgICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjJfRVhUSTVfUEdfUG9zKSAvKiE8IDB4MDAwMDAwNjAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk1X1BHICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNV9QR19Nc2sgICAgICAgICAvKiE8IFBHWzVdIHBpbiAqLw0KDQovKiE8IEVYVEk2IGNvbmZpZ3VyYXRpb24gKi8gIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEEgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbNl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QQl9Qb3MgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QQl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjJfRVhUSTZfUEJfUG9zKSAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BCICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNl9QQl9Nc2sgICAgICAgICAvKiE8IFBCWzZdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUENfUG9zICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUENfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk2X1BDX1BvcykgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QQyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTZfUENfTXNrICAgICAgICAgLyohPCBQQ1s2XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BEX1BvcyAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BEX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNl9QRF9Qb3MpIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEQgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk2X1BEX01zayAgICAgICAgIC8qITwgUERbNl0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QRV9Qb3MgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjJfRVhUSTZfUEVfUG9zKSAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BFICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJNl9QRV9Nc2sgICAgICAgICAvKiE8IFBFWzZdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEZfUG9zICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEZfTXNrICAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk2X1BGX1BvcykgLyohPCAweDAwMDAwNTAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJNl9QRiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTZfUEZfTXNrICAgICAgICAgLyohPCBQRls2XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BHX1BvcyAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk2X1BHX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMl9FWFRJNl9QR19Qb3MpIC8qITwgMHgwMDAwMDYwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTZfUEcgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk2X1BHX01zayAgICAgICAgIC8qITwgUEdbNl0gcGluICovDQoNCi8qITwgRVhUSTcgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEEgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbN10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QQl9Qb3MgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QQl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjJfRVhUSTdfUEJfUG9zKSAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BCICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJN19QQl9Nc2sgICAgICAgICAvKiE8IFBCWzddIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUENfUG9zICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUENfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk3X1BDX1BvcykgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QQyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTdfUENfTXNrICAgICAgICAgLyohPCBQQ1s3XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BEX1BvcyAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BEX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMl9FWFRJN19QRF9Qb3MpIC8qITwgMHgwMDAwMzAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEQgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk3X1BEX01zayAgICAgICAgIC8qITwgUERbN10gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QRV9Qb3MgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjJfRVhUSTdfUEVfUG9zKSAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BFICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSMl9FWFRJN19QRV9Nc2sgICAgICAgICAvKiE8IFBFWzddIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEZfUG9zICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEZfTXNrICAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1IyX0VYVEk3X1BGX1BvcykgLyohPCAweDAwMDA1MDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSMl9FWFRJN19QRiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjJfRVhUSTdfUEZfTXNrICAgICAgICAgLyohPCBQRls3XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BHX1BvcyAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IyX0VYVEk3X1BHX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSMl9FWFRJN19QR19Qb3MpIC8qITwgMHgwMDAwNjAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjJfRVhUSTdfUEcgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IyX0VYVEk3X1BHX01zayAgICAgICAgIC8qITwgUEdbN10gcGluICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFGSU9fRVhUSUNSMyByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9Nc2sgICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjNfRVhUSThfUG9zKSAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOCAgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSThfTXNrICAgICAgICAgICAgLyohPCBFWFRJIDggY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUG9zICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfTXNrICAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1IzX0VYVEk5X1BvcykgIC8qITwgMHgwMDAwMDBGMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTkgICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEk5X01zayAgICAgICAgICAgIC8qITwgRVhUSSA5IGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9Qb3MgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMF9Nc2sgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSM19FWFRJMTBfUG9zKSAvKiE8IDB4MDAwMDBGMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEkxMCAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJMTBfTXNrICAgICAgICAgICAvKiE8IEVYVEkgMTAgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX1BvcyAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExX01zayAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1IzX0VYVEkxMV9Qb3MpIC8qITwgMHgwMDAwRjAwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTExICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEkxMV9Nc2sgICAgICAgICAgIC8qITwgRVhUSSAxMSBjb25maWd1cmF0aW9uICovDQoNCi8qITwgRVhUSTggY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEEgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbOF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QQl9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QQl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjNfRVhUSThfUEJfUG9zKSAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BCICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJOF9QQl9Nc2sgICAgICAgICAvKiE8IFBCWzhdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUENfUG9zICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUENfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IzX0VYVEk4X1BDX1BvcykgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QQyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSThfUENfTXNrICAgICAgICAgLyohPCBQQ1s4XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BEX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BEX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSM19FWFRJOF9QRF9Qb3MpIC8qITwgMHgwMDAwMDAwMyAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEQgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEk4X1BEX01zayAgICAgICAgIC8qITwgUERbOF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QRV9Qb3MgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjNfRVhUSThfUEVfUG9zKSAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BFICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJOF9QRV9Nc2sgICAgICAgICAvKiE8IFBFWzhdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEZfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEZfTXNrICAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1IzX0VYVEk4X1BGX1BvcykgLyohPCAweDAwMDAwMDA1ICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOF9QRiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSThfUEZfTXNrICAgICAgICAgLyohPCBQRls4XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BHX1BvcyAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk4X1BHX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSM19FWFRJOF9QR19Qb3MpIC8qITwgMHgwMDAwMDAwNiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSThfUEcgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEk4X1BHX01zayAgICAgICAgIC8qITwgUEdbOF0gcGluICovDQoNCi8qITwgRVhUSTkgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEEgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbOV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QQl9Qb3MgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QQl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjNfRVhUSTlfUEJfUG9zKSAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BCICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJOV9QQl9Nc2sgICAgICAgICAvKiE8IFBCWzldIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUENfUG9zICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUENfTXNrICAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IzX0VYVEk5X1BDX1BvcykgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QQyAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTlfUENfTXNrICAgICAgICAgLyohPCBQQ1s5XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BEX1BvcyAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BEX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSM19FWFRJOV9QRF9Qb3MpIC8qITwgMHgwMDAwMDAzMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEQgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEk5X1BEX01zayAgICAgICAgIC8qITwgUERbOV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QRV9Qb3MgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjNfRVhUSTlfUEVfUG9zKSAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BFICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSM19FWFRJOV9QRV9Nc2sgICAgICAgICAvKiE8IFBFWzldIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEZfUG9zICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEZfTXNrICAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1IzX0VYVEk5X1BGX1BvcykgLyohPCAweDAwMDAwMDUwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJOV9QRiAgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTlfUEZfTXNrICAgICAgICAgLyohPCBQRls5XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BHX1BvcyAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1IzX0VYVEk5X1BHX01zayAgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSM19FWFRJOV9QR19Qb3MpIC8qITwgMHgwMDAwMDA2MCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTlfUEcgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEk5X1BHX01zayAgICAgICAgIC8qITwgUEdbOV0gcGluICovDQoNCi8qITwgRVhUSTEwIGNvbmZpZ3VyYXRpb24gKi8gIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BBICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUEFbMTBdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BCX1BvcyAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BCX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IzX0VYVEkxMF9QQl9Qb3MpIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BCICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEkxMF9QQl9Nc2sgICAgICAgIC8qITwgUEJbMTBdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BDX1BvcyAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BDX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IzX0VYVEkxMF9QQ19Qb3MpIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BDICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEkxMF9QQ19Nc2sgICAgICAgIC8qITwgUENbMTBdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BEX1BvcyAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BEX01zayAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRF9Qb3MpIC8qITwgMHgwMDAwMDMwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BEICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRF9Nc2sgICAgICAgIC8qITwgUERbMTBdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BFX1BvcyAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BFX01zayAgICAgICAgICAgKDB4MVUgPDwgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRV9Qb3MpIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BFICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRV9Nc2sgICAgICAgIC8qITwgUEVbMTBdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BGX1BvcyAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BGX01zayAgICAgICAgICAgKDB4NVUgPDwgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRl9Qb3MpIC8qITwgMHgwMDAwMDUwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BGICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEkxMF9QRl9Nc2sgICAgICAgIC8qITwgUEZbMTBdIHBpbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BHX1BvcyAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BHX01zayAgICAgICAgICAgKDB4M1UgPDwgQUZJT19FWFRJQ1IzX0VYVEkxMF9QR19Qb3MpIC8qITwgMHgwMDAwMDYwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjNfRVhUSTEwX1BHICAgICAgICAgICAgICAgQUZJT19FWFRJQ1IzX0VYVEkxMF9QR19Nc2sgICAgICAgIC8qITwgUEdbMTBdIHBpbiAqLw0KDQovKiE8IEVYVEkxMSBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUEEgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVsxMV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUEJfUG9zICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUEJfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjNfRVhUSTExX1BCX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUEIgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTExX1BCX01zayAgICAgICAgLyohPCBQQlsxMV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUENfUG9zICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUENfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjNfRVhUSTExX1BDX1BvcykgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUEMgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTExX1BDX01zayAgICAgICAgLyohPCBQQ1sxMV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUERfUG9zICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUERfTXNrICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjNfRVhUSTExX1BEX1BvcykgLyohPCAweDAwMDAzMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUEQgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTExX1BEX01zayAgICAgICAgLyohPCBQRFsxMV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUEVfUG9zICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUEVfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjNfRVhUSTExX1BFX1BvcykgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUEUgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTExX1BFX01zayAgICAgICAgLyohPCBQRVsxMV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUEZfUG9zICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUEZfTXNrICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjNfRVhUSTExX1BGX1BvcykgLyohPCAweDAwMDA1MDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUEYgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTExX1BGX01zayAgICAgICAgLyohPCBQRlsxMV0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUEdfUG9zICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUEdfTXNrICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjNfRVhUSTExX1BHX1BvcykgLyohPCAweDAwMDA2MDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSM19FWFRJMTFfUEcgICAgICAgICAgICAgICBBRklPX0VYVElDUjNfRVhUSTExX1BHX01zayAgICAgICAgLyohPCBQR1sxMV0gcGluICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFGSU9fRVhUSUNSNCByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfUG9zICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTJfTXNrICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjRfRVhUSTEyX1BvcykgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTIgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTEyX01zayAgICAgICAgICAgLyohPCBFWFRJIDEyIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19Qb3MgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19Nc2sgICAgICAgICAgICAgICgweEZVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTNfUG9zKSAvKiE8IDB4MDAwMDAwRjAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMyAgICAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTNfTXNrICAgICAgICAgICAvKiE8IEVYVEkgMTMgY29uZmlndXJhdGlvbiAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X1BvcyAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0X01zayAgICAgICAgICAgICAgKDB4RlUgPDwgQUZJT19FWFRJQ1I0X0VYVEkxNF9Qb3MpIC8qITwgMHgwMDAwMEYwMCAqLw0KI2RlZmluZSBBRklPX0VYVElDUjRfRVhUSTE0ICAgICAgICAgICAgICAgICAgQUZJT19FWFRJQ1I0X0VYVEkxNF9Nc2sgICAgICAgICAgIC8qITwgRVhUSSAxNCBjb25maWd1cmF0aW9uICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfUG9zICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTVfTXNrICAgICAgICAgICAgICAoMHhGVSA8PCBBRklPX0VYVElDUjRfRVhUSTE1X1BvcykgLyohPCAweDAwMDBGMDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTUgICAgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTE1X01zayAgICAgICAgICAgLyohPCBFWFRJIDE1IGNvbmZpZ3VyYXRpb24gKi8NCg0KLyogRVhUSTEyIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QQSAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzEyXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QQl9Qb3MgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QQl9Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTJfUEJfUG9zKSAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QQiAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEJfTXNrICAgICAgICAvKiE8IFBCWzEyXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QQ19Qb3MgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QQ19Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTJfUENfUG9zKSAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QQyAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTJfUENfTXNrICAgICAgICAvKiE8IFBDWzEyXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QRF9Qb3MgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QRF9Nc2sgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTJfUERfUG9zKSAvKiE8IDB4MDAwMDAwMDMgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QRCAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTJfUERfTXNrICAgICAgICAvKiE8IFBEWzEyXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QRV9Qb3MgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QRV9Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTJfUEVfUG9zKSAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QRSAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEVfTXNrICAgICAgICAvKiE8IFBFWzEyXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QRl9Qb3MgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QRl9Nc2sgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTJfUEZfUG9zKSAvKiE8IDB4MDAwMDAwMDUgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QRiAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEZfTXNrICAgICAgICAvKiE8IFBGWzEyXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QR19Qb3MgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QR19Nc2sgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTJfUEdfUG9zKSAvKiE8IDB4MDAwMDAwMDYgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxMl9QRyAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTJfUEdfTXNrICAgICAgICAvKiE8IFBHWzEyXSBwaW4gKi8NCg0KLyogRVhUSTEzIGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QQSAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzEzXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QQl9Qb3MgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QQl9Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTNfUEJfUG9zKSAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QQiAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEJfTXNrICAgICAgICAvKiE8IFBCWzEzXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QQ19Qb3MgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QQ19Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTNfUENfUG9zKSAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QQyAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTNfUENfTXNrICAgICAgICAvKiE8IFBDWzEzXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QRF9Qb3MgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QRF9Nc2sgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTNfUERfUG9zKSAvKiE8IDB4MDAwMDAwMzAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QRCAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTNfUERfTXNrICAgICAgICAvKiE8IFBEWzEzXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QRV9Qb3MgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QRV9Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTNfUEVfUG9zKSAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QRSAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEVfTXNrICAgICAgICAvKiE8IFBFWzEzXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QRl9Qb3MgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QRl9Nc2sgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTNfUEZfUG9zKSAvKiE8IDB4MDAwMDAwNTAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QRiAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEZfTXNrICAgICAgICAvKiE8IFBGWzEzXSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QR19Qb3MgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QR19Nc2sgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTNfUEdfUG9zKSAvKiE8IDB4MDAwMDAwNjAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxM19QRyAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTNfUEdfTXNrICAgICAgICAvKiE8IFBHWzEzXSBwaW4gKi8NCg0KLyohPCBFWFRJMTQgY29uZmlndXJhdGlvbiAqLyAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEEgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQQVsxNF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEJfUG9zICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEJfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjRfRVhUSTE0X1BCX1BvcykgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEIgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTE0X1BCX01zayAgICAgICAgLyohPCBQQlsxNF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUENfUG9zICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUENfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjRfRVhUSTE0X1BDX1BvcykgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEMgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTE0X1BDX01zayAgICAgICAgLyohPCBQQ1sxNF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUERfUG9zICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUERfTXNrICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjRfRVhUSTE0X1BEX1BvcykgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEQgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTE0X1BEX01zayAgICAgICAgLyohPCBQRFsxNF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEVfUG9zICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEVfTXNrICAgICAgICAgICAoMHgxVSA8PCBBRklPX0VYVElDUjRfRVhUSTE0X1BFX1BvcykgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEUgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTE0X1BFX01zayAgICAgICAgLyohPCBQRVsxNF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEZfUG9zICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEZfTXNrICAgICAgICAgICAoMHg1VSA8PCBBRklPX0VYVElDUjRfRVhUSTE0X1BGX1BvcykgLyohPCAweDAwMDAwNTAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEYgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTE0X1BGX01zayAgICAgICAgLyohPCBQRlsxNF0gcGluICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEdfUG9zICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEdfTXNrICAgICAgICAgICAoMHgzVSA8PCBBRklPX0VYVElDUjRfRVhUSTE0X1BHX1BvcykgLyohPCAweDAwMDAwNjAwICovDQojZGVmaW5lIEFGSU9fRVhUSUNSNF9FWFRJMTRfUEcgICAgICAgICAgICAgICBBRklPX0VYVElDUjRfRVhUSTE0X1BHX01zayAgICAgICAgLyohPCBQR1sxNF0gcGluICovDQoNCi8qITwgRVhUSTE1IGNvbmZpZ3VyYXRpb24gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QQSAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFBBWzE1XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QQl9Qb3MgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QQl9Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTVfUEJfUG9zKSAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QQiAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEJfTXNrICAgICAgICAvKiE8IFBCWzE1XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QQ19Qb3MgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QQ19Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTVfUENfUG9zKSAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QQyAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTVfUENfTXNrICAgICAgICAvKiE8IFBDWzE1XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QRF9Qb3MgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QRF9Nc2sgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTVfUERfUG9zKSAvKiE8IDB4MDAwMDMwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QRCAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTVfUERfTXNrICAgICAgICAvKiE8IFBEWzE1XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QRV9Qb3MgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QRV9Nc2sgICAgICAgICAgICgweDFVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTVfUEVfUG9zKSAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QRSAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEVfTXNrICAgICAgICAvKiE8IFBFWzE1XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QRl9Qb3MgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QRl9Nc2sgICAgICAgICAgICgweDVVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTVfUEZfUG9zKSAvKiE8IDB4MDAwMDUwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QRiAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEZfTXNrICAgICAgICAvKiE8IFBGWzE1XSBwaW4gKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QR19Qb3MgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QR19Nc2sgICAgICAgICAgICgweDNVIDw8IEFGSU9fRVhUSUNSNF9FWFRJMTVfUEdfUG9zKSAvKiE8IDB4MDAwMDYwMDAgKi8NCiNkZWZpbmUgQUZJT19FWFRJQ1I0X0VYVEkxNV9QRyAgICAgICAgICAgICAgIEFGSU9fRVhUSUNSNF9FWFRJMTVfUEdfTXNrICAgICAgICAvKiE8IFBHWzE1XSBwaW4gKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFGSU9fTUFQUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCg0KDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgIEV4dGVybmFsIEludGVycnVwdC9FdmVudCBDb250cm9sbGVyICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEVYVElfSU1SIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjBfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjBfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjBfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAwICovDQojZGVmaW5lIEVYVElfSU1SX01SMV9Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SMV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SMV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEVYVElfSU1SX01SMSAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SMV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDEgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIyX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVIyX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVIyX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVIyICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIyX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMiAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjNfUG9zICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjMgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjNfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAzICovDQojZGVmaW5lIEVYVElfSU1SX01SNF9Qb3MgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SNF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SNF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEVYVElfSU1SX01SNCAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SNF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDQgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI1X1BvcyAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVI1X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVI1X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI1ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVI1X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgNSAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjZfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjYgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjZfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSA2ICovDQojZGVmaW5lIEVYVElfSU1SX01SN19Qb3MgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SN19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SN19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEVYVElfSU1SX01SNyAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SN19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDcgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI4X1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9JTVJfTVI4X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9JTVJfTVI4X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgRVhUSV9JTVJfTVI4ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVI4X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgOCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjlfUG9zICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0lNUl9NUjlfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0lNUl9NUjlfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBFWFRJX0lNUl9NUjkgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9NUjlfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSA5ICovDQojZGVmaW5lIEVYVElfSU1SX01SMTBfUG9zICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SMTBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SMTBfUG9zKSAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEVYVElfSU1SX01SMTAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SMTBfTXNrICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDEwICovDQojZGVmaW5lIEVYVElfSU1SX01SMTFfUG9zICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SMTFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SMTFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEVYVElfSU1SX01SMTEgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SMTFfTXNrICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDExICovDQojZGVmaW5lIEVYVElfSU1SX01SMTJfUG9zICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SMTJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SMTJfUG9zKSAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEVYVElfSU1SX01SMTIgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SMTJfTXNrICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDEyICovDQojZGVmaW5lIEVYVElfSU1SX01SMTNfUG9zICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SMTNfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SMTNfUG9zKSAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEVYVElfSU1SX01SMTMgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SMTNfTXNrICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDEzICovDQojZGVmaW5lIEVYVElfSU1SX01SMTRfUG9zICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SMTRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SMTRfUG9zKSAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEVYVElfSU1SX01SMTQgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SMTRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDE0ICovDQojZGVmaW5lIEVYVElfSU1SX01SMTVfUG9zICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SMTVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SMTVfUG9zKSAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEVYVElfSU1SX01SMTUgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SMTVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDE1ICovDQojZGVmaW5lIEVYVElfSU1SX01SMTZfUG9zICAgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SMTZfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SMTZfUG9zKSAgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEVYVElfSU1SX01SMTYgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SMTZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDE2ICovDQojZGVmaW5lIEVYVElfSU1SX01SMTdfUG9zICAgICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SMTdfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SMTdfUG9zKSAgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEVYVElfSU1SX01SMTcgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SMTdfTXNrICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDE3ICovDQojZGVmaW5lIEVYVElfSU1SX01SMThfUG9zICAgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfSU1SX01SMThfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfSU1SX01SMThfUG9zKSAgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEVYVElfSU1SX01SMTggICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SMThfTXNrICAgICAgICAgICAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDE4ICovDQoNCi8qIFJlZmVyZW5jZXMgRGVmaW5lcyAqLw0KI2RlZmluZSAgRVhUSV9JTVJfSU0wIEVYVElfSU1SX01SMA0KI2RlZmluZSAgRVhUSV9JTVJfSU0xIEVYVElfSU1SX01SMQ0KI2RlZmluZSAgRVhUSV9JTVJfSU0yIEVYVElfSU1SX01SMg0KI2RlZmluZSAgRVhUSV9JTVJfSU0zIEVYVElfSU1SX01SMw0KI2RlZmluZSAgRVhUSV9JTVJfSU00IEVYVElfSU1SX01SNA0KI2RlZmluZSAgRVhUSV9JTVJfSU01IEVYVElfSU1SX01SNQ0KI2RlZmluZSAgRVhUSV9JTVJfSU02IEVYVElfSU1SX01SNg0KI2RlZmluZSAgRVhUSV9JTVJfSU03IEVYVElfSU1SX01SNw0KI2RlZmluZSAgRVhUSV9JTVJfSU04IEVYVElfSU1SX01SOA0KI2RlZmluZSAgRVhUSV9JTVJfSU05IEVYVElfSU1SX01SOQ0KI2RlZmluZSAgRVhUSV9JTVJfSU0xMCBFWFRJX0lNUl9NUjEwDQojZGVmaW5lICBFWFRJX0lNUl9JTTExIEVYVElfSU1SX01SMTENCiNkZWZpbmUgIEVYVElfSU1SX0lNMTIgRVhUSV9JTVJfTVIxMg0KI2RlZmluZSAgRVhUSV9JTVJfSU0xMyBFWFRJX0lNUl9NUjEzDQojZGVmaW5lICBFWFRJX0lNUl9JTTE0IEVYVElfSU1SX01SMTQNCiNkZWZpbmUgIEVYVElfSU1SX0lNMTUgRVhUSV9JTVJfTVIxNQ0KI2RlZmluZSAgRVhUSV9JTVJfSU0xNiBFWFRJX0lNUl9NUjE2DQojZGVmaW5lICBFWFRJX0lNUl9JTTE3IEVYVElfSU1SX01SMTcNCiNkZWZpbmUgIEVYVElfSU1SX0lNMTggRVhUSV9JTVJfTVIxOA0KI2RlZmluZSAgRVhUSV9JTVJfSU0gICAweDAwMDdGRkZGVSAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBBbGwgKi8NCiANCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRVhUSV9FTVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEVYVElfRU1SX01SMF9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEVYVElfRU1SX01SMCAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SMF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjFfUG9zICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjEgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjFfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDEgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIyX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIyX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIyX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIyICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVIyX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAyICovDQojZGVmaW5lIEVYVElfRU1SX01SM19Qb3MgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SM19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SM19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEVYVElfRU1SX01SMyAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SM19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMyAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjRfUG9zICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjRfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjQgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjRfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDQgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI1X1BvcyAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVI1X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVI1X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI1ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVI1X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSA1ICovDQojZGVmaW5lIEVYVElfRU1SX01SNl9Qb3MgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SNl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SNl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEVYVElfRU1SX01SNiAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SNl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgNiAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjdfUG9zICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjdfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjdfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjcgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjdfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDcgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI4X1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVI4X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVI4X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVI4ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVI4X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSA4ICovDQojZGVmaW5lIEVYVElfRU1SX01SOV9Qb3MgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SOV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SOV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEVYVElfRU1SX01SOSAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SOV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgOSAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjEwX1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjEwX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjEwX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjEwICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjEwX01zayAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDEwICovDQojZGVmaW5lIEVYVElfRU1SX01SMTFfUG9zICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMTFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMTFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEVYVElfRU1SX01SMTEgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SMTFfTXNrICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMTEgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxMl9Qb3MgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIxMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIxMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxMiAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVIxMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAxMiAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjEzX1BvcyAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjEzX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjEzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjEzICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjEzX01zayAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDEzICovDQojZGVmaW5lIEVYVElfRU1SX01SMTRfUG9zICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMTRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMTRfUG9zKSAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEVYVElfRU1SX01SMTQgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SMTRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMTQgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxNV9Qb3MgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIxNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIxNV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxNSAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVIxNV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAxNSAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjE2X1BvcyAgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0VNUl9NUjE2X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0VNUl9NUjE2X1BvcykgICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBFWFRJX0VNUl9NUjE2ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0VNUl9NUjE2X01zayAgICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDE2ICovDQojZGVmaW5lIEVYVElfRU1SX01SMTdfUG9zICAgICAgICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRU1SX01SMTdfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRU1SX01SMTdfUG9zKSAgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEVYVElfRU1SX01SMTcgICAgICAgICAgICAgICAgICAgICAgIEVYVElfRU1SX01SMTdfTXNrICAgICAgICAgICAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMTcgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxOF9Qb3MgICAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9FTVJfTVIxOF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9FTVJfTVIxOF9Qb3MpICAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgRVhUSV9FTVJfTVIxOCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9FTVJfTVIxOF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAxOCAqLw0KDQovKiBSZWZlcmVuY2VzIERlZmluZXMgKi8NCiNkZWZpbmUgIEVYVElfRU1SX0VNMCBFWFRJX0VNUl9NUjANCiNkZWZpbmUgIEVYVElfRU1SX0VNMSBFWFRJX0VNUl9NUjENCiNkZWZpbmUgIEVYVElfRU1SX0VNMiBFWFRJX0VNUl9NUjINCiNkZWZpbmUgIEVYVElfRU1SX0VNMyBFWFRJX0VNUl9NUjMNCiNkZWZpbmUgIEVYVElfRU1SX0VNNCBFWFRJX0VNUl9NUjQNCiNkZWZpbmUgIEVYVElfRU1SX0VNNSBFWFRJX0VNUl9NUjUNCiNkZWZpbmUgIEVYVElfRU1SX0VNNiBFWFRJX0VNUl9NUjYNCiNkZWZpbmUgIEVYVElfRU1SX0VNNyBFWFRJX0VNUl9NUjcNCiNkZWZpbmUgIEVYVElfRU1SX0VNOCBFWFRJX0VNUl9NUjgNCiNkZWZpbmUgIEVYVElfRU1SX0VNOSBFWFRJX0VNUl9NUjkNCiNkZWZpbmUgIEVYVElfRU1SX0VNMTAgRVhUSV9FTVJfTVIxMA0KI2RlZmluZSAgRVhUSV9FTVJfRU0xMSBFWFRJX0VNUl9NUjExDQojZGVmaW5lICBFWFRJX0VNUl9FTTEyIEVYVElfRU1SX01SMTINCiNkZWZpbmUgIEVYVElfRU1SX0VNMTMgRVhUSV9FTVJfTVIxMw0KI2RlZmluZSAgRVhUSV9FTVJfRU0xNCBFWFRJX0VNUl9NUjE0DQojZGVmaW5lICBFWFRJX0VNUl9FTTE1IEVYVElfRU1SX01SMTUNCiNkZWZpbmUgIEVYVElfRU1SX0VNMTYgRVhUSV9FTVJfTVIxNg0KI2RlZmluZSAgRVhUSV9FTVJfRU0xNyBFWFRJX0VNUl9NUjE3DQojZGVmaW5lICBFWFRJX0VNUl9FTTE4IEVYVElfRU1SX01SMTgNCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEVYVElfUlRTUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMF9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSMF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMCAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSMF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIxX1BvcyAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFIxX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFIxX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIxICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFIxX01zayAgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjJfUG9zICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjIgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjJfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDIgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSM19Qb3MgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSM19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSM19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSMyAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSM19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMyAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI0X1BvcyAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFI0X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFI0X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI0ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFI0X01zayAgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA0ICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjVfUG9zICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjUgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDUgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSNl9Qb3MgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSNl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSNl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSNiAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSNl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgNiAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI3X1BvcyAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFI3X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFI3X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFI3ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFI3X01zayAgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA3ICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjhfUG9zICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUlRTUl9UUjhfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUlRTUl9UUjhfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEVYVElfUlRTUl9UUjggICAgICAgICAgICAgICAgICAgICAgIEVYVElfUlRTUl9UUjhfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDggKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSOV9Qb3MgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9SVFNSX1RSOV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9SVFNSX1RSOV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgRVhUSV9SVFNSX1RSOSAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9SVFNSX1RSOV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgOSAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIxMF9Qb3MgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFIxMF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFIxMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIxMCAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFIxMF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxMCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIxMV9Qb3MgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFIxMV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFIxMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIxMSAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFIxMV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxMSAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIxMl9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFIxMl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFIxMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIxMiAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFIxMl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxMiAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIxM19Qb3MgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFIxM19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFIxM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIxMyAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFIxM19Nc2sgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxMyAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIxNF9Qb3MgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFIxNF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFIxNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIxNCAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFIxNF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxNCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIxNV9Qb3MgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFIxNV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFIxNV9Qb3MpICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIxNSAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFIxNV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxNSAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIxNl9Qb3MgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFIxNl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFIxNl9Qb3MpICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIxNiAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFIxNl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxNiAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIxN19Qb3MgICAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFIxN19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFIxN19Qb3MpICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIxNyAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFIxN19Nc2sgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxNyAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIxOF9Qb3MgICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1JUU1JfVFIxOF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1JUU1JfVFIxOF9Qb3MpICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBFWFRJX1JUU1JfVFIxOCAgICAgICAgICAgICAgICAgICAgICBFWFRJX1JUU1JfVFIxOF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxOCAqLw0KDQovKiBSZWZlcmVuY2VzIERlZmluZXMgKi8NCiNkZWZpbmUgIEVYVElfUlRTUl9SVDAgRVhUSV9SVFNSX1RSMA0KI2RlZmluZSAgRVhUSV9SVFNSX1JUMSBFWFRJX1JUU1JfVFIxDQojZGVmaW5lICBFWFRJX1JUU1JfUlQyIEVYVElfUlRTUl9UUjINCiNkZWZpbmUgIEVYVElfUlRTUl9SVDMgRVhUSV9SVFNSX1RSMw0KI2RlZmluZSAgRVhUSV9SVFNSX1JUNCBFWFRJX1JUU1JfVFI0DQojZGVmaW5lICBFWFRJX1JUU1JfUlQ1IEVYVElfUlRTUl9UUjUNCiNkZWZpbmUgIEVYVElfUlRTUl9SVDYgRVhUSV9SVFNSX1RSNg0KI2RlZmluZSAgRVhUSV9SVFNSX1JUNyBFWFRJX1JUU1JfVFI3DQojZGVmaW5lICBFWFRJX1JUU1JfUlQ4IEVYVElfUlRTUl9UUjgNCiNkZWZpbmUgIEVYVElfUlRTUl9SVDkgRVhUSV9SVFNSX1RSOQ0KI2RlZmluZSAgRVhUSV9SVFNSX1JUMTAgRVhUSV9SVFNSX1RSMTANCiNkZWZpbmUgIEVYVElfUlRTUl9SVDExIEVYVElfUlRTUl9UUjExDQojZGVmaW5lICBFWFRJX1JUU1JfUlQxMiBFWFRJX1JUU1JfVFIxMg0KI2RlZmluZSAgRVhUSV9SVFNSX1JUMTMgRVhUSV9SVFNSX1RSMTMNCiNkZWZpbmUgIEVYVElfUlRTUl9SVDE0IEVYVElfUlRTUl9UUjE0DQojZGVmaW5lICBFWFRJX1JUU1JfUlQxNSBFWFRJX1JUU1JfVFIxNQ0KI2RlZmluZSAgRVhUSV9SVFNSX1JUMTYgRVhUSV9SVFNSX1RSMTYNCiNkZWZpbmUgIEVYVElfUlRTUl9SVDE3IEVYVElfUlRTUl9UUjE3DQojZGVmaW5lICBFWFRJX1JUU1JfUlQxOCBFWFRJX1JUU1JfVFIxOA0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRVhUSV9GVFNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIwX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIwX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFIwX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIwICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFIwX01zayAgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxX1BvcyAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFIxX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFIxX01zayAgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMSAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIyX1BvcyAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIyX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFIyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIyICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFIyX01zayAgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMiAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIzX1BvcyAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIzX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFIzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIzICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFIzX01zayAgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMyAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI0X1BvcyAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFI0X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFI0X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI0ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFI0X01zayAgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgNCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI1X1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFI1X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFI1X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI1ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFI1X01zayAgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgNSAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI2X1BvcyAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFI2X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFI2X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI2ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFI2X01zayAgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgNiAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI3X1BvcyAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFI3X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFI3X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI3ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFI3X01zayAgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgNyAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI4X1BvcyAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFI4X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFI4X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI4ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFI4X01zayAgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgOCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI5X1BvcyAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFI5X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFI5X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFI5ICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFI5X01zayAgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgOSAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxMF9Qb3MgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxMF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFIxMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxMCAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFIxMF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTFfUG9zICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTFfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMTFfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTEgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSMTFfTXNrICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDExICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjEyX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjEyX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjEyX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjEyICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjEyX01zayAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxMiAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxM19Qb3MgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxM19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFIxM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxMyAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFIxM19Nc2sgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTMgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTRfUG9zICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTRfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMTRfUG9zKSAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTQgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSMTRfTXNrICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDE0ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjE1X1BvcyAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjE1X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjE1X1BvcykgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjE1ICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjE1X01zayAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxNSAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxNl9Qb3MgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxNl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX0ZUU1JfVFIxNl9Qb3MpICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBFWFRJX0ZUU1JfVFIxNiAgICAgICAgICAgICAgICAgICAgICBFWFRJX0ZUU1JfVFIxNl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTYgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTdfUG9zICAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTdfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9GVFNSX1RSMTdfUG9zKSAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgRVhUSV9GVFNSX1RSMTcgICAgICAgICAgICAgICAgICAgICAgRVhUSV9GVFNSX1RSMTdfTXNrICAgICAgICAgICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDE3ICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjE4X1BvcyAgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfRlRTUl9UUjE4X01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfRlRTUl9UUjE4X1BvcykgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEVYVElfRlRTUl9UUjE4ICAgICAgICAgICAgICAgICAgICAgIEVYVElfRlRTUl9UUjE4X01zayAgICAgICAgICAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxOCAqLw0KDQovKiBSZWZlcmVuY2VzIERlZmluZXMgKi8NCiNkZWZpbmUgIEVYVElfRlRTUl9GVDAgRVhUSV9GVFNSX1RSMA0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMSBFWFRJX0ZUU1JfVFIxDQojZGVmaW5lICBFWFRJX0ZUU1JfRlQyIEVYVElfRlRTUl9UUjINCiNkZWZpbmUgIEVYVElfRlRTUl9GVDMgRVhUSV9GVFNSX1RSMw0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUNCBFWFRJX0ZUU1JfVFI0DQojZGVmaW5lICBFWFRJX0ZUU1JfRlQ1IEVYVElfRlRTUl9UUjUNCiNkZWZpbmUgIEVYVElfRlRTUl9GVDYgRVhUSV9GVFNSX1RSNg0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUNyBFWFRJX0ZUU1JfVFI3DQojZGVmaW5lICBFWFRJX0ZUU1JfRlQ4IEVYVElfRlRTUl9UUjgNCiNkZWZpbmUgIEVYVElfRlRTUl9GVDkgRVhUSV9GVFNSX1RSOQ0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMTAgRVhUSV9GVFNSX1RSMTANCiNkZWZpbmUgIEVYVElfRlRTUl9GVDExIEVYVElfRlRTUl9UUjExDQojZGVmaW5lICBFWFRJX0ZUU1JfRlQxMiBFWFRJX0ZUU1JfVFIxMg0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMTMgRVhUSV9GVFNSX1RSMTMNCiNkZWZpbmUgIEVYVElfRlRTUl9GVDE0IEVYVElfRlRTUl9UUjE0DQojZGVmaW5lICBFWFRJX0ZUU1JfRlQxNSBFWFRJX0ZUU1JfVFIxNQ0KI2RlZmluZSAgRVhUSV9GVFNSX0ZUMTYgRVhUSV9GVFNSX1RSMTYNCiNkZWZpbmUgIEVYVElfRlRTUl9GVDE3IEVYVElfRlRTUl9UUjE3DQojZGVmaW5lICBFWFRJX0ZUU1JfRlQxOCBFWFRJX0ZUU1JfVFIxOA0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRVhUSV9TV0lFUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMF9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSMF9Qb3MpICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMCAgICAgICAgICAgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSMF9Nc2sgICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMV9Qb3MgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMV9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSMV9Qb3MpICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMSAgICAgICAgICAgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSMV9Nc2sgICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgMSAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMl9Qb3MgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSMl9Qb3MpICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMiAgICAgICAgICAgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSMl9Nc2sgICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgMiAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSM19Qb3MgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSM19Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSM19Qb3MpICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMyAgICAgICAgICAgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSM19Nc2sgICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgMyAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSNF9Qb3MgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSNF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSNF9Qb3MpICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSNCAgICAgICAgICAgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSNF9Nc2sgICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgNCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSNV9Qb3MgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSNV9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSNV9Qb3MpICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSNSAgICAgICAgICAgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSNV9Nc2sgICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgNSAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSNl9Qb3MgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSNl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSNl9Qb3MpICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSNiAgICAgICAgICAgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSNl9Nc2sgICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgNiAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSN19Qb3MgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSN19Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSN19Qb3MpICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSNyAgICAgICAgICAgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSN19Nc2sgICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgNyAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSOF9Qb3MgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSOF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSOF9Qb3MpICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSOCAgICAgICAgICAgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSOF9Nc2sgICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgOCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSOV9Qb3MgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSOV9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSOV9Qb3MpICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSOSAgICAgICAgICAgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSOV9Nc2sgICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgOSAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTBfUG9zICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTBfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSMTBfUG9zKSAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTAgICAgICAgICAgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSMTBfTXNrICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgMTAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjExX1BvcyAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjExX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjExX1BvcykgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjExICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjExX01zayAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDExICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxMl9Qb3MgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxMl9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIxMl9Qb3MpICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxMiAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIxMl9Nc2sgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAxMiAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTNfUG9zICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTNfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSMTNfUG9zKSAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTMgICAgICAgICAgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSMTNfTXNrICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgMTMgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE0X1BvcyAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE0X01zayAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjE0X1BvcykgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE0ICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjE0X01zayAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDE0ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxNV9Qb3MgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxNV9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIxNV9Qb3MpICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxNSAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIxNV9Nc2sgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAxNSAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTZfUG9zICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTZfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1NXSUVSX1NXSUVSMTZfUG9zKSAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBFWFRJX1NXSUVSX1NXSUVSMTYgICAgICAgICAgICAgICAgICBFWFRJX1NXSUVSX1NXSUVSMTZfTXNrICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgMTYgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE3X1BvcyAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE3X01zayAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9TV0lFUl9TV0lFUjE3X1BvcykgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgRVhUSV9TV0lFUl9TV0lFUjE3ICAgICAgICAgICAgICAgICAgRVhUSV9TV0lFUl9TV0lFUjE3X01zayAgICAgICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDE3ICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxOF9Qb3MgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxOF9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfU1dJRVJfU1dJRVIxOF9Qb3MpICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEVYVElfU1dJRVJfU1dJRVIxOCAgICAgICAgICAgICAgICAgIEVYVElfU1dJRVJfU1dJRVIxOF9Nc2sgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAxOCAqLw0KDQovKiBSZWZlcmVuY2VzIERlZmluZXMgKi8NCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJMCBFWFRJX1NXSUVSX1NXSUVSMA0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0kxIEVYVElfU1dJRVJfU1dJRVIxDQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTIgRVhUSV9TV0lFUl9TV0lFUjINCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJMyBFWFRJX1NXSUVSX1NXSUVSMw0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0k0IEVYVElfU1dJRVJfU1dJRVI0DQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTUgRVhUSV9TV0lFUl9TV0lFUjUNCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJNiBFWFRJX1NXSUVSX1NXSUVSNg0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0k3IEVYVElfU1dJRVJfU1dJRVI3DQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTggRVhUSV9TV0lFUl9TV0lFUjgNCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJOSBFWFRJX1NXSUVSX1NXSUVSOQ0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0kxMCBFWFRJX1NXSUVSX1NXSUVSMTANCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJMTEgRVhUSV9TV0lFUl9TV0lFUjExDQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTEyIEVYVElfU1dJRVJfU1dJRVIxMg0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0kxMyBFWFRJX1NXSUVSX1NXSUVSMTMNCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJMTQgRVhUSV9TV0lFUl9TV0lFUjE0DQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTE1IEVYVElfU1dJRVJfU1dJRVIxNQ0KI2RlZmluZSAgRVhUSV9TV0lFUl9TV0kxNiBFWFRJX1NXSUVSX1NXSUVSMTYNCiNkZWZpbmUgIEVYVElfU1dJRVJfU1dJMTcgRVhUSV9TV0lFUl9TV0lFUjE3DQojZGVmaW5lICBFWFRJX1NXSUVSX1NXSTE4IEVYVElfU1dJRVJfU1dJRVIxOA0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEVYVElfUFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBFWFRJX1BSX1BSMF9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMCAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSMF9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMSAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSMV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMSAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMiAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSMl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMiAqLw0KI2RlZmluZSBFWFRJX1BSX1BSM19Qb3MgICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSM19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSM19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMyAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSM19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMyAqLw0KI2RlZmluZSBFWFRJX1BSX1BSNF9Qb3MgICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSNF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSNF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSNCAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSNF9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgNCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSNV9Qb3MgICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSNV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSNV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSNSAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSNV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgNSAqLw0KI2RlZmluZSBFWFRJX1BSX1BSNl9Qb3MgICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSNl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSNl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSNiAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSNl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgNiAqLw0KI2RlZmluZSBFWFRJX1BSX1BSN19Qb3MgICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSN19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSN19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSNyAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSN19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgNyAqLw0KI2RlZmluZSBFWFRJX1BSX1BSOF9Qb3MgICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSOF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSOF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSOCAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSOF9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgOCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSOV9Qb3MgICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSOV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSOV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSOSAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSOV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgOSAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTBfUG9zICAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMTBfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMTBfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSMTBfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMTAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjExX1BvcyAgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjExX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjExX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjExICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjExX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDExICovDQojZGVmaW5lIEVYVElfUFJfUFIxMl9Qb3MgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIxMl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIxMl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEVYVElfUFJfUFIxMiAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIxMl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAxMiAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTNfUG9zICAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMTNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMTNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTMgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSMTNfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMTMgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjE0X1BvcyAgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjE0X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjE0X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjE0ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjE0X01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDE0ICovDQojZGVmaW5lIEVYVElfUFJfUFIxNV9Qb3MgICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIxNV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIxNV9Qb3MpICAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEVYVElfUFJfUFIxNSAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIxNV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAxNSAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTZfUG9zICAgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBFWFRJX1BSX1BSMTZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBFWFRJX1BSX1BSMTZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBFWFRJX1BSX1BSMTYgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX1BSX1BSMTZfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMTYgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjE3X1BvcyAgICAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRVhUSV9QUl9QUjE3X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRVhUSV9QUl9QUjE3X1BvcykgICAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgRVhUSV9QUl9QUjE3ICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9QUl9QUjE3X01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDE3ICovDQojZGVmaW5lIEVYVElfUFJfUFIxOF9Qb3MgICAgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEVYVElfUFJfUFIxOF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEVYVElfUFJfUFIxOF9Qb3MpICAgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEVYVElfUFJfUFIxOCAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfUFJfUFIxOF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAxOCAqLw0KDQovKiBSZWZlcmVuY2VzIERlZmluZXMgKi8NCiNkZWZpbmUgIEVYVElfUFJfUElGMCBFWFRJX1BSX1BSMA0KI2RlZmluZSAgRVhUSV9QUl9QSUYxIEVYVElfUFJfUFIxDQojZGVmaW5lICBFWFRJX1BSX1BJRjIgRVhUSV9QUl9QUjINCiNkZWZpbmUgIEVYVElfUFJfUElGMyBFWFRJX1BSX1BSMw0KI2RlZmluZSAgRVhUSV9QUl9QSUY0IEVYVElfUFJfUFI0DQojZGVmaW5lICBFWFRJX1BSX1BJRjUgRVhUSV9QUl9QUjUNCiNkZWZpbmUgIEVYVElfUFJfUElGNiBFWFRJX1BSX1BSNg0KI2RlZmluZSAgRVhUSV9QUl9QSUY3IEVYVElfUFJfUFI3DQojZGVmaW5lICBFWFRJX1BSX1BJRjggRVhUSV9QUl9QUjgNCiNkZWZpbmUgIEVYVElfUFJfUElGOSBFWFRJX1BSX1BSOQ0KI2RlZmluZSAgRVhUSV9QUl9QSUYxMCBFWFRJX1BSX1BSMTANCiNkZWZpbmUgIEVYVElfUFJfUElGMTEgRVhUSV9QUl9QUjExDQojZGVmaW5lICBFWFRJX1BSX1BJRjEyIEVYVElfUFJfUFIxMg0KI2RlZmluZSAgRVhUSV9QUl9QSUYxMyBFWFRJX1BSX1BSMTMNCiNkZWZpbmUgIEVYVElfUFJfUElGMTQgRVhUSV9QUl9QUjE0DQojZGVmaW5lICBFWFRJX1BSX1BJRjE1IEVYVElfUFJfUFIxNQ0KI2RlZmluZSAgRVhUSV9QUl9QSUYxNiBFWFRJX1BSX1BSMTYNCiNkZWZpbmUgIEVYVElfUFJfUElGMTcgRVhUSV9QUl9QUjE3DQojZGVmaW5lICBFWFRJX1BSX1BJRjE4IEVYVElfUFJfUFIxOA0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUEgQ29udHJvbGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBETUFfSVNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUYxX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9HSUYxX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9HSUYxX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUYxICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9HSUYxX01zayAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMSBHbG9iYWwgaW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGMV9Qb3MgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9UQ0lGMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9UQ0lGMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGMSAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9UQ0lGMV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMSBUcmFuc2ZlciBDb21wbGV0ZSBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjFfUG9zICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfSFRJRjFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfSFRJRjFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjEgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfSFRJRjFfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDEgSGFsZiBUcmFuc2ZlciBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjFfUG9zICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVEVJRjFfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVEVJRjFfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjEgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVEVJRjFfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDEgVHJhbnNmZXIgRXJyb3IgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0dJRjJfUG9zICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0dJRjJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0dJRjJfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBETUFfSVNSX0dJRjIgICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0dJRjJfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAyIEdsb2JhbCBpbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUYyX1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RDSUYyX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RDSUYyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUYyICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RDSUYyX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAyIFRyYW5zZmVyIENvbXBsZXRlIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGMl9Qb3MgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9IVElGMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9IVElGMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGMiAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9IVElGMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMiBIYWxmIFRyYW5zZmVyIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGMl9Qb3MgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9URUlGMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9URUlGMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGMiAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9URUlGMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMiBUcmFuc2ZlciBFcnJvciBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfR0lGM19Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfR0lGM19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfR0lGM19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIERNQV9JU1JfR0lGMyAgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfR0lGM19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDMgR2xvYmFsIGludGVycnVwdCBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVENJRjNfUG9zICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVENJRjNfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVENJRjNfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIERNQV9JU1JfVENJRjMgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVENJRjNfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDMgVHJhbnNmZXIgQ29tcGxldGUgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUYzX1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0hUSUYzX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0hUSUYzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUYzICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0hUSUYzX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAzIEhhbGYgVHJhbnNmZXIgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUYzX1BvcyAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RFSUYzX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RFSUYzX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUYzICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RFSUYzX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAzIFRyYW5zZmVyIEVycm9yIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUY0X1BvcyAgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9HSUY0X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9HSUY0X1BvcykgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUY0ICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9HSUY0X01zayAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNCBHbG9iYWwgaW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGNF9Qb3MgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9UQ0lGNF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9UQ0lGNF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGNCAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9UQ0lGNF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNCBUcmFuc2ZlciBDb21wbGV0ZSBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjRfUG9zICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfSFRJRjRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfSFRJRjRfUG9zKSAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjQgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfSFRJRjRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDQgSGFsZiBUcmFuc2ZlciBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjRfUG9zICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVEVJRjRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVEVJRjRfUG9zKSAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjQgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVEVJRjRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDQgVHJhbnNmZXIgRXJyb3IgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0dJRjVfUG9zICAgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0dJRjVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0dJRjVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX0dJRjUgICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0dJRjVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA1IEdsb2JhbCBpbnRlcnJ1cHQgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUY1X1BvcyAgICAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RDSUY1X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RDSUY1X1BvcykgICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX1RDSUY1ICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RDSUY1X01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA1IFRyYW5zZmVyIENvbXBsZXRlIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGNV9Qb3MgICAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9IVElGNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9IVElGNV9Qb3MpICAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9IVElGNSAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9IVElGNV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNSBIYWxmIFRyYW5zZmVyIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGNV9Qb3MgICAgICAgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9URUlGNV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9URUlGNV9Qb3MpICAgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9URUlGNSAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9URUlGNV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNSBUcmFuc2ZlciBFcnJvciBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfR0lGNl9Qb3MgICAgICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfR0lGNl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfR0lGNl9Qb3MpICAgICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIERNQV9JU1JfR0lGNiAgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfR0lGNl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDYgR2xvYmFsIGludGVycnVwdCBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVENJRjZfUG9zICAgICAgICAgICAgICAgICAgICgyMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVENJRjZfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVENJRjZfUG9zKSAgICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIERNQV9JU1JfVENJRjYgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVENJRjZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDYgVHJhbnNmZXIgQ29tcGxldGUgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUY2X1BvcyAgICAgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX0hUSUY2X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX0hUSUY2X1BvcykgICAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX0hUSUY2ICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX0hUSUY2X01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA2IEhhbGYgVHJhbnNmZXIgZmxhZyAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUY2X1BvcyAgICAgICAgICAgICAgICAgICAoMjNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSVNSX1RFSUY2X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSVNSX1RFSUY2X1BvcykgICAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBETUFfSVNSX1RFSUY2ICAgICAgICAgICAgICAgICAgICAgICBETUFfSVNSX1RFSUY2X01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA2IFRyYW5zZmVyIEVycm9yIGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUY3X1BvcyAgICAgICAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9HSUY3X01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9HSUY3X1BvcykgICAgICAgICAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9HSUY3ICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9HSUY3X01zayAgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNyBHbG9iYWwgaW50ZXJydXB0IGZsYWcgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGN19Qb3MgICAgICAgICAgICAgICAgICAgKDI1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lTUl9UQ0lGN19Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lTUl9UQ0lGN19Qb3MpICAgICAgICAvKiE8IDB4MDIwMDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lTUl9UQ0lGNyAgICAgICAgICAgICAgICAgICAgICAgRE1BX0lTUl9UQ0lGN19Nc2sgICAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNyBUcmFuc2ZlciBDb21wbGV0ZSBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjdfUG9zICAgICAgICAgICAgICAgICAgICgyNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfSFRJRjdfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfSFRJRjdfUG9zKSAgICAgICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIERNQV9JU1JfSFRJRjcgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfSFRJRjdfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDcgSGFsZiBUcmFuc2ZlciBmbGFnICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjdfUG9zICAgICAgICAgICAgICAgICAgICgyN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9JU1JfVEVJRjdfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9JU1JfVEVJRjdfUG9zKSAgICAgICAgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIERNQV9JU1JfVEVJRjcgICAgICAgICAgICAgICAgICAgICAgIERNQV9JU1JfVEVJRjdfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDaGFubmVsIDcgVHJhbnNmZXIgRXJyb3IgZmxhZyAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERNQV9JRkNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBETUFfSUZDUl9DR0lGMV9Qb3MgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DR0lGMV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DR0lGMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBETUFfSUZDUl9DR0lGMSAgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DR0lGMV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAxIEdsb2JhbCBpbnRlcnJ1cHQgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUYxX1BvcyAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUYxX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ1RDSUYxX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUYxICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ1RDSUYxX01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMSBUcmFuc2ZlciBDb21wbGV0ZSBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjFfUG9zICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjFfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DSFRJRjFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjEgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DSFRJRjFfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAxIEhhbGYgVHJhbnNmZXIgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUYxX1BvcyAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUYxX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ1RFSUYxX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUYxICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ1RFSUYxX01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMSBUcmFuc2ZlciBFcnJvciBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DR0lGMl9Qb3MgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DR0lGMl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DR0lGMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DR0lGMiAgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DR0lGMl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAyIEdsb2JhbCBpbnRlcnJ1cHQgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUYyX1BvcyAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUYyX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ1RDSUYyX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUYyICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ1RDSUYyX01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMiBUcmFuc2ZlciBDb21wbGV0ZSBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjJfUG9zICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjJfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DSFRJRjJfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjIgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DSFRJRjJfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAyIEhhbGYgVHJhbnNmZXIgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUYyX1BvcyAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUYyX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ1RFSUYyX1BvcykgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUYyICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ1RFSUYyX01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMiBUcmFuc2ZlciBFcnJvciBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DR0lGM19Qb3MgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DR0lGM19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DR0lGM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DR0lGMyAgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DR0lGM19Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAzIEdsb2JhbCBpbnRlcnJ1cHQgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUYzX1BvcyAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUYzX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ1RDSUYzX1BvcykgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUYzICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ1RDSUYzX01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMyBUcmFuc2ZlciBDb21wbGV0ZSBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjNfUG9zICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjNfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DSFRJRjNfUG9zKSAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjMgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DSFRJRjNfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCAzIEhhbGYgVHJhbnNmZXIgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUYzX1BvcyAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUYzX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ1RFSUYzX1BvcykgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUYzICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ1RFSUYzX01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgMyBUcmFuc2ZlciBFcnJvciBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DR0lGNF9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DR0lGNF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DR0lGNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DR0lGNCAgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DR0lGNF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA0IEdsb2JhbCBpbnRlcnJ1cHQgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUY0X1BvcyAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUY0X01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ1RDSUY0X1BvcykgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUY0ICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ1RDSUY0X01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNCBUcmFuc2ZlciBDb21wbGV0ZSBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjRfUG9zICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjRfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DSFRJRjRfUG9zKSAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjQgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DSFRJRjRfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA0IEhhbGYgVHJhbnNmZXIgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUY0X1BvcyAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUY0X01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ1RFSUY0X1BvcykgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUY0ICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ1RFSUY0X01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNCBUcmFuc2ZlciBFcnJvciBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DR0lGNV9Qb3MgICAgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DR0lGNV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DR0lGNV9Qb3MpICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DR0lGNSAgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DR0lGNV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA1IEdsb2JhbCBpbnRlcnJ1cHQgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUY1X1BvcyAgICAgICAgICAgICAgICAgKDE3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUY1X01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ1RDSUY1X1BvcykgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUY1ICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ1RDSUY1X01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNSBUcmFuc2ZlciBDb21wbGV0ZSBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjVfUG9zICAgICAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DSFRJRjVfUG9zKSAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjUgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DSFRJRjVfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA1IEhhbGYgVHJhbnNmZXIgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUY1X1BvcyAgICAgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUY1X01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ1RFSUY1X1BvcykgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUY1ICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ1RFSUY1X01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNSBUcmFuc2ZlciBFcnJvciBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DR0lGNl9Qb3MgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DR0lGNl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DR0lGNl9Qb3MpICAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DR0lGNiAgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DR0lGNl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA2IEdsb2JhbCBpbnRlcnJ1cHQgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUY2X1BvcyAgICAgICAgICAgICAgICAgKDIxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUY2X01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ1RDSUY2X1BvcykgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUY2ICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ1RDSUY2X01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNiBUcmFuc2ZlciBDb21wbGV0ZSBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjZfUG9zICAgICAgICAgICAgICAgICAoMjJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjZfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DSFRJRjZfUG9zKSAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjYgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DSFRJRjZfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA2IEhhbGYgVHJhbnNmZXIgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUY2X1BvcyAgICAgICAgICAgICAgICAgKDIzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUY2X01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ1RFSUY2X1BvcykgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUY2ICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ1RFSUY2X01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNiBUcmFuc2ZlciBFcnJvciBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DR0lGN19Qb3MgICAgICAgICAgICAgICAgICAoMjRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DR0lGN19Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DR0lGN19Qb3MpICAgICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DR0lGNyAgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DR0lGN19Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA3IEdsb2JhbCBpbnRlcnJ1cHQgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUY3X1BvcyAgICAgICAgICAgICAgICAgKDI1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUY3X01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ1RDSUY3X1BvcykgICAgICAvKiE8IDB4MDIwMDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RDSUY3ICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ1RDSUY3X01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNyBUcmFuc2ZlciBDb21wbGV0ZSBjbGVhciAqLw0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjdfUG9zICAgICAgICAgICAgICAgICAoMjZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjdfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfSUZDUl9DSFRJRjdfUG9zKSAgICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KI2RlZmluZSBETUFfSUZDUl9DSFRJRjcgICAgICAgICAgICAgICAgICAgICBETUFfSUZDUl9DSFRJRjdfTXNrICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCA3IEhhbGYgVHJhbnNmZXIgY2xlYXIgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUY3X1BvcyAgICAgICAgICAgICAgICAgKDI3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUY3X01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0lGQ1JfQ1RFSUY3X1BvcykgICAgICAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgRE1BX0lGQ1JfQ1RFSUY3ICAgICAgICAgICAgICAgICAgICAgRE1BX0lGQ1JfQ1RFSUY3X01zayAgICAgICAgICAgICAgICAvKiE8IENoYW5uZWwgNyBUcmFuc2ZlciBFcnJvciBjbGVhciAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERNQV9DQ1IgcmVnaXN0ZXIgICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBETUFfQ0NSX0VOX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ0NSX0VOX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfQ0NSX0VOX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBETUFfQ0NSX0VOICAgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ0NSX0VOX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCBlbmFibGUgKi8NCiNkZWZpbmUgRE1BX0NDUl9UQ0lFX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9UQ0lFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0NDUl9UQ0lFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgRE1BX0NDUl9UQ0lFICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NDUl9UQ0lFX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFRyYW5zZmVyIGNvbXBsZXRlIGludGVycnVwdCBlbmFibGUgKi8NCiNkZWZpbmUgRE1BX0NDUl9IVElFX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9IVElFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0NDUl9IVElFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgRE1BX0NDUl9IVElFICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NDUl9IVElFX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEhhbGYgVHJhbnNmZXIgaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBETUFfQ0NSX1RFSUVfUG9zICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ0NSX1RFSUVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfQ0NSX1RFSUVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBETUFfQ0NSX1RFSUUgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ0NSX1RFSUVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgVHJhbnNmZXIgZXJyb3IgaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBETUFfQ0NSX0RJUl9Qb3MgICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ0NSX0RJUl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBETUFfQ0NSX0RJUl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBETUFfQ0NSX0RJUiAgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ0NSX0RJUl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgRGF0YSB0cmFuc2ZlciBkaXJlY3Rpb24gKi8NCiNkZWZpbmUgRE1BX0NDUl9DSVJDX1BvcyAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9DSVJDX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0NDUl9DSVJDX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRE1BX0NDUl9DSVJDICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NDUl9DSVJDX01zayAgICAgICAgICAgICAgICAgICAvKiE8IENpcmN1bGFyIG1vZGUgKi8NCiNkZWZpbmUgRE1BX0NDUl9QSU5DX1BvcyAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9QSU5DX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0NDUl9QSU5DX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRE1BX0NDUl9QSU5DICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NDUl9QSU5DX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFBlcmlwaGVyYWwgaW5jcmVtZW50IG1vZGUgKi8NCiNkZWZpbmUgRE1BX0NDUl9NSU5DX1BvcyAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9NSU5DX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0NDUl9NSU5DX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgRE1BX0NDUl9NSU5DICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NDUl9NSU5DX01zayAgICAgICAgICAgICAgICAgICAvKiE8IE1lbW9yeSBpbmNyZW1lbnQgbW9kZSAqLw0KDQojZGVmaW5lIERNQV9DQ1JfUFNJWkVfUG9zICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERNQV9DQ1JfUFNJWkVfTXNrICAgICAgICAgICAgICAgICAgICgweDNVIDw8IERNQV9DQ1JfUFNJWkVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIERNQV9DQ1JfUFNJWkUgICAgICAgICAgICAgICAgICAgICAgIERNQV9DQ1JfUFNJWkVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBQU0laRVsxOjBdIGJpdHMgKFBlcmlwaGVyYWwgc2l6ZSkgKi8NCiNkZWZpbmUgRE1BX0NDUl9QU0laRV8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0NDUl9QU0laRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgRE1BX0NDUl9QU0laRV8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgRE1BX0NDUl9QU0laRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KI2RlZmluZSBETUFfQ0NSX01TSVpFX1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ0NSX01TSVpFX01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBETUFfQ0NSX01TSVpFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMEMwMCAqLw0KI2RlZmluZSBETUFfQ0NSX01TSVpFICAgICAgICAgICAgICAgICAgICAgICBETUFfQ0NSX01TSVpFX01zayAgICAgICAgICAgICAgICAgIC8qITwgTVNJWkVbMTowXSBiaXRzIChNZW1vcnkgc2l6ZSkgKi8NCiNkZWZpbmUgRE1BX0NDUl9NU0laRV8wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0NDUl9NU0laRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgRE1BX0NDUl9NU0laRV8xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgRE1BX0NDUl9NU0laRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCg0KI2RlZmluZSBETUFfQ0NSX1BMX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ0NSX1BMX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBETUFfQ0NSX1BMX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMzAwMCAqLw0KI2RlZmluZSBETUFfQ0NSX1BMICAgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ0NSX1BMX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgUExbMTowXSBiaXRzKENoYW5uZWwgUHJpb3JpdHkgbGV2ZWwpICovDQojZGVmaW5lIERNQV9DQ1JfUExfMCAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IERNQV9DQ1JfUExfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIERNQV9DQ1JfUExfMSAgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IERNQV9DQ1JfUExfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQoNCiNkZWZpbmUgRE1BX0NDUl9NRU0yTUVNX1BvcyAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NDUl9NRU0yTUVNX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRE1BX0NDUl9NRU0yTUVNX1BvcykgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgRE1BX0NDUl9NRU0yTUVNICAgICAgICAgICAgICAgICAgICAgRE1BX0NDUl9NRU0yTUVNX01zayAgICAgICAgICAgICAgICAvKiE8IE1lbW9yeSB0byBtZW1vcnkgbW9kZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRE1BX0NORFRSICByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBETUFfQ05EVFJfTkRUX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ05EVFJfTkRUX01zayAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBETUFfQ05EVFJfTkRUX1BvcykgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBETUFfQ05EVFJfTkRUICAgICAgICAgICAgICAgICAgICAgICBETUFfQ05EVFJfTkRUX01zayAgICAgICAgICAgICAgICAgIC8qITwgTnVtYmVyIG9mIGRhdGEgdG8gVHJhbnNmZXIgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERNQV9DUEFSICByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRE1BX0NQQVJfUEFfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRE1BX0NQQVJfUEFfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IERNQV9DUEFSX1BBX1BvcykgICAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgRE1BX0NQQVJfUEEgICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NQQVJfUEFfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFBlcmlwaGVyYWwgQWRkcmVzcyAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRE1BX0NNQVIgIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBETUFfQ01BUl9NQV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBETUFfQ01BUl9NQV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgRE1BX0NNQVJfTUFfUG9zKSAgIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBETUFfQ01BUl9NQSAgICAgICAgICAgICAgICAgICAgICAgICBETUFfQ01BUl9NQV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgTWVtb3J5IEFkZHJlc3MgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICBBbmFsb2cgdG8gRGlnaXRhbCBDb252ZXJ0ZXIgKEFEQykgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qDQogKiBAYnJpZWYgU3BlY2lmaWMgZGV2aWNlIGZlYXR1cmUgZGVmaW5pdGlvbnMgKG5vdCBwcmVzZW50IG9uIGFsbCBkZXZpY2VzIGluIHRoZSBTVE0zMkYxIGZhbWlseSkNCiAqLw0KLyogTm90ZTogTm8gc3BlY2lmaWMgbWFjcm8gZmVhdHVyZSBvbiB0aGlzIGRldmljZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfU1JfQVdEX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1JfQVdEX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU1JfQVdEX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRENfU1JfQVdEICAgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1JfQVdEX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGFuYWxvZyB3YXRjaGRvZyAxIGZsYWcgKi8NCiNkZWZpbmUgQURDX1NSX0VPU19Qb3MgICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NSX0VPU19Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NSX0VPU19Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQURDX1NSX0VPUyAgICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NSX0VPU19Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIGVuZCBvZiBzZXF1ZW5jZSBjb252ZXJzaW9ucyBmbGFnICovDQojZGVmaW5lIEFEQ19TUl9KRU9TX1BvcyAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUl9KRU9TX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TUl9KRU9TX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFEQ19TUl9KRU9TICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUl9KRU9TX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgZW5kIG9mIHNlcXVlbmNlIGNvbnZlcnNpb25zIGZsYWcgKi8NCiNkZWZpbmUgQURDX1NSX0pTVFJUX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NSX0pTVFJUX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NSX0pTVFJUX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQURDX1NSX0pTVFJUICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NSX0pTVFJUX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBjb252ZXJzaW9uIHN0YXJ0IGZsYWcgKi8NCiNkZWZpbmUgQURDX1NSX1NUUlRfUG9zICAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NSX1NUUlRfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NSX1NUUlRfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgQURDX1NSX1NUUlQgICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NSX1NUUlRfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIGNvbnZlcnNpb24gc3RhcnQgZmxhZyAqLw0KDQovKiBMZWdhY3kgZGVmaW5lcyAqLw0KI2RlZmluZSAgQURDX1NSX0VPQyAgICAgICAgICAgICAgICAgICAgICAgICAgKEFEQ19TUl9FT1MpDQojZGVmaW5lICBBRENfU1JfSkVPQyAgICAgICAgICAgICAgICAgICAgICAgICAoQURDX1NSX0pFT1MpDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0NSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19DUjFfQVdEQ0hfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfQVdEQ0hfTXNrICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfQ1IxX0FXRENIX1BvcykgICAgICAgLyohPCAweDAwMDAwMDFGICovDQojZGVmaW5lIEFEQ19DUjFfQVdEQ0ggICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfQVdEQ0hfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgYW5hbG9nIHdhdGNoZG9nIDEgbW9uaXRvcmVkIGNoYW5uZWwgc2VsZWN0aW9uICovDQojZGVmaW5lIEFEQ19DUjFfQVdEQ0hfMCAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfQ1IxX0FXRENIX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFEQ19DUjFfQVdEQ0hfMSAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfQ1IxX0FXRENIX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFEQ19DUjFfQVdEQ0hfMiAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfQ1IxX0FXRENIX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEFEQ19DUjFfQVdEQ0hfMyAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfQ1IxX0FXRENIX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEFEQ19DUjFfQVdEQ0hfNCAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfQ1IxX0FXRENIX1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQoNCiNkZWZpbmUgQURDX0NSMV9FT1NJRV9Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMV9FT1NJRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMV9FT1NJRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgQURDX0NSMV9FT1NJRSAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMV9FT1NJRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIGVuZCBvZiBzZXF1ZW5jZSBjb252ZXJzaW9ucyBpbnRlcnJ1cHQgKi8NCiNkZWZpbmUgQURDX0NSMV9BV0RJRV9Qb3MgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMV9BV0RJRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMV9BV0RJRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgQURDX0NSMV9BV0RJRSAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMV9BV0RJRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBhbmFsb2cgd2F0Y2hkb2cgMSBpbnRlcnJ1cHQgKi8NCiNkZWZpbmUgQURDX0NSMV9KRU9TSUVfUG9zICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMV9KRU9TSUVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMV9KRU9TSUVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgQURDX0NSMV9KRU9TSUUgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMV9KRU9TSUVfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBlbmQgb2Ygc2VxdWVuY2UgY29udmVyc2lvbnMgaW50ZXJydXB0ICovDQojZGVmaW5lIEFEQ19DUjFfU0NBTl9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfU0NBTl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjFfU0NBTl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIEFEQ19DUjFfU0NBTiAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfU0NBTl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBREMgc2NhbiBtb2RlICovDQojZGVmaW5lIEFEQ19DUjFfQVdEU0dMX1BvcyAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfQVdEU0dMX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjFfQVdEU0dMX1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEFEQ19DUjFfQVdEU0dMICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfQVdEU0dMX01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgYW5hbG9nIHdhdGNoZG9nIDEgbW9uaXRvcmluZyBhIHNpbmdsZSBjaGFubmVsIG9yIGFsbCBjaGFubmVscyAqLw0KI2RlZmluZSBBRENfQ1IxX0pBVVRPX1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IxX0pBVVRPX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IxX0pBVVRPX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBBRENfQ1IxX0pBVVRPICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IxX0pBVVRPX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIGF1dG9tYXRpYyB0cmlnZ2VyIG1vZGUgKi8NCiNkZWZpbmUgQURDX0NSMV9ESVNDRU5fUG9zICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMV9ESVNDRU5fTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMV9ESVNDRU5fUG9zKSAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgQURDX0NSMV9ESVNDRU4gICAgICAgICAgICAgICAgICAgICAgQURDX0NSMV9ESVNDRU5fTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciBkaXNjb250aW51b3VzIG1vZGUgKi8NCiNkZWZpbmUgQURDX0NSMV9KRElTQ0VOX1BvcyAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMV9KRElTQ0VOX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMV9KRElTQ0VOX1BvcykgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgQURDX0NSMV9KRElTQ0VOICAgICAgICAgICAgICAgICAgICAgQURDX0NSMV9KRElTQ0VOX01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgZGlzY29udGludW91cyBtb2RlICovDQoNCiNkZWZpbmUgQURDX0NSMV9ESVNDTlVNX1BvcyAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMV9ESVNDTlVNX01zayAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX0NSMV9ESVNDTlVNX1BvcykgICAgICAvKiE8IDB4MDAwMEUwMDAgKi8NCiNkZWZpbmUgQURDX0NSMV9ESVNDTlVNICAgICAgICAgICAgICAgICAgICAgQURDX0NSMV9ESVNDTlVNX01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciBkaXNjb250aW51b3VzIG51bWJlciBvZiByYW5rcyAqLw0KI2RlZmluZSBBRENfQ1IxX0RJU0NOVU1fMCAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IxX0RJU0NOVU1fUG9zKSAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBBRENfQ1IxX0RJU0NOVU1fMSAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfQ1IxX0RJU0NOVU1fUG9zKSAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBBRENfQ1IxX0RJU0NOVU1fMiAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfQ1IxX0RJU0NOVU1fUG9zKSAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KDQojZGVmaW5lIEFEQ19DUjFfSkFXREVOX1BvcyAgICAgICAgICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjFfSkFXREVOX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjFfSkFXREVOX1BvcykgICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIEFEQ19DUjFfSkFXREVOICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjFfSkFXREVOX01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgYW5hbG9nIHdhdGNoZG9nIDEgZW5hYmxlIG9uIHNjb3BlIEFEQyBncm91cCBpbmplY3RlZCAqLw0KI2RlZmluZSBBRENfQ1IxX0FXREVOX1BvcyAgICAgICAgICAgICAgICAgICAoMjNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IxX0FXREVOX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IxX0FXREVOX1BvcykgICAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBBRENfQ1IxX0FXREVOICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IxX0FXREVOX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGFuYWxvZyB3YXRjaGRvZyAxIGVuYWJsZSBvbiBzY29wZSBBREMgZ3JvdXAgcmVndWxhciAqLw0KDQovKiBMZWdhY3kgZGVmaW5lcyAqLw0KI2RlZmluZSAgQURDX0NSMV9FT0NJRSAgICAgICAgICAgICAgICAgICAgICAgKEFEQ19DUjFfRU9TSUUpDQojZGVmaW5lICBBRENfQ1IxX0pFT0NJRSAgICAgICAgICAgICAgICAgICAgICAoQURDX0NSMV9KRU9TSUUpDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0NSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19DUjJfQURPTl9Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjJfQURPTl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjJfQURPTl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEFEQ19DUjJfQURPTiAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfQURPTl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZW5hYmxlICovDQojZGVmaW5lIEFEQ19DUjJfQ09OVF9Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjJfQ09OVF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjJfQ09OVF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEFEQ19DUjJfQ09OVCAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfQ09OVF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBjb250aW51b3VzIGNvbnZlcnNpb24gbW9kZSAqLw0KI2RlZmluZSBBRENfQ1IyX0NBTF9Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX0NBTF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX0NBTF9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRENfQ1IyX0NBTCAgICAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0NBTF9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGNhbGlicmF0aW9uIHN0YXJ0ICovDQojZGVmaW5lIEFEQ19DUjJfUlNUQ0FMX1BvcyAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjJfUlNUQ0FMX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjJfUlNUQ0FMX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEFEQ19DUjJfUlNUQ0FMICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfUlNUQ0FMX01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgY2FsaWJyYXRpb24gcmVzZXQgKi8NCiNkZWZpbmUgQURDX0NSMl9ETUFfUG9zICAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMl9ETUFfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMl9ETUFfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgQURDX0NSMl9ETUEgICAgICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9ETUFfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBETUEgdHJhbnNmZXIgZW5hYmxlICovDQojZGVmaW5lIEFEQ19DUjJfQUxJR05fUG9zICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjJfQUxJR05fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjJfQUxJR05fUG9zKSAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEFEQ19DUjJfQUxJR04gICAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfQUxJR05fTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZGF0YSBhbGlnbmVtZW50ICovDQoNCiNkZWZpbmUgQURDX0NSMl9KRVhUU0VMX1BvcyAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMl9KRVhUU0VMX01zayAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX0NSMl9KRVhUU0VMX1BvcykgICAgICAvKiE8IDB4MDAwMDcwMDAgKi8NCiNkZWZpbmUgQURDX0NSMl9KRVhUU0VMICAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9KRVhUU0VMX01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBleHRlcm5hbCB0cmlnZ2VyIHNvdXJjZSAqLw0KI2RlZmluZSBBRENfQ1IyX0pFWFRTRUxfMCAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX0pFWFRTRUxfUG9zKSAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBBRENfQ1IyX0pFWFRTRUxfMSAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfQ1IyX0pFWFRTRUxfUG9zKSAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBBRENfQ1IyX0pFWFRTRUxfMiAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfQ1IyX0pFWFRTRUxfUG9zKSAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KDQojZGVmaW5lIEFEQ19DUjJfSkVYVFRSSUdfUG9zICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjJfSkVYVFRSSUdfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjJfSkVYVFRSSUdfUG9zKSAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEFEQ19DUjJfSkVYVFRSSUcgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfSkVYVFRSSUdfTXNrICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgZXh0ZXJuYWwgdHJpZ2dlciBlbmFibGUgKi8NCg0KI2RlZmluZSBBRENfQ1IyX0VYVFNFTF9Qb3MgICAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX0VYVFNFTF9Nc2sgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfQ1IyX0VYVFNFTF9Qb3MpICAgICAgIC8qITwgMHgwMDBFMDAwMCAqLw0KI2RlZmluZSBBRENfQ1IyX0VYVFNFTCAgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0VYVFNFTF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgZXh0ZXJuYWwgdHJpZ2dlciBzb3VyY2UgKi8NCiNkZWZpbmUgQURDX0NSMl9FWFRTRUxfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMl9FWFRTRUxfUG9zKSAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgQURDX0NSMl9FWFRTRUxfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX0NSMl9FWFRTRUxfUG9zKSAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgQURDX0NSMl9FWFRTRUxfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX0NSMl9FWFRTRUxfUG9zKSAgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCg0KI2RlZmluZSBBRENfQ1IyX0VYVFRSSUdfUG9zICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfQ1IyX0VYVFRSSUdfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfQ1IyX0VYVFRSSUdfUG9zKSAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBBRENfQ1IyX0VYVFRSSUcgICAgICAgICAgICAgICAgICAgICBBRENfQ1IyX0VYVFRSSUdfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgZXh0ZXJuYWwgdHJpZ2dlciBlbmFibGUgKi8NCiNkZWZpbmUgQURDX0NSMl9KU1dTVEFSVF9Qb3MgICAgICAgICAgICAgICAgKDIxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0NSMl9KU1dTVEFSVF9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX0NSMl9KU1dTVEFSVF9Qb3MpICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgQURDX0NSMl9KU1dTVEFSVCAgICAgICAgICAgICAgICAgICAgQURDX0NSMl9KU1dTVEFSVF9Nc2sgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBjb252ZXJzaW9uIHN0YXJ0ICovDQojZGVmaW5lIEFEQ19DUjJfU1dTVEFSVF9Qb3MgICAgICAgICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjJfU1dTVEFSVF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjJfU1dTVEFSVF9Qb3MpICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIEFEQ19DUjJfU1dTVEFSVCAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfU1dTVEFSVF9Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBjb252ZXJzaW9uIHN0YXJ0ICovDQojZGVmaW5lIEFEQ19DUjJfVFNWUkVGRV9Qb3MgICAgICAgICAgICAgICAgICgyM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19DUjJfVFNWUkVGRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19DUjJfVFNWUkVGRV9Qb3MpICAgICAgLyohPCAweDAwODAwMDAwICovDQojZGVmaW5lIEFEQ19DUjJfVFNWUkVGRSAgICAgICAgICAgICAgICAgICAgIEFEQ19DUjJfVFNWUkVGRV9Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgaW50ZXJuYWwgcGF0aCB0byBWcmVmSW50IGFuZCB0ZW1wZXJhdHVyZSBzZW5zb3IgZW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfU01QUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMF9Qb3MgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMF9Nc2sgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMV9TTVAxMF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA3ICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMCAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMV9TTVAxMF9Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCAxMCBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEwXzAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIxX1NNUDEwX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEwXzEgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIxX1NNUDEwX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEwXzIgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIxX1NNUDEwX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCg0KI2RlZmluZSBBRENfU01QUjFfU01QMTFfUG9zICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjFfU01QMTFfTXNrICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjFfU01QMTFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAzOCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTEgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjFfU01QMTFfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMTEgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMV8wICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMV9TTVAxMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMV8xICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMV9TTVAxMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMV8yICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMV9TTVAxMV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDIwICovDQoNCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEyX1BvcyAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEyX01zayAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIxX1NNUDEyX1BvcykgICAgICAvKiE8IDB4MDAwMDAxQzAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEyICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIxX1NNUDEyX01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDEyIHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTJfMCAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjFfU01QMTJfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTJfMSAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjFfU01QMTJfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTJfMiAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjFfU01QMTJfUG9zKSAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxM19Qb3MgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxM19Nc2sgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMV9TTVAxM19Qb3MpICAgICAgLyohPCAweDAwMDAwRTAwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxMyAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMV9TTVAxM19Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCAxMyBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEzXzAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIxX1NNUDEzX1BvcykgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEzXzEgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIxX1NNUDEzX1BvcykgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDEzXzIgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIxX1NNUDEzX1BvcykgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjFfU01QMTRfUG9zICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjFfU01QMTRfTXNrICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjFfU01QMTRfUG9zKSAgICAgIC8qITwgMHgwMDAwNzAwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTQgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjFfU01QMTRfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMTQgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNF8wICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMV9TTVAxNF9Qb3MpICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNF8xICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMV9TTVAxNF9Qb3MpICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNF8yICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMV9TTVAxNF9Qb3MpICAgICAgLyohPCAweDAwMDA0MDAwICovDQoNCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE1X1BvcyAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE1X01zayAgICAgICAgICAgICAgICAgKDB4N1UgPDwgQURDX1NNUFIxX1NNUDE1X1BvcykgICAgICAvKiE8IDB4MDAwMzgwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE1ICAgICAgICAgICAgICAgICAgICAgQURDX1NNUFIxX1NNUDE1X01zayAgICAgICAgICAgICAgICAvKiE8IEFEQyBjaGFubmVsIDE1IHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTVfMCAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjFfU01QMTVfUG9zKSAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTVfMSAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjFfU01QMTVfUG9zKSAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTVfMiAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjFfU01QMTVfUG9zKSAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNl9Qb3MgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNl9Nc2sgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMV9TTVAxNl9Qb3MpICAgICAgLyohPCAweDAwMUMwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxNiAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMV9TTVAxNl9Nc2sgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCAxNiBzYW1wbGluZyB0aW1lIHNlbGVjdGlvbiAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE2XzAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NNUFIxX1NNUDE2X1BvcykgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE2XzEgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NNUFIxX1NNUDE2X1BvcykgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgQURDX1NNUFIxX1NNUDE2XzIgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NNUFIxX1NNUDE2X1BvcykgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCg0KI2RlZmluZSBBRENfU01QUjFfU01QMTdfUG9zICAgICAgICAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU01QUjFfU01QMTdfTXNrICAgICAgICAgICAgICAgICAoMHg3VSA8PCBBRENfU01QUjFfU01QMTdfUG9zKSAgICAgIC8qITwgMHgwMEUwMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjFfU01QMTcgICAgICAgICAgICAgICAgICAgICBBRENfU01QUjFfU01QMTdfTXNrICAgICAgICAgICAgICAgIC8qITwgQURDIGNoYW5uZWwgMTcgc2FtcGxpbmcgdGltZSBzZWxlY3Rpb24gICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxN18wICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19TTVBSMV9TTVAxN19Qb3MpICAgICAgLyohPCAweDAwMjAwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxN18xICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19TTVBSMV9TTVAxN19Qb3MpICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMV9TTVAxN18yICAgICAgICAgICAgICAgICAgICgweDRVIDw8IEFEQ19TTVBSMV9TTVAxN19Qb3MpICAgICAgLyohPCAweDAwODAwMDAwICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfU01QUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAwX1BvcyAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAwX01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMl9TTVAwX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA3ICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAwICAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMl9TTVAwX01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCAwIHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMF8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjJfU01QMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMF8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjJfU01QMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMF8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjJfU01QMF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAxX1BvcyAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAxX01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMl9TTVAxX1BvcykgICAgICAgLyohPCAweDAwMDAwMDM4ICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAxICAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMl9TTVAxX01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCAxIHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMV8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjJfU01QMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMV8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjJfU01QMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMV8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjJfU01QMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAyX1BvcyAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAyX01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMl9TTVAyX1BvcykgICAgICAgLyohPCAweDAwMDAwMUMwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAyICAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMl9TTVAyX01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCAyIHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMl8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjJfU01QMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMl8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjJfU01QMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QMl8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjJfU01QMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAzX1BvcyAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAzX01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMl9TTVAzX1BvcykgICAgICAgLyohPCAweDAwMDAwRTAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVAzICAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMl9TTVAzX01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCAzIHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QM18wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjJfU01QM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QM18xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjJfU01QM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QM18yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjJfU01QM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA0X1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA0X01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMl9TTVA0X1BvcykgICAgICAgLyohPCAweDAwMDA3MDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA0ICAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMl9TTVA0X01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCA0IHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QNF8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjJfU01QNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QNF8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjJfU01QNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QNF8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjJfU01QNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA1X1BvcyAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA1X01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMl9TTVA1X1BvcykgICAgICAgLyohPCAweDAwMDM4MDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA1ICAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMl9TTVA1X01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCA1IHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QNV8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjJfU01QNV9Qb3MpICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QNV8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjJfU01QNV9Qb3MpICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QNV8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjJfU01QNV9Qb3MpICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA2X1BvcyAgICAgICAgICAgICAgICAgICgxOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA2X01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMl9TTVA2X1BvcykgICAgICAgLyohPCAweDAwMUMwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA2ICAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMl9TTVA2X01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCA2IHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QNl8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjJfU01QNl9Qb3MpICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QNl8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjJfU01QNl9Qb3MpICAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QNl8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjJfU01QNl9Qb3MpICAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA3X1BvcyAgICAgICAgICAgICAgICAgICgyMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA3X01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMl9TTVA3X1BvcykgICAgICAgLyohPCAweDAwRTAwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA3ICAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMl9TTVA3X01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCA3IHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QN18wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjJfU01QN19Qb3MpICAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QN18xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjJfU01QN19Qb3MpICAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QN18yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjJfU01QN19Qb3MpICAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA4X1BvcyAgICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA4X01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMl9TTVA4X1BvcykgICAgICAgLyohPCAweDA3MDAwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA4ICAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMl9TTVA4X01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCA4IHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QOF8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjJfU01QOF9Qb3MpICAgICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QOF8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjJfU01QOF9Qb3MpICAgICAgIC8qITwgMHgwMjAwMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QOF8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjJfU01QOF9Qb3MpICAgICAgIC8qITwgMHgwNDAwMDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA5X1BvcyAgICAgICAgICAgICAgICAgICgyN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA5X01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IEFEQ19TTVBSMl9TTVA5X1BvcykgICAgICAgLyohPCAweDM4MDAwMDAwICovDQojZGVmaW5lIEFEQ19TTVBSMl9TTVA5ICAgICAgICAgICAgICAgICAgICAgIEFEQ19TTVBSMl9TTVA5X01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgY2hhbm5lbCA5IHNhbXBsaW5nIHRpbWUgc2VsZWN0aW9uICAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QOV8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBBRENfU01QUjJfU01QOV9Qb3MpICAgICAgIC8qITwgMHgwODAwMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QOV8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBBRENfU01QUjJfU01QOV9Qb3MpICAgICAgIC8qITwgMHgxMDAwMDAwMCAqLw0KI2RlZmluZSBBRENfU01QUjJfU01QOV8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBBRENfU01QUjJfU01QOV9Qb3MpICAgICAgIC8qITwgMHgyMDAwMDAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0pPRlIxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfSk9GUjFfSk9GRlNFVDFfUG9zICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSk9GUjFfSk9GRlNFVDFfTXNrICAgICAgICAgICAgICAoMHhGRkZVIDw8IEFEQ19KT0ZSMV9KT0ZGU0VUMV9Qb3MpIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBBRENfSk9GUjFfSk9GRlNFVDEgICAgICAgICAgICAgICAgICBBRENfSk9GUjFfSk9GRlNFVDFfTXNrICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDEgb2Zmc2V0IHZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfSk9GUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19KT0ZSMl9KT0ZGU0VUMl9Qb3MgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19KT0ZSMl9KT0ZGU0VUMl9Nc2sgICAgICAgICAgICAgICgweEZGRlUgPDwgQURDX0pPRlIyX0pPRkZTRVQyX1BvcykgLyohPCAweDAwMDAwRkZGICovDQojZGVmaW5lIEFEQ19KT0ZSMl9KT0ZGU0VUMiAgICAgICAgICAgICAgICAgIEFEQ19KT0ZSMl9KT0ZGU0VUMl9Nc2sgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgc2VxdWVuY2VyIHJhbmsgMiBvZmZzZXQgdmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19KT0ZSMyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0pPRlIzX0pPRkZTRVQzX1BvcyAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pPRlIzX0pPRkZTRVQzX01zayAgICAgICAgICAgICAgKDB4RkZGVSA8PCBBRENfSk9GUjNfSk9GRlNFVDNfUG9zKSAvKiE8IDB4MDAwMDBGRkYgKi8NCiNkZWZpbmUgQURDX0pPRlIzX0pPRkZTRVQzICAgICAgICAgICAgICAgICAgQURDX0pPRlIzX0pPRkZTRVQzX01zayAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgcmFuayAzIG9mZnNldCB2YWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0pPRlI0IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfSk9GUjRfSk9GRlNFVDRfUG9zICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSk9GUjRfSk9GRlNFVDRfTXNrICAgICAgICAgICAgICAoMHhGRkZVIDw8IEFEQ19KT0ZSNF9KT0ZGU0VUNF9Qb3MpIC8qITwgMHgwMDAwMEZGRiAqLw0KI2RlZmluZSBBRENfSk9GUjRfSk9GRlNFVDQgICAgICAgICAgICAgICAgICBBRENfSk9GUjRfSk9GRlNFVDRfTXNrICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDQgb2Zmc2V0IHZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0hUUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19IVFJfSFRfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19IVFJfSFRfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZGRlUgPDwgQURDX0hUUl9IVF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwRkZGICovDQojZGVmaW5lIEFEQ19IVFJfSFQgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19IVFJfSFRfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgYW5hbG9nIHdhdGNoZG9nIDEgdGhyZXNob2xkIGhpZ2ggKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfTFRSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0xUUl9MVF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0xUUl9MVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGVSA8PCBBRENfTFRSX0xUX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDBGRkYgKi8NCiNkZWZpbmUgQURDX0xUUl9MVCAgICAgICAgICAgICAgICAgICAgICAgICAgQURDX0xUUl9MVF9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBhbmFsb2cgd2F0Y2hkb2cgMSB0aHJlc2hvbGQgbG93ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX1NRUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTNfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIxX1NRMTNfTXNrICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSMV9TUTEzX1BvcykgICAgICAgLyohPCAweDAwMDAwMDFGICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTMgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIxX1NRMTNfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayAxMyAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTEzXzAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjFfU1ExM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTEzXzEgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjFfU1ExM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTEzXzIgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjFfU1ExM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTEzXzMgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjFfU1ExM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTEzXzQgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjFfU1ExM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIxX1NRMTRfUG9zICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIxX1NRMTRfTXNrICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSMV9TUTE0X1BvcykgICAgICAgLyohPCAweDAwMDAwM0UwICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTQgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIxX1NRMTRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayAxNCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE0XzAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjFfU1ExNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE0XzEgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjFfU1ExNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE0XzIgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjFfU1ExNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE0XzMgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjFfU1ExNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE0XzQgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjFfU1ExNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIxX1NRMTVfUG9zICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIxX1NRMTVfTXNrICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSMV9TUTE1X1BvcykgICAgICAgLyohPCAweDAwMDA3QzAwICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTUgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIxX1NRMTVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayAxNSAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE1XzAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjFfU1ExNV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE1XzEgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjFfU1ExNV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE1XzIgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjFfU1ExNV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE1XzMgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjFfU1ExNV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE1XzQgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjFfU1ExNV9Qb3MpICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIxX1NRMTZfUG9zICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIxX1NRMTZfTXNrICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSMV9TUTE2X1BvcykgICAgICAgLyohPCAweDAwMEY4MDAwICovDQojZGVmaW5lIEFEQ19TUVIxX1NRMTYgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIxX1NRMTZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayAxNiAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE2XzAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjFfU1ExNl9Qb3MpICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE2XzEgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjFfU1ExNl9Qb3MpICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE2XzIgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjFfU1ExNl9Qb3MpICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE2XzMgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjFfU1ExNl9Qb3MpICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMV9TUTE2XzQgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjFfU1ExNl9Qb3MpICAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIxX0xfUG9zICAgICAgICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIxX0xfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZVIDw8IEFEQ19TUVIxX0xfUG9zKSAgICAgICAgICAgLyohPCAweDAwRjAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIxX0wgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIxX0xfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgc2NhbiBsZW5ndGggKi8NCiNkZWZpbmUgQURDX1NRUjFfTF8wICAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgQURDX1NRUjFfTF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfTF8xICAgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgQURDX1NRUjFfTF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfTF8yICAgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgQURDX1NRUjFfTF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjFfTF8zICAgICAgICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgQURDX1NRUjFfTF9Qb3MpICAgICAgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfU1FSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E3X1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjJfU1E3X01zayAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIyX1NRN19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMUYgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E3ICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjJfU1E3X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDcgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E3XzAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIyX1NRN19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E3XzEgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIyX1NRN19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E3XzIgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIyX1NRN19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E3XzMgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIyX1NRN19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQURDX1NRUjJfU1E3XzQgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIyX1NRN19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCg0KI2RlZmluZSBBRENfU1FSMl9TUThfUG9zICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSMl9TUThfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjJfU1E4X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDNFMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTggICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSMl9TUThfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgOCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUThfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjJfU1E4X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUThfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjJfU1E4X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUThfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjJfU1E4X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUThfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjJfU1E4X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUThfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjJfU1E4X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIyX1NROV9Qb3MgICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIyX1NROV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSMl9TUTlfUG9zKSAgICAgICAgLyohPCAweDAwMDA3QzAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NROSAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIyX1NROV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayA5ICovDQojZGVmaW5lIEFEQ19TUVIyX1NROV8wICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSMl9TUTlfUG9zKSAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NROV8xICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSMl9TUTlfUG9zKSAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NROV8yICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSMl9TUTlfUG9zKSAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NROV8zICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSMl9TUTlfUG9zKSAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NROV80ICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSMl9TUTlfUG9zKSAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQoNCiNkZWZpbmUgQURDX1NRUjJfU1ExMF9Qb3MgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjJfU1ExMF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIyX1NRMTBfUG9zKSAgICAgICAvKiE8IDB4MDAwRjgwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMCAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjJfU1ExMF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDEwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTBfMCAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSMl9TUTEwX1BvcykgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTBfMSAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSMl9TUTEwX1BvcykgICAgICAgLyohPCAweDAwMDEwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTBfMiAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSMl9TUTEwX1BvcykgICAgICAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTBfMyAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSMl9TUTEwX1BvcykgICAgICAgLyohPCAweDAwMDQwMDAwICovDQojZGVmaW5lIEFEQ19TUVIyX1NRMTBfNCAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSMl9TUTEwX1BvcykgICAgICAgLyohPCAweDAwMDgwMDAwICovDQoNCiNkZWZpbmUgQURDX1NRUjJfU1ExMV9Qb3MgICAgICAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjJfU1ExMV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIyX1NRMTFfUG9zKSAgICAgICAvKiE8IDB4MDFGMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMSAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjJfU1ExMV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDEgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMV8wICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIyX1NRMTFfUG9zKSAgICAgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMV8xICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIyX1NRMTFfUG9zKSAgICAgICAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMV8yICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIyX1NRMTFfUG9zKSAgICAgICAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMV8zICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIyX1NRMTFfUG9zKSAgICAgICAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMV80ICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIyX1NRMTFfUG9zKSAgICAgICAvKiE8IDB4MDEwMDAwMDAgKi8NCg0KI2RlZmluZSBBRENfU1FSMl9TUTEyX1BvcyAgICAgICAgICAgICAgICAgICAoMjVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSMl9TUTEyX01zayAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjJfU1ExMl9Qb3MpICAgICAgIC8qITwgMHgzRTAwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSMl9TUTEyICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSMl9TUTEyX01zayAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgMTIgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMl8wICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIyX1NRMTJfUG9zKSAgICAgICAvKiE8IDB4MDIwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMl8xICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIyX1NRMTJfUG9zKSAgICAgICAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMl8yICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIyX1NRMTJfUG9zKSAgICAgICAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMl8zICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIyX1NRMTJfUG9zKSAgICAgICAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjJfU1ExMl80ICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIyX1NRMTJfUG9zKSAgICAgICAvKiE8IDB4MjAwMDAwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfU1FSMyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX1NRUjNfU1ExX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjNfU1ExX01zayAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIzX1NRMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMUYgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1ExICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjNfU1ExX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDEgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1ExXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIzX1NRMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1ExXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIzX1NRMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1ExXzIgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIzX1NRMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1ExXzMgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIzX1NRMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgQURDX1NRUjNfU1ExXzQgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIzX1NRMV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCg0KI2RlZmluZSBBRENfU1FSM19TUTJfUG9zICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSM19TUTJfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjNfU1EyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDNFMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTIgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSM19TUTJfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgMiAqLw0KI2RlZmluZSBBRENfU1FSM19TUTJfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjNfU1EyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTJfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjNfU1EyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTJfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjNfU1EyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTJfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjNfU1EyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTJfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjNfU1EyX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIzX1NRM19Qb3MgICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIzX1NRM19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSM19TUTNfUG9zKSAgICAgICAgLyohPCAweDAwMDA3QzAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRMyAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIzX1NRM19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayAzICovDQojZGVmaW5lIEFEQ19TUVIzX1NRM18wICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSM19TUTNfUG9zKSAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRM18xICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSM19TUTNfUG9zKSAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRM18yICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSM19TUTNfUG9zKSAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRM18zICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSM19TUTNfUG9zKSAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRM180ICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSM19TUTNfUG9zKSAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQoNCiNkZWZpbmUgQURDX1NRUjNfU1E0X1BvcyAgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX1NRUjNfU1E0X01zayAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IEFEQ19TUVIzX1NRNF9Qb3MpICAgICAgICAvKiE8IDB4MDAwRjgwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E0ICAgICAgICAgICAgICAgICAgICAgICAgQURDX1NRUjNfU1E0X01zayAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIHNlcXVlbmNlciByYW5rIDQgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E0XzAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEFEQ19TUVIzX1NRNF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E0XzEgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEFEQ19TUVIzX1NRNF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E0XzIgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEFEQ19TUVIzX1NRNF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E0XzMgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEFEQ19TUVIzX1NRNF9Qb3MpICAgICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgQURDX1NRUjNfU1E0XzQgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEFEQ19TUVIzX1NRNF9Qb3MpICAgICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCg0KI2RlZmluZSBBRENfU1FSM19TUTVfUG9zICAgICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfU1FSM19TUTVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxRlUgPDwgQURDX1NRUjNfU1E1X1BvcykgICAgICAgIC8qITwgMHgwMUYwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTUgICAgICAgICAgICAgICAgICAgICAgICBBRENfU1FSM19TUTVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIHJlZ3VsYXIgc2VxdWVuY2VyIHJhbmsgNSAqLw0KI2RlZmluZSBBRENfU1FSM19TUTVfMCAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX1NRUjNfU1E1X1BvcykgICAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTVfMSAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX1NRUjNfU1E1X1BvcykgICAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTVfMiAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX1NRUjNfU1E1X1BvcykgICAgICAgIC8qITwgMHgwMDQwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTVfMyAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX1NRUjNfU1E1X1BvcykgICAgICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBBRENfU1FSM19TUTVfNCAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX1NRUjNfU1E1X1BvcykgICAgICAgIC8qITwgMHgwMTAwMDAwMCAqLw0KDQojZGVmaW5lIEFEQ19TUVIzX1NRNl9Qb3MgICAgICAgICAgICAgICAgICAgICgyNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19TUVIzX1NRNl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfU1FSM19TUTZfUG9zKSAgICAgICAgLyohPCAweDNFMDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNiAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19TUVIzX1NRNl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgcmVndWxhciBzZXF1ZW5jZXIgcmFuayA2ICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNl8wICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBBRENfU1FSM19TUTZfUG9zKSAgICAgICAgLyohPCAweDAyMDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNl8xICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBBRENfU1FSM19TUTZfUG9zKSAgICAgICAgLyohPCAweDA0MDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNl8yICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBBRENfU1FSM19TUTZfUG9zKSAgICAgICAgLyohPCAweDA4MDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNl8zICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBBRENfU1FSM19TUTZfUG9zKSAgICAgICAgLyohPCAweDEwMDAwMDAwICovDQojZGVmaW5lIEFEQ19TUVIzX1NRNl80ICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBBRENfU1FSM19TUTZfUG9zKSAgICAgICAgLyohPCAweDIwMDAwMDAwICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0pTUVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTFfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19KU1FSX0pTUTFfTXNrICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfSlNRUl9KU1ExX1BvcykgICAgICAgLyohPCAweDAwMDAwMDFGICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTEgICAgICAgICAgICAgICAgICAgICAgIEFEQ19KU1FSX0pTUTFfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgc2VxdWVuY2VyIHJhbmsgMSAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1ExXzAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX0pTUVJfSlNRMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1ExXzEgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX0pTUVJfSlNRMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1ExXzIgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX0pTUVJfSlNRMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1ExXzMgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX0pTUVJfSlNRMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1ExXzQgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX0pTUVJfSlNRMV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KDQojZGVmaW5lIEFEQ19KU1FSX0pTUTJfUG9zICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19KU1FSX0pTUTJfTXNrICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfSlNRUl9KU1EyX1BvcykgICAgICAgLyohPCAweDAwMDAwM0UwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTIgICAgICAgICAgICAgICAgICAgICAgIEFEQ19KU1FSX0pTUTJfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgc2VxdWVuY2VyIHJhbmsgMiAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1EyXzAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX0pTUVJfSlNRMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1EyXzEgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX0pTUVJfSlNRMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1EyXzIgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX0pTUVJfSlNRMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1EyXzMgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX0pTUVJfSlNRMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1EyXzQgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX0pTUVJfSlNRMl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KDQojZGVmaW5lIEFEQ19KU1FSX0pTUTNfUG9zICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19KU1FSX0pTUTNfTXNrICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfSlNRUl9KU1EzX1BvcykgICAgICAgLyohPCAweDAwMDA3QzAwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTMgICAgICAgICAgICAgICAgICAgICAgIEFEQ19KU1FSX0pTUTNfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgc2VxdWVuY2VyIHJhbmsgMyAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1EzXzAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX0pTUVJfSlNRM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1EzXzEgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX0pTUVJfSlNRM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1EzXzIgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX0pTUVJfSlNRM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1EzXzMgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX0pTUVJfSlNRM19Qb3MpICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1EzXzQgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX0pTUVJfSlNRM19Qb3MpICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KDQojZGVmaW5lIEFEQ19KU1FSX0pTUTRfUG9zICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19KU1FSX0pTUTRfTXNrICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBBRENfSlNRUl9KU1E0X1BvcykgICAgICAgLyohPCAweDAwMEY4MDAwICovDQojZGVmaW5lIEFEQ19KU1FSX0pTUTQgICAgICAgICAgICAgICAgICAgICAgIEFEQ19KU1FSX0pTUTRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgc2VxdWVuY2VyIHJhbmsgNCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1E0XzAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgQURDX0pTUVJfSlNRNF9Qb3MpICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1E0XzEgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgQURDX0pTUVJfSlNRNF9Qb3MpICAgICAgIC8qITwgMHgwMDAxMDAwMCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1E0XzIgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgQURDX0pTUVJfSlNRNF9Qb3MpICAgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1E0XzMgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgQURDX0pTUVJfSlNRNF9Qb3MpICAgICAgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBBRENfSlNRUl9KU1E0XzQgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgQURDX0pTUVJfSlNRNF9Qb3MpICAgICAgIC8qITwgMHgwMDA4MDAwMCAqLw0KDQojZGVmaW5lIEFEQ19KU1FSX0pMX1BvcyAgICAgICAgICAgICAgICAgICAgICgyMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19KU1FSX0pMX01zayAgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IEFEQ19KU1FSX0pMX1BvcykgICAgICAgICAgLyohPCAweDAwMzAwMDAwICovDQojZGVmaW5lIEFEQ19KU1FSX0pMICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19KU1FSX0pMX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgc2VxdWVuY2VyIHNjYW4gbGVuZ3RoICovDQojZGVmaW5lIEFEQ19KU1FSX0pMXzAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEFEQ19KU1FSX0pMX1BvcykgICAgICAgICAgLyohPCAweDAwMTAwMDAwICovDQojZGVmaW5lIEFEQ19KU1FSX0pMXzEgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IEFEQ19KU1FSX0pMX1BvcykgICAgICAgICAgLyohPCAweDAwMjAwMDAwICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0pEUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19KRFIxX0pEQVRBX1BvcyAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19KRFIxX0pEQVRBX01zayAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEFEQ19KRFIxX0pEQVRBX1BvcykgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEFEQ19KRFIxX0pEQVRBICAgICAgICAgICAgICAgICAgICAgIEFEQ19KRFIxX0pEQVRBX01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgc2VxdWVuY2VyIHJhbmsgMSBjb252ZXJzaW9uIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfSkRSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0pEUjJfSkRBVEFfUG9zICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0pEUjJfSkRBVEFfTXNrICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQURDX0pEUjJfSkRBVEFfUG9zKSAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQURDX0pEUjJfSkRBVEEgICAgICAgICAgICAgICAgICAgICAgQURDX0pEUjJfSkRBVEFfTXNrICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCBpbmplY3RlZCBzZXF1ZW5jZXIgcmFuayAyIGNvbnZlcnNpb24gZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19KRFIzIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBBRENfSkRSM19KREFUQV9Qb3MgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBBRENfSkRSM19KREFUQV9Nc2sgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBBRENfSkRSM19KREFUQV9Qb3MpICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBBRENfSkRSM19KREFUQSAgICAgICAgICAgICAgICAgICAgICBBRENfSkRSM19KREFUQV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQURDIGdyb3VwIGluamVjdGVkIHNlcXVlbmNlciByYW5rIDMgY29udmVyc2lvbiBkYXRhICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0pEUjQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEFEQ19KRFI0X0pEQVRBX1BvcyAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEFEQ19KRFI0X0pEQVRBX01zayAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IEFEQ19KRFI0X0pEQVRBX1BvcykgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIEFEQ19KRFI0X0pEQVRBICAgICAgICAgICAgICAgICAgICAgIEFEQ19KRFI0X0pEQVRBX01zayAgICAgICAgICAgICAgICAgLyohPCBBREMgZ3JvdXAgaW5qZWN0ZWQgc2VxdWVuY2VyIHJhbmsgNCBjb252ZXJzaW9uIGRhdGEgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0RSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQURDX0RSX0RBVEFfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgQURDX0RSX0RBVEFfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgQURDX0RSX0RBVEFfUG9zKSAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgQURDX0RSX0RBVEEgICAgICAgICAgICAgICAgICAgICAgICAgQURDX0RSX0RBVEFfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEFEQyBncm91cCByZWd1bGFyIGNvbnZlcnNpb24gZGF0YSAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRpbWVycyAoVElNKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0NSMV9DRU5fUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMV9DRU5fTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMV9DRU5fUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVElNX0NSMV9DRU4gICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMV9DRU5fTXNrICAgICAgICAgICAgICAgICAgICAvKiE8Q291bnRlciBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NSMV9VRElTX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMV9VRElTX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMV9VRElTX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVElNX0NSMV9VRElTICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMV9VRElTX01zayAgICAgICAgICAgICAgICAgICAvKiE8VXBkYXRlIGRpc2FibGUgKi8NCiNkZWZpbmUgVElNX0NSMV9VUlNfUG9zICAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMV9VUlNfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMV9VUlNfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVElNX0NSMV9VUlMgICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMV9VUlNfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8VXBkYXRlIHJlcXVlc3Qgc291cmNlICovDQojZGVmaW5lIFRJTV9DUjFfT1BNX1BvcyAgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjFfT1BNX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjFfT1BNX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFRJTV9DUjFfT1BNICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjFfT1BNX01zayAgICAgICAgICAgICAgICAgICAgLyohPE9uZSBwdWxzZSBtb2RlICovDQojZGVmaW5lIFRJTV9DUjFfRElSX1BvcyAgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjFfRElSX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjFfRElSX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9DUjFfRElSICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjFfRElSX01zayAgICAgICAgICAgICAgICAgICAgLyohPERpcmVjdGlvbiAqLw0KDQojZGVmaW5lIFRJTV9DUjFfQ01TX1BvcyAgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjFfQ01TX01zayAgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IFRJTV9DUjFfQ01TX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDYwICovDQojZGVmaW5lIFRJTV9DUjFfQ01TICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjFfQ01TX01zayAgICAgICAgICAgICAgICAgICAgLyohPENNU1sxOjBdIGJpdHMgKENlbnRlci1hbGlnbmVkIG1vZGUgc2VsZWN0aW9uKSAqLw0KI2RlZmluZSBUSU1fQ1IxX0NNU18wICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IxX0NNU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBUSU1fQ1IxX0NNU18xICAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ1IxX0NNU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KDQojZGVmaW5lIFRJTV9DUjFfQVJQRV9Qb3MgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjFfQVJQRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjFfQVJQRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFRJTV9DUjFfQVJQRSAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjFfQVJQRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPEF1dG8tcmVsb2FkIHByZWxvYWQgZW5hYmxlICovDQoNCiNkZWZpbmUgVElNX0NSMV9DS0RfUG9zICAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMV9DS0RfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVElNX0NSMV9DS0RfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgVElNX0NSMV9DS0QgICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMV9DS0RfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8Q0tEWzE6MF0gYml0cyAoY2xvY2sgZGl2aXNpb24pICovDQojZGVmaW5lIFRJTV9DUjFfQ0tEXzAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjFfQ0tEX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFRJTV9DUjFfQ0tEXzEgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DUjFfQ0tEX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0NSMl9DQ1BDX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMl9DQ1BDX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMl9DQ1BDX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVElNX0NSMl9DQ1BDICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMl9DQ1BDX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIFByZWxvYWRlZCBDb250cm9sICovDQojZGVmaW5lIFRJTV9DUjJfQ0NVU19Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjJfQ0NVU19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfQ0NVU19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9DUjJfQ0NVUyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjJfQ0NVU19Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSBDb250cm9sIFVwZGF0ZSBTZWxlY3Rpb24gKi8NCiNkZWZpbmUgVElNX0NSMl9DQ0RTX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMl9DQ0RTX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMl9DQ0RTX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVElNX0NSMl9DQ0RTICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMl9DQ0RTX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIERNQSBTZWxlY3Rpb24gKi8NCg0KI2RlZmluZSBUSU1fQ1IyX01NU19Qb3MgICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IyX01NU19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBUSU1fQ1IyX01NU19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA3MCAqLw0KI2RlZmluZSBUSU1fQ1IyX01NUyAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IyX01NU19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITxNTVNbMjowXSBiaXRzIChNYXN0ZXIgTW9kZSBTZWxlY3Rpb24pICovDQojZGVmaW5lIFRJTV9DUjJfTU1TXzAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfTU1TX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9DUjJfTU1TXzEgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DUjJfTU1TX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9DUjJfTU1TXzIgICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFRJTV9DUjJfTU1TX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQoNCiNkZWZpbmUgVElNX0NSMl9USTFTX1BvcyAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMl9USTFTX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMl9USTFTX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVElNX0NSMl9USTFTICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMl9USTFTX01zayAgICAgICAgICAgICAgICAgICAvKiE8VEkxIFNlbGVjdGlvbiAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzFfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IyX09JUzFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IyX09JUzFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzEgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IyX09JUzFfTXNrICAgICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgSWRsZSBzdGF0ZSAxIChPQzEgb3V0cHV0KSAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzFOX1BvcyAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IyX09JUzFOX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IyX09JUzFOX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzFOICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IyX09JUzFOX01zayAgICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgSWRsZSBzdGF0ZSAxIChPQzFOIG91dHB1dCkgKi8NCiNkZWZpbmUgVElNX0NSMl9PSVMyX1BvcyAgICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMl9PSVMyX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMl9PSVMyX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX0NSMl9PSVMyICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMl9PSVMyX01zayAgICAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IElkbGUgc3RhdGUgMiAoT0MyIG91dHB1dCkgKi8NCiNkZWZpbmUgVElNX0NSMl9PSVMyTl9Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NSMl9PSVMyTl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NSMl9PSVMyTl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVElNX0NSMl9PSVMyTiAgICAgICAgICAgICAgICAgICAgICAgVElNX0NSMl9PSVMyTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IElkbGUgc3RhdGUgMiAoT0MyTiBvdXRwdXQpICovDQojZGVmaW5lIFRJTV9DUjJfT0lTM19Qb3MgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjJfT0lTM19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfT0lTM19Qb3MpICAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFRJTV9DUjJfT0lTMyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjJfT0lTM19Nc2sgICAgICAgICAgICAgICAgICAgLyohPE91dHB1dCBJZGxlIHN0YXRlIDMgKE9DMyBvdXRwdXQpICovDQojZGVmaW5lIFRJTV9DUjJfT0lTM05fUG9zICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DUjJfT0lTM05fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DUjJfT0lTM05fUG9zKSAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFRJTV9DUjJfT0lTM04gICAgICAgICAgICAgICAgICAgICAgIFRJTV9DUjJfT0lTM05fTXNrICAgICAgICAgICAgICAgICAgLyohPE91dHB1dCBJZGxlIHN0YXRlIDMgKE9DM04gb3V0cHV0KSAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzRfUG9zICAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ1IyX09JUzRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ1IyX09JUzRfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBUSU1fQ1IyX09JUzQgICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ1IyX09JUzRfTXNrICAgICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgSWRsZSBzdGF0ZSA0IChPQzQgb3V0cHV0KSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9TTUNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9TTUNSX1NNU19Qb3MgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TTUNSX1NNU19Nc2sgICAgICAgICAgICAgICAgICAgICgweDdVIDw8IFRJTV9TTUNSX1NNU19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA3ICovDQojZGVmaW5lIFRJTV9TTUNSX1NNUyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TTUNSX1NNU19Nc2sgICAgICAgICAgICAgICAgICAgLyohPFNNU1syOjBdIGJpdHMgKFNsYXZlIG1vZGUgc2VsZWN0aW9uKSAqLw0KI2RlZmluZSBUSU1fU01DUl9TTVNfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU01DUl9TTVNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fU01DUl9TTVNfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fU01DUl9TTVNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBUSU1fU01DUl9TTVNfMiAgICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBUSU1fU01DUl9TTVNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KDQojZGVmaW5lIFRJTV9TTUNSX1RTX1BvcyAgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TTUNSX1RTX01zayAgICAgICAgICAgICAgICAgICAgICgweDdVIDw8IFRJTV9TTUNSX1RTX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDcwICovDQojZGVmaW5lIFRJTV9TTUNSX1RTICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TTUNSX1RTX01zayAgICAgICAgICAgICAgICAgICAgLyohPFRTWzI6MF0gYml0cyAoVHJpZ2dlciBzZWxlY3Rpb24pICovDQojZGVmaW5lIFRJTV9TTUNSX1RTXzAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TTUNSX1RTX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9TTUNSX1RTXzEgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9TTUNSX1RTX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9TTUNSX1RTXzIgICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFRJTV9TTUNSX1RTX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQoNCiNkZWZpbmUgVElNX1NNQ1JfTVNNX1BvcyAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NNQ1JfTVNNX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NNQ1JfTVNNX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfTVNNICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NNQ1JfTVNNX01zayAgICAgICAgICAgICAgICAgICAvKiE8TWFzdGVyL3NsYXZlIG1vZGUgKi8NCg0KI2RlZmluZSBUSU1fU01DUl9FVEZfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU01DUl9FVEZfTXNrICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBUSU1fU01DUl9FVEZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMEYwMCAqLw0KI2RlZmluZSBUSU1fU01DUl9FVEYgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU01DUl9FVEZfTXNrICAgICAgICAgICAgICAgICAgIC8qITxFVEZbMzowXSBiaXRzIChFeHRlcm5hbCB0cmlnZ2VyIGZpbHRlcikgKi8NCiNkZWZpbmUgVElNX1NNQ1JfRVRGXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NNQ1JfRVRGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfRVRGXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX1NNQ1JfRVRGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfRVRGXzIgICAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgVElNX1NNQ1JfRVRGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfRVRGXzMgICAgICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgVElNX1NNQ1JfRVRGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCg0KI2RlZmluZSBUSU1fU01DUl9FVFBTX1BvcyAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU01DUl9FVFBTX01zayAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBUSU1fU01DUl9FVFBTX1BvcykgICAgICAgIC8qITwgMHgwMDAwMzAwMCAqLw0KI2RlZmluZSBUSU1fU01DUl9FVFBTICAgICAgICAgICAgICAgICAgICAgICBUSU1fU01DUl9FVFBTX01zayAgICAgICAgICAgICAgICAgIC8qITxFVFBTWzE6MF0gYml0cyAoRXh0ZXJuYWwgdHJpZ2dlciBwcmVzY2FsZXIpICovDQojZGVmaW5lIFRJTV9TTUNSX0VUUFNfMCAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TTUNSX0VUUFNfUG9zKSAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFRJTV9TTUNSX0VUUFNfMSAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9TTUNSX0VUUFNfUG9zKSAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQoNCiNkZWZpbmUgVElNX1NNQ1JfRUNFX1BvcyAgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NNQ1JfRUNFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NNQ1JfRUNFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgVElNX1NNQ1JfRUNFICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NNQ1JfRUNFX01zayAgICAgICAgICAgICAgICAgICAvKiE8RXh0ZXJuYWwgY2xvY2sgZW5hYmxlICovDQojZGVmaW5lIFRJTV9TTUNSX0VUUF9Qb3MgICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TTUNSX0VUUF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TTUNSX0VUUF9Qb3MpICAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFRJTV9TTUNSX0VUUCAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TTUNSX0VUUF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPEV4dGVybmFsIHRyaWdnZXIgcG9sYXJpdHkgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fRElFUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fRElFUl9VSUVfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9VSUVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9VSUVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fRElFUl9VSUUgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9VSUVfTXNrICAgICAgICAgICAgICAgICAgIC8qITxVcGRhdGUgaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzFJRV9Qb3MgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9DQzFJRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9DQzFJRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzFJRSAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9DQzFJRV9Nc2sgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMSBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX0NDMklFX1BvcyAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX0NDMklFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX0NDMklFX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9ESUVSX0NDMklFICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX0NDMklFX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAyIGludGVycnVwdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MzSUVfUG9zICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfQ0MzSUVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfQ0MzSUVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MzSUUgICAgICAgICAgICAgICAgICAgICAgVElNX0RJRVJfQ0MzSUVfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzRJRV9Qb3MgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9DQzRJRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9DQzRJRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzRJRSAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9DQzRJRV9Nc2sgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgNCBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX0NPTUlFX1BvcyAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX0NPTUlFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX0NPTUlFX1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9ESUVSX0NPTUlFICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX0NPTUlFX01zayAgICAgICAgICAgICAgICAgLyohPENPTSBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX1RJRV9Qb3MgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX1RJRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX1RJRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFRJTV9ESUVSX1RJRSAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX1RJRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPFRyaWdnZXIgaW50ZXJydXB0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9CSUVfUG9zICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9CSUVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9CSUVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBUSU1fRElFUl9CSUUgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9CSUVfTXNrICAgICAgICAgICAgICAgICAgIC8qITxCcmVhayBpbnRlcnJ1cHQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX1VERV9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX1VERV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX1VERV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFRJTV9ESUVSX1VERSAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX1VERV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPFVwZGF0ZSBETUEgcmVxdWVzdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MxREVfUG9zICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfQ0MxREVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfQ0MxREVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0MxREUgICAgICAgICAgICAgICAgICAgICAgVElNX0RJRVJfQ0MxREVfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDEgRE1BIHJlcXVlc3QgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX0NDMkRFX1BvcyAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX0NDMkRFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX0NDMkRFX1BvcykgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFRJTV9ESUVSX0NDMkRFICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX0NDMkRFX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAyIERNQSByZXF1ZXN0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzNERV9Qb3MgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRElFUl9DQzNERV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRElFUl9DQzNERV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBUSU1fRElFUl9DQzNERSAgICAgICAgICAgICAgICAgICAgICBUSU1fRElFUl9DQzNERV9Nc2sgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMyBETUEgcmVxdWVzdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0M0REVfUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfQ0M0REVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfQ0M0REVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVElNX0RJRVJfQ0M0REUgICAgICAgICAgICAgICAgICAgICAgVElNX0RJRVJfQ0M0REVfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDQgRE1BIHJlcXVlc3QgZW5hYmxlICovDQojZGVmaW5lIFRJTV9ESUVSX0NPTURFX1BvcyAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9ESUVSX0NPTURFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9ESUVSX0NPTURFX1BvcykgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFRJTV9ESUVSX0NPTURFICAgICAgICAgICAgICAgICAgICAgIFRJTV9ESUVSX0NPTURFX01zayAgICAgICAgICAgICAgICAgLyohPENPTSBETUEgcmVxdWVzdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0RJRVJfVERFX1BvcyAgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RJRVJfVERFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0RJRVJfVERFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgVElNX0RJRVJfVERFICAgICAgICAgICAgICAgICAgICAgICAgVElNX0RJRVJfVERFX01zayAgICAgICAgICAgICAgICAgICAvKiE8VHJpZ2dlciBETUEgcmVxdWVzdCBlbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fU1JfVUlGX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU1JfVUlGX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU1JfVUlGX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fU1JfVUlGICAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU1JfVUlGX01zayAgICAgICAgICAgICAgICAgICAgIC8qITxVcGRhdGUgaW50ZXJydXB0IEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0NDMUlGX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0NDMUlGX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NSX0NDMUlGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVElNX1NSX0NDMUlGICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NSX0NDMUlGX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDEgaW50ZXJydXB0IEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0NDMklGX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0NDMklGX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NSX0NDMklGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVElNX1NSX0NDMklGICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NSX0NDMklGX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDIgaW50ZXJydXB0IEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0NDM0lGX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0NDM0lGX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NSX0NDM0lGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVElNX1NSX0NDM0lGICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NSX0NDM0lGX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgaW50ZXJydXB0IEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0NDNElGX1BvcyAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0NDNElGX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NSX0NDNElGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVElNX1NSX0NDNElGICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NSX0NDNElGX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDQgaW50ZXJydXB0IEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0NPTUlGX1BvcyAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0NPTUlGX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NSX0NPTUlGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVElNX1NSX0NPTUlGICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NSX0NPTUlGX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q09NIGludGVycnVwdCBGbGFnICovDQojZGVmaW5lIFRJTV9TUl9USUZfUG9zICAgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9USUZfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9USUZfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFRJTV9TUl9USUYgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TUl9USUZfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPFRyaWdnZXIgaW50ZXJydXB0IEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0JJRl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0JJRl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NSX0JJRl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVElNX1NSX0JJRiAgICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NSX0JJRl9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8QnJlYWsgaW50ZXJydXB0IEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0NDMU9GX1BvcyAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0NDMU9GX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NSX0NDMU9GX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVElNX1NSX0NDMU9GICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NSX0NDMU9GX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDEgT3ZlcmNhcHR1cmUgRmxhZyAqLw0KI2RlZmluZSBUSU1fU1JfQ0MyT0ZfUG9zICAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fU1JfQ0MyT0ZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fU1JfQ0MyT0ZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBUSU1fU1JfQ0MyT0YgICAgICAgICAgICAgICAgICAgICAgICBUSU1fU1JfQ0MyT0ZfTXNrICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMiBPdmVyY2FwdHVyZSBGbGFnICovDQojZGVmaW5lIFRJTV9TUl9DQzNPRl9Qb3MgICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9TUl9DQzNPRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9TUl9DQzNPRl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFRJTV9TUl9DQzNPRiAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TUl9DQzNPRl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAzIE92ZXJjYXB0dXJlIEZsYWcgKi8NCiNkZWZpbmUgVElNX1NSX0NDNE9GX1BvcyAgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX1NSX0NDNE9GX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX1NSX0NDNE9GX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVElNX1NSX0NDNE9GICAgICAgICAgICAgICAgICAgICAgICAgVElNX1NSX0NDNE9GX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDQgT3ZlcmNhcHR1cmUgRmxhZyAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9FR1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9FR1JfVUdfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9FR1JfVUdfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9FR1JfVUdfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9FR1JfVUcgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9FR1JfVUdfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPFVwZGF0ZSBHZW5lcmF0aW9uICovDQojZGVmaW5lIFRJTV9FR1JfQ0MxR19Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9FR1JfQ0MxR19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9FR1JfQ0MxR19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFRJTV9FR1JfQ0MxRyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9FR1JfQ0MxR19Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIEdlbmVyYXRpb24gKi8NCiNkZWZpbmUgVElNX0VHUl9DQzJHX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0VHUl9DQzJHX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0VHUl9DQzJHX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVElNX0VHUl9DQzJHICAgICAgICAgICAgICAgICAgICAgICAgVElNX0VHUl9DQzJHX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDIgR2VuZXJhdGlvbiAqLw0KI2RlZmluZSBUSU1fRUdSX0NDM0dfUG9zICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRUdSX0NDM0dfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fRUdSX0NDM0dfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBUSU1fRUdSX0NDM0cgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRUdSX0NDM0dfTXNrICAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMyBHZW5lcmF0aW9uICovDQojZGVmaW5lIFRJTV9FR1JfQ0M0R19Qb3MgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9FR1JfQ0M0R19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9FR1JfQ0M0R19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9FR1JfQ0M0RyAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9FR1JfQ0M0R19Nc2sgICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSA0IEdlbmVyYXRpb24gKi8NCiNkZWZpbmUgVElNX0VHUl9DT01HX1BvcyAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0VHUl9DT01HX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0VHUl9DT01HX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVElNX0VHUl9DT01HICAgICAgICAgICAgICAgICAgICAgICAgVElNX0VHUl9DT01HX01zayAgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIENvbnRyb2wgVXBkYXRlIEdlbmVyYXRpb24gKi8NCiNkZWZpbmUgVElNX0VHUl9UR19Qb3MgICAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0VHUl9UR19Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0VHUl9UR19Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVElNX0VHUl9URyAgICAgICAgICAgICAgICAgICAgICAgICAgVElNX0VHUl9UR19Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8VHJpZ2dlciBHZW5lcmF0aW9uICovDQojZGVmaW5lIFRJTV9FR1JfQkdfUG9zICAgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9FR1JfQkdfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9FR1JfQkdfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFRJTV9FR1JfQkcgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9FR1JfQkdfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPEJyZWFrIEdlbmVyYXRpb24gKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DQ01SMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fQ0NNUjFfQ0MxU19Qb3MgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfQ0MxU19Nc2sgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBUSU1fQ0NNUjFfQ0MxU19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMyAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfQ0MxUyAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfQ0MxU19Nc2sgICAgICAgICAgICAgICAgIC8qITxDQzFTWzE6MF0gYml0cyAoQ2FwdHVyZS9Db21wYXJlIDEgU2VsZWN0aW9uKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfQ0MxU18wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfQ0MxU19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfQ0MxU18xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjFfQ0MxU19Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFGRV9Qb3MgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFGRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9PQzFGRV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFGRSAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9PQzFGRV9Nc2sgICAgICAgICAgICAgICAgLyohPE91dHB1dCBDb21wYXJlIDEgRmFzdCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMVBFX1BvcyAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX09DMVBFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX09DMVBFX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMVBFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX09DMVBFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgMSBQcmVsb2FkIGVuYWJsZSAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFNX1BvcyAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFNX01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IFRJTV9DQ01SMV9PQzFNX1BvcykgICAgICAgLyohPCAweDAwMDAwMDcwICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFNICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9PQzFNX01zayAgICAgICAgICAgICAgICAgLyohPE9DMU1bMjowXSBiaXRzIChPdXRwdXQgQ29tcGFyZSAxIE1vZGUpICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFNXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9PQzFNX1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFNXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMV9PQzFNX1BvcykgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9DQ01SMV9PQzFNXzIgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFRJTV9DQ01SMV9PQzFNX1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQoNCiNkZWZpbmUgVElNX0NDTVIxX09DMUNFX1BvcyAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX09DMUNFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX09DMUNFX1BvcykgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMUNFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX09DMUNFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgMUNsZWFyIEVuYWJsZSAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMV9DQzJTX1BvcyAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9DQzJTX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IFRJTV9DQ01SMV9DQzJTX1BvcykgICAgICAgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIFRJTV9DQ01SMV9DQzJTICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9DQzJTX01zayAgICAgICAgICAgICAgICAgLyohPENDMlNbMTowXSBiaXRzIChDYXB0dXJlL0NvbXBhcmUgMiBTZWxlY3Rpb24pICovDQojZGVmaW5lIFRJTV9DQ01SMV9DQzJTXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMV9DQzJTX1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFRJTV9DQ01SMV9DQzJTXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMV9DQzJTX1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCiNkZWZpbmUgVElNX0NDTVIxX09DMkZFX1BvcyAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX09DMkZFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX09DMkZFX1BvcykgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMkZFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX09DMkZFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgMiBGYXN0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyUEVfUG9zICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyUEVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfT0MyUEVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyUEUgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfT0MyUEVfTXNrICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSAyIFByZWxvYWQgZW5hYmxlICovDQoNCiNkZWZpbmUgVElNX0NDTVIxX09DMk1fUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX09DMk1fTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgVElNX0NDTVIxX09DMk1fUG9zKSAgICAgICAvKiE8IDB4MDAwMDcwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMk0gICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX09DMk1fTXNrICAgICAgICAgICAgICAgICAvKiE8T0MyTVsyOjBdIGJpdHMgKE91dHB1dCBDb21wYXJlIDIgTW9kZSkgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMk1fMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX09DMk1fUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMk1fMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIxX09DMk1fUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX09DMk1fMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgVElNX0NDTVIxX09DMk1fUG9zKSAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyQ0VfUG9zICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyQ0VfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfT0MyQ0VfUG9zKSAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfT0MyQ0UgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfT0MyQ0VfTXNrICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSAyIENsZWFyIEVuYWJsZSAqLw0KDQovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoNCiNkZWZpbmUgVElNX0NDTVIxX0lDMVBTQ19Qb3MgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIxX0lDMVBTQ19Nc2sgICAgICAgICAgICAgICAgKDB4M1UgPDwgVElNX0NDTVIxX0lDMVBTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDAwMEMgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMVBTQyAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIxX0lDMVBTQ19Nc2sgICAgICAgICAgICAgICAvKiE8SUMxUFNDWzE6MF0gYml0cyAoSW5wdXQgQ2FwdHVyZSAxIFByZXNjYWxlcikgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMVBTQ18wICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX0lDMVBTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMVBTQ18xICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIxX0lDMVBTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjFfSUMxRl9Qb3MgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfSUMxRl9Nc2sgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBUSU1fQ0NNUjFfSUMxRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDBGMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMxRiAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfSUMxRl9Nc2sgICAgICAgICAgICAgICAgIC8qITxJQzFGWzM6MF0gYml0cyAoSW5wdXQgQ2FwdHVyZSAxIEZpbHRlcikgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMUZfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIxX0lDMUZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMUZfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIxX0lDMUZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMUZfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgVElNX0NDTVIxX0lDMUZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVElNX0NDTVIxX0lDMUZfMyAgICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgVElNX0NDTVIxX0lDMUZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyUFNDX1BvcyAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyUFNDX01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBUSU1fQ0NNUjFfSUMyUFNDX1BvcykgICAgIC8qITwgMHgwMDAwMEMwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyUFNDICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjFfSUMyUFNDX01zayAgICAgICAgICAgICAgIC8qITxJQzJQU0NbMTowXSBiaXRzIChJbnB1dCBDYXB0dXJlIDIgUHJlc2NhbGVyKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyUFNDXzAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfSUMyUFNDX1BvcykgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyUFNDXzEgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjFfSUMyUFNDX1BvcykgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMV9JQzJGX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMV9JQzJGX01zayAgICAgICAgICAgICAgICAgICgweEZVIDw8IFRJTV9DQ01SMV9JQzJGX1BvcykgICAgICAgLyohPCAweDAwMDBGMDAwICovDQojZGVmaW5lIFRJTV9DQ01SMV9JQzJGICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMV9JQzJGX01zayAgICAgICAgICAgICAgICAgLyohPElDMkZbMzowXSBiaXRzIChJbnB1dCBDYXB0dXJlIDIgRmlsdGVyKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyRl8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjFfSUMyRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyRl8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjFfSUMyRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyRl8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBUSU1fQ0NNUjFfSUMyRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjFfSUMyRl8zICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBUSU1fQ0NNUjFfSUMyRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NDTVIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DQ01SMl9DQzNTX1BvcyAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9DQzNTX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IFRJTV9DQ01SMl9DQzNTX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIFRJTV9DQ01SMl9DQzNTICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9DQzNTX01zayAgICAgICAgICAgICAgICAgLyohPENDM1NbMTowXSBiaXRzIChDYXB0dXJlL0NvbXBhcmUgMyBTZWxlY3Rpb24pICovDQojZGVmaW5lIFRJTV9DQ01SMl9DQzNTXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9DQzNTX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9DQ01SMl9DQzNTXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMl9DQzNTX1BvcykgICAgICAgLyohPCAweDAwMDAwMDAyICovDQoNCiNkZWZpbmUgVElNX0NDTVIyX09DM0ZFX1BvcyAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX09DM0ZFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX09DM0ZFX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DM0ZFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX09DM0ZFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgMyBGYXN0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfT0MzUEVfUG9zICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfT0MzUEVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfT0MzUEVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfT0MzUEUgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjJfT0MzUEVfTXNrICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSAzIFByZWxvYWQgZW5hYmxlICovDQoNCiNkZWZpbmUgVElNX0NDTVIyX09DM01fUG9zICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX09DM01fTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgVElNX0NDTVIyX09DM01fUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNzAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DM00gICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX09DM01fTXNrICAgICAgICAgICAgICAgICAvKiE8T0MzTVsyOjBdIGJpdHMgKE91dHB1dCBDb21wYXJlIDMgTW9kZSkgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DM01fMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX09DM01fUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DM01fMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIyX09DM01fUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DM01fMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgVElNX0NDTVIyX09DM01fUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjJfT0MzQ0VfUG9zICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfT0MzQ0VfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfT0MzQ0VfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfT0MzQ0UgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjJfT0MzQ0VfTXNrICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSAzIENsZWFyIEVuYWJsZSAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMl9DQzRTX1BvcyAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9DQzRTX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IFRJTV9DQ01SMl9DQzRTX1BvcykgICAgICAgLyohPCAweDAwMDAwMzAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9DQzRTICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9DQzRTX01zayAgICAgICAgICAgICAgICAgLyohPENDNFNbMTowXSBiaXRzIChDYXB0dXJlL0NvbXBhcmUgNCBTZWxlY3Rpb24pICovDQojZGVmaW5lIFRJTV9DQ01SMl9DQzRTXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ01SMl9DQzRTX1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9DQzRTXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFRJTV9DQ01SMl9DQzRTX1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQoNCiNkZWZpbmUgVElNX0NDTVIyX09DNEZFX1BvcyAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX09DNEZFX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX09DNEZFX1BvcykgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DNEZFICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX09DNEZFX01zayAgICAgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgNCBGYXN0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfT0M0UEVfUG9zICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfT0M0UEVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfT0M0UEVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfT0M0UEUgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjJfT0M0UEVfTXNrICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSA0IFByZWxvYWQgZW5hYmxlICovDQoNCiNkZWZpbmUgVElNX0NDTVIyX09DNE1fUG9zICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX09DNE1fTXNrICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgVElNX0NDTVIyX09DNE1fUG9zKSAgICAgICAvKiE8IDB4MDAwMDcwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DNE0gICAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX09DNE1fTXNrICAgICAgICAgICAgICAgICAvKiE8T0M0TVsyOjBdIGJpdHMgKE91dHB1dCBDb21wYXJlIDQgTW9kZSkgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DNE1fMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX09DNE1fUG9zKSAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DNE1fMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIyX09DNE1fUG9zKSAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX09DNE1fMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgVElNX0NDTVIyX09DNE1fUG9zKSAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjJfT0M0Q0VfUG9zICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfT0M0Q0VfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfT0M0Q0VfUG9zKSAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfT0M0Q0UgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjJfT0M0Q0VfTXNrICAgICAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSA0IENsZWFyIEVuYWJsZSAqLw0KDQovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoNCiNkZWZpbmUgVElNX0NDTVIyX0lDM1BTQ19Qb3MgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDTVIyX0lDM1BTQ19Nc2sgICAgICAgICAgICAgICAgKDB4M1UgPDwgVElNX0NDTVIyX0lDM1BTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDAwMEMgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDM1BTQyAgICAgICAgICAgICAgICAgICAgVElNX0NDTVIyX0lDM1BTQ19Nc2sgICAgICAgICAgICAgICAvKiE8SUMzUFNDWzE6MF0gYml0cyAoSW5wdXQgQ2FwdHVyZSAzIFByZXNjYWxlcikgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDM1BTQ18wICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX0lDM1BTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDM1BTQ18xICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIyX0lDM1BTQ19Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjJfSUMzRl9Qb3MgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfSUMzRl9Nc2sgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBUSU1fQ0NNUjJfSUMzRl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDBGMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUMzRiAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjJfSUMzRl9Nc2sgICAgICAgICAgICAgICAgIC8qITxJQzNGWzM6MF0gYml0cyAoSW5wdXQgQ2FwdHVyZSAzIEZpbHRlcikgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDM0ZfMCAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDTVIyX0lDM0ZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDM0ZfMSAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0NDTVIyX0lDM0ZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDM0ZfMiAgICAgICAgICAgICAgICAgICAgKDB4NFUgPDwgVElNX0NDTVIyX0lDM0ZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVElNX0NDTVIyX0lDM0ZfMyAgICAgICAgICAgICAgICAgICAgKDB4OFUgPDwgVElNX0NDTVIyX0lDM0ZfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCg0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0UFNDX1BvcyAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0UFNDX01zayAgICAgICAgICAgICAgICAoMHgzVSA8PCBUSU1fQ0NNUjJfSUM0UFNDX1BvcykgICAgIC8qITwgMHgwMDAwMEMwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0UFNDICAgICAgICAgICAgICAgICAgICBUSU1fQ0NNUjJfSUM0UFNDX01zayAgICAgICAgICAgICAgIC8qITxJQzRQU0NbMTowXSBiaXRzIChJbnB1dCBDYXB0dXJlIDQgUHJlc2NhbGVyKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0UFNDXzAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfSUM0UFNDX1BvcykgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0UFNDXzEgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjJfSUM0UFNDX1BvcykgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KDQojZGVmaW5lIFRJTV9DQ01SMl9JQzRGX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ01SMl9JQzRGX01zayAgICAgICAgICAgICAgICAgICgweEZVIDw8IFRJTV9DQ01SMl9JQzRGX1BvcykgICAgICAgLyohPCAweDAwMDBGMDAwICovDQojZGVmaW5lIFRJTV9DQ01SMl9JQzRGICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ01SMl9JQzRGX01zayAgICAgICAgICAgICAgICAgLyohPElDNEZbMzowXSBiaXRzIChJbnB1dCBDYXB0dXJlIDQgRmlsdGVyKSAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0Rl8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NNUjJfSUM0Rl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0Rl8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBUSU1fQ0NNUjJfSUM0Rl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0Rl8yICAgICAgICAgICAgICAgICAgICAoMHg0VSA8PCBUSU1fQ0NNUjJfSUM0Rl9Qb3MpICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBUSU1fQ0NNUjJfSUM0Rl8zICAgICAgICAgICAgICAgICAgICAoMHg4VSA8PCBUSU1fQ0NNUjJfSUM0Rl9Qb3MpICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DQ0VSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMUVfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDMUVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDMUVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMUUgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDMUVfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIG91dHB1dCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MxUF9Qb3MgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0MxUF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0MxUF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MxUCAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0MxUF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDEgb3V0cHV0IFBvbGFyaXR5ICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMU5FX1BvcyAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDMU5FX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDMU5FX1BvcykgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMU5FICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDMU5FX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIENvbXBsZW1lbnRhcnkgb3V0cHV0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzFOUF9Qb3MgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzFOUF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzFOUF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzFOUCAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NFUl9DQzFOUF9Nc2sgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMSBDb21wbGVtZW50YXJ5IG91dHB1dCBQb2xhcml0eSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzJFX1BvcyAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzJFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzJFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzJFICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NFUl9DQzJFX01zayAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMiBvdXRwdXQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMlBfUG9zICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDMlBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDMlBfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDMlAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDMlBfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAyIG91dHB1dCBQb2xhcml0eSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzJORV9Qb3MgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzJORV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzJORV9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzJORSAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NFUl9DQzJORV9Nc2sgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMiBDb21wbGVtZW50YXJ5IG91dHB1dCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MyTlBfUG9zICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0MyTlBfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0MyTlBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MyTlAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0MyTlBfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDIgQ29tcGxlbWVudGFyeSBvdXRwdXQgUG9sYXJpdHkgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MzRV9Qb3MgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0MzRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0MzRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MzRSAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0MzRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgb3V0cHV0IGVuYWJsZSAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzNQX1BvcyAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NFUl9DQzNQX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQ0NFUl9DQzNQX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBUSU1fQ0NFUl9DQzNQICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NFUl9DQzNQX01zayAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMyBvdXRwdXQgUG9sYXJpdHkgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MzTkVfUG9zICAgICAgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0MzTkVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0MzTkVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0MzTkUgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0MzTkVfTXNrICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgQ29tcGxlbWVudGFyeSBvdXRwdXQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDM05QX1BvcyAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDM05QX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDM05QX1BvcykgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDM05QICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDM05QX01zayAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAzIENvbXBsZW1lbnRhcnkgb3V0cHV0IFBvbGFyaXR5ICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDNEVfUG9zICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ0VSX0NDNEVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9DQ0VSX0NDNEVfUG9zKSAgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFRJTV9DQ0VSX0NDNEUgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ0VSX0NDNEVfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSA0IG91dHB1dCBlbmFibGUgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0M0UF9Qb3MgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDRVJfQ0M0UF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0NDRVJfQ0M0UF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgVElNX0NDRVJfQ0M0UCAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDRVJfQ0M0UF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDQgb3V0cHV0IFBvbGFyaXR5ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NOVCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0NOVF9DTlRfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NOVF9DTlRfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IFRJTV9DTlRfQ05UX1BvcykgICAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgVElNX0NOVF9DTlQgICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NOVF9DTlRfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8Q291bnRlciBWYWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9QU0MgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9QU0NfUFNDX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9QU0NfUFNDX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFRJTV9QU0NfUFNDX1BvcykgICAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFRJTV9QU0NfUFNDICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9QU0NfUFNDX01zayAgICAgICAgICAgICAgICAgICAgLyohPFByZXNjYWxlciBWYWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9BUlIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9BUlJfQVJSX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9BUlJfQVJSX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBUSU1fQVJSX0FSUl9Qb3MpICAgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFRJTV9BUlJfQVJSICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9BUlJfQVJSX01zayAgICAgICAgICAgICAgICAgICAgLyohPGFjdHVhbCBhdXRvLXJlbG9hZCBWYWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9SQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9SQ1JfUkVQX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9SQ1JfUkVQX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGVSA8PCBUSU1fUkNSX1JFUF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMEZGICovDQojZGVmaW5lIFRJTV9SQ1JfUkVQICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9SQ1JfUkVQX01zayAgICAgICAgICAgICAgICAgICAgLyohPFJlcGV0aXRpb24gQ291bnRlciBWYWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DQ1IxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DQ1IxX0NDUjFfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ1IxX0NDUjFfTXNrICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFRJTV9DQ1IxX0NDUjFfUG9zKSAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFRJTV9DQ1IxX0NDUjEgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ1IxX0NDUjFfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIFZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NDUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0NDUjJfQ0NSMl9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0NDUjJfQ0NSMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgVElNX0NDUjJfQ0NSMl9Qb3MpICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgVElNX0NDUjJfQ0NSMiAgICAgICAgICAgICAgICAgICAgICAgVElNX0NDUjJfQ0NSMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDIgVmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fQ0NSMyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fQ0NSM19DQ1IzX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQ0NSM19DQ1IzX01zayAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBUSU1fQ0NSM19DQ1IzX1BvcykgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBUSU1fQ0NSM19DQ1IzICAgICAgICAgICAgICAgICAgICAgICBUSU1fQ0NSM19DQ1IzX01zayAgICAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMyBWYWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DQ1I0IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9DQ1I0X0NDUjRfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9DQ1I0X0NDUjRfTXNrICAgICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFRJTV9DQ1I0X0NDUjRfUG9zKSAgICAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFRJTV9DQ1I0X0NDUjQgICAgICAgICAgICAgICAgICAgICAgIFRJTV9DQ1I0X0NDUjRfTXNrICAgICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSA0IFZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0JEVFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVElNX0JEVFJfRFRHX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0JEVFJfRFRHX01zayAgICAgICAgICAgICAgICAgICAgKDB4RkZVIDw8IFRJTV9CRFRSX0RUR19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgVElNX0JEVFJfRFRHICAgICAgICAgICAgICAgICAgICAgICAgVElNX0JEVFJfRFRHX01zayAgICAgICAgICAgICAgICAgICAvKiE8RFRHWzA6N10gYml0cyAoRGVhZC1UaW1lIEdlbmVyYXRvciBzZXQtdXApICovDQojZGVmaW5lIFRJTV9CRFRSX0RUR18wICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBUSU1fQkRUUl9EVEdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9CRFRSX0RUR18xICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBUSU1fQkRUUl9EVEdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFRJTV9CRFRSX0RUR18yICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBUSU1fQkRUUl9EVEdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9CRFRSX0RUR18zICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBUSU1fQkRUUl9EVEdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFRJTV9CRFRSX0RUR180ICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBUSU1fQkRUUl9EVEdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFRJTV9CRFRSX0RUR181ICAgICAgICAgICAgICAgICAgICAgICgweDIwVSA8PCBUSU1fQkRUUl9EVEdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFRJTV9CRFRSX0RUR182ICAgICAgICAgICAgICAgICAgICAgICgweDQwVSA8PCBUSU1fQkRUUl9EVEdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFRJTV9CRFRSX0RUR183ICAgICAgICAgICAgICAgICAgICAgICgweDgwVSA8PCBUSU1fQkRUUl9EVEdfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQoNCiNkZWZpbmUgVElNX0JEVFJfTE9DS19Qb3MgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0JEVFJfTE9DS19Nc2sgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVElNX0JEVFJfTE9DS19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAzMDAgKi8NCiNkZWZpbmUgVElNX0JEVFJfTE9DSyAgICAgICAgICAgICAgICAgICAgICAgVElNX0JEVFJfTE9DS19Nc2sgICAgICAgICAgICAgICAgICAvKiE8TE9DS1sxOjBdIGJpdHMgKExvY2sgQ29uZmlndXJhdGlvbikgKi8NCiNkZWZpbmUgVElNX0JEVFJfTE9DS18wICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0JEVFJfTE9DS19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVElNX0JEVFJfTE9DS18xICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVElNX0JEVFJfTE9DS19Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCg0KI2RlZmluZSBUSU1fQkRUUl9PU1NJX1BvcyAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fQkRUUl9PU1NJX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBUSU1fQkRUUl9PU1NJX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBUSU1fQkRUUl9PU1NJICAgICAgICAgICAgICAgICAgICAgICBUSU1fQkRUUl9PU1NJX01zayAgICAgICAgICAgICAgICAgIC8qITxPZmYtU3RhdGUgU2VsZWN0aW9uIGZvciBJZGxlIG1vZGUgKi8NCiNkZWZpbmUgVElNX0JEVFJfT1NTUl9Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0JEVFJfT1NTUl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0JEVFJfT1NTUl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVElNX0JEVFJfT1NTUiAgICAgICAgICAgICAgICAgICAgICAgVElNX0JEVFJfT1NTUl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8T2ZmLVN0YXRlIFNlbGVjdGlvbiBmb3IgUnVuIG1vZGUgKi8NCiNkZWZpbmUgVElNX0JEVFJfQktFX1BvcyAgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0JEVFJfQktFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVElNX0JEVFJfQktFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVElNX0JEVFJfQktFICAgICAgICAgICAgICAgICAgICAgICAgVElNX0JEVFJfQktFX01zayAgICAgICAgICAgICAgICAgICAvKiE8QnJlYWsgZW5hYmxlICovDQojZGVmaW5lIFRJTV9CRFRSX0JLUF9Qb3MgICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9CRFRSX0JLUF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9CRFRSX0JLUF9Qb3MpICAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFRJTV9CRFRSX0JLUCAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9CRFRSX0JLUF9Nc2sgICAgICAgICAgICAgICAgICAgLyohPEJyZWFrIFBvbGFyaXR5ICovDQojZGVmaW5lIFRJTV9CRFRSX0FPRV9Qb3MgICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9CRFRSX0FPRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9CRFRSX0FPRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFRJTV9CRFRSX0FPRSAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9CRFRSX0FPRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPEF1dG9tYXRpYyBPdXRwdXQgZW5hYmxlICovDQojZGVmaW5lIFRJTV9CRFRSX01PRV9Qb3MgICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9CRFRSX01PRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFRJTV9CRFRSX01PRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFRJTV9CRFRSX01PRSAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9CRFRSX01PRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPE1haW4gT3V0cHV0IGVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9EQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRJTV9EQ1JfREJBX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFRJTV9EQ1JfREJBX01zayAgICAgICAgICAgICAgICAgICAgICgweDFGVSA8PCBUSU1fRENSX0RCQV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDFGICovDQojZGVmaW5lIFRJTV9EQ1JfREJBICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9EQ1JfREJBX01zayAgICAgICAgICAgICAgICAgICAgLyohPERCQVs0OjBdIGJpdHMgKERNQSBCYXNlIEFkZHJlc3MpICovDQojZGVmaW5lIFRJTV9EQ1JfREJBXzAgICAgICAgICAgICAgICAgICAgICAgICgweDAxVSA8PCBUSU1fRENSX0RCQV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFRJTV9EQ1JfREJBXzEgICAgICAgICAgICAgICAgICAgICAgICgweDAyVSA8PCBUSU1fRENSX0RCQV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFRJTV9EQ1JfREJBXzIgICAgICAgICAgICAgICAgICAgICAgICgweDA0VSA8PCBUSU1fRENSX0RCQV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFRJTV9EQ1JfREJBXzMgICAgICAgICAgICAgICAgICAgICAgICgweDA4VSA8PCBUSU1fRENSX0RCQV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFRJTV9EQ1JfREJBXzQgICAgICAgICAgICAgICAgICAgICAgICgweDEwVSA8PCBUSU1fRENSX0RCQV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQoNCiNkZWZpbmUgVElNX0RDUl9EQkxfUG9zICAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVElNX0RDUl9EQkxfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MUZVIDw8IFRJTV9EQ1JfREJMX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDFGMDAgKi8NCiNkZWZpbmUgVElNX0RDUl9EQkwgICAgICAgICAgICAgICAgICAgICAgICAgVElNX0RDUl9EQkxfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8REJMWzQ6MF0gYml0cyAoRE1BIEJ1cnN0IExlbmd0aCkgKi8NCiNkZWZpbmUgVElNX0RDUl9EQkxfMCAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IFRJTV9EQ1JfREJMX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVElNX0RDUl9EQkxfMSAgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IFRJTV9EQ1JfREJMX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVElNX0RDUl9EQkxfMiAgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IFRJTV9EQ1JfREJMX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVElNX0RDUl9EQkxfMyAgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IFRJTV9EQ1JfREJMX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVElNX0RDUl9EQkxfNCAgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IFRJTV9EQ1JfREJMX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fRE1BUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBUSU1fRE1BUl9ETUFCX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBUSU1fRE1BUl9ETUFCX01zayAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBUSU1fRE1BUl9ETUFCX1BvcykgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBUSU1fRE1BUl9ETUFCICAgICAgICAgICAgICAgICAgICAgICBUSU1fRE1BUl9ETUFCX01zayAgICAgICAgICAgICAgICAgIC8qITxETUEgcmVnaXN0ZXIgZm9yIGJ1cnN0IGFjY2Vzc2VzICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWwtVGltZSBDbG9jayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJUQ19DUkggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSVENfQ1JIX1NFQ0lFX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JIX1NFQ0lFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JIX1NFQ0lFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBSVENfQ1JIX1NFQ0lFICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JIX1NFQ0lFX01zayAgICAgICAgICAgICAgICAgIC8qITwgU2Vjb25kIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgUlRDX0NSSF9BTFJJRV9Qb3MgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0NSSF9BTFJJRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX0NSSF9BTFJJRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgUlRDX0NSSF9BTFJJRSAgICAgICAgICAgICAgICAgICAgICAgUlRDX0NSSF9BTFJJRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFsYXJtIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgUlRDX0NSSF9PV0lFX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0NSSF9PV0lFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX0NSSF9PV0lFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgUlRDX0NSSF9PV0lFICAgICAgICAgICAgICAgICAgICAgICAgUlRDX0NSSF9PV0lFX01zayAgICAgICAgICAgICAgICAgICAvKiE8IE92ZXJmbG9XIEludGVycnVwdCBFbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSVENfQ1JMIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUlRDX0NSTF9TRUNGX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0NSTF9TRUNGX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX0NSTF9TRUNGX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgUlRDX0NSTF9TRUNGICAgICAgICAgICAgICAgICAgICAgICAgUlRDX0NSTF9TRUNGX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFNlY29uZCBGbGFnICovDQojZGVmaW5lIFJUQ19DUkxfQUxSRl9Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUkxfQUxSRl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUkxfQUxSRl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIFJUQ19DUkxfQUxSRiAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19DUkxfQUxSRl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBbGFybSBGbGFnICovDQojZGVmaW5lIFJUQ19DUkxfT1dGX1BvcyAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUkxfT1dGX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUkxfT1dGX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFJUQ19DUkxfT1dGICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19DUkxfT1dGX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBPdmVyZmxvVyBGbGFnICovDQojZGVmaW5lIFJUQ19DUkxfUlNGX1BvcyAgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DUkxfUlNGX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFJUQ19DUkxfUlNGX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFJUQ19DUkxfUlNGICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19DUkxfUlNGX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBSZWdpc3RlcnMgU3luY2hyb25pemVkIEZsYWcgKi8NCiNkZWZpbmUgUlRDX0NSTF9DTkZfUG9zICAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0NSTF9DTkZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgUlRDX0NSTF9DTkZfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgUlRDX0NSTF9DTkYgICAgICAgICAgICAgICAgICAgICAgICAgUlRDX0NSTF9DTkZfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IENvbmZpZ3VyYXRpb24gRmxhZyAqLw0KI2RlZmluZSBSVENfQ1JMX1JUT0ZGX1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfQ1JMX1JUT0ZGX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBSVENfQ1JMX1JUT0ZGX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBSVENfQ1JMX1JUT0ZGICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JMX1JUT0ZGX01zayAgICAgICAgICAgICAgICAgIC8qITwgUlRDIG9wZXJhdGlvbiBPRkYgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSVENfUFJMSCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUlRDX1BSTEhfUFJMX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX1BSTEhfUFJMX01zayAgICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgUlRDX1BSTEhfUFJMX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgUlRDX1BSTEhfUFJMICAgICAgICAgICAgICAgICAgICAgICAgUlRDX1BSTEhfUFJMX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFJUQyBQcmVzY2FsZXIgUmVsb2FkIFZhbHVlIEhpZ2ggKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSVENfUFJMTCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUlRDX1BSTExfUFJMX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX1BSTExfUFJMX01zayAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgUlRDX1BSTExfUFJMX1BvcykgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgUlRDX1BSTExfUFJMICAgICAgICAgICAgICAgICAgICAgICAgUlRDX1BSTExfUFJMX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFJUQyBQcmVzY2FsZXIgUmVsb2FkIFZhbHVlIExvdyAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJUQ19ESVZIIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSVENfRElWSF9SVENfRElWX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfRElWSF9SVENfRElWX01zayAgICAgICAgICAgICAgICAoMHhGVSA8PCBSVENfRElWSF9SVENfRElWX1BvcykgICAgIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBSVENfRElWSF9SVENfRElWICAgICAgICAgICAgICAgICAgICBSVENfRElWSF9SVENfRElWX01zayAgICAgICAgICAgICAgIC8qITwgUlRDIENsb2NrIERpdmlkZXIgSGlnaCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFJUQ19ESVZMIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBSVENfRElWTF9SVENfRElWX1BvcyAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBSVENfRElWTF9SVENfRElWX01zayAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBSVENfRElWTF9SVENfRElWX1BvcykgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBSVENfRElWTF9SVENfRElWICAgICAgICAgICAgICAgICAgICBSVENfRElWTF9SVENfRElWX01zayAgICAgICAgICAgICAgIC8qITwgUlRDIENsb2NrIERpdmlkZXIgTG93ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUlRDX0NOVEggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19DTlRIX1JUQ19DTlRfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DTlRIX1JUQ19DTlRfTXNrICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFJUQ19DTlRIX1JUQ19DTlRfUG9zKSAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFJUQ19DTlRIX1JUQ19DTlQgICAgICAgICAgICAgICAgICAgIFJUQ19DTlRIX1JUQ19DTlRfTXNrICAgICAgICAgICAgICAgLyohPCBSVEMgQ291bnRlciBIaWdoICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUlRDX0NOVEwgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19DTlRMX1JUQ19DTlRfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19DTlRMX1JUQ19DTlRfTXNrICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFJUQ19DTlRMX1JUQ19DTlRfUG9zKSAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFJUQ19DTlRMX1JUQ19DTlQgICAgICAgICAgICAgICAgICAgIFJUQ19DTlRMX1JUQ19DTlRfTXNrICAgICAgICAgICAgICAgLyohPCBSVEMgQ291bnRlciBMb3cgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSVENfQUxSSCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgUlRDX0FMUkhfUlRDX0FMUl9Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUlRDX0FMUkhfUlRDX0FMUl9Nc2sgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgUlRDX0FMUkhfUlRDX0FMUl9Qb3MpICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgUlRDX0FMUkhfUlRDX0FMUiAgICAgICAgICAgICAgICAgICAgUlRDX0FMUkhfUlRDX0FMUl9Nc2sgICAgICAgICAgICAgICAvKiE8IFJUQyBBbGFybSBIaWdoICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUlRDX0FMUkwgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFJUQ19BTFJMX1JUQ19BTFJfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFJUQ19BTFJMX1JUQ19BTFJfTXNrICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFJUQ19BTFJMX1JUQ19BTFJfUG9zKSAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFJUQ19BTFJMX1JUQ19BTFIgICAgICAgICAgICAgICAgICAgIFJUQ19BTFJMX1JUQ19BTFJfTXNrICAgICAgICAgICAgICAgLyohPCBSVEMgQWxhcm0gTG93ICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICBJbmRlcGVuZGVudCBXQVRDSERPRyAoSVdERykgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIElXREdfS1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJV0RHX0tSX0tFWV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJV0RHX0tSX0tFWV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHhGRkZGVSA8PCBJV0RHX0tSX0tFWV9Qb3MpICAgICAgIC8qITwgMHgwMDAwRkZGRiAqLw0KI2RlZmluZSBJV0RHX0tSX0tFWSAgICAgICAgICAgICAgICAgICAgICAgICBJV0RHX0tSX0tFWV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgS2V5IHZhbHVlICh3cml0ZSBvbmx5LCByZWFkIDAwMDBoKSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIElXREdfUFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJV0RHX1BSX1BSX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJV0RHX1BSX1BSX01zayAgICAgICAgICAgICAgICAgICAgICAoMHg3VSA8PCBJV0RHX1BSX1BSX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwNyAqLw0KI2RlZmluZSBJV0RHX1BSX1BSICAgICAgICAgICAgICAgICAgICAgICAgICBJV0RHX1BSX1BSX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgUFJbMjowXSAoUHJlc2NhbGVyIGRpdmlkZXIpICovDQojZGVmaW5lIElXREdfUFJfUFJfMCAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IElXREdfUFJfUFJfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIElXREdfUFJfUFJfMSAgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IElXREdfUFJfUFJfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIElXREdfUFJfUFJfMiAgICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IElXREdfUFJfUFJfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgSVdER19STFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElXREdfUkxSX1JMX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIElXREdfUkxSX1JMX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGRlUgPDwgSVdER19STFJfUkxfUG9zKSAgICAgICAgLyohPCAweDAwMDAwRkZGICovDQojZGVmaW5lIElXREdfUkxSX1JMICAgICAgICAgICAgICAgICAgICAgICAgIElXREdfUkxSX1JMX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBXYXRjaGRvZyBjb3VudGVyIHJlbG9hZCB2YWx1ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIElXREdfU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJV0RHX1NSX1BWVV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJV0RHX1NSX1BWVV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJV0RHX1NSX1BWVV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBJV0RHX1NSX1BWVSAgICAgICAgICAgICAgICAgICAgICAgICBJV0RHX1NSX1BWVV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgV2F0Y2hkb2cgcHJlc2NhbGVyIHZhbHVlIHVwZGF0ZSAqLw0KI2RlZmluZSBJV0RHX1NSX1JWVV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJV0RHX1NSX1JWVV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJV0RHX1NSX1JWVV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBJV0RHX1NSX1JWVSAgICAgICAgICAgICAgICAgICAgICAgICBJV0RHX1NSX1JWVV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgV2F0Y2hkb2cgY291bnRlciByZWxvYWQgdmFsdWUgdXBkYXRlICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgV2luZG93IFdBVENIRE9HIChXV0RHKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFdXREdfQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBXV0RHX0NSX1RfUG9zICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBXV0RHX0NSX1RfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHg3RlUgPDwgV1dER19DUl9UX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDA3RiAqLw0KI2RlZmluZSBXV0RHX0NSX1QgICAgICAgICAgICAgICAgICAgICAgICAgICBXV0RHX0NSX1RfTXNrICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFs2OjBdIGJpdHMgKDctQml0IGNvdW50ZXIgKE1TQiB0byBMU0IpKSAqLw0KI2RlZmluZSBXV0RHX0NSX1RfMCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgV1dER19DUl9UX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBXV0RHX0NSX1RfMSAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgV1dER19DUl9UX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBXV0RHX0NSX1RfMiAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgV1dER19DUl9UX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBXV0RHX0NSX1RfMyAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgV1dER19DUl9UX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBXV0RHX0NSX1RfNCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgV1dER19DUl9UX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBXV0RHX0NSX1RfNSAgICAgICAgICAgICAgICAgICAgICAgICAoMHgyMFUgPDwgV1dER19DUl9UX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBXV0RHX0NSX1RfNiAgICAgICAgICAgICAgICAgICAgICAgICAoMHg0MFUgPDwgV1dER19DUl9UX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KDQovKiBMZWdhY3kgZGVmaW5lcyAqLw0KI2RlZmluZSAgV1dER19DUl9UMCBXV0RHX0NSX1RfMA0KI2RlZmluZSAgV1dER19DUl9UMSBXV0RHX0NSX1RfMQ0KI2RlZmluZSAgV1dER19DUl9UMiBXV0RHX0NSX1RfMg0KI2RlZmluZSAgV1dER19DUl9UMyBXV0RHX0NSX1RfMw0KI2RlZmluZSAgV1dER19DUl9UNCBXV0RHX0NSX1RfNA0KI2RlZmluZSAgV1dER19DUl9UNSBXV0RHX0NSX1RfNQ0KI2RlZmluZSAgV1dER19DUl9UNiBXV0RHX0NSX1RfNg0KDQojZGVmaW5lIFdXREdfQ1JfV0RHQV9Qb3MgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFdXREdfQ1JfV0RHQV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFdXREdfQ1JfV0RHQV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFdXREdfQ1JfV0RHQSAgICAgICAgICAgICAgICAgICAgICAgIFdXREdfQ1JfV0RHQV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBY3RpdmF0aW9uIGJpdCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFdXREdfQ0ZSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBXV0RHX0NGUl9XX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBXV0RHX0NGUl9XX01zayAgICAgICAgICAgICAgICAgICAgICAoMHg3RlUgPDwgV1dER19DRlJfV19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDA3RiAqLw0KI2RlZmluZSBXV0RHX0NGUl9XICAgICAgICAgICAgICAgICAgICAgICAgICBXV0RHX0NGUl9XX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgV1s2OjBdIGJpdHMgKDctYml0IHdpbmRvdyB2YWx1ZSkgKi8NCiNkZWZpbmUgV1dER19DRlJfV18wICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IFdXREdfQ0ZSX1dfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgV1dER19DRlJfV18xICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IFdXREdfQ0ZSX1dfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgV1dER19DRlJfV18yICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IFdXREdfQ0ZSX1dfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgV1dER19DRlJfV18zICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IFdXREdfQ0ZSX1dfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgV1dER19DRlJfV180ICAgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IFdXREdfQ0ZSX1dfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgV1dER19DRlJfV181ICAgICAgICAgICAgICAgICAgICAgICAgKDB4MjBVIDw8IFdXREdfQ0ZSX1dfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgV1dER19DRlJfV182ICAgICAgICAgICAgICAgICAgICAgICAgKDB4NDBVIDw8IFdXREdfQ0ZSX1dfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCg0KLyogTGVnYWN5IGRlZmluZXMgKi8NCiNkZWZpbmUgIFdXREdfQ0ZSX1cwIFdXREdfQ0ZSX1dfMA0KI2RlZmluZSAgV1dER19DRlJfVzEgV1dER19DRlJfV18xDQojZGVmaW5lICBXV0RHX0NGUl9XMiBXV0RHX0NGUl9XXzINCiNkZWZpbmUgIFdXREdfQ0ZSX1czIFdXREdfQ0ZSX1dfMw0KI2RlZmluZSAgV1dER19DRlJfVzQgV1dER19DRlJfV180DQojZGVmaW5lICBXV0RHX0NGUl9XNSBXV0RHX0NGUl9XXzUNCiNkZWZpbmUgIFdXREdfQ0ZSX1c2IFdXREdfQ0ZSX1dfNg0KDQojZGVmaW5lIFdXREdfQ0ZSX1dER1RCX1BvcyAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFdXREdfQ0ZSX1dER1RCX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IFdXREdfQ0ZSX1dER1RCX1BvcykgICAgICAgLyohPCAweDAwMDAwMTgwICovDQojZGVmaW5lIFdXREdfQ0ZSX1dER1RCICAgICAgICAgICAgICAgICAgICAgIFdXREdfQ0ZSX1dER1RCX01zayAgICAgICAgICAgICAgICAgLyohPCBXREdUQlsxOjBdIGJpdHMgKFRpbWVyIEJhc2UpICovDQojZGVmaW5lIFdXREdfQ0ZSX1dER1RCXzAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFdXREdfQ0ZSX1dER1RCX1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFdXREdfQ0ZSX1dER1RCXzEgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFdXREdfQ0ZSX1dER1RCX1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQoNCi8qIExlZ2FjeSBkZWZpbmVzICovDQojZGVmaW5lICBXV0RHX0NGUl9XREdUQjAgV1dER19DRlJfV0RHVEJfMA0KI2RlZmluZSAgV1dER19DRlJfV0RHVEIxIFdXREdfQ0ZSX1dER1RCXzENCg0KI2RlZmluZSBXV0RHX0NGUl9FV0lfUG9zICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBXV0RHX0NGUl9FV0lfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBXV0RHX0NGUl9FV0lfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBXV0RHX0NGUl9FV0kgICAgICAgICAgICAgICAgICAgICAgICBXV0RHX0NGUl9FV0lfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRWFybHkgV2FrZXVwIEludGVycnVwdCAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFdXREdfU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBXV0RHX1NSX0VXSUZfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBXV0RHX1NSX0VXSUZfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBXV0RHX1NSX0VXSUZfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBXV0RHX1NSX0VXSUYgICAgICAgICAgICAgICAgICAgICAgICBXV0RHX1NSX0VXSUZfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRWFybHkgV2FrZXVwIEludGVycnVwdCBGbGFnICovDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgU0QgaG9zdCBJbnRlcmZhY2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX1BPV0VSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fUE9XRVJfUFdSQ1RSTF9Qb3MgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fUE9XRVJfUFdSQ1RSTF9Nc2sgICAgICAgICAgICAgICgweDNVIDw8IFNESU9fUE9XRVJfUFdSQ1RSTF9Qb3MpICAgLyohPCAweDAwMDAwMDAzICovDQojZGVmaW5lIFNESU9fUE9XRVJfUFdSQ1RSTCAgICAgICAgICAgICAgICAgIFNESU9fUE9XRVJfUFdSQ1RSTF9Nc2sgICAgICAgICAgICAgLyohPCBQV1JDVFJMWzE6MF0gYml0cyAoUG93ZXIgc3VwcGx5IGNvbnRyb2wgYml0cykgKi8NCiNkZWZpbmUgU0RJT19QT1dFUl9QV1JDVFJMXzAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19QT1dFUl9QV1JDVFJMX1BvcykgICAvKiE8IDB4MDEgKi8NCiNkZWZpbmUgU0RJT19QT1dFUl9QV1JDVFJMXzEgICAgICAgICAgICAgICAgKDB4MlUgPDwgU0RJT19QT1dFUl9QV1JDVFJMX1BvcykgICAvKiE8IDB4MDIgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fQ0xLQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19DTEtDUl9DTEtESVZfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTEtDUl9DTEtESVZfTXNrICAgICAgICAgICAgICAgKDB4RkZVIDw8IFNESU9fQ0xLQ1JfQ0xLRElWX1BvcykgICAvKiE8IDB4MDAwMDAwRkYgKi8NCiNkZWZpbmUgU0RJT19DTEtDUl9DTEtESVYgICAgICAgICAgICAgICAgICAgU0RJT19DTEtDUl9DTEtESVZfTXNrICAgICAgICAgICAgICAvKiE8IENsb2NrIGRpdmlkZSBmYWN0b3IgKi8NCiNkZWZpbmUgU0RJT19DTEtDUl9DTEtFTl9Qb3MgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTEtDUl9DTEtFTl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19DTEtDUl9DTEtFTl9Qb3MpICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgU0RJT19DTEtDUl9DTEtFTiAgICAgICAgICAgICAgICAgICAgU0RJT19DTEtDUl9DTEtFTl9Nc2sgICAgICAgICAgICAgICAvKiE8IENsb2NrIGVuYWJsZSBiaXQgKi8NCiNkZWZpbmUgU0RJT19DTEtDUl9QV1JTQVZfUG9zICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTEtDUl9QV1JTQVZfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19DTEtDUl9QV1JTQVZfUG9zKSAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgU0RJT19DTEtDUl9QV1JTQVYgICAgICAgICAgICAgICAgICAgU0RJT19DTEtDUl9QV1JTQVZfTXNrICAgICAgICAgICAgICAvKiE8IFBvd2VyIHNhdmluZyBjb25maWd1cmF0aW9uIGJpdCAqLw0KI2RlZmluZSBTRElPX0NMS0NSX0JZUEFTU19Qb3MgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NMS0NSX0JZUEFTU19Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0NMS0NSX0JZUEFTU19Qb3MpICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBTRElPX0NMS0NSX0JZUEFTUyAgICAgICAgICAgICAgICAgICBTRElPX0NMS0NSX0JZUEFTU19Nc2sgICAgICAgICAgICAgIC8qITwgQ2xvY2sgZGl2aWRlciBieXBhc3MgZW5hYmxlIGJpdCAqLw0KDQojZGVmaW5lIFNESU9fQ0xLQ1JfV0lEQlVTX1BvcyAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ0xLQ1JfV0lEQlVTX01zayAgICAgICAgICAgICAgICgweDNVIDw8IFNESU9fQ0xLQ1JfV0lEQlVTX1BvcykgICAgLyohPCAweDAwMDAxODAwICovDQojZGVmaW5lIFNESU9fQ0xLQ1JfV0lEQlVTICAgICAgICAgICAgICAgICAgIFNESU9fQ0xLQ1JfV0lEQlVTX01zayAgICAgICAgICAgICAgLyohPCBXSURCVVNbMTowXSBiaXRzIChXaWRlIGJ1cyBtb2RlIGVuYWJsZSBiaXQpICovDQojZGVmaW5lIFNESU9fQ0xLQ1JfV0lEQlVTXzAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fQ0xLQ1JfV0lEQlVTX1BvcykgICAgLyohPCAweDA4MDAgKi8NCiNkZWZpbmUgU0RJT19DTEtDUl9XSURCVVNfMSAgICAgICAgICAgICAgICAgKDB4MlUgPDwgU0RJT19DTEtDUl9XSURCVVNfUG9zKSAgICAvKiE8IDB4MTAwMCAqLw0KDQojZGVmaW5lIFNESU9fQ0xLQ1JfTkVHRURHRV9Qb3MgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ0xLQ1JfTkVHRURHRV9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fQ0xLQ1JfTkVHRURHRV9Qb3MpICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFNESU9fQ0xLQ1JfTkVHRURHRSAgICAgICAgICAgICAgICAgIFNESU9fQ0xLQ1JfTkVHRURHRV9Nc2sgICAgICAgICAgICAgLyohPCBTRElPX0NLIGRlcGhhc2luZyBzZWxlY3Rpb24gYml0ICovDQojZGVmaW5lIFNESU9fQ0xLQ1JfSFdGQ19FTl9Qb3MgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ0xLQ1JfSFdGQ19FTl9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fQ0xLQ1JfSFdGQ19FTl9Qb3MpICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFNESU9fQ0xLQ1JfSFdGQ19FTiAgICAgICAgICAgICAgICAgIFNESU9fQ0xLQ1JfSFdGQ19FTl9Nc2sgICAgICAgICAgICAgLyohPCBIVyBGbG93IENvbnRyb2wgZW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19BUkcgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fQVJHX0NNREFSR19Qb3MgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQVJHX0NNREFSR19Nc2sgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBTRElPX0FSR19DTURBUkdfUG9zKSAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgU0RJT19BUkdfQ01EQVJHICAgICAgICAgICAgICAgICAgICAgU0RJT19BUkdfQ01EQVJHX01zayAgICAgICAgICAgICAgICAvKiE8IENvbW1hbmQgYXJndW1lbnQgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX0NNRCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19DTURfQ01ESU5ERVhfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTURfQ01ESU5ERVhfTXNrICAgICAgICAgICAgICAgKDB4M0ZVIDw8IFNESU9fQ01EX0NNRElOREVYX1BvcykgICAvKiE8IDB4MDAwMDAwM0YgKi8NCiNkZWZpbmUgU0RJT19DTURfQ01ESU5ERVggICAgICAgICAgICAgICAgICAgU0RJT19DTURfQ01ESU5ERVhfTXNrICAgICAgICAgICAgICAvKiE8IENvbW1hbmQgSW5kZXggKi8NCg0KI2RlZmluZSBTRElPX0NNRF9XQUlUUkVTUF9Qb3MgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NNRF9XQUlUUkVTUF9Nc2sgICAgICAgICAgICAgICAoMHgzVSA8PCBTRElPX0NNRF9XQUlUUkVTUF9Qb3MpICAgIC8qITwgMHgwMDAwMDBDMCAqLw0KI2RlZmluZSBTRElPX0NNRF9XQUlUUkVTUCAgICAgICAgICAgICAgICAgICBTRElPX0NNRF9XQUlUUkVTUF9Nc2sgICAgICAgICAgICAgIC8qITwgV0FJVFJFU1BbMTowXSBiaXRzIChXYWl0IGZvciByZXNwb25zZSBiaXRzKSAqLw0KI2RlZmluZSBTRElPX0NNRF9XQUlUUkVTUF8wICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0NNRF9XQUlUUkVTUF9Qb3MpICAgIC8qITwgMHgwMDQwICovDQojZGVmaW5lIFNESU9fQ01EX1dBSVRSRVNQXzEgICAgICAgICAgICAgICAgICgweDJVIDw8IFNESU9fQ01EX1dBSVRSRVNQX1BvcykgICAgLyohPCAweDAwODAgKi8NCg0KI2RlZmluZSBTRElPX0NNRF9XQUlUSU5UX1BvcyAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NNRF9XQUlUSU5UX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0NNRF9XQUlUSU5UX1BvcykgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBTRElPX0NNRF9XQUlUSU5UICAgICAgICAgICAgICAgICAgICBTRElPX0NNRF9XQUlUSU5UX01zayAgICAgICAgICAgICAgIC8qITwgQ1BTTSBXYWl0cyBmb3IgSW50ZXJydXB0IFJlcXVlc3QgKi8NCiNkZWZpbmUgU0RJT19DTURfV0FJVFBFTkRfUG9zICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19DTURfV0FJVFBFTkRfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19DTURfV0FJVFBFTkRfUG9zKSAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgU0RJT19DTURfV0FJVFBFTkQgICAgICAgICAgICAgICAgICAgU0RJT19DTURfV0FJVFBFTkRfTXNrICAgICAgICAgICAgICAvKiE8IENQU00gV2FpdHMgZm9yIGVuZHMgb2YgZGF0YSB0cmFuc2ZlciAoQ21kUGVuZCBpbnRlcm5hbCBzaWduYWwpICovDQojZGVmaW5lIFNESU9fQ01EX0NQU01FTl9Qb3MgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ01EX0NQU01FTl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fQ01EX0NQU01FTl9Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFNESU9fQ01EX0NQU01FTiAgICAgICAgICAgICAgICAgICAgIFNESU9fQ01EX0NQU01FTl9Nc2sgICAgICAgICAgICAgICAgLyohPCBDb21tYW5kIHBhdGggc3RhdGUgbWFjaGluZSAoQ1BTTSkgRW5hYmxlIGJpdCAqLw0KI2RlZmluZSBTRElPX0NNRF9TRElPU1VTUEVORF9Qb3MgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NNRF9TRElPU1VTUEVORF9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0NNRF9TRElPU1VTUEVORF9Qb3MpIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBTRElPX0NNRF9TRElPU1VTUEVORCAgICAgICAgICAgICAgICBTRElPX0NNRF9TRElPU1VTUEVORF9Nc2sgICAgICAgICAgIC8qITwgU0QgSS9PIHN1c3BlbmQgY29tbWFuZCAqLw0KI2RlZmluZSBTRElPX0NNRF9FTkNNRENPTVBMX1BvcyAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NNRF9FTkNNRENPTVBMX01zayAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0NNRF9FTkNNRENPTVBMX1BvcykgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBTRElPX0NNRF9FTkNNRENPTVBMICAgICAgICAgICAgICAgICBTRElPX0NNRF9FTkNNRENPTVBMX01zayAgICAgICAgICAgIC8qITwgRW5hYmxlIENNRCBjb21wbGV0aW9uICovDQojZGVmaW5lIFNESU9fQ01EX05JRU5fUG9zICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fQ01EX05JRU5fTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fQ01EX05JRU5fUG9zKSAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFNESU9fQ01EX05JRU4gICAgICAgICAgICAgICAgICAgICAgIFNESU9fQ01EX05JRU5fTXNrICAgICAgICAgICAgICAgICAgLyohPCBOb3QgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX0NNRF9DRUFUQUNNRF9Qb3MgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0NNRF9DRUFUQUNNRF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0NNRF9DRUFUQUNNRF9Qb3MpICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBTRElPX0NNRF9DRUFUQUNNRCAgICAgICAgICAgICAgICAgICBTRElPX0NNRF9DRUFUQUNNRF9Nc2sgICAgICAgICAgICAgIC8qITwgQ0UtQVRBIGNvbW1hbmQgKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19SRVNQQ01EIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19SRVNQQ01EX1JFU1BDTURfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19SRVNQQ01EX1JFU1BDTURfTXNrICAgICAgICAgICAgKDB4M0ZVIDw8IFNESU9fUkVTUENNRF9SRVNQQ01EX1BvcykgLyohPCAweDAwMDAwMDNGICovDQojZGVmaW5lIFNESU9fUkVTUENNRF9SRVNQQ01EICAgICAgICAgICAgICAgIFNESU9fUkVTUENNRF9SRVNQQ01EX01zayAgICAgICAgICAgLyohPCBSZXNwb25zZSBjb21tYW5kIGluZGV4ICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX1JFU1AwIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fUkVTUDBfQ0FSRFNUQVRVUzBfUG9zICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fUkVTUDBfQ0FSRFNUQVRVUzBfTXNrICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBTRElPX1JFU1AwX0NBUkRTVEFUVVMwX1BvcykgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFNESU9fUkVTUDBfQ0FSRFNUQVRVUzAgICAgICAgICAgICAgIFNESU9fUkVTUDBfQ0FSRFNUQVRVUzBfTXNrICAgICAgICAgLyohPCBDYXJkIFN0YXR1cyAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19SRVNQMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX1JFU1AxX0NBUkRTVEFUVVMxX1BvcyAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1JFU1AxX0NBUkRTVEFUVVMxX01zayAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgU0RJT19SRVNQMV9DQVJEU1RBVFVTMV9Qb3MpIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBTRElPX1JFU1AxX0NBUkRTVEFUVVMxICAgICAgICAgICAgICBTRElPX1JFU1AxX0NBUkRTVEFUVVMxX01zayAgICAgICAgIC8qITwgQ2FyZCBTdGF0dXMgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fUkVTUDIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19SRVNQMl9DQVJEU1RBVFVTMl9Qb3MgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19SRVNQMl9DQVJEU1RBVFVTMl9Nc2sgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IFNESU9fUkVTUDJfQ0FSRFNUQVRVUzJfUG9zKSAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgU0RJT19SRVNQMl9DQVJEU1RBVFVTMiAgICAgICAgICAgICAgU0RJT19SRVNQMl9DQVJEU1RBVFVTMl9Nc2sgICAgICAgICAvKiE8IENhcmQgU3RhdHVzICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX1JFU1AzIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fUkVTUDNfQ0FSRFNUQVRVUzNfUG9zICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fUkVTUDNfQ0FSRFNUQVRVUzNfTXNrICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBTRElPX1JFU1AzX0NBUkRTVEFUVVMzX1BvcykgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFNESU9fUkVTUDNfQ0FSRFNUQVRVUzMgICAgICAgICAgICAgIFNESU9fUkVTUDNfQ0FSRFNUQVRVUzNfTXNrICAgICAgICAgLyohPCBDYXJkIFN0YXR1cyAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19SRVNQNCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX1JFU1A0X0NBUkRTVEFUVVM0X1BvcyAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1JFU1A0X0NBUkRTVEFUVVM0X01zayAgICAgICAgICAoMHhGRkZGRkZGRlUgPDwgU0RJT19SRVNQNF9DQVJEU1RBVFVTNF9Qb3MpIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBTRElPX1JFU1A0X0NBUkRTVEFUVVM0ICAgICAgICAgICAgICBTRElPX1JFU1A0X0NBUkRTVEFUVVM0X01zayAgICAgICAgIC8qITwgQ2FyZCBTdGF0dXMgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fRFRJTUVSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19EVElNRVJfREFUQVRJTUVfUG9zICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19EVElNRVJfREFUQVRJTUVfTXNrICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IFNESU9fRFRJTUVSX0RBVEFUSU1FX1BvcykgLyohPCAweEZGRkZGRkZGICovDQojZGVmaW5lIFNESU9fRFRJTUVSX0RBVEFUSU1FICAgICAgICAgICAgICAgIFNESU9fRFRJTUVSX0RBVEFUSU1FX01zayAgICAgICAgICAgLyohPCBEYXRhIHRpbWVvdXQgcGVyaW9kLiAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19ETEVOIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTRElPX0RMRU5fREFUQUxFTkdUSF9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0RMRU5fREFUQUxFTkdUSF9Nc2sgICAgICAgICAgICAoMHgxRkZGRkZGVSA8PCBTRElPX0RMRU5fREFUQUxFTkdUSF9Qb3MpIC8qITwgMHgwMUZGRkZGRiAqLw0KI2RlZmluZSBTRElPX0RMRU5fREFUQUxFTkdUSCAgICAgICAgICAgICAgICBTRElPX0RMRU5fREFUQUxFTkdUSF9Nc2sgICAgICAgICAgIC8qITwgRGF0YSBsZW5ndGggdmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fRENUUkwgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9EVEVOX1BvcyAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19EQ1RSTF9EVEVOX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19EQ1RSTF9EVEVOX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9EVEVOICAgICAgICAgICAgICAgICAgICAgU0RJT19EQ1RSTF9EVEVOX01zayAgICAgICAgICAgICAgICAvKiE8IERhdGEgdHJhbnNmZXIgZW5hYmxlZCBiaXQgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9EVERJUl9Qb3MgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19EQ1RSTF9EVERJUl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19EQ1RSTF9EVERJUl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9EVERJUiAgICAgICAgICAgICAgICAgICAgU0RJT19EQ1RSTF9EVERJUl9Nc2sgICAgICAgICAgICAgICAvKiE8IERhdGEgdHJhbnNmZXIgZGlyZWN0aW9uIHNlbGVjdGlvbiAqLw0KI2RlZmluZSBTRElPX0RDVFJMX0RUTU9ERV9Qb3MgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0RDVFJMX0RUTU9ERV9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0RDVFJMX0RUTU9ERV9Qb3MpICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBTRElPX0RDVFJMX0RUTU9ERSAgICAgICAgICAgICAgICAgICBTRElPX0RDVFJMX0RUTU9ERV9Nc2sgICAgICAgICAgICAgIC8qITwgRGF0YSB0cmFuc2ZlciBtb2RlIHNlbGVjdGlvbiAqLw0KI2RlZmluZSBTRElPX0RDVFJMX0RNQUVOX1BvcyAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0RDVFJMX0RNQUVOX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0RDVFJMX0RNQUVOX1BvcykgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBTRElPX0RDVFJMX0RNQUVOICAgICAgICAgICAgICAgICAgICBTRElPX0RDVFJMX0RNQUVOX01zayAgICAgICAgICAgICAgIC8qITwgRE1BIGVuYWJsZWQgYml0ICovDQoNCiNkZWZpbmUgU0RJT19EQ1RSTF9EQkxPQ0tTSVpFX1BvcyAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19EQ1RSTF9EQkxPQ0tTSVpFX01zayAgICAgICAgICAgKDB4RlUgPDwgU0RJT19EQ1RSTF9EQkxPQ0tTSVpFX1BvcykgLyohPCAweDAwMDAwMEYwICovDQojZGVmaW5lIFNESU9fRENUUkxfREJMT0NLU0laRSAgICAgICAgICAgICAgIFNESU9fRENUUkxfREJMT0NLU0laRV9Nc2sgICAgICAgICAgLyohPCBEQkxPQ0tTSVpFWzM6MF0gYml0cyAoRGF0YSBibG9jayBzaXplKSAqLw0KI2RlZmluZSBTRElPX0RDVFJMX0RCTE9DS1NJWkVfMCAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0RDVFJMX0RCTE9DS1NJWkVfUG9zKSAvKiE8IDB4MDAxMCAqLw0KI2RlZmluZSBTRElPX0RDVFJMX0RCTE9DS1NJWkVfMSAgICAgICAgICAgICAoMHgyVSA8PCBTRElPX0RDVFJMX0RCTE9DS1NJWkVfUG9zKSAvKiE8IDB4MDAyMCAqLw0KI2RlZmluZSBTRElPX0RDVFJMX0RCTE9DS1NJWkVfMiAgICAgICAgICAgICAoMHg0VSA8PCBTRElPX0RDVFJMX0RCTE9DS1NJWkVfUG9zKSAvKiE8IDB4MDA0MCAqLw0KI2RlZmluZSBTRElPX0RDVFJMX0RCTE9DS1NJWkVfMyAgICAgICAgICAgICAoMHg4VSA8PCBTRElPX0RDVFJMX0RCTE9DS1NJWkVfUG9zKSAvKiE8IDB4MDA4MCAqLw0KDQojZGVmaW5lIFNESU9fRENUUkxfUldTVEFSVF9Qb3MgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fRENUUkxfUldTVEFSVF9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fRENUUkxfUldTVEFSVF9Qb3MpICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFNESU9fRENUUkxfUldTVEFSVCAgICAgICAgICAgICAgICAgIFNESU9fRENUUkxfUldTVEFSVF9Nc2sgICAgICAgICAgICAgLyohPCBSZWFkIHdhaXQgc3RhcnQgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9SV1NUT1BfUG9zICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19EQ1RSTF9SV1NUT1BfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19EQ1RSTF9SV1NUT1BfUG9zKSAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgU0RJT19EQ1RSTF9SV1NUT1AgICAgICAgICAgICAgICAgICAgU0RJT19EQ1RSTF9SV1NUT1BfTXNrICAgICAgICAgICAgICAvKiE8IFJlYWQgd2FpdCBzdG9wICovDQojZGVmaW5lIFNESU9fRENUUkxfUldNT0RfUG9zICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fRENUUkxfUldNT0RfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fRENUUkxfUldNT0RfUG9zKSAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFNESU9fRENUUkxfUldNT0QgICAgICAgICAgICAgICAgICAgIFNESU9fRENUUkxfUldNT0RfTXNrICAgICAgICAgICAgICAgLyohPCBSZWFkIHdhaXQgbW9kZSAqLw0KI2RlZmluZSBTRElPX0RDVFJMX1NESU9FTl9Qb3MgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0RDVFJMX1NESU9FTl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0RDVFJMX1NESU9FTl9Qb3MpICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBTRElPX0RDVFJMX1NESU9FTiAgICAgICAgICAgICAgICAgICBTRElPX0RDVFJMX1NESU9FTl9Nc2sgICAgICAgICAgICAgIC8qITwgU0QgSS9PIGVuYWJsZSBmdW5jdGlvbnMgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fRENPVU5UIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19EQ09VTlRfREFUQUNPVU5UX1BvcyAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19EQ09VTlRfREFUQUNPVU5UX01zayAgICAgICAgICAgKDB4MUZGRkZGRlUgPDwgU0RJT19EQ09VTlRfREFUQUNPVU5UX1BvcykgLyohPCAweDAxRkZGRkZGICovDQojZGVmaW5lIFNESU9fRENPVU5UX0RBVEFDT1VOVCAgICAgICAgICAgICAgIFNESU9fRENPVU5UX0RBVEFDT1VOVF9Nc2sgICAgICAgICAgLyohPCBEYXRhIGNvdW50IHZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX1NUQSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fU1RBX0NDUkNGQUlMX1BvcyAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX0NDUkNGQUlMX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX0NDUkNGQUlMX1BvcykgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFNESU9fU1RBX0NDUkNGQUlMICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX0NDUkNGQUlMX01zayAgICAgICAgICAgICAgLyohPCBDb21tYW5kIHJlc3BvbnNlIHJlY2VpdmVkIChDUkMgY2hlY2sgZmFpbGVkKSAqLw0KI2RlZmluZSBTRElPX1NUQV9EQ1JDRkFJTF9Qb3MgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9EQ1JDRkFJTF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9EQ1JDRkFJTF9Qb3MpICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBTRElPX1NUQV9EQ1JDRkFJTCAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9EQ1JDRkFJTF9Nc2sgICAgICAgICAgICAgIC8qITwgRGF0YSBibG9jayBzZW50L3JlY2VpdmVkIChDUkMgY2hlY2sgZmFpbGVkKSAqLw0KI2RlZmluZSBTRElPX1NUQV9DVElNRU9VVF9Qb3MgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9DVElNRU9VVF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9DVElNRU9VVF9Qb3MpICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBTRElPX1NUQV9DVElNRU9VVCAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9DVElNRU9VVF9Nc2sgICAgICAgICAgICAgIC8qITwgQ29tbWFuZCByZXNwb25zZSB0aW1lb3V0ICovDQojZGVmaW5lIFNESU9fU1RBX0RUSU1FT1VUX1BvcyAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX0RUSU1FT1VUX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX0RUSU1FT1VUX1BvcykgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFNESU9fU1RBX0RUSU1FT1VUICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX0RUSU1FT1VUX01zayAgICAgICAgICAgICAgLyohPCBEYXRhIHRpbWVvdXQgKi8NCiNkZWZpbmUgU0RJT19TVEFfVFhVTkRFUlJfUG9zICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfVFhVTkRFUlJfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfVFhVTkRFUlJfUG9zKSAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgU0RJT19TVEFfVFhVTkRFUlIgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfVFhVTkRFUlJfTXNrICAgICAgICAgICAgICAvKiE8IFRyYW5zbWl0IEZJRk8gdW5kZXJydW4gZXJyb3IgKi8NCiNkZWZpbmUgU0RJT19TVEFfUlhPVkVSUl9Qb3MgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfUlhPVkVSUl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfUlhPVkVSUl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgU0RJT19TVEFfUlhPVkVSUiAgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfUlhPVkVSUl9Nc2sgICAgICAgICAgICAgICAvKiE8IFJlY2VpdmVkIEZJRk8gb3ZlcnJ1biBlcnJvciAqLw0KI2RlZmluZSBTRElPX1NUQV9DTURSRU5EX1BvcyAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9DTURSRU5EX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9DTURSRU5EX1BvcykgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBTRElPX1NUQV9DTURSRU5EICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9DTURSRU5EX01zayAgICAgICAgICAgICAgIC8qITwgQ29tbWFuZCByZXNwb25zZSByZWNlaXZlZCAoQ1JDIGNoZWNrIHBhc3NlZCkgKi8NCiNkZWZpbmUgU0RJT19TVEFfQ01EU0VOVF9Qb3MgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfQ01EU0VOVF9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfQ01EU0VOVF9Qb3MpICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgU0RJT19TVEFfQ01EU0VOVCAgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfQ01EU0VOVF9Nc2sgICAgICAgICAgICAgICAvKiE8IENvbW1hbmQgc2VudCAobm8gcmVzcG9uc2UgcmVxdWlyZWQpICovDQojZGVmaW5lIFNESU9fU1RBX0RBVEFFTkRfUG9zICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX0RBVEFFTkRfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX0RBVEFFTkRfUG9zKSAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFNESU9fU1RBX0RBVEFFTkQgICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX0RBVEFFTkRfTXNrICAgICAgICAgICAgICAgLyohPCBEYXRhIGVuZCAoZGF0YSBjb3VudGVyLCBTRElEQ09VTlQsIGlzIHplcm8pICovDQojZGVmaW5lIFNESU9fU1RBX1NUQklURVJSX1BvcyAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX1NUQklURVJSX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX1NUQklURVJSX1BvcykgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFNESU9fU1RBX1NUQklURVJSICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX1NUQklURVJSX01zayAgICAgICAgICAgICAgLyohPCBTdGFydCBiaXQgbm90IGRldGVjdGVkIG9uIGFsbCBkYXRhIHNpZ25hbHMgaW4gd2lkZSBidXMgbW9kZSAqLw0KI2RlZmluZSBTRElPX1NUQV9EQkNLRU5EX1BvcyAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9EQkNLRU5EX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9EQkNLRU5EX1BvcykgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9EQkNLRU5EICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9EQkNLRU5EX01zayAgICAgICAgICAgICAgIC8qITwgRGF0YSBibG9jayBzZW50L3JlY2VpdmVkIChDUkMgY2hlY2sgcGFzc2VkKSAqLw0KI2RlZmluZSBTRElPX1NUQV9DTURBQ1RfUG9zICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9DTURBQ1RfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9DTURBQ1RfUG9zKSAgICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9DTURBQ1QgICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9DTURBQ1RfTXNrICAgICAgICAgICAgICAgIC8qITwgQ29tbWFuZCB0cmFuc2ZlciBpbiBwcm9ncmVzcyAqLw0KI2RlZmluZSBTRElPX1NUQV9UWEFDVF9Qb3MgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9UWEFDVF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9UWEFDVF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9UWEFDVCAgICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9UWEFDVF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRGF0YSB0cmFuc21pdCBpbiBwcm9ncmVzcyAqLw0KI2RlZmluZSBTRElPX1NUQV9SWEFDVF9Qb3MgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9SWEFDVF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9SWEFDVF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9SWEFDVCAgICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9SWEFDVF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgRGF0YSByZWNlaXZlIGluIHByb2dyZXNzICovDQojZGVmaW5lIFNESU9fU1RBX1RYRklGT0hFX1BvcyAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX1RYRklGT0hFX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX1RYRklGT0hFX1BvcykgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFNESU9fU1RBX1RYRklGT0hFICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX1RYRklGT0hFX01zayAgICAgICAgICAgICAgLyohPCBUcmFuc21pdCBGSUZPIEhhbGYgRW1wdHk6IGF0IGxlYXN0IDggd29yZHMgY2FuIGJlIHdyaXR0ZW4gaW50byB0aGUgRklGTyAqLw0KI2RlZmluZSBTRElPX1NUQV9SWEZJRk9IRl9Qb3MgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9SWEZJRk9IRl9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9SWEZJRk9IRl9Qb3MpICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9SWEZJRk9IRiAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9SWEZJRk9IRl9Nc2sgICAgICAgICAgICAgIC8qITwgUmVjZWl2ZSBGSUZPIEhhbGYgRnVsbDogdGhlcmUgYXJlIGF0IGxlYXN0IDggd29yZHMgaW4gdGhlIEZJRk8gKi8NCiNkZWZpbmUgU0RJT19TVEFfVFhGSUZPRl9Qb3MgICAgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfVFhGSUZPRl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfVFhGSUZPRl9Qb3MpICAgICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfVFhGSUZPRiAgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfVFhGSUZPRl9Nc2sgICAgICAgICAgICAgICAvKiE8IFRyYW5zbWl0IEZJRk8gZnVsbCAqLw0KI2RlZmluZSBTRElPX1NUQV9SWEZJRk9GX1BvcyAgICAgICAgICAgICAgICAoMTdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9SWEZJRk9GX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9SWEZJRk9GX1BvcykgICAgIC8qITwgMHgwMDAyMDAwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9SWEZJRk9GICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9SWEZJRk9GX01zayAgICAgICAgICAgICAgIC8qITwgUmVjZWl2ZSBGSUZPIGZ1bGwgKi8NCiNkZWZpbmUgU0RJT19TVEFfVFhGSUZPRV9Qb3MgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfVFhGSUZPRV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfVFhGSUZPRV9Qb3MpICAgICAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfVFhGSUZPRSAgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfVFhGSUZPRV9Nc2sgICAgICAgICAgICAgICAvKiE8IFRyYW5zbWl0IEZJRk8gZW1wdHkgKi8NCiNkZWZpbmUgU0RJT19TVEFfUlhGSUZPRV9Qb3MgICAgICAgICAgICAgICAgKDE5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19TVEFfUlhGSUZPRV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19TVEFfUlhGSUZPRV9Qb3MpICAgICAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgU0RJT19TVEFfUlhGSUZPRSAgICAgICAgICAgICAgICAgICAgU0RJT19TVEFfUlhGSUZPRV9Nc2sgICAgICAgICAgICAgICAvKiE8IFJlY2VpdmUgRklGTyBlbXB0eSAqLw0KI2RlZmluZSBTRElPX1NUQV9UWERBVkxfUG9zICAgICAgICAgICAgICAgICAoMjBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9UWERBVkxfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9UWERBVkxfUG9zKSAgICAgIC8qITwgMHgwMDEwMDAwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9UWERBVkwgICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9UWERBVkxfTXNrICAgICAgICAgICAgICAgIC8qITwgRGF0YSBhdmFpbGFibGUgaW4gdHJhbnNtaXQgRklGTyAqLw0KI2RlZmluZSBTRElPX1NUQV9SWERBVkxfUG9zICAgICAgICAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9SWERBVkxfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9SWERBVkxfUG9zKSAgICAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9SWERBVkwgICAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9SWERBVkxfTXNrICAgICAgICAgICAgICAgIC8qITwgRGF0YSBhdmFpbGFibGUgaW4gcmVjZWl2ZSBGSUZPICovDQojZGVmaW5lIFNESU9fU1RBX1NESU9JVF9Qb3MgICAgICAgICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fU1RBX1NESU9JVF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fU1RBX1NESU9JVF9Qb3MpICAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIFNESU9fU1RBX1NESU9JVCAgICAgICAgICAgICAgICAgICAgIFNESU9fU1RBX1NESU9JVF9Nc2sgICAgICAgICAgICAgICAgLyohPCBTRElPIGludGVycnVwdCByZWNlaXZlZCAqLw0KI2RlZmluZSBTRElPX1NUQV9DRUFUQUVORF9Qb3MgICAgICAgICAgICAgICAoMjNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX1NUQV9DRUFUQUVORF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX1NUQV9DRUFUQUVORF9Qb3MpICAgIC8qITwgMHgwMDgwMDAwMCAqLw0KI2RlZmluZSBTRElPX1NUQV9DRUFUQUVORCAgICAgICAgICAgICAgICAgICBTRElPX1NUQV9DRUFUQUVORF9Nc2sgICAgICAgICAgICAgIC8qITwgQ0UtQVRBIGNvbW1hbmQgY29tcGxldGlvbiBzaWduYWwgcmVjZWl2ZWQgZm9yIENNRDYxICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19JQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fSUNSX0NDUkNGQUlMQ19Qb3MgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fSUNSX0NDUkNGQUlMQ19Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fSUNSX0NDUkNGQUlMQ19Qb3MpICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFNESU9fSUNSX0NDUkNGQUlMQyAgICAgICAgICAgICAgICAgIFNESU9fSUNSX0NDUkNGQUlMQ19Nc2sgICAgICAgICAgICAgLyohPCBDQ1JDRkFJTCBmbGFnIGNsZWFyIGJpdCAqLw0KI2RlZmluZSBTRElPX0lDUl9EQ1JDRkFJTENfUG9zICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0lDUl9EQ1JDRkFJTENfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0lDUl9EQ1JDRkFJTENfUG9zKSAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBTRElPX0lDUl9EQ1JDRkFJTEMgICAgICAgICAgICAgICAgICBTRElPX0lDUl9EQ1JDRkFJTENfTXNrICAgICAgICAgICAgIC8qITwgRENSQ0ZBSUwgZmxhZyBjbGVhciBiaXQgKi8NCiNkZWZpbmUgU0RJT19JQ1JfQ1RJTUVPVVRDX1BvcyAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19JQ1JfQ1RJTUVPVVRDX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19JQ1JfQ1RJTUVPVVRDX1BvcykgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgU0RJT19JQ1JfQ1RJTUVPVVRDICAgICAgICAgICAgICAgICAgU0RJT19JQ1JfQ1RJTUVPVVRDX01zayAgICAgICAgICAgICAvKiE8IENUSU1FT1VUIGZsYWcgY2xlYXIgYml0ICovDQojZGVmaW5lIFNESU9fSUNSX0RUSU1FT1VUQ19Qb3MgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fSUNSX0RUSU1FT1VUQ19Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fSUNSX0RUSU1FT1VUQ19Qb3MpICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFNESU9fSUNSX0RUSU1FT1VUQyAgICAgICAgICAgICAgICAgIFNESU9fSUNSX0RUSU1FT1VUQ19Nc2sgICAgICAgICAgICAgLyohPCBEVElNRU9VVCBmbGFnIGNsZWFyIGJpdCAqLw0KI2RlZmluZSBTRElPX0lDUl9UWFVOREVSUkNfUG9zICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX0lDUl9UWFVOREVSUkNfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX0lDUl9UWFVOREVSUkNfUG9zKSAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBTRElPX0lDUl9UWFVOREVSUkMgICAgICAgICAgICAgICAgICBTRElPX0lDUl9UWFVOREVSUkNfTXNrICAgICAgICAgICAgIC8qITwgVFhVTkRFUlIgZmxhZyBjbGVhciBiaXQgKi8NCiNkZWZpbmUgU0RJT19JQ1JfUlhPVkVSUkNfUG9zICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19JQ1JfUlhPVkVSUkNfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19JQ1JfUlhPVkVSUkNfUG9zKSAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgU0RJT19JQ1JfUlhPVkVSUkMgICAgICAgICAgICAgICAgICAgU0RJT19JQ1JfUlhPVkVSUkNfTXNrICAgICAgICAgICAgICAvKiE8IFJYT1ZFUlIgZmxhZyBjbGVhciBiaXQgKi8NCiNkZWZpbmUgU0RJT19JQ1JfQ01EUkVORENfUG9zICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19JQ1JfQ01EUkVORENfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19JQ1JfQ01EUkVORENfUG9zKSAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgU0RJT19JQ1JfQ01EUkVOREMgICAgICAgICAgICAgICAgICAgU0RJT19JQ1JfQ01EUkVORENfTXNrICAgICAgICAgICAgICAvKiE8IENNRFJFTkQgZmxhZyBjbGVhciBiaXQgKi8NCiNkZWZpbmUgU0RJT19JQ1JfQ01EU0VOVENfUG9zICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19JQ1JfQ01EU0VOVENfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19JQ1JfQ01EU0VOVENfUG9zKSAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgU0RJT19JQ1JfQ01EU0VOVEMgICAgICAgICAgICAgICAgICAgU0RJT19JQ1JfQ01EU0VOVENfTXNrICAgICAgICAgICAgICAvKiE8IENNRFNFTlQgZmxhZyBjbGVhciBiaXQgKi8NCiNkZWZpbmUgU0RJT19JQ1JfREFUQUVORENfUG9zICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19JQ1JfREFUQUVORENfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19JQ1JfREFUQUVORENfUG9zKSAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgU0RJT19JQ1JfREFUQUVOREMgICAgICAgICAgICAgICAgICAgU0RJT19JQ1JfREFUQUVORENfTXNrICAgICAgICAgICAgICAvKiE8IERBVEFFTkQgZmxhZyBjbGVhciBiaXQgKi8NCiNkZWZpbmUgU0RJT19JQ1JfU1RCSVRFUlJDX1BvcyAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19JQ1JfU1RCSVRFUlJDX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19JQ1JfU1RCSVRFUlJDX1BvcykgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgU0RJT19JQ1JfU1RCSVRFUlJDICAgICAgICAgICAgICAgICAgU0RJT19JQ1JfU1RCSVRFUlJDX01zayAgICAgICAgICAgICAvKiE8IFNUQklURVJSIGZsYWcgY2xlYXIgYml0ICovDQojZGVmaW5lIFNESU9fSUNSX0RCQ0tFTkRDX1BvcyAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fSUNSX0RCQ0tFTkRDX01zayAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fSUNSX0RCQ0tFTkRDX1BvcykgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFNESU9fSUNSX0RCQ0tFTkRDICAgICAgICAgICAgICAgICAgIFNESU9fSUNSX0RCQ0tFTkRDX01zayAgICAgICAgICAgICAgLyohPCBEQkNLRU5EIGZsYWcgY2xlYXIgYml0ICovDQojZGVmaW5lIFNESU9fSUNSX1NESU9JVENfUG9zICAgICAgICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fSUNSX1NESU9JVENfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fSUNSX1NESU9JVENfUG9zKSAgICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIFNESU9fSUNSX1NESU9JVEMgICAgICAgICAgICAgICAgICAgIFNESU9fSUNSX1NESU9JVENfTXNrICAgICAgICAgICAgICAgLyohPCBTRElPSVQgZmxhZyBjbGVhciBiaXQgKi8NCiNkZWZpbmUgU0RJT19JQ1JfQ0VBVEFFTkRDX1BvcyAgICAgICAgICAgICAgKDIzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19JQ1JfQ0VBVEFFTkRDX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19JQ1JfQ0VBVEFFTkRDX1BvcykgICAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgU0RJT19JQ1JfQ0VBVEFFTkRDICAgICAgICAgICAgICAgICAgU0RJT19JQ1JfQ0VBVEFFTkRDX01zayAgICAgICAgICAgICAvKiE8IENFQVRBRU5EIGZsYWcgY2xlYXIgYml0ICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX01BU0sgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fTUFTS19DQ1JDRkFJTElFX1BvcyAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19DQ1JDRkFJTElFX01zayAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19DQ1JDRkFJTElFX1BvcykgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFNESU9fTUFTS19DQ1JDRkFJTElFICAgICAgICAgICAgICAgIFNESU9fTUFTS19DQ1JDRkFJTElFX01zayAgICAgICAgICAgLyohPCBDb21tYW5kIENSQyBGYWlsIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0RDUkNGQUlMSUVfUG9zICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX0RDUkNGQUlMSUVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX0RDUkNGQUlMSUVfUG9zKSAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0RDUkNGQUlMSUUgICAgICAgICAgICAgICAgU0RJT19NQVNLX0RDUkNGQUlMSUVfTXNrICAgICAgICAgICAvKiE8IERhdGEgQ1JDIEZhaWwgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfQ1RJTUVPVVRJRV9Qb3MgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfQ1RJTUVPVVRJRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfQ1RJTUVPVVRJRV9Qb3MpIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBTRElPX01BU0tfQ1RJTUVPVVRJRSAgICAgICAgICAgICAgICBTRElPX01BU0tfQ1RJTUVPVVRJRV9Nc2sgICAgICAgICAgIC8qITwgQ29tbWFuZCBUaW1lT3V0IEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0RUSU1FT1VUSUVfUG9zICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX0RUSU1FT1VUSUVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX0RUSU1FT1VUSUVfUG9zKSAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgU0RJT19NQVNLX0RUSU1FT1VUSUUgICAgICAgICAgICAgICAgU0RJT19NQVNLX0RUSU1FT1VUSUVfTXNrICAgICAgICAgICAvKiE8IERhdGEgVGltZU91dCBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19UWFVOREVSUklFX1BvcyAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19UWFVOREVSUklFX01zayAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19UWFVOREVSUklFX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFNESU9fTUFTS19UWFVOREVSUklFICAgICAgICAgICAgICAgIFNESU9fTUFTS19UWFVOREVSUklFX01zayAgICAgICAgICAgLyohPCBUeCBGSUZPIFVuZGVyUnVuIEVycm9yIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1JYT1ZFUlJJRV9Qb3MgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX1JYT1ZFUlJJRV9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX1JYT1ZFUlJJRV9Qb3MpICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1JYT1ZFUlJJRSAgICAgICAgICAgICAgICAgU0RJT19NQVNLX1JYT1ZFUlJJRV9Nc2sgICAgICAgICAgICAvKiE8IFJ4IEZJRk8gT3ZlclJ1biBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19DTURSRU5ESUVfUG9zICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19DTURSRU5ESUVfTXNrICAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19DTURSRU5ESUVfUG9zKSAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFNESU9fTUFTS19DTURSRU5ESUUgICAgICAgICAgICAgICAgIFNESU9fTUFTS19DTURSRU5ESUVfTXNrICAgICAgICAgICAgLyohPCBDb21tYW5kIFJlc3BvbnNlIFJlY2VpdmVkIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0NNRFNFTlRJRV9Qb3MgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX0NNRFNFTlRJRV9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX0NNRFNFTlRJRV9Qb3MpICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0NNRFNFTlRJRSAgICAgICAgICAgICAgICAgU0RJT19NQVNLX0NNRFNFTlRJRV9Nc2sgICAgICAgICAgICAvKiE8IENvbW1hbmQgU2VudCBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19EQVRBRU5ESUVfUG9zICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19EQVRBRU5ESUVfTXNrICAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19EQVRBRU5ESUVfUG9zKSAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFNESU9fTUFTS19EQVRBRU5ESUUgICAgICAgICAgICAgICAgIFNESU9fTUFTS19EQVRBRU5ESUVfTXNrICAgICAgICAgICAgLyohPCBEYXRhIEVuZCBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19TVEJJVEVSUklFX1BvcyAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19TVEJJVEVSUklFX01zayAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19TVEJJVEVSUklFX1BvcykgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFNESU9fTUFTS19TVEJJVEVSUklFICAgICAgICAgICAgICAgIFNESU9fTUFTS19TVEJJVEVSUklFX01zayAgICAgICAgICAgLyohPCBTdGFydCBCaXQgRXJyb3IgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfREJDS0VORElFX1BvcyAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfREJDS0VORElFX01zayAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfREJDS0VORElFX1BvcykgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfREJDS0VORElFICAgICAgICAgICAgICAgICBTRElPX01BU0tfREJDS0VORElFX01zayAgICAgICAgICAgIC8qITwgRGF0YSBCbG9jayBFbmQgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfQ01EQUNUSUVfUG9zICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfQ01EQUNUSUVfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfQ01EQUNUSUVfUG9zKSAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfQ01EQUNUSUUgICAgICAgICAgICAgICAgICBTRElPX01BU0tfQ01EQUNUSUVfTXNrICAgICAgICAgICAgIC8qITwgQ29tbWFuZCBBY3RpbmcgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfVFhBQ1RJRV9Qb3MgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfVFhBQ1RJRV9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfVFhBQ1RJRV9Qb3MpICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfVFhBQ1RJRSAgICAgICAgICAgICAgICAgICBTRElPX01BU0tfVFhBQ1RJRV9Nc2sgICAgICAgICAgICAgIC8qITwgRGF0YSBUcmFuc21pdCBBY3RpbmcgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfUlhBQ1RJRV9Qb3MgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfUlhBQ1RJRV9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfUlhBQ1RJRV9Qb3MpICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfUlhBQ1RJRSAgICAgICAgICAgICAgICAgICBTRElPX01BU0tfUlhBQ1RJRV9Nc2sgICAgICAgICAgICAgIC8qITwgRGF0YSByZWNlaXZlIGFjdGluZyBpbnRlcnJ1cHQgZW5hYmxlZCAqLw0KI2RlZmluZSBTRElPX01BU0tfVFhGSUZPSEVJRV9Qb3MgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfVFhGSUZPSEVJRV9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfVFhGSUZPSEVJRV9Qb3MpIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfVFhGSUZPSEVJRSAgICAgICAgICAgICAgICBTRElPX01BU0tfVFhGSUZPSEVJRV9Nc2sgICAgICAgICAgIC8qITwgVHggRklGTyBIYWxmIEVtcHR5IGludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1JYRklGT0hGSUVfUG9zICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX1JYRklGT0hGSUVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX1JYRklGT0hGSUVfUG9zKSAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1JYRklGT0hGSUUgICAgICAgICAgICAgICAgU0RJT19NQVNLX1JYRklGT0hGSUVfTXNrICAgICAgICAgICAvKiE8IFJ4IEZJRk8gSGFsZiBGdWxsIGludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1RYRklGT0ZJRV9Qb3MgICAgICAgICAgICAgKDE2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX1RYRklGT0ZJRV9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX1RYRklGT0ZJRV9Qb3MpICAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1RYRklGT0ZJRSAgICAgICAgICAgICAgICAgU0RJT19NQVNLX1RYRklGT0ZJRV9Nc2sgICAgICAgICAgICAvKiE8IFR4IEZJRk8gRnVsbCBpbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19SWEZJRk9GSUVfUG9zICAgICAgICAgICAgICgxN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19SWEZJRk9GSUVfTXNrICAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19SWEZJRk9GSUVfUG9zKSAgLyohPCAweDAwMDIwMDAwICovDQojZGVmaW5lIFNESU9fTUFTS19SWEZJRk9GSUUgICAgICAgICAgICAgICAgIFNESU9fTUFTS19SWEZJRk9GSUVfTXNrICAgICAgICAgICAgLyohPCBSeCBGSUZPIEZ1bGwgaW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfVFhGSUZPRUlFX1BvcyAgICAgICAgICAgICAoMThVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfVFhGSUZPRUlFX01zayAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfVFhGSUZPRUlFX1BvcykgIC8qITwgMHgwMDA0MDAwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfVFhGSUZPRUlFICAgICAgICAgICAgICAgICBTRElPX01BU0tfVFhGSUZPRUlFX01zayAgICAgICAgICAgIC8qITwgVHggRklGTyBFbXB0eSBpbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19SWEZJRk9FSUVfUG9zICAgICAgICAgICAgICgxOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19SWEZJRk9FSUVfTXNrICAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19SWEZJRk9FSUVfUG9zKSAgLyohPCAweDAwMDgwMDAwICovDQojZGVmaW5lIFNESU9fTUFTS19SWEZJRk9FSUUgICAgICAgICAgICAgICAgIFNESU9fTUFTS19SWEZJRk9FSUVfTXNrICAgICAgICAgICAgLyohPCBSeCBGSUZPIEVtcHR5IGludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1RYREFWTElFX1BvcyAgICAgICAgICAgICAgKDIwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX1RYREFWTElFX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX1RYREFWTElFX1BvcykgICAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX1RYREFWTElFICAgICAgICAgICAgICAgICAgU0RJT19NQVNLX1RYREFWTElFX01zayAgICAgICAgICAgICAvKiE8IERhdGEgYXZhaWxhYmxlIGluIFR4IEZJRk8gaW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBTRElPX01BU0tfUlhEQVZMSUVfUG9zICAgICAgICAgICAgICAoMjFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTRElPX01BU0tfUlhEQVZMSUVfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTRElPX01BU0tfUlhEQVZMSUVfUG9zKSAgIC8qITwgMHgwMDIwMDAwMCAqLw0KI2RlZmluZSBTRElPX01BU0tfUlhEQVZMSUUgICAgICAgICAgICAgICAgICBTRElPX01BU0tfUlhEQVZMSUVfTXNrICAgICAgICAgICAgIC8qITwgRGF0YSBhdmFpbGFibGUgaW4gUnggRklGTyBpbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNESU9fTUFTS19TRElPSVRJRV9Qb3MgICAgICAgICAgICAgICgyMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fTUFTS19TRElPSVRJRV9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IFNESU9fTUFTS19TRElPSVRJRV9Qb3MpICAgLyohPCAweDAwNDAwMDAwICovDQojZGVmaW5lIFNESU9fTUFTS19TRElPSVRJRSAgICAgICAgICAgICAgICAgIFNESU9fTUFTS19TRElPSVRJRV9Nc2sgICAgICAgICAgICAgLyohPCBTRElPIE1vZGUgSW50ZXJydXB0IFJlY2VpdmVkIGludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0NFQVRBRU5ESUVfUG9zICAgICAgICAgICAgKDIzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19NQVNLX0NFQVRBRU5ESUVfTXNrICAgICAgICAgICAgKDB4MVUgPDwgU0RJT19NQVNLX0NFQVRBRU5ESUVfUG9zKSAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgU0RJT19NQVNLX0NFQVRBRU5ESUUgICAgICAgICAgICAgICAgU0RJT19NQVNLX0NFQVRBRU5ESUVfTXNrICAgICAgICAgICAvKiE8IENFLUFUQSBjb21tYW5kIGNvbXBsZXRpb24gc2lnbmFsIHJlY2VpdmVkIEludGVycnVwdCBFbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19GSUZPQ05UIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU0RJT19GSUZPQ05UX0ZJRk9DT1VOVF9Qb3MgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU0RJT19GSUZPQ05UX0ZJRk9DT1VOVF9Nc2sgICAgICAgICAgKDB4RkZGRkZGVSA8PCBTRElPX0ZJRk9DTlRfRklGT0NPVU5UX1BvcykgLyohPCAweDAwRkZGRkZGICovDQojZGVmaW5lIFNESU9fRklGT0NOVF9GSUZPQ09VTlQgICAgICAgICAgICAgIFNESU9fRklGT0NOVF9GSUZPQ09VTlRfTXNrICAgICAgICAgLyohPCBSZW1haW5pbmcgbnVtYmVyIG9mIHdvcmRzIHRvIGJlIHdyaXR0ZW4gdG8gb3IgcmVhZCBmcm9tIHRoZSBGSUZPICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX0ZJRk8gcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNESU9fRklGT19GSUZPREFUQV9Qb3MgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNESU9fRklGT19GSUZPREFUQV9Nc2sgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBTRElPX0ZJRk9fRklGT0RBVEFfUG9zKSAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgU0RJT19GSUZPX0ZJRk9EQVRBICAgICAgICAgICAgICAgICAgU0RJT19GSUZPX0ZJRk9EQVRBX01zayAgICAgICAgICAgICAvKiE8IFJlY2VpdmUgYW5kIHRyYW5zbWl0IEZJRk8gZGF0YSAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0IgRGV2aWNlIEZTICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyohPCBFbmRwb2ludC1zcGVjaWZpYyByZWdpc3RlcnMgKi8NCiNkZWZpbmUgIFVTQl9FUDBSICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9CQVNFICAgICAgICAgICAgICAgICAgICAgIC8qITwgRW5kcG9pbnQgMCByZWdpc3RlciBhZGRyZXNzICovDQojZGVmaW5lICBVU0JfRVAxUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoVVNCX0JBU0UgKyAweDAwMDAwMDA0KSAgICAgICAvKiE8IEVuZHBvaW50IDEgcmVnaXN0ZXIgYWRkcmVzcyAqLw0KI2RlZmluZSAgVVNCX0VQMlIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFVTQl9CQVNFICsgMHgwMDAwMDAwOCkgICAgICAgLyohPCBFbmRwb2ludCAyIHJlZ2lzdGVyIGFkZHJlc3MgKi8NCiNkZWZpbmUgIFVTQl9FUDNSICAgICAgICAgICAgICAgICAgICAgICAgICAgIChVU0JfQkFTRSArIDB4MDAwMDAwMEMpICAgICAgIC8qITwgRW5kcG9pbnQgMyByZWdpc3RlciBhZGRyZXNzICovDQojZGVmaW5lICBVU0JfRVA0UiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoVVNCX0JBU0UgKyAweDAwMDAwMDEwKSAgICAgICAvKiE8IEVuZHBvaW50IDQgcmVnaXN0ZXIgYWRkcmVzcyAqLw0KI2RlZmluZSAgVVNCX0VQNVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFVTQl9CQVNFICsgMHgwMDAwMDAxNCkgICAgICAgLyohPCBFbmRwb2ludCA1IHJlZ2lzdGVyIGFkZHJlc3MgKi8NCiNkZWZpbmUgIFVTQl9FUDZSICAgICAgICAgICAgICAgICAgICAgICAgICAgIChVU0JfQkFTRSArIDB4MDAwMDAwMTgpICAgICAgIC8qITwgRW5kcG9pbnQgNiByZWdpc3RlciBhZGRyZXNzICovDQojZGVmaW5lICBVU0JfRVA3UiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoVVNCX0JBU0UgKyAweDAwMDAwMDFDKSAgICAgICAvKiE8IEVuZHBvaW50IDcgcmVnaXN0ZXIgYWRkcmVzcyAqLw0KDQovKiBiaXQgcG9zaXRpb25zICovIA0KI2RlZmluZSBVU0JfRVBfQ1RSX1JYX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVBfQ1RSX1JYX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQX0NUUl9SWF9Qb3MpICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBVU0JfRVBfQ1RSX1JYICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQX0NUUl9SWF9Nc2sgICAgICAgICAgICAgIC8qITwgRW5kUG9pbnQgQ29ycmVjdCBUUmFuc2ZlciBSWCAqLw0KI2RlZmluZSBVU0JfRVBfRFRPR19SWF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVBfRFRPR19SWF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQX0RUT0dfUlhfUG9zKSAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBVU0JfRVBfRFRPR19SWCAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQX0RUT0dfUlhfTXNrICAgICAgICAgICAgIC8qITwgRW5kUG9pbnQgRGF0YSBUT0dHTEUgUlggKi8NCiNkZWZpbmUgVVNCX0VQUlhfU1RBVF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQUlhfU1RBVF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IFVTQl9FUFJYX1NUQVRfUG9zKSAgICAvKiE8IDB4MDAwMDMwMDAgKi8NCiNkZWZpbmUgVVNCX0VQUlhfU1RBVCAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUFJYX1NUQVRfTXNrICAgICAgICAgICAgICAvKiE8IEVuZFBvaW50IFJYIFNUQVR1cyBiaXQgZmllbGQgKi8NCiNkZWZpbmUgVVNCX0VQX1NFVFVQX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQX1NFVFVQX01zayAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUF9TRVRVUF9Qb3MpICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVVNCX0VQX1NFVFVQICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUF9TRVRVUF9Nc2sgICAgICAgICAgICAgICAvKiE8IEVuZFBvaW50IFNFVFVQICovDQojZGVmaW5lIFVTQl9FUF9UX0ZJRUxEX1BvcyAgICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUF9UX0ZJRUxEX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBVU0JfRVBfVF9GSUVMRF9Qb3MpICAgLyohPCAweDAwMDAwNjAwICovDQojZGVmaW5lIFVTQl9FUF9UX0ZJRUxEICAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVBfVF9GSUVMRF9Nc2sgICAgICAgICAgICAgLyohPCBFbmRQb2ludCBUWVBFICovDQojZGVmaW5lIFVTQl9FUF9LSU5EX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUF9LSU5EX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVBfS0lORF9Qb3MpICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFVTQl9FUF9LSU5EICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVBfS0lORF9Nc2sgICAgICAgICAgICAgICAgLyohPCBFbmRQb2ludCBLSU5EICovDQojZGVmaW5lIFVTQl9FUF9DVFJfVFhfUG9zICAgICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUF9DVFJfVFhfTXNrICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVBfQ1RSX1RYX1BvcykgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFVTQl9FUF9DVFJfVFggICAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVBfQ1RSX1RYX01zayAgICAgICAgICAgICAgLyohPCBFbmRQb2ludCBDb3JyZWN0IFRSYW5zZmVyIFRYICovDQojZGVmaW5lIFVTQl9FUF9EVE9HX1RYX1BvcyAgICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUF9EVE9HX1RYX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVBfRFRPR19UWF9Qb3MpICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFVTQl9FUF9EVE9HX1RYICAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVBfRFRPR19UWF9Nc2sgICAgICAgICAgICAgLyohPCBFbmRQb2ludCBEYXRhIFRPR0dMRSBUWCAqLw0KI2RlZmluZSBVU0JfRVBUWF9TVEFUX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVBUWF9TVEFUX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVVNCX0VQVFhfU1RBVF9Qb3MpICAgIC8qITwgMHgwMDAwMDAzMCAqLw0KI2RlZmluZSBVU0JfRVBUWF9TVEFUICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQVFhfU1RBVF9Nc2sgICAgICAgICAgICAgIC8qITwgRW5kUG9pbnQgVFggU1RBVHVzIGJpdCBmaWVsZCAqLw0KI2RlZmluZSBVU0JfRVBBRERSX0ZJRUxEX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVBBRERSX0ZJRUxEX01zayAgICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgVVNCX0VQQUREUl9GSUVMRF9Qb3MpIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBVU0JfRVBBRERSX0ZJRUxEICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQQUREUl9GSUVMRF9Nc2sgICAgICAgICAgIC8qITwgRW5kUG9pbnQgQUREUmVzcyBGSUVMRCAqLw0KDQovKiBFbmRQb2ludCBSRUdpc3RlciBNQVNLIChubyB0b2dnbGUgZmllbGRzKSAqLw0KI2RlZmluZSAgVVNCX0VQUkVHX01BU0sgICAgICAgICAgICAgICAgICAgICAgKFVTQl9FUF9DVFJfUlh8VVNCX0VQX1NFVFVQfFVTQl9FUF9UX0ZJRUxEfFVTQl9FUF9LSU5EfFVTQl9FUF9DVFJfVFh8VVNCX0VQQUREUl9GSUVMRCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRVBfVFlQRVsxOjBdIEVuZFBvaW50IFRZUEUgKi8NCiNkZWZpbmUgVVNCX0VQX1RZUEVfTUFTS19Qb3MgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQX1RZUEVfTUFTS19Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IFVTQl9FUF9UWVBFX01BU0tfUG9zKSAvKiE8IDB4MDAwMDA2MDAgKi8NCiNkZWZpbmUgVVNCX0VQX1RZUEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUF9UWVBFX01BU0tfTXNrICAgICAgICAgICAvKiE8IEVuZFBvaW50IFRZUEUgTWFzayAqLw0KI2RlZmluZSBVU0JfRVBfQlVMSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgRW5kUG9pbnQgQlVMSyAqLw0KI2RlZmluZSBVU0JfRVBfQ09OVFJPTCAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDIwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgRW5kUG9pbnQgQ09OVFJPTCAqLw0KI2RlZmluZSBVU0JfRVBfSVNPQ0hST05PVVMgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDQwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgRW5kUG9pbnQgSVNPQ0hST05PVVMgKi8NCiNkZWZpbmUgVVNCX0VQX0lOVEVSUlVQVCAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDA2MDBVICAgICAgICAgICAgICAgICAgICAvKiE8IEVuZFBvaW50IElOVEVSUlVQVCAqLw0KI2RlZmluZSAgVVNCX0VQX1RfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgKH5VU0JfRVBfVF9GSUVMRCAmIFVTQl9FUFJFR19NQVNLKQ0KDQojZGVmaW5lICBVU0JfRVBLSU5EX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoflVTQl9FUF9LSU5EICYgVVNCX0VQUkVHX01BU0spICAvKiE8IEVQX0tJTkQgRW5kUG9pbnQgS0lORCAqLw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU1RBVF9UWFsxOjBdIFNUQVR1cyBmb3IgVFggdHJhbnNmZXIgKi8NCiNkZWZpbmUgVVNCX0VQX1RYX0RJUyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAvKiE8IEVuZFBvaW50IFRYIERJU2FibGVkICovDQojZGVmaW5lIFVTQl9FUF9UWF9TVEFMTCAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDEwVSAgICAgICAgICAgICAgICAgICAgLyohPCBFbmRQb2ludCBUWCBTVEFMTGVkICovDQojZGVmaW5lIFVTQl9FUF9UWF9OQUsgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDIwVSAgICAgICAgICAgICAgICAgICAgLyohPCBFbmRQb2ludCBUWCBOQUtlZCAqLw0KI2RlZmluZSBVU0JfRVBfVFhfVkFMSUQgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAzMFUgICAgICAgICAgICAgICAgICAgIC8qITwgRW5kUG9pbnQgVFggVkFMSUQgKi8NCiNkZWZpbmUgVVNCX0VQVFhfRFRPRzEgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMTBVICAgICAgICAgICAgICAgICAgICAvKiE8IEVuZFBvaW50IFRYIERhdGEgVE9HZ2xlIGJpdDEgKi8NCiNkZWZpbmUgVVNCX0VQVFhfRFRPRzIgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMjBVICAgICAgICAgICAgICAgICAgICAvKiE8IEVuZFBvaW50IFRYIERhdGEgVE9HZ2xlIGJpdDIgKi8NCiNkZWZpbmUgIFVTQl9FUFRYX0RUT0dNQVNLICAoVVNCX0VQVFhfU1RBVHxVU0JfRVBSRUdfTUFTSykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNUQVRfUlhbMTowXSBTVEFUdXMgZm9yIFJYIHRyYW5zZmVyICovDQojZGVmaW5lIFVTQl9FUF9SWF9ESVMgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBFbmRQb2ludCBSWCBESVNhYmxlZCAqLw0KI2RlZmluZSBVU0JfRVBfUlhfU1RBTEwgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMTAwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgRW5kUG9pbnQgUlggU1RBTExlZCAqLw0KI2RlZmluZSBVU0JfRVBfUlhfTkFLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMjAwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgRW5kUG9pbnQgUlggTkFLZWQgKi8NCiNkZWZpbmUgVVNCX0VQX1JYX1ZBTElEICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDMwMDBVICAgICAgICAgICAgICAgICAgICAvKiE8IEVuZFBvaW50IFJYIFZBTElEICovDQojZGVmaW5lIFVTQl9FUFJYX0RUT0cxICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAxMDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBFbmRQb2ludCBSWCBEYXRhIFRPR2dsZSBiaXQxICovDQojZGVmaW5lIFVTQl9FUFJYX0RUT0cyICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAyMDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBFbmRQb2ludCBSWCBEYXRhIFRPR2dsZSBiaXQxICovDQojZGVmaW5lICBVU0JfRVBSWF9EVE9HTUFTSyAgKFVTQl9FUFJYX1NUQVR8VVNCX0VQUkVHX01BU0spDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0VQMFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9FUDBSX0VBX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDBSX0VBX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBVU0JfRVAwUl9FQV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIFVTQl9FUDBSX0VBICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVAwUl9FQV9Nc2sgICAgICAgICAgICAgICAgLyohPCBFbmRwb2ludCBBZGRyZXNzICovDQoNCiNkZWZpbmUgVVNCX0VQMFJfU1RBVF9UWF9Qb3MgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQMFJfU1RBVF9UWF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IFVTQl9FUDBSX1NUQVRfVFhfUG9zKSAvKiE8IDB4MDAwMDAwMzAgKi8NCiNkZWZpbmUgVVNCX0VQMFJfU1RBVF9UWCAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDBSX1NUQVRfVFhfTXNrICAgICAgICAgICAvKiE8IFNUQVRfVFhbMTowXSBiaXRzIChTdGF0dXMgYml0cywgZm9yIHRyYW5zbWlzc2lvbiB0cmFuc2ZlcnMpICovDQojZGVmaW5lIFVTQl9FUDBSX1NUQVRfVFhfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVAwUl9TVEFUX1RYX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFVTQl9FUDBSX1NUQVRfVFhfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBVU0JfRVAwUl9TVEFUX1RYX1BvcykgLyohPCAweDAwMDAwMDIwICovDQoNCiNkZWZpbmUgVVNCX0VQMFJfRFRPR19UWF9Qb3MgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQMFJfRFRPR19UWF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDBSX0RUT0dfVFhfUG9zKSAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVVNCX0VQMFJfRFRPR19UWCAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDBSX0RUT0dfVFhfTXNrICAgICAgICAgICAvKiE8IERhdGEgVG9nZ2xlLCBmb3IgdHJhbnNtaXNzaW9uIHRyYW5zZmVycyAqLw0KI2RlZmluZSBVU0JfRVAwUl9DVFJfVFhfUG9zICAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVAwUl9DVFJfVFhfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQMFJfQ1RSX1RYX1BvcykgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBVU0JfRVAwUl9DVFJfVFggICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQMFJfQ1RSX1RYX01zayAgICAgICAgICAgIC8qITwgQ29ycmVjdCBUcmFuc2ZlciBmb3IgdHJhbnNtaXNzaW9uICovDQojZGVmaW5lIFVTQl9FUDBSX0VQX0tJTkRfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDBSX0VQX0tJTkRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVAwUl9FUF9LSU5EX1BvcykgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFVTQl9FUDBSX0VQX0tJTkQgICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVAwUl9FUF9LSU5EX01zayAgICAgICAgICAgLyohPCBFbmRwb2ludCBLaW5kICovDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQMFJfRVBfVFlQRV9Qb3MgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQMFJfRVBfVFlQRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IFVTQl9FUDBSX0VQX1RZUEVfUG9zKSAvKiE8IDB4MDAwMDA2MDAgKi8NCiNkZWZpbmUgVVNCX0VQMFJfRVBfVFlQRSAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDBSX0VQX1RZUEVfTXNrICAgICAgICAgICAvKiE8IEVQX1RZUEVbMTowXSBiaXRzIChFbmRwb2ludCB0eXBlKSAqLw0KI2RlZmluZSBVU0JfRVAwUl9FUF9UWVBFXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQMFJfRVBfVFlQRV9Qb3MpIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBVU0JfRVAwUl9FUF9UWVBFXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVVNCX0VQMFJfRVBfVFlQRV9Qb3MpIC8qITwgMHgwMDAwMDQwMCAqLw0KDQojZGVmaW5lIFVTQl9FUDBSX1NFVFVQX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDBSX1NFVFVQX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVAwUl9TRVRVUF9Qb3MpICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFVTQl9FUDBSX1NFVFVQICAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVAwUl9TRVRVUF9Nc2sgICAgICAgICAgICAgLyohPCBTZXR1cCB0cmFuc2FjdGlvbiBjb21wbGV0ZWQgKi8NCg0KI2RlZmluZSBVU0JfRVAwUl9TVEFUX1JYX1BvcyAgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVAwUl9TVEFUX1JYX01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVVNCX0VQMFJfU1RBVF9SWF9Qb3MpIC8qITwgMHgwMDAwMzAwMCAqLw0KI2RlZmluZSBVU0JfRVAwUl9TVEFUX1JYICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQMFJfU1RBVF9SWF9Nc2sgICAgICAgICAgIC8qITwgU1RBVF9SWFsxOjBdIGJpdHMgKFN0YXR1cyBiaXRzLCBmb3IgcmVjZXB0aW9uIHRyYW5zZmVycykgKi8NCiNkZWZpbmUgVVNCX0VQMFJfU1RBVF9SWF8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDBSX1NUQVRfUlhfUG9zKSAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVVNCX0VQMFJfU1RBVF9SWF8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFVTQl9FUDBSX1NUQVRfUlhfUG9zKSAvKiE8IDB4MDAwMDIwMDAgKi8NCg0KI2RlZmluZSBVU0JfRVAwUl9EVE9HX1JYX1BvcyAgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVAwUl9EVE9HX1JYX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQMFJfRFRPR19SWF9Qb3MpIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBVU0JfRVAwUl9EVE9HX1JYICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQMFJfRFRPR19SWF9Nc2sgICAgICAgICAgIC8qITwgRGF0YSBUb2dnbGUsIGZvciByZWNlcHRpb24gdHJhbnNmZXJzICovDQojZGVmaW5lIFVTQl9FUDBSX0NUUl9SWF9Qb3MgICAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDBSX0NUUl9SWF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVAwUl9DVFJfUlhfUG9zKSAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFVTQl9FUDBSX0NUUl9SWCAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVAwUl9DVFJfUlhfTXNrICAgICAgICAgICAgLyohPCBDb3JyZWN0IFRyYW5zZmVyIGZvciByZWNlcHRpb24gKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfRVAxUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0VQMVJfRUFfUG9zICAgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQMVJfRUFfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgweEZVIDw8IFVTQl9FUDFSX0VBX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgVVNCX0VQMVJfRUEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDFSX0VBX01zayAgICAgICAgICAgICAgICAvKiE8IEVuZHBvaW50IEFkZHJlc3MgKi8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDFSX1NUQVRfVFhfUG9zICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDFSX1NUQVRfVFhfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBVU0JfRVAxUl9TVEFUX1RYX1BvcykgLyohPCAweDAwMDAwMDMwICovDQojZGVmaW5lIFVTQl9FUDFSX1NUQVRfVFggICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVAxUl9TVEFUX1RYX01zayAgICAgICAgICAgLyohPCBTVEFUX1RYWzE6MF0gYml0cyAoU3RhdHVzIGJpdHMsIGZvciB0cmFuc21pc3Npb24gdHJhbnNmZXJzKSAqLw0KI2RlZmluZSBVU0JfRVAxUl9TVEFUX1RYXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQMVJfU1RBVF9UWF9Qb3MpIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBVU0JfRVAxUl9TVEFUX1RYXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVVNCX0VQMVJfU1RBVF9UWF9Qb3MpIC8qITwgMHgwMDAwMDAyMCAqLw0KDQojZGVmaW5lIFVTQl9FUDFSX0RUT0dfVFhfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDFSX0RUT0dfVFhfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVAxUl9EVE9HX1RYX1BvcykgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFVTQl9FUDFSX0RUT0dfVFggICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVAxUl9EVE9HX1RYX01zayAgICAgICAgICAgLyohPCBEYXRhIFRvZ2dsZSwgZm9yIHRyYW5zbWlzc2lvbiB0cmFuc2ZlcnMgKi8NCiNkZWZpbmUgVVNCX0VQMVJfQ1RSX1RYX1BvcyAgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQMVJfQ1RSX1RYX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDFSX0NUUl9UWF9Qb3MpICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVVNCX0VQMVJfQ1RSX1RYICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDFSX0NUUl9UWF9Nc2sgICAgICAgICAgICAvKiE8IENvcnJlY3QgVHJhbnNmZXIgZm9yIHRyYW5zbWlzc2lvbiAqLw0KI2RlZmluZSBVU0JfRVAxUl9FUF9LSU5EX1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVAxUl9FUF9LSU5EX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQMVJfRVBfS0lORF9Qb3MpIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBVU0JfRVAxUl9FUF9LSU5EICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQMVJfRVBfS0lORF9Nc2sgICAgICAgICAgIC8qITwgRW5kcG9pbnQgS2luZCAqLw0KDQojZGVmaW5lIFVTQl9FUDFSX0VQX1RZUEVfUG9zICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDFSX0VQX1RZUEVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBVU0JfRVAxUl9FUF9UWVBFX1BvcykgLyohPCAweDAwMDAwNjAwICovDQojZGVmaW5lIFVTQl9FUDFSX0VQX1RZUEUgICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVAxUl9FUF9UWVBFX01zayAgICAgICAgICAgLyohPCBFUF9UWVBFWzE6MF0gYml0cyAoRW5kcG9pbnQgdHlwZSkgKi8NCiNkZWZpbmUgVVNCX0VQMVJfRVBfVFlQRV8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDFSX0VQX1RZUEVfUG9zKSAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVVNCX0VQMVJfRVBfVFlQRV8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFVTQl9FUDFSX0VQX1RZUEVfUG9zKSAvKiE8IDB4MDAwMDA0MDAgKi8NCg0KI2RlZmluZSBVU0JfRVAxUl9TRVRVUF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVAxUl9TRVRVUF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQMVJfU0VUVVBfUG9zKSAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBVU0JfRVAxUl9TRVRVUCAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQMVJfU0VUVVBfTXNrICAgICAgICAgICAgIC8qITwgU2V0dXAgdHJhbnNhY3Rpb24gY29tcGxldGVkICovDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQMVJfU1RBVF9SWF9Qb3MgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQMVJfU1RBVF9SWF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IFVTQl9FUDFSX1NUQVRfUlhfUG9zKSAvKiE8IDB4MDAwMDMwMDAgKi8NCiNkZWZpbmUgVVNCX0VQMVJfU1RBVF9SWCAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDFSX1NUQVRfUlhfTXNrICAgICAgICAgICAvKiE8IFNUQVRfUlhbMTowXSBiaXRzIChTdGF0dXMgYml0cywgZm9yIHJlY2VwdGlvbiB0cmFuc2ZlcnMpICovDQojZGVmaW5lIFVTQl9FUDFSX1NUQVRfUlhfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVAxUl9TVEFUX1JYX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFVTQl9FUDFSX1NUQVRfUlhfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBVU0JfRVAxUl9TVEFUX1JYX1BvcykgLyohPCAweDAwMDAyMDAwICovDQoNCiNkZWZpbmUgVVNCX0VQMVJfRFRPR19SWF9Qb3MgICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQMVJfRFRPR19SWF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDFSX0RUT0dfUlhfUG9zKSAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgVVNCX0VQMVJfRFRPR19SWCAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDFSX0RUT0dfUlhfTXNrICAgICAgICAgICAvKiE8IERhdGEgVG9nZ2xlLCBmb3IgcmVjZXB0aW9uIHRyYW5zZmVycyAqLw0KI2RlZmluZSBVU0JfRVAxUl9DVFJfUlhfUG9zICAgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVAxUl9DVFJfUlhfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQMVJfQ1RSX1JYX1BvcykgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBVU0JfRVAxUl9DVFJfUlggICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQMVJfQ1RSX1JYX01zayAgICAgICAgICAgIC8qITwgQ29ycmVjdCBUcmFuc2ZlciBmb3IgcmVjZXB0aW9uICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0VQMlIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9FUDJSX0VBX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDJSX0VBX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBVU0JfRVAyUl9FQV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIFVTQl9FUDJSX0VBICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVAyUl9FQV9Nc2sgICAgICAgICAgICAgICAgLyohPCBFbmRwb2ludCBBZGRyZXNzICovDQoNCiNkZWZpbmUgVVNCX0VQMlJfU1RBVF9UWF9Qb3MgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQMlJfU1RBVF9UWF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IFVTQl9FUDJSX1NUQVRfVFhfUG9zKSAvKiE8IDB4MDAwMDAwMzAgKi8NCiNkZWZpbmUgVVNCX0VQMlJfU1RBVF9UWCAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDJSX1NUQVRfVFhfTXNrICAgICAgICAgICAvKiE8IFNUQVRfVFhbMTowXSBiaXRzIChTdGF0dXMgYml0cywgZm9yIHRyYW5zbWlzc2lvbiB0cmFuc2ZlcnMpICovDQojZGVmaW5lIFVTQl9FUDJSX1NUQVRfVFhfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVAyUl9TVEFUX1RYX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFVTQl9FUDJSX1NUQVRfVFhfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBVU0JfRVAyUl9TVEFUX1RYX1BvcykgLyohPCAweDAwMDAwMDIwICovDQoNCiNkZWZpbmUgVVNCX0VQMlJfRFRPR19UWF9Qb3MgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQMlJfRFRPR19UWF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDJSX0RUT0dfVFhfUG9zKSAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVVNCX0VQMlJfRFRPR19UWCAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDJSX0RUT0dfVFhfTXNrICAgICAgICAgICAvKiE8IERhdGEgVG9nZ2xlLCBmb3IgdHJhbnNtaXNzaW9uIHRyYW5zZmVycyAqLw0KI2RlZmluZSBVU0JfRVAyUl9DVFJfVFhfUG9zICAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVAyUl9DVFJfVFhfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQMlJfQ1RSX1RYX1BvcykgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBVU0JfRVAyUl9DVFJfVFggICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQMlJfQ1RSX1RYX01zayAgICAgICAgICAgIC8qITwgQ29ycmVjdCBUcmFuc2ZlciBmb3IgdHJhbnNtaXNzaW9uICovDQojZGVmaW5lIFVTQl9FUDJSX0VQX0tJTkRfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDJSX0VQX0tJTkRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVAyUl9FUF9LSU5EX1BvcykgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFVTQl9FUDJSX0VQX0tJTkQgICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVAyUl9FUF9LSU5EX01zayAgICAgICAgICAgLyohPCBFbmRwb2ludCBLaW5kICovDQoNCiNkZWZpbmUgVVNCX0VQMlJfRVBfVFlQRV9Qb3MgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQMlJfRVBfVFlQRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IFVTQl9FUDJSX0VQX1RZUEVfUG9zKSAvKiE8IDB4MDAwMDA2MDAgKi8NCiNkZWZpbmUgVVNCX0VQMlJfRVBfVFlQRSAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDJSX0VQX1RZUEVfTXNrICAgICAgICAgICAvKiE8IEVQX1RZUEVbMTowXSBiaXRzIChFbmRwb2ludCB0eXBlKSAqLw0KI2RlZmluZSBVU0JfRVAyUl9FUF9UWVBFXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQMlJfRVBfVFlQRV9Qb3MpIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBVU0JfRVAyUl9FUF9UWVBFXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVVNCX0VQMlJfRVBfVFlQRV9Qb3MpIC8qITwgMHgwMDAwMDQwMCAqLw0KDQojZGVmaW5lIFVTQl9FUDJSX1NFVFVQX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDJSX1NFVFVQX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVAyUl9TRVRVUF9Qb3MpICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFVTQl9FUDJSX1NFVFVQICAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVAyUl9TRVRVUF9Nc2sgICAgICAgICAgICAgLyohPCBTZXR1cCB0cmFuc2FjdGlvbiBjb21wbGV0ZWQgKi8NCg0KI2RlZmluZSBVU0JfRVAyUl9TVEFUX1JYX1BvcyAgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVAyUl9TVEFUX1JYX01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVVNCX0VQMlJfU1RBVF9SWF9Qb3MpIC8qITwgMHgwMDAwMzAwMCAqLw0KI2RlZmluZSBVU0JfRVAyUl9TVEFUX1JYICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQMlJfU1RBVF9SWF9Nc2sgICAgICAgICAgIC8qITwgU1RBVF9SWFsxOjBdIGJpdHMgKFN0YXR1cyBiaXRzLCBmb3IgcmVjZXB0aW9uIHRyYW5zZmVycykgKi8NCiNkZWZpbmUgVVNCX0VQMlJfU1RBVF9SWF8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDJSX1NUQVRfUlhfUG9zKSAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVVNCX0VQMlJfU1RBVF9SWF8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFVTQl9FUDJSX1NUQVRfUlhfUG9zKSAvKiE8IDB4MDAwMDIwMDAgKi8NCg0KI2RlZmluZSBVU0JfRVAyUl9EVE9HX1JYX1BvcyAgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVAyUl9EVE9HX1JYX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQMlJfRFRPR19SWF9Qb3MpIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBVU0JfRVAyUl9EVE9HX1JYICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQMlJfRFRPR19SWF9Nc2sgICAgICAgICAgIC8qITwgRGF0YSBUb2dnbGUsIGZvciByZWNlcHRpb24gdHJhbnNmZXJzICovDQojZGVmaW5lIFVTQl9FUDJSX0NUUl9SWF9Qb3MgICAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDJSX0NUUl9SWF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVAyUl9DVFJfUlhfUG9zKSAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFVTQl9FUDJSX0NUUl9SWCAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVAyUl9DVFJfUlhfTXNrICAgICAgICAgICAgLyohPCBDb3JyZWN0IFRyYW5zZmVyIGZvciByZWNlcHRpb24gKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfRVAzUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0VQM1JfRUFfUG9zICAgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQM1JfRUFfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgweEZVIDw8IFVTQl9FUDNSX0VBX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgVVNCX0VQM1JfRUEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDNSX0VBX01zayAgICAgICAgICAgICAgICAvKiE8IEVuZHBvaW50IEFkZHJlc3MgKi8NCg0KI2RlZmluZSBVU0JfRVAzUl9TVEFUX1RYX1BvcyAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVAzUl9TVEFUX1RYX01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVVNCX0VQM1JfU1RBVF9UWF9Qb3MpIC8qITwgMHgwMDAwMDAzMCAqLw0KI2RlZmluZSBVU0JfRVAzUl9TVEFUX1RYICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQM1JfU1RBVF9UWF9Nc2sgICAgICAgICAgIC8qITwgU1RBVF9UWFsxOjBdIGJpdHMgKFN0YXR1cyBiaXRzLCBmb3IgdHJhbnNtaXNzaW9uIHRyYW5zZmVycykgKi8NCiNkZWZpbmUgVVNCX0VQM1JfU1RBVF9UWF8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDNSX1NUQVRfVFhfUG9zKSAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVVNCX0VQM1JfU1RBVF9UWF8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFVTQl9FUDNSX1NUQVRfVFhfUG9zKSAvKiE8IDB4MDAwMDAwMjAgKi8NCg0KI2RlZmluZSBVU0JfRVAzUl9EVE9HX1RYX1BvcyAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVAzUl9EVE9HX1RYX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQM1JfRFRPR19UWF9Qb3MpIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBVU0JfRVAzUl9EVE9HX1RYICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQM1JfRFRPR19UWF9Nc2sgICAgICAgICAgIC8qITwgRGF0YSBUb2dnbGUsIGZvciB0cmFuc21pc3Npb24gdHJhbnNmZXJzICovDQojZGVmaW5lIFVTQl9FUDNSX0NUUl9UWF9Qb3MgICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDNSX0NUUl9UWF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVAzUl9DVFJfVFhfUG9zKSAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFVTQl9FUDNSX0NUUl9UWCAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVAzUl9DVFJfVFhfTXNrICAgICAgICAgICAgLyohPCBDb3JyZWN0IFRyYW5zZmVyIGZvciB0cmFuc21pc3Npb24gKi8NCiNkZWZpbmUgVVNCX0VQM1JfRVBfS0lORF9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQM1JfRVBfS0lORF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDNSX0VQX0tJTkRfUG9zKSAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVVNCX0VQM1JfRVBfS0lORCAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDNSX0VQX0tJTkRfTXNrICAgICAgICAgICAvKiE8IEVuZHBvaW50IEtpbmQgKi8NCg0KI2RlZmluZSBVU0JfRVAzUl9FUF9UWVBFX1BvcyAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVAzUl9FUF9UWVBFX01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVVNCX0VQM1JfRVBfVFlQRV9Qb3MpIC8qITwgMHgwMDAwMDYwMCAqLw0KI2RlZmluZSBVU0JfRVAzUl9FUF9UWVBFICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQM1JfRVBfVFlQRV9Nc2sgICAgICAgICAgIC8qITwgRVBfVFlQRVsxOjBdIGJpdHMgKEVuZHBvaW50IHR5cGUpICovDQojZGVmaW5lIFVTQl9FUDNSX0VQX1RZUEVfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVAzUl9FUF9UWVBFX1BvcykgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFVTQl9FUDNSX0VQX1RZUEVfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBVU0JfRVAzUl9FUF9UWVBFX1BvcykgLyohPCAweDAwMDAwNDAwICovDQoNCiNkZWZpbmUgVVNCX0VQM1JfU0VUVVBfUG9zICAgICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQM1JfU0VUVVBfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDNSX1NFVFVQX1BvcykgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVVNCX0VQM1JfU0VUVVAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDNSX1NFVFVQX01zayAgICAgICAgICAgICAvKiE8IFNldHVwIHRyYW5zYWN0aW9uIGNvbXBsZXRlZCAqLw0KDQojZGVmaW5lIFVTQl9FUDNSX1NUQVRfUlhfUG9zICAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDNSX1NUQVRfUlhfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBVU0JfRVAzUl9TVEFUX1JYX1BvcykgLyohPCAweDAwMDAzMDAwICovDQojZGVmaW5lIFVTQl9FUDNSX1NUQVRfUlggICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVAzUl9TVEFUX1JYX01zayAgICAgICAgICAgLyohPCBTVEFUX1JYWzE6MF0gYml0cyAoU3RhdHVzIGJpdHMsIGZvciByZWNlcHRpb24gdHJhbnNmZXJzKSAqLw0KI2RlZmluZSBVU0JfRVAzUl9TVEFUX1JYXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQM1JfU1RBVF9SWF9Qb3MpIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBVU0JfRVAzUl9TVEFUX1JYXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVVNCX0VQM1JfU1RBVF9SWF9Qb3MpIC8qITwgMHgwMDAwMjAwMCAqLw0KDQojZGVmaW5lIFVTQl9FUDNSX0RUT0dfUlhfUG9zICAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDNSX0RUT0dfUlhfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVAzUl9EVE9HX1JYX1BvcykgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFVTQl9FUDNSX0RUT0dfUlggICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVAzUl9EVE9HX1JYX01zayAgICAgICAgICAgLyohPCBEYXRhIFRvZ2dsZSwgZm9yIHJlY2VwdGlvbiB0cmFuc2ZlcnMgKi8NCiNkZWZpbmUgVVNCX0VQM1JfQ1RSX1JYX1BvcyAgICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQM1JfQ1RSX1JYX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDNSX0NUUl9SWF9Qb3MpICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgVVNCX0VQM1JfQ1RSX1JYICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDNSX0NUUl9SWF9Nc2sgICAgICAgICAgICAvKiE8IENvcnJlY3QgVHJhbnNmZXIgZm9yIHJlY2VwdGlvbiAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9FUDRSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfRVA0Ul9FQV9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVA0Ul9FQV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgVVNCX0VQNFJfRUFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBVU0JfRVA0Ul9FQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQNFJfRUFfTXNrICAgICAgICAgICAgICAgIC8qITwgRW5kcG9pbnQgQWRkcmVzcyAqLw0KDQojZGVmaW5lIFVTQl9FUDRSX1NUQVRfVFhfUG9zICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDRSX1NUQVRfVFhfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBVU0JfRVA0Ul9TVEFUX1RYX1BvcykgLyohPCAweDAwMDAwMDMwICovDQojZGVmaW5lIFVTQl9FUDRSX1NUQVRfVFggICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVA0Ul9TVEFUX1RYX01zayAgICAgICAgICAgLyohPCBTVEFUX1RYWzE6MF0gYml0cyAoU3RhdHVzIGJpdHMsIGZvciB0cmFuc21pc3Npb24gdHJhbnNmZXJzKSAqLw0KI2RlZmluZSBVU0JfRVA0Ul9TVEFUX1RYXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQNFJfU1RBVF9UWF9Qb3MpIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBVU0JfRVA0Ul9TVEFUX1RYXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVVNCX0VQNFJfU1RBVF9UWF9Qb3MpIC8qITwgMHgwMDAwMDAyMCAqLw0KDQojZGVmaW5lIFVTQl9FUDRSX0RUT0dfVFhfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDRSX0RUT0dfVFhfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVA0Ul9EVE9HX1RYX1BvcykgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFVTQl9FUDRSX0RUT0dfVFggICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVA0Ul9EVE9HX1RYX01zayAgICAgICAgICAgLyohPCBEYXRhIFRvZ2dsZSwgZm9yIHRyYW5zbWlzc2lvbiB0cmFuc2ZlcnMgKi8NCiNkZWZpbmUgVVNCX0VQNFJfQ1RSX1RYX1BvcyAgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQNFJfQ1RSX1RYX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDRSX0NUUl9UWF9Qb3MpICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVVNCX0VQNFJfQ1RSX1RYICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDRSX0NUUl9UWF9Nc2sgICAgICAgICAgICAvKiE8IENvcnJlY3QgVHJhbnNmZXIgZm9yIHRyYW5zbWlzc2lvbiAqLw0KI2RlZmluZSBVU0JfRVA0Ul9FUF9LSU5EX1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVA0Ul9FUF9LSU5EX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQNFJfRVBfS0lORF9Qb3MpIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBVU0JfRVA0Ul9FUF9LSU5EICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQNFJfRVBfS0lORF9Nc2sgICAgICAgICAgIC8qITwgRW5kcG9pbnQgS2luZCAqLw0KDQojZGVmaW5lIFVTQl9FUDRSX0VQX1RZUEVfUG9zICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDRSX0VQX1RZUEVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBVU0JfRVA0Ul9FUF9UWVBFX1BvcykgLyohPCAweDAwMDAwNjAwICovDQojZGVmaW5lIFVTQl9FUDRSX0VQX1RZUEUgICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVA0Ul9FUF9UWVBFX01zayAgICAgICAgICAgLyohPCBFUF9UWVBFWzE6MF0gYml0cyAoRW5kcG9pbnQgdHlwZSkgKi8NCiNkZWZpbmUgVVNCX0VQNFJfRVBfVFlQRV8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDRSX0VQX1RZUEVfUG9zKSAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVVNCX0VQNFJfRVBfVFlQRV8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFVTQl9FUDRSX0VQX1RZUEVfUG9zKSAvKiE8IDB4MDAwMDA0MDAgKi8NCg0KI2RlZmluZSBVU0JfRVA0Ul9TRVRVUF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVA0Ul9TRVRVUF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQNFJfU0VUVVBfUG9zKSAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBVU0JfRVA0Ul9TRVRVUCAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQNFJfU0VUVVBfTXNrICAgICAgICAgICAgIC8qITwgU2V0dXAgdHJhbnNhY3Rpb24gY29tcGxldGVkICovDQoNCiNkZWZpbmUgVVNCX0VQNFJfU1RBVF9SWF9Qb3MgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQNFJfU1RBVF9SWF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IFVTQl9FUDRSX1NUQVRfUlhfUG9zKSAvKiE8IDB4MDAwMDMwMDAgKi8NCiNkZWZpbmUgVVNCX0VQNFJfU1RBVF9SWCAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDRSX1NUQVRfUlhfTXNrICAgICAgICAgICAvKiE8IFNUQVRfUlhbMTowXSBiaXRzIChTdGF0dXMgYml0cywgZm9yIHJlY2VwdGlvbiB0cmFuc2ZlcnMpICovDQojZGVmaW5lIFVTQl9FUDRSX1NUQVRfUlhfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVA0Ul9TVEFUX1JYX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFVTQl9FUDRSX1NUQVRfUlhfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBVU0JfRVA0Ul9TVEFUX1JYX1BvcykgLyohPCAweDAwMDAyMDAwICovDQoNCiNkZWZpbmUgVVNCX0VQNFJfRFRPR19SWF9Qb3MgICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQNFJfRFRPR19SWF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDRSX0RUT0dfUlhfUG9zKSAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgVVNCX0VQNFJfRFRPR19SWCAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDRSX0RUT0dfUlhfTXNrICAgICAgICAgICAvKiE8IERhdGEgVG9nZ2xlLCBmb3IgcmVjZXB0aW9uIHRyYW5zZmVycyAqLw0KI2RlZmluZSBVU0JfRVA0Ul9DVFJfUlhfUG9zICAgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVA0Ul9DVFJfUlhfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQNFJfQ1RSX1JYX1BvcykgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBVU0JfRVA0Ul9DVFJfUlggICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQNFJfQ1RSX1JYX01zayAgICAgICAgICAgIC8qITwgQ29ycmVjdCBUcmFuc2ZlciBmb3IgcmVjZXB0aW9uICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0VQNVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9FUDVSX0VBX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDVSX0VBX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMHhGVSA8PCBVU0JfRVA1Ul9FQV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDBGICovDQojZGVmaW5lIFVTQl9FUDVSX0VBICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVA1Ul9FQV9Nc2sgICAgICAgICAgICAgICAgLyohPCBFbmRwb2ludCBBZGRyZXNzICovDQoNCiNkZWZpbmUgVVNCX0VQNVJfU1RBVF9UWF9Qb3MgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQNVJfU1RBVF9UWF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IFVTQl9FUDVSX1NUQVRfVFhfUG9zKSAvKiE8IDB4MDAwMDAwMzAgKi8NCiNkZWZpbmUgVVNCX0VQNVJfU1RBVF9UWCAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDVSX1NUQVRfVFhfTXNrICAgICAgICAgICAvKiE8IFNUQVRfVFhbMTowXSBiaXRzIChTdGF0dXMgYml0cywgZm9yIHRyYW5zbWlzc2lvbiB0cmFuc2ZlcnMpICovDQojZGVmaW5lIFVTQl9FUDVSX1NUQVRfVFhfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVA1Ul9TVEFUX1RYX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFVTQl9FUDVSX1NUQVRfVFhfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBVU0JfRVA1Ul9TVEFUX1RYX1BvcykgLyohPCAweDAwMDAwMDIwICovDQoNCiNkZWZpbmUgVVNCX0VQNVJfRFRPR19UWF9Qb3MgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQNVJfRFRPR19UWF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDVSX0RUT0dfVFhfUG9zKSAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVVNCX0VQNVJfRFRPR19UWCAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDVSX0RUT0dfVFhfTXNrICAgICAgICAgICAvKiE8IERhdGEgVG9nZ2xlLCBmb3IgdHJhbnNtaXNzaW9uIHRyYW5zZmVycyAqLw0KI2RlZmluZSBVU0JfRVA1Ul9DVFJfVFhfUG9zICAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVA1Ul9DVFJfVFhfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQNVJfQ1RSX1RYX1BvcykgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBVU0JfRVA1Ul9DVFJfVFggICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQNVJfQ1RSX1RYX01zayAgICAgICAgICAgIC8qITwgQ29ycmVjdCBUcmFuc2ZlciBmb3IgdHJhbnNtaXNzaW9uICovDQojZGVmaW5lIFVTQl9FUDVSX0VQX0tJTkRfUG9zICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDVSX0VQX0tJTkRfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVA1Ul9FUF9LSU5EX1BvcykgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFVTQl9FUDVSX0VQX0tJTkQgICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVA1Ul9FUF9LSU5EX01zayAgICAgICAgICAgLyohPCBFbmRwb2ludCBLaW5kICovDQoNCiNkZWZpbmUgVVNCX0VQNVJfRVBfVFlQRV9Qb3MgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQNVJfRVBfVFlQRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IFVTQl9FUDVSX0VQX1RZUEVfUG9zKSAvKiE8IDB4MDAwMDA2MDAgKi8NCiNkZWZpbmUgVVNCX0VQNVJfRVBfVFlQRSAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDVSX0VQX1RZUEVfTXNrICAgICAgICAgICAvKiE8IEVQX1RZUEVbMTowXSBiaXRzIChFbmRwb2ludCB0eXBlKSAqLw0KI2RlZmluZSBVU0JfRVA1Ul9FUF9UWVBFXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQNVJfRVBfVFlQRV9Qb3MpIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBVU0JfRVA1Ul9FUF9UWVBFXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVVNCX0VQNVJfRVBfVFlQRV9Qb3MpIC8qITwgMHgwMDAwMDQwMCAqLw0KDQojZGVmaW5lIFVTQl9FUDVSX1NFVFVQX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDVSX1NFVFVQX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVA1Ul9TRVRVUF9Qb3MpICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFVTQl9FUDVSX1NFVFVQICAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVA1Ul9TRVRVUF9Nc2sgICAgICAgICAgICAgLyohPCBTZXR1cCB0cmFuc2FjdGlvbiBjb21wbGV0ZWQgKi8NCg0KI2RlZmluZSBVU0JfRVA1Ul9TVEFUX1JYX1BvcyAgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVA1Ul9TVEFUX1JYX01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVVNCX0VQNVJfU1RBVF9SWF9Qb3MpIC8qITwgMHgwMDAwMzAwMCAqLw0KI2RlZmluZSBVU0JfRVA1Ul9TVEFUX1JYICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQNVJfU1RBVF9SWF9Nc2sgICAgICAgICAgIC8qITwgU1RBVF9SWFsxOjBdIGJpdHMgKFN0YXR1cyBiaXRzLCBmb3IgcmVjZXB0aW9uIHRyYW5zZmVycykgKi8NCiNkZWZpbmUgVVNCX0VQNVJfU1RBVF9SWF8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDVSX1NUQVRfUlhfUG9zKSAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVVNCX0VQNVJfU1RBVF9SWF8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFVTQl9FUDVSX1NUQVRfUlhfUG9zKSAvKiE8IDB4MDAwMDIwMDAgKi8NCg0KI2RlZmluZSBVU0JfRVA1Ul9EVE9HX1JYX1BvcyAgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVA1Ul9EVE9HX1JYX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQNVJfRFRPR19SWF9Qb3MpIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBVU0JfRVA1Ul9EVE9HX1JYICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQNVJfRFRPR19SWF9Nc2sgICAgICAgICAgIC8qITwgRGF0YSBUb2dnbGUsIGZvciByZWNlcHRpb24gdHJhbnNmZXJzICovDQojZGVmaW5lIFVTQl9FUDVSX0NUUl9SWF9Qb3MgICAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDVSX0NUUl9SWF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVA1Ul9DVFJfUlhfUG9zKSAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFVTQl9FUDVSX0NUUl9SWCAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVA1Ul9DVFJfUlhfTXNrICAgICAgICAgICAgLyohPCBDb3JyZWN0IFRyYW5zZmVyIGZvciByZWNlcHRpb24gKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfRVA2UiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0VQNlJfRUFfUG9zICAgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQNlJfRUFfTXNrICAgICAgICAgICAgICAgICAgICAgICAgICgweEZVIDw8IFVTQl9FUDZSX0VBX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgVVNCX0VQNlJfRUEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDZSX0VBX01zayAgICAgICAgICAgICAgICAvKiE8IEVuZHBvaW50IEFkZHJlc3MgKi8NCg0KI2RlZmluZSBVU0JfRVA2Ul9TVEFUX1RYX1BvcyAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVA2Ul9TVEFUX1RYX01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVVNCX0VQNlJfU1RBVF9UWF9Qb3MpIC8qITwgMHgwMDAwMDAzMCAqLw0KI2RlZmluZSBVU0JfRVA2Ul9TVEFUX1RYICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQNlJfU1RBVF9UWF9Nc2sgICAgICAgICAgIC8qITwgU1RBVF9UWFsxOjBdIGJpdHMgKFN0YXR1cyBiaXRzLCBmb3IgdHJhbnNtaXNzaW9uIHRyYW5zZmVycykgKi8NCiNkZWZpbmUgVVNCX0VQNlJfU1RBVF9UWF8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDZSX1NUQVRfVFhfUG9zKSAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVVNCX0VQNlJfU1RBVF9UWF8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFVTQl9FUDZSX1NUQVRfVFhfUG9zKSAvKiE8IDB4MDAwMDAwMjAgKi8NCg0KI2RlZmluZSBVU0JfRVA2Ul9EVE9HX1RYX1BvcyAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVA2Ul9EVE9HX1RYX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQNlJfRFRPR19UWF9Qb3MpIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBVU0JfRVA2Ul9EVE9HX1RYICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQNlJfRFRPR19UWF9Nc2sgICAgICAgICAgIC8qITwgRGF0YSBUb2dnbGUsIGZvciB0cmFuc21pc3Npb24gdHJhbnNmZXJzICovDQojZGVmaW5lIFVTQl9FUDZSX0NUUl9UWF9Qb3MgICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDZSX0NUUl9UWF9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVA2Ul9DVFJfVFhfUG9zKSAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFVTQl9FUDZSX0NUUl9UWCAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVA2Ul9DVFJfVFhfTXNrICAgICAgICAgICAgLyohPCBDb3JyZWN0IFRyYW5zZmVyIGZvciB0cmFuc21pc3Npb24gKi8NCiNkZWZpbmUgVVNCX0VQNlJfRVBfS0lORF9Qb3MgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQNlJfRVBfS0lORF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDZSX0VQX0tJTkRfUG9zKSAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVVNCX0VQNlJfRVBfS0lORCAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDZSX0VQX0tJTkRfTXNrICAgICAgICAgICAvKiE8IEVuZHBvaW50IEtpbmQgKi8NCg0KI2RlZmluZSBVU0JfRVA2Ul9FUF9UWVBFX1BvcyAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVA2Ul9FUF9UWVBFX01zayAgICAgICAgICAgICAgICAgICAgKDB4M1UgPDwgVVNCX0VQNlJfRVBfVFlQRV9Qb3MpIC8qITwgMHgwMDAwMDYwMCAqLw0KI2RlZmluZSBVU0JfRVA2Ul9FUF9UWVBFICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQNlJfRVBfVFlQRV9Nc2sgICAgICAgICAgIC8qITwgRVBfVFlQRVsxOjBdIGJpdHMgKEVuZHBvaW50IHR5cGUpICovDQojZGVmaW5lIFVTQl9FUDZSX0VQX1RZUEVfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVA2Ul9FUF9UWVBFX1BvcykgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFVTQl9FUDZSX0VQX1RZUEVfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBVU0JfRVA2Ul9FUF9UWVBFX1BvcykgLyohPCAweDAwMDAwNDAwICovDQoNCiNkZWZpbmUgVVNCX0VQNlJfU0VUVVBfUG9zICAgICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQNlJfU0VUVVBfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDZSX1NFVFVQX1BvcykgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVVNCX0VQNlJfU0VUVVAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDZSX1NFVFVQX01zayAgICAgICAgICAgICAvKiE8IFNldHVwIHRyYW5zYWN0aW9uIGNvbXBsZXRlZCAqLw0KDQojZGVmaW5lIFVTQl9FUDZSX1NUQVRfUlhfUG9zICAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDZSX1NUQVRfUlhfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBVU0JfRVA2Ul9TVEFUX1JYX1BvcykgLyohPCAweDAwMDAzMDAwICovDQojZGVmaW5lIFVTQl9FUDZSX1NUQVRfUlggICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVA2Ul9TVEFUX1JYX01zayAgICAgICAgICAgLyohPCBTVEFUX1JYWzE6MF0gYml0cyAoU3RhdHVzIGJpdHMsIGZvciByZWNlcHRpb24gdHJhbnNmZXJzKSAqLw0KI2RlZmluZSBVU0JfRVA2Ul9TVEFUX1JYXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQNlJfU1RBVF9SWF9Qb3MpIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBVU0JfRVA2Ul9TVEFUX1JYXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVVNCX0VQNlJfU1RBVF9SWF9Qb3MpIC8qITwgMHgwMDAwMjAwMCAqLw0KDQojZGVmaW5lIFVTQl9FUDZSX0RUT0dfUlhfUG9zICAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDZSX0RUT0dfUlhfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVA2Ul9EVE9HX1JYX1BvcykgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFVTQl9FUDZSX0RUT0dfUlggICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVA2Ul9EVE9HX1JYX01zayAgICAgICAgICAgLyohPCBEYXRhIFRvZ2dsZSwgZm9yIHJlY2VwdGlvbiB0cmFuc2ZlcnMgKi8NCiNkZWZpbmUgVVNCX0VQNlJfQ1RSX1JYX1BvcyAgICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQNlJfQ1RSX1JYX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDZSX0NUUl9SWF9Qb3MpICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgVVNCX0VQNlJfQ1RSX1JYICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDZSX0NUUl9SWF9Nc2sgICAgICAgICAgICAvKiE8IENvcnJlY3QgVHJhbnNmZXIgZm9yIHJlY2VwdGlvbiAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9FUDdSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfRVA3Ul9FQV9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVA3Ul9FQV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgVVNCX0VQN1JfRUFfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBVU0JfRVA3Ul9FQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQN1JfRUFfTXNrICAgICAgICAgICAgICAgIC8qITwgRW5kcG9pbnQgQWRkcmVzcyAqLw0KDQojZGVmaW5lIFVTQl9FUDdSX1NUQVRfVFhfUG9zICAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDdSX1NUQVRfVFhfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBVU0JfRVA3Ul9TVEFUX1RYX1BvcykgLyohPCAweDAwMDAwMDMwICovDQojZGVmaW5lIFVTQl9FUDdSX1NUQVRfVFggICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVA3Ul9TVEFUX1RYX01zayAgICAgICAgICAgLyohPCBTVEFUX1RYWzE6MF0gYml0cyAoU3RhdHVzIGJpdHMsIGZvciB0cmFuc21pc3Npb24gdHJhbnNmZXJzKSAqLw0KI2RlZmluZSBVU0JfRVA3Ul9TVEFUX1RYXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQN1JfU1RBVF9UWF9Qb3MpIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBVU0JfRVA3Ul9TVEFUX1RYXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MlUgPDwgVVNCX0VQN1JfU1RBVF9UWF9Qb3MpIC8qITwgMHgwMDAwMDAyMCAqLw0KDQojZGVmaW5lIFVTQl9FUDdSX0RUT0dfVFhfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDdSX0RUT0dfVFhfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVA3Ul9EVE9HX1RYX1BvcykgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFVTQl9FUDdSX0RUT0dfVFggICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVA3Ul9EVE9HX1RYX01zayAgICAgICAgICAgLyohPCBEYXRhIFRvZ2dsZSwgZm9yIHRyYW5zbWlzc2lvbiB0cmFuc2ZlcnMgKi8NCiNkZWZpbmUgVVNCX0VQN1JfQ1RSX1RYX1BvcyAgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQN1JfQ1RSX1RYX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDdSX0NUUl9UWF9Qb3MpICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVVNCX0VQN1JfQ1RSX1RYICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDdSX0NUUl9UWF9Nc2sgICAgICAgICAgICAvKiE8IENvcnJlY3QgVHJhbnNmZXIgZm9yIHRyYW5zbWlzc2lvbiAqLw0KI2RlZmluZSBVU0JfRVA3Ul9FUF9LSU5EX1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVA3Ul9FUF9LSU5EX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQN1JfRVBfS0lORF9Qb3MpIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBVU0JfRVA3Ul9FUF9LSU5EICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQN1JfRVBfS0lORF9Nc2sgICAgICAgICAgIC8qITwgRW5kcG9pbnQgS2luZCAqLw0KDQojZGVmaW5lIFVTQl9FUDdSX0VQX1RZUEVfUG9zICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9FUDdSX0VQX1RZUEVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgzVSA8PCBVU0JfRVA3Ul9FUF9UWVBFX1BvcykgLyohPCAweDAwMDAwNjAwICovDQojZGVmaW5lIFVTQl9FUDdSX0VQX1RZUEUgICAgICAgICAgICAgICAgICAgICAgICBVU0JfRVA3Ul9FUF9UWVBFX01zayAgICAgICAgICAgLyohPCBFUF9UWVBFWzE6MF0gYml0cyAoRW5kcG9pbnQgdHlwZSkgKi8NCiNkZWZpbmUgVVNCX0VQN1JfRVBfVFlQRV8wICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDdSX0VQX1RZUEVfUG9zKSAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVVNCX0VQN1JfRVBfVFlQRV8xICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFVTQl9FUDdSX0VQX1RZUEVfUG9zKSAvKiE8IDB4MDAwMDA0MDAgKi8NCg0KI2RlZmluZSBVU0JfRVA3Ul9TRVRVUF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVA3Ul9TRVRVUF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQN1JfU0VUVVBfUG9zKSAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBVU0JfRVA3Ul9TRVRVUCAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQN1JfU0VUVVBfTXNrICAgICAgICAgICAgIC8qITwgU2V0dXAgdHJhbnNhY3Rpb24gY29tcGxldGVkICovDQoNCiNkZWZpbmUgVVNCX0VQN1JfU1RBVF9SWF9Qb3MgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQN1JfU1RBVF9SWF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IFVTQl9FUDdSX1NUQVRfUlhfUG9zKSAvKiE8IDB4MDAwMDMwMDAgKi8NCiNkZWZpbmUgVVNCX0VQN1JfU1RBVF9SWCAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDdSX1NUQVRfUlhfTXNrICAgICAgICAgICAvKiE8IFNUQVRfUlhbMTowXSBiaXRzIChTdGF0dXMgYml0cywgZm9yIHJlY2VwdGlvbiB0cmFuc2ZlcnMpICovDQojZGVmaW5lIFVTQl9FUDdSX1NUQVRfUlhfMCAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRVA3Ul9TVEFUX1JYX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFVTQl9FUDdSX1NUQVRfUlhfMSAgICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBVU0JfRVA3Ul9TVEFUX1JYX1BvcykgLyohPCAweDAwMDAyMDAwICovDQoNCiNkZWZpbmUgVVNCX0VQN1JfRFRPR19SWF9Qb3MgICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0VQN1JfRFRPR19SWF9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9FUDdSX0RUT0dfUlhfUG9zKSAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgVVNCX0VQN1JfRFRPR19SWCAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9FUDdSX0RUT0dfUlhfTXNrICAgICAgICAgICAvKiE8IERhdGEgVG9nZ2xlLCBmb3IgcmVjZXB0aW9uIHRyYW5zZmVycyAqLw0KI2RlZmluZSBVU0JfRVA3Ul9DVFJfUlhfUG9zICAgICAgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfRVA3Ul9DVFJfUlhfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0VQN1JfQ1RSX1JYX1BvcykgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBVU0JfRVA3Ul9DVFJfUlggICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0VQN1JfQ1RSX1JYX01zayAgICAgICAgICAgIC8qITwgQ29ycmVjdCBUcmFuc2ZlciBmb3IgcmVjZXB0aW9uICovDQoNCi8qITwgQ29tbW9uIHJlZ2lzdGVycyAqLw0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQ05UUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0NOVFJfRlJFU19Qb3MgICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NOVFJfRlJFU19Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9DTlRSX0ZSRVNfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVVNCX0NOVFJfRlJFUyAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9DTlRSX0ZSRVNfTXNrICAgICAgICAgICAgICAvKiE8IEZvcmNlIFVTQiBSZXNldCAqLw0KI2RlZmluZSBVU0JfQ05UUl9QRFdOX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfQ05UUl9QRFdOX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0NOVFJfUERXTl9Qb3MpICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBVU0JfQ05UUl9QRFdOICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0NOVFJfUERXTl9Nc2sgICAgICAgICAgICAgIC8qITwgUG93ZXIgZG93biAqLw0KI2RlZmluZSBVU0JfQ05UUl9MUF9NT0RFX1BvcyAgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfQ05UUl9MUF9NT0RFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0NOVFJfTFBfTU9ERV9Qb3MpIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBVU0JfQ05UUl9MUF9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0NOVFJfTFBfTU9ERV9Nc2sgICAgICAgICAgIC8qITwgTG93LXBvd2VyIG1vZGUgKi8NCiNkZWZpbmUgVVNCX0NOVFJfRlNVU1BfUG9zICAgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NOVFJfRlNVU1BfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9DTlRSX0ZTVVNQX1BvcykgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVVNCX0NOVFJfRlNVU1AgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9DTlRSX0ZTVVNQX01zayAgICAgICAgICAgICAvKiE8IEZvcmNlIHN1c3BlbmQgKi8NCiNkZWZpbmUgVVNCX0NOVFJfUkVTVU1FX1BvcyAgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NOVFJfUkVTVU1FX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9DTlRSX1JFU1VNRV9Qb3MpICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVVNCX0NOVFJfUkVTVU1FICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9DTlRSX1JFU1VNRV9Nc2sgICAgICAgICAgICAvKiE8IFJlc3VtZSByZXF1ZXN0ICovDQojZGVmaW5lIFVTQl9DTlRSX0VTT0ZNX1BvcyAgICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9DTlRSX0VTT0ZNX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfQ05UUl9FU09GTV9Qb3MpICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFVTQl9DTlRSX0VTT0ZNICAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfQ05UUl9FU09GTV9Nc2sgICAgICAgICAgICAgLyohPCBFeHBlY3RlZCBTdGFydCBPZiBGcmFtZSBJbnRlcnJ1cHQgTWFzayAqLw0KI2RlZmluZSBVU0JfQ05UUl9TT0ZNX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDlVKSAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfQ05UUl9TT0ZNX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0NOVFJfU09GTV9Qb3MpICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBVU0JfQ05UUl9TT0ZNICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0NOVFJfU09GTV9Nc2sgICAgICAgICAgICAgIC8qITwgU3RhcnQgT2YgRnJhbWUgSW50ZXJydXB0IE1hc2sgKi8NCiNkZWZpbmUgVVNCX0NOVFJfUkVTRVRNX1BvcyAgICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NOVFJfUkVTRVRNX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9DTlRSX1JFU0VUTV9Qb3MpICAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVVNCX0NOVFJfUkVTRVRNICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9DTlRSX1JFU0VUTV9Nc2sgICAgICAgICAgICAvKiE8IFJFU0VUIEludGVycnVwdCBNYXNrICovDQojZGVmaW5lIFVTQl9DTlRSX1NVU1BNX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9DTlRSX1NVU1BNX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfQ05UUl9TVVNQTV9Qb3MpICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFVTQl9DTlRSX1NVU1BNICAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfQ05UUl9TVVNQTV9Nc2sgICAgICAgICAgICAgLyohPCBTdXNwZW5kIG1vZGUgSW50ZXJydXB0IE1hc2sgKi8NCiNkZWZpbmUgVVNCX0NOVFJfV0tVUE1fUG9zICAgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NOVFJfV0tVUE1fTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9DTlRSX1dLVVBNX1BvcykgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVVNCX0NOVFJfV0tVUE0gICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9DTlRSX1dLVVBNX01zayAgICAgICAgICAgICAvKiE8IFdha2V1cCBJbnRlcnJ1cHQgTWFzayAqLw0KI2RlZmluZSBVU0JfQ05UUl9FUlJNX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDEzVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfQ05UUl9FUlJNX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0NOVFJfRVJSTV9Qb3MpICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBVU0JfQ05UUl9FUlJNICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0NOVFJfRVJSTV9Nc2sgICAgICAgICAgICAgIC8qITwgRXJyb3IgSW50ZXJydXB0IE1hc2sgKi8NCiNkZWZpbmUgVVNCX0NOVFJfUE1BT1ZSTV9Qb3MgICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NOVFJfUE1BT1ZSTV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9DTlRSX1BNQU9WUk1fUG9zKSAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgVVNCX0NOVFJfUE1BT1ZSTSAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9DTlRSX1BNQU9WUk1fTXNrICAgICAgICAgICAvKiE8IFBhY2tldCBNZW1vcnkgQXJlYSBPdmVyIC8gVW5kZXJydW4gSW50ZXJydXB0IE1hc2sgKi8NCiNkZWZpbmUgVVNCX0NOVFJfQ1RSTV9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NOVFJfQ1RSTV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9DTlRSX0NUUk1fUG9zKSAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgVVNCX0NOVFJfQ1RSTSAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9DTlRSX0NUUk1fTXNrICAgICAgICAgICAgICAvKiE8IENvcnJlY3QgVHJhbnNmZXIgSW50ZXJydXB0IE1hc2sgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfSVNUUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0lTVFJfRVBfSURfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0lTVFJfRVBfSURfTXNrICAgICAgICAgICAgICAgICAgICAgICgweEZVIDw8IFVTQl9JU1RSX0VQX0lEX1BvcykgICAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgVVNCX0lTVFJfRVBfSUQgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9JU1RSX0VQX0lEX01zayAgICAgICAgICAgICAvKiE8IEVuZHBvaW50IElkZW50aWZpZXIgKi8NCiNkZWZpbmUgVVNCX0lTVFJfRElSX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0lTVFJfRElSX01zayAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9JU1RSX0RJUl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVVNCX0lTVFJfRElSICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9JU1RSX0RJUl9Nc2sgICAgICAgICAgICAgICAvKiE8IERpcmVjdGlvbiBvZiB0cmFuc2FjdGlvbiAqLw0KI2RlZmluZSBVU0JfSVNUUl9FU09GX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfSVNUUl9FU09GX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0lTVFJfRVNPRl9Qb3MpICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBVU0JfSVNUUl9FU09GICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0lTVFJfRVNPRl9Nc2sgICAgICAgICAgICAgIC8qITwgRXhwZWN0ZWQgU3RhcnQgT2YgRnJhbWUgKi8NCiNkZWZpbmUgVVNCX0lTVFJfU09GX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0lTVFJfU09GX01zayAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9JU1RSX1NPRl9Qb3MpICAgICAvKiE8IDB4MDAwMDAyMDAgKi8NCiNkZWZpbmUgVVNCX0lTVFJfU09GICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9JU1RSX1NPRl9Nc2sgICAgICAgICAgICAgICAvKiE8IFN0YXJ0IE9mIEZyYW1lICovDQojZGVmaW5lIFVTQl9JU1RSX1JFU0VUX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9JU1RSX1JFU0VUX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfSVNUUl9SRVNFVF9Qb3MpICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFVTQl9JU1RSX1JFU0VUICAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfSVNUUl9SRVNFVF9Nc2sgICAgICAgICAgICAgLyohPCBVU0IgUkVTRVQgcmVxdWVzdCAqLw0KI2RlZmluZSBVU0JfSVNUUl9TVVNQX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfSVNUUl9TVVNQX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0lTVFJfU1VTUF9Qb3MpICAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBVU0JfSVNUUl9TVVNQICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0lTVFJfU1VTUF9Nc2sgICAgICAgICAgICAgIC8qITwgU3VzcGVuZCBtb2RlIHJlcXVlc3QgKi8NCiNkZWZpbmUgVVNCX0lTVFJfV0tVUF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0lTVFJfV0tVUF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9JU1RSX1dLVVBfUG9zKSAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVVNCX0lTVFJfV0tVUCAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9JU1RSX1dLVVBfTXNrICAgICAgICAgICAgICAvKiE8IFdha2UgdXAgKi8NCiNkZWZpbmUgVVNCX0lTVFJfRVJSX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0lTVFJfRVJSX01zayAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9JU1RSX0VSUl9Qb3MpICAgICAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgVVNCX0lTVFJfRVJSICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9JU1RSX0VSUl9Nc2sgICAgICAgICAgICAgICAvKiE8IEVycm9yICovDQojZGVmaW5lIFVTQl9JU1RSX1BNQU9WUl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9JU1RSX1BNQU9WUl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfSVNUUl9QTUFPVlJfUG9zKSAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFVTQl9JU1RSX1BNQU9WUiAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfSVNUUl9QTUFPVlJfTXNrICAgICAgICAgICAgLyohPCBQYWNrZXQgTWVtb3J5IEFyZWEgT3ZlciAvIFVuZGVycnVuICovDQojZGVmaW5lIFVTQl9JU1RSX0NUUl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9JU1RSX0NUUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfSVNUUl9DVFJfUG9zKSAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFVTQl9JU1RSX0NUUiAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfSVNUUl9DVFJfTXNrICAgICAgICAgICAgICAgLyohPCBDb3JyZWN0IFRyYW5zZmVyICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0ZOUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9GTlJfRk5fUG9zICAgICAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9GTlJfRk5fTXNrICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg3RkZVIDw8IFVTQl9GTlJfRk5fUG9zKSAgICAgLyohPCAweDAwMDAwN0ZGICovDQojZGVmaW5lIFVTQl9GTlJfRk4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfRk5SX0ZOX01zayAgICAgICAgICAgICAgICAgLyohPCBGcmFtZSBOdW1iZXIgKi8NCiNkZWZpbmUgVVNCX0ZOUl9MU09GX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0ZOUl9MU09GX01zayAgICAgICAgICAgICAgICAgICAgICAgICgweDNVIDw8IFVTQl9GTlJfTFNPRl9Qb3MpICAgICAvKiE8IDB4MDAwMDE4MDAgKi8NCiNkZWZpbmUgVVNCX0ZOUl9MU09GICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9GTlJfTFNPRl9Nc2sgICAgICAgICAgICAgICAvKiE8IExvc3QgU09GICovDQojZGVmaW5lIFVTQl9GTlJfTENLX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9GTlJfTENLX01zayAgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRk5SX0xDS19Qb3MpICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFVTQl9GTlJfTENLICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfRk5SX0xDS19Nc2sgICAgICAgICAgICAgICAgLyohPCBMb2NrZWQgKi8NCiNkZWZpbmUgVVNCX0ZOUl9SWERNX1BvcyAgICAgICAgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0ZOUl9SWERNX01zayAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9GTlJfUlhETV9Qb3MpICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgVVNCX0ZOUl9SWERNICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9GTlJfUlhETV9Nc2sgICAgICAgICAgICAgICAvKiE8IFJlY2VpdmUgRGF0YSAtIExpbmUgU3RhdHVzICovDQojZGVmaW5lIFVTQl9GTlJfUlhEUF9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9GTlJfUlhEUF9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfRk5SX1JYRFBfUG9zKSAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFVTQl9GTlJfUlhEUCAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfRk5SX1JYRFBfTXNrICAgICAgICAgICAgICAgLyohPCBSZWNlaXZlIERhdGEgKyBMaW5lIFN0YXR1cyAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0RBRERSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfREFERFJfQUREX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfREFERFJfQUREX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4N0ZVIDw8IFVTQl9EQUREUl9BRERfUG9zKSAgIC8qITwgMHgwMDAwMDA3RiAqLw0KI2RlZmluZSBVU0JfREFERFJfQUREICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0RBRERSX0FERF9Nc2sgICAgICAgICAgICAgIC8qITwgQUREWzY6MF0gYml0cyAoRGV2aWNlIEFkZHJlc3MpICovDQojZGVmaW5lIFVTQl9EQUREUl9BREQwX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9EQUREUl9BREQwX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfREFERFJfQUREMF9Qb3MpICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFVTQl9EQUREUl9BREQwICAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfREFERFJfQUREMF9Nc2sgICAgICAgICAgICAgLyohPCBCaXQgMCAqLw0KI2RlZmluZSBVU0JfREFERFJfQUREMV9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfREFERFJfQUREMV9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0RBRERSX0FERDFfUG9zKSAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBVU0JfREFERFJfQUREMSAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0RBRERSX0FERDFfTXNrICAgICAgICAgICAgIC8qITwgQml0IDEgKi8NCiNkZWZpbmUgVVNCX0RBRERSX0FERDJfUG9zICAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0RBRERSX0FERDJfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9EQUREUl9BREQyX1BvcykgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVVNCX0RBRERSX0FERDIgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9EQUREUl9BREQyX01zayAgICAgICAgICAgICAvKiE8IEJpdCAyICovDQojZGVmaW5lIFVTQl9EQUREUl9BREQzX1BvcyAgICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9EQUREUl9BREQzX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfREFERFJfQUREM19Qb3MpICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFVTQl9EQUREUl9BREQzICAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfREFERFJfQUREM19Nc2sgICAgICAgICAgICAgLyohPCBCaXQgMyAqLw0KI2RlZmluZSBVU0JfREFERFJfQURENF9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfREFERFJfQURENF9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0RBRERSX0FERDRfUG9zKSAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBVU0JfREFERFJfQURENCAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCX0RBRERSX0FERDRfTXNrICAgICAgICAgICAgIC8qITwgQml0IDQgKi8NCiNkZWZpbmUgVVNCX0RBRERSX0FERDVfUG9zICAgICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0RBRERSX0FERDVfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9EQUREUl9BREQ1X1BvcykgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVVNCX0RBRERSX0FERDUgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9EQUREUl9BREQ1X01zayAgICAgICAgICAgICAvKiE8IEJpdCA1ICovDQojZGVmaW5lIFVTQl9EQUREUl9BREQ2X1BvcyAgICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9EQUREUl9BREQ2X01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfREFERFJfQURENl9Qb3MpICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFVTQl9EQUREUl9BREQ2ICAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfREFERFJfQURENl9Nc2sgICAgICAgICAgICAgLyohPCBCaXQgNiAqLw0KDQojZGVmaW5lIFVTQl9EQUREUl9FRl9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9EQUREUl9FRl9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfREFERFJfRUZfUG9zKSAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFVTQl9EQUREUl9FRiAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfREFERFJfRUZfTXNrICAgICAgICAgICAgICAgLyohPCBFbmFibGUgRnVuY3Rpb24gKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9CVEFCTEUgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8gICAgDQojZGVmaW5lIFVTQl9CVEFCTEVfQlRBQkxFX1BvcyAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9CVEFCTEVfQlRBQkxFX01zayAgICAgICAgICAgICAgICAgICAoMHgxRkZGVSA8PCBVU0JfQlRBQkxFX0JUQUJMRV9Qb3MpIC8qITwgMHgwMDAwRkZGOCAqLw0KI2RlZmluZSBVU0JfQlRBQkxFX0JUQUJMRSAgICAgICAgICAgICAgICAgICAgICAgVVNCX0JUQUJMRV9CVEFCTEVfTXNrICAgICAgICAgIC8qITwgQnVmZmVyIFRhYmxlICovDQoNCi8qITwgQnVmZmVyIGRlc2NyaXB0b3IgdGFibGUgKi8NCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9BRERSMF9UWCByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9BRERSMF9UWF9BRERSMF9UWF9Qb3MgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9BRERSMF9UWF9BRERSMF9UWF9Nc2sgICAgICAgICAgICAgICAoMHg3RkZGVSA8PCBVU0JfQUREUjBfVFhfQUREUjBfVFhfUG9zKSAvKiE8IDB4MDAwMEZGRkUgKi8NCiNkZWZpbmUgVVNCX0FERFIwX1RYX0FERFIwX1RYICAgICAgICAgICAgICAgICAgIFVTQl9BRERSMF9UWF9BRERSMF9UWF9Nc2sgICAgICAvKiE8IFRyYW5zbWlzc2lvbiBCdWZmZXIgQWRkcmVzcyAwICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9BRERSMV9UWCByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9BRERSMV9UWF9BRERSMV9UWF9Qb3MgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9BRERSMV9UWF9BRERSMV9UWF9Nc2sgICAgICAgICAgICAgICAoMHg3RkZGVSA8PCBVU0JfQUREUjFfVFhfQUREUjFfVFhfUG9zKSAvKiE8IDB4MDAwMEZGRkUgKi8NCiNkZWZpbmUgVVNCX0FERFIxX1RYX0FERFIxX1RYICAgICAgICAgICAgICAgICAgIFVTQl9BRERSMV9UWF9BRERSMV9UWF9Nc2sgICAgICAvKiE8IFRyYW5zbWlzc2lvbiBCdWZmZXIgQWRkcmVzcyAxICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9BRERSMl9UWCByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9BRERSMl9UWF9BRERSMl9UWF9Qb3MgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9BRERSMl9UWF9BRERSMl9UWF9Nc2sgICAgICAgICAgICAgICAoMHg3RkZGVSA8PCBVU0JfQUREUjJfVFhfQUREUjJfVFhfUG9zKSAvKiE8IDB4MDAwMEZGRkUgKi8NCiNkZWZpbmUgVVNCX0FERFIyX1RYX0FERFIyX1RYICAgICAgICAgICAgICAgICAgIFVTQl9BRERSMl9UWF9BRERSMl9UWF9Nc2sgICAgICAvKiE8IFRyYW5zbWlzc2lvbiBCdWZmZXIgQWRkcmVzcyAyICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9BRERSM19UWCByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9BRERSM19UWF9BRERSM19UWF9Qb3MgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9BRERSM19UWF9BRERSM19UWF9Nc2sgICAgICAgICAgICAgICAoMHg3RkZGVSA8PCBVU0JfQUREUjNfVFhfQUREUjNfVFhfUG9zKSAvKiE8IDB4MDAwMEZGRkUgKi8NCiNkZWZpbmUgVVNCX0FERFIzX1RYX0FERFIzX1RYICAgICAgICAgICAgICAgICAgIFVTQl9BRERSM19UWF9BRERSM19UWF9Nc2sgICAgICAvKiE8IFRyYW5zbWlzc2lvbiBCdWZmZXIgQWRkcmVzcyAzICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9BRERSNF9UWCByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9BRERSNF9UWF9BRERSNF9UWF9Qb3MgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9BRERSNF9UWF9BRERSNF9UWF9Nc2sgICAgICAgICAgICAgICAoMHg3RkZGVSA8PCBVU0JfQUREUjRfVFhfQUREUjRfVFhfUG9zKSAvKiE8IDB4MDAwMEZGRkUgKi8NCiNkZWZpbmUgVVNCX0FERFI0X1RYX0FERFI0X1RYICAgICAgICAgICAgICAgICAgIFVTQl9BRERSNF9UWF9BRERSNF9UWF9Nc2sgICAgICAvKiE8IFRyYW5zbWlzc2lvbiBCdWZmZXIgQWRkcmVzcyA0ICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9BRERSNV9UWCByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9BRERSNV9UWF9BRERSNV9UWF9Qb3MgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9BRERSNV9UWF9BRERSNV9UWF9Nc2sgICAgICAgICAgICAgICAoMHg3RkZGVSA8PCBVU0JfQUREUjVfVFhfQUREUjVfVFhfUG9zKSAvKiE8IDB4MDAwMEZGRkUgKi8NCiNkZWZpbmUgVVNCX0FERFI1X1RYX0FERFI1X1RYICAgICAgICAgICAgICAgICAgIFVTQl9BRERSNV9UWF9BRERSNV9UWF9Nc2sgICAgICAvKiE8IFRyYW5zbWlzc2lvbiBCdWZmZXIgQWRkcmVzcyA1ICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9BRERSNl9UWCByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9BRERSNl9UWF9BRERSNl9UWF9Qb3MgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9BRERSNl9UWF9BRERSNl9UWF9Nc2sgICAgICAgICAgICAgICAoMHg3RkZGVSA8PCBVU0JfQUREUjZfVFhfQUREUjZfVFhfUG9zKSAvKiE8IDB4MDAwMEZGRkUgKi8NCiNkZWZpbmUgVVNCX0FERFI2X1RYX0FERFI2X1RYICAgICAgICAgICAgICAgICAgIFVTQl9BRERSNl9UWF9BRERSNl9UWF9Nc2sgICAgICAvKiE8IFRyYW5zbWlzc2lvbiBCdWZmZXIgQWRkcmVzcyA2ICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9BRERSN19UWCByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9BRERSN19UWF9BRERSN19UWF9Qb3MgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9BRERSN19UWF9BRERSN19UWF9Nc2sgICAgICAgICAgICAgICAoMHg3RkZGVSA8PCBVU0JfQUREUjdfVFhfQUREUjdfVFhfUG9zKSAvKiE8IDB4MDAwMEZGRkUgKi8NCiNkZWZpbmUgVVNCX0FERFI3X1RYX0FERFI3X1RYICAgICAgICAgICAgICAgICAgIFVTQl9BRERSN19UWF9BRERSN19UWF9Nc2sgICAgICAvKiE8IFRyYW5zbWlzc2lvbiBCdWZmZXIgQWRkcmVzcyA3ICovDQoNCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDBfVFggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDBfVFhfQ09VTlQwX1RYX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9DT1VOVDBfVFhfQ09VTlQwX1RYX01zayAgICAgICAgICAgICAoMHgzRkZVIDw8IFVTQl9DT1VOVDBfVFhfQ09VTlQwX1RYX1BvcykgLyohPCAweDAwMDAwM0ZGICovDQojZGVmaW5lIFVTQl9DT1VOVDBfVFhfQ09VTlQwX1RYICAgICAgICAgICAgICAgICBVU0JfQ09VTlQwX1RYX0NPVU5UMF9UWF9Nc2sgICAgLyohPCBUcmFuc21pc3Npb24gQnl0ZSBDb3VudCAwICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDFfVFggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDFfVFhfQ09VTlQxX1RYX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9DT1VOVDFfVFhfQ09VTlQxX1RYX01zayAgICAgICAgICAgICAoMHgzRkZVIDw8IFVTQl9DT1VOVDFfVFhfQ09VTlQxX1RYX1BvcykgLyohPCAweDAwMDAwM0ZGICovDQojZGVmaW5lIFVTQl9DT1VOVDFfVFhfQ09VTlQxX1RYICAgICAgICAgICAgICAgICBVU0JfQ09VTlQxX1RYX0NPVU5UMV9UWF9Nc2sgICAgLyohPCBUcmFuc21pc3Npb24gQnl0ZSBDb3VudCAxICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDJfVFggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDJfVFhfQ09VTlQyX1RYX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9DT1VOVDJfVFhfQ09VTlQyX1RYX01zayAgICAgICAgICAgICAoMHgzRkZVIDw8IFVTQl9DT1VOVDJfVFhfQ09VTlQyX1RYX1BvcykgLyohPCAweDAwMDAwM0ZGICovDQojZGVmaW5lIFVTQl9DT1VOVDJfVFhfQ09VTlQyX1RYICAgICAgICAgICAgICAgICBVU0JfQ09VTlQyX1RYX0NPVU5UMl9UWF9Nc2sgICAgLyohPCBUcmFuc21pc3Npb24gQnl0ZSBDb3VudCAyICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDNfVFggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDNfVFhfQ09VTlQzX1RYX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9DT1VOVDNfVFhfQ09VTlQzX1RYX01zayAgICAgICAgICAgICAoMHgzRkZVIDw8IFVTQl9DT1VOVDNfVFhfQ09VTlQzX1RYX1BvcykgLyohPCAweDAwMDAwM0ZGICovDQojZGVmaW5lIFVTQl9DT1VOVDNfVFhfQ09VTlQzX1RYICAgICAgICAgICAgICAgICBVU0JfQ09VTlQzX1RYX0NPVU5UM19UWF9Nc2sgICAgLyohPCBUcmFuc21pc3Npb24gQnl0ZSBDb3VudCAzICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDRfVFggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDRfVFhfQ09VTlQ0X1RYX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9DT1VOVDRfVFhfQ09VTlQ0X1RYX01zayAgICAgICAgICAgICAoMHgzRkZVIDw8IFVTQl9DT1VOVDRfVFhfQ09VTlQ0X1RYX1BvcykgLyohPCAweDAwMDAwM0ZGICovDQojZGVmaW5lIFVTQl9DT1VOVDRfVFhfQ09VTlQ0X1RYICAgICAgICAgICAgICAgICBVU0JfQ09VTlQ0X1RYX0NPVU5UNF9UWF9Nc2sgICAgLyohPCBUcmFuc21pc3Npb24gQnl0ZSBDb3VudCA0ICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDVfVFggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDVfVFhfQ09VTlQ1X1RYX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9DT1VOVDVfVFhfQ09VTlQ1X1RYX01zayAgICAgICAgICAgICAoMHgzRkZVIDw8IFVTQl9DT1VOVDVfVFhfQ09VTlQ1X1RYX1BvcykgLyohPCAweDAwMDAwM0ZGICovDQojZGVmaW5lIFVTQl9DT1VOVDVfVFhfQ09VTlQ1X1RYICAgICAgICAgICAgICAgICBVU0JfQ09VTlQ1X1RYX0NPVU5UNV9UWF9Nc2sgICAgLyohPCBUcmFuc21pc3Npb24gQnl0ZSBDb3VudCA1ICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDZfVFggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDZfVFhfQ09VTlQ2X1RYX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9DT1VOVDZfVFhfQ09VTlQ2X1RYX01zayAgICAgICAgICAgICAoMHgzRkZVIDw8IFVTQl9DT1VOVDZfVFhfQ09VTlQ2X1RYX1BvcykgLyohPCAweDAwMDAwM0ZGICovDQojZGVmaW5lIFVTQl9DT1VOVDZfVFhfQ09VTlQ2X1RYICAgICAgICAgICAgICAgICBVU0JfQ09VTlQ2X1RYX0NPVU5UNl9UWF9Nc2sgICAgLyohPCBUcmFuc21pc3Npb24gQnl0ZSBDb3VudCA2ICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDdfVFggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDdfVFhfQ09VTlQ3X1RYX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9DT1VOVDdfVFhfQ09VTlQ3X1RYX01zayAgICAgICAgICAgICAoMHgzRkZVIDw8IFVTQl9DT1VOVDdfVFhfQ09VTlQ3X1RYX1BvcykgLyohPCAweDAwMDAwM0ZGICovDQojZGVmaW5lIFVTQl9DT1VOVDdfVFhfQ09VTlQ3X1RYICAgICAgICAgICAgICAgICBVU0JfQ09VTlQ3X1RYX0NPVU5UN19UWF9Nc2sgICAgLyohPCBUcmFuc21pc3Npb24gQnl0ZSBDb3VudCA3ICovDQoNCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoNCi8qKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0NPVU5UMF9UWF8wIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDBfVFhfMF9DT1VOVDBfVFhfMCAgICAgICAgICAgICAweDAwMDAwM0ZGVSAgICAgICAgIC8qITwgVHJhbnNtaXNzaW9uIEJ5dGUgQ291bnQgMCAobG93KSAqLw0KDQovKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDBfVFhfMSByZWdpc3RlciAgKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQwX1RYXzFfQ09VTlQwX1RYXzEgICAgICAgICAgICAgMHgwM0ZGMDAwMFUgICAgICAgICAvKiE8IFRyYW5zbWlzc2lvbiBCeXRlIENvdW50IDAgKGhpZ2gpICovDQoNCi8qKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0NPVU5UMV9UWF8wIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDFfVFhfMF9DT1VOVDFfVFhfMCAgICAgICAgICAgICAweDAwMDAwM0ZGVSAgICAgICAgIC8qITwgVHJhbnNtaXNzaW9uIEJ5dGUgQ291bnQgMSAobG93KSAqLw0KDQovKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDFfVFhfMSByZWdpc3RlciAgKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQxX1RYXzFfQ09VTlQxX1RYXzEgICAgICAgICAgICAgMHgwM0ZGMDAwMFUgICAgICAgICAvKiE8IFRyYW5zbWlzc2lvbiBCeXRlIENvdW50IDEgKGhpZ2gpICovDQoNCi8qKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0NPVU5UMl9UWF8wIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDJfVFhfMF9DT1VOVDJfVFhfMCAgICAgICAgICAgICAweDAwMDAwM0ZGVSAgICAgICAgIC8qITwgVHJhbnNtaXNzaW9uIEJ5dGUgQ291bnQgMiAobG93KSAqLw0KDQovKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDJfVFhfMSByZWdpc3RlciAgKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQyX1RYXzFfQ09VTlQyX1RYXzEgICAgICAgICAgICAgMHgwM0ZGMDAwMFUgICAgICAgICAvKiE8IFRyYW5zbWlzc2lvbiBCeXRlIENvdW50IDIgKGhpZ2gpICovDQoNCi8qKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0NPVU5UM19UWF8wIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDNfVFhfMF9DT1VOVDNfVFhfMCAgICAgICAgICAgICAweDAwMDAwM0ZGVSAgICAgICAgIC8qITwgVHJhbnNtaXNzaW9uIEJ5dGUgQ291bnQgMyAobG93KSAqLw0KDQovKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDNfVFhfMSByZWdpc3RlciAgKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQzX1RYXzFfQ09VTlQzX1RYXzEgICAgICAgICAgICAgMHgwM0ZGMDAwMFUgICAgICAgICAvKiE8IFRyYW5zbWlzc2lvbiBCeXRlIENvdW50IDMgKGhpZ2gpICovDQoNCi8qKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0NPVU5UNF9UWF8wIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDRfVFhfMF9DT1VOVDRfVFhfMCAgICAgICAgICAgICAweDAwMDAwM0ZGVSAgICAgICAgIC8qITwgVHJhbnNtaXNzaW9uIEJ5dGUgQ291bnQgNCAobG93KSAqLw0KDQovKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDRfVFhfMSByZWdpc3RlciAgKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQ0X1RYXzFfQ09VTlQ0X1RYXzEgICAgICAgICAgICAgMHgwM0ZGMDAwMFUgICAgICAgICAvKiE8IFRyYW5zbWlzc2lvbiBCeXRlIENvdW50IDQgKGhpZ2gpICovDQoNCi8qKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0NPVU5UNV9UWF8wIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDVfVFhfMF9DT1VOVDVfVFhfMCAgICAgICAgICAgICAweDAwMDAwM0ZGVSAgICAgICAgIC8qITwgVHJhbnNtaXNzaW9uIEJ5dGUgQ291bnQgNSAobG93KSAqLw0KDQovKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDVfVFhfMSByZWdpc3RlciAgKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQ1X1RYXzFfQ09VTlQ1X1RYXzEgICAgICAgICAgICAgMHgwM0ZGMDAwMFUgICAgICAgICAvKiE8IFRyYW5zbWlzc2lvbiBCeXRlIENvdW50IDUgKGhpZ2gpICovDQoNCi8qKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0NPVU5UNl9UWF8wIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDZfVFhfMF9DT1VOVDZfVFhfMCAgICAgICAgICAgICAweDAwMDAwM0ZGVSAgICAgICAgIC8qITwgVHJhbnNtaXNzaW9uIEJ5dGUgQ291bnQgNiAobG93KSAqLw0KDQovKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDZfVFhfMSByZWdpc3RlciAgKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQ2X1RYXzFfQ09VTlQ2X1RYXzEgICAgICAgICAgICAgMHgwM0ZGMDAwMFUgICAgICAgICAvKiE8IFRyYW5zbWlzc2lvbiBCeXRlIENvdW50IDYgKGhpZ2gpICovDQoNCi8qKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0NPVU5UN19UWF8wIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDdfVFhfMF9DT1VOVDdfVFhfMCAgICAgICAgICAgICAweDAwMDAwM0ZGVSAgICAgICAgIC8qITwgVHJhbnNtaXNzaW9uIEJ5dGUgQ291bnQgNyAobG93KSAqLw0KDQovKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDdfVFhfMSByZWdpc3RlciAgKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQ3X1RYXzFfQ09VTlQ3X1RYXzEgICAgICAgICAgICAgMHgwM0ZGMDAwMFUgICAgICAgICAvKiE8IFRyYW5zbWlzc2lvbiBCeXRlIENvdW50IDcgKGhpZ2gpICovDQoNCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9BRERSMF9SWCByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9BRERSMF9SWF9BRERSMF9SWF9Qb3MgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9BRERSMF9SWF9BRERSMF9SWF9Nc2sgICAgICAgICAgICAgICAoMHg3RkZGVSA8PCBVU0JfQUREUjBfUlhfQUREUjBfUlhfUG9zKSAvKiE8IDB4MDAwMEZGRkUgKi8NCiNkZWZpbmUgVVNCX0FERFIwX1JYX0FERFIwX1JYICAgICAgICAgICAgICAgICAgIFVTQl9BRERSMF9SWF9BRERSMF9SWF9Nc2sgICAgICAvKiE8IFJlY2VwdGlvbiBCdWZmZXIgQWRkcmVzcyAwICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9BRERSMV9SWCByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9BRERSMV9SWF9BRERSMV9SWF9Qb3MgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9BRERSMV9SWF9BRERSMV9SWF9Nc2sgICAgICAgICAgICAgICAoMHg3RkZGVSA8PCBVU0JfQUREUjFfUlhfQUREUjFfUlhfUG9zKSAvKiE8IDB4MDAwMEZGRkUgKi8NCiNkZWZpbmUgVVNCX0FERFIxX1JYX0FERFIxX1JYICAgICAgICAgICAgICAgICAgIFVTQl9BRERSMV9SWF9BRERSMV9SWF9Nc2sgICAgICAvKiE8IFJlY2VwdGlvbiBCdWZmZXIgQWRkcmVzcyAxICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9BRERSMl9SWCByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9BRERSMl9SWF9BRERSMl9SWF9Qb3MgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9BRERSMl9SWF9BRERSMl9SWF9Nc2sgICAgICAgICAgICAgICAoMHg3RkZGVSA8PCBVU0JfQUREUjJfUlhfQUREUjJfUlhfUG9zKSAvKiE8IDB4MDAwMEZGRkUgKi8NCiNkZWZpbmUgVVNCX0FERFIyX1JYX0FERFIyX1JYICAgICAgICAgICAgICAgICAgIFVTQl9BRERSMl9SWF9BRERSMl9SWF9Nc2sgICAgICAvKiE8IFJlY2VwdGlvbiBCdWZmZXIgQWRkcmVzcyAyICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9BRERSM19SWCByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9BRERSM19SWF9BRERSM19SWF9Qb3MgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9BRERSM19SWF9BRERSM19SWF9Nc2sgICAgICAgICAgICAgICAoMHg3RkZGVSA8PCBVU0JfQUREUjNfUlhfQUREUjNfUlhfUG9zKSAvKiE8IDB4MDAwMEZGRkUgKi8NCiNkZWZpbmUgVVNCX0FERFIzX1JYX0FERFIzX1JYICAgICAgICAgICAgICAgICAgIFVTQl9BRERSM19SWF9BRERSM19SWF9Nc2sgICAgICAvKiE8IFJlY2VwdGlvbiBCdWZmZXIgQWRkcmVzcyAzICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9BRERSNF9SWCByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9BRERSNF9SWF9BRERSNF9SWF9Qb3MgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9BRERSNF9SWF9BRERSNF9SWF9Nc2sgICAgICAgICAgICAgICAoMHg3RkZGVSA8PCBVU0JfQUREUjRfUlhfQUREUjRfUlhfUG9zKSAvKiE8IDB4MDAwMEZGRkUgKi8NCiNkZWZpbmUgVVNCX0FERFI0X1JYX0FERFI0X1JYICAgICAgICAgICAgICAgICAgIFVTQl9BRERSNF9SWF9BRERSNF9SWF9Nc2sgICAgICAvKiE8IFJlY2VwdGlvbiBCdWZmZXIgQWRkcmVzcyA0ICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9BRERSNV9SWCByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9BRERSNV9SWF9BRERSNV9SWF9Qb3MgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9BRERSNV9SWF9BRERSNV9SWF9Nc2sgICAgICAgICAgICAgICAoMHg3RkZGVSA8PCBVU0JfQUREUjVfUlhfQUREUjVfUlhfUG9zKSAvKiE8IDB4MDAwMEZGRkUgKi8NCiNkZWZpbmUgVVNCX0FERFI1X1JYX0FERFI1X1JYICAgICAgICAgICAgICAgICAgIFVTQl9BRERSNV9SWF9BRERSNV9SWF9Nc2sgICAgICAvKiE8IFJlY2VwdGlvbiBCdWZmZXIgQWRkcmVzcyA1ICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9BRERSNl9SWCByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9BRERSNl9SWF9BRERSNl9SWF9Qb3MgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9BRERSNl9SWF9BRERSNl9SWF9Nc2sgICAgICAgICAgICAgICAoMHg3RkZGVSA8PCBVU0JfQUREUjZfUlhfQUREUjZfUlhfUG9zKSAvKiE8IDB4MDAwMEZGRkUgKi8NCiNkZWZpbmUgVVNCX0FERFI2X1JYX0FERFI2X1JYICAgICAgICAgICAgICAgICAgIFVTQl9BRERSNl9SWF9BRERSNl9SWF9Nc2sgICAgICAvKiE8IFJlY2VwdGlvbiBCdWZmZXIgQWRkcmVzcyA2ICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9BRERSN19SWCByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9BRERSN19SWF9BRERSN19SWF9Qb3MgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9BRERSN19SWF9BRERSN19SWF9Nc2sgICAgICAgICAgICAgICAoMHg3RkZGVSA8PCBVU0JfQUREUjdfUlhfQUREUjdfUlhfUG9zKSAvKiE8IDB4MDAwMEZGRkUgKi8NCiNkZWZpbmUgVVNCX0FERFI3X1JYX0FERFI3X1JYICAgICAgICAgICAgICAgICAgIFVTQl9BRERSN19SWF9BRERSN19SWF9Nc2sgICAgICAvKiE8IFJlY2VwdGlvbiBCdWZmZXIgQWRkcmVzcyA3ICovDQoNCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDBfUlggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDBfUlhfQ09VTlQwX1JYX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9DT1VOVDBfUlhfQ09VTlQwX1JYX01zayAgICAgICAgICAgICAoMHgzRkZVIDw8IFVTQl9DT1VOVDBfUlhfQ09VTlQwX1JYX1BvcykgLyohPCAweDAwMDAwM0ZGICovDQojZGVmaW5lIFVTQl9DT1VOVDBfUlhfQ09VTlQwX1JYICAgICAgICAgICAgICAgICBVU0JfQ09VTlQwX1JYX0NPVU5UMF9SWF9Nc2sgICAgLyohPCBSZWNlcHRpb24gQnl0ZSBDb3VudCAqLw0KDQojZGVmaW5lIFVTQl9DT1VOVDBfUlhfTlVNX0JMT0NLX1BvcyAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9DT1VOVDBfUlhfTlVNX0JMT0NLX01zayAgICAgICAgICAgICAoMHgxRlUgPDwgVVNCX0NPVU5UMF9SWF9OVU1fQkxPQ0tfUG9zKSAvKiE8IDB4MDAwMDdDMDAgKi8NCiNkZWZpbmUgVVNCX0NPVU5UMF9SWF9OVU1fQkxPQ0sgICAgICAgICAgICAgICAgIFVTQl9DT1VOVDBfUlhfTlVNX0JMT0NLX01zayAgICAvKiE8IE5VTV9CTE9DS1s0OjBdIGJpdHMgKE51bWJlciBvZiBibG9ja3MpICovDQojZGVmaW5lIFVTQl9DT1VOVDBfUlhfTlVNX0JMT0NLXzAgICAgICAgICAgICAgICAoMHgwMVUgPDwgVVNCX0NPVU5UMF9SWF9OVU1fQkxPQ0tfUG9zKSAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVVNCX0NPVU5UMF9SWF9OVU1fQkxPQ0tfMSAgICAgICAgICAgICAgICgweDAyVSA8PCBVU0JfQ09VTlQwX1JYX05VTV9CTE9DS19Qb3MpIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBVU0JfQ09VTlQwX1JYX05VTV9CTE9DS18yICAgICAgICAgICAgICAgKDB4MDRVIDw8IFVTQl9DT1VOVDBfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFVTQl9DT1VOVDBfUlhfTlVNX0JMT0NLXzMgICAgICAgICAgICAgICAoMHgwOFUgPDwgVVNCX0NPVU5UMF9SWF9OVU1fQkxPQ0tfUG9zKSAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgVVNCX0NPVU5UMF9SWF9OVU1fQkxPQ0tfNCAgICAgICAgICAgICAgICgweDEwVSA8PCBVU0JfQ09VTlQwX1JYX05VTV9CTE9DS19Qb3MpIC8qITwgMHgwMDAwNDAwMCAqLw0KDQojZGVmaW5lIFVTQl9DT1VOVDBfUlhfQkxTSVpFX1BvcyAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9DT1VOVDBfUlhfQkxTSVpFX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfQ09VTlQwX1JYX0JMU0laRV9Qb3MpIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBVU0JfQ09VTlQwX1JYX0JMU0laRSAgICAgICAgICAgICAgICAgICAgVVNCX0NPVU5UMF9SWF9CTFNJWkVfTXNrICAgICAgIC8qITwgQkxvY2sgU0laRSAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQ09VTlQxX1JYIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQxX1JYX0NPVU5UMV9SWF9Qb3MgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfQ09VTlQxX1JYX0NPVU5UMV9SWF9Nc2sgICAgICAgICAgICAgKDB4M0ZGVSA8PCBVU0JfQ09VTlQxX1JYX0NPVU5UMV9SWF9Qb3MpIC8qITwgMHgwMDAwMDNGRiAqLw0KI2RlZmluZSBVU0JfQ09VTlQxX1JYX0NPVU5UMV9SWCAgICAgICAgICAgICAgICAgVVNCX0NPVU5UMV9SWF9DT1VOVDFfUlhfTXNrICAgIC8qITwgUmVjZXB0aW9uIEJ5dGUgQ291bnQgKi8NCg0KI2RlZmluZSBVU0JfQ09VTlQxX1JYX05VTV9CTE9DS19Qb3MgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfQ09VTlQxX1JYX05VTV9CTE9DS19Nc2sgICAgICAgICAgICAgKDB4MUZVIDw8IFVTQl9DT1VOVDFfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDA3QzAwICovDQojZGVmaW5lIFVTQl9DT1VOVDFfUlhfTlVNX0JMT0NLICAgICAgICAgICAgICAgICBVU0JfQ09VTlQxX1JYX05VTV9CTE9DS19Nc2sgICAgLyohPCBOVU1fQkxPQ0tbNDowXSBiaXRzIChOdW1iZXIgb2YgYmxvY2tzKSAqLw0KI2RlZmluZSBVU0JfQ09VTlQxX1JYX05VTV9CTE9DS18wICAgICAgICAgICAgICAgKDB4MDFVIDw8IFVTQl9DT1VOVDFfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFVTQl9DT1VOVDFfUlhfTlVNX0JMT0NLXzEgICAgICAgICAgICAgICAoMHgwMlUgPDwgVVNCX0NPVU5UMV9SWF9OVU1fQkxPQ0tfUG9zKSAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVVNCX0NPVU5UMV9SWF9OVU1fQkxPQ0tfMiAgICAgICAgICAgICAgICgweDA0VSA8PCBVU0JfQ09VTlQxX1JYX05VTV9CTE9DS19Qb3MpIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBVU0JfQ09VTlQxX1JYX05VTV9CTE9DS18zICAgICAgICAgICAgICAgKDB4MDhVIDw8IFVTQl9DT1VOVDFfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFVTQl9DT1VOVDFfUlhfTlVNX0JMT0NLXzQgICAgICAgICAgICAgICAoMHgxMFUgPDwgVVNCX0NPVU5UMV9SWF9OVU1fQkxPQ0tfUG9zKSAvKiE8IDB4MDAwMDQwMDAgKi8NCg0KI2RlZmluZSBVU0JfQ09VTlQxX1JYX0JMU0laRV9Qb3MgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfQ09VTlQxX1JYX0JMU0laRV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0NPVU5UMV9SWF9CTFNJWkVfUG9zKSAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgVVNCX0NPVU5UMV9SWF9CTFNJWkUgICAgICAgICAgICAgICAgICAgIFVTQl9DT1VOVDFfUlhfQkxTSVpFX01zayAgICAgICAvKiE8IEJMb2NrIFNJWkUgKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0NPVU5UMl9SWCByZWdpc3RlciAgKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0NPVU5UMl9SWF9DT1VOVDJfUlhfUG9zICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NPVU5UMl9SWF9DT1VOVDJfUlhfTXNrICAgICAgICAgICAgICgweDNGRlUgPDwgVVNCX0NPVU5UMl9SWF9DT1VOVDJfUlhfUG9zKSAvKiE8IDB4MDAwMDAzRkYgKi8NCiNkZWZpbmUgVVNCX0NPVU5UMl9SWF9DT1VOVDJfUlggICAgICAgICAgICAgICAgIFVTQl9DT1VOVDJfUlhfQ09VTlQyX1JYX01zayAgICAvKiE8IFJlY2VwdGlvbiBCeXRlIENvdW50ICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UMl9SWF9OVU1fQkxPQ0tfUG9zICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NPVU5UMl9SWF9OVU1fQkxPQ0tfTXNrICAgICAgICAgICAgICgweDFGVSA8PCBVU0JfQ09VTlQyX1JYX05VTV9CTE9DS19Qb3MpIC8qITwgMHgwMDAwN0MwMCAqLw0KI2RlZmluZSBVU0JfQ09VTlQyX1JYX05VTV9CTE9DSyAgICAgICAgICAgICAgICAgVVNCX0NPVU5UMl9SWF9OVU1fQkxPQ0tfTXNrICAgIC8qITwgTlVNX0JMT0NLWzQ6MF0gYml0cyAoTnVtYmVyIG9mIGJsb2NrcykgKi8NCiNkZWZpbmUgVVNCX0NPVU5UMl9SWF9OVU1fQkxPQ0tfMCAgICAgICAgICAgICAgICgweDAxVSA8PCBVU0JfQ09VTlQyX1JYX05VTV9CTE9DS19Qb3MpIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBVU0JfQ09VTlQyX1JYX05VTV9CTE9DS18xICAgICAgICAgICAgICAgKDB4MDJVIDw8IFVTQl9DT1VOVDJfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFVTQl9DT1VOVDJfUlhfTlVNX0JMT0NLXzIgICAgICAgICAgICAgICAoMHgwNFUgPDwgVVNCX0NPVU5UMl9SWF9OVU1fQkxPQ0tfUG9zKSAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVVNCX0NPVU5UMl9SWF9OVU1fQkxPQ0tfMyAgICAgICAgICAgICAgICgweDA4VSA8PCBVU0JfQ09VTlQyX1JYX05VTV9CTE9DS19Qb3MpIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBVU0JfQ09VTlQyX1JYX05VTV9CTE9DS180ICAgICAgICAgICAgICAgKDB4MTBVIDw8IFVTQl9DT1VOVDJfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDA0MDAwICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UMl9SWF9CTFNJWkVfUG9zICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NPVU5UMl9SWF9CTFNJWkVfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9DT1VOVDJfUlhfQkxTSVpFX1BvcykgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFVTQl9DT1VOVDJfUlhfQkxTSVpFICAgICAgICAgICAgICAgICAgICBVU0JfQ09VTlQyX1JYX0JMU0laRV9Nc2sgICAgICAgLyohPCBCTG9jayBTSVpFICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDNfUlggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDNfUlhfQ09VTlQzX1JYX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9DT1VOVDNfUlhfQ09VTlQzX1JYX01zayAgICAgICAgICAgICAoMHgzRkZVIDw8IFVTQl9DT1VOVDNfUlhfQ09VTlQzX1JYX1BvcykgLyohPCAweDAwMDAwM0ZGICovDQojZGVmaW5lIFVTQl9DT1VOVDNfUlhfQ09VTlQzX1JYICAgICAgICAgICAgICAgICBVU0JfQ09VTlQzX1JYX0NPVU5UM19SWF9Nc2sgICAgLyohPCBSZWNlcHRpb24gQnl0ZSBDb3VudCAqLw0KDQojZGVmaW5lIFVTQl9DT1VOVDNfUlhfTlVNX0JMT0NLX1BvcyAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9DT1VOVDNfUlhfTlVNX0JMT0NLX01zayAgICAgICAgICAgICAoMHgxRlUgPDwgVVNCX0NPVU5UM19SWF9OVU1fQkxPQ0tfUG9zKSAvKiE8IDB4MDAwMDdDMDAgKi8NCiNkZWZpbmUgVVNCX0NPVU5UM19SWF9OVU1fQkxPQ0sgICAgICAgICAgICAgICAgIFVTQl9DT1VOVDNfUlhfTlVNX0JMT0NLX01zayAgICAvKiE8IE5VTV9CTE9DS1s0OjBdIGJpdHMgKE51bWJlciBvZiBibG9ja3MpICovDQojZGVmaW5lIFVTQl9DT1VOVDNfUlhfTlVNX0JMT0NLXzAgICAgICAgICAgICAgICAoMHgwMVUgPDwgVVNCX0NPVU5UM19SWF9OVU1fQkxPQ0tfUG9zKSAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVVNCX0NPVU5UM19SWF9OVU1fQkxPQ0tfMSAgICAgICAgICAgICAgICgweDAyVSA8PCBVU0JfQ09VTlQzX1JYX05VTV9CTE9DS19Qb3MpIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBVU0JfQ09VTlQzX1JYX05VTV9CTE9DS18yICAgICAgICAgICAgICAgKDB4MDRVIDw8IFVTQl9DT1VOVDNfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFVTQl9DT1VOVDNfUlhfTlVNX0JMT0NLXzMgICAgICAgICAgICAgICAoMHgwOFUgPDwgVVNCX0NPVU5UM19SWF9OVU1fQkxPQ0tfUG9zKSAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgVVNCX0NPVU5UM19SWF9OVU1fQkxPQ0tfNCAgICAgICAgICAgICAgICgweDEwVSA8PCBVU0JfQ09VTlQzX1JYX05VTV9CTE9DS19Qb3MpIC8qITwgMHgwMDAwNDAwMCAqLw0KDQojZGVmaW5lIFVTQl9DT1VOVDNfUlhfQkxTSVpFX1BvcyAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9DT1VOVDNfUlhfQkxTSVpFX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfQ09VTlQzX1JYX0JMU0laRV9Qb3MpIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBVU0JfQ09VTlQzX1JYX0JMU0laRSAgICAgICAgICAgICAgICAgICAgVVNCX0NPVU5UM19SWF9CTFNJWkVfTXNrICAgICAgIC8qITwgQkxvY2sgU0laRSAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQ09VTlQ0X1JYIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQ0X1JYX0NPVU5UNF9SWF9Qb3MgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfQ09VTlQ0X1JYX0NPVU5UNF9SWF9Nc2sgICAgICAgICAgICAgKDB4M0ZGVSA8PCBVU0JfQ09VTlQ0X1JYX0NPVU5UNF9SWF9Qb3MpIC8qITwgMHgwMDAwMDNGRiAqLw0KI2RlZmluZSBVU0JfQ09VTlQ0X1JYX0NPVU5UNF9SWCAgICAgICAgICAgICAgICAgVVNCX0NPVU5UNF9SWF9DT1VOVDRfUlhfTXNrICAgIC8qITwgUmVjZXB0aW9uIEJ5dGUgQ291bnQgKi8NCg0KI2RlZmluZSBVU0JfQ09VTlQ0X1JYX05VTV9CTE9DS19Qb3MgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfQ09VTlQ0X1JYX05VTV9CTE9DS19Nc2sgICAgICAgICAgICAgKDB4MUZVIDw8IFVTQl9DT1VOVDRfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDA3QzAwICovDQojZGVmaW5lIFVTQl9DT1VOVDRfUlhfTlVNX0JMT0NLICAgICAgICAgICAgICAgICBVU0JfQ09VTlQ0X1JYX05VTV9CTE9DS19Nc2sgICAgLyohPCBOVU1fQkxPQ0tbNDowXSBiaXRzIChOdW1iZXIgb2YgYmxvY2tzKSAqLw0KI2RlZmluZSBVU0JfQ09VTlQ0X1JYX05VTV9CTE9DS18wICAgICAgICAgICAgICAgKDB4MDFVIDw8IFVTQl9DT1VOVDRfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFVTQl9DT1VOVDRfUlhfTlVNX0JMT0NLXzEgICAgICAgICAgICAgICAoMHgwMlUgPDwgVVNCX0NPVU5UNF9SWF9OVU1fQkxPQ0tfUG9zKSAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVVNCX0NPVU5UNF9SWF9OVU1fQkxPQ0tfMiAgICAgICAgICAgICAgICgweDA0VSA8PCBVU0JfQ09VTlQ0X1JYX05VTV9CTE9DS19Qb3MpIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBVU0JfQ09VTlQ0X1JYX05VTV9CTE9DS18zICAgICAgICAgICAgICAgKDB4MDhVIDw8IFVTQl9DT1VOVDRfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFVTQl9DT1VOVDRfUlhfTlVNX0JMT0NLXzQgICAgICAgICAgICAgICAoMHgxMFUgPDwgVVNCX0NPVU5UNF9SWF9OVU1fQkxPQ0tfUG9zKSAvKiE8IDB4MDAwMDQwMDAgKi8NCg0KI2RlZmluZSBVU0JfQ09VTlQ0X1JYX0JMU0laRV9Qb3MgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfQ09VTlQ0X1JYX0JMU0laRV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0NPVU5UNF9SWF9CTFNJWkVfUG9zKSAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgVVNCX0NPVU5UNF9SWF9CTFNJWkUgICAgICAgICAgICAgICAgICAgIFVTQl9DT1VOVDRfUlhfQkxTSVpFX01zayAgICAgICAvKiE8IEJMb2NrIFNJWkUgKi8NCg0KLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0NPVU5UNV9SWCByZWdpc3RlciAgKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0NPVU5UNV9SWF9DT1VOVDVfUlhfUG9zICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NPVU5UNV9SWF9DT1VOVDVfUlhfTXNrICAgICAgICAgICAgICgweDNGRlUgPDwgVVNCX0NPVU5UNV9SWF9DT1VOVDVfUlhfUG9zKSAvKiE8IDB4MDAwMDAzRkYgKi8NCiNkZWZpbmUgVVNCX0NPVU5UNV9SWF9DT1VOVDVfUlggICAgICAgICAgICAgICAgIFVTQl9DT1VOVDVfUlhfQ09VTlQ1X1JYX01zayAgICAvKiE8IFJlY2VwdGlvbiBCeXRlIENvdW50ICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UNV9SWF9OVU1fQkxPQ0tfUG9zICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NPVU5UNV9SWF9OVU1fQkxPQ0tfTXNrICAgICAgICAgICAgICgweDFGVSA8PCBVU0JfQ09VTlQ1X1JYX05VTV9CTE9DS19Qb3MpIC8qITwgMHgwMDAwN0MwMCAqLw0KI2RlZmluZSBVU0JfQ09VTlQ1X1JYX05VTV9CTE9DSyAgICAgICAgICAgICAgICAgVVNCX0NPVU5UNV9SWF9OVU1fQkxPQ0tfTXNrICAgIC8qITwgTlVNX0JMT0NLWzQ6MF0gYml0cyAoTnVtYmVyIG9mIGJsb2NrcykgKi8NCiNkZWZpbmUgVVNCX0NPVU5UNV9SWF9OVU1fQkxPQ0tfMCAgICAgICAgICAgICAgICgweDAxVSA8PCBVU0JfQ09VTlQ1X1JYX05VTV9CTE9DS19Qb3MpIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBVU0JfQ09VTlQ1X1JYX05VTV9CTE9DS18xICAgICAgICAgICAgICAgKDB4MDJVIDw8IFVTQl9DT1VOVDVfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIFVTQl9DT1VOVDVfUlhfTlVNX0JMT0NLXzIgICAgICAgICAgICAgICAoMHgwNFUgPDwgVVNCX0NPVU5UNV9SWF9OVU1fQkxPQ0tfUG9zKSAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVVNCX0NPVU5UNV9SWF9OVU1fQkxPQ0tfMyAgICAgICAgICAgICAgICgweDA4VSA8PCBVU0JfQ09VTlQ1X1JYX05VTV9CTE9DS19Qb3MpIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBVU0JfQ09VTlQ1X1JYX05VTV9CTE9DS180ICAgICAgICAgICAgICAgKDB4MTBVIDw8IFVTQl9DT1VOVDVfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDA0MDAwICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UNV9SWF9CTFNJWkVfUG9zICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNCX0NPVU5UNV9SWF9CTFNJWkVfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQl9DT1VOVDVfUlhfQkxTSVpFX1BvcykgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIFVTQl9DT1VOVDVfUlhfQkxTSVpFICAgICAgICAgICAgICAgICAgICBVU0JfQ09VTlQ1X1JYX0JMU0laRV9Nc2sgICAgICAgLyohPCBCTG9jayBTSVpFICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDZfUlggcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDZfUlhfQ09VTlQ2X1JYX1BvcyAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9DT1VOVDZfUlhfQ09VTlQ2X1JYX01zayAgICAgICAgICAgICAoMHgzRkZVIDw8IFVTQl9DT1VOVDZfUlhfQ09VTlQ2X1JYX1BvcykgLyohPCAweDAwMDAwM0ZGICovDQojZGVmaW5lIFVTQl9DT1VOVDZfUlhfQ09VTlQ2X1JYICAgICAgICAgICAgICAgICBVU0JfQ09VTlQ2X1JYX0NPVU5UNl9SWF9Nc2sgICAgLyohPCBSZWNlcHRpb24gQnl0ZSBDb3VudCAqLw0KDQojZGVmaW5lIFVTQl9DT1VOVDZfUlhfTlVNX0JMT0NLX1BvcyAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9DT1VOVDZfUlhfTlVNX0JMT0NLX01zayAgICAgICAgICAgICAoMHgxRlUgPDwgVVNCX0NPVU5UNl9SWF9OVU1fQkxPQ0tfUG9zKSAvKiE8IDB4MDAwMDdDMDAgKi8NCiNkZWZpbmUgVVNCX0NPVU5UNl9SWF9OVU1fQkxPQ0sgICAgICAgICAgICAgICAgIFVTQl9DT1VOVDZfUlhfTlVNX0JMT0NLX01zayAgICAvKiE8IE5VTV9CTE9DS1s0OjBdIGJpdHMgKE51bWJlciBvZiBibG9ja3MpICovDQojZGVmaW5lIFVTQl9DT1VOVDZfUlhfTlVNX0JMT0NLXzAgICAgICAgICAgICAgICAoMHgwMVUgPDwgVVNCX0NPVU5UNl9SWF9OVU1fQkxPQ0tfUG9zKSAvKiE8IDB4MDAwMDA0MDAgKi8NCiNkZWZpbmUgVVNCX0NPVU5UNl9SWF9OVU1fQkxPQ0tfMSAgICAgICAgICAgICAgICgweDAyVSA8PCBVU0JfQ09VTlQ2X1JYX05VTV9CTE9DS19Qb3MpIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBVU0JfQ09VTlQ2X1JYX05VTV9CTE9DS18yICAgICAgICAgICAgICAgKDB4MDRVIDw8IFVTQl9DT1VOVDZfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFVTQl9DT1VOVDZfUlhfTlVNX0JMT0NLXzMgICAgICAgICAgICAgICAoMHgwOFUgPDwgVVNCX0NPVU5UNl9SWF9OVU1fQkxPQ0tfUG9zKSAvKiE8IDB4MDAwMDIwMDAgKi8NCiNkZWZpbmUgVVNCX0NPVU5UNl9SWF9OVU1fQkxPQ0tfNCAgICAgICAgICAgICAgICgweDEwVSA8PCBVU0JfQ09VTlQ2X1JYX05VTV9CTE9DS19Qb3MpIC8qITwgMHgwMDAwNDAwMCAqLw0KDQojZGVmaW5lIFVTQl9DT1VOVDZfUlhfQkxTSVpFX1BvcyAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQl9DT1VOVDZfUlhfQkxTSVpFX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0JfQ09VTlQ2X1JYX0JMU0laRV9Qb3MpIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBVU0JfQ09VTlQ2X1JYX0JMU0laRSAgICAgICAgICAgICAgICAgICAgVVNCX0NPVU5UNl9SWF9CTFNJWkVfTXNrICAgICAgIC8qITwgQkxvY2sgU0laRSAqLw0KDQovKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQ09VTlQ3X1JYIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQ3X1JYX0NPVU5UN19SWF9Qb3MgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfQ09VTlQ3X1JYX0NPVU5UN19SWF9Nc2sgICAgICAgICAgICAgKDB4M0ZGVSA8PCBVU0JfQ09VTlQ3X1JYX0NPVU5UN19SWF9Qb3MpIC8qITwgMHgwMDAwMDNGRiAqLw0KI2RlZmluZSBVU0JfQ09VTlQ3X1JYX0NPVU5UN19SWCAgICAgICAgICAgICAgICAgVVNCX0NPVU5UN19SWF9DT1VOVDdfUlhfTXNrICAgIC8qITwgUmVjZXB0aW9uIEJ5dGUgQ291bnQgKi8NCg0KI2RlZmluZSBVU0JfQ09VTlQ3X1JYX05VTV9CTE9DS19Qb3MgICAgICAgICAgICAgKDEwVSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfQ09VTlQ3X1JYX05VTV9CTE9DS19Nc2sgICAgICAgICAgICAgKDB4MUZVIDw8IFVTQl9DT1VOVDdfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDA3QzAwICovDQojZGVmaW5lIFVTQl9DT1VOVDdfUlhfTlVNX0JMT0NLICAgICAgICAgICAgICAgICBVU0JfQ09VTlQ3X1JYX05VTV9CTE9DS19Nc2sgICAgLyohPCBOVU1fQkxPQ0tbNDowXSBiaXRzIChOdW1iZXIgb2YgYmxvY2tzKSAqLw0KI2RlZmluZSBVU0JfQ09VTlQ3X1JYX05VTV9CTE9DS18wICAgICAgICAgICAgICAgKDB4MDFVIDw8IFVTQl9DT1VOVDdfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFVTQl9DT1VOVDdfUlhfTlVNX0JMT0NLXzEgICAgICAgICAgICAgICAoMHgwMlUgPDwgVVNCX0NPVU5UN19SWF9OVU1fQkxPQ0tfUG9zKSAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVVNCX0NPVU5UN19SWF9OVU1fQkxPQ0tfMiAgICAgICAgICAgICAgICgweDA0VSA8PCBVU0JfQ09VTlQ3X1JYX05VTV9CTE9DS19Qb3MpIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBVU0JfQ09VTlQ3X1JYX05VTV9CTE9DS18zICAgICAgICAgICAgICAgKDB4MDhVIDw8IFVTQl9DT1VOVDdfUlhfTlVNX0JMT0NLX1BvcykgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFVTQl9DT1VOVDdfUlhfTlVNX0JMT0NLXzQgICAgICAgICAgICAgICAoMHgxMFUgPDwgVVNCX0NPVU5UN19SWF9OVU1fQkxPQ0tfUG9zKSAvKiE8IDB4MDAwMDQwMDAgKi8NCg0KI2RlZmluZSBVU0JfQ09VTlQ3X1JYX0JMU0laRV9Qb3MgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0JfQ09VTlQ3X1JYX0JMU0laRV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNCX0NPVU5UN19SWF9CTFNJWkVfUG9zKSAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgVVNCX0NPVU5UN19SWF9CTFNJWkUgICAgICAgICAgICAgICAgICAgIFVTQl9DT1VOVDdfUlhfQkxTSVpFX01zayAgICAgICAvKiE8IEJMb2NrIFNJWkUgKi8NCg0KLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCg0KLyoqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQ09VTlQwX1JYXzAgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0NPVU5UMF9SWF8wX0NPVU5UMF9SWF8wICAgICAgICAgICAgIDB4MDAwMDAzRkZVICAgICAgICAgICAgICAgICAgICAvKiE8IFJlY2VwdGlvbiBCeXRlIENvdW50IChsb3cpICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UMF9SWF8wX05VTV9CTE9DS18wICAgICAgICAgICAgIDB4MDAwMDdDMDBVICAgICAgICAgICAgICAgICAgICAvKiE8IE5VTV9CTE9DS18wWzQ6MF0gYml0cyAoTnVtYmVyIG9mIGJsb2NrcykgKGxvdykgKi8NCiNkZWZpbmUgVVNCX0NPVU5UMF9SWF8wX05VTV9CTE9DS18wXzAgICAgICAgICAgIDB4MDAwMDA0MDBVICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAwICovDQojZGVmaW5lIFVTQl9DT1VOVDBfUlhfMF9OVU1fQkxPQ0tfMF8xICAgICAgICAgICAweDAwMDAwODAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMSAqLw0KI2RlZmluZSBVU0JfQ09VTlQwX1JYXzBfTlVNX0JMT0NLXzBfMiAgICAgICAgICAgMHgwMDAwMTAwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDIgKi8NCiNkZWZpbmUgVVNCX0NPVU5UMF9SWF8wX05VTV9CTE9DS18wXzMgICAgICAgICAgIDB4MDAwMDIwMDBVICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAzICovDQojZGVmaW5lIFVTQl9DT1VOVDBfUlhfMF9OVU1fQkxPQ0tfMF80ICAgICAgICAgICAweDAwMDA0MDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgNCAqLw0KDQojZGVmaW5lIFVTQl9DT1VOVDBfUlhfMF9CTFNJWkVfMCAgICAgICAgICAgICAgICAweDAwMDA4MDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBCTG9jayBTSVpFIChsb3cpICovDQoNCi8qKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0NPVU5UMF9SWF8xIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDBfUlhfMV9DT1VOVDBfUlhfMSAgICAgICAgICAgICAweDAzRkYwMDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBSZWNlcHRpb24gQnl0ZSBDb3VudCAoaGlnaCkgKi8NCg0KI2RlZmluZSBVU0JfQ09VTlQwX1JYXzFfTlVNX0JMT0NLXzEgICAgICAgICAgICAgMHg3QzAwMDAwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgTlVNX0JMT0NLXzFbNDowXSBiaXRzIChOdW1iZXIgb2YgYmxvY2tzKSAoaGlnaCkgKi8NCiNkZWZpbmUgVVNCX0NPVU5UMF9SWF8xX05VTV9CTE9DS18xXzAgICAgICAgICAgIDB4MDQwMDAwMDBVICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAxICovDQojZGVmaW5lIFVTQl9DT1VOVDBfUlhfMV9OVU1fQkxPQ0tfMV8xICAgICAgICAgICAweDA4MDAwMDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMSAqLw0KI2RlZmluZSBVU0JfQ09VTlQwX1JYXzFfTlVNX0JMT0NLXzFfMiAgICAgICAgICAgMHgxMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDIgKi8NCiNkZWZpbmUgVVNCX0NPVU5UMF9SWF8xX05VTV9CTE9DS18xXzMgICAgICAgICAgIDB4MjAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAzICovDQojZGVmaW5lIFVTQl9DT1VOVDBfUlhfMV9OVU1fQkxPQ0tfMV80ICAgICAgICAgICAweDQwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgNCAqLw0KDQojZGVmaW5lIFVTQl9DT1VOVDBfUlhfMV9CTFNJWkVfMSAgICAgICAgICAgICAgICAweDgwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBCTG9jayBTSVpFIChoaWdoKSAqLw0KDQovKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDFfUlhfMCByZWdpc3RlciAgKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQxX1JYXzBfQ09VTlQxX1JYXzAgICAgICAgICAgICAgMHgwMDAwMDNGRlUgICAgICAgICAgICAgICAgICAgIC8qITwgUmVjZXB0aW9uIEJ5dGUgQ291bnQgKGxvdykgKi8NCg0KI2RlZmluZSBVU0JfQ09VTlQxX1JYXzBfTlVNX0JMT0NLXzAgICAgICAgICAgICAgMHgwMDAwN0MwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgTlVNX0JMT0NLXzBbNDowXSBiaXRzIChOdW1iZXIgb2YgYmxvY2tzKSAobG93KSAqLw0KI2RlZmluZSBVU0JfQ09VTlQxX1JYXzBfTlVNX0JMT0NLXzBfMCAgICAgICAgICAgMHgwMDAwMDQwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDAgKi8NCiNkZWZpbmUgVVNCX0NPVU5UMV9SWF8wX05VTV9CTE9DS18wXzEgICAgICAgICAgIDB4MDAwMDA4MDBVICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAxICovDQojZGVmaW5lIFVTQl9DT1VOVDFfUlhfMF9OVU1fQkxPQ0tfMF8yICAgICAgICAgICAweDAwMDAxMDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMiAqLw0KI2RlZmluZSBVU0JfQ09VTlQxX1JYXzBfTlVNX0JMT0NLXzBfMyAgICAgICAgICAgMHgwMDAwMjAwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDMgKi8NCiNkZWZpbmUgVVNCX0NPVU5UMV9SWF8wX05VTV9CTE9DS18wXzQgICAgICAgICAgIDB4MDAwMDQwMDBVICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCA0ICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UMV9SWF8wX0JMU0laRV8wICAgICAgICAgICAgICAgIDB4MDAwMDgwMDBVICAgICAgICAgICAgICAgICAgICAvKiE8IEJMb2NrIFNJWkUgKGxvdykgKi8NCg0KLyoqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQ09VTlQxX1JYXzEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0NPVU5UMV9SWF8xX0NPVU5UMV9SWF8xICAgICAgICAgICAgIDB4MDNGRjAwMDBVICAgICAgICAgICAgICAgICAgICAvKiE8IFJlY2VwdGlvbiBCeXRlIENvdW50IChoaWdoKSAqLw0KDQojZGVmaW5lIFVTQl9DT1VOVDFfUlhfMV9OVU1fQkxPQ0tfMSAgICAgICAgICAgICAweDdDMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBOVU1fQkxPQ0tfMVs0OjBdIGJpdHMgKE51bWJlciBvZiBibG9ja3MpIChoaWdoKSAqLw0KI2RlZmluZSBVU0JfQ09VTlQxX1JYXzFfTlVNX0JMT0NLXzFfMCAgICAgICAgICAgMHgwNDAwMDAwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDAgKi8NCiNkZWZpbmUgVVNCX0NPVU5UMV9SWF8xX05VTV9CTE9DS18xXzEgICAgICAgICAgIDB4MDgwMDAwMDBVICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAxICovDQojZGVmaW5lIFVTQl9DT1VOVDFfUlhfMV9OVU1fQkxPQ0tfMV8yICAgICAgICAgICAweDEwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMiAqLw0KI2RlZmluZSBVU0JfQ09VTlQxX1JYXzFfTlVNX0JMT0NLXzFfMyAgICAgICAgICAgMHgyMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDMgKi8NCiNkZWZpbmUgVVNCX0NPVU5UMV9SWF8xX05VTV9CTE9DS18xXzQgICAgICAgICAgIDB4NDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCA0ICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UMV9SWF8xX0JMU0laRV8xICAgICAgICAgICAgICAgIDB4ODAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAvKiE8IEJMb2NrIFNJWkUgKGhpZ2gpICovDQoNCi8qKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0NPVU5UMl9SWF8wIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDJfUlhfMF9DT1VOVDJfUlhfMCAgICAgICAgICAgICAweDAwMDAwM0ZGVSAgICAgICAgICAgICAgICAgICAgLyohPCBSZWNlcHRpb24gQnl0ZSBDb3VudCAobG93KSAqLw0KDQojZGVmaW5lIFVTQl9DT1VOVDJfUlhfMF9OVU1fQkxPQ0tfMCAgICAgICAgICAgICAweDAwMDA3QzAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBOVU1fQkxPQ0tfMFs0OjBdIGJpdHMgKE51bWJlciBvZiBibG9ja3MpIChsb3cpICovDQojZGVmaW5lIFVTQl9DT1VOVDJfUlhfMF9OVU1fQkxPQ0tfMF8wICAgICAgICAgICAweDAwMDAwNDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMCAqLw0KI2RlZmluZSBVU0JfQ09VTlQyX1JYXzBfTlVNX0JMT0NLXzBfMSAgICAgICAgICAgMHgwMDAwMDgwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDEgKi8NCiNkZWZpbmUgVVNCX0NPVU5UMl9SWF8wX05VTV9CTE9DS18wXzIgICAgICAgICAgIDB4MDAwMDEwMDBVICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAyICovDQojZGVmaW5lIFVTQl9DT1VOVDJfUlhfMF9OVU1fQkxPQ0tfMF8zICAgICAgICAgICAweDAwMDAyMDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMyAqLw0KI2RlZmluZSBVU0JfQ09VTlQyX1JYXzBfTlVNX0JMT0NLXzBfNCAgICAgICAgICAgMHgwMDAwNDAwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDQgKi8NCg0KI2RlZmluZSBVU0JfQ09VTlQyX1JYXzBfQkxTSVpFXzAgICAgICAgICAgICAgICAgMHgwMDAwODAwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgQkxvY2sgU0laRSAobG93KSAqLw0KDQovKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDJfUlhfMSByZWdpc3RlciAgKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQyX1JYXzFfQ09VTlQyX1JYXzEgICAgICAgICAgICAgMHgwM0ZGMDAwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgUmVjZXB0aW9uIEJ5dGUgQ291bnQgKGhpZ2gpICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UMl9SWF8xX05VTV9CTE9DS18xICAgICAgICAgICAgIDB4N0MwMDAwMDBVICAgICAgICAgICAgICAgICAgICAvKiE8IE5VTV9CTE9DS18xWzQ6MF0gYml0cyAoTnVtYmVyIG9mIGJsb2NrcykgKGhpZ2gpICovDQojZGVmaW5lIFVTQl9DT1VOVDJfUlhfMV9OVU1fQkxPQ0tfMV8wICAgICAgICAgICAweDA0MDAwMDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMCAqLw0KI2RlZmluZSBVU0JfQ09VTlQyX1JYXzFfTlVNX0JMT0NLXzFfMSAgICAgICAgICAgMHgwODAwMDAwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDEgKi8NCiNkZWZpbmUgVVNCX0NPVU5UMl9SWF8xX05VTV9CTE9DS18xXzIgICAgICAgICAgIDB4MTAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAyICovDQojZGVmaW5lIFVTQl9DT1VOVDJfUlhfMV9OVU1fQkxPQ0tfMV8zICAgICAgICAgICAweDIwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMyAqLw0KI2RlZmluZSBVU0JfQ09VTlQyX1JYXzFfTlVNX0JMT0NLXzFfNCAgICAgICAgICAgMHg0MDAwMDAwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDQgKi8NCg0KI2RlZmluZSBVU0JfQ09VTlQyX1JYXzFfQkxTSVpFXzEgICAgICAgICAgICAgICAgMHg4MDAwMDAwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgQkxvY2sgU0laRSAoaGlnaCkgKi8NCg0KLyoqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQ09VTlQzX1JYXzAgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0NPVU5UM19SWF8wX0NPVU5UM19SWF8wICAgICAgICAgICAgIDB4MDAwMDAzRkZVICAgICAgICAgICAgICAgICAgICAvKiE8IFJlY2VwdGlvbiBCeXRlIENvdW50IChsb3cpICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UM19SWF8wX05VTV9CTE9DS18wICAgICAgICAgICAgIDB4MDAwMDdDMDBVICAgICAgICAgICAgICAgICAgICAvKiE8IE5VTV9CTE9DS18wWzQ6MF0gYml0cyAoTnVtYmVyIG9mIGJsb2NrcykgKGxvdykgKi8NCiNkZWZpbmUgVVNCX0NPVU5UM19SWF8wX05VTV9CTE9DS18wXzAgICAgICAgICAgIDB4MDAwMDA0MDBVICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAwICovDQojZGVmaW5lIFVTQl9DT1VOVDNfUlhfMF9OVU1fQkxPQ0tfMF8xICAgICAgICAgICAweDAwMDAwODAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMSAqLw0KI2RlZmluZSBVU0JfQ09VTlQzX1JYXzBfTlVNX0JMT0NLXzBfMiAgICAgICAgICAgMHgwMDAwMTAwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDIgKi8NCiNkZWZpbmUgVVNCX0NPVU5UM19SWF8wX05VTV9CTE9DS18wXzMgICAgICAgICAgIDB4MDAwMDIwMDBVICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAzICovDQojZGVmaW5lIFVTQl9DT1VOVDNfUlhfMF9OVU1fQkxPQ0tfMF80ICAgICAgICAgICAweDAwMDA0MDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgNCAqLw0KDQojZGVmaW5lIFVTQl9DT1VOVDNfUlhfMF9CTFNJWkVfMCAgICAgICAgICAgICAgICAweDAwMDA4MDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBCTG9jayBTSVpFIChsb3cpICovDQoNCi8qKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0NPVU5UM19SWF8xIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDNfUlhfMV9DT1VOVDNfUlhfMSAgICAgICAgICAgICAweDAzRkYwMDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBSZWNlcHRpb24gQnl0ZSBDb3VudCAoaGlnaCkgKi8NCg0KI2RlZmluZSBVU0JfQ09VTlQzX1JYXzFfTlVNX0JMT0NLXzEgICAgICAgICAgICAgMHg3QzAwMDAwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgTlVNX0JMT0NLXzFbNDowXSBiaXRzIChOdW1iZXIgb2YgYmxvY2tzKSAoaGlnaCkgKi8NCiNkZWZpbmUgVVNCX0NPVU5UM19SWF8xX05VTV9CTE9DS18xXzAgICAgICAgICAgIDB4MDQwMDAwMDBVICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAwICovDQojZGVmaW5lIFVTQl9DT1VOVDNfUlhfMV9OVU1fQkxPQ0tfMV8xICAgICAgICAgICAweDA4MDAwMDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMSAqLw0KI2RlZmluZSBVU0JfQ09VTlQzX1JYXzFfTlVNX0JMT0NLXzFfMiAgICAgICAgICAgMHgxMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDIgKi8NCiNkZWZpbmUgVVNCX0NPVU5UM19SWF8xX05VTV9CTE9DS18xXzMgICAgICAgICAgIDB4MjAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAzICovDQojZGVmaW5lIFVTQl9DT1VOVDNfUlhfMV9OVU1fQkxPQ0tfMV80ICAgICAgICAgICAweDQwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgNCAqLw0KDQojZGVmaW5lIFVTQl9DT1VOVDNfUlhfMV9CTFNJWkVfMSAgICAgICAgICAgICAgICAweDgwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBCTG9jayBTSVpFIChoaWdoKSAqLw0KDQovKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDRfUlhfMCByZWdpc3RlciAgKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQ0X1JYXzBfQ09VTlQ0X1JYXzAgICAgICAgICAgICAgMHgwMDAwMDNGRlUgICAgICAgICAgICAgICAgICAgIC8qITwgUmVjZXB0aW9uIEJ5dGUgQ291bnQgKGxvdykgKi8NCg0KI2RlZmluZSBVU0JfQ09VTlQ0X1JYXzBfTlVNX0JMT0NLXzAgICAgICAgICAgICAgMHgwMDAwN0MwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgTlVNX0JMT0NLXzBbNDowXSBiaXRzIChOdW1iZXIgb2YgYmxvY2tzKSAobG93KSAqLw0KI2RlZmluZSBVU0JfQ09VTlQ0X1JYXzBfTlVNX0JMT0NLXzBfMCAgICAgICAgICAgMHgwMDAwMDQwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDAgKi8NCiNkZWZpbmUgVVNCX0NPVU5UNF9SWF8wX05VTV9CTE9DS18wXzEgICAgICAgICAgIDB4MDAwMDA4MDBVICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAxICovDQojZGVmaW5lIFVTQl9DT1VOVDRfUlhfMF9OVU1fQkxPQ0tfMF8yICAgICAgICAgICAweDAwMDAxMDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMiAqLw0KI2RlZmluZSBVU0JfQ09VTlQ0X1JYXzBfTlVNX0JMT0NLXzBfMyAgICAgICAgICAgMHgwMDAwMjAwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDMgKi8NCiNkZWZpbmUgVVNCX0NPVU5UNF9SWF8wX05VTV9CTE9DS18wXzQgICAgICAgICAgIDB4MDAwMDQwMDBVICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCA0ICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UNF9SWF8wX0JMU0laRV8wICAgICAgICAgICAgICAgIDB4MDAwMDgwMDBVICAgICAgICAgICAgICAgICAgICAvKiE8IEJMb2NrIFNJWkUgKGxvdykgKi8NCg0KLyoqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQ09VTlQ0X1JYXzEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0NPVU5UNF9SWF8xX0NPVU5UNF9SWF8xICAgICAgICAgICAgIDB4MDNGRjAwMDBVICAgICAgICAgICAgICAgICAgICAvKiE8IFJlY2VwdGlvbiBCeXRlIENvdW50IChoaWdoKSAqLw0KDQojZGVmaW5lIFVTQl9DT1VOVDRfUlhfMV9OVU1fQkxPQ0tfMSAgICAgICAgICAgICAweDdDMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBOVU1fQkxPQ0tfMVs0OjBdIGJpdHMgKE51bWJlciBvZiBibG9ja3MpIChoaWdoKSAqLw0KI2RlZmluZSBVU0JfQ09VTlQ0X1JYXzFfTlVNX0JMT0NLXzFfMCAgICAgICAgICAgMHgwNDAwMDAwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDAgKi8NCiNkZWZpbmUgVVNCX0NPVU5UNF9SWF8xX05VTV9CTE9DS18xXzEgICAgICAgICAgIDB4MDgwMDAwMDBVICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAxICovDQojZGVmaW5lIFVTQl9DT1VOVDRfUlhfMV9OVU1fQkxPQ0tfMV8yICAgICAgICAgICAweDEwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMiAqLw0KI2RlZmluZSBVU0JfQ09VTlQ0X1JYXzFfTlVNX0JMT0NLXzFfMyAgICAgICAgICAgMHgyMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDMgKi8NCiNkZWZpbmUgVVNCX0NPVU5UNF9SWF8xX05VTV9CTE9DS18xXzQgICAgICAgICAgIDB4NDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCA0ICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UNF9SWF8xX0JMU0laRV8xICAgICAgICAgICAgICAgIDB4ODAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAvKiE8IEJMb2NrIFNJWkUgKGhpZ2gpICovDQoNCi8qKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0NPVU5UNV9SWF8wIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDVfUlhfMF9DT1VOVDVfUlhfMCAgICAgICAgICAgICAweDAwMDAwM0ZGVSAgICAgICAgICAgICAgICAgICAgLyohPCBSZWNlcHRpb24gQnl0ZSBDb3VudCAobG93KSAqLw0KDQojZGVmaW5lIFVTQl9DT1VOVDVfUlhfMF9OVU1fQkxPQ0tfMCAgICAgICAgICAgICAweDAwMDA3QzAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBOVU1fQkxPQ0tfMFs0OjBdIGJpdHMgKE51bWJlciBvZiBibG9ja3MpIChsb3cpICovDQojZGVmaW5lIFVTQl9DT1VOVDVfUlhfMF9OVU1fQkxPQ0tfMF8wICAgICAgICAgICAweDAwMDAwNDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMCAqLw0KI2RlZmluZSBVU0JfQ09VTlQ1X1JYXzBfTlVNX0JMT0NLXzBfMSAgICAgICAgICAgMHgwMDAwMDgwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDEgKi8NCiNkZWZpbmUgVVNCX0NPVU5UNV9SWF8wX05VTV9CTE9DS18wXzIgICAgICAgICAgIDB4MDAwMDEwMDBVICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAyICovDQojZGVmaW5lIFVTQl9DT1VOVDVfUlhfMF9OVU1fQkxPQ0tfMF8zICAgICAgICAgICAweDAwMDAyMDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMyAqLw0KI2RlZmluZSBVU0JfQ09VTlQ1X1JYXzBfTlVNX0JMT0NLXzBfNCAgICAgICAgICAgMHgwMDAwNDAwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDQgKi8NCg0KI2RlZmluZSBVU0JfQ09VTlQ1X1JYXzBfQkxTSVpFXzAgICAgICAgICAgICAgICAgMHgwMDAwODAwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgQkxvY2sgU0laRSAobG93KSAqLw0KDQovKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDVfUlhfMSByZWdpc3RlciAgKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0JfQ09VTlQ1X1JYXzFfQ09VTlQ1X1JYXzEgICAgICAgICAgICAgMHgwM0ZGMDAwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgUmVjZXB0aW9uIEJ5dGUgQ291bnQgKGhpZ2gpICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UNV9SWF8xX05VTV9CTE9DS18xICAgICAgICAgICAgIDB4N0MwMDAwMDBVICAgICAgICAgICAgICAgICAgICAvKiE8IE5VTV9CTE9DS18xWzQ6MF0gYml0cyAoTnVtYmVyIG9mIGJsb2NrcykgKGhpZ2gpICovDQojZGVmaW5lIFVTQl9DT1VOVDVfUlhfMV9OVU1fQkxPQ0tfMV8wICAgICAgICAgICAweDA0MDAwMDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMCAqLw0KI2RlZmluZSBVU0JfQ09VTlQ1X1JYXzFfTlVNX0JMT0NLXzFfMSAgICAgICAgICAgMHgwODAwMDAwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDEgKi8NCiNkZWZpbmUgVVNCX0NPVU5UNV9SWF8xX05VTV9CTE9DS18xXzIgICAgICAgICAgIDB4MTAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAyICovDQojZGVmaW5lIFVTQl9DT1VOVDVfUlhfMV9OVU1fQkxPQ0tfMV8zICAgICAgICAgICAweDIwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMyAqLw0KI2RlZmluZSBVU0JfQ09VTlQ1X1JYXzFfTlVNX0JMT0NLXzFfNCAgICAgICAgICAgMHg0MDAwMDAwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDQgKi8NCg0KI2RlZmluZSBVU0JfQ09VTlQ1X1JYXzFfQkxTSVpFXzEgICAgICAgICAgICAgICAgMHg4MDAwMDAwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgQkxvY2sgU0laRSAoaGlnaCkgKi8NCg0KLyoqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDZfUlhfMCAgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0NPVU5UNl9SWF8wX0NPVU5UNl9SWF8wICAgICAgICAgICAgIDB4MDAwMDAzRkZVICAgICAgICAgICAgICAgICAgICAvKiE8IFJlY2VwdGlvbiBCeXRlIENvdW50IChsb3cpICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UNl9SWF8wX05VTV9CTE9DS18wICAgICAgICAgICAgIDB4MDAwMDdDMDBVICAgICAgICAgICAgICAgICAgICAvKiE8IE5VTV9CTE9DS18wWzQ6MF0gYml0cyAoTnVtYmVyIG9mIGJsb2NrcykgKGxvdykgKi8NCiNkZWZpbmUgVVNCX0NPVU5UNl9SWF8wX05VTV9CTE9DS18wXzAgICAgICAgICAgIDB4MDAwMDA0MDBVICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAwICovDQojZGVmaW5lIFVTQl9DT1VOVDZfUlhfMF9OVU1fQkxPQ0tfMF8xICAgICAgICAgICAweDAwMDAwODAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMSAqLw0KI2RlZmluZSBVU0JfQ09VTlQ2X1JYXzBfTlVNX0JMT0NLXzBfMiAgICAgICAgICAgMHgwMDAwMTAwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDIgKi8NCiNkZWZpbmUgVVNCX0NPVU5UNl9SWF8wX05VTV9CTE9DS18wXzMgICAgICAgICAgIDB4MDAwMDIwMDBVICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAzICovDQojZGVmaW5lIFVTQl9DT1VOVDZfUlhfMF9OVU1fQkxPQ0tfMF80ICAgICAgICAgICAweDAwMDA0MDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgNCAqLw0KDQojZGVmaW5lIFVTQl9DT1VOVDZfUlhfMF9CTFNJWkVfMCAgICAgICAgICAgICAgICAweDAwMDA4MDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBCTG9jayBTSVpFIChsb3cpICovDQoNCi8qKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNCX0NPVU5UNl9SWF8xIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDZfUlhfMV9DT1VOVDZfUlhfMSAgICAgICAgICAgICAweDAzRkYwMDAwVSAgICAgICAgICAgICAgICAgICAvKiE8IFJlY2VwdGlvbiBCeXRlIENvdW50IChoaWdoKSAqLw0KDQojZGVmaW5lIFVTQl9DT1VOVDZfUlhfMV9OVU1fQkxPQ0tfMSAgICAgICAgICAgICAweDdDMDAwMDAwVSAgICAgICAgICAgICAgICAgICAvKiE8IE5VTV9CTE9DS18xWzQ6MF0gYml0cyAoTnVtYmVyIG9mIGJsb2NrcykgKGhpZ2gpICovDQojZGVmaW5lIFVTQl9DT1VOVDZfUlhfMV9OVU1fQkxPQ0tfMV8wICAgICAgICAgICAweDA0MDAwMDAwVSAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAwICovDQojZGVmaW5lIFVTQl9DT1VOVDZfUlhfMV9OVU1fQkxPQ0tfMV8xICAgICAgICAgICAweDA4MDAwMDAwVSAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAxICovDQojZGVmaW5lIFVTQl9DT1VOVDZfUlhfMV9OVU1fQkxPQ0tfMV8yICAgICAgICAgICAweDEwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAyICovDQojZGVmaW5lIFVTQl9DT1VOVDZfUlhfMV9OVU1fQkxPQ0tfMV8zICAgICAgICAgICAweDIwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAzICovDQojZGVmaW5lIFVTQl9DT1VOVDZfUlhfMV9OVU1fQkxPQ0tfMV80ICAgICAgICAgICAweDQwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCA0ICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UNl9SWF8xX0JMU0laRV8xICAgICAgICAgICAgICAgIDB4ODAwMDAwMDBVICAgICAgICAgICAgICAgICAgIC8qITwgQkxvY2sgU0laRSAoaGlnaCkgKi8NCg0KLyoqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQl9DT1VOVDdfUlhfMCByZWdpc3RlciAgKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNCX0NPVU5UN19SWF8wX0NPVU5UN19SWF8wICAgICAgICAgICAgIDB4MDAwMDAzRkZVICAgICAgICAgICAgICAgICAgICAvKiE8IFJlY2VwdGlvbiBCeXRlIENvdW50IChsb3cpICovDQoNCiNkZWZpbmUgVVNCX0NPVU5UN19SWF8wX05VTV9CTE9DS18wICAgICAgICAgICAgIDB4MDAwMDdDMDBVICAgICAgICAgICAgICAgICAgICAvKiE8IE5VTV9CTE9DS18wWzQ6MF0gYml0cyAoTnVtYmVyIG9mIGJsb2NrcykgKGxvdykgKi8NCiNkZWZpbmUgVVNCX0NPVU5UN19SWF8wX05VTV9CTE9DS18wXzAgICAgICAgICAgIDB4MDAwMDA0MDBVICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAwICovDQojZGVmaW5lIFVTQl9DT1VOVDdfUlhfMF9OVU1fQkxPQ0tfMF8xICAgICAgICAgICAweDAwMDAwODAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMSAqLw0KI2RlZmluZSBVU0JfQ09VTlQ3X1JYXzBfTlVNX0JMT0NLXzBfMiAgICAgICAgICAgMHgwMDAwMTAwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDIgKi8NCiNkZWZpbmUgVVNCX0NPVU5UN19SWF8wX05VTV9CTE9DS18wXzMgICAgICAgICAgIDB4MDAwMDIwMDBVICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAzICovDQojZGVmaW5lIFVTQl9DT1VOVDdfUlhfMF9OVU1fQkxPQ0tfMF80ICAgICAgICAgICAweDAwMDA0MDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgNCAqLw0KDQojZGVmaW5lIFVTQl9DT1VOVDdfUlhfMF9CTFNJWkVfMCAgICAgICAgICAgICAgICAweDAwMDA4MDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBCTG9jayBTSVpFIChsb3cpICovDQoNCi8qKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0JfQ09VTlQ3X1JYXzEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovDQojZGVmaW5lIFVTQl9DT1VOVDdfUlhfMV9DT1VOVDdfUlhfMSAgICAgICAgICAgICAweDAzRkYwMDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBSZWNlcHRpb24gQnl0ZSBDb3VudCAoaGlnaCkgKi8NCg0KI2RlZmluZSBVU0JfQ09VTlQ3X1JYXzFfTlVNX0JMT0NLXzEgICAgICAgICAgICAgMHg3QzAwMDAwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgTlVNX0JMT0NLXzFbNDowXSBiaXRzIChOdW1iZXIgb2YgYmxvY2tzKSAoaGlnaCkgKi8NCiNkZWZpbmUgVVNCX0NPVU5UN19SWF8xX05VTV9CTE9DS18xXzAgICAgICAgICAgIDB4MDQwMDAwMDBVICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAwICovDQojZGVmaW5lIFVTQl9DT1VOVDdfUlhfMV9OVU1fQkxPQ0tfMV8xICAgICAgICAgICAweDA4MDAwMDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMSAqLw0KI2RlZmluZSBVU0JfQ09VTlQ3X1JYXzFfTlVNX0JMT0NLXzFfMiAgICAgICAgICAgMHgxMDAwMDAwMFUgICAgICAgICAgICAgICAgICAgIC8qITwgQml0IDIgKi8NCiNkZWZpbmUgVVNCX0NPVU5UN19SWF8xX05VTV9CTE9DS18xXzMgICAgICAgICAgIDB4MjAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAzICovDQojZGVmaW5lIFVTQl9DT1VOVDdfUlhfMV9OVU1fQkxPQ0tfMV80ICAgICAgICAgICAweDQwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBCaXQgNCAqLw0KDQojZGVmaW5lIFVTQl9DT1VOVDdfUlhfMV9CTFNJWkVfMSAgICAgICAgICAgICAgICAweDgwMDAwMDAwVSAgICAgICAgICAgICAgICAgICAgLyohPCBCTG9jayBTSVpFIChoaWdoKSAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICBTZXJpYWwgUGVyaXBoZXJhbCBJbnRlcmZhY2UgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNQSV9DUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTUElfQ1IxX0NQSEFfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX0NQSEFfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX0NQSEFfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBTUElfQ1IxX0NQSEEgICAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX0NQSEFfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQ2xvY2sgUGhhc2UgKi8NCiNkZWZpbmUgU1BJX0NSMV9DUE9MX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9DUE9MX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9DUE9MX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgU1BJX0NSMV9DUE9MICAgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9DUE9MX01zayAgICAgICAgICAgICAgICAgICAvKiE8IENsb2NrIFBvbGFyaXR5ICovDQojZGVmaW5lIFNQSV9DUjFfTVNUUl9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfTVNUUl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfTVNUUl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFNQSV9DUjFfTVNUUiAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfTVNUUl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBNYXN0ZXIgU2VsZWN0aW9uICovDQoNCiNkZWZpbmUgU1BJX0NSMV9CUl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9CUl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4N1UgPDwgU1BJX0NSMV9CUl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMzggKi8NCiNkZWZpbmUgU1BJX0NSMV9CUiAgICAgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9CUl9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEJSWzI6MF0gYml0cyAoQmF1ZCBSYXRlIENvbnRyb2wpICovDQojZGVmaW5lIFNQSV9DUjFfQlJfMCAgICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfQlJfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFNQSV9DUjFfQlJfMSAgICAgICAgICAgICAgICAgICAgICAgICgweDJVIDw8IFNQSV9DUjFfQlJfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFNQSV9DUjFfQlJfMiAgICAgICAgICAgICAgICAgICAgICAgICgweDRVIDw8IFNQSV9DUjFfQlJfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQoNCiNkZWZpbmUgU1BJX0NSMV9TUEVfUG9zICAgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9TUEVfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9TUEVfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgU1BJX0NSMV9TUEUgICAgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9TUEVfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFNQSSBFbmFibGUgKi8NCiNkZWZpbmUgU1BJX0NSMV9MU0JGSVJTVF9Qb3MgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9MU0JGSVJTVF9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9MU0JGSVJTVF9Qb3MpICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgU1BJX0NSMV9MU0JGSVJTVCAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9MU0JGSVJTVF9Nc2sgICAgICAgICAgICAgICAvKiE8IEZyYW1lIEZvcm1hdCAqLw0KI2RlZmluZSBTUElfQ1IxX1NTSV9Qb3MgICAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX1NTSV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX1NTSV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBTUElfQ1IxX1NTSSAgICAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX1NTSV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgSW50ZXJuYWwgc2xhdmUgc2VsZWN0ICovDQojZGVmaW5lIFNQSV9DUjFfU1NNX1BvcyAgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfU1NNX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfU1NNX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFNQSV9DUjFfU1NNICAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfU1NNX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBTb2Z0d2FyZSBzbGF2ZSBtYW5hZ2VtZW50ICovDQojZGVmaW5lIFNQSV9DUjFfUlhPTkxZX1BvcyAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfUlhPTkxZX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfUlhPTkxZX1BvcykgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFNQSV9DUjFfUlhPTkxZICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfUlhPTkxZX01zayAgICAgICAgICAgICAgICAgLyohPCBSZWNlaXZlIG9ubHkgKi8NCiNkZWZpbmUgU1BJX0NSMV9ERkZfUG9zICAgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9ERkZfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9ERkZfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgU1BJX0NSMV9ERkYgICAgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9ERkZfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IERhdGEgRnJhbWUgRm9ybWF0ICovDQojZGVmaW5lIFNQSV9DUjFfQ1JDTkVYVF9Qb3MgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjFfQ1JDTkVYVF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjFfQ1JDTkVYVF9Qb3MpICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIFNQSV9DUjFfQ1JDTkVYVCAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjFfQ1JDTkVYVF9Nc2sgICAgICAgICAgICAgICAgLyohPCBUcmFuc21pdCBDUkMgbmV4dCAqLw0KI2RlZmluZSBTUElfQ1IxX0NSQ0VOX1BvcyAgICAgICAgICAgICAgICAgICAoMTNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX0NSQ0VOX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX0NSQ0VOX1BvcykgICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KI2RlZmluZSBTUElfQ1IxX0NSQ0VOICAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX0NSQ0VOX01zayAgICAgICAgICAgICAgICAgIC8qITwgSGFyZHdhcmUgQ1JDIGNhbGN1bGF0aW9uIGVuYWJsZSAqLw0KI2RlZmluZSBTUElfQ1IxX0JJRElPRV9Qb3MgICAgICAgICAgICAgICAgICAoMTRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IxX0JJRElPRV9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IxX0JJRElPRV9Qb3MpICAgICAgIC8qITwgMHgwMDAwNDAwMCAqLw0KI2RlZmluZSBTUElfQ1IxX0JJRElPRSAgICAgICAgICAgICAgICAgICAgICBTUElfQ1IxX0JJRElPRV9Nc2sgICAgICAgICAgICAgICAgIC8qITwgT3V0cHV0IGVuYWJsZSBpbiBiaWRpcmVjdGlvbmFsIG1vZGUgKi8NCiNkZWZpbmUgU1BJX0NSMV9CSURJTU9ERV9Qb3MgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMV9CSURJTU9ERV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMV9CSURJTU9ERV9Qb3MpICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgU1BJX0NSMV9CSURJTU9ERSAgICAgICAgICAgICAgICAgICAgU1BJX0NSMV9CSURJTU9ERV9Nc2sgICAgICAgICAgICAgICAvKiE8IEJpZGlyZWN0aW9uYWwgZGF0YSBtb2RlIGVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNQSV9DUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTUElfQ1IyX1JYRE1BRU5fUG9zICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfQ1IyX1JYRE1BRU5fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfQ1IyX1JYRE1BRU5fUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBTUElfQ1IyX1JYRE1BRU4gICAgICAgICAgICAgICAgICAgICBTUElfQ1IyX1JYRE1BRU5fTXNrICAgICAgICAgICAgICAgIC8qITwgUnggQnVmZmVyIERNQSBFbmFibGUgKi8NCiNkZWZpbmUgU1BJX0NSMl9UWERNQUVOX1BvcyAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMl9UWERNQUVOX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMl9UWERNQUVOX1BvcykgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgU1BJX0NSMl9UWERNQUVOICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMl9UWERNQUVOX01zayAgICAgICAgICAgICAgICAvKiE8IFR4IEJ1ZmZlciBETUEgRW5hYmxlICovDQojZGVmaW5lIFNQSV9DUjJfU1NPRV9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjJfU1NPRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjJfU1NPRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFNQSV9DUjJfU1NPRSAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjJfU1NPRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBTUyBPdXRwdXQgRW5hYmxlICovDQojZGVmaW5lIFNQSV9DUjJfRVJSSUVfUG9zICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjJfRVJSSUVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjJfRVJSSUVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFNQSV9DUjJfRVJSSUUgICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjJfRVJSSUVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFNQSV9DUjJfUlhORUlFX1BvcyAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9DUjJfUlhORUlFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9DUjJfUlhORUlFX1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFNQSV9DUjJfUlhORUlFICAgICAgICAgICAgICAgICAgICAgIFNQSV9DUjJfUlhORUlFX01zayAgICAgICAgICAgICAgICAgLyohPCBSWCBidWZmZXIgTm90IEVtcHR5IEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgU1BJX0NSMl9UWEVJRV9Qb3MgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSMl9UWEVJRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX0NSMl9UWEVJRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgU1BJX0NSMl9UWEVJRSAgICAgICAgICAgICAgICAgICAgICAgU1BJX0NSMl9UWEVJRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFR4IGJ1ZmZlciBFbXB0eSBJbnRlcnJ1cHQgRW5hYmxlICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNQSV9TUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNQSV9TUl9SWE5FX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9TUl9SWE5FX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9TUl9SWE5FX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIFNQSV9TUl9SWE5FICAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9TUl9SWE5FX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBSZWNlaXZlIGJ1ZmZlciBOb3QgRW1wdHkgKi8NCiNkZWZpbmUgU1BJX1NSX1RYRV9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX1NSX1RYRV9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgU1BJX1NSX1RYRV9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgU1BJX1NSX1RYRSAgICAgICAgICAgICAgICAgICAgICAgICAgU1BJX1NSX1RYRV9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IFRyYW5zbWl0IGJ1ZmZlciBFbXB0eSAqLw0KI2RlZmluZSBTUElfU1JfQ0hTSURFX1BvcyAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfU1JfQ0hTSURFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfU1JfQ0hTSURFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBTUElfU1JfQ0hTSURFICAgICAgICAgICAgICAgICAgICAgICBTUElfU1JfQ0hTSURFX01zayAgICAgICAgICAgICAgICAgIC8qITwgQ2hhbm5lbCBzaWRlICovDQojZGVmaW5lIFNQSV9TUl9VRFJfUG9zICAgICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9TUl9VRFJfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9TUl9VRFJfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFNQSV9TUl9VRFIgICAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9TUl9VRFJfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBVbmRlcnJ1biBmbGFnICovDQojZGVmaW5lIFNQSV9TUl9DUkNFUlJfUG9zICAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9TUl9DUkNFUlJfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9TUl9DUkNFUlJfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIFNQSV9TUl9DUkNFUlIgICAgICAgICAgICAgICAgICAgICAgIFNQSV9TUl9DUkNFUlJfTXNrICAgICAgICAgICAgICAgICAgLyohPCBDUkMgRXJyb3IgZmxhZyAqLw0KI2RlZmluZSBTUElfU1JfTU9ERl9Qb3MgICAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfU1JfTU9ERl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfU1JfTU9ERl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBTUElfU1JfTU9ERiAgICAgICAgICAgICAgICAgICAgICAgICBTUElfU1JfTU9ERl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgTW9kZSBmYXVsdCAqLw0KI2RlZmluZSBTUElfU1JfT1ZSX1BvcyAgICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfU1JfT1ZSX01zayAgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfU1JfT1ZSX1BvcykgICAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBTUElfU1JfT1ZSICAgICAgICAgICAgICAgICAgICAgICAgICBTUElfU1JfT1ZSX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgT3ZlcnJ1biBmbGFnICovDQojZGVmaW5lIFNQSV9TUl9CU1lfUG9zICAgICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9TUl9CU1lfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFNQSV9TUl9CU1lfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFNQSV9TUl9CU1kgICAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9TUl9CU1lfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBCdXN5IGZsYWcgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU1BJX0RSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU1BJX0RSX0RSX1BvcyAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0RSX0RSX01zayAgICAgICAgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgU1BJX0RSX0RSX1BvcykgICAgICAgICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgU1BJX0RSX0RSICAgICAgICAgICAgICAgICAgICAgICAgICAgU1BJX0RSX0RSX01zayAgICAgICAgICAgICAgICAgICAgICAvKiE8IERhdGEgUmVnaXN0ZXIgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTUElfQ1JDUFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU1BJX0NSQ1BSX0NSQ1BPTFlfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX0NSQ1BSX0NSQ1BPTFlfTXNrICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgU1BJX0NSQ1BSX0NSQ1BPTFlfUG9zKSAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgU1BJX0NSQ1BSX0NSQ1BPTFkgICAgICAgICAgICAgICAgICAgU1BJX0NSQ1BSX0NSQ1BPTFlfTXNrICAgICAgICAgICAgICAvKiE8IENSQyBwb2x5bm9taWFsIHJlZ2lzdGVyICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTUElfUlhDUkNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFNQSV9SWENSQ1JfUlhDUkNfUG9zICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFNQSV9SWENSQ1JfUlhDUkNfTXNrICAgICAgICAgICAgICAgICgweEZGRkZVIDw8IFNQSV9SWENSQ1JfUlhDUkNfUG9zKSAgLyohPCAweDAwMDBGRkZGICovDQojZGVmaW5lIFNQSV9SWENSQ1JfUlhDUkMgICAgICAgICAgICAgICAgICAgIFNQSV9SWENSQ1JfUlhDUkNfTXNrICAgICAgICAgICAgICAgLyohPCBSeCBDUkMgUmVnaXN0ZXIgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNQSV9UWENSQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgU1BJX1RYQ1JDUl9UWENSQ19Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgU1BJX1RYQ1JDUl9UWENSQ19Nc2sgICAgICAgICAgICAgICAgKDB4RkZGRlUgPDwgU1BJX1RYQ1JDUl9UWENSQ19Qb3MpICAvKiE8IDB4MDAwMEZGRkYgKi8NCiNkZWZpbmUgU1BJX1RYQ1JDUl9UWENSQyAgICAgICAgICAgICAgICAgICAgU1BJX1RYQ1JDUl9UWENSQ19Nc2sgICAgICAgICAgICAgICAvKiE8IFR4IENSQyBSZWdpc3RlciAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU1BJX0kyU0NGR1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBTUElfSTJTQ0ZHUl9JMlNNT0RfUG9zICAgICAgICAgICAgICAoMTFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBTUElfSTJTQ0ZHUl9JMlNNT0RfTXNrICAgICAgICAgICAgICAoMHgxVSA8PCBTUElfSTJTQ0ZHUl9JMlNNT0RfUG9zKSAgIC8qITwgMHgwMDAwMDgwMCAqLw0KI2RlZmluZSBTUElfSTJTQ0ZHUl9JMlNNT0QgICAgICAgICAgICAgICAgICBTUElfSTJTQ0ZHUl9JMlNNT0RfTXNrICAgICAgICAgICAgIC8qITwgSTJTIG1vZGUgc2VsZWN0aW9uICovDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICBJbnRlci1pbnRlZ3JhdGVkIENpcmN1aXQgSW50ZXJmYWNlICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgSTJDX0NSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEkyQ19DUjFfUEVfUG9zICAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfUEVfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfUEVfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEkyQ19DUjFfUEUgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjFfUEVfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBQZXJpcGhlcmFsIEVuYWJsZSAqLw0KI2RlZmluZSBJMkNfQ1IxX1NNQlVTX1BvcyAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX1NNQlVTX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX1NNQlVTX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBJMkNfQ1IxX1NNQlVTICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX1NNQlVTX01zayAgICAgICAgICAgICAgICAgIC8qITwgU01CdXMgTW9kZSAqLw0KI2RlZmluZSBJMkNfQ1IxX1NNQlRZUEVfUG9zICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX1NNQlRZUEVfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX1NNQlRZUEVfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBJMkNfQ1IxX1NNQlRZUEUgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX1NNQlRZUEVfTXNrICAgICAgICAgICAgICAgIC8qITwgU01CdXMgVHlwZSAqLw0KI2RlZmluZSBJMkNfQ1IxX0VOQVJQX1BvcyAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX0VOQVJQX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX0VOQVJQX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBJMkNfQ1IxX0VOQVJQICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX0VOQVJQX01zayAgICAgICAgICAgICAgICAgIC8qITwgQVJQIEVuYWJsZSAqLw0KI2RlZmluZSBJMkNfQ1IxX0VOUEVDX1BvcyAgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX0VOUEVDX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX0VOUEVDX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBJMkNfQ1IxX0VOUEVDICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX0VOUEVDX01zayAgICAgICAgICAgICAgICAgIC8qITwgUEVDIEVuYWJsZSAqLw0KI2RlZmluZSBJMkNfQ1IxX0VOR0NfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX0VOR0NfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX0VOR0NfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBJMkNfQ1IxX0VOR0MgICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX0VOR0NfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgR2VuZXJhbCBDYWxsIEVuYWJsZSAqLw0KI2RlZmluZSBJMkNfQ1IxX05PU1RSRVRDSF9Qb3MgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX05PU1RSRVRDSF9Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX05PU1RSRVRDSF9Qb3MpICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBJMkNfQ1IxX05PU1RSRVRDSCAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX05PU1RSRVRDSF9Nc2sgICAgICAgICAgICAgIC8qITwgQ2xvY2sgU3RyZXRjaGluZyBEaXNhYmxlIChTbGF2ZSBtb2RlKSAqLw0KI2RlZmluZSBJMkNfQ1IxX1NUQVJUX1BvcyAgICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX1NUQVJUX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX1NUQVJUX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBJMkNfQ1IxX1NUQVJUICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX1NUQVJUX01zayAgICAgICAgICAgICAgICAgIC8qITwgU3RhcnQgR2VuZXJhdGlvbiAqLw0KI2RlZmluZSBJMkNfQ1IxX1NUT1BfUG9zICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX1NUT1BfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX1NUT1BfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBJMkNfQ1IxX1NUT1AgICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX1NUT1BfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgU3RvcCBHZW5lcmF0aW9uICovDQojZGVmaW5lIEkyQ19DUjFfQUNLX1BvcyAgICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfQUNLX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfQUNLX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEkyQ19DUjFfQUNLICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjFfQUNLX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBBY2tub3dsZWRnZSBFbmFibGUgKi8NCiNkZWZpbmUgSTJDX0NSMV9QT1NfUG9zICAgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMV9QT1NfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMV9QT1NfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgSTJDX0NSMV9QT1MgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMV9QT1NfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IEFja25vd2xlZGdlL1BFQyBQb3NpdGlvbiAoZm9yIGRhdGEgcmVjZXB0aW9uKSAqLw0KI2RlZmluZSBJMkNfQ1IxX1BFQ19Qb3MgICAgICAgICAgICAgICAgICAgICAoMTJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX1BFQ19Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX1BFQ19Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBJMkNfQ1IxX1BFQyAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX1BFQ19Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgUGFja2V0IEVycm9yIENoZWNraW5nICovDQojZGVmaW5lIEkyQ19DUjFfQUxFUlRfUG9zICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DUjFfQUxFUlRfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DUjFfQUxFUlRfUG9zKSAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIEkyQ19DUjFfQUxFUlQgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DUjFfQUxFUlRfTXNrICAgICAgICAgICAgICAgICAgLyohPCBTTUJ1cyBBbGVydCAqLw0KI2RlZmluZSBJMkNfQ1IxX1NXUlNUX1BvcyAgICAgICAgICAgICAgICAgICAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IxX1NXUlNUX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IxX1NXUlNUX1BvcykgICAgICAgIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBJMkNfQ1IxX1NXUlNUICAgICAgICAgICAgICAgICAgICAgICBJMkNfQ1IxX1NXUlNUX01zayAgICAgICAgICAgICAgICAgIC8qITwgU29mdHdhcmUgUmVzZXQgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJMkNfQ1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSTJDX0NSMl9GUkVRX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMl9GUkVRX01zayAgICAgICAgICAgICAgICAgICAgKDB4M0ZVIDw8IEkyQ19DUjJfRlJFUV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwM0YgKi8NCiNkZWZpbmUgSTJDX0NSMl9GUkVRICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMl9GUkVRX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEZSRVFbNTowXSBiaXRzIChQZXJpcGhlcmFsIENsb2NrIEZyZXF1ZW5jeSkgKi8NCiNkZWZpbmUgSTJDX0NSMl9GUkVRXzAgICAgICAgICAgICAgICAgICAgICAgKDB4MDFVIDw8IEkyQ19DUjJfRlJFUV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgSTJDX0NSMl9GUkVRXzEgICAgICAgICAgICAgICAgICAgICAgKDB4MDJVIDw8IEkyQ19DUjJfRlJFUV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgSTJDX0NSMl9GUkVRXzIgICAgICAgICAgICAgICAgICAgICAgKDB4MDRVIDw8IEkyQ19DUjJfRlJFUV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgSTJDX0NSMl9GUkVRXzMgICAgICAgICAgICAgICAgICAgICAgKDB4MDhVIDw8IEkyQ19DUjJfRlJFUV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgSTJDX0NSMl9GUkVRXzQgICAgICAgICAgICAgICAgICAgICAgKDB4MTBVIDw8IEkyQ19DUjJfRlJFUV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgSTJDX0NSMl9GUkVRXzUgICAgICAgICAgICAgICAgICAgICAgKDB4MjBVIDw8IEkyQ19DUjJfRlJFUV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCg0KI2RlZmluZSBJMkNfQ1IyX0lURVJSRU5fUG9zICAgICAgICAgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IyX0lURVJSRU5fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IyX0lURVJSRU5fUG9zKSAgICAgIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBJMkNfQ1IyX0lURVJSRU4gICAgICAgICAgICAgICAgICAgICBJMkNfQ1IyX0lURVJSRU5fTXNrICAgICAgICAgICAgICAgIC8qITwgRXJyb3IgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBJMkNfQ1IyX0lURVZURU5fUG9zICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IyX0lURVZURU5fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IyX0lURVZURU5fUG9zKSAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBJMkNfQ1IyX0lURVZURU4gICAgICAgICAgICAgICAgICAgICBJMkNfQ1IyX0lURVZURU5fTXNrICAgICAgICAgICAgICAgIC8qITwgRXZlbnQgSW50ZXJydXB0IEVuYWJsZSAqLw0KI2RlZmluZSBJMkNfQ1IyX0lUQlVGRU5fUG9zICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfQ1IyX0lUQlVGRU5fTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfQ1IyX0lUQlVGRU5fUG9zKSAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBJMkNfQ1IyX0lUQlVGRU4gICAgICAgICAgICAgICAgICAgICBJMkNfQ1IyX0lUQlVGRU5fTXNrICAgICAgICAgICAgICAgIC8qITwgQnVmZmVyIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgSTJDX0NSMl9ETUFFTl9Qb3MgICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMl9ETUFFTl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMl9ETUFFTl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgSTJDX0NSMl9ETUFFTiAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMl9ETUFFTl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IERNQSBSZXF1ZXN0cyBFbmFibGUgKi8NCiNkZWZpbmUgSTJDX0NSMl9MQVNUX1BvcyAgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NSMl9MQVNUX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NSMl9MQVNUX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgSTJDX0NSMl9MQVNUICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NSMl9MQVNUX01zayAgICAgICAgICAgICAgICAgICAvKiE8IERNQSBMYXN0IFRyYW5zZmVyICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgSTJDX09BUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEkyQ19PQVIxX0FERDFfNyAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwRkVVICAgICAgICAgICAgIC8qITwgSW50ZXJmYWNlIEFkZHJlc3MgKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREOF85ICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDMwMFUgICAgICAgICAgICAgLyohPCBJbnRlcmZhY2UgQWRkcmVzcyAqLw0KDQojZGVmaW5lIEkyQ19PQVIxX0FERDBfUG9zICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIxX0FERDBfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19PQVIxX0FERDBfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19PQVIxX0FERDBfTXNrICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMCAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQxX1BvcyAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfT0FSMV9BREQxX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfT0FSMV9BREQxX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQxICAgICAgICAgICAgICAgICAgICAgICBJMkNfT0FSMV9BREQxX01zayAgICAgICAgICAgICAgICAgIC8qITwgQml0IDEgKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREMl9Qb3MgICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjFfQUREMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX09BUjFfQUREMl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREMiAgICAgICAgICAgICAgICAgICAgICAgSTJDX09BUjFfQUREMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEJpdCAyICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDNfUG9zICAgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIxX0FERDNfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19PQVIxX0FERDNfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDMgICAgICAgICAgICAgICAgICAgICAgIEkyQ19PQVIxX0FERDNfTXNrICAgICAgICAgICAgICAgICAgLyohPCBCaXQgMyAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQ0X1BvcyAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfT0FSMV9BREQ0X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfT0FSMV9BREQ0X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQ0ICAgICAgICAgICAgICAgICAgICAgICBJMkNfT0FSMV9BREQ0X01zayAgICAgICAgICAgICAgICAgIC8qITwgQml0IDQgKi8NCiNkZWZpbmUgSTJDX09BUjFfQURENV9Qb3MgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjFfQURENV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX09BUjFfQURENV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgSTJDX09BUjFfQURENSAgICAgICAgICAgICAgICAgICAgICAgSTJDX09BUjFfQURENV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEJpdCA1ICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDZfUG9zICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIxX0FERDZfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19PQVIxX0FERDZfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDYgICAgICAgICAgICAgICAgICAgICAgIEkyQ19PQVIxX0FERDZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBCaXQgNiAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQ3X1BvcyAgICAgICAgICAgICAgICAgICAoN1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfT0FSMV9BREQ3X01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfT0FSMV9BREQ3X1BvcykgICAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KI2RlZmluZSBJMkNfT0FSMV9BREQ3ICAgICAgICAgICAgICAgICAgICAgICBJMkNfT0FSMV9BREQ3X01zayAgICAgICAgICAgICAgICAgIC8qITwgQml0IDcgKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREOF9Qb3MgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjFfQUREOF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX09BUjFfQUREOF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgSTJDX09BUjFfQUREOCAgICAgICAgICAgICAgICAgICAgICAgSTJDX09BUjFfQUREOF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEJpdCA4ICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDlfUG9zICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIxX0FERDlfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19PQVIxX0FERDlfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEkyQ19PQVIxX0FERDkgICAgICAgICAgICAgICAgICAgICAgIEkyQ19PQVIxX0FERDlfTXNrICAgICAgICAgICAgICAgICAgLyohPCBCaXQgOSAqLw0KDQojZGVmaW5lIEkyQ19PQVIxX0FERE1PREVfUG9zICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIxX0FERE1PREVfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19PQVIxX0FERE1PREVfUG9zKSAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEkyQ19PQVIxX0FERE1PREUgICAgICAgICAgICAgICAgICAgIEkyQ19PQVIxX0FERE1PREVfTXNrICAgICAgICAgICAgICAgLyohPCBBZGRyZXNzaW5nIE1vZGUgKFNsYXZlIG1vZGUpICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgSTJDX09BUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEkyQ19PQVIyX0VORFVBTF9Qb3MgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19PQVIyX0VORFVBTF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19PQVIyX0VORFVBTF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEkyQ19PQVIyX0VORFVBTCAgICAgICAgICAgICAgICAgICAgIEkyQ19PQVIyX0VORFVBTF9Nc2sgICAgICAgICAgICAgICAgLyohPCBEdWFsIGFkZHJlc3NpbmcgbW9kZSBlbmFibGUgKi8NCiNkZWZpbmUgSTJDX09BUjJfQUREMl9Qb3MgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX09BUjJfQUREMl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4N0ZVIDw8IEkyQ19PQVIyX0FERDJfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwRkUgKi8NCiNkZWZpbmUgSTJDX09BUjJfQUREMiAgICAgICAgICAgICAgICAgICAgICAgSTJDX09BUjJfQUREMl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEludGVyZmFjZSBhZGRyZXNzICovDQoNCi8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEkyQ19EUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEkyQ19EUl9EUl9Qb3MgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19EUl9EUl9Nc2sgICAgICAgICAgICAgKDB4RkZVIDw8IEkyQ19EUl9EUl9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCAweDAwMDAwMEZGICovDQojZGVmaW5lIEkyQ19EUl9EUiAgICAgICAgICAgICAgICAgSTJDX0RSX0RSX01zayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCA4LWJpdCBEYXRhIFJlZ2lzdGVyICAgICAgICAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJMkNfU1IxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSTJDX1NSMV9TQl9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9TQl9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9TQl9Qb3MpICAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgSTJDX1NSMV9TQiAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9TQl9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IFN0YXJ0IEJpdCAoTWFzdGVyIG1vZGUpICovDQojZGVmaW5lIEkyQ19TUjFfQUREUl9Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfQUREUl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfQUREUl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEkyQ19TUjFfQUREUiAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfQUREUl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBBZGRyZXNzIHNlbnQgKG1hc3RlciBtb2RlKS9tYXRjaGVkIChzbGF2ZSBtb2RlKSAqLw0KI2RlZmluZSBJMkNfU1IxX0JURl9Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX0JURl9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX0JURl9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBJMkNfU1IxX0JURiAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX0JURl9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgQnl0ZSBUcmFuc2ZlciBGaW5pc2hlZCAqLw0KI2RlZmluZSBJMkNfU1IxX0FERDEwX1BvcyAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX0FERDEwX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX0FERDEwX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBJMkNfU1IxX0FERDEwICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX0FERDEwX01zayAgICAgICAgICAgICAgICAgIC8qITwgMTAtYml0IGhlYWRlciBzZW50IChNYXN0ZXIgbW9kZSkgKi8NCiNkZWZpbmUgSTJDX1NSMV9TVE9QRl9Qb3MgICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9TVE9QRl9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9TVE9QRl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgSTJDX1NSMV9TVE9QRiAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9TVE9QRl9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFN0b3AgZGV0ZWN0aW9uIChTbGF2ZSBtb2RlKSAqLw0KI2RlZmluZSBJMkNfU1IxX1JYTkVfUG9zICAgICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX1JYTkVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX1JYTkVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBJMkNfU1IxX1JYTkUgICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX1JYTkVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgRGF0YSBSZWdpc3RlciBub3QgRW1wdHkgKHJlY2VpdmVycykgKi8NCiNkZWZpbmUgSTJDX1NSMV9UWEVfUG9zICAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9UWEVfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9UWEVfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgSTJDX1NSMV9UWEUgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9UWEVfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IERhdGEgUmVnaXN0ZXIgRW1wdHkgKHRyYW5zbWl0dGVycykgKi8NCiNkZWZpbmUgSTJDX1NSMV9CRVJSX1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9CRVJSX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9CRVJSX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgSTJDX1NSMV9CRVJSICAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9CRVJSX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEJ1cyBFcnJvciAqLw0KI2RlZmluZSBJMkNfU1IxX0FSTE9fUG9zICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IxX0FSTE9fTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IxX0FSTE9fUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBJMkNfU1IxX0FSTE8gICAgICAgICAgICAgICAgICAgICAgICBJMkNfU1IxX0FSTE9fTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQXJiaXRyYXRpb24gTG9zdCAobWFzdGVyIG1vZGUpICovDQojZGVmaW5lIEkyQ19TUjFfQUZfUG9zICAgICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfQUZfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfQUZfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEkyQ19TUjFfQUYgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfQUZfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBBY2tub3dsZWRnZSBGYWlsdXJlICovDQojZGVmaW5lIEkyQ19TUjFfT1ZSX1BvcyAgICAgICAgICAgICAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfT1ZSX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfT1ZSX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIEkyQ19TUjFfT1ZSICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfT1ZSX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBPdmVycnVuL1VuZGVycnVuICovDQojZGVmaW5lIEkyQ19TUjFfUEVDRVJSX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfUEVDRVJSX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfUEVDRVJSX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEkyQ19TUjFfUEVDRVJSICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfUEVDRVJSX01zayAgICAgICAgICAgICAgICAgLyohPCBQRUMgRXJyb3IgaW4gcmVjZXB0aW9uICovDQojZGVmaW5lIEkyQ19TUjFfVElNRU9VVF9Qb3MgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjFfVElNRU9VVF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjFfVElNRU9VVF9Qb3MpICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIEkyQ19TUjFfVElNRU9VVCAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjFfVElNRU9VVF9Nc2sgICAgICAgICAgICAgICAgLyohPCBUaW1lb3V0IG9yIFRsb3cgRXJyb3IgKi8NCiNkZWZpbmUgSTJDX1NSMV9TTUJBTEVSVF9Qb3MgICAgICAgICAgICAgICAgKDE1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMV9TTUJBTEVSVF9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMV9TTUJBTEVSVF9Qb3MpICAgICAvKiE8IDB4MDAwMDgwMDAgKi8NCiNkZWZpbmUgSTJDX1NSMV9TTUJBTEVSVCAgICAgICAgICAgICAgICAgICAgSTJDX1NSMV9TTUJBTEVSVF9Nc2sgICAgICAgICAgICAgICAvKiE8IFNNQnVzIEFsZXJ0ICovDQoNCi8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgSTJDX1NSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEkyQ19TUjJfTVNMX1BvcyAgICAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjJfTVNMX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjJfTVNMX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDAxICovDQojZGVmaW5lIEkyQ19TUjJfTVNMICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjJfTVNMX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBNYXN0ZXIvU2xhdmUgKi8NCiNkZWZpbmUgSTJDX1NSMl9CVVNZX1BvcyAgICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX1NSMl9CVVNZX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX1NSMl9CVVNZX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgSTJDX1NSMl9CVVNZICAgICAgICAgICAgICAgICAgICAgICAgSTJDX1NSMl9CVVNZX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEJ1cyBCdXN5ICovDQojZGVmaW5lIEkyQ19TUjJfVFJBX1BvcyAgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjJfVFJBX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjJfVFJBX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEkyQ19TUjJfVFJBICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjJfVFJBX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBUcmFuc21pdHRlci9SZWNlaXZlciAqLw0KI2RlZmluZSBJMkNfU1IyX0dFTkNBTExfUG9zICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IyX0dFTkNBTExfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IyX0dFTkNBTExfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBJMkNfU1IyX0dFTkNBTEwgICAgICAgICAgICAgICAgICAgICBJMkNfU1IyX0dFTkNBTExfTXNrICAgICAgICAgICAgICAgIC8qITwgR2VuZXJhbCBDYWxsIEFkZHJlc3MgKFNsYXZlIG1vZGUpICovDQojZGVmaW5lIEkyQ19TUjJfU01CREVGQVVMVF9Qb3MgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjJfU01CREVGQVVMVF9Nc2sgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjJfU01CREVGQVVMVF9Qb3MpICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIEkyQ19TUjJfU01CREVGQVVMVCAgICAgICAgICAgICAgICAgIEkyQ19TUjJfU01CREVGQVVMVF9Nc2sgICAgICAgICAgICAgLyohPCBTTUJ1cyBEZXZpY2UgRGVmYXVsdCBBZGRyZXNzIChTbGF2ZSBtb2RlKSAqLw0KI2RlZmluZSBJMkNfU1IyX1NNQkhPU1RfUG9zICAgICAgICAgICAgICAgICAoNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJMkNfU1IyX1NNQkhPU1RfTXNrICAgICAgICAgICAgICAgICAoMHgxVSA8PCBJMkNfU1IyX1NNQkhPU1RfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBJMkNfU1IyX1NNQkhPU1QgICAgICAgICAgICAgICAgICAgICBJMkNfU1IyX1NNQkhPU1RfTXNrICAgICAgICAgICAgICAgIC8qITwgU01CdXMgSG9zdCBIZWFkZXIgKFNsYXZlIG1vZGUpICovDQojZGVmaW5lIEkyQ19TUjJfRFVBTEZfUG9zICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjJfRFVBTEZfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19TUjJfRFVBTEZfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEkyQ19TUjJfRFVBTEYgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjJfRFVBTEZfTXNrICAgICAgICAgICAgICAgICAgLyohPCBEdWFsIEZsYWcgKFNsYXZlIG1vZGUpICovDQojZGVmaW5lIEkyQ19TUjJfUEVDX1BvcyAgICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19TUjJfUEVDX01zayAgICAgICAgICAgICAgICAgICAgICgweEZGVSA8PCBJMkNfU1IyX1BFQ19Qb3MpICAgICAgICAgLyohPCAweDAwMDBGRjAwICovDQojZGVmaW5lIEkyQ19TUjJfUEVDICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TUjJfUEVDX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBQYWNrZXQgRXJyb3IgQ2hlY2tpbmcgUmVnaXN0ZXIgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJMkNfQ0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSTJDX0NDUl9DQ1JfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NDUl9DQ1JfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4RkZGVSA8PCBJMkNfQ0NSX0NDUl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDBGRkYgKi8NCiNkZWZpbmUgSTJDX0NDUl9DQ1IgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NDUl9DQ1JfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IENsb2NrIENvbnRyb2wgUmVnaXN0ZXIgaW4gRmFzdC9TdGFuZGFyZCBtb2RlIChNYXN0ZXIgbW9kZSkgKi8NCiNkZWZpbmUgSTJDX0NDUl9EVVRZX1BvcyAgICAgICAgICAgICAgICAgICAgKDE0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgSTJDX0NDUl9EVVRZX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgSTJDX0NDUl9EVVRZX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDQwMDAgKi8NCiNkZWZpbmUgSTJDX0NDUl9EVVRZICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0NDUl9EVVRZX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEZhc3QgTW9kZSBEdXR5IEN5Y2xlICovDQojZGVmaW5lIEkyQ19DQ1JfRlNfUG9zICAgICAgICAgICAgICAgICAgICAgICgxNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19DQ1JfRlNfTXNrICAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEkyQ19DQ1JfRlNfUG9zKSAgICAgICAgICAgLyohPCAweDAwMDA4MDAwICovDQojZGVmaW5lIEkyQ19DQ1JfRlMgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19DQ1JfRlNfTXNrICAgICAgICAgICAgICAgICAgICAgLyohPCBJMkMgTWFzdGVyIE1vZGUgU2VsZWN0aW9uICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJMkNfVFJJU0UgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEkyQ19UUklTRV9UUklTRV9Qb3MgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEkyQ19UUklTRV9UUklTRV9Nc2sgICAgICAgICAgICAgICAgICgweDNGVSA8PCBJMkNfVFJJU0VfVFJJU0VfUG9zKSAgICAgLyohPCAweDAwMDAwMDNGICovDQojZGVmaW5lIEkyQ19UUklTRV9UUklTRSAgICAgICAgICAgICAgICAgICAgIEkyQ19UUklTRV9UUklTRV9Nc2sgICAgICAgICAgICAgICAgLyohPCBNYXhpbXVtIFJpc2UgVGltZSBpbiBGYXN0L1N0YW5kYXJkIG1vZGUgKE1hc3RlciBtb2RlKSAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgVW5pdmVyc2FsIFN5bmNocm9ub3VzIEFzeW5jaHJvbm91cyBSZWNlaXZlciBUcmFuc21pdHRlciAgICAgICAgICAgICovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0FSVF9TUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNBUlRfU1JfUEVfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfU1JfUEVfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfU1JfUEVfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVVNBUlRfU1JfUEUgICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfU1JfUEVfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFBhcml0eSBFcnJvciAqLw0KI2RlZmluZSBVU0FSVF9TUl9GRV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9TUl9GRV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9TUl9GRV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBVU0FSVF9TUl9GRSAgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9TUl9GRV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgRnJhbWluZyBFcnJvciAqLw0KI2RlZmluZSBVU0FSVF9TUl9ORV9Qb3MgICAgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9TUl9ORV9Nc2sgICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9TUl9ORV9Qb3MpICAgICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBVU0FSVF9TUl9ORSAgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9TUl9ORV9Nc2sgICAgICAgICAgICAgICAgICAgIC8qITwgTm9pc2UgRXJyb3IgRmxhZyAqLw0KI2RlZmluZSBVU0FSVF9TUl9PUkVfUG9zICAgICAgICAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9TUl9PUkVfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9TUl9PUkVfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBVU0FSVF9TUl9PUkUgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9TUl9PUkVfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgT3ZlclJ1biBFcnJvciAqLw0KI2RlZmluZSBVU0FSVF9TUl9JRExFX1BvcyAgICAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9TUl9JRExFX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9TUl9JRExFX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBVU0FSVF9TUl9JRExFICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9TUl9JRExFX01zayAgICAgICAgICAgICAgICAgIC8qITwgSURMRSBsaW5lIGRldGVjdGVkICovDQojZGVmaW5lIFVTQVJUX1NSX1JYTkVfUG9zICAgICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX1NSX1JYTkVfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX1NSX1JYTkVfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFVTQVJUX1NSX1JYTkUgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX1NSX1JYTkVfTXNrICAgICAgICAgICAgICAgICAgLyohPCBSZWFkIERhdGEgUmVnaXN0ZXIgTm90IEVtcHR5ICovDQojZGVmaW5lIFVTQVJUX1NSX1RDX1BvcyAgICAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX1NSX1RDX01zayAgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX1NSX1RDX1BvcykgICAgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFVTQVJUX1NSX1RDICAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX1NSX1RDX01zayAgICAgICAgICAgICAgICAgICAgLyohPCBUcmFuc21pc3Npb24gQ29tcGxldGUgKi8NCiNkZWZpbmUgVVNBUlRfU1JfVFhFX1BvcyAgICAgICAgICAgICAgICAgICAgKDdVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfU1JfVFhFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfU1JfVFhFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwODAgKi8NCiNkZWZpbmUgVVNBUlRfU1JfVFhFICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfU1JfVFhFX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFRyYW5zbWl0IERhdGEgUmVnaXN0ZXIgRW1wdHkgKi8NCiNkZWZpbmUgVVNBUlRfU1JfTEJEX1BvcyAgICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfU1JfTEJEX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfU1JfTEJEX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVVNBUlRfU1JfTEJEICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfU1JfTEJEX01zayAgICAgICAgICAgICAgICAgICAvKiE8IExJTiBCcmVhayBEZXRlY3Rpb24gRmxhZyAqLw0KI2RlZmluZSBVU0FSVF9TUl9DVFNfUG9zICAgICAgICAgICAgICAgICAgICAoOVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9TUl9DVFNfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9TUl9DVFNfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDIwMCAqLw0KI2RlZmluZSBVU0FSVF9TUl9DVFMgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9TUl9DVFNfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQ1RTIEZsYWcgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0FSVF9EUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNBUlRfRFJfRFJfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfRFJfRFJfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MUZGVSA8PCBVU0FSVF9EUl9EUl9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAxRkYgKi8NCiNkZWZpbmUgVVNBUlRfRFJfRFIgICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfRFJfRFJfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IERhdGEgdmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQVJUX0JSUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNBUlRfQlJSX0RJVl9GcmFjdGlvbl9Qb3MgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQlJSX0RJVl9GcmFjdGlvbl9Nc2sgICAgICAgICAgKDB4RlUgPDwgVVNBUlRfQlJSX0RJVl9GcmFjdGlvbl9Qb3MpIC8qITwgMHgwMDAwMDAwRiAqLw0KI2RlZmluZSBVU0FSVF9CUlJfRElWX0ZyYWN0aW9uICAgICAgICAgICAgICBVU0FSVF9CUlJfRElWX0ZyYWN0aW9uX01zayAgICAgICAgIC8qITwgRnJhY3Rpb24gb2YgVVNBUlRESVYgKi8NCiNkZWZpbmUgVVNBUlRfQlJSX0RJVl9NYW50aXNzYV9Qb3MgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQlJSX0RJVl9NYW50aXNzYV9Nc2sgICAgICAgICAgKDB4RkZGVSA8PCBVU0FSVF9CUlJfRElWX01hbnRpc3NhX1BvcykgLyohPCAweDAwMDBGRkYwICovDQojZGVmaW5lIFVTQVJUX0JSUl9ESVZfTWFudGlzc2EgICAgICAgICAgICAgIFVTQVJUX0JSUl9ESVZfTWFudGlzc2FfTXNrICAgICAgICAgLyohPCBNYW50aXNzYSBvZiBVU0FSVERJViAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNBUlRfQ1IxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0FSVF9DUjFfU0JLX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfU0JLX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfU0JLX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBVU0FSVF9DUjFfU0JLICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfU0JLX01zayAgICAgICAgICAgICAgICAgIC8qITwgU2VuZCBCcmVhayAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUldVX1BvcyAgICAgICAgICAgICAgICAgICAoMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfUldVX01zayAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfUldVX1BvcykgICAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBVU0FSVF9DUjFfUldVICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfUldVX01zayAgICAgICAgICAgICAgICAgIC8qITwgUmVjZWl2ZXIgd2FrZXVwICovDQojZGVmaW5lIFVTQVJUX0NSMV9SRV9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9SRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9SRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIFVTQVJUX0NSMV9SRSAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9SRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBSZWNlaXZlciBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1RFX1BvcyAgICAgICAgICAgICAgICAgICAgKDNVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX1RFX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX1RFX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMDggKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1RFICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX1RFX01zayAgICAgICAgICAgICAgICAgICAvKiE8IFRyYW5zbWl0dGVyIEVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjFfSURMRUlFX1BvcyAgICAgICAgICAgICAgICAoNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjFfSURMRUlFX01zayAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjFfSURMRUlFX1BvcykgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBVU0FSVF9DUjFfSURMRUlFICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjFfSURMRUlFX01zayAgICAgICAgICAgICAgIC8qITwgSURMRSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSMV9SWE5FSUVfUG9zICAgICAgICAgICAgICAgICg1VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9SWE5FSUVfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9SWE5FSUVfUG9zKSAgICAgLyohPCAweDAwMDAwMDIwICovDQojZGVmaW5lIFVTQVJUX0NSMV9SWE5FSUUgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9SWE5FSUVfTXNrICAgICAgICAgICAgICAgLyohPCBSWE5FIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1RDSUVfUG9zICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX1RDSUVfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX1RDSUVfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1RDSUUgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX1RDSUVfTXNrICAgICAgICAgICAgICAgICAvKiE8IFRyYW5zbWlzc2lvbiBDb21wbGV0ZSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSMV9UWEVJRV9Qb3MgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9UWEVJRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9UWEVJRV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFVTQVJUX0NSMV9UWEVJRSAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9UWEVJRV9Nc2sgICAgICAgICAgICAgICAgLyohPCBQRSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSMV9QRUlFX1BvcyAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9QRUlFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9QRUlFX1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFVTQVJUX0NSMV9QRUlFICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9QRUlFX01zayAgICAgICAgICAgICAgICAgLyohPCBQRSBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSMV9QU19Qb3MgICAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9QU19Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9QU19Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFVTQVJUX0NSMV9QUyAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9QU19Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQYXJpdHkgU2VsZWN0aW9uICovDQojZGVmaW5lIFVTQVJUX0NSMV9QQ0VfUG9zICAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9QQ0VfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9QQ0VfUG9zKSAgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFVTQVJUX0NSMV9QQ0UgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9QQ0VfTXNrICAgICAgICAgICAgICAgICAgLyohPCBQYXJpdHkgQ29udHJvbCBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1dBS0VfUG9zICAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX1dBS0VfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX1dBS0VfUG9zKSAgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX1dBS0UgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX1dBS0VfTXNrICAgICAgICAgICAgICAgICAvKiE8IFdha2V1cCBtZXRob2QgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX01fUG9zICAgICAgICAgICAgICAgICAgICAgKDEyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IxX01fTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IxX01fUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDEwMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IxX00gICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX01fTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFdvcmQgbGVuZ3RoICovDQojZGVmaW5lIFVTQVJUX0NSMV9VRV9Qb3MgICAgICAgICAgICAgICAgICAgICgxM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMV9VRV9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMV9VRV9Qb3MpICAgICAgICAgLyohPCAweDAwMDAyMDAwICovDQojZGVmaW5lIFVTQVJUX0NSMV9VRSAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9VRV9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBVU0FSVCBFbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQVJUX0NSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0FERF9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IyX0FERF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4RlUgPDwgVVNBUlRfQ1IyX0FERF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMEYgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0FERCAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IyX0FERF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEFkZHJlc3Mgb2YgdGhlIFVTQVJUIG5vZGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0xCRExfUG9zICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IyX0xCRExfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IyX0xCRExfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0xCREwgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IyX0xCRExfTXNrICAgICAgICAgICAgICAgICAvKiE8IExJTiBCcmVhayBEZXRlY3Rpb24gTGVuZ3RoICovDQojZGVmaW5lIFVTQVJUX0NSMl9MQkRJRV9Qb3MgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMl9MQkRJRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMl9MQkRJRV9Qb3MpICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFVTQVJUX0NSMl9MQkRJRSAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMl9MQkRJRV9Nc2sgICAgICAgICAgICAgICAgLyohPCBMSU4gQnJlYWsgRGV0ZWN0aW9uIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0xCQ0xfUG9zICAgICAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IyX0xCQ0xfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IyX0xCQ0xfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAxMDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0xCQ0wgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IyX0xCQ0xfTXNrICAgICAgICAgICAgICAgICAvKiE8IExhc3QgQml0IENsb2NrIHB1bHNlICovDQojZGVmaW5lIFVTQVJUX0NSMl9DUEhBX1BvcyAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMl9DUEhBX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMl9DUEhBX1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFVTQVJUX0NSMl9DUEhBICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMl9DUEhBX01zayAgICAgICAgICAgICAgICAgLyohPCBDbG9jayBQaGFzZSAqLw0KI2RlZmluZSBVU0FSVF9DUjJfQ1BPTF9Qb3MgICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjJfQ1BPTF9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjJfQ1BPTF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDQwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjJfQ1BPTCAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjJfQ1BPTF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgQ2xvY2sgUG9sYXJpdHkgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0NMS0VOX1BvcyAgICAgICAgICAgICAgICAgKDExVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IyX0NMS0VOX01zayAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IyX0NMS0VOX1BvcykgICAgICAvKiE8IDB4MDAwMDA4MDAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IyX0NMS0VOICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IyX0NMS0VOX01zayAgICAgICAgICAgICAgICAvKiE8IENsb2NrIEVuYWJsZSAqLw0KDQojZGVmaW5lIFVTQVJUX0NSMl9TVE9QX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMl9TVE9QX01zayAgICAgICAgICAgICAgICAgICgweDNVIDw8IFVTQVJUX0NSMl9TVE9QX1BvcykgICAgICAgLyohPCAweDAwMDAzMDAwICovDQojZGVmaW5lIFVTQVJUX0NSMl9TVE9QICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMl9TVE9QX01zayAgICAgICAgICAgICAgICAgLyohPCBTVE9QWzE6MF0gYml0cyAoU1RPUCBiaXRzKSAqLw0KI2RlZmluZSBVU0FSVF9DUjJfU1RPUF8wICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjJfU1RPUF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMTAwMCAqLw0KI2RlZmluZSBVU0FSVF9DUjJfU1RPUF8xICAgICAgICAgICAgICAgICAgICAoMHgyVSA8PCBVU0FSVF9DUjJfU1RPUF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMjAwMCAqLw0KDQojZGVmaW5lIFVTQVJUX0NSMl9MSU5FTl9Qb3MgICAgICAgICAgICAgICAgICgxNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSMl9MSU5FTl9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSMl9MSU5FTl9Qb3MpICAgICAgLyohPCAweDAwMDA0MDAwICovDQojZGVmaW5lIFVTQVJUX0NSMl9MSU5FTiAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMl9MSU5FTl9Nc2sgICAgICAgICAgICAgICAgLyohPCBMSU4gbW9kZSBlbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQVJUX0NSMyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0VJRV9Qb3MgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IzX0VJRV9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IzX0VJRV9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0VJRSAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IzX0VJRV9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IEVycm9yIEludGVycnVwdCBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0lSRU5fUG9zICAgICAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IzX0lSRU5fTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IzX0lSRU5fUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0lSRU4gICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IzX0lSRU5fTXNrICAgICAgICAgICAgICAgICAvKiE8IElyREEgbW9kZSBFbmFibGUgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0lSTFBfUG9zICAgICAgICAgICAgICAgICAgKDJVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IzX0lSTFBfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IzX0lSTFBfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX0lSTFAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IzX0lSTFBfTXNrICAgICAgICAgICAgICAgICAvKiE8IElyREEgTG93LVBvd2VyICovDQojZGVmaW5lIFVTQVJUX0NSM19IRFNFTF9Qb3MgICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19IRFNFTF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19IRFNFTF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIFVTQVJUX0NSM19IRFNFTCAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSM19IRFNFTF9Nc2sgICAgICAgICAgICAgICAgLyohPCBIYWxmLUR1cGxleCBTZWxlY3Rpb24gKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX05BQ0tfUG9zICAgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgVVNBUlRfQ1IzX05BQ0tfTXNrICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgVVNBUlRfQ1IzX05BQ0tfUG9zKSAgICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgVVNBUlRfQ1IzX05BQ0sgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IzX05BQ0tfTXNrICAgICAgICAgICAgICAgICAvKiE8IFNtYXJ0Y2FyZCBOQUNLIGVuYWJsZSAqLw0KI2RlZmluZSBVU0FSVF9DUjNfU0NFTl9Qb3MgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9DUjNfU0NFTl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBVU0FSVF9DUjNfU0NFTl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBVU0FSVF9DUjNfU0NFTiAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DUjNfU0NFTl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgU21hcnRjYXJkIG1vZGUgZW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSM19ETUFSX1BvcyAgICAgICAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19ETUFSX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19ETUFSX1BvcykgICAgICAgLyohPCAweDAwMDAwMDQwICovDQojZGVmaW5lIFVTQVJUX0NSM19ETUFSICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSM19ETUFSX01zayAgICAgICAgICAgICAgICAgLyohPCBETUEgRW5hYmxlIFJlY2VpdmVyICovDQojZGVmaW5lIFVTQVJUX0NSM19ETUFUX1BvcyAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19ETUFUX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19ETUFUX1BvcykgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIFVTQVJUX0NSM19ETUFUICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSM19ETUFUX01zayAgICAgICAgICAgICAgICAgLyohPCBETUEgRW5hYmxlIFRyYW5zbWl0dGVyICovDQojZGVmaW5lIFVTQVJUX0NSM19SVFNFX1BvcyAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19SVFNFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19SVFNFX1BvcykgICAgICAgLyohPCAweDAwMDAwMTAwICovDQojZGVmaW5lIFVTQVJUX0NSM19SVFNFICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSM19SVFNFX01zayAgICAgICAgICAgICAgICAgLyohPCBSVFMgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSM19DVFNFX1BvcyAgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19DVFNFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19DVFNFX1BvcykgICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIFVTQVJUX0NSM19DVFNFICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSM19DVFNFX01zayAgICAgICAgICAgICAgICAgLyohPCBDVFMgRW5hYmxlICovDQojZGVmaW5lIFVTQVJUX0NSM19DVFNJRV9Qb3MgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0NSM19DVFNJRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IFVTQVJUX0NSM19DVFNJRV9Qb3MpICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIFVTQVJUX0NSM19DVFNJRSAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSM19DVFNJRV9Nc2sgICAgICAgICAgICAgICAgLyohPCBDVFMgSW50ZXJydXB0IEVuYWJsZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNBUlRfR1RQUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQ19Qb3MgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQ19Nc2sgICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgVVNBUlRfR1RQUl9QU0NfUG9zKSAgICAgIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQyAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9HVFBSX1BTQ19Nc2sgICAgICAgICAgICAgICAgIC8qITwgUFNDWzc6MF0gYml0cyAoUHJlc2NhbGVyIHZhbHVlKSAqLw0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQ18wICAgICAgICAgICAgICAgICAgICAoMHgwMVUgPDwgVVNBUlRfR1RQUl9QU0NfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQ18xICAgICAgICAgICAgICAgICAgICAoMHgwMlUgPDwgVVNBUlRfR1RQUl9QU0NfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQ18yICAgICAgICAgICAgICAgICAgICAoMHgwNFUgPDwgVVNBUlRfR1RQUl9QU0NfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQ18zICAgICAgICAgICAgICAgICAgICAoMHgwOFUgPDwgVVNBUlRfR1RQUl9QU0NfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQ180ICAgICAgICAgICAgICAgICAgICAoMHgxMFUgPDwgVVNBUlRfR1RQUl9QU0NfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAxMCAqLw0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQ181ICAgICAgICAgICAgICAgICAgICAoMHgyMFUgPDwgVVNBUlRfR1RQUl9QU0NfUG9zKSAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQ182ICAgICAgICAgICAgICAgICAgICAoMHg0MFUgPDwgVVNBUlRfR1RQUl9QU0NfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA0MCAqLw0KI2RlZmluZSBVU0FSVF9HVFBSX1BTQ183ICAgICAgICAgICAgICAgICAgICAoMHg4MFUgPDwgVVNBUlRfR1RQUl9QU0NfUG9zKSAgICAgIC8qITwgMHgwMDAwMDA4MCAqLw0KDQojZGVmaW5lIFVTQVJUX0dUUFJfR1RfUG9zICAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIFVTQVJUX0dUUFJfR1RfTXNrICAgICAgICAgICAgICAgICAgICgweEZGVSA8PCBVU0FSVF9HVFBSX0dUX1BvcykgICAgICAgLyohPCAweDAwMDBGRjAwICovDQojZGVmaW5lIFVTQVJUX0dUUFJfR1QgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0dUUFJfR1RfTXNrICAgICAgICAgICAgICAgICAgLyohPCBHdWFyZCB0aW1lIHZhbHVlICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWJ1ZyBNQ1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERCR01DVV9JRENPREUgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX0RFVl9JRF9Qb3MgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfSURDT0RFX0RFVl9JRF9Nc2sgICAgICAgICAgICAoMHhGRkZVIDw8IERCR01DVV9JRENPREVfREVWX0lEX1BvcykgLyohPCAweDAwMDAwRkZGICovDQojZGVmaW5lIERCR01DVV9JRENPREVfREVWX0lEICAgICAgICAgICAgICAgIERCR01DVV9JRENPREVfREVWX0lEX01zayAgICAgICAgICAgLyohPCBEZXZpY2UgSWRlbnRpZmllciAqLw0KDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEX1BvcyAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEX01zayAgICAgICAgICAgICgweEZGRkZVIDw8IERCR01DVV9JRENPREVfUkVWX0lEX1BvcykgLyohPCAweEZGRkYwMDAwICovDQojZGVmaW5lIERCR01DVV9JRENPREVfUkVWX0lEICAgICAgICAgICAgICAgIERCR01DVV9JRENPREVfUkVWX0lEX01zayAgICAgICAgICAgLyohPCBSRVZfSURbMTU6MF0gYml0cyAoUmV2aXNpb24gSWRlbnRpZmllcikgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMCAgICAgICAgICAgICAgKDB4MDAwMVUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDAwMTAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMSAgICAgICAgICAgICAgKDB4MDAwMlUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDAwMjAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMiAgICAgICAgICAgICAgKDB4MDAwNFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDAwNDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMyAgICAgICAgICAgICAgKDB4MDAwOFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDAwODAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfNCAgICAgICAgICAgICAgKDB4MDAxMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDAxMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfNSAgICAgICAgICAgICAgKDB4MDAyMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDAyMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfNiAgICAgICAgICAgICAgKDB4MDA0MFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDA0MDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfNyAgICAgICAgICAgICAgKDB4MDA4MFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDA4MDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfOCAgICAgICAgICAgICAgKDB4MDEwMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDEwMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfOSAgICAgICAgICAgICAgKDB4MDIwMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDIwMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMTAgICAgICAgICAgICAgKDB4MDQwMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDQwMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMTEgICAgICAgICAgICAgKDB4MDgwMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MDgwMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMTIgICAgICAgICAgICAgKDB4MTAwMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MTAwMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMTMgICAgICAgICAgICAgKDB4MjAwMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4MjAwMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMTQgICAgICAgICAgICAgKDB4NDAwMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4NDAwMDAwMDAgKi8NCiNkZWZpbmUgREJHTUNVX0lEQ09ERV9SRVZfSURfMTUgICAgICAgICAgICAgKDB4ODAwMFUgPDwgREJHTUNVX0lEQ09ERV9SRVZfSURfUG9zKSAvKiE8IDB4ODAwMDAwMDAgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERCR01DVV9DUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19TTEVFUF9Qb3MgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19TTEVFUF9Nc2sgICAgICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19TTEVFUF9Qb3MpICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19TTEVFUCAgICAgICAgICAgICAgICAgREJHTUNVX0NSX0RCR19TTEVFUF9Nc2sgICAgICAgICAgICAvKiE8IERlYnVnIFNsZWVwIE1vZGUgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19TVE9QX1BvcyAgICAgICAgICAgICAgKDFVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgREJHTUNVX0NSX0RCR19TVE9QX01zayAgICAgICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX0RCR19TVE9QX1BvcykgICAvKiE8IDB4MDAwMDAwMDIgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19TVE9QICAgICAgICAgICAgICAgICAgREJHTUNVX0NSX0RCR19TVE9QX01zayAgICAgICAgICAgICAvKiE8IERlYnVnIFN0b3AgTW9kZSAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1NUQU5EQllfUG9zICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX1NUQU5EQllfTXNrICAgICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQ1JfREJHX1NUQU5EQllfUG9zKSAvKiE8IDB4MDAwMDAwMDQgKi8NCiNkZWZpbmUgREJHTUNVX0NSX0RCR19TVEFOREJZICAgICAgICAgICAgICAgREJHTUNVX0NSX0RCR19TVEFOREJZX01zayAgICAgICAgICAvKiE8IERlYnVnIFN0YW5kYnkgbW9kZSAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfVFJBQ0VfSU9FTl9Qb3MgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfVFJBQ0VfSU9FTl9Nc2sgICAgICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQ1JfVFJBQ0VfSU9FTl9Qb3MpIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfVFJBQ0VfSU9FTiAgICAgICAgICAgICAgICBEQkdNQ1VfQ1JfVFJBQ0VfSU9FTl9Nc2sgICAgICAgICAgIC8qITwgVHJhY2UgUGluIEFzc2lnbm1lbnQgQ29udHJvbCAqLw0KDQojZGVmaW5lIERCR01DVV9DUl9UUkFDRV9NT0RFX1BvcyAgICAgICAgICAgICg2VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9DUl9UUkFDRV9NT0RFX01zayAgICAgICAgICAgICgweDNVIDw8IERCR01DVV9DUl9UUkFDRV9NT0RFX1BvcykgLyohPCAweDAwMDAwMEMwICovDQojZGVmaW5lIERCR01DVV9DUl9UUkFDRV9NT0RFICAgICAgICAgICAgICAgIERCR01DVV9DUl9UUkFDRV9NT0RFX01zayAgICAgICAgICAgLyohPCBUUkFDRV9NT0RFWzE6MF0gYml0cyAoVHJhY2UgUGluIEFzc2lnbm1lbnQgQ29udHJvbCkgKi8NCiNkZWZpbmUgREJHTUNVX0NSX1RSQUNFX01PREVfMCAgICAgICAgICAgICAgKDB4MVUgPDwgREJHTUNVX0NSX1RSQUNFX01PREVfUG9zKSAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgREJHTUNVX0NSX1RSQUNFX01PREVfMSAgICAgICAgICAgICAgKDB4MlUgPDwgREJHTUNVX0NSX1RSQUNFX01PREVfUG9zKSAvKiE8IDB4MDAwMDAwODAgKi8NCg0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX0lXREdfU1RPUF9Qb3MgICAgICAgICAoOFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX0lXREdfU1RPUF9Nc2sgICAgICAgICAoMHgxVSA8PCBEQkdNQ1VfQ1JfREJHX0lXREdfU1RPUF9Qb3MpIC8qITwgMHgwMDAwMDEwMCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX0lXREdfU1RPUCAgICAgICAgICAgICBEQkdNQ1VfQ1JfREJHX0lXREdfU1RPUF9Nc2sgICAgICAgIC8qITwgRGVidWcgSW5kZXBlbmRlbnQgV2F0Y2hkb2cgc3RvcHBlZCB3aGVuIENvcmUgaXMgaGFsdGVkICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfV1dER19TVE9QX1BvcyAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9DUl9EQkdfV1dER19TVE9QX01zayAgICAgICAgICgweDFVIDw8IERCR01DVV9DUl9EQkdfV1dER19TVE9QX1BvcykgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfV1dER19TVE9QICAgICAgICAgICAgIERCR01DVV9DUl9EQkdfV1dER19TVE9QX01zayAgICAgICAgLyohPCBEZWJ1ZyBXaW5kb3cgV2F0Y2hkb2cgc3RvcHBlZCB3aGVuIENvcmUgaXMgaGFsdGVkICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNMl9TVE9QX1BvcyAgICAgICAgICgxMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNMl9TVE9QX01zayAgICAgICAgICgweDFVIDw8IERCR01DVV9DUl9EQkdfVElNMl9TVE9QX1BvcykgLyohPCAweDAwMDAwODAwICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNMl9TVE9QICAgICAgICAgICAgIERCR01DVV9DUl9EQkdfVElNMl9TVE9QX01zayAgICAgICAgLyohPCBUSU0yIGNvdW50ZXIgc3RvcHBlZCB3aGVuIGNvcmUgaXMgaGFsdGVkICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNM19TVE9QX1BvcyAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNM19TVE9QX01zayAgICAgICAgICgweDFVIDw8IERCR01DVV9DUl9EQkdfVElNM19TVE9QX1BvcykgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfVElNM19TVE9QICAgICAgICAgICAgIERCR01DVV9DUl9EQkdfVElNM19TVE9QX01zayAgICAgICAgLyohPCBUSU0zIGNvdW50ZXIgc3RvcHBlZCB3aGVuIGNvcmUgaXMgaGFsdGVkICovDQojZGVmaW5lIERCR01DVV9DUl9EQkdfSTJDMV9TTUJVU19USU1FT1VUX1BvcyAoMTVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIERCR01DVV9DUl9EQkdfSTJDMV9TTUJVU19USU1FT1VUX01zayAoMHgxVSA8PCBEQkdNQ1VfQ1JfREJHX0kyQzFfU01CVVNfVElNRU9VVF9Qb3MpIC8qITwgMHgwMDAwODAwMCAqLw0KI2RlZmluZSBEQkdNQ1VfQ1JfREJHX0kyQzFfU01CVVNfVElNRU9VVCAgICBEQkdNQ1VfQ1JfREJHX0kyQzFfU01CVVNfVElNRU9VVF9Nc2sgLyohPCBTTUJVUyB0aW1lb3V0IG1vZGUgc3RvcHBlZCB3aGVuIENvcmUgaXMgaGFsdGVkICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLyogICAgICAgICAgICAgICAgICAgICAgRkxBU0ggYW5kIE9wdGlvbiBCeXRlcyBSZWdpc3RlcnMgICAgICAgICAgICAgICAgICAgICAgKi8NCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9BQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfQUNSX0xBVEVOQ1lfUG9zICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQUNSX0xBVEVOQ1lfTXNrICAgICAgICAgICAgICAgKDB4N1UgPDwgRkxBU0hfQUNSX0xBVEVOQ1lfUG9zKSAgICAvKiE8IDB4MDAwMDAwMDcgKi8NCiNkZWZpbmUgRkxBU0hfQUNSX0xBVEVOQ1kgICAgICAgICAgICAgICAgICAgRkxBU0hfQUNSX0xBVEVOQ1lfTXNrICAgICAgICAgICAgICAvKiE8IExBVEVOQ1lbMjowXSBiaXRzIChMYXRlbmN5KSAqLw0KI2RlZmluZSBGTEFTSF9BQ1JfTEFURU5DWV8wICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9BQ1JfTEFURU5DWV9Qb3MpICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBGTEFTSF9BQ1JfTEFURU5DWV8xICAgICAgICAgICAgICAgICAoMHgyVSA8PCBGTEFTSF9BQ1JfTEFURU5DWV9Qb3MpICAgIC8qITwgMHgwMDAwMDAwMiAqLw0KI2RlZmluZSBGTEFTSF9BQ1JfTEFURU5DWV8yICAgICAgICAgICAgICAgICAoMHg0VSA8PCBGTEFTSF9BQ1JfTEFURU5DWV9Qb3MpICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KDQojZGVmaW5lIEZMQVNIX0FDUl9ITEZDWUFfUG9zICAgICAgICAgICAgICAgICgzVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0FDUl9ITEZDWUFfTXNrICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0FDUl9ITEZDWUFfUG9zKSAgICAgLyohPCAweDAwMDAwMDA4ICovDQojZGVmaW5lIEZMQVNIX0FDUl9ITEZDWUEgICAgICAgICAgICAgICAgICAgIEZMQVNIX0FDUl9ITEZDWUFfTXNrICAgICAgICAgICAgICAgLyohPCBGbGFzaCBIYWxmIEN5Y2xlIEFjY2VzcyBFbmFibGUgKi8NCiNkZWZpbmUgRkxBU0hfQUNSX1BSRlRCRV9Qb3MgICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQUNSX1BSRlRCRV9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQUNSX1BSRlRCRV9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRkxBU0hfQUNSX1BSRlRCRSAgICAgICAgICAgICAgICAgICAgRkxBU0hfQUNSX1BSRlRCRV9Nc2sgICAgICAgICAgICAgICAvKiE8IFByZWZldGNoIEJ1ZmZlciBFbmFibGUgKi8NCiNkZWZpbmUgRkxBU0hfQUNSX1BSRlRCU19Qb3MgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQUNSX1BSRlRCU19Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQUNSX1BSRlRCU19Qb3MpICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRkxBU0hfQUNSX1BSRlRCUyAgICAgICAgICAgICAgICAgICAgRkxBU0hfQUNSX1BSRlRCU19Nc2sgICAgICAgICAgICAgICAvKiE8IFByZWZldGNoIEJ1ZmZlciBTdGF0dXMgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX0tFWVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfS0VZUl9GS0VZUl9Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfS0VZUl9GS0VZUl9Nc2sgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IEZMQVNIX0tFWVJfRktFWVJfUG9zKSAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgRkxBU0hfS0VZUl9GS0VZUiAgICAgICAgICAgICAgICAgICAgRkxBU0hfS0VZUl9GS0VZUl9Nc2sgICAgICAgICAgICAgICAvKiE8IEZQRUMgS2V5ICovDQoNCiNkZWZpbmUgUkRQX0tFWV9Qb3MgICAgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgUkRQX0tFWV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAgKDB4QTVVIDw8IFJEUF9LRVlfUG9zKSAgICAgICAgICAgICAvKiE8IDB4MDAwMDAwQTUgKi8NCiNkZWZpbmUgUkRQX0tFWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkRQX0tFWV9Nc2sgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFJEUCBLZXkgKi8NCiNkZWZpbmUgRkxBU0hfS0VZMV9Qb3MgICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfS0VZMV9Nc2sgICAgICAgICAgICAgICAgICAgICAgKDB4NDU2NzAxMjNVIDw8IEZMQVNIX0tFWTFfUG9zKSAgICAvKiE8IDB4NDU2NzAxMjMgKi8NCiNkZWZpbmUgRkxBU0hfS0VZMSAgICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfS0VZMV9Nc2sgICAgICAgICAgICAgICAgICAgICAvKiE8IEZQRUMgS2V5MSAqLw0KI2RlZmluZSBGTEFTSF9LRVkyX1BvcyAgICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9LRVkyX01zayAgICAgICAgICAgICAgICAgICAgICAoMHhDREVGODlBQlUgPDwgRkxBU0hfS0VZMl9Qb3MpICAgIC8qITwgMHhDREVGODlBQiAqLw0KI2RlZmluZSBGTEFTSF9LRVkyICAgICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9LRVkyX01zayAgICAgICAgICAgICAgICAgICAgIC8qITwgRlBFQyBLZXkyICovDQoNCi8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX09QVEtFWVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX09QVEtFWVJfT1BUS0VZUl9Qb3MgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX09QVEtFWVJfT1BUS0VZUl9Nc2sgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBGTEFTSF9PUFRLRVlSX09QVEtFWVJfUG9zKSAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgRkxBU0hfT1BUS0VZUl9PUFRLRVlSICAgICAgICAgICAgICAgRkxBU0hfT1BUS0VZUl9PUFRLRVlSX01zayAgICAgICAgICAvKiE8IE9wdGlvbiBCeXRlIEtleSAqLw0KDQojZGVmaW5lICBGTEFTSF9PUFRLRVkxICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9LRVkxICAgICAgICAgICAgICAgICAgICAvKiE8IE9wdGlvbiBCeXRlIEtleTEgKi8NCiNkZWZpbmUgIEZMQVNIX09QVEtFWTIgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0tFWTIgICAgICAgICAgICAgICAgICAgIC8qITwgT3B0aW9uIEJ5dGUgS2V5MiAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9TUl9CU1lfUG9zICAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9TUl9CU1lfTXNrICAgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9TUl9CU1lfUG9zKSAgICAgICAgIC8qITwgMHgwMDAwMDAwMSAqLw0KI2RlZmluZSBGTEFTSF9TUl9CU1kgICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9TUl9CU1lfTXNrICAgICAgICAgICAgICAgICAgIC8qITwgQnVzeSAqLw0KI2RlZmluZSBGTEFTSF9TUl9QR0VSUl9Qb3MgICAgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9TUl9QR0VSUl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9TUl9QR0VSUl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBGTEFTSF9TUl9QR0VSUiAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9TUl9QR0VSUl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgUHJvZ3JhbW1pbmcgRXJyb3IgKi8NCiNkZWZpbmUgRkxBU0hfU1JfV1JQUlRFUlJfUG9zICAgICAgICAgICAgICAgKDRVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfU1JfV1JQUlRFUlJfTXNrICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfU1JfV1JQUlRFUlJfUG9zKSAgICAvKiE8IDB4MDAwMDAwMTAgKi8NCiNkZWZpbmUgRkxBU0hfU1JfV1JQUlRFUlIgICAgICAgICAgICAgICAgICAgRkxBU0hfU1JfV1JQUlRFUlJfTXNrICAgICAgICAgICAgICAvKiE8IFdyaXRlIFByb3RlY3Rpb24gRXJyb3IgKi8NCiNkZWZpbmUgRkxBU0hfU1JfRU9QX1BvcyAgICAgICAgICAgICAgICAgICAgKDVVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfU1JfRU9QX01zayAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfU1JfRU9QX1BvcykgICAgICAgICAvKiE8IDB4MDAwMDAwMjAgKi8NCiNkZWZpbmUgRkxBU0hfU1JfRU9QICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfU1JfRU9QX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEVuZCBvZiBvcGVyYXRpb24gKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9DUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfQ1JfUEdfUG9zICAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQ1JfUEdfTXNrICAgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQ1JfUEdfUG9zKSAgICAgICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfUEcgICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfQ1JfUEdfTXNrICAgICAgICAgICAgICAgICAgICAvKiE8IFByb2dyYW1taW5nICovDQojZGVmaW5lIEZMQVNIX0NSX1BFUl9Qb3MgICAgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0NSX1BFUl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0NSX1BFUl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEZMQVNIX0NSX1BFUiAgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0NSX1BFUl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBQYWdlIEVyYXNlICovDQojZGVmaW5lIEZMQVNIX0NSX01FUl9Qb3MgICAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0NSX01FUl9Nc2sgICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0NSX01FUl9Qb3MpICAgICAgICAgLyohPCAweDAwMDAwMDA0ICovDQojZGVmaW5lIEZMQVNIX0NSX01FUiAgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0NSX01FUl9Nc2sgICAgICAgICAgICAgICAgICAgLyohPCBNYXNzIEVyYXNlICovDQojZGVmaW5lIEZMQVNIX0NSX09QVFBHX1BvcyAgICAgICAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0NSX09QVFBHX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0NSX09QVFBHX1BvcykgICAgICAgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEZMQVNIX0NSX09QVFBHICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0NSX09QVFBHX01zayAgICAgICAgICAgICAgICAgLyohPCBPcHRpb24gQnl0ZSBQcm9ncmFtbWluZyAqLw0KI2RlZmluZSBGTEFTSF9DUl9PUFRFUl9Qb3MgICAgICAgICAgICAgICAgICAoNVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9DUl9PUFRFUl9Nc2sgICAgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9DUl9PUFRFUl9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDAyMCAqLw0KI2RlZmluZSBGTEFTSF9DUl9PUFRFUiAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9DUl9PUFRFUl9Nc2sgICAgICAgICAgICAgICAgIC8qITwgT3B0aW9uIEJ5dGUgRXJhc2UgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfU1RSVF9Qb3MgICAgICAgICAgICAgICAgICAgKDZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQ1JfU1RSVF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfQ1JfU1RSVF9Qb3MpICAgICAgICAvKiE8IDB4MDAwMDAwNDAgKi8NCiNkZWZpbmUgRkxBU0hfQ1JfU1RSVCAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfQ1JfU1RSVF9Nc2sgICAgICAgICAgICAgICAgICAvKiE8IFN0YXJ0ICovDQojZGVmaW5lIEZMQVNIX0NSX0xPQ0tfUG9zICAgICAgICAgICAgICAgICAgICg3VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0NSX0xPQ0tfTXNrICAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0NSX0xPQ0tfUG9zKSAgICAgICAgLyohPCAweDAwMDAwMDgwICovDQojZGVmaW5lIEZMQVNIX0NSX0xPQ0sgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0NSX0xPQ0tfTXNrICAgICAgICAgICAgICAgICAgLyohPCBMb2NrICovDQojZGVmaW5lIEZMQVNIX0NSX09QVFdSRV9Qb3MgICAgICAgICAgICAgICAgICg5VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0NSX09QVFdSRV9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0NSX09QVFdSRV9Qb3MpICAgICAgLyohPCAweDAwMDAwMjAwICovDQojZGVmaW5lIEZMQVNIX0NSX09QVFdSRSAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0NSX09QVFdSRV9Nc2sgICAgICAgICAgICAgICAgLyohPCBPcHRpb24gQnl0ZXMgV3JpdGUgRW5hYmxlICovDQojZGVmaW5lIEZMQVNIX0NSX0VSUklFX1BvcyAgICAgICAgICAgICAgICAgICgxMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0NSX0VSUklFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0NSX0VSUklFX1BvcykgICAgICAgLyohPCAweDAwMDAwNDAwICovDQojZGVmaW5lIEZMQVNIX0NSX0VSUklFICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0NSX0VSUklFX01zayAgICAgICAgICAgICAgICAgLyohPCBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlICovDQojZGVmaW5lIEZMQVNIX0NSX0VPUElFX1BvcyAgICAgICAgICAgICAgICAgICgxMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX0NSX0VPUElFX01zayAgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX0NSX0VPUElFX1BvcykgICAgICAgLyohPCAweDAwMDAxMDAwICovDQojZGVmaW5lIEZMQVNIX0NSX0VPUElFICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0NSX0VPUElFX01zayAgICAgICAgICAgICAgICAgLyohPCBFbmQgb2Ygb3BlcmF0aW9uIGludGVycnVwdCBlbmFibGUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9BUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfQVJfRkFSX1BvcyAgICAgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfQVJfRkFSX01zayAgICAgICAgICAgICAgICAgICAgKDB4RkZGRkZGRkZVIDw8IEZMQVNIX0FSX0ZBUl9Qb3MpICAvKiE8IDB4RkZGRkZGRkYgKi8NCiNkZWZpbmUgRkxBU0hfQVJfRkFSICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0hfQVJfRkFSX01zayAgICAgICAgICAgICAgICAgICAvKiE8IEZsYXNoIEFkZHJlc3MgKi8NCg0KLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZMQVNIX09CUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgRkxBU0hfT0JSX09QVEVSUl9Qb3MgICAgICAgICAgICAgICAgKDBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfT0JSX09QVEVSUl9Nc2sgICAgICAgICAgICAgICAgKDB4MVUgPDwgRkxBU0hfT0JSX09QVEVSUl9Qb3MpICAgICAvKiE8IDB4MDAwMDAwMDEgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX09QVEVSUiAgICAgICAgICAgICAgICAgICAgRkxBU0hfT0JSX09QVEVSUl9Nc2sgICAgICAgICAgICAgICAvKiE8IE9wdGlvbiBCeXRlIEVycm9yICovDQojZGVmaW5lIEZMQVNIX09CUl9SRFBSVF9Qb3MgICAgICAgICAgICAgICAgICgxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX09CUl9SRFBSVF9Nc2sgICAgICAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX09CUl9SRFBSVF9Qb3MpICAgICAgLyohPCAweDAwMDAwMDAyICovDQojZGVmaW5lIEZMQVNIX09CUl9SRFBSVCAgICAgICAgICAgICAgICAgICAgIEZMQVNIX09CUl9SRFBSVF9Nc2sgICAgICAgICAgICAgICAgLyohPCBSZWFkIHByb3RlY3Rpb24gKi8NCg0KI2RlZmluZSBGTEFTSF9PQlJfSVdER19TV19Qb3MgICAgICAgICAgICAgICAoMlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9PQlJfSVdER19TV19Nc2sgICAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9PQlJfSVdER19TV19Qb3MpICAgIC8qITwgMHgwMDAwMDAwNCAqLw0KI2RlZmluZSBGTEFTSF9PQlJfSVdER19TVyAgICAgICAgICAgICAgICAgICBGTEFTSF9PQlJfSVdER19TV19Nc2sgICAgICAgICAgICAgIC8qITwgSVdERyBTVyAqLw0KI2RlZmluZSBGTEFTSF9PQlJfblJTVF9TVE9QX1BvcyAgICAgICAgICAgICAoM1UpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9PQlJfblJTVF9TVE9QX01zayAgICAgICAgICAgICAoMHgxVSA8PCBGTEFTSF9PQlJfblJTVF9TVE9QX1BvcykgIC8qITwgMHgwMDAwMDAwOCAqLw0KI2RlZmluZSBGTEFTSF9PQlJfblJTVF9TVE9QICAgICAgICAgICAgICAgICBGTEFTSF9PQlJfblJTVF9TVE9QX01zayAgICAgICAgICAgIC8qITwgblJTVF9TVE9QICovDQojZGVmaW5lIEZMQVNIX09CUl9uUlNUX1NUREJZX1BvcyAgICAgICAgICAgICg0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX09CUl9uUlNUX1NUREJZX01zayAgICAgICAgICAgICgweDFVIDw8IEZMQVNIX09CUl9uUlNUX1NUREJZX1BvcykgLyohPCAweDAwMDAwMDEwICovDQojZGVmaW5lIEZMQVNIX09CUl9uUlNUX1NUREJZICAgICAgICAgICAgICAgIEZMQVNIX09CUl9uUlNUX1NUREJZX01zayAgICAgICAgICAgLyohPCBuUlNUX1NUREJZICovDQojZGVmaW5lIEZMQVNIX09CUl9VU0VSX1BvcyAgICAgICAgICAgICAgICAgICgyVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX09CUl9VU0VSX01zayAgICAgICAgICAgICAgICAgICgweDdVIDw8IEZMQVNIX09CUl9VU0VSX1BvcykgICAgICAgLyohPCAweDAwMDAwMDFDICovDQojZGVmaW5lIEZMQVNIX09CUl9VU0VSICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX09CUl9VU0VSX01zayAgICAgICAgICAgICAgICAgLyohPCBVc2VyIE9wdGlvbiBCeXRlcyAqLw0KI2RlZmluZSBGTEFTSF9PQlJfREFUQTBfUG9zICAgICAgICAgICAgICAgICAoMTBVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9PQlJfREFUQTBfTXNrICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfT0JSX0RBVEEwX1BvcykgICAgIC8qITwgMHgwMDAzRkMwMCAqLw0KI2RlZmluZSBGTEFTSF9PQlJfREFUQTAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9PQlJfREFUQTBfTXNrICAgICAgICAgICAgICAgIC8qITwgRGF0YTAgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX0RBVEExX1BvcyAgICAgICAgICAgICAgICAgKDE4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfT0JSX0RBVEExX01zayAgICAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX09CUl9EQVRBMV9Qb3MpICAgICAvKiE8IDB4MDNGQzAwMDAgKi8NCiNkZWZpbmUgRkxBU0hfT0JSX0RBVEExICAgICAgICAgICAgICAgICAgICAgRkxBU0hfT0JSX0RBVEExX01zayAgICAgICAgICAgICAgICAvKiE8IERhdGExICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9XUlBSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX1dSUFJfV1JQX1BvcyAgICAgICAgICAgICAgICAgICgwVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1dSUFJfV1JQX01zayAgICAgICAgICAgICAgICAgICgweEZGRkZGRkZGVSA8PCBGTEFTSF9XUlBSX1dSUF9Qb3MpIC8qITwgMHhGRkZGRkZGRiAqLw0KI2RlZmluZSBGTEFTSF9XUlBSX1dSUCAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9XUlBSX1dSUF9Nc2sgICAgICAgICAgICAgICAgIC8qITwgV3JpdGUgUHJvdGVjdCAqLw0KDQovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfUkRQIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9SRFBfUkRQX1BvcyAgICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9SRFBfUkRQX01zayAgICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfUkRQX1JEUF9Qb3MpICAgICAgIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBGTEFTSF9SRFBfUkRQICAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9SRFBfUkRQX01zayAgICAgICAgICAgICAgICAgIC8qITwgUmVhZCBwcm90ZWN0aW9uIG9wdGlvbiBieXRlICovDQojZGVmaW5lIEZMQVNIX1JEUF9uUkRQX1BvcyAgICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1JEUF9uUkRQX01zayAgICAgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9SRFBfblJEUF9Qb3MpICAgICAgLyohPCAweDAwMDBGRjAwICovDQojZGVmaW5lIEZMQVNIX1JEUF9uUkRQICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1JEUF9uUkRQX01zayAgICAgICAgICAgICAgICAgLyohPCBSZWFkIHByb3RlY3Rpb24gY29tcGxlbWVudGVkIG9wdGlvbiBieXRlICovDQoNCi8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGTEFTSF9VU0VSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIEZMQVNIX1VTRVJfVVNFUl9Qb3MgICAgICAgICAgICAgICAgICgxNlUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1VTRVJfVVNFUl9Nc2sgICAgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9VU0VSX1VTRVJfUG9zKSAgICAgLyohPCAweDAwRkYwMDAwICovDQojZGVmaW5lIEZMQVNIX1VTRVJfVVNFUiAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1VTRVJfVVNFUl9Nc2sgICAgICAgICAgICAgICAgLyohPCBVc2VyIG9wdGlvbiBieXRlICovDQojZGVmaW5lIEZMQVNIX1VTRVJfblVTRVJfUG9zICAgICAgICAgICAgICAgICgyNFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1VTRVJfblVTRVJfTXNrICAgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9VU0VSX25VU0VSX1BvcykgICAgLyohPCAweEZGMDAwMDAwICovDQojZGVmaW5lIEZMQVNIX1VTRVJfblVTRVIgICAgICAgICAgICAgICAgICAgIEZMQVNIX1VTRVJfblVTRVJfTXNrICAgICAgICAgICAgICAgLyohPCBVc2VyIGNvbXBsZW1lbnRlZCBvcHRpb24gYnl0ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfRGF0YTAgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9EQVRBMF9EQVRBMF9Qb3MgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9EQVRBMF9EQVRBMF9Nc2sgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfREFUQTBfREFUQTBfUG9zKSAgIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBGTEFTSF9EQVRBMF9EQVRBMCAgICAgICAgICAgICAgICAgICBGTEFTSF9EQVRBMF9EQVRBMF9Nc2sgICAgICAgICAgICAgIC8qITwgVXNlciBkYXRhIHN0b3JhZ2Ugb3B0aW9uIGJ5dGUgKi8NCiNkZWZpbmUgRkxBU0hfREFUQTBfbkRBVEEwX1BvcyAgICAgICAgICAgICAgKDhVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfREFUQTBfbkRBVEEwX01zayAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX0RBVEEwX25EQVRBMF9Qb3MpICAvKiE8IDB4MDAwMEZGMDAgKi8NCiNkZWZpbmUgRkxBU0hfREFUQTBfbkRBVEEwICAgICAgICAgICAgICAgICAgRkxBU0hfREFUQTBfbkRBVEEwX01zayAgICAgICAgICAgICAvKiE8IFVzZXIgZGF0YSBzdG9yYWdlIGNvbXBsZW1lbnRlZCBvcHRpb24gYnl0ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfRGF0YTEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9EQVRBMV9EQVRBMV9Qb3MgICAgICAgICAgICAgICAoMTZVKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9EQVRBMV9EQVRBMV9Nc2sgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfREFUQTFfREFUQTFfUG9zKSAgIC8qITwgMHgwMEZGMDAwMCAqLw0KI2RlZmluZSBGTEFTSF9EQVRBMV9EQVRBMSAgICAgICAgICAgICAgICAgICBGTEFTSF9EQVRBMV9EQVRBMV9Nc2sgICAgICAgICAgICAgIC8qITwgVXNlciBkYXRhIHN0b3JhZ2Ugb3B0aW9uIGJ5dGUgKi8NCiNkZWZpbmUgRkxBU0hfREFUQTFfbkRBVEExX1BvcyAgICAgICAgICAgICAgKDI0VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiNkZWZpbmUgRkxBU0hfREFUQTFfbkRBVEExX01zayAgICAgICAgICAgICAgKDB4RkZVIDw8IEZMQVNIX0RBVEExX25EQVRBMV9Qb3MpICAvKiE8IDB4RkYwMDAwMDAgKi8NCiNkZWZpbmUgRkxBU0hfREFUQTFfbkRBVEExICAgICAgICAgICAgICAgICAgRkxBU0hfREFUQTFfbkRBVEExX01zayAgICAgICAgICAgICAvKiE8IFVzZXIgZGF0YSBzdG9yYWdlIGNvbXBsZW1lbnRlZCBvcHRpb24gYnl0ZSAqLw0KDQovKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRkxBU0hfV1JQMCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBGTEFTSF9XUlAwX1dSUDBfUG9zICAgICAgICAgICAgICAgICAoMFUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBGTEFTSF9XUlAwX1dSUDBfTXNrICAgICAgICAgICAgICAgICAoMHhGRlUgPDwgRkxBU0hfV1JQMF9XUlAwX1BvcykgICAgIC8qITwgMHgwMDAwMDBGRiAqLw0KI2RlZmluZSBGTEFTSF9XUlAwX1dSUDAgICAgICAgICAgICAgICAgICAgICBGTEFTSF9XUlAwX1dSUDBfTXNrICAgICAgICAgICAgICAgIC8qITwgRmxhc2ggbWVtb3J5IHdyaXRlIHByb3RlY3Rpb24gb3B0aW9uIGJ5dGVzICovDQojZGVmaW5lIEZMQVNIX1dSUDBfbldSUDBfUG9zICAgICAgICAgICAgICAgICg4VSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIEZMQVNIX1dSUDBfbldSUDBfTXNrICAgICAgICAgICAgICAgICgweEZGVSA8PCBGTEFTSF9XUlAwX25XUlAwX1BvcykgICAgLyohPCAweDAwMDBGRjAwICovDQojZGVmaW5lIEZMQVNIX1dSUDBfbldSUDAgICAgICAgICAgICAgICAgICAgIEZMQVNIX1dSUDBfbldSUDBfTXNrICAgICAgICAgICAgICAgLyohPCBGbGFzaCBtZW1vcnkgd3JpdGUgcHJvdGVjdGlvbiBjb21wbGVtZW50ZWQgb3B0aW9uIGJ5dGVzICovDQoNCg0KDQovKioNCiAgKiBAfQ0KKi8NCg0KLyoqDQogICogQH0NCiovIA0KDQovKiogQGFkZHRvZ3JvdXAgRXhwb3J0ZWRfbWFjcm8NCiAgKiBAew0KICAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEFEQyBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19BRENfQUxMX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gQURDMSkpDQoNCiNkZWZpbmUgSVNfQURDX0NPTU1PTl9JTlNUQU5DRShJTlNUQU5DRSkgKChJTlNUQU5DRSkgPT0gQURDMV9DT01NT04pDQoNCiNkZWZpbmUgSVNfQURDX0RNQV9DQVBBQklMSVRZX0lOU1RBTkNFKElOU1RBTkNFKSAoKElOU1RBTkNFKSA9PSBBREMxKQ0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIENSQyBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19DUkNfQUxMX0lOU1RBTkNFKElOU1RBTkNFKSAoKElOU1RBTkNFKSA9PSBDUkMpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogREFDIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogRE1BIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0RNQV9BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBETUExX0NoYW5uZWwxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUExX0NoYW5uZWwyKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUExX0NoYW5uZWwzKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUExX0NoYW5uZWw0KSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUExX0NoYW5uZWw1KSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUExX0NoYW5uZWw2KSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBETUExX0NoYW5uZWw3KSkNCiAgDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBHUElPIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19HUElPX0FMTF9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IEdQSU9BKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gR1BJT0IpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBHUElPQykgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IEdQSU9EKSkNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKiogR1BJTyBBbHRlcm5hdGUgRnVuY3Rpb24gSW5zdGFuY2VzICoqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfR1BJT19BRl9JTlNUQU5DRShJTlNUQU5DRSkgSVNfR1BJT19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqIEdQSU8gTG9jayBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0dQSU9fTE9DS19JTlNUQU5DRShJTlNUQU5DRSkgSVNfR1BJT19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBJMkMgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0kyQ19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoSU5TVEFOQ0UpID09IEkyQzEpDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFNNQlVTIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX1NNQlVTX0FMTF9JTlNUQU5DRSAgICAgICAgIElTX0kyQ19BTExfSU5TVEFOQ0UNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBJV0RHIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfSVdER19BTExfSU5TVEFOQ0UoSU5TVEFOQ0UpICAoKElOU1RBTkNFKSA9PSBJV0RHKQ0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogU1BJIEluc3RhbmNlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19TUElfQUxMX0lOU1RBTkNFKElOU1RBTkNFKSAoKElOU1RBTkNFKSA9PSBTUEkxKQ0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFNUQVJUIFRJTSBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBUSU0gSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfVElNX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpKQ0KDQojZGVmaW5lIElTX1RJTV9BRFZBTkNFRF9JTlNUQU5DRShJTlNUQU5DRSkgICAgICAgICAgICAgIDBVDQoNCiNkZWZpbmUgSVNfVElNX0NDMV9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSkNCg0KI2RlZmluZSBJU19USU1fQ0MyX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpKQ0KDQojZGVmaW5lIElTX1RJTV9DQzNfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykpDQoNCiNkZWZpbmUgSVNfVElNX0NDNF9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSkNCg0KI2RlZmluZSBJU19USU1fQ0xPQ0tTT1VSQ0VfRVRSTU9ERTFfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykpDQoNCiNkZWZpbmUgSVNfVElNX0NMT0NLU09VUkNFX0VUUk1PREUyX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpKQ0KDQojZGVmaW5lIElTX1RJTV9DTE9DS1NPVVJDRV9USVhfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykpDQoNCiNkZWZpbmUgSVNfVElNX0NMT0NLU09VUkNFX0lUUlhfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykpDQoNCiNkZWZpbmUgSVNfVElNX09DWFJFRl9DTEVBUl9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSkNCg0KI2RlZmluZSBJU19USU1fRU5DT0RFUl9JTlRFUkZBQ0VfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykpDQoNCiNkZWZpbmUgSVNfVElNX1hPUl9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSkNCg0KI2RlZmluZSBJU19USU1fTUFTVEVSX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpKQ0KDQojZGVmaW5lIElTX1RJTV9TTEFWRV9JTlNUQU5DRShJTlNUQU5DRSlcDQogICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAoKElOU1RBTkNFKSA9PSBUSU0zKSkNCg0KI2RlZmluZSBJU19USU1fRE1BQlVSU1RfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykpDQoNCiNkZWZpbmUgSVNfVElNX0JSRUFLX0lOU1RBTkNFKElOU1RBTkNFKSAgICAgICAgICAgICAgICAgMFUNCg0KI2RlZmluZSBJU19USU1fQ0NYX0lOU1RBTkNFKElOU1RBTkNFLCBDSEFOTkVMKSBcDQogICAoKCgoSU5TVEFOQ0UpID09IFRJTTIpICYmICAgICAgICAgICAgICAgICAgIFwNCiAgICAgKCgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMSkgfHwgICAgICAgICAgXA0KICAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8yKSB8fCAgICAgICAgICBcDQogICAgICAoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzMpIHx8ICAgICAgICAgIFwNCiAgICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfNCkpKSAgICAgICAgICAgXA0KICAgIHx8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQogICAgKCgoSU5TVEFOQ0UpID09IFRJTTMpICYmICAgICAgICAgICAgICAgICAgIFwNCiAgICAgKCgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfMSkgfHwgICAgICAgICAgXA0KICAgICAgKChDSEFOTkVMKSA9PSBUSU1fQ0hBTk5FTF8yKSB8fCAgICAgICAgICBcDQogICAgICAoKENIQU5ORUwpID09IFRJTV9DSEFOTkVMXzMpIHx8ICAgICAgICAgIFwNCiAgICAgICgoQ0hBTk5FTCkgPT0gVElNX0NIQU5ORUxfNCkpKSkNCg0KI2RlZmluZSBJU19USU1fQ0NYTl9JTlNUQU5DRShJTlNUQU5DRSwgQ0hBTk5FTCkgICAgICAgICAwVQ0KDQojZGVmaW5lIElTX1RJTV9DT1VOVEVSX01PREVfU0VMRUNUX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpKQ0KDQojZGVmaW5lIElTX1RJTV9SRVBFVElUSU9OX0NPVU5URVJfSU5TVEFOQ0UoSU5TVEFOQ0UpICAgIDBVDQoNCiNkZWZpbmUgSVNfVElNX0NMT0NLX0RJVklTSU9OX0lOU1RBTkNFKElOU1RBTkNFKVwNCiAgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICgoSU5TVEFOQ0UpID09IFRJTTMpKQ0KDQojZGVmaW5lIElTX1RJTV9ETUFfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykpDQogICAgDQojZGVmaW5lIElTX1RJTV9ETUFfQ0NfSU5TVEFOQ0UoSU5TVEFOQ0UpXA0KICAoKChJTlNUQU5DRSkgPT0gVElNMikgICAgfHwgXA0KICAgKChJTlNUQU5DRSkgPT0gVElNMykpDQogICAgDQojZGVmaW5lIElTX1RJTV9DT01NVVRBVElPTl9FVkVOVF9JTlNUQU5DRShJTlNUQU5DRSkgICAgIDBVDQoNCiNkZWZpbmUgSVNfVElNX0VUUl9JTlNUQU5DRShJTlNUQU5DRSkgICgoKElOU1RBTkNFKSA9PSBUSU0yKSAgICB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVElNMykpDQoNCiNkZWZpbmUgSVNfVElNX0hBTExfU0VOU09SX0lOVEVSRkFDRV9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFRJTTIpICAgIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFRJTTMpKQ0KDQojZGVmaW5lIElTX1RJTV8zMkJfQ09VTlRFUl9JTlNUQU5DRShJTlNUQU5DRSkgICAgICAgICAgIDBVDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogRU5EIFRJTSBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqIFVTQVJUIEluc3RhbmNlcyA6IFN5bmNocm9ub3VzIG1vZGUgKioqKioqKioqKioqKioqKioqKioqKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQojZGVmaW5lIElTX1VTQVJUX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gVVNBUlQxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQyKSkNCg0KLyoqKioqKioqKioqKioqKioqKioqIFVBUlQgSW5zdGFuY2VzIDogQXN5bmNocm9ub3VzIG1vZGUgKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfVUFSVF9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFVTQVJUMSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQyKSApDQoNCi8qKioqKioqKioqKioqKioqKioqKiBVQVJUIEluc3RhbmNlcyA6IEhhbGYtRHVwbGV4IG1vZGUgKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfVUFSVF9IQUxGRFVQTEVYX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gVVNBUlQxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMikgKQ0KDQovKioqKioqKioqKioqKioqKioqKiogVUFSVCBJbnN0YW5jZXMgOiBMSU4gbW9kZSAqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19VQVJUX0xJTl9JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFVTQVJUMSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMikgKQ0KDQovKioqKioqKioqKioqKioqKioqIFVBUlQgSW5zdGFuY2VzIDogSGFyZHdhcmUgRmxvdyBjb250cm9sICoqKioqKioqKioqKioqKioqKioqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KI2RlZmluZSBJU19VQVJUX0hXRkxPV19JTlNUQU5DRShJTlNUQU5DRSkgKCgoSU5TVEFOQ0UpID09IFVTQVJUMSkgfHwgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMikgKQ0KDQovKioqKioqKioqKioqKioqKioqKioqIFVBUlQgSW5zdGFuY2VzIDogU21hcmQgY2FyZCBtb2RlICoqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19TTUFSVENBUkRfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBVU0FSVDEpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQyKSApDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKiBVQVJUIEluc3RhbmNlcyA6IElSREEgbW9kZSAqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX0lSREFfSU5TVEFOQ0UoSU5TVEFOQ0UpICgoKElOU1RBTkNFKSA9PSBVU0FSVDEpIHx8IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5TVEFOQ0UpID09IFVTQVJUMikgKQ0KDQovKioqKioqKioqKioqKioqKiogVUFSVCBJbnN0YW5jZXMgOiBNdWx0aS1Qcm9jZXNzb3IgbW9kZSAqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19VQVJUX01VTFRJUFJPQ0VTU09SX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gVVNBUlQxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOU1RBTkNFKSA9PSBVU0FSVDIpICkNCg0KLyoqKioqKioqKioqKioqKioqIFVBUlQgSW5zdGFuY2VzIDogRE1BIG1vZGUgYXZhaWxhYmxlICoqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX1VBUlRfRE1BX0lOU1RBTkNFKElOU1RBTkNFKSAoKChJTlNUQU5DRSkgPT0gVVNBUlQxKSB8fCBcDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlNUQU5DRSkgPT0gVVNBUlQyKSkNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBSVEMgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgSVNfUlRDX0FMTF9JTlNUQU5DRShJTlNUQU5DRSkgICgoSU5TVEFOQ0UpID09IFJUQykNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKiogV1dERyBJbnN0YW5jZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIElTX1dXREdfQUxMX0lOU1RBTkNFKElOU1RBTkNFKSAgKChJTlNUQU5DRSkgPT0gV1dERykNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBVU0IgSW5zdGFuY2VzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBJU19VU0JfQUxMX0lOU1RBTkNFKElOU1RBTkNFKSAgICgoSU5TVEFOQ0UpID09IFVTQikNCg0KDQoNCiNkZWZpbmUgUkNDX0hTRV9NSU4gICAgICAgICA0MDAwMDAwVQ0KI2RlZmluZSBSQ0NfSFNFX01BWCAgICAgICAgMTYwMDAwMDBVDQoNCiNkZWZpbmUgUkNDX01BWF9GUkVRVUVOQ1kgIDcyMDAwMDAwVQ0KDQovKioNCiAgKiBAfQ0KICAqLyANCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgRm9yIGEgcGFpbmxlc3MgY29kZXMgbWlncmF0aW9uIGJldHdlZW4gdGhlIFNUTTMyRjF4eCBkZXZpY2UgcHJvZHVjdCAgICAgICAqLw0KLyogIGxpbmVzLCB0aGUgYWxpYXNlcyBkZWZpbmVkIGJlbG93IGFyZSBwdXQgaW4gcGxhY2UgdG8gb3ZlcmNvbWUgdGhlICAgICAgICAgKi8NCi8qICBkaWZmZXJlbmNlcyBpbiB0aGUgaW50ZXJydXB0IGhhbmRsZXJzIGFuZCBJUlFuIGRlZmluaXRpb25zLiAgICAgICAgICAgICAgICovDQovKiAgTm8gbmVlZCB0byB1cGRhdGUgZGV2ZWxvcGVkIGludGVycnVwdCBjb2RlIHdoZW4gbW92aW5nIGFjcm9zcyAgICAgICAgICAgICAqLyANCi8qICBwcm9kdWN0IGxpbmVzIHdpdGhpbiB0aGUgc2FtZSBTVE0zMkYxIEZhbWlseSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKiBBbGlhc2VzIGZvciBfX0lSUW4gKi8NCiNkZWZpbmUgQURDMV8yX0lSUW4gICAgICAgICAgQURDMV9JUlFuDQojZGVmaW5lIE9UR19GU19XS1VQX0lSUW4gICAgIFVTQldha2VVcF9JUlFuDQojZGVmaW5lIENFQ19JUlFuICAgICAgICAgICAgIFVTQldha2VVcF9JUlFuDQojZGVmaW5lIENBTjFfVFhfSVJRbiAgICAgICAgIFVTQl9IUF9JUlFuDQojZGVmaW5lIFVTQl9IUF9DQU4xX1RYX0lSUW4gIFVTQl9IUF9JUlFuDQojZGVmaW5lIENBTjFfUlgwX0lSUW4gICAgICAgIFVTQl9MUF9JUlFuDQojZGVmaW5lIFVTQl9MUF9DQU4xX1JYMF9JUlFuIFVTQl9MUF9JUlFuDQoNCg0KLyogQWxpYXNlcyBmb3IgX19JUlFIYW5kbGVyICovDQojZGVmaW5lIEFEQzFfMl9JUlFIYW5kbGVyICAgICAgICAgIEFEQzFfSVJRSGFuZGxlcg0KI2RlZmluZSBPVEdfRlNfV0tVUF9JUlFIYW5kbGVyICAgICBVU0JXYWtlVXBfSVJRSGFuZGxlcg0KI2RlZmluZSBDRUNfSVJRSGFuZGxlciAgICAgICAgICAgICBVU0JXYWtlVXBfSVJRSGFuZGxlcg0KI2RlZmluZSBDQU4xX1RYX0lSUUhhbmRsZXIgICAgICAgICBVU0JfSFBfSVJRSGFuZGxlcg0KI2RlZmluZSBVU0JfSFBfQ0FOMV9UWF9JUlFIYW5kbGVyICBVU0JfSFBfSVJRSGFuZGxlcg0KI2RlZmluZSBDQU4xX1JYMF9JUlFIYW5kbGVyICAgICAgICBVU0JfTFBfSVJRSGFuZGxlcg0KI2RlZmluZSBVU0JfTFBfQ0FOMV9SWDBfSVJRSGFuZGxlciBVU0JfTFBfSVJRSGFuZGxlcg0KDQoNCi8qKg0KICAqIEB9DQogICovDQoNCi8qKg0KICAqIEB9DQogICovDQoNCg0KI2lmZGVmIF9fY3BsdXNwbHVzDQogIH0NCiNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLw0KICANCiNlbmRpZiAvKiBfX1NUTTMyRjEwMng2X0ggKi8NCiAgDQogIA0KICANCiAgLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8NCg==