ZGlmZiAtLWdpdCBhL0FOTk9VTkNFIGIvQU5OT1VOQ0UKaW5kZXggNGViZGJmNy4uYmNjMDcwMiAxMDA2NDQKLS0tIGEvQU5OT1VOQ0UKKysrIGIvQU5OT1VOQ0UKQEAgLTEsMTcgKzEsMTYgQEAKLVRoaXMgaXMgcmVsZWFzZSAyMDAwMTIwMiBvZiBXaW5lLCBhIGZyZWUgaW1wbGVtZW50YXRpb24gb2YgV2luZG93cyBvbgorVGhpcyBpcyByZWxlYXNlIDIwMDAxMjIyIG9mIFdpbmUsIGEgZnJlZSBpbXBsZW1lbnRhdGlvbiBvZiBXaW5kb3dzIG9uCiBVbml4LiAgVGhpcyBpcyBzdGlsbCBhIGRldmVsb3BlcnMgb25seSByZWxlYXNlLiAgVGhlcmUgYXJlIG1hbnkgYnVncwogYW5kIHVuaW1wbGVtZW50ZWQgZmVhdHVyZXMuICBNb3N0IGFwcGxpY2F0aW9ucyBzdGlsbCBkbyBub3Qgd29yawogY29ycmVjdGx5LgogCi1QYXRjaGVzIHNob3VsZCBiZSBzdWJtaXR0ZWQgdG8gImp1bGxpYXJkQHdpbmVocS5jb20iLiAgUGxlYXNlIGRvbid0CitQYXRjaGVzIHNob3VsZCBiZSBzdWJtaXR0ZWQgdG8gIndpbmUtcGF0Y2hlc0B3aW5laHEuY29tIi4gIFBsZWFzZSBkb24ndAogZm9yZ2V0IHRvIGluY2x1ZGUgYSBDaGFuZ2VMb2cgZW50cnkuCiAKLVdIQVQnUyBORVcgd2l0aCBXaW5lLTIwMDAxMjAyOiAoc2VlIENoYW5nZUxvZyBmb3IgZGV0YWlscykKLQktIE5ldyAnd2luZW1ha2VyJyBzY3JpcHQgdG8gYXV0b21hdGUgc291cmNlIHBvcnRpbmcuCi0JLSBOZXcgZGxsIGltcG9ydCBtZWNoYW5pc20gdG8gcmVwbGFjZSBFTEYgbGlua2luZyBvZiAuc28gZmlsZXMuCi0JLSBNYW55IGludGVybmF0aW9uYWxpemF0aW9uIGZpeGVzLgotCS0gQSBsb3Qgb2YgcG9ydGFiaWxpdHkgZml4ZXMuCi0JLSBCdWlsdGluIGNydGRsbCBtdWNoIGltcHJvdmVkLgorV0hBVCdTIE5FVyB3aXRoIFdpbmUtMjAwMDEyMjI6IChzZWUgQ2hhbmdlTG9nIGZvciBkZXRhaWxzKQorCS0gU2V2ZXJhbCBESUIgYml0Ymx0IG9wdGltaXphdGlvbnMuCisJLSBOZXcgY29uZmlndXJhdGlvbiBmaWxlIGZvcm1hdCBhbmQgbG9jYXRpb24uCisJLSBGYXN0ZXIgaW5pdGlhbCByZWdpc3RyeSBsb2FkaW5nLgorCS0gVW5pY29kZSBlZGl0IGNvbnRyb2wuCiAJLSBMb3RzIG9mIGJ1ZyBmaXhlcy4KIAogU2VlIHRoZSBSRUFETUUgZmlsZSBpbiB0aGUgZGlzdHJpYnV0aW9uIGZvciBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zLgpAQCAtMjAsMTAgKzE5LDEwIEBACiB0aGUgcmVsZWFzZSBpcyBhdmFpbGFibGUgYXQgdGhlIGZ0cCBzaXRlcy4gIFRoZSBzb3VyY2VzIHdpbGwgYmUgYXZhaWxhYmxlCiBmcm9tIHRoZSBmb2xsb3dpbmcgbG9jYXRpb25zOgogCi0gIGh0dHA6Ly93d3cuaWJpYmxpby5vcmcvcHViL0xpbnV4L0FMUEhBL3dpbmUvZGV2ZWxvcG1lbnQvV2luZS0yMDAwMTIwMi50YXIuZ3oKLSAgZnRwOi8vZnRwLmluZm9tYWdpYy5jb20vcHViL21pcnJvcnMvbGludXgvc3Vuc2l0ZS9BTFBIQS93aW5lL2RldmVsb3BtZW50L1dpbmUtMjAwMDEyMDIudGFyLmd6Ci0gIGZ0cDovL2Z0cC5mdS1iZXJsaW4uZGUvdW5peC9saW51eC9taXJyb3JzL3N1bnNpdGUudW5jLmVkdS9BTFBIQS93aW5lL2RldmVsb3BtZW50L1dpbmUtMjAwMDEyMDIudGFyLmd6Ci0gIGZ0cDovL29yY3VzLnByb2dzb2MudXRzLmVkdS5hdS9wdWIvV2luZS9kZXZlbG9wbWVudC9XaW5lLTIwMDAxMjAyLnRhci5negorICBodHRwOi8vd3d3LmliaWJsaW8ub3JnL3B1Yi9MaW51eC9BTFBIQS93aW5lL2RldmVsb3BtZW50L1dpbmUtMjAwMDEyMjIudGFyLmd6CisgIGZ0cDovL2Z0cC5pbmZvbWFnaWMuY29tL3B1Yi9taXJyb3JzL2xpbnV4L3N1bnNpdGUvQUxQSEEvd2luZS9kZXZlbG9wbWVudC9XaW5lLTIwMDAxMjIyLnRhci5negorICBmdHA6Ly9mdHAuZnUtYmVybGluLmRlL3VuaXgvbGludXgvbWlycm9ycy9zdW5zaXRlLnVuYy5lZHUvQUxQSEEvd2luZS9kZXZlbG9wbWVudC9XaW5lLTIwMDAxMjIyLnRhci5negorICBmdHA6Ly9vcmN1cy5wcm9nc29jLnV0cy5lZHUuYXUvcHViL1dpbmUvZGV2ZWxvcG1lbnQvV2luZS0yMDAwMTIyMi50YXIuZ3oKIAogSXQgc2hvdWxkIGFsc28gYmUgYXZhaWxhYmxlIGZyb20gYW55IG90aGVyIHNpdGUgdGhhdCBtaXJyb3JzIGliaWJsaW8ub3JnLgogRm9yIG1vcmUgZG93bmxvYWQgbG9jYXRpb25zLCBzZWUgaHR0cDovL2Z0cHNlYXJjaC5seWNvcy5jb20uCkBAIC0zNyw2ICszNiw4IEBACiBJZiB5b3Ugd2FudCB0byBnZXQgdGhlIG5ldyByZWxlYXNlcyBmYXN0ZXIsIHlvdSBjYW4gc3Vic2NyaWJlIHRvIHRoZQogd2luZS1wYXRjaGVzIG1haWxpbmcgbGlzdCBieSBzZW5kaW5nIGEgbWFpbCBjb250YWluaW5nICdzdWJzY3JpYmUKIHdpbmUtcGF0Y2hlcyB5b3VyX2FkZHJlc3MnIHRvIG1ham9yZG9tb0B0aWdlci5pbmZvcm1hdGlrLmh1LWJlcmxpbi5kZS4KK1lvdSB3aWxsIGdldCBhIHBhdGNoIGFnYWluc3QgdGhlIHByZXZpb3VzIHJlbGVhc2Ugd2hlbiBhIG5ldyBvbmUgaXMKK3JlbGVhc2VkLgogCiBXaW5lIGlzIGF2YWlsYWJsZSB0aGFua3MgdG8gdGhlIHdvcmsgb2YgbWFueSBwZW9wbGUuIFNlZSB0aGUgZmlsZQogQVVUSE9SUyBpbiB0aGUgZGlzdHJpYnV0aW9uIGZvciB0aGUgY29tcGxldGUgbGlzdC4KZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA0MTk4NWUyLi4xM2MwMzQ0IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDQgKzEsOTQzIEBACiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisyMDAwLTEyLTIyICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiB3aW5kb3dzL2NsaXBib2FyZC5jLCB3aW5kb3dzL3gxMWRydi9jbGlwYm9hcmQuYzoKKwlHZXJhcmQgUGF0ZWwgPGdlcmFyZC5wYXRlbEBhc2kuZnI+CisJQ2FuY2VsIGEgZmV3IGNoYW5nZXMgdG8gZ2V0IGJhY2sgYmFzaWMgdGV4dCBjbGlwYm9hcmQgZnVuY3Rpb25hbGl0eS4KKworCSogZGxscy93aW5tbS9tbXN5c3RlbS5jLCBpbmNsdWRlL3dpbmUvd2luYmFzZTE2LmgsIHdpbmRvd3MvbWVzc2FnZS5jLCB3aW5kb3dzL3F1ZXVlLmMsIHdpbmRvd3Mvd2luaGVscC5jOgorCUVyaWMgUG91ZWNoIDxFcmljLlBvdWVjaEB3YW5hZG9vLmZyPgorCVJlcGxhY2VkIGNhbGxzIHRvIEtFUk5FTC5ZaWVsZDE2IGJ5IGNhbGxzIHRvIEtFUk5FTDMyLkszMldPV1lpZWxkIGZyb20KKwlvdXRzaWRlIGxpYmtlcm5lbC5zby4KKworCSogbG9hZGVyL21vZHVsZS5jOgorCU5vIGxvbmdlciB0cnkgdG8gbG9hZCBidWlsdGluIGxpYnJhcnkgd2hlbiBsb2Fkb3JkZXIgaXMgJ3NvJy4KKworCSogTWFrZS5ydWxlcy5pbiwgY29uZmlndXJlLCBjb25maWd1cmUuaW4sIGRsbHMvTWFrZWRsbC5ydWxlcy5pbiwgbGlicmFyeS9NYWtlZmlsZS5pbiwgdHN4MTEvTWFrZWZpbGUuaW4sIHVuaWNvZGUvTWFrZWZpbGUuaW4sIHVuaWNvZGUvd2luZV91bmljb2RlLmRlZjoKKwlIaWRlbm9yaSBUYWtlc2hpbWEgPGhpZGVub3JpQGEyLmN0a3R2Lm5lLmpwPgorCVVzZSBkbGx3cmFwIGZvciBidWlsZGluZyBzaGFyZWQgbGlicmFyaWVzIGluIGN5Z3dpbi4KKworCSogc2VydmVyL2FzeW5jLmMsIHNlcnZlci9jb25zb2xlLmMsIHNlcnZlci9maWxlLmMsIHNlcnZlci9oYW5kbGUuYywgc2VydmVyL21hcHBpbmcuYywgc2VydmVyL3BpcGUuYywgc2VydmVyL3JlZ2lzdHJ5LmMsIHNlcnZlci9yZXF1ZXN0LmMsIHNlcnZlci9zZXJpYWwuYywgc2VydmVyL3NvY2suYywgc2VydmVyL3RocmVhZC5jOgorCUF2b2lkIGR1cCdpbmcgZmlsZSBkZXNjcmlwdG9ycyB3aGVuIG5vdCBuZWNlc3NhcnkuCisJRG8gbm90IHNlbmQgZmQgdG8gdGhlIGNsaWVudCBpZiBvcHMtPmdldF9mZCgpIGZhaWxzLgorCisJKiBzY2hlZHVsZXIvdGhyZWFkLmM6CisJRml4ZWQgY29weS9wYXN0ZSBidWcgKHRoYW5rcyB0byBHZXJhcmQgUGF0ZWwpLgorCisJKiBkbGxzL2Rzb3VuZC9kc291bmRfbWFpbi5jOgorCU92ZSBLYWF2ZW4gPG92ZWtAdHJhbnNnYW1pbmcuY29tPgorCU1vcmUgaW50ZWxsaWdlbnQgRGlyZWN0U291bmQgcHJlYnVmZmVyaW5nLiBCeSB0cmFja2luZyB0aGUKKwlsYXN0LXdyaXR0ZW4gcG9zaXRpb24gb2Ygc3RyZWFtaW5nIGJ1ZmZlcnMsIGl0IGF0dGVtcHRzIHRvIGF2b2lkCisJcHJlYnVmZmVyaW5nIHBhc3QgdGhpcyBwb3NpdGlvbiB1bmxlc3MgbmVjZXNzYXJ5OyB0aGlzIG1heSBhdm9pZCBhCisJbnVtYmVyIG9mIHNvdW5kIHByb2JsZW1zIGluIHZhcmlvdXMgc2l0dWF0aW9ucy4gTWVyZ2VkIEhFTCBhbmQgSEFMCisJbWl4aW5nIGNvZGUsIHdoaWNoIHNob3VsZCByZWR1Y2UgdGhlIEhFTCBtb2RlJ3MgQ1BVIHVzYWdlIHNsaWdodGx5LgorCisJKiB3aW5kb3dzL3dpbi5jOiBKb2VyZyBNYXllciA8am1heWVyQGxvcGxvZi5kZT4KKwlXYXJuIHdoZW4gRmluZFdpbmRvdyBuZWVkcyB0byBjaGVjayBvdGhlciBwcm9jZXNzZXMgd2luZG93cy4KKworCSogZG9jdW1lbnRhdGlvbi9NYWtlZmlsZS5pbjoKKwlKb2VyZyBNYXllciA8am1heWVyQGxvcGxvZi5kZT4KKwlEb24ndCBzdXBwcmVzcyBlcnJvciBtZXNzYWdlcy4KKworCSogZGxscy9udGRsbC9jcml0c2VjdGlvbi5jOgorCUpvZXJnIE1heWVyIDxqbWF5ZXJAbG9wbG9mLmRlPgorCUFkZCAlZnMgaW5mbyB0byB0aGUgY3JpdGljYWwgc2VjdGlvbiB0aW1lb3V0IG1lc3NhZ2UuCisKKwkqIGluY2x1ZGUvZGVidWd0b29scy5oOgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJUmVtb3ZlIHJlZHVuZGFudCAnOycgYXQgdGhlIGVuZCBvZiBsaW5lLgorCisJKiBjb250cm9scy9lZGl0LmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggcmVtYWluaW5nIHNpZ25lZC91bnNpZ25lZCBtaXNtYXRjaGVzLgorCisJKiBkbGxzL250ZGxsL29tLmMsIGZpbGVzL2ZpbGUuYywgaW5jbHVkZS9zZXJ2ZXIuaCwgaW5jbHVkZS90aHJlYWQuaCwgbG9hZGVyL25lL21vZHVsZS5jLCBtZW1vcnkvdmlydHVhbC5jLCBzY2hlZHVsZXIvY2xpZW50LmMsIHNjaGVkdWxlci9oYW5kbGUuYywgc2NoZWR1bGVyL3RocmVhZC5jLCBzZXJ2ZXIvY29uc29sZS5jLCBzZXJ2ZXIvZGVidWdnZXIuYywgc2VydmVyL2ZpbGUuYywgc2VydmVyL2hhbmRsZS5jLCBzZXJ2ZXIvaGFuZGxlLmgsIHNlcnZlci9tYXBwaW5nLmMsIHNlcnZlci9vYmplY3QuaCwgc2VydmVyL3BpcGUuYywgc2VydmVyL3JlcXVlc3QuYywgc2VydmVyL3JlcXVlc3QuaCwgc2VydmVyL3RocmVhZC5jLCBzZXJ2ZXIvdGhyZWFkLmgsIHNlcnZlci90cmFjZS5jOgorCVVzZSBhIHNlcGFyYXRlIEZJRk8gcGFpciBmb3Igc2VydmVyIHJlcXVlc3RzIHRoYXQgZG9uJ3QgbmVlZCB0byBwYXNzIGEKKwlmaWxlIGRlc2NyaXB0b3IuCisJQXNzb2NpYXRlIGZpbGUgZGVzY3JpcHRvcnMgd2l0aCBoYW5kbGVzIG9uIHRoZSBzZXJ2ZXIgc2lkZSBzbyB0aGF0IHdlCisJZG9uJ3QgbmVlZCB0byBwYXNzIHRoZSBmZCBldmVyeSB0aW1lIHRoZSBjbGllbnQgd2FudHMgdG8gdXNlIGl0LgorCisJKiB3aW5lLmluaToKKwlIaWRlbm9yaSBUYWtlc2hpbWEgPGhpZGVub3JpQGEyLmN0a3R2Lm5lLmpwPgorCU5hdGl2ZSBJTU0zMi5ETEwgY3Jhc2hlcyB3aW5lIC0gdXNlIGJ1aWx0aW4gRExMLgorCisJKiByZWxheTMyL2J1aWx0aW4zMi5jOgorCUFuZHJlYXMgTW9ociA8YW1vaHJAY29kZXdlYXZlcnMuY29tPgorCVByaW50IGFsbCBwcm9ibGVtcyBhcyBFUlIoKSBleGNlcHQgZm9yICJjb3VsZCBub3Qgb3BlbiIgbGlicmFyeSwgd2hpY2gKKwlpcyBXQVJOKCkuCisKKwkqIGRsbHMvZGRyYXcvZHN1cmZhY2UvbWFpbi5jOgorCU1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCUlEaXJlY3REcmF3U3VyZmFjZTo6Qmx0OjpTUkNDT1BZIGlzIHRoZSBkZWZhdWx0IFJPUCBvcGVyYXRpb24sIGRvIG5vdAorCXRocm93IGVycm9yLgorCisJKiB3aW5kb3dzL3gxMWRydi9jbGlwYm9hcmQuYywgd2luZG93cy94MTFkcnYvZXZlbnQuYywgd2luZG93cy94MTFkcnYva2V5Ym9hcmQuYywgd2luZG93cy94MTFkcnYvbW91c2UuYywgd2luZG93cy9kY2UuYywgd2luZG93cy9kZWZkbGcuYywgd2luZG93cy9kZWZ3bmQuYywgd2luZG93cy9kaWFsb2cuYywgd2luZG93cy9kcml2ZXIuYywgd2luZG93cy9mb2N1cy5jLCB3aW5kb3dzL2hvb2suYywgd2luZG93cy9pbnB1dC5jLCB3aW5kb3dzL2tleWJvYXJkLmMsIHdpbmRvd3MvbWRpLmMsIHdpbmRvd3MvbWVzc2FnZS5jLCB3aW5kb3dzL21zZ2JveC5jLCB3aW5kb3dzL211bHRpbW9uLmMsIHdpbmRvd3Mvbm9uY2xpZW50LmMsIHdpbmRvd3MvcGFpbnRpbmcuYywgd2luZG93cy9wcm9wZXJ0eS5jLCB3aW5kb3dzL3F1ZXVlLmMsIHdpbmRvd3MvcmVjdC5jLCB3aW5kb3dzL3Njcm9sbC5jLCB3aW5kb3dzL3N5c2NvbG9yLmMsIHdpbmRvd3Mvc3lzbWV0cmljcy5jLCB3aW5kb3dzL3N5c3BhcmFtcy5jLCB3aW5kb3dzL3RpbWVyLmMsIHdpbmRvd3MvdXNlci5jLCB3aW5kb3dzL3dpbi5jLCB3aW5kb3dzL3dpbmhlbHAuYywgd2luZG93cy93aW5wb3MuYywgd2luZG93cy93aW5wcm9jLmMsIHdpbmRvd3MvY2FyZXQuYywgd2luZG93cy9jbGFzcy5jLCB3aW5kb3dzL2NsaXBib2FyZC5jLCB3aW5kb3dzL2N1cnNvcmljb24uYzoKKwlQYXRyaWsgU3RyaWR2YWxsIDxwc0BsZWlzc25lci5zZT4KKwlWYXJpb3VzIGRvY3VtZW50YXRpb24gZml4ZXMuCisKKwkqIHdpbmRvd3Mvd2lucG9zLmM6CisJUmVtb3ZlZCB0aGUgZHVtbXkgbW91c2UgZXZlbnQgaW4gU2V0V2luZG93UG9zLgorCisJKiBkbGxzL2tlcm5lbC9rZXJuZWwzMi5zcGVjLCBkbGxzL3VzZXIvdXNlcjMyLnNwZWM6CisJRXJpYyBQb3VlY2ggPEVyaWMuUG91ZWNoQHdhbmFkb28uZnI+CisJQWRkZWQgc29tZSAxNiBiaXQgZW50cnkgcG9pbnRzIG5lZWRlZCBieSBtdWx0aW1lZGlhIERMTHMuCisKKwkqIHdpbmRvd3Mvd2luLmMsIHdpbmRvd3MveDExZHJ2L2V2ZW50LmMsIGluY2x1ZGUvZmlsZS5oLCBpbmNsdWRlL3dpbmUvd2luYmFzZTE2LmgsIGxvYWRlci9yZXNvdXJjZS5jLCBtZW1vcnkvZ2xvYmFsLmMsIG1lbW9yeS9sb2NhbC5jLCBvYmplY3RzL21ldGFmaWxlLmMsIGNvbnRyb2xzL2VkaXQuYywgZGxscy9rZXJuZWwvd293dGh1bmsuYywgZGxscy93aW5tbS9tbWlvLmMsIGZpbGVzL2ZpbGUuYywgZ3JhcGhpY3Mvd2luMTZkcnYvaW5pdC5jOgorCVJlcGxhY2VkIFdJTjE2X0dsb2JhbExvY2sxNiBieSAib2ZmaWNpYWwiIGZ1bmN0aW9uIEszMldPV0dsb2JhbExvY2sxNi4KKworCSogZ3JhcGhpY3MveDExZHJ2L2JpdGJsdC5jLCBncmFwaGljcy94MTFkcnYvZGliLmMsIGluY2x1ZGUveDExZHJ2Lmg6CisJT3ZlIEthYXZlbiA8b3Zla0B0cmFuc2dhbWluZy5jb20+CisJR2F2cmllbCBTdGF0ZSA8Z2F2QHRyYW5zZ2FtaW5nLmNvbT4KKwlNb3JlIERJQiBzZWN0aW9uIGNvcHktYmxpdHRpbmcgaW1wcm92ZW1lbnRzOiBIYW5kbGUgOGJwcCBESUJzLCBEQworCW1hcHBpbmcgbW9kZXMsIGFuZCBjbGlwcGluZy4gVGFrZSBhZHZhbnRhZ2Ugb2YgdGhlIERJQnNlY3Rpb24ncworCVhTaG1JbWFnZSBtZWNoYW5pc20gdG8gZ2V0IGEgcmVhbGx5IGZhc3QgYmxpdCB0byB0aGUgZGlzcGxheS4KKworMjAwMC0xMi0yMSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy91c2VyL3VzZXIuc3BlYzoKKwlQYXRyaWsgU3RyaWR2YWxsIDxwc0BsZWlzc25lci5zZT4KKwlGaXhlZCBzb21lIGlzc3VlcyBmb3VuZCBieSB3aW5hcGlfY2hlY2suCisKKwkqIHRvb2xzL3dpbmFwaV9jaGVjay93aW4xNi91c2VyLmFwaSwgdG9vbHMvd2luYXBpX2NoZWNrL3dpbjMyL3NobHdhcGkuYXBpLCB0b29scy93aW5hcGlfY2hlY2svd2luYXBpLnBtLCB0b29scy93aW5hcGlfY2hlY2svd2luYXBpX2NoZWNrLCB0b29scy93aW5hcGlfY2hlY2svd2luYXBpX2xvY2FsLnBtLCB0b29scy93aW5hcGlfY2hlY2svd2luYXBpX29wdGlvbnMucG06CisJUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJLSBNaW5vciBBUEkgZmlsZSB1cGRhdGUuCisJLSBNaW5vciBidWcgZml4ZXMuCisJLSBBZGRlZCBuZXcgb3B0aW9uIG9uIC0tZG9jdW1lbnRhdGlvbi1vcmRpbmFsIChvZmYgYnkgZGVmYXVsdCkuCisJLSBBZGRlZCBuZXcgb3B0aW9uIG9uIC0tZG9jdW1lbnRhdGlvbi1wZWRhbnRpYyAob2ZmIGJ5IGRlZmF1bHQpLgorCisJKiBkbGxzL3dpbm1tL3dpbmVvc3MvYXVkaW8uYywgZGxscy9kc291bmQvZHNvdW5kX21haW4uYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlIYW5kbGUgZXJyb3JzIGZvciBJRHNEcml2ZXJfR2V0UG9zaXRpb24uCisJUmVwb3J0IERTRVJSX1VOSU5JVElBTElaRUQgb24gbm9uLW9wZW5lZCBXaW5lT1NTIGF1ZGlvIGRldmljZS4KKworCSogZGxscy93aW5tbS9NYWtlZmlsZS5pbiwgZGxscy93aW5tbS9kcml2ZXIuYywgd2luZG93cy9kcml2ZXIuYzoKKwlFcmljIFBvdWVjaCA8RXJpYy5Qb3VlY2hAd2FuYWRvby5mcj4KKwlDbGVhbmVkIHVwIHRoZSBjb2RlIGEgYml0LgorCisJKiBkbGxzL3dpbm1tL3dpbmVvc3MvYXVkaW8uYzoKKwlPdmUgS2FhdmVuIDxvdmVrQHRyYW5zZ2FtaW5nLmNvbT4KKwlFbmFibGUgdGhlIERpcmVjdFNvdW5kIEhBTCBmb3Igc291bmQgZHJpdmVycyB0aGF0IGRvIG5vdCByZXBvcnQKKwlEU1BfQ0FQX1JFQUxUSU1FLiBTZXQgcHJlY2lzaW9uIG9mIHRoZXNlIHRvIDI1NiBieXRlcyAoYWJvdXQgM21zKS4KKworCSogZGxscy9vbGVhdXQzMi90eXBlbGliLmM6CisJRnJhbmNvaXMgSmFjcXVlcyA8ZnJhbmNvaXNqQG1hY2FkYW1pYW4uY29tPgorCS0gVExCX0RvRnVuY3M6IGNvZGUgY2xlYW51cCBhbmQgZWxlbWRlc2NGdW5jIHJlYWQgY29ycmVjdGx5IGZyb20gVExCLgorCS0gVExCX0xvYWRUeXBlTGliOiByZWYgY291bnQgcHJvYmxlbS4KKwktIElUeXBlTGliOjpHZXRUeXBlSW5mb09mR3VpZDogc2FmZXIgaW1wbGVtZW50YXRpb24gKHBvaW50ZXIgdGVzdGluZykuCisJLSBJVHlwZUluZm86OkdldFJlZlR5cGVPZkltcGxUeXBlOiBzYWZlciBpbXBsZW1lbnRhdGlvbiAocG9pbnRlciB0ZXN0aW5nKS4KKwktIElUeXBlSW5mbzI6OkdldERvY3VtZW50YXRpb25MIHJldHVybiBlcnJvcnMgaWYgU3lzQWxsb2NTdHJpbmcgZmFpbGVkLgorCS0gVExCIGxvYWRlciBmdW5jdGlvbnMgbm93IHRyYWNlIGluICJ0eXBlbGliIiBjaGFubmVsLgorCS0gSW1wcm92ZWQgdHJhY2VzIGluIEFkZFJlZi9SZWxlYXNlIGFuZCBpbXByb3ZlZCBkdW1wXyogZnVuY3Rpb25zIGZvcgorCSAgZGVidWdnaW5nLgorCisJKiBjb250cm9scy9lZGl0LmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlEb24ndCB3cml0ZSB0byBidWZmZXIgd2l0aCB6ZXJvIGxlbmd0aC4KKwlSZW1vdmVkIHNvbWUgdW51c2VkIGZ1bmN0aW9uIHBhcmFtZXRlcnMuCisKKwkqIGRsbHMvY3J0ZGxsL2NydGRsbF9tYWluLmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlEbyBub3QgZnJlZSB0aGUgbm90IG93bmVkIGVycm9yIHN0cmluZy4KKworCSogZGxscy9vbGVhdXQzMi9zYWZlYXJyYXkuYzoKKwlGcmFuY29pcyBKYWNxdWVzIDxmcmFuY29pc2pAbWFjYWRhbWlhbi5jb20+CisJVXBkYXRlZCBTYWZlQXJyYXlHZXRVQm91bmQgYW5kIFNhZmVBcnJheUdldExCb3VuZCB3aXRoIG1vcmUgc2FuaXR5CisJY2hlY2tzOiBhbiBhcnJheSBoYXMgYXQgbGVhc3Qgb25lIGRpbWVuc2lvbi4KKwlVcGRhdGVkIHZhbGlkQ29vcmRpbmF0ZXMsIHdoZXJlIFNhZmVBcnJheUdldExCb3VuZCB3YXMgY2FsbGVkIG9uCisJZGltZW5zaW9uIDAuCisKKwkqIGRsbHMvd2lubW0vbG9sdmxkcnYuYzoKKwlFcmljIFBvdWVjaCA8RXJpYy5Qb3VlY2hAd2FuYWRvby5mcj4KKwlSZXdyb3RlIHRoZSBhbGxvY2F0aW9uIG9mIE1NIGRyaXZlciBkZXNjcmlwdG9ycy4KKworCSogb2JqZWN0cy9lbmhtZXRhZmlsZS5jOgorCUVyaWMgS29obCA8ZWtvaGxAY29kZXdlYXZlcnMuY29tPgorCVVzZSBoYW5kbGUgdG8gcGFsZXR0ZSBpbnN0ZWFkIG9mIGluZGV4IGZvciBFTVJfU0VMRUNUUEFMRVRURS4KKwlJbXBsZW1lbnRlZCBzaW1wbGUgY2FzZSBmb3IgRU1SX0VYVFNFTEVDVENMSVBSR04uCisKKzIwMDAtMTItMjAgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvbnRkbGwvZGVidWd0b29scy5jOgorCUZpeGVkIGRlYnVnIHJvdXRpbmVzIHRvIHdvcmsgYmVmb3JlIHRoZSBwcm9jZXNzIGhlYXAgaXMgY3JlYXRlZC4KKworCSogbG9hZGVyL21vZHVsZS5jOgorCURvIG5vdCBjYWxsIHRocmVhZCBhdHRhY2gvZGV0YWNoIHJvdXRpbmVzIGR1cmluZyBwcm9jZXNzIGV4aXQgdG8gYXZvaWQKKwlwb3RlbnRpYWwgZGVhZGxvY2tzLgorCisJKiBncmFwaGljcy94MTFkcnYvZGliLmM6CisJR2VyYXJkIFBhdGVsIDxnZXJhcmQucGF0ZWxAYXNpLmZyPgorCVNldCB0aGUgY29sb3IgbWFzayB3aXRoIEJJX0JJVEZJRUxEIGRpYnMsIGRvbid0IHVzZSB0aGUKKwlhcHBsaWNhdGlvbi1wcm92aWRlZCB2YWx1ZS4KKworCSogbWVtb3J5L2dsb2JhbC5jLCBjb250cm9scy9lZGl0LmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlNYWtlIG5ldyBlZGl0IGNvbnRyb2wgYWxsb2NhdGUgaXRzIGJ1ZmZlcnMgd2l0aCBncmFudWxhcml0eSAzMiBieXRlLgorCUVuc3VyZSB0aGF0IGFsbCBjb3BpZWQgc3RyaW5ncyBhcmUgMCB0ZXJtaW5hdGVkLgorCisJKiB3aW5kb3dzL3NweS5jOgorCUd1eSBMLiBBbGJlcnRlbGxpIDxnYWxiZXJ0ZUBuZW8ubHJ1bi5jb20+CisJLSBwcmludCBvdXQgV01fTk9USUZZIG1lc3NhZ2UgY29kZSBpZiB3ZSBrbm93IGl0LgorCS0gcHJpbnQgb3V0IG1lbW9yeSBwYXN0IGVuZCBvZiBOTUhEUiBzdHJ1Y3R1cmUgZm9yIHRoZSBzaXplIG9mCisJICB0aGUgbm9ybWFsIE5NeHh4eHggc3RydWN0dXJlIGFzc29jaWF0ZWQgd2l0aCB0aGUgbWVzc2FnZSBjb2RlLgorCS0gc2V0dXAgbm90aWZ5IGNvZGUgdGFibGUgZm9yIGNvbW1vbiwgUkVCQVIsIFRPT0xCQVIsIGFuZCBDT01CT0VYIChhdAorCSAgbGVhc3QgcGFydGlhbGx5KS4KKworMjAwMC0xMi0xOSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogbWVtb3J5L2dsb2JhbC5jOiBTZXQgbGFzdCBlcnJvciBpbiBHbG9iYWxVbmxvY2suCisKKwkqIGRsbHMva2VybmVsL2NvbW0uYywgZGxscy9rZXJuZWwvZGVidWdnZXIuYywgZGxscy9rZXJuZWwvdGltZS5jOgorCUFuZHJldyBKb2huc3RvbiA8YWpvaG5zdG9uQHN3aXRjaC5jb20+CisJRG9jdW1lbnRhdGlvbiB1cGRhdGUuCisKKwkqIGRsbHMvdXNlci9leHRpY29uLmMsIGRsbHMvdmVyc2lvbi9yZXNvdXJjZS5jLCBpbmNsdWRlL3dpbm50LmgsIGxpYnJhcnkvbG9hZGVyLmMsIGxvYWRlci9wZV9yZXNvdXJjZS5jOgorCUZyYW7nb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJRFVNTVlTVFJVQ1ROQU1FMiBjcmVhdGVzIGEgY29uZmxpY3Qgd2hlbiB1c2luZyBhbm9ueW1vdXMgdW5pb24gbmFtZXMuCisKKwkqIGRvY3VtZW50YXRpb24vcHJpbnRpbmcuc2dtbDoKKwlTdGVmYW4gTGVpY2h0ZXIgPFN0ZWZhbi5MZWljaHRlckBjYW1saW5lLmNvbT4KKwlBZGRlZCBkZXNjcmlwdGlvbiBvZiBwcmludGVycG9ydHMgc2VjdGlvbiBvZiB0aGUgd2luLmluaSBmaWxlIGZvciB3aW5lcHMuZHJ2LgorCisJKiBpbmNsdWRlL3dpbmUvb2JqX2Nvbm5lY3Rpb24uaDoKKwlKYW1lcyBIYXRoZXdheSA8amFtZXNAbWFjYWRhbWlhbi5jb20+CisJRml4IElDb25uZWN0aW9uUG9pbnRDb250YWluZXIgaW50ZXJmYWNlIG1hY3Jvcy4KKworCSogZGxscy9vbGVhdXQzMi9NYWtlZmlsZS5pbiwgZGxscy9vbGVhdXQzMi9kaXNwYXRjaC5jLCBkbGxzL29sZWF1dDMyL29sZWF1dDMyLnNwZWM6CisJRnJhbmNvaXMgSmFjcXVlcyA8ZnJhbmNvaXNqQG1hY2FkYW1pYW4uY29tPgorCUltcGxlbWVudGF0aW9uIG9mIERpc3BhdGNoIEFQSS4KKworCSogZGxscy9jcnRkbGwvY29uc29sZS5jLCBkbGxzL2NydGRsbC9jcnRkbGwuaCwgZGxscy9jcnRkbGwvY3J0ZGxsLnNwZWMsIGRsbHMvY3J0ZGxsL2NydGRsbF9tYWluLmMsIGRsbHMvY3J0ZGxsL2Rpci5jLCBkbGxzL2NydGRsbC9leGl0LmMsIGRsbHMvY3J0ZGxsL2ZpbGUuYywgZGxscy9jcnRkbGwvbG9jYWxlLmMsIGRsbHMvY3J0ZGxsL21ic3RyaW5nLmMsIHRvb2xzL3dpbmFwaV9jaGVjay93aW4zMi9jcnRkbGwuYXBpOgorCUpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJLSBBZGQgc2V2ZXJhbCBtYmNzIGFuZCBDUCA5MzIgZnVuY3Rpb25zLCBmaXggc29tZSBleGlzdGluZyBjYWxscworCS0gQnVnIGZpeGVzLCAtVyB3YXJuaW5ncyBhbmQgd2luYXBpX2NoZWNrIHVwZGF0ZXMuCisJLSBEb24ndCBiZSBzbyBzdHJpY3Qgc2V0dGluZyBkZWZhdWx0IGxvY2FsZSwgc3RvcmUgY29kZXBhZ2UKKworCSogbGlicmFyeS9wb3J0LmM6CisJSW5jbHVkZSBzdGRsaWIuaCBpbnN0ZWFkIG9mIHdjaGFyLmguCisKKwkqIGRsbHMvc2hsd2FwaS9vcmRpbmFsLmMsIGRsbHMvc2hsd2FwaS9zaGx3YXBpLnNwZWM6CisJTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJc2hsd2FwaSBmb3J3YXJkZXJzIGZvciBTZXRXaW5kb3dMb25nVyBhbmQgQ2FsbFdpbmRvd1Byb2NXLgorCisJKiBkbGxzL3VzZXIvdXNlcjMyLnNwZWM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlOZXcgdW5pY29kZSBlZGl0IGNvbnRyb2wuCisKKwkqIGZpbGVzL3Byb2ZpbGUuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCVByb3RlY3QgYWdhaW5zdCBOVUxMIGJ1ZmZlciBpbiB0aGUgcHJvZmlsZSBmdW5jdGlvbnMuCisKKwkqIGNvbnRyb2xzL2VkaXQuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCU5ldyB1bmljb2RlIGVkaXQgY29udHJvbC4KKworCSogb2xlL29sZTJubHMuYywgdG9vbHMvYmluMnJlcy5jLCB0b29scy93cmMvZ2VucmVzLmMsIHRvb2xzL3dyYy9wYXJzZXIueSwgd2luZG93cy9jbGlwYm9hcmQuYywgd2luZG93cy9kaWFsb2cuYywgd2luZG93cy9ob29rLmMsIHdpbmRvd3MvaW5wdXQuYywgd2luZG93cy9rZXlib2FyZC5jLCB3aW5kb3dzL21kaS5jLCBkbGxzL3dpbm1tL21jaWFuaW0vbWNpYW5pbS5jLCBkbGxzL3dpbm1tL21jaWF2aS9tY2lhdmkuYywgZGxscy93aW5tbS9tY2ljZGEvbWNpY2RhLmMsIGRsbHMvd2lubW0vbWNpc2VxL21jaW1pZGkuYywgZGxscy93aW5tbS9tY2l3YXZlL21jaXdhdmUuYywgZGxscy93aW5tbS9taWRpbWFwL21pZGltYXAuYywgZGxscy93aW5tbS93YXZlbWFwL3dhdmVtYXAuYywgZGxscy93aW5tbS93aW5lb3NzL21pZGkuYywgZGxscy93aW5tbS93aW5lb3NzL29zcy5jLCBpbmNsdWRlL3dpbi5oLCBpbmNsdWRlL3dpbnBvcy5oLCBtaXNjL3R3ZWFrLmMsIG1zZG9zL2ludDA5LmMsIG1zZG9zL2ludDMzLmMsIGNvbnRyb2xzL2ljb250aXRsZS5jLCBkbGxzL2NvbW1kbGcvZmlsZWRsZ2Jyb3dzZXIuYywgZGxscy9kc291bmQvZHNvdW5kX21haW4uYywgZGxscy9tc3ZpZGVvL2RyYXdkaWIuYywgZGxscy9vbGUzMi9jbGlwYm9hcmQuYywgZGxscy9vbGUzMi9vbGUybmxzLmMsIGRsbHMvb2xlYXV0MzIvb2xlMmRpc3AuYywgZGxscy9vbGVhdXQzMi9vbGVhdXQuYywgZGxscy9vbGVhdXQzMi9zdHVicy5jLCBkbGxzL3JpY2hlZGl0L3J0Zi5oLCBkbGxzL3VzZXIvdXNlcl9tYWluLmMsIGRsbHMvd2lubW0vam95c3RpY2svam95c3RpY2suYywgZGxscy93aW5tbS90aW1lLmM6CisJRnJhbudvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwl3aW51c2VyLmggbm93IHJlcXVpcmVzIHRoYXQgd2UgaW5jbHVkZSB3aW5iYXNlLmggZmlyc3QuCisKKwkqIGluY2x1ZGUvd2ludXNlci5oOgorCUZyYW7nb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJQWRkZWQgQ3JlYXRlV2luZG93U3RhdGlvbi4KKworCSogaW5jbHVkZS93aW5kb3dzLmg6CisJRnJhbudvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlSZW1vdmVkIHRoZSAnZXh0ZXJuICJDIiB7IC4uLiB9JyBzdGF0ZW1lbnQuIEl0IGlzIG5vdCBzdXBwb3NlZCB0byBiZQorCXRoZXJlLgorCisJKiBpbmNsdWRlL3dpbmRlZi5oOgorCUZyYW7nb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJTW92ZWQgYSBtaXNwbGFjZWQgJ2V4dGVybiAiQyIgeyAuLi4gfScgc3RhdGVtZW50LgorCisJKiBsaWJyYXJ5L3BvcnQuYywgaW5jbHVkZS90Y2hhci5oLCBpbmNsdWRlL3dpbm50LmgsIGluY2x1ZGUvd3R5cGVzLmg6CisJRnJhbudvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGRlZCBiZXR0ZXIgc3VwcG9ydCBmb3IgVW5pY29kZToKKwlBZGRlZCBzdXBwb3J0IGZvciAxNi1iaXQgd2NoYXJfdAorCUFkZGVkIHN1cHBvcnQgZm9yIHJld3JpdGluZyA0LWJ5dGUgVW5pY29kZSBsaXRlcmFscyB0byAxNmJpdCBVbmljb2RlCisKKwkqIGRsbHMvdXNlci9leHRpY29uLmMsIGRsbHMvdmVyc2lvbi9yZXNvdXJjZS5jLCBpbmNsdWRlL2FjY29uZmlnLmgsIGluY2x1ZGUvY29uZmlnLmguaW4sIGluY2x1ZGUvd2lubnQuaCwgbG9hZGVyL3BlX3Jlc291cmNlLmMsIGNvbmZpZ3VyZSwgY29uZmlndXJlLmluOgorCVVscmljaCBXZWlnYW5kIDx3ZWlnYW5kQGltbWQxLmluZm9ybWF0aWsudW5pLWVybGFuZ2VuLmRlPgorCUZpeGVkIElNQUdFX1JFU09VUkNFX0RJUkVDVE9SWV9FTlRSWSBvbiBiaWctZW5kaWFuIG1hY2hpbmVzLgorCisJKiBkbGxzL29sZTMyL29sZTIuYywgZGxscy9vbGUzMi9vbGUzMi5zcGVjOgorCUdlcmFyZCBQYXRlbCA8Z2VyYXJkLnBhdGVsQGFzaS5mcj4KKwlTdHViIGZvciBEbGxEZWJ1Z09iamVjdFJQQ0hvb2suCisKKwkqIGRsbHMvb2xlYXV0MzIvdHlwZWxpYi5jOgorCUdlcmFyZCBQYXRlbCA8Z2VyYXJkLnBhdGVsQGFzaS5mcj4KKwlNaXNjIGZpeGVzIGZvciBRdWVyeVBhdGhPZlJlZ1R5cGVMaWIsIFRMQl9SZWFkVHlwZUxpYiwKKwlJVHlwZUluZm9fZm5HZXRDb250YWluaW5nVHlwZUxpYi4KKworCSogZGxscy9jb21jdGwzMi90b29sdGlwcy5jOgorCUdlcmFyZCBQYXRlbCA8Z2VyYXJkLnBhdGVsQGFzaS5mcj4KKwlEbyBub3Qgc2VuZCBhIFdNX05PVElGWUZPUk1BVCB0byBhIG5vbi1leGlzdGVudCBvd25lci4KKworCSogc2VydmVyL2F0b20uYywgc2VydmVyL2NoYW5nZS5jLCBzZXJ2ZXIvY29uc29sZS5jLCBzZXJ2ZXIvZGVidWdnZXIuYywgc2VydmVyL2RldmljZS5jLCBzZXJ2ZXIvZXZlbnQuYywgc2VydmVyL2ZpbGUuYywgc2VydmVyL2hhbmRsZS5jLCBzZXJ2ZXIvbWFwcGluZy5jLCBzZXJ2ZXIvbXV0ZXguYywgc2VydmVyL29iamVjdC5jLCBzZXJ2ZXIvb2JqZWN0LmgsIHNlcnZlci9waXBlLmMsIHNlcnZlci9wcm9jZXNzLmMsIHNlcnZlci9xdWV1ZS5jLCBzZXJ2ZXIvcmVnaXN0cnkuYywgc2VydmVyL3JlcXVlc3QuYywgc2VydmVyL3JlcXVlc3QuaCwgc2VydmVyL3NlbWFwaG9yZS5jLCBzZXJ2ZXIvc2VyaWFsLmMsIHNlcnZlci9zbmFwc2hvdC5jLCBzZXJ2ZXIvc29jay5jLCBzZXJ2ZXIvdGhyZWFkLmMsIHNlcnZlci90aW1lci5jLCBzZXJ2ZXIvdHJhY2UuYywgZmlsZXMvZmlsZS5jLCBpbmNsdWRlL3NlcnZlci5oLCBzY2hlZHVsZXIvcHJvY2Vzcy5jLCBzZXJ2ZXIvYXN5bmMuYzoKKwlNZXJnZWQgdGhlIGdldF9yZWFkX2ZkIGFuZCBnZXRfd3JpdGVfZmQgcmVxdWVzdHMuCisKKwkqIGRsbHMvZGlucHV0L21vdXNlL21haW4uYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlJbXBsZW1lbnRlZCBESUdERF9QRUVLIGZvciBTeXNNb3VzZUE6OkdldERldmljZURhdGEuCisKKwkqIGluY2x1ZGUvdGNoYXIuaDoKKwlGcmFu529pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCV9zdHJ7ZGVjLGluY306IENhc3QgdGhlIHBhcmFtZXRlcnMgdG8gdGhlIHByb3BlciB0eXBlIGZpcnN0CisJQWRkZWQgZGVmaW5pdGlvbnMgZm9yIF90ZmluZGRhdGEqCisKKwkqIGluY2x1ZGUvb2JqYmFzZS5oLCBpbmNsdWRlL3dpbm50Lmg6CisJRnJhbudvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlNb3ZlZCBzb21lIG9mIHRoZSBTVERNRVRIT0QvU1REQVBJIHRvIHdpbm50LmguCisJTW92ZWQgdGhlIEVYVEVSTl9DIG1hY3JvIHRvIHdpbm50LmguCisJQWRkZWQgYSAnI2lmbmRlZiBfX1dJTkVfXycgYXJvdW5kIHRoZSByZW1haW5pbmcgbWFjcm9zLgorCisJKiBpbmNsdWRlL3d0eXBlcy5oOgorCUZyYW7nb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJUmVtb3ZlZCBzb21lIG9mIHRoZSBTRUNVUklUWV94eHggdHlwZXMuCisKKwkqIGluY2x1ZGUvd2ludXNlci5oOgorCUZyYW7nb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJQWRkZWQgU2V0VXNlck9iamVjdFNlY3VyaXR5LgorCisJKiBpbmNsdWRlL2NvbW1jdHJsLmg6CisJR3V5IEwuIEFsYmVydGVsbGkgPGdhbGJlcnRlQG5lby5scnVuLmNvbT4KKwlBZGQgbm90aWZ5IHN0cnVjdHVyZXMgTk1NT1VTRSwgTk1PQkpFQ1ROT1RJRlksIE5NS0VZLCBhbmQgTk1DSEFSLgorCisyMDAwLTEyLTE4ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2ltbTMyL01ha2VmaWxlLmluLCBkbGxzL2ltbTMyL2ltYy5jLCBkbGxzL2ltbTMyL2ltZWtsLmMsIGRsbHMvaW1tMzIvaW1ld25kLmMsIGRsbHMvaW1tMzIvaW1tLmMsIGRsbHMvaW1tMzIvaW1tMzIuc3BlYywgZGxscy9pbW0zMi9pbW1fcHJpdmF0ZS5oLCBkbGxzL2ltbTMyL21haW4uYzoKKwlIaWRlbm9yaSBUYWtlc2hpbWEgPGhpZGVub3JpQGEyLmN0a3R2Lm5lLmpwPgorCUltcGxlbWVudGVkIGtleWJvYXJkIGxheW91dCBhbmQgY29udGV4dCAgLSBmYXIgZnJvbSBjb21wbGV0ZS4KKworCSogbGlicmFyeS9wb3J0LmM6CisJTW9ydGVuIFdlbGluZGVyIDx0ZXJyYS13aW5lQGRpa3UuZGs+CisJKHN0cmNhc2VjbXApOiBDb25mb3JtIHRvIEFOU0kgc3BlY3MgZm9yIHRvdXBwZXIuCisJKHN0cm5jYXNlY21wKTogRGl0dG8uICBBbHNvIGRvIG5vdCB1c2Ugc2lkZS1lZmZlY3RzIGluIG1hY3JvIGFyZ3MuCisJKHdpbmVfb3BlbnB0eSk6IFBsdWcgZGVzY3JpcHRvciBsZWFrLiAgQWx3YXlzIHNldCBlcnJubyBvbiBmYWlsdXJlLgorCSh3aW5lX2Fub25fbW1hcCk6IEZpeCBjb21tZW50IGxvY2F0aW9uLgorCisJKiBtaXNjL29wdGlvbnMuYzoKKwlNb3J0ZW4gV2VsaW5kZXIgPHRlcnJhLXdpbmVAZGlrdS5kaz4KKwkocGFyc2Vfb3B0aW9ucyk6IEFsbG93IEdOVS1saWtlIG9wdGlvbiBhcmd1bWVudHMgbGlrZQorCSItLWRlc2t0b3A9ODAweDYwMCIuICAoTm90IHBlcmZlY3QgLS0gd2UgZG9uJ3QgYWxsb3cgc2hvcnRoYW5kcy4pCisKKwkqIHRvb2xzL3dpbmVidWlsZC9pbXBvcnQuYywgY29uZmlndXJlLCBjb25maWd1cmUuaW46CisJUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJU29sYXJpcyBmaXhlcy4KKworCSogZGxscy9jb21jdGwzMi9yZWJhci5jOgorCUd1eSBMLiBBbGJlcnRlbGxpIDxnYWxiZXJ0ZUBuZW8ubHJ1bi5jb20+CisJLSBJbXBsZW1lbnQgZHJhZyBmb3IgdmVydGljYWwgcmViYXJzIChkcmFnIHVwIGFuZCBkb3duKS4KKwktIEJldHRlciBhbGdvcml0aGltcyBmb3IgaW5zZXJ0aW5nIG5ldyBiYW5kcyAtIG1hdGNoZXMgbmF0aXZlIHZlcnNpb24KKwkgIGNsb3Nlci4KKwktIE1ha2UgZHJhd2luZyBvZiByZWJhciBhdHRlbXB0IHRvIG1hdGNoIG5hdGl2ZSBwaXhlbCBieSBwaXhlbCAobm90ZQorCSAgdGhpcyBkb2VzIG5vdCBmaXggdGhlIGVtYmVkZGVkIGNvbnRyb2xzIGluIGVhY2ggYmFuZCAtIHRoZXkgc3RpbGwgYXJlCisJICBhcyBnb29kIG9yIGJhZCBhcyBiZWZvcmUuKQorCS0gSW1wbGVtZW50IHNvbWUgb2YgdGhlIG5vdGlmaWNhdGlvbnMgKFJCTl9IRUlHSFRDSEFOR0UsIF9DSElMRFNJWkUsCisJICBfREVMRVRJTkdCQU5ELCBfREVMRVRFREJBTkQpLgorCisJKiBkbGxzL2NvbWN0bDMyL2NvbWJvZXguYzoKKwlHdXkgTC4gQWxiZXJ0ZWxsaSA8Z2FsYmVydGVAbmVvLmxydW4uY29tPgorCVBhc3MgV01fQ09NTUFORCBhbmQgV01fTk9USUZZIHRvIHBhcmVudCBhcyByZWNlaXZlZC4KKworCSogZGxscy9jb21tZGxnL2ZpbGVkbGc5NS5jLCBkbGxzL2NvbW1kbGcvZmlsZWRsZ2Jyb3dzZXIuYzoKKwlHZXJhcmQgUGF0ZWwgPGdlcmFyZC5wYXRlbEBhc2kuZnI+CisJQ2hhbmdlIHRoZSBjdXJyZW50IGRpcmVjdG9yeSBhcyB0aGUgdXNlciBicm93c2VzIHRoZSBkaXJlY3RvcnkgdHJlZS4KKworCSogZGxscy9jcnRkbGwvZmlsZS5jOgorCURhdmlkIEVsbGlvdHQgPGRmZUBpbmZpbml0ZS1pbnRlcm5ldC5uZXQ+CisJQ2hhbmdlZCB0eXBvIHZhX2xpc3QgdG8gdmFsaXN0LgorCisJKiB3aW5kb3dzL2RpYWxvZy5jOgorCUdlcmFyZCBQYXRlbCA8Z2VyYXJkLnBhdGVsQGFzaS5mcj4KKwlBbGxvdyBmb3IgdGhlIGRpYWxvZyBmb250IHNpemUgdG8gYmUgc2V0IGRpcmVjdGx5IGluIHBpeGVscy4KKworCSogd2luZG93cy93aW5wb3MuYzoKKwlHZXJhcmQgUGF0ZWwgPGdlcmFyZC5wYXRlbEBhc2kuZnI+CisJV01fR0VUTUlOTUFYSU5GTyB0cmFjayBtaW4gc2l6ZSBzaG91bGQgYmUgdXNlZCBpbiBTZXRXaW5kb3dQb3MgYWxzbworCWZvciAzMiBiaXRzIGFwcHMuCisKKwkqIGRsbHMvbXN2aWRlby9tc3ZpZGVvX21haW4uYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlNYXBwaW5nIGZvciBJQ01fU0VUU1RBVEUgKHB0ciBpbiBsUGFyYW0xIHRvIHByaXZhdGUgZGF0YSkuCisKKzIwMDAtMTItMTYgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvc2hlbGwzMi9zaGVsbHBhdGguYywgbWVtb3J5L2Vudmlyb24uYywgZGxscy9zZXR1cGFwaS9kZXZpbnN0LmMsIGRsbHMvc2V0dXBhcGkvc2V0dXB4X21haW4uYzoKKwlQYXRyaWsgU3RyaWR2YWxsIDxwc0BsZWlzc25lci5zZT4KKwlGaXhlZCBzb21lIGlzc3VlcyBmb3VuZCBieSB3aW5hcGlfY2hlY2suCisKKwkqIHRvb2xzL3dpbmFwaV9jaGVjay93aW4xNi9zZXR1cHguYXBpLCB0b29scy93aW5hcGlfY2hlY2svd2luMzIvY3J0ZGxsLmFwaSwgdG9vbHMvd2luYXBpX2NoZWNrL3dpbjMyL2ltbTMyLmFwaSwgdG9vbHMvd2luYXBpX2NoZWNrL3dpbjMyL250ZGxsLmFwaSwgdG9vbHMvd2luYXBpX2NoZWNrL21vZHVsZXMuZGF0LCB0b29scy93aW5hcGlfY2hlY2svd2luMTYvb2xlY2xpLmFwaSwgdG9vbHMvd2luYXBpX2NoZWNrL3dpbmFwaV9jaGVjaywgdG9vbHMvd2luYXBpX2NoZWNrL3dpbmFwaV9vcHRpb25zLnBtOgorCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCS0gTWlub3IgQVBJIGZpbGUgdXBkYXRlLgorCS0gVHVybmVkIG9uIC0tZG9jdW1lbnRhdGlvbi1hcmd1bWVudHMgYnkgZGVmYXVsdC4KKworCSogZGxscy9jcnRkbGwvZGlyLmMsIGRsbHMvY3J0ZGxsL2ZpbGUuYywgZGxscy9jcnRkbGwvbG9jYWxlLmMsIGRsbHMvY3J0ZGxsL3NwYXduLmMsIGRsbHMvY3J0ZGxsL2NydGRsbF9tYWluLmMsIGRsbHMvY3J0ZGxsL2NvbnNvbGUuYywgZGxscy9jcnRkbGwvY3J0ZGxsLmgsIGRsbHMvY3J0ZGxsL2NydGRsbC5zcGVjOgorCUpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJLSBGaXggX2Z1bGxwYXRoICYgc3BsaXRwYXRoLCB3aW5hcGlfY2hlY2sgZml4ZXMKKwktIEFkZCBjcHJpbnRmLGNzY2FuZixfZmdldHdjaGFyLF9mZ2V0d2MsX2ZwdXR3Y2hhcixfZnB1dHdjLAorCSAgX3d0b2kgJiBfd3RvbCAoZndkKSxzY2FuZixfdGltZXpvbmVfZGxsCisKKwkqIHdpbmRvd3MveDExZHJ2L2V2ZW50LmMsIGRsbHMvZGlucHV0L21vdXNlL21haW4uYywgaW5jbHVkZS9pbnB1dC5oLCB3aW5kb3dzL2N1cnNvcmljb24uYywgd2luZG93cy9pbnB1dC5jLCB3aW5kb3dzL3dpbnBvcy5jOgorCUF2b2lkIGEgY291cGxlIG9mIGRlcGVuZGVuY2llcyBvbiBpbnB1dC5jIGludGVybmFsIHZhcmlhYmxlcy4KKworCSogZGxscy9jcnRkbGwvZmlsZS5jOgorCUZpeGVkIGluZmluaXRlIGxvb3AgaW4gQ1JURExMX19mY2xvc2VhbGwuCisKKwkqIGRsbHMvaW1tMzIvTWFrZWZpbGUuaW4sIGRsbHMvaW1tMzIvaW1ld25kLmMsIGRsbHMvaW1tMzIvaW1tLmMsIGRsbHMvaW1tMzIvaW1tX3ByaXZhdGUuaCwgZGxscy9pbW0zMi9tYWluLmM6CisJSGlkZW5vcmkgVGFrZXNoaW1hIDxoaWRlbm9yaUBhMi5jdGt0di5uZS5qcD4KKwlJbXBsZW1lbnRlZCBzb21lIEFQSXMgYW5kIElNRSBjbGFzcyAtIGZhciBmcm9tIGNvbXBsZXRlLgorCisJKiBkbGxzL2RkcmF3L21haW4uYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlDaGVjayBmb3IgTlVMTCBiZWZvcmUgZG9pbmcgSXNFcXVhbEdVSUQoKS4KKworCSogZGxscy93aW5tbS9tY2kuYzoKKwlFcmljIFBvdWVjaCA8RXJpYy5Qb3VlY2hAd2FuYWRvby5mcj4KKwlGaXhlZCBsb2FkaW5nIG9mIDE2IGJpdCBNQ0kgZHJpdmVycyAoZm9yIGNvbW1hbmQgdGFibGVzKS4KKwlGaXhlZCBhbGlhcyBoYW5kbGluZyBpbiBtY2lTZW5kU3RyaW5nLgorCisJKiBkbGxzL3NldHVwYXBpL3NldHVweC5zcGVjLCBkbGxzL3NldHVwYXBpL3NldHVweF9tYWluLmM6CisJQW5kcmVhcyBNb2hyIDxhbW9ockBjb2Rld2VhdmVycy5jb20+CisJLSBkb24ndCBpbml0aWFsaXplIHdpdGggcEZpcnN0TEREIGlmIHBGaXJzdExERCBpc24ndCBpbml0aWFsaXplZCB5ZXQgZWl0aGVyCisJLSBjb3JyZWN0ZWQgVmNwQ2xvc2UgLnNwZWMKKworMjAwMC0xMi0xNSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogdG9vbHMvd2luZWJ1aWxkL2J1aWxkLmgsIHRvb2xzL3dpbmVidWlsZC9pbXBvcnQuYywgdG9vbHMvd2luZWJ1aWxkL21haW4uYywgdG9vbHMvd2luZWJ1aWxkL3BhcnNlci5jLCB0b29scy93aW5lYnVpbGQvc3BlYzE2LmMsIHRvb2xzL3dpbmVidWlsZC9zcGVjMzIuYzoKKwlBbGxvY2F0ZSBlbnRyeSBwb2ludHMgZHluYW1pY2FsbHkgdG8gYWxsb3cgZm9yIGEgbGFyZ2VyIG51bWJlciBvZgorCW9yZGluYWxzLgorCisJKiBkbGxzL01ha2VmaWxlLmluLCBkbGxzL2ltbTMyL01ha2VmaWxlLmluLCBkbGxzL2ltbTMyL2ltbS5jLCBkbGxzL2ltbTMyL2ltbTMyLnNwZWMsIGRsbHMvaW1tMzIvaW1tX3ByaXZhdGUuaCwgZGxscy9pbW0zMi9pbW1kZGsuaCwgZGxscy9pbW0zMi9tYWluLmMsIGRsbHMvaW1tMzIvbWVtb3J5LmMsIGRsbHMvaW1tMzIvc3RyaW5nLmM6CisJSGlkZW5vcmkgVGFrZXNoaW1hIDxoaWRlbm9yaUBhMi5jdGt0di5uZS5qcD4KKwlJbXBsZW1lbnRlZCBzb21lIERESyBBUElzIC0gZmFyIGZyb20gY29tcGxldGUuCisKKwkqIE1ha2VmaWxlLmluOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJQ3JlYXRlIGEgc3ltYm9saWMgbGluayB0byBvbGUvbGlidXVpZC5hLgorCisJKiB0b29scy93aW5lbWFrZXI6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBbHdheXMgbGluayB3aXRoIHV1aWQuCisKKwkqIGNvbnRyb2xzL2xpc3Rib3guYzoKKwlVbHJpY2ggQ3pla2FsbGEgPHVscmljaGNAY29kZXdlYXZlcnMuY29tPgorCU9ubHkgY2FwdHVyZSBtb3VzZSB3aGVuIGFuIGl0ZW0gaXMgc2VsZWN0ZWQuCisKKwkqIGluY2x1ZGUvbnRkZWYuaCwgaW5jbHVkZS93aW5kZWYuaCwgaW5jbHVkZS93aW5udC5oOgorCUZyYW7nb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJTW92ZWQgc29tZSBtYWNyb3MgbGlrZSBOVUxMLCBGQUxTRSB0byB3aW5udC5oCisJTW92ZWQgdGhlIGFub255bW91cyBzdHJ1Y3QvdW5pb25zIHRvIHdpbm50LmgKKwlNb3ZlZCBjYWxsaW5nIGNvbnZlbnRpb24gbWFjcm9zIHRvIHdpbm50LmgKKwlNb3ZlZCBzb21lIGJhc2ljIHR5cGVzIGxpa2UgQk9PTCwgSU5ULCBMT05HLCBldGMuIHRvIHdpbm50LmgKKwlNb3ZlZCBIQU5ETEUgYW5kIERFQ0xBUkVfSEFORExFIHRvIHdpbm50LmgKKwlNb3ZlZCBzdHJ1Y3R1cmUgcGFja2luZyBtYWNyb3MgdG8gd2lubnQuaAorCisJKiBpbmNsdWRlL2RkcmF3LmgsIGluY2x1ZGUvd2luYmFzZS5oLCBzZXJ2ZXIvc25hcHNob3QuYzoKKwlGcmFu529pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCU5lZWRzIHRvIGluY2x1ZGUgd2luZGVmLmguCisKKwkqIGluY2x1ZGUvb2xlMi5oOgorCUZyYW7nb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJQWRkZWQgT2xlSXNDdXJyZW50Q2xpcGJvYXJkIGFuZCBPbGVTZXRDbGlwYm9hcmQuCisKKwkqIGluY2x1ZGUvb2JqYmFzZS5oOgorCUZyYW7nb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJRml4ZWQgdGhlIHByb3RvdHlwZSBvZiBHZXRDbGFzc0ZpbGUuCisKKwkqIHdpbmRvd3Mvd2luLmM6CisJR2VyYXJkIFBhdGVsIDxnZXJhcmQucGF0ZWxAYXNpLmZyPgorCURvbid0IHJldHVybiBsYXN0IGFjdGl2ZSBwb3B1cCBpZiBpdCBpcyBwb2ludGluZyB0byBhIGRlbGV0ZWQgd2luZG93LgorCisJKiBkb2N1bWVudGF0aW9uL3dpbmUubWFuLmluLCBtaXNjL29wdGlvbnMuYzoKKwlBbmRyZWFzIE1vaHIgPGFtb2hyQGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbXByb3ZlZCB1c2FnZSBtZXNzYWdlLgorCisJKiBkbGxzL2FkdmFwaTMyL3JlZ2lzdHJ5LmMsIGRsbHMvbnRkbGwvcmVnLmMsIGluY2x1ZGUvc2VydmVyLmgsIG1lbW9yeS9yZWdpc3RyeS5jLCBzZXJ2ZXIvcmVnaXN0cnkuYywgc2VydmVyL3JlcXVlc3QuYywgc2VydmVyL3JlcXVlc3QuaCwgc2VydmVyL3RyYWNlLmM6CisJQ29udmVydGVkIGVudW1fa2V5X3ZhbHVlIHJlcXVlc3QgdG8gdGhlIG5ldyByZXF1ZXN0IG1lY2hhbmlzbS4KKworCSogbWlzYy9jZHJvbS5jOgorCUh1dyBEIE0gRGF2aWVzIDxoZGF2aWVzQGNvZGV3ZWF2ZXJzLmNvbT4KKwlTdGF0dXMgb2YgQ0RST01fQVVESU9fSU5WQUxJRCBzZWVtcyB0byBtZWFuIHRoZSBkaXNrIGlzIHN0b3BwZWQuCisKKwkqIGRsbHMvY29tY3RsMzIvdGFiLmM6CisJQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXhlZCBzb21lIGRpZmZpY3VsdGllcyB3aXRoIHRoZSBmb250IG9uIHZlcnRpY2FsIHRhYnMuIEFsc28gcGx1Z2dlZCBhCisJcmVzb3VyY2UgbGVhay4KKworCSogZGxscy9jb21jdGwzMi9oZWFkZXIuYzoKKwlVbHJpY2ggQ3pla2FsbGEgPHVscmljaGNAY29kZXdlYXZlcnMuY29tPgorCU1hcmsgd2lkdGggYXMgdmFsaWQgd2hlbiB3ZSBzZW5kIEhETl9FTkRUUkFDS0EuCisKKwkqIGRsbHMvb2xlMzIvb2xlMi5jOgorCUh1dyBEIE0gRGF2aWVzIDxoZGF2aWVzQGNvZGV3ZWF2d2Vycy5jb20+CisJQ2hlY2sgdG8gc2VlIHdoZXRoZXIgYW55IGFuY2VzdG9yIHdpbmRvd3MgYXJlIGRyb3AgdGFyZ2V0cy4KKworCSogZmlsZXMvZG9zX2ZzLmM6CisJSHV3IEQgTSBEYXZpZXMgPGguZGF2aWVzMUBwaHlzaWNzLm94LmFjLnVrPgorCVNwZWxsaW5nIGZpeC4KKworCSogaW5jbHVkZS93aW5udC5oLCBsb2FkZXIvcGVfaW1hZ2UuYzoKKwlGcmFu529pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCUNoYW5nZWQgdGhlIHR5cGUgb2YgRnVuY3Rpb24gdG8gUERXT1JEIGFzIG9uIFdpbmRvd3MuCisKKwkqIGRsbHMvZHBsYXl4L2RwbGF5c3AuaDoKKwlGcmFu529pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCVJlbW92ZWQgdGhlIGRlY2xzcGVjIHNwZWNpZmllci4KKworCSogZGxscy9udGRsbC9udGRsbC5zcGVjLCBtaXNjL29wdGlvbnMuYywgbWlzY2VtdS9tYWluLmMsIG1pc2NlbXUvd2luZS5zcGVjLCB0b29scy93aW5lYnVpbGQvUkVBRE1FLCB0b29scy93aW5lYnVpbGQvYnVpbGQuaCwgdG9vbHMvd2luZWJ1aWxkL2ltcG9ydC5jLCB0b29scy93aW5lYnVpbGQvcGFyc2VyLmMsIHRvb2xzL3dpbmVidWlsZC9zcGVjMzIuYzoKKwlBZGRlZCBzdXBwb3J0IGZvciBVbmljb2RlIGFwcGxpY2F0aW9ucyBpbiB3aW5lYnVpbGQuCisJUmVtb3ZlZCBjdWlleGVfbm9fbWFpbiBoYWNrLgorCUF2b2lkIHN0ZGNhbGwgZnVuY3Rpb24gZGVjbGFyYXRpb25zIGluc2lkZSBmdW5jdGlvbnMgYmVjYXVzZSBvZiBnY2MgYnVnLgorCisJKiBtaXNjL3JlZ2lzdHJ5LmM6CisJTWFydGluIFBpbGthIDxtcGlsa2FAY29kZXdlYXZlcnMuY29tPgorCS0gcmVnaXN0cnkgbG9hZGluZyBzcGVlZCB1cCAocmVkdWNlZCBjbGllbnQgPC0+IHNlcnZlciBjb21tdW5pY2F0aW9uKQorCS0gbWFrZSB0aGUgY29kZSBhIGJpdCBtb3JlIHVuZGVyc3RhbmRhYmxlCisKKzIwMDAtMTItMTQgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIHRvb2xzL3dpbmVidWlsZC9idWlsZC5oLCB0b29scy93aW5lYnVpbGQvaW1wb3J0LmMsIHRvb2xzL3dpbmVidWlsZC9wYXJzZXIuYzoKKwlKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCUFkZGVkICJpZ25vcmUiIGRpcmVjdGl2ZSBmb3Igc2tpcHBpbmcgaW5kaXZpZHVhbCBzeW1ib2wgcmVzb2x1dGlvbi4KKworCSogZGxscy9jb21tZGxnL2NkbGdfUnUucmM6CisJVmFzaWx5IEkuIFZvbGNoZW5rbyA8VmFzaWx5LlZvbGNoZW5rb0Btc3R1LmVkdS5ydT4KKwlBZGRlZCBtb3JlIFJ1c3NpYW4gc3VwcG9ydC4KKworCSogTWFrZS5ydWxlcy5pbiwgY29uZmlndXJlLCBjb25maWd1cmUuaW4sIGRsbHMvTWFrZWZpbGUuaW4sIGRsbHMvaW1tMzIvTWFrZWZpbGUuaW4sIGRsbHMvaW1tMzIvaW1tLnNwZWMsIGRsbHMvd2lubmxzLy5jdnNpZ25vcmUsIGRsbHMvd2lubmxzL01ha2VmaWxlLmluLCBkbGxzL3dpbm5scy93aW5ubHMuYywgZGxscy93aW5ubHMvd2lubmxzLnNwZWMsIGRsbHMvd2lubmxzL3dpbm5sczMyLnNwZWM6CisJSGlkZW5vcmkgVGFrZXNoaW1hIDxoaWRlbm9yaUBhMi5jdGt0di5uZS5qcD4KKwlBZGRlZCBhIHNwZWMgZmlsZSBmb3IgMTZiaXQgaW1tLgorCUFkZGVkIHNwZWMgZmlsZXMgZm9yIHdpbm5scyBhbmQgd2lubmxzMzIuCisKKwkqIGluY2x1ZGUvd2luZS93aW5iYXNlMTYuaDoKKwlBZGRlZCBpbmxpbmUgZGVmaW5pdGlvbiBmb3IgTWFwU0wuCisKKwkqIHRvb2xzL3dpbmVzaGVsbGxpbms6CisJQW5kcmVhcyBNb2hyIDxhbW9ockBjb2Rld2VhdmVycy5jb20+CisJRml4ZWQgYW4gdW5xdW90ZWQgc3RyaW5nLgorCisJKiBmaWxlcy9kaXJlY3RvcnkuYywgZmlsZXMvZHJpdmUuYzoKKwlMYXdzb24gV2hpdG5leSA8bGF3c29uX3doaXRuZXlAanVuby5jb20+CisJQWRkIHN0cmVycm9yKCkgdG8gdGhlICJDb3VsZCBub3Qgc3RhdCIgYW5kICJJbnZhbGlkIHBhdGgiIHN0YXJ0dXAKKwllcnJvciBtZXNzYWdlcy4KKworCSogc2NoZWR1bGVyL3N5c2RlcHMuYzoKKwlDb21tZW50ZWQgb3V0IGxhcmdlIHN0YWNrIGluaXQgbm93IHRoYXQgdGhyZWFkIHN0YWNrcyBhcmUgYXQgbGVhc3QgMU1iLgorCisJKiBkbGxzL2RkcmF3L21haW4uYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlJZiBEaXJlY3REcmF3Q3JlYXRlIGdldHMgcGFzc2VkIGEgSURpcmVjdERyYXd7Miw0LDd9IGludGVyZmFjZSwgZ2V0CisJdGhpcyBpbnRlcmZhY2UgYW5kIGRvIG5vdCB1c2UgSURpcmVjdERyYXcuCisKKwkqIGRsbHMvY29tY3RsMzIvY29tY3RsMzIuc3BlYywgZGxscy9rZXJuZWwva2VybmVsMzIuc3BlYywgZGxscy9zaGVsbDMyL3NoZWxsMzIuc3BlYzoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCVJlbW92ZWQgdGhlIG5hbWUgb2YgQVBJcyBleHBvcnRlZCBieSBvcmRpbmFsLgorCisJKiBkbGxzL2tlcm5lbC9ubHMvaHVuLm5sczoKKwlOZW1ldGggUGV0ZXIgPHFnZW5wZXRlQGdvbGQudW5pLW1pc2tvbGMuaHU+CisJU29tZSBOTFMgdXBkYXRlcy4KKworMjAwMC0xMi0xMyAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZG9jdW1lbnRhdGlvbi9NYWtlZmlsZS5pbiwgZG9jdW1lbnRhdGlvbi9hcmNoaXRlY3R1cmUuc2dtbCwgZG9jdW1lbnRhdGlvbi9hdXRob3JzLmVudCwgZG9jdW1lbnRhdGlvbi9idWdzLnNnbWwsIGRvY3VtZW50YXRpb24vYnVpbGQuc2dtbCwgZG9jdW1lbnRhdGlvbi9jb21waWxpbmcuc2dtbCwgZG9jdW1lbnRhdGlvbi9jb25maWd1cmluZy5zZ21sLCBkb2N1bWVudGF0aW9uL2NvbnNvbGVzLnNnbWwsIGRvY3VtZW50YXRpb24vY3ZzLXJlZ3Jlc3Npb24uc2dtbCwgZG9jdW1lbnRhdGlvbi9kYjJodG1sLXdpbmVocSwgZG9jdW1lbnRhdGlvbi9kZWJ1Z2dlci5zZ21sLCBkb2N1bWVudGF0aW9uL2RlYnVnZ2luZy5zZ21sLCBkb2N1bWVudGF0aW9uL2RlZmF1bHQuZHNsLCBkb2N1bWVudGF0aW9uL2RsbHMuc2dtbCwgZG9jdW1lbnRhdGlvbi9kb2N1bWVudGF0aW9uLnNnbWwsIGRvY3VtZW50YXRpb24vZm9udHMuc2dtbCwgZG9jdW1lbnRhdGlvbi9nZXR0aW5nLnNnbWwsIGRvY3VtZW50YXRpb24vaTE4bi5zZ21sLCBkb2N1bWVudGF0aW9uL2ltcGxlbWVudGF0aW9uLnNnbWwsIGRvY3VtZW50YXRpb24vaW5zdGFsbGluZy5zZ21sLCBkb2N1bWVudGF0aW9uL2ludHJvZHVjdGlvbi5zZ21sLCBkb2N1bWVudGF0aW9uL29sZS5zZ21sLCBkb2N1bWVudGF0aW9uL29wZW5nbC5zZ21sLCBkb2N1bWVudGF0aW9uL3BhY2thZ2luZy5zZ21sLCBkb2N1bWVudGF0aW9uL3BhdGNoZXMuc2dtbCwgZG9jdW1lbnRhdGlvbi9wb3J0aW5nLnNnbWwsIGRvY3VtZW50YXRpb24vcHJpbnRpbmcuc2dtbCwgZG9jdW1lbnRhdGlvbi9yZWdpc3RyeS5zZ21sLCBkb2N1bWVudGF0aW9uL3J1bm5pbmcuc2dtbCwgZG9jdW1lbnRhdGlvbi90b29scy5zZ21sLCBkb2N1bWVudGF0aW9uL3dpbmUtZG9jLnNnbWwsIGRvY3VtZW50YXRpb24vd2luZWhxLmRzbCwgZG9jdW1lbnRhdGlvbi93aW5lbGliLXVzZXIuc2dtbDoKKwlKb2huIFIuIFNoZWV0cyA8anNoZWV0c0Bjb2Rld2VhdmVycy5jb20+CisJRG9jdW1lbnRhdGlvbiB1cGRhdGUuCisKKwkqIGRsbHMvb2RiYzMyL3Byb3h5b2RiYy5jLCBpbmNsdWRlL3dpbmUvbGlicmFyeS5oLCBpbmNsdWRlL3dpbmUvcG9ydC5oLCBsaWJyYXJ5L2xvYWRlci5jLCBsaWJyYXJ5L3BvcnQuYywgbG9hZGVyL2VsZi5jLCBsb2FkZXIvbW9kdWxlLmMsIHJlbGF5MzIvYnVpbHRpbjMyLmM6CisJSmFtZXMgQWJiYXRpZWxsbyA8amFiYmV5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlXb3JrIGFyb3VuZCBnbGliYyAyLjEueCBkbG9wZW4gYnVnIChhZ2FpbikuCisKKwkqIGRsbHMvc2V0dXBhcGkvTWFrZWZpbGUuaW4sIGRsbHMvc2V0dXBhcGkvZGV2aW5zdC5jLCBkbGxzL3NldHVwYXBpL2luZnBhcnNlLmMsIGRsbHMvc2V0dXBhcGkvc2V0dXB4LnNwZWMsIGRsbHMvc2V0dXBhcGkvc2V0dXB4MTYuaCwgZGxscy9zZXR1cGFwaS9zZXR1cHhfbWFpbi5jLCBkbGxzL3NldHVwYXBpL3NldHVweF9wcml2YXRlLmg6CisJQW5kcmVhcyBNb2hyIDxhbW9ockBjb2Rld2VhdmVycy5jb20+CisJLSBpbXBsZW1lbnRlZCBwcm9wZXIgTEREL0xESUQgaGFuZGxpbmcKKwktIGltcGxlbWVudCBDdGwqTGRkKCksIEN0bFtHU11ldExkZFBhdGgsIEdlbkluc3RhbGwgKG5vIHJlYWwgb3BlcmF0aW9ucworCSAgeWV0LCBJIHdhbnQgaGVscCksIEluc3RhbGxIaW5mU2VjdGlvbgorCS0gU3R1YmJlZCBvdXQgRGlHZXRDbGFzc0RldnMxNiAobmVlZGVkIGZvciBlLmcuIE1vbmtleSBJc2xhbmQgMyA7KQorCS0gbWFueSBuZXcgLnNwZWMgc3R1YnMKKworCSogZGxscy9zaGVsbDMyL3NoZWxsb2xlLmMsIGluY2x1ZGUvd2luZS9vYmpfYmFzZS5oOgorCUFuZHJlYXMgTW9ociA8YW1vaHJAY29kZXdlYXZlcnMuY29tPgorCVNIR2V0TWFsbG9jIG11c3QgdXNlIE1FTUNUWF9UQVNLLCBvdGhlcndpc2UgQ29HZXRNYWxsb2Mgd2lsbAorCWJhZGx5IGZhaWwgd2l0aCBFX0lOVkFMSURBUkcgaW4gY2FzZSBuYXRpdmUgT0xFMzIgaXMgdXNlZC4KKworCSogaW5jbHVkZS9NYWtlZmlsZS5pbiwgaW5jbHVkZS9tYXBpLmgsIGluY2x1ZGUvbWFwaWRlZnMuaDoKKwlGcmFu529pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCUFkZGVkIG1hcGkuaCB3aXRoIHRoZSBkZWZpbml0aW9ucyBuZWVkZWQgYnkgdGhlIE1GQy4KKworCSogZGxscy9udGRsbC9udC5jLCBkbGxzL250ZGxsL250ZGxsLnNwZWMsIGRsbHMvbnRkbGwvd2NzdHJpbmcuYzoKKwlFcmljIEtvaGwgPGVrb2hsQGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbXBsZW1lbnRlZCBfdWx0b3coKSBhbmQgZXhwb3J0IFtOdC9ad11RdWVyeVZvbHVtZUluZm9ybWF0aW9uRmlsZSgpLgorCisJKiB0b29scy9tYWtlZGVwLmM6CisJRXJpYyBQb3VlY2ggPEVyaWMuUG91ZWNoQHdhbmFkb28uZnI+CisJRml4ZWQgcGF0aCByZXNvbHV0aW9uIGZvciBhL2IuYyBzb3VyY2UgZmlsZXMuCisKKwkqIGNvbnRyb2xzL2xpc3Rib3guYzoKKwlMb3VpcyBQaGlsaXBwZSBHYWdub24gPGxvdWlzcGhpbGlwcGVAbWFjYWRhbWlhbi5jb20+CisJSW52YWxpZGF0ZSB0aGUgZm9jdXMgcmVjdCB3aGVuIGEgbGlzdGJveCBpcyByZXNpemVkLgorCisJKiBzY2hlZHVsZXIvcHJvY2Vzcy5jLCBzY2hlZHVsZXIvc3lzbGV2ZWwuYywgdG9vbHMvd2luZWJ1aWxkL3NwZWMxNi5jLCB3aW4zMi9leGNlcHQuYywgd2luZG93cy9kY2UuYywgd2luZG93cy9ub25jbGllbnQuYywgZ3JhcGhpY3MvZW5obWV0YWZpbGVkcnYvaW5pdC5jLCBncmFwaGljcy9tZXRhZmlsZWRydi9pbml0LmMsIGdyYXBoaWNzL3gxMWRydi9iaXRtYXAuYywgZ3JhcGhpY3MveDExZHJ2L2JydXNoLmMsIGdyYXBoaWNzL3gxMWRydi9jbGlwcGluZy5jLCBncmFwaGljcy94MTFkcnYvb2JqZWN0cy5jLCBncmFwaGljcy94MTFkcnYvb2VtYml0bWFwLmMsIGdyYXBoaWNzL3gxMWRydi94Zm9udC5jLCBpbmNsdWRlL2dkaS5oLCBpbmNsdWRlL2xkdC5oLCBpbmNsdWRlL21pc2NlbXUuaCwgaW5jbHVkZS9zZWxlY3RvcnMuaCwgbWlzYy9sc3RyLmMsIG1zZG9zL2Rvc2FzcGkuYywgbXNkb3MvaW50MjUuYywgbXNkb3MvaW50MjYuYywgb2JqZWN0cy9nZGlvYmouYywgcmVsYXkzMi9idWlsdGluMzIuYywgcmVsYXkzMi9yZWxheTM4Ni5jLCByZWxheTMyL3Nub29wLmMsIGRlYnVnZ2VyL2RiZ21haW4uYywgZGxscy9jb21tZGxnL2ZpbGVkbGc5NS5jLCBkbGxzL2dkaS9nZGlfbWFpbi5jLCBkbGxzL29sZWF1dDMyL29sZWF1dC5jLCBkbGxzL3VzZXIvcmVzb3VyY2UuYywgZGxscy93aW5hc3BpL3dpbmFzcGkzMi5jLCBkbGxzL3dpbm1tL3dpbmVvc3MvYXVkaW8uYywgZGxscy93aW5tbS93aW5lb3NzL21pZGkuYzoKKwlSZW1vdmVkIHNvbWUgdW5uZWNlc3NhcnkgaW5jbHVkZXMuCisJR290IHJpZCBvZiBsZHQuaC4KKworCSogaW5jbHVkZS9nbG9iYWwuaCwgbWVtb3J5L3ZpcnR1YWwuYywgbWlzYy9jcHUuYywgbXNkb3MveG1zLmMsIHNjaGVkdWxlci9zeXNkZXBzLmMsIHdpbjMyL2RldmljZS5jOgorCVVzZSBnZXRwYWdlc2l6ZSgpIGluc3RlYWQgb2YgVklSVFVBTF9HZXRQYWdlU2l6ZSgpLgorCisJKiB3aW5kb3dzL3dpbi5jLCB3aW5kb3dzL3dpbmhlbHAuYywgd2luZG93cy93aW5wcm9jLmMsIG1zZG9zL2Rvc21lbS5jLCBtc2Rvcy9kcG1pLmMsIG1zZG9zL2ludDIxLmMsIG1zZG9zL2ludDJmLmMsIG1zZG9zL2ludDMzLmMsIG1zZG9zL2ludDVjLmMsIG1zZG9zL3Z4ZC5jLCBvYmplY3RzL2JpdG1hcC5jLCBvYmplY3RzL2ZvbnQuYywgb2JqZWN0cy9tZXRhZmlsZS5jLCBzY2hlZHVsZXIvdGhyZWFkLmMsIHdpbmRvd3MvY2xhc3MuYywgd2luZG93cy9jdXJzb3JpY29uLmMsIHdpbmRvd3MvZGVmd25kLmMsIHdpbmRvd3MvZGlhbG9nLmMsIHdpbmRvd3MvaG9vay5jLCB3aW5kb3dzL21kaS5jLCB3aW5kb3dzL21lc3NhZ2UuYywgd2luZG93cy9tc2dib3guYywgd2luZG93cy9wYWludGluZy5jLCB3aW5kb3dzL3Njcm9sbC5jLCBtaXNjL2Vycm9yLmMsIG1zZG9zL2RldmljZXMuYywgaW5jbHVkZS93aW5lL21tc3lzdGVtMTYuaCwgaW5jbHVkZS93aW5lL3BvcnQuaCwgaW5jbHVkZS93aW5lL3dpbmJhc2UxNi5oLCBpbmNsdWRlL3dpbmUvd2luZGVmMTYuaCwgaW5jbHVkZS93aW5lL3dpbmdkaTE2LmgsIGluY2x1ZGUvd2luZS93aW51c2VyMTYuaCwgbG9hZGVyL2Rvcy9tb2R1bGUuYywgbG9hZGVyL21vZHVsZS5jLCBsb2FkZXIvbmUvbW9kdWxlLmMsIGxvYWRlci9uZS9yZXNvdXJjZS5jLCBsb2FkZXIvbmUvc2VnbWVudC5jLCBsb2FkZXIvcmVzb3VyY2UuYywgbG9hZGVyL3Rhc2suYywgbWVtb3J5L2F0b20uYywgbWVtb3J5L2Vudmlyb24uYywgbWVtb3J5L2dsb2JhbC5jLCBtZW1vcnkvaGVhcC5jLCBtZW1vcnkvaW5zdHIuYywgbWVtb3J5L2xvY2FsLmMsIG1lbW9yeS9zZWxlY3Rvci5jLCBtZW1vcnkvc3RyaW5nLmMsIGRsbHMvd2lubW0vbWNpYW5pbS9tY2lhbmltLmMsIGRsbHMvd2luc29jay9hc3luYy5jLCBmaWxlcy9maWxlLmMsIGdyYXBoaWNzL2VzY2FwZS5jLCBncmFwaGljcy9tYXBwaW5nLmMsIGdyYXBoaWNzL3dpbjE2ZHJ2L2luaXQuYywgZ3JhcGhpY3Mvd2luMTZkcnYvcHJ0ZHJ2LmMsIGdyYXBoaWNzL3gxMWRydi9kaWIuYywgZ3JhcGhpY3MveDExZHJ2L2luaXQuYywgaWYxNjMyL2J1aWx0aW4uYywgaWYxNjMyL3JlbGF5LmMsIGlmMTYzMi9zbm9vcC5jLCBpZjE2MzIvdGh1bmsuYywgaW5jbHVkZS9kaWdpdGFsdi5oLCBpbmNsdWRlL21tZGRrLmgsIGluY2x1ZGUvb2xlLmgsIGluY2x1ZGUvc3RhY2tmcmFtZS5oLCBpbmNsdWRlL3VzZXIuaCwgaW5jbHVkZS93aW5nZGkuaCwgaW5jbHVkZS93aW5udC5oLCBkbGxzL3VzZXIvbHN0ci5jLCBkbGxzL3VzZXIvdGV4dC5jLCBkbGxzL3VzZXIvd3NwcmludGYuYywgZGxscy92ZXJzaW9uL3ZlcjE2LmMsIGRsbHMvd2luMzJzL3dpbjMyczE2LmMsIGRsbHMvd2luYXNwaS93aW5hc3BpMTYuYywgZGxscy93aW5lcHMvZXNjYXBlLmMsIGRsbHMvd2lubW0vZHJpdmVyLmMsIGRsbHMvd2lubW0vbG9sdmxkcnYuYywgZGxscy93aW5tbS9tY2kuYywgZGxscy93aW5tbS9tbWlvLmMsIGRsbHMvd2lubW0vbW1zeXN0ZW0uYywgZGxscy93aW5tbS93aW5tbS5zcGVjLCBkbGxzL2tlcm5lbC9kZWJ1Z2dlci5jLCBkbGxzL2tlcm5lbC9rZXJuZWwuc3BlYywgZGxscy9rZXJuZWwva2VybmVsX21haW4uYywgZGxscy9rZXJuZWwvdGh1bmsuYywgZGxscy9rZXJuZWwvdXR0aHVuay5jLCBkbGxzL2tlcm5lbC93b3d0aHVuay5jLCBkbGxzL21zdmlkZW8vbXN2aWRlb19tYWluLmMsIGRsbHMvb2xlMzIvY29tcG9iai5jLCBkbGxzL29sZTMyL2lmcy5jLCBkbGxzL29sZTMyL3N0b3JhZ2UuYywgZGxscy9vbGVhdXQzMi9vbGUyZGlzcC5jLCBkbGxzL29sZWNsaS9vbGVjbGkuc3BlYywgZGxscy9vbGVjbGkvb2xlY2xpX21haW4uYywgZGxscy9zaGVsbDMyL3NoZWxsLmMsIGRsbHMvc2hlbGwzMi9zaGVsbDMyX21haW4uYywgZGxscy9jb21tZGxnL2NvbG9yZGxnLmMsIGRsbHMvY29tbWRsZy9maWxlZGxnLmMsIGRsbHMvY29tbWRsZy9maW5kZGxnLmMsIGRsbHMvY29tbWRsZy9mb250ZGxnLmMsIGRsbHMvY29tbWRsZy9wcmludGRsZy5jLCBkbGxzL2dkaS9nZGkuc3BlYywgZGxscy9nZGkvcHJpbnRkcnYuYywgZGxscy9nZGkvd2luZy5jLCBkbGxzL2NvbW1kbGcvY2RsZy5oLCBjb250cm9scy9lZGl0LmMsIGNvbnRyb2xzL2xpc3Rib3guYywgY29udHJvbHMvbWVudS5jLCBjb250cm9scy9jb21iby5jOgorCVJlcGxhY2VkIFBUUl9TRUdfVE9fTElOIG1hY3JvIGJ5IGV4cG9ydGVkIE1hcFNMIGZ1bmN0aW9uLgorCUZpeGVkIGEgZmV3IHB0ci9zZWdwdHIgbWlzbWF0Y2hlcy4KKwlNb3ZlZCBDT05WX1JFQ1QvUE9JTlQgbWFjcm9zIHRvIHdpbmdkaTE2LmguCisKKwkqIGRlYnVnZ2VyL2RlYnVnLmwsIGRsbHMvY29tY3RsMzIvaGVhZGVyLmMsIGRsbHMvb2xlYXV0MzIvdHlwZWxpYi5jLCBkbGxzL3NlcmlhbHVpL2NvbmZkbGcuYywgZGxscy93aW5zcG9vbC9pbmZvLmMsIG9iamVjdHMvZW5obWV0YWZpbGUuYywgd2luZG93cy93aW5wb3MuYzoKKwlGaXhlZCBzb21lIHdhcm5pbmdzLgorCisJKiB3aW5kb3dzL2RyaXZlci5jLCBkbGxzL3dpbm1tL01ha2VmaWxlLmluLCBkbGxzL3dpbm1tL2RyaXZlci5jLCBkbGxzL3dpbm1tL2xvbHZsZHJ2LmMsIGRsbHMvd2lubW0vbWNpLmMsIGRsbHMvd2lubW0vbW1zeXN0ZW0uYywgZGxscy93aW5tbS9tbXN5c3RlbS5zcGVjLCBkbGxzL3dpbm1tL3dpbmVtbS5oOgorCUVyaWMgUG91ZWNoIDxFcmljLlBvdWVjaEB3YW5hZG9vLmZyPgorCVNwbGl0IGRyaXZlciBmdW5jdGlvbnMgaW50byBVU0VSICgxNiBiaXQgcGFydCkgYW5kIFdJTk1NICgzMiBiaXQgcGFydCkuCisJRml4ZWQgc29tZSBidWdzIGluIDE2IGJpdCBwYXJ0IGFzIHdlbGwuCisJTm93IGNvcnJlY3RseSBwYXJzaW5nIHRoZSBzeXN0ZW0uaW5pIGV4dHJhIHBhcmFtZXRlcnMuCisKKwkqIGRsbHMvY3J0ZGxsL2NydGRsbC5oLCBkbGxzL2NydGRsbC9maWxlLmM6CisJTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJRml4ZWQgY3J0ZGxsIGNvbXBpbGUgcHJvYmxlbSByZWdhcmRpbmcgZnBvc190IGluIGdsaWJjMi4yLgorCisJKiBkbGxzL2NydGRsbC9NYWtlZmlsZS5pbiwgZGxscy9jcnRkbGwvY29uc29sZS5jLCBkbGxzL2NydGRsbC9jcnRkbGwuaCwgZGxscy9jcnRkbGwvY3J0ZGxsLnNwZWMsIGRsbHMvY3J0ZGxsL2NydGRsbF9tYWluLmMsIGRsbHMvY3J0ZGxsL2Rpci5jLCBkbGxzL2NydGRsbC9leGl0LmMsIGRsbHMvY3J0ZGxsL2ZpbGUuYywgZGxscy9jcnRkbGwvc3Bhd24uYzoKKwlKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCS0gSW1wbGVtZW50IGNvbnNvbGUgSS9PCisJLSBTdXBwb3J0IHRlbXBvcmFyeSBmaWxlcywgYWRkIHRtcGZpbGUsIHJtdG1wCisJLSBzcGF3biogZnVuY3Rpb25zOiBmaXggYXJncywgYWRkIGN3YWl0LCBzZWFyY2hlbnYKKworCSogcHJvZ3JhbXMvY2xvY2svbWFpbi5jOgorCUVyaWMgUG91ZWNoIDxFcmljLlBvdWVjaEB3YW5hZG9vLmZyPgorCVJlbW92ZWQgYSBjcmFzaCBpbiBwcm9ncmFtL2Nsb2NrLgorCisJKiBkbGxzL2NvbWN0bDMyL2hlYWRlci5jOgorCUVyaWMgS29obCA8ZWtvaGxAcnotb25saW5lLmRlPgorCUZpeGVkIGNyYXNoIG9mIFdpblppcCA4LjAgZHVlIHRvIGludmFsaWQgaW1hZ2UgbGlzdCBoYW5kbGUuCisKKwkqIGluY2x1ZGUvd2luZGVmLmg6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlEZWZpbmUgTlVMTCBhcyBpbiBXaW4zMi4KKworCSogZGxscy9tc3ZpZGVvL21zdmlkZW9fbWFpbi5jOgorCUVyaWMgUG91ZWNoIDxFcmljLlBvdWVjaEB3YW5hZG9vLmZyPgorCVJldHVybiB2YWx1ZXMgZnJvbSBEUlZfRU5BQkxFIHNob3VsZCBub3QgYmUgY2hlY2tlZC4KKworCSogZGxscy9rZXJuZWwvZm9ybWF0X21zZy5jOgorCUVyaWMgUG91ZWNoIDxFcmljLlBvdWVjaEB3YW5hZG9vLmZyPgorCUZvcm1hdE1lc3NhZ2VBIHdhc24ndCBwcm9wZXJseSBoYW5kbGluZyB0aGUgJWxzIG1vZGlmaWVyLgorCisJKiBkbGxzL2NvbWN0bDMyL3Rvb2xiYXIuYzoKKwlBbmRyZWFzIE1vaHIgPGFtb2hyQGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbnZhbGlkIGJ1dHRvbnMgYXJlICJoaWRkZW4iLgorCisJKiBkbGxzL3NoZWxsMzIvc2hlbGxwYXRoLmM6CisJQW5kcmVhcyBNb2hyIDxhbW9ockBjb2Rld2VhdmVycy5jb20+CisJTW92ZSBhbGwgdmFsdWVzIG9mIFNIR2V0U3BlY2lhbEZvbGRlclBhdGhBIGludG8gYW4gYXJyYXksIGFkZCBzb21lCisJb3RoZXIgcmVnaXN0cnkgbG9jYXRpb25zIGFuZCBpbXByb3ZlIHRoZSBudW1iZXIgb2Ygc3VwcG9ydGVkIENTSURMcy4KKworCSogZGxscy9jb21tZGxnL2ZpbGVkbGc5NS5jOgorCUlhbiBQaWxjaGVyIDxwaWxjaGVyQGNvbmNlbnRyaWMubmV0PgorCUNoYW5nZWQgRklMRURMRzk1X09uT3BlbiB0byAiZG91YmxlIHRlcm1pbmF0ZSIgdGhlIHJldHVybmVkIHN0cmluZyBpZgorCU9GTl9BTExPV01VTFRJU0VMRUNUIGlzIHNldC4KKworMjAwMC0xMi0xMiAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogc2NoZWR1bGVyL3Byb2Nlc3MuYywgaWYxNjMyL3JlbGF5LmMsIGluY2x1ZGUvbWFpbi5oLCBsb2FkZXIvbWFpbi5jLCBtaXNjL21haW4uYywgbWlzYy9vcHRpb25zLmMsIG9sZS9vbGUybmxzLmMsIHJlbGF5MzIvYnVpbHRpbjMyLmMsIGRsbHMva2VybmVsL2tlcm5lbF9tYWluLmM6CisJR290IHJpZCBvZiBtYWluLmguCisKKwkqIHJlbGF5MzIvcmVsYXkzODYuYywgcmVsYXkzMi9zbm9vcC5jOgorCVVzZSBfX0FTTV9HTE9CQUxfRlVOQyBkaXJlY3RseSBpbiBpMzg2LW9ubHkgY29kZS4KKworCSogZGxscy91c2VyL3VzZXIuc3BlYywgbG9hZGVyL25lL3Jlc291cmNlLmMsIHdpbmRvd3MvY3Vyc29yaWNvbi5jOgorCUNoYW5nZWQgTG9hZEltYWdlMTYgdG8gdGFrZSBhbiBMUENTVFIgaW5zdGVhZCBvZiBhIFNFR1BUUi4KKworCSogaW5jbHVkZS9kcml2ZS5oLCBpbmNsdWRlL3dpbmJhc2UuaCwgbWlzYy9jZHJvbS5jLCBtc2Rvcy9pbnQxMS5jLCBtc2Rvcy9pbnQxMy5jLCBtc2Rvcy9pbnQxNy5jLCBtc2Rvcy9pbnQyMS5jLCBtc2Rvcy9pbnQyZi5jLCBjb250cm9scy9jb21iby5jLCBjb250cm9scy9saXN0Ym94LmMsIGRsbHMvY29tbWRsZy9maWxlZGxnLmMsIGRsbHMvc2hlbGwzMi9zaGVsbC5jLCBkbGxzL3VzZXIvbmV0d29yay5jLCBmaWxlcy9kcml2ZS5jOgorCVVzZSB0aGUgRFJJVkVfKiBBUEkgY29uc3RhbnRzIGluc3RlYWQgb2YgdGhlIERSSVZFVFlQRSBlbnVtLgorCUNoYW5nZWQgRFJJVkVfQ0FOTk9UREVURVJNSU5FIGFuZCBEUklWRV9ET0VTTk9URVhJU1QgdG8gdXNlIHRoZQorCWNvcnJlY3QgbmFtZXMuCisJQ2xlYW5lZCB1cCBhIGZldyBkZXBlbmRlbmNpZXMgb24gaW50ZXJuYWwgZHJpdmUuYyBmdW5jdGlvbnMuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmluLCBkbGxzL2RpbnB1dC9NYWtlZmlsZS5pbiwgZGxscy9kaW5wdXQvZGlucHV0X21haW4uYywgZGxscy9kaW5wdXQvZGlucHV0X3ByaXZhdGUuaCwgZGxscy9kaW5wdXQvam95c3RpY2svbGludXguYywgZGxscy9kaW5wdXQvam95c3RpY2svbGludXhpbnB1dC5jLCBkbGxzL2RpbnB1dC9rZXlib2FyZC9tYWluLmMsIGRsbHMvZGlucHV0L21vdXNlL21haW4uYywgaW5jbHVkZS9jb25maWcuaC5pbiwgaW5jbHVkZS9kaW5wdXQuaDoKKwlNYXJjdXMgTWVpc3NuZXIgPE1hcmN1cy5NZWlzc25lckBjYWxkZXJhLmRlPgorCUFkZGVkIHByZWZlcmVuY2VzIHRvIGRpbnB1dCBkcml2ZXJzIChzbyB3ZSBjYW4gaGF2ZSB0d28gam95c3RpY2sKKwlkcml2ZXJzKS4gSW1wbGVtZW50ZWQgYSBqb3lzdGljayBkcml2ZXIgZm9yIHRoZSBMaW51eCAyLjQKKwlkZXYvaW5wdXQvZXZlbnQgQVBJLgorCisJKiBpbmNsdWRlL3dpbm5scy5oLCBkbGxzL2NydGRsbC9NYWtlZmlsZS5pbiwgZGxscy9jcnRkbGwvY3J0ZGxsLmgsIGRsbHMvY3J0ZGxsL2NydGRsbC5zcGVjLCBkbGxzL2NydGRsbC9jcnRkbGxfbWFpbi5jLCBkbGxzL2NydGRsbC9sb2NhbGUuYywgZGxscy9jcnRkbGwvdGltZS5jOgorCUpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJLSBJbXBsZW1lbnRlZCBzZXRsb2NhbGUgcGFyc2luZyBhbmQgTENfVFlQRSBiZWhhdmlvci4KKwktIEltcGxlbWVudGVkIGlzbGVhZGJ5dGUsIHNucHJpbnRmLgorCS0gQWRkZWQgTkxTIElzVmFsaWRDb2RlUGFnZSBwcm90b3R5cGUsIG1pc2MgQ1JURExMIGZpeGVzLgorCisJKiBpbmNsdWRlL3NoZWxsYXBpLmg6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGRlZCBhIHByb3RvdHlwZSBmb3IgU0hBcHBCYXJNZXNzYWdlLgorCisJKiBkbGxzL3VzZXIvdGV4dC5jOgorCURpbWl0cmllIE8uIFBhdW4gPGRpbWlAY3MudG9yb250by5lZHU+CisJRml4ZWQgaW5kZW50YXRpb24gcHJvYmxlbXMgcmVzdWx0aW5nIGZyb20gYXV0b21hdGljIHJlbmFtaW5nLCBvdGhlcgorCWFlc3RoZXRpYyBmaXhlcy4KKworCSogZGxscy9jb21jdGwzMi90YWIuYzoKKwlHZXJhcmQgUGF0ZWwgPGdlcmFyZC5wYXRlbEBhc2kuZnI+CisJVXNlIERyYXdUZXh0IHRvIGRpc3BsYXkgdGV4dCBpbiBob3Jpem9udGFsIHRhYnMuCisKKwkqIHNlcnZlci9yZWdpc3RyeS5jOgorCU1hcnRpbiBQaWxrYSA8bXBpbGthQGNvZGV3ZWF2ZXJzLmNvbT4KKwlDaGFuZ2VkIHRoZSBjb25kaXRpb24gc28gaXQgYWxzbyB3b3JrcyBpbiBjYXNlIHdoZW4gc3NjYW5mIHJldHVybnMgRU9GLgorCisyMDAwLTEyLTExICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiB3aW5kb3dzL3VzZXIuYywgbWVtb3J5L2Vudmlyb24uYywgbWVtb3J5L3NlbGVjdG9yLmMsIG1lbW9yeS92aXJ0dWFsLmMsIG1pc2MvdmVyc2lvbi5jLCBtaXNjZW11L21haW4uYywgbXNkb3MvZHBtaS5jLCBtc2Rvcy92eGQuYywgcmVsYXkzMi9yZWxheTM4Ni5jLCBzY2hlZHVsZXIvY2xpZW50LmMsIHNjaGVkdWxlci9wcm9jZXNzLmMsIHNjaGVkdWxlci90aHJlYWQuYywgd2luMzIvY29uc29sZS5jLCB3aW4zMi9kZXZpY2UuYywgd2luMzIvZXhjZXB0LmMsIHdpbjMyL2ZpbGUuYywgZGxscy9jcnRkbGwvZXhpdC5jLCBkbGxzL2NydGRsbC9zcGF3bi5jLCBkbGxzL2NydGRsbC90aW1lLmMsIGRsbHMva2VybmVsL3V0dGh1bmsuYywgaW5jbHVkZS9NYWtlZmlsZS5pbiwgaW5jbHVkZS9sZHQuaCwgaW5jbHVkZS9tb2R1bGUuaCwgaW5jbHVkZS9wcm9jZXNzLmgsIGluY2x1ZGUvd2luYmFzZS5oLCBsb2FkZXIvZG9zL21vZHVsZS5jLCBsb2FkZXIvZWxmLmMsIGxvYWRlci9tb2R1bGUuYywgbG9hZGVyL25lL21vZHVsZS5jLCBsb2FkZXIvcGVfaW1hZ2UuYywgbG9hZGVyL3BlX3Jlc291cmNlLmMsIGxvYWRlci9yZXNvdXJjZS5jLCBsb2FkZXIvdGFzay5jOgorCU1vdmVkIGFsbCBXaW5lIGludGVybmFsIGRlZmluaXRpb25zIG91dCBvZiBwcm9jZXNzLmguCisKKwkqIHRvb2xzL3dpbmVidWlsZC9zcGVjMzIuYzoKKwlPdXRwdXQgdGhlIGV4cG9ydHMgdGFibGUgaW4gYXNzZW1ibHkgY29kZSB0byBtYWtlIGl0IHBvc3NpYmxlIHRvCisJZXhwb3J0IEMrKyBtYW5nbGVkIG5hbWVzLgorCisJKiBkbGxzL250ZGxsL3J0bC5jOgorCUltcGxlbWVudGVkIFJ0bEFjcXVpcmVQZWJMb2NrIGFuZCBSdGxSZWxlYXNlUGViTG9jay4KKworCSogZGxscy91c2VyL3RleHQuYzoKKwlHZXJhcmQgUGF0ZWwgPGdlcmFyZC5wYXRlbEBhc2kuZnI+CisJSW1wbGVtZW50ZWQgRHJhd1RleHRXIGFzIFVuaWNvZGUgYW5kIERyYXdUZXh0QSBhcyBjYWxsIHRvIERyYXdUZXh0Vy4KKworCSogd2luZG93cy94MTFkcnYvY2xpcGJvYXJkLmMsIHdpbmRvd3MveDExZHJ2L2V2ZW50LmMsIGluY2x1ZGUvY2xpcGJvYXJkLmgsIHdpbmRvd3MvY2xpcGJvYXJkLmMsIHdpbmRvd3MvcXVldWUuYywgd2luZG93cy91c2VyLmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgQ0ZfVU5JQ09ERVRFWFQgYXMgcHJpbWFyeSB0ZXh0IGNsaXBib2FyZCBmb3JtYXQuCisJVXNlIFt4MTFkcnZdLlRleHRDUCBmb3IgaW50ZXJjaGFuZ2Ugd2l0aCBYLgorCisyMDAwLTEyLTEwICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBwcm9ncmFtcy9NYWtlcHJvZy5ydWxlcy5pbjoKKwlEZW5uaXMgQmpvcmtsdW5kIDxkYkB6aWdvLmRocy5vcmc+CisJUmVtb3ZlIG9sZCBsaW5rIGJlZm9yZSBjcmVhdGluZyB0aGUgbmV3IG9uZS4KKworCSogd2luZG93cy94MTFkcnYvZXZlbnQuYywgd2luZG93cy94MTFkcnYvd25kLmMsIGRsbHMvdHR5ZHJ2L3R0eWRydi5oLCBkbGxzL3R0eWRydi93bmQuYywgZGxscy91c2VyL2NvbnRyb2xzLmgsIGRsbHMvdXNlci9yZXNvdXJjZXMvdXNlcjMyLnJjLCBkbGxzL3VzZXIvdXNlcl9tYWluLmMsIGluY2x1ZGUvYnV0dG9uLmgsIGluY2x1ZGUvY29tYm8uaCwgaW5jbHVkZS9kZXNrdG9wLmgsIGluY2x1ZGUvZGlhbG9nLmgsIGluY2x1ZGUvbWRpLmgsIGluY2x1ZGUvbWVudS5oLCBpbmNsdWRlL3Njcm9sbC5oLCBpbmNsdWRlL3N0YXRpYy5oLCBpbmNsdWRlL3dpbi5oLCBpbmNsdWRlL3gxMWRydi5oLCB3aW5kb3dzL01ha2VmaWxlLmluLCB3aW5kb3dzL2NsYXNzLmMsIHdpbmRvd3MvZGVmZGxnLmMsIHdpbmRvd3MvZGlhbG9nLmMsIHdpbmRvd3MvbWRpLmMsIHdpbmRvd3MvbWVzc2FnZS5jLCB3aW5kb3dzL25vbmNsaWVudC5jLCB3aW5kb3dzL3N5c3BhcmFtcy5jLCB3aW5kb3dzL3VzZXIuYywgd2luZG93cy93aW4uYywgd2luZG93cy93aW5wb3MuYywgd2luZG93cy93aW5wcm9jLmMsIE1ha2UucnVsZXMuaW4sIGNvbnRyb2xzL01ha2VmaWxlLmluLCBjb250cm9scy9idXR0b24uYywgY29udHJvbHMvY29tYm8uYywgY29udHJvbHMvZGVza3RvcC5jLCBjb250cm9scy9lZGl0LmMsIGNvbnRyb2xzL2ljb250aXRsZS5jLCBjb250cm9scy9saXN0Ym94LmMsIGNvbnRyb2xzL21lbnUuYywgY29udHJvbHMvc2Nyb2xsLmMsIGNvbnRyb2xzL3N0YXRpYy5jLCBjb250cm9scy93aWRnZXRzLmM6CisJTW92ZWQgbW9zdCBidWlsdGluIGNvbnRyb2xzIHN0cnVjdHVyZXMgaW50byB0aGVpciByZXNwZWN0aXZlIEMgZmlsZS4KKwlDcmVhdGVkIG5ldyBjb250cm9scy5oIGZpbGUgcHJpdmF0ZSB0byB1c2VyMzIuZGxsIGFuZCBtb3ZlZCByZW1haW5pbmcKKwlidWlsdGluIGNvbnRyb2xzIGRlZmluaXRpb25zIHRoZXJlLgorCisyMDAwLTEyLTA5ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL250ZGxsL250ZGxsLnNwZWMsIGluY2x1ZGUvZWxmZGxsLmgsIGxvYWRlci9NYWtlZmlsZS5pbiwgbG9hZGVyL2VsZi5jLCBsb2FkZXIvZWxmZGxsLmMsIGxvYWRlci9sb2Fkb3JkZXIuYzoKKwlSZW1vdmVkIG5vIGxvbmdlciB1c2VkIGVsZmRsbCBsb2FkZXIuCisKKwkqIHdpbmRvd3MvY2xhc3MuYywgd2luZG93cy9tZXNzYWdlLmMsIGRsbHMvd2lubW0vd2luZW9zcy9taXhlci5jLCBpbmNsdWRlL3F1ZXVlLmgsIGluY2x1ZGUvd25hc3BpMzIuaCwgbWlzYy9tYWluLmMsIGRsbHMvb2xlYXV0MzIvb2xlMmRpc3AuYywgUkVBRE1FOgorCUFuZHJlYXMgTW9ociA8YW1vaHJAY29kZXdlYXZlcnMuY29tPgorCS0gUkVBRE1FIHVwZGF0ZQorCS0gYWRkIG9mZnNldHMgdG8gQVNQSSBzdHJ1Y3QgZGVmaW5lcworCS0gc3BlbGxpbmcKKworCSogZGxscy9vbGVhdXQzMi9zYWZlYXJyYXkuYzoKKwlBbmRyZWFzIE1vaHIgPGFtb2hyQGNvZGV3ZWF2ZXJzLmNvbT4KKwlEb24ndCBmYWlsIG9uIHBvaW50ZXIgYWRkcmVzcyBjaGVja2luZyB3aGVuIGZvcmVpZ24gaGVhcC4KKworCSogaW5jbHVkZS9vbGVhdXRvLmg6CisJQW5kcmVhcyBNb2hyIDxhbW9ockBjb2Rld2VhdmVycy5jb20+CisJUmVtb3ZlZCBkdXBsaWNhdGUgZGVmaW5lcy4KKworCSogZGxscy9zaGVsbDMyL2RpYWxvZ3MuYywgcHJvZ3JhbXMvbm90ZXBhZC9kaWFsb2cuYzoKKwlBbmRyZWFzIE1vaHIgPGFtb2hyQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXhlZCBNZXNzYWdlQm94KCkgdXNhZ2UuCisKKwkqIGRsbHMvd2luYXNwaS93aW5hc3BpMzIuYzoKKwlBbmRyZWFzIE1vaHIgPGFtb2hyQGNvZGV3ZWF2ZXJzLmNvbT4KKwlQcmludCBDREIgYXJlYS4KKworMjAwMC0xMi0wNyAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogd2luZG93cy9kZWZ3bmQuYzoKKwlIaWRlbm9yaSBUYWtlc2hpbWEgPGhpZGVub3JpQGEyLmN0a3R2Lm5lLmpwPgorCUFkZGVkIGhhbmRsZXJzIGZvciBzb21lIElNRSBtZXNzYWdlcyBpbiBEZWZXaW5kb3dQcm9jLgorCisJKiBkbGxzL2NvbW1kbGcvZmlsZWRsZzk1LmM6CisJR2VyYXJkIFBhdGVsIDxnZXJhcmQucGF0ZWxAYXNpLmZyPgorCUZpbGVva3N0cmluZyBub3RpZmljYXRpb24gc2hvdWxkIGJlIHNlbnQgdG8gdGhlIGN1c3RvbSBjaGlsZCBkaWFsb2csCisJbm90IHRvIHRoZSBtYWluIGRpYWxvZy4KKworCSogZGxscy9udGRsbC9udGRsbC5zcGVjOgorCUFuZHJldyBMZXd5Y2t5IDxhbmRyZXdAdHJhbnNnYW1pbmcuY29tPgorCU92ZSBLYWF2ZW4gPG92ZWtAdHJhbnNnYW1pbmcuY29tPgorCURlLXN0dWIgc2luKCkgYW5kIGNvcygpLgorCUFkZCBub2ltcG9ydCBmbGFnIHRvIHNpbigpLCBjb3MoKSwgYW5kIHBvdygpLgorCisJKiB3aW5kb3dzL3gxMWRydi93bmQuYywgZGxscy90dHlkcnYvdHR5ZHJ2LmgsIGRsbHMvdHR5ZHJ2L3duZC5jLCBkbGxzL3VzZXIvdXNlci5zcGVjLCBpbmNsdWRlL2J1dHRvbi5oLCBpbmNsdWRlL2NsYXNzLmgsIGluY2x1ZGUvd2luLmgsIGluY2x1ZGUvd2luZS93aW51c2VyMTYuaCwgaW5jbHVkZS94MTFkcnYuaCwgd2luZG93cy9jbGFzcy5jLCB3aW5kb3dzL2RjZS5jLCB3aW5kb3dzL2RlZnduZC5jLCB3aW5kb3dzL21kaS5jLCB3aW5kb3dzL3VzZXIuYywgd2luZG93cy93aW4uYywgY29udHJvbHMvYnV0dG9uLmMsIGNvbnRyb2xzL2Rlc2t0b3AuYywgY29udHJvbHMvd2lkZ2V0cy5jOgorCVJlbW92ZWQgZGVwZW5kZW5jaWVzIG9uIHRoZSBpbnRlcm5hbHMgb2YgdGhlIENMQVNTIHN0cnVjdHVyZS4KKwlBZGRlZCBzdXBwb3J0IGZvciBoYXZpbmcgYm90aCBBU0NJSSBhbmQgVW5pY29kZSB3aW5kb3cgcHJvY2VkdXJlcyBmb3IKKwlidWlsdGluIGNsYXNzZXMuCisKKwkqIHdpbmRvd3MvZGVmZGxnLmMsIHdpbmRvd3Mvd2lucHJvYy5jOgorCVJlbW92ZWQgY2FsbHMgdG8gV0lER0VUU19Jc0NvbnRyb2wuCisKKwkqIGluY2x1ZGUvd2luaW5ldC5oOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJVW5jb21tZW50IEdPUEhFUl9BVFRSSUJVVEVfVFlQRSBhbmQgR29waGVyR2V0QXR0cmlidXRlLgorCUNyZWF0ZSBBL1cgdmVyc2lvbnMgb2YgR09QSEVSX0FUVFJJQlVURV9UWVBFIGFuZAorCUdPUEhFUl9BVFRSSUJVVEVfRU5VTUVSQVRPUi4KKworCSogaW5jbHVkZS93aW5zb2NrLmgsIHRvb2xzL3dpbmVtYWtlcjoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCUFkZGVkIGEgcHJvdG90eXBlIGZvciBjbG9zZXNvY2tldC4KKworCSogZGxscy9jb21tZGxnL3ByaW50ZGxnLmM6CisJTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJRml4ZWQgaGFuZGxpbmcgb2YgRGlhbG9nQm94SW5kaXJlY3RQYXJhbUEgcmV0dXJuIHZhbHVlLgorCisyMDAwLTEyLTA2ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkb2N1bWVudGF0aW9uL3dpbmUuY29uZi5tYW4uaW4sIGRvY3VtZW50YXRpb24vd2luZS5tYW4uaW4sIGZpbGVzL3Byb2ZpbGUuYywgUkVBRE1FLCB3aW5lLmluaToKKwlBZGRlZCBhdXRvbWF0aWMgdHJhbnNsYXRpb24gb2YgdGhlIGNvbmZpZyBmaWxlIHRvIHRoZSBuZXcKKwlmb3JtYXQuIFVwZGF0ZWQgZG9jdW1lbnRhdGlvbi4KKworCSogaW5jbHVkZS93aW5lL3BvcnQuaDoKKwlBZGRlZCBkZWZpbmUgZm9yIFNfSVNMTksgaWYgbWlzc2luZy4KKworCSogdG9vbHMvd2luZWJ1aWxkL3NwZWMxNi5jLCB0b29scy93aW5lYnVpbGQvc3BlYzMyLmM6CisJRG9uJ3QgbWFrZSB0aGUgc3BlYyBmaWxlIGNvbnN0cnVjdG9ycyBzdGF0aWMgc28gdGhhdCB0aGV5IGRvbid0IGdldAorCW9wdGltaXplZCBvdXQuCisKKwkqIGluY2x1ZGUvYml0bWFwLmgsIGluY2x1ZGUveDExZHJ2LmgsIGRsbHMvdHR5ZHJ2L2JpdG1hcC5jLCBkbGxzL3R0eWRydi9kYy5jLCBkbGxzL3R0eWRydi90dHlkcnYuaCwgZ3JhcGhpY3MveDExZHJ2L2JpdGJsdC5jLCBncmFwaGljcy94MTFkcnYvZGliLmMsIGdyYXBoaWNzL3gxMWRydi9ncmFwaGljcy5jLCBncmFwaGljcy94MTFkcnYvaW5pdC5jLCBncmFwaGljcy94MTFkcnYvdGV4dC5jOgorCU92ZSBLYWF2ZW4gPG92ZWtAdHJhbnNnYW1pbmcuY29tPgorCUFuZHJldyBMZXd5Y2t5IDxhbmRyZXdAdHJhbnNnYW1pbmcuY29tPgorCUdhdnJpZWwgU3RhdGUgPGdhdkB0cmFuc2dhbWluZy5jb20+CisJRElCIHNlY3Rpb24gaW1wcm92ZW1lbnRzOyBVcGRhdGVESUJTZWN0aW9uIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGgKKwlMb2NrRElCU2VjdGlvbiBhbmQgVW5sb2NrRElCU2VjdGlvbiwgZm9yIGltcHJvdmVkIHRocmVhZCBzYWZldHkuCisJRElCX1N0YXR1c18qIGlzIG5vdyBkcml2ZXItaW5kZXBlbmRlbnQsIGFuZCB0aGVyZSdzIGEgbmV3CisJRElCX1N0YXR1c19BdXhNb2QuIEJldHRlciBoYW5kbGluZyBvZiBESUIgc3VyZmFjZXMgd2l0aCBub25zdGFuZGFyZAorCXBpdGNoLiBTbGlnaHQgb3B0aW1pemF0aW9uIG9mIERJQnNlY3Rpb24tPmRpc3BsYXkgQml0Qmx0LgorCisJKiBkbGxzL2tlcm5lbC9ubHMvaGViLm5scywgbWlzYy9vcHRpb25zLmMsIHRvb2xzL3dyYy91dGlscy5jLCBkbGxzL2tlcm5lbC9sb2NhbGVfcmMucmM6CisJTWljaGFlbCBWZWtzbGVyIDxtdmVrc2xlckB0ZWNodW5peC50ZWNobmlvbi5hYy5pbD4KKwlBZGQgYmFzaWMgTkxTIGluZm9ybWF0aW9uIG5lZWRlZCBmb3IgSGVicmV3LgorCisJKiBkbGxzL2tlcm5lbC9ubHMvY3ltLm5sczoKKwlIdXcgRCBNIERhdmllcyA8aC5kYXZpZXMxQHBoeXNpY3Mub3guYWMudWs+CisJV2Vsc2ggbmVlZHMgaXNvODg1OS0xNC4KKworCSogd2luZG93cy94MTFkcnYvZXZlbnQuYzoKKwlPdmUgS2FhdmVuIDxvdmVrQGFyY3RpY25ldC5ubz4KKwlVc2UgU2VuZE5vdGlmeU1lc3NhZ2UoKSBmb3IgV01fU1lOQ1BBSU5ULgorCisJKiBkbGxzL250ZGxsL250LmM6CisJSmFtZXMgSnVyYW4gPGphbWVzanVyYW5AYWx1bW5pLnBzdS5lZHU+CisJUmV0dXJuIGEgbWF4aW11bSByZWdpc3RyeSBzaXplIG9mIDMyIE1CIGluIE50UXVlcnlTeXN0ZW1JbmZvcm1hdGlvbi4KKworCSogZG9jdW1lbnRhdGlvbi9zYW1wbGVzL2NvbmZpZzoKKwlBZGRlZCBzYW1wbGUgY29uZmlnIGZpbGUgaW4gdGhlIG5ldyBmb3JtYXQuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmluOgorCVNldCAtbXByZWZlcnJlZC1zdGFjay1ib3VuZGFyeT0yIGZsYWcgaWYgc3VwcG9ydGVkIHRvIGF2b2lkIHdhc3RlZnVsCisJc3RhY2sgYWxpZ25tZW50cy4KKworCSogdG9vbHMvd2luZWJ1aWxkL2ltcG9ydC5jOgorCUVyaWMgUG91ZWNoIDxFcmljLlBvdWVjaEB3YW5hZG9vLmZyPgorCU5vdyBwcmludHMgbGluZSBudW1iZXIgZm9yICd4LmRsbCBpbXBvcnRlZCBidXQgbm8gc3ltYm9scyB1c2VkJyB3YXJuaW5nLgorCisJKiBjb250cm9scy9jb21iby5jOgorCUxvdWlzIFBoaWxpcHBlIEdhZ25vbiA8bG91aXNwaGlsaXBwZUBtYWNhZGFtaWFuLmNvbT4KKwlVcGRhdGUgaW50ZXJuYWwgY29udHJvbHMgb24gV01fV0lORE9XUE9TQ0hBTkdFRC4KKworCSogZGxscy9udGRsbC9udGRsbC5zcGVjLCBtaXNjL01ha2VmaWxlLmluLCBtaXNjL2V4dF9kZWJ1Z2dlci5jLCBNYWtlZmlsZS5pbiwgZGVidWdnZXIvTWFrZWZpbGUuaW4sIGRlYnVnZ2VyL2V4dF9kZWJ1Z2dlci5jLCBkZWJ1Z2dlci93aW5lZGJnLmM6CisJQnVpbGQgdGhlIGRlYnVnZ2VyIGFzIGEgLnNvLgorCisJKiBkbGxzL3NoZWxsMzIvTWFrZWZpbGUuaW4sIGRsbHMvc2hlbGwzMi9zaGVsbGd1aWQuYywgZGxscy9zaGVsbDMyL3NobGZvbGRlci5jLCBkbGxzL3NobHdhcGkvTWFrZWZpbGUuaW4sIGRsbHMvc2hsd2FwaS9zaGx3YXBpX21haW4uYywgaW5jbHVkZS9kcGxheS5oLCBvbGUvTWFrZWZpbGUuaW4sIG9sZS91dWlkLmMsIGRsbHMvYXZpZmlsMzIvTWFrZWZpbGUuaW4sIGRsbHMvYXZpZmlsMzIvYXZpZmlsZS5jLCBkbGxzL2NvbW1kbGcvTWFrZWZpbGUuaW4sIGRsbHMvY29tbWRsZy9maWxlZGxnYnJvd3Nlci5jLCBkbGxzL2RkcmF3L01ha2VmaWxlLmluLCBkbGxzL2RkcmF3L21haW4uYywgZGxscy9kaW5wdXQvTWFrZWZpbGUuaW4sIGRsbHMvZGlucHV0L2RpbnB1dF9tYWluLmMsIGRsbHMvZHBsYXl4L01ha2VmaWxlLmluLCBkbGxzL2RwbGF5eC9kcGxheXhfbWFpbi5jLCBkbGxzL2Rzb3VuZC9NYWtlZmlsZS5pbiwgZGxscy9kc291bmQvZHNvdW5kX21haW4uYywgZGxscy9vbGUzMi9NYWtlZmlsZS5pbiwgZGxscy9vbGUzMi9vbGVvYmouYywgZGxscy9vbGVhdXQzMi9NYWtlZmlsZS5pbiwgZGxscy9vbGVhdXQzMi9vbGVhdXQuYywgTWFrZS5ydWxlcy5pbiwgTWFrZWZpbGUuaW46CisJQ3JlYXRlZCBhIHNtYWxsIHN0YXRpYyBsaWJyYXJ5IGluIG9sZS9saWJ1dWlkLmEgdGhhdCBjb250YWlucyBhbGwgdGhlCisJVVVJRCBkZWZpbml0aW9ucyAod2l0aCB0aGUgaGVscCBvZiBGcmFuY29pcyBHb3VnZXQpLgorCisJKiB0b29scy93bWMvTWFrZWZpbGUuaW4sIHRvb2xzL3dyYy9NYWtlZmlsZS5pbiwgZGxscy9jcnRkbGwvTWFrZWZpbGUuaW4sIGRsbHMvbHpleHBhbmQvTWFrZWZpbGUuaW4sIGRsbHMvbnRkbGwvTWFrZWZpbGUuaW4sIGRsbHMvc2hlbGwzMi9NYWtlZmlsZS5pbiwgZGxscy9zaGx3YXBpL01ha2VmaWxlLmluLCBkbGxzL3ZlcnNpb24vTWFrZWZpbGUuaW4sIGlmMTYzMi9NYWtlZmlsZS5pbiwgbGlidGVzdC9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvTWFrZXByb2cucnVsZXMuaW4sIHByb2dyYW1zL2F2aXRvb2xzL01ha2VmaWxlLmluLCBzZXJ2ZXIvTWFrZWZpbGUuaW4sIHRvb2xzL3dpbmVidWlsZC9NYWtlZmlsZS5pbiwgZGxscy9NYWtlZGxsLnJ1bGVzLmluLCBkbGxzL2NvbWN0bDMyL01ha2VmaWxlLmluOgorCVVzZSBsaWJ3aW5lIGFuZCBsaWJ3aW5lX3VuaWNvZGUgZGlyZWN0bHkgZnJvbSB0aGVpciBidWlsZCBkaXJlY3RvcnkKKwlpbnN0ZWFkIG9mIHVzaW5nIHN5bWxpbmtzLgorCisJKiBkbGxzL3gxMWRydi9NYWtlZmlsZS5pbiwgZGxscy94MTFkcnYveDExZHJ2X21haW4uYywgaW5jbHVkZS90c19zaGFwZS5oLCBpbmNsdWRlL3RzX3hmODZkZ2EuaCwgaW5jbHVkZS90c194Zjg2ZGdhMi5oLCBpbmNsdWRlL3RzX3hmODZ2bW9kZS5oLCBpbmNsdWRlL3RzX3hsaWIuaCwgaW5jbHVkZS90c194cG0uaCwgaW5jbHVkZS90c194cmVzb3VyY2UuaCwgaW5jbHVkZS90c194c2htLmgsIGluY2x1ZGUvdHNfeHV0aWwuaCwgaW5jbHVkZS90c194dmlkZW8uaCwgdG9vbHMvbWFrZV9YMTF3cmFwcGVycywgdHN4MTEvLmN2c2lnbm9yZSwgdHN4MTEvTWFrZWZpbGUuaW4sIHRzeDExL2xvY2tpbmcuYywgdHN4MTEvdHNfc2hhcGUuYywgdHN4MTEvdHNfeGY4NmRnYS5jLCB0c3gxMS90c194Zjg2ZGdhMi5jLCB0c3gxMS90c194Zjg2dm1vZGUuYywgdHN4MTEvdHNfeGxpYi5jLCB0c3gxMS90c194cG0uYywgdHN4MTEvdHNfeHJlc291cmNlLmMsIHRzeDExL3RzX3hzaG0uYywgdHN4MTEvdHNfeHV0aWwuYywgdHN4MTEvdHNfeHZpZGVvLmMsIE1ha2UucnVsZXMuaW4sIE1ha2VmaWxlLmluLCBjb25maWd1cmUsIGNvbmZpZ3VyZS5pbjoKKwlCdWlsZCB0c3gxMSBsYXllciBhcyBhIHNlcGFyYXRlIHNoYXJlZCBsaWJyYXJ5LgorCisyMDAwLTEyLTA1ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL29kYmMzMi9wcm94eW9kYmMuYywgaWYxNjMyL2J1aWx0aW4uYywgbGlicmFyeS9sb2FkZXIuYywgbG9hZGVyL2VsZi5jLCByZWxheTMyL2J1aWx0aW4zMi5jOgorCUFsd2F5cyBwYXNzIGxvd2VyLWNhc2UgZmlsZW5hbWVzIHRvIHdpbmVfZGxsX2xvYWQoKS4KKwlDbGVhciBkbGVycm9yKCkgYmVmb3JlIGFuZCBhZnRlciBjYWxscyB0byBkbG9wZW4vZGxzeW0gdG8gd29yayBhcm91bmQKKwlhIGdsaWJjIGJ1ZyAodGhhbmtzIHRvIEphbWVzIEFiYmF0aWVsbG8gZm9yIHRyYWNraW5nIHRoZSBidWcpLgorCisJKiBkbGxzL2tlcm5lbC9ubHMvc3JiLm5scywgdG9vbHMvd3JjL3V0aWxzLmM6CisJTmVyaWp1cyBCYWxpdW5hcyA8bmVyaWp1c0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CisJRml4ZWQgU2VyYmlhbiBsYW5ndWFnZSBjb2RlIHBhZ2UuCisKKwkqIGNvbnRyb2xzL2NvbWJvLmM6CisJQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXhlZCBhIHByb2JsZW0gd2hlcmUgdGhlIHN0cmluZyBpbiBhIGNvbWJvIGJveCBmbGlja2VycyBpZiB5b3UKKwlyYXBpZGx5IHJlc2V0IHRoZSBjb250ZW50IGFuZCB0aGVuIHJlcGxhY2UgdGhlIGNvbnRlbnQuCisKKwkqIGxvYWRlci9wZV9pbWFnZS5jOgorCUFuZHJlYXMgTW9ociA8YW1vaHJAY29kZXdlYXZlcnMuY29tPgorCUJldHRlciBlcnJvciBtZXNzYWdlIGZvciBmb3J3YXJkcy4KKworCSogZGxscy91c2VyL3Jlc291cmNlcy91c2VyMzIucmMsIGRsbHMvdXNlci9yZXNvdXJjZXMvdXNlcjMyX1poLnJjOgorCUFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJQWRkZWQgQ2hpbmVzZSByZXNvdXJjZXMuCisKKwkqIGluY2x1ZGUvaW1tLmg6CisJSGlkZW5vcmkgVGFrZXNoaW1hIDxoaWRlbm9yaUBhMi5jdGt0di5uZS5qcD4KKwlBZGRlZCBzb21lIG1pc3NpbmcgZGVmaW5pdGlvbnMuCisKKwkqIGRsbHMvcnBjcnQ0L3JwY3J0NF9tYWluLmM6CisJU3RlZmFuIExlaWNodGVyIDxTdGVmYW4uTGVpY2h0ZXJAY2FtbGluZS5jb20+CisJQ29tcGlsZSBmaXggZm9yIGdjYyAyLjcuMi4zLgorCisJKiBNYWtlLnJ1bGVzLmluLCBjb25maWd1cmUsIGNvbmZpZ3VyZS5pbjoKKwlEaW1pdHJpZSBPLiBQYXVuIDxkaW1pQGNzLnRvcm9udG8uZWR1PgorCVVzZSB0aGUgYXBwcm9yaWF0ZSBjb21tYW5kIGZvciBjb21iaW5pbmcgLm8gZmlsZXMuCisKKwkqIHdpbmRvd3Mvd2lucHJvYy5jOgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJUmVtb3ZlZCB0aGUgY29kZSBkdXBsaWNhdGlvbi4KKworCSogd2luZG93cy93aW5wcm9jLmM6CisJUmVpbiBLbGF6ZXMgPHJrbGF6ZXNAY2FzZW1hLm5ldD4KKwlEb24ndCBmb3JnZXQgdG8gbWFwIHRoZSBtZXNzYWdlIGluIFdJTlBST0NfTWFwTXNnMTZUbzMyVygpLgorCisJKiByZWxheTMyL2J1aWx0aW4zMi5jOgorCUFuZHJlYXMgTW9ociA8YW1vaHJAY29kZXdlYXZlcnMuY29tPgorCUZpeGVkIGRsZXJyb3IoKSBjaGVjayB0byB1c2Ugc3Ryc3RyKCkuCisKKwkqIGRsbHMvTWFrZWZpbGUuaW46CisJRGltaXRyaWUgTy4gUGF1biA8ZGltaUBjcy50b3JvbnRvLmVkdT4KKwlVc2UgQExJQkVYVEAgaW5zdGVhZCBvZiAuc28gZm9yIHRoZSBpbnRlci1kbGxzIGRlcGVuZGVuY2llcy4KKworCSogdG9vbHMvbWFrZWRlcC5jOgorCURpbWl0cmllIE8uIFBhdW4gPGRpbWlAY3MudG9yb250by5lZHU+CisJLSBvdmVyd3JpdGUgKHJhdGhlciB0aGFuIGFwcGVuZCkgdGhlIG91dHB1dCBmaWxlIGlmIHdlIGhhdmUgbm8gc2VwYXJhdG9yCisJLSBhdm9pZCBvdXRwdXQgaWYgdGhlcmUgaXMgbm90aGluZyB0byBkbworCisJKiBkbGxzL3VzZXIvdXNlcjMyLnNwZWMsIGluY2x1ZGUvd2ludXNlci5oLCB3aW5kb3dzL2lucHV0LmM6CisJS2VuIENvbGVtYW4gPGtlbl9jb2xlbWFuQGluYW1lLmNvbT4KKwlBZGRlZCBhIGZpcnN0LWN1dCB2ZXJzaW9uIG9mIE1hcFZpcnR1YWxLZXlFeFcoKSB0aGF0IGhhcyB0aGUgc2FtZQorCWZ1bmN0aW9uYWxpdHkgKGFuZCBsaW1pdGF0aW9ucykgYXMgdGhlIEFOU0kgdmVyc2lvbi4KKworCSogdG9vbHMvd2luZWluc3RhbGw6CisJQW5kcmVhcyBNb2hyIDxhbW9ockBjb2Rld2VhdmVycy5jb20+CisJd2luZWluc3RhbGwgZGlkbid0IGNyZWF0ZSB0aGUgZGVmYXVsdCBuby13aW5kb3dzIGRpcmVjdG9yeSAvYworCXdoZW4ganVzdCBwcmVzc2luZyBlbnRlci4KKworCSogZ3JhcGhpY3MveDExZHJ2L2RpYi5jOgorCUd1eSBMLiBBbGJlcnRlbGxpIDxnYWxiZXJ0ZUBuZW8ubHJ1bi5jb20+CisJLSBjb3JyZWN0IG51bWJlciBvZiBjb2xvcm1hcCBlbnRyaWVzIGxvb2tlZCBhdCBpbiBHZXRESUJDb2xvclRhYmxlLgorCS0gY29ycmVjdCBudW1iZXIgb2YgY29sb3JtYXAgZW50cmllcyBwcm9jZXNzZWQgaW4gU2V0RElCQ29sb3JUYWJsZS4KKworCSogZGxscy9rZXJuZWwvbmxzL25sYi5ubHMsIGRsbHMva2VybmVsL25scy9ubGQubmxzOgorCVJlaW4gS2xhemVzIDxya2xhemVzQGNhc2VtYS5uZXQ+CisJU29tZXMgZml4ZXMgZm9yIER1dGNoIGxvY2FsZXMuCisKKwkqIGRsbHMvaW1tMzIvaW1tMzIuc3BlYzoKKwlIaWRlbm9yaSBUYWtlc2hpbWEgPGhpZGVub3JpQGEyLmN0a3R2Lm5lLmpwPgorCUFkZGVkIHNvbWUgc3R1YnMuCisKKzIwMDAtMTItMDIgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIEFOTk9VTkNFLCBDaGFuZ2VMb2csIGluY2x1ZGUvdmVyc2lvbi5oOgorCVJlbGVhc2UgMjAwMDEyMDIuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDIwMDAtMTItMDIgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CiAKIAkqIHNlcnZlci9tYXBwaW5nLmM6CmRpZmYgLS1naXQgYS9pbmNsdWRlL3ZlcnNpb24uaCBiL2luY2x1ZGUvdmVyc2lvbi5oCmluZGV4IGE3OGUzZTMuLjBmZjg5NDIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdmVyc2lvbi5oCisrKyBiL2luY2x1ZGUvdmVyc2lvbi5oCkBAIC0xICsxIEBACi0jZGVmaW5lIFdJTkVfUkVMRUFTRV9JTkZPICJXaW5lIHJlbGVhc2UgMjAwMDEyMDIiCisjZGVmaW5lIFdJTkVfUkVMRUFTRV9JTkZPICJXaW5lIHJlbGVhc2UgMjAwMDEyMjIiCg==