ZGlmZiAtLWdpdCBhL0FOTk9VTkNFIGIvQU5OT1VOQ0UKaW5kZXggMWRjOTIzMy4uYjM3YWVhMSAxMDA2NDQKLS0tIGEvQU5OT1VOQ0UKKysrIGIvQU5OT1VOQ0UKQEAgLTEsMTMgKzEsMTMgQEAKLVRoaXMgaXMgcmVsZWFzZSAyMDA0MDkxNCBvZiBXaW5lLCBhIGZyZWUgaW1wbGVtZW50YXRpb24gb2YgV2luZG93cyBvbgorVGhpcyBpcyByZWxlYXNlIDIwMDQxMDE5IG9mIFdpbmUsIGEgZnJlZSBpbXBsZW1lbnRhdGlvbiBvZiBXaW5kb3dzIG9uCiBVbml4LiAgVGhpcyBpcyBzdGlsbCBhIGRldmVsb3BlcnMgb25seSByZWxlYXNlLiAgVGhlcmUgYXJlIG1hbnkgYnVncwogYW5kIHVuaW1wbGVtZW50ZWQgZmVhdHVyZXMuICBNb3N0IGFwcGxpY2F0aW9ucyBzdGlsbCBkbyBub3Qgd29yawogY29ycmVjdGx5LgogCi1XSEFUJ1MgTkVXIHdpdGggV2luZS0yMDA0MDkxNDogKHNlZSBDaGFuZ2VMb2cgZm9yIGRldGFpbHMpCi0gICAgICAgIC0gVmFyaW91cyBpbXByb3ZlbWVudHMgdG8gdGhlIGNvbW1vbiBjb250cm9scy4KLSAgICAgICAgLSBOZXcgSVRTUyBkbGwgKGZvciBIVE1MIEhlbHAgc3VwcG9ydCkuCi0gICAgICAgIC0gTWFueSBjb21wYXRpYmlsaXR5IGZpeGVzIGluIHRoZSBleHBvcnRlZCBoZWFkZXJzLgotICAgICAgICAtIFJlcGxhY2VtZW50cyBmb3IgdGhlIFdpbmRvd3Mgc3RhbmRhcmQgYml0bWFwIGZvbnRzLgorV0hBVCdTIE5FVyB3aXRoIFdpbmUtMjAwNDEwMTk6IChzZWUgQ2hhbmdlTG9nIGZvciBkZXRhaWxzKQorICAgICAgICAtIEJlZ2lubmluZ3Mgb2YgYW4gYXJjaGl0ZWN0dXJlIGZvciBEaXJlY3QzRCA5IHN1cHBvcnQuCisgICAgICAgIC0gTWFueSBkZWJ1Z2dlciByZWdyZXNzaW9ucyBmaXhlZC4KKyAgICAgICAgLSBJbXByb3ZlbWVudHMgdG8gdGhlIElETCBjb21waWxlciBhbmQgdGhlIENPTSBoZWFkZXJzLgorICAgICAgICAtIE5ldyBNU0NNUyBkbGwgKGNvbG9yIG1hbmFnZW1lbnQgc3VwcG9ydCkuCiAgICAgICAgIC0gTG90cyBvZiBidWcgZml4ZXMuCiAKIFNlZSB0aGUgUkVBRE1FIGZpbGUgaW4gdGhlIGRpc3RyaWJ1dGlvbiBmb3IgaW5zdGFsbGF0aW9uIGluc3RydWN0aW9ucy4KQEAgLTE2LDggKzE2LDggQEAKIHRoZSByZWxlYXNlIGlzIGF2YWlsYWJsZSBhdCB0aGUgZnRwIHNpdGVzLiAgVGhlIHNvdXJjZXMgd2lsbCBiZSBhdmFpbGFibGUKIGZyb20gdGhlIGZvbGxvd2luZyBsb2NhdGlvbnM6CiAKLSAgaHR0cDovL3d3dy5pYmlibGlvLm9yZy9wdWIvTGludXgvQUxQSEEvd2luZS9kZXZlbG9wbWVudC9XaW5lLTIwMDQwOTE0LnRhci5negotICBodHRwOi8vcHJkb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L3dpbmUvV2luZS0yMDA0MDkxNC50YXIuZ3oKKyAgaHR0cDovL3d3dy5pYmlibGlvLm9yZy9wdWIvTGludXgvQUxQSEEvd2luZS9kZXZlbG9wbWVudC9XaW5lLTIwMDQxMDE5LnRhci5negorICBodHRwOi8vcHJkb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L3dpbmUvV2luZS0yMDA0MTAxOS50YXIuZ3oKIAogSXQgc2hvdWxkIGFsc28gYmUgYXZhaWxhYmxlIGZyb20gYW55IG90aGVyIHNpdGUgdGhhdCBtaXJyb3JzIGliaWJsaW8ub3JnLgogVGhlc2UgbG9jYXRpb25zIGFsc28gaG9sZCBwcmUtYnVpbHQgZG9jdW1lbnRhdGlvbiBwYWNrYWdlcyBpbiB2YXJpb3VzCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggMjBjYmZlOC4uNDQ5MjBjZCAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSw0ICsxLDIwMTAgQEAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzIwMDQtMTAtMTkgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvY29tbWRsZy9maWxlZGxnLmMsIGRsbHMva2VybmVsL3Byb2Nlc3MuYywgZGxscy9rZXJuZWwvc3luYy5jLAorCSAgZGxscy9ycGNydDQvcnBjX3NlcnZlci5jLCBkbGxzL3NoZWxsMzIvc2hlbGxvbGUuYywKKwkgIGRsbHMvdXNlci93aW5wcm9jLmgsIGRsbHMvd2lubW0vZHJpdmVyLmMsIGRsbHMvd2lubW0vd2luZW1tLmgsCisJICBkbGxzL3dpbm1tL3dpbm1tLmMsIGRsbHMvd2luc29jay9zb2NrZXQuYywKKwkgIHByb2dyYW1zL3dpbmhlbHAvaGxwMnNnbWwuYzoKKwlWaW5jZW50IELpcm9uIDx2YmVyb25AbWVjYW5vLmdtZS51c2hlcmIuY2E+CisJRml4IHZhcmlvdXMgZnVuY3Rpb24gcHJvdG90eXBlcy4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGRsbHMvaXRzcy9jaG1fbGliLmMsIGluY2x1ZGUvY29uZmlnLmguaW4sCisJICBpbmNsdWRlL3dpbmUvcG9ydC5oLCBsaWJzL3BvcnQvTWFrZWZpbGUuaW4sIGxpYnMvcG9ydC9mZnMuYzoKKwlIYW5zIExlaWRla2tlciA8aGFuc0BpdC52dS5ubD4KKwlBZGQgZmZzKCkgdG8gcG9ydGluZyBsaWJyYXJ5LCBuZWVkZWQgYnkgTWluR1cuCisKKwkqIHByb2dyYW1zL3dpbmVjZmcvd2luZWNmZy5jOiBBbmlzaCBNaXN0cnkgPG1pc3RyeS43QG9zdS5lZHU+CisJUmVuYW1lIGdldGtleSBhbmQgc2V0a2V5IGZvciBGcmVlQlNELgorCisJKiBkbGxzL2tlcm5lbC9rZXJuZWwzMi5zcGVjLCBkbGxzL2tlcm5lbC9sb2NhbGUuYzoKKwlTdGVmYW4gTGVpY2h0ZXIgPFN0ZWZhbi5MZWljaHRlckBjYW1MaW5lLmNvbT4KKwlBZGRlZCBkdW1teSBpbXBsZW1lbnRhdGlvbiBmb3IgRW51bVVJTGFuZ3VhZ2VzQS9XLgorCisJKiB0b29scy93aW5lYnVpbGQvbWFpbi5jOgorCXdpbmVidWlsZCBzaG91bGRuJ3QgZGVwZW5kIG9uIHRoZSBOT19UUkFDRV9NU0dTIGRlZmluZS4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGRsbHMvTWFrZWRsbC5ydWxlcy5pbiwKKwkgIGRsbHMvTWFrZXRlc3QucnVsZXMuaW4sIGRsbHMvZHhlcnI4L01ha2VmaWxlLmluLAorCSAgZGxscy9keGVycjkvTWFrZWZpbGUuaW4sIGRsbHMvZHhndWlkL01ha2VmaWxlLmluLAorCSAgZGxscy9zdHJtaWlkcy9NYWtlZmlsZS5pbiwgZGxscy91dWlkL01ha2VmaWxlLmluLAorCSAgaW5jbHVkZS9jb25maWcuaC5pbiwgaW5jbHVkZS93aW5lL2RlYnVnLmgsCisJICBwcm9ncmFtcy9NYWtlcHJvZy5ydWxlcy5pbiwgcHJvZ3JhbXMvYXZpdG9vbHMvTWFrZWZpbGUuaW46CisJVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCVVzZSBhIG5ldyBETExERUZTIHZhcmlhYmxlIGluIGNvbmZpZ3VyZS9NYWtlZmlsZXMgdG8gYWN0dWFsbHkgcmVtb3ZlCisJYWxsIHRoZSBkZWJ1ZyBtZXNzYWdlcyAobWludXMgRVJScykgaWYgdGhlIHVzZXIgZGVjaWRlcyBzby4KKworCSogZGxscy9jb21jdGwzMi9jb21ib2V4LmMsIGRsbHMvY29tY3RsMzIvY29tY3RsMzIuaCwKKwkgIGRsbHMvY29tY3RsMzIvY29tY3RsMzIuc3BlYywgZGxscy9jb21jdGwzMi9jb21tY3RybC5jOgorCVJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbXBsZW1lbnQgU2V0UGF0aFdvcmRCcmVha1Byb2MgYW5kIE1pcnJvckljb24uCisKKwkqIGRsbHMvY29tY3RsMzIvcmViYXIuYzogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCVJlYmFyIGNvbXBsZXRlbmVzcyBhdWRpdC4KKworCSogd2luZG93cy9ub25jbGllbnQuYzogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCVdpbmRvd3Mgd2l0aCBXU19FWF9UT09MV0lORE9XIHN0eWxlIHNob3VsZCBub3QgaGF2ZSBtaW4vbWF4IGJ1dHRvbnMuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjOiBXYXJyZW4gQmFpcmQgPHdhcnJlbi5iYWlyZEBjaW1tZXRyeS5jb20+CisJLSBhZGRlZCAtZlBJQyB0byB0aGUgTERETExGTEFHUyBsaW5lIGZvciBIUFVYOyB3aW5lZ2NjIG5lZWRzIHRvIHBhc3MKKwkgIC1mUElDIHRvIHRoZSBsaW5rIGxpbmUgdG8ga2VlcCB0aGUgaHAgbGlua2VyIGhhcHB5CisJLSBzZXQgRExMRVhUIHRvIC5zbCBvbiBIUFVYCisKKwkqIGRsbHMvYWR2YXBpMzIvcmVnaXN0cnkuYzoKKwlSZWdRdWVyeVZhbHVlVyBtdXN0IHJldHVybiBjb3VudCBpbiBieXRlcyBmb3IgZW1wdHkgc3RyaW5nIHRvby4KKworCSogZGxscy9kc291bmQvdGVzdHMvY2FwdHVyZS5jLCBkbGxzL2Rzb3VuZC90ZXN0cy9kczNkLmMsCisJICBkbGxzL2Rzb3VuZC90ZXN0cy9kczNkOC5jLCBkbGxzL2Rzb3VuZC90ZXN0cy9kc291bmQuYywKKwkgIGRsbHMvZHNvdW5kL3Rlc3RzL2Rzb3VuZDguYywgZGxscy9kc291bmQvdGVzdHMvcHJvcHNldC5jOgorCVJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJRG9uJ3QgY29uc2lkZXIgZmFpbHVyZSB3aXRoIERTRVJSX05PRFJJVkVSIGEgdGVzdCBmYWlsdXJlLgorCisJKiBkbGxzL3VzZXIvbWVudS5jLCBkbGxzL3VzZXIvdXNlcjMyLnNwZWM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlNYWtlIFRyYW5zbGF0ZUFjY2VsZXJhdG9yQSBoYW5kbGUgbmF0aW9uYWwgY2hhcmFjdGVycy4KKworCSogZGxscy9jb21jdGwzMi90b29sdGlwcy5jOiBHZSB2YW4gR2VsZG9ycCA8Z3ZnQHJlYWN0b3MuY29tPgorCVBhc3MgY29ycmVjdCB1aVBhcmFtIGZvciBTUElfR0VUTk9OQ0xJRU5UTUVUUklDUy4KKworCSogdG9vbHMvd2luZS5pbmY6IFJlaW4gS2xhemVzIDxya2xhemVzQHhzNGFsbC5ubD4KKwlBZGQgSEtMTSwlQ3VycmVudHZlcnNpb24lXFNldHVwLCJCb290RGlyIiB0byB0aGUgaW5zdGFsbGF0aW9uCisJZGVmYXVsdHMuCisKKwkqIGRsbHMvd2ludHJ1c3QvTWFrZWZpbGUuaW46CisJVXdlIEJvbm5lcyA8Ym9uQGVsZWt0cm9uLmlrcC5waHlzaWsudHUtZGFybXN0YWR0LmRlPgorCUFkZCBrZXJuZWwzMiBhcyBpbXBvcnQgZm9yIHdpbnRydXN0LgorCisJKiBkbGxzL2tlcm5lbC9zeW5jLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbXBsZW1lbnQgQ2FsbE5hbWVkUGlwZUEgdXNpbmcgQ2FsbE5hbWVkUGlwZVcuCisKKwkqIGRsbHMvb2xlYXV0MzIvdGVzdHMvdmFydGVzdC5jLCBkbGxzL29sZWF1dDMyL3ZhcmlhbnQuYzoKKwlXYWx0IE9nYnVybiA8cmV1YmVuQHVnY3MuY2FsdGVjaC5lZHU+CisJS2VlcCAidHJhaWxpbmciIHplcm9zIG9uIHdob2xlIG51bWJlciBwYXJ0IG9mIGEgZGVjaW1hbC4KKwlBZGQgYW4gZXhhbXBsZSBvZiB0aGlzIHRvIHRlc3RzLgorCisJKiBkbGxzL29sZWF1dDMyL3Rlc3RzL3NhZmVhcnJheS5jOgorCVdhbHQgT2didXJuIDxyZXViZW5AdWdjcy5jYWx0ZWNoLmVkdT4KKwlUZXN0IHRoYXQgU2FmZUFycmF5RGVzdHJveURhdGEga2VlcHMgdGhlIHBvaW50ZXIgaWYgRkFERl9TVEFUSUMgaXMKKwlzZXQsIG51bGxzIGl0IG90aGVyd2lzZS4KKworCSogZGxscy9vbGVhdXQzMi9zYWZlYXJyYXkuYzogV2FsdCBPZ2J1cm4gPHJldWJlbkB1Z2NzLmNhbHRlY2guZWR1PgorCVNhZmVBcnJheURlc3Ryb3lEYXRhIC0ga2VlcCBwb2ludGVyLCBkb24ndCBkZXN0cm95IGRhdGEgaWYgRkFERl9TVEFUSUMKKwlpcyBzZXQuCisKKwkqIGRsbHMvbXN2Y3J0L2NwcC5jLCBkbGxzL21zdmNydC9jcHBleGNlcHQuYywgZGxscy9tc3ZjcnQvY3BwZXhjZXB0Lmg6CisJT3V0cHV0IHRoZSB2aXJ0dWFsIHRhYmxlcyBmb3IgdGhlIGV4Y2VwdGlvbiBjbGFzc2VzIHVzaW5nIGFzc2VtYmx5IHNvCisJdGhhdCB0aGV5IGNhbiBoYXZlIHRoZSBjb3JyZWN0IGxheW91dCwgYW5kIGdldCByaWQgb2YgdGhlCisJY29ycmVzcG9uZGluZyBoYWNrcyBpbiBSVFRJX0dldE9iamVjdExvY2F0b3IuCisJQnVpbGQgbW9yZSBvZiB0aGUgY29kZSBvbiBub24taTM4NiBwbGF0Zm9ybXMgdG9vLgorCVByb3RlY3QgX19SVER5bmFtaWNDYXN0IGFuZCBmcmllbmRzIHdpdGggZXhjZXB0aW9uIGhhbmRsZXJzLgorCUZpeCBoYW5kbGluZyBvZiB0aGUgdnRhYmxlIHBvaW50ZXIgc28gdGhhdCB3ZSBkb24ndCBuZWVkIHRvIGRlY2xhcmUKKwlhbGwgb2JqZWN0IHBvaW50ZXJzIGFzIHR5cGVfaW5mby4KKworCSogc2VydmVyL21haW4uYzogQmlsbCBNZWRsYW5kIDxiaWxsbWVkbGFuZEBtZXJjdXJ5c3BlZWQuY29tPgorCUFkZGVkIGEgdmVyc2lvbiBvcHRpb24gdG8gdGhlIHdpbmVzZXJ2ZXIuCisKKwkqIGluY2x1ZGUvdGNoYXIuaDogTWFydGluIEZ1Y2hzIDxtYXJ0aW4tZnVjaHNAZ214Lm5ldD4KKwktIEZpeCB0eXBvIGluIGVycm9yIG1lc3NhZ2UKKwktIFNlcGFyYXRlIHdpbnRfdCBkZWZpbml0aW9uIGZyb20gd2N0eXBlX3QgZGVmaW5pdGlvbiAobmVlZGVkIGZvcgorCSAgQ3lnd2luIHRhcmdldCkuCisKKwkqIGxvYWRlci9rdGhyZWFkLmM6IEhhbnMgTGVpZGVra2VyIDxoYW5zQGl0LnZ1Lm5sPgorCVByb3RlY3QgdXNlIG9mIHB0aHJlYWQgZnVuY3Rpb25zIHdpdGggI2lmZGVmIEhBVkVfUFRIUkVBRF9ILgorCisJKiBkbGxzL3NoZWxsMzIvc2hsbWVudS5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJQ29udmVydCB0aGUgc2hlbGxtZW51IGNvZGUgdG8gdXNlIHVuaWNvZGUuCisKKzIwMDQtMTAtMTggIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvd2lubW0vdGVzdHMvY2FwdHVyZS5jLCBkbGxzL3dpbm1tL3Rlc3RzL21peGVyLmM6CisJUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlEb24ndCBjb25zaWRlciBNTVNZU0VSUl9OT1RTVVBQT1JURUQgYW4gZXJyb3IgZm9yIHdpZGUgZnVuY3Rpb25zLgorCisJKiBkbGxzL2NvbWN0bDMyL2NvbW1jdHJsLmM6IEdlIHZhbiBHZWxkb3JwIDxndmdAcmVhY3Rvcy5jb20+CisJRG9uJ3QgZnJlZSBzdWJjbGFzcyBzdGFjayB3aGlsZSBpdCdzIHN0aWxsIGluIHVzZS4KKworCSogZG9jdW1lbnRhdGlvbi9jb25maWd1cmluZy5zZ21sOiBJdmFuIExlbyBQdW90aSA8cHVvdGlAaW53aW5kLml0PgorCVJlbW92aW5nIHJlZmVyZW5jZXMgdG8gbm93IG9ic29sZXRlIHdpbmVzZXR1cHRrLCBhcyByZXF1ZXN0ZWQgYnkgdXNlcnMuCisKKwkqIGRsbHMvbXN2Y3J0L2NwcC5jLCBkbGxzL21zdmNydC9jcHBleGNlcHQuYywgZGxscy9tc3ZjcnQvY3BwZXhjZXB0Lmg6CisJRml4ZWQgX19SVER5bmFtaWNDYXN0IHRvIHJldHVybiB0aGUgY29ycmVjdCBwb2ludGVyIGZvciBtdWx0aXBsZQorCWluaGVyaXRhbmNlIGhpZXJhcmNoaWVzICh0aGFua3MgdG8gTXVzZSBSZXNlYXJjaCBmb3IgaGVscCB3aXRoIHRoaXMKKwlvbmUpLgorCUFkZGVkIHNvbWUgZGVidWcgb3V0cHV0LgorCisJKiBkbGxzL29kYmMzMi9NYWtlZmlsZS5pbiwgZGxscy9vZGJjMzIvcHJveHlvZGJjLmM6CisJQmlsbCBNZWRsYW5kIDxiaWxsbWVkbGFuZEBtZXJjdXJ5c3BlZWQuY29tPgorCUR1cmluZyBzdGFydHVwIG9mIHRoZSBjb25uZWN0aW9uIHRvIGFuIGV4dGVybmFsIE9EQkMgcHJvdmlkZXIKKwkoZS5nLiB1bml4T0RCQykgcmVwbGljYXRlIHRoYXQgcHJvdmlkZXIncyBkcml2ZXIgYW5kIERTTiBkYXRhIHRvIHRoZQorCXJlZ2lzdHJ5IHNvIHRoYXQgV2luZG93cyBwcm9ncmFtcyB0aGF0IGFjdHVhbGx5IHF1ZXJ5IHRoZSByZWdpc3RyeQorCXJhdGhlciB0aGFuIHRoZSBPREJDIHdpbGwgZmluZCBhdCBsZWFzdCBzb21lIGluZm9ybWF0aW9uLgorCisJKiBkbGxzL2RiZ2hlbHAvZGJnaGVscF9wcml2YXRlLmgsIGRsbHMvZGJnaGVscC9tZW1vcnkuYywKKwkgIGRsbHMvb2xlMzIvZGF0YWNhY2hlLmMsIGRsbHMvb2xlYXV0MzIvb2xlZm9udC5jLAorCSAgZGxscy9vbGVhdXQzMi9vbGVwaWN0dXJlLmMsIGRsbHMvb2xlYXV0MzIvdHlwZWxpYi5jLAorCSAgZGxscy9zaGVsbDMyL3NobHZpZXcuYywgaW5jbHVkZS9heGNvcmUuaWRsOgorCVZpbmNlbnQgQulyb24gPHZiZXJvbkBtZWNhbm8uZ21lLnVzaGVyYi5jYT4KKwlGaXggc29tZSB0eXBlcyBwcm9ibGVtcy4KKworCSogZGxscy9vbGVhdXQzMi90ZXN0cy92YXJ0ZXN0LmM6IFdhbHQgT2didXJuIDxyZXViZW5AdWdjcy5jYWx0ZWNoLmVkdT4KKwlUZXN0IHplcm8gZXhwb25lbnRzIHdpdGggYW5kIHdpdGhvdXQgc2lnbnMuCisKKwkqIGRsbHMvd2luZWRvcy9kb3NleGUuaCwgZGxscy93aW5lZG9zL2ludGVycnVwdHMuYywKKwkgIGRsbHMvd2luZWRvcy9yZWxheS5jOgorCU1hcmt1cyBBbXNsZXIgPG1hcmt1cy5hbXNsZXJAb3JpYmkub3JnPgorCVB1c2ggb24gc3RhY2sgaW4gMTYgYml0IG1vZGUgd2l0aCBzZWdtZW50IHdyYXAgYXJvdW5kLgorCisJKiBpbmNsdWRlLy5jdnNpZ25vcmUsIGluY2x1ZGUvTWFrZWZpbGUuaW4sIGluY2x1ZGUvcmljaGVkaXQuaCwKKwkgIGluY2x1ZGUvcmljaG9sZS5oLCBpbmNsdWRlL3JpY2hvbGUuaWRsOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGRlZCBhbiBJREwgZmlsZSBmb3IgUmljaGVkaXQncyBPTEUgaW50ZXJmYWNlLgorCisJKiBkbGxzL3NoZWxsMzIvc2hsZmlsZW9wLmM6CisJUm9sZiBLYWxiZXJtYXR0ZXIgPHJvbGYua2FsYmVybWF0dGVyQGNpdGVuZy5jb20+CisJTW9kaWZ5IEFOU0kgZnVuY3Rpb25zIHRvIGFsbG9jYXRlIGludGVybWVkaWF0ZSBVbmljb2RlIHN0cmluZ3Mgb24gdGhlCisJaGVhcCBpbnN0ZWFkIG9mIHN0YWNrLgorCisJKiBkbGxzL3dpbm1tL21tc3lzdGVtLmMsIGRsbHMvd2lubW0vdGltZS5jLCBkbGxzL3dpbm1tL3dpbmVtbS5oOgorCUplcmVteSBXaGl0ZSA8andoaXRlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlSZXZpc2Ugd2lubW0vdGltZS5jIHRvIGZpeCB0aW1lciByZXNvbHV0aW9uIGF0IDEgbXMuIFRoaXMgdGhlbiBhbGxvd3MKKwlhIG11Y2ggbW9yZSBlZmZpY2llbnQgaW1wbGVtZW50YXRpb24gb2YgdGltZXIgZXZlbnRzIGFuZCB0aW1lR2V0VGltZSwKKwlhbmQgY2FsbGVycyB0aGF0IHVzZWQgc3ViIDEwIG1zIHJlc29sdXRpb24gd2lsbCBub3cgZ2V0IGNvcnJlY3QKKwlyZXN1bHRzLgorCisJKiBsb2FkZXIva3RocmVhZC5jOiBSZXN0b3JlIGxvc3QgY2h1bmsgb2YgcHJldmlvdXMgcGF0Y2guCisKKwkqIGluY2x1ZGUvTWFrZWZpbGUuaW4sIGluY2x1ZGUvZXhkaXNwLmlkbCwgaW5jbHVkZS9leGRpc3BpZC5oOgorCUphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJLSBBZGRlZCBkaXNwaW50ZXJmYWNlczogRFdlYkJyb3dzZXJFdmVudHMgYW5kIERXZWJCcm93c2VyRXZlbnRzMi4KKwktIEFkZGVkIGNvY2xhc3M6IFdlYkJyb3dzZXIuCisJLSBBZGRlZCBleGRpc3BpZC5oLgorCisJKiBkbGxzL250ZGxsL2V4Y2VwdGlvbi5jLCBsaWJzL3BvcnQvaW50ZXJsb2NrZWQuYywgbG9hZGVyL2t0aHJlYWQuYywKKwkgIHByb2dyYW1zL3dpbmVkYmcvTWFrZWZpbGUuaW4sIHByb2dyYW1zL3dpbmVkYmcvYmVfYWxwaGEuYywKKwkgIHByb2dyYW1zL3dpbmVkYmcvZ2RicHJveHkuYywgcHJvZ3JhbXMvd2luZWRiZy93aW5lZGJnLmMsCisJICB0b29scy93aW5lYnVpbGQvaW1wb3J0LmMsIHRvb2xzL3dpbmVidWlsZC9zcGVjMzIuYzoKKwlWaW5jZW50IELpcm9uIDx2YmVyb25AbWVjYW5vLmdtZS51c2hlcmIuY2E+CisJQWRkIHNvbWUgbW9yZSBBbHBoYSBhc20gY29kZSBhbmQgQWxwaGEtc3BlY2lmaWMgcGFydHMuCisKKwkqIGRsbHMvdXNlci9kaXNwbGF5LmMsIGRsbHMvdXNlci9tZXNzYWdlLmMsIGRsbHMvdXNlci91c2VyX21haW4uYywKKwkgIHdpbmRvd3MvY3Vyc29yaWNvbi5jLCB3aW5kb3dzL2RjZS5jLCB3aW5kb3dzL3N5c3BhcmFtcy5jLAorCSAgd2luZG93cy93aW4uYywgd2luZG93cy93aW5wb3MuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCVByb3RlY3QgVVNFUjMyIGFnYWluc3QgZWFybHkgZ3JhcGhpY3MgZHJpdmVyIHVubG9hZGluZy4KKworCSogZGxscy91c2VyL2NvbWJvLmMsIGRsbHMvdXNlci9jb250cm9scy5oLCBkbGxzL3VzZXIvbGlzdGJveC5jLAorCSAgaW5jbHVkZS93aW51c2VyLmg6CisJRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlJbXBsZW1lbnQgTEJTX0NPTUJPQk9YLCBhbmQgbWFrZSB1c2Ugb2YgaXQuCisJQmV0dGVyIHNlcGFyYXRpb24gYmV0d2VlbiB0aGUgTGlzdGJveCBhbmQgQ29tYm9ib3guCisJSGF2ZSBhIHNpbmdsZSBzZXQgb2Ygd25kcHJvY3MsIGp1c3QgbGlrZSBXaW5kb3dzLgorCisJKiBkbGxzL2Ftc3RyZWFtL2Ftc3RyZWFtLmMsIGRsbHMvaXRzcy9pdHNzLmMsIGRsbHMvcXVhcnR6L2ZpbGVzb3VyY2UuYywKKwkgIGRsbHMvcXVhcnR6L2ZpbHRlcmdyYXBoLmM6CisJSm9yaXMgSHVpemVyIDxqb3Jpc2h1aXplckBwbGFuZXQubmw+CisJQWRkZWQgSUNsYXNzRmFjdG9yeS0+Q3JlYXRlSW5zdGFuY2UgYWdncmVnYXRpb24gY2hlY2tzLgorCisJKiBkbGxzL21zdmlkZW8vZHJhd2RpYi5jOgorCVBldGVyIFJpb2NyZXV4IDxwYXIrd2luZV9wYXRjaGVzQHNpbGlzdGl4LmNvbT4KKwkgTWFrZSBEcmF3RGliRHJhdyBob25vdXIgdGhlIERERl9CQUNLR1JPVU5EUEFMIGZsYWcuCisKKwkqIGRsbHMvd2luZWRvcy9tb2R1bGUuYzogTWFya3VzIEFtc2xlciA8bWFya3VzLmFtc2xlckBvcmliaS5vcmc+CisJSW5pdGlhbGl6ZSAuQ09NIHN0YWNrLgorCisJKiBkbGxzL3dpbnRydXN0L3dpbnRydXN0LnNwZWMsIGRsbHMvd2ludHJ1c3Qvd2ludHJ1c3RfbWFpbi5jOgorCVN0ZWZhbiBMZWljaHRlciA8U3RlZmFuLkxlaWNodGVyQGNhbUxpbmUuY29tPgorCUFkZGVkIHN0dWIgZm9yIENyeXB0Q0FUQWRtaW5BY3F1aXJlQ29udGV4dC4KKworCSogZGxscy9udGRsbC90aW1lLmM6IFJlaW4gS2xhemVzIDxya2xhemVzQHhzNGFsbC5ubD4KKwlJbiBSdGxRdWVyeVRpbWV6b25lSW5mb3JtYXRpb24gdXNlIGluZm9ybWF0aW9uIGZyb20gdGhlIHJlZ2lzdHJ5IGlmIGl0CisJaXMgYXZhaWxhYmxlLgorCisJKiBkbGxzL2dkaS9wYWxldHRlLmM6IERvdWcgUGF1bCA8ZG91Z0BlbGVtZW50YWwuYXRoLmN4PgorCUdsZW5uIFd1cnN0ZXIgPGd3dXJzdGVyQHNjcy5jYXJsZXRvbi5jYT4KKwlEb24ndCB1bnJlYWxpemUgdGhlIHBhbGV0dGUgYnkgY2FsbGluZyBTZXRQYWxldHRlRW50cmllcy4KKwlDaGVjayBwZUZsYWdzIGZvciBQQ19SRVNFUlZFRC4KKworCSogZGxscy94MTFkcnYvcGFsZXR0ZS5jOiBEb3VnIFBhdWwgPGRvdWdAZWxlbWVudGFsLmF0aC5jeD4KKwlHbGVubiBXdXJzdGVyIDxnd3Vyc3RlckBzY3MuY2FybGV0b24uY2E+CisJQ2hhbmdlIHJlYWRpbmcgb2YgUENfKEVYUExJQ0lUfE5PQ09MTEFQU0V8UkVTRVJWRUQpIHRvIGhhbmRsZSBtdWx0aXBsZQorCXZhbHVlcy4KKworCSogcHJvZ3JhbXMvY2xvY2svQ3MucmMsIHByb2dyYW1zL2Nsb2NrL3JzcmMucmMsCisJICBwcm9ncmFtcy9jbWRsZ3RzdC9Dcy5yYywgcHJvZ3JhbXMvY21kbGd0c3QvY21kbGdyLnJjLAorCSAgcHJvZ3JhbXMvbm90ZXBhZC9Dcy5yYywgcHJvZ3JhbXMvbm90ZXBhZC9yc3JjLnJjLAorCSAgcHJvZ3JhbXMvcHJvZ21hbi9Dcy5yYywgcHJvZ3JhbXMvcHJvZ21hbi9yc3JjLnJjLAorCSAgcHJvZ3JhbXMvcmVnZWRpdC9Dcy5yYywgcHJvZ3JhbXMvcmVnZWRpdC9yc3JjLnJjLAorCSAgcHJvZ3JhbXMvc3RhcnQvQ3MucmMsIHByb2dyYW1zL3N0YXJ0L3JzcmMucmMsCisJICBwcm9ncmFtcy91bmluc3RhbGxlci9yc3JjLnJjOgorCURhdmlkIEtyZWRiYSA8a3JlZGJhQGlib3QuY2FzLmN6PgorCUFkZGVkIHNvbWUgQ3plY2ggcmVzb3VyY2VzLgorCisJKiBkbGxzL2NvbWN0bDMyL3Rvb2xiYXIuYzogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCS0gVEJOX0RFTEVUSU5HQlVUVE9OIHNlbmRzIHRoZSBjb21tYW5kIElELCBub3QgdGhlIGluZGV4LgorCS0gRmlsbCBpbiB0YkJ1dHRvbiBzdHJ1Y3R1cmUgZm9yIFRCTl9ERUxFVElOR0JVVFRPTiBub3RpZmljYXRpb24uCisJLSBEb2N1bWVudCBUQk5fUVVFUlkqIHNlbmRpbmcgaW5kaWNlcy4KKworCSogZGxscy93aW5zcG9vbC9pbmZvLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggcG9ydCBlbnVtZXJhdGlvbi4KKworCSogZGxscy9rZXJuZWwvY3B1LmM6IEhhbnMgTGVpZGVra2VyIDxoYW5zQGl0LnZ1Lm5sPgorCUF2b2lkIHVzaW5nIGdldHRpbWVvZmRheSgpLgorCisJKiBkbGxzL2dkaS9mcmVldHlwZS5jOiBSZWluIEtsYXplcyA8cmtsYXplc0B4czRhbGwubmw+CisJVGVzdCB3aGV0aGVyIHRoZSBmdF9lbmNvZGluZydzIGFyZSBkZWZpbmVkLCBub3QgdGhlIEZUX0VOQ09ESU5HJ3MuCisKKwkqIGRsbHMvdXNlci9taXNjLmMsIGRsbHMvdXNlci91c2VyMzIuc3BlYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlTdHViIGZ1bmN0aW9uIGZvciBPcGVuSW5wdXREZXNrdG9wLgorCisJKiBkbGxzL3JwY3J0NC9jcHJveHkuYywgZGxscy9ycGNydDQvcnBjcnQ0LnNwZWM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUFkZCBzdHViIGltcGxlbWVudGF0aW9uIGZvciBDcmVhdGVQcm94eUZyb21UeXBlSW5mby4KKworCSogaW5jbHVkZS9iYXNldHNkLmg6IFZpbmNlbnQgQulyb24gPHZiZXJvbkBtZWNhbm8uZ21lLnVzaGVyYi5jYT4KKwlVbmlmb3JtaXplIGVuZGlhbm5lc3MgZGVmaW5pdGlvbi4KKworCSogZGxscy94MTFkcnYveDExZHJ2X21haW4uYzoKKwlWaW5jZW50IELpcm9uIDx2YmVyb25AbWVjYW5vLmdtZS51c2hlcmIuY2E+CisJUHJvdGVjdCBzb21lIG1vcmUgdHlwZXMgd2hpY2ggY2FuIGJlIHJlZGVjbGFyZWQgaW4gWG1kLmguCisKKwkqIHByb2dyYW1zL3dpbmVjZmcvbGlicmFyaWVzLmM6IE1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCVJldHVybiBvdXQgb2YgdGhlIGRlZmF1bHQgY2FzZSwgYXNzZXJ0KCkgaXMgcmVtb3ZlZCB3aXRoIC1ETkRFQlVHLgorCisJKiBkbGxzL2Rzb3VuZC90ZXN0cy9kczNkLmMsIGRsbHMvZHNvdW5kL3Rlc3RzL2RzM2Q4LmMsCisJICBkbGxzL2Rzb3VuZC90ZXN0cy9kc291bmQuYywgZGxscy9kc291bmQvdGVzdHMvZHNvdW5kOC5jLAorCSAgZGxscy9kc291bmQvdGVzdHMvcHJvcHNldC5jOgorCVJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJRml4IHNvbWUgcGxhY2VzIHdoZXJlIG5vIGRyaXZlciBwcmVzZW50IGNhdXNlcyBwcm9ibGVtcy4KKworCSogZGxscy9jb21jdGwzMi9jb21jdGwzMi5zcGVjLCBkbGxzL2NvbWN0bDMyL2ltYWdlbGlzdC5jOgorCVJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbXBsZW1lbnQgSW1hZ2VMaXN0X1NldENvbG9yVGFibGUuCisKKwkqIGRsbHMvZ2RpL2RpYi5jLCBpbmNsdWRlL3dpbmdkaS5oOgorCVJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlUaGUgImNvbG9ycyIgcGFyYW1ldGVyIG9mIFNldERJQkNvbG9yVGFibGUgc2hvdWxkIGJlIENPTlNULgorCisJKiBkbGxzL2FkdmFwaTMyL2NyeXB0LmM6IE1pY2hhZWwgSnVuZyA8bWp1bmdAaXNzLnR1LWRhcm1zdGFkdC5kZT4KKwlGaXhlZCBhIHR5cG8gaW4gQ3J5cHRFeHBvcnRLZXkuCisKKwkqIHRvb2xzL3dpZGwvaGVhZGVyLmMsIHRvb2xzL3dpZGwvcGFyc2VyLnksIHRvb2xzL3dpZGwvd2lkbHR5cGVzLmg6CisJSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwlBZGRlZCB3cml0aW5nIGZvcndhcmQgZGVjbGFyYXRpb24gb2YgZGlzcGludGVyZmFjZS4KKworCSogZGxscy9vbGUzMi9jb21wb2JqLmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbXByb3ZlIHByb3h5IGRlc3RydWN0aW9uIGNvbW1lbnQuCisKKwkqIGRsbHMvbnRkbGwvc2VydmVyLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlNYXNrIFNJR0NITEQgdG8gcHJldmVudCBwYXJ0aWFsIHdyaXRlcyBpbiB0aGUgbmV3X3Byb2Nlc3Mgc2VydmVyCisJY2FsbC4KKworCSogaW5jbHVkZS93aW51c2VyLmg6CisJV2lsbGlhbSBQb2V0cmEgWW9nYSBIYWRpc29lc2VuIDx3aWxsaWFtcG9ldHJhQHlhaG9vLmNvbT4KKwlBZGRlZCBzb21lIHN5c3RlbSBtZXRyaWNzIGRlZmluaXRpb25zLgorCisJKiBkbGxzL3NoZWxsMzIvc2hlbGwzMi5zcGVjLCBkbGxzL3NoZWxsMzIvc2hsZmlsZW9wLmM6CisJUm9sZiBLYWxiZXJtYXR0ZXIgPHJvbGYua2FsYmVybWF0dGVyQGNpdGVuZy5jb20+CisJQWRkZWQgU0hGcmVlTmFtZU1hcHBpbmdzIGltcGxlbWVudGF0aW9uLgorCisJKiBsb2FkZXIva3RocmVhZC5jOiBWaW5jZW50IELpcm9uIDx2YmVyb25AbWVjYW5vLmdtZS51c2hlcmIuY2E+CisJRml4IHRoZSBkZWNsYXJhdGlvbiBvZiBwdGhyZWFkX211dGV4YXR0cl9nZXR0eXBlKCkuCisKKzIwMDQtMTAtMTQgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvbXN2Y3J0L2NwcC5jOiBGaXhlZCBzcGVsbGluZyBvZiAnaGllcmFyY2h5Jy4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGRsbHMvZ2RpL3ByaW50ZHJ2LmMsIGluY2x1ZGUvY29uZmlnLmguaW46CisJSGFucyBMZWlkZWtrZXIgPGhhbnNAaXQudnUubmw+CisJQWRkZWQgY2hlY2sgZm9yIGZvcmsoKSB0byBmaXggdGhlIE1pbkdXIGJ1aWxkLgorCisJKiB0b29scy93aW5lLmluZiwgd2luZG93cy9zeXNwYXJhbXMuYzogSXZhbiBMZW8gUHVvdGkgPHB1b3RpQGlud2luZC5pdD4KKwlJbXBsZW1lbnQgYWN0aW9uIDgzIGluIFN5c3RlbVBhcmFtZXRlcnNJbmZvKCkuCisKKwkqIHNlcnZlci9NYWtlZmlsZS5pbiwgc2VydmVyL2NvbnRleHRfYWxwaGEuYzoKKwlWaW5jZW50IELpcm9uIDx2YmVyb25AbWVjYW5vLmdtZS51c2hlcmIuY2E+CisJQ3JlYXRlIHRoZSBuZWNlc3NhcnkgZnVuY3Rpb25zIGZvciB3aW5lc2VydmVyIGNvbnRleHRzIGZvciBBbHBoYS4KKworCSogZGxscy9jb21jdGwzMi90ZXN0cy9pbWFnZWxpc3QuYzogR2VyYWxkIFBmZWlmZXIgPGdlcmFsZEBwZmVpZmVyLmNvbT4KKwlDb21wbGV0ZWx5IGRpc2FibGUgdW51c2VkIGZ1bmN0aW9uIHNob3dfaW1hZ2UoKS4KKworCSogZGxscy9kM2Q5L2Jhc2V0ZXh0dXJlLmMsIGRsbHMvZDNkOS9jdWJldGV4dHVyZS5jLAorCSAgZGxscy9kM2Q5L2QzZDlfcHJpdmF0ZS5oLCBkbGxzL2QzZDkvZGV2aWNlLmMsIGRsbHMvZDNkOS9kaXJlY3R4LmMsCisJICBkbGxzL2QzZDkvaW5kZXhidWZmZXIuYywgZGxscy9kM2Q5L3BpeGVsc2hhZGVyLmMsIGRsbHMvZDNkOS9xdWVyeS5jLAorCSAgZGxscy9kM2Q5L3Jlc291cmNlLmMsIGRsbHMvZDNkOS9zdGF0ZWJsb2NrLmMsIGRsbHMvZDNkOS9zdXJmYWNlLmMsCisJICBkbGxzL2QzZDkvc3dhcGNoYWluLmMsIGRsbHMvZDNkOS90ZXh0dXJlLmMsIGRsbHMvZDNkOS92ZXJ0ZXhidWZmZXIuYywKKwkgIGRsbHMvZDNkOS92ZXJ0ZXhkZWNsYXJhdGlvbi5jLCBkbGxzL2QzZDkvdmVydGV4c2hhZGVyLmMsCisJICBkbGxzL2QzZDkvdm9sdW1lLmMsIGRsbHMvZDNkOS92b2x1bWV0ZXh0dXJlLmMsCisJICBkbGxzL2QzZDkvdnNoYWRlcmRlY2xhcmF0aW9uLmMsIGRsbHMvd2luZWQzZC9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvd2luZWQzZC9kZXZpY2UuYywgZGxscy93aW5lZDNkL3Jlc291cmNlLmMsCisJICBkbGxzL3dpbmVkM2QvdmVydGV4YnVmZmVyLmMsIGRsbHMvd2luZWQzZC93aW5lZDNkX3ByaXZhdGUuaCwKKwkgIGluY2x1ZGUvd2luZS93aW5lZDNkX2ludGVyZmFjZS5oOgorCUphc29uIEVkbWVhZGVzIDx1c0B0aGUtZWRtZWFkZXMuZGVtb24uY28udWs+CisJLSBBZGQgc3VwcG9ydCAoYXMgZmFyIGFzIHdhcyBwcmV2aW91c2x5KSBmb3IgdGhlIFZlcnRleEJ1ZmZlciBhbmQKKwkgIFJlc291cmNlIGNsYXNzZXMgaW4gd2luZWQzZCBhbmQgdXNlIHdoZW4gY2FsbGVkIGZyb20gZDNkOS4KKwktIFJlZHVjZSB0aGUgaGVhZGVyIGluY2x1ZGVzIGluIGFsbCB0aGUgZDNkOSBpbnRlcmZhY2UgdG8gb25lIGNvbW1vbgorCSAgc2V0IGluIHRoZSBwcml2YXRlIGhlYWRlci4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWM6IFZpbmNlbnQgQulyb24gPHZiZXJvbkBtZWNhbm8uZ21lLnVzaGVyYi5jYT4KKwlEb24ndCBidWlsZCB3aW5lLXByZWxvYWRlciBmb3Igb3RoZXIgY3B1cyB0aGFuIHg4Ni4KKworCSogZGxscy93aW5tbS93aW5lb3NzL21peGVyLmM6IEhhbnMgTGVpZGVra2VyIDxoYW5zQGl0LnZ1Lm5sPgorCWdldE1lc3NhZ2UoKSBpcyBvbmx5IGRlZmluZWQgd2hlbiBIQVZFX09TUyBpcyBkZWZpbmVkLgorCisJKiBkbGxzL3RhcGkzMi9hc3Npc3RlZC5jLCBkbGxzL3RhcGkzMi9saW5lLmMsIGRsbHMvdGFwaTMyL3Bob25lLmMsCisJICBkbGxzL3RhcGkzMi90YXBpMzIuc3BlYywgaW5jbHVkZS90YXBpLmg6CisJUmVpbiBLbGF6ZXMgPHJrbGF6ZXNAeHM0YWxsLm5sPgorCVByb3ZpZGUgYW4gJ0EnIHZlcnNpb24gb2YgYXBwcm9wcmlhdGUgZnVuY3Rpb25zLgorCisJKiBkbGxzL21zdmNydC9maWxlLmMsIGRsbHMvbXN2Y3J0L21zdmNydC5oLCBkbGxzL21zdmNydC9tc3ZjcnQuc3BlYzoKKwlIYW5zIExlaWRla2tlciA8aGFuc0BpdC52dS5ubD4KKwlQcmVmaXggX2Zzb3BlbiB3aXRoIE1TVkNSVF8gdG8gYXZvaWQgY29sbGlzaW9uIHdpdGggTWluR1cgaGVhZGVyLgorCVR5cG8gZml4LgorCisJKiB0b29scy93aW5lYnVpbGQvaW1wb3J0LmM6IFZpbmNlbnQgQulyb24gPHZiZXJvbkBtZWNhbm8uZ21lLnVzaGVyYi5jYT4KKwlEb24ndCB1c2UgbWFnaWMgc2l6ZXMsIGFjdHVhbGx5IGNhbGN1bGF0ZSB0aGVtLgorCisJKiB0b29scy93aW5lYnVpbGQvc3BlYzE2LmM6IFZpbmNlbnQgQulyb24gPHZiZXJvbkBtZWNhbm8uZ21lLnVzaGVyYi5jYT4KKwlPbmx5IGNvbXBpbGUgQnVpbGRDYWxsRnJvbTE2RnVuYyBvbiB4ODYuCisKKwkqIGRsbHMvc2hsd2FwaS9yZWcuYywgZGxscy9zaGx3YXBpL3Rlc3RzL3NocmVnLmM6CisJQmlsbCBNZWRsYW5kIDxiaWxsbWVkbGFuZEBtZXJjdXJ5c3BlZWQuY29tPgorCUZpeCBTSERlbGV0ZUtleSBzbyB0aGF0IGl0IHdpbGwgaGFuZGxlIGRlbGV0aW5nIGEga2V5IHdpdGggbW9yZSB0aGFuCisJb25lIHN1YmtleS4gIEFsc28gaW5jbHVkZXMgdGVzdC4KKworCSogaW5jbHVkZS93aW51c2VyLmg6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgZGVjbGFyYXRpb25zIGZvciBHZXRDbGFzc0xvbmdQdHJ7QSxXfSwgR0NMUF8qIGRlZmluZXMgYW5kIHVzZXIKKwlvYmplY3QgaW5mb3JtYXRpb24gZGVmaW5lcy4KKworMjAwNC0xMC0xMSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9kYmdoZWxwL2RiZ2hlbHAuc3BlYywgZGxscy9kYmdoZWxwL3NvdXJjZS5jLAorCSAgZGxscy9kYmdoZWxwL3N5bWJvbC5jLCBkbGxzL2RiZ2hlbHAvdHlwZS5jLCBpbmNsdWRlL2RiZ2hlbHAuaCwKKwkgIHByb2dyYW1zL3Rhc2ttZ3IvZGJnY2hubC5jLCBwcm9ncmFtcy93aW5lZGJnL21lbW9yeS5jLAorCSAgcHJvZ3JhbXMvd2luZWRiZy9zeW1ib2wuYzoKKwlSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJRml4IGZ1bmN0aW9uIGFuZCBzdHJ1Y3R1cmUgZmllbGQgdHlwZXMgc28gd2UgYXJlIGNvbXBhdGlibGUgd2l0aCB0aGUKKwluYXRpdmUgZGJnaGVscC4KKworCSogZGxscy9rZXJuZWwvcHJvY2Vzcy5jLCBkbGxzL2tlcm5lbC92aXJ0dWFsLmMsIGRsbHMvbnRkbGwvZW52LmMsCisJICBkbGxzL250ZGxsL2hlYXAuYywgZGxscy9udGRsbC9sb2FkZXIuYywgZGxscy9udGRsbC9yZWxheS5jLAorCSAgZGxscy9udGRsbC90aHJlYWQuYywgZGxscy9udGRsbC92aXJ0dWFsLmMsIGluY2x1ZGUvd2ludGVybmwuaDoKKwlSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJRml4IE50QWxsb2NhdGVWaXJ0dWFsTWVtb3J5IGRlY2xhcmF0aW9uIGFuZCBmaXggdXNlcnMgb2YgdGhlCisJZnVuY3Rpb24uCisKKwkqIGluY2x1ZGUvbXN2Y3J0L3N5cy90eXBlcy5oOiBNYXJ0aW4gRnVjaHMgPG1hcnRpbi1mdWNoc0BnbXgubmV0PgorCURlZmluZSBwaWRfdCBhbmQgc3NpemVfdCBpZiBub3QgYWxyZWFkeSBkZWZpbmVkLgorCisJKiBkbGxzL29sZWF1dDMyL3ZhcmlhbnQuYzogV2FsdCBPZ2J1cm4gPHJldWJlbkB1Z2NzLmNhbHRlY2guZWR1PgorCUFsbG93IGV4cG9uZW50cyBvZiB6ZXJvIChsaWtlICIxLjAwMEUwIikgdG8gcGFyc2UKKwljb3JyZWN0bHkuIFByZXZpb3VzbHksIHRoZXkgY2F1c2VkIERJU1BfRV9UWVBFTUlTTUFUQ0guCisKKwkqIGluY2x1ZGUvd2luZS9wb3J0Lmg6CisJQWRkZWQgZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiBzdHJ1Y3QgdGltZXZhbCBmb3IgZnV0aW1lcy4KKworCSogZGxscy9rZXJuZWwva2VybmVsX21haW4uYywgZGxscy9rZXJuZWwvc3luYy5jLCBkbGxzL250ZGxsL250ZGxsLnNwZWMsCisJICBkbGxzL250ZGxsL3N5bmMuYywgaW5jbHVkZS93aW50ZXJubC5oOgorCUltcGxlbWVudGVkIE50WWllbGRFeGVjdXRpb24uCisKKwkqIGRsbHMvZGJnaGVscC9kYmdoZWxwX3ByaXZhdGUuaCwgZGxscy9kYmdoZWxwL21zYy5jLAorCSAgZGxscy9kYmdoZWxwL3BlX21vZHVsZS5jOgorCVJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwktIE1vdmUgaGVhZGVyIHBhcnNpbmcgdG8gY2FsbGVycyBvZiBwZV9sb2FkX2RlYnVnX2RpcmVjdG9yeS4KKwktIEFkZCBzdHVicyBhbmQgc3RydWN0dXJlcyBmb3IgTEZfUFJPQ0VEVVJFIHR5cGVzLgorCisJKiBpbmNsdWRlL3dpbmNyeXB0Lmg6IE1pY2hhZWwgSnVuZyA8bWp1bmdAaXNzLnR1LWRhcm1zdGFkdC5kZT4KKwlBZGRlZCBITUFDX0lORk8gdHlwZWRlZi4KKworCSogZGxscy93aW5tbS9tY2lzZXEvbWNpbWlkaS5jLCBkbGxzL3dpbm1tL3dpbmVvc3MvbWlkaS5jLAorCSAgZGxscy93aW5tbS93aW5lb3NzL21peGVyLmMsIGRsbHMvd2lubW0vd2lubW0uYywKKwkgIGRvY3VtZW50YXRpb24vbXVsdGltZWRpYS5zZ21sOgorCUVyaWMgUG91ZWNoIDxwb3VlY2gtZXJpY0B3YW5hZG9vLmZyPgorCS0gYnJpbmcgdGhlIG11bHRpbWVkaWEgZG9jIHVwLXRvLWRhdGUKKwktIG1vdmVkIHRoZSBUT0RPIGZyb20gdGhlIGRvYyBpbnRvIHRoZSBjb2RlCisKKwkqIGRsbHMvdXNlci90ZXN0cy9tc2cuYywgZGxscy91c2VyL3Rlc3RzL3dpbi5jLCB3aW5kb3dzL21kaS5jOgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJLSBXTV9NRElTRVRNRU5VIGhhbmRsZXIgc2hvdWxkIHVwZGF0ZSBuZXcgZnJhbWUgbWVudSBvbmx5IGlmIGFuIGFjdGl2ZQorCSAgYW5kIG1heGltaXplZCBNREkgY2hpbGQgaXMgdmlzaWJsZS4KKwktIEFkZCBhIHRlc3QgY2FzZSBmb3IgTURJIGNoaWxkIGFjdGl2YXRpb24gc2VxdWVuY2UuCisKKwkqIGRsbHMvZ2RpL3Rlc3RzL2JpdG1hcC5jOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCUFwcGFyZW50bHkgdGhpcyBwb3J0aW9uIG9mIHRoZSB0ZXN0IHdhcyBmYWlsaW5nIHVuZGVyIHNvbWUgdmVyc2lvbnMgb2YKKwl3aW54cCwgc28gcmVtb3ZlIGl0LgorCisJKiB0b29scy93aWRsL2hlYWRlci5jLCB0b29scy93aWRsL2hlYWRlci5oLCB0b29scy93aWRsL3BhcnNlci55LAorCSAgdG9vbHMvd2lkbC9wcm94eS5jLCB0b29scy93aWRsL3R5cGVsaWIuYywgdG9vbHMvd2lkbC93aWRsLmM6CisJSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwktIEFkZGVkIGNyZWF0aW9uIG9mIGRpc3BpbnRlcmZhY2UgaGVhZGVyLgorCS0gQWRkZWQgY3JlYXRpb24gb2YgY29jbGFzcyBoZWFkZXIuCisJLSBBZGRlZCBtZXNzYWdlcyB3aGVuIGZvcGVuIGZhaWxzLgorCisJKiBkbGxzL2tlcm5lbC9kb3NtZW0uYzogSGFucyBMZWlkZWtrZXIgPGhhbnNAaXQudnUubmw+CisJQXZvaWQgdXNpbmcgZ2V0dGltZW9mZGF5LgorCisJKiBkbGxzL2tlcm5lbC9maWxlLmM6IEhhbnMgTGVpZGVra2VyIDxoYW5zQGl0LnZ1Lm5sPgorCUluY2x1ZGUgc3RkaW8uaCBmb3IgTWluR1cuCisKKwkqIGRsbHMvYWR2YXBpMzIvY3J5cHQuYzogTWljaGFlbCBKdW5nIDxtanVuZ0Bpc3MudHUtZGFybXN0YWR0LmRlPgorCUNyeXB0RGVyaXZlS2V5IC0gc2V0IHJldHVybiBrZXkgaGFuZGxlIHRvIE5VTEwgaW4gY2FzZSBvZiBmYWlsdXJlLgorCisJKiBkbGxzL3NoZWxsMzIvdGVzdHMvc2hsZm9sZGVyLmM6CisJVml0YWxpeSBNYXJnb2xlbiA8d2luZS1wYXRjaEBraWV2aW5mby5jb20+CisJU29ydCBmaWxlcy9mb2xkZXJzIGJlZm9yZSB0ZXN0aW5nLgorCisJKiBpbmNsdWRlL3dpbm50Lmg6IEFkYW0gRC4gTW9zcyA8YWRhbUBnaW1wLm9yZz4KKwlEZWZpbmUgVkVSX1NVSVRFX0JMQURFLgorCisJKiB0b29scy93aW5hcGkvbXN2Y21ha2VyOiBTdGV2ZW4gRWR3YXJkcyA8c3RldmVuX2VkNDE1M0B5YWhvby5jb20+CisJQ29ycmVjdGx5IGRlZmluZSBXSU5WRVIsIF9XSU4zMl9XSU5OVCBhbmQgX1dJTjMyX0lFIHZlcnNpb25zIGluIGFsbAorCWNhc2VzLgorCisJKiB3aW5kb3dzL2RpYWxvZy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVVuaWNvZGlmeSBESUFMT0dfRGxnRGlyU2VsZWN0LiBVc2UgU2VuZE1lc3NhZ2VXIHdoZW5ldmVyIHBvc3NpYmxlLgorCisJKiBkbGxzL3VzZXIvbGlzdGJveC5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUF1ZGl0IHRoZSBsaXN0Ym94IGNvbnRyb2wuCisJRml4IHNvbWUgaW5kZW50YXRpb24gcHJvYmxlbXMuCisKKwkqIGxpYnMvcG9ydC9pbnRlcmxvY2tlZC5jLCBsaWJzL3dpbmUvcG9ydC5jOgorCVZpbmNlbnQgQulyb24gPHZiZXJvbkBtZWNhbm8uZ21lLnVzaGVyYi5jYT4KKwlJbXBsZW1lbnQgaW50ZXJsb2NrZWQqIGFuZCB3aW5lX3N3aXRjaF90b19zdGFjayBmb3IgQWxwaGEuCisKKzIwMDQtMTAtMDkgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvY29tY3RsMzIvdGFiLmM6IEpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJSXRlbXMgYXJlIHZhcmlhYmxlIHNpemVkLCB1c2UgYW4gYWNjZXNzb3IgdG8gZ2V0IGF0IHRoZW0uCisJQ29tYmluZSBBL1cgY2FsbHMgdG9nZXRoZXIgdG8gcmVtb3ZlIGR1cGxpY2F0aW9uLgorCURvbid0IGxlYWsgdGV4dCB3aGVuIHJlbW92aW5nL2NoYW5naW5nIGl0ZW1zLgorCVR1cm4gb2ZmIGhvdCB0cmFja2luZyB3aGVuIHdlIGRlbGV0ZSB0aGUgbGFzdCBpdGVtLgorCVVzZSB0aGUgJ2RlbGV0ZSAxIGl0ZW0nIGxvZ2ljIHdoZW4gZGVsZXRpbmcgYWxsIGl0ZW1zLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgZGxscy9udGRsbC9zeW5jLmMsIGluY2x1ZGUvY29uZmlnLmguaW46CisJSmVyZW15IFdoaXRlIDxqd2hpdGVAY29kZXdlYXZlcnMuY29tPgorCU1hZGUgTnREZWxheUV4ZWN1dGlvbiB3aXRoIGEgMCB0aW1lb3V0IHlpZWxkIHRoZSBDUFUsIGFzIGl0IGlzCisJc3VwcG9zZWQgdG8uCisKKzIwMDQtMTAtMDggIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjOgorCUJ1aWxkIFdpbmUgYXMgMzItYml0IGJ5IGRlZmF1bHQgb24geDg2LTY0LCBhbmQgYWRkZWQgYSAtLWVuYWJsZS13aW42NAorCW9wdGlvbiBmb3IgcGVvcGxlIHdobyB3YW50IHRvIHBsYXkgd2l0aCA2NC1iaXQgc3VwcG9ydC4KKworCSogZGxscy91c2VyL3Rlc3RzL21zZy5jLCB3aW5kb3dzL21kaS5jOgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJUHJvcGVybHkgaGFuZGxlIHRoZSBjYXNlIHdoZW4gbGFzdCBNREkgY2hpbGQgaXMgYmVpbmcgZGVzdHJveWVkLgorCisJKiBkbGxzL2tlcm5lbC90ZXN0cy9jb25zb2xlLmM6IEZlcmVuYyBXYWduZXIgPHdmZXJpQGFmYXZhbnQuZWx0ZS5odT4KKwlVbmNvbmRpdGlvbmFsbHkgb3BlbiBhIGZyZXNoIGNvbnNvbGUgZm9yIHRoZSB0ZXN0cy4KKworCSogZGxscy9tc2kvYWN0aW9uLmM6IEFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJUHJvcGVybHkgY29tcGFyZSBmaWxlIHZlcnNpb25zIHdoZW4gdXBncmFkaW5nIGZpbGVzIHNvIHRoYXQgbmV3CisJdmVyc2lvbnMgZ2V0IHByb3Blcmx5IGluc3RhbGxlZC4KKworCSogdG9vbHMvd2luZWJ1aWxkL2J1aWxkLmgsIHRvb2xzL3dpbmVidWlsZC9pbXBvcnQuYywKKwkgIHRvb2xzL3dpbmVidWlsZC9tYWluLmMsIHRvb2xzL3dpbmVidWlsZC93aW5lYnVpbGQubWFuLmluLAorCSAgdG9vbHMvd2luZWdjYy9NYWtlZmlsZS5pbiwgdG9vbHMvd2luZWdjYy93aW5lZ2NjLmM6CisJQWRkZWQgLS1sZC1jbWQgYW5kIC0tbm0tY21kIG9wdGlvbnMgaW4gd2luZWJ1aWxkLCBhbmQgbWFrZSB3aW5lZ2NjCisJcGFzcyB0aGUgcHJvcGVyIGxkIGNvbW1hbmQuCisKKwkqIGRsbHMvY29tbWRsZy9maWxlZGxnMTYuYywgZGxscy9tc2Ntcy9wcm9maWxlLmM6CisJVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCUJldHRlciBkb2N1bWVudCBzb21lIGFwaXMgaW4gY29tbWRsZyBhbmQgbXNjbXMuCisKKwkqIHRvb2xzL3dpbmFwaS93aW4xNi5hcGksIHRvb2xzL3dpbmFwaS93aW4zMi5hcGk6CisJVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCVVwZGF0ZSB0eXBlcyBjaGVja2VkIGJ5IHdpbmFwaV9jaGVjay4KKworCSogaW5jbHVkZS9leGRpc3AuaWRsOiBKYWNlayBDYWJhbiA8amFja0BpdG1hLnB3ci53cm9jLnBsPgorCUFkZGVkIElXZWJCcm93c2UyIGludGVyZmFjZS4KKworCSogZGxscy9rZXJuZWwvcGF0aC5jLCBkbGxzL3F1YXJ0ei9tYWluLmM6CisJVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCUNvcnJlY3QgdGhlIGNhbGxpbmcgY29udmVudGlvbiBvZiBHZXRTeXN0ZW1Xb3c2NERpcmVjdG9yeXtBLFd9LAorCUFtcEZhY3RvclRvREIgYW5kIERCVG9BbXBGYWN0b3IuCisKKwkqIGRsbHMvZDNkOC9kM2Q4X3ByaXZhdGUuaCwgZGxscy9kM2Q4L2RldmljZS5jLCBkbGxzL2QzZDgvZGlyZWN0eC5jLAorCSAgZGxscy9kM2Q5L2RldmljZS5jLCBkbGxzL2QzZDkvZGlyZWN0eC5jLCBkbGxzL3dpbmVkM2QvZGlyZWN0eC5jLAorCSAgZGxscy93aW5lZDNkL3dpbmVkM2RfcHJpdmF0ZS5oLCBpbmNsdWRlL2QzZDl0eXBlcy5oLAorCSAgaW5jbHVkZS93aW5lL3dpbmVkM2RfaW50ZXJmYWNlLmg6CisJSmFzb24gRWRtZWFkZXMgPHVzQHRoZS1lZG1lYWRlcy5kZW1vbi5jby51az4KKwlDb3B5IGFuZCB0aWR5IHVwIHRoZSBjb2RlIGZyb20gZHg4IGNyZWF0ZSBkZXZpY2UgaW50byB3aW5lZDNkLiBDYWxsCisJZnJvbSB3aW5lZDNkIGFuZCBkM2Q4LCBidXQgc2hvcnQgdGVybSBvbmx5IHVzZSB0aGUgY29kZSBmb3IgcmVhbCBmcm9tCisJZDNkOS4KKworCSogZGxscy91c2VyL3Njcm9sbC5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUF1ZGl0IHRoZSBzY3JvbGwgY29udHJvbC4KKwlSZW9yZ2FuaXplIHRoZSBkb2N1bWVudGF0aW9uIGluIGEgbW9yZSByZWFkYWJsZSBmb3JtYXQuCisKKwkqIGRsbHMvdXNlci9lZGl0LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJQXVkaXQgdGhlIGVkaXQgY29udHJvbC4KKworCSogcHJvZ3JhbXMvd2luZWZpbGUvRnIucmM6IFN5bHZhaW4gUGV0cmVvbGxlIDxzcGV0cmVvbGxlQHlhaG9vLmZyPgorCVVwZGF0ZSBGcmVuY2ggdHJhbnNsYXRpb24uCisKKwkqIGRsbHMveDExZHJ2L2tleWJvYXJkLmM6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJRGlzYWJsZSByZW1haW5pbmcgcGllY2Ugb2YgdGhlIGNvZGUgd2hpY2ggYXV0byBhc3NpZ25zIHZpcnR1YWwga2V5CisJY29kZXMsIGl0IGJyZWFrcyBWS19PRU1fMTAyIGluIGZpbm5pc2gvc3dlZGlzaCBrZXlib2FyZCBsYXlvdXRzLgorCisJKiBpbmNsdWRlL01ha2VmaWxlLmluLCBpbmNsdWRlL3JlYXNvbi5oLCBpbmNsdWRlL3dpbnJlZy5oLAorCSAgaW5jbHVkZS93aW51c2VyLmg6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgc29tZSByZWFzb24gY29kZXMgZm9yIEV4aXRXaW5kb3dzRXgoKS4KKwlBbHNvIGFkZCBFV1hfRk9SQ0VJRkhVTkcuCisKKwkqIHByb2dyYW1zL25vdGVwYWQvbWFpbi5jOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCUJyaW5nIHVwIHRoZSBGaWxlLT5TYXZlIGRpYWxvZyB3aGVuIHJlY2VpdmluZyBXTV9RVUVSWUVORFNFU1NJT04uCisKKwkqIGRsbHMvaGhjdHJsLm9jeC9oaGN0cmwuYywgZGxscy9oaGN0cmwub2N4L2hoY3RybC5vY3guc3BlYywKKwkgIGluY2x1ZGUvaHRtbGhlbHAuaDoKKwlKYWNlayBDYWJhbiA8amFja0BpdG1hLnB3ci53cm9jLnBsPgorCS0gQWRkZWQgZG9XaW5NYWluIHN0dWIKKwktIEZpeGVkIGh0bWxoZWxwLmgKKworCSogZGxscy93aW5pbmV0L25ldGNvbm5lY3Rpb24uYzoKKwlWaW5jZW50IELpcm9uIDx2YmVyb25AbWVjYW5vLmdtZS51c2hlcmIuY2E+CisJUmVtb3ZlICNpZmRlZiBIQVZFX1NZU19UWVBFU19ILgorCisyMDA0LTEwLTA3ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2FkdmFwaTMyL2NyeXB0X21kNC5jLCBkbGxzL2FkdmFwaTMyL2NyeXB0X21kNS5jOgorCVJlbW92ZWQgd3JvbmcgbWVtc2V0IGNhbGxzLgorCisJKiBkbGxzL2FkdmFwaTMyL2FkdmFwaTMyLnNwZWM6CisJRml4ZWQgTUQ0RmluYWwvTUQ1RmluYWwgZW50cmllcyAoc3BvdHRlZCBieSBWaW5jZW50IELpcm9uKS4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGRsbHMvbXNjbXMvTWFrZWZpbGUuaW4sIGRsbHMvbXNjbXMvaGFuZGxlLmMsCisJICBkbGxzL21zY21zL2xjbXNfYXBpLmgsIGRsbHMvbXNjbXMvbXNjbXMuc3BlYywKKwkgIGRsbHMvbXNjbXMvbXNjbXNfbWFpbi5jLCBkbGxzL21zY21zL21zY21zX3ByaXYuaCwKKwkgIGRsbHMvbXNjbXMvcHJvZmlsZS5jLCBkbGxzL21zY21zL3Rlc3RzLy5jdnNpZ25vcmUsCisJICBkbGxzL21zY21zL3Rlc3RzL01ha2VmaWxlLmluLCBkbGxzL21zY21zL3Rlc3RzL3Byb2ZpbGUuYywKKwkgIGluY2x1ZGUvY29uZmlnLmguaW4sIGluY2x1ZGUvaWNtLmg6CisJSGFucyBMZWlkZWtrZXIgPGhhbnNAaXQudnUubmw+CisJSW1wbGVtZW50IGNvbG9yIHByb2ZpbGUgaGFuZGxlcy4KKwlJbXBsZW1lbnQgT3BlbkNvbG9yUHJvZmlsZXtBLFd9IGFuZCBDbG9zZUNvbG9yUHJvZmlsZS4KKwlJbXBsZW1lbnQgR2V0Q29sb3JEaXJlY3Rvcnl7QSxXfSBhbmQgSW5zdGFsbENvbG9yUHJvZmlsZXtBLFd9LgorCUltcGxlbWVudCBVbmluc3RhbGxDb2xvclByb2ZpbGV7QSxXfS4KKwlEeW5hbWljYWxseSBsb2FkIGxpYmxjbXMuCisJQWRkIHRlc3RzLgorCisJKiB0b29scy93aW5hcGlfY2hlY2svbW9kdWxlcy5wbSwgdG9vbHMvd2luYXBpX2NoZWNrL25hdGl2ZWFwaS5wbSwKKwkgIHRvb2xzL3dpbmFwaV9jaGVjay9wcmVwcm9jZXNzb3IucG0sCisJICB0b29scy93aW5hcGlfY2hlY2svd2luYXBpX2NfcGFyc2VyLnBtLAorCSAgdG9vbHMvd2luYXBpX2NoZWNrL3dpbmFwaV9jaGVjaywKKwkgIHRvb2xzL3dpbmFwaV9jaGVjay93aW5hcGlfZG9jdW1lbnRhdGlvbi5wbSwKKwkgIHRvb2xzL3dpbmFwaV9jaGVjay93aW5hcGlfZnVuY3Rpb24ucG0sCisJICB0b29scy93aW5hcGlfY2hlY2svd2luYXBpX2dsb2JhbC5wbSwKKwkgIHRvb2xzL3dpbmFwaV9jaGVjay93aW5hcGlfbG9jYWwucG0sCisJICB0b29scy93aW5hcGlfY2hlY2svd2luYXBpX3BhcnNlci5wbToKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlBZGQgZnVuY3Rpb24gcHJvdG90eXBlcy4KKwlNb2RpZnkgZnVuY3Rpb24gY2FsbHMgc28gdGhlIHByb3RvdHlwZXMgYXJlIGNoZWNrZWQuCisKKwkqIGxpYnMvcG9ydC9mdXRpbWVzLmM6IEplcmVteSBXaGl0ZSA8andoaXRlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlOZWVkIHRvIGluY2x1ZGUgc3lzL3RpbWUuaC4KKworCSogcHJvZ3JhbXMvd2luZWZpbGUvRW4ucmMsIHByb2dyYW1zL3dpbmVmaWxlL0l0LnJjLAorCSAgcHJvZ3JhbXMvd2luZWZpbGUvUGwucmMsIHByb2dyYW1zL3dpbmVmaWxlL3Jlc291cmNlLmgsCisJICBwcm9ncmFtcy93aW5lZmlsZS93aW5lZmlsZS5jOgorCU1hcnRpbiBGdWNocyA8bWFydGluLWZ1Y2hzQGdteC5uZXQ+CisJLSByZW1vdmUgdW51c2VkIElEU19GSUxFX01PVkVfRVJST1IKKwktIHVzZSBTZXRXaW5kb3dGb250KCkgaW5zdGVhZCBvZiBTZW5kTWVzc2FnZShXTV9TRVRGT05UKQorCS0gcmVtb3ZlIHVudXNlZCBjb21tZW50CisJLSB1c2UgR0VUX1hfTFBBUkFNKCkgaW5zdGVhZCBvZiBHRVRfWF9MUEFSQU0oKQorCS0gcmVtb3ZlIG9sZCBfUk9TXyBwcmVwcm9jZXNzb3Igc3RhdGVtZW50cworCisJKiBkbGxzL2NvbW1kbGcvZm9udGRsZy5jOiBKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCUNvbnN0aWZ5IHNvbWUgc3RhdGljcyBhbmQgbWFrZSB0aGVtIHNtYWxsZXIuCisKKwkqIGRsbHMvY29tY3RsMzIvaW1hZ2VsaXN0LmMsIGRsbHMvY29tY3RsMzIvdGVzdHMvaW1hZ2VsaXN0LmM6CisJSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlJbWFnZUxpc3RfTWVyZ2Ugc2hvdWxkIG5vdCBmYWlsIGlmIGluZGljZXMgYXJlIGJhZC4KKwlBZGQgdGVzdHMgZm9yIHRoaXMgY2FzZSwgYSB2aXNpYmxlIHRlc3QgbW9kZSBhbmQgZml4IERyYXdJbmRpcmVjdCB0ZXN0CisJdW5kZXIgc29tZSBuYXRpdmUgY29tY3RsMzIuZGxsJ3MuCisKKwkqIGRsbHMvY29tY3RsMzIvdHJlZXZpZXcuYzogSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlEcmF3ICsvLSBjb3JyZWN0bHkgZm9yIGxhcmdlIGljb24gc2l6ZXMuCisKKwkqIGluY2x1ZGUvd2ludXNlci5oOiBKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCUFkZCBtaXNzaW5nIE9EU18gY29uc3RhbnRzLCB0YWduYW1lLgorCisJKiBkbGxzL2RiZ2hlbHAvZGJnaGVscF9wcml2YXRlLmg6CisJSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlWZWN0b3JzIG5lZWQgYWxsIDMyIGJpdHMgdG8gaGFuZGxlIF9yZWFsbHlfIGxhcmdlIGFwcHMuCisKKwkqIHRvb2xzL2dlbnBhdGNoOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlUaGUgZ2VuZXJhdGVkIHBhdGNoIHdhcyBtaXNzaW5nIGEgbGluZSBvZiB0aGUgZGlmZi4KKwlnZW5wYXRjaCB3YXMgYWxzbyBkZXBlbmRpbmcgb24gdGhlIG5ldyBmaWxlcyBiZWluZyBsaXN0ZWQgZmlyc3QgYnkKKwknY3ZzIGRpZmYnICh3aGljaCBpcyB0aGUgY2FzZSBidXQgSSdtIG5vdCBzdXJlIHRoZXJlIGlzIGFueSBoYXJkCisJZ3VhcmFudGVlKS4KKwlVc2UgJ3BlcmwgLXcnIGZvciBtb3JlIGNoZWNraW5nLCBmaXggdGhlIHJlc3VsdGluZyAndW5kZWZpbmVkIHZhbHVlJworCXdhcm5pbmdzLiBJbiBtYW55IGNhc2VzIHdlIGRvbid0IGp1c3Qgd2FudCAkb3B0aW9uc3t4eHh9IHRvIGV4aXN0LCB3ZQorCXdhbnQgaXQgdG8gYmUgZGVmaW5lZC4KKwlSZXN0cmljdCB0aGUgc2NvcGUgb2YgdmFyaWFibGVzIGFuZCByZW1vdmUgdW5uZWVkZWQgdmFyaWFibGVzLgorCisJKiBwcm9ncmFtcy93aW5lZmlsZS93aW5lZmlsZS5jOiBNYXJ0aW4gRnVjaHMgPG1hcnRpbi1mdWNoc0BnbXgubmV0PgorCUZpeCAibW92ZSBmaWxlIiBpbXBsZW1lbnRhdGlvbiwgaW4gZGV0YWlsOgorCS0gdXNlIFRDSEFSIHRvIG1ha2UgdGhlIGNvZGUgVU5JQ09ERSBjb21wYXRpYmxlCisJLSBwYXNzIHJldHVybiBzdHJpbmcgYnVmZmVyIHRvIHRoZSBkaWFsb2cgcHJvY2VkdXJlCisJLSBjYWxsIGRpc3BsYXlfZXJyb3IoKSBpbiBjYXNlIG9mIGVycm9ycyB0byBkaXNwbGF5IHRoZSBXSU4zMiBlcnJvcgorCSAgbWVzc2FnZQorCS0gdXNlIHNsYXNoIGluc3RlYWQgb2YgYmFjayBzbGFzaCBmb3IgdW5peCBmaWxlIHN5c3RlbSBjb21wYXRpYmlsaXR5CisJLSBmb3JtYXQgdGhlIGNvZGUgZXF1YWxseSB0byB0aGUgcmVtYWluaW5nIHdpbmVmaWxlIGNvZGUKKworCSogZGxscy9udGRsbC9maWxlLmMsIGluY2x1ZGUvd2luZS9wb3J0LmgsIGxpYnMvcG9ydC9NYWtlZmlsZS5pbiwKKwkgIGxpYnMvcG9ydC9mdXRpbWVzLmM6CisJQWRkZWQgYSBmYWxsYmFjayBpbXBsZW1lbnRhdGlvbiBvZiBmdXRpbWVzLgorCisJKiBkbGxzL2QzZDkvZDNkOV9wcml2YXRlLmgsIGRsbHMvZDNkOS9kZXZpY2UuYywgZGxscy9kM2Q5L2RpcmVjdHguYywKKwkgIGRsbHMvd2luZWQzZC9NYWtlZmlsZS5pbiwgZGxscy93aW5lZDNkL2RldmljZS5jLAorCSAgZGxscy93aW5lZDNkL2RpcmVjdHguYywgZGxscy93aW5lZDNkL3dpbmVkM2RfcHJpdmF0ZS5oLAorCSAgaW5jbHVkZS93aW5lL3dpbmVkM2RfaW50ZXJmYWNlLmg6CisJSmFzb24gRWRtZWFkZXMgPHVzQHRoZS1lZG1lYWRlcy5kZW1vbi5jby51az4KKwlBZGQgYSBJV2luZUQzRERldmljZSBvYmplY3QgdHlwZSAoZW1wdHkgZm9yIG5vdyksIGFuZCBjcmVhdGUgb25lIHdoZW4KKwlhbiBJRGlyZWN0M0REZXZpY2Ugb2JqZWN0IGlzIGNyZWF0ZWQuCisKKwkqIHRvb2xzL3dpbmFwaS9tYWtlX2ZpbHRlcl9vcHRpb25zLnBtLAorCSAgdG9vbHMvd2luYXBpL21zdmNtYWtlcl9vcHRpb25zLnBtLAorCSAgdG9vbHMvd2luYXBpL3dpbmFwaV9jaGVja19vcHRpb25zLnBtLAorCSAgdG9vbHMvd2luYXBpL3dpbmFwaV9jbGVhbnVwX29wdGlvbnMucG0sCisJICB0b29scy93aW5hcGkvd2luYXBpX2V4dHJhY3Rfb3B0aW9ucy5wbSwKKwkgIHRvb2xzL3dpbmFwaS93aW5hcGlfZml4dXBfb3B0aW9ucy5wbSwKKwkgIHRvb2xzL3dpbmFwaS93aW5hcGlfdGVzdF9vcHRpb25zLnBtOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCURvbid0IGltcG9ydCBwYXJzZV9jb21tYV9saXN0KCkgdW5sZXNzIG5lY2Vzc2FyeS4KKwl3aW5hcGlfY2hlY2tfb3B0aW9ucy5wbTogRml4IHR5cG8gaW4gdGhlIHBhcnNlX2NvbW1hX2xpc3QoKQorCXJlZmVyZW5jZS4KKworCSogZGxscy9hZHZwYWNrL2FkdnBhY2suYywgZGxscy9hZHZwYWNrL3JlZy5jOgorCVZpbmNlbnQgQulyb24gPHZiZXJvbkBtZWNhbm8uZ21lLnVzaGVyYi5jYT4KKwlVc2UgdGhlIHByb3BlciAjaW5jbHVkZSBmaWxlIGRlbGltaXRlciBpbiBhZHZwYWNrLgorCisJKiBwcm9ncmFtcy93aW5lZmlsZS9Fbi5yYywgcHJvZ3JhbXMvd2luZWZpbGUvSXQucmMsCisJICBwcm9ncmFtcy93aW5lZmlsZS9QbC5yYywgcHJvZ3JhbXMvd2luZWZpbGUvcmVzb3VyY2UuaCwKKwkgIHByb2dyYW1zL3dpbmVmaWxlL3dpbmVmaWxlLmMsIHByb2dyYW1zL3dpbmVmaWxlL3dpbmVmaWxlLmg6CisJTWFydGluIEZ1Y2hzIDxtYXJ0aW4tZnVjaHNAZ214Lm5ldD4KKwlJbW1lZGlhdGVseSByZWZyZXNoIGNoaWxkIHdpbmRvd3MgYWZ0ZXIgY2hhbmdpbmcgdGhlIGZvbnQuCisKKwkqIE1ha2UucnVsZXMuaW4sIE1ha2VmaWxlLmluOgorCUZvcmNlIGFsbCB0aGUgdG9vbHMgdG8gYmUgcmVidWlsdCBiZWZvcmUgbWFrZSBkZXBlbmQsIG90aGVyd2lzZSBtYWtlCisJd2lsbCB0cnkgdG8gZG8gdGhhdCBmcm9tIHRoZSBpbmNsdWRlIGRpcmVjdG9yeS4KKworCSogZGxscy91c2VyL21lc3NhZ2UuYywgZGxscy91c2VyL3BhaW50aW5nLmMsIHdpbmRvd3MvcGFpbnRpbmcuYywKKwkgIHdpbmRvd3Mvd2lucHJvYy5jOgorCU9ubHkgc2VuZCBXTV9QQUlOVElDT04gYW5kIFdNX0lDT05FUkFTRUJLR05EIHRvIDE2LWJpdCB3aW5kb3dzIChmb3VuZAorCWJ5IEplcmVteSBXaGl0ZSkuCisKKwkqIGRsbHMvYW1zdHJlYW0vYW1zdHJlYW0uYywgZGxscy9hbXN0cmVhbS9tYWluLmMsIGRsbHMvYXRsL2F0bF9tYWluLmMsCisJICBkbGxzL2F2aWZpbDMyL2FwaS5jLCBkbGxzL2F2aWZpbDMyL2ZhY3RvcnkuYywKKwkgIGRsbHMvY29tY2F0L2NvbWNhdF9wcml2YXRlLmgsIGRsbHMvY29tY3RsMzIvY29tY3RsMzJ1bmRvYy5jLAorCSAgZGxscy9jb21jdGwzMi9pbWFnZWxpc3QuYywgZGxscy9jb21tZGxnL2ZpbGVkbGcuYywKKwkgIGRsbHMvY29tbWRsZy9maWxlZGxnYnJvd3Nlci5jLCBkbGxzL2QzZDgvc3VyZmFjZS5jLAorCSAgZGxscy9kM2Q4L3ZvbHVtZS5jLCBkbGxzL2QzZDkvc3VyZmFjZS5jLCBkbGxzL2QzZDkvdm9sdW1lLmMsCisJICBkbGxzL2QzZHhvZi9kM2R4b2YuYywgZGxscy9kM2R4b2YvbWFpbi5jLCBkbGxzL2RkcmF3L2RzdXJmYWNlL21haW4uYywKKwkgIGRsbHMvZGRyYXcvbWFpbi5jLCBkbGxzL2RldmVudW0vZGV2ZW51bV9wcml2YXRlLmgsCisJICBkbGxzL2RpbnB1dC9kaW5wdXRfbWFpbi5jLCBkbGxzL2RwbGF5eC9kcGNsYXNzZmFjdG9yeS5jLAorCSAgZGxscy9kc291bmQvZHNvdW5kX21haW4uYywgZGxscy9pdHNzL2l0c3MuYywgZGxscy9pdHNzL21vbmlrZXIuYywKKwkgIGRsbHMvaXRzcy9zdG9yYWdlLmMsIGRsbHMvbWFwaTMyL3V0aWwuYywgZGxscy9tbGFuZy9tbGFuZy5jLAorCSAgZGxscy9tc2Rtby9kbW9ydC5jLCBkbGxzL21zaS9hY3Rpb24uYywgZGxscy9tc2kvbXNpLmMsCisJICBkbGxzL21zaS9tc2lxdWVyeS5jLCBkbGxzL21zaS9zdW1pbmZvLmMsIGRsbHMvbXNpL3RhYmxlLmMsCisJICBkbGxzL29sZTMyL2FudGltb25pa2VyLmMsIGRsbHMvb2xlMzIvYmluZGN0eC5jLAorCSAgZGxscy9vbGUzMi9jbGlwYm9hcmQuYywgZGxscy9vbGUzMi9jb21wb2JqLmMsCisJICBkbGxzL29sZTMyL2NvbXBvc2l0ZW1vbmlrZXIuYywgZGxscy9vbGUzMi9kYXRhY2FjaGUuYywKKwkgIGRsbHMvb2xlMzIvZGVmYXVsdGhhbmRsZXIuYywgZGxscy9vbGUzMi9maWxlbW9uaWtlci5jLAorCSAgZGxscy9vbGUzMi9mdG1hcnNoYWwuYywgZGxscy9vbGUzMi9naXQuYywgZGxscy9vbGUzMi9oZ2xvYmFsc3RyZWFtLmMsCisJICBkbGxzL29sZTMyL2lmcy5jLCBkbGxzL29sZTMyL2l0ZW1tb25pa2VyLmMsIGRsbHMvb2xlMzIvbWFyc2hhbC5jLAorCSAgZGxscy9vbGUzMi9tZW1sb2NrYnl0ZXMuYywgZGxscy9vbGUzMi9tb25pa2VyLmMsIGRsbHMvb2xlMzIvb2xlMi5jLAorCSAgZGxscy9vbGUzMi9vbGUyaW1wbC5jLCBkbGxzL29sZTMyL29sZW9iai5jLCBkbGxzL29sZTMyL29sZXByb3h5LmMsCisJICBkbGxzL29sZTMyL3JwYy5jLCBkbGxzL29sZTMyL3N0Z19iaWdibG9ja2ZpbGUuYywKKwkgIGRsbHMvb2xlMzIvc3RnX3N0cmVhbS5jLCBkbGxzL29sZTMyL3N0b3JhZ2UzMi5jLAorCSAgZGxscy9vbGVhdXQzMi9jb25ucHQuYywgZGxscy9vbGVhdXQzMi9kaXNwYXRjaC5jLAorCSAgZGxscy9vbGVhdXQzMi9vYWlkbF9wLmMsIGRsbHMvb2xlYXV0MzIvb2xlYXV0LmMsCisJICBkbGxzL29sZWF1dDMyL29sZXBpY3R1cmUuYywgZGxscy9vbGVhdXQzMi90bWFyc2hhbC5jLAorCSAgZGxscy9vbGVhdXQzMi90eXBlbGliLmMsIGRsbHMvb2xlYXV0MzIvdHlwZWxpYjIuYywKKwkgIGRsbHMvb2xlYXV0MzIvdXNybWFyc2hhbC5jLCBkbGxzL3F1YXJ0ei9lbnVtbW9uaWtlci5jLAorCSAgZGxscy9xdWFydHovZmlsdGVyZ3JhcGguYywgZGxscy9xdWFydHovcXVhcnR6X3ByaXZhdGUuaCwKKwkgIGRsbHMvcnBjcnQ0L2Nwcm94eS5jLCBkbGxzL3JwY3J0NC9jcHNmLmMsIGRsbHMvcnBjcnQ0L2NzdHViLmMsCisJICBkbGxzL3JwY3J0NC9uZHJfbWlkbC5jLCBkbGxzL3JwY3J0NC9uZHJfb2xlLmMsCisJICBkbGxzL3NoZG9jdncvc2hkb2N2d19tYWluLmMsIGRsbHMvc2hlbGwzMi9hdXRvY29tcGxldGUuYywKKwkgIGRsbHMvc2hlbGwzMi9icnNmb2xkZXIuYywgZGxscy9zaGVsbDMyL2NwYW5lbGZvbGRlci5jLAorCSAgZGxscy9zaGVsbDMyL2RhdGFvYmplY3QuYywgZGxscy9zaGVsbDMyL2RyYWdkcm9waGVscGVyLmMsCisJICBkbGxzL3NoZWxsMzIvZW51bWlkbGlzdC5jLCBkbGxzL3NoZWxsMzIvZm9sZGVycy5jLAorCSAgZGxscy9zaGVsbDMyL2ljb25jYWNoZS5jLCBkbGxzL3NoZWxsMzIvbWVtb3J5c3RyZWFtLmMsCisJICBkbGxzL3NoZWxsMzIvcGlkbC5jLCBkbGxzL3NoZWxsMzIvc2hlbGwzMl9tYWluLmMsCisJICBkbGxzL3NoZWxsMzIvc2hlbGxsaW5rLmMsIGRsbHMvc2hlbGwzMi9zaGVsbG9sZS5jLAorCSAgZGxscy9zaGVsbDMyL3NoZWxsb3JkLmMsIGRsbHMvc2hlbGwzMi9zaGZsZHJfZGVza3RvcC5jLAorCSAgZGxscy9zaGVsbDMyL3NoZmxkcl9mcy5jLCBkbGxzL3NoZWxsMzIvc2hmbGRyX215Y29tcC5jLAorCSAgZGxscy9zaGVsbDMyL3NobGV4ZWMuYywgZGxscy9zaGVsbDMyL3NobGZvbGRlci5jLAorCSAgZGxscy9zaGVsbDMyL3NobGZzYmluZC5jLCBkbGxzL3NoZWxsMzIvc2hsbWVudS5jLAorCSAgZGxscy9zaGVsbDMyL3Nodl9iZ19jbWVudS5jLCBkbGxzL3NoZWxsMzIvc2h2X2l0ZW1fY21lbnUuYywKKwkgIGRsbHMvc2hsd2FwaS9jbGlzdC5jLCBkbGxzL3NobHdhcGkvaXN0cmVhbS5jLAorCSAgZGxscy9zaGx3YXBpL3JlZ3N0cmVhbS5jLCBkbGxzL3NobHdhcGkvdGhyZWFkLmMsIGRsbHMvdXJsbW9uL3Vtb24uYywKKwkgIGRsbHMvdXJsbW9uL3VybG1vbl9tYWluLmMsIGluY2x1ZGUvb2JqYmFzZS5oLAorCSAgcHJvZ3JhbXMvd2luZW1lbnVidWlsZGVyL3dpbmVtZW51YnVpbGRlci5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCURvbid0IGRlZmluZSBDT0JKTUFDUk9TIGluIG9iamJhc2UuaC4KKwlVcGRhdGUgdGhlIFdpbmUgc291cmNlcyBhY2NvcmRpbmdseS4KKworCSogdG9vbHMvd2luYXBpX2NoZWNrL3dpbmFwaV9sb2NhbC5wbTogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJRml4IGFuICd1bmluaXRpYWxpemVkIHZhbHVlJyB3YXJuaW5nLgorCisJKiBkbGxzL29sZWF1dDMyL3ZhcnR5cGUuYzogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJRml4IHRoZSBWYXJJNEZyb21JMiBBUEkgZG9jdW1lbnRhdGlvbi4KKworCSogZGxscy9zaGVsbDMyL3Rlc3RzL3NobGZvbGRlci5jOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlDb25mb3JtYW5jZSB0ZXN0cyBtdXN0IG5vdCBpbmNsdWRlIHdpbmUvZGVidWcuaC4KKworCSogcHJvZ3JhbXMvd2luZWZpbGUvd2luZWZpbGUuYzogTWFydGluIEZ1Y2hzIDxtYXJ0aW4tZnVjaHNAZ214Lm5ldD4KKwlGaXggc2lnc2VndiB3aGVuIGRvdWJsZSBjbGlja2luZyBkaXJlY3RvcnkgZW50cmllcy4KKworMjAwNC0xMC0wNiAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogaW5jbHVkZS9leGRpc3AuaWRsLCB0b29scy93aWRsL3BhcnNlci55OgorCUFsbG93IGRlZmluZWQgdHlwZXMgdG8gYmUgdXNlZCBhcyBmdW5jdGlvbiBuYW1lcy4KKworCSogZGxscy9hZHZhcGkzMi9NYWtlZmlsZS5pbiwgZGxscy9hZHZhcGkzMi9hZHZhcGkzMi5zcGVjLAorCSAgZGxscy9hZHZhcGkzMi9jcnlwdF9tZDQuYywgZGxscy9hZHZhcGkzMi9jcnlwdF9tZDUuYywKKwkgIGRsbHMvYWR2YXBpMzIvdGVzdHMvLmN2c2lnbm9yZSwgZGxscy9hZHZhcGkzMi90ZXN0cy9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvYWR2YXBpMzIvdGVzdHMvY3J5cHRfbWQ0LmMsIGRsbHMvYWR2YXBpMzIvdGVzdHMvY3J5cHRfbWQ1LmM6CisJSGFucyBMZWlkZWtrZXIgPGhhbnNAaXQudnUubmw+CisJSW1wbGVtZW50IE1EezQsNX1Jbml0IE1EezQsNX1VcGRhdGUgYW5kIE1EezQsNX1GaW5hbC4KKwlBZGQgdGVzdHMgZm9yIHRoZXNlIGZ1bmN0aW9ucy4KKworCSogd2luZG93cy9zcHkuYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlNYWtlIG1lc3NhZ2Ugc3B5IHRocmVhZCBzYWZlLgorCisJKiBkbGxzL3dpbnNvY2svc29ja2V0LmMsIGRsbHMvd2luc29jay90ZXN0cy9zb2NrLmM6CisJUmVpbiBLbGF6ZXMgPHJrbGF6ZXNAeHM0YWxsLm5sPgorCS0gRml4IFdTX2dldHNvY2tvcHQgZm9yIHRoZSBvcHRpb25zIFNPX0xJTkdFUiwgU09fUkNWVElNRU8gYW5kCisJICBTT19TTkRUSU1FTyBieSBhZGRpbmcgZGF0YSBjb252ZXJzaW9uIGZyb20gVW5peCB0byB3aW5kb3dzLgorCS0gQWRkZWQgYSB0ZXN0IGZvciB0aGlzLgorCisJKiBwcm9ncmFtcy93aW5lZmlsZS93aW5lZmlsZS5jOiBNYXJ0aW4gRnVjaHMgPG1hcnRpbi1mdWNoc0BnbXgubmV0PgorCS0gcmVtb3ZlIHRyYWlsaW5nIHNlbWljb2xvbnMgZnJvbSBjb25zdGFudCBkZWZpbml0aW9ucworCS0gYWRkIHNvbWUgY29tbWVudHMKKwktIG1ha2UgdGltZV90b19maWxldGltZSgpIGEgc3RhdGljIGZ1bmN0aW9uCisKKwkqIHRvb2xzL3dpbmFwaS9tc3ZjbWFrZXI6IE1hcnRpbiBGdWNocyA8bWFydGluLWZ1Y2hzQGdteC5uZXQ+CisJRml4IGdlbmVyYXRpb24gb2YgY29uZmlnLmguCisKKwkqIGluY2x1ZGUvd2ludXNlci5oOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUFkZCBwcm90b3R5cGVzIGZvciBHZXRXaW5kb3dMb25nUHRyL1NldFdpbmRvd0xvbmdQdHIuCisKKwkqIGRsbHMvdXNlci90ZXN0cy9tc2cuYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlTa2lwIGludGVydGhyZWFkIG1lc3NhZ2UgdGVzdCB1bmRlciB3aW45eCwgaXQgY2F1c2VzIGEgY3Jhc2ggdGhlcmUuCisKKwkqIGRsbHMvZDNkOC9kaXJlY3R4LmMsIGRsbHMvZDNkOS9kaXJlY3R4LmMsIGRsbHMvd2luZWQzZC9kaXJlY3R4LmMsCisJICBkbGxzL3dpbmVkM2Qvd2luZWQzZF9wcml2YXRlLmgsIGluY2x1ZGUvd2luZS93aW5lZDNkX2dsLmgsCisJICBpbmNsdWRlL3dpbmUvd2luZWQzZF9pbnRlcmZhY2UuaDoKKwlKYXNvbiBFZG1lYWRlcyA8dXNAdGhlLWVkbWVhZGVzLmRlbW9uLmNvLnVrPgorCU1vdmUgdGhlIEdldERldmljZUNhcHMgaW50byB0aGUgd2luZWQzZCBsaWJyYXJ5IGFuZCBjYWxsIGZyb20gZDNkOS4KKworCSogZGxscy91c2VyL2NvbWJvLmM6IFN0ZXZlbiBFZHdhcmRzIDxzdGV2ZW5AY29kZXdlYXZlcnMuY29tPgorCVJlbW92ZSB1c2VsZXNzIEZJWE1FIGluIGNvbW1lbnQuCisKKwkqIHRvb2xzL3dpbmFwaS9tc3ZjbWFrZXI6IE1hcnRpbiBGdWNocyA8bWFydGluLWZ1Y2hzQGdteC5uZXQ+CisJRml4IG1zdmNtYWtlciBpbXBvcnRzLgorCisJKiBkbGxzL3NoZWxsMzIvc2hsZmlsZW9wLmM6CisJUm9sZiBLYWxiZXJtYXR0ZXIgPHJvbGYua2FsYmVybWF0dGVyQGNpdGVuZy5jb20+CisJRml4IGJ1ZyBmb3VuZCBieSBQaW90ciBDYWJhbiwgd2hlcmUgb3VyIGZ1bmN0aW9uIHRyaWVkIHRvIGRlbGV0ZSBhCisJZGlyZWN0b3J5IGV2ZW4gdGhvdWdoIHRoZSB1c2VyIGNhbmNlbGVkIHRoZSBvcGVyYXRpb24uCisKKzIwMDQtMTAtMDUgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvdXNlci9tZW51LmMsIGRsbHMvdXNlci90ZXN0cy9tc2cuYywgZGxscy91c2VyL3Rlc3RzL3Jlc291cmNlLnJjLAorCSAgZGxscy94MTFkcnYva2V5Ym9hcmQuYywgd2luZG93cy9kZWZ3bmQuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUFkZCBhIHRlc3QgY2FzZSBmb3IgYWNjZWxlcmF0b3JzLCBtYWtlIHRoZSB0ZXN0IHBhc3Mgb24gV2luZS4KKworCSogZGxscy91c2VyL3Rlc3RzL21zZy5jOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUFkZGVkIGEgdGVzdCBjYXNlIGZvciBpbnRlci10aHJlYWQgRGlzcGF0Y2hNZXNzYWdlLgorCisJKiB3aW5kb3dzL21lc3NhZ2UuYzoKKwlQcmV2ZW50IERpc3BhdGNoTWVzc2FnZSBmcm9tIGRpc3BhdGNoaW5nIGEgbWVzc2FnZSB0byBhIGRpZmZlcmVudAorCXRocmVhZCAocmVwb3J0ZWQgYnkgRG1pdHJ5IFRpbW9zaGtvdikuCisKKwkqIGRsbHMvd2luZXBzL3BzLmMsIGRsbHMvd2luZXBzL3BzZHJ2LmgsIGRsbHMvd2luZXBzL3R5cGU0Mi5jOgorCU1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCU1ha2Ugc3VyZSBQb3N0U2NyaXB0IGZsb2F0cyBhcmUgcHJpbnRlZCB3aXRoIExDX05VTUVSSUM9IkMiLgorCisJKiBkbGxzL3VzZXIvbGlzdGJveC5jLCBkbGxzL3VzZXIvdGVzdHMvbGlzdGJveC5jOgorCUpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJRHJhdyBiYWNrZ3JvdW5kIG9mIHRoZSBlbXB0eSBzZWxlY3RlZCBpdGVtIGluIGVtcHR5IGxpc3RzLgorCURvbid0IGRyYXcgYSBmb2N1cyByZWN0IGlmIHdlIGRvbnQgaGF2ZSB0aGUgZm9jdXMuCisJRG9uJ3Qgc2VsZWN0IGl0ZW1zIG9uIGtleSB1cC9kb3duIGluIG11bHRpLXNlbGVjdCBsaXN0cy4KKwlIYW5kbGUgTEJTX05PU0VMIGNvcnJlY3RseSwgZml4IHJlbWFpbmluZyB0b2RvX3dpbmUgdGVzdHMuCisKKwkqIGRsbHMvc2hsd2FwaS90ZXN0cy9wYXRoLmM6IEh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJVGVzdHMgZm9yIFBhdGhDcmVhdGVGcm9tVXJsLCBQYXRoSXNVUkwsIFVybENyZWF0ZUZyb21QYXRoIGFuZAorCVVybFVuZXNjYXBlLgorCisJKiBkbGxzL3NobHdhcGkvdXJsLmM6IEh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJUmV3cml0ZSBVcmxDcmVhdGVGcm9tUGF0aC4KKworCSogaW5jbHVkZS93aW5lL3BvcnQuaDogTWFydGluIEZ1Y2hzIDxtYXJ0aW4tZnVjaHNAZ214Lm5ldD4KKwlEb24ndCB1c2UgIi5wcmV2aW91cyIgZm9yIEN5Z3dpbiBidWlsZC4KKworCSogZGxscy9jb21jdGwzMi90cmVldmlldy5jLCBkbGxzL2NvbWN0bDMyL3VwZG93bi5jLAorCSAgZGxscy9kYmdoZWxwL3N5bWJvbC5jLCBkbGxzL29sZTMyL2RhdGFjYWNoZS5jLAorCSAgZGxscy9vbGUzMi9kZWZhdWx0aGFuZGxlci5jLCBkbGxzL29sZWF1dDMyL29sZWZvbnQuYywKKwkgIGRsbHMvcXVhcnR6L2ZpbHRlcm1hcHBlci5jLCBkbGxzL3NoZWxsMzIvc2hlbGxsaW5rLmMsCisJICBkbGxzL3dpbmVkM2QvZGlyZWN0eC5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUFzc29ydGVkIHNwZWxsaW5nIGZpeGVzLgorCisJKiB0b29scy93aW5hcGkvbXN2Y21ha2VyOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlJZGVudGlmeSBjb21tLmRydiBhcyBhIDE2Yml0IGRsbC4KKworCSogZGxscy9hdmlmaWwzMi9hY21zdHJlYW0uYywgZGxscy9hdmlmaWwzMi9hdmlmaWxlLmMsCisJICBkbGxzL2F2aWZpbDMyL2ZhY3RvcnkuYywgZGxscy9hdmlmaWwzMi9pY21zdHJlYW0uYywKKwkgIGRsbHMvYXZpZmlsMzIvd2F2ZmlsZS5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCVJlcGxhY2Ugc29tZSBJVW5rbm93bl9RdWVyeUludGVyZmFjZSgpIGNhbGxzIHdpdGggdGhlIHNwZWNpZmljIGNhbGwKKwlmb3IgdGhlIG9iamVjdCBiZWluZyB1c2VkLgorCisJKiBkbGxzL2NvbW1kbGcvY2RsZ19QbC5yYywgcHJvZ3JhbXMvY2xvY2svUGwucmMsCisJICBwcm9ncmFtcy9jbG9jay9yc3JjLnJjLCBwcm9ncmFtcy93aW5lbWluZS9QbC5yYzoKKwlKYWNlayBDYWJhbiA8amFja0BpdG1hLnB3ci53cm9jLnBsPgorCUFkZGVkL3VwZGF0ZWQgUG9saXNoIHRyYW5zbGF0aW9ucy4KKworCSogdG9vbHMvd2luYXBpL291dHB1dC5wbTogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJTGltaXQgdGhlIGxlbmd0aCBvZiBwcm9ncmVzcyBtZXNzYWdlcyB0byBsZXNzIHRoYW4gJENPTFVNTlMgfHwgODAKKwljaGFyYWN0ZXJzIHNvIHRoZXkgZG9uJ3Qgd3JhcCAod2hpY2ggd291bGQgY2F1c2UgdGhlbSB0byBiZSBiYWRseQorCWVyYXNlZCkuCisJTWFrZSBnb29kIHVzZSBvZiB0aGUgJ3gnLCB0aGUgcGVybCBzdHJpbmcgbXVsdGlwbGljYXRpb24gb3BlcmF0b3IuCisJQWRkIGZ1bmN0aW9uIHByb3RvdHlwZXMuCisKKwkqIHRvb2xzL3dpbmFwaS9tc3ZjbWFrZXI6IEZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUFkZCBmdW5jdGlvbiBwcm90b3R5cGVzLgorCisJKiBkbGxzL29sZWF1dDMyL2Rpc3BhdGNoLmMsIGRsbHMvb2xlYXV0MzIvdHlwZWxpYi5jOgorCUh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJSW1wbGVtZW50IENyZWF0ZURpc3BUeXBlSW5mby4KKworCSogZGxscy9zaGx3YXBpL3BhdGguYywgaW5jbHVkZS9zaGx3YXBpLmg6CisJSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlSZXdyaXRlIFBhdGhDcmVhdGVGcm9tVXJsLgorCisJKiBNYWtlLnJ1bGVzLmluLCB0b29scy93aWRsL2hlYWRlci5jLCB0b29scy93aWRsL3dpZGwuYywKKwkgIHRvb2xzL3dpZGwvd2lkbC5oLCB0b29scy93aWRsL3dpZGwubWFuOgorCVJlbW92ZWQgbm8gbG9uZ2VyIG5lZWRlZCBJQ09NIGNvbXBhdGliaWxpdHkgbW9kZSBpbiB3aWRsLgorCisJKiBkbGxzL3VzZXIvY29tYm8uYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlBdWRpdCBjb21ibyBjb250cm9sIGNvZGUuCisJQ2hhbmdlIFtHU11ldFdpbmRvd0xvbmd7LFB0cn1BIHRvIFtHU11ldFdpbmRvd0xvbmd7LFB0cn1XLgorCisJKiBpbmNsdWRlL2NvbW1jdHJsLmgsIGluY2x1ZGUvZDNkLmgsIGluY2x1ZGUvZDNkOC5oLCBpbmNsdWRlL2QzZDkuaCwKKwkgIGluY2x1ZGUvZDNkeDhjb3JlLmgsIGluY2x1ZGUvZGRyYXcuaCwgaW5jbHVkZS9kaW5wdXQuaCwKKwkgIGluY2x1ZGUvZG1wbHVnaW4uaCwgaW5jbHVkZS9kbXVzaWNjLmgsIGluY2x1ZGUvZG11c2ljaS5oLAorCSAgaW5jbHVkZS9kbXVzaWNzLmgsIGluY2x1ZGUvZHBhZGRyLmgsIGluY2x1ZGUvZHBsYXkuaCwKKwkgIGluY2x1ZGUvZHBsYXk4LmgsIGluY2x1ZGUvZHBsb2JieS5oLCBpbmNsdWRlL2RzZHJpdmVyLmgsCisJICBpbmNsdWRlL2Rzb3VuZC5oLCBpbmNsdWRlL2R4ZGlhZy5oLCBpbmNsdWRlL2R4ZmlsZS5oLAorCSAgaW5jbHVkZS9tYXBpZGVmcy5oLCBpbmNsdWRlL21hcGl1dGlsLmgsIGluY2x1ZGUvbWFwaXguaCwKKwkgIGluY2x1ZGUvb2JqYmFzZS5oLCBpbmNsdWRlL29sZWRsZy5oLCBpbmNsdWRlL3NobG9iai5oLAorCSAgaW5jbHVkZS9zaGx3YXBpLmgsIGluY2x1ZGUvdmZ3Lmg6CisJR2V0IHJpZCBvZiB0aGUgbm9uLXN0YW5kYXJkIEl4eHhfTUVUSE9EUyBtYWNybyBkZWZpbml0aW9ucywgZGVjbGFyZQorCXRoZSBpbnRlcmZhY2VzIGV4cGxpY2l0bHkgaW5zdGVhZC4KKworCSogZGxscy9hdmlmaWwzMi9lZGl0c3RyZWFtLmMsIGRsbHMvZHBsYXl4L2RwbGF5c3AuaCwKKwkgIGRsbHMvZHBsYXl4L2xvYmJ5c3AuaCwgZGxscy9vbGUzMi9pZnMuaCwgZGxscy9zaGVsbDMyL3NoZWxsZm9sZGVyLmgsCisJICBpbmNsdWRlL3dpbmUvd2luZWQzZF9pbnRlcmZhY2UuaDoKKwlBdm9pZCBkZXBlbmRpbmcgb24gdGhlIG5vbi1zdGFuZGFyZCBJVW5rbm93bl9NRVRIT0RTIG1hY3JvIGluIFdpbmUKKwlpbnRlcm5hbCBoZWFkZXJzLgorCisJKiBkb2N1bWVudGF0aW9uL3BhdGNoZXMuc2dtbDoKKwlUb255IExhbWJyZWd0cyA8dG9ueV9sYW1icmVndHNAdGVsdXNwbGFuZXQubmV0PgorCUFzayBmb3IgbGluayBpZiBwYXRjaCBpcyByZWxhdGVkIHRvIGEgYnVnIGluIEJ1Z3ppbGxhLgorCisJKiBkbGxzL3NobHdhcGkvdXJsLmM6IEh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJRml4IFVybFVuZXNjYXBlVy4KKworCSogZGxscy91c2VyL3N0YXRpYy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUF1ZGl0IHRoZSBzdGF0aWMgY29udHJvbCBjb2RlLgorCUNoYW5nZSBbR1NdZXRXaW5kb3dMb25neyxQdHJ9QSB0byBbR1NdZXRXaW5kb3dMb25neyxQdHJ9Vy4KKworCSogZGxscy91c2VyL2J1dHRvbi5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUF1ZGl0IGFuZCBkb2N1bWVudCBidXR0b24gY29kZS4KKwlDaGFuZ2UgW0dTXWV0V2luZG93TG9uZ3ssUHRyfUEgdG8gW0dTXWV0V2luZG93TG9uZ3ssUHRyfVcuCisJQ2hhbmdlIFdNX0dFVERMR0NPREUgYXMgcGVyIHRoZSBNU0ROIGRvY3VtZW50YXRpb24uCisKKwkqIE1ha2VmaWxlLmluOiBIYW5zIExlaWRla2tlciA8aGFuc0BpdC52dS5ubD4KKwljcm9zc3Rlc3QgdGFyZ2V0IGRlcGVuZHMgb24gaW5jbHVkZSBmaWxlcy4KKworCSogZGxscy9xdWFydHovZmlsdGVyZ3JhcGguYywgaW5jbHVkZS8uY3ZzaWdub3JlLCBpbmNsdWRlL01ha2VmaWxlLmluLAorCSAgaW5jbHVkZS9jb250cm9sLmgsIGluY2x1ZGUvY29udHJvbC5pZGwsIGluY2x1ZGUvdXVpZHMuaDoKKwlDb252ZXJ0ZWQgY29udHJvbC5oIHRvIGlkbC4KKworCSogaW5jbHVkZS9hbXZpZGVvLmlkbCwgaW5jbHVkZS9leGRpc3AuaWRsLCBpbmNsdWRlL29jaWRsLmlkbDoKKwlVc2UgcHJvcGdldC9wcm9wcHV0IGF0dHJpYnV0ZXMgd2hlcmUgYXBwcm9wcmlhdGUuCisKKwkqIHRvb2xzL3dpZGwvaGVhZGVyLmMsIHRvb2xzL3dpZGwvcGFyc2VyLmwsIHRvb2xzL3dpZGwvcGFyc2VyLnksCisJICB0b29scy93aWRsL3dpZGx0eXBlcy5oOgorCUFkZGVkIHN1cHBvcnQgZm9yIHRoZSBwcm9wZ2V0L3Byb3BwdXQgZnVuY3Rpb24gYXR0cmlidXRlcy4KKworCSogZGxscy9kM2Q4L2RpcmVjdHguYywgZGxscy9kM2Q5L2RpcmVjdHguYywgZGxscy93aW5lZDNkL2RpcmVjdHguYywKKwkgIGRsbHMvd2luZWQzZC91dGlscy5jLCBkbGxzL3dpbmVkM2Qvd2luZWQzZF9wcml2YXRlLmgsCisJICBpbmNsdWRlL3dpbmUvd2luZWQzZF9pbnRlcmZhY2UuaDoKKwlKYXNvbiBFZG1lYWRlcyA8dXNAdGhlLWVkbWVhZGVzLmRlbW9uLmNvLnVrPgorCU1vdmUgdGhlIENoZWNrKiB0eXBlIGZ1bmN0aW9ucyBpbnRvIHdpbmVkM2QgYW5kIGNvcHkgZnJvbSBkM2Q5LCBhbmQKKwlmbGFnIHRoYXQgdGhleSBhcmUgbW9zdGx5IHN0dWJzLgorCisJKiBwcm9ncmFtcy93aW5ldGVzdC9zZW5kLmM6IEZlcmVuYyBXYWduZXIgPHdmZXJpQGFmYXZhbnQuZWx0ZS5odT4KKwlRdW90ZSBldmVyeXRoaW5nIGZvciBjb25zaXN0ZW5jeS4KKwlSRkMgMjA2OCBnb3Qgc3VwZXJzZWRlZCBieSBSRkMgMjYxNi4KKworCSogZGxscy9zaGx3YXBpL3VybC5jOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCVBhdGhJc1VSTCBzaG91bGQgcmV0dXJuIFRSVUUgZXZlbiBpZiBhIHNjaGVtZSBpcyB1bmtub3duLgorCisJKiBkbGxzL3VzZXIvdGVzdHMvbXNnLmMsIHdpbmRvd3MvbWRpLmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlJZiB0aGVyZSBubyBNREkgY2hpbGQgdG8gYWN0aXZhdGUgc2V0IGh3bmRBY3RpdmVDaGlsZCB0byAwIGluCisJV01fTURJREVTVFJPWSBoYW5kZXIsIGFkZCBhIHRlc3QgY2FzZS4KKworCSogZGxscy9hZHZhcGkzMi90ZXN0cy8uY3ZzaWdub3JlLCBkbGxzL2FkdmFwaTMyL3Rlc3RzL2NyeXB0LmMsCisJICBkbGxzL3JzYWJhc2UvbWFpbi5jOgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJTWFrZSBhZHZhcGkzMi9jcnlwdC5jIHRlc3QgcGFzcyB1bmRlciB3aW4yayBTUDQsIGRvIHN0cmljdGVyIGVycm9yCisJY2hlY2tpbmcsIGNvbW1lbnQgb3V0IGEgY291cGxlIG9mIHRlc3RzIGZhaWxpbmcgdW5kZXIgd2luMmssIGFkZCBhCisJbm90ZSB3aHkgUlNBX0NQQWNxdWlyZUNvbnRleHQgbWF5IGZhaWwuCisKKwkqIGRsbHMvZGJnaGVscC9wYXRoLmM6IFdvbGZnYW5nIFNjaHdvdHplciA8d29sZmdhbmcuc2Nod290emVyQGdteC5uZXQ+CisJTWFrZVN1cmVEaXJlY3RvcnlQYXRoRXhpc3RzOiBSZWN1cnNpdmVseSBjcmVhdGUgcGF0aCB1cCB0byBsYXN0ICdcXCcuCisKKzIwMDQtMTAtMDQgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvc2hlbGwzMi9zaGVsbHBhdGguYzogRml4ZWQgdHlwbyBpbiBQcm9ncmFtc1cuCisJQ2hhbmdlZCB0aGUgY2FzZSBvZiB3aW5kb3dzIGFuZCBzeXN0ZW0gZGlyZWN0b3JpZXMgdG8gbWF0Y2ggdGhlCisJZGlyZWN0b3JpZXMgd2UgY3JlYXRlIGJ5IGRlZmF1bHQuCisKKwkqIGluY2x1ZGUvZHhmaWxlLmg6CisJRml4ZWQgaW5jb21wYXRpYmxlIElESVJFQ1RYRklMRU9CSkVDVF9NRVRIT0RTIG1hY3JvLCBhbmQgYWRkZWQKKwlJVU5LTk9XTl9NRVRIT0RTLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgaW5jbHVkZS9jb25maWcuaC5pbiwgbGlicy93aW5lL2NvbmZpZy5jOgorCVN0ZXZlbiBFZHdhcmRzIDxzdGV2ZW5AY29kZXdlYXZlcnMuY29tPgorCUNoZWNrIGZvciBnZXR1aWQgYW5kIGF2b2lkIHRoZSB1c2Ugb2YgaXQgaW4gbGlid2luZSBpZiB3ZSBkb24ndCBoYXZlCisJaXQuCisKKwkqIGRsbHMvYWR2YXBpMzIvTWFrZWZpbGUuaW4sIGRsbHMvYWR2YXBpMzIvYWR2YXBpMzIuc3BlYywKKwkgIGRsbHMvYWR2YXBpMzIvY3J5cHQuaCwgZGxscy9hZHZhcGkzMi9jcnlwdF9kZXMuYywKKwkgIGRsbHMvYWR2YXBpMzIvY3J5cHRfbG1oYXNoLmMsIGRsbHMvYWR2YXBpMzIvY3J5cHRfc2hhLmMsCisJICBkbGxzL2FkdmFwaTMyL3Rlc3RzL01ha2VmaWxlLmluLCBkbGxzL2FkdmFwaTMyL3Rlc3RzL2NyeXB0X2xtaGFzaC5jOgorCUhhbnMgTGVpZGVra2VyIDxoYW5zQGl0LnZ1Lm5sPgorCUltcGxlbWVudCBTeXN0ZW1GdW5jdGlvbjAwNigpLgorCUFkZCBhIHRlc3QgZm9yIFN5c3RlbUZ1bmN0aW9uMDA2KCkuCisKKwkqIGRsbHMvZGJnaGVscC9lbGZfbW9kdWxlLmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgc3VwcG9ydCBmb3IgLmdudV9kZWJ1Z2xpbmsuCisKKwkqIGRsbHMvd2lubW0vd2luZWFsc2EvYXVkaW8uYzoKKwlKZXJyeSBKZW5raW5zIDxqZXJyeV9qX2plbmtpbnNAeWFob28uY29tPgorCUZpeCBhbiBlcnJvciBtZXNzYWdlLgorCisJKiBkbGxzL3dpbnNwb29sL2luZm8uYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUZpeCBwb3J0IGVudW1lcmF0aW9uLgorCisJKiBkbGxzL2NvbWN0bDMyL2FuaW1hdGUuYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlJZiBhbiBhbmltYXRpb24gaXMgYWxyZWFkeSBwbGF5aW5nIGRvIG5vdCByZXN0YXJ0IGl0LgorCVJlbW92ZSBXTV9DTE9TRSBoYW5kbGVyLCBpdCBsZWFkcyB0byBhIG1lbW9yeSBjb3JydXB0aW9uIGxhdGVyIG9uLgorCisJKiBkbGxzL2NvbWN0bDMyL3Byb3BzaGVldC5jOiBBcmljIFN0ZXdhcnQgPGFyaWNAY29kZXdlYXZlcnMuY29tPgorCUNoZWNrIHRvIG1ha2Ugc3VyZSBQcm9wU2hlZXRJbmZvKiBpcyBub3QgbnVsbCBiZWZvcmUgZGVyZWZlcmVuY2luZyBpdAorCWZvciBzb21lIHdpbmRvd3MgbWVzc2FnZXMuCisKKwkqIGluY2x1ZGUvLmN2c2lnbm9yZSwgaW5jbHVkZS9NYWtlZmlsZS5pbiwgaW5jbHVkZS9tZWRpYW9iai5oLAorCSAgaW5jbHVkZS9tZWRpYW9iai5pZGw6CisJVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCUNyZWF0ZSBtZWRpYW9iai5oIGZyb20gbWVkaWFvYmouaWRsLgorCisJKiBkbGxzL3VzZXIvbWVzc2FnZS5jLCBkbGxzL3VzZXIvdGVzdHMvbXNnLmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgbW9yZSBtZXNzYWdlIGNvbnZlcnNpb24gdGVzdHMsIG1ha2UgdGhlIHRlc3RzIHBhc3MgdW5kZXIgV2luZS4KKworCSogZGxscy9kcGxheXgvZHBsYXlzcC5oLCBkbGxzL2RwbGF5eC9sb2JieXNwLmgsIGluY2x1ZGUvZHNkcml2ZXIuaCwKKwkgIGluY2x1ZGUvd2luZS93aW5lZDNkX2ludGVyZmFjZS5oOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCURvbid0IHVzZSBDT0JKTUFDUk9TIG9uIGludGVybmFsIGludGVyZmFjZXMuCisKKwkqIGRsbHMvd2luc29jay9zb2NrZXQuYywgaW5jbHVkZS93aW5zb2NrMi5oOgorCVJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwktIEZpeCBjYWxjdWxhdGlvbiBvZiByZXF1aXJlZCBidWZmZXIgc2l6ZS4KKwktIEFkZCBzdXBwb3J0IGZvciBkZXRlY3RpbmcgdGhlIElGRl9NVUxUSUNBU1QgZmxhZy4KKwktIFN0dWIgZm9yIFNJT19BRERSRVNTX0xJU1RfQ0hBTkdFLgorCisJKiBpbmNsdWRlL2QzZC5oLCBpbmNsdWRlL2QzZDguaCwgaW5jbHVkZS9kM2Q5LmgsIGluY2x1ZGUvZGRyYXcuaCwKKwkgIGluY2x1ZGUvZGlucHV0LmgsIGluY2x1ZGUvZHBhZGRyLmgsIGluY2x1ZGUvZHBsYXkuaCwKKwkgIGluY2x1ZGUvZHBsYXk4LmgsIGluY2x1ZGUvZHBsb2JieS5oLCBpbmNsdWRlL2Rzb3VuZC5oLAorCSAgaW5jbHVkZS9keGRpYWcuaDoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlGaXggaW5jb3JyZWN0IHVzYWdlIG9mIENPQkpNQUNST1MuCisJRHVwbGljYXRlIGFuZCBhZGFwdCB0aGUgQ09NIGFjY2VzcyBtYWNyb3Mgc28gdGhleSBhbHNvIHdvcmsgaW4gQysrLgorCUZpeCB0aGUgSURpcmVjdFBsYXlYIGFjY2VzcyBtYWNyb3MuCisKKwkqIGluY2x1ZGUvZDNkeDhjb3JlLmgsIGluY2x1ZGUvZG1wbHVnaW4uaCwgaW5jbHVkZS9kbXVzaWNjLmgsCisJICBpbmNsdWRlL2RtdXNpY2kuaCwgaW5jbHVkZS9kbXVzaWNzLmgsIGluY2x1ZGUvZHhmaWxlLmgsCisJICBpbmNsdWRlL21hcGlkZWZzLmgsIGluY2x1ZGUvbWFwaXV0aWwuaCwgaW5jbHVkZS9tYXBpeC5oLAorCSAgaW5jbHVkZS9vbGVkbGcuaCwgaW5jbHVkZS9zaGxvYmouaCwgaW5jbHVkZS9zaGx3YXBpLmgsIGluY2x1ZGUvdmZ3Lmg6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJRml4IGluY29ycmVjdCB1c2FnZSBvZiBDT0JKTUFDUk9TLgorCisJKiBwcm9ncmFtcy93aW5ldGVzdC9tYWluLmM6IEZlcmVuYyBXYWduZXIgPHdmZXJpQGFmYXZhbnQuZWx0ZS5odT4KKwlEbyBub3Qgb2ZmZXIgc3VibWl0dGluZyB0aGUgcmVwb3J0IGlmIHRoZSAtbyBvcHRpb24gd2FzIGdpdmVuLgorCisJKiBwcm9ncmFtcy93Y21kL1BsLnJjLCBwcm9ncmFtcy93Y21kL3djbWRyYy5yYywKKwkgIGRsbHMvc2hlbGwzMi9zaGVsbDMyX1BsLnJjOgorCVBpb3RyIENhYmFuIDxwaW8xM0Bwb2N6dGEub25ldC5wbD4KKwlBZGRlZCBQb2xpc2ggdHJhbnNsYXRpb24uCisKKwkqIHRvb2xzL3dpbmUuaW5mOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUFkZCBpY2N2aWQuZGxsIHRvIGFuIGluaXRpYWwgV2luZSBjb25maWd1cmF0aW9uLgorCisJKiBkbGxzL2FkdmFwaTMyL3Rlc3RzL2NyeXB0X3NoYS5jOgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJQXZvaWQgYSBjcmFzaCBpbiBhZHZhcGkzMi90ZXN0X3NoYV9jdHguYyB0ZXN0IGlmIHJlcXVpcmVkIGVudHJ5IHBvaW50cworCWFyZSBtaXNzaW5nLgorCisJKiBkbGxzL2RiZ2hlbHAvc3RhYnMuYzogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCS0gQ2hlY2sgZm9yIHN0cmluZyBwb2ludGVyIGJlaW5nIG91dHNpZGUgb2YgdGhlIHN0cmluZyB0YWJsZS4KKwktIE9ubHkgcGFyc2UgdHlwZWRlZnMgb24gc3RhYnMgZW50cmllcyB0aGF0IGNhbiBoYXZlIHRoZW0uCisKKwkqIGRsbHMvZGJnaGVscC9tc2MuYywgZGxscy9kYmdoZWxwL3BlX21vZHVsZS5jOgorCVJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggdGhlIGxvYWRpbmcgLmRiZyBmaWxlcyBieSBubyBsb25nZXIgdXNpbmcgUnRsSW1hZ2VOdEhlYWRlciB3aGljaAorCXdvdWxkIHJldHVybiBOVUxMIGFuZCB1c2luZyBsb29raW5nIGF0IHRoZSBJTUFHRV9TRVBBUkFURV9ERUJVR19IRUFERVIKKwlkaXJlY3RseSBpbnN0ZWFkLgorCisJKiBwcm9ncmFtcy9tc2lleGVjL21zaWV4ZWMuYzogS2V2aW4gS29sdHphdSA8a2V2aW5AcGxvcC5vcmc+CisJQ29ycmVjdCBwcm9ibGVtIHdpdGggL2kgYXJndW1lbnQgaGFuZGxpbmcuCisKKwkqIGRsbHMvd2lubW0vd2luZWFsc2EvYXVkaW8uYzoKKwlKZXJyeSBKZW5raW5zIDxqZXJyeV9qX2plbmtpbnNAeWFob28uY29tPgorCURvbid0IHVzZSB0aGUgU05EX1BDTV9BU1lOQyBmbGFnIGZvciB0aGUgbW9tZW50LgorCisJKiBkbGxzL2ltbTMyL2ltbS5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJUHJldmVudCBjcmFzaCB1c2luZyBDSksgbG9jYWxlIGJ1dCBubyBpbnB1dCBtZXRob2QuCisKKwkqIGRsbHMvY29tY3RsMzIvYW5pbWF0ZS5jOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCURvIG5vdCB1c2UgR2xvYmFsRnJlZSBmb3IgYSBtZW1vcnkgcmV0dXJuZWQgYnkgTG9hZFJlc291cmNlLgorCisJKiBkbGxzL250ZGxsL3RpbWUuYzogRmlsaXAgTmF2YXJhIDx4bmF2YXJhQHZvbG55LmN6PgorCUFkZCBVVEMgdG8gdGhlIHRpbWUgem9uZSBsaXN0LgorCisJKiBwcm9ncmFtcy93aW5ldGVzdC9zZW5kLmM6IEZlcmVuYyBXYWduZXIgPHdmZXJpQGFmYXZhbnQuZWx0ZS5odT4KKwktIFVzZSBhIG1vcmUgdW5pcXVlIHNlcGFyYXRvciBzdHJpbmcuCisJLSBBZGQgc29tZSBxdW90aW5nIHRvIHBsZWFzZSBDR0kucG0tMy4wNS4KKworCSogdG9vbHMvYnVnX3JlcG9ydC5wbDogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJU3dpdGNoIHRvICdwZXJsIC13JyBhbmQgYWRkICd1c2Ugc3RyaWN0OycuCisJQWRkIHByb3RvdHlwZXMgdG8gYWxsIGZ1bmN0aW9ucy4KKwlSZW1vdmUgJGJhc2h2ZXIgYW5kICRvdXRmbGFncywgdGhleSBhcmUgbm90IHVzZWQuCisKKwkqIGluY2x1ZGUvd2luc3Bvb2wuaDogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJRml4IHRoZSBKb2JJZCBmaWVsZCBjYXNlLgorCisJKiBpbmNsdWRlL3RsaGVscDMyLmg6IEZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUFkZCBIRUFQRU5UUlkzMiBhbmQgdGhlIHJlbGF0ZWQgQVBJcy4KKworCSogaW5jbHVkZS9sbWNvbnMuaDogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJQWRkIEFQSV9SRVRfVFlQRSBhbmQgTkVUX0FQSV9GVU5DVElPTi4KKworCSogdG9vbHMvd2luYXBpL21zdmNtYWtlcjogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJSGFuZGxlIHRoZSBzdGF0aWMgbGlicmFyaWVzIGxpbmtlZCB0byB1c2luZyBFWFRSQUxJQlMuCisKKwkqIGRsbHMvd2luc29jay9zb2NrZXQuYzogUmVpbiBLbGF6ZXMgPHJrbGF6ZXNAeHM0YWxsLm5sPgorCS0gVGltZSBvdXQgb24gcmVjdiBmcm9tIGFuZCBzZW5kIHRvIGJsb2NraW5nIHNvY2tldHMuCisJLSBGaXggdGltZW91dCBjYWxjdWxhdGlvbiBpbiBXU19zZXRzb2Nrb3B0LgorCisJKiBkbGxzL3VzZXIvdGVzdHMvbXNnLmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgdGVzdHMgZm9yIGNvbnZlcnNpb24gb2YgbWVzc2FnZSBwYXJhbWV0ZXJzLgorCisJKiBkbGxzL3NobHdhcGkvdGVzdHMvcGF0aC5jLCBkbGxzL3NobHdhcGkvdXJsLmM6CisJSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlVcmxFc2NhcGUgaGFzIGRpZmZlcmVudCBydWxlcyBkZXBlbmRpbmcgb24gdGhlIHByb3RvY29sLgorCUFkZGVkIGEgbG9hZCBvZiB0ZXN0cy4KKworCSogZGxscy9jb21jdGwzMi9yZWJhci5jOiBWaXRhbGl5IE1hcmdvbGVuIDx3aW5lLXBhdGNoQGtpZXZpbmZvLmNvbT4KKwlEb24ndCBsb29zZSBsYXN0IGJhbmQgb24gaW5zZXJ0LgorCisJKiBkbGxzL3NoZWxsMzIvc2hsZm9sZGVyLmM6IEdlIHZhbiBHZWxkb3JwIDxndmdAcmVhY3Rvcy5jb20+CisJQ2FuJ3QgcGFzcyBOVUxMIGFzIGRlZmF1bHQgdmFsdWUgdG8gR2V0UHJpdmF0ZVByb2ZpbGVTdHJpbmcuCisKKwkqIGRsbHMvZGJnaGVscC9lbGZfbW9kdWxlLmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlSZXdyaXRlIGEgc2VjdGlvbiBvZiBjb2RlIHNvIHRoYXQgaXQgZG9lc24ndCB1c2UgZXhpdCgwKSB3aGVuIG91dCBvZgorCW1lbW9yeS4KKworCSogZGxscy9kYmdoZWxwL21vZHVsZS5jOiBSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJUHJpbnQgb3V0IGEgc2xpZ2h0bHkgbW9yZSBpbmZvcm1hdGl2ZSBtZXNzYWdlIGlmIGFuIEVMRiBtb2R1bGUgZmFpbHMKKwl0byBsb2FkLgorCisJKiB0b29scy9jMm1hbi5wbDogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJQWRkIHByb3RvdHlwZXMgdG8gYWxsIGZ1bmN0aW9ucy4KKwlNb3ZlICdtYWluJyB0byB0aGUgZW5kIHNvIHdlIGRvbid0IGhhdmUgdG8gcHJlLWRlY2xhcmUgYWxsIHRoZQorCWZ1bmN0aW9ucy4KKworCSogdG9vbHMvbWFrZV9yZXF1ZXN0czogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJQWRkICd1c2Ugc3RyaWN0Jy4KKwlBZGQgcHJvdG90eXBlcyB0byBhbGwgZnVuY3Rpb25zLgorCU1vdmUgJ21haW4nIHRvIHRoZSBlbmQgc28gd2UgZG9uJ3QgaGF2ZSB0byBwcmUtZGVjbGFyZSBhbGwgdGhlCisJZnVuY3Rpb25zLgorCisyMDA0LTA5LTI5ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2ljbXAvaWNtcF9tYWluLmM6IEF2b2lkIHVzaW5nIGdldHRpbWVvZmRheS4KKworCSogZGxscy9kM2Q4L2RpcmVjdHguYywgZGxscy9kM2Q5L2RpcmVjdHguYywgZGxscy93aW5lZDNkL2RpcmVjdHguYywKKwkgIGRsbHMvd2luZWQzZC93aW5lZDNkX3ByaXZhdGUuaCwgaW5jbHVkZS93aW5lL3dpbmVkM2RfZ2wuaCwKKwkgIGluY2x1ZGUvd2luZS93aW5lZDNkX2ludGVyZmFjZS5oOgorCUphc29uIEVkbWVhZGVzIDx1c0B0aGUtZWRtZWFkZXMuZGVtb24uY28udWs+CisJTW92ZSBpbnRvIHdpbmVkM2QgYW5kIGNhbGwgZnJvbSBkM2Q5IHRoZSBHZXRBZGFwdGVySWQgZnVuY3Rpb24gYW5kCisJY29weSBhbGwgdGhlIGdsIGRlY2xhcmF0aW9ucyBpbnRvIHRoZSBtb3JlIGdsb2JhbCB3aW5lZDNkX2dsIGhlYWRlcgorCWZpbGUuCisKKwkqIGRsbHMvc2hlbGwzMi8uY3ZzaWdub3JlLCBkbGxzL3NoZWxsMzIvTWFrZWZpbGUuaW4sCisJICBkbGxzL3NoZWxsMzIvZm9sZGVycy5jLCBkbGxzL3NoZWxsMzIvc2hyZXMucmM6CisJS2xlbWVucyBGcmllZGwgPGZyaWs4NUBob3RtYWlsLmNvbT4KKwlNYXJ0aW4gRnVjaHMgPG1hcnRpbi1mdWNoc0BnbXgubmV0PgorCS0gZHJpdmUgaWNvbiBhcnR3b3JrCisJLSBkaXNwbGF5IGRpZmZlcmVudCBkcml2ZSBpY29ucyBkZXBlbmRpbmcgb24gdGhlIGRyaXZlIHR5cGUKKworCSogZGxscy9zaGx3YXBpL3VybC5jLCBpbmNsdWRlL3NobHdhcGkuaDoKKwlIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCVBhcnNlVVJMIGlzIG5vdyBkb2N1bWVudGVkLCBzbyBtb3ZlIGl0IGludG8gc2hsd2FwaS5oLgorCisJKiBkbGxzL3gxMWRydi9ldmVudC5jOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUlnbm9yZSBGb2N1c091dCBldmVudCBpZiB0aGVyZSBpcyBubyBldmVudCB3aW5kb3cuCisKKwkqIGRsbHMva2VybmVsL3Jlc291cmNlLmM6IFZpbmNlbnQgQulyb24gPHZiZXJvbkBtZWNhbm8uZ21lLnVzaGVyYi5jYT4KKwlLZWVwIHRoZSBvcmlnaW5hbCByZXNvdXJjZXMgaWYgIWJEZWxldGVFeGlzdGluZ1Jlc291cmNlcyBpbgorCUJlZ2luVXBkYXRlUmVzb3VyY2VXLgorCVBhc3MgdGhlIGNvcnJlY3QgaGFuZGxlIHRvIGNhbGxiYWNrIGZ1bmN0aW9ucyBpbgorCUJlZ2luVXBkYXRlUmVzb3VyY2VXLgorCUZpeCBhIGJ1ZyB3aGlsZSBzYXZpbmcgZGF0YSBpbiBtZW1vcnkgaW4gVXBkYXRlUmVzb3VyY2VXLgorCisJKiBkbGxzL3VzZXIvZWRpdC5jOiBKYW1lcyBIYXdraW5zIDx0cnVpa2VuQGdtYWlsLmNvbT4KKwlMaW1pdCBzY3JvbGxpbmcgb2YgdGhlIGVkaXQgY29udHJvbCB0byB0aGUgbGFzdCBsaW5lIG9mIHRleHQuCisKKzIwMDQtMDktMjggIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvc2hlbGwzMi9mb2xkZXJzLmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlTaW1wbGlmeSBnZXR0aW5nIGN1c3RvbSBpY29ucyBmb3IgYSBmb2xkZXIgYnkgdXRpbGlzaW5nIHRoZSBuZXcKKwlTSEVMTDMyX0dldEN1c3RvbUZvbGRlckF0dHJpYnV0ZSBmdW5jdGlvbi4KKworCSogZGxscy9zaGVsbDMyL3NoZmxkci5oLCBkbGxzL3NoZWxsMzIvc2hsZm9sZGVyLmM6CisJUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCS0gQWRkIHN1cHBvcnQgZm9yIGN1c3RvbSBzaGVsbCBmb2xkZXJzLCBzdWNoIGFzIHRoZSBIaXN0b3J5IGZvbGRlci4KKwktIEFsd2F5cyB0cnkgdG8gaW5pdGlhbGl6ZSBmb2xkZXIgdXNpbmcgSVBlcnNpc3RGb2xkZXIzIGludGVyZmFjZSBhbmQKKwkgIHRoZW4gZmFsbCBiYWNrIG9uIElQZXJzaXN0Rm9sZGVyIGlmIG5vdCBzdXBwb3J0ZWQuCisKKwkqIGRsbHMvYW1zdHJlYW0vbWFpbi5jLCBkbGxzL2QzZHhvZi9tYWluLmMsIGRsbHMvZGRyYXcvbWFpbi5jLAorCSAgZGxscy9kcG5ldC9kcG5ldF9tYWluLmMsIGRsbHMvZHhkaWFnbi9keGRpYWdfbWFpbi5jLAorCSAgZGxscy9pdHNzL2l0c3MuYywgZGxscy9tbGFuZy9tbGFuZy5jLCBkbGxzL3F1YXJ0ei9tYWluLmM6CisJSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggYSByZWZlcmVuY2UgbGVhayBvbiBmYWlsdXJlIChzcG90dGVkIGJ5IFJvYiBTaGVhcm1hbikuCisJTW92ZSBzb21lIGNvZGUgb3ZlciB0byB0aGUgSW50ZXJsb2NrZWQqIGZ1bmN0aW9ucy4KKworCSogZGxscy91cmxtb24vTWFrZWZpbGUuaW4sIGRsbHMvdXJsbW9uL3NlY19tZ3IuYywgZGxscy91cmxtb24vdW1vbi5jLAorCSAgZGxscy91cmxtb24vdXJsbW9uX21haW4uYywgZGxscy91cmxtb24vdXJsbW9uX21haW4uaCwKKwkgIGluY2x1ZGUvdXJsbW9uLmlkbDoKKwlIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCVN0dWIgaW1wbGVtZW50YXRpb24gb2YgSUludGVybmV0U2VjdXJpdHlNYW5hZ2VyLgorCUFkZCBhIGNsYXNzZmFjdG9yeS4KKwlGaXggY2FsbGluZyBjb252ZW50aW9uIG9mIENvSW50ZXJuZXRDcmVhdGVTZWN1cml0eU1hbmFnZXIuCisKKwkqIGRsbHMva2VybmVsL3dvd3RodW5rLmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwktIERvbid0IHBlcmZvcm0gZXZlbnQgY2hlY2sgaWYgaW4gc3lzdGVtIGNvZGUuIEZpeGVzIGluZmluaXRlCisJICByZWN1cnNpb24gYnVnLgorCS0gRml4IHN0YWNrIGNvcnJ1cHRpb24gdGhhdCBjb3VsZCBvY2N1ciBpbiBLMzJXb3dDYWxsYmFjazE2RXggaWYgYW4KKwkgIGV2ZW50IGNoZWNrIHdhcyBpbnNlcnRlZC4KKworCSogZGxscy9jb21jdGwzMi9pbWFnZWxpc3QuYywgZGxscy9jb21jdGwzMi90ZXN0cy9pbWFnZWxpc3QuYzoKKwlNaWNoYWVsIFN0ZWZhbml1YyA8bXN0ZWZhbmlAcmVkaGF0LmNvbT4KKwktIG5hdGl2ZSBJbWFnZUxpc3RfUmVtb3ZlIGRvc24ndCBzcGl0IG91dCBhbiBlcnJvciBtZXNzYWdlIHdoZW4KKwkgIGRlbGV0aW5nIGFuIGluZGV4IG91dCBvZiByYW5nZSBzbyBkb24ndCBkbyB0aGF0IGVpdGhlcgorCS0gYWRkIDIgSW1hZ2VMaXN0X1JlbW92ZSB0ZXN0cworCisJKiBkbGxzL2NvbWN0bDMyL3RyZWV2aWV3LmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlEZXRlcm1pbmUgd2hldGhlciB0byBkbyBsYWJlbCBlZGl0IGJlZm9yZSBzZW5kaW5nIE5NX0NMSUNLLgorCisJKiBwcm9ncmFtcy93aW5lY2ZnL0VuLnJjLCBwcm9ncmFtcy93aW5lY2ZnL2RyaXZlLmMsCisJICBwcm9ncmFtcy93aW5lY2ZnL3dpbmVjZmcuYywgcHJvZ3JhbXMvd2luZWNmZy93aW5lY2ZnLmgsCisJICBwcm9ncmFtcy93aW5lY2ZnL3gxMWRydmRsZy5jOgorCU1pa2UgSGVhcm4gPG1pa2VAbmF2aS5jeD4KKwktIHN3aXRjaCB4MTFkcnZkbGcgdG8ga2VybmVsX3N0eWxlLCBhbmQgY2xlYW4gdXAgc29tZSBzdXBlcmZsb3VzIGNvZGUKKwktIG1vcmUgd2luMzIgaGVhcGlmaWNhdGlvbgorCS0gbW92ZSBnZXREaWFsb2dJdGVtVGV4dCBpbnRvIGhlYWRlciBhbmQgcmVuYW1lLCB1c2Ugc29tZSBtb3JlIGluCisJICB4MTFkcnYgcGFnZQorCS0gbWFrZSBsYWJlbCBwaHJhc2luZyBjb25zaXN0ZW50IGluIHgxMWRydiBwYWdlCisKKwkqIHByb2dyYW1zL3dpbmVjZmcvRW4ucmMsIHByb2dyYW1zL3dpbmVjZmcvYXBwZGVmYXVsdHMuYywKKwkgIHByb2dyYW1zL3dpbmVjZmcvYXVkaW8uYywgcHJvZ3JhbXMvd2luZWNmZy9kcml2ZS5jLAorCSAgcHJvZ3JhbXMvd2luZWNmZy9saWJyYXJpZXMuYywgcHJvZ3JhbXMvd2luZWNmZy9tYWluLmMsCisJICBwcm9ncmFtcy93aW5lY2ZnL3Jlc291cmNlLmgsIHByb2dyYW1zL3dpbmVjZmcvd2luZWNmZy5jLAorCSAgcHJvZ3JhbXMvd2luZWNmZy93aW5lY2ZnLmgsIHByb2dyYW1zL3dpbmVjZmcveDExZHJ2ZGxnLmM6CisJTWlrZSBIZWFybiA8bWlrZUBuYXZpLmN4PgorCS0gcmV3cml0ZSB0aGUgdHJhbnNhY3Rpb24gc3lzdGVtIHRvIGJlIGJhc2VkIG9uIGEgc2V0dGluZ3Mgb3ZlcmxheSwKKwkgIHRvIGhhdmUgYSBuaWNlciBBUEksIGFuZCB0byBhY3R1YWxseSB3b3JrIChhbHdheXMgYSBib251cykKKwktIGNoYW5nZSB0aGUgbGlicmFyaWVzIHBhZ2UgdG8gYmUgYmFzZWQgb24gYSBsaXN0Ym94IHJhdGhlciB0aGFuIGEKKwkgIHRyZWV2aWV3LCBjbGVhbiB1cCBhbmQgc2hyaW5rIHRoZSBjb2RlCisJLSBhZGQgYWNjZWxlcmF0b3Iga2V5cyB0byB0aGUgbGlicmFyaWVzIHBhZ2UsIGZvY3VzIG1hbmFnZW1lbnQKKwktIG1ha2UgdGhlIHdpbmRvdyB0aXRsZSByZWZsZWN0IHdoYXQgdGhlIHVzZXIgaXMgY3VycmVudGx5IGVkaXRpbmcKKwktIHJlbW92ZSBib2d1cyByb290IHdhcm5pbmcKKwktIHJlbW92ZSBzb21lIHVudXNlZCBjb250cm9sIElEcyBpbiByZXNvdXJjZS5oCisJLSBzdGFydCBjb252ZXJ0aW5nIHRoZSB4MTFkcnYgZGlhbG9nIHRvIGtlcm5lbF9zdHlsZSBmcm9tIGphdmFTdHlsZQorCS0gYnVnZml4aW5nCisKKwkqIHByb2dyYW1zL3dpbmVjZmcvRW4ucmMsIHByb2dyYW1zL3dpbmVjZmcvYXBwZGVmYXVsdHMuYywKKwkgIHByb2dyYW1zL3dpbmVjZmcvcHJvcGVydGllcy5jLCBwcm9ncmFtcy93aW5lY2ZnL3Jlc291cmNlLmgsCisJICBwcm9ncmFtcy93aW5lY2ZnL3dpbmVjZmcuYywgcHJvZ3JhbXMvd2luZWNmZy93aW5lY2ZnLmgsCisJICBwcm9ncmFtcy93aW5lY2ZnL3dpbmVjZmcucmMsIHByb2dyYW1zL3dpbmVjZmcveDExZHJ2ZGxnLmM6CisJTWlrZSBIZWFybiA8bWlrZUBuYXZpLmN4PgorCS0gaW50cm9kdWNlIGtleXBhdGgoKSBmdW5jdGlvbgorCS0gcmV3cml0ZSBhbmQgY2xlYW4gdXAgYXBwZGVmYXVsdHMuYywgdXNlIGEgbGlzdHZpZXcgcmF0aGVyIHRoYW4KKwkgIHRyZWV2aWV3CisJLSB1c2FiaWxpdHkgdHdlYWs6IHJldmVyc2Ugd2luZG93cyB2ZXJzaW9uIGNvbWJvIHNvIG1vcmUgcmVjZW50CisJICB2ZXJzaW9ucyBjb21lIGZpcnN0CisJLSB1c2FiaWxpdHkgdHdlYWs6IGltcHJvdmUgdGhlIGFkZCBhcHBsaWNhdGlvbiBvcGVuIGRpYWxvZyBib3gKKwktIGFkZCBhY2NlbGVyYXRvciBrZXlzCisJLSBlbmFibGUvZGlzYWJsZSBjb250cm9scyBjb3JyZWN0bHkKKwktIGJlZ2luIHRvIHN0YW5kYXJkaXNlIG9uIHVuZGVyc2NvcmVfc3R5bGUgZm9yIGNvbnNpc3RlbmN5IHdpdGggdGhlCisJICByZXN0IG9mIHdpbmUKKwktIGNvbW1lbnQgb3V0IHRoZSB0cmFuc2xhdGlvbnMgZm9yIG5vdywgdGhlIFVJIHdpbGwgYmUgY2hhbmdpbmcgbW9yZQorCS0gYmVnaW4gcGhhc2luZyBvdXQgbGliYyBtYWxsb2MgaW4gZmF2b3VyIG9mIHRoZSB3aW4zMiBoZWFwCisKKwkqIHByb2dyYW1zL3dpbmVmaWxlL0l0LnJjOiBJdmFuIExlbyBQdW90aSA8cHVvdGlAaW53aW5kLml0PgorCVRyYW5zbGF0aW9uIHVwZGF0ZS4KKworCSogaW5jbHVkZS9wc3RvcmUuaWRsOiBGaWxpcCBOYXZhcmEgPHhuYXZhcmFAdm9sbnkuY3o+CisJRml4IElETCBwcm90b3R5cGVzIG9mIElQU3RvcmU6OldyaXRlSXRlbSBhbmQgSVBTdG9yZTo6Q2xvc2VJdGVtLgorCisJKiBkbGxzL2F0bC9hdGwuc3BlYywgZGxscy9hdGwvYXRsX21haW4uYywgZGxscy9hdGwvYXRsYmFzZS5oOgorCUphbWVzIEhhd2tpbnMgPHRydWlrZW5AZ21haWwuY29tPgorCVN0dWIgaW1wbGVtZW50YXRpb24gb2YgQXRsTW9kdWxlVW5yZWdpc3RlclNlcnZlckV4LgorCisJKiB0b29scy93aW5lcHJlZml4Y3JlYXRlLmluOiBNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlBZGRlZCBtaXNzaW5nIGRpcmVjdG9yaWVzIG1lbnRpb25lZCBpbiBzaGVsbHBhdGguYy4KKworCSogZm9udHMvLmN2c2lnbm9yZSwgZm9udHMvTWFrZWZpbGUuaW4sIGZvbnRzL3dpbmVfc2Fuc19zZXJpZi5zZmQ6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgY3lyaWxsaWMgZ2x5cGhzIHRvIHdpbmVfc2Fuc19zZXJpZiBhdCAyMCBwcGVtLgorCisJKiBkbGxzL2NvbWN0bDMyL3RyZWV2aWV3LmM6IEpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJSXRlbSBoZWlnaHQvZXhwYW5kIGJ1dHRvbiB3aWR0aCBtdXN0IGJlID49IHRoYW4gaW1hZ2VsaXN0IHNpemUuCisJQXZvaWQgYSBtYWdpYyBudW1iZXIsIGFkZCBGSVhNRSBmb3IgaW5jb3JyZWN0ICsvLSBkcmF3aW5nLgorCisJKiBwcm9ncmFtcy93aW5lY2ZnL21haW4uYzogTWlrZSBIZWFybiA8bWlrZUBuYXZpLmN4PgorCURpc3BsYXkgbWVzc2FnZSBib3ggdG8gYWxlcnQgdXNlcnMgbW9yZSByZWxpYWJseSB0aGF0IHdpbmVjZmcgaXMKKwl1bmZpbmlzaGVkLgorCisJKiBkb2N1bWVudGF0aW9uL2RlYnVnZ2VyLnNnbWwsIHByb2dyYW1zL3dpbmVkYmcvYnJlYWsuYywKKwkgIHByb2dyYW1zL3dpbmVkYmcvZGJnLnksIHByb2dyYW1zL3dpbmVkYmcvZGVidWdnZXIuaCwKKwkgIHByb2dyYW1zL3dpbmVkYmcvZGlzcGxheS5jLCBwcm9ncmFtcy93aW5lZGJnL2V4cHIuYywKKwkgIHByb2dyYW1zL3dpbmVkYmcvbWVtb3J5LmMsIHByb2dyYW1zL3dpbmVkYmcvc291cmNlLmMsCisJICBwcm9ncmFtcy93aW5lZGJnL3N5bWJvbC5jLCBwcm9ncmFtcy93aW5lZGJnL3R5cGVzLmMsCisJICBwcm9ncmFtcy93aW5lZGJnL3dpbmVkYmcuYzoKKwlFcmljIFBvdWVjaCA8cG91ZWNoLWVyaWNAd2FuYWRvby5mcj4KKwktIGZpeGVkIHJlZ3Jlc3Npb24gaW4gY3RybC1jIGhhbmRsaW5nCisJLSBmaXhlZCByZWdyZXNzaW9uIGluICdpbmZvIHN5bWJvbCBYWFhYJyBjb21tYW5kIChhbmQgZW5oYW5jZWQKKwkgIHByZXNlbnRhdGlvbikKKwktIGZpeGVkIHJlZ3Jlc3Npb24gaW4gbGluZSBzdGVwcGluZworCS0gZml4ZWQgcmVncmVzc2lvbiBpbiAmIChhZGRyZXNzIG9wZXJhdG9yKSBoYW5kbGluZworCS0gZml4ZWQgc29tZSBiYWQgbW9kdWxlIHJlZmVyZW5jZSBmb3IgbG9jYWwgc3ltYm9scworCS0gZW5oYW5jZWQgcmVnaXN0ZXIgcHJlc2VudGF0aW9uIGFzIGxvY2FsIHZhcmlhYmxlcworCS0gYWRkZWQgd2FybmluZyB3aGVuIGxhdW5jaGluZyBhIGRlYnVnZ2VlIHdoaWNoIGlzbid0IGEgV2luZSBhcHAKKwktIHJlbW92ZWQgdGhlICdsb2NhbCcgZXh0ZW5zaW9uIG9mIGRpc3BsYXkgY29tbWFuZCAoYW5kIGNoZWNrIHdoZW4KKwkgIHNldHRpbmcgdGhlIGRpc3BsYXkgd2hldGhlciB0aGUgZXhwciBoYXMgYSBsb2NhbCBiaW5kaW5nKQorCS0gc2ltcGxpZmllZCBleGNlcHRpb24gaGFuZGxpbmcsIGFuZCBmYWN0b3JpemVkIHNvbWUgY29kZSB3aGVuCisJICBkZWJ1Z2dlciBzdG9wcworCisJKiB0b29scy93aWRsL3BhcnNlci55OiBGaWxpcCBOYXZhcmEgPHhuYXZhcmFAdm9sbnkuY3o+CisJLSBGb3JjZSBkZWZhdWx0IFtpbl0gYXR0cmlidXRlIG9uIGFsbCBwYXJhbWV0ZXJzIHdoZXJlIGV4cGxpY2l0IFtpbl0KKwkgIG9yIFtvdXRdIGF0dHJpYnV0ZXMgYXJlbid0IHNwZWNpZmllZC4KKwktIEZvcmNlIGRlZmF1bHQgW291dF0gYXR0cmlidXRlIG9uIHJldHVybiB2YWx1ZXMuCisKKwkqIGRsbHMvZDNkOC9NYWtlZmlsZS5pbiwgZGxscy9kM2Q4L2QzZDhfbWFpbi5jLAorCSAgZGxscy9kM2Q4L2QzZDhfcHJpdmF0ZS5oLCBkbGxzL2QzZDgvZGlyZWN0eC5jLCBkbGxzL2QzZDkvZGlyZWN0eC5jLAorCSAgZGxscy93aW5lZDNkL01ha2VmaWxlLmluLCBkbGxzL3dpbmVkM2QvZGlyZWN0eC5jLAorCSAgZGxscy93aW5lZDNkL3V0aWxzLmMsIGRsbHMvd2luZWQzZC93aW5lZDNkX21haW4uYywKKwkgIGRsbHMvd2luZWQzZC93aW5lZDNkX3ByaXZhdGUuaCwgaW5jbHVkZS93aW5lL3dpbmVkM2RfaW50ZXJmYWNlLmg6CisJSmFzb24gRWRtZWFkZXMgPHVzQHRoZS1lZG1lYWRlcy5kZW1vbi5jby51az4KKwktIE1ha2UgZDNkOCBrbm93IGFib3V0IHRoZSB3aW5lZDNkIGRldmljZSBhbmQgc3RhcnQgdXNpbmcgaXQuCisJLSBNb3ZlIHNvbWUgb2YgdGhlIHNjcmVlbiBtb2RlIHJlbGF0ZWQgZnVuY3Rpb25zIGludG8gd2luZWQzZCBhbmQgYWRkCisJICB1bnRlc3RlZCBzdXBwb3J0IGZvciB0aGUgbmV3IGQzZDkgb3B0aW9ucyBvZiBwcm92aWRpbmcgdGhlIGZvcm1hdCB0bworCSAgc29tZSBvZiB0aGUgY2FsbHMuCisJLSBNb3ZlIG90aGVyIGZ1bmN0aW9ucyBmcm9tIHRoZSBkaXJlY3R4IGludGVyZmFjZSBpbnRvIHRoZSBjb21tb24KKwkgIGxpYnJhcnkgYW5kIGltcGxlbWVudCB0aGUgY2FsbHMgZnJvbSBkM2Q5IGFzIHdlbGwuCisJLSBDb3B5IGFjcm9zcyB0aGUgZmlyc3Qgb2YgdGhlIGZ1bmN0aW9ucyB1c2VkIHRvIG1ha2UgdHJhY2VzIG1vcmUgcmVhZGFibGUsCisJICBjcmVhdGluZyB1dGlscy5jIHRvIHN0b3JlIHRoZW0gaW4uIEV2ZW50dWFsbHkgdGhlIG9uZXMgaW4gZDNkOCB3aWxsIGJlCisJICByZW1vdmVkIGJ1dCBmb3Igbm93IGp1c3QgZHVwbGljYXRlIHRoZSBjb2RlLgorCisJKiB3aW5kb3dzL2N1cnNvcmljb24uYzogTWljaGFlbCBLYXVmbWFubiA8aGFsbG9AbWljaGFlbC1rYXVmbWFubi5jaD4KKwlESUJfRml4Q29sb3JzVG9Mb2FkZmxhZ3M6IFN1cHBvcnQgYml0bWFwcyB3aXRoIGEgQklUTUFQQ09SRUhFQURFUgorCXByb3Blcmx5LgorCisyMDA0LTA5LTI3ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBsaWJzL3dpbmUvY29uZmlnLmM6CisJQmFzZSB0aGUgc2VydmVyIGRpcmVjdG9yeSBuYW1lIG9uIHRoZSB1aWQsIG5vdCB0aGUgdXNlcm5hbWUuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBkbGxzL01ha2VmaWxlLmluLCBkbGxzL2FkdnBhY2svLmN2c2lnbm9yZSwKKwkgIGRsbHMvYWR2cGFjay9NYWtlZmlsZS5pbiwgZGxscy9hZHZwYWNrL2FkdnBhY2suYywKKwkgIGRsbHMvYWR2cGFjay9hZHZwYWNrLnNwZWMsIGRsbHMvYWR2cGFjay9yZWcuYywgaW5jbHVkZS9NYWtlZmlsZS5pbiwKKwkgIGluY2x1ZGUvYWR2cHViLmg6CisJSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlQYXJ0aWFsIGltcGxlbWVudGF0aW9uIG9mIGFkdnBhY2suUmVnSW5zdGFsbC4KKworCSogcHJvZ3JhbXMvd2luZWZpbGUvRW4ucmMsIHByb2dyYW1zL3dpbmVmaWxlL01ha2VmaWxlLmluLAorCSAgcHJvZ3JhbXMvd2luZWZpbGUvUGwucmMsIHByb2dyYW1zL3dpbmVmaWxlL3Jlc291cmNlLmgsCisJICBwcm9ncmFtcy93aW5lZmlsZS9yZXNvdXJjZS5yYywgcHJvZ3JhbXMvd2luZWZpbGUvd2luZWZpbGUuYywKKwkgIHByb2dyYW1zL3dpbmVmaWxlL3dpbmVmaWxlLmg6CisJUGlvdHIgQ2FiYW4gPHBpbzEzQHBvY3p0YS5vbmV0LnBsPgorCS0gYWRkZWQgY2hvb3NpbmcgZm9udHMKKwktIGFkZGVkIGZpbGUgbW92aW5nCisKKwkqIGRsbHMvYWR2YXBpMzIvc2VydmljZS5jOiBBbGV4YW5kZXIgWWF3b3Jza3kgPHlhd29yc2t5QG1pZ3Vzb2Z0LnJ1PgorCVN0YXJ0IG9ubHkgZmlyc3Qgc2VydmljZSBpbiB0aGUgc2VydmljZSB0YWJsZS4KKworCSogZGxscy93aW5tbS93aW5lYWxzYS9taWRpLmM6CisJVXdlIEJvbm5lcyA8Ym9uQGVsZWt0cm9uLmlrcC5waHlzaWsudHUtZGFybXN0YWR0LmRlPgorCUNhbGwgR2V0UHJvY2Vzc0hlYXAoKSBpbnN0ZWFkIG9mIHBhc3NpbmcgaXRzIGFkZHJlc3MuCisKKwkqIGRsbHMvc2hlbGwzMi9kaWFsb2dzLmM6IEdlIHZhbiBHZWxkb3JwIDxndmdAcmVhY3Rvcy5jb20+CisJQ2FsbCBHZXRQcm9jZXNzSGVhcCgpIGluc3RlYWQgb2YgcGFzc2luZyBpdHMgYWRkcmVzcy4KKworCSogZGxscy94MTFkcnYvZGliLmM6IE1pY2hhZWwgS2F1Zm1hbm4gPGhhbGxvQG1pY2hhZWwta2F1Zm1hbm4uY2g+CisJIC0gQWRkIGFzIG1hbnkgZW50cmllcyB0byB0aGUgY29sb3IgbWFwIGFzIHNwZWNpZmllZCBieSB0aGUgRElCLgorCSAtIFN1cHBvcnQgYml0bWFwcyB3aXRoIGEgQklUTUFQVns0LDV9SEVBREVSLgorCisJKiBkbGxzL29sZWF1dDMyL3RtYXJzaGFsLmMsIGRsbHMvb2xlYXV0MzIvdHlwZWxpYi5jOgorCU1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCUZ1bmN0aW9uIHJldHVybiB0eXBlcyBjYW5ub3QgYmUgY29uc3QuCisKKwkqIHRvb2xzL3dpbmVzaGVsbGxpbms6IE1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCVJlbW92ZSAtLSBmcm9tIHNoZWxsIGVudHJpZXMsIHNpbmNlIHdpbmUgbm8gbG9uZ2VyIGZpbHRlcnMgaXQuCisKKwkqIGRvY3VtZW50YXRpb24vcGF0Y2hlcy5zZ21sOiBIYW5zIExlaWRla2tlciA8aGFuc0BpdC52dS5ubD4KKwlTdWdnZXN0IHJ1bm5pbmcgY29uZm9ybWFuY2UgdGVzdHMgcHJpb3IgdG8gc2VuZGluZyBhIHBhdGNoLgorCisJKiBkbGxzL2RiZ2hlbHAvZGJnaGVscF9wcml2YXRlLmgsIGRsbHMvZGJnaGVscC9tb2R1bGUuYywKKwkgIGRsbHMvZGJnaGVscC9zeW1ib2wuYywgZGxscy9kYmdoZWxwL3R5cGUuYzoKKwlFcmljIFBvdWVjaCA8cG91ZWNoLWVyaWNAd2FuYWRvby5mcj4KKwktIG5vdyBzdG9yaW5nIHZlY3RvciBvZiB0eXBlcyBvbiBhIHBlciBtb2R1bGUgYmFzaXMgKGFuZCBnaXZpbmcgaXQKKwkgIGJhY2sgaW4gU3ltRW51bVR5cGVzKQorCS0gZmxhZ2dpbmcgbG9jYWwgcmVnaXN0ZXIgdmFycyBhcyBsb2NhbCB0b28KKworCSogZG9jdW1lbnRhdGlvbi9QQUNLQUdJTkc6IEhhbnMgTGVpZGVra2VyIDxoYW5zQGl0LnZ1Lm5sPgorCVN1Z2dlc3QgaW5zdGFsbGluZyBMaXR0bGVDTVMgdG8gV2luZSBwYWNrYWdlcnMuCisKKwkqIHByb2dyYW1zL3dpbmhlbHAvbWFjcm8uYzogSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlTdHViIE1BQ1JPX0p1bXBDb250ZXh0IHRvIGF0IGxlYXN0IGJyaW5nIHVwIHRoZSBoZWxwIGZpbGUuCisKKzIwMDQtMDktMjUgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvY29tY3RsMzIvaG90a2V5LmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwktIEltcGxlbWVudCBXU19ESVNBQkxFRCBzdHlsZS4KKwktIElzc3VlIEVOX0NIQU5HRSBub3RpZmljYXRpb24uCisKKwkqIHdpbmRvd3Mvbm9uY2xpZW50LmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlDaGVjayBpbiBjbGllbnQgYXJlYSBiZWZvcmUgY2FwdGlvbiBhcmVhLCBiZWNhdXNlIHRoZSBhcHAgbWF5IGhhdmUKKwljaGFuZ2VkIHRoZSBOQyBhcmVhIGluIFdNX05DQ0FMQ1NJWkUuCisKKwkqIGRsbHMvc2hsd2FwaS9wYXRoLmMsIGRsbHMvc2hsd2FwaS90ZXN0cy9wYXRoLmM6CisJSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbXBsZW1lbnQgUGF0aFNlYXJjaEFuZFF1YWxpZnkuCisKKwkqIGRsbHMvc2hsd2FwaS9vcmRpbmFsLmMsIGRsbHMvc2hsd2FwaS9zaGx3YXBpLnNwZWM6CisJR2UgdmFuIEdlbGRvcnAgPGd2Z0ByZWFjdG9zLmNvbT4KKwlTSEdldEFwcENvbXBhdEZsYWdzIHRha2VzIDQgYnl0ZXMgb2YgcGFyYW1ldGVycy4KKworCSogcHJvZ3JhbXMvd2luaGVscC93aW5oZWxwLmM6IEtlbiBCZWxsZWF1IDxqYW1lekBpdmljLnFjLmNhPgorCS0gUmVtb3ZlZCBjb2RlIHRoYXQgdG9vayB0aGUgZm9jdXMgYXdheSBmcm9tIHRoZSBidXR0b25zLgorCS0gTWFrZSB0aGUgYnV0dG9ucyBmb3J3YXJkIFdNX0tFWURPV04gdG8gdGhlaXIgcGFyZW50LgorCisJKiBkbGxzL2FkdmFwaTMyL3NlcnZpY2UuYzogQWxleGFuZGVyIFlhd29yc2t5IDx5YXdvcnNreUBtaWd1c29mdC5ydT4KKwlSZXN0cnVjdHVyZWQgY29kZSBvZiBTdGFydFNlcnZpY2VDdHJsRGlzcGF0Y2hlckEvVy4KKworMjAwNC0wOS0yNCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9vbGUzMi9hbnRpbW9uaWtlci5jLCBkbGxzL29sZTMyL2JpbmRjdHguYywKKwkgIGRsbHMvb2xlMzIvY2xpcGJvYXJkLmMsIGRsbHMvb2xlMzIvY29tcG9zaXRlbW9uaWtlci5jLAorCSAgZGxscy9vbGUzMi9kYXRhY2FjaGUuYywgZGxscy9vbGUzMi9kZWZhdWx0aGFuZGxlci5jLAorCSAgZGxscy9vbGUzMi9maWxlbW9uaWtlci5jLCBkbGxzL29sZTMyL2hnbG9iYWxzdHJlYW0uYywKKwkgIGRsbHMvb2xlMzIvaXRlbW1vbmlrZXIuYywgZGxscy9vbGUzMi9tYXJzaGFsLmMsCisJICBkbGxzL29sZTMyL21lbWxvY2tieXRlcy5jLCBkbGxzL29sZTMyL21lbWxvY2tieXRlczE2LmMsCisJICBkbGxzL29sZTMyL21vbmlrZXIuYywgZGxscy9vbGUzMi9vbGVvYmouYywgZGxscy9vbGUzMi9vbGVwcm94eS5jLAorCSAgZGxscy9vbGUzMi9ycGMuYywgZGxscy9vbGUzMi9zdGdfc3RyZWFtLmMsIGRsbHMvb2xlMzIvc3RvcmFnZS5jLAorCSAgZGxscy9vbGUzMi9zdG9yYWdlMzIuYywgZGxscy9vbGVhdXQzMi9jb25ucHQuYywKKwkgIGRsbHMvb2xlYXV0MzIvZGlzcGF0Y2guYywgZGxscy91cmxtb24vdW1vbi5jOgorCUpvcmlzIEh1aXplciA8am9yaXNodWl6ZXJAcGxhbmV0Lm5sPgorCVJlZiBjb3VudCBpbmNyZW1lbnQvZGVjcmVtZW50IGNsZWFudXAuCisKKwkqIHdpbmRvd3Mvc3lzcGFyYW1zLmM6IEhhamltZSBTZWdhd2EgPHdpbmV0aXBzQHNpZGVuZXQuZGRvLmpwPgorCUFkZGVkIFN0YXR1c0ZvbnRTaXplIGFuZCBNZXNzYWdlRm9udFNpemUgZW50cmllcyBpbiB3aW4uaW5pLgorCisJKiBkbGxzL2dkaS9nZGlvYmouYzogSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlVc2UgYSAoc2VlbWluZ2x5IHhwIGRlZmF1bHQpIHdpZHRoIG9mIDcgZm9yIHN5c3RlbSBmb250cy4KKworCSogZGxscy9zaGVsbDMyL2ljb25jYWNoZS5jLCBkbGxzL3NoZWxsMzIvc2hyZXMucmM6CisJTWFydGluIEZ1Y2hzIDxtYXJ0aW4tZnVjaHNAZ214Lm5ldD4KKwktIFVzZSBzeXN0ZW0gbWV0cmljcyB0byBkZXRlcm1pbmUgaWNvbiBzaXplcy4KKwktIE1vdmUgaW52YWxpZCBpbmRleCBmcm9tIDEgdG8gMC4KKworCSogbG9hZGVyL3ByZWxvYWRlci5jOgorCVN1cHBvcnQgY29tcGlsaW5nIHdpdGggLWZQSUMgZm9yIHBlb3BsZSB3aG8gc29tZWhvdyB0aGluayB0aGlzIGlzIGEKKwlnb29kIGlkZWEuCisKKwkqIGRvY3VtZW50YXRpb24vd2luZWxpYi1pbnRyby5zZ21sOgorCVZpbmNlbnQgQulyb24gPHZiZXJvbkBtZWNhbm8uZ21lLnVzaGVyYi5jYT4KKwlDaGFuZ2UgdGhlIHNhbXBsZSBhcHAgZnJvbSB3aW5lbWluZSB0byBub3RlcGFkIGZvciB3aW5lbWFrZXIgaW4gdGhlCisJV2luZWxpYiBVc2VyIEd1aWRlLgorCisJKiBkbGxzL3VzZXIvbWVudS5jLCBpbmNsdWRlL3dpbnVzZXIuaDoKKwlSaWNoYXJkIENvaGVuIDxyaWNoYXJkQGRhaWpvYnUuY28udWs+CisJTWVudUl0ZW1Gcm9tUG9pbnQgc2hvdWxkbid0IGNyYXNoIGlmIHRoZXJlJ3Mgbm8gbWVudS4KKworCSogZGxscy9udGRsbC9sb2Fkb3JkZXIuYzoKKwlVd2UgQm9ubmVzIDxib25AZWxla3Ryb24uaWtwLnBoeXNpay50dS1kYXJtc3RhZHQuZGU+CisJTWFrZSBXSU5FRExMT1ZFUlJJREVTIGFsc28gbWF0Y2ggZm9yICpkbGwuCisKKzIwMDQtMDktMjMgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvc2hsd2FwaS9vcmRpbmFsLmMsIGRsbHMvd2luaW5ldC9kaWFsb2dzLmMsIGluY2x1ZGUvd2ludXNlci5oOgorCVJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlEb24ndCBkZWZpbmUgR1dMX1VTRVJEQVRBLCBHV0xfSUQsIEdXTF9IV05EUEFSRU5ULCBHV0xfSElOU1RBTkNFIGFuZAorCUdXTF9XTkRQUk9DIHdoZW4gY29tcGlsaW5nIHRoZSBXaW5lIHNvdXJjZS4KKworCSogcHJvZ3JhbXMvd2luaGVscC9obHBmaWxlLmMsIHByb2dyYW1zL3dpbmhlbHAvd2luaGVscC5jOgorCUtlbiBCZWxsZWF1IDxqYW1lekBpdmljLnFjLmNhPgorCS0gUmVtb3ZlZCB0aGUgZGVwcmVjYXRlZCBPRl9TRUFSQ0ggZmxhZy4KKwktIEhhbmRsZSBxdW90ZXMgaW4gY29tbWFuZC1saW5lIHBhcnNpbmcuCisKKwkqIGRsbHMvd2luaW5ldC9odHRwLmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlVc2UgZHluYW1pY2FsbHkgYWxsb2NhdGVkIGhlYXAgYWxsb2NhdGVkIGJ1ZmZlcnMgaW4KKwlIVFRQX0ludGVycHJldEhUVFBIZWFkZXIgdG8gYXZvaWQgYnVmZmVyIG92ZXJmbG93IG9uIGxhcmdlIGhlYWRlcnMuCisKKwkqIGRsbHMvd2luaW5ldC9pbnRlcm5ldC5jLCBkbGxzL3dpbmluZXQvdGVzdHMvaHR0cC5jOgorCVJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwktIERvbid0IGNyYXNoIG9uIGRvdWJsZSBJbnRlcm5ldENsb3NlSGFuZGxlLgorCS0gVGVzdCBjYXNlIGZvciB0aGlzLgorCisJKiBkbGxzL3VzZXIvdGVzdHMvd2luLmM6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJLSBTa2lwIHNoZWxsIHdpbmRvdyB0ZXN0IG9uIFdpbjl4IGFuZCByZXN0b3JlIGl0cyBmdW5jdGlvbmFsaXR5IG9uIE5UCisJICBwbGF0Zm9ybXMuCisJLSBVc2Uga2V5YmRfZXZlbnQgaW5zdGVhZCBvZiBTZW5kSW5wdXQgaW4gb3JkZXIgdG8gcGVyZm9ybSBrZXlib2FyZAorCSAgaW5wdXQgdGVzdCBvbiBXaW45NSBhcyB3ZWxsLgorCisJKiBkbGxzL3NoZWxsMzIvc2hlbGxsaW5rLmM6IE1hcnRpbiBGdWNocyA8bWFydGluLWZ1Y2hzQGdteC5uZXQ+CisJQXQgbGVhc3QgcHJpbnQgbWVzc2FnZSBpZiB3ZSdyZSBub3QgcmV0dXJuaW5nIHJlcXVlc3RlZCBkYXRhLgorCisJKiBkbGxzL2NvbWN0bDMyL2hvdGtleS5jOiBSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJLSBNYWtlIHRoZSBjb250cm9sIGxvb2sgbW9yZSBsaWtlIG5hdGl2ZSBieSB1c2luZyB0aGUgcmlnaHQgZm9udCBhbmQKKwkgIHNwYWNpbmcuCisJLSBVc2UgVGV4dE91dFcgcmF0aGVyIHRoYW4gRHJhd1RleHRXIGFzIHdlIGRvbid0IHVzZSBhbnkgZmVhdHVyZXMgb2YKKwkgIERyYXdUZXh0Vy4KKwktIEZpeCBjYXJldCBzaXplIGFuZCBwb3NpdGlvbi4KKwktIEltcGxlbWVudCBXTV9DSEFSIGFuZCBXTV9TWVNDSEFSIG1lc3NhZ2VzLgorCisJKiBkbGxzL2NvbWN0bDMyL3RyZWV2aWV3LmM6IEZpbGlwIE5hdmFyYSA8eG5hdmFyYUB2b2xueS5jej4KKwlGaXggb2J2aW91c2x5IHdyb25nIGNvbmRpdGlvbiBpbiBhbiAiaWYiIHN0YXRlbWVudC4KKworCSogZGxscy9jb21jdGwzMi90b29sYmFyLmM6IEZpbGlwIE5hdmFyYSA8eG5hdmFyYUB2b2xueS5jej4KKwlBZGQgbm90ZSBhYm91dCB1bmltcGxlbWVudGVkIFRCX1NBVkVSRVNUT1JFIG1lc3NhZ2UuCisKKwkqIGRsbHMvY29tbWRsZy9mb250ZGxnLmM6IFN0ZXZlbiBFZHdhcmRzIDxzdGV2ZW5fZWQ0MTUzQHlhaG9vLmNvbT4KKwlSZW1vdmUgdW5uZWVkZWQgaW5jbHVkZSBzdGF0ZW1lbnRzLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgaW5jbHVkZS9jb25maWcuaC5pbiwgc2VydmVyL2ZkLmM6CisJQWRkZWQgc3VwcG9ydCBmb3IgZXBvbGwoKSBhcyBhbiBhbHRlcm5hdGl2ZSB0byBwb2xsKCkgKGJhc2VkIG9uIHRoZQorCXdvcmsgb2YgU2hhY2hhciBTaGVtZXNoIGFuZCBNaWtlIE1jQ29ybWFjaykuCisKKwkqIGRsbHMvZDNkOS9NYWtlZmlsZS5pbiwgZGxscy9kM2Q5L2QzZDlfbWFpbi5jLAorCSAgZGxscy9kM2Q5L2QzZDlfcHJpdmF0ZS5oLCBkbGxzL2QzZDkvZGlyZWN0eC5jLAorCSAgZGxscy93aW5lZDNkL01ha2VmaWxlLmluLCBkbGxzL3dpbmVkM2QvZGlyZWN0eC5jLAorCSAgZGxscy93aW5lZDNkL3ZlcnRleHNoYWRlci5jLCBkbGxzL3dpbmVkM2Qvd2luZWQzZC5zcGVjLAorCSAgZGxscy93aW5lZDNkL3dpbmVkM2RfbWFpbi5jLCBkbGxzL3dpbmVkM2Qvd2luZWQzZF9wcml2YXRlLmgsCisJICBpbmNsdWRlL3dpbmUvd2luZWQzZF9pbnRlcmZhY2UuaDoKKwlKYXNvbiBFZG1lYWRlcyA8dXNAdGhlLWVkbWVhZGVzLmRlbW9uLmNvLnVrPgorCUNyZWF0ZSBhIHdpbmVkM2QgaW50ZXJmYWNlLCBhbmQgZ2VuZXJhdGUgYSB3aW5lZDNkIG9iamVjdCBpbiB0aGUgZDNkOQorCWNyZWF0ZSBtZXRob2QuIE1ha2UgdGhlIGZpcnN0IChzaW1wbGUpIGNhbGwgaW1wbGVtZW50YXRpb24gaW50byB0aGUKKwluZXcgd2luZWQzZCBpbnRlcmZhY2UuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGVsbDMyX0RlLnJjLCBkbGxzL3NoZWxsMzIvc2hlbGwzMl9Fbi5yYywKKwkgIGRsbHMvc2hlbGwzMi9zaGVsbDMyX0VzLnJjLCBkbGxzL3NoZWxsMzIvc2hlbGwzMl9JdC5yYywKKwkgIGRsbHMvc2hlbGwzMi9zaGVsbDMyX0phLnJjLCBkbGxzL3NoZWxsMzIvc2hlbGwzMl9QdC5yYywKKwkgIGRsbHMvc2hlbGwzMi9zaGVsbDMyX1VrLnJjOgorCUdlIHZhbiBHZWxkb3JwIDxndmdAcmVhY3Rvcy5jb20+CisJU29tZSB3aW5kcmVzIHZlcnNpb25zIGRvbid0IGxpa2UgUE9QVVAiIiwgY2hhbmdlIHRvIFBPUFVQICIiLgorCisJKiBkbGxzL2RiZ2hlbHAvc3RhY2suYywgcHJvZ3JhbXMvd2luZWRiZy9zdGFjay5jOgorCVJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggZGVidWdnZXIgZm9yIGZsYXQgUEMgYW5kIG5vbi1mbGF0IGZyYW1lLgorCisJKiBkbGxzL3NoZWxsMzIvaWNvbmNhY2hlLmM6IFN0ZXZlbiBFZHdhcmRzIDxzdGV2ZW5fZWQ0MTUzQHlhaG9vLmNvbT4KKwlSZW1vdmUgc29tZSB1bm5lZWRlZCBpbmNsdWRlIHN0YXRlbWVudHMuCisKKwkqIHRvb2xzL3dpbmFwaS9tc3ZjbWFrZXI6IFN0ZXZlbiBFZHdhcmRzIDxzdGV2ZW5fZWQ0MTUzQHlhaG9vLmNvbT4KKwlEZWZpbmUgX1dJTjMyX1dJTk5UIGFuZCBfV0lOMzJfSUUgdmVyc2lvbnMgZm9yIE1TX1ZDIEJ1aWxkLgorCisyMDA0LTA5LTIyICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiB3aW5kb3dzL2RlZnduZC5jLCB3aW5kb3dzL2RpYWxvZy5jLCB3aW5kb3dzL21kaS5jLCB3aW5kb3dzL21lc3NhZ2UuYywKKwkgIHdpbmRvd3Mvd2luLmMsIHdpbmRvd3Mvd2lucHJvYy5jLCBkbGxzL2NvbW1kbGcvY29sb3JkbGcxNi5jLAorCSAgZGxscy9jb21tZGxnL2ZpbGVkbGcuYywgZGxscy9jb21tZGxnL2ZpbGVkbGcxNi5jLAorCSAgZGxscy9jb21tZGxnL2ZpbmRkbGcuYywgZGxscy9jb21tZGxnL2ZvbnRkbGcxNi5jLAorCSAgZGxscy9jb21tZGxnL3ByaW50ZGxnLmMsIGRsbHMvY29tbWRsZy9wcmludGRsZzE2LmM6CisJUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCUdldFdpbmRvd0xvbmcgLT4gR2V0V2luZG93TG9uZ1B0ci4KKworCSogZGxscy9udGRsbC9yZXNvdXJjZS5jOiBSaWNoYXJkIENvaGVuIDxyaWNoYXJkQGRhaWpvYnUuY28udWs+CisJTW92ZSBUUkFDRSBpbnNpZGUgVFJZIGJsb2NrLgorCisJKiBkbGxzL21zYWNtL21zYWNtLnJjLCBkbGxzL21zYWNtL21zYWNtX1BsLnJjLAorCSAgcHJvZ3JhbXMvd2luZWNvbnNvbGUvd2luZWNvbnNvbGVfUGwucmMsCisJICBwcm9ncmFtcy93aW5lY29uc29sZS93aW5lY29uc29sZV9yZXMucmMsIHByb2dyYW1zL3dpbmVmaWxlL1BsLnJjLAorCSAgcHJvZ3JhbXMvd2luZWZpbGUvcnNyYy5yYywgcHJvZ3JhbXMvd2luaGVscC9QbC5yYywKKwkgIHByb2dyYW1zL3dpbmhlbHAvcnNyYy5yYzoKKwlQaW90ciBDYWJhbiA8cGlvMTNAcG9jenRhLm9uZXQucGw+CisJQWRkZWQgUG9saXNoIHRyYW5zbGF0aW9uLgorCisJKiBhY2xvY2FsLm00LCBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYzoKKwlXYXJyZW4gQmFpcmQgPHdhcnJlbi5iYWlyZEBjaW1tZXRyeS5jb20+CisJRml4IGF1dG9jb25mIHRvIGhhdmUgYSBuZXcgV0lORV9UUllfU0hMSUJfRkxBR1MgZnVuY3Rpb24gdGhhdCB0ZXN0cyBpZgorCXRoZSBwcm92aWRlZCBmbGFncyBjYW4gYmUgdXNlZCB0byBsaW5rIGEgc2hhcmVkIGxpYnJhcnkuCisJQWRkZWQgdGVzdCBmb3IgYnVpbGRpbmcgc2hhcmVkIGxpYnMgb24gSFAtVVggd2l0aCBnY2MuCisKKwkqIGRsbHMvc2hlbGwzMi9hdXRvY29tcGxldGUuYywgZGxscy9zaGVsbDMyL2RpYWxvZ3MuYywKKwkgIGRsbHMvc2hlbGwzMi9zaGVsbDMyX21haW4uYywgZGxscy9zaGVsbDMyL3NobHZpZXcuYywKKwkgIGRsbHMveDExZHJ2L2Rlc2t0b3AuYywgZGxscy94MTFkcnYvd2luZG93LmMsIGRsbHMveDExZHJ2L3gxMWRkcmF3LmMsCisJICBkbGxzL3VzZXIvZGlhbG9nMTYuYywgZGxscy91c2VyL21lc3NhZ2UuYywgZGxscy91c2VyL21zZzE2LmM6CisJUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCUdldFdpbmRvd0xvbmcgLT4gR2V0V2luZG93TG9uZ1B0ci4KKworCSogZGxscy9tbGFuZy9tbGFuZy5jOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCU1ha2UgbWxhbmcgcmV0dXJuIHRoZSBzYW1lIGNvZGUgcGFnZSBkZXNjcmlwdGlvbnMgYXMgV2luZG93cywgc29tZQorCWFwcGxpY2F0aW9ucyBkZXBlbmQgb24gaXQuCisKKwkqIHByb2dyYW1zL3dpbmVtaW5lL0RlLnJjLCBwcm9ncmFtcy93aW5lbWluZS9Fbi5yYywKKwkgIHByb2dyYW1zL3dpbmVtaW5lL0VzLnJjLCBwcm9ncmFtcy93aW5lbWluZS9Gci5yYywKKwkgIHByb2dyYW1zL3dpbmVtaW5lL0l0LnJjLCBwcm9ncmFtcy93aW5lbWluZS9ObC5yYywKKwkgIHByb2dyYW1zL3dpbmVtaW5lL1B0LnJjLCBwcm9ncmFtcy93aW5lbWluZS9SdS5yYywKKwkgIHByb2dyYW1zL3dpbmVtaW5lL1NpLnJjLCBwcm9ncmFtcy93aW5lbWluZS9tYWluLmM6CisJUmljaGFyZCBDb2hlbiA8cmljaGFyZEBkYWlqb2J1LmNvLnVrPgorCS0gUmVtb3ZlIG9ic29sZXRlIGhhbmRsaW5nIG9mIFdJTkVfU1RSSUNUL05VTExfSEFORExFLgorCS0gQWxsb3cgbW9yZSBjaGFyYWN0ZXJzIGZvciBXaW5kb3cgdGl0bGUgKGZvciBGciBsb2NhbGUpLgorCS0gSGFyZGNvZGUgdGhlIGljb24gbmFtZSAtIHNvIHRoYXQgaXQncyBpbmRlcGVuZGVudCBvZiBsb2NhbGUuCisJLSBTaG9ydGVuIHRoZSB0ZXh0IGluIHRoZSBBYm91dCBib3ggc28gdGhhdCBpdCBkb2Vzbid0IHdyYXAuCisJLSBVc2UgSEtDVSBpbnN0ZWFkIG9mIEhLTE0gZm9yIHNhdmluZyBzdHVmZi4KKwktIFNhdmUgWVBvcyBwcm9wZXJseS4KKwktIHVzZSBBZGp1c3RXaW5kb3dSZWN0IGluc3RlYWQgb2YgY2FsY3VsYXRpbmcgdGhlIHdpbmRvdyBzaXplIHVzaW5nCisJICBHZXRTeXN0ZW1NZXRyaWNzCisJLSBDb3BlIHdpdGggdGhlIHVzZXIgbW92aW5nIHRoZSB3aW5kb3cgb2Zmc2NyZWVuIGFuZCBtb3ZlIGl0IGJhY2suCisKKwkqIHByb2dyYW1zL3dpbmVjb25zb2xlL3VzZXIuYzogUmljaGFyZCBDb2hlbiA8cmljaGFyZEBkYWlqb2J1LmNvLnVrPgorCUNoYW5nZSB2YXJpYWJsZSBuYW1lIGZyb20gbCB0byBrLgorCisJKiBkbGxzL29sZWF1dDMyL3Rlc3RzL3ZhcnR5cGUuYywgZGxscy9vbGVhdXQzMi92YXJpYW50LmM6CisJSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlEb24ndCB0cmFzaCB0aGUgZHN0IHZhcmlhbnQgaWYgd2UgY2FuJ3QgZG8gdGhlIHR5cGUgY29udmVyc2lvbi4KKwlBZGQgYSB0ZXN0IGZvciB0aGlzLgorCisJKiBwcm9ncmFtcy93aW5lZmlsZS93aW5lZmlsZS5jLCBwcm9ncmFtcy93aW5lZmlsZS93aW5lZmlsZS5oOgorCU1hcnRpbiBGdWNocyA8bWFydGluLWZ1Y2hzQGdteC5uZXQ+CisJLSBIYW5kbGUgIi4iIGFuZCAiLi4iIGFzIHNwZWNpYWwgY2FzZSBhbmQgbW92ZSB0aGVtIGF0IHRoZSB2ZXJ5IGZpcnN0CisJICBiZWdpbm5pbmcgb2YgZGlyZWN0b3J5IGxpc3RpbmdzLgorCS0gUmVtb3ZlIHVudXNlZCB2YXJpYWJsZSB3U3RyaW5nVGFibGVPZmZzZXQuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGVsbGxpbmsuYzogTWFydGluIEZ1Y2hzIDxtYXJ0aW4tZnVjaHNAZ214Lm5ldD4KKwlTdG9yZSBhYnNvbHV0ZSBwYXRoIGluIC5sbmsgZmlsZS4KKworCSogZGxscy9jb21tZGxnL3ByaW50ZGxnLmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJQXZvaWQgVy0+QSB0cmFuc2l0aW9ucy4KKworCSogZGxscy9jb21jdGwzMi9jb21tY3RybC5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVdlIG5vdyBoYXZlIElDQ19MSU5LX0NMQVNTLgorCisJKiBERVZFTE9QRVJTLUhJTlRTOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVdlIG5vIGxvbmdlciBoYXZlIGEgc2VwYXJhdGUgc2V0dXB4LyBETEwgZGlyLgorCisJKiBkbGxzL2NvbWN0bDMyL3N0cmluZy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUNsZWFudXAgVy0+QSB0cmFuc2l0aW9uLgorCisJKiBkbGxzL3NobHdhcGkvdXJsLmMsIGluY2x1ZGUvc2hsd2FwaS5oOgorCVN0ZXZlbiBFZHdhcmRzIDxzdGV2ZW5fZWQ0MTUzQHlhaG9vLmNvbT4KKwlNb3ZlIFVSTF9TQ0hFTUUgdHlwZWRlZiB0byBtYXRjaCBQU0RLLgorCisJKiBERVZFTE9QRVJTLUhJTlRTLCBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgZGxscy9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvbXNjbXMvLmN2c2lnbm9yZSwgZGxscy9tc2Ntcy9NYWtlZmlsZS5pbiwgZGxscy9tc2Ntcy9tc2Ntcy5zcGVjLAorCSAgZGxscy9tc2Ntcy9tc2Ntc19tYWluLmMsIGluY2x1ZGUvY29uZmlnLmguaW4sIGluY2x1ZGUvaWNtLmg6CisJSGFucyBMZWlkZWtrZXIgPGhhbnNAaXQudnUubmw+CisJQmVnaW5uaW5ncyBvZiBhbiBNU0NNUyBpbXBsZW1lbnRhdGlvbiBiYXNlZCBvbiBMaXR0bGVDTVMuCisKKwkqIGRsbHMvb2xlYXV0MzIvb2xlcGljdHVyZS5jOgorCUFsZXggVmlsbGFj7XMgTGFzc28gPGFfdmlsbGFjaXNAcGFsb3NhbnRvLmNvbT4KKwlQYXJ0aWFsIGltcGxlbWVudGF0aW9uIGZvciBPTEVQaWN0dXJlSW1wbF9TYXZlLgorCisJKiBkbGxzL250ZGxsL3ZpcnR1YWwuYzogQWxleGFuZGVyIFlhd29yc2t5IDx5YXdvcnNreUBtaWd1c29mdC5ydT4KKwlNb3ZlZCBUUkFDRXMgdG8gdGhlIGJlZ2lubmluZyBvZiBmdW5jdGlvbnMuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGVsbGxpbmsuYzogTWFydGluIEZ1Y2hzIDxtYXJ0aW4tZnVjaHNAZ214Lm5ldD4KKwlJbXBsZW1lbnQgSVNoZWxsTGlua0E6OlJlc29sdmUgYW5kIElTaGVsbExpbmtXOjpSZXNvbHZlLgorCisJKiBkbGxzL3NoZWxsMzIvc2hlbGwzMl9tYWluLmMsIGRsbHMvc2hlbGwzMi92ZXJzaW9uLmgsCisJICBkbGxzL3NoZWxsMzIvdmVyc2lvbi5yYzoKKwlSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJU2hhcmUgdmVyc2lvbiBpbmZvcm1hdGlvbiBiZXR3ZWVuIERsbEdldFZlcnNpb24gYW5kIHJlc291cmNlIGZpbGUuCisKKwkqIGRsbHMvd2lubW0vbG9sdmxkcnYuYzogUmV2ZXJ0IGJyb2tlbiBjaGFuZ2UgaW4gcHJldmlvdXMgcGF0Y2guCisKKwkqIGRsbHMva2VybmVsL3RocmVhZC5jOiBBbGV4YW5kZXIgWWF3b3Jza3kgPHlhd29yc2t5QG1pZ3Vzb2Z0LnJ1PgorCU1vdmVkIGNvZGUgZnJvbSBDcmVhdGVUaHJlYWQgdG8gQ3JlYXRlUmVtb3RlVGhyZWFkLgorCisJKiBkbGxzL29sZTMyL3N0b3JhZ2UuYywgZGxscy9vbGUzMi9zdG9yYWdlMzIuYywKKwkgIGRsbHMvb2xlMzIvdGVzdHMvcHJvcHZhcmlhbnQuYywgZGxscy9vbGVhdXQzMi9vbGVwaWN0dXJlLmMsCisJICBkbGxzL29wZW5nbDMyL3dnbC5jLCBkbGxzL3F1YXJ0ei9lbnVtcmVnZmlsdGVycy5jLAorCSAgZGxscy9xdWFydHovZmlsdGVybWFwcGVyLmMsIGRsbHMvcXVhcnR6L21haW4uYywKKwkgIGRsbHMvcmljaGVkaXQvcmVhZGVyLmMsIGRsbHMvcnBjcnQ0L3JwY19zZXJ2ZXIuYywKKwkgIGRsbHMvcnBjcnQ0L3JwY3J0NF9tYWluLmMsIGRsbHMvc2VyaWFsdWkvY29uZmRsZy5jLAorCSAgZGxscy9zZXR1cGFwaS9kaXNrc3BhY2UuYywgZGxscy9zZXR1cGFwaS9wYXJzZXIuYywKKwkgIGRsbHMvc2V0dXBhcGkvcXVldWUuYywgZGxscy90dHlkcnYvcGFsZXR0ZS5jLCBkbGxzL3VybG1vbi91bW9uLmMsCisJICBkbGxzL3VzZXIvY29tbTE2LmMsIGRsbHMvdXNlci90ZXN0cy9tc2cuYywgZGxscy91eHRoZW1lL3N0eWxlbWFwLmMsCisJICBkbGxzL3V4dGhlbWUvc3lzdGVtLmMsIGRsbHMvd2luZWRvcy9kb3Njb25mLmMsIGRsbHMvd2luZWRvcy9pbnQyMS5jLAorCSAgZGxscy93aW5lZG9zL2lvcG9ydHMuYywgZGxscy93aW5lZG9zL3ZnYS5jLCBkbGxzL3dpbmVkb3MvdnhkLmMsCisJICBkbGxzL3dpbmVwcy9jbGlwcGluZy5jLCBkbGxzL3dpbmVwcy9ncmFwaGljcy5jLCBkbGxzL3dpbmVwcy9wcy5jLAorCSAgZGxscy93aW5lcHMvdGV4dC5jLCBkbGxzL3dpbmVwcy90eXBlMWFmbS5jLCBkbGxzL3dpbmVwcy90eXBlNDIuYywKKwkgIGRsbHMvd2lubW0vbG9sdmxkcnYuYywgZGxscy93aW5tbS9tbXN5c3RlbS5jLCBkbGxzL3dpbm1tL3dpbm1tLmMsCisJICBkbGxzL3dpbnNvY2svc29ja2V0LmMsIGRsbHMvd2ludGFiMzIvY29udGV4dC5jLCBsaWJzL3dpbmUvZGVidWcuYywKKwkgIHByb2dyYW1zL2F2aXRvb2xzL2F2aWluZm8uYywgcHJvZ3JhbXMvbm90ZXBhZC9kaWFsb2cuYywKKwkgIHByb2dyYW1zL3JlZ2VkaXQvbGlzdHZpZXcuYywgcHJvZ3JhbXMvcmVnZWRpdC9yZWdwcm9jLmMsCisJICBwcm9ncmFtcy90YXNrbWdyL2RiZ2NobmwuYywgcHJvZ3JhbXMvdW5pbnN0YWxsZXIvbWFpbi5jLAorCSAgcHJvZ3JhbXMvd2NtZC9iYXRjaC5jLCBwcm9ncmFtcy93aW5lYm9vdC93aW5lYm9vdC5jLAorCSAgcHJvZ3JhbXMvd2luZWNmZy9kcml2ZS5jLCBwcm9ncmFtcy93aW5lY29uc29sZS9jdXJzZXMuYywKKwkgIHByb2dyYW1zL3dpbmVkYmcvYnJlYWsuYywgcHJvZ3JhbXMvd2luZW1lbnVidWlsZGVyL3dpbmVtZW51YnVpbGRlci5jLAorCSAgcHJvZ3JhbXMvd2luZW1pbmUvbWFpbi5jLCBwcm9ncmFtcy93aW5oZWxwL3dpbmhlbHAuYywKKwkgIHNlcnZlci9yZWdpc3RyeS5jLCBzZXJ2ZXIvdHJhY2UuYzoKKwlIYW5zIExlaWRla2tlciA8aGFuc0BpdC52dS5ubD4KKwlGaXggc2lnbmVkL3Vuc2lnbmVkIGNvbXBhcmlzb24gd2FybmluZ3MuCisKKzIwMDQtMDktMjEgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGluY2x1ZGUvd2luZS91bmljb2RlLmg6CisJR2V0IHJpZCBvZiB0aGUgYXNzZW1ibHkgY29kZSwgaXQgZG9lc24ndCByZWFsbHkgaW1wcm92ZSBhbnl0aGluZworCShyZXBvcnRlZCBieSBSZWluIEtsYXplcykuCisKKwkqIHByb2dyYW1zL3dpbmVtZW51YnVpbGRlci93aW5lbWVudWJ1aWxkZXIuYzoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCUFkZCBzdXBwb3J0IGZvciB0aGUgQ1NJRExfQ09NTU9OXyogbG9jYXRpb25zLgorCisJKiBkbGxzL3NoZWxsMzIvc2hlbGxwYXRoLmM6IEZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJRml4IENTSURMX0NPTU1PTl97U1RBUlRNRU5VLFBST0dSQU1TLERFU0tUT1BESVJFQ1RPUll9IHNvIHRoZXkgYWxsIHVzZQorCXBhdGhzIGluICdBbGwgVXNlcnMnIGxpa2UgQ1NJRExfQ09NTU9OX1NUQVJUVVAuCisJVGhlIENTSURMX0NPTU1PTl9QUk9HUkFNUyBmaXggc29sdmVzIG1hbnkgbWVudSBjcmVhdGlvbiBwcm9ibGVtcy4KKworCSogZGxscy9jb21jdGwzMi9ob3RrZXkuYzogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCS0gU3RhdHVzIHVwZGF0ZS4KKwktIFNob3VsZCBjcmVhdGUgSE9US0VZX0lORk8gc3RvcmFnZSBpbiBXTV9OQ0NSRUFURSByYXRoZXIgdGhhbiBpbgorCSAgV01fQ1JFQVRFIHNvIHRoYXQgd2UgY2FuIGFsc28gYWRkIHRoZSBXU19FWF9DTElFTlRFREdFIHN0eWxlLgorCS0gUmVtb3ZlIGNvZGUgdGhhdCBkcmF3cyB0aGUgY2xpZW50IGVkZ2U7IGl0IGlzIGFscmVhZHkgZHJhd24gYnkKKwkgIERlZldpbmRvd1Byb2MuCisKKwkqIGRsbHMvc2hlbGwzMi9zaHZfaXRlbV9jbWVudS5jOiBNYXJ0aW4gRnVjaHMgPG1hcnRpbi1mdWNoc0BnbXgubmV0PgorCU1hdGNoIGNsYXNzIG5hbWUgdXNlZCBieSBXaW5kb3dzLgorCisJKiB0b29scy93aWRsL3Byb3h5LmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlWYXJpb3VzIGZvcm1hdHRpbmcgZml4ZXMuCisKKwkqIGRsbHMvZGlucHV0L2tleWJvYXJkLmMsIGRsbHMvZGlucHV0L21vdXNlLmM6CisJUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlBZGQgZHgzIGNhcGFiaWxpdGllcy4KKworCSogZGxscy9kM2Q4L2RpcmVjdHguYzogSmFzb24gRWRtZWFkZXMgPHVzQHRoZS1lZG1lYWRlcy5kZW1vbi5jby51az4KKwlEb24ndCBoaWRlIGFuZCByZXN0b3JlIHRoZSB3aW5kb3cgd2hlbiBjaGFuZ2luZyBpdCB0byBiZSBhIHBvcHVwCisJc3R5bGUuCisKKwkqIHdpbmRvd3MvbWRpLmM6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJRml4IFdNX01ESVJFRlJFU0hNRU5VIGZvciB0aGUgY2FzZSB3aGVuIHNlcGFyYXRvciBpcyBhdCB0aGUgcG9zaXRpb24KKwkwLgorCisJKiBkbGxzL2l0c3MvLmN2c2lnbm9yZSwgZGxscy9vbGUzMi8uY3ZzaWdub3JlLCBpbmNsdWRlLy5jdnNpZ25vcmU6CisJSWdub3JlIHRoZSBnZW5lcmF0ZWQgaGVhZGVyIGZpbGVzLgorCisJKiBNYWtlLnJ1bGVzLmluLCBNYWtlZmlsZS5pbiwgZGxscy9pdHNzL01ha2VmaWxlLmluLCBkbGxzL2l0c3MvaXRzcy5oLAorCSAgZGxscy9vbGUzMi9NYWtlZmlsZS5pbiwgZGxscy9vbGUzMi9kY29tLmgsIGluY2x1ZGUvTWFrZWZpbGUuaW4sCisJICBpbmNsdWRlL2FjdGl2c2NwLmgsIGluY2x1ZGUvYW1zdHJlYW0uaCwgaW5jbHVkZS9hbXZpZGVvLmgsCisJICBpbmNsdWRlL2F1c3RyZWFtLmgsIGluY2x1ZGUvY29tY2F0LmgsIGluY2x1ZGUvZGRzdHJlYW0uaCwKKwkgIGluY2x1ZGUvZGlzcGV4LmgsIGluY2x1ZGUvZG9jb2JqLmgsIGluY2x1ZGUvZXhkaXNwLmgsCisJICBpbmNsdWRlL21sYW5nLmgsIGluY2x1ZGUvbW1zdHJlYW0uaCwgaW5jbHVkZS9vYWlkbC5oLAorCSAgaW5jbHVkZS9vYmppZGwuaCwgaW5jbHVkZS9vY2lkbC5oLCBpbmNsdWRlL29sZWlkbC5oLAorCSAgaW5jbHVkZS9wcm9waWRsLmgsIGluY2x1ZGUvcHN0b3JlLmgsIGluY2x1ZGUvc2VydnByb3YuaCwKKwkgIGluY2x1ZGUvc2hsZGlzcC5oLCBpbmNsdWRlL3Nob2JqaWRsLmgsIGluY2x1ZGUvc2h0eXBlcy5oLAorCSAgaW5jbHVkZS9zdHJtaWYuaCwgaW5jbHVkZS91bmtud24uaCwgaW5jbHVkZS91cmxtb24uaCwKKwkgIGluY2x1ZGUvd3R5cGVzLmg6CisJQnVpbGQgdGhlIC5oIGZpbGVzIGZyb20gdGhlaXIgaWRsIHNvdXJjZSBhdCBjb21waWxlIHRpbWUsIGFuZCByZW1vdmUKKwl0aGVtIGZyb20gQ1ZTLgorCisJKiBkbGxzL29sZWF1dDMyL29sZWZvbnQuYywgZGxscy9vbGVhdXQzMi9vbGVwaWN0dXJlLmM6CisJSmFtZXMgSGF3a2lucyA8dHJ1aWtlbkBnbWFpbC5jb20+CisJVXNlIEludGVybG9ja2VkRGVjcmVtZW50IGFuZCBJbnRlcmxvY2tlZEluY3JlbWVudCBpbnN0ZWFkIG9mICsrLy0tLgorCisJKiBkbGxzL3VzZXIvdGVzdHMvbXNnLmMsIHdpbmRvd3MvbWRpLmMsIHdpbmRvd3Mvd2luLmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlNYWtlIG1lc3NhZ2UgZmxvdyBmb3IgTURJIGNyZWF0aW9uL2FjdGl2YXRpb24vZGVzdHJ1Y3Rpb24gbW9yZSBsaWtlIGluCisJV2luZG93cy4gQWRkIGEgYnVuY2ggb2YgTURJIG1lc3NhZ2UgdGVzdHMuCisKKwkqIGRsbHMvbnRkbGwvbnRkbGxfbWlzYy5oLCBkbGxzL250ZGxsL3RocmVhZC5jLCBkbGxzL250ZGxsL3ZpcnR1YWwuYzoKKwlBbGV4YW5kZXIgWWF3b3Jza3kgPHlhd29yc2t5QG1pZ3Vzb2Z0LnJ1PgorCU1ha2UgUnRsQ3JlYXRlVXNlclRocmVhZCBmYWlsIGlmIHByb2Nlc3MgaGFuZGxlIGlzIG5vdCBmb3IgdGhlIGN1cnJlbnQKKwlwcm9jZXNzLgorCisJKiBkbGxzL2FkdmFwaTMyL3NlcnZpY2UuYzogQWxleGFuZGVyIFlhd29yc2t5IDx5YXdvcnNreUBtaWd1c29mdC5ydT4KKwlQYXNzIGFyZ3VtZW50cyB0byB0aGUgc2VydmljZSBwcm9ncmFtLgorCisyMDA0LTA5LTIwICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBwcm9ncmFtcy9tc2lleGVjL21zaWV4ZWMuYzoKKwlBZGRlZCAvcmVnc2VydmVyIGFuZCAvdW5yZWdzZXJ2ZXIgb3B0aW9ucy4KKworCSogTWFrZS5ydWxlcy5pbiwgTWFrZWZpbGUuaW4sIGRsbHMvaXRzcy9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvb2xlMzIvTWFrZWZpbGUuaW4sIGluY2x1ZGUvTWFrZWZpbGUuaW46CisJQnVpbGQgaWRsIGZpbGVzIGFzIHBhcnQgb2YgdGhlIG5vcm1hbCBidWlsZCBwcm9jZXNzLgorCisJKiBkbGxzL3NoZWxsMzIvc2h2X2l0ZW1fY21lbnUuYzogTWFydGluIEZ1Y2hzIDxtYXJ0aW4tZnVjaHNAZ214Lm5ldD4KKwlDb3JyZWN0IHNldHRpbmcgb2YgZGVmYXVsdCBtZW51IGl0ZW0gaW4gc2hlbGwgY29udGV4dCBtZW51cy4KKworCSogZm9udHMvLmN2c2lnbm9yZSwgZm9udHMvTWFrZWZpbGUuaW4sIGZvbnRzL3dpbmVfc2Fuc19zZXJpZi5zZmQ6CisJSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgYSAyMCBwcGVtIHN0cmlrZSB3aXRoIGNwMTI1MiBjb3ZlcmFnZSB0byBXaW5lIFNhbnMgU2VyaWYuCisJQWRkIFUrMjAxYSB0byBhbGwgc3RyaWtlcy4KKworCSogZGxscy91c2VyL2NvbnRyb2xzLmgsIGRsbHMvdXNlci9tZW51LmMsIHdpbmRvd3Mvd2luLmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlNYWtlIG1lbnUgY29kZSBjb3BlIHdpdGggV01fU1lTS0VZKi9XTV9TWVNDSEFSIG1lc3NhZ2VzLgorCVVuYmxvY2sgbWVudSBsb29wIGlmIGEgd2luZG93IGJlaW5nIGRlc3Ryb3llZCBvd25zIGEgdHJhY2tlZCBtZW51LgorCisJKiBkbGxzL2dkaS9kaWIuYywgd2luZG93cy9jdXJzb3JpY29uLmM6CisJTWljaGFlbCBLYXVmbWFubiA8aGFsbG9AbWljaGFlbC1rYXVmbWFubi5jaD4KKwlGaXggYSByZWdyZXNzaW9uIGNhdXNlZCBieSBhbiBlYXJsaWVyIHBhdGNoIGZvciBDcmVhdGVESUJpdG1hcC4KKworCSogZGxscy9vbGUzMi9jb21wb2JqLmMsIGRsbHMvb2xlMzIvb2xlMzIuc3BlYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJQ29TdXNwZW5kQ2xhc3NPYmplY3RzIHN0dWIgaW1wbGVtZW50YXRpb24uCisKKwkqIGluY2x1ZGUvd2luc3ZjLmg6IEFsZXhhbmRlciBZYXdvcnNreSA8eWF3b3Jza3lAbWlndXNvZnQucnU+CisJQWRkZWQgc2VydmljZSBkYXRhYmFzZSBuYW1lcy4KKworCSogZGxscy9xdWFydHovZmlsdGVybWFwcGVyLmM6IENocmlzdGlhbiBDb3N0YSA8dGl0YW4uY29zdGFAd2FuYWRvby5mcj4KKwlBZGRlZCBzdXBwb3J0IGZvciBSRUdGSUxURVIyIHN0cnVjdHVyZSB3aXRoIGR3VmVyc2lvbiBlcXVhbCB0byAxIHdoZW4KKwlyZWdpc3RlcmluZyBmaWx0ZXJzLgorCUZpeGVkIGRlZmF1bHQgY2F0ZWdvcnkgd2hlbiBSZWdpc3RlckZpbHRlciBpcyBjYWxsZWQgd2l0aG91dCBvbmUKKwlzcGVjaWZpZWQuCisKKwkqIGRsbHMvd2luaW5ldC9odHRwLmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBbHdheXMgcmVwbGFjZSB3aGF0ZXZlciBpcyBhbHJlYWR5IGluIHRoZSBIVFRQICJIb3N0IiBoZWFkZXIuCisKKwkqIHNlcnZlci9mZC5jOiBNb3ZlZCB0aW1lb3V0IHByb2Nlc3NpbmcgdG8gYSBzZXBhcmF0ZSBmdW5jdGlvbi4KKworCSogZGxscy9jb21jdGwzMi9jb21jdGxfQ24ucmMsIGRsbHMvY29tY3RsMzIvY29tY3RsX0NzLnJjLAorCSAgZGxscy9jb21jdGwzMi9jb21jdGxfRGUucmMsIGRsbHMvY29tY3RsMzIvY29tY3RsX0VuLnJjLAorCSAgZGxscy9jb21jdGwzMi9jb21jdGxfRXMucmMsIGRsbHMvY29tY3RsMzIvY29tY3RsX0ZyLnJjLAorCSAgZGxscy9jb21jdGwzMi9jb21jdGxfSXQucmMsIGRsbHMvY29tY3RsMzIvY29tY3RsX0phLnJjLAorCSAgZGxscy9jb21jdGwzMi9jb21jdGxfS28ucmMsIGRsbHMvY29tY3RsMzIvY29tY3RsX05sLnJjLAorCSAgZGxscy9jb21jdGwzMi9jb21jdGxfUGwucmMsIGRsbHMvY29tY3RsMzIvY29tY3RsX1B0LnJjLAorCSAgZGxscy9jb21jdGwzMi9jb21jdGxfUnUucmMsIGRsbHMvY29tY3RsMzIvY29tY3RsX1NpLnJjLAorCSAgZGxscy9jb21jdGwzMi9jb21jdGxfVGgucmMsIGRsbHMvY29tY3RsMzIvY29tY3RsX1VrLnJjLAorCSAgZGxscy9jb21jdGwzMi9wcm9wc2hlZXQuYzoKKwlGaWxpcCBOYXZhcmEgPHhuYXZhcmFAdm9sbnkuY3o+CisJLSBJbXBsZW1lbnQgUFNNX0lOREVYVE9JRCwgUFNNX0lOREVYVE9QQUdFIGFuZCBQU01fUEFHRVRPSU5ERVggbWVzc2FnZXMuCisJLSBQYXJ0aWFsbHkgaW1wbGVtZW50IHRoZSBQU0hfV0laQVJEQ09OVEVYVEhFTFAgYW5kIFBTSF9OT0NPTlRFWFRIRUxQCisJICBzdHlsZXMuCisKKwkqIGluY2x1ZGUvY29tbWRsZy5oLCBpbmNsdWRlL3dpbmJhc2UuaCwgaW5jbHVkZS93aW5kZWYuaCwKKwkgIGluY2x1ZGUvd2luZ2RpLmgsIGluY2x1ZGUvd2ludXNlci5oLCBpbmNsdWRlL3d0eXBlcy5oLAorCSAgaW5jbHVkZS93dHlwZXMuaWRsOgorCUpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJVXNlIGNvcnJlY3QgdGFnIG5hbWVzIGZvciBjb21wYXRhYmlsaXR5IHdpdGggZndkIGRlY2xzLgorCVNvbWUgb2xkIGNvZGUgY2hlY2tzIHRoYXQgX1dJTkRFRl8gaXMgZGVmaW5lZCBpbiB3aW5kZWYuaC4KKworCSogZGxscy9zaGVsbDMyL3NoZmxkcl9teWNvbXAuYzogTWFydGluIEZ1Y2hzIDxtYXJ0aW4tZnVjaHNAZ214Lm5ldD4KKwlNYWtlIGRyaXZlIGxldHRlcnMgaW4gUElETHMgYWx3YXlzIHVwcGVyY2FzZSB0byBlbmFibGUgUElETAorCWNvbXBhcmlzb24uCisKKwkqIHByb2dyYW1zL25vdGVwYWQvbWFpbi5jOiBNaWNoYWVsIEthdWZtYW5uIDxoYWxsb0BtaWNoYWVsLWthdWZtYW5uLmNoPgorCUFkZGVkIGEgM0QgYm9yZGVyIGZvciBOb3RlcGFkJ3MgZWRpdCBjb250cm9sLgorCisJKiBkbGxzL29sZWF1dDMyL3NhZmVhcnJheS5jLCBkbGxzL29sZWF1dDMyL3Rlc3RzL3NhZmVhcnJheS5jOgorCU1hcmN1cyBNZWlzc25lciA8bWVpc3NuZXJAbm92ZWxsLmNvbT4KKwlTYWZlQXJyYXlHZXRFbGVtZW50IG9uIGEgVkFSSUFOVCBhcnJheSBkb2VzIG5vdCBmcmVlIHRoZSBwcmV2aW91cworCVZBUklBTlQgaW4gdGhlIHBhc3NlZCBwb2ludGVyLiBBZGRlZCB0ZXN0Y2FzZS4KKworCSogZGxscy93aW5lZG9zL2ludDMzLmMsIGRsbHMvd2luZWRvcy92Z2EuYywgZGxscy93aW5lZG9zL3ZnYS5oOgorCUp1a2thIEhlaW5vbmVuIDxqaGVpQGlraS5maT4KKwlBZGRlZCBzdXBwb3J0IGZvciBpbnQzMyBzaG93L2hpZGUgbW91c2UgY3Vyc29yIGNhbGxzLgorCisJKiB0b29scy93aWRsL3BhcnNlci55LCB0b29scy93aWRsL3Byb3h5LmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUltcHJvdmUgdGhlIGhhbmRsaW5nIG9mIGNvbXBsZXggZGF0YSB0eXBlcyAoc3RyaW5ncyBhbmQgc3RydWN0cykuCisKKwkqIGRsbHMveDExZHJ2L3Njcm9sbC5jOiBSZWluIEtsYXplcyA8cmtsYXplc0B4czRhbGwubmw+CisJWDExRFJWX1Njcm9sbERDIHNob3VsZCBub3QgaGF2ZSBhIFdJTkFQSSBhdHRyaWJ1dGUuCisKKwkqIGRsbHMvY29tY3RsMzIvcGFnZXIuYzogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCURvY3VtZW50IHN0YXR1cyBvZiBjb250cm9sIGFnYWluc3QgdjYuMCBvZiBuYXRpdmUgdmVyc2lvbi4KKworCSogZGxscy93aW5pbmV0L2Z0cC5jLCBkbGxzL3dpbmluZXQvaHR0cC5jLCBkbGxzL3dpbmluZXQvaW50ZXJuZXQuYywKKwkgIGRsbHMvd2luaW5ldC9pbnRlcm5ldC5oLCBkbGxzL3dpbmluZXQvdXRpbGl0eS5jOgorCVJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbnRlcm5ldFNldFN0YXR1c0NhbGxiYWNrIGNhbiBiZSB1c2VkIG9uIGFueSBoYW5kbGUgYW5kIGNhbGxiYWNrcyBhcmUKKwlpbmhlcml0ZWQgYnkgZGVyaXZlZCBoYW5kbGVzLgorCisJKiBkbGxzL2NvbWN0bDMyL3Rvb2xiYXIuYzogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCS0gRml4IHNvbWUgVFJBQ0VzCisJLSBNb3JlIEEtPlcgY29udmVyc2lvbnMgbWlzc2VkIGJ5IHByZXZpb3VzIHBhdGNoLgorCS0gRml4IG9mZi1ieS1vbmUgZXJyb3IgaW4gdmFsaWRhdGluZyBkcmFnLW4tZHJvcCBmcm9tIGF2YWlsYWJsZQorCSAgYnV0dG9ucyBsaXN0IGJveCB0byBhY3R1YWwgYnV0dG9ucyBsaXN0IGJveC4KKwktIFVuaWNvZGUgZmxhZyBzaG91bGQgYmUgYmFzZWQgb24gdGhlIG5vdGlmaWNhdGlvbiB3aW5kb3cuCisKKzIwMDQtMDktMTcgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMveDExZHJ2L3dpbnBvcy5jLCBzZXJ2ZXIvcmVnaW9uLmMsIHNlcnZlci91c2VyLmgsCisJICBzZXJ2ZXIvd2luZG93LmMsIHdpbmRvd3Mvd2lucG9zLmM6CisJRG9uJ3QgYm90aGVyIHRvIHJldHVybiBwYXJ0aWFsIHJlZ2lvbiBkYXRhIGluIGdldF93aW5kb3dfcmVnaW9uIGFuZAorCWdldF92aXNpYmxlX3JlZ2lvbiwgcmV0dXJuIFNUQVRVU19CVUZGRVJfT1ZFUkZMT1cgaW5zdGVhZC4KKworCSogZGxscy9hZHZhcGkzMi9NYWtlZmlsZS5pbiwgZGxscy9hZHZhcGkzMi9hZHZhcGkzMi5zcGVjLAorCSAgZGxscy9hZHZhcGkzMi9jcnlwdF9zaGEuYywgZGxscy9hZHZhcGkzMi90ZXN0cy8uY3ZzaWdub3JlLAorCSAgZGxscy9hZHZhcGkzMi90ZXN0cy9NYWtlZmlsZS5pbiwgZGxscy9hZHZhcGkzMi90ZXN0cy9jcnlwdF9zaGEuYzoKKwlGaWxpcCBOYXZhcmEgPHhuYXZhcmFAdm9sbnkuY3o+CisJSW1wbGVtZW50IEFfU0hBKiBmdW5jdGlvbnMgcHJlc2VudCBpbiBXaW5kb3dzIFhQIGFuZCBsYXRlciBzeXN0ZW1zLgorCisJKiBkbGxzL21zaS9hY3Rpb24uYzogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCU1ha2Ugc3VyZSBwYXRocyBlbmQgd2l0aCBhIHNsYXNoIGJlZm9yZSBjb25jYXRlbmF0aW5nIGZpbGUgbmFtZXMuCisKKwkqIGRsbHMvZHNvdW5kL2J1ZmZlci5jLCBkbGxzL2Rzb3VuZC9jYXB0dXJlLmMsIGRsbHMvZHNvdW5kL3ByaW1hcnkuYywKKwkgIGRsbHMvZHNvdW5kL3Byb3BzZXQuYywgZGxscy9kc291bmQvc291bmQzZC5jOgorCVJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJQ2xlYW51cCByZWZlcmVuY2UgY291bnRpbmcuCisJQWRkUmVmIGFuZCBSZWxlYXNlIHJldHVybiBVTE9ORy4KKworCSogZGxscy9kaW5wdXQvZGV2aWNlLmMsIGRsbHMvZGlucHV0L2RpbnB1dF9tYWluLmMsCisJICBkbGxzL2RpbnB1dC9qb3lzdGlja19saW51eC5jLCBkbGxzL2RpbnB1dC9qb3lzdGlja19saW51eGlucHV0LmMsCisJICBkbGxzL2RpbnB1dC9rZXlib2FyZC5jLCBkbGxzL2RpbnB1dC9tb3VzZS5jOgorCVJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJVXNlIEludGVybG9ja2VkSW5jcmVtZW50L0ludGVybG9ja2VkRGVjcmVtZW50IGZvciByZWZlcmVuY2UgY291bnRpbmcuCisJRml4IGJ1ZyBpbiBlZmZlY3QgZW51bWVyYXRpb24gdGhhdCBjcmFzaGVkIGR4Y2Fwc3ZpZXdlci4KKworCSogZGxscy9jb21jdGwzMi90b29sdGlwcy5jOiBSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJVXNlIFVuaWNvZGUgd2luZG93IG1lc3NhZ2VzLgorCisyMDA0LTA5LTE2ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBmb250cy8uY3ZzaWdub3JlLCBmb250cy9NYWtlZmlsZS5pbiwgZm9udHMvd2luZV9tYXJsZXR0LnNmZDoKKwlUcmFuc0dhbWluZworCUFkZCBhIE1hcmxldHQgcmVwbGFjZW1lbnQgZm9udC4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGRsbHMvd2luaW5ldC9pbnRlcm5ldC5oLAorCSAgZGxscy93aW5pbmV0L25ldGNvbm5lY3Rpb24uYywgaW5jbHVkZS9jb25maWcuaC5pbiwKKwkgIGluY2x1ZGUvd2luZS9wb3J0Lmg6CisJQXZvaWQgdXNpbmcgc29ja2xlbl90LgorCisJKiBkbGxzL2dkaS90ZXN0cy9iaXRtYXAuYywgZGxscy94MTFkcnYvYml0Ymx0LmM6CisJSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlXaGVuIHdlIGJsaXQgd2l0aCBhIG1vbm9jaHJvbWUgZGlic2VjdGlvbiBhcyB0aGUgc291cmNlIHdlIHNob3VsZCB1c2UKKwl0aGUgY29sb3VyIHRhYmxlIG9mIHRoYXQgZGliLgorCUFkZGVkIGEgdGVzdCBmb3IgdGhpcy4KKworCSogZGxscy9hdmlmaWwzMi9hdmlmaWxlLmM6IEphbWVzIEhhd2tpbnMgPHRydWlrZW5AZ21haWwuY29tPgorCVVzZSBJbnRlcmxvY2tlZERlY3JlbWVudCBhbmQgSW50ZXJsb2NrZWRJbmNyZW1lbnQgaW5zdGVhZCBvZiArKy8tLS4KKworCSogZGxscy91c2VyL2VkaXQuYzogVWxyaWNoIEN6ZWthbGxhIDx1bHJpY2hAY29kZXdlYXZlcnMuY29tPgorCUhhbmRsZSBwYWludGluZyB0aGUgYm9yZGVyIGlmIFdTX0VYX0NMSUVOVEVER0UgaXMgbm90IHNldC4KKworCSogZGxscy9hZHZhcGkzMi9hZHZhcGkzMi5zcGVjLCBkbGxzL2FkdmFwaTMyL3NlY3VyaXR5LmMsCisJICBkbGxzL2FkdmFwaTMyL3Rlc3RzL3NlY3VyaXR5LmM6CisJSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCS0gY29ycmVjdCBDb252ZXJ0U3RyaW5nU2lkVG9TaWRXIGFuZCBDb252ZXJ0U2lkVG9TdHJpbmdTaWRXLCB3aXRoCisJICB0ZXN0cworCS0gYWRkIENvbnZlcnRTdHJpbmdTaWRUb1NpZEEKKwktIGFkZCBtaXNzaW5nIGV4cG9ydHMgZm9yIENvbnZlcnRTdHJpbmdTaWRUb1NpZEEvVworCisJKiBkbGxzL2FkdmFwaTMyL3NlcnZpY2UuYzogQWxleGFuZGVyIFlhd29yc2t5IDx5YXdvcnNreUBtaWd1c29mdC5ydT4KKwlQYXNzIGFyZ3ZbMF0gKHNlcnZpY2UgbmFtZSkgdG8gdGhlIHNlcnZpY2UgcHJvZ3JhbS4KKworCSogZGxscy9nZGkvdGVzdHMvYml0bWFwLmMsIGRsbHMveDExZHJ2L2RpYi5jLCBkbGxzL3gxMWRydi94MTFkcnYuaDoKKwlIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCUl0J3MgaW1wb3J0YW50IHRvIGtlZXAgdGhlIG9yaWdpbmFsIGRpYiBjb2xvdXIgdGFibGUgYW5kIG5vdCBqdXN0IHRoZQorCWNvbG91ciBtYXBwaW5nIGFzc29jaWF0ZWQgd2l0aCBhIGRpYiBzZWN0aW9uIC0gaXQncyB0aGlzIHRhYmxlIHRoYXQKKwlHZXRESUJDb2xvclRhYmxlIHNob3VsZCByZXRyaWV2ZS4KKwlBZGRlZCBzb21lIEdldERJQkNvbG9yVGFibGUgdGVzdHMuCisKKwkqIGRsbHMvdXNlci90ZXN0cy93aW4uYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgYSB0ZXN0IGNhc2UgZm9yIFdNX0tFWSogdG8gV01fU1lTS0VZKiBtZXNzYWdlIGNvbnZlcnNpb24uCisKKwkqIGRsbHMvdXNlci9tZW51LmM6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJQWNjZXB0IFdNX1NZU0NIQVIgbWVzc2FnZSBmb3IgcHJvY2Vzc3NpbmcgaW4gVHJhbnNsYXRlQWNjZWxlcmF0b3JXLgorCisJKiBkbGxzL2FkdmFwaTMyL2FkdmFwaTMyLnNwZWM6CisJQWxleGFuZGVyIFlhd29yc2t5IDx5YXdvcnNreUBtaWd1c29mdC5ydT4KKwlBZGRlZCBzdHVicyBmb3IgTUQ0LCBNRDUgYW5kIFNIQSBmdW5jdGlvbnMuCisKKwkqIGRsbHMvc2hsd2FwaS9vcmRpbmFsLmMsIGRsbHMvc2hsd2FwaS91cmwuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRml4IHNvbWUgLVdzaWduZWQtY29tcGFyZSB3YXJuaW5ncy4KKworCSogZGxscy9vbGVhdXQzMi90ZXN0cy92YXJ0eXBlLmM6IEphbWVzIEhhd2tpbnMgPHRydWlrZW5AZ21haWwuY29tPgorCVVzZSBJbnRlcmxvY2tlZERlY3JlbWVudCBhbmQgSW50ZXJsb2NrZWRJbmNyZW1lbnQgaW5zdGVhZCBvZiArKy8tLS4KKworCSogZGxscy9kc291bmQvYnVmZmVyLmMsIGRsbHMvZHNvdW5kL2NhcHR1cmUuYywgZGxscy9kc291bmQvZHNvdW5kLmMsCisJICBkbGxzL2Rzb3VuZC9kc291bmRfbWFpbi5jLCBkbGxzL2Rzb3VuZC9wcmltYXJ5LmMsCisJICBkbGxzL2Rzb3VuZC9wcm9wc2V0LmMsIGRsbHMvZHNvdW5kL3NvdW5kM2QuYzoKKwlSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCUNsZWFudXAgcmVmZXJlbmNlIGNvdW50aW5nLgorCisJKiBkbGxzL29sZWF1dDMyL29sZXBpY3R1cmUuYzoKKwlBbGV4IFZpbGxhY+1zIExhc3NvIDxhX3ZpbGxhY2lzQHBhbG9zYW50by5jb20+CisJQWRkIGRlLWludGVybGVhdmluZyBmb3IgR0lGIGltYWdlcy4KKworCSogZGxscy9jb21jdGwzMi9wYWdlci5jOiBSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJLSBEb24ndCB1c2UgVHJhY2tNb3VzZUV2ZW50cy9XTV9NT1VTRUxFQVZFIEFQSSBmb3IgaGFuZGxpbmcgdGhlIGhvdAorCSAgYnV0dG9uOyB1c2UgcGxhaW4gbW91c2UgY2FwdHVyZSBpbnN0ZWFkIGxpa2UgbmF0aXZlLgorCS0gUmV0dXJuIG9ubHkgSFRUUkFOU1BBUkVOVC9IVENMSUVOVCBmcm9tIFdNX05DSElUVEVTVCBhbmQgcmVtb3ZlCisJICBhc3NvY2lhdGVkIGhhY2tzIG9mIFdNX1NFVENVUlNPUiwgV01fTkNMQlVUVE9ORE9XTiBhbmQKKwkgIFdNX05DTEJVVFRPTlVQLgorCS0gUmVmYWN0b3Igc3RhdGUgY2hhbmdlIGNvZGUgc28gdGhhdCBzdGF0ZSBjaGFuZ2VzIGRvbid0IGhhcHBlbiBhcworCSAgc2lkZSBlZmZlY3RzIGZyb20gbWVzc2FnZXMgc3VjaCBhcyBXTV9OQ0NBTENTSVpFLCBpbnN0ZWFkIG9ubHkgZnJvbQorCSAgdXNlciBpbnB1dCBtZXNzYWdlcyBsaWtlIFdNX01PVVNFTU9WRS4KKworCSogZGxscy9jb21jdGwzMi90b29sYmFyLmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlVc2UgVW5pY29kZSB3aW5kb3cgbWVzc2FnZXMuCisKKwkqIGRsbHMvaGhjdHJsLm9jeC9oaGN0cmwuYywgaW5jbHVkZS9NYWtlZmlsZS5pbiwgaW5jbHVkZS9odG1saGVscC5oOgorCUphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJQWRkZWQgaHRtbGhlbHAuaC4KKworMjAwNC0wOS0xNSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy91c2VyL21lc3NhZ2UuYywgd2luZG93cy9jdXJzb3JpY29uLmMsIHdpbmRvd3Mvd2lucHJvYy5jOgorCURpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJVXNlIHRoZSBXIHZlcnNpb24gb2YgdGhlIGZ1bmN0aW9uIHdlcmUgd2UgY2FuLgorCisJKiBkbGxzL2dkaS9mcmVldHlwZS5jOiBWaW5jZW50IELpcm9uIDx2YmVyb25AbWVjYW5vLmdtZS51c2hlcmIuY2E+CisJVXNlIHRoZSBwcmVmZXJyZWQgRlRfRU5DT0RJTkcgdmFsdWVzIHJhdGhlciB0aGFuIGZ0X2VuY29kaW5nLgorCisJKiBkbGxzL3gxMWRydi93aW5wb3MuYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlSZW1vdmUgYSBzdHJheSAnZWxzZScgbGVmdCBieSBhIHByZXZpb3VzIHBhdGNoLgorCisJKiBkbGxzL21sYW5nL21sYW5nLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlSZXR1cm4gQ0xBU1NfRV9OT0FHR1JFR0FUSU9OIGlmIHBVbmtPdXRlciBpcyBub24tbnVsbC4KKworCSogZGxscy9rZXJuZWwvcHJvY2Vzcy5jLCBkbGxzL250ZGxsL2xvYWRlci5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlVc2UgRklMRV9TSEFSRV9ERUxFVEUgd2hlbiBsb2FkaW5nIG1vZHVsZXMsIGFzIHJ1bm5pbmcgYW4gZXhlIHRoYXQncworCWdvaW5nIHRvIGJlIGRlbGV0ZWQgc2hvdWxkIHdvcmsuCisKKzIwMDQtMDktMTQgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIEFOTk9VTkNFLCBDaGFuZ2VMb2csIFZFUlNJT04sIGNvbmZpZ3VyZTogUmVsZWFzZSAyMDA0MDkxNC4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMjAwNC0wOS0xNCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KIAogCSogZGxscy9zaGVsbDMyL3NobGV4ZWMuYzogSmVucyBDb2xsaW4gPGplbnMuY29sbGluQGxha2hlaS5jb20+CmRpZmYgLS1naXQgYS9WRVJTSU9OIGIvVkVSU0lPTgppbmRleCAwMjhiMGJhLi4zYTI4MGFkIDEwMDY0NAotLS0gYS9WRVJTSU9OCisrKyBiL1ZFUlNJT04KQEAgLTEgKzEgQEAKLVdpbmUgdmVyc2lvbiAyMDA0MDkxNAorV2luZSB2ZXJzaW9uIDIwMDQxMDE5CmRpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUKaW5kZXggZDU1M2IxYS4uZGE3YjMzMiAxMDA3NTUKLS0tIGEvY29uZmlndXJlCisrKyBiL2NvbmZpZ3VyZQpAQCAtMSw2ICsxLDYgQEAKICMhIC9iaW4vc2gKICMgR3Vlc3MgdmFsdWVzIGZvciBzeXN0ZW0tZGVwZW5kZW50IHZhcmlhYmxlcyBhbmQgY3JlYXRlIE1ha2VmaWxlcy4KLSMgR2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU5IGZvciBXaW5lIDIwMDQwOTE0LgorIyBHZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNTkgZm9yIFdpbmUgMjAwNDEwMTkuCiAjCiAjIFJlcG9ydCBidWdzIHRvIDx3aW5lLWRldmVsQHdpbmVocS5vcmc+LgogIwpAQCAtMjY5LDggKzI2OSw4IEBACiAjIElkZW50aXR5IG9mIHRoaXMgcGFja2FnZS4KIFBBQ0tBR0VfTkFNRT0nV2luZScKIFBBQ0tBR0VfVEFSTkFNRT0nd2luZScKLVBBQ0tBR0VfVkVSU0lPTj0nMjAwNDA5MTQnCi1QQUNLQUdFX1NUUklORz0nV2luZSAyMDA0MDkxNCcKK1BBQ0tBR0VfVkVSU0lPTj0nMjAwNDEwMTknCitQQUNLQUdFX1NUUklORz0nV2luZSAyMDA0MTAxOScKIFBBQ0tBR0VfQlVHUkVQT1JUPSd3aW5lLWRldmVsQHdpbmVocS5vcmcnCiAKIGFjX3VuaXF1ZV9maWxlPSJzZXJ2ZXIvYXRvbS5jIgpAQCAtNzg4LDcgKzc4OCw3IEBACiAgICMgT21pdCBzb21lIGludGVybmFsIG9yIG9ic29sZXRlIG9wdGlvbnMgdG8gbWFrZSB0aGUgbGlzdCBsZXNzIGltcG9zaW5nLgogICAjIFRoaXMgbWVzc2FnZSBpcyB0b28gbG9uZyB0byBiZSBhIHN0cmluZyBpbiB0aGUgQS9VWCAzLjEgc2guCiAgIGNhdCA8PF9BQ0VPRgotXGBjb25maWd1cmUnIGNvbmZpZ3VyZXMgV2luZSAyMDA0MDkxNCB0byBhZGFwdCB0byBtYW55IGtpbmRzIG9mIHN5c3RlbXMuCitcYGNvbmZpZ3VyZScgY29uZmlndXJlcyBXaW5lIDIwMDQxMDE5IHRvIGFkYXB0IHRvIG1hbnkga2luZHMgb2Ygc3lzdGVtcy4KIAogVXNhZ2U6ICQwIFtPUFRJT05dLi4uIFtWQVI9VkFMVUVdLi4uCiAKQEAgLTg1Myw3ICs4NTMsNyBAQAogCiBpZiB0ZXN0IC1uICIkYWNfaW5pdF9oZWxwIjsgdGhlbgogICBjYXNlICRhY19pbml0X2hlbHAgaW4KLSAgICAgc2hvcnQgfCByZWN1cnNpdmUgKSBlY2hvICJDb25maWd1cmF0aW9uIG9mIFdpbmUgMjAwNDA5MTQ6Ijs7CisgICAgIHNob3J0IHwgcmVjdXJzaXZlICkgZWNobyAiQ29uZmlndXJhdGlvbiBvZiBXaW5lIDIwMDQxMDE5OiI7OwogICAgZXNhYwogICBjYXQgPDxcX0FDRU9GCiAKQEAgLTk4NCw3ICs5ODQsNyBAQAogdGVzdCAtbiAiJGFjX2luaXRfaGVscCIgJiYgZXhpdCAwCiBpZiAkYWNfaW5pdF92ZXJzaW9uOyB0aGVuCiAgIGNhdCA8PFxfQUNFT0YKLVdpbmUgY29uZmlndXJlIDIwMDQwOTE0CitXaW5lIGNvbmZpZ3VyZSAyMDA0MTAxOQogZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU5CiAKIENvcHlyaWdodCAoQykgMjAwMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KQEAgLTk5OCw3ICs5OTgsNyBAQAogVGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hpbGUKIHJ1bm5pbmcgY29uZmlndXJlLCB0byBhaWQgZGVidWdnaW5nIGlmIGNvbmZpZ3VyZSBtYWtlcyBhIG1pc3Rha2UuCiAKLUl0IHdhcyBjcmVhdGVkIGJ5IFdpbmUgJGFzX21lIDIwMDQwOTE0LCB3aGljaCB3YXMKK0l0IHdhcyBjcmVhdGVkIGJ5IFdpbmUgJGFzX21lIDIwMDQxMDE5LCB3aGljaCB3YXMKIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41OS4gIEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcwogCiAgICQgJDAgJEAKQEAgLTIwNTE4LDcgKzIwNTE4LDcgQEAKIH0gPiY1CiBjYXQgPiY1IDw8X0NTRU9GCiAKLVRoaXMgZmlsZSB3YXMgZXh0ZW5kZWQgYnkgV2luZSAkYXNfbWUgMjAwNDA5MTQsIHdoaWNoIHdhcworVGhpcyBmaWxlIHdhcyBleHRlbmRlZCBieSBXaW5lICRhc19tZSAyMDA0MTAxOSwgd2hpY2ggd2FzCiBnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNTkuICBJbnZvY2F0aW9uIGNvbW1hbmQgbGluZSB3YXMKIAogICBDT05GSUdfRklMRVMgICAgPSAkQ09ORklHX0ZJTEVTCkBAIC0yMDU4MSw3ICsyMDU4MSw3IEBACiAKIGNhdCA+PiRDT05GSUdfU1RBVFVTIDw8X0FDRU9GCiBhY19jc192ZXJzaW9uPSJcXAotV2luZSBjb25maWcuc3RhdHVzIDIwMDQwOTE0CitXaW5lIGNvbmZpZy5zdGF0dXMgMjAwNDEwMTkKIGNvbmZpZ3VyZWQgYnkgJDAsIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41OSwKICAgd2l0aCBvcHRpb25zIFxcImBlY2hvICIkYWNfY29uZmlndXJlX2FyZ3MiIHwgc2VkICdzL1tcXCIiXGBcJF0vXFxcXCYvZydgXFwiCiAK