ZGlmZiAtLWdpdCBhL0FOTk9VTkNFIGIvQU5OT1VOQ0UKaW5kZXggZDM5Yzk3MC4uNmE3Yzg3OSAxMDA2NDQKLS0tIGEvQU5OT1VOQ0UKKysrIGIvQU5OT1VOQ0UKQEAgLTEsMTUgKzEsMTYgQEAKLVRoaXMgaXMgcmVsZWFzZSAyMDA1MDcyNSBvZiBXaW5lLCBhIGZyZWUgaW1wbGVtZW50YXRpb24gb2YgV2luZG93cyBvbgorVGhpcyBpcyByZWxlYXNlIDIwMDUwODMwIG9mIFdpbmUsIGEgZnJlZSBpbXBsZW1lbnRhdGlvbiBvZiBXaW5kb3dzIG9uCiBVbml4LiAgVGhpcyBpcyBzdGlsbCBhIGRldmVsb3BlcnMgb25seSByZWxlYXNlLiAgVGhlcmUgYXJlIG1hbnkgYnVncwogYW5kIHVuaW1wbGVtZW50ZWQgZmVhdHVyZXMuICBNb3N0IGFwcGxpY2F0aW9ucyBzdGlsbCBkbyBub3Qgd29yawogY29ycmVjdGx5LgogCi1XSEFUJ1MgTkVXIHdpdGggV2luZS0yMDA1MDcyNTogKHNlZSBDaGFuZ2VMb2cgZm9yIGRldGFpbHMpCi0gICAgICAgIC0gQmVnaW5uaW5ncyBvZiB0aGVtZSBzdXBwb3J0IGluIGNvbW1vbiBjb250cm9scy4KLSAgICAgICAgLSBNYW55IE1TSFRNTCBpbXByb3ZlbWVudHMuCi0gICAgICAgIC0gQSBidW5jaCBvZiBPTEUgZml4ZXMgZm9yIEluc3RhbGxTaGllbGQgaW5zdGFsbGVycy4KLSAgICAgICAgLSBNYW55IERpcmVjdDNEIGZpeGVzIGFuZCBpbXByb3ZlbWVudHMuCi0gICAgICAgIC0gQmVnaW5uaW5ncyBvZiBMREFQIHN1cHBvcnQuCi0gICAgICAgIC0gVmFyaW91cyBjbGVhbnVwcyBhZnRlciByZW1vdmFsIG9mIHRoZSBjb25maWcgZmlsZS4KK1dIQVQnUyBORVcgd2l0aCBXaW5lLTIwMDUwODMwOiAoc2VlIENoYW5nZUxvZyBmb3IgZGV0YWlscykKKyAgICAgICAgLSBBIGxvdCBtb3JlIHRoZW1pbmcgc3VwcG9ydC4KKyAgICAgICAgLSBNYW55IGltcHJvdmVtZW50cyB0byB0aGUgdmFyaW91cyBjcnlwdG8gZGxscy4KKyAgICAgICAgLSBNb3JlIExEQVAgc3VwcG9ydC4KKyAgICAgICAgLSBCZWdpbm5pbmdzIG9mIGFuIE1TWE1MIGltcGxlbWVudGF0aW9uLgorICAgICAgICAtIEJldHRlciBNU0hUTUwgc3VwcG9ydC4KKyAgICAgICAgLSBFbXVsYXRlZCB2ZXJzaW9uIG5vdyBzZXQgdG8gV2luZG93cyAyMDAwIGJ5IGRlZmF1bHQuCisgICAgICAgIC0gRGlyZWN0M0QgZml4ZXMgYW5kIGltcHJvdmVtZW50cy4KICAgICAgICAgLSBMb3RzIG9mIGJ1ZyBmaXhlcy4KIAogU2VlIHRoZSBSRUFETUUgZmlsZSBpbiB0aGUgZGlzdHJpYnV0aW9uIGZvciBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zLgpAQCAtMTgsOCArMTksOCBAQAogdGhlIHJlbGVhc2UgaXMgYXZhaWxhYmxlIGF0IHRoZSBmdHAgc2l0ZXMuICBUaGUgc291cmNlcyB3aWxsIGJlIGF2YWlsYWJsZQogZnJvbSB0aGUgZm9sbG93aW5nIGxvY2F0aW9uczoKIAotICBodHRwOi8vd3d3LmliaWJsaW8ub3JnL3B1Yi9MaW51eC9BTFBIQS93aW5lL2RldmVsb3BtZW50L1dpbmUtMjAwNTA3MjUudGFyLmd6Ci0gIGh0dHA6Ly9wcmRvd25sb2Fkcy5zb3VyY2Vmb3JnZS5uZXQvd2luZS9XaW5lLTIwMDUwNzI1LnRhci5negorICBodHRwOi8vd3d3LmliaWJsaW8ub3JnL3B1Yi9MaW51eC9BTFBIQS93aW5lL2RldmVsb3BtZW50L1dpbmUtMjAwNTA4MzAudGFyLmd6CisgIGh0dHA6Ly9wcmRvd25sb2Fkcy5zb3VyY2Vmb3JnZS5uZXQvd2luZS9XaW5lLTIwMDUwODMwLnRhci5negogCiBJdCBzaG91bGQgYWxzbyBiZSBhdmFpbGFibGUgZnJvbSBhbnkgb3RoZXIgc2l0ZSB0aGF0IG1pcnJvcnMgaWJpYmxpby5vcmcuCiBUaGVzZSBsb2NhdGlvbnMgYWxzbyBob2xkIHByZS1idWlsdCBkb2N1bWVudGF0aW9uIHBhY2thZ2VzIGluIHZhcmlvdXMKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAyN2MzOWYzLi5kNTg3NzE3IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDQgKzEsMzI5NyBAQAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorMjAwNS0wOC0zMCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9jb21jdGwzMi9hbmltYXRlLmMsIGRsbHMvY29tY3RsMzIvY29tYm9leC5jLAorCSAgZGxscy9jb21jdGwzMi9jb21jdGwzMnVuZG9jLmMsIGRsbHMvY29tY3RsMzIvY29tbWN0cmwuYywKKwkgIGRsbHMvY29tY3RsMzIvaGVhZGVyLmMsIGRsbHMvY29tY3RsMzIvaW1hZ2VsaXN0LmMsCisJICBkbGxzL2NvbWN0bDMyL2lwYWRkcmVzcy5jLCBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmMsCisJICBkbGxzL2NvbWN0bDMyL3Byb3BzaGVldC5jLCBkbGxzL2NvbWN0bDMyL3N0YXR1cy5jLAorCSAgZGxscy9jb21jdGwzMi90YWIuYywgZGxscy9jb21jdGwzMi90aGVtaW5nLmMsCisJICBkbGxzL2NvbWN0bDMyL3Rvb2xiYXIuYywgZGxscy9jb21jdGwzMi90b29sdGlwcy5jLAorCSAgZGxscy9jb21jdGwzMi90cmVldmlldy5jLCBpbmNsdWRlL2NvbW1jdHJsLmgsIGluY2x1ZGUvcHJzaHQuaDoKKwlGcmFuayBSaWNodGVyIDxmcmFuay5yaWNodGVyQGdtYWlsLmNvbT4KKwlGaXggd2FybmluZ3MgaW4gNjRiaXQuCisKKwkqIHByb2dyYW1zL3dpbmVjZmcvRGUucmMsIHByb2dyYW1zL3dpbmVjZmcvRW4ucmMsCisJICBwcm9ncmFtcy93aW5lY2ZnL3Jlc291cmNlLmgsIHByb2dyYW1zL3dpbmVjZmcvdGhlbWUuYzoKKwlGcmFuayBSaWNodGVyIDxmcmFuay5yaWNodGVyQGdtYWlsLmNvbT4KKwlBZGQgYW4gIkluc3RhbGwgdGhlbWUiIGJ1dHRvbiB0byB0aGUgYXBwZWFyYW5jZSBwYWdlIHRvIGFsbG93CisJY29udmVuaWVudCBjb3B5aW5nIG9mIHRoZSAubXNzdHlsZXMgZmlsZSB0byB0aGUgUmlnaHQgUGxhY2UgaW5zaWRlIHRoZQorCVdpbmRvd3MgZGlyLgorCisJKiBwcm9ncmFtcy93aW5lY2ZnL05vLnJjLCBwcm9ncmFtcy93aW5lY2ZnL3dpbmVjZmcucmM6CisJQWxleGFuZGVyIE4uIFP4cm5lcyA8YWxleEB0aGVoYW5kb2ZhZ29ueS5jb20+CisJTm9yd2VnaWFuIHRyYW5zbGF0aW9uIG9mIHdpbmVjZmcuCisKKwkqIGRsbHMvY3J5cHQzMi9jZXJ0LmMsIGRsbHMvY3J5cHQzMi90ZXN0cy9jZXJ0LmM6CisJSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCUltcGxlbWVudCBjb2xsZWN0aW9uIHN0b3Jlcy4KKworCSogZGxscy91eHRoZW1lL2RyYXcuYzogRnJhbmsgUmljaHRlciA8ZnJhbmsucmljaHRlckBnbWFpbC5jb20+CisJTW9yZSBlbGFib3JhdGUgSXNUaGVtZUJhY2tncm91bmRQYXJ0aWFsbHlUcmFuc3BhcmVudCgpIGltcGxlbWVudGF0aW9uOworCWFsc28gcmV0dXJucyBUUlVFIGZvciB0aGVtZSBwYXJ0cyB3aXRoIDMyYnBwIGltYWdlcy4KKworCSogZGxscy9zaGVsbDMyL3NoZmxkcl91bml4ZnMuYzoKKwlNaWNoYWVsIEp1bmcgPG1qdW5nQGlzcy50dS1kYXJtc3RhZHQuZGU+CisJVXNlIEZJWE1FJ3MgaW4gc3R1YnMgaW5zdGVhZCBvZiBUUkFDRSdzLgorCUluZmVyIHBhdGhtb2RlIGZyb20gQ0xTSUQgaW4gVW5peEZvbGRlckNvbnN0cnVjdG9yLgorCUZhaWwgaW4gSVNoZWxsRm9sZGVyOjpCaW5kVG9PYmplY3QsIGlmIGZvbGRlciBkb2VzIG5vdCBpbml0aWFsaXplLgorCisJKiBkbGxzL2RwbGF5eC9kcGxheS5jLCBkbGxzL2Rzb3VuZC9jYXB0dXJlLmMsIGRsbHMvZHNvdW5kL3ByaW1hcnkuYywKKwkgIGRsbHMvcnBjcnQ0L2Nwc2YuYywgZGxscy9ycGNydDQvbmRyX21hcnNoYWxsLmMsCisJICBkbGxzL3JwY3J0NC9ycGNfZXBtYXAuYywgZGxscy9ycGNydDQvcnBjX3NlcnZlci5jLAorCSAgZGxscy9ycGNydDQvcnBjcnQ0X21haW4uYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRml4IHNvbWUgZ2NjIDQuMCB3YXJuaW5ncy4KKworCSogZGxscy9tc2h0bWwvRGUucmM6IEhlbm5pbmcgR2VyaGFyZHQgPGhlbm5pbmcuZ2VyaGFyZHRAd2ViLmRlPgorCVVwZGF0ZSB0aGUgR2VybWFuIHJlc291cmNlIGZpbGUuCisKKwkqIGRsbHMvc2VjdXIzMi9zZWN1cjMyLmMsIGRsbHMvc2VjdXIzMi9zZWN1cjMyX3ByaXYuaCwKKwkgIGRsbHMvc2VjdXIzMi90ZXN0cy9tYWluLmM6CisJSmFtZXMgSGF3a2lucyA8dHJ1aWtlbkBnbWFpbC5jb20+CisJSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCVVzZSBhIHN0YW5kYXJkIHdpbmUgbGlzdCBmb3IgcGFja2FnZXMgYW5kIHByb3ZpZGVycy4KKworCSogZGxscy91eHRoZW1lL3N5c3RlbS5jLCBkbGxzL3V4dGhlbWUvdXh0aGVtZS5zcGVjLAorCSAgZGxscy91eHRoZW1lL3V4dGhlbWVkbGwuaDoKKwlGcmFuayBSaWNodGVyIDxmcmFuay5yaWNodGVyQGdtYWlsLmNvbT4KKwlFbnVtVGhlbWVDb2xvcnMoKSBhbmQgRW51bVRoZW1lU2l6ZXMoKSBhY3R1YWxseSBkbyBub3QgcmV0dXJuIGEgc2luZ2xlCisJc3RyaW5nIHdpdGggdGhlIGNvbG9yL3NpemUgbmFtZSwgYnV0IHJhdGhlciBhIHN0cnVjdCBjb250YWluaW5nIHRocmVlCisJc3RyaW5ncyAtIG5hbWUsIGRpc3BsYXkgbmFtZSBhbmQgdG9vbHRpcC4KKworCSogZGxscy91eHRoZW1lL2RyYXcuYzogRnJhbmsgUmljaHRlciA8ZnJhbmsucmljaHRlckBnbWFpbC5jb20+CisJU2luY2UgdGhlbWUgaW1hZ2VzIGFyZSByZXVzZWQgbm93IGl0J3Mgbm90IHJlYWxseSBhIGdvb2QgaWRlYSB0bworCWRlbGV0ZSB0aGVtIGluIGRyYXdpbmcgZnVuY3Rpb25zLgorCisJKiBwcm9ncmFtcy93aW5lY2ZnL05sLnJjOiBQYXVsIFZyaWVucyA8UGF1bC5WcmllbnNAeHM0YWxsLm5sPgorCVVwZGF0ZSB0byB0aGUgbGF0ZXN0IHRoZW1lIGFuZCB0YWIgc2V0dGluZ3MuCisKKwkqIGRsbHMvd2xkYXAzMi9taXNjLmMsIGRsbHMvd2xkYXAzMi93aW5sZGFwX3ByaXZhdGUuaCwKKwkgIGRsbHMvd2xkYXAzMi93bGRhcDMyLnNwZWM6CisJSGFucyBMZWlkZWtrZXIgPGhhbnNAaXQudnUubmw+CisJSW1wbGVtZW50IGxkYXBfY291bnRfZW50cmllcywgbGRhcF9jb3VudF9yZWZlcmVuY2VzLAorCWxkYXBfZmlyc3RfYXR0cmlidXRlKiwgbGRhcF9maXJzdF9lbnRyeSwgbGRhcF9maXJzdF9yZWZlcmVuY2UsCisJbGRhcF9uZXh0X2F0dHJpYnV0ZSosIGxkYXBfbmV4dF9lbnRyeSBhbmQgbGRhcF9uZXh0X3JlZmVyZW5jZS4KKworMjAwNS0wOC0yOSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy93aW5lY3J0MC9jcnQwX3ByaXZhdGUuaCwgZGxscy93aW5lY3J0MC9kbGxfZW50cnkuYywKKwkgIGRsbHMvd2luZWNydDAvZXhlX2VudHJ5LmMsIGRsbHMvd2luZWNydDAvZXhlX3dlbnRyeS5jLAorCSAgdG9vbHMvd2luZWJ1aWxkL3NwZWMzMi5jOgorCUF2b2lkIHVzaW5nIGNvbW1vbiBzeW1ib2xzLCB0aGV5IGFyZSBicm9rZW4gb24gTWFjIE9TLgorCisJKiBkbGxzL3V4dGhlbWUvZHJhdy5jLCBkbGxzL3V4dGhlbWUvbXNzdHlsZXMuYywKKwkgIGRsbHMvdXh0aGVtZS91eHRoZW1lZGxsLmg6CisJRnJhbmsgUmljaHRlciA8ZnJhbmsucmljaHRlckBnbWFpbC5jb20+CisJUGFzcyBhcm91bmQgd2hhdCBraW5kIG9mIHRyYW5zcGFyZW5jeSBhbiBpbWFnZSBhY3R1YWxseSBuZWVkcy4gVXNlCisJYWxwaGEtYmxlbmRpbmcgZm9yIDMyYnBwIGltYWdlcy4KKworCSogcHJvZ3JhbXMvd2luZWNmZy90aGVtZS5jOiBGcmFuayBSaWNodGVyIDxmcmFuay5yaWNodGVyQGdtYWlsLmNvbT4KKwlNYWtlIFRIRU1FX3VwZGF0ZV9jb2xvcl9hbmRfc2l6ZSBzdGF0aWMgYW5kIGRyb3AgVEhFTUVfIHByZWZpeC4KKworCSogZGxscy9vbGVhdXQzMi90bWFyc2hhbC5jOiBSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJTWFrZSB0eXBlbGliIG1hcnNoYWxlciB1c2UgSVJwY0NoYW5uZWxCdWZmZXI6OkdldEJ1ZmZlciBpZiBwb3NzaWJsZS4KKworCSogZGxscy9vbGVhdXQzMi90eXBlbGliLmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwktIFNodW50IHNvbWUgdHJhY2Ugc3RhdGVtZW50cyBvdmVyIHRvIHRoZSB0eXBlbGliIGNoYW5uZWwgdGhhdCBhcmVuJ3QKKwkgIHJlYWxseSBtdWNoIHVzZSBleGNlcHQgaW4gZGVidWdnaW5nIHR5cGVsaWIgcGFyc2luZy4KKwktIE1ha2Ugc3VyZSB0byByZWxlYXNlIGEgcmVmZXJlbmNlIHRvIGJlaW5nIHJldHVybmVkIGFzIFZhcmlhbnRDb3B5SW5kCisJICB0YWtlcyBvbmUgZm9yIHVzLgorCisJKiBkbGxzL3NoZWxsMzIvc2hlbGwzMl9tYWluLmM6IE1pY2hhZWwgSnVuZyA8bWp1bmdAaXNzLnR1LWRhcm1zdGFkdC5kZT4KKwlDbG9uZSBwaWRsTGFzdCBiZWZvcmUgZnJlZSdpbmcgcGlkbCBhZnRlciBjYWxsIHRvIFNIQmluZFRvUGFyZW50LgorCisJKiBkbGxzL3NoZWxsMzIvdGVzdHMvc2hsZm9sZGVyLmM6CisJTWljaGFlbCBKdW5nIDxtanVuZ0Bpc3MudHUtZGFybXN0YWR0LmRlPgorCUFkZGVkIHRlc3QgdG8gc2hvdyB0aGF0IFdpbmRvd3MgZG9lcyBub3QgYWxsb2NhdGUgYSBuZXcgcGlkbCBpbgorCVNIQmluZFRvUGFyZW50LgorCisJKiBkbGxzL3NoZWxsMzIvc2hmbGRyX3VuaXhmcy5jOgorCU1pY2hhZWwgSnVuZyA8bWp1bmdAaXNzLnR1LWRhcm1zdGFkdC5kZT4KKwlVc2UgU3RyaW5nRnJvbUdVSUQyIGluc3RlYWQgb2YgU3RyaW5nRnJvbUNMU0lEIGluCisJVU5JWEZTX2lzX3Jvb3RlZF9hdF9kZXNrdG9wLgorCisJKiB0b29scy93aW5lYnVpbGQvcGFyc2VyLmM6CisJQ29tcHV0ZSB0aGUgb3JkaW5hbCBiYXNlIGFuZCBsaW1pdCBpbiBhc3NpZ25fb3JkaW5hbHMgaW5zdGVhZCBvZiBkb2luZworCWl0IHdoaWxlIHBhcnNpbmcuCisKKwkqIGRsbHMvZGlucHV0OC9NYWtlZmlsZS5pbiwgZGxscy9kcGxheS9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvbmV3ZGV2L01ha2VmaWxlLmluLCBkbGxzL250ZGxsL2xvYWRlci5jLAorCSAgZGxscy9vbGVwcm8zMi9NYWtlZmlsZS5pbiwgZGxscy9yc2FiYXNlL01ha2VmaWxlLmluLAorCSAgZGxscy9zaGZvbGRlci9NYWtlZmlsZS5pbiwgZGxscy9zdGRvbGUyLnRsYi9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvc3Rkb2xlMzIudGxiL01ha2VmaWxlLmluLCBkbGxzL3dpbmVjcnQwL2RsbF9tYWluLmM6CisJVW5jb21tZW50IG91dCBEaXNhYmxlVGhyZWFkTGlicmFyeUNhbGxzIGluIERsbE1haW4gYW5kIGFkZCB0aGUKKwlrZXJuZWwzMiBpbXBvcnRzIHRoYXQgaXQgcmVxdWlyZXMuCisKKwkqIGRsbHMvdmVyc2lvbi9pbmZvLmMsIGRsbHMvdmVyc2lvbi90ZXN0cy9pbmZvLmM6CisJU3RvcmUgdGhlIHJlc3VsdCBvZiB0aGUgQS9XIGNvbnZlcnNpb25zIGluIHRoZSBleHRyYSBidWZmZXIgc3BhY2UuCisKKwkqIGRsbHMvdmVyc2lvbi9pbmZvLmMsIGRsbHMvdmVyc2lvbi90ZXN0cy9pbmZvLmM6CisJUGF1bCBWcmllbnMgPHBhdWwudnJpZW5zQHhzNGFsbC5ubD4KKwlSZXNlcnZlIGV4dHJhIHNwYWNlIGZvciBjb252ZXJzaW9ucy4KKworCSogZGxscy93aW5lY3J0MC9NYWtlZmlsZS5pbiwgZGxscy93aW5lY3J0MC9jcnQwX3ByaXZhdGUuaCwKKwkgIGRsbHMvd2luZWNydDAvZGxsX2VudHJ5LmMsIGRsbHMvd2luZWNydDAvZXhlX2VudHJ5LmMsCisJICBkbGxzL3dpbmVjcnQwL2V4ZV93ZW50cnkuYywgdG9vbHMvd2luZWJ1aWxkL2ltcG9ydC5jLAorCSAgdG9vbHMvd2luZWJ1aWxkL3NwZWMzMi5jLCB0b29scy93aW5lZ2NjL3dpbmVnY2MuYzoKKwlNb3ZlZCBtb3JlIG9mIHRoZSBzcGVjIGluaXRpYWxpemF0aW9uIGNvZGUgdG8gdGhlIHdpbmVjcnQwIGxpYnJhcnksCisJYW5kIGdldCByaWQgb2YgaW1wbGljaXQga2VybmVsMzIgaW1wb3J0cy4KKworCSogZGxscy93bGRhcDMyL01ha2VmaWxlLmluLCBkbGxzL3dsZGFwMzIvbWlzYy5jLCBkbGxzL3dsZGFwMzIvdmFsdWUuYywKKwkgIGRsbHMvd2xkYXAzMi93aW5sZGFwX3ByaXZhdGUuaCwgZGxscy93bGRhcDMyL3dsZGFwMzIuc3BlYzoKKwlIYW5zIExlaWRla2tlciA8aGFuc0BpdC52dS5ubD4KKwlJbXBsZW1lbnQgbGRhcF9jb3VudF92YWx1ZXMqLCBsZGFwX2dldF92YWx1ZXMqLCAgbGRhcF9tc2dmcmVlIGFuZAorCWxkYXBfdmFsdWVfZnJlZV9sZW4uCisKKwkqIGRsbHMvY3J5cHQzMi9lbmNvZGUuYywgZGxscy9jcnlwdDMyL3Rlc3RzL2VuY29kZS5jOgorCUp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwlJbXBsZW1lbnQgZW5jb2RpbmcvZGVjb2Rpbmcgb2YgQ0VSVF9BTFRfTkFNRV9JTkZPcyBhbmQgQ1JMX0lORk9zLgorCisJKiBkbGxzL2tlcm5lbC9nbG9iYWwxNi5jLCBkbGxzL2tlcm5lbC9rZXJuZWxfbWFpbi5jLAorCSAgZGxscy9rZXJuZWwvc3lzdGVtLmMsIGRsbHMva2VybmVsL3N5c3RlbS5kcnYuc3BlYzoKKwlNb3ZlZCB0aGUgaW1wbGVtZW50YXRpb24gb2YgYSBjb3VwbGUgb2Ygc3lzdGVtLmRydiBlbnRyeSBwb2ludHMgdG8KKwlzeXN0ZW0uYy4KKworCSogZGxscy93aW5lZDNkL2RldmljZS5jLCBkbGxzL3dpbmVkM2QvZGlyZWN0eC5jLAorCSAgZGxscy93aW5lZDNkL3N1cmZhY2UuYywgZGxscy93aW5lZDNkL3V0aWxzLmM6CisJT2xpdmVyIFN0aWViZXIgPG9saXZlcl9zdGllYmVyQHlhaG9vLmNvLnVrPgorCUFkZGVkIHN1cHBvcnQgZm9yIERYVDIgYW5kIERYVDQuCisKKwkqIGluY2x1ZGUvd2luZS9saXN0Lmg6IEp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwlBZGRlZCBhIExJU1RfRk9SX0VBQ0hfRU5UUllfU0FGRSBoZWxwZXIgbWFjcm8uCisKKwkqIGRsbHMvY3J5cHQzMi9jZXJ0LmMsIGRsbHMvY3J5cHQzMi90ZXN0cy9jZXJ0LmM6CisJSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCUltcGxlbWVudGVkIG1lbW9yeSBjZXJ0IHN0b3Jlcy4KKworCSogZGxscy9jb21jdGwzMi9oZWFkZXIuYzogUGhpbCBLcnlsb3YgPHBoaWxAbmV3c3Rhci5yaW5ldC5ydT4KKwlJbXByb3ZlZCBoZWFkZXIgY29udHJvbCBwZXJmb3JtYW5jZSBieSBtYWludGFpbmluZyBhbiBpbnRlcm5hbCBvcmRlcgorCWFycmF5LgorCisJKiBsaWJzL3dpbmUvbGR0LmM6CisJSW1wbGVtZW50ZWQgd2luZV9sZHRfYWxsb2NfZnMgYW5kIHdpbmVfbGR0X2luaXRfZnMgZm9yIE1hYyBPUy4KKworCSogdG9vbHMvd2luZWJ1aWxkL3NwZWMxNi5jOgorCVVzZSBfX3dpbmVfdW5pbXBsZW1lbnRlZF9zdHViIGZyb20gY3J0MCBmb3IgMTYtYml0IHNwZWMgZmlsZXMgdG9vLgorCisJKiBwcm9ncmFtcy93aW5lbWluZS9Oby5yYywgcHJvZ3JhbXMvd2luZW1pbmUvcnNyYy5yYzoKKwlBbGV4YW5kZXIgTi4gU/hybmVzIDxhbGV4QHRoZWhhbmRvZmFnb255LmNvbT4KKwlOb3J3ZWdpYW4gbGFuZ3VhZ2Ugc3VwcG9ydC4KKworCSogZGxscy9tc2h0bWwvRnIucmMsIGRsbHMvbXNodG1sL3JzcmMucmM6CisJSm9uYXRoYW4gRXJuc3QgPEpvbmF0aGFuQEVybnN0RmFtaWx5LmNoPgorCUZyZW5jaCByZXNvdXJjZXMuCisKKwkqIGRsbHMvdXh0aGVtZS9kcmF3LmM6IEZyYW5rIFJpY2h0ZXIgPGZyYW5rLnJpY2h0ZXJAZ21haWwuY29tPgorCUlmIGEgTUlOU0laRW4gcHJvcGVydHkgaXMgbm90IHByZXNlbnQsIGZhbGwgYmFjayB0byBhY3R1YWwgc2l6ZSBvZiBudGgKKwlpbWFnZSB0byBkZXRlcm1pbmUgd2hldGhlciBpdCBpcyBzdWl0YWJsZS4KKworCSogZGxscy9rZXJuZWwva2VybmVsMzIuc3BlYzoKKwlSZW1vdmVkIGEgZmV3IG5vIGxvbmdlciB1c2VkIDE2LWJpdCBleHBvcnRzLgorCisJKiBkbGxzL2tlcm5lbC90YXNrLmMsIGRsbHMva2VybmVsL3Rvb2xoZWxwMTYuYzoKKwlNb3ZlZCBUYXNrRmluZEhhbmRsZTE2IHRvIHRvb2xoZWxwMTYuYy4KKworCSogZGxscy9rZXJuZWwvZ2xvYmFsMTYuYywgZGxscy9rZXJuZWwvdG9vbGhlbHAuYzoKKwlNb3ZlZCBHbG9iYWxNYXN0ZXJIYW5kbGUgdG8gZ2xvYmFsMTYuYy4KKworCSogZGxscy9rZXJuZWwvTWFrZWZpbGUuaW4sIGRsbHMva2VybmVsL2tlcm5lbDE2LmMsCisJICBkbGxzL2tlcm5lbC9rZXJuZWxfbWFpbi5jLCBkbGxzL2tlcm5lbC9rcm5sMzg2LmV4ZS5zcGVjLAorCSAgZGxscy9rZXJuZWwvd293dGh1bmsuYzoKKwlNb3ZlZCB0aGUga2VybmVsIDE2LWJpdCBpbml0aWFsaXphdGlvbiB0byBhIG5ldyBEbGxFbnRyeVBvaW50IHJvdXRpbmUKKwlpbiBrcm5sMzg2LgorCisJKiBkbGxzL21zaS90YWJsZS5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJLSB0aGUgY29tYmluYXRpb24gb2YgYWxsIHRhYmxlIGtleXMgbXVzdCBiZSB1bmlxdWUsIG5vdCBlYWNoIGtleQorCS0gTXNpVmlld0V4ZWN1dGUgbWF5IG5vdCBiZSBjYWxsZWQgYmVmb3JlIE1zaU1vZGlmeVZpZXcKKworCSogZGxscy91eHRoZW1lL2RyYXcuYzogRnJhbmsgUmljaHRlciA8ZnJhbmsucmljaHRlckBnbWFpbC5jb20+CisJVGFrZSBhIGNvbW1vbiBjb21wdXRhdGlvbiBvdXQgb2YgdHdvIGlmLWJyYW5jaGVzIGluCisJVVhUSEVNRV9Mb2FkSW1hZ2UoKS4KKworCSogZGxscy93aW5lZDNkL2RldmljZS5jOiBPbGl2ZXIgU3RpZWJlciA8b2xpdmVyX3N0aWViZXJAeWFob28uY28udWs+CisJSW1wbGVtZW50ZWQgSVdpbmVEM0REZXZpY2VfR2V0UmVuZGVyVGFyZ2V0RGF0YS4KKworCSogZGxscy9tc2h0bWwvRW4ucmMsIGRsbHMvbXNodG1sL3Jlc291cmNlLmgsIGRsbHMvbXNodG1sL3ZpZXcuYzoKKwlKYWNlayBDYWJhbiA8amFja0BpdG1hLnB3ci53cm9jLnBsPgorCU1vdmUgc3RyaW5ncyB0byByZXNvdXJjZXMuCisKKwkqIGxpYnMvd2luZS9sb2FkZXIuYzogVXNlIHRoZSBjb3JyZWN0IG9yZGluYWwgZmxhZyBmb3IgV2luNjQgc3VwcG9ydC4KKworCSogZGxscy9kYmdoZWxwL2VsZl9tb2R1bGUuYzoKKwlBZGRlZCBhIGNvdXBsZSBvZiBtaXNzaW5nIHN0dWJzIGZvciB0aGUgbm9uLUVMRiBjYXNlLgorCisJKiB0b29scy93aW5lYnVpbGQvYnVpbGQuaCwgdG9vbHMvd2luZWJ1aWxkL21haW4uYywgdG9vbHMvd2luZWJ1aWxkL3V0aWxzLmM6CisJR2V0IHJpZCBvZiB0aGUgdW51c2VkIG93bmVyX25hbWUgZmllbGQuCisKKwkqIHByb2dyYW1zL3dpbmVjZmcvRnIucmM6IEpvbmF0aGFuIEVybnN0IDxKb25hdGhhbkBFcm5zdEZhbWlseS5jaD4KKwlUaGVtaW5nIHNldGluZ3MgaW4gRnJlbmNoLgorCisJKiBkbGxzL2NvbWN0bDMyL3Rvb2xiYXIuYzogWXVyaSBLb3psb3YgPGtvemxvdi55QGdtYWlsLmNvbT4KKwlTZXQgZGVmYXVsdCBzaXplIGZvciB0b29sYmFyIGJpdG1hcCBpZiBub3Qgc3BlY2lmaWVkLgorCisJKiBkbGxzL21zaS9hY3Rpb24uaCwgZGxscy9tc2kvY2xhc3Nlcy5jLCBkbGxzL21zaS9oZWxwZXJzLmMsCisJICBkbGxzL21zaS9tc2lwcml2LmgsIGRsbHMvbXNpL3BhY2thZ2UuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJLSBidWlsZCBhIHN0YW5kYXJkIFdpbmUgbGlzdCBvZiBleHRlbnNpb25zIGluc3RlYWQgb2YgdXNpbmcgYW4gYXJyYXkKKwktIHVzZSBleHRlbnNpb24gcG9pbnRlcnMgaW5zdGVhZCBvZiBhcnJheSBpbmRleGVzCisKKwkqIGRsbHMvY3J5cHQzMi9lbmNvZGUuYywgZGxscy9jcnlwdDMyL3Byb3RlY3RkYXRhLmMsCisJICBkbGxzL2NyeXB0MzIvdGVzdHMvbWFpbi5jLCBkbGxzL2NyeXB0MzIvdGVzdHMvcHJvdGVjdGRhdGEuYywKKwkgIGRsbHMvZGlucHV0L2pveXN0aWNrX2xpbnV4LmMsIGRsbHMvaWNtcC9pY21wX21haW4uYywKKwkgIGRsbHMvaXRzcy9jaG1fbGliLmMsIGRsbHMvaXRzcy9senguYywgZGxscy9uZXRhcGkzMi9uYm5hbWVjYWNoZS5jLAorCSAgZGxscy9uZXRhcGkzMi9uYnQuYywgZGxscy9vZGJjMzIvcHJveHlvZGJjLmMsCisJICBkbGxzL3JzYWVuaC90ZXN0cy9yc2FlbmguYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJZ2NjIDQuMCB3YXJuaW5nIGZpeGVzLgorCisJKiBkbGxzL3dsZGFwMzIvTWFrZWZpbGUuaW4sIGRsbHMvd2xkYXAzMi9leHRlbmRlZC5jLAorCSAgZGxscy93bGRhcDMyL3dpbmxkYXBfcHJpdmF0ZS5oLCBkbGxzL3dsZGFwMzIvd2xkYXAzMi5zcGVjOgorCUhhbnMgTGVpZGVra2VyIDxoYW5zQGl0LnZ1Lm5sPgorCUltcGxlbWVudCBsZGFwX2V4dGVuZGVkX29wZXJhdGlvbiogYW5kIGxkYXBfY2xvc2VfZXh0ZW5kZWRfb3AuCisKKwkqIGRsbHMvZDNkOC9kaXJlY3R4LmM6IE9saXZlciBTdGllYmVyIDxvbGl2ZXJfc3RpZWJlckB5YWhvby5jby51az4KKwlVc2Ugd2luZWQzZGZvcm1hdCB3aGVuIGNhbGxpbmcgd2luZWQzZC4KKworCSogZGxscy91eHRoZW1lL2RyYXcuYywgZGxscy91eHRoZW1lL21zc3R5bGVzLmMsIGRsbHMvdXh0aGVtZS9tc3N0eWxlcy5oOgorCUZyYW5rIFJpY2h0ZXIgPGZyYW5rLnJpY2h0ZXJAZ21haWwuY29tPgorCUltcGxlbWVudCAibWFudWFsIiBpbWFnZSBzaGFyaW5nKGFzIG9wcG9zZWQgdG8gdXNpbmcgTG9hZEltYWdlKCkgd2l0aAorCUxSX1NIQVJFRCkgYnkga2VlcGluZyB0aGUgbG9hZGVkIGltYWdlcyBpbiBhIGxpc3QuIFRoaXMgaXMgbmVlZGVkIGZvcgorCXByb3BlciBhbHBoYSBzdXBwb3J0IGxhdGVyIG9uIHNpbmNlIG9uY2UtcGVyLWltYWdlIHByZXBhcmF0aW9ucyB3aWxsCisJYmUgbmVlZGVkIHRoZW4uCisKKwkqIGRsbHMvbXNodG1sL3Rlc3RzL2h0bWxkb2MuYzogSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwktIEFkZGVkIElIbGlua1RhcmdldDo6TmF2aWdhdGUgdGVzdC4KKwktIEFkZGVkIGRvd25sb2FkaW5nIHRlc3QgKGRpc2FibGVkKS4KKworCSogcHJvZ3JhbXMvd2luZWNmZy9SdS5yYzogWXVyaSBLb3psb3YgPGtvemxvdi55QGdtYWlsLmNvbT4KKwlUaGVtZSBkaWFsb2cgYWRkZWQgaW4gUnUucmMuCisKKzIwMDUtMDgtMjcgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvTWFrZWRsbC5ydWxlcy5pbjoKKwlGaXhlZCB0aGUgY2hlY2tsaW5rIHRhcmdldCB0byBsaW5rIGFnYWluc3Qgd2luZWNydDAgdG9vLgorCisJKiBkbGxzL2tlcm5lbC9pbnN0ci5jLCBkbGxzL2tlcm5lbC9rZXJuZWwxNl9wcml2YXRlLmgsCisJICBkbGxzL2tlcm5lbC9rZXJuZWxfbWFpbi5jLCBkbGxzL2tlcm5lbC9rZXJuZWxfcHJpdmF0ZS5oLAorCSAgZGxscy9rZXJuZWwvd293dGh1bmsuYzoKKwlEb24ndCB0cnkgdG8gaW5pdGlhbGl6ZSB0aGUgMTYtYml0IHRodW5raW5nIGNvZGUgaWYgMTYtYml0IHN1cHBvcnQgaXMKKwlkaXNhYmxlZC4KKworCSogZGxscy9tc2kvY2xhc3Nlcy5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJQWRkIHRoZSBhbGxvY2F0ZWQgbWltZSB0eXBlIHRvIHRoZSBtaW1lIHR5cGUgbGlzdC4KKworCSogZGxscy9hZHZhcGkzMi9jcnlwdF9sbWhhc2guYywgZGxscy9hZHZhcGkzMi9jcnlwdF9zaGEuYywKKwkgIGRsbHMvYWR2YXBpMzIvcmVnaXN0cnkuYywgZGxscy9hZHZhcGkzMi9zZXJ2aWNlLmMsCisJICBkbGxzL2FkdmFwaTMyL3Rlc3RzL2NyeXB0X2xtaGFzaC5jLCBkbGxzL2FkdmFwaTMyL3Rlc3RzL2NyeXB0X21kNC5jLAorCSAgZGxscy9hZHZhcGkzMi90ZXN0cy9jcnlwdF9tZDUuYywgZGxscy9jYWJpbmV0L2NhYmluZXQuaCwKKwkgIGRsbHMvY29tY3RsMzIvcmViYXIuYywgZGxscy9jb21jdGwzMi90YWIuYywgcHJvZ3JhbXMvdmlldy92aWV3LmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUZpeCBnY2MgNC4wIHdhcm5pbmdzLgorCisJKiBkbGxzL2NvbWN0bDMyL3Byb3BzaGVldC5jOgorCVRob21hcyBXZWlkZW5tdWVsbGVyIDx3aW5lLXBhdGNoZXNAcmVhY3Rzb2Z0LmNvbT4KKwlJdCBzaG91bGQgYmUgYWxsb3dlZCB0byBwYXNzIE5VTEwgaGFuZGxlcyBpbiB0aGUgcGhwYWdlIGFycmF5IG9mIHRoZQorCVBST1BTSEVFVEhFQURFUiBzdHJ1Y3R1cmUgdG8gUHJvcGVydHlTaGVldCgpLCBqdXN0IGlnbm9yZSB0aGVtLgorCisJKiBkbGxzL3dpbmVkM2QvZGV2aWNlLmMsIGRsbHMvd2luZWQzZC9zd2FwY2hhaW4uYzoKKwlPbGl2ZXIgU3RpZWJlciA8b2xpdmVyX3N0aWViZXJAeWFob28uY28udWs+CisJTW92ZWQgR2V0UmFzdGVyU3RhdHVzIGZyb20gZGV2aWNlIHRvIHN3YXBjaGFpbi4KKworCSogZGxscy9jb21jdGwzMi90ZXN0cy9NYWtlZmlsZS5pbiwgZGxscy9jcnlwdDMyL3Rlc3RzL01ha2VmaWxlLmluLAorCSAgZGxscy9nZGkvdGVzdHMvTWFrZWZpbGUuaW4sIGRsbHMvaXBobHBhcGkvdGVzdHMvTWFrZWZpbGUuaW4sCisJICBkbGxzL2x6ZXhwYW5kL3Rlc3RzL01ha2VmaWxlLmluLCBkbGxzL21hcGkzMi90ZXN0cy9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvbXNhY20vdGVzdHMvTWFrZWZpbGUuaW4sIGRsbHMvbXNodG1sL3Rlc3RzL01ha2VmaWxlLmluLAorCSAgZGxscy9tc3ZjcnQvdGVzdHMvTWFrZWZpbGUuaW4sIGRsbHMvbXN2Y3J0ZC90ZXN0cy9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvbmV0YXBpMzIvdGVzdHMvTWFrZWZpbGUuaW4sIGRsbHMvb2xlYXV0MzIvdGVzdHMvTWFrZWZpbGUuaW4sCisJICBkbGxzL3JwY3J0NC90ZXN0cy9NYWtlZmlsZS5pbiwgZGxscy9zZWN1cjMyL3Rlc3RzL01ha2VmaWxlLmluLAorCSAgZGxscy9zaGVsbDMyL3Rlc3RzL01ha2VmaWxlLmluLCBkbGxzL3NobHdhcGkvdGVzdHMvTWFrZWZpbGUuaW4sCisJICBkbGxzL3VybG1vbi90ZXN0cy9NYWtlZmlsZS5pbiwgZGxscy91c2VyL3Rlc3RzL01ha2VmaWxlLmluLAorCSAgZGxscy92ZXJzaW9uL3Rlc3RzL01ha2VmaWxlLmluLCBkbGxzL3dpbmluZXQvdGVzdHMvTWFrZWZpbGUuaW4sCisJICBkbGxzL3dpbnNvY2svdGVzdHMvTWFrZWZpbGUuaW4sIHByb2dyYW1zL3dpbmV0ZXN0L01ha2VmaWxlLmluOgorCUV4cGxpY2l0bHkgaW1wb3J0IGtlcm5lbDMyIGluIHRlc3RzIHRoYXQgdXNlIGl0LgorCisJKiBkbGxzL21zaHRtbC9NYWtlZmlsZS5pbiwgZGxscy9tc2h0bWwvaGxpbmsuYywgZGxscy9tc2h0bWwvaHRtbGRvYy5jLAorCSAgZGxscy9tc2h0bWwvbXNodG1sX3ByaXZhdGUuaDoKKwlKYWNlayBDYWJhbiA8amFja0BpdG1hLnB3ci53cm9jLnBsPgorCUFkZGVkIElIbGlua1RhcmdldCBpbnRlcmZhY2UuCisKKwkqIGRsbHMvb2xlMzIvY29tcG9ial9wcml2YXRlLmgsIGRsbHMvb2xlMzIvbWFyc2hhbC5jLAorCSAgZGxscy9vbGUzMi90ZXN0cy9tYXJzaGFsLmM6CisJUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCS0gSW1wbGVtZW50IElNYXJzaGFsIG9uIHByb3hpZXMgc28gdGhhdCB3ZSBkb24ndCBlbmQgdXAgd2l0aCBwcm94aWVzCisJICB0byBwcm94aWVzLCBjYXVzaW5nIHBvdGVudGlhbCBkZWFkbG9jayBpc3N1ZXMgYW5kIHBlcmZvcm1hbmNlCisJICBwcm9ibGVtcy4KKwktIEFkZCBhIHRlc3QgZm9yIHRoaXMgc2l0dWF0aW9uIGFuZCByZW1vdmUgdGhlIHRvZG9fd2luZSBmcm9tIGFub3RoZXIKKwkgIHRlc3QgdGhhdCBub3cgc3VjY2VlZHMuCisKKwkqIGRsbHMvbXNodG1sL0RlLnJjLCBkbGxzL21zaHRtbC9yc3JjLnJjOgorCUhlbm5pbmcgR2VyaGFyZHQgPGhlbm5pbmcuZ2VyaGFyZHRAd2ViLmRlPgorCUFkZGVkIEdlcm1hbiByZXNvdXJjZXMuCisKKwkqIGRsbHMvdXNlci9saXN0Ym94LmMsIGRsbHMvdXNlci90ZXN0cy9saXN0Ym94LmM6CisJSmFzb24gRWRtZWFkZXMgPHVzQGVkbWVhZGVzLm1lLnVrPgorCUxpc3Rib3ggZGVsZXRlIHN0cmluZyBoYW5kbGluZyBzaG91bGQgdmFsaWRhdGUgdGhlIHJhbmdlIG9mIHRoZQorCWluZGV4LiBBZGRlZCBzb21lIHRlc3RzLgorCisJKiBkbGxzL3dpbmVkM2QvdGV4dHVyZS5jOiBPbGl2ZXIgU3RpZWJlciA8b2xpdmVyX3N0aWViZXJAeWFob28uY28udWs+CisJQ2hhbmdlIFNldERpcnR5IGluIHRleHR1cmUgdG8gcGFzcyB0aGUgdmFsdWUgb2YgZGlydHkgaW5zdGVhZCBvZgorCWFsd2F5cyBwYXNzaW5nIFRSVUUuCisKKwkqIGRsbHMveDExZHJ2L3hyZW5kZXIuYzogRnJhbmsgUmljaHRlciA8ZnJhbmsucmljaHRlckBnbWFpbC5jb20+CisJTWFrZSBBbHBoYUJsZW5kKCkgcmVzcGVjdCB0aGUgZGVzdGluYXRpb24gY2xpcHBpbmcgcmVnaW9uLgorCisJKiBpbmNsdWRlL2NvbW1jdHJsLmg6IEZyYW5rIFJpY2h0ZXIgPGZyYW5rLnJpY2h0ZXJAZ21haWwuY29tPgorCUFkZGVkIFdDX1NDUk9MTEJBUi4KKworCSogZGxscy93aW5zb2NrL3NvY2tldC5jLCBkbGxzL3dpbnNvY2svdGVzdHMvc29jay5jOgorCUhhbnMgTGVpZGVra2VyIDxoYW5zQGl0LnZ1Lm5sPgorCUF2b2lkIHVzaW5nIHRoZSBvYnNvbGV0ZSBpbmV0X2FkZHIuCisKKwkqIGRsbHMvbXNodG1sL3Rlc3RzL2h0bWxkb2MuYzogSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwlNYWtlIHBBY3RpdmVPYmplY3QgdGVzdCBsYW5ndWFnZSBzcGVjaWZpYy4KKworCSogZGxscy9zZW5zYXBpL3NlbnNhcGkuYywgaW5jbHVkZS9zZW5zYXBpLmg6CisJTWFyY3VzIE1laXNzbmVyIDxtZWlzc25lckBzdXNlLmRlPgorCUlzTmV0d29ya0FsaXZlKCkgZW5oYW5jZWQsIGFsd2F5cyByZXBvcnRzIExBTi4KKworMjAwNS0wOC0yNiAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9yc2FlbmgvcnNhZW5oLmMsIGRsbHMvd2luZWQzZC9zd2FwY2hhaW4uYywKKwkgIGRsbHMvd2luZWQzZC93aW5lZDNkX3ByaXZhdGUuaDoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRml4IGdjYyA0LjAgd2FybmluZ3MuCisKKwkqIGRsbHMvbXNodG1sL21zaHRtbF9wcml2YXRlLmgsIGRsbHMvbXNodG1sL25zZW1iZWQuYywKKwkgIGRsbHMvbXNodG1sL25zaWZhY2UuaWRsLCBkbGxzL21zaHRtbC92aWV3LmM6CisJSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwlCZWdpbm5pbmcgaW1wbGVtZW50YXRpb24gb2YgR2Vja28gZm9jdXMgaGFuZGxpbmcuCisKKwkqIGRsbHMvc2hlbGwzMi8uY3ZzaWdub3JlLCBkbGxzL3NoZWxsMzIvTWFrZWZpbGUuaW4sCisJICBkbGxzL3NoZWxsMzIvZm9sZGVycy5jLCBkbGxzL3NoZWxsMzIvaWNvbmNhY2hlLmMsCisJICBkbGxzL3NoZWxsMzIvcmVnc3ZyLmMsIGRsbHMvc2hlbGwzMi9zaGVsbDMyX21haW4uaCwKKwkgIGRsbHMvc2hlbGwzMi9zaGVsbG9sZS5jLCBkbGxzL3NoZWxsMzIvc2hmbGRyX3VuaXhmcy5jLAorCSAgZGxscy9zaGVsbDMyL3NocmVzLnJjLCBkbGxzL3NoZWxsMzIvc2hyZXNkZWYuaDoKKwlNaWNoYWVsIEp1bmcgPG1qdW5nQGlzcy50dS1kYXJtc3RhZHQuZGU+CisJSW1wbGVtZW50ZWQgJ015IERvY3VtZW50cycgZm9sZGVyLgorCisJKiBkbGxzL29sZWF1dDMyL3ZhcmZvcm1hdC5jLCBkbGxzL3dpbmVkb3MvZG9zYXNwaS5jLAorCSAgZGxscy93aW5lZG9zL2Rvc21lbS5jLCBkbGxzL3dpbmVkb3MvbW9kdWxlLmMsIGRsbHMvd2luZXBzL2RyaXZlci5jLAorCSAgZGxscy93aW5lcHMvaW5pdC5jLCBkbGxzL3dpbmVwcy9wcy5jLCBkbGxzL3dpbmVwcy90eXBlNDIuYywKKwkgIGRsbHMvd2luc29jay90ZXN0cy9zb2NrLmMsIHByb2dyYW1zL3dpbmV0ZXN0L3NlbmQuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRml4IGdjYyA0LjAgd2FybmluZ3MuCisKKwkqIGRsbHMvTWFrZWZpbGUuaW4sIGRsbHMvbWFrZV9kbGxzOgorCVdlIG5vIGxvbmdlciBuZWVkIGEgc3BlY2lhbCBjYXNlIGZvciB0aGUgbnRkbGwgaW1wb3J0IGxpYnJhcnkuCisKKwkqIGluY2x1ZGUvd3R5cGVzLmlkbDogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCUFkZGVkIG1vcmUgd3R5cGVzIGRlZmluaXRpb25zLCBwYXJ0aWN1bGFybHkgZm9yIEdESS9VU0VSIGhhbmRsZXMuCisKKwkqIGluY2x1ZGUvdXJsbW9uLmlkbDogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCS0gVGhlIG91dHB1dCBzaXplIHNob3VsZCBiZSAqcGNiUG9saWN5IGZvciBwcFBvbGljeSwgbm90IHRoZSBpbnB1dAorCSAgc2l6ZS4KKwktIFJlbW92ZSBhIHN0cmF5IHNlbWktY29sb24uCisKKwkqIGluY2x1ZGUvb2xlaWRsLmlkbDogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCU1vdmUgaW50ZXJmYWNlcyBhcm91bmQgdG8gc2F0aXNmeSBNSURMLgorCisJKiBpbmNsdWRlL21zeG1sLmlkbDogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCVJlbW92ZSBub25zZW5zZSBtc3htbCBJREwgYXR0cmlidXRlcy4KKworCSogZGxscy94MTFkcnYveGZvbnQuYzogUGF2ZWwgUm9za2luIDxwcm9za2lAZ251Lm9yZz4KKwlFeHRlbmQgdVJlbGF4IHNjYWxlIHNvIHRoYXQgeXJlcyBpcyByZWxheGVkIGJlZm9yZSBzbGFudCwgbm90IGF0IHRoZQorCXNhbWUgdGltZS4KKworCSogZGxscy9tc2kvYWN0aW9uLmgsIGRsbHMvbXNpL2NsYXNzZXMuYywgZGxscy9tc2kvaGVscGVycy5jLAorCSAgZGxscy9tc2kvbXNpcHJpdi5oLCBkbGxzL21zaS9wYWNrYWdlLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCS0gYnVpbGQgYSBzdGFuZGFyZCBXaW5lIGxpc3Qgb2YgbWltZSB0eXBlcyBpbnN0ZWFkIG9mIHVzaW5nIGFuIGFycmF5CisJLSB1c2UgbWltZSB0eXBlIHBvaW50ZXJzIGluc3RlYWQgb2YgYXJyYXkgaW5kZXhlcworCisJKiBkbGxzL29sZTMyL2NvbXBvYmouYywgZGxscy9vbGUzMi9vbGUzMi5zcGVjOgorCVJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgc3R1YiBmb3IgQ29BbGxvd1NldEZvcmVncm91bmRXaW5kb3cuCisKKwkqIGRsbHMvY3J5cHQzMi9jZXJ0LmMsIGRsbHMvY3J5cHQzMi9jcnlwdDMyLnNwZWM6CisJSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCUFkZGVkIGEgYnVuY2ggb2Ygc3R1YnMuCisKKwkqIGRsbHMvbXNodG1sL0VuLnJjLCBkbGxzL21zaHRtbC9vbGV3bmQuYywgZGxscy9tc2h0bWwvcmVzb3VyY2UuaCwKKwkgIGRsbHMvbXNodG1sL3JzcmMucmM6CisJSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwlBZGRlZCBkZWZhdWx0IE1TSFRNTCBjb250ZXh0IG1lbnUuCisKKwkqIGluY2x1ZGUvd2luY3J5cHQuaDogSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCUNvcnJlY3QgYSB0eXBvLCBhbmQgYWRkIG1vcmUgZGVmaW5pdGlvbnMuCisKKzIwMDUtMDgtMjUgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvd2luZWNydDAvTWFrZWZpbGUuaW4sIGRsbHMvd2luZWNydDAvZGVsYXlfbG9hZC5jLAorCSAgdG9vbHMvd2luZWJ1aWxkL2ltcG9ydC5jLCB0b29scy93aW5lYnVpbGQvc3BlYzMyLmM6CisJTW92ZWQgdGhlIGRlbGF5IGxvYWRpbmcgc3VwcG9ydCBjb2RlIHRvIHRoZSB3aW5lY3J0MCBsaWJyYXJ5LgorCisJKiBpbmNsdWRlL01ha2VmaWxlLmluLCBpbmNsdWRlL2Rkay93aW5zcGxwLmg6CisJRGV0bGVmIFJpZWtlbmJlcmcgPHdpbmUuZGV2QHdlYi5kZT4KKwlBZGRlZCB3aW5zcGxwLmggaGVhZGVyLgorCisJKiBwcm9ncmFtcy91bmluc3RhbGxlci9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvd2luZXBhdGgvTWFrZWZpbGUuaW4sCisJICB0b29scy93aW5lZ2NjL3dpbmVnY2MuYywgdG9vbHMvd2luZWdjYy93aW5lZ2NjLm1hbjoKKwlBZGRlZCBhIC1tdW5pY29kZSBmbGFnIHRvIHdpbmVnY2MgZm9yIGFwcGxpY2F0aW9ucyB0aGF0IGhhdmUgYSB3bWFpbigpCisJZW50cnkgcG9pbnQuCisKKwkqIGRsbHMvbXNodG1sL21zaHRtbF9wcml2YXRlLmgsIGRsbHMvbXNodG1sL25zZW1iZWQuYywKKwkgIGRsbHMvbXNodG1sL25zaWZhY2UuaWRsLCBkbGxzL21zaHRtbC9vbGV3bmQuYzoKKwlKYWNlayBDYWJhbiA8amFja0BpdG1hLnB3ci53cm9jLnBsPgorCS0gQmVnaW5uaW5nIGltcGxlbWVudGF0aW9uIG9mIGNvbnRleHQgbWVudS4KKwktIFNldCBuc0lXZWJCcm93c2VyQ2hyb21lIG9mIG5zSVdlYkJyb3dzZXIuCisKKwkqIGRsbHMvd2luZWQzZC9NYWtlZmlsZS5pbiwgZGxscy93aW5lZDNkL2RldmljZS5jLAorCSAgZGxscy93aW5lZDNkL3BpeGVsc2hhZGVyLmMsIGRsbHMvd2luZWQzZC93aW5lZDNkX3ByaXZhdGUuaDoKKwlPbGl2ZXIgU3RpZWJlciA8b2xpdmVyX3N0aWViZXJAeWFob28uY28udWs+CisJSW1wbGVtZW50ZWQgc3R1YmJlZCBvdXQgcGl4ZWwgc2hhZGVycyBhbmQgdGhlaXIgc3RhdGVzIGluIHdpbmVkM2QuCisKKwkqIGRsbHMvY29tbWRsZy9wcmludGRsZy5jOiBWaXRhbHkgTGlwYXRvdiA8bGF2QGV0ZXJzb2Z0LnJ1PgorCVJlc3RvcmUgcGFwZXIgb3JpZW50YXRpb24gd2hlbiBwYWdlc2V0dXBkbGcgaXMgaW5pdGlhbGl6aW5nLgorCisJKiBkbGxzL250ZGxsL3NpZ25hbF9pMzg2LmM6IEdsZW5uIFd1cnN0ZXIgPGd3dXJzdGVyQHNjcy5jYXJsZXRvbi5jYT4KKwlNYWtlIHN0YWNrIGNoZWNrIHdvcmsgaWYgc3RhY2sgaXMgYSBzbWFsbCB2YWx1ZS4KKworCSogZGxscy9kZHJhdy90ZXN0cy9kM2QuYzoKKwlTYXVsaXVzIEtyYXN1Y2thcyA8c2F1bGl1cy5rcmFzdWNrYXNAaWVlZS5vcmc+CisJLSBEaXJlY3REcmF3Q3JlYXRlRXggZmFpbHMgd2l0aCBTdGFuZGFyZCBWR0EgQWRhcHRlciBkcml2ZXIuCisJLSBJRGlyZWN0M0Q3OjpDcmVhdGVEZXZpY2UoKSByZXR1cm5zIEVfT1VUT0ZNRU1PUlkgaWYgYSBjYXJkIGhhcyBubyAzRAorCSAgYWNjZWxlcmF0aW9uLgorCisJKiBwcm9ncmFtcy93aW5lY2ZnL0RlLnJjLCBwcm9ncmFtcy93aW5lY2ZnL0VuLnJjLAorCSAgcHJvZ3JhbXMvd2luZWNmZy9Gci5yYywgcHJvZ3JhbXMvd2luZWNmZy9KYS5yYywKKwkgIHByb2dyYW1zL3dpbmVjZmcvTmwucmMsIHByb2dyYW1zL3dpbmVjZmcvUnUucmMsCisJICBwcm9ncmFtcy93aW5lY2ZnL21haW4uYywgcHJvZ3JhbXMvd2luZWNmZy9yZXNvdXJjZS5oOgorCUZyYW5rIFJpY2h0ZXIgPGZyYW5rLnJpY2h0ZXJAZ21haWwuY29tPgorCUxvYWQgdGFiIHRpdGxlcyBhbmQgcHJvcGVydHkgc2hlZXQgY2FwdGlvbiBmcm9tIHN0cmluZyByZXNvdXJjZXMuCisKKwkqIGRsbHMvbXNpL2FjdGlvbi5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJTWFrZSBzdXJlIHRvIHNhdmUgdGhlIHJlc3VsdCBjYWxjdWxhdGVkIGluIEFDVElPTl9VcGRhdGVJbnN0YWxsU3RhdGVzLgorCisJKiBkbGxzL3VzZXIvc3lzcGFyYW1zLmMsIGRsbHMvdXNlci90ZXN0cy9zeXNwYXJhbXMuYzoKKwlWaXRhbHkgTGlwYXRvdiA8bGF2QGV0ZXJzb2Z0LnJ1PgorCS0gcmVtb3ZlIHJldHVybjogbm93IGJyZWFrIGxvb3AgaWYgY2FuJ3QgY2hhbmdlIHN0YXRlIGR1cmluZyB0ZXN0CisJLSBhZGQgdGVzdCBmb3IgdmFsdWUgcmV0dXJuZWQgYnkgU3dhcE1vdXNlQnV0dG9uCisJLSBmaXggU3dhcE1vdXNlQnV0dG9uIHJldHVybiB2YWx1ZSAoaXQgcmV0dXJucyBwcmV2aW91cyBzdGF0ZSkKKworCSogZGxscy9jb21jdGwzMi9oZWFkZXIuYzogUGhpbCBLcnlsb3YgPHBoaWxAbmV3c3Rhci5yaW5ldC5ydT4KKwlEcmF3IGhlYWRlciBjb250cm9sIGl0ZW1zIG9ubHkgd2l0aGluIHRoZSBoZWFkZXIgY2xpZW50IGFyZWEuCisKKwkqIGRsbHMvYWN0aXZlZHMvTWFrZWZpbGUuaW4sIGRsbHMvZDNkaW0vTWFrZWZpbGUuaW4sCisJICBkbGxzL2QzZHJtL01ha2VmaWxlLmluLCBkbGxzL21zbmV0MzIvTWFrZWZpbGUuaW4sCisJICBkbGxzL21zdmNydDIwL01ha2VmaWxlLmluLCBkbGxzL21zdmNydDQwL01ha2VmaWxlLmluLAorCSAgZGxscy9udGRsbC9leGNlcHRpb24uYywgZGxscy9vbGVhY2MvTWFrZWZpbGUuaW4sCisJICBkbGxzL3N0aS9NYWtlZmlsZS5pbiwgZGxscy91cmwvTWFrZWZpbGUuaW4sCisJICBkbGxzL3dpbmVjcnQwL01ha2VmaWxlLmluLCBkbGxzL3dpbmVjcnQwL3N0dWIuYywKKwkgIHRvb2xzL3dpbmVidWlsZC9pbXBvcnQuYywgdG9vbHMvd2luZWJ1aWxkL3NwZWMzMi5jOgorCU1vdmVkIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBzcGVjIGZpbGUgc3R1YnMgdG8gdGhlIHdpbmVjcnQwIGxpYnJhcnkuCisKKwkqIGRsbHMvY29tY3RsMzIvdGhlbWVfZGlhbG9nLmM6IEZyYW5rIFJpY2h0ZXIgPGZyYW5rLnJpY2h0ZXJAZ21haWwuY29tPgorCUFkZCBXTV9DVExDT0xPUlNUQVRJQyBoYW5kbGVyIHRvIGRpYWxvZyB0aGVtaW5nIHN1YmNsYXNzIHNvIHN0YXRpYworCXRleHQgY2FuIGFwcGVhciB0cmFuc3BhcmVudCAoZm9yIGUuZy4gdGFiIHBhZ2VzIHdoaWNoIGNvbW1vbmx5IGhhdmUgYQorCSJmYW5jeSIgYmFja2dyb3VuZCkuCisKKwkqIGRsbHMvbXNpL2ZpbGVzLmM6IEFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJVGhlIGZpbGUgbmFtZSB1c2VkIGluIHRoZSB1aSBtZXNzYWdlcyBpcyB0aGUgdGFyZ2V0IG5hbWUgbm90IHRoZQorCXNvdXJjZSBuYW1lLgorCisJKiBwcm9ncmFtcy93aW5lY2ZnL0RlLnJjLCBwcm9ncmFtcy93aW5lY2ZnL0VuLnJjOgorCUZyYW5rIFJpY2h0ZXIgPGZyYW5rLnJpY2h0ZXJAZ21haWwuY29tPgorCUFkZCBFbmdsaXNoIE5ldXRyYWwgYW5kIEdlcm1hbiBhcHBlYXJhbmNlIHRhYiB0cmFuc2xhdGlvbnMuCisKKwkqIGRvY3VtZW50YXRpb24vUEFDS0FHSU5HOiBUb20gV2lja2xpbmUgPHR3aWNrbGluZUBnbWFpbC5jb20+CisJUmVtb3ZlZCByZW1haW5pbmcgY29uZmlnIHJlZmVyZW5jZXMuCisKKwkqIGRsbHMvbXNodG1sL3BlcnNpc3QuYywgZGxscy9tc2h0bWwvdGVzdHMvTWFrZWZpbGUuaW4sCisJICBkbGxzL21zaHRtbC90ZXN0cy9odG1sZG9jLmM6CisJSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwktIEFkZGVkIHRlc3Qgb2YgSVBlcnNpc3RNb25pa2VyOjpMb2FkLgorCS0gRml4IFdpbmUgdG8gcGFzcyB0aGUgdGVzdC4KKworCSogZGxscy9NYWtlZmlsZS5pbiwgZGxscy9tYWtlX2RsbHM6CisJSW5zdGFsbCB0aGUgc3RhdGljIGltcG9ydCBsaWJyYXJpZXMgdG9vLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgZGxscy8uY3ZzaWdub3JlLCBkbGxzL01ha2VpbXBsaWIucnVsZXMuaW4sCisJICBkbGxzL2R4ZXJyOC9NYWtlZmlsZS5pbiwgZGxscy9keGVycjkvTWFrZWZpbGUuaW4sCisJICBkbGxzL2R4Z3VpZC9NYWtlZmlsZS5pbiwgZGxscy9zdHJtaWlkcy9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvdXVpZC9NYWtlZmlsZS5pbiwgZGxscy93aW5lY3J0MC9NYWtlZmlsZS5pbjoKKwlBZGRlZCBhIG1ha2UgcnVsZXMgZmlsZSBmb3Igc3RhdGljIGltcG9ydCBsaWJyYXJpZXMuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBkbGxzL01ha2VmaWxlLmluLCBkbGxzL3dpbmVjcnQwLy5jdnNpZ25vcmUsCisJICBkbGxzL3dpbmVjcnQwL01ha2VmaWxlLmluLCBkbGxzL3dpbmVjcnQwL2RsbF9tYWluLmMsCisJICBkbGxzL3dpbmVjcnQwL2V4ZV9tYWluLmMsIGRsbHMvd2luZWNydDAvZXhlX3dtYWluLmMsCisJICBwcm9ncmFtcy91bmluc3RhbGxlci9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvd2luZXBhdGgvTWFrZWZpbGUuaW4sCisJICB0b29scy93aW5lYnVpbGQvYnVpbGQuaCwgdG9vbHMvd2luZWJ1aWxkL2ltcG9ydC5jLAorCSAgdG9vbHMvd2luZWJ1aWxkL21haW4uYywgdG9vbHMvd2luZWJ1aWxkL3NwZWMzMi5jLAorCSAgdG9vbHMvd2luZWdjYy93aW5lZ2NjLmM6CisJQmVnaW5uaW5ncyBvZiBhIGNydDAgbGlicmFyeS4KKworCSogaW5jbHVkZS9NYWtlZmlsZS5pbjoKKwlGaXhlZCBpbnN0YWxsYXRpb24gcnVsZXMgZm9yIFdpbmUtc3BlY2lmaWMgSURMIGZpbGVzLgorCisJKiBkbGxzL2l0c3MvaXRzcy5pZGwsIGRsbHMvaXRzcy8uY3ZzaWdub3JlLCBkbGxzL2l0c3MvTWFrZWZpbGUuaW4sCisJICBkbGxzL2l0c3MvaXRzcy5jLCBkbGxzL2l0c3MvbW9uaWtlci5jLCBkbGxzL2l0c3MvcmVnc3ZyLmMsCisJICBkbGxzL2l0c3Mvc3RvcmFnZS5jLCBpbmNsdWRlL01ha2VmaWxlLmluLCBpbmNsdWRlL3dpbmUvLmN2c2lnbm9yZSwKKwkgIGluY2x1ZGUvd2luZS9pdHNzLmlkbDoKKwlKYW1lcyBIYXdraW5zIDx0cnVpa2VuQGdtYWlsLmNvbT4KKwlNb3ZlZCBpdHNzLmlkbCB0byBpbmNsdWRlL3dpbmUuCisKKwkqIGRsbHMvbnRkbGwvdmlydHVhbC5jOgorCVVzZSBGSUxFX0dldERldmljZUluZm8gaW4gTnRNYXBWaWV3T2ZTZWN0aW9uIHRvIGF2b2lkIGhhdmluZyB0byBmZXRjaAorCXRoZSBmaWxlIGRlc2NyaXB0b3IgdHdpY2UuCisKKwkqIGRsbHMvbXNpL2FjdGlvbi5oLCBkbGxzL21zaS9jbGFzc2VzLmMsIGRsbHMvbXNpL2hlbHBlcnMuYywKKwkgIGRsbHMvbXNpL21zaXByaXYuaCwgZGxscy9tc2kvcGFja2FnZS5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwktIGJ1aWxkIGEgc3RhbmRhcmQgV2luZSBsaXN0IG9mIGNsYXNzZXMgaW5zdGVhZCBvZiB1c2luZyBhbiBhcnJheQorCS0gdXNlIGNsYXNzIHBvaW50ZXJzIGluc3RlYWQgb2YgYXJyYXkgaW5kZXhlcworCisJKiBkbGxzL3dpbnNvY2svc29ja2V0LmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlnY2MgNC4wIHdhcm5pbmcgZml4ZXMuCisKKwkqIGRsbHMvY3J5cHQzMi9jZXJ0LmMsIGRsbHMvY3J5cHQzMi9jcnlwdDMyLnNwZWMsCisJICBkbGxzL2NyeXB0MzIvY3J5cHQzMl9wcml2YXRlLmgsIGRsbHMvY3J5cHQzMi9tYWluLmMsCisJICBkbGxzL2NyeXB0MzIvdGVzdHMvLmN2c2lnbm9yZSwgZGxscy9jcnlwdDMyL3Rlc3RzL01ha2VmaWxlLmluLAorCSAgZGxscy9jcnlwdDMyL3Rlc3RzL2NlcnQuYzoKKwlKdWFuIExhbmcgPGp1YW5fbGFuZ0B5YWhvby5jb20+CisJSW1wbGVtZW50ZWQgQ3J5cHRIYXNoQ2VydGlmaWNhdGUuCisKKwkqIGRsbHMvbXNpL3BhY2thZ2UuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCURvbid0IGRlcmVmZXJlbmNlIHZhcmlhYmxlcyBpbiBhIHRyYWNlLgorCisJKiBpbmNsdWRlL29iamlkbC5pZGwsIGluY2x1ZGUvd3R5cGVzLmlkbDoKKwlSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJVXBkYXRlIHRvIGluY2x1ZGUgYWxsIG9mIHRoZSBpbnRlcmZhY2VzIGluIHRoZSBQbGF0Zm9ybSBTREsgYXMgb2YgdGhlCisJWFAgU1AyIHZlcnNpb24uCisKKwkqIGRsbHMvb2xlMzIvY29tcG9iai5jLCBkbGxzL29sZTMyL2NvbXBvYmpfcHJpdmF0ZS5oOgorCVJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlSZW1vdmUgdW51c2VkIHRocmVhZCBoYW5kbGUgZW50cnkgZnJvbSB0aGUgYXBhcnRtZW50IHN0cnVjdHVyZS4KKworCSogZGxscy9tc2kvY2xhc3Nlcy5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRml4IGEgc21hbGwgYnVnIGludHJvZHVjZWQgd2hlbiBjb252ZXJ0aW5nIGFwcGlkcyB0byBhIGxpc3QuCisKKwkqIGRsbHMvbXNpL2FjdGlvbi5jOiBBcmljIFN0ZXdhcnQgPGFyaWNAY29kZXdlYXZlcnMuY29tPgorCURpc3BsYXkgdGhlIGNvcnJlY3QgdGV4dCBzdHJpbmcgaW4gdGhlIGFjdGlvbiB0ZXh0IGZpZWxkIGZvciB0aGUKKwlkaWFsb2cgYm94ZXMuIEFsc28gdGhlIHN0cmluZyBzaG91bGQgYmUgZGVmb3JtYXR0ZWQuCisKKzIwMDUtMDgtMjQgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvbnRkbGwvc2VydmVyLmMsIGluY2x1ZGUvd2luZS9zZXJ2ZXJfcHJvdG9jb2wuaCwgc2VydmVyL2ZkLmMsCisJICBzZXJ2ZXIvaGFuZGxlLmMsIHNlcnZlci9oYW5kbGUuaCwgc2VydmVyL3Byb3RvY29sLmRlZiwKKwkgIHNlcnZlci9yZXF1ZXN0LmgsIHNlcnZlci90cmFjZS5jOgorCURvbid0IGNhY2hlIGZpbGUgZGVzY3JpcHRvcnMgb3BlbiBvbiByZW1vdmFibGUgZGV2aWNlcy4KKworCSogZGxscy9udGRsbC9maWxlLmMsIGRsbHMvbnRkbGwvbnRkbGxfbWlzYy5oOgorCU1vdmVkIHRoZSBGaWxlRnNEZXZpY2VJbmZvcm1hdGlvbiBxdWVyeSB0byBhIHNlcGFyYXRlIGZ1bmN0aW9uLgorCisJKiBkbGxzL21zdmNydC9tYmNzLmMsIGRsbHMvbXN2Y3J0L21zdmNydC5zcGVjOgorCVZpdGFseSBMaXBhdG92IDxsYXZAZXRlcnNvZnQucnU+CisJQWRkIG1pc3NlZCBfbWJzY29sbCBmdW5jdGlvbi4KKworCSogZGxscy9hdGwvYXRsX21haW4uYzogQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlWZXJzaW9uIDEgYXRsIG1vZHVsZXMgb25seSBoYXZlIGEgc3RydWN0dXJlIHNpemUgb2YgMTAwIGFuZCBubworCWZ1bmN0aW9ucyB0byBjYWxsLgorCisJKiBkbGxzL21zaS9pbnN0YWxsLmMsIGluY2x1ZGUvbXNpcXVlcnkuaDoKKwlKb2hhbiBEYWhsaW4gPGpkYWhsaW5AYXN5bmMuY29tLmJyPgorCUltcGxlbWVudGVkIE1zaVNldENvbXBvbmVudFN0YXRlKi4KKworCSogZGxscy9tc2kvdGVzdHMvZGIuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCVRlc3QgY2FzZSBmb3IgTXNpTW9kaWZ5VmlldyBhbmQgTXNpVmlld0dldEVycm9yLgorCisJKiBkbGxzL21zaS9jcmVhdGUuYywgZGxscy9tc2kvZGVsZXRlLmMsIGRsbHMvbXNpL2luc2VydC5jLAorCSAgZGxscy9tc2kvbXNpcHJpdi5oLCBkbGxzL21zaS9zZWxlY3QuYywgZGxscy9tc2kvdGFibGUuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJSW1wbGVtZW50IE1zaU1vZGlmeVZpZXcgKE1TSU1PRElGWV9JTlNFUlRfVEVNUE9SQVJZKS4KKworCSogcHJvZ3JhbXMvd2luZWNmZy9EZS5yYywgcHJvZ3JhbXMvd2luZWNmZy9Fbi5yYywKKwkgIHByb2dyYW1zL3dpbmVjZmcvTWFrZWZpbGUuaW4sIHByb2dyYW1zL3dpbmVjZmcvbWFpbi5jLAorCSAgcHJvZ3JhbXMvd2luZWNmZy9yZXNvdXJjZS5oLCBwcm9ncmFtcy93aW5lY2ZnL3RoZW1lLmMsCisJICBwcm9ncmFtcy93aW5lY2ZnL3dpbmVjZmcuaDoKKwlGcmFuayBSaWNodGVyIDxmcmFuay5yaWNodGVyQGdtYWlsLmNvbT4KKwlBZGQgYW4gIkFwcGVhcmFuY2UiIHRhYiB0byBjb250cm9sIHRoZSBjdXJyZW50bHkgYWN0aXZlIHRoZW1lLgorCisJKiBkbGxzL21zaS9tc2lxdWVyeS5jLCBpbmNsdWRlL21zaXF1ZXJ5Lmg6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUJldHRlciBzdHViIGZvciBNc2lWaWV3R2V0RXJyb3IuCisKKwkqIGRsbHMvbXNpL2FjdGlvbi5jOiBKb2hhbiBEYWhsaW4gPGpkYWhsaW5AYXN5bmMuY29tLmJyPgorCUFkZGVkIGEgbnVsbCBjaGVjayBmb3IgY29tcG9uZW50LgorCisJKiBkbGxzL21zaS9hY3Rpb24uaDogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUFkZCBpbmNsdWRlIGd1YXJkIHRvIGhlYWRlciBhbmQgbWFrZSBmdW5jdGlvbnMgZXh0ZXJuLgorCisJKiBkbGxzL3gxMWRydi90ZXh0LmM6IEh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJVXNlIHRoZSBjb3JyZWN0IHJlY3RhbmdsZSBmb3IgRVRPX09QQVFVRSAtIHNwb3R0ZWQgYnkgSmFtZXMgSGF3a2lucy4KKworCSogZGxscy9tc2kvaW5zdGFsbC5jLCBkbGxzL21zaS9tc2kuc3BlYzoKKwlKb2hhbiBEYWhsaW4gPGpkYWhsaW5AYXN5bmMuY29tLmJyPgorCUFkZGVkIHN0dWJzIGZvciBNc2lTZXRDb21wb25lbnRTdGF0ZUEgYW5kIE1zaVNldENvbXBvbmVudFN0YXRlVy4KKworCSogZGxscy9tc2kvYWN0aW9uLmgsIGRsbHMvbXNpL2NsYXNzZXMuYywgZGxscy9tc2kvaGVscGVycy5jLAorCSAgZGxscy9tc2kvbXNpcHJpdi5oLCBkbGxzL21zaS9wYWNrYWdlLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCS0gYnVpbGQgYSBzdGFuZGFyZCBXaW5lIGxpc3Qgb2YgYXBwaWRzIGluc3RlYWQgb2YgdXNpbmcgYW4gYXJyYXkKKwktIHVzZSBhcHBpZCBwb2ludGVycyBpbnN0ZWFkIG9mIGFycmF5IGluZGV4ZXMKKworCSogZGxscy93aW5pbmV0L2h0dHAuYzogSmFtZXMgSGF3a2lucyA8dHJ1aWtlbkBnbWFpbC5jb20+CisJQXZvaWQgaGVhcCBjb3JydXB0aW9uIGJ5IG5vdCBhY2Nlc3Npbmcgb2xkIEhlYXBSZUFsbG9jJ2VkIHBvaW50ZXIuCisKKwkqIGRsbHMvb2xlYXV0MzIvdG1hcnNoYWwuYzogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCS0gUmVtb3ZlIHJlZHVuZGFudCBRdWVyeUludGVyZmFjZSBpbiBtYXJzaGFsX2ludGVyZmFjZSAtIHRoZSBvYmplY3QgaXMKKwkgIGFsd2F5cyBxdWVyaWVkIGxhdGVyIG9uIGZvciB0aGUgY29ycmVjdCBpbnRlcmZhY2Ugb2YgdGhlIG9iamVjdC4KKwktIE1ha2Ugc3VyZSB0byBSZWxlYXNlIHRoZSBtYXJzaGFsZWQgcG9pbnRlciBpbiB0aGUgdHlwZWxpYiBtYXJzaGFsZXIKKwkgIG9uY2UgaXQgaXMgbm8gbG9uZ2VyIHJlcXVpcmVkLgorCisJKiBkbGxzL29sZWF1dDMyL29sZXBpY3R1cmUuYzogTWljaGFlbCBTdGVmYW5pdWMgPG1zdGVmYW5pQHJlZGhhdC5kZT4KKwlJbXBsZW1lbnQgSVBpY3R1cmU6OmdldF9oUGFsIGZvciBQSUNUWVBFX0JJVE1BUC4KKworMjAwNS0wOC0yMyAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogdG9vbHMvd2luZWJ1aWxkL3NwZWMzMi5jOgorCVRoZSBleHBvcnRlZCBuYW1lIHN0cmluZ3Mgc2hvdWxkIGJlIGluc2lkZSB0aGUgZXhwb3J0IGRpcmVjdG9yeSAoZm91bmQKKwlieSBWaXRhbGl5IE1hcmdvbGVuKS4KKworCSogZGxscy9kZHJhdy90ZXN0cy9kM2QuYzoKKwlTYXVsaXVzIEtyYXN1Y2thcyA8c2F1bGl1cy5rcmFzdWNrYXNAaWVlZS5vcmc+CisJU2tpcCB0ZXN0aW5nIG9uIElEaXJlY3QzRDc6OkNyZWF0ZURldmljZSgpIGZhaWx1cmUuCisKKwkqIGRsbHMvd2luZWQzZC9zd2FwY2hhaW4uYzogT2xpdmVyIFN0aWViZXIgPG9saXZlcl9zdGllYmVyQHlhaG9vLmNvLnVrPgorCVVwZGF0ZSB0aGUgaW1wbGVtZW50YXRpb24gb2YgR2V0RnJvbnRCdWZmZXJEYXRhIGluIHN0YXRlYmxvY2suCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBkbGxzL01ha2VmaWxlLmluLCBkbGxzL21jaWF2aTMyLy5jdnNpZ25vcmUsCisJICBkbGxzL21jaWF2aTMyL01ha2VmaWxlLmluLCBkbGxzL21jaWF2aTMyL2luZm8uYywKKwkgIGRsbHMvbWNpYXZpMzIvbWNpYXZpLmMsIGRsbHMvbWNpYXZpMzIvbWNpYXZpMzIuc3BlYywKKwkgIGRsbHMvbWNpYXZpMzIvbWNpYXZpX3Jlcy5yYywgZGxscy9tY2lhdmkzMi9tbW91dHB1dC5jLAorCSAgZGxscy9tY2lhdmkzMi9wcml2YXRlX21jaWF2aS5oLCBkbGxzL21jaWF2aTMyL3duZC5jLAorCSAgZGxscy93aW5tbS9tY2lhdmkvLmN2c2lnbm9yZSwgZGxscy93aW5tbS9tY2lhdmkvTWFrZWZpbGUuaW4sCisJICBkbGxzL3dpbm1tL21jaWF2aS9pbmZvLmMsIGRsbHMvd2lubW0vbWNpYXZpL21jaWF2aS5jLAorCSAgZGxscy93aW5tbS9tY2lhdmkvbWNpYXZpLmRydi5zcGVjLCBkbGxzL3dpbm1tL21jaWF2aS9tY2lhdmlfcmVzLnJjLAorCSAgZGxscy93aW5tbS9tY2lhdmkvbW1vdXRwdXQuYywgZGxscy93aW5tbS9tY2lhdmkvcHJpdmF0ZV9tY2lhdmkuaCwKKwkgIGRsbHMvd2lubW0vbWNpYXZpL3duZC5jLCBkbGxzL3dpbm1tL3RpbWUuYywKKwkgIHByb2dyYW1zL3dpbmVjZmcvcHJvcGVydGllcy5jLCB0b29scy93aW5lLmluZjoKKwlS6W1pIEFzc2FpbGx5IDxyZW1pLmFzc2FpbGx5QGZyZWUuZnI+CisJTW92ZWQgbWNpYXZpMzIgdG8gdGhlIHRvcC1sZXZlbCBkbGxzIGRpcmVjdG9yeS4KKworCSogZGxscy9tc3ZjcnQvbWJjcy5jLCBkbGxzL21zdmlkZW8vbXN2aWRlbzE2LmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUZpeCBnY2MgNC4wIHdhcm5pbmdzLgorCisJKiBkbGxzL250ZGxsL29tLmMsIGRsbHMvbnRkbGwvc2VydmVyLmMsIGluY2x1ZGUvd2luZS9zZXJ2ZXJfcHJvdG9jb2wuaCwKKwkgIHNlcnZlci9oYW5kbGUuYywgc2VydmVyL2hhbmRsZS5oLCBzZXJ2ZXIvcHJvdG9jb2wuZGVmLAorCSAgc2VydmVyL3JlcXVlc3QuaCwgc2VydmVyL3RyYWNlLmM6CisJQWRkZWQgYSBzZXBhcmF0ZSBzZXRfaGFuZGxlX2NhY2hlZF9mZCByZXF1ZXN0IGluc3RlYWQgb2YgYWJ1c2luZworCXNldF9oYW5kbGVfaW5mbyBmb3IgdGhhdC4KKworCSogZGxscy9rZXJuZWwvcHJvY2Vzcy5jOgorCVJld3JvdGUgR2V0L1NldEhhbmRsZUluZm9ybWF0aW9uIHRvIGNhbGwgdGhlIGNvcnJlc3BvbmRpbmcgbnRkbGwKKwlmdW5jdGlvbnMuCisKKwkqIGRsbHMvaXRzcy9NYWtlZmlsZS5pbiwgZGxscy9pdHNzL2l0c3MuYywgZGxscy9pdHNzL3JlZ3N2ci5jLAorCSAgdG9vbHMvd2luZS5pbmY6CisJSmFtZXMgSGF3a2lucyA8dHJ1aWtlbkBnbWFpbC5jb20+CisJUmVnaXN0ZXIgdGhlIElUU3RvcmFnZSBjbGFzcy4KKworCSogZGxscy9yaWNoZWQyMC9jYXJldC5jLCBkbGxzL3JpY2hlZDIwL3JlYWRlci5jOgorCVBoaWwgS3J5bG92IDxwaGlsQG5ld3N0YXIucmluZXQucnU+CisJRml4ZWQgYSBSaWNoRWRpdCBSVEYgcmVhZGVyIGJ1ZyB3aGljaCByZXN1bHRlZCBpbiBsb3NzIG9mIHRleHQuCisJRWxpbWluYXRlZCB1bm5lZWRlZCByZWN1cnNpb24gaW4gTUVfSW5zZXJ0VGV4dEZyb21DdXJzb3IoKS4KKworCSogaW5jbHVkZS9tc2h0bWhzdC5pZGw6IEphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJQWRkZWQgbW9yZSBkZWZpbml0aW9ucy4KKworCSogZGxscy9tc2kvYWN0aW9uLmMsIGRsbHMvbXNpL2FjdGlvbi5oLCBkbGxzL21zaS9oZWxwZXJzLmMsCisJICBkbGxzL21zaS9pbnN0YWxsLmMsIGRsbHMvbXNpL21zaXByaXYuaCwgZGxscy9tc2kvcGFja2FnZS5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwktIGJ1aWxkIGEgc3RhbmRhcmQgV2luZSBsaXN0IG9mIGZvbGRlcnMgaW5zdGVhZCBvZiB1c2luZyBhbiBhcnJheQorCS0gdXNlIGZvbGRlciBwb2ludGVycyBpbnN0ZWFkIG9mIGFycmF5IGluZGV4ZXMKKworCSogZG9jdW1lbnRhdGlvbi9QQUNLQUdJTkc6IFRvbSBXaWNrbGluZSA8dHdpY2tsaW5lQGdtYWlsLmNvbT4KKwlSZW1vdmUgcmVmZXJlbmNlIHRvIGNvbmZpZyBmaWxlLgorCUFkZCAuZGViIGZpbGUgd2l0aCAucnBtIGZpbGUgZm9yIHN1Y2Nlc3NmdWwgaW5zdGFsbC4KKworCSogREVWRUxPUEVSUy1ISU5UUzogVG9tIFdpY2tsaW5lIDx0d2lja2xpbmVAZ21haWwuY29tPgorCVJlbW92ZSByZWZlcmVuY2UgdG8gZG9jdW1lbnRhdGlvbi9zYW1wbGVzLy4KKwlBZGQgcmVjZW50bHkgaW1wbGVtZW50ZWQgZGxscy4KKworCSogZGxscy94MTFkcnYveHJlbmRlci5jOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCUF2b2lkIHVzaW5nIFhSZW5kZXJGaW5kU3RhbmRhcmRGb3JtYXQgYXMgb2xkZXIgbGlicmFyaWVzIGRvbid0IGhhdmUKKwlpdC4KKworCSogZGxscy9jb21jdGwzMi90YWIuYywgZGxscy9jb21jdGwzMi90ZXN0cy90YWIuYzoKKwlWaXRhbGl5IE1hcmdvbGVuIDx3aW5lLXBhdGNoQGtpZXZpbmZvLmNvbT4KKwlGaXggaGFuZGxpbmcgb2YgbWluaW11bSB0YWIgd2lkdGguCisJQWRkIG1vcmUgdGVzdHMgdG8gdGVzdCBpdC4KKworCSogZGxscy9tc2kvYWN0aW9uLmMsIGRsbHMvbXNpL2FjdGlvbi5oLCBkbGxzL21zaS9jbGFzc2VzLmMsCisJICBkbGxzL21zaS9jdXN0b20uYywgZGxscy9tc2kvZmlsZXMuYywgZGxscy9tc2kvZm9ybWF0LmMsCisJICBkbGxzL21zaS9oZWxwZXJzLmMsIGRsbHMvbXNpL21zaXByaXYuaCwgZGxscy9tc2kvcGFja2FnZS5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwktIGJ1aWxkIGEgc3RhbmRhcmQgV2luZSBsaXN0IG9mIGZpbGVzIGluc3RlYWQgb2YgdXNpbmcgYW4gYXJyYXkKKwktIHVzZSBmaWxlIHBvaW50ZXJzIGluc3RlYWQgb2YgYXJyYXkgaW5kZXhlcworCisJKiBkbGxzL3JpY2hlZDIwL3Jvdy5jOiBQaGlsIEtyeWxvdiA8cGhpbEBuZXdzdGFyLnJpbmV0LnJ1PgorCUZpeGVkIEVNX0VYTElORUZST01DSEFSIHRvIHdvcmsgZm9yIGxhc3Qgcm93IG9mIGEgcGFyYWdyYXBoLgorCisJKiBkbGxzL2NvbWN0bDMyL3Byb2dyZXNzLmMsIGRsbHMvY29tY3RsMzIvdGVzdHMvLmN2c2lnbm9yZSwKKwkgIGRsbHMvY29tY3RsMzIvdGVzdHMvTWFrZWZpbGUuaW4sIGRsbHMvY29tY3RsMzIvdGVzdHMvcHJvZ3Jlc3MuYzoKKwlNaWNoYWVsIEthdWZtYW5uIDxoYWxsb0BtaWNoYWVsLWthdWZtYW5uLmNoPgorCS0gUmVkcmF3IGltbWVkaWF0ZWx5IHVwb24gUEJNX1NFVFBPUywgUEJNX0RFTFRBUE9TLCBQQk1fU1RFUElULgorCS0gTmV3IHRlc3RzLgorCisJKiBwcm9ncmFtcy93aW5lZGJnL3dpbmVkYmcuYzogR2xlbm4gV3Vyc3RlciA8Z3d1cnN0ZXJAc2NzLmNhcmxldG9uLmNhPgorCURvbid0IHBhc3Mgb24gRUhfU1RBQ0tfSU5WQUxJRCBleGNlcHRpb25zLgorCisJKiBkbGxzL2dkaS9lbmhtZmRydi9lbmhtZXRhZmlsZWRydi5oLCBkbGxzL2dkaS9lbmhtZmRydi9ncmFwaGljcy5jLAorCSAgZGxscy9nZGkvZm9udC5jLCBkbGxzL2dkaS9nZGlfcHJpdmF0ZS5oLAorCSAgZGxscy9nZGkvbWZkcnYvbWV0YWZpbGVkcnYuaCwgZGxscy9nZGkvbWZkcnYvdGV4dC5jLAorCSAgZGxscy90dHlkcnYvZ3JhcGhpY3MuYywgZGxscy90dHlkcnYvdHR5ZHJ2LmgsCisJICBkbGxzL3R0eWRydi93aW5ldHR5LmRydi5zcGVjLCBkbGxzL3dpbmVwcy9wc2Rydi5oLAorCSAgZGxscy93aW5lcHMvdGV4dC5jLCBkbGxzL3dpbmVwcy93aW5lcHMuZHJ2LnNwZWMsIGRsbHMveDExZHJ2L3RleHQuYywKKwkgIGRsbHMveDExZHJ2L3dpbmV4MTEuZHJ2LnNwZWMsIGRsbHMveDExZHJ2L3gxMWRydi5oLAorCSAgZGxscy94MTFkcnYveHJlbmRlci5jOgorCUh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJTW92ZSBhIGJ1bmNoIG9mIGNvbW1vbiBjb2RlIGZyb20gdGhlIGRyaXZlcnMgaW50byBnZGkuCisKKwkqIGRsbHMvc2hlbGwzMi90ZXN0cy9NYWtlZmlsZS5pbiwgZGxscy9zaGVsbDMyL3Rlc3RzL3NobGZvbGRlci5jOgorCU1pY2hhZWwgSnVuZyA8bWp1bmdAaXNzLnR1LWRhcm1zdGFkdC5kZT4KKwlBZGRlZCBzb21lIHRlc3RzIGZvciBDTFNJRF9Gb2xkZXJTaG9ydGN1dCBvYmplY3RzLgorCisJKiBkbGxzL21zeG1sMy90ZXN0cy9kb21kb2MuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUFkZCBzb21lIG5vZGUgdGVzdHMuCisKKwkqIGRsbHMvc2hlbGwzMi90ZXN0cy9zaGxleGVjLmMsIGRsbHMvdHdhaW4vY2FwYWJpbGl0eS5jLAorCSAgZGxscy92ZXJzaW9uL3Jlc291cmNlLmMsIGRsbHMvd2luYXNwaS93aW5hc3BpMTYuYywKKwkgIGRsbHMvd2luYXNwaS93aW5hc3BpMzIuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRml4IGdjYyA0LjAgd2FybmluZ3MuCisKKwkqIGluY2x1ZGUvd2luZGVmLmgsIGluY2x1ZGUvd2luZS9kZWJ1Zy5oOgorCUtldmluIEtvbHR6YXUgPGtldmluQHBsb3Aub3JnPgorCUZpeCBwb2ludGVyIGNhc3Qgd2FybmluZ3MgaW4gNjRiaXQuCisKKwkqIGRsbHMvZDNkOS9jdWJldGV4dHVyZS5jLCBkbGxzL2QzZDkvZDNkOS5zcGVjLCBkbGxzL2QzZDkvZDNkOV9tYWluLmMsCisJICBkbGxzL2QzZDkvZDNkOV9wcml2YXRlLmgsIGRsbHMvZDNkOS9kZXZpY2UuYywgZGxscy9kM2Q5L2RpcmVjdHguYywKKwkgIGRsbHMvZDNkOS9pbmRleGJ1ZmZlci5jLCBkbGxzL2QzZDkvcGl4ZWxzaGFkZXIuYywKKwkgIGRsbHMvZDNkOS9zdGF0ZWJsb2NrLmMsIGRsbHMvZDNkOS9zdXJmYWNlLmMsIGRsbHMvZDNkOS9zd2FwY2hhaW4uYywKKwkgIGRsbHMvZDNkOS90ZXh0dXJlLmMsIGRsbHMvZDNkOS92ZXJ0ZXhidWZmZXIuYywKKwkgIGRsbHMvZDNkOS92ZXJ0ZXhzaGFkZXIuYywgZGxscy9kM2Q5L3ZvbHVtZS5jLAorCSAgZGxscy9kM2Q5L3ZvbHVtZXRleHR1cmUuYywgaW5jbHVkZS93aW5lL3dpbmVkM2RfdHlwZXMuaDoKKwlPbGl2ZXIgU3RpZWJlciA8b2xpdmVyX3N0aWViZXJAeWFob28uY28udWs+CisJVGlkeSB1cCBkM2Q5IGFuZCBmaW5hbGl6ZSBwYXNzaW5nIGQzZDkgY2FsbHMgdG8gd2luZWQzZCBmb3Igbm93LgorCisJKiBkbGxzL29sZWF1dDMyL3Rlc3RzL3ZhcnRlc3QuYywgZGxscy9vbGVhdXQzMi92YXJpYW50LmM6CisJTWljaGFlbCBTdGVmYW5pdWMgPG1zdGVmYW5pQHJlZGhhdC5kZT4KKwktIFZhckFkZCwgVmFyTXVsOiBJNCBvdmVyZmxvd3MgdG8gUjggYW5kIG5vdCBJOCBldmVuIGlmIHRoZSByZXN1bHQKKwkgIHdvdWxkIGZpdCBpbiBJOC4gRml4IHRlc3RzLgorCS0gRG9jdW1lbnQgYSBicm9rZW5lc3MgaW4gdGhlIGhhbmRsaW5nIG9mIEk4IG51bWJlcnMgaW4KKwkgIFZhck51bUZyb21QYXJzZU51bS4gRml4IHRlc3RzLgorCisJKiBkbGxzL3JpY2hlZDIwL2VkaXRvci5jOiBQaGlsIEtyeWxvdiA8cGhpbEBuZXdzdGFyLnJpbmV0LnJ1PgorCUFkZGVkIHN1cHBvcnQgZm9yIGJhY2t3YXJkIHNlYXJjaCB0byBSaWNoRWRpdCBFTV9GSU5EVEVYVFtBV10sCisJRU1fRklORFRFWFRFWFtBV10gbWVzc2FnZSBoYW5kbGVyLgorCisJKiBkbGxzL2FkdmFwaTMyL3NlcnZpY2UuYywgaW5jbHVkZS93aW5zdmMuaDoKKwlLZXZpbiBLb2x0emF1IDxrZXZpbkBwbG9wLm9yZz4KKwlQcm9wZXJseSBkZWNsYXJlIGhhbmRsZXMuCisKKwkqIGluY2x1ZGUvY29tbWN0cmwuaDogTWljaGFlbCBLYXVmbWFubiA8aGFsbG9AbWljaGFlbC1rYXVmbWFubi5jaD4KKwlBZGRlZCBTQl9TSU1QTEVJRC4KKworCSogZGxscy9tc2kvYWN0aW9uLmM6IEFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJTWFrZSBpbmRleCBJTlQgbm90IFVJTlQgYmVjYXVzZSBpdCBjYW4gYmUgLTEuCisKKzIwMDUtMDgtMjIgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvZGRyYXcvZGV2aWNlX29wZW5nbC5jOgorCVNhdWxpdXMgS3Jhc3Vja2FzIDxzYXVsaXVzLmtyYXN1Y2thc0BpZWVlLm9yZz4KKwlEb24ndCBsZWFrIGEgbGlzdCBvZiB2aXN1YWxzICh3aXRoIGFkdmljZSBvZiBKYWNlayBDYWJhbikuCisKKwkqIGRsbHMvdmVyc2lvbi90ZXN0cy9pbmZvLmM6CisJQWRkIGFuIGV4dHJhIHRlc3QgdG8gc2hvdyBmYWlsaW5nIGJlaGF2aW9yLgorCisJKiBkbGxzL3dsZGFwMzIvZXJyb3IuYywgZGxscy93bGRhcDMyL2luaXQuYywgZGxscy93bGRhcDMyL21pc2MuYywKKwkgIGRsbHMvd2xkYXAzMi93aW5sZGFwX3ByaXZhdGUuaCwgZGxscy93bGRhcDMyL3dsZGFwMzIuc3BlYzoKKwlIYW5zIExlaWRla2tlciA8aGFuc0BpdC52dS5ubD4KKwlJbXBsZW1lbnQgTGRhcEdldExhc3RFcnJvciwgY2xkYXBfb3BlbiosIGxkYXBfYWJhbmRvbiwKKwlsZGFwX2NoZWNrX2ZpbHRlciosIGxkYXBfY2xlYW51cCwgbGRhcF9jb25uX2Zyb21fbXNnIGFuZAorCWxkYXBfY29ubmVjdC4KKworCSogZGxscy9zaGVsbDMyL3NoZmxkcl91bml4ZnMuYzoKKwlNaWNoYWVsIEp1bmcgPG1qdW5nQGlzcy50dS1kYXJtc3RhZHQuZGU+CisJSW5pdGlhbGl6ZSBhbGwgbWVtYmVycyBpbiBVbml4Rm9sZGVyIGNvbnN0cnVjdG9yLgorCVN1cHBvcnQgTlVMTCB2YWx1ZSBwaWRscyBpbiBHZXREaXNwbGF5TmFtZU9mIG1ldGhvZC4KKworCSogZGxscy9yaWNoZWQyMC9lZGl0b3IuYzogUGhpbCBLcnlsb3YgPHBoaWxAbmV3c3Rhci5yaW5ldC5ydT4KKwlGaXhlZCBFTV9TRVRFVkVOVE1BU0sgUmljaEVkaXQgbWVzc2FnZSBoYW5kbGVyIHRvIHJldHVybiBvbGQgZXZlbnQKKwltYXNrLgorCisJKiBkbGxzL3VzZXIvbWVudS5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRml4IG1hZ2ljIGl0ZW0gaGFuZGxpbmcgYW5kIHdhcm5pbmdzLgorCisJKiBkbGxzL21zaS9hY3Rpb24uYywgZGxscy9tc2kvYWN0aW9uLmgsIGRsbHMvbXNpL2NsYXNzZXMuYywKKwkgIGRsbHMvbXNpL2V2ZW50cy5jLCBkbGxzL21zaS9oZWxwZXJzLmMsIGRsbHMvbXNpL2luc3RhbGwuYywKKwkgIGRsbHMvbXNpL21zaXByaXYuaCwgZGxscy9tc2kvcGFja2FnZS5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwktIGJ1aWxkIGEgc3RhbmRhcmQgV2luZSBsaXN0IG9mIGZlYXR1cmVzIGluc3RlYWQgb2YgdXNpbmcgYW4gYXJyYXkKKwktIHVzZSBmZWF0dXJlIHBvaW50ZXJzIGluc3RlYWQgb2YgYXJyYXkgaW5kZXhlcworCisJKiBkbGxzL2tlcm5lbC92eGQuYzogSXZhbiBMZW8gUHVvdGkgPGl2YW5sZW9AZ21haWwuY29tPgorCUxldCBEZXZpY2VJb0NvbnRyb2wgY2FsbCB0aGUgYXBwcm9wcmlhdGUgbmF0aXZlIGludGVyZmFjZS4KKworCSogZGxscy9yaWNoZWQyMC9yZWFkZXIuYzogUGhpbCBLcnlsb3YgPHBoaWxAbmV3c3Rhci5yaW5ldC5ydT4KKwlBdXRvbWF0aWNhbGx5IHNldCBkZWZhdWx0IGZvbnQgYWZ0ZXIgcGFyc2luZyBhIGZvbnQgdGFibGUgaW4gUmljaEVkaXQKKwlSVEYgcmVhZGVyLgorCisJKiBkbGxzL21zaHRtbC9tc2h0bWxfcHJpdmF0ZS5oLCBkbGxzL21zaHRtbC9vbGVvYmouYzoKKwlKYWNlayBDYWJhbiA8amFja0BpdG1hLnB3ci53cm9jLnBsPgorCS0gQ2FsbCBMb2NrQ29udGFpbmVyIG9ubHkgaWYgaXQncyBub3QgYWxyZWFkeSBsb2NrZWQvdW5sb2NrZWQuCisJLSBPbmx5IHJldHVybiBTX09LIGluIFNldENsaWVudFNpdGUgaWYgSU9sZUNsaWVudFNpdGUgaXMgbm90IGNoYW5nZWQuCisKKwkqIGRsbHMvd2xkYXAzMi9NYWtlZmlsZS5pbiwgZGxscy93bGRhcDMyL3JlbmFtZS5jLAorCSAgZGxscy93bGRhcDMyL3dpbmxkYXBfcHJpdmF0ZS5oLCBkbGxzL3dsZGFwMzIvd2xkYXAzMi5zcGVjOgorCUhhbnMgTGVpZGVra2VyIDxoYW5zQGl0LnZ1Lm5sPgorCUltcGxlbWVudCBsZGFwX3JlbmFtZSogZnVuY3Rpb25zLgorCisJKiBkbGxzL2NvbWN0bDMyL3RhYi5jOiBBcmljIFN0ZXdhcnQgPGFyaWNAY29kZXdlYXZlcnMuY29tPgorCUZpeCBmb3IgZHJlYW13ZWF2ZXIgc2l0ZSBkZWZpbml0aW9uIGRpYWxvZy4gTmVlZCB0byBpbml0aWFsaXplIHRoZQorCXJlY3QgZm9yIGEgdGFiIGNvbnRyb2wgdG8gYW4gZW1wdHkgcmVjdCBpZiBpdCBpcyBub3QgdmlzaWJsZS4KKworCSogZGxscy9hdGwvcmVnaXN0cmFyLmM6IEtldmluIEtvbHR6YXUgPGtldmluQHBsb3Aub3JnPgorCUZpeCAnY2FzdCB0byBwb2ludGVyIGZyb20gaW50ZWdlciBvZiBkaWZmZXJlbnQgc2l6ZScgd2FybmluZ3MgaW4KKwk2NGJpdC4KKworCSogZGxscy9nZGkvcGF0aC5jLCBkbGxzL3VzZXIvc3lzcGFyYW1zLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUZpeCBnY2MgNC4wIHdhcm5pbmdzLgorCisJKiBkbGxzL3V4dGhlbWUvbXNzdHlsZXMuYzogS2V2aW4gS29sdHphdSA8a2V2aW5AcGxvcC5vcmc+CisJRml4ICdjYXN0IHRvIHBvaW50ZXIgZnJvbSBpbnRlZ2VyIG9mIGRpZmZlcmVudCBzaXplJyB3YXJuaW5ncyBpbgorCTY0Yml0LgorCisJKiBzZXJ2ZXIvcHRyYWNlLmMsIHNlcnZlci90aHJlYWQuYywgc2VydmVyL3RocmVhZC5oOgorCURvbid0IHRyeSB0byBkZXRhY2ggZnJvbSBhIHRocmVhZCB0aGF0IGlzIGV4aXRpbmcsIHRvIGF2b2lkIHRyaWdnZXJpbmcKKwlhIGtlcm5lbCByYWNlIGNvbmRpdGlvbi4KKworCSogZGxscy93aW5lZDNkL2Jhc2V0ZXh0dXJlLmMsIGRsbHMvd2luZWQzZC9kZXZpY2UuYywKKwkgIGRsbHMvd2luZWQzZC9zdGF0ZWJsb2NrLmMsIGRsbHMvd2luZWQzZC93aW5lZDNkX3ByaXZhdGUuaDoKKwlPbGl2ZXIgU3RpZWJlciA8b2xpdmVyX3N0aWViZXJAeWFob28uY28udWs+CisJRml4IHF1aXRlIGEgZmV3IHRleHR1cmluZyBwcm9ibGVtcyBhbmQgY2FzZXMgd2hlcmUgdGV4dCBpc24ndCBiZWluZworCWNvcnJlY3RseSBkaXNwbGF0ZWQuCisKKwkqIGRsbHMvcmljaGVkMjAvZWRpdG9yLmMsIGRsbHMvcmljaGVkMjAvcmVhZGVyLmMsIGRsbHMvcmljaGVkMjAvcnRmLmg6CisJUGhpbCBLcnlsb3YgPHBoaWxAbmV3c3Rhci5yaW5ldC5ydT4KKwlBZGRlZCBoYW5kbGluZyBvZiBkZWZmIFJURiBjb250cm9sIHdvcmQuCisKKwkqIGRsbHMvc2VjdXIzMi93cmFwcGVyLmM6IEthaSBCbGluIDxibGluQGdteC5uZXQ+CisJRml4ZWQgYSBjb3VwbGUgb2YgYnVncyBpbiBJbml0aWFsaXplU2VjdXJpdHlDb250ZXh0KEEvVykgYW5kCisJQWNjZXB0U2VjdXJpdHlDb250ZXh0LgorCisJKiBkbGxzL21zaHRtbC9uc2VtYmVkLmM6IEphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJRGlzYWJsZSB1c2luZyBuc1dlYkJyb3dzZXJTdHJlYW0uCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBkbGxzL2tlcm5lbC90aW1lLmMsIGluY2x1ZGUvY29uZmlnLmguaW46CisJR2VyYWxkIFBmZWlmZXIgPGdlcmFsZEBwZmVpZmVyLmNvbT4KKwlQcmVmZXIgc3lzL2xpbWl0cy5oIG92ZXIgbWFjaGluZS9saW1pdHMuaC4KKworCSogZGxscy9xdWFydHovbWVtYWxsb2NhdG9yLmMsIGRsbHMvcXVhcnR6L3Rlc3RzLy5jdnNpZ25vcmUsCisJICBkbGxzL3F1YXJ0ei90ZXN0cy9NYWtlZmlsZS5pbiwgZGxscy9xdWFydHovdGVzdHMvbWVtYWxsb2NhdG9yLmM6CisJQ2hyaXN0aWFuIENvc3RhIDx0aXRhbi5jb3N0YUB3YW5hZG9vLmZyPgorCVJldHVybiBTX09LIHdoZW4gY29tbWl0dGluZy9kZWNvbWl0dGluZyBhbiBhbHJlYWR5CisJY29tbWl0dGVkL2RlY29tbWl0dGVkIGFsbG9jYXRvci4KKwlBZGQgY29ycmVzcG9uZGluZyB0ZXN0IGNhc2UuCisJSW1wcm92ZSB0cmFjZXMuCisKKwkqIGRsbHMvb2xlMzIvc3RnX3Byb3AuYywgZGxscy9zaGVsbDMyL3JlZ3N2ci5jLAorCSAgZGxscy9zaGVsbDMyL3NoZWxsb2xlLmMsIGRsbHMvc2hlbGwzMi9zaGVsbHJlZy5jLAorCSAgZGxscy91c2VyL3N5c3BhcmFtcy5jLCBkbGxzL3dpbm1tL21tc3lzdGVtLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUZpeCBzb21lIGdjYyA0LjAgd2FybmluZ3MuCisKKwkqIGRsbHMvbXNodG1sL01ha2VmaWxlLmluLCBkbGxzL21zaHRtbC9vbGVvYmouYywKKwkgIGRsbHMvbXNodG1sL3Rlc3RzL2h0bWxkb2MuYzoKKwlKYWNlayBDYWJhbiA8amFja0BpdG1hLnB3ci53cm9jLnBsPgorCS0gQWRkZWQgT25BbWJpZW50UHJvcGVydHlDaGFuZ2UgaW1wbGVtZW50YXRpb24uCisJLSBDYWxsIElEaXNwYXRjaDo6SW52b2tlIHdoZW4gbmF0aXZlIGRvZXMgKHdpdGggdGVzdCkuCisKKwkqIGRsbHMvbXN4bWwzL25vZGUuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUltcGxlbWVudCBJWE1MRE9NTm9kZTo6aGFzQ2hpbGROb2RlKCkuCisKKwkqIGRsbHMvbXN4bWwzL2RvbWRvYy5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRm9yd2FyZCBJWE1MRE9NRG9jdW1lbnQgbWV0aG9kcyB0byBjb250YWluZWQgbm9kZS4KKworCSogcHJvZ3JhbXMvd2luZWZpbGUvQ3MucmMsIHByb2dyYW1zL3dpbmVmaWxlL0RlLnJjLAorCSAgcHJvZ3JhbXMvd2luZWZpbGUvRW4ucmMsIHByb2dyYW1zL3dpbmVmaWxlL1N2LnJjOgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJUmVtb3ZlIHVubmVjZXNzYXJ5ICNwcmFnbWEgY29kZV9wYWdlKHh4eHgpIHN0YXRlbWVudHMgZnJvbSB3aW5lZmlsZQorCS5yYyBmaWxlcy4KKworCSogZGxscy9tc3htbDMvZWxlbWVudC5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRm9yd2FyZCBJWE1MRE9NRWxlbWVudCBtZXRob2RzIGRlcml2ZWQgZnJvbSBJWE1MRE9NTm9kZSB0byB0aGUKKwllbGVtZW50J3MgY29udGFpbmVkIG5vZGUuCisKKwkqIGRsbHMva2VybmVsL3N5bmMuYzogUGhpbCBLcnlsb3YgPHBoaWxAbmV3c3Rhci5yaW5ldC5ydT4KKwlGaXhlZCBJbnRlckxvY2tlZCogZnVuY3Rpb24gZGVmaW5pdGlvbnMgZm9yIG5vbi14ODYgcGxhdGZvcm1zIGluCisJYWNjb3JkYW5jZSB3aXRoIHRoZSByZWNlbnQgY29ycmVzcG9uZGluZyBjaGFuZ2Ugb2YgdGhlaXIgZGVjbGFyYXRpb25zCisJaW4gd2luYmFzZS5oLgorCisJKiBkbGxzL21zaHRtbC9wZXJzaXN0LmM6IEphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJVXNlIHBpYmMgYXJndW1lbnQgb2YgSVBlcnNpc3RNb25pa2VyOjpMb2FkLgorCisJKiBkbGxzL29sZWF1dDMyL3Rlc3RzL29sZWZvbnQuYzogV2FsdCBPZ2J1cm4gPHJldWJlbkB1Z2NzLmNhbHRlY2guZWR1PgorCUFkZCB0ZXN0cyBmb3Igb2xlZm9udCBzaXplIGZ1bmN0aW9ucyAmIGNvbnZlcnNpb25zLgorCisJKiBkbGxzL29sZWF1dDMyL29sZWZvbnQuYzogV2FsdCBPZ2J1cm4gPHJldWJlbkB1Z2NzLmNhbHRlY2guZWR1PgorCVdoZW4gYXBwbHlpbmcgbG9naWNhbCAvIGhpbWV0cmljIHJhdGlvIHRvIG9sZWZvbnQgc2l6ZXMsIG11c3QgZGl2aWRlCisJYnkgdGhlIHN0YW5kYXJkIHJhdGlvIDcyIC8gMjU0MC4KKworCSogZGxscy94MTFkcnYvb3BlbmdsLmM6IFNhdWxpdXMgS3Jhc3Vja2FzIDxzYXVsaXVzLmtyYXN1Y2thc0BpZWVlLm9yZz4KKwlEb24ndCBkZXJlZmVyZW5jZSBhIE5VTEwgdmlzdWFsIHBvaW50ZXIuCisKKwkqIGRsbHMvbXNodG1sL25zZW1iZWQuYzogSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwlBbHdheXMgYWRkIGdlY2tvIGRpcmVjdG9yeSB0byB0aGUgcGF0aCBiZWZvcmUgbG9hZGluZyB4cGNvbS4KKworCSogZGxscy9hdGwvcmVnaXN0cmFyLmM6IFN0ZWZhbiBMZWljaHRlciA8U3RlZmFuLkxlaWNodGVyQGNhbUxpbmUuY29tPgorCVByaW50IHNvbWV0aGluZyB1c2VmdWwgaW4gdHJhY2UgYW5kIGZpeG1lLgorCisJKiBkbGxzL3F1YXJ0ei9maWx0ZXJncmFwaC5jLCBkbGxzL3F1YXJ0ei90cmFuc2Zvcm0uYzoKKwlDaHJpc3RpYW4gQ29zdGEgPHRpdGFuLmNvc3RhQHdhbmFkb28uZnI+CisJUHJvcGVybHkgYWxsb2NhdGUvcmVsZWFzZSBtZW1vcnkgd2hlbiBhZGRpbmcgZmlsdGVycyB0byB0aGUgZmlsdGVyZ3JhcGguCisJV2hlbiBjb25uZWN0aW5nIHBpbiwgZGlzY2FyZCBmaWx0ZXIgd2hpY2ggaXMgdGhlIHNhbWUgYXMgdGhlIHVwc3RyZWFtCisJb25lLgorCVJlbW92ZSB3cm9uZyBleHRyYSBJQmFzZUZpbHRlcl9SZWxlYXNlLgorCUltcHJvdmUgdHJhY2VzIGJ5IHNob3dpbmcgZmlsdGVycyBvd2luZyBwaW5zIHdlIHdhbnQgdG8gY29ubmVjdCBvcgorCXJlbmRlci4KKwlQcm9wZXJseSBpbml0aWFsaXplIG91dHB1dCBwaW4gb2YgdHJhbnNmb3JtIGZpbHRlci4KKworCSogZGxscy9kZHJhdy9zdXJmYWNlX2RpYi5jOgorCU1heGltZSBCZWxsZW5n6SA8bWF4aW1lLmJlbGxlbmdlQGxhcG9zdGUubmV0PgorCUZpeCByZWdyZXNzaW9uIGluIGNvbG9yIGtleWluZyB3aXRoIFJHQiBtYXNrLgorCisJKiBkbGxzL2NvbWN0bDMyL2RhdGV0aW1lLmM6CisJTWljaGFlbCBLYXVmbWFubiA8aGFsbG9AbWljaGFlbC1rYXVmbWFubi5jaD4KKwlIYW5kbGUgV01fR0VURk9OVCBhbmQgV01fU0VURk9OVC4KKworCSogZGxscy93aW5tbS93aW5lb3NzL21peGVyLmM6IFJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJRml4IG1peGVyIGRldGVjdGlvbiBmb3IgbXVsdGlwbGUgc291bmQgY2FyZHMuCisKKwkqIGRsbHMvcmljaGVkMjAvZWRpdG9yLmM6IFBoaWwgS3J5bG92IDxwaGlsQG5ld3N0YXIucmluZXQucnU+CisJQWRkZWQgY29tbW9uIGtleWJvYXJkIHNob3J0Y3V0cyBmb3IgU2VsZWN0IEFsbCwgVW5kbywgUmVkbywgQ3V0LCBDb3B5CisJYW5kIFBhc3RlIHRvIFJpY2hFZGl0LgorCisJKiBkbGxzL29sZTMyL2NvbXBvYmouYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCS0gcmV0dXJuIGEgcHJlY29tcHV0ZWQgcmVzdWx0IGZvciBhIE5VTEwgc3RyaW5nCisJLSBwYXNzIHN0cmxlbiBhbiBMUFNUUiB0byBlbGltaW5hdGUgYSBzaWduIHdhcm5pbmcKKworCSogZGxscy9tc3ZpZGVvL21zdmZ3MzIuc3BlYywgZGxscy9tc3ZpZGVvL21zdmlkZW9fbWFpbi5jLAorCSAgZGxscy9tc3ZpZGVvL21zdmlkZW9fcHJpdmF0ZS5oLCBpbmNsdWRlL3Zmdy5oOgorCUtldmluIEtvbHR6YXUgPGtldmluQHBsb3Aub3JnPgorCUZpeCAnY2FzdCBmcm9tIHBvaW50ZXIgdG8gaW50ZWdlciBvZiBkaWZmZXJlbnQgc2l6ZScgd2FybmluZ3MgaW4KKwk2NGJpdC4KKworCSogZGxscy9hZHZhcGkzMi9zZWN1cml0eS5jOiBLZXZpbiBLb2x0emF1IDxrZXZpbkBwbG9wLm9yZz4KKwlSZW1vdmUgJ2Nhc3QgZnJvbSBwb2ludGVyIHRvIGludGVnZXIgb2YgZGlmZmVyZW50IHNpemUnIHdhcm5pbmdzIGluCisJNjRiaXQsCisKKwkqIGRsbHMvZ2RpL3Rlc3RzLy5jdnNpZ25vcmUsIGRsbHMvZ2RpL3Rlc3RzL01ha2VmaWxlLmluLAorCSAgZGxscy9nZGkvdGVzdHMvcGFsZXR0ZS5jOgorCUdsZW5uIFd1cnN0ZXIgPGd3dXJzdGVyQHNjcy5jYXJsZXRvbi5jYT4KKwlTdGFydCB0byBhZGQgc29tZSB0ZXN0cyBmb3IgYmFzaWMgcGFsZXR0ZSBvcGVyYXRpb25zLgorCisJKiBwcm9ncmFtcy9yZWdlZGl0L2Fib3V0LmM6CisJRmVsaXggTmF3b3RobmlnIDxmZWxpeC5uYXdvdGhuaWdAdC1vbmxpbmUuZGU+CisJUmVwbGFjZSAiUmVnaXN0cnkgRXhwbG9yZXIiIGJ5ICJSZWdpc3RyeSBFZGl0b3IiIGluIGFib3V0IGRpYWxvZy4KKworCSogcHJvZ3JhbXMvd2luZW1lbnVidWlsZGVyL3dpbmVtZW51YnVpbGRlci5jOgorCU1heGltZSBCZWxsZW5n6SA8bWF4aW1lLmJlbGxlbmdlQGxhcG9zdGUubmV0PgorCU1ha2UgdGhlIGljb24gY2hvaWNlIGFsZ29yaXRobSByZWFsbHkgY2hvb3NlIHRoZSBiZXN0IGljb24uCisKKwkqIGRsbHMvd2xkYXAzMi9NYWtlZmlsZS5pbiwgZGxscy93bGRhcDMyL21vZHJkbi5jLAorCSAgZGxscy93bGRhcDMyL3dpbmxkYXBfcHJpdmF0ZS5oLCBkbGxzL3dsZGFwMzIvd2xkYXAzMi5zcGVjOgorCUhhbnMgTGVpZGVra2VyIDxoYW5zQGl0LnZ1Lm5sPgorCUltcGxlbWVudCBsZGFwX21vZHJkbiogZnVuY3Rpb25zLgorCisJKiBpbmNsdWRlL3JwY2RjZS5oOiBLYWkgQmxpbiA8YmxpbkBnbXgubmV0PgorCUFkZGVkIFNFQ19XSU5OVF9BVVRIX0lERU5USVRZIHN0cnVjdC4KKworCSogZGxscy91c2VyL21lc3NhZ2UuYywgaW5jbHVkZS93aW51c2VyLmg6CisJSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwlGaXggUmVnaXN0ZXJXaW5kb3dNZXNzYWdlIGRlY2xhcmF0aW9uIGFuZCBpbXByb3ZlIGRlYnVnIG1lc3NhZ2UuCisKKwkqIGRsbHMvbXNpL2FjdGlvbi5jLCBkbGxzL21zaS9hY3Rpb24uaCwgZGxscy9tc2kvY2xhc3Nlcy5jLAorCSAgZGxscy9tc2kvZmlsZXMuYywgZGxscy9tc2kvZm9ybWF0LmMsIGRsbHMvbXNpL2hlbHBlcnMuYywKKwkgIGRsbHMvbXNpL2luc3RhbGwuYywgZGxscy9tc2kvbXNpcHJpdi5oLCBkbGxzL21zaS9wYWNrYWdlLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCS0gYnVpbGQgYSBzdGFuZGFyZCBXaW5lIGxpc3Qgb2YgY29tcG9uZW50cyBpbnN0ZWFkIG9mIHVzaW5nIGFuIGFycmF5CisJLSB1c2UgY29tcG9uZW50IHBvaW50ZXJzIGluc3RlYWQgb2YgYXJyYXkgaW5kZXhlcworCisJKiBkbGxzL3NoZWxsMzIvdGVzdHMvc2hsZm9sZGVyLmM6CisJU2F1bGl1cyBLcmFzdWNrYXMgPHNhdWxpdXMua3Jhc3Vja2FzQGllZWUub3JnPgorCU1ha2UgZmlsZSBvcGVyYXRpb25zIHN1Y2NlZWQgb24gV2luOXggdG9vLgorCisJKiBkbGxzL3gxMWRydi93aW5kb3cuYzogVG9kZCBNb2tyb3MgPHRtb2tyb3NAdG1va3Jvcy5uZXQ+CisJRml4IGEgZm9jdXMgc3RlYWxpbmcgYnVnIGludHJvZHVjZWQgYnkgdGhlIG1hbmFnZWQgZmxhZyBjaGFuZ2VzLgorCisJKiBkbGxzL3dpbmVkM2QvZGV2aWNlLmM6IE9saXZlciBTdGllYmVyIDxvbGl2ZXJfc3RpZWJlckB5YWhvby5jby51az4KKwlUaWR5IHVwIHNvbWUgZm9ybWF0dGluZywgaW1wcm92ZSBlcnJvciBoYW5kbGluZyBhbmQgZXJyb3IgbG9nZ2luZyBhbmQKKwlmaXggYSBjb3VwbGUgb2Ygc3BlbGxpbmcgbWlzdGFrZXMuCisKKzIwMDUtMDgtMTkgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMva2VybmVsL2F0b20uYzogTWFyY3VzIE1laXNzbmVyIDxtZWlzc25lckBzdXNlLmRlPgorCVByb3RlY3QgR2xvYmFsQWRkQXRvbUEgc3RyaW5nIGhhbmRsaW5nIGJ5IGV4Y2VwdGlvbiBoYW5kbGVyIChmb3IKKwlicm9rZW4gcHJvZ3JhbXMpLgorCisJKiBwcm9ncmFtcy93aW5lY2ZnL2RyaXZlLmMsIHByb2dyYW1zL3dpbmVjZmcvd2luZWNmZy5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggZ2NjIDQuMCB3YXJuaW5ncy4KKworCSogZGxscy9tc3htbDMvTWFrZWZpbGUuaW4sIGRsbHMvbXN4bWwzL25vZGUuYywgZGxscy9tc3htbDMvbm9kZWxpc3QuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJSW1wbGVtZW50IHRoZSBJWE1MRE9NTm9kZUxpc3QgaW50ZXJmYWNlIGZvcgorCUlYTUxET01Ob2RlOjpnZXRfY2hpbGROb2Rlcy4KKworCSogc2VydmVyL29iamVjdC5oLCBzZXJ2ZXIvcHRyYWNlLmMsIHNlcnZlci9zaWduYWwuYzoKKwlBZGRlZCBhIHdhdGNoZG9nIG1lY2hhbmlzbSB0byBicmVhayBvdXQgb2YgdGhlIHdhaXQ0IGNhbGwgaW4gY2FzZSBpdAorCWRpZG4ndCByZXR1cm4gcHJvcGVybHkgKGNhbiBoYXBwZW4gYXQgdGhyZWFkIGV4aXQpLgorCisJKiBkbGxzL3NoZWxsMzIvcmVnc3ZyLmMsIGRsbHMvc2hlbGwzMi9zaGVsbDMyX21haW4uaCwKKwkgIGRsbHMvc2hlbGwzMi9zaGVsbG9sZS5jLCBkbGxzL3NoZWxsMzIvc2hmbGRyX3VuaXhmcy5jOgorCU1pY2hhZWwgSnVuZyA8bWp1bmdAaXNzLnR1LWRhcm1zdGFkdC5kZT4KKwlBZGRlZCBzdHViYmVkIGltcGxlbWVudGF0aW9uIG9mIElQZXJzaXN0UHJvcGVydHlCYWcgaW50ZXJmYWNlLgorCVJlZ2lzdGVyIHVuaXhmcyBhcyBDTFNJRF9Gb2xkZXJTaG9ydGN1dC4KKworCSogZGxscy9nZGkvZGliLmM6IEZlbGl4IE5hd290aG5pZyA8ZmVsaXgubmF3b3RobmlnQHQtb25saW5lLmRlPgorCUZpeCBHZXRESUJpdHMgdG8gcmV0cmlldmUgUkdCIDU1NSBhcyAxNmJpdCBCSV9SR0IgYW5kIFJHQiA1NjUgYXMgMTZiaXQKKwlCSV9CSVRGSUVMRFMuCisKKwkqIGRsbHMvdXNlci9zY3JvbGwuYzogRnJhbmsgUmljaHRlciA8ZnJhbmsucmljaHRlckBnbWFpbC5jb20+CisJRml4IHdyb25nIHN0cnVjdHVyZSBzaXplIGNoZWNrIGluIEdldFNjcm9sbEJhckluZm8oKS4KKwlHZXRTY3JvbGxCYXJJbmZvKCkgZmFpbGVkIHdoZW4gU0NST0xMX0dldFNjcm9sbEJhclJlY3QoKSByZXR1cm5lZAorCUZBTFNFIC0gaG93ZXZlciwgdGhpcyBpcyB0aGUgY2FzZSBpZiB0aGUgc2Nyb2xsYmFyIGlzIGhvcml6b250YWwsIGFuZAorCW5vdCBhbiBlcnJvciBpbmRpY2F0b3IuCisKKwkqIGRsbHMvY29tY3RsMzIvdGhlbWVfY29tYm8uYywgZGxscy9jb21jdGwzMi90aGVtZV9lZGl0LmM6CisJRnJhbmsgUmljaHRlciA8ZnJhbmsucmljaHRlckBnbWFpbC5jb20+CisJRm9yd2FyZCBXTV9ERVNUUk9ZIHRvIHN1cGVyY2xhc3MgaW4gZWRpdCAmIGxpc3Rib3ggdGhlbWluZy4KKworCSogZGxscy9jb21jdGwzMi90aGVtaW5nLmM6IEZyYW5rIFJpY2h0ZXIgPGZyYW5rLnJpY2h0ZXJAZ21haWwuY29tPgorCU1lcmdlIHN1YmNsYXNzIHN0dWJzIGFuZCBzdWJjbGFzcyBwcm9jLiBIYXZpbmcgdGhlIHN0dWIgc2V0IHRoZSB3aW5kb3cKKwlwcm9jIHRvIHRoZSBzdWJjbGFzcyBwcm9jIHdhcyBub3QgYSBnb29kIGlkZWEgc2luY2UgdGhhdCBicmVha3MKKwlzdWJjbGFzc2VzIG9mIHRoZW1lZCBzdGFuZGFyZCBjb250cm9scyAoZS5nLiB3aGF0IERlbHBoaSBkb2VzIGEgbG90KS4KKworCSogdG9vbHMvd2luZWJ1aWxkL2J1aWxkLmgsIHRvb2xzL3dpbmVidWlsZC9pbXBvcnQuYywKKwkgIHRvb2xzL3dpbmVidWlsZC9tYWluLmMsIHRvb2xzL3dpbmVidWlsZC93aW5lYnVpbGQubWFuLmluOgorCUFkZGVkIGEgLS11bmRlZmluZWQgb3B0aW9uIHRvIGFsbG93IGZvcmNpbmcgc29tZSBzeW1ib2xzIHRvIGJlCisJcmVzb2x2ZWQgYnkgdGhlIGxpbmtlci4KKworCSogZGxscy9tc3htbDMvZG9tZG9jLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGb3J3YXJkIHNvbWUgSVhNTERPTURvY3VtZW50IG1ldGhvZHMgdG8gdGhlIGltcGxlbWVuYXRpb24ncyBjb250YWluZWQKKwlub2RlLgorCisJKiBkbGxzL21zeG1sMy9ub2RlLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbXBsZW1lbnQgcGFyZW50Tm9kZSwgZmlyc3RDaGlsZCwgbGFzdENoaWxkLCBwcmV2aW91c1NpYmxpbmcgYW5kCisJbmV4dFNpYmxpbmcgbWV0aG9kcy4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGRsbHMvTWFrZWZpbGUuaW4sCisJICBwcm9ncmFtcy93aW5lY2ZnL3Byb3BlcnRpZXMuYywgdG9vbHMvd2luYXBpL3dpbjMyLmFwaToKKwlS6W1pIEFzc2FpbGx5IDxyZW1pLmFzc2FpbGx5QGZyZWUuZnI+CisJUmVtb3ZlZCBtY2lhbmltLgorCisJKiBwcm9ncmFtcy93aW5lZGJnL21lbW9yeS5jOgorCU1ha2Ugc3VyZSB0aGUgc3RyaW5nIGlzIG51bGwtdGVybWluYXRlZCBpbiBtZW1vcnlfZ2V0X3N0cmluZy4KKworCSogdG9vbHMvd2luZWJ1aWxkL2ltcG9ydC5jOgorCUFkZGVkIHNvbWUgZ2VuZXJhbCBwdXJwb3NlIHJvdXRpbmVzIGZvciBtYW5hZ2luZyBsaXN0IG9mIHN5bWJvbAorCW5hbWVzLgorCisJKiBkbGxzL250ZGxsL250ZGxsLnNwZWM6CisJUmVtb3ZlZCBhIGZldyBpbnRlcm5hbCBmdW5jdGlvbnMgdGhhdCBhcmUgbm8gbG9uZ2VyIGV4cG9ydGVkIG9uCisJV2luZG93cy4KKworCSogcHJvZ3JhbXMvcmVnZWRpdC9yZWdwcm9jLmMsIHByb2dyYW1zL3Rhc2ttZ3IvZGJnY2hubC5jLAorCSAgcHJvZ3JhbXMvd2NtZC9idWlsdGlucy5jLCBwcm9ncmFtcy93Y21kL3djbWRtYWluLmMsCisJICBwcm9ncmFtcy93aW5lZGJnL2RlYnVnZ2VyLmgsIHByb2dyYW1zL3dpbmVkYmcvZGlzcGxheS5jLAorCSAgcHJvZ3JhbXMvd2luZWRiZy9leHByLmMsIHByb2dyYW1zL3dpbmVkYmcvZ2RicHJveHkuYywKKwkgIHByb2dyYW1zL3dpbmVkYmcvaW5mby5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggZ2NjIDQuMCB3YXJuaW5ncy4KKworCSogZGxscy9jb21jdGwzMi9NYWtlZmlsZS5pbiwgZGxscy9jb21jdGwzMi90aGVtZV9kaWFsb2cuYywKKwkgIGRsbHMvY29tY3RsMzIvdGhlbWluZy5jOgorCUZyYW5rIFJpY2h0ZXIgPGZyYW5rLnJpY2h0ZXJAZ21haWwuY29tPgorCUFkZCB0aGVtaW5nIHN1cHBvcnQgZm9yIGRpYWxvZ3MgKHRvIHN1cHBvcnQgdGFiIHBhZ2UgYmFja2dyb3VuZCkuCisKKwkqIGRsbHMvd2luZWQzZC9kZXZpY2UuYywgZGxscy93aW5lZDNkL2RyYXdwcmltLmMsCisJICBkbGxzL3dpbmVkM2QvdmVydGV4c2hhZGVyLmMsIGRsbHMvd2luZWQzZC93aW5lZDNkX3ByaXZhdGUuaDoKKwlPbGl2ZXIgU3RpZWJlciA8b2xpdmVyX3N0aWViZXJAeWFob28uY28udWs+CisJSW50ZWdyYXRlIGhhcmR3YXJlIHZlcnRleCBzaGFkZXJzIGludG8gdGhlIGRyYXdpbmcgcGlwZWxpbmUuCisKKwkqIGRsbHMvd2luc3Bvb2wvaW5mby5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRml4IGdjYyA0LjAgd2FybmluZ3MuCisKKwkqIGRsbHMvbXN4bWwzL2RvbWRvYy5jLCBkbGxzL21zeG1sMy9lbGVtZW50LmMsCisJICBkbGxzL21zeG1sMy9tc3htbF9wcml2YXRlLmgsIGRsbHMvbXN4bWwzL25vZGUuYywKKwkgIGRsbHMvbXN4bWwzL25vZGVtYXAuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJVXNlIGEgc2luZ2xlIGZ1bmN0aW9uIHRvIGNyZWF0ZSBhbGwgSVhNTERPTU5vZGUgaW1wbGVtZW50YXRpb25zLgorCisJKiBkbGxzL21zaS9hY3Rpb24uYywgZGxscy9tc2kvYWN0aW9uLmgsIGRsbHMvbXNpL2hlbHBlcnMuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJU3RvcmUgdGhlIGNvbXBvbmVudCBpbmZvcm1hdGlvbiBpbiBhIHN0YW5kYXJkIFdpbmUgbGlzdC4KKworCSogZGxscy9zaGVsbDMyL3NobHZpZXcuYywgZGxscy9zaGVsbDMyL3Nodl9iZ19jbWVudS5jOgorCUphc29uIEVkbWVhZGVzIDx1c0BlZG1lYWRlcy5tZS51az4KKwlIYW5kbGUgY29udGV4dCBtZW51LT5yZWZyZXNoLCBhbmQgRjUgdG8gaW5pdGlhdGUgYSByZWZyZXNoIG9mIHRoZSBmaWxlCisJZGlhbG9nLgorCisJKiBkbGxzL21zdmNydC9zdHJpbmcuYywgZGxscy9tc3ZjcnQvdGVzdHMvc3RyaW5nLmM6CisJSmFzb24gRWRtZWFkZXMgPHVzQGVkbWVhZGVzLm1lLnVrPgorCV9zd2FiIGZhaWxlZCBpZiBzcmMgPT0gZGVzdCwgcGx1cyBzb21lIHRlc3RjYXNlcy4KKworCSogZGxscy9zaGVsbDMyL3BpZGwuYzogSmFzb24gRWRtZWFkZXMgPHVzQGVkbWVhZGVzLm1lLnVrPgorCUFkZCB0aGUgdGltZSB0byB0aGUgZmlsZSBkaXNwbGF5IGRpYWxvZyBtb2RpZmllZCBjb2x1bW4uCisKKwkqIGRsbHMvc2hlbGwzMi9zaGZsZHJfdW5peGZzLmM6CisJTWljaGFlbCBKdW5nIDxtanVuZ0Bpc3MudHUtZGFybXN0YWR0LmRlPgorCUltcGxlbWVudGVkIElQZXJzaXN0OjpHZXRDbGFzc0lELgorCisJKiBwcm9ncmFtcy93aW5lY2ZnL1J1LnJjLCBwcm9ncmFtcy93aW5lY2ZnL3dpbmVjZmcucmM6CisJWXVyaSBLb3psb3YgPGtvemxvdi55QGdtYWlsLmNvbT4KKwlVcGRhdGVkIFJ1c3NpYW4gcmVzb3VyY2VzLgorCisJKiBkbGxzL2dkaS9mb250LmM6IEh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJU2ltcGxpZnkgRXh0VGV4dE91dCBhIGJpdC4gIFNob3VsZCBiZSBhIG5vcC4KKworCSogZGxscy9rZXJuZWwvb2xkY29uZmlnLmM6IEdlcmFsZCBQZmVpZmVyIDxnZXJhbGRAcGZlaWZlci5jb20+CisJRW5hYmxlIFNDU0lfZ2V0cHJvY2VudHJ5KCkgb24gbm9uLUxpbnV4IHBsYXRmb3JtcyB3aGljaCBub3cgc2hvdWxkIGJlCisJc2FmZSB0byBkby4KKworCSogZGxscy9nZGkvZnJlZXR5cGUuYzogSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlDb3BlIGJldHRlciB3aXRoIG1peGVkIGNoYXJzZXQgZm9udHMuCisKKwkqIGRsbHMvYXRsL2F0bF9tYWluLmM6IEFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJSW4gQXRsTW9kdWxlSW5pdCBkbyBub3QgY2FsbCBpbml0aWFsaXphdGlvbiBwcm9jZWR1cmVzIHRoYXQgYXJlIE5VTEwuCisKKwkqIGZvbnRzLy5jdnNpZ25vcmUsIGZvbnRzL01ha2VmaWxlLmluLCB0b29scy9zZm50MmZudC5jOgorCUh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJQWRkIFN5c3RlbSBmb250IGZvciB0aGUgQ2hpbmVzZSBjb2RlcGFnZXMgY3A5MzYgYW5kIGNwOTUwLiBPZiBjb3Vyc2UKKwl0aGV5IGRvbid0IGNvbnRhaW4gYW55IGlkZW9ncmFwaHMgKGFuZCBub3Igc2hvdWxkIHRoZXkpLgorCisJKiBkbGxzL3VzZXIvY3Vyc29yaWNvbi5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJTWFrZSBzdXJlIGEgY3Vyc29yIGlzIGFsd2F5cyByZXR1cm5lZCBpZiBvbmUgZXhpc3RzLgorCisyMDA1LTA4LTE4ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL250ZGxsL250LmMsIGRsbHMvbnRkbGwvbnRkbGwuc3BlYywgZGxscy9udGRsbC90aHJlYWQuYzoKKwlBZGRlZCBhIHN0dWIgZm9yIE50QWxlcnRSZXN1bWVUaHJlYWQuCisKKwkqIGRsbHMvY29tY3RsMzIvTWFrZWZpbGUuaW4sIGRsbHMvY29tY3RsMzIvdGhlbWVfbGlzdGJveC5jLAorCSAgZGxscy9jb21jdGwzMi90aGVtaW5nLmM6CisJRnJhbmsgUmljaHRlciA8ZnJhbmsucmljaHRlckBnbWFpbC5jb20+CisJQWRkIHRoZW1pbmcgZm9yIGxpc3Rib3ggKGFuZCBjb21ibyBsaXN0Ym94KSBjb250cm9scy4KKworCSogZGxscy9kM2Q5L3ZvbHVtZS5jLCBkbGxzL2QzZDkvdm9sdW1ldGV4dHVyZS5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggcG9pbnRlciB0eXBlIHdhcm5pbmdzLgorCisJKiBkbGxzL2QzZDkvZDNkOV9wcml2YXRlLmgsIGRsbHMvZDNkOS92ZXJ0ZXhzaGFkZXIuYzoKKwlPbGl2ZXIgU3RpZWJlciA8b2xpdmVyX3N0aWViZXJAeWFob28uY28udWs+CisJUGFzcyBhbGwgdGhlIGQzZDkgY2FsbHMgb250byB0aGVpciB3aW5lZDNkIGVxdWl2YWxlbnRzLgorCisJKiBkbGxzL2NyeXB0MzIvTWFrZWZpbGUuaW4sIGRsbHMvc2hlbGwzMi9NYWtlZmlsZS5pbjoKKwlBZGRlZCBtaXNzaW5nIG50ZGxsIGltcG9ydHMuCisKKwkqIGRsbHMva2VybmVsL3N5bmMuYywgZGxscy9udGRsbC9maWxlLmM6CisJSXZhbiBMZW8gUHVvdGkgPGl2YW5sZW9AZ21haWwuY29tPgorCUltcGxlbWVudCBGU0NUTF9QSVBFX0RJU0NPTk5FQ1QgaW4gTnRGc0NvbnRyb2xGaWxlIGFuZCBtYWtlCisJRGlzY29ubmVjdE5hbWVkUGlwZSBjYWxsIGl0LgorCisJKiBkbGxzL21jaXNlcS9tY2ltaWRpLmMsIGRsbHMvd2lubW0vbWNpLmMsIGRsbHMvd2lubW0vbWVzc2FnZTE2LmMsCisJICBpbmNsdWRlL21tc3lzdGVtLmg6CisJRmVsaXggTmF3b3RobmlnIDxmZWxpeC5uYXdvdGhuaWdAdC1vbmxpbmUuZGU+CisJTWFrZSBzdHJpbmcgZWxlbWVudHMgb2YgTUNJX09QRU5fUEFSTVMgY29uc3QgdG8gbWF0Y2ggdGhlIFNESyBoZWFkZXJzLgorCisJKiBmb250cy8uY3ZzaWdub3JlLCBmb250cy9NYWtlZmlsZS5pbjogUGF2ZWwgUm9za2luIDxwcm9za2lAZ251Lm9yZz4KKwlmb250Zm9yZ2UgMjAwNTA3MjkgaW5zaXN0cyBvbiBhZGRpbmcgLnR0ZiBleHRlbnNpb24gZXZlbiBpZiB0aGUKKwlyZXF1ZXN0ZWQgb3V0cHV0IGZpbGUgbmFtZSBlbmRzIHdpdGggYSBkb3QuICBTbyBsZXQncyBnbyBiYWNrIHRvIG5hbWVzCisJZW5kaW5nIHdpdGggdHRmLgorCisJKiBkbGxzL3VzZXIvZGlhbG9nLmMsIGRsbHMvdXNlci9kaWFsb2cxNi5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSB3YXJuaW5ncyBlbWl0dGVkIGJ5IGdjYyA0LjAuCisKKwkqIGluY2x1ZGUvd2luY3J5cHQuaDogSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCUFkZC91cGRhdGUgYSBmZXcgZGVmaW5pdGlvbnMuCisKKwkqIGRsbHMva2VybmVsL3Rlc3RzL2NvZGVwYWdlLmM6CisJU2F1bGl1cyBLcmFzdWNrYXMgPHNhdWxpdXMua3Jhc3Vja2FzQGllZWUub3JnPgorCVRlc3QgcGFzc2luZyBOVUxMIHNvdXJjZSB0byBXaWRlQ2hhclRvTXVsdGlCeXRlLgorCisJKiBpbmNsdWRlL3dpbmJhc2UuaDogRmVsaXggTmF3b3RobmlnIDxmZWxpeC5uYXdvdGhuaWdAdC1vbmxpbmUuZGU+CisJTWFrZSB0aGUgZGVzdGluYXRpb24gcG9pbnRlcnMgb2YgSW50ZXJsb2NrZWQqIGZ1bmN0aW9ucyB2b2xhdGlsZSB0bworCW1hdGNoIHRoZSBTREsgaGVhZGVycy4KKworCSogZGxscy9tc2h0bWwvb2xlb2JqLmMsIGRsbHMvbXNodG1sL3ZpZXcuYywKKwkgIGRsbHMvbXNodG1sL3Rlc3RzL2h0bWxkb2MuYzoKKwlKYWNlayBDYWJhbiA8amFja0BpdG1hLnB3ci53cm9jLnBsPgorCS0gQWRkZWQgSU9sZUNvbW1hbmRUZXJnZXQgaW50ZXJmYWNlIHRvIHRoZSB0ZXN0LgorCS0gTWFrZSBXaW5lIHBhc3MgdGhlIHRlc3QuCisJLSBGaXggYnVnIHJlcG9ydGVkIGJ5IFNhdWxpdXMgS3Jhc3Vja2FzLgorCisJKiB0b29scy9zZm50MmZudC5jOiBQYXZlbCBSb3NraW4gPHByb3NraUBnbnUub3JnPgorCXNmbnQyZm50IGV4aXRzIHdpdGggY29kZSAwIGZvciBzZXZlcmFsIGVycm9ycywgd2hpY2ggY2F1c2VzIG1ha2UgdG8KKwlpZ25vcmUgdGhlbS4gIFVzZSBleGl0IGNvZGUgMSBpbnN0ZWFkLgorCisJKiBmb250cy93aW5lX3N5c3RlbS5zZmQ6IEh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJU3lzdGVtIHNob3VsZCBiZSBzYW5zIHNlcmlmLgorCisJKiBkbGxzL250ZGxsL2Nkcm9tLmM6IFZpdGFsaXkgTWFyZ29sZW4gPHdpbmUtcGF0Y2hAa2lldmluZm8uY29tPgorCUFkZCB0cmFjZSB0byBJT0NUTF9DRFJPTV9SQVdfUkVBRC4KKworCSogZGxscy9jb21jdGwzMi90aGVtZV9lZGl0LmM6IEZyYW5rIFJpY2h0ZXIgPGZyYW5rLnJpY2h0ZXJAZ21haWwuY29tPgorCU9ubHkgZHJhdyBhIHRoZW1lZCBib3JkZXIgd2hlbiBlZGl0IGNvbnRyb2wgaGFzIFdTX0VYX0NMSUVOVEVER0UKKwlzdHlsZS4KKworCSogZGxscy9tc3htbDMvZG9tZG9jLmMsIGRsbHMvbXN4bWwzL2VsZW1lbnQuYywKKwkgIGRsbHMvbXN4bWwzL21zeG1sX3ByaXZhdGUuaCwgZGxscy9tc3htbDMvbm9kZS5jLAorCSAgZGxscy9tc3htbDMvbm9kZW1hcC5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlNYWtlIGVhY2ggSVhNTERPTU5vZGUgaW50ZXJmYWNlIHJlcHJlc2VudCBvbmUgbGlieG1sMiB4bWxOb2RlUHRyLgorCisJKiBkbGxzL3NoZWxsMzIvdGVzdHMvc2hsZXhlYy5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJVGVzdCAiJWwiIGFuZCAiJUwiLiBBdCB0aGUgc2FtZSB0aW1lIHRoaXMgdGVzdHMgYWx0ZXJuYXRlIHZlcmJzLgorCVRlc3QgJTEsICVsIGFuZCAlTCB3aXRoIG5vIHF1b3Rlcy4KKwl0ZXN0LT50b2RvIGlzIGEgYml0bWFzayBzbyBmaXggdGhlIGNoZWNrcyBhY2NvcmRpbmdseS4KKworMjAwNS0wOC0xNyAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9NYWtlZmlsZS5pbiwgZGxscy9pY2N2aWQvLmN2c2lnbm9yZSwgZGxscy9pY2N2aWQvTWFrZWZpbGUuaW4sCisJICBkbGxzL21zcmxlMzIvLmN2c2lnbm9yZSwgZGxscy9tc3JsZTMyL01ha2VmaWxlLmluLAorCSAgZGxscy9tc3ZpZGMzMi8uY3ZzaWdub3JlLCBkbGxzL21zdmlkYzMyL01ha2VmaWxlLmluLAorCSAgZGxscy90d2Fpbi8uY3ZzaWdub3JlLCBkbGxzL3R3YWluL01ha2VmaWxlLmluOgorCVJlbW92ZWQgYSBmZXcgbW9yZSB1bm5lY2Vzc2FyeSBpbXBvcnQgbGlicmFyaWVzLgorCisJKiBkbGxzL2ljY3ZpZC9pY2N2aWQuc3BlYywgZGxscy9taWRpbWFwL21pZGltYXAuc3BlYywKKwkgIGRsbHMvbXNhY20vaW1hYWRwMzIvaW1hYWRwMzIuYWNtLnNwZWMsIGRsbHMvbXNhY20vbXNhY20zMi5zcGVjLAorCSAgZGxscy9tc2FjbS9tc2FkcDMyL21zYWRwMzIuYWNtLnNwZWMsCisJICBkbGxzL21zYWNtL21zZzcxMS9tc2c3MTEuYWNtLnNwZWMsCisJICBkbGxzL21zYWNtL3dpbmVtcDMvd2luZW1wMy5hY20uc3BlYywgZGxscy9tc3JsZTMyL21zcmxlMzIuc3BlYywKKwkgIGRsbHMvbXN2aWRjMzIvbXN2aWRjMzIuc3BlYywgZGxscy93aW5tbS9qb3lzdGljay9qb3lzdGljay5kcnYuc3BlYywKKwkgIGRsbHMvd2lubW0vbWNpYXZpL21jaWF2aS5kcnYuc3BlYywKKwkgIGRsbHMvd2lubW0vbWNpd2F2ZS9tY2l3YXZlLmRydi5zcGVjLAorCSAgZGxscy93aW5tbS93YXZlbWFwL21zYWNtLmRydi5zcGVjLAorCSAgZGxscy93aW5tbS93aW5lYWxzYS93aW5lYWxzYS5kcnYuc3BlYywKKwkgIGRsbHMvd2lubW0vd2luZWFydHMvd2luZWFydHMuZHJ2LnNwZWMsCisJICBkbGxzL3dpbm1tL3dpbmVhdWRpb2lvL3dpbmVhdWRpb2lvLmRydi5zcGVjLAorCSAgZGxscy93aW5tbS93aW5lZXNkL3dpbmVlc2QuZHJ2LnNwZWMsCisJICBkbGxzL3dpbm1tL3dpbmVqYWNrL3dpbmVqYWNrLmRydi5zcGVjLAorCSAgZGxscy93aW5tbS93aW5lbmFzL3dpbmVuYXMuZHJ2LnNwZWMsCisJICBkbGxzL3dpbm1tL3dpbmVvc3Mvd2luZW9zcy5kcnYuc3BlYzoKKwlNYWtlIGFsbCB0aGUgRHJpdmVyUHJvYyBlbnRyeSBwb2ludHMgcHJpdmF0ZS4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGRsbHMvTWFrZWZpbGUuaW4sIGRsbHMvbWNpc2VxLy5jdnNpZ25vcmUsCisJICBkbGxzL21jaXNlcS9NYWtlZmlsZS5pbiwgZGxscy9tY2lzZXEvbWNpbWlkaS5jLAorCSAgZGxscy9tY2lzZXEvbWNpc2VxLnNwZWMsIHRvb2xzL3dpbmFwaS93aW4zMi5hcGksIHRvb2xzL3dpbmUuaW5mOgorCVLpbWkgQXNzYWlsbHkgPHJlbWkuYXNzYWlsbHlAZnJlZS5mcj4KKwlNb3ZlZCBtY2lzZXEgdG8gdGhlIHRvcC1sZXZlbCBkbGxzIGRpcmVjdG9yeS4KKworCSogcHJvZ3JhbXMvd2luZWNmZy9hcHBkZWZhdWx0cy5jLCBwcm9ncmFtcy93aW5lY2ZnL3Byb3BlcnRpZXMuYywKKwkgIHByb2dyYW1zL3dpbmVjZmcvcHJvcGVydGllcy5oLCBwcm9ncmFtcy93aW5lY2ZnL3dpbmVjZmcuYywKKwkgIHByb2dyYW1zL3dpbmVjZmcvd2luZWNmZy5oOgorCVZpdGFsaXkgTWFyZ29sZW4gPHdpbmUtcGF0Y2hAa2lldmluZm8uY29tPgorCUFkZCB3aW5kb3dzIHZlcnNpb24gcmVnaXN0cnkgZW50cmllcy4KKworCSogZGxscy9hdmlmaWwzMi9hdmlmaWxlLmMsIGRsbHMvYXZpZmlsMzIvZWRpdHN0cmVhbS5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlnY2MgNC4wIHdhcm5pbmcgZml4ZXMuCisKKwkqIGRsbHMvd2luZWQzZC9kZXZpY2UuYywgZGxscy93aW5lZDNkL3ZlcnRleHNoYWRlci5jLAorCSAgZGxscy93aW5lZDNkL3dpbmVkM2RfcHJpdmF0ZS5oLCBpbmNsdWRlL3dpbmUvd2luZWQzZF9pbnRlcmZhY2UuaDoKKwlPbGl2ZXIgU3RpZWJlciA8b2xpdmVyX3N0aWViZXJAeWFob28uY28udWs+CisJQ29weSB0aGUgcGFyc2VyIGFuZCBjcm9zcyBjb21waWxlciBmcm9tIGQzZDggYW5kIHVwZGF0ZSBldmVyeXRoaW5nIHRvCisJdmVydGV4IHNoYWRlcnMgMy4wLgorCVRoZSBQYXJzZXIgd2lsbCBub3cgZGlzcGxheSB0aGUgaW5wdXQgc2hhZGVyIGluIERpcmVjdFggc3R5bGUsIGFuZCB0aGUKKwljcm9zcyBjb21waWxlciBub3cgZ2VuZXJhdGVzIHZhbGlkIEFSQl9WRVJURVhfUFJPR1JBTSBwcm9ncmFtcyBhbmQKKwlvdXRwdXRzIHRoZSByZXN1bHQgaW4gQVJCX1ZFUlRFWF9QUk9HUkFNIHN0eWxlLgorCVN1cHBvcnQgZm9yIGEgbnVtYmVyIG9mIGV4dGVuZGVkIGF0dHJpYnV0ZXMgaGFzIGJlZW4gYWRkZWQsIGJ1dCB0aGlzCisJbWF5IG5vdCBiZSBjb21wbGV0ZSwgYW5kIGRlcmVmZXJlbmNpbmcgZnJvbSBsb29wIGNvdW50ZXJzIGlzbid0CisJcHJvcGVybHkgcGFyc2VkIHlldC4KKworCSogZGxscy9rZXJuZWwvYXRvbTE2LmMsIGRsbHMva2VybmVsL2Zvcm1hdF9tc2cuYywKKwkgIGRsbHMva2VybmVsL2x6ZXhwYW5kLmMsIGRsbHMva2VybmVsL25lX3NlZ21lbnQuYywKKwkgIGRsbHMva2VybmVsL3JlbGF5MTYuYywgZGxscy9rZXJuZWwvcmVzb3VyY2UxNi5jLAorCSAgZGxscy9rZXJuZWwvc25vb3AxNi5jLCBkbGxzL2tlcm5lbC9zeW5jLmMsIGRsbHMva2VybmVsL3ZvbHVtZS5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlnY2MgNC4wIHdhcm5pbmcgZml4ZXMuCisKKwkqIGRsbHMvd2luZWQzZC9kZXZpY2UuYywgZGxscy93aW5lZDNkL3N0YXRlYmxvY2suYywKKwkgIGRsbHMvd2luZWQzZC93aW5lZDNkX3ByaXZhdGUuaDoKKwlPbGl2ZXIgU3RpZWJlciA8b2xpdmVyX3N0aWViZXJAeWFob28uY28udWs+CisJQWRkIHN1cHBvcnQgZm9yIHZlcnRleCBzaGFkZXIgY29uc3RhbnRzIHRvIHRoZSBzdGF0ZWJsb2NrLgorCisJKiBkbGxzL2tlcm5lbC90ZXN0cy9wcm9jZXNzLmMsIGRsbHMvbXN4bWwzL2RvbWRvYy5jLAorCSAgZGxscy9zZWN1cjMyL3Rlc3RzL21haW4uYywgZGxscy93aW5lZDNkL2RyYXdwcmltLmM6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJQXNzb3J0ZWQgc3BlbGxpbmcgZml4ZXMuCisKKwkqIGRsbHMvd2luZWQzZC92ZXJ0ZXhzaGFkZXIuYywgZGxscy93aW5lZDNkL3dpbmVkM2RfcHJpdmF0ZS5oLAorCSAgaW5jbHVkZS93aW5lL3dpbmVkM2RfdHlwZXMuaDoKKwlPbGl2ZXIgU3RpZWJlciA8b2xpdmVyX3N0aWViZXJAeWFob28uY28udWs+CisJVGlkeSB1cCB2ZXJ0ZXggc2hhZGVycyBhbmQgYnJpbmcgdGhlIGN1cnJlbnQgY29kZSBpbmxpbmUgd2l0aCB0aGUgcmVzdAorCW9mIHdpbmVkM2QuCisKKwkqIGRsbHMvd2luaW5ldC90ZXN0cy9odHRwLmM6CisJU2F1bGl1cyBLcmFzdWNrYXMgPHNhdWxpdXMua3Jhc3Vja2FzQGllZWUub3JnPgorCUNvcnJlY3QgZmFpbGluZyB0ZXN0IGFuZCB0cmFuc2Zvcm0gaXQgaW50byBhIGJ1bmNoIG9mIGFub3RoZXIgdGVzdHMuCisKKwkqIGRsbHMvbnRkbGwvdGVzdHMvaW5mby5jOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlGaXggYSBjb3VwbGUgb2YgTVNWQyBzaWduZWQvdW5zaWduZWQgd2FybmluZ3MuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGxleGVjLmMsIGRsbHMvc2hlbGwzMi90ZXN0cy9zaGxleGVjLmM6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggU2hlbGxFeGVjdXRlKCJcImZvby5kb2NcIiIpIGZvciBJbnRlcm5ldCBFeHBsb3JlciA2LgorCVVwZGF0ZSB0aGUgY29uZm9ybWFuY2UgdGVzdHMgYWNjb3JkaW5nbHkuCisJVHdlYWsgYSB0cmFjZSBiZWNhdXNlIGl0J3MgdmVyeSBjb25mdXNpbmcgdG8gc2VlIHRoZSBwYXRoIHdpdGggbm8KKwllc2NhcGVkIHF1b3RlcyBpbiBTaGVsbEV4ZWN1dGVBKCkgYW5kIHRoZW4gd2l0aCBlc2NhcGVkIHF1b3RlcyBpbgorCVNoZWxsRXhlY3V0ZUV4VzMyKCkgKGR1ZSB0byBkZWJ1Z3N0cl93KCkpLgorCisJKiBkbGxzL21zeG1sMy9ub2RlLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggYSBzZWFyY2ggYW5kIHJlcGxhY2UgbWlzaGFwLgorCisJKiBkbGxzL2RkcmF3L3N1cmZhY2VfZGliLmMsIGRsbHMvZGRyYXcvdGVzdHMvZHN1cmZhY2UuYzoKKwlDaHJpc3RpYW4gQ29zdGEgPHRpdGFuLmNvc3RhQHdhbmFkb28uZnI+CisJVGFrZSBSR0IgbWFzayBpbnRvIGFjY291bnQgd2hlbiBkb2luZyBjb2xvciBrZXlpbmcuCisJQWRkIGNvcnJlc3BvbmRpbmcgY29uZm9ybWFuY2UgdGVzdC4KKworCSogZGxscy9zZWN1cjMyL01ha2VmaWxlLmluLCBkbGxzL3NlY3VyMzIvbnRsbS5jLAorCSAgZGxscy9zZWN1cjMyL3NlY3VyMzIuYywgZGxscy9zZWN1cjMyL3NlY3VyMzJfcHJpdi5oOgorCUthaSBCbGluIDxibGluQGdteC5uZXQ+CisJQWRkIE5UTE0gc2VjdXJpdHkgcHJvdmlkZXIgZHVtbXkuCisKKwkqIGRsbHMvcXVhcnR6L2ZpbHRlcmdyYXBoLmM6IENocmlzdGlhbiBDb3N0YSA8dGl0YW4uY29zdGFAd2FuYWRvby5mcj4KKwlBZGQgc3R1YmJlZCBJR3JhcGhDb25maWcgaW50ZXJmYWNlIHRvIHRoZSBmaWx0ZXJncmFwaC4KKworCSogZGxscy9xdWFydHovdmlkZW9yZW5kZXJlci5jOiBDaHJpc3RpYW4gQ29zdGEgPHRpdGFuLmNvc3RhQHdhbmFkb28uZnI+CisJRml4IHJlbmRlcmluZyBvZiBwYWxldHRlZCB2aWRlbyBzdHJlYW0uCisKKzIwMDUtMDgtMTYgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIHNlcnZlci9xdWV1ZS5jOgorCUF2b2lkIGEgY3Jhc2ggaW4gZmluZF9oYXJkd2FyZV9tZXNzYWdlX3dpbmRvdyB3aGVuIHRoZXJlJ3Mgbm8KKwlmb3JlZ3JvdW5kIGlucHV0LgorCisJKiBkbGxzL2NvbWN0bDMyL01ha2VmaWxlLmluLCBkbGxzL2NvbWN0bDMyL3RoZW1lX2NvbWJvLmMsCisJICBkbGxzL2NvbWN0bDMyL3RoZW1pbmcuYzoKKwlGcmFuayBSaWNodGVyIDxmcmFuay5yaWNodGVyQGdtYWlsLmNvbT4KKwlBZGQgdGhlbWluZyBmb3IgY29tYm8gYm94ZXMuCisKKwkqIGluY2x1ZGUvd2luY3J5cHQuaDogSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCUFkZCBtb3JlIG1pc3NpbmcgZGVmaW5pdGlvbnMsIGFuZCBjb3JyZWN0IGEgcHJvdG90eXBlLgorCisJKiBkbGxzL3NoZWxsMzIvdGVzdHMvc2hsZm9sZGVyLmM6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlEeW5hbWljYWxseSBsb2FkIFN0clJldFRvQnVmVygpLiBUaGlzIGxldHMgc2hlbGwzMl90ZXN0LmV4ZSBydW4gb24KKwlzeXN0ZW1zIHRoYXQgaGF2ZSB2ZXJzaW9uIDQuNzIgb2Ygc2hsd2FwaS5kbGwuCisKKwkqIGRsbHMvc2hlbGwzMi90ZXN0cy9zaGxleGVjLmM6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlWZXJpZnkgdGhlIHBhcmFtZXRlcnMgcmVjZWl2ZWQgYnkgdGhlIGNoaWxkIHByb2Nlc3MgdXNpbmcgY29kZSBsaWZ0ZWQKKwlmcm9tIGtlcm5lbDMyL3Rlc3RzL3Byb2Nlc3MuYy4KKwlUZXN0IHBhc3NpbmcgcGFyYW1ldGVycyB0byAubG5rIGZpbGVzIHRoYXQgcG9pbnQgdG8gYW4gZXhlY3V0YWJsZS4KKworCSogZGxscy9udGRsbC92ZXJzaW9uLmM6CisJVGhlcmUgaXMgYSByZWdpc3RyeSBrZXkgZm9yIHRoZSBzZXJ2aWNlIHBhY2sgdmVyc2lvbiAoc3BvdHRlZCBieQorCVZpdGFsaXkgTWFyZ29sZW4pLgorCisJKiBkbGxzL3gxMWRydi9ldmVudC5jLCBkbGxzL3gxMWRydi9rZXlib2FyZC5jLCBkbGxzL3gxMWRydi9tb3VzZS5jLAorCSAgZGxscy94MTFkcnYvb3BlbmdsLmMsIGRsbHMveDExZHJ2L3hyZW5kZXIuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJZ2NjIDQuMCB3YXJuaW5nIGZpeGVzLgorCisJKiBkbGxzL3NlY3VyMzIvc2VjdXIzMi5jLCBpbmNsdWRlL2xtYWNjZXNzLmgsIGluY2x1ZGUvbnRzZWNhcGkuaCwKKwkgIGluY2x1ZGUvd2ludGVybmwuaDoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlEZWNsYXJlIFBOVFNUQVRVUyBpbiBsbWFjY2Vzcy5oIGFuZCBudHNlY2FwaS5oIHRvIG1hdGNoIHRoZSBQU0RLLgorCVByb3RlY3QgYWdhaW5zdCBtdWx0aXBsZSBkZWZpbml0aW9ucy4KKwlVc2UgUE5UU1RBVFVTIHdoZXJlIGFwcHJvcHJpYXRlLgorCisJKiBkbGxzL29sZTMyL29sZTIuYywgZGxscy9vbGUzMi9vbGUyXzE2LmMsIGRsbHMvb2xlMzIvc3RvcmFnZS5jLAorCSAgdG9vbHMvd2luYXBpL3dpbjE2LmFwaToKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlVc2UgTFBTVE9SQUdFIHRvIGJldHRlciBtYXRjaCB0aGUgUFNESy4KKwlEb2N1bWVudCB0aGUgcmVhbCBTRUdQVFIgdHlwZSB1c2luZyB0aGUgc3RhbmRhcmQgZG9jdW1lbnRhdGlvbgorCW1lY2hhbmlzbXMuIEZpeGVzIHdpbmFwaV9jaGVjayB3YXJuaW5ncy4KKworCSogZGxscy9rZXJuZWwvaGVhcC5jOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCVJlcG9ydCBzd2FwIGZpbGUgdG90YWwvZnJlZSBzaXplcyB0byBiZSB0aGUgc2FtZSBhcyBwaHlzaWNhbCBtZW1vcnkuCisJTWFrZSBzdXJlIHRoYXQgd2UgY2FjaGUgYWxsIGNhbGN1bGF0ZWQgdmFsdWVzLgorCisJKiBkbGxzL3NoZWxsMzIvdGVzdHMvc2hlbGxwYXRoLmM6CisJTWljaGFlbCBKdW5nIDxtanVuZ0Bpc3MudHUtZGFybXN0YWR0LmRlPgorCVJlbW92ZSAiaW5pdGd1aWQuaCIgaW5jbHVkZSBmcm9tIHNoZWxscGF0aCB0ZXN0LgorCisJKiBkbGxzL21zaHRtbC90ZXN0cy9wcm90b2NvbC5jOiBKYWNlayBDYWJhbiA8amFja0BpdG1hLnB3ci53cm9jLnBsPgorCUZpeCBwcm90b2NvbCB0ZXN0IG9uIDl4LgorCisJKiBkbGxzL250ZGxsL2ZpbGUuYzogSXZhbiBMZW8gUHVvdGkgPGl2YW5sZW9AZ21haWwuY29tPgorCUltcHJvdmUgTnRDcmVhdGVOYW1lZFBpcGUgdHJhY2UuCisKKwkqIGRsbHMvbXNpL2FjdGlvbi5jOiBBcmljIFN0ZXdhcnQgPGFyaWNAY29kZXdlYXZlcnMuY29tPgorCUZpeGVkIGEgbWVtb3J5IG92ZXJmbG93IGFuZCBsZWFrIGlkZW50aWZpZWQgYnkgTWlrZSBNY0Nvcm1hY2suCisKKwkqIGRsbHMvdXNlci9jb21iby5jOiBGcmFuayBSaWNodGVyIDxmcmFuay5yaWNodGVyQGdtYWlsLmNvbT4KKwlDaGFuZ2UgQ0JfR0VUQ09NQk9CT1ggdG8gcmV0dXJuIFNUQVRFX1NZU1RFTV9QUkVTU0VEIGluCisJQ09NQk9CT1hJTkZPLnN0YXRlQnV0dG9uIHdoZW4gcmVhbGx5IHRoZSBidXR0b24gaXMgcHJlc3NlZCwgbm90IHdoZW4KKwl0aGUgY29tYm8gaXMgZHJvcHBlZCBkb3duLgorCisJKiBkbGxzL3dpbmluZXQvdGVzdHMvaHR0cC5jOgorCVNhdWxpdXMgS3Jhc3Vja2FzIDxzYXVsaXVzLmtyYXN1Y2thc0BpZWVlLm9yZz4KKwlNb3ZlIHJlcGV0aXRpdmUgY29kZSB0byB0d28gaGVscGVyIGZ1bmN0aW9ucy4KKworCSogZGxscy9udGRsbC92ZXJzaW9uLmM6CisJRmV0Y2ggdGhlIHZlcnNpb24gaW5mb3JtYXRpb24gZnJvbSB0aGUgc3RhbmRhcmQgV2luZG93cyBrZXlzIGlmIG5vdAorCXNwZWNpZmllZCBvdGhlcndpc2UuCisKKwkqIHByb2dyYW1zL3JlZ2VkaXQvRGUucmMsIHByb2dyYW1zL3JlZ2VkaXQvRW4ucmM6CisJSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCVNocmluayB0aGUgaGV4IGVkaXQgd2luZG93IGEgYml0LgorCisJKiBkbGxzL2NyeXB0MzIvdGVzdHMvZW5jb2RlLmM6IEp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwlSZW1vdmUgYSB0ZXN0IHRoYXQgZmFpbHMgdW5kZXIgV2luTUUuICBSZXBvcnRlZCBhbmQgaGVscGZ1bGx5IGRlYnVnZ2VkCisJYnkgU2F1bGl1cyBLcmFzdWNrYXMuCisKKwkqIGRsbHMvc2VjdXIzMi9zZWN1cjMyLmM6IEp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwlGaXggdW5pbml0aWFsaXplZCBwb2ludGVyIGluIGJ1aWx0aW4gcHJvdmlkZXJzLiAgUmVwb3J0ZWQgYnkgS2FpCisJQmxpbi4KKworCSogZGxscy9udGRsbC9maWxlLmM6IEl2YW4gTGVvIFB1b3RpIDxpdmFubGVvQGdtYWlsLmNvbT4KKwlOdENyZWF0ZU5hbWVkUGlwZUZpbGUgaXMgbm8gbG9uZ2VyIGEgc3R1Yiwgc28gZml4IFRSQUNFKCkgY2FsbC4KKworCSogZGxscy9tc2h0bWwvb2xld25kLmM6IEphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJRGVhY3RpdmF0ZSBVSSBpbiBJblBsYWNlRGVhY3RpdmF0ZS4KKworMjAwNS0wOC0xNSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogaW5jbHVkZS9vYmppZGwuaWRsLCBpbmNsdWRlL29jaWRsLmlkbCwgaW5jbHVkZS9vbGVpZGwuaWRsLAorCSAgaW5jbHVkZS93aW5kZWYuaDoKKwlBZGRlZCBhIFdJTkVfTk9fVU5JQ09ERV9NQUNST1MgZGVmaW5lIHRvIGFsbG93IFdpbmVsaWIgYXBwcyB0byBzd2l0Y2gKKwlvZmYgdGhlIFVuaWNvZGUgbWFjcm9zIHRvby4KKworCSogZGxscy9zZWN1cjMyL01ha2VmaWxlLmluLCBkbGxzL3NlY3VyMzIvbmVnb3RpYXRlLmMsCisJICBkbGxzL3NlY3VyMzIvc2VjdXIzMi5jLCBkbGxzL3NlY3VyMzIvc2VjdXIzMl9wcml2LmgsCisJICBkbGxzL3NlY3VyMzIvdGVzdHMvbWFpbi5jOgorCUthaSBCbGluIDxibGluQGdteC5uZXQ+CisJQWRkZWQgTmVnb3RpYXRlIHNlY3VyaXR5IHByb3ZpZGVyIGR1bW15LiBSZW1vdmVkIHRvZG9zIGZyb20gdGhlIHRlc3QuCisKKwkqIGRsbHMvd2xkYXAzMi9taXNjLmM6IEhhbnMgTGVpZGVra2VyIDxoYW5zQGl0LnZ1Lm5sPgorCUZpeCB0aGUgYnVpbGQgd2l0aG91dCBvcGVubGRhcCBoZWFkZXJzLgorCisJKiBkbGxzL21zaHRtbC90ZXN0cy9odG1sZG9jLmM6IEphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJLSBDb2RlIGNsZWFudXAuCisJLSBEaXNzYWJsZSB0ZXN0cyBhZnRlciBVSUFjdGl2YXRlIGZhaWxlcyAoZml4ZXMgdGVzdHMgd2luIDl4KS4KKworCSogaW5jbHVkZS9zaGxndWlkLmg6IE1pY2hhZWwgSnVuZyA8bWp1bmdAaXNzLnR1LWRhcm1zdGFkdC5kZT4KKwlBZGRlZCBDTFNJRF9Gb2xkZXJTaG9ydGN1dCBkZWZpbml0aW9uLgorCisJKiBkbGxzL21zaS9hY3Rpb24uYzogQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgc29tZSBib2R5IHRvIFJlc29sdmVTb3VyY2UgYmVjYXVzZSBpdCBpcyBwb3NzaWJsZSB0byBuZWVkIGl0IHdoZW4KKwlhbiBpbnN0YWxsIGlzIGJlZ3VuIGJ1dCB0aGUgbWVkaWEgaXMgbm90IGluIHRoZSBkcml2ZSwgc3VjaCBhcyBpbgorCWluc3RhbGwtb24tZGVtYW5kIGNhc2VzLgorCisJKiBkbGxzL250ZGxsL2hlYXAuYzoKKwlGaXhlZCBzb21lIGNvbmZ1c2lvbiBvdmVyIHdoZXRoZXIgSEVBUF9NSU5fQkxPQ0tfU0laRSBpbmNsdWRlcyB0aGUKKwlhcmVuYSBoZWFkZXJzIG9mIG5vdC4KKwlGcmVlIGxpc3Qgc2l6ZXMgYXJlIGNvbnN0YW50IHNvIHRoZXJlJ3Mgbm8gbmVlZCB0byBzdG9yZSB0aGVtIGluIHRoZQorCWhlYXAgc3RydWN0dXJlLgorCisJKiBkbGxzL2tlcm5lbC9wcm9jZXNzLmMsIHRvb2xzL3dpbmVwcmVmaXhjcmVhdGUuaW46CisJU2V0IHRoZSBkZWZhdWx0IHN5c3RlbSBkaXIgdG8gd2luZG93cy9zeXN0ZW0zMi4KKworCSogZGxscy9udGRsbC92ZXJzaW9uLmM6IFN3aXRjaCB0aGUgZGVmYXVsdCB2ZXJzaW9uIHRvIHdpbjJrLgorCisJKiBkbGxzL2dkaS9mcmVldHlwZS5jOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCUEgcHJldmlvdXMgc2lnbmVkLW5lc3MgZml4IGJyb2tlIGRpc3BsYXkgb2Ygbm9uLWFuc2kgY2hhcnMsIGZpeCB0aGlzLgorCisJKiBkbGxzL3NoZWxsMzIvcGlkbC5jOiBHZSB2YW4gR2VsZG9ycCA8Z3ZnQHJlYWN0b3MuY29tPgorCUZpeCByZXNvdXJjZSBsZWFrIG9uIGVycm9yIHBhdGhzLgorCisJKiBkbGxzL250ZGxsL3ZpcnR1YWwuYywgc2VydmVyL21hcHBpbmcuYzoKKwlCZXR0ZXIgaGFuZGxpbmcgb2YgY29uZmxpY3Rpbmcgc2VjdGlvbiBpbmZvcm1hdGlvbiBiZXR3ZWVuCisJU2l6ZU9mUmF3RGF0YSBhbmQgVmlydHVhbFNpemUuCisKKwkqIGRsbHMvd2xkYXAzMi9taXNjLmMsIGRsbHMvd2xkYXAzMi93aW5sZGFwX3ByaXZhdGUuaCwKKwkgIGRsbHMvd2xkYXAzMi93bGRhcDMyLnNwZWM6CisJSGFucyBMZWlkZWtrZXIgPGhhbnNAaXQudnUubmw+CisJSW1wbGVtZW50IGxkYXBfcmVzdWx0LgorCisJKiBkbGxzL3gxMWRydi94cmVuZGVyLmM6IEZyYW5rIFJpY2h0ZXIgPGZyYW5rLnJpY2h0ZXJAZ21haWwuY29tPgorCUZpeCBBbHBoYUJsZW5kKCkgdG8gZXh0cmFjdCB0aGUgcmlnaHQgcGFydCBvZiB0aGUgc291cmNlIERJQi4KKworCSogZGxscy9rZXJuZWwvcmVnaXN0cnkxNi5jLCBkbGxzL29sZTMyL2NvbXBvYmouYywKKwkgIGRsbHMvb2xlMzIvc3RvcmFnZTMyLmMsIGRsbHMvc2hlbGwzMi9zaGVsbC5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlXYXJuaW5nIGZpeGVzIGZvciBnY2MgNC4wLgorCisJKiBkbGxzL2F2aWZpbDMyL2ZhY3RvcnkuYywgZGxscy9jb21tZGxnL2NkbGczMi5jLAorCSAgZGxscy9kcGxheXgvZHBsYXl4X21haW4uYywgZGxscy9kc291bmQvZHNvdW5kX21haW4uYywKKwkgIGRsbHMvaGhjdHJsLm9jeC9tYWluLmMsIGRsbHMvbWFwaTMyL21hcGkzMl9tYWluLmMsCisJICBkbGxzL21zY21zL21zY21zX21haW4uYywgZGxscy9tc2lzeXMvbXNpc3lzLmMsCisJICBkbGxzL29sZWF1dDMyL29sZWF1dC5jLCBkbGxzL3NubXBhcGkvbWFpbi5jLCBkbGxzL3dpbmVwcy9pbml0LmMsCisJICBkbGxzL3dsZGFwMzIvbWFpbi5jOgorCVZpbmNlbnQgQulyb24gPHZiZXJvbkBtZWNhbm8uZ21lLnVzaGVyYi5jYT4KKwlVbmlmb3JtaXplIERsbE1haW4gVFJBQ0VpbmcgYWNyb3NzIGRsbHMuCisKKwkqIGRsbHMvYWR2cGFjay90ZXN0cy9hZHZwYWNrLmM6CisJU2F1bGl1cyBLcmFzdWNrYXMgPHNhdWxpdXMua3Jhc3Vja2FzQGllZWUub3JnPgorCVJlbW92ZSB0cmFpbGluZyBiYWNrc2xhc2guCisKKwkqIGRsbHMveDExZHJ2L2NvZGVwYWdlLmMsIGRsbHMveDExZHJ2L2RpYi5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlnY2MgNC4wIHdhcm5pbmcgZml4ZXMuCisKKwkqIGRsbHMvY29tY3RsMzIvTWFrZWZpbGUuaW4sIGRsbHMvY29tY3RsMzIvdGhlbWVfZWRpdC5jLAorCSAgZGxscy9jb21jdGwzMi90aGVtaW5nLmM6CisJRnJhbmsgUmljaHRlciA8ZnJhbmsucmljaHRlckBnbWFpbC5jb20+CisJU3ViY2xhc3MgZWRpdCBjb250cm9sIHRvIGRyYXcgdGhlbWVkIGJvcmRlci4KKworCSogZGxscy9jb21jdGwzMi90cmFja2Jhci5jOiBGcmFuayBSaWNodGVyIDxmcmFuay5yaWNodGVyQGdtYWlsLmNvbT4KKwlJbXByb3ZlZCB0cmFja2JhciB0aGVtaW5nLgorCisJKiBkbGxzL3V4dGhlbWUvc3lzdGVtLmM6IEZyYW5rIFJpY2h0ZXIgPGZyYW5rLnJpY2h0ZXJAZ21haWwuY29tPgorCUNvbXBhcmUgcmVzdWx0IG9mIFJlZ1F1ZXJ5VmFsdWVFeFcoKSB3aXRoIEVSUk9SX1NVQ0NFU1MuCisKKwkqIGRsbHMvbXNodG1sL3Byb3RvY29sLmM6IEphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJLSBBZGRlZCBzdXBwb3J0IGZvciBhZ2dyZWdhdGlvbiB0byByZXMgcHJvdG9jb2wuCisJLSBGaXggQWJvdXRQcm90b2NvbF9SZWxlYXNlLgorCS0gVXNlICpfVEhJUyBtYWNyb3MgaW4gcHJvdG9jb2wgb2JqZWN0cy4KKworCSogZGxscy93bGRhcDMyL2FkZC5jOiBIYW5zIExlaWRla2tlciA8aGFuc0BpdC52dS5ubD4KKwlJbXByb3ZlIHBhcmFtZXRlciBoYW5kbGluZyBmb3IgdGhlIGxkYXBfYWRkKiBmdW5jdGlvbnMuCisKKwkqIGRsbHMvc2hlbGwzMi90ZXN0cy9zaGVsbHBhdGguYzoKKwlTYXVsaXVzIEtyYXN1Y2thcyA8c2F1bGl1cy5rcmFzdWNrYXNAaWVlZS5vcmc+CisJRml4IHNvbWUgU0hHZXRTcGVjaWFsRm9sZGVyUGF0aEEgZXhjZXB0aW9ucyBvbiBXaW5NRToKKwktIHBhc3MgcG9pbnRlciB0byB2YWxpZCBidWZmZXIgYXMgbHBzelBhdGguCisJLSBkaXNhYmxlIGNoZWNrIHBhc3NpbmcgTlVMTCBhcyBscHN6UGF0aC4KKworCSogZGxscy9oaGN0cmwub2N4L2hlbHAuYzogSmFtZXMgSGF3a2lucyA8dHJ1aWtlbkBnbWFpbC5jb20+CisJSGFuZGxlIHJlc2l6aW5nIHRoZSBoZWxwIHZpZXdlciB3aW5kb3cuCisKKwkqIGRsbHMvdXh0aGVtZS9kcmF3LmM6IEZyYW5rIFJpY2h0ZXIgPGZyYW5rLnJpY2h0ZXJAZ21haWwuY29tPgorCVdoYXRldmVyIFRydWVTaXplU3RyZXRjaE1hcmsgaXMgZm9yIC0gaXQncyBub3Qgd2hhdCBXaW5lIHV4dGhlbWUgdXNlZAorCWl0IGZvci4gTmF0aXZlIHV4dGhlbWUgYWx3YXlzIHN0cmV0Y2hlcyAidHJ1ZXNpemUiIHBhcnRzIHdoZW4gdGhlCisJZGVzdGluYXRpb24gaXMgc21hbGxlciB0aGFuIHRoZSBwYXJ0IGltYWdlIHNpemUsIGJ1dAorCVRydWVTaXplU3RyZXRjaE1hcmsgZG9lc24ndCBzZWVtIHRvIGhhdmUgYW4gaW5mbHVlbmNlLgorCisJKiBkbGxzL3JpY2hlZDIwL2NvbnRleHQuYywgZGxscy9yaWNoZWQyMC9lZGl0b3IuYywKKwkgIGRsbHMvcmljaGVkMjAvZWRpdHN0ci5oLCBkbGxzL3JpY2hlZDIwL3BhaW50LmMsIGluY2x1ZGUvcmljaGVkaXQuaDoKKwlQaGlsIEtyeWxvdiA8cGhpbEBuZXdzdGFyLnJpbmV0LnJ1PgorCUFkZGVkIEVNX1NFVFJFQ1QsIEVNX1NFVFJFQ1ROUCwgYW5kIFdNX1NFVFJFRFJBVyBtZXNzYWdlIGhhbmRsaW5nLgorCUFkZGVkIHN1cHBvcnQgZm9yIEdUX1NFTEVDVElPTiBmbGFnIGluIEVNX0dFVFRFWFRFWCBoYW5kbGVyLgorCisJKiBkbGxzL29sZTMyL2NvbXBvYmouYywgZGxscy9vbGUzMi9jb21wb2JqLnNwZWMsIGRsbHMvb2xlMzIvb2xlMi5zcGVjLAorCSAgZGxscy9vbGUzMi9vbGUyXzE2LmM6CisJTWFyY3VzIE1laXNzbmVyIDxtZWlzc25lckBzdXNlLmRlPgorCUFkZGVkIENvQ3JlYXRlSW5zdGFuY2UxNiwgQ29HZXRDbGFzc09iamVjdDE2LCBPbGVMb2FkMTYgc3R1YnMuCisKKwkqIGRsbHMvZ2RpL2ZvbnQuYywgZGxscy9nZGkvZ2RpMzIuc3BlYzogVmlrcmFtIEt1bWFyIDx2aWtAem9uZTgxLmNvbT4KKwlBZGRlZCBzdHViIGZvciBFbmFibGVFVURDLgorCisJKiBpbmNsdWRlL2NvbW1jdHJsLmg6IEZyYW5rIFJpY2h0ZXIgPGZyYW5rLnJpY2h0ZXJAZ21haWwuY29tPgorCUFkZCBXQ19FRElUIGFuZCBXQ19MSVNUQk9YLgorCisJKiBkbGxzL2FkdmFwaTMyL2NyeXB0LmMsIGRsbHMvdGFwaTMyL3Bob25lLmMsIGRsbHMvdXNlci9kZGVfY2xpZW50LmM6CisJVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCUNoYW5nZSBzb21lIFRSQUNFaW5nIGZvcm1hdHMgdG8gbWFrZSBtb3JlIHNlbnNlLgorCisJKiBkbGxzL21zeG1sMy9tc3htbF9wcml2YXRlLmg6CisJVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCVByb3RlY3QgbGlieG1sL3BhcnNlci5oIHdpdGggcHJvcGVyIGF1dG9jb25mIGRlZmluaXRpb24uCisKKwkqIGRsbHMvc2hsd2FwaS9vcmRpbmFsLmM6IFZpbmNlbnQgQulyb24gPHZiZXJvbkBtZWNhbm8uZ21lLnVzaGVyYi5jYT4KKwlDb3JyZWN0IHR5cG8gaW4gZm9ybWF0IHN0cmluZy4KKworCSogZGxscy9zZXR1cGFwaS9wYXJzZXIuYzogR2UgdmFuIEdlbGRvcnAgPGd2Z0ByZWFjdG9zLmNvbT4KKwlpbmRleCBpcyAxLWJhc2VkIGF0IHRoaXMgcG9pbnQsIGluZGV4ID09IGxpbmUtPm5iX2ZpZWxkcyBpcyB0aGUgbGFzdAorCWZpZWxkIGFuZCBpcyB2YWxpZC4KKworCSogZGxscy93aW5hc3BpL2FzcGkuYzogR2VyYWxkIFBmZWlmZXIgPGdlcmFsZEBwZmVpZmVyLmNvbT4KKwlzZXRfbGFzdF9lcnJvcigpIGlzIG9ubHkgdXNlZCBvbiBMaW51eC4KKworCSogZGxscy93bGRhcDMyL01ha2VmaWxlLmluLCBkbGxzL3dsZGFwMzIvbW9kaWZ5LmMsCisJICBkbGxzL3dsZGFwMzIvd2lubGRhcF9wcml2YXRlLmgsIGRsbHMvd2xkYXAzMi93bGRhcDMyLnNwZWM6CisJSGFucyBMZWlkZWtrZXIgPGhhbnNAaXQudnUubmw+CisJSW1wbGVtZW50IGxkYXBfbW9kaWZ5KiBmdW5jdGlvbnMuCisKKwkqIGRsbHMva2VybmVsL2luc3RyLmM6IFZpdGFsaXkgTWFyZ29sZW4gPHdpbmUtcGF0Y2hAa2lldmluZm8uY29tPgorCUFkZCBlbnRyeSBmb3IgaW50IDIgaGFuZGxlci4KKworCSogZGxscy9zaGVsbDMyL3NoZmxkcl9kZXNrdG9wLmM6CisJTWljaGFlbCBKdW5nIDxtanVuZ0Bpc3MudHUtZGFybXN0YWR0LmRlPgorCUdlIHZhbiBHZWxkb3JwIDxndmdAcmVhY3Rvcy5jb20+CisJLSBQcmVwZW5kIERlc2t0b3AgZm9sZGVyIHBhdGggZm9yIGZpbGVzL2RpcmVjdG9yaWVzIHN0b3JlZCBpbiB0aGUKKwkgIGZpbGVzeXN0ZW0gRGVza3RvcCBmb2xkZXIgd2hlbiBHZXREaXNwbGF5TmFtZU9mIGlzIGNhbGxlZCB3aXRoIHRoZQorCSAgU0hHRE5fRk9SUEFSU0lORyBmbGFncy4KKwktIEFkZCB0ZXN0Y2FzZXMuCisKKwkqIGRsbHMvbXNodG1sL21zaHRtbF9wcml2YXRlLmgsIGRsbHMvbXNodG1sL3Rlc3RzL2h0bWxkb2MuYywKKwkgIGRsbHMvbXNodG1sL3ZpZXcuYzoKKwlKYWNlayBDYWJhbiA8amFja0BpdG1hLnB3ci53cm9jLnBsPgorCUFjdGl2YXRlIHdpbmRvdyBpbiBJT2xlRG9jdW13bnJWaWV3OjpTaG93LgorCisJKiBkbGxzL21zaHRtbC90ZXN0cy9wcm90b2NvbC5jOiBKYWNlayBDYWJhbiA8amFja0BpdG1hLnB3ci53cm9jLnBsPgorCUZpeCBwcm90b2NvbCB0ZXN0IG9uIHdpbnhwLgorCisJKiBkbGxzL3NoZWxsMzIvdGVzdHMvc2hsZm9sZGVyLmM6CisJU2F1bGl1cyBLcmFzdWNrYXMgPHNhdWxpdXMua3Jhc3Vja2FzQGllZWUub3JnPgorCVhQIHJldHVybnMgRV9JTlZBTElEQVJHIG9uIGZhaWx1cmUuCisKKwkqIGRsbHMvaGhjdHJsLm9jeC9oZWxwLmM6IEphbWVzIEhhd2tpbnMgPHRydWlrZW5AZ21haWwuY29tPgorCS0gUGFpbnQgc3BhY2luZyBhcm91bmQgdGhlIHRhYiBjb250cm9sLgorCS0gVXNlIENPTE9SX01FTlUgdG8gc3RhbmRhcmRpemUgdGhlIGNvbG9ycyBvZiB0aGUgdmlld2VyLgorCisJKiBkbGxzL21zdmNydGQvTWFrZWZpbGUuaW46IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggZ2NjIDQuMCBidWlsdGluIGZ1bmN0aW9uIHdhcm5pbmdzLgorCisJKiBwcm9ncmFtcy93aW5lY2ZnL0phLnJjLCBwcm9ncmFtcy93aW5lY2ZnL3dpbmVjZmcucmM6CisJVmlrcmFtIEt1bWFyIDx2aWtAem9uZTgxLmNvbT4KKwlBZGRlZCBKYXBhbmVzZSByZXNvdXJjZXMuCisKKwkqIGRsbHMvdXh0aGVtZS9kcmF3LmM6IEZyYW5rIFJpY2h0ZXIgPGZyYW5rLnJpY2h0ZXJAZ21haWwuY29tPgorCUJldHRlciBjb21wdXRhdGlvbnMgdG8gaGF2ZSB1bmlmb3JtbHkgc2l6ZWQgcGFydHMgc2NhbGVkIGluIGJvdGgKKwlkaXJlY3Rpb25zLgorCisJKiBkbGxzL2NvbWN0bDMyL3Byb2dyZXNzLmM6IEZyYW5rIFJpY2h0ZXIgPGZyYW5rLnJpY2h0ZXJAZ21haWwuY29tPgorCUluc3RlYWQgb2YgYWRkaW5nIHRoZSBib3JkZXIgdmlhIFdNX05DUEFJTlQgYW5kIFdNX05DQ0FMQ1NJWkUsIGRvIHdoYXQKKwluYXRpdmUgZG9lczoganVzdCBjbGVhciBXU19FWF9TVEFUSUNFREdFIHdoZW4gdGhlbWVkIGFuZCByZWR1Y2UgdGhlCisJYXJlYSB0aGUgYWN0dWFsIGJhciBpcyBwYWludGVkIGluIHRvIHRoZSBwcm9ncmVzcyBiYXIgdGhlbWUgcGFydAorCWNvbnRlbnQgcmVjdC4KKworCSogZGxscy94MTFkcnYvd2lucG9zLmM6IEZyYW5rIFJpY2h0ZXIgPGZyYW5rLnJpY2h0ZXJAZ21haWwuY29tPgorCUludmFsaWRhdGUgRENFcyB3aGVuIGEgd2luZG93IHJlZ2lvbiBpcyBzZXQuCisKKzIwMDUtMDgtMTIgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvbnRkbGwvaGVhcC5jOgorCUNvbnZlcnRlZCB0aGUgcHJvY2VzcyBoZWFwIGxpc3QgdG8gYSBzdGFuZGFyZCBsaXN0LgorCisJKiBkbGxzL3NldHVwYXBpL21pc2MuYywgZGxscy9zZXR1cGFwaS9zZXR1cGFwaS5zcGVjOgorCUFkZGVkIHN0dWJzIGZvciBwU2V0dXBHZXQvU2V0R2xvYmFsRmxhZ3MuCisKKwkqIGRsbHMva2VybmVsL3Rlc3RzL3RocmVhZC5jLCBkbGxzL250ZGxsL2Nkcm9tLmMsCisJICBkbGxzL3dpbmVkM2QvZGV2aWNlLmMsIGRsbHMvd2luZWQzZC9kaXJlY3R4LmMsCisJICBkbGxzL3dpbmVkM2QvZHJhd3ByaW0uYywgZGxscy93aW5lZDNkL3ZlcnRleGRlY2xhcmF0aW9uLmMsCisJICBkbGxzL3dpbmluZXQvdGVzdHMvd2luaW5ldF90ZXN0LmgsIHRvb2xzL3dpbmFwaS93aW5hcGkucG06CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJQXNzb3J0ZWQgc3BlbGxpbmcgZml4ZXMuCisKKwkqIGRsbHMvbnRkbGwvaGVhcC5jOiBDb252ZXJ0ZWQgdGhlIGhlYXAgZnJlZSBsaXN0cyB0byBzdGFuZGFyZCBsaXN0cy4KKworCSogZGxscy9udGRsbC9sb2FkZXIuYzogUmVtb3ZlZCBhIHJlZHVuZGFudCBhbmQgcG9zc2libHkgd3Jvbmcgd2FybmluZy4KKworCSogZGxscy9rZXJuZWwva2VybmVsMzIuc3BlYywgZGxscy9rZXJuZWwvbW9kdWxlLmMsCisJICB0b29scy93aW5lYnVpbGQvaW1wb3J0LmM6CisJSW1wbGVtZW50ZWQgRGVsYXlMb2FkRmFpbHVyZUhvb2sgYW5kIHVzZSBpdCBpbiB0aGUgd2luZWJ1aWxkLWdlbmVyYXRlZAorCWRlbGF5IGxvYWQgY29kZS4KKworCSogZGxscy9jb21jdGwzMi90aGVtaW5nLmM6IEZyYW5rIFJpY2h0ZXIgPGZyYW5rLnJpY2h0ZXJAZ21haWwuY29tPgorCURldGVybWluaW5nIHRoZSBzdXBlcmNsYXNzIGZvciBhIHdpbmRvdyBzdWJjbGFzc2VkIGZvciB0aGVtaW5nIGRvZXNuJ3QKKwl3b3JrIC0gZS5nLiBEZWxwaGkgYnV0dG9ucyBoYXZlIHRoZSBjbGFzc25hbWUgIlRCdXR0b24iIGZvciB3aGljaCBubworCXN1cGVyY2xhc3Mgd2lsbCBiZSBmb3VuZC4gSW5zdGVhZCwgdXNlIGluaXRpYWwgc3ViY2xhc3Mgd2luZG93IHByb2NzCisJdGhhdCBoYXZlIHRoZSBzdWJjbGFzcyBoYXJkY29kZWQgYW5kIHN0b3JlIGl0IGZvciB0aGUgInJlYWwiIHN1YmNsYXNzCisJd2luZG93IHByb2MuCisKKwkqIGluY2x1ZGUvbXNodG1oc3QuaWRsOiBKYWNlayBDYWJhbiA8amFja0BpdG1hLnB3ci53cm9jLnBsPgorCUZpeCBTaG93KkhUTUxEaWFsb2cgZGVjbGFyYXRpb25zLgorCisJKiBwcm9ncmFtcy93aW5lY2ZnL0VuLnJjOiBSaWNoYXJkIENvaGVuIDxyaWNoYXJkQGRhaWpvYnUuY28udWs+CisJVXBkYXRlIEVuZ2xpc2ggbmV1dHJhbCB2ZXJzaW9uIG9mIHdpbmVjZmcgZ3JhcGhpY3MgdGFiLCBhbmQgbWFrZSB0aGUKKwlncm91cGJveGVzIG5vdCBvdmVybGFwLgorCisJKiBkbGxzL3dsZGFwMzIvb3B0aW9uLmMsIGRsbHMvd2xkYXAzMi93bGRhcDMyLmg6CisJSGFucyBMZWlkZWtrZXIgPGhhbnNAaXQudnUubmw+CisJSW1wbGVtZW50IExEQVBfT1BUX0FQSV9GRUFUVVJFX0lORk8gYW5kIExEQVBfT1BUX0FQSV9JTkZPLgorCisJKiBkbGxzL21zaHRtbC9vbGVvYmouYzogSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwktIEFkZGVkIElPbGVPYmplY3Q6OkNsb3NlIGltcGxlbWVudGF0aW9uLgorCS0gT0xFSVZFUkJfSU5QTEFDRUFDVElWQVRFIGlzIHRoZSBzYW1lIGFzIE9MRUlWRVJCX1VJQUNUSVZBVEUuCisKKwkqIGRsbHMvc2hsd2FwaS9vcmRpbmFsLmMsIGRsbHMvc2hsd2FwaS9zaGx3YXBpLnNwZWM6CisJSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbXBsZW1lbnQgU0hMb2FkUmVnVUlTdHJpbmdXLgorCisJKiBkbGxzL3NobHdhcGkvdGVzdHMvc2hyZWcuYzogUmljaGFyZCBDb2hlbiA8cmljaGFyZEBkYWlqb2J1LmNvLnVrPgorCUJsYW1lIEV4cGFuZEVudmlyb25tZW50U3RyaW5nc0EgZm9yIHRoZSBmYWlsaW5nIE5UNCB0ZXN0LgorCisJKiBkbGxzL3V4dGhlbWUvbXNzdHlsZXMuYywgZGxscy91eHRoZW1lL21zc3R5bGVzLmgsCisJICBkbGxzL3V4dGhlbWUvc3lzdGVtLmM6CisJRnJhbmsgUmljaHRlciA8ZnJhbmsucmljaHRlckBnbWFpbC5jb20+CisJRW5oYW5jZSB1eHRoZW1lIHRvIHN0b3JlIHRoZSB0aGVtZWQgc3lzdGVtIG1ldHJpY3MgaW4gdGhlIHJlZ2lzdHJ5IGFuZAorCWFsc28gYmFja3VwIHRoZSBvbGQgbWV0cmljcy4gVGhhdCB3YXksIHRoZW1lZCBzeXN0ZW0gY29sb3JzIGFyZSBzZXQKKwlldmVuIHV4dGhlbWUgd2FzIG5vdCBsb2FkZWQgYW5kIGluaXRpYWxpemVkIHlldCwgYW5kIHdoZW4gYSB0aGVtZSBpcworCWRlYWN0aXZhdGVkLCB0aGUgY29sb3JzIHByaW9yIHRvIHRoZSBhY3RpdmF0aW9uIGFyZSByZXN0b3JlZCBhcyB3ZWxsLgorCUFsc28sIG5vdCBoYXZpbmcgdG8gc2V0IHRoZSBzeXN0ZW0gY29sb3JzIGluIHV4dGhlbWUgc3RhcnR1cCB3b3JrcworCWFyb3VuZCB3ZWlyZCBwcm9ibGVtcyB3aGVyZSBTZXRTeXN0ZW1Db2xvcnMoKSBlbmRlZCB1cCBiZWluZyBjYWxsZWQKKwlmcm9tIGluc2lkZSB3aW5kb3cgY3JlYXRpb24gYW5kIHRoaXMgc2VlbWluZ2x5IGxlZCB0byBzb21lIGNyZWF0aW9uCisJbWVzc2FnZSBiZWluZyBzZW50IHR3aWNlLgorCisJKiBkbGxzL2tlcm5lbC9tb2R1bGUuYzoKKwlBZGQgdGhlIDE2LWJpdCBzeXN0ZW0gZGlyZWN0b3J5IGlmIGFueSB0byB0aGUgbW9kdWxlIHNlYXJjaCBwYXRoLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgZGxscy9tc3htbDMvTWFrZWZpbGUuaW4sCisJICBkbGxzL21zeG1sMy90ZXN0cy8uY3ZzaWdub3JlLCBkbGxzL21zeG1sMy90ZXN0cy9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvbXN4bWwzL3Rlc3RzL2RvbWRvYy5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgc29tZSBtc3htbDMgdGVzdHMuCisKKwkqIGRsbHMvbnRkbGwvdmlydHVhbC5jOgorCURvbid0IG1hcCBkYXRhIGJleW9uZCB0aGUgdmlydHVhbCBzaXplIG9mIGEgc2VjdGlvbi4KKworCSogZGxscy9tc3htbDMvbWFpbi5jLCB0b29scy93aW5lLmluZjoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJUGFydGlhbCBpbXBsZW1lbnRhdGlvbiBvZiBEbGxSZWdpc3RlclNlcnZlci4KKworCSogZGxscy93aW5tbS93aW5lYWxzYS9hdWRpby5jOgorCUFsZXggVmlsbGFj7XMgTGFzc28gPGFfdmlsbGFjaXNAcGFsb3NhbnRvLmNvbT4KKwlSZW1vdmUgY3JhY2tsaW5nIGluIERpcmVjdFNvdW5kL0FMU0EgcGxheWJhY2sgd2l0aCBmdWxsIGhhcmR3YXJlCisJYWNjZWxlcmF0aW9uLgorCisJKiBkbGxzL2NvbWN0bDMyL3RyYWNrYmFyLmM6IEZyYW5rIFJpY2h0ZXIgPGZyYW5rLnJpY2h0ZXJAZ21haWwuY29tPgorCUFkZCBpbml0aWFsIHRoZW1pbmcgc3VwcG9ydCBmb3IgdHJhY2tiYXJzLgorCisJKiBkbGxzL2NvbWN0bDMyL3Rvb2xiYXIuYzogRnJhbmsgUmljaHRlciA8ZnJhbmsucmljaHRlckBnbWFpbC5jb20+CisJQWRkIHRoZW1pbmcgZm9yIHRvb2xiYXIgY29udHJvbC4KKworCSogZGxscy94MTFkcnYvY2xpcGJvYXJkLmMsIGRsbHMveDExZHJ2L3hkbmQuYywgZGxscy94MTFkcnYveGZvbnQuYywKKwkgIGRsbHMveDExZHJ2L3hyYW5kci5jLCBkbGxzL3gxMWRydi94cmVuZGVyLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUZpeCBzb21lIGdjYyA0LjAgd2FybmluZ3MuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBkbGxzL21zeG1sMy9kb21kb2MuYywgaW5jbHVkZS9jb25maWcuaC5pbjoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJQWRkIGEgY29uZmlndXJlIHRlc3QgZm9yIHhtbFJlYWRNZW1vcnkuCisKKwkqIGRsbHMvbXN2Y3J0ZC90ZXN0cy9NYWtlZmlsZS5pbiwgZGxscy9tc3ZjcnRkL3Rlc3RzL2RlYnVnLmM6CisJU2F1bGl1cyBLcmFzdWNrYXMgPHNhdWxpdXMyQGFyLmZpLmx0PgorCURvbid0IGltcG9ydCBNU1ZDUlRELkRMTCBhbmQgZG9uJ3QgZmFpbCB3aGVuIGl0IGNvdWxkIG5vdCBiZSBsb2FkZWQuCisKKwkqIGRsbHMvc2hlbGwzMi90ZXN0cy9zaGxmb2xkZXIuYzogU2F1bGl1cyBLcmFzdWNrYXMgPHNhdWxpdXMyQGFyLmZpLmx0PgorCVdpbjk4IHJldHVybnMgSFJFU1VMVF9GUk9NX1dJTjMyKEVSUk9SX0ZJTEVfTk9UX0ZPVU5EKSkgb24gZmFpbHVyZS4KKworCSogZGxscy9tc2h0bWwvbWFpbi5jLCBkbGxzL21zaHRtbC9tc2h0bWwuc3BlYzoKKwlKYWNlayBDYWJhbiA8amFja0BpdG1hLnB3ci53cm9jLnBsPgorCUFkZGVkIFJOSUdldENvbXBhdGlibGVWZXJzaW9uIGltcGxlbWVudGF0aW9uLgorCisJKiBkbGxzL2NvbW1kbGcvZmlsZWRsZy5jOiBNaWNoYWVsIEp1bmcgPG1qdW5nQGlzcy50dS1kYXJtc3RhZHQuZGU+CisJQ2hlY2sgdGhlIEdldFBpZGxGcm9tRGF0YU9iamVjdCdzIGRvU2VsZWN0ZWQgcGFyYW1ldGVyIGJlZm9yZSBjYWxsaW5nCisJYSBtZXRob2Qgb24gaXQuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGZsZHJfdW5peGZzLmM6CisJTWljaGFlbCBKdW5nIDxtanVuZ0Bpc3MudHUtZGFybXN0YWR0LmRlPgorCVVzZSB3aW5lX2dldF9kb3NfZmlsZV9uYW1lIGluc3RlYWQgb2YgR2V0RnVsbFBhdGhOYW1lLgorCisyMDA1LTA4LTExICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL21zaHRtbC9tc2h0bWxfcHJpdmF0ZS5oLCBkbGxzL21zaHRtbC9uc2VtYmVkLmMsCisJICBkbGxzL21zaHRtbC9uc2lmYWNlLmlkbCwgZGxscy9tc2h0bWwvcGVyc2lzdC5jOgorCUphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJVXNlIG5zSVdlYkJyb3dzZXJTdHJlYW0gdG8gbG9hZCBodG1sLgorCisJKiBkbGxzL2tlcm5lbC90YXNrLmM6CisJTWFrZSAxNi1iaXQgdGFzayBwcm9wZXJseSBpbmhlcml0IHRoZSBjdXJyZW50IGRpcmVjdG9yeSBvZiB0aGVpcgorCXBhcmVudCAoYmFzZWQgb24gYSBwYXRjaCBieSBSaWNoYXJkIENvaGVuKS4KKworCSogZGxscy9zaGx3YXBpL3NobHdhcGkuc3BlYywgZGxscy9zaGx3YXBpL3N0cmluZy5jOgorCUh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJSW1wbGVtZW50IFNITG9hZEluZGlyZWN0U3RyaW5nLgorCisJKiBkbGxzL2NvbWN0bDMyL3RhYi5jOiBGcmFuayBSaWNodGVyIDxmcmFuay5yaWNodGVyQGdtYWlsLmNvbT4KKwlGaXggdGV4dCBjb2xvciBmb3IgImJ1dHRvbiIgc3R5bGUgdGFicyB3aGVuIHRoZW1pbmcgaXMgZW5hYmxlZC4KKworCSogZGxscy9jb21jdGwzMi9zdGF0dXMuYzogRnJhbmsgUmljaHRlciA8ZnJhbmsucmljaHRlckBnbWFpbC5jb20+CisJQWRkIHRoZW1pbmcgZm9yIHN0YXR1cyBiYXIgY29udHJvbC4KKworCSogZGxscy9jb21jdGwzMi9wcm9ncmVzcy5jOiBGcmFuayBSaWNodGVyIDxmcmFuay5yaWNodGVyQGdtYWlsLmNvbT4KKwlBZGQgdGhlbWluZyBmb3IgdGhlIHByb2dyZXNzIGNvbnRyb2wuCisKKwkqIE1ha2UucnVsZXMuaW4sIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBkbGxzL2NydGRsbC9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvbXN2Y3J0L3Rlc3RzL01ha2VmaWxlLmluLCBkbGxzL21zdmNydGQvdGVzdHMvTWFrZWZpbGUuaW4sCisJICBwcm9ncmFtcy9ub3RlcGFkL01ha2VmaWxlLmluLCBwcm9ncmFtcy9yZWdlZGl0L01ha2VmaWxlLmluLAorCSAgcHJvZ3JhbXMvdGFza21nci9NYWtlZmlsZS5pbjoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJVHVybiBvZmYgZ2NjIDQuMCdzIGJ1aWx0aW4gd2NoYXIgaW5saW5lcy4KKworCSogZGxscy9zZWN1cjMyL3Rlc3RzL21haW4uYywgaW5jbHVkZS93aW5lcnJvci5oOgorCUthaSBCbGluIDxibGluQGdteC5uZXQ+CisJQWRkZWQgbW9yZSBzZWN1cjMyLmRsbCB0ZXN0cyBhbmQgZml4ZWQgbWlzc2luZyBjb25zdGFudHMgaW4KKwl3aW5lcnJvci5oLgorCisJKiBkbGxzL3dsZGFwMzIvTWFrZWZpbGUuaW4sIGRsbHMvd2xkYXAzMi9kZWxldGUuYywKKwkgIGRsbHMvd2xkYXAzMi93aW5sZGFwX3ByaXZhdGUuaCwgZGxscy93bGRhcDMyL3dsZGFwMzIuc3BlYzoKKwlIYW5zIExlaWRla2tlciA8aGFuc0BpdC52dS5ubD4KKwlJbXBsZW1lbnQgbGRhcF9kZWxldGUqIGZ1bmN0aW9ucy4KKwlBZGQgbWlzc2luZyBzcGVjIGZpbGUgZW50cmllcy4KKworCSogaW5jbHVkZS9jb21tY3RybC5oOiBGcmFuayBSaWNodGVyIDxmcmFuay5yaWNodGVyQGdtYWlsLmNvbT4KKwlBZGQgV0NfQ09NQk9CT1guCisKKwkqIGRsbHMva2VybmVsL29sZGNvbmZpZy5jOiBGcmFuayBSaWNodGVyIDxmcmFuay5yaWNodGVyQGdtYWlsLmNvbT4KKwlGaXggYSBjcmFzaCBvbiBzdGFydHVwIHdoZW4gL3Byb2MvaWRlIGRvZXMgbm90IGV4aXN0LgorCisJKiBkbGxzL2NvbWN0bDMyL3JlYmFyLmM6IEZyYW5rIFJpY2h0ZXIgPGZyYW5rLnJpY2h0ZXJAZ21haWwuY29tPgorCUFkZCB0aGVtaW5nIGZvciB0aGUgcmViYXIgY29udHJvbC4KKworCSogZGxscy9jb21jdGwzMi9tb250aGNhbC5jOiBGcmFuayBSaWNodGVyIDxmcmFuay5yaWNodGVyQGdtYWlsLmNvbT4KKwlBZGQgdGhlbWluZyBmb3IgdGhlIG1vbnRoY2FsIGNvbnRyb2wuCisKKwkqIGRsbHMvbXNodG1sL3Byb3RvY29sLmM6IEphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJQWRkZWQgc3VwcG9ydCBmb3IgYWdncmVnYXRpb24gaW4gYWJvdXQgcHJvdG9jb2wuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGxleGVjLmM6IEZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJRml4IHRoZSByZXR1cm4gdmFsdWUgb2YgU0hFTExfQXJnaWZ5KCkgc28gaXQgb25jZSBhZ2FpbiByZXR1cm5zIHRydWUKKwlpZiBhICclMScgb3IgZXF1aXZhbGVudCBwbGFjZWhvbGRlciB3YXMgZm91bmQuIFRoaXMgZml4ZXMKKwlTaGVsbEV4ZWN1dGVFeChscEZpbGU9ImZvby50eHQiLCBscENsYXNzPSJ0eHRmaWxlIikuCisKKwkqIGRsbHMvbnRkbGwvdGVzdHMvYXRvbS5jOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlEZWZpbmUgV0lOMzJfTk9fU1RBVFVTIHNvIHdlIGRvbid0IGdldCAnZHVwbGljYXRlIG1hY3JvJyBlcnJvcnMgd2hlbgorCWNvbXBpbGluZyB3aXRoIHRoZSBQU0RLIGFuZCBNU1ZDLgorCUFkZCBzb21lIHR5cGVzIHRoYXQgYXJlIG5vdCBkZWZpbmVkIGJ5IHRoZSBQU0RLLgorCisJKiBkbGxzL2tlcm5lbC9rZXJuZWwzMi5zcGVjLCBkbGxzL2tlcm5lbC9wYXRoLmMsIGluY2x1ZGUvd2luYmFzZS5oOgorCUFkZGVkIGEgd2luZV9nZXRfZG9zX2ZpbGVfbmFtZSBmdW5jdGlvbiBpbiBrZXJuZWwzMiBhcyBhIHdyYXBwZXIKKwlhcm91bmQgdGhlIG5ldyB3aW5lX3VuaXhfdG9fbnRfZmlsZV9uYW1lLgorCisJKiBwcm9ncmFtcy9tc2lleGVjL21zaWV4ZWMuYywgcHJvZ3JhbXMvbXNpZXhlYy9tc2lleGVjLmg6CisJUmVtb3ZlZCBhIHVzZWxlc3MgaGVhZGVyIGZpbGUuCisKKwkqIGRsbHMvbHpleHBhbmQvbHpleHBhbmQuc3BlYywgZGxscy9semV4cGFuZC9semV4cGFuZDE2LmM6CisJVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCUltcGxlbWVudCBMWkRvbmUgaW4gbHpleHBhbmQsIGFzIHRoZSAzMiBiaXQgb25lIG1vdmVkIHRvIGtlcm5lbC4KKworCSogZGxscy9tc3htbDMvZG9tZG9jLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbmNyZW1lbnQgdGhlIGRvY3VtZW50J3MgcmVmY291bnQgd2hlbiBjcmVhdGluZyB0aGUgcm9vdCBlbGVtZW50LgorCisJKiBkbGxzL21zeG1sMy9lbGVtZW50LmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbXBsZW1lbnQgSVhNTERPTUVsZW1lbnQ6OmdldF90YWdOYW1lLgorCisJKiBkbGxzL2RkcmF3L2RldmljZV9vcGVuZ2wuYywgZGxscy93aW5lZDNkL2RpcmVjdHguYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRml4IGdjYyA0LjAgd2FybmluZ3MuCisKKwkqIGRsbHMvd2luZWQzZC9kZXZpY2UuYzogT2xpdmVyIFN0aWViZXIgPG9saXZlcl9zdGllYmVyQHlhaG9vLmNvLnVrPgorCUFsbG93IHRoZSBwYWxldHRlIHRvIGJlIHNldCBhbmQgcmV0cmlldmVkLgorCisJKiBkbGxzL250ZGxsL2RpcmVjdG9yeS5jLCBkbGxzL250ZGxsL250ZGxsLnNwZWMsCisJICBkbGxzL250ZGxsL250ZGxsX21pc2MuaCwgZGxscy9udGRsbC9wYXRoLmMsIGluY2x1ZGUvd2ludGVybmwuaDoKKwlBZGRlZCBhIHdpbmVfdW5peF90b19udF9maWxlX25hbWUgZnVuY3Rpb24gdG8gZG8gcHJvcGVyIHBhdGhuYW1lCisJY29udmVyc2lvbnMgaW5zdGVhZCBvZiByZWx5aW5nIG9uIEdldEZ1bGxQYXRoTmFtZSBoYWNrcy4KKworCSogZGxscy91c2VyL21lc3NhZ2UuYzoKKwlTZXQgcmVtb3ZlIHRvIFRSVUUgaW4gYWNjZXB0X2hhcmR3YXJlX21lc3NhZ2UgZm9yIG1lc3NhZ2VzIHRoYXQgc2hvdWxkCisJZ28gdG8gYSBkaWZmZXJlbnQgdGhyZWFkLiBTaW1wbGlmeSB0aGUgY29kZSBhIGJpdC4KKworCSogaW5jbHVkZS93aW5sZGFwLmg6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJQWRkIHNvbWUgbWlzc2luZyBMREFQIGRlZmluaXRpb25zLgorCisJKiB0b29scy93aW5lZHVtcC9sbmsuYzogU3RldmVuIEVkd2FyZHMgPHN0ZXZlbl9lZDQxNTNAeWFob28uY29tPgorCUNvcnJlY3Qgc2l6ZSBjaGVjay4KKworCSogZGxscy9zaGVsbDMyL3NoZmxkcl9kZXNrdG9wLmMsIGRsbHMvc2hlbGwzMi90ZXN0cy9zaGxmb2xkZXIuYywKKwkgIGluY2x1ZGUvc2hvYmppZGwuaWRsOgorCVN0ZXZlbiBFZHdhcmRzIDxzdGV2ZW5fZWQ0MTUzQHlhaG9vLmNvbT4KKwlDb3JyZWN0IGRlZmluaXRpb24gb2YgU0ZHQU9fU1RPUkFHRUFOQ0VTVE9SLgorCisJKiBkbGxzL21zeG1sMy9kb21kb2MuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUltcGxlbWVudCBJWE1MRE9NRG9jdW1lbnQ6OmxvYWRYTUwuCisKKwkqIGRsbHMvc2Vuc2FwaS9zZW5zYXBpLmM6IFN0ZXZlbiBFZHdhcmRzIDxzdGV2ZW5fZWQ0MTUzQHlhaG9vLmNvbT4KKwlSZW1vdmUgcmVkdW5kYW50IGluY2x1ZGUuCisKKwkqIHRvb2xzL3dpbmFwaS93aW5hcGlfbG9jYWwucG06CisJVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCUNvcnJlY3QgYSB0eXBvIGluIHdpbmFwaV9sb2NhbC5wbS4KKworCSogdG9vbHMvd2luYXBpL3dpbjMyLmFwaTogVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCUFub3RoZXIgdXBkYXRlIHRvIHdpbiouYXBpLgorCisJKiBkbGxzL3dpbmVkM2QvZGV2aWNlLmMsIGRsbHMvd2luZWQzZC9zdGF0ZWJsb2NrLmMsCisJICBkbGxzL3dpbmVkM2Qvd2luZWQzZF9wcml2YXRlLmg6CisJT2xpdmVyIFN0aWViZXIgPG9saXZlcl9zdGllYmVyQHlhaG9vLmNvLnVrPgorCVRyYWNrIHRoZSBzdGF0ZSBvZiBzb2Z0d2FyZVZlcnRleFByb2Nlc3NpbmcuCisKKwkqIGRsbHMvd2luZWQzZC9iYXNldGV4dHVyZS5jOgorCU9saXZlciBTdGllYmVyIDxvbGl2ZXJfc3RpZWJlckB5YWhvby5jby51az4KKwlDb3JyZWN0IHRoZSBzdGFydGluZyB2YWx1ZXMgb2YgTUlOLCBNQVggYW5kIE1JUCBmaWx0ZXIsIHRoZXkgbm93IG1hdGNoCisJdGhlIGluaXRpYWwgdmFsdWVzIGluIG9wZW5nbC4KKworCSogZGxscy9yaWNoZWQyMC93cml0ZXIuYzogUGhpbCBLcnlsb3YgPHBoaWxAbmV3c3Rhci5yaW5ldC5ydT4KKwlGaXhlZCBhIGJ1ZyBpbiBFTV9TVFJFQU1PVVQgUmljaEVkaXQgbWVzc2FnZSBoYW5kbGVyIHdoaWNoIHRydW5jYXRlZAorCXNvbWUgc3RyZWFtZWQgdGV4dC4KKworCSogZGxscy9tc2h0bWwvaHRtbGRvYy5jLCBkbGxzL21zaHRtbC9tYWluLmMsCisJICBkbGxzL21zaHRtbC9tc2h0bWxfcHJpdmF0ZS5oLCBkbGxzL21zaHRtbC9uc2VtYmVkLmMsCisJICBkbGxzL21zaHRtbC9vbGVvYmouYywgZGxscy9tc2h0bWwvb2xld25kLmMsIGRsbHMvbXNodG1sL3BlcnNpc3QuYywKKwkgIGRsbHMvbXNodG1sL3Byb3RvY29sLmMsIGRsbHMvbXNodG1sL3NlcnZpY2UuYywgZGxscy9tc2h0bWwvdmlldy5jOgorCUphY2VrIENhYmFuIDxjamFjZWtAZ21haWwuY29tPgorCU1vdmUgaW5jbHVkZXMgb2YgaW50ZXJmYWNlcyB0byBtc2h0bWxfcHJpdmF0ZS5oLgorCisJKiBkbGxzL3NoZWxsMzIvc2hsZXhlYy5jOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCUZpeCBoYW5kbGluZyBvZiBTRUVfTUFTS19DTEFTU05BTUUgYW5kIFNFRV9NQVNLX0NMQVNTS0VZLiBUaGV5IGFyZSBub3QKKwlkaXNqb2ludCBmbGFncy4KKworCSogZGxscy9udGRsbC90ZXN0cy9yZWcuYzogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJUmVtb3ZlIHVubmVlZGVkIHdpbmUvbGlicmFyeS5oIGluY2x1ZGUuCisJVXNlIGxzdHJsZW5XKCkgaW5zdGVhZCBvZiB0aGUgV2luZS1zcGVjaWZpYyBzdHJsZW5XKCkuIFRoaXMgYWxzbyBsZXRzCisJdXMgZ2V0IHJpZCBvZiB0aGUgd2luZS91bmljb2RlLmggaW5jbHVkZS4KKwlEZWZpbmUgdGhlIEluaXRpYWxpemVPYmplY3RBdHRyaWJ1dGVzKCkgbWFjcm8gaWYgbm90IHVzaW5nIFdpbmUncworCXdpbnRlcm5sLmggaGVhZGVyLgorCisyMDA1LTA4LTEwICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2tlcm5lbC92ZXJzaW9uLmM6CisJRGlyZWN0bHkgdXNlIHRoZSBQRUIgdmVyc2lvbiBmaWVsZHMgaW4gR2V0VmVyc2lvbi4KKworCSogZGxscy9zaGx3YXBpL29yZGluYWwuYywgZGxscy9zaGx3YXBpL3NobHdhcGkuc3BlYzoKKwlIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCVBhcnRpYWwgaW1wbGVtZW50YXRpb24gb2YgRGVsZXRlTWVudVdyYXAuCisKKwkqIGRsbHMvdXNlci90ZXN0cy9kY2UuYzogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJRGVmaW5lIERDWF9VU0VTVFlMRSBpZiBpdCBpcyBub3QgZGVmaW5lZCBhbHJlYWR5LiBGaXhlcyB0aGUKKwljb21waWxhdGlvbiB3aXRoIHRoZSBQU0RLLgorCisJKiBkbGxzL250ZGxsL3Rlc3RzL3J0bC5jOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlEZWZpbmUgUlRMX0hBTkRMRSBhbmQgUlRMX0hBTkRMRV9UQUJMRSBpZiBub3QgdXNpbmcgV2luZSdzIHdpbnRlcm5sLmgKKwloZWFkZXIuIEZpeGVzIHRoZSBjb21waWxhdGlvbiB3aXRoIHRoZSBQU0RLLgorCisJKiBpbmNsdWRlL3dpbmxkYXAuaDogSGFucyBMZWlkZWtrZXIgPGhhbnNAaXQudnUubmw+CisJU3luY2hyb25pemUgd2lubGRhcC5oIHdpdGggd2lubGRhcF9wcml2YXRlLmguCisKKwkqIGRsbHMvbnRkbGwvcnRsLmMsIGRsbHMvbnRkbGwvdmVyc2lvbi5jOgorCUltcGxlbWVudGVkIFJ0bEdldE50UHJvZHVjdFR5cGUuCisKKwkqIGRsbHMvZG1iYW5kL2RtYmFuZF9tYWluLmMsIGRsbHMvZG1sb2FkZXIvZG1sb2FkZXJfbWFpbi5jLAorCSAgZGxscy9kbXNjcmlwdC9kbXNjcmlwdF9tYWluLmMsIGRsbHMvZG1zeW50aC9kbXN5bnRoX21haW4uYywKKwkgIGRsbHMvZG11c2ljL2RtdXNpY19tYWluLmMsIGRsbHMvZHN3YXZlL2Rzd2F2ZV9tYWluLmM6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJQ29ycmVjdCBtb3JlIG1pc21hdGNoZXMgYmV0d2VlbiBzcGVjIGZpbGVzIGFuZCBjb21tZW50cyBhYm91dCBleHBvcnQKKwludW1iZXIuCisKKwkqIGRsbHMva2VybmVsL3Rlc3RzL2NvbW0uYzogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJQWRkIHRyYWlsaW5nICdcbidzIHRvIHRyYWNlKCkgY2FsbC4KKworCSogZGxscy9jb21jdGwzMi90ZXN0cy90cmVldmlldy5jOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlUaGUgUFNESyBkb2VzIG5vdCBkZWZpbmUgYSBUcmVlVmlld19JbnNlcnRJdGVtQSgpIG1hY3JvIHNvIHVzZQorCVRyZWVWaWV3X0luc2VydEl0ZW0oKSBpbnN0ZWFkLgorCisJKiBkbGxzL3dpbm1tL3dpbmVlc2QvYXVkaW8uYzogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlVbmljb2RpZnkgd2luZWVzZC4KKwlGaXhlcyBXSURNX0dFVERFVkNBUFMgYW5kIFdPRE1fR0VUREVWQ0FQUy4KKwlDYWxsIFVuaWNvZGUgZnVuY3Rpb25zIGluc3RlYWQgb2YgdGhlaXIgQW5zaSBlcXVpdmFsZW50IHdoZW4gcG9zc2libGUuCisKKwkqIGRsbHMvd2xkYXAzMi9NYWtlZmlsZS5pbiwgZGxscy93bGRhcDMyL2FkZC5jLAorCSAgZGxscy93bGRhcDMyL3dsZGFwMzIuc3BlYzoKKwlIYW5zIExlaWRla2tlciA8aGFuc0BpdC52dS5ubD4KKwlJbXBsZW1lbnQgbGRhcF9hZGQqIGZ1bmN0aW9ucy4KKworCSogZGxscy9rZXJuZWwvcHJvY2Vzcy5jLCBkbGxzL250ZGxsL2xvYWRlci5jLCBkbGxzL250ZGxsL250ZGxsLnNwZWMsCisJICBkbGxzL250ZGxsL250ZGxsX21pc2MuaCwgZGxscy9udGRsbC92ZXJzaW9uLmM6CisJTW92ZWQgdGhlIHZlcnNpb24gaW5pdGlhbGl6YXRpb24gdG8gbnRkbGwuCisJUHJvcGVybHkgc2V0IHRoZSB2ZXJzaW9uIGZpZWxkcyBpbiB0aGUgUEVCLgorCVJlbW92ZWQgc29tZSBubyBsb25nZXIgdXNlZCBzdHJ1Y3R1cmVzLgorCisJKiB0b29scy93aW5lYnVpbGQvcmVzMzIuYzoKKwlCeXRlc3dhcCB0aGUgcmVzb3VyY2VzIGlmIHdlIGRldGVjdCB0aGF0IHRoZSBoZWFkZXIgaXMgaW4gdGhlIHdyb25nCisJZW5kaWFubmVzcy4KKworCSogZGxscy9kcGxheXgvZHBjbGFzc2ZhY3RvcnkuYywgZGxscy9kcGxheXgvZHBsYXl4LnNwZWMsCisJICBkbGxzL2RwbGF5eC9kcGxheXhfbWFpbi5jLCBkbGxzL2RwbmhwYXN0L2RwbmhwYXN0LnNwZWMsCisJICBkbGxzL2RwbmhwYXN0L21haW4uYywgZGxscy9tc2kvbXNpLmMsIGRsbHMvbXNpL21zaS5zcGVjLAorCSAgZGxscy9tc2kvcmVnc3ZyLmMsIGRsbHMvb2xlYXV0MzIvb2xlYXV0LmMsCisJICBkbGxzL29sZWF1dDMyL29sZWF1dDMyLnNwZWMsIGRsbHMvb2xlYXV0MzIvcmVnc3ZyLmM6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJQ2hhbmdlIHNvbWUgRGxsKiBmdW5jdGlvbnMgc28gdGhleSBhcmUgZXhwb3J0ZWQgYnkgbmFtZSBsaWtlIG9uCisJV2luZG93cy4KKwlVcGRhdGUgdGhlIGRvY3VtZW50YXRpb24gYWNjb3JkaW5nbHkuCisKKwkqIGRsbHMvd2xkYXAzMi93bGRhcDMyLnJjLCBkbGxzL3dsZGFwMzIvd2xkYXAzMl9Gci5yYzoKKwlKb25hdGhhbiBFcm5zdCA8Sm9uYXRoYW5AZXJuc3RmYW1pbHkuY2g+CisJRnJlbmNoIGxvY2FsaXphdGlvbiBmb3Igd2xkYXAzMi4KKworCSogZGxscy9rZXJuZWwvbHpleHBhbmQuYzogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJVXBkYXRlIHRoZSBkb2N1bWVudGF0aW9uIHRvIHJlZmxlY3QgdGhlIGZhY3QgdGhhdCB0aGUgTFoqIGZ1bmN0aW9ucworCWFyZSBpbXBsZW1lbnRlZCBpbiBrZXJuZWwzMi5kbGwgbm93LgorCisJKiBkbGxzL3dsZGFwMzIvd2lubGRhcF9wcml2YXRlLmgsIGRsbHMvd2xkYXAzMi93bGRhcDMyLmg6CisJSGFucyBMZWlkZWtrZXIgPGhhbnNAaXQudnUubmw+CisJQWRkIGhlbHBlcnMgZm9yIGNvbnZlcnRpbmcgKGFycmF5cyBvZikgTERBUE1vZCBzdHJ1Y3R1cmVzIGludG8KKwlkaWZmZXJlbnQgZW5jb2RpbmdzLgorCisJKiBkbGxzL3NobHdhcGkvb3JkaW5hbC5jLCBkbGxzL3NobHdhcGkvc2hsd2FwaS5zcGVjOgorCUh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJSW1wbGVtZW50IElVbmtub3duX0VudW1PYmplY3RzLgorCisJKiBkbGxzL2tlcm5lbC9wcm9maWxlLmMsIGRsbHMva2VybmVsL3Rlc3RzL3Byb2ZpbGUuYzoKKwlSaWNoYXJkIENvaGVuIDxyaWNoYXJkQGRhaWpvYnUuY28udWs+CisJLSBGaXggcmVncmVzc2lvbiBpbiBHZXRQcml2YXRlUHJvZmlsZVN0cmluZzE2IGZvciBrZXk9TlVMTC4KKwktIENoZWNrIHJldHVybiB2YWx1ZXMgaW4gUHJvZmlsZSB0ZXN0cy4KKworCSogZGxscy9nZGkvbWV0YWZpbGUuYywgZGxscy9rZXJuZWwva2VybmVsX21haW4uYywKKwkgIGRsbHMva2VybmVsL2xvY2FsMTYuYywgZGxscy9rZXJuZWwvcmVzb3VyY2UxNi5jLCBkbGxzL2tlcm5lbC90YXNrLmMsCisJICBkbGxzL29sZTMyL29sZTE2LmMsIGRsbHMvb2xlMzIvc3RvcmFnZS5jLCBkbGxzL3VzZXIvZWRpdC5jLAorCSAgZGxscy91c2VyL3VzZXIxNi5jLCBkbGxzL3dpbm1tL21tc3lzdGVtLmMsIGRsbHMvd293MzIvd293X21haW4uYywKKwkgIGluY2x1ZGUvd2luZS93aW5iYXNlMTYuaCwgaW5jbHVkZS93b3dudDMyLmg6CisJVXNlIHRoZSBwcm9wZXIgV09XIGZ1bmN0aW9ucyBldmVyeXdoZXJlIGluc3RlYWQgb2YgdGhlIEszMldPVyB2YXJpYW50LgorCisJKiBkbGxzL3dpbmFzcGkvTWFrZWZpbGUuaW4sIGRsbHMvd2luYXNwaS9hc3BpLmMsCisJICBkbGxzL3dpbmFzcGkvd2luZXNjc2kuaDoKKwlWaXRhbGl5IE1hcmdvbGVuIDx3aW5lLXBhdGNoQGtpZXZpbmZvLmNvbT4KKwlNYWtlIHVzZSBvZiBub3cgZnVsbCBhbmQgY29ycmVjdCBIS0xNXEhBUkRXQVJFXERFVklDRVNcU2NzaS4KKworCSogZGxscy9rZXJuZWwvb2xkY29uZmlnLmM6IFZpdGFsaXkgTWFyZ29sZW4gPHdpbmUtcGF0Y2hAa2lldmluZm8uY29tPgorCVVzZSAvcHJvYyBmaWxlc3lzdGVtIHRvIGNyZWF0ZSBIS0xNXEhBUkRXQVJFXERFVklDRU1BUFxTY3NpIGVudHJpZXMuCisKKwkqIHByb2dyYW1zL3dpbmVsYXVuY2hlci5pbjogTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJRml4ZWQgaGFybWxlc3MgL3RtcCBwcm9ibGVtLgorCisJKiBkbGxzL3VzZXIvZHJpdmVyLmMsIGRsbHMvdXNlci91c2VyX21haW4uYywgZGxscy91c2VyL3VzZXJfcHJpdmF0ZS5oOgorCU1ha2Ugc3VyZSB3ZSBkb24ndCBjYWxsIHRoZSBncmFwaGljcyBkcml2ZXIgYWZ0ZXIgcHJvY2VzcyBkZXRhY2guCisKKwkqIGRsbHMvbXN4bWwzL01ha2VmaWxlLmluLCBkbGxzL21zeG1sMy9kb21kb2MuYywgZGxscy9tc3htbDMvZWxlbWVudC5jLAorCSAgZGxscy9tc3htbDMvbXN4bWxfcHJpdmF0ZS5oLCBkbGxzL21zeG1sMy9ub2RlLmMsCisJICBkbGxzL21zeG1sMy9ub2RlbWFwLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUNyZWF0ZSBhIG5vZGUgb2JqZWN0IGFuZCB1c2UgaXQgdG8gaG9sZCBsaWJ4bWwyIHBvaW50ZXJzLgorCisJKiBkbGxzL21zaHRtbC9tc2h0bWxfcHJpdmF0ZS5oLCBkbGxzL21zaHRtbC9uc2VtYmVkLmMsCisJICBkbGxzL21zaHRtbC9wZXJzaXN0LmMsIGRsbHMvbXNodG1sL3ZpZXcuYzoKKwlKYWNlayBDYWJhbiA8amFja0BpdG1hLnB3ci53cm9jLnBsPgorCUluaXQgbnNXZWJCcm93c2VyIHdpbmRvdyB3aGlsZSBjcmVhdGluZyBuc2NvbnRhaW5lci4KKworCSogZGxscy9hdGwvcmVnaXN0cmFyLmMsIGRsbHMvZG1iYW5kL2RtYmFuZF9tYWluLmMsCisJICBkbGxzL2RtbG9hZGVyL2RtbG9hZGVyX21haW4uYywgZGxscy9kbXNjcmlwdC9kbXNjcmlwdF9tYWluLmMsCisJICBkbGxzL2Rtc3ludGgvZG1zeW50aF9tYWluLmMsIGRsbHMvZG11c2ljL2RtdXNpY19tYWluLmMsCisJICBkbGxzL2Rzd2F2ZS9kc3dhdmVfbWFpbi5jLCBkbGxzL21sYW5nL21sYW5nLmMsIGRsbHMvbXNodG1sL21haW4uYywKKwkgIGRsbHMvbXNpL21zaS5jLCBkbGxzL21zeG1sMy9mYWN0b3J5LmMsIGRsbHMvb2xlMzIvb2xlMi5jLAorCSAgZGxscy9vbGUzMi9vbGUyLnNwZWMsIGRsbHMvb2xlMzIvc3RvcmFnZS5jOgorCVZpbmNlbnQgQulyb24gPHZiZXJvbkBtZWNhbm8uZ21lLnVzaGVyYi5jYT4KKwlDb3JyZWN0IG1pc21hdGNoZXMgYmV0d2VlbiBzcGVjIGZpbGVzIGFuZCBjb21tZW50cyBhYm91dCBleHBvcnQKKwludW1iZXIuCisKKwkqIGRsbHMvdXNwMTAvdXNwMTAuYywgaW5jbHVkZS9tc2FjbWRydi5oLCBpbmNsdWRlL21zaS5oLAorCSAgaW5jbHVkZS9tc3htbC5pZGwsIGluY2x1ZGUvbXN4bWwyLmlkbCwgaW5jbHVkZS9vZGJjaW5zdC5oLAorCSAgaW5jbHVkZS9zdHJtaWYuaWRsLCBpbmNsdWRlL3htbGRvbS5pZGw6CisJVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCVVzZSAjaW5jbHVkZSAiZm9vLmgiIGZvciBpbmNsdWRpbmcgV2luZG93cyBoZWFkZXJzIGluIGRsbHMvLCB1c2UKKwkjaW5jbHVkZSA8YmFyLmg+IGZvciBpbmNsdWRpbmcgV2luZG93cyBoZWFkZXJzIGluIGluY2x1ZGUvLgorCisJKiBkbGxzL2NvbW1kbGcvZmlsZWRsZy5jOiBUcm95IFJvbGxvIDx3aW5lQHRyb3kucm9sbG8ubmFtZT4KKwlCcm93c2UgdG8gdGhlIGRpcmVjdG9yeSBpZiBhIGRpcmVjdG9yeSBuYW1lIGlzIHR5cGVkIGludG8gdGhlIGVkaXQgYm94CisJb2YgYSBmaWxlIGRpYWxvZyBhbmQgdGhlIGNvbmZpcm1hdGlvbiBidXR0b24gKG9yIEVudGVyIGtleSkgaXMgaGl0LgorCVJldHVybiBhbnkgZmlsZSBuYW1lIGluIHRoZSBlZGl0IGJveCBpZiBPRk5fTk9WQUxJREFURSBpcyBzZXQgYW5kCisJT0ZOX0ZJTEVNVVNURVhJU1QgaXMgbm90LCBldmVuIGlmIHRoYXQgZmlsZSBuYW1lIGluY2x1ZGVzIGEgcGF0aCBuYW1lCisJb3IgaXMgdGhlIG5hbWUgb2YgYSBmb2xkZXIuCisKKwkqIGRsbHMvd2xkYXAzMi9iaW5kLmMsIGRsbHMvd2xkYXAzMi9pbml0LmMsIGRsbHMvd2xkYXAzMi9zZWFyY2guYzoKKwlWaW5jZW50IELpcm9uIDx2YmVyb25AbWVjYW5vLmdtZS51c2hlcmIuY2E+CisJVXNlIEhBVkVfTERBUF9IIHdoZW4gY2hlY2tpbmcgaWYgbGRhcC5oIGlzIGF2YWlsYWJsZS4KKworCSogZGxscy9vcGVuZ2wzMi93Z2wuYywgZGxscy9vcGVuZ2wzMi93Z2xfZXh0LmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCWdjYyA0LjAgd2FybmluZyBmaXhlcy4KKworCSogdG9vbHMvd2luYXBpL3dpbjE2LmFwaSwgdG9vbHMvd2luYXBpL3dpbjMyLmFwaToKKwlWaW5jZW50IELpcm9uIDx2YmVyb25AbWVjYW5vLmdtZS51c2hlcmIuY2E+CisJQW5vdGhlciB1cGRhdGUgdG8gdGhlIHdpbiouYXBpIGZpbGVzLgorCisJKiB0b29scy93aW5hcGkvd2luYXBpX2NoZWNrOgorCVZpbmNlbnQgQulyb24gPHZiZXJvbkBtZWNhbm8uZ21lLnVzaGVyYi5jYT4KKwlTaW5jZSB3aW5kb3dzLyBpcyBnb25lLCBoZWFkZXJzIGZvciB1c2VyIGFyZSBvbmx5IGluCisJZGxscy91c2VyLy4gUmVtb3ZlIGtsdWRnZSBmcm9tIHdpbmFwaV9jaGVjay4KKworCSogZGxscy9tYXBpMzIvcHJvcC5jLCBkbGxzL29sZTMyL29sZTE2LmM6CisJVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCVJlbW92ZSBsb2NhbCBkZWNsYXJhdGlvbnMgYWxyZWFkeSBpbiBpbmNsdWRlZCBwdWJsaWMgaGVhZGVycy4KKworCSogaW5jbHVkZS93aW5lL3dpbmJhc2UxNi5oOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRml4IGdjYyA0LjAgd2FybmluZ3MuCisKKzIwMDUtMDgtMDkgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvc2hlbGwzMi9kZWJ1Z2hscC5jOiBVc2UgRVJSIGluc3RlYWQgb2YgRFBSSU5URiBpbiBkdW1wX3BpZGxfaGV4LgorCisJKiB0b29scy93aW5lZ2NjL3V0aWxzLmMsIHRvb2xzL3dpbmVnY2MvdXRpbHMuaCwKKwkgIHRvb2xzL3dpbmVnY2Mvd2luZWdjYy5jOgorCUlnbm9yZSBwcmVsaW5rIGZhaWx1cmVzLgorCisJKiBkbGxzL21zaHRtbC9NYWtlZmlsZS5pbiwgZGxscy9tc2h0bWwvbXNodG1sX3ByaXZhdGUuaCwKKwkgIGRsbHMvbXNodG1sL3BlcnNpc3QuYzoKKwlKYWNlayBDYWJhbiA8amFja0BpdG1hLnB3ci53cm9jLnBsPgorCS0gQmVnaW5uaW5nIGltcGxlbWVudGF0aW9uIG9mIHRydWUgSVBlcnNpc3RNb25pa2VyOjpMb2FkLgorCS0gVEhJUyBtYWNyb3MgY2xlYW51cC4KKworCSogZGxscy9udGRsbC9sb2FkZXIuYzoKKwlEb24ndCBjYWxsIHByb2Nlc3MgYXR0YWNoIG5vdGlmaWNhdGlvbiBkdXJpbmcgcHJvY2VzcyBzaHV0ZG93bi4KKwlNYWtlIHN1cmUgd2UgZG9uJ3QgaW5zZXJ0IGEgbW9kdWxlIGluIHRoZSBzYW1lIGxpc3QgdHdpY2UuCisKKwkqIGRsbHMvbXNodG1sL3Byb3RvY29sLmMsIGRsbHMvbXNodG1sL3Rlc3RzL3Byb3RvY29sLmM6CisJSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwlSZXBvcnQgQklORFNUQVRVU19NSU1FVFlQRUFWQUlMQUJMRSBpbiBBYm91dFByb3RvY29sOjpTdGFydC4KKworCSogZGxscy93bGRhcDMyL01ha2VmaWxlLmluLCBkbGxzL3dsZGFwMzIvb3B0aW9uLmMsCisJICBkbGxzL3dsZGFwMzIvd2xkYXAzMi5zcGVjOgorCUhhbnMgTGVpZGVra2VyIDxoYW5zQGl0LnZ1Lm5sPgorCUltcGxlbWVudCBsZGFwX3tnZXQsc2V0fV9vcHRpb257QSxXfS4KKworCSogZGxscy9zaGx3YXBpL3NobHdhcGkuc3BlYywgZGxscy9zaGx3YXBpL3RocmVhZC5jOgorCUh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJX0NyZWF0ZUFsbEFjY2Vzc1NlY3VyaXR5QXR0cmlidXRlcyB0YWtlcyB0aHJlZSBwYXJhbWV0ZXJzLgorCisJKiBkbGxzL01ha2VkbGwucnVsZXMuaW4sIGRsbHMva2VybmVsL01ha2VmaWxlLmluLAorCSAgZGxscy9udGRsbC9NYWtlZmlsZS5pbjoKKwlTcGVjaWZ5IGEgYmFzZSBhZGRyZXNzIGZvciBrZXJuZWwgYW5kIG50ZGxsLgorCisJKiBkbGxzL21zeG1sMy9tYWluLmMsIGRsbHMvbXN4bWwzL21zeG1sX3ByaXZhdGUuaDoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJSW5pdGlhbGl6ZSBhbmQgY2xlYW4gdXAgbGlieG1sMiBpbiBEbGxNYWluLgorCisJKiBNYWtlLnJ1bGVzLmluLCBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgdG9vbHMvd2luZWdjYy9NYWtlZmlsZS5pbiwKKwkgIHRvb2xzL3dpbmVnY2Mvd2luZWdjYy5jOgorCUFkZGVkIHN1cHBvcnQgZm9yIHRoZSAtLWltYWdlLWJhc2UgbGlua2VyIG9wdGlvbiBpbiB3aW5lZ2NjIHVzaW5nIHRoZQorCXByZWxpbmsgdG9vbC4KKworCSogZGxscy9udGRsbC9udGRsbF9taXNjLmgsIGRsbHMvbnRkbGwvdGhyZWFkLmMsIGRsbHMvbnRkbGwvdmlydHVhbC5jOgorCUFkZGVkIGEgVklSVFVBTF9hbGxvY190ZWIgZnVuY3Rpb24gdG8gYWxsb2NhdGUgVEVCcyB3aGlsZSBtYWtpbmcgc3VyZQorCXRoZXkgZG9uJ3QgZW5kIHVwIGFib3ZlIHRoZSBhZGRyZXNzIHNwYWNlIGxpbWl0LgorCisJKiBkbGxzL29sZWF1dDMyL29sZWF1dC5jLCBkbGxzL29sZWF1dDMyL3RtYXJzaGFsLmMsCisJICBkbGxzL29sZWF1dDMyL3RtYXJzaGFsLmgsIGRsbHMvb2xlYXV0MzIvdHlwZWxpYi5oOgorCUdldCByaWQgb2YgdGhlIGFsbW9zdCBlbXB0eSB0bWFyc2hhbC5oIGZpbGUuCisKKwkqIHNlcnZlci9uYW1lZF9waXBlLmMsIHNlcnZlci9yZWdpc3RyeS5jLCBzZXJ2ZXIvcmVxdWVzdC5jLAorCSAgc2VydmVyL3NvY2suYywgc2VydmVyL3RocmVhZC5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggc29tZSBnY2MgNC4wIHdhcm5pbmdzLgorCisJKiBzZXJ2ZXIvcmVnaXN0cnkuYzoKKwlUaGUgdGVtcCBidWZmZXIgYWx3YXlzIHN0b3JlcyBXQ0hBUnMsIGZpeGVkIGl0cyB0eXBlIGFuZCBnb3QgcmlkIG9mIGEKKwludW1iZXIgb2YgY2FzdHMuCisKKwkqIGRsbHMvb2xlYXV0MzIvdmFyaWFudC5oLCBkbGxzL29sZWF1dDMyL3ZhcnR5cGUuYzoKKwlNb3ZlZCBhIG51bWJlciBvZiBkZWZpbml0aW9ucyB0aGF0IGFyZSBub3QgbmVlZGVkIGluIG90aGVyIGZpbGVzIGludG8KKwl2YXJ0eXBlLmMKKworCSogZGxscy9NYWtlZmlsZS5pbiwgZGxscy9pdHNzLy5jdnNpZ25vcmUsIGRsbHMvaXRzcy9NYWtlZmlsZS5pbjoKKwlpdHNzIGRvZXNuJ3QgbmVlZCBhbiBpbXBvcnQgbGlicmFyeS4KKworCSogZGxscy9hZHZwYWNrL2FkdnBhY2suc3BlYywgZGxscy9kY2ltYW4zMi9kY2ltYW4zMi5zcGVjLAorCSAgZGxscy9pdHNzL2l0c3Muc3BlYywgZGxscy9tc2ltZzMyL21zaW1nMzIuc3BlYzoKKwlNYXJrIERsbE1haW4gYW5kIHNpbWlsYXIgZXhwb3J0cyBhcyBwcml2YXRlLgorCisJKiB0b29scy93aW5lYnVpbGQvcGFyc2VyLmM6CisJQWRkZWQgYSB3YXJuaW5nIGZvciBEbGxHZXRWZXJzaW9uIGFuZCBEbGxJbnN0YWxsIG5vdCBiZWluZyBkZWNsYXJlZAorCXByaXZhdGUuIEFsc28gd2FybiB3aGVuIG9uZSBvZiB0aGUgRGxsKiBmdW5jdGlvbnMgaXMgdXNpbmcgYSBkaWZmZXJlbnQKKwlpbnRlcm5hbCBuYW1lLgorCisJKiBkbGxzL3VzZXIvbWVudS5jLCBkbGxzL3VzZXIvdGVzdHMvd2luLmMsIGRsbHMvdXNlci93aW4uYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCU1ha2UgQ3JlYXRlV2luZG93IHdpdGggaW52YWxpZCBtZW51IGhhbmRsZSB0ZXN0IHBhc3Mgb24gV2luZS4KKworCSogZGxscy9kM2Q4L2RpcmVjdHguYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUZpeCBnY2MgNC4wIHdhcm5pbmdzLgorCisJKiBpbmNsdWRlL3dpbmJhc2UuaDogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUNvcnJlY3QgT0ZTVFJVQ1QgZGVjbGFyYXRpb24uCisKKwkqIGRsbHMvc2hsd2FwaS9vcmRpbmFsLmMsIGRsbHMvc2hsd2FwaS90ZXN0cy9vcmRpbmFsLmM6CisJSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbXBsZW1lbnQgYW5kIGFkZCB0ZXN0cyBmb3IgdGhlIEZEU0EgZnVuY3Rpb25zLgorCisyMDA1LTA4LTA4ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2dkaS9kaWIuYywgZGxscy94MTFkcnYvZGliLmM6CisJTWljaGFlbCBLYXVmbWFubiA8aGFsbG9AbWljaGFlbC1rYXVmbWFubi5jaD4KKwlGaXggZm9yIEJJX0JJVEZJRUxEUzogVGhlIGNvbG9yIG1hc2tzIGFyZSBhdCB0aGUgc2FtZSBwb3NpdGlvbiBpbiBhbGwKKwl0aGUgYml0bWFwIGhlYWRlcnMgdGhhdCBzdXBwb3J0IHRoaXMgZmxhZyAoQklUTUFQSU5GTzogVGhlIGZpcnN0IGNvbG9yCisJbWFzayBpcyBpbiBibWlDb2xvcnNbMF0sIHRoYXQncyB0aGUgc2FtZSBwb3NpdGlvbiBhcyBiVjRSZWRNYXNrIGluCisJQklUTUFQVjRIRUFERVIpLgorCisJKiBkbGxzL29sZWF1dDMyL3NhZmVhcnJheS5jLCBkbGxzL29sZWF1dDMyL3RtYXJzaGFsLmMsCisJICBkbGxzL29sZWF1dDMyL3R5cGVsaWIuYywgZGxscy9vbGVhdXQzMi90eXBlbGliMi5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlnY2MgNC4wIHdhcm5pbmcgZml4ZXMuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJVXNlIHBrZy1jb25maWcgaW4gdGhlIGxpYnhtbCBjb25maWd1cmUgY2hlY2suCisKKwkqIGRsbHMvbXN4bWwzL2RvbWRvYy5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJVXNlIHhtbFBhcnNlTWVtb3J5IGluc3RlYWQgb2YgeG1sUmVhZElPLgorCisJKiBkbGxzL01ha2VmaWxlLmluLCBkbGxzL3JpY2hlZGl0Ly5jdnNpZ25vcmUsCisJICBkbGxzL3JpY2hlZGl0L01ha2VmaWxlLmluOgorCXJpY2hlZDMyIGRvZXNuJ3QgbmVlZCBhbiBpbXBvcnQgbGlicmFyeS4KKworCSogZGxscy9kbWNvbXBvcy9kbWNvbXBvcy5zcGVjLCBkbGxzL2RtaW1lL2RtaW1lLnNwZWMsCisJICBkbGxzL2Rtc3R5bGUvZG1zdHlsZS5zcGVjLCBkbGxzL3NoZG9jdncvc2hkb2N2dy5zcGVjOgorCUZpeGVkIERsbEdldENsYXNzT2JqZWN0IHNwZWMgZW50cmllcy4KKworCSogZGxscy9zaGVsbDMyL3Rlc3RzL3NobGZpbGVvcC5jLCBkbGxzL3NoZWxsMzIvdGVzdHMvc2hsZm9sZGVyLmM6CisJU2F1bGl1cyBLcmFzdWNrYXMgPHNhdWxpdXMua3Jhc3Vja2FzQGllZWUub3JnPgorCVJlbW92ZSB0cmFpbGluZyBiYWNrc2xhc2guCisKKwkqIGRsbHMvbXN4bWwzL25vZGVtYXAuYzogSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwlGaXhlZCBtc3htbCBjb21waWxhdGlvbiB3aGVuIGxpYnhtbDIgaXMgbm90IGF2YWlsYWJsZS4KKworCSogZGxscy9rZXJuZWwvY29tbS5jOiBHZXJhbGQgUGZlaWZlciA8Z2VyYWxkQHBmZWlmZXIuY29tPgorCUZpeCBhdXRvY29uZi1yZWxhdGVkICNpZmRlZnMgaW4gQ29tbV9DaGVja0V2ZW50cygpLgorCisJKiBkbGxzL3dpbmVkM2Qvc3RhdGVibG9jay5jOgorCU9saXZlciBTdGllYmVyIDxvbGl2ZXJfc3RpZWJlckB5YWhvby5jby51az4KKwlGaXggc3RhdGVibG9jayBsb29wIGVycm9ycy4KKworCSogdG9vbHMvd2luZWR1bXAvcGUuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCWdjYyA0LjAgd2FybmluZyBmaXguCisKKwkqIGRsbHMvc2hsd2FwaS9vcmRpbmFsLmM6IEh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJSVVua25vd25fU2V0U2l0ZSBjYWxscyBJT2JqZWN0V2l0aFNpdGVfU2V0U2l0ZSBvcgorCUlJbnRlcm5ldFNlY3VyaXR5TWFuYWdlcl9TZXRTZWN1cml0eVNpdGUuCisKKwkqIGRsbHMvb2xlYXV0MzIvdGVzdHMvdmFydHlwZS5jOiBTYXVsaXVzIEtyYXN1Y2thcyA8c2F1bGl1czJAYXIuZmkubHQ+CisJQ29tbWVudCBvdXQgVmFyRGF0ZUZyb21TdHIoKSBjYWxscyB0aGF0IGdlbmVyYXRlIGV4Y2VwdGlvbnMgb24gV2luTUUuCisKKwkqIGRsbHMvcmljaGVkaXQvcmljaGVkMzIuc3BlYywgZGxscy9yaWNoZWRpdC9yaWNoZWRpdC5jLAorCSAgZGxscy9zaGx3YXBpL3NobHdhcGkuc3BlYywgZGxscy9zaGx3YXBpL3NobHdhcGlfbWFpbi5jLAorCSAgZGxscy93aW5pbmV0L3dpbmluZXQuc3BlYywgZGxscy93aW5pbmV0L3dpbmluZXRfbWFpbi5jOgorCURvbid0IHByZWZpeCB0aGUgZnVuY3Rpb25zIERsbEluc3RhbGwgYW5kIERsbEdldFZlcnNpb24gd2l0aCB0aGUgZGxsCisJbmFtZSBzbyB0aGF0IHRoZSBjb21waWxlciBjYW4gY2hlY2sgdGhlIHByb3RvdHlwZXMuCisKKwkqIGluY2x1ZGUvc2hsd2FwaS5oOgorCUFkZGVkIGEgcHJvdG90eXBlIGZvciBEbGxHZXRWZXJzaW9uIHRvIGVuYWJsZSB0eXBlIGNoZWNraW5nIGluIHRoZQorCVdpbmUgc291cmNlLgorCisJKiBkbGxzL21hcGkzMi9tYXBpMzIuc3BlYywgZGxscy9tYXBpMzIvbWFwaTMyX21haW4uYywKKwkgIGRsbHMvbWxhbmcvbWxhbmcuYywgZGxscy9tbGFuZy9tbGFuZy5zcGVjLCBkbGxzL21sYW5nL3JlZ3N2ci5jLAorCSAgZGxscy9tcHIvbXByLnNwZWMsIGRsbHMvbXByL21wcl9tYWluLmMsIGRsbHMvbXNodG1sL21haW4uYywKKwkgIGRsbHMvbXNodG1sL21zaHRtbC5zcGVjLCBkbGxzL21zaS9tc2kuYywgZGxscy9tc2kvbXNpLnNwZWMsCisJICBkbGxzL21zaS9tc2lwcml2LmgsIGRsbHMvbXNpL3JlZ3N2ci5jLCBkbGxzL21zaXN5cy9tc2lzeXMuYywKKwkgIGRsbHMvbXNpc3lzL21zaXN5cy5vY3guc3BlYywgZGxscy9tc3htbDMvZmFjdG9yeS5jLAorCSAgZGxscy9tc3htbDMvbWFpbi5jLCBkbGxzL21zeG1sMy9tc3htbDMuc3BlYywgZGxscy9vbGUzMi9vbGUzMi5zcGVjLAorCSAgZGxscy9vbGUzMi9vbGVwcm94eS5jLCBkbGxzL29sZWFjYy9tYWluLmMsIGRsbHMvb2xlYWNjL29sZWFjYy5zcGVjLAorCSAgZGxscy9xY2FwL3FjYXAuc3BlYywgZGxscy9xY2FwL3FjYXBfbWFpbi5jLCBkbGxzL3JwY3J0NC9ycGNydDQuc3BlYywKKwkgIGRsbHMvcnBjcnQ0L3JwY3J0NF9tYWluLmMsIGRsbHMvc2hlbGwzMi9yZWdzdnIuYywKKwkgIGRsbHMvc2hlbGwzMi9zaGVsbDMyLnNwZWMsIGRsbHMvc2hlbGwzMi9zaGVsbDMyX21haW4uYywKKwkgIGRsbHMvc2hlbGwzMi9zaGVsbDMyX21haW4uaCwgZGxscy9zaGVsbDMyL3NoZWxsb2xlLmMsCisJICBkbGxzL3VybG1vbi9yZWdzdnIuYywgZGxscy91cmxtb24vdXJsbW9uLnNwZWMsCisJICBkbGxzL3VybG1vbi91cmxtb25fbWFpbi5jLCBkbGxzL2Ftc3RyZWFtL2Ftc3RyZWFtLnNwZWMsCisJICBkbGxzL2Ftc3RyZWFtL21haW4uYywgZGxscy9hbXN0cmVhbS9yZWdzdnIuYywgZGxscy9hdGwvYXRsLnNwZWMsCisJICBkbGxzL2F0bC9yZWdpc3RyYXIuYywgZGxscy9hdmlmaWwzMi9hdmlmaWwzMi5zcGVjLAorCSAgZGxscy9hdmlmaWwzMi9mYWN0b3J5LmMsIGRsbHMvYXZpZmlsMzIvcmVnc3ZyLmMsCisJICBkbGxzL2NhYmluZXQvY2FiaW5ldC5zcGVjLCBkbGxzL2NhYmluZXQvY2FiaW5ldF9tYWluLmMsCisJICBkbGxzL2NvbWNhdC9jb21jYXQuc3BlYywgZGxscy9jb21jYXQvY29tY2F0X21haW4uYywKKwkgIGRsbHMvY29tY2F0L3JlZ3N2ci5jLCBkbGxzL2NvbWN0bDMyL2NvbWN0bDMyLnNwZWMsCisJICBkbGxzL2NvbWN0bDMyL2NvbW1jdHJsLmMsIGRsbHMvZDNkeG9mL2QzZHhvZi5zcGVjLAorCSAgZGxscy9kM2R4b2YvbWFpbi5jLCBkbGxzL2QzZHhvZi9yZWdzdnIuYywgZGxscy9kZHJhdy9kZHJhdy5zcGVjLAorCSAgZGxscy9kZHJhdy9tYWluLmMsIGRsbHMvZGRyYXcvcmVnc3ZyLmMsIGRsbHMvZGlucHV0L2RpbnB1dC5zcGVjLAorCSAgZGxscy9kaW5wdXQvZGlucHV0X21haW4uYywgZGxscy9kaW5wdXQvcmVnc3ZyLmMsCisJICBkbGxzL2RpbnB1dDgvZGlucHV0OC5zcGVjLCBkbGxzL2RpbnB1dDgvZGlucHV0OF9tYWluLmMsCisJICBkbGxzL2RtYmFuZC9kbWJhbmQuc3BlYywgZGxscy9kbWJhbmQvZG1iYW5kX21haW4uYywKKwkgIGRsbHMvZG1iYW5kL3JlZ3N2ci5jLCBkbGxzL2RtbG9hZGVyL2RtbG9hZGVyLnNwZWMsCisJICBkbGxzL2RtbG9hZGVyL2RtbG9hZGVyX21haW4uYywgZGxscy9kbWxvYWRlci9yZWdzdnIuYywKKwkgIGRsbHMvZG1zY3JpcHQvZG1zY3JpcHQuc3BlYywgZGxscy9kbXNjcmlwdC9kbXNjcmlwdF9tYWluLmMsCisJICBkbGxzL2Rtc2NyaXB0L3JlZ3N2ci5jLCBkbGxzL2Rtc3ludGgvZG1zeW50aC5zcGVjLAorCSAgZGxscy9kbXN5bnRoL2Rtc3ludGhfbWFpbi5jLCBkbGxzL2Rtc3ludGgvcmVnc3ZyLmMsCisJICBkbGxzL2RtdXNpYy9kbXVzaWMuc3BlYywgZGxscy9kbXVzaWMvZG11c2ljX21haW4uYywKKwkgIGRsbHMvZG11c2ljL3JlZ3N2ci5jLCBkbGxzL2RwbGF5eC9kcGNsYXNzZmFjdG9yeS5jLAorCSAgZGxscy9kcGxheXgvZHBsYXl4LnNwZWMsIGRsbHMvZHBsYXl4L2RwbGF5eF9tYWluLmMsCisJICBkbGxzL2RwbGF5eC9yZWdzdnIuYywgZGxscy9kcG5ldC9kcG5ldC5zcGVjLCBkbGxzL2RwbmV0L2RwbmV0X21haW4uYywKKwkgIGRsbHMvZHBuZXQvcmVnc3ZyLmMsIGRsbHMvZHBuaHBhc3QvZHBuaHBhc3Quc3BlYywKKwkgIGRsbHMvZHBuaHBhc3QvbWFpbi5jLCBkbGxzL2Rzd2F2ZS9kc3dhdmUuc3BlYywKKwkgIGRsbHMvZHN3YXZlL2Rzd2F2ZV9tYWluLmMsIGRsbHMvZHN3YXZlL3JlZ3N2ci5jLAorCSAgZGxscy9keGRpYWduL2R4ZGlhZ24uc3BlYzoKKwlEb24ndCBwcmVmaXggdGhlIGZ1bmN0aW9ucyBEbGxDYW5VbmxvYWROb3csIERsbEdldENsYXNzT2JqZWN0IGFuZAorCURsbChVbilSZWdpc3RlclNlcnZlciB3aXRoIHRoZSBkbGwgbmFtZSBzbyB0aGF0IHRoZSBjb21waWxlciBjYW4gY2hlY2sKKwl0aGUgcHJvdG90eXBlcy4KKworCSogaW5jbHVkZS93aW5lL3NlcnZlcl9wcm90b2NvbC5oLCBzZXJ2ZXIvY2hhbmdlLmMsIHNlcnZlci9mZC5jLAorCSAgc2VydmVyL2ZpbGUuYywgc2VydmVyL21hcHBpbmcuYywgc2VydmVyL3Byb3RvY29sLmRlZiwKKwkgIHNlcnZlci9yZXF1ZXN0LmgsIHNlcnZlci90cmFjZS5jOgorCUFkZGVkIGFuIHVubW91bnRfZGV2aWNlIHJlcXVlc3QgdGhhdCBpbnZhbGlkYXRlcyBhbGwgZmlsZSBkZXNjcmlwdG9ycworCW9wZW4gb24gYSBnaXZlbiBVbml4IGRldmljZS4KKworCSogZGxscy9vbGVhdXQzMi92YXJpYW50LmgsIGRsbHMvb2xlYXV0MzIvdmFydHlwZS5jOgorCVJlbW92ZWQgc29tZSB1bm5lY2Vzc2FyeSBtYWNyb3MsIGFuZCBtYWtlIHNvbWUgZnVuY3Rpb25zIHN0YXRpYy4KKworCSogZGxscy9hbXN0cmVhbS9tYWluLmMsIGRsbHMvYXZpZmlsMzIvZmFjdG9yeS5jLCBkbGxzL2QzZHhvZi9tYWluLmMsCisJICBkbGxzL2RkcmF3L21haW4uYywgZGxscy9kcGxheXgvZHBjbGFzc2ZhY3RvcnkuYywKKwkgIGRsbHMvbXNpc3lzL21zaXN5cy5jLCBkbGxzL21zeG1sMy9mYWN0b3J5LmMsCisJICBkbGxzL3VybG1vbi91cmxtb25fbWFpbi5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUFkZCBtaXNzaW5nIFdJTkFQSSB0byBNU1hNTF9EbGxHZXRDbGFzc09iamVjdCgpLgorCVN0YW5kYXJkaXplIHRoZSBEbGxHZXRDbGFzc09iamVjdCgpIHByb3RvdHlwZXMgc28gdGhleSBtYXRjaCB0aGUgTVNETgorCWRlZmluaXRpb24uCisKKwkqIGRsbHMvbXN4bWwzL01ha2VmaWxlLmluLCBkbGxzL21zeG1sMy9lbGVtZW50LmMsCisJICBkbGxzL21zeG1sMy9tc3htbF9wcml2YXRlLmgsIGRsbHMvbXN4bWwzL25vZGVtYXAuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJSW1wbGVtZW50IHRoZSBJWE1MRE9NTmFtZWROb2RlTWFwIGludGVyZmFjZS4KKworCSogZGxscy9nZGkvZHJpdmVyLmMsIGRsbHMvZ2RpL2ZvbnQuYywgZGxscy9nZGkvZnJlZXR5cGUuYywKKwkgIGRsbHMvZ2RpL3Rlc3RzL21ldGFmaWxlLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCVdhcm5pbmcgZml4ZXMgZm9yIGdjYyA0LjAuCisKKwkqIHRvb2xzL01ha2VmaWxlLmluOiBEZXRsZWYgUmlla2VuYmVyZyA8d2luZS5kZXZAd2ViLmRlPgorCUFkZGVkIGV4ZSBleHRlbnNpb25zIGZvciBtaW5ndzMyLgorCisJKiBkbGxzL3NobHdhcGkvc2hsd2FwaS5zcGVjOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCUZvcndhcmQgb3JkaW5hbHMgNDU3LDQ1OCB0byBHZXRMb25nUGF0aE5hbWVXLEEuCisKKwkqIGluY2x1ZGUvd2luc3Bvb2wuaDogRGV0bGVmIFJpZWtlbmJlcmcgPHdpbmUuZGV2QHdlYi5kZT4KKwktIEFjY2VzcyByaWdodHMgZm9yIFByaW50c2VydmVyLCBQcmludGVycyBhbmQgUHJpbnRqb2JzIGFkZGVkLgorCS0gRGVmaW5lcyBmb3IgYmlkaXJlY3Rpb25hbCBjb21tdW5pY2F0aW9uIGFkZGVkLgorCisJKiBkbGxzL21zeG1sMy9lbGVtZW50LmMsIGRsbHMvbXN4bWwzL21zeG1sX3ByaXZhdGUuaDoKKwlKYWNlayBDYWJhbiA8amFja0BpdG1hLnB3ci53cm9jLnBsPgorCUZpeGVkIG1zeG1sIGNvbXBpbGF0aW9uIHdoZW4gbGlieG1sIGlzIG5vdCBhdmFpbGFibGUuCisKKwkqIGRsbHMvd2xkYXAzMi93bGRhcDMyLnJjLCBkbGxzL3dsZGFwMzIvd2xkYXAzMl9SdS5yYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUFkZGVkIFJ1c3NpYW4gcmVzb3VyY2VzIHRvIHdsZGFwMzIuCisKKwkqIGRsbHMvdXNlci90ZXN0cy93aW4uYzogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlDcmVhdGVXaW5kb3cocGFyZW50PU5VTEwsIGN0bGlkIT0wKSBzaG91bGQgZmFpbC4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGRsbHMvZGlucHV0L2pveXN0aWNrX2xpbnV4aW5wdXQuYywKKwkgIGRsbHMvd2lubW0vd2luZW9zcy9taWRpLmMsIGRsbHMvd2lubW0vd2luZW9zcy9vc3MuYywKKwkgIGRsbHMvd2lubW0vd2luZW9zcy9vc3MuaCwgaW5jbHVkZS9jb25maWcuaC5pbjoKKwlSZW1vdmVkIHNvbWUgdW51c2VkIG9yIHJlZHVuZGFudCBjb25maWd1cmUgY2hlY2tzLgorCUEgZmV3IGNsZWFudXBzIGluIGNvbmZpZ3VyZS5hYy4KKworCSogZGxscy91dWlkL3V1aWQuYywgaW5jbHVkZS8uY3ZzaWdub3JlLCBpbmNsdWRlL01ha2VmaWxlLmluLAorCSAgaW5jbHVkZS9obGluay5pZGw6CisJSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwlBZGRlZCBobGluay5pZGwuCisKKwkqIGRsbHMvbXNodG1sL2h0bWxkb2MuYywgZGxscy9tc2h0bWwvbXNodG1sX3ByaXZhdGUuaCwKKwkgIGRsbHMvbXNodG1sL29sZW9iai5jOgorCUphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJQWRkZWQgc3R1YiBpbXBsZW1lbnRhdGlvbiBvZiBJT2xlQ29udHJvbC4KKworCSogZGxscy9nZGkvdGVzdHMvZ2Rpb2JqLmM6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJQWRkIGEgdGVzdCBzaG93aW5nIHRoYXQgV2luZG93cyBkb2Vzbid0IHRpZSBHREkgb2JqZWN0cyB0byBhCisJcGFydGljdWxhciB0aHJlYWQuCisKKwkqIGRsbHMvbXNpL21zaXByaXYuaDogWXVyaSBLb3psb3YgPGtvemxvdi55QGdtYWlsLmNvbT4KKwlSZW1vdmUgZHVwbGljYXRlIGRlY2xhcmF0aW9uIG9mIE1TSV9TZXRQcm9wZXJ0eVcuCisKKwkqIHByb2dyYW1zL3dpbmV0ZXN0L01ha2VmaWxlLmluOiBLYWkgQmxpbiA8YmxpbkBnbXgubmV0PgorCUFkZCBzZWN1cjMyLmRsbCB0ZXN0cyB0byB3aW5ldGVzdC4KKworCSogZGxscy9hdGwvYXRsX21haW4uYywgZGxscy9hdGwvcmVnaXN0cmFyLmM6CisJU3RlZmFuIExlaWNodGVyIDxTdGVmYW4uTGVpY2h0ZXJAY2FtTGluZS5jb20+CisJQmFzaWMgaW1wbGVtZW50YXRpb24gb2YgQXRsTW9kdWxlVXBkYXRlUmVnaXN0cnlGcm9tUmVzb3VyY2VELgorCisJKiB0b29scy93aW5hcGkvd2luYXBpX3BhcnNlci5wbToKKwlWaW5jZW50IELpcm9uIDx2YmVyb25AbWVjYW5vLmdtZS51c2hlcmIuY2E+CisJUmVtb3ZlIFdJTkVfUEFDS0VEIHJlY29nbml0aW9uLgorCVVwZGF0ZSB2YXJpb3VzIHdpbmFwaSBwYXJzZXIgcmVndWxhciBleHByZXNzaW9ucyB0byBsZXQgaXQgdW5kZXJzdGFuZAorCXNvbWUgV2luZSBjb25zdHJ1Y3RzLgorCisJKiB0b29scy93aW5hcGkvd2luMTYuYXBpLCB0b29scy93aW5hcGkvd2luMzIuYXBpOgorCVZpbmNlbnQgQulyb24gPHZiZXJvbkBtZWNhbm8uZ21lLnVzaGVyYi5jYT4KKwlVcGRhdGUgd2luMTYuYXBpL3dpbjMyLmFwaSB0byBjdXJyZW50IENWUy4KKworCSogdG9vbHMvd2luYXBpL2NfcGFyc2VyLnBtOiBWaW5jZW50IELpcm9uIDx2YmVyb25AbWVjYW5vLmdtZS51c2hlcmIuY2E+CisJUmVtb3ZlIFdJTkVfVU5VU0VEIGNoZWNrcy4KKworCSogZGxscy9yaWNoZWQyMC9yZWFkZXIuYzogUGhpbCBLcnlsb3YgPHBoaWxAbmV3c3Rhci5yaW5ldC5ydT4KKwlGaXhlZCBVVEYtOCBSVEYgcGFyc2luZy4KKworCSogaW5jbHVkZS9kaW5wdXQuaDogRGFuaWVsIFJlbWVuYWsgPGR0cmVtZW5ha0BnbWFpbC5jb20+CisJQWRkIHNvbWUgZGVmaW5pdGlvbnMgbmVjZXNzYXJ5IGZvciBmb3JjZSBmZWVkYmFjay4KKworCSogZGxscy9vbGUzMi9vbGUyLmMsIGRsbHMvb2xlMzIvb2xlMi5zcGVjLCBkbGxzL29sZTMyL3N0b3JhZ2UuYywKKwkgIGRsbHMvb2xlMzIvc3RvcmFnZS5zcGVjOgorCU1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCUltcGxlbWVudGVkIElMb2NrQnl0ZXMxNiAobWVtb3J5c3RyZWFtKSBzdXBwb3J0IGZvciB0aGUgMTZiaXQgY29tcG91bmQKKwlzdG9yYWdlIGltcGxlbWVudGF0aW9uLgorCUFkZGVkIFJlYWRDbGFzc1N0ZywgT2xlRG9BdXRvQ29udmVydCwgR2V0Q29udmVydFN0ZworCWltcGxlbWVudGF0aW9ucy9zdHVicy4KKworCSogZGxscy9zaGVsbDMyL3Rlc3RzL3NobGZvbGRlci5jOiBTYXVsaXVzIEtyYXN1Y2thcyA8c2F1bGl1czJAYXIuZmkubHQ+CisJV2luZSBhbmQgTlQ0IHJldHVybnMgRV9GQUlMIG9uIGZhaWx1cmUuCisKKwkqIGRsbHMvb2xlYXV0MzIvdHlwZWxpYi5jOiBSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJUmV2ZXJ0IHRvIHByZXZpb3VzIGJlaGF2aW91ciBvZiBkZXRlY3RpbmcgbmFtZXMgd2l0aCBub24tYWxwaGFudW1lcmljCisJY2hhcmFjdGVycyBhcyBvbmVzIHdpdGggb2Zmc2V0cywgYnV0IGFkZCBpbiBhIHNwZWNpYWwgY2FzZSBmb3IgYW4KKwllbXB0eSBuYW1lLgorCisJKiBkbGxzL3dsZGFwMzIvd2xkYXAzMi5yYywgZGxscy93bGRhcDMyL3dsZGFwMzJfRGUucmMsCisJICBkbGxzL3dsZGFwMzIvd2xkYXAzMl9ObC5yYzoKKwlIYW5zIExlaWRla2tlciA8aGFuc0BpdC52dS5ubD4KKwlBZGQgRHV0Y2ggcmVzb3VyY2UgdHJhbnNsYXRpb24uCisJU21hbGwgZml4IGZvciB0aGUgR2VybWFuIHRyYW5zbGF0aW9uLgorCisJKiBkbGxzL3dsZGFwMzIvd2lubGRhcF9wcml2YXRlLmgsIGRsbHMvd2xkYXAzMi93bGRhcDMyLmg6CisJSGFucyBMZWlkZWtrZXIgPGhhbnNAaXQudnUubmw+CisJQWRkIGhlbHBlcnMgZm9yIGNvbnZlcnRpbmcgKGFycmF5cyBvZikgTERBUFNvcnRLZXksIExEQVBBUElJbmZvLCBhbmQKKwlMREFQQVBJRmVhdHVyZUluZm8gc3RydWN0dXJlcyBpbnRvIGRpZmZlcmVudCBlbmNvZGluZ3MuCisKKwkqIGRsbHMvdXNlci9saXN0Ym94LmMsIGRsbHMvdXNlci90ZXN0cy9saXN0Ym94LmM6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlUaGUgbGlzdGJveCB0ZXN0IHNob3dzIHRoYXQgdGhlIGNvbnRyb2wgaWQgbXVzdCBiZSBzdG9yZWQgaW4gV1BBUkFNCisJZm9yIHRoZSBXTV9EUkFXSVRFTSBtZXNzYWdlLgorCUZpeCB0aGUgbGlzdGJveCB0ZXN0IHNvIENyZWF0ZVdpbmRvdygpIGRvZXMgbm90IGZhaWwgb24gV2luZG93cy4KKworCSogZGxscy9udGRsbC9jZHJvbS5jOiBUb2JpYXMgR3J1ZXR6bWFjaGVyIDx0b2JpYXNAcG9ydGZvbGlvMTYuZGU+CisJUmV2ZXJzZSB0aGUgZGlyZWN0aW9uIG9mIHJhdyBTQ1NJIGNvbW1hbmRzLgorCisJKiBkbGxzL3NobHdhcGkvb3JkaW5hbC5jOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCUZpeCBjYWxsIHRvIEdldE1lbnVJdGVtSW5mbyBhbmQgdW5pY29kaWZ5IHdoaWxlIHdlJ3JlIGF0IGl0LgorCisJKiBkbGxzL21zaS90YWJsZS5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJSGFuZGxlIGxvYWRpbmcgc3RyaW5ncyBvdmVyIDY0ayBmcm9tIHRoZSBzdHJpbmcgdGFibGUuCisKKwkqIGRsbHMvaGhjdHJsLm9jeC9EZS5yYzogSGVubmluZyBHZXJoYXJkdCA8aGVubmluZy5nZXJoYXJkdEB3ZWIuZGU+CisJVXBkYXRlIEdlcm1hbiByZXNvdXJjZSBmaWxlLgorCisJKiBkbGxzL2hoY3RybC5vY3gvaGVscC5jOiBKYW1lcyBIYXdraW5zIDx0cnVpa2VuQGdtYWlsLmNvbT4KKwktIERvbid0IGtlZXAgdHJhY2sgb2YgdGhlIG51bWJlciBvZiBUQiBidXR0b25zLgorCS0gQ2FsbCB0aGUgVyB2ZXJzaW9uIG9mIFNldFdpbmRvd0xvbmdQdHIuCisKKwkqIGRsbHMvd2luZWQzZC9zdGF0ZWJsb2NrLmM6CisJT2xpdmVyIFN0aWViZXIgPG9saXZlcl9zdGllYmVyQHlhaG9vLmNvLnVrPgorCUFsbG93IHRoZSBXSU5FRDNEU0JUX0lNUEwgdG8gYmUgYXBwbGllZCBzbyB0aGF0IHN0YXRlcyBjYW4gYmUgc3luY2VkCisJYmV0d2VlbiByZW5kZXIgdGFyZ2V0IGNvbnRleHRzLgorCisJKiBkbGxzL3dpbmVkM2QvTWFrZWZpbGUuaW46IE9saXZlciBTdGllYmVyIDxvbGl2ZXJfc3RpZWJlckB5YWhvby5jby51az4KKwlSZW1vdmUgZHhndWlkIGRlcGVuZGVuY3kuCisKKzIwMDUtMDgtMDMgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvbXNodG1sL25zZW1iZWQuYzogSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwlGaXggY29tbWVudCBhYm91dCBoYWNrLgorCisJKiBkbGxzL21zaHRtbC9vbGVvYmouYywgZGxscy9tc2h0bWwvdGVzdHMvaHRtbGRvYy5jOgorCUphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJQWRkZWQgSU9sZUNvbW1hbmRUYXJnZXQ6OkV4ZWMgaW1wbGVtZW50YXRpb24uCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBkbGxzL2FkdmFwaTMyL2NyeXB0LmMsCisJICBkbGxzL2F2aWNhcDMyL2F2aWNhcDMyX21haW4uYywgZGxscy9kM2Q4L3N1cmZhY2UuYywKKwkgIGRsbHMvZGJnaGVscC9lbGZfbW9kdWxlLmMsIGRsbHMvZGRyYXcvc3VyZmFjZV9kaWIuYywKKwkgIGRsbHMvZGRyYXcvc3VyZmFjZV9tYWluLmMsIGRsbHMvZGRyYXcvdGV4dHVyZS5jLAorCSAgZGxscy9pcGhscGFwaS9pcHN0YXRzLmMsIGRsbHMvbnRkbGwvcGF0aC5jLCBkbGxzL3FjYXAvdjRsLmMsCisJICBkbGxzL3NoZWxsMzIvc2hmbGRyX3VuaXhmcy5jLCBkbGxzL3dpbmFzcGkvYXNwaS5jLAorCSAgZGxscy93aW5hc3BpL3dpbmFzcGkxNi5jLCBkbGxzL3dpbmVkb3MvcHBkZXYuYywgZGxscy93aW5lcHMvcHBkLmMsCisJICBkbGxzL3dpbmVwcy90eXBlMWFmbS5jLCBkbGxzL3dpbm1tL2pveXN0aWNrL2pveXN0aWNrLmMsCisJICBkbGxzL3dpbm1tL3dpbmVvc3MvbWlkaS5jLCBkbGxzL3dpbm1tL3dpbmVvc3MvbWl4ZXIuYywKKwkgIGRsbHMvd2lubW0vd2luZW9zcy9tbWF1eC5jLCBpbmNsdWRlL2NvbmZpZy5oLmluLCBpbmNsdWRlL3dpbmUvcG9ydC5oLAorCSAgcHJvZ3JhbXMvd2luZWNmZy9kcml2ZWRldGVjdC5jLCBzZXJ2ZXIvZmQuYywgdG9vbHMvZm50MmJkZi5jLAorCSAgdG9vbHMvZm50MmZvbi5jLCB0b29scy9zZm50MmZudC5jLCB0b29scy93aWRsL3Byb3h5LmMsCisJICB0b29scy93aWRsL3dpZGwuYywgdG9vbHMvd2luZWR1bXAvZHVtcC5jLCB0b29scy93aW5lZHVtcC9tYWluLmMsCisJICB0b29scy93bWMvd21jLmMsIHRvb2xzL3dtYy93cml0ZS5jLCB0b29scy93cmMvcGFyc2VyLnk6CisJUmVtb3ZlZCB0aGUgYnJva2VuIG1tYXA2NCBjb25maWd1cmUgY2hlY2ssIGFuZCBtb3ZlZCB0aGUKKwlfRklMRV9PRkZTRVRfQklUUyBkZWZpbmUgdG8gd2luZS9wb3J0LmguIE1hZGUgc3VyZSB0aGF0IGFsbCBmaWxlcyB0aGF0CisJbmVlZCB0aGUgZGVmaW5lIGluY2x1ZGUgaXQuCisKKwkqIGRsbHMvd2luZWQzZC9zdXJmYWNlLmM6IE9saXZlciBTdGllYmVyIDxvbGl2ZXJfc3RpZWJlckB5YWhvby5jby51az4KKwlTZXQgdGhlIGFwaGEgY2hhbm5lbCB0byBvcGFxdWUgd2hlbiBsb2NraW5nIFg4UjhHOEI4IGJhY2tidWZmZXJzLgorCisJKiBkbGxzL3V4dGhlbWUvZHJhdy5jOiBGcmFuayBSaWNodGVyIDxmcmFuay5yaWNodGVyQGdtYWlsLmNvbT4KKwlJbXBsZW1lbnQgRHJhd1RoZW1lRWRnZSgpLgorCisJKiBkbGxzL3dpbmVkM2QvYmFzZXRleHR1cmUuYywgZGxscy93aW5lZDNkL2N1YmV0ZXh0dXJlLmMsCisJICBkbGxzL3dpbmVkM2QvZGV2aWNlLmMsIGRsbHMvd2luZWQzZC9kcmF3cHJpbS5jLAorCSAgZGxscy93aW5lZDNkL3RleHR1cmUuYywgZGxscy93aW5lZDNkL3V0aWxzLmMsCisJICBkbGxzL3dpbmVkM2Qvd2luZWQzZF9wcml2YXRlLmg6CisJT2xpdmVyIFN0aWViZXIgPG9saXZlcl9zdGllYmVyQHlhaG9vLmNvLnVrPgorCU1vdmVkIHN1cHBvcnQgZm9yIG5vbiBwb3dlciAyIHRleHR1cmUgdG8gaGFyZHdhcmUuCisJRml4IGZvciB0aGUgdGV4dHVyZSBzdGF0ZSBzZXBhcmF0aW9uIHBhdGNoZXMsIEFwcGx5VGV4dHVyZVN0YXRlcyBpcworCW5vdyBjYWxsZWQgaW5zdGVhZCBvZiBiZWluZyBjb21tZW50ZWQgb3V0LgorCisJKiBkbGxzL3V4dGhlbWUvZHJhdy5jOiBGcmFuayBSaWNodGVyIDxmcmFuay5yaWNodGVyQGdtYWlsLmNvbT4KKwlTZXQgc29tZSBkZWZhdWx0IHZhbHVlcyBmb3IgdHJ1ZXNpemUgc2l6aW5nIHRoYXQgc2VlbSBjbG9zZXIgdG8KKwlXaW5kb3dzLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgcHJvZ3JhbXMvcmVnZWRpdC9NYWtlZmlsZS5pbjoKKwlHZXQgcmlkIG9mIHRoZSBubyBsb25nZXIgdXNlZCByZWdlZGl0IHRlc3QuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBkbGxzL3dpbmVwcy9wcGQuYywgZGxscy93aW5zb2NrL3NvY2tldC5jLAorCSAgaW5jbHVkZS9jb25maWcuaC5pbiwgcHJvZ3JhbXMvd2luZWNvbnNvbGUvY3Vyc2VzLmM6CisJTWVyZ2VkIHNvbWUgb2YgdGhlIGhlYWRlciBjaGVja3MgdG8gcmVkdWNlIHRoZSBzaXplIG9mIHRoZSBnZW5lcmF0ZWQKKwljb25maWd1cmUgc2NyaXB0IGEgYml0LgorCisJKiBkbGxzL3VzZXIvcGFpbnRpbmcuYzoKKwlDYWxsIHRoZSBVU0VSIGRyaXZlciBkaXJlY3RseSB0byBjaGVjayBmb3IgWCBldmVudHMgb24gUkRXX1VQREFURU5PVworCWluc3RlYWQgb2YgY2FsbGluZyBNc2dXYWl0Rm9yTXVsdGlwbGVPYmplY3RzLgorCisJKiBNYWtlZmlsZS5pbjogRGV0bGVmIFJpZWtlbmJlcmcgPHdpbmUuZGV2QHdlYi5kZT4KKwlBZGRlZCBkZXNjcmlwdGlvbiBmb3IgY3Jvc3N0ZXN0LgorCisJKiBkbGxzL3dpbmVkM2QvZHJhd3ByaW0uYzogT2xpdmVyIFN0aWViZXIgPG9saXZlcl9zdGllYmVyQHlhaG9vLmNvLnVrPgorCUltcHJvdmUgb24gYSBmaXh1cCBmb3IgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBvcGVuZ2wgYW5kIGRpcmVjdHggcGl4ZWwKKwljZW50ZXJpbmcgb2YgdmVydGV4ZXMuCisKKwkqIGRsbHMvZHNvdW5kL21peGVyLmM6IEFsZXggVmlsbGFj7XMgTGFzc28gPGFfdmlsbGFjaXNAcGFsb3NhbnRvLmNvbT4KKwlDb3JyZWN0aW9uIHRvIGVhcmxpZXIgYXNzZXJ0aW9uIHBhdGNoIHRvIGFsbG93IGZvciBidWZfbWl4cG9zID09CisJYnVmbGVuIGluIG5vbi1sb29waW5nIGNhc2UsIGZpeGVzIGxvb3Bpbmcgb2Ygb25lLW9mZiBtaXhlZCBzYW1wbGVzCisJaW50cm9kdWNlZCBieSBwcmV2aW91cyBwYXRjaC4KKworCSogZGxscy93aW5pbmV0L2ludGVybmV0LmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBcyBwZXIgTVNETiwgSU5URVJORVRfT1BUSU9OX0NPTk5FQ1RFRF9TVEFURSBzaG91bGQgdGFrZSBhIERXT1JECisJaW5zdGVhZCBvZiB0aGUgSU5URVJORVRfQ09OTkVDVEVEX0lORk8gc3RydWN0dXJlLgorCisJKiBkbGxzL3V4dGhlbWUvZHJhdy5jOiBGcmFuayBSaWNodGVyIDxmcmFuay5yaWNodGVyQGdtYWlsLmNvbT4KKwlUaGUgZGVmYXVsdCBpbWFnZSBsYXlvdXQgaXMgSE9SSVpPTlRBTCwgbm90IFZFUlRJQ0FMLgorCisJKiBkbGxzL250ZGxsL2NyaXRzZWN0aW9uLmMsIGRsbHMvbnRkbGwvaGVhcC5jOgorCUhhY2sgdG8gbWFrZSB0aGUgbWFpbiBoZWFwIGNyaXRpY2FsIHNlY3Rpb24gaGF2ZSBhIHByb3BlciBkZWJ1ZyBpbmZvCisJc3RydWN0dXJlLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgZGxscy9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvd2lubW0vd2luZWVzZC8uY3ZzaWdub3JlLCBkbGxzL3dpbm1tL3dpbmVlc2QvTWFrZWZpbGUuaW4sCisJICBkbGxzL3dpbm1tL3dpbmVlc2QvYXVkaW8uYywgZGxscy93aW5tbS93aW5lZXNkL2Vzb3VuZC5jLAorCSAgZGxscy93aW5tbS93aW5lZXNkL2Vzb3VuZC5oLCBkbGxzL3dpbm1tL3dpbmVlc2Qvd2luZWVzZC5kcnYuc3BlYywKKwkgIGluY2x1ZGUvY29uZmlnLmguaW4sIHByb2dyYW1zL3dpbmVjZmcvYXVkaW8uYywKKwkgIHByb2dyYW1zL3dpbmVjZmcvcHJvcGVydGllcy5jOgorCVBldGVyIMVzdHJhbmQgPGFzdHJhbmRAY2VuZGlvLnNlPgorCUltcGxlbWVudGVkIGFuIEVzb3VuZCBkcml2ZXIuCisKKwkqIGRsbHMveDExZHJ2L2V2ZW50LmM6CisJRG9uJ3QgY2FsbCBXYWl0Rm9yTXVsdGlwbGVPYmplY3RzRXggaWYgd2UgYXJlIGp1c3QgcG9sbGluZyBmb3IgcGVuZGluZworCVggZXZlbnRzLgorCisJKiBkbGxzL2tlcm5lbC90ZXN0cy9jb21tLmM6CisJVXdlIEJvbm5lcyA8Ym9uQGVsZWt0cm9uLmlrcC5waHlzaWsudHUtZGFybXN0YWR0LmRlPgorCU1vcmUgY29tbSB0ZXN0cy4KKworCSogZGxscy9rZXJuZWwvY29tbS5jOgorCVV3ZSBCb25uZXMgPGJvbkBlbGVrdHJvbi5pa3AucGh5c2lrLnR1LWRhcm1zdGFkdC5kZT4KKwlJbXBsZW1lbnQgV2FpdENvbW1FdmVudCBieSBwb2xsaW5nIHRoZSBhcHByb3ByaWF0ZSBkYXRhIHNvdXJjZXMuCisKKwkqIGRsbHMvdXh0aGVtZS9kcmF3LmM6IEZyYW5rIFJpY2h0ZXIgPGZyYW5rLnJpY2h0ZXJAZ21haWwuY29tPgorCUFub3RoZXIgZml4IHRvIHVzZSBtYWdlbnRhIGFzIHRoZSBkZWZhdWx0IHRyYW5zcGFyZW50IGNvbG9yLgorCisJKiBkbGxzL3JwY3J0NC9uZHJfbWFyc2hhbGwuYywgZGxscy9ycGNydDQvbmRyX21pZGwuYywKKwkgIGRsbHMvcnBjcnQ0L3JwY3J0NC5zcGVjLCBpbmNsdWRlL3JwY25kci5oLCBpbmNsdWRlL3dpbmUvcnBjZmMuaDoKKwlSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJQWRkIHN0dWJzIGZvciBOZHJNYXBDb21tQW5kRmF1bHRTdGF0dXMsIGNvbmZvcm1hbnQgc3RyaW5nIG1hcnNoYWxpbmcKKwlhbmQgY29udGV4dCBoYW5kbGUgZnVuY3Rpb25zLgorCisJKiB0b29scy93aWRsL2hlYWRlci5jLCB0b29scy93aWRsL2hlYWRlci5oOgorCVJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwktIFRoZSBoZWFkZXIgZ2xvYmFsIHZhcmlhYmxlIGlzIE5VTEwgd2hlbiBub3QgZ2VuZXJhdGluZyBhIGhlYWRlciBzbworCSAgZG9uJ3QgdHJ5IHRvIHVzZSBpdCBpbiBmdW5jdGlvbnMgdGhhdCBtYXkgYmUgY2FsbGVkIGJ5IHRoZSBjbGllbnQKKwkgIGNvZGUuCisJLSBNYWtlIHRoZSBmdW5jdGlvbnMgdGhhdCB0YWtlIGNoYXIgKiB0YWtlIGNvbnN0IGNoYXIgKi4KKworCSogZGxscy9ycGNydDQvcnBjX21lc3NhZ2UuYzogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCURvbid0IGZyZWUgcHJldmlvdXMgYnVmZmVyIGluIE5kckdldEJ1ZmZlci4KKworCSogbGlicy91bmljb2RlL3djdG9tYi5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRml4IGEgZ2NjIDQuMCAtV3BvaW50ZXItc2lnbiB3YXJuaW5nLgorCisJKiBkbGxzL3V4dGhlbWUvZHJhdy5jOiBGcmFuayBSaWNodGVyIDxmcmFuay5yaWNodGVyQGdtYWlsLmNvbT4KKwlBZGQgc3VwcG9ydCBmb3IgaG9yaXpvbnRhbCAmIHZlcnRpY2FsIGFsaWdubWVudCB3aGVuIGRvaW5nIHRydWVzaXplCisJc2l6aW5nLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgZGxscy9zZWN1cjMyL01ha2VmaWxlLmluLAorCSAgZGxscy9zZWN1cjMyL3Rlc3RzLy5jdnNpZ25vcmUsIGRsbHMvc2VjdXIzMi90ZXN0cy9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvc2VjdXIzMi90ZXN0cy9tYWluLmM6CisJS2FpIEJsaW4gPGJsaW5AZ214Lm5ldD4KKwlTZXQgdXAgdGVzdHMgZm9yIHNlY3VyMzIuCisKKwkqIGRsbHMvaGhjdHJsLm9jeC9oZWxwLmM6IEphbWVzIEhhd2tpbnMgPHRydWlrZW5AZ21haWwuY29tPgorCUZyZWUgdGhlIGFsbG9jYXRlZCBjb21tYW5kIGxpbmUgc3RyaW5nLgorCisJKiBkbGxzL3V4dGhlbWUvZHJhdy5jOiBGcmFuayBSaWNodGVyIDxmcmFuay5yaWNodGVyQGdtYWlsLmNvbT4KKwlBZGQgc3VwcG9ydCBmb3IgdGhlIEJUX05PTkUgYmFja2dyb3VuZCB0eXBlLgorCisJKiBkbGxzL2hoY3RybC5vY3gvRW4ucmMsIGRsbHMvaGhjdHJsLm9jeC9oZWxwLmMsCisJICBkbGxzL2hoY3RybC5vY3gvaGhjdHJsLnJjLCBkbGxzL2hoY3RybC5vY3gvcmVzb3VyY2UuaDoKKwlKYW1lcyBIYXdraW5zIDx0cnVpa2VuQGdtYWlsLmNvbT4KKwlBZGQgYSB0YWIgY29udHJvbCB0byB0aGUgbmF2aWdhdGlvbiBwYW5lLgorCisJKiBkbGxzL2NvbWN0bDMyL2hlYWRlci5jOiBGcmFuayBSaWNodGVyIDxmcmFuay5yaWNodGVyQGdtYWlsLmNvbT4KKwlBZGQgaG90dHJhY2tpbmcgc3VwcG9ydCBmb3IgdGhlIGhlYWRlciBjb250cm9sLgorCisJKiBkbGxzL3V4dGhlbWUvZHJhdy5jOiBGcmFuayBSaWNodGVyIDxmcmFuay5yaWNodGVyQGdtYWlsLmNvbT4KKwlJbXBsZW1lbnQgR2V0VGhlbWVCYWNrZ3JvdW5kRXh0ZW50KCkuCisKKwkqIGRsbHMvdmVyc2lvbi9pbmZvLmM6CisJRG9uJ3QgY29udmVydCB0aGUgcmV0dXJuIHZhbHVlIG9uIGZhaWx1cmUgaW4gVmVyUXVlcnlWYWx1ZUEvVy4KKworCSogZGxscy9zaGVsbDMyL3Rlc3RzL3NoZWxscGF0aC5jLCBkbGxzL3dpbnNwb29sL2luZm8uYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJZ2NjIDQuMCBSZWdTZXRWYWx1ZUV4IHdhcm5pbmcgZml4ZXMuCisKKwkqIGRsbHMvZGlucHV0L2RpbnB1dF9tYWluLmMsIGRsbHMvZGlucHV0L2RpbnB1dF9wcml2YXRlLmgsCisJICBkbGxzL2RpbnB1dC9qb3lzdGlja19saW51eC5jLCBkbGxzL2RpbnB1dC9rZXlib2FyZC5jLAorCSAgZGxscy9kaW5wdXQvbW91c2UuYywgZGxscy9keGRpYWduL2R4ZGlhZ19wcml2YXRlLmgsCisJICBkbGxzL29sZWF1dDMyL3Rlc3RzL3NhZmVhcnJheS5jLCBkbGxzL29sZWF1dDMyL3Rlc3RzL3ZhcnR5cGUuYywKKwkgIGRsbHMvcXVhcnR6L2VudW1tb25pa2VyLmMsIGRsbHMvcmljaGVkMjAvcmljaG9sZS5jLAorCSAgaW5jbHVkZS93aW5lL3dpbmVkM2RfZ2wuaDoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJZ2NjIDQuMCB3YXJuaW5nIGZpeGVzIGZvciBJbnRlcmxvY2tlZCogZnVuY3Rpb25zLgorCisJKiBkbGxzL3gxMWRydi9vcGVuZ2wuYzogT2xpdmVyIFN0aWViZXIgPG9saXZlcl9zdGllYmVyQHlhaG9vLmNvLnVrPgorCUJhY2sgb3V0IHRoZSBwcmV2aW91cyBzdGVuY2lsIHBhdGNoIGFuZCBzbGlnaHRseSBpbXByb3ZlIG9uIHRoZSBvbGQKKwlmdW5jdGlvbmFsaXR5LgorCisJKiBkbGxzL3dpbmVkM2QvYmFzZXRleHR1cmUuYywgZGxscy93aW5lZDNkL2N1YmV0ZXh0dXJlLmMsCisJICBkbGxzL3dpbmVkM2QvZGV2aWNlLmMsIGRsbHMvd2luZWQzZC9kaXJlY3R4LmMsCisJICBkbGxzL3dpbmVkM2QvdGV4dHVyZS5jLCBkbGxzL3dpbmVkM2Qvdm9sdW1ldGV4dHVyZS5jLAorCSAgZGxscy93aW5lZDNkL3dpbmVkM2RfcHJpdmF0ZS5oLCBpbmNsdWRlL3dpbmUvd2luZWQzZF9pbnRlcmZhY2UuaDoKKwlPbGl2ZXIgU3RpZWJlciA8b2xpdmVyX3N0aWViZXJAeWFob28uY28udWs+CisJTW92ZSB0aGUgc2V0dGluZyBvZiBzdGF0ZXMgZnJvbSBkZXZpY2UgdG8gYmFzZXRleHR1cmUsIHN0YXRlcyB0aGF0CisJcmVsYXRlIHRvIHRoZSBvcGVuZ2wgdGV4dHVyZSBvYmplY3Qgd2lsbCBvbmx5IGJlIHVwZGF0ZWQgd2hlbiB0aGV5IGFyZQorCW91dCBvZiBzeW5jLCB0aGlzIHJlZHVjZXMgdGhlIG51bWJlciBvZiB0ZXh0dXJlIG9iamVjdCBzdGF0ZSBjaGFuZ2VzCisJZHVyaW5nIGdhbWUgcGxheSBpbiBBeGlzIGFuZCBhbGxpZXMgZnJvbSBzZXZlcmFsIGh1bmRyZWRzIHRvIDAgb3IgMS4KKworCSogZGxscy9tc3htbDMvTWFrZWZpbGUuaW4sIGRsbHMvbXN4bWwzL2RvbWRvYy5jLCBkbGxzL21zeG1sMy9lbGVtZW50LmMsCisJICBkbGxzL21zeG1sMy9tc3htbF9wcml2YXRlLmg6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUltcGxlbWVudGVkIHRoZSBJWE1MRE9NRWxlbWVudCBpbnRlcmZhY2UuCisKKwkqIGRsbHMvd2xkYXAzMi9NYWtlZmlsZS5pbiwgZGxscy93bGRhcDMyL2RuLmMsIGRsbHMvd2xkYXAzMi9taXNjLmMsCisJICBkbGxzL3dsZGFwMzIvd2lubGRhcF9wcml2YXRlLmgsIGRsbHMvd2xkYXAzMi93bGRhcDMyLnNwZWM6CisJSGFucyBMZWlkZWtrZXIgPGhhbnNAaXQudnUubmw+CisJSW1wbGVtZW50IExkYXBVbmljb2RlVG9VVEY4LCBMZGFwVVRGOFRvVW5pY29kZSwKKwlsZGFwX2RuMnVmbiosIGxkYXBfZXhwbG9kZV9kbiosIGxkYXBfZ2V0X2RuKiwKKwlsZGFwX21lbWZyZWUqLCBsZGFwX3VmbjJkbiogYW5kIGxkYXBfdmFsdWVfZnJlZSouCisKKwkqIGRsbHMvaGhjdHJsLm9jeC9EZS5yYywgZGxscy9oaGN0cmwub2N4L2hoY3RybC5yYzoKKwlIZW5uaW5nIEdlcmhhcmR0IDxoZW5uaW5nLmdlcmhhcmR0QHdlYi5kZT4KKwlBZGQgR2VybWFuIHJlc291cmNlZCBmb3IgaGhjdHJsLm9jeC4KKworCSogZGxscy9oaGN0cmwub2N4L2hlbHAuYzogSmFtZXMgSGF3a2lucyA8dHJ1aWtlbkBnbWFpbC5jb20+CisJLSBBZGQgdGhlIEhIIENoaWxkIHdpbmRvdyBjbGFzcy4KKwktIENyZWF0ZSB0aGUgTmF2aWdhdGlvbiBhbmQgSFRNTCBwYW5lcyBhcyBISCBDaGlsZCB3aW5kb3dzLgorCisJKiBkbGxzL21zaS9tc2kuYywgZGxscy9tc2kvbXNpLnNwZWM6CisJU3RldmVuIEVkd2FyZHMgPHN0ZXZlbl9lZDQxNTNAeWFob28uY29tPgorCUFkZCByZWFsIHN0dWIgZm9yIE1zaUNvbmZpZ3VyZUZlYXR1cmVXLgorCisJKiBkbGxzL21zaHRtbC9wcm90b2NvbC5jLCBkbGxzL21zaHRtbC90ZXN0cy9wcm90b2NvbC5jOgorCUphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJQWRkZWQgYWJvdXQgcHJvdG9jb2wgaW1wbGVtZW50YXRpb24uCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRnJhbmsgUmljaHRlciA8ZnJhbmsucmljaHRlckBnbWFpbC5jb20+CisJUmVtb3ZlIHVubmVlZGVkIHRoZW1pbmcgY2hlY2suCisKKwkqIGRsbHMvdXh0aGVtZS9kcmF3LmM6IEZyYW5rIFJpY2h0ZXIgPGZyYW5rLnJpY2h0ZXJAZ21haWwuY29tPgorCUltcGxlbWVudCBzdXBwb3J0IGZvciB0aGUgU1RfVElMRSBiYWNrZ3JvdW5kIHN0cmV0Y2hpbmcgbW9kZS4KKworCSogZGxscy9udGRsbC9jZHJvbS5jOiBWaXRhbGl5IE1hcmdvbGVuIDx3aW5lLXBhdGNoQGtpZXZpbmZvLmNvbT4KKwlJbXBsZW1lbnQgSU9DVExfU0NTSV9HRVRfSU5RVUlSWV9EQVRBLgorCisyMDA1LTA4LTAyICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2tlcm5lbC9rZXJuZWwzMi5zcGVjLCBkbGxzL2tlcm5lbC9tb2R1bGUuYzoKKwlJbXBsZW1lbnRlZCBHZXQvU2V0RGxsRGlyZWN0b3J5LgorCisJKiBkbGxzL2hoY3RybC5vY3gvLmN2c2lnbm9yZSwgZGxscy9oaGN0cmwub2N4L0VuLnJjLAorCSAgZGxscy9oaGN0cmwub2N4L01ha2VmaWxlLmluLCBkbGxzL2hoY3RybC5vY3gvaGVscC5jLAorCSAgZGxscy9oaGN0cmwub2N4L2hoY3RybC5yYzoKKwlKYW1lcyBIYXdraW5zIDx0cnVpa2VuQGdtYWlsLmNvbT4KKwktIEFkZCB0aGUgdG9vbGJhciB0byB0aGUgdmlld2VyIHdpbmRvdy4KKwktIExvYWQgdGhlIHRvb2xiYXIgYnV0dG9uIHRleHQgZnJvbSB0aGUgcmVzb3VyY2UgZmlsZS4KKworCSogZGxscy9udGRsbC92ZXJzaW9uLmM6IFJlbW92ZWQgYSBub2lzeSB0cmFjZS4KKworCSogZGxscy93bGRhcDMyL2JpbmQuYywgZGxscy93bGRhcDMyL2NvbXBhcmUuYywgZGxscy93bGRhcDMyL2luaXQuYywKKwkgIGRsbHMvd2xkYXAzMi9zZWFyY2guYzoKKwlIYW5zIExlaWRla2tlciA8aGFuc0BpdC52dS5ubD4KKwlVc2UgV0xEQVAzMl9MREFQX05PX01FTU9SWSBpbnN0ZWFkIG9mIExEQVBfTk9fTUVNT1JZLgorCisJKiBkbGxzL3NoZWxsMzIvdGVzdHMvc2hsZm9sZGVyLmM6IFNhdWxpdXMgS3Jhc3Vja2FzIDxzYXVsaXVzMkBhci5maS5sdD4KKwlBZGRlZCB0ZXN0IGZvciBJU2hlbGxGb2xkZXJfUGFyc2VEaXNwbGF5TmFtZS4KKworCSogZGxscy9NYWtldGVzdC5ydWxlcy5pbjogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCU1vdmUgVEVTVExJU1QgZnJvbSBFWFRSQV9TUkNTIHRvIENfU1JDUyBpbiB0ZXN0IG1ha2VmaWxlcyB0byBmcmVlIHVwCisJRVhUUkFfU1JDUyBmb3Igb3RoZXIgcHVycG9zZXMuCisKKwkqIGRsbHMvaGhjdHJsLm9jeC9NYWtlZmlsZS5pbiwgZGxscy9oaGN0cmwub2N4L21haW4uYzoKKwlKYW1lcyBIYXdraW5zIDx0cnVpa2VuQGdtYWlsLmNvbT4KKwlJbXBsZW1lbnQgRGxsTWFpbiBhbmQgc3RvcmUgdGhlIERsbCBoaW5zdGFuY2UuCisKKwkqIGRsbHMvbnRkbGwvbnRkbGwuc3BlYywgZGxscy9udGRsbC9wcm9jZXNzLmMsIGRsbHMvbnRkbGwvcnRsLmMsCisJICBpbmNsdWRlL3dpbnRlcm5sLmg6CisJSW1wbGVtZW50ZWQgYSBmZXcgdHJpdmlhbCBudGRsbCBmdW5jdGlvbnMgdGhhdCBoYXZlIGJlZW4gYWRkZWQgaW4KKwlyZWNlbnQgV2luZG93cyB2ZXJzaW9ucy4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGRsbHMvTWFrZWZpbGUuaW4sIGRsbHMvbXN4bWwzLy5jdnNpZ25vcmUsCisJICBkbGxzL21zeG1sMy9NYWtlZmlsZS5pbiwgZGxscy9tc3htbDMvZG9tZG9jLmMsIGRsbHMvbXN4bWwzL2ZhY3RvcnkuYywKKwkgIGRsbHMvbXN4bWwzL21haW4uYywgZGxscy9tc3htbDMvbXN4bWwzLnNwZWMsCisJICBkbGxzL21zeG1sMy9tc3htbF9wcml2YXRlLmgsIGluY2x1ZGUvY29uZmlnLmguaW46CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUluaXRpYWwgaW1wbGVtZW50YXRpb24gb2YgbXN4bWwzIGJhc2VkIG9uIGxpYnhtbDIuCisKKwkqIGRsbHMva2VybmVsL3Byb2ZpbGUuYzoKKwlGaXhlZCB3aGl0ZSBzcGFjZSBoYW5kbGluZyBvbiB0aGUgbGFzdCBsaW5lIChyZXBvcnRlZCBieSBKZXJlbXkKKwlXaGl0ZSkuCisJQXZvaWQgcGFyc2luZyB0aGUgc2FtZSBsaW5lIHR3aWNlIHdoZW4gaXQgY29udGFpbnMgdHJhaWxpbmcgc3BhY2VzLgorCisJKiBkbGxzL3VzZXIvdGVzdHMvd2luLmM6IExhdXJpIFR1bG1pbiA8dHVsbWluQGdtYWlsLmNvbT4KKwlBZGQgdGVzdHMgZm9yIHJlcGFpbnRpbmcgd2luZG93cyB3aXRoIENTX1BBUkVOVERDIGNsYXNzIHN0eWxlLgorCisJKiBkbGxzL2tlcm5lbC90aHJlYWQuYywgZGxscy9udGRsbC9udGRsbC5zcGVjLCBkbGxzL250ZGxsL250ZGxsX21pc2MuaCwKKwkgIGRsbHMvbnRkbGwvc2VydmVyLmMsIGRsbHMvbnRkbGwvdGhyZWFkLmMsIGluY2x1ZGUvd2luZS9zZXJ2ZXIuaCwKKwkgIGluY2x1ZGUvd2ludGVybmwuaDoKKwlVc2UgdGhlIG5ldyBSdGxFeGl0VXNlclRocmVhZCBmdW5jdGlvbiBpbnN0ZWFkIG9mIGV4cG9ydGluZworCXdpbmVfc2VydmVyX2V4aXRfdGhyZWFkLgorCisJKiBkbGxzL21zaHRtbC9vbGVvYmouYywgZGxscy9tc2h0bWwvdGVzdHMvaHRtbGRvYy5jOgorCUphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJQWRkZWQgUXVlcnlTdGF0dXMgaW1wbGVtZW50YXRpb24uCisKKwkqIGRsbHMvd2xkYXAzMi9jb21wYXJlLmMsIGRsbHMvd2xkYXAzMi93aW5sZGFwX3ByaXZhdGUuaDoKKwlIYW5zIExlaWRla2tlciA8aGFuc0BpdC52dS5ubD4KKwlEb24ndCByZWx5IG9uIGxkYXAgc3RydWN0dXJlIHdoZW4gaGVhZGVycyBhcmUgbm90IGF2YWlsYWJsZS4KKworCSogZGxscy93bGRhcDMyL3dsZGFwMzIucmMsIGRsbHMvd2xkYXAzMi93bGRhcDMyX0RlLnJjOgorCUhlbm5pbmcgR2VyaGFyZHQgPGhlbm5pbmcuZ2VyaGFyZHRAd2ViLmRlPgorCUFkZCBHZXJtYW4gcmVzb3VyY2UgZmlsZSBmb3IgV0xEQVAzMi4KKworCSogZGxscy9tc2h0bWwvaHRtbGRvYy5jLCBkbGxzL21zaHRtbC9tYWluLmMsCisJICBkbGxzL21zaHRtbC9tc2h0bWxfcHJpdmF0ZS5oLCBkbGxzL21zaHRtbC9wcm90b2NvbC5jOgorCUphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJQWRkZWQgRGxsQ2FuVW5sb2FkTm93IGltcGxlbWVudGF0aW9uLgorCisJKiBkbGxzL2Rzb3VuZC9taXhlci5jOiBBbGV4IFZpbGxhY+1zIExhc3NvIDxhX3ZpbGxhY2lzQHBhbG9zYW50by5jb20+CisJUHJldmVudCBkc2ItPmJ1Zl9taXhwb3MgZnJvbSBldmVyIHJlbWFpbmluZyBwYXN0IGRzYi0+YnVmbGVuIGV2ZW4gaWYKKwlub3QgaW4gRFNCUExBWV9MT09QSU5HIGNhc2UsIHRvIHByZXZlbnQgYXNzZXJ0aW9uIGZhaWx1cmUgaW4KKwlEU09VTkRfTWl4SW5CdWZmZXIuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogVml0YWx5IExpcGF0b3YgPGxhdkBldGVyc29mdC5ydT4KKwlVc2UgU1RBVEVJTUFHRUlOREVYIC8gSU5ERVhUT1NUQVRFSU1BR0VNQVNLIGluc3RlYWQgb2YgYml0CisJb3BlcmF0aW9ucy4KKworMjAwNS0wOC0wMSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9hZHZhcGkzMi9hZHZhcGkzMi5zcGVjLCBkbGxzL2dkaS9nZGkzMi5zcGVjLAorCSAgZGxscy9rZXJuZWwva2VybmVsMzIuc3BlYywgZGxscy9udGRsbC9udGRsbC5zcGVjLAorCSAgZGxscy91c2VyL3VzZXIzMi5zcGVjOgorCUFkZGVkIGNvbW1lbnRlZCBvdXQgc3R1YnMgZm9yIGEgYnVuY2ggb2YgbmV3IGZ1bmN0aW9ucy4KKworCSogaW5jbHVkZS93aW5iYXNlLmg6IFByb3Blcmx5IHNvcnQgdGhlIGZ1bmN0aW9uIHByb3RvdHlwZXMuCisKKwkqIGRsbHMvbXNodG1sL01ha2VmaWxlLmluOiBGaXhlZCB0aGUgYnVpbGQgd2l0aG91dCBtYWtlIGRlcGVuZC4KKworCSogZGxscy91c3AxMC91c3AxMC5zcGVjOiBQcm9wZXJseSBzb3J0IHRoZSBzcGVjIGZpbGUgZW50cmllcy4KKworCSogZGxscy93bGRhcDMyL01ha2VmaWxlLmluLCBkbGxzL3dsZGFwMzIvY29tcGFyZS5jLAorCSAgZGxscy93bGRhcDMyL3dpbmxkYXBfcHJpdmF0ZS5oLCBkbGxzL3dsZGFwMzIvd2xkYXAzMi5zcGVjOgorCUhhbnMgTGVpZGVra2VyIDxoYW5zQGl0LnZ1Lm5sPgorCUltcGxlbWVudCBsZGFwX2NvbXBhcmUqIGZ1bmN0aW9ucy4KKworCSogZGxscy9udGRsbC9jZHJvbS5jOiBWaXRhbGl5IE1hcmdvbGVuIDx3aW5lLXBhdGNoQGtpZXZpbmZvLmNvbT4KKwlGaXhlZCBJT0NUTF9TQ1NJX0dFVF9BRERSRVNTLgorCisJKiBkbGxzL2NvbWN0bDMyL2RwYS5jLCBkbGxzL2NvbWN0bDMyL3Rlc3RzL2RwYS5jOgorCUZpeGVkIHJlZ3Jlc3Npb24gaW4gRFBBX1NlYXJjaC4KKworCSogZGxscy9tc2h0bWwvLmN2c2lnbm9yZSwgZGxscy9tc2h0bWwvTWFrZWZpbGUuaW4sCisJICBkbGxzL21zaHRtbC9odG1sZG9jLmMsIGRsbHMvbXNodG1sL21haW4uYywKKwkgIGRsbHMvbXNodG1sL21zaHRtbF9wcml2YXRlLmgsIGRsbHMvbXNodG1sL25zZW1iZWQuYywKKwkgIGRsbHMvbXNodG1sL25zaWZhY2UuaWRsLCBkbGxzL21zaHRtbC9wZXJzaXN0LmMsIGRsbHMvbXNodG1sL3ZpZXcuYzoKKwlKYWNlayBDYWJhbiA8amFja0BpdG1hLnB3ci53cm9jLnBsPgorCS0gVXNlIEdlY2tvIHRvIHJlbmRlciBIVE1MLgorCS0gR2V0IHJpZCBvZiBNb3ppbGxhIEFjdGl2ZVggQ29udHJvbCBpbiBNU0hUTUwuCisKKwkqIGRsbHMvd2xkYXAzMi8uY3ZzaWdub3JlLCBkbGxzL3dsZGFwMzIvTWFrZWZpbGUuaW4sCisJICBkbGxzL3dsZGFwMzIvZXJyb3IuYywgZGxscy93bGRhcDMyL21haW4uYywKKwkgIGRsbHMvd2xkYXAzMi93aW5sZGFwX3ByaXZhdGUuaCwgZGxscy93bGRhcDMyL3dsZGFwMzIucmMsCisJICBkbGxzL3dsZGFwMzIvd2xkYXAzMi5zcGVjLCBkbGxzL3dsZGFwMzIvd2xkYXAzMl9Fbi5yYzoKKwlIYW5zIExlaWRla2tlciA8aGFuc0BpdC52dS5ubD4KKwlJbXBsZW1lbnQgbGRhcF9lcnIyc3RyaW5nLgorCisJKiBkbGxzL3dpbmVkM2QvZGV2aWNlLmMsIGRsbHMvd2luZWQzZC9kcmF3cHJpbS5jLAorCSAgZGxscy93aW5lZDNkL3N0YXRlYmxvY2suYywgZGxscy93aW5lZDNkL3V0aWxzLmMsCisJICBkbGxzL3dpbmVkM2Qvd2luZWQzZF9wcml2YXRlLmg6CisJT2xpdmVyIFN0aWViZXIgPG9saXZlcl9zdGllYmVyQHlhaG9vLmNvLnVrPgorCVNlcGFyYXRlIHRoZSBzZXR0aW5nIG9mIHRoZSBEaXJlY3RYIHRleHR1cmUgYW5kIHNhbXBsZXIgc3RhdGVzIGZyb20KKwl0aGUgc2V0dGluZyBvZiBPcGVuR0wgc3RhdGVzIChub3cgaW4gYXBwbHlUZXh0dXJlU3RhdGVTdGF0ZSBhbmQKKwlhcHBseVNhbXBsZXJTdGF0ZSkuCisKKwkqIGRsbHMva2VybmVsL3Rlc3RzL3N5bmMuYzoKKwlGZWxpeCBOYXdvdGhuaWcgPGZlbGl4Lm5hd290aG5pZ0B0LW9ubGluZS5kZT4KKwlGaXggc3luYyB0ZXN0cyBvbiBXaW45OC9NRS4KKworCSogZGxscy9rZXJuZWwvdGVzdHMvbW9kdWxlLmM6CisJRmVsaXggTmF3b3RobmlnIDxmZWxpeC5uYXdvdGhuaWdAdC1vbmxpbmUuZGU+CisJRml4IG1vZHVsZSB0ZXN0cyBvbiBXaW45eC4KKworCSogZGxscy93aW5zb2NrL3dzMl8zMi5zcGVjOiBBbmRyZWFzIE1vaHIgPGFuZGlAcmhseDAxLmZodC1lc3NsaW5nZW4uZGU+CisJU3luYyB3czJfMzIuc3BlYyB3aXRoIFhQLgorCisJKiBkbGxzL2RkcmF3L2RldmljZV9vcGVuZ2wuYywgZGxscy9kZHJhdy9zdXJmYWNlX2RpYi5jLAorCSAgZGxscy9kZHJhdy90ZXh0dXJlLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCVdhcm5pbmcgZml4ZXMuCisKKwkqIGRsbHMvaGhjdHJsLm9jeC9NYWtlZmlsZS5pbiwgZGxscy9oaGN0cmwub2N4L2hlbHAuYywKKwkgIGRsbHMvaGhjdHJsLm9jeC9oaGN0cmwuYzoKKwlKYW1lcyBIYXdraW5zIDx0cnVpa2VuQGdtYWlsLmNvbT4KKwlBZGQgYmVnaW5uaW5ncyBvZiB0aGUgSGVscCB2aWV3ZXIuCisKKwkqIGxpYnMvdW5pY29kZS9tYnRvd2MuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCWdjYyA0LjAgd2FybmluZyBmaXguCisKKwkqIGRsbHMvd2luZWQzZC9iYXNldGV4dHVyZS5jLCBkbGxzL3dpbmVkM2QvZGV2aWNlLmMsCisJICBkbGxzL3dpbmVkM2QvZHJhd3ByaW0uYywgZGxscy93aW5lZDNkL3N0YXRlYmxvY2suYzoKKwlPbGl2ZXIgU3RpZWJlciA8b2xpdmVyX3N0aWViZXJAeWFob28uY28udWs+CisJU2VwYXJhdGUgdGhlIG1hbmFnZW1lbnQgb2YgRGlyZWN0WCBzdGF0ZXMgYW5kIG9wZW5HTCBzdGF0ZXMuCisKKwkqIGRsbHMvdXNwMTAvdXNwMTAuYywgZGxscy91c3AxMC91c3AxMC5zcGVjLCBpbmNsdWRlL3VzcDEwLmg6CisJT2xpdmVyIFN0aWViZXIgPG9saXZlcl9zdGllYmVyQHlhaG9vLmNvLnVrPgorCUFkZGVkIHN0dWJiZWQgc3VwcG9ydCBmb3IgU2NyaXB0R2V0Rm9udFByb3BlcnRpZXMuCisKKwkqIGRsbHMvY29tY3RsMzIvZHBhLmMsIGRsbHMvY29tY3RsMzIvdGVzdHMvZHBhLmM6CisJRmVsaXggTmF3b3RobmlnIDxmZWxpeC5uYXdvdGhuaWdAdC1vbmxpbmUuZGU+CisJRml4IERQQV9TZWFyY2ggZm9yIHNvcnRlZCBhcnJheXMuCisKKzIwMDUtMDctMzAgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvd2luZWQzZC9kaXJlY3R4LmM6IE9saXZlciBTdGllYmVyIDxvbGl2ZXJfc3RpZWJlckB5YWhvby5jby51az4KKwlGaXhlZCBhbiBvZmYgYnkgb25lIGVycm9yIGluIGVudW1kaXNwbGF5bW9kZXMsIGFsbG93aW5nIHNpbXMgMiB0bworCXN0YXJ0IHVwLgorCisJKiBzZXJ2ZXIvZmQuYzoKKwlBZGRlZCBhIHNlcGFyYXRlIGRldmljZSBvYmplY3QgdG8ga2VlcCB0cmFjayBvZiBpbm9kZXMgdGhhdCBhcmUgb24gdGhlCisJc2FtZSBkZXZpY2UuCisKKwkqIGRsbHMvd2luZWQzZC9kcmF3cHJpbS5jLCBkbGxzL3dpbmVkM2Qvd2luZWQzZF9wcml2YXRlLmg6CisJT2xpdmVyIFN0aWViZXIgPG9saXZlcl9zdGllYmVyQHlhaG9vLmNvLnVrPgorCVRpZHkgdXAgc29tZSBvZiB0aGUgZm9ybWF0dGluZyBpbiBkcmF3cHJpbSBhbmQgYWRkIG1pc3Npbmcgc3RyaWRlZAorCWRhdGEuCisKKwkqIGRsbHMvd2luZWQzZC9kZXZpY2UuYywgZGxscy93aW5lZDNkL2RpcmVjdHguYzoKKwlPbGl2ZXIgU3RpZWJlciA8b2xpdmVyX3N0aWViZXJAeWFob28uY28udWs+CisJVmFsaWRhdGUgdGhhdCB0aGUgdGV4dHVyZSBpcyBubyBsYXJnZXIgdGhhbiB0aGUgZ3JhcGhpY3MgY2FyZHMgbGFyZ2VzdAorCXN1cHBvcnRlZCB0ZXh0dXJlLgorCisJKiBkbGxzL2tlcm5lbC90ZXN0cy9jb21tLmM6CisJRmVsaXggTmF3b3RobmlnIDxmZWxpeC5uYXdvdGhuaWdAdC1vbmxpbmUuZGU+CisJRml4IGNvbW0gdGVzdHMgb24gV2luOXguCisKKwkqIHByb2dyYW1zL3JlZ3N2cjMyL3JlZ3N2cjMyLmM6CisJQW5kcmVhcyBNb2hyIDxhbmRpQHJobHgwMS5maHQtZXNzbGluZ2VuLmRlPgorCUltcHJvdmUgcmVnc3ZyMzIgb3V0cHV0LgorCisJKiBkbGxzL3ZlcnNpb24vaW5mby5jOiBQYXVsIFZyaWVucyA8UGF1bC5WcmllbnNAeHM0YWxsLm5sPgorCVJlbW92ZSB0aGUgbm8gbG9uZ2VyIHVzZWQgQ29udmVydFZlcnNpb25JbmZvMzJUbzE2IGZ1bmN0aW9uLgorCUFkZCBhIChmb3Jnb3R0ZW4pIFJ0bEZyZWVVbmljb2RlU3RyaW5nLgorCisJKiBkbGxzL2tlcm5lbC90ZXN0cy90aHJlYWQuYzoKKwlGZWxpeCBOYXdvdGhuaWcgPGZlbGl4Lm5hd290aG5pZ0B0LW9ubGluZS5kZT4KKwlGaXggcmVtYWluaW5nIHRocmVhZCB0ZXN0cyBvbiBXaW5NRS4KKworCSogZGxscy9zaGVsbDMyL3NobHZpZXcuYzogSm96ZWYgU3RlZmFua2EgPGpzdGVmYW5rYUBjb2Rld2VhdmVycy5jb20+CisJRml4ZWQgYnJvd3NpbmcgdG8gb3RoZXIgZGlyZWN0b3JpZXMgaW4gV29yZCAyMDAzIGZpbGUgb3BlbgorCWRpYWxvZy4gRG91YmxlIGNsaWNraW5nIG9uIGEgZm9sZGVyIGluIHRoZSBGaWxlLT5PcGVuIGRpYWxvZyB3b3JrcworCW5vdy4KKworMjAwNS0wNy0yOSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogcHJvZ3JhbXMvd2luZWNmZy9Gci5yYzogSm9uYXRoYW4gRXJuc3QgPEpvbmF0aGFuQEVybnN0RmFtaWx5LmNoPgorCUZpeGVkIGNvbnRyb2wgc2l6ZSBhbmQgcGxhY2VtZW50LgorCisJKiBwcm9ncmFtcy93aW5lY2ZnL0RlLnJjOiBTdGVmYW4gRPZzaW5nZXIgPHN0ZWZhbmRvZXNpbmdlckBnbXguYXQ+CisJQ29ycmVjdCB0aGUgc2l6ZXMgb2Ygc29tZSBjb250cm9scyBpbiB0aGUgR2VybWFuIHJlc291cmNlcy4KKworCSogc2VydmVyL3RyYWNlLmMsIHRvb2xzL21ha2VfcmVxdWVzdHM6CisJQXV0b21hdGljYWxseSBnZW5lcmF0ZSB0aGUgbGlzdCBvZiBlcnJvciBuYW1lcyBpbiBtYWtlX3JlcXVlc3RzLgorCisJKiBkbGxzL2RiZ2hlbHAvZGJnaGVscC5jLCBkbGxzL2RiZ2hlbHAvZGJnaGVscC5zcGVjLCBpbmNsdWRlL2RiZ2hlbHAuaDoKKwlQZXRlciBPYmVybmRvcmZlciA8a3VtYmF5bzg0QGFyY29yLmRlPgorCUFkZGVkIHN0dWIgZm9yIFN5bVNldFBhcmVudFdpbmRvdy4KKworCSogZGxscy91c2VyL2xpc3Rib3guYywgZGxscy91c2VyL3Rlc3RzL2xpc3Rib3guYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCS0gQWRkIGFuIG93bmVyZHJhd24gbGlzdGJveCB0ZXN0LCB3aGljaCBjb25maXJtcyB0aGF0IG9uIFdNX0RSQVdJVEVNCisJICBwYXJlbnQgcmVjZWl2ZXMgYSBjbGlwYm94IGVxdWFsIHRvIGEgbGlzdGJveCdzIGNsaWVudCBhcmVhLgorCS0gV01fRFJBV0lURU0gbWVzc2FnZSBjb250YWlucyAwIGluIHdwYXJhbSAoYXQgbGVhc3Qgb24gd2luMmspLgorCisJKiBkbGxzL2RpbnB1dC9qb3lzdGlja19saW51eGlucHV0LmM6CisJRGFuaWVsIFJlbWVuYWsgPGR0cmVtZW5ha0BnbWFpbC5jb20+CisJQ29ycmVjdGx5IGVudW1lcmF0ZSBldmRldiBqb3lzdGlja3Mgd2hlbiBlbnVtZXJhdGlvbiBpcyByZXN0cmljdGVkCisJd2l0aCBESUVERkxfRk9SQ0VGRUVEQkFDSy4KKworCSogc2VydmVyL3F1ZXVlLmM6IFJlbW92ZWQgYSBubyBsb25nZXIgdXNlZCB2YXJpYWJsZS4KKworCSogc2VydmVyL2hhbmRsZS5jLCBzZXJ2ZXIvdGhyZWFkLmM6IEZpeGVkIGEgY291cGxlIG9mIGVycm9yIGNvZGVzLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgZGxscy9kaW5wdXQvam95c3RpY2tfbGludXhpbnB1dC5jLAorCSAgaW5jbHVkZS9jb25maWcuaC5pbjoKKwlEYW5pZWwgUmVtZW5hayA8ZHRyZW1lbmFrQGdtYWlsLmNvbT4KKwlEZXRlY3QgZm9yY2UtZmVlZGJhY2stY2FwYWJsZSBsaW51eCBldmVudCBkZXZpY2Ugam95c3RpY2tzIGFuZCByZXR1cm4KKwlESURDX0ZPUkNFRkVFREJBQ0sgd2hlbiBxdWVyaWVkIGZvciBjYXBhYmlsaXRpZXMuCisKKwkqIGRsbHMvc2hsd2FwaS9pc3RyZWFtLmMsIGRsbHMvc2hsd2FwaS9yZWdzdHJlYW0uYywKKwkgIGRsbHMvc2hsd2FwaS90ZXN0cy9zaHJlZy5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlnY2MgNC4wIHdhcm5pbmcgZml4ZXMuCisKKwkqIGRsbHMvdmVyc2lvbi9pbmZvLmM6IFBhdWwgVnJpZW5zIDxwYXVsLnZyaWVuc0B4czRhbGwubmw+CisJQ2xlYW51cCB3aGl0ZXNwYWNlLgorCUNvbnZlcnNpb24gZml4ZXMuCisKKwkqIGRsbHMvbXNhY20vd2luZW1wMy9pbnRlcmZhY2UuYywgZGxscy9tc2FjbS93aW5lbXAzL21wZWdsMy5jLAorCSAgZGxscy9tc2FjbS93aW5lbXAzL21wZ2xpYi5oLCBkbGxzL3dpbm1tL3dpbmVhbHNhL21pZGkuYywKKwkgIGRsbHMvd2lubW0vd2luZW9zcy9kc3JlbmRlci5jLCBkbGxzL3dpbm1tL3dpbmVvc3MvbWlkaS5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlnY2MgNC4wIHdhcm5pbmcgZml4ZXMuCisKKzIwMDUtMDctMjggIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvbnRkbGwvZXJyb3IuYzogQWRkZWQgbmFtZXMgZm9yIGEgYnVuY2ggb2Ygc3RhdHVzIHZhbHVlcy4KKworCSogaW5jbHVkZS93aW5lcnJvci5oOiBBZGRlZCBhIGZldyBlcnJvciBjb2Rlcy4KKworCSogZGxscy93aW5lZDNkL2RldmljZS5jLCBkbGxzL3dpbmVkM2QvZGlyZWN0eC5jLAorCSAgZGxscy93aW5lZDNkL3N1cmZhY2UuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJU2lnbmVkIHdhcm5pbmcgZml4ZXMuCisKKwkqIGluY2x1ZGUveG1sZG9tLmlkbDogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUZpeCBzb21lIHR5cG9zIGluIHRoZSBpZGwgZGVmaW5pdGlvbnMuCisKKwkqIGRsbHMvdmVyc2lvbi9pbmZvLmM6IFBhdWwgVnJpZW5zIDxwYXVsLnZyaWVuc0B4czRhbGwubmw+CisJTmV3IGZ1bmN0aW9uIFZlcnNpb25JbmZvMzJfUXVlcnlWYWx1ZS4KKwlNYWRlIGZ1bmN0aW9ucyBzdGF0aWMuCisKKwkqIHNlcnZlci9mZC5jOgorCVJlbmFtZWQgZmQgdG8gdW5peF9mZCBpbiB0aGUgY2xvc2VkX2ZkIHN0cnVjdHVyZSB0byBtYWtlIHRoZSBjb2RlIGEKKwliaXQgY2xlYXJlci4KKworCSogaW5jbHVkZS94bWxkb20uaWRsOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJQWRkIGEgZGVmaW5pdGlvbiBmb3IgdGhlIElYTUxET01FbGVtZW50IGludGVyZmFjZS4KKworCSogZGxscy9rZXJuZWwvbGNmb3JtYXQuYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbXBsZW1lbnQgRW51bURhdGVGb3JtYXRzRXguCisKKwkqIGRsbHMvdmVyc2lvbi9pbmZvLmMsIGluY2x1ZGUvd2ludmVyLmg6CisJUGF1bCBWcmllbnMgPHBhdWwudnJpZW5zQHhzNGFsbC5ubD4KKwlWZXJRdWVyeVZhbHVlIHJldHVybnMgQk9PTCBub3QgRFdPUkQuCisKKwkqIGRsbHMvb2xlMzIvc3RvcmFnZTMyLmM6IFJlbW92ZSBkdXBsaWNhdGUgZGVmaW5pdGlvbiBvZiBGSUxFX0JFR0lOLgorCisJKiBkbGxzL2FkdmFwaTMyL3JlZ2lzdHJ5LmMsIGRsbHMvY29tY3RsMzIvY29tY3RsMzJ1bmRvYy5jLAorCSAgZGxscy9zaGx3YXBpL3JlZy5jLCBpbmNsdWRlL3dpbnJlZy5oOgorCVN0ZXZlbiBFZHdhcmRzIDxzdGV2ZW5fZWQ0MTUzQHlhaG9vLmNvbT4KKwlDb3JyZWN0IFJlZ0NyZWF0ZUtleUV4W0EvV10gcHJvdG90eXBlIHRvIG1hdGNoIHRoZSBQU0RLLgorCisJKiBkbGxzL2QzZDgvZGV2aWNlLmMsIGRsbHMvZDNkOC9kaXJlY3R4LmMsIGRsbHMvZDNkOC9kcmF3cHJpbS5jLAorCSAgZGxscy9kM2Q4L3N1cmZhY2UuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRml4IHNpZ24gd2FybmluZ3MuCisKKwkqIGRsbHMvZDNkOS9kM2Q5X3ByaXZhdGUuaCwgZGxscy93aW5lZDNkL3dpbmVkM2RfcHJpdmF0ZS5oOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlnY2MgNC4wIC1XcG9pbnRlci1zaWduIGZpeGVzLgorCisJKiBkbGxzL2tlcm5lbC9sY2Zvcm1hdC5jLCBkbGxzL2tlcm5lbC90ZXN0cy9sb2NhbGUuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCS0gUmVpbXBsZW1lbnQgRW51bVRpbWVGb3JtYXRzLCBtYWtlIGl0IHdvcmsgZm9yIGFsbCBhdmFpbGFibGUKKwkgIGxvY2FsZXMuCisJLSBBZGQgYSB0ZXN0IGZvciBFbnVtVGltZUZvcm1hdHMKKworCSogZGxscy93aW5lZDNkL3ZlcnRleGRlY2xhcmF0aW9uLmM6CisJT2xpdmVyIFN0aWViZXIgPG9saXZlcl9zdGllYmVyQHlhaG9vLmNvLnVrPgorCVJldHVybiBhbGwgZWxlbWVudHMgd2hlbiBnZXREZWNsYXJhdGlvbiBpcyBjYWxsZWQgd2l0aCBwbnVtZWxlbWVudHMKKwlzZXQgdG8gMC4KKworCSogZGxscy9jb21jdGwzMi90cmVldmlldy5jOiBGcmFuayBSaWNodGVyIDxmcmFuay5yaWNodGVyQGdtYWlsLmNvbT4KKwlBZGQgdGhlbWluZyBmb3IgdHJlZXZpZXcgY29udHJvbC4KKworCSogZGxscy9jb21jdGwzMi90YWIuYzogRnJhbmsgUmljaHRlciA8ZnJhbmsucmljaHRlckBnbWFpbC5jb20+CisJQWRkIHRoZW1pbmcgc3VwcG9ydCBmb3IgdGhlIHRhYiBjb250cm9sLgorCisJKiBkbGxzL29sZWF1dDMyL3R5cGVsaWIuYzogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCS0gQSBuYW1lIGluIGFuIFNMVEcgdHlwZWxpYiBvbmx5IGJlZ2lubmluZyB3aXRoIDB4ZmYgaXMgdGhlIGluZGljYXRvcgorCSAgb2YgYW4gb2Zmc2V0LCBpbnN0ZWFkIG9mIGFueSBub24gYWxwaGEtbnVtZXJpYyBjaGFyYWN0ZXIuCisJLSBBbnkgZGlzcGF0Y2ggaW50ZXJmYWNlIHNob3VsZCBoYXZlIHRoZSBmaXhlZCB2dGFibGUgc2l6ZSwgbm90IGp1c3QKKwkgIGR1YWwgb25lcy4KKwktIFdhcm4gd2hlbiBJVHlwZUluZm9fR2V0RG9jdW1lbnRhdGlvbiBmYWlscy4KKworCSogZGxscy92ZXJzaW9uL2luZm8uYzogUGF1bCBWcmllbnMgPFBhdWwuVnJpZW5zQHhzNGFsbC5ubD4KKwlDbGVhbnVwIHByaW50X3ZmZmlfZGVidWcuCisKKzIwMDUtMDctMjcgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBkbGxzL01ha2VmaWxlLmluLCBkbGxzL21jaWNkYS8uY3ZzaWdub3JlLAorCSAgZGxscy9tY2ljZGEvTWFrZWZpbGUuaW4sIGRsbHMvbWNpY2RhL21jaWNkYS5jLAorCSAgZGxscy9tY2ljZGEvbWNpY2RhLnNwZWMsIHRvb2xzL3dpbmFwaS93aW4zMi5hcGksIHRvb2xzL3dpbmUuaW5mOgorCVLpbWkgQXNzYWlsbHkgPHJlbWkuYXNzYWlsbHlAZnJlZS5mcj4KKwlNb3ZlZCBtY2ljZGEgdG8gdGhlIHRvcC1sZXZlbCBkbGxzIGRpcmVjdG9yeS4KKworCSogZGxscy91eHRoZW1lL2RyYXcuYzogRnJhbmsgUmljaHRlciA8ZnJhbmsucmljaHRlckBnbWFpbC5jb20+CisJSW1wbGVtZW50YXRpb24gZm9yIEdldFRoZW1lUGFydFNpemUoKSAobm90IGVudGlyZWx5IGVxdWl2YWxlbnQgdG8KKwluYXRpdmUgdXh0aGVtZSwgYnV0IHNlbnNpYmx5IHVzZWFibGUpLgorCisJKiBkbGxzL3dpbmVkM2QvZGV2aWNlLmMsIGRsbHMvd2luZWQzZC9zd2FwY2hhaW4uYywKKwkgIGRsbHMvd2luZWQzZC93aW5lZDNkX3ByaXZhdGUuaCwgaW5jbHVkZS93aW5lL3dpbmVkM2RfaW50ZXJmYWNlLmg6CisJT2xpdmVyIFN0aWViZXIgPG9saXZlcl9zdGllYmVyQHlhaG9vLmNvLnVrPgorCUNoYW5nZWQgc3dhcGNoYWlucyBoZWxkIGJ5IHRoZSBkZXZpY2UgZnJvbSBhbiBhcnJheSB0byBhIGxpbmtlZAorCWxpc3QuIEFsc28gcHJvdmlkZSBhIG5vdGlmaWNhdGlvbiBmdW5jdGlvbiB0aGF0IHRoYXQgdGhlIHN3YXBjaGFpbiBjYW4KKwliZSByZW1vdmVkIHdoZW4gaXQgaXMgcmVsZWFzZWQuCisKKwkqIGRsbHMveDExZHJ2L3dpbmRvdy5jOgorCVRoZXJlJ3Mgbm8gbmVlZCB0byB1cGRhdGUgdGhlIGV2ZW50IG1hc2sgaW4gWDExRFJWX3N5bmNfd2luZG93X3N0eWxlLAorCWl0IG5ldmVyIGNoYW5nZXMuCisKKwkqIGRsbHMvZGV2ZW51bS9tZWRpYWNhdGVudW0uYywgZGxscy9xY2FwL2NhcHR1cmVncmFwaC5jLAorCSAgZGxscy9xdWFydHovZmlsZXNvdXJjZS5jLCBkbGxzL3F1YXJ0ei9maWx0ZXJtYXBwZXIuYywKKwkgIGRsbHMvcXVhcnR6L3BhcnNlci5jLCBkbGxzL3F1YXJ0ei9waW4uYzoKKwlSZXBsYWNlIHRoZSBJQ09NX1RISVNfRnJvbSBtYWNyb3MgYnkgaW5saW5lIGZ1bmN0aW9ucy4KKworCSogZGxscy9jb21jdGwzMi9oZWFkZXIuYywgZGxscy9jb21jdGwzMi9saXN0dmlldy5jOgorCUZyYW5rIFJpY2h0ZXIgPGZyYW5rLnJpY2h0ZXJAZ21haWwuY29tPgorCVNpbmNlIE9wZW5UaGVtZURhdGEoKSBzaG91bGQgcmV0dXJuIDAgaW4gY2FzZSB0aGVtaW5nIGlzIGRpc2FibGVkCisJZ2xvYmFsbHkgb3IgZm9yIHRoZSBhcHBsaWNhdGlvbiB3ZSBkb24ndCBuZWVkIHRvIGNoZWNrIHRoYXQgd2hlbgorCWNhbGxpbmcgT3BlblRoZW1lRGF0YSgpLgorCisJKiBkbGxzL3dsZGFwMzIvTWFrZWZpbGUuaW4sIGRsbHMvd2xkYXAzMi9lcnJvci5jLAorCSAgZGxscy93bGRhcDMyL3dpbmxkYXBfcHJpdmF0ZS5oLCBkbGxzL3dsZGFwMzIvd2xkYXAzMi5zcGVjOgorCUhhbnMgTGVpZGVra2VyIDxoYW5zQGl0LnZ1Lm5sPgorCUltcGxlbWVudCBsZGFwX3BlcnJvciwgbGRhcF9yZXN1bHQyZXJyb3IgYW5kIExkYXBNYXBFcnJvclRvV2luMzIuCisKKwkqIGRsbHMvdXh0aGVtZS9wcm9wZXJ0eS5jOiBGcmFuayBSaWNodGVyIDxmcmFuay5yaWNodGVyQGdtYWlsLmNvbT4KKwlNYWtlIEdldFRoZW1lTWFyZ2lucygpIHJldHVybiBkZWZhdWx0IHZhbHVlcyAoMCBtYXJnaW4pIGlmIHRoZQorCWZ1bmN0aW9uIGRvZXMgbm90IHN1Y2NlZWQuCisKKwkqIGRsbHMva2VybmVsL2xjZm9ybWF0LmMsIGRsbHMva2VybmVsL3Rlc3RzL2xvY2FsZS5jOgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJLSBSZWltcGxlbWVudCBFbnVtRGF0ZUZvcm1hdHMsIG1ha2UgaXQgd29yayBmb3IgYWxsIGF2YWlsYWJsZQorCSAgbG9jYWxlcy4KKwktIEFkZCBhIHRlc3QgZm9yIEVudW1EYXRlRm9ybWF0cy4KKworCSogZGxscy92ZXJzaW9uL2luZm8uYzogUGF1bCBWcmllbnMgPFBhdWwuVnJpZW5zQHhzNGFsbC5ubD4KKwlSZW1vdmUgMzJiaXQgcmVmZXJlbmNlcy9jaGVja3MgaW4gVkVSU0lPTl9HZXRGaWxlVmVyc2lvbkluZm9fMTYuCisKKwkqIGRsbHMvb2xlYXV0MzIvb2xlZm9udC5jLCBkbGxzL29sZWF1dDMyL29sZXBpY3R1cmUuYywKKwkgIGRsbHMvb2xlYXV0MzIvdHlwZWxpYi5jLCBkbGxzL29sZWF1dDMyL3R5cGVsaWIyLmM6CisJUmVwbGFjZSB0aGUgSUNPTV9USElTX0Zyb20gbWFjcm9zIGJ5IGlubGluZSBmdW5jdGlvbnMuCisKKwkqIGRsbHMvb2xlMzIvYW50aW1vbmlrZXIuYywgZGxscy9vbGUzMi9jb21wb3NpdGVtb25pa2VyLmMsCisJICBkbGxzL29sZTMyL2RhdGFjYWNoZS5jLCBkbGxzL29sZTMyL2RlZmF1bHRoYW5kbGVyLmMsCisJICBkbGxzL29sZTMyL2Vycm9yaW5mby5jLCBkbGxzL29sZTMyL2ZpbGVtb25pa2VyLmMsCisJICBkbGxzL29sZTMyL2Z0bWFyc2hhbC5jLCBkbGxzL29sZTMyL2l0ZW1tb25pa2VyLmMsCisJICBkbGxzL29sZTMyL21vbmlrZXIuYywgZGxscy9vbGUzMi9tb25pa2VyLmgsIGRsbHMvb2xlMzIvc3RnX3Byb3AuYzoKKwlSZXBsYWNlIHRoZSBfSUNPTV9USElTX0Zyb20gbWFjcm9zIGJ5IGlubGluZSBmdW5jdGlvbnMgdGhlIHdheSBpdCdzCisJYWxyZWFkeSBkb25lIGluIHNoZWxsbGluay5jLgorCisJKiBkbGxzL2NvbWN0bDMyL3Byb2dyZXNzLmM6IEZyYW5rIFJpY2h0ZXIgPGZyYW5rLnJpY2h0ZXJAZ21haWwuY29tPgorCVNwbGl0IHVwIHRoZSBkcmF3aW5nIGNvZGUgaW50byBhIHNldCBvZiBzbWFsbGVyIGZ1bmN0aW9ucyBhbmQgYWxzbworCW1vdmVkIHNvbWUgY29tbW9uIGNvbXB1dGF0aW9ucyBpbnRvIGhlbHBlciBmdW5jdGlvbnMuIEFsbCB0aGF0IHRvCisJZmFjaWxpdGF0ZSB0aGUgaW1wbGVtZW50YXRpb24gb2YgdGhlIGZvcnRoY29taW5nIHRoZW1pbmcgc3VwcG9ydC4KKworCSogZGxscy93aW5tbS93aW5lYWxzYS9taWRpLmM6IEpvaGFubmVzIEtvY2ggPEFkbWluQGRhcmt2Yi5kZT4KKwlGaXhlZCBwaXRjaCBiZW5kaW5nIGluIHRoZSBtaWRpIGRyaXZlci4KKworCSogZGxscy92ZXJzaW9uL2luZm8uYzogUGF1bCBWcmllbnMgPFBhdWwuVnJpZW5zQHhzNGFsbC5ubD4KKwlSZW1vdmUgd3JvbmcgY2hlY2suCisKKwkqIGRsbHMvY29tbWRsZy9maWxlZGxnYnJvd3Nlci5jLCBkbGxzL2NvbW1kbGcvZmlsZWRsZ2Jyb3dzZXIuaCwKKwkgIGRsbHMvc2hlbGwzMi9hdXRvY29tcGxldGUuYywgZGxscy9zaGVsbDMyL2NwYW5lbGZvbGRlci5jLAorCSAgZGxscy9zaGVsbDMyL2ZvbGRlcnMuYywgZGxscy9zaGVsbDMyL3NoZmxkcl9mcy5jLAorCSAgZGxscy9zaGVsbDMyL3NoZmxkcl9teWNvbXAuYywgZGxscy9zaGVsbDMyL3NobHZpZXcuYzoKKwlSZXBsYWNlIHRoZSBfSUNPTV9USElTX0Zyb20gbWFjcm9zIGJ5IGlubGluZSBmdW5jdGlvbnMgdGhlIHdheSBpdCdzCisJYWxyZWFkeSBkb25lIGluIHNoZWxsbGluay5jLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgZGxscy9NYWtlZmlsZS5pbiwgZGxscy91c3AxMC8uY3ZzaWdub3JlLAorCSAgZGxscy91c3AxMC9NYWtlZmlsZS5pbiwgZGxscy91c3AxMC91c3AxMC5jLCBkbGxzL3VzcDEwL3VzcDEwLnNwZWMsCisJICBpbmNsdWRlL3VzcDEwLmg6CisJU3RldmVuIEVkd2FyZHMgPHN0ZXZlbkBjb2Rld2VhdmVycy5jb20+CisJQWRkIHN0dWIgaW1wbGVtZW50YXRpb24gb2YgdGhlIFVuaXNjcmliZSBTY3JpcHQgUHJvY2Vzc29yLgorCisJKiBkbGxzL2NvbWN0bDMyL01ha2VmaWxlLmluLCBkbGxzL2NvbWN0bDMyL2NvbWN0bDMyLmgsCisJICBkbGxzL2NvbWN0bDMyL2NvbW1jdHJsLmMsIGRsbHMvY29tY3RsMzIvdGhlbWluZy5jOgorCUZyYW5rIFJpY2h0ZXIgPGZyYW5rLnJpY2h0ZXJAZ21haWwuY29tPgorCUFkZGVkIHNvbWUgZ2VuZXJpYyBjb2RlIHRvIGFsbG93IHN1YmNsYXNzaW5nIChmb3IgdGhlIHB1cnBvc2Ugb2YKKwl0aGVtaW5nKSBvZiBzdGFuZGFyZCBjb250cm9scy4KKworCSogZGxscy9rZXJuZWwvdGVzdHMvbW9kdWxlLmM6IFBhdWwgVnJpZW5zIDxwYXVsLnZyaWVuc0B4czRhbGwubmw+CisJRml4IHNvbWUgdGVzdHMgZm9yIHdpbjl4IGFuZCB3aW5NRS4KKworCSogZGxscy93aW5tbS93aW5lYWxzYS9hdWRpby5jOgorCVZpdGFsaXkgTWFyZ29sZW4gPHdpbmUtcGF0Y2hAa2lldmluZm8uY29tPgorCVJlbW92ZSBhbGwgd2FpdF9mb3JfcG9sbCBhc3NvY2lhdGVkIHN0dWZmIHRoYXQgaXMgbm8gbG9uZ2VyIG5lZWRlZC4KKworCSogaW5jbHVkZS93aW5udC5oOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCUFkZCB0aGUgJ2ZsYWcnIHR5cGVzOiBGQ0hBUiwgRlNIT1JUIGFuZCBGTE9ORy4KKworMjAwNS0wNy0yNiAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9kM2R4b2YvZDNkeG9mX3ByaXZhdGUuaCwgZGxscy9kZHJhdy9jbGlwcGVyLmMsCisJICBkbGxzL2RkcmF3L2RkcmF3X2hhbC5jLCBkbGxzL2RkcmF3L2RkcmF3X21haW4uYywKKwkgIGRsbHMvZGRyYXcvZGRyYXdfdGh1bmtzLmMsIGRsbHMvZGRyYXcvZGRyYXdfdXNlci5jLAorCSAgZGxscy9kZHJhdy9kZXZpY2Vfb3BlbmdsLmMsIGRsbHMvZGRyYXcvZGlyZWN0M2Rfb3BlbmdsLmMsCisJICBkbGxzL2RkcmF3L2V4ZWN1dGVidWZmZXIuYywgZGxscy9kZHJhdy9saWdodC5jLAorCSAgZGxscy9kZHJhdy9tYXRlcmlhbC5jLCBkbGxzL2RkcmF3L3BhbGV0dGVfaGFsLmMsCisJICBkbGxzL2RkcmF3L3BhbGV0dGVfbWFpbi5jLCBkbGxzL2RkcmF3L3N1cmZhY2VfZGliLmMsCisJICBkbGxzL2RkcmF3L3N1cmZhY2VfZmFrZXpidWZmZXIuYywgZGxscy9kZHJhdy9zdXJmYWNlX2dhbW1hLmMsCisJICBkbGxzL2RkcmF3L3N1cmZhY2VfaGFsLmMsIGRsbHMvZGRyYXcvc3VyZmFjZV9tYWluLmMsCisJICBkbGxzL2RkcmF3L3N1cmZhY2VfdGh1bmtzLmMsIGRsbHMvZGRyYXcvc3VyZmFjZV91c2VyLmMsCisJICBkbGxzL2RkcmF3L3RleHR1cmUuYywgZGxscy9kZHJhdy92ZXJ0ZXhidWZmZXIuYywKKwkgIGRsbHMvZGRyYXcvdmlld3BvcnQuYywgaW5jbHVkZS9vYmpiYXNlLmg6CisJTWFrZSBDT05TVF9WVEFCTEUgdGhlIGRlZmF1bHQgaW4gdGhlIFdpbmUgc291cmNlLgorCisJKiBkbGxzL3NoZWxsMzIvc2hlbGxsaW5rLmM6CisJR2V0IHJpZCBvZiB0aGUgX0lDT01fVEhJUyBtYWNyb3MgYW5kIGNhbGwgdGhlIGlubGluZSBmdW5jdGlvbgorCWRpcmVjdGx5IGluc3RlYWQuCisKKwkqIGRsbHMvd2luZWQzZC9kZXZpY2UuYywgZGxscy93aW5lZDNkL3V0aWxzLmMsCisJICBkbGxzL3dpbmVkM2Qvd2luZWQzZF9wcml2YXRlLmg6CisJT2xpdmVyIFN0aWViZXIgPG9saXZlcl9zdGllYmVyQHlhaG9vLmNvLnVrPgorCURpcmVjdFggdXNlcyBhIFIvWiB0cmFuc2Zvcm0gdG8gdHJhbnNsYXRlIGEgdGV4dHVyZSBidXQgdW5kZXIgT3BlbkdMIGEKKwlRIHRyYW5zZm9ybSBtdXN0IGJlIHVzZWQgaW5zdGVhZC4KKworCSogdG9vbHMvd2luZWJ1aWxkL3NwZWMzMi5jOgorCVByaW50IGEgd2FybmluZyB3aGVuIGEgZ2VuZXJhdGVkIGltcG9ydCBsaWJyYXJ5IGRvZXNuJ3QgZXhwb3J0CisJYW55dGhpbmcgdXNlZnVsLgorCisJKiBkbGxzL3dpbmVkM2QvY3ViZXRleHR1cmUuYywgZGxscy93aW5lZDNkL2RldmljZS5jLAorCSAgZGxscy93aW5lZDNkL3N1cmZhY2UuYywgZGxscy93aW5lZDNkL3N3YXBjaGFpbi5jLAorCSAgZGxscy93aW5lZDNkL3RleHR1cmUuYywgZGxscy93aW5lZDNkL3ZvbHVtZXRleHR1cmUuYzoKKwlPbGl2ZXIgU3RpZWJlciA8b2xpdmVyX3N0aWViZXJAeWFob28uY28udWs+CisJUmVtb3ZlIGEgbG9hZCBvZiBJV2luZUQzRFN1cmZhY2UgKiBjYXN0cyB0aGF0IGFyZSBubyBsb25nZXIgcmVxdWlyZWQuCisKKwkqIGRsbHMvZDNkOS9zdGF0ZWJsb2NrLmMsIGRsbHMvd2luZWQzZC9iYXNldGV4dHVyZS5jLAorCSAgZGxscy93aW5lZDNkL2RldmljZS5jLCBkbGxzL3dpbmVkM2QvZGlyZWN0eC5jLAorCSAgZGxscy93aW5lZDNkL3N0YXRlYmxvY2suYywgZGxscy93aW5lZDNkL3ZvbHVtZXRleHR1cmUuYywKKwkgIGRsbHMvd2luZWQzZC93aW5lZDNkX3ByaXZhdGUuaCwgaW5jbHVkZS93aW5lL3dpbmVkM2RfaW50ZXJmYWNlLmgsCisJICBpbmNsdWRlL3dpbmUvd2luZWQzZF90eXBlcy5oOgorCU9saXZlciBTdGllYmVyIDxvbGl2ZXJfc3RpZWJlckB5YWhvby5jby51az4KKwlNYWtlcyBzdXJlIGFueSBpbnRlcm5hbCByZWZlcmVuY2UgY291bnRpbmcgaXMgcGFzc2VkIG9udG8gdGhlIHBhcmVudCwKKwlhbnkgb2JqZWN0cyByZWZlcmVuY2VkIGJ5IHRoZSBpbnRlcm5hbCBzdGF0ZWJsb2NrIGFyZSByZWxlYXNlZCB3aGVuCisJdGhlIHN0YXRlYmxvY2sgaXMgcmVsZWFzZWQgKHdlIGRvbid0IHJlZmVyZW5jZSBjb3VudCB3aGlsZSBhCisJc3RhdGVibG9jayBpcyByZWNvcmRpbmcsIHNvIHJlY29yZGVkIHN0YXRlYmxvY2tzIGhhdmUgbm8gcmVmZXJlbmNlcyB0bworCWNsZWFuIHVwKS4KKworCSogZGxscy9hdmlmaWwzMi9lZGl0c3RyZWFtLmMsIGRsbHMvZG1pbWUvc2VnbWVudC5jLAorCSAgZGxscy9kbWxvYWRlci9kbWxvYWRlcl9wcml2YXRlLmgsIGRsbHMvZG1sb2FkZXIvbG9hZGVyLmMsCisJICBkbGxzL2RtbG9hZGVyL2xvYWRlcnN0cmVhbS5jLCBkbGxzL2RwbGF5eC9kcGxheXNwLmgsCisJICBkbGxzL2RwbGF5eC9sb2JieXNwLmgsIGRsbHMvb2xlMzIvaWZzLmgsIGRsbHMvc2hlbGwzMi9zaGVsbGZvbGRlci5oLAorCSAgaW5jbHVkZS9kM2QuaCwgaW5jbHVkZS9kM2Q4LmgsIGluY2x1ZGUvZDNkOS5oLCBpbmNsdWRlL2QzZHg4Y29yZS5oLAorCSAgaW5jbHVkZS9kZHJhdy5oLCBpbmNsdWRlL2RpbnB1dC5oLCBpbmNsdWRlL2RtcGx1Z2luLmgsCisJICBpbmNsdWRlL2RtdXNpY2MuaCwgaW5jbHVkZS9kbXVzaWNpLmgsIGluY2x1ZGUvZG11c2ljcy5oLAorCSAgaW5jbHVkZS9kcGFkZHIuaCwgaW5jbHVkZS9kcGxheS5oLCBpbmNsdWRlL2RwbGF5OC5oLAorCSAgaW5jbHVkZS9kcGxvYmJ5LmgsIGluY2x1ZGUvZHNkcml2ZXIuaCwgaW5jbHVkZS9kc291bmQuaCwKKwkgIGluY2x1ZGUvZHhkaWFnLmgsIGluY2x1ZGUvZHhmaWxlLmgsIGluY2x1ZGUvbWFwaWRlZnMuaCwKKwkgIGluY2x1ZGUvbWFwaXV0aWwuaCwgaW5jbHVkZS9tYXBpeC5oLCBpbmNsdWRlL29iamJhc2UuaCwKKwkgIGluY2x1ZGUvb2Jqc2VsLmgsIGluY2x1ZGUvb2xlZGxnLmgsIGluY2x1ZGUvc2hsb2JqLmgsCisJICBpbmNsdWRlL3NobHdhcGkuaCwgaW5jbHVkZS92ZncuaCwgaW5jbHVkZS93aW5lL3dpbmVkM2RfaW50ZXJmYWNlLmg6CisJVW5jb21tZW50IHRoZSB0eXBlZGVmIGluIHRoZSBERUNMQVJFX0lOVEVSRkFDRSBtYWNybywgYW5kIGdldCByaWQgb2YKKwlkdXBsaWNhdGUgdHlwZWRlZnMuCisKKwkqIGRsbHMvY29tY3RsMzIvaGVhZGVyLmM6IEZpbGlwIE5hdmFyYSA8eG5hdmFyYUB2b2xueS5jej4KKwlVc2UgUmVsZWFzZURDIGluc3RlYWQgb2YgRGVsZXRlREMgb24gREMgaGFuZGxlLgorCisJKiBkbGxzL3ZlcnNpb24vaW5mby5jOiBQYXVsIFZyaWVucyA8cGF1bC52cmllbnNAeHM0YWxsLm5sPgorCVJlbmFtZSBiVGV4dCB0byB3VHlwZS4KKworCSogZGxscy93bGRhcDMyL2luaXQuYzogSGFucyBMZWlkZWtrZXIgPGhhbnNAaXQudnUubmw+CisJSW1wcm92ZSBlcnJvciBoYW5kbGluZyBmb3IgdGhlIGluaXQgZnVuY3Rpb25zLgorCisJKiBkbGxzL3VzZXIvbWVzc2FnZS5jOiBQaGlsIEtyeWxvdiA8cGhpbEBuZXdzdGFyLnJpbmV0LnJ1PgorCVRyYW5zbGF0ZSB0aGUgd2hvbGUgd3BhcmFtIHRvL2Zyb20gVW5pY29kZS4KKworCSogZGxscy9NYWtlZmlsZS5pbiwgZGxscy9hbXN0cmVhbS8uY3ZzaWdub3JlLAorCSAgZGxscy9hbXN0cmVhbS9NYWtlZmlsZS5pbiwgZGxscy9jb21jYXQvLmN2c2lnbm9yZSwKKwkgIGRsbHMvY29tY2F0L01ha2VmaWxlLmluLCBkbGxzL2RldmVudW0vLmN2c2lnbm9yZSwKKwkgIGRsbHMvZGV2ZW51bS9NYWtlZmlsZS5pbiwgZGxscy9kbWJhbmQvLmN2c2lnbm9yZSwKKwkgIGRsbHMvZG1iYW5kL01ha2VmaWxlLmluLCBkbGxzL2RtY29tcG9zLy5jdnNpZ25vcmUsCisJICBkbGxzL2RtY29tcG9zL01ha2VmaWxlLmluLCBkbGxzL2RtaW1lLy5jdnNpZ25vcmUsCisJICBkbGxzL2RtaW1lL01ha2VmaWxlLmluLCBkbGxzL2RtbG9hZGVyLy5jdnNpZ25vcmUsCisJICBkbGxzL2RtbG9hZGVyL01ha2VmaWxlLmluLCBkbGxzL2Rtc2NyaXB0Ly5jdnNpZ25vcmUsCisJICBkbGxzL2Rtc2NyaXB0L01ha2VmaWxlLmluLCBkbGxzL2Rtc3R5bGUvLmN2c2lnbm9yZSwKKwkgIGRsbHMvZG1zdHlsZS9NYWtlZmlsZS5pbiwgZGxscy9kbXN5bnRoLy5jdnNpZ25vcmUsCisJICBkbGxzL2Rtc3ludGgvTWFrZWZpbGUuaW4sIGRsbHMvZG11c2ljLy5jdnNpZ25vcmUsCisJICBkbGxzL2RtdXNpYy9NYWtlZmlsZS5pbiwgZGxscy9kcG5ocGFzdC8uY3ZzaWdub3JlLAorCSAgZGxscy9kcG5ocGFzdC9NYWtlZmlsZS5pbiwgZGxscy9kc3dhdmUvLmN2c2lnbm9yZSwKKwkgIGRsbHMvZHN3YXZlL01ha2VmaWxlLmluLCBkbGxzL2R4ZGlhZ24vLmN2c2lnbm9yZSwKKwkgIGRsbHMvZHhkaWFnbi9NYWtlZmlsZS5pbiwgZGxscy9tc25ldDMyLy5jdnNpZ25vcmUsCisJICBkbGxzL21zbmV0MzIvTWFrZWZpbGUuaW4sIGRsbHMvcWNhcC8uY3ZzaWdub3JlLAorCSAgZGxscy9xY2FwL01ha2VmaWxlLmluOgorCURvbid0IGdlbmVyYXRlIGltcG9ydCBsaWJyYXJpZXMgZm9yIGRsbHMgdGhhdCBkb24ndCBleHBvcnQgYW55dGhpbmcuCisKKwkqIGRsbHMvd2luc3Bvb2wvUnUucmM6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJQXZvaWQgYW4gb3J0aG9ncmFwaGljIGVycm9yIGJ5IHJlcGhyYXNpbmcgdGhlIG1lc3NhZ2UuCisKKwkqIGRsbHMvd2xkYXAzMi9zZWFyY2guYywgZGxscy93bGRhcDMyL3dpbmxkYXBfcHJpdmF0ZS5oLAorCSAgaW5jbHVkZS93aW5sZGFwLmg6CisJSGFucyBMZWlkZWtrZXIgPGhhbnNAaXQudnUubmw+CisJQ29ycmVjdCBwcm90b3R5cGUgZm9yIGxkYXBfc2VhcmNoX2V4dF9zLgorCUltcHJvdmUgZXJyb3IgaGFuZGxpbmcgZm9yIHRoZSBzZWFyY2ggZnVuY3Rpb25zLgorCisJKiBkbGxzL3ZlcnNpb24vaW5mby5jOiBQYXVsIFZyaWVucyA8cGF1bC52cmllbnNAeHM0YWxsLm5sPgorCUZvcndhcmQgR2V0RmlsZVZlcnNpb25JbmZvQSB0byBHZXRGaWxlVmVyc2lvbkluZm9XLgorCisJKiBERVZFTE9QRVJTLUhJTlRTLCBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgZGxscy9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvb2Jqc2VsLy5jdnNpZ25vcmUsIGRsbHMvb2Jqc2VsL01ha2VmaWxlLmluLAorCSAgZGxscy9vYmpzZWwvZmFjdG9yeS5jLCBkbGxzL29ianNlbC9vYmpzZWwuYywgZGxscy9vYmpzZWwvb2Jqc2VsLnJjLAorCSAgZGxscy9vYmpzZWwvb2Jqc2VsLnNwZWMsIGRsbHMvb2Jqc2VsL29ianNlbF9wcml2YXRlLmgsCisJICBkbGxzL29ianNlbC9yZWdzdnIuYywgZGxscy91dWlkL3V1aWQuYywgaW5jbHVkZS9NYWtlZmlsZS5pbiwKKwkgIGluY2x1ZGUvb2Jqc2VsLmg6CisJVGhvbWFzIFdlaWRlbm11ZWxsZXIgPHdpbmUtcGF0Y2hlc0ByZWFjdHNvZnQuY29tPgorCUFkZGVkIHN0dWJzIGZvciBvYmpzZWwuZGxsIGFuZCBvYmpzZWwuaC4KKworCSogZGxscy93aW5lZDNkL3dpbmVkM2RfbWFpbi5jOgorCU9saXZlciBTdGllYmVyIDxvbGl2ZXJfc3RpZWJlckB5YWhvby5jby51az4KKwlDb3JyZWN0IGEgcmVncmVzc2lvbiBpc3N1ZSB3aXRoIHBlci1hcHAgc2V0dGluZ3MuCisKKwkqIGRsbHMvd2luc3Bvb2wvUnUucmMsIGRsbHMvd2luc3Bvb2wvd2luc3Bvb2wucmM6CisJRG1pdHJpaiBTaW51a292IDxhdGxhbnRpZGFERUxFVEVUSElTQGtyYXN1LnJ1PgorCUFkZGVkIFJ1c3NpYW4gcmVzb3VyY2VzLgorCisJKiBkbGxzL3dpbmVkM2QvZGV2aWNlLmMsIGRsbHMvd2luZWQzZC9yZXNvdXJjZS5jLAorCSAgZGxscy93aW5lZDNkL3dpbmVkM2RfcHJpdmF0ZS5oLCBpbmNsdWRlL3dpbmUvd2luZWQzZF9pbnRlcmZhY2UuaDoKKwlPbGl2ZXIgU3RpZWJlciA8b2xpdmVyX3N0aWViZXJAeWFob28uY28udWs+CisJSW1wbGVtZW50IHJlc291cmNlIHRyYWNraW5nLCByZXF1aXJlIGZvciByZXNldCBhbmQgZXZpY3QgbWFuYWdlZAorCXJlc291cmNlcyBhbmQgcHJvdmlkZXMgZXh0cmEgc2FuaXR5IGNoZWNrcy4KKworCSogZGxscy92ZXJzaW9uL3Rlc3RzL2luZm8uYzogUGF1bCBWcmllbnMgPHBhdWwudnJpZW5zQHhzNGFsbC5ubD4KKwlDbGVhbnVwIGFuZCBzb21lIGFkZGl0aW9uYWwgdGVzdHMuCisKKwkqIERFVkVMT1BFUlMtSElOVFM6IERpbWkgUGF1biA8ZGltaUBsYXR0aWNhLmNvbT4KKwlSZXN5bmMgd2l0aCB0aGUgbGF0ZXN0IERMTHMgdGhhdCB3ZXJlIGFkZGVkIGFuZC9vciBtb3ZlZC4KKworCSogZGxscy9yaWNoZWQyMC9jYXJldC5jLCBkbGxzL3JpY2hlZDIwL2VkaXRvci5jLAorCSAgZGxscy9yaWNoZWQyMC9lZGl0b3IuaDoKKwlQaGlsIEtyeWxvdiA8cGhpbEBuZXdzdGFyLnJpbmV0LnJ1PgorCUltcGxlbWVudGVkIEVNX0NIQVJGUk9NUE9TIFJpY2hFZGl0IG1lc3NhZ2UuCisKKwkqIGRsbHMvcmljaGVkMjAvd3JpdGVyLmM6IFBoaWwgS3J5bG92IDxwaGlsQG5ld3N0YXIucmluZXQucnU+CisJR2VuZXJhdGUgZW5kaW5nIFxwYXIgaW4gUlRGIG91dHB1dCBvZiBSaWNoRWRpdCB3aGVuIHN0cmVhbWluZyBvdXQgYQorCXdob2xlIGRvY3VtZW50LgorCisJKiBkbGxzL21zaHRtbC90ZXN0cy9odG1sZG9jLmM6IEphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJVGVzdHMgY3Jhc2ggZml4LgorCisJKiBkbGxzL3dpbm1tL3dpbmVhbHNhL2F1ZGlvLmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwl3YWl0X2Zvcl9wb2xsIGNhbiBnbyBpbnRvIGFuIGluZmluaXRlIGxvb3AuIFJlbW92ZSBpdCBhbmQgcmVwbGFjZSBpdAorCXdpdGggc25kX3BjbV9kcmFpbiB3aGljaCBpcyBtb3JlIGxpa2VseSB0byBkbyB3aGF0IHRoZSBvcmlnaW5hbCBhdXRob3IKKwlpbnRlbmRlZC4KKworCSogZGxscy93bGRhcDMyL2JpbmQuYywgZGxscy93bGRhcDMyL3dpbmxkYXBfcHJpdmF0ZS5oOgorCUhhbnMgTGVpZGVra2VyIDxoYW5zQGl0LnZ1Lm5sPgorCUltcHJvdmUgZXJyb3IgaGFuZGxpbmcgZm9yIHRoZSBiaW5kIGZ1bmN0aW9ucy4KKworMjAwNS0wNy0yNSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogVkVSU0lPTiwgY29uZmlndXJlLCBBTk5PVU5DRSwgQ2hhbmdlTG9nOiBSZWxlYXNlIDIwMDUwNzI1LgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAyMDA1LTA3LTI1ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgogCiAJKiBkbGxzL2NvbWN0bDMyL3VwZG93bi5jOiBGcmFuayBSaWNodGVyIDxmcmFuay5yaWNodGVyQGdtYWlsLmNvbT4KZGlmZiAtLWdpdCBhL1ZFUlNJT04gYi9WRVJTSU9OCmluZGV4IGFjMDM4ZTEuLmNlODdkYTkgMTAwNjQ0Ci0tLSBhL1ZFUlNJT04KKysrIGIvVkVSU0lPTgpAQCAtMSArMSBAQAotV2luZSB2ZXJzaW9uIDIwMDUwNzI1CitXaW5lIHZlcnNpb24gMjAwNTA4MzAKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQppbmRleCBiMDUyY2NmLi44NDFlNDdlIDEwMDc1NQotLS0gYS9jb25maWd1cmUKKysrIGIvY29uZmlndXJlCkBAIC0xLDYgKzEsNiBAQAogIyEgL2Jpbi9zaAogIyBHdWVzcyB2YWx1ZXMgZm9yIHN5c3RlbS1kZXBlbmRlbnQgdmFyaWFibGVzIGFuZCBjcmVhdGUgTWFrZWZpbGVzLgotIyBHZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNTkgZm9yIFdpbmUgMjAwNTA3MjUuCisjIEdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41OSBmb3IgV2luZSAyMDA1MDgzMC4KICMKICMgUmVwb3J0IGJ1Z3MgdG8gPHdpbmUtZGV2ZWxAd2luZWhxLm9yZz4uCiAjCkBAIC0yNjksOCArMjY5LDggQEAKICMgSWRlbnRpdHkgb2YgdGhpcyBwYWNrYWdlLgogUEFDS0FHRV9OQU1FPSdXaW5lJwogUEFDS0FHRV9UQVJOQU1FPSd3aW5lJwotUEFDS0FHRV9WRVJTSU9OPScyMDA1MDcyNScKLVBBQ0tBR0VfU1RSSU5HPSdXaW5lIDIwMDUwNzI1JworUEFDS0FHRV9WRVJTSU9OPScyMDA1MDgzMCcKK1BBQ0tBR0VfU1RSSU5HPSdXaW5lIDIwMDUwODMwJwogUEFDS0FHRV9CVUdSRVBPUlQ9J3dpbmUtZGV2ZWxAd2luZWhxLm9yZycKIAogYWNfdW5pcXVlX2ZpbGU9InNlcnZlci9hdG9tLmMiCkBAIC03ODgsNyArNzg4LDcgQEAKICAgIyBPbWl0IHNvbWUgaW50ZXJuYWwgb3Igb2Jzb2xldGUgb3B0aW9ucyB0byBtYWtlIHRoZSBsaXN0IGxlc3MgaW1wb3NpbmcuCiAgICMgVGhpcyBtZXNzYWdlIGlzIHRvbyBsb25nIHRvIGJlIGEgc3RyaW5nIGluIHRoZSBBL1VYIDMuMSBzaC4KICAgY2F0IDw8X0FDRU9GCi1cYGNvbmZpZ3VyZScgY29uZmlndXJlcyBXaW5lIDIwMDUwNzI1IHRvIGFkYXB0IHRvIG1hbnkga2luZHMgb2Ygc3lzdGVtcy4KK1xgY29uZmlndXJlJyBjb25maWd1cmVzIFdpbmUgMjAwNTA4MzAgdG8gYWRhcHQgdG8gbWFueSBraW5kcyBvZiBzeXN0ZW1zLgogCiBVc2FnZTogJDAgW09QVElPTl0uLi4gW1ZBUj1WQUxVRV0uLi4KIApAQCAtODUzLDcgKzg1Myw3IEBACiAKIGlmIHRlc3QgLW4gIiRhY19pbml0X2hlbHAiOyB0aGVuCiAgIGNhc2UgJGFjX2luaXRfaGVscCBpbgotICAgICBzaG9ydCB8IHJlY3Vyc2l2ZSApIGVjaG8gIkNvbmZpZ3VyYXRpb24gb2YgV2luZSAyMDA1MDcyNToiOzsKKyAgICAgc2hvcnQgfCByZWN1cnNpdmUgKSBlY2hvICJDb25maWd1cmF0aW9uIG9mIFdpbmUgMjAwNTA4MzA6Ijs7CiAgICBlc2FjCiAgIGNhdCA8PFxfQUNFT0YKIApAQCAtOTg0LDcgKzk4NCw3IEBACiB0ZXN0IC1uICIkYWNfaW5pdF9oZWxwIiAmJiBleGl0IDAKIGlmICRhY19pbml0X3ZlcnNpb247IHRoZW4KICAgY2F0IDw8XF9BQ0VPRgotV2luZSBjb25maWd1cmUgMjAwNTA3MjUKK1dpbmUgY29uZmlndXJlIDIwMDUwODMwCiBnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNTkKIAogQ29weXJpZ2h0IChDKSAyMDAzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpAQCAtOTk4LDcgKzk5OCw3IEBACiBUaGlzIGZpbGUgY29udGFpbnMgYW55IG1lc3NhZ2VzIHByb2R1Y2VkIGJ5IGNvbXBpbGVycyB3aGlsZQogcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2VzIGEgbWlzdGFrZS4KIAotSXQgd2FzIGNyZWF0ZWQgYnkgV2luZSAkYXNfbWUgMjAwNTA3MjUsIHdoaWNoIHdhcworSXQgd2FzIGNyZWF0ZWQgYnkgV2luZSAkYXNfbWUgMjAwNTA4MzAsIHdoaWNoIHdhcwogZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU5LiAgSW52b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCiAKICAgJCAkMCAkQApAQCAtMTg3MDksNyArMTg3MDksNyBAQAogfSA+JjUKIGNhdCA+JjUgPDxfQ1NFT0YKIAotVGhpcyBmaWxlIHdhcyBleHRlbmRlZCBieSBXaW5lICRhc19tZSAyMDA1MDcyNSwgd2hpY2ggd2FzCitUaGlzIGZpbGUgd2FzIGV4dGVuZGVkIGJ5IFdpbmUgJGFzX21lIDIwMDUwODMwLCB3aGljaCB3YXMKIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41OS4gIEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcwogCiAgIENPTkZJR19GSUxFUyAgICA9ICRDT05GSUdfRklMRVMKQEAgLTE4NzcyLDcgKzE4NzcyLDcgQEAKIAogY2F0ID4+JENPTkZJR19TVEFUVVMgPDxfQUNFT0YKIGFjX2NzX3ZlcnNpb249IlxcCi1XaW5lIGNvbmZpZy5zdGF0dXMgMjAwNTA3MjUKK1dpbmUgY29uZmlnLnN0YXR1cyAyMDA1MDgzMAogY29uZmlndXJlZCBieSAkMCwgZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU5LAogICB3aXRoIG9wdGlvbnMgXFwiYGVjaG8gIiRhY19jb25maWd1cmVfYXJncyIgfCBzZWQgJ3MvW1xcIiJcYFwkXS9cXFxcJi9nJ2BcXCIKIAo=