MjAwMi0wNC0xNSAgRGlyayBNdWVsbGVyICA8ZG11ZWxsQGdteC5uZXQ+CgoJKiBNYWtlZmlsZS5hbTogdXNlICQoRVhFRVhUKSB0byBzaHV0IHVwIG5ld2VyIGF1dG9tYWtlIHZlcnNpb25zLgoJT2YgY291cnNlIHRoaXMgaXMgdWdseSBhbmQgdW5wb3J0YWJsZSwgYnV0IGl0IHdvcmtzIGZvciB2YWxncmluZC4uCgkoJChFWEVFWFQpIGlzIGFsd2F5cyBlbXB0eSBvbiB1bml4IHBsYXRmb3JtcykKCgkqIGNvbmZpZ3VyZS5pbjogVXNlIEFNX1BST0dfQVMgKHJlcXVpcmVkIHdpdGggYXV0b21ha2UgMS42LAoJd29ya3Mgd2l0aCBhdXRvbWFrZSAxLjUgYW5kIG5ld2VyKSBpbnN0ZWFkIG9mIHNlbGZoYWNraW5nLgoKMjAwMi0wNC0wNCAgRnLpZOlyaWMgR29icnkgIDxmcmVkZXJpYy5nb2JyeUBzbWFydGRhdGEuY2g+CgoJKiBjb25maWd1cmUuaW4sIGdsaWJjLSouc3VwcCwgeGZyZWUtKi5zdXBwOiBub3csIGNvbmZpZ3VyZQoJY3JlYXRlcyBhIGRlZmF1bHQuc3VwcCBieSBwaWNraW5nIGZyb20gdGhlIGRpZmZlcmVudCBzcGVjaWZpYwoJc3VwcHJlc3Npb24gZmlsZXMuCgoyMDAyLTAzLTI5ICBKdWxpYW4gU2V3YXJkICA8c2V3YXJkakBsb2NhbGhvc3QubG9jYWxkb21haW4+CgoJKiB2Z19zaWduYWxzLmMgKFZHXyhkb19fTlJfc2lnYWN0aW9uKSk6IERvbid0IGFsbG93IHNldHRpbmcgb2YKCWhhbmRsZXJzIGZvciBTSUdLSUxMIG9yIFNJR1NUT1AuICBUaGlzIGZpeGVzCgl2YWxncmluZDogdmdfc2lnbmFscy5jOjcyMyAodmdQbGFpbl9kb19fTlJfc2lnYWN0aW9uKTogCglBc3NlcnRpb24gYG91cl9vbGRfaGFuZGxlciA9PSAoKHZvaWQgKikwKScgZmFpbGVkLgoJCjIwMDItMDMtMjkgIEFsZXhhbmRyZSBEdXJldC1MdXR6ICA8ZHVyZXRfZ0BlcGl0YS5mcj4KCgkqIHZnX3N5c2NhbGxfbWVtLmM6IHdyYXBwZXJzIGZvciBpb2N0bCBUSU9DR1BHUlAgYW5kIFRJT0NTQ1RUWSwKCWFuZCBmb3Igc3lzY2FsbCBfX05SX25pY2UuCgoyMDAyLTAzLTI5ICBUb20gSHVnaGVzIDx0aGhAY3liZXJzY2llbmNlLmNvbT4KCgkqIHZnX3N5c2NhbGxfbWVtLmM6IFNpZ25pZmljYW50bHkgaW1wcm92ZWQgU1lTViBJUEMgY2FsbAoJaGFuZGxpbmcuICBVbmZvcnR1bmF0ZWx5IHNvbWUgb2YgdGhpcyBzdHVmZiBkb2Vzbid0IHVzZQoJc2FmZV9kZXJlZmVyZW5jZSB3aGVuIGl0IHNob3VsZC4KCjIwMDItMDMtMjcgIEZyZWRlcmljIEdvYnJ5ICA8Z29icnlAcHVjay5jaD4KCgkqIGNvbmZpZ3VyZS5pbjogYWRkZWQgc3VwcG9ydCBmb3IgbWFpbnRhaW5lciBtb2RlLiBOb3csIHRvCglkZXZlbG9wcCBvbiB2YWxncmluZCwgaXQgaXMgc3VnZ2VzdGVkIHRvIHJ1biBjb25maWd1cmUgd2l0aCB0aGUKCS0tZW5hYmxlLW1haW50YWluZXItbW9kZS4KCjIwMDItMDMtMjYgIFNpbW9uIEhhdXNtYW5uIDxoYXVzbWFubkBrZGUub3JnPgoKCSogY29uZmlndXJlLmluOiBTdWJzdGl0dXRlIEFTIGFuZCBBU0ZMQUdTLgoJKiBkZW1hbmdsZS9NYWtlZmlsZS5hbTogRG9uJ3QgdXNlIElOQ0xVREVTICs9IHdoZW4gaXQncyB0aGUgZmlyc3QKCWFzc2lnbm1lbnQgdG8gaXQuCgkqIE1ha2VmaWxlLmFtOiBEb24ndCB1c2UgSU5DTFVERVMgKz0gd2hlbiBpdCdzIHRoZSBmaXJzdCBhc3NpZ25tZW50IHRvCglpdC4gVXNlICQoRVhFRVhUKSBmb3IgdGhlIGV4cGxpY2l0IHZhbGdyaW5bZCxxXS5zbyB0YXJnZXRzLgoKMjAwMi0wMy0yNCAgRnJlZGVyaWMgR29icnkgIDxnb2JyeUBwdWNrLmNoPgoKCSogTWFrZWZpbGUuYW06IGFkZGVkIGEgYnpkaXN0IHRhcmdldCB0aGF0IGNyZWF0ZXMgYSBiemlwMiBhcmNoaXZlCglvZiB0aGUgcHJvamVjdC4KCjIwMDItMDMtMjQgIEp1bGlhbiBTZXdhcmQgIDxzZXdhcmRqQGxvY2FsaG9zdC5sb2NhbGRvbWFpbj4KCgkqIHZnX3RvX3Vjb2RlLmMgKGRpc0luc3RyKTogSW1wbGVtZW50IERBQSBhcyB3ZWxsIGFzIERBUy4KICAgICAgICAgQnlyaWFsIEplbnNlbiA8YnlyaWFsQGltYWdlLmRrPgoKCSAoZGlzX2ZwdV9ub19tZW0pOiBEZXRlY3QgRlBVIGluc3RydWN0aW9ucyB3aGljaCBzZXQgJUVGTEFHUyBhbmQKCSBtYXJrIHRoZSByZXN1bHRpbmcgVUluc3RycyBhY2NvcmRpbmdseS4KCgkqIHZnX2VycmNvbnRleHQuYyAocHBfRXJyQ29udGV4dCk6IENoYW5nZSBtZXNzYWdlICJVc2Ugb2YKCXVuaW5pdGlhbGl6ZWQgQ1BVIGNvbmRpdGlvbiBjb2RlIiB0byAiQ29uZGl0aW9uYWwganVtcCBvciBtb3ZlCglkZXBlbmRzIG9uIHVuaW5pdGlhbGlzZWQgdmFsdWUocykiLCBzaW5jZSB0aGF0IHdpbGwgYmUgbW9yZQoJbWVhbmluZ2Z1bCB0byBtb3N0IHByb2dyYW1tZXJzLiAgQWxzbyBjaGFuZ2UgdGhlIHN1cHByZXNzaW9uLWtpbmQKCXRvIENvbmQgaW4gLnN1cHAgZmlsZXMuICBUaGUgb2xkIFZhbHVlMCBkZXNjcmlwdG9yIG1lYW5zIHRoZSBzYW1lCglhbmQgaXMgc3RpbGwgYWNjZXB0ZWQuICBTdWdnZXN0ZWQgYnkgSm9lIEJ1Y2sKCTxKb2UuQnVja0BzeW5vcHN5cy5jb20+LgoKCSogdmdfc3lzY2FsbF9tZW0uYzogQWRkIHN5c2NhbGwgc2V0cmVzZ2lkMzIsIGZyb20gIkFya2FkaQoJRS4gU2hpc2hsb3YiIDxhcmthZGlAaXQubHY+CgoyMDAyLTAzLTIyICBGculk6XJpYyBHb2JyeSAgPGZyZWRlcmljLmdvYnJ5QHNtYXJ0ZGF0YS5jaD4KCgkqIE1ha2VmaWxlLmFtLCBkZW1hbmdsZS9NYWtlZmlsZS5hbTogYWRkZWQgYmFzZSBkZXBlbmRlbmNpZXMgZm9yCgl0aGUgZXhwbGljaXQgY29tcGlsYXRpb24gcnVsZXMgKG5vdCBkb2luZyBzbyBjb3VsZCBsZWFkIHRvIGEKCXNpdHVhdGlvbiB3aGVyZSB0aGUgYXV0b21hdGljIGRlcGVuZGVuY3kgbWVjaGFuaXNtIGZhaWxzKQoKCSogY29uZmlndXJlLmluOiBhZGRpdGlvbmFsIGNoZWNrcyBmb3IgeGZyZWUgYW5kIGdjYwoJCgkqIE1ha2VmaWxlLmluLCBjb25maWd1cmUsIC4uLjogcmVtb3ZlZCBnZW5lcmF0ZWQgZmlsZXMsIGFzIHRoZXkKCWRvbid0IGJlbG9uZyB0byB0aGUgQ1ZTIHJlcG9zaXRvcnkuIFVzZSBhdXRvZ2VuLnNoIHRvIHJlY3JlYXRlCgl0aGVtLiAodGhleSBhcmUgaW4gdGhlIHRhcmJhbGxzIGhvd2V2ZXIpLgoKCSogUkVBRE1FOiB1cGRhdGVkIHRoZSBpbnN0YWxsYXRpb24gcHJvY2VkdXJlCgo=