LyoKICogSGVscCBWaWV3ZXIKICoKICogQ29weXJpZ2h0IDE5OTYgVWxyaWNoIFNjaG1pZAogKiBGaW5uaXNoIGxhbmd1YWdlIGJ5IEp1c3NpIFRpcmtrb25lbiA8anRAbW9kZWVtaS5jcy50dXQuZmk+CiAqLwoKLyogVGhpcyBmaWxlIGlzIG5vdCB5ZXQgY29tcGxldGUgISEgKi8KCiNkZWZpbmUgTEFOR1VBR0VfSUQgICAgICAgICAgICAgICAgICBGaQojZGVmaW5lIExBTkdVQUdFX05VTUJFUiAgICAgICAgICAgICAgNQoKLyogTWVudSAqLwoKI2RlZmluZSBNRU5VX0ZJTEUgICAgICAgICAgICAgICAgICAgICImVGllZG9zdG8iCiNkZWZpbmUgTUVOVV9GSUxFX09QRU4gICAgICAgICAgICAgICAiJkF2YWEuLi4iCiNkZWZpbmUgTUVOVV9GSUxFX1BSSU5UICAgICAgICAgICAgICAiJlR1bG9zdGEiCiNkZWZpbmUgTUVOVV9GSUxFX1BSSU5URVJfU0VUVVAgICAgICAiJktpcmpvaXR0aW1lbiBhc2V0dWtzZXQuLi4iCiNkZWZpbmUgTUVOVV9GSUxFX0VYSVQgICAgICAgICAgICAgICAiJkxvcGV0YSIKCiNkZWZpbmUgTUVOVV9FRElUICAgICAgICAgICAgICAgICAgICAiJk11b2trYWEiCiNkZWZpbmUgTUVOVV9FRElUX0NPUFlfRElBTE9HICAgICAgICAiJktvcGlvaS4uLiIKI2RlZmluZSBNRU5VX0VESVRfQU5OT1RBVEUgICAgICAgICAgICImSHVvbWF1dHVzLi4uIgoKI2RlZmluZSBNRU5VX0JPT0tNQVJLICAgICAgICAgICAgICAgICImS2lyamFubWVya2tpIgojZGVmaW5lIE1FTlVfQk9PS01BUktfREVGSU5FICAgICAgICAgIiZBc2V0YS4uLiIKCiNkZWZpbmUgTUVOVV9IRUxQICAgICAgICAgICAgICAgICAgICAiJk9oamUiCiNkZWZpbmUgTUVOVV9IRUxQX09OX0hFTFAgICAgICAgICAgICAiJk9oamVlbiBr5Hl0dPYiCiNkZWZpbmUgTUVOVV9IRUxQX09OX1RPUCAgICAgICAgICAgICAiJkFpbmEgcOTkbGxpbW3kaXNlbuQiCiNkZWZpbmUgTUVOVV9IRUxQX0lORk8gICAgICAgICAgICAgICAiVCZpZXRvamEuLi4iCiNkZWZpbmUgTUVOVV9IRUxQX0FCT1VUX1dJTkUgICAgICAgICAiJlRpZXRvamEgV0lORXN05CIKCi8qIFN0cmluZ3MgKi8KCiNkZWZpbmUgU1RSSU5HX1dJTkVfSEVMUCAgICAgICAgICAgICAiV0lORSBPaGplIgojZGVmaW5lIFNUUklOR19FUlJPUiAgICAgICAgICAgICAgICAgIlZJUkhFIgojZGVmaW5lIFNUUklOR19XQVJOSU5HICAgICAgICAgICAgICAgIlZBUk9JVFVTIgojZGVmaW5lIFNUUklOR19JTkZPICAgICAgICAgICAgICAgICAgIlRpZXRvamEiCiNkZWZpbmUgU1RSSU5HX05PVF9JTVBMRU1FTlRFRCAgICAgICAiRWkga+R5dGV0dOR2aXNz5CIKI2RlZmluZSBTVFJJTkdfSExQRklMRV9FUlJPUl9zICAgICAgICJWaXJoZSBsdWV0dGFlc3NhIG9oamV0aWVkb3N0b2EgYCVzJyIgCiNkZWZpbmUgU1RSSU5HX0NPTlRFTlRTICAgICAgICAgICAgICAiJlNpc+RsbHlzIgojZGVmaW5lIFNUUklOR19TRUFSQ0ggICAgICAgICAgICAgICAgIiZFdHNpIgojZGVmaW5lIFNUUklOR19CQUNLICAgICAgICAgICAgICAgICAgIiZUYWthaXNpbiIKI2RlZmluZSBTVFJJTkdfSElTVE9SWSAgICAgICAgICAgICAgICImTHVldHV0IgojZGVmaW5lIFNUUklOR19BTExfRklMRVMgICAgICAgICAgICAgIkthaWtraSB0aWVkb3N0b3QgKCouKikiCiNkZWZpbmUgU1RSSU5HX0hFTFBfRklMRVNfSExQICAgICAgICAiT2hqZXRpZWRvc3RvdCAoKi5obHApIgoKI2luY2x1ZGUgIlh4LnJjIgo=