LyoKICogTm90ZXBhZCAoU3dlZGlzaCByZXNvdXJjZXMpCiAqCiAqIENvcHlyaWdodCAxOTk3IE1hcmNlbCBCYXVyIDxtYmF1ckBnMjYuZXRoei5jaD4KICogU3dlZGlzaCBsYW5ndWFnZSBieSBLYXJsIEJhY2tzdHL2bSA8a2FybF9iQGdlb2NpdGllcy5jb20+CiAqLwoKI2RlZmluZSBMQU5HVUFHRV9JRCAgICAgICAgICAgICAgICAgIFN3CiNkZWZpbmUgTEFOR1VBR0VfTlVNQkVSICAgICAgICAgICAgICAxZAojZGVmaW5lIExBTkdVQUdFX01FTlVfSVRFTSAgICAgICAgICAgIiZTdmVuc2thIgoKLyogTWVudSAqLwoKI2RlZmluZSBNRU5VX0ZJTEUgICAgICAgICAgICAgICAgICAgICImQXJraXYiCiNkZWZpbmUgTUVOVV9GSUxFX05FVyAgICAgICAgICAgICAgICAiJk55Li4uIgojZGVmaW5lIE1FTlVfRklMRV9PUEVOICAgICAgICAgICAgICAgItYmcHBuYSIKI2RlZmluZSBNRU5VX0ZJTEVfU0FWRSAgICAgICAgICAgICAgICImU3BhcmEiCiNkZWZpbmUgTUVOVV9GSUxFX1NBVkVBUyAgICAgICAgICAgICAiU3BhcmEgJnNvbS4uLiIKI2RlZmluZSBNRU5VX0ZJTEVfUFJJTlQgICAgICAgICAgICAgICImU2tyaXYgdXQiCiNkZWZpbmUgTUVOVV9GSUxFX1BBR0VTRVRVUCAgICAgICAgICAiU2lkIExhJnlvdXQuLi4iCiNkZWZpbmUgTUVOVV9GSUxFX1BSSU5UU0VUVVAgICAgICAgICAiU2tyaXZhciAmaW5zdORsbG5pbmdhci4uLiIKI2RlZmluZSBNRU5VX0ZJTEVfRVhJVCAgICAgICAgICAgICAgICImQXZzbHV0YSIKCiNkZWZpbmUgTUVOVV9FRElUICAgICAgICAgICAgICAgICAgICAiJlJlZGlnZXJhIgojZGVmaW5lIE1FTlVfRURJVF9VTkRPICAgICAgICAgICAgICAgIiZVbmRvXHRDdHJsK1oiCiNkZWZpbmUgTUVOVV9FRElUX0NVVCAgICAgICAgICAgICAgICAiS2xpcHBhXHRDdHJsK1giCiNkZWZpbmUgTUVOVV9FRElUX0NPUFkgICAgICAgICAgICAgICAiJktvcGllcmFcdEN0cmwrQyIKI2RlZmluZSBNRU5VX0VESVRfUEFTVEUgICAgICAgICAgICAgICImS2xpc3RyYSBpblx0Q3RybCtWIgojZGVmaW5lIE1FTlVfRURJVF9ERUxFVEUgICAgICAgICAgICAgIiZUYSBib3J0XHREZWwiCiNkZWZpbmUgTUVOVV9FRElUX1NFTEVDVEFMTCAgICAgICAgICAiTWFya2VyYSAmYWxsdCIKI2RlZmluZSBNRU5VX0VESVRfVElNRURBVEUgICAgICAgICAgICImVGlkL0RhdHVtXHRGNSIKI2RlZmluZSBNRU5VX0VESVRfV1JBUCAgICAgICAgICAgICAgICImRGVsYSBs5W5nYSBtZW5pbmdhciIKCiNkZWZpbmUgTUVOVV9TRUFSQ0ggICAgICAgICAgICAgICAgICAiJlP2ayIKI2RlZmluZSBNRU5VX1NFQVJDSF9TRUFSQ0ggICAgICAgICAgICJT9msuLi4iCiNkZWZpbmUgTUVOVV9TRUFSQ0hfTkVYVCAgICAgICAgICAgICAiJlP2ayBu5HN0YVx0RjMiCgojZGVmaW5lIE1FTlVfTEFOR1VBR0UgICAgICAgICAgICAgICAgIiZTcHLlayIKCiNkZWZpbmUgTUVOVV9IRUxQICAgICAgICAgICAgICAgICAgICAiJkhq5GxwIgojZGVmaW5lIE1FTlVfSEVMUF9DT05URU5UUyAgICAgICAgICAgIiZJbm5laOVsbCIKI2RlZmluZSBNRU5VX0hFTFBfU0VBUkNIICAgICAgICAgICAgICImU/ZrLi4uIgojZGVmaW5lIE1FTlVfSEVMUF9IRUxQX09OX0hFTFAgICAgICAgIkFuduRuZG5pbmdlbiAmYXYgaGrkbHAiCgojZGVmaW5lIE1FTlVfSU5GTyAgICAgICAgICAgICAgICAgICAgIkluZiZvcm1hdGlvbi4uLiIKI2RlZmluZSBNRU5VX0lORk9fTElDRU5TRSAgICAgICAgICAgICImTGljZW5zIgojZGVmaW5lIE1FTlVfSU5GT19OT19XQVJSQU5UWSAgICAgICAgIiZJTkdFTiBHQVJBTlRJIgojZGVmaW5lIE1FTlVfSU5GT19BQk9VVF9XSU5FICAgICAgICAgIiZPbSBXaW5lIgoKLyogRGlhbG9ncyAqLwoKI2RlZmluZSBESUFMT0dfT0sgICAgICAgICAgICAgICAgICAgICJPSyIKI2RlZmluZSBESUFMT0dfQ0FOQ0VMICAgICAgICAgICAgICAgICJBdmJyeXQiCiNkZWZpbmUgRElBTE9HX0JST1dTRSAgICAgICAgICAgICAgICAiJkJs5GRkcmEuLi4iCiNkZWZpbmUgRElBTE9HX0hFTFAgICAgICAgICAgICAgICAgICAiJkhq5GxwIgoKI2RlZmluZSBESUFMT0dfUEFHRVNFVFVQX0NBUFRJT04gICAgICJTaWQgTGF5b3V0IgojZGVmaW5lIERJQUxPR19QQUdFU0VUVVBfSEVBRCAgICAgICAgIiZIdXZ1ZG5vdDoiCiNkZWZpbmUgRElBTE9HX1BBR0VTRVRVUF9UQUlMICAgICAgICAiJkZvdG5vdDoiCiNkZWZpbmUgRElBTE9HX1BBR0VTRVRVUF9CT1JERVIgICAgICAiS2FudGVyOiIKI2RlZmluZSBESUFMT0dfUEFHRVNFVFVQX0xFRlQgICAgICAgICImVuRuc3RlcjoiCiNkZWZpbmUgRElBTE9HX1BBR0VTRVRVUF9SSUdIVCAgICAgICAiJkj2Z2VyOiIKI2RlZmluZSBESUFMT0dfUEFHRVNFVFVQX1RPUCAgICAgICAgICIm1nZlcjoiCiNkZWZpbmUgRElBTE9HX1BBR0VTRVRVUF9CT1RUT00gICAgICAiJlVuZGVyOiIKCgovKiBTdHJpbmdzICovCiNkZWZpbmUgU1RSSU5HX05PVEVQQUQgICAgICAgICAgICAgICAiQW50ZWNrbmluZ2FyIgojZGVmaW5lIFNUUklOR19FUlJPUiAgICAgICAgICAgICAgICAgIkZFTCIKI2RlZmluZSBTVFJJTkdfV0FSTklORyAgICAgICAgICAgICAgICJWQVJOSU5HIgojZGVmaW5lIFNUUklOR19JTkZPICAgICAgICAgICAgICAgICAgIkluZm9ybWF0aW9uIgoKI2RlZmluZSBTVFJJTkdfVU5USVRMRUQgICAgICAgICAgICAgICIodW50aXRsZWQpIgoKI2RlZmluZSBTVFJJTkdfQUxMRklMRVMgICAgICAgICAgICAgICJBbGxhIGZpbGVyICgqLiopIgojZGVmaW5lIFNUUklOR19URVhURklMRVMgICAgICAgICAgICAgIlRleHQgZmlsZXIgKCoudHh0KSIKCiNkZWZpbmUgU1RSSU5HX1RPT0xBUkdFICAgICAgICAgIkZpbGVuICclcycg5HIgZvZyIHN0b3IgZvZyIG5vdGVwYWQuXG4gXApBbnbkbmQgZW4gYW5uYW4gZWRpdG9yLiIKCiNkZWZpbmUgU1RSSU5HX05PVEVYVCAgICAgICAgICAgIkR1IHNrcmV2IGludGUgaW4gbuVnb24gdGV4dC4gXApcblNrcml2IG7lZ290IG9jaCBm9nJz9msgc2VkYW4gaWdlbiIKCiNkZWZpbmUgU1RSSU5HX05PVEZPVU5EICAgICAgICAgIiclcycgaGl0dGFkZXMgaW50ZS4iCgojZGVmaW5lIFNUUklOR19PVVRfT0ZfTUVNT1JZICAgICJJbnRlIHRpbGxy5GtsaWd0IG1lZCBtaW5uZSBm9nIgYXR0IHNsdXRm9nJhIFwKZGVuIGjkciB1cHBnaWZ0ZW4uIFxuQXZzbHV0YSBldHQgZWxsZXIgZmxlcmEgcHJvZ3JhbSBm9nIgYXR0IPZrYSBt5G5nZGVuIFxuZnJpdHQgXAptaW5uZS4iCgojaW5jbHVkZSAibm90ZXBhZC5yYyIK