IkRlc2NyaXB0aW9uOiBJbmRlbnQgc2NoZW1lIGZvciB0aGUgdGlsZGUgd2VibGFuZ3VhZ2UKIkF1dGhvcjogVG9iaWFzIFJ1bmRzdHL2bSA8dG9iaUB0b2JpLm51PgoiVVJMOiBodHRwOi8vdGlsZGUudGlsZGVzb2Z0d2FyZS5uZXQKIkxhc3QgQ2hhbmdlOiBNYXkgIDggMDk6MTU6MDkgQ0VTVCAyMDAyCgppZiBleGlzdHMgKCJiOmRpZF9pbmRlbnQiKQoJZmluaXNoCmVuZGlmCgpsZXQgYjpkaWRfaW5kZW50ID0gMQoKc2V0bG9jYWwgYXV0b2luZGVudApzZXRsb2NhbCBpbmRlbnRleHByPUdldFRpbGRlSW5kZW50KHY6bG51bSkKc2V0bG9jYWwgaW5kZW50a2V5cz1vLE8sKQoKaWYgZXhpc3RzKCIqR2V0VGlsZGVJbmRlbnQiKQoJZmluaXNoCmVuZGlmCgpmdW5jdGlvbiBHZXRUaWxkZUluZGVudChsbnVtKQoJbGV0IHBsbnVtID0gcHJldm5vbmJsYW5rKHY6bG51bS0xKQoKCWlmIHBsbnVtID09IDAKCQlyZXR1cm4gMAoJZW5kaWYKCglpZiBnZXRsaW5lKHY6bG51bSkgPX4gJ15ccypcflwoZW5kaWZcfGVsc2VcfGVsc2VpZlx8ZW5kXClcPicKCQlyZXR1cm4gaW5kZW50KHY6bG51bSkgLSAmc3cKCWVuZGlmCgoJaWYgZ2V0bGluZShwbG51bSkgPX4gJ15ccypcflwoaWZcfGZvcmVhY2hcfGZvcmVhY2hfcm93XHx4bWxfbG9vcFx8ZmlsZV9sb29wXHxmaWxlX3dyaXRlXHxmaWxlX2FwcGVuZFx8aW1hcF9sb29wc2VjdGlvbnNcfGltYXBfaW5kZXhcfGltYXBfbGlzdFx8bGRhcF9zZWFyY2hcfHBvc3RfbG9vcGFsbFx8cG9zdF9sb29wXHxmaWxlX2xvb3BcfHNxbF9sb29wX251bVx8c3FsX2RibXNzZWxlY3RcfHNlYXJjaFx8c3FsX2xvb3BcfHBvc3RcfGZvclx8ZnVuY3Rpb25fZGVmaW5lXHxzaWxlbnRcfHdoaWxlXHxzZXR2YWxiaWdcfG1haWxfY3JlYXRlXHxzeXN0ZW1waXBlXHxtYWlsX3NlbmRcfGR1YWxcfGVsc2VpZlx8ZWxzZVwpXD4nCgkJcmV0dXJuIGluZGVudChwbG51bSkgKyAmc3cKCWVsc2UKCQlyZXR1cm4gLTEKCWVuZGlmCmVuZGZ1bmN0aW9uCg==