ZGlmZiAtLWdpdCBhL0FOTk9VTkNFIGIvQU5OT1VOQ0UKaW5kZXggOWQyYzgyYi4uMDM0ODMxYSAxMDA2NDQKLS0tIGEvQU5OT1VOQ0UKKysrIGIvQU5OT1VOQ0UKQEAgLTEsNCArMSw0IEBACi1UaGlzIGlzIHJlbGVhc2UgMjAwMTEyMjYgb2YgV2luZSwgYSBmcmVlIGltcGxlbWVudGF0aW9uIG9mIFdpbmRvd3Mgb24KK1RoaXMgaXMgcmVsZWFzZSAyMDAyMDEyMiBvZiBXaW5lLCBhIGZyZWUgaW1wbGVtZW50YXRpb24gb2YgV2luZG93cyBvbgogVW5peC4gIFRoaXMgaXMgc3RpbGwgYSBkZXZlbG9wZXJzIG9ubHkgcmVsZWFzZS4gIFRoZXJlIGFyZSBtYW55IGJ1Z3MKIGFuZCB1bmltcGxlbWVudGVkIGZlYXR1cmVzLiAgTW9zdCBhcHBsaWNhdGlvbnMgc3RpbGwgZG8gbm90IHdvcmsKIGNvcnJlY3RseS4KQEAgLTYsMTIgKzYsMTAgQEAKIFBhdGNoZXMgc2hvdWxkIGJlIHN1Ym1pdHRlZCB0byAid2luZS1wYXRjaGVzQHdpbmVocS5jb20iLiAgUGxlYXNlIGRvbid0CiBmb3JnZXQgdG8gaW5jbHVkZSBhIENoYW5nZUxvZyBlbnRyeS4KIAotV0hBVCdTIE5FVyB3aXRoIFdpbmUtMjAwMTEyMjY6IChzZWUgQ2hhbmdlTG9nIGZvciBkZXRhaWxzKQotCS0gTWFueSBpbXByb3ZlbWVudHMgdG8gYXVkaW8gc3VwcG9ydC4KLQktIExvdHMgb2YgbmV3IGFjdGlvbnMgaW4gU3lzdGVtUGFyYW1ldGVyc0luZm8uCi0JLSBOZXcgY29uc29sZSBiYXNlZCBvbiBXaW4zMiB3aW5kb3cgaW5zdGVhZCBvZiB4dGVybS4KLQktIFNlcnZlciBwcm90b2NvbCByZWRlc2lnbmVkLgotCS0gTW9yZSBzaGx3YXBpIGltcHJvdmVtZW50cy4KK1dIQVQnUyBORVcgd2l0aCBXaW5lLTIwMDIwMTIyOiAoc2VlIENoYW5nZUxvZyBmb3IgZGV0YWlscykKKwktIExvdHMgb2YgaW1wcm92ZW1lbnRzIHRvIGFzeW5jaHJvbm91cyBJL08uCisJLSBCZWdpbm5pbmdzIG9mIHVuaXQgdGVzdGluZyBpbmZyYXN0cnVjdHVyZS4KKwktIEludGVyLXByb2Nlc3MgRERFIHNob3VsZCB3b3JrIG5vdy4KIAktIExvdHMgb2YgYnVnIGZpeGVzLgogCiBTZWUgdGhlIFJFQURNRSBmaWxlIGluIHRoZSBkaXN0cmlidXRpb24gZm9yIGluc3RhbGxhdGlvbiBpbnN0cnVjdGlvbnMuCkBAIC0yMCwxMCArMTgsMTAgQEAKIHRoZSByZWxlYXNlIGlzIGF2YWlsYWJsZSBhdCB0aGUgZnRwIHNpdGVzLiAgVGhlIHNvdXJjZXMgd2lsbCBiZSBhdmFpbGFibGUKIGZyb20gdGhlIGZvbGxvd2luZyBsb2NhdGlvbnM6CiAKLSAgaHR0cDovL3d3dy5pYmlibGlvLm9yZy9wdWIvTGludXgvQUxQSEEvd2luZS9kZXZlbG9wbWVudC9XaW5lLTIwMDExMjI2LnRhci5negotICBmdHA6Ly9mdHAuaW5mb21hZ2ljLmNvbS9wdWIvbWlycm9ycy9saW51eC9zdW5zaXRlL0FMUEhBL3dpbmUvZGV2ZWxvcG1lbnQvV2luZS0yMDAxMTIyNi50YXIuZ3oKLSAgZnRwOi8vZnRwLmZ1LWJlcmxpbi5kZS91bml4L2xpbnV4L21pcnJvcnMvc3Vuc2l0ZS51bmMuZWR1L0FMUEhBL3dpbmUvZGV2ZWxvcG1lbnQvV2luZS0yMDAxMTIyNi50YXIuZ3oKLSAgZnRwOi8vb3JjdXMucHJvZ3NvYy51dHMuZWR1LmF1L3B1Yi9XaW5lL2RldmVsb3BtZW50L1dpbmUtMjAwMTEyMjYudGFyLmd6CisgIGh0dHA6Ly93d3cuaWJpYmxpby5vcmcvcHViL0xpbnV4L0FMUEhBL3dpbmUvZGV2ZWxvcG1lbnQvV2luZS0yMDAyMDEyMi50YXIuZ3oKKyAgZnRwOi8vZnRwLmluZm9tYWdpYy5jb20vcHViL21pcnJvcnMvbGludXgvc3Vuc2l0ZS9BTFBIQS93aW5lL2RldmVsb3BtZW50L1dpbmUtMjAwMjAxMjIudGFyLmd6CisgIGZ0cDovL2Z0cC5mdS1iZXJsaW4uZGUvdW5peC9saW51eC9taXJyb3JzL3N1bnNpdGUudW5jLmVkdS9BTFBIQS93aW5lL2RldmVsb3BtZW50L1dpbmUtMjAwMjAxMjIudGFyLmd6CisgIGZ0cDovL29yY3VzLnByb2dzb2MudXRzLmVkdS5hdS9wdWIvV2luZS9kZXZlbG9wbWVudC9XaW5lLTIwMDIwMTIyLnRhci5negogCiBJdCBzaG91bGQgYWxzbyBiZSBhdmFpbGFibGUgZnJvbSBhbnkgb3RoZXIgc2l0ZSB0aGF0IG1pcnJvcnMgaWJpYmxpby5vcmcuCiBGb3IgbW9yZSBkb3dubG9hZCBsb2NhdGlvbnMsIHNlZSBodHRwOi8vZnRwc2VhcmNoLmx5Y29zLmNvbS4gVGhlc2UKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA4ZTRmM2JkLi42NDk2YjhjIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDQgKzEsODk5IEBACiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisyMDAyLTAxLTIyICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiB3aW5kb3dzL2RpYWxvZy5jOgorCVJlbW92ZWQgbm8gbG9uZ2VyIHVzZWQgYXZlcmFnZSB3aWR0aCBjYWxjdWxhdGlvbi4KKworCSogZGxscy9vbGVhdXQzMi90eXBlbGliLmM6CisJTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJVGhlIFxcPG5yPiBtYWdpYyBpbiBMb2FkVHlwZUxpYkV4IGZvdW5kIGRpcmVjdG9yaWVzLCB3aGljaCB3YXMgbm90CisJaW50ZW5kZWQuIFJldHVybiBlcnJvciBpbiB0aGF0IGNhc2UuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmluOgorCU1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCUFib3J0IGlmIHdlIGRvIG5vdCBmaW5kIHlhY2Mgb3IgYmlzb24uCisKKwkqIGluY2x1ZGUvd2luZS9vYmpfY2hhbm5lbC5oLCBpbmNsdWRlL3dpbmUvb2JqX21hcnNoYWwuaCwKKwkgIGluY2x1ZGUvd2luZS9vYmpfb2xlYXV0LmgsIG9sZS91dWlkLmM6CisJTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJTW92ZWQgZ3VpZHMgbmVlZGVkIGZvciBQcm94eS9TdHViIGZhY3RvcmllcyB0byByZXNwZWN0aXZlIC5oIGZpbGVzLAorCWFkZCB0byBsaWJ3aW5lX3V1aWQuCisKKwkqIGRsbHMvbXN2Y3J0L2NvbnNvbGUuYywgZGxscy9tc3ZjcnQvY3BwLmMsIGRsbHMvbXN2Y3J0L2N0eXBlLmMsCisJICBkbGxzL21zdmNydC9kYXRhLmMsIGRsbHMvbXN2Y3J0L2Rpci5jLCBkbGxzL21zdmNydC9lbnZpcm9uLmMsCisJICBkbGxzL21zdmNydC9lcnJuby5jLCBkbGxzL21zdmNydC9leGNlcHQuYywgZGxscy9tc3ZjcnQvZXhpdC5jLAorCSAgZGxscy9tc3ZjcnQvZmlsZS5jLCBkbGxzL21zdmNydC9oZWFwLmMsIGRsbHMvbXN2Y3J0L2xvY2FsZS5jLAorCSAgZGxscy9tc3ZjcnQvbWFpbi5jLCBkbGxzL21zdmNydC9tYXRoLmMsIGRsbHMvbXN2Y3J0L21iY3MuYywKKwkgIGRsbHMvbXN2Y3J0L21pc2MuYywgZGxscy9tc3ZjcnQvbXN2Y3J0LmgsIGRsbHMvbXN2Y3J0L3Byb2Nlc3MuYywKKwkgIGRsbHMvbXN2Y3J0L3N0cmluZy5jLCBkbGxzL21zdmNydC90aHJlYWQuYywgZGxscy9tc3ZjcnQvdGltZS5jLAorCSAgZGxscy9tc3ZjcnQvd2NzLmM6CisJRG9uJ3QgaW5jbHVkZSBkZWJ1Z3Rvb2xzLmggaW4gdGhlIGhlYWRlciBmaWxlLCBtb3ZlZCBpdCB0byB0aGUgQyBmaWxlcworCXRoYXQgbmVlZCBpdCAoYW5kIHVzZWQgdGhlIG5ldyB3aW5lL2RlYnVnLmggd2hpbGUgd2UgYXJlIGF0IGl0KS4KKworCSogaW5jbHVkZS9NYWtlZmlsZS5pbiwgaW5jbHVkZS9kZWJ1Z3Rvb2xzLmgsIGluY2x1ZGUvd2luZS9kZWJ1Zy5oLAorCSAgdG9vbHMvd2luZWR1bXAvb3V0cHV0LmM6CisJTW92ZWQgZGVidWcgZGVmaW5pdGlvbnMgdG8gaW5jbHVkZS93aW5lL2RlYnVnLmguCisKKwkqIGRsbHMvc2hlbGwzMi9waWRsLmMsIGRsbHMvc2hlbGwzMi9zaGVsbG9yZC5jOgorCVJlbW92ZWQgdXNlIG9mIFNFVF9ERUJVR0dJTkcsIGl0J3MgYnJva2VuIGFueXdheS4KKworCSogZGxscy9jb21jdGwzMi90b29sYmFyLmM6CisJVXdlIEJvbm5lcyA8Ym9uQGVsZWt0cm9uLmlrcC5waHlzaWsudHUtZGFybXN0YWR0LmRlPgorCUNvbnNpc3RlbnQgdXNhZ2Ugb2YgaXN0cmluZywgdXNlIFNUUl9bR2V0fFNldF1QdHIgd2hlcmUgYXBwcm9wcmlhdGUuCisKKwkqIHdpbmRvd3Mvd2luLmM6CisJVG9tbXkgU2NodWx0eiBMYXNzZW4gPHRsYXNzZW5AdGxhc3Nlbi5kaz4KKwlNYWtlIEVudW1XaW5kb3dzIHJldHVybiBUUlVFIGlmIG5vIHdpbmRvd3MgZXhpc3RzLgorCisJKiBkbGxzL3dpbnNwb29sL2luZm8uYywgZGxscy93aW5zcG9vbC93aW5zcG9vbC5kcnYuc3BlYywKKwkgIGluY2x1ZGUvd2luc3Bvb2wuaDoKKwlNYXJrIEcuIEFkYW1zIDxtZ2FkYW1zQHN5bXBhdGljby5jYT4KKwlBZGQgR2V0RGVmYXVsdFByaW50ZXIoKSBmdW5jdGlvbnMuCisKKzIwMDItMDEtMjEgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIG1pc2Mvb3B0aW9ucy5jLCBkbGxzL250ZGxsL2RlYnVndG9vbHMuYywgZGxscy9zaGVsbDMyL3BpZGwuYywKKwkgIGRsbHMvc2hlbGwzMi9zaGVsbG9yZC5jLCBpbmNsdWRlL2RlYnVndG9vbHMuaDoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlNYWtlIHRoZSBXaW5lIHRyYWNlIGZhY2lsaXRpZXMgYWNjZXNzaWJsZSBmcm9tIFdpbmVsaWIgYXBwbGljYXRpb25zLgorCisJKiB0b29scy93aW5lZHVtcC9wZS5jLCBkbGxzL2RkcmF3L2QzZGRldmljZS9tZXNhLmMsCisJICBkbGxzL3F1YXJ0ei9hdWRyZW4uYywgZGxscy9xdWFydHovc2FtcGxlLmMsIGRsbHMvd3NvY2szMi9zb2NrZXQuYzoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlDb21tZW50IG91dC9pZmRlZiBvdXQgdW51c2VkIGNvZGUgYW5kIHZhcmlhYmxlcy4KKworCSogZmlsZXMvcHJvZmlsZS5jOgorCU1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCUhhbmRsZSBzZWN0aW9uPT1OVUxMIChlcnJvcikgaW4gV3JpdGVQcml2YXRlUHJvZmlsZVN0cmluZ0EuCisKKwkqIGRsbHMveDExZHJ2L213bS5oLCBkbGxzL3gxMWRydi93aW5kb3cuYzoKKwlPdmUgS2FhdmVuIDxvdmVrQHRyYW5zZ2FtaW5nLmNvbT4KKwlBZGRlZCBzdXBwb3J0IGZvciBNV00gaGludHMuCisKKwkqIGNvbmZpZ3VyZS5pbiwgY29uZmlndXJlOgorCUFuZHJldyBMZXd5Y2t5IDxhbmRyZXdAdHJhbnNnYW1pbmcuY29tPgorCU92ZSBLYWF2ZW4gPG92ZWtAdHJhbnNnYW1pbmcuY29tPgorCUNoZWNrIGZvciBjb21tb24gYnJva2VuIG5WaWRpYStNZXNhIE9wZW5HTCBsaWJyYXJ5IHNldHVwcy4KKwlBZGQgc29tZSBxdW90aW5nLgorCisJKiBkbGxzL3dpbm1tL3dpbmVvc3MvYXVkaW8uYzoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlQcmludCB0aGUgc3RyZXJyb3IgaW5zdGVhZCBvZiBqdXN0IHRoZSBlcnJuby4KKworCSogZGxscy9jb21tZGxnL2NvbG9yZGxnLmM6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJQWRkIG1pc3NpbmcgY2FzdC4KKworCSogZGxscy93aW5pbmV0L2ludGVybmV0LmM6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJRml4IGludmFsaWQgQyBjb2RlICh1bmRlZmluZWQgYmVoYXZpb3IpLgorCisJKiBpbmNsdWRlL2NvbnNvbGUuaCwgd2luZG93cy9kZWZkbGcuYywgZGxscy93aW5zb2NrL3NvY2tldC5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUZpeCBhIGNvdXBsZSBvZiB3YXJuaW5ncyBhbmQgYSB0eXBvLgorCisJKiBwcm9ncmFtcy93aW5ldGVzdC9pbmNsdWRlL3dpbmUucG0sIHByb2dyYW1zL3dpbmV0ZXN0L3Rlc3RzL3dpbmUucGwsCisJICBwcm9ncmFtcy93aW5ldGVzdC93aW5lLnhzOgorCURvbid0IGNvbnZlcnQgInB0ciIgcmV0dXJuIHR5cGUgdG8gYSBQZXJsIHN0cmluZy4KKwlDYWxsIEdldFByb2NBZGRyZXNzIG9ubHkgd2hlbiBhIGZ1bmN0aW9uIGlzIGFjdHVhbGx5IGNhbGxlZCwgbm90IGF0CisJZGVjbGFyYXRpb24gdGltZS4KKworCSogZmlsZXMvZmlsZS5jOgorCUZpeGVkIGZ1bmN0aW9uIHByb3RvdHlwZSB0aGF0IGNvbmZ1c2VkIHdpbmFwaV9leHRyYWN0LgorCisJKiB0b29scy93aW5hcGkvd2luYXBpX2V4dHJhY3QsIHRvb2xzL3dpbmFwaS93aW5hcGlfZXh0cmFjdF9vcHRpb25zLnBtLAorCSAgcHJvZ3JhbXMvd2luZXRlc3QvaW5jbHVkZS9hZHZhcGkzMi5wbSwKKwkgIHByb2dyYW1zL3dpbmV0ZXN0L2luY2x1ZGUvYXZpZmlsMzIucG0sCisJICBwcm9ncmFtcy93aW5ldGVzdC9pbmNsdWRlL2NvbWN0bDMyLnBtLAorCSAgcHJvZ3JhbXMvd2luZXRlc3QvaW5jbHVkZS9jb21kbGczMi5wbSwKKwkgIHByb2dyYW1zL3dpbmV0ZXN0L2luY2x1ZGUvZGNpbWFuMzIucG0sCisJICBwcm9ncmFtcy93aW5ldGVzdC9pbmNsdWRlL2RkcmF3LnBtLAorCSAgcHJvZ3JhbXMvd2luZXRlc3QvaW5jbHVkZS9kaW5wdXQucG0sCisJICBwcm9ncmFtcy93aW5ldGVzdC9pbmNsdWRlL2RwbGF5eC5wbSwKKwkgIHByb2dyYW1zL3dpbmV0ZXN0L2luY2x1ZGUvZHNvdW5kLnBtLAorCSAgcHJvZ3JhbXMvd2luZXRlc3QvaW5jbHVkZS9nZGkzMi5wbSwKKwkgIHByb2dyYW1zL3dpbmV0ZXN0L2luY2x1ZGUvZ2x1MzIucG0sCisJICBwcm9ncmFtcy93aW5ldGVzdC9pbmNsdWRlL2ljbXAucG0sCisJICBwcm9ncmFtcy93aW5ldGVzdC9pbmNsdWRlL2ltYWdlaGxwLnBtLAorCSAgcHJvZ3JhbXMvd2luZXRlc3QvaW5jbHVkZS9pbW0zMi5wbSwKKwkgIHByb2dyYW1zL3dpbmV0ZXN0L2luY2x1ZGUvam95c3RpY2tfZHJ2LnBtLAorCSAgcHJvZ3JhbXMvd2luZXRlc3QvaW5jbHVkZS9rZXJuZWwzMi5wbSwKKwkgIHByb2dyYW1zL3dpbmV0ZXN0L2luY2x1ZGUvbHozMi5wbSwKKwkgIHByb2dyYW1zL3dpbmV0ZXN0L2luY2x1ZGUvbWNpYW5pbV9kcnYucG0sCisJICBwcm9ncmFtcy93aW5ldGVzdC9pbmNsdWRlL21jaWF2aV9kcnYucG0sCisJICBwcm9ncmFtcy93aW5ldGVzdC9pbmNsdWRlL21jaWNkYV9kcnYucG0sCisJICBwcm9ncmFtcy93aW5ldGVzdC9pbmNsdWRlL21jaXNlcV9kcnYucG0sCisJICBwcm9ncmFtcy93aW5ldGVzdC9pbmNsdWRlL21jaXdhdmVfZHJ2LnBtLAorCSAgcHJvZ3JhbXMvd2luZXRlc3QvaW5jbHVkZS9taWRpbWFwX2Rydi5wbSwKKwkgIHByb2dyYW1zL3dpbmV0ZXN0L2luY2x1ZGUvbXByLnBtLAorCSAgcHJvZ3JhbXMvd2luZXRlc3QvaW5jbHVkZS9tc2FjbTMyLnBtLAorCSAgcHJvZ3JhbXMvd2luZXRlc3QvaW5jbHVkZS9tc2FjbV9kcnYucG0sCisJICBwcm9ncmFtcy93aW5ldGVzdC9pbmNsdWRlL21zdmNydC5wbSwKKwkgIHByb2dyYW1zL3dpbmV0ZXN0L2luY2x1ZGUvbXN2ZnczMi5wbSwKKwkgIHByb2dyYW1zL3dpbmV0ZXN0L2luY2x1ZGUvbnRkbGwucG0sCisJICBwcm9ncmFtcy93aW5ldGVzdC9pbmNsdWRlL29kYmMzMi5wbSwKKwkgIHByb2dyYW1zL3dpbmV0ZXN0L2luY2x1ZGUvb2xlMzIucG0sCisJICBwcm9ncmFtcy93aW5ldGVzdC9pbmNsdWRlL29sZWF1dDMyLnBtLAorCSAgcHJvZ3JhbXMvd2luZXRlc3QvaW5jbHVkZS9vbGVjbGkzMi5wbSwKKwkgIHByb2dyYW1zL3dpbmV0ZXN0L2luY2x1ZGUvb2xlZGxnLnBtLAorCSAgcHJvZ3JhbXMvd2luZXRlc3QvaW5jbHVkZS9vbGVwcm8zMi5wbSwKKwkgIHByb2dyYW1zL3dpbmV0ZXN0L2luY2x1ZGUvb2xlc3ZyMzIucG0sCisJICBwcm9ncmFtcy93aW5ldGVzdC9pbmNsdWRlL29wZW5nbDMyLnBtLAorCSAgcHJvZ3JhbXMvd2luZXRlc3QvaW5jbHVkZS9wc2FwaS5wbSwKKwkgIHByb2dyYW1zL3dpbmV0ZXN0L2luY2x1ZGUvcXVhcnR6LnBtLAorCSAgcHJvZ3JhbXMvd2luZXRlc3QvaW5jbHVkZS9yYXNhcGkzMi5wbSwKKwkgIHByb2dyYW1zL3dpbmV0ZXN0L2luY2x1ZGUvcmljaGVkMzIucG0sCisJICBwcm9ncmFtcy93aW5ldGVzdC9pbmNsdWRlL3JwY3J0NC5wbSwKKwkgIHByb2dyYW1zL3dpbmV0ZXN0L2luY2x1ZGUvc2VyaWFsdWkucG0sCisJICBwcm9ncmFtcy93aW5ldGVzdC9pbmNsdWRlL3NldHVwYXBpLnBtLAorCSAgcHJvZ3JhbXMvd2luZXRlc3QvaW5jbHVkZS9zaGRvY3Z3LnBtLAorCSAgcHJvZ3JhbXMvd2luZXRlc3QvaW5jbHVkZS9zaGVsbDMyLnBtLAorCSAgcHJvZ3JhbXMvd2luZXRlc3QvaW5jbHVkZS9zaGx3YXBpLnBtLAorCSAgcHJvZ3JhbXMvd2luZXRlc3QvaW5jbHVkZS90YXBpMzIucG0sCisJICBwcm9ncmFtcy93aW5ldGVzdC9pbmNsdWRlL3VybG1vbi5wbSwKKwkgIHByb2dyYW1zL3dpbmV0ZXN0L2luY2x1ZGUvdXNlcjMyLnBtLAorCSAgcHJvZ3JhbXMvd2luZXRlc3QvaW5jbHVkZS92ZXJzaW9uLnBtLAorCSAgcHJvZ3JhbXMvd2luZXRlc3QvaW5jbHVkZS93MzJza3JubC5wbSwKKwkgIHByb2dyYW1zL3dpbmV0ZXN0L2luY2x1ZGUvd2luZWRvcy5wbSwKKwkgIHByb2dyYW1zL3dpbmV0ZXN0L2luY2x1ZGUvd2luZW9zc19kcnYucG0sCisJICBwcm9ncmFtcy93aW5ldGVzdC9pbmNsdWRlL3dpbmluZXQucG0sCisJICBwcm9ncmFtcy93aW5ldGVzdC9pbmNsdWRlL3dpbm1tLnBtLAorCSAgcHJvZ3JhbXMvd2luZXRlc3QvaW5jbHVkZS93aW5zcG9vbF9kcnYucG0sCisJICBwcm9ncmFtcy93aW5ldGVzdC9pbmNsdWRlL3dpbnRydXN0LnBtLAorCSAgcHJvZ3JhbXMvd2luZXRlc3QvaW5jbHVkZS93czJfMzIucG0sCisJICBwcm9ncmFtcy93aW5ldGVzdC9pbmNsdWRlL3dzb2NrMzIucG06CisJUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJR2VuZXJhdGUgUGVybCBtb2R1bGVzIGRlZmluaW5nIHByb3RvdHlwZXMgZm9yIGV4cG9ydGVkIGZ1bmN0aW9ucy4KKworMjAwMi0wMS0xOCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy91c2VyL2RkZS9kZGVfcHJpdmF0ZS5oLCBkbGxzL3VzZXIvZGRlL21pc2MuYywKKwkgIGRsbHMvdXNlci9kZGUvc2VydmVyLmMsIGRsbHMvdXNlci9kZGUvY2xpZW50LmM6CisJRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJRml4ZWQgaW5pdGlhbGlzYXRpb24gbWVzc2FnZXMgZm9yIHJhdyBEREUuCisJRml4ZWQgRGRlQ3JlYXRlRGF0YUhhbmRsZSBmb3Igbm9uIE5VTEwgb3IgQ0ZfVEVYVCBmb3JtYXRzLgorCVZhcmlvdXMgZml4ZXMgKGNvc21ldGljcywgYmV0dGVyIGVycm9yIGNoZWNraW5nKS4KKworCSogc2VydmVyL3F1ZXVlLmMsIGRsbHMvdXNlci9tZXNzYWdlLmM6CisJRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJSW1wbGVtZW50ZWQgaW50ZXJwcm9jZXNzIERERSBtZXNzYWdlIHBvc3RpbmcuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYywgaW5jbHVkZS9jb21tY3RybC5oLCB3aW5kb3dzL3NweS5jOgorCURpbWl0cmllIE8uIFBhdW4gPGRpbWlAY3MudG9yb250by5lZHU+CisJLSBNYWtlIHRoZSBMaXN0VmlldyBjb250cm9sIFVuaWNvZGUgcmVhZHkuCisJLSBTdXBwb3J0IGJvdGggQU5TSSAmIFVuaWNvZGUgTGlzdFZpZXcgbm90aWZpY2F0aW9ucy4KKwktIEZpeGVkIGEgZmV3IGJ1Z3MuCisKKwkqIGRsbHMvY29tY3RsMzIvY29tY3RsMzJ1bmRvYy5jOgorCUFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJSW5pdGlhbGl6ZSBzdHJlYW1EYXRhIGFuZCBjaGVjayBvbiBmYWlsdXJlIHRvIHJlYWQgZGVzaXJlZCBkYXRhIGZyb20KKwlzdHJlYW0uCisKKwkqIGxvYWRlci9tb2R1bGUuYzoKKwlCaWxsIE1lZGxhbmQgPG1lZGJpMDFAYWNjcGFjLmNvbT4KKwlQcmV2ZW50IHRyeWluZyB0byBoYW5kbGUgdW5pbml0aWFsaXNlZCBtZW1vcnkgYXMgYSBzdHJpbmcuCisKKwkqIHdpbjMyL2NvbnNvbGUuYywgZGxscy9zaGVsbDMyL3NoZWxsc3RyaW5nLmMsIGRsbHMvc2hsd2FwaS9vcmRpbmFsLmMsCisJICBkbGxzL3dpbnNvY2svc29ja2V0LmMsIGRsbHMvYWR2YXBpMzIvY3J5cHQuYzoKKwlQYXRyaWsgU3RyaWR2YWxsIDxwc0BsZWlzc25lci5zZT4KKwlGaXhlZCBzb21lIGlzc3VlcyBmb3VuZCBieSB3aW5hcGlfY2hlY2suCisKKwkqIHRvb2xzL3dpbmFwaV9jaGVjay9tb2R1bGVzLmRhdCwKKwkgIHRvb2xzL3dpbmFwaV9jaGVjay93aW4zMi9jb21jdGwzMi5hcGksCisJICB0b29scy93aW5hcGlfY2hlY2svd2luMzIvdXNlcjMyLmFwaSwKKwkgIHRvb2xzL3dpbmFwaV9jaGVjay93aW4zMi93czJfMzIuYXBpOgorCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCU1pbm9yIEFQSSBmaWxlcyB1cGRhdGUuCisKKwkqIGZpbGVzL2RpcmVjdG9yeS5jOgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJRml4IHJldHVybiB2YWx1ZSBvZiBHZXRXaW5kb3dzRGlyZWN0b3J5QS9XIGFuZCBHZXRTeXN0ZW1EaXJlY3RvcnlBL1cuCisKKwkqIGRsbHMvbnRkbGwvY2Ryb20uYzoKKwlCYW5nIEp1bi1Zb3VuZyA8anVueW91bmdAbW9ndWEuY29tPgorCUZpeCBOZXRCU0QgY29tcGlsZSBlcnJvcnM7IENESU9DUkVBREFVRElPIGlzIG5vdCBhdmFpbGFibGUgb24gTmV0QlNELgorCisJKiBkbGxzL21zaW1nMzIvbXNpbWczMi5zcGVjLCBkbGxzL21zaW1nMzIvbXNpbWczMl9tYWluLmM6CisJVXdlIEJvbm5lcyA8Ym9uQGVsZWt0cm9uLmlrcC5waHlzaWsudHUtZGFybXN0YWR0LmRlPgorCUFkZGVkIEdyYWRpZW50RmlsbCBzdHViLgorCisJKiB3aW5kb3dzL3N5c3BhcmFtcy5jOgorCUFuZHJpeSBQYWxhbWFyY2h1ayA8YXBhM2FAeWFob28uY29tPgorCVN5c3RlbVBhcmFtZXRlcnNJbmZvOiBmaXhlZCByZXR1cm4gdmFsdWUgZm9yIFNQSV9TRVRGQVNUVEFTS1NXSVRDSC4KKworCSogZGxscy9vbGUzMi9jb21wb2JqLmM6CisJQmlsbCBNZWRsYW5kIChtZWRiaTAxQGFjY3BhYy5jb20pCisJQ29HZXRDbGFzc09iamVjdDogZm9yIENMU0NUWF9MT0NBTF9TRVJWRVIgYXQgbGVhc3QgbG9vayB1cCB0aGUgc2VydmVyCisJaW4gdGhlIHJlZ2lzdHJ5LCBldmVuIHRob3VnaCB3ZSBkb24ndCB5ZXQgZXhlY3V0ZSBpdC4KKworCSogZGxscy91c2VyL3RleHQuYzoKKwlCaWxsIE1lZGxhbmQgPG1lZGJpMDFAYWNjcGFjLmNvbT4KKwktIERvbid0IHN0cmluZyBjb3B5IGZyb20gdW5pbml0aWFsaXNlZCBzdGFjayBtZW1vcnkuICBJbiBmYWN0IGRvbid0CisJICBtb2RpZnkgdGhlIGlucHV0IHN0cmluZyBpZiBpdCBkaWRuJ3QgY2hhbmdlLgorCS0gQ29ycmVjdCBhcnJheSBzaXplLgorCS0gTG9naWNhbGx5IHNlcGFyYXRlIHRoZSBjZW50cmluZyBmcm9tIHRoZSBlbGxpcHNpZmljYXRpb24uCisJLSBDb21tZW50IG9uIHByZWZpeCBlcnJvci4KKworCSogZGVidWdnZXIvdHlwZXMuYzoKKwlFcmljIFBvdWVjaCA8ZXJpYy5wb3VlY2hAd2FuYWRvby5mcj4KKwlGaXhlcyBjaGFyIGFycmF5IGluIHN0cnVjdHVyZSBkdW1waW5nLgorCisJKiBkbGxzL2NvbWN0bDMyL2NvbWN0bDMyLnNwZWMsIGRsbHMvY29tY3RsMzIvY29tY3RsMzJ1bmRvYy5jOgorCUh1dyBEIE0gRGF2aWVzIDxoZGF2aWVzQGNvZGV3ZWF2ZXJzLmNvbT4KKwlTdHViIGZvciBjb21jdGwzMi40MTkKKworMjAwMi0wMS0xNSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9rZXJuZWwvdGVzdHMvLmN2c2lnbm9yZSwgZGxscy9rZXJuZWwvdGVzdHMvYXRvbS5wbCwgZGxscy9rZXJuZWwvTWFrZWZpbGUuaW46CisJQWRkZWQgYXRvbSB0ZXN0IHNjcmlwdC4KKworCSogcHJvZ3JhbXMvd2luZXRlc3QvdGVzdHMvd2luZS5wbDoKKwlBZGRlZCBzb21lIHByb3RvdHlwZXMgdG8gZnVuY3Rpb24gZGVjbGFyYXRpb25zLgorCisJKiBwcm9ncmFtcy93aW5ldGVzdC9pbmNsdWRlL3dpbmJhc2UucG0sCisJICBwcm9ncmFtcy93aW5ldGVzdC9pbmNsdWRlL3dpbmNvbi5wbSwKKwkgIHByb2dyYW1zL3dpbmV0ZXN0L2luY2x1ZGUvd2luZGVmLnBtLAorCSAgcHJvZ3JhbXMvd2luZXRlc3QvaW5jbHVkZS93aW5lcnJvci5wbSwKKwkgIHByb2dyYW1zL3dpbmV0ZXN0L2luY2x1ZGUvd2luZ2RpLnBtLAorCSAgcHJvZ3JhbXMvd2luZXRlc3QvaW5jbHVkZS93aW5ubHMucG0sCisJICBwcm9ncmFtcy93aW5ldGVzdC9pbmNsdWRlL3dpbm50LnBtLAorCSAgcHJvZ3JhbXMvd2luZXRlc3QvaW5jbHVkZS93aW5yZWcucG0sCisJICBwcm9ncmFtcy93aW5ldGVzdC9pbmNsdWRlL3dpbnNvY2syLnBtLAorCSAgcHJvZ3JhbXMvd2luZXRlc3QvaW5jbHVkZS93aW5zcG9vbC5wbSwKKwkgIHByb2dyYW1zL3dpbmV0ZXN0L2luY2x1ZGUvd2ludXNlci5wbSwKKwkgIHByb2dyYW1zL3dpbmV0ZXN0L2luY2x1ZGUvd2ludmVyLnBtLCBwcm9ncmFtcy93aW5ldGVzdC9tYWtlX3N5bWJvbHM6CisJUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJLSBNYWRlIHRoZSBQZXJsIG1vZHVsZSBnZW5lcmF0ZWQgYnkgbWFrZV9zeW1ib2xzIGEgcmVhbCBleHBvcnRpbmcKKwkgIG1vZHVsZS4KKwktIFVzZSBjb25zdGFudHMgaW5zdGVhZCBvZiB2YXJpYWJsZXMuCisKKwkqIHByb2dyYW1zL3dpbmV0ZXN0L2luY2x1ZGUvd2luZS5wbToKKwlQYXRyaWsgU3RyaWR2YWxsIDxwc0BsZWlzc25lci5zZT4KKwlBZGRlZCB0aGUgcG9zc2liaWxpdHkgKGl0IGlzIG9wdGlvbmFsIGZvciBiYWNrd2FyZCBjb21wYWJpbGl0eSkgdG8KKwlzcGVjaWZ5IGFyZ3VtZW50IHR5cGVzIGluIG9yZGVyIHRvIGZpeCBhICJidWciIGNvbmNlcm5pbmcKKwlpbnRlZ2VyL3N0cmluZyBzY2FsYXJzLgorCisJKiB3aW5kb3dzL3N5c3BhcmFtcy5jOgorCUFuZHJpeSBQYWxhbWFyY2h1ayA8YXBhM2FAeWFob28uY29tPgorCUltcGxlbWVudGVkIHByb2Nlc3Npbmcgb2YgYWN0aW9ucyBTUElfU0VUS0VZQk9BUkRQUkVGLAorCVNQSV9TRVRTQ1JFRU5SRUFERVIuCisJU2F2ZSB0byByZWdpc3RyeSB2YWx1ZSBvZiBTUElfU0VUU0NSRUVOU0FWRUFDVElWRSBhY3Rpb24uCisJQ2hhbmdlZCBwcm9jZXNzaW5nIG9mIGFjdGlvbiBTUElfU0VURkFTVFRBU0tTV0lUQ0ggdG8gY29uZm9ybSB0bworCVdpbmRvd3MgYmVoYXZpb3VyIG9uIGFuZCBhZnRlciBXaW5OVCA0LjAsIFdpbmRvd3MgOTUuCisKKwkqIGRsbHMvY29tY3RsMzIvY29tY3RsMzJ1bmRvYy5jOgorCUFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJQ2F0Y2ggbWF4aW11bSBudW1iZXIgb2YgdGltZXMgYW5kIHJldHVybiBvdXQgb2YgbWVtb3J5IGVycm9yLgorCisJKiB0b29scy93aW5lZHVtcC9vdXRwdXQuYywgaW5jbHVkZS9jb25zb2xlLmg6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJU21hbGwgdHlwbyBmaXguCisKKwkqIGRsbHMvdXNlci91c2VyMzIuc3BlYywgaW5jbHVkZS93aW51c2VyLmgsIHdpbmRvd3MvaW5wdXQuYywKKwkgIGRsbHMvY29tY3RsMzIvY29tbWN0cmwuYzoKKwlSZWluIEtsYXplcyA8cmtsYXplc0B4czRhbGwubmw+CisJTW92ZSB0aGUgaW1wbGVtZW50YXRpb24gb2YgY29tY3RsMzIuX1RyYWNrTW91c2VFdmVudCB0bworCXVzZXIzMi5UcmFja01vdXNlRXZlbnQgYW5kIGNhbGwgdGhpcyBmdW5jdGlvbiBpbiBhY2NvcmRhbmNlIHdpdGggdGhlCisJc3BlY3MuCisKKwkqIGRsbHMvdXNlci90ZXh0LmM6CisJQmlsbCBNZWRsYW5kIDxtZWRiaTAxQGFjY3BhYy5jb20+CisJRmlyc3Qgc3RhZ2Ugb2YgRHJhd1RleHQgdXBncmFkZS4KKwktIFJlYXJyYW5nZSBjb2RlIGludG8gdGhyZWUgZGlzdGluY3QgYXJlYXM7IERyYXdUZXh0LCBHcmF5U3RyaW5nLAorCSAgVGFiYmVkVGV4dC4KKwktIFJlbW92ZSB1bnVzZWQgbWFjcm9zLgorCS0gTW9kaWZ5IHRyZWF0bWVudCBvZiBUYWIgYXJndW1lbnRzIHRvIGZpdCB3aXRoIG9ic2VydmVkIGJlaGF2aW91ci4KKwkgIGUuZy4gRHJhd1RleHRFeCB3aXRoIERUX1RBQlNUT1AgYnV0IG51bGwgZHRwIHdpbGwgbm90IHRha2UgdGhlCisJICBzZXR0aW5nIGZyb20gdGhlIGZsYWdzLiAgQWxzbyBvbmx5IHVzZXMgYml0cyAxNSB0byA4LCBub3QgdGhlCisJICBoaWdoZXIgYml0cy4KKworCSogZGxscy9pY21wL2ljbXBfbWFpbi5jOgorCVJlaW4gS2xhemVzIDxya2xhemVzQHhzNGFsbC5ubD4KKwlEb24ndCBjaGVjayB0aGUgY2hlY2tzdW0gb2YgdGhlIG9yaWdpbmFsIGVjaG8gcmVxdWVzdCBwYWNrZXQgaW4gdGhlCisJcmVjZWl2ZWQgcmVwbHkgcGFja2V0LgorCisJKiBkbGxzL2NvbWN0bDMyL2NvbWN0bDMyLnNwZWMsIGRsbHMvY29tY3RsMzIvaW1hZ2VsaXN0LmM6CisJSHV3IEQgTSBEYXZpZXMgPGhkYXZpZXNAY29kZXdlYXZlcnMuY29tPgorCVN0dWJzIGZvciBJbWFnZUxpc3RfW1N8R11ldEZsYWdzLgorCisJKiBjb250cm9scy9idXR0b24uYzoKKwlSZWluIEtsYXplcyA8cmtsYXplc0B4czRhbGwubmw+CisJRG9uJ3QgY2hhbmdlIGJ1dHRvbiBzdGF0ZSBvbiBXTV9NT1VTRU1PVkUgbWVzc2FnZXMgdW5sZXNzIGxlZnQgbW91c2UKKwlidXR0b24gaXMgcHJlc3NlZC4KKworCSogY29udHJvbHMvY29tYm8uYzoKKwlSZWluIEtsYXplcyA8cmtsYXplc0B4czRhbGwubmw+CisJSW4gQ0JQYWludFRleHQgdXNlIHRoZSB0ZXh0IHNpemUgYXMgcmV0dXJuZWQgYnkgTEJfR0VUVEVYVC4gVGhlIHNpemUKKwlyZXR1cm5lZCBieSBMQl9HRVRURVhUTEVOIG1heSBiZSB0b28gbGFyZ2UuCisKKwkqIHdpbmRvd3MvZGVmZGxnLmM6CisJUmVpbiBLbGF6ZXMgPHJrbGF6ZXNAeHM0YWxsLm5sPgorCU1ha2UgRE1fU0VUREVGSUQgbWVzc2FnZSB3b3JrIGZvciBvd25lciBkcmF3biBidXR0b25zIGFzIHdlbGwuCisKKwkqIGRsbHMvd2luc29jay9zb2NrZXQuYzoKKwlNaWNoYWVsIEMuIE1hZ2dpbyA8dm95YWdlckB2b3lkLm5ldD4KKwlDb2RlIHVzZWQgQUZfSVBYIGluIHNvbWUgcGxhY2VzIHdoZXJlIGl0IHNob3VsZCBoYXZlIHVzZWQgV1NfQUZfSVBYLgorCisJKiBkbGxzL3dpbnNwb29sL3dpbnNwb29sLmRydi5zcGVjOgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJRm9yY2Ugb3JkaW5hbCBhbGxvY2F0aW9uIHN0YXJ0IGZyb20gMTAwIGFzIGluIFdpbmRvd3MuCisKKwkqIGRvY3VtZW50YXRpb24vZGIyaHRtbC13aW5laHE6CisJRnJhbmdvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXhlZCBpbmNvcnJlY3QgdXNlIG9mICd0ZXN0IC1hJyAoZm9yIEZyZWVCU0QpLgorCisJKiBkbGxzL29sZWF1dDMyL29sZWZvbnQuYzoKKwlCaWxsIE1lZGxhbmQgPG1lZGJpMDFAYWNjcGFjLmNvbT4KKwlMZWF2ZSBJSUQgY2hlY2sgdG8gdGhlIE9sZUNyZWF0ZUZvbnRJbmRpcmVjdCwgc28gdGhhdCBTRkNGIHdpbGwgaGFuZGxlCisJYWxsIHRoZSBpbnRlcmZhY2VzIHRoYXQgT2xlQ3JlYXRlLi4gd2lsbC4KKworMjAwMi0wMS0xNCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogcHJvZ3JhbXMvd2luZXRlc3QvdGVzdHMvLmN2c2lnbm9yZSwgcHJvZ3JhbXMvd2luZXRlc3QvdGVzdHMvd2luZS5wbCwKKwkgIHByb2dyYW1zL3dpbmV0ZXN0Ly5jdnNpZ25vcmUsIHByb2dyYW1zL3dpbmV0ZXN0L01ha2VmaWxlLmluLAorCSAgcHJvZ3JhbXMvd2luZXRlc3QvdGVzdC5wbDoKKwlJbnRlZ3JhdGVkIHRlc3Qgc2NyaXB0IGZvciB3aW5ldGVzdCBpbnRvIHRoZSBtYWtlIHRlc3QKKwlpbmZyYXN0cnVjdHVyZS4KKwlBZGRlZCBhIGZldyB0ZXN0cyBmb3IgdGhlIG5ldyB3aW5lLnBtIGZ1bmN0aW9ucy4KKworCSogZGxscy9tYWtlX2RsbHMsIHByb2dyYW1zL3dpbmV0ZXN0L3J1bnRlc3QsIE1ha2UucnVsZXMuaW46CisJUmV3cm90ZSBydW50ZXN0IGluIFBlcmwgc28gdGhhdCBpdCBjYW4gYmUgdXNlZCBvbiB0aGUgV2luZG93cyBzaWRlLgorCUFkZGVkIG9wdGlvbnMgZm9yIGluY2x1ZGUgZGlyZWN0b3JpZXMsIGRlYnVnIGxldmVsIGFuZCB0YXJnZXQgcGxhdGZvcm0uCisJc2VsZWN0aW9uLgorCisJKiBwcm9ncmFtcy93aW5ldGVzdC9pbmNsdWRlL3dpbmUucG0sIHByb2dyYW1zL3dpbmV0ZXN0L3dpbmUucG0sCisJICBwcm9ncmFtcy93aW5ldGVzdC93aW5ldGVzdC5jOgorCUFkZGVkIG9rKCkgZnVuY3Rpb24gdGhhdCBkb2Vzbid0IHN0b3AgdGhlIHRlc3Qgb24gdGhlIGZpcnN0IGVycm9yLgorCUFkZGVkIHRyYWNlKCkgZnVuY3Rpb24gZm9yIGRlYnVnZ2luZyB0ZXN0cy4KKwlBZGRlZCBzdXBwb3J0IGZvciB0b2RvIGZ1bmN0aW9uYWxpdHkuCisJTW92ZWQgd2luZS5wbSB0byBpbmNsdWRlIGRpcmVjdG9yeS4KKworCSogcHJvZ3JhbXMvd2luZXRlc3QvaW5jbHVkZS93aW5iYXNlLnBtLAorCSAgcHJvZ3JhbXMvd2luZXRlc3QvaW5jbHVkZS93aW5jb24ucG0sCisJICBwcm9ncmFtcy93aW5ldGVzdC9pbmNsdWRlL3dpbmRlZi5wbSwKKwkgIHByb2dyYW1zL3dpbmV0ZXN0L2luY2x1ZGUvd2luZXJyb3IucG0sCisJICBwcm9ncmFtcy93aW5ldGVzdC9pbmNsdWRlL3dpbmdkaS5wbSwKKwkgIHByb2dyYW1zL3dpbmV0ZXN0L2luY2x1ZGUvd2lubmxzLnBtLAorCSAgcHJvZ3JhbXMvd2luZXRlc3QvaW5jbHVkZS93aW5udC5wbSwKKwkgIHByb2dyYW1zL3dpbmV0ZXN0L2luY2x1ZGUvd2lucmVnLnBtLAorCSAgcHJvZ3JhbXMvd2luZXRlc3QvaW5jbHVkZS93aW5zb2NrMi5wbSwKKwkgIHByb2dyYW1zL3dpbmV0ZXN0L2luY2x1ZGUvd2luc3Bvb2wucG0sCisJICBwcm9ncmFtcy93aW5ldGVzdC9pbmNsdWRlL3dpbnVzZXIucG0sCisJICBwcm9ncmFtcy93aW5ldGVzdC9pbmNsdWRlL3dpbnZlci5wbSwgcHJvZ3JhbXMvd2luZXRlc3QvbWFrZV9zeW1ib2xzOgorCUFkZGVkIFBlcmwgbW9kdWxlcyBjb250YWluaW5nIHRoZSAjZGVmaW5lcyB2YWx1ZXMgZm9yIHRoZQorCWNvcnJlc3BvbmRpbmcgV2luZG93cyBoZWFkZXJzLgorCisJKiBkb2N1bWVudGF0aW9uL2NvbmZpZ3VyaW5nLnNnbWwsIGRvY3VtZW50YXRpb24vd2luZS5jb25mLm1hbi5pbjoKKwlTdGVmYW4gTGVpY2h0ZXIgPFN0ZWZhbi5MZWljaHRlckBjYW1MaW5lLmNvbT4KKwlBZGRlZCwgdXBkYXRlIGluZm9ybWF0aW9uIGFib3V0IEFwcERlZmF1bHQuCisKKwkqIGluY2x1ZGUvcmljaGVkaXQuaCwgZGxscy9yaWNoZWRpdC9jaGFybGlzdC5jLAorCSAgZGxscy9yaWNoZWRpdC9yZWFkZXIuYywgZGxscy9yaWNoZWRpdC9yaWNoZWRpdC5jLAorCSAgZGxscy9yaWNoZWRpdC90ZXh0LXdyaXRlci5jOgorCURhbmllbCBXYWxrZXIgPGRpd2Fsa2VyQGVhcnRobGluay5uZXQ+CisJLSBBZGRlZCBkZWJ1Z2dpbmcuCisJLSBUcmFuc2ZlciBhbGwgcmVsZXZhbnQgbWVzc2FnZXMgdG8gdGhlIHVuZGVybHlpbmcgZWRpdCBjb250cm9sLgorCisJKiBkbGxzL29sZTMyL2NvbXBvYmouYywgZGxscy9vbGUzMi9vbGUyLmMsIGRsbHMvb2xlMzIvb2xlMm5scy5jLAorCSAgZGxscy9vbGUzMi9vbGUyc3R1YnMuYywgZGxscy9vbGUzMi9zdG9yYWdlLmM6CisJTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJUmVtb3ZlZCBzb21lIHVzZWxlc3Mgd2luZ2RpLmggaW5jbHVkZXMuCisKKwkqIGRsbHMvY29tY3RsMzIvY29tY3RsMzIuc3BlYywgZGxscy9jb21jdGwzMi9jb21jdGwzMnVuZG9jLmM6CisJSHV3IEQgTSBEYXZpZXMgPGhkYXZpZXNAY29kZXdlYXZlcnMuY29tPgorCUNvbnZlcnQgTVJVTGlzdHMgdG8gVW5pY29kZS4KKworCSogZGxscy9zaGVsbDMyL3NobGZvbGRlci5jOgorCUh1dyBEIE0gRGF2aWVzIDxoZGF2aWVzQGNvZGV3ZWF2ZXJzLmNvbT4KKwlJU2hlbGxGb2xkZXJfQmluZFRvT2JqZWN0IHNob3VsZCByZXNwZWN0IHJpaWQuCisKKwkqIGRsbHMvbXN2Y3J0L2ZpbGUuYzoKKwlVd2UgQm9ubmVzIDxib25AZWxla3Ryb24uaWtwLnBoeXNpay50dS1kYXJtc3RhZHQuZGU+CisJX3N0YXQ6IEJldHRlciB0ZXN0IGZvciBkcml2ZSBsZXR0ZXIuCisKKwkqIGRsbHMvbnRkbGwvY2Ryb20uYzoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlGaXggY29tcGlsYXRpb24gZXJyb3JzIG9uIEZyZWVCU0QuCisKKwkqIGxpYnRlc3QvaGVsbG81LmM6CisJSmFtZXMgSnVyYW4gPGphbWVzanVyYW5AYWx1bW5pLnBzdS5lZHU+CisJTG9hZExpYnJhcnkgcmV0dXJucyAwIG9uIGZhaWx1cmUsIG5vdCA8IDMyLgorCisJKiBsaWJ0ZXN0L01ha2VmaWxlLmluOgorCUphbWVzIEp1cmFuIDxqYW1lc2p1cmFuQGFsdW1uaS5wc3UuZWR1PgorCVVzZSAtRE5PTkFNRUxFU1NVTklPTiAtRE5PTkFNRUxFU1NTVFJVQ1Qgd2hlbiBjb21waWxpbmcuCisKKwkqIGluY2x1ZGUvd2luc29jazIuaCwgZGxscy93aW5zb2NrL3NvY2tldC5jLCBkbGxzL3dpbnNvY2svd3MyXzMyLnNwZWM6CisJRGFuaWVsIFdhbGtlciA8ZGl3YWxrZXJAZWFydGhsaW5rLm5ldD4KKwlJbXBsZW1lbnRlZCBXU0FBY2NlcHQoKS4KKworCSogZGxscy9jb21jdGwzMi90b29sYmFyLmM6CisJR3V5IEFsYmVydGVsbGkgPGdhbGJlcnRlQG5lby5scnVuLmNvbT4KKwktIEFkZCBhZGRpdGlvbmFsIFRPT0xCQVJfQ2FsY1Rvb2xiYXIgaW4gYSBkaWZmZXJlbnQgcGF0aCBvZiBBdXRvc2l6ZS4KKwktIFJlbWVtYmVyIGFuZCBwcm9jZXNzIFdNX1NFVFJFRFJBVyBtZXNzYWdlcy4KKwktIFByb2Nlc3Mgc3RyaW5ncyBzcGVjaWZpY2llZCBpbiBJbnNlcnRCdXR0b257QXxXfS4KKworCSogZGxscy9jb21jdGwzMi9yZWJhci5jOgorCUd1eSBBbGJlcnRlbGxpIDxnYWxiZXJ0ZUBuZW8ubHJ1bi5jb20+CisJRml4IGEgZ3JpcHBlciBpc3N1ZSBhbmQgdGhlIGFkanVzdG1lbnQgb2YgYmFuZHMgd2hlbiBSQkJTX0ZJWEVEU0laRQorCXNwZWNpZmllZC4KKworCSogdG9vbHMvd2luZXNoZWxsbGluazoKKwlPdmUgS2FhdmVuIDxvdmVrQGFyY3RpY25ldC5ubz4KKwlQcmVwZW5kICItLSIgdG8gYXJndW1lbnRzLgorCisyMDAyLTAxLTEzICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL3dpbm1tL21jaWNkYS9NYWtlZmlsZS5pbiwgZGxscy93aW5tbS9tY2ljZGEvbWNpY2RhLmMsCisJICBtc2Rvcy9pbnQyZi5jOgorCUVyaWMgUG91ZWNoIDxlcmljLnBvdWVjaEB3YW5hZG9vLmZyPgorCU5vdyB1c2luZyB0aGUgTlQgQ0QgaW50ZXJmYWNlLgorCisJKiBtaXNjL01ha2VmaWxlLmluLCBtaXNjL2Nkcm9tLmMsIHdpbjMyL2RldmljZS5jLAorCSAgZGxscy9udGRsbC9NYWtlZmlsZS5pbiwgZGxscy9udGRsbC9jZHJvbS5jLCBmaWxlcy9kcml2ZS5jLAorCSAgZmlsZXMvZmlsZS5jLCBpbmNsdWRlL2Nkcm9tLmgsIGluY2x1ZGUvZmlsZS5oLCBpbmNsdWRlL250ZGRjZHJtLmgsCisJICBpbmNsdWRlL250ZGRzdG9yLmgsIGluY2x1ZGUvd2luaW9jdGwuaDoKKwlFcmljIFBvdWVjaCA8ZXJpYy5wb3VlY2hAd2FuYWRvby5mcj4KKwlDaGFuZ2VkIHRoZSBXaW5lIGludGVybmFsIGNkcm9tIGludGVyZmFjZSB0byB0aGUgTlQgbW9kZWwuCisKKzIwMDItMDEtMTIgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGluY2x1ZGUvd2lucmVnLmgsIGluY2x1ZGUvd2ludmVyLmg6CisJUmVtb3ZlZCBvYnNvbGV0ZSBkZWZpbml0aW9ucy4KKworCSogaW5jbHVkZS93aW5zb2NrMi5oLCBpbmNsdWRlL3dpbm50Lmg6CisJRml4ZWQgdHlwb3MuCisKKwkqIGRsbHMva2VybmVsL2tlcm5lbDMyLnNwZWMsIGRsbHMvbnRkbGwvbnRkbGwuc3BlYywKKwkgIGRsbHMvdXNlci91c2VyMzIuc3BlYzoKKwlVcGRhdGVkIGRlYnVnIGNoYW5uZWxzLgorCisJKiBzZXJ2ZXIvcHRyYWNlLmM6CisJQ2hlY2sgdW5peF9waWQgYWdhaW4gYWZ0ZXIgYXR0YWNoLgorCisJKiBzZXJ2ZXIvbmFtZWRfcGlwZS5jOgorCU1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCUFkZCByZWZjb3VudGluZyB0byB0aGUgdGhyZWFkIG1lbWJlciBvZiB0aGUgcGlwZSB1c2VyLgorCisJKiBkb2N1bWVudGF0aW9uL2RlYnVnZ2VyLnNnbWw6CisJQmlsbCBNZWRsYW5kIDxtZWRiaTAxQGFjY3BhYy5jb20+CisJSG93IHRvIHNwZWNpZnkgYSBETEwgaW4gYSBkZWJ1Z2dlciBicmVhayBjb21tYW5kLgorCisJKiBkbGxzL3dpbm1tL3dpbmVvc3MvYXVkaW8uYzoKKwlFcmljIFBvdWVjaCA8ZXJpYy5wb3VlY2hAd2FuYWRvby5mcj4KKwlGaXhlZCB0aGUgd29kUmVzZXQgaW1wbGVtZW50YXRpb24sIGludGVybmFsIG1lc3NhZ2VzIHByaW9yaXR5LCBmdWxsCisJZHVwbGV4IGNvZGUsIHdhaXQgYWxnb3JpdGhtIGZvciBmZWVkaW5nIHRoZSBPU1MgYnVmZmVyLgorCisJKiBkZWJ1Z2dlci9oYXNoLmM6CisJRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJRW5oYW5jZSBkaXNwbGF5IGZvciBzeW1ib2wgcGlja2luZy4KKworCSogZGxscy9jb21jdGwzMi90b29sYmFyLmM6CisJSHV3IEQgTSBEYXZpZXMgPGhkYXZpZXNAY29kZXdlYXZlcnMuY29tPgorCUZpeCBvZmYgYnkgb25lIGVycm9yIGluIFRPT0xCQVJfQWRkU3RyaW5nVy4KKworMjAwMi0wMS0xMCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9NYWtlZmlsZS5pbiwgZGxscy9jcnlwdDMyLy5jdnNpZ25vcmUsIGRsbHMvY3J5cHQzMi9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvY3J5cHQzMi9jcnlwdDMyLnNwZWMsIGRsbHMvY3J5cHQzMi9tYWluLmMsIGNvbmZpZ3VyZSwKKwkgIGNvbmZpZ3VyZS5pbjoKKwlUcmF2aXMgTWljaGllbHNlbiA8dGptaWNoaWVsc2VuQHlhaG9vLmNvbT4KKwlBZGRlZCBjcnlwdDMyLmRsbCBzdHViLgorCisJKiBpbmNsdWRlL3dpbmNyeXB0LmgsIGluY2x1ZGUvd2luZXJyb3IuaCwgZGxscy9hZHZhcGkzMi9hZHZhcGkzMi5zcGVjLAorCSAgZGxscy9hZHZhcGkzMi9jcnlwdC5jLCBkbGxzL2FkdmFwaTMyL2NyeXB0Lmg6CisJVHJhdmlzIE1pY2hpZWxzZW4gPHRqbWljaGllbHNlbkB5YWhvby5jb20+CisJSW1wbGVtZW50IGFkdmFwaTMyIHBvcnRpb24gb2YgdGhlIENyeXB0b0FQSS4KKworCSogZGxscy93aW5tbS9kcml2ZXIuYzoKKwlFcmljIFBvdWVjaCA8ZXJpYy5wb3VlY2hAd2FuYWRvby5mcj4KKwlGaXggcG90ZW50aWFsIG1lbW9yeSBpc3N1ZS4KKworCSogd2luMzIvZWRpdGxpbmUuYzoKKwlFcmljIFBvdWVjaCA8ZXJpYy5wb3VlY2hAd2FuYWRvby5mcj4KKwlGaXggc29tZSBiYWQgYmVoYXZpb3Igd2hlbiBzb21lIGxvY2sgc3RhdGVzIChjYXBzbG9jaywgbnVtbG9jay4uLikKKwl3ZXJlIHR1cm5lZCBvbi4KKworCSogZGxscy9vbGVhdXQzMi9vbGUyZGlzcC5jOgorCUJpbGwgTWVkbGFuZCA8bWVkYmkwMUBhY2NwYWMuY29tPgorCUNvbW1lbnQgb25seTsgZXJyb3IgaW4gTWljcm9zb2Z0IGRvY3VtZW50YXRpb24uCisKKwkqIHRvb2xzL3dpbmVzaGVsbGxpbms6CisJRnJhbudvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwl3aGljaCBpcyBtb3JlIHBvcnRhYmxlIHRoYW4gdHlwZSAoRnJlZUJTRCkuCisKKwkqIGRsbHMvd2luc29jay9zb2NrZXQuYzoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlGaXggcHJldmlvdXMgcGF0Y2g6IHRoZSB3c19zb2NrYWRkcl91MndzIHJldHVybiB2YWx1ZSB3YXMgd3JvbmcuCisJTWFrZSB3c19zb2NrYWRkcl97d3MydSx1MndzfSBzdGF0aWMuCisKKwkqIHByb2dyYW1zL3dpbmV0ZXN0L3J1bnRlc3QsIGRsbHMvTWFrZWRsbC5ydWxlcy5pbiwgZGxscy9NYWtlZmlsZS5pbiwKKwkgIHByb2dyYW1zL01ha2Vwcm9nLnJ1bGVzLmluLCBNYWtlLnJ1bGVzLmluLCBNYWtlZmlsZS5pbjoKKwlBZGRlZCBydWxlcyBmb3IgcnVubmluZyB0ZXN0cy4KKworMjAwMi0wMS0wOSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy93aW5zb2NrL3NvY2tldC5jOgorCU1hcnRpbiBXaWxjayA8TWFydGluLldpbGNrQGZ1aml0c3Utc2llbWVucy5jb20+CisJTW92ZWQgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgV1Nfc29ja2V0KCkgdG8gV1NBU29ja2V0QSgpLgorCU1hZGUgV1NBU29ja2V0QSgpIGFjY291bnQgZm9yIFdTQV9GTEFHX09WRVJMQVBQRUQuCisKKwkqIGluY2x1ZGUvd2luZS9zZXJ2ZXJfcHJvdG9jb2wuaCwgc2VydmVyL3Byb3RvY29sLmRlZiwgc2VydmVyL3NvY2suYywKKwkgIHNlcnZlci90cmFjZS5jOgorCU1hcnRpbiBXaWxjayA8TWFydGluLldpbGNrQGZ1aml0c3Utc2llbWVucy5jb20+CisJQWRkZWQgc3VwcG9ydCBmb3Igc29ja2V0IGZsYWdzLgorCisJKiBpbmNsdWRlL3dpbmUvc2VydmVyX3Byb3RvY29sLmgsIHNlcnZlci9jb25zb2xlLmMsIHNlcnZlci9kZXZpY2UuYywKKwkgIHNlcnZlci9maWxlLmMsIHNlcnZlci9tYXBwaW5nLmMsIHNlcnZlci9uYW1lZF9waXBlLmMsCisJICBzZXJ2ZXIvb2JqZWN0LmMsIHNlcnZlci9vYmplY3QuaCwgc2VydmVyL3BpcGUuYywKKwkgIHNlcnZlci9wcm90b2NvbC5kZWYsIHNlcnZlci9zZXJpYWwuYywgc2VydmVyL3NvY2suYywgc2VydmVyL3RyYWNlLmMsCisJICBmaWxlcy9maWxlLmM6CisJTWFydGluIFdpbGNrIDxNYXJ0aW4uV2lsY2tAZnVqaXRzdS1zaWVtZW5zLmNvbT4KKwlNb3JlIGdlbmVyYWwgYXBwcm9hY2ggdG8gZmlsZSBkZXNjcmlwdG9yIHR5cGVzIGFuZCBmbGFncy4KKworCSogZGxscy93aW5zb2NrL3NvY2tldC5jOgorCVBhdWwgUnVwZSA8cHJ1cGVAbmMucnIuY29tPgorCVJldHVybiBsZW5ndGggb2YgV1Nfc29ja2FkZHIgc3RydWN0dXJlIGluIHdzX3NvY2thZGRyX3Uyd3MuCisKKwkqIGRsbHMvb2xlYXV0MzIvdHlwZWxpYi5jOgorCUJpbGwgTWVkbGFuZCA8bWVkYmkwMUBhY2NwYWMuY29tPgorCUZpeGVkIEdldERvY3VtZW50YXRpb24gYSBsaXR0bGUuICBXaGVuIGNhbGxlZCBmcm9tIFJlZ2lzdGVyVHlwZUxpYiBpdAorCXdhcyBsZWF2aW5nIHRoZSBEb2MgZW50cnkgdW5pbml0aWFsaXNlZCwgbGVhZGluZyB0byBwYWdlIGZhdWx0IHdoZW4KKwltZWFzdXJpbmcgaXQuIEFsc28gZW5zdXJlIGNvcnJlY3QgZnJlZWluZyBvZiByZXNvdXJjZXMgb24gZmFpbHVyZS4KKworCSogc2VydmVyL3RocmVhZC5jOgorCU1hcnRpbiBXaWxjayA8TWFydGluLldpbGNrQGZ1aml0c3Utc2llbWVucy5jb20+CisJRml4ZWQgYSBidWcgdGhhdCBjYXVzZWQgQVBDcyB0byBiZSAiZm9yZ290dGVuIi4KKworCSogZGxscy90dHlkcnYvd25kLmMsIGRsbHMveDExZHJ2L3dpbmRvdy5jLCB3aW5kb3dzL3dpbi5jOgorCVJlaW4gS2xhemVzIDxya2xhemVzQHhzNGFsbC5ubD4KKwlNb3ZlIGNhbGxpbmcgb2YgQ0JUIGhvb2tzIGZyb20gV0lOX0NyZWF0ZVdpbmRvd0V4KCkgdG8gdGhlIGRyaXZlci4KKworMjAwMi0wMS0wNyAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogb2JqZWN0cy9mb250LmMsIG9iamVjdHMvZ2Rpb2JqLmMsIG9iamVjdHMvbWV0YWZpbGUuYywKKwkgIHdpbmRvd3MvY3Vyc29yaWNvbi5jLCBkbGxzL3NoZWxsMzIvY29udHJvbC5jLCBkbGxzL3VzZXIvdGV4dC5jLAorCSAgZGxscy93aW5lZG9zL2Rvc2FzcGkuYywgZGxscy93aW5lZG9zL2ludDMxLmMsCisJICBkbGxzL3dpbmVkb3Mvd2luZWRvcy5zcGVjLCBkbGxzL2dkaS9nZGkuc3BlYywKKwkgIGRsbHMvbXN2Y3J0L21zdmNydC5zcGVjOgorCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCUZpeGVkIHNvbWUgaXNzdWVzIGZvdW5kIGJ5IHdpbmFwaV9jaGVjay4KKworCSogdG9vbHMvd2luYXBpX2NoZWNrL3dpbjE2L2dkaS5hcGksIHRvb2xzL3dpbmFwaV9jaGVjay93aW4xNi91c2VyLmFwaSwKKwkgIHRvb2xzL3dpbmFwaV9jaGVjay93aW4zMi9nZGkzMi5hcGksCisJICB0b29scy93aW5hcGlfY2hlY2svd2luMzIva2VybmVsMzIuYXBpLAorCSAgdG9vbHMvd2luYXBpX2NoZWNrL3dpbjMyL21zdmNydC5hcGksCisJICB0b29scy93aW5hcGlfY2hlY2svd2luMzIvbnRkbGwuYXBpLAorCSAgdG9vbHMvd2luYXBpX2NoZWNrL3dpbjMyL3NoZWxsMzIuYXBpLAorCSAgdG9vbHMvd2luYXBpX2NoZWNrL3dpbjMyL3NobHdhcGkuYXBpLAorCSAgdG9vbHMvd2luYXBpX2NoZWNrL3dpbjMyL3R0eWRydi5hcGksCisJICB0b29scy93aW5hcGlfY2hlY2svd2luMzIvdXJsbW9uLmFwaSwKKwkgIHRvb2xzL3dpbmFwaV9jaGVjay93aW4zMi91c2VyMzIuYXBpLAorCSAgdG9vbHMvd2luYXBpX2NoZWNrL3dpbjMyL3dpbmVkb3MuYXBpLAorCSAgdG9vbHMvd2luYXBpX2NoZWNrL3dpbjMyL3dpbmluZXQuYXBpLAorCSAgdG9vbHMvd2luYXBpX2NoZWNrL3dpbmFwaV9wYXJzZXIucG0sIHRvb2xzL3dpbmFwaV9jaGVjay93aW5hcGkucG0sCisJICB0b29scy93aW5hcGlfY2hlY2svd2luYXBpX2xvY2FsLnBtOgorCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCS0gQVBJIGZpbGVzIHVwZGF0ZQorCS0gTWlub3IgYnVnIGZpeGVzCisKKwkqIHNlcnZlci9maWxlLmMsIGZpbGVzL2ZpbGUuYzoKKwlNYXJ0aW4gV2lsY2sgPE1hcnRpbi5XaWxja0BmdWppdHN1LXNpZW1lbnMuY29tPgorCUFkZCBzZXJ2ZXIgc2lkZSBzdXBwb3J0IGZvciBhc3luYyBJTyBvbiBmaWxlcy4KKwlVc2UgcHJlYWQvcHdyaXRlIHRvIHJlYWQvd3JpdGUgZnJvbSB0aGUgb2Zmc2V0IHNwZWNpZmllZCBpbiB0aGUKKwlvdmVybGFwcGVkIHN0cnVjdHVyZS4KKworCSogaW5jbHVkZS9jb25maWcuaC5pbiwgaW5jbHVkZS93aW5lL29ial9zdG9yYWdlLmgsCisJICBpbmNsdWRlL3dpbmUvcG9ydC5oLCBsaWJyYXJ5L3BvcnQuYywgY29uZmlndXJlLCBjb25maWd1cmUuaW46CisJQWRkZWQgY29uZmlndXJlIGNoZWNrIGZvciBwcmVhZC9wd3JpdGUuCisKKwkqIGZpbGVzL2ZpbGUuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZV9tY2Nvcm1hY2tAc3RhcnQuY29tLmF1PgorCS0gQXR0ZW1wdCB3cml0ZSBiZWZvcmUgZ29pbmcgb3ZlcmxhcHBlZCBpbiBXcml0ZWZpbGUuCisJLSBGaXggcmV0dXJuIGNvZGVzIGluIFdyaXRlRmlsZUV4LgorCisJKiBpbmNsdWRlL2ZpbGUuaCwgc2NoZWR1bGVyL3N5bmNocm8uYywgZmlsZXMvZmlsZS5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlX21jY29ybWFja0BzdGFydC5jb20uYXU+CisJSW1wbGVtZW50IENhbmNlbElvIHByb3Blcmx5LgorCisJKiBkbGxzL3VzZXIvY29tbTE2LmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VfbWNjb3JtYWNrQHN0YXJ0LmNvbS5hdT4KKwktIERvbid0IHVzZSBldmVudCBmbGFncyB3aXRoIFJlYWRGaWxlRXggYW5kIFdyaXRlRmlsZUV4LgorCS0gVXNlIG92ZXJsYXBwZWQgc3RydWN0dXJlIHdpdGggV3JpdGVGaWxlLCBzaW5jZSBGSUxFX0ZMQUdfT1ZFUkxBUFBFRAorCSAgaXMgc3BlY2lmaWVkLgorCS0gQ2FuY2VsIG92ZXJsYXBwZWQgb3BlcmF0aW9ucyBpbiBDbG9zZUNvbW0uCisKKwkqIG1lbW9yeS9zZWxlY3Rvci5jLCBtZW1vcnkvdmlydHVhbC5jLCBzY2hlZHVsZXIvY2xpZW50LmMsCisJICBzY2hlZHVsZXIvcHJvY2Vzcy5jLCBzY2hlZHVsZXIvc3luY2hyby5jLCBzY2hlZHVsZXIvc3lzZGVwcy5jLAorCSAgaW5jbHVkZS90aHJlYWQuaCwgaW5jbHVkZS93aW5lL2V4Y2VwdGlvbi5oOgorCUFkZGVkIHN1cHBvcnQgZm9yIGNsZWFuaW5nIHVwIHRoZSBURUIgZnJvbSBpbnNpZGUgdGhlIGV4aXRpbmcgdGhyZWFkLgorCisJKiBkbGxzL250ZGxsL2RlYnVndG9vbHMuYywgc2NoZWR1bGVyL3RocmVhZC5jOgorCUFsbG9jYXRlIGRlYnVnX2luZm8gc3RydWN0dXJlIGF0IHRoZSBzYW1lIHRpbWUgYXMgdGhlIFRFQi4KKwlSZW1vdmVkIHRoZSBURUIgY2xlYW51cCBzZXJ2aWNlLgorCisJKiBkbGxzL250ZGxsL3NpZ25hbF9pMzg2LmMsIGRsbHMvbnRkbGwvc2lnbmFsX3NwYXJjLmM6CisJQWRkZWQgU0lHTkFMX1Jlc2V0IGZ1bmN0aW9uLgorCisyMDAyLTAxLTA2ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiB0b29scy93aW5lZHVtcC9wZS5jOgorCUFkZGVkIHN1cHBvcnQgZm9yIGR1bXBpbmcgcmVzb3VyY2VzLgorCisJKiBkbGxzL3JwY3J0NC9ycGNydDQuc3BlYywgZGxscy9ycGNydDQvcnBjcnQ0X21haW4uYzoKKwlNYXJrIEcuIEFkYW1zIDxtZ2FkYW1zQHN5bXBhdGljby5jYT4KKwlGaXggVXVpZENyZWF0ZSgpIHRvIG5vdCBmb3JnZXQgTUFDIGFkZHJlc3MuCisJUmVtb3ZlIHt9J3MgZnJvbSBVdWlkVG9TdHJpbmdBKCkgb3V0cHV0LgorCUFkZCBVdWlkQ3JlYXRlU2VxdWVudGlhbCgpIGZ1bmN0aW9uIGZyb20gV2luZG93cyAyMDAwLgorCisJKiBjb25maWd1cmUuaW46CisJQmVybmhhcmQgUm9zZW5rcmFlbnplciA8YmVyb0ByZWRoYXQuZGU+CisJQWRkZWQgbWlzc2luZyBicmFja2V0cyBpbiBuY3Vyc2VzIGNoZWNrLgorCisJKiBkbGxzL250ZGxsL01ha2VmaWxlLmluLCBNYWtlZmlsZS5pbiwgY29uZmlndXJlLCBjb25maWd1cmUuaW46CisJUmVtb3ZlZCBvYnNvbGV0ZSBkb3Ntb2QuCisKKwkqIGRsbHMva2VybmVsL25scy9kZWEubmxzLCBkbGxzL2tlcm5lbC9ubHMvZGVsLm5scywKKwkgIGRsbHMva2VybmVsL25scy9kZXUubmxzLCBkbGxzL2tlcm5lbC9ubHMvZW5pLm5scywKKwkgIGRsbHMva2VybmVsL25scy9lc24ubmxzLCBkbGxzL2tlcm5lbC9ubHMvZXNwLm5scywKKwkgIGRsbHMva2VybmVsL25scy9maW4ubmxzLCBkbGxzL2tlcm5lbC9ubHMvZnJhLm5scywKKwkgIGRsbHMva2VybmVsL25scy9mcmIubmxzLCBkbGxzL2tlcm5lbC9ubHMvZnJsLm5scywKKwkgIGRsbHMva2VybmVsL25scy9nYWUubmxzLCBkbGxzL2tlcm5lbC9ubHMvZ3JjLm5scywKKwkgIGRsbHMva2VybmVsL25scy9pdGEubmxzLCBkbGxzL2tlcm5lbC9ubHMvbmxiLm5scywKKwkgIGRsbHMva2VybmVsL25scy9ubGQubmxzLCBkbGxzL2tlcm5lbC9ubHMvcHRnLm5scywKKwkgIGRsbHMva2VybmVsL25scy93YWwubmxzOgorCU1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCUNoYW5nZSBjdXJyZW5jeSBvZiB0aGUgZXVyb3BlYW4gRXVybyB1c2luZyBjb3VudHJpZXMgdG8gRXVyby4KKworCSogTElDRU5TRTogTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJRml4ZWQgY29weXJpZ2h0IGRhdGUuCisKKwkqIGRsbHMvd2luZWRvcy9kb3N2bS5jLCBkbGxzL3dpbmVkb3MvZG9zdm0uaCwgZGxscy93aW5lZG9zL21vZHVsZS5jOgorCU92ZSBLYWF2ZW4gPG92ZWtAYXJjdGljbmV0Lm5vPgorCURPUyBzdXBwb3J0IHJlc3RydWN0dXJlLiBUaGUgRE9TIHZpcnR1YWwgbWFjaGluZSBpcyBub3cgYSBzZXQgb2YKKwl0aHJlYWRzIHJ1bm5pbmcgd2l0aGluIFdpbmUncyBvd24gYWRkcmVzcyBzcGFjZSwgb2Jzb2xldGluZyB0aGUgb2xkCisJZG9zbW9kIG1vZHVsZS4KKworMjAwMi0wMS0wNCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9udGRsbC9zaWduYWxfaTM4Ni5jLCBpbmNsdWRlL3RocmVhZC5oOgorCU92ZSBLYWF2ZW4gPG92ZWtAYXJjdGljbmV0Lm5vPgorCUZpeGVkIHZtODZfZW50ZXIgcmFjZSBjb25kaXRpb25zLgorCisJKiBkbGxzL2NvbWN0bDMyL2NvbWJvZXguYywgZGxscy9jb21jdGwzMi9yZWJhci5jLAorCSAgZGxscy9jb21jdGwzMi90b29sYmFyLmM6CisJU2FuZGVyIHZhbiBMZWV1d2VuIDxzYW5kZXJ2bEB4czRhbGwubmw+CisJTmV2ZXIgZGVsZXRlIHRoZSBmb250IG9iamVjdCByZWNlaXZlZCBieSBXTV9TRVRGT05ULgorCisJKiBkbGxzL2NvbWN0bDMyL3Rvb2x0aXBzLmM6CisJU2FuZGVyIHZhbiBMZWV1d2VuIDxzYW5kZXJ2bEB4czRhbGwubmw+CisJRml4ZWQgY2FsbHMgd2l0aCB3cm9uZyBwb2ludGVyOiBDT01DVEwzMl9GcmVlKCZscHR0c2kpIHNob3VsZCBiZQorCUNPTUNUTDMyX0ZyZWUobHB0dHNpKS4KKworCSogZGxscy91c2VyL3RleHQuYzoKKwlTYW5kZXIgdmFuIExlZXV3ZW4gPHNhbmRlcnZsQHhzNGFsbC5ubD4KKwlGaXhlZCBEQyBsZWFrLgorCisJKiBjb250cm9scy9idXR0b24uYzoKKwlTYW5kZXIgdmFuIExlZXV3ZW4gPHNhbmRlcnZsQHhzNGFsbC5ubD4KKwlDaGVjaywgUmFkaW8gJiAzU3RhdGUgYnV0dG9ucyBzZW5kIFdNX0NUTENPTE9SU1RBVElDIGluc3RlYWQgb2YKKwlXTV9DVExDT0xPUkJUTi4KKworCSogZG9jdW1lbnRhdGlvbi9jb21waWxpbmcuc2dtbCwKKwkgIGRvY3VtZW50YXRpb24vaW5zdGFsbGF0aW9uLXVuZC1rb25maWd1cmF0aW9uLmdlcm1hbiwKKwkgIGRvY3VtZW50YXRpb24vcG9ydGluZy5zZ21sLCBSRUFETUU6CisJUmVtb3ZlZCByZWZlcmVuY2VzIHRvIHhwbSBwYWNrYWdlcy4KKworCSogaW5jbHVkZS9jb25maWcuaC5pbiwgdG9vbHMvd2luZWluc3RhbGwsIGNvbmZpZ3VyZSwgY29uZmlndXJlLmluOgorCVdlIG5vIGxvbmdlciBuZWVkIGxpYlhwbS4KKworCSogdHN4MTEvTWFrZWZpbGUuaW4sIHRzeDExL1gxMV9jYWxscywgdHN4MTEvdHNfeHBtLmMsCisJICBpbmNsdWRlL3RzX3hwbS5oLCB0b29scy9tYWtlX1gxMXdyYXBwZXJzOgorCVdlIG5vIGxvbmdlciBuZWVkIHRoZSB4cG0gd3JhcHBlcnMuCisKKwkqIGluY2x1ZGUvY29tbWN0cmwuaDoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZV9tY2Nvcm1hY2tAc3RhcnQuY29tLmF1PgorCUFkZCBkZWZpbmUgZm9yIHVuZG9jdW1lbnRlZCBzdGF0dXMgYmFyIG1lc3NhZ2UgU0JfU0VUQk9SREVSUy4KKworCSogaW5jbHVkZS9pbWFnZWhscC5oOgorCUJpbGwgTWVkbGFuZCA8bWVkYmkwMUBhY2NwYWMuY29tPgorCURlZmluZSBMUFNUQUNLRlJBTUUgdG9vLgorCisJKiBpbmNsdWRlL3dpbnVzZXIuaCwgd2luZG93cy9zcHkuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUFkZCBzb21lIG5ldyBtZXNzYWdlcyB0byB0aGUgc3B5IGFuZCB3aW51c2VyLmguCisKKwkqIGluY2x1ZGUvYml0bWFwcy9vYm1fY2xvc2UsIGluY2x1ZGUvYml0bWFwcy9vYm1fY2xvc2VfOTUsCisJICBpbmNsdWRlL2JpdG1hcHMvb2JtX2Nsb3NlZF85NSwgaW5jbHVkZS9iaXRtYXBzL29ibV9yZWR1Y2UsCisJICBpbmNsdWRlL2JpdG1hcHMvb2JtX3JlZHVjZV85NSwgaW5jbHVkZS9iaXRtYXBzL29ibV9yZWR1Y2VkLAorCSAgaW5jbHVkZS9iaXRtYXBzL29ibV9yZWR1Y2VkXzk1LCBpbmNsdWRlL2JpdG1hcHMvb2JtX3Jlc3RvcmUsCisJICBpbmNsdWRlL2JpdG1hcHMvb2JtX3Jlc3RvcmVfOTUsIGluY2x1ZGUvYml0bWFwcy9vYm1fcmVzdG9yZWQsCisJICBpbmNsdWRlL2JpdG1hcHMvb2JtX3Jlc3RvcmVkXzk1LCBpbmNsdWRlL2JpdG1hcHMvb2JtX3pvb20sCisJICBpbmNsdWRlL2JpdG1hcHMvb2JtX3pvb21fOTUsIGluY2x1ZGUvYml0bWFwcy9vYm1fem9vbWQsCisJICBpbmNsdWRlL2JpdG1hcHMvb2JtX3pvb21kXzk1LCBpbmNsdWRlL2dkaS5oLCBpbmNsdWRlL3VzZXIuaCwKKwkgIGluY2x1ZGUveDExZHJ2LmgsIGRsbHMveDExZHJ2L3gxMWRydi5zcGVjLAorCSAgZ3JhcGhpY3MveDExZHJ2L01ha2VmaWxlLmluLCBncmFwaGljcy94MTFkcnYvaW5pdC5jLAorCSAgZ3JhcGhpY3MveDExZHJ2L29lbWJpdG1hcC5jLCBkbGxzL3VzZXIvdXNlcl9tYWluLmMsCisJICBkbGxzL3R0eWRydi90dHlkcnYuc3BlYywgZGxscy90dHlkcnYvdXNlci5jOgorCVJlbW92ZWQgTG9hZE9FTVJlc291cmNlIGZyb20gVVNFUiBkcml2ZXIuCisKKwkqIGRsbHMvbnRkbGwvZmlsZS5jOgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJUHJpbnQgRklYTUUoKSBmb3Igbm90IGltcGxlbWVudGVkIE50UXVlcnlWb2x1bWVJbmZvcm1hdGlvbkZpbGUuCisKKwkqIGZpbGVzL3Byb2ZpbGUuYzogTWVobWV0IFlhc2FyIDxteWFzYXJAZnJlZS5mcj4KKwlEbyBub3Qgc2F2ZSBlbXB0eSBzZWN0aW9ucyBuYW1lcy4KKworCSogZGxscy9jb21tZGxnL2NvbG9yZGxnLmM6CisJRGltaXRyaWUgTy4gUGF1biA8ZGltaUBjcy50b3JvbnRvLmVkdT4KKwlSZW1vdmUgYSBjYWxsIHRvIEhFQVBfc3RyZHVwQXRvVyBpbiB0aGUgQ29sb3IgZGlhbG9nLgorCisJKiBncmFwaGljcy94MTFkcnYvZGliLmM6CisJR2F2cmllbCBTdGF0ZSA8Z2F2QHRyYW5zZ2FtaW5nLmNvbT4KKwlTcGVlZCB1cCB0aGUgR2V0SW1hZ2VCaXRzIGNhc2Ugd2hlcmUgd2UgaGF2ZSBhbiBYU2htIGltYWdlLgorCisyMDAyLTAxLTAzICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiB3aW5kb3dzL2N1cnNvcmljb24uYywgd2luZG93cy9tZGkuYywgd2luZG93cy9ub25jbGllbnQuYywKKwkgIGNvbnRyb2xzL21lbnUuYywgZGxscy91c2VyL3Jlc291cmNlcy91c2VyMzJfYml0bWFwcy5yYzoKKwlVc2UgRHJhd0ZyYW1lQ29udHJvbCBpbnN0ZWFkIG9mIGJpdG1hcHMgaW4gY2VydGFpbiBjYXNlcy4KKwlNb3ZlZCByZW1haW5pbmcgT0VNIGJpdG1hcHMgdG8gdXNlcjMyIHJlc291cmNlcy4KKworCSogZGxscy9vbGUzMi9vbGUyc3R1YnMuYywgZGxscy9vbGUzMi9jb21wb2JqLmM6CisJTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJSW1wbGVtZW50ZWQgQ29UcmVhdEFzQ2xhc3MsIHNpbXBsaWZpZWQgT2xlU2V0QXV0b0NvbnZlcnQuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGVsbG9yZC5jOgorCU92ZSBLYWF2ZW4gPG92ZWtAdHJhbnNnYW1pbmcuY29tPgorCUhhbmRsZSB0aGUgbHBEaXJlY3RvcnkgZmllbGQgb2YgdGhlIExQU0hFTExFWEVDVVRFSU5GTy4KKworMjAwMi0wMS0wMiAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogaW5jbHVkZS9maWxlLmgsIHNjaGVkdWxlci9zeW5jaHJvLmM6CisJRml4ZWQgY2hlY2tfYXN5bmNfbGlzdCBjYWxsaW5nIGNvbnZlbnRpb24uCisKKwkqIGdyYXBoaWNzL3gxMWRydi9vZW1iaXRtYXAuYywgaW5jbHVkZS9iaXRtYXBzL29ibV9idG5jb3JuZXJzLAorCSAgaW5jbHVkZS9iaXRtYXBzL29ibV9idHNpemUsIGluY2x1ZGUvYml0bWFwcy9vYm1fY2hlY2ssCisJICBpbmNsdWRlL2JpdG1hcHMvb2JtX2NoZWNrYm94ZXMsIGluY2x1ZGUvYml0bWFwcy9vYm1fY29tYm8sCisJICBpbmNsdWRlL2JpdG1hcHMvb2JtX2RuYXJyb3csIGluY2x1ZGUvYml0bWFwcy9vYm1fZG5hcnJvd2QsCisJICBpbmNsdWRlL2JpdG1hcHMvb2JtX2RuYXJyb3dpLCBpbmNsdWRlL2JpdG1hcHMvb2JtX2xmYXJyb3csCisJICBpbmNsdWRlL2JpdG1hcHMvb2JtX2xmYXJyb3dkLCBpbmNsdWRlL2JpdG1hcHMvb2JtX2xmYXJyb3dpLAorCSAgaW5jbHVkZS9iaXRtYXBzL29ibV9tbmFycm93LCBpbmNsdWRlL2JpdG1hcHMvb2JtX29sZF9jbG9zZSwKKwkgIGluY2x1ZGUvYml0bWFwcy9vYm1fb2xkX2RuYXJyb3csIGluY2x1ZGUvYml0bWFwcy9vYm1fb2xkX2xmYXJyb3csCisJICBpbmNsdWRlL2JpdG1hcHMvb2JtX29sZF9yZWR1Y2UsIGluY2x1ZGUvYml0bWFwcy9vYm1fb2xkX3Jlc3RvcmUsCisJICBpbmNsdWRlL2JpdG1hcHMvb2JtX29sZF9yZ2Fycm93LCBpbmNsdWRlL2JpdG1hcHMvb2JtX29sZF91cGFycm93LAorCSAgaW5jbHVkZS9iaXRtYXBzL29ibV9vbGRfem9vbSwgaW5jbHVkZS9iaXRtYXBzL29ibV9yZ2Fycm93LAorCSAgaW5jbHVkZS9iaXRtYXBzL29ibV9yZ2Fycm93ZCwgaW5jbHVkZS9iaXRtYXBzL29ibV9yZ2Fycm93aSwKKwkgIGluY2x1ZGUvYml0bWFwcy9vYm1fc2l6ZSwgaW5jbHVkZS9iaXRtYXBzL29ibV90cnR5cGUsCisJICBpbmNsdWRlL2JpdG1hcHMvb2JtX3VwYXJyb3csIGluY2x1ZGUvYml0bWFwcy9vYm1fdXBhcnJvd2QsCisJICBpbmNsdWRlL2JpdG1hcHMvb2JtX3VwYXJyb3dpLCB3aW5kb3dzL2N1cnNvcmljb24uYywKKwkgIGRsbHMvdXNlci9yZXNvdXJjZXMvdXNlcjMyLnJjLAorCSAgZGxscy91c2VyL3Jlc291cmNlcy91c2VyMzJfYml0bWFwcy5yYzoKKwlNb3ZlZCB0aGUgT0VNIGJpdG1hcHMgdGhhdCBkb24ndCBkZXBlbmQgb24gdGhlIFdpbmUgbG9vayBpbnRvIHRoZQorCXVzZXIzMiByZXNvdXJjZXMuCisKKwkqIGRsbHMvZHNvdW5kL2Rzb3VuZF9tYWluLmM6CisJT3ZlIEthYXZlbiA8b3Zla0B0cmFuc2dhbWluZy5jb20+CisJRnVydGhlciB1bmlmaWVkIEhBTCBhbmQgSEVMIG1peGluZywgYW5kIGFkZGVkIHNvbWUgbW9yZSBpbnRlbGxpZ2VuY2UKKwl0byBwcmVidWZmZXJpbmcsIHdpdGggc29tZSBiYXNpYyBwcmVidWZmZXIgY2FuY2VsaW5nIHN1cHBvcnQsIHRvIGdldAorCXJpZCBvZiBtaXhpbmcgZGVsYXlzIGluIEhhbGYtTGlmZS4gVXNlZCBhIHZlcnkgc21hbGwgd2F2ZW91dCBidWZmZXIKKwlxdWV1ZSBpbiBIRUwgbW9kZSwgdXNpbmcgYSBjYWxsYmFjayB0byBxdWV1ZSBhZGRpdGlvbmFsIGJ1ZmZlcnMsIHRvCisJZ2V0IHJpZCBvZiBwbGF5YmFjayBkZWxheXMgaW4gSGFsZi1MaWZlLiBGaXhlZCBhIGNvdXBsZSBvZiBidWdzLgorCisJKiBzZXJ2ZXIvY29uc29sZS5jLCBwcm9ncmFtcy93aW5lY29uc29sZS9kaWFsb2cuYywKKwkgIHByb2dyYW1zL3dpbmVjb25zb2xlL3JlZ2lzdHJ5LmMsIHByb2dyYW1zL3dpbmVjb25zb2xlL3VzZXIuYywKKwkgIHByb2dyYW1zL3dpbmVjb25zb2xlL3dpbmVjb25zb2xlLmM6CisJRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJRml4ZWQgY29sb3IgZGVmaW5pdGlvbiAoYmcgYW5kIGZnIHdlcmUgc3dhcHBlZCkuCisJRml4ZWQgc29tZSBpbml0aWFsaXNhdGlvbiBpc3N1ZXMuCisJRml4ZWQgZXhpdCBjb25kaXRpb24gd2hlbiBub3RoaW5nIHdhcyBhbGxvY2F0ZWQuCisKKwkqIGRsbHMvb2xlYXV0MzIvc2FmZWFycmF5LmM6CisJT3ZlIEthYXZlbiA8b3Zla0B0cmFuc2dhbWluZy5jb20+CisJSWYgU2FmZUFycmF5R2V0RWxlbWVudCBpcyBjYWxsZWQgb24gYSB2YXJpYW50IGFycmF5LCBpbml0aWFsaXplCisJZGVzdGluYXRpb24gdmFyaWFudCBiZWZvcmUgY29weWluZyB0aGUgYXJyYXkgZWxlbWVudCB0byBpdCwgc29tZSBiYWRseQorCWJlaGF2ZWQgYXBwcyBkb24ndCBzZWVtIHRvIGRvIGl0IHRoZW1zZWx2ZXMuCisKKwkqIGRsbHMvb2xlYXV0MzIvdmFyaWFudC5jOgorCU92ZSBLYWF2ZW4gPG92ZWtAdHJhbnNnYW1pbmcuY29tPgorCUZpeGVkIGEgbG9va3MtbGlrZS1ub2JvZHktZXZlci10ZXN0ZWQtdGhpcy1mdW5jdGlvbiBraW5kIG9mIGJ1ZyBpbgorCVZhcmlhbnRDb3B5SW5kLgorCisJKiBkbGxzL250ZGxsL2V4Y2VwdGlvbi5jOgorCU92ZSBLYWF2ZW4gPG92ZWtAdHJhbnNnYW1pbmcuY29tPgorCU1hZGUgdGhlIG91dHB1dCBvZiAtLWRlYnVnbXNnICtzZWggYSBiaXQgbW9yZSB2ZXJib3NlLgorCisJKiBkbGxzL2NvbWN0bDMyL2NvbW1jdHJsLmM6CisJRGltaXRyaWUgTy4gUGF1biA8ZGltaUBjcy50b3JvbnRvLmVkdT4KKwlNYWtlIERyYXdTdGF0dXNUZXh0IFVuaWNvZGUgcmVhZHkuIEdldCByaWQgb2YgYSBIRUFQX3N0cmR1cCBjYWxsLgorCisJKiBkbGxzL29wZW5nbDMyL21ha2Vfb3BlbmdsLCBkbGxzL29wZW5nbDMyL29wZW5nbF9leHQuYywKKwkgIGRsbHMvb3BlbmdsMzIvb3BlbmdsX2V4dC5oLCBkbGxzL29wZW5nbDMyL3dnbC5jOgorCUxpb25lbCBVbG1lciA8bGlvbmVsLnVsbWVyQGZyZWUuZnI+CisJLSBiZXR0ZXIgc3VwcG9ydCBmb3IgZXh0ZW5zaW9ucyBmdW5jdGlvbnMgdGhhdCBkbyBub3QgaGF2ZSB0aGUgc2FtZQorCSAgbmFtZSBpbiB3aW5kb3dzIGFuZCBpbiBVbml4LgorCS0gc3VwcG9ydCB0aGUgTlZfdmVydGV4X2FycmF5X3JhbmdlIGV4dGVuc2lvbi4KKworMjAwMi0wMS0wMSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogY29uc29sZS94dGVybS5jLCBkbGxzL3dpbmVkb3MvTWFrZWZpbGUuaW4sIGluY2x1ZGUvd2luZS9wb3J0LmgsCisJICBsaWJyYXJ5L3BvcnQuYywgY29uZmlndXJlLCBjb25maWd1cmUuaW46CisJTGluayB3aXRoIGxpYnV0aWwgb25seSB3aGVyZSBuZWVkZWQuCisKKwkqIHNjaGVkdWxlci9zeW5jaHJvLmMsIGZpbGVzL2ZpbGUuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZV9tY2Nvcm1hY2tAc3RhcnQuY29tLmF1PlIKKwlTZXQgYW4gb3ZlcmxhcHBlZCdzIGhFdmVudCBmb3IgUmVhZEZpbGUvV3JpdGVGaWxlIGluIGFuIG92ZXJsYXBwZWQKKwljb21wbGV0aW9uIGZ1bmN0aW9uLCBub3QgaW4gUmVhZEZpbGVFeCBvciBXcml0ZUZpbGVFeC4KKworCSogd2luZG93cy9jdXJzb3JpY29uLmMsIHdpbmRvd3MvbWRpLmMsIHdpbmRvd3Mvbm9uY2xpZW50LmMsCisJICB3aW5kb3dzL3VzZXIuYywgd2luZG93cy93aW4uYywgd2luZG93cy93aW5oZWxwLmMsCisJICBvYmplY3RzL21ldGFmaWxlLmMsIG9sZS9vbGUybmxzLmMsIHdpbjMyL2ZpbGUuYywgd2luMzIvbmV3Zm5zLmMsCisJICBncmFwaGljcy9tZXRhZmlsZWRydi9pbml0LmMsIGxvYWRlci9wZV9yZXNvdXJjZS5jLCBtaXNjL3JlZ2lzdHJ5LmMsCisJICBmaWxlcy9jaGFuZ2UuYywgZ3JhcGhpY3MvZW5obWV0YWZpbGVkcnYvaW5pdC5jLAorCSAgZGxscy9vbGUzMi9jb21wb2JqLmMsIGRsbHMvb2xlYXV0MzIvaGFzaC5jLCBkbGxzL29sZWF1dDMyL29sZWZvbnQuYywKKwkgIGRsbHMvdXNlci9leHRpY29uLmMsIGRsbHMvdXNlci9yZXNvdXJjZS5jLCBkbGxzL2RkcmF3L21haW4uYywKKwkgIGRsbHMvbXByL3duZXQuYzoKKwlSZW1vdmVkIHNvbWUgb2YgdGhlIGNhbGxzIHRvIEhFQVBfc3RyZHVwKiBmdW5jdGlvbnMuCisKKwkqIHByb2dyYW1zL3dpbmVjb25zb2xlL2RpYWxvZy5jLCBwcm9ncmFtcy93aW5lY29uc29sZS91c2VyLmM6CisJSmFtZXMgSnVyYW4gPGphbWVzanVyYW5AYWx1bW5pLnBzdS5lZHU+CisJSW5jbHVkZSA8c3RkbGliLmg+IHRvIGdldCBwcm90b3R5cGUgZm9yIGFicygpIGZ1bmN0aW9uLgorCisJKiBkbGxzL29sZTMyL3N0Z19zdHJlYW0uYywgZGxscy9vbGUzMi9zdG9yYWdlMzIuYywKKwkgIGRsbHMvb2xlMzIvc3RvcmFnZTMyLmg6CisJSnVra2EgSGVpbm9uZW4gPGpoZWlAaWtpLmZpPgorCU5hbWUgb2YgdGhlIHN0cnVjdHVyZWQgc3RvcmFnZSBmaWxlIHJvb3Qgbm9kZSBpcyBwYXRoIG9mIHRoZSBmaWxlLCBub3QKKwl0aGUgbmFtZSBvZiB0aGUgcm9vdCBub2RlIHN0b3JlZCBpbiB0aGUgZmlsZS4KKwlXaGVuIHJlYWRpbmcgc3RyZWFtcyBzdG9yZWQgaW50byBzdHJ1Y3R1cmVkIHN0b3JhZ2UgZmlsZXMsIEVPRiBpcyBub3QKKwlzdXBwb3NlZCB0byBjYXVzZSBhbiBlcnJvciBpZiBhdCBsZWFzdCBvbmUgYnl0ZSBjYW4gYmUgcmV0dXJuZWQuCisKKzIwMDEtMTItMzEgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbiwgbGlicmFyeS9NYWtlZmlsZS5pbiwgY29uZmlndXJlOgorCUxpbmsgd2l0aCBsaWJkbCBvbmx5IHdoZXJlIG5lZWRlZC4KKworCSogc2VydmVyL3Byb3RvY29sLmRlZiwgc2VydmVyL3RyYWNlLmMsIGluY2x1ZGUvd2luZS9zZXJ2ZXJfcHJvdG9jb2wuaDoKKwlGaXhlZCBzdHJpbmcgdHlwZSBpbiBuYW1lZCBwaXBlIHJlcXVlc3RzLgorCisJKiBtaXNjL2Nkcm9tLmM6CisJQ2hyaXMgR3JlZW4gPGNocmlzX2VfZ3JlZW5AeWFob28uY29tPgorCUdldCB0aGUgY29ycmVjdCBsYWJlbCBvbiBpc285NjYwIG1peGVkLW1vZGUgY2RzLgorCisJKiBkbGxzL2NvbWN0bDMyL2ltYWdlbGlzdC5jOgorCU1pY2hhZWwgU3RlZmFuaXVjIDxtc3RlZmFuaUByZWRoYXQuZGU+CisJRml4ZWQgbWVtb3J5IGxlYWsuCisJUmVtb3ZlZCByZWR1bmRhbnQgSW1hZ2VMaXN0X0RyYWdTaG93Tm9sb2NrKEZBTFNFKSBjYWxsLgorCisJKiBwcm9ncmFtcy93aW5lY29uc29sZS91c2VyLmM6CisJTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJU3dhcCBmZy9iZyBjb2xvciB0byBiZSBjb3JyZWN0LgorCisyMDAxLTEyLTI2ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBpbmNsdWRlL3ZlcnNpb24uaCwgQU5OT1VOQ0UsIENoYW5nZUxvZzoKKwlSZWxlYXNlIDIwMDExMjI2LgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAyMDAxLTEyLTI2ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgogCiAJKiB3aW5kb3dzL3N5c3BhcmFtcy5jLCBpbmNsdWRlL3dpbnVzZXIuaDoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvdmVyc2lvbi5oIGIvaW5jbHVkZS92ZXJzaW9uLmgKaW5kZXggNGFlNTkyYi4uMTIwZGYzNiAxMDA2NDQKLS0tIGEvaW5jbHVkZS92ZXJzaW9uLmgKKysrIGIvaW5jbHVkZS92ZXJzaW9uLmgKQEAgLTEgKzEgQEAKLSNkZWZpbmUgV0lORV9SRUxFQVNFX0lORk8gIldpbmUgcmVsZWFzZSAyMDAxMTIyNiIKKyNkZWZpbmUgV0lORV9SRUxFQVNFX0lORk8gIldpbmUgcmVsZWFzZSAyMDAyMDEyMiIK