ZGlmZiAtLWdpdCBhL0FOTk9VTkNFIGIvQU5OT1VOQ0UKaW5kZXggZDYzNTMyNC4uOGUxZDdkNiAxMDA2NDQKLS0tIGEvQU5OT1VOQ0UKKysrIGIvQU5OT1VOQ0UKQEAgLTEsNCArMSw0IEBACi1UaGlzIGlzIHJlbGVhc2UgOTgxMjExIG9mIFdpbmUsIGEgZnJlZSBpbXBsZW1lbnRhdGlvbiBvZiBXaW5kb3dzIG9uCitUaGlzIGlzIHJlbGVhc2UgOTkwMTAzIG9mIFdpbmUsIGEgZnJlZSBpbXBsZW1lbnRhdGlvbiBvZiBXaW5kb3dzIG9uCiBVbml4LiAgVGhpcyBpcyBzdGlsbCBhIGRldmVsb3BlcnMgb25seSByZWxlYXNlLiAgVGhlcmUgYXJlIG1hbnkgYnVncwogYW5kIHVuaW1wbGVtZW50ZWQgZmVhdHVyZXMuICBNb3N0IGFwcGxpY2F0aW9ucyBzdGlsbCBkbyBub3Qgd29yawogY29ycmVjdGx5LgpAQCAtNiwxMiArNiwxMSBAQAogUGF0Y2hlcyBzaG91bGQgYmUgc3VibWl0dGVkIHRvICJqdWxsaWFyZEBscmMuZXBmbC5jaCIuICBQbGVhc2UgZG9uJ3QKIGZvcmdldCB0byBpbmNsdWRlIGEgQ2hhbmdlTG9nIGVudHJ5LgogCi1XSEFUJ1MgTkVXIHdpdGggV2luZS05ODEyMTE6IChzZWUgQ2hhbmdlTG9nIGZvciBkZXRhaWxzKQotCS0gQSBsb3Qgb2YgY29kZSBtb3ZlZCBhcm91bmQgZm9yIGEgYmV0dGVyIHN0cnVjdHVyZS4KLQktIE5ldyBjb25zb2xlIHN1cHBvcnQuCi0JLSBCZWdpbm5pbmdzIG9mIFRUWSBkcml2ZXIuCitXSEFUJ1MgTkVXIHdpdGggV2luZS05OTAxMDM6IChzZWUgQ2hhbmdlTG9nIGZvciBkZXRhaWxzKQorCS0gSW1wcm92ZWQgY29uc29sZSBzdXBwb3J0LgogCS0gVG9ucyBvZiBuZXcgc3R1YnMuCi0JLSBNb3JlIERPUyBhbmQgbmF0aXZlIFVTRVIgc3VwcG9ydC4KKwktIEltcHJvdmVtZW50cyB0byBoZWFkZXIgZmlsZXMgY29tcGF0aWJpbGl0eS4KKwktIE1vcmUgZmVhdHVyZXMgaW4gV2luZSBzZXJ2ZXIuCiAJLSBMb3RzIG9mIGJ1ZyBmaXhlcy4KIAogU2VlIHRoZSBSRUFETUUgZmlsZSBpbiB0aGUgZGlzdHJpYnV0aW9uIGZvciBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zLgpAQCAtMjAsMTAgKzE5LDEwIEBACiB0aGUgcmVsZWFzZSBpcyBhdmFpbGFibGUgYXQgdGhlIGZ0cCBzaXRlcy4gIFRoZSBzb3VyY2VzIHdpbGwgYmUgYXZhaWxhYmxlCiBmcm9tIHRoZSBmb2xsb3dpbmcgbG9jYXRpb25zOgogCi0gIGZ0cDovL3N1bnNpdGUudW5jLmVkdS9wdWIvTGludXgvQUxQSEEvd2luZS9kZXZlbG9wbWVudC9XaW5lLTk4MTIxMS50YXIuZ3oKLSAgZnRwOi8vdHN4LTExLm1pdC5lZHUvcHViL2xpbnV4L0FMUEhBL1dpbmUvZGV2ZWxvcG1lbnQvV2luZS05ODEyMTEudGFyLmd6Ci0gIGZ0cDovL2Z0cC5pbmZvbWFnaWMuY29tL3B1Yi9taXJyb3JzL2xpbnV4L3N1bnNpdGUvQUxQSEEvd2luZS9kZXZlbG9wbWVudC9XaW5lLTk4MTIxMS50YXIuZ3oKLSAgZnRwOi8vZnRwLnByb2dzb2MudXRzLmVkdS5hdS9wdWIvV2luZS9kZXZlbG9wbWVudC9XaW5lLTk4MTIxMS50YXIuZ3oKKyAgZnRwOi8vbWV0YWxhYi51bmMuZWR1L3B1Yi9MaW51eC9BTFBIQS93aW5lL2RldmVsb3BtZW50L1dpbmUtOTkwMTAzLnRhci5negorICBmdHA6Ly90c3gtMTEubWl0LmVkdS9wdWIvbGludXgvQUxQSEEvV2luZS9kZXZlbG9wbWVudC9XaW5lLTk5MDEwMy50YXIuZ3oKKyAgZnRwOi8vZnRwLmluZm9tYWdpYy5jb20vcHViL21pcnJvcnMvbGludXgvc3Vuc2l0ZS9BTFBIQS93aW5lL2RldmVsb3BtZW50L1dpbmUtOTkwMTAzLnRhci5negorICBmdHA6Ly9mdHAucHJvZ3NvYy51dHMuZWR1LmF1L3B1Yi9XaW5lL2RldmVsb3BtZW50L1dpbmUtOTkwMTAzLnRhci5negogCiBJdCBzaG91bGQgYWxzbyBiZSBhdmFpbGFibGUgZnJvbSBhbnkgc2l0ZSB0aGF0IG1pcnJvcnMgdHN4LTExIG9yIHN1bnNpdGUuCiAKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAzYjYyZDBjLi45NmM5ZTExIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNjgyIEBACiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1GcmkgRGVjIDExIDE1OjA0OjExIDE5OTggIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQGFycmFraXMubGlnaHRuaW5nLmNoPgorU3VuIEphbiAgMyAxNzowMDoyMCAxOTk5ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBncmFwaGljcy9kM2RleGVjdXRlYnVmZmVyLmMsIGdyYXBoaWNzL2QzZGxpZ2h0LmMsIGdyYXBoaWNzL2QzZG1hdGVyaWFsLmMsIGdyYXBoaWNzL2QzZHRleHR1cmUuYywgZ3JhcGhpY3MvZDNkdmlld3BvcnQuYywgZ3JhcGhpY3MvZGRyYXcuYywgaW5jbHVkZS9hY2NvbmZpZy5oLCBpbmNsdWRlL2NvbmZpZy5oLmluLCBpbmNsdWRlL2QzZC5oLCBpbmNsdWRlL3dpbmVfZ2wuaCwgbXVsdGltZWRpYS9kc291bmQuYywgY29uZmlndXJlLCBjb25maWd1cmUuaW4sIGRvY3VtZW50YXRpb24vc3RhdHVzL2RpcmVjdDNELCBkb2N1bWVudGF0aW9uL3N0YXR1cy9kaXJlY3RkcmF3LCBncmFwaGljcy9NYWtlZmlsZS5pbiwgZ3JhcGhpY3MvZDNkX3ByaXZhdGUuaCwgZ3JhcGhpY3MvZDNkY29tbW9uLmMsIGdyYXBoaWNzL2QzZGRldmljZXMuYzoKKwlMaW9uZWwgVWxtZXIgPHVsbWVyQGRpcmVjdHByb3ZpZGVyLm5ldD4KKwktIGJlZ2lubmluZyBvZiBpbXBsZW1lbnRhdGlvbiBvZiBEaXJlY3QzRDIgKERYIDUuMCkgYW5kIGFzc29jaWF0ZWQgY2xhc3NlcworCS0gc29tZSBiYXNpYyBjb2RlIGZvciBEaXJlY3QzRCBhbmQgRGlyZWN0M0RFeGVjdXRlQnVmZmVyIChEWCAzLjApCisJLSBhZGRlZCBzdHJldGNoaW5nIHRvIEJsdCBmdW5jdGlvbgorCisJKiBtaXNjL3ZlcnNpb24uYzogTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJVHJ5IHRvIGF1dG9kZXRlY3QgTlQ0LgorCisJKiB3aW4zMi9jb25zb2xlLmM6IE1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCTAgbWVhbnMgc3VjY2VzcywgYWxsIGVsc2UgZmFpbHVyZSBmb3IgV2FpdEZvclNpbmdsZU9iamVjdC4KKworCSogbXNkb3MvaW50MTAuYzogSm9zZXBoIFByYW5ldmljaCA8anByYW5ldmljaEBseWNvcy5jb20+CisJRG8gbm90IGFkdmFuY2UgdGhlIGN1cnNvciBpbiBjZXJ0YWluIHJvdXRpbmVzLiBUaGlzIGNsZWFuZWQgdXAgdGhlCisJaW1wbGVtZW50YXRpb24gcXVpdGUgYSBiaXQuCisKKwkqIGxvYWRlci9tYWluLmM6IEpvc2VwaCBQcmFuZXZpY2ggPGpwcmFuZXZpY2hAbHljb3MuY29tPgorCVNldCBjb25zb2xlIHZpZGVvIG1vZGUgd2hlbiBsb2FkaW5nIERPUyBhcHAuIChFdmVudHVhbGx5LCBJIHdhbnQgdG8KKwltaW1pYyBXaW5kb3dzIDl4J3MgYmVoYXZpb3IgYnkgc2V0dGluZyB0aGUgdmlkZW8gbW9kZSBvbmx5IHdoZW4gbm9uCisJSU5UIDIxIGNhbGxzIGFyZSB1c2VkIHRvIGFsbG93IGZvciBhcmJpdHJhcnktc2l6ZWQgY29uc29sZXMpLgorCisJKiBjb25zb2xlL2ludGVyZmFjZS5jLCBjb25zb2xlL3h0ZXJtLmM6CisJSm9zZXBoIFByYW5ldmljaCA8anByYW5ldmljaEBseWNvcy5jb20+CisJWHRlcm0gZHJpdmVyIGNhbiBub3cgcmVzaXplIHRoZSB0ZXJtaW5hbCB3aGVuIGEgbW9kZSBjaGFuZ2UgaXMKKwlkZXRlY3RlZC4KKworCSogY29uc29sZS9nZW5lcmljLmM6IEpvc2VwaCBQcmFuZXZpY2ggPGpwcmFuZXZpY2hAbHljb3MuY29tPgorCUxvbmcgc3RhbmRpbmcgc2Nyb2xsIGJ1ZyBmaXhlZCEKKworCSogY29uc29sZS9uY3Vyc2VzLmMsIGluY2x1ZGUvYWNjb25maWcuaCwgaW5jbHVkZS9jb25maWcuaC5pbiwgaW5jbHVkZS9jb25zb2xlLmgsIGNvbmZpZ3VyZSwgY29uZmlndXJlLmluOgorCUpvc2VwaCBQcmFuZXZpY2ggPGpwcmFuZXZpY2hAbHljb3MuY29tPgorCVJld3JpdGUgb2YgY29uZmlndXJhdGlvbiBzeXN0ZW0gdG8gc3VwcG9ydCAicmVndWxhciIgY3Vyc2VzIGFzIHdlbGwgYXMKKwllbGltaW5hdGluZyB0aGUgLS13aXRoLW5jdXJzZXMgb3B0aW9uLiBOb3csIG5jdXJzZXMgc3VwcG9ydCB3aWxsIGJlCisJYnVpbHQgaW4gaWYgYSBjb21wYXRpYmxlIGxpYnJhcnkgaXMgZGV0ZWN0ZWQuCisKKwkqIGluY2x1ZGUvd2ludHlwZXMuaCwgd2luZG93cy9kZWZkbGcuYzoKKwlORiBTdGV2ZW5zIDxub3JtYW5AYXJjYWR5LnUtbmV0LmNvbT4KKwlGaXggdGhlIHJldHVybiB0eXBlIG9mIERMR1BST0MgdHlwZSBhbmQgbWFzayBvdXQgdGhlIHVuc2V0IGhpZ2h3b3JkIG9mCisJdGhlIHJldHVybiB3aGVuIGEgMTYgYml0IGRpYWxvZyBwcm9jIGlzIGNhbGxlZC4KKworCSogaW5jbHVkZS9pbnRlcmZhY2VzLmg6IFJlaW4gS2xhemVzIDxya2xhemVzQGNhc2VtYS5uZXQ+CisJQWRkIGludGVyZmFjZSBJRCdzIGZvciB1cGNvbWluZyBJVHlwZUxpYiBpbXBsZW1lbnRhdGlvbi4KKworCSogZmlsZXMvZG9zX2ZzLmM6IEp1ZXJnZW4gU2NobWllZCA8anVlcmdlbi5zY2htaWVkQG1ldHJvbmV0LmRlPgorCUJ1Z2ZpeCBmb3IgdHJhaWxpbmcgc2xhc2hlcywgcmVwZXRpdGlvbiBvZiAnLycgb3IgJ1wnIGFuZAorCVNldExhc3RFcnJvcigpIGluIEdldEZ1bGxQYXRobmFtZS4KKworCSogTWFrZWZpbGUuaW4sIGNvbmZpZ3VyZSwgY29uZmlndXJlLmluLCBkbGxzL01ha2VmaWxlLmluLCBkbGxzL2FkdmFwaTMyLy5jdnNpZ25vcmUsIGRsbHMvYWR2YXBpMzIvTWFrZWZpbGUuaW4sIGRsbHMvYWR2YXBpMzIvYWR2YXBpLmMsIGRsbHMvYWR2YXBpMzIvZXZlbnRsb2cuYywgZGxscy9hZHZhcGkzMi9zZWN1cml0eS5jLCBkbGxzL2FkdmFwaTMyL3NlcnZpY2UuYywgcmVsYXkzMi9hZHZhcGkzMi5zcGVjLCB3aW4zMi9BdHRpYy9hZHZhcGkuYywgd2luMzIvQXR0aWMvc2VjdXJpdHkuYywgd2luMzIvTWFrZWZpbGUuaW4sIHdpbjMyL2luaXQuYzoKKwlKdWVyZ2VuIFNjaG1pZWQgPGp1ZXJnZW4uc2NobWllZEBtZXRyb25ldC5kZT4KKwlNb3ZlZCBBRFZBUEkzMiBmaWxlcyB0byBkbGxzL2FkdmFwaTMyLgorCUFkZGVkIHN0dWJzIGZvciBldmVudGxvZyBmdW5jdGlvbnMuCisKKwkqIHJlbGF5MzIvc2hlbGwzMi5zcGVjLCBkbGxzL3NoZWxsMzIvc2hlbGxsaW5rLmMsIGRsbHMvc2hlbGwzMi9zaGVsbG9sZS5jLCBkbGxzL3NoZWxsMzIvc2hlbGxvcmQuYywgZGxscy9zaGVsbDMyL3NoZWxscGF0aC5jLCBkbGxzL3NoZWxsMzIvc2hsdmlldy5jLCBpbmNsdWRlL3NobG9iai5oOgorCUp1ZXJnZW4gU2NobWllZCA8anVlcmdlbi5zY2htaWVkQG1ldHJvbmV0LmRlPgorCU5ldyBzdHVicyBOVFNIQ2hhbmdlTm90aWZ5UmVnaXN0ZXIsIE5UU0hDaGFuZ2VOb3RpZnlEZXJlZ2lzdGVyLgorCUNsZWFudXAsIHNvbWUgbW9yZSBmdW5jdGlvbnMgVU5JQ09ERSByZWFkeS4KKworCSogZGxscy9zaGVsbDMyL3BpZGwuYzogSnVlcmdlbiBTY2htaWVkIDxqdWVyZ2VuLnNjaG1pZWRAbWV0cm9uZXQuZGU+CisJU0hDbG9uZVNwZWNpYWxJRExpc3QgaW1wbGVtZW50ZWQuCisJU0hHZXREYXRhRnJvbUlETGlzdEEgY29ycmVjdGVkLgorCisJKiBkbGxzL3NoZWxsMzIvaWNvbmNhY2hlLmM6CisJSnVlcmdlbiBTY2htaWVkIDxqdWVyZ2VuLnNjaG1pZWRAbWV0cm9uZXQuZGU+CisJU2hlbGxfR2V0Q2FjaGVkSW1hZ2VJbmRleDMyW0F8V10gaW1wbGVtZW50ZWQuCisKKwkqIG1zZG9zL2ludDIxLmMsIG1zZG9zL2ludDI1LmMsIG1zZG9zL2ludDI2LmMsIGZpbGVzL2RyaXZlLmMsIGluY2x1ZGUvZHJpdmUuaDoKKwlBbmRyZWFzIE1vaHIgPGEubW9ockBtYWlsdG8uZGU+CisJSW1wbGVtZW50ZWQgcmF3IGRldmljZSBhY2Nlc3MgY2FsbHMgZm9yIGlvY3RsR2VuZXJpY0Jsa0RldlJlcSgpCisJYW5kIHRoZXJlZm9yZSBtb3ZlZCB0aGUgY29yZSBmdW5jdGlvbmFsaXR5IG9mIGludDJbNTZdLmMgaW50byBmaWxlcy9kcml2ZS5jLgorCisJKiBtc2Rvcy9pb3BvcnRzLmM6IEFuZHJlYXMgTW9ociA8YS5tb2hyQG1haWx0by5kZT4KKwlBZGRlZCBhdXRvbWF0aWMgQ01PUyBSQU0gY2hlY2tzdW0gY2FsY3VsYXRpb24uCisKKwkqIGRsbHMvd2luYXNwaS93aW5hc3BpMTYuYywgZGxscy93bmFzcGkzMi93aW5hc3BpMzIuYywgZG9jdW1lbnRhdGlvbi9hc3BpLCByZWxheTMyL3duYXNwaTMyLnNwZWM6CisJQW5kcmVhcyBNb2hyIDxhLm1vaHJAbWFpbHRvLmRlPgorCVNlbmRBU1BJMzJDb21tYW5kMzIgaGFzIHRvIGJlIF9fY2RlY2wuCisJVXBkYXRlZCBkb2N1bWVudGF0aW9uL2FzcGkgYW5kIHJldmVydGVkIGFuIEVSUiBiYWNrIHRvIFdBUk4uCisKKwkqIGRvY3VtZW50YXRpb24vYnVncmVwb3J0czogSmFtZXMgSnVyYW4gPGpyajEyMEBwc3UuZWR1PgorCU9mIGNvdXJzZSB3ZSB3YW50IHRoZSBsYXN0IDEwMCBsaW5lcywgbm90IHRoZSBmaXJzdCAxMDAgbGluZXMuCisJVXNlICd0YWlsJyBpbnN0ZWFkIG9mICdoZWFkJy4gQWxzbyBmaXggdGV4dCBhbGlnbm1lbnQgZnJvbQorCXByZXZpb3VzIHBhdGNoLgorCisJKiBtdWx0aW1lZGlhL2pveXN0aWNrLmM6IE92ZSBLYWF2ZW4gPG92ZWtAYXJjdGljbmV0Lm5vPgorCVJlYWRpbmcgam95c3RpY2sgNSB3aGVuIHdlIG9ubHkgc3VwcG9ydCA0IHNob3VsZCBmYWlsIGluc3RlYWQgb2YKKwloYW5nLgorCisJKiBtdWx0aW1lZGlhL21jaWNkYS5jOiBPdmUgS2FhdmVuIDxvdmVrQGFyY3RpY25ldC5ubz4KKwlQbGF5aW5nIGEgbm9uLWV4aXN0ZW50IENEIHNob3VsZCBmYWlsIGluc3RlYWQgb2YgY3Jhc2guCisKKwkqIE1ha2UucnVsZXMuaW4sIE1ha2VmaWxlLmluOiBNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlDaGVjayBmb3IgbmVjZXNzYXJ5IGNvbmZpZ3VyZSByZXJ1bnMgZm9yIE1ha2VmaWxlIGFuZCBNYWtlLnJ1bGVzCisJZ2VuZXJhdGlvbi4KKworCSogbWlzY2VtdS9pbnN0ci5jOiBPdmUgS2FhdmVuIDxvdmVrQGFyY3RpY25ldC5ubz4KKwlFbXVsYXRlcyBpbnMvb3V0cyBjb3JyZWN0bHkgZm9yIERPUyBwcm9ncmFtcy4KKworCSogb2xlL3N0b3JhZ2UuYywgc2NoZWR1bGVyL3Byb2Nlc3MuYywgc2VydmVyL2NoYW5nZS5jLCBzZXJ2ZXIvY29uc29sZS5jLCBzZXJ2ZXIvZXZlbnQuYywgc2VydmVyL2ZpbGUuYywgc2VydmVyL21hcHBpbmcuYywgc2VydmVyL211dGV4LmMsIHNlcnZlci9vYmplY3QuYywgc2VydmVyL3BpcGUuYywgc2VydmVyL3Byb2Nlc3MuYywgc2VydmVyL3JlcXVlc3QuYywgc2VydmVyL3NlbWFwaG9yZS5jLCBzZXJ2ZXIvdGhyZWFkLmMsIHNlcnZlci90cmFjZS5jLCB3aW4zMi9kZXZpY2UuYywgd2luMzIvZmlsZS5jLCBmaWxlcy9kb3NfZnMuYywgZmlsZXMvZmlsZS5jLCBpbmNsdWRlL2RldmljZS5oLCBpbmNsdWRlL2ZpbGUuaCwgaW5jbHVkZS9zZXJ2ZXIuaCwgaW5jbHVkZS9zZXJ2ZXIvb2JqZWN0LmgsIGluY2x1ZGUvc2VydmVyL3JlcXVlc3QuaCwgbG9hZGVyL25lL21vZHVsZS5jLCBsb2FkZXIvcGVfaW1hZ2UuYywgbWlzYy9jcnRkbGwuYywgbXNkb3MvaW50MjEuYywgbXNkb3MvdnhkLmM6CisJSW1wbGVtZW50ZWQgZmlsZSBzaGFyaW5nIGNoZWNrcyBpbiB0aGUgc2VydmVyLgorCUFkZGVkIHNldCBmaWxlIHRpbWUgc2VydmVyIHJlcXVlc3QuCisJT3ZlcmFsbCBjbGVhbiB1cCBvZiB0aGUgZmlsZSBoYW5kbGluZyAoRE9TIGRldmljZSBoYW5kbGluZyBpcyBub3cKKwlicm9rZW4sIHNob3VsZCBiZSByZWRvbmUpLgorCitTYXQgSmFuICAyIDA4OjIyOjM0IDE5OTkgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIG1lbW9yeS92aXJ0dWFsLmM6CisJRml4ZWQgYnVnIGluIENyZWF0ZUZpbGVNYXBwaW5nIHdoZW4gbmFtZSBpcyBub3QgTlVMTC4KKworCSogc2VydmVyL3JlcXVlc3QuYzogRml4ZWQgQ0hFQ0tfU1RSSU5HIGRpc3BsYXkuCisKK0ZyaSBKYW4gIDEgMTk6NTE6MjUgMTk5OSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogaWYxNjMyL2tlcm5lbC5zcGVjLCBtZW1vcnkvbG9jYWwuYzoKKwlSaWNoYXJkIEEgTG91Z2ggPHJhbG91Z2guY2VkQGRuZXQuY28udWs+CisJUHV0IHJldHVybiB2YWx1ZSBvZiBMb2NhbEFsbG9jIGluIENYIHRvby4KKworCSogaW5jbHVkZS9wc2Rydi5oOiBEaW1pdHJpZSBPLiBQYXVuIDxkaW1pQGNzLnRvcm9udG8uZWR1PgorCVByb3RlY3QgYWdhaW5zdCBtdWx0aXBsZSBpbmNsdWRlcy4KKworCSogZGxscy9zaGVsbDMyL2ljb25jYWNoZS5jOiBVc2UgcHJvcGVyIHN5c3RlbSBkaXJlY3RvcnkuCisKKwkqIHNjaGVkdWxlci9wcm9jZXNzLmM6IEdvdCByaWQgb2YgQ0xJRU5UX0dldFByb2Nlc3NJbmZvLgorCisJKiB3aW5kb3dzL2NsYXNzLmMsIHdpbmRvd3MvZGNlLmMsIHdpbmRvd3MvZGVmZGxnLmMsIHdpbmRvd3MvZGVmd25kLmMsIHdpbmRvd3MvZHJpdmVyLmMsIHdpbmRvd3MvbXNnYm94LmMsIHdpbmRvd3MvcGFpbnRpbmcuYywgd2luZG93cy91c2VyLmMsIHdpbmRvd3Mvd2luaGVscC5jLCBpbmNsdWRlL3dpbmUvd2ludXNlcjE2LmgsIGluY2x1ZGUvd2lucmVnLmgsIGluY2x1ZGUvd2ludXNlci5oLCBsb2FkZXIvbW9kdWxlLmMsIG1pc2MvY29tbS5jLCBtaXNjL3NoZWxsLmMsIG1pc2Mvc3Bvb2xlci5jLCBtaXNjL3NweS5jLCBtaXNjL3dpbnNvY2suYywgbXVsdGltZWRpYS9hdWRpby5jLCBtdWx0aW1lZGlhL21jaWFuaW0uYywgbXVsdGltZWRpYS9tY2ljZGEuYywgbXVsdGltZWRpYS9tY2ltaWRpLmMsIG11bHRpbWVkaWEvbWNpd2F2ZS5jLCBtdWx0aW1lZGlhL21pZGkuYywgbXVsdGltZWRpYS9tbXN5c3RlbS5jLCBvYmplY3RzL2NsaXBwaW5nLmMsIG9sZS9vbGVvYmouYywgY29udHJvbHMvYnV0dG9uLmMsIGNvbnRyb2xzL2Rlc2t0b3AuYywgY29udHJvbHMvaWNvbnRpdGxlLmMsIGNvbnRyb2xzL3N0YXRpYy5jLCBkZWJ1Z2dlci9kYmcueSwgZGxscy9zaGVsbDMyL2ljb25jYWNoZS5jLCBkbGxzL3NoZWxsMzIvc2hlbGwzMl9tYWluLmMsIGdyYXBoaWNzL3BzZHJ2L2VzY2FwZS5jLCBpZjE2MzIvdGh1bmsuYywgaW5jbHVkZS9jYWxsYmFjay5oLCBpbmNsdWRlL2Rpc3BsYXkuaCwgaW5jbHVkZS9pbWFnZWxpc3QuaCwgaW5jbHVkZS9vbGUuaCwgaW5jbHVkZS9xdWV1ZS5oLCBpbmNsdWRlL3NoZWxsLmgsIGluY2x1ZGUvc3RvcmFnZS5oLCBpbmNsdWRlL3N0cnVjdDMyLmgsIGluY2x1ZGUvd2luYmFzZS5oLCBpbmNsdWRlL3dpbmRvd3MuaDoKKwlNaWNoYWVsIFZla3NsZXIgPG12ZWtzbGVyQHRlY2h1bml4LnRlY2huaW9uLmFjLmlsPgorCU1vdmVzIG1vcmUgc3R1ZmYgZnJvbSB3aW5kb3dzLmguCisJLSBpbmNsdWRlL3dpbnVzZXIuaCAtIGludGVyZmFjZSByZWxldmFudCB0byB1c2VyMzIuc3BlYworCS0gaW5jbHVkZS93aW5lL3dpbnVzZXIxNi5oIC0gdGhlIG9sZCAxNiBiaXQgaW50ZXJmYWNlIChpbnRlcm5hbCB1c2UpCisJLSBpbmNsdWRlL3dpbmJhc2UuaCAtIHNvbWUgbWlub3IgdXBkYXRlcyB0byBrZWVwIHRoaW5ncyBjb2hlcmVudC4KKwktIExvdCBvZiBvdGhlciBmaWxlcyBtYWRlIHRvIGluY2x1ZGUgd2luZS93aW51c2VyMTYuaCwgd2hpY2ggaXMgbm8KKwkgIGxvbmdlciBpbmNsdWRlZCBmcm9tIHdpbmRvd3MuaAorCisJKiBzY2hlZHVsZXIvaGFuZGxlLmM6IEZpeGVkIENsb3NlSGFuZGxlKCkgb24gZ2xvYmFsIGhhbmRsZXMuCisKKwkqIFJFQURNRSwgZG9jdW1lbnRhdGlvbi9idWdyZXBvcnRzLCBkb2N1bWVudGF0aW9uL3dpbjk1bG9vaywgZG9jdW1lbnRhdGlvbi93aW5lLm1hbjoKKwlKYW1lcyBKdXJhbiA8anJqMTIwQHBzdS5lZHU+CisJQWRkIHNvbWUgaW5mb3JtYXRpb24gdG8gdGhlIG1hbiBwYWdlIGFuZCBSRUFETUUgZmlsZS4KKwlNYWtlIGRvY3VtZW50YXRpb24vd2luOTVsb29rIHNheSBbVHdlYWsuTGF5b3V0XSBpbnN0ZWFkIG9mCisJW1R3ZWFrcy5MYXlvdXRdLgorCUZpeCBpbmNvcnJlY3QgY29tbWFuZCBnaXZlbiBpbiBkb2N1bWVudGF0aW9uL2J1Z3JlcG9ydHMuCisJU3RhbmRhcmQgZXJyb3Igd2FzIG5vdCBiZWluZyByZWRpcmVjdGVkLCBzbyBtb3N0IG9mIHRoZQorCW91dHB1dCB3YXMgbG9zdC4KKworCSogb2JqZWN0cy9iaXRtYXAuYzogTkYgU3RldmVucyA8bm9ybWFuQGFyY2FkeS51LW5ldC5jb20+CisJRGVscGhpIDIuMCBuZWVkcyB0byBhbGxvY2F0ZSBhIGJpdG1hcCBiaWdnZXIgdGhhbiA0MDk2IGJpdHMgd2lkZS4KKworCSogbWlzYy9wcmludGRydi5jOiBORiBTdGV2ZW5zIDxub3JtYW5AYXJjYWR5LnUtbmV0LmNvbT4KKwlJbml0aWFsaXplIGxwZHdOZWVkZWQuCisKKwkqIGlmMTYzMi9zbm9vcC5jOgorCU1hcmN1cyBNZWlzc25lciA8TWFyY3VzLk1laXNzbmVyQGluZm9ybWF0aWsudW5pLWVybGFuZ2VuLmRlPgorCUluY2x1ZGUgc3R1ZmYgZXZlbiBpZiBub3Qgb24gX19pMzg2X18gZm9yIGRlYnVnIGRlZmluZXMuCisKKwkqIG9sZS92YXJpYW50LmM6CisJTWFyY3VzIE1laXNzbmVyIDxNYXJjdXMuTWVpc3NuZXJAaW5mb3JtYXRpay51bmktZXJsYW5nZW4uZGU+CisJQW5vdGhlciAvLyBjb21tZW50IGZpeGVkLgorCisJKiBzZXJ2ZXIvZmlsZS5jOgorCU1hcmN1cyBNZWlzc25lciA8TWFyY3VzLk1laXNzbmVyQGluZm9ybWF0aWsudW5pLWVybGFuZ2VuLmRlPgorCU5lZWQgPGVycm5vLmg+IGZvciBlcnJubyBkZWNsLiBvbiBTb2xhcmlzLgorCisJKiBpbmNsdWRlL3dpbmdkaS5oLCBpbmNsdWRlL3gxMWZvbnQuaCwgb2JqZWN0cy9mb250LmM6CisJRG91Z2xhcyBSaWRnd2F5IDxyaWRnd2F5QHdpbmVocS5jb20+CisJSW1wbGVtZW50IFRyYW5zbGF0ZUNoYXJzZXRJbmZvLCBjaGFuZ2UgY2hhcnNldCB0eXBlIHRvIEJZVEUuCisKKwkqIGNvbnRyb2xzL2NvbWJvLmMsIGNvbnRyb2xzL2xpc3Rib3guYywgaW5jbHVkZS9jb21iby5oOgorCUFsZXggS29yb2JrYSA8a29yb2JrYUBnYWxheHkuYW1zLnN1bnlzYi5lZHU+CisJQmV0dGVyIENCX1NFVENVUlNFTCBtZXNzYWdlIGhhbmRsaW5nLgorCisJKiBpbmNsdWRlL3F1ZXVlLmgsIGluY2x1ZGUvdGhyZWFkLmgsIHNjaGVkdWxlci9zeW5jaHJvLmMsIHNjaGVkdWxlci90aHJlYWQuYywgd2luZG93cy9tZXNzYWdlLmMsIHdpbmRvd3MvcXVldWUuYzoKKwlNb3ZlZCBNc2dXYWl0Rm9yTXVsdGlwbGVPYmplY3QgaW1wbGVtZW50YXRpb24gdG8gVVNFUiByb3V0aW5lcywgdXNpbmcKKwlhIG5vcm1hbCBXaW4zMiBldmVudC4KKworCSogdG9vbHMvbWFrZV9yZXF1ZXN0czogU2VuZCBkZWJ1Z2dpbmcgb3V0cHV0IHRvIHN0ZGVyci4KKworCSogZmlsZXMvY2hhbmdlLmMsIGZpbGVzL2Rvc19mcy5jLCBmaWxlcy9maWxlLmMsIGluY2x1ZGUvZmlsZS5oLCBzY2hlZHVsZXIvY2xpZW50LmMsIHNjaGVkdWxlci9ldmVudC5jLCBzY2hlZHVsZXIvazMyb2JqLmMsIHNjaGVkdWxlci9tdXRleC5jLCBzY2hlZHVsZXIvcGlwZS5jLCBzY2hlZHVsZXIvc2VtYXBob3JlLmMsIHdpbjMyL2NvbnNvbGUuYzoKKwlDbGVhbmVkIHVwIGFuZCByZW1vdmVkIHNvbWUgbm8gbG9uZ2VyIHVzZWQgY29kZS4KKworCSogbWVtb3J5L3ZpcnR1YWwuYzogVXNlIHNlcnZlciBmaWxlIG1hcHBpbmcgb2JqZWN0cy4KKworCSogaW5jbHVkZS9zZXJ2ZXIvb2JqZWN0LmgsIGluY2x1ZGUvc2VydmVyL3JlcXVlc3QuaCwgaW5jbHVkZS9zZXJ2ZXIvdGhyZWFkLmgsIHNlcnZlci9NYWtlZmlsZS5pbiwgc2VydmVyL2NvbnNvbGUuYywgc2VydmVyL2ZpbGUuYywgc2VydmVyL21haW4uYywgc2VydmVyL21hcHBpbmcuYywgc2VydmVyL29iamVjdC5jLCBzZXJ2ZXIvcGlwZS5jLCBzZXJ2ZXIvcmVxdWVzdC5jLCBzZXJ2ZXIvdGhyZWFkLmMsIHNlcnZlci90cmFjZS5jLCBpbmNsdWRlL3NlcnZlci5oOgorCUFkZGVkIHNlcnZlci1zaWRlIGZpbGUgbWFwcGluZyBvYmplY3Qgc3VwcG9ydC4KKworCSogbWlzYy9jcnRkbGwuYzoKKwlIYWNrZWQgc3RkaW8gZnVuY3Rpb25zIHRvIHVzZSBXaW4zMiBmaWxlIGhhbmRsZXMuIFN0aWxsIG5lZWRzIGEgcHJvcGVyCisJc3RkaW8gZW11bGF0aW9uLgorCisJKiBsb2FkZXIvbmUvbW9kdWxlLmMsIGxvYWRlci9uZS9yZXNvdXJjZS5jLCBsb2FkZXIvbmUvc2VnbWVudC5jOgorCVVzZSBXaW4zMiBmaWxlIGhhbmRsZXMgaW5zdGVhZCBvZiBVbml4IG9uZXMuCisKKwkqIGluY2x1ZGUvbW9kdWxlLmgsIGluY2x1ZGUvcGVfaW1hZ2UuaCwgaW5jbHVkZS9wcm9jZXNzLmgsIGxvYWRlci9kb3MvbW9kdWxlLmMsIGxvYWRlci9tb2R1bGUuYywgbG9hZGVyL3BlX2ltYWdlLmMsIHNjaGVkdWxlci9wcm9jZXNzLmMsIGluY2x1ZGUvZG9zZXhlLmg6CisJVGFrZSBpbnRvIGFjY291bnQgaGFuZGxlIGluaGVyaXRhbmNlIGZsYWcuCisKK1RodSBEZWMgMzEgMTU6NTU6MTkgMTk5OCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGVidWdnZXIvZGJfZGlzYXNtLmM6CisJQ2hhbmdlZCBkYl90YXNrX3ByaW50c3ltIHRvIGFsd2F5cyBwcmludCBhIGZ1bGwgYWRkcmVzcywgbm8gbWF0dGVyCisJd2hhdCB0aGUgb3BlcmFuZCBzaXplIGlzLgorCisJKiBzY2hlZHVsZXIvY3JpdHNlY3Rpb24uYzogUmUtaW1wbGVtZW50ZWQgdXNpbmcgYSByZWFsIHNlbWFwaG9yZS4KKworCSogd2luZG93cy9xdWV1ZS5jLCBmaWxlcy9jaGFuZ2UuYywgZmlsZXMvZmlsZS5jLCBpbmNsdWRlL2szMm9iai5oLCBpbmNsdWRlL3Byb2Nlc3MuaCwgaW5jbHVkZS90aHJlYWQuaCwgbG9hZGVyL3NpZ25hbC5jLCBtZW1vcnkvdmlydHVhbC5jLCBtaXNjL3Rvb2xoZWxwLmMsIHNjaGVkdWxlci9jbGllbnQuYywgc2NoZWR1bGVyL2V2ZW50LmMsIHNjaGVkdWxlci9oYW5kbGUuYywgc2NoZWR1bGVyL2szMm9iai5jLCBzY2hlZHVsZXIvbXV0ZXguYywgc2NoZWR1bGVyL3BpcGUuYywgc2NoZWR1bGVyL3Byb2Nlc3MuYywgc2NoZWR1bGVyL3NlbWFwaG9yZS5jLCBzY2hlZHVsZXIvc3luY2hyby5jLCBzY2hlZHVsZXIvdGhyZWFkLmMsIHdpbjMyL2NvbnNvbGUuYywgd2luMzIvZGV2aWNlLmM6CisJUmVtb3ZlZCBjbGllbnQtc2lkZSB3YWl0IGZ1bmN0aW9uczsgYWxsIHdhaXRpbmcgaXMgbm93IGRvbmUgdGhyb3VnaAorCXRoZSBzZXJ2ZXIuCisKKwkqIHNlcnZlci9NYWtlZmlsZS5pbiwgc2VydmVyL2NoYW5nZS5jLCBzZXJ2ZXIvcHJvY2Vzcy5jLCBzZXJ2ZXIvcmVxdWVzdC5jLCBzZXJ2ZXIvdHJhY2UuYywgaW5jbHVkZS9zZXJ2ZXIuaCwgaW5jbHVkZS9zZXJ2ZXIvb2JqZWN0LmgsIGluY2x1ZGUvc2VydmVyL3JlcXVlc3QuaDoKKwlBZGRlZCBjaGFuZ2Ugbm90aWZpY2F0aW9ucy4KKwlBZGRlZCBnbG9iYWwgaGFuZGxlIHN1cHBvcnQuCisKK1dlZCBEZWMgMzAgMTI6MTE6NTIgMTk5OCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogaW5jbHVkZS90aHJlYWQuaCwgc2NoZWR1bGVyL3N5bmNocm8uYzoKKwlDaGFuZ2VkIHNlcnZlciB3YWl0IGxvZ2ljIGEgYml0LgorCisJKiB3aW4zMi9jb25zb2xlLmM6CisJSGFja3MgdG8gc3VwcG9ydCBzZXJ2ZXItc2lkZSBjb25zb2xlLiBTaG91bGQgYmUgcmVkb25lIHByb3Blcmx5CisJc29tZSBkYXkuCisKKwkqIGZpbGVzL2Rvc19mcy5jLCBmaWxlcy9maWxlLmMsIGluY2x1ZGUvZmlsZS5oLCB3aW4zMi9maWxlLmMsIHdpbjMyL25ld2Zucy5jOgorCVJlaW1wbGVtZW50ZWQgUmVhZC9Xcml0ZUZpbGUgdG8gdXNlIHNlcnZlciBmaWxlIGRlc2NyaXB0b3JzLgorCVJlbW92ZWQgZmlsZSBwb3NpdGlvbiBoYWNrIGFzIGl0IGlzIHdyb25nIGZvciBXaW4zMiAoc2hvdWxkIGJlIHJlZG9uZQorCWZvciBXaW4xNiBvbmx5KS4KKworCSogc2NoZWR1bGVyL01ha2VmaWxlLmluLCBzY2hlZHVsZXIvazMyb2JqLmMsIHNjaGVkdWxlci9waXBlLmM6CisJQWRkZWQgYW5vbnltb3VzIHBpcGUgc3VwcG9ydAorCisJKiBpbmNsdWRlL3NlcnZlci5oLCBpbmNsdWRlL3NlcnZlci9vYmplY3QuaCwgaW5jbHVkZS9zZXJ2ZXIvcmVxdWVzdC5oLCBzZXJ2ZXIvTWFrZWZpbGUuaW4sIHNlcnZlci9jb25zb2xlLmMsIHNlcnZlci9ldmVudC5jLCBzZXJ2ZXIvZmlsZS5jLCBzZXJ2ZXIvbXV0ZXguYywgc2VydmVyL29iamVjdC5jLCBzZXJ2ZXIvcGlwZS5jLCBzZXJ2ZXIvcHJvY2Vzcy5jLCBzZXJ2ZXIvcmVxdWVzdC5jLCBzZXJ2ZXIvc2VtYXBob3JlLmMsIHNlcnZlci90aHJlYWQuYywgc2VydmVyL3RyYWNlLmM6CisJQWRkZWQgc2V2ZXJhbCBmaWxlIHNlcnZlciByZXF1ZXN0cworCUFkZGVkIHNlcnZlci1zaWRlIHBpcGVzIGFuZCBjb25zb2xlcworCitTdW4gRGVjIDI3IDE1OjI4OjU1IDE5OTggIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIG1pc2MvY3J0ZGxsLmMsIG1zZG9zL2ludDIxLmMsIHNjaGVkdWxlci9jbGllbnQuYywgc2NoZWR1bGVyL2szMm9iai5jLCBzZXJ2ZXIvTWFrZWZpbGUuaW4sIHNlcnZlci9ldmVudC5jLCBzZXJ2ZXIvZmlsZS5jLCBzZXJ2ZXIvbXV0ZXguYywgc2VydmVyL3Byb2Nlc3MuYywgc2VydmVyL3JlcXVlc3QuYywgc2VydmVyL3NlbWFwaG9yZS5jLCBzZXJ2ZXIvdHJhY2UuYywgdG9vbHMvbWFrZV9yZXF1ZXN0cywgZmlsZXMvZG9zX2ZzLmMsIGZpbGVzL2ZpbGUuYywgaW5jbHVkZS9kZWJ1Zy5oLCBpbmNsdWRlL2RlYnVnZGVmcy5oLCBpbmNsdWRlL2ZpbGUuaCwgaW5jbHVkZS9zZXJ2ZXIuaCwgaW5jbHVkZS9zZXJ2ZXIvb2JqZWN0LmgsIGluY2x1ZGUvc2VydmVyL3JlcXVlc3QuaCwgbG9hZGVyL21haW4uYywgbWVtb3J5L3ZpcnR1YWwuYzoKKwlBZGRlZCBiZWdpbm5pbmdzIG9mIHNlcnZlci1zaWRlIGZpbGUgaGFuZGxpbmcuCisJQWRkZWQgLWRlYnVnbXNnICtzZXJ2ZXIgc3VwcG9ydC4KKwlCZXR0ZXIgc2VydmVyIHJlcXVlc3QgZHVtcGluZyBmb3IgdmFyYXJncyByZXF1ZXN0cy4KKworCSogd2luZG93cy94MTFkcnYvd25kLmM6CisJRml4ZWQgU2V0Rm9jdXMgdGhhdCB3YXMgYnJva2VuIHdoZW4gbW92ZWQgdG8geDExZHJ2LgorCisJKiBpbmNsdWRlL3NlcnZlci9vYmplY3QuaCwgaW5jbHVkZS9zZXJ2ZXIvdGhyZWFkLmgsIHNjaGVkdWxlci9jbGllbnQuYywgc2VydmVyL01ha2VmaWxlLmluLCBzZXJ2ZXIvZXZlbnQuYywgc2VydmVyL21haW4uYywgc2VydmVyL211dGV4LmMsIHNlcnZlci9wcm9jZXNzLmMsIHNlcnZlci9zZWxlY3QuYywgc2VydmVyL3NlbWFwaG9yZS5jLCBzZXJ2ZXIvc29ja2V0LmMsIHNlcnZlci90aHJlYWQuYzoKKwlBZGRlZCBhZGRfcXVldWUvcmVtb3ZlX3F1ZXVlIHRvIHNlcnZlciBvYmplY3Qgb3BlcmF0aW9ucy4KKwlNb3ZlZCBzZWxlY3QoKSBsb29wIGZ1bmN0aW9ucyB0byBzZWxlY3QuYy4KKworU2F0IERlYyAyNiAxOTo0NzowMCAxOTk4ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBwcm9ncmFtcy9yZWd0ZXN0L3JlZ3Rlc3QuYzoKKwlSZW5hbWVkIEVSUiBtYWNybyB0byBhdm9pZCBjb25mdXNpbmcgdGhlIG1ha2VfZGVidWcgc2NyaXB0LgorCisJKiBvbGUvc3RvcmFnZS5jLCBvbGUvdHlwZWxpYi5jLCBpbmNsdWRlL2QzZC5oLCBpbmNsdWRlL21tc3lzdGVtLmgsIGluY2x1ZGUvb2xlYXV0by5oLCBpbmNsdWRlL3N0b3JhZ2UuaCwgaW5jbHVkZS93aW52ZXJzaW9uLmgsIG9sZS9jb21wb2JqLmMsIG9sZS9vbGUyLmMsIG9sZS9vbGUybmxzLmM6CisJSnVlcmdlbiBTY2htaWVkIDxqdWVyZ2VuLnNjaG1pZWRAbWV0cm9uZXQuZGU+CisJRml4ZWQgdG9ucyBvZiBpbmNvbXBsZXRlIHByb3RvdHlwZXMsIGFzc2lnbm1lbnQncyBvZiBwb2ludGVyIHdpdGgKKwlkaWZmZXJlbnQgc2lnbmVkbmVzcywgc3VwZXJmbG91cyAnLCcgYW5kICc7JyBpbiBzdHJ1Y3R1cmVzLCB3cm9uZworCXJldHVybi10eXBlcywgbG9zZSBvZiBkaWdpdHMgYW5kIHNvbWUgc21hbGwgZ2xpdGNoZXMuCisKKwkqIGdyYXBoaWNzL3gxMWRydi94Zm9udC5jLCBpbmNsdWRlL3gxMWZvbnQuaDoKKwlBbGV4IEtvcm9ia2EgPGtvcm9ia2FAZ2FsYXh5LmFtcy5zdW55c2IuZWR1PgorCUNsZWFuZWQgdXAgZm9udCBlbmNvZGluZyBoYW5kbGluZy4gQWRkZWQgJ0lnbm9yZSMnIG9wdGlvbiB0byB0aGUKKwlbZm9udHNdIHNlY3Rpb24uIEFsc28sIGZpbGUgd2l0aCBjYWNoZWQgbWV0cmljcyBub3cgaGFzIHRoZSB2YWx1ZSBvZgorCSRESVNQTEFZIGFwcGVuZGVkIHRvIHRoZSBmaWxlbmFtZS4KKworCSogcHJvZ3JhbXMvY2xvY2svbGFuZ3VhZ2UuYywgcHJvZ3JhbXMvY2xvY2svbWFpbi5jLCBwcm9ncmFtcy9ub3RlcGFkL2RpYWxvZy5jLCBwcm9ncmFtcy9ub3RlcGFkL2xhbmd1YWdlLmMsIHByb2dyYW1zL25vdGVwYWQvbWFpbi5jLCByYy9zeXN0ZXN0LmMsIHdpbmRvd3MvbXVsdGltb24uYywgd2luZG93cy9ub25jbGllbnQuYywgZGxscy9zaGVsbDMyL3NobHZpZXcuYywgZmlsZXMvcHJvZmlsZS5jLCBncmFwaGljcy9wYXRoLmMsIGluY2x1ZGUvY29tbWN0cmwuaCwgaW5jbHVkZS9kM2QuaCwgaW5jbHVkZS9kcGxheS5oLCBpbmNsdWRlL2Rzb3VuZC5oLCBpbmNsdWRlL29sZS5oLCBpbmNsdWRlL29sZW9iai5oLCBpbmNsdWRlL3NobG9iai5oLCBpbmNsdWRlL3Zmdy5oLCBpbmNsdWRlL3dpbmVycm9yLmgsIGluY2x1ZGUvd2luaW9jdGwuaCwgbWlzYy9tYWluLmMsIG11bHRpbWVkaWEvYXVkaW8uYywgbXVsdGltZWRpYS9kc291bmQuYywgb2xlL29sZTIuYywgZGVidWdnZXIvc3RhYnMuYywgZGxscy9jb21jdGwzMi9hbmltYXRlLmMsIGRsbHMvY29tY3RsMzIvaGVhZGVyLmMsIGRsbHMvY29tY3RsMzIvaG90a2V5LmMsIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYywgZGxscy9jb21jdGwzMi9wYWdlci5jLCBkbGxzL2NvbWN0bDMyL3JlYmFyLmMsIGRsbHMvY29tY3RsMzIvdG9vbGJhci5jLCBkbGxzL2NvbWN0bDMyL3Rvb2x0aXBzLmMsIGRsbHMvY29tY3RsMzIvdHJhY2tiYXIuYywgZGxscy9jb21jdGwzMi90cmVldmlldy5jLCBkbGxzL3NoZWxsMzIvY29udG1lbnUuYywgZGxscy9zaGVsbDMyL2VudW1pZGxpc3QuYywgZGxscy9zaGVsbDMyL3BpZGwuYywgZGxscy9zaGVsbDMyL3NoZWxsb3JkLmM6CisJTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJQ2hhbmdlZCAvLyBjb21tZW50cyB0byAvKiAqLyBzbyBXSU5FIGNvbXBpbGVzIHdpdGggbm9uLWdjYyBjb21waWxlcnMKKwlhZ2Fpbi4KKworCSogd2luZG93cy90dHlkcnYvY2xpcGJvYXJkLmMsIHdpbmRvd3MvdHR5ZHJ2L2V2ZW50LmMsIHdpbmRvd3MvdHR5ZHJ2L2luaXQuYywgd2luZG93cy94MTFkcnYvY2xpcGJvYXJkLmMsIHdpbmRvd3MveDExZHJ2L2V2ZW50LmMsIHdpbmRvd3MveDExZHJ2L2luaXQuYywgd2luZG93cy94MTFkcnYvbW91c2UuYywgd2luZG93cy94MTFkcnYvd25kLmMsIGRlYnVnZ2VyL2RiZy55LCBncmFwaGljcy9kZHJhdy5jLCBncmFwaGljcy94MTFkcnYvYml0Ymx0LmMsIGdyYXBoaWNzL3gxMWRydi9icnVzaC5jLCBncmFwaGljcy94MTFkcnYvY2xpcHBpbmcuYywgZ3JhcGhpY3MveDExZHJ2L2luaXQuYywgaW5jbHVkZS9jbGlwYm9hcmQuaCwgaW5jbHVkZS9kZHJhdy5oLCBpbmNsdWRlL2Rpc3BsYXkuaCwgaW5jbHVkZS90dHlkcnYuaCwgaW5jbHVkZS93aW4uaCwgaW5jbHVkZS94MTFkcnYuaCwgb2JqZWN0cy9wYWxldHRlLmMsIHdpbmRvd3MvZGNlLmMsIHdpbmRvd3MvZGlucHV0LmMsIHdpbmRvd3MvZGlzcGxheS5jLCB3aW5kb3dzL2lucHV0LmMsIHdpbmRvd3MvbWVzc2FnZS5jLCB3aW5kb3dzL3Njcm9sbC5jLCB3aW5kb3dzL3dpbi5jLCB3aW5kb3dzL3dpbnBvcy5jOgorCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCU1vdmVkIG1vcmUgdGhpbmdzIHRvIHRoZSBYMTEgZHJpdmVyLgorCisJKiBpbmNsdWRlL3dpbmdkaS5oLCBvYmplY3RzL2JydXNoLmM6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QG11bHRpbWFuaWEuY29tPgorCUZpeGVkIHRoZSBwcm90b3R5cGUgb2YgQ3JlYXRlRElCUGF0dGVybkJydXNoUHQKKworCSogaW5jbHVkZS93aW5kb3dzLmg6IEZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBtdWx0aW1hbmlhLmNvbT4KKwlSZW1vdmVkIHRoZSBDTl94eHggbWFjcm9zIHNpbmNlIHRoZXkgYXJlIG5vdCB1c2VkLCBkbyBub3QgY29ycmVzcG9uZCB0bworCWFueSBXaW5kb3dzIGRlZmluZSBhbmQgY29uZmxpY3Qgd2l0aCBNRkMgZGVmaW5lcy4KKwl3aW5kb3dzLmggbXVzdCBwcm92aWRlIGFsbCB0aGUgZGVmaW5pdGlvbnMgY29udGFpbmVkIGluIHdpbmJhc2UuaAorCVNvbWUgWHh4MzIgZnVuY3Rpb25zIGRpZCBub3QgaGF2ZSB0aGUgYXNzb2NpYXRlZCBYeHggbWFjcm8uCisKKwkqIGluY2x1ZGUvd2ludHlwZXMuaDogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QG11bHRpbWFuaWEuY29tPgorCUFkZGVkIGEgdHlwZWRlZiBmb3IgX19pbnQ2NCB3aGljaCBpcyBhIGJ1aWx0aW4gVmlzdWFsIEMrKyB0eXBlCisJQWRkZWQgYSB0eXBlZGVmIGZvciBQVUlOVAorCisJKiBpbmNsdWRlL29iamJhc2UuaDogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QG11bHRpbWFuaWEuY29tPgorCVJFRklJRCB3YXMgbm90IGRlZmluZWQuCisKKwkqIGNvbmZpZ3VyZS5pbiwgaW5jbHVkZS9hY2NvbmZpZy5oLCBpbmNsdWRlL2NvbmZpZy5oLmluLCBpbmNsdWRlL3dpbnNvY2suaCwgbWlzYy93aW5zb2NrLmMsIGNvbmZpZ3VyZToKKwlQYXZlbCBSb3NraW4gPHBhdmVsX3Jvc2tpbkBnZW9jaXRpZXMuY29tPgorCWNvbmZpZ3VyZSBmaXJzdCBjaGVja3Mgd2hldGhlciBpdCBpcyBwb3NzaWJsZSB0byBjb21waWxlIElQWCBjb2RlIHdpdGgKKwlHbGliYyBoZWFkZXJzLiBJZiBpdCBmYWlscywgbmV4dCBjaGVjayBkZXRlcm1pbmVzIHdoZXRoZXIgZGlyZWN0IGluY2x1c2lvbgorCW9mIDxsaW51eC9pcHguaD4gd29ya3MuCisKKwkqIGluY2x1ZGUvdGNoYXIuaDogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QG11bHRpbWFuaWEuY29tPgorCVByb3ZpZGVzIHRoZSBtYXBwaW5ncy4gTUJDUyBhbmQgVW5pY29kZSBmdW5jdGlvbnMgYXJlIG5vdCBpbXBsZW1lbnRlZC4KKwlTdGFuZGFyZCAoU0JDUykgZnVuY3Rpb25zIG1heSBleGlzdCBvciBub3QsIHdpdGggdGhlIHNhbWUgb3IgYSBkaWZmZXJlbnQKKwlzZW1hbnRpY3MuCisKKwkqIGRsbHMvY29tY3RsMzIvaXBhZGRyZXNzLmMsIGluY2x1ZGUvY29tbWN0cmwuaCwgaW5jbHVkZS9pcGFkZHJlc3MuaDoKKwlBbGV4IFByaWVtIDxhbGV4cEBzY2kua3VuLm5sPgorCUlQYWRkcmVzcyBjb21tb24gY29udHJvbCBpbXBsZW1lbnRhdGlvbi4gRmlyc3QgdHJ5OyBuZWVkcyBtb3JlIHdvcmsgdG8KKwlyZW1vdmUgYm9yaW5nIGJ1Z3MuCisKK0ZyaSBEZWMgMjUgMDg6NTU6MTUgMTk5OCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9zaGVsbDMyL2NvbnRtZW51LmMsIGRsbHMvc2hlbGwzMi9zaGx2aWV3LmMsIGluY2x1ZGUvb2xlb2JqLmgsIGluY2x1ZGUvc2hsb2JqLmg6CisJSnVlcmdlbiBTY2htaWVkIDxqdWVyZ2VuLnNjaG1pZWRAbWV0cm9uZXQuZGU+CisJRml4ZWQgdGhlIFRFWFQgcmVkZWZpbmVkIHdhcm5pbmdzLgorCisJKiBtc2Rvcy9pbnQxMC5jOiBKb3NlcGggUHJhbmV2aWNoIDxqcHJhbmV2aWNoQGx5Y29zLmNvbT4KKwlIb29rIGludG8gdGhlIChzdHViYmVkKSByZXNpemUgY29kZSBpbiBtc2RvcyBpbnQxMC4KKworCSogY29uc29sZS9pbnRlcmZhY2UuYywgaW5jbHVkZS9jb25zb2xlLmgsIGluY2x1ZGUvb3B0aW9ucy5oLCBsb2FkZXIvbWFpbi5jLCBtaXNjL21haW4uYzoKKwlKb3NlcGggUHJhbmV2aWNoIDxqcHJhbmV2aWNoQGx5Y29zLmNvbT4KKwlBZGQgc3VwcG9ydCBmb3Igc2VsZWN0aW9uIG9mIGNvbnNvbGUgbW9kZSBkcml2ZXJzIHRvIHVzZSB1c2luZyB0aGUKKwktY29uc29sZSBvcHRpb24uIEN1cnJlbnRseSAidHR5IiwgIm5jdXJzZXMiLCBhbmQgInh0ZXJtIiBhcmUKKwlzdXBwb3J0ZWQuCisJQWRkIHN0dWJzIGZvciByZXNpemluZyB0aGUgc2NyZWVuIG9uIG1vZGUgY2hhbmdlcy4KKworCSogaW5jbHVkZS9kZGVtbC5oLCBtaXNjL2RkZW1sLmMsIHJlbGF5MzIvdXNlcjMyLnNwZWM6CisJSmVhbi1DbGF1ZGUgQ290ZSA8amVhbi1jbGF1ZGVAbWFjYWRhbWlhbi5jb20+CisJUGFydGlhbCBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIGZvbGxvd2luZyBEREUgQVBJczoKKwlEZGVDbXBTdHJpbmdIYW5kbGVzLCBEZGVDcmVhdGVTdHJpbmdIYW5kbGUsIERkZUZyZWVTdHJpbmdIYW5kbGUsCisJRGRlUXVlcnlTdHJpbmcsIERkZVVuaW5pdGlhbGl6ZS4KKworVGh1IERlYyAyNCAxNjo1OToxNyAxOTk4ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBvbGUvTWFrZWZpbGUuaW4sIG9sZS9wYXJzZWR0LmMsIG9sZS9wYXJzZWR0LmgsIG9sZS92YXJpYW50LmM6CisJSmVhbi1DbGF1ZGUgQ290ZSA8amVhbi1jbGF1ZGVAbWFjYWRhbWlhbi5jb20+CisJQWRkZWQgVmFyRGF0ZUZyb21TdHIgQVBJLgorCisJKiBkbGxzL2NvbWN0bDMyL3RyYWNrYmFyLmMsIGluY2x1ZGUvdHJhY2tiYXIuaDoKKwlBbGV4IFByaWVtIDxhbGV4cEBzY2kua3VuLm5sPgorCS0gVG9vbHRpcCBzdXBwb3J0CisJLSBWZXJ0aWNhbCB0cmFja2JhcnMgc3VwcG9ydGVkIG5vdworCS0gVEJTX0JPVEggc3VwcG9ydCAoZ29lcyBhbG9uZyB3aXRoIHBhcnRpYWwgY2xlYW51cCBvZiBkcmF3aW5nIGNvZGUpCisJLSBVc2UgQ09NQ1RMMzIgaGVhcCBpbnN0ZWFkIG9mIHN5c3RlbSBoZWFwCisKKwkqIGdyYXBoaWNzL2RkcmF3LmMsIGluY2x1ZGUvZGRyYXcuaDoKKwlQZXRlciBIdW5uaXNldHQgPGh1bm5pc2VAbm9ydGVsbmV0d29ya3MuY29tPgorCUFkZGVkIGFsbCBjbGlwcGVyJjNkIHN0dWJzLgorCVN0YXJ0aW5nIENvbG9yS2V5IHN1cHBvcnQuCisJRml4ZWQgdHJhY2Ugc3RhdGVtZW50IGluIERpcmVjdERyYXdDcmVhdGUgYXMgZm9ybWF0dGluZyB3YXNuJ3QgY29ycmVjdC4KKwlDaGFuZ2VkICJyZXR1cm4gMDsiIHRvICJyZXR1cm4gRERfT0siIG9yICJyZXR1cm4gU19PSyIgYXMgYXBwcm9wcmlhdGUuCisJQWRkZWQgU3VyZmFjZUVudW0gZHdGbGFncy4KKworCSogaW5jbHVkZS9kcGxheS5oLCBtdWx0aW1lZGlhL2RwbGF5LmM6CisJUGV0ZXIgSHVubmlzZXR0IDxodW5uaXNlQG5vcnRlbG5ldHdvcmtzLmNvbT4KKwlBZGRlZCBtYWNyb3MgdG8gaGVhZGVyIGZpbGUgZm9yIGVhc2llciBmdW5jdGlvbiBjYWxsaW5nLgorCUNoYW5nZWQgaW1wbGVtZW50YXRpb24gYSBsaXR0bGUgYml0LgorCUFkZGVkIHN0dWJzIGZvciBkcGxheTMuIFN0aWxsIG5lZWQgdG8gYnJlYWsgaW50byBBIGFuZCBXIHZlcnNpb25zLgorCisJKiB3aW4zMi9maWxlLmM6IFBldGVyIEh1bm5pc2V0dCA8aHVubmlzZUBub3J0ZWxuZXR3b3Jrcy5jb20+CisJQ3JlYXRlRmlsZTMyQSB3YXMgb25seSBhbGxvd2luZyBjb25zb2xlIG9wZW5zIG9uIENPTklOJC9PVVQkLiBUaGlzCisJaGFzIGJlZW4gY2hhbmdlZCB0byBoYXZlIGEgY2FzZSBpbnNlbnNpdGl2ZSBjb21wYXJlLgorCisJKiBjb250cm9scy9saXN0Ym94LmM6IEdlcmFyZCBQYXRlbCA8Zy5wYXRlbEB3YW5hZG9vLmZyPgorCURvbid0IHNlbmQgT0RBX0VOVElSRSBmb3IgZW1wdHkgbGlzdGJveGVzIChMSVNUQk9YX1BhaW50KS4KKworCSogaW5jbHVkZS93aW5iYXNlLmgsIHJlbGF5MzIva2VybmVsMzIuc3BlYywgd2luMzIva2VybmVsMzIuYzoKKwlKZWFuLUNsYXVkZSBDb3RlIDxqZWFuLWNsYXVkZUBtYWNhZGFtaWFuLmNvbT4KKwlJbXBsZW1lbnRlZCB0aGUgR2V0QmluYXJ5VHlwZSBBUEkgZnVuY3Rpb24uCisKKwkqIGxvYWRlci9kb3MvZG9zbW9kLmMsIGxvYWRlci9kb3MvZG9zbW9kLmgsIGxvYWRlci9kb3MvZG9zdm0uYywgbG9hZGVyL2Rvcy9tb2R1bGUuYzoKKwlPdmUgS2FhdmVuIDxvdmVrQGFyY3RpY25ldC5ubz4KKwlBZGRlZCBzb21lIG5ldyBkb3Ntb2QgY29tbXVuaWNhdGlvbiBwb3NzaWJpbGl0aWVzLCBpbmNsdWRpbmcKKwlhY3RpdmF0aW5nIGEgZG9zbW9kLXNwZWNpZmljIHNldGl0aW1lcigpLCBhbmQgdGhlIGNhcHR1cmUgb2Ygc29tZQorCWNvbW1vbiBzaWduYWxzLCB3aGljaCBpcyByZXR1cm5lZCB0byBXaW5lIChwcmV2aW91c2x5IGEgU0lHSUxMCisJd291bGQganVzdCBjYXVzZSBhICJkb3Ntb2Qgc3luYyBsb3N0IiB3aXRob3V0IGV4cGxhbmF0aW9uLCBub3cgaXQKKwlpbnZva2VzIHRoZSBXaW5lIGRlYnVnZ2VyKS4gSW52b2tlcyBpbnQgMDggdXBvbiByZWNlaXB0IG9mIGRvc21vZAorCVNJR0FMUk0sIHRodXMgc2ltdWxhdGluZyB0aGUgRE9TIHRpbWVyLiBNYWRlIERPUyBpbnRlcnJ1cHQgY2FsbHMKKwliZSByZXBvcnRlZCBieSAtZGVidWdtc2cgK3JlbGF5IGluc3RlYWQgb2YgLWRlYnVnbXNnICtpbnQuIEFuZAorCWZpeGVkIG5vbi1pMzg2IGNvbXBpbGF0aW9uIG9mIGRvc21vZC4gKEFueXRoaW5nIGVsc2U/ISkKKworCSogbG9hZGVyL21haW4uYywgd2luZG93cy93aW4uYzoKKwlVbHJpY2ggV2VpZ2FuZCA8d2VpZ2FuZEBpbmZvcm1hdGlrLnVuaS1lcmxhbmdlbi5kZT4KKwlEZXNrdG9wIHdpbmRvdyBxdWV1ZSBoYW5kbGluZyBhZGFwdGVkLgorCisJKiB3aW5kb3dzL2NsaXBib2FyZC5jLCB3aW5kb3dzL2hvb2suYywgd2luZG93cy90aW1lci5jLCB3aW5kb3dzL3dpbnBvcy5jOgorCVVscmljaCBXZWlnYW5kIDx3ZWlnYW5kQGluZm9ybWF0aWsudW5pLWVybGFuZ2VuLmRlPgorCVF1ZXVlIGhhbmRsaW5nIGFkYXB0ZWQgdG8gbmV3IHF1ZXVlIHJvdXRpbmVzLgorCisJKiB3aW5kb3dzL21lc3NhZ2UuYywgd2luZG93cy9xdWV1ZS5jLCBpZjE2MzIvdXNlci5zcGVjLCBpbmNsdWRlL3F1ZXVlLmgsIGluY2x1ZGUvdGFzay5oOgorCVVscmljaCBXZWlnYW5kIDx3ZWlnYW5kQGluZm9ybWF0aWsudW5pLWVybGFuZ2VuLmRlPgorCUltcGxlbWVudGVkIHN0dWIgZm9yIEluaXRUaHJlYWRJbnB1dC4KKwlVc2UgR2V0VGhyZWFkUXVldWUvR2V0RmFzdFF1ZXVlIGluc3RlYWQgb2YgR2V0VGFza1F1ZXVlLgorCisJKiBsb2FkZXIvdGFzay5jLCBtaXNjZW11L21haW4uYzoKKwlVbHJpY2ggV2VpZ2FuZCA8d2VpZ2FuZEBpbmZvcm1hdGlrLnVuaS1lcmxhbmdlbi5kZT4KKwlVc2UgQ2FsbG91dCB0YWJsZSBpbnN0ZWFkIG9mIGRpcmVjdCBHZXRQcm9jQWRkcmVzcy4KKwlVc2VyWWllbGQgbW92ZWQgdG8gVVNFUi4KKworCSogaW5jbHVkZS9jYWxsYmFjay5oLCBtaXNjL2NhbGxiYWNrLmMsIGlmMTYzMi90aHVuay5jOgorCVVscmljaCBXZWlnYW5kIDx3ZWlnYW5kQGluZm9ybWF0aWsudW5pLWVybGFuZ2VuLmRlPgorCUNhbGxvdXQgdGFibGUgKGZvciBLRVJORUwtPlVTRVIgY2FsbHMpIGFkZGVkLgorCUNhbGxiYWNrcy0+Q2FsbFBvc3RBcHBNZXNzYWdlUHJvYyByZW1vdmVkLgorCisJKiBtaXNjL2NhbGxiYWNrLmMsIHdpbmRvd3MveDExZHJ2L2V2ZW50LmMsIGluY2x1ZGUvY2FsbGJhY2suaCwgaW5jbHVkZS9xdWV1ZS5oLCBpbmNsdWRlL3Rhc2suaCwgbG9hZGVyL3Rhc2suYywgaWYxNjMyL3RodW5rLmM6CisJVWxyaWNoIFdlaWdhbmQgPHdlaWdhbmRAaW5mb3JtYXRpay51bmktZXJsYW5nZW4uZGU+CisJSGFuZGxlIG5vbi1oYXJkd2FyZSBYIGV2ZW50cyBjb3JyZWN0bHkgd2l0aCBuYXRpdmUgVVNFUgorCShyZW1vdmVkIHJlZmVyZW5jZSB0byBNRVNTQUdFUVVFVUUgZnJvbSBLRVJORUwgY29kZSkuCisJSGFuZGxlIEV4cG9zZSBldmVudHMgd2l0aCBuYXRpdmUgVVNFUi4KKworCSogbWlzYy9jcnRkbGwuYzoKKwlBbmRyZWFzIE1vaHIgPG1vaHJAZWxla3Ryb24uaWtwLnBoeXNpay50dS1kYXJtc3RhZHQuZGU+CisJQmV0dGVyIF91bHRvYSgpLgorCisJKiB3aW4zMi90aW1lLmM6IFJlaW4gS2xhemVzIDxya2xhemVzQGNhc2VtYS5uZXQ+CisJRml4IHNtYWxsIHByb2JsZW0gaW4gR2V0VGltZVpvbmVJbmZvcm1hdGlvbigpLgorCisJKiB3aW5kb3dzL3gxMWRydi9rZXlib2FyZC5jOiBSZWluIEtsYXplcyA8cmtsYXplc0BjYXNlbWEubmV0PgorCUxvd2VzdCBzY2FuIGNvZGUgc2VlbXMgdG8gYmUgMSwgbm90IHplcm8uCisKKwkqIGdyYXBoaWNzL2RkcmF3LmM6IE1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCVN0dWJzIGZvciBJRGlyZWN0M0QoMik6OkNyZWF0ZUxpZ2h0IGFuZCBDcmVhdGVEZXZpY2UgdG8gYXZvaWQgY3Jhc2hlcy4KKworCSogZGxscy9udGRsbC9ydGwuYywgcmVsYXkzMi9udGRsbC5zcGVjLCBkbGxzL250ZGxsL250LmM6CisJSnVlcmdlbiBTY2htaWVkIDxqdWVyZ2VuLnNjaG1pZWRAbWV0cm9uZXQuZGU+CisJTmV3IHN0dWJzLgorCisJKiBkbGxzL3NoZWxsMzIvaWNvbmNhY2hlLmM6CisJSnVlcmdlbiBTY2htaWVkIDxqdWVyZ2VuLnNjaG1pZWRAbWV0cm9uZXQuZGU+CisJRml4ZXMgY3Jhc2ggd2hlbiBydW5uaW5nIHdpdGhvdXQgZXh0ZXJuYWwgc2hlbGwzMi5kbGwuCisKKwkqIHdpbmRvd3Mvd2lucHJvYy5jOiBKdWVyZ2VuIFNjaG1pZWQgPGp1ZXJnZW4uc2NobWllZEBtZXRyb25ldC5kZT4KKwlNb3JlIG1lc3NhZ2VzIFtMQl8qLEVNXypdIHRyYW5zbGF0ZWQgMzJBIGZyb20vdG8gMzJXLgorCisJKiByZWxheTMyL3VzZXIzMi5zcGVjOiBKdWVyZ2VuIFNjaG1pZWQgPGp1ZXJnZW4uc2NobWllZEBtZXRyb25ldC5kZT4KKwlEZXN0IGJ1ZmZlciB3YXMgcHJpbnRlZCBvdXQgYXMgc3RyLgorCisJKiBtaXNjL3Zlci5jOiBKdWVyZ2VuIFNjaG1pZWQgPGp1ZXJnZW4uc2NobWllZEBtZXRyb25ldC5kZT4KKwlHZXR0aW5nIHN0cmluZ3Mgd2l0aCBWZXJRdWVyeVZhbHVlMzJXIHdhcyBicm9rZW4uIENvbXBsZXRlCisJcmVjb25zdHJ1Y3Rpb24gb2YgdGhlIGZ1bmN0aW9uLgorCisJKiBtaXNjL3Rvb2xoZWxwLmM6IEh1dyBEIE0gRGF2aWVzIDxkYXZpZXNoQGFiYWN1cy5waHlzaWNzLm94LmFjLnVrPgorCUZpeCBudW1iZXIgYW5kIHR5cGUgb2YgYXJncyBpbiBkZWJ1Z2dpbmcgc3RhdGVtZW50cy4KKworCSogb2xlL3N0b3JhZ2UuYzogTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAbXVkLmRlPgorCUlTdG9yYWdlMzIgdnRhYmxlIHdhcyBtaXNzaW5nIDMgc3R1YiBlbnRyaWVzLgorCitGcmkgRGVjIDE4IDE3OjM4OjM5IDE5OTggIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGluY2x1ZGUvd2luZ2RpLmgsIG9iamVjdHMvZm9udC5jLCByZWxheTMyL2dkaTMyLnNwZWM6CisJRG91Z2xhcyBSaWRnd2F5IDxyaWRnd2F5QHdpbmVocS5jb20+CisJRG9jdW1lbnRhdGlvbiBmb3IgVHJhbnNsYXRlQ2hhcnNldEluZm8uCisKKwkqIGRsbHMvd25hc3BpMzIvd2luYXNwaTMyLmMsIGlmMTYzMi93cHJvY3Muc3BlYywgZGxscy93aW5hc3BpL3dpbmFzcGkxNi5jOgorCUFuZHJlYXMgTW9ociA8bW9ockBlbGVrdHJvbi5pa3AucGh5c2lrLnR1LWRhcm1zdGFkdC5kZT4KKwlNYWtlIHRoZSBET1NBU1BJIHBhcnQgdXNlIHRoZSBleGNlbGxlbnQgRFBNSSBSTUNCIGltcGxlbWVudGF0aW9uIGRvbmUKKwlieSBPdmUgS2FhdmVuLCB3aGljaCBtYWtlcyB0aGUgY29kZSBfbXVjaF8gY2xlYW5lci4KKworCSogTWFrZS5ydWxlcy5pbiwgTWFrZWZpbGUuaW4sIGNvbmZpZ3VyZSwgY29uZmlndXJlLmluOgorCVRvZGQgVmllcmxpbmcgPHR2QHBvYm94LmNvbT4KKwlVc2UgLWx3aW5lIGZvciBsaW5raW5nLgorCisJKiB3aW5kb3dzL21lc3NhZ2UuYywgd2luZG93cy9xdWV1ZS5jOgorCVVscmljaCBXZWlnYW5kIDx3ZWlnYW5kQGluZm9ybWF0aWsudW5pLWVybGFuZ2VuLmRlPgorCUJ1Z2ZpeDogYWx3YXlzIGNsZWFyIFFTXy4uLiBmcm9tICpib3RoKiBjaGFuZ2VCaXRzIGFuZCB3YWl0Qml0cy4KKwlCdWdmaXg6IHF1ZXVlLT5oU2VuZGluZ1Rhc2sgaXMgKnF1ZXVlKiBoYW5kbGUsIG5vdCB0YXNrIGhhbmRsZS4KKworCSogaWYxNjMyL3N0b3JhZ2Uuc3BlYywgaW5jbHVkZS9pbnRlcmZhY2VzLmgsIGluY2x1ZGUvb2JqYmFzZS5oLCBpbmNsdWRlL3N0b3JhZ2UuaCwgb2xlL2lmcy5jLCBvbGUvc3RvcmFnZS5jOgorCUZyYW7nb2lzIEdvdWdldCA8Z291Z2V0QG1ldGFpbnRlZ3JhdGlvbi5uZXQ+CisJRmlyc3Qgc3RlcCB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIGNhbGwgQ09NIGludGVyZmFjZXMgZnJvbSBDKysgY29kZSBpbgorCVdpbmVsaWIuCisKKwkqIGRsbHMvY29tY3RsMzIvdHJlZXZpZXcuYywgaW5jbHVkZS90cmVldmlldy5oOgorCUFsZXggUHJpZW0gPGFsZXhwQHNjaS5rdW4ubmw+CisJUHJlbGltaW5hcnkgdG9vbHRpcCBzdXBwb3J0LgorCVdNX1NFVEZPTlQvR0VURk9OVCBhZGRlZC4KKwlTb21lIGJ1ZyBmaXhlcy4KKwlVc2UgQ09NQ1RMMzIgaGVhcCBpbnN0ZWFkIG9mIHN5c3RlbSBoZWFwLgorCisJKiBncmFwaGljcy9wYWludGluZy5jOiBIdXcgRCBNIERhdmllcyA8ZGF2aWVzaEBhYmFjdXMucGh5c2ljcy5veC5hYy51az4KKwlJbXBsZW1lbnRlZCBQb2x5bGluZVRvLgorCisJKiByZWxheTMyL250ZGxsLnNwZWM6IEFkcmlhbiBIYXJ2ZXkgPGFkcmlhbkBzZWxlY3QuY29tLmF1PgorCVRoZSBady4uLiBGdW5jdGlvbnMgaW4gbnRkbGwuZGxsIGFyZSBqdXN0IGFsdGVybmF0ZSBlbnRyeQorCXBvaW50cyBmb3IgdGhlIHNhbWUgZnVuY3Rpb25zIGFzIHRoZSBOdC4uLiBmdW5jdGlvbiBvZiB0aGUKKwlzYW1lIG5hbWVzLiAgQ2hhbmdlZCBudGRsbC5zcGVjIHRvIG1hdGNoIHRoaXMuCisKKwkqIGluY2x1ZGUvbW9kdWxlLmgsIGluY2x1ZGUvcGVfaW1hZ2UuaCwgbG9hZGVyL21vZHVsZS5jLCBsb2FkZXIvcGVfaW1hZ2UuYywgcmVsYXkzMi9idWlsdGluMzIuYzoKKwlVbHJpY2ggV2VpZ2FuZCA8d2VpZ2FuZEBpbmZvcm1hdGlrLnVuaS1lcmxhbmdlbi5kZT4KKwlSZW9yZ2FuaXplZCBQRSBtb2R1bGUgbG9hZGluZyB0byBwcmVwYXJlIGZvciBlbGYtZGxsIGxvYWRlci4KKwlXSU5FX01PRFJFRiBjcmVhdGlvbiBtb3ZlZCB0byBvbmUgY2VudHJhbCBsb2NhdGlvbi4KKwlCdWdmaXg6IGNvcnJlY3RseSBzZWxlY3QgbmF0aXZlL2J1aWx0LWluIHZlcnNpb24gaWYgLkRMTAorCWV4dGVuc2lvbiBpcyBtaXNzaW5nIGluIExvYWRMaWJyYXJ5IGNhbGwuCisKKwkqIG11bHRpbWVkaWEvbW1zeXN0ZW0uYzogRXJpYyBQb3VlY2ggPEVyaWMuUG91ZWNoQHdhbmFkb28uZnI+CisJQ2hhbmdlZCBlcnJvciB2YWx1ZXMgTUNJX0lOVEVSTkFMIHRvIHRoZWlyIGNvcnJlY3QgdmFsdWVzLgorCisJKiBtdWx0aW1lZGlhL21jaXdhdmUuYzogRXJpYyBQb3VlY2ggPEVyaWMuUG91ZWNoQHdhbmFkb28uZnI+CisJUmVtb3ZlZCB3YXJuaW5nLgorCisJKiBtdWx0aW1lZGlhL21jaXN0cmluZy5jOiBFcmljIFBvdWVjaCA8RXJpYy5Qb3VlY2hAd2FuYWRvby5mcj4KKwlObyBsb25nZXIgc2VuZGluZyBkaXJlY3RseSBtZXNzYWdlcyB0byBEcml2ZXJQcm9jIGJ1dCByYXRoZXIgZ28gdGhyb3VnaAorCU1DSSBsYXllciAocmVxdWlyZWQgZm9yIG9wZW4vY2xvc2UpLgorCisJKiBtdWx0aW1lZGlhL21jaWNkYS5jOiBFcmljIFBvdWVjaCA8RXJpYy5Qb3VlY2hAd2FuYWRvby5mcj4KKwlSZW1vdmVkIGluY29ycmVjdCBwYXRjaCBmb3IgTUNJX09QRU4gYW5jIE1DSV9DTE9TRSBwYXJhbWV0ZXJzICh0aGFua3MgdG8gUm9iZXJ0IFJpZ2dzCisJZm9yIHBvaW50aW5nIG91dCB0aGUgYnVnLCBzZWUgdGhlIGZpeCBpbiBtY2lzdHJpbmcuYykKKwlGaXhlZCBNQ0kgc2Vla2luZyBvbiBDRCBhdWRpby4KKworCSogaW5jbHVkZS93aW5lcnJvci5oOiBKdWVyZ2VuIFNjaG1pZWQgPGp1ZXJnZW4uc2NobWllZEBtZXRyb25ldC5kZT4KKwlTdHVicyBmb3IgV2FpdE5hbWVkUGlwZVtBfFddLgorCisJKiBkbGxzL3NoZWxsMzIvY2xhc3Nlcy5jLCBkbGxzL3NoZWxsMzIvZGF0YW9iamVjdC5jLCBkbGxzL3NoZWxsMzIvaWNvbmNhY2hlLmMsIGRsbHMvc2hlbGwzMi9zaGVsbDMyX21haW4uaCwgZGxscy9zaGVsbDMyL3NobGZvbGRlci5jLCBpbmNsdWRlL3NoZWxsLmgsIHJlbGF5MzIvc2hlbGwzMi5zcGVjOgorCUp1ZXJnZW4gU2NobWllZCA8anVlcmdlbi5zY2htaWVkQG1ldHJvbmV0LmRlPgorCVNtYWxsIGZpeGVzLgorCisJKiBkbGxzL3NoZWxsMzIvc2hlbGxvcmQuYzoKKwlKdWVyZ2VuIFNjaG1pZWQgPGp1ZXJnZW4uc2NobWllZEBtZXRyb25ldC5kZT4KKwlTdHViIENvbnRyb2xfRmlsbENhY2hlX1J1bkRMTC4KKworCSogZGxscy9zaGVsbDMyL3NoZWxsMzJfbWFpbi5jOgorCUp1ZXJnZW4gU2NobWllZCA8anVlcmdlbi5zY2htaWVkQG1ldHJvbmV0LmRlPgorCVNIR2V0RmlsZUluZm8zMkE6IGdldCBTSEdGSV9TWVNJQ09OSU5ERVggaW1wbGVtZW50ZWQuCisKKwkqIGRsbHMvc2hlbGwzMi9waWRsLmM6IEp1ZXJnZW4gU2NobWllZCA8anVlcmdlbi5zY2htaWVkQG1ldHJvbmV0LmRlPgorCUlMQXBwZW5kIHNlZW1zIHRvIHdvcmsgbm93LgorCisJKiByZWxheTMyL2tlcm5lbDMyLnNwZWMsIHdpbjMyL2tlcm5lbDMyLmM6CisJSnVlcmdlbiBTY2htaWVkIDxqdWVyZ2VuLnNjaG1pZWRAbWV0cm9uZXQuZGU+CisJU3R1YnMgZm9yIFdhaXROYW1lZFBpcGVbQXxXXS4KKworVHVlIERlYyAxNSAxODowNDo1OCAxOTk4ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBmaWxlcy9kaXJlY3RvcnkuYzogSHV3IEQgTSBEYXZpZXMgPGRhdmllc2hAYWJhY3VzLnBoeXNpY3Mub3guYWMudWs+CisJRml4IEdldFRlbXBQYXRoMzIgaWYgY291bnQ9MC4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuaW4sIGluY2x1ZGUvY29uZmlnLmguaW4sIGluY2x1ZGUvbXVsdGltZWRpYS5oLCBtdWx0aW1lZGlhL2F1ZGlvLmMsIG11bHRpbWVkaWEvZHNvdW5kLmMsIG11bHRpbWVkaWEvaW5pdC5jLCBtdWx0aW1lZGlhL21jaWNkYS5jLCBtdWx0aW1lZGlhL21jaW1pZGkuYywgbXVsdGltZWRpYS9taWRpLmMsIG11bHRpbWVkaWEvbWl4ZXIuYywgbXVsdGltZWRpYS9tbWF1eC5jOgorCVRvZGQgVmllcmxpbmcgPHR2QHBvYm94LmNvbT4KKwktIGFkZCAtbG9zc2F1ZGlvIGlmIG5lZWRlZCwgYW5kIGEgY2hlY2sgZm9yIDxzb3VuZGNhcmQuaD4sIHRvIGNvbmZpZ3VyZS5pbgorCSAgKHJ1biBhdXRvY29uZiBhZnRlciB0aGlzKS4gIE5vdGUgdGhhdCB0aGUgY2hlY2sgaGFzIGJlZW4gYWx0ZXJlZCB0byBicmVhaworCSAgb3V0IG9mIHRoZSBBQ19DSEVDS19IRUFERVJTIGFmdGVyIHRoZSBmaXJzdCBtYXRjaCAtIHRoaXMgaXMgc28KKwkgIDxzeXMvc291bmRjYXJkLmg+LCBpZiBmb3VuZCBvbiBOZXRCU0QgKGEgYHJlYWwnIE9TUyksIHdpbGwgbm90IGNvbmZsaWN0CisJICB3aXRoIHRoZSBlbXVsYXRlZCBvc3NhdWRpby4KKwktIGNoZWNrIGZvciA8c291bmRjYXJkLmg+IGFsb25nIHdpdGggdGhlIG90aGVyIHR3byBpbiBhIG11dHVhbGx5LWV4Y2x1c2l2ZQorCSAgbWFubmVyIGluIHRoZSB2YXJpb3VzICouYyBmaWxlcyB0aGF0IG5lZWQgaXQ7IGNoYW5nZSBpbmNsdWRlIG9mCisJICAibW1zeXN0ZW0uaCIgdG8gIm11bHRpbWVkaWEuaCIgc28gdGhpcyBsb2dpYyBpcyBhbGwgaW4gb25lIHBsYWNlCisJLSBjaGFuZ2UgbWNpY2RhLmMgdG8gYWxsb3cgZm9yIENEIGF1ZGlvIG1hbmlwdWxhdGlvbiBvbiBOZXRCU0QuICBUaGlzCisJICBpbmNsdWRlczoKKwkgICogY2hhbmdpbmcgaW9jdGwoKSBjYWxscyB0byBiZSBOT04tU1BMSVQgd2l0aCBleGFjdGx5IDMgYXJnczsgb24gTmV0QlNECisJICAgIG9zc2F1ZGlvLCBpb2N0bCgpIGlzICNkZWZpbmVkIHRvIGJlIF9vc3NfaW9jdGwgYnkgPHNvdW5kY2FyZC5oPiwgYW5kCisJICAgIG5laXRoZXIgc3BsaXR0aW5nIHdpdGggIy1kaXJlY3RpdmVzIG5vciBhIHR3by1hcmcgaW9jdGwgd29yazsKKwkgICogY2hhbmdpbmcgdGhlICNpZiBsb2dpYyB0byBhbGxvdyBib3RoIEZyZWVCU0QgYW5kIE5ldEJTRCB0byBzaGFyZSB0aGUKKwkgICAgYXBwcm9wcmlhdGUgY29kZSBibG9ja3MKKwktIGJsb2NrIG91dCBNSURJIGNvZGUgZm9yIE5ldEJTRCAoaW5pdC5jKSBhbmQvb3IgbWlzc2luZyBTTkRDVExfTUlESV9JTkZPCisJICAobWlkaS5jLCBtY2ltaWRpLmMpLiAgTmV0QlNEJ3MgT1NTIGVtdWxhdGlvbiBkb2VzIG5vdCAoeWV0KSBzdXBwb3J0IE1JREkuCisJVGhhbmtzIGdvIHRvIG15Y3JvZnRAbmV0YnNkLm9yZyBmb3IgdGhlIDk5JSBidWxrIG9mIHRoaXMgd29yay4KKworCSogdHN4MTEvWDExX2NhbGxzLCB0c3gxMS90c194dXRpbC5jLCB3aW5kb3dzL3gxMWRydi93bmQuYywgaW5jbHVkZS90c194dXRpbC5oOgorCURpcmsgVGhpZXJiYWNoIDx0aGllcmJhY2hAbWF0aGVtYXRpay50dS1kYXJtc3RhZHQuZGU+CisJU2V0IHRoZSBjbGFzcyBoaW50cyBmb3IgbWFuYWdlZCB3aW5kb3dzLgorCisJKiBmaWxlcy9kb3NfZnMuYzogSnVlcmdlbiBTY2htaWVkIDxqdWVyZ2VuLnNjaG1pZWRAbWV0cm9uZXQuZGU+CisJQnVnZml4OiBHZXRGdWxsUGF0aE5hbWUgc2V0cyBscEZpbGVQYXJ0IG9ubHkgd2hlbiB0aGUgbGFzdCBlbGVtZW50CisJZG9lcyBub3QgZW5kIHdpdGggJ1wnLgorCisJKiB3aW5kb3dzL21lc3NhZ2UuYywgd2luZG93cy93aW4uYywgaW5jbHVkZS9jb21tY3RybC5oLCBpbmNsdWRlL2NvbW1kbGcuaCwgaW5jbHVkZS9kZGVtbC5oLCBpbmNsdWRlL21vdXNlLmgsIGluY2x1ZGUvc2hsb2JqLmgsIGluY2x1ZGUvd2luYmFzZS5oLCBpbmNsdWRlL3dpbmRvd3MuaCwgaW5jbHVkZS93aW5lcnJvci5oLCBpbmNsdWRlL3dpbmdkaS5oLCBpbmNsdWRlL3dpbnR5cGVzLmgsIG1pc2MvZGRlbWwuYywgb2JqZWN0cy9iaXRtYXAuYywgb2JqZWN0cy9icnVzaC5jLCBvYmplY3RzL2RjLmMsIG9iamVjdHMvZm9udC5jLCBvYmplY3RzL2dkaW9iai5jLCByZWxheTMyL2dkaTMyLnNwZWMsIHJlbGF5MzIvdXNlcjMyLnNwZWMsIGNvbnRyb2xzL21lbnUuYywgZGxscy9jb21jdGwzMi9jb21tY3RybC5jLCBncmFwaGljcy9iaXRibHQuYywgZ3JhcGhpY3MvZXNjYXBlLmMsIGdyYXBoaWNzL21ldGFmaWxlZHJ2L2luaXQuYywgZ3JhcGhpY3MvcGFpbnRpbmcuYywgZ3JhcGhpY3MvcGF0aC5jLCBpZjE2MzIvdXNlci5zcGVjOgorCVBhdWwgUXVpbm4gPHBhdWxxQENPUkVMLkNBPgorCUxvdHMgb2YgbmV3IGRlZmluZXMgYW5kIHN0dWJzLgorCisJKiBNYWtlLnJ1bGVzLmluLCBNYWtlZmlsZS5pbiwgY29uZmlndXJlLCBjb25maWd1cmUuaW46CisJVG9kZCBWaWVybGluZyA8dHZAcG9ib3guY29tPgorCVRoZXNlIHBhdGNoZXMgYWRkIHN1cHBvcnQgZm9yIC0tZW5hYmxlLWRsbCBvbiBOZXRCU0QsIGFuZCBtYXkgZXZlbiBkbyBzbyBmb3IKKwlGcmVlQlNEIGEub3V0LiAgTm93LCBOZXRCU0QgY2FuIHVzZSBsaWJ3aW5lIGFzIGEgc2hhcmVkIG9iamVjdC4gIFRoYW5rcyB0bworCW15Y3JvZnRAbmV0YnNkLm9yZyBmb3IgZG9pbmcgdGhpcyB3b3JrIQorCisJKiB0b29scy93cmMvd3JpdGVyZXMuYzogVG9kZCBWaWVybGluZyA8dHZAcG9ib3guY29tPgorCUdsb2JhbCBjb25zdHJ1Y3RvcnMgdXNpbmcgYC5zZWN0aW9uIC5jdG9ycycgYXJlIGJvZ3VzIGZvciBOZXRCU0QncworCWFzc2VtYmxlci4gVXNlIHRoZSBhcHByb3ByaWF0ZSBgLnN0YWJzJyB3aGVuIG9uIE5ldEJTRC4KKworCSogb2xlL3ZhcmlhbnQuYzogVG9kZCBWaWVybGluZyA8dHZAcG9ib3guY29tPgorCVVuZGVmaW5lZCBDSEFSX01BWCBhbmQgQ0hBUl9NSU4gKCNkZWZpbmVkIGJ5IE5ldEJTRCdzIHN5c3RlbSBoZWFkZXJzKS4KKwlGaXhlZCBzb21lIGNvbnN0YW50cyB0aGF0IGFyZSB0b28gYmlnIGZvciBhIHBsYWluIGBpbnQnLgorCisJKiBvbGUvdmFyaWFudC5jOiBNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlDaGVjayBmb3IgTUFYRkxPQVQgaWYgRkxUX01BWCBpc24ndCB0aGVyZS4KKworCSogZ3JhcGhpY3MvcHNkcnYvTWFrZWZpbGUuaW46IFRvZGQgVmllcmxpbmcgPHR2QHBvYm94LmNvbT4KKwlncmFwaGljcy9wc2RydiBmb3JnZXRzIHRvIHB1bGwgaW4gQERMTEZMQUdTQCwgYW5kIHNvIGlzIGNvbXBpbGVkIG5vbi1QSUMgaWYKKwl1c2luZyAtLWVuYWJsZS1kbGwuCisKKwkqIGluY2x1ZGUvd2luZ2RpLmgsIGluY2x1ZGUvd2ludHlwZXMuaCwgaW5jbHVkZS93aW51c2VyLmgsIGluY2x1ZGUvd2luZG93cy5oOgorCVZla3NsZXIgTWljaGFlbCA8bXZla3NsZXJAdGVjaHVuaXgudGVjaG5pb24uYWMuaWw+CisJTW92ZSBkZWNsYXJhdGlvbnMgZnJvbSB3aW5kb3dzLmggdG8gd2luZ2RpLmggYW5kIHdpbnVzZXIuaC4KKworTW9uIERlYyAxNCAxODoxNToxMSAxOTk4ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiB3aW4zMi9jb25zb2xlLmMsIGZpbGVzL01ha2VmaWxlLmluLCBmaWxlcy9hc3luYy5jLCBmaWxlcy9maWxlLmMsIGluY2x1ZGUvYXN5bmMuaCwgaW5jbHVkZS9maWxlLmgsIGxvYWRlci9zaWduYWwuYywgbWlzYy93aW5zb2NrX2Rucy5jOgorCU1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCU1hZGUgYXN5bmMgSU8gKFNJR0lPKSBzdHVmZiBmcm9tIFdJTlNPQ0sgZ2VuZXJpYyB1c2VhYmxlLgorCUFkZGVkIGFzeW5jIElPIHN1cHBvcnQgdG8gRklMRSBhbmQgQ09OU09MRSBvYmplY3RzLgorCisJKiBtaXNjL3dpbnNvY2suYzogU3RlcGhlbiBMYW5nYXNlayA8dm9ybG9uQGRvZGRzLm5ldD4KKwlQcmV2ZW50IHNlZ2ZhdWx0IGluIHNldHNvY2tvcHQgd2hlbiBvcHRuYW1lIGlzIFNPX0xJTkdFUiBhbmQgb3B0dmFsIGlzCisJbnVsbC4KKworCSogZGxscy9zaGVsbDMyL3NoZWxsMzJfbWFpbi5oLCBkbGxzL3NoZWxsMzIvc2hlbGxvcmQuYywgZGxscy9zaGVsbDMyL3NobGZvbGRlci5jLCBkbGxzL3NoZWxsMzIvc2hsdmlldy5jLCByZWxheTMyL3NoZWxsMzIuc3BlYzoKKwlKdWVyZ2VuIFNjaG1pZWQgPGp1ZXJnZW4uc2NobWllZEBtZXRyb25ldC5kZT4KKwlTb21lIGNsZWFudXAuCisKKwkqIGRsbHMvc2hlbGwzMi9pY29uY2FjaGUuYzoKKwlKdWVyZ2VuIFNjaG1pZWQgPGp1ZXJnZW4uc2NobWllZEBtZXRyb25ldC5kZT4KKwlTSE1hcFBJRExUb1N5c3RlbUltYWdlTGlzdEluZGV4IHRyeSdzIHRvIGRldGVybWluZSBhbmQgbG9hZCB0aGUgZXhhY3QKKwlpY29uIGZvciBmaWxlcyAoYnkgdHlwZSkgbm93LgorCisJKiBkbGxzL3NoZWxsMzIvY2xhc3Nlcy5jOiBKdWVyZ2VuIFNjaG1pZWQgPGp1ZXJnZW4uc2NobWllZEBtZXRyb25ldC5kZT4KKwlOZXcgSENSX0dldERlZmF1bHRJY29uIChpbnRlcm5hbCkuCisKKwkqIGluY2x1ZGUvZG9zZXhlLmgsIGxvYWRlci9kb3MvZG9zdm0uYywgbG9hZGVyL2Rvcy9tb2R1bGUuYywgbXNkb3MvZG9zbWVtLmMsIG1zZG9zL2RwbWkuYzoKKwlPdmUgS2FhdmVuIDxvdmVrQGFyY3RpY25ldC5ubz4KKwlNb3ZlZCBEUE1JIHdyYXBwZXIgYWxsb2NhdGlvbiBjb2RlIHRvIGRvc21lbS5jIHRvIFJFQUxMWSBtYWtlIHRoZQorCVJNY2FsbCBzaG9ydGN1dHMgaW5kZXBlbmRlbnQgb2YgZG9zbW9kLiBTUyBoYWQgYmVlbiBsZWZ0IG91dCBvZgorCXRoZSBSRUFMTU9ERUNBTEwgY29weSByb3V0aW5lcyBmb3Igc29tZSByZWFzb24sIGZpeGVkIG5vdy4gQWxzbworCWNsZWFuZWQgdXAgYSBmZXcgY29tcGlsZXIgd2FybmluZ3MuCisKKwkqIGdyYXBoaWNzL3gxMWRydi94Zm9udC5jOiBJYW4gUGlsY2hlciA8cGlsY2hlckBjb25jZW50cmljLm5ldD4KKwlBZGRlZCBhYmlsaXR5IHRvIHNwZWNpZnkgWCBmb250cyB1c2VkIGZvciBIZWx2IGFuZCBUbXMgUm1uIHR5cGVmYWNlcworCXdpdGggRGVmYXVsdFNlcmlmIGFuZCBEZWZhdWx0U2Fuc1NlcmlmIElOSSBrZXlzLgorCisJKiB0b29scy93cmMvcGFyc2VyLnksIHRvb2xzL3dyYy93cmMuaCwgdG9vbHMvd3JjL3dyaXRlcmVzLmMsIHRvb2xzL3dyYy9DSEFOR0VTOgorCUJlcnRobyBTdHVsdGllbnMgPGJlcnRob0BwYW50ZXIuc29jaS5hYXUuZGs+CisJLSBBZGRlZCBhIGdsb2JhbCBsYWJlbCBmb3IgZWxmLWRsbCBsaW5raW5nIGFuZCBhIGxvbmcgd2l0aCB0aGUgcmVzb3VyY2UKKwkgIHNpemUgYW5kIGEgbG9uZyB3aXRoIHRoZSBkaXJlY3Rvcnkgc2l6ZS4KKwktIEtpbGxlZCBhbiBhbm5veWluZyB3YXJuaW5nIHNpbmNlIHZlcnNpb24gMS4wLjAgaW4gcGFyc2VyLnkgYWJvdXQgYQorCSAgdmFyIGJlaW5nIHVzZWQgYmVmb3JlIGluaXQuCisKKwkqIGluY2x1ZGUvc2hsb2JqLmgsIGRsbHMvc2hlbGwzMi9zaGVsbGxpbmsuYywgZGxscy9zaGVsbDMyL3NoZWxsb2xlLmM6CisJSnVlcmdlbiBTY2htaWVkIDxqdWVyZ2VuLnNjaG1pZWRAbWV0cm9uZXQuZGU+CisJQWRkcyB0aGUgSVBlcnNpc3RGaWxlIEludGVyZmFjZSB0byBJU2hlbGxMaW5rW1ddIGFuZCBnYXZlIGJvdGggb3duCisJSUNsYXNzRmFjdG9yeXMuCisKKwkqIHdpbjMyL2NvbnNvbGUuYzogTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJKFJlYWRDb25zb2xlMzJBKTogc21hbGwgYW5kIHN0dXBpZCBidWcgZml4ZWQKKwkoV3JpdGVDb25zb2xlT3V0cHV0KTogYnVnIGZpeGVkIChhdHRyaWJ1dGVzIG1heSBjaGFuZ2Ugd2l0aGluIGxpbmVzKQorCWFuZCBlbmhhbmNlZCBzcGVlZHdpc2UgYnkgdXNpbmcgYnVmZmVyaW5nLgorCShDT05TT0xFX3N0cmluZ18yX0lSKTogZW5oYW5jZWQsIG5vdyBnZXRzIHNjYW5jb2RlcyBhbmQgdmlydHVhbGtleWNvZGVzCisKKwkqIG1pc2MvY3J0ZGxsLmMsIHJlbGF5MzIvY3J0ZGxsLnNwZWM6CisJTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJX3VsdG9hIGltcGxlbWVudGVkLgorCisJKiBjb250cm9scy9zdGF0aWMuYzogTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJU21hbGwgaGFjayB0byBnZXQgcmlkIG9mIGFubm95aW5nIGVycjpyZXNvdXJjZTogbWVzc2FnZSBmb3IKKwlNZXNzYWdlQm94ZXMuCisKKwkqIHJlbGF5MzIvZHNvdW5kLnNwZWM6IElhbiBTY2htaWR0IDxpcnNtYW5AaWFnLm5ldD4KKwlGaXggb2ZmLWJ5LTEgZXJyb3IgaW4gRGlyZWN0U291bmQgb3JkaW5hbHMuIFRoYW5rcyB0byBSb2JlcnQgUmlnZ3MgZm9yCisJdGhlIHBvaW50ZXIuCisKKwkqIGdyYXBoaWNzL2RkcmF3LmM6IFN0ZXBoZW4gQ3Jvd2xleSA8Y3Jvd0BkZWJpYW4ub3JnPgorCVNhdmUgdGhlIG9yaWdpbmFsIHZpZGVvIG1vZGUgYmVmb3JlIGdvaW5nIGZ1bGxzY3JlZW4gYW5kIHJlc3RvcmUgaXQKKwl3aGVuIHRoZSBsYXN0IERpcmVjdERyYXdfUmVsZWFzZSBpcyBjYWxsZWQuIEFsc28gZml4IGEgcHJvYmxlbSB3aGVyZQorCXRoZSB2aWV3cG9ydCB3YXNuJ3Qgc2V0IHRvIDAsMC4KKworCSogY29uc29sZS94dGVybS5jOiBKb3NlcGggUHJhbmV2aWNoIDxqcHJhbmV2aWNoQGx5Y29zLmNvbT4KKwlNYWRlIG1vcmUgY3Jvc3MtcGxhdGZvcm0gYnkgY2hhbmdpbmcgLT5fZmlsZW5vIHRvIGZpbGVubygpLgorCisJKiB3aW5kb3dzL3dpbi5jOiBORiBTdGV2ZW5zIDxub3JtYW5AYXJjYWR5LnUtbmV0LmNvbT4KKwlGaXggdGhlIFotb3JkZXIgb2YgbWF4aW1pemVkL21pbmltaXplZCBjaGlsZCB3aW5kb3dzLgorCisJKiBncmFwaGljcy94MTFkcnYveGZvbnQuYzoKKwlIdXcgRCBNIERhdmllcyA8ZGF2aWVzaEBhYmFjdXMucGh5c2ljcy5veC5hYy51az4KKwlYTEZEcyBzaG91bGQgYmUgd2VsbC1mb3JtZWQgKDE0IGh5cGhlbnMpIHRvIG1hdGNoIHNjYWxhYmxlIGZvbnRzLgorCVN0b3Agc2xhbnQgZmllbGQgYmVjb21pbmcgd2lsZGNhcmRlZCB0b28gZWFybHkuCisKKwkqIHdpbmRvd3MvZm9jdXMuYzogTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJKEZPQ1VTX1N3aXRjaEZvY3VzKSBjaGVjayBmb3IgcEZvY3VzVG8gPT0gTlVMTCBpbnN0ZWFkIG9mIGhGb2N1c1RvPT0wLgorCisJKiBvbGUvb2xlMm5scy5jOiBIdXcgRCBNIERhdmllcyA8ZGF2aWVzaEBhYmFjdXMucGh5c2ljcy5veC5hYy51az4KKwlIYWNrIE9MRV9HZXRGb3JtYXQqIHRvIHJldHVybiBzb21ldGhpbmcgaWYgZGF0ZWxlbiA9IDAuCisJUmVtb3ZlIHVubmVjZXNzYXJ5IFdJTkFQSSdzLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitGcmkgRGVjIDExIDE1OjA0OjExIDE5OTggIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CiAKIAkqIGluY2x1ZGUvcHJvY2Vzcy5oLCBpbmNsdWRlL3RsaGVscDMyLmgsIGluY2x1ZGUvdG9vbGhlbHAuaCwgbWlzYy90b29saGVscC5jLCBzY2hlZHVsZXIvazMyb2JqLmMsIHNjaGVkdWxlci9wcm9jZXNzLmM6CiAJUGF0cmljayBTcGlubGVyIDxzcGlubGVyLnBhdHJpY2tAbWF5by5lZHU+CkBAIC01OSw3ICs3MzYsNyBAQAogCSogZmlsZXMvZmlsZS5jOiBNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KIAlBZGRlZCBXaW4zMiBzeW5jaHJvIHRvIEZJTEVzICh1c2VmdWwgb25seSBmb3IgdGVybWluYWwgaGFuZGxlcykuCiAKLVRodSBEZWMgMTAgMTY6MDQ6NTEgMTk5OCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAYXJyYWtpcy5saWdodG5pbmcuY2g+CitUaHUgRGVjIDEwIDE2OjA0OjUxIDE5OTggIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CiAKIAkqIG9iamVjdHMvYml0bWFwLmMsIG9iamVjdHMvZGMuYywgb2JqZWN0cy9lbmhtZXRhZmlsZS5jLCBvYmplY3RzL2ZvbnQuYywgb2JqZWN0cy9tZXRhZmlsZS5jLCByZWxheTMyL2NvbWN0bDMyLnNwZWMsIHJlbGF5MzIvZ2RpMzIuc3BlYywgcmVsYXkzMi9rZXJuZWwzMi5zcGVjLCByZWxheTMyL21wci5zcGVjLCByZWxheTMyL3NoZWxsMzIuc3BlYywgcmVsYXkzMi90YXBpMzIuc3BlYywgcmVsYXkzMi91c2VyMzIuc3BlYywgcmVsYXkzMi93aW5zcG9vbC5zcGVjLCB3aW4zMi9jb25zb2xlLmMsIHdpbjMyL2tlcm5lbDMyLmMsIHdpbjMyL3RpbWUuYywgd2luZG93cy9pbnB1dC5jLCB3aW5kb3dzL21lc3NhZ2UuYywgZ3JhcGhpY3MvbWV0YWZpbGVkcnYvaW5pdC5jLCBpZjE2MzIvZGRlbWwuc3BlYywgaW5jbHVkZS9jb21tY3RybC5oLCBpbmNsdWRlL2RkZW1sLmgsIGluY2x1ZGUvc2hsb2JqLmgsIGluY2x1ZGUvd2luZG93cy5oLCBpbmNsdWRlL3dpbnR5cGVzLmgsIG1lbW9yeS9zdHJpbmcuYywgbWlzYy9kZGVtbC5jLCBtaXNjL25ldHdvcmsuYywgbWlzYy9wcmludGRydi5jLCBtaXNjL3RhcGkzMi5jLCBjb250cm9scy9lZGl0LmMsIGRsbHMvY29tY3RsMzIvTWFrZWZpbGUuaW4sIGRsbHMvY29tY3RsMzIvY29tY3RsMzJ1bmRvYy5jLCBkbGxzL2NvbWN0bDMyL3Byb3BzaGVldC5jLCBkbGxzL3NoZWxsMzIvc2hlbGwzMl9tYWluLmMsIGZpbGVzL2ZpbGUuYywgZ3JhcGhpY3MvcGFpbnRpbmcuYzoKIAlGcmFuY2lzIEJlYXVkZXQgPGZyYW5jaXNAbWFjYWRhbWlhbi5jb20+CkBAIC0xNDAsNyArODE3LDcgQEAKIAkqIGRsbHMvY29tY3RsMzIvdHJlZXZpZXcuYzogTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CiAJTWlzc2luZyBwYXJlbnRoZXNlcyBhZGRlZC4KIAotV2VkIERlYyAgOSAxNjozNzowNSAxOTk4ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEBhcnJha2lzLmxpZ2h0bmluZy5jaD4KK1dlZCBEZWMgIDkgMTY6Mzc6MDUgMTk5OCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KIAogCSogbG9hZGVyL3Rhc2suYywgcmVsYXkzMi9rZXJuZWwzMi5zcGVjLCB3aW4zMi9jb25zb2xlLmMsIGluY2x1ZGUvd2luY29uLmg6CiAJTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CkBAIC0xNzQsNyArODUxLDcgQEAKIAkqIG9sZS9vbGUybmxzLmM6IFV3ZSBCb25uZXMgPGJvbkBlbGVrdHJvbi5pa3AucGh5c2lrLnR1LWRhcm1zdGFkdC5kZT4KIAlTb21lIHNtYWxsIGNvcnJlY3Rpb25zIHRvIEVudW1TeXN0ZW1Mb2NhbGVzMzJBVwogCi1UdWUgRGVjICA4IDE1OjA2OjM5IDE5OTggIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQGFycmFraXMubGlnaHRuaW5nLmNoPgorVHVlIERlYyAgOCAxNTowNjozOSAxOTk4ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgogCiAJKiB0b29scy9tYWtlX1gxMXdyYXBwZXJzLCB0c3gxMS90c194Zjg2dm1vZGUuYywgZ3JhcGhpY3MvZGRyYXcuYzoKIAlUcmllZCBhbm90aGVyIGtsdWRnZSBmb3IgdGhlIFhtZC5oIHByb2JsZW0uCkBAIC0yMjIsNyArODk5LDcgQEAKIAlIdXcgRCBNIERhdmllcyA8ZGF2aWVzaEBhYmFjdXMucGh5c2ljcy5veC5hYy51az4KIAlSZXBsYWNlIEdSQVBIXyBmdW5jdGlvbnMgd2l0aCBXaW4gU0RLIGVxdWl2YWxlbnRzLgogCi1Nb24gRGVjICA3IDE2OjIzOjQyIDE5OTggIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQGFycmFraXMubGlnaHRuaW5nLmNoPgorTW9uIERlYyAgNyAxNjoyMzo0MiAxOTk4ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgogCiAJKiBmaWxlcy9kb3NfZnMuYzogQWxleGFuZGVyIExhcnNzb24gPGFsbGFAbHlzYXRvci5saXUuc2U+CiAJUmV2ZXJ0ZWQgcHJldmlvdXMgcGF0Y2guCkBAIC0zMTksMTQgKzk5NiwxNCBAQAogCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgogCU1vdmVkIG1vcmUgY29kZSB0byB0aGUgWDExIGRyaXZlci4KIAotVGh1IERlYyAgMyAxNjoyOTo1NiAxOTk4ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEBhcnJha2lzLmxpZ2h0bmluZy5jaD4KK1RodSBEZWMgIDMgMTY6Mjk6NTYgMTk5OCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KIAogCSogbXNkb3MvaW50MTAuYywgbXNkb3MvaW50MTYuYywgbXNkb3MvaW50MjEuYywgbXNkb3MvaW50MjkuYzoKIAlKb3NlcGggUHJhbmV2aWNoIDxqcHJhbmV2aWNoQGx5Y29zLmNvbT4KIAlDYWxsIHRoZSBuZXcgY29uc29sZSBkcml2ZXIgZm9yIHNvbWUgcm91dGluZXMuIFRoaXMgaXMgbm90IGNvbXBsZXRlbHkKIAlkb25lIHlldCBhbmQgbW9yZSBmb3IgdGVzdGluZyBwdXJwb3Nlcy4KIAotV2VkIERlYyAgMiAxOTo1ODowOSAxOTk4ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEBhcnJha2lzLmxpZ2h0bmluZy5jaD4KK1dlZCBEZWMgIDIgMTk6NTg6MDkgMTk5OCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KIAogCSogY29uZmlndXJlLmluLCBjb25zb2xlLy5jdnNpZ25vcmUsIGNvbnNvbGUvTWFrZWZpbGUuaW4sIGNvbnNvbGUvZ2VuZXJpYy5jLCBjb25zb2xlL2ludGVyZmFjZS5jLCBjb25zb2xlL25jdXJzZXMuYywgY29uc29sZS90dHkuYywgaW5jbHVkZS9hY2NvbmZpZy5oLCBpbmNsdWRlL2NvbmZpZy5oLmluLCBpbmNsdWRlL2NvbnNvbGUuaCwgaW5jbHVkZS93aW5udC5oLCBsb2FkZXIvbWFpbi5jLCBtaXNjL21haW4uYywgTWFrZWZpbGUuaW4sIGNvbmZpZ3VyZToKIAlKb3NlcGggUHJhbmV2aWNoIDxqcHJhbmV2aWNoQGx5Y29zLmNvbT4KQEAgLTM0Myw3ICsxMDIwLDcgQEAKIAkqIG1lbW9yeS9hdG9tLmM6IE1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgogCUhhbmRsZSBhdG9tcyAiIyBub24gbnVtYmVyIiAob3JhY2xlIGNsaWVudCkuCiAKLVR1ZSBEZWMgIDEgMTY6MjM6MTkgMTk5OCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAYXJyYWtpcy5saWdodG5pbmcuY2g+CitUdWUgRGVjICAxIDE2OjIzOjE5IDE5OTggIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CiAKIAkqIGlmMTYzMi9rZXJuZWwuc3BlYywgbWlzYy9lcnJvci5jOgogCVVscmljaCBXZWlnYW5kIDx3ZWlnYW5kQGluZm9ybWF0aWsudW5pLWVybGFuZ2VuLmRlPgpAQCAtNDQzLDcgKzExMjAsNyBAQAogCVZlclF1ZXJ5VmFsdWUsIGJ1Z2ZpeDogd2UgY2FudCBjb252ZXJ0IGJpbmFyeSBkYXRhIHdpdGgKIAlIRUFQX3N0cmR1cFd0b0EgKFxWYXJGaWxlSW5mb1xUcmFuc2xhdGlvbikuCiAKLU1vbiBOb3YgMzAgMTc6NDE6MTcgMTk5OCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAYXJyYWtpcy5saWdodG5pbmcuY2g+CitNb24gTm92IDMwIDE3OjQxOjE3IDE5OTggIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CiAKIAkqIHJlbGF5MzIvYWR2YXBpMzIuc3BlYywgd2luMzIvYWR2YXBpLmM6CiAJSnVlcmdlbiBTY2htaWVkIDxqdWVyZ2VuLnNjaG1pZWRAbWV0cm9uZXQuZGU+CkBAIC00OTMsNyArMTE3MCw3IEBACiAJKiBvbGUvY29tcG9iai5jOiBNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KIAlCdWdmaXg6IHNlY29uZCBSZWdPcGVuS2V5IHNob3VsZCB1c2UgQ0xTSURrZXkgaW5zdGVhZCBvZiBIS0VZX0NMQVNTRVNfUk9PVC4KIAotRnJpIE5vdiAyNyAxNjowNjowOCAxOTk4ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEBhcnJha2lzLmxpZ2h0bmluZy5jaD4KK0ZyaSBOb3YgMjcgMTY6MDY6MDggMTk5OCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KIAogCSogQlVHUywgZG9jdW1lbnRhdGlvbi9idWdyZXBvcnRzLCBkb2N1bWVudGF0aW9uL2RlYnVnZ2luZywgZG9jdW1lbnRhdGlvbi9uby13aW5kb3dzLCBkb2N1bWVudGF0aW9uL3dpbmUubWFuOgogCUphbWVzIEp1cmFuIDxqcmoxMjBAcHN1LmVkdT4KQEAgLTUxMCw3ICsxMTg3LDcgQEAKIAkqIGZpbGVzL2RyaXZlLmM6IEFuZHJlYXMgTW9ociA8YS5tb2hyQG1haWx0by5kZT4KIAlJbXByb3ZlZCBHZXREaXNrRnJlZVNwYWNlMzJBKCkuCiAKLVRodSBOb3YgMjYgMTY6MzI6MDAgMTk5OCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAYXJyYWtpcy5saWdodG5pbmcuY2g+CitUaHUgTm92IDI2IDE2OjMyOjAwIDE5OTggIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CiAKIAkqIHdpbmRvd3Mvd2luLmM6IEh1dyBEIE0gRGF2aWVzIDxkYXZpZXNoQGFiYWN1cy5waHlzaWNzLm94LmFjLnVrPgogCVJlbW92ZSBpbmNsdWRlZCBjb2xvci5oLgpAQCAtNTM0LDcgKzEyMTEsNyBAQAogCSogb2xlL29sZTJubHMuYzogVWxyaWNoIFdlaWdhbmQgPHdlaWdhbmRAaW5mb3JtYXRpay51bmktZXJsYW5nZW4uZGU+CiAJQnVnZml4OiBEbyAqbm90KiB6ZXJvIG91dCBvdXRwdXQgYnVmZmVyIGluIEdldE51bWJlckZvcm1hdDMyW0FXXS4KIAotV2VkIE5vdiAyNSAxODoxNTo1MyAxOTk4ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEBhcnJha2lzLmxpZ2h0bmluZy5jaD4KK1dlZCBOb3YgMjUgMTg6MTU6NTMgMTk5OCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KIAogCSogb2xlL25scy9ncmMubmxzLCBvbGUvbmxzL3NreS5ubHMsIG9sZS9ubHMvdGhhLm5scywgb2xlL25scy90cmsubmxzLCBvbGUvb2xlMm5scy5jOgogCVBhYmxvIFNhcmF0eGFnYSA8c3J0eGdAY2hhbmFlLmFscGhhbmV0LmNoPgpAQCAtNTc4LDcgKzEyNTUsNyBAQAogCVVscmljaCBXZWlnYW5kIDx3ZWlnYW5kQGluZm9ybWF0aWsudW5pLWVybGFuZ2VuLmRlPgogCUltcGxlbWVudGVkIChtb3N0KSBWV2luMzIuVnhEIERldmljZUlvQ29udHJvbCByb3V0aW5lcy4KIAotVHVlIE5vdiAyNCAyMDo0NzoxNyAxOTk4ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEBhcnJha2lzLmxpZ2h0bmluZy5jaD4KK1R1ZSBOb3YgMjQgMjA6NDc6MTcgMTk5OCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KIAogCSogaW5jbHVkZS90aHJlYWQuaCwgc2NoZWR1bGVyL3RocmVhZC5jOgogCVVscmljaCBXZWlnYW5kIDx3ZWlnYW5kQGluZm9ybWF0aWsudW5pLWVybGFuZ2VuLmRlPgpAQCAtNjc3LDcgKzEzNTQsNyBAQAogCSogcmVzb3VyY2VzL3N5c3Jlc19Gci5yYzogRXJpYyBQb3VlY2ggPEVyaWMuUG91ZWNoQHdhbmFkb28uZnI+CiAJRml4ZWQgc29tZSBxdWlya3MuCiAKLVN1biBOb3YgMjIgMTg6Mjk6NTAgMTk5OCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAYXJyYWtpcy5saWdodG5pbmcuY2g+CitTdW4gTm92IDIyIDE4OjI5OjUwIDE5OTggIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CiAKIAkqIGRsbHMvc2hlbGwzMi9jb250bWVudS5jLCBkbGxzL3NoZWxsMzIvZGF0YW9iamVjdC5jLCBkbGxzL3NoZWxsMzIvZm9sZGVycy5jLCBkbGxzL3NoZWxsMzIvaWNvbmNhY2hlLmMsIGRsbHMvc2hlbGwzMi9waWRsLmgsIGRsbHMvc2hlbGwzMi9zaGVsbDMyX21haW4uaCwgZGxscy9zaGVsbDMyL3NobHZpZXcuYzoKIAlKdWVyZ2VuIFNjaG1pZWQgPGp1ZXJnZW4uc2NobWllZEBtZXRyb25ldC5kZT4KQEAgLTg2Myw3ICsxNTQwLDcgQEAKIAlQYXJ0aWFsbHkgY29tcGxldGUgR2V0VGV4dENoYXJzZXRJbmZvIGFuZCBjb3JyZWN0cyByZXR1cm4gdmFsdWVzIGZvcgogCXRoaXMgZmFtaWx5IG9mIGZ1bmN0aW9ucy4KIAotU3VuIE5vdiAxNSAxODoxMjoxMiAxOTk4ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEBhcnJha2lzLmxpZ2h0bmluZy5jaD4KK1N1biBOb3YgMTUgMTg6MTI6MTIgMTk5OCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KIAogCSogb2xlL2NvbXBvYmouYzogSnVlcmdlbiBTY2htaWVkIDxqdWVyZ2VuLnNjaG1pZWRAbWV0cm9uZXQuZGU+CiAJQnVnIGZpeC4KQEAgLTk1OCw3ICsxNjM1LDcgQEAKIAkqIG1pc2MvbWFpbi5jOiBNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KIAlPd24gWDExIGVycm9yaGFuZGxlciB0byBsb2NhdGUgWDExIGVycm9ycy4gVXNlZnVsIG9ubHkgd2l0aCAtc3luYy4KIAotU2F0IE5vdiAxNCAxODo1OTozMCAxOTk4ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEBhcnJha2lzLmxpZ2h0bmluZy5jaD4KK1NhdCBOb3YgMTQgMTg6NTk6MzAgMTk5OCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KIAogCSogaW5jbHVkZS9jb2xvci5oLCBpbmNsdWRlL2ltYWdlaGxwLmgsIGluY2x1ZGUvcGFsZXR0ZS5oLCBtZW1vcnkvZ2xvYmFsLmMsIG1pc2MvcmVnaXN0cnkuYywgd2luZG93cy9kZWZ3bmQuYzoKIAlKdWVyZ2VuIFNjaG1pZWQgPGp1ZXJnZW4uc2NobWllZEBtZXRyb25ldC5kZT4KZGlmZiAtLWdpdCBhL2luY2x1ZGUvdmVyc2lvbi5oIGIvaW5jbHVkZS92ZXJzaW9uLmgKaW5kZXggZDc1MTg0Ni4uNmQ2YWE1YSAxMDA2NDQKLS0tIGEvaW5jbHVkZS92ZXJzaW9uLmgKKysrIGIvaW5jbHVkZS92ZXJzaW9uLmgKQEAgLTEgKzEgQEAKLSNkZWZpbmUgV0lORV9SRUxFQVNFX0lORk8gIldpbmUgcmVsZWFzZSA5ODEyMTEiCisjZGVmaW5lIFdJTkVfUkVMRUFTRV9JTkZPICJXaW5lIHJlbGVhc2UgOTkwMTAzIgo=