ZGlmZiAtLWdpdCBhL0FOTk9VTkNFIGIvQU5OT1VOQ0UKaW5kZXggZmE2YzNjNS4uNmRhOWZkYyAxMDA2NDQKLS0tIGEvQU5OT1VOQ0UKKysrIGIvQU5OT1VOQ0UKQEAgLTEsMTMgKzEsMTIgQEAKLVRoaXMgaXMgcmVsZWFzZSAyMDAzMDgxMyBvZiBXaW5lLCBhIGZyZWUgaW1wbGVtZW50YXRpb24gb2YgV2luZG93cyBvbgorVGhpcyBpcyByZWxlYXNlIDIwMDMwOTExIG9mIFdpbmUsIGEgZnJlZSBpbXBsZW1lbnRhdGlvbiBvZiBXaW5kb3dzIG9uCiBVbml4LiAgVGhpcyBpcyBzdGlsbCBhIGRldmVsb3BlcnMgb25seSByZWxlYXNlLiAgVGhlcmUgYXJlIG1hbnkgYnVncwogYW5kIHVuaW1wbGVtZW50ZWQgZmVhdHVyZXMuICBNb3N0IGFwcGxpY2F0aW9ucyBzdGlsbCBkbyBub3Qgd29yawogY29ycmVjdGx5LgogCi1XSEFUJ1MgTkVXIHdpdGggV2luZS0yMDAzMDgxMzogKHNlZSBDaGFuZ2VMb2cgZm9yIGRldGFpbHMpCi0gICAgICAgIC0gUGFydGlhbCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgTWljcm9zb2Z0IEluc3RhbGxlciAobXNpLmRsbCkuCi0gICAgICAgIC0gR1VJIGZvciByZWdlZGl0IChmcm9tIFJlYWN0T1MpLgotICAgICAgICAtIERpcmVjdE11c2ljIGRsbHMgcmVvcmdhbml6YXRpb24uCi0gICAgICAgIC0gTWFueSBXaW5pbmV0IGltcHJvdmVtZW50cy4KK1dIQVQnUyBORVcgd2l0aCBXaW5lLTIwMDMwOTExOiAoc2VlIENoYW5nZUxvZyBmb3IgZGV0YWlscykKKyAgICAgICAgLSBNYW55IGltcHJvdmVtZW50cyB0byB0aGUgd2luZWNmZyBjb25maWd1cmF0aW9uIHRvb2wuCisgICAgICAgIC0gTWFzc2l2ZSBoZWFkZXIgZmlsZXMgY2xlYW51cCBmb3IgYmV0dGVyIHNvdXJjZSBjb21wYXRpYmlsaXR5LgorICAgICAgICAtIFNvbWUgbW9yZSBwcm9ncmVzcyBvbiB0aGUga2VybmVsL250ZGxsIHNlcGFyYXRpb24uCiAgICAgICAgIC0gTG90cyBvZiBidWcgZml4ZXMuCiAKIFNlZSB0aGUgUkVBRE1FIGZpbGUgaW4gdGhlIGRpc3RyaWJ1dGlvbiBmb3IgaW5zdGFsbGF0aW9uIGluc3RydWN0aW9ucy4KQEAgLTE2LDggKzE1LDggQEAKIHRoZSByZWxlYXNlIGlzIGF2YWlsYWJsZSBhdCB0aGUgZnRwIHNpdGVzLiAgVGhlIHNvdXJjZXMgd2lsbCBiZSBhdmFpbGFibGUKIGZyb20gdGhlIGZvbGxvd2luZyBsb2NhdGlvbnM6CiAKLSAgaHR0cDovL3d3dy5pYmlibGlvLm9yZy9wdWIvTGludXgvQUxQSEEvd2luZS9kZXZlbG9wbWVudC9XaW5lLTIwMDMwODEzLnRhci5negotICBodHRwOi8vcHJkb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L3dpbmUvV2luZS0yMDAzMDgxMy50YXIuZ3oKKyAgaHR0cDovL3d3dy5pYmlibGlvLm9yZy9wdWIvTGludXgvQUxQSEEvd2luZS9kZXZlbG9wbWVudC9XaW5lLTIwMDMwOTExLnRhci5negorICBodHRwOi8vcHJkb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L3dpbmUvV2luZS0yMDAzMDkxMS50YXIuZ3oKIAogSXQgc2hvdWxkIGFsc28gYmUgYXZhaWxhYmxlIGZyb20gYW55IG90aGVyIHNpdGUgdGhhdCBtaXJyb3JzIGliaWJsaW8ub3JnLgogVGhlc2UgbG9jYXRpb25zIGFsc28gaG9sZCBwcmUtYnVpbHQgZG9jdW1lbnRhdGlvbiBwYWNrYWdlcyBpbiB2YXJpb3VzCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggNmMzZjJkNi4uZmQ3M2JjYSAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSw0ICsxLDE1NDIgQEAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzIwMDMtMDktMTEgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMva2VybmVsL2NvbW0uYywgaW5jbHVkZS93aW5iYXNlLmg6CisJS2V2aW4gR3JvZW5ldmVsZCA8a2dyb2VuZXZlbGRAbWNtYXN0ZXIuY2E+CisJQWRkIG1pc3Npbmcgd1Jlc2VydmVkMSBtZW1iZXIgdG8gRENCIHN0cnVjdHVyZSBkZWZpbml0aW9uLgorCUZpeCBzZXZlcmFsIGJ1Z3MgaW4gQnVpbGRDb21tRENCQW5kVGltZW91dHM6CisJLSBtYWtlIHN1cmUgTFBDU1RSIHBhcmFtZXRlciBpcyByZWFsbHkgdHJlYXRlZCBhcyBjb25zdGFudAorCS0gZml4IHBvc3NpYmxlIGJ1ZmZlciBvdmVyZmxvdyBpZiBwYXNzZWQgaW4gc3RyaW5nIGlzIHRvbyBsb25nCisJLSBpZiB0aGUgZGV2aWNlIGNvbnRyb2wgc3RyaW5nIGlzIGludmFsaWQsIGRvIG5vdCBtb2RpZnkgRENCCisJLSBkbyBub3QgY2xlYXIgZW50aXJlIERDQiwgb25seSBtb2RpZnkgYXBwcm9wcmlhdGUgbWVtYmVycworCS0gZml4IHBhcnNpbmcgb2Ygc3RvcCBiaXRzIHBhcmFtZXRlciBzbyBpdCB3b3JrcyBmb3IgMSBhbmQgMS41CisJLSBwb3B1bGF0ZSBDT01NVElNRU9VVFMgd2hlbiB0bz14eHggcGFyYW1ldGVyIGlzIHNwZWNpZmllZAorCS0gYWRkZWQgc3VwcG9ydCBmb3IgeG9uLCBvZHNyLCBvY3RzLCBkdHIsIHJ0cywgYW5kIGlkc3IgcGFyYW1ldGVycworCS0gZml4IHNldmVyYWwgb3RoZXIgcGFyc2luZyBlcnJvcnMKKworCSogdG9vbHMvd2luZWdjYy93aW5ld3JhcC5jOiBSaWNoYXJkIENvaGVuIDxyaWNoYXJkLmNvaGVuQHZpcmdpbi5uZXQ+CisJSGFuZGxlIC1MPGRpcj4gaW4gYSBzZXBhcmF0ZSBhcnJheS4KKworCSogZGxscy9tc3ZpZGVvL21zdmlkZW9fbWFpbi5jLCBkbGxzL3dpbm1tL3dpbmVtbS5oLCBpbmNsdWRlL21tc3lzdGVtLmg6CisJRXJpYyBQb3VlY2ggPHBvdWVjaC1lcmljQHdhbmFkb28uZnI+CisJTW92ZWQgc29tZSBNTSBpbnRlcm5hbCBkZWZpbml0aW9uIHRvIGludGVybmFsIGluY2x1ZGUgZmlsZXMuCisKKwkqIHdpbmRvd3MvZGlhbG9nLmM6IEtldmluIEdyb2VuZXZlbGQgPGtncm9lbmV2ZWxkQG1jbWFzdGVyLmNhPgorCU1vZGlmeSBDaGVja1JhZGlvQnV0dG9uIGZ1bmN0aW9uIHRvIGJlIG1vcmUgY29uc2lzdGVudCB3aXRoIFdpbmRvd3MuCisKKwkqIGRsbHMvb2xlYXV0MzIvdXNybWFyc2hhbC5jOiBNaWtlIEhlYXJuIDxtaWtlQHRoZW9yZXRpYy5jb20+CisJSW1wbGVtZW50IGRpc3BhdGNoIHZhcmlhbnQgbWFyc2hhbGxpbmcuCisKKwkqIGRsbHMvZ2x1MzIvZ2x1MzIuc3BlYzogRGF2ZSBNaWxsZXIgPGNvbXBzb2xAcHRkLm5ldD4KKwlBbHBoYWJldGl6ZWQgdGhlIGZ1bmN0aW9ucy4KKworCSogZGxscy9jb21jdGwzMi90b29sYmFyLmM6IFJvYmVydCBTaGVhcm1hbiA8Ui5KLlNoZWFybWFuQHdhcndpY2suYWMudWs+CisJLSBNYWtlIHN1cmUgZHJvcGRvd24gYXJyb3cgaXMgYWx3YXlzIGNlbnRlcmVkLgorCS0gQWRkIHN1cHBvcnQgZm9yIHRoZSBUQk5SRl9ISURFSEVMUCBjdXN0b21pemF0aW9uIGZsYWcsIGJ1dCBlbWl0IGEKKwkgIEZJWE1FIHdoZW4gaXQgaXNuJ3QgcHJlc2VudC4KKworCSogdG9vbHMvd2luZWdjYy9NYWtlZmlsZS5pbiwgdG9vbHMvd2luZWdjYy93aW5ld3JhcC5jOgorCVNldCB0aGUgZGxsIHNlYXJjaCBwYXRoIHRvIHRoZSBsb2NhdGlvbiBzcGVjaWZpZWQgaW4gY29uZmlndXJlCisJKHNwb3R0ZWQgYnkgVmluY2VudCBC6XJvbikuCisKKwkqIGluY2x1ZGUvcG9wcGFjay5oLCBpbmNsdWRlL3BzaHBhY2sxLmgsIGluY2x1ZGUvcHNocGFjazIuaCwKKwkgIGluY2x1ZGUvcHNocGFjazQuaCwgaW5jbHVkZS9wc2hwYWNrOC5oOgorCURpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJUmVtb3ZlIGNoZWNrcyBmcm9tIHtwb3AscHNofXBhY2tbMTI0OF0uaCB0aGF0IHdlcmUgY2F1c2luZyB0aGUKKwlzdGFuZGFsb25lIHByb2Nlc3NvciB0byBmYWlsLgorCisJKiBkbGxzL3NobHdhcGkvc2hsd2FwaS5zcGVjOiBKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCU1MTG9hZGxpYnJhcnk6IFJlbW92ZSAtbm9uYW1lIGFuZCBkdXBsaWNhdGUgZW50cnkuCisKKwkqIGRvY3VtZW50YXRpb24vZmFxLnNnbWwsIGRvY3VtZW50YXRpb24vc2FtcGxlcy9jb25maWc6CisJVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCU1lbnRpb24gd2luMmszIHN1cHBvcnQgaW4gdGhlIHNhbXBsZSBjb25maWcgYW5kIGluIHRoZSBmYXEuCisKKwkqIHRvb2xzL3dpbmVnY2MvTWFrZWZpbGUuaW4sIHRvb2xzL3dpbmVnY2MvdXRpbHMuYywKKwkgIHRvb2xzL3dpbmVnY2MvdXRpbHMuaCwgdG9vbHMvd2luZWdjYy93aW5lZ2NjLmMsCisJICB0b29scy93aW5lZ2NjL3dpbmV3cmFwLmM6CisJUmljaGFyZCBDb2hlbiA8cmljaGFyZC5jb2hlbkB2aXJnaW4ubmV0PgorCVVzZSBhbiBleHRlbmRhYmxlIGFycmF5IHRvIHN0b3JlIHRoZSBsaXN0cyBvZiBzdHJpbmdzLgorCU9ubHkgbWFrZSB3cmFwcGVyIGFyZ3VtZW50IGxpc3RzIGlmIHdlJ3JlIGdvaW5nIHRvIHVzZSB0aGVtLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgdG9vbHMvLmN2c2lnbm9yZSwgdG9vbHMvTWFrZWZpbGUuaW4sCisJICB0b29scy93aW5lZ2NjLmMsIHRvb2xzL3dpbmVnY2MvLmN2c2lnbm9yZSwgdG9vbHMvd2luZWdjYy9NYWtlZmlsZS5pbiwKKwkgIHRvb2xzL3dpbmVnY2Mvd2luZWdjYy5jLCB0b29scy93aW5lZ2NjL3dpbmV3cmFwLmMsIHRvb2xzL3dpbmV3cmFwLmM6CisJTW92ZWQgd2luZWdjYyBhbmQgd2luZXdyYXAgdG8gYSBzZXBhcmF0ZSBkaXJlY3RvcnkuCisKKwkqIGRsbHMvcXVhcnR6L01ha2VmaWxlLmluLCBkbGxzL3F1YXJ0ei9lbnVtbWVkaWEuYywgZGxscy9xdWFydHovbWFpbi5jLAorCSAgZGxscy9xdWFydHovbWVtYWxsb2NhdG9yLmMsIGRsbHMvcXVhcnR6L3F1YXJ0el9wcml2YXRlLmg6CisJUm9iZXJ0IFNoZWFybWFuIDxSLkouU2hlYXJtYW5Ad2Fyd2ljay5hYy51az4KKwlJbXBsZW1lbnRlZCBJTWVtQWxsb2NhdG9yIGFuZCBJTWVkaWFTYW1wbGUuCisKKwkqIGluY2x1ZGUvd2luZS9saXN0LmgsIHNlcnZlci9jaGFuZ2UuYywgc2VydmVyL2xpc3QuaCwgc2VydmVyL29iamVjdC5jLAorCSAgc2VydmVyL29iamVjdC5oOgorCU1vdmVkIGxpc3QuaCB0byBpbmNsdWRlL3dpbmUgc28gdGhhdCBpdCBjYW4gYmUgdXNlZCBldmVyeXdoZXJlLgorCisJKiBwcm9ncmFtcy93Y21kL3djbWRtYWluLmM6IEZlcmVuYyBXYWduZXIgPHdmZXJpQGFmYXZhbnQuZWx0ZS5odT4KKwlJbXBsZW1lbnQgPj4gc3R5bGUgKGFwcGVuZCkgb3V0cHV0IHJlZGlyZWN0aW9uLgorCisJKiBpbmNsdWRlL3dpbmdkaS5oOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVRoZSBHZXRbUkdCXVZhbHVlKCkgbWFjcm9zIHNob3VsZCByZXR1cm4gYSBCWVRFLCBub3QgdGhlIHNhbWUgdHlwZSBhcworCXRoZSBvbmUgcGFzc2VkIGluLgorCisJKiBkbGxzL3NobHdhcGkvc2hsd2FwaS5zcGVjOgorCUNoYW5nZWQgb3JkaW5hbCBmdW5jdGlvbnMgdGhhdCBub3cgaGF2ZSBhIG5hbWUgdG8gdXNlIC1ub25hbWUgaW5zdGVhZAorCW9mIG5hbWVsZXNzIGV4cG9ydHMuCisKKwkqIGRsbHMvbmV0YXBpMzIvbmV0YXBpMzIuYywgZGxscy9uZXRhcGkzMi9uZXRhcGkzMi5zcGVjLAorCSAgaW5jbHVkZS9NYWtlZmlsZS5pbiwgaW5jbHVkZS9sbS5oLCBpbmNsdWRlL2xtc3RhdHMuaDoKKwlHZW9mZiBUaG9ycGUgPGdlb2ZmQGdlb2ZmdGhvcnBlLm5ldD4KKwlBZGRlZCBhIHN0dWIgZm9yIE5ldFN0YXRpc3RpY3NHZXQuCisKKwkqIGRsbHMvb2xlMzIvYW50aW1vbmlrZXIuYywgZGxscy9vbGUzMi9iaW5kY3R4LmMsCisJICBkbGxzL29sZTMyL2NsaXBib2FyZC5jLCBkbGxzL29sZTMyL2NvbXBvYmouYywKKwkgIGRsbHMvb2xlMzIvY29tcG9zaXRlbW9uaWtlci5jLCBkbGxzL29sZTMyL2RhdGFjYWNoZS5jLAorCSAgZGxscy9vbGUzMi9kZWZhdWx0aGFuZGxlci5jLCBkbGxzL29sZTMyL2Vycm9yaW5mby5jLAorCSAgZGxscy9vbGUzMi9maWxlbW9uaWtlci5jLCBkbGxzL29sZTMyL2Z0bWFyc2hhbC5jLAorCSAgZGxscy9vbGUzMi9oZ2xvYmFsc3RyZWFtLmMsIGRsbHMvb2xlMzIvaWZzLmMsCisJICBkbGxzL29sZTMyL2l0ZW1tb25pa2VyLmMsIGRsbHMvb2xlMzIvbWFyc2hhbC5jLAorCSAgZGxscy9vbGUzMi9tZW1sb2NrYnl0ZXMuYywgZGxscy9vbGUzMi9tb25pa2VyLmMsIGRsbHMvb2xlMzIvb2xlMi5jLAorCSAgZGxscy9vbGUzMi9vbGUyaW1wbC5jLCBkbGxzL29sZTMyL29sZTJzdHVicy5jLAorCSAgZGxscy9vbGUzMi9vbGUzMl9tYWluLmMsIGRsbHMvb2xlMzIvb2xlb2JqLmMsIGRsbHMvb2xlMzIvb2xlcHJveHkuYywKKwkgIGRsbHMvb2xlMzIvcmVnc3ZyLmMsIGRsbHMvb2xlMzIvc3RvcmFnZTMyLmM6CisJRGF2ZSBNaWxsZXIgPGNvbXBzb2xAcHRkLm5ldD4KKwlSZW1vdmVkIG9yZGluYWxzIGZyb20gY29tbWVudHMuCisKKwkqIGRsbHMvb2xlMzIvb2xlMzIuc3BlYzogRGF2ZSBNaWxsZXIgPGNvbXBzb2xAcHRkLm5ldD4KKwlSZW1vdmUgYWxsIHRoZSBvcmRpbmFscyBhbmQgdXNlIEAgaW5zdGVhZC4KKworCSogZGxscy9rZXJuZWwva2VybmVsMzIuc3BlYywgZGxscy9rZXJuZWwvdG9vbGhlbHAuYywKKwkgIGluY2x1ZGUvdGxoZWxwMzIuaDoKKwlHZW9mZiBUaG9ycGUgPGdlb2ZmQGdlb2ZmdGhvcnBlLm5ldD4KKwlBZGRlZCBhIHN0dWIgZm9yIEhlYXAzMkxpc3RGaXJzdC4KKworCSogZGxscy9zZXR1cGFwaS9kZXZpbnN0LmMsIGRsbHMvc2V0dXBhcGkvaW5mcGFyc2UuYywKKwkgIGRsbHMvc2V0dXBhcGkvaW5zdGFsbC5jLCBkbGxzL3NldHVwYXBpL3BhcnNlci5jLAorCSAgZGxscy9zZXR1cGFwaS9xdWV1ZS5jLCBkbGxzL3NldHVwYXBpL3NldHVwY2FiLmMsCisJICBkbGxzL3NldHVwYXBpL3N0dWJzLmM6CisJU3RldmVuIEVkd2FyZHMgPFN0ZXZlbl9FZDQxNTNAeWFob28uY29tPgorCVBvcnRpbmcgZml4ZXMuCisKKwkqIGRsbHMvc2hsd2FwaS9hc3NvYy5jLCBkbGxzL3NobHdhcGkvY2xpc3QuYywgZGxscy9zaGx3YXBpL2lzdHJlYW0uYywKKwkgIGRsbHMvc2hsd2FwaS9vcmRpbmFsLmMsIGRsbHMvc2hsd2FwaS9wYXRoLmMsIGRsbHMvc2hsd2FwaS9yZWcuYywKKwkgIGRsbHMvc2hsd2FwaS9yZWdzdHJlYW0uYywgZGxscy9zaGx3YXBpL3NobHdhcGkuc3BlYywKKwkgIGRsbHMvc2hsd2FwaS9zdHJpbmcuYywgZGxscy9zaGx3YXBpL3RocmVhZC5jLCBkbGxzL3NobHdhcGkvdXJsLmM6CisJUm9iZXJ0IFNoZWFybWFuIDxSLkouU2hlYXJtYW5Ad2Fyd2ljay5hYy51az4KKwktIENvbnZlcnQgb3JkaW5hbHMgdG8gdGhlaXIgcmVhbCBuYW1lcy4KKwktIFBhcnRpYWxseSBpbXBsZW1lbnQgYSBmZXcgQXNzb2MqIGZ1bmN0aW9ucy4KKworCSogZGxscy93aW5tbS90ZXN0cy93YXZlLmM6IEZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCU1vZGlmeSBvaygieHh4IikgY2FsbHMgaW50byBvaygieHh4XG4iKSBhcyBpcyBub3cgZXhwZWN0ZWQuCisKKwkqIGRvY3VtZW50YXRpb24vZmFxLnNnbWw6IEZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCVVwZGF0ZWQgdGhlIFdpbmUgcG9ydHMgc2VjdGlvbi4KKworCSogc2NoZWR1bGVyL3B0aHJlYWQuYzoKKwlBZGRlZCBwdHJfX19wdGhyZWFkX2NvbmRfdGltZWR3YWl0IGluIHRoZSBwdGhyZWFkX2Z1bmN0aW9ucyBzdHJ1Y3R1cmUKKwl0byBtYXRjaCB0aGUgbGF0ZXN0IGdsaWJjLgorCisJKiBkbGxzL2tlcm5lbC90ZXN0cy9sb2NhbGUuYywgZGxscy9vbGVhdXQzMi90ZXN0cy92YXJ0ZXN0LmMsCisJICBkbGxzL3VzZXIvdGVzdHMvc3lzcGFyYW1zLmMsIGluY2x1ZGUvd2luZS90ZXN0Lmg6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJTW9kaWZ5IHdpbmV0ZXN0X29rIHRvIG9ubHkgYWRkIGEgdHJhaWxpbmcgJ1xuJyBpZiB0aGVyZSBpcyBub25lLgorCU1vZGlmeSBtYWNyb3MgaW4gdGhlIGtlcm5lbCwgb2xlYXV0MzIgYW5kIHVzZXIgdGVzdHMgdG8gcHJpbnQgYSAnXG4nLgorCisJKiBkbGxzL3JwY3J0NC9ycGNydDRfbWFpbi5jOgorCUdyZWdvcnkgTS4gVHVybmVyIDxnbXR1cm5lcjAwN0BhbWVyaXRlY2gubmV0PgorCVVwZGF0ZWQgdGhlICJUT0RPIiBjb21tZW50cy4KKworCSogZGxscy9jb21jdGwzMi9jb21jdGwzMi5zcGVjLCBkbGxzL2NvbWN0bDMyL2NvbWN0bDMydW5kb2MuYywKKwkgIGRsbHMvc2hkb2N2dy9zaGRvY3Z3LnNwZWMsIGRsbHMvc2hkb2N2dy9zaGRvY3Z3X21haW4uYzoKKwlSb2JlcnQgU2hlYXJtYW4gPFIuSi5TaGVhcm1hbkB3YXJ3aWNrLmFjLnVrPgorCUFkZCBwcm9wZXIgbmFtZXMgdG8gb3JkaW5hbC1vbmx5IGZ1bmN0aW9ucy4KKworCSogcHJvZ3JhbXMvd2luZW1pbmUvUnUucmM6IE9sZWcgUHJva2hvcm92IDx4b2xlZ3Byb0ByYmNtYWlsLnJ1PgorCVNtYWxsIGdyYW1tYXIgZml4LgorCisJKiBtc2Rvcy9wcGRldi5jOiBBbmRyZWFzIE1vaHIgPGFuZGlAcmhseDAxLmZodC1lc3NsaW5nZW4uZGU+CisJLSBzcGVsbGluZyBmaXhlcworCS0gY2hhbmdlIG9uZSBpbGwtY2hvc2VuIEZJWE1FIHRvIEVSUgorCisJKiBkbGxzL2NvbWN0bDMyL2NvbW1jdHJsLmM6IEd59nJneSAnTm9nJyBKZW5leSA8bm9nQHNkZi5sb25lc3Rhci5vcmc+CisJRml4IGludmFsaWQgQyBjb25zdHJ1Y3RzIChzcG90dGVkIGJ5IE1hcmN1cyBNZWlzc25lcikuCisKKwkqIGRvY3VtZW50YXRpb24vZmFxLnNnbWw6IEZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCVJldmVydCBzb21lIHdvcmQtc3BsaXRzIHRvIHRoZWlyIG5vcm1hbCBmb3JtLCBlLmcuIEluc3RhbGxTaGllbGQuCisJRml4IGNhc2Ugb2YgVHJhbnNHYW1pbmcgaW4gdHdvIHBsYWNlcy4KKwlGaXggdGhlIFVSTCB0byBkb3Nmcy4KKworCSogZGxscy9xdWFydHovdmVyc2lvbi5yYzogVG9tIFdpY2tsaW5lIDx0d2lja2xpbmVAc2t5YmVzdC5jb20+CisJU2V0IHZlcnNpb24gdG8gOC4xLgorCisyMDAzLTA5LTEwICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiB0b29scy93aW5lZHVtcC9wZS5jOiBBZGRlZCBkdW1waW5nIG9mIG1lc3NhZ2UgdGFibGUgcmVzb3VyY2VzLgorCisJKiBjb250cm9scy9idXR0b24uYywgY29udHJvbHMvY29tYm8uYywgY29udHJvbHMvZGVza3RvcC5jLAorCSAgY29udHJvbHMvZWRpdC5jLCBjb250cm9scy9pY29udGl0bGUuYywgY29udHJvbHMvbGlzdGJveC5jLAorCSAgY29udHJvbHMvbWVudS5jLCBjb250cm9scy9zY3JvbGwuYywgY29udHJvbHMvc3RhdGljLmMsCisJICBkbGxzL2NvbWN0bDMyL2FuaW1hdGUuYywgZGxscy9jb21jdGwzMi9jb21ib2V4LmMsCisJICBkbGxzL2NvbWN0bDMyL2NvbW1jdHJsLmMsIGRsbHMvY29tY3RsMzIvZGF0ZXRpbWUuYywKKwkgIGRsbHMvY29tY3RsMzIvZmxhdHNiLmMsIGRsbHMvY29tY3RsMzIvaGVhZGVyLmMsCisJICBkbGxzL2NvbWN0bDMyL2lwYWRkcmVzcy5jLCBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmMsCisJICBkbGxzL2NvbWN0bDMyL21vbnRoY2FsLmMsIGRsbHMvY29tY3RsMzIvbmF0aXZlZm9udC5jLAorCSAgZGxscy9jb21jdGwzMi9wYWdlci5jLCBkbGxzL2NvbWN0bDMyL3Byb2dyZXNzLmMsCisJICBkbGxzL2NvbWN0bDMyL3Byb3BzaGVldC5jLCBkbGxzL2NvbWN0bDMyL3JlYmFyLmMsCisJICBkbGxzL2NvbWN0bDMyL3N0YXR1cy5jLCBkbGxzL2NvbWN0bDMyL3RhYi5jLCBkbGxzL2NvbWN0bDMyL3Rvb2xiYXIuYywKKwkgIGRsbHMvY29tY3RsMzIvdG9vbHRpcHMuYywgZGxscy9jb21jdGwzMi90cmFja2Jhci5jLAorCSAgZGxscy9jb21jdGwzMi90cmVldmlldy5jLCBkbGxzL2NvbWN0bDMyL3VwZG93bi5jLAorCSAgZGxscy9jb21tZGxnL2NvbG9yZGxnLmMsIGRsbHMvY29tbWRsZy9jb2xvcmRsZzE2LmMsCisJICBkbGxzL2NvbW1kbGcvZmlsZWRsZy5jLCBkbGxzL2NvbW1kbGcvZmlsZWRsZzk1LmMsCisJICBkbGxzL2NvbW1kbGcvZmluZGRsZy5jLCBkbGxzL2NvbW1kbGcvZmluZGRsZzMyLmMsCisJICBkbGxzL2NvbW1kbGcvZm9udGRsZy5jLCBkbGxzL2NvbW1kbGcvZm9udGRsZzE2LmMsCisJICBkbGxzL2NvbW1kbGcvcHJpbnRkbGcuYywgZGxscy9jb21tZGxnL3ByaW50ZGxnMTYuYywKKwkgIGRsbHMvZGRyYXcvZHN1cmZhY2Uvd25kcHJvYy5jLCBkbGxzL2tlcm5lbC9mb3JtYXRfbXNnLmMsCisJICBkbGxzL2tlcm5lbC9sb2NhbGUuYywgZGxscy9rZXJuZWwvcmVzb3VyY2UxNi5jLCBkbGxzL21zdmNydC9sb2NhbGUuYywKKwkgIGRsbHMvcmljaGVkaXQvcmljaGVkaXQuYywgZGxscy9zZXR1cGFwaS92aXJ0Y29weS5jLAorCSAgZGxscy9zaGVsbDMyL2Jyc2ZvbGRlci5jLCBkbGxzL3NoZWxsMzIvZGlhbG9ncy5jLAorCSAgZGxscy9zaGVsbDMyL3NoZWxsMzJfbWFpbi5jLCBkbGxzL3NoZWxsMzIvc2hsdmlldy5jLAorCSAgZGxscy9zaGVsbDMyL3N5c3RyYXkuYywgZGxscy9zaGx3YXBpL29yZGluYWwuYywgZGxscy91c2VyL2NvbnRyb2xzLmgsCisJICBkbGxzL3VzZXIvZGlhbG9nMTYuYywgZGxscy91c2VyL2V4dGljb24uYywgZGxscy91c2VyL3Jlc291cmNlLmMsCisJICBkbGxzL3VzZXIvdGVzdHMvc3lzcGFyYW1zLmMsIGRsbHMvdXNlci90ZXN0cy93aW4uYywgZGxscy93aW5tbS9tY2kuYywKKwkgIGRsbHMvd2lubW0vbWNpYXZpL3duZC5jLCBkbGxzL3dpbm1tL21tc3lzdGVtLmMsCisJICBkbGxzL3gxMWRydi9kZXNrdG9wLmMsIGluY2x1ZGUvd2luZS93aW51c2VyMTYuaCwgaW5jbHVkZS93aW51c2VyLmgsCisJICBwcm9ncmFtcy93aW5lbWVudWJ1aWxkZXIvd2luZW1lbnVidWlsZGVyLmMsCisJICBwcm9ncmFtcy93aW5oZWxwL3dpbmhlbHAuYywgd2luZG93cy9jbGFzcy5jLCB3aW5kb3dzL2N1cnNvcmljb24uYywKKwkgIHdpbmRvd3MvZGVmd25kLmMsIHdpbmRvd3MvZGlhbG9nLmMsIHdpbmRvd3MvbWRpLmMsIHdpbmRvd3MvbXNnYm94LmMsCisJICB3aW5kb3dzL25vbmNsaWVudC5jOgorCVJlbW92ZWQgdGhlIEEvVyBjb25zdGFudHMgZm9yIGJ1aWx0aW4gY3Vyc29ycywgaWNvbnMgYW5kIHJlc291cmNlCisJdHlwZXMgc2luY2UgdGhleSBkb24ndCBleGlzdCBvbiBXaW5kb3dzLCBhbmQgYWRkZWQgdHlwZWNhc3RzCisJZXZlcnl3aGVyZSBpbnN0ZWFkLgorCisJKiB0b29scy93cmMvdXRpbHMuYzogU3RldmVuIEVkd2FyZHMgPFN0ZXZlbl9FZDQxNTNAeWFob28uY29tPgorCVBvcnRhYmlsaXR5IGZpeCBmb3IgbGFuZ3VhZ2UgaWRzLgorCisJKiBwcm9ncmFtcy9jbG9jay9XYS5yYywgcHJvZ3JhbXMvbm90ZXBhZC9XYS5yYywgcHJvZ3JhbXMvd2luaGVscC9XYS5yYzoKKwlQYXZlbCBSb3NraW4gPHByb3NraUBnbnUub3JnPgorCUNvbXBpbGUgV2Fsb24gcmVzb3VyY2VzIG9ubHkgaWYgTEFOR19XQUxPTiBpcyBkZWZpbmVkLgorCisJKiBwcm9ncmFtcy93aW5lY2ZnL2RyaXZlLmMsIHByb2dyYW1zL3dpbmVjZmcvd2luZWNmZy5jLAorCSAgcHJvZ3JhbXMvd2luZWNmZy93aW5lY2ZnLmg6CisJTWlrZSBIZWFybiA8bWlrZUB0aGVvcmV0aWMuY29tPgorCS0gQnVnZml4ZXMgdG8gdGhlIHRyYW5zYWN0aW9uIHN5c3RlbS4KKwktIEJldHRlciBwcm90ZWN0aW9uIGFnYWluc3QgaW5jb21wbGV0ZSBjb25maWcgc2VjdGlvbnMuCisJLSBJbXBsZW1lbnQgIkFkZCBEcml2ZSIuCisJLSBQYXJ0bHkgcmVhY3RpdmF0ZSBlZGl0IGRyaXZlIGRpYWxvZy4KKworMjAwMy0wOS0wOSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9hdmljYXAzMi9hdmljYXAzMl9tYWluLmMsIGRsbHMvYXZpZmlsMzIvZXh0cmFjaHVuay5jLAorCSAgZGxscy9hdmlmaWwzMi9mYWN0b3J5LmMsIGRsbHMvYXZpZmlsMzIvZ2V0ZnJhbWUuYywKKwkgIGRsbHMvZHBsYXl4L2RwbGF5LmMsIGRsbHMvZHBsYXl4L2RwbGF5c3AuaCwKKwkgIGRsbHMvZHBsYXl4L2RwbGF5eF9nbG9iYWwuaCwgZGxscy9kcGxheXgvZHBsb2JieS5jLAorCSAgZGxscy9kcGxheXgvbG9iYnlzcC5oLCBkbGxzL21zaHRtbC9tYWluLmMsCisJICBkbGxzL21zdmlkZW8vbXNybGUzMi9tc3JsZV9wcml2YXRlLmgsIGRsbHMvb2xlMzIvY29tcG9zaXRlbW9uaWtlci5jLAorCSAgZGxscy9vbGUzMi9kZWZhdWx0aGFuZGxlci5jLCBkbGxzL29sZTMyL2dpdC5jLAorCSAgZGxscy9vbGUzMi9oZ2xvYmFsc3RyZWFtLmMsIGRsbHMvb2xlMzIvaWZzLmMsCisJICBkbGxzL29sZTMyL2l0ZW1tb25pa2VyLmMsIGRsbHMvb2xlMzIvbWFyc2hhbC5jLAorCSAgZGxscy9vbGUzMi9tZW1sb2NrYnl0ZXMuYywgZGxscy9vbGUzMi9tZW1sb2NrYnl0ZXMxNi5jLAorCSAgZGxscy9vbGUzMi9tb25pa2VyLmMsIGRsbHMvb2xlMzIvb2xlMTYuYywgZGxscy9vbGUzMi9vbGVvYmouYywKKwkgIGRsbHMvb2xlMzIvb2xlcHJveHkuYywgZGxscy9vbGUzMi9ycGMuYywKKwkgIGRsbHMvb2xlMzIvc3RnX2JpZ2Jsb2NrZmlsZS5jLCBkbGxzL29sZWF1dDMyL29sZTJkaXNwLmMsCisJICBkbGxzL29sZXBybzMyL29sZXBybzMyc3R1YnMuYywgZGxscy9xdWFydHovZW51bW1vbmlrZXIuYywKKwkgIGRsbHMvcnBjcnQ0L3JwY3J0NF9tYWluLmMsIGRsbHMvc2hkb2N2dy9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvc2hkb2N2dy9ldmVudHMuYywgZGxscy9zaGRvY3Z3L3NoZG9jdncuaCwKKwkgIGRsbHMvc2hkb2N2dy9zaGRvY3Z3X21haW4uYywgZGxscy9zaGVsbDMyL2RyYWdkcm9waGVscGVyLmMsCisJICBkbGxzL3NoZWxsMzIvc2hmbGRyX2Rlc2t0b3AuYywgZGxscy9zaGVsbDMyL3NoZmxkcl9mcy5jLAorCSAgZGxscy9zaGVsbDMyL3NobGZvbGRlci5jLCBpbmNsdWRlL29sZWlkbC5oLCBpbmNsdWRlL29sZWlkbC5pZGw6CisJRml4ZWQgYSBmZXcgbW9yZSBoZWFkZXJzIGRlcGVuZGVuY3kgaXNzdWVzLgorCisJKiBkbGxzL2NvbW1kbGcvZmlsZWRsZzk1LmMsIGRsbHMvc2hlbGwzMi9zaGVsbDMyX21haW4uaCwKKwkgIGRsbHMvc2hlbGwzMi9zaGx2aWV3LmMsIGRsbHMvc2hlbGwzMi9zaHZfYmdfY21lbnUuYywKKwkgIGRsbHMvc2hlbGwzMi9zaHZfaXRlbV9jbWVudS5jLCBpbmNsdWRlL01ha2VmaWxlLmluLAorCSAgaW5jbHVkZS9zaGxndWlkLmgsIGluY2x1ZGUvc2hsb2JqLmgsIGluY2x1ZGUvc2hvYmppZGwuaCwKKwkgIGluY2x1ZGUvc2hvYmppZGwuaWRsLCBpbmNsdWRlL3dpbmUvb2JqX2NvbW1kbGdicm93c2VyLmgsCisJICBpbmNsdWRlL3dpbmUvb2JqX2NvbnRleHRtZW51LmgsCisJICBpbmNsdWRlL3dpbmUvb2JqX2RvY2tpbmd3aW5kb3dmcmFtZS5oLAorCSAgaW5jbHVkZS93aW5lL29ial9kcmFnZHJvcGhlbHBlci5oLCBpbmNsdWRlL3dpbmUvb2JqX2V4dHJhY3RpY29uLmgsCisJICBpbmNsdWRlL3dpbmUvb2JqX3NoZWxsZm9sZGVyLmgsIGluY2x1ZGUvd3R5cGVzLmgsIGluY2x1ZGUvd3R5cGVzLmlkbDoKKwlDb252ZXJ0ZWQgdGhlIHJlc3Qgb2YgdGhlIG9ial8qLmggaGVhZGVycyB0byBJREwgaW50byBzaG9iamlkbC5pZGwuCisKKwkqIGluY2x1ZGUvd2lubnQuaDoKKwlTb21lIFNUQVRVU18qIGRlZmluZXMgaGF2ZSB0byBiZSBkdXBsaWNhdGVkIGluIHdpbm50LmguCisKKzIwMDMtMDktMDggIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvYXZpY2FwMzIvYXZpY2FwMzJfbWFpbi5jLCBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmMsCisJICBkbGxzL2NyeXB0MzIvbWFpbi5jLCBkbGxzL2ltbTMyL2ltbS5jLCBkbGxzL2tlcm5lbC9sb2NhbGUuYywKKwkgIGRsbHMva2VybmVsL2xvY2FsZV9yYy5yYywgZGxscy9rZXJuZWwvc3RyaW5nLmMsCisJICBkbGxzL2tlcm5lbC9ubHMvKi5ubHMsIGRsbHMva2VybmVsL3Rlc3RzL2Zvcm1hdF9tc2cuYywKKwkgIGRsbHMvbWFwaTMyL21hcGkzMl9tYWluLmMsIGRsbHMvbXByL3B3Y2FjaGUuYywgZGxscy9tc2kvZGlzdGluY3QuYywKKwkgIGRsbHMvbXNpL2hhbmRsZS5jLCBkbGxzL21zaS9tc2kuYywgZGxscy9tc2kvbXNpcHJpdi5oLAorCSAgZGxscy9tc2kvbXNpcXVlcnkuYywgZGxscy9tc2kvb3JkZXIuYywgZGxscy9tc2kvcXVlcnkuaCwKKwkgIGRsbHMvbXNpL3JlY29yZC5jLCBkbGxzL21zaS9zZWxlY3QuYywgZGxscy9tc2kvc3FsLnksCisJICBkbGxzL21zaS9zdW1pbmZvLmMsIGRsbHMvbXNpL3RhYmxlLmMsIGRsbHMvbXNpL3doZXJlLmMsCisJICBkbGxzL21zaXN5cy9tc2lzeXMuYywgZGxscy9udGRsbC9sb2FkZXIuYywgZGxscy9vbGUzMi9vbGUzMl9tYWluLmMsCisJICBkbGxzL29sZTMyL29sZTMyX21haW4uaCwgZGxscy9vbGUzMi9vbGUzMnJlcy5yYywKKwkgIGRsbHMvcnBjcnQ0L3JwY3J0NF9tYWluLmMsIGRsbHMvc2V0dXBhcGkvZGV2aW5zdC5jLAorCSAgZGxscy9zZXR1cGFwaS9kZXZpbnN0MTYuYywgZGxscy9zZXR1cGFwaS9pbmZwYXJzZS5jLAorCSAgZGxscy9zZXR1cGFwaS9zZXR1cHgxNi5oLCBkbGxzL3NoZWxsMzIvbWVtb3J5c3RyZWFtLmMsCisJICBkbGxzL3N0aS9zdGlfbWFpbi5jLCBkbGxzL3VybG1vbi91cmxtb25fbWFpbi5oLAorCSAgZGxscy93aW5pbmV0L3Jlc291cmNlLmgsIGRsbHMvd2luaW5ldC9yc3JjLnJjLAorCSAgZGxscy93aW5pbmV0L3dpbmluZXRfRW4ucmMsIGRvY3VtZW50YXRpb24vUkVBRE1FLml0LAorCSAgZG9jdW1lbnRhdGlvbi9SRUFETUUucHQsIGRvY3VtZW50YXRpb24vUkVBRE1FLnB0X2JyLAorCSAgZG9jdW1lbnRhdGlvbi9mYXEuc2dtbCwgZG9jdW1lbnRhdGlvbi9nZXR0aW5nLnNnbWwsCisJICBkb2N1bWVudGF0aW9uL2luc3RhbGxhdGlvbi11bmQta29uZmlndXJhdGlvbi5nZXJtYW4sCisJICBkb2N1bWVudGF0aW9uL3N0YXR1cy9kZGUsIHByb2dyYW1zL3J1bmRsbDMyL3J1bmRsbDMyLmMsCisJICBwcm9ncmFtcy93aW5lY2ZnL3gxMWRydmRsZy5jLAorCSAgcHJvZ3JhbXMvd2luZW1lbnVidWlsZGVyL3dpbmVtZW51YnVpbGRlci5jLCB0b29scy9idWdfcmVwb3J0LnBsLAorCSAgdG9vbHMvY29uZmlnLmd1ZXNzLCB0b29scy93aW5lZHVtcC9jdmluY2x1ZGUuaDoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlGaXggdGhlIGNhc2Ugb2YgcHJvZHVjdCBhbmQgY29tcGFueSBuYW1lcy4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGRsbHMvTWFrZWZpbGUuaW4sIGRsbHMvbXNodG1sLy5jdnNpZ25vcmUsCisJICBkbGxzL21zaHRtbC9NYWtlZmlsZS5pbiwgZGxscy9tc2h0bWwvZG9jdW1lbnQuYywgZGxscy9tc2h0bWwvbWFpbi5jLAorCSAgZGxscy9tc2h0bWwvbXNodG1sLnNwZWM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUFkZGVkIGFuIGluaXRpYWwgKG1vc3RseSBzdHViKSBpbXBsZW1lbnRhdGlvbiBvZiBNU0hUTUwuRExMLgorCisJKiBwcm9ncmFtcy93aW5lY2ZnL2RyaXZlLmMsIHByb2dyYW1zL3dpbmVjZmcvbWFpbi5jLAorCSAgcHJvZ3JhbXMvd2luZWNmZy9wcm9wZXJ0aWVzLmgsIHByb2dyYW1zL3dpbmVjZmcvd2luZWNmZy5jLAorCSAgcHJvZ3JhbXMvd2luZWNmZy93aW5lY2ZnLmg6CisJTWlrZSBIZWFybiA8bWlrZUB0aGVvcmV0aWMuY29tPgorCS0gUmVtb3ZlZCB0aGUgY2VudHJhbCBjb25maWd1cmF0aW9uIHN0cnVjdHVyZSwgYWxsIGNoYW5nZXMgYXJlCisJICBjb21taXR0ZWQgaW5zdGFudGx5IG5vdy4KKwktIFVwZGF0ZWQgdGhlIGRyaXZlIGhhbmRsaW5nIGNvZGUgc28gaXQgbG9hZHMgZGlyZWN0IGZyb20gdGhlCisJICByZWdpc3RyeS4KKwktIFJlbW92ZWQgRFJJVkVfREVTQywgZHJpdmVzIGFyZSBrZXllZCBieSBkcml2ZSBsZXR0ZXIgbm93LgorCS0gRG9jdW1lbnRlZCBkcml2ZV9hdmFpbGFibGVfbWFzay4KKwktIFNpbXBsaWZpZWQgdGhlIGNvZGUgc29tZXdoYXQuCisKKwkqIHNlcnZlci9wcm90b2NvbC5kZWY6CisJRml4ZWQgaW5jbHVkZSBzdGF0ZW1lbnRzIHRvIG1hdGNoIHNlcnZlcl9wcm90b2NvbC5oIChzcG90dGVkIGJ5IEVyaWMKKwlQb3VlY2gpLgorCisJKiBkbGxzL250ZGxsL250LmMsIGRsbHMvbnRkbGwvbnRkbGwuc3BlYywgZGxscy9udGRsbC90aHJlYWQuYywKKwkgIGluY2x1ZGUvdGhyZWFkLmgsIGluY2x1ZGUvd2ludGVybmwuaCwgc2NoZWR1bGVyL3Byb2Nlc3MuYywKKwkgIHNjaGVkdWxlci90aHJlYWQuYzoKKwlPbiBUbHNGcmVlLCBjbGVhciB0aGUgcmVsZWFzZWQgVExTIGluZGV4IGluIGFsbCB0aHJlYWRzLgorCisJKiBkbGxzL2lwaGxwYXBpL01ha2VmaWxlLmluLCBkbGxzL2lwaGxwYXBpL2lwaGxwYXBpLnNwZWMsCisJICBkbGxzL2lwaGxwYXBpL2lwaGxwYXBpX21haW4uYzoKKwlKdWFuIExhbmcgPGp1YW5fbGFuZ0B5YWhvby5jb20+CisJLSBGaXggYnVmZmVyIG92ZXJydW4gaW4gR2V0TmV0d29ya1BhcmFtcy4KKwktIEltcGxlbWVudCBHZXRCZXN0KFJvdXRlLEludGVyZmFjZSkuCisJLSBJbXBsZW1lbnQgc29tZSBBbGxvY2F0ZUFuZEdldCpGcm9tU3RhY2sgZnVuY3Rpb25zLgorCisJKiBwcm9ncmFtcy93aW5lY2ZnL0VuLnJjLCBwcm9ncmFtcy93aW5lY2ZnL21haW4uYywKKwkgIHByb2dyYW1zL3dpbmVjZmcvcHJvcGVydGllcy5jLCBwcm9ncmFtcy93aW5lY2ZnL3Byb3BlcnRpZXMuaCwKKwkgIHByb2dyYW1zL3dpbmVjZmcvcmVzb3VyY2UuaCwgcHJvZ3JhbXMvd2luZWNmZy93aW5lY2ZnLmMsCisJICBwcm9ncmFtcy93aW5lY2ZnL3dpbmVjZmcuaCwgcHJvZ3JhbXMvd2luZWNmZy94MTFkcnZkbGcuYzoKKwlNaWtlIEhlYXJuIDxtaWtlQHRoZW9yZXRpYy5jb20+CisJLSBSZW1vdmUgIlBlcmZlY3RHcmFwaGljcyIsICJVc2UgWFNITSBleHRlbnNpb24iLCBhbmQgIlVzZSBhIHByaXZhdGUKKwkgIGNvbG91ciBtYXAiLgorCS0gSW1wbGVtZW50IGEgc2ltcGxlIHRyYW5zYWN0aW9uIHN5c3RlbSBmb3IgaW5zdGFudCBhcHBseS4KKwktIENvbXBsZXRlIHRoZSBkZXNrdG9wIHNpemUgY29kZSwgdGhpcyBub3cgcmVhZHMgYW5kIHdyaXRlcyB0byB0aGUKKwkgIHJlZ2lzdHJ5IGNvcnJlY3RseS4KKwktIFJlbW92ZSBjb25zdCBtb2RpZmllciBmcm9tIHZlcnNpb24gYWNjZXNzb3IgZnVuY3Rpb25zLgorCS0gQ2hhbmdlIHJlZ2lzdHJ5IHJvb3QgdG8gV2luZS9XaW5lQ2ZnIGZvciB0ZXN0aW5nIHB1cnBvc2VzLgorCisJKiBkbGxzL2NhYmluZXQvZmRpLmMsIGRsbHMvZG1sb2FkZXIvbG9hZGVyLmMsIGRvY3VtZW50YXRpb24vZmFxLnNnbWw6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJQSBmZXcgc3BlbGxpbmcgZml4ZXMuCisKKwkqIHRvb2xzL3dpbmVpbnN0YWxsOiBWaW5jZW50IELpcm9uIDx2YmVyb25AbWVjYW5vLmdtZS51c2hlcmIuY2E+CisJd2luZWluc3RhbGwgdXNlZCBhIFVuaXgtc3R5bGUgZW52aXJvbm1lbnQgdmFyaWFibGUgaW4gdGhlIHRlbXBvcmFyeQorCWNvbmZpZyBmaWxlLgorCisJKiBwcm9ncmFtcy93aW5lbWluZS9SdS5yYywgcHJvZ3JhbXMvd2luZW1pbmUvcnNyYy5yYzoKKwlQYXZlbCBSb3NraW4gPHByb3NraUBnbnUub3JnPgorCUFkZGVkIFJ1c3NpYW4gcmVzb3VyY2VzLgorCisJKiBwcm9ncmFtcy9ub3RlcGFkL0ZyLnJjOiBQYXZlbCBSb3NraW4gPHByb3NraUBnbnUub3JnPgorCUZpeCBGcmVuY2ggdHJhbnNsYXRpb24uCisKKwkqIGRvY3VtZW50YXRpb24vYXJjaGl0ZWN0dXJlLnNnbWw6CisJQmlsbCBNZWRsYW5kIDxiaWxsbWVkbGFuZEBtZXJjdXJ5c3BlZWQuY29tPgorCU1vZGlmeSB0aGUgd2luZXNlcnZlciBkb2N1bWVudGF0aW9uIGZvciB0aGUgbmV3IGxvY2F0aW9uIG9mIHRoZSBzb2NrZXQKKwlhbmQgYWRkIGEgd2FybmluZy4KKworCSogbWVtb3J5L2luc3RyLmM6IE1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCUZpeGVkIGNvbXBpbGUgd2FybmluZy4KKworCSogZGxscy9vZGJjMzIvb2RiYzMyLnNwZWM6IERhdmUgTWlsbGVyIDxjb21wc29sQHB0ZC5uZXQ+CisJRml4IGluY29ycmVjdCBvcmRpbmFscy4KKworCSogZGxscy9zaGVsbDMyL3NoZWxscGF0aC5jLCBpbmNsdWRlL3NobG9iai5oLAorCSAgaW5jbHVkZS93aW5lL29ial9zaGVsbGZvbGRlci5oOgorCVJvbGYgS2FsYmVybWF0dGVyIDxyb2xmLmthbGJlcm1hdHRlckBjaXRlbmcuY29tPgorCUNoYW5nZSBwYXJhbWV0ZXIgaW4gU0hHZXRTcGVjaWFsRm9sZGVyUGF0aEEvVyB0byBpbnQgYXMgZG9jdW1lbnRlZCBpbgorCU1TRE4uCisJQWRkIHNvbWUgbW9yZSBkZWZpbml0aW9ucyBhbmQgbW92ZSBTSEdldERlc2t0b3BGb2xkZXIoKSBmcm9tCisJd2luZS9vYmpfc2hlbGxmb2xkZXIuaCB0byBoZXJlLgorCisJKiBkbGxzL29sZWF1dDMyL29sZWF1dDMyLnNwZWMsIGRsbHMvb2xlYXV0MzIvdmFyaWFudC5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlDcmVhdGUgYSBwcm9wZXIgc3R1YiBmb3Igb2xlYXV0MzIuVmFyTW9kLgorCisyMDAzLTA5LTA3ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBwcm9ncmFtcy9yZWdlZGl0L21haW4uaCwgcHJvZ3JhbXMvd2luZWNvbnNvbGUvY3Vyc2VzLmMsCisJICBwcm9ncmFtcy93aW5lZGJnL2dkYnByb3h5LmMsIHNlcnZlci9yZWdpc3RyeS5jOgorCUFkZGVkIGEgZmV3IG1pc3Npbmcgc3RkYXJnLmggaW5jbHVkZXMuCisKKzIwMDMtMDktMDYgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvTWFrZXRlc3QucnVsZXMuaW46CisJQWRkZWQgYSBtaXNzaW5nIGRlcGVuZGVuY3kgZm9yIHRlc3RsaXN0LmMgZmlsZXMuCisKKwkqIGRsbHMvb2xlMzIvZGNvbS5oOiBSZWdlbmVyYXRlZCB3aXRoIHRoZSBsYXRlc3Qgd2lkbC4KKworMjAwMy0wOS0wNSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogKi8qLmMsIGluY2x1ZGUvKi5oOgorCUZpeGVkIGhlYWRlciBkZXBlbmRlbmNpZXMgdG8gYmUgZnVsbHkgY29tcGF0aWJsZSB3aXRoIHRoZSBXaW5kb3dzCisJaGVhZGVycyAod2l0aCBoZWxwIGZyb20gRGltaXRyaWUgTy4gUGF1bikuCisKKzIwMDMtMDktMDQgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvc2hlbGwzMi9zaGVsbGxpbmsuYywgZGxscy9zaGVsbDMyL3NoZmxkcl9kZXNrdG9wLmMsCisJICBkbGxzL3NoZWxsMzIvc2hmbGRyX2ZzLmMsIGRsbHMvc2hlbGwzMi9zaGZsZHJfbXljb21wLmMsCisJICBkbGxzL3NoZWxsMzIvc2hsdmlldy5jLCBpbmNsdWRlL01ha2VmaWxlLmluLCBpbmNsdWRlL3NobGd1aWQuaCwKKwkgIGluY2x1ZGUvc2hsb2JqLmgsIGluY2x1ZGUvc2hvYmppZGwuaCwgaW5jbHVkZS9zaG9iamlkbC5pZGwsCisJICBpbmNsdWRlL3NodHlwZXMuaCwgaW5jbHVkZS9zaHR5cGVzLmlkbCwKKwkgIGluY2x1ZGUvd2luZS9vYmpfZW51bWlkbGlzdC5oLCBpbmNsdWRlL3dpbmUvb2JqX3NoZWxsYnJvd3Nlci5oLAorCSAgaW5jbHVkZS93aW5lL29ial9zaGVsbGV4dGluaXQuaCwgaW5jbHVkZS93aW5lL29ial9zaGVsbGZvbGRlci5oLAorCSAgaW5jbHVkZS93aW5lL29ial9zaGVsbGxpbmsuaCwgaW5jbHVkZS93aW5lL29ial9zaGVsbHZpZXcuaDoKKwlJbXBsZW1lbnRlZCBzaHR5cGVzLmlkbCBhbmQgc2hvYmppZGwuaWRsIGFuZCByZW1vdmVkIGEgZmV3IG1vcmUKKwl3aW5lL29ial8qIGhlYWRlcnMuCisKKwkqIGluY2x1ZGUvZGJnaGVscC5oLCBpbmNsdWRlL2RpZ2l0YWx2LmgsIGluY2x1ZGUvd2luaW9jdGwuaDoKKwlEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVJlbW92ZWQgbm9uLXN0YW5kYXJkIGhlYWRlciBpbmNsdWRlcy4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUFkanVzdCBzZWxlY3Rpb24gcmFuZ2VzIGJlZm9yZSB3ZSBpbnNlcnQgdGhlIGl0ZW0gc28gd2UgZG9uJ3QgbWl4IHRoZQorCW5ldyBzZWxlY3Rpb24gd2l0aCB0aGUgZXhpc3Rpbmcgb25lcyAocmVwb3J0ZWQgYnkgRXJpYyBQb3VlY2gpLgorCisJKiBkbGxzL3NoZG9jdncvc2hkb2N2dy5oLCBkbGxzL3NoZG9jdncvd2ViYnJvd3Nlci5jLAorCSAgZGxscy9zaGx3YXBpL29yZGluYWwuYywgaW5jbHVkZS9NYWtlZmlsZS5pbiwgaW5jbHVkZS9leGRpc3AuaCwKKwkgIGluY2x1ZGUvZXhkaXNwLmlkbCwgaW5jbHVkZS93aW5lL29ial93ZWJicm93c2VyLmgsIGxpYnMvdXVpZC91dWlkLmM6CisJQ29udmVydGVkIG9ial93ZWJicm93c2VyLmggdG8gSURMIGFuZCBtb3ZlZCB0aGUgZGVmaW5pdGlvbnMgdG8KKwlleGRpc3AuaWRsIHdoZXJlIHRoZXkgYmVsb25nLgorCisJKiBpbmNsdWRlL01ha2VmaWxlLmluLCBpbmNsdWRlL2RvY29iai5oLCBpbmNsdWRlL2RvY29iai5pZGw6CisJQ29udmVydGVkIGRvY29iai5oIHRvIElETC4KKworCSogaW5jbHVkZS9kb2NvYmouaCwgaW5jbHVkZS9vbGUyLmgsIGluY2x1ZGUvb2xlYXV0by5oLAorCSAgaW5jbHVkZS9vbGVjdGwuaDoKKwlSZW1vdmVkIG5vIGxvbmdlciBuZWVkZWQgaW5jbHVkZSBwcm90ZWN0aW9ucy4KKworCSogZGxscy93aW5tbS93aW5lb3NzL21pZGkuYzogQ2hyaXN0aWFuIENvc3RhIDx0aXRhbi5jb3N0YUB3YW5hZG9vLmZyPgorCUZpeCBtb2RMb25nRGF0YS4KKwlFbmFibGUgb3BlbmluZyBvZiBNT0RfU1lOVEggdHlwZSBkZXZpY2VzLgorCUFkZCBzb21lIGNvbW1lbnRzLgorCisJKiBkbGxzL2NvbWN0bDMyL2NvbWN0bDMyLmg6CisJU3RlZmFuIExlaWNodGVyIDxTdGVmYW4uTGVpY2h0ZXJAY2FtTGluZS5jb20+CisJVXBkYXRlZCBtaW5vciB2ZXJzaW9uIG51bWJlci4KKworCSogaW5jbHVkZS9NYWtlZmlsZS5pbiwgaW5jbHVkZS9vYWlkbC5oLCBpbmNsdWRlL29haWRsLmlkbCwKKwkgIGluY2x1ZGUvb2NpZGwuaCwgaW5jbHVkZS9vY2lkbC5pZGwsIGluY2x1ZGUvb2xlaWRsLmgsCisJICBpbmNsdWRlL29sZWlkbC5pZGwsIGluY2x1ZGUvd2luZS9vYmpfY29ubmVjdGlvbi5oLAorCSAgaW5jbHVkZS93aW5lL29ial9jb250cm9sLmgsIGluY2x1ZGUvd2luZS9vYmpfb2xlZm9udC5oLAorCSAgaW5jbHVkZS93aW5lL29ial9vbGV1bmRvLmgsIGluY2x1ZGUvd2luZS9vYmpfcGljdHVyZS5oLAorCSAgaW5jbHVkZS93aW5lL29ial9wcm9wZXJ0eS5oOgorCUNvbnZlcnRlZCBvY2lkbC5oIHRvIElETC4KKworMjAwMy0wOS0wMyAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogaW5jbHVkZS9NYWtlZmlsZS5pbiwgaW5jbHVkZS91cmxtb24uaCwgaW5jbHVkZS91cmxtb24uaWRsLAorCSAgaW5jbHVkZS93dHlwZXMuaCwgaW5jbHVkZS93dHlwZXMuaWRsOgorCUNvbnZlcnRlZCB1cmxtb24uaCB0byBJREwuCisKKwkqIGluY2x1ZGUvTWFrZWZpbGUuaW4sIGluY2x1ZGUvc2VydnByb3YuaCwgaW5jbHVkZS9zZXJ2cHJvdi5pZGw6CisJQ29udmVydGVkIHNlcnZwcm92LmggdG8gSURMLgorCisJKiBkbGxzL29sZTMyL2RhdGFjYWNoZS5jLCBkbGxzL3NoZWxsMzIvc2hsdmlldy5jLCBpbmNsdWRlL01ha2VmaWxlLmluLAorCSAgaW5jbHVkZS9vbGVpZGwuaCwgaW5jbHVkZS9vbGVpZGwuaWRsLCBpbmNsdWRlL3dpbmUvb2JqX2NhY2hlLmgsCisJICBpbmNsdWRlL3dpbmUvb2JqX2RyYWdkcm9wLmgsIGluY2x1ZGUvd2luZS9vYmpfaW5wbGFjZS5oLAorCSAgaW5jbHVkZS93aW5lL29ial9vbGVvYmouaCwgaW5jbHVkZS93aW5lL29ial9vbGV2aWV3Lmg6CisJQ29udmVydGVkIG9sZWlkbC5oIHRvIElETC4KKworCSogdG9vbHMvd2lkbC9oZWFkZXIuYywgdG9vbHMvd2lkbC9oZWFkZXIuaCwgdG9vbHMvd2lkbC9wYXJzZXIueSwKKwkgIHRvb2xzL3dpZGwvcHJveHkuYywgdG9vbHMvd2lkbC93aWRsdHlwZXMuaDoKKwlBZGRlZCBwYXJ0aWFsIHN1cHBvcnQgZm9yIGZ1bmN0aW9uIHBvaW50ZXJzLgorCisJKiBpbmNsdWRlL01ha2VmaWxlLmluLCBpbmNsdWRlL2NvbWNhdC5oLCBpbmNsdWRlL2NvbWNhdC5pZGwsCisJICBpbmNsdWRlL3dpbmUvb2JqX2NvbWNhdC5oLCBpbmNsdWRlL3dpbmUvb2JqX2VudW1ndWlkLmg6CisJQ29udmVydGVkIGNvbWNhdC5oIHRvIElETC4KKworCSogaW5jbHVkZS9vYmppZGwuaCwgdG9vbHMvd2lkbC9wYXJzZXIubCwgdG9vbHMvd2lkbC9wYXJzZXIueSwKKwkgIHRvb2xzL3dpZGwvd2lkbC5jOgorCVVzZSA8PiBmb3JtYXQgaW4gZ2VuZXJhdGVkICNpbmNsdWRlIHN0YXRlbWVudHMuCisJSW50ZWdlciBjb25zdGFudHMgc2hvdWxkIGJlIHVuc2lnbmVkLgorCisJKiBkbGxzL2Rzb3VuZC9idWZmZXIuYywgZGxscy9kc291bmQvZHNvdW5kX21haW4uYywKKwkgIGRsbHMvZHNvdW5kL3Byb3BzZXQuYywgZGxscy93aW5tbS93aW5lYWxzYS9hdWRpby5jLAorCSAgZGxscy93aW5tbS93aW5lYXVkaW9pby9hdWRpby5jLCBkbGxzL3dpbm1tL3dpbmVvc3MvYXVkaW8uYzoKKwlSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCVVzZSB0aGUgZHJpdmVycyB0byBnZXQgZGV2aWNlIGNhcGFiaWxpdGllcyBhbmQgcHJvcGVydHkgc2V0cy4KKworCSogdG9vbHMvd2luZWdjYy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUZvcndhcmQgYWxsIGFyZ3VtZW50cyB0byBnY2Mgd2hlbiB3ZSBoYXZlIG5vIGlucHV0IGZpbGVzLgorCUtpbGwgdGhlIC1WIG9wdGlvbiwgYXMgaXQncyBub3QgY29tcGF0aWJsZSB3aXRoIGdjYy4KKwlGaXggc2lsbHkgYnVnIHdoZW4gd2UgYXJlIG5vdCBnaXZlbiBhbiBvdXRwdXQgbmFtZS4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGRsbHMva2VybmVsL01ha2VmaWxlLmluLAorCSAgZGxscy9rZXJuZWwvcHRocmVhZC5jLCBkbGxzL250ZGxsL3N5c2RlcHMuYywgaW5jbHVkZS9jb25maWcuaC5pbiwKKwkgIGluY2x1ZGUvd2luZS9wdGhyZWFkLmgsIGxpYnMvd2luZS9sb2FkZXIuYywgc2NoZWR1bGVyL3Byb2Nlc3MuYywKKwkgIHNjaGVkdWxlci9wdGhyZWFkLmM6CisJTW92ZWQgdGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBwdGhyZWFkIHdyYXBwZXJzIHRvIGRsbHMva2VybmVsLgorCisJKiBkb2N1bWVudGF0aW9uL2luc3RhbGxhdGlvbi11bmQta29uZmlndXJhdGlvbi5nZXJtYW46CisJTWljaGFlbCBTdGVmYW5pdWMgPG1zdGVmYW5pQHJlZGhhdC5kZT4KKwlVc2UgRE9TIHN0eWxlIHZhcmlhYmxlcyBpbiB0aGUgR2VybWFuIGRvY3VtZW50YXRpb24gb2YgdGhlIGNvbmZpZworCWZpbGUuCisKKwkqIGRsbHMvZ2RpL21mZHJ2L2luaXQuYzoKKwlBdm9pZCBoZWFwIHJlYWxsb2NhdGlvbiBlYWNoIHRpbWUgYSBtZXRhcmVjb3JkIGlzIHdyaXR0ZW4gaW4gbWVtb3J5CisJKGJhc2VkIG9uIGEgcGF0Y2ggYnkgV2FycmVuIEJhaXJkKS4KKworCSogZGxscy9jb21tZGxnL2ZpbGVkbGc5NS5jLCBkbGxzL2NvbW1kbGcvZmlsZWRsZ2Jyb3dzZXIuYywKKwkgIGRsbHMvZGV2ZW51bS9kZXZlbnVtX3ByaXZhdGUuaCwgZGxscy9vbGVhdXQzMi9vbGVhdXQuYywKKwkgIGRsbHMvb2xlYXV0MzIvb2xlcGljdHVyZS5jLCBkbGxzL3F1YXJ0ei9maWx0ZXJtYXBwZXIuYywKKwkgIGRsbHMvc2hlbGwzMi9zaGVsbDMyX21haW4uaCwgZGxscy9zaGx3YXBpL29yZGluYWwuYywKKwkgIGluY2x1ZGUvTWFrZWZpbGUuaW4sIGluY2x1ZGUvd2luZS9vYmpfc2VydmljZXByb3ZpZGVyLmg6CisJQXZvaWQgaW5jbHVkaW5nIHdpbmUvb2JqXyouaCBmaWxlcyBkaXJlY3RseSBmcm9tIEMgZmlsZXMuCisJUmVtb3ZlZCBubyBsb25nZXIgdXNlZCBvYmpfc2VydmljZXByb3ZpZGVyLmguCisKKwkqIGRsbHMvc2hlbGwzMi9kcmFnZHJvcGhlbHBlci5jLCBkbGxzL3NoZWxsMzIvc2hlbGxvbGUuYywKKwkgIGluY2x1ZGUvc2hsb2JqLmgsIGxpYnMvdXVpZC91dWlkLmM6CisJc2hsb2JqLmggbXVzdCBpbmNsdWRlIHdpbmUvb2JqX2RyYWdkcm9waGVscGVyLmggKHJlcG9ydGVkIGJ5IE1hcnRpbgorCUZ1Y2hzKS4KKworCSogZGxscy93aW5lZG9zL2ludDIxLmM6IFN5bHZhaW4gUGV0cmVvbGxlIDxzcGV0cmVvbGxlQHlhaG9vLmZyPgorCUNoYW5nZWQgc29tZSBmdW5jdGlvbnMgdG8gcmVzZXQgQ0ZMQUcgb24gc3VjY2Vzcy4KKwlBZGRlZCBzb21lIHRyYWNlcy4KKworMjAwMy0wOS0wMiAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9jb21jdGwzMi91cGRvd24uYzogS2V2aW4gR3JvZW5ldmVsZCA8a2dyb2VuZXZlbGRAbWNtYXN0ZXIuY2E+CisJQ2hhbmdlIGRlZmF1bHQgcmFuZ2Ugb2YgdXAtZG93biBjb250cm9sIHRvIG1hdGNoIHJhbmdlIHVzZWQgaW4KKwl3aW5kb3cuCisKKwkqIHByb2dyYW1zL3dpbmVjZmcvRW4ucmMsIHByb2dyYW1zL3dpbmVjZmcvZHJpdmUuYywKKwkgIHByb2dyYW1zL3dpbmVjZmcvcmVzb3VyY2UuaDoKKwlNaWtlIEhlYXJuIDxtaWtlQHRoZW9yZXRpYy5jb20+CisJLSBQYXRoIGNoYW5nZXMgYXJlIHNhdmVkIHRvIHRoZSBzdHJ1Y3QgY29ycmVjdGx5LgorCS0gUmVuYW1lIGVuYWJsZV9jZHJvbV9ib3ggdG8gZW5hYmxlX2xhYmVsc2VyaWFsX2JveCB0byBiZXR0ZXIgcmVmbGVjdAorCSAgcHVycG9zZS4KKwktIFJlbmFtZSBJRENfQk9YX0NEUk9NIHRvIElEQ19CT1hfTEFCRUxTRVJJQUwuCisJLSBTdXBwb3J0IGZvciBlZGl0aW5nIGxhYmVsIGZvciBhbGwgZHJpdmVzLCBhbGxvdyBlZGl0aW5nIG9mCisJICBzZXJpYWwvZGV2aWNlIGZvciBDRC1ST01TLgorCisJKiBkb2N1bWVudGF0aW9uL2ZhcS5zZ21sOiBUb20gV2lja2xpbmUgPHR3aWNrbGluZUBza3liZXN0LmNvbT4KKwlNZXJnZSBmcm9tIGxvc3R3YWdlcyBmYXEuCisKKwkqIGRvY3VtZW50YXRpb24vdGVzdGluZy5zZ21sOiBGZXJlbmMgV2FnbmVyIDx3ZmVyaUBhZmF2YW50LmVsdGUuaHU+CisJRml4IHRlc3RpbmcgZXhhbXBsZS4KKworCSogZG9jdW1lbnRhdGlvbi9QQUNLQUdJTkcsIGRvY3VtZW50YXRpb24vY29uZmlndXJpbmcuc2dtbDoKKwlWaW5jZW50IELpcm9uIDx2YmVyb25AbWVjYW5vLmdtZS51c2hlcmIuY2E+CisJQnJpbmcgZG9jdW1lbnRhdGlvbiBpbiBzeW5jIHJlZ2FyZGluZyBleHBhbnNpb24gb2YgZW52aXJvbm1lbnQKKwl2YXJpYWJsZXMgaW4gdGhlIGNvbmZpZyBmaWxlLgorCisJKiB0b29scy93aW5laW5zdGFsbDogVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCUJyaW5nIHdpbmVpbnN0YWxsIGluIHN5bmMgcmVnYXJkaW5nIGV4cGFuc2lvbiBvZiBlbnZpcm9ubWVudCB2YXJpYWJsZXMKKwlpbiB0aGUgY29uZmlnIGZpbGUuCisKKwkqIGluY2x1ZGUvY29tbWN0cmwuaCwgaW5jbHVkZS9kYmdoZWxwLmgsIGluY2x1ZGUvd2luYmFzZS5oOgorCUVyaWMgUG91ZWNoIDxwb3VlY2gtZXJpY0B3YW5hZG9vLmZyPgorCUFkZGVkIGEgZmV3IG1pc3NpbmcgZGVmaW5pdGlvbnMuCisKKwkqIGZpbGVzL2Rvc19mcy5jOiBTdGVmYW4gTGVpY2h0ZXIgPFN0ZWZhbi5MZWljaHRlckBjYW1MaW5lLmNvbT4KKwlNb3ZlZCBpbXBsZW1lbnRhdGlvbiBvZiBRdWVyeURvc0RldmljZSBmcm9tIGFzY2lpIHRvIHVuaWNvZGUuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGxmaWxlb3AuYzoKKwlSb2xmIEthbGJlcm1hdHRlciA8cm9sZi5rYWxiZXJtYXR0ZXJAY2l0ZW5nLmNvbT4KKwlNYWtlIHRoZSBkaWZmZXJlbnQgaGVscGVyIGZ1bmN0aW9ucyBhbGwgcmV0dXJuIGFjdHVhbCBlcnJvciBjb2Rlcy4KKwlBdm9pZCBjb2RlIGR1cGxpY2F0aW9uIGJldHdlZW4gQU5TSSBhbmQgVW5pY29kZSB2YXJpYW50IG9mIHRob3NlCisJZnVuY3Rpb25zLgorCisJKiBkbGxzL3dpbnNvY2svYXN5bmMuYywgZGxscy93aW5zb2NrL3NvY2tldC5jOgorCVJlaW4gS2xhemVzIDxya2xhemVzQHhzNGFsbC5ubD4KKwlfd3NfZ2V0aG9zdGJ5bmFtZSgpIGFuZCBXU0FBc3luY0dldEhvc3RCeU5hbWUoKSB3aGVuIGNhbGxlZCB3aXRoIGEKKwludWxsIG5hbWUsIHNob3VsZCB1c2UgdGhlIG5hbWUgcmV0dXJuZWQgYnkgZ2V0aG9zdG5hbWUoKS4KKworCSogZGxscy9tc3ZpZGVvL21zdmlkZW9fbWFpbi5jOgorCU1pY2hhZWwgR/xubmV3aWcgPE1pY2hhZWxHdWVubmV3aWdAZ214LmRlPgorCS0gSW1wbGVtZW50ZWQgc2VtaS1zdHVicyBmb3IgR2V0T3BlbkZpbGVOYW1lUHJldmlld0EvVyBhbmQKKwkgIEdldFNhdmVGaWxlTmFtZVByZXZpZXdBL1cgYmFzZWQgb24gR2V0T3BlbkZpbGVOYW1lIGRpYWxvZyBpbgorCSAgQ09NRExHMzIuRExMIC0gc3RpbGwgbXVzdCBhZGQgT0ZOX0VOQUJMRUhPT0sgYW5kIGl0J3MgaGFuZGxlci4KKwktIEltcGxlbWVudGVkIElDQ29tcHJlc3NvckZyZWUuCisJLSBQcmVwYXJlZCBJQ0NvbXByZXNzb3JDaG9vc2UuCisKKwkqIGRsbHMvY29tbWRsZy9maWxlZGxnOTUuYywgZGxscy9jb21tZGxnL2ZpbGVkbGdicm93c2VyLmMsCisJICBkbGxzL2NvbW1kbGcvZmlsZWRsZ2Jyb3dzZXIuaCwgZGxscy9zaGVsbDMyL2Jyc2ZvbGRlci5jLAorCSAgZGxscy9zaGVsbDMyL2NoYW5nZW5vdGlmeS5jLCBkbGxzL3NoZWxsMzIvZGF0YW9iamVjdC5jLAorCSAgZGxscy9zaGVsbDMyL2RlYnVnaGxwLmMsIGRsbHMvc2hlbGwzMi9pY29uY2FjaGUuYywKKwkgIGRsbHMvc2hlbGwzMi9waWRsLmMsIGRsbHMvc2hlbGwzMi9waWRsLmgsCisJICBkbGxzL3NoZWxsMzIvc2hlbGwzMl9tYWluLmMsIGRsbHMvc2hlbGwzMi9zaGVsbDMyX21haW4uaCwKKwkgIGRsbHMvc2hlbGwzMi9zaGZsZHIuaCwgZGxscy9zaGVsbDMyL3NobGZvbGRlci5jLAorCSAgZGxscy9zaGVsbDMyL3NobG1lbnUuYywgZGxscy9zaGVsbDMyL3NobHZpZXcuYywKKwkgIGRsbHMvc2hlbGwzMi9zaHZfYmdfY21lbnUuYywgZGxscy9zaGVsbDMyL3Nodl9pdGVtX2NtZW51LmMsCisJICBkbGxzL3NoZWxsMzIvdW5kb2NzaGVsbC5oLCBpbmNsdWRlL3NobG9iai5oOgorCU1hcnRpbiBGdWNocyA8bWFydGluLWZ1Y2hzQGdteC5uZXQ+CisJRGVjbGFyZSBMUENJVEVNSURMSVNUIGFzICdjb25zdCcgcG9pbnRlciBhbmQgYWRqdXN0IHNoZWxsMzIKKwlpbXBsZW1lbnRhdGlvbiB0byB0aGUgY29ycmVjdGVkIHR5cGUuCisKKwkqIGRsbHMvd2luZWRvcy9pbnQzMy5jOiBNaWNoYWVsIFN0ZWZhbml1YyA8bXN0ZWZhbmlAcmVkaGF0LmRlPgorCWludDMzIDIxaCBpcyBpZGVudGljYWwgdG8gaW50MzMgMDBoLgorCisJKiBpbmNsdWRlL01ha2VmaWxlLmluLCBpbmNsdWRlL21zdmNydC9saW1pdHMuaCwgaW5jbHVkZS9tc3ZjcnQvbWF0aC5oOgorCVZpbmNlbnQgQulyb24gPHZiZXJvbkBtZWNhbm8uZ21lLnVzaGVyYi5jYT4KKwlBZGRlZCBtc3ZjcnQgaGVhZGVycyBsaW1pdHMuaCBhbmQgbWF0aC5oLgorCisJKiBwcm9ncmFtcy93aW5lbGF1bmNoZXIuaW46IE1hcmN1cyBNZWlzc25lciA8bWVpc3NuZXJAc3VzZS5kZT4KKwlDaGFuZ2UgYWxsIGhlYWQgLTEgdG8gaGVhZCAtbiAxIHRvIGJlIG1vcmUgUE9TSVhseSBjb21wbGlhbnQuCisKKwkqIGRsbHMvY29tY3RsMzIvdGFiLmM6IE1heGltZSBCZWxsZW5n6SA8bWF4aW1lLmJlbGxlbmdlQGxhcG9zdGUubmV0PgorCUltcGxlbWVudGVkIFRBQl9TZXRNaW5UYWJXaWR0aCBhbmQgVEFCX0hpZ2hsaWdodEl0ZW0uCisKKwkqIGRsbHMvZHNvdW5kL2J1ZmZlci5jLCBkbGxzL2Rzb3VuZC9kc291bmRfcHJpdmF0ZS5oLCBkbGxzL2Rzb3VuZC9zb3VuZDNkLmM6CisJUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlOb3cgdGhhdCByZWZlcmVuY2UgY291bnRpbmcgaXMgY29ycmVjdCwgdGhlcmUgaXMgbm8gbmVlZCB0byBjaGVjayBpZgorCXRoZSBiYXNlIG9iamVjdCBnb2VzIGF3YXkuCisKKwkqIGRsbHMvaXBobHBhcGkvaXBzdGF0cy5jOiBKdWFuIExhbmcgPGp1YW5fbGFuZ0B5YWhvby5jb20+CisJRml4ZWQgYnVnIHBhcnNpbmcgL3Byb2MvbmV0L2FycCBmb3IgYXJwIHRhYmxlLgorCisJKiBkbGxzL3dzb2NrMzIvc29ja2V0LmM6IEp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwlJbXBsZW1lbnRlZCBhcnAgdGFibGUgcXVlcnlpbmcgdGhyb3VnaCBXc0NvbnRyb2wsIGFuZCBmaXhlZCBwcm9ibGVtIEkKKwlpbnRyb2R1Y2VkIGdldHRpbmcgSVAgYWRkcmVzc2VzIGZvciBtdWx0aXBsZSBpbnRlcmZhY2VzLgorCisJKiBkbGxzL2F2aWZpbDMyL2FwaS5jLCBkbGxzL2F2aWZpbDMyL2F2aWZpbGUuYywKKwkgIGRsbHMvYXZpZmlsMzIvZ2V0ZnJhbWUuYywgaW5jbHVkZS92ZncuaDoKKwlNaWNoYWVsIEf8bm5ld2lnIDxNaWNoYWVsR3Vlbm5ld2lnQGdteC5kZT4KKwktIEltcGxlbWVudGVkIEFWSVN0cmVhbUJlZ2luU3RyZWFtaW5nIGFuZCBBVklTdHJlYW1FbmRTdHJlYW1pbmcuCisJLSBGaXhlZCBsb2FkaW5nIG9mIGVtcHR5IEFWSSBmaWxlcy4KKwktIEZpeGVkIGJ1ZyBpbiBJR2V0RnJhbWUgaW50ZXJmYWNlIHdpdGggdW5jb21wcmVzc2VkIHN0cmVhbXMuCisJLSBGaXhlZCBtaXNzaW5nIElDT01fREVGSU5FIGZvciBJQVZJU3RyZWFtaW5nLgorCisJKiBkbGxzL2tlcm5lbC9mb3JtYXRfbXNnLmM6IEp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwlGaXggRm9ybWF0TWVzc2FnZSB3aGVuIEZPUk1BVF9NRVNTQUdFX0ZST01fSE1PRFVMRSBpcyBzcGVjaWZpZWQgYW5kCisJbHBTb3VyY2UgaXMgTlVMTC4gIE1ha2UgaW5kZW50aW5nIGNvbnNpc3RlbnQgdG9vLgorCisJKiBkbGxzL2QzZDgvZDNkOF9tYWluLmMsIGRsbHMvZDNkOC9kaXJlY3R4LmM6CisJSmFzb24gRWRtZWFkZXMgPHVzQHRoZS1lZG1lYWRlcy5kZW1vbi5jby51az4KKwlVc2UgYSBkdW1teSBHTCBjb250ZXh0IGlmIG9uZSBpcyBub3QgYXZhaWxhYmxlIHdoZW4gR2V0RGV2aWNlQ2FwcyBpcworCWNhbGxlZC4KKwlSZW1vdmUgdGhlIGNvbXBpbGVyIHdhcm5pbmdzIGludHJvZHVjZWQgaW4gdGhlIGxhc3QgRFhUbiBwYXRjaC4KKworCSogZGxscy93aW5lZG9zL2ludDIwLmMsIGRsbHMvd2luZWRvcy9pbnQyMS5jLCBkbGxzL3dpbmVkb3MvaW50MzEuYywKKwkgIGRsbHMvd2luZWRvcy9tb2R1bGUuYzoKKwlKdWtrYSBIZWlub25lbiA8amhlaUBpa2kuZmk+CisJTWFrZSBET1MgcHJvY2VzcyBleGl0IHVzaW5nIEV4aXRQcm9jZXNzIGluc3RlYWQgb2YgRXhpdFRocmVhZC4KKwlNYWtlIGNhbGxpbmcgRE9TIGV4aXQgZnVuY3Rpb25zIGZyb20gRFBNSSBlaXRoZXIgcmV0dXJuIHRvIFN0YXJ0UE0gb3IKKwlwcmludCBlcnJvciBtZXNzYWdlIGlmIG5vdCBhbGxvd2VkIGJ5IERQTUkgc3BlY2lmaWNhdGlvbi4KKworMjAwMy0wOS0wMSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogdG9vbHMvd3JjL01ha2VmaWxlLmluOiBWaW5jZW50IELpcm9uIDx2YmVyb25AbWVjYW5vLmdtZS51c2hlcmIuY2E+CisJRml4ZWQgdHlwby4KKworCSogZGxscy9kc291bmQvdGVzdHMvZHNvdW5kLmM6IFJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJQWRkZWQgbW9yZSB0ZXN0cyBhbmQgcmVzdHJ1Y3R1cmVkIHRlc3RzIGZvciBlYXNpZXIgZGVidWdnaW5nLgorCisJKiBkbGxzL2Rzb3VuZC9idWZmZXIuYywgZGxscy9kc291bmQvY2FwdHVyZS5jLAorCSAgZGxscy9kc291bmQvZHNvdW5kX21haW4uYywgZGxscy9kc291bmQvZHNvdW5kX3ByaXZhdGUuaCwKKwkgIGRsbHMvZHNvdW5kL21peGVyLmMsIGRsbHMvZHNvdW5kL3ByaW1hcnkuYywgZGxscy9kc291bmQvcHJvcHNldC5jLAorCSAgZGxscy9kc291bmQvc291bmQzZC5jOgorCVJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJQWRkZWQgU2Vjb25kYXJ5QnVmZmVyIGFuZCBEaXJlY3RTb3VuZENhcHR1cmVOb3RpZnkgQ09NIG9iamVjdHMgdG8gZ2V0CisJcmVmZXJlbmNlIGNvdW50aW5nIHJpZ2h0LgorCisJKiBkbGxzL21zaS9tc2kuYywgZGxscy9tc2kvbXNpLnNwZWM6IFJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJQWRkZWQgYSBmZXcgc3R1YiBpbXBsZW1lbnRhdGlvbnMuCisKKwkqIGRsbHMva2VybmVsL25lX21vZHVsZS5jOgorCURvbid0IHN0cmlwIHRoZSBwYXRoIGluIExvYWRNb2R1bGUxNiBiZWZvcmUgd2UgaGF2ZSBvcGVuZWQgdGhlIGZpbGUKKwkocmVwb3J0ZWQgYnkgSnVra2EgSGVpbm9uZW4pLgorCisJKiBkbGxzL3dpbmVkb3MvZG9zdm0uYzogSnVra2EgSGVpbm9uZW4gPGpoZWlAaWtpLmZpPgorCUFkZCBzdXBwb3J0IGZvciBzcGVjaWZpYyBFT0kgUElDIGNvbW1hbmQuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlJZiB3ZSBkb24ndCBzZW5kIGN1c3RvbSBkcmF3IG1lc3NhZ2VzIGZvciBzdWJpdGVtcywgaW5oZXJpdCB0aGUgY29sb3IKKwkmIHRleHQgYXR0cmlidXRlcyBvZiB0aGUgbWFpbiBpdGVtLgorCisJKiBpbmNsdWRlL3dpbnVzZXIuaDogTWFydGluIEZ1Y2hzIDxtYXJ0aW4tZnVjaHNAZ214Lm5ldD4KKwlEZWZpbmUgSUNPTl9TTUFMTDIgYW5kIFNob3dXaW5kb3dBc3luYygpLgorCisJKiBpbmNsdWRlL2NvbW1jdHJsLmg6IE1hcnRpbiBGdWNocyA8bWFydGluLWZ1Y2hzQGdteC5uZXQ+CisJRGVmaW5lIFRCSUZfQllJTkRFWC4KKworMjAwMy0wOC0zMCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogcHJvZ3JhbXMvd2luZWNmZy9Fbi5yYywgcHJvZ3JhbXMvd2luZWNmZy9NYWtlZmlsZS5pbiwKKwkgIHByb2dyYW1zL3dpbmVjZmcvZHJpdmUuYywgcHJvZ3JhbXMvd2luZWNmZy9tYWluLmMsCisJICBwcm9ncmFtcy93aW5lY2ZnL3Byb3BlcnRpZXMuaCwgcHJvZ3JhbXMvd2luZWNmZy9yZXNvdXJjZS5oLAorCSAgcHJvZ3JhbXMvd2luZWNmZy93aW5lY2ZnLmMsIHByb2dyYW1zL3dpbmVjZmcvd2luZWNmZy5oOgorCU1hcmsgV2VzdGNvdHQgPG1hcmtAaG91c2VvZmZpc2gub3JnPgorCU1pa2UgSGVhcm4gPG1pa2VAdGhlb3JldGljLmNvbT4KKwktIE1lcmdlIGRyaXZlIGNvZGUgZnJvbSBNYXJrLgorCS0gUmVuYW1lIHNhdmVYMTFEcnZEbGdTZXR0aW5ncyB0byBmZXRjaFgxMURydkRsZ1NldHRpbmdzLgorCS0gTWFrZSB0aGUgbGlzdGJveCBkaXNwbGF5IGRyaXZlIHRpdGxlLCBub3QgbGV0dGVyLgorCisJKiBwcm9ncmFtcy93aW5lY2ZnL01ha2VmaWxlLmluLCBwcm9ncmFtcy93aW5lY2ZnL21haW4uYywKKwkgIHByb2dyYW1zL3dpbmVjZmcvcHJvcGVydGllcy5oLCBwcm9ncmFtcy93aW5lY2ZnL3dpbmVjZmcuYywKKwkgIHByb2dyYW1zL3dpbmVjZmcvd2luZWNmZy5oLCBwcm9ncmFtcy93aW5lY2ZnL3gxMWRydmRsZy5jOgorCU1hcmsgV2VzdGNvdHQgPG1hcmtAaG91c2VvZmZpc2gub3JnPgorCU1pa2UgSGVhcm4gPG1pa2VAdGhlb3JldGljLmNvbT4KKwktIFJlbmFtZSBoU2Vzc2lvbiB0byBjb25maWdLZXkuCisJLSBNYWtlIHRoZSBjb25maWcgc3RydWN0IGEgZ2xvYmFsLCByZW5hbWUgdG8gImNvbmZpZyIuCisJLSBDb3JyZWN0IGJ1ZyBpbiBPSy9DYW5jZWwgaGFuZGxpbmcuCisJLSBNZXJnZSBYMTFEUlYgZGlhbG9nIGNvZGUgZnJvbSBNYXJrLgorCS0gQWRkIG5ld2xpbmUgdG8gdGhlIGluaXRpYWwgRklYTUUuCisKKwkqIHByb2dyYW1zL3dpbmVjZmcvRW4ucmMsIHByb2dyYW1zL3dpbmVjZmcvbWFpbi5jLAorCSAgcHJvZ3JhbXMvd2luZWNmZy93aW5lY2ZnLmMsIHByb2dyYW1zL3dpbmVjZmcvd2luZWNmZy5oOgorCU1pa2UgSGVhcm4gPG1pa2VAdGhlb3JldGljLmNvbT4KKwktIENvcnJlY3QgcmV0dXJuIGNvZGUgb2YgbG9hZENvbmZpZygpLgorCS0gTWFrZSB0aGUgcmVnaXN0cnkga2V5IHVzZWQgYSBjb25zdGFudC4KKwktIE1hZGUgY29kZSBzbGlnaHRseSBtb3JlIGNvbnNpc3RhbnQgd2l0aCBpdHNlbGYuCisJLSBTb21lIHN0eWxlIGNoYW5nZXMsIGV4cGFuZGluZyBvdXQgdmFyaWFibGUgbmFtZXMsIHdoaXRlc3BhY2UsCisJICByZW1vdmluZyB1bm5lY2Vzc2FyeSB2YXJpYWJsZSBpbml0aWFsaXplcnMgYW5kIGh1bmdhcmlhbiBub3RhdGlvbiBldGMuCisJLSBSZXBsYWNlIGRpYWxvZyBib3ggd2l0aCBhIEZJWE1FIGluIFdpbk1haW4oKSB0byB3YXJuIG9mCisJICBpbmNvbXBsZXRlbmVzcy4KKwktIEltcGxlbWVudCBzYXZlQ29uZmlnVmFsdWUoKS4KKwktIEhvb2sgdXAgc3VwcG9ydCBmb3Igc2F2ZS9sb2FkIG9mIFdpblZlci4KKworCSogcHJvZ3JhbXMvcmVnZWRpdC9Fbi5yYywgcHJvZ3JhbXMvcmVnZWRpdC9Fcy5yYywKKwkgIHByb2dyYW1zL3JlZ2VkaXQvU2kucmMsIHByb2dyYW1zL3N0YXJ0L0VuLnJjLCBwcm9ncmFtcy9zdGFydC9QdC5yYywKKwkgIHByb2dyYW1zL3N0YXJ0L1J1LnJjLCBwcm9ncmFtcy93aW5lY2ZnL0VuLnJjLCBwcm9ncmFtcy93aW5lY2ZnL0VzLnJjLAorCSAgcHJvZ3JhbXMvd2luZWNmZy9QdC5yYywgcHJvZ3JhbXMvd2luZWNmZy9TaS5yYywKKwkgIHByb2dyYW1zL3dpbmVjZmcvd2luZWNmZy5yYywgcHJvZ3JhbXMvd2luZWZpbGUvRGUucmMsCisJICBwcm9ncmFtcy93aW5lZmlsZS9Fbi5yYywgcHJvZ3JhbXMvd2luZWZpbGUvRnIucmMsCisJICBwcm9ncmFtcy93aW5lZmlsZS9IdS5yYywgcHJvZ3JhbXMvd2luZWZpbGUvUnUucmMsCisJICBwcm9ncmFtcy93aW5lZmlsZS9TaS5yYywgcHJvZ3JhbXMvd2luZWZpbGUvWmgucmM6CisJUmVtb3ZlZCB3cm9uZyBvciB1bm5lZWRlZCBjb2RlcGFnZSBwcmFnbWFzLgorCisJKiBkbGxzL3dpbnNvY2svc29ja2V0LmM6IEp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwktIGltcHJvdmUgc29tZSBwYXJhbWV0ZXIgY2hlY2tpbmcgaW4gV1NBSW9jdGwKKwktIGZpeCBhIG1lbW9yeSBsZWFrIEkgaW50cm9kdWNlZCBpbiBXU0FJb2N0bAorCisJKiBkbGxzL2dkaS9tZmRydi9pbml0LmMsIGRsbHMvZ2RpL21mZHJ2L21ldGFmaWxlZHJ2LmgsCisJICBkbGxzL2dkaS9tZmRydi9vYmplY3RzLmMsIG9iamVjdHMvcGFsZXR0ZS5jOgorCURhdmUgQmVsYW5nZXIgPGRhdmUuYmVsYW5nZXJAY2ltbWV0cnkuY29tPgorCUltcGxlbWVudGF0aW9uIG9mIFNlbGVjdFBhbGV0dGUgYW5kIFJlYWxpemVQYWxldHRlIGluIHRoZSBtZXRhZmlsZQorCWRyaXZlci4KKworCSogZGxscy9nZGkvbWZkcnYvZGMuYzogV2FycmVuIEJhaXJkIDxXYXJyZW5fQmFpcmRAY2ltbWV0cnkuY29tPgorCVNhdmUgdGhlIGV4dCBhbGlnbm1lbnQgaW5mb3JtYXRpb24gaW4gYSA4LWJ5dGVzIG1ldGFyZWNvcmQgYXMgaXQKKwlzaG91bGQgYmUuCisKKzIwMDMtMDgtMjkgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvbnRkbGwvc3lzZGVwcy5jLCBpbmNsdWRlL3RocmVhZC5oLCBpbmNsdWRlL3dpbmUvbGlicmFyeS5oLAorCSAgbGlicy93aW5lL01ha2VmaWxlLmluLCBsaWJzL3dpbmUvbG9hZGVyLmMsIGxpYnMvd2luZS9wb3J0LmMsCisJICBzY2hlZHVsZXIvZmliZXIuYywgc2NoZWR1bGVyL3Byb2Nlc3MuYzoKKwlFeHBvcnQgU1lTREVQU19Td2l0Y2hUb1RocmVhZFN0YWNrKCkgZnVuY3Rpb25hbGl0eSBmcm9tIGxpYndpbmUgYXMKKwl3aW5lX3N3aXRjaF90b19zdGFjaygpLgorCisJKiBkbGxzL2NvbWN0bDMyL2NvbWN0bF9TaS5yYywgZGxscy9jb21tZGxnL2NkbGdfU2kucmMsCisJICBkbGxzL3NoZWxsMzIvc2hlbGwzMl9TaS5yYywgZGxscy93aW5pbmV0L3JzcmMucmMsCisJICBkbGxzL3dpbmluZXQvd2luaW5ldF9TaS5yYywgZGxscy93aW5tbS93aW5tbV9TaS5yYywKKwkgIHByb2dyYW1zL2Nsb2NrL1NpLnJjLCBwcm9ncmFtcy9jbWRsZ3RzdC9TaS5yYywKKwkgIHByb2dyYW1zL2NtZGxndHN0L2NtZGxnci5yYywgcHJvZ3JhbXMvbm90ZXBhZC9TaS5yYywKKwkgIHByb2dyYW1zL3Byb2dtYW4vU2kucmMsIHByb2dyYW1zL3N0YXJ0L1NpLnJjLCBwcm9ncmFtcy9zdGFydC9yc3JjLnJjLAorCSAgcHJvZ3JhbXMvdmlldy9TaS5yYywgcHJvZ3JhbXMvdmlldy92aWV3cmMucmMsIHByb2dyYW1zL3djbWQvU2kucmMsCisJICBwcm9ncmFtcy93Y21kL3djbWRyYy5yYywgcHJvZ3JhbXMvd2luZWNmZy9TaS5yYywKKwkgIHByb2dyYW1zL3dpbmVjZmcvd2luZWNmZy5yYywgcHJvZ3JhbXMvd2luZWZpbGUvU2kucmMsCisJICBwcm9ncmFtcy93aW5lZmlsZS9yc3JjLnJjLCBwcm9ncmFtcy93aW5lbWluZS9TaS5yYywKKwkgIHByb2dyYW1zL3dpbmVtaW5lL3JzcmMucmM6CisJUm9rIE1hbmRlbGpjIDxyb2subWFuZGVsamNAZ2ltYi5vcmc+CisJTWlub3IgdXBkYXRlcyBvZiBTbG92ZW5pYW4gdHJhbnNsYXRpb25zLgorCisJKiBkbGxzL3dzb2NrMzIvc29ja2V0LmMsIGRsbHMvd3NvY2szMi93c2NvbnRyb2wuaDoKKwlKdWFuIExhbmcgPGp1YW5fbGFuZ0B5YWhvby5jb20+CisJLSBpbXByb3ZlIFdzQ29udHJvbCBlcnJvciBjaGVja2luZworCS0gbWFrZSBXc0NvbnRyb2wgb3V0cHV0IG1vcmUgY2xvc2VseSBtYXRjaCBXaW45OCdzCisJLSBkb2N1bWVudCBXc0NvbnRyb2wgYmVoYXZpb3IgYSBiaXQgYmV0dGVyCisKKwkqIGRsbHMvd2luZWRvcy9pbnQzMy5jOiBKdWtrYSBIZWlub25lbiA8amhlaUBpa2kuZmk+CisJV29ya2Fyb3VuZCBpbXBsZW1lbnRlZCBmb3IgcGFzc2luZyBmYWtlZCBtaWNrZXlzIHRvIG1vdXNlIGNhbGxiYWNrCisJcm91dGluZS4KKworCSogZGxscy93aW5lZG9zL3ZnYS5jOiBKdWtrYSBIZWlub25lbiA8amhlaUBpa2kuZmk+CisJQWxsb3cgYXBwbGljYXRpb24gdG8gdXNlIFZHQSB3aW5kb3cgdGhhdCBvdmVybGFwcyBmcmFtZWJ1ZmZlciBvbmx5CisJcGFydGlhbGx5LgorCisJKiBkbGxzL21zaS9tc2kuc3BlYzogUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlBZGRlZCBzb21lIG1pc3NpbmcgZnVuY3Rpb25zLgorCisJKiBkbGxzL3dpbm1tL3dpbmVvc3MvYXVkaW8uYzogTWlrZSBIZWFybiA8bWlrZUB0aGVvcmV0aWMuY29tPgorCUZpeGVkIHRoZSBlcnJvciBtZXNzYWdlIGluIFdhdmUoSW58T3V0KUluaXQsIGl0IHVzZWQgdG8gZ2l2ZSBhCisJY29uZnVzaW5nIG1lc3NhZ2UsIG5vdyB1c2VzIHN0cmVycm9yLgorCisJKiBkbGxzL3NoZWxsMzIvY2hhbmdlbm90aWZ5LmMsIGRsbHMvc2hlbGwzMi91bmRvY3NoZWxsLmg6CisJUm9sZiBLYWxiZXJtYXR0ZXIgPHJvbGYua2FsYmVybWF0dGVyQGNpdGVuZy5jb20+CisJQ2hhbmdlIHByb3RveXBlIG9mIFNIQ2hhbmdlTm90aWZ5UmVnaXN0ZXIgdG8gd2hhdCBNU0ROIHNheXMuCisJUmVtb3ZlIGFuIHVuc2lnbmVkIG1pc21hdGNoIHdhcm5pbmcuCisKKwkqIGRsbHMvbnRkbGwvbnQuYzogSm9obiBLLiBIb2htIDxqaG9obUBhY20ub3JnPgorCVNldCBTRV9HUk9VUF9FTkFCTEVEIGluIEF0dHJpYnV0ZXMgb2YgQWRtaW5pc3RyYXRvcnMgU0lEIGR1cmluZworCU50UXVlcnlJbmZvcm1hdGlvblRva2VuIGZvciBUb2tlbkdyb3Vwcy4KKworCSogZGxscy9jb21jdGwzMi9pbWFnZWxpc3QuYzogTWlrZSBIZWFybiA8bWlrZUB0aGVvcmV0aWMuY29tPgorCUF2b2lkIGRpdmlzaW9uIGJ5IHplcm8gd2hlbiB0aGUgaW1hZ2VsaXN0IGlzIGNyZWF0ZWQgd2l0aCBhIHdpZHRoIG9mCisJemVybyAoaWUgbm8gaW1hZ2VzKS4KKworCSogZGxscy9vbGUzMi9iaW5kY3R4LmM6CisJUm9sZiBLYWxiZXJtYXR0ZXIgPHJvbGYua2FsYmVybWF0dGVyQGNpdGVuZ2luZWVyaW5nLmNvbT4KKwlNYWtlIHN1cmUgdGhlIHBhc3NlZCBpbiBvYmplY3QgcG9pbnRlciBpcyBvbmx5IGFkZHJlZmVkIG9uIHN1Y2Nlc3MuCisKKzIwMDMtMDgtMjggIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvb2xlYXV0MzIvb2xlcGljdHVyZS5jOiBXYXJuaW5nIGZpeC4KKworCSogaW5jbHVkZS8qLmg6CisJRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlVc2UgYW5nbGUgYnJhY2tldHMgKDw+KSByYXRoZXIgdGhhbiBxdW90ZXMgKCIiKSBmb3IgdGhlIGluY2x1ZGUKKwlkaXJlY3RpdmVzIGluIG91ciAuaCBmaWxlcy4gVGhpcyBzaG91bGQgYXZvaWQgc29tZSBwb3RlbnRpYWxseSBuYXN0eQorCXN1cnByaXNlcyBmb3IgV2luZWxpYiBhcHBzLgorCisJKiBkbGxzL2tlcm5lbC9jaGFuZ2UuYywgZGxscy9rZXJuZWwvcHJvY2Vzcy5jLCBkbGxzL21zdmNydC9leGNlcHQuYywKKwkgIGRsbHMvbnRkbGwvZXhjZXB0aW9uLmMsIGRsbHMvbnRkbGwvdGhyZWFkLmMsIGRsbHMvbnRkbGwvdmlydHVhbC5jLAorCSAgZGxscy9vbGUzMi9jb21wb2JqX3ByaXZhdGUuaCwgZGxscy91c2VyL21zZzE2LmMsCisJICBkbGxzL3VzZXIvdXNlcl9tYWluLmMsIGRsbHMvd2luZWRvcy9kb3N2bS5jLCBkbGxzL3dpbnNvY2svc29ja2V0LmMsCisJICBpbmNsdWRlL2FzeW5jLmgsIGluY2x1ZGUvdGhyZWFkLmgsIGluY2x1ZGUvd2luZS9zZXJ2ZXIuaCwKKwkgIGluY2x1ZGUvd2ludGVybmwuaCwgbG9hZGVyL21vZHVsZS5jLCBtZW1vcnkvZW52aXJvbi5jLAorCSAgdG9vbHMvd2luZWJ1aWxkL3NwZWMxNi5jLCB3aW5kb3dzL21lc3NhZ2UuYzoKKwlTdGFydCB1c2luZyB0aGUgZXhwb3J0ZWQgVEVCIHN0cnVjdHVyZSBmcm9tIHdpbnRlcm5sLmggd2hlcmUKKwlwb3NzaWJsZS4KKworCSogZGxscy9vbGVhdXQzMi90eXBlbGliLmM6IE1pa2UgSGVhcm4gPG1pa2VAdGhlb3JldGljLmNvbT4KKwlJbXBsZW1lbnRlZCBhIHR5cGVsaWIgbG9hZGVyIGNhY2hlLgorCisJKiBpbmNsdWRlL29iamJhc2UuaDogRGF2ZSBCZWxhbmdlciA8ZGF2ZS5iZWxhbmdlckBjaW1tZXRyeS5jb20+CisJQWRkZWQgQ29EaXNjb25uZWN0T2JqZWN0IGFuZCBDb1JlZ2lzdGVyTWVzc2FnZUZpbHRlciBwcm90b3R5cGVzLgorCisJKiBwcm9ncmFtcy93aW5lZmlsZS93aW5lZmlsZS5jOiBEb24ndCB1c2UgYWxsb2NhLgorCisJKiBkbGxzL250ZGxsL3NpZ25hbF9zcGFyYy5jOiBEYXZlIEJlbGFuZ2VyIDxkYXZlLmJlbGFuZ2VyQGNpbW1ldHJ5LmNvbT4KKwlGaXhlZCBhIGNvbXBpbGUgZXJyb3IuCisKKwkqIGluY2x1ZGUvZHNvdW5kLmg6IFJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJQWRkZWQgc3BlYWtlciBjb25maWcgbWFjcm9zLgorCisJKiBpbmNsdWRlL3V1aWRzLmg6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgQ0xTSURfSFRNTERvY3VtZW50LgorCisJKiBpbmNsdWRlL3VybG1vbi5oOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRGVmaW5lIHRoZSBJUGVyc2lzdE1vbmlrZXIgaW50ZXJmYWNlLgorCisJKiBkbGxzL21zdmNydC9leGNlcHQuYywgZGxscy9udGRsbC9leGNlcHRpb24uYywgZGxscy9udGRsbC9zeXNkZXBzLmMsCisJICBpbmNsdWRlL3RocmVhZC5oLCBzY2hlZHVsZXIvZmliZXIuYywgc2NoZWR1bGVyL3RocmVhZC5jLAorCSAgdG9vbHMvd2luZWJ1aWxkL3JlbGF5LmM6CisJUmVuYW1lZCBhIGZldyBtb3JlIFRFQiBmaWVsZHMuCisKKwkqIGRsbHMva2VybmVsL3dvd3RodW5rLmMsIGRsbHMvbXN2Y3J0L2NwcGV4Y2VwdC5jLAorCSAgZGxscy9tc3ZjcnQvY3BwZXhjZXB0LmgsIGRsbHMvbXN2Y3J0L2V4Y2VwdC5jLAorCSAgZGxscy9udGRsbC9leGNlcHRpb24uYywgaW5jbHVkZS9zdGFja2ZyYW1lLmgsIGluY2x1ZGUvdGhyZWFkLmgsCisJICBpbmNsdWRlL3dpbm50LmgsIGluY2x1ZGUvd2luZS9leGNlcHRpb24uaCwgcHJvZ3JhbXMvd2luZWRiZy9pbmZvLmM6CisJUmVuYW1lZCBFWENFUFRJT05fRlJBTUUgdG8gRVhDRVBUSU9OX1JFR0lTVFJBVElPTl9SRUNPUkQgc2luY2UgdGhhdAorCXNlZW1zIHRvIGJlIHRoZSBvZmZpY2lhbCBuYW1lLgorCisJKiBzY2hlZHVsZXIvcHRocmVhZC5jOgorCUFkZGVkIG1pc3NpbmcgZnVuY3Rpb25zIGZvciBwbGF0Zm9ybXMgdGhhdCBkb24ndCBidWlsZCB0aGUgcHRocmVhZHMKKwllbXVsYXRpb24gKHJlcG9ydGVkIGJ5IFRvZGQgVmllcmxpbmcpLgorCisyMDAzLTA4LTI3ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2tlcm5lbC90YXNrLmMsIGRsbHMva2VybmVsL3dvd3RodW5rLmMsIGRsbHMvbnRkbGwvZGVidWd0b29scy5jLAorCSAgZGxscy9udGRsbC9sb2FkZXIuYywgZGxscy9udGRsbC9zeXNkZXBzLmMsIGRsbHMvbnRkbGwvdmlydHVhbC5jLAorCSAgZGxscy9vbGUzMi9jb21wb2JqLmMsIGRsbHMvb2xlMzIvY29tcG9ial9wcml2YXRlLmgsIGluY2x1ZGUvdGhyZWFkLmgsCisJICBpbmNsdWRlL3dpbnRlcm5sLmgsIHNjaGVkdWxlci9jbGllbnQuYywgc2NoZWR1bGVyL2ZpYmVyLmMsCisJICBzY2hlZHVsZXIvcHJvY2Vzcy5jLCBzY2hlZHVsZXIvc3lzbGV2ZWwuYywgc2NoZWR1bGVyL3RocmVhZC5jOgorCVJlbmFtZWQgYSBmZXcgVEVCIGZpZWxkcyB0byB1c2UgdGhlICJvZmZpY2lhbCIgbmFtZXMuCisKKwkqIGRsbHMvc2V0dXBhcGkvTWFrZWZpbGUuaW4sIGRsbHMvc2V0dXBhcGkvc2V0dXBhcGlfcHJpdmF0ZS5oLAorCSAgZGxscy9zZXR1cGFwaS9zZXR1cGNhYi5jLCBkbGxzL3NldHVwYXBpL3NldHVweF9tYWluLmMsCisJICBkbGxzL3NldHVwYXBpL3N0dWJzLmMsIGluY2x1ZGUvc2V0dXBhcGkuaDoKKwlHcmVnb3J5IE0uIFR1cm5lciA8Z210dXJuZXIwMDdAYW1lcml0ZWNoLm5ldD4KKwlJbXBsZW1lbnQgKG1vc3Qgb2YpIFNldHVwSXRlcmF0ZUNhYmluZXQuCisKKwkqIHByb2dyYW1zL3djbWQvd2NtZG1haW4uYzogT2xlZyBQcm9raG9yb3YgPHhvbGVncHJvQHJiY21haWwucnU+CisJTm8gaGFuZGxlcyB3ZXJlIGluaGVyaXRlZCBpbiBDcmVhdGVQcm9jZXNzLCBhbGwgY2hpbGQgY29uc29sZSBwcm9ncmFtcworCXdlcmUgc2lsZW50LgorCUVyaWMgUG91ZWNoIDxwb3VlY2gtZXJpY0B3YW5hZG9vLmZyPgorCUVuc3VyZSByZWRpcmVjdGVkIHN0cmVhbSBoYW5kbGUgZm9yIGNoaWxkIHByb2Nlc3MgYXJlIGFjdHVhbGx5CisJaW5oZXJpdGFibGUuCisKKwkqIGRsbHMvY29tY3RsMzIvdG9vbGJhci5jOiBEdWFuZSBDbGFyayA8ZGNsYXJrQGFrYW1haWwuY29tPgorCUJ1dHRvbiB3aWR0aCBzaG91bGQgYmUgdGhlIGxhcmdlciBvZiB0ZXh0IHdpZHRoL2JpdG1hcCB3aWR0aC4KKworCSogbGlicy93aW5lL2xvYWRlci5jOiBUb2RkIFZpZXJsaW5nIDx0dkBwb2JveC5jb20+CisJVXNlIE1BUF9UUllGSVhFRCBvbiBOZXRCU0QgaWYgYXZhaWxhYmxlLgorCisJKiBkbGxzL2tlcm5lbC9uZV9tb2R1bGUuYywgZGxscy9rZXJuZWwvdGFzay5jLCBkbGxzL2tlcm5lbC90aHVuay5jLAorCSAgaW5jbHVkZS9zdGFja2ZyYW1lLmg6CisJUmVtb3ZlZCBzb21lIG5vIGxvbmdlciBuZWVkZWQgZGVmaW5pdGlvbnMgZnJvbSBzdGFja2ZyYW1lLmguCisKKwkqIGRsbHMva2VybmVsL2tybmwzODYuZXhlLnNwZWMsIGRsbHMva2VybmVsL3dvd3RodW5rLmM6CisJQ29udmVydGVkIHJlbWFpbmluZyAxNi1iaXQgZnVuY3Rpb25zIHRvIHRoZSBuZXcgdmFyYXJncyBtZWNoYW5pc20uCisKKwkqIGRsbHMvbnRkbGwvc2VjLmMsIGRsbHMvbnRkbGwvc2lnbmFsX2kzODYuYywKKwkgIGRsbHMvbnRkbGwvc2lnbmFsX3Bvd2VycGMuYywgZGxscy9udGRsbC9zaWduYWxfc3BhcmMuYywKKwkgIGRsbHMvd2luZWRvcy9kb3N2bS5jLCBkbGxzL3dpbmVkb3MvaW50MzEuYywgZGxscy93aW5lZG9zL3JlbGF5LmMsCisJICBtZW1vcnkvc2VsZWN0b3IuYywgcmVsYXkzMi9yZWxheTM4Ni5jLCBzY2hlZHVsZXIvc3lzbGV2ZWwuYywKKwkgIHNjaGVkdWxlci90aHJlYWQuYywgd2luMzIvZGV2aWNlLmMsIHdpbjMyL2V4Y2VwdC5jLCB3aW5kb3dzL3dpbi5jOgorCUF2b2lkIGluY2x1ZGluZyBzdGFja2ZyYW1lLmggaWYgaXQncyBub3QgbmVlZGVkLgorCisJKiBkbGxzL2tlcm5lbC9kZWJ1Z2dlci5jLCBkbGxzL2tlcm5lbC9rcm5sMzg2LmV4ZS5zcGVjLAorCSAgZGxscy9rZXJuZWwvcmVsYXkxNi5jLCBkbGxzL21zdmlkZW8vbXN2aWRlby5zcGVjLAorCSAgZGxscy9tc3ZpZGVvL21zdmlkZW8xNi5jLCBkbGxzL21zdmlkZW8vdmZ3MTYuaCwKKwkgIGRsbHMvdXNlci91c2VyLmV4ZS5zcGVjLCBkbGxzL3VzZXIvd3NwcmludGYuYywgaW5jbHVkZS9zdGFja2ZyYW1lLmgsCisJICBpbmNsdWRlL3dpbmUvd2luZGVmMTYuaCwgaW5jbHVkZS93aW5lL3dpbnVzZXIxNi5oLAorCSAgdG9vbHMvd2luZWJ1aWxkL2J1aWxkLmgsIHRvb2xzL3dpbmVidWlsZC9wYXJzZXIuYywKKwkgIHRvb2xzL3dpbmVidWlsZC9zcGVjMTYuYywgdG9vbHMvd2luZWJ1aWxkL3dpbmVidWlsZC5tYW4uaW46CisJQWRkZWQgdmFyYXJncyBzdXBwb3J0IGZvciAxNi1iaXQgZW50cnkgcG9pbnRzLgorCUFkZGVkIC1yZXQxNiBlbnRyeSBwb2ludCBmbGFnIHRvIGFsbG93IDE2LWJpdCBjZGVjbCBhbmQgdmFyYXJncworCWZ1bmN0aW9uIHRvIHJldHVybiAxNi1iaXQgdmFsdWVzIHRvby4KKworCSogZGxscy9kcG5ocGFzdC9tYWluLmMsIGRsbHMvZHNvdW5kL3Rlc3RzL3Byb3BzZXQuYywKKwkgIGRsbHMvb3BlbmdsMzIvb3BlbmdsX25vcm0uYywgZGxscy90d2Fpbi90d2Fpbi5oLCBpbmNsdWRlL3dpbmRlZi5oLAorCSAgaW5jbHVkZS93dHlwZXMuaWRsLCBwcm9ncmFtcy9jbWRsZ3RzdC9jbWRsZ3RzdC5jOgorCURpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJUmVtb3ZlIHNvbWUgdW5uZWVkZWQgX19XSU5FU1JDX18gdGVzdHMgZnJvbSB0aGUgaGVhZGVycy4KKwlNaXNjZWxsYW5lb3VzIGNsZWFudXBzIGFuZCBmaXhlcy4KKworCSogREVWRUxPUEVSUy1ISU5UUzogTWlrZSBIZWFybiA8bWlrZUB0aGVvcmV0aWMuY29tPgorCVVwZGF0ZSBETEwgbGlzdCwgYWRkIGEgbGluayB0byBtc2RuLmNvbS4KKworMjAwMy0wOC0yNiAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9rZXJuZWwvTWFrZWZpbGUuaW4sIGRsbHMva2VybmVsL3Byb2ZpbGUuYywKKwkgIGRsbHMvbnRkbGwvTWFrZWZpbGUuaW4sIGZpbGVzL2RpcmVjdG9yeS5jLCBmaWxlcy9kcml2ZS5jLAorCSAgZmlsZXMvcHJvZmlsZS5jLCBpbmNsdWRlL2ZpbGUuaDoKKwlNb3ZlZCBwcm9maWxlIGZ1bmN0aW9ucyB0byBkbGxzL2tlcm5lbC4KKworCSogREVWRUxPUEVSUy1ISU5UUywgY29uZmlndXJlLCBjb25maWd1cmUuYWMsIHRvb2xzL3dpbmFwaS9tc3ZjbWFrZXIsCisJICB0b29scy93aW5hcGlfY2hlY2svbW9kdWxlcy5kYXQ6CisJVGhlIGlmMTYzMiBkaXJlY3Rvcnkgbm8gbG9uZ2VyIGV4aXN0cy4KKworCSogZGxscy9rZXJuZWwvbG9jYWwxNi5jLCBsb2FkZXIvdGFzay5jLCBtZW1vcnkvbG9jYWwuYzoKKwlNb3ZlZCBhIGZldyBtb3JlIGZ1bmN0aW9ucyB0byBkbGxzL2tlcm5lbC4KKworCSogZGxscy9rZXJuZWwvLmN2c2lnbm9yZSwgZGxscy9rZXJuZWwvTWFrZWZpbGUuaW4sCisJICBkbGxzL2tlcm5lbC9uZV9tb2R1bGUuYywgZGxscy9rZXJuZWwvcmVsYXkxNi5jLAorCSAgZGxscy9rZXJuZWwvc25vb3AxNi5jLCBkbGxzL250ZGxsLy5jdnNpZ25vcmUsIGRsbHMvbnRkbGwvTWFrZWZpbGUuaW4sCisJICBsb2FkZXIvbmUvbW9kdWxlLmM6CisJTW92ZWQgMTYtYml0IHJlbGF5IGFuZCBzbm9vcCBzdXBwb3J0IHRvIGRsbHMva2VybmVsLgorCisyMDAzLTA4LTI1ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBwcm9ncmFtcy93aW5lY2ZnL21haW4uYzogTWlrZSBIZWFybiA8bWlrZUB0aGVvcmV0aWMuY29tPgorCVdhcm4gdXNlcnMgb2Ygd2luZWNmZyBhYm91dCBpdHMgaW5jb21wbGV0ZW5lc3MuCisKKwkqIGRsbHMva2VybmVsL3dvd3RodW5rLmMsIG1lbW9yeS9pbnN0ci5jLCB0b29scy93aW5lYnVpbGQvcmVsYXkuYzoKKwlNb3ZlZCBzZWxlY3RvciBmaXh1cCBmb3IgdGhlIHJlbGF5IGNvZGUgdG8gdGhlIGNhbGx0bzE2IGV4Y2VwdGlvbgorCWhhbmRsZXIuCisJTWFrZSBzdXJlIHRvIG9ubHkgdXNlIHBvcCBpbnN0cnVjdGlvbnMgdG8gbW9kaWZ5IHNlZ21lbnQgcmVnaXN0ZXJzIGluCisJdGhlIHJlbGF5IGNvZGUgdG8gc2ltcGxpZnkgdGhlIHNlbGVjdG9yIGZpeHVwLgorCisJKiBpbmNsdWRlL3dpbmUvcG9ydC5oLCBsaWJzL3BvcnQvbWVtY3B5X3VuYWxpZ25lZC5jOgorCURvbid0IGJ1aWxkIG1lbWNweV91bmFsaWduZWQgb24gMzg2IHRvIGF2b2lkIE1TVkMgYnJlYWthZ2UgKHJlcG9ydGVkCisJYnkgSm9uIEdyaWZmaXRocykuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlBbHdheXMgc2V0dXAgdGhlIHNlbGVjdGlvbiBjb2xvdXIsIG5vdCBqdXN0IGluIGN1c3RvbSBkcmF3LgorCisJKiBkbGxzL3dpbmVkb3MvZGV2aWNlcy5jLCBkbGxzL3dpbmVkb3MvZG9zYXNwaS5jLAorCSAgZGxscy93aW5lZG9zL2Rvc2V4ZS5oLCBkbGxzL3dpbmVkb3MvZG9zdm0uYywgZGxscy93aW5lZG9zL2ludDMxLmMsCisJICBkbGxzL3dpbmVkb3MvaW50MzMuYywgZGxscy93aW5lZG9zL2ludGVycnVwdHMuYywKKwkgIGRsbHMvd2luZWRvcy9tb2R1bGUuYzoKKwlKdWtrYSBIZWlub25lbiA8amhlaUBpa2kuZmk+CisJTWFrZSBhbGwgdXNlcnMgb2YgRE9TVk1fRW50ZXIgZXhwbGljaXRseSBzZXQgVjg2IGZsYWcuCisJRml4IG1vdXNlIHJlbGF5IHN0YWNrIHVzYWdlIGluIHByb3RlY3RlZCBtb2RlLgorCVJhdyBtb2RlIHN3aXRjaCBub3cgaGFuZGxlcyBpbnRlcnJ1cHQgZmxhZyBjb3JyZWN0bHkuCisKKwkqIGRsbHMva2VybmVsL2tlcm5lbF9tYWluLmMsIGRsbHMva2VybmVsL2tlcm5lbF9wcml2YXRlLmgsCisJICBkbGxzL2tlcm5lbC93b3d0aHVuay5jLCBkbGxzL250ZGxsL2V4Y2VwdGlvbi5jLCBpbmNsdWRlL21vZHVsZS5oLAorCSAgbWVtb3J5L2luc3RyLmMsIHRvb2xzL3dpbmVidWlsZC9yZWxheS5jOgorCU1vdmVkIDE2LWJpdCBjYWxscyBpbml0aWFsaXphdGlvbiBhbmQgZXhjZXB0aW9uIGhhbmRsaW5nIHRvIGtlcm5lbDMyLgorCVN0b3JlIHRoZSBjYWxsX3RvXzE2IHJldHVybiBhZGRyZXNzIG9uIHRoZSBzdGFjayBmcm9tIHRoZSBDIGNvZGUgc28KKwl0aGF0IHdlIGRvbid0IG5lZWQgdHdvIHZhcmlhbnRzIG9mIGNhbGxfdG9fMTZfcmVncy4KKworCSogZGxscy93aW5lZG9zL2ludDMxLmM6CisJRml4ZWQgY29weS9wYXN0ZSBlcnJvciBpbiBXT1dDYWxsYmFjazE2RXggY2FsbCAoc3BvdHRlZCBieSBEbWl0cnkKKwlUaW1vc2hrb3YpLgorCisJKiBkbGxzL3dpbmVkb3MvdmdhLmM6IEp1a2thIEhlaW5vbmVuIDxqaGVpQGlraS5maT4KKwlSZXBsYWNlIHNvbWUgbWFnaWMgbnVtYmVycyB3aXRoIHN5bWJvbHMuCisJQWRkIHNhbml0eSBjaGVja3Mgc28gdGhhdCBWR0Egd2luZG93IGNhbm5vdCBiZSB1c2VkIHRvIGFjY2VzcyBtZW1vcnkKKwlvdXRzaWRlIGZyYW1lYnVmZmVyLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJRml4IHRoZSBoaXQgdGVzdCBmb3IgZnVsbCByb3cgc2VsZWN0IGluIFJFUE9SVCBtb2RlIChmb3VuZCwgZGVidWdnZWQsCisJYW5kIHRlc3RlZCBieSBFcmljIFBvdWVjaCkuCisKKzIwMDMtMDgtMjMgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMva2VybmVsL2tlcm5lbDMyLnNwZWMsIGRsbHMva2VybmVsL25lX21vZHVsZS5jLAorCSAgZGxscy9rZXJuZWwvbmVfc2VnbWVudC5jLCBkbGxzL2tlcm5lbC9zeXN0ZW0uYywgZGxscy9rZXJuZWwvdGh1bmsuYywKKwkgIGRsbHMva2VybmVsL3dvd3RodW5rLmMsIGRsbHMvd2luZWRvcy9pbnQzMS5jLCBpbmNsdWRlL3N0YWNrZnJhbWUuaCwKKwkgIGluY2x1ZGUvd2luZS93aW5iYXNlMTYuaCwgaW5jbHVkZS93b3dudDMyLmgsIHRvb2xzL3dpbmVidWlsZC9yZWxheS5jLAorCSAgd2luZG93cy93aW5wcm9jLmM6CisJRXh0ZW5kZWQgV09XQ2FsbGJhY2sxNkV4IHRvIHN1cHBvcnQgcmVnaXN0ZXIgZnVuY3Rpb25zIHRvby4gIFRoaXMKKwlhbGxvd3Mgc2ltcGxpZnlpbmcgdGhlIHdpbmVfY2FsbF90b18xNiBhc3NlbWJseSBjb2RlIGJ5IG1vdmluZyBwYXJ0IG9mCisJaXQgdG8gQyBjb2RlLCBhbmQgZ2V0dGluZyByaWQgb2YgdGhlIGV4dHJhIGtlcm5lbCBleHBvcnRzLgorCisJKiBkbGxzL2NvbWN0bDMyL3RyZWV2aWV3LmM6CisJTWF4aW1lIEJlbGxlbmfpIDxtYXhpbWUuYmVsbGVuZ2VAbGFwb3N0ZS5uZXQ+CisJRml4IHRoZSBjcmVhdGlvbiBvZiB0cmVldmlldyB3aXRoIGNoZWNrYm94ZXMuCisKKwkqIGRsbHMvc2V0dXBhcGkvTWFrZWZpbGUuaW46IFN0ZXZlbiBFZHdhcmRzIDxzdGV2ZW5fZWQ0MTUzQHlhaG9vLmNvbT4KKwlTcGxpdCB3aW4xNi8zMiBzdXBwb3J0LgorCisJKiBkbGxzL2tlcm5lbC9uZV9tb2R1bGUuYywgZGxscy9udGRsbC9NYWtlZmlsZS5pbiwgaW5jbHVkZS9tb2R1bGUuaCwKKwkgIGxvYWRlci9sb2Fkb3JkZXIuYzoKKwlNb3ZlZCAxNi1iaXQgYnVpbHRpbiBtb2R1bGUgaGFuZGxpbmcgdG8gZGxscy9rZXJuZWwvbmVfbW9kdWxlLmMuCisKKwkqIGRsbHMvZDNkaW0vdmVyc2lvbi5yYywgZGxscy9kaW5wdXQvdmVyc2lvbi5yYywgZGxscy9kcGxheXgvdmVyc2lvbi5yYzoKKwlUb20gV2lja2xpbmUgPHR3aWNrbGluZUBza3liZXN0LmNvbT4KKwlTZXQgdmVyc2lvbiB0byA4LjEuCisKKwkqIGRsbHMvY29tY3RsMzIvY29tY3RsX0VzLnJjLCBkbGxzL2NvbWN0bDMyL3JzcmMucmMsCisJICBkbGxzL21zdmlkZW8vbXNybGUzMi9tc3JsZV9Fcy5yYywgZGxscy9tc3ZpZGVvL21zcmxlMzIvcnNyYy5yYywKKwkgIGRsbHMvd2luZXBzL3JzcmMucmMsIGRsbHMvd2luZXBzL3dwc19Fcy5yYzoKKwlKb3PpIE1hbnVlbCBGZXJyZXIgT3J0aXogPGptZm8xOTgyQHlhaG9vLmVzPgorCU1vcmUgU3BhbmlzaCB0cmFuc2xhdGlvbnMuCisKKwkqIGRsbHMvZHNvdW5kL01ha2VmaWxlLmluLCBkbGxzL2Rzb3VuZC9kc291bmQuc3BlYywKKwkgIGRsbHMvZHNvdW5kL3JlZ3N2ci5jLCBkbGxzL2Rzb3VuZC92ZXJzaW9uLnJjOgorCUpvaG4gSy4gSG9obSA8amhvaG1AYWNtLm9yZz4KKwlJbXBsZW1lbnQgRGxsUmVnaXN0ZXJTZXJ2ZXIgYW5kIERsbFVucmVnaXN0ZXJTZXJ2ZXIgZm9yIGRzb3VuZC5kbGwsCisJYW5kIGFkZCBPbGVTZWxmUmVnaXN0ZXIgdmVyc2lvbiBzdHJpbmcuCisKKwkqIHByb2dyYW1zL25vdGVwYWQvSXQucmMsIHByb2dyYW1zL25vdGVwYWQvcnNyYy5yYzoKKwlJdmFuIExlbyBNdXJyYXktU21pdGggPHB1b3RpQGlud2luZC5pdD4KKwlBZGRlZCBJdGFsaWFuIHJlc291cmNlcy4KKworCSogcHJvZ3JhbXMvcHJvZ21hbi9JdC5yYzogSXZhbiBMZW8gTXVycmF5LVNtaXRoIDxwdW90aUBpbndpbmQuaXQ+CisJTWlub3IgZml4ZXMuCisKKwkqIGRsbHMvc2hkb2N2dy9NYWtlZmlsZS5pbiwgZGxscy9zaGRvY3Z3L3JlZ3N2ci5jLAorCSAgZGxscy9zaGRvY3Z3L3NoZG9jdndfbWFpbi5jLCBkbGxzL3NoZG9jdncvdmVyc2lvbi5yYzoKKwlKb2huIEsuIEhvaG0gPGpob2htQGFjbS5vcmc+CisJSW1wbGVtZW50IERsbFJlZ2lzdGVyU2VydmVyIGFuZCBEbGxVbnJlZ2lzdGVyU2VydmVyIGZvciBzaGRvY3Z3LmRsbCwKKwlhbmQgYWRkIE9sZVNlbGZSZWdpc3RlciB2ZXJzaW9uIHN0cmluZy4KKworCSogZGxscy9xdWFydHovLmN2c2lnbm9yZSwgZGxscy9xdWFydHovTWFrZWZpbGUuaW4sIGRsbHMvcXVhcnR6L21haW4uYywKKwkgIGRsbHMvcXVhcnR6L3F1YXJ0ei5zcGVjLCBkbGxzL3F1YXJ0ei9yZWdzdnIuYywKKwkgIGRsbHMvcXVhcnR6L3ZlcnNpb24ucmM6CisJSm9obiBLLiBIb2htIDxqaG9obUBhY20ub3JnPgorCUltcGxlbWVudCBEbGxSZWdpc3RlclNlcnZlciBhbmQgRGxsVW5yZWdpc3RlclNlcnZlciBmb3IgcXVhcnR6LmRsbCwKKwlhbmQgYWRkIE9sZVNlbGZSZWdpc3RlciB2ZXJzaW9uIHN0cmluZy4KKworCSogZGxscy9kcGxheXgvTWFrZWZpbGUuaW4sIGRsbHMvZHBsYXl4L2RwbGF5eC5zcGVjLAorCSAgZGxscy9kcGxheXgvcmVnc3ZyLmMsIGRsbHMvZHBsYXl4L3ZlcnNpb24ucmM6CisJSm9obiBLLiBIb2htIDxqaG9obUBhY20ub3JnPgorCUltcGxlbWVudCBEbGxSZWdpc3RlclNlcnZlciBhbmQgRGxsVW5yZWdpc3RlclNlcnZlciBmb3IgZHBsYXl4LmRsbCwKKwlhbmQgYWRkIE9sZVNlbGZSZWdpc3RlciB2ZXJzaW9uIHN0cmluZy4KKworCSogZGxscy9hdmlmaWwzMi9NYWtlZmlsZS5pbiwgZGxscy9hdmlmaWwzMi9hdmlmaWwzMi5zcGVjLAorCSAgZGxscy9hdmlmaWwzMi9yZWdzdnIuYywgZGxscy9hdmlmaWwzMi9yc3JjLnJjOgorCUpvaG4gSy4gSG9obSA8amhvaG1AYWNtLm9yZz4KKwlJbXBsZW1lbnQgRGxsUmVnaXN0ZXJTZXJ2ZXIgYW5kIERsbFVucmVnaXN0ZXJTZXJ2ZXIgZm9yIGF2aWZpbDMyLmRsbCwKKwlhbmQgYWRkIE9sZVNlbGZSZWdpc3RlciB2ZXJzaW9uIHN0cmluZy4KKworCSogY29udHJvbHMvc3RhdGljLmM6IElnb3IgR3JhaGVrIDxpZ29yZ0BjYWRsaW5rLmNvbT4KKwlTZW5kIFNUTl9DTElDS0VEIGFkIFNUTl9EQkxDTEsgbWVzc2FnZXMgdG8gcGFyZW50IHdpbmRvdyBpZiBTU19OT1RJRlkKKwlpcyBlbmFibGVkLgorCisJKiBkbGxzL29sZTMyL2dpdC5jOiBNaWtlIEhlYXJuIDxtaWtlQHRoZW9yZXRpYy5jb20+CisJSW4gdGhlIGdsb2JhbCBpbnRlcmZhY2UgdGFibGU6CisJLSBQcmludCB3YXJuaW5ncyB3aGVuIHRoaW5ncyBnbyB3cm9uZy4KKwktIEFsdGVyIHRoZSB3YXkgd2UgZG8gcmVmY291bnRpbmcuCisJLSBEb24ndCByZWxlYXNlIHRoZSBzdHJlYW0gb24gcmV0cmlldmFsLCBqdXN0IHJld2luZCBpdCBpbnN0ZWFkLgorCS0gSW1wbGVtZW50IHRocmVhZCBzYWZldHkuCisKKwkqIE1ha2UucnVsZXMuaW4sIE1ha2VmaWxlLmluLCBkbGxzL01ha2VkbGwucnVsZXMuaW4sCisJICBkbGxzL250ZGxsLy5jdnNpZ25vcmUsIHRvb2xzL3dpbmVidWlsZC9idWlsZC5oLAorCSAgdG9vbHMvd2luZWJ1aWxkL21haW4uYywgdG9vbHMvd2luZWJ1aWxkL3NwZWMxNi5jLAorCSAgdG9vbHMvd2luZWJ1aWxkL3dpbmVidWlsZC5tYW4uaW46CisJR290IHJpZCBvZiAxNi1iaXQgZ2x1ZSBjb2RlIGdlbmVyYXRpb24gc2luY2UgaXQgaXMgbm8gbG9uZ2VyIHVzZWQuCisKKwkqIGRsbHMva2VybmVsL01ha2VmaWxlLmluLCBkbGxzL2tlcm5lbC9rZXJuZWxfbWFpbi5jLAorCSAgZGxscy9rZXJuZWwvbmVfbW9kdWxlLmMsIGRsbHMva2VybmVsL25lX3NlZ21lbnQuYywKKwkgIGRsbHMva2VybmVsL3Rhc2suYywgZGxscy9rZXJuZWwvdGh1bmsuYywgZGxscy9rZXJuZWwvd293dGh1bmsuYywKKwkgIGRsbHMvbnRkbGwvTWFrZWZpbGUuaW4sIGZpbGVzL2RyaXZlLmMsIGluY2x1ZGUvdGFzay5oLAorCSAgaW5jbHVkZS90aHJlYWQuaCwgbG9hZGVyL21vZHVsZS5jLCBsb2FkZXIvbmUvbW9kdWxlLmMsCisJICBsb2FkZXIvbmUvc2VnbWVudC5jLCBsb2FkZXIvdGFzay5jLCBtc2Rvcy9pbnQyMS5jLAorCSAgc2NoZWR1bGVyL3RocmVhZC5jOgorCU1vdmVkIG1vc3Qgb2YgdGhlIDE2LWJpdCB0YXNrIHN1cHBvcnQgYW5kIE5FIG1vZHVsZSBsb2FkZXIgdG8KKwlkbGxzL2tlcm5lbC4KKworMjAwMy0wOC0yMiAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9kbWJhbmQvTWFrZWZpbGUuaW4sIGRsbHMvZG1iYW5kL2JhbmQuYywgZGxscy9kbWJhbmQvYmFuZHRyYWNrLmMsCisJICBkbGxzL2RtYmFuZC9kbWJhbmRfbWFpbi5jLCBkbGxzL2RtYmFuZC9kbWJhbmRfcHJpdmF0ZS5oLAorCSAgZGxscy9kbWJhbmQvcmVnc3ZyLmMsIHdpbmVkZWZhdWx0LnJlZywgZGxscy9kbWNvbXBvcy9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvZG1jb21wb3MvY2hvcmRtYXAuYywgZGxscy9kbWNvbXBvcy9jaG9yZG1hcHRyYWNrLmMsCisJICBkbGxzL2RtY29tcG9zL2NvbXBvc2VyLmMsIGRsbHMvZG1jb21wb3MvZG1jb21wb3NfbWFpbi5jLAorCSAgZGxscy9kbWNvbXBvcy9kbWNvbXBvc19wcml2YXRlLmgsIGRsbHMvZG1jb21wb3MvcmVnc3ZyLmMsCisJICBkbGxzL2RtY29tcG9zL3NpZ25wb3N0dHJhY2suYywgZGxscy9kbWltZS9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvZG1pbWUvYXVkaW9wYXRoLmMsIGRsbHMvZG1pbWUvZG1pbWVfbWFpbi5jLAorCSAgZGxscy9kbWltZS9kbWltZV9wcml2YXRlLmgsIGRsbHMvZG1pbWUvZ3JhcGguYywKKwkgIGRsbHMvZG1pbWUvbHlyaWNzdHJhY2suYywgZGxscy9kbWltZS9tYXJrZXJ0cmFjay5jLAorCSAgZGxscy9kbWltZS9wYXJhbWNvbnRyb2x0cmFjay5jLCBkbGxzL2RtaW1lL3BhdHRlcm50cmFjay5jLAorCSAgZGxscy9kbWltZS9wZXJmb3JtYW5jZS5jLCBkbGxzL2RtaW1lL3JlZ3N2ci5jLCBkbGxzL2RtaW1lL3NlZ21lbnQuYywKKwkgIGRsbHMvZG1pbWUvc2VnbWVudHN0YXRlLmMsIGRsbHMvZG1pbWUvc2VndHJpZ2dlcnRyYWNrLmMsCisJICBkbGxzL2RtaW1lL3NlcXRyYWNrLmMsIGRsbHMvZG1pbWUvc29uZy5jLCBkbGxzL2RtaW1lL3N5c2V4dHJhY2suYywKKwkgIGRsbHMvZG1pbWUvdGVtcG90cmFjay5jLCBkbGxzL2RtaW1lL3RpbWVzaWd0cmFjay5jLAorCSAgZGxscy9kbWltZS90b29sLmMsIGRsbHMvZG1pbWUvdHJhY2suYywgZGxscy9kbWltZS93YXZldHJhY2suYywKKwkgIGRsbHMvZG1sb2FkZXIvTWFrZWZpbGUuaW4sIGRsbHMvZG1sb2FkZXIvY29udGFpbmVyLmMsCisJICBkbGxzL2RtbG9hZGVyL2RtbG9hZGVyX21haW4uYywgZGxscy9kbWxvYWRlci9kbWxvYWRlcl9wcml2YXRlLmgsCisJICBkbGxzL2RtbG9hZGVyL2dldGxvYWRlci5jLCBkbGxzL2RtbG9hZGVyL2xvYWRlci5jLAorCSAgZGxscy9kbWxvYWRlci9sb2FkZXJzdHJlYW0uYywgZGxscy9kbWxvYWRlci9yZWdzdnIuYywKKwkgIGRsbHMvZG1zY3JpcHQvTWFrZWZpbGUuaW4sIGRsbHMvZG1zY3JpcHQvZG1zY3JpcHRfbWFpbi5jLAorCSAgZGxscy9kbXNjcmlwdC9kbXNjcmlwdF9wcml2YXRlLmgsIGRsbHMvZG1zY3JpcHQvcmVnc3ZyLmMsCisJICBkbGxzL2Rtc2NyaXB0L3NjcmlwdC5jLCBkbGxzL2Rtc2NyaXB0L3NjcmlwdHRyYWNrLmMsCisJICBkbGxzL2Rtc3R5bGUvTWFrZWZpbGUuaW4sIGRsbHMvZG1zdHlsZS9hdWRpdGlvbnRyYWNrLmMsCisJICBkbGxzL2Rtc3R5bGUvY2hvcmR0cmFjay5jLCBkbGxzL2Rtc3R5bGUvY29tbWFuZHRyYWNrLmMsCisJICBkbGxzL2Rtc3R5bGUvZG1zdHlsZV9tYWluLmMsIGRsbHMvZG1zdHlsZS9kbXN0eWxlX3ByaXZhdGUuaCwKKwkgIGRsbHMvZG1zdHlsZS9tZWxvZHlmb3JtdWxhdGlvbnRyYWNrLmMsIGRsbHMvZG1zdHlsZS9tb3RpZnRyYWNrLmMsCisJICBkbGxzL2Rtc3R5bGUvbXV0ZXRyYWNrLmMsIGRsbHMvZG1zdHlsZS9yZWdzdnIuYywKKwkgIGRsbHMvZG1zdHlsZS9zdHlsZS5jLCBkbGxzL2Rtc3R5bGUvc3R5bGV0cmFjay5jLAorCSAgZGxscy9kbXN5bnRoL2Rtc3ludGhfbWFpbi5jLCBkbGxzL2Rtc3ludGgvcmVnc3ZyLmMsCisJICBkbGxzL2Rtc3ludGgvc3ludGguYywgZGxscy9kbXN5bnRoL3N5bnRoc2luay5jLAorCSAgZGxscy9kbXVzaWMvTWFrZWZpbGUuaW4sIGRsbHMvZG11c2ljL2J1ZmZlci5jLCBkbGxzL2RtdXNpYy9jbG9jay5jLAorCSAgZGxscy9kbXVzaWMvY29sbGVjdGlvbi5jLCBkbGxzL2RtdXNpYy9kbXVzaWMuYywKKwkgIGRsbHMvZG11c2ljL2RtdXNpY19tYWluLmMsIGRsbHMvZG11c2ljL2RtdXNpY19wcml2YXRlLmgsCisJICBkbGxzL2RtdXNpYy9kb3dubG9hZC5jLCBkbGxzL2RtdXNpYy9kb3dubG9hZGVkaW5zdHJ1bWVudC5jLAorCSAgZGxscy9kbXVzaWMvaW5zdHJ1bWVudC5jLCBkbGxzL2RtdXNpYy9vYmplY3QuYywgZGxscy9kbXVzaWMvcG9ydC5jLAorCSAgZGxscy9kbXVzaWMvcG9ydGRvd25sb2FkLmMsIGRsbHMvZG11c2ljL3RocnUuYywKKwkgIGRsbHMvZG11c2ljMzIvZG11c2ljMzIuc3BlYywgZGxscy9kbXVzaWMzMi9kbXVzaWMzMl9tYWluLmM6CisJUm9rIE1hbmRlbGpjIDxyb2subWFuZGVsamNAZ2ltYi5vcmc+CisJLSBpbXBsZW1lbnRlZCBsb2FkZXIsIGxvYWRlcidzIHN0cmVhbSBhbmQgbG9hZGluZyBvZiBvYmplY3RzIChub3cgeW91CisJICBjYW4gdXNlIGJ1aWx0aW4gZG1sb2FkZXIgYW5kIG5hdGl2ZSBvdGhlciBkbSouZGxscykKKwktIGltcGxlbWVudGVkIHByb3BlciBjcmVhdGlvbiBvZiBvYmplY3RzIGFuZCByZXRyaWV2YWwgb2YgZG11c2ljCisJICBpbnRlcmZhY2VzIGZyb20gdGhlbSAob2JqZWN0LCBzdHJlYW0sIC4uLikKKwktIGltcGxlbWVudGVkIGFsbCAic3RhbmRhcmQgdHJhY2sgdHlwZXMiIGFuZCBhcHByb3ByaWF0ZSBzdHJlYW0gKGZvcgorCSAgZG1iYW5kLCBsb2FkaW5nIGlzIGFsbW9zdCBjb21wbGV0ZSkKKwktIGNsZWFuZWQgc29tZSBvYnNvbGV0ZSBzdHVmZgorCS0gc3BsaXQgZGVidWcgY2hhbm5lbHMKKworCSogZGxscy9jb21jdGwzMi9jb21jdGwzMnVuZG9jLmMsIGRsbHMvY29tY3RsMzIvY29tbWN0cmwuYywKKwkgIGRsbHMvY29tY3RsMzIvaW1hZ2VsaXN0LmMsIGluY2x1ZGUvY29tbWN0cmwuaDoKKwlGaWxpcCBOYXZhcmEgPHhuYXZhcmFAdm9sbnkuY3o+CisJRml4ZWQgcHJvdG90eXBlcyBvZiBDcmVhdGVTdGF0dXNXaW5kb3dBL1csIEltYWdlTGlzdF9Db3B5LAorCUltYWdlTGlzdF9FbmREcmFnLCBJbWFnZUxpc3RfU2V0SW1hZ2VDb3VudC4KKworCSogcHJvZ3JhbXMvcmVnZWRpdC9TaS5yYywgcHJvZ3JhbXMvcmVnZWRpdC9yc3JjLnJjOgorCVJvayBNYW5kZWxqYyA8cm9rLm1hbmRlbGpjQGdpbWIub3JnPgorCUFkZGVkIFNsb3ZlbmlhbiB0cmFuc2xhdGlvbi4KKworCSogaW5jbHVkZS93aW5lcnJvci5oOiBSZW1vdmVkIG9ic29sZXRlIFdJTjMyX0xhc3RFcnJvciBkZWZpbml0aW9uLgorCisJKiBkb2N1bWVudGF0aW9uL2ZhcS5zZ21sOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlGaXgvbWFrZSB0aGUgY2FzZSBvZiBCb2NocyBhbmQgUGxleDg2IG1vcmUgY29uc2lzdGVudC4KKwlBZGQgQ29kZVdlYXZlcnMgdG8gdGhlIGxpc3Qgb2YgY29udHJpYnV0b3JzIChjdXJyZW50bHkgaG9zdHMgV2luZUhRKS4KKwlUd2VhayB0aGUgJ2hvdyB0byBzdWJtaXQgcGF0Y2hlcycgRkFRLgorCUFkZCBLeWxpeCBhbmQgTXVzaWNNYXRjaCBKdWtlQm94IHRvIHRoZSBsaXN0IG9mIGFwcGxpY2F0aW9ucyBwb3J0ZWQKKwl1c2luZyBXaW5lKGxpYikuCisKKwkqIGRvY3VtZW50YXRpb24vZmFxLnNnbWw6IEZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUJlIG1vcmUgZXhwbGljaXQgd2hlbiBkZXNjcmliaW5nIHdoYXQgYmVsb25ncyBpbiBXaW5lIChBUEkpIGFuZCB3aGF0CisJZG9lcyBub3QgYmVsb25nIGluIFdpbmUgKGRyaXZlcnMsIFdpbmRvd3MgYXBwbGV0cywgd2luZG93IG1hbmFnZXJzLAorCWV0Yy4pLiBBbHNvIHBvaW50IHRvIHByb2plY3RzIHdoZXJlIHN1Y2ggY29udHJpYnV0aW9ucyB3b3VsZCBiZSBtb3JlCisJYXBwcm9wcmlhdGUuCisKKwkqIGRvY3VtZW50YXRpb24vZmFxLnNnbWw6IEZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUFuc3dlciB0aGlzIGV0ZXJuYWwgcXVlc3Rpb246CisJQ2FuIEkgdXNlIFdpbmUgdG8gbWFrZSB0aGUgV2luZG93cyBkcml2ZXIgZm9yIG15IG5ldHdvcmsgY2FyZCAvCisJZ3JhcGhpY3MgY2FyZCAvIHNjYW5uZXIgLyBldGMuIHdvcmsgb24gVW5peD8KKworCSogZG9jdW1lbnRhdGlvbi9mYXEuc2dtbDogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJQWRkIGFuIGVudHJ5IGFuc3dlcmluZyB0aGUgZXRlcm5hbCBxdWVzdGlvbjoKKwlXaGVuIHdpbGwgV2luZSBpbnRlZ3JhdGUgYW4geDg2IENQVSBlbXVsYXRvcj8KKworCSogZGxscy9hZHZhcGkzMi9hZHZhcGkuYywgZGxscy9jcnRkbGwvY3J0ZGxsX21haW4uYywKKwkgIGRsbHMvdHdhaW4vY2FwYWJpbGl0eS5jLCBkbGxzL3R3YWluL2RzX2ltYWdlLmMsCisJICBkbGxzL3R3YWluL2RzbV9jdHJsLmMsIGRsbHMvdHdhaW4vdHdhaW4zMl9tYWluLmMsCisJICBkbGxzL3dpbmFzcGkvYXNwaS5jLCB0b29scy9iaW4ycmVzLmMsIHRvb2xzL3dyYy9nZW5yZXMuYzoKKwlTdGV2ZW4gRWR3YXJkcyA8c3RldmVuX2VkNDE1M0B5YWhvby5jb20+CisJRml4ZXMgZm9yIGJ1aWxkaW5nIHdpdGggdzMyYXBpIGhlYWRlcnMgb24gTWluZ3cuCisKKwkqIGluY2x1ZGUvd2lubmxzLmg6IFJlbW92ZWQgbm8gbG9uZ2VyIHVzZWQgaW50ZXJuYWwgZGVmaW5pdGlvbnMuCisKKwkqIGluY2x1ZGUvd3R5cGVzLmg6CisJUmVtb3ZlZCByZWZlcmVuY2UgdG8gdGhlIFdJTkVfVU5JQ09ERV9URVhUIG1hY3JvIHRoYXQgbm8gbG9uZ2VyCisJZXhpc3RzLgorCisJKiBkbGxzL2F2aWZpbDMyL2F2aWZpbGVfRXMucmMsIGRsbHMvYXZpZmlsMzIvcnNyYy5yYywKKwkgIGRsbHMvc2hlbGwzMi9zaGVsbDMyX0VzLnJjLCBkbGxzL3dpbmluZXQvcnNyYy5yYywKKwkgIGRsbHMvd2luaW5ldC93aW5pbmV0X0VzLnJjLCBwcm9ncmFtcy9jbG9jay9Fcy5yYywKKwkgIHByb2dyYW1zL25vdGVwYWQvRXMucmMsIHByb2dyYW1zL3JlZ2VkaXQvRXMucmMsCisJICBwcm9ncmFtcy9yZWdlZGl0L3JzcmMucmMsIHByb2dyYW1zL3ZpZXcvRXMucmMsCisJICBwcm9ncmFtcy92aWV3L3ZpZXdyYy5yYywgcHJvZ3JhbXMvd2luZWNmZy9Fcy5yYywKKwkgIHByb2dyYW1zL3dpbmVjZmcvd2luZWNmZy5yYywgcHJvZ3JhbXMvd2luaGVscC9Fcy5yYzoKKwlKb3PpIE1hbnVlbCBGZXJyZXIgT3J0aXogPGptZm8xOTgyQHlhaG9vLmVzPgorCVNvbWUgbmV3IFNwYW5pc2ggdHJhbnNsYXRpb25zIGFuZCBpbXByb3ZlbWVudHMgdG8gb3RoZXIgZXhpc3RpbmcKKwlvbmVzLgorCisJKiBwcm9ncmFtcy93Y21kL3djbWRtYWluLmM6IE9sZWcgUHJva2hvcm92IDx4b2xlZ3Byb0ByYmNtYWlsLnJ1PgorCUF2b2lkIGNyYXNoIGluIFdDTURfcnVuX3Byb2dyYW0gd2hlbiBubyBleHRlbnNpb24gd2FzIHNwZWNpZmllZC4KKworCSogZGxscy9jb21tZGxnL2ZpbGVkbGc5NS5jOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCVNvbWUgYXBwbGljYXRpb25zIGRlcGVuZCBvbiB0aGUgb3JkZXIgb2YgaW5pdGlhbGl6YXRpb24gc3RlcHMgb2YgdGhlCisJY3VzdG9tIGZpbGUgb3BlbiBkaWFsb2cuCisKKwkqIHdpbmRvd3Mvc3lzcGFyYW1zLmM6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJUHJvdGVjdCBTeXN0ZW1QYXJhbWV0ZXJzSW5mb0EoU1BJX0dFVHh4eCkgZnJvbSBOVUxMIHB2UGFyYW0uCisKKwkqIGRvY3VtZW50YXRpb24vZmFxLnNnbWw6IEZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCVR3ZWFrICdXaWxsIHRoZXJlIGJlIGEgV2luZG93cyB2ZXJzaW9uIG9mIFdpbmU/JzoKKwktIEFkZCBhIHBvaW50ZXIgdG8gdGhlIE1pbkdXIHByb2plY3QKKwktIEZpeCB0aGUgUmVhY3RPUyBjYXNlCisJLSBFeHBsYWluIHRoZSByYXRpb25hbGUgYmVoaW5kIHRoZXNlIHBvcnRpbmcgcHJvamVjdHMKKworMjAwMy0wOC0yMSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogc2VydmVyL3B0cmFjZS5jOiBDb3BlIHdpdGggd2FpdDQgYmVpbmcgaW50ZXJydXB0ZWQgYnkgYSBzaWduYWwuCisKKwkqIGRsbHMvbnRkbGwvZGVidWd0b29scy5jLCBkbGxzL250ZGxsL3N5c2RlcHMuYywgaW5jbHVkZS90aHJlYWQuaCwKKwkgIHNjaGVkdWxlci90aHJlYWQuYzoKKwlTdG9yZSB0aGUgZGVidWcgaW5mbyBzdHJ1Y3R1cmUgb24gdGhlIHRocmVhZCBzdGFjay4KKwlNb3ZlZCB0aHJlYWQgaW5pdGlhbGl6YXRpb24gY29kZSBmcm9tIHN5c2RlcHMuYyB0byB0aHJlYWQuYyB0byBhdm9pZAorCWFuIGluZGlyZWN0aW9uLgorCisJKiBpbmNsdWRlL2ltbS5oLCBpbmNsdWRlL3Jhcy5oLCBpbmNsdWRlL3dpbmRvd3N4Lmg6CisJUmVtb3ZlZCBhIGZldyByZW1haW5pbmcgV0lOVkVSIGNoZWNrcy4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWM6CisJSXQgc2VlbXMgRnJlZUJTRCBubyBsb25nZXIgcmVxdWlyZXMgbGlicHRocmVhZCB3aGVuIGxpbmtpbmcgd2l0aAorCU9wZW5HTC4KKworCSogcHJvZ3JhbXMvd2luZWRiZy93aW5lZGJnLmM6CisJQ29ycmVjdGx5IHBhc3MgdGhlIGV4Y2VwdGlvbiB0byB0aGUgYXBwbGljYXRpb24gd2hlbgorCUJyZWFrT25GaXJzdENoYW5jZSBpcyAwLgorCisJKiBkbGxzL2F2aWZpbDMyL2F2aWZpbGVfRW4ucmMsIHByb2dyYW1zL2Nsb2NrL0l0LnJjLAorCSAgcHJvZ3JhbXMvY21kbGd0c3QvSXQucmM6CisJSXZhbiBMZW8gTXVycmF5LVNtaXRoIDxwdW90aUBpbndpbmQuaXQ+CisJU21hbGwgcmVzb3VyY2VzIGZpeGVzLgorCisJKiBkbGxzL2F2aWZpbDMyL2F2aWZpbGVfSXQucmMsIGRsbHMvYXZpZmlsMzIvcnNyYy5yYzoKKwlJdmFuIExlbyBNdXJyYXktU21pdGggPHB1b3RpQGlud2luZC5pdD4KKwlBZGRlZCBJdGFsaWFuIHJlc291cmNlcy4KKworCSogZGxscy9zaGVsbDMyL3NobGZpbGVvcC5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJUmVtb3ZlIHVzZWxlc3MgY29tbWVudHMgdGhhdCBjbHV0dGVyIHRoZSBjb2RlLgorCisJKiBkbGxzL3NoZWxsMzIvc2hlbGwzMi5zcGVjLCBkbGxzL3NoZWxsMzIvc2hsZm9sZGVyLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCVN0dWIgZm9yICh1bmRvY3VtZW50ZWQpIFNIQ3JlYXRlTGlua3MuCisKKwkqIHRvb2xzL3dpbmVkdW1wL291dHB1dC5jOiBKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCVVwZGF0ZSBpbnN0YWxsIHNjcmlwdCB0byBtYXRjaCBjdXJyZW50IGJ1aWxkIHByb2Nlc3MuCisJRml4IGEgd2FybmluZyBpbiBnZW5lcmF0ZWQgZGxsIG5vdyB3ZSBidWlsZCB3aXRoIC1EU1RSSUNULgorCisJKiBkbGxzL2NvbW1kbGcvZmlsZWRsZzk1LmMsIGRsbHMvY29tbWRsZy9maWxlZGxnYnJvd3Nlci5jLAorCSAgZGxscy9jb21tZGxnL2ZpbGVkbGdicm93c2VyLmg6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlDb3BlIHdpdGggcG90ZW50aWFsbHkgbW92ZWQgYW5kIHJlc2l6ZWQgZmlsZSB2aWV3IHdpbmRvdy4KKworMjAwMy0wOC0yMCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogY29udHJvbHMvbWVudS5jLCBkbGxzL2NvbW1kbGcvZmlsZWRsZy5jLCBkbGxzL2NvbW1kbGcvZmlsZWRsZzE2LmMsCisJICBkbGxzL2NvbW1kbGcvZm9udGRsZy5jLCBkbGxzL2NvbW1kbGcvZm9udGRsZzE2LmMsIGRsbHMvZGRyYXcvbWFpbi5jLAorCSAgZGxscy9kZXZlbnVtL2RldmVudW0ucmMsIGRsbHMvbXNhY20vaW1hYWRwMzIvaW1hYWRwMzIuYywKKwkgIGRsbHMvbXNhY20vbXNhZHAzMi9tc2FkcDMyLmMsIGRsbHMvbXNhY20vbXNnNzExL21zZzcxMS5jLAorCSAgZGxscy9tc2FjbS93aW5lbXAzL21wZWdsMy5jLCBkbGxzL250ZGxsL3Jlc291cmNlLmMsCisJICBkbGxzL29sZWF1dDMyL3RtYXJzaGFsLmMsIGRsbHMvb2xlYXV0MzIvdHlwZWxpYi5jLAorCSAgZGxscy9vbGVhdXQzMi90eXBlbGliMTYuYywgZGxscy9zaGVsbDMyL3NoZWxscGF0aC5jLAorCSAgZGxscy9zaGVsbDMyL3NoZWxsc3RyaW5nLmMsIGRsbHMvc2hlbGwzMi9zaGx2aWV3LmMsCisJICBkbGxzL3NoZWxsMzIvc3lzdHJheS5jLCBkbGxzL3NobHdhcGkvYXNzb2MuYywgZGxscy9zaGx3YXBpL3RocmVhZC5jLAorCSAgZGxscy9zaGx3YXBpL3VybC5jLCBkbGxzL3R0eWRydi9ncmFwaGljcy5jLCBkbGxzL3dpbm1tL2pveXN0aWNrLmMsCisJICBncmFwaGljcy94MTFkcnYvY29kZXBhZ2UuYywgZ3JhcGhpY3MveDExZHJ2L3RleHQuYywKKwkgIGdyYXBoaWNzL3gxMWRydi94Zm9udC5jLCBpbmNsdWRlL3dpbm5scy5oLCBtZW1vcnkvdmlydHVhbC5jLAorCSAgbXNkb3MvaW9wb3J0cy5jLCBvYmplY3RzL2VuaG1ldGFmaWxlLmMsIG9iamVjdHMvZm9udC5jLAorCSAgcHJvZ3JhbXMvd2luZWNvbnNvbGUvY3Vyc2VzLmMsIHdpbmRvd3MvZGlhbG9nLmMsIHdpbmRvd3MvaW5wdXQuYzoKKwl3aW5ubHMuaCBtdXN0IG5vdCBpbmNsdWRlIHdpbmJhc2UuaC4KKworCSogZGxscy9kc291bmQvdGVzdHMvcHJvcHNldC5jOiBSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCUFkZGVkIHRlc3RzIGZvciBidWZmZXIgcHJvcGVydHkgc2V0cy4KKworCSogZGxscy9kc291bmQvYnVmZmVyLmMsIGRsbHMvZHNvdW5kL2Rzb3VuZF9tYWluLmMsCisJICBkbGxzL2Rzb3VuZC9kc291bmRfcHJpdmF0ZS5oLCBkbGxzL2Rzb3VuZC9wcm9wc2V0LmM6CisJUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlTcGxpdCBwcm9wZXJ0eSBzZXRzIGludG8gdHdvIHR5cGVzOiBidWZmZXIgYW5kIHByaXZhdGUuCisKKwkqIGRsbHMvd2luZWRvcy9mcHUuYzogSnVra2EgSGVpbm9uZW4gPGpoZWlAaWtpLmZpPgorCU1ha2UgRlBVIGVtdWxhdGlvbiB1c2UgQ1M6SVAgd2hlbiBkZXRlcm1pbmluZyBsb2NhdGlvbiBvZiBjYWxsaW5nCisJc29mdHdhcmUgaW50ZXJydXB0LgorCisJKiBkbGxzL3dpbmVkb3MvZG9zZXhlLmgsIGRsbHMvd2luZWRvcy9pbnQzMS5jLCBkbGxzL3dpbmVkb3MvcmVsYXkuYzoKKwlKdWtrYSBIZWlub25lbiA8amhlaUBpa2kuZmk+CisJUmVtb3ZlIHVubmVjZXNzYXJ5IF9fd2luZV9jYWxsX2Zyb21fMTZfcmVncyBjYWxsIGZyYW1lIG1hbmFnZW1lbnQgY29kZQorCWZyb20gcmF3IG1vZGUgc3dpdGNoIGhhbmRsZXIuCisKKwkqIGluY2x1ZGUvd2luZS91bmljb2RlLmg6IFN0ZXZlbiBFZHdhcmRzIDxzdGV2ZW5fZWQ0MTUzQHlhaG9vLmNvbT4KKwlGaXggYnVpbGRpbmcgbGlid2luZV91bmljb2RlIHdpdGggdzMyYXBpIGhlYWRlcnMuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBpbmNsdWRlL2NvbmZpZy5oLmluLAorCSAgcHJvZ3JhbXMvd2luZWNvbnNvbGUvTWFrZWZpbGUuaW4sIHByb2dyYW1zL3dpbmVjb25zb2xlL2N1cnNlcy5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlEbG9wZW4gbGlibmN1cnNlcy5zbyBpbiB3aW5lY29uc29sZS4KKworCSogdG9vbHMvTWFrZWZpbGUuaW46IEJJTkRJUiBpcyBubyBsb25nZXIgbmVlZGVkLgorCisJKiB0b29scy93aW5lZ2NjLmM6IFJpY2hhcmQgQ29oZW4gPHJpY2hhcmQuY29oZW5AdmlyZ2luLm5ldD4KKwlTdXBwb3J0IC1tY29uc29sZS4KKworCSogdG9vbHMvd2luZWdjYy5jLCB0b29scy93aW5ld3JhcC5jOgorCVJpY2hhcmQgQ29oZW4gPHJpY2hhcmQuY29oZW5AdmlyZ2luLm5ldD4KKwlSZW1vdmUgaGFyZGNvZGVkIEJJTkRJUiBwYXRocy4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGluY2x1ZGUvY29uZmlnLmguaW4sIGxpYnMvd2luZS9NYWtlZmlsZS5pbiwKKwkgIGxpYnMvd2luZS9lcnJuby5jOgorCVJlbW92ZSB0aGUgZHVtbXkgcHRocmVhZCBmdW5jdGlvbnMgYW5kIHVzZSAtbHB0aHJlYWQgaW5zdGVhZCB0bworCXJlc29sdmUgbWlzc2luZyBzeW1ib2xzIGluIEdMIGxpYnMuCisKKwkqIGRsbHMveDExZHJ2L2tleWJvYXJkLmM6CisJTmVyaWp1cyBCYWxpdW5hcyA8bmVyaWp1c0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CisJVXBkYXRlZCBMVCBrZXlib2FyZC4KKworCSogZmlsZXMvZG9zX2ZzLmMsIGluY2x1ZGUvZmlsZS5oOiBFcmljIFBvdWVjaCA8cG91ZWNoLWVyaWNAd2FuYWRvby5mcj4KKwlSZW1vdmVkIHRoZSBET1NGU18gc3BlY2lmaWMgdGltZSByZWxhdGVkIGNvbnZlcnNpb24gcm91dGluZSwgYW5kIG1ha2UKKwl1c2Ugb2YgdGhlIG50ZGxsIGVxdWl2YWxlbnRzLgorCisJKiBtaXNjL3JlZ2lzdHJ5LmM6IEVyaWMgUG91ZWNoIDxwb3VlY2gtZXJpY0B3YW5hZG9vLmZyPgorCVRyYW5zbGF0ZSBhIGZldyBtb3JlIGtlcm5lbDMyIGNhbGxzIGludG8gdGhlIG50ZGxsIGVxdWl2YWxlbnRzLgorCisJKiBmaWxlcy9wcm9maWxlLmM6IEVyaWMgUG91ZWNoIDxwb3VlY2gtZXJpY0B3YW5hZG9vLmZyPgorCVJlbW92ZWQgY29kZSBmb3IgaGFuZGxpbmcgJHtWQVJ9IGNvbnN0cnVjdHMgaW4gLmluaSBmaWxlcy4KKworCSogZGxscy93aW5tbS93aW5lYWxzYS9hdWRpby5jOiA8d2luZUBmcm90ei5vcmc+CisJRml4IHBhcmFtZXRlciB0byBzbmRfcGNtX3N3X3BhcmFtc19zZXRfc2lsZW5jZV9zaXplKCkuCisKKwkqIGRsbHMvbnRkbGwvcnRsc3RyLmM6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJQXBwbHkgb25seSBzcGVjaWZpZWQgdGVzdHMuCisJSW1wbGVtZW50IElTX1RFWFRfVU5JQ09ERV9SRVZFUlNFX1NJR05BVFVSRSwgSVNfVEVYVF9VTklDT0RFX1NUQVRJU1RJQ1MKKwlhbmQgSVNfVEVYVF9VTklDT0RFX05VTExfQllURVMgdGVzdHMuCisJUmV2ZXJ0IElTX1RFWFRfVU5JQ09ERV9PRERfTEVOR1RIIHRlc3QuCisKKwkqIGRsbHMvbXN2Y3J0L21zdmNydC5zcGVjLCBkbGxzL21zdmNydC9wcm9jZXNzLmMsCisJICBkbGxzL21zdmNydGQvbXN2Y3J0ZC5zcGVjOgorCURpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJU3R1YiBvdXQgdGhlIF9bd11wb3Blbi9fcGNsb3NlKCkgZnVuY3Rpb25zLgorCisyMDAzLTA4LTE5ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBzZXJ2ZXIvcHJvY2Vzcy5jOgorCVdlIG5lZWQgdG8gaWdub3JlIFNUQVRVU19PQkpFQ1RfVFlQRV9NSVNNQVRDSCBlcnJvcnMgdG9vIHdoZW4gc2V0dGluZworCXRoZSBwcm9jZXNzIGNvbnNvbGUuCisKKwkqIHByb2dyYW1zL2Nsb2NrL0l0LnJjLCBwcm9ncmFtcy9jbG9jay9yc3JjLnJjLAorCSAgcHJvZ3JhbXMvY21kbGd0c3QvSXQucmMsIHByb2dyYW1zL2NtZGxndHN0L2NtZGxnci5yYywKKwkgIHByb2dyYW1zL3Byb2dtYW4vSXQucmM6CisJSXZhbiBMZW8gTXVycmF5LVNtaXRoIDxwdW90aUBpbndpbmQuaXQ+CisJQWRkZWQgSXRhbGlhbiByZXNvdXJjZXMuCisKKwkqIGRsbHMvTWFrZWZpbGUuaW4sIGRsbHMva2VybmVsLy5jdnNpZ25vcmUsIGRsbHMva2VybmVsL01ha2VmaWxlLmluLAorCSAgZGxscy9rZXJuZWwva2VybmVsX21haW4uYywgZGxscy9rZXJuZWwvc3lzdGVtLmRydi5zcGVjLAorCSAgZGxscy9rZXJuZWwvc3lzdGVtLnNwZWMsIGxvYWRlci9sb2Fkb3JkZXIuYzoKKwlSZW5hbWVkIHN5c3RlbS5kbGwgdG8gc3lzdGVtLmRydi4KKworCSogZGxscy9rZXJuZWwvY29tcHV0ZXJuYW1lLmMsIGRvY3VtZW50YXRpb24vc2FtcGxlcy9jb25maWcsCisJICBmaWxlcy9kaXJlY3RvcnkuYywgZmlsZXMvZG9zX2ZzLmMsIGZpbGVzL2RyaXZlLmMsIGZpbGVzL2ZpbGUuYywKKwkgIGZpbGVzL3Byb2ZpbGUuYywgaW5jbHVkZS9maWxlLmgsIG1pc2MvcmVnaXN0cnkuYywgbXNkb3MvaW9wb3J0cy5jOgorCVJlcGxhY2VkIHJlbWFpbmluZyBjYWxscyB0byBQUk9GSUxFX0dldFdpbmVJbmlTdHJpbmcvQm9vbCBieSBkaXJlY3QKKwlyZWdpc3RyeSBhY2Nlc3Nlcy4KKworCSogd2luZWRlZmF1bHQucmVnOiBKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCUFkZGVkIGk4biBlbnRyaWVzLgorCisJKiBkbGxzL21zdmNydC9jcHAuYzogSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlVc2UgZXhjZXB0aW9uIGFzIHRoZSBiYXNlIGZvciBhbGwgZXhjZXB0aW9uIGRlcml2ZWQgY2xhc3Nlcy4KKwlJbXBsZW1lbnQgdHlwZV9pbmZvIG1ldGhvZHMgY29ycmVjdGx5LgorCUFkZCBzdGF0aWMgUlRUSSBmb3IgZXhwb3J0ZWQgb2JqZWN0cy4KKwlUaHJvdyBleGNlcHRpb25zIHdoZW4gcnVuIHRpbWUgY2FzdHMgZmFpbC4KKworCSogZGxscy9hZHZhcGkzMi9yZWdpc3RyeS5jLCBpbmNsdWRlL3dpbmUvc2VydmVyX3Byb3RvY29sLmgsCisJICBzZXJ2ZXIvcHJvdG9jb2wuZGVmLCBzZXJ2ZXIvcmVnaXN0cnkuYywgc2VydmVyL3JlcXVlc3QuaCwKKwkgIHNlcnZlci90cmFjZS5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbXBsZW1lbnQgcmVnaXN0cnkga2V5IHVubG9hZGluZy4KKworCSogaW5jbHVkZS93aW5lL3NlcnZlcl9wcm90b2NvbC5oLCBzY2hlZHVsZXIvcHJvY2Vzcy5jLAorCSAgc2VydmVyL2NvbnNvbGUuYywgc2VydmVyL3Byb2Nlc3MuYywgc2VydmVyL3Byb3RvY29sLmRlZiwKKwkgIHNlcnZlci90cmFjZS5jOgorCUVyaWMgUG91ZWNoIDxwb3VlY2gtZXJpY0B3YW5hZG9vLmZyPgorCUZpeGVkIHJlZ3Jlc3Npb24gaW4gcHJvY2VzcyBjcmVhdGlvbiAoc3RkIGhhbmRsZSBpbmhlcml0YW5jZSkuCisKKwkqIGRsbHMvY3J0ZGxsL2NydGRsbC5zcGVjLCBkbGxzL21zdmNydC9tc3ZjcnQuc3BlYywKKwkgIGRsbHMvbXN2Y3J0ZC9tc3ZjcnRkLnNwZWMsIGRsbHMvbnRkbGwvbWlzYy5jLCBkbGxzL250ZGxsL250ZGxsLnNwZWM6CisJX2Z0b2wgc2hvdWxkIHJldHVybiBhIDY0LWJpdCBpbnQgKHNwb3R0ZWQgYnkgSm9uIEdyaWZmaXRocykuCisKKwkqIGRsbHMvd2luZWRvcy9yZWxheS5jOiBKdWtrYSBIZWlub25lbiA8amhlaUBpa2kuZmk+CisJV2hlbiBmb3JjaW5nIGNhbGwgdG8gRE9TIHJlbGF5IGZyb20gcHJvdGVjdGVkIG1vZGUsIG1ha2Ugc3VyZSB0aGF0CisJcmVsYXkgc2VlcyBvcmlnaW5hbCBzdGFjayBhbmQgY29kZSBwb2ludGVycy4gTWFrZSBpdCBwb3NzaWJsZSBmb3IgRE9TCisJcmVsYXkgdG8gbW9kaWZ5IGNvZGUgYW5kIHN0YWNrIHBvaW50ZXJzLgorCisJKiBpbmNsdWRlL21tc3lzdGVtLmg6IEVyd2luIFdvbGZmIDxlcndpbndvbGZmbmxAbWljcm9mb3JtYXRpY2EuY29tPgorCVJlbW92ZWQgVkVSU0lPTiB0eXBlZGVmLgorCisJKiBwcm9ncmFtcy93aW5lZGJnL21zYy5jOiBHcmVnb3J5IE0uIFR1cm5lciA8Z210dXJuZXIwMDdAYW1lcml0ZWNoLm5ldD4KKwlXcmFwIGVycm9yLXByb25lIG1zYyBzeW1ib2wgbG9hZGluZyB3aXRoIGEgX19UUlkgYmxvY2suCisKKwkqIGRsbHMvaW1hZ2VobHAvYWNjZXNzLmM6IENocmlzdGlhbiBDb3N0YSA8dGl0YW4uY29zdGFAd2FuYWRvby5mcj4KKwlBbGxvY2F0ZSBzcGFjZSB0byBjb250YWluIHRoZSBJTUFHRV9OVF9IRUFERVJTIHN0cnVjdHVyZSAoSW1hZ2VMb2FkCisJZnVuY3Rpb24pLgorCUFkZCBzb21lIG1vcmUgdHJhY2VzLgorCisJKiBkbGxzL2NvbWN0bDMyL3RyZWV2aWV3LmM6CisJTWF4aW1lIEJlbGxlbmfpIDxtYXhpbWUuYmVsbGVuZ2VAbGFwb3N0ZS5uZXQ+CisJRml4IHVucmVhY2hhYmxlIFRWSFRfT05JVEVNU1RBVEVJQ09OIGluIFRSRUVWSUVXX0xCdXR0b25Eb3duLgorCisJKiBkbGxzL250ZGxsL3RpbWUuYywgaW5jbHVkZS93aW50ZXJubC5oOgorCUpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJTWFrZSBSdGxUaW1lVG9TZWNvbmRzU2luY2UxOTcwIGNvbnNpc3RlbnQgd2l0aCBvdGhlciB0aW1lIGNhbGxzLgorCURvY3VtZW50YXRpb24gZml4ZXMuCisKKzIwMDMtMDgtMTggIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvc2hsd2FwaS9vcmRpbmFsLmMsIGRvY3VtZW50YXRpb24vaW50cm9kdWN0aW9uLnNnbWwsCisJICBncmFwaGljcy94MTFkcnYvZGliLmMsIG9iamVjdHMvZGMuYywgcHJvZ3JhbXMvYXZpdG9vbHMvYXZpcGxheS5jLAorCSAgcHJvZ3JhbXMvbm90ZXBhZC9tYWluLmMsIHByb2dyYW1zL3JlZ2VkaXQvbWFpbi5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCVNwZWxsaW5nIGFuZCBjYXNlIGZpeGVzLgorCisJKiBwcm9ncmFtcy93aW5lbWluZS9Fcy5yYywgcHJvZ3JhbXMvd2luZW1pbmUvcnNyYy5yYzoKKwlKb3PpIE1hbnVlbCBGZXJyZXIgT3J0aXogPGptZm8xOTgyQHlhaG9vLmVzPgorCUFkZGVkIFNwYW5pc2ggdHJhbnNsYXRpb24uCisKKwkqIGRsbHMvd2luZWRvcy9mcHUuYzogQWRkZWQgbWlzc2luZyBcbiBpbiBUUkFDRSBjYWxscy4KKworCSogZGxscy9rZXJuZWwvc3luYy5jOgorCUZyZWUgdGhlIGRlYnVnIGluZm8gd2hlbiBtYWtpbmcgYSBjcml0aWNhbCBzZWN0aW9uIGdsb2JhbC4KKworCSogbGlicy93cHAvcHJlcHJvYy5jLCB0b29scy9iaW4ycmVzLmMsIHRvb2xzL3dpZGwvdXRpbHMuYywKKwkgIHRvb2xzL3dpbmVkdW1wL25lLmM6CisJSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlQb3J0YWJpbGl0eSBmaXhlcy4KKworCSogaW5jbHVkZS9vYWlkbC5oLCBpbmNsdWRlL29haWRsLmlkbDoKKwlKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCU1ha2UgSTEgZmllbGRzIGV4cGxpY2l0bHkgc2lnbmVkLgorCUFkZCBzdXBwb3J0IGZvciBJOCBmaWVsZHMgaW4gdmFyaWFudHMuCisJQWRkIGEgbWlzc2luZyB1bmRvY3VtZW50ZWQgRkFERl8gZmxhZy4KKworCSogZGxscy9kZHJhdy9kM2RkZXZpY2UvbWVzYS5jLCBkbGxzL2RkcmF3L2QzZHRleHR1cmUuYywKKwkgIGRsbHMvZGRyYXcvZ2xfcHJpdmF0ZS5oLCBkbGxzL2RkcmF3L21haW4uYywKKwkgIGRsbHMvZGRyYXcvbWVzYV9wcml2YXRlLmg6CisJTGlvbmVsIFVsbWVyIDxsaW9uZWwudWxtZXJAZnJlZS5mcj4KKwlBZGRlZCBzdXBwb3J0IGZvciBtdWx0aS10ZXh0dXJpbmcuCisKKwkqIGRsbHMvbnRkbGwvcnRsc3RyLmMsIGluY2x1ZGUvd2lubmxzLmg6CisJSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlBZGQgc29tZSBuZXcgdHlwZXMgYW5kIGZ1bmN0aW9ucy4KKwlSZW1vdmUgSVRVX0lNUExFTUVOVEVEX1RFU1RTLCBpdHMgbm90IHBhcnQgb2YgdGhlIFdpbjMyIEFwaS4KKworCSogZGxscy9vbGVhdXQzMi9vbGVwaWN0dXJlLmM6IFJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJRml4ZWQgV2FyYmxhZGUgaW1hZ2UgbG9hZGluZy4KKworCSogZGxscy9kc291bmQvdGVzdHMvcHJvcHNldC5jOiBSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCUZpeGVkIGJ1ZyB3aGVyZSBsYXN0IHRlc3RzIHdlcmUgbm90IGV4ZWN1dGVkLgorCVByaW50IG91dCBzb3VuZCBkZXZpY2UgaW5mby4KKworCSogZGxscy93aW5lZG9zL2ludGVycnVwdHMuYzogSnVra2EgSGVpbm9uZW4gPGpoZWlAaWtpLmZpPgorCUZpeCBDUFUgZmxhZyBoYW5kbGluZyB3aGVuIGludGVybmFsIGludGVycnVwdHMgYXJlIGJyYW5jaGVkIHRvLgorCisJKiBsb2FkZXIvbW9kdWxlLmM6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBiYWlrYWwucnU+CisJV2luZG93cyBpZ25vcmVzIHZhbHVlcyBvZiBlX2NwYXJoZHIgYW5kIGVfY3JsYyBvZiB0aGUgTVogaGVhZGVyLgorCisJKiBkbGxzL3gxMWRydi9rZXlib2FyZC5jOiBSYXVsIDx6b21iaTgyQGhvdC5lZT4KKwlTbWFsbCBFc3RvbmlhbiBrZXlib2FyZCBmaXguCisKKwkqIGRsbHMvY2FiaW5ldC9mZGkuYzogR3JlZ29yeSBNLiBUdXJuZXIgPGdtdHVybmVyMDA3QGFtZXJpdGVjaC5uZXQ+CisJRG9uJ3QgdG91Y2ggcGVyZiBpbiBGRElJc0NhYmluZXQsIEluc3RhbGxTaGllbGQgbWF5IGFscmVhZHkgaGF2ZSBmcmVlZAorCWl0LgorCisJKiB0b29scy93aW5lZHVtcC9NYWtlZmlsZS5pbjogSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlVc2UgJChFWEVFWFQpIGZvciB0aGUgd2luZWR1bXAgZXhlY3V0YWJsZS4KKworCSogdG9vbHMvd3JjL3dyYy5jOiBKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCU9ubHkgc3RhdGljcyBhcmUgc3VyZSB0byBiZSBzZXQgdG8gMCwgZXhwbGljaXRseSBpbml0aWFsaXNlIGdsb2JhbHMuCisKKwkqIGRsbHMvb2xlMzIvZGVmYXVsdGhhbmRsZXIuYzoKKwlKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCVJlbW92ZSByZWR1bmRhbnQgd2luZSBzcGVjaWZpYyAjaW5jbHVkZS4KKworCSogdG9vbHMvd2luYXBpL21zdmNtYWtlcjogSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlvbGUvIGRpcmVjdG9yeSBkb2Vzbid0IGV4aXN0IGFueW1vcmUuCisKKwkqIGRsbHMva2VybmVsL3RpbWUuYzogSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlTcGVsbGluZyBmaXhlcy4KKworCSogaW5jbHVkZS93aW5lcnJvci5oOiBKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCUNhc3QgaHJlc3VsdCBlcnJvciBjb2RlcyB0byBIUkVTVUxULgorCisJKiBkbGxzL2NvbWN0bDMyL3RyZWV2aWV3LmM6CisJTWF4aW1lIEJlbGxlbmfpIDxtYXhpbWUuYmVsbGVuZ2VAbGFwb3N0ZS5uZXQ+CisJRml4IHRoaW5ncyBicm9rZW4gYnkgdGhlIGxhc3QgVFJFRVZJRVdfVXBkYXRlRGlzcEluZm8gcGF0Y2guCisKKwkqIGRsbHMvbnRkbGwvZmlsZS5jOiBFcmljIFBvdWVjaCA8cG91ZWNoLWVyaWNAd2FuYWRvby5mcj4KKwlSZWdyZXNzaW9uIGZpeGVzIGZvciBOdHtSZWFkfFdyaXRlfUZpbGU6CisJLSBhY3R1YWxseSBibG9jayBpbiBUSU1FT1VUIG1vZGUKKwktIGluIG92ZXJsYXBwZWQgbW9kZSwgaWYgYW55IGRhdGEgaXMgYWxyZWFkeSBhdmFpbGFibGUgdGhlbiBwcm9jZXNzIGl0CisJICB3aXRob3V0IHJldHVybmluZyBhIHBlbmRpbmcgc3RhdHVzIGNvZGUKKworCSogcHJvZ3JhbXMvcmVnZWRpdC9QdC5yYywgcHJvZ3JhbXMvcmVnZWRpdC9yc3JjLnJjOgorCU1hcmNlbG8gRHVhcnRlIDx3aW5lLWRldmVsQGJvbC5jb20uYnI+CisJTG9jYWxpemF0aW9uIHRvIHRoZSBQb3J0dWd1ZXNlIG9mIEJyYXppbC4KKworMjAwMy0wOC0xNSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9udGRsbC9zeXNkZXBzLmMsIGluY2x1ZGUvdGhyZWFkLmgsIHNjaGVkdWxlci9wdGhyZWFkLmMsCisJICBzY2hlZHVsZXIvdGhyZWFkLmM6CisJTW92ZWQgX19lcnJub19sb2NhdGlvbigpIGhhbmRsaW5nIHRvIHB0aHJlYWQuYywgYW5kIGFkZGVkIHNpbWlsYXIKKwloYW5kbGluZyBmb3IgX19yZXNfc3RhdGUoKS4KKworCSogZGxscy9tc2kvTWFrZWZpbGUuaW46IEFkZGVkIG1pc3NpbmcgZGVwZW5kZW5jeS4KKworCSogcHJvZ3JhbXMvcnVuZGxsMzIvcnVuZGxsMzIuYzogRml4ZWQgaW5kZW50YXRpb24uCisKKwkqIGRvY3VtZW50YXRpb24vY29uZmlndXJpbmcuc2dtbCwKKwkgIGRvY3VtZW50YXRpb24vaW5zdGFsbGF0aW9uLXVuZC1rb25maWd1cmF0aW9uLmdlcm1hbiwKKwkgIGRvY3VtZW50YXRpb24vc2FtcGxlcy9jb25maWcsIHByb2dyYW1zL3dpbmVjZmcvcHJvcGVydGllcy5oLAorCSAgcHJvZ3JhbXMvd2luZWNmZy93aW5lY2ZnLmM6CisJTGlvbmVsIFVsbWVyIDxsaW9uZWwudWxtZXJAZnJlZS5mcj4KKwlSZW1vdmUgZnJvbSBkb2NzIC8gY29uZmlnIHRvb2wgdXNlbGVzcyAvIG9ic29sZXRlZCBvcHRpb25zLgorCisJKiBkbGxzL2QzZDgvZDNkOF9tYWluLmMsIGRsbHMvZDNkOC9kM2Q4X3ByaXZhdGUuaCwgZGxscy9kM2Q4L2RldmljZS5jLAorCSAgZGxscy9kM2Q4L2RpcmVjdHguYywgZGxscy9kM2Q4L3V0aWxzLmM6CisJSmFzb24gRWRtZWFkZXMgPHVzQHRoZS1lZG1lYWRlcy5kZW1vbi5jby51az4KKwlEWFQxLzMvNSBzdXBwb3J0IHdhcyBicm9rZW4sIGJ1dCB1bm5vdGljZWFibGUgc2luY2Ugd2UgYWxzbyBpbmRpY2F0ZWQKKwlpdCB3YXNuJ3Qgc3VwcG9ydGVkLgorCisJKiBwcm9ncmFtcy93aW5lY2ZnL3Byb3BlcnRpZXMuYzoKKwlFLiBDLiBGLiBXb2xmZiA8ZXJ3aW53b2xmZm5sQG1pY3JvZm9ybWF0aWNhLmNvbT4KKwlBZGRlZCBXaW5kb3dzIDJrMy4KKworCSogZGxscy93aW5pbmV0L2h0dHAuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCVVzZSBXaWRlQnl0ZVRvTXVsdGlDaGFyIG5vdCBzdHJsZW5XLgorCVVzZSBIZWFwQWxsb2MsIG5vdCBtYWxsb2MuCisKKwkqIHByb2dyYW1zL3JlZ2VkaXQvcmVnZWRpdC5jOgorCVZpbmNlbnQgQulyb24gPHZiZXJvbkBtZWNhbm8uZ21lLnVzaGVyYi5jYT4KKwlGaXhlZCBjb21tYW5kIGxpbmUgc3VwcG9ydC4KKworMjAwMy0wOC0xMyAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogQU5OT1VOQ0UsIENoYW5nZUxvZywgVkVSU0lPTiwgY29uZmlndXJlOiBSZWxlYXNlIDIwMDMwODEzLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAyMDAzLTA4LTEzICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgogCiAJKiBpbmNsdWRlL21zdmNydC9zdGRpby5oOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgpkaWZmIC0tZ2l0IGEvVkVSU0lPTiBiL1ZFUlNJT04KaW5kZXggMDE0MjcxMi4uMjVhNzRlZiAxMDA2NDQKLS0tIGEvVkVSU0lPTgorKysgYi9WRVJTSU9OCkBAIC0xICsxIEBACi1XaW5lIHZlcnNpb24gMjAwMzA4MTMKK1dpbmUgdmVyc2lvbiAyMDAzMDkxMQpkaWZmIC0tZ2l0IGEvY29uZmlndXJlIGIvY29uZmlndXJlCmluZGV4IDg2MzEyYTguLjA3NTlhNjIgMTAwNzU1Ci0tLSBhL2NvbmZpZ3VyZQorKysgYi9jb25maWd1cmUKQEAgLTEsNiArMSw2IEBACiAjISAvYmluL3NoCiAjIEd1ZXNzIHZhbHVlcyBmb3Igc3lzdGVtLWRlcGVuZGVudCB2YXJpYWJsZXMgYW5kIGNyZWF0ZSBNYWtlZmlsZXMuCi0jIEdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41NyBmb3IgV2luZSAyMDAzMDgxMy4KKyMgR2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU3IGZvciBXaW5lIDIwMDMwOTExLgogIwogIyBDb3B5cmlnaHQgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiwgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMgogIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KQEAgLTI2Niw4ICsyNjYsOCBAQAogIyBJZGVudGl0eSBvZiB0aGlzIHBhY2thZ2UuCiBQQUNLQUdFX05BTUU9J1dpbmUnCiBQQUNLQUdFX1RBUk5BTUU9J3dpbmUnCi1QQUNLQUdFX1ZFUlNJT049JzIwMDMwODEzJwotUEFDS0FHRV9TVFJJTkc9J1dpbmUgMjAwMzA4MTMnCitQQUNLQUdFX1ZFUlNJT049JzIwMDMwOTExJworUEFDS0FHRV9TVFJJTkc9J1dpbmUgMjAwMzA5MTEnCiBQQUNLQUdFX0JVR1JFUE9SVD0nJwogCiBhY191bmlxdWVfZmlsZT0ic2VydmVyL2F0b20uYyIKQEAgLTc3Nyw3ICs3NzcsNyBAQAogICAjIE9taXQgc29tZSBpbnRlcm5hbCBvciBvYnNvbGV0ZSBvcHRpb25zIHRvIG1ha2UgdGhlIGxpc3QgbGVzcyBpbXBvc2luZy4KICAgIyBUaGlzIG1lc3NhZ2UgaXMgdG9vIGxvbmcgdG8gYmUgYSBzdHJpbmcgaW4gdGhlIEEvVVggMy4xIHNoLgogICBjYXQgPDxfQUNFT0YKLVxgY29uZmlndXJlJyBjb25maWd1cmVzIFdpbmUgMjAwMzA4MTMgdG8gYWRhcHQgdG8gbWFueSBraW5kcyBvZiBzeXN0ZW1zLgorXGBjb25maWd1cmUnIGNvbmZpZ3VyZXMgV2luZSAyMDAzMDkxMSB0byBhZGFwdCB0byBtYW55IGtpbmRzIG9mIHN5c3RlbXMuCiAKIFVzYWdlOiAkMCBbT1BUSU9OXS4uLiBbVkFSPVZBTFVFXS4uLgogCkBAIC04NDIsNyArODQyLDcgQEAKIAogaWYgdGVzdCAtbiAiJGFjX2luaXRfaGVscCI7IHRoZW4KICAgY2FzZSAkYWNfaW5pdF9oZWxwIGluCi0gICAgIHNob3J0IHwgcmVjdXJzaXZlICkgZWNobyAiQ29uZmlndXJhdGlvbiBvZiBXaW5lIDIwMDMwODEzOiI7OworICAgICBzaG9ydCB8IHJlY3Vyc2l2ZSApIGVjaG8gIkNvbmZpZ3VyYXRpb24gb2YgV2luZSAyMDAzMDkxMToiOzsKICAgIGVzYWMKICAgY2F0IDw8XF9BQ0VPRgogCkBAIC05MzYsNyArOTM2LDcgQEAKIHRlc3QgLW4gIiRhY19pbml0X2hlbHAiICYmIGV4aXQgMAogaWYgJGFjX2luaXRfdmVyc2lvbjsgdGhlbgogICBjYXQgPDxcX0FDRU9GCi1XaW5lIGNvbmZpZ3VyZSAyMDAzMDgxMworV2luZSBjb25maWd1cmUgMjAwMzA5MTEKIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41NwogCiBDb3B5cmlnaHQgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiwgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMgpAQCAtOTUxLDcgKzk1MSw3IEBACiBUaGlzIGZpbGUgY29udGFpbnMgYW55IG1lc3NhZ2VzIHByb2R1Y2VkIGJ5IGNvbXBpbGVycyB3aGlsZQogcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2VzIGEgbWlzdGFrZS4KIAotSXQgd2FzIGNyZWF0ZWQgYnkgV2luZSAkYXNfbWUgMjAwMzA4MTMsIHdoaWNoIHdhcworSXQgd2FzIGNyZWF0ZWQgYnkgV2luZSAkYXNfbWUgMjAwMzA5MTEsIHdoaWNoIHdhcwogZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU3LiAgSW52b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCiAKICAgJCAkMCAkQApAQCAtMTcwNzUsNyArMTcwNzUsNyBAQAogfSA+JjUKIGNhdCA+JjUgPDxfQ1NFT0YKIAotVGhpcyBmaWxlIHdhcyBleHRlbmRlZCBieSBXaW5lICRhc19tZSAyMDAzMDgxMywgd2hpY2ggd2FzCitUaGlzIGZpbGUgd2FzIGV4dGVuZGVkIGJ5IFdpbmUgJGFzX21lIDIwMDMwOTExLCB3aGljaCB3YXMKIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41Ny4gIEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcwogCiAgIENPTkZJR19GSUxFUyAgICA9ICRDT05GSUdfRklMRVMKQEAgLTE3MTM4LDcgKzE3MTM4LDcgQEAKIAogY2F0ID4+JENPTkZJR19TVEFUVVMgPDxfQUNFT0YKIGFjX2NzX3ZlcnNpb249IlxcCi1XaW5lIGNvbmZpZy5zdGF0dXMgMjAwMzA4MTMKK1dpbmUgY29uZmlnLnN0YXR1cyAyMDAzMDkxMQogY29uZmlndXJlZCBieSAkMCwgZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU3LAogICB3aXRoIG9wdGlvbnMgXFwiYGVjaG8gIiRhY19jb25maWd1cmVfYXJncyIgfCBzZWQgJ3MvW1xcIiJcYFwkXS9cXFxcJi9nJ2BcXCIKIAo=