ZGlmZiAtLWdpdCBhL0FOTk9VTkNFIGIvQU5OT1VOQ0UKaW5kZXggOTAxZjc4OS4uOWFlYTBjNCAxMDA2NDQKLS0tIGEvQU5OT1VOQ0UKKysrIGIvQU5OT1VOQ0UKQEAgLTEsMTQgKzEsMTUgQEAKLVRoaXMgaXMgcmVsZWFzZSA5ODEwMjUgb2YgV2luZSwgdGhlIE1TIFdpbmRvd3MgZW11bGF0b3IuICBUaGlzIGlzIHN0aWxsIGEKLWRldmVsb3BlcidzIG9ubHkgcmVsZWFzZS4gIFRoZXJlIGFyZSBtYW55IGJ1Z3MgYW5kIG1hbnkgdW5pbXBsZW1lbnRlZCBBUEkKK1RoaXMgaXMgcmVsZWFzZSA5ODExMDggb2YgV2luZSwgdGhlIE1TIFdpbmRvd3MgZW11bGF0b3IuICBUaGlzIGlzIHN0aWxsIGEKK2RldmVsb3BlcnMgb25seSByZWxlYXNlLiAgVGhlcmUgYXJlIG1hbnkgYnVncyBhbmQgbWFueSB1bmltcGxlbWVudGVkIEFQSQogZmVhdHVyZXMuICBNb3N0IGFwcGxpY2F0aW9ucyBzdGlsbCBkbyBub3Qgd29yayBjb3JyZWN0bHkuCiAKIFBhdGNoZXMgc2hvdWxkIGJlIHN1Ym1pdHRlZCB0byAianVsbGlhcmRAbHJjLmVwZmwuY2giLiAgUGxlYXNlIGRvbid0CiBmb3JnZXQgdG8gaW5jbHVkZSBhIENoYW5nZUxvZyBlbnRyeS4KIAotV0hBVCdTIE5FVyB3aXRoIFdpbmUtOTgxMDI1OiAoc2VlIENoYW5nZUxvZyBmb3IgZGV0YWlscykKLQktIEtERSBkcmFnJmRyb3Agc3VwcG9ydC4KLQktIFN0aWxsIG1vcmUgY29tbW9uIGNvbnRyb2xzIGFuZCBTSEVMTDMyIGZlYXR1cmVzLgotCS0gTW9yZSBQb3N0c2NyaXB0IGRyaXZlciBmdW5jdGlvbnMuCitXSEFUJ1MgTkVXIHdpdGggV2luZS05ODExMDg6IChzZWUgQ2hhbmdlTG9nIGZvciBkZXRhaWxzKQorCS0gTW9yZSBjb21tb24gY29udHJvbHMuCisJLSBCZXR0ZXIgc2VwYXJhdGlvbiBvZiBYMTEtZGVwZW5kZW50IGNvZGUuCisJLSBNb3JlIERPUyBzdXBwb3J0LgorCS0gV2luc29jayBJUFggc3VwcG9ydC4KIAktIExvdHMgb2YgYnVnIGZpeGVzLgogCiBTZWUgdGhlIFJFQURNRSBmaWxlIGluIHRoZSBkaXN0cmlidXRpb24gZm9yIGluc3RhbGxhdGlvbiBpbnN0cnVjdGlvbnMuCkBAIC0xNywxMCArMTgsMTAgQEAKIHRoZSByZWxlYXNlIGlzIGF2YWlsYWJsZSBhdCB0aGUgZnRwIHNpdGVzLiAgVGhlIHNvdXJjZXMgd2lsbCBiZSBhdmFpbGFibGUKIGZyb20gdGhlIGZvbGxvd2luZyBsb2NhdGlvbnM6CiAKLSAgZnRwOi8vc3Vuc2l0ZS51bmMuZWR1L3B1Yi9MaW51eC9BTFBIQS93aW5lL2RldmVsb3BtZW50L1dpbmUtOTgxMDI1LnRhci5negotICBmdHA6Ly90c3gtMTEubWl0LmVkdS9wdWIvbGludXgvQUxQSEEvV2luZS9kZXZlbG9wbWVudC9XaW5lLTk4MTAyNS50YXIuZ3oKLSAgZnRwOi8vZnRwLmluZm9tYWdpYy5jb20vcHViL21pcnJvcnMvbGludXgvc3Vuc2l0ZS9BTFBIQS93aW5lL2RldmVsb3BtZW50L1dpbmUtOTgxMDI1LnRhci5negotICBmdHA6Ly9mdHAucHJvZ3NvYy51dHMuZWR1LmF1L3B1Yi9XaW5lL2RldmVsb3BtZW50L1dpbmUtOTgxMDI1LnRhci5negorICBmdHA6Ly9zdW5zaXRlLnVuYy5lZHUvcHViL0xpbnV4L0FMUEhBL3dpbmUvZGV2ZWxvcG1lbnQvV2luZS05ODExMDgudGFyLmd6CisgIGZ0cDovL3RzeC0xMS5taXQuZWR1L3B1Yi9saW51eC9BTFBIQS9XaW5lL2RldmVsb3BtZW50L1dpbmUtOTgxMTA4LnRhci5negorICBmdHA6Ly9mdHAuaW5mb21hZ2ljLmNvbS9wdWIvbWlycm9ycy9saW51eC9zdW5zaXRlL0FMUEhBL3dpbmUvZGV2ZWxvcG1lbnQvV2luZS05ODExMDgudGFyLmd6CisgIGZ0cDovL2Z0cC5wcm9nc29jLnV0cy5lZHUuYXUvcHViL1dpbmUvZGV2ZWxvcG1lbnQvV2luZS05ODExMDgudGFyLmd6CiAKIEl0IHNob3VsZCBhbHNvIGJlIGF2YWlsYWJsZSBmcm9tIGFueSBzaXRlIHRoYXQgbWlycm9ycyB0c3gtMTEgb3Igc3Vuc2l0ZS4KIApkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDgyMGQ0NmYuLmM2ZDk3ZjUgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsNCArMSw1MzcgQEAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1N1biBOb3YgIDggMTY6NDQ6NDEgMTk5OCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogd2luZG93cy9kaWFsb2cuYzogTkYgU3RldmVucyA8bm9ybWFuQGFyY2FkeS51LW5ldC5jb20+CisJRml4ZWQga2V5c3Ryb2tlIGFjY2VsZXJhdG9ycyBpbiBkaWFsb2dzIHdoaWNoIGhhdmUgY29udHJvbHMgY29udGFpbmluZworCW90aGVyIGNvbnRyb2xzIGFzIGNoaWxkIHdpbmRvd3MuCisKKwkqIGluY2x1ZGUvd2lucHJvYy5oLCBtaXNjL2NvbW1kbGcuYywgd2luZG93cy9ob29rLmMsIHdpbmRvd3Mvd2lucHJvYy5jOgorCUp1ZXJnZW4gU2NobWllZCA8anVlcmdlbi5zY2htaWVkQG1ldHJvbmV0LmRlPgorCUZpeGVzOiBMQl8vQ0JfL0VNXyBtZXNzYWdlcyBmb3IgZ2V0dGluZy9zZXR0aW5nIHRleHQgYW5kIGEgYnVnIGluCisJMTYtPjMyIGJpdCBjb252ZXJzaW9uLgorCisJKiBvYmplY3RzL2RpYi5jOiBFcmljIFBvdWVjaCA8RXJpYy5Qb3VlY2hAd2FuYWRvby5mcj4KKwlQcmV2ZW50IENyZWF0ZURJQlNlY3Rpb24gZnJvbSBzZWcgZmF1bHRpbmcgd2hlbiBvbmUgZGltZW5zaW9uIG9mCisJc2VjdGlvbiBpcyAwLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5pbiwgaW5jbHVkZS9jb25maWcuaC5pbiwgaW5jbHVkZS93aW5zb2NrLmgsIG1pc2Mvd2luc29jay5jOgorCVN0ZXBoZW4gTGFuZ2FzZWsgPHZvcmxvbkBkb2Rkcy5uZXQ+CisJU3VwcG9ydCBmb3IgSVBYIG5ldHdvcmtpbmcgdmlhIHdpbnNvY2sgdW5kZXIgTGludXguCisKKwkqIHJlbGF5MzIvZ2RpMzIuc3BlYywgZ3JhcGhpY3MvcGFpbnRpbmcuYzoKKwlVd2UgQm9ubmVzIDxib25AZWxla3Ryb24uaWtwLnBoeXNpay50dS1kYXJtc3RhZHQuZGU+CisJQWRkZWQgYSBzdHViIGZvciBTdGFydERvY0EgYW5kIEVuZERvYy4KKworCSogcmVsYXkzMi9rZXJuZWwzMi5zcGVjLCBzY2hlZHVsZXIvcHJvY2Vzcy5jLCB3aW4zMi9jb25zb2xlLmM6CisJSmFtZXMgU3V0aGVybGFuZCA8SmFtZXNTdXRoZXJsYW5kQGdteC5kZT4KKwlNb3JlIGNvbXBsZXRlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBTZXRDdHJsSGFuZGxlcigpIGZ1bmN0aW9uIChhbmQgdGhlCisJcmVsYXRlZCBjb25zb2xlIGZ1bmN0aW9ucykuCisKKwkqIG9iamVjdHMvYnJ1c2guYywgcmVsYXkzMi9nZGkzMi5zcGVjOiBKZWZmIEpvaGFubiA8ampvaGFubkBraXZhLm5ldD4KKwlBZGRlZCBDcmVhdGVESUJQYXR0ZXJuQnJ1c2hQdCAoR0RJMzIuMzUpIHdpdGggbWlub3IgZG9jdW1lbnRhdGlvbgorCXVwZGF0ZXMuCisKKwkqIGdyYXBoaWNzL3ZnYS5jLCBpbmNsdWRlL3ZnYS5oLCBtc2Rvcy9pb3BvcnRzLmM6CisJT3ZlIEthYXZlbiA8b3Zla0BhcmN0aWNuZXQubm8+CisJU2ltdWxhdGUgdGhlIFZHQSB2ZXJ0aWNhbCByZWZyZXNoLgorCisJKiBncmFwaGljcy9kZHJhdy5jOiBMaW9uZWwgVWxtZXIgPHVsbWVyQGRpcmVjdHByb3ZpZGVyLm5ldD4KKwlBZGRlZCBzdXBwb3J0IG9mIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gcmVjdGFuZ2xlcyBpbiBCbGl0IGZ1bmN0aW9uLgorCisJKiBpbmNsdWRlL2RpbnB1dC5oLCB3aW5kb3dzL2RpbnB1dC5jOgorCUxpb25lbCBVbG1lciA8dWxtZXJAZGlyZWN0cHJvdmlkZXIubmV0PgorCUFkZGVkIGRldmljZSB0eXBlIGNvbnN0YW50cyBhbmQgdXNlZCB0aGVtIGluIGRldmljZSBlbnVtZXJhdGlvbgorCWZ1bmN0aW9uLgorCisJKiBtaXNjL3JlZ2lzdHJ5LmM6IFV3ZSBCb25uZXMgPGJvbkBlbGVrdHJvbi5pa3AucGh5c2lrLnR1LWRhcm1zdGFkdC5kZT4KKwlBUEkgZG9jdW1lbnRhdGlvbiBzYXlzIHRoYXQgUmVnRW51bUtleUV4LCBSZWdFbnVtVmFsdWUgYW5kCisJUmVnUXVlcnlJbmZvS2V5IHRha2VzIHRoZSBzaXplIG9mIHRoZSBidWZmZXJzIGFzIGNoYXJhY3RlcnMuCisKKwkqIG9sZS9jb21wb2JqLmM6IEFkZGVkIG1pc3NpbmcgI2luY2x1ZGUgImNvbmZpZy5oIgorCisJKiBBVVRIT1JTLCBjb25maWd1cmUsIGNvbmZpZ3VyZS5pbiwgaW5jbHVkZS9hdXRob3JzLmgsIGluY2x1ZGUvY29uZmlnLmguaW4sIG9sZS9jb21wb2JqLmM6CisJSnVzdGluIEJyYWRmb3JkIDxqdXN0aW5AdWthbnMuZWR1PgorCVJlcGxhY2VzIENvQ3JlYXRlR3VpZCBzdHViIHdpdGggYW4gaW1wbGVtZW50YXRpb24gb2YgRENFJ3MgVVVJRAorCXNwZWNpZmljYXRpb24uIEFsc28gcmVtb3ZlcyBzb21lIHVubmVjZXNzYXJ5IGNvZGUgZnJvbSBTdHJpbmdGcm9tQ0xTSUQuCisKKwkqIGluY2x1ZGUvY29tbWN0cmwuaCwgaW5jbHVkZS93aW5iYXNlLmgsIGluY2x1ZGUvd2ludHlwZXMuaDoKKwlVd2UgQm9ubmVzIDxib25AZWxla3Ryb24uaWtwLnBoeXNpay50dS1kYXJtc3RhZHQuZGU+CisJQWRkZWQgYW4gZXh0ZXJuICJDIiBzYWZlZ3VhcmQuCisKKwkqIGluY2x1ZGUvY29tbWRsZy5oLCBpbmNsdWRlL3dpbmRvd3MuaCwgd2luZG93cy9pbnB1dC5jOgorCVV3ZSBCb25uZXMgPGJvbkBlbGVrdHJvbi5pa3AucGh5c2lrLnR1LWRhcm1zdGFkdC5kZT4KKwktIGFkZHMgR2V0RXhpdENvZGVQcm9jZXNzCisJLSBjb3JyZWN0cyB0aGUgcmV0dXJuLXR5cGUgb2YgR2V0S2V5U3RhdGUKKwktIGNvcnJlY3RzIHRoZSB3aW5lbGliIGRlZmluaXRpb24gb2YgSXNEaWFsb2dNZXNzYWdlCisJLSBhZGRzIHdpbmVsaWIgZGVmaW5pdGlvbnMgZm9yIFByaW50RGxnCisKKwkqIG9iamVjdHMvY2xpcHBpbmcuYzogUmVpbiBLbGF6ZXMgPHJrbGF6ZXNAY2FzZW1hLm5ldD4KKwlFeHRTZWxlY3RDbGlwUmduIGZpeDogUkdOX0RJRkYgZGlkIG5vdCB3b3JrLgorCisJKiBvYmplY3RzL2N1cnNvcmljb24uYywgd2luZG93cy9ldmVudC5jLCB3aW5kb3dzL21lc3NhZ2UuYzoKKwlVbHJpY2ggV2VpZ2FuZCA8d2VpZ2FuZEBpbmZvcm1hdGlrLnVuaS1lcmxhbmdlbi5kZT4KKwlBZGFwdGVkIHRvIG5ldyBpbnB1dCBldmVudCBoYW5kbGluZy4KKworCSogaWYxNjMyL3RodW5rLmMsIGlmMTYzMi91c2VyLnNwZWMsIGluY2x1ZGUvaW5wdXQuaCwgaW5jbHVkZS93aW5kb3dzLmgsIHJlbGF5MzIvdXNlcjMyLnNwZWMsIHdpbmRvd3MvTWFrZWZpbGUuaW4sIHdpbmRvd3MvaW5wdXQuYzoKKwlVbHJpY2ggV2VpZ2FuZCA8d2VpZ2FuZEBpbmZvcm1hdGlrLnVuaS1lcmxhbmdlbi5kZT4KKwlVU0VSLXNpZGUgcGFydCBvZiBpbnB1dCBldmVudCBoYW5kbGluZzogY29udGFpbnMgaW1wbGVtZW50YXRpb24gb2YKKwlrZXliZF9ldmVudCBhbmQgbW91c2VfZXZlbnQsIGFuZCBVU0VSLXJlbGF0ZWQgY29kZSByZW1vdmVkIGZyb20KKwl3aW5kb3dzL2V2ZW50LmMgYW5kIHdpbmRvd3Mva2V5Ym9hcmQuYy4KKworCSogd2luZG93cy9kaXNwbGF5LmM6CisJVWxyaWNoIFdlaWdhbmQgPHdlaWdhbmRAaW5mb3JtYXRpay51bmktZXJsYW5nZW4uZGU+CisJU3R1YnMgZm9yIERJU1BMQVkuRFJWIHJlbW92ZWQgZnJvbSBrZXlib2FyZC5jLgorCisJKiBpZjE2MzIvbW91c2Uuc3BlYywgaW5jbHVkZS9tb3VzZS5oLCB3aW5kb3dzL21vdXNlLmM6CisJVWxyaWNoIFdlaWdhbmQgPHdlaWdhbmRAaW5mb3JtYXRpay51bmktZXJsYW5nZW4uZGU+CisJSW1wbGVtZW50YXRpb24gb2YgTU9VU0UuRFJWIChjb250YWlucyBzb21lIGNvZGUgdGFrZW4gZnJvbQorCXdpbmRvd3MvZXZlbnQuYykuCisKKwkqIGlmMTYzMi9rZXlib2FyZC5zcGVjLCBpbmNsdWRlL2tleWJvYXJkLmgsIHdpbmRvd3Mva2V5Ym9hcmQuYzoKKwlVbHJpY2ggV2VpZ2FuZCA8d2VpZ2FuZEBpbmZvcm1hdGlrLnVuaS1lcmxhbmdlbi5kZT4KKwlJbXBsZW1lbnRhdGlvbiBvZiBLRVlCT0FSRC5EUlYgKGNvZGUgbW9zdGx5IHRha2VuIGZyb20gcHJldmlvdXMKKwl3aW5kb3dzL2tleWJvYXJkLmMpLgorCisJKiBsb2FkZXIvbWFpbi5jLCBsb2FkZXIvdGFzay5jLCBtaXNjZW11L21haW4uYzoKKwlVbHJpY2ggV2VpZ2FuZCA8d2VpZ2FuZEBpbmZvcm1hdGlrLnVuaS1lcmxhbmdlbi5kZT4KKwlCdWdmaXg6IHJlYWxseSAqZG8qIHN3aXRjaCB0byB0aGUgaW5pdGlhbCB0YXNrJ3Mgc3RhY2suCisJQ2FsbExhcmdlU3RhY2sgbWVjaGFuaXNtIHJlLWVuYWJsZWQuCisKKwkqIGluY2x1ZGUvZGVidWcuaCwgaW5jbHVkZS9kZWJ1Z2RlZnMuaDoKKwlFcmljIEtvaGwgPGVrb2hsQGFiby5yaGVpbi16ZWl0dW5nLmRlPgorCU5ldyBGaWxlcy4gQWRkZWQgJ2RhdGUgYW5kIHRpbWUgcGlja2VyJyBhbmQgJ21vbnRoIGNhbGVuZGFyJyBjb250cm9sCisJZHVtbWllcy4gVGhleSBhcmUgdXNlZCBieSBPdXRsb29rIEV4cHJlc3MuCisKKwkqIG9sZS9vbGUyLmMsIHJlbGF5MzIvb2xlMzIuc3BlYzoKKwlFcmljIEtvaGwgPGVrb2hsQGFiby5yaGVpbi16ZWl0dW5nLmRlPgorCUFkZGVkIHN0dWIgZm9yIENyZWF0ZUJpbmRDdHgoKSBhbmQgYWRkZWQgbWlzc2luZyBDb0dldENsYXNzT2JqZWN0KCkKKwl0byAqLnNwZWMgZmlsZS4gTWFrZXMgSW50ZXJuZXQgRXhwbG9yZXIgNC4wMSBoYXBweSA7LSkKKworCSogZGxscy9jb21jdGwzMi9wYWdlci5jOiBFcmljIEtvaGwgPGVrb2hsQGFiby5yaGVpbi16ZWl0dW5nLmRlPgorCUxpdHRsZSBpbXByb3ZlbWVudC4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBFcmljIEtvaGwgPGVrb2hsQGFiby5yaGVpbi16ZWl0dW5nLmRlPgorCUFkZGVkIHByZWxpbWluYXJ5IGhpdCB0ZXN0aW5nLiBNYWtlcyByZWdlZGl0LmV4ZSBoYXBweSA7LSkKKworCSogZG9jdW1lbnRhdGlvbi9jb21tb25fY29udHJvbHMsIGRsbHMvY29tY3RsMzIvaW1hZ2VsaXN0LmM6CisJRXJpYyBLb2hsIDxla29obEBhYm8ucmhlaW4temVpdHVuZy5kZT4KKwlJbXByb3ZlZCBkb2N1bWVudGF0aW9uIGFuZCBmaXhlZCB0eXBvcy4KKworCSogZGxscy9jb21jdGwzMi9jb21tY3RybC5jLCByZWxheTMyL2NvbWN0bDMyLnNwZWM6CisJRXJpYyBLb2hsIDxla29obEBhYm8ucmhlaW4temVpdHVuZy5kZT4KKwlBZGRlZCBEcmF3U3RhdHVzVGV4dDMyQVcoKSBhbmQgQ3JlYXRlU3RhdHVzV2luZG93MzJBVygpLgorCisJKiBkbGxzL2NvbWN0bDMyL3JlYmFyLmM6IEVyaWMgS29obCA8ZWtvaGxAYWJvLnJoZWluLXplaXR1bmcuZGU+CisJSW1wcm92ZWQgZGlzcGxheSBhbmQgbGF5b3V0IGNvZGUuCisKKwkqIGRsbHMvY29tY3RsMzIvTWFrZWZpbGUuaW4sIGRsbHMvY29tY3RsMzIvZGF0ZXRpbWUuYywgZGxscy9jb21jdGwzMi9tb250aGNhbC5jLCBpbmNsdWRlL2NvbW1jdHJsLmgsIGluY2x1ZGUvZGF0ZXRpbWUuaCwgaW5jbHVkZS9tb250aGNhbC5oOgorCUVyaWMgS29obCA8ZWtvaGxAYWJvLnJoZWluLXplaXR1bmcuZGU+CisJTmV3IEZpbGVzLiBBZGRlZCAnZGF0ZSBhbmQgdGltZSBwaWNrZXInIGFuZCAnbW9udGggY2FsZW5kYXInIGNvbnRyb2wKKwlkdW1taWVzLiBUaGV5IGFyZSB1c2VkIGJ5IE91dGxvb2sgRXhwcmVzcy4KKworU2F0IE5vdiAgNyAxMjo1NjozMiAxOTk4ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBvYmplY3RzL2VuaG1ldGFmaWxlLmMsIHJlbGF5MzIvZ2RpMzIuc3BlYywgaW5jbHVkZS93aW5kb3dzLmg6CisJQ2hhcmxlcyBTdXByaW4gPGNzdXByaW5AbHlueC5kYWMubmV1LmVkdT4KKwlBZGRlZCBzdHVicyBmb3IgU2V0V2luTWV0YUZpbGVCaXRzIGFuZCBHZXRFbmhNZXRhRmlsZVBhbGV0dGVFbnRyaWVzLgorCisJKiBncmFwaGljcy94MTFkcnYvZ3JhcGhpY3MuYzoKKwlIdXcgRCBNIERhdmllcyA8ZGF2aWVzaEBhYmFjdXMucGh5c2ljcy5veC5hYy51az4KKwlTdG9wIFgxMURSVl9Sb3VuZFJlY3QgY2FsbGluZyBYRHJhd0FyYyB3aXRoIC12ZSB3aWR0aC9oZWlnaHQgcGFyYW1zCisJd2hpY2ggaXQgZGlkIGlmIGVpdGhlciBlbGxpcHNlIGRpbWVuc2lvbiB3YXMgemVyby4KKworCSogZ3JhcGhpY3MvcGFpbnRpbmcuYzogSHV3IEQgTSBEYXZpZXMgPGRhdmllc2hAYWJhY3VzLnBoeXNpY3Mub3guYWMudWs+CisJT3B0aW1pemUgUm91bmRSZWN0MzIgdG8gY2FsbCBSZWN0YW5nbGUzMiBpZiBlaXRoZXIgZWxsaXBzZSBkaW1lbnNpb24KKwlpcyB6ZXJvLgorCisJKiByZWxheTMyL21wci5zcGVjLCBtaXNjL25ldHdvcmsuYzoKKwlBbmRyZWFzIE1vaHIgPG1vaHJAZWxla3Ryb24uaWtwLnBoeXNpay50dS1kYXJtc3RhZHQuZGU+CisJQWRkZWQgc3R1YiBXTmV0RW51bUNhY2hlZFBhc3N3b3Jkcy4KKworCSogbXNkb3MvaW50MjEuYywgbXNkb3MvaW50MjUuYzoKKwlBbmRyZWFzIE1vaHIgPG1vaHJAZWxla3Ryb24uaWtwLnBoeXNpay50dS1kYXJtc3RhZHQuZGU+CisJTWFkZSB0aGlzIGZpbGUgRE9TTU9EIGZyaWVuZGx5LgorCisJKiBsb2FkZXIvbmUvc2VnbWVudC5jLCBsb2FkZXIvcGVfaW1hZ2UuYzoKKwlBbmRyZWFzIE1vaHIgPG1vaHJAZWxla3Ryb24uaWtwLnBoeXNpay50dS1kYXJtc3RhZHQuZGU+CisJVW5pZmllZCAiTm8gaW1wbGVtZW50YXRpb24gZm9yLi4uIiB3YXJuaW5ncy4KKworCSogd2luMzIvZGV2aWNlLmM6IE1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCW1vbm9kZWJnLnZ4ZCB1c2VkIGJ5IHNvbWUgT3JpZ2luIHByb2dyYW1zIGltcGxlbWVudGVkLgorCisJKiBvYmplY3RzL2JpdG1hcC5jOgorCVV3ZSBCb25uZXMgPGJvbkBlbGVrdHJvbi5pa3AucGh5c2lrLnR1LWRhcm1zdGFkdC5kZT4KKwlGYWlsIGlmIGxlc3MgdGhlbiBvbmUgZW50aXJlIGxpbmUgcmVxdWVzdGVkIGluIEdldEJpdG1hcEJpdHMzMi4KKworCSogd2luZG93cy93aW5wcm9jLmM6IFJlaW4gS2xhemVzIDxya2xhemVzQGNhc2VtYS5uZXQ+CisJQWRkZWQgV01fR0VURExHQ09ERSBoYW5kbGluZyBpbiAoVW4pTWFwTXNnMzJBdG8xNi4KKworCSogaWYxNjMyL2NvbXBvYmouc3BlYywgaW5jbHVkZS9vbGUuaCwgb2xlL2NvbXBvYmouYywgcmVsYXkzMi9vbGUzMi5zcGVjOgorCUpvaG4gUmljaGFyZHNvbiA8anJpY2hhcmRAemVhbGFuZC5tdi5jb20+CisJSW1wbGVtZW50YXRpb24gb2YgQ29Mb2FkTGlicmFyeSwgQ29GcmVlQWxsTGlicmFyaWVzLAorCUNvRnJlZVVudXNlZExpYnJhcmllcywgQ29GcmVlTGlicmFyeS4KKwlGaXhlZCBtaXNzcGVsbGluZyBvZiBDb1VuaW5pdGlhbGl6ZS4KKworCSogcHJvZ3JhbXMvY2xvY2svQ2hhbmdlTG9nLCBwcm9ncmFtcy9jbG9jay9tYWluLmM6CisJUm9iZXJ0IFBvdWxpb3QgPGtyeW5vc0BjbGljLm5ldD4KKwlGaXhlcyBmb3Igb3RoZXIgbGFuZ3VhZ2VzLgorCitGcmkgTm92ICA2IDE3OjM2OjEzIDE5OTggIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIG1pc2MvcmVnaXN0cnkuYzogSm9obiBSaWNoYXJkc29uIDxqcmljaGFyZEB6ZWFsYW5kLm12LmNvbT4KKwlGaXggd2lkZSBjaGFyYWN0ZXIgZnVuY3Rpb25zIHRvIHJldHVybiBjaGFyYWN0ZXIgY291bnQgaW4gY2hhcmFjdGVyCisJcXVhbnRpdGllcyBub3QgYnl0ZSBxdWFudGl0aWVzLiAgTWFrZSBSZWdRdWVyeUluZm9LZXkgYW5kCisJUmVnUXVlcnlJbmZvS2V5IGJlaGF2ZSBjb3JyZWN0bHkgaW4gd2luOTUgbW9kZS4KKworCSogaW5jbHVkZS9kaW5wdXQuaCwgd2luZG93cy9kaW5wdXQuYzoKKwlMaW9uZWwgVWxtZXIgPHVsbWVyQGRpcmVjdHByb3ZpZGVyLm5ldD4KKwlDaGFuZ2VkIG1vdXNlIGJ1dHRvbiBtYXBwaW5nIGFuZCBjaGVjayBzaXplIG9mIHJldHVybiBidWZmZXIuCisKKwkqIG9iamVjdHMvY2xpcHBpbmcuYzogUmVpbiBLbGF6ZXMgPHJrbGF6ZXNAY2FzZW1hLm5ldD4KKwlFeHRTZWxlY3RDbGlwUmduKCkgd2l0aCBSR05fQ09QWSBjb3BpZXMgdGhlIHdyb25nIHJlZ2lvbi4KKworCSogZmlsZXMvZmlsZS5jOiBVd2UgQm9ubmVzIDxib25AZWxla3Ryb24uaWtwLnBoeXNpay50dS1kYXJtc3RhZHQuZGU+CisJRml4ZWQgYW4gZXJyb3IgaW4gdGhlIGltcGxlbWVudGF0aW9uIG9mIEZJTEVfU2hhcmVEZW55LgorCisJKiBzY2hlZHVsZXIvaGFuZGxlLmMsIGlmMTYzMi90aHVuay5jLCBpbmNsdWRlL2RlYnVndG9vbHMuaCwgaW5jbHVkZS9zaWdfY29udGV4dC5oLCBtdWx0aW1lZGlhL21tc3lzdGVtLmM6CisJTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJU29sYXJpcyByZWRlZmluZXMgRVJSIGFuZCBDUywgZml4ZWQgb2NjdXJhbmNlcy4KKwlTb2xhcmlzIGhhcyBUUkFQTk8gaW4gaXRzIHNpZ2NvbnRleHQsIGFkZGVkIHRvIHNpZ19jb250ZXh0LmgKKworCSogaW5jbHVkZS9tbXN5c3RlbS5oLCBtdWx0aW1lZGlhL21taW8uYywgcmVsYXkzMi93aW5tbS5zcGVjLCBpZjE2MzIvbW1zeXN0ZW0uc3BlYzoKKwlFcmljIFBvdWVjaCA8RXJpYy5Qb3VlY2hAd2FuYWRvby5mcj4KKwlNYWRlIG1taW9TZXRCdWZmZXIgY2FsbGFibGUgZnJvbSAxNiBhbmQgMzIgYml0IGNvZGUuCisKKwkqIGNvbnRyb2xzL21lbnUuYzogSnVlcmdlbiBTY2htaWVkIDxqdWVyZ2VuLnNjaG1pZWRAbWV0cm9uZXQuZGU+CisJRml4ZWQgd3JvbmcgYXJnIHR5cGUuCisKKwkqIG9iamVjdHMvZGliLmMsIG9iamVjdHMvZ2Rpb2JqLmMsIGdyYXBoaWNzL3gxMWRydi9NYWtlZmlsZS5pbiwgZ3JhcGhpY3MveDExZHJ2L2RpYi5jLCBncmFwaGljcy94MTFkcnYvaW5pdC5jLCBpbmNsdWRlL3gxMWRydi5oOgorCUh1dyBEIE0gRGF2aWVzIDxkYXZpZXNoQGFiYWN1cy5waHlzaWNzLm94LmFjLnVrPgorCU1vdmVkIFgxMSBESUIgc3R1ZmYgdG8geDExZHJ2LgorCisJKiB3aW4zMi9jb2RlX3BhZ2UuYzoKKwlVd2UgQm9ubmVzIDxib25AZWxla3Ryb24uaWtwLnBoeXNpay50dS1kYXJtc3RhZHQuZGU+CisJVGhlIEFQSSBmb3IgV2lkZUNoYXJUb011bHRpQnl0ZSBzYXlzIHRoYXQgdGhlIHNyYy1zdHJpbmcgaGFzIG9ubHkgdG8gYmUKKwl0cmVhdGVkIGFzIE5VTEwtdGVybWluYXRlZCBpZiBzcmNsZW4gaXMgLTEuCisKKwkqIGluY2x1ZGUvd2luLmgsIHdpbmRvd3MvZXZlbnQuYywgd2luZG93cy93aW4uYzoKKwlPdmUgS2FhdmVuIDxvdmVrQGFyY3RpY25ldC5ubz4KKwlNYWRlIHN1cmUgQ29uZmlndXJlTm90aWZ5IGlzIHByb2Nlc3NlZCBiZWZvcmUgRXhwb3NlLCBkZWZlcnJpbmcgdGhlCisJRXhwb3NlIGV2ZW50IGlmIG5lY2Vzc2FyeSwgdGh1cyB3b3JraW5nIGFyb3VuZCBhIFdNIGZsYXcgd2l0aCB2aXJ0dWFsCisJZGVza3RvcCBzY3JvbGxpbmcgaW4gLW1hbmFnZWQgbW9kZS4KKworCSogcmVzb3VyY2VzL3N5c3Jlc19Gci5yYzogRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQGxlbWVsLmZyPgorCVRyYW5zbGF0ZWQgaW4gRnJlbmNoIChub3Qgc28gZ29vZCBhbnlob3cpIG1lc3NhZ2UgZm9yIHRoZSBtYXJrIG9uCisJc3lzdGVtIG1lbnUuCisKKwkqIG1pc2MvbWFpbi5jOiBKdWVyZ2VuIFNjaG1pZWQgPGp1ZXJnZW4uc2NobWllZEBtZXRyb25ldC5kZT4KKwlDaGFuZ2VkIHRoZSBkZWZhdWx0IGZyb20gMCB0byAweDQwOSAoZW5nLXVzKS4KKworCSogd2luZG93cy9tZGkuYzogTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJVHdvIG1pc3NpbmcgV0lOQVBJcy4KKworCSogaW5jbHVkZS9pbnRlcmZhY2VzLmg6IEp1ZXJnZW4gU2NobWllZCA8anVlcmdlbi5zY2htaWVkQG1ldHJvbmV0LmRlPgorCUZpeGVkIG9uZSB3cm9uZyBwYXJhbWV0ZXIuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmluOiBPdmUgS2FhdmVuIDxvdmVrQGFyY3RpY25ldC5ubz4KKwlGaXhlZCAtLWRpc2FibGUtbGliLgorCitUaHUgTm92ICA1IDEwOjMzOjE4IDE5OTggIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGluY2x1ZGUvY29tbWN0cmwuaDogSnVlcmdlbiBTY2htaWVkIDxqdWVyZ2VuLnNjaG1pZWRAbWV0cm9uZXQuZGU+CisJQ29uc3RhbnRzIGZvciBjb250cm9scyBpbiBjb21tb24gZGlhbG9ncy4KKworV2VkIE5vdiAgNCAxODowODozMyAxOTk4ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBtaXNjL2NydGRsbC5jOiBKdWVyZ2VuIFNjaG1pZWQgPGp1ZXJnZW4uc2NobWllZEBtZXRyb25ldC5kZT4KKwlGaXhlZCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzLgorCitTdW4gTm92ICAxIDE5OjI3OjI0IDE5OTggIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIHdpbmRvd3MvbWVzc2FnZS5jLCB3aW5kb3dzL25vbmNsaWVudC5jLCB3aW5kb3dzL3BhaW50aW5nLmMsIHdpbmRvd3Mvd2luaGVscC5jLCB3aW5kb3dzL3dpbnBvcy5jLCBtaXNjL2NvbW1kbGcuYywgbWlzYy9zaGVsbC5jLCBtaXNjL3dpbnNvY2suYywgbWlzY2VtdS9pbnN0ci5jLCBtdWx0aW1lZGlhL2F1ZGlvLmMsIG11bHRpbWVkaWEvam95c3RpY2suYywgb2JqZWN0cy9iaXRtYXAuYywgb2JqZWN0cy9jbGlwcGluZy5jLCBvYmplY3RzL2NvbG9yLmMsIG9iamVjdHMvY3Vyc29yaWNvbi5jLCBvYmplY3RzL2RpYi5jLCB0b29scy93cmMvZHVtcHJlcy5jLCB0b29scy93cmMvcGFyc2VyLmwsIHdpbmRvd3MvY2xpcGJvYXJkLmMsIHdpbmRvd3MvbWRpLmMsIGZpbGVzL2ZpbGUuYywgZ3JhcGhpY3MveDExZHJ2L3hmb250LmMsIG1lbW9yeS9oZWFwLmM6CisJSmVzcGVyIFNrb3YgPGpza292QGN5Z251cy5jby51az4KKwllZ2NzICdhbWJpZ3VvdXMgZWxzZScgd2FybmluZ3MgZml4ZXMuCisKKwkqIGluY2x1ZGUvdG9vbGhlbHAuaCwgaW5jbHVkZS93aW5kb3dzLmgsIHNjaGVkdWxlci9wcm9jZXNzLmM6CisJSHV3IEQgTSBEYXZpZXMgPGRhdmllc2hAYWJhY3VzLnBoeXNpY3Mub3guYWMudWs+CisJR2V0IHJpZCBvZiB0aGUgcmVkZWZpbml0aW9uIG9mIE1BWF9QQVRIIGFuZCBtb3ZlIFBST0NFU1NFTlRSWTMyCisJZGVmaW5pdGlvbiB0byB0b29saGVscC5oLgorCisJKiB3aW5kb3dzL3dpbi5jLCBpbmNsdWRlL3BlX2ltYWdlLmgsIGxpYnJhcnkvd2luZXN0dWIuYywgbG9hZGVyL2VsZi5jLCBsb2FkZXIvbW9kdWxlLmMsIGxvYWRlci9yZXNvdXJjZS5jLCBtaXNjL2NhbGxiYWNrLmM6CisJVWxyaWNoIFdlaWdhbmQgPHdlaWdhbmRAaW5mb3JtYXRpay51bmktZXJsYW5nZW4uZGU+CisJUnVuIFdpbmVsaWIgYXBwbGljYXRpb25zIGFzIDMyLWJpdCBwcm9jZXNzZXMgaW4gdGhlIGluaXRpYWwgdGFzay4KKwlTaW1wbGlmaWVkL3JlbW92ZWQgc2V2ZXJhbCBzcGVjaWFsICdpZiAoX193aW5lbGliKScgY2FzZXMgaW4KKwlXaW5lIG1haW4gY29kZSBvYnNvbGV0ZWQgYnkgdGhhdCBjaGFuZ2UuCisKKwkqIHdpbmRvd3MvZXZlbnQuYzogVWxyaWNoIFdlaWdhbmQgPHdlaWdhbmRAaW5mb3JtYXRpay51bmktZXJsYW5nZW4uZGU+CisJQ2FsbCBtb3VzZSBkcml2ZXIgY2FsbGJhY2sgYWxzbyBpZiB3aW5kb3dzIGFyZSBub3QgcmVnaXN0ZXJlZCB3aXRoIFgKKwkoaWYgdXNpbmcgbmF0aXZlIFVTRVIuRVhFKS4KKworCSogbWVtb3J5L2F0b20uYywgaW5jbHVkZS9hdG9tLmg6CisJVWxyaWNoIFdlaWdhbmQgPHdlaWdhbmRAaW5mb3JtYXRpay51bmktZXJsYW5nZW4uZGU+CisJQWRhcHRlZCB0byBzZXBhcmF0aW9uIGJldHdlZW4gS0VSTkVMIGFuZCBVU0VSLgorCisJKiBpZjE2MzIvYnVpbHRpbi5jLCBpbmNsdWRlL21haW4uaCwgbG9hZGVyL21haW4uYywgbG9hZGVyL3Rhc2suYywgbWlzY2VtdS9tYWluLmMsIHJlbGF5MzIvZ2RpMzIuc3BlYywgcmVsYXkzMi9rZXJuZWwzMi5zcGVjLCByZWxheTMyL3VzZXIzMi5zcGVjLCBzY2hlZHVsZXIvcHJvY2Vzcy5jOgorCVVscmljaCBXZWlnYW5kIDx3ZWlnYW5kQGluZm9ybWF0aWsudW5pLWVybGFuZ2VuLmRlPgorCUltcGxlbWVudGVkIG5ldyBXaW5lIHN0YXJ0dXAgc2VxdWVuY2UsIHNlcGFyYXRpbmcgc3RhcnR1cCBpbnRvCisJS0VSTkVML1VTRVIvR0RJIHJlbGF0ZWQgcGFydHMsIGFsbG93aW5nIG5hdGl2ZSByZXBsYWNlbWVudC4KKwlJbXBsZW1lbnRlZCBpbml0aWFsICdrZXJuZWwnIHRhc2suCisKKwkqIGluY2x1ZGUvb2xlLmgsIGluY2x1ZGUvd2luZXJyb3IuaCwgb2xlL2NvbXBvYmouYzoKKwlKb2huIFJpY2hhcmRzb24gPGpyaWNoYXJkQHplYWxhbmQubXYuY29tPgorCUltcGxlbWVudGF0aW9uIG9mIElucHJvY1NlcnZlcjMyIENvR2V0Q2xhc3NPYmplY3QuCisKKwkqIGluY2x1ZGUvYml0bWFwLmgsIG9iamVjdHMvYml0bWFwLmMsIG9iamVjdHMvY3Vyc29yaWNvbi5jLCBvYmplY3RzL29lbWJpdG1hcC5jLCBncmFwaGljcy94MTFkcnYvYml0bWFwLmM6CisJSHV3IEQgTSBEYXZpZXMgPGRhdmllc2hAYWJhY3VzLnBoeXNpY3Mub3guYWMudWs+CisJTW9yZSBiaXRtYXAgZml4ZXMuCisKKwkqIHdpbmRvd3Mvd2lucHJvYy5jOiBGaXhlZCBjcmFzaGVzIHdpdGggV01fR0VURExHQ09ERSB0cmFuc2xhdGlvbi4KKworCSogcHJvZ3JhbXMvd2luaGVscC9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvd2ludmVyL01ha2VmaWxlLmluLCB3aW5kb3dzL3dpbi5jLCB3aW5kb3dzL3gxMWRydi8uY3ZzaWdub3JlLCB3aW5kb3dzL3gxMWRydi9NYWtlZmlsZS5pbiwgd2luZG93cy94MTFkcnYvaW5pdC5jLCBpbmNsdWRlL2NvbmZpZy5oLmluLCBpbmNsdWRlL3dpbi5oLCBsaWJ0ZXN0L01ha2VmaWxlLmluLCBwcm9ncmFtcy9jbG9jay9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvY29udHJvbC9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvbm90ZXBhZC9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvcHJvZ21hbi9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvcmVndGVzdC9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvdmlldy9NYWtlZmlsZS5pbiwgTWFrZS5ydWxlcy5pbiwgTWFrZWZpbGUuaW4sIGNvbmZpZ3VyZSwgY29uZmlndXJlLmluLCBpbmNsdWRlL2FjY29uZmlnLmg6CisJUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJU3RhcnRlZCBtb3Zpbmcgc29tZSBYMTEgd2luZG93IG1hbmFnZW1lbnQgY29kZSB0byB3aW5kb3dzL3gxMWRydi4KKworCSogaWYxNjMyL3VzZXIuc3BlYywgd2luZG93cy9kaWFsb2cuYywgd2luZG93cy93aW5wcm9jLmM6CisJT3ZlIEthYXZlbiA8b3Zla0BhcmN0aWNuZXQubm8+CisJRml4ZWQgSXNEaWFsb2dNZXNzYWdlMTYuCisKKwkqIE1ha2VmaWxlLmluOiBEb3VnbGFzIFJpZGd3YXkgPHJpZGd3YXlAd2luZWhxLmNvbT4KKwlUZWxsIHBlb3BsZSB0byBpZ25vcmUgdGhlICdnZXRzJyB3YXJuaW5nLiBTb21lIHdpbGwgbGlzdGVuLgorCisJKiBncmFwaGljcy94MTFkcnYvYml0bWFwLmMsIHdpbmRvd3MvZ3JhcGhpY3MuYzoKKwlIdXcgRCBNIERhdmllcyA8ZGF2aWVzaEBhYmFjdXMucGh5c2ljcy5veC5hYy51az4KKwlBIGNvdXBsZSBvZiBzbWFsbCBmaXhlcyB0byBteSBiaXRtYXAgcGF0Y2guCisKKwkqIHJlc291cmNlcy9UT0RPLCByZXNvdXJjZXMvc3lzcmVzX0RlLnJjLCByZXNvdXJjZXMvc3lzcmVzX0VuLnJjLCB3aW5kb3dzL25vbmNsaWVudC5jOgorCVV3ZSBCb25uZXMgPGJvbkBlbGVrdHJvbi5pa3AucGh5c2lrLnR1LWRhcm1zdGFkdC5kZT4KKwlBbGxvdyB0aGUgdXNlciB0byBwdXQgYSBtYXJrIGluIHRoZSBkZWJ1ZyBsb2cgYnkgYWRkaW5nIGEgaXRlbSBpbiB0aGUKKwlTWVNNRU5VLiBUaGUgbWVzc2FnZXMgbmVlZHMgaW1wbGVtZW50YXRpb24gaW4gYWxsIG90aGVyIGxhbmd1YWdlcyB0aGFuCisJRW5nbGlzaCBhbmQgR2VybWFuLgorCisJKiBmaWxlcy9maWxlLmM6IFV3ZSBCb25uZXMgPGJvbkBlbGVrdHJvbi5pa3AucGh5c2lrLnR1LWRhcm1zdGFkdC5kZT4KKwlHaXZlIHRlbXBmaWxlIGEgZGlmZmVyZW50IG5hbWUgZXZlbiBpZiB0aGV5IGFyZSBjcmVhdGVkIGluIHRoZSBzYW1lCisJc2Vjb25kLiBSZW1vdmVkIHNvbWUgZml4bWVzIGZyb20gdGhlIFNoYXJlRGVueSBzdHVmZi4KKworCSogaW5jbHVkZS9tZGkuaCwgaW5jbHVkZS93aW5kb3dzLmgsIHJlbGF5MzIvdXNlcjMyLnNwZWMsIHdpbmRvd3MvbWRpLmMsIHdpbmRvd3Mvd2luLmM6CisJUmVpbiBLbGF6ZXMgPHJrbGF6ZXNAY2FzZW1hLm5ldD4KKwlDcmVhdGVXaW5kb3dFeDMyW0FXXSBub3cgY3JlYXRlcyBhbiBNREkgY2hpbHMgd2hlbiB0aGUgV01fRVhfTURJQ0hJTEQKKwlleHRlbmRlZCBzdHlsZSBpcyBzcGVjaWZpZWQuIEFsc28gaW1wbGVtZW50ZWQgQ3JlYXRlTURJV2luZG93MzJBKCkKKwljYWxsIC0gc2luZ2xlIHRocmVhZCBvbmx5IC0uCisKKwkqIGRsbHMvY29tY3RsMzIvdHJlZXZpZXcuYzogTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJRXJyZWQgaW4gdGhlIGJpdCBtYWNyb3MgaW4gdHJlZXZpZXcuYy4gU2hpZnRjb3VudHMgd2VyZSB3cm9uZy4KKworCSogbG9hZGVyL3BlX2ltYWdlLmM6IE1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCURldGVjdGlvbiBvZiB0aGUgZW5kIG9mIGltcG9ydHMgd2l0aCBDaGFyYWN0ZXJpc3RpY3MgMCBmYWlsIGZvciBCb3JsYW5kCisJcHJvZ3JhbXMgKHdoaWNoIHNlZW0gdG8gaGF2ZSBhbHdheXMgY2hhcmFjdGVyaXN0aWNzIDApLiBDaGFuZ2VkIHRvIGFsZ29yaXRobQorCXRvIHNvbWV0aGluZyBhIGJpdCBtb3JlIGludGVsbGlnZW50LgorCisJKiBvbGUvY29tcG9iai5jLCByZWxheTMyL29sZTMyLnNwZWM6IE92ZSBLYWF2ZW4gPG92ZWtAYXJjdGljbmV0Lm5vPgorCUFkZGVkIENvRnJlZUxpYnJhcnkgc3R1Yi4KKworCSogUkVBRE1FOiBVcGRhdGVkIEZBUSBsb2NhdGlvbi4KKworCSogZ3JhcGhpY3MvZXNjYXBlLmM6IEh1dyBEIE0gRGF2aWVzIDxkYXZpZXNoQGFiYWN1cy5waHlzaWNzLm94LmFjLnVrPgorCUltcGxlbWVudCBTRUdQVFIgY29udmVyc2lvbiBmb3IgU1RBUlRET0MgaW4gRXNjYXBlMzIoKS4KKworCSogb2JqZWN0cy9kYy5jOiBVbHJpY2ggV2VpZ2FuZCA8d2VpZ2FuZEBpbmZvcm1hdGlrLnVuaS1lcmxhbmdlbi5kZT4KKwlCdWdmaXg6IFNldERDU3RhdGUgZGlkIG5vdCByZXNldCBjbGlwcGluZyByZWdpb24gdG8gZW1wdHkuCisKKwkqIHdpbjMyL2luaXQuYzogTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJRml4ZWQgc21hbGwgb2ZmIGJ5IG9uZSBlcnJvciBpbiBHZXRDb21wdXRlck5hbWUzMlcsIGFsd2F5cyBraWxsZWQgdGhlCisJbGFzdCBjaGFyYWN0ZXIgb2YgYSBob3N0bmFtZS4KKworCSogb2JqZWN0cy9kaWIuYzogTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJRG9uJ3QgSGVhcEZyZWUoKSBjb2xvcm1hcCBpZiB3ZSBkaWRuJ3QgYWxsb2NhdGUgb25lLgorCisJKiB3aW4zMi9hZHZhcGkuYywgd2luZG93cy9tZXNzYWdlLmMsIHdpbmRvd3MvdXNlci5jLCBkbGxzL3NoZWxsMzIvc2hlbGxvcmQuYywgaW5jbHVkZS93aW50eXBlcy5oLCBtaXNjL2NydGRsbC5jLCBtaXNjL3ByaW50ZHJ2LmMsIHJlbGF5MzIvYWR2YXBpMzIuc3BlYywgcmVsYXkzMi9jcnRkbGwuc3BlYywgcmVsYXkzMi9tcHIuc3BlYywgcmVsYXkzMi9zaGVsbDMyLnNwZWMsIHJlbGF5MzIvdXNlcjMyLnNwZWMsIHJlbGF5MzIvd2luc3Bvb2wuc3BlYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlBZGRlZCBzdHVicyBmb3IgdXNlcjMyLGFkdmFwaTMyIGZ1bmN0aW9ucy4KKworCSogTWFrZWZpbGUuaW4sIGNvbmZpZ3VyZSwgY29uZmlndXJlLmluLCBkbGxzL01ha2VmaWxlLmluLCBkbGxzL250ZGxsLyosIGluY2x1ZGUvbnRkbGwuaCwgbWlzYy9BdHRpYy9udGRsbC5jLCBtaXNjL01ha2VmaWxlLmluLCByZWxheTMyL250ZGxsLnNwZWM6CisJTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJTW9yZSBOdCogYW5kIFJ0bCogZnVuY3Rpb24gc3R1YnMsIG1vdmVkIG50ZGxsLmMgdG8gZGxscy9udGRsbC8uCisKKwkqIG1lbW9yeS9sb2NhbC5jLCBtZW1vcnkvaGVhcC5jOiBBbmRyZWFzIE1vaHIgPGEubW9ockBtYWlsdG8uZGU+CisJQ2hhbmdlZCBtYW55IFdBUk4oKXMgcmVsYXRlZCB0byBpbnRlcm5hbCBXaW5lIG1lbW9yeSBmYWlsdXJlcyB0bworCUVSUigpcy4KKworCSogaWYxNjMyL2tlcm5lbC5zcGVjLCBzY2hlZHVsZXIvcHJvY2Vzcy5jOgorCUFuZHJlYXMgTW9ociA8YS5tb2hyQG1haWx0by5kZT4KKwlBZGRlZCAuc3BlYyBlbnRyeSBmb3IgS0VSTkVMLlJlZ2lzdGVyU2VydmljZVByb2Nlc3MuCisKKwkqIGlmMTYzMi9kaXNwbGF5LnNwZWMsIHdpbmRvd3Mva2V5Ym9hcmQuYzoKKwlBbmRyZWFzIE1vaHIgPGEubW9ockBtYWlsdG8uZGU+CisJQWRkZWQgc3R1YiBmb3IgQ2hlY2tDdXJzb3IoKS4KKworCSogaW5jbHVkZS9kaWFsb2cuaCwgd2luZG93cy9kZWZkbGcuYzogVGltIE5ld3NvbWUgPG51aXNhbmNlQGNtdS5lZHU+CisJRml4IGZvciBub24tbW9kYWwgZGlhbG9nIGNsb3NpbmcuCisKKwkqIHdpbmRvd3MvZGlucHV0LmM6IERhdmlkIEZhdXJlICA8ZmF1cmVAa2RlLm9yZz4KKwlSZXdyb3RlIHRoZSB0d28gcm91dGluZXMgdXNpbmcgdGhlIHZrZXktPnNjYW5jb2RlIGFycmF5IHRvIHVzZQorCWtleWMydmtleSBmb3IgZWFjaCBrZXljb2RlLCBpbnN0ZWFkLiBOb3QgdGVzdGVkLgorCVJlbW92ZWQgdW51c2VkIElEaXJlY3RJbnB1dERldmljZUFfR2V0RGV2aWNlU3RhdGUuCisJRml4ZWQgd2FybmluZyBpbiBUUkFDRSgpIGNhbGwuCisKKwkqIHdpbmRvd3Mva2V5Ym9hcmQuYzogRGF2aWQgRmF1cmUgPGZhdXJlQGtkZS5vcmc+CisJRGVsZXRlZCB0aGUgdmtleS0+c2FuY29kZSBhcnJheSwgYmVjYXVzZSBRV0VSVFkgc3BlY2lmaWMuCisJQmFjayB0byB1c2luZyB0aGUgWCBrZXljb2RlIGluc3RlYWQgYXMgdGhlIHNjYW5jb2RlLiBUZXN0ZWQuCisKKwkqIGdyYXBoaWNzL3BzZHJ2L2luaXQuYzoKKwlIdXcgRCBNIERhdmllcyA8ZGF2aWVzaEBhYmFjdXMucGh5c2ljcy5veC5hYy51az4KKwlQcmludCBhIG1lc3NhZ2UgaWYgdGhlIFBvc3RTY3JpcHQgZHJpdmVyIGNhbid0IGZpbmQgYSBQUEQgZmlsZS4KKworCSogbXNkb3MvaW50MTAuYzogT3ZlIEthYXZlbiA8b3Zla0BhcmN0aWNuZXQubm8+CisJQWRkZWQgVkdBIDI1Ni1jb2xvciBtb2RlIDB4MTMgdXNpbmcgdGhlIERpc3BsYXlEaWIgVkdBIGVtdWxhdGlvbi4KKwkoRE9TIGFwcHMvZ2FtZXMgdXNpbmcgdGhpcyBtb2RlIGNvbWVzIHVwIG5vdywgYWx0aG91Z2ggeW91IGNhbid0CisJcmVhbGx5IGRvIGFueXRoaW5nIHdpdGggdGhlbSAoeWV0PykuKQorCisJKiBtc2Rvcy9kcG1pLmM6IE92ZSBLYWF2ZW4gPG92ZWtAYXJjdGljbmV0Lm5vPgorCVVzZSBtYWNybyBWODZfRkxBRy4KKworCSogbXNkb3MvZG9zbWVtLmM6IE92ZSBLYWF2ZW4gPG92ZWtAYXJjdGljbmV0Lm5vPgorCVNldCBkZWZhdWx0IHZpZGVvIG1vZGUgdG8gMyAoODB4MjUgY29sb3IpLgorCisJKiBsb2FkZXIvZG9zL2Rvc21vZC5jOiBPdmUgS2FhdmVuIDxvdmVrQGFyY3RpY25ldC5ubz4KKwlJZ25vcmVzIGEgY291cGxlIG9mIHNpZ25hbHMuCisKKwkqIGdyYXBoaWNzL01ha2VmaWxlLmluLCBncmFwaGljcy9kaXNwZGliLmMsIGdyYXBoaWNzL3ZnYS5jLCBpbmNsdWRlL3ZnYS5oLCBtc2Rvcy9pb3BvcnRzLmM6CisJT3ZlIEthYXZlbiA8b3Zla0BhcmN0aWNuZXQubm8+CisJTW92ZWQgVkdBLWVtdWxhdGluZyBEaXJlY3RYIGNvZGUgZnJvbSBkaXNwZGliLmMgdG8gYSBzZXBhcmF0ZQorCWZpbGUuIE1hZGUgaXQgdXNlIGEgc3lzdGVtIHRpbWVyIGFuZCB0cmFwIEkvTyBhY2Nlc3NlcyB0byB0aGUgVkdBCisJREFDIHJlZ2lzdGVycyB0byBhY2NvbW1vZGF0ZSBEaXNwbGF5RGliLXVzaW5nIHByb2dyYW1zIHRoYXQgdHJ5IHRvCisJYWNjZXNzIHRoZSBWR0EgaGFyZHdhcmUgZGlyZWN0bHkuCisKKwkqIG1pc2NlbXUvaW5zdHIuYywgaWYxNjMyL3NpZ25hbC5jLCBpbmNsdWRlL2Rvc2V4ZS5oLCBsb2FkZXIvZG9zL2Rvc3ZtLmMsIGxvYWRlci9kb3MvbW9kdWxlLmMsIG1pc2Mvc3lzdGVtLmM6CisJT3ZlIEthYXZlbiA8b3Zla0BhcmN0aWNuZXQubm8+CisJSW5kaXJlY3Rpb24gZm9yIElOU1RSX0VtdWxhdGVJbnN0cnVjdGlvbiBmb3IgdXNlIGJ5IERPUyBjb2RlLgorCUFkZGVkIHN1cHBvcnQgZm9yIGEgNTVIeiBzeXN0ZW0gdGltZXIsIGxldHRpbmcgRE9TIGFwcHMgY2FsaWJyYXRlCisJdGhlaXIgZGVsYXkgbG9vcHMgYW5kIHN1Y2guIENhbGxzIElOU1RSX0VtdWxhdGVJbnN0cnVjdGlvbiBmb3IKKwlpbnN0cnVjdGlvbiBlbXVsYXRpb24gKHByaW5jaXBhbGx5IEkvTyBwb3J0IGFjY2VzcykuIEFkZGVkIG1hY3JvCisJVjg2X0ZMQUcuCisKK1NhdCBPY3QgMzEgMTI6MjA6NTYgMTk5OCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogd2luZG93cy9kaW5wdXQuYywgbXVsdGltZWRpYS9kc291bmQuYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlTbWFsbCBmaXhlcy4KKworCSogbWVtb3J5L3ZpcnR1YWwuYzogTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJUmVtb3ZlZCB0aGUgRklYTUUoKSBhbmQgbW92ZWQgU2V0TGFzdEVycm9yKDApIHRvIHRoZSBlbmQgKHNvIHRoYXQKKwlHZXRUZW1wRmlsZU5hbWUgZXQuYWwuIGNhbid0IG92ZXJ3cml0ZSBpdCkuCisKKwkqIG1pc2MvQXR0aWMvbnRkbGwuYywgcmVsYXkzMi9udGRsbC5zcGVjLCByZWxheTMyL3JlbGF5Mzg2LmMsIHJlbGF5MzIvdXNlcjMyLnNwZWMsIHdpbmRvd3MvdXNlci5jOgorCU1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCUxvdHMgb2Ygc3R1YnMgdG8gZ2V0IHdpbmxvZ29uLmV4ZSBmcm9tIG50My41MSBhbmQgb3RoZXIgTlQzLjUxIGFwcGxldHMKKwlhIGJpdCBmdXJ0aGVyLgorCisJKiB3aW5kb3dzL21kaS5jOiBSZWluIEtsYXplcyA8cmtsYXplc0BjYXNlbWEubmV0PgorCU1ESWNoaWxkIGNyZWF0ZWQgd2hlbiB0aGUgTURJIGNsaWVudCBoYXMgdGhlIE1ESVNfQUxMQ0hJTERTVFlMRVMKKwlzdHlsZSwgc2hvdWxkIG5vdCBiZSBzaG93biBhdCBjcmVhdGlvbiBub3IgYWN0aXZhdGVkIHVubGVzcyB0aGUKKwlXU19WSVNJQkxFIGZsYWcgaXMgc2V0LgorCisJKiBsb2FkZXIvcGVfaW1hZ2UuYzogU3RlcGhlbiBMYW5nYXNlayA8dm9ybG9uQGRvZGRzLm5ldD4KKwlCdWdmaXggZm9yIGZpeHVwX2ltcG9ydHM6IEVuYWJsZSBjaGVja2luZyBmb3IgdGVybWluYXRpbmcgaW1wb3J0CisJc3RydWN0IHdpdGggQ2hhcmFjdGVyaXN0aWNzIGJpdGZpZWxkIHNldCB0byAwLgorCisJKiB3aW5kb3dzL3dpbi5jOiBSZWluIEtsYXplcyA8cmtsYXplc0BjYXNlbWEubmV0PgorCURlbGF5IGxpbmtpbmcgbmV3bHkgY3JlYXRlZCB3aW5kb3cgaW4gbGlua2VkIGxpc3QgdW50aWwgYWZ0ZXIgdGhlCisJV01fTkNDUkVBVEUgbWVzc2FnZS4KKworCSogZmlsZXMvZmlsZS5jOiBSZWluIEtsYXplcyA8cmtsYXplc0BjYXNlbWEubmV0PgorCVNtYWxsIGJ1ZyBpbiBGSUxFX0luVXNlIGRvZXMgbm90IGRvIGEgcmVsZWFzZSBvbiBldmVyeSBhY3F1aXJlZCBmaWxlCisJcG9pbnRlci4KKworCSogY29udHJvbHMvc3RhdGljLmM6IE1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCWxwc3pOYW1lIG9mIE5VTEwgaXMgaGFuZGxlZCAocmVtb3ZlcyBzb21lIHdhcm5pbmdzKS4KKworCSogdG9vbHMvdGVzdHJ1bjogTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJTm93IGFsbG93cyBzcGVjaWZpY2F0aW9uIG9mIGEgc3RhcnQgZGlyZWN0b3J5IG9uIHRoZSBjbWRsaW5lLgorCisJKiBkbGxzL2NvbWN0bDMyL3RyZWV2aWV3LmM6IE1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCUdldHMgcmlkIG9mIHRoZSBhcmNoLWRlcGVuZGVudCBiaXQgb3BlcmF0aW9ucyAodGVzdGVkIG9uIExpbnV4IGFuZAorCVNvbGFyaXMveDg2KS4KKworV2VkIE9jdCAyOCAxNDo1ODowMiAxOTk4ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiB3aW5kb3dzL3dpbi5jOiBKdWVyZ2VuIFNjaG1pZWQgPGp1ZXJnZW4uc2NobWllZEBtZXRyb25ldC5kZT4KKwlBIGRlc3QgYnVmZmVyIHdhcyBwcmludGVkIG91dCBhcyBzdHJpbmcuCisKKwkqIGluY2x1ZGUvc2hsb2JqLmg6IEp1ZXJnZW4gU2NobWllZCA8anVlcmdlbi5zY2htaWVkQG1ldHJvbmV0LmRlPgorCUNvcnJlY3RlZCAyIHdyb25nIGRlZmluaXRpb25zLgorCisJKiBpbmNsdWRlL3dpbmRvd3MuaCwgcmVsYXkzMi9rZXJuZWwzMi5zcGVjLCBzY2hlZHVsZXIvcHJvY2Vzcy5jOgorCVBhdHJpY2sgU3BpbmxlciA8c3Bpbmxlci5wYXRyaWNrQG1heW8uZWR1PgorCUFkZGVkIHN0dWJzIGZvciBQcm9jZXNzMzJGaXJzdC9Qcm9jZXNzMzJOZXh0LgorCisJKiBpbmNsdWRlL3gxMWRydi5oLCBvYmplY3RzL2NsaXBwaW5nLmMsIG9iamVjdHMvZGMuYywgb2JqZWN0cy9kY3ZhbHVlcy5jLCBvYmplY3RzL3BhbGV0dGUuYywgb2JqZWN0cy9yZWdpb24uYywgZ3JhcGhpY3MvZXNjYXBlLmMsIGdyYXBoaWNzL21ldGFmaWxlZHJ2L2dyYXBoaWNzLmMsIGdyYXBoaWNzL3BhaW50aW5nLmMsIGdyYXBoaWNzL3BhdGguYywgZ3JhcGhpY3MvcHNkcnYvZ3JhcGhpY3MuYywgZ3JhcGhpY3Mvd2luMTZkcnYvZ3JhcGhpY3MuYywgZ3JhcGhpY3MveDExZHJ2L2dyYXBoaWNzLmMsIGluY2x1ZGUvZGVidWdnZXIuaCwgaW5jbHVkZS9nZGkuaCwgaW5jbHVkZS9tZXRhZmlsZWRydi5oLCBpbmNsdWRlL3BzZHJ2LmgsIGluY2x1ZGUvd2luMTZkcnYuaCwgaW5jbHVkZS93aW5kb3dzLmgsIGluY2x1ZGUvd2ludHlwZXMuaCwgZGVidWdnZXIvZGJnLnksIGRlYnVnZ2VyL21zYy5jLCBkZWJ1Z2dlci9zdGFicy5jLCBkZWJ1Z2dlci90eXBlcy5jOgorCUZyYW7nb2lzIEdvdWdldCA8Z291Z2V0QG1ldGFpbnRlZ3JhdGlvbi5uZXQ+CisJRml4ZWQgc29tZSBMUFBPSU5UL0xQU0laRSBtaXNtYXRjaGVzIGFuZCBzb21lIG1pc3NpbmcgImNvbnN0IiBpbiB0aGUKKwloZWFkZXJzIHByb3RvdHlwZXMuCisKKwkqIGdyYXBoaWNzL3BzZHJ2L2luaXQuYywgZ3JhcGhpY3Mvd2luMTZkcnYvaW5pdC5jLCBncmFwaGljcy94MTFkcnYvYml0bWFwLmMsIGdyYXBoaWNzL3gxMWRydi9icnVzaC5jLCBncmFwaGljcy94MTFkcnYvaW5pdC5jLCBncmFwaGljcy94MTFkcnYvb2JqZWN0cy5jLCBpbmNsdWRlL2JpdG1hcC5oLCBpbmNsdWRlL2dkaS5oLCBpbmNsdWRlL3gxMWRydi5oLCBvYmplY3RzL2JpdG1hcC5jLCBvYmplY3RzL2JydXNoLmMsIG9iamVjdHMvZGliLmMsIG9iamVjdHMvb2VtYml0bWFwLmMsIHdpbmRvd3MvZ3JhcGhpY3MuYywgZ3JhcGhpY3MvbWV0YWZpbGVkcnYvaW5pdC5jOgorCUh1dyBEIE0gRGF2aWVzIDxkYXZpZXNoQGFiYWN1cy5waHlzaWNzLm94LmFjLnVrPgorCUFkZGVkIHBCaXRtYXBCaXRzIGFuZCBwQ3JlYXRlQml0bWFwIHRvIHRoZSBHREkgZnVuY3Rpb24gdGFibGUgYW5kCisJbW92ZWQgdGhlIFgxMSBkZXBlbmRlbnQgc3R1ZmYgb3V0IG9mIG9iamVjdHMvYml0bWFwLmMgaW50byB4MTFkcnYuCisKKwkqIHJlbGF5MzIvc2hlbGwzMi5zcGVjLCBkbGxzL3NoZWxsMzIvc2hlbGxvbGUuYywgZGxscy9zaGVsbDMyL3NoZWxsb3JkLmMsIGluY2x1ZGUvc2hlbGwuaCwgZGxscy9zaGVsbDMyL3BpZGwuYzoKKwlKdWVyZ2VuIFNjaG1pZWQgPGp1ZXJnZW4uc2NobWllZEBtZXRyb25ldC5kZT4KKwlOZXcgU0hHZXRTaW1wbGVJRExpc3RGcm9tUGF0aDMyQVcuCisJVW5pY29kZS1zYWZlOiBQYXRoRmluZEZpbGVuYW1lMzJBVy4KKworCSogaW5jbHVkZS9zaGxvYmouaDogSnVzdGluIEJyYWRmb3JkIDxqdXN0aW5AYnVzYm95LnNwZWQudWthbnMuZWR1PgorCUlFeHRyYWN0SWNvbiBoYWQgYW4gZXh0cmEgYyBpbiBhIHN0cnVjdCBkZWZpbml0aW9uLgorCisJKiByZWxheTMyL2RwbGF5LnNwZWM6CisJSm9obiBSaWNoYXJkc29uIDxqcmljaGFyZEB6ZWFsYW5kLm12LnNwYW1sZXNzLmNvbT4KKwlBZGRlZCBlbnRyeSBmb3IgRGlyZWN0UGxheUVudW1lcmF0ZS4KKworCSogb2xlL25scy9za3kubmxzLCBvbGUvb2xlMm5scy5jOgorCUp1ZXJnZW4gU2NobWllZCA8anVlcmdlbi5zY2htaWVkQG1ldHJvbmV0LmRlPgorCUFkZGVkIFNsb3ZhayBubHMtcmVzb3VyY2VzLgorCisJKiBvYmplY3RzL3JlZ2lvbi5jOiBIdXcgRCBNIERhdmllcyA8ZGF2aWVzaEBhYmFjdXMucGh5c2ljcy5veC5hYy51az4KKwlGaXhlZCBkaWZmZXJlbmNlcyBiZXR3ZWVuIFNldFJlY3RSZ24xNiBhbmQgU2V0UmVjdFJnbjMyLiBBbHNvIGEgYnVnIGZpeCBmb3IKKwlDcmVhdGVSb3VuZFJlY3RSZ24uCisKK1R1ZSBPY3QgMjcgMTU6NDE6NTQgMTk5OCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogd2luZG93cy91c2VyLmM6IE1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCUVudW1EaXNwbGF5TW9kZXMqIHJldHVybnMgYSBzdGF0aWMgbGlzdCBvZiBtb2RlcyB3aXRoIGFsbCBkZXB0aHMKKwkoaGVscHMgaGV4ZW4yZGVtbyksIENoYW5nZURpc3BsYXlTZXR0aW5ncyByZXR1cm5zIHRydWUgYWxsIHRoZSB0aW1lLgorCisJKiBpbmNsdWRlL3dpbnR5cGVzLmgsIG11bHRpbWVkaWEvbW1zeXN0ZW0uYywgcmVsYXkzMi93aW5tbS5zcGVjOgorCU1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCVN0dWIgZm9yIG1pZGlPcGVuU3RyZWFtIChoZWxwcyBoZXhlbjJkZW1vKS4KKworCSogb2xlL25scy9lbmMubmxzLCBvbGUvbmxzL2ZyYy5ubHMsIHJlc291cmNlcy9zeXNyZXNfRnIucmM6CisJUm9iZXJ0IFBvdWxpb3QgPGtyeW5vc0BjbGljLm5ldD4KKwlTbWFsbCBwYXRjaCBmb3IgYmV0dGVyIEZyZW5jaCBzdXBwb3J0LgorCisJKiBsb2FkZXIvZWxmLmM6IFVscmljaCBXZWlnYW5kIDx3ZWlnYW5kQGluZm9ybWF0aWsudW5pLWVybGFuZ2VuLmRlPgorCUJ1Z2ZpeDogbWVtb3J5IG92ZXJ3cml0ZSBidWcuCisKK01vbiBPY3QgMjYgMTE6MDQ6MTMgMTk5OCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogY29udHJvbHMvZWRpdC5jLCB3aW5kb3dzL2NsaXBib2FyZC5jOiBQYXNjYWwgQ3VvcSA8cGN1b3FAZW5zLWx5b24uZnI+CisJMzItYml0IGNsaXBib2FyZCBzdXBwb3J0LgorCisJKiB3aW5kb3dzL3F1ZXVlLmM6IFVscmljaCBXZWlnYW5kIDx3ZWlnYW5kQGluZm9ybWF0aWsudW5pLWVybGFuZ2VuLmRlPgorCUJ1Z2ZpeCBmb3IgUVVFVUVfU2lnbmFsOiBBbHdheXMgdXNlIFBvc3RFdmVudCBpZiBubyB0aHJlYWQgaXMgd2FpdGluZworCW9uIHRoZSBxdWV1ZS4KKworCSogd2luZG93cy9tZGkuYzogTkYgU3RldmVucyA8bm9ybWFuQGFyY2FkeS51LW5ldC5jb20+CisJRml4ZWQgYSBtaW5vciBwcm9ibGVtIHdpdGggdGhlIG1lbnVzIGZvciBtZGkgY2hpbGQgd2luZG93cy4KKworCSogZ3JhcGhpY3MvZGRyYXcuYzogTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJUmVtb3ZlZCBubyBsb25nZXIgbmVjZXNzYXJ5IGNvbW1lbnRlZCBvdXQgY29kZSwgZGVzdHJveSBvbGQgd2luZG93CisJd2hlbiBTZXREaXNwbGF5TW9kZSBpcyBjYWxsZWQgYWdhaW4sIEVudW1EaXNwbGF5TW9kZXMgbm93IHJldHVybnMKKwlhbGwgcG9zc2libGUgbW9kZXMgKHVzaW5nIGEgc3RhdGljIGxpc3QpLgorCisJKiBtZW1vcnkvdmlydHVhbC5jOiBNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlBbm9uIHNoYXJlZCBtYXBwaW5nIGZpeGVkIGZvciBmaWxlIHNoYXJpbmcuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIFN1biBPY3QgMjUgMTA6MzI6MjMgMTk5OCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KIAogCSogb2xlL29sZTJubHMuYywgaW5jbHVkZS93aW5ubHMuaDogQW5kcmVhcyBNb2hyIDwxMDAuMzA5MzZAZ2VybWFueS5uZXQ+CmRpZmYgLS1naXQgYS9pbmNsdWRlL3ZlcnNpb24uaCBiL2luY2x1ZGUvdmVyc2lvbi5oCmluZGV4IDZlOGQ4MjMuLmE4MDk0OTUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdmVyc2lvbi5oCisrKyBiL2luY2x1ZGUvdmVyc2lvbi5oCkBAIC0xICsxIEBACi0jZGVmaW5lIFdJTkVfUkVMRUFTRV9JTkZPICJXaW5lIHJlbGVhc2UgOTgxMDI1IgorI2RlZmluZSBXSU5FX1JFTEVBU0VfSU5GTyAiV2luZSByZWxlYXNlIDk4MTEwOCIK