ZGlmZiAtLWdpdCBhL3N1cHdpc2RvbS9zcF9jb21tdW5pY2F0ZS5jIGIvc3Vwd2lzZG9tL3NwX2NvbW11bmljYXRlLmMKaW5kZXggN2VkMzRmOS4uZWUwNjdjNCAxMDA2NDQKLS0tIGEvc3Vwd2lzZG9tL3NwX2NvbW11bmljYXRlLmMKKysrIGIvc3Vwd2lzZG9tL3NwX2NvbW11bmljYXRlLmMKQEAgLTExMiw3ICsxMTIsOCBAQAogICAgIH0KICAgICBlbHNlIGlmKElTX0tFWShQS19TVFJfTElNSVRNU0csIGZpZWxkLmtleSkpCiAgICAgewotICAgICAgc25wcmludGYoY2FyZC0+bGltaXRtc2csLHNpemVvZihjYXJkLT5saW1pdG1zZyksIiVzIiwgZmllbGQudmFsLnN0cnZhbCwgZmllbGQuc3RybGVuKTsKKyAgICAgIE1FTUNMRUFSKGNhcmQtPmxpbWl0bXNnLHNpemVvZiBjYXJkLT5saW1pdG1zZyk7CisgICAgICBNRU1DUFkoY2FyZC0+bGltaXRtc2csZmllbGQudmFsLnN0cnZhbCwgZmllbGQuc3RybGVuKTsKICAgICB9CiAgICAgZWxzZSBpZihJU19LRVkoUEtfSU5UX1dBVEVSTElNSVQsZmllbGQua2V5KSkKICAgICB7CkBAIC0yMDMsNyArMjA0LDEyIEBACiAgICAgcmV0dXJuOwogICB9CiAgIE1FTUNMRUFSKCZyZXNwLHNpemVvZiByZXNwKTsKLSAgc3BfdXNhcnRfcmVjdihwb3MsJnJlc3AsQ09NTV9XQUlUX1RJTUUpOworICByZXQgPSBzcF91c2FydF9yZWN2KHBvcywmcmVzcCxDT01NX1dBSVRfVElNRSk7CisgIGlmKHJldCkKKyAgeworICAgIGRpc3BfaGludF9pbmZvX3R3byhwb3MsIrXHwrzKp7DcIiwitcfCvLOsyrEiLERFTEFZX1RJTUUzcyk7CisgICAgcmV0dXJuOworICB9CiAgIHJldCA9IHNwX2NvbmZpcm1fbG9naW4oJnJlc3AscG9zKTsKICAgaWYocmV0KQogICB7CkBAIC0yNjksNyArMjc1LDggQEAKICAgICBzcF91bnBhY2tfdmFsdWUoJnVucGFjaywmZmllbGQpOwogICAgIGlmKElTX0tFWShQS19TVFJfU0hPUlRfVVJMLCBmaWVsZC5rZXkpKQogICAgIHsKLSAgICAgIHNucHJpbnRmKGNhcmQtPnFyY29kZS5xcmNvZGVfdXJsLHNpemVvZihjYXJkLT5xcmNvZGUucXJjb2RlX3VybCksIiVzIiwgZmllbGQudmFsLnN0cnZhbCwgZmllbGQuc3RybGVuKTsKKyAgICAgIE1FTUNMRUFSKGNhcmQtPnFyY29kZS5xcmNvZGVfdXJsLHNpemVvZiBjYXJkLT5xcmNvZGUucXJjb2RlX3VybCk7CisgICAgICBNRU1DUFkoY2FyZC0+cXJjb2RlLnFyY29kZV91cmwsIGZpZWxkLnZhbC5zdHJ2YWwsIGZpZWxkLnN0cmxlbik7CiAgICAgfQogICAgIGVsc2UgaWYoSVNfS0VZKFBLX0lOVF9DT0JJTExOTywgZmllbGQua2V5KSkKICAgICB7CmRpZmYgLS1naXQgYS9zdXB3aXNkb20vc3BfY29uc3VtZS5jIGIvc3Vwd2lzZG9tL3NwX2NvbnN1bWUuYwppbmRleCBiNDE2YTZkLi5lNzM1OWUzIDEwMDY0NAotLS0gYS9zdXB3aXNkb20vc3BfY29uc3VtZS5jCisrKyBiL3N1cHdpc2RvbS9zcF9jb25zdW1lLmMKQEAgLTE1OCw3ICsxNTgsNyBAQAogICAgIHJldHVybiAwOwogICB9CiAgIG1lbXNldChyZWNvcmRfdGVybXRpbWUsMCxzaXplb2YocmVjb3JkX3Rlcm10aW1lKSk7Ci0gIHJldCA9IHNwX3JlYWRfdW5jb25maXJtX2ZpcnN0X3JlY29yZChyZWNvcmRfdGVybXRpbWUpOworICByZXQgPSBzcF9yZWFkX3VuY29uZmlybV9maXJzdF9yZWNvcmQocG9zLHJlY29yZF90ZXJtdGltZSk7CiAgIGlmKHJldCkKICAgewogICAgIHJldHVybiAwOwo=