LyoKICogSGVscCBWaWV3ZXIKICoKICogQ29weXJpZ2h0IDE5OTYgVWxyaWNoIFNjaG1pZAogKiBGcmVuY2ggbGFuZ3VhZ2UgYnkgUGFibG8gU2FyYXR4YWdhIDxzcnR4Z0BmMjIxOS5uMjkzLnoyLmZpZG9uZXQub3JnPgogKi8KCi8qIFRoaXMgZmlsZSBpcyBub3QgeWV0IGNvbXBsZXRlICEhICovCi8qIEFsb3JzIHBldXQt6nRyZSBjZWNpIGFpZGVyYSAoc28gbWF5YmUgdGhpcyB3aWxsIGhlbHApIDopICovCi8qICNpbmNsdWRlIC4uL3Byb2dtYW4vRnIucmMgKi8KCiNkZWZpbmUgTEFOR1VBR0VfSUQgICAgICAgICAgICAgICAgICBGcgojZGVmaW5lIExBTkdVQUdFX05VTUJFUiAgICAgICAgICAgICAgNAoKLyogTWVudSAqLwoKI2RlZmluZSBNRU5VX0ZJTEUgICAgICAgICAgICAgICAgICAgICImRmljaGllciIKI2RlZmluZSBNRU5VX0ZJTEVfT1BFTiAgICAgICAgICAgICAgICJPJnV2cmlyLi4uIgojZGVmaW5lIE1FTlVfRklMRV9QUklOVCAgICAgICAgICAgICAgIiZJbXByaW1lciBsYSBydWJyaXF1ZSIKI2RlZmluZSBNRU5VX0ZJTEVfUFJJTlRFUl9TRVRVUCAgICAgICImQ29uZmlndXJhdGlvbiBkZSBsJ2ltcHJlc3Npb24uLi4iCiNkZWZpbmUgTUVOVV9GSUxFX0VYSVQgICAgICAgICAgICAgICAiJlF1aXR0ZXIiCgojZGVmaW5lIE1FTlVfRURJVCAgICAgICAgICAgICAgICAgICAgIiZFZGl0aW9uIgojZGVmaW5lIE1FTlVfRURJVF9DT1BZX0RJQUxPRyAgICAgICAgIiZDb3BpZXIuLi4iCiNkZWZpbmUgTUVOVV9FRElUX0FOTk9UQVRFICAgICAgICAgICAiJkFubm90YXRpb24uLi4iCgojZGVmaW5lIE1FTlVfQk9PS01BUksgICAgICAgICAgICAgICAgIiZTaWduZXQiCiNkZWZpbmUgTUVOVV9CT09LTUFSS19ERUZJTkUgICAgICAgICAiJkTpZmluaXIuLi4iCgojZGVmaW5lIE1FTlVfSEVMUCAgICAgICAgICAgICAgICAgICAgIiY/IgojZGVmaW5lIE1FTlVfSEVMUF9PTl9IRUxQICAgICAgICAgICAgIiZVdGlsaXNlciBsJ2FpZGUiCiNkZWZpbmUgTUVOVV9IRUxQX09OX1RPUCAgICAgICAgICAgICAiJlRvdWpvdXJzIHZpc2libGUiCiNkZWZpbmUgTUVOVV9IRUxQX0lORk8gICAgICAgICAgICAgICAiJkluZm8uLi4iCiNkZWZpbmUgTUVOVV9IRUxQX0FCT1VUX1dJTkUgICAgICAgICAiJkEgcHJvcG9zIGRlIFdJTkUiCgovKgoJQ29uZmlndXJhdGlvbiBkZSBsJ2ltcHJpbWFudGUKKi8KCi8qIFN0cmluZ3MgKi8KCiNkZWZpbmUgU1RSSU5HX1dJTkVfSEVMUCAgICAgICAgICAgICAiQWlkZSBkZSBXSU5FIgojZGVmaW5lIFNUUklOR19FUlJPUiAgICAgICAgICAgICAgICAgIkVSUkVVUiIKI2RlZmluZSBTVFJJTkdfV0FSTklORyAgICAgICAgICAgICAgICJXQVJOSU5HIgojZGVmaW5lIFNUUklOR19JTkZPICAgICAgICAgICAgICAgICAgIkluZm9ybWF0aW9uIgojZGVmaW5lIFNUUklOR19OT1RfSU1QTEVNRU5URUQgICAgICAgIk5vbiBpbXBsZW1lbnTpIgojZGVmaW5lIFNUUklOR19ITFBGSUxFX0VSUk9SX3MgICAgICAgIlVuZSBlcnJldXIgZXN0IHN1cnZlbnVlIGVuIGxpc2FudCBsZSBmaWNoaWVyIGQnYWlkZSBgJXMnIgojZGVmaW5lIFNUUklOR19DT05URU5UUyAgICAgICAgICAgICAgIiZJbmRleCIKI2RlZmluZSBTVFJJTkdfU0VBUkNIICAgICAgICAgICAgICAgICImUmVjaGVyY2hlciIKI2RlZmluZSBTVFJJTkdfQkFDSyAgICAgICAgICAgICAgICAgICImUHLpY+lkZW50IgojZGVmaW5lIFNUUklOR19ISVNUT1JZICAgICAgICAgICAgICAgIiZIaXN0b3JpcXVlIgojZGVmaW5lIFNUUklOR19BTExfRklMRVMgICAgICAgICAgICAgIlRvdXQgZmljaGllciAoKi4qKSIKI2RlZmluZSBTVFJJTkdfSEVMUF9GSUxFU19ITFAgICAgICAgICJGaWNoaWVycyBkJ2FpZGUgKCouaGxwKSIKCiNpbmNsdWRlICJYeC5yYyIK