ZGlmZiAtLWdpdCBhL0FOTk9VTkNFIGIvQU5OT1VOQ0UKaW5kZXggYzMyZTM2NC4uNDBlZmNiZiAxMDA2NDQKLS0tIGEvQU5OT1VOQ0UKKysrIGIvQU5OT1VOQ0UKQEAgLTEsNSArMSw1IEBACiAKLUxpYnBuZyAxLjAuMTFyYzEgLSBBcHJpbCAyMCwgMjAwMQorTGlicG5nIDEuMC4xMSAtIEFwcmlsIDI3LCAyMDAxCiAKIFRoaXMgaXMgYSBwdWJsaWMgcmVsZWFzZSBvZiBsaWJwbmcsIGludGVuZGVkIGZvciB1c2UgaW4gcHJvZHVjdGlvbiBjb2Rlcy4KIApAQCAtMTAsOSArMTAsOSBAQAogICBDaGFuZ2VkIHNldmVyYWwgIi8vIiBzaW5nbGUtbGluZSBjb21tZW50cyB0byBDLXN0eWxlIGluIHBuZ2djY3JkLmMKICAgUmVtb3ZlZCBQTkdBUEkgZnJvbSBwcml2YXRlIGZ1bmN0aW9ucyB3aG9zZSBwcm90b3R5cGVzIGRpZCBub3QgaGF2ZSBQTkdBUEkuCiAgIFVwZGF0ZWQgc2NyaXB0cy9wbmdvczIuZGVmCi0gIEFkZGVkIG1ha2VmaWxlLm5ldGJzZAogICBBZGRlZCBhIGNoZWNrIGZvciBOVUxMIHJldHVybiBmcm9tIHVzZXIncyBtYWxsb2NfZm4oKS4KICAgUmVtb3ZlZCBzb21lIHVzZWxlc3MgdHlwZSBjYXN0cyBvZiB0aGUgTlVMTCBwb2ludGVyLgorICBBZGRlZCBtYWtlZmlsZS5uZXRic2QKIAogU2VuZCBjb21tZW50cy9jb3JyZWN0aW9ucy9jb21tZW5kYXRpb25zIHRvCiBwbmctaW1wbGVtZW50QGNjcmMud3VzdGwuZWR1IG9yIHRvIHJhbmRlZ0BhbHVtLnJwaS5lZHUKZGlmZiAtLWdpdCBhL0NIQU5HRVMgYi9DSEFOR0VTCmluZGV4IDQwMTg5NGQuLjE1ZTk0NDkgMTAwNjQ0Ci0tLSBhL0NIQU5HRVMKKysrIGIvQ0hBTkdFUwpAQCAtOTIzLDExICs5MjMsMTMgQEAKICAgVXBkYXRlZCBzY3JpcHRzL3BuZ29zMi5kZWYKIHZlcnNpb24gMS4wLjExYmV0YTMgW0FwcmlsIDE0LCAyMDAxXQogICBBZGRlZCBjaGVja2luZyB0aGUgcmVzdWx0cyBvZiBtYW55IGluc3RhbmNlcyBvZiBwbmdfbWFsbG9jKCkgZm9yIE5VTEwKLXZlcnNpb24gMS4wLjExcmMxIFtBcHJpbCAyMCwgMjAwMV0KK3ZlcnNpb24gMS4wLjExYmV0YTQgW0FwcmlsIDIwLCAyMDAxXQogICBVbmRpZCB0aGUgY2hhbmdlcyBmcm9tIHZlcnNpb24gMS4wLjExYmV0YTMuICBBZGRlZCBhIGNoZWNrIGZvciBOVUxMIHJldHVybgogICAgIGZyb20gdXNlcidzIG1hbGxvY19mbigpLgogICBSZW1vdmVkIHNvbWUgdXNlbGVzcyB0eXBlIGNhc3RzIG9mIHRoZSBOVUxMIHBvaW50ZXIuCi0gIEFkZGVkIG1ha2VmaWxlLm5ldGJzZCAuCisgIEFkZGVkIG1ha2VmaWxlLm5ldGJzZAordmVyc2lvbiAxLjAuMTEgW0FwcmlsIDI3LCAyMDAxXQorICBSZXZpc2VkIG1ha2VmaWxlLm5ldGJzZAogCiBTZW5kIGNvbW1lbnRzL2NvcnJlY3Rpb25zL2NvbW1lbmRhdGlvbnMgdG8KIHBuZy1pbXBsZW1lbnRAY2NyYy53dXN0bC5lZHUgb3IgdG8gcmFuZGVnQGFsdW0ucnBpLmVkdQpkaWZmIC0tZ2l0IGEvSU5TVEFMTCBiL0lOU1RBTEwKaW5kZXggNjgzODA4Yi4uZTgxYjFkZSAxMDA2NDQKLS0tIGEvSU5TVEFMTAorKysgYi9JTlNUQUxMCkBAIC0xLDUgKzEsNSBAQAogCi1JbnN0YWxsaW5nIGxpYnBuZyB2ZXJzaW9uIDEuMC4xMXJjMSAtIEFwcmlsIDIwLCAyMDAxCitJbnN0YWxsaW5nIGxpYnBuZyB2ZXJzaW9uIDEuMC4xMSAtIEFwcmlsIDI3LCAyMDAxCiAKIEJlZm9yZSBpbnN0YWxsaW5nIGxpYnBuZywgeW91IG11c3QgZmlyc3QgaW5zdGFsbCB6bGliLiAgemxpYgogY2FuIHVzdWFsbHkgYmUgZm91bmQgd2hlcmV2ZXIgeW91IGdvdCBsaWJwbmcuICB6bGliIGNhbiBiZQpAQCAtMTAsNyArMTAsNyBAQAogdmVyc2lvbiBvZiB6bGliIHRoYXQncyBpbnN0YWxsZWQuCiAKIFlvdSBjYW4gcmVuYW1lIHRoZSBkaXJlY3RvcmllcyB0aGF0IHlvdSBkb3dubG9hZGVkICh0aGV5Ci1taWdodCBiZSBjYWxsZWQgImxpYnBuZy0xLjAuMTFyYzEiIG9yICJscG5nMTA5IiBhbmQgInpsaWItMS4xLjMiCittaWdodCBiZSBjYWxsZWQgImxpYnBuZy0xLjAuMTEiIG9yICJscG5nMTA5IiBhbmQgInpsaWItMS4xLjMiCiBvciAiemxpYjExMyIpIHNvIHRoYXQgeW91IGhhdmUgZGlyZWN0b3JpZXMgY2FsbGVkICJ6bGliIiBhbmQgImxpYnBuZyIuCiAKIFlvdXIgZGlyZWN0b3J5IHN0cnVjdHVyZSBzaG91bGQgbG9vayBsaWtlIHRoaXM6CkBAIC02MCw4ICs2MCw4IEBACiBpbmNsdWRlCiAKICBtYWtlZmlsZS5zdGQgICAgICA9PiAgR2VuZXJpYyBVTklYIG1ha2VmaWxlIChjYywgY3JlYXRlcyBzdGF0aWMgbGlicG5nLmEpCi0gbWFrZWZpbGUubGludXggICAgPT4gIExpbnV4L0VMRiBtYWtlZmlsZSAoZ2NjLCBjcmVhdGVzIGxpYnBuZy5zby4yLjEuMC4xMXJjMSkKLSBtYWtlZmlsZS5nY21teCAgICA9PiAgTGludXgvRUxGIG1ha2VmaWxlIChnY2MsIGNyZWF0ZXMgbGlicG5nLnNvLjIuMS4wLjExcmMxLAorIG1ha2VmaWxlLmxpbnV4ICAgID0+ICBMaW51eC9FTEYgbWFrZWZpbGUgKGdjYywgY3JlYXRlcyBsaWJwbmcuc28uMi4xLjAuMTEpCisgbWFrZWZpbGUuZ2NtbXggICAgPT4gIExpbnV4L0VMRiBtYWtlZmlsZSAoZ2NjLCBjcmVhdGVzIGxpYnBuZy5zby4yLjEuMC4xMSwKICAgICAgICAgICAgICAgICAgICAgICAgdXNlcyBhc3NlbWJsZXIgY29kZSB0dW5lZCBmb3IgSW50ZWwgTU1YIHBsYXRmb3JtKQogIG1ha2VmaWxlLmdjYyAgICAgID0+ICBHZW5lcmljIG1ha2VmaWxlIChnY2MsIGNyZWF0ZXMgc3RhdGljIGxpYnBuZy5hKQogIG1ha2VmaWxlLmtuciAgICAgID0+ICBBcmNoYWljIFVOSVggTWFrZWZpbGUgdGhhdCBjb252ZXJ0cyBmaWxlcyB3aXRoCkBAIC03OCw5ICs3OCw5IEBACiAgbWFrZWZpbGUubWFjb3N4ICAgPT4gIE1BQ09TIFggTWFrZWZpbGUKICBtYWtlZmlsZS5uZXRic2QgICA9PiAgTmV0QlNEL2NjIG1ha2VmaWxlLCB1c2VzIFBOR0dDQ1JECiAgbWFrZWZpbGUuc2dpICAgICAgPT4gIFNpbGljb24gR3JhcGhpY3MgSVJJWCBtYWtlZmlsZSAoY2MsIGNyZWF0ZXMgc3RhdGljIGxpYikKLSBtYWtlZmlsZS5zZ2djYyAgICA9PiAgU2lsaWNvbiBHcmFwaGljcyAoZ2NjLCBjcmVhdGVzIGxpYnBuZy5zby4yLjEuMC4xMXJjMSkKKyBtYWtlZmlsZS5zZ2djYyAgICA9PiAgU2lsaWNvbiBHcmFwaGljcyAoZ2NjLCBjcmVhdGVzIGxpYnBuZy5zby4yLjEuMC4xMSkKICBtYWtlZmlsZS5zdW5vcyAgICA9PiAgU3VuIG1ha2VmaWxlCi0gbWFrZWZpbGUuc29sYXJpcyAgPT4gIFNvbGFyaXMgMi5YIG1ha2VmaWxlIChnY2MsIGNyZWF0ZXMgbGlicG5nLnNvLjIuMS4wLjExcmMxKQorIG1ha2VmaWxlLnNvbGFyaXMgID0+ICBTb2xhcmlzIDIuWCBtYWtlZmlsZSAoZ2NjLCBjcmVhdGVzIGxpYnBuZy5zby4yLjEuMC4xMSkKICBtYWtlZmlsZS5zY28gICAgICA9PiAgRm9yIFNDTyBPU3I1ICBFTEYgYW5kIFVuaXh3YXJlIDcgd2l0aCBOYXRpdmUgY2MKICBtYWtlZmlsZS5taXBzICAgICA9PiAgTUlQUyBtYWtlZmlsZQogIG1ha2VmaWxlLmFjb3JuICAgID0+ICBBY29ybiBtYWtlZmlsZQpkaWZmIC0tZ2l0IGEvS05PV05CVUcgYi9LTk9XTkJVRwppbmRleCAyNDFjZTUzLi5kNTk2ZGViIDEwMDY0NAotLS0gYS9LTk9XTkJVRworKysgYi9LTk9XTkJVRwpAQCAtMSwzMSArMSw3IEBACiAKLUtub3duIGJ1Z3MgaW4gbGlicG5nLTEuMC4xMAorS25vd24gYnVncyBpbiBsaWJwbmctMS4wLjExCiAKLTEuIEFwcmlsIDEsIDIwMDE6IE1pc3NpbmcgdHlwZSBjYXN0cyBvbiBwbmdfbWFsbG9jKCkgY2FsbHMgKERpbWl0cmkgUGFwYWRvcG9sb3VzKQorMS4gQXByaWwgMjIsIDIwMDE6IHBuZ2djY3JkLmMgaGFzIGJlZW4gcmVwb3J0ZWQgdG8gY3Jhc2ggb24gTmV0QlNEIHdoZW4KKyAgIHJlYWRpbmcgaW50ZXJsYWNlZCBQTkcgZmlsZXMsIHdoZW4gYXNzZW1ibGVyIGNvZGUgaXMgZW5hYmxlZC4KIAotICAgQSBjYWxsIHRvIHBuZ19tYWxsb2MoKSBpbiBwbmdyZWFkLmMgaXMgbWlzc2luZyB0aGUgKHBuZ19ieXRlcCkgdHlwZSBjYXN0LAotICAgYW5kIGZvdXIgY2FsbHMgaW4gcG5nc2V0LmMgYXJlIG1pc3NpbmcgdHlwZSBjYXN0cywgKHBuZ19jaGFycCksIChwbmdfY2hhcnApLAotICAgKHBuZ19ieXRlcCksIGFuZCAocG5nX2J5dGVwKSwgcmVzcGVjdGl2ZWx5LgotCi0gICBTVEFUVVM6IGZpeGVkIGluIGxpYnBuZy0xLjAuMTFiZXRhMS4KLQotMi4gQXByaWwgMywgMjAwMTogIi8vIiBjb21tZW50cyBjYXVzZSB0aGUgU0dJIGNvbXBpbGVyIChvMzIpIHRvIGZhaWwgdG8KLSAgIGNvbXBpbGUgcG5nZ2NjcmQuYyAoUmljaGFyZCBLZXR0bGV3ZWxsKS4KLQotICAgU1RBVFVTOiBmaXhlZCBpbiBsaWJwbmctMS4wLjExYmV0YTEuCi0KLTMuIEFwcmlsIDUsIDIwMDE6IFRoZSBwcm90b3R5cGVzIGRvbid0IG1hdGNoIHNldmVyYWwgZnVuY3Rpb25zLgotCi0gICBGdW5jdGlvbnMgcG5nX2luZm9faW5pdCwgcG5nX3phbGxvYywgYW5kIHNldmVyYWwgb3RoZXJzIGhhdmUgUE5HQVBJCi0gICBpbiB0aGUgQyBmdW5jdGlvbnMgYnV0IG5vdCBpbiB0aGUgcHJvdG90eXBlcyBpbiBwbmcuaC4gIFRoZSBmdW5jdGlvbnMKLSAgIGludm9sdmVkIGFyZSBhbGwgZWl0aGVyIGRlcHJlY2F0ZWQgb3IgaW50ZW5kZWQgb25seSBmb3IgaW50ZXJuYWwgdXNlLgotCi0gICBTVEFUVVM6IFBOR0FQSSB3YXMgcmVtb3ZlZCBmcm9tIHRoZSBDIGNvZGUgaW4gbGlicG5nLTEuMC4xMWJldGEyLgotCi00LiBBcHJpbCAxNCwgMjAwMTogTWFueSBpbnN0YW5jZXMgb2YgcG5nX21hbGxvYygpIGFyZSBub3QgZm9sbG93ZWQgYnkKLSAgIGEgY2hlY2sgdG8gbWFrZSBzdXJlIGl0IGRpZG4ndCByZXR1cm4gTlVMTC4KLQotICAgU1RBVFVTOiBUaGlzIG9ubHkgc2VlbXMgdG8gbWF0dGVyIGlmIHRoZSB1c2VyIGlzIHVzaW5nIGEgY3VzdG9tCi0gICBtYWxsb2NfZm4oKSB0aGF0IHJldHVybnMgTlVMTC4gIEluIGxpYnBuZy0xLjAuMTFyYzEgdGhlIHJldHVybiBmcm9tCi0gICBtYWxsb2NfZm4oKSB3aWxsIGJlIGNoZWNrZWQgZm9yIE5VTEwgYW5kIHBuZ19lcnJvcigpIGlzc3VlZCBpZiBvbmUKLSAgIGlzIGZvdW5kLgorICAgU1RBVFVTOiBVbmRlciBpbnZlc3RpZ2F0aW9uLgpkaWZmIC0tZ2l0IGEvTElDRU5TRSBiL0xJQ0VOU0UKaW5kZXggNTQ0YzUzNi4uNjhmNzM4MSAxMDA2NDQKLS0tIGEvTElDRU5TRQorKysgYi9MSUNFTlNFCkBAIC04LDcgKzgsNyBAQAogSWYgeW91IG1vZGlmeSBsaWJwbmcgeW91IG1heSBpbnNlcnQgYWRkaXRpb25hbCBub3RpY2VzIGltbWVkaWF0ZWx5IGZvbGxvd2luZwogdGhpcyBzZW50ZW5jZS4KIAotbGlicG5nIHZlcnNpb25zIDEuMC43LCBKdWx5IDEsIDIwMDAsIHRocm91Z2ggMS4wLjExcmMxLCBBcHJpbCAyMCwgMjAwMSwgYXJlCitsaWJwbmcgdmVyc2lvbnMgMS4wLjcsIEp1bHkgMSwgMjAwMCwgdGhyb3VnaCAxLjAuMTEsIEFwcmlsIDI3LCAyMDAxLCBhcmUKIENvcHlyaWdodCAoYykgMjAwMCwgMjAwMSBHbGVubiBSYW5kZXJzLVBlaHJzb24KIGFuZCBhcmUgZGlzdHJpYnV0ZWQgYWNjb3JkaW5nIHRvIHRoZSBzYW1lIGRpc2NsYWltZXIgYW5kIGxpY2Vuc2UgYXMgbGlicG5nLTEuMC42CiB3aXRoIHRoZSBmb2xsb3dpbmcgaW5kaXZpZHVhbHMgYWRkZWQgdG8gdGhlIGxpc3Qgb2YgQ29udHJpYnV0aW5nIEF1dGhvcnMKQEAgLTk5LDQgKzk5LDQgQEAKIAogR2xlbm4gUmFuZGVycy1QZWhyc29uCiByYW5kZWdAYWx1bS5ycGkuZWR1Ci1BcHJpbCAyMCwgMjAwMQorQXByaWwgMjcsIDIwMDEKZGlmZiAtLWdpdCBhL1JFQURNRSBiL1JFQURNRQppbmRleCAzMjAyODRjLi4zNjkyYmZiIDEwMDY0NAotLS0gYS9SRUFETUUKKysrIGIvUkVBRE1FCkBAIC0xLDQgKzEsNCBAQAotUkVBRE1FIGZvciBsaWJwbmcgMS4wLjExcmMxIC0gQXByaWwgMjAsIDIwMDEgKHNoYXJlZCBsaWJyYXJ5IDIuMSkKK1JFQURNRSBmb3IgbGlicG5nIDEuMC4xMSAtIEFwcmlsIDI3LCAyMDAxIChzaGFyZWQgbGlicmFyeSAyLjEpCiBTZWUgdGhlIG5vdGUgYWJvdXQgdmVyc2lvbiBudW1iZXJzIG5lYXIgdGhlIHRvcCBvZiBwbmcuaAogCiBTZWUgSU5TVEFMTCBmb3IgaW5zdHJ1Y3Rpb25zIG9uIGhvdyB0byBpbnN0YWxsIGxpYnBuZy4KQEAgLTE4Myw5ICsxODMsOSBAQAogICAgICAgIGRlc2NyaXAubW1zICAgICAgPT4gIFZNUyBtYWtlZmlsZSBmb3IgTU1TIG9yIE1NSwogICAgICAgIG1ha2VmaWxlLnN0ZCAgICAgPT4gIEdlbmVyaWMgVU5JWCBtYWtlZmlsZSAoY2MsIGNyZWF0ZXMgc3RhdGljIGxpYnBuZy5hKQogICAgICAgIG1ha2VmaWxlLmxpbnV4ICAgPT4gIExpbnV4L0VMRiBtYWtlZmlsZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIChnY2MsIGNyZWF0ZXMgbGlicG5nLnNvLjIuMS4wLjExcmMxKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChnY2MsIGNyZWF0ZXMgbGlicG5nLnNvLjIuMS4wLjExKQogICAgICAgIG1ha2VmaWxlLmdjbW14ICAgPT4gIExpbnV4L0VMRiBtYWtlZmlsZSAoZ2NjLCBjcmVhdGVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlicG5nLnNvLjIuMS4wLjExcmMxLCB1c2VzIGFzc2VtYmxlciBjb2RlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlicG5nLnNvLjIuMS4wLjExLCB1c2VzIGFzc2VtYmxlciBjb2RlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVuZWQgZm9yIEludGVsIE1NWCBwbGF0Zm9ybSkKICAgICAgICBtYWtlZmlsZS5nY2MgICAgID0+ICBHZW5lcmljIG1ha2VmaWxlIChnY2MsIGNyZWF0ZXMgc3RhdGljIGxpYnBuZy5hKQogICAgICAgIG1ha2VmaWxlLmtuciAgICAgPT4gIEFyY2hhaWMgVU5JWCBNYWtlZmlsZSB0aGF0IGNvbnZlcnRzIGZpbGVzIHdpdGgKQEAgLTIwMiwxMCArMjAyLDEwIEBACiAgICAgICAgbWFrZWZpbGUubWFjb3N4ICA9PiAgTUFDT1MgWCBNYWtlZmlsZQogICAgICAgIG1ha2VmaWxlLm5ldGJzZCAgPT4gIE5ldEJTRC9jYyBtYWtlZmlsZSwgdXNlcyBQTkdHQ0NSRAogICAgICAgIG1ha2VmaWxlLnNnaSAgICAgPT4gIFNpbGljb24gR3JhcGhpY3MgSVJJWCAoY2MsIGNyZWF0ZXMgc3RhdGljIGxpYikKLSAgICAgICBtYWtlZmlsZS5zZ2djYyAgID0+ICBTaWxpY29uIEdyYXBoaWNzIChnY2MsIGNyZWF0ZXMgbGlicG5nLnNvLjIuMS4wLjExcmMxKQorICAgICAgIG1ha2VmaWxlLnNnZ2NjICAgPT4gIFNpbGljb24gR3JhcGhpY3MgKGdjYywgY3JlYXRlcyBsaWJwbmcuc28uMi4xLjAuMTEpCiAgICAgICAgbWFrZWZpbGUuc3Vub3MgICA9PiAgU3VuIG1ha2VmaWxlCiAgICAgICAgbWFrZWZpbGUuc29sYXJpcyA9PiAgU29sYXJpcyAyLlggbWFrZWZpbGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZ2NjLCBjcmVhdGVzIGxpYnBuZy5zby4yLjEuMC4xMXJjMSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZ2NjLCBjcmVhdGVzIGxpYnBuZy5zby4yLjEuMC4xMSkKICAgICAgICBtYWtlZmlsZS5zY28gICAgID0+ICBGb3IgU0NPIE9TcjUgIEVMRiBhbmQgVW5peHdhcmUgNyB3aXRoIE5hdGl2ZSBjYwogICAgICAgIG1ha2VmaWxlLm1pcHMgICAgPT4gIE1JUFMgbWFrZWZpbGUKICAgICAgICBtYWtlZmlsZS5hY29ybiAgID0+ICBBY29ybiBtYWtlZmlsZQpkaWZmIC0tZ2l0IGEvWTJLSU5GTyBiL1kyS0lORk8KaW5kZXggOTA5ZjA0OC4uODRmZWVkMiAxMDA2NDQKLS0tIGEvWTJLSU5GTworKysgYi9ZMktJTkZPCkBAIC0xLDEzICsxLDEzIEBACiAgICBZMksgY29tcGxpYW5jZSBpbiBsaWJwbmc6CiAgICA9PT09PT09PT09PT09PT09PT09PT09PT09CiAKLSAgICAgIEFwcmlsIDIwLCAyMDAxCisgICAgICBBcHJpbCAyNywgMjAwMQogCiAgICAgICBTaW5jZSB0aGUgUE5HIERldmVsb3BtZW50IGdyb3VwIGlzIGFuIGFkLWhvYyBib2R5LCB3ZSBjYW4ndCBtYWtlCiAgICAgICBhbiBvZmZpY2lhbCBkZWNsYXJhdGlvbi4KIAogICAgICAgVGhpcyBpcyB5b3VyIHVub2ZmaWNpYWwgYXNzdXJhbmNlIHRoYXQgbGlicG5nIGZyb20gdmVyc2lvbiAwLjcxIGFuZAotICAgICAgdXB3YXJkIHRocm91Z2ggMS4wLjExcmMxIGFyZSBZMksgY29tcGxpYW50LiAgSXQgaXMgbXkgYmVsaWVmIHRoYXQgZWFybGllcgorICAgICAgdXB3YXJkIHRocm91Z2ggMS4wLjExIGFyZSBZMksgY29tcGxpYW50LiAgSXQgaXMgbXkgYmVsaWVmIHRoYXQgZWFybGllcgogICAgICAgdmVyc2lvbnMgd2VyZSBhbHNvIFkySyBjb21wbGlhbnQuCiAKICAgICAgIExpYnBuZyBvbmx5IGhhcyB0aHJlZSB5ZWFyIGZpZWxkcy4gIE9uZSBpcyBhIDItYnl0ZSB1bnNpZ25lZCBpbnRlZ2VyCmRpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUKaW5kZXggZDhiYjkxMi4uYTRlZmYwZiAxMDA3NTUKLS0tIGEvY29uZmlndXJlCisrKyBiL2NvbmZpZ3VyZQpAQCAtMSw1ICsxLDUgQEAKIGVjaG8gIgotICBUaGVyZSBpcyBubyBcImNvbmZpZ3VyZVwiIHNjcmlwdCBmb3IgTGlicG5nLTEuMC4xMXJjMS4gIEluc3RlYWQsIHBsZWFzZQorICBUaGVyZSBpcyBubyBcImNvbmZpZ3VyZVwiIHNjcmlwdCBmb3IgTGlicG5nLTEuMC4xMS4gIEluc3RlYWQsIHBsZWFzZQogICBjb3B5IHRoZSBhcHByb3ByaWF0ZSBtYWtlZmlsZSBmb3IgeW91ciBzeXN0ZW0gZnJvbSB0aGUgXCJzY3JpcHRzXCIKICAgZGlyZWN0b3J5LiAgUmVhZCB0aGUgSU5TVEFMTCBmaWxlIGZvciBtb3JlIGRldGFpbHMuCiAiCmRpZmYgLS1naXQgYS9saWJwbmcuMyBiL2xpYnBuZy4zCmluZGV4IDU4ZTZlNTcuLjE3MGEzODQgMTAwNjQ0Ci0tLSBhL2xpYnBuZy4zCisrKyBiL2xpYnBuZy4zCkBAIC0xLDYgKzEsNiBAQAotLlRIIExJQlBORyAzICJBcHJpbCAyMCwgMjAwMSIKKy5USCBMSUJQTkcgMyAiQXByaWwgMjcsIDIwMDEiCiAuU0ggTkFNRQotbGlicG5nIFwtIFBvcnRhYmxlIE5ldHdvcmsgR3JhcGhpY3MgKFBORykgUmVmZXJlbmNlIExpYnJhcnkgMS4wLjExcmMxCitsaWJwbmcgXC0gUG9ydGFibGUgTmV0d29yayBHcmFwaGljcyAoUE5HKSBSZWZlcmVuY2UgTGlicmFyeSAxLjAuMTEKIC5TSCBTWU5PUFNJUwogXGZJXGZCCiAKQEAgLTc0Nyw3ICs3NDcsNyBAQAogLlNIIExJQlBORy5UWFQKIGxpYnBuZy50eHQgLSBBIGRlc2NyaXB0aW9uIG9uIGhvdyB0byB1c2UgYW5kIG1vZGlmeSBsaWJwbmcKIAotIGxpYnBuZyB2ZXJzaW9uIDEuMC4xMXJjMSAtIEFwcmlsIDIwLCAyMDAxCisgbGlicG5nIHZlcnNpb24gMS4wLjExIC0gQXByaWwgMjcsIDIwMDEKICBVcGRhdGVkIGFuZCBkaXN0cmlidXRlZCBieSBHbGVubiBSYW5kZXJzLVBlaHJzb24KICA8cmFuZGVnQGFsdW0ucnBpLmVkdT4KICBDb3B5cmlnaHQgKGMpIDE5OTgsIDE5OTksIDIwMDAgR2xlbm4gUmFuZGVycy1QZWhyc29uCkBAIC0zNDY4LDEzICszNDY4LDEzIEBACiAKIC5TSCBWSUlJLiBZMksgQ29tcGxpYW5jZSBpbiBsaWJwbmcKIAotQXByaWwgMjAsIDIwMDEKK0FwcmlsIDI3LCAyMDAxCiAKIFNpbmNlIHRoZSBQTkcgRGV2ZWxvcG1lbnQgZ3JvdXAgaXMgYW4gYWQtaG9jIGJvZHksIHdlIGNhbid0IG1ha2UKIGFuIG9mZmljaWFsIGRlY2xhcmF0aW9uLgogCiBUaGlzIGlzIHlvdXIgdW5vZmZpY2lhbCBhc3N1cmFuY2UgdGhhdCBsaWJwbmcgZnJvbSB2ZXJzaW9uIDAuNzEgYW5kCi11cHdhcmQgdGhyb3VnaCAxLjAuMTFyYzEgYXJlIFkySyBjb21wbGlhbnQuICBJdCBpcyBteSBiZWxpZWYgdGhhdCBlYXJsaWVyCit1cHdhcmQgdGhyb3VnaCAxLjAuMTEgYXJlIFkySyBjb21wbGlhbnQuICBJdCBpcyBteSBiZWxpZWYgdGhhdCBlYXJsaWVyCiB2ZXJzaW9ucyB3ZXJlIGFsc28gWTJLIGNvbXBsaWFudC4KIAogTGlicG5nIG9ubHkgaGFzIHRocmVlIHllYXIgZmllbGRzLiAgT25lIGlzIGEgMi1ieXRlIHVuc2lnbmVkIGludGVnZXIgdGhhdApAQCAtMzU4NSw2ICszNTg1LDcgQEAKICAxLjAuMTAgICAgICAgICAgICAgICAxICAgIDEwMDEwICAyLjEuMC4xMAogIDEuMC4xMWJldGExLTMgICAgICAgIDEgICAgMTAwMTEgIDIuMS4wLjExYmV0YTEtMwogIDEuMC4xMXJjMSAgICAgICAgICAgIDEgICAgMTAwMTEgIDIuMS4wLjExcmMxCisgMS4wLjExICAgICAgICAgICAgICAgMSAgICAxMDAxMSAgMi4xLjAuMTEKIAogSGVuY2Vmb3J0aCB0aGUgc291cmNlIHZlcnNpb24gd2lsbCBtYXRjaCB0aGUgc2hhcmVkLWxpYnJhcnkgbWlub3IKIGFuZCBwYXRjaCBudW1iZXJzOyB0aGUgc2hhcmVkLWxpYnJhcnkgbWFqb3IgdmVyc2lvbiBudW1iZXIgd2lsbCBiZQpAQCAtMzY0Miw3ICszNjQzLDcgQEAKIAogVGhhbmtzIHRvIEZyYW5rIEouIFQuIFdvamNpayBmb3IgaGVscGluZyB3aXRoIHRoZSBkb2N1bWVudGF0aW9uLgogCi1MaWJwbmcgdmVyc2lvbiAxLjAuMTFyYzEgLSBBcHJpbCAyMCwgMjAwMToKK0xpYnBuZyB2ZXJzaW9uIDEuMC4xMSAtIEFwcmlsIDI3LCAyMDAxOgogSW5pdGlhbGx5IGNyZWF0ZWQgaW4gMTk5NSBieSBHdXkgRXJpYyBTY2hhbG5hdCwgdGhlbiBvZiBHcm91cCA0MiwgSW5jLgogQ3VycmVudGx5IG1haW50YWluZWQgYnkgR2xlbm4gUmFuZGVycy1QZWhyc29uIChyYW5kZWdAYWx1bS5ycGkuZWR1KS4KIApAQCAtMzY1OSw3ICszNjYwLDcgQEAKIElmIHlvdSBtb2RpZnkgbGlicG5nIHlvdSBtYXkgaW5zZXJ0IGFkZGl0aW9uYWwgbm90aWNlcyBpbW1lZGlhdGVseSBmb2xsb3dpbmcKIHRoaXMgc2VudGVuY2UuCiAKLWxpYnBuZyB2ZXJzaW9ucyAxLjAuNywgSnVseSAxLCAyMDAwLCB0aHJvdWdoICAxLjAuMTFyYzEsIEFwcmlsIDIwLCAyMDAxLCBhcmUKK2xpYnBuZyB2ZXJzaW9ucyAxLjAuNywgSnVseSAxLCAyMDAwLCB0aHJvdWdoICAxLjAuMTEsIEFwcmlsIDI3LCAyMDAxLCBhcmUKIENvcHlyaWdodCAoYykgMjAwMC0yMDAxIEdsZW5uIFJhbmRlcnMtUGVocnNvbiwgYW5kIGFyZQogZGlzdHJpYnV0ZWQgYWNjb3JkaW5nIHRvIHRoZSBzYW1lIGRpc2NsYWltZXIgYW5kIGxpY2Vuc2UgYXMgbGlicG5nLTEuMC42CiB3aXRoIHRoZSBmb2xsb3dpbmcgaW5kaXZpZHVhbHMgYWRkZWQgdG8gdGhlIGxpc3Qgb2YgQ29udHJpYnV0aW5nIEF1dGhvcnMKQEAgLTM3NTEsNyArMzc1Miw3IEBACiAKIEdsZW5uIFJhbmRlcnMtUGVocnNvbgogcmFuZGVnQGFsdW0ucnBpLmVkdQotQXByaWwgMjAsIDIwMDEKK0FwcmlsIDI3LCAyMDAxCiAKIC5cIiBlbmQgb2YgbWFuIHBhZ2UKIApkaWZmIC0tZ2l0IGEvbGlicG5nLnR4dCBiL2xpYnBuZy50eHQKaW5kZXggYzAzMzBiMi4uZDdmNzY2ZSAxMDA2NDQKLS0tIGEvbGlicG5nLnR4dAorKysgYi9saWJwbmcudHh0CkBAIC0xLDYgKzEsNiBAQAogbGlicG5nLnR4dCAtIEEgZGVzY3JpcHRpb24gb24gaG93IHRvIHVzZSBhbmQgbW9kaWZ5IGxpYnBuZwogCi0gbGlicG5nIHZlcnNpb24gMS4wLjExcmMxIC0gQXByaWwgMjAsIDIwMDEKKyBsaWJwbmcgdmVyc2lvbiAxLjAuMTEgLSBBcHJpbCAyNywgMjAwMQogIFVwZGF0ZWQgYW5kIGRpc3RyaWJ1dGVkIGJ5IEdsZW5uIFJhbmRlcnMtUGVocnNvbgogIDxyYW5kZWdAYWx1bS5ycGkuZWR1PgogIENvcHlyaWdodCAoYykgMTk5OCwgMTk5OSwgMjAwMCBHbGVubiBSYW5kZXJzLVBlaHJzb24KQEAgLTI3MjEsMTMgKzI3MjEsMTMgQEAKIAogVklJSS4gWTJLIENvbXBsaWFuY2UgaW4gbGlicG5nCiAKLUFwcmlsIDIwLCAyMDAxCitBcHJpbCAyNywgMjAwMQogCiBTaW5jZSB0aGUgUE5HIERldmVsb3BtZW50IGdyb3VwIGlzIGFuIGFkLWhvYyBib2R5LCB3ZSBjYW4ndCBtYWtlCiBhbiBvZmZpY2lhbCBkZWNsYXJhdGlvbi4KIAogVGhpcyBpcyB5b3VyIHVub2ZmaWNpYWwgYXNzdXJhbmNlIHRoYXQgbGlicG5nIGZyb20gdmVyc2lvbiAwLjcxIGFuZAotdXB3YXJkIHRocm91Z2ggMS4wLjExcmMxIGFyZSBZMksgY29tcGxpYW50LiAgSXQgaXMgbXkgYmVsaWVmIHRoYXQgZWFybGllcgordXB3YXJkIHRocm91Z2ggMS4wLjExIGFyZSBZMksgY29tcGxpYW50LiAgSXQgaXMgbXkgYmVsaWVmIHRoYXQgZWFybGllcgogdmVyc2lvbnMgd2VyZSBhbHNvIFkySyBjb21wbGlhbnQuCiAKIExpYnBuZyBvbmx5IGhhcyB0aHJlZSB5ZWFyIGZpZWxkcy4gIE9uZSBpcyBhIDItYnl0ZSB1bnNpZ25lZCBpbnRlZ2VyIHRoYXQKZGlmZiAtLWdpdCBhL2xpYnBuZ3BmLjMgYi9saWJwbmdwZi4zCmluZGV4IDc4MTM0MTMuLmJkNzMyNWUgMTAwNjQ0Ci0tLSBhL2xpYnBuZ3BmLjMKKysrIGIvbGlicG5ncGYuMwpAQCAtMSw2ICsxLDYgQEAKLS5USCBMSUJQTkdQRiAzICJBcHJpbCAyMCwgMjAwMSIKKy5USCBMSUJQTkdQRiAzICJBcHJpbCAyNywgMjAwMSIKIC5TSCBOQU1FCi1saWJwbmcgXC0gUG9ydGFibGUgTmV0d29yayBHcmFwaGljcyAoUE5HKSBSZWZlcmVuY2UgTGlicmFyeSAxLjAuMTFyYzEKK2xpYnBuZyBcLSBQb3J0YWJsZSBOZXR3b3JrIEdyYXBoaWNzIChQTkcpIFJlZmVyZW5jZSBMaWJyYXJ5IDEuMC4xMQogKHByaXZhdGUgZnVuY3Rpb25zKQogLlNIIFNZTk9QU0lTCiBcZkIjaW5jbHVkZSA8cG5nLmg+XGZQCmRpZmYgLS1naXQgYS9wbmcuNSBiL3BuZy41CmluZGV4IGMzYjY1OWMuLmM5ZWFlYmMgMTAwNjQ0Ci0tLSBhL3BuZy41CisrKyBiL3BuZy41CkBAIC0xLDQgKzEsNCBAQAotLlRIIFBORyA1ICJBcHJpbCAyMCwgMjAwMSIKKy5USCBQTkcgNSAiQXByaWwgMjcsIDIwMDEiCiAuU0ggTkFNRQogcG5nIFwtIFBvcnRhYmxlIE5ldHdvcmsgR3JhcGhpY3MgKFBORykgZm9ybWF0CiAuU0ggREVTQ1JJUFRJT04KZGlmZiAtLWdpdCBhL3BuZy5jIGIvcG5nLmMKaW5kZXggZjFjZDNmMy4uZTJjZjBiNyAxMDA2NDQKLS0tIGEvcG5nLmMKKysrIGIvcG5nLmMKQEAgLTEsNyArMSw3IEBACiAKIC8qIHBuZy5jIC0gbG9jYXRpb24gZm9yIGdlbmVyYWwgcHVycG9zZSBsaWJwbmcgZnVuY3Rpb25zCiAgKgotICogbGlicG5nIHZlcnNpb24gMS4wLjExcmMxIC0gQXByaWwgMjAsIDIwMDEKKyAqIGxpYnBuZyB2ZXJzaW9uIDEuMC4xMSAtIEFwcmlsIDI3LCAyMDAxCiAgKiBDb3B5cmlnaHQgKGMpIDE5OTgtMjAwMSBHbGVubiBSYW5kZXJzLVBlaHJzb24KICAqIChWZXJzaW9uIDAuOTYgQ29weXJpZ2h0IChjKSAxOTk2LCAxOTk3IEFuZHJlYXMgRGlsZ2VyKQogICogKFZlcnNpb24gMC44OCBDb3B5cmlnaHQgKGMpIDE5OTUsIDE5OTYgR3V5IEVyaWMgU2NoYWxuYXQsIEdyb3VwIDQyLCBJbmMuKQpAQCAtMTMsMTQgKzEzLDE0IEBACiAjaW5jbHVkZSAicG5nLmgiCiAKIC8qIEdlbmVyYXRlIGEgY29tcGlsZXIgZXJyb3IgaWYgdGhlcmUgaXMgYW4gb2xkIHBuZy5oIGluIHRoZSBzZWFyY2ggcGF0aC4gKi8KLXR5cGVkZWYgdmVyc2lvbl8xXzBfMTFyYzEgWW91cl9wbmdfaF9pc19ub3RfdmVyc2lvbl8xXzBfMTFyYzE7Cit0eXBlZGVmIHZlcnNpb25fMV8wXzExIFlvdXJfcG5nX2hfaXNfbm90X3ZlcnNpb25fMV8wXzExOwogCiAvKiBWZXJzaW9uIGluZm9ybWF0aW9uIGZvciBDIGZpbGVzLiAgVGhpcyBoYWQgYmV0dGVyIG1hdGNoIHRoZSB2ZXJzaW9uCiAgKiBzdHJpbmcgZGVmaW5lZCBpbiBwbmcuaC4gICovCiAKICNpZmRlZiBQTkdfVVNFX0dMT0JBTF9BUlJBWVMKIC8qIHBuZ19saWJwbmdfdmVyIHdhcyBjaGFuZ2VkIHRvIGEgZnVuY3Rpb24gaW4gdmVyc2lvbiAxLjAuNWMgKi8KLWNvbnN0IGNoYXIgcG5nX2xpYnBuZ192ZXJbMThdID0gIjEuMC4xMXJjMSI7Citjb25zdCBjaGFyIHBuZ19saWJwbmdfdmVyWzE4XSA9ICIxLjAuMTEiOwogCiAvKiBwbmdfc2lnIHdhcyBjaGFuZ2VkIHRvIGEgZnVuY3Rpb24gaW4gdmVyc2lvbiAxLjAuNWMgKi8KIC8qIFBsYWNlIHRvIGhvbGQgdGhlIHNpZ25hdHVyZSBzdHJpbmcgZm9yIGEgUE5HIGZpbGUuICovCkBAIC02MjcsNyArNjI3LDcgQEAKIHBuZ19nZXRfY29weXJpZ2h0KHBuZ19zdHJ1Y3RwIHBuZ19wdHIpCiB7CiAgICBpZiAocG5nX3B0ciAhPSBOVUxMIHx8IHBuZ19wdHIgPT0gTlVMTCkgIC8qIHNpbGVuY2UgY29tcGlsZXIgd2FybmluZyAqLwotICAgcmV0dXJuICgocG5nX2NoYXJwKSAiXG4gbGlicG5nIHZlcnNpb24gMS4wLjExcmMxIC0gQXByaWwgMjAsIDIwMDFcblwKKyAgIHJldHVybiAoKHBuZ19jaGFycCkgIlxuIGxpYnBuZyB2ZXJzaW9uIDEuMC4xMSAtIEFwcmlsIDI3LCAyMDAxXG5cCiAgICBDb3B5cmlnaHQgKGMpIDE5OTgtMjAwMSBHbGVubiBSYW5kZXJzLVBlaHJzb25cblwKICAgIENvcHlyaWdodCAoYykgMTk5NiwgMTk5NyBBbmRyZWFzIERpbGdlclxuXAogICAgQ29weXJpZ2h0IChjKSAxOTk1LCAxOTk2IEd1eSBFcmljIFNjaGFsbmF0LCBHcm91cCA0MiwgSW5jLlxuIik7CkBAIC02NDUsOCArNjQ1LDggQEAKIHsKICAgIC8qIFZlcnNpb24gb2YgKi5jIGZpbGVzIHVzZWQgd2hlbiBidWlsZGluZyBsaWJwbmcgKi8KICAgIGlmKHBuZ19wdHIgIT0gTlVMTCkgLyogc2lsZW5jZSBjb21waWxlciB3YXJuaW5nIGFib3V0IHVudXNlZCBwbmdfcHRyICovCi0gICAgICByZXR1cm4oKHBuZ19jaGFycCkgIjEuMC4xMXJjMSIpOwotICAgcmV0dXJuKChwbmdfY2hhcnApICIxLjAuMTFyYzEiKTsKKyAgICAgIHJldHVybigocG5nX2NoYXJwKSAiMS4wLjExIik7CisgICByZXR1cm4oKHBuZ19jaGFycCkgIjEuMC4xMSIpOwogfQogCiBwbmdfY2hhcnAgUE5HQVBJCmRpZmYgLS1naXQgYS9wbmcuaCBiL3BuZy5oCmluZGV4IDhlODUwODMuLmE4ZmM0MGMgMTAwNjQ0Ci0tLSBhL3BuZy5oCisrKyBiL3BuZy5oCkBAIC0xLDcgKzEsNyBAQAogCiAvKiBwbmcuaCAtIGhlYWRlciBmaWxlIGZvciBQTkcgcmVmZXJlbmNlIGxpYnJhcnkKICAqCi0gKiBsaWJwbmcgdmVyc2lvbiAxLjAuMTFyYzEgLSBBcHJpbCAyMCwgMjAwMQorICogbGlicG5nIHZlcnNpb24gMS4wLjExIC0gQXByaWwgMjcsIDIwMDEKICAqIENvcHlyaWdodCAoYykgMTk5OC0yMDAxIEdsZW5uIFJhbmRlcnMtUGVocnNvbgogICogKFZlcnNpb24gMC45NiBDb3B5cmlnaHQgKGMpIDE5OTYsIDE5OTcgQW5kcmVhcyBEaWxnZXIpCiAgKiAoVmVyc2lvbiAwLjg4IENvcHlyaWdodCAoYykgMTk5NSwgMTk5NiBHdXkgRXJpYyBTY2hhbG5hdCwgR3JvdXAgNDIsIEluYy4pCkBAIC05LDcgKzksNyBAQAogICogQXV0aG9ycyBhbmQgbWFpbnRhaW5lcnM6CiAgKiAgbGlicG5nIHZlcnNpb25zIDAuNzEsIE1heSAxOTk1LCB0aHJvdWdoIDAuODgsIEphbnVhcnkgMTk5NjogR3V5IFNjaGFsbmF0CiAgKiAgbGlicG5nIHZlcnNpb25zIDAuODljLCBKdW5lIDE5OTYsIHRocm91Z2ggMC45NiwgTWF5IDE5OTc6IEFuZHJlYXMgRGlsZ2VyCi0gKiAgbGlicG5nIHZlcnNpb25zIDAuOTcsIEphbnVhcnkgMTk5OCwgdGhyb3VnaCAxLjAuMTFyYzEgLSBBcHJpbCAyMCwgMjAwMTogR2xlbm4KKyAqICBsaWJwbmcgdmVyc2lvbnMgMC45NywgSmFudWFyeSAxOTk4LCB0aHJvdWdoIDEuMC4xMSAtIEFwcmlsIDI3LCAyMDAxOiBHbGVubgogICogIFNlZSBhbHNvICJDb250cmlidXRpbmcgQXV0aG9ycyIsIGJlbG93LgogICoKICAqIE5vdGUgYWJvdXQgbGlicG5nIHZlcnNpb24gbnVtYmVyczoKQEAgLTY5LDYgKzY5LDcgQEAKICAqICAgIDEuMC4xMCAgICAgICAgICAgICAgICAgICAxICAgIDEwMDEwICAyLjEuMC4xMAogICogICAgMS4wLjExYmV0YTEtMyAgICAgICAgICAgIDEgICAgMTAwMTEgIDIuMS4wLjExYmV0YTEtMwogICogICAgMS4wLjExcmMxICAgICAgICAgICAgICAgIDEgICAgMTAwMTEgIDIuMS4wLjExcmMxCisgKiAgICAxLjAuMTEgICAgICAgICAgICAgICAgICAgMSAgICAxMDAxMSAgMi4xLjAuMTEKICAqCiAgKiAgICBIZW5jZWZvcnRoIHRoZSBzb3VyY2UgdmVyc2lvbiB3aWxsIG1hdGNoIHRoZSBzaGFyZWQtbGlicmFyeSBtYWpvcgogICogICAgYW5kIG1pbm9yIG51bWJlcnM7IHRoZSBzaGFyZWQtbGlicmFyeSBtYWpvciB2ZXJzaW9uIG51bWJlciB3aWxsIGJlCkBAIC05OCw3ICs5OSw3IEBACiAgKiBJZiB5b3UgbW9kaWZ5IGxpYnBuZyB5b3UgbWF5IGluc2VydCBhZGRpdGlvbmFsIG5vdGljZXMgaW1tZWRpYXRlbHkgZm9sbG93aW5nCiAgKiB0aGlzIHNlbnRlbmNlLgogICoKLSAqIGxpYnBuZyB2ZXJzaW9ucyAxLjAuNywgSnVseSAxLCAyMDAwLCB0aHJvdWdoICAxLjAuMTFyYzEsIEFwcmlsIDIwLCAyMDAxLCBhcmUKKyAqIGxpYnBuZyB2ZXJzaW9ucyAxLjAuNywgSnVseSAxLCAyMDAwLCB0aHJvdWdoICAxLjAuMTEsIEFwcmlsIDI3LCAyMDAxLCBhcmUKICAqIENvcHlyaWdodCAoYykgMjAwMCwgMjAwMSBHbGVubiBSYW5kZXJzLVBlaHJzb24sIGFuZCBhcmUKICAqIGRpc3RyaWJ1dGVkIGFjY29yZGluZyB0byB0aGUgc2FtZSBkaXNjbGFpbWVyIGFuZCBsaWNlbnNlIGFzIGxpYnBuZy0xLjAuNgogICogd2l0aCB0aGUgZm9sbG93aW5nIGluZGl2aWR1YWxzIGFkZGVkIHRvIHRoZSBsaXN0IG9mIENvbnRyaWJ1dGluZyBBdXRob3JzCkBAIC0yMDMsMTMgKzIwNCwxMyBAQAogICogWTJLIGNvbXBsaWFuY2UgaW4gbGlicG5nOgogICogPT09PT09PT09PT09PT09PT09PT09PT09PQogICoKLSAqICAgIEFwcmlsIDIwLCAyMDAxCisgKiAgICBBcHJpbCAyNywgMjAwMQogICoKICAqICAgIFNpbmNlIHRoZSBQTkcgRGV2ZWxvcG1lbnQgZ3JvdXAgaXMgYW4gYWQtaG9jIGJvZHksIHdlIGNhbid0IG1ha2UKICAqICAgIGFuIG9mZmljaWFsIGRlY2xhcmF0aW9uLgogICoKICAqICAgIFRoaXMgaXMgeW91ciB1bm9mZmljaWFsIGFzc3VyYW5jZSB0aGF0IGxpYnBuZyBmcm9tIHZlcnNpb24gMC43MSBhbmQKLSAqICAgIHVwd2FyZCB0aHJvdWdoIDEuMC4xMXJjMSBhcmUgWTJLIGNvbXBsaWFudC4gIEl0IGlzIG15IGJlbGllZiB0aGF0IGVhcmxpZXIKKyAqICAgIHVwd2FyZCB0aHJvdWdoIDEuMC4xMSBhcmUgWTJLIGNvbXBsaWFudC4gIEl0IGlzIG15IGJlbGllZiB0aGF0IGVhcmxpZXIKICAqICAgIHZlcnNpb25zIHdlcmUgYWxzbyBZMksgY29tcGxpYW50LgogICoKICAqICAgIExpYnBuZyBvbmx5IGhhcyB0aHJlZSB5ZWFyIGZpZWxkcy4gIE9uZSBpcyBhIDItYnl0ZSB1bnNpZ25lZCBpbnRlZ2VyCkBAIC0yNjUsNyArMjY2LDcgQEAKICAqLwogCiAvKiBWZXJzaW9uIGluZm9ybWF0aW9uIGZvciBwbmcuaCAtIHRoaXMgc2hvdWxkIG1hdGNoIHRoZSB2ZXJzaW9uIGluIHBuZy5jICovCi0jZGVmaW5lIFBOR19MSUJQTkdfVkVSX1NUUklORyAiMS4wLjExcmMxIgorI2RlZmluZSBQTkdfTElCUE5HX1ZFUl9TVFJJTkcgIjEuMC4xMSIKIAogI2RlZmluZSBQTkdfTElCUE5HX1ZFUl9TT05VTSAgIDIKICNkZWZpbmUgUE5HX0xJQlBOR19WRVJfRExMTlVNICAlRExMTlVNJQpAQCAtMjc3LDcgKzI3OCw3IEBACiAvKiBUaGlzIHNob3VsZCBtYXRjaCB0aGUgbnVtZXJpYyBwYXJ0IG9mIHRoZSBmaW5hbCBjb21wb25lbnQgb2YKICAqIFBOR19MSUJQTkdfVkVSX1NUUklORywgb21pdHRpbmcgYW55IGxlYWRpbmcgemVybzogKi8KIAotI2RlZmluZSBQTkdfTElCUE5HX1ZFUl9CVUlMRCAgMQorI2RlZmluZSBQTkdfTElCUE5HX1ZFUl9CVUlMRCAgMAogCiAjZGVmaW5lIFBOR19MSUJQTkdfQlVJTERfQUxQSEEgICAgMQogI2RlZmluZSBQTkdfTElCUE5HX0JVSUxEX0JFVEEgICAgIDIKQEAgLTI4NSw3ICsyODYsNyBAQAogI2RlZmluZSBQTkdfTElCUE5HX0JVSUxEX1NUQUJMRSAgIDQKICNkZWZpbmUgUE5HX0xJQlBOR19CVUlMRF9UWVBFTUFTSyA3CiAjZGVmaW5lIFBOR19MSUJQTkdfQlVJTERfUEFUQ0ggICAgOCAvKiBDYW4gYmUgT1InZWQgd2l0aCBTVEFCTEUgb25seSAqLwotI2RlZmluZSBQTkdfTElCUE5HX0JVSUxEX1RZUEUgMworI2RlZmluZSBQTkdfTElCUE5HX0JVSUxEX1RZUEUgNAogCiAvKiBDYXJlZnVsIGhlcmUuICBBdCBvbmUgdGltZSwgR3V5IHdhbnRlZCB0byB1c2UgMDgyLCBidXQgdGhhdCB3b3VsZCBiZSBvY3RhbC4KICAqIFdlIG11c3Qgbm90IGluY2x1ZGUgbGVhZGluZyB6ZXJvcy4KQEAgLTExODYsOSArMTE4Nyw5IEBACiAKIAogLyogVGhpcyBwcmV2ZW50cyBhIGNvbXBpbGVyIGVycm9yIGluIHBuZ19nZXRfY29weXJpZ2h0KCkgaW4gcG5nLmMgaWYgcG5nLmMKLWFuZCBwbmcuaCBhcmUgYm90aCBhdCAqIHZlcnNpb24gMS4wLjExcmMxCithbmQgcG5nLmggYXJlIGJvdGggYXQgKiB2ZXJzaW9uIDEuMC4xMQogICovCi10eXBlZGVmIHBuZ19zdHJ1Y3RwIHZlcnNpb25fMV8wXzExcmMxOwordHlwZWRlZiBwbmdfc3RydWN0cCB2ZXJzaW9uXzFfMF8xMTsKIAogdHlwZWRlZiBwbmdfc3RydWN0IEZBUiAqIEZBUiAqIHBuZ19zdHJ1Y3RwcDsKIApAQCAtMjIzNiw3ICsyMjM3LDcgQEAKIC8qIE1haW50YWluZXI6IFB1dCBuZXcgcHVibGljIHByb3RvdHlwZXMgaGVyZSBeLCBpbiBsaWJwbmcuMywgYW5kIHByb2plY3QgZGVmcyAqLwogCiAjZGVmaW5lIFBOR19IRUFERVJfVkVSU0lPTl9TVFJJTkcgXAotICAgIiBsaWJwbmcgdmVyc2lvbiAxLjAuMTFyYzEgLSBBcHJpbCAyMCwgMjAwMSAoaGVhZGVyKVxuIgorICAgIiBsaWJwbmcgdmVyc2lvbiAxLjAuMTEgLSBBcHJpbCAyNywgMjAwMSAoaGVhZGVyKVxuIgogCiAjaWZkZWYgUE5HX1JFQURfQ09NUE9TSVRFX05PRElWX1NVUFBPUlRFRAogLyogV2l0aCB0aGVzZSByb3V0aW5lcyB3ZSBhdm9pZCBhbiBpbnRlZ2VyIGRpdmlkZSwgd2hpY2ggd2lsbCBiZSBzbG93ZXIgb24KZGlmZiAtLWdpdCBhL3BuZ2FzbXJkLmggYi9wbmdhc21yZC5oCmluZGV4IDBhOTNkZTQuLjFlZDEwZTQgMTAwNjQ0Ci0tLSBhL3BuZ2FzbXJkLmgKKysrIGIvcG5nYXNtcmQuaApAQCAtMSw2ICsxLDYgQEAKIC8qIHBuZ2FzbXJkLmggLSBhc3NlbWJsZXIgdmVyc2lvbiBvZiB1dGlsaXRpZXMgdG8gcmVhZCBhIFBORyBmaWxlCiAgKgotICogbGlicG5nIDEuMC4xMXJjMSAtIEFwcmlsIDIwLCAyMDAxCisgKiBsaWJwbmcgMS4wLjExIC0gQXByaWwgMjcsIDIwMDEKICAqIEZvciBjb25kaXRpb25zIG9mIGRpc3RyaWJ1dGlvbiBhbmQgdXNlLCBzZWUgY29weXJpZ2h0IG5vdGljZSBpbiBwbmcuaAogICogQ29weXJpZ2h0IChjKSAyMDAxIEdsZW5uIFJhbmRlcnMtUGVocnNvbgogICoKZGlmZiAtLWdpdCBhL3BuZ2NvbmYuaCBiL3BuZ2NvbmYuaAppbmRleCA1OWE3ZGMwLi4xNGEwNzA3IDEwMDY0NAotLS0gYS9wbmdjb25mLmgKKysrIGIvcG5nY29uZi5oCkBAIC0xLDYgKzEsNiBAQAogLyogcG5nY29uZi5oIC0gbWFjaGluZSBjb25maWd1cmFibGUgZmlsZSBmb3IgbGlicG5nCiAgKgotICogbGlicG5nIDEuMC4xMXJjMSAtIEFwcmlsIDIwLCAyMDAxCisgKiBsaWJwbmcgMS4wLjExIC0gQXByaWwgMjcsIDIwMDEKICAqIEZvciBjb25kaXRpb25zIG9mIGRpc3RyaWJ1dGlvbiBhbmQgdXNlLCBzZWUgY29weXJpZ2h0IG5vdGljZSBpbiBwbmcuaAogICogQ29weXJpZ2h0IChjKSAxOTk4LTIwMDEgR2xlbm4gUmFuZGVycy1QZWhyc29uCiAgKiAoVmVyc2lvbiAwLjk2IENvcHlyaWdodCAoYykgMTk5NiwgMTk5NyBBbmRyZWFzIERpbGdlcikKZGlmZiAtLWdpdCBhL3BuZ2Vycm9yLmMgYi9wbmdlcnJvci5jCmluZGV4IDc2NTI4YjYuLmM5OTFiNTMgMTAwNjQ0Ci0tLSBhL3BuZ2Vycm9yLmMKKysrIGIvcG5nZXJyb3IuYwpAQCAtMSw3ICsxLDcgQEAKIAogLyogcG5nZXJyb3IuYyAtIHN0dWIgZnVuY3Rpb25zIGZvciBpL28gYW5kIG1lbW9yeSBhbGxvY2F0aW9uCiAgKgotICogbGlicG5nIDEuMC4xMXJjMSAtIEFwcmlsIDIwLCAyMDAxCisgKiBsaWJwbmcgMS4wLjExIC0gQXByaWwgMjcsIDIwMDEKICAqIEZvciBjb25kaXRpb25zIG9mIGRpc3RyaWJ1dGlvbiBhbmQgdXNlLCBzZWUgY29weXJpZ2h0IG5vdGljZSBpbiBwbmcuaAogICogQ29weXJpZ2h0IChjKSAxOTk4LTIwMDEgR2xlbm4gUmFuZGVycy1QZWhyc29uCiAgKiAoVmVyc2lvbiAwLjk2IENvcHlyaWdodCAoYykgMTk5NiwgMTk5NyBBbmRyZWFzIERpbGdlcikKZGlmZiAtLWdpdCBhL3BuZ2djY3JkLmMgYi9wbmdnY2NyZC5jCmluZGV4IDg2NDg2ODkuLmI0NzAzZWUgMTAwNjQ0Ci0tLSBhL3BuZ2djY3JkLmMKKysrIGIvcG5nZ2NjcmQuYwpAQCAtNiw3ICs2LDcgQEAKICAqICAgICBhbmQgaHR0cDovL3d3dy5pbnRlbC5jb20vZHJnL3BlbnRpdW1JSS9hcHBub3Rlcy85MjMvOTIzLmh0bQogICogICAgIGZvciBJbnRlbCdzIHBlcmZvcm1hbmNlIGFuYWx5c2lzIG9mIHRoZSBNTVggdnMuIG5vbi1NTVggY29kZS4KICAqCi0gKiBsaWJwbmcgdmVyc2lvbiAxLjAuMTFyYzEgLSBBcHJpbCAyMCwgMjAwMQorICogbGlicG5nIHZlcnNpb24gMS4wLjExIC0gQXByaWwgMjcsIDIwMDEKICAqIEZvciBjb25kaXRpb25zIG9mIGRpc3RyaWJ1dGlvbiBhbmQgdXNlLCBzZWUgY29weXJpZ2h0IG5vdGljZSBpbiBwbmcuaAogICogQ29weXJpZ2h0IChjKSAxOTk4LTIwMDEgR2xlbm4gUmFuZGVycy1QZWhyc29uCiAgKiBDb3B5cmlnaHQgKGMpIDE5OTgsIEludGVsIENvcnBvcmF0aW9uCmRpZmYgLS1naXQgYS9wbmdnZXQuYyBiL3BuZ2dldC5jCmluZGV4IGRkNzQyNmEuLjUzNDhjNjAgMTAwNjQ0Ci0tLSBhL3BuZ2dldC5jCisrKyBiL3BuZ2dldC5jCkBAIC0xLDcgKzEsNyBAQAogCiAvKiBwbmdnZXQuYyAtIHJldHJpZXZhbCBvZiB2YWx1ZXMgZnJvbSBpbmZvIHN0cnVjdAogICoKLSAqIGxpYnBuZyAxLjAuMTFyYzEgLSBBcHJpbCAyMCwgMjAwMQorICogbGlicG5nIDEuMC4xMSAtIEFwcmlsIDI3LCAyMDAxCiAgKiBGb3IgY29uZGl0aW9ucyBvZiBkaXN0cmlidXRpb24gYW5kIHVzZSwgc2VlIGNvcHlyaWdodCBub3RpY2UgaW4gcG5nLmgKICAqIENvcHlyaWdodCAoYykgMTk5OC0yMDAxIEdsZW5uIFJhbmRlcnMtUGVocnNvbgogICogKFZlcnNpb24gMC45NiBDb3B5cmlnaHQgKGMpIDE5OTYsIDE5OTcgQW5kcmVhcyBEaWxnZXIpCmRpZmYgLS1naXQgYS9wbmdtZW0uYyBiL3BuZ21lbS5jCmluZGV4IGU3ZmRmOGIuLjQyNWRmNTYgMTAwNjQ0Ci0tLSBhL3BuZ21lbS5jCisrKyBiL3BuZ21lbS5jCkBAIC0xLDcgKzEsNyBAQAogCiAvKiBwbmdtZW0uYyAtIHN0dWIgZnVuY3Rpb25zIGZvciBtZW1vcnkgYWxsb2NhdGlvbgogICoKLSAqIGxpYnBuZyAxLjAuMTFyYzEgLSBBcHJpbCAyMCwgMjAwMQorICogbGlicG5nIDEuMC4xMSAtIEFwcmlsIDI3LCAyMDAxCiAgKiBGb3IgY29uZGl0aW9ucyBvZiBkaXN0cmlidXRpb24gYW5kIHVzZSwgc2VlIGNvcHlyaWdodCBub3RpY2UgaW4gcG5nLmgKICAqIENvcHlyaWdodCAoYykgMTk5OC0yMDAxIEdsZW5uIFJhbmRlcnMtUGVocnNvbgogICogKFZlcnNpb24gMC45NiBDb3B5cmlnaHQgKGMpIDE5OTYsIDE5OTcgQW5kcmVhcyBEaWxnZXIpCmRpZmYgLS1naXQgYS9wbmdwcmVhZC5jIGIvcG5ncHJlYWQuYwppbmRleCAyYzAwOGEyLi45YjRhOWU1IDEwMDY0NAotLS0gYS9wbmdwcmVhZC5jCisrKyBiL3BuZ3ByZWFkLmMKQEAgLTEsNyArMSw3IEBACiAKIC8qIHBuZ3ByZWFkLmMgLSByZWFkIGEgcG5nIGZpbGUgaW4gcHVzaCBtb2RlCiAgKgotICogbGlicG5nIDEuMC4xMXJjMSAtIEFwcmlsIDIwLCAyMDAxCisgKiBsaWJwbmcgMS4wLjExIC0gQXByaWwgMjcsIDIwMDEKICAqIEZvciBjb25kaXRpb25zIG9mIGRpc3RyaWJ1dGlvbiBhbmQgdXNlLCBzZWUgY29weXJpZ2h0IG5vdGljZSBpbiBwbmcuaAogICogQ29weXJpZ2h0IChjKSAxOTk4LTIwMDEgR2xlbm4gUmFuZGVycy1QZWhyc29uCiAgKiAoVmVyc2lvbiAwLjk2IENvcHlyaWdodCAoYykgMTk5NiwgMTk5NyBBbmRyZWFzIERpbGdlcikKZGlmZiAtLWdpdCBhL3BuZ3JlYWQuYyBiL3BuZ3JlYWQuYwppbmRleCBkNzdlY2RhLi5mODRlZGU4IDEwMDY0NAotLS0gYS9wbmdyZWFkLmMKKysrIGIvcG5ncmVhZC5jCkBAIC0xLDcgKzEsNyBAQAogCiAvKiBwbmdyZWFkLmMgLSByZWFkIGEgUE5HIGZpbGUKICAqCi0gKiBsaWJwbmcgMS4wLjExcmMxIC0gQXByaWwgMjAsIDIwMDEKKyAqIGxpYnBuZyAxLjAuMTEgLSBBcHJpbCAyNywgMjAwMQogICogRm9yIGNvbmRpdGlvbnMgb2YgZGlzdHJpYnV0aW9uIGFuZCB1c2UsIHNlZSBjb3B5cmlnaHQgbm90aWNlIGluIHBuZy5oCiAgKiBDb3B5cmlnaHQgKGMpIDE5OTgtMjAwMSBHbGVubiBSYW5kZXJzLVBlaHJzb24KICAqIChWZXJzaW9uIDAuOTYgQ29weXJpZ2h0IChjKSAxOTk2LCAxOTk3IEFuZHJlYXMgRGlsZ2VyKQpAQCAtNzE1LDcgKzcxNSw3IEBACiAgKiBub3QgY2FsbGVkIHBuZ19zZXRfaW50ZXJsYWNlX2hhbmRsaW5nKCksIHRoZSBkaXNwbGF5X3JvdyBidWZmZXIgd2lsbAogICogYmUgaWdub3JlZCwgc28gcGFzcyBOVUxMIHRvIGl0LgogICoKLSAqIFsqXSBwbmdfaGFuZGxlX2FscGhhKCkgZG9lcyBub3QgZXhpc3QgeWV0LCBhcyBvZiBsaWJwbmcgdmVyc2lvbiAxLjAuMTFyYzEKKyAqIFsqXSBwbmdfaGFuZGxlX2FscGhhKCkgZG9lcyBub3QgZXhpc3QgeWV0LCBhcyBvZiBsaWJwbmcgdmVyc2lvbiAxLjAuMTEKICAqLwogCiB2b2lkIFBOR0FQSQpAQCAtNzY0LDcgKzc2NCw3IEBACiAgKiBvbmx5IGNhbGwgdGhpcyBmdW5jdGlvbiBvbmNlLiAgSWYgeW91IGRlc2lyZSB0byBoYXZlIGFuIGltYWdlIGZvcgogICogZWFjaCBwYXNzIG9mIGEgaW50ZXJsYWNlZCBpbWFnZSwgdXNlIHBuZ19yZWFkX3Jvd3MoKSBpbnN0ZWFkLgogICoKLSAqIFsqXSBwbmdfaGFuZGxlX2FscGhhKCkgZG9lcyBub3QgZXhpc3QgeWV0LCBhcyBvZiBsaWJwbmcgdmVyc2lvbiAxLjAuMTFyYzEKKyAqIFsqXSBwbmdfaGFuZGxlX2FscGhhKCkgZG9lcyBub3QgZXhpc3QgeWV0LCBhcyBvZiBsaWJwbmcgdmVyc2lvbiAxLjAuMTEKICAqLwogdm9pZCBQTkdBUEkKIHBuZ19yZWFkX2ltYWdlKHBuZ19zdHJ1Y3RwIHBuZ19wdHIsIHBuZ19ieXRlcHAgaW1hZ2UpCmRpZmYgLS1naXQgYS9wbmdyaW8uYyBiL3BuZ3Jpby5jCmluZGV4IDVmYmM2NjguLjQyOTA2MjQgMTAwNjQ0Ci0tLSBhL3BuZ3Jpby5jCisrKyBiL3BuZ3Jpby5jCkBAIC0xLDcgKzEsNyBAQAogCiAvKiBwbmdyaW8uYyAtIGZ1bmN0aW9ucyBmb3IgZGF0YSBpbnB1dAogICoKLSAqIGxpYnBuZyAxLjAuMTFyYzEgLSBBcHJpbCAyMCwgMjAwMQorICogbGlicG5nIDEuMC4xMSAtIEFwcmlsIDI3LCAyMDAxCiAgKiBGb3IgY29uZGl0aW9ucyBvZiBkaXN0cmlidXRpb24gYW5kIHVzZSwgc2VlIGNvcHlyaWdodCBub3RpY2UgaW4gcG5nLmgKICAqIENvcHlyaWdodCAoYykgMTk5OC0yMDAxIEdsZW5uIFJhbmRlcnMtUGVocnNvbgogICogKFZlcnNpb24gMC45NiBDb3B5cmlnaHQgKGMpIDE5OTYsIDE5OTcgQW5kcmVhcyBEaWxnZXIpCmRpZmYgLS1naXQgYS9wbmdydHJhbi5jIGIvcG5ncnRyYW4uYwppbmRleCA2NzgwMDI2Li5hZjc2MzFlIDEwMDY0NAotLS0gYS9wbmdydHJhbi5jCisrKyBiL3BuZ3J0cmFuLmMKQEAgLTEsNyArMSw3IEBACiAKIC8qIHBuZ3J0cmFuLmMgLSB0cmFuc2Zvcm1zIHRoZSBkYXRhIGluIGEgcm93IGZvciBQTkcgcmVhZGVycwogICoKLSAqIGxpYnBuZyAxLjAuMTFyYzEgLSBBcHJpbCAyMCwgMjAwMQorICogbGlicG5nIDEuMC4xMSAtIEFwcmlsIDI3LCAyMDAxCiAgKiBGb3IgY29uZGl0aW9ucyBvZiBkaXN0cmlidXRpb24gYW5kIHVzZSwgc2VlIGNvcHlyaWdodCBub3RpY2UgaW4gcG5nLmgKICAqIENvcHlyaWdodCAoYykgMTk5OC0yMDAxIEdsZW5uIFJhbmRlcnMtUGVocnNvbgogICogKFZlcnNpb24gMC45NiBDb3B5cmlnaHQgKGMpIDE5OTYsIDE5OTcgQW5kcmVhcyBEaWxnZXIpCmRpZmYgLS1naXQgYS9wbmdydXRpbC5jIGIvcG5ncnV0aWwuYwppbmRleCA4YWU4NmFjLi4yODRmNjM2IDEwMDY0NAotLS0gYS9wbmdydXRpbC5jCisrKyBiL3BuZ3J1dGlsLmMKQEAgLTEsNyArMSw3IEBACiAKIC8qIHBuZ3J1dGlsLmMgLSB1dGlsaXRpZXMgdG8gcmVhZCBhIFBORyBmaWxlCiAgKgotICogbGlicG5nIDEuMC4xMXJjMSAtIEFwcmlsIDIwLCAyMDAxCisgKiBsaWJwbmcgMS4wLjExIC0gQXByaWwgMjcsIDIwMDEKICAqIEZvciBjb25kaXRpb25zIG9mIGRpc3RyaWJ1dGlvbiBhbmQgdXNlLCBzZWUgY29weXJpZ2h0IG5vdGljZSBpbiBwbmcuaAogICogQ29weXJpZ2h0IChjKSAxOTk4LTIwMDEgR2xlbm4gUmFuZGVycy1QZWhyc29uCiAgKiAoVmVyc2lvbiAwLjk2IENvcHlyaWdodCAoYykgMTk5NiwgMTk5NyBBbmRyZWFzIERpbGdlcikKZGlmZiAtLWdpdCBhL3BuZ3NldC5jIGIvcG5nc2V0LmMKaW5kZXggNDlmOTcwMi4uNjFkZTVkZCAxMDA2NDQKLS0tIGEvcG5nc2V0LmMKKysrIGIvcG5nc2V0LmMKQEAgLTEsNyArMSw3IEBACiAKIC8qIHBuZ3NldC5jIC0gc3RvcmFnZSBvZiBpbWFnZSBpbmZvcm1hdGlvbiBpbnRvIGluZm8gc3RydWN0CiAgKgotICogbGlicG5nIDEuMC4xMXJjMSAtIEFwcmlsIDIwLCAyMDAxCisgKiBsaWJwbmcgMS4wLjExIC0gQXByaWwgMjcsIDIwMDEKICAqIEZvciBjb25kaXRpb25zIG9mIGRpc3RyaWJ1dGlvbiBhbmQgdXNlLCBzZWUgY29weXJpZ2h0IG5vdGljZSBpbiBwbmcuaAogICogQ29weXJpZ2h0IChjKSAxOTk4LTIwMDEgR2xlbm4gUmFuZGVycy1QZWhyc29uCiAgKiAoVmVyc2lvbiAwLjk2IENvcHlyaWdodCAoYykgMTk5NiwgMTk5NyBBbmRyZWFzIERpbGdlcikKZGlmZiAtLWdpdCBhL3BuZ3Rlc3QuYyBiL3BuZ3Rlc3QuYwppbmRleCBlMDE3YWQ1Li4wM2U3ZGEzIDEwMDY0NAotLS0gYS9wbmd0ZXN0LmMKKysrIGIvcG5ndGVzdC5jCkBAIC0xLDcgKzEsNyBAQAogCiAvKiBwbmd0ZXN0LmMgLSBhIHNpbXBsZSB0ZXN0IHByb2dyYW0gdG8gdGVzdCBsaWJwbmcKICAqCi0gKiBsaWJwbmcgMS4wLjExcmMxIC0gQXByaWwgMjAsIDIwMDEKKyAqIGxpYnBuZyAxLjAuMTEgLSBBcHJpbCAyNywgMjAwMQogICogRm9yIGNvbmRpdGlvbnMgb2YgZGlzdHJpYnV0aW9uIGFuZCB1c2UsIHNlZSBjb3B5cmlnaHQgbm90aWNlIGluIHBuZy5oCiAgKiBDb3B5cmlnaHQgKGMpIDE5OTgtMjAwMSBHbGVubiBSYW5kZXJzLVBlaHJzb24KICAqIChWZXJzaW9uIDAuOTYgQ29weXJpZ2h0IChjKSAxOTk2LCAxOTk3IEFuZHJlYXMgRGlsZ2VyKQpAQCAtMTUxMSw0ICsxNTExLDQgQEAKIH0KIAogLyogR2VuZXJhdGUgYSBjb21waWxlciBlcnJvciBpZiB0aGVyZSBpcyBhbiBvbGQgcG5nLmggaW4gdGhlIHNlYXJjaCBwYXRoLiAqLwotdHlwZWRlZiB2ZXJzaW9uXzFfMF8xMXJjMSB5b3VyX3BuZ19oX2lzX25vdF92ZXJzaW9uXzFfMF8xMXJjMTsKK3R5cGVkZWYgdmVyc2lvbl8xXzBfMTEgeW91cl9wbmdfaF9pc19ub3RfdmVyc2lvbl8xXzBfMTE7CmRpZmYgLS1naXQgYS9wbmd0cmFucy5jIGIvcG5ndHJhbnMuYwppbmRleCA0NDc1YWIwLi5hM2I4MGEzIDEwMDY0NAotLS0gYS9wbmd0cmFucy5jCisrKyBiL3BuZ3RyYW5zLmMKQEAgLTEsNyArMSw3IEBACiAKIC8qIHBuZ3RyYW5zLmMgLSB0cmFuc2Zvcm1zIHRoZSBkYXRhIGluIGEgcm93ICh1c2VkIGJ5IGJvdGggcmVhZGVycyBhbmQgd3JpdGVycykKICAqCi0gKiBsaWJwbmcgMS4wLjExcmMxIC0gQXByaWwgMjAsIDIwMDEKKyAqIGxpYnBuZyAxLjAuMTEgLSBBcHJpbCAyNywgMjAwMQogICogRm9yIGNvbmRpdGlvbnMgb2YgZGlzdHJpYnV0aW9uIGFuZCB1c2UsIHNlZSBjb3B5cmlnaHQgbm90aWNlIGluIHBuZy5oCiAgKiBDb3B5cmlnaHQgKGMpIDE5OTgtMjAwMSBHbGVubiBSYW5kZXJzLVBlaHJzb24KICAqIChWZXJzaW9uIDAuOTYgQ29weXJpZ2h0IChjKSAxOTk2LCAxOTk3IEFuZHJlYXMgRGlsZ2VyKQpkaWZmIC0tZ2l0IGEvcG5ndmNyZC5jIGIvcG5ndmNyZC5jCmluZGV4IGM0NmUzYzEuLmIwMGE1NmQgMTAwNjQ0Ci0tLSBhL3BuZ3ZjcmQuYworKysgYi9wbmd2Y3JkLmMKQEAgLTIsNyArMiw3IEBACiAgKgogICogRm9yIEludGVsIHg4NiBDUFUgYW5kIE1pY3Jvc29mdCBWaXN1YWwgQysrIGNvbXBpbGVyCiAgKgotICogbGlicG5nIDEuMC4xMXJjMSAtIEFwcmlsIDIwLCAyMDAxCisgKiBsaWJwbmcgMS4wLjExIC0gQXByaWwgMjcsIDIwMDEKICAqIEZvciBjb25kaXRpb25zIG9mIGRpc3RyaWJ1dGlvbiBhbmQgdXNlLCBzZWUgY29weXJpZ2h0IG5vdGljZSBpbiBwbmcuaAogICogQ29weXJpZ2h0IChjKSAxOTk4LTIwMDEgR2xlbm4gUmFuZGVycy1QZWhyc29uCiAgKiBDb3B5cmlnaHQgKGMpIDE5OTgsIEludGVsIENvcnBvcmF0aW9uCmRpZmYgLS1naXQgYS9wbmd3aW8uYyBiL3BuZ3dpby5jCmluZGV4IDUzMGM4ODUuLmE1YmQ0NTcgMTAwNjQ0Ci0tLSBhL3BuZ3dpby5jCisrKyBiL3BuZ3dpby5jCkBAIC0xLDcgKzEsNyBAQAogCiAvKiBwbmd3aW8uYyAtIGZ1bmN0aW9ucyBmb3IgZGF0YSBvdXRwdXQKICAqCi0gKiBsaWJwbmcgMS4wLjExcmMxIC0gQXByaWwgMjAsIDIwMDEKKyAqIGxpYnBuZyAxLjAuMTEgLSBBcHJpbCAyNywgMjAwMQogICogRm9yIGNvbmRpdGlvbnMgb2YgZGlzdHJpYnV0aW9uIGFuZCB1c2UsIHNlZSBjb3B5cmlnaHQgbm90aWNlIGluIHBuZy5oCiAgKiBDb3B5cmlnaHQgKGMpIDE5OTgtMjAwMSBHbGVubiBSYW5kZXJzLVBlaHJzb24KICAqIChWZXJzaW9uIDAuOTYgQ29weXJpZ2h0IChjKSAxOTk2LCAxOTk3IEFuZHJlYXMgRGlsZ2VyKQpkaWZmIC0tZ2l0IGEvcG5nd3JpdGUuYyBiL3BuZ3dyaXRlLmMKaW5kZXggMTBjMDRhYS4uZTAyOTFkMyAxMDA2NDQKLS0tIGEvcG5nd3JpdGUuYworKysgYi9wbmd3cml0ZS5jCkBAIC0xLDcgKzEsNyBAQAogCiAvKiBwbmd3cml0ZS5jIC0gZ2VuZXJhbCByb3V0aW5lcyB0byB3cml0ZSBhIFBORyBmaWxlCiAgKgotICogbGlicG5nIDEuMC4xMXJjMSAtIEFwcmlsIDIwLCAyMDAxCisgKiBsaWJwbmcgMS4wLjExIC0gQXByaWwgMjcsIDIwMDEKICAqIEZvciBjb25kaXRpb25zIG9mIGRpc3RyaWJ1dGlvbiBhbmQgdXNlLCBzZWUgY29weXJpZ2h0IG5vdGljZSBpbiBwbmcuaAogICogQ29weXJpZ2h0IChjKSAxOTk4LTIwMDEgR2xlbm4gUmFuZGVycy1QZWhyc29uCiAgKiAoVmVyc2lvbiAwLjk2IENvcHlyaWdodCAoYykgMTk5NiwgMTk5NyBBbmRyZWFzIERpbGdlcikKZGlmZiAtLWdpdCBhL3BuZ3d0cmFuLmMgYi9wbmd3dHJhbi5jCmluZGV4IDczMjIwODcuLmZjMThjNjAgMTAwNjQ0Ci0tLSBhL3BuZ3d0cmFuLmMKKysrIGIvcG5nd3RyYW4uYwpAQCAtMSw3ICsxLDcgQEAKIAogLyogcG5nd3RyYW4uYyAtIHRyYW5zZm9ybXMgdGhlIGRhdGEgaW4gYSByb3cgZm9yIFBORyB3cml0ZXJzCiAgKgotICogbGlicG5nIDEuMC4xMXJjMSAtIEFwcmlsIDIwLCAyMDAxCisgKiBsaWJwbmcgMS4wLjExIC0gQXByaWwgMjcsIDIwMDEKICAqIEZvciBjb25kaXRpb25zIG9mIGRpc3RyaWJ1dGlvbiBhbmQgdXNlLCBzZWUgY29weXJpZ2h0IG5vdGljZSBpbiBwbmcuaAogICogQ29weXJpZ2h0IChjKSAxOTk4LTIwMDEgR2xlbm4gUmFuZGVycy1QZWhyc29uCiAgKiAoVmVyc2lvbiAwLjk2IENvcHlyaWdodCAoYykgMTk5NiwgMTk5NyBBbmRyZWFzIERpbGdlcikKZGlmZiAtLWdpdCBhL3BuZ3d1dGlsLmMgYi9wbmd3dXRpbC5jCmluZGV4IGE5MDA5ODYuLmI4YzgyMjIgMTAwNjQ0Ci0tLSBhL3BuZ3d1dGlsLmMKKysrIGIvcG5nd3V0aWwuYwpAQCAtMSw3ICsxLDcgQEAKIAogLyogcG5nd3V0aWwuYyAtIHV0aWxpdGllcyB0byB3cml0ZSBhIFBORyBmaWxlCiAgKgotICogbGlicG5nIDEuMC4xMXJjMSAtIEFwcmlsIDIwLCAyMDAxCisgKiBsaWJwbmcgMS4wLjExIC0gQXByaWwgMjcsIDIwMDEKICAqIEZvciBjb25kaXRpb25zIG9mIGRpc3RyaWJ1dGlvbiBhbmQgdXNlLCBzZWUgY29weXJpZ2h0IG5vdGljZSBpbiBwbmcuaAogICogQ29weXJpZ2h0IChjKSAxOTk4LTIwMDEgR2xlbm4gUmFuZGVycy1QZWhyc29uCiAgKiAoVmVyc2lvbiAwLjk2IENvcHlyaWdodCAoYykgMTk5NiwgMTk5NyBBbmRyZWFzIERpbGdlcikKZGlmZiAtLWdpdCBhL3Byb2plY3RzL21zdmMvUkVBRE1FLnR4dCBiL3Byb2plY3RzL21zdmMvUkVBRE1FLnR4dAppbmRleCBjYzE0YWI1Li43NTUwMzYwIDEwMDY0NAotLS0gYS9wcm9qZWN0cy9tc3ZjL1JFQURNRS50eHQKKysrIGIvcHJvamVjdHMvbXN2Yy9SRUFETUUudHh0CkBAIC0xLDUgKzEsNSBAQAogTWljcm9zb2Z0IERldmVsb3BlciBTdHVkaW8gQnVpbGQgRmlsZSwgRm9ybWF0IFZlcnNpb24gNi4wMCBmb3IKLWxpYnBuZyAxLjAuMTFyYzEgKEFwcmlsIDIwLCAyMDAxKSBhbmQgemxpYgorbGlicG5nIDEuMC4xMSAoQXByaWwgMjcsIDIwMDEpIGFuZCB6bGliCiAKIENvcHlyaWdodCAoQykgMjAwMCBTaW1vbi1QaWVycmUgQ2FkaWV1eAogRm9yIGNvbmRpdGlvbnMgb2YgZGlzdHJpYnV0aW9uIGFuZCB1c2UsIHNlZSBjb3B5cmlnaHQgbm90aWNlIGluIHBuZy5oCmRpZmYgLS1naXQgYS9wcm9qZWN0cy9tc3ZjL3BuZzMybXMuZGVmIGIvcHJvamVjdHMvbXN2Yy9wbmczMm1zLmRlZgppbmRleCBiNWM5YjhiLi43YWZkNTRjIDEwMDY0NAotLS0gYS9wcm9qZWN0cy9tc3ZjL3BuZzMybXMuZGVmCisrKyBiL3Byb2plY3RzL21zdmMvcG5nMzJtcy5kZWYKQEAgLTYsNyArNiw3IEBACiBERVNDUklQVElPTiAiUE5HIGltYWdlIGNvbXByZXNzaW9uIGxpYnJhcnkgZm9yIFdpbmRvd3MiCiAKIEVYUE9SVFMKLTtWZXJzaW9uIDEuMC4xMXJjMQorO1ZlcnNpb24gMS4wLjExCiAgIHBuZ19idWlsZF9ncmF5c2NhbGVfcGFsZXR0ZSAgQDEKICAgcG5nX2NoZWNrX3NpZyAgICAgICAgQDIKICAgcG5nX2NodW5rX2Vycm9yICAgICAgQDMKZGlmZiAtLWdpdCBhL3Byb2plY3RzL3dpbmNlL1JFQURNRUUuV0NFIGIvcHJvamVjdHMvd2luY2UvUkVBRE1FRS5XQ0UKaW5kZXggODBiMzU5Yi4uNzE0NTU1ZSAxMDA2NDQKLS0tIGEvcHJvamVjdHMvd2luY2UvUkVBRE1FRS5XQ0UKKysrIGIvcHJvamVjdHMvd2luY2UvUkVBRE1FRS5XQ0UKQEAgLTgsOSArOCw5IEBACiAKIEludHJvZHVjdGlvbgogPT09PT09PT09PT09Ci1UaGlzIGlzIGxpYnBuZyAxLjAuMTFyYzEgcG9ydGVkIHRvIFdpbmRvd3NDRSAyLjAgYW5kIDIuMTEuCi1saWJwbmcgMS4wLjExcmMxIGlzIGEgUE5HIHJlZmVyZW5jZSBsaWJyYXJ5LgotU2VlIFJFQURNRSwgYSBkb2N1bWVudCBvZiBvcmlnaW5hbCBsaWJwbmcgMS4wLjExcmMxLgorVGhpcyBpcyBsaWJwbmcgMS4wLjExIHBvcnRlZCB0byBXaW5kb3dzQ0UgMi4wIGFuZCAyLjExLgorbGlicG5nIDEuMC4xMSBpcyBhIFBORyByZWZlcmVuY2UgbGlicmFyeS4KK1NlZSBSRUFETUUsIGEgZG9jdW1lbnQgb2Ygb3JpZ2luYWwgbGlicG5nIDEuMC4xMS4KIAogemxpYiBmb3IgV2luZG93c0NFCiA9PT09PT09PT09PT09PT09PT0KQEAgLTIzLDcgKzIzLDcgQEAKIHdhcnJhbnR5LiAgSW4gbm8gZXZlbnQgd2lsbCB0aGUgYXV0aG9ycyBiZSBoZWxkIGxpYWJsZSBmb3IgYW55IGRhbWFnZXMKIGFyaXNpbmcgZnJvbSB0aGUgdXNlIG9mIHRoaXMgc29mdHdhcmUuCiAKLVNlZSBSRUFETUUgYW5kIExJQ0VOU0UsIGRvY3VtZW50cyBvZiBvcmlnaW5hbCBsaWJwbmcgMS4wLjExcmMxLCBmb3IgY29uZGl0aW9ucworU2VlIFJFQURNRSBhbmQgTElDRU5TRSwgZG9jdW1lbnRzIG9mIG9yaWdpbmFsIGxpYnBuZyAxLjAuMTEsIGZvciBjb25kaXRpb25zCiBvZiB1c2UgYW5kIGRpc3RyaWJ1dGlvbi4KIAogRmlsZXMKZGlmZiAtLWdpdCBhL3Byb2plY3RzL3dpbmNlL1JFQURNRUouV0NFIGIvcHJvamVjdHMvd2luY2UvUkVBRE1FSi5XQ0UKaW5kZXggOGEwOTBkZS4uOGMxOWY4NiAxMDA2NDQKLS0tIGEvcHJvamVjdHMvd2luY2UvUkVBRE1FSi5XQ0UKKysrIGIvcHJvamVjdHMvd2luY2UvUkVBRE1FSi5XQ0UKQEAgLTI0LDcgKzI0LDcgQEAKIILJgsiCwYK9gqKCqYLIgumU7YpRgsmCwoKigsSC4IFBjeyO0oFBlHqVeo7SgUGCu4LMkbyXmJdwjtKIyIpPgsyQbJWogUEKIJJjkcyCyZDTlEOC8ILGgumLYJaxgs2CyIKiguCCzILGgrWC3IK3gUIKIAotgruCzJG8gUGCsYLMg1yDdINng0WDRoNBgsyXmJdwj/CMj4LJgsKCooLEgs2BQYy0lMWCxYKggukgbGlicG5nIDEuMC4xMXJjMYLJCiuCu4LMkbyBQYKxgsyDXIN0g2eDRYNGg0GCzJeYl3CP8IyPgsmCwoKigsSCzYFBjLSUxYLFgqCC6SBsaWJwbmcgMS4wLjExgskKII+Ai5KCt4LpguCCzILGgrWC3IK3gUKP2oK1gq2CzYFBlXSRroLMIFJFQURNRSxMSUNFTlNFIILwgqiTx4Ldgq2CvoKzgqKBQgogCiCO+5hek+CXZQpkaWZmIC0tZ2l0IGEvcHJvamVjdHMvd2luY2UvcG5nMzJjZS5kZWYgYi9wcm9qZWN0cy93aW5jZS9wbmczMmNlLmRlZgppbmRleCA4M2NmMzNhLi5lNzAxNmVjIDEwMDY0NAotLS0gYS9wcm9qZWN0cy93aW5jZS9wbmczMmNlLmRlZgorKysgYi9wcm9qZWN0cy93aW5jZS9wbmczMmNlLmRlZgpAQCAtNSw3ICs1LDcgQEAKIExJQlJBUlkgbHBuZ2NlCiAKIEVYUE9SVFMKLTtWZXJzaW9uIDEuMC4xMXJjMQorO1ZlcnNpb24gMS4wLjExCiAgIHBuZ19idWlsZF9ncmF5c2NhbGVfcGFsZXR0ZSAgQDEKICAgcG5nX2NoZWNrX3NpZyAgICAgICAgQDIKICAgcG5nX2NodW5rX2Vycm9yICAgICAgQDMKZGlmZiAtLWdpdCBhL3NjcmlwdHMvbWFrZWZpbGUuYWl4IGIvc2NyaXB0cy9tYWtlZmlsZS5haXgKaW5kZXggM2JjODhlNC4uYmU3NjkxZiAxMDA2NDQKLS0tIGEvc2NyaXB0cy9tYWtlZmlsZS5haXgKKysrIGIvc2NyaXB0cy9tYWtlZmlsZS5haXgKQEAgLTE4LDcgKzE4LDcgQEAKICMgcmVhZCBsaWJwbmcudHh0IG9yIHBuZy5oIHRvIHNlZSB3aHkgUE5HTUFKIGlzIDIuICBZb3Ugc2hvdWxkIG5vdAogIyBoYXZlIHRvIGNoYW5nZSBpdC4KIFBOR01BSiA9IDIKLVBOR01JTiA9IDEuMC4xMXJjMQorUE5HTUlOID0gMS4wLjExCiBQTkdWRVIgPSAkKFBOR01BSikuJChQTkdNSU4pCiAKIHByZWZpeD0vdXNyL2xvY2FsCmRpZmYgLS1naXQgYS9zY3JpcHRzL21ha2VmaWxlLmJlb3MgYi9zY3JpcHRzL21ha2VmaWxlLmJlb3MKaW5kZXggYzhhYTE2OC4uNDZhN2IxYSAxMDA2NDQKLS0tIGEvc2NyaXB0cy9tYWtlZmlsZS5iZW9zCisrKyBiL3NjcmlwdHMvbWFrZWZpbGUuYmVvcwpAQCAtMTMsNyArMTMsNyBAQAogIyByZWFkIGxpYnBuZy50eHQgb3IgcG5nLmggdG8gc2VlIHdoeSBQTkdNQUogaXMgMi4gIFlvdSBzaG91bGQgbm90CiAjIGhhdmUgdG8gY2hhbmdlIGl0LgogUE5HTUFKID0gMgotUE5HTUlOID0gMS4wLjExcmMxCitQTkdNSU4gPSAxLjAuMTEKIFBOR1ZFUiA9ICQoUE5HTUFKKS4kKFBOR01JTikKIAogQUxJR049CmRpZmYgLS1naXQgYS9zY3JpcHRzL21ha2VmaWxlLmN5Z3dpbiBiL3NjcmlwdHMvbWFrZWZpbGUuY3lnd2luCmluZGV4IDc4NDE2YjUuLjc2YWM0YmYgMTAwNjQ0Ci0tLSBhL3NjcmlwdHMvbWFrZWZpbGUuY3lnd2luCisrKyBiL3NjcmlwdHMvbWFrZWZpbGUuY3lnd2luCkBAIC0zOSw4ICszOSw4IEBACiAjIGhhdmUgdG8gY2hhbmdlIGl0LgogUE5HTUFKID0gMgogI1BOR0RMTCA9ICQxIyBtc3ZjCi1QTkdETEwgPSAyIyBjeWd3aW4gMS4wLjExcmMxCi1QTkdNSU4gPSAxLjAuMTFyYzEKK1BOR0RMTCA9IDIjIGN5Z3dpbiAxLjAuMTEKK1BOR01JTiA9IDEuMC4xMQogUE5HTUlOX0JBU0UgPSAxLjAuMTEKIFBOR1ZFUiA9ICQoUE5HTUFKKS4kKFBOR01JTikKIApkaWZmIC0tZ2l0IGEvc2NyaXB0cy9tYWtlZmlsZS5kZWMgYi9zY3JpcHRzL21ha2VmaWxlLmRlYwppbmRleCBhMTI0YjcyLi5mMWYzNzQ2IDEwMDY0NAotLS0gYS9zY3JpcHRzL21ha2VmaWxlLmRlYworKysgYi9zY3JpcHRzL21ha2VmaWxlLmRlYwpAQCAtMTcsNyArMTcsNyBAQAogIyByZWFkIGxpYnBuZy50eHQgb3IgcG5nLmggdG8gc2VlIHdoeSBQTkdNQUogaXMgMi4gIFlvdSBzaG91bGQgbm90CiAjIGhhdmUgdG8gY2hhbmdlIGl0LgogUE5HTUFKID0gMgotUE5HTUlOID0gMS4wLjExcmMxCitQTkdNSU4gPSAxLjAuMTEKIFBOR1ZFUiA9ICQoUE5HTUFKKS4kKFBOR01JTikKIAogQ0M9Y2MKZGlmZiAtLWdpdCBhL3NjcmlwdHMvbWFrZWZpbGUuZ2NtbXggYi9zY3JpcHRzL21ha2VmaWxlLmdjbW14CmluZGV4IGE1YWVhM2IuLjdmMDBkZjEgMTAwNjQ0Ci0tLSBhL3NjcmlwdHMvbWFrZWZpbGUuZ2NtbXgKKysrIGIvc2NyaXB0cy9tYWtlZmlsZS5nY21teApAQCAtNTEsNyArNTEsNyBAQAogIyByZWFkIGxpYnBuZy50eHQgb3IgcG5nLmggdG8gc2VlIHdoeSBQTkdNQUogaXMgMi4gIFlvdSBzaG91bGQgbm90CiAjIGhhdmUgdG8gY2hhbmdlIGl0LgogUE5HTUFKID0gMgotUE5HTUlOID0gMS4wLjExcmMxCitQTkdNSU4gPSAxLjAuMTEKIFBOR1ZFUiA9ICQoUE5HTUFKKS4kKFBOR01JTikKIAogSU5DUEFUSD0kKHByZWZpeCkvaW5jbHVkZQpkaWZmIC0tZ2l0IGEvc2NyaXB0cy9tYWtlZmlsZS5ocGdjYyBiL3NjcmlwdHMvbWFrZWZpbGUuaHBnY2MKaW5kZXggZDExOTJkZi4uOWU2ZmYyZiAxMDA2NDQKLS0tIGEvc2NyaXB0cy9tYWtlZmlsZS5ocGdjYworKysgYi9zY3JpcHRzL21ha2VmaWxlLmhwZ2NjCkBAIC0zNCw3ICszNCw3IEBACiAjIHJlYWQgbGlicG5nLnR4dCBvciBwbmcuaCB0byBzZWUgd2h5IFBOR01BSiBpcyAyLiAgWW91IHNob3VsZCBub3QKICMgaGF2ZSB0byBjaGFuZ2UgaXQuCiBQTkdNQUogPSAyCi1QTkdNSU4gPSAxLjAuMTFyYzEKK1BOR01JTiA9IDEuMC4xMQogUE5HVkVSID0gJChQTkdNQUopLiQoUE5HTUlOKQogCiBJTkNQQVRIPSQocHJlZml4KS9pbmNsdWRlCmRpZmYgLS1naXQgYS9zY3JpcHRzL21ha2VmaWxlLmhwdXggYi9zY3JpcHRzL21ha2VmaWxlLmhwdXgKaW5kZXggN2I1ODUxMy4uODg5OWE3NyAxMDA2NDQKLS0tIGEvc2NyaXB0cy9tYWtlZmlsZS5ocHV4CisrKyBiL3NjcmlwdHMvbWFrZWZpbGUuaHB1eApAQCAtMTksNyArMTksNyBAQAogIyByZWFkIGxpYnBuZy50eHQgb3IgcG5nLmggdG8gc2VlIHdoeSBQTkdNQUogaXMgMi4gIFlvdSBzaG91bGQgbm90CiAjIGhhdmUgdG8gY2hhbmdlIGl0LgogUE5HTUFKID0gMgotUE5HTUlOID0gMS4wLjExcmMxCitQTkdNSU4gPSAxLjAuMTEKIFBOR1ZFUiA9ICQoUE5HTUFKKS4kKFBOR01JTikKIAogIyB3aGVyZSBtYWtlIGluc3RhbGwgcHV0cyBsaWJwbmcuYSBhbmQgcG5nLmgKZGlmZiAtLWdpdCBhL3NjcmlwdHMvbWFrZWZpbGUubGludXggYi9zY3JpcHRzL21ha2VmaWxlLmxpbnV4CmluZGV4IDBkNTYxZTcuLjE1YWFkMDIgMTAwNjQ0Ci0tLSBhL3NjcmlwdHMvbWFrZWZpbGUubGludXgKKysrIGIvc2NyaXB0cy9tYWtlZmlsZS5saW51eApAQCAtMzQsNyArMzQsNyBAQAogIyByZWFkIGxpYnBuZy50eHQgb3IgcG5nLmggdG8gc2VlIHdoeSBQTkdNQUogaXMgMi4gIFlvdSBzaG91bGQgbm90CiAjIGhhdmUgdG8gY2hhbmdlIGl0LgogUE5HTUFKID0gMgotUE5HTUlOID0gMS4wLjExcmMxCitQTkdNSU4gPSAxLjAuMTEKIFBOR1ZFUiA9ICQoUE5HTUFKKS4kKFBOR01JTikKIAogSU5DUEFUSD0kKHByZWZpeCkvaW5jbHVkZQpkaWZmIC0tZ2l0IGEvc2NyaXB0cy9tYWtlZmlsZS5uZXRic2QgYi9zY3JpcHRzL21ha2VmaWxlLm5ldGJzZAppbmRleCBkMTUxMjEzLi5iOTAzMmNmIDEwMDY0NAotLS0gYS9zY3JpcHRzL21ha2VmaWxlLm5ldGJzZAorKysgYi9zY3JpcHRzL21ha2VmaWxlLm5ldGJzZApAQCAtMSw4OSArMSw0MiBAQAotIyBtYWtlZmlsZSBmb3IgbGlicG5nIG9uIE5ldEJTRAotIyBDb3B5cmlnaHQgKEMpIDIwMDEgR2xlbm4gUmFuZGVycy1QZWhyc29uCi0jIENvcHlyaWdodCAoQykgMTk5NSBHdXkgRXJpYyBTY2hhbG5hdCwgR3JvdXAgNDIsIEluYy4KKyMgbWFrZWZpbGUgZm9yIGxpYnBuZyBmb3IgTmV0QlNEIGZvciB0aGUgc3RhbmRhcmQKKyMgbWFrZSBvYmogJiYgbWFrZSBkZXBlbmQgJiYgbWFrZSAmJiBtYWtlIHRlc3QKKyMgbWFrZSBpbmNsdWRlcyAmJiBtYWtlIGluc3RhbGwKKyMgQ29weXJpZ2h0IChDKSAyMDAxIFBhdHJpY2sgUi5MLiBXZWxjaGUKICMgRm9yIGNvbmRpdGlvbnMgb2YgZGlzdHJpYnV0aW9uIGFuZCB1c2UsIHNlZSBjb3B5cmlnaHQgbm90aWNlIGluIHBuZy5oCiAKLSMgd2hlcmUgbWFrZSBpbnN0YWxsIHB1dHMgbGlicG5nLmEgYW5kIHBuZy5oCi0jIHBrZ3NyYyB3aWxsIHdhbnQgcHJlZml4PSR7UFJFRklYfQotcHJlZml4PS91c3IvbG9jYWwKLUlOQ1BBVEg9JChwcmVmaXgpL2luY2x1ZGUKLUxJQlBBVEg9JChwcmVmaXgpL2xpYgorTE9DQUxCQVNFPz0vdXNyL2xvY2FsCitMSUJESVI9CSR7TE9DQUxCQVNFfS9saWIKK01BTkRJUj0gJHtMT0NBTEJBU0V9L21hbgorSU5DU0RJUj0ke0xPQ0FMQkFTRX0vaW5jbHVkZQogCi0jIFRoZSB6bGliIGxpYnJhcnkgYW5kIGluY2x1ZGUgZmlsZXMgYXJlIHBhcnQgb2YgdGhlIHN0YW5kYXJkIHN5c3RlbQorTElCPXBuZworU0hMSUJfTUFKT1I9IDIKK1NITElCX01JTk9SPSAxLjAuMTEKK1NSQ1M9CXBuZ2djY3JkLmMgcG5nLmMgcG5nc2V0LmMgcG5nZ2V0LmMgcG5ncnV0aWwuYyBwbmd0cmFucy5jIHBuZ3d1dGlsLmMgXAorCXBuZ3JlYWQuYyBwbmdyaW8uYyBwbmd3aW8uYyBwbmd3cml0ZS5jIHBuZ3J0cmFuLmMgXAorCXBuZ3d0cmFuLmMgcG5nbWVtLmMgcG5nZXJyb3IuYyBwbmdwcmVhZC5jCitJTkNTPQlwbmcuaCBwbmdjb25mLmgKK01BTj0JbGlicG5nLjMgbGlicG5ncGYuMyBwbmcuNQogCi0jIHJlYWQgbGlicG5nLnR4dCBvciBwbmcuaCB0byBzZWUgd2h5IFBOR01BSiBpcyAyLiAgWW91IHNob3VsZCBub3QKLSMgaGF2ZSB0byBjaGFuZ2UgaXQuCi1QTkdNQUogPSAyCi1QTkdNSU4gPSAxLjAuMTFyYzEKLVBOR1ZFUiA9ICQoUE5HTUFKKS4kKFBOR01JTikKK0NQUEZMQUdTKz0tSSR7LkNVUkRJUn0gLURQTkdfVVNFX1BOR0dDQ1JECiAKLUNDPWNjCi0jIFlvdSBjYW4gZGVmaW5lIFBOR19BU1NFTUJMRVJfQ09ERV9TVVBQT1JURUQgaWYgYnVpbGRpbmcgZm9yIEludGVsIHg4NgotQ0ZMQUdTPS1PMiAtRFBOR19VU0VfUE5HR0NDUkQgIyAtRFBOR19BU1NFTUJMRVJfQ09ERV9TVVBQT1JURUQgIC1nIC1EUE5HX0RFQlVHPTEKLUxERkxBR1M9LVdsLC1SJHtMSUJQQVRIfSAtTC4gLWxwbmcgLWx6IC1sbQorQ1BQRkxBR1MrPS1EUE5HX05PX0FTU0VNQkxFUl9DT0RFCisjIHNvbWV0aGluZyBsaWtlIHRoaXMgZm9yIG1teCBhc3NlbWJsZXIsIGJ1dCBpdCBjb3JlIGR1bXBzIGZvciBtZSBhdCB0aGUgbW9tZW50CisjIC5pZiAke01BQ0hJTkVfQVJDSH0gPT0gImkzODYiCisjICAgTUtMSU5UPSBubworIyAuZWxzZQorIyAgIENQUEZMQUdTKz0tRFBOR19OT19BU1NFTUJMRVJfQ09ERQorIyAuZW5kaWYKIAotI1JBTkxJQj1lY2hvCi1SQU5MSUI9cmFubGliCitDTEVBTkZJTEVTKz1wbmd0ZXN0Lm8gcG5ndGVzdAogCi1PQkpTID0gcG5nZ2NjcmQubyBwbmcubyBwbmdzZXQubyBwbmdnZXQubyBwbmdydXRpbC5vIHBuZ3RyYW5zLm8gcG5nd3V0aWwubyBcCi0JcG5ncmVhZC5vIHBuZ3Jpby5vIHBuZ3dpby5vIHBuZ3dyaXRlLm8gcG5ncnRyYW4ubyBcCi0JcG5nd3RyYW4ubyBwbmdtZW0ubyBwbmdlcnJvci5vIHBuZ3ByZWFkLm8KK3BuZ3Rlc3QubzoJcG5ndGVzdC5jCisJJHtDQ30gLWMgJHtDUFBGTEFHU30gJHtDRkxBR1N9ICR7LkFMTFNSQ30gLW8gJHsuVEFSR0VUfQogCi1hbGw6IGxpYnBuZy5zbyBsaWJwbmcuYSBwbmd0ZXN0Citwbmd0ZXN0Oglwbmd0ZXN0Lm8gbGlicG5nLmEKKwkke0NDfSAke0xERkxBR1N9ICR7LkFMTFNSQ30gLW8key5UQVJHRVR9IC1seiAtbG0KIAotbGlicG5nLmE6ICQoT0JKUykKLQlhciByYyAkQCAgJChPQkpTKQotCSQoUkFOTElCKSAkQAordGVzdDoJcG5ndGVzdAorCWNkICR7LkNVUkRJUn0gJiYgJHsuT0JKRElSfS9wbmd0ZXN0CiAKLWxpYnBuZy5zbzogbGlicG5nLnNvLiQoUE5HTUFKKQotCWxuIC1mIC1zIGxpYnBuZy5zby4kKFBOR01BSikgbGlicG5nLnNvCi0KLWxpYnBuZy5zby4kKFBOR01BSik6IGxpYnBuZy5zby4kKFBOR1ZFUikKLQlsbiAtZiAtcyBsaWJwbmcuc28uJChQTkdWRVIpIGxpYnBuZy5zby4kKFBOR01BSikKLQotbGlicG5nLnNvLiQoUE5HVkVSKTogJChPQkpTKQotCSQoQ0MpIC1zaGFyZWQgLW8gJEAgJChPQkpTKSAtTCQoWkxJQkxJQikgLWx6IC1sbQotCi1wbmd0ZXN0OiBwbmd0ZXN0Lm8gbGlicG5nLmEKLQkkKENDKSAtbyBwbmd0ZXN0ICQoQ0ZMQUdTKSBwbmd0ZXN0Lm8gJChMREZMQUdTKQotCi10ZXN0OiBwbmd0ZXN0Ci0JLi9wbmd0ZXN0Ci0KLWluc3RhbGw6IGxpYnBuZy5hIGxpYnBuZy5zby4kKFBOR1ZFUikKLQktQG1rZGlyICQoSU5DUEFUSCkKLQktQG1rZGlyICQoTElCUEFUSCkKLQljcCBwbmcuaCAkKElOQ1BBVEgpCi0JY3AgcG5nY29uZi5oICQoSU5DUEFUSCkKLQljaG1vZCA2NDQgJChJTkNQQVRIKS9wbmcuaAotCWNobW9kIDY0NCAkKElOQ1BBVEgpL3BuZ2NvbmYuaAotCWNwIGxpYnBuZy5hICQoTElCUEFUSCkKLQljcCBsaWJwbmcuc28uJChQTkdWRVIpICQoTElCUEFUSCkKLQljaG1vZCA2NDQgJChMSUJQQVRIKS9saWJwbmcuYQotCWNobW9kIDY0NCAkKExJQlBBVEgpL2xpYnBuZy5zby4kKFBOR1ZFUikKLQktQC9iaW4vcm0gLWYgJChMSUJQQVRIKS9saWJwbmcuc28uJChQTkdNQUopICQoTElCUEFUSCkvbGlicG5nLnNvCi0JKGNkICQoTElCUEFUSCk7IGxuIC1mIC1zIGxpYnBuZy5zby4kKFBOR1ZFUikgbGlicG5nLnNvLiQoUE5HTUFKKTsgXAotCSBsbiAtZiAtcyBsaWJwbmcuc28uJChQTkdNQUopIGxpYnBuZy5zbykKLQotY2xlYW46Ci0Jcm0gLWYgKi5vIGxpYnBuZy5hIHBuZ3Rlc3QgcG5nb3V0LnBuZyBsaWJwbmcuc28qCi0KLSMgRE8gTk9UIERFTEVURSBUSElTIExJTkUgLS0gbWFrZSBkZXBlbmQgZGVwZW5kcyBvbiBpdC4KLQotcG5nZ2NjcmQubzogcG5nLmggcG5nY29uZi5oCi1wbmcubzogcG5nLmggcG5nY29uZi5oCi1wbmdlcnJvci5vOiBwbmcuaCBwbmdjb25mLmgKLXBuZ3Jpby5vOiBwbmcuaCBwbmdjb25mLmgKLXBuZ3dpby5vOiBwbmcuaCBwbmdjb25mLmgKLXBuZ21lbS5vOiBwbmcuaCBwbmdjb25mLmgKLXBuZ3NldC5vOiBwbmcuaCBwbmdjb25mLmgKLXBuZ2dldC5vOiBwbmcuaCBwbmdjb25mLmgKLXBuZ3JlYWQubzogcG5nLmggcG5nY29uZi5oCi1wbmdydHJhbi5vOiBwbmcuaCBwbmdjb25mLmgKLXBuZ3J1dGlsLm86IHBuZy5oIHBuZ2NvbmYuaAotcG5ndGVzdC5vOiBwbmcuaCBwbmdjb25mLmgKLXBuZ3RyYW5zLm86IHBuZy5oIHBuZ2NvbmYuaAotcG5nd3JpdGUubzogcG5nLmggcG5nY29uZi5oCi1wbmd3dHJhbi5vOiBwbmcuaCBwbmdjb25mLmgKLXBuZ3d1dGlsLm86IHBuZy5oIHBuZ2NvbmYuaAotcG5ncHJlYWQubzogcG5nLmggcG5nY29uZi5oCisuaW5jbHVkZSA8YnNkLmxpYi5taz4KZGlmZiAtLWdpdCBhL3NjcmlwdHMvbWFrZWZpbGUuc2NvIGIvc2NyaXB0cy9tYWtlZmlsZS5zY28KaW5kZXggOWE4NjYxZi4uNTQ2YWRjMyAxMDA2NDQKLS0tIGEvc2NyaXB0cy9tYWtlZmlsZS5zY28KKysrIGIvc2NyaXB0cy9tYWtlZmlsZS5zY28KQEAgLTI1LDcgKzI1LDcgQEAKICMgcmVhZCBsaWJwbmcudHh0IG9yIHBuZy5oIHRvIHNlZSB3aHkgUE5HTUFKIGlzIDIuICBZb3Ugc2hvdWxkIG5vdAogIyBoYXZlIHRvIGNoYW5nZSBpdC4KIFBOR01BSiA9IDIKLVBOR01JTiA9IDEuMC4xMXJjMQorUE5HTUlOID0gMS4wLjExCiBQTkdWRVIgPSAkKFBOR01BSikuJChQTkdNSU4pCiAKIElOQ1BBVEg9JChwcmVmaXgpL2luY2x1ZGUKZGlmZiAtLWdpdCBhL3NjcmlwdHMvbWFrZWZpbGUuc2dnY2MgYi9zY3JpcHRzL21ha2VmaWxlLnNnZ2NjCmluZGV4IGJhZGRiNTYuLjQ0MzExMTIgMTAwNjQ0Ci0tLSBhL3NjcmlwdHMvbWFrZWZpbGUuc2dnY2MKKysrIGIvc2NyaXB0cy9tYWtlZmlsZS5zZ2djYwpAQCAtMTksOCArMTksOCBAQAogTERGTEFHUz0tTC4gLUwkKFpMSUJMSUIpIC1scG5nIC1seiAtbG0KIExEU0hBUkVEPWdjYyAtc2hhcmVkCiAKLVZFUj0xLjAuMTFyYzEKLUxJQlM9bGlicG5nLnNvLjEuMC4xMXJjMQorVkVSPTEuMC4xMQorTElCUz1saWJwbmcuc28uMS4wLjExCiBTSEFSRURMSUI9bGlicG5nLnNvCiBsaWJkaXI9JChwcmVmaXgpL2xpYjMyCiAKZGlmZiAtLWdpdCBhL3NjcmlwdHMvbWFrZWZpbGUuc2dpIGIvc2NyaXB0cy9tYWtlZmlsZS5zZ2kKaW5kZXggMzUwNGViNS4uNTA4MzFjOSAxMDA2NDQKLS0tIGEvc2NyaXB0cy9tYWtlZmlsZS5zZ2kKKysrIGIvc2NyaXB0cy9tYWtlZmlsZS5zZ2kKQEAgLTI1LDcgKzI1LDcgQEAKIExERkxBR1M9LUwuIC1MJChaTElCTElCKSAtbHBuZyAtbHogLWxtCiBMRFNIQVJFRD1jYyAtc2hhcmVkCiAKLVZFUj0xLjAuMTFyYzEKK1ZFUj0xLjAuMTEKIFNPTlVNPTIKIFNIQVJFRExJQj1saWJwbmcuc28KIGxpYmRpcj0kKHByZWZpeCkKZGlmZiAtLWdpdCBhL3NjcmlwdHMvbWFrZWZpbGUuc29sYXJpcyBiL3NjcmlwdHMvbWFrZWZpbGUuc29sYXJpcwppbmRleCA4ZGU2ZmQ2Li4wYTk3MmY3IDEwMDY0NAotLS0gYS9zY3JpcHRzL21ha2VmaWxlLnNvbGFyaXMKKysrIGIvc2NyaXB0cy9tYWtlZmlsZS5zb2xhcmlzCkBAIC0zMSw3ICszMSw3IEBACiAjIHJlYWQgbGlicG5nLnR4dCBvciBwbmcuaCB0byBzZWUgd2h5IFBOR01BSiBpcyAyLiAgWW91IHNob3VsZCBub3QKICMgaGF2ZSB0byBjaGFuZ2UgaXQuCiBQTkdNQUogPSAyCi1QTkdNSU4gPSAxLjAuMTFyYzEKK1BOR01JTiA9IDEuMC4xMQogUE5HVkVSID0gJChQTkdNQUopLiQoUE5HTUlOKQogCiBJTkNQQVRIPSQocHJlZml4KS9pbmNsdWRlCmRpZmYgLS1naXQgYS9zY3JpcHRzL3BuZ2RlZi5wYXMgYi9zY3JpcHRzL3BuZ2RlZi5wYXMKaW5kZXggNTIyYjE2NS4uNTgzYWI0OCAxMDA2NDQKLS0tIGEvc2NyaXB0cy9wbmdkZWYucGFzCisrKyBiL3NjcmlwdHMvcG5nZGVmLnBhcwpAQCAtNyw3ICs3LDcgQEAKIGludGVyZmFjZQogCiBjb25zdAotICBQTkdfTElCUE5HX1ZFUl9TVFJJTkcgPSAnMS4wLjExcmMxJzsKKyAgUE5HX0xJQlBOR19WRVJfU1RSSU5HID0gJzEuMC4xMSc7CiAgIFBOR19MSUJQTkdfVkVSICAgICAgICA9ICAxMDAxMTsKIAogdHlwZQpkaWZmIC0tZ2l0IGEvc2NyaXB0cy9wbmdvczIuZGVmIGIvc2NyaXB0cy9wbmdvczIuZGVmCmluZGV4IGM4ODViYmQuLmI0YjczZjcgMTAwNjQ0Ci0tLSBhL3NjcmlwdHMvcG5nb3MyLmRlZgorKysgYi9zY3JpcHRzL3BuZ29zMi5kZWYKQEAgLTIsNyArMiw3IEBACiA7IFBORy5MSUIgbW9kdWxlIGRlZmluaXRpb24gZmlsZSBmb3IgT1MvMgogOy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotOyBWZXJzaW9uIDEuMC4xMXJjMQorOyBWZXJzaW9uIDEuMC4xMQogCiBMSUJSQVJZCQlQTkcKIERFU0NSSVBUSU9OCSJQTkcgaW1hZ2UgY29tcHJlc3Npb24gbGlicmFyeSBmb3IgT1MvMiIK