MjAxMS0wNi0wMiAgTmljayBDbGlmdG9uICA8bmlja2NAcmVkaGF0LmNvbT4KCgkqIGk4NjAuaDogRml4IHNwZWxsaW5nIG1pc3Rha2UgaW4gY29tbWVudC4KCjIwMTEtMDUtMDQgIFRyaXN0YW4gR2luZ29sZCAgPGdpbmdvbGRAYWRhY29yZS5jb20+CgoJKiByczYwMDAuaCAodW5pb24gZXh0ZXJuYWxfYXV4ZW50KTogQWRkIHhfZnR5cGUgZmllbGQuCgkqIHJzNms2NC5oOiAoc3RydWN0IGV4dGVybmFsX2F1eGVudCk6IFJlbWFwIHhfZmlsZSBmaWVsZC4KCjIwMTEtMDUtMDQgIFRyaXN0YW4gR2luZ29sZCAgPGdpbmdvbGRAYWRhY29yZS5jb20+CgoJKiByczYwMDAuaCAoc3RydWN0IGV4dGVybmFsX2V4Y2VwdGFiKTogTmV3IHN0cnVjdC4KCShFWENFUFRTWik6IE5ldyBtYWNyby4KCSogcnM2azY0Lmg6IChzdHJ1Y3QgZXh0ZXJuYWxfZXhjZXB0YWIpOiBOZXcgc3RydWN0LgoJKEVYQ0VQVFNaKTogTmV3IG1hY3JvLgoKMjAxMS0wNS0wMyAgVHJpc3RhbiBHaW5nb2xkICA8Z2luZ29sZEBhZGFjb3JlLmNvbT4KCgkqIHJzNjAwMC5oIChzdHJ1Y3QgZXh0ZXJuYWxfbGRzeW0pOiBVc2UgRV9TWU1OTUxFTiBpbnN0ZWFkIG9mCglTWU1OTUxFTi4KCjIwMTEtMDQtMjcgIFRyaXN0YW4gR2luZ29sZCAgPGdpbmdvbGRAYWRhY29yZS5jb20+CgoJKiB4Y29mZi5oIChGX0ZEUFJfUFJPRiwgRl9GRFBSX09QVEksIEZfRFNBLCBGX1ZBUlBHKQoJKFNUWVBfRFdBUkYsIFNTVUJUWVBfRFdJTkZPKQoJKFNTVUJUWVBfRFdMSU5FLCBTU1VCVFlQX0RXUEJOTVMsIFNTVUJUWVBfRFdQQlRZUCkKCShTU1VCVFlQX0RXQVJOR0UsIFNTVUJUWVBfRFdBQlJFViwgU1NVQlRZUF9EV1NUUikKCShTU1VCVFlQX0RXUk5HRVMsIFNUWVBfVERBVEEsIFNUWVBfVEJTUywgUl9UTFMsIFJfVExTX0lFKQoJKFJfVExTX0xELCBSX1RMU19MRSwgUl9UTFNNLCBSX1RMU01MLCBSX1RPQ1UsIFJfVE9DTCwgQ19EV0FSRik6CglOZXcgbWFjcm9zLgoKMjAxMS0wMy0zMSAgVHJpc3RhbiBHaW5nb2xkICA8Z2luZ29sZEBhZGFjb3JlLmNvbT4KCgkqIGludGVybmFsLmggKENfTlVMTF9WQUxVRSk6IERlZmluZS4KCjIwMTAtMDYtMjkgIEFsYW4gTW9kcmEgIDxhbW9kcmFAZ21haWwuY29tPgoKCSogbWF4cS5oOiBEZWxldGUgZmlsZS4KCjIwMTAtMDQtMTUgIE5pY2sgQ2xpZnRvbiAgPG5pY2tjQHJlZGhhdC5jb20+CgoJKiBhbHBoYS5oOiBVcGRhdGUgY29weXJpZ2h0IG5vdGljZSB0byB1c2UgR1BMdjMuCgkqIGFwb2xsby5oOiBMaWtld2lzZS4KCSogYXJtLmg6IExpa2V3aXNlLgoJKiBhdXgtY29mZi5oOiBMaWtld2lzZS4KCSogZWNvZmYuaDogTGlrZXdpc2UuCgkqIGV4dGVybmFsLmg6IExpa2V3aXNlLgoJKiBnbzMyZXhlLmg6IExpa2V3aXNlLgoJKiBoODMwMC5oOiBMaWtld2lzZS4KCSogaDg1MDAuaDogTGlrZXdpc2UuCgkqIGkzODYuaDogTGlrZXdpc2UuCgkqIGk4NjAuaDogTGlrZXdpc2UuCgkqIGk5NjAuaDogTGlrZXdpc2UuCgkqIGlhNjQuaDogTGlrZXdpc2UuCgkqIGludGVybmFsLmg6IExpa2V3aXNlLgoJKiBtNjhrLmg6IExpa2V3aXNlLgoJKiBtODhrLmg6IExpa2V3aXNlLgoJKiBtYXhxLmg6IExpa2V3aXNlLgoJKiBtY29yZS5oOiBMaWtld2lzZS4KCSogbWlwcy5oOiBMaWtld2lzZS4KCSogbWlwc3BlLmg6IExpa2V3aXNlLgoJKiBvcjMyLmg6IExpa2V3aXNlLgoJKiBwZS5oOiBMaWtld2lzZS4KCSogcG93ZXJwYy5oOiBMaWtld2lzZS4KCSogcnM2MDAwLmg6IExpa2V3aXNlLgoJKiByczZrNjQuaDogTGlrZXdpc2UuCgkqIHNoLmg6IExpa2V3aXNlLgoJKiBzcGFyYy5oOiBMaWtld2lzZS4KCSogdGkuaDogTGlrZXdpc2UuCgkqIHRpYzMwLmg6IExpa2V3aXNlLgoJKiB0aWM0eC5oOiBMaWtld2lzZS4KCSogdGljNTR4Lmg6IExpa2V3aXNlLgoJKiB0aWM4MC5oOiBMaWtld2lzZS4KCSogdzY1Lmg6IExpa2V3aXNlLgoJKiB3ZTMyay5oOiBMaWtld2lzZS4KCSogeDg2XzY0Lmg6IExpa2V3aXNlLgoJKiB4Y29mZi5oOiBMaWtld2lzZS4KCSogejgwLmg6IExpa2V3aXNlLgoJKiB6OGsuaDogTGlrZXdpc2UuCgoyMDA5LTEyLTAyICBKZXJrZXIgQuRjayAgPGplcmtlci5iYWNrQGdtYWlsLmNvbT4KCglQUiBiaW51dGlscy8xMTAxNwoJKiBpMzg2bGggKENPRkZfUEFHRV9TSVpFKTogRGVmaW5lLgoJKiB4ODZfNjQuaCAoQ09GRl9QQUdFX1NJWkUpOiBEZWZpbmUuCgoyMDA5LTEwLTE3ICBBcm5vbGQgTWV0c2VsYWFyICA8YXJub2xkLm1ldHNlbGFhckBwbGFuZXQubmw+CgoJKiB6ODAuaDogU3RvcmUgYWxpZ25tZW50IHJlcXVpcmVtZW50IGluIHNlY3Rpb24gaGVhZGVyLCB0byBhbGxvdwoJbGQgdG8gcHJlc2VydmUgYWxpZ25tZW50LiBTb21lIGNvZGUgd2FzIGNvcGllZCBmcm9tIHRpLmguCgoyMDA5LTA5LTA1ICBNYXJ0aW4gVGh1cmVzc29uICA8bWFydGluQG10bWUub3JnPgoKCSogdGkuaCAoR0VUX0xOU1pfU0laRSwgUFVUX0xOU1pfU0laRSk6IFVwZGF0ZWQgbmFtZSBvZiBjbGFzcwoJdmFyaWFibGUgdG8gaW5fY2xhc3MgdG8gbWF0Y2ggY2hhbmdlcyBpbiBmdW5jdGlvbiB0aGF0IHVzZSB0aGlzCgltYWNyby4KCjIwMDktMDgtMTAgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KCglGaXggcmVmZXJlbmNlcyBwYXN0IGFsbG9jYXRlZCBtZW1vcnkgZm9yIGkzODYtKi1nbzMyLgoJKiB0aS5oIChDT0ZGX0FESlVTVF9GSUxFSERSX0lOX1BPU1QsIENPRkZfQURKVVNUX0ZJTEVIRFJfT1VUX1BPU1QpOgoJUmVmZXJlbmNlIEZfVEFSR0VUX0lEIG9ubHkgd2hlbiAhQ09GRjBfUC4KCjIwMDktMDgtMTAgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KCglTdG9wIHVzaW5nIGJmZF91c3JkYXRhIGluIGxpYmJmZC4KCSogZ28zMmV4ZS5oIChzdHJ1Y3QgZXh0ZXJuYWxfZmlsZWhkcl9nbzMyX2V4ZSA8c3R1Yj4sIEZJTEhTWik6IFJlcGxhY2UKCVNUVUJTSVpFIGJ5IEdPMzJfU1RVQlNJWkUuCgkoU1RVQlNJWkUpOiBNb3ZlIHRoZSBkZWZpbml0aW9uIC4uLgoJKiBpbnRlcm5hbC5oIChHTzMyX1NUVUJTSVpFKTogLi4uIGhlcmUgYW5kIHJlbmFtZSBpdC4KCShzdHJ1Y3QgaW50ZXJuYWxfZmlsZWhkciA8Z28zMnN0dWI+LCBGX0dPMzJTVFVCKTogTmV3LgoKMjAwOS0wNi0wMyAgVWxyaWNoIFdlaWdhbmQgIDx1d2VpZ2FuZEBkZS5pYm0uY29tPgoKCSogc3ltY29uc3QuaCAoYnRMb25nNjQsIGJ0VUxvbmc2NCwgYnRMb25nTG9uZzY0LCBidFVMb25nTG9uZzY0LAoJYnRBZHI2NCwgYnRJbnQ2NCwgYnRVSW50NjQpOiBOZXcgZGVmaW5lcy4KCjIwMDktMDQtMjEgIEthaSBUaWV0eiAgPGthaS50aWV0ekBvbmV2aXNpb24uY29tPgoKCSogcGUuaCAocGV4NjRfcnVudGltZV9mdW5jdGlvbik6IE5ldyBzdHJ1Y3R1cmUuCgkoZXh0ZXJuYWxfcGV4NjRfcnVudGltZV9mdW5jdGlvbik6IExpa2V3aXNlLgoJKHBleDY0X3Vud2luZF9jb2RlKTogTGlrZXdpc2UuCgkoZXh0ZXJuYWxfcGV4NjRfdW53aW5kX2NvZGUpOiBMaWtld2lzZS4KCShwZXg2NF91bndpbmRfaW5mbyk6IExpa2V3aXNlLgoJKGV4dGVybmFsX3BleDY0X3Vud2luZF9pbmZvKTogTGlrZXdpc2UuCgkoZXh0ZXJuYWxfcGV4NjRfc2NvcGUpOiBMaWtld2lzZS4KCShwZXg2NF9zY29wZSk6IExpa2V3aXNlLgoJKHBleDY0X3Njb3BlX2VudHJ5KTogIExpa2V3aXNlLgoJKGV4dGVybmFsX3BleDY0X3Njb3BlX2VudHJ5KTogTGlrZXdpc2UuCgkoUEVYNjRfSVNfUlVOVElNRV9GVU5DVElPTl9DSEFJTkVEKTogTmV3IG1hY3JvLgoJKFBFWDY0X0dFVF9VTldJTkREQVRBX1VOSUZJRURfUlZBKTogTGlrZXdpc2UuCgkoUEVYNjRfVU5XQ09ERV9DT0RFKTogTGlrZXdpc2UuCgkoUEVYNjRfVU5XQ09ERV9JTkZPKTogTGlrZXdpc2UuCgkoVVdPUF8uLi4pOiBBZGQgZGVmaW5lcyBmb3IgdW53aW5kIGNvZGUuCgkoVU5XX0ZMQUdfLi4uKTogQWRkIGRlZmluZWQgZm9yIHVud2luZCBpbmZvIGZsYWdzLgoJKFBFWDY0X1NDT1BFX0VOVFJZX1NJWkUpOiBOZXcgbWFjcm8uCgkoUEVYNjRfVVdJX1ZFUlNJT04pOiBMaWtld2lzZS4KCShQRVg2NF9VV0lfRkxBR1MpOiBMaWtld2lzZS4KCShQRVg2NF9VV0lfRlJBTUVSRUcpOiBMaWtld2lzZS4KCShQRVg2NF9VV0lfRlJBTUVPRkYpOiBMaWtld2lzZS4KCShQRVg2NF9VV0lfU0laRU9GX1VXQ09ERV9BUlJBWSk6IExpa2V3aXNlLgoJKFBFWDY0X09GRlNFVF9UT19VTldJTkRfQ09ERSk6IExpa2V3aXNlLgoJKFBFWDY0X09GRlNFVF9UT19IQU5ETEVSX1JWQSk6IExpa2V3aXNlLgoJKFBFWDY0X09GRlNFVF9UT19TQ09QRV9DT1VOVCk6IExpa2V3aXNlLgoJKFBFWDY0X1NDT1BFX0VOVFJZKTogTGlrZXdpc2UuCgoyMDA5LTA0LTE3ICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CgoJKiBwZS5oIChJTUFHRV9TVUJTWVNURU1fRUZJX1JPTSk6IFJlbmFtZWQgdG8gLi4uCgkoSU1BR0VfU1VCU1lTVEVNX1NBTF9SVU5USU1FX0RSSVZFUik6IFRoaXMuCgoyMDA5LTA0LTAxICBSaWNoYXJkIFNhbmRpZm9yZCAgPHIuc2FuZGlmb3JkQHVrLmlibS5jb20+CgoJKiB4Y29mZi5oICh4Y29mZl9saW5rX2hhc2hfdGFibGUpOiBNb3ZlIHRvIGJmZC94Y29mZmxpbmsuYy4KCjIwMDktMDMtMTQgIFJpY2hhcmQgU2FuZGlmb3JkICA8ci5zYW5kaWZvcmRAdWsuaWJtLmNvbT4KCgkqIHhjb2ZmLmggKFhDT0ZGX0VYUEFMTCwgWENPRkZfRVhQRlVMTCk6IE5ldyBmbGFncy4KCSh4Y29mZl9sb2FkZXJfaW5mbyk6IEFkZCBhdXRvX2V4cG9ydF9mbGFncy4KCjIwMDktMDMtMTQgIFJpY2hhcmQgU2FuZGlmb3JkICA8ci5zYW5kaWZvcmRAdWsuaWJtLmNvbT4KCgkqIGludGVybmFsLmggKENfQUlYX1dFQUtFWFQpOiBOZXcgbWFjcm8uCgkoQ19XRUFLRVhUKTogVXNlIHRoZSBHTlUgZGVmaW5pdGlvbiBpbiB0aGUgZ2VuZXJpYyBwYXJ0IG9mIHRoZSBmaWxlLAoJYW5kIGNvbmRpdGlvbmFsbHkgcmVzZXQgaXQgdG8gQ19BSVhfV0VBS0VYVCBpbiB0aGUgWENPRkYgcGFydCBvZgoJdGhlIGZpbGUuCgkoQ1NFQ1RfU1lNX1ApOiBOZXcgbWFjcm8uCgkqIHhjb2ZmLmggKExfV0VBSyk6IERlZmluZS4KCShFWFRFUk5fU1lNX1ApOiBOZXcgbWFjcm8uCgoyMDA5LTAzLTE0ICBSaWNoYXJkIFNhbmRpZm9yZCAgPHIuc2FuZGlmb3JkQHVrLmlibS5jb20+CgoJKiB4Y29mZi5oIChYQ09GRl9BTExPQ0FURUQpOiBOZXcgZmxhZy4KCjIwMDktMDMtMTQgIFJpY2hhcmQgU2FuZGlmb3JkICA8ci5zYW5kaWZvcmRAdWsuaWJtLmNvbT4KCgkqIHhjb2ZmLmggKFhDT0ZGX0NBTExFRCwgWENPRkZfSU1QT1JUKTogVXBkYXRlIGNvbW1lbnRzLgoJKFhDT0ZGX1dBU19VTkRFRklORUQpOiBOZXcgZmxhZy4KCSh4Y29mZl9saW5rX2hhc2hfdGFibGUpOiBBZGQgYW4gInJ0bGQiIGZpZWxkLgoKMjAwOS0wMy0xNCAgRGF2ZSBLb3JuICA8ZGF2ZS5rb3JuLmN5Z3dpbkBnbWFpbC5jb20+CgoJKiBpbnRlcm5hbC5oIChzdHJ1Y3QgaW50ZXJuYWxfZXh0cmFfcGVfYW91dGhkcik6ICBDb3JyZWN0IHR5cGUKCW9mIERsbENoYXJhY3RlcmlzdGljcyBmbGFncyBmaWVsZCB0byB1bnNpZ25lZC4KCSogcGUuaCAoSU1BR0VfRExMX0NIQVJBQ1RFUklTVElDU19EWU5BTUlDX0JBU0UsCglJTUFHRV9ETExfQ0hBUkFDVEVSSVNUSUNTX0RZTkFNSUNfQkFTRSwKCUlNQUdFX0RMTF9DSEFSQUNURVJJU1RJQ1NfTlhfQ09NUEFULAoJSU1BR0VfRExMQ0hBUkFDVEVSSVNUSUNTX05PX0lTT0xBVElPTiwKCUlNQUdFX0RMTENIQVJBQ1RFUklTVElDU19OT19TRUgsCglJTUFHRV9ETExDSEFSQUNURVJJU1RJQ1NfTk9fQklORCwKCUlNQUdFX0RMTENIQVJBQ1RFUklTVElDU19XRE1fRFJJVkVSLAoJSU1BR0VfRExMQ0hBUkFDVEVSSVNUSUNTX1RFUk1JTkFMX1NFUlZFUl9BV0FSRSk6ICBOZXcgbWFjcm9zIHRvCglkZWZpbmUgZmxhZyBiaXQgdmFsdWVzIGZvciBEbGxDaGFyYWN0ZXJpc3RpY3MgZmllbGQgb2YgUEVBT1VUSERSLAoJUEVQQU9VVEhEUi4KCjIwMDgtMTItMjMgIEpvaGFuIE9sbXV0eiBOaWVsc2VuICA8am5pZWxzZW5AZGRjaS5jb20+CgoJKiB0aS5oIChDT0ZGX0FESlVTVF9TQ05IRFJfT1VUX1BSRSk6IERlZmluZS4KCjIwMDgtMDYtMTcgIE5pY2sgQ2xpZnRvbiAgPG5pY2tjQHJlZGhhdC5jb20+CgoJKiB0aS5oIChHRVRfU0NOSERSX05MTk5PKTogUHJvdmlkZSBhbiBhbHRlcm5hdGl2ZSB2ZXJzaW9uIG9mIHRoaXMKCW1hY3JvIHdoaWNoIGRvZXMgbm90IHRyaWdnZXIgYW4gYXJyYXkgYm91bmRzIHdhcm5pbmcgaW4gZ2NjLgoJKFBVVF9TQ05IRFJfTkxOTk8pOiBMaWtld2lzZS4KCShHRVRfU0NOSERSX0ZMQUdTKTogTGlrZXdpc2UuCgkoUFVUX1NDTkhEUl9GTEFHUyk6IExpa2V3aXNlLgoJKEdFVF9TQ05IRFJfUEFHRSk6IExpa2V3aXNlLgoJKFBVVF9TQ05IRFJfUEFHRSk6IExpa2V3aXNlLgoKMjAwNy0xMS0wNSAgRGFubnkgU21pdGggIDxkYW5ueXNtaXRoQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIHBlLmggKENPRkZfRU5DT0RFX0FMSUdOTUVOVCkgRGVmaW5lLgoKMjAwNy0wOC0wMiAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoKCSogcGUuaCAoSU1BR0VfU0NOX0FMSUdOX1BPV0VSX0JJVF9QT1MpOiBOZXcuCgkoSU1BR0VfU0NOX0FMSUdOX1BPV0VSX0JJVF9NQVNLKTogTGlrZXdpc2UuCgkoSU1BR0VfU0NOX0FMSUdOX1BPV0VSX05VTSk6IExpa2V3aXNlLgoJKElNQUdFX1NDTl9BTElHTl9QT1dFUl9DT05TVCk6IExpa2V3aXNlLgoJKElNQUdFX1NDTl9BTElHTl8xMjhCWVRFUyk6IExpa2V3aXNlLgoJKElNQUdFX1NDTl9BTElHTl8yNTZCWVRFUyk6IExpa2V3aXNlLgoJKElNQUdFX1NDTl9BTElHTl81MTJCWVRFUyk6IExpa2V3aXNlLgoJKElNQUdFX1NDTl9BTElHTl8xMDI0QllURVMpOiBMaWtld2lzZS4KCShJTUFHRV9TQ05fQUxJR05fMjA0OEJZVEVTKTogTGlrZXdpc2UuCgkoSU1BR0VfU0NOX0FMSUdOXzQwOTZCWVRFUyk6IExpa2V3aXNlLgoJKElNQUdFX1NDTl9BTElHTl84MTkyQllURVMpOiBMaWtld2lzZS4KCShJTUFHRV9TQ05fQUxJR05fMUJZVEVTKTogUmVkZWZpbmVkIHdpdGgKCUlNQUdFX1NDTl9BTElHTl9QT1dFUl9DT05TVC4KCShJTUFHRV9TQ05fQUxJR05fMkJZVEVTKTogTGlrZXdpc2UuCgkoSU1BR0VfU0NOX0FMSUdOXzRCWVRFUyk6IExpa2V3aXNlLgoJKElNQUdFX1NDTl9BTElHTl84QllURVMpOiBMaWtld2lzZS4KCShJTUFHRV9TQ05fQUxJR05fMTZCWVRFUyk6IExpa2V3aXNlLgoJKElNQUdFX1NDTl9BTElHTl8zMkJZVEVTKTogTGlrZXdpc2UuCgkoSU1BR0VfU0NOX0FMSUdOXzY0QllURVMpOiBMaWtld2lzZS4KCjIwMDctMDctMTIgIEthaSBUaWV0eiAgIDxrYWkudGlldHpAb25ldmlzaW9uLmNvbT4KCgkqIGludGVybmFsLmggKHN0cnVjdCBpbnRlcm5hbF9zeW1lbnQpOiBVc2UgYmZkX2hvc3RwdHJfdCBmb3IKCV9uX3plcm9lcyBhbmQgX25fb2Zmc2V0IGZpZWxkcy4KCjIwMDctMDQtMjcgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CgoJKiByczYwMDAuaDogV3JpdGUgTWltaSdzIG5hbWUgaW4gQVNDSUkuCgoyMDA3LTAzLTE5ICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CgoJKiBpbnRlcm5hbC5oIChpbnRlcm5hbF9leHRyYV9wZV9hb3V0aGRyKTogQWRkIE1hZ2ljLAoJTWFqb3JMaW5rZXJWZXJzaW9uLCBNaW5vckxpbmtlclZlcnNpb24sIFNpemVPZkNvZGUsCglTaXplT2ZJbml0aWFsaXplZERhdGEsIFNpemVPZlVuaW5pdGlhbGl6ZWREYXRhLAoJQWRkcmVzc09mRW50cnlQb2ludCwgQmFzZU9mQ29kZSBhbmQgQmFzZU9mRGF0YS4KCjIwMDYtMTItMDUgIE1pY2hhZWwgVGF1dHNjaG5pZyAgPHRhdXRzY2huQG1vZGVsLmluLnR1bS5kZT4KCSAgICBOaWNrIENsaWZ0b24gIDxuaWNrY0ByZWRoYXQuY29tPgoKCSogZXh0ZXJuYWwuaCAoc3RydWN0IGV4dGVybmFsX2FvdXRoZHIpOiBBZGQgQVRUUklCVVRFX1BBQ0tFRC4KCShzdHJ1Y3QgZXh0ZXJuYWxfc3ltZW50KTogTGlrZXdpc2UuCgkodW5pb24gZXh0ZXJuYWxfYXV4ZW50KTogTGlrZXdpc2UuCgoyMDA2LTExLTE0ICBQaGlsIExlbGxvICA8cGhpbC5sZWxsb0Bob21lY2FsbC5jby51az4KCgkqIHBlLmg6IEFkZGVkIGRlZmluZXMgZm9yIElNQUdFX1NVQlNZU1RFTV9FRklfUk9NIGFuZAoJSU1BR0VfU1VCU1lTVEVNX1hCT1guCgkqIGludGVybmFsLmg6IEFkZGVkIGRlZmluZXMgZm9yIFBFIGRpcmVjdG9yeSBlbnRyeSB0eXBlcy4KCU5COiBpbiBpbnRlcm5hbC5oIGJlY2F1c2UgSU1BR0VfTlVNQkVST0ZfRElSRUNUT1JZX0VOVFJZSUVTIGlzIGluCglwZS5oCgoyMDA2LTA5LTIwICBLYWkgVGlldHogIDxLYWkuVGlldHpAb25ldmlzaW9uLmNvbT4KCgkqIGV4dGVybmFsLmg6IEFkZCBwcm9wZXIgZXh0ZXJuYWxfYW91dGhkcjY0IHN0cnVjdHVyZSAod2l0aG91dAoJZGF0YV9zdGFydCBtZW1iZXIpLgoJKEFPVVRIRFJTWjY0KTogU2V0IGFjY29yZGluZyBzdHJ1Y3R1cmUgc2l6ZS4KCShBT1VUSERSNjQpOiBBcyB0eXBlZGVmIG9mIGV4dGVybmFsX2FvdXRoZHI2NCBzdHJ1Y3R1cmUuCgkqIGludGVybmFsLmg6IEFkZCByZWxvY2F0aW9uIGlkZW50aWZpZXJzIGZvciBjb2ZmLgoJKiBwZS5oOglBZGQgZGVmaW5lIElNQUdFX0ZJTEVfTUFDSElORV9BTUQ2NCB0aGUgY29mZiBzaWduYXR1cmUuCgkoUEVQQU9VVEhEUik6IEFkanVzdCBzdHJ1Y3R1cmUgdG8gaGF2ZSBwcm9wZXIgc2l6ZSAodXNpbmcgQU9VVEhEUjY0KS4KCShQRVBBT1VUU1opOiBDYWxjdWxhdGVkIHNpemUgb2YgMjQwLgoJKiB4ODZfNjQuaDogQ29mZiBpbmZvcm1hdGlvbiBmb3IgeDg2XzY0IChBTUQ2NCkuCgoyMDA2LTAyLTA1ICBBcm5vbGQgTWV0c2VsYWFyICA8YXJub2xkLm1ldHNlbGFhckBwbGFuZXQubmw+CgoJKiBpbnRlcm5hbC5oOiBBZGQgcmVsb2NhdGlvbiBudW1iZXIgUl9JTU0yNCBmb3IgWjgwLgoKMjAwNS0xMC0yNSAgQXJub2xkIE1ldHNlbGFhciAgPGFybm9sZC5tZXRzZWxhYXJAcGxhbmV0Lm5sPgoKCSogaW50ZXJuYWwuaDogQWRkIHJlbG9jYXRpb24gbnVtYmVyIGZvciBaODAKCSogejgwLmg6IE5ldyBmaWxlLgoKMjAwNS0wOC0xOCAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIGEyOWsuaDogRGVsZXRlLgoKMjAwNS0wNy0xNCAgRGFuaWVsIE1hcnF1ZXMgIDxtYXJxdWVzQGNzLmNvcm5lbGwuZWR1PgoKCSogYWxwaGEuaCAoQUxQSEFfRUNPRkZfQ09NUFJFU1NFRE1BRyk6IERlZmluZS4KCSogZWNvZmYuaCAoQUxQSEFfTUFHSUNfQ09NUFJFU1NFRCk6IERlZmluZS4KCjIwMDUtMDUtMTAgIE5pY2sgQ2xpZnRvbiAgPG5pY2tjQHJlZGhhdC5jb20+CgoJKiBVcGRhdGUgdGhlIGFkZHJlc3MgYW5kIHBob25lIG51bWJlciBvZiB0aGUgRlNGIG9yZ2FuaXphdGlvbiBpbgoJdGhlIEdQTCBub3RpY2VzIGluIHRoZSBmb2xsb3dpbmcgZmlsZXM6CglhMjlrLmgsCWFscGhhLmgsIGFwb2xsby5oLCBhcm0uaCwgYXV4LWNvZmYuaCwgZWNvZmYuaCwgZXh0ZXJuYWwuaCwKCWdvMzJleGUuaCwgaDgzMDAuaCwgaDg1MDAuaCwgaTM4Ni5oLCBpODYwLmgsIGk5NjAuaCwgaWE2NC5oLAoJaW50ZXJuYWwuaCwgbTY4ay5oLCBtODhrLmgsIG1heHEuaCwgbWNvcmUuaCwgbWlwcy5oLCBtaXBzcGUuaCwKCW9yMzIuaCwgcGUuaCwgcG93ZXJwYy5oLCByczZrNjQuaCwgc2guaCwgc3BhcmMuaCwgdGkuaCwgdGljMzAuaCwKCXRpYzR4LmgsIHRpYzU0eC5oLCB0aWM4MC5oLCB3NjUuaCwgd2UzMmsuaCwgeGNvZmYuaCwgejhrLmgKCjIwMDUtMDItMjEgIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CgoJKiB4Y29mZi5oIChzdHJ1Y3QgeGNvZmZfbG9hZGVyX2luZm8pOiBXYXJuaW5nIGZpeC4KCjIwMDUtMDEtMTAgIEluZGVycHJlZXQgU2luZ2ggPGluZGVycHJlZXRiQG5vaWRhLmhjbHRlY2guY29tPgoKCSogbWF4cS5oIChGX01BWFExMCwgRl9NQVhRMjApOiBEZWZpbmUuCgoyMDA0LTExLTA4ICBJbmRlcnByZWV0IFNpbmdoICAgPGluZGVycHJlZXRiQG5pb2RhLmhjbHRlY2guY29tPgoJICAgIFZpbmVldCBTaGFybWEgICAgICA8dmluZWV0c0Bub2lkYS5oY2x0ZWNoLmNvbT4KCgkqIG1heHEuaDogTmV3IGZpbGU6IERlZmludGlvbnMgZm9yIHRoZSBtYXhxIHBvcnQuCgoyMDA0LTExLTA4ICBBYXJvbiBXLiBMYUZyYW1ib2lzZSA8YWFyb245OHdpcmlkZ2U5QGFhcm9ud2wuY29tPgoKCSogcGUuaCAoSU1BR0VfV0VBS19FWFRFUk5fU0VBUkNIX05PTElCUkFSWSk6IERlZmluZS4KCShJTUFHRV9XRUFLX0VYVEVSTl9TRUFSQ0hfTElCUkFSWSk6IFNhbWUuCgkoSU1BR0VfV0VBS19FWFRFUk5fU0VBUkNIX0FMSUFTKTogU2FtZS4KCjIwMDQtMDgtMTMgIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCSogc3ltY29uc3QuaCAobGFuZ01heCk6IEZpeCB0eXBvIGluIGNvbW1lbnQuCgoyMDA0LTA0LTIzICBDaHJpcyBEZW1ldHJpb3UgIDxjZ2RAYnJvYWRjb20uY29tPgoKCSogbWlwcy5oIChNSVBTX1JfUkVMSEksIE1JUFNfUl9SRUxMTywgTUlQU19SX1NXSVRDSCk6IFJlbW92ZQoJKE1JUFNfUl9QQ1JFTDE2KTogVXBkYXRlIGNvbW1lbnQuCgkqIGVjb2ZmLmggKHN0cnVjdCBlY29mZl92YWx1ZV9hZGp1c3QpOiBSZW1vdmUgc3RydWN0dXJlLgoJKHN0cnVjdCBlY29mZl9kZWJ1Z19pbmZvKTogUmVtb3ZlICdhZGp1c3QnIG1lbWJlci4KCjIwMDQtMDQtMjAgIERKIERlbG9yaWUgIDxkakByZWRoYXQuY29tPgoKCSogaW50ZXJuYWwuaCAoUl9TRUNSRUwzMik6IEFkZC4KCkZvciBvbGRlciBjaGFuZ2VzIHNlZSBDaGFuZ2VMb2ctOTEwMwoMCkxvY2FsIFZhcmlhYmxlczoKbW9kZTogY2hhbmdlLWxvZwpsZWZ0LW1hcmdpbjogOApmaWxsLWNvbHVtbjogNzQKdmVyc2lvbi1jb250cm9sOiBuZXZlcgpFbmQ6Cg==