LyoKICogc2V0c2lkLmMgLS0gZXhlY3V0ZSBhIGNvbW1hbmQgaW4gYSBuZXcgc2Vzc2lvbgogKiBSaWNrIFNsYWRrZXkgPGpyc0B3b3JsZC5zdGQuY29tPgogKiBJbiB0aGUgcHVibGljIGRvbWFpbi4KICoKICogMTk5OS0wMi0yMiBBcmthZGl1c3ogTWm2a2lld2ljeiA8bWlzaWVrQHBsZC5PUkcuUEw+CiAqIC0gYWRkZWQgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKICoKICogMjAwMS0wMS0xOCBKb2huIEZyZW1saW4gPHZpaUBwZW5ndWlucG93ZXJlZC5jb20+CiAqIC0gZm9yayBpbiBjYXNlIHdlIGFyZSBwcm9jZXNzIGdyb3VwIGxlYWRlcgogKgogKiAyMDA0LTExLTEyIFBhdWwgRm94CiAqIC0gYnVzeWJveGVkCiAqLwoKI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDx1bmlzdGQuaD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSAiYnVzeWJveC5oIgoKaW50CnNldHNpZF9tYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pIHsKCQoJaWYgKGFyZ2MgPCAyKSB7CgkJYmJfc2hvd191c2FnZSgpOwoJfQoKCWlmIChnZXRwZ3JwKCkgPT0gZ2V0cGlkKCkpIHsKCQlzd2l0Y2goZm9yaygpKXsKCQljYXNlIC0xOgoJCQliYl9wZXJyb3JfbXNnX2FuZF9kaWUoImZvcmsiKTsKCQljYXNlIDA6CgkJCWJyZWFrOwoJCWRlZmF1bHQ6CS8qIHBhcmVudCAqLwoJCQlleGl0KDApOwoJCX0KCQkvKiBjaGlsZCBmYWxscyB0aHJvdWdoICovCgl9CgoJc2V0c2lkKCk7ICAvKiBubyBlcnJvciBwb3NzaWJsZSAqLwoKCWV4ZWN2cChhcmd2WzFdLCBhcmd2ICsgMSk7CgoJYmJfcGVycm9yX21zZ19hbmRfZGllKGFyZ3ZbMV0pOwoKfQo=