ZGlmZiAtLWdpdCBhL2xpYnMvYXBrdmVyaWZ5L3NyYy92My5ycyBiL2xpYnMvYXBrdmVyaWZ5L3NyYy92My5ycwppbmRleCA4NzVmZWM4Li4wZmUyZjJiIDEwMDY0NAotLS0gYS9saWJzL2Fwa3ZlcmlmeS9zcmMvdjMucnMKKysrIGIvbGlicy9hcGt2ZXJpZnkvc3JjL3YzLnJzCkBAIC0yOTAsNDAgKzI5MCwzIEBACiBwdWIoY3JhdGUpIGZuIHRvX2hleF9zdHJpbmcoYnVmOiAmW3U4XSkgLT4gU3RyaW5nIHsKICAgICBidWYuaXRlcigpLm1hcCh8YnwgZm9ybWF0ISgiezowMlh9IiwgYikpLmNvbGxlY3QoKQogfQotCi0jW2NmZyh0ZXN0KV0KLW1vZCB0ZXN0cyB7Ci0gICAgdXNlIHN1cGVyOjoqOwotICAgIHVzZSBzdGQ6OmZzOjpGaWxlOwotCi0gICAgI1t0ZXN0XQotICAgIGZuIHRlc3RfcGlja192NF9hcGtfZGlnZXN0X29ubHlfd2l0aF92M19kc2Ffc2hhMjU2KCkgewotICAgICAgICBjaGVja192NF9hcGtfZGlnZXN0KAotICAgICAgICAgICAgInRlc3RzL2RhdGEvdjMtb25seS13aXRoLWRzYS1zaGEyNTYtMTAyNC5hcGsiLAotICAgICAgICAgICAgU2lnbmF0dXJlQWxnb3JpdGhtSUQ6OkRzYVdpdGhTaGEyNTYsCi0gICAgICAgICAgICAiMERGMjQyNkVBMzNBRURBRjQ5NUQ4OEU1QkUwQzZBMTY2M0ZGMEE4MUM1RUQxMkQ1QjI5MjlBRTRCNDMwMEYyRiIsCi0gICAgICAgICk7Ci0gICAgfQotCi0gICAgI1t0ZXN0XQotICAgIGZuIHRlc3RfcGlja192NF9hcGtfZGlnZXN0X29ubHlfd2l0aF92M19wa2NzMV9zaGE1MTIoKSB7Ci0gICAgICAgIGNoZWNrX3Y0X2Fwa19kaWdlc3QoCi0gICAgICAgICAgICAidGVzdHMvZGF0YS92My1vbmx5LXdpdGgtcnNhLXBrY3MxLXNoYTUxMi0xMDI0LmFwayIsCi0gICAgICAgICAgICBTaWduYXR1cmVBbGdvcml0aG1JRDo6UnNhUGtjczFWMTVXaXRoU2hhNTEyLAotICAgICAgICAgICAgIjlCOUFFMDJEQTYwQjE4OTk5QkY1NDE3OTBGMDBEMzgwMDA2RkRGMDY1NUMzQzQ4MkFBMEJCMEFGMTdDRjdBNDJcCi0gICAgICAgICAgICAgRUNGNTZCOTczNTE4NTQ2QzkwODBCMkZFRjgzMDI3RTg5NUVEMjg4MkJGQzg4RUExOTc5MEJCQUIyOUFGNTNCMyIsCi0gICAgICAgICk7Ci0gICAgfQotCi0gICAgZm4gY2hlY2tfdjRfYXBrX2RpZ2VzdCgKLSAgICAgICAgYXBrX2ZpbGVuYW1lOiAmc3RyLAotICAgICAgICBleHBlY3RlZF9hbGdvcml0aG06IFNpZ25hdHVyZUFsZ29yaXRobUlELAotICAgICAgICBleHBlY3RlZF9kaWdlc3Q6ICZzdHIsCi0gICAgKSB7Ci0gICAgICAgIGxldCBhcGtfZmlsZSA9IEZpbGU6Om9wZW4oYXBrX2ZpbGVuYW1lKS51bndyYXAoKTsKLSAgICAgICAgbGV0IChzaWduYXR1cmVfYWxnb3JpdGhtX2lkLCBhcGtfZGlnZXN0KSA9IHBpY2tfdjRfYXBrX2RpZ2VzdChhcGtfZmlsZSkudW53cmFwKCk7Ci0KLSAgICAgICAgYXNzZXJ0X2VxIShleHBlY3RlZF9hbGdvcml0aG0sIHNpZ25hdHVyZV9hbGdvcml0aG1faWQpOwotICAgICAgICBhc3NlcnRfZXEhKGV4cGVjdGVkX2RpZ2VzdCwgdG9faGV4X3N0cmluZyhhcGtfZGlnZXN0LmFzX3JlZigpKSk7Ci0gICAgfQotfQpkaWZmIC0tZ2l0IGEvbGlicy9hcGt2ZXJpZnkvdGVzdHMvYXBrdmVyaWZ5X3Rlc3QucnMgYi9saWJzL2Fwa3ZlcmlmeS90ZXN0cy9hcGt2ZXJpZnlfdGVzdC5ycwppbmRleCAwM2NiNGJiLi41YmQ5MDFkIDEwMDY0NAotLS0gYS9saWJzL2Fwa3ZlcmlmeS90ZXN0cy9hcGt2ZXJpZnlfdGVzdC5ycworKysgYi9saWJzL2Fwa3ZlcmlmeS90ZXN0cy9hcGt2ZXJpZnlfdGVzdC5ycwpAQCAtMTQsNyArMTQsOSBAQAogICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCiAgKi8KIAotdXNlIGFwa3ZlcmlmeTo6e2dldF9wdWJsaWNfa2V5X2RlciwgdGVzdGluZzo6YXNzZXJ0X2NvbnRhaW5zLCB2ZXJpZnl9OwordXNlIGFwa3ZlcmlmeTo6eworICAgIGdldF9wdWJsaWNfa2V5X2RlciwgcGlja192NF9hcGtfZGlnZXN0LCB0ZXN0aW5nOjphc3NlcnRfY29udGFpbnMsIHZlcmlmeSwgU2lnbmF0dXJlQWxnb3JpdGhtSUQsCit9OwogdXNlIHN0ZDo6e2ZzLCBtYXRjaGVzLCBwYXRoOjpQYXRofTsKIAogY29uc3QgS0VZX05BTUVTX0RTQTogJlsmc3RyXSA9ICZbIjEwMjQiLCAiMjA0OCIsICIzMDcyIl07CkBAIC0zMyw4ICszNSw4IEBACiB9CiAKICNbdGVzdF0KLWZuIHRlc3RfdmVyaWZ5X3YzKCkgewotICAgIHZhbGlkYXRlX2Fwa19wdWJsaWNfa2V5KCJ0ZXN0cy9kYXRhL3Rlc3QuYXBleCIpOworZm4gYXBleF9zaWduZWRfd2l0aF92M19yc2FfcGtjczFfc2hhNTEyX2lzX3ZhbGlkKCkgeworICAgIHZhbGlkYXRlX2FwaygidGVzdHMvZGF0YS90ZXN0LmFwZXgiLCBTaWduYXR1cmVBbGdvcml0aG1JRDo6UnNhUGtjczFWMTVXaXRoU2hhNTEyKTsKIH0KIAogI1t0ZXN0XQpAQCAtNDYsMzcgKzQ4LDU0IEBACiAgICAgfQogfQogCisvLy8gVE9ETyhiLzE5NzA1Mjk4MSk6IERTQSBhbGdvcml0aG0gaXMgbm90IHlldCBzdXBwb3J0ZWQuCiAjW3Rlc3RdCi1mbiB0ZXN0X3ZlcmlmeV92M19lY2RzYV9zaGEyNTYoKSB7CitmbiBhcGtzX3NpZ25lZF93aXRoX3YzX2RzYV9zaGEyNTZfaGF2ZV92YWxpZF9hcGtfZGlnZXN0KCkgeworICAgIGZvciBrZXlfbmFtZSBpbiBLRVlfTkFNRVNfRFNBLml0ZXIoKSB7CisgICAgICAgIHZhbGlkYXRlX2Fwa19kaWdlc3QoCisgICAgICAgICAgICBmb3JtYXQhKCJ0ZXN0cy9kYXRhL3YzLW9ubHktd2l0aC1kc2Etc2hhMjU2LXt9LmFwayIsIGtleV9uYW1lKSwKKyAgICAgICAgICAgIFNpZ25hdHVyZUFsZ29yaXRobUlEOjpEc2FXaXRoU2hhMjU2LAorICAgICAgICApOworICAgIH0KK30KKworI1t0ZXN0XQorZm4gYXBrc19zaWduZWRfd2l0aF92M19lY2RzYV9zaGEyNTZfYXJlX3ZhbGlkKCkgewogICAgIGZvciBrZXlfbmFtZSBpbiBLRVlfTkFNRVNfRUNEU0EuaXRlcigpIHsKLSAgICAgICAgdmFsaWRhdGVfYXBrX3B1YmxpY19rZXkoZm9ybWF0ISgidGVzdHMvZGF0YS92My1vbmx5LXdpdGgtZWNkc2Etc2hhMjU2LXt9LmFwayIsIGtleV9uYW1lKSk7CisgICAgICAgIHZhbGlkYXRlX2FwaygKKyAgICAgICAgICAgIGZvcm1hdCEoInRlc3RzL2RhdGEvdjMtb25seS13aXRoLWVjZHNhLXNoYTI1Ni17fS5hcGsiLCBrZXlfbmFtZSksCisgICAgICAgICAgICBTaWduYXR1cmVBbGdvcml0aG1JRDo6RWNkc2FXaXRoU2hhMjU2LAorICAgICAgICApOwogICAgIH0KIH0KIAogI1t0ZXN0XQotZm4gdGVzdF92ZXJpZnlfdjNfZWNkc2Ffc2hhNTEyKCkgeworZm4gYXBrc19zaWduZWRfd2l0aF92M19lY2RzYV9zaGE1MTJfYXJlX3ZhbGlkKCkgewogICAgIGZvciBrZXlfbmFtZSBpbiBLRVlfTkFNRVNfRUNEU0EuaXRlcigpIHsKLSAgICAgICAgdmFsaWRhdGVfYXBrX3B1YmxpY19rZXkoZm9ybWF0ISgidGVzdHMvZGF0YS92My1vbmx5LXdpdGgtZWNkc2Etc2hhNTEyLXt9LmFwayIsIGtleV9uYW1lKSk7CisgICAgICAgIHZhbGlkYXRlX2FwaygKKyAgICAgICAgICAgIGZvcm1hdCEoInRlc3RzL2RhdGEvdjMtb25seS13aXRoLWVjZHNhLXNoYTUxMi17fS5hcGsiLCBrZXlfbmFtZSksCisgICAgICAgICAgICBTaWduYXR1cmVBbGdvcml0aG1JRDo6RWNkc2FXaXRoU2hhNTEyLAorICAgICAgICApOwogICAgIH0KIH0KIAogI1t0ZXN0XQotZm4gdGVzdF92ZXJpZnlfdjNfcnNhX3NoYTI1NigpIHsKK2ZuIGFwa3Nfc2lnbmVkX3dpdGhfdjNfcnNhX3BrY3MxX3NoYTI1Nl9hcmVfdmFsaWQoKSB7CiAgICAgZm9yIGtleV9uYW1lIGluIEtFWV9OQU1FU19SU0EuaXRlcigpIHsKLSAgICAgICAgdmFsaWRhdGVfYXBrX3B1YmxpY19rZXkoZm9ybWF0ISgKLSAgICAgICAgICAgICJ0ZXN0cy9kYXRhL3YzLW9ubHktd2l0aC1yc2EtcGtjczEtc2hhMjU2LXt9LmFwayIsCi0gICAgICAgICAgICBrZXlfbmFtZQotICAgICAgICApKTsKKyAgICAgICAgdmFsaWRhdGVfYXBrKAorICAgICAgICAgICAgZm9ybWF0ISgidGVzdHMvZGF0YS92My1vbmx5LXdpdGgtcnNhLXBrY3MxLXNoYTI1Ni17fS5hcGsiLCBrZXlfbmFtZSksCisgICAgICAgICAgICBTaWduYXR1cmVBbGdvcml0aG1JRDo6UnNhUGtjczFWMTVXaXRoU2hhMjU2LAorICAgICAgICApOwogICAgIH0KIH0KIAogI1t0ZXN0XQotZm4gdGVzdF92ZXJpZnlfdjNfcnNhX3NoYTUxMigpIHsKK2ZuIGFwa3Nfc2lnbmVkX3dpdGhfdjNfcnNhX3BrY3MxX3NoYTUxMl9hcmVfdmFsaWQoKSB7CiAgICAgZm9yIGtleV9uYW1lIGluIEtFWV9OQU1FU19SU0EuaXRlcigpIHsKLSAgICAgICAgdmFsaWRhdGVfYXBrX3B1YmxpY19rZXkoZm9ybWF0ISgKLSAgICAgICAgICAgICJ0ZXN0cy9kYXRhL3YzLW9ubHktd2l0aC1yc2EtcGtjczEtc2hhNTEyLXt9LmFwayIsCi0gICAgICAgICAgICBrZXlfbmFtZQotICAgICAgICApKTsKKyAgICAgICAgdmFsaWRhdGVfYXBrKAorICAgICAgICAgICAgZm9ybWF0ISgidGVzdHMvZGF0YS92My1vbmx5LXdpdGgtcnNhLXBrY3MxLXNoYTUxMi17fS5hcGsiLCBrZXlfbmFtZSksCisgICAgICAgICAgICBTaWduYXR1cmVBbGdvcml0aG1JRDo6UnNhUGtjczFWMTVXaXRoU2hhNTEyLAorICAgICAgICApOwogICAgIH0KIH0KIApAQCAtMTY4LDUwICsxODcsODggQEAKIH0KIAogI1t0ZXN0XQotZm4gdGVzdF92ZXJpZnlfdjNfdW5rbm93bl9hZGRpdGlvbmFsX2F0dHIoKSB7Ci0gICAgdmFsaWRhdGVfYXBrX3B1YmxpY19rZXkoInRlc3RzL2RhdGEvdjMtb25seS11bmtub3duLWFkZGl0aW9uYWwtYXR0ci5hcGsiKTsKK2ZuIGFwa19zaWduZWRfd2l0aF92M191bmtub3duX2FkZGl0aW9uYWxfYXR0cl9pc192YWxpZCgpIHsKKyAgICB2YWxpZGF0ZV9hcGsoCisgICAgICAgICJ0ZXN0cy9kYXRhL3YzLW9ubHktdW5rbm93bi1hZGRpdGlvbmFsLWF0dHIuYXBrIiwKKyAgICAgICAgU2lnbmF0dXJlQWxnb3JpdGhtSUQ6OlJzYVBrY3MxVjE1V2l0aFNoYTI1NiwKKyAgICApOwogfQogCiAjW3Rlc3RdCi1mbiB0ZXN0X3ZlcmlmeV92M191bmtub3duX3BhaXJfaW5fYXBrX3NpZ19ibG9jaygpIHsKLSAgICB2YWxpZGF0ZV9hcGtfcHVibGljX2tleSgidGVzdHMvZGF0YS92My1vbmx5LXVua25vd24tcGFpci1pbi1hcGstc2lnLWJsb2NrLmFwayIpOworZm4gYXBrX3NpZ25lZF93aXRoX3YzX3Vua25vd25fcGFpcl9pbl9hcGtfc2lnX2Jsb2NrX2lzX3ZhbGlkKCkgeworICAgIHZhbGlkYXRlX2FwaygKKyAgICAgICAgInRlc3RzL2RhdGEvdjMtb25seS11bmtub3duLXBhaXItaW4tYXBrLXNpZy1ibG9jay5hcGsiLAorICAgICAgICBTaWduYXR1cmVBbGdvcml0aG1JRDo6UnNhUGtjczFWMTVXaXRoU2hhMjU2LAorICAgICk7CiB9CiAKICNbdGVzdF0KLWZuIHRlc3RfdmVyaWZ5X3YzX2lnbm9yYWJsZV91bnN1cHBvcnRlZF9zaWdfYWxncygpIHsKLSAgICB2YWxpZGF0ZV9hcGtfcHVibGljX2tleSgidGVzdHMvZGF0YS92My1vbmx5LXdpdGgtaWdub3JhYmxlLXVuc3VwcG9ydGVkLXNpZy1hbGdzLmFwayIpOworZm4gYXBrX3NpZ25lZF93aXRoX3YzX2lnbm9yYWJsZV91bnN1cHBvcnRlZF9zaWdfYWxnc19pc192YWxpZCgpIHsKKyAgICB2YWxpZGF0ZV9hcGsoCisgICAgICAgICJ0ZXN0cy9kYXRhL3YzLW9ubHktd2l0aC1pZ25vcmFibGUtdW5zdXBwb3J0ZWQtc2lnLWFsZ3MuYXBrIiwKKyAgICAgICAgU2lnbmF0dXJlQWxnb3JpdGhtSUQ6OlJzYVBrY3MxVjE1V2l0aFNoYTI1NiwKKyAgICApOwogfQogCiAjW3Rlc3RdCi1mbiB0ZXN0X3ZlcmlmeV92M19zdGFtcCgpIHsKLSAgICB2YWxpZGF0ZV9hcGtfcHVibGljX2tleSgidGVzdHMvZGF0YS92My1vbmx5LXdpdGgtc3RhbXAuYXBrIik7CitmbiBhcGtfc2lnbmVkX3dpdGhfdjNfc3RhbXBfaXNfdmFsaWQoKSB7CisgICAgdmFsaWRhdGVfYXBrKCJ0ZXN0cy9kYXRhL3YzLW9ubHktd2l0aC1zdGFtcC5hcGsiLCBTaWduYXR1cmVBbGdvcml0aG1JRDo6RWNkc2FXaXRoU2hhMjU2KTsKIH0KIAorZm4gdmFsaWRhdGVfYXBrPFA6IEFzUmVmPFBhdGg+PihhcGtfcGF0aDogUCwgZXhwZWN0ZWRfYWxnb3JpdGhtX2lkOiBTaWduYXR1cmVBbGdvcml0aG1JRCkgeworICAgIHZhbGlkYXRlX2Fwa19wdWJsaWNfa2V5KCZhcGtfcGF0aCk7CisgICAgdmFsaWRhdGVfYXBrX2RpZ2VzdCgmYXBrX3BhdGgsIGV4cGVjdGVkX2FsZ29yaXRobV9pZCk7Cit9CisKKy8vLyBWYWxpZGF0ZXMgdGhhdCB0aGUgZm9sbG93aW5nIHB1YmxpYyBrZXlzIGFyZSBlcXVhbDoKKy8vLyAqIHB1YmxpYyBrZXkgZnJvbSB2ZXJpZmljYXRpb24KKy8vLyAqIHB1YmxpYyBrZXkgZXh0cmFjdGVkIGZyb20gYXBrIHdpdGhvdXQgdmVyaWZpY2F0aW9uCisvLy8gKiBleHBlY3RlZCBwdWJsaWMga2V5IGZyb20gdGhlIGNvcnJlc3BvbmRpbmcgLmRlciBmaWxlCiBmbiB2YWxpZGF0ZV9hcGtfcHVibGljX2tleTxQOiBBc1JlZjxQYXRoPj4oYXBrX3BhdGg6IFApIHsKLSAgICAvLyBWYWxpZGF0ZXMgcHVibGljIGtleSBmcm9tIHZlcmlmaWNhdGlvbiA9PSBleHBlY3RlZCBwdWJsaWMga2V5LgotICAgIGxldCBwdWJsaWNfa2V5X2Zyb21fdmVyaWZpY2F0aW9uID0gdmVyaWZ5KGFwa19wYXRoLmFzX3JlZigpKTsKKyAgICBsZXQgcHVibGljX2tleV9mcm9tX3ZlcmlmaWNhdGlvbiA9IHZlcmlmeSgmYXBrX3BhdGgpOwogICAgIGxldCBwdWJsaWNfa2V5X2Zyb21fdmVyaWZpY2F0aW9uID0KICAgICAgICAgcHVibGljX2tleV9mcm9tX3ZlcmlmaWNhdGlvbi5leHBlY3QoIkVycm9yIGluIHZlcmlmaWNhdGlvbiByZXN1bHQiKTsKIAogICAgIGxldCBleHBlY3RlZF9wdWJsaWNfa2V5X3BhdGggPSBmb3JtYXQhKCJ7fS5kZXIiLCBhcGtfcGF0aC5hc19yZWYoKS50b19zdHIoKS51bndyYXAoKSk7Ci0gICAgYXNzZXJ0ISgKLSAgICAgICAgZnM6Om1ldGFkYXRhKCZleHBlY3RlZF9wdWJsaWNfa2V5X3BhdGgpLmlzX29rKCksCi0gICAgICAgICJGaWxlIGRvZXMgbm90IGV4aXN0LiBZb3UgY2FuIHJlLWNyZWF0ZSBpdCB3aXRoOlxuJCBlY2hvIC1lbiB7fSA+IHt9XG4iLAotICAgICAgICBwdWJsaWNfa2V5X2Zyb21fdmVyaWZpY2F0aW9uLml0ZXIoKS5tYXAofGJ8IGZvcm1hdCEoIlxcXFx4ezowMnh9IiwgYikpLmNvbGxlY3Q6OjxTdHJpbmc+KCksCi0gICAgICAgIGV4cGVjdGVkX3B1YmxpY19rZXlfcGF0aAotICAgICk7Ci0gICAgbGV0IGV4cGVjdGVkX3B1YmxpY19rZXkgPSBmczo6cmVhZCgmZXhwZWN0ZWRfcHVibGljX2tleV9wYXRoKS51bndyYXAoKTsKLSAgICBhc3NlcnRfZXEhKAotICAgICAgICBleHBlY3RlZF9wdWJsaWNfa2V5LAotICAgICAgICBwdWJsaWNfa2V5X2Zyb21fdmVyaWZpY2F0aW9uLmFzX3JlZigpLAotICAgICAgICAie30iLAotICAgICAgICBleHBlY3RlZF9wdWJsaWNfa2V5X3BhdGgKLSAgICApOworICAgIGFzc2VydF9ieXRlc19lcV90b19kYXRhX2luX2ZpbGUoJnB1YmxpY19rZXlfZnJvbV92ZXJpZmljYXRpb24sIGV4cGVjdGVkX3B1YmxpY19rZXlfcGF0aCk7CiAKLSAgICAvLyBWYWxpZGF0ZXMgcHVibGljIGtleSBleHRyYWN0ZWQgZGlyZWN0bHkgZnJvbSBhcGsKLSAgICAvLyAod2l0aG91dCB2ZXJpZmljYXRpb24pID09IGV4cGVjdGVkIHB1YmxpYyBrZXkuCi0gICAgbGV0IHB1YmxpY19rZXlfZnJvbV9hcGsgPSBnZXRfcHVibGljX2tleV9kZXIoYXBrX3BhdGguYXNfcmVmKCkpOworICAgIGxldCBwdWJsaWNfa2V5X2Zyb21fYXBrID0gZ2V0X3B1YmxpY19rZXlfZGVyKCZhcGtfcGF0aCk7CiAgICAgbGV0IHB1YmxpY19rZXlfZnJvbV9hcGsgPQogICAgICAgICBwdWJsaWNfa2V5X2Zyb21fYXBrLmV4cGVjdCgiRXJyb3Igd2hlbiBleHRyYWN0aW5nIHB1YmxpYyBrZXkgZnJvbSBhcGsiKTsKLSAgICBhc3NlcnRfZXEhKGV4cGVjdGVkX3B1YmxpY19rZXksIHB1YmxpY19rZXlfZnJvbV9hcGsuYXNfcmVmKCksICJ7fSIsIGV4cGVjdGVkX3B1YmxpY19rZXlfcGF0aCk7CisgICAgYXNzZXJ0X2VxISgKKyAgICAgICAgcHVibGljX2tleV9mcm9tX3ZlcmlmaWNhdGlvbiwgcHVibGljX2tleV9mcm9tX2FwaywKKyAgICAgICAgIlB1YmxpYyBrZXkgZXh0cmFjdGVkIGRpcmVjdGx5IGZyb20gYXBrIGRvZXMgbm90IG1hdGNoIHRoZSBwdWJsaWMga2V5IGZyb20gdmVyaWZpY2F0aW9uLiIKKyAgICApOworfQorCisvLy8gVmFsaWRhdGVzIHRoYXQgdGhlIGZvbGxvd2luZyBhcGtfZGlnZXN0IGFyZSBlcXVhbDoKKy8vLyAqIGFwa19kaWdlc3QgZGlyZWN0bHkgZXh0cmFjdGVkIGZyb20gYXBrIHdpdGhvdXQgY29tcHV0YXRpb24KKy8vLyAqIGV4cGVjdGVkIGFwayBkaWdlc3QgZnJvbSB0aGUgY29ycmVzcG9uZGluZyAuYXBrX2RpZ2VzdCBmaWxlCitmbiB2YWxpZGF0ZV9hcGtfZGlnZXN0PFA6IEFzUmVmPFBhdGg+PihhcGtfcGF0aDogUCwgZXhwZWN0ZWRfYWxnb3JpdGhtX2lkOiBTaWduYXR1cmVBbGdvcml0aG1JRCkgeworICAgIGxldCBhcGsgPSBmczo6RmlsZTo6b3BlbigmYXBrX3BhdGgpLmV4cGVjdCgiVW5hYmxlZCB0byBvcGVuIGFwayBmaWxlIik7CisKKyAgICBsZXQgKHNpZ25hdHVyZV9hbGdvcml0aG1faWQsIGRpZ2VzdF9mcm9tX2FwaykgPQorICAgICAgICBwaWNrX3Y0X2Fwa19kaWdlc3QoYXBrKS5leHBlY3QoIkVycm9yIHdoZW4gZXh0cmFjdGluZyBhcGsgZGlnZXN0LiIpOworCisgICAgYXNzZXJ0X2VxIShleHBlY3RlZF9hbGdvcml0aG1faWQsIHNpZ25hdHVyZV9hbGdvcml0aG1faWQpOworICAgIGxldCBleHBlY3RlZF9kaWdlc3RfcGF0aCA9IGZvcm1hdCEoInt9LmFwa19kaWdlc3QiLCBhcGtfcGF0aC5hc19yZWYoKS50b19zdHIoKS51bndyYXAoKSk7CisgICAgYXNzZXJ0X2J5dGVzX2VxX3RvX2RhdGFfaW5fZmlsZSgmZGlnZXN0X2Zyb21fYXBrLCBleHBlY3RlZF9kaWdlc3RfcGF0aCk7Cit9CisKK2ZuIGFzc2VydF9ieXRlc19lcV90b19kYXRhX2luX2ZpbGU8UDogQXNSZWY8UGF0aD4gKyBzdGQ6OmZtdDo6RGlzcGxheT4oCisgICAgYnl0ZXNfZGF0YTogJlt1OF0sCisgICAgZXhwZWN0ZWRfZGF0YV9wYXRoOiBQLAorKSB7CisgICAgYXNzZXJ0ISgKKyAgICAgICAgZnM6Om1ldGFkYXRhKCZleHBlY3RlZF9kYXRhX3BhdGgpLmlzX29rKCksCisgICAgICAgICJGaWxlIGRvZXMgbm90IGV4aXN0LiBZb3UgY2FuIHJlLWNyZWF0ZSBpdCB3aXRoOlxuJCBlY2hvIC1lbiB7fSA+IHt9XG4iLAorICAgICAgICBieXRlc19kYXRhLml0ZXIoKS5tYXAofGJ8IGZvcm1hdCEoIlxcXFx4ezowMnh9IiwgYikpLmNvbGxlY3Q6OjxTdHJpbmc+KCksCisgICAgICAgIGV4cGVjdGVkX2RhdGFfcGF0aAorICAgICk7CisgICAgbGV0IGV4cGVjdGVkX2RhdGEgPSBmczo6cmVhZCgmZXhwZWN0ZWRfZGF0YV9wYXRoKS51bndyYXAoKTsKKyAgICBhc3NlcnRfZXEhKAorICAgICAgICBleHBlY3RlZF9kYXRhLCBieXRlc19kYXRhLAorICAgICAgICAiQWN0dWFsIGRhdGEgZG9lcyBub3QgbWF0Y2ggdGhlIGRhdGEgZnJvbToge30iLAorICAgICAgICBleHBlY3RlZF9kYXRhX3BhdGgKKyAgICApOwogfQpkaWZmIC0tZ2l0IGEvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS9SRUFETUUubWQgYi9saWJzL2Fwa3ZlcmlmeS90ZXN0cy9kYXRhL1JFQURNRS5tZAppbmRleCA3NTU2OTIxLi43YmE1ZDhlIDEwMDY0NAotLS0gYS9saWJzL2Fwa3ZlcmlmeS90ZXN0cy9kYXRhL1JFQURNRS5tZAorKysgYi9saWJzL2Fwa3ZlcmlmeS90ZXN0cy9kYXRhL1JFQURNRS5tZApAQCAtMSw2ICsxLDEwIEBACisjIEFib3V0IHRlc3QgZGF0YQorCisjIyAuYXBrCisKIHRlc3QuYXBleCBpcyBjb3BpZWQgZnJvbSBBREJEIGFwZXggYnVpbHQgaW4gQU9TUC4KIAotYGBgc2gKK2BgYGJhc2gKICQgYXBrc2lnbmVyIHZlcmlmeSAtdiB0ZXN0LmFwZXgKIFZlcmlmaWVzCiBWZXJpZmllZCB1c2luZyB2MSBzY2hlbWUgKEpBUiBzaWduaW5nKTogZmFsc2UKQEAgLTExLDQgKzE1LDIwIEBACiBOdW1iZXIgb2Ygc2lnbmVyczogMQogYGBgCiAKLUFQSyBmaWxlcyBhcmUgY29waWVkIGZyb20gdG9vbHMvYXBrc2lnL3NyYy90ZXN0L3Jlc291cmNlcy9jb20vYW5kcm9pZC9hcGtzaWcvLgorQVBLIGZpbGVzIGFyZSBjb3BpZWQgZnJvbSBbdG9vbHMvYXBrc2lnL3NyYy90ZXN0L3Jlc291cmNlcy9jb20vYW5kcm9pZC9hcGtzaWcvXShodHRwczovL2NzLmFuZHJvaWQuY29tL2FuZHJvaWQvcGxhdGZvcm0vc3VwZXJwcm9qZWN0LysvbWFzdGVyOnRvb2xzL2Fwa3NpZy9zcmMvdGVzdC9yZXNvdXJjZXMvY29tL2FuZHJvaWQvYXBrc2lnLztsPTE7ZHJjPWMyYThkYTE5MTNkN2ZiMzU5YjAyM2JmMjAwZTMxZDc1ZmYyMmE1YzMpLgorCisjIyAuZGVyCisKK2AuZGVyYCBmaWxlcyBjb250YWluIHRoZSBleHBlY3RlZCBwdWJsaWMga2V5cy4gV2hlbiB2YWxpZGF0aW5nIHRoZSBwdWJsaWMga2V5cyBpbiB0ZXN0cywgaWYgdGhlIGNvcnJlc3BvbmRpbmcgYC5kZXJgIGZpbGUgaXMgbWlzc2luZywgdGhlcmUgd2lsbCBiZSBzb21lIHRleHQgYXMgZm9sbG93cyBpbiB0aGUgZmFpbHVyZSBtZXNzYWdlOgorCitgYGBiYXNoCiskIGVjaG8gLWVuIFxceDMwXFx4NTlcXHgzMFxceDEzXFx4MDZcXHgwN1xceDJhXFx4ODZcXHg0OFxceGNlXFx4M2RcXHgwMlxceDAxXFx4MDZcXHgwOFxceDJhXFx4ODZcXHg0OFxceGNlXFx4M2RcXHgwM1xceDAxXFx4MDdcXHgwM1xceDQyXFx4MDBcXHgwNFxceGE2XFx4NWZcXHgxMVxceDNkXFx4MjJcXHhjYlxceDQ5XFx4MTNcXHg5MFxceDgzXFx4MDdcXHhhY1xceDMxXFx4ZWVcXHgyYlxceGEwXFx4ZTlcXHgxM1xceDhiXFx4NzhcXHg1ZlxceGFjXFx4NjVcXHgzNlxceGQxXFx4NGVcXHhhMlxceGNlXFx4OTBcXHhkMlxceGI0XFx4YmZcXHhlMVxceDk0XFx4YjVcXHgwY1xceGRjXFx4OGVcXHgxNlxceDlmXFx4NTRcXHhhN1xceDNhXFx4OTlcXHgxZVxceGYwXFx4ZmFcXHg3NlxceDMyXFx4OThcXHgyNVxceGJlXFx4MDdcXHg4Y1xceGM3XFx4ODJcXHg3NFxceDA3XFx4MDNcXHhkYVxceDQ0XFx4YjRcXHhkN1xceGViID4gdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtc3RhbXAuYXBrLmRlcgorYGBgCisKK1lvdSBqdXN0IG5lZWQgdG8gZXhlY3V0ZSB0aGlzIGNvbW1hbmQgaW4gdGhlIGZvbGRlciBgbGlicy9hcGt2ZXJpZnlgIHRvIGdlbmVyYXRlIHRoZSBjb3JyZXNwb25kaW5nIGAuZGVyYCBmaWxlLiBBZnRlciBpdCwgeW91IGNhbiBydW4gdGhlIHRlc3QgYWdhaW4sIGFuZCB0aGUgdGVzdCB3aWxsIHBhc3MuCisKK090aGVyd2lzZSwgeW91IGNhbiBhbHNvIHVzZSB0aGUgY29tbWFuZCBgYXBrc2lnbmVyIHZlcmlmeSAtLW1pbi1zZGstdmVyc2lvbiAyNCAtLXByaW50LWNlcnRzLXBlbSB0ZXN0cy9kYXRhL3YzLW9ubHktd2l0aC1zdGFtcC5hcGtgIHRvIGdldCB0aGUgcHVibGljIGtleSBpbiBgLnBlbWAgZm9ybWF0IGFuZCB0aGVuIGNvbnZlcnQgaXQgdG8gYC5kZXJgIHdpdGggb3BlbnNzbC4KKworIyMgLmFwa19kaWdlc3QKKworYC5hcGtfZGlnZXN0YCBmaWxlcyBjb250YWluIHRoZSBleHBlY3RlZCBbYXBrX2RpZ2VzdF0oaHR0cHM6Ly9zb3VyY2UuYW5kcm9pZC5jb20vZG9jcy9zZWN1cml0eS9mZWF0dXJlcy9hcGtzaWduaW5nL3Y0I2Fway1kaWdlc3QpLiBUaGV5IGFyZSBnZW5lcmF0ZWQgdGhlIHNhbWUgd2F5IGFzIGAuZGVyYCB3aGVuIHZhbGlkYXRpbmcgdGhlIGFwa19kaWdlc3QuClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS90ZXN0LmFwZXguYXBrX2RpZ2VzdCBiL2xpYnMvYXBrdmVyaWZ5L3Rlc3RzL2RhdGEvdGVzdC5hcGV4LmFwa19kaWdlc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDlhNzM0MAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnMvYXBrdmVyaWZ5L3Rlc3RzL2RhdGEvdGVzdC5hcGV4LmFwa19kaWdlc3QKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXVua25vd24tYWRkaXRpb25hbC1hdHRyLmFway5hcGtfZGlnZXN0IGIvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXVua25vd24tYWRkaXRpb25hbC1hdHRyLmFway5hcGtfZGlnZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1YWVjMTgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzL2Fwa3ZlcmlmeS90ZXN0cy9kYXRhL3YzLW9ubHktdW5rbm93bi1hZGRpdGlvbmFsLWF0dHIuYXBrLmFwa19kaWdlc3QKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXVua25vd24tcGFpci1pbi1hcGstc2lnLWJsb2NrLmFway5hcGtfZGlnZXN0IGIvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXVua25vd24tcGFpci1pbi1hcGstc2lnLWJsb2NrLmFway5hcGtfZGlnZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1YWVjMTgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzL2Fwa3ZlcmlmeS90ZXN0cy9kYXRhL3YzLW9ubHktdW5rbm93bi1wYWlyLWluLWFway1zaWctYmxvY2suYXBrLmFwa19kaWdlc3QKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtZHNhLXNoYTI1Ni0xMDI0LmFway5hcGtfZGlnZXN0IGIvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtZHNhLXNoYTI1Ni0xMDI0LmFway5hcGtfZGlnZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1YWVjMTgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzL2Fwa3ZlcmlmeS90ZXN0cy9kYXRhL3YzLW9ubHktd2l0aC1kc2Etc2hhMjU2LTEwMjQuYXBrLmFwa19kaWdlc3QKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtZHNhLXNoYTI1Ni0yMDQ4LmFway5hcGtfZGlnZXN0IGIvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtZHNhLXNoYTI1Ni0yMDQ4LmFway5hcGtfZGlnZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1YWVjMTgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzL2Fwa3ZlcmlmeS90ZXN0cy9kYXRhL3YzLW9ubHktd2l0aC1kc2Etc2hhMjU2LTIwNDguYXBrLmFwa19kaWdlc3QKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtZHNhLXNoYTI1Ni0zMDcyLmFway5hcGtfZGlnZXN0IGIvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtZHNhLXNoYTI1Ni0zMDcyLmFway5hcGtfZGlnZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1YWVjMTgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzL2Fwa3ZlcmlmeS90ZXN0cy9kYXRhL3YzLW9ubHktd2l0aC1kc2Etc2hhMjU2LTMwNzIuYXBrLmFwa19kaWdlc3QKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtZWNkc2Etc2hhMjU2LXAyNTYuYXBrLmFwa19kaWdlc3QgYi9saWJzL2Fwa3ZlcmlmeS90ZXN0cy9kYXRhL3YzLW9ubHktd2l0aC1lY2RzYS1zaGEyNTYtcDI1Ni5hcGsuYXBrX2RpZ2VzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNWFlYzE4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtZWNkc2Etc2hhMjU2LXAyNTYuYXBrLmFwa19kaWdlc3QKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtZWNkc2Etc2hhMjU2LXAzODQuYXBrLmFwa19kaWdlc3QgYi9saWJzL2Fwa3ZlcmlmeS90ZXN0cy9kYXRhL3YzLW9ubHktd2l0aC1lY2RzYS1zaGEyNTYtcDM4NC5hcGsuYXBrX2RpZ2VzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNWFlYzE4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtZWNkc2Etc2hhMjU2LXAzODQuYXBrLmFwa19kaWdlc3QKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtZWNkc2Etc2hhMjU2LXA1MjEuYXBrLmFwa19kaWdlc3QgYi9saWJzL2Fwa3ZlcmlmeS90ZXN0cy9kYXRhL3YzLW9ubHktd2l0aC1lY2RzYS1zaGEyNTYtcDUyMS5hcGsuYXBrX2RpZ2VzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNWFlYzE4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtZWNkc2Etc2hhMjU2LXA1MjEuYXBrLmFwa19kaWdlc3QKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtZWNkc2Etc2hhNTEyLXAyNTYuYXBrLmFwa19kaWdlc3QgYi9saWJzL2Fwa3ZlcmlmeS90ZXN0cy9kYXRhL3YzLW9ubHktd2l0aC1lY2RzYS1zaGE1MTItcDI1Ni5hcGsuYXBrX2RpZ2VzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZmUxYjY1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtZWNkc2Etc2hhNTEyLXAyNTYuYXBrLmFwa19kaWdlc3QKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtZWNkc2Etc2hhNTEyLXAzODQuYXBrLmFwa19kaWdlc3QgYi9saWJzL2Fwa3ZlcmlmeS90ZXN0cy9kYXRhL3YzLW9ubHktd2l0aC1lY2RzYS1zaGE1MTItcDM4NC5hcGsuYXBrX2RpZ2VzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZmUxYjY1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtZWNkc2Etc2hhNTEyLXAzODQuYXBrLmFwa19kaWdlc3QKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtZWNkc2Etc2hhNTEyLXA1MjEuYXBrLmFwa19kaWdlc3QgYi9saWJzL2Fwa3ZlcmlmeS90ZXN0cy9kYXRhL3YzLW9ubHktd2l0aC1lY2RzYS1zaGE1MTItcDUyMS5hcGsuYXBrX2RpZ2VzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZmUxYjY1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtZWNkc2Etc2hhNTEyLXA1MjEuYXBrLmFwa19kaWdlc3QKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtaWdub3JhYmxlLXVuc3VwcG9ydGVkLXNpZy1hbGdzLmFway5hcGtfZGlnZXN0IGIvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtaWdub3JhYmxlLXVuc3VwcG9ydGVkLXNpZy1hbGdzLmFway5hcGtfZGlnZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1YWVjMTgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzL2Fwa3ZlcmlmeS90ZXN0cy9kYXRhL3YzLW9ubHktd2l0aC1pZ25vcmFibGUtdW5zdXBwb3J0ZWQtc2lnLWFsZ3MuYXBrLmFwa19kaWdlc3QKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtcnNhLXBrY3MxLXNoYTI1Ni0xMDI0LmFway5hcGtfZGlnZXN0IGIvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtcnNhLXBrY3MxLXNoYTI1Ni0xMDI0LmFway5hcGtfZGlnZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1YWVjMTgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzL2Fwa3ZlcmlmeS90ZXN0cy9kYXRhL3YzLW9ubHktd2l0aC1yc2EtcGtjczEtc2hhMjU2LTEwMjQuYXBrLmFwa19kaWdlc3QKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtcnNhLXBrY3MxLXNoYTI1Ni0xNjM4NC5hcGsuYXBrX2RpZ2VzdCBiL2xpYnMvYXBrdmVyaWZ5L3Rlc3RzL2RhdGEvdjMtb25seS13aXRoLXJzYS1wa2NzMS1zaGEyNTYtMTYzODQuYXBrLmFwa19kaWdlc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzVhZWMxOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnMvYXBrdmVyaWZ5L3Rlc3RzL2RhdGEvdjMtb25seS13aXRoLXJzYS1wa2NzMS1zaGEyNTYtMTYzODQuYXBrLmFwa19kaWdlc3QKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtcnNhLXBrY3MxLXNoYTI1Ni0yMDQ4LmFway5hcGtfZGlnZXN0IGIvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtcnNhLXBrY3MxLXNoYTI1Ni0yMDQ4LmFway5hcGtfZGlnZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1YWVjMTgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzL2Fwa3ZlcmlmeS90ZXN0cy9kYXRhL3YzLW9ubHktd2l0aC1yc2EtcGtjczEtc2hhMjU2LTIwNDguYXBrLmFwa19kaWdlc3QKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtcnNhLXBrY3MxLXNoYTI1Ni0zMDcyLmFway5hcGtfZGlnZXN0IGIvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtcnNhLXBrY3MxLXNoYTI1Ni0zMDcyLmFway5hcGtfZGlnZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1YWVjMTgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzL2Fwa3ZlcmlmeS90ZXN0cy9kYXRhL3YzLW9ubHktd2l0aC1yc2EtcGtjczEtc2hhMjU2LTMwNzIuYXBrLmFwa19kaWdlc3QKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtcnNhLXBrY3MxLXNoYTI1Ni00MDk2LmFway5hcGtfZGlnZXN0IGIvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtcnNhLXBrY3MxLXNoYTI1Ni00MDk2LmFway5hcGtfZGlnZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1YWVjMTgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzL2Fwa3ZlcmlmeS90ZXN0cy9kYXRhL3YzLW9ubHktd2l0aC1yc2EtcGtjczEtc2hhMjU2LTQwOTYuYXBrLmFwa19kaWdlc3QKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtcnNhLXBrY3MxLXNoYTI1Ni04MTkyLmFway5hcGtfZGlnZXN0IGIvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtcnNhLXBrY3MxLXNoYTI1Ni04MTkyLmFway5hcGtfZGlnZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1YWVjMTgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzL2Fwa3ZlcmlmeS90ZXN0cy9kYXRhL3YzLW9ubHktd2l0aC1yc2EtcGtjczEtc2hhMjU2LTgxOTIuYXBrLmFwa19kaWdlc3QKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtcnNhLXBrY3MxLXNoYTUxMi0xMDI0LmFway5hcGtfZGlnZXN0IGIvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtcnNhLXBrY3MxLXNoYTUxMi0xMDI0LmFway5hcGtfZGlnZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRmZTFiNjUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzL2Fwa3ZlcmlmeS90ZXN0cy9kYXRhL3YzLW9ubHktd2l0aC1yc2EtcGtjczEtc2hhNTEyLTEwMjQuYXBrLmFwa19kaWdlc3QKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtcnNhLXBrY3MxLXNoYTUxMi0xNjM4NC5hcGsuYXBrX2RpZ2VzdCBiL2xpYnMvYXBrdmVyaWZ5L3Rlc3RzL2RhdGEvdjMtb25seS13aXRoLXJzYS1wa2NzMS1zaGE1MTItMTYzODQuYXBrLmFwa19kaWdlc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGZlMWI2NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnMvYXBrdmVyaWZ5L3Rlc3RzL2RhdGEvdjMtb25seS13aXRoLXJzYS1wa2NzMS1zaGE1MTItMTYzODQuYXBrLmFwa19kaWdlc3QKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtcnNhLXBrY3MxLXNoYTUxMi0yMDQ4LmFway5hcGtfZGlnZXN0IGIvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtcnNhLXBrY3MxLXNoYTUxMi0yMDQ4LmFway5hcGtfZGlnZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRmZTFiNjUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzL2Fwa3ZlcmlmeS90ZXN0cy9kYXRhL3YzLW9ubHktd2l0aC1yc2EtcGtjczEtc2hhNTEyLTIwNDguYXBrLmFwa19kaWdlc3QKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtcnNhLXBrY3MxLXNoYTUxMi0zMDcyLmFway5hcGtfZGlnZXN0IGIvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtcnNhLXBrY3MxLXNoYTUxMi0zMDcyLmFway5hcGtfZGlnZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRmZTFiNjUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzL2Fwa3ZlcmlmeS90ZXN0cy9kYXRhL3YzLW9ubHktd2l0aC1yc2EtcGtjczEtc2hhNTEyLTMwNzIuYXBrLmFwa19kaWdlc3QKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtcnNhLXBrY3MxLXNoYTUxMi00MDk2LmFway5hcGtfZGlnZXN0IGIvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtcnNhLXBrY3MxLXNoYTUxMi00MDk2LmFway5hcGtfZGlnZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRmZTFiNjUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzL2Fwa3ZlcmlmeS90ZXN0cy9kYXRhL3YzLW9ubHktd2l0aC1yc2EtcGtjczEtc2hhNTEyLTQwOTYuYXBrLmFwa19kaWdlc3QKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtcnNhLXBrY3MxLXNoYTUxMi04MTkyLmFway5hcGtfZGlnZXN0IGIvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtcnNhLXBrY3MxLXNoYTUxMi04MTkyLmFway5hcGtfZGlnZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRmZTFiNjUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzL2Fwa3ZlcmlmeS90ZXN0cy9kYXRhL3YzLW9ubHktd2l0aC1yc2EtcGtjczEtc2hhNTEyLTgxOTIuYXBrLmFwa19kaWdlc3QKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtc3RhbXAuYXBrLmFwa19kaWdlc3QgYi9saWJzL2Fwa3ZlcmlmeS90ZXN0cy9kYXRhL3YzLW9ubHktd2l0aC1zdGFtcC5hcGsuYXBrX2RpZ2VzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMjljMmE5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlicy9hcGt2ZXJpZnkvdGVzdHMvZGF0YS92My1vbmx5LXdpdGgtc3RhbXAuYXBrLmFwa19kaWdlc3QKQEAgLTAsMCArMSBAQAorYmu2R8AIlxen/6Uv2OhF+UA9Xif3pah1LkezNF+4L1wKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==