LyogQm9vc3QgaW50ZXJ2YWwuaHBwIGhlYWRlciBmaWxlCiAqCiAqIENvcHlyaWdodCAyMDAwIEplbnMgTWF1cmVyCiAqIENvcHlyaWdodCAyMDAyIEhlcnbpIEJy9m5uaW1hbm4sIEd1aWxsYXVtZSBNZWxxdWlvbmQsIFN5bHZhaW4gUGlvbgogKgogKiBEaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuCiAqIChTZWUgYWNjb21wYW55aW5nIGZpbGUgTElDRU5TRV8xXzAudHh0IG9yCiAqIGNvcHkgYXQgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0KQogKi8KCiNpZm5kZWYgQk9PU1RfTlVNRVJJQ19JTlRFUlZBTF9IUFAKI2RlZmluZSBCT09TVF9OVU1FUklDX0lOVEVSVkFMX0hQUAoKI2luY2x1ZGUgPGJvb3N0L2xpbWl0cy5ocHA+CiNpbmNsdWRlIDxib29zdC9udW1lcmljL2ludGVydmFsL2ludGVydmFsLmhwcD4KI2luY2x1ZGUgPGJvb3N0L251bWVyaWMvaW50ZXJ2YWwvcG9saWNpZXMuaHBwPgoKI2luY2x1ZGUgPGJvb3N0L251bWVyaWMvaW50ZXJ2YWwvaHdfcm91bmRpbmcuaHBwPgojaW5jbHVkZSA8Ym9vc3QvbnVtZXJpYy9pbnRlcnZhbC9yb3VuZGVkX2FyaXRoLmhwcD4KI2luY2x1ZGUgPGJvb3N0L251bWVyaWMvaW50ZXJ2YWwvcm91bmRlZF90cmFuc2MuaHBwPgojaW5jbHVkZSA8Ym9vc3QvbnVtZXJpYy9pbnRlcnZhbC9jb25zdGFudHMuaHBwPgoKI2luY2x1ZGUgPGJvb3N0L251bWVyaWMvaW50ZXJ2YWwvY2hlY2tpbmcuaHBwPgojaW5jbHVkZSA8Ym9vc3QvbnVtZXJpYy9pbnRlcnZhbC9jb21wYXJlLmhwcD4KI2luY2x1ZGUgPGJvb3N0L251bWVyaWMvaW50ZXJ2YWwvdXRpbGl0eS5ocHA+CgojaW5jbHVkZSA8Ym9vc3QvbnVtZXJpYy9pbnRlcnZhbC9hcml0aC5ocHA+CiNpbmNsdWRlIDxib29zdC9udW1lcmljL2ludGVydmFsL2FyaXRoMi5ocHA+CiNpbmNsdWRlIDxib29zdC9udW1lcmljL2ludGVydmFsL2FyaXRoMy5ocHA+CiNpbmNsdWRlIDxib29zdC9udW1lcmljL2ludGVydmFsL3RyYW5zYy5ocHA+CgojZW5kaWYgLy8gQk9PU1RfTlVNRVJJQ19JTlRFUlZBTF9IUFAK