ZGlmZiAtLWdpdCBhL1JFQURNRS5tZCBiL1JFQURNRS5tZAppbmRleCAwMTliOGNmLi5hMDAxMWY2IDEwMDY0NAotLS0gYS9SRUFETUUubWQKKysrIGIvUkVBRE1FLm1kCkBAIC0yNCw0ICsyNCw4IEBACiBgYGAKIAogIyMgTGljZW5zZQotqSBDb3B5cmlnaHQgSW50ZWwgQ29ycG9yYXRpb24uIExpY2Vuc2VkIHVuZGVyIExHUEx2Mywgc2VlIFtMSUNFTlNFXShodHRwczovL2dpdGh1Yi5jb20vMDFvcmcvam5kbi1tb2NrL2Jsb2IvbWFzdGVyL0xJQ0VOU0UpLgorQ29weXJpZ2h0IKkgMjAxNSwgSW50ZWwgQ29ycG9yYXRpb24uCisKK1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCB2ZXJzaW9uIDMsIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorCitUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgW0dOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZV0oaHR0cHM6Ly9naXRodWIuY29tLzAxb3JnL2puZG4tbW9jay9ibG9iL21hc3Rlci9MSUNFTlNFKSBmb3IgbW9yZSBkZXRhaWxzLgpkaWZmIC0tZ2l0IGEvc3JjL21haW4vamF2YS9jb20vaW50ZWwvam5kbi9tb2NrL01vY2tGYWNlLmphdmEgYi9zcmMvbWFpbi9qYXZhL2NvbS9pbnRlbC9qbmRuL21vY2svTW9ja0ZhY2UuamF2YQppbmRleCAzZjQyOGQ4Li42MzYwYTcyIDEwMDY0NAotLS0gYS9zcmMvbWFpbi9qYXZhL2NvbS9pbnRlbC9qbmRuL21vY2svTW9ja0ZhY2UuamF2YQorKysgYi9zcmMvbWFpbi9qYXZhL2NvbS9pbnRlbC9qbmRuL21vY2svTW9ja0ZhY2UuamF2YQpAQCAtMSwxMSArMSwxNSBAQAogLyoKLSAqIEZpbGUgbmFtZTogTW9ja1RyYW5zcG9ydC5qYXZhCi0gKiAKLSAqIFB1cnBvc2U6IFVzZSB0aGUgTW9ja1RyYW5zcG9ydCB0byBtb2NrIHNlbmRpbmcgZGF0YSBvdmVyIHRoZSBuZXR3b3JrLgotICogCi0gKiDCqSBDb3B5cmlnaHQgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBJbnRlbCBDb3Jwb3JhdGlvbiwgMjIwMCBNaXNzaW9uIENvbGxlZ2UgQm91bGV2YXJkLAotICogU2FudGEgQ2xhcmEsIENBIDk1MDUyLTgxMTksIFVTQQorICogam5kbi1tb2NrCisgKiBDb3B5cmlnaHQgKGMpIDIwMTUsIEludGVsIENvcnBvcmF0aW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwKKyAqIHZlcnNpb24gMywgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkKKyAqIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvcgorICogbW9yZSBkZXRhaWxzLgogICovCiBwYWNrYWdlIGNvbS5pbnRlbC5qbmRuLm1vY2s7CiAKZGlmZiAtLWdpdCBhL3NyYy9tYWluL2phdmEvY29tL2ludGVsL2puZG4vbW9jay9Nb2NrVHJhbnNwb3J0LmphdmEgYi9zcmMvbWFpbi9qYXZhL2NvbS9pbnRlbC9qbmRuL21vY2svTW9ja1RyYW5zcG9ydC5qYXZhCmluZGV4IDdlMTNiNTEuLjAwNzkxOTYgMTAwNjQ0Ci0tLSBhL3NyYy9tYWluL2phdmEvY29tL2ludGVsL2puZG4vbW9jay9Nb2NrVHJhbnNwb3J0LmphdmEKKysrIGIvc3JjL21haW4vamF2YS9jb20vaW50ZWwvam5kbi9tb2NrL01vY2tUcmFuc3BvcnQuamF2YQpAQCAtMSwxMiArMSwxNSBAQAogLyoKLSAqIEZpbGUgbmFtZTogTW9ja1RyYW5zcG9ydC5qYXZhCi0gKiAKLSAqIFB1cnBvc2U6IFByb3ZpZGUgdGVzdGluZyBmdW5jdGlvbmFsaXR5IGZvciBydW5uaW5nIE5ETiB1bml0IHRlc3RzIHdpdGhvdXQKLSAqIGNvbm5lY3RpbmcgdG8gdGhlIG5ldHdvcmsgb3IgcmVxdWlyaW5nIGFuIE5GRCBpbnN0YWxsZWQuCi0gKiAKLSAqIMKpIENvcHlyaWdodCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIEludGVsIENvcnBvcmF0aW9uLCAyMjAwIE1pc3Npb24gQ29sbGVnZSBCb3VsZXZhcmQsCi0gKiBTYW50YSBDbGFyYSwgQ0EgOTUwNTItODExOSwgVVNBCisgKiBqbmRuLW1vY2sKKyAqIENvcHlyaWdodCAoYykgMjAxNSwgSW50ZWwgQ29ycG9yYXRpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqIHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLAorICogdmVyc2lvbiAzLCBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWQorICogV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUworICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yCisgKiBtb3JlIGRldGFpbHMuCiAgKi8KIHBhY2thZ2UgY29tLmludGVsLmpuZG4ubW9jazsKIApAQCAtNDAsNiArNDMsMTYgQEAKICAgcHJvdGVjdGVkIExpc3Q8SW50ZXJlc3Q+IHNlbnRJbnRlcmVzdFBhY2tldHMgPSBuZXcgQXJyYXlMaXN0PD4oKTsKIAogICAvKioKKyAgICogVGhpcyB0cmFuc3BvcnQgaXMgYWx3YXlzIGxvY2FsCisgICAqCisgICAqIEBwYXJhbSBjb25uZWN0aW9uSW5mbworICAgKiBAcmV0dXJuCisgICAqLworICBwdWJsaWMgYm9vbGVhbiBpc0xvY2FsKFRyYW5zcG9ydC5Db25uZWN0aW9uSW5mbyBjb25uZWN0aW9uSW5mbykgeworICAgIHJldHVybiB0cnVlOworICB9CisKKyAgLyoqCiAgICAqIFBsYWNlIGRhdGEgaW4gdGhlIHJlY2VpdmUgcXVldWU7IHdoZW4gcHJvY2Vzc0V2ZW50cygpIGlzIGNhbGxlZCwgdGhlCiAgICAqIGNhbGxpbmcgYXBwbGljYXRpb24gd2lsbCByZWNlaXZlIHRoZXNlIGJ5dGVzLgogICAgKgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvamF2YS9jb20vaW50ZWwvam5kbi9tb2NrL01vY2tGYWNlVGVzdC5qYXZhIGIvc3JjL3Rlc3QvamF2YS9jb20vaW50ZWwvam5kbi9tb2NrL01vY2tGYWNlVGVzdC5qYXZhCmluZGV4IDA2NDZmOTQuLjhjNTFhNmUgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L2phdmEvY29tL2ludGVsL2puZG4vbW9jay9Nb2NrRmFjZVRlc3QuamF2YQorKysgYi9zcmMvdGVzdC9qYXZhL2NvbS9pbnRlbC9qbmRuL21vY2svTW9ja0ZhY2VUZXN0LmphdmEKQEAgLTEsMTEgKzEsMTUgQEAKIC8qCi0gKiBGaWxlIG5hbWU6IE1vY2tGYWNlVGVzdC5qYXZhCi0gKiAKLSAqIFB1cnBvc2U6IFRlc3QgTW9ja0ZhY2UgZnVuY3Rpb25hbGl0eS4KLSAqIAotICogwqkgQ29weXJpZ2h0IEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogSW50ZWwgQ29ycG9yYXRpb24sIDIyMDAgTWlzc2lvbiBDb2xsZWdlIEJvdWxldmFyZCwKLSAqIFNhbnRhIENsYXJhLCBDQSA5NTA1Mi04MTE5LCBVU0EKKyAqIGpuZG4tbW9jaworICogQ29weXJpZ2h0IChjKSAyMDE1LCBJbnRlbCBDb3Jwb3JhdGlvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCisgKiB2ZXJzaW9uIDMsIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZCisgKiBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IKKyAqIG1vcmUgZGV0YWlscy4KICAqLwogcGFja2FnZSBjb20uaW50ZWwuam5kbi5tb2NrOwogCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9qYXZhL2NvbS9pbnRlbC9qbmRuL21vY2svTW9ja1RyYW5zcG9ydFRlc3QuamF2YSBiL3NyYy90ZXN0L2phdmEvY29tL2ludGVsL2puZG4vbW9jay9Nb2NrVHJhbnNwb3J0VGVzdC5qYXZhCmluZGV4IDcyMWI1YTQuLjdjZDgwOGYgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L2phdmEvY29tL2ludGVsL2puZG4vbW9jay9Nb2NrVHJhbnNwb3J0VGVzdC5qYXZhCisrKyBiL3NyYy90ZXN0L2phdmEvY29tL2ludGVsL2puZG4vbW9jay9Nb2NrVHJhbnNwb3J0VGVzdC5qYXZhCkBAIC0xLDExICsxLDE1IEBACiAvKgotICogRmlsZSBuYW1lOiBNb2NrVHJhbnNwb3J0VGVzdC5qYXZhCi0gKiAKLSAqIFB1cnBvc2U6IFRlc3QgdGhlIE1vY2tUcmFuc3BvcnQgZnVuY3Rpb25hbGl0eS4KLSAqIAotICogwqkgQ29weXJpZ2h0IEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogSW50ZWwgQ29ycG9yYXRpb24sIDIyMDAgTWlzc2lvbiBDb2xsZWdlIEJvdWxldmFyZCwKLSAqIFNhbnRhIENsYXJhLCBDQSA5NTA1Mi04MTE5LCBVU0EKKyAqIGpuZG4tbW9jaworICogQ29weXJpZ2h0IChjKSAyMDE1LCBJbnRlbCBDb3Jwb3JhdGlvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCisgKiB2ZXJzaW9uIDMsIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZCisgKiBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IKKyAqIG1vcmUgZGV0YWlscy4KICAqLwogcGFja2FnZSBjb20uaW50ZWwuam5kbi5tb2NrOwogCg==