LyoKICogIE5vdGVwYWQgKEVuZ2xpc2ggcmVzb3VyY2VzKQogKgogKiAgQ29weXJpZ2h0IDE5OTcsOTggTWFyY2VsIEJhdXIgPG1iYXVyQGcyNi5ldGh6LmNoPgogKiAgUHJvb2ZyZWFkIDE5OTggYnkgRGF2aWQgTGVlIExhbWJlcnQgPGxhbWJlcjQ1QGVnci5tc3UuZWR1PgogKi8KCiNkZWZpbmUgTEFOR1VBR0VfSUQgICAgICAgICAgICAgICAgICAgICBTawojZGVmaW5lIExBTkdVQUdFX05VTUJFUiAgICAgICAgICAgICAgICAgMTAKI2RlZmluZSBMQU5HVUFHRV9NRU5VX0lURU0gICAgICAgICAgICAgICImU2xvdmVuc2t5IgoKCi8qIE1lbnUgKi8KCiNkZWZpbmUgTUVOVV9GSUxFICAgICAgICAgICAgICAgICAgICAgICAiJlP6Ym9yIgojZGVmaW5lIE1FTlVfRklMRV9ORVcgICAgICAgICAgICAgICAgICAgIiZOb3b9Li4uIgojZGVmaW5lIE1FTlVfRklMRV9PUEVOICAgICAgICAgICAgICAgICAgIiZPdHZvcmmdIgojZGVmaW5lIE1FTlVfRklMRV9TQVZFICAgICAgICAgICAgICAgICAgIlUmbG+eaZ0iCiNkZWZpbmUgTUVOVV9GSUxFX1NBVkVBUyAgICAgICAgICAgICAgICAiVWxvniZpnSBha28uLi4iCiNkZWZpbmUgTUVOVV9GSUxFX1BSSU5UICAgICAgICAgICAgICAgICAiJlRsYehpnSIKI2RlZmluZSBNRU5VX0ZJTEVfUEFHRVNFVFVQICAgICAgICAgICAgICImTmFzdGF2ZW5pZSB0bGHoZS4uLiIKI2RlZmluZSBNRU5VX0ZJTEVfUFJJTlRTRVRVUCAgICAgICAgICAgICJOYXN0YXZlbmllIHRsYehpYXImbmUuLi4iCiNkZWZpbmUgTUVOVV9GSUxFX0VYSVQgICAgICAgICAgICAgICAgICAiVSZrb27oaZ0iCgojZGVmaW5lIE1FTlVfRURJVCAgICAgICAgICAgICAgICAgICAgICAgIiZVcHJhdmmdIgojZGVmaW5lIE1FTlVfRURJVF9VTkRPICAgICAgICAgICAgICAgICAgIiZLcm9rIHNw5J1cdEN0cmwrWiIKI2RlZmluZSBNRU5VX0VESVRfQ1VUICAgICAgICAgICAgICAgICAgICJWJnlzdHJpaG76nVx0Q3RybCtYIgojZGVmaW5lIE1FTlVfRURJVF9DT1BZICAgICAgICAgICAgICAgICAgIiZLb3Dtcm92YZ1cdEN0cmwrQyIKI2RlZmluZSBNRU5VX0VESVRfUEFTVEUgICAgICAgICAgICAgICAgICJWJmxlcGmdXHRDdHJsK1YiCiNkZWZpbmUgTUVOVV9FRElUX0RFTEVURSAgICAgICAgICAgICAgICAiJlptYXphnVx0RGVsIgojZGVmaW5lIE1FTlVfRURJVF9TRUxFQ1RBTEwgICAgICAgICAgICAgIlZ5YnImYZ0gdppldGtvIgojZGVmaW5lIE1FTlVfRURJVF9USU1FREFURSAgICAgICAgICAgICAgIshhcyYvROF0dW1cdEY1IgojZGVmaW5lIE1FTlVfRURJVF9XUkFQICAgICAgICAgICAgICAgICAgIiZaYWxvbWmdIGRsaOkgcmlhZGt5IgoKI2RlZmluZSBNRU5VX1NFQVJDSCAgICAgICAgICAgICAgICAgICAgICImSL5hZGGdIgojZGVmaW5lIE1FTlVfU0VBUkNIX1NFQVJDSCAgICAgICAgICAgICAgIki+YWRhnS4uLiIKI2RlZmluZSBNRU5VX1NFQVJDSF9ORVhUICAgICAgICAgICAgICAgICImSL5hZGGdIO9hvprtXHRGMyIKCiNkZWZpbmUgTUVOVV9MQU5HVUFHRSAgICAgICAgICAgICAgICAgICAiJkphenlrIgoKI2RlZmluZSBNRU5VX0hFTFAgICAgICAgICAgICAgICAgICAgICAgICImUG9tb2MiCiNkZWZpbmUgTUVOVV9IRUxQX0NPTlRFTlRTICAgICAgICAgICAgICAiJk9ic2FoIgojZGVmaW5lIE1FTlVfSEVMUF9TRUFSQ0ggICAgICAgICAgICAgICAgIiZIvmFkYZ0uLi4iCiNkZWZpbmUgTUVOVV9IRUxQX0hFTFBfT05fSEVMUCAgICAgICAgICAiJlBvbW9jIG5hIHBvbW9jaSIKCiNkZWZpbmUgTUVOVV9JTkZPICAgICAgICAgICAgICAgICAgICAgICAiSW5mJm8uLi4iCiNkZWZpbmUgTUVOVV9JTkZPX0xJQ0VOU0UgICAgICAgICAgICAgICAiJkxpY2VuY2lhIgojZGVmaW5lIE1FTlVfSU5GT19OT19XQVJSQU5UWSAgICAgICAgICAgIiZCRVogWsFSVUtZIgojZGVmaW5lIE1FTlVfSU5GT19BQk9VVF9XSU5FICAgICAgICAgICAgIk8gJldpbmUiCgoKLyogRGlhbG9ncyAqLwoKI2RlZmluZSBESUFMT0dfT0sgICAgICAgICAgICAgICAgICAgICAgICJPSyIKI2RlZmluZSBESUFMT0dfQ0FOQ0VMICAgICAgICAgICAgICAgICAgICJacnWaaZ0iCiNkZWZpbmUgRElBTE9HX0JST1dTRSAgICAgICAgICAgICAgICAgICAiJkxpc3RvdmGdLi4uIgojZGVmaW5lIERJQUxPR19IRUxQICAgICAgICAgICAgICAgICAgICAgIiZQb21vYyIKCiNkZWZpbmUgRElBTE9HX1BBR0VTRVRVUF9DQVBUSU9OICAgICAgICAiTmFzdGF2ZW5pZSBzdHLhbmt5IgojZGVmaW5lIERJQUxPR19QQUdFU0VUVVBfSEVBRCAgICAgICAgICAgIiZIbGF2aehrYToiCiNkZWZpbmUgRElBTE9HX1BBR0VTRVRVUF9UQUlMICAgICAgICAgICAiJlDkdGE6IgojZGVmaW5lIERJQUxPR19QQUdFU0VUVVBfTUFSR0lOICAgICAgICAgIiZPa3JhamU6IgojZGVmaW5lIERJQUxPR19QQUdFU0VUVVBfTEVGVCAgICAgICAgICAgIrxhJnb9OiIKI2RlZmluZSBESUFMT0dfUEFHRVNFVFVQX1JJR0hUICAgICAgICAgICJQJnJhdv06IgojZGVmaW5lIERJQUxPR19QQUdFU0VUVVBfVE9QICAgICAgICAgICAgIkgmb3JlOiIKI2RlZmluZSBESUFMT0dfUEFHRVNFVFVQX0JPVFRPTSAgICAgICAgICJEbyZsdToiCgoKLyogU3RyaW5ncyAqLwoKI2RlZmluZSBTVFJJTkdfUEFHRVNFVFVQX0hFQURFUlZBTFVFICAgICImbiIgICAgICAgIC8qIEZJWE1FICovCiNkZWZpbmUgU1RSSU5HX1BBR0VTRVRVUF9GT09URVJWQUxVRSAgICAiU3RyYW5hICZzIiAgIC8qIEZJWE1FICovCiNkZWZpbmUgU1RSSU5HX1BBR0VTRVRVUF9MRUZUVkFMVUUgICAgICAiMjAgbW0iICAgICAvKiBGSVhNRSAqLwojZGVmaW5lIFNUUklOR19QQUdFU0VUVVBfUklHSFRWQUxVRSAgICAgIjIwIG1tIiAgICAgLyogRklYTUUgKi8KI2RlZmluZSBTVFJJTkdfUEFHRVNFVFVQX1RPUFZBTFVFICAgICAgICIyNSBtbSIgICAgIC8qIEZJWE1FICovCiNkZWZpbmUgU1RSSU5HX1BBR0VTRVRVUF9CT1RUT01WQUxVRSAgICAiMjUgbW0iICAgICAvKiBGSVhNRSAqLwoKI2RlZmluZSBTVFJJTkdfTk9URVBBRCAgICAgICAgICAgICAgICAgICJOb3RlcGFkIgojZGVmaW5lIFNUUklOR19FUlJPUiAgICAgICAgICAgICAgICAgICAgIkNIWUJBIgojZGVmaW5lIFNUUklOR19XQVJOSU5HICAgICAgICAgICAgICAgICAgIlZBUk9WQU5JRSIKI2RlZmluZSBTVFJJTkdfSU5GTyAgICAgICAgICAgICAgICAgICAgICJJbmZvcm3hY2llIgoKI2RlZmluZSBTVFJJTkdfVU5USVRMRUQgICAgICAgICAgICAgICAgICIobmVwb21lbm92YW79KSIKCiNkZWZpbmUgU1RSSU5HX0FMTF9GSUxFUyAgICAgICAgICAgICAgICAiVppldGt5IHP6Ym9yeSAoKi4qKSIKI2RlZmluZSBTVFJJTkdfVEVYVF9GSUxFU19UWFQgICAgICAgICAgICJUZXh0b3bpIHP6Ym9yeSAoKi50eHQpIgoKI2RlZmluZSBTVFJJTkdfVE9PTEFSR0UgICAgICAgICAiRmlsZSAnJXMnIGlzIHRvbyBsYXJnZSBmb3Igbm90ZXBhZC5cbiBcClBsZWFzZSB1c2UgYSBkaWZmZXJlbnQgZWRpdG9yLiIKCiNkZWZpbmUgU1RSSU5HX05PVEVYVCAgICAgICAgICAgIk5p6CBzdGUgbmVuYXDtc2FsaS4gXApcblByb3PtbSwgbmFw7Zp0ZSBuZWpha/0gdGV4dCBhIHBva/pzdGUgc2Egem5vdnUuIgoKI2RlZmluZSBTVFJJTkdfTk9UU0FWRUQgICAgICAgICAiU/pib3IgJyVzJ1xuYm9sIHptZW5lbv1uXG4gXApQcmFqZXRlIHNpIHVsb55pnSB6bWVueSA/IgoKI2RlZmluZSBTVFJJTkdfTk9URk9VTkQgICAgICAgICAiJyVzJyBuZW30nmUgYnmdIG7hamRlbv0uIgoKI2RlZmluZSBTVFJJTkdfT1VUX09GX01FTU9SWSAgICAiTm90IGVub3VnaCBtZW1vcnkgdG8gY29tcGxldGUgdGhpcyBcCnRhc2suIFxuQ2xvc2Ugb25lIG9yIG1vcmUgYXBwbGljYXRpb25zIHRvIGluY3JlYXNlIHRoZSBhbW91bnQgb2YgXG5mcmVlIFwKbWVtb3J5LiIKCiNpbmNsdWRlICJub3RlcGFkLnJjIgo=