MjAwNC0wNC0xOSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIHJ0L3RzdC1tcXVldWU5LmMgKGRvX3Rlc3QpOiBJbml0aWFsaXplIFJFU1VMVC4KCjIwMDQtMDQtMTkgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbXFfdW5saW5rLmMgKG1xX3VubGluayk6IENoYW5nZSBFUEVSTSBpbnRvCglFQUNDRVMuCgkqIHJ0L01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3QtbXF1ZXVlOS4KCSogcnQvdHN0LW1xdWV1ZTkuYzogTmV3IHRlc3QuCgkqIHJ0L3RzdC1tcXVldWU0LmMgKGRvX3Rlc3QpOiBBZGQgdGVzdCBmb3IgbXFfdW5saW5rIG9mIGEgdG9vIGxvbmcKCW5hbWUgY29tcG9uZW50LgoKMjAwNC0wNC0xOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBydC90c3QtbXF1ZXVlNy5jIChkb190ZXN0KTogTWFrZSBuZXdhcmd2IGNvbnN0LgoKMjAwNC0wNC0xOCAgUmFuZG9scGggQ2h1bmcgIDx0YXVzcUBkZWJpYW4ub3JnPgoKCSogc3lzZGVwcy9ocHBhL2VsZi9lbnRyeS5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9ocHBhL21hY2hpbmUtZ21vbi5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS9wcm9maWwtY291bnRlci5oOiBEb24ndCB1c2UgeDg2IHZlcnNpb24uCgoyMDA0LTA0LTE4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcnQtc3lzZGVwLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL01ha2VmaWxlIChsaWJydC1yb3V0aW5lcyk6IEFkZAoJcnQtc3lzZGVwLgoKCSogcnQvdHN0LW1xdWV1ZTUuYyAobXFzZW5kKTogRG9uJ3QgaW5saW5lLgoJKG1xcmVjdik6IExpa2V3aXNlLgoKCSogcnQvdHN0LXRpbWVyNC5jOiBJbmNsdWRlIDxzdHJpbmcuaD4uCgoyMDA0LTA0LTE3ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHJ0L01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3QtbXF1ZXVlOC4KCSogcnQvdHN0LW1xdWV1ZTguYzogTmV3IHRlc3QuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL01ha2VmaWxlIChsaWJydC1yb3V0aW5lcyk6IEFkZAoJcnQtc3lzZGVwLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3J0LXN5c2RlcC5TOiBOZXcgZmlsZS4KCjIwMDQtMDMtMjYgIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3dvcmRzaXplLTY0L2Z4c3RhdC5jIChfX2Z4c3RhdCk6IERvbid0Cgl1c2UgInN0cnVjdCBrZXJuZWxfc3RhdCIuCgoyMDA0LTA0LTAyICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CgoJKiBzeXNkZXBzL2lhNjQvbWVtY21wLlM6IEZpeCBzeW1ib2wuCgoyMDA0LTA0LTA0ICBDYXJsb3MgTydEb25lbGwgIDxjYXJsb3NAYmFsZHJpYy51d28uY2E+CgoJKiBzeXNkZXBzL2hwcGEvRGlzdDogQWRkIGJpdHMvbGluay5oIGVsZi9lbnRyeS5oLgoKCSogc3lzZGVwcy9ocHBhL2JpdHMvbGluay5oOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvaHBwYS9kbC1tYWNoaW5lLmggKF9faHBwYV9pbml0X2Jvb3RzdHJhcF9mZGVzY190YWJsZSk6CglJbml0aWFsemUgdGhlIGZkZXNjIHRhYmxlIGZvciB0aGUgZ2VuZXJpYyBjb2RlLgoJKGVsZl9tYWNoaW5lX2R5bmFtaWMpOiBVc2UgYXNtIHZlcnNpb24uCgkoZWxmX21hY2hpbmVfbG9hZF9hZGRyZXNzcyk6IFNpbXBsaWZ5IGFzbSBieSBjYWxsaW5nCgllbGZfbWFjaGluZV9keW5hbWljLgoJKGVsZl9tYWNoaW5lX2ZpeHVwX3BsdCk6IENvcnJlY3QgY29tbWVudC4KCShlbGZfbWFjaGluZV9wcm9maWxlX2ZpeHVwX3BsdCk6IE5ldy4KCShlbGZfbWFjaGluZV9ydW50aW1lX3NldHVwKTogQ2hlY2sgUExUIGV4aXN0cywgaWYgbGF6eT0xICBwcm9jZXNzCglub3JtYWxseSwgZWxzZSByZWxvY2F0ZSBhbGwgdGhlIGFic29sdXRlIGVudHJpZXMuCgkoUlRMRF9TVEFSVCk6IEZpeCBjb21tZW50cy4KCShUUkFNUE9MSU5FX1RFTVBMQVRFKTogUmVmb3JtYXQgYXNzZW1ibHksIGFkZCByZXR1cm4gcG9pbnRlciBmb3IKCWNhbGxzIHRvIHByb2ZpbGVfZml4dXAuCgkoRUxGX01BQ0hJTkVfU0laRU9GX0pNUF9TTE9ULCBETF9TVEFUSUNfRlVOQ1RJT05fQUREUkVTUywKCURMX1BMQVRGT1JNX0lOSVQpOiBEZWZpbmUuCgkoRExfRlVOQ1RJT05fQUREUkVTUyk6IFJlbW92ZS4KCShkbF9wbGF0Zm9ybV9pbml0KTogTmV3LgoJKGVsZl9tYWNoaW5lX3JlbGEpOiBVc2UgZ2VuZXJpYyBmZGVzYyBjb2RlLCBhbmQgcHJvY2VzcyBhbGwgQ09QWQoJcmVsb2NhdGlvbnMuIFVzZSBfX2F0dHJpYnV0ZV9fKChhbHdheXNfaW5saW5lKSkuCgkoZWxmX21hY2hpbmVfcmVsYV9yZWxhdGl2ZSk6IEFkZCBzYW5pdHkgY2hlY2tzLCByZW1vdmUgSVBMVAoJcHJvY2Vzc2luZywgcHJpbnQgZXJyb3IgbWVzc2FnZSBpbiBkZWZhdWx0IGNhc2UuIFVzZQoJX19hdHRyaWJ1dGVfXygoYWx3YXlzX2lubGluZSkpLgoJKGVsZl9tYWNoaW5lX2xhenlfcmVsKTogVXNlIF9fYXR0cmlidXRlX18oKGFsd2F5c19pbmxpbmUpKS4KCjIwMDQtMDQtMDUgIENhcmxvcyBPJ0RvbmVsbCAgPGNhcmxvc0BiYWxkcmljLnV3by5jYT4KCgkqIHN5c2RlcHMvaHBwYS9mcHUvZmV1cGRhdGVlbnYuYyAoZmV1cGRhdGVlbnYpOiBVc2Ugb25seSBzd1swXQoJYW5kIGNhbGwgZmVyYWlzZWV4Y2VwdC4KCjIwMDMtMTEtMTUgIFJhbmRvbHBoIENodW5nICA8dGF1c3FAZGViaWFuLm9yZz4KCgkqIGdtb24vZ21vbi5jIChfX21vbnN0YXJ0dXApOiBSb3VuZCBrY291bnRzaXplIHRvIG11bHRpcGxlcyBvZgoJdGhlIGZyb21zW10gYXJyYXkgc28gdGhlIGFycmF5IGlzIHByb3Blcmx5IGFsaWduZWQuCgoyMDA0LTA0LTA1ICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CgoJKiBNYWtlY29uZmlnIChsaWJnY2NfZWgpOiBBZGQgLVdsLC4KCgkqIGNvbmZpZ3VyZS5pbjogQWRkIC1sZ2NjX3MgZm9yIC0tYXMtbmVlZGVkIGNoZWNrLgoKMjAwNC0wNC0xNiAgS2F6IEtvamltYSAgPGtrb2ppbWFAcnIuaWlqNHUub3IuanA+CgoJKiBzeXNkZXBzL3NoL2VsZi9jb25maWd1cmUuaW46IE5ldyBmaWxlLgoKMjAwNC0wNC0xNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udmRhdGEvZ2NvbnYtbW9kdWxlczogQWRkIFBUMTU0IGFuZCBSSzEwNDggZW50cmllcy4KCSogaWNvbnZkYXRhL3RzdC10YWJsZXMuc2g6IEFkZCBQVDE1NCBhbmQgUksxMDQ4LgoJKiBpY29udmRhdGEvTWFrZWZpbGUgKG1vZHVsZXMpOiBBZGQgUFQxNTQgYW5oZCBSSzEwNDguCgkoZGlzdHJpYnV0ZSk6IEFkZCBwdDE1NC5jIGFuZCByazEwNDguYy4KCShnZW4tOGJpdC1nYXAtbW9kdWxlcyk6IEFkZCBwdDE1NCBhbmQgcmsxMDQ4LgoJKiBpY29uZGF0YS9wdDE1NC5jOiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL3JrMTA0OC5jOiBOZXcgZmlsZS4KCgkqIHJ0L3RzdC10aW1lcjQuYzogRGlzYWJsZSBzb21lIHRlc3RzLCBtYXJrIGVycm9ycyBiZXR0ZXIuCgoyMDA0LTA0LTE2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHJ0L3RzdC1tcXVldWU2LmMgKG1xc2VuZCk6IERvbid0IGlubGluZS4KCShtcXJlY3YpOiBMaWtld2lzZS4KCgkqIHJ0L3RzdC1tcXVldWUzLmMgKGRvX3Rlc3QpOiBDb3BlIHdpdGgga2VybmVsIHdpdGhvdXQgbXEgc3VwcG9ydC4KCgkqIHN5c2RlcHMvaWVlZTc1NC9iaXRzL25hbi5oIChfX25hbl91bmlvbik6IEFkZCBfX2F0dHJpYnV0ZV91c2VkX18KCWF0dHJpYnV0ZSB0byBrZWVwIGdjYyBxdWlldC4KCjIwMDQtMDQtMTYgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogbWlzYy9zeXNsb2cuYyAodnN5c2xvZyk6IEF2b2lkIGZyZWVpbmcgZmFpbGJ1Zi4KCjIwMDQtMDQtMTUgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogcnQvTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC10aW1lcjQuCgkqIHJ0L3RzdC10aW1lcjQuYzogTmV3IHRlc3QuCgoyMDA0LTA0LTE1ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHJ0L3RzdC1tcXVldWU1LmMgKHJ0bWluX2NvZGUpOiBOZXcgdmFyaWFibGUuCgkocnRtaW5faGFuZGxlcik6IFNldCBpdC4KCSh0aHIsIGRvX2NoaWxkLCBkb190ZXN0KTogQWxzbyBjaGVjayBydG1pbl9jb2RlLgoKMjAwNC0wNC0xNCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBydC9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdHN0LW1xdWV1ZTcuCgkodHN0LW1xdWV1ZTctQVJHUyk6IFNldC4KCSogcnQvdHN0LW1xdWV1ZTcuYzogTmV3IHRlc3QuCgoyMDA0LTA0LTEzICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHJ0L01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3QtbXF1ZXVlNSBhbmQgdHN0LW1xdWV1ZTYuCgkqIHJ0L3RzdC1tcXVldWUxLmMgKGRvX29uZV90ZXN0KTogQml0d2lzZSBvciBjaGVja19hdHRycyAoKSBpbnRvCglyZXN1bHQgaW5zdGVhZCBvZiByZXBsYWNpbmcgaXQuICBVc2UgVEVNUF9GQUlMVVJFX1JFVFJZIGFyb3VuZAoJd2FpdHBpZCwga2lsbCBjaGlsZCBpZiB3YWl0cGlkIGZhaWxlZC4KCShkb190ZXN0KTogQml0d2lzZSBvciBjaGVja19hdHRycyAoKSBpbnRvIHJlc3VsdCBpbnN0ZWFkIG9mIHJlcGxhY2luZwoJaXQuICBDaGFuZ2UgdGVtcCBtcSBuYW1lLgoJKiBydC90c3QtbXF1ZXVlNS5jOiBOZXcgdGVzdC4KCSogcnQvdHN0LW1xdWV1ZTYuYzogTmV3IHRlc3QuCgkqIHJ0L3RzdC1tcXVldWUuaDogSW5jbHVkZSBzdGRpby5oLCB1bmlzdGQuaCwgc3lzL3Vpby5oLgoJKHRlbXBfbXFfbGlzdCwgZGVsZXRlX3RlbXBfbXFzKTogUmVtb3ZlLgoJKHRlbXBfbXFfZmQpOiBOZXcgdmFyaWFibGUuCgkoZG9fY2xlYW51cCwgZG9fcHJlcGFyZSk6IE5ldyBmdW5jdGlvbnMuCgkoYWRkX3RlbXBfbXEpOiBSZXdyaXR0ZW4gdG8gdXNlIGEgdGVtcCBmaWxlLgoJKFBSRVBBUkUpOiBEZWZpbmUuCgkoQ0xFQU5VUF9IQU5ETEVSKTogQ2hhbmdlIHRvIGRvX2NsZWFudXAgKCkuCgoJKiBydC90c3QtdGltZXIzLmM6IERvbid0IGZhaWwgaWYgX1BPU0lYX1RIUkVBRFMgaXMgbm90IGF2YWlsYWJsZS4KCjIwMDQtMDQtMTMgIFRob3JzdGVuIEt1a3VrICA8a3VrdWtAc3VzZS5kZT4KCgkqIHN5c2RlcHMvczM5MC9mZnMuYzogSW5jbHVkZSBsaW1pdHMuaAoKMjAwNC0wNC0xMyAgS2F6IEtvamltYSAgPGtrb2ppbWFAcnIuaWlqNHUub3IuanA+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9zeXNkZXAuaCAoU1VCU1RJVFVURV9BUkdTXzEsCglTVUJTVElUVVRFX0FSR1NfMiwgU1VCU1RJVFVURV9BUkdTXzMsIFNVQlNUSVRVVEVfQVJHU180LAoJU1VCU1RJVFVURV9BUkdTXzUsIFNVQlNUSVRVVEVfQVJHU182LCBTVUJTVElUVVRFX0FSR1NfNyk6IExvYWQKCWFyZ3VtZW50IHZhbHVlcyBpbnRvIHRlbXBvcmFyeSB2YXJpYWJsZXMuCgoyMDA0LTA0LTE1ICBBdHN1c2hpIE5lbW90byA8YW5lbW9AbWJhLm9jbi5uZS5qcD4KCgkqIHN5c2RlcHMvbWlwcy9kbC1tYWNoaW5lLmggKFJUTERfU1RBUlQpOiBEbyBub3QgdXNlIG5lc3RlZCAuZW5kLgoKMjAwNC0wNC0xMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBydC9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdHN0LXRpbWVyMy4KCSogcnQvdHN0LXRpbWVyMy5jOiBOZXcgZmlsZS4gIEJ5IFJvbGFuZCBNY0dyYXRoLgoKMjAwNC0wNC0wOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBydC90c3QtbXF1ZXVlMy5jOiBOZXcgZmlsZS4KCSogcnQvTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC1tcXVldWUzLgoKMjAwNC0wNC0wOCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBydC90c3QtbXF1ZXVlMS5jOiBOZXcgZmlsZS4KCSogcnQvdHN0LW1xdWV1ZTIuYzogTmV3IGZpbGUuCgkqIHJ0L3RzdC1tcXVldWU0LmM6IE5ldyBmaWxlLgoJKiBydC9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdHN0LW1xdWV1ZTEsIHRzdC1tcXVldWUyLCB0c3QtbXF1ZXVlNC4KCgkqIHJ0L1ZlcnNpb25zIChsaWJydCk6IEFkZCBtcV8qQEBHTElCQ18yLjMuNC4KCSogcnQvTWFrZWZpbGUgKGhlYWRlcnMpOiBBZGQgbXF1ZXVlLmggYW5kIGJpdHMvbXF1ZXVlLmguCgkobXEtcm91dGluZXMpOiBTZXQuCgkobGlicnQtcm91dGluZXMpOiBVc2UgaXQuCgkqIHJ0L21xdWV1ZS5oOiBOZXcgZmlsZS4KCSogaW5jbHVkZS9tcXVldWUuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL21xdWV1ZS5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9nZW5lcmljL21xX3NldGF0dHIuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9tcV9nZXRhdHRyLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2dlbmVyaWMvbXFfbm90aWZ5LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2dlbmVyaWMvbXFfY2xvc2UuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9tcV9zZW5kLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2dlbmVyaWMvbXFfdW5saW5rLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2dlbmVyaWMvbXFfcmVjZWl2ZS5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9nZW5lcmljL21xX3RpbWVkcmVjZWl2ZS5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9nZW5lcmljL21xX3RpbWVkc2VuZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9nZW5lcmljL21xX29wZW4uYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvbG9jYWxfbGltLmggKE1RX1BSSU9fTUFYKTogRGVmaW5lLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL21xdWV1ZS5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzY2FsbHMubGlzdDogQWRkIG1xX3RpbWVkc2VuZCwKCW1xX3RpbWVkcmVjZWl2ZSBhbmQgbXFfc2V0YXR0ci4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbXFfZ2V0YXR0ci5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbXFfbm90aWZ5LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tcV9jbG9zZS5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbXFfc2VuZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbXFfdW5saW5rLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tcV9yZWNlaXZlLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tcV9vcGVuLmM6IE5ldyBmaWxlLgoKMjAwNC0wNC0wOSAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc3lzZGVwLmggKERPX0lOTElORV9TWVNDQUxMKTogTW92ZQoJTE9BRF9BUkdTXyMjbnIgdXAgZnJvbnQgYW5kIGFkZCBMT0FEX1JFR1NfIyNuci4KCShMT0FEX0FSR1NfMCwgTE9BRF9BUkdTXzEsIExPQURfQVJHU18yLCBMT0FEX0FSR1NfMywgTE9BRF9BUkdTXzQpCgkoTE9BRF9BUkdTXzUsIExPQURfQVJHU182KTogTG9hZCBhcmd1bWVudCB2YWx1ZXMgaW50byB0ZW1wb3JhcnkKCXZhcmlhYmxlcy4KCShMT0FEX1JFR1NfMCwgTE9BRF9SRUdTXzEsIExPQURfUkVHU18yLCBMT0FEX1JFR1NfMywgTE9BRF9SRUdTXzQpCgkoTE9BRF9SRUdTXzUsIExPQURfUkVHU182KTogTmV3IG1hY3JvcyB0byBhY3R1YWxseSBsb2FkIHRoZQoJc3lzY2FsbCBhcmd1bWVudCByZWdpc3RlcnMuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmggKElOVEVSTkFMX1NZU0NBTEwpOiBBZGQKCUxPQURfUkVHU18jI25yLgoJKExPQURfQVJHU18wLCBMT0FEX0FSR1NfMSwgTE9BRF9BUkdTXzIsIExPQURfQVJHU18zLCBMT0FEX0FSR1NfNCkKCShMT0FEX0FSR1NfNSwgTE9BRF9BUkdTXzYpOiBMb2FkIGFyZ3VtZW50IHZhbHVlcyBpbnRvIHRlbXBvcmFyeQoJdmFyaWFibGVzLgoJKExPQURfUkVHU18wLCBMT0FEX1JFR1NfMSwgTE9BRF9SRUdTXzIsIExPQURfUkVHU18zLCBMT0FEX1JFR1NfNCkKCShMT0FEX1JFR1NfNSwgTE9BRF9SRUdTXzYpOiBOZXcgbWFjcm9zIHRvIGFjdHVhbGx5IGxvYWQgdGhlCglzeXNjYWxsIGFyZ3VtZW50IHJlZ2lzdGVycy4KCjIwMDQtMDQtMDkgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tNjhrL3N5c2RlcC5oIChJTlRFUk5BTF9TWVNDQUxMKTogQWRkCglMT0FEX1JFR1NfIyNuci4KCShMT0FEX0FSR1NfMCwgTE9BRF9BUkdTXzEsIExPQURfQVJHU18yLCBMT0FEX0FSR1NfMywgTE9BRF9BUkdTXzQpCgkoTE9BRF9BUkdTXzUsIExPQURfQVJHU182KTogTG9hZCBhcmd1bWVudCB2YWx1ZXMgaW50byB0ZW1wb3JhcnkKCXZhcmlhYmxlcy4KCShMT0FEX1JFR1NfMCwgTE9BRF9SRUdTXzEsIExPQURfUkVHU18yLCBMT0FEX1JFR1NfMywgTE9BRF9SRUdTXzQpCgkoTE9BRF9SRUdTXzUsIExPQURfUkVHU182KTogTmV3IG1hY3JvcyB0byBhY3R1YWxseSBsb2FkIHRoZQoJc3lzY2FsbCBhcmd1bWVudCByZWdpc3RlcnMuCgoyMDA0LTA0LTA5ICBUaG9yc3RlbiBLdWt1ayAgPGt1a3VrQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3MzOTAvZmZzLmM6IERvbid0IGFkZCBmZnNsIHdlYWsgYWxpYXMgb24gczM5MHguCgoyMDA0LTA0LTA5ICBTdGV2ZW4gTXVucm9lICA8c2ptdW5yb2VAdXMuaWJtLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzY0L3Vtb3VudC5jOiBOZXcgZmlsZS4KCjIwMDQtMDQtMDggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG8vbmwucG86IFVwZGF0ZSBmcm9tIHRyYW5zbGF0aW9uIHRlYW0uCgoyMDA0LTA0LTA0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hdGgvdGVzdC10Z21hdGguYzogRGVjbGFyZSBjb21waWxlX3Rlc3RsIGlubHkgaWYgd2Ugd2lsbCBkZWZpbmUgaXQuCgoyMDA0LTA0LTAzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjNjQvZmZzbGwuYzogTmV3IGZpbGUuCgoJKiBzdHJpbmcvdGVzdC1mZnMuYzogQWxzbyB0ZXN0IGZmc2wgYW5kIGZmc2xsLgoKCSogc3lzZGVwcy9wb3dlcnBjL2Zmcy5jOiBEb24ndCBkZWZpbmUgZmZzbCBmb3IgcHBjNjQuCgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzY0L2JpdHMvYXRvbWljLmg6IE5ldmVyIHVzZSBtYXRjaGluZwoJY29uc3RyYWludHMgZm9yIGFzbSBtZW0gcGFyYW1ldGVycy4KCSogc3lzZGVwcy9wb3dlcnBjL2JpdHMvYXRvbWljLmg6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9wb3dlcnBjL2VsZi9saWJjLXN0YXJ0LmM6IE5vIG5lZWQgZm9yIGEgc2VwYXJhdGUKCWZ1bmN0aW9uIGZvciBfX2F1eF9pbml0X2NhY2hlLgoKCSogaW5ldC90ZXN0LWlmYWRkcnMuYzogRmlnaHQgd2FybmluZ3MuCgoJKiBhcmdwL2FyZ3AtaGVscC5jOiBGaWdodCB3YXJuaW5ncy4KCgkqIGluY2x1ZGUvdGltZS5oOiBEZWNsYXJlIF9fZGlmZnRpbWUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pbnRlcm5hbF9zdGF0dmZzLmM6IFJlc3RydWN0dXJlIHRvIGF2b2lkCglkdXBsaWNhdGlvbiBpbiA2NC1iaXQgdmVyc2lvbi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvd29yZHNpemUtNjQvaW50ZXJuYWxfc3RhdHZmczY0LmM6IE5ldyBmaWxlLgoKMjAwNC0wNC0wMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbmlzL25zcy1uaXMuYzogSW5jbHVkZSA8c3RyaW5nLmg+IGZvciBzdHJuY21wLgoKMjAwNC0wMy0zMCAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoKCSogTWFrZWNvbmZpZyAobGluay1saWJjLXN0YXRpYyk6IFVzZSAkKHN0YXRpYy1nbnVsaWIpIGluc3RlYWQKCW9mICQoZ251bGliKS4KCShsaWJnY2NfZWgpOiBOZXcgdmFyaWFibGUuCgkoZ251bGliKTogVXNlIGl0IHZhcmlhYmxlLgoJKHN0YXRpYy1nbnVsaWIpOiBOZXcgdmFyaWFibGUuCgkqIE1ha2VydWxlcyAoTERMSUJTLWMuc28pOiBVc2UgJChzdGF0aWMtZ251bGliKSBpbnN0ZWFkIG9mICQoZ251bGliKS4KCSogY29uZmlnLm1ha2UuaW4gKGhhdmUtYXMtbmVlZGVkKTogTmV3IHZhcmlhYmxlLgoJKiBjb25maWd1cmUuaW46IENoZWNrIGlmIGxpbmtlciBzdXBwb3J0cyAtLWFzLW5lZWRlZC4KCjIwMDQtMDQtMDIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaW50ZXJuYWxfc3RhdHZmczY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9NYWtlZmlsZSBbc3ViZGlyPWlvXSAoc3lzZGVwX3JvdXRpbmVzKToKCUFkZCBpbnRlcm5hbF9zdGF0dmZzNjQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2ludGVybmFsX3N0YXR2ZnMuYzogQWxsb3cgdG8gYmUgdXNlZCB0bwoJY29tcGlsZSA2NGJpdCB2ZXJzaW9uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zdGF0dmZzNjQuYzogVXNlIF9fZnN0YXRmczY0IGFuZCBza2lwCgljb21wYXRpYmlsaXR5IGNvZGUgaWYgX19BU1NVTUVfU1RBVEZTNjQgaXMgZGVmaW5lZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZnN0YXR2ZnM2NC5jOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N0YXRmczY0LmM6IERvbid0IGFkZCBfX25vX3N0YXRmczY0IGlmCglfX0FTU1VNRV9TVEFURlM2NCAhPSAwLgoKMjAwNC0wNC0wMiAgVGhvcnN0ZW4gS3VrdWsgIDxrdWt1a0BmaXJ1bi5zdXNlLmRlPgoKCSogbmlzL25zc19uaXMvbmlzLWV0aGVycy5jIChzYXZlaXQpOiBGaXggcmV0dXJuIGNvZGVzIGluIGVycm9yIGNhc2UuCgkqIG5pcy9uc3NfbmlzL25pcy1pbml0Z3JvdXBzLmMgKHNhdmVpdCk6IExpa2V3aXNlLgoJKiBuaXMvbnNzX25pcy9uaXMtcHJvdG8uYyAoc2F2ZWl0KTogTGlrZXdpc2UuCgkqIG5pcy9uc3NfbmlzL25pcy1ycGMuYyAoc2F2ZWl0KTogTGlrZXdpc2UuCgkqIG5pcy9uc3NfbmlzL25pcy1zZXJ2aWNlLmMgKHNhdmVpdCk6IExpa2V3aXNlLgoKMjAwNC0wNC0wMiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBuaXMvbnNzOiBBZGQgU0VSVklDRVNfQVVUSE9SSVRBVElWRS4KCSogbmlzL25zcy1uaXMuaCAoTlNTX0ZMQUdfU0VULCBOU1NfRkxBR19ORVRJRF9BVVRIT1JJVEFUSVZFLAoJTlNTX0ZMQUdfU0VSVklDRVNfQVVUSE9SSVRBVElWRSk6IERlZmluZS4KCShfbmlzX2RlZmF1bHRfbnNzX2ZsYWdzLCBfbmlzX2NoZWNrX2RlZmF1bHRfbnNzKTogTmV3IGRlY2xzLgoJKF9uaXNfZGVmYXVsdF9uc3MpOiBOZXcgaW5saW5lLgoJKiBuaXMvbnNzLW5pcy5jOiBJbmNsdWRlIGN0eXBlLmgsIHN0ZGlvLmggYW5kIHN0ZGlvX2V4dC5oLgoJKF9uaXNfZGVmYXVsdF9uc3NfZmxhZ3MsIGRlZmF1bHRfbnNzKTogTmV3IHZhcmlhYmxlcy4KCShfbmlzX2NoZWNrX2RlZmF1bHRfbnNzKTogTmV3IGZ1bmN0aW9uLgoJKiBuaXMvbnNzX25pcy9uaXMtaW5pdGdyb3Vwcy5jOiBEb24ndCBpbmNsdWRlIHN0ZGlvLmggYW5kCglzdGRpb19leHQuaC4KCShjaGVja19kZWZhdWx0X25zcywgZGVmYXVsdF9uc3MpOiBNb3ZlIHRvIG5zcy1uaXMuYy4KCShpbml0KTogUmVtb3ZlZC4KCShfbnNzX25pc19pbml0Z3JvdXBzX2R5bik6IFVzZSBfbmlzX2RlZmF1bHRfbnNzICgpLgoJKiBuaXMvbnNzX25pcy9uaXMtc2VydmljZXMuYyAoX25zc19uaXNfZ2V0c2VydmJ5bmFtZV9yKTogSWYKCU5TU19GTEFHX1NFUlZJQ0VTX0FVVEhPUklUQVRJVkUgYW5kIHNlcnZpY2VzLmJ5c2VydmljZW5hbWUgbG9va3VwCglmYWlscywgcmV0dXJuIGltbWVkaWF0ZWx5LgoKMjAwNC0wNC0wMSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIGVsZi90c3QtZXhlY3N0YWNrLmMgKGRvX3Rlc3QpOiBNYWtlIEYgc3RhdGljLgoKMjAwNC0wNC0wMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGMzMi9nZXRjb250ZXh0LlM6IFVzZQoJX19zaWdwcm9jbWFzayBub3Qgc2lncHJvY21hc2suCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzMyL3NldGNvbnRleHQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzMyL3N3YXBjb250ZXh0LlM6IExpa2V3aXNlLgoKCSogaW5jbHVkZS9zdHJpbmcuaDogQWRkIGxpYmNfaGlkZGVuX2J1aWx0aW5fcHJvdG8gZm9yIG1lbWNtcC4KCSogc3lzZGVwcy9nZW5lcmljL21lbWNtcC5jOiBBZGQgbGliY19oaWRkZW5fYnVpbHRpbl9kZWYuCgkqIHN5c2RlcHMvaTM4Ni9tZW1jbXAuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNjg2L21lbWNtcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pYTY0L21lbWNtcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L21lbWNtcC5TOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NpZ3Byb2NtYXNrLmM6IEluY2x1ZGUgPHN0cmluZy5oPi4KCSogdGltZS9ta3RpbWUuYzogTGlrZXdpc2UuCgkqIG1pc2MvZ2V0cGFzcy5jOiBMaWtld2lzZS4KCgkqIHRpbWUvZGlmZnRpbWUuYyAoX19kaWZmdGltZSk6IE5ldyByZW5hbWVkLiAgTWFrZSBvbGQgbmFtZSBhbGlhcy4KCVVzZSBfX2RpZmZ0aW1lIGluIHJlY3Vyc2l2ZSBjYWxsLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9pb2N0bC5jIChfX2lvY3RsKTogVXNlCglfX3RjZ2V0YXR0cigpIGluc3RlYWQgb2YgdGNnZXRhdHRyKCkuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGM2NC9tYWtlY29udGV4dC5TIFtTSEFSRURdOgoJVXNlIF9fR0lfZXhpdC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzY0L2Nsb25lLlMgW1NIQVJFRF06IFVzZQoJX19HSV9fZXhpdC4KCgkqIHN5c2RlcHMvcG93ZXJwYy9mcHUvYml0cy9tYXRoaW5saW5lLmg6IEFkZCBfX3NpZ25iaXRmIGFuZAoJX19zaWduYml0IGlubGluZXMuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGM2NC9nZXRjb250ZXh0LlM6IFVzZQoJX19zaWdwcm9jbWFzayBub3Qgc2lncHJvY21hc2suCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzY0L3NldGNvbnRleHQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzY0L3N3YXBjb250ZXh0LlM6IExpa2V3aXNlLgoKCSogZWxmL2VsZi5oOiBEZWZpbmUgbW9yZSBwcGM2NCBzcGVjaWZpYyBkeW5hbWljIHRhZ3MuCgoyMDA0LTA0LTAxICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIG5pcy9uc3NfbmlzL25pcy1zZXJ2aWNlLmMgKF9uc3NfbmlzX2dldHNlcnZieW5hbWVfcik6IElmIHByb3RvY29sCglpcyBOVUxMLCBpbnN0ZWFkIG9mIHRyeWluZyB5cF9tYXRjaCAobmFtZS90Y3ApLCB5cF9tYXRjaCAobmFtZS91ZHApLAoJeXBfYWxsLCB0cnkgeXBfbWF0Y2ggKG5hbWUpLCB5cF9hbGwuCgoyMDA0LTA0LTAxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1zeXNkZXAuYyAoX2RsX3Nob3dfYXV4dik6IEFkZCBoYW5kbGluZyBmb3IKCWlnbm9yZWQgZW50cmllcy4gIElnbm9yZSBBVF9JR05PUkVQUEMuCgoyMDA0LTAzLTMxICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBsaWJpby9maWxlb3BzLmMgKG5ld19kb193cml0ZSk6IFJldHVybiBfSU9fc2l6ZV90IHRvIG1ha2UgNjQtYml0CiAgICAgICAgY2xlYW4uCgoyMDA0LTAzLTMxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sb2NhbGVkZWYuYyAoY29uc3RydWN0X291dHB1dF9wYXRoKTogUmVtb3ZlCglyZW1uYW50cyBvZiBDRU4gbG9jYWxlIG5hbWVzLgoKMjAwNC0wMy0zMCAgVGhvcnN0ZW4gS3VrdWsgIDxrdWt1a0BzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvYml0cy90ZXJtaW9zLmg6IEFkZCBJVVRGOC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy90ZXJtaW9zLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2JpdHMvdGVybWlvcy5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9iaXRzL3Rlcm1pb3MuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL2JpdHMvdGVybWlvcy5oOiBMaWtld2lzZS4KCjIwMDQtMDMtMzAgIFJpY2hhcmQgSGVuZGVyc29uICA8cnRoQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2FscGhhL3JlbXF1LlM6IERldGVjdCBwb3dlci1vZi10d28gc3BlY2lhbCBjYXNlLgoKMjAwNC0wMy0zMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvbGliYy1zdGFydC5jIChMSUJDX1NUQVJUX01BSU4pCglbSEFWRV9DTEVBTlVQX0pNUF9CVUZdOiBDYWxsIF9fbnB0bF9kZWFsbG9jYXRlX3RzZC4KCjIwMDQtMDMtMzAgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogbmlzL25zc19uaXMvbmlzLXNlcnZpY2UuYyAoX25zc19uaXNfZ2V0c2VydmJ5bmFtZV9yKTogSWYgcHJvdG9jb2wKCT09IE5VTEwsIHRyeSBuYW1lL3RjcCBhbmQgbmFtZS91ZHAgZmlyc3QgYmVmb3JlIGZhbGxpbmcgYmFjayBpbnRvCgl0aGUgc2VxdWVudGlhbCBzY2FubmluZy4gIFVzZSBzZXJ2aWNlcy5ieW5hbWUgZGF0YWJhc2UgZm9yCglzZXF1ZW50aWFsIHNjYW5uaW5nLgoJKF9uc3NfbmlzX2dldHNlcnZieXBvcnRfcik6IExpa2V3aXNlLiAgSnVzdCBhbGxvY2F0ZSBzaXplb2YgKGludCkgKiAzCgljaGFycyBmb3IgaW50ZWdlci4KCgkqIG5pcy9uc3NfbmlzL25pcy1zZXJ2aWNlLmMgKF9uc3NfbmlzX2dldHNlcnZieXBvcnRfcik6IENvbnZlcnQKCXByb3RvIHRvIGhvc3QgYnkgb3JkZXIgZm9yIHNucHJpbnRmLgoKMjAwNC0wMy0zMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBuc3MvZ2V0ZW50LmMgKHNlcnZpY2VzX2tleXMpOiBEb24ndCBpbXBsZW1lbnQgbG9va3VwcyB3aXRoCgltaXNzaW5nIHByb3RvY29sIHVzaW5nIGdldHNlcnZlbnQgbG9vcCwganVzdCBwYXNzIE5VTEwuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3NldGdyb3Vwcy5jIChzZXRncm91cHMpOiBBdm9pZAoJY29tcGFyaXNvbiB3aXRoIGxpbWl0IGlmIHdlIGNhbiByZWx5IG9uIHRoZSBzeXNjYWxsIGJlaW5nIGF2YWlsYWJsZS4KCgkqIG5pcy9uc3NfbmlzL25pcy1pbml0Z3JvdXBzLmM6IEltcGxlbWVudCBnZXR0aW5nIHRoZSBpbmZvcm1hdGlvbgoJZnJvbSB0aGUgbmV0aWQuYnluYW1lIG1hcCBpZiB0aGUgc3lzdGVtIGFkbWluaXN0cmF0b3IgYWxsb3dzIHRoaXMuCgkqIG5pcy9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCBuc3MuCgkqIG5pcy9uc3M6IE5ldyBmaWxlLgoKCSogZ3JwL2luaXRncm91cHMuYyAoaW5pdGdyb3Vwcyk6IExpbWl0IHRoZSBpbml0aWFsIGFsbG9jYXRpb24gdG8gNjQKCWVudHJpZXMgdG8gbm90IGFsbG9jYXRlIHRvbyBtdWNoIG9uIHN5c3RlbXMgd2l0aCByZWFsbHkgaGlnaCBsaW1pdHMuCgoyMDA0LTAzLTMwICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIG5pcy9uc3NfbmlzL25pcy1zZXJ2aWNlLmMgKHN0cnVjdCBzZWFyY2hfdCk6IE5ldyB0eXBlLgoJKGRvc2VhcmNoKTogTmV3IGZ1bmN0aW9uLgoJKF9uc3NfbmlzX2dldHNlcnZieW5hbWVfcik6IFVzZSBpdC4gIENhbGwgeXBfZ2V0X2RlZmF1bHRfZG9tYWluCgl1bmNvbmRpdGlvbmFsbHkuCgkoX25zc19uaXNfZ2V0c2VydmJ5cG9ydF9yKTogTGlrZXdpc2UuCgoyMDA0LTAzLTI5ICBBbGV4YW5kcmUgT2xpdmEgIDxhb2xpdmFAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NjaGVkX2dldGFmZmluaXR5LmM6IFByZXBlbmQgR0xJQkNfIHRvCgl2ZXJzaW9uIG5hbWVzIGlzIFNITElCX0NPTVBBVCBjaGVjay4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2NoZWRfc2V0YWZmaW5pdHkuYzogTGlrZXdpc2UuCgoyMDA0LTAzLTI5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG5pcy9uc3NfbmlzL25pcy1ycGMuYyAoc2F2ZWl0KTogSW1wcm92ZSBtZW1vcnkgaGFuZGxpbmcuICBObyBuZWVkIHRvCglhbGxvY2F0ZSBtdWx0aXBsZSBibG9ja3MuCgkoaW50ZXJuYWxfbmlzX2VuZHJwY2VudCk6IEFkanVzdCBhY2NvcmRpbmdseS4KCSogbmlzL25zc19uaXMvbmlzLXByb3RvLmMgKHNhdmVpdCk6IEltcHJvdmUgbWVtb3J5IGhhbmRsaW5nLiAgTm8gbmVlZAoJdG8gYWxsb2NhdGUgbXVsdGlwbGUgYmxvY2tzLgoJKGludGVybmFsX25pc19lbmRwcm90b2VudCk6IEFkanVzdCBhY2NvcmRpbmdseS4KCSogbmlzL25zc19uaXMvbmlzLWluaXRncm91cHMuYyAoc2F2ZWl0KTogSW1wcm92ZSBtZW1vcnkgaGFuZGxpbmcuICBObwoJbmVlZCB0byBhbGxvY2F0ZSBtdWx0aXBsZSBibG9ja3MuCgkoX25zc19uaXNfaW5pdGdyb3Vwc19keW4pOiBBZGp1c3QgYWNjb3JkaW5nbHkuCgkqIG5pcy9uc3NfbmlzL25pcy1ldGhlcnMuYyAoc2F2ZWl0KTogSW1wcm92ZSBtZW1vcnkgaGFuZGxpbmcuICBObyBuZWVkCgl0byBhbGxvY2F0ZSBtdWx0aXBsZSBibG9ja3MuCgkoaW50ZXJuYWxfbmlzX2VuZGV0aGVyZW50KTogQWRqdXN0IGFjY29yZGluZ2x5LgoJKiBuaXMvbnNzX25pcy9uaXMtc2VydmljZS5jIChzYXZlaXQpOiBJbXByb3ZlIG1lbW9yeSBoYW5kbGluZy4gIE5vIG5lZWQKCXRvIGFsbG9jYXRlIG11bHRpcGxlIGJsb2Nrcy4KCShpbnRlcm5hbF9uaXNfZW5kc2VydmVudCk6IEFkanVzdCBhY2NvcmRpbmdseS4KCgkqIG5zcy9nZXRYWGJ5WVlfci5jOiBSZXR1cm4gMCBmb3IgTlNTX1NUQVRVU19OT1RGT1VORC4KCjIwMDQtMDMtMjYgIFRob3JzdGVuIEt1a3VrICA8a3VrdWtAc3VzZS5kZT4KCgkqIG5pcy9uc3NfbmlzL25pcy1ncnAuYyAoX25zc19uaXNfZ2V0Z3JuYW1fcik6IERvbid0CglzZXQgZXJybm8gaWYgZ3JvdXAgZG9lcyBub3QgZXhpc3QuCgoyMDA0LTAzLTI4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5c2NvbmYuYyAoX19zeXNjb25mKTogSGFuZGxlCglfU0NfU0lHUVVFVUVfTUFYLgoKMjAwNC0wMy0yNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtY2FsbGVyLmM6IE5ldyBmaWxlLgoJKiBpbmNsdWRlL2NhbGxlci5oOiBOZXcgZmlsZS4KCSogTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgaW5jbHVkZS9jYWxsZXIuaC4KCSogZWxmL01ha2VmaWxlIChkbC1yb3V0aW5lcyk6IEFkZCBkbC1jYWxsZXIuCgkqIGVsZi9kbC1sb2FkLmMgKF9kbF9tYXBfb2JqZWN0X2Zyb21fZmQpOiBSZWNvcmQgbF90ZXh0X2VuZC4KCSogZWxmL2RsLW9wZW4uYyAoY2hlY2tfbGliY19jYWxsZXIpOiBSZW1vdmVkLgoJKGRsX29wZW5fd29ya2VyKTogVXNlIF9fY2hlY2tfY2FsbGVyIGluc3RlYWQuCgkqIGVsZi9ydGxkLmMgKF9ydGxkX2dsb2JhbF9ybyk6IEluaXRpYWxpemUgX2RsX2NoZWNrX2NhbGxlci4KCShfZGxfc3RhcnRfZmluYWwpOiBSZWNvcmQgbF90ZXh0X2VuZCBmb3IgbGQuc28gbWFwLgoJKGRsX21haW4pOiBSZWNvcmQgbF90ZXh0X2VuZCBmb3IgbWFpbiBvYmplY3QgYW5kIHZkc28uCgkqIGluY2x1ZGUvbGluay5oIChzdHJ1Y3QgbGlua19tYXApOiBBZGQgbF90ZXh0X2VuZCBmaWVsZC4KCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmggKHN0cnVjdCBydGxkX2dsb2JhbF9ybyk6IEFkZAoJX2RsX2NoZWNrX2NhbGxlciBmaWVsZC4KCURlZmluZSBlbnVtIGFsbG93bWFzay4gIEFkZCBkZWNsYXJhdGlvbiBvZiBfZGxfY2hlY2tfY2FsbGVyLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9kbC1leGVjc3RhY2suYzogQWxzbyB1c2UgX19jaGVja19jYWxsZXIgdGVzdC4KCjIwMDQtMDMtMjYgIFJpY2hhcmQgSGVuZGVyc29uICA8cnRoQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2FscGhhL01ha2VmaWxlIDxnbnVsaWI+IChzeXNkZXBfcm91dGluZXMpOiBNZXJnZSBkaXZyZW0KCXZhcmlhYmxlLCBhZGQgdW5zaWduZWQgdmFyaWFudHMuCgkqIHN5c2RlcHMvYWxwaGEvZGl2cmVtLmg6IFJlbW92ZSBmaWxlLgoJKiBzeXNkZXBzL2FscGhhL2Rpdl9saWJjLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2FscGhhL2RpdmwuUzogUmV3cml0ZSBmcm9tIHNjcmF0Y2guCgkqIHN5c2RlcHMvYWxwaGEvcmVtbC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9hbHBoYS9kaXZxLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2FscGhhL3JlbXEuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvYWxwaGEvZGl2bHUuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvYWxwaGEvcmVtbHUuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvYWxwaGEvZGl2cXUuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvYWxwaGEvcmVtcXUuUzogTmV3IGZpbGUuCgoyMDA0LTAzLTI2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9kbC1vcGVuLmMgKGNoZWNrX2xpYmNfY2FsbGVyKTogRml4IHR5cG8uCgoyMDA0LTAzLTI2ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGVsZi90c3QtZGxtb2Rjb3VudC5jOiBJbmNsdWRlIHN0ZGRlZi5oIGFuZCBzdGRsaWIuaC4KCjIwMDMtMDMtMjUgIFJpY2hhcmQgSGVuZGVyc29uICA8cnRoQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2FscGhhL2JhY2t0cmFjZS5jOiBOZXcgZmlsZS4KCjIwMDQtMDMtMjUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnZkYXRhL3V0Zi03LmM6IFJlbW92ZSBpbmxpbmUgZnJvbSBpc2RpcmVjdCwgaXN4ZGlyZWN0LCBhbmQKCWlzeGJhc2U2NC4KCjIwMDQtMDMtMjUgIFJpY2hhcmQgSGVuZGVyc29uICA8cnRoQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvc3RydG9sX2wuYyAoX19zdHJ0b2xfdWxfbWF4X3RhYiwKCV9fc3RydG9sX3VsbF9tYXhfdGFiLCBfX3N0cnRvbF91bGxfcmVtX3RhYiwgX19zdHJ0b2xfdWxfcmVtX3RhYiwKCWN1dG9mZl90YWIsIGN1dGxpbV90YWIsIGptYXhfdGFiKTogTmV3LgoJKF9fc3RydG9sX2wpOiBVc2UgdGhlbSB0byBhdm9pZCBydW50aW1lIGRpdmlzaW9uLgoKMjAwNC0wMy0yNCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIE1ha2VydWxlcyAoJChjb21tb24tb2JqcGZ4KXNobGliLmxkcyk6IERvbid0IHVzZSBcbiBpbiByaHMgb2Ygc2VkCglzdWJzdGl0dXRpb25zOyB0aGUgc2VtaWNvbG9uIHRlcm1pbmF0b3JzIGFyZSBlbm91Z2ggZm9yIGxkIGFueXdheS4KCgkqIGVsZi9kbC1kZXBzLmMgKF9kbF9tYXBfb2JqZWN0X2RlcHMpOiBVc2UgYWxsb2NhIGluc3RlYWQgb2YKCWR5bmFtaWNhbGx5IHNpemVkIGF1dG8gYXJyYXkgaW4gZnVuY3Rpb24gYWxyZWFkeSB1c2luZyBhbGxvY2EuCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jdHlwZS5jIChjdHlwZV9vdXRwdXQpOiBMaWtld2lzZS4KCSogbG9jYWxlL3Byb2dyYW1zL2xkLXRpbWUuYyAodGltZV9vdXRwdXQpOiBMaWtld2lzZS4KCSogZWxmL2RsLW1pc2MuYyAoX2RsX2RlYnVnX3ZkcHJpbnRmKTogVXNlIG1hY3JvIGluc3RlYWQgb2YgY29uc3QgZm9yCglJT1YgYXJyYXkgc2l6ZS4KCSogbG9jYWxlL3Byb2dyYW1zL2NoYXJtYXAuYyAoY2hhcm1hcF9yZWFkKTogQXZvaWQgYWxsb2NhIChvciBzdHJkdXBhKQoJd2hlbiBhbHNvIHVzaW5nIGR5bmFtaWNhbGx5LXNpemVkIGF1dG8gYXJyYXkuCgkqIGxvY2FsZS9wcm9ncmFtcy9sb2NmaWxlLmMgKGxvY2ZpbGVfcmVhZCk6IExpa2V3aXNlLgoJKiBsb2NhbGUvcHJvZ3JhbXMvcmVwZXJ0b2lyZS5jIChyZXBlcnRvaXJlX3JlYWQpOiBMaWtld2lzZS4KCSogbmlzL25pc19wcmludF9ncm91cF9lbnRyeS5jIChuaXNfcHJpbnRfZ3JvdXBfZW50cnkpOiBMaWtld2lzZS4KCSogbG9jYWxlL3Byb2dyYW1zL2xvY2FyY2hpdmUuYyAoZW5sYXJnZV9hcmNoaXZlKTogTGlrZXdpc2UuCgkqIHBvc2l4L2FubmV4Yy5jIChjaGVja19oZWFkZXIpOiBMaWtld2lzZS4KCgkqIGljb252L2djb252X2ludC5oIChub3JtX2FkZF9zbGFzaGVzKTogRG9uJ3QgaGFuZGxlIG51bGwgU1VGRklYLgoJc3RybGVuICgiIikgZ2V0cyBvcHRpbWl6ZWQgYXdheSBqdXN0IGFzIHdlbGwuCgkqIGludGwvbG9hZG1zZ2NhdC5jIChfbmxfaW5pdF9kb21haW5fY29udik6IFVwZGF0ZSBjYWxsZXIuCgkqIHdjc21icy93Y3NtYnNsb2FkLmMgKF9fd2NzbWJzX2xvYWRfY29udik6IExpa2V3aXNlLgoKCSogTWFrZWZpbGUgKCQob2JqcGZ4KWMrKy10eXBlcy1jaGVjay5vdXQpOiBSZWR1Y2UgZHVwbGljYXRpb24gaW4KCWRlZmluaW5nIHRoaXMgdGFyZ2V0LiAgQWxzbyBlbGlkZSAtV3N0cmljdC1wcm90b3R5cGVzIGZyb20gQ0ZMQUdTLgoKMjAwNC0wMy0yNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzdGRpby1jb21tb24vdmZzY2FuZi5jIFshQ09NUElMRV9XU0NBTkZdIChUT0xPV0VSKTogQ2FzdCBmaXJzdAoJcGFyYW1ldGVyIHRvIHVuc2lnbmVkIGNoYXIuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zdHJjYXNlc3RyLmMgW19MSUJDXSAoVE9MT1dFUik6IExpa2V3aXNlLgoKMjAwNC0wMy0yNCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzdGRsaWIvc3RydG9kX2wuYyAoSU5URVJOQUwgKF9fU1RSVE9GKSk6IENsZWFyIHRoZSByZXN0IG9mIHJldHZhbCwKCW5vdCBqdXN0IG9uZSBsaW1iIGlmIFJFVFVSTl9MSU1CX1NJWkUgPiAyLiAgRml4IHNoaWZ0aW5nIHVwIGlmCglSRVRVUk5fTElNQl9TSVpFID4gMi4KCgkqIHN0ZGlvLWNvbW1vbi9wcmludGZfZnAuYyAoX19wcmludGZfZnApOiBGb3IgSUVFRSBxdWFkIGxvbmcgZG91YmxlCglvbiAzMi1iaXQgYXJjaGl0ZWN0dXJlcyByZXNlcnZlIDggbGltYnMgaW5zdGVhZCBvZiA0LgoKMjAwNC0wMy0yMyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9zeXNkZXAuaCAoX19OUl9wcmVhZCwgX19OUl9wd3JpdGUpOgoJRGVmaW5lIHRvIF9fTlJfcHtyZWFkLHdyaXRlfTY0IGlmIG5vdCBkZWZpbmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvc3lzZGVwLmggKF9fTlJfcHJlYWQsCglfX05SX3B3cml0ZSk6IERlZmluZSB0byBfX05SX3B7cmVhZCx3cml0ZX02NCBpZiBub3QgZGVmaW5lZCBpbnN0ZWFkCglvZiBkZWZpbmluZyBpdCB0aGUgb3RoZXIgd2F5IGFyb3VuZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvc3lzY2FsbHMubGlzdDogTW92ZSBjb21tb24gc3lzY2FsbHMKCWZvciA2NGJpdCBhcmNoZXMgdG8gc3lzZGVwcy91bml4L3N5c3YvbGludXgvd29yZHNpemUtNjQvc3lzY2FsbHMubGlzdC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L3N5c2NhbGxzLmxpc3Q6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L3N5c2NhbGxzLmxpc3Q6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3N5c2NhbGxzLmxpc3Q6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzY2FsbHMubGlzdDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3ByZWFkNjQuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvZ2V0cmxpbWl0NjQuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvZ2xvYjY0LmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3RydW5jYXRlNjQuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEveHN0YXQ2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9wd3JpdGU2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9wb3NpeF9mYWR2aXNlLmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL21tYXA2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9meHN0YXQ2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9zZXRybGltaXQ2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9mdHJ1bmNhdGU2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9zZW5kZmlsZTY0LmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2x4c3RhdDY0LmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3Bvc2l4X2ZhZHZpc2U2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9zdGF0ZnM2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9mc3RhdGZzNjQuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L3ByZWFkNjQuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L2dldHJsaW1pdDY0LmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9nbG9iNjQuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L3JlYWRkaXI2NF9yLmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC90cnVuY2F0ZTY0LmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC94c3RhdDY0LmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9wd3JpdGU2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvZ2V0ZGVudHM2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvcmVhZGRpcl9yLmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9seHN0YXQuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L3JlYWRkaXIuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L3Bvc2l4X2ZhZHZpc2UuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L21tYXA2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQveHN0YXQuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L2Z4c3RhdDY0LmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9zZXRybGltaXQ2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvZnRydW5jYXRlNjQuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L2dldGRlbnRzLmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9seHN0YXQ2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvcG9zaXhfZmFkdmlzZTY0LmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9yZWFkZGlyNjQuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L2Z4c3RhdC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvc3RhdGZzNjQuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L2ZzdGF0ZnM2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGM2NC9nbG9iNjQuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjNjQvdHJ1bmNhdGU2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGM2NC94c3RhdDY0LmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzY0L3Bvc2l4X2ZhZHZpc2UuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjNjQvZnhzdGF0NjQuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjNjQvZnRydW5jYXRlNjQuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjNjQvbHhzdGF0NjQuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjNjQvcG9zaXhfZmFkdmlzZTY0LmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvcHJlYWQ2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L2dldHJsaW1pdDY0LmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvZ2xvYjY0LmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvcmVhZGRpcjY0X3IuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC90cnVuY2F0ZTY0LmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQveHN0YXQ2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L3B3cml0ZTY0LmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvZ2V0ZGVudHM2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L3JlYWRkaXJfci5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L3JlYWRkaXIuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9wb3NpeF9mYWR2aXNlLmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvbW1hcDY0LmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvZnhzdGF0NjQuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9zZXRybGltaXQ2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L2Z0cnVuY2F0ZTY0LmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvc2VuZGZpbGU2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L2dldGRlbnRzLmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvbHhzdGF0NjQuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9wb3NpeF9mYWR2aXNlNjQuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9yZWFkZGlyNjQuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9zdGF0ZnM2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L2ZzdGF0ZnM2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3ByZWFkNjQuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9nZXRybGltaXQ2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2dsb2I2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3JlYWRkaXI2NF9yLmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvdHJ1bmNhdGU2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3hzdGF0NjQuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9wd3JpdGU2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2dldGRlbnRzNjQuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9yZWFkZGlyX3IuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9seHN0YXQuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9yZWFkZGlyLmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvcG9zaXhfZmFkdmlzZS5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L21tYXA2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3hzdGF0LmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvZnhzdGF0NjQuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zZXRybGltaXQ2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2Z0cnVuY2F0ZTY0LmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc2VuZGZpbGU2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2dldGRlbnRzLmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvbHhzdGF0NjQuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9wb3NpeF9mYWR2aXNlNjQuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9yZWFkZGlyNjQuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9meHN0YXQuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zdGF0ZnM2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2ZzdGF0ZnM2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvcHJlYWQ2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvZ2V0cmxpbWl0NjQuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L2dsb2I2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvcmVhZGRpcjY0X3IuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3RydW5jYXRlNjQuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3hzdGF0NjQuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3B3cml0ZTY0LmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9nZXRkZW50czY0LmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9yZWFkZGlyX3IuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L2x4c3RhdC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvcmVhZGRpci5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvcG9zaXhfZmFkdmlzZS5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvbW1hcDY0LmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC94c3RhdC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvZnhzdGF0NjQuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3NldHJsaW1pdDY0LmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9mdHJ1bmNhdGU2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc2VuZGZpbGU2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvZ2V0ZGVudHMuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L2x4c3RhdDY0LmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9wb3NpeF9mYWR2aXNlNjQuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3JlYWRkaXI2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvZnhzdGF0LmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zdGF0ZnM2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvZnN0YXRmczY0LmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL0ltcGxpZXM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9nZXRkZW50czY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvSW1wbGllczogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzY0L0ltcGxpZXM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGM2NC9zeXNjYWxscy5saXN0OiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9JbXBsaWVzOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9seHN0YXQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQveHN0YXQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvZnhzdGF0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC93b3Jkc2l6ZS02NC9zdGF0dmZzNjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3dvcmRzaXplLTY0L2ZzdGF0dmZzNjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3dvcmRzaXplLTY0L3ByZWFkNjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3dvcmRzaXplLTY0L2ZzdGF0dmZzLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC93b3Jkc2l6ZS02NC9nZXRybGltaXQ2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvd29yZHNpemUtNjQvZ2xvYjY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC93b3Jkc2l6ZS02NC9yZWFkZGlyNjRfci5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvd29yZHNpemUtNjQvdHJ1bmNhdGU2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvd29yZHNpemUtNjQveHN0YXQ2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvd29yZHNpemUtNjQvcHdyaXRlNjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3dvcmRzaXplLTY0L2dldGRlbnRzNjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3dvcmRzaXplLTY0L3JlYWRkaXJfci5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvd29yZHNpemUtNjQvbHhzdGF0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC93b3Jkc2l6ZS02NC9yZWFkZGlyLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC93b3Jkc2l6ZS02NC9wb3NpeF9mYWR2aXNlLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC93b3Jkc2l6ZS02NC9tbWFwNjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3dvcmRzaXplLTY0L3hzdGF0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC93b3Jkc2l6ZS02NC9meHN0YXQ2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvd29yZHNpemUtNjQvc2V0cmxpbWl0NjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3dvcmRzaXplLTY0L2Z0cnVuY2F0ZTY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC93b3Jkc2l6ZS02NC9zZW5kZmlsZTY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC93b3Jkc2l6ZS02NC9nZXRkZW50cy5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvd29yZHNpemUtNjQvc3RhdHZmcy5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvd29yZHNpemUtNjQvbHhzdGF0NjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3dvcmRzaXplLTY0L3Bvc2l4X2ZhZHZpc2U2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvd29yZHNpemUtNjQvcmVhZGRpcjY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC93b3Jkc2l6ZS02NC9zeXNjYWxscy5saXN0OiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvd29yZHNpemUtNjQvZnhzdGF0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC93b3Jkc2l6ZS02NC9zdGF0ZnM2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvd29yZHNpemUtNjQvZnN0YXRmczY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L0ltcGxpZXM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvSW1wbGllczogTmV3IGZpbGUuCgoyMDA0LTAzLTIyICBSaWNoYXJkIEhlbmRlcnNvbiAgPHJ0aEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9hbHBoYS9zX2ZhYnMuUzogUmVtb3ZlIGZpbGUuCgkqIHN5c2RlcHMvYWxwaGEvc19jb3B5c2lnbi5TOiBSZW1vdmUgZmlsZS4KCjIwMDQtMDMtMjIgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9nZXRwYWdlc2l6ZS5jCgkoX19nZXRwYWdlc2l6ZSk6IEF2b2lkIHdhcm5pbmcgYWJvdXQgd3JpdGluZyBpbnRvIHJlYWQtb25seSBtZW1vcnkuCgoJKiBzdHJpbmcvTWFrZWZpbGUgKHJvdXRpbmVzKTogQWRkIHhwZy1zdHJlcnJvci4KCSogc3RyaW5nL3N0cmluZy5oIChzdHJlcnJvcl9yKTogSWYgX19VU0VfWE9QRU4ySyBidXQgbm90IF9fVVNFX0dOVSwKCXJlZGlyZWN0IHN0cmVycm9yX3IgdG8gX194cGdfc3RyZXJyb3Jfci4KCSogc3RyaW5nL1ZlcnNpb25zIChsaWJjKTogQWRkIF9feHBnX3N0cmVycm9yX3JAQEdMSUJDXzIuMy40LgoJKiBzeXNkZXBzL2dlbmVyaWMveHBnLXN0cmVycm9yLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL21hY2gveHBnLXN0cmVycm9yLmM6IE5ldyBmaWxlLgoKMjAwNC0wMy0yMiAgSm9zZXBoIFMuIE15ZXJzICA8anNtQHBvbHlvbWluby5vcmcudWs+CgoJKiBzdW5ycGMvcnBjL3hkci5oIChJWERSX0dFVF9MT05HLCBJWERSX1BVVF9MT05HKTogRG8gbm90IHVzZQoJY2FzdHMgYXMgbHZhbHVlcy4KCjIwMDQtMDMtMjIgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGVsZi90c3QtZGxtb2Rjb3VudC5jICh1bmxvYWQpOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlLgoKCSogbWlzYy90c3QtbW50ZW50LmMgKG1haW4pOiBVc2UgdG1wZmlsZSBpbnN0ZWFkIG9mIHRtcG5hbS4KCjIwMDQtMDMtMjAgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGZyb2IuY29tPgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvZGwtZXhlY3N0YWNrLmM6IE5ldyBmaWxlLgoKMjAwNC0wMy0yMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwby9jYS5wbzogVXBkYXRlIGZyb20gdHJhbnNsYXRpb24gdGVhbS4KCjIwMDQtMDMtMjAgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NjaGVkX2dldGFmZmluaXR5LmMKCShfX3NjaGVkX2dldGFmZmluaXR5X29sZCk6IEZpeCBpbnRlcmZhY2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NjaGVkX3NldGFmZmluaXR5LmMKCShfX3NjaGVkX3NldGFmZmluaXR5X29sZCk6IExpa2V3aXNlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2NoZWRfc2V0YWZmaW5pdHkuYzogSW5jbHVkZSA8YWxsb2NhLmg+LgoKMjAwNC0wMy0xNyAgS2F6IEtvamltYSAgPGtrb2ppbWFAcnIuaWlqNHUub3IuanA+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9rZXJuZWwtZmVhdHVyZXMuaAoJKF9fQVNTVU1FX0NMT05FX1RIUkVBRF9GTEFHUyApOiBEZWZpbmUgZm9yIG5ld2VyIFNIIGtlcm5lbC4KCShfX0FTU1VNRV9UR0tJTEwsIF9fQVNTVU1FX1VUSU1FUyk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9zb2NrZXQuUzogQWRkIHVud2luZCBpbmZvcm1hdGlvbi4KCjIwMDQtMDMtMTkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogdGltZS90emZpbGUuYyAoX190emZpbGVfZGVmYXVsdCk6IENvcnJlY3Qgc2V0dGluZyBvZiBydWxlX3N0ZG9mZgoJYW5kIHJ1bGVfZHN0b2ZmIGFmdGVyIHJlYWRpbmcgdGhlIHBvc2l4cnVsZXMgZmlsZS4KCjIwMDQtMDMtMTggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWFsbG9jL21hbGxvYy5jIChfX3Bvc2l4X21lbWFsaWduKTogQ29ycmVjdCBhbGlnbm1lbnQgY2hlY2suCglSZXBvcnRlZCBieSBEb24gSGVsbGVyIDxkaGVsbGVyQGNzZS5wc3UuZWR1Pi4KCjIwMDQtMDMtMTggIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL2RsLWNhY2hlLmMgKF9kbF9sb2FkX2NhY2hlX2xvb2t1cCk6IFJlbW92ZSBod2NhcAoJdmFyaWFibGUgYW5kIHdlYWtfZXh0ZXJuIGZvciBfZGxfaHdjYXAuCgkoX0RMX0hXQ0FQX1RMU19NQVNLKTogRGVmaW5lLgoJKEhXQ0FQX0NIRUNLKTogRml4IGNoZWNraW5nIG9mIG5vbi1wbGF0Zm9ybSBod2NhcCBiaXRzLiAgVXNlCglsaWItPm9zdmVyc2lvbiBpbnN0ZWFkIG9mIGNhY2hlX25ldy0+bGlic1ttaWRkbGVdLm9zdmVyc2lvbi4KCgkqIHN0ZGlvLWNvbW1vbi9hc3ByaW50Zi5jOiBSZW1vdmUgVVNFX0lOX0xJQklPIGNvbmRpdGlvbmFscy4KCSogc3RkaW8tY29tbW9uL2RwcmludGYuYzogTGlrZXdpc2UuCgkqIHN0ZGlvLWNvbW1vbi9mcHJpbnRmLmM6IExpa2V3aXNlLgoJKiBzdGRpby1jb21tb24vZ2V0bGluZS5jOiBMaWtld2lzZS4KCSogc3RkaW8tY29tbW9uL2dldHcuYzogTGlrZXdpc2UuCgkqIHN0ZGlvLWNvbW1vbi9wZXJyb3IuYzogTGlrZXdpc2UuCgkqIHN0ZGlvLWNvbW1vbi9wcmludGYtcHJzLmM6IExpa2V3aXNlLgoJKiBzdGRpby1jb21tb24vcHJpbnRmLmM6IExpa2V3aXNlLgoJKiBzdGRpby1jb21tb24vcHJpbnRmX3NpemUuYzogTGlrZXdpc2UuCgkqIHN0ZGlvLWNvbW1vbi9wc2lnbmFsLmM6IExpa2V3aXNlLgoJKiBzdGRpby1jb21tb24vcHV0dy5jOiBMaWtld2lzZS4KCSogc3RkaW8tY29tbW9uL3NjYW5mLmM6IExpa2V3aXNlLgoJKiBzdGRpby1jb21tb24vc25wcmludGYuYzogTGlrZXdpc2UuCgkqIHN0ZGlvLWNvbW1vbi9zcHJpbnRmLmM6IExpa2V3aXNlLgoJKiBzdGRpby1jb21tb24vc3NjYW5mLmM6IExpa2V3aXNlLgoJKiBzdGRpby1jb21tb24vdHN0Z2V0bG4uYzogTGlrZXdpc2UuCgkqIHN0ZGlvLWNvbW1vbi92ZnByaW50Zi5jOiBMaWtld2lzZS4KCjIwMDQtMDMtMTggIFBhdWwgRWdnZXJ0ICA8ZWdnZXJ0QGNzLnVjbGEuZWR1PgoKCSogcG9zaXgvZ2V0b3B0LmggKF9fR05VQ19QUkVSRVEpIFshZGVmaW5lZCBfX1RIUk9XXTogRGVmaW5lCglpZiBub3QgZGVmaW5lZCwgZml4aW5nIGEgdHlwbyAoaXQgdXNlZCB0byBiZSBkZWZpbmVkIGlmCglfX0dOVUNfXyB3YXMgbm90IGRlZmluZWQpLgoKMjAwNC0wMy0xOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9zY2hlZC5oOiBDaGFuZ2Ugc2NoZWRfZ2V0YWZmaW5pdHkgYW5kIHNjaGVkX3NldGFmZmluaXR5CglpbnRlcmZhY2VzOiBhZGQgbmV3IHNlY29uZCBwYXJhbWV0ZXIuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zY2hlZF9nZXRhZmZpbml0eS5jOiBJbXBsZW1lbnQgaW50ZXJmYWNlIGNoYW5nZS4KCSogc3lzZGVwcy9nZW5lcmljL3NjaGVkX3NldGFmZmluaXR5LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zY2hlZF9nZXRhZmZpbml0eS5jOiBMaWtld2lzZS4gIEFkZAoJY29tcGF0aWJpbGl0eSBpbnRlcmZhY2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NjaGVkX3NldGFmZmluaXR5LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9WZXJzaW9uczogQWRkIHZlcnNpb25zIGZvciBjaGFuZ2VkCglpbnRlcmZhY2VzLgoKMjAwNC0wMy0xOCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIG1hbnVhbC9NYWtlZmlsZSAoc3RhbXAtc3VtbWFyeSk6IFVzZSAtayBvcHRpb24gdG8gc29ydCwKCW5vdCB0cmFkaXRpb25hbCBrZXkgc2VsZWN0aW9uIHN5bnRheC4KCVJlcG9ydGVkIGJ5IEppbSBHaWZmb3JkIDxnaWZmb3JkakBsaW5rbGluZS5jb20+LgoKMjAwNC0wMy0xOCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBlbGYvbGRjb25maWcuYzogSW5jbHVkZSBzdGRib29sLmguCgoyMDA0LTAzLTE4ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogZWxmL2xkY29uZmlnLmMgKHBhcnNlX2NvbmZfaW5jbHVkZSk6IE5ldyBmdW5jdGlvbi4KCShwYXJzZV9jb25mKTogQ2FsbCBpdCB0byBwYXJzZSBsaW5lcyBzdGFydGluZyB3aXRoICJpbmNsdWRlIi4KCVJlbWFpbmluZyB3b3JkcyBhcmUgZ2xvYiBwYXR0ZXJucyBmb3IgbW9yZSBjb25maWcgZmlsZXMgdG8gcmVhZC4KCVRha2UgYWRkaXRpb25hbCBib29sIGFyZ3VtZW50IHRvIGRpc2FibGUgb3B0X2Nocm9vdCBwcm9jZXNzaW5nLgoJKG1haW4pOiBVcGRhdGUgY2FsbGVyLgoKMjAwNC0wMy0xNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2lvcGVybS5jIChfaW9wbCk6IE1hdGNoIEVQRVJNIGVycm9yCgl0aGUgeDg2IGNvZGUgcHJvZHVjZXMgaW4gY2FzZSBvZiBtaXNzaW9uIHBlcm1pc3Npb25zLgoJUGF0Y2ggYnkgQmVybmQgU2NobWlkdCA8YmVybmRzQHJlZGhhdC5jb20+LgoKCSogcmVzb2x2L25ldGRiLmg6IERlZmluZSBBSV9JRE5fQUxMT1dfVU5BU1NJR05FRCwKCUFJX0lETl9VU0VfU1REM19BU0NJSV9SVUxFUywgTklfSUROX0FMTE9XX1VOQVNTSUdORUQsIGFuZAoJTklfSUROX1VTRV9TVEQzX0FTQ0lJX1JVTEVTLgoJKiBpbmV0L2dldG5hbWVpbmZvLmMgKGdldG5hbWVpbmZvKTogSW1wbGVtZW50IGhhbmRsaW5nIG9mCglOSV9JRE5fQUxMT1dfVU5BU1NJR05FRCBhbmQgTklfSUROX1VTRV9TVEQzX0FTQ0lJX1JVTEVTLgoJKiBzeXNkZXBzL3Bvc2l4L2dldGFkZHJpbmZvLmMgKGdhaWhfaW5ldCk6IEltcGxlbWVudCBoYW5kbGluZyBvZgoJQUlfSUROX0FMTE9XX1VOQVNTSUdORUQgYW5kIEFJX0lETl9VU0VfU1REM19BU0NJSV9SVUxFUy4KCjIwMDQtMDMtMTcgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy94ODZfNjQvaHAtdGltaW5nLmggKEhQX1RJTUlOR19OT1cpOiBNYWtlIGFzbSB2b2xhdGlsZS4KCjIwMDQtMDMtMTYgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGMzMi9mcHUvX19sb25nam1wLlM6IFNwZWxsaW5nLgoJKEpCX1NJWkUpOiBVbmRlZmluZSBiZWZvcmUgaW5jbHVkaW5nIF9fbG9uZ2ptcC1jb21tb24uUyBhZ2Fpbi4KCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGMzMi9mcHUvc2V0am1wLlM6IFNwZWxsaW5nLgoJKEpCX1NJWkUpOiBVbmRlZmluZSBiZWZvcmUgaW5jbHVkaW5nIHNldGptcC1jb21tb24uUyBhZ2Fpbi4KCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9ic2QtX3NldGptcC5TOiBTcGVsbGluZy4KCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9ic2Qtc2V0am1wLlM6IFNwZWxsaW5nLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL2JzZC1fc2V0am1wLlM6IFNwZWxsaW5nLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL2JzZC1zZXRqbXAuUzogU3BlbGxpbmcuCgkqIHN5c2RlcHMvcG93ZXJwYy9zaWdqbXAuYzogU3BlbGxpbmcuCgoyMDA0LTAzLTE2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvY3R5cGUuaDogRm9yIGxpYmMsIGRlZmluZSBpc2RpZ2l0LCBpc2RpZ2l0X2wsIGFuZAoJX19pc2RpZ2l0X2wgYXMgc2ltcGxlIGNvbXBhcmlzb24gbWFjcm9zLgoJKiBpbmNsdWRlL3djdHlwZS5oOiBGb3IgbGliYywgZGVmaW5lIGlzd2RpZ2l0LCBpc3dkaWdpdF9sLCBhbmQKCV9faXN3ZGlnaXRfbCBhcyBzaW1wbGUgY29tcGFyaXNvbiBtYWNyb3MuCgkqIHdjdHlwZS93Y2Z1bmNzX2wuYzogI3VuZGVmIGlzd2RpZ2l0IGFuZCBfX2lzd2RpZ2l0LgoKMjAwNC0wMy0xNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3NwYXJjL2ZwdS9iaXRzL21hdGhpbmxpbmUuaDogUmVzdG9yZSBtaXNzaW5nICNpZmRlZi4KCVBhdGNoIGJ5IFJpY2hhcmQgSGVuZGVyc29uLgoKMjAwNC0wMy0xNiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvc3RydG9sZF9sLmMgKFNUUklOR19UWVBFLCBTVFJUT0xELCBfX1NUUlRPTEQsCglfX1NUUlRPRCwgSU5URVJOQUwsIElOVEVSTkFMMSk6IERlZmluZSwgdXNlIHRoZW0uCglbISBVU0VfV0lERV9DSEFSXSAoSU5URVJOQUwgKF9fU1RSVE9MRCkpOiBBZGQgbGliY19oaWRkZW5fZGVmLgoKCSogaW5ldC9nZXRuYW1laW5mby5jOiBJbmNsdWRlIHN0ZGxpYi5oLgoKMjAwNC0wMy0xNSAgUmljaGFyZCBIZW5kZXJzb24gIDxydGhAcmVkaGF0LmNvbT4KCgkqIG1hdGgvTWFrZWZpbGUgKGhlYWRlcnMpOiBBZGQgYml0cy9odWdlX3ZhbGYuaCwgYml0cy9odWdlX3ZhbGwuaCwKCWFuZCBiaXRzL2luZi5oLgoJKiBtYXRoL21hdGguaDogSW5jbHVkZSB0aGVtLgoKCSogc3lzZGVwcy9hbHBoYS9mcHUvYml0cy9tYXRoZGVmLmg6IFJlbW92ZSBJTkZJTklUWS4KCSogc3lzZGVwcy9hcm0vZnB1L2JpdHMvbWF0aGRlZi5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvbWF0aGRlZi5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2ZwdS9iaXRzL21hdGhkZWYuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaWE2NC9mcHUvYml0cy9tYXRoZGVmLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL202OGsvZnB1L2JpdHMvbWF0aGRlZi5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL2ZwdS9iaXRzL21hdGhkZWYuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG93ZXJwYy9mcHUvYml0cy9tYXRoZGVmLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NoL3NoNC9mcHUvYml0cy9tYXRoZGVmLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL2ZwdS9iaXRzL21hdGhkZWYuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMveDg2XzY0L2ZwdS9iaXRzL21hdGhkZWYuaDogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL2FybS9iaXRzL2h1Z2VfdmFsLmggKEhVR0VfVkFMKTogVXNlIF9fYnVpbHRpbl9odWdlX3ZhbC4KCShIVUdFX1ZBTEYsIEhVR0VfVkFMTCk6IFJlbW92ZS4KCSogc3lzZGVwcy9pZWVlNzU0L2JpdHMvaHVnZV92YWwuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc2gvYml0cy9odWdlX3ZhbC5oOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL2h1Z2VfdmFsLmggKEhVR0VfVkFMKTogVXNlIF9fYnVpbHRpbl9odWdlX3ZhbC4KCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvaHVnZV92YWxmLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy9odWdlX3ZhbGwuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL2luZi5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pZWVlNzU0L2JpdHMvaHVnZV92YWxmLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2llZWU3NTQvYml0cy9pbmYuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaTM4Ni9iaXRzL2h1Z2VfdmFsLmg6IFJlbW92ZSBmaWxlLgoJKiBzeXNkZXBzL2kzODYvYml0cy9odWdlX3ZhbGwuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9iaXRzL2h1Z2VfdmFsLmg6IFJlbW92ZSBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvYml0cy9odWdlX3ZhbGwuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTEyOC9iaXRzL2h1Z2VfdmFsbC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9tNjhrL2JpdHMvaHVnZV92YWwuaDogUmVtb3ZlIGZpbGUuCgkqIHN5c2RlcHMvbTY4ay9iaXRzL2h1Z2VfdmFsbC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL2JpdHMvaHVnZV92YWwuaDogUmVtb3ZlIGZpbGUuCgkqIHN5c2RlcHMvc2gvc2g0L2ZwdS9iaXRzL2h1Z2VfdmFsLmg6IFJlbW92ZSBmaWxlLgoJKiBzeXNkZXBzL3NwYXJjL2JpdHMvaHVnZV92YWxsLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvZnB1L2JpdHMvaHVnZV92YWwuaDogUmVtb3ZlIGZpbGUuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9mcHUvYml0cy9odWdlX3ZhbC5oOiBSZW1vdmUgZmlsZS4KCgkqIHN5c2RlcHMvaWVlZTc1NC9iaXRzL25hbi5oIChOQU4pOiBVc2UgX19idWlsdGluX25hbmYuCgkqIHN5c2RlcHMvbWlwcy9iaXRzL25hbi5oIChOQU4pOiBMaWtld2lzZS4KCjIwMDQtMDMtMTUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnYvZ2NvbnZfc2ltcGxlLmMgKF9fZ2NvbnZfdHJhbnNmb3JtX3V0ZjhfaW50ZXJuYWwpOiBVc2Ugb25seQoJb25lIGNvcHkgb2YgZXJyb3IgaGFuZGxpbmcgY29kZS4KCgkqIHN0ZGlvLWNvbW1vbi92ZnNjYW5mLmM6IFNpbXBsaWZ5IGVycm9yIGhhbmRsaW5nIG1hY3Jvcy4gIFVzZQoJZGlyZWN0IGxvY2FsZSBhY2Nlc3MgZnVuY3Rpb25zLgoKCSogc3lzZGVwcy9nZW5lcmljL3N0cmNhc2VzdHIuYyAoX19zdHJjYXNlc3RyKTogT3B0aW1pemUgdXNlIG9mCgl0b2xvd2VyIGZ1bmN0aW9uLgoKMjAwNC0wMy0xMyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3N5c2NvbmYuYyAoaW50ZWxfMDJfa25vd24pOiBBZGQgY29uc3QuCgkoaGFuZGxlX2FtZCk6IE5ldyBmdW5jdGlvbi4KCShfX3N5c2NvbmYpOiBIYW5kbGUgX1NDX0xFVkVMNF9DQUNIRV9MSU5FU0laRSBoZXJlLCBub3QgaW4KCWxpbnV4X3N5c2NvbmYuICBDYWxsIGhhbmRsZV9hbWQgb24gQXV0aGVudGljQU1ELgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzY29uZi5jOiBMaWtld2lzZS4KCjIwMDQtMDMtMTQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogd2NzbWJzL21ic3J0b3djcy5jOiBKdXN0IGEgd3JhcHBlciBhcm91bmQgX19tYnNydG93Y3NfbC4KCSogd2NzbWJzL21ic3J0b3djc19sLmMgKF9fbWJzcnRvd2NzX2wpOiBBZGQgcmVhbCBpbXBsZW1lbnRhdGlvbiBoZXJlLgoKCU1ha2UgdGhlIG5vbi1fbCBmdW5jdGlvbnMgd3JhcHBlcnMgYXJvdW5kIHRoZSBfbCBmdW5jdGlvbnMuCgkqIGluY2x1ZGUvbW9uZXRhcnkuaDogRGVjbGFyZSBfX3ZzdHJtb25fbC4KCSogaW5jbHVkZS9zdHJpbmcuaDogQWRkIGxpYmNfaGlkZGVuX3Byb3RvIGZvciBfX3N0cmNvbGxfbCBhbmQKCV9fc3RyeGZybV9sLgoJKiBpbmNsdWRlL3RpbWUuaDogRGVmaW5lIHB0aW1lX2xvY2FsZV9zdGF0dXMuICBEZWNsYXJlCglfX3N0cnB0aW1lX2ludGVybmFsLgoJKiBpbmNsdWRlL3djaGFyLmg6IEFkZCBsaWJjX2hpZGRlbl9wcm90byBmb3IgX193Y3Njb2xsX2wgYW5kCglfX3djc3hmcm1fbC4KCSogc3RkbGliL3N0cmZtb24uYzogTW92ZSB0aGUgY29kZSB0byBzdHJmbW9uX2wuYy4gIEFkZCBsaXR0bGUKCXdyYXBwZXIgYXJvdW5kIF9fdnN0cmZtb25fbC4KCSogc3RkbGliL3N0cmZtb25fbC5jOiBBZGQgcmVhbCBpbXBsZW1lbnRhdGlvbi4gIFNwbGl0IGludG8gbmV3CglmdW5jdGlvbiBfX3ZzdHJmbW9uX2wgdG8gYWxsb3cgY2FsbGluZyBpdCBmcm9tIHN0cmZtb24uCgkqIHN0ZGxpYi9zdHJ0b2QuYzogTW92ZSByZWFsIGNvZGUgdG8gc3RydG9kX2wuYyBhbmQgYWRkIHdyYXBwZXIuCgkqIHN0ZGxpYi9zdHJ0b2RfbC5jOiBBZGQgcmVhbCBpbXBsZW1lbnRhdGlvbi4KCSogc3RkbGliL3N0cnRvZi5jOiBBZGp1c3QgdG8gY2hhbmdlZCBzdHJ0b2QuYy4KCSogc3RkbGliL3N0cnRvZl9sLmM6IEluY2x1ZGUgc3RydG9kX2wuYyBub3cuCgkqIHN0ZGxpYi9zdHJ0b2xkLmM6IE5ldyBmaWxlLgoJKiBzdGRsaWIvc3RydG9sZF9sLmM6IFJlbW92ZWQuCgkqIHN0cmluZy9zdHJjb2xsLmM6IE1vdmUgcmVhbCBjb2RlIHRvIHN0cmNvbGxfbC5jOiBBZGQgd3JhcHBlci4KCSogc3RyaW5nL3N0cmNvbGxfbC5jOiBBZGQgcmVhbCBpbXBsZW1lbnRhdGlvbi4KCSogc3RyaW5nL3N0cnhmcm0uYzogTW92ZSByZWFsIGNvZGUgdG8gc3RyeGZybV9sLmM6IEFkZCB3cmFwcGVyLgoJKiBzdHJpbmcvc3RyeGZybV9sLmM6IEFkZCByZWFsIGltcGxlbWVudGF0aW9uLgoJKiBzeXNkZXBzL2dlbmVyaWMvc3RydG9sLmM6IE1vdmUgcmVhbCBpbXBsZW1lbnRhdGlvbiB0byBzdHJ0b2xfbC5jLgoJQWRkIHdyYXBwZXJzLgoJKiBzeXNkZXBzL2dlbmVyaWMvc3RydG9sX2wuYzogQWRkIHJlYWwgaW1wbGVtZW50YXRpb24uCgkqIHN5c2RlcHMvZ2VuZXJpYy9zdHJ0b2xkLmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zdHJ0b2xkX2wuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zdHJ0b2xsX2wuYzogSW5jbHVkZSBzdHJ0b2xfbC5jIG5vdy4gIEFkanVzdAoJI2RlZmluZXMuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zdHJ0b3VsX2wuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zdHJ0b3VsbF9sLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvd2NzdG9sX2wuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy93Y3N0b2xsX2wuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy93Y3N0b3VsX2wuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy93Y3N0b3VsbF9sLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2llZWU3NTQvbGRibC0xMjgvc3RydG9sZC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL2llZWU3NTQvbGRibC0xMjgvc3RydG9sZF9sLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2llZWU3NTQvbGRibC05Ni9zdHJ0b2xkLmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTk2L3N0cnRvbGRfbC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9tNjhrL3N0cnRvbGQuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy9tNjhrL3N0cnRvbGRfbC5jOiBOZXcgZmlsZS4KCSogdGltZS9zdHJmdGltZS5jOiBNb3ZlIHJlYWwgY29kZSB0byBzdHJmdGltZV9sLmMuICBBZGQgd3JhcHBlci4KCSogdGltZS9zdHJmdGltZV9sLmM6IEFkZCByZWFsIGltcGxlbWVudGF0aW9uLgoJKiB0aW1lL3N0cnB0aW1lLmM6IE1vdmUgcmVhbCBjb2RlIHRvIHN0cnB0aW1lX2wuYy4gIEFkZCB3cmFwcGVyLgoJKiB0aW1lL3N0cnB0aW1lX2wuYzogQWRkIHJlYWwgaW1wbGVtZW50YXRpb24uCgkqIHRpbWUvd2NzZnRpbWUuYzogU2ltcGxpZnkgc2luY2Ugb25seSB3cmFwcGVycyBhcmUgZGVmaW5lZCBpbgoJc3RyZnRpbWUuYy4KCSogdGltZS93Y3NmdGltZV9sLmM6IEluY2x1ZGUgc3RyZnRpbWVfbC5jLgoJKiB3Y3NtYnMvd2NzY29sbC5jOiBTaW1wbGlmeSBzaW5jZSB0aGUgZmlsZSBpcyBub3QgdXNlZCBieSB3Y3Njb2xsX2wuYwoJYW55bW9yZS4KCSogd2NzbWJzL3djc2NvbGxfbC5jOiBJbmNsdWRlIHN0cmNvbGxfbC5jLgoJKiB3Y3NtYnMvd2NzeGZybS5jOiBTaW1wbGlmeSBzaW5jZSB0aGUgZmlsZSBpcyBub3QgdXNlZCBieSB3Y3N4ZnJtX2wuYwoJYW55bW9yZS4KCSogd2NzbWJzL3djc3hmcm1fbC5jOiBJbmNsdWRlIHN0cnhmcm1fbC5jLgoJKiB3Y3NtYnMvd2NzdG9kLmM6IFByZXBhcmUgdG8gaW5jbHVkZSBuZXcgc3RydG9kLmMuCgkqIHdjc21icy93Y3N0b2RfbC5jOiBJbmNsdWRlIHN0cnRvZF9sLmMuCgkqIHdjc21icy93Y3N0b2YuYzogUHJlcGFyZSB0byBpbmNsdWRlIG5ldyBzdHJ0b2YuYy4KCSogd2NzbWJzL3djc3RvZl9sLmM6IEluY2x1ZGUgc3RydG9mX2wuYy4KCSogd2NzbWJzL3djc3RvbGQuYzogUHJlcGFyZSB0byBpbmNsdWRlIG5ldyBzdHJ0b2xkLmMuCgkqIHdjc21icy93Y3N0b2xkX2wuYzogSW5jbHVkZSBzdHJ0b2xkX2wuYy4KCgkqIGxvY2FsZS91c2Vsb2NhbGUuYzogVXNlIF9OTF9DVVJSRU5UX0xPQ0FMRSBpbnN0ZWFkIG9mIF9fbGliY190c2RfZ2V0LgoKCSogc3lzZGVwcy9nZW5lcmljL3N0cmNhc2VjbXAuYzogT3B0aW1pemUgYSBiaXQuICBJdCdzIGJldHRlciB0byBnZXQKCWEgcmVmZXJlbmNlIHRvIHRoZSBjdXJyZW50IGxvY2FsZSBhbmQgdGhlbiB1c2UgdGhlIF9sIGZ1bmN0aW9ucy4KCSogc3lzZGVwcy9nZW5lcmljL3N0cm5jYXNlLmM6IExpa2V3aXNlLgoKMjAwNC0wMy0xMSAgSmVyb2VuIERla2tlcnMgIDxqZXJvZW5AZGVra2Vycy5jeD4KCgkqIGNwcGZsYWdzLWl0ZXJhdG9yLm1rOiBDaGFuZ2UgbGlib2YtJChjcHAtc3JjKSB0bwoJbGlib2YtJChub3RkaXIgJChjcHAtc3JjKSkuCgoyMDA0LTAzLTEzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHJlc29sdi9uZXRkYi5oIChFQUlfT1ZFUkZMT1cpOiBEZWZpbmUuCgkoTklfSUROKTogRGVmaW5lLgoJKiBpbmV0L2dldG5hbWVpbmZvLmMgKGdldG5hbWVpbmZvKTogUmV0dXJuIGVycm9yIGluIGNhc2UgYXJndW1lbnQKCWJ1ZmZlcnMgb3ZlcmZsb3cuICBJbXBsZW1lbnQgTklfSUROLgoKMjAwNC0wMy0xMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiByZXNvbHYvbmV0ZGIuaDogRGVmaW5lIEFJX0NBTk9OSUROLgoJKiBzeXNkZXBzL3Bvc2l4L2dldGFkZHJpbmZvLmM6IEltcGxlbWVudCBBSV9DQU5PTklETi4KCjIwMDQtMDMtMTIgIFJpY2hhcmQgSGVuZGVyc29uICA8cnRoQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9zZWxlY3QuUzogRml4IHVud2luZC4gIFByb3BhZ2F0ZQoJb2xkdmFsdWUgZnJvbSBDRU5BQkxFIHRvIENESVNBQkxFLgoKMjAwNC0wMy0xMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzY29uZi5jOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvbG9jYWxfbGltLmg6IERlZmluZSBIT1NUX05BTUVfTUFYLgoKCSogcG9zaXgvZ2V0Y29uZi5jICh2YXJzKTogQWRkIF9TQ18gdmFsdWVzIGZvciBjYWNoZSBpbmZvcm1hdGlvbi4KCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvY29uZm5hbWUuaDogQWRkIF9TQ18qIHZhbHVlcyBmb3IgY2FjaGUKCWluZm9ybWF0aW9uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXNjb25mLmMgKF9fc3lzY29uZik6IFJlb3JnYW5pemUgdG8KCWFsbG93IHlldCBhbm90aGVyIHN5c2NvbmYgZnVuY3Rpb24gdG8gaW5jbHVkZSB0aGUgb25lIGluIHRoaXMgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zeXNjb25mLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2dlbmVyaWMvc3lzY29uZi5jOiBBZGQgZGVmYXVsdCBoYW5kbGluZyBmb3IgY2FjaGUgbGluZSBpbmZvLgoKMjAwNC0wMy0xMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3Bvc2l4L3N5c2NvbmYuYyAoX19zeXNjb25mKTogQWRkIG1pc3Npbmcgc3VwcG9ydCBmb3IKCXNvbWUgX1NDXyogdmFsdWVzLgoKMjAwNC0wMy0xMCAgQ2hyaXMgSGVhdGggIDxjaHJpc0BoZWF0aGVucy5jby5uej4KCgkqIGljb252ZGF0YS9nY29udi5tYXA6IEFkZCBnY29udl9lbmQgKGZpeGVzIG1lbW9yeSBsZWFrKS4KCjIwMDQtMDMtMTEgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGMzMi9fX2xvbmdqbXAuUyAoSkJfU0laRSk6IFVuZGVmaW5lIGJlZm9yZQoJaW5jbHVkaW5nIF9fbG9uZ2ptcC1jb21tb24uUyBhZ2Fpbi4KCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9fX2xvbmdqbXAuUyAoSkJfU0laRSk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL3NldGptcC5TIChKQl9TSVpFKTogVW5kZWZpbmUgYmVmb3JlCglpbmNsdWRpbmcgc2V0am1wLWNvbW1vbi5TIGFnYWluLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzY0L3NldGptcC5TIChKQl9TSVpFKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG93ZXJwYy9ub3ZteHNldGptcC5oIChfX25vdm14X19sb25nam1wKTogRml4IHR5cGUgb2YKCWZpcnN0IGFyZ3VtZW50IGluIHRoZSBwcm90b3R5cGUuCgkqIHN5c2RlcHMvcG93ZXJwYy9sb25nam1wLmMgKF9fdm14X19sb25nam1wLCBfX3ZteF9fbGliY19sb25nam1wKToKCVJlbW92ZSBib2d1cyBzZW1pY29sb25zLgoKCSogc3lzZGVwcy9zMzkwL2RsLXRscy5oOiBPbmx5IGFkZCBfX3Rsc19nZXRfb2Zmc2V0IGFzc2VtYmx5IGlmCglJU19JTl9ydGxkLgoJKF9fVExTX0dFVF9BRERSKTogVXNlIF9fdGxzX2dldF9vZmZzZXQsIG5vdCBfX3Rsc19nZXRfYWRkci4KCjIwMDQtMDMtMTEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcmVzb2x2L25zX3R0bC5jOiBEb24ndCBhZGQgbnNfcGFyc2VfdHRsIGZvciBsaWJyZXNvbHYuc28uCgoyMDA0LTAzLTEwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9lcnJuby5jOiBJbmNsdWRlIDxkbC1zeXNkZXAuaD4uICBVc2UKCVJUTERfUFJJVkFURV9FUlJOTyB0byBkZWNpZGUgd2hldGhlciBlcnJubyBjb21wYXQgc3ltYm9scyBhcmUgbmVlZGVkLgoKCSogZWxmL2RsLXN5bS5jOiBVbmlmeSBfZGxfc3ltIGFuZCBfZGxfdnN5bSBjb2RlIGFuZCBtYWtlIHRoZSBlbnRyeQoJcG9pbnRzIHdyYXBwZXJzIGFyb3VuZCB0aGUgdW5pZmllZCBjb2RlLgoKMjAwNC0wMy0xMSAgUmljaGFyZCBIZW5kZXJzb24gIDxydGhAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2tlcm5lbF9zdGF0LmggKGtlcm5lbF9zdGF0NjQpOiBOZXcuCgkoZ2xpYmMyMV9zdGF0KTogTmV3LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9meHN0YXQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2x4c3RhdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEveHN0YXQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3hzdGF0Y29udi5jIChfX3hzdGF0X2NvbnYpOiBBZGQKCWNvZGUgZm9yIF9TVEFUX1ZFUl9HTElCQzJfM180LgoJKF9fbGliY19taXNzaW5nX2F4cF9zdGF0NjQpOiBOZXcuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3hzdGF0Y29udi5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvYml0cy9zdGF0LmggKF9fU1RfVElNRSk6IE5ldy4KCShfU1RBVF9WRVJfR0xJQkMyXzNfNCwgX1NUQVRfVkVSX0tFUk5FTDY0KTogTmV3LgoJKHN0cnVjdCBzdGF0LCBzdHJ1Y3Qgc3RhdDY0KTogVXBkYXRlIHRvIG5ldyBmb3JtYXQuCgkoX1NUQVRCVUZfU1RfTlNFQyk6IE5ldy4KCjIwMDQtMDMtMTEgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjMzIvc3dhcGNvbnRleHQuUwoJKF9fbm92ZWNfc3dhcGNvbnRleHQpOiBCcmFuY2ggdG8gbm92ZWNfKiBsYWJlbHMuCgoyMDA0LTAzLTEwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHBvc2l4L2dldG9wdC5jIChfKTogRG9uJ3QgZGVmaW5lIGhlcmUgZm9yIGdsaWJjLgoKMjAwNC0wMy0xMCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2xpYmMtc3ltYm9scy5oIFtfX0FTU0VNQkxZX19dIChjb21wYXRfdGV4dF9zZWN0aW9uLAoJY29tcGF0X2RhdGFfc2VjdGlvbik6IERlZmluZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvYWRqdGltZS5jIChBREpUSU1FKTogQWRkCglhdHRyaWJ1dGVfY29tcGF0X3RleHRfc2VjdGlvbi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvd29yZGV4cC5jIChfX29sZF93b3JkZXhwKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL29sZGdsb2IuYyAoX19vbGRfZ2xvYiwKCV9fb2xkX2dsb2JmcmVlKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC0zMi9jaG93bi5jIChfX2Nob3duX2lzX2xjaG93bik6CglMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL3Bvc2l4X2ZhZHZpc2U2NC5jCgkoX19wb3NpeF9mYWR2aXNlNjRfbDMyKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21zZ2N0bC5jIChfX29sZF9tc2djdGwpOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjMzIvcG9zaXhfZmFkdmlzZTY0LmMKCShfX3Bvc2l4X2ZhZHZpc2U2NF9sMzIpOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9zZW1jdGwuYyAoX19vbGRfc2VtY3RsKToKCUxpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zZW1jdGwuYyAoX19vbGRfc2VtY3RsKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvc2l4X2ZhZHZpc2U2NC5jIChfX3Bvc2l4X2ZhZHZpc2U2NF9sMzIpOgoJTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NobWN0bC5jIChfX29sZF9zaG1jdGwpOiBMaWtld2lzZS4KCSogaHVyZC9jb21wYXQtMjAuYyAoX2h1cmRfcHJvY19pbml0X2NvbXBhdF8yMCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGMzMi9zd2FwY29udGV4dC5TCgkoX19zd2FwY29udGV4dCwgX19ub3ZlY19zd2FwY29udGV4dCk6IFVzZSBFTkQgaW5zdGVhZCBvZiBQU0VVRE9fRU5ELgoJKF9fbm92ZWNfc3dhcGNvbnRleHQsIF9fc3dhcGNvbnRleHRfc3R1Yik6IEFkZCBjb21wYXRfdGV4dF9zZWN0aW9uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGMzMi9tYWtlY29udGV4dC5TCgkoX19tYWtlY29udGV4dF9zdHViKTogTGlrZXdpc2UuCgkoX19ub3ZlY19tYWtlY29udGV4dCk6IExpa2V3aXNlLiAgRml4IG5hbWUgaW4gRU5EICgpIHRvIG1hdGNoCglmdW5jdGlvbiBuYW1lLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGMzMi9zZXRjb250ZXh0LlMKCShfX3NldGNvbnRleHQpOiBVc2UgRU5EIGluc3RlYWQgb2YgUFNFVURPX0VORC4KCShfX25vdmVjX3NldGNvbnRleHQpOiBBZGQgY29tcGF0X3RleHRfc2VjdGlvbi4gIFVzZSBFTkQgaW5zdGVhZCBvZgoJUFNFVURPX0VORCwgZml4IHRoZSBuYW1lIGluIEVORCAoKSB0byBtYXRjaCBmdW5jdGlvbiBuYW1lLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGMzMi9nZXRjb250ZXh0LlMKCShfX2dldGNvbnRleHQsIF9fbm92ZWNfZ2V0Y29udGV4dCk6IFVzZSBFTkQgaW5zdGVhZCBvZiBQU0VVRE9fRU5ELgoJKF9fbm92ZWNfZ2V0Y29udGV4dCwgX19nZXRjb250ZXh0X3N0dWIpOiBBZGQgY29tcGF0X3RleHRfc2VjdGlvbi4KCjIwMDQtMDMtMTAgIEtheiBLb2ppbWEgIDxra29qaW1hQHJyLmlpajR1Lm9yLmpwPgoKCSogc3lzZGVwcy9zaC9kbC1tYWNoaW5lLmg6IERvbid0IHVzZSBHTCBtYWNybyBpZiBub3QgYXBwcm9wcmlhdGUuCgkoQ09QWV9VTkFMSUdORURfV09SRCk6IFJlbW92ZSBjYXN0IHVzZWQgYXMgbHZhbHVlLgoKMjAwNC0wMy0xMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2kzODYvZGwtcHJvY2luZm8uaCAoSFdDQVBfSU1QT1JUQU5UKTogUmVtb3ZlIG1teCwgYWRkIHNzZTIuCgoyMDA0LTAzLTEwICBSaWNoYXJkIEhlbmRlcnNvbiAgPHJ0aEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL2Vycm5vLmM6IERpc2FibGUgdmVyc2lvbmluZyBmb3IgcnRsZC4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9NYWtlZmlsZSAoZWxmL3NoYXJlZCk6IEFkZCB1bndpbmQtcGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy91bndpbmQtcGUuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy91bndpbmQtcGUuaDogT25seSBwcm90b3R5cGVzIGZvciBfTElCQyB3aXRob3V0CglfTElCQ19ERUZJTklUSU9OUy4KCjIwMDQtMDMtMTAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9saWJjLXN5bWJvbHMuaDogRGVmaW5lIGF0dHJpYnV0ZV9jb21wYXRfdGV4dF9zZWN0aW9uIGFuZAoJYXR0cmlidXRlX2NvbXBhdF9kYXRhX3NlY3Rpb24uCgkqIGlvL2Z0dy5jOiBNYXJrIGNvbXBhdCBjb2RlIHdpdGggYXR0cmlidXRlX2NvbXBhdF90ZXh0X3NlY3Rpb24uCgkqIGxpYmlvL2lvZm9wbmNvb2suYzogTGlrZXdpc2UuCgkqIGxpYmlvL29sZGZpbGVvcHMuYzogTGlrZXdpc2UuCgkqIGxpYmlvL29sZGlvZmNsb3NlLmM6IExpa2V3aXNlLgoJKiBsaWJpby9vbGRpb2Zkb3Blbi5jOiBMaWtld2lzZS4KCSogbGliaW8vb2xkaW9mZ2V0cG9zLmM6IExpa2V3aXNlLgoJKiBsaWJpby9vbGRpb2ZnZXRwb3M2NC5jOiBMaWtld2lzZS4KCSogbGliaW8vb2xkaW9mb3Blbi5jOiBMaWtld2lzZS4KCSogbGliaW8vb2xkaW9mc2V0cG9zLmM6IExpa2V3aXNlLgoJKiBsaWJpby9vbGRpb2ZzZXRwb3M2NC5jOiBMaWtld2lzZS4KCSogbGliaW8vb2xkaW9wb3Blbi5jOiBMaWtld2lzZS4KCSogbGliaW8vb2xkcGNsb3NlLmM6IExpa2V3aXNlLgoJKiBsaWJpby9vbGR0bXBmaWxlLmM6IExpa2V3aXNlLgoJKiBucHRsL2ZvcndhcmQuYzogTGlrZXdpc2UuCgkqIG5zcy9nZXRYWGJ5WVlfci5jOiBMaWtld2lzZS4KCSogbnNzL2dldFhYZW50X3IuYzogTGlrZXdpc2UuCgkqIHBvc2l4L3RzdC12Zm9yazEuYzogTGlrZXdpc2UuCgkqIHN0ZGxpYi9jYW5vbmljYWxpemUuYzogTGlrZXdpc2UuCgkqIHN0ZGxpYi9vbGRfYXRleGl0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvZ2xvYi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3NpeC9wb3NpeF9mYWxsb2NhdGU2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9hbHBoYXNvcnQ2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9jaG93bi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9nbG9iNjQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvbXNnY3RsLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L29sZGdldHJsaW1pdDY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3Bvc2l4X2ZhZHZpc2U2NC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9yZWFkZGlyNjQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvcmVhZGRpcjY0X3IuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc2NhbmRpcjY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3NlbWN0bC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zaG1jdGwuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvdmVyc2lvbnNvcnQ2NC5jOiBMaWtld2lzZS4KCSogcG9zaXgvcmVnZXhlYy5jOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc3lzY2FsbHMubGlzdDogdm04NkBAR0xJQkNfMi4zLjQKCXNob3VsZCBiZSB0aGUgZGVmYXVsdCBzeW1ib2wuIEhhdmluZyBub25lIG1pc3NlcyB0aGUgcG9pbnQuCgoyMDA0LTAzLTA5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN0ZGxpYi9xc29ydC5jIChfcXVpY2tzb3J0KTogSW5pdGlhbGl6ZSBmaXJzdCBzdGFjayBlbGVtZW50IFtCWiAjMTZdLgoKMjAwNC0wMy0wNSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9yZWdleGVjLmMgKHJlZ2V4ZWMpOiBSZXR1cm4gd2l0aCBlcnJvciBvbiB1bmtub3duIGVmbGFncy4KCVJlcGxhY2Ugd2Vha19hbGlhcyB3aXRoIHZlcnNpb25lZF9zeW1ib2wuCgkoX19jb21wYXRfcmVnZXhlYyk6IE5ldy4KCSogcG9zaXgvVmVyc2lvbnMgKGxpYmMpOiBBZGQgcmVnZXhlY0BHTElCQ18yLjMuNC4KCjIwMDQtMDMtMDkgIFJpY2hhcmQgSGVuZGVyc29uICA8cnRoQHJlZGhhdC5jb20+CgoJKiBtYXRoL21hdGguaCAoaXNncmVhdGVyLCBpc2dyZWF0ZXJlcXVhbCwgaXNsZXNzLCBpc2xlc3NlcXVhbCwKCWlzbGVzc2dyZWF0ZXIsIGlzdW5vcmRlcmVkKTogVXNlIGJ1aWx0aW5zIGlmIGF2YWlsYWJsZS4KCSogc3lzZGVwcy9pMzg2L2ZwdS9iaXRzL21hdGhpbmxpbmUuaDogRG9uJ3QgZGVmaW5lIHZpYSBidWlsdGlucy4KCSogc3lzZGVwcy9tNjhrL2ZwdS9iaXRzL21hdGhpbmxpbmUuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG93ZXJwYy9mcHUvYml0cy9tYXRoaW5saW5lLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL2ZwdS9iaXRzL21hdGhpbmxpbmUuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMveDg2XzY0L2ZwdS9iaXRzL21hdGhpbmxpbmUuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvYWxwaGEvZnB1L2JpdHMvbWF0aGlubGluZS5oIChpc2dyZWF0ZXIsIGlzZ3JlYXRlcmVxdWFsLAoJaXNsZXNzLCBpc2xlc3NlcXVhbCwgaXNsZXNzZ3JlYXRlcik6IFJlbW92ZTsgdXNlIGRlZmF1bHQuCgkoaXN1bm9yZGVyZWQpOiBDb252ZXJ0IGlucHV0cyB0byBkb3VibGUuCgoyMDA0LTAyLTA5ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHBvc2l4L01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3QtdmZvcmsyLgoJKiBwb3NpeC90c3QtdmZvcmsxLmMgKGRvX3Rlc3QpOiBGaXggY29tbWVudC4KCSogcG9zaXgvdHN0LXZmb3JrMi5jOiBOZXcgdGVzdC4KCjIwMDQtMDMtMDkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZWxmL2RsLWxvb2t1cC5jIChfZGxfbG9va3VwX3N5bWJvbF94KTogRml4IHBvc3NpYmxlIE5VTEwgcG9pbnRlcgoJZGVyZWZlcm5jZSBpbiBlcnJvciBtZXNzYWdlLiAgUHJldHR5IHByaW50aW5nLgoKCSogcG8vbmwucG86IFVwZGF0ZSBmcm9tIHRyYW5zbGF0aW9uIHRlYW0uCgoyMDA0LTAzLTA4ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogc3lzZGVwcy9nZW5lcmljL2RsLXN5c2RlcC5jIChfZGxfc3lzZGVwX3N0YXJ0KTogRG9uJ3QgdHJ1bmNhdGUKCXN5c2luZm8gcG9pbnRlciB2YWx1ZS4KCjIwMDQtMDMtMDggIFBhdWwgRWdnZXJ0ICA8ZWdnZXJ0QGNzLnVjbGEuZWR1PgoKCU1lcmdlIGZyb20gZ251bGliLiAgV2Ugbm93IGFzc3VtZSBDODkgb3IgYmV0dGVyLgoJKiBwb3NpeC9nZXRvcHQxLmMgKGNvbnN0KTogUmVtb3ZlLgoJKiBwb3NpeC9nZXRvcHQuYyAoY29uc3QpOiBMaWtld2lzZS4KCSogcG9zaXgvZ2V0b3B0MS5jIChnZXRvcHRfbG9uZywgX2dldG9wdF9sb25nX3IsIGdldG9wdF9sb25nX29ubHksCglfZ2V0b3B0X2xvbmdfb25seV9yLCBtYWluKTogVXNlIHByb3RvdHlwZXMsIG5vdCBvbGQtc3R5bGUgZGVmaW5pdGlvbnMuCgkqIHBvc2l4L2dldG9wdC5jIChleGNoYW5nZSwgX2dldG9wdF9pbml0aWFsaXplLCBfZ2V0b3B0X2ludGVybmFsX3IsCglfZ2V0b3B0X2ludGVybmFsLCBnZXRvcHQsIG1haW4pOiBMaWtld2lzZS4KCSogcG9zaXgvZ2V0b3B0LmggKGdldG9wdCwgZ2V0b3B0X2xvbmcsIGdldG9wdF9sb25nX29ubHkpOiBMaWtld2lzZS4KCSogcG9zaXgvZ2V0b3B0LmMgWyFkZWZpbmVkIFZNUyB8fCAhSEFWRV9TVFJJTkdfSF06CglJbmNsdWRlIDxzdHJpbmcuaD4gcmVnYXJkbGVzcy4gIE5vIG5lZWQgZm9yIDxzdHJpbmdzLmg+LgoJWyFkZWZpbmVkIF9MSUJDXTogSW5jbHVkZSAiZ2V0dGV4dC5oIiByYXRoZXIgdGhhbiByb2xsaW5nIGl0IG91cnNlbHZlcy4KCShfKTogRGVmaW5lIHRvIGdldHRleHQgYWx3YXlzLgoJKG15X2luZGV4KTogUmVtb3ZlOiBhbGwgdXNlcyBjaGFuZ2VkIHRvIHN0cmNoci4KCShzdHJsZW4pOiBSZW1vdmUgZGVjbGFyYXRpb24uCgkqIHBvc2l4L2dldG9wdC5oIChzdHJ1Y3Qgb3B0aW9uLm5hbWUpOiBBbHdheXMgY29uc3QgY2hhciAqLgoKMjAwNC0wMy0wOCAgTWFyY3VzIEJyaW5rbWFubiAgPG1hcmN1c0BnbnUub3JnPgoKCSogcG9zaXgvZ2V0b3B0LmggKF9nZXRvcHRfaW50ZXJuYWwpOiBNb3ZlIHRvIC4uLgoJKiBwb3NpeC9nZXRvcHRfaW50Lmg6IC4uLiBoZXJlLiAgTmV3IGZpbGUuCgkqIGluY2x1ZGUvZ2V0b3B0X2ludC5oOiBOZXcgZmlsZS4KCSogaW5jbHVkZS9nZXRvcHQuaDogUmVtb3ZlIGxpYmNfaGlkZGVuX3Byb3RvIGZvciBnZXRvcHRfbG9uZwoJYW5kIGdldG9wdF9sb25nX29ubHkuCgkqIHBvc2l4L2dldG9wdDEuYzogSW5jbHVkZSAiZ2V0b3B0X2ludC5oIi4gIFJlbW92ZQoJbGliY19oaWRkZW5fZGVmIGZvciBnZXRvcHRfbG9uZyBhbmQgZ2V0b3B0X2xvbmdfb25seS4KCShfZ2V0b3B0X2xvbmdfciwgX2dldG9wdF9sb25nX29ubHlfcik6IE5ldyBmdW5jdGlvbnMuCgkqIHBvc2l4L2dldG9wdC5jOiBJbmNsdWRlICJnZXRvcHRfaW50LmgiLgoJKF9fZ2V0b3B0X2luaXRpYWxpemVkKTogVmFyaWFibGUgcmVtb3ZlZC4KCShuZXh0Y2hhciwgb3JkZXJpbmcsIHBvc2l4bHlfY29ycmVjdCwgZmlyc3Rfbm9ub3B0LCBsYXN0X25vbm9wdCk6CglTdGF0aWMgdmFyaWFibGVzIHJlbW92ZWQuCgkobm9ub3B0aW9uX2ZsYWdzX21heF9sZW4sIG5vbm9wdGlvbl9mbGFnc19sZW4pIFtfTElCQyAmJgoJVVNFX05PTk9QVElPTl9GTEFHU106IFN0YXRpYyB2YXJpYWJsZXMgcmVtb3ZlZC4KCShnZXRvcHRfZGF0YSk6IE5ldyBzdGF0aWMgdmFyaWFibGUuCgkoU1dBUF9GTEFHUyk6IFVzZSBkLT5fX25vbm9wdGlvbl9mbGFnc19sZW4gaW5zdGVhZAoJbm9ub3B0aW9uX2ZsYWdzX2xlbi4KCShleGNoYW5nZSk6IEFkZCBuZXcgYXJndW1lbnQgRCBvZiB0eXBlIHN0cnVjdCBnZXRvcHRfZGF0YSAqLgoJUmVwbGFjZSBvcHRpbmQgd2l0aCBkLT5vcHRpbmQsIG9wdGFyZyB3aXRoIGQtPm9wdGFyZywgb3B0ZXJyIHdpdGgKCWQtPm9wdGVyciwgb3B0b3B0IHdpdGggZC0+b3B0b3B0LCBuZXh0Y2hhciB3aXRoIGQtPl9fbmV4dGNoYXIsCglmaXJzdF9ub25vcHQgd2l0aCBkLT5fX2ZpcnN0X25vbm9wdCwgbGFzdF9ub25vcHQgd2l0aAoJZC0+X19sYXN0X25vbm9wdCwgZC0+b3JkZXJpbmcgd2l0aCBkLT5fX29yZGVyaW5nLAoJZC0+cG9zaXhseV9jb3JyZWN0IHdpdGggZC0+X19wb3NpeGx5X2NvcnJlY3QgKHdoaWNoIGlzIG5vdyBhbgoJaW50IGluc3RlYWQgYSBzdHJpbmcsIHNvIGZpeCB1c2VycyksIG5vbm9wdGlvbl9mbGFnc19sZW4KCXdpdGggZC0+X19ub25vcHRpb25fZmxhZ3NfbGVuLCBub25vcHRpb25fZmxhZ3NfbWF4X2xlbiB3aXRoCglkLT5fX25vbm9wdGlvbl9mbGFnc19tYXhfbGVuLgoJKF9nZXRvcHRfaW5pdGlhbGl6ZSk6IExpa2V3aXNlLgoJKF9nZXRvcHRfaW50ZXJuYWwpOiBSZW5hbWUgdG8gLi4uCgkoX2dldG9wdF9pbnRlcm5hbF9yKTogLi4uIHRoaXMuICBBbHNvIGFkZCBuZXcgYXJndW1lbnQgRCBvZiB0eXBlCglzdHJ1Y3QgZ2V0b3B0X2RhdGEgKiBhbmQgdXNlIG9mIG1lbWJlcnMgb2YgRCByYXRoZXIgdGhhbiBnbG9iYWwgb3IKCXN0YXRpYyB2YXJpYWJsZXMgYXMgZGVzY3JpYmVkIGZvciBleGNoYW5nZSgpIGFib3ZlLiAgQWRkIG5ldyBhcmd1bWVudAoJdG8gaW52b2NhdGlvbnMgb2YgX2dldG9wdF9pbml0aWFsaXplIGFuZCBleGNoYW5nZS4KCShfZ2V0b3B0X2ludGVybmFsKTogUmVpbXBsZW1lbnQgaW4gdGVybXMgb2YgX2dldG9wdF9pbnRlcm5hbF9yLgoJKiBhcmdwL2FyZ3AtcGFyc2UuYzogSW5jbHVkZSA8Z2V0b3B0X2ludC5oPi4KCVtfTElCQ106IERvIG5vdCBpbmNsdWRlIDxiaXRzL2xpYmMtbG9jay5oPi4KCVshX0xJQkMgJiYgSEFWRV9DVEhSRUFEU19IXTogRG8gbm90IGluY2x1ZGUgPGN0aHJlYWRzLmg+LgoJWyFfTElCQ10gKF9hcmdwX2hhbmcpOiBNYWtlIHN0YXRpYy4KCShnZXRvcHRfbG9jaywgTE9DS19HRVRPUFQsIFVOTE9DS19HRVRPUFQpOiBSZW1vdmUuCgkoX2FyZ3BfdW5sb2NrX3h4eCk6IFJlbW92ZS4KCShwYXJzZXJfaW5pdCk6IERvIG5vdCB1c2UgTE9DS19HRVRPUFQuCgkocGFyc2VyX2ZpbmFsaXplKTogRG8gbm90IHVzZSBVTkxPQ0tfR0VUT1BULgoJKHN0cnVjdCBwYXJzZXIpOiBOZXcgbWVtYmVyIE9QVF9EQVRBLgoJKHBhcnNlcl9pbml0KTogSW5pdGlhbGl6ZSBwYXJzZXItPm9wdF9kYXRhLiAgVXNlCglwYXJzZXItPm9wdF9kYXRhLm9wdGVyciBpbnN0ZWFkIG9mIG9wdGVyci4KCShwYXJzZXJfcGFyc2Vfb3B0KTogVXNlIHBhcnNlci0+b3B0X2RhdGEub3B0YXJnIGluc3RlYWQgb3B0YXJnLgoJKHBhcnNlcl9wYXJzZV9uZXh0KTogTGlrZXdpc2UuICBVc2UgcGFyc2VyLT5vcHRfZGF0YS5vcHRpbmQKCWluc3RlYWQgb3B0aW5kLiAgVXNlIHBhcnNlci0+b3B0X2RhdGEub3B0b3B0IGluc3RlYWQgb2Ygb3B0b3B0LgoJQ2FsbCBfZ2V0b3B0X2xvbmdfb25seV9yIGFuZCBfZ2V0b3B0X2xvbmdfciBpbnN0ZWFkIG9mCglnZXRvcHRfbG9uZ19vbmx5IGFuZCBnZXRvcHRfbG9uZywgYW5kIHBhc3MgdGhlIGV4dHJhIGFyZ3VtZW50LgoKMjAwNC0wMy0wOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udi9nY29udl9kYi5jOiBEb24ndCBkZWZpbmUgbG9jayBhcyBzdGF0aWMuICBSZW5hbWUgdG8KCV9fZ2NvbnZfbG9jayBhbmQgZXhwb3J0IGZyb20gdGhlIGZpbGUuCgkqIGljb252L2djb252X2ludC5oOiBEZWNsYXJlIF9fZ2NvbnZfbG9jay4KCSogbGliaW8vaW9mY2xvc2UuYyBbX0xJQkNdIChfSU9fbmV3X2ZjbG9zZSk6IExvY2sgZ2NvbnYgbG9jawoJYmVmb3JlIF9fZ2NvbnZfcmVsZWFzZV9zdGVwIGNhbGxzLgoJUGF0Y2ggYnkgU2h1bmljaGkgU2FnYXdhIDxzLXNhZ2F3YUBqcC5mdWppdHN1LmNvbT4uCgoJKiBpY29udi9nY29udl9zaW1wbGUuYyAoaW50ZXJuYWxfdWNzNF9sb29wKTogRml4IHR5cG8gaW4gbGFzdCBjaGFuZ2UuCgoJKiBwb3NpeC9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdHN0LXZmb3JrMS4KCSogcG9zaXgvdHN0LXZmb3JrMS5jOiBOZXcgZmlsZS4KCjIwMDQtMDMtMDggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9pMzg2L2RsLW1hY2hpbmUuaDogRGVmaW5lIEFSQ0hfRklYVVBfQVRUUklCVVRFIGFuZCB1c2UKCWl0IGluIHRoZSBmaXh1cCBmdW5jdGlvbiBkZWNsYXJhdGlvbnMuCgkqIGVsZi9kbC1ydW50aW1lLmM6IElmIEFSQ0hfRklYVVBfQVRUUklCVVRFIGlzIG5vdCBkZWZpbmVkLAoJcHJvdmlkZSBkdW1teSBkZWZpbml0aW9uLiAgVXNlIG1hY3JvIGluIGZpeHVwIGZ1bmN0aW9uCglkZWZpbml0aW9ucy4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvdmZvcmsuUzogSWYgU0FWRV9QSUQgYW5kCglSRVNUT1JFX1BJRCBhcmUgZGVmaW5lZCwgdXNlIGl0LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvdmZvcmsuUzogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL3Bvc2l4L2dhaV9zdHJlcnJvci5jOiBBZGQgZXJyb3Igc3RyaW5nIGZvciBFQUlfSUROX0VOQ09ERS4KCgkqIE1ha2VydWxlczogVXNlIGV4dHJhLW1vZHVsZXMubWsgaWYgbW9kdWxlcy1uYW1lcyBpcyBkZWZpbmVkLgoJKiBleHRyYS1tb2R1bGVzLm1rOiBOZXcgZmlsZS4KCSogZGxmY24vTWFrZWZpbGUgKENQUEZMQUdTLW1vZGN4YWF0ZXhpdC5jKTogUmVtb3ZlZC4KCSogZWxmL01ha2VmaWxlIChDRkxBR1MtaW50ZXJwLmMpOiBBZGQgLUROT1RfSU5fbGliYz0xLgoJKiBjc3UvTWFrZWZpbGUgKCQob2JqcGZ4KXZlcnNpb24taW5mby5oKTogUGFzcyAtRE5PVF9JTl9saWJjPTEgdG8KCWNvbXBpbGVyLgoJKiBNYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCBzeW1ib2wtaGFja3MuaCBhbmQgZXh0cmEtbW9kdWxlcy5tay4KCSogc3lzZGVwcy9nZW5lcmljL3N5bWJvbC1oYWNrcy5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy93b3Jkc2l6ZS0zMi9zeW1ib2wtaGFja3MuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvd29yZHNpemUtMzIvZGl2ZGkzLmM6IERlZmluZSAqX2ludGVybmFsIGFsaWFzZXMgZm9yIF9fZGl2ZGkzLAoJX19tb2RkaTMsIF9fdWRpdmRpMywgYW5kIF9fdW1vZGRpMy4KCSogaW5jbHVkZS9saWJjLXN5bWJvbHMuaDogSW5jbHVkZSA8c3ltYm9sLWhhY2tzLmg+LgoKMjAwNC0wMy0wOCAgSmVyb2VuIERla2tlcnMgIDxqZXJvZW5AZGVra2Vycy5jeD4KCgkqIGVsZi9ydGxkLmMgKF9ydGxkX2dsb2JhbF9ybykgW01BUF9DT1BZXTogRG9uJ3Qgc2V0IF9kbF91bmxvYWRfY2FjaGUuCgoJKiBzeXNkZXBzL21hY2gvaHVyZC9kbC1zeXNkZXAuYyAoX2RsX2ltcG9ydGFudF9od2NhcHMpOgoJRG9uJ3QgdXNlIElOVFVTRSB3aXRoIF9kbF9zaWduYWxfZXJyb3IuCgoyMDA0LTAzLTA4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjNjQvZGwtbWFjaGluZS5jIChfZGxfcmVsb2Nfb3ZlcmZsb3cpOgoJRG9uJ3QgdXNlIElOVFVTRSB3aXRoIF9kbF9zaWduYWxfZXJyb3IuCgoyMDA0LTAzLTA4ICBSaWNoYXJkIEhlbmRlcnNvbiAgPHJ0aEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9hbHBoYS9zb2Z0LWZwL290c19jdnR4dC5jIChfT3RzQ29udmVydEZsb2F0WFQpOiBGaXggdHlwbwoJaW4gbmFtZS4KCjIwMDQtMDMtMDcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogY29uZmlnLmguaW46IEFkZCBlbnRyeSBmb3IgSEFWRV9MSUJJRE4uCgkqIGNvbmZpZ3VyZS5pbjogSWYgbGliaWRuIGFkZC1vbiBwcmVzZW50IGRlZmluZSBIQVZFX0xJQklETi4KCSogVmVyc2lvbnMuZGVmOiBBZGQgZW50cnkgZm9yIGxpYmNpZG4uCgoyMDA0LTAzLTA3ICBTaW1vbiBKb3NlZnNzb24gIDxqYXNAZXh0dW5kby5jb20+CgoJKiByZXNvbHYvbmV0ZGIuaCBbX19VU0VfR05VXTogQWRkIG5ldyBBSV9JRE4gYWlfZmxhZ3MgZm9yIGFkZHJpbmZvLgoJW19fVVNFX0dOVV06IEFkZCBuZXcgZXJyb3IgY29kZSBFQUlfSUROX0VOQ09ERSBmb3IgZ2V0YWRkcmluZm8uCgkqIHN5c2RlcHMvcG9zaXgvZ2V0YWRkcmluZm8uYzogQWRkIHByb3RvdHlwZSBmb3IgX19pZG5hX3RvX2FzY2lpX2x6CglhbmQgZGVmaW5lIElETkFfU1VDQ0VTUy4KCShnYWloX2luZXQpOiBJZiBhaV9mbGFncyBoYXZlIEFJX0lETiwgaW52b2tlIF9faWRuYV90b19hc2NpaV9sei4KCShnZXRhZGRyaW5mbyk6IEZpeCBFQUlfQkFERkxBR1MgdGVzdCB0byBpbmNsdWRlIEFJX0lETi4KCUFsbCBjaGFuZ2VzIG9ubHkgYXBwbGljYWJsZSB3aGVuIGdsaWJjIGlzIGNvbXBpbGVkIHdpdGggdGhlIGxpYmlkbgoJYWRkLW9uLgoKMjAwNC0wMy0wNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2RsLXN0YXRpYy5jIChfZGxfc3RhdGljX2luaXQpOiBDYWxsCglfZGxfbG9va3VwX3N5bWJvbF94IG5vdCBfZGxfbG9va3VwX3N5bWJvbC4KCgkqIHN5c2RlcHMvcG93ZXJwYy9lbGYvcnRsZC1nbG9iYWwtb2Zmc2V0cy5zeW06IEFkanVzdCBmb3IgbW92aW5nCglfZGxfaHdjYXAgaW50byBfcnRsZF9nbG9iYWxfcm8uCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvZnB1L19fbG9uZ2ptcC1jb21tb24uUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvZnB1L3NldGptcC1jb21tb24uUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjNjQvX19sb25nam1wLWNvbW1vbi5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9zZXRqbXAtY29tbW9uLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGMzMi9nZXRjb250ZXh0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGMzMi9zZXRjb250ZXh0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGMzMi9zd2FwY29udGV4dC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjNjQvZ2V0Y29udGV4dC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjNjQvc2V0Y29udGV4dC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjNjQvc3dhcGNvbnRleHQuUzogTGlrZXdpc2UuCgoyMDA0LTAzLTA3ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogZWxmL2RsLXN5bS5jOiBJbmNsdWRlIDxkbC10bHMuaD4gb25seSB3aGVuIFVTRV9UTFMuCgoyMDA0LTAzLTA3ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBpY29udmRhdGEvaXNvLTIwMjItY24tZXh0LmMgKEJPRFkpOiBSZW1vdmUgY2FzdCB1c2VkIGFzIGx2YWx1ZS4KCSogaWNvbnZkYXRhL3Rjdm41NzEyLTEuYyAoRU1JVF9TSElGVF9UT19JTklUKTogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9ldWMtamlzeDAyMTMuYyAoRU1JVF9TSElGVF9UT19JTklUKTogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9zaGlmdF9qaXN4MDIxMy5jIChFTUlUX1NISUZUX1RPX0lOSVQpOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL3RzY2lpLmMgKEVNSVRfU0hJRlRfVE9fSU5JVCk6IExpa2V3aXNlLgoKMjAwNC0wMy0wNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvbGRzb2RlZnMuaDogTW92ZSBfZGxfaW5pdGlhbF9zZWFyY2xpc3QsCglfZGxfaHBfdGltaW5nX292ZXJoZWFkLCBfZGxfaW5pdF9hbGxfZGlycywgYW5kIHRoZSBjb250ZW50IG9mCglkbC1wcm9jaW5mby5jIGZyb20gX3J0bGRfZ2xvYmFsIHRvIF9ydGxkX2dsb2JhbF9yby4KCSogZWxmL3J0bGQuYzogQWRqdXN0IGluaXRpYWxpemVyIGZvciBfcnRsZF9nbG9iYWxfcm8uCgkqIGVsZi9kbC1jbG9zZS5jOiBVc2UgR0xSTyBpbnN0ZWFkIG9mIEdMIHdoZXJlIGFwcHJvcHJpYXRlLgoJKiBlbGYvZGwtbGliYy5jOiBMaWtld2lzZS4KCSogZWxmL2RsLWxvYWQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9kbC1wcm9jaW5mby5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k2ODYvaHAtdGltaW5nLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2lhNjQvaHAtdGltaW5nLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvc3BhcmN2OS9ocC10aW1pbmcuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9ocC10aW1pbmcuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9kbC1wcm9jaW5mby5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9kbC1wcm9jaW5mby5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9kbC1wcm9jaW5mby5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9kbC1wcm9jaW5mby5oOiBMaWtld2lzZS4KCSogc3RyaW5nL3Rlc3Qtc3RyaW5nLmg6IERlZmluZSBHTFJPLgoKMjAwNC0wMy0wNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtbG9va3VwLmM6IFdlIGRvbid0IG5lZWQgZm9yIHNwZWNpYWxpemVkIGxvb2t1cCBmdW5jdGlvbnMuCglDb21iaW5pbmcgdGhlIGZ1bmN0aW9uYWxpdHkgZG9lcyBub3Qgc2xvdyBkb3duIHJlbG9jYXRpb24gcHJvY2Vzc2luZywKCWl0IG1pZ2h0IGV2ZW4gc3BlZWQgaXQgdXAgYSBsaXR0bGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9sZHNvZGVmcy5oOiBBZGp1c3QgcHJvdG90eXBlcyBmb3IgbG9va3VwIGZ1bmN0aW9uLgoJQWRkIG9ubHkgb25lIGZ1bmN0aW9uIHBvaW50ZXIgdG8gcnRsZl9nbG9iYWxfcm8uCgkqIGVsZi9kby1sb29rdXAuaDogUmVwbGFjZSAjaWZzIHdpdGggaWZzLgoJKiBlbGYvZGwtbGliYy5jOiBBZGp1c3QgX2RsX2xvb2t1cF8qIGNhbGxlcnMuCgkqIGVsZi9kbC1yZWxvYy5jOiBMaWtld2lzZS4KCSogZWxmL2RsLXJ1bnRpbWUuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1zeW0uYzogTGlrZXdpc2UuCgkqIGVsZi9ydGxkLmM6IExpa2V3aXNlLiAgQWRqdXN0IF9ydGxkX2dsb2JhbF9ybyBpbml0aWFsaXphdGlvbi4KCjIwMDQtMDMtMDYgIFJpY2hhcmQgSGVuZGVyc29uICA8cnRoQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvbGRzb2RlZnMuaCAoX19ydGxkX2xvY2FsX2F0dHJpYnV0ZV9fLAoJX19ydGxkX2dsb2JhbF9hdHRyaWJ1dGVfXyk6IFVuZGVmIGFmdGVyIHVzZS4KCShfcnRsZF9sb2NhbF9ybyk6IERlZmluZSBfX3J0bGRfbG9jYWxfYXR0cmlidXRlX18gd2l0aCBqdXN0IGhpZGRlbgoJaWYgYXZhaWxhYmxlLgoKCSogc29mdC1mcC9xdWFkLmggKHVuaW9uIF9GUF9VTklPTl9RKTogQWRkIGxvbmdzIHN0cnVjdHVyZS4KCSogc3lzZGVwcy9hbHBoYS9JbXBsaWVzOiBBZGQgYWxwaGEvc29mdC1mcC4KCSogc3lzZGVwcy9hbHBoYS9zb2Z0LWZwL3NmcC1tYWNoaW5lLmg6IFJld3JpdGUgZm9yIEdFTSBpbnRlcmZhY2UuCgkqIHN5c2RlcHMvYWxwaGEvU3ViZGlyczogTmV3IGZpbGUuCgkqIHN5c2RlcHMvYWxwaGEvc29mdC1mcC9NYWtlZmlsZTogTmV3IGZpbGUuCgkqIHN5c2RlcHMvYWxwaGEvc29mdC1mcC9WZXJzaW9uczogTmV3IGZpbGUuCgkqIHN5c2RlcHMvYWxwaGEvc29mdC1mcC9sb2NhbC1zb2Z0LWZwLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2FscGhhL3NvZnQtZnAvb3RzX2FkZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9hbHBoYS9zb2Z0LWZwL290c19jbXAuYzogbmV3IGZpbGUuCgkqIHN5c2RlcHMvYWxwaGEvc29mdC1mcC9vdHNfY21wZS5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9hbHBoYS9zb2Z0LWZwL290c19jdnRxdXguYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvYWxwaGEvc29mdC1mcC9vdHNfY3Z0cXguYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvYWxwaGEvc29mdC1mcC9vdHNfY3Z0dHguYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvYWxwaGEvc29mdC1mcC9vdHNfY3Z0eHEuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvYWxwaGEvc29mdC1mcC9vdHNfY3Z0eHQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvYWxwaGEvc29mdC1mcC9vdHNfZGl2LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2FscGhhL3NvZnQtZnAvb3RzX211bC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9hbHBoYS9zb2Z0LWZwL290c19uaW50eHEuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvYWxwaGEvc29mdC1mcC9vdHNfc3ViLmM6IE5ldyBmaWxlLgoKMjAwNC0wMy0wNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuaW46IFJlY29nbml6ZSAtLWVuYWJsZS1iaW5kLW5vdy4KCSogZWxmL2R5bmFtaWMtbGluay5oIChlbGZfZ2V0X2R5bmFtaWNfaW5mbyk6IEFsbG93IGJpbmQtbm93IGZsYWdzCglpbiBsZC5zby4KCSogTWFrZXJ1bGVzIChMREZMQUdTLWMuc28pOiBBZGQgLXogbm93IGlmIHNvIGNvbmZpZ3VyZWQuCgkqIGVsZi9NYWtlZmlsZSAoJChvYmpwZngpbGQuc28pOiBMaWtld2lzZS4KCSogY29uZmlnLm1ha2UuaW4gKGJpbmQtbm93KTogTmV3IGRlZmluaXRpb24uCgoJKiBlbGYvZGwtZmluaS5jIChfZGxfZmluaSk6IENvbWJpbmUgX2RsX2RlYnVnX3ByaW50ZiBjYWxscy4KCSogZWxmL3J0bGQuYyAocHJpbnRfc3RhdGlzdGljcyk6IExpa2V3aXNlLgoKCSogZWxmL2RsLW9wZW4uYzogTm8gbmVlZCB0byBwYXNzIGFueSBwYXJhbWV0ZXIgdG8gX2RsX3N0YXJ0X3Byb2ZpbGUuCglUaGV5IGFyZSB0aGUgc2FtZSBpbiBib3RoIHBsYWNlcy4KCSogZWxmL2RsLXByb2ZpbGUuYzogTGlrZXdpc2UuCgkqIGVsZi9ydGxkLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvbGRzb2RlZnMuaDogTGlrZXdpc2UuCgkqIGVsZi9kbC1zdXBwb3J0LmM6IERlZmluZSBfZGxfcHJvZmlsZV9vdXRwdXQgdmFyaWFibGUuICBJbml0aWFsaXplIGl0LgoKMjAwNC0wMy0wNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvVmVyc2lvbnM6IFJlbW92ZSBmdW5jdGlvbnMgd2hpY2ggYXJlIG5vdCBleHBvcnRlZCBhbnltb3JlLgoJKiBkbGZjbi9kbGVycm9yLmM6IENhbGwgbGQuc28gZnVuY3Rpb25zIHRocm91Z2ggR0xTTy4KCSogZGxmY24vZGxpbmZvLmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtY2xvc2UuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1saWJjLmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtb3Blbi5jOiBMaWtld2lzZS4KCSogZWxmL2RsLXN5bS5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2xpYmMtc3RhcnQuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1kZWJ1Zy5jOiBSZW1vdmUgKl9pbnRlcm5hbCBkZWZpbml0aW9uLiAgRG9uJ3QgdXNlIElOVFVTRSBmb3IKCWZ1bmN0aW9ucyB3aGljaCBhcmUgbm90IGV4cG9ydGVkIGFueW1vcmUuCgkqIGVsZi9kbC1kZXBzLmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtZHN0Lmg6IExpa2V3aXNlLgoJKiBlbGYvZGwtZXJyb3IuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1maW5pLmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtaW5pdC5jOiBMaWtld2lzZS4KCSogZWxmL2RsLWxvYWQuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1sb29rdXAuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1taXNjLmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtcHJvZmlsZS5jOiBMaWtld2lzZS4KCSogZWxmL2RsLXByb2ZzdHViLmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtcmVsb2MuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1ydW50aW1lLmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtdmVyc2lvbi5jOiBMaWtld2lzZS4KCSogZWxmL2RvLWxvb2t1cC5oOiBMaWtld2lzZS4KCSogaW5jbHVkZS9kbGZjbi5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2RsLWNhY2hlLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtZnB0ci5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2RsLW9yaWdpbi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2RsLXN5c2RlcC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2RsLXRscy5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvZGwtdGxzLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9kbC1vcmlnaW4uYzogTGlrZXdpc2UuCgkqIGVsZi9ydGxkLmM6IExpa2V3aXNlLiAgRXhwb3J0IGZ1bmN0aW9uIHRob3VnaCBfcnRsZF9nbG9iYWxfcm8uCgoJKiBzeXNkZXBzL2dlbmVyaWMvbGRzb2RlZnMuaCAoc3RydWN0IHJ0bGRfZ2xvYmFsKTogTW92ZQoJZGxfZGVidWdfZmQgdG8gcnRsZF9nbG9iYWxfcm8uCgkqIGVsZi9ydGxkLmM6IFVzZSBHTFJPIGluc3RlYWQgb2YgR0wgZm9yIGRsX2RlYnVnX2ZkLgoJKiBlbGYvZGwtbWlzYy5jOiBMaWtld2lzZS4KCgkqIG1hbGxvYy9tYWxsb2MuYzogRG9uJ3QgY2FsbCBleHBvcnRlZCBpbnRlcmZhY2UgaW4gdGhlIGltcGxlbWVudGF0aW9uLgoKCSogaW5jbHVkZS93Y3R5cGUuaDogQWRkIGxpYmNfaGlkZGVuX3Byb3RvIGZvciBfX3Rvd2N0cmFucy4KCSogd2N0eXBlL3Rvd2N0cmFucy5jOiBBZGQgbGliY19oaWRkZW5fZGVmLgoKCSogbGliaW8vbWVtc3RyZWFtLmMgKG9wZW5fbWVtc3RyZWFtKTogVXNlIF9JT19pbml0IHdpdGggSU5UVVNFLgoKCSogcG9zaXgvcmVnZXhlYy5jICh0cmFuc2l0X3N0YXRlKTogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoJbmV4dF9zdGF0ZS4KCgkqIHBvc2l4L3JlZ2NvbXAuYyAoaW5pdF9kZmEpOiBVc2UgX19idG93YyBpbnN0ZWFkIG9mIGJ0b3djLgoKCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmg6IERlZmluZSBuZXcgc3RydWN0dXJlIHJ0bGRfZ2xvYmFsX3JvLgoJRGVjbGFyZSBfcnRsZF9nbG9iYWxfcm8gYW5kIF9ydGxkX2xvY2FsX3JvLiAgTW92ZSBtZW1iZXJzIG9mCglydGxkX2dsb2JhbCBzdHJ1Y3R1cmUgaW50byB0aGUgbmV3IG9uZSBpZiB0aGV5IGFyZSBtb2RpZmllZCBvbmx5CglhdCBzdGFydHVwIHRpbWUuICBEZWZpbmUgR0xSTyB0byBhY2Nlc3MgX3J0bGRfZ2xvYmFsX3JvLgoJKiBlbGYvVmVyc2lvbnM6IEV4cG9ydCBfcnRsZF9nbG9iYWxfcm8uCgkqIGVsZi9kbC1jbG9zZS5jOiBVc2UgR0xSTyBpbnN0ZWFkIG9mIEdMIHdoZXJlIGFwcHJvcHJpYXRlLgoJKiBlbGYvZGwtY29uZmxpY3QuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1kZXBzLmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtZHN0Lmg6IExpa2V3aXNlLgoJKiBlbGYvZGwtZXJyb3IuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1maW5pLmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtaW5pdC5jOiBMaWtld2lzZS4KCSogZWxmL2RsLWxvYWQuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1sb29rdXAuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1taW5pbWFsLmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtb3Blbi5jOiBMaWtld2lzZS4KCSogZWxmL2RsLXByb2ZpbGUuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1yZWxvYy5jOiBMaWtld2lzZS4KCSogZWxmL2RsLXJ1bnRpbWUuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1zdXBwb3J0LmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtdmVyc2lvbi5jOiBMaWtld2lzZS4KCSogZWxmL2RvLWxvb2t1cC5oOiBMaWtld2lzZS4KCSogZWxmL3J0bGQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1jYWNoZS5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2RsLW9yaWdpbi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2RsLXN5c2RlcC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2xpYmMtc3RhcnQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1jYWNoZS5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2RsLW1hY2hpbmUuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9zZXRmcHVjdy5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2ZwdS9mY2xyZXhjcHQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9mcHUvZmVkaXNibGV4Y3B0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvZnB1L2ZlZW5hYmx4Y3B0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvZnB1L2ZlaG9sZGV4Y3B0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvZnB1L2Zlc2V0cm91bmQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9mcHUvZnNldGV4Y3B0ZmxnLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvZnB1L2Z0ZXN0ZXhjZXB0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9kbC1leGVjc3RhdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZGwtbGlicmVjb24uaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2RsLW9yaWdpbi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZGwtb3NpbmZvLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9nZXRjbGt0Y2suYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2dldHBhZ2VzaXplLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pbml0LWZpcnN0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wcm9mLWZyZXEuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvZGwtbGlicmVjb24uaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc2lnYWN0aW9uLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGMzMi9nZXRjb250ZXh0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGMzMi9zd2FwY29udGV4dC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjNjQvZ2V0Y29udGV4dC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjNjQvc3dhcGNvbnRleHQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMveDg2XzY0L2RsLW1hY2hpbmUuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9kbC1tYWNoaW5lLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvZGwtbWFjaGluZS5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zMzkwL3MzOTAtNjQvZGwtbWFjaGluZS5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zMzkwL3MzOTAtMzIvZGwtbWFjaGluZS5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9kbC1tYWNoaW5lLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL2RsLW1hY2hpbmUuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbTY4ay9kbC1tYWNoaW5lLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2lhNjQvZGwtbWFjaGluZS5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9hcm0vZGwtbWFjaGluZS5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9hbHBoYS9kbC1tYWNoaW5lLmg6IExpa2V3aXNlLgoJKiBnZW5lcmljL2RsLWZwdHIuYzogTGlrZXdpc2UuCgkqIG1hY2gvaHVyZC9kbC1zeXNkZXAuYzogTGlrZXdpc2UuCgkqIHVuaXgvc3lzdi9saW51eC9pYTY0L2RsLXN0YXRpYy5jOiBMaWtld2lzZS4KCSogdW5peC9zeXN2L2xpbnV4L2lhNjQvZ2V0cGFnZXNpemUuYzogTGlrZXdpc2UuCgkqIHVuaXgvc3lzdi9saW51eC9tNjhrL2dldHBhZ2VzaXplLmM6IExpa2V3aXNlLgoJKiB1bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9nZXRwYWdlc2l6ZS5jOiBMaWtld2lzZS4KCjIwMDQtMDMtMDQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmg6IERvbid0IGRlZmluZSBfZGxfbmFtZV9tYXRjaF9wIGFzIGlubGluZS4KCSogZWxmL2RsLW1pc2MuYzogRGVmaW5lIF9kbF9uYW1lX21hdGNoX3AgaGVyZS4KCSogZWxmL2RsLW9wZW4uYyAoY2hlY2tfbGliY19jYWxsZXIpOiBEb24ndCB1c2UgX2RsX25hbWVfbWF0Y2hfcC4KCgkqIGVsZi9kbC1vcGVuLmMgKGRsX29wZW5fd29ya2VyKTogQ2hlY2sgdGhhdCBfZGxfb3BlbiBpcyBjYWxsZWQKCWZyb20gdGhlIHJpZ2h0IHBsYWNlLgoKMjAwNC0wMS0xNSAgUGFvbG8gQm9uemluaSAgPGJvbnppbmlAZ251Lm9yZz4KCgkqIHBvc2l4L3JlZ2V4LmggKFJFR19TVEFSVEVORCk6IERlZmluZS4KCSogcG9zaXgvcmVnZXhlYy5jIChyZWdleGVjKTogQ2hlY2sgZm9yIFJFR19TVEFSVEVORC4KCjIwMDQtMDItMjkgIFBhb2xvIEJvbnppbmkgIDxib256aW5pQGdudS5vcmc+CgoJKiBwb3NpeC9yZWdleGVjLmMgKHRyYW5zaXRfc3RhdGUpOiBEb24ndCBoYW5kbGUgc3RhdGUgPT0gTlVMTC4KCU1vdmUgc3RhdGUgbG9nIGFuZCBiYWNrcmVmZXJlbmNlIG1hbmFnZW1lbnQuLi4KCShtZXJnZV9zdGF0ZV93aXRoX2xvZyk6IC4uLiB0byB0aGlzIGZ1bmN0aW9uLgoJKGZpbmRfcmVjb3Zlcl9zdGF0ZSk6IE5ldyBmdW5jdGlvbi4KCShjaGVja19tYXRjaGluZyk6IFVzZSBmaW5kX3JlY292ZXJfc3RhdGUgdG8gZ2V0IGEgbm9uLU5VTEwKCXN0YXRlIHdoZW4gYW4gaW52YWxpZCBzdGF0ZSBpcyByZWFjaGVkLiAgQ29tcHV0ZSB0aGUgYW1vdW50CglvZiBpbml0aWFsIGNoYXJhY3RlcnMgdG8gYmUgc2tpcHBlZCBsZXNzIGNvbnNlcnZhdGl2ZWx5IHdoZW4KCW11bHRpLWJ5dGUgY2hhcmFjdGVyIHNldHMgYXJlIGluIHVzZS4gIERvIG5vdCBjaGVjawoJZGZhLT5uYmFja3JlZiBpZiB0aGUgc3RhdGUgbG9nIGlzIE5VTEwuICBJbml0aWFsaXplIGVyci4KCShhY3F1aXJlX2luaXRfc3RhdGVfY29udGV4dCk6IEV4cGVjdCBlcnIgdG8gYmUgaW5pdGlhbGl6ZWQuCglGaXggc3BhY2luZy4KCjIwMDQtMDMtMDUgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL2VsZi9zdGFydC5TOiBIYW5kbGUgUElFcy4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L2VsZi9zdGFydC5TOiBMaWtld2lzZS4KCjIwMDQtMDMtMDQgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogaWNvbnYvaWNvbnZfcHJvZy5jIChwcm9jZXNzX2Jsb2NrKTogSGFuZGxlIG9taXRfaW52YWxpZC4KCUlmIGljb252IHJldHVybnMgRUlMU0VRIHdpdGggb21pdF9pbnZhbGlkLCBjb250aW51ZSBjb252ZXJ0aW5nCglhbmQgcmV0dXJuIDEgaWYgbm8gb3RoZXIgZXJyb3JzIGFyZSBzZWVuLgoJKG1haW4pOiBTZXQgc3RhdHVzIHRvIEVYSVRfRkFJTFVSRSB3aGVuZXZlciBwcm9jZXNzXyogcmV0dXJucwoJbm9uemVybywgYnV0IG9ubHkgc3RvcCBwcm9jZXNzaW5nIGZ1cnRoZXIgZmlsZXMgaWYgaXkgcmV0dXJucwoJbmVnYXRpdmUgdmFsdWUuCgoyMDA0LTAzLTAzICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9wb3NpeF9mYWR2aXNlLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvcG9zaXhfZmFkdmlzZTY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzY2FsbHMubGlzdCAocG9zaXhfZmFkdmlzZTY0KToKCVJlbW92ZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvcG9zaXhfZmFkdmlzZS5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvcG9zaXhfZmFkdmlzZTY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9zeXNjYWxscy5saXN0IChwb3NpeF9mYWR2aXNlNjQpOgoJUmVtb3ZlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3Bvc2l4X2ZhZHZpc2UuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvcG9zaXhfZmFkdmlzZTY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3N5c2NhbGxzLmxpc3QgKHBvc2l4X2ZhZHZpc2U2NCk6CglSZW1vdmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzY0L3Bvc2l4X2ZhZHZpc2UuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzY0L3Bvc2l4X2ZhZHZpc2U2NC5jOiBOZXcKCWZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzY0L3N5c2NhbGxzLmxpc3Q6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9wb3NpeF9mYWR2aXNlLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvcG9zaXhfZmFkdmlzZTY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvc3lzY2FsbHMubGlzdAoJKHBvc2l4X2ZhZHZpc2U2NCk6IFJlbW92ZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9wb3NpeF9mYWR2aXNlLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L3Bvc2l4X2ZhZHZpc2U2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9zeXNjYWxscy5saXN0CgkocG9zaXhfZmFkdmlzZTY0KTogUmVtb3ZlLgoKMjAwNC0wMy0wMiAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzMyL3hzdGF0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGMzMi9meHN0YXQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzMyL2x4c3RhdC5jOiBOZXcgZmlsZS4KCjIwMDQtMDMtMDEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbnNjZC9uc2NkX2dldGdyX3IuYyAobnNjZF9nZXRncl9yKTogQWRkIG1pc3NpbmcgaW5pdGlhbGl6YXRpb24KCW9mIHJldHVybiB2YWx1ZS4KCSogbnNjZC9uc2NkX2dldGhzdF9yLmMgKG5zY2RfZ2V0aHN0X3IpOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2tlcm5lbC1mZWF0dXJlcy5oOiBBZGQgc3VwcG9ydCBmb3IKCV9fQVNTVU1FX0dFVERFTlRTMzJfRF9UWVBFLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9nZXRkZW50cy5jOiBGb3IgMi42LjQrIGtlcm5lbHMgdXNlCglnZXRkZW50cyBzeXNjYWxsIGFnYWluIHNpbmNlIGl0IHByb3ZpZGVzIGRfdHlwZSBpbmZvcm1hdGlvbi4KCjIwMDQtMDItMjkgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIG1hbnVhbC9pbnN0YWxsLnRleGkgKFRvb2xzIGZvciBDb21waWxhdGlvbik6IEF1dG9jb25mIDIuNTMgaXMKCXJlcXVpcmVkLgoJKFN1cHBvcnRlZCBDb25maWd1cmF0aW9ucyk6IEFkZCB4ODZfNjQtKi1saW51eC4KCjIwMDQtMDItMjggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9pMzg2L2k2ODYvbWVtY21wLlM6IE1vdmUgdGFibGUgdG8gLnJvZGF0YS4gIFBhdGNoIGJ5IEhKIEx1LgoKMjAwNC0wMi0yNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBlbGYvcnRsZC5jIChkbF9tYWluKTogQWRqdXN0IGwtPmxfbGQgb2YgdGhlIHZEU08gYnkgbC0+bF9hZGRyLgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtc3lzZGVwLmMgKF9kbF9zeXNkZXBfc3RhcnQpOiBPbmx5IHNldAoJR0woZGxfc3lzaW5mbykgaWYgbm9uLXplcm8uCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXNjb25mLmM6IEluY2x1ZGUgc3RkbGliLmguCgoyMDA0LTAyLTI2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG5zcy9nZXRYWGJ5WVlfci5jOiBQYXNzIHJlc3VsdCBhbHNvIHRvIHRoZSBuc2NkXyogZnVuY3Rpb24uICBEb24ndAoJc2V0ICpyZXN1bHQgaGVyZS4KCSogbnNjZC9uc2NkX3Byb3RvLmg6IEFkZCBuZXcgYXJndW1lbnQgZm9yIHBvaW50ZXIgdG8gcmVzdWx0IHBvaW50ZXIKCXRvIGFsbCBuc2NkXyogZnVuY3Rpb25zLgoJKiBuc2NkL25zY2RfZ2V0Z3Jfci5jIChuc2NkX2dldGdyX3IpOiBBZGQgbmV3IHBhcmFtZXRlci4gIFN0b3JlIHJlc3VsdAoJcG9pbnRlciBpbiB0aGUgYWRkcmVzcyBwcm92aWRlZCBieSB0aGUgbmV3IHBhcmFtZXRlciBpZiBzdWNjZXNzZnVsLgoJT3RoZXJ3aXNlIHN0b3JlIE5VTEwuICBSZXR1cm4gemVybyBpZiBubyBlbnRyeSBmb3VuZC4KCShfX25zY2RfZ2V0Z3JuYW1fciwgX19uc2NkX2dldGdyZ2lkX3IpOiBBZGQgbmV3IHBhcmFtZXRlciBhbmQgcGFzcwoJaXQgb24uCgkqIG5zY2QvbnNjZF9nZXRoc3Rfci5jIChuc2NkX2dldGhzdF9yKTogQWRkIG5ldyBwYXJhbWV0ZXIuICBTdG9yZQoJcmVzdWx0IHBvaW50ZXIgaW4gdGhlIGFkZHJlc3MgcHJvdmlkZWQgYnkgdGhlIG5ldyBwYXJhbWV0ZXIgaWYKCXN1Y2Nlc3NmdWwuIE90aGVyd2lzZSBzdG9yZSBOVUxMLiAgUmV0dXJuIHplcm8gaWYgbm8gZW50cnkgZm91bmQuCgkoX19uc2NkX2dldGhvc3RieW5hbWVfciwgX19uc2NkX2dldGhvc3RieW5hbWUyX3IsCglfX25zY2RfZ2V0aG9zdGJ5YWRkcl9yKTogQWRkIG5ldyBwYXJhbWV0ZXIgYW5kIHBhc3MgaXQgb24uCgkqIG5zY2QvbnNjZF9nZXRwd19yLmMgKG5zY2RfZ2V0cHdfcik6IEFkZCBuZXcgcGFyYW1ldGVyLiAgU3RvcmUgcmVzdWx0Cglwb2ludGVyIGluIHRoZSBhZGRyZXNzIHByb3ZpZGVkIGJ5IHRoZSBuZXcgcGFyYW1ldGVyIGlmIHN1Y2Nlc3NmdWwuCglPdGhlcndpc2Ugc3RvcmUgTlVMTC4gIFJldHVybiB6ZXJvIGlmIG5vIGVudHJ5IGZvdW5kLgoJKF9fbnNjZF9nZXRwd25hbV9yLCBfX25zY2RfZ2V0cHd1aWRfcik6IEFkZCBuZXcgcGFyYW1ldGVyIGFuZCBwYXNzCglpdCBvbi4KCjIwMDQtMDItMjYgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY2xvY2tfc2V0dGltZS5jIChTWVNERVBfU0VUVElNRSk6IFNldAoJcmV0dmFsIHRvIC0xIG9uIGVycm9yLgoKMjAwNC0wMi0yNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzdGRsaWIvY2Fub25pY2FsaXplLmMgKF9fcmVhbHBhdGgpOiBTaW1wbGlmeS4KCgkqIHBvc2l4L3JlZ2NvbXAuYyAocGFyc2VfZXhwcmVzc2lvbik6IEF2b2lkIGR1cGxpY2F0aW9uIGluIGNhbGxzCgl0byBidWlsZF9jaGFyY2xhc3Nfb3AuCgoyMDA0LTAyLTI2ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGVsZi9ydGxkLmMgKGRsX21haW4pOiBDb3JyZWN0bHkgc2V0IHVwIGxfbWFwX2VuZCBhbmQgbF9hZGRyCglpbiB2RFNPJ3MgbGlua19tYXAsIGRvbid0IGFzc3VtZSBsX2FkZHIgPT0gMC4gIFNldCBHTChkbF9zeXNpbmZvKQoJZnJvbSBlX2VudHJ5IG9ubHkgaWYgQVRfU1lTSU5GTyBub3QgcHJlc2VudCBhbmQgYWRqdXN0IGJ5IGxfYWRkci4KCVRha2UgdkRTTyBpbnRvIGFjY291bnQgd2hlbiBpbnNlcnRpbmcgcnRsZCBpbnRvIF9kbF9sb2FkZWQgY2hhaW4uCgoyMDA0LTAyLTI2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN1bnJwYy9zdmNhdXRoX2Rlcy5jIChhdXRoZGVzX2dldHVjcmVkKTogUmVtb3ZlZCBmaXhlZCBsaW1pdCBvbgoJbnVtYmVyIG9mIGdyb3VwcyBpbiB0aGUgY2FjaGUuICBSZWxheCB0aGUgZGlzY29ubmVjdCBiZXR3ZWVuIHRoZQoJaW50ZXJmYWNlIG9mIGF1dGhkZXNfZ2V0dWNyZWQgYW5kIG5ldG5hbWUydXNlciBhIGJpdC4KCSogc3VucnBjL2F1dGhfdW5peC5jIChhdXRodW5peF9jcmVhdGVfZGVmYXVsdCk6IERvbid0IGFsbG9jYXRlCglodWdlIGFycmF5cyBvbiB0aGUgc3RhY2suCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXNjb25mLmMgKF9fc3lzY29uZik6IFVzZSB0aGUgb2ZmaWNpYWwKCW5vdCBjYW5jZWxhYmxlIGludGVyZmFjZXMuCgoyMDA0LTAyLTI0ICBBcm5vbGQgRC4gUm9iYmlucyAgPGFybm9sZEBza2VldmUuY29tPgoKCSogcG9zaXgvcmVnZXhfaW50ZXJuYWwuYyAoYnVpbGRfd2NzX3VwcGVyX2J1ZmZlcik6IEVuY2xvc2UKCWBvZmZzZXRzX25lZWRlZCcgbGFiZWwgaW4gYCNpZmRlZiBfTElCQycgdG8gc2lsZW5jZSBgdW51c2VkIGxhYmVsJwoJY29tcGlsZXIgd2FybmluZy4KCjIwMDQtMDItMjQgIE5lbHNvbiBILkYuIEJlZWJlICA8YmVlYmVAbWF0aC51dGFoLmVkdT4KCgkqIHBvc2l4L3JlZ2NvbXAuYyAocGFyc2VfZXhwcmVzc2lvbik6IEFkZCBjYXN0IHRvIChjb25zdCB1bnNpZ25lZAoJY2hhciAqKSBpbiBjYWxscyB0byBgYnVpbGRfY2hhcmNsYXNzX29wJy4KCSogcG9zaXgvcmVnZXhfaW50ZXJuYWwuYyAoYnVpbGRfd2NzX2J1ZmZlcik6IEFkZCBjYXN0IHRvIGNoYXIqIGluIGNhbGwKCXRvIGB3Y3J0b21iJy4KCSogcG9zaXgvcmVnZXhfaW50ZXJuYWwuaCAoYml0c2V0X25vdCwgYml0c2V0X21lcmdlLCBiaXRzZXRfbm90X21lcmdlLAoJYml0c2V0X21hc2ssIHJlX3N0cmluZ19jaGFyX3NpemVfYSwgcmVfc3RyaW5nX3djaGFyX2F0LAoJcmVfc3RyaW5nX2VsZW1fc2l6ZV9hdCk6IENoYW5nZSB0byB1c2UgcHJvdG90eXBlcy4KCShyZV9zdHJpbmdfY2hhcl9zaXplX2F0LCByZV9zdHJpbmdfd2NoYXJfYXQsCglyZV9zdHJpbmdfZWxlbV9zaXplX2F0KTogRGVjbGFyZSBhcyBgaW50ZXJuYWxfZnVuY3Rpb24nLgoKMjAwNC0wMi0yNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXNjb25mLmMgKF9fc3lzY29uZik6IEhhbmRsZQoJX1NDX05HUk9VUFNfTUFYLgoKMjAwNC0wMi0yMyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiB3Y3NtYnMvbWJydG93Yy5jIChfX21icnRvd2MpOiBDYXAgcyArIG4gYXQgdGhlIGVuZCBvZiBhZGRyZXNzIHNwYWNlLgoJKiBzdGRsaWIvTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRlc3RtYjIuCgkodGVzdG1iMi1FTlYpOiBOZXcuCgkqIHN0ZGxpYi90ZXN0bWIyLmM6IE5ldyB0ZXN0LgoKMjAwNC0wMi0yMyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3Bvc2l4L2dldGFkZHJpbmZvLmMgKGdhaWhfaW5ldCk6IElmIF9yZXMgaGFzIG5vdCBiZWVuCglpbml0ZWQgeWV0LCB0cnkgdG8gaW5pdCBpdCBiZWZvcmUgc2F2aW5nIG9sZCBfcmVzLm9wdGlvbnMuCgkqIHBvc2l4L01ha2VmaWxlICh4dGVzdHMpOiBBZGQgYnVnLWdhMi4KCShnZW5lcmF0ZWQpOiBBZGQgYnVnLWdhMi5tdHJhY2UgYW5kIGJ1Zy1nYTItbWVtLgoJKHh0ZXN0cyk6IERlcGVuZCBvbiBidWctZ2EyLW1lbS4KCSgkKG9ianBmeClidWctZ2EyLW1lbSwgYnVnLWdhMi1FTlYpOiBOZXcuCgkqIHBvc2l4L2J1Zy1nYTIuYzogTmV3IHRlc3QuCgoyMDA0LTAyLTIyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvcG9zaXhfZmFkdmlzZTY0LlM6IFBvcCByZWdpc3RlcgoJY29udGVudCBhbHNvIGluIGNhc2Ugb2YgYW4gb3ZlcmZsb3cgaW4gdGhlIHBhcmFtZXRlci4KCVJlcG9ydGVkIGJ5IE1vbWNoaWwgVmVsaWtvdiA8dmVsY29AZmFkYXRhLmJnPi4KCjIwMDQtMDItMjEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZWxmL2R5bmFtaWMtbGluay5oIChlbGZfZ2V0X2R5bmFtaWNfaW5mbyk6IFJlY29nbml6ZSBERl8xX05PVy4KCUluIGxkLnNvLCBuZWl0aGVyIERUX0ZMQUdTIG5vciBEVF9GTEFHU18xIG11c3QgYmUgdXNlZC4KCjIwMDQtMDItMjEgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHBvc2l4L2J1Zy1nYTEuYzogSW5jbHVkZSA8c3RyaW5nLmg+IGZvciBtZW1zZXQgcHJvdG90eXBlLgoKCSogZWxmL2RsLWxvYWQuYyAoX2RsX21hcF9vYmplY3RfZnJvbV9mZCk6IEZpeCBjYXN0cyB1c2VkIGFzIGx2YWx1ZS4KCgkqIGljb252L2djb252X3NpbXBsZS5jIChpbnRlcm5hbF91Y3M0bGVfbG9vcCk6IFJlbW92ZSBjYXN0IHVzZWQgYXMKCWx2YWx1ZS4KCjIwMDQtMDItMTkgIENhcmxvcyBPJ0RvbmVsbCAgPGNhcmxvc0BiYWxkcmljLnV3by5jYT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9mcmFtZXN0YXRlLmMgW19fVVNJTkdfU0pMSl9FWENFUFRJT05TX19dCgkoX19mcmFtZV9zdGF0ZV9mb3IpOiBTZXQgZnJhbWVfU3RhdGVfZm9yIHRvIGFib3J0IGlmIHRoZSBjb21waWxlcgoJaXMgdXNpbmcgc2psai4KCSogc3lzZGVwcy9nZW5lcmljL3Vud2luZC1kdzIuYzogQWxsb3cgc2psaiBlbmFibGVkIGNvbXBpbGVycyB0bwoJYnVpbGQgdGhlIGNvZGUgYnkgcmVtb3ZpbmcgX19VU0lOR19TSkxKX0VYQ0VQVElPTlNfXyB3cmFwcGVyLgoKMjAwNC0wMi0yMCAgQWxleGFuZHJlIE9saXZhICA8YW9saXZhQHJlZGhhdC5jb20+CgoJKiByZXNvbHYvVmVyc2lvbnM6IFJlbW92ZSBzZW1pY29sb24gZnJvbSB0aGUgZW5kIG9mIGxpYnJlc29sdidzCglHTElCQ18yLjMuMiB2ZXJzaW9uIGJsb2NrLgoJKiBWZXJzaW9ucy5kZWYgKGxpYnJlc29sdik6IEFkZCBHTElCQ18yLjMuMi4KCjIwMDQtMDItMTkgIENhcmxvcyBPJ0RvbmVsbCAgPGNhcmxvc0BiYWxkcmljLnV3by5jYT4KCgkqIHN5c2RlcHMvaHBwYS9mcHUvZmVob2xkZXhjcHQuYyAoZmVob2xkZXhjZXB0KTogRml4IG9yZGVyIG9mIGZwCglzdGF0dXMgcmVnaXN0ZXIgbG9hZHMuCgoyMDA0LTAyLTIwICBUaG9yc3RlbiBLdWt1ayAgPGt1a3VrQHN1c2UuZGU+CgoJKiBuc2NkL25zY2QuYyAodGVybWluYXRpb25faGFuZGxlcik6IFVzZSBfZXhpdCBpbnN0ZWFkIG9mIGV4aXQKCjIwMDQtMDItMjAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbnNjZC9uc2NkLmMgKG1haW4pOiBSZXBvcnQgZm9yayBlcnJvcnMuCgoJKiBkbGZjbi9kbHN5bS5jOiBHZXQgbGQuc28gbG9hZGluZyBsb2NrIGJlZm9yZSB0aGUgY2FsbCBpbnRvIGxkLnNvLgoJKiBkbGZjbi9kbHZzeW0uYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1hZGRyLmM6IEdldCBsb2FkaW5nIGxvY2sgd2hpbGUgdXNpbmcgX2RsX2xvYWRlZCBkYXRhLgoJKiBlbGYvZGwtZmluaS5jOiBMaWtld2lzZS4KCVBhdGNoIGJ5IFNodW5pY2hpIFNhZ2F3YSA8cy1zYWdhd2FAanAuZnVqaXRzdS5jb20+LgoKMjAwNC0wMi0yMCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvZnB1L2xpYm0tdGVzdC11bHBzOiBBZGQgdWxwcyBmb3IgdGhlCgkyMDAzLTExLTI3IGF0YW4yIHRlc3QuCgoJKiBzeXNkZXBzL3Bvd2VycGMvZnB1L2JpdHMvbWF0aGlubGluZS5oIChscmludCwgbHJpbnRmKTogUHJvdGVjdAoJd2l0aCAjaWZuZGVmIF9fcG93ZXJwYzY0X18uCgoJKiBzeXNkZXBzL2dlbmVyaWMvbGRzb2RlZnMuaCAoX2RsX2FyZ3YsIF9kbF9hcmd2X2ludGVybmFsKTogSWYKCURMX0FSR1ZfTk9UX1JFTFJPIGRlZmluZWQsIGRvbid0IHVzZSBhdHRyaWJ1dGVfcmVscm8uCgkqIHN5c2RlcHMvYWxwaGEvZGwtbWFjaGluZS5oIChETF9BUkdWX05PVF9SRUxSTyk6IFJlbW92ZS4KCSogc3lzZGVwcy9pYTY0L2RsLW1hY2hpbmUuaCAoRExfQVJHVl9OT1RfUkVMUk8pOiBSZW1vdmUuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9kbC1tYWNoaW5lLmggKERMX0FSR1ZfTk9UX1JFTFJPKTogUmVtb3ZlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvZGwtbWFjaGluZS5oIChETF9BUkdWX05PVF9SRUxSTyk6IFJlbW92ZS4KCSogc3lzZGVwcy9hbHBoYS9kbC1zeXNkZXAuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9kbC1zeXNkZXAuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc3BhcmMvZGwtc3lzZGVwLmg6IE5ldyBmaWxlLgoKMjAwNC0wMi0xOSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvYml0cy9hdG9taWMuaDogQWRkIF9fbWFrZV9zZWN0aW9uX3VuYWxsb2NhdGVkCglmb3IgLmdudS5saW5rb25jZS5iLl9fc3BhcmMzMl9hdG9taWNfbG9ja3Mgc2VjdGlvbi4KCShfX3NwYXJjMzJfYXRvbWljX2xvY2tzKTogQWRkIF9fc2VjX2NvbW1lbnQgYXQgdGhlIGVuZCBvZiBzZWN0aW9uIG5hbWUuCgoyMDA0LTAyLTE5ICBTdGV2ZW4gTXVucm9lICA8c2ptdW5yb2VAdXMuaWJtLmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9saWJjLXN0YXJ0LmMgW0xJQkNfU1RBUlRfRElTQUJMRV9JTkxJTkVdIChTVEFUSUMpOgoJRGVmaW5lIGFzIHN0YXRpYy4KCSogc3lzZGVwcy9wb3dlcnBjL2VsZi9saWJjLXN0YXJ0LmM6IERlZmluZSBMSUJDX1NUQVJUX0RJU0FCTEVfSU5MSU5FCgliZWNhdXNlIGdjYyBkb2VzIG5vdCBhbGxvdyBpbmxpbmUgb2YgZnVuY3Rpb25zIHRoYXQgY2FsbCBzZXRqbXAuCgoyMDA0LTAyLTE5ICBTdGV2ZW4gTXVucm9lICA8c2ptdW5yb2VAdXMuaWJtLmNvbT4KCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjNjQvTWFrZWZpbGU6IFVzZSAtZmlubGluZS1saW1pdC4KCjIwMDQtMDItMTkgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogZWxmL3J0bGQuYyAoX2RsX2FyZ3YpOiBJZiBETF9BUkdWX05PVF9SRUxSTyBkZWZpbmVkLCBkb24ndAoJdXNlIGF0dHJpYnV0ZV9yZWxybyBmb3IgX2RsX2FyZ3YuCgkqIHN5c2RlcHMvYWxwaGEvZGwtbWFjaGluZS5oIChETF9BUkdWX05PVF9SRUxSTyk6IERlZmluZS4KCSogc3lzZGVwcy9pYTY0L2RsLW1hY2hpbmUuaCAoRExfQVJHVl9OT1RfUkVMUk8pOiBEZWZpbmUuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9kbC1tYWNoaW5lLmggKERMX0FSR1ZfTk9UX1JFTFJPKTogRGVmaW5lLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvZGwtbWFjaGluZS5oIChETF9BUkdWX05PVF9SRUxSTyk6IERlZmluZS4KCjIwMDQtMDItMTkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbGliaW8vaW9wb3Blbi5jIChfSU9fbmV3X3Byb2Nfb3Blbik6IEl0J3Mgbm90IGtvc2hlciB0byB1c2UKCXZmb3JrIGluc3RlYWQgb2YgZm9yay4KCSogbGliaW8vb2xkaW9wb3Blbi5jIChfSU9fb2xkX3Byb2Nfb3Blbik6IExpa2V3aXNlLgoKCSogc3lzZGVwcy91bml4L2Nsb2NrX3NldHRpbWUuYyAoY2xvY2tfc2V0dGltZSk6IEZpeCB0eXBvIHdoaWNoCglwcmV2ZW50ZWQgc3lzdGVtLWRlcGVuZGVudCBoYW5kbGluZyBmcm9tIGJlaW5nIHVzZWQuCgoyMDA0LTAyLTE4ICBDYXJsb3MgTydEb25lbGwgIDxjYXJsb3NAYmFsZHJpYy51d28uY2E+CgoJKiB0ZXN0LXNrZWxldG9uLmMgKG1haW4pOiBJZiBzZXQsIHVzZSBlbnZpcm9ubWVudCB2YXJpYWJsZQoJVElNRU9VVEZBQ1RPUiB0byBzY2FsZSB0ZXN0IFRJTUVPVVQuCgoyMDA0LTAyLTE4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG5zY2QvbnNjZF9jb25mLmM6IEluY2x1ZGUgPHN0ZGlvX2V4dC5oPi4KCjIwMDQtMDItMTYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3RkbGliL3Rlc3QtY2Fub24uYyAoZG9fdGVzdCk6IFRlc3QgcmVhbHBhdGgoLE5VTEwpIGluIHRoZSBsb29wCglhcyB3ZWxsLgoKCSogc3RkbGliL2Nhbm9uaWNhbGl6ZS5jIChfX3JlYWxwYXRoKTogUmVtb3ZlIHVubmVjZXNzYXJ5IGNvcHkKCW9wZXJhdGlvbnMuCgoJKiBuc2NkL25zY2RfY29uZi5jIChuc2NkX3BhcnNlX2ZpbGUpOiBMaXR0bGUgb3B0aW1pemF0aW9uLgoKMjAwNC0wMi0xNCAgVGhvcnN0ZW4gS3VrdWsgIDxrdWt1a0BzdXNlLmRlPgoKCSogbnNjZC9kYmdfbG9nLmMgKHNldF9sb2dmaWxlKTogT25seSBzYXZlIG5hbWUgb2YgbG9nZmlsZSwKCWRvbid0IG9wZW4gaXQuCgkoaW5pdF9sb2dmaWxlKTogTmV3IGZ1bmN0aW9uLCBvcGVuIGxvZ2ZpbGUgaWYgcmVxdWVzdGVkLgoJKiBuc2NkL2RiZ19sb2cuaDogQWRqdXN0IHByb3RveXBlIGZvciBzZXRfbG9nZmlsZSwgYWRkIGluaXRfbG9nZmlsZS4KCSogbnNjZC9uc2NkLmMgKG1haW4pOiBDYWxsIGluaXRfbG9nZmlsZSBhZnRlciBmb3JraW5nIGluIGJhY2tncm91bmQuCgkqIG5zY2QvbnNjZF9jb25mLmMgKG5zY2RfcGFyc2VfZmlsZSk6IEFkanVzdCBmb3IgbmV3IHNldF9sb2dmaWxlLgoKMjAwNC0wMi0xNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvcnRsZC5jIChkbF9tYWluKTogRG9uJ3QgZmFpbCBleGVjdXRpb24gaWYgZmlsZSBuYW1lZCBpbgoJbGQuc28ucHJlbG9hZCBpcyBub3QgcHJlc2VudCBbQlogIzE4XS4KCgkqIHN5c2RlcHMvcG9zaXgvZ2V0YWRkcmluZm8uYyAoZ2V0YWRkcmluZm8pOiBVbmRvIHVuaW50ZW5kZWQKCWNoYW5nZXMgaW4gbGFzdCBwYXRjaC4KCgkqIHBvc2l4L3JlZ2V4ZWMuYyAodHJhbnNpdF9zdGF0ZSk6IEZpeCB0eXBvIGluIGNvbW1lbnRlZC1vdXQgY29kZQoJW0JaICM2XS4KCgkqIHN5c2RlcHMvcG9zaXgvZ2V0YWRkcmluZm8uYyAobWF0Y2hfcHJlZml4KTogQ29ycmVjdGx5IG1hdGNoCglwYXJ0aWFsIGJ5dGVzIFtCWiAjMjRdLgoJKiBwb3NpeC9NYWtlZmlsZSAodGVzdHMpOiBBZGQgYnVnLWdhMS4KCSogcG9zaXgvYnVnLWdhMS5jOiBOZXcgZmlsZS4KCjIwMDQtMDItMTMgIFN0ZXZlbiBNdW5yb2UgIDxzam11bnJvZUB1cy5pYm0uY29tPgoKCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9fX2xvbmdqbXAtY29tbW9uLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzY0L19fbG9uZ2ptcC5TIFtOT1RfSU5fbGliY10oX19sb25nam1wKToKCU5vbi12ZXJzaW9uZWQgX19sb25nam1wIGZvciBydGxkLV9fbG9uZ2ptcC4KCVshTk9UX0lOX2xpYmNdKF9fdm14X19sb25nam1wKTogQWRkIFZNWCByZWcgc3VwcG9ydCBhbmQgZGVmaW5lIGFzCglkZWZhdWx0IHZlcnNpb24gb2YgX19sb25nam1wLgoJW1NIQVJFRCAmJiBTSExJQl9DT01QQVQgKGxpYmMsIEdMSUJDXzJfMywgR0xJQkNfMl8zXzQpXQoJKF9fbm92bXhfX2xvbmdqbXApOiBPcmlnaW5hbCB2ZXJzaW9uIG9mIF9fbG9uZ2ptcC4KCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9ic2QtX3NldGptcC5TIFtOT1RfSU5fbGliY10oX3NldGptcCk6CglOb24tdmVyc2lvbmVkIF9zZXRqbXAgZm9yIHJ0bGQtX3NldGptcC4KCVshTk9UX0lOX2xpYmNdKF9fdm14X3NldGptcCk6IEJyYW5jaCB0byBfX3ZteF9fc2lnc2V0am1wIGFuZCBkZWZpbmUKCWFzIGRlZmF1bHQgdmVyc2lvbiBvZiBfc2V0am1wLgoJW1NIQVJFRCAmJiBTSExJQl9DT01QQVQgKGxpYmMsIEdMSUJDXzJfMywgR0xJQkNfMl8zXzQpXQoJKF9fbm92bXhfc2V0am1wKTogT3JpZ2luYWwgdmVyc2lvbiBvZiBfc2V0am1wLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzY0L2JzZC1zZXRqbXAuUyAoX192bXhzZXRqbXApOiBCcmFuY2ggdG8KCV9fdm14X19zaWdzZXRqbXAgYW5kIGRlZmluZSBhcyBkZWZhdWx0IHZlcnNpb24gb2Ygc2V0am1wLgoJW1NIQVJFRCAmJiBTSExJQl9DT01QQVQgKGxpYmMsIEdMSUJDXzJfMywgR0xJQkNfMl8zXzQpXQoJKF9fbm92bXhzZXRqbXApOiBPcmlnaW5hbCB2ZXJzaW9uIG9mIHNldGptcC4KCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9zZXRqbXAtY29tbW9uLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzY0L3NldGptcC5TIFtOT1RfSU5fbGliY10oX19zZXRqbXApOgoJTm9uLXZlcnNpb25lZCBfX3NpZ3NldGptcCBmb3IgcnRsZC1zZXRqbXAuCglbIU5PVF9JTl9saWJjXShfX3ZteF9fc2lnc2V0am1wKTogQWRkIFZNWCByZWcgc3VwcG9ydCBhbmQgZGVmaW5lCglhcyBkZWZhdWx0IHZlcnNpb24gb2YgX19zaWdzZXRqbXAuCglbU0hBUkVEICYmIFNITElCX0NPTVBBVCAobGliYywgR0xJQkNfMl8zLCBHTElCQ18yXzNfNCldCgkoX19ub3ZteF9fc2lnc2V0am1wKTogT3JpZ2luYWwgdmVyc2lvbiBvZiBfX3NpZ3NldGptcC4KCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvX19sb25nam1wLWNvbW1vbi5TOiBOZXcgRmlsZQoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL19fbG9uZ2ptcC5TIFtOT1RfSU5fbGliY10oX19sb25nam1wKToKCU5vbi12ZXJzaW9uZWQgX19sb25nam1wIGZvciBydGxkLV9fbG9uZ2ptcC4KCVshTk9UX0lOX2xpYmNdKF9fdm14X19sb25nam1wKTogQWRkIFZNWCByZWcgc3VwcG9ydCBhbmQgZGVmaW5lIGFzCglkZWZhdWx0IHZlcnNpb24gb2YgX19sb25nam1wLgoJW1NIQVJFRCAmJiBTSExJQl9DT01QQVQgKGxpYmMsIEdMSUJDXzJfMCwgR0xJQkNfMl8zXzQpXQoJKF9fbm92bXhfX2xvbmdqbXApOiBPcmlnaW5hbCB2ZXJzaW9uIG9mIF9fbG9uZ2ptcC4KCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGMzMi9ic2QtX3NldGptcC5TIFtOT1RfSU5fbGliY10oX3NldGptcCk6CglOb24tdmVyc2lvbmVkIF9zZXRqbXAgZm9yIHJ0bGQtX3NldGptcC4KCVshTk9UX0lOX2xpYmNdKF9fdm14X3NldGptcCk6IEJyYW5jaCB0byBfX3ZteF9fc2lnc2V0am1wIGFuZCBkZWZpbmUKCWFzIGRlZmF1bHQgdmVyc2lvbiBvZiBfc2V0am1wLgoJW1NIQVJFRCAmJiBTSExJQl9DT01QQVQgKGxpYmMsIEdMSUJDXzJfMCwgR0xJQkNfMl8zXzQpXQoJKF9fbm92bXhfc2V0am1wKTogT3JpZ2luYWwgdmVyc2lvbiBvZiBfc2V0am1wLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL2JzZC1zZXRqbXAuUyAoX192bXhzZXRqbXApOiBCcmFuY2ggdG8KCV9fdm14X19zaWdzZXRqbXAgYW5kIGRlZmluZSBhcyBkZWZhdWx0IHZlcnNpb24gb2Ygc2V0am1wLgoJW1NIQVJFRCAmJiBTSExJQl9DT01QQVQgKGxpYmMsIEdMSUJDXzJfMCwgR0xJQkNfMl8zXzQpXQoJKF9fbm92bXhzZXRqbXApOiBPcmlnaW5hbCB2ZXJzaW9uIG9mIHNldGptcC4KCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGMzMi9mcHUvX19sb25nam1wLWNvbW1vbi5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGMzMi9mcHUvX19sb25nam1wLlMgW05PVF9JTl9saWJjXShfX2xvbmdqbXApOgoJTm9uLXZlcnNpb25lZCBfX2xvbmdqbXAgZm9yIHJ0bGQtX19sb25nam1wLgoJWyFOT1RfSU5fbGliY10oX192bXhfX2xvbmdqbXApOiBBZGQgVk1YIHJlZyBzdXBwb3J0IGFuZCBkZWZpbmUgYXMKCWRlZmF1bHQgdmVyc2lvbiBvZiBfX2xvbmdqbXAuCglbU0hBUkVEICYmIFNITElCX0NPTVBBVCAobGliYywgR0xJQkNfMl8wLCBHTElCQ18yXzNfNCldCgkoX19ub3ZteF9fbG9uZ2ptcCk6IE9yaWdpbmFsIHZlcnNpb24gb2YgX19sb25nam1wLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL2ZwdS9zZXRqbXAtY29tbW9uLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL2ZwdS9zZXRqbXAuUyBbTk9UX0lOX2xpYmNdKF9fc2V0am1wKToKCU5vbi12ZXJzaW9uZWQgX19zaWdzZXRqbXAgZm9yIHJ0bGQtc2V0am1wLgoJWyFOT1RfSU5fbGliY10oX192bXhfX3NpZ3NldGptcCk6IEFkZCBWTVggcmVnIHN1cHBvcnQgYW5kIGRlZmluZQoJYXMgZGVmYXVsdCB2ZXJzaW9uIG9mIF9fc2lnc2V0am1wLgoJW1NIQVJFRCAmJiBTSExJQl9DT01QQVQgKGxpYmMsIEdMSUJDXzJfMCwgR0xJQkNfMl8zXzQpXQoJKF9fbm92bXhfX3NpZ3NldGptcCk6IE9yaWdpbmFsIHZlcnNpb24gb2YgX19zaWdzZXRqbXAuCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvc2V0am1wLWNvbW1vbi5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGMzMi9zZXRqbXAuUyBbTk9UX0lOX2xpYmNdKF9fc2V0am1wKToKCU5vbi12ZXJzaW9uZWQgX19zaWdzZXRqbXAgZm9yIHJ0bGQtc2V0am1wLgoJWyFOT1RfSU5fbGliY10oX192bXhfX3NpZ3NldGptcCk6IEFkZCBWTVggcmVnIHN1cHBvcnQgYW5kIGRlZmluZQoJYXMgZGVmYXVsdCB2ZXJzaW9uIG9mIF9fc2lnc2V0am1wLgoJW1NIQVJFRCAmJiBTSExJQl9DT01QQVQgKGxpYmMsIEdMSUJDXzJfMCwgR0xJQkNfMl8zXzQpXQoJKF9fbm92bXhfX3NpZ3NldGptcCk6IE9yaWdpbmFsIHZlcnNpb24gb2YgX19zaWdzZXRqbXAuCgoJKiBzeXNkZXBzL3Bvd2VycGMvRGlzdDogTmV3IEZpbGUuCgkqIHN5c2RlcHMvcG93ZXJwYy9NYWtlZmlsZSAoc3lzZGVwX3JvdXRpbmVzKTogQWRkIG5vdm14LWxvbmdqbXAuYwoJYW5kIG5vdm14LXNpZ2ptcC5jCgkqIHN5c2RlcHMvcG93ZXJwYy9WZXJzaW9ucyAobGliYyk6IFRvIEdMSUJDXzIuM180IGFkZCBfbG9uZ2ptcCwKCV9fc2lnc2V0am1wLCBfc2V0am1wLCBsb25nam1wLCBhbmQgc2V0am1wLiBUbyBHTElCQ19QUklWQVRFIGFkZAoJX19ub3ZteF9fbGliY19sb25nam1wLCBfX25vdm14X19saWJjX3NpZ2xvbmdqbXAsIF9fdm14X19saWJjX2xvbmdqbXAsCglhbmQgX192bXhfX2xpYmNfc2lnbG9uZ2ptcC4KCSogc3lzZGVwcy9wb3dlcnBjL2JpdHMvc2V0am1wLmg6IERlZmluZSBKQl9WUlNBVkUsIEpCX1ZSUywgYW5kIGFkanVzdAoJSkJfU0laRSB0byBhZGQgVk1YIHJlZ3MgdG8gX19qbXBfYnVmLgoJKiBzeXNkZXBzL3Bvd2VycGMvbG9uZ2ptcC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9wb3dlcnBjL25vdm14c2V0am1wLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3Bvd2VycGMvbm92bXgtbG9uZ2ptcC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9wb3dlcnBjL25vdm14LXNpZ2ptcC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9wb3dlcnBjL3NpZ2ptcC5jOiBOZXcgZmlsZS4KCjIwMDQtMDItMTMgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9mcHUvc19sbHJpbnRmLmMgKF9fbHJpbnRmLCBscmludGYpOgoJRGVmaW5lLgoJKF9fbHJpbnRsLCBscmludGwpOiBSZW1vdmUuCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjNjQvZnB1L3NfbGxyaW50LmMgKF9fbHJpbnQpOiBGaXggYSB0eXBvIGluCglzdHJvbmdfYWxpYXMgc3BlbGxpbmcuCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjNjQvZnB1L3NfbHJpbnRmLlM6IFJlbW92ZS4KCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9mcHUvc19scmludC5TOiBOZXcgZmlsZS4KCjIwMDQtMDItMTIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvZ2V0b3B0Lmg6IEFkZCBzb21lIG5vbi1nY2Mgc3VwcG9ydC4gIFBhdGNoIGJ5IEFoYXJvbiBSb2JiaW5zLgoKMjAwNC0wMi0xMiAgTWFyayBCcm93biAgPGJtYXJrQHVzLmlibS5jb20+CgoJKiBzeXNkZXBzL2lhNjQvZnB1L2VfZm1vZGYuUzogQWRkZWQgdGV4dCBvZiBJbnRlbCBsaWNlbnNlLgoKMjAwNC0wMi0xMiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3Bvd2VycGMvZnB1L3NfbHJpbnQuYzogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL2ZwdS9zX2xyaW50LmM6IC4uLiBoZXJlLgoJKiBzeXNkZXBzL3Bvd2VycGMvZnB1L3NfbGxyaW50LmM6IE1vdmUgdG8uLi4KCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGMzMi9mcHUvc19sbHJpbnQuYzogLi4uIGhlcmUuCgkqIHN5c2RlcHMvcG93ZXJwYy9mcHUvc19sbHJpbnRmLmM6IE1vdmUgdG8uLi4KCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGMzMi9mcHUvc19sbHJpbnRmLmM6IC4uLiBoZXJlLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzY0L2ZwdS9zX2xscmludC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9mcHUvc19scmludGYuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjNjQvZnB1L3NfbGxyaW50Zi5jOiBOZXcgZmlsZS4KCgkqIG1hdGgvbGlibS10ZXN0LmluYyAobHJpbnRfdGVzdCk6IEFkZCBuZXcgdGVzdC4KCShsbHJpbnRfdGVzdCwgbHJvdW5kX3Rlc3QsIGxscm91bmRfdGVzdCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2llZWU3NTQvbGRibC0xMjgvc19scm91bmRsLmMgKF9fbHJvdW5kbCk6IEZpeCBzcGVjaWFsIGNhc2UKCXdpdGggcmVzdWx0IHRha2luZyB1cCA0OCBiaXRzLgoJKiBzeXNkZXBzL2llZWU3NTQvbGRibC0xMjgvc19scmludGwuYyAoX19scmludGwpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pZWVlNzU0L2xkYmwtMTI4L3NfbGxyb3VuZGwuYyAoX19sbHJvdW5kbCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2llZWU3NTQvbGRibC05Ni9zX2xscmludGwuYyAoX19sbHJpbnRsKTogRml4IHNwZWNpYWwgY2FzZQoJd2l0aCByZXN1bHQgdGFraW5nIHVwIDMxIGJpdHMuCgoyMDA0LTAyLTEyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sb2NhbGUuYyAoc2hvd19sb2NhbGVfdmFycyk6IERvbid0IHByaW50IGEgdmFsdWUKCWZvciBMQU5HIGlmIGl0IGlzIG5vdCBzZXQuCgoyMDA0LTAyLTExICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHBvc2l4L3JlZ2V4ZWMuYyAoY2hlY2tfbm9kZV9hY2NlcHRfYnl0ZXMpOiBSZXR1cm4gMCBpZiBjaGFyX2xlbiBpcyAwLgoJKGZpbmRfY29sbGF0aW9uX3NlcXVlbmNlX3ZhbHVlKTogRG9uJ3QgbG9vayBiZXlvbmQgZW5kIG9mCglTWU1CX0VYVFJBTUIgdGFibGUuCgkqIHBvc2l4L01ha2VmaWxlICh0ZXN0cyk6IEFkZCBidWctcmVnZXgyMy4KCShidWctcmVnZXgyMy1FTlYpOiBOZXcuCgkqIHBvc2l4L2J1Zy1yZWdleDIzLmM6IE5ldyBmaWxlLgoKMjAwNC0wMi0xMCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAZnJvYi5jb20+CgoJKiBzeXNkZXBzL21hY2gvaHVyZC90aW1lcy5jIChfX3RpbWVzKTogVXNlIHVuaW9uIGluc3RlYWQgb2YgY2FzdC4KCSogc3lzZGVwcy9tYWNoL2h1cmQvc2VuZG1zZy5jIChfX2xpYmNfc2VuZG1zZyk6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvY29uZmlndXJlLmluOiBNb3ZlIGByZXRjb2RlJyBjaGVjayB0byAuLi4KCSogc3lzZGVwcy9tYWNoL2NvbmZpZ3VyZS5pbjogLi4uIGhlcmUuCgkqIHN5c2RlcHMvbWFjaC9odXJkL2NvbmZpZ3VyZTogUmVnZW5lcmF0ZWQuCgkqIHN5c2RlcHMvbWFjaC9jb25maWd1cmUuaW46IFJlZ2VuZXJhdGVkLgoKMjAwNC0wMi0xMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvc2V0ZW52LmMgKF9fYWRkX3RvX2Vudmlyb24pOiBEb24ndCBsZXQgdGhlCgl0ZW1wb3JhcnkgY29waWVzIG9mIHRoZSB2YXJpYWJsZXMgYWNjdW11bGF0ZSBvbiB0aGUgc3RhY2suCgoJKiBzdGRpby1jb21tb24vX2kxOG5fbnVtYmVyLmg6IEZpbmlzaCBsYXN0IHBhdGNoLgoKMjAwNC0wMi0wOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2kzODYvaTY4Ni9tZW1jbXAuUzogTmV3IGZpbGUuICBQYXRjaCBieSBISiBMdS4KCjIwMDMtMTItMDUgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3N5c2NhbGxzLmxpc3Q6IFR1cm4gdm04NiBpbnRvIHZtODZvbGQKCWZvciB2bTg2QEdMSUJDXzIuMCB2ZXJzaW9uLiAgQWRkIG5ldyB2bTg2QEdMSUJDXzIuMy40LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L1ZlcnNpb25zIChsaWJjOiBHTElCQ18yLjMuNCk6IEFkZCB2bTg2LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3N5cy92bTg2Lmg6IFVwZGF0ZSB2bTg2IHByb3RvdHlwZS4KCjIwMDQtMDItMDkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbmlzL3lwY2xudC5jOiBDbGVhbnVwIGxhc3QgcGF0Y2guCgoyMDA0LTAyLTA5ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBjb25maWd1cmUuaW46IFJlbW92ZSBnbGliY2J1ZyBjcmVhdGlvbi4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlZC4KCgkqIHN5c2RlcHMveDg2XzY0L2ZwdS9zX2NvcHlzaWduZi5TOiBPbmx5IGxvYWQgNCBieXRlcy4KCjIwMDQtMDItMDMgIFRob3JzdGVuIEt1a3VrICA8a3VrdWtAc3VzZS5kZT4KCgkqIG5pcy95cGNsbnQuYyAoX195cF9iaW5kX2NsaWVudF9jcmVhdGUpOiBOZXcsIHNtYWxsIGNodW5rCglvZiBkdXBsaWNhdGVkIGNvZGUgZnJvbSBfX3lwX2JpbmQuCgkoX195cF9iaW5kX2ZpbGUpOiBOZXcsIGJpbmRpbmcgZGlyIGNvZGUgZnJvbSBfX3lwX2JpbmQuCgkoX195cF9iaW5kX2NsaWVudF9jcmVhdGUpOiBOZXcsIHlwYmluZCBjb2RlIGZyb20gX195cF9iaW5kLgoJKF9feXBjbG50X2NhbGwpOiBOZXcsIG1ha2UgTklTIHF1ZXJ5LgoJKGRvX3lwY2FsbCk6IEF0IGZpcnN0IHVzZSBjYWNoZWQgZGF0YSwgdGhlbiB0cnkgZGF0YSBmcm9tCgliaW5kaW5nIGRpcmVjdG9yeSwgYWZ0ZXIgdGhpcyBhc2sgeXBiaW5kIGZvciBhIHdvcmtpbmcgeXBzZXJ2LgoJQmFzZWQgb24gYSBwYXRjaCBmcm9tIEplZmYgQmFzdGlhbiA8am1iYXN0aWFAdGkuY29tPiBhbmQKCUNocmlzIEJhcnJlcmEgPGNiYXJyZXJhQHRpLmNvbT4KCjIwMDQtMDEtMTkgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuaW46IERvbid0IHNldCBDQ1ZFUlNJT04uCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZWQuCgkqIGdsaWJjYnVnLmluOiBGaWxlIHJlbW92ZWQuCgkqIE1ha2VmaWxlIChpbnN0YWxsLWJpbi1zY3JpcHQpOiBSZW1vdmUgZ2xpYmNidWcuCgkoZ2xpYmNidWcpOiBUYXJnZXQgcmVtb3ZlZC4KCShkaXN0Y2xlYW4tMSk6IERvbid0IHJtIGdsaWJjYnVnLgoJKGRpc3RyaWJ1dGUpOiBSZW1vdmUgZ2xpYmNidWcuaW4uCgoyMDA0LTAyLTA5ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogdGltZS90enNldC5jICh0enNldF9pbnRlcm5hbCk6IENhcCBob3VyIGluIFBPU0lYICRUWiBydWxlIGZvcm1hdCB0bwoJMjQsIG5vdCAyMy4KCjIwMDQtMDEtMjkgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBpby9mdHd0ZXN0LXNoOiBVc2UgJHRtcCBjb25zaXN0ZW50bHksIG5vdCBsaXRlcmFsIC90bXAuCglSZXBvcnRlZCBieSBLZXZpbiBQLiBGbGVtaW5nIDxrcGZsZW1pbmdAYmFja3RvYmFzaWNzbWdtdC5jb20+LgoKMjAwNC0wMi0wOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsaWJpby9nZW5vcHMuYyAoX0lPX2NsZWFudXApOiBEbyBub3QgdXNlIGxvY2tpbmcgd2hlbiBmbHVzaGluZwoJdGhlIGJ1ZmZlcnMuICBTb21lIHRocmVhZCBtaWdodCBiZSB1c2luZyBhIHN0cmVhbS4KCjIwMDQtMDItMDkgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMveDg2XzY0L21lbWNweS5TOiBGaXggYWxpZ25tZW50IFtCWiAjN10uCglQYXRjaCBieSBKYW4gQmV1bGljaCA8amJldWxpY2hAbm92ZWxsLmNvbT4uCgoyMDA0LTAyLTA5ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogaW5jbHVkZS9ycGMvcnBjLmg6IERlY2xhcmUgdGhyZWFkIHZhcmlhYmxlcyB3aXRoIHRoZWlyIGNvcnJlY3QgdHlwZS4KCSogc3VucnBjL2NsbnRfcGVyci5jOiBEb24ndCBjYXN0IHRocmVhZCB2YXJpYWJsZXMuCgkqIHN1bnJwYy9jbG50X3Jhdy5jOiBMaWtld2lzZS4KCSogc3VucnBjL2NsbnRfc2ltcC5jOiBMaWtld2lzZS4KCSogc3VucnBjL2tleV9jYWxsLmM6IExpa2V3aXNlLgoJKiBzdW5ycGMvc3ZjYXV0aF9kZXMuYzogTGlrZXdpc2UuCgkqIHN1bnJwYy9zdmMuYzogTGlrZXdpc2UuCgkqIHN1bnJwYy9zdmNfcmF3LmM6IExpa2V3aXNlLgoJKiBzdW5ycGMvc3ZjX3NpbXBsZS5jOiBMaWtld2lzZS4KCjIwMDQtMDItMDkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3RkaW8tY29tbW9uL19pMThuX251bWJlci5oOiBTdXBwb3J0IHByaW50aW5nIGxvY2FsaXplZCBkZWNpbWFsCglwb2ludCBhbmQgdGhvdXNhbmQgc2VwYXJhdG9yLgoJKiB3Y3R5cGUvd2N0cmFucy5jOiBBZGQgX193Y3RyYW5zIGFsaWFzLgoJKiBpbmNsdWRlL3djdHlwZS5oOiBEZWNsYXJlIF9fd2N0cmFucy4KCUJhc2VkIG9uIGEgcGF0Y2ggYnkgSGFtZWQgTWFsZWsuCgoJKiBzeXNkZXBzL2kzODYvZnB1L2ZjbHJleGNwdC5jIChfX2ZlY2xlYXJleGNlcHQpOiBEb24ndCB0b3VjaCBiaXRzCglvdGhlciB0aGFuIHRoZSBzdGF0dXMgYml0cyBbQlogIzEwXS4KCjIwMDQtMDItMDggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCU1ha2Ugc3RyZWFtIGxvY2tpbmcgb3BlcmF0aW9ucyByZWFsbHkgd29yay4KCSogbWlzYy9NYWtlZmlsZSAoQ0ZMQUdTLW1udGVudF9yLmMpOiBEZWZpbmUuCgkqIHNoYWRvdy9NYWtlZmlsZSAoQ0ZMQUdTLWZnZXRzcGVudF9yLmMpOiBEZWZpbmUuCgkoQ0ZMQUdTLXB1dHNwZW50LmMpOiBEZWZpbmUuCgkqIGdycC9NYWtlZmlsZSAoQ0ZMQUdTLWZnZXRncmVudF9yLmMpOiBEZWZpbmUuCgkoQ0ZMQUdTLXB1dGdyZW50LmMpOiBEZWZpbmUuCgkqIHB3ZC9NYWtlZmlsZSAoQ0ZMQUdTLWZnZXRwd2VudF9yLmMpOiBEZWZpbmUuCglSZXBvcnRlZCBieSBTaHVuaWNoaSBTYWdhd2EgPHMtc2FnYXdhQGpwLmZ1aml0c3UuY29tPi4KCgkqIGVsZi9kbC1sb2FkLmMgKGxvc2UpOiBVc2Ugbm9pbmxpbmUgYXR0cmlidXRlIGluc3RlYWQgb2Ygc2lsbHkKCWFsbG9jYSB0byBwcmV2ZW50IGlubGluaW5nLgoJKiBlbGYvZGwtcnVudGltZS5jIChmaXh1cCk6IExpa2V3aXNlLgoJKHByb2ZpbGVfZml4dXApOiBMaWtld2lzZS4KCgkqIHN0ZGlvLWNvbW1vbi9wcmludGZfc2l6ZS5jOiBVbmRvIHBhcnRzIG9mIHBhdGNoIGZyb20gMjAwMC0yLTExLgoJSW5pdGlhbGl6ZSB3aWR0aCBjb3JyZWN0bHkuCgoyMDA0LTAyLTA3ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBpY29udi9nY29udl9zaW1wbGUuYyAodWNzNGxlX2ludGVybmFsX2xvb3ApOiBSZW1vdmUgY2FzdCB1c2VkIGFzCglsdmFsdWUuCgkoaW50ZXJuYWxfdWNzNGxlX2xvb3Bfc2luZ2xlKTogTGlrZXdpc2UuCgkodWNzNF9pbnRlcm5hbF9sb29wKTogTGlrZXdpc2UuCgkoQk9EWSk6IExpa2V3aXNlLgoJKGludGVybmFsX3VjczRfbG9vcF9zaW5nbGUpOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzbzg4NTktMS5jIChCT0RZKTogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9jcDEyNTUuYyAoRU1JVF9TSElGVF9UT19JTklUKTogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9jcDEyNTguYyAoRU1JVF9TSElGVF9UT19JTklUKTogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9nYjE4MDMwLmMgKEJPRFkpOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2FybXNjaWktOC5jIChCT0RZKTogTGlrZXdpc2UuCgkqIHN0ZGxpYi9tc29ydC5jIChtc29ydF93aXRoX3RtcCk6IExpa2V3aXNlLgoKCSogaWNvbnYvZ2NvbnZfb3Blbi5jIChfX2djb252X29wZW4pOiBSZW1vdmUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbgoJYXMgbHZhbHVlLgoKMjAwNC0wMi0wNiAgU3RldmVuIE11bnJvZSAgPHNqbXVucm9lQHVzLmlibS5jb20+CgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL2RsLW1hY2hpbmUuYzogRGVjbGFyZSBfX2NhY2hlX2xpbmVfc2l6ZSBhcwoJd2VhayBleHRlcm4uCgkoX19lbGZfbWFjaGluZV9ydW50aW1lX3NldHVwKTogSW52YWxpZGF0ZSB0aGUgaW5zdHJ1Y3Rpb24gY2FjaGUgb3ZlcgoJdGhlIHdob2xlIHJhbmdlIG9mIHRoZSBQTFQuCgoyMDA0LTAyLTA2ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogcG9zaXgvcmVnY29tcC5jIChidWlsZF9yYW5nZV9leHApOiBGaXggb2ZmLWJ5LW9uZS4KCShwYXJzZV9icmFja2V0X2V4cCk6IExpa2V3aXNlLgoKMjAwNC0wMi0wNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGMzMi9rZXJuZWxfc3RhdC5oOiBEZWZpbmUKCV9IQVZFX1NUQVRfTlNFQyBhbmQgX0hBVkVfU1RBVDY0X05TRUMuICBQYXRjaCBieSBBbnRvbiBCbGFuY2hhcmQuCgoyMDA0LTAyLTAyICBQYW9sbyBCb256aW5pICA8Ym9uemluaUBnbnUub3JnPgoKCSogcG9zaXgvcmVnZXhlYy5jIChjaGVja19tYXRjaGluZyk6IEFkZCBQX01BVENIX0ZJUlNUIHBhcmFtZXRlci4KCShyZV9zZWFyY2hfaW50ZXJuYWwpOiBQYXNzIG5ldyBwYXJhbWV0ZXIgdG8gY2hlY2tfbWF0Y2hpbmcuCgkoY2hlY2tfbWF0Y2hpbmcpOiBVbmxlc3MgYSBwYXJlbnRoZXNpemVkIGdyb3VwIGlzIGZvdW5kIGF0IHRoZQoJYmVnaW5uaW5nIG9mIHRoZSByZWdleHAsIGFkdmFuY2UgUF9NQVRDSF9GSVJTVCB1bnRpbCB3ZSBlbnRlcmVkCglhIHN0YXRlIGRpZmZlcmVudCBmcm9tIHRoZSBpbml0aWFsIHN0YXRlLgoKMjAwNC0wMi0wMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBtYXRoL2xpYm0tdGVzdC5pbmMgKGxyb3VuZF90ZXN0KTogQWRkIG5ldyB0ZXN0LgoJKGxscm91bmRfdGVzdCk6IExpa2V3aXNlLgoJKGxyaW50X3Rlc3QpOiBMaWtld2lzZS4KCShsbHJpbnRfdGVzdCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L3NfbHJvdW5kLmMgKF9fbHJvdW5kKTogRml4IHNwZWNpYWwgY2FzZQoJd2l0aCByZXN1bHQgdGFraW5nIHVwIDIwIGJpdHMuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvc19scmludC5jIChfX2xyaW50KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvc19sbHJpbnQuYyAoX19sbHJpbnQpOiBMaWtld2lzZS4uCgkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTk2L3NfbHJvdW5kbC5jIChfX2xyb3VuZGwpOiBGaXggc3BlY2lhbAoJY2FzZSB3aXRoIHJlc3VsdCB0YWtpbmcgdXAgMzEgYml0cy4KCSogc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYvc19scmludGwuYyAoX19scmludGwpOiBMaWtld2lzZS4KCgkqIHBvL25sLnBvOiBVcGRhdGUgZnJvbSB0cmFuc2xhdGlvbiB0ZWFtLgoKMjAwNC0wMS0zMCAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy9zaWdpbmZvLmggKElMTF9CUkVBSywKCUZQRV9ERUNPVkYsIEZQRV9ERUNESVYsIEZQRV9ERUNFUlIsIEZQRV9JTlZBU0MsIEZQRV9JTlZERUMsCglTRUdWX1BTVEtPVkYpOiBSZW1vdmUgdW5kZXJzY29yZSBwcmVmaXggZnJvbSBkZWZpbml0aW9uLgoKMjAwNC0wMS0yOCAgUGFvbG8gQm9uemluaSAgPGJvbnppbmlAZ251Lm9yZz4KCglNZXJnZSByZWdleCBjaGFuZ2VzIGluIGdhd2suCgkqIHBvc2l4L3JlZ2NvbXAuYyAoYnVpbGRfcmFuZ2VfZXhwKSBbIV9MSUJDXTogQ2hlY2sgdmFsaWRpdHkKCW9mIGNvbGxhdGlvbiBlbGVtZW50cy4KCSogcG9zaXgvcmVnZXguYzogSW5jbHVkZSBsaW1pdHMuaC4KCSogcG9zaXgvcmVnZXguaDogRG9jdW1lbnQgUkVHX0VDT0xMQVRFIGNvcnJlY3RseS4KCSogcG9zaXgvcmVnZXhfaW50ZXJuYWwuaCBbIV9MSUJDICYmICFFTkFCTEVfTkxTXTogRGlzYWJsZSBOTFMuCgoyMDA0LTAxLTI0ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBtYWxsb2Mvb2JzdGFjay5oOiBJbXBvcnQgZ251bGliIHZlcnNpb24uCgkqIG1hbGxvYy9vYnN0YWNrLmM6IExpa2V3aXNlLgoKMjAwNC0wMS0yNiAgRGF2aWQgTW9zYmVyZ2VyICA8ZGF2aWRtQGhwbC5ocC5jb20+CgoJKiBlbGYvbGluay5oIChzdHJ1Y3QgZGxfcGhkcl9pbmZvKTogRml4IHR5cG8gaW4gY29tbWVudC4KCSogZWxmL3J0bGQuYyAoZGxfbWFpbik6IEFmdGVyIGluY3JlbWVudGluZyBkbF9ubG9hZGVkLCBhbHNvCglpbmNyZW1lbnQgZGxfbG9hZF9hZGRzLgoJKiBlbGYvZGwtaXRlcmF0ZXBoZHIuYyAoX19kbF9pdGVyYXRlX3BoZHIpOiBSZXBsYWNlIEdMKGRsX2xvYWRfc3VicykKCXdpdGggZXF1aXZhbGVudCBHTChkbF9sb2FkX2FkZHMgLSBHTChkbF9ubG9hZGVkKS4KCShkbF9pdGVyYXRlX3BoZHIpOiBMaWtld2lzZS4KCSogZWxmL2RsLWNsb3NlLmMgKF9kbF9jbG9zZSk6IERlbGV0ZSBpbmNyZW1lbnQgb2YgR0woZGxfbG9hZF9zdWJzKS4KCSogZWxmL2RsLXN1cHBvcnQuYzogUmVtb3ZlIGdsb2JhbCB2YXJpYWJsZSBfZGxfbG9hZF9zdWJzLgoJKiBzeXNkZXBzL2dlbmVyaWMvbGRzb2RlZnMuaCAoc3RydWN0IHJ0bGRfZ2xvYmFsKTogUmVtb3ZlCglfZGxfbG9hZF9zdWJzIG1lbWJlci4KCjIwMDQtMDEtMjcgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogZWxmL3J0bGQuYyAoX2RsX3N0YXJ0X2ZpbmFsKTogRG9uJ3Qgc2V0IGxfcmVscm9fKiBoZXJlLgoJKF9kbF9zdGFydCk6IEFuZCBuZWl0aGVyIGhlcmUuCgkoZGxfbWFpbik6IFNldCBHTChkbF9sb2FkZWQpLT5sX3JlbHJvXyogYW5kCglHTChkbF9ydGxkX21hcCktPmxfcmVscm9fKi4KCjIwMDQtMDEtMjMgIERhdmlkIE1vc2JlcmdlciAgPGRhdmlkbUBocGwuaHAuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmggKHN0cnVjdCBydGxkX2dsb2JhbCk6IEFkZCBtZW1iZXJzCglfZGxfbG9hZF9hZGRzIGFuZCBfZGxfbG9hZF9zdWJzLgoJKiBlbGYvZGwtc3VwcG9ydC5jIChfZGxfbG9hZF9hZGRzKTogTmV3IHZhcmlhYmxlLgoJKF9kbF9sb2FkX3N1YnMpOiBMaWtld2lzZS4KCSogZWxmL2RsLW9iamVjdC5jIChfZGxfbmV3X29iamVjdCk6IEluY3JlbWVudCBkbF9sb2FkX2FkZHMuCgkqIGVsZi9kbC1jbG9zZS5jIChfZGxfY2xvc2UpOiBJbmNyZW1lbnQgZGxfbG9hZF9zdWJzLgoJKiBlbGYvbGluay5oIChzdHJ1Y3QgZGxfcGhkcl9pbmZvKTogQWRkIG1lbWJlcnMgZGxwaV9hZGRzIGFuZAoJZGxwaV9zdWJzLgoJKiBpbmNsdWRlL2xpbmsuaDogTGlrZXdpc2UuCgkqIGVsZi9kbC1pdGVyYXRlcGhkci5jIChfX2RsX2l0ZXJhdGVfcGhkcik6IEluaXRpYWxpemUgZGxwaV9hZGRzCglhbmQgZGxwaV9zdWJzIG1lbWJlcnMuCgkoZGxfaXRlcmF0ZV9waGRyKTogTGlrZXdpc2UuCgkqIGVsZi90c3QtZGxtb2Rjb3VudC5jOiBOZXcgZmlsZS4KCSogZWxmL01ha2VmaWxlIChkaXN0cmlidXRlKTogTWVudGlvbiB0c3QtZGxtb2Rjb3VudC5jLgoJKHRlc3RzKTogSWYgYnVpbGQtc2hhcmVkLCBtZW50aW9uIHRzdC1kbG1vZGNvdW50LgoJKCQob2JqcGZ4KXRzdC1kbG1vZGNvdW50KTogSWYgYnVpbGQtc2hhcmVkLCBidWlsZCBhbmQKCXJ1biB0c3QtZGxtb2Rjb3VudC4KCjIwMDQtMDEtMjIgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogZWxmL2RsLXJlbG9jLmMgKF9kbF9yZWxvY2F0ZV9vYmplY3QpOiBNb3ZlIFBUX0dOVV9SRUxSTyBwcm90ZWN0aW9uCglpbnRvLi4uCgkoX2RsX3Byb3RlY3RfcmVscm8pOiBOZXcgcm91dGluZS4KCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmggKF9kbF9wcm90ZWN0X3JlbHJvKTogTmV3IHByb3RvdHlwZS4KCSogZWxmL3J0bGQuYyAoX2RsX3N0YXJ0X2ZpbmFsKTogQ29weSBsX3JlbHJvX2FkZHIgYW5kIGxfcmVscm9fc2l6ZQoJZnJvbSBib290c3RyYXBfbWFwLgoJKF9kbF9tYWluKTogRG9uJ3Qgc2V0IEdMKF9kbF9sb2FkZWQpLT5sX3JlbHJvX3thZGRyLHNpemV9IGhlcmUuCglDYWxsIF9kbF9wcm90ZWN0X3JlbHJvIGZvciBsaWJyYXJpZXMgaWYgcHJlbGlua2luZy4KCjIwMDQtMDEtMjMgIFJpY2hhcmQgSGVuZGVyc29uICA8cnRoQHJlZGhhdC5jb20+CgoJKiBWZXJzaW9ucy5kZWYgKGxpYm0pOiBSZXBsYWNlIEdMSUJDXzIuMy4zIHdpdGggR0xJQkNfMi4zLjQuCgkqIHN5c2RlcHMvYWxwaGEvZnB1L1ZlcnNpb25zIChsaWJtKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvYWxwaGEvZnB1L2NmbG9hdC1jb21wYXQuaCAoY2Zsb2F0X3ZlcnNpb25zKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvYWxwaGEvZnB1L3NfY2xvZzEwZi5jIChjbG9nMTBmKTogTGlrZXdpc2UuCgoyMDA0LTAxLTIyICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L2VfcG93LmMgKGxvZzIpOiBSZW5hbWUgdG8gbXlfbG9nMiB0bwoJYXZvaWQgd2FybmluZ3MgZm9yIGJ1aWx0aW4gZnVuY3Rpb24gbG9nMi4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zZXRjb250ZXh0LlM6IEFkZCBwcm9wZXIgdW53aW5kCglpbmZvcm1hdGlvbi4KCjIwMDQtMDEtMjAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL2Vwb2xsLmg6IEFkZCBFUE9MTE9ORVNIT1QuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXMvZXBvbGwuaDogTGlrZXdpc2UuCglQYXRjaCBieSBEYXZpZGUgTGliZW56aS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2tlcm5lbC1mZWF0dXJlcy5oOiBEZWZpbmUKCV9fQVNTVU1FX05PX0NMT05FX0RFVEFDSEVEIGZvciAyLjYuMisga2VybmVscy4KCgkqIGNhdGdldHMvTWFrZWZpbGUgKCQob2JqcGZ4KWRlLm1zZyk6IFJ1biBzZWQgaW4gQyBsb2NhbGUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9yZWFkYWhlYWQuYyAoX19yZWFkYWhlYWQpOiBVc2Ugb2ZmNjRfdAoJaW5zdGVhZCBvZiBsb2ZmX3QuICBJbmNsdWRlIDxmY250bC5oPi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvYml0cy9mY250bC5oOiBBZGQgcmVhZGFoZWFkIHByb3RvdHlwZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2JpdHMvZmNudGwuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2NyaXMvYml0cy9mY250bC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS9iaXRzL2ZjbnRsLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2JpdHMvZmNudGwuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy9mY250bC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9iaXRzL2ZjbnRsLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2JpdHMvZmNudGwuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvYml0cy9mY250bC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvYml0cy9mY250bC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvYml0cy9mY250bC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L2JpdHMvZmNudGwuaDogTGlrZXdpc2UuCgoJKiBlbGYvZGwtbG9hZC5jOiBEb24ndCBhZGQgYXR0cmlidXRlX3JlbHJvIHRvIG1heF9kaXJuYW1lbGVuLgoKCSogc3lzZGVwcy9nZW5lcmljL2ludHR5cGVzLmg6IEZpeCBQUkkqRkFTVHsxNiwzMn0gbWFjcm9zLgoKMjAwMy0xMi0zMSAgQnJ1bm8gSGFpYmxlICA8YnJ1bm9AY2xpc3Aub3JnPgoKCSogaWNvbnZkYXRhL2lzb182OTM3LTIuYyAodG9fdWNzNCk6IE1hcCAweDdFIHRvIFUrMDA3RSwgbm90IFUrMjAzRS4KCU1hcCAweEE2IHRvIFUrMDAyMy4gTWFwIDB4QTggdG8gVSswMEE0LgoJKHRvX3VjczRfY29tYik6IE1hcCAweEM1IDB4MjAgdG8gVSswMEFGLgoJKGZyb21fdWNzNCk6IE1hcCBVKzAwRUQgdG8gMHhDMiAweDY5LCBub3QgMHhDMiAweEU5LgoJKEJPRFkgZm9yIFRPX0xPT1ApOiBEb24ndCBtYXAgVSswMkRDLiBNYXAgVSswMkREIHRvIDB4Q0QgMHgyMCwgbm90CgkweDAwIDB4MjAuIERvbid0IG1hcCBVKzI1MDAuLlUrMjVFMy4KCjIwMDQtMDEtMTkgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogcG9zaXgvcmVnZXhlYy5jIChnZXRfc3ViZXhwKTogUmVtb3ZlIGJrcmVmX3N0ciB2YXJpYWJsZS4KCUV4dGVuZCBidWZmZXJzIGlmIG5lZWRlZCBiZWZvcmUgY29tcGFyaXNvbnMuCgkoZ2V0X3N1YmV4cF9zdWIpOiBIYW5kbGUgY2xlYW5fc3RhdGVfbG9nX2lmX25lZWRlZCBmYWlsdXJlLgoKMjAwNC0wMS0xNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2kzODYvaTQ4Ni9iaXRzL2F0b21pYy5oIChhdG9taWNfYWRkKTogRml4IHRlc3QgZm9yIHVzaW5nCglhdG9taWNfZGVjcmVtZW50LiAgUGF0Y2ggYnkgRGF2aW4gTWNDYWxsLgoKMjAwNC0wMS0xMyAgRGFuaWVsIEphY29ib3dpdHogIDxkcm93QG12aXN0YS5jb20+CgoJKiBzeXNkZXBzL3Bvd2VycGMvbm9mcHUvc2ltLWZ1bGwuYyAoX19zaW1fZXhjZXB0aW9ucykKCShfX3NpbV9kaXNhYmxlZF9leGNlcHRpb25zLCBfX3NpbV9yb3VuZF9tb2RlKTogRGVjbGFyZSB3aXRoCgloaWRkZW4gZGF0YSBhbmQgbm9jb21tb24uCgkqIHN5c2RlcHMvcG93ZXJwYy9ub2ZwdS9zb2Z0LXN1cHAuaCAoX19zaW1fZXhjZXB0aW9ucykKCShfX3NpbV9kaXNhYmxlZF9leGNlcHRpb25zLCBfX3NpbV9yb3VuZF9tb2RlKTogVXNlCglsaWJjX2hpZGRlbl9wcm90by4KCSogc3lzZGVwcy9wb3dlcnBjL3NvZnQtZnAvc2ZwLW1hY2hpbmUuaCAoX19zaW1fZXhjZXB0aW9ucykKCShfX3NpbV9kaXNhYmxlZF9leGNlcHRpb25zLCBfX3NpbV9yb3VuZF9tb2RlKTogTGlrZXdpc2UuCgoyMDA0LTAxLTE2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9lbGYuaDogRGVmaW5lIFBUX0lBXzY0X0hQX09QVF9BTk9ULCBQVF9JQV82NF9IUF9IU0xfQU5PVCwgYW5kCglQVF9JQV82NF9IUF9TVEFDSy4KCjIwMDQtMDEtMTYgIFJpY2hhcmQgSGVuZGVyc29uICA8cnRoQHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL3VuaXN0ZC5oIChfX2xpYmNfZW5hYmxlX3NlY3VyZSk6IE1hcmsgYXR0cmlidXRlX3JlbHJvLgoJKF9fbGliY19lbmFibGVfc2VjdXJlX2ludGVybmFsKTogTGlrZXdpc2UuCgoJKiBlbGYvZGwtbG9hZC5jOiBEb24ndCBkZWNsYXJlIF9fbGliY19zdGFja19lbmQuCgkqIHN5c2RlcHMvZ2VuZXJpYy9saWJjLXN0YXJ0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9kbC1leGVjc3RhY2suYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zZWdmYXVsdC5jOiBMaWtld2lzZS4gIEluY2x1ZGUgbGRzb2RlZnMuaC4KCSogc3lzZGVwcy9nZW5lcmljL2JhY2t0cmFjZS5jOiBMaWtld2lzZS4KCjIwMDQtMDEtMTUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogVmVyc2lvbnMuZGVmOiBBZGQgR0xJQkNfMi4zLjQuCgoyMDA0LTAxLTE1ICBSaWNoYXJkIEhlbmRlcnNvbiAgPHJ0aEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L2FscGhhL3N5c2RlcC5oOiBSZXZlcnQgbGFzdCBjaGFuZ2UuCgoyMDA0LTAxLTE1ICBSaWNoYXJkIEhlbmRlcnNvbiAgPHJ0aEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9hbHBoYS9kbC1tYWNoaW5lLmggKFJUTERfU1RBUlQpOiBVc2UgX2RsX2FyZ3ZfaW50ZXJuYWwuCgoJKiBzeXNkZXBzL3VuaXgvYWxwaGEvc3lzZGVwLmggW1BJQ10gKFNZU0NBTExfRVJST1JfSEFORExFUik6IFVzZQoJIXNhbWVncCByZWxvY2F0aW9uLgoKMjAwNC0wMS0xNSAgUmljaGFyZCBIZW5kZXJzb24gIDxydGhAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL01ha2VmaWxlIFtzdGRsaWJdOiBQcm9jZXNzCgl1Y29udGV4dC1vZmZzZXRzLnN5bS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvZ2V0Y29udGV4dC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvbWFrZWNvbnRleHQuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3NldGNvbnRleHQuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3N3YXBjb250ZXh0LlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS91Y29udGV4dC1vZmZzZXRzLnN5bTogTmV3IGZpbGUuCgoyMDA0LTAxLTE1ICBSaWNoYXJkIEhlbmRlcnNvbiAgPHJ0aEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvcnRfc2lnYWN0aW9uLlM6IFByZWZpeCBzdHVicyB3aXRoCglfX3N5c2NhbGxfLCBtb3ZlIG5vcCBpbnNpZGUsIGFkanVzdCB1c2VycyBieSArNC4KCjIwMDQtMDEtMTQgIFN0ZXZlbiBNdW5yb2UgIDxzam11bnJvZUB1cy5pYm0uY29tPgoKCSogaW5jbHVkZS9saWJjLXN5bWJvbHMuaCBbSEFWRV9BU01fR0xPQkFMX0RPVF9OQU1FXQoJKF9zeW1ib2xfdmVyc2lvbik6IFVzZSBDX1NZTUJPTF9ET1RfTkFNRSB0byBjcmVhdGUgJy4nZWQgc3ltYm9scy4KCShfZGVmYXVsdF9zeW1ib2xfdmVyc2lvbik6IFVzZSBDX1NZTUJPTF9ET1RfTkFNRSB0byBjcmVhdGUgJy4nZWQKCXN5bWJvbHMuCgkqIHN5c2RlcHMvcG93ZXJwYy9NYWtlZmlsZTogQWRkIHJ0bGQtZ2xvYmFsLW9mZnNldHMuc3ltIHRvCglnZW4tYXMtY29uc3QtaGVhZGVycy4KCSogc3lzZGVwcy9wb3dlcnBjL2VsZi9ydGxkLWdsb2JhbC1vZmZzZXRzLnN5bTogTmV3IGZpbGUuCgkqIHN5c2RlcHMvcG93ZXJwYy9zeXNkZXAuaDogRGVmaW5lIHYjIHN5bWJvbHMgZm9yIHZlY3RvciByZWdpc3RlcnMuCglEZWZpbmUgUFBDX0ZFQVRVUkVfKiBtYXNrcyBmb3IgQXV4IFZlY3RvciBBVF9IV0NBUC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgva2VybmVsLWZlYXR1cmVzLmgKCShfX0FTU1VNRV9TV0FQQ09OVEVYVF9TWVNDQUxMKTogRGVmaW5lIGZvciBQUEMgYW5kIDIuNi4wIGtlcm5lbHMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvc3lzL3Vjb250ZXh0LmggWyFfX1dPUkRTSVpFID09IDMyXToKCURlY2xhcmUgbWNvbnRleHRfdCBpbmxpbmUgYW5kIGluY2x1ZGUgYWx0aXZlYyBzdGF0ZSBmb3IgNjQtYml0LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGM2NC9WZXJzaW9uczogQWRkIEdMSUJDXzIuMy40Cgl2ZXJzaW9ucyBmb3Igc2V0Y29udGV4dCwgZ2V0Y29udGV4dCwgYW5kIHN3YXBjb250ZXh0LgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjNjQvVmVyc2lvbnM6IEFkZCBHTElCQ18yLjMuNAoJdmVyc2lvbnMgZm9yIHNldGNvbnRleHQsIGdldGNvbnRleHQsIHN3YXBjb250ZXh0LCBhbmQgbWFrZWNvbnRleHQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzY0L2dldGNvbnRleHQuUwoJKF9fZ2V0Y29udGV4dCk6ICBVcGdyYWRlIHRvIHNhdmUgQWx0aXZlYyByZWdzIGFuZCB2ZXJzaW9uIEdMSUJDXzJfM180LgoJW1NITElCX0NPTVBBVCAobGliYywgR0xJQkNfMl8zLCBHTElCQ18yXzNfNCldIChfX25vdmVjX2dldGNvbnRleHQpOgoJQ29tcGF0aWJsZSB3aXRoIEdMSUJDXzIuMy4zIHJlbGVhc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzY0L21ha2Vjb250ZXh0LlMKCShfX21ha2Vjb250ZXh0KTogVXNlIHBhcm0gc2F2ZSBhcmVhIGluc3RlYWQgb2YgY29tcGlsZXJfZHcgdG8gaG9sZAoJY29udGV4dCBwb2ludGVyLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGM2NC9zZXRjb250ZXh0LlMKCShfX3NldGNvbnRleHQpOiAgVXBncmFkZSB0byByZXN0b3JlIEFsdGl2ZWMgcmVncyBhbmQgdmVyc2lvbgoJR0xJQkNfMl8zXzQuCglbU0hMSUJfQ09NUEFUIChsaWJjLCBHTElCQ18yXzMsIEdMSUJDXzJfM180KV0gKF9fbm92ZWNfc2V0Y29udGV4dCk6CglDb21wYXRpYmxlIHdpdGggR0xJQkNfMi4zLjMgcmVsZWFzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjNjQvc3dhcGNvbnRleHQuUwoJKF9fc3dhcGNvbnRleHQpOiBVcGdyYWRlIHRvIHN3YXAgQWx0aXZlYyByZWdzIGFuZCB2ZXJzaW9uIEdMSUJDXzJfM180LgoJW1NITElCX0NPTVBBVCAobGliYywgR0xJQkNfMl8zLCBHTElCQ18yXzNfNCldIChfX25vdmVjX3N3YXBjb250ZXh0KToKCUNvbXBhdGlibGUgd2l0aCBHTElCQ18yLjMuMyByZWxlYXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGM2NC91Y29udGV4dF9pLmgKCShTSUdDT05URVhUX1ZfUkVHU19QVFIsIFNJR0NPTlRFWFRfVl9SRVNFUlZFKTogRGVmaW5lZC4KCjIwMDQtMDEtMTIgIFN0ZXZlbiBNdW5yb2UgIDxzam11bnJvZUB1cy5pYm0uY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjMzIvVmVyc2lvbnM6IEFkZCBHTElCQ18yLjMuNAoJdmVyc2lvbnMgZm9yIHNldGNvbnRleHQsIGdldGNvbnRleHQsIHN3YXBjb250ZXh0LCBhbmQgbWFrZWNvbnRleHQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzMyL2dldGNvbnRleHQuUwoJKF9fZ2V0Y29udGV4dCk6ICBVcGdyYWRlIHRvIHNhdmUgQWx0aXZlYyByZWdzIGFuZCB2ZXJzaW9uIEdMSUJDXzJfM180LgoJW1NITElCX0NPTVBBVCAobGliYywgR0xJQkNfMl8zXzMsIEdMSUJDXzJfM180KV0gKF9fbm92ZWNfZ2V0Y29udGV4dCk6CglDb21wYXRpYmxlIHdpdGggR0xJQkNfMi4zLjMgcmVsZWFzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjMzIvbWFrZWNvbnRleHQuUwoJKF9fbWFrZWNvbnRleHQpOiBVcGdyYWRlIHRvIGFsaWduIGZvciBBbHRpdmVjIHJlZ3MgYW5kIHZlcnNpb24KCUdMSUJDXzJfM180LgoJW1NITElCX0NPTVBBVCAobGliYywgR0xJQkNfMl8zXzMsIEdMSUJDXzJfM180KV0gKF9fbm92ZWNfbWFrZWNvbnRleHQpOgoJQ29tcGF0aWJsZSB3aXRoIEdMSUJDXzIuMy4zIHJlbGVhc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzMyL3NldGNvbnRleHQuUwoJKF9fc2V0Y29udGV4dCk6ICBVcGdyYWRlIHRvIHJlc3RvcmUgQWx0aXZlYyByZWdzIGFuZCB2ZXJzaW9uCglHTElCQ18yXzNfNC4KCVtTSExJQl9DT01QQVQgKGxpYmMsIEdMSUJDXzJfM18zLCBHTElCQ18yXzNfNCldIChfX25vdmVjX3NldGNvbnRleHQpOgoJQ29tcGF0aWJsZSB3aXRoIEdMSUJDXzIuMy4zIHJlbGVhc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzMyL3N3YXBjb250ZXh0LlMKCShfX3N3YXBjb250ZXh0KTogVXBncmFkZSB0byBzd2FwIEFsdGl2ZWMgcmVncyBhbmQgdmVyc2lvbiBHTElCQ18yXzNfNC4KCVtTSExJQl9DT01QQVQgKGxpYmMsIEdMSUJDXzJfM18zLCBHTElCQ18yXzNfNCldCgkoX19ub3ZlY19zd2FwY29udGV4dCk6IENvbXBhdGlibGUgd2l0aCBHTElCQ18yLjMuMyByZWxlYXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGMzMi91Y29udGV4dF9pLmg6CgkoX1VDX1ZTQ1IsIF9VQ19WUlNBVkUpOiBEZWZpbmUuCgkoX0ZSQU1FX0JBQ0tDSEFJTiwgX0ZSQU1FX0xSX1NBVkUsX0ZSQU1FX1BBUk1fU0FWRTEsX0ZSQU1FX1BBUk1fU0FWRTIsCglfRlJBTUVfUEFSTV9TQVZFMywgX0ZSQU1FX1BBUk1fU0FWRTQpOiBEZWZpbmVkLgoKMjAwNC0wMS0xNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvcnRsZC5jOiBIYW5kbGUgcGxhdGZvcm1zIHdpdGggSFBfVElNSU5HX05PTkFWQUlMIGRlZmluZWQuCgoyMDA0LTAxLTE2ICBBbGZyZWQgTS4gU3ptaWR0ICA8YW1zQGtlbWlzdGVuLm51PgoKCSogc3lzZGVwcy9nZW5lcmljL2RsLWV4ZWNzdGFjay5jIChfZGxfbWFrZV9zdGFja19leGVjdXRhYmxlKTogQWRqdXN0CglwYXJhbWV0ZXIgdHlwZS4KCjIwMDQtMDEtMTUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZWxmL2VsZi5oOiBGaXggdHlwbyBpbiBjb21tZW50LgoKCSogc3lzZGVwcy9nZW5lcmljL2RsLXN5c2RlcC5jOiBJbml0aWFsaXplIF9fbGliY19zdGFja19lbmQuCgkqIGVsZi9ydGxkLmM6IEluaXRpYWxpemUgX2RsX2FyZ3YgdG8gYWxsb3cgYWxpYXNpbmcuCgoJKiByZXNvbHYvcmVzb2x2Lmg6IEFkZCBSRVNfVVNFQlNUUklORy4KCSogcmVzb2x2L3Jlc19kZWJ1Zy5jIChwX29wdGlvbik6IEFkZCBoYW5kbGluZyBmb3IgUkVTX1VTRV9JTkVUNiwKCVJFU19ST1RBVEUsIFJFU19OT0NIRUNLTkFNRSwgYW5kIFJFU19VU0VCU1RSSU5HLgoJKiByZXNvbHYvcmVzX2luaXQuYyAocmVzX3NldGlvcHRpb25zKTogUmVjb2duaXplIGlwNi1ieXRlc3RyaW5nLgoJKiByZXNvbHYvbnNzX2Rucy9kbnMtaG9zdC5jIChfbnNzX2Ruc19nZXRob3N0YnlhZGRyX3IpOiBPbmx5IHBlcmZvcm0KCWJ5dGVzdHJpbmcgSVB2NiBsb29rdXAgd2l0aCBSRVNfVVNFQlNUUklORyBvcHRpb24gaXMgc2VsZWN0ZWQuCglPdGhlcndpc2UgdXNlIHRoZSB0d28gbmliYmxlIGZvcm1hdHMuCgoyMDA0LTAxLTE0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5pbjogRGVmaW5lIEhBVkVfWl9SRUxSTyBpZiB0aGUgbGlua2VyIHN1cHBvcnRzIC16IHJlbHJvLgoJKiBjb25maWcuaC5pbjogQWRkIGVudHJ5IGZvciBIQVZFX1pfUkVMUk8uCgkqIGluY2x1ZGUvbGliYy1zeW1ib2xzLmg6IERlZmluZSBhdHRyaWJ1dGVfcmVscm8uCgkqIGVsZi9kbC1sb2FkLmM6IEFkZCBhdHRyaWJ1dGVfcmVscm8gdG8gZW52X3BhdGhfbGlzdCwgY2Fwc3RyLCBuY2Fwc3RyLAoJbWF4X2NhcHN0cmxlbiwgYW5kIG1heF9kaXJuYW1lbGVuIGRlZmluaXRpb25zLgoJKiBlbGYvcnRsZC5jOiBBZGQgYXR0cmlidXRlX3JlbHJvIHRvIF9kbF9hcmdjLCBfZGxfYXJndiwgX2RsX3NraXBfYXJncywKCWxvYWRfdGltZSwgc3RhcnRfdGltZSwgbGlicmFyeV9wYXRoLCBwcmVsb2FkbGlzdCwgdmVyc2lvbl9pbmZvLAoJYW55X2RlYnVnLgoJUmVtb3ZlIHJ0bGRfdG90YWxfdGltZS4gIE1ha2UgaXQgYSBsb2NhbCB2YXJpYWJsZS4gIFBhc3MgcG9pbnRlciB0bwoJaXQgdG8gcHJpbnRfc3RhdGlzdGljcy4gIENoYW5nZSBwcmludF9zdGF0aXN0aWNzIGFjY29yZGluZ2x5LgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtc3lzZGVwLmM6IEFkZCBhdHRyaWJ1dGVfcmVscm8gdG8gX2RsX2F1eHYuICBVc2UKCWF0dHJpYnV0ZV9yZWxybyBpbnN0ZWFkIG9mIGV4cGxpY2l0bHkgYXNzaWduaW5nIHZhcmlhYmxlIHRvIHRoZQoJLmRhdGEucmVsLnJvIHNlY3Rpb24gZm9yIF9fbGliY19lbmFibGVfc2VjdXJlIGFuZCBfX2xpYmNfc3RhY2tfZW5kLgoJKiBzeXNkZXBzL2dlbmVyaWMvbGRzb2RlZnMuaDogRGVjbGFyZSBfX2xpYmNfc3RhY2tfZW5kLCBfZGxfYXJnYywKCV9kbF9hcmd2LCBfZGxfYXJndl9pbnRlcm5hbCB3aXRoIGF0dHJpYnV0ZV9yZWxyby4KCjIwMDQtMDEtMTMgIFNlZ2hlciBCb2Vzc2Vua29vbCAgPGJvZXNzZW5AZGUuaWJtLmNvbT4KCgkqIE1ha2VydWxlcyAoZ2VuLWFzLWNvbnN0KTogRG9uJ3Qgc2lsZW50bHkgY29udGludWUgb24gZmFpbHVyZS4KCjIwMDQtMDEtMTQgIFN0ZXZlbiBNdW5yb2UgIDxzam11bnJvZUB1cy5pYm0uY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL2RsLXN5c2RlcC5jOiBEZWZpbmUgX19saWJjX3N0YWNrX2VuZCB3aXRoCglydGxkX2hpZGRlbl9kYXRhX2RlZi4KCjIwMDQtMDEtMTQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbGliaW8vbGliaW8uaDogQWRkIGNvbnN0IHRvIGZ1bmN0aW9uIHRhYmxlcyB0eXBlcy4KCSogbGliaW8vbGliaW9QLmg6IExpa2V3aXNlLgoJKiBsb2dpbi91dG1wLXByaXZhdGUuaDogTGlrZXdpc2UuCgkqIGxpYmlvL2ZpbGVvcHMuYzogQWRkIGNvbnN0IHRvIGp1bXAgdGFibGUgdmFyaWFibGUgZGVmaW5pdGlvbi4KCSogbGliaW8vZ2Vub3BzLmM6IExpa2V3aXNlLgoJKiBsaWJpby9pb2ZvcG5jb29rLmM6IExpa2V3aXNlLgoJKiBsaWJpby9pb3BvcGVuLmM6IExpa2V3aXNlLgoJKiBsaWJpby9tZW1zdHJlYW0uYzogTGlrZXdpc2UuCgkqIGxpYmlvL29icHJpbnRmLmM6IExpa2V3aXNlLgoJKiBsaWJpby9vbGRmaWxlb3BzLmM6IExpa2V3aXNlLgoJKiBsaWJpby9vbGRpb3BvcGVuLmM6IExpa2V3aXNlLgoJKiBsaWJpby9zdHJvcHMuYzogTGlrZXdpc2UuCgkqIGxpYmlvL3ZzbnByaW50Zi5jOiBMaWtld2lzZS4KCSogbGliaW8vdnN3cHJpbnRmLmM6IExpa2V3aXNlLgoJKiBsaWJpby93ZmlsZW9wcy5jOiBMaWtld2lzZS4KCSogbGliaW8vd3N0cm9wcy5jOiBMaWtld2lzZS4KCSogbG9naW4vZ2V0dXRlbnRfci5jOiBMaWtld2lzZS4KCSogbG9naW4vZ2V0dXRpZF9yLmMgTGlrZXdpc2UuCgkqIGxvZ2luL2dldHV0bGluZV9yLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvdXRtcF9maWxlLmM6IExpa2V3aXNlLgoKMjAwNC0wMS0wOSAgQnJ1bm8gSGFpYmxlICA8YnJ1bm9AY2xpc3Aub3JnPgoKCSogaW50bC9nbW8uaCAoTU9fUkVWSVNJT05fTlVNQkVSX1dJVEhfU1lTREVQX0kpOiBOZXcgZGVmaW5pdGlvbi4KCSogaW50bC9sb2FkbXNnY2F0LmMgKGdldF9zeXNkZXBfc2VnbWVudF92YWx1ZSk6IEhhbmRsZSAiSSIuCgkoX25sX2xvYWRfZG9tYWluKTogVHJlYXQgbWFqb3IgcmV2aXNpb24gMSBsaWtlIG1ham9yIHJldmlzaW9uIDAuCgoyMDA0LTAxLTExICBCcnVubyBIYWlibGUgIDxicnVub0BjbGlzcC5vcmc+CgoJKiBzdGRpby1jb21tb24vdmZwcmludGYuYyAodmZwcmludGYpOiBEaXNhbGxvdyB0aGUgJ0knIGZsYWcgYWZ0ZXIKCXdpZHRoIG9yIHByZWNpc2lvbiBoYXMgYmVlbiBzZWVuLgoKMjAwNC0wMS0wOCAgQnJ1bm8gSGFpYmxlICA8YnJ1bm9AY2xpc3Aub3JnPgoKCSogaW50bC9sb2FkbXNnY2F0LmMgKF9ubF9sb2FkX2RvbWFpbik6IFdoZW4gYSBzdHJpbmcgcGFpciB1c2VzIGEgc3lzdGVtCglkZXBlbmRlbnQgc2VnbWVudCBub3Qga25vd24gdG8gdGhpcyB2ZXJzaW9uIG9mIHRoZSBsaWJyYXJ5LCBpZ25vcmUKCXRoZSBzdHJpbmcgcGFpciBpbnN0ZWFkIG9mIGNyYXNoaW5nLgoKMjAwNC0wMS0xMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuaW46IFJld3JpdGUgdGVzdCB0byBnaXZlIGdjYyB0byBjbGVhbiB1cCBhZnRlciBpdHNlbGYuCglQYXRjaCBieSBHcmVnIFNjaGFmZXIuCgoJKiBwb3NpeC9yZWdleC5jOiBTdXBwb3J0IGNyYXBweSBjb21waWxlcnMgYW5kIHBsYXRmb3JtcyB3aGljaCBoYXZlCglwcm9ibGVtcyB3aXRoIGFsbG9jYS4KCSogcG9zaXgvcmVnZXhfaW50ZXJuYWwuaDogTGlrZXdpc2UuCglQYXRjaCBieSBQYW9sbyBCb256aW5pLgoKMjAwNC0wMS0xMiAgUGFvbG8gQm9uemluaSAgPGJvbnppbmlAZ251Lm9yZz4KCgkqIHBvc2l4L3JlZ2NvbXAuYyBbX0xJQkMgJiYgIVJFX0VOQUJMRV9JMThOXToKCURyb3AgY29kZSB0byBzdXBwb3J0IHRoaXMsIGl0IGlzIG5ldmVyIHRydWUuCgkoYnVpbGRfcmFuZ2VfZXhwKSBbIV9MSUJDXTogRG8gbm90IGNyZWF0ZSBhIHJhbmdlCglpbiBNQkNTRVQgZm9yIGEgc2luZ2xlLWJ5dGUgY2hhcmFjdGVyIHNldC4KCShidWlsZF9yYW5nZV9leHApIFtfTElCQ106IERvIG5vdCBjcmVhdGUgYSByYW5nZQoJaW4gTUJDU0VUIGZvciBhIHNpbmdsZS1ieXRlIGNoYXJhY3RlciBzZXQgd2l0aG91dAoJY29sbGF0aW9uIGVsZW1lbnRzLgoJKGluaXRfZGZhKTogRG8gbm90IGNvbmRpdGlvbmFsaXplIG9uIF9MSUJDLCBpdAoJanVzdCBtYWtlcyB0aGUgY29kZSBsZXNzIGNsZWFyLgoJKHBhcnNlX2JyYWNrZXRfZXhwKTogVXNlIE5PTl9NQVRDSCB2YXJpYWJsZSBpbgoJYWRkaXRpb24gdG8gIm1iY3NldC0+bm9uX21hdGNoIiwgbm90IGFzIGFuCglhbHRlcm5hdGl2ZS4KCShidWlsZF9jaGFyY2xhc3Nfb3ApOiByZW5hbWUgTk9UIHBhcmFtZXRlciB0bwoJTk9OX01BVENILCB1c2UgaXQgaW5zdGVhZCBvZiBkZWNsYXJpbmcgYSB2YXJpYWJsZS4KCShwYXJzZV9icmFja2V0X2V4cCkgWyFfTElCQ106IFBhc3MgTlVMTCBmb3IgTUJDU0VUCglpZiB0aGUgY2hhcmFjdGVyIHNldCBpcyBzaW5nbGUtYnl0ZS4KCjIwMDQtMDEtMTQgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogcG9zaXgvcmVnY29tcC5jIChwZWVrX3Rva2VuX2JyYWNrZXQpOiBDaGVjayByZW1haW5pbmcKCXN0cmluZyBsZW5ndGggYmVmb3JlIHJlX3N0cmluZ19wZWVrX2J5dGUgKHgsIDEpLgoJKHBhcnNlX2JyYWNrZXRfc3ltYm9sKTogTGlrZXdpc2UuCgkqIHBvc2l4L3JlZ2V4X2ludGVybmFsLmggKHJlX3N0cmluZ19pc19zaW5nbGVfYnl0ZV9jaGFyKTogUmV0dXJuCgl0cnVlIGF0IGxhc3QgYnl0ZSBpbiB0aGUgc3RyaW5nLgoJKiBwb3NpeC9idWctcmVnZXgyMi5jIChtYWluKTogQWRkIG5ldyB0ZXN0LgoKMjAwNC0wMS0xMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtc3lzZGVwLmM6IE1vdmUgX19saWJjX2VuYWJsZV9zZWN1cmUgaW50bwoJLmRhdGEucmVsLnJvLgoKCSogc3lzZGVwcy94ODZfNjQvZGwtbWFjaGluZS5oOiBJbmNsdWRlIDx0bHMuaD4uCgoJKiBlbGYvcnRsZC5jIChfZGxfc3RhcnRfZmluYWwpOiBJbml0aWFsemUgX19saWJjX3N0YWNrX2VuZCBoZXJlLgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtc3lzZGVwLmM6IERlZmluZSBfX2xpYmNfc3RhY2tfZW5kIHdpdGgKCXJ0bGRfaGlkZGVuX2RlZiBhbmQgbW92ZSBpbnRvIC5kYXRhLnJlbC5ybyBzZWN0aW9uLgoJKiBzeXNkZXBzL2dlbmVyaWMvbGRzb2RlZnMuaDogRGVjbGFyZSBfX2xpYmNfc3RhY2tfZW5kIHdpdGgKCXJ0bGRfaGlkZGVuX3Byb3RvLgoJKiBzeXNkZXBzL2dlbmVyaWMvbGliYy1zdGFydC5jOiBPbmx5IGluaXRpYWxpemUgX19saWJjX3N0YWNrX2VuZCBoZXJlCglpZiAhU0hBUkVELgoKMjAwNC0wMS0xMyAgUmljaGFyZCBIZW5kZXJzb24gIDxydGhAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3J0X3NpZ2FjdGlvbi5TOiBGaXggdHlwby4KCjIwMDQtMDEtMTMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZGwtZXhlY3N0YWNrLmMKCShfZGxfbWFrZV9zdGFja19leGVjdXRhYmxlKTogTW92ZSBjb21tb24gY29kZSBpbiBmcm9udC4gIFVzZQoJX19idWlsdGluX2V4cGVjdC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2RsLWV4ZWNzdGFjay5jOiBDaGFuZ2UgaW50ZXJmYWNlLiAgQWRkCgljaGFsbGVuZ2UgZm9yIGNhbGxlci4KCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmg6IENoYW5nZSBkZWNsYXJhdGlvbiBhbmQgdHlwZSBvZiBob29rCgltZW1iZXIgaW4gcnRsZF9nbG9iYWwgYXBwcm9wcmlhdGVseS4KCSogZWxmL2RsLXN1cHBvcnQuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1sb2FkLmMgKF9kbF9tYXBfb2JqZWN0X2Zyb21fZmQpOiBUYWtlIGFkZGl0aW9uYWwgcGFyYW10ZXIuCglQYXNzIGl0IG9uIHRvIHRoZSBjaGFuZ2VkIGZ1bmN0aW9uLgoJKF9kbF9tYXBfb2JqZWN0KTogUGFzcyBuZXcgcGFyYW1ldGVyIHRvIF9kbF9tYXBfb2JqZWN0X2Zyb21fZmQuCgoyMDA0LTAxLTEzICBSaWNoYXJkIEhlbmRlcnNvbiAgPHJ0aEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9hbHBoYS9iaXRzL2F0b21pYy5oIChfX2FyY2hfY29tcGFyZV9hbmRfZXhjaGFuZ2VfeHh4XzhfaW50KToKCUNhc3Qgb2xkIHVwIHRvIHVpbnQ2NF90IGJlZm9yZSBiYWNrIGRvd24gdG8gaW5uZXIgd2lkdGguCgkoX19hcmNoX2NvbXBhcmVfYW5kX2V4Y2hhbmdlX3h4eF8xNl9pbnQpOiBMaWtld2lzZS4KCShfX2FyY2hfY29tcGFyZV9hbmRfZXhjaGFuZ2VfeHh4XzMyX2ludCk6IExpa2V3aXNlLgoJKF9fYXJjaF9jb21wYXJlX2FuZF9leGNoYW5nZV94eHhfNjRfaW50KTogTGlrZXdpc2UuCgkoX19hcmNoX2NvbXBhcmVfYW5kX2V4Y2hhbmdlX3ZhbF84X2ludCk6IENhc3QgcmVzdWx0IHRvCgl0aGUgdHlwZSBvZiB0aGUgbWVtb3J5LgoJKF9fYXJjaF9jb21wYXJlX2FuZF9leGNoYW5nZV92YWxfMTZfaW50KTogTGlrZXdpc2UuCgkoX19hcmNoX2NvbXBhcmVfYW5kX2V4Y2hhbmdlX3ZhbF8zMl9pbnQpOiBMaWtld2lzZS4KCShfX2FyY2hfY29tcGFyZV9hbmRfZXhjaGFuZ2VfdmFsXzY0X2ludCk6IExpa2V3aXNlLgoJKGF0b21pY19jb21wYXJlX2FuZF9leGNoYW5nZV9ib29sX2FjcSk6IFVzZSBfX2F0b21pY19ib29sX2J5c2l6ZS4KCShhdG9taWNfY29tcGFyZV9hbmRfZXhjaGFuZ2VfYm9vbF9yZWwpOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvdW5peC9hbHBoYS9zeXNkZXAuaDogU2VsZWN0IGlubGluZV9zeXNjYWxsX3IwX2FzbQoJYmFzZWQgb24gSEFWRV9fX1RIUkVBRCBpbnN0ZWFkIG9mIFVTRV9UTFMuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9hZGp0aW1lLmMgKEFESlRJTUVYMzIpOiBOZXcuCgkoX19hZGp0aW1leF90djY0KTogVXNlIGl0LgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvc2VtY3RsLmMgKF9fbmV3X3NlbWN0bCk6IENhc3QKCXRvIHZvaWQqIHJhdGhlciB0aGFuIGRpcmVjdGx5IHRvIHRoZSBjb21wYXRpYmlsaXR5IHN0cnVjdHVyZSB0eXBlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9zaG1jdGwuYyAoX19uZXdfc2htY3RsKTogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9zaWdhY3Rpb24uYyAoc3RydWN0IGtlcm5lbF9zaWdhY3Rpb24pOgoJRm9yd2FyZCBkZWNsYXJlLgoKMjAwNC0wMS0xMyAgUmljaGFyZCBIZW5kZXJzb24gIDxydGhAcmVkaGF0LmNvbT4KCgkqIFZlcnNpb25zLmRlZiAobGlibSk6IEFkZCBHTElCQ18yLjMuMy4KCSogc3lzZGVwcy9hbHBoYS9mcHUvVmVyc2lvbnM6IEFkZCBfX2MxX2MqZiBhbmQgYypmIHRvIEdMSUJDXzIuMy4zLgoJKiBzeXNkZXBzL2FscGhhL2ZwdS9jYWJzZi5jLCBzeXNkZXBzL2FscGhhL2ZwdS9jYXJnZi5jLAoJc3lzZGVwcy9hbHBoYS9mcHUvY2Zsb2F0LWNvbXBhdC5oLCBzeXNkZXBzL2FscGhhL2ZwdS9jaW1hZ2YuYywKCXN5c2RlcHMvYWxwaGEvZnB1L2NvbmpmLmMsIHN5c2RlcHMvYWxwaGEvZnB1L2NyZWFsZi5jLAoJc3lzZGVwcy9hbHBoYS9mcHUvc19jYWNvc2YuYywgc3lzZGVwcy9hbHBoYS9mcHUvc19jYWNvc2hmLmMsCglzeXNkZXBzL2FscGhhL2ZwdS9zX2Nhc2luZi5jLCBzeXNkZXBzL2FscGhhL2ZwdS9zX2Nhc2luaGYuYywKCXN5c2RlcHMvYWxwaGEvZnB1L3NfY2F0YW5mLmMsIHN5c2RlcHMvYWxwaGEvZnB1L3NfY2F0YW5oZi5jLAoJc3lzZGVwcy9hbHBoYS9mcHUvc19jY29zZi5jLCBzeXNkZXBzL2FscGhhL2ZwdS9zX2Njb3NoZi5jLAoJc3lzZGVwcy9hbHBoYS9mcHUvc19jZXhwZi5jLCBzeXNkZXBzL2FscGhhL2ZwdS9zX2Nsb2cxMGYuYywKCXN5c2RlcHMvYWxwaGEvZnB1L3NfY2xvZ2YuYywgc3lzZGVwcy9hbHBoYS9mcHUvc19jcG93Zi5jLAoJc3lzZGVwcy9hbHBoYS9mcHUvc19jcHJvamYuYywgc3lzZGVwcy9hbHBoYS9mcHUvc19jc2luZi5jLAoJc3lzZGVwcy9hbHBoYS9mcHUvc19jc2luaGYuYywgc3lzZGVwcy9hbHBoYS9mcHUvc19jc3FydGYuYywKCXN5c2RlcHMvYWxwaGEvZnB1L3NfY3RhbmYuYywgc3lzZGVwcy9hbHBoYS9mcHUvc19jdGFuaGYuYzogTmV3IGZpbGVzLgoJKiBzeXNkZXBzL2FscGhhL2ZwdS9iaXRzL21hdGhkZWYuaDogUmVuYW1lIGNvbXBsZXggZmxvYXQKCWZ1bmN0aW9ucyBmb3IgZ2NjIDMuMy4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9zX2NhY29zZi5jLCBzeXNkZXBzL2dlbmVyaWMvc19jYWNvc2hmLmMsCglzeXNkZXBzL2dlbmVyaWMvc19jYXNpbmYuYywgc3lzZGVwcy9nZW5lcmljL3NfY2FzaW5oZi5jLAoJc3lzZGVwcy9nZW5lcmljL3NfY2F0YW5mLmMsIHN5c2RlcHMvZ2VuZXJpYy9zX2NhdGFuaGYuYywKCXN5c2RlcHMvZ2VuZXJpYy9zX2Njb3NmLmMsIHN5c2RlcHMvZ2VuZXJpYy9zX2Njb3NoZi5jLAoJc3lzZGVwcy9nZW5lcmljL3NfY2V4cGYuYywgc3lzZGVwcy9nZW5lcmljL3NfY2xvZzEwZi5jLAoJc3lzZGVwcy9nZW5lcmljL3NfY2xvZ2YuYywgc3lzZGVwcy9nZW5lcmljL3NfY3Bvd2YuYywKCXN5c2RlcHMvZ2VuZXJpYy9zX2Nwcm9qZi5jLCBzeXNkZXBzL2dlbmVyaWMvc19jc2luZi5jLAoJc3lzZGVwcy9nZW5lcmljL3NfY3NpbmhmLmMsIHN5c2RlcHMvZ2VuZXJpYy9zX2NzcXJ0Zi5jLAoJc3lzZGVwcy9nZW5lcmljL3NfY3RhbmYuYywgc3lzZGVwcy9nZW5lcmljL3NfY3RhbmhmLmM6IERvbid0Cgl3ZWFrX2FsaWFzIGlmIHRoZSBmdW5jdGlvbiBuYW1lIGhhcyBiZWVuICNkZWZpbmVkLgoKCSogbWF0aC9jYWJzZi5jOiBNb3ZlIC4uLgoJKiBzeXNkZXBzL2dlbmVyaWMvY2Fic2YuYzogLi4uIGhlcmUuCgkqIG1hdGgvY2FyZ2YuYzogTW92ZSAuLi4KCSogc3lzZGVwcy9nZW5lcmljL2NhcmdmLmM6IC4uLiBoZXJlLgoJKiBtYXRoL2NpbWFnZi5jOiBNb3ZlIC4uLgoJKiBzeXNkZXBzL2dlbmVyaWMvY2ltYWdmLmM6IC4uLiBoZXJlLgoJKiBtYXRoL2NvbmpmLmM6IE1vdmUgLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy9jb25qZi5jOiAuLi4gaGVyZS4KCSogbWF0aC9jcmVhbGYuYzogTW92ZSAuLi4KCSogc3lzZGVwcy9nZW5lcmljL2NyZWFsZi5jOiAuLi4gaGVyZS4KCjIwMDQtMDEtMTMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogTWFrZWNvbmZpZzogRGVmaW5lIHJlbHJvLUxERkxBR1MgaWYgaGF2ZS16LXJlbHJvPT15ZXMuICBBZGQgaXQgdG8KCUxERkxBR1Muc28gYW5kIExERkxBR1MtcnRsZC4KCSgrbGluayk6IEFkZCByZWxyby1MREZMQUdTLgoJKiBNYWtlY29uZmlnIChzaGxpYi5sZHMpOiBQbGFjZSBfX2xpYmNfc3ViZnJlZXJlcywgX19saWJjX2F0ZXhpdCwgYW5kCglfX2xpYmNfdGhyZWFkX3N1YmZyZWVyZXMgc2VjdGlvbnMgYWZ0ZXIgLmpjciBzZWN0aW9uLgoJKiBjb25maWcubWFrZS5pbjogQWRkIGhhdmUtei1yZWxyby4KCSogY29uZmlndXJlLmluOiBBZGQgY2hlY2sgZm9yIC16IHJlbHJvIG9wdGlvbi4KCSogaW5jbHVkZS9saW5rLmggKHN0cnVjdCBsaW5rX21hcCk6IEFkZCByZWxyb19hZGRyIGFuZCByZWxyb19zaXplCgltZW1iZXJzLgoJKiBlbGYvZGwtbG9hZC5jIChfZGxfbWFwX29iamVjdF9mcm9tX2ZkKTogUmVjb2duaXplIFBUX0dOVV9SRUxSTy4KCSogZWxmL2RsLXJlbG9jLmMgKF9kbF9yZWxvY2F0ZV9vYmplY3QpOiBBdCB0aGUgZW5kLCBtYWtlIHJlbHJvCglwYXJ0IG9mIGxvYWRlZCBzZWdtZW50cyByZWFkLW9ubHkuCgkqIGVsZi9lbGYuaDogRGVmaW5lIFBUX0dOVV9SRUxSTy4KCSogZWxmL3J0bGQuYyAoX2RsX3N0YXJ0KTogUmVjb2duaXplIFBUX0dOVV9SRUxSTyBvZiBsZC5zby4KCShkbF9tYWluKTogUmVjb2duaXplIFBUX0dOVV9SRUxSTyBvZiB0aGUgYXBwbGljYXRpb24uICBDYWxsCglfZGxfZGVidWdfaW5pdGlhbGl6ZSBhbmQgaW5pdGlhbGl6ZSBsX2luZm9bRFRfREVCVUddIGJlZm9yZQoJcmVsb2NhdGlvbnMuCgoyMDA0LTAxLTEyICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMveDg2XzY0L3N0cmNzcG4uUzogRml4IHR5cG8gaW4gbGFzdCBwYXRjaC4KCjIwMDQtMDEtMTEgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMveDg2XzY0L19fbG9uZ2ptcC5TOiBBZGQgY2ZpIGRpcmVjdGl2ZXMuCgoyMDA0LTAxLTEwICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvX19zdGFydF9jb250ZXh0LlM6IEFkZCBjZmkgZGlyZWN0aXZlcy4KCSogc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuUyAoX19zeXNjYWxsX2Vycm9yKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC92Zm9yay5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy94ODZfNjQvc3RyY3Nwbi5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy94ODZfNjQvc3Ryc3BuLlM6IExpa2V3aXNlLgoKMjAwNC0wMS0wOCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvY2xvbmUuUyAoX19jbG9uZSk6IEFkZCBjZmlfZW5kcHJvYwoJcmlnaHQgYmVmb3JlIHN5c2NhbGwgYW5kIGNmaV9zdGFydHByb2MgYmVmb3JlIFBTRVVET19FTkQuCglDbGVhciAlcmJwIGluIHRocmVhZF9zdGFydC4KCjIwMDQtMDEtMDUgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogcG9zaXgvcmVnY29tcC5jIChyZWdjb21wKTogRml4IGNvbW1lbnQgdHlwby4KCShyZWdmcmVlKTogRnJlZSBwcmVnLT50cmFuc2xhdGUsIGNsZWFyIGJ1ZmZlciwgYWxsb2NhdGVkLCBmYXN0bWFwCglhbmQgdHJhbnNsYXRlIGZpZWxkcy4KCgkqIHBvc2l4L3JlZ2NvbXAuYyAoYnVpbGRfY2hhcmNsYXNzLCBidWxkX2NoYXJjbGFzc19vcCk6IENoYW5nZSBmaXJzdAoJYXJndW1lbnQgdG8gdW5zaWduZWQgUkVfVFJBTlNMQVRFX1RZUEUuCgkqIHBvc2l4L3JlZ2V4X2ludGVybmFsLmggKHJlX3N0cmluZ190KTogQ2hhbmdlIHRyYW5zIHR5cGUgdG8KCXVuc2lnbmVkIFJFX1RSQU5TTEFURV9UWVBFLgoJKiBwb3NpeC9yZWdleF9pbnRlcm5hbC5jIChyZV9zdHJpbmdfY29uc3RydWN0X2NvbW1vbik6IENhc3QKCXRyYW5zIHRvIHVuc2lnbmVkIFJFX1RSQU5TTEFURV9UWVBFLgoJKHJlX3N0cmluZ19wZWVrX2J5dGVfY2FzZSwgcmVfc3RyaW5nX2ZldGNoX2J5dGVfY2FzZSk6IEF2b2lkIGZhc3QKCXBhdGggaWYgcHN0ci0+dHJhbnMuICBOZXZlciB0cmFuc2xhdGUgdGhlIGNoYXJhY3RlciB0aHJvdWdoCglwc3RyLT50cmFucy4KCSogcG9zaXgvTWFrZWZpbGUgKHRlc3RzKTogQWRkIGJ1Zy1yZWdleDIyLgoJKGJ1Zy1yZWdleDIyLUVOVik6IFNldC4KCSogcG9zaXgvYnVnLXJlZ2V4MjIuYzogTmV3IHRlc3QuCgoyMDA0LTAxLTAyICBQYW9sbyBCb256aW5pICA8Ym9uemluaUBnbnUub3JnPgoKCSogcG9zaXgvcmVnZXhfaW50ZXJuYWwuYyAocmVfbm9kZV9zZXRfYWRkX2ludGVyc2VjdCwKCXJlX25vZGVfc2V0X21lcmdlKTogUmV3cml0dGVuLgoJKHJlX25vZGVfc2V0X2luc2VydCwgcmVfbm9kZV9zZXRfcmVtb3ZlX2F0KToKCUF2b2lkIG1lbW1vdmUsIHdlIGtub3cgd2hhdCBkaXJlY3Rpb24gd2Ugc2hvdWxkIGNvcHkgYW5kIHRoYXQgd2UKCWFyZSBjb3B5aW5nIDMyLWJpdCB3b3Jkcy4KCShyZV9ub2RlX3NldF9jb21wYXJlKTogSXRlcmF0ZSBiYWNrd2FyZHMuCgoyMDAzLTEyLTMwICBQYXVsIEVnZ2VydCAgPGVnZ2VydEB0d2luc3VuLmNvbT4KCgkqIHRpbWUvbWt0aW1lLmMgKHZlcmlmeSk6IE5ldyBtYWNyby4KCSh0aW1lX3RfaXNfaW50ZWdlciwgdHdvc19jb21wbGVtZW50X2FyaXRobWV0aWMsCglyaWdodF9zaGlmdF9wcm9wYWdhdGVzX3NpZ24sIGJhc2VfeWVhcl9pc19hX211bHRpcGxlX29mXzEwMCwKCUM5OV9pbnRlZ2VyX2RpdmlzaW9uKTogRG9jdW1lbnQgdGhlc2UgbG9uZ3N0YW5kaW5nIGFzc3VtcHRpb25zIGluIHRoZQoJY29kZSwgYW5kIHZlcmlmeSB0aGVtIGF0IGNvbXBpbGUtdGltZS4KCjIwMDQtMDEtMDIgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogcG9zaXgvcmVnZXhfaW50ZXJuYWwuaCAocmVfbWF0Y2hfY29udGV4dF90KTogQWRkIGRmYSBtZW1iZXIuCgkqIHBvc2l4L3JlZ2V4ZWMuYyAobWF0Y2hfY3R4X2ZyZWVfc3VidG9wcywgc2VhcmNoX2N1cl9ia3JlZl9lbnRyeSwKCW1hdGNoX2N0eF9hZGRfc3VibGFzdCwgc2lmdF9jdHhfaW5pdCwgYWNxdWlyZV9pbml0X3N0YXRlX2NvbnRleHQsCglwcnVuZV9pbXBvc3NpYmxlX25vZGVzLCBjaGVja19oYWx0X3N0YXRlX2NvbnRleHQsIHByb2NlZWRfbmV4dF9ub2RlLAoJc2lmdF9zdGF0ZXNfYmFja3dhcmQsIHVwZGF0ZV9jdXJfc2lmdGVkX3N0YXRlLCBjaGVja19kc3RfbGltaXRzLAoJY2hlY2tfZHN0X2xpbWl0c19jYWxjX3Bvcywgc2lmdF9zdGF0ZXNfYmtyZWYsIHRyYW5zaXRfc3RhdGUsCgljaGVja19zdWJleHBfbWF0Y2hpbmdfdG9wLCB0cmFuc2l0X3N0YXRlX3NiLCB0cmFuc2l0X3N0YXRlX21iLAoJdHJhbnNpdF9zdGF0ZV9ia3JlZiwgZ2V0X3N1YmV4cCwgZ2V0X3N1YmV4cF9zdWIsIGNoZWNrX2Fycml2YWwsCgljaGVja19hcnJpdmFsX2FkZF9uZXh0X25vZGVzLCBleHBhbmRfYmtyZWZfY2FjaGUsIGNoZWNrX25vZGVfYWNjZXB0KToKCVJlbW92ZSBkZmEgcGFyYW1ldGVyLiAgR2V0IGRmYSBmcm9tIG1jdHguICBBZGp1c3QgY2FsbGVycy4KCShyZV9zZWFyY2hfaW50ZXJuYWwpOiBJbml0aWFsaXplIG1jdHguZGZhLgoKCSogcG9zaXgvcmVnZXhfaW50ZXJuYWwuYyAocmVfbm9kZV9zZXRfaW5zZXJ0KTogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMuCgoJKiBwb3NpeC9yZWdleF9pbnRlcm5hbC5oIChyZV9kZmFfdCk6IEFkZCBzeW50YXggZmllbGQuCgkqIHBvc2l4L3JlZ2NvbXAuYyAocGFyc2UpOiBJbml0aWFsaXplIGRmYS0+c3ludGF4LgoJKiBwb3NpeC9yZWdleGVjLmMgKGFjcXVpcmVfaW5pdF9zdGF0ZV9jb250ZXh0LAoJcHJ1bmVfaW1wb3NzaWJsZV9ub2RlcywgY2hlY2tfbWF0Y2hpbmcsIGNoZWNrX2hhbHRfc3RhdGVfY29udGV4dCwKCXByb2NlZWRfbmV4dF9ub2RlLCBzaWZ0X3N0YXRlc19pdGVyX21iLCBzaWZ0X3N0YXRlc19iYWNrd2FyZCwKCXVwZGF0ZV9jdXJfc2lmdGVkX3N0YXRlLCBzaWZ0X3N0YXRlc19ia3JlZiwgdHJhbnNpdF9zdGF0ZSwKCXRyYW5zaXRfc3RhdGVfc2IsIHRyYW5zaXRfc3RhdGVfbWIsIHRyYW5zaXRfc3RhdGVfYmtyZWYsCglnZXRfc3ViZXhwLCBnZXRfc3ViZXhwX3N1YiwgY2hlY2tfYXJyaXZhbCwgZXhwYW5kX2JrcmVmX2NhY2hlLAoJYnVpbGRfdHJ0YWJsZSk6IFJlbW92ZSBwcmVnIGFyZ3VtZW50LCBhZGQgZGZhIGFyZ3VtZW50IGluc3RlYWQKCWFuZCByZW1vdmUgZGZhID0gcHJlZy0+YnVmZmVyIGluaXRpYWxpemF0aW9uIGluIHRoZSBib2R5LgoJQWRqdXN0IGFsbCBjYWxsZXJzLgoJKGNoZWNrX25vZGVfYWNjZXB0X2J5dGVzLCBncm91cF9ub2Rlc19pbnRvX0RGQXN0YXRlcywKCWNoZWNrX25vZGVfYWNjZXB0KTogTGlrZXdpc2UuICBVc2UgZGZhLT5zeW50YXggaW5zdGVhZCBvZgoJcHJlZy0+c3ludGF4LgoJKGNoZWNrX2Fycml2YWxfYWRkX25leHRfbm9kZXMpOiBSZW1vdmUgcHJlZyBhcmd1bWVudC4KCgkqIHBvc2l4L3JlZ2V4X2ludGVybmFsLmggKHJlX21hdGNoX2NvbnRleHRfdCk6IE1ha2UgaW5wdXQKCXJlX3N0cmluZ190IGluc3RlYWQgb2YgYSBwb2ludGVyIHRvIGl0LgoJKiBwb3NpeC9yZWdleF9pbnRlcm5hbC5jIChyZV9zdHJpbmdfY29uc3RydWN0X2NvbW1vbik6IERvbid0IGNsZWFyCglwc3RyIGhlcmUuLi4KCShyZV9zdHJpbmdfY29uc3RydWN0KTogLi4uIGJ1dCBvbmx5IGhlcmUuCgkqIHBvc2l4L3JlZ2V4ZWMuYyAobWF0Y2hfY3R4X2luaXQpOiBSZW1vdmUgaW5wdXQgYXJndW1lbnQuICBEb24ndAoJaW5pdGlhbGl6ZSBmaWVsZHMgdG8gemVyby4KCShyZV9zZWFyY2hfaW50ZXJuYWwpOiBNb3ZlIGlucHV0IGludG8gbWN0eC5pbnB1dC4KCShhY3F1aXJlX2luaXRfc3RhdGVfY29udGV4dCwgY2hlY2tfbWF0Y2hpbmcsCgljaGVja19oYWx0X3N0YXRlX2NvbnRleHQsIHByb2NlZWRfbmV4dF9ub2RlLAoJY2xlYW5fc3RhdGVfbG9nX2lmX25lZWRlZCwgc2lmdF9zdGF0ZXNfYmtyZWYsIHNpZnRfc3RhdGVzX2l0ZXJfbWIsCgl0cmFuc2l0X3N0YXRlLCB0cmFuc2l0X3N0YXRlX3NiLCB0cmFuc2l0X3N0YXRlX21iLAoJdHJhbnNpdF9zdGF0ZV9ia3JlZiwgZ2V0X3N1YmV4cCwgY2hlY2tfYXJyaXZhbCwKCWNoZWNrX2Fycml2YWxfYWRkX25leHRfbm9kZXMsIGNoZWNrX25vZGVfYWNjZXB0LCBleHRlbmRfYnVmZmVycyk6CglDaGFuZ2UgbWN0eC0+aW5wdXQgaW50byAmbWN0eC0+aW5wdXQgYW5kIG1jdHgtPmlucHV0LT5maWVsZCBpbnRvCgltY3R4LT5pbnB1dC5maWVsZC4KCjIwMDQtMDEtMDIgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoJICAgIFBhb2xvIEJvbnppbmkgIDxib256aW5pQGdudS5vcmc+CgoJKiBwb3NpeC9yZWdleF9pbnRlcm5hbC5oIChyZV9jb25zdF9iaXRzZXRfcHRyX3QpOiBOZXcgdHlwZS4KCShyZV9zdHJpbmdfdCk6IEFkZCBuZXdsaW5lX2FuY2hvciwgd29yZF9jaGFyIGFuZCB3b3JkX29wc191c2VkIGZpZWxkcy4KCShyZV9kZmFfdCk6IENoYW5nZSB3b3JkX2NoYXIgdHlwZSB0byBiaXRzZXQuICBBZGQgd29yZF9vcHNfdXNlZCBmaWVsZC4KCShyZV9zdHJpbmdfY29udGV4dF9hdCwgcmVfc3RyaW5nX3JlY29uc3RydWN0KTogUmVtb3ZlIGxhc3QgYXJndW1lbnQuCgkqIHBvc2l4L3JlZ2V4X2ludGVybmFsLmMgKHJlX3N0cmluZ19hbGxvY2F0ZSk6IEluaXRpYWxpemUKCXBzdHItPndvcmRfY2hhciBhbmQgcHN0ci0+d29yZF9vcHNfdXNlZC4KCShyZV9zdHJpbmdfY29udGV4dF9hdCk6IFJlbW92ZSBuZXdsaW5lX2FuY2hvciBhcmd1bWVudC4KCVVzZSBpbnB1dC0+bmV3bGluZV9hbmNob3IgaW5zdGVhZCwgc3dhcCAmJiBjb25kaXRpb25zLgoJT25seSB1c2UgSVNfV0lERV9XT1JEX0NIQVIgaWYgaW5wdXQtPndvcmRfb3BzX3VzZWQgIT0gMC4KCVVzZSBpbnB1dC0+d29yZF9jaGFyIGJpdG1hcCBpbnN0ZWFkIG9mIElTX1dPUkRfQ0hBUi4KCShyZV9zdHJpbmdfcmVjb25zdHJ1Y3QpOiBMaWtld2lzZS4KCUFkanVzdCByZV9zdHJpbmdfY29udGV4dF9hdCBjYWxsZXIuCgkqIHBvc2l4L3JlZ2V4ZWMuYyAoYWNxdWlyZV9pbml0X3N0YXRlX2NvbnRleHQsCgljaGVja19oYWx0X3N0YXRlX2NvbnRleHQsIHRyYW5zaXRfc3RhdGUsIHRyYW5zaXRfc3RhdGVfc2IsCgl0cmFuc2l0X3N0YXRlX21iLCB0cmFuc2l0X3N0YXRlX2JrcmVmLCBjaGVja19hcnJpdmFsLAoJY2hlY2tfbm9kZV9hY2NlcHQpOiBBZGp1c3QgcmVfc3RyaW5nX2NvbnRleHRfYXQgYW5kCglyZV9zdHJpbmdfcmVjb25zdHJ1Y3QgY2FsbGVycy4KCShyZV9zZWFyY2hfaW50ZXJuYWwpOiBMaWtld2lzZS4gIFNldCBpbnB1dC5uZXdsaW5lX2FuY2hvci4KCShidWlsZF90cnRhYmxlKTogVXNlIGRmYS0+d29yZF9jaGFyIGJpdG1hcCBpbnN0ZWFkIG9mIElTX1dPUkRfQ0hBUi4KCSogcG9zaXgvcmVnY29tcC5jIChpbml0X3dvcmRfY2hhcik6IENoYW5nZSByZXR1cm4gdHlwZSB0byB2b2lkLgoJU2V0IGRmYS0+d29yZF9vcHNfdXNlZC4KCShmcmVlX2RmYV9jb250ZW50KTogRG9uJ3QgZnJlZSBkZmEtPndvcmRfY2hhci4KCShwYXJzZV9leHByZXNzaW9uKTogUmVtb3ZlIGVycm9yIGhhbmRsaW5nIGZvciBpbml0X3dvcmRfY2hhci4KCjIwMDQtMDEtMDEgIFBhb2xvIEJvbnppbmkgIDxib256aW5pQGdudS5vcmc+CgoJKiBwb3NpeC9yZWdleF9pbnRlcm5hbC5oIChyZV9kZmFzdGF0ZV90KTogRml4IHNpemUgb2YgdGhlIENPTlRFWFQKCWJpdGZpZWxkLgoKCSogcG9zaXgvcmVnZXhfaW50ZXJuYWwuYyAocmVfbm9kZV9zZXRfaW5zZXJ0KTogIFJld3JpdGUuCgoyMDA0LTAxLTAxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHBvc2l4L2dldGNvbmYuYzogVXBkYXRlIGNvcHlyaWdodCB5ZWFyLgoJKiBuc3MvZ2V0ZW50LmM6IExpa2V3aXNlLgoJKiBuc2NkL25zY2RfbmlzY2hlY2suYzogTGlrZXdpc2UuCgkqIGljb252L2ljb252Y29uZmlnLmM6IExpa2V3aXNlLgoJKiBpY29udi9pY29udl9wcm9nLmM6IExpa2V3aXNlLgoJKiBlbGYvbGRjb25maWcuYzogTGlrZXdpc2UuCgkqIGNhdGdldHMvZ2VuY2F0LmM6IExpa2V3aXNlLgoJKiBjc3UvdmVyc2lvbi5jOiBMaWtld2lzZS4KCSogZWxmL2xkZC5iYXNoLmluOiBMaWtld2lzZS4KCSogZWxmL3Nwcm9mLmMgKHByaW50X3ZlcnNpb24pOiBMaWtld2lzZS4KCSogbG9jYWxlL3Byb2dyYW1zL2xvY2FsZS5jOiBMaWtld2lzZS4KCSogbG9jYWxlL3Byb2dyYW1zL2xvY2FsZWRlZi5jOiBMaWtld2lzZS4KCSogbnNjZC9uc2NkLmMgKHByaW50X3ZlcnNpb24pOiBMaWtld2lzZS4KCSogZGVidWcveHRyYWNlLnNoOiBMaWtld2lzZS4KCSogbWFsbG9jL21lbXVzYWdlLnNoOiBMaWtld2lzZS4KCSogbWFsbG9jL210cmFjZS5wbDogTGlrZXdpc2UuCgoyMDA0LTAxLTAxICBQZXR0ZXIgUmVpbmhvbGR0c2VuICA8cGVyZUBodW5ncnkuY29tPgoKCSogc3RkbGliL3N0cmZtb24uYzogTWFrZSBmb3JtYXR0aW5nIG9mIGxlZnQtanVzdGlmaWVkIGN1cnJlbmN5Cgl2YWx1ZXMgbWF0Y2ggdGhlIHRoZSBQT1NJWCBzdGFuZGFyZC4gIFdoZW4gdXNpbmcgZm9ybWF0IHN0cmluZwoJIlslLTE0IzUuNG5dIiB0byBwcmludCAtMTIzLjQ1LCB0aGUgcmVzdWx0IHNob3VsZCBiZQoJIlstJCAgIDEyMy40NTAwIF0iLCBub3QgIlstJDEyMy40NTAwICAgIF0iLgoKMjAwNC0wMS0wMSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogcmVzb2x2L01ha2VmaWxlIChnZW5lcmF0ZWQpOiBOZXcuCgoyMDAzLTEyLTMxICBKb3NlcGggUy4gTXllcnMgIDxqc21AcG9seW9taW5vLm9yZy51az4KCgkqIENPTkZPUk1BTkNFOiBVcGRhdGUuCgoyMDAzLTEyLTMwICBQYXVsIEVnZ2VydCAgPGVnZ2VydEB0d2luc3VuLmNvbT4KCgkqIHRpbWUvbWt0aW1lLmM6IChteV9ta3RpbWVfbG9jYWx0aW1lX3IpOgoJUmVtb3ZlLiAgQWxsIHVzZXMgY2hhbmdlZCB0byBfX2xvY2FsdGltZV9yLgoJKF9fbG9jYWx0aW1lX3IpIFshZGVmaW5lZCBfTElCQ106IE5ldyBtYWNyby4gIEluY2x1ZGUgInRpbWVfci5oIiB0bwoJZ2V0IGl0cyBpbXBsZW1lbnRhdGlvbi4KCUZpeCBjb21waWxlLWNvbW1hbmQgdG8gYWxsb3cgZm9yIFRJTUVfUl9QT1NJWC4KCgkqIHRpbWUvc3RyZnRpbWUuYyAobXlfc3RyZnRpbWVfZ210aW1lX3IsIG15X3N0cmZ0aW1lX2xvY2FsdGltZV9yKToKCVJlbW92ZS4gIEFsbCB1c2VzIGNoYW5nZWQgdG8gX19sb2NhbHRpbWVfciBhbmQgX19nbXRpbWVfci4KCShfX2dtdGltZV9yLCBfX2xvY2FsdGltZV9yKSBbIUhBVkVfVE1fR01UT0ZGXTogTmV3IG1hY3Jvcy4KCUluY2x1ZGUgInRpbWVfci5oIiB0byBnZXQgdGhlaXIgaW1wbGVtZW50YXRpb25zLgoKCSogdGltZS90aW1lZ20uYzogQWxsb3cgdXNlIGluIEdOVSBhcHBsaWNhdGlvbnMgb3V0c2lkZSBnbGliYy4KCVtkZWZpbmVkIEhBVkVfQ09ORklHX0hdOiBJbmNsdWRlIDxjb25maWcuaD4uCglbIWRlZmluZWQgX0xJQkNdOiBJbmNsdWRlICJ0aW1lZ20uaCIsIDx0aW1lX3IuaD4uCglEZWZpbmUgX19nbXRpbWVfciwgYW5kIGRlY2xhcmUgX19ta3RpbWVfaW50ZXJuYWwuCgkodGltZWdtKTogRGVmaW5lIHZpYSBhIHByb3RvdHlwZSwgc2luY2Ugd2UgY2FuIHNhZmVseSBhc3N1bWUgQzg5IG5vdy4KCgkqIHRpbWUvbWt0aW1lLmMgKGNoZWNrX3Jlc3VsdCk6IFVzZSBsZXNzLWNvbmZ1c2luZyByZXBvcnQgZm9ybWF0LgoJImxvbmciIC0+ICJsb25nIGludCIsIGFzIHBlciB1c3VhbCBHTlUgc3R5bGUuCgkobWFpbik6IExpa2V3aXNlLgoJRG9uJ3QgbG9vcCBpZiB0aGUgaXRlcmF0aW9uIG92ZXJmbG93cyB0aW1lX3QuCglBbGxvdyBhIG5lZ2F0aXZlIHN0ZXAgaW4gdGhlIGl0ZXJhdGlvbi4KCgkqIHRpbWUvbWt0aW1lLmM6IEFzc3VtZSBmcmVlc3RhbmRpbmcgQzg5IG9yIGJldHRlci4KCShIQVZFX0xJTUlUU19ILCBTVERDX0hFQURFUlMpIFtkZWZpbmVkIF9MSUJDXTogUmVtb3ZlOwoJYXNzdW1lIHRoZXkncmUgMS4KCShfX1ApOiBSZW1vdmU7IG5vdCB1c2VkLgoJKENIQVJfQklULCBJTlRfTUlOLCBJTlRfTUFYKTogUmVtb3ZlOyA8bGltaXRzLmg+IGRlZmluZXMgdGhlbS4KCShta3RpbWUsIG5vdF9lcXVhbF90bSwgcHJpbnRfdG0sIGNoZWNrX3Jlc3VsdCwgbWFpbik6IFVzZSBwcm90b3R5cGVzLgoJUHJvdG90eXBlcyB1c2UgY29uc3QgKiB3aGVyZSBhcHByb3ByaWF0ZS4KCShtYWluKSBbREVCVUddOiBGaXggdHlwbyBpbiB0ZXN0aW5nIGNvZGUgdW5jb3ZlcmVkIGJ5IGFib3ZlIGNoYW5nZXMsCgl3aGljaCBjYXVzZWQgdGhlIHRlc3RpbmcgY29kZSB0byBkdW1wIGNvcmUgb24gc29tZSBob3N0cy4KCjIwMDMtMTItMzEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbG9jYWxlL3NldGxvY2FsZS5jIChzZXRsb2NhbGUpOiBBdm9pZCBkdXBsaWNhdGluZyBsb2NhbGUgbmFtZXMKCWlmIHdlIGNhbiByZXVzZSBvbGQgc3RyaW5ncy4KCgkqIGluZXQvcmNtZC5jOiBQcm92aWRlIGJldHRlciBlcnJvciBtZXNzYWdlIGluIGNhc2Ugb2YgdW5rbm93bgoJaG9zdC4gIFJlbW92ZSBVU0VfSU5fTElCSU8uCgoJKiBuc2NkL25zY2QuaW5pdDogVXBkYXRlZCB2ZXJzaW9uLCBtb3JlIGNvbmZvcm1pbmcgd2l0aCBjdXJyZW50Cglpbml0IGZpbGUgc3RhbmRhcmRzLgoKCSogbnNjZC9uc2NkLWNsaWVudC5oIChfUEFUSF9OU0NEUElEKTogTW92ZSB0aGUgZmlsZSBpbnRvCgkvdmFyL3J1bi9uc2NkIGRpcmVjdG9yeS4KCShfUEFUSF9OU0NEU09DS0VUKTogTGlrZXdpc2UuCgoJKiB0ZXN0LXNrZWxldG9uLmMgKHRpbWVvdXRfaGFuZGxlcik6IEZpeCBlcnJvciBtZXNzYWdlLgoKCSogZWxmL2RsLWRzdC5oIChETF9EU1RfUkVRVUlSRUQpOiBBdm9pZCB0aGUgY29tcGxleCBvcGVyYXRpb25zIGlmCglDTlQgPT0gMC4KCjIwMDMtMTItMzAgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogcG9zaXgvcmVnZXhlYy5jIChnZXRfc3ViZXhwKTogT25seSBzZXQgYmtyZWZfc3RyIGFmdGVyIHRoZSBmaXJzdAoJbG9vcCwgdXNlIGJ1ZiArIGJrcmVmX3N0cl9vZmYgaW4gdGhlIGxvb3AgaW5zdGVhZC4KCSogcG9zaXgvYnVnLXJlZ2V4MTEuYyAodGVzdHMpOiBBZGQgMyBuZXcgdGVzdHMuCgoJKiBwb3NpeC9yZWdleGVjLmMgKGNsZWFuX3N0YXRlX2xvZ19pZl9uZWVkKTogUmVuYW1lIHRvLi4uCgkoY2xlYW5fc3RhdGVfbG9nX2lmX25lZWRlZCk6IC4uLnRoaXMuCgkodHJhbnNpdF9zdGF0ZV9tYiwgZ2V0X3N1YmV4cF9zdWIpOiBBZGp1c3QgY2FsbGVycy4KCgkqIHN1bnJwYy9wbWFwX2NsbnQuYyAocG1hcF9zZXQpOiBEbyBDTE5UX0RFU1RST1kgZXZlbiBpZiBDTE5UX0NBTEwKCWZhaWxlZC4gIFJlcG9ydGVkIGJ5IFN0ZXZlIEdydWJiLgoKMjAwMy0xMi0yOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvZWxmLmg6IEFkZCBhIGZldyBkZWZpbml0aW9ucyBmcm9tIFNvbGFyaXMgOS4KCjIwMDMtMTItMjkgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzdGRpby1jb21tb24vTWFrZWZpbGUgKENGTEFHUy1lcnJsaXN0LmMsIENGTEFHUy1zaWdsaXN0LmMpOiBBZGQKCSQoZm5vX3VuaXRfYXRfYV90aW1lKSB0byBhdm9pZCByZW9yZGVyaW5nIGFzc2VtYmxlciBvdXRwdXQuCgoyMDAzLTEyLTI5ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHBvc2l4L3JlZ2V4ZWMuYyAocmVfY29weV9yZWdzKTogUmV2ZXJ0IGNvbW1lbnQgY2hhbmdlLgoJQXZvaWQgbWVtb3J5IGxlYWsgaWYgcmVhbGxvYyBmYWlscy4KCShwcm9jZWVkX25leHRfbm9kZSk6IFJldHVybiAtMiBpZiByZV9ub2RlX3NldF9pbnNlcnQgZmFpbHMuCglSZXR1cm4gLTIgaWYgcHVzaF9mYWlsX3N0YWNrIGZhaWxzLgoJKHB1c2hfZmFpbF9zdGFjayk6IENoYW5nZSBmcy0+YWxsb2Mgb25seSBhZnRlciBzdWNjZXNzZnVsIHJlYWxsb2MuCgkocG9wX2ZhaWxfc3RhY2spOiBGb3JtYXR0aW5nLgoJKHNldF9yZWdzKTogSWYgcHJvY2VlZF9uZXh0X25vZGUgcmV0dXJucyAtMiwgZnJlZSBlcHNfdmlhX25vZGVzIGFuZCBmcy4KCShjaGVja19hcnJpdmFsX2FkZF9uZXh0X25vZGVzKTogTWVyZ2UgaWRlbnRpY2FsIHN0YXRlbWVudHMKCWZyb20gaWYgYnJhbmNoZXMuCgoJKiBzaWduYWwvTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC1yYWlzZS4KCSogc2lnbmFsL3RzdC1yYWlzZS5jOiBOZXcgdGVzdC4KCjIwMDMtMTItMjggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvcmVnY29tcC5jIChtYXJrX29wdF9zdWJleHBfaXRlcik6IERlY2xhcmUgSURYIGFzIGludC4KCgkqIHBvc2l4L3JlZ2V4ZWMuYyAocmVfY29weV9yZWdzKTogRml4IHRlc3RpbmcgZm9yIGZhaWxlZCBhbGxvY2F0aW9uLgoJKHB1c2hfZmFpbF9zdGFjayk6IEFkZCBtaXNzaW5nIGNoZWNrIGZvciBmYWlsZWQgbWVtb3J5IGFsbG9jYXRpb24uCgoJKiBsaWJpby9saWJpby5oOiBVc2UgX19idWlsdGluX2V4cGVjdCBpbiBfSU9fZ2V0Y191bmxvY2tlZCwKCV9JT19wZWVrY191bmxvY2tlZCwgX0lPX3B1dGNfdW5sb2NrZWQsIF9JT19nZXR3Y191bmxvY2tlZCwgYW5kCglfSU9fcHV0d2NfdW5sb2NrZWQuCgoyMDAzLTEyLTI4ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L2VfajAuYyAoX19pZWVlNzU0X3kwKTogUmFpc2Ugb25seQoJb3ZlcmZsb3cgZm9yIDAgYXMgYXJndW1lbnQuIFJhaXNlIEludmFsaWQgZXhjZXB0aW9uIGZvciBuZWdhdGl2ZSBhcmdzLgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L2Vfam4uYyAoX19pZWVlNzU0X3luKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvZV9qMS5jIChfX2llZWU3NTRfeTApOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pZWVlNzU0L2xkYi0xMjgvZV9qbmwuYyAoX19pZWVlNzU0X3lubCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2llZWU3NTQvbGRiLTEyOC9lX2owbC5jIChfX2llZWU3NTRfeTBsKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaWVlZTc1NC9sZGItMTI4L2VfajFsLmMgKF9faWVlZTc1NF95MWwpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pZWVlNzU0L2xkYi05Ni9lX2pubC5jIChfX2llZWU3NTRfeW5sKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaWVlZTc1NC9sZGItOTYvZV9qMGwuYyAoX19pZWVlNzU0X3kwbCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2llZWU3NTQvbGRiLTk2L2VfajFsLmMgKF9faWVlZTc1NF95MWwpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pZWVlNzU0L2ZsdC0zMi9lX2puZi5jIChfX2llZWU3NTRfeW5mKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaWVlZTc1NC9mbHQtMzIvZV9qMGYuYyAoX19pZWVlNzU0X3kwZik6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2llZWU3NTQvZmx0LTMyL2VfajFmLmMgKF9faWVlZTc1NF95MWYpOiBMaWtld2lzZS4KCgkqIG1hdGgvbGlibS10ZXN0LmluYyAoeW5fdGVzdCk6IEV4cGVjdCBpbnZhbGlkIGV4Y2VwdGlvbiBmb3IKCW5lZ2F0aXZlIGFyZ3VtZW50cy4KCSh5MF90ZXN0KTogTGlrZXdpc2UuCgkoeTFfdGVzdCk6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC9lX2V4cC5jIChfX2llZWU3NTRfZXhwKTogRG8gbm90IHJhaXNlCglleGVjcHRpb25zIGZvciBleHAoTmFOKS4KCjIwMDMtMTItMjMgIFBhb2xvIEJvbnppbmkgIDxib256aW5pQGdudS5vcmc+CgoJKiBwb3NpeC9yZWdleF9pbnRlcm5hbC5jIChyZV9kZmFfYWRkX25vZGUpOiBJbml0aWFsaXplIG9wdF9zdWJleHAuCgkqIHBvc2l4L3JlZ2V4X2ludGVybmFsLmggKHJlX3Rva2VuX3R5cGVfdCk6IFB1dCBPUF9EVVBfUExVUwoJYW1vbmcgdGhlIHRva2VucywgcmF0aGVyIHRoYW4gYW1vbmcgdGhlIGVwc2lsb24tdHJhbnNpdGluZyBub2Rlcy4KCShyZV90b2tlbl90KTogQWRkIHRoZSBvcHRfc3ViZXhwIGZsYWcuCgkqIHBvc2l4L3JlZ2NvbXAuYyAob3B0aW1pemVfdXRmOCwgY2FsY19maXJzdCwKCWNhbGNfbmV4dCwgY2FsY19lcHNkZXN0KTogRG9uJ3QgY29uc2lkZXIgT1BfRFVQX1BMVVMuCgkobWFya19vcHRfc3ViZXhwLCBtYXJrX29wdF9zdWJleHBfaXRlcik6IE5ldyBmdW5jdGlvbnMuCgkocGFyc2VfZHVwX29wKTogTW9zdGx5IHJld3JpdHRlbiwgbG93ZXJpbmcgT1BfRFVQX1BMVVMgdG8KCU9QX0RVUF9BU1RFUklTSyBhbmQgbWFya2luZyBvcHRpb25hbCBzdWJleHByZXNzaW9ucwoJYXMgc3VjaCB1c2luZyBtYXJrX29wdF9zdWJleHAuCgkqIHBvc2l4L3JlZ2V4ZWMuYyAoc2V0X3JlZ3MpOiBJbml0aWFsaXplIFBSRVZfSU5ERVhfTUFUQ0gKCWFuZCBwYXNzIGl0IHRvIHVwZGF0ZV9yZWdzLgoJKHVwZGF0ZV9yZWdzKTogVXNlIHRoZSBQUkVWX0lOREVYX01BVENIIHBhcmFtZXRlciwgdG9nZXRoZXIKCXdpdGggdGhlIG9wdF9zdWJleHAgZmxhZywgaW4gb3JkZXIgdG8gZGlzY2FyZCBhIGZpbmFsIGVtcHR5CgltYXRjaCBvZiBhIHJlcGVhdGVkIHN1YmV4cHJlc3Npb24uCgkqIHBvc2l4L0JPT1NULnRlc3RzOiBBZGp1c3QgdGVzdCB2ZWN0b3JzLgoJKiBwb3NpeC9QQ1JFLnRlc3RzOiBMaWtld2lzZS4KCSogcG9zaXgvcnhzcGVuY2VyL3Rlc3RzOiBMaWtld2lzZS4KCjIwMDAtMDUtMjIgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9pMzg2L2ZwdS9iaXRzL21hdGhpbmxpbmUuaCAoX19leHBtMV9jb2RlKTogQXZvaWQgdXNpbmcgPzoKCXdpdGggb21pdHRlZCBtaWRkbGUgb3BlcmFuZC4KCjIwMDMtMTItMjIgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogcG9zaXgvcmVnY29tcC5jOiBSZW1vdmUgQzk5LWlzbS4KCSogcG9zaXgvdHN0LXJ4c3BlbmNlci5jOiBMaWtld2lzZS4KCUJhc2VkIG9uIGEgcGF0Y2ggYnkgQWxleCBEYXZpcyA8YWxleDE0NjQxQHlhaG9vLmNvbT4uCgoyMDAzLTEyLTE3ICBQYW9sbyBCb256aW5pICA8Ym9uemluaUBnbnUub3JnPgoKCSogcG9zaXgvcmVnZXhfaW50ZXJuYWwuaCBbIV9MSUJDXSAoaW50ZXJuYWxfZnVuY3Rpb24pOiBEZWZpbmUuCgkocmVfc3RyaW5nX2FsbG9jYXRlLCByZV9zdHJpbmdfY29uc3RydWN0LCByZV9zdHJpbmdfcmVjb25zdHJ1Y3QsCglyZV9zdHJpbmdfcmVhbGxvY19idWZmZXJzLCBidWlsZF93Y3NfYnVmZmVyLAoJYnVpbGRfd2NzX3VwcGVyX2J1ZmZlciwgYnVpbGRfdXBwZXJfYnVmZmVyLAoJcmVfc3RyaW5nX3RyYW5zbGF0ZV9idWZmZXIsIHJlX3N0cmluZ19kZXN0cnVjdCwKCXJlX3N0cmluZ19lbGVtX3NpemVfYXQsIHJlX3N0cmluZ19jaGFyX3NpemVfYXQsCglyZV9zdHJpbmdfd2NoYXJfYXQsIHJlX3N0cmluZ19jb250ZXh0X2F0LAoJcmVfbm9kZV9zZXRfYWxsb2MsIHJlX25vZGVfc2V0X2luaXRfMQoJcmVfbm9kZV9zZXRfaW5pdF8yLCByZV9ub2RlX3NldF9pbml0X2NvcHksCglyZV9ub2RlX3NldF9hZGRfaW50ZXJzZWN0LCByZV9ub2RlX3NldF9pbml0X3VuaW9uLAoJcmVfbm9kZV9zZXRfbWVyZ2UsIHJlX25vZGVfc2V0X2luc2VydAoJcmVfbm9kZV9zZXRfY29tcGFyZSwgcmVfbm9kZV9zZXRfY29udGFpbnMKCXJlX25vZGVfc2V0X3JlbW92ZV9hdCwgcmVfZGZhX2FkZF9ub2RlLAoJcmVfYWNxdWlyZV9zdGF0ZSwgcmVfYWNxdWlyZV9zdGF0ZV9jb250ZXh0LAoJZnJlZV9zdGF0ZSk6IEFkZCBpbnRlcm5hbF9mdW5jdGlvbiB0byBkZWNsYXJhdGlvbi4KCgkqIHBvc2l4L3JlZ2V4ZWMuYyAobWF0Y2hfY3R4X2luaXQsIG1hdGNoX2N0eF9jbGVhbiwKCW1hdGNoX2N0eF9mcmVlLCBtYXRjaF9jdHhfZnJlZV9zdWJ0b3BzLAoJbWF0Y2hfY3R4X2FkZF9lbnRyeSwgc2VhcmNoX2N1cl9ia3JlZl9lbnRyeSwKCW1hdGNoX2N0eF9jbGVhcl9mbGFnLCBtYXRjaF9jdHhfYWRkX3N1YnRvcCwKCW1hdGNoX2N0eF9hZGRfc3VibGFzdCwgc2lmdF9jdHhfaW5pdCwKCXJlX3NlYXJjaF9pbnRlcm5hbCwgcmVfc2VhcmNoXzJfc3R1YiwgcmVfc2VhcmNoX3N0dWIsCglyZV9jb3B5X3JlZ3MsIGFjcXVpcmVfaW5pdF9zdGF0ZV9jb250ZXh0LAoJcHJ1bmVfaW1wb3NzaWJsZV9ub2RlcywgY2hlY2tfbWF0Y2hpbmcsCgljaGVja19oYWx0X25vZGVfY29udGV4dCwgY2hlY2tfaGFsdF9zdGF0ZV9jb250ZXh0Cgl1cGRhdGVfcmVncywgcHJvY2VlZF9uZXh0X25vZGUsIHB1c2hfZmFpbF9zdGFjaywKCXBvcF9mYWlsX3N0YWNrLCBzZXRfcmVncywgZnJlZV9mYWlsX3N0YWNrX3JldHVybiwKCXNpZnRfc3RhdGVzX2l0ZXJfbWIsIHNpZnRfc3RhdGVzX2JhY2t3YXJkCgl1cGRhdGVfY3VyX3NpZnRlZF9zdGF0ZSwgYWRkX2Vwc2lsb25fc3JjX25vZGVzLAoJc3ViX2Vwc2lsb25fc3JjX25vZGVzLCBjaGVja19kc3RfbGltaXRzLAoJY2hlY2tfZHN0X2xpbWl0c19jYWxjX3BvcywgY2hlY2tfc3ViZXhwX2xpbWl0cywKCXNpZnRfc3RhdGVzX2JrcmVmLCBjbGVhbl9zdGF0ZV9sb2dfaWZfbmVlZCwKCW1lcmdlX3N0YXRlX2FycmF5LCB0cmFuc2l0X3N0YXRlLAoJY2hlY2tfc3ViZXhwX21hdGNoaW5nX3RvcCwgdHJhbnNpdF9zdGF0ZV9zYiwKCXRyYW5zaXRfc3RhdGVfbWIsIHRyYW5zaXRfc3RhdGVfYmtyZWYsCglnZXRfc3ViZXhwLCBnZXRfc3ViZXhwX3N1YiwgZmluZF9zdWJleHBfbm9kZSwKCWNoZWNrX2Fycml2YWwsIGNoZWNrX2Fycml2YWxfYWRkX25leHRfbm9kZXMsCglmaW5kX2NvbGxhdGlvbl9zZXF1ZW5jZV92YWx1ZSwgY2hlY2tfYXJyaXZhbF9leHBhbmRfZWNsLAoJY2hlY2tfYXJyaXZhbF9leHBhbmRfZWNsX3N1YiwgZXhwYW5kX2JrcmVmX2NhY2hlLAoJYnVpbGRfdHJ0YWJsZSwgY2hlY2tfbm9kZV9hY2NlcHRfYnl0ZXMsIGV4dGVuZF9idWZmZXJzLAoJZ3JvdXBfbm9kZXNfaW50b19ERkFzdGF0ZXMsIGNoZWNrX25vZGVfYWNjZXB0KTogTGlrZXdpc2UuCgoJKiBwb3NpeC9yZWdleF9pbnRlcm5hbC5jIChyZV9zdHJpbmdfY29uc3RydWN0X2NvbW1vbiwKCXJlX3N0cmluZ19za2lwX2NoYXJzLCBjcmVhdGVfbmV3c3RhdGVfY29tbW9uLAoJcmVnaXN0ZXJfc3RhdGUsIGNyZWF0ZV9jaV9uZXdzdGF0ZSwgY3JlYXRlX2NkX25ld3N0YXRlLAoJY2FsY19zdGF0ZV9oYXNoKTogTGlrZXdpc2UuCgkocmVfc3RyaW5nX3BlZWtfYnl0ZV9jYXNlLCByZV9mZXRjaF9ieXRlX2Nhc2UpOiBDaGFuZ2UKCWRlY2xhcmF0aW9uIGZyb20gQU5TSSB0byBLJlIuCgoyMDAzLTEyLTE2ICBQYW9sbyBCb256aW5pICA8Ym9uemluaUBnbnUub3JnPgoKCSogcG9zaXgvcmVnZXhlYy5jIChidWlsZF90cnRhYmxlKTogRG9uJ3QgYWxsb2NhdGUgdGhlIHRydGFibGUKCXVudGlsIHN0YXRlLT53b3JkX3RydGFibGUgaXMga25vd24uICBEb24ndCBoYXJkY29kZSBVSU5UX0JJVFMKCWl0ZXJhdGlvbnMgb24gZWFjaCBiaXRzZXQgaXRlbS4KCjIwMDMtMTItMjIgIE1hY2llaiBXLiBSb3p5Y2tpICA8bWFjcm9AZHMyLnBnLmdkYS5wbD4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvZGwtc3RhdGljLmMgKF9kbF9zdGF0aWNfaW5pdCk6CglJbml0aWFsaXplIFJFRiBiZWZvcmUgcGFzc2luZyBpdCB0byBfZGxfbG9va3VwX3N5bWJvbC4KCjIwMDMtMTItMjEgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGZyb2IuY29tPgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvZGwtc3lzZGVwLmMgKF9leGl0KTogRGVmaW5lIHdpdGggYXR0cmlidXRlX2hpZGRlbi4KCjIwMDMtMTItMjEgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogcG9zaXgvcmVnY29tcC5jIChkdXBsaWNhdGVfbm9kZSwgZHVwbGljYXRlX25vZGVfY2xvc3VyZSk6IFJldmVydAoJMjAwMy0xMS0yNCBjaGFuZ2VzLgoJKiBwb3NpeC9yZWdleGVjLmMgKGdyb3VwX25vZGVzX2ludG9fREZBc3RhdGVzKTogRm9yIENIQVJBQ1RFUiB3aXRoCglORVhUX3ssTk9UfVdPUkRfQ09OU1RSQUlOVCBjaGVjayB3b3JkX2NoYXIgYml0LgoJKiBwb3NpeC9idWctcmVnZXgxOS5jICh0ZXN0cyk6IEFkZCBuZXcgdGVzdHMuCgoJKiBwb3NpeC9yZWdleGVjLmMgKGNoZWNrX2RzdF9saW1pdHNfY2FsY19wb3MpOiBGaXggZm9ybWF0dGluZy4KCgkqIHBvc2l4L3JlZ2NvbXAuYyAocGFyc2VfZHVwX29wKTogUmV0dXJuIE5VTEwgaWYgZHVwX2VsZW0gaXMgTlVMTCwKCWFmdGVyIGNoZWNraW5nIHN5bnRheC4gIE9wdGltaXplLgoJKGNhbGNfZmlyc3QpOiBGaXggY29tbWVudC4KCSogcG9zaXgvYnVnLXJlZ2V4MTMuYyAodGVzdHMpOiBBZGQgbmV3IHRlc3RzLgoKMjAwMy0xMi0yMSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIG1hbnVhbC9hcml0aC50ZXhpIChQYXJzaW5nIG9mIEludGVnZXJzKTogVHlwbyBmaXguCgoyMDAzLTEyLTIwICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEBmcm9iLmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9pZnJlcS5jIChfX2lmcmVxKSBbX0hBVkVfU0FfTEVOXTogRml4IHR5cG86CglhZGQgbWlzc2luZyBkZXJlZmVyZW5jZSBvZiBJRlJFUVMgYmVmb3JlIGNvdW50aW5nIGxvb3AuCgoyMDAzLTEyLTIxICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogc3lzZGVwcy9tNjhrL202ODAyMC9iaXRzL2F0b21pYy5oOiBBdm9pZCBtYXRjaGluZyBtZW1vcnkKCWNvbnN0cmFpbnRzLgoKMjAwMy0xMi0yMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvcnRsZC5jIChkbF9tYWluKTogT3B0aW1pemUgb3JkZXIgb2Ygc3ViZXhwcmVzc2lvbnMgaW4gaWYoKS4KCjIwMDMtMTItMTggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3RkaW8tY29tbW9uL3ByaW50Zl9mcC5jOiBBZGQgc3VwcG9ydCB0byB1c2UgYWx0ZXJuYXRpdmUgZGVjaW1hbAoJZGlnaXRzLgoJKiBzdGRpby1jb21tb24vdmZwcmludGYuYyAodmZwcmludGYpOiBQYXNzIHVzZV9vdXRkaWdpdHMgZmxhZ3MgdG8KCV9fcHJpbnRmX2ZwLiAgUGF0Y2ggYnkgSGFtZWQgTWFsZWsgPGhhbWVkQGJhbWRhZC5vcmc+LgoKMjAwMy0xMi0xOCAgQ2FybG9zIE8nRG9uZWxsICA8Y2FybG9zQGJhbGRyaWMudXdvLmNhPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS9jbG9uZS5TIChfX2Nsb25lKSBbUElDXTogU2F2ZSBQSUMsCglyZWxvYWQgUElDIGlmIHdlIG5lZWQgdG8gY2FsbCBfX3N5c2NhbGxfZXJyb3IsIGNsZWFudXAgYXNtLgoKMjAwMy0xMi0xNyAgQ2FybG9zIE8nRG9uZWxsICA8Y2FybG9zQGJhbGRyaWMudXdvLmNhPgoKCSogc3lzZGVwcy9ocHBhL2ZwdS9mY2xyZXhjcHQuYyAoZmVjbGVhcmV4Y2VwdCk6IFJpZ2h0IHNoaWZ0CglGRV9BTExfRVhDRVBUIGJlZm9yZSBjb21wbGltZW50aW5nLgoJKiBzeXNkZXBzL2hwcGEvZnB1L2ZlZ2V0ZW52LmMgKGZlZ2V0ZW52KTogVXNlIGFzbSAnbWEsJyBjb21wbGV0ZXIsCglhbmQgZ2NjICcrcicgY29uc3RyYWludC4KCSogc3lzZGVwcy9ocHBhL2ZwdS9mZWhvbGRleGNwdC5jIChmZWhvbGRleGNlcHQpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9ocHBhL2ZwdS9mZXNldGVudi5jIChmZXNldGVudik6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2hwcGEvZnB1L2ZldXBkYXRlZW52LmMgKGZldXBkYXRlZW52KTogUmVhZCByYWlzZWQKCWV4Y2VwdGlvbiBiaXRzLCBPUiB3aXRoIGVudnAsIHBhc3MgdG8gZmVzZXRlbnYuCgkqIHN5c2RlcHMvaHBwYS9mcHUvZnJhaXNlZXhjcHQuYyAoZmVyYWlzZWV4Y2VwdCk6IEFkZCBkZWxheWVkCglleGNlcHRpb24gZmx1c2hpbmcsIEZFX1VOREVSRkxPVyBpcyBEQkxfTUlOLzMuMCwgRkVfSU5FWEFDVCBpcwoJdHJpZ2dlcmVkIGJ5IE1fUEkvNjkuNjkgY29udmVydGVkIHRvIHNpbmdsZSBwcmVjaXNpb24uCgkqIHN5c2RlcHMvaHBwYS9mcHUvZnNldGV4Y3B0ZmxnLmMgKGZlc2V0ZXhjZXB0ZmxhZyk6IFNldCBlbmFibGUKCWJpdHMgbm90IHJhaXNlZCBleGNlcHRpb24gYml0cy4KCgkqIHN5c2RlcHMvaHBwYS9NYWtlZmlsZTogQWRkIGRsLXN5bWFkZHIgYW5kIGRsLWZwdHIgdG8gdGhlCgljb3JyZWN0IGJ1aWxkIHN0cmluZ3MuCgkqIHN5c2RlcHMvaHBwYS9kbC1mcHRyLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2hwcGEvZGwtZnB0ci5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL2hwcGEvZGwtc3ltYWRkci5jIChfZGxfc3ltYm9sX2FkZHJlc3MpOiBVc2UgX2RsX21ha2VfZnRwciwKCXJlbW92ZSBjb25zdCBxdWFsaWZpZXIgZm9yIG1hcC4KCShfZGxfZnVuY3Rpb25fYWRkcmVzcyk6IFJlbW92ZWQuCgkqIHN5c2RlcHMvaHBwYS9kbC1sb29rdXBjZmcuaDogRExfTE9PS1VQX0FERFJFU1MgbXVzdCBjbGVhcgoJUExBQkVMMzIgYml0cywgZGVmaW5lIERMX0FVVE9fRlVOQ1RJT05fQUREUkVTUyBhbmQKCURMX1NUQVRJQ19GVU5DVElPTl9BRERSRVNTLCBETF9EVF9JTklUX0FERFJFU1MgYW5kCglETF9EVF9GSU5JX0FERFJFU1MgdXNlIHRoZSBwcmV2aW91cyB0d28gbWFjcm9zLgoKMjAwMy0xMi0xNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBtYWxsb2MvbXRyYWNlLmMgKHRyX29sZF9tZW1hbGlnbl9ob29rKTogTmV3IHZhcmlhYmxlLgoJKHRyX21lbWFsaWduaG9vayk6IE5ldyBmdW5jdGlvbi4KCShtdHJhY2UpOiBSZWdpc3RlciB0cl9tZW1hbGlnbmhvb2suCgkobXVudHJhY2UpOiBEZXJlZ2lzdGVyIHRyX21lbWFsaWduaG9vay4KCSogbWFsbG9jL21hbGxvYy5jIChfX3Bvc2l4X21lbWFsaWduKTogSWYgX19tZW1hbGlnbl9ob29rICE9IE5VTEwsCgljYWxsIGl0IGRpcmVjdGx5IGluc3RlYWQgb2YgbWVtYWxpZ25faW50ZXJuYWwuCgoyMDAzLTEyLTE3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1pc2MvbW50ZW50X3IuYzogQ2hhbmdlIGVuY29kaW5nIHRvIG1hdGNoIHJlY2VudGx5IGNoYW5nZWQgZGVjb2Rlci4KCVBhdGNoIGJ5IEFsZXhhbmRlciBBY2hlbmJhY2ggPHhlbGFAc2xpdC5kZT4uCgoyMDAzLTEyLTE2ICBTdGV2ZW4gTXVucm9lICA8c2ptdW5yb2VAdXMuaWJtLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvc3lzL3Vjb250ZXh0Lmg6IENvcnJlY3QgZGVmaW5pdGlvbiBvZgoJdnJyZWdzZXRfdC4KCjIwMDMtMTItMTYgIFN0ZXZlbiBNdW5yb2UgIDxzam11bnJvZUB1cy5pYm0uY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9zeXMvcHJvY2ZzLmggWyFfX1BQQzY0X0VMRl9IXTogRXh0ZW5kCgljb25kaXRpb25hbCB0byBpbmNsdWRlIHR5cGVkZWYgZWxmX3ZycmVnX3QuCgoyMDAzLTEyLTE3ICBQYW9sbyBCb256aW5pICA8Ym9uemluaUBnbnUub3JnPgoKCSogcG9zaXgvcmVnZXhlYy5jIChyZV9zZWFyY2hfaW50ZXJuYWwpOiBMaW1pdCBzZWFyY2ggdG8gdGhlCgliZWdpbm5pbmcgb2YgdGhlIGJ1ZmZlciBpZiB0aGUgaW5pdGlhbCBzdGF0ZXMgYXJlIGVtcHR5IGZvcgoJY29udGV4dHMgdGhhdCBkbyBub3QgaW5jbHVkZSBDT05URVhUX0JFR0JVRiBvciwgaWYKCSFwcmVnLT5uZXdsaW5lX2FuY2hvciwgdGhhdCBkbyBub3QgaW5jbHVkZSBhbnkgb25lIG9mCglDT05URVhUX0JFR0JVRiBhbmQgQ09OVEVYVF9ORVdMSU5FLgoKMjAwMy0xMi0xNyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9nZW5lcmljL3N5c3RlbS5jIChfX2xpYmNfc3lzdGVtKTogRml4IHR5cG8sIHJlcG9ydGVkIGJ5CglLZXZpbiBQZWRyZXR0aSA8cGVkcmV0dGlAaWVlZS5vcmc+LgoKMjAwMy0xMi0xNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvcnRsZC5jOiBEb24ndCB1c2Ugc3Ryb25nX2FsaWFzIHRvIGRlZmluZSBfcnRsZF9sb2NhbC4gIFRoaXMKCXJlbW92ZXMgdGhlIHZpc2liaWxpdHkgYXR0cmlidXRlcyB3aGljaCBtaWdodCBiZSBkZWZpbmVkIGVhcmxpZXIKCWZvciBzb21lIGdjYyB2ZXJzaW9ucy4gIEluc3RlYWQgc3BlbGwgb3V0IHdoYXQgc3Ryb25nX2FsaWFzIGRvZXMKCXBsdXMgdGhlIHZpc2liaWxpdHkuCgoyMDAzLTEyLTE2ICBQZXR0ZXIgUmVpbmhvbGR0c2VuICA8cGVyZUBodW5ncnkuY29tPgoKCSogcG9zaXgvcmVnZXhfaW50ZXJuYWwuaDogTWFrZSBzdXJlIHRoZSByZWdleCBjb2RlIGNvbXBpbGUKCXdpdGggbm9uLUdDQyBjb21waWxlcnMgYnkgaGlkaW5nIGF0dHJpYnV0ZXMuCgoyMDAzLTEyLTE2ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCSAgICBQYW9sbyBCb256aW5pICA8Ym9uemluaUBnbnUub3JnPgoKCSogcG9zaXgvcmVnZXhlYy5jIChncm91cF9ub2Rlc19pbnRvX0RGQXN0YXRlcyk6IE5ldmVyIHByb2R1Y2UKCWRlc3RzX2NoIGl0ZW1zIHRoYXQgYXJlIGVtcHR5LgoKMjAwMy0xMi0xNCAgUGFvbG8gQm9uemluaSAgPGJvbnppbmlAZ251Lm9yZz4KCgkqIHBvc2l4L3JlZ2V4ZWMuYyAoY2hlY2tfYXJyaXZhbCk6IFJlbW92ZSBkdXBsaWNhdGUgdGVzdC4KCjIwMDMtMTItMTUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvcmVnY29tcC5jOiBNYWtlICFSRV9FTkFCTEVfSTE4TiB3b3JrIGFnYWluLgoJKiBwb3NpeC9yZWdleF9pbnRlcm5hbC5jOiBMaWtld2lzZS4KCSogcG9zaXgvcmVnZXhlYy5jOiBMaWtld2lzZS4KCVBhdGNoIGJ5IFBhb2xvIEJvbnppbmkuCgoyMDAzLTEyLTE0ICBQYW9sbyBCb256aW5pICA8Ym9uemluaUBnbnUub3JnPgoKCSogcG9zaXgvcmVnZXhfaW50ZXJuYWwuYyAocmVfYWNxdWlyZV9zdGF0ZV9jb250ZXh0KToKCUNvbXBhcmUgdGhlIG5vZGUgc2V0cyBhZnRlciBhbGwgdGhlIG90aGVyIGNvbXBhcmlzb25zLgoKMjAwMy0xMi0xMyAgUGFvbG8gQm9uemluaSAgPGJvbnppbmlAZ251Lm9yZz4KCgkqIHBvc2l4L3JlZ2V4ZWMuYyAoZmluZF9zdWJleHBfbm9kZSwgY2hlY2tfYXJyaXZhbCwKCWNoZWNrX2Fycml2YWxfYWRkX25leHRfbm9kZXMsIGNoZWNrX2Fycml2YWxfZXhwYW5kX2VjbCwKCWNoZWNrX2Fycml2YWxfZXhwYW5kX2VjbF9zdWIsIGV4cGFuZF9ia3JlZl9jYWNoZSk6CglSZW5hbWUgdGhlIEZMX09QRU4gcGFyYW1ldGVyIHRvIFRZUEUsIHdoaWNoIGlzIGVpdGhlcgoJT1BfT1BFTl9TVUJFWFAgb3IgT1BfQ0xPU0VfU1VCRVhQLiAgQ2FsbGVycyBhZGp1c3RlZC4KCjIwMDMtMTItMTIgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNjYWxsLlM6IFBhc3MgYWxzbyA2dGggYXJndW1lbnQKCXRvIHN5c2NhbGwuCgoyMDAzLTEyLTExICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2tlcm5lbC1mZWF0dXJlcy5oOiBSZW1vdmUgX19BU1NVTUVfVlNZU0NBTEwuCglUaGVyZSBtaWdodCBhbHdheXMgYmUgcHJvY2Vzc2VzIHdoaWNoIGhhdmUgbm8gdkRTTy4KCSogc3lzZGVwcy9nZW5lcmljL2RsLXN5c2RlcC5jOiBSZW1vdmUgX19BU1NVTUVfVlNZU0NBTEwgdXNlcy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zaWdhY3Rpb24uYzogTGlrZXdpc2UuCgoyMDAzLTEyLTExICBDYXJsb3MgTydEb25lbGwgIDxjYXJsb3NAYmFsZHJpYy51d28uY2E+CgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtZnB0ci5jIChDT01QQVJFX0FORF9TV0FQKTogUGFzcyBuZXcgYW5kIG9sZAoJaW4gdGhlIHJpZ2h0IG9yZGVyLgoKMjAwMy0xMi0wMSAgSmVzIFNvcmVuc2VuICA8amVzQHdpbGRvcGVuc291cmNlLmNvbT4KCgkqIHJ0L3RzdC1jbG9jay5jIChkb190ZXN0KTogUHJpbnQgbWVzc2FnZSB3aGVuIHNraXBwaW5nCglDTE9DS19QUk9DRVNTX0NQVVRJTUVfSUQgdGVzdC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvY2xvY2tfZ2V0Y3B1Y2xvY2tpZC5jOiBOZXcgZmlsZS4KCVByb3ZpZGUgQ0xPQ0tfUFJPQ0VTU19DUFVUSU1FX0lEIG9ubHkgaWYgL3Byb2Mvc2FsL2l0Y19kcmlmdCBpcyAwLgoKMjAwMy0xMi0wMiAgRGF2aWQgTW9zYmVyZ2VyICA8ZGF2aWRtQGhwbC5ocC5jb20+CgoJKiBzeXNkZXBzL2lhNjQvZWxmL2luaXRmaW5pLmM6IEFkZCB1bndpbmQgaW5mby4KCgkqIHN5c2RlcHMvaWE2NC9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX21hdGNoZXNfaG9zdCk6IE1hcmsgd2l0aAoJYXR0cmlidXRlICJ1bnVzZWQiLgoJKGVsZl9tYWNoaW5lX2R5bmFtaWMpOiBNYXJrIHdpdGggYXR0cmlidXRlcyAidW51c2VkIiBhbmQgImNvbnN0Ii4KCShlbGZfbWFjaGluZV9ydW50aW1lX3NldHVwKTogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtZnB0ci5jIChtYWtlX2ZwdHJfdGFibGUpOiBNYXJrIHdpdGgKCWF0dHJpYnV0ZSAiYWx3YXlzX2lubGluZSIuCgkqIHN5c2RlcHMvaWE2NC9kbC1tYWNoaW5lLmggKF9faWE2NF9pbml0X2Jvb3RzdHJhcF9mZGVzY190YWJsZSk6CglMaWtld2lzZS4KCgkqIGNvbmZpZ3VyZS5pbjogQ2hlY2sgd2hldGhlciBjb21waWxlciBoYXMgbGlidW53aW5kIHN1cHBvcnQuCgkqIGNvbmZpZy5tYWtlLmluIChoYXZlLWNjLXdpdGgtbGlidW53aW5kKTogTmV3IHZhcmlhYmxlLgoJKiBjb25maWcuaC5pbiAoSEFWRV9DQ19XSVRIX0xJQlVOV0lORCk6IE5ldyBtYWNyby4KCSogTWFrZWNvbmZpZyAoZ251bGliKTogSWYgaGF2ZS1jYy13aXRoLWxpYnVud2luZCBpcyAieWVzIiwgYWxzbwoJbWVudGlvbiAtbHVud2luZC4KCjIwMDMtMTEtMTIgIERhdmlkIE1vc2JlcmdlciAgPGRhdmlkbUBocGwuaHAuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zeXNkZXAuaDogRGVmaW5lIERPX0NBTExfVklBX0JSRUFLLgoJUmVkZWZpbmUgRE9fQ0FMTCB0byB1c2UgdmRzbyBpZiBzdXBwb3J0ZWQsIG90aGVyd2lzZSBET19DQUxMX1ZJQV9CUkVBSy4KCUxpa2V3aXNlIGZvciBET19JTkxJTkVfU1lTQ0FMTC4gIE1ha2UgSU5URVJOQUxfU1lTQ0FMTCB1c2UKCURPX0lOTElORV9TWVNDQUxMLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC92Zm9yay5TOiBVc2UgRE9fQ0FMTF9WSUFfQlJFQUsoKQoJaW5zdGVhZCBvZiBET19DQUxMKCkuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2Nsb25lMi5TOiBVc2UgYnJlYWsgZGlyZWN0bHkgaW5zdGVhZAoJb2YgRE9fQ0FMTCgpLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9icmsuUyAoX19jdXJicmspOiBSZXN0cnVjdHVyZSBpdAoJdG8gdGFrZSBhZHZhbnRhZ2Ugb2YgRE9fQ0FMTCgpIG1hY3JvLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3NldGNvbnRleHQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvZ2V0Y29udGV4dC5TOiBMaWtld2lzZS4KCgkqIGVsZi9ydGxkLmMgKGRsX21haW4pOiBSZXN0cmljdCBkbF9zeXNpbmZvX2RzbyBjaGVjayB0byBmaXJzdAoJcHJvZ3JhbSBoZWFkZXIuICBPbiBpYTY0LCB0aGUgY2hlY2sgZmFpbGVkIHByZXZpb3VzbHkgYmVjYXVzZQoJdGhlcmUgYXJlIHR3byBwcm9ncmFtIGhlYWRlcnMuCgoyMDAzLTEyLTEwICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgkgICAgUnVlZGlnZXIgT2VydGVsICA8cm9Ac3VzZS5kZT4KCgkqIHN5c2RlcHMvYWxwaGEvZnB1L2Vfc3FydC5jOiBNYXJrIHNxcnRfZGF0YSBhcyB1c2VkLgoKMjAwMy0xMi0wNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2kzODYvZnB1L3NfbmV4dHRvd2FyZGYuYzogQ29uc3RydWN0IG92ZXJmbG93IHZhbHVlIGNvcnJlY3RseS4KCSogc3lzZGVwcy9pMzg2L2ZwdS9zX25leHR0b3dhcmQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTEyOC9zX25leHR0b3dhcmQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTk2L3NfbmV4dHRvd2FyZC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL3NfbmV4dHRvd2FyZGYuYzogTGlrZXdpc2UuCgkqIG1hdGgvTWFrZWZpbGUgKHRlc3RzKTogQWRkIGJ1Zy1uZXh0dG93YXJkLgoJKiBtYXRoL2J1Zy1uZXh0dG93YXJkLmM6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy9nZW5lcmljL3NfbmV4dGFmdGVyLmM6IE1ha2Ugc3VyZSBvdmVyZmxvdyBleGNlcHRpb24gaXMgc2V0LgoJKiBzeXNkZXBzL2llZWU3NTQvZmx0LTMyL3NfbmV4dGFmdGVyZi5jOiBMaWtld2lzZS4KCSogbWF0aC9idWctbmV4dGFmdGVyLmMgKG1haW4pOiBBZGQgdGVzdHMgZm9yIG92ZXJmbG93IGFuZCBuZWdhdGl2ZQoJdmFsdWVzLgoKMjAwMy0xMi0wNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBtYXRoL01ha2VmaWxlICh0ZXN0cyk6IEFkZCBidWctbmV4dGFmdGVyLgoJKiBtYXRoL2J1Zy1uZXh0YWZ0ZXIuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zX25leHRhZnRlci5jOiBDb25zdHJ1Y3Qgb3ZlcmZsb3cgdmFsdWUgY29ycmVjdGx5LgoJKiBzeXNkZXBzL2llZWU3NTQvZmx0LTMyL3NfbmV4dGFmdGVyZi5jOiBMaWtld2lzZS4KCSogbWF0aC9saWJtLXRlc3QuaW5jIChuZXh0YWZ0ZXJfdGVzdCk6IEFkZCB0ZXN0IGZvciBvdmVyZmxvdyBhZnRlcgoJKy8tRkxUX01BWCBldGMuCgoyMDAzLTEyLTA0ICBTdGV2ZW4gTXVucm9lICA8c2ptdW5yb2VAdXMuaWJtLmNvbT4KCgkqIHN5c2RlcHMvcG93ZXJwYy9mcHUvZmdldGV4Y3B0ZmxnLmMgKF9fZmVnZXRleGNlcHRmbGFnKTogQWRkIG1hc2tpbmcKCW9mIGZlbnYuCgkqIHN5c2RlcHMvcG93ZXJwYy9ub2ZwdS9mZ2V0ZXhjcHRmbGcuYyAoX19mZWdldGV4Y2VwdGZsYWcpOiBMaWtld2lzZS4KCjIwMDMtMTItMDUgIE1hcnRpbiBTY2h3aWRlZnNreSAgPHNjaHdpZGVmc2t5QGRlLmlibS5jb20+CgoJKiBzeXNkZXBzL3MzOTAvczM5MC0zMi9lbGYvc2V0am1wLlMgKHNldGptcCwgX19zZXRqbXApOiBBZGQgRU5ECglzdGF0ZW1lbnRzLgoJKiBzeXNkZXBzL3MzOTAvczM5MC02NC9lbGYvc2V0am1wLlMgKHNldGptcCwgX19zZXRqbXApOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zMzkwL3MzOTAtMzIvc3lzZGVwLmggKEVOVFJZKTogQWRkIGNmaV9zdGFydHByb2MgZGlyZWN0aXZlLgoJKEVORCk6IEFkZCBjZmlfZW5kcHJvYyBkaXJlY3RpdmUuCgkqIHN5c2RlcHMvczM5MC9zMzkwLTY0L3N5c2RlcC5oIChFTlRSWSwgRU5EKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC0zMi9zb2NrZXQuUyAoX19zb2NrZXQpOiBSZW1vdmUKCWNmaV9zdGFydHByb2MgYW5kIGNmaV9lbmRwcm9jIGRpcmVjdGl2ZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L3NvY2tldC5TIChfX3NvY2tldCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3MzOTAvczM5MC0zMi9hZGRtdWxfMS5TIChfX21wbl9hZGRtdWxfMSk6IEFkZCBDRkkgZGlyZWN0aXZlcy4KCSogc3lzZGVwcy9zMzkwL3MzOTAtMzIvYWRkX24uUyAoX19tcG5fYWRkX24pOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zMzkwL3MzOTAtNjQvYWRkX24uUyAoX19tcG5fYWRkX24pOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zMzkwL3MzOTAtMzIvZGwtbWFjaGluZS5oIChFTEZfTUFDSElORV9SVU5USU1FX1RSQU1QT0xJTkUpOgoJTGlrZXdpc2UuCgkqIHN5c2RlcHMvczM5MC9zMzkwLTY0L2RsLW1hY2hpbmUuaCAoRUxGX01BQ0hJTkVfUlVOVElNRV9UUkFNUE9MSU5FKToKCUxpa2V3aXNlLgoJKiBzeXNkZXBzL3MzOTAvczM5MC0zMi9tdWxfMS5TIChfX21wbl9tdWxfMSk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3MzOTAvczM5MC0zMi9zdWJfbi5TIChfX21wbl9zdWJfbik6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3MzOTAvczM5MC02NC9zdWJfbi5TIChfX21wbl9zdWJfbik6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtMzIvbW1hcDY0LlMgKF9fbW1hcDY0KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC0zMi9tbWFwLlMgKF9fbW1hcCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvbW1hcC5TIChfX21tYXApOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL3N5c2NhbGwuUyAoc3lzY2FsbCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvc3lzY2FsbC5TIChzeXNjYWxsKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC0zMi9zeXNkZXAuUyAoX19zeXNjYWxsX2Vycm9yKToKCUxpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvc3lzZGVwLlMgKF9fc3lzY2FsbF9lcnJvcik6CglMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL2Nsb25lLlMgKF9fY2xvbmUpOiBBZGQgQ0ZJCglkaXJlY3RpdmVzLiBNb3ZlIHRocmVhZF9zdGFydCBvdXQgb2YgRU5UUlkvUFNFVURPX0VORCBibG9jayB0bwoJbWFrZSBiYWNrY2hhaW4gdGVybWluYXRlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvY2xvbmUuUyAoX19jbG9uZSk6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9zMzkwL3MzOTAtMzIvYmFja3RyYWNlLmMgKHRyYWNlX2FyZyk6IE5ldyBzdHJ1Y3R1cmUuCgkodW53aW5kX2JhY2t0cmFjZSwgdW53aW5kX2dldGlwKTogTmV3IHZhcmlhYmxlcy4KCShpbml0LCBfX2JhY2tjaGFpbl9iYWNrdHJhY2UsIGJhY2t0cmFjZV9oZWxwZXIpOiBOZXcgZnVuY3Rpb25zLgoJKF9fYmFja3RyYWNlKTogVXNlIHVud2luZCBpbmZvIGZvciBiYWNrdHJhY2UgaW5zdGVhZCBvZiBiYWNrY2hhaW4KCXdhbGtpbmcgaWYgdGhlIHVud2luZCBmdW5jdGlvbnMgY2FuIGJlIGZvdW5kLgoJKiBzeXNkZXBzL3MzOTAvczM5MC02NC9iYWNrdHJhY2UuYzogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtMzIvcG9zaXhfZmFkdmlzZTY0LmM6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zeXMvcHJvY2ZzLmggKEVMRl9OR1JFRzMyKTogTmV3ICNkZWZpbmUuCgkoZWxmX2dyZWdfdDMyLCBlbGZfZ3JlZ3NldF90MzIsIGVsZl9mcHJlZ3NldF90MzIpOiBOZXcgdHlwZXMuCgkoZWxmX3Byc3RhdHVzMzIsIGVsZl9wcnBzaW5mbzMyKTogTmV3IHN0cnVjdHVyZXMuCgkocHJncmVnc2V0MzJfdCwgcHJmcHJlZ3NldDMyX3QsIHByc3RhdHVzMzJfdCwgcHJwc2luZm8zMl90KTogTmV3IHR5cGVzLgoKCSogc2NyaXB0cy9kYXRhL2MrKy10eXBlcy1zMzkwLWxpbnV4LWdudS5kYXRhOiBOZXcgZmlsZS4KCSogc2NyaXB0cy9kYXRhL2MrKy10eXBlcy1zMzkweC1saW51eC1nbnUuZGF0YTogTmV3IGZpbGUuCgoyMDAzLTExLTMwICBQZXR0ZXIgUmVpbmhvbGR0c2VuICA8cGVyZUBodW5ncnkuY29tPgoKCSogc3RkbGliL3N0cmZtb24uYzogQ29ycmVjdCBmb3JtYXR0aW5nIG9mIGludGVybmF0aW9uYWwgY3VycmVuY3kKCXZhbHVlcy4gIFRoZSBpbnRlcm5hdGlvbmFsIGN1cnJlbmN5IGZvcm1hdHRpbmcgc2hvdWxkIHByZWZlciB0aGUKCWludF8qIHZhbHVlcyBpZiB0aGV5IGFyZSBzZXQgZm9yIGEgbG9jYWxlLCBhbmQgdXNlIHRoZSBkb21lc3RpYwoJdmFsdWVzIGlmIHRoZSBpbnRfKiB2YWx1ZXMgYXJlIHVuc2V0LgoKMjAwMy0xMi0wMyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCBCT09TVC50ZXN0cy4KCSh0ZXN0cyk6IEFkZCB0c3QtYm9vc3QsIGRlcGVuZCBvbiB0c3QtYm9vc3QtbWVtLgoJKGdlbmVyYXRlZCk6IEFkZCB0c3QtYm9vc3QtbWVtIGFuZCB0c3QtYm9vc3QubXRyYWNlLgoJKHRzdC1ib29zdC1BUkdTLCB0c3QtYm9vc3QtRU5WKTogU2V0LgoJKCQob2JqcGZ4KXRzdC1ib29zdC1tZW0pOiBOZXcuCgkqIHBvc2l4L3RzdC1ib29zdC5jOiBOZXcgdGVzdC4KCSogcG9zaXgvQk9PU1QudGVzdHM6IE5ldyBmaWxlLgoKCSogcG9zaXgvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgUENSRS50ZXN0cy4KCSh0ZXN0cyk6IEFkZCB0c3QtcGNyZSwgZGVwZW5kIG9uIHRzdC1wY3JlLW1lbS4KCShnZW5lcmF0ZWQpOiBBZGQgdHN0LXBjcmUtbWVtIGFuZCB0c3QtcGNyZS5tdHJhY2UuCgkodHN0LXBjcmUtQVJHUywgdHN0LXBjcmUtRU5WKTogU2V0LgoJKCQob2JqcGZ4KXRzdC1wY3JlLW1lbSk6IE5ldy4KCSogcG9zaXgvdHN0LXBjcmUuYzogTmV3IHRlc3QuCgkqIHBvc2l4L1BDUkUudGVzdHM6IE5ldyBmaWxlLgoKMjAwMy0xMi0wMiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBpbnRsL2xvY2FsZS5hbGlhczogVXNlIG5iX05PIGluc3RlYWQgb2Ygbm9fTk8gZm9yIGJva20ubC4KCgkqIHN5c2RlcHMvcG93ZXJwYy9mcHUvbGlibS10ZXN0LXVscHM6IFJlZ2VuZXJhdGVkLgoJKiBzeXNkZXBzL3MzOTAvZnB1L2xpYm0tdGVzdC11bHBzOiBSZWdlbmVyYXRlZC4KCjIwMDMtMTItMDMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbG9jYWxlL3Byb2dyYW1zL2xvY2FyY2hpdmUuYyAoZW5sYXJnZV9hcmNoaXZlKTogUHJpbnQgc2l6ZSBpbmZvCglvbmx5IGluIHZlcmJvc2UgbW9kZS4KCgkqIGxvY2FsZS9pc28tMzE2Ni5kZWY6IFRocmVlIGxldHRlciBjb2RlIG9mIFJvbWFuaWEgY2hhbmdlZC4KCjIwMDMtMTItMDIgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBzY3JpcHRzL2NvbmZpZy5zdWI6IFVwZGF0ZSBmcm9tIG1hc3RlciwgdGltZXN0YW1wPScyMDAzLTEwLTIwJy4KCSogc2NyaXB0cy9jb25maWcuZ3Vlc3M6IFVwZGF0ZSBmcm9tIG1hc3RlciwgdGltZXN0YW1wPScyMDAzLTEwLTIwJy4KCjIwMDMtMTEtMzAgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGNvbmZpZy5tYWtlLmluIChmbm8tdW5pdC1hdC1hLXRpbWUpOiBEZWZpbmUuCgoJKiBjb25maWd1cmUuaW46IEFkZCB0ZXN0IGZvciAtZm5vLXVuaXQtYXQtYS10aW1lLgoJRml4IHRleHQgZm9yIC1mcGllLgoKCSogY3N1L01ha2VmaWxlIChDRkxBR1MtaW5pdGZpbmkucyk6IEFkZCAkKGZub191bml0X2F0X2FfdGltZSkuCgkqIGxvY2FsZS9NYWtlZmlsZSAoQ0ZMQUdTLWxvYWRsb2NhbGUuYyk6IExpa2V3aXNlLgoKMjAwMy0xMi0wMSAgQXV0b21hdGljCgoJKiB2ZXJzaW9uLmggKFZFUlNJT04pOiBCdW1wIHRvIDIuMy4zLgoKMjAwMy0xMS0zMCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3RkaW8tY29tbW9uL3ZmcHJpbnRmLmM6IERvIG5vdCBpbmxpbmUgYnVmZmVyZWRfdmZwcmludGYgdG8KCWRlY3JlYXNlIHN0YWNrIHVzYWdlLgoKMjAwMy0xMS0zMCAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L202OGsvc3lzZGVwLmggKFBTRVVET19FUlJWQUwpCgkoUFNFVURPX0VORF9FUlJWQUwsIHJldF9FUlJWQUwpOiBEZWZpbmUuCgoyMDAzLTExLTI5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1pc2MvbW50ZW50X3IuYyAoZGVjb2RlX25hbWUpOiBCZSBjb21wYXRpYmxlIHdpdGggdXRpbC1saW51eCBhbmQKCXJlY29nbml6ZSBcMTM0IGFzIHdlbGwuCgoyMDAzLTEwLTA5ICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CgoJKiBzeXNkZXBzL2lhNjQvZnB1L2ZyYWlzZWV4Y3B0LmM6IERvbid0IGluY2x1ZGUgPGFzbS9mcHUuaD4uCgoyMDAzLTEwLTA4ICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvc2lnY29udGV4dC5oOiBEb24ndCBpbmNsdWRlCgk8YXNtL2ZwdS5oPi4KCShzdHJ1Y3QgaWE2NF9mcHJlZyk6IE5ldyBkZWZpbml0aW9uLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zeXMvcHJvY2ZzLmg6IERvbid0IGluY2x1ZGUKCTxhc20vZWxmLmg+LgoJKEVMRl9OR1JFRyk6IE5ldyAjZGVmaW5lLgoJKEVMRl9ORlBSRUcpOiBMaWtld2lzZS4KCShlbGZfZ3JlZ190KTogTmV3IHR5cGUuCgkoZWxmX2dyZWdzZXRfdCk6IExpa2V3aXNlLgoJKGVsZl9mcHJlZ190KTogTGlrZXdpc2UuCgkoZWxmX2ZwcmVnc2V0X3QpOiBMaWtld2lzZS4KCjIwMDMtMTAtMDggIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc3lzL3B0cmFjZS5oOiBJbmNsdWRlCgk8c3lzL3Vjb250ZXh0Lmg+LgoJKF9fcHRyYWNlX3JlcXVlc3QpOiBBZGQgUFRSQUNFX0dFVFJFR1MgYW5kIFBUUkFDRV9TRVRSRUdTLgoJKHB0X2FsbF91c2VyX3JlZ3MpOiBOZXcgdHlwZS4KCjIwMDMtMTAtMTAgIFNpbW9uIEpvc2Vmc3NvbiAgPGphc0BleHR1bmRvLmNvbT4KCgkqIGFyZ3AvYXJncC1uYW1lZnJvYi5oIFshX0xJQkNdOiBJbmNsdWRlIG1lbXBjcHkuaCwgc3RyY2FzZS5oLAoJc3RyY2hybnVsLmgsIHN0cm5kdXAuaCAoZnJvbSBnbnVsaWIpLgoJKiBhcmdwL2FyZ3AtcGFyc2UuYzogQWRkIGFsbG9jYS5oIGluY2x1ZGUgc25pcHBldCB2ZXJiYXRpbSBmcm9tCglBdXRvY29uZiBtYW51YWwuCgkqIGFyZ3AvYXJncC1oZWxwLmM6IFJlcGxhY2UgYWxsb2NhLmggaW5jbHVkZSBzbmlwcGVyIHdpdGggdmVyYmF0aW0KCUF1dG9jb25mIG1hbnVhbCB2ZXJzaW9uLgoJKiBhcmdwL2FyZ3AuaDogTWFwIF9fcmVzdHJpY3QgdG8gcmVzdHJpY3Qgb3IgZW1wdHkgc3RyaW5nIHdoZW4KCW5lY2Vzc2FyeSwgY29waWVkIHZlcmJhdGltIGZyb20gcG9zaXgvcmVnZXguaC4KCjIwMDMtMTAtMDkgIFN0ZXZlbiBNdW5yb2UgIDxzam11bnJvZUB1cy5pYm0uY29tPgoKCSogTWFrZWZpbGU6IEFsbG93IGZvciBjKystdHlwZXMtJChjb25maWctbWFjaGluZSktJChjb25maWctb3MpLmRhdGEgaW4KCWFkZGl0aW9uIHRvIGMrKy10eXBlcy0kKGJhc2UtbWFjaGluZSktJChjb25maWctb3MpLmRhdGEuCgkqIHNjcmlwdHMvZGF0YS9jKystdHlwZXMtcG93ZXJwYy1saW51eC1nbnUuZGF0YTogTmV3IGZpbGUuCgkqIHNjcmlwdHMvZGF0YS9jKystdHlwZXMtcG93ZXJwYzY0LWxpbnV4LWdudS5kYXRhOiBOZXcgZmlsZS4KCjIwMDMtMTEtMjggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWlzYy9tbnRlbnRfci5jIChkZWNvZGVfbmFtZSk6IEZpeCBkZWNvZGluZyBvZiB0YWIsIGFkZCBkZWNvZGluZwoJb2YgbmV3bGluZS4KCSogbWFudWFsL3N5c2luZm8udGV4aSAobXRhYik6IEFkanVzdCBkZXNjcmlwdGlvbiBhY2NvcmRpbmdseS4KCVJlcG9ydGVkIGJ5IEFuZHJpZXMuQnJvdXdlckBjd2kubmwuCgoJKiBzeXNkZXBzL3g4Nl82NC9mcHUvbGlibS10ZXN0LXVscHM6IEFkZCBzb21lIG1vcmUgbWlub3IgY2hhbmdlcwoJdG8gY29tcGVuc2F0ZSBvdGhlciBzZXR1cC4KCjIwMDMtMTEtMjcgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMveDg2XzY0L2ZwdS9saWJtLXRlc3QtdWxwczogQWRkIHVscHMgZm9yIG5ldyBhdGFuMiB0ZXN0LgoKCSogbWF0aC9saWJtLXRlc3QuaW5jIChhdGFuMl90ZXN0KTogQWRkIHRlc3QgdGhhdCBydW4gaW5maW5pdGx5LgoJUmVwb3J0ZWQgYnkgIldpbGx1cyIgPGV0YzIzMWV0YzIzMUB3aWxsdXMuY29tPi4KCjIwMDMtMTEtMjcgIE1pY2hhZWwgTWF0eiAgPG1hdHpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvbXBzcXJ0LmMgKGZhc3Rpcm9vdCk6IEZpeCA2NC1iaXQgcHJvYmxlbQoJd2l0aCB3cm9uZyB0eXBlcy4KCjIwMDMtMTEtMjggIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogcG9zaXgvcmVnZXhlYy5jIChhY3F1aXJlX2luaXRfc3RhdGVfY29udGV4dCk6IE1ha2UgaW5saW5lLgoJQWRkIGFsd2F5c19pbmxpbmUgYXR0cmlidXRlLgoJKGNoZWNrX21hdGNoaW5nKTogQWRkIEJFIG1hY3JvLiAgTW92ZSBpZiAoY3VyX3N0YXRlLT5oYXNfYmFja3JlZikKCWludG8gaWYgKGRmYS0+bmJhY2tyZWYpLgoJKHNpZnRfc3RhdGVzX2JhY2t3YXJkKTogRml4IGNvbW1lbnQuCgkodHJhbnNpdF9zdGF0ZSk6IEFkZCBCRSBtYWNyby4gIE1vdmUgaWYgKG5leHRfc3RhdGUtPmhhc19iYWNrcmVmKQoJaW50byBpZiAoZGZhLT5uYmFja3JlZiAmJiBuZXh0X3N0YXRlKS4gIERvbid0IGNoZWNrIGZvciBuZXh0X3N0YXRlCgkhPSBOVUxMIHR3aWNlLgoJKiBwb3NpeC9yZWdjb21wLmMgKHBlZWtfdG9rZW4pOiBVc2Ugb3ByLmN0eF90eXBlIGluc3RlYWQgb2Ygb3ByLmlkeAoJZm9yIEFOQ0hPUi4KCShwYXJzZV9leHByZXNzaW9uKTogT25seSBjYWxsIGluaXRfd29yZF9jaGFyIGlmIHdvcmQgY29udGV4dCB3aWxsIGJlCgluZWVkZWQuCgoJKiBwb3NpeC9idWctcmVnZXgxMS5jICh0ZXN0cyk6IEFkZCBuZXcgdGVzdHMuCgoJKiBwb3NpeC90c3QtcmVnZXguYzogSW5jbHVkZSBnZXRvcHQuaC4KCSh0aW1pbmcpOiBOZXcgdmFyaWFibGUuCgkobWFpbik6IFNldCB0aW1pbmcgdG8gMSBpZiAtLXRpbWluZyBhcmd1bWVudCBpcyBwcmVzZW50LgoJQWRkIDIgbmV3IHRlc3RzLgoJKHJ1bl90ZXN0LCBydW5fdGVzdF9iYWNrd2FyZHMpOiBIYW5kbGUgdGltaW5nLgoKMjAwMy0xMS0yNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9yZWdleF9pbnRlcm5hbC5oIChyZV9zdHJpbmdfdCk6IFJlbW92ZSBtYnNfY2FzZSBmaWVsZC4KCUFkZCBvZmZzZXRzLCB2YWxpZF9yYXdfbGVuLCByYXdfbGVuLCByYXdfc3RvcCwgbWJzX2FsbG9jYXRlZCBhbmQKCW9mZnNldHNfbmVlZGVkIGZpZWxkcy4gIENoYW5nZSBpY2FzZSwgaXNfdXRmOCBhbmQgbWFwX25vdGFzY2lpCgl0eXBlIGZyb20gaW50IGJpdGZpZWxkIHRvIHVuc2lnbmVkIGNoYXIuCgkoTUJTX0FMTE9DQVRFRCwgTUJTX0NBU0VfQUxMT0NBVEVEKTogUmVtb3ZlLgoJKGJ1aWxkX3djc191cHBlcl9idWZmZXIpOiBDaGFuZ2UgcHJvdG90eXBlIHRvIHJldHVybiBpbnQuCgkocmVfc3RyaW5nX3BlZWtfYnl0ZV9jYXNlLCByZV9zdHJpbmdfZmV0Y2hfYnl0ZV9jYXNlKTogUmVtb3ZlCglkZWZpbmVzLCBhZGQgcHJvdG90eXBlcy4KCSogcG9zaXgvcmVnZXhfaW50ZXJuYWwuYyAocmVfc3RyaW5nX2FsbG9jYXRlKTogRG9uJ3QgaW5pdGlhbGl6ZQoJc3RvcCBoZXJlLiAgRG9uJ3QgaW5pdGlhbGl6ZSBtYnNfY2FzZS4gIFNldCB2YWxpZF9yYXdfbGVuLgoJVXNlIG1ic19hbGxvY2F0ZWQgaW5zdGVhZCBvZiBNQlNfKiBtYWNyb3MuCgkocmVfc3RyaW5nX2NvbnN0cnVjdCk6IERvbid0IGluaXRpYWxpemUgc3RvcCBhbmQgdmFsaWRfbGVuIGhlcmUuCglEb24ndCBpbml0aWFsaXplIG1ic19jYXNlLiAgVXNlIG1ic19hbGxvY2F0ZWQgaW5zdGVhZCBvZiBNQlNfKgoJbWFjcm9zLiAgUmVhbGxvY2F0ZSBidWZmZXJzIGlmIGJ1aWxkX3djc191cHBlcl9idWZmZXIgY29udmVydGVkCgl0b28gZmV3IGJ5dGVzLiAgU2V0IHZhbGlkX2xlbiB0byBidWZzX2xlbiBvbmx5IGZvciBzaW5nbGUgYnl0ZQoJbm8gdHJhbnNsYXRpb24gYW5kIHNldCBpbiB0aGF0IGNhc2UgdmFsaWRfcmF3X2xlbiBhcyB3ZWxsLgoJKHJlX3N0cmluZ19yZWFsbG9jX2J1ZmZlcnMpOiBSZWFsbG9jYXRlIG9mZnNldHMgaWYgbm90IE5VTEwuCglVc2UgbWJzX2FsbG9jYXRlZCBpbnN0ZWFkIG9mIE1CU19BTExPQ0FURUQuICBEb24ndCByZWFsbG9jYXRlCgltYnNfY2FzZS4KCShyZV9zdHJpbmdfY29uc3RydWN0X2NvbW1vbik6IEluaXRpYWxpemUgcmF3X2xlbiwgbWJzX2FsbG9jYXRlZCwKCXN0b3AgYW5kIHJhd19zdG9wLgoJKGJ1aWxkX3djc19idWZmZXIpOiBBcHBseSBwc3RyLT50cmFucyBiZWZvcmUgbWJydG93YyBpbnN0ZWFkIG9mCglhZnRlciBpdC4gIFNldCB2YWxpZF9yYXdfbGVuLiAgRG9uJ3Qgc2V0IG1ic19jYXNlLgoJKGJ1aWxkX3djc191cHBlcl9idWZmZXIpOiBSZXR1cm4gUkVHX05PRVJST1Igb3IgUkVHX0VTUEFDRS4KCU9ubHkgdXNlIHRoZSBmYXN0IHBhdGggaWYgIXBzdHItPm9mZnNldHNfbmVlZGVkLiAgQXBwbHkgcHN0ci0+dHJhbnMKCWJlZm9yZSBtYnJ0b3djIGluc3RlYWQgb2YgYWZ0ZXIgaXQuICBJZiB1cHBlciBjYXNlIGNoYXJhY3RlcgoJdXNlcyBkaWZmZXJlbnQgbnVtYmVyIG9mIGJ5dGVzIHRoYW4gbG93ZXIgY2FzZSwgZ290byB0byB0aGUKCXNsb3cgcGF0aC4gIERvbid0IGNhbGwgdG93dXBwZXIgdW5uZWNlc3NhcmlseSB0d2ljZS4gIFNldAoJdmFsaWRfcmF3X2xlbiBhcyB3ZWxsLiAgSGFuZGxlIGluIHRoZSBzbG93IHBhdGggdGhlIGNhc2UgaWYKCWxvd2VyIGFuZCB1cHBlciBjYXNlIHVzZSBkaWZmZXJlbnQgbnVtYmVyIG9mIGNoYXJhY3RlcnMuCglEb24ndCBzZXQgbWJzX2Nhc2UuCgkocmVfc3RyaW5nX3NraXBfY2hhcnMpOiBVc2UgdmFsaWRfcmF3X2xlbiBpbnN0ZWFkIG9mIHZhbGlkX2xlbi4KCShidWlsZF91cHBlcl9idWZmZXIpOiBEb24ndCBzZXQgbWJzX2Nhc2UuICBBZGQgQkUgbWFjcm8uICBTZXQKCXZhbGlkX3Jhd19sZW4uCgkocmVfc3RyaW5nX3RyYW5zbGF0ZV9idWZmZXIpOiBTZXQgbWJzIGluc3RlYWQgb2YgbWJzX2Nhc2UuICBTZXQKCXZhbGlkX3Jhd19sZW4uCgkocmVfc3RyaW5nX3JlY29uc3RydWN0KTogVXNlIHJhd19sZW4vcmF3X3N0b3AgdG8gaW5pdGlhbGl6ZQoJbGVuL3N0b3AuICBDbGVhciB2YWxpZF9yYXdfbGVuIGFuZCBvZmZzZXRzX25lZWRlZCB3aGVuIGNsZWFyaW5nCgl2YWxpZF9sZW4uICBVc2UgbWJzX2FsbG9jYXRlZCBpbnN0ZWFkIG9mIE1CU18qIG1hY3Jvcy4KCUNoZWNrIG9yaWdpbmFsIG9mZnNldCBhZ2FpbnN0IHZhbGlkX3Jhd19sZW4gaW5zdGVhZCBvZiB2YWxpZF9sZW4uCglSZW1vdmUgbWJzX2Nhc2UgaGFuZGxpbmcuICBBZGp1c3QgdmFsaWRfcmF3X2xlbiB0b2dldGhlciB3aXRoCgl2YWxpZF9sZW4uICBJZiBpc191dGY4IGFuZCBsb29raW5nIGZvciB0aXAgY29udGV4dCwgYXBwbHkKCXBzdHItPnRyYW5zIGZpcnN0LiAgSWYgYnVmZmVycyBzdGFydCB3aXRoIHBhcnRpYWwgbXVsdGktYnl0ZQoJY2hhcmFjdGVyLCBpbml0aWFsaXplIG1icyBhcnJheSBhcyB3ZWxsIGlmIG1ic19hbGxvY2F0ZWQuCglDaGVjayByZXR1cm4gdmFsdWUgb2YgYnVpbGRfd2NzX3VwcGVyX2J1ZmZlci4KCShyZV9zdHJpbmdfcGVla19ieXRlX2Nhc2UpOiBOZXcgZnVuY3Rpb24uCgkocmVfc3RyaW5nX2ZldGNoX2J5dGVfY2FzZSk6IE5ldyBmdW5jdGlvbi4KCShyZV9zdHJpbmdfZGVzdHJ1Y3QpOiBVc2UgbWJzX2FsbG9jYXRlZCBpbnN0ZWFkIG9mIE1CU19BTExPQ0FURUQuCglEb24ndCBmcmVlIG1ic19jYXNlLiAgRnJlZSBvZmZzZXRzLgoJKiBwb3NpeC9yZWdjb21wLmMgKGluaXRfZGZhKTogT25seSBjaGVjayBpZiBjaGFyc2V0IG5hbWUgaXMgVVRGLTgKCWlmIG1iX2N1cl9tYXggPT0gNi4KCSogcG9zaXgvcmVnZXhlYy5jIChyZV9zZWFyY2hfaW50ZXJuYWwpOiBJbml0aWFsaXplIGlucHV0LnJhd19zdG9wCglhcyB3ZWxsLiAgVXNlIHZhbGlkX3Jhd19sZW4gaW5zdGVhZCBvZiB2YWxpZF9sZW4gd2hlbiBsb29raW5nCgl0aHJvdWdoIGZhc3RtYXAuICBBZGp1c3QgcmVnaXN0ZXJzIHRocm91Z2ggaW5wdXQub2Zmc2V0cy4KCShleHRlbmRfYnVmZmVycyk6IEFsbG93IGJ1aWxkX3djc191cHBlcl9idWZmZXIgdG8gZmFpbC4KCSogcG9zaXgvYnVnLXJlZ2V4MTguYyAodGVzdHMpOiBFbmFibGUgI2lmZGVmZWQgb3V0IHRlc3RzLiAgQWRkIG5ldwoJdGVzdHMuCgoyMDAzLTExLTI2ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHBvc2l4L3JlZ2V4ZWMuYyAoY2hlY2tfc3ViZXhwX2xpbWl0cyk6IE9ubHkgY2hlY2sgY2xvc2UKCXN1YmV4cHJlc3Npb24gbGltaXRhdGlvbiBpZiBvbmUgaXMgZm91bmQuICBGb3JtYXR0aW5nLgoJKHNpZnRfc3RhdGVzX2JhY2t3YXJkLCBjaGVja19hcnJpdmFsLCBjaGVja19hcnJpdmFsX2FkZF9uZXh0X25vZGVzKToKCUZvcm1hdHRpbmcuCgkqIHBvc2l4L2J1Zy1yZWdleDExLmMgKHRlc3RzKTogRW5hYmxlIG1vc3QgI2lmZGVmZWQgb3V0IHRlc3RzLgoJQWRkIG5ldyB0ZXN0LgoKMjAwMy0xMS0yNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9rZXJuZWwtZmVhdHVyZXMuaAoJKF9fQVNTVU1FX1BST1RfR1JPV1NVUERPV04pOiBEZWZpbmUgZm9yIDIuNi4xIGFuZCB1cC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZGwtZXhlY3N0YWNrLmM6IE9taXQgY29tcGF0aWJpbGl0eSBjb2RlCglpZiBfX0FTU1VNRV9QUk9UX0dST1dTVVBET1dOIGlzIGRlZmluZWQuCgoyMDAzLTExLTI2ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9kbC1leGVjc3RhY2suYwoJKF9kbF9tYWtlX3N0YWNrX2V4ZWN1dGFibGUpOiBTZXQgZGxfc3RhY2tfZmxhZ3MgYWx3YXlzIGZvcgoJc3VjY2Vzcy4KCjIwMDMtMDYtMjIgIFBldHRlciBSZWluaG9sZHRzZW4gIDxwZXJlQGh1bmdyeS5jb20+CgoJKiBsb2NhbGUvcHJvZ3JhbS9sZC1tb25ldGFyeS5jOiBPbmx5IGNoZWNrIHRoZSBmaXJzdCB0aHJlZQoJY2hhcmFjdGVycyBpbiBpbnRfY3Vycl9zeW1ib2wgYWdhaW5zdCBJU08tNDIxNywgdG8gbWFrZSB0aGUKCXNlcGFyYXRvciBjaGFyYWN0ZXIgdXNlZCBieSBhIGxvY2FsZSBpbmRlcGVuZGVudCBvZiB0aGUgY29udGVudAoJaW4gaXNvLTQyMTcuZGVmLgoJKiBsb2NhbGUvaXNvLTQyMTcuZGVmOiBSZW1vdmUgdGhlIHNwYWNlIGNoYXJhY3RlciBmcm9tIGFsbAoJY3VycmVuY3kgdmFsdWVzIHRvIGdldCB0aGUgbmV3IHRlc3QgY29kZSBpbiBsZC1tb25ldGFyeS5jIHdvcmtpbmcuCgoyMDAzLTExLTIxICBEYXZpZCBNb3NiZXJnZXIgIDxkYXZpZG1AaHBsLmhwLmNvbT4KCgkqIGVsZi9zb2luaXQuYyAoX2ZpbmkpOiBQdXQgX2ZpbmkoKSBpbiAuaW5pdF9hcnJheSBzZWN0aW9uIGlmCglIQVZFX0lOSVRGSU5JX0FSUkFZIGlzIGRlZmluZWQuCgoyMDAzLTExLTI1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvaTM4Ni9mcHUvYml0cy9tYXRoaW5saW5lLmg6IEludHJvZHVjZSBfX2xpYmNfc3FydGwgc3ltYm9sLgoJRGVmaW5lIGl0IGFwcHJvcHJpYXRlbHkgYWZ0ZXIgbGFzdCBjaGFuZ2UuICBVc2UgaXQgd2hlcmUgX19zcXJ0bAoJd2FzIHVzZWQuCgoyMDAzLTExLTI1ICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CgoJKiBzeXNkZXBzL2kzODYvZnB1L2JpdHMvbWF0aGlubGluZS5oIChzcXJ0KTogRG9uJ3QgaW5saW5lCglzcXJ0IGZvciBnY2MgMy4zIGFuZCBhYm92ZS4KCjIwMDMtMTEtMjUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvcnVucHRlc3RzLmMgKG1haW4pOiBNYWtlIGVycm9ycyBmYXRhbC4KCSogcG9zaXgvUFRFU1RTOiBPbmUgdGVzdCBpbiBHQTEzNSBhbmQgR0ExMzYgY2hlY2sgZnVuY3Rpb25hbGl0eQoJd2hpY2ggc2VlbXMgbm90IGd1YXJhbnRlZWQuCgoyMDAzLTExLTI1ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHBvc2l4L3JlZ2V4ZWMuYyAocmVfc2VhcmNoX2ludGVybmFsKTogSWYgcHJ1bmVfaW1wb3NzaWJsZV9ub2RlcwoJcmV0dXJuZWQgUkVHX05PTUFUQ0gsIHNldCBtYXRjaF9sYXN0IHRvIC0xLiAgRG9uJ3QgaW5pdGlhbGl6ZQoJcG1hdGNoWzBdIG5lZWRsZXNzbHkuICBGaXggY29tbWVudC4KCShwcnVuZV9pbXBvc3NpYmxlX25vZGVzKTogRG9uJ3Qgc2VnZmF1bHQgb24gTlVMTCBzdGF0ZV9sb2cgZW50cnkuCgkoc2V0X3JlZ3MpOiBGaXggY29tbWVudC4KCSogcG9zaXgvcmVnY29tcC5jIChwYXJzZV9icmFja2V0X2V4cCk6IE9ubHkgc2V0IGhhc19wbHVyYWxfbWF0Y2gKCWlmIGFkZGluZyBib3RoIFNJTVBMRV9CUkFDS0VUIGFuZCBDT01QTEVYX0JSQUNLRVQuCgkoYnVpbGRfY2hhcmNsYXNzX29wKTogU2V0IGhhc19wbHVyYWxfbWF0Y2ggaWYgYWRkaW5nIGJvdGgKCVNJTVBMRV9CUkFDS0VUIGFuZCBDT01QTEVYX0JSQUNLRVQuCgkqIHBvc2l4L2J1Zy1yZWdleDExLmMgKHRlc3RzKTogRml4IHJlZ2lzdGVyIHZhbHVlcyBmb3Igb25lIGNvbW1lbnRlZAoJb3V0IHRlc3QuICBBZGQgbmV3IHRlc3RzLgoKCSogcG9zaXgvcmVnZXhfaW50ZXJuYWwuYyAocmVfc3RyaW5nX2FsbG9jYXRlKTogTWFrZSBzdXJlIGluaXRfbGVuCglpcyBhdCBsZWFzdCBkZmEtPm1iX2N1cl9tYXguCgkocmVfc3RyaW5nX3JlY29uc3RydWN0KTogSWYgaXNfdXRmOCwgZG9uJ3QgZmFsbCBiYWNrIGludG8KCXJlX3N0cmluZ19za2lwX2NoYXJzIGp1c3QgYmVjYXVzZSBpZHggcG9pbnRzIGludG8gYSBtaWRkbGUgb2YKCXZhbGlkIFVURi04IGNoYXJhY3Rlci4gIEluc3RlYWQsIHNldCB0aGUgd2NzIGJ5dGVzIHdoaWNoIGNvcnJlc3BvbmQKCXRvIHRoZSBwYXJ0aWFsIGNoYXJhY3RlciBieXRlcyB0byBXRU9GLgoJKiBwb3NpeC9yZWdleGVjLmMgKHJlX3NlYXJjaF9pbnRlcm5hbCk6IEFsbG9jYXRlIGlucHV0LmJ1ZnNfbGVuICsgMQoJaW5zdGVhZCBvZiBkZmEtPm5vZGVzX2xlbiArIDEgc3RhdGVfbG9nIGVudHJpZXMgaW5pdGlhbGx5LgoJKiBwb3NpeC9idWctcmVnZXgyMC5jIChtYWluKTogVW5jb21tZW50IGJhY2t3YXJkcyBjYXNlIGluc2Vuc2l0aXZlCgl0ZXN0cy4KCjIwMDMtMTEtMjQgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogcG9zaXgvcmVnZXhfaW50ZXJuYWwuaCAocmVfdG9rZW5fdCk6IEFkZCB3b3JkX2NoYXIgYml0LiAgQWRkCgljb21tZW50LgoJKHJlX2RmYV90KTogQWRkIHNiX2NoYXIgZmllbGQuCgkoYml0c2V0X21hc2spOiBOZXcgZnVuY3Rpb24uCgkqIHBvc2l4L3JlZ2NvbXAuYyAoZnJlZV9kZmFfY29udGVudCk6IEZyZWUgc2JfY2hhci4KCShpbml0X2RmYSk6IERvbid0IGluaXRpYWxpemUgd29yZF9jaGFyIHVubmVjZXNzYXJpbHkuCglJbml0aWFsaXplIHNiX2NoYXIuCgkoZHVwbGljYXRlX25vZGUpOiBEb24ndCBkdXBsaWNhdGUgIXdvcmRfY2hhciBDSEFSQUNURVJzIHdpdGgKCU5FWFRfV09SRF9DT05TVFJBSU5UIGNvbnN0cmFpbnQgb3Igd29yZF9jaGFyIENIQVJBQ1RFUnMgd2l0aAoJTkVYVF9OT1RXT1JEX0NPTlNUUkFJTlQuICBSZXR1cm4gLTEgaW4gKm5ld19pZHggaW5zdGVhZC4KCShkdXBsaWNhdGVfbm9kZV9jbG9zdXJlKTogSGFuZGxlIGNsb25lX2Rlc3QgPT0gLTEgZnJvbQoJZHVwbGljYXRlX25vZGUuCgkocGVla190b2tlbik6IEluaXRpYWxpemUgd29yZF9jaGFyIGJpdC4KCShwYXJzZV9leHByZXNzaW9uLCBwYXJzZV9kdXBfb3ApOiBBZGQgY29tbWVudHMuCgkocGFyc2VfYnJhY2tldF9leHApOiBEb24ndCBzZXQgYml0bWFzayBiaXRzIGZvciBtdWx0aS1ieXRlIGNoYXIKCXN0YXJ0aW5nIGJ5dGVzIGhlcmUgYXQgdGhlIGJlZ2lubmluZy4gIE1hc2sgb2ZmIHRoZSBiaXRzIHJpZ2h0CgliZWZvcmUgY3JlYXRpbmcgU0lNUExFX0JSQUNLRVQuCgkoYnVpbGRfY2hhcmNsYXNzX29wKTogTGlrZXdpc2UuCgkqIHBvc2l4L3JlZ2V4ZWMuYyAoZ3JvdXBfbm9kZXNfaW50b19ERkFzdGF0ZXMpIDxjYXNlIE9QX1BFUklPRD46IE9ubHkKCXNldCBhY2NlcHQgYml0cyBmb3Igc2luZ2xlLWJ5dGUgY2hhcmFjdGVycy4KCShncm91cF9ub2Rlc19pbnRvX0RGQXN0YXRlcyk6IERvbid0IHJlbHkgb24gY2hhcmFjdGVycyAwIC4uIDEyNwoJYmVpbmcgc2luZ2xlIGJ5dGUgZW5jb2RlZCBhbmQgdGhlIHJlc3QgbXVsdGktYnl0ZS4KCSogcG9zaXgvYnVnLXJlZ2V4MTkuYyAodGVzdHMpOiBBZGQgbmV3IHRlc3RzLgoJKGRvX21iX3Rlc3RzKTogSW5pdGlhbGl6ZSB0IHRvICp0ZXN0LgoJKG1haW4pOiBGYWlsIGV2ZW4gb24gZG9fbWJfdGVzdHMgZXJyb3JzLgoKMjAwMy0xMS0yMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9yZWdleGVjLmM6IENvcnJlY3Qgc2V2ZXJhbCBtZW1vcnkgYWxsb2NhdGlvbiBwcm9ibGVtcy4KCUFkZCBtb3JlIEJFLgoJKiBwb3NpeC9yZWdleF9pbnRlcm5hbC5jOiBMaWtld2lzZS4KCSogcG9zaXgvcmVnY29tcC5jOiBMaWtld2lzZS4KCgkqIHBvc2l4L3JlZ2V4ZWMuYzogQWRkIGNvbnN0IGluIGEgbnVtYmVyIG9mIHBsYWNlcy4KCSogcG9zaXgvcmVnZXhfaW50ZXJuYWwuaDogTWFrZSBFUFNJTE9OX0JJVCBhIG1hY3JvIHRvIGhlbHAKCWRlYnVnZ2luZy4gIEl0cyB2YWx1ZSBpc24ndCBpbXBvcnRhbnQuCgoyMDAzLTExLTIyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHBvc2l4L1BURVNUUzogRml4IGZpcnN0IHRlc3Qgb2YgR0ExNDMuCgoyMDAzLTExLTIxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHBvc2l4L3JlZ2V4X2ludGVybmFsLmMgKHJlX2RmYV9hZGRfbm9kZSk6IEFkZCBCRSwgcmVhbGxvY2F0aW9uCglpc24ndCBsaWtlbHkuCgoJKiBsb2NhbGUvcHJvZ3JhbXMvY2hhcm1hcC5jIChjaGFybWFwX3JlYWQpOiBJZiBlbmNvZGluZyBpcyBmb3VuZAoJbm90IEFTQ0lJIGNvbXBhdGlibGUsIHNldCBlbmNfbm90X2FzY2lpX2NvbXBhdGlibGUuCgkqIGxvY2FsZS9wcm9ncmFtcy9jaGFybWFwLmg6IERlY2xhcmUgZW5jX25vdF9hc2NpaV9jb21wYXRpYmxlLgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY3R5cGUuYyAoY3R5cGVfc3RhcnR1cCk6IElmCgllbmNfbm90X2FzY2lpX2NvbXBhdGlibGUgaXMgc2V0LCBpbml0aWFsaXplIHRvX25vbmFzY2lpIHRvIDEuCgoyMDAzLTExLTIyICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGVsZi9ydGxkLmMgKHByb2Nlc3NfZW52dmFycyk6IE9ubHkgaG9ub3IgTERfVVNFX0xPQURfQklBUwoJaWYgIV9fbGliY19lbmFibGVfc2VjdXJlLgoKCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmggKF9kbF91c2VfbG9hZF9iaWFzKTogTmV3IF9ydGxkX2dsb2JhbAoJZmllbGQuCgkqIGVsZi9ydGxkLmMgKF9ydGxkX2dsb2JhbCk6IEluaXRpYWxpemUgX2RsX3VzZV9sb2FkX2JpYXMgZmllbGQuCgkoZGxfbWFpbik6IFNldCBHTChkbF91c2VfbG9hZF9iaWFzKSBkZWZhdWx0LgoJKHByb2Nlc3NfZW52dmFycyk6IFNldCBHTChkbF91c2VfbG9hZF9iaWFzKSBmcm9tIExEX1VTRV9MT0FEX0JJQVMuCglBZGQgRVhUUkFfTERfRU5WVkFSU18xMy4KCSogZWxmL2RsLXN1cHBvcnQuYyAoX2RsX3VzZV9sb2FkX2JpYXMpOiBOZXcgdmFyaWFibGUuCgkqIGVsZi9kbC1sb2FkLmMgKF9kbF9tYXBfb2JqZWN0X2Zyb21fZmQpOiBNYXNrIGMtPm1hcHN0YXJ0Cgl3aXRoIEdMKGRsX3VzZV9sb2FkX2JpYXMpLgoJKiBzeXNkZXBzL2dlbmVyaWMvdW5zZWN2YXJzLmggKFVOU0VDVVJFX0VOVlZBUlMpOiBBZGQKCUxEX1VTRV9MT0FEX0JJQVMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2RsLWxpYnJlY29uLmggKEVYVFJBX0xEX0VOVlZBUlMpOiBSZW1vdmUuCgkoRVhUUkFfTERfRU5WVkFSU19MSU5VWCk6IFJlbmFtZWQgdG8uLi4KCShFWFRSQV9MRF9FTlZWQVJTXzEzKTogLi4uIHRoaXMuICBSZW1vdmUgY2FzZSBhdCB0aGUgYmVnaW5uaW5nLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2RsLWxpYnJlY29uLmggKEVYVFJBX0xEX0VOVlZBUlMpOgoJRG9uJ3QgdW5kZWZpbmUgZmlyc3QuICBSZW1vdmUgRVhUUkFfTERfRU5WVkFSU19MSU5VWC4KCjIwMDMtMTEtMjEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvcmVnY29tcC5jIChkdXBsaWNhdGVfbm9kZSk6IFJlbW92ZSB1bm5lY2Vzc2FyeSBsb2NhbCB2YXJpYWJsZS4KCgkqIHBvc2l4L3JlZ2NvbXAuYyAocmVfZGZhX2FkZF90cmVlX25vZGUpOiBNYWtlIGZvdXJ0aCBwYXJhbWV0ZXIgYQoJcG9pbnRlci4gIEFkanVzdCBjYWxsZXJzLgoKCSogcG9zaXgvcmVnY29tcC5jIChmZXRjaF90b2tlbik6IENoYW5nZSBpbnRlcmZhY2UgdG8gbWF0Y2gKCXBlZWtfdG9rZW4uICBUaGlzIGF2b2lkcyBzb21lIGNvcHlpbmcgYW5kIHJlZHVjZXMgY29kZSBzaXplLgoKMjAwMy0xMS0yMSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9idWctcmVnZXgxOS5jICh0ZXN0cyk6IEFkZCBtb3JlIHRlc3RzLgoKCSogcG9zaXgvYnVnLXJlZ2V4MTEuYzogQW5kIG9uZSBtb3JlIGNvbW1lbnRlZCBvdXQgdGVzdC4KCgkqIHBvc2l4L3RzdC1yeHNwZW5jZXIuYyAobWJfdGVzdHMpOiBEb24ndCBydW4gaWRlbnRpY2FsIG11bHRpLWJ5dGUKCXRlc3RzIG11bHRpcGxlIHRpbWVzIHVubmVjZXNzYXJpbHkuCgoJKiBwb3NpeC9idWctcmVnZXgxOS5jIChCUkUsIEVSRSk6IERlZmluZS4KCSh0ZXN0cyk6IEFkZCBtYW55IG5ldyB0ZXN0cywgcmVtb3ZlIFVURi04IG9uZXMuCgkoZG9fb25lX3Rlc3QsIGRvX21iX3Rlc3RzKTogTmV3IGZ1bmN0aW9ucy4KCShtYWluKTogUmV3cml0dGVuIHVzaW5nIGRvX29uZV90ZXN0IGFuZCBkb19tYl90ZXN0cy4KCjIwMDMtMTEtMjAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvUFRFU1RTOiBGaXggZmlyc3QgdGVzdCBpbiBHQTE0My4KCjIwMDMtMTEtMjAgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogcG9zaXgvcmVnZXhfaW50ZXJuYWwuaCAocmVfZGZhc3RhdGVfdCk6IFJlbW92ZSB0cnRhYmxlX3NlYXJjaC4KCUFkZCB3b3JkX3RydGFibGUuCgkqIHBvc2l4L3JlZ2V4X2ludGVybmFsLmMgKGNyZWF0ZV9uZXdzdGF0ZV9jb21tb24sIGZyZWVfc3RhdGUpOgoJRG9uJ3QgZnJlZSB0cnRhYmxlX3NlYXJjaC4KCSogcG9zaXgvcmVnZXhlYy5jIChjaGVja19tYXRjaGluZyk6IFJlbW92ZSBmbF9zZWFyY2ggYXJndW1lbnQuCgkodHJhbnNpdF9zdGF0ZV9zYik6IExpa2V3aXNlLiAgI2lmZGVmIG91dCBhcyB1bnVzZWQuCgkoYnVpbGRfdHJ0YWJsZSk6IFJlbW92ZSBmbF9zZWFyY2ggYXJndW1lbnQuICBTZXQgc3RhdGUtPndvcmRfdHJ0YWJsZQoJYW5kIHN0YXRlLT50cnRhYmxlLiAgQnVpbGQgc2VwYXJhdGUgd29yZCBhbmQgbm9uLXdvcmQgdGFibGVzIGlmCgltdWx0aS1ieXRlIGFuZCB0aGV5IGRpZmZlciBmb3Igc29tZSBjaGFyYWN0ZXIuCgkodHJhbnNpdF9zdGF0ZSk6IFJlbW92ZSBmbF9zZWFyY2ggYXJndW1lbnQuICBEb24ndCB1cGRhdGUKCXN0YXRlLT50cnRhYmxlIGhlcmUuICBIYW5kbGUgc3RhdGUtPndvcmRfdHJ0YWJsZS4KCSNpZmRlZiBvdXQgdW51c2VkIGNhbGwgdG8gdHJhbnNpdF9zdGF0ZV9zYi4KCShyZV9zZWFyY2hfaW50ZXJuYWwpOiBVcGRhdGUgY2hlY2tfbWF0Y2hpbmcgY2FsbGVyLgoJKGdyb3VwX25vZGVzX2ludG9fREZBc3RhdGVzKTogRG9uJ3QgY2xlYXIgbm9uLWFzY2lpIGNoYXJzIGluIGFjY2VwdHMKCWJpdG1hc2sgZm9yIG11bHRpLWJ5dGUgbG9jYWxlcy4KCSogcG9zaXgvYnVnLXJlZ2V4MTkuYyAodGVzdHMpOiBFbmFibGUgc29tZSBjb21tZW50ZWQgb3V0IHRlc3RzLCBhZGQKCTIgbmV3IHRlc3RzLgoJKiBwb3NpeC90c3QtcnhzcGVuY2VyLmMgKG1iX3Rlc3RzKTogRG9uJ3QgdGVzdCBbWz1iPV1dIGZvciBub3cgYXMKCW11bHRpLWJ5dGUuICBEb24ndCBydW4gaWRlbnRpY2FsIG11bHRpLWJ5dGUgdGVzdHMgbXVsdGlwbGUgdGltZXMKCXVubmVjZXNzYXJpbHkuCgkobWFpbik6IENoZWNrIHNldGxvY2FsZSByZXR1cm4gdmFsdWUuCgkqIHBvc2l4L01ha2VmaWxlICh0c3QtcnhzcGVuY2VyLUFSR1MpOiBBZGQgLS11dGY4IGFyZ3VtZW50LgoJKHRzdC1yeHNwZW5jZXItRU5WKTogUmVtb3ZlIE1BTExPQ19UUkFDRSwgYWRkIExPQ1BBVEguCgkoJChvYmpwZngpdHN0LXJ4c3BlbmNlci1tZW0pOiBSdW4gYW5vdGhlciB0c3QtcnhzcGVuY2VyIHRlc3QKCWhlcmUsIHdpdGhvdXQgLS11dGY4IGFyZ3VtZW50IGJ1dCB3aXRoIE1BTExPQ19UUkFDRS4KCjIwMDMtMTEtMTkgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogcG9zaXgvcmVnZXhlYy5jIChleHRlbmRfYnVmZmVycyk6IERvbid0IGFsbG9jYXRlCgl0d2ljZSBhcyBiaWcgc3RhdGVfbG9nIGFzIG5lZWRlZC4gIERvbid0IG1vZGlmeSBwc3RyLT52YWxpZF9sZW4KCWZvciBtYl9jdXJfbWF4ID09IDEgIWljYXNlICF0cmFucy4KCgkqIHBvc2l4L3JlZ2NvbXAuYyAoZnJlZV9iaW5fdHJlZSk6IFJlbW92ZWQuCgkoY3JlYXRlX3RyZWUpOiBBZGQgZGZhIGFyZ3VtZW50LiAgRG9uJ3QgY2FsbCByZV9tYWxsb2MgZm9yCgllYWNoIHRyZWUsIGluc3RlYWQgYWxsb2NhdGUgZnJvbSBzdHJfdHJlZV9zdG9yYWdlLgoJKHJlX2RmYV9hZGRfdHJlZV9ub2RlKTogTmV3IGZ1bmN0aW9uLgoJKGZyZWVfZGZhX2NvbnRlbnQpOiBIYW5kbGUgZnJlZWluZyBpZiBkZmEtPm5vZGVzID09IE5VTEwKCW9yIGRmYS0+c3RhdGVfdGFibGUgPT0gTlVMTC4KCShyZV9jb21waWxlX2ludGVybmFsKTogQ2FsbCBmcmVlX2RmYV9jb250ZW50IGlmIGluaXRfZGZhCglmYWlscy4gIENhbGwgZnJlZV93b3JrYXJlYV9jb21waWxlLCByZV9zdHJpbmdfZGVzdHJ1Y3QKCWFuZCBmcmVlX2RmYV9jb250ZW50IGZvciBtb3N0IG9mIHRoZSBvdGhlciBmYWlsdXJlIHBhdGhzLgoJKGluaXRfZGZhKTogSW5pdGlhbGl6ZSBzdHJfdHJlZV9zdG9yYWdlX2lkeC4KCURvbid0IGNsZWFyIGFueSBmaWVsZHMgb24gYWxsb2NhdGlvbiBmYWlsdXJlLgoJKGZyZWVfd29ya2FyZWFfY29tcGlsZSk6IEZyZWUgc3RyX3RyZWVfc3RvcmFnZSBjaHVua3MKCWluc3RlYWQgb2YgZnJlZV9iaW5fdHJlZSAoZGZhLT5zdHJfdHJlZSkuCgkocGFyc2UpOiBDYWxsIHJlX2RmYV9hZGRfdHJlZV9ub2RlIGluc3RlYWQgb2YgcmVfZGZhX2FkZF9ub2RlCglmb2xsb3dlZCBieSBjcmVhdGVfdHJlZS4gIEFkZCBkZmEgYXJndW1lbnQgdG8gcmVtYWluaW5nCgljcmVhdGVfdHJlZSBjYWxscy4gIFJlbW92ZSBuZXdfaWR4IHZhcmlhYmxlLiAgUmVtb3ZlIGNhbGxzCgl0byBmcmVlX2Jpbl90cmVlLgoJKHBhcnNlX3JlZ19leHAsIHBhcnNlX2JyYW5jaCwgcGFyc2VfZXhwcmVzc2lvbiwgcGFyc2Vfc3ViX2V4cCwKCXBhcnNlX2R1cF9vcCwgcGFyc2VfYnJhY2tldF9leHAsIGJ1aWxkX2NoYXJjbGFzc19vcCk6IExpa2V3aXNlLgoJKGR1cGxpY2F0ZV90cmVlKTogUmVtb3ZlIGNhbGxzIHRvIGZyZWVfYmluX3RyZWUsIGFkZCBkZmEKCWFyZ3VtZW50IHRvIGNyZWF0ZV90cmVlLgoJKiBwb3NpeC9yZWdleF9pbnRlcm5hbC5oIChCSU5fVFJFRV9TVE9SQUdFX1NJWkUpOiBEZWZpbmUuCgkoYmluX3RyZWVfc3RvcmFnZV90KTogTmV3IHR5cGUuCgkocmVfZGZhX3QpOiBBZGQgc3RyX3RyZWVfc3RvcmFnZSBhbmQgc3RyX3RyZWVfc3RvcmFnZV9pZHgKCWZpZWxkcy4KCSogcG9zaXgvTWFrZWZpbGUgKHRlc3RzKTogQWRkIGJ1Zy1yZWdleDIxLgoJKGdlbmVyYXRlZCk6IEFkZCBidWctcmVnZXgyMS1tZW0sIGJ1Zy1yZWdleDIxLm10cmFjZSwKCXRzdC1yeHNwZW5jZXItbWVtIGFuZCB0c3QtcnhzcGVuY2VyLm10cmFjZS4KCSh0ZXN0cyk6IERlcGVuZCBvbiAkKG9ianBmeClidWctcmVnZXgyMS1tZW0KCWFuZCAkKG9ianBmeCl0c3QtcnhzcGVuY2VyLW1lbS4KCShidWctcmVnZXgyMS1FTlYsIHRzdC1yeHNwZW5jZXItRU5WKTogU2V0LgoJKCQob2JqcGZ4KWJ1Zy1yZWdleDIxLW1lbSwgJChvYmpwZngpdHN0LXJ4c3BlbmNlci1tZW0pOiBOZXcuCgkqIHBvc2l4L3RzdC1yeHNwZW5jZXIuYyAobWFpbik6IEFkZCBjYWxsIHRvIG10cmFjZS4KCUZyZWUgbGluZSBhdCB0aGUgZW5kLgoJKiBwb3NpeC9idWctcmVnZXgyMS5jOiBOZXcgdGVzdC4KCjIwMDMtMTEtMTkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvYnVnLXJlZ2V4MjAuYzogQ29ycmVjdCBpbnZhbGlkIFVURi04IHNlcXVlbmNlcy4KCgkqIHBvc2l4L3JlZ2V4X2ludGVybmFsLmMgKGJ1aWxkX3djc191cHBlcl9idWZmZXIpOiBJZiBtYnJ0b3djCglmYWlscywganVzdCB1c2UgdGhlIGJ5dGUsIGRvIG5vIGZhbmN5IGNvbnZlcnNpb25zLgoKCSogcG9zaXgvcmVnZXhfaW50ZXJuYWwuaCAocmVfc3RyaW5nX2ZpcnN0X2J5dGUpOiBVc2UgLT52YWxpZF9sZW4KCW5vdCAtPmxlbi4KCShyZV9zdHJpbmdfaXNfc2luZ2xlX2J5dGVfY2hhcik6IExpa2V3aXNlLgoKMjAwMy0xMS0xOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9yZWdleGVjLmMgKGdldF9zdWJleHApOiBBZnRlciBjYWxsaW5nIGdldF9zdWJleHBfc3ViCglyZWxvYWQgYnVmIGFuZCBia3JlZl9zdHIuICBMaXR0bGUgb3B0aW1pemF0aW9uIGJ5IGF2b2lkaW5nIG1lbWNtcC4KCjIwMDMtMTEtMTQgIERhdmlkIE1vc2JlcmdlciAgIDxkYXZpZG1AaHBsLmhwLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc3lzZGVwLmgKCShHQVNfQUxJR05fQlJFQUtTX1VOV0lORF9JTkZPKTogRGVmaW5lIHRoaXMgbWFjcm8gdG8gaW5kaWNhdGUKCXRoYXQgYWxsIGV4aXN0aW5nIEdBUyB2ZXJzaW9ucyBoYXZlIGEgcHJvYmxlbSB3aXRoIC5hbGlnbiBpbnNpZGUKCWEgZnVuY3Rpb24uCgkqIHN5c2RlcHMvaWE2NC9tZW1jY3B5LlM6IFdvcmsgYXJvdW5kIEdBU19BTElHTl9CUkVBS1NfVU5XSU5EX0lORk8gYnVnLgoJKiBzeXNkZXBzL2lhNjQvbWVtY3B5LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2lhNjQvbWVtc2V0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2lhNjQvbWVtbW92ZS5TOiBMaWtld2lzZS4gIEFsc28gbW92ZSB0aGUganVtcC10YWJsZSB0bwoJb3V0IG9mIC50ZXh0IGludG8gLnJvZGF0YSwgd2hlcmUgaXQgYmVsb25ncy4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvcGlwZS5TOiBUaGVyZSBpcyBubyBuZWVkIHRvCglzYXZlL3Jlc3RvcmUgaW5wdXQtYXJndW1lbnRzLCBiZWNhdXNlIHRoZXkncmUgbmVjZXNzYXJpbHkKCXByZXNlcnZlZCBieSB0aGUga2VybmVsIHRvIHN1cHBvcnQgc3lzY2FsbC1yZXN0YXJ0LgoKMjAwMy0xMS0xOCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9yZWdleF9pbnRlcm5hbC5oIChyZV90b2tlbl90eXBlX3QpOiBSZW1vdmUgdW51c2VkIEFMVCwKCUVORF9PRl9SRV9UT0tFTl9UIGFuZCBTVUJFWFAuICBSZW9yZGVyIHZhbHVlcy4gIEFkZCBPUF9VVEY4X1BFUklPRAoJYW5kIEVQU0lMT05fQklULgoJKElTX0VQU0lMT05fTk9ERSk6IEp1c3QgdGVzdCBpZiBFUFNJTE9OX0JJVCBpcyBzZXQuCgkoQUNDRVBUX01CX05PREUpOiBSZXR1cm4gMSBmb3IgT1BfVVRGOF9QRVJJT0QgYXMgd2VsbC4KCSogcG9zaXgvcmVnZXhfaW50ZXJuYWwuYyAoY3JlYXRlX2NpX25ld3N0YXRlLCBjcmVhdGVfY2RfbmV3c3RhdGUpOgoJSGFuZGxlIE9QX1VURjhfUEVSSU9ELgoJKHJlX3N0cmluZ19yZWNvbnN0cnVjdCk6IFNldCB2YWxpZF9sZW4gZm9yIHNpbmdsZSBieXRlIGNoYXIgc2VhcmNoaW5nCgl3aXRoIG5vIHRyYW5zbGF0aW9uIGFuZCBjYXNlIHNlbnNpdGl2aXR5LgoJKiBwb3NpeC9yZWdjb21wLmMgKHJlX2NvbXBpbGVfZmFzdG1hcF9pdGVyLCBjYWxjX2ZpcnN0KTogSGFuZGxlCglPUF9VVEY4X1BFUklPRC4KCShyZV9jb21waWxlX2ludGVybmFsKTogRG9uJ3QgY2FsbCBvcHRpbWl6ZV91dGY4IGlmIHByZWctPnRyYW5zbGF0ZQoJIT0gTlVMTC4KCShvcHRpbWl6ZV91dGY4KTogUmVtb3ZlIEJBQ0tfU0xBU0ggY2FzZS4KCVRyYW5zZm9ybSBPUF9QRVJJT0QgaW50byBPUF9VVEY4X1BFUklPRCBpZiB0aGUgc2VhcmNoaW5nIGNhbiBiZQoJb3B0aW1pemVkLgoJKHBhcnNlX2JyYWNrZXRfZXhwKTogRG9uJ3QgY3JlYXRlIFNJTVBMRV9CUkFDS0VUIGlmIGl0IGRvZXNuJ3QgaGF2ZQoJYW55IGJpdHMgc2V0IGFuZCBDT01QTEVYX0JSQUNLRVQgaXMgdXNlZC4KCSogcG9zaXgvcmVnZXhlYy5jICh0cmFuc2l0X3N0YXRlX21iKTogRml4IGNvbW1lbnQgdHlwby4KCShncm91cF9ub2Rlc19pbnRvX0RGQXN0YXRlcywgY2hlY2tfbm9kZV9hY2NlcHQpOiBIYW5kbGUKCU9QX1VURjhfUEVSSU9ELgoJKGNoZWNrX25vZGVfYWNjZXB0X2J5dGVzKTogTGlrZXdpc2UuICBSZW9yZGVyIHNsaWdodGx5IHNvIHRoYXQKCXJlX3N0cmluZ19jaGFyX3NpemVfYXQgYW5kIHJlX3N0cmluZ19lbGVtX3NpemVfYXQgYXJlIGNhbGxlZAoJb25seSB3aGVuIG5lZWRlZC4KCSogcG9zaXgvYnVnLXJlZ2V4MjAuYyAoQlJFLCBFUkUpOiBEZWZpbmUuCgkodGVzdHMpOiBVc2UgdGhlbSB0byBtYWtlIGxpbmVzIHNob3J0ZXIuICBFeHBlY3QgLiB0byBiZQoJb3B0aW1pemVkLiAgQWRkIGxvdHMgb2YgbmV3IHRlc3RzLgoJKG1haW4pOiBSdW4gKEFUTSBqdXN0IGNhc2Ugc2Vuc2l0aXZlKSB0ZXN0IHdpdGggYmFja3dhcmRzIHNlYXJjaGluZwoJYXMgd2VsbC4KCjIwMDMtMTEtMTggIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogaW8vYnVnLWZ0dzQuYzogSW5jbHVkZSBzdHJpbmcuaC4KCSogcG9zaXgvZm5tYXRjaC5jIChtYnNpbml0KTogUmVtb3ZlIGRlZmluZS4KCjIwMDMtMTEtMTcgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogcG9zaXgvcmVnY29tcC5jIChvcHRpbWl6ZV91dGY4KTogT3B0aW1pemUgbXVsdGktYnl0ZSBjaGFycyBhcwoJd2VsbC4KCSogcG9zaXgvYnVnLXJlZ2V4MjAuYyAodGVzdHMpOiBBZGQgbmV3IHRlc3RzLiAgTXVsdGktYnl0ZSBjaGFyCglmb2xsb3dlZCBieSBkdXAgb3BlcmF0b3IgaXMgZXhwZWN0ZWQgdG8gYmUgb3B0aW1pemVkLgoKCSogcG9zaXgvcmVnZXhlYy5jIChjaGVja19ub2RlX2FjY2VwdF9ieXRlcyk6IE1vdmUgbnJ1bGVzIGFuZCBqCgl2YXJpYWJsZXMgdG8gdGhlIGJsb2NrIHdoZXJlIHRoZXkgYXJlIG9ubHkgdXNlZCwgaW5pdGlhbGl6ZQoJbnJ1bGVzIG9ubHkgaW1tZWRpYXRlbHkgYmVmb3JlIHVzaW5nIGl0LgoKMjAwMy0xMS0xNSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy94ODZfNjQvZnB1L3Nfc2NhbGJubC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy94ODZfNjQvZnB1L3NfdHJ1bmNsLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3g4Nl82NC9mcHUvc19uZWFyYnlpbnRsLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3g4Nl82NC9mcHUvc19mbG9vcmwuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMveDg2XzY0L2ZwdS9zX2lsb2dibC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy94ODZfNjQvZnB1L2VfcmVtYWluZGVybC5TOiBOZXcgZmlsZS4KCgkqIG1hdGgvbGlibS10ZXN0LmluYyAoZmxvb3JfdGVzdCk6IFRlc3QgYWxzbyCxMC4yNS4KCShjZWlsX3Rlc3QpOiBUZXN0IC0wLjI1LgoKMjAwMy0xMS0xNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3Bvc2l4L2dldGFkZHJpbmZvLmM6IEFkZCBzdXBwb3J0IGZvciBkZXN0aW5hdGlvbiBhZGRyZXNzCglzZWxlY3Rpb24gYWNjb3JkaW5nIHRvIFJGQyAzNDg0LgoKMjAwMy0xMS0xNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9yZWdleF9pbnRlcm5hbC5oOiBBZGQgZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiByZV9kZmFfdC4KCVJlcGxhY2UgbGFzdCB0d28gcGFyYW1ldGVycyBvZiByZV9zdHJpbmdfYWxsb2NhdGUgYW5kCglyZV9zdHJpbmdfY29uc3RydWN0IHdpdGggcG9pbnRlciB0byBERkEuCgkocmVfZGZhX3QpOiBBZGQgbWFwX25vdGFzY2lpIGZpZWxkLgoJKiBwb3NpeC9yZWdjb21wLmMgKHJlX2NvbXBpbGVfaW50ZXJuYWwpOiBBZGQgY2FsbCBvZgoJcmVfc3RyaW5nX2NvbnN0cnVjdC4KCShpbml0X2RmYSk6IEluaXRpYWxpemUgbWFwX25vdGFzY2lpLgoJKiBwb3NpeC9yZWdleF9pbnRlcm5hbC5jOiBBZGp1c3QgZGVmaW5pdGlvbnMgb2YgcmVfc3RyaW5nX2FsbG9jYXRlCglhbmQgcmVfc3RyaW5nX2NvbnN0cnVjdC4KCVBhc3MgREZBIHRvIHJlX3N0cmluZ19jb25zdHJ1Y3QuICBBZGp1c3QgZGVmaW5pdGlvbi4gIEluaXRpYWxpemUKCW1hcF9ub3Rhc2NpaSBmaWVsZC4KCShidWlsZF93Y3NfdXBwZXJfYnVmZmVyKTogSWYgbWFwX25vdGFzY2lpIGlzIHplcm8gdXNlIHNpbXBsaWZpZWQKCW1ldGhvZCB0byBtYXAgQVNDSUkgdmFsdWVzIHRvIHVwcGVyIGNhc2UuCgkqIHBvc2l4L3JlZ2V4LmM6IEluY2x1ZGUgbG9jYWxlaW5mby5oLgoJKiBwb3NpeC9yZWdleGVjLmM6IEFkanVzdCBjYWxsIG9mIHJlX3N0cmluZ19hbGxvY2F0ZS4KCgkqIGxvY2FsZS9sYW5naW5mby5oOiBBZGQgX05MX0NUWVBFX01BUF9UT19OT05BU0NJSS4KCSogbG9jYWxlL2xvY2FsZWluZm8uaCAoTElNQUdJQyk6IENoYW5nZSB2YWx1ZS4KCSogbG9jYWxlL2NhdGVnb3JpZXMuZGVmLiBBZGQgZW50cnkgZm9yIF9OTF9DVFlQRV9NQVBfVE9fTk9OQVNDSUkuCgkqIGxvY2FsZS9DLWN0eXBlLmg6IExpa2V3aXNlLgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY3R5cGUuYzogQ29tcHV0ZSB3aGV0aGVyIGFueSBtYXBwaW5nIG1hcHMgZnJvbQoJQVNDSUkgdG8gbm9uLUFTQ0lJIHZhbHVlLiAgV3JpdGUgb3V0IHRoYXQgdmFsdWUuCgoJKiB3Y3NtYnMvbWJzaW5pdC5jOiBVbmRlZiBtYnNpbml0IGFuZCBfX21ic2luaXQuCgkqIGluY2x1ZGUvd2NoYXIuaDogUHJvdmlkZSBpbmxpbmUgdmVyc2lvbnMgb2YgbWJzaW5pdCBhbmQgX19tYnNpbml0LgoKMjAwMy0xMS0xNCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBwb3NpeC90c3QtcnhzcGVuY2VyLmMgKGNoZWNrX21hdGNoKTogQCB3aXRob3V0IGFueSBmb2xsb3dpbmcKCWNoYXJhY3RlcnMgbXVzdCBtYXRjaCBvbmx5IGVuZCBvZiBzdHJpbmcuCgkobWFpbik6IEZpeCBmaWxlbmFtZSBpbiBlcnJvciBtZXNzYWdlLgoKMjAwMy0xMS0xMiAgRGF2aWQgTW9zYmVyZ2VyICA8ZGF2aWRtQGhwbC5ocC5jb20+CgoJKiBzeXNkZXBzL2lhNjQvZGwtbWFjaGluZS5oOiBGb3JjZSBpbmxpbmluZyBvZgoJZWxmX21hY2hpbmVfcnVudGltZV9zZXR1cCgpLgoKMjAwMy0xMS0xMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbWF0aC9NYWtlZmlsZSAoQ0ZMQUdTLXRlc3QtZmxvYXQuYyk6IEFkZCAtZm5vLWJ1aWx0aW4uCgkoQ0ZMQUdTLXRlc3QtZG91YmxlLmMpOiBMaWtld2lzZS4KCShDRkxBR1MtdGVzdC1sZG91YmxlLmMpOiBMaWtld2lzZS4KCShDUFBGTEFHUy10ZXN0LWlmbG9hdC5jKTogTGlrZXdpc2UuCgkoQ1BQRkxBR1MtdGVzdC1pZG91YmxlLmMpOiBMaWtld2lzZS4KCShDUFBGTEFHUy10ZXN0LWlsZG91YmwuYyk6IExpa2V3aXNlLgoKCSogbWF0aC9saWJtLXRlc3QuaW5jIChjZWlsX3Rlc3QpOiBUZXN0IGNlaWwgKDAuMjUpLgoKMjAwMy0xMS0wNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pZmFkZHJzLmM6IE1ha2Ugc3VyZSBpdCdzIHRoZSBrZXJuZWwgd2hvCglzZW5kcyB0aGUgbmV0bGluayBkYXRhLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jaGVja19wZi5jOiBMaWtld2lzZS4KCjIwMDMtMTEtMTMgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogcG9zaXgvcmVnY29tcC5jIChvcHRpbWl6ZV91dGY4KTogT3B0aW1pemUgZXZlbiBpZiBTSU1QTEVfQlJBQ0tFVAoJd2l0aCBubyBiaXRzIHNldCBmb3IgPj0gMHg4MCBjaGFycyBpcyBzZWVuLgoJKiBwb3NpeC9idWctcmVnZXgyMC5jICh0ZXN0cyk6IEFkZCBuZXcgdGVzdHMuICBFeHBlY3QgW0FCQ10gdG8gYmUKCW9wdGltaXplZC4KCShtYWluKTogUnVuIGFsbCB0ZXN0cyB3aXRoIFJFX0lDQVNFIGFzIHdlbGwuCgoyMDAzLTExLTEzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHBvc2l4L01ha2VmaWxlOiBBZGQgcnVsZXMgdG8gYnVpbGQgYW5kIHJ1biB0c3QtcnhzcGVuY2VyLgoJKGRpc3RyaWJ1dGUpOiBBZGQgcnhzcGVuY2VyL3Rlc3RzIGFuZCByeHNwZW5jZXIvQ09QWVJJR0hULgoJKiBwb3NpeC90c3QtcnhzcGVuY2VyLmM6IE5ldyBmaWxlLgoJKiBwb3NpeC9yeHNwZW5jZXIvdGVzdHM6IE5ldyBmaWxlLgoJKiBwb3NpeC9yeHNwZW5jZXIvQ09QWVJJR0hUOiBOZXcgZmlsZS4KCVBhdGNoIG1vc3RseSBieSBKYWt1YiBKZWxpbmVrLgoKCSogcG9zaXgvcmVnY29tcC5jIChwYXJzZV9icmFja2V0X2V4cCk6IERvbid0IGNoZWNrIGZvciByYW5nZSBpZgoJdGhpcyBpcyBubyBvcHRpb24gZ2l2ZW4gdGhlIGZpcnN0IHRva2VuLgoKCSogcG9zaXgvcmVnY29tcC5jIChwYXJzZV9icmFja2V0X2V4cCk6IEZpeCB0ZXN0IGZvciBFT1MgYWZ0ZXIKCWh5cGhlbiBpbiByYW5nZSBleHByZXNzaW9uLiAgUmV0dXJuIEVCUkFDSyBpbiB0aGlzIGNhc2UuCgoJKiBwb3NpeC9yZWdjb21wLmMgKHBhcnNlX2JyYWNrZXRfZWxlbWVudCk6IFJlamVjdCBoeXBoZW5zIHVubGVzcwoJd2UgZXhwZWN0IHRoZW0gb3IgaXQncyB0aGUgbGFzdCBlbGVtZW50IGluIHRoZSBicmFja2V0IGV4cHJlc3Npb24uCglJbmRpY2F0ZWQgYnkgbmV3IHBhcmFtZXRlci4gIEFkanVzdCBhbGwgY2FsbGVycy4KCgkqIHBvc2l4L3J1bnRlc3RzLmMgKHJ1bl9hX3Rlc3QpOiBJZiByZWdjb21wIGZhaWxlZCwgcmVzZXQgbGFzdF9wYXR0ZXJuLgoJUHJldHRpZXIgZXJyb3IgbWVzc2FnZXMuCgoJKiBwb3NpeC9yZWdjb21wLmMgKHBhcnNlX2R1cF9vcCk6IEZhaWwgd2l0aCBSRUdfQkFEQlIgaXMgZmlyc3QKCW51bWJlciBpbiB7LH0gZXhwcmVzc2lvbiBpcyBsYXJnZXIuCgoyMDAzLTExLTEzICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9rZXJuZWwtZmVhdHVyZXMuaCAoX19BU1NVTUVfVEdLSUxMKToKCURlZmluZSBhcHByb3ByaWF0ZWx5IGZvciB4ODZfNjQuCgkoX19BU1NVTUVfVVRJTUVTKTogTGlrZXdpc2UuCgkoX19BU1NVTUVfQ0xPTkVfVEhSRUFEX0ZMQUdTKTogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL3g4Nl82NC9mcHUvc19jZWlsbC5TOiBOZXcgZmlsZS4KCjIwMDMtMTEtMTMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvcmVnY29tcC5jIChwYXJzZV9leHByZXNzaW9uKTogSW4gQlJFIGNvbnNlY3V0aXZlCglkdXBsaWNhdGlvbnMgYXJlIG5vdCBhbGxvd2VkLgoKMjAwMy0xMS0xMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9yZWdjb21wLmMgKHBhcnNlX2JyYWNrZXRfZXhwKTogSWYgZW5kIG9mIGV4cHJlc3Npb24gaXMKCXNlZW4sIHJldHVybiBFQlJBQ0sgZXJyb3IsIG5vdCBCQURQQVQuCgoJKiBwb3NpeC9yZWdjb21wLmMgKHBhcnNlX2V4cHJlc3Npb24pOiBJZiB0b2tlbiBpcyBPUF9PUEVOX0RVUF9OVU0KCWFuZCBSRV9DT05URVhUX0lOVkFMSURfRFVQIHN5bnRheCBmbGFnIGlzIHNldCwgZmFpbC4KCSogcG9zaXgvcmVnZXguaCAoUkVfQ09OVEVYVF9JTlZBTFVEX09QUyk6IE5ldyBtYWNyby4KCShSRV9TWU5UQVhfUE9TSVhfQkFTSUMpOiBVc2UgUkVfQ09OVEVYVF9JTlZBTFVEX09QUy4KCgkqIHBvc2l4L3JlZ2NvbXAuYyAocGFyc2Vfc3ViX2V4cCk6IEluIGNhc2Ugb2Ygbm90LW1hdGNoaW5nICggKQoJcmV0dXJuIFJFR19FUEFSRU4uCgoJKiBwb3NpeC9QVEVTVFM6IENsZWFudXAuICBGaXggdHlwb2VzLiAgQ29ycmVjdCBidWdzIGluIDIwMDMuMi4KCSogcG9zaXgvcnVucHRlc3RzLmMgKG1haW4pOiBIYW5kbGUgY29tbWVudHMuCgkqIHBvc2l4L1BURVNUUzJDLnNlZDogSGFuZGxlIGNvbW1lbnRzLgoKMjAwMy0xMS0xMiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9yZWdjb21wLmMgKG9wdGltaXplX3V0ZjgpOiBOZXcgZnVuY3Rpb24uCgkocmVfY29tcGlsZV9mYXN0bWFwX2l0ZXIpOiBVc2UgZGZhLT5tYl9jdXJfbWF4ID4gMSBpbnN0ZWFkCglvZiAhaWNhc2UuCgkocmVfY29tcGlsZV9pbnRlcm5hbCk6IENhbGwgb3B0aW1pemVfdXRmOCBpZiBub3QgY2FzZSBpbnNlbnNpdGl2ZQoJYW5kIGluIFVURi04IGxvY2FsZS4KCSogcG9zaXgvcmVnZXhfaW50ZXJuYWwuaDogSWZkZWYgb3V0IHNvbWUgcHJvdG90eXBlcyBpZgoJUkVfTk9fSU5URVJOQUxfUFJPVE9UWVBFUyBpcyBkZWZpbmVkIHRvIHNodXQgdXAgd2FybmluZ3MuCgkqIHBvc2l4L01ha2VmaWxlICh0ZXN0cyk6IEFkZCBidWctcmVnZXgyMC4KCShidWctcmVnZXgyMC1FTlYpOiBBZGQgTE9DUEFUSC4KCSogcG9zaXgvYnVnLXJlZ2V4MjAuYzogTmV3IHRlc3QuCgoyMDAzLTExLTEyICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGlvL2Z0dy5jIChORlRXX05FV19OQU1FLCBORlRXX09MRF9OQU1FKTogQWRkIHByb3RvdHlwZXMuCgoyMDAzLTExLTEyICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHBvc2l4L3RzdC1yZWdleC5jICh1bWVtbGVuKTogTmV3IHZhcmlhYmxlLgoJKHRlc3RfZXhwcik6IEFkZCBleHBlY3RlZGljYXNlIGFyZ3VtZW50LiAgVGVzdCBjYXNlIGluc2Vuc2l0aXZlCglzZWFyY2hlcyBhcyB3ZWxsIGFzIGJhY2t3YXJkcyBzZWFyY2hlcyAoY2FzZSBzZW5zaXRpdmUgYW5kCglpbnNlbnNpdGl2ZSkgdG9vLgoJKHJ1bl90ZXN0KTogQWRkIGljYXNlIGFyZ3VtZW50LiAgVXNlIGl0IHRvIGNvbXB1dGUgcmVnY29tcCBmbGFncy4KCShydW5fdGVzdF9iYWNrd2FyZHMpOiBOZXcgZnVuY3Rpb24uCgkobWFpbik6IENhc3QgcmVhZCB0byBzaXplX3QgdG8gYXZvaWQgd2FybmluZy4gIFNldCB1bWVtbGVuLgoJQWRkIGV4cGVjdGVkaWNhc2UgYXJndW1lbnRzIHRvIHRlc3RfZXhwci4KCSogcG9zaXgvcmVnZXhfaW50ZXJuYWwuYyAocmVfc3RyaW5nX3JlY29uc3RydWN0KTogSWYgaXNfdXRmOCwKCWZpbmQgcHJldmlvdXMgY2hhcmFjdGVyIGJ5IHdhbGtpbmcgYmFjayBpbnN0ZWFkIG9mIGNvbnZlcnRpbmcKCWFsbCBjaGFycyBmcm9tIGJlZ2lubmluZy4KCjIwMDMtMTEtMTIgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogcG9zaXgvcmVnZXhfaW50ZXJuYWwuaCAoc3RydWN0IHJlX3N0cmluZ190KTogQWRkIGlzX3V0ZjgKCWFuZCBtYl9jdXJfbWF4IGZpZWxkcy4KCShzdHJ1Y3QgcmVfZGZhX3QpOiBMaWtld2lzZS4gIFJlb3JkZXIgZmllbGRzIHRvIG1ha2Ugc3RydWN0dXJlCglzbWFsbGVyIG9uIDY0LWJpdCBhcmNoZXMuCgkocmVfc3RyaW5nX2FsbG9jYXRlLCByZV9zdHJpbmdfY29uc3RydWN0KTogQWRkIG1iX2N1cl9tYXggYW5kCglpc191dGY4IGFyZ3VtZW50cy4KCShyZV9zdHJpbmdfY2hhcl9zaXplX2F0LCByZV9zdHJpbmdfd2NoYXJfYXQpOiBVc2UgcHN0ci0+bWJfY3VyX21heAoJaW5zdGVhZCBvZiBNQl9DVVJfTUFYLgoJKiBwb3NpeC9yZWdjb21wLmMgKHJlX2NvbXBpbGVfZmFzdG1hcF9pdGVyKTogVXNlIGRmYS0+bWJfY3VyX21heAoJaW5zdGVhZCBvZiBNQl9DVVJfTUFYLgoJKHJlX2NvbXBpbGVfaW50ZXJuYWwpOiBQYXNzIG5ldyBhcmd1bWVudHMgdG8gcmVfc3RyaW5nX2NvbnN0cnVjdC4KCShpbml0X2RmYSk6IEluaXRpYWxpemUgbWJfY3VyX21heCBhbmQgaXNfdXRmOCBmaWVsZHMuCgkocGVla190b2tlbiwgcGVla190b2tlbl9icmFja2V0KTogVXNlIGlucHV0LT5tYl9jdXJfbWF4IGluc3RlYWQKCW9mIE1CX0NVUl9NQVguCgkocGFyc2VfZXhwcmVzc2lvbiwgcGFyc2VfYnJhY2tldF9leHAsIHBhcnNlX2NoYXJjbGFzc19vcCk6IFVzZQoJZGZhLT5tYl9jdXJfbWF4IGluc3RlYWQgb2YgTUJfQ1VSX01BWC4KCSogcG9zaXgvcmVnZXhfaW50ZXJuYWwuYyAocmVfc3RyaW5nX2NvbnN0cnVjdF9jb21tb24pOiBBZGQKCW1iX2N1cl9tYXggYW5kIGlzX3V0ZjggYXJndW1lbnRzLiAgSW5pdGlhbGl6ZSBmaWVsZHMgd2l0aCB0aGVtLgoJKHJlX3N0cmluZ19hbGxvY2F0ZSwgcmVfc3RyaW5nX2NvbnN0cnVjdCk6IEFkZCBtYl9jdXJfbWF4IGFuZAoJaXNfdXRmOCBhcmd1bWVudHMsIHBhc3MgdGhlbSB0byByZV9zdHJpbmdfY29uc3RydWN0X2NvbW1vbi4KCVVzZSBtYl9jdXJfbWF4IGluc3RlYWQgb2YgTUJfQ1VSX01BWC4KCShyZV9zdHJpbmdfcmVhbGxvY19idWZmZXJzKTogVXNlIHBzdHItPm1iX2N1cl9tYXggaW5zdGVhZCBvZgoJTUJfQ1VSX01BWC4KCShyZV9zdHJpbmdfcmVjb25zdHJ1Y3QpOiBMaWtld2lzZS4KCShyZV9zdHJpbmdfY29udGV4dF9hdCk6IFVzZSBpbnB1dC0+bWJfY3VyX21heCBpbnN0ZWFkIG9mCglNQl9DVVJfTUFYLgoJKGNyZWF0ZV9jaV9uZXdzdGF0ZSwgY3JlYXRlX2NkX25ld3N0YXRlKTogVXNlIGRmYS0+bWJfY3VyX21heAoJaW5zdGVhZCBvZiBNQl9DVVJfTUFYLgoJKiBwb3NpeC9yZWdleGVjLmMgKHJlX3NlYXJjaF9pbnRlcm5hbCk6IExpa2V3aXNlLgoJUGFzcyBuZXcgYXJndW1lbnRzIHRvIHJlX3N0cmluZ19hbGxvY2F0ZS4KCShjaGVja19tYXRjaGluZywgdHJhbnNpdF9zdGF0ZV9zYik6IFVzZSBkZmEtPm1iX2N1cl9tYXggaW5zdGVhZCBvZgoJTUJfQ1VSX01BWC4KCShleHRlbmRfYnVmZmVycyk6IFVzZSBwc3RyLT5tYl9jdXJfbWF4IGluc3RlYWQgb2YgTUJfQ1VSX01BWC4KCjIwMDMtMTEtMTIgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogcG9zaXgvTWFrZWZpbGUgKHRlc3RzKTogQWRkIGJ1Zy1yZWdleDE5LgoJKGJ1Zy1yZWdleDE5LUVOVik6IEFkZCBMT0NQQVRILgoJKiBwb3NpeC9idWctcmVnZXgxOS5jOiBOZXcgdGVzdC4KCjIwMDMtMTEtMTEgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogcG9zaXgvcmVnY29tcC5jIChyZV9jb21waWxlX2Zhc3RtYXBfaXRlcik6IEhhbmRsZSBSRV9JQ0FTRQoJd2l0aCBNQl9DVVJfTUFYID4gMSBsb2NhbGVzIGluIHRoZSBmYXN0bWFwLgoKMjAwMy0xMS0xMSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9yZWdleF9pbnRlcm5hbC5jIChidWlsZF93Y3NfYnVmZmVyKTogRml4IGNvbW1lbnQgdHlwby4KCShidWlsZF93Y3NfdXBwZXJfYnVmZmVyKTogTGlrZXdpc2UuICBVc2UgdG93dXBwZXIgZm9yIHdjaGFyX3QgaW5zdGVhZAoJb2YgdG91cHBlci4KCSogcG9zaXgvTWFrZWZpbGUgKHRlc3RzKTogQWRkIGJ1Zy1yZWdleDE3IGFuZCBidWctcmVnZXgxOC4KCShidWctcmVnZXgxNy1FTlYsIGJ1Zy1yZWdleDE4LUVOVik6IEFkZCBMT0NQQVRILgoJKiBwb3NpeC9idWctcmVnZXgxNy5jOiBOZXcgZmlsZQoJKiBwb3NpeC9idWctcmVnZXgxOC5jOiBOZXcgZmlsZS4KCjIwMDMtMTAtMDggIFRob3JzdGVuIEt1a3VrICA8a3VrdWtAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvc3lzZGVwLmggKHByZWFkLCBwd3JpdGUpOgoJRGVmaW5lIF9fTlJfcHJlYWQvX19OUl9wd3JpdGUgaWYgbm90IGRvbmUgaW4ga2VybmVsIGhlYWRlcnMKCjIwMDMtMTEtMTEgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBtYW51YWwveHRyYWN0LXR5cGVmdW4uYXdrOiBTd2FsbG93IFsoKXt9Kl0gZnJvbSBmdW5jdGlvbiBuYW1lcy4KCgkqIG1hbnVhbC9NYWtlZmlsZSAoaW5mbyk6IERvbid0IGRlcGVuZCBvbiBkaXItYWRkLmluZm8uCgkobGliYy5kdmkgbGliYy5wZGYgbGliYy5pbmZvKTogRGVwZW5kIG9uIGRpci1hZGQudGV4aS4KCShkaXItYWRkLmluZm8pOiBUYXJnZXQgcmVtb3ZlZCwgcmVwbGFjZWQgd2l0aCAuLi4KCShkaXItYWRkLnRleGkpOiBOZXcgdGFyZ2V0LgoJKGRpc3RyaWJ1dGUpOiBBZGQgaXQuCgkoaW5zdGFsbCk6IFJlbW92ZSB2YXJpYW50IHdpdGggLS1zZWN0aW9uIGFyZ3VtZW50cy4KCUxldCB0aGUgQGRpcmNhdGVnb3J5IGRpcmVjdGl2ZXMgZG8gdGhlaXIgd29yay4KCShtb3N0bHljbGVhbik6IERvbid0IHJlbW92ZSBkaXItYWRkLmluZm8gaGVyZS4KCShyZWFsY2xlYW4pOiBSZW1vdmUgZGlyLWFkZC50ZXhpIGhlcmUuCgkqIG1hbnVhbC9saWJjLnRleGluZm86IEBpbmNsdWRlIGRpci1hZGQudGV4aQoJKiBjb25maWd1cmUuaW46IFJlbW92ZSBjaGVjayBmb3Igb2xkIERlYmlhbiBpbnN0YWxsLWluZm8uCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZWQuCgkqIGNvbmZpZy5tYWtlLmluIChPTERfREVCSUFOX0lOU1RBTExfSU5GTyk6IFZhcmlhYmxlIHJlbW92ZWQuCgoyMDAzLTExLTA4ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogc2NyaXB0cy9kYXRhL2MrKy10eXBlcy1pYTY0LWxpbnV4LWdudS5kYXRhOiBOZXcgZmlsZS4KCjIwMDMtMTEtMTAgIENhcmxvcyBPJ0RvbmVsbCAgPGNhcmxvc0BiYWxkcmljLnV3by5jYT4KCgkqIGlvL2Z0d3Rlc3Qtc2g6IEZpeCBuZXN0ZWQgc2VkIGNvbW1hbmRzLgoKMjAwMy0xMS0xMCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9yZWdleF9pbnRlcm5hbC5oIChyZV9zdHJpbmdfY2hhcl9zaXplX2F0KTogRG9uJ3QgbG9vayBiZXlvbmQKCXZhbGlkX2xlbiB3aWRlIGNoYXJzLgoKMjAwMy0xMS0wOSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIG1hbnVhbC9leGFtcGxlcy9kaXIyLmMgKG9uZSk6IEFkZCBjb25zdCB0byBhcmd1bWVudCB0eXBlLgoJUmVwb3J0ZWQgYnkgSiBkZSBIYWFuIDxqLmRlLmhhYW5AaG9tZS5ubD4uCgoyMDAzLTExLTA3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHBvL3BsLnBvOiBVcGRhdGUgZnJvbSB0cmFuc2xhdGlvbiB0ZWFtLgoKMjAwMy0xMS0wNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBpby9mdHcuYyAoTkZUV19PTERfTkFNRSwgTkZUV19ORVdfTkFNRSk6IERlZmluZS4KCShmdHdfZGlyLCBmdHdfc3RhcnR1cCk6IEFkZCBfX2F0dHJpYnV0ZSAoKG5vaW5saW5lKSkuCgkoTkZUV19PTERfTkFNRSwgTkZUV19ORVdfTkFNRSk6IE5ldyBmdW5jdGlvbnMuCgkoTkZUV19OQU1FKTogT25seSBkZWZpbmUgaWYgIV9MSUJDLCBhZGQgdmVyc2lvbmVkX3N5bWJvbAoJYW5kIGNvbXBhdF9zeW1ib2wuCgkqIGlvL2Z0dzY0LmMgKE5GVFdfT0xEX05BTUUsIE5GVFdfTkVXX05BTUUpOiBEZWZpbmUuCgkqIGlvL1ZlcnNpb25zIChsaWJjKTogRXhwb3J0IG5mdHdAQEdMSUJDXzIuMy4zCglhbmQgbmZ0dzY0QEBHTElCQ18yLjMuMy4KCgkqIGlvL2Z0dy5oIChGVFdfQUNUSU9OUkVUVkFMKTogTmV3IGZsYWcuCgkoRlRXX0NPTlRJTlVFLCBGVFdfU1RPUCwgRlRXX1NLSVBfU1VCVFJFRSwgRlRXX1NLSVBfU0lCTElOR1MpOiBOZXcuCgkqIGlvL2Z0dy5jIChmdHdfZGlyKTogQWRkIG9sZF9kaXIgYXJndW1lbnQuCglDbGVhciByZXN1bHQgaWYgaXQgd2FzIEZUV19TS0lQX1NJQkxJTkdTIGFmdGVyIHByb2Nlc3NpbmcgYWxsCglkaXIgZW50cmllcy4gIENoYW5nZSBjd2QgYmFjayBpZiBvbGRfZGlyICE9IE5VTEwuCgkocHJvY2Vzc19lbnRyeSk6IEFkanVzdCBjYWxsZXIuICBEb24ndCBjaGFuZ2UgY3dkIGJhY2sgaGVyZS4KCUNoYW5nZSBGVFdfU0tJUF9TVUJUUkVFIHJlc3VsdCB0byAwLgoJKGZ0d19zdGFydHVwKTogQWRqdXN0IGZ0d19kaXIgY2FsbGVyLgoJQ2xlYXIgcmVzdWx0IGlmIGl0IHdhcyBGVFdfU0tJUF9TVUJUUkVFIG9yIEZUV19TS0lQX1NJQkxJTkdTLgoJKiBpby9mdHd0ZXN0LmMgKHNraXBfc3VidHJlZSwgc2tpcF9zaWJsaW5ncyk6IE5ldyB2YXJpYWJsZXMuCgkob3B0aW9ucywgbWFpbik6IEFkZCAtLXNraXAtc3VidHJlZSBhbmQgLS1za2lwLXNpYmxpbmdzIG9wdGlvbnMuCgkoY2IpOiBVc2UgcmV0dXJuIEZUV19DT05USU5VRSBpbnN0ZWFkIG9mIHJldHVybiAwLgoJSGFuZGxlIC0tc2tpcC1zdWJ0cmVlIGFuZCAtLXNraXAtc2libGluZ3MuCgkqIGlvL2Z0d3Rlc3Qtc2g6IEFkZCB0ZXN0cyBmb3IgRlRXX0FDVElPTlJFVFZBTC4KCSogbWFudWFsL2ZpbGVzeXMudGV4aTogRG9jdW1lbnQgRlRXX0FDVElPTlJFVFZBTC4KCjIwMDMtMTEtMDQgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogaW8vZnR3LmMgKGZ0d19kaXIpOiBDbG9zZSBkaXIgaWYgY2FsbGJhY2sgd2l0aCBGVFdfRCB0eXBlIHJldHVybnMKCW5vbi16ZXJvLgoJKiBpby9NYWtlZmlsZSAodGVzdHMpOiBBZGQgYnVnLWZ0dzQuCgkqIGlvL2J1Zy1mdHc0LmM6IE5ldyB0ZXN0LgoKMjAwMy0xMC0yNyAgRGFuaWVsIEphY29ib3dpdHogIDxkcm93QG12aXN0YS5jb20+CgoJKiBsaWJpby9saWJpb1AuaCBbX0lPX1VTRV9PTERfSU9fRklMRV0KCShzdHJ1Y3QgX0lPX0ZJTEVfY29tcGxldGVfcGx1cyk6IE5ldyB0eXBlLgoJKiBsaWJpby9vbGRpb2ZvcGVuLmMgKF9JT19vbGRfZm9wZW4pOiBVc2UgX0lPX0ZJTEVfY29tcGxldGVfcGx1cy4KCSogbGliaW8vb2xkaW9mZG9wZW4uYyAoX0lPX29sZF9mZG9wZW4pOiBMaWtld2lzZS4KCSogbGliaW8vb2xkaW9wb3Blbi5jIChzdHJ1Y3QgX0lPX3Byb2NfZmlsZSwgX0lPX29sZF9wb3Blbik6IExpa2V3aXNlLgoJQ2FsbCBfSU9fb2xkX2luaXQgaW5zdGVhZCBvZiBfSU9faW5pdC4KCjIwMDMtMTEtMDMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW50bC9sb2NhbGUuYWxpYXM6IG5iX05PIGlzIG5vdyB0aGUgY29ycmVjdCBuYW1lLCBub3Qgbm9fTk8uCgoJKiBsb2NhbGUvaXNvLTYzOS5kZWY6IEFkZCBCbGluLgoJUGF0Y2ggYnkgRGFuaWVsIFlhY29iIDxsb2NhbGVzQGdlZXoub3JnPi4KCjIwMDMtMTAtMzEgIFN0ZXZlbiBNdW5yb2UgIDxzam11bnJvZUB1cy5pYm0uY29tPgoKCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGMzMi9zdHJuY21wLlM6IE5ldyBGaWxlLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzY0L3N0cm5jbXAuUzogTmV3IEZpbGUuCgoyMDAzLTExLTAxICBSYW5kb2xwaCBDaHVuZyAgPHRhdXNxQGRlYmlhbi5vcmc+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ocHBhL3N5c2RlcC5oIChMT0FEX0FSR1NfMCwgTE9BRF9BUkdTXzEsCglMT0FEX0FSR1NfMiwgTE9BRF9BUkdTXzMsIExPQURfQVJHU180LCBMT0FEX0FSR1NfNSwgTE9BRF9BUkdTXzYpOgoJQWRkIG1pc3NpbmcgcGFyZW50aGVzZXMuCgoyMDAzLTExLTAxICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogbGliaW8vYnVnLWZ0ZWxsLmMgKGRvX3Rlc3QpOiBBZGQgYSBjYXN0LgoKMjAwMy0wOS0yNiAgRGFuaWVsIEphY29ib3dpdHogIDxkcm93QG12aXN0YS5jb20+CgoJKiBNYWtlcnVsZXMgKHNobGliLmxkcyk6IE1ha2Ugc3VyZSB0aGF0IGxkIGRvZXNuJ3QgdHJ5IHRvIGxpbmsKCWFueXRoaW5nIHdoaWxlIGdlbmVyYXRpbmcgdGhlIGxpbmtlciBzY3JpcHQuCgoyMDAzLTEwLTMxICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogbG9jYWxlL2xjLWN0eXBlLmMgKF9ubF9wb3N0bG9hZF9jdHlwZSk6IFVwZGF0ZSBfbmxfZ2xvYmFsX2xvY2FsZSdzCglzcGVjaWFsIG1lbWJlcnMuCgoyMDAzLTEwLTI5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHBvL2JlLnBvOiBVcGRhdGUgZnJvbSB0cmFuc2xhdGlvbiB0ZWFtLgoKMjAwMy0xMC0yNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvcnRsZC5jIChtYXBfZG9pdCk6IFBhc3MgX19SVExEX09QRU5FWEVDIGluIGxhc3QgcGFyYW1ldGVyIHRvCglfZGxfbWFwX29iamVjdC4KCgkqIGVsZi9zcHJvZi5jIChsb2FkX3Nob2JqKTogVXNlIGxfbWFwX3N0YXJ0IG5vdCBsX2FkZHIgdG8gbG9jYXRlCglFTEYgaGVhZGVyLgoKCSogaW5ldC9yY21kLmMgKF9fdmFsaWR1c2VyMl9zYSk6IFJlbW92ZSB1bm5lY2Vzc2FyeSBjb2RlIHRvIHNraXAKCXJlc3Qgb2YgbGluZS4gIFdlIHVzZSBnZXRsaW5lIHdoaWNoIG1lYW5zIHRoaXMgY2Fubm90IGhhcHBlbi4KCjIwMDMtMTAtMjYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaW50ZXJuYWxfc3RhdHZmcy5jIChfX2ludGVybmFsX3N0YXR2ZnMpOgoJQXZvaWQgaW5maW5pdGUgbG9vcHMgaW4gY2FzZSB0aGUgbW91bnRzIGZpbGUgaXMgaG9zZWQuCgkqIGlvL01ha2VmaWxlOiBBZGQgcnVsZXMgdG8gYnVpbGQgYW5kIHJ1biB0c3Qtc3RhdHZmcy4KCSogaW8vdHN0LXN0YXR2ZnMuYzogTmV3IGZpbGUuCgoJKiBpbmNsdWRlL2RsZmNuLmggKF9fUlRMRF9PUEVORVhFQyk6IERlZmluZS4KCSogZWxmL2RsLWxvYWQuYyAoX2RsX21hcF9vYmplY3RfZnJvbV9mZCk6IERvbid0IGFsbG93IGxvYWRpbmcKCWV4ZWN1dGFibGVzIHVubGVzcyBfX1JUTERfT1BFTkVYRUMgZmxhZyBpcyBwcmVzZW50LgoJKiBlbGYvcnRsZC5jIChkbF9tYWluKTogUGFzcyBfX1JUTERfT1BFTkVYRUMgZmxhZyB0bwoJX2RsX21hcF9vYmplY3Qgd2hlbiBsb2FkaW5nIHRoZSBleGVjdXRhYmxlLgoKCSogc3lzZGVwcy9nZW5lcmljL2dsb2IuYyAoZ2xvYik6IEhhbmRsZSBHTE9CX0JSQUNFIGFuZCBlc2NhcGluZwoJY29ycmVjdGx5LgoJKiBwb3NpeC9nbG9idGVzdC5zaDogQWRkIHRlc3RzIGZvciBHTE9CX0JSQUNFIGFuZCBlc2NhcGluZy4KCgkqIHJlc29sdi9uc3NfZG5zL2Rucy1ob3N0LmMgKF9uc3NfZG5zX2dldGhvc3RieWFkZHJfcik6IERlZmF1bHQKCXJldmVyc2UgbG9va3VwIGZvcm1hdCBmb3IgSVB2NiBhZGRyZXNzZXMgaXMgdXNpbmcgYml0c3RyaW5nIGFuZAoJLmlwNi5hcnBhIHN1ZmZpeC4KCSogcmVzb2x2L25zX25hbWUuYzogSW1wbGVtZW50IGVuY29kaW5nIGFuZCBkZWNvZGluZyBiaXRzdHJpbmcgaW4KCWhleCBmb3JtYXQuCgoyMDAzLTEwLTIzICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sb2NhbGUuYyAoc2hvd19pbmZvKTogRml4IHByaW50aW5nIHdvcmQgdmFsdWVzIG9uCgk2NC1iaXQgYmlnLWVuZGlhbiBhcmNoaXRlY3R1cmVzLgoKMjAwMy0xMC0xOSAgQnJ1bm8gSGFpYmxlICA8YnJ1bm9AY2xpc3Aub3JnPgoKCSogaW50bC9oYXNoLXN0cmluZy5jIChoYXNoX3N0cmluZyk6IFplcm8tZXh0ZW5kIGVhY2ggY2hhciBmcm9tIHRoZQoJc3RyaW5nOyB0aGUgb2xkIGNvZGUgZGlkIGEgc2lnbi1leHRlbmQgb24gc29tZSBwbGF0Zm9ybXMuCgoyMDAzLTEwLTIyICBTdGV2ZW4gTXVucm9lICA8c2ptdW5yb2VAdXMuaWJtLmNvbT4KCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvTWFrZWZpbGUgKCtjZmxhZ3MsIGFzbS1DUFBGTEFHUyk6IERvbid0CglhcHBlbmQgb3B0aW9ucyB0byB0aGVzZS4KCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9NYWtlZmlsZSAoK2NmbGFncywgYXNtLUNQUEZMQUdTKTogTGlrZXdpc2UuCgoyMDAzLTEwLTE4ICBDYXJsb3MgTydEb25lbGwgIDxjYXJsb3NAYmFsZHJpYy51d28uY2E+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ocHBhL3N5c2RlcC5oOiBGaXggbWVyZ2UgZXJyb3IuCgoyMDAzLTEwLTE1ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogZWxmL2RsLWl0ZXJhdGVwaGRyLmMgWyEgU0hBUkVEXSAoZGxfaXRlcmF0ZV9waGRyKTogTmV3IGZ1bmN0aW9uLgoJRmFrZSBhbiBlbnRyeSBmb3IgdGhlIG1haW4gZXhlY3V0YWJsZSBhbmQgdGhlbiBjYWxsIF9fZGxfaXRlcmF0ZV9waGRyLgoJKiBlbGYvTWFrZWZpbGUgKHJvdXRpbmVzKTogUmVtb3ZlIGRsLWl0ZXJhdGVwaGRyLXN0YXRpYy4KCShlbGlkZS1yb3V0aW5lcy5vcyk6IExpa2V3aXNlLgoJKENGTEFHUy1kbC1pdGVyYXRlLXBoZHItc3RhdGljLmMpOiBWYXJpYWJsZSByZW1vdmVkLgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtaXRlcmF0ZXBoZHItc3RhdGljLmM6IEZpbGUgcmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9kbC1pdGVyYXRlcGhkci1zdGF0aWMuYzogRmlsZSByZW1vdmVkLgoKMjAwMy0xMC0xNSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBlbGYvcnRsZC5jIChwcmludF9zdGF0aXN0aWNzKTogUHJpbnQgYWxzbyBudW1iZXIgb2YgcmVsYXRpdmUKCXJlbG9jYXRpb25zLgoKMjAwMy0xMC0xMiAgQ2FybG9zIE8nRG9uZWxsICA8Y2FybG9zQGJhbGRyaWMudXdvLmNhPgoKCSogc3lzZGVwcy9ocHBhL3N5c2RlcC5oOiBVbmRlZiBKVU1QVEFSR0VUIGJlZm9yZSB1c2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEvc3lzZGVwLmg6IERlZmluZSBQU0VVRE9fRVJSVkFMLAoJU1lTQ0FMTF9FUlJPUl9MQUJFTCB1bmRlciBhbGwgY29uZGl0aW9ucywgSU5URVJOQUxfU1lTQ0FMTF9ERUNMLAoJSU5URVJOQUxfU1lTQ0FMTF9FUlJPUl9QLCBJTlRFUk5BTF9TWVNDQUxMX0VSUk5PLCBJTlRFUk5BTF9TWVNDQUxMLAoJYW5kIHVuZGVmIEpVTVBUQVJHRVQgYmVmb3JlIHVzZS4KCVtQSUNdOiBTYXZlIHBpYyByZWdpc3RlciBhcm91bmQgc3lzY2FsbC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS9zeXNkZXAuYyAoc3lzY2FsbCk6CglDbGVhbnVwIGFzbSBzdGF0bWVudC4KCjIwMDMtMTAtMTMgIEtheiBLb2ppbWEgIDxra29qaW1hQHJyLmlpajR1Lm9yLmpwPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvc3lzZGVwLmggKERPX0NBTEwpOiBBZGQgU1lTQ0FMTF9JTlNUX1BBRAoJYWZ0ZXIgdHJhcGEgaW5zdHJ1Y3Rpb24uCgoyMDAzLTEwLTA5ICBLYXogS29qaW1hICA8a2tvamltYUByci5paWo0dS5vci5qcD4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3N5c2NhbGxzLmxpc3Q6IEFkZCB3YWl0cGlkLgoKMjAwMy0xMC0xMCAgQ2FybG9zIE8nRG9uZWxsICA8Y2FybG9zQGJhbGRyaWMudXdvLmNhPgoKCSogc3lzZGVwcy9ocHBhL01ha2VmaWxlIChDRkxBR1MtbWFsbG9jLmMpOiBWYXJpYWJsZSByZW1vdmVkLgoKMjAwMy0xMC0wOSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIGVsZi9ydGxkLmMgKGRsX21haW4pOiBEb24ndCBzZXQgbF9uYW1lIGZvciBzeXNpbmZvIERTTywgc2luY2UgdGhlcmUKCWlzIG5vIGZpbGUgdG8gbmFtZS4KCjIwMDMtMTAtMDggIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL2RsLXN5c2RlcC5jIChfZGxfaW1wb3J0YW50X2h3Y2Fwcyk6IERvbid0IGdlbmVyYXRlCgl0d28gaWRlbnRpY2FsIGNvcGllcyBvZiBzdHJpbmdzLgoKMjAwMy0xMC0wNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9idWctcmVnZXgxMS5jOiBBZGQgc29tZSBtb3JlIHRlc3RzIHdoaWNoIGZhaWwgc28gZmFyLgoJRGlzYWJsZSB0aGVtLiAgUGF0Y2ggYnkgUGFvbG8gQm9uemluaSA8Ym9uemluaUBnbnUub3JnPi4KCjIwMDMtMTAtMDUgIFBhb2xvIEJvbnppbmkgIDxib256aW5pQGdudS5vcmc+CgoJKiBwb3NpeC9idWctcmVnZXgxMS5jOiBBZGQgbW9yZSBiYWNrcmVmZXJlbmNlLXJlbGF0ZWQgdGVzdCBjYXNlcy4KCShtYWluKTogU2hvdyB0aGUgZmFpbGluZyByZWdleCBpbiB0aGUgZXJyb3IgbWVzc2FnZXMuCgkqIHBvc2l4L3JlZ2V4ZWMuYyAoY2hlY2tfZHN0X2xpbWl0c19jYWxjX3Bvcyk6CglTaW1wbGlmeSBzb21lIG5lc3RlZCBjb25kaXRpb25hbHMuICBSZXBsYWNlIGlmJ3Mgd2l0aCBhIHN3aXRjaAoJc3RhdGVtZW50LgoJKGNoZWNrX2RzdF9saW1pdHNfY2FsY19wb3MgPFRZUEVfQktSRUY+KTogUmVuYW1lIHBhcmFtZXRlciBOT0RFIHRvCglGUk9NX05PREUsIGl0IHNoYWRvd3MgYSBsb2NhbCB2YXJpYWJsZTsgZG9uJ3QgcmVjdXJzZSBpZiBGUk9NX05PREUKCWRvZXMgbm90IGNoYW5nZSBpbiB0aGUgcmVjdXJzaXZlIGludm9jYXRpb24sIGZpeGluZyBhbiBpbmZpbml0ZSBsb29wCglpbiB0aGUgKClcMSpcMSogcmVnZXguCgkoc2lmdF9zdGF0ZXNfYmFja3dhcmQpOiBGaXggZnVuY3Rpb24gY29tbWVudC4KCSogcG9zaXgvcmVnY29tcC5jIChjYWxjX2Vwc2Rlc3QpOiBBZGQgYW4gYXNzZXJ0aW9uLgoKMjAwMy0xMC0wNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBtYW51YWwvZXhhbXBsZXMvdGVzdG9wdC5jOiBGaXggd2FybmluZ3MuICBCZXR0ZXIgZXJyb3IgbWVzc2FnZQoJZm9yIG1pc3NpbmcgLWMgYXJndW1lbnQuCglQYXRjaCBtb3N0bHkgYnkgR2l0b25nYSBNYXJldGUgPGJnbWFyZXRlQGNvbWNhc3QubmV0Pi4KCgkqIHRpbWV6b25lL2FzaWE6IFVwZGF0ZSBmcm9tIHR6ZGF0YTIwMDNkLgoJKiB0aW1lem9uZS9hdXN0cmFsYXNpYTogTGlrZXdpc2UuCgkqIHRpbWV6b25lL2JhY2t3YXJkOiBMaWtld2lzZS4KCSogdGltZXpvbmUvZXVyb3BlOiBMaWtld2lzZS4KCSogdGltZXpvbmUvaXNvMzE2Ni50YWI6IExpa2V3aXNlLgoJKiB0aW1lem9uZS9ub3J0aGFtZXJpY2E6IExpa2V3aXNlLgoJKiB0aW1lem9uZS9zb3V0aGFtZXJpY2E6IExpa2V3aXNlLgoJKiB0aW1lem9uZS96b25lLnRhYjogTGlrZXdpc2UuCgoyMDAzLTEwLTA1ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvaWE2NC9iYWNrdHJhY2UuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMveDg2XzY0L2JhY2t0cmFjZS5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9nZW5lcmljL3Vud2luZC5oIChfVW53aW5kX1RyYWNlX0ZuKTogTmV3IHR5cGUuCgkoX1Vud2luZF9CYWNrdHJhY2UpOiBOZXcgcHJvdG90eXBlLgoKMjAwMy0xMC0wMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2kzODYvZWxmL2JzZC1zZXRqbXAuUzogVXNlIGxpbmtvbmNlIHNlY3Rpb24gZm9yIFBJQyBzdHViLgoJKiBzeXNkZXBzL2kzODYvZWxmL3NldGptcC5TOiBMaWtld2lzZS4KCjIwMDMtMTAtMDIgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBhcmdwL2FyZ3AtaGVscC5jIChfX2FyZ3Bfc2hvcnRfcHJvZ3JhbV9uYW1lKTogTW92ZSBpbnNpZGUgWyEgX0xJQkNdLgoJKiBhcmdwL2FyZ3AtbmFtZWZyb2IuaAoJW19MSUJDIHx8IEhBVkVfREVDTF9QUk9HUkFNX0lOVk9DQVRJT05fU0hPUlRfTkFNRV0KCShfX2FyZ3Bfc2hvcnRfcHJvZ3JhbV9uYW1lKTogRG9uJ3QgZGVjbGFyZSBmbiwgZGVmaW5lIGl0IGFzIGEgbWFjcm8uCgoyMDAzLTA4LTIyICBTaW1vbiBKb3NlZnNzb24gIDxqYXNAZXh0dW5kby5jb20+CgoJKiBhcmdwL2FyZ3AtZm10c3RyZWFtLmggWyFfX2F0dHJpYnV0ZV9fXTogRGVmaW5lIHRvIG5vdGhpbmcuCgoJKiBhcmdwL2FyZ3AtaGVscC5jOiBEb24ndCBpbmNsdWRlIG1hbGxvYy5oLCBzb21lIHBsYXRmb3JtcwoJY29tcGxhaW4gYW5kIGl0IGRvZXNuJ3QgYXBwZWFyIHRvIGJlIHVzZWQuCglbIV9MSUJDICYmIEhBVkVfU1RSRVJST1JfUiAmJiAhSEFWRV9ERUNMX1NUUkVSUk9SX1JdOiBEZWNsYXJlCglzdHJlcnJvcl9yLgoJWyFfTElCQyAmJiAhSEFWRV9TVFJFUlJPUl9SICYmICFIQVZFX0RFQ0xfU1RSRVJST1JdOiBEZWNsYXJlCglzdHJlcnJvci4KCShob2xfZW50cnlfbG9uZ19pdGVyYXRlKTogQ2hhbmdlIF9fYXR0cmlidXRlIHRvIF9fYXR0cmlidXRlX18uCgkoX2hlbHAsIF9fYXJncF9lcnJvciwgX19hcmdwX2ZhaWx1cmUpIFshX0xJQkMgJiYgKEhBVkVfRkxPQ0tGSUxFCgkmJiBIQVZFX0ZVTkxPQ0tGSUxFKV06IFByb3RlY3QgY2FsbCB0byBmbG9ja2ZpbGUgYW5kIGZ1bmxvY2tmaWxlLgoJKF9fYXJncF9iYXNlbmFtZSkgWyFfTElCQ106IE5ldy4gVGFrZW4gZnJvbSBMU0gsIGJ5IE5pZWxzIE32bGxlciwKCW1vZGlmaWVkIGFmdGVyIGNvbW1lbnRzIGZyb20gVWxyaWNoIERyZXBwZXIuCgkoX19hcmdwX3Nob3J0X3Byb2dyYW1fbmFtZSk6IERpdHRvLgoJKF9fYXJncF9zdGF0ZV9oZWxwLCBfX2FyZ3BfZXJyb3IsIF9fYXJncF9mYWlsdXJlKTogVXNlIGl0LgoJKF9fYXJncF9mYWlsdXJlKTogVXNlIHN0cmVycm9yIHdoZW4gbmVjZXNzYXJ5LgoKCSogYXJncC9hcmdwLW5hbWVmcm9iLmggKF9fZmxvY2tmaWxlLCBfX2Z1bmxvY2tmaWxlLCBfX21lbXBjcHkpCgkoX19zdHJjaHJudWwsIF9fc3RyZXJyb3JfciwgX19zdHJuZHVwKSBbIV9MSUJDXTogUmVtb3ZlIF9fLXByZWZpeC4KCShjbGVhcmVycl91bmxvY2tlZCwgZmVvZl91bmxvY2tlZCwgZmVycm9yX3VubG9ja2VkKQoJKGZmbHVzaF91bmxvY2tlZCwgZmdldHNfdW5sb2NrZWQsIGZwdXRjX3VubG9ja2VkLCBmcHV0c191bmxvY2tlZCkKCShmcmVhZF91bmxvY2tlZCwgZndyaXRlX3VubG9ja2VkLCBnZXRjX3VubG9ja2VkLCBnZXRjaGFyX3VubG9ja2VkKQoJKHB1dGNfdW5sb2NrZWQsIHB1dGNoYXJfdW5sb2NrZWQpIFshX0xJQkMgJiYgIUhBVkVfREVDTF8qXTogTWFwIHRvCglub24tdW5sb2NrZWQgZnVuY3Rpb25zLgoJWyFfTElCQ106IEFkZCBwcm90b3R5cGVzIGZvciBfX2FyZ3BfYmFzZW5hbWUgYW5kCglfX2FyZ3Bfc2hvcnRfcHJvZ3JhbV9uYW1lLgoKCSogYXJncC9hcmdwLXBhcnNlLmMgKGFyZ3BfZGVmYXVsdF9wYXJzZXIpOiBPbmx5IHVzZQoJcHJvZ3JhbV9pbnZvY2F0aW9ue19zaG9ydCx9X25hbWUgaWYgZGVjbGFyZWQuCgkocGFyc2VyX2luaXQpOiBVc2UgX19hcmdwX3Nob3J0X3Byb2dyYW1fbmFtZS4KCgkqIGFyZ3AvYXJncC14aW5sLmMgW19MSUJDIHx8IEhBVkVfRkVBVFVSRVNfSF06IEFkZCBDUFAgY2hlY2sgZm9yCgknI2luY2x1ZGUgZmVhdHVyZXMuaCcuCgoJKiBhcmdwL2FyZ3AuaCBbIV9fYXR0cmlidXRlX19dOiBEZWZpbmUgdG8gbm90aGluZy4KCjIwMDMtMDktMjYgIFBhb2xvIEJvbnppbmkgIDxib256aW5pQGdudS5vcmc+CgoJKiBwb3NpeC9yZWdjb21wLmMgKHBhcnNlX3N1Yl9leHApOiBQYXNzIFJFX0NBUkVUX0FOQ0hPUlNfSEVSRQoJZm9yIHRoZSBmaXJzdCB0b2tlbiBpbiBhIHN1YmV4cHJlc3Npb24gYXMgd2VsbC4KCjIwMDMtMTAtMDIgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogcG9zaXgvcmVnY29tcC5jIChwZWVrX3Rva2VuKTogQWRkIDIwMDMtMDktMjAgY2hhbmdlcyBmb3IgYW5jaG9yCgloYW5kbGluZyBhZ2Fpbi4KCShwYXJzZV9yZWdfZXhwKTogTGlrZXdpc2UuCgkqIHBvc2l4L3JlZ2V4LmggKFJFX0NBUkVUX0FOQ0hPUlNfSEVSRSk6IERlZmluZS4KCgkqIHBvc2l4L2J1Zy1yZWdleDExLmMgKHRlc3RzKTogQWRkIG5ldyB0ZXN0cy4KCSogcG9zaXgvYnVnLXJlZ2V4MTIuYyAodGVzdHMpOiBBZGQgbmV3IHRlc3QuCgoyMDAzLTEwLTAxICBUaG9yc3RlbiBLdWt1ayAgPGt1a3VrQHN1c2UuZGU+CgoJKiBlbGYvZGwtcmVsb2MuYyAoX2RsX2FsbG9jYXRlX3N0YXRpY190bHMpOiBNb3ZlIGRlZmluaXRpb24gb2YKCXZhcmlhYmxlcyBvbmx5IHVzZWQgaWYgVExTX0RUVl9BVF9UUCBpcyBkZWZpbmVkIGludG8gdGhlICNpZiBicmFuY2guCgoyMDAzLTEwLTAyICBKZXJvZW4gRGVra2VycyAgPGplcm9lbkBkZWtrZXJzLmN4PgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvbWFsbG9jLW1hY2hpbmUuaDogQ29weSB0aGUgdHNkIGNvZGUgZnJvbQoJdGhlIG9sZCB0aHJlYWQtbS5oIGhlYWRlciB0b28uCgoyMDAzLTEwLTAyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy9zaWdzdGFjay5oIChNSU5TSUdTVEtTWik6IEdvCgliYWNrIHRvIDEzMTAyNyBzaW5jZSB0aGlzIGlzIHdoYXQgdGhlIGtlcm5lbCBlbmZvcmNlcy4KCgkqIGluZXQvZ2V0bmFtZWluZm8uYzogTW92ZSBkb21haW4gb3V0IG9mIG5ybF9kb21haW5uYW1lIHNjb3BlIGFuZAoJZGVmaW5lIGl0IHdpdGggbGliY19mcmVlcmVzX3B0ci4KCjIwMDMtMTAtMDEgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBlbGYvcnRsZC5jIChkbF9tYWluKTogQWRkIGNhc3QgaW4gbGFzdCBjaGFuZ2UuCgoyMDAzLTA5LTEwICBDaHJpcyBEZW1ldHJpb3UgIDxjZ2RAYnJvYWRjb20uY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9taXBzNjQvbjMyL3N5c2RlcC5oOiBSZW1vdmUKCSIjaWYgMCIgc3Vycm91bmRpbmcgbW9zdCBvZiBjb250ZW50cy4KCShTWVNDQUxMX0VSUk9SX0xBQkVMKTogRGVmaW5lLgoJKF9fU1lTQ0FMTF9DTE9CQkVSUyk6IEFkZCAkMTAuCgkoaW50ZXJuYWxfc3lzY2FsbDcpOiBSZW1vdmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvbWlwczY0L242NC9zeXNkZXAuaDogTGlrZXdpc2UuCgoyMDAzLTA5LTMwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9ydGxkLmMgKGRsX21haW4pOiBBbHNvIHNldCBsX21hcF9zdGFydC4KCjIwMDMtMDktMzAgIERhbmllbCBKYWNvYm93aXR6ICA8ZHJvd0BtdmlzdGEuY29tPgoKCSogZWxmL3J0bGQuYyAoZGxfbWFpbik6IFNldCBsX2xpYm5hbWUgYW5kIGxfbmFtZSBmb3IgdGhlIHN5c2luZm8gRFNPCgl0byB3b3JrIGFyb3VuZCBrZXJuZWwgcHJvYmxlbS4KCjIwMDMtMDktMjcgIFdvbGZyYW0gR2xvZ2VyICA8d2dAbWFsbG9jLmRlPgoKCSogbWFsbG9jL21hbGxvYy5jOiBJbmNsdWRlIDxtYWxsb2MtbWFjaGluZS5oPiBlYXJsaWVyIGluc3RlYWQgb2YKCSJ0aHJlYWQtbS5oIiwgc28gdGhhdCBkZWZhdWx0IHBhcmFtZXRlcnMgY2FuIGJlIG92ZXJyaWRkZW4gaW4gYQoJc3lzdGVtLXNwZWNpZmljIG1hbGxvYy1tYWNoaW5lLmguICBSZW1vdmUgZXh0cmEgOyBmcm9tIGV4dGVybiAiQyIKCWNsb3NpbmcgYnJhY2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9tYWxsb2MtbWFjaGluZS5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9tYWNoL2h1cmQvbWFsbG9jLW1hY2hpbmUuaDogTmV3IGZpbGUuCgkqIG1hbGxvYy90aHJlYWQtbS5oOiBSZW1vdmVkLgoJKiBtYWxsb2MvTWFrZWZpbGU6IFJlbW92ZSBDRkxBR1MtbWFsbG9jLmMgcGFyYW1ldGVyIGFkZGl0aW9uLCBpdAoJaXMgaW4gc3lzZGVwcy9nZW5lcmljL21hbGxvYy1tYWNoaW5lLmggbm93LgoKMjAwMy0wOS0yOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtcmVsb2MuYyAoX2RsX2FsbG9jYXRlX3N0YXRpY190bHMpOiBNb3ZlIGRlZmluaXRpb24gb2YKCXZhcmlhYmxlcyBvbmx5IHVzZWQgaWYgVExTX1RDQl9BVF9UUCBpcyBkZWZpbmVkIGludG8gdGhlICNpZgoJYnJhbmNoLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c21hY3Jvcy5oOiBBZGQgX19leHRlbnNpb25fXyBhcwoJd2VsbCB0byBjb3ZlciB1c2luZyBsb25nIGxvbmcgaW4gQzkwLgoKMjAwMy0wOS0yOCAgQWxmcmVkIE0uIFN6bWlkdCAgPGFtc0BrZW1pc3Rlbi5udT4KCgkqIHN5c2RlcHMvbWFjaC9odXJkL2JpdHMvbGliYy1sb2NrLmggKF9fbGliY19jbGVhbnVwX3BvcCk6CglSZWRlZmluZSBhbmQgdXNlIF9fbGliY19jbGVhbnVwX3JlZ2lvbl9lbmQgaW5zdGVhZC4KCjIwMDMtMDktMjkgIFRob3JzdGVuIEt1a3VrICA8a3VrdWtAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zeXNtYWNyb3MuaDogVXNlIF9faW5saW5lIGFuZAoJZml4IHByb3RvdHlwZXMgZm9yIHBpY2t5IEMrKyBjb21waWxlcnMuCgoyMDAzLTA5LTI3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3VzdGF0LmMgKHVzdGF0KTogU2V0IGVycm5vIHRvIEVJTlZBTCBpZgoJdGhlIGRldmljZSBJRCBpcyBpbnZhbGlkIGFuZCByZXR1cm4gLTEuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3hta25vZC5jIChfX3hta25vZCk6IExpa2V3aXNlLgoKMjAwMy0wOS0yNiAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvZ2V0Y29udGV4dC5TOiBQYXNzIGZvdXJ0aCBhcmd1bWVudCB0bwoJcnRfc2lncHJvY21hc2sgc3lzdGVtIGNhbGwuCgoyMDAzLTA5LTI1ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZGwtZXhlY3N0YWNrLmMgKF9kbF9tYWtlX3N0YWNrX2V4ZWN1dGFibGUpOgoJRG9uJ3QgY2hlY2sgZm9yIHplcm8gX19saWJjX3N0YWNrX2VuZCwgaXQgc2hvdWxkIGJlIGluaXRpYWxpemVkLgoJW19TVEFDS19HUk9XU19ET1dOXSBbUFJPVF9HUk9XU0RPV05dOiBUcnkgdXNpbmcgUFJPVF9HUk9XU0RPV04gZmxhZwoJYW5kIGZhbGwgYmFjayBpZiBpdCBmYWlscyB3aXRoIEVJTlZBTC4KCVtfU1RBQ0tfR1JPV1NfVVBdIFtQUk9UX0dST1dTVVBdOiBMaWtld2lzZSBmb3IgUFJPVF9HUk9XU1VQLgoKMjAwMy0wOS0yNSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvZGwtcHJvY2luZm8uYzogSW5jbHVkZQoJc3lzZGVwcy9pMzg2L2RsLXByb2NpbmZvLmMgaW5zdGVhZCBvZgoJc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9kbC1wcm9jaW5mby5jLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2RsLXByb2NpbmZvLmg6IEF2b2lkIHVzaW5nCgkjaW5jbHVkZV9uZXh0LgoKMjAwMy0wOS0yNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9yZWdjb21wLmMgKHBlZWtfdG9rZW4pOiBSZW1vdmUgcmVjZW50IGNoYW5nZXMgZm9yIGFuY2hvcgoJaGFuZGxpbmcgYWdhaW4uCgkocGFyc2VfcmVnX2V4cCk6IExpa2V3aXNlLgoJKiBwb3NpeC9yZWdleC5oOiBSZW1vdmUgUkVfQ0FSRVRfQU5DSE9SU19IRVJFLgoKCSogY3N1L01ha2VmaWxlICgkKG9ianBmeCl2ZXJzaW9uLWluZm8uaCk6IEZpeCBzZWQgc2NyaXB0IHRvIGhhbmRsZQoJYmFubmVycy4KCgkqIG5pcy9uaXNfdGFibGUuYyAobmlzX2xpc3QpOiBBbHdheXMgc3RyZHVwIHN0cmluZyB1c2VkIHdpdGgKCWlicmVxLT5pYnJfbmFtZS4gIEFkZCBzZXZlcmFsIE5VTEwgcG9pbnRlciBjaGVja3MuCgoJKiBuaXMvbnNzX25pc3BsdXMvbmlzcGx1cy1hbGlhcy5jOiBBZGQgY2hlY2sgZm9yIE5VTEwgcmV0dXJuIHZhbHVlCglvZiBuaXNfbGlzdC4KCSogbmlzL25zc19uaXNwbHVzL25pc3BsdXMtZXRoZXJzLmM6IExpa2V3aXNlLgoJKiBuaXMvbnNzX25pc3BsdXMvbmlzcGx1cy1ncnAuYzogTGlrZXdpc2UuCgkqIG5pcy9uc3NfbmlzcGx1cy9uaXNwbHVzLWhvc3RzLmM6IExpa2V3aXNlLgoJKiBuaXMvbnNzX25pc3BsdXMvbmlzcGx1cy1uZXRncnAuYzogTGlrZXdpc2UuCgkqIG5pcy9uc3NfbmlzcGx1cy9uaXNwbHVzLW5ldHdvcmsuYzogTGlrZXdpc2UuCgkqIG5pcy9uc3NfbmlzcGx1cy9uaXNwbHVzLXByb3RvLmM6IExpa2V3aXNlLgoJKiBuaXMvbnNzX25pc3BsdXMvbmlzcGx1cy1wdWJsaWNrZXkuYzogTGlrZXdpc2UuCgkqIG5pcy9uc3NfbmlzcGx1cy9uaXNwbHVzLXB3ZC5jOiBMaWtld2lzZS4KCSogbmlzL25zc19uaXNwbHVzL25pc3BsdXMtcnBjLmM6IExpa2V3aXNlLgoJKiBuaXMvbnNzX25pc3BsdXMvbmlzcGx1cy1zZXJ2aWNlLmM6IExpa2V3aXNlLgoJKiBuaXMvbnNzX25pc3BsdXMvbmlzcGx1cy1zcHdkLmM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvYml0cy9tbWFuLmg6IERlZmluZSBQUk9UX0dST1dTRE9XTgoJYW5kIFBST1RfR1JPV1NVUC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2JpdHMvbW1hbi5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY3Jpcy9iaXRzL21tYW4uaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEvYml0cy9tbWFuLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2JpdHMvbW1hbi5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9iaXRzL21tYW4uaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L202OGsvYml0cy9tbWFuLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2JpdHMvbW1hbi5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9iaXRzL21tYW4uaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL2JpdHMvbW1hbi5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvYml0cy9tbWFuLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvYml0cy9tbWFuLmg6IExpa2V3aXNlLgoKMjAwMy0wOS0yNSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBtaXNjL3N5c2xvZy5jOiBJbmNsdWRlIGxvY2FsZS5oLgoJKHZzeXNsb2cpOiBBZGQgZGF0ZSBhbHdheXMgaW4gQyBsb2NhbGUgJWggJWUgJVQgZm9ybWF0LgoKMjAwMy0wOS0yNCAgUGF1bCBFZ2dlcnQgIDxlZ2dlcnRAdHdpbnN1bi5jb20+CgoJKiBhcmdwL2FyZ3AtZm10c3RyZWFtLmMgKF9fYXJncF9mbXRzdHJlYW1fZW5zdXJlKTogQ2hlY2sgZm9yCglzaXplX3Qgb3ZlcmZsb3cgd2hlbiByZWFsbG9jYXRpbmcgc3RvcmFnZS4KCSogYXJncC9hcmdwLWhlbHAuYyAobWFrZV9ob2wsIGhvbF9hcHBlbmQpOiBMaWtld2lzZS4KCShTSVpFX01BWCk6IE5ldyBtYWNyby4KCjIwMDMtMDgtMDcgIEFsZnJlZCBNLiBTem1pZHQgIDxhbXNAa2VtaXN0ZW4ubnU+CgoJKiBzeXNkZXBzL21hY2gvaHVyZC9iaXRzL2xpYmMtbG9jay5oCgkoX19saWJjX2NsZWFudXBfcHVzaCwgX19saWJjX2NsZWFudXBfcG9wKTogTmV3IG1hY3Jvcy4KCjIwMDMtMDgtMDEgIEFsZnJlZCBNLiBTem1pZHQgIDxhbXNAa2VtaXN0ZW4ubnU+CgoJKiBzeXNkZXBzL2kzODYvZGwtcHJvY2luZm8uaDogTmV3IGZpbGUsIGNvbnRlbnRzIHRha2VuIGZyb20gLi4uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvZGwtcHJvY2luZm8uaDogLi4uIGhlcmUuCgkjaW5jbHVkZV9uZXh0IGRsLXByb2NpbmZvLmggdG8gZ2V0IHRoZW0uCgkoX0RMX0hXQ0FQX0NPVU5UKTogTW92ZWQgdG8gc3lzZGVwcy9pMzg2L2RsLXByb2NpbmZvLmguCgkoX0RMX1BMQVRGT1JNU19DT1VOVCk6IExpa2V3aXNlLgoJKF9ETF9GSVJTVF9QTEFURk9STSk6IExpa2V3aXNlLgoJKF9ETF9IV0NBUF9QTEFURk9STSk6IExpa2V3aXNlLgoJKEhXQ0FQX0kzODZfRlBVLCBIV0NBUF9JMzg2X1ZNRSwgSFdDQVBfSTM4Nl9ERSwgSFdDQVBfSTM4Nl9QU0UsCglIV0NBUF9JMzg2X1RTQywgSFdDQVBfSTM4Nl9NU1IsIEhXQ0FQX0kzODZfUEFFLCBIV0NBUF9JMzg2X01DRSwKCUhXQ0FQX0kzODZfQ1g4LCBIV0NBUF9JMzg2X0FQSUMsIEhXQ0FQX0kzODZfU0VQLCBIV0NBUF9JMzg2X01UUlIsCglIV0NBUF9JMzg2X1BHRSwgSFdDQVBfSTM4Nl9NQ0EsIEhXQ0FQX0kzODZfQ01PViwKCUhXQ0FQX0kzODZfRkNNT1YsIEhXQ0FQX0kzODZfTU1YLCBIV0NBUF9JMzg2X09TRlhTUiwKCUhXQ0FQX0kzODZfWE1NLCBIV0NBUF9JMzg2X1hNTTIsIEhXQ0FQX0kzODZfQU1EM0QsCglIV0NBUF9JTVBPUlRBTlQpOiBMaWtld2lzZS4KCShfRExfUFJPQ0lORk9fSF8pOiBMaWtld2lzZS4KCShfZGxfaHdjYXBfc3RyaW5nLCBfZGxfcGxhdGZvcm1fc3RyaW5nLCBfZGxfc3RyaW5nX2h3Y2FwKTogTGlrZXdpc2UuCgkoX2RsX3N0cmluZ19wbGF0Zm9ybSk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2RsLXByb2NpbmZvLmM6IE1vdmVkIHRvIC4uLgoJKiBzeXNkZXBzL2kzODYvZGwtcHJvY2luZm8uYzogLi4uIGhlcmUsIG5ldyBmaWxlLgoKMjAwMy0wOS0yNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9kbC1leGVjc3RhY2suYwoJKF9kbF9tYWtlX3N0YWNrX2V4ZWN1dGFibGUpOiBSZW1lbWJlciB0aGF0IHdlIGNoYW5nZWQgdGhlIHBlcm1pc3Npb24uCgoJKiBzeXNkZXBzL2lhNjQvZGwtbWFjaGluZS5oIChSVExEX1NUQVJUKTogUmVtb3ZlIHNldHRpbmcgb2YKCV9fbGliY19zdGFja19lbmQuICBQYXRjaCBieSBEYXZpZCBNb3NiZXJnZXIuCgoyMDAzLTA5LTI0ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGVsZi9WZXJzaW9ucyAobGQpOiBFeHBvcnQgX19saWJjX3N0YWNrX2VuZEBHTElCQ18yLjEgaW5zdGVhZCBvZgoJX19saWJjX3N0YWNrX2VuZEBHTElCQ19QUklWQVRFLgoKCSogc3lzZGVwcy9nZW5lcmljL2RsLXN5c2RlcC5jIChETF9TVEFDS19FTkQpOiBEZWZpbmUgaWYgbm90IGRlZmluZWQuCgkoX2RsX3N5c2RlcF9zdGFydCk6IFNldCBfX2xpYmNfc3RhY2tfZW5kIGhlcmUuCgkqIHN5c2RlcHMvYWxwaGEvZGwtbWFjaGluZS5oIChSVExEX1NUQVJUKTogUmVtb3ZlIHNldHRpbmcgb2YKCV9fbGliY19zdGFja19lbmQuCgkqIHN5c2RlcHMvYXJtL2RsLW1hY2hpbmUuaCAoUlRMRF9TVEFSVCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2NyaXMvZGwtbWFjaGluZS5oIChSVExEX1NUQVJUKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9kbC1tYWNoaW5lLmggKFJUTERfU1RBUlQpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9tNjhrL2RsLW1hY2hpbmUuaCAoUlRMRF9TVEFSVCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3MzOTAvczM5MC0zMi9kbC1tYWNoaW5lLmggKFJUTERfU1RBUlQpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zMzkwL3MzOTAtNjQvZGwtbWFjaGluZS5oIChSVExEX1NUQVJUKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc2gvZGwtbWFjaGluZS5oIChSVExEX1NUQVJUKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMveDg2XzY0L2RsLW1hY2hpbmUuaCAoUlRMRF9TVEFSVCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2lhNjQvZGwtbWFjaGluZS5oIChETF9TVEFDS19FTkQpOiBEZWZpbmUuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9kbC1tYWNoaW5lLmggKERMX1NUQUNLX0VORCk6IERlZmluZS4KCShSVExEX1NUQVJUKTogUmVtb3ZlIHNldHRpbmcgb2YgX19saWJjX3N0YWNrX2VuZC4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L2RsLW1hY2hpbmUuaCAoRExfU1RBQ0tfRU5EKTogRGVmaW5lLgoJKFJUTERfU1RBUlQpOiBSZW1vdmUgc2V0dGluZyBvZiBfX2xpYmNfc3RhY2tfZW5kLgoKMjAwMy0wOS0yNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzbWFjcm9zLmg6IEFkZCBnbnVfZGV2XyBwcmVmaXggdG8KCWZ1bmN0aW9uIGRlZmluaXRpb25zLiAgQWRqdXN0IG1hY3JvIGV4cGFuc2lvbnMgYWNjb3JkaW5nbHkuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L1ZlcnNpb25zOiBBZGQgZ251X2Rldl8gcHJlZml4IHRvIG1ham9yLAoJbWlub3IsIG1ha2VkZXYgbmFtZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWFrZWRldi5jOiBMaWtld2lzZS4KCjIwMDMtMDktMjQgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c21hY3Jvcy5oIChtYWpvciwgbWlub3IsIG1ha2VkZXYpOgoJQWRkIF9fVEhST1cuCgoyMDAzLTA5LTI0ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIG5zY2QvTWFrZWZpbGUgKG90aGVycyk6IEFkZCBuc2NkIGJlZm9yZSBpbmNsdWRpbmcgLi4vUnVsZXMuCgoyMDAzLTA5LTI0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG5zY2QvTWFrZWZpbGU6IEFkZCBydWxlcyB0byBidWlsZCBuc2NkIGFzIGEgUElFLgoJKiBjb25maWd1cmUuaW46IENoZWNrIGZvciAtZnBpZSBhbmQgLXBpZSBjb21waWxlciBvcHRpb25zLgoJKiBjb25maWcubWFrZS5pbiAoaGF2ZS1mcGllKTogRGVmaW5lLgoKMjAwMy0wOS0yMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvc3lzbWFjcm9zLmg6IEFkanVzdCBmb3IgbGFyZ2VyCglrZXJuZWwgZGV2X3Qgc2l6ZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvc3lzL3N5c21hY3Jvcy5oOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zeXMvc3lzbWFjcm9zLmg6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21ha2VkZXYuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L0Rpc3Q6IEFkZCBtYWtlZGV2LmMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L01ha2VmaWxlIFtzdWJkaXI9bWlzY10KCShzeXNkZXBfcm91dGluZXMpOiBBZGQgbWFrZWRldi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvVmVyc2lvbnMgW2xpYmNdIChHTElCQ18yLjMuMyk6IEFkZAoJbWFqb3IsIG1pbm9yLCBtYWtlZGV2LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC91c3RhdC5jICh1c3RhdCk6IEFkanVzdCBmb3IgMzItYml0CglrZXJuZWwgZGV2X3QuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3VzdGF0LmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3hta25vZC5jIChfX3hta25vZCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS94bWtub2QuYzogUmVtb3ZlZC4KCUNvZGUgYnkgQWxleGFuZGVyIFZpcm8gPGF2aXJvQHJlZGhhdC5jb20+LgoKMjAwMy0wOS0yMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGMzMi9WZXJzaW9ucyBbbGliY10KCShHTElCQ18yLjMuMyk6IEFkZCBzZXRjb250ZXh0LCBnZXRjb250ZXh0LCBzd2FwY29udGV4dCwgYW5kCgltYWtlY29udGV4dC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9zeXMvdWNvbnRleHQuaDogQ29ycmVjdCBjaGFuZ2UKCWZvciBpbmNsdWRlIEFsdGl2ZWMgc3VwcG9ydCBmb3IgUFBDMzIuICBJdCB3YXMgbm90IGNvbXBhdGlibGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzMyL3Vjb250ZXh0X2kuaDogQWRqdXN0CglvZmZzZXRzIGZvciB1Y29udGV4dF90IGNoYW5nZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjMzIvZ2V0Y29udGV4dC5TOiBBZGp1c3QKCWZvciB1Y29udGV4dF90IGNoYW5nZS4gIEFkZCBjb21wYXRpYmlsaXR5IGNvZGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzMyL21ha2Vjb250ZXh0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGMzMi9zZXRjb250ZXh0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGMzMi9zd2FwY29udGV4dC5TOiBMaWtld2lzZS4KCVBhdGNoIGJ5IFBhdWwgTWFja2VycmFzIDxwYXVsdXNAc2FtYmEub3JnPi4KCjIwMDMtMDItMjUgIFJhbmRvbHBoIENodW5nICA8dGF1c3FAZGViaWFuLm9yZz4KCgkqIHN5c2RlcHMvaHBwYS9NYWtlZmlsZTogSW5jbHVkZSBjb21wYXQgY29kZSBpbiBidWlsZC4KCSogc3lzZGVwcy9ocHBhL2xpYmdjYy1jb21wYXQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaHBwYS9EaXN0OiBBZGQgbGliZ2NjLWNvbXBhdC5jLgoJKiBzeXNkZXBzL2hwcGEvVmVyc2lvbnMgW0dMSUJDXzIuMl06IEFkZCBfX2Nsel90YWIuCgoyMDAzLTA5LTIzICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogZWxmL3J0bGQuYyAoZGxfbWFpbik6IEluIHJ0bGRfaXNfbWFpbiBjYXNlLCByZWluaXRpYWxpemUKCUdMKGRsX3N0YWNrX2ZsYWdzKSBhY2NvcmRpbmcgdG8gcnRsZCdzIG93biBQVF9HTlVfU1RBQ0suCglNb3ZlIEdMKGRsX21ha2Vfc3RhY2tfZXhlY3V0YWJsZV9ob29rKSBpbml0aWFsaXphdGlvbiB1cC4KCSogZWxmL3RzdC1leGVjc3RhY2stcHJvZy5jOiBOZXcgZmlsZS4KCSogZWxmL01ha2VmaWxlICh0ZXN0cy1leGVjc3RhY2steWVzKTogQWRkIGl0LgoJKExERkxBR1MtdHN0LWV4ZWNzdGFjay1wcm9nKTogTmV3IHZhcmlhYmxlLgoKMjAwMy0wOS0yMyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3g4Nl82NC9kbC1tYWNoaW5lLmggKFJUTERfU1RBUlQpOiBTZXQgX19saWJjX3N0YWNrX2VuZAoJYmVmb3JlIGNhbGxpbmcgX2RsX3N0YXJ0LCB1c2luZyAlcmlwIHJlbGF0aXZlIGFjY2Vzcy4KCVVzZSAlcmlwIHJlbGF0aXZlIGFjY2VzcyB0byBfZGxfc2tpcF9hcmdzLCBfcnRsZF9sb2NhbC5fZGxfbG9hZGVkCglhbmQgX2RsX2ZpbmkuCgoyMDAzLTA5LTIzICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9pMzg2L2RsLW1hY2hpbmUuaCAoUlRMRF9TVEFSVCk6IFNldCBfX2xpYmNfc3RhY2tfZW5kIGJlZm9yZQoJY2FsbGluZyBfZGxfc3RhcnQsIHVzaW5nIEdPVE9GRiBhY2Nlc3MuCgoJKiBjb25maWd1cmUuaW4gKGxpYmNfY3Zfel9leGVjc3RhY2spOiBOZXcgY2hlY2suCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZWQuCgkqIGNvbmZpZy5tYWtlLmluIChoYXZlLXotZXhlY3N0YWNrKTogTmV3IHZhcmlhYmxlIHNldCBieSBpdC4KCSogZWxmL3RzdC1leGVjc3RhY2suYzogTmV3IGZpbGUuCgkqIGVsZi90c3QtZXhlY3N0YWNrLW1vZC5jOiBOZXcgZmlsZS4KCSogZWxmL3RzdC1leGVjc3RhY2stbmVlZGVkLmM6IE5ldyBmaWxlLgoJKiBlbGYvTWFrZWZpbGUgKHRlc3RzLWV4ZWNzdGFjay15ZXMsIG1vZHVsZXMtZXhlY3N0YWNrLXllcyk6IE5ldwoJdmFyaWFibGVzLgoJKHRlc3RzLCBtb2R1bGVzLW5hbWVzKTogQ29uZGl0aW9uYWxseSBpbmNsdWRlIHRoZW0uCgkoZGlzdHJpYnV0ZSk6IEFkZCB0c3QtZXhlY3N0YWNrLW1vZC5jIGhlcmUuCgkoJChvYmpwZngpdHN0LWV4ZWNzdGFjaywgJChvYmpwZngpdHN0LWV4ZWNzdGFjay5vdXQpOiBOZXcgdGFyZ2V0cy4KCShMREZMQUdTLXRzdC1leGVjc3RhY2ssIExERkxBR1MtdHN0LWV4ZWNzdGFjay1tb2QpOiBOZXcgdmFyaWFibGVzLgoJKCQob2JqcGZ4KXRzdC1leGVjc3RhY2stbmVlZGVkKTogTmV3IHRhcmdldC4KCShMREZMQUdTLXRzdC1leGVjc3RhY2stbmVlZGVkKTogTmV3IHZhcmlhYmxlLgoKCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmggKHN0cnVjdCBydGxkX2dsb2JhbCk6IEFkZCBfZGxfc3RhY2tfZmxhZ3MKCWFuZCBfZGxfbWFrZV9zdGFja19leGVjdXRhYmxlX2hvb2suICBEZWNsYXJlIF9kbF9tYWtlX3N0YWNrX2V4ZWN1dGFibGUuCgkqIGVsZi9ydGxkLmMgKF9ydGxkX2dsb2JhbCk6IEFkZCBpbml0aWFsaXplciBmb3IgX2RsX3N0YWNrX2ZsYWdzLgoJKGRsX21haW4pOiBSZXNldCBfZGxfc3RhY2tfZmxhZ3MgYWNjb3JkaW5nIHRvIFBUX0dOVV9TVEFDSyBwaGRyLgoJSW5pdGlhbGl6ZSBfZGxfbWFrZV9zdGFja19leGVjdXRhYmxlX2hvb2suCgkqIGVsZi9kbC1zdXBwb3J0LmM6IERlZmluZSB0aG9zZSBuZXcgdmFyaWFibGVzLgoJKF9kbF9ub25fZHluYW1pY19pbml0KTogU2NhbiBwaGRycyBmb3IgUFRfR05VX1NUQUNLLgoJKF9kbF9waGRyKTogRml4IHR5cGUuCgkqIGVsZi9kbC1sb2FkLmMgKF9kbF9tYXBfb2JqZWN0X2Zyb21fZmQpOiBHcm9rIFBUX0dOVV9TVEFDSyBwaGRyIGFuZAoJZW5hYmxlIGV4ZWN1dGUgcGVybWlzc2lvbiBmb3IgdGhlIHN0YWNrIGlmIG5lY2Vzc2FyeS4KCSogc3lzZGVwcy9nZW5lcmljL2RsLWV4ZWNzdGFjay5jOiBOZXcgZmlsZS4KCSogZWxmL01ha2VmaWxlIChkbC1yb3V0aW5lcyk6IEFkZCBpdC4KCSogZWxmL1ZlcnNpb25zIChsZDogR0xJQkNfUFJJVkFURSk6IEFkZCBfZGxfbWFrZV9zdGFja19leGVjdXRhYmxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9kbC1leGVjc3RhY2suYzogTmV3IGZpbGUuCgoyMDAzLTA5LTIzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvcG9zaXgvc3Byb2ZpbC5jIChwY190b19pbmRleCk6IFJlbW92ZSBpbmxpbmUgbWFya2VyLgoKMjAwMy0wOS0yMCAgQWxmcmVkIE0uIFN6bWlkdCAgPGFtc0BrZW1pc3Rlbi5udT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy91dG1wX2ZpbGUuYyAoc2V0dXRlbnRfZmlsZSwgTE9DS19GSUxFLAoJVU5MT0NLX0ZJTEUsIHNldHV0ZW50X2ZpbGUpOiBVc2UgZmNudGxfbm90X2NhbmNlbCBpbnN0ZWFkIG9mCglfX2ZjbnRsX25vY2FuY2VsLgoKMjAwMy0wOS0yMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBtYWxsb2MvbWFsbG9jLmM6IEluY2x1ZGUgPHN0ZGludC5oPi4KCjIwMDMtMDktMjAgIFBhb2xvIEJvbnppbmkgIDxib256aW5pQGdudS5vcmc+CgoJKiBwb3NpeC9yZWdjb21wLmMgKGJ1aWxkX3dvcmRfb3ApOiBSZW5hbWUgbGlrZS4uLgoJKGJ1aWxkX2NoYXJjbGFzc19vcCk6IC4uLnRoaXMuICBBY2NlcHQgdHdvIGV4dHJhIHBhcmFtZXRlcnMsCglDTEFTU19OQU1FIGFuZCBFWFRSQS4gIEFkZCBFWFRSQSB0byB0aGUgcmVzdWx0LCBub3Qgb25seSBfLgoJKHBlZWtfdG9rZW4pOiBBY2NlcHQgXHMgYW5kIFxTIGFzIE9QX1NQQUNFIGFuZCBPUF9OT1RTUEFDRS4KCShwYXJzZV9leHByZXNzaW9uKTogUmVwbGFjZSBidWlsZF93b3JkX29wIHdpdGgKCWJ1aWxkX2NoYXJjbGFzc19vcCwgYWRkIG5ldyBhcmd1bWVudHMsIGFjY2VwdCBPUF9TUEFDRQoJYW5kIE9QX05PVFNQQUNFLgoJKiBwb3NpeC9yZWdleF9pbnRlcm5hbC5oIChyZV90b2tlbl90eXBlX3QpOiBBZGQgT1BfU1BBQ0UKCWFuZCBPUF9OT1RTUEFDRS4KCgkqIHBvc2l4L3JlZ2NvbXAuYyAocGVla190b2tlbik6IERvbid0IGxvb2sgYmFjayBmb3IgKCBvciB8Cgl0byBjaGVjayB3aGV0aGVyIHRvIHRyZWF0IGEgY2FyZXQgYXMgc3BlY2lhbC4gIEl0IGZhaWxzCglmb3IgdGhlIChleHRlbmRlZCkgcmVnZXggXCheLgoJKHBhcnNlLCBwYXJzZV9yZWdfZXhwKTogUGFzcyBSRV9DQVJFVF9BTkNIT1JTX0hFUkUgdG8gZmV0Y2hfdG9rZW4uCgkqIHBvc2l4L3JlZ2V4Lmg6IERlZmluZSBSRV9DQVJFVF9BTkNIT1JTX0hFUkUuCgoJKiBwb3NpeC9yZWdleGVjLmM6IENoZWNrIG91dCBvZiBib3VuZHMgdmFsdWUgYmVmb3JlIHNoaWZ0aW5nLgoKCSogcG9zaXgvcmVnZXhfaW50ZXJuYWwuaDogRGVmaW5lIF9fYXR0cmlidXRlIGZvciBub24tZ2NjLgoKMjAwMy0wOS0yMiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2F0b21pYy5oIChhdG9taWNfY29tcGFyZV9hbmRfZXhjaGFuZ2VfdmFsX3JlbCwKCWF0b21pY19jb21wYXJlX2FuZF9leGNoYW5nZV9ib29sX3JlbCk6IFN3YXAgb2xkdmFsL25ld3ZhbCBhcmd1bWVudHMKCXRvIGF2b2lkIGNvbmZ1c2lvbi4KCgkqIHN5c2RlcHMvdW5peC9vcGVuZGlyLmM6IEluY2x1ZGUgc3RyaW5nLmguCgoyMDAzLTA5LTIyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHRpbWV6b25lL3pkdW1wLmM6IFVwZGF0ZSBmcm9tIHR6Y29kZTIwMDNjLgoJKiB0aW1lem9uZS96aWMuYzogTGlrZXdpc2UuCgkqIHRpbWV6b25lL2xlYXBzZWNvbmRzOiBVcGRhdGUgZnJvbSB0emRhdGEyMDAzYy4KCjIwMDMtMDktMTkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZWxmL01ha2VmaWxlICgkKG9ianBmeClsaWJydGxkLm9zKTogQ3JlYXRlIGxpbmsgbWFwIGFsc28gZm9yCglmaW5hbCBidWlsZCB0byBlYXNlIHF1YWxpdHkgY29udHJvbC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2dldGN3ZC5jIChfX2dldGN3ZCk6IElmIGNvbXBpbGVkIGZvcgoJbGQuc28sIGRvbid0IGluY2x1ZGUgTlVMTCBidWZmZXIgcG9pbnRlciBoYW5kbGluZy4KCjIwMDMtMDktMTkgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogZGxmY24vZGxvcGVuLmMgKGRsb3Blbik6IEFkZCBzdGF0aWNfbGlua193YXJuaW5nLgoKMjAwMy0wOS0xOCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBsaWJpby9tZW1zdHJlYW0uYyAob3Blbl9tZW1zdHJlYW0pOiBVc2UgX0lPX2luaXQgaW5zdGVhZCBvZgoJX0lPX29sZF9pbml0LgoKMjAwMy0wOS0xNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvd29yZGV4cC5jIChldmFsX2V4cHJfdmFsKTogVXNlIHN0cnRvbCBzaW5jZSB3ZQoJaGF2ZSB0byByZWNvZ25pemUgb2N0YWwgYW5kIGhleGFkZWNpbWFsIG51bWJlcnMgYXMgd2VsbC4gIFNpbXBsaWZ5CglmdW5jdGlvbiwgc2lnbnMgYXJlIGhhbmRsZWQgaW4gc3RydG9sLgoJKiBwb3NpeC93b3JkZXhwLXRlc3QuYzogQWRkIHRlc3RzIGZvciBvY3RhbCBhbmQgaGV4YWRlY2ltYWwKCW51bWJlcnMgaW4gYXJpdGhtZXRpYyBleHByZXNzaW9ucy4KCjIwMDMtMDktMTcgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogZWxmL01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIHRzdC1hbGlnbm1vZC5jLgoJKHRlc3RzKTogQWRkIHRzdC1hbGlnbi4KCShtb2R1bGVzLW5hbWVzKTogQWRkIHRzdC1hbGlnbm1vZC4KCShDRkxBR1MtdHN0LWFsaWduLmMsIENGTEFHUy10c3QtYWxpZ25tb2QuYyk6IEFkZAoJJChzdGFjay1hbGlnbi10ZXN0LWZsYWdzKS4KCSgkKG9ianBmeCl0c3QtYWxpZ24pOiBEZXBlbmQgb24gbGliZGwuCgkoJChvYmpwZngpdHN0LWFsaWduLm91dCk6IERlcGVuZCBvbiB0c3QtYWxpZ25tb2Quc28uCgkqIGVsZi90c3QtYWxpZ24uYzogTmV3IGZpbGUuCgkqIGVsZi90c3QtYWxpZ25tb2QuYzogTmV3IGZpbGUuCgkqIG1pc2MvTWFrZWZpbGUgKENGTEFHUy10c3QtdHNlYXJjaC5jKTogQWRkICQoc3RhY2stYWxpZ24tdGVzdC1mbGFncykuCgkqIG1pc2MvdHN0LXRzZWFyY2guYzogSW5jbHVkZSB0c3Qtc3RhY2stYWxpZ24uaC4KCShzdGFja19hbGlnbl9jaGVjayk6IE5ldyBhcnJheS4KCShjbXBfZm4sIHdhbGtfYWN0aW9uKTogVXNlIFRFU1RfU1RBQ0tfQUxJR04gKCkuCgkobWFpbik6IFJlcG9ydCBlcnJvciBpZiBzdGFjayB3YXMgbm90IGVub3VnaCBhbGlnbmVkCglpbiBjbXBfZm4gb3Igd2Fsa19hY3Rpb24uCgkqIHN0ZGxpYi9NYWtlZmlsZSAoQ0ZMQUdTLXRzdC1xc29ydC5jKTogQWRkICQoc3RhY2stYWxpZ24tdGVzdC1mbGFncykuCgkqIHN0ZGxpYi90c3QtcXNvcnQuYzogSW5jbHVkZSB0c3Qtc3RhY2stYWxpZ24uaC4KCShhbGlnbl9jaGVjayk6IE5ldyB2YXIuCgkoY29tcGFyZSk6IFVzZSBURVNUX1NUQUNLX0FMSUdOICgpIG1hY3JvLgoJKG1haW4pOiBSZXBvcnQgZXJyb3IgaWYgc3RhY2sgd2FzIG5vdCBlbm91Z2ggYWxpZ25lZCBpbiBjb21wYXJlLgoJKiBzeXNkZXBzL2kzODYvaTY4Ni9NYWtlZmlsZSAoc3RhY2stYWxpZ24tdGVzdC1mbGFncyk6IFJlbW92ZQoJdW5uZWVkZWQgLW1wcmVmZXJyZWQtc3RhY2stYm91bmRhcnk9NC4KCSogc3lzZGVwcy94ODZfNjQvdHN0LXN0YWNrLWFsaWduLmg6IE5ldyBmaWxlLgoKCSogbGliaW8vbWVtc3RyZWFtLmMgKF9JT193bWVtX2p1bXBzKTogUmVtb3ZlIHVudXNlZCBzdHJ1Y3R1cmUuCgkoX0lPX3dtZW1fc3luYywgX0lPX3dtZW1fZmluaXNoKTogUmVtb3ZlIHVudXNlZCBmdW5jdGlvbnMuCgoyMDAzLTA5LTE3ICBQaGlsaXAgQmx1bmRlbGwgIDxwaGlsYkBnbnUub3JnPgoKCSogc3lzZGVwcy9hcm0vZGwtbWFjaGluZS5oIChDQUxMX1JPVVRJTkUpOiBEZWxldGVkLgoJKEJYKTogRGVmaW5lLgoJKEVMRl9NQUNISU5FX1JVTlRJTUVfVFJBTVBPTElORSk6IE9wdGltaXNlIGEgbGl0dGxlLgoKCSogc3lzZGVwcy9hcm0vc3lzZGVwLmggKERPX1JFVCk6IE5ldy4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS92Zm9yay5TOiBBZGQgI2Vycm9yIGlmIF9fTlJfdmZvcmsKCXJlcXVpcmVkIGJ1dCBub3QgZGVmaW5lZC4gIEltcHJvdmUgdGVzdCBvZiBlcnJvciBjb2RlLgoKMjAwMy0wOS0xNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2kzODYvTWFrZWZpbGUgKHN0YWNrLWFsaWduLXRlc3QtZmxhZ3MpOiBBZGQKCS1tYWxpZ24tZG91YmxlIC1tcHJlZmVycmVkLXN0YWNrLWJvdW5kYXJ5PTQuCgoyMDAzLTA5LTE3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvcG9zaXgvdXRpbWVzLmMgKF9fdXRpbWVzKTogVHJ1bmNhdGUgaW5zdGVhZCBvZiByb3VuZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvdXRpbWVzLmMgKF9fdXRpbWVzKTogTGlrZXdpc2UuCgoyMDAzLTA5LTE1ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvaTM4Ni9NYWtlZmlsZSAoc3lzZGVwLUNGTEFHUyk6IElmIG5vdCBpbiBtYXRoIG9yIGNzdQoJc3ViZGlyLCBhZGQgLW1wcmVmZXJyZWQtc3RhY2stYm91bmRhcnk9NCwgd2l0aCBmZXcgZXhjZXB0aW9ucy4KCjIwMDMtMDktMTcgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogTWFrZWNvbmZpZyAoc3RhY2stYWxpZ24tdGVzdC1mbGFncyk6IFNldC4KCSogc3RkbGliL01ha2VmaWxlIChDRkxBR1MtdHN0LWJzZWFyY2guYyk6IEFkZAoJJChzdGFjay1hbGlnbi10ZXN0LWZsYWdzKS4KCSogc3RkbGliL3RzdC1ic2VhcmNoLmM6IEluY2x1ZGUgdHN0LXN0YWNrLWFsaWduLmguCgkoYWxpZ25fY2hlY2spOiBOZXcgdmFyLgoJKGNvbXApOiBVc2UgVEVTVF9TVEFDS19BTElHTiBtYWNyby4KCShkb190ZXN0KTogRmFpbCBpZiBhbGlnbl9jaGVjayAhPSAxLgoJKiBzeXNkZXBzL2dlbmVyaWMvdHN0LXN0YWNrLWFsaWduLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2kzODYvaTY4Ni9NYWtlZmlsZSAoc3RhY2stYWxpZ24tdGVzdC1mbGFncyk6IEFkZCAtbXNzZS4KCSogc3lzZGVwcy9pMzg2L2k2ODYvdHN0LXN0YWNrLWFsaWduLmg6IE5ldyBmaWxlLgoKMjAwMy0wOS0xNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2Nsb25lLlM6IE1ha2Ugc3VyZSBjaGlsZCBnZXRzIGEKCXN0YWNrIHdoaWNoIGlzIGFsaWduZWQgKG1vZCAxNikuCgoyMDAzLTA5LTE3ICBVd2UgUmVpbWFubiAgPFV3ZV9SZWltYW5uQGdteC5uZXQ+CgkgICAgSGFucy1QZXRlciBOaWxzc29uICA8aHBAYXhpcy5jb20+CgoJKiBzeXNkZXBzL2NyaXMvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV90eXBlX2NsYXNzKTogQ2xhc3NpZnkKCVJfQ1JJU19HTE9CX0RBVCBhcyBFTEZfUlRZUEVfQ0xBU1NfUExULiAgQ2xhcmlmeSBjb21tZW50LgoKMjAwMy0wOS0xNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBkaXJlbnQvc2NhbmRpci5jOiBJbmNsdWRlIGJpdHMvbGliYy1sb2NrLmguCgkoc3RydWN0IHNjYW5kaXJfY2FuY2VsX3N0cnVjdCk6IE5ldyB0eXBlLgoJKGNhbmNlbF9oYW5kbGVyKTogTmV3IGZ1bmN0aW9uLgoJKFNDQU5ESVIpOiBBZGQgX19saWJjX2NsZWFudXBfe3B1c2gscG9wfSwgc2F2ZSBzdGF0ZSBpbnRvCglzY2FuZGlyX2NhbmNlbF9zdHJ1Y3QuCgoyMDAzLTA5LTE2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L0Rpc3Q6IFJlbW92ZSBpbnRlcm5hbF9zdGF0dmZzLmMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L01ha2VmaWxlIFtzdWJkaXI9aW9dIChzeXNkZXBfcm91dGluZXMpOgoJQWRkIGludGVybmFsX3N0YXR2ZnMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2ZzdGF0dmZzLmM6IENhbGwgX19pbnRlcm5hbF9zdGF0dmZzCglpbnN0ZWFkIG9mIGluY2x1ZGluZyAiaW50ZXJuYWxfc3RhdHZmcy5jIi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3RhdHZmcy5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaW50ZXJuYWxfc3RhdHZmcy5jOiBNYWtlIGl0IGEgcmVhbCBmdW5jdGlvbi4KCUFkZCBjb2RlIHRvIGF2b2lkIHRoZSBzdGF0IGNhbGxzIG9uIGFsbCB0aGUgcmVwb3J0ZWQgbW91bnQgcG9pbnRzCgl3aGVuIHdlIGNhbiBkZXRlcm1pbmUgbWlzbWF0Y2ggaW4gYWR2YW5jZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbGludXhfZnNpbmZvLmg6IEFkZCBBVVRPRlNfU1VQRVJfTUFHSUMgYW5kCglVU0JERVZGU19TVVBFUl9NQUdJQy4KCjIwMDMtMDktMTYgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogcG9zaXgvVmVyc2lvbnMgKHNjaGVkX2dldGFmZmluaXR5LCBzY2hlZF9zZXRhZmZpbml0eSk6IENoYW5nZQoJZnJvbSBHTElCQ18yLjMuMiB0byBHTElCQ18yLjMuMyBzeW1ib2wgdmVyc2lvbi4KCjIwMDMtMDktMTYgIEJydW5vIEhhaWJsZSAgPGJydW5vQGNsaXNwLm9yZz4KCgkqIGludGwvdHN0LWdldHRleHQyLnNoOiBTZXQgR0NPTlZfUEFUSCBhbmQgTE9DUEFUSCBvbmx5IGFmdGVyCglpbnZva2luZyBtc2dmbXQsIG5vdCBiZWZvcmUuCgoyMDAzLTA5LTE1ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGFyZ3AvYXJncC5oIChhcmdwX3BhcnNlLCBfX2FyZ3BfcGFyc2UpOiBSZW1vdmUgX19USFJPVy4KCSogYXJncC9NYWtlZmlsZSAoQ0ZMQUdTLWFyZ3AtaGVscC5jLCBDRkxBR1MtYXJncC1wYXJzZS5jKTogQWRkCgkkKHVzZXMtY2FsbGJhY2tzKS4KCSogZGlyZW50L01ha2VmaWxlIChDRkxBR1Mtc2NhbmRpci5jLCBDRkxBR1Mtc2NhbmRpcjY0LmMpOiBMaWtld2lzZS4KCSogZWxmL01ha2VmaWxlIChDRkxBR1MtZGwtaXRlcmF0ZS1waGRyLmMsCglDRkxBR1MtZGwtaXRlcmF0ZS1waGRyLXN0YXRpYy5jKTogQWRkICQodXNlcy1jYWxsYmFja3MpLgoJKiBlbGYvZGwtaXRlcmF0ZXBoZHIuYyAoY2FuY2VsX2hhbmRsZXIpOiBOZXcgZnVuY3Rpb24uCgkoX19kbF9pdGVyYXRlX3BoZHIpOiBBZGQgX19saWJjX2NsZWFudXBfe3B1c2gscG9wfS4KCSogZWxmL2xpbmsuaCAoZGxfaXRlcmF0ZV9waGRyKTogUmVtb3ZlIF9fVEhST1cuCgkqIGlvL01ha2VmaWxlIChDRkxBR1MtZnRzLmMpOiBNZXJnZSBpbnRvIG9uZSBhc3NpZ25tZW50LgoJQWRkICQodXNlcy1jYWxsYmFja3MpLgoJKENGTEFHUy1mdHcuYywgQ0ZMQUdTLWZ0dzY0LmMpOiBBZGQgJCh1c2VzLWNhbGxiYWNrcykuCgkqIG1pc2MvTWFrZWZpbGUgKENGTEFHUy10c2VhcmNoLmMsIENGTEFHUy1sc2VhcmNoLmMpOiBDaGFuZ2UKCSQoZXhjZXB0aW9ucykgdG8gJCh1c2VzLWNhbGxiYWNrcykuCgkqIE1ha2Vjb25maWcgKHVzZXMtY2FsbGJhY2tzKTogU2V0IHRvICQoZXhjZXB0aW9ucykuCgkqIHBvc2l4L01ha2VmaWxlIChDRkxBR1MtZ2xvYi5jLCBDRkxBR1MtZ2xvYjY0LmMpOiBBZGQKCSQodXNlcy1jYWxsYmFja3MpLgoJKiBzdGRsaWIvTWFrZWZpbGUgKENGTEFHUy1ic2VhcmNoLmMsIENGTEFHUy1tc29ydC5jLCBDRkxBR1MtcXNvcnQuYyk6CglMaWtld2lzZS4KCjIwMDMtMDktMTUgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzeXNkZXBzL202OGsvc2V0am1wLmM6IEFkZCBoaWRkZW5fZGVmLgoKMjAwMy0wOS0xNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsaWJpby9tZW1zdHJlYW0uYyAob3Blbl9tZW1zdHJlYW0pOiBEb24ndCBhbGxvdyB3aWRlIGNoYXIgb3BlcmF0aW9ucy4KCgkqIGRpcmVudC9kaXJlbnQuaDogUmVtb3ZlIF9fVEhST1cgZnJvbSBzY2FuZGlyLgoKMjAwMy0wOS0xNCAgUGhpbGlwIEJsdW5kZWxsICA8cGhpbGJAZ251Lm9yZz4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9tbWFwLlM6IFVzZSBzeXNfbW1hcDIgaWYgaXQncyBrbm93bgoJdG8gYmUgYXZhaWxhYmxlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL21tYXA2NC5TOiBPcHRpbWlzZSBjb2RlIGEgbGl0dGxlLgoKCSogc3lzZGVwcy9hcm0vbWVtc2V0LlM6IFJld3JpdGUuCgoyMDAzLTA5LTEyICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvYml0cy90eXBlc2l6ZXMuaDogTmV3LgoJKF9fU1NJWkVfVF9UWVBFKTogRGVmaW5lIHRvIF9fU1dPUkRfVFlQRSBmb3IgZ2NjIDIuOTUueCBhbmQKCV9fU0xPTkdXT1JEX1RZUEUgb3RoZXJ3aXNlLgoKMjAwMy0wOS0xNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpby9NYWtlZmlsZSAoQ0ZMQUdTLWZ0dy5jKTogQWRkIC1mZXhjZXB0aW9ucy4KCShDRkxBR1MtZnR3NjQuYyk6IExpa2V3aXNlLgoKMjAwMy0wOS0xMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBuc2NkL01ha2VmaWxlIChDRkxBR1MtbnNjZF9nZXRwd19yLmMpOiBBZGQgLWZleGNlcHRpb25zLgoJKENGTEFHUy1uc2NkX2dldGdyX3IuYyk6IExpa2V3aXNlLgoJKENGTEFHUy1uc2NkX2dldGhzdF9yLmMpOiBMaWtld2lzZS4KCjIwMDMtMDktMTIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWZfaW5kZXguYzogVXNlIG9ubHkgbm9uLWNhbmNlbGFibGUKCWludGVyZmFjZXMuCgoJKiBncnAvTWFrZWZpbGUgKENGTEFHUy1nZXRncmdpZF9yLmMsIENGTEFHUy1nZXRncm5hbV9yLmMsCglDRkxBR1MtZmdldGdyZW50LmMsIENGTEFHUy1mZ2V0Z3JlbnRfci5jLCBDRkxBR1MtcHV0Z3JlbnQuYywKCUNGTEFHUy1pbml0Z3JvdXBzLmMsIENGTEFHUy1nZXRncmdpZC5jKTogQWRkIC1mZXhjZXB0aW9ucy4KCSogaW5ldC9NYWtlZmlsZSAoQ0ZMQUdTLWVpdGhlcl9udG9oLmMsIENGTEFHUy1laXRoZXJfaHRvbi5jLAoJQ0ZMQUdTLWdldG5ldGdyZW50LmMsIENGTEFHUy1nZXRuZXRncmVudF9yLmMpOiBMaWtld2lzZS4KCSogaW8vTWFrZWZpbGUgKENGTEFHUy1wb3NpeF9mYWxsb2NhdGUuYywgQ0ZMQUdTLXBvc2l4X2ZhbGxvY2F0ZTY0LmMpOgoJTGlrZXdpc2UuCgkqIG1pc2MvTWFrZWZpbGUgKENGTEFHUy1lcnIuYyk6IExpa2V3aXNlLgoJKiBwb3NpeC9NYWtlZmlsZSAoQ0ZMQUdTLWdldGFkZHJpbmZvLmMsIENGTEFHUy1zcGF3bi5jLAoJQ0ZMQUdTLXNwYXducC5jLCBDRkxBR1Mtc3Bhd25pLmMsIENGTEFHUy1wYXVzZS5jLCBDRkxBR1MtZ2xvYi5jLAoJQ0ZMQUdTLWdsb2I2NC5jKTogTGlrZXdpc2UuCgkqIHB3ZC9NYWtlZmlsZSAoQ0ZMQUdTLWdldHB3LmMpOiBMaWtld2lzZS4KCSogc2hhZG93L01ha2VmaWxlIChDRkxBR1MtZmdldHNwZW50LmMsIENGTEFHUy1mZ2V0c3BlbnRfci5jLAoJQ0ZMQUdTLXB1dHNwZW50LmMsIENGTEFHUy1nZXRzcG5hbS5jLCBDRkxBR1MtZ2V0c3BuYW1fci5jKTogTGlrZXdpc2UuCgkqIHN0ZGlvLWNvbW1vbi9NYWtlZmlsZSAoQ0ZMQUdTLWN1c2VyaWQuYyk6IExpa2V3aXNlLgoJKiBzdW5ycGMvTWFrZWZpbGUgKENGTEFHUy1vcGVuY2hpbGQuYyk6IExpa2V3aXNlLgoKCSogc3RkbGliL01ha2VmaWxlIChDRkxBR1MtbWtzdGVtcC5jKTogUmVtb3ZlIGRlZmluaXRpb24uCgoJKiBsaWJpby9zdGRpby5oOiBSZW1vdmUgX19USFJPVyBmcm9tIGN1c2VyaWQgcHJvdG90eXBlLgoKCSogbG9jYWxlL2xvYWRhcmNoaXZlLmM6IFVzZSBvbmx5IG5vbi1jYW5jZWxhYmxlIGludGVyZmFjZXMuCgkqIHJlc29sdi9oZXJyb3IuYyAoaGVycm9yKTogTGlrZXdpc2UuCgoJKiBtYWxsb2MvaG9va3MuYzogQmVmb3JlIHVzaW5nIElPIHN0cmVhbSBtYXJrIHN0cmVhbSBzbyBpdCB1c2VzCglvbmx5IG5vbi1jYW5jZWxhYmxlIGludGVyZmFjZXMuCgkqIG1hbGxvYy9tYWxsb2MuYzogTGlrZXdpc2UuCgkqIHBvc2l4L2dldG9wdC5jOiBMaWtld2lzZS4KCgoyMDAzLTA5LTExICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIE1ha2VydWxlcyAoTERGTEFHUy1jLnNvKTogUmVtb3ZlIC11IF9fcmVnaXN0ZXJfZnJhbWUuCgoyMDAzLTA5LTEyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN0ZGlvLWNvbW1vbi9zdGRpb19leHQuaDogTWFyayBtb3N0IGZ1bmN0aW9ucyB3aXRoIF9fVEhST1cuCgoJKiBtaXNjL2Vyci5oOiBSZW1vdmUgX19USFJPVyBmcm9tIGFsbCBwcm90b3R5cGVzLgoKCSogcG9zaXgvZ2V0b3B0LmggKF9fVEhST1cpOiBEZWZpbmUgaWYgbm90IGFscmVhZHkgZGVmaW5lZC4gIEFkZAoJX19USFJPVyB0byB0aGUgZ2V0b3B0IGZ1bmN0aW9ucy4KCjIwMDMtMDktMTEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW8vTWFrZWZpbGUgKENGTEFHUy1sb2NrZi5jKTogQWRkIC1mZXhjZXB0aW9ucy4KCShDRkxBR1MtZnRzLmMpOiBMaWtld2lzZS4KCSogaW8vZmNudGwuaDogUmVtb3ZlIF9fVEhST1cgZnJvbSBsb2NrZiBwcm90b3R5cGVzLgoJKiBpby9mdHMuaDogUmVtb3ZlIG1vc3QgX19USFJPVy4KCjIwMDMtMDktMTEgIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KCgkqIGVsZi90bHMtbWFjcm9zLmggKFRMU19JRSk6IEFkZCBhIHN0b3AgYml0IGZvciBpYTY0LgoJKFRMU19MRCk6IExpa2V3aXNlLgoJKFRMU19HRCk6IExpa2V3aXNlLgoKMjAwMy0wOS0xMSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBsaWJpby9maWxlb3BzLmMgKF9JT19uZXdfZmlsZV9vdmVyZmxvdyk6IEFkZCBJTlRVU0UgdG8KCV9JT19mcmVlX2JhY2t1cF9hcmVhIGNhbGwuCgoyMDAzLTA5LTEwICBDaHJpcyBEZW1ldHJpb3UgIDxjZ2RAYnJvYWRjb20uY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9wcmVhZDY0LmMgKF9fbGliY19wcmVhZDY0KTogRml4CglzeXNjYWxsIGludm9jYXRpb24uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvcHdyaXRlNjQuYyAoX19saWJjX3B3cml0ZTY0KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvcHJlYWQuYyAoX19saWJjX3ByZWFkKTogTGlrZXdpc2UuCglBbHNvLCBvbmx5IGFzc2VydCBvZmZfdCBzaXplIGlzIDQgZm9yIE4zMiBhbmQgTzMyLCBhbmQgY2xlYW4gdXAKCXdoaXRlIHNwYWNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3B3cml0ZS5jIChfX2xpYmNfcHdyaXRlKTogTGlrZXdpc2UuCgoyMDAzLTA5LTEwICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvdGNnZXRhdHRyLmMgKF9fdGNnZXRhdHRyKToKCURvbid0IHVzZSBjX2lzcGVlZCB1bmRlciBbISBfSEFWRV9TVFJVQ1RfVEVSTUlPU19DX0lTUEVFRF0uCglEb24ndCB1c2UgY19vc3BlZWQgdW5kZXIgWyEgX0hBVkVfU1RSVUNUX1RFUk1JT1NfQ19PU1BFRURdLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC90Y3NldGF0dHIuYyAodGNzZXRhdHRyKTogTGlrZXdpc2UuCglSZXBvcnRlZCBieSBEYW5pZWwgSmFjb2Jvd2l0eiAgPGRyb3dAbXZpc3RhLmNvbT4uCgoyMDAzLTA5LTEwICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN0cmluZy9NYWtlZmlsZSAoc3Ryb3AtdGVzdHMpOiBBZGQgbWVtY2NweS4KCSogc3RyaW5nL3Rlc3QtbWVtY2NweS5jOiBOZXcgdGVzdC4KCjIwMDMtMDktMDkgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3NpZ2NvbnRleHRpbmZvLmggKFNJR0NPTlRFWFQpOiBBZGQKCXNpZ2luZm9fdCAqIGFyZ3VtZW50IGJlZm9yZSwgY2hhbmdlIGludG8gc3RydWN0IHVjb250ZXh0ICouCgkoU0lHQ09OVEVYVF9FWFRSQV9BUkdTKTogRGVmaW5lIHRvIF9zaSwuCgkoR0VUX1BDLCBHRVRfRlJBTUUsIEdFVF9TVEFDSyk6IEFkanVzdCBmb3IgY3R4IGJlaW5nIGEgcG9pbnRlcgoJaW5zdGVhZCBvZiBzdHJ1Y3R1cmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9yZWdpc3Rlci1kdW1wLmggKFJFR0lTVEVSX0RVTVApOgoJTGlrZXdpc2UuCgoyMDAzLTA5LTA5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN0cmluZy9zdHJhdGNsaWZmLmMgKG1haW4pOiBDaGVjayBtZW1jY3B5LgoKMjAwMy0wNC0xMSAgSmVzIFNvcmVuc2VuICA8amVzQHdpbGRvcGVuc291cmNlLmNvbT4KCgkqIHN5c2RlcHMvaWE2NC9tZW1jY3B5LlM6IFdoZW4gcmVjb3ZlcmluZyBmb3Igc3JjX2FsaWduZWQgYW5kIHRoZQoJY2hhcmFjdGVyIGlzIGZvdW5kIGR1cmluZyByZWNvdmVyeSwgdXNlIGNvcnJlY3QgcmVnaXN0ZXIgd2hlbgoJZGV0ZXJtaW5pbmcgdGhlIHBvc2l0aW9uIG9mIHRoZSBmb3VuZCBjaGFyYWN0ZXIuCgoyMDAzLTA0LTAxICBKZXMgU29yZW5zZW4gIDxqZXNAd2lsZG9wZW5zb3VyY2UuY29tPgoKCSogc3lzZGVwcy9pYTY0L21lbWNjcHkuUzogVXNlIHNwZWN1bGF0aXZlbHkgbG9hZHMgZm9yIHJlYWRhaGVhZCB0bwoJYXZvaWQgc2VnZmF1bHRzIHdoZW4gcmVhZGluZyBmcm9tIHVubWFwcGVkIHBhZ2VzLiBGb3IgYWxpZ25lZAoJcmVsb2FkIGFuZCBjb250aW51ZSwgZm9yIG1pc2FsaWduZWQsIHJvbGwgYmFjayBhbmQgdXNlIGJ5dGUgY29weS4KCVNhdmUgYXIuZWMgb24gZW50cnkgYW5kIHJlc3RvcmUgb24gZXhpdC4KCjIwMDMtMDktMDkgIENocmlzIERlbWV0cmlvdSAgPGNnZEBicm9hZGNvbS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvbWlwcy9zeXNkZXAuaCAoUFNFVURPX0VORCk6IFVuZGVmIGJlZm9yZSBkZWZpbmluZy4KCjIwMDMtMDktMDggIENocmlzIERlbWV0cmlvdSAgPGNnZEBicm9hZGNvbS5jb20+CgoJKiBzeXNkZXBzL21pcHMvbWlwczY0L24zMi9JbXBsaWVzOiBNb3ZlIGllZWU3NTQvbGRibC0xMjggdG8KCXRoZSB0b3Agb2YgdGhlIGxpc3QuCgkqIHN5c2RlcHMvbWlwcy9taXBzNjQvbjY0L0ltcGxpZXM6IExpa2V3aXNlLgoKMjAwMy0wOS0wOCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAZnJvYi5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGVlZC5jCgkoY2ZzZXRvc3BlZWQpOiBPbmx5IHNldCBjX29zcGVlZCB1bmRlciBbX0hBVkVfU1RSVUNUX1RFUk1JT1NfQ19PU1BFRURdLgoJKGNmc2V0aXNwZWVkKTogT25seSBzZXQgY19pc3BlZWQgdW5kZXIgW19IQVZFX1NUUlVDVF9URVJNSU9TX0NfSVNQRUVEXS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy90ZXJtaW9zLmgKCShfSEFWRV9TVFJVQ1RfVEVSTUlPU19DX0lTUEVFRCwgX0hBVkVfU1RSVUNUX1RFUk1JT1NfQ19PU1BFRUQpOiBEZWZpbmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2JpdHMvdGVybWlvcy5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9iaXRzL3Rlcm1pb3MuaDogTGlrZXdpc2UuCgoyMDAzLTA5LTA4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9yZWdpc3Rlci1kdW1wLmg6IFVuZG8gbGFzdCBjaGFuZ2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zaWdjb250ZXh0aW5mby5oOiBMaWtld2lzZS4KCjIwMDMtMDktMDggIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvdHlwZXMuaCAoX19xdWFkX3QpOiBNYWtlIGxvbmcgaW50IGlmIDY0LWJpdC4KCShfX3VfcXVhZF90KTogTWFrZSB1bnNpZ25lZCBsb25nIGludCBpZiA2NC1iaXQuCgkoX19TUVVBRF9UWVBFKTogTWFrZSBsb25nIGludCBpZiA2NC1iaXQuCgkoX19VUVVBRF9UWVBFKTogTWFrZSB1bnNpZ25lZCBsb25nIGludCBpZiA2NC1iaXQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvYml0cy90eXBlc2l6ZXMuaDogUmVtb3ZlLgoKMjAwMy0wOS0wOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBNYWtlZmlsZSAodGVzdHMpOiBSdW4gY2hlY2stYysrLXR5cGVzLnNoIGlmIHBvc3NpYmxlLgoJKiBzY3JpcHRzL2NoZWNrLWMrKy10eXBlcy5oOiBOZXcgZmlsZS4KCSogc2NyaXB0cy9kYXRhL2MrKy10eXBlcy1pMzg2LWxpbnV4LWdudS5kYXRhOiBOZXcgZmlsZS4KCjIwMDMtMDktMDggIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9yZWdpc3Rlci1kdW1wLmggKHJlZ2lzdGVyX2R1bXApOgoJVXNlIHN0cnVjdCBzaWdjb250ZXh0LgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3NpZ2NvbnRleHRpbmZvLmggKFNJR0NPTlRFWFQpOgoJVXNlIHN0cnVjdCBzaWdjb250ZXh0LgoJKEdFVF9QQyk6IEFkb3B0LgoJKEdFVF9GUkFNRSk6IExpa2V3aXNlLgoJKEdFVF9TVEFDSyk6IExpa2V3aXNlLgoKMjAwMy0wOS0wOCAgV29sZnJhbSBHbG9nZXIgIDx3Z0BtYWxsb2MuZGU+CgoJKiBtYWxsb2MvbWFsbG9jLmMgKHNZU01BTExPYyk6IE1vdmUgZm9yZWlnbiBzYnJrIGFjY291bnRpbmcgaW50bwoJY29udGlndW91cyBjYXNlLiAgQnVnIHJlcG9ydCBmcm9tIFByZW0gR29wYWxhbiA8cHJlbUBtYXp1bmV0d29ya3MuY29tPi4KCShtQUxMT1B0KTogQXZvaWQgcmVxdWlyZW1lbnQgb2YgQzk5LgoKMjAwMy0wOS0wOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsaWJpby9idWctZnRlbGwuYzogSW5jbHVkZSA8c3lzL3R5cGVzLmg+LgoJKG1haW4pOiBNYXJrIGNwIGFzIGNvbnN0LgoKMjAwMy0wOS0wNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXNjYWxscy5saXN0IChmY250bCk6IFJlbW92ZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L2ZjbnRsLmM6IFJlbW92ZS4KCjIwMDMtMDktMDUgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC90Y2dldGF0dHIuYyAoX190Y2dldGF0dHIpOiBGaWxsIGluIGNfaXNwZWVkCglhbmQgY19vc3BlZWQgZmllbGRzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGVlZC5jIChjZnNldG9zcGVlZCk6IFNldCBjX29zcGVlZCBmaWVsZC4KCShjZnNldGlzcGVlZCk6IFNldCBjX2lzcGVlZCBmaWVsZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvdGNzZXRhdHRyLmMgKElCQVVEMCk6IERlZmluZSB1bmNvbmRpdGlvbmFsbHkKCXRvIG1hdGNoIGNvcnJlc3BvbmRpbmcgc3BlZWQuYyBjb2RlLgoKMjAwMy0wOS0wNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsaWJpby93ZmlsZW9wcy5jIChfSU9fd2ZpbGVfdW5kZXJmbG93KTogTWFyayBiZWdpbm5pbmcgb2YgdGhlCgluYXJyb3cgY2hhcmFjdGVyIGJ1ZmZlci4KCSogbGliaW8vTWFrZWZpbGU6IEFkZCBydWxlcyB0byBidWlsZCBhbmQgcnVuIGJ1Zy1mdGVsbC4KCSogbGliaW8vYnVnLWZ0ZWxsLmM6IE5ldyBmaWxlLgoKCSogc3RkaW8tY29tbW9uL3ZmcHJpbnRmLmM6IERvbid0IHVzZSB0aGUgZmlyc3QgZ3JvdXBpbmcgbnVtYmVyIHR3aWNlLgoKCSogc3RkaW8tY29tbW9uL3Zmc2NhbmYuYyAodmZzY2FuZik6IEZpeCByZWNvZ25pdGlvbiBvZiBjaGFyYWN0ZXJzCgltYXRjaGluZyB0aGUgZGVjaW1hbCBwb2ludCBhbmQgcG9zc2libHkgbGVhZGluZyB0aGUgdGhvdXNhbmRzCglzZXBhcmF0b3IuICBUaGlzIGNhdXNlZCB0aGUgcmVjb2duaXRpb24gb2YgdGhvdXNhbmRzIHNlcGFyYXRvcnMgdG8KCWFsd2F5cyBmYWlsLgoKMjAwMy0wOS0wNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsaWJpby9maWxlb3BzLmMgKF9JT19uZXdfZmlsZV9vdmVyZmxvdyk6IEhhbmRsZSBzd2l0Y2hpbmcgdG8KCXdyaXRlIG1vZGUgZnJvbSByZWFkIGluIGJhY2t1cCBidWZmZXIuCgkqIGxpYmlvL01ha2VmaWxlICh0ZXN0cyk6IEFkZCBidWctdW5nZXRjMi4KCSogbGliaW8vYnVnLXVuZ2V0YzIuYzogTmV3IGZpbGUuCgoyMDAzLTA5LTA1ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogbnNzL2dldFhYYnlZWS5jIChGVU5DVElPTl9OQU1FKTogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZS4KCjIwMDMtMDktMDQgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGZyb2IuY29tPgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvbW1hcC5jIChfX21tYXApOiBJZiBpb19tYXAgZmFpbHMgd2l0aCBNSUdfQkFEX0lELAoJRU9QTk9UU1VQUCwgb3IgRU5PU1lTLCBjaGFuZ2UgaXQgdG8gRU5PREVWLgoKMjAwMy0wOS0wNCAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9iaXRzL3NpZ3N0YWNrLmggKE1JTlNJR1NUS1NaKToKCUZpeCBhIHR5cG8uCgoyMDAzLTA5LTA1ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL2kzODYvYml0cy9zdHJpbmcuaCAoX19tZW1yY2hyKTogRG8gYWRkaXRpb24gaW4gYXNzZW1ibGVyCgl0byBtYWtlIGl0IGNvbmZvcm1pbmcgQy4KCSogc3lzZGVwcy9pMzg2L2k0ODYvYml0cy9zdHJpbmcuaCAoX19tZW1yY2hyKTogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2ZjbnRsLmMgKF9fZmNudGxfbm9jYW5jZWwpOiBDaGFuZ2UKCXByb3RvdHlwZSB0byB1c2UgdmFyaWFibGUgYXJndW1lbnQgbGlzdHMgYW5kIGdldCB0aGUgcG9zc2libGUgb25lCglhcmd1bWVudCB2aWEgdmFfYXJnLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9mY250bC5jIChfX2ZjbnRsX25vY2FuY2VsKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9mY250bC5jOiBOZXcuCgoyMDAzLTA5LTA0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHBvc2l4L3VuaXN0ZC5oOiBBZGQgYmFjayBfX1RIUk9XIHRvIHN5c2NvbmYsIHBhdGhjb25mLCBmcGF0aGNvbmYuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wYXRoY29uZi5jIChfX3N0YXRmc19maWxlc2l6ZV9tYXgpOgoJUmVwb3J0IGNvcnJlY3QgdmFsdWUgZm9yIHZ4ZnMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2xpbnV4X2ZzaW5mby5oOiBEZWZpbmUgVlhGU19TVVBFUl9NQUdJQy4KCgkqIGdtb24vZ21vbi5jOiBVc2Ugb25seSBub3QtY2FuY2VsYWJsZSBzeXNjYWxscyB0byB3cml0ZSBwcm9maWxpbmcKCWRhdGEuCgoJKiBzeXNkZXBzL2dlbmVyaWMvdXRtcF9maWxlLmM6IFVzZSBub3QtY2FuY2VsYWJsZSBzeXNjYWxscyBhbGwKCW92ZXIgdGhlIHBsYWNlLiAgSXQgd291bGQgYmUgYWxsb3dlZCB0byBoYXZlIHRoZXNlIGZ1bmN0aW9ucyBhcwoJY2FuY2VsbGF0aW9uIHBvaW50cyBidXQgdGhlIGNsZWFudXAgd291bGQgYmUgdWdseSBhbmQgYSBsb3Qgb2YKCXdvcmsuCgoJKiBzeXNkZXBzL2dlbmVyaWMvbm90LWNhbmNlbC5oIChmY250bF9ub3RfY2FuY2VsKTogRGVmaW5lLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ub3QtY2FuY2VsLmggKGZjbnRsX25vdF9jYW5jZWwpOiBEZWZpbmUuCgoJKiBpbmNsdWRlL2ZjbnRsLmggKF9fZmNudGxfbm9jYW5jZWwpOiBEZWNsYXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9mY250bC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9mY250bC5jIChfX2xpYmNfZmNudGwpOiBPbmx5IGVuYWJsZQoJY2FuY2VsbGF0aW9uIGlmIGFic29sdXRlbHkgbmVlZGVkLgoJKF9fZmNudGxfbm9jYW5jZWwpOiBEZWZpbmUuCgoJKiBwb3NpeC91bmlzdGQuaCAoZ2V0aG9zdGlkKTogUmVtb3ZlIF9fVEhST1cuICBDbGFyaWZ5IGNvbW1lbnQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L01ha2VmaWxlIChDRkxBR1MtZ2V0aG9zdGlkLmMpOiBBZGQKCS1mZXhjZXB0aW9ucy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZ2V0aG9zdGlkLmMgKGdldGhvc3RpZCk6IFVzZQoJZXh0ZW5kX2FsbG9jYS4KCgkqIHJlc29sdi9yZXNfaW5pdC5jIChfX3Jlc19uY2xvc2UpOiBVc2UgY2xvc2Vfbm90X2NhbmNlbF9ub19zdGF0dXMKCWluc3RlYWQgb2YgX19jbG9zZS4KCgkqIG5zcy9nZXRYWGJ5WVkuYyAoRlVOQ1RJT05fTkFNRSk6IEFkZCBhIGZldyBjYXN0cy4gIFJlbW92ZQoJdW5uZWNlc3NhcnkgZXJybm8gaGFuZGxpbmcuCgoJKiBuc3MvZ2V0WFhieVlZX3IuYyAoSU5URVJOQUwpOiBVc2UgYmV0dGVyIHZhcmlhYmxlIG5hbWUuCglJbml0aWFsaXplIGl0IGluIGFsbCBjYXNlcy4gIENoYW5nZSBpdCB0byBiZSBhIGJpdCBtb3JlIGxpa2UgdGhlCgljb2RlIHdlIGhhZCBiZWZvcmUuCgoyMDAzLTA5LTA0ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGxpYmlvL2ZpbGVvcHMuYyAoX0lPX2ZpbGVfcmVhZCwgX0lPX25ld19maWxlX3dyaXRlKTogQWRkCglfX2J1aWx0aW5fZXhwZWN0LgoJKF9JT19maWxlX29wZW4pOiBMaWtld2lzZS4gIFVzZSBjbG9zZV9ub3RfY2FuY2VsLgoKMjAwMy0wOS0wNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsaWJpby9saWJpby5oOiBEZWZpbmUgX0lPX0ZMQUdTMl9OT1RDQU5DRUwuCgkqIGxpYmlvL2ZpbGVvcHMuYyBbX0xJQkNdOiBSZW1vdmUgY2xvc2UgbWFjcm8uCgkoX0lPX2ZpbGVfb3Blbik6IElmIF9JT19GTEFHUzJfTk9UQ0FOQ0VMIGlzIHNldCwgdXNlIG9wZW5fbm90X2NhbmNlbC4KCShfSU9fbmV3X2ZpbGVfb3Blbik6IFJlY29nbml6ZSAnYycgZmxhZyBpbiBtb2RlIHN0cmluZy4KCShfSU9fZmlsZV9yZWFkKTogSWYgX0lPX0ZMQUdTMl9OT1RDQU5DRUwgaXMgc2V0IHVzZSByZWFkX25vdF9jYW5jZWwuCgkoX0lPX25ld19maWxlX3dyaXRlKTogSWYgX0lPX0ZMQUdTMl9OT1RDQU5DRUwgaXMgc2V0IHVzZQoJd3JpdGVfbm90X2NhbmNlbC4KCSogaWNvbnYvZ2NvbnZfY29uZi5jOiBVc2UgZm9wZW4gd2l0aCAnYycgbW9kZSBmbGFnLgoJKiBpbmV0L3JjbWQuYzogTGlrZXdpc2UuCgkqIGluZXQvcnVzZXJwYXNzLmM6IExpa2V3aXNlLgoJKiBpbnRsL2xvY2FsZWFsaWFzLmM6IExpa2V3aXNlLgoJKiBtYWxsb2MvbXRyYWNlLmM6IExpa2V3aXNlLgoJKiBtaXNjL2dldHBhc3MuYzogTGlrZXdpc2UuCgkqIG1pc2MvZ2V0dHR5ZW50LmM6IExpa2V3aXNlLgoJKiBtaXNjL21udGVudF9yLmM6IExpa2V3aXNlLgoJKiBtaXNjL2dldHVzZXJzaGVsbC5jOiBMaWtld2lzZS4KCSogbnNzL25zc3dpdGNoLmM6IExpa2V3aXNlLgoJKiByZXNvbHYvcmVzX2hjb25mLmM6IExpa2V3aXNlLgoJKiByZXNvbHYvcmVzX2luaXQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2dldHN5c3N0YXRzLmM6IExpa2V3aXNlLgoJKiB0aW1lL2dldGRhdGUuYzogTGlrZXdpc2UuCgkqIHRpbWUvdHpmaWxlLmM6IExpa2V3aXNlLgoJKiBtaXNjL2ZzdGFiLmg6IFVuZG8gbGFzdCBjaGFuZ2UuCgkqIG1pc2MvbW50ZW50Lmg6IExpa2V3aXNlLgoJKiBtaXNjL01ha2VmaWxlOiBSZW1vdmUgQ0ZMQUdTLW1udGVudF9yLmMsIENGTEFHUy1tbnRlbnQuYywgYW5kCglDRkxBR1MtZnN0YWIuYyBkZWZpbml0aW9uLgoKMjAwMy0wOS0wNCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvdW53aW5kLmggKF9VbndpbmRfR2V0QlNQKTogQWRkIHByb3RvdHlwZS4KCjIwMDMtMDktMDMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbnNzL2dldFhYYnlZWV9yLmMgKElOVEVSTkFMKTogRXhwbGljaXRseSBzZXQgZXJybm8gYW5kIGF2b2lkCglyZXR1cm5pbmcgRVJBTkdFIGlmIHRoaXMgd2Fzbid0IGludGVuZGVkLgoKMjAwMy0wOS0wMyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBpbnRsL2xvYWRtc2djYXQuYyAob3BlbiwgY2xvc2UsIHJlYWQsIG1tYXAsIG11bm1hcCk6IERlZmluZSBhcwoJZnVuY3Rpb24tbGlrZSBtYWNyb3MuCgoyMDAzLTA5LTAzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGdycC9NYWtlZmlsZSAoQ0ZMQUdTLWdldGdyZW50X3IuYyk6IEFkZCAtZmV4Y2VwdGlvbnMuCgkoQ0ZMQUdTLWdldGdyZW50LmMpOiBMaWtld2lzZS4KCSogcHdkL01ha2VmaWxlIChDRkxBR1MtZ2V0cHdlbnRfci5jKTogQWRkIC1mZXhjZXB0aW9ucy4KCShDRkxBR1MtZ2V0cHdlbnQuYyk6IExpa2V3aXNlLgoJKiBzaGFkb3cvTWFrZWZpbGUgKENGTEFHUy1nZXRzcGVudF9yLmMpOiBBZGQgLWZleGNlcHRpb25zLgoJKENGTEFHUy1nZXRzcGVudC5jKTogTGlrZXdpc2UuCgoJKiBpbmV0L01ha2VmaWxlOiBBZGQgLWZleGNlcHRpb25zIHRvIENGTEFHUyBmb3IgdGhlIHZhcmlvdXMKCWdldFhYZW50IGFuZCBnZXRYWGJ5WVkgZnVuY3Rpb25zLgoKCSogbG9jYWxlL2xvYWRsb2NhbGUuYzogVXNlIG5vdC1jYW5jZWxhYmxlIHZhcmlhbnRzIG9mIG9wZW4sIGNsb3NlLAoJYW5kIHJlYWQuCgoyMDAzLTA5LTAyICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL01ha2VmaWxlIChzeXNkZXBfcm91dGluZXMpOiBSZW1vdmUKCXJ0X3NpZ3N1c3BlbmQsIHJ0X3NpZ3Byb2NtYXNrLCBydF9zaWd0aW1lZHdhaXQsIHJ0X3NpZ3F1ZXVlaW5mbyBhbmQKCXJ0X3NpZ3BlbmRpbmcuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3NpZ2FjdGlvbi5jIChfX3N5c2NhbGxfcnRfc2lnYWN0aW9uKToKCU5ldyBwcm90b3R5cGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9zeXNjYWxscy5saXN0IChfX3N5c2NhbGxfKik6IFJlbW92ZQoJdW51c2VkIF9fc3lzY2FsbF8gc3R1YnMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9NYWtlZmlsZSAoc3lzZGVwX3JvdXRpbmVzKTogUmVtb3ZlCglydF8qLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jcmlzL01ha2VmaWxlOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL21pcHM2NC9zeXNjYWxscy5saXN0CgkoX19zeXNjYWxsX3JlY3Zmcm9tLCBfX3N5c2NhbGxfc2VuZHRvKTogUmVtb3ZlIHVudXNlZCBhbGlhc2VzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3N5c2NhbGxzLmxpc3QgKF9fc3lzY2FsbF8qKTogUmVtb3ZlCgl1bnVzZWQgX19zeXNjYWxsXyBzdHVicy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9NYWtlZmlsZSAoc3lzZGVwX3JvdXRpbmVzKTogUmVtb3ZlIHJ0XyouCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzMyL3N5c2NhbGxzLmxpc3QKCShfX3N5c2NhbGxfKik6IFJlbW92ZSB1bnVzZWQgX19zeXNjYWxsXyBzdHVicy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjNjQvc3lzY2FsbHMubGlzdAoJKF9fc3lzY2FsbF8qKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvTWFrZWZpbGUgKHN5c2RlcF9yb3V0aW5lcyk6IFJlbW92ZQoJcnRfKi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L3N5c2NhbGxzLmxpc3QgKF9fc3lzY2FsbF8qKToKCVJlbW92ZSB1bnVzZWQgX19zeXNjYWxsXyBzdHVicy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvTWFrZWZpbGUgKHN5c2RlcF9yb3V0aW5lcyk6IFJlbW92ZSBydF8qLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ydF9zaWdhY3Rpb24uYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcnRfc2lncGVuZGluZy5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ydF9zaWdwcm9jbWFzay5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ydF9zaWdxdWV1ZWluZm8uYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcnRfc2lncmV0dXJuLmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3J0X3NpZ3N1c3BlbmQuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcnRfc2lndGltZWR3YWl0LmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NfcHJlYWQ2NC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zX3B3cml0ZTY0LmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2dldGhvc3RuYW1lLmM6IFJlbW92ZSB1bnVzZWQKCV9fc3lzY2FsbF8qIHByb3RvdHlwZXMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2lwY19wcml2Lmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9tc2djdGwuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3NlbWN0bC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvc2htY3RsLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vc2lnYWN0aW9uLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2Nob3duLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2ZjaG93bi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9mY250bC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9meHN0YXQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvZ2V0ZWdpZC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9nZXRldWlkLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3NldHVpZC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9nZXRnaWQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvZ2V0Z3JvdXBzLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2dldG1zZy5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni94c3RhdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9nZXRyZXNnaWQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvZ2V0cmVzdWlkLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2dldHJsaW1pdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9nZXR1aWQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvbGNob3duLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2xvY2tmNjQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvbHhzdGF0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3B1dG1zZy5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zZXRmc2dpZC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zZXRmc3VpZC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zZXRnaWQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc2V0Z3JvdXBzLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3NldHJlZ2lkLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3NldHJlc2dpZC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zZXRyZXN1aWQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc2V0cmV1aWQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc2V0cmxpbWl0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3NpZ2FjdGlvbi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9meHN0YXQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvbHhzdGF0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3NpZ2FjdGlvbi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zaWdwZW5kaW5nLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3NpZ3Byb2NtYXNrLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3NpZ3N1c3BlbmQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQveHN0YXQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L202OGsvY2hvd24uYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvZnRydW5jYXRlNjQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvcHJlYWQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvcHJlYWQ2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9wdHJhY2UuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvcHdyaXRlLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3B3cml0ZTY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3NpZ2FjdGlvbi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy90cnVuY2F0ZTY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3VzdGF0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3hta25vZC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9jaG93bi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9pb2N0bC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL2Nob3duLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtMzIvbGNob3duLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQveHN0YXQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9meHN0YXQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9seHN0YXQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9zaWdhY3Rpb24uYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9zaWdwZW5kaW5nLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvc2lncHJvY21hc2suYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9zaWdzdXNwZW5kLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L3NpZ3BlbmRpbmcuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvc2lncHJvY21hc2suYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zaWdhY3Rpb24uYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3B3cml0ZS5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZXhlY3ZlLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9haW9fc2lncXVldWUuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3JlYm9vdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvX2V4aXQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2Z0cnVuY2F0ZTY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wd3JpdGU2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZnhzdGF0NjQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2dhaV9zaWdxdWV1ZS5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcmVhZGFoZWFkLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9nZXRjd2QuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NpZ3dhaXQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2dldGRlbnRzLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9yZWFkdi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZ2V0cHJpb3JpdHkuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NpZ2FjdGlvbi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaXBjX3ByaXYuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2xsc2Vlay5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzY3RsLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9seHN0YXQ2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbW1hcDY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC91c3RhdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG9sbC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcHJlYWQ2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvd3JpdGV2LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wcmVhZC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcHRyYWNlLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaWdwZW5kaW5nLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaWdwcm9jbWFzay5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2lncXVldWUuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NpZ3N1c3BlbmQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NpZ3RpbWVkd2FpdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2lnd2FpdGluZm8uYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3RydW5jYXRlNjQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3hta25vZC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveHN0YXQ2NC5jOiBMaWtld2lzZS4KCjIwMDMtMDktMDIgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zeXNkZXAuaCAoUFNFVURPKTogUmV2ZXJ0IGxhc3QgY2hhbmdlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3N5c2NhbGxzLmxpc3Q6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zeXNjYWxscy5saXN0OiBOZXcgZmlsZS4KCjIwMDMtMDktMDIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3RkaW8tY29tbW9uL01ha2VmaWxlIChDRkxBR1MtdnByaW50Zi5jKTogQWRkIC1mZXhjZXB0aW9ucy4KCgkqIGludGwvbG9hZG1zZ2NhdC5jOiBGb3IgX0xJQkMsIGNhbGwgbm90IGNhbmNlbGFibGUgdmVyc2lvbnMgb2YKCW9wZW4sIGNsb3NlLCBhbmQgcmVhZC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc3lzZGVwLmggKFBTRVVETyk6IEFsc28gZGVmaW5lCgkqX25vY2FuY2VsIG5hbWUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3N5c2NhbGxzLmxpc3Q6IEFkZCB3YWl0cGlkLgoKCSogbGliaW8vTWFrZWZpbGUgKENGTEFHUy1vbGR0bXBmaWxlLmMpOiBBZGQgLWZleGNlcHRpb25zLgoJKiBzeXNkZXBzL2dlbmVyaWMvdG1wZmlsZS5jICh0bXBmaWxlKTogVXNlIF9fdW5saW5rIGluc3RlYWQgb2YgcmVtb3ZlLgoJKiBsaWJpby9vbGR0bXBmaWxlLmMgKF9fb2xkX3RtcGZpbGUpOiBMaWtld2lzZS4KCgkqIG1pc2MvTWFrZWZpbGUgKENGTEFHUy1nZXR1c2Vyc2hlbGwuYyk6IEFkZCAtZmV4Y2VwdGlvbnMuCgoJKiBpby9NYWtlZmlsZSAoQ0ZMQUdTLXN0YXRmcy5jKTogQWRkIC1mZXhjZXB0aW9ucy4KCShDRkxBR1MtZnN0YXRmcy5jKTogTGlrZXdpc2UuCgkoQ0ZMQUdTLXN0YXR2ZnMuYyk6IExpa2V3aXNlLgoJKENGTEFHUy1mc3RhdHZmcy5jKTogTGlrZXdpc2UuCgoyMDAzLTA5LTAxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1pc2MvTWFrZWZpbGUgKENGTEFHUy1nZXRzeXNzdGF0cy5jKTogQWRkIC1mZXhjZXB0aW9ucy4KCSogcG9zaXgvdW5pc3RkLmg6IFJlbW92ZSBfX1RIUk9XIGZyb20gcGF0aGNvbmYsIGZwYXRoY29uZiwKCXN5c2NvbmYuCgkqIHBvc2l4L01ha2VmaWxlIChDRkxBR1Mtc3lzY29uZi5jKTogQWRkIC1mZXhjZXB0aW9ucy4KCShDRkxBR1MtcGF0aGNvbmYuYyk6IExpa2V3aXNlLgoJKENGTEFHUy1mcGF0aGNvbmYuYyk6IExpa2V3aXNlLgoKCSogbWlzYy9NYWtlZmlsZSAoQ0ZMQUdTLWZzdGFiLmMpOiBBZGQgLWZleGNlcHRpb25zLgoJKiBtaXNjL2ZzdGFiLmg6IFJlbW92ZSBhbGwgX19USFJPVy4KCSogbWlzYy9NYWtlZmlsZSAoQ0ZMQUdTLW1udGVudC5jKTogQWRkIC1mZXhjZXB0aW9ucy4KCShDRkxBR1MtbW50ZW50X3IuYyk6IExpa2V3aXNlLgoJKiBtaXNjL21udGVudC5oOiBSZW1vdmUgbW9zdCBfX1RIUk9XLgoKCSogbWlzYy9NYWtlZmlsZSAoQ0ZMQUdTLW1rc3RlbXAuYyk6IEFkZCAtZmV4Y2VwdGlvbnMuCgkoQ0ZMQUdTLW1rc3RlbXA2NC5jKTogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL2dlbmVyaWMvd29yZGV4cC5jIChwYXJzZV9jb21tKTogRGlzYWJsZSBjYW5jZWxsYXRpb24KCWFyb3VuZCBjYWxsIHRvIGV4ZWNfY29tbS4KCSogcG9zaXgvd29yZGV4cC5oOiBSZW1vdmUgX19USFJPVyBmcm9tIHdvcmRleHAuCgkqIHBvc2l4L01ha2VmaWxlIChDRkxBR1Mtd29yZGV4cC5jKTogQWRkIC1mZXhjZXB0aW9ucy4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2dldGxvYWRhdmcuYyAoZ2V0bG9hZGF2Zyk6IFVzZQoJbm90LWNhbmNlbGFibGUgZnVuY3Rpb25zLgoKCSogbGliaW8vTWFrZWZpbGUgKENGTEFHUy1vbGRpb2ZvcGVuLmMpOiBBZGQgLWZleGNlcHRpb25zLgoJKENGTEFHUy1pb2ZvcGVuLmMpOiBMaWtld2lzZS4KCShDRkxBR1MtaW9mb3BlbjY0LmMpOiBMaWtld2lzZS4KCgkqIHN0ZGxpYi9mbXRtc2cuYyAoZm10bXNnKTogRGlzYWJsZSBjYW5jZWxsYXRpb24gYXJvdW5kIG91dHB1dAoJZnVuY3Rpb25zLgoJKiBzdGRsaWIvTWFrZWZpbGUgKENGTEFHUy1mbXRtc2cuYyk6IEFkZCAtZmV4Y2VwdGlvbnMuCgkqIHN0ZGxpYi9mbXRtc2cuaDogUmVtb3ZlIF9fVEhST1cgZnJvbSBmbXRtc2cuCgoJKiBzdGRsaWIvc3RkbGliLmg6IFJlbW92ZSBfX1RIUk9XIGZyb20gcG9zaXhfb3BlbnB0IGFuZCBnZXRwdC4KCSogbG9naW4vTWFrZWZpbGUgKENGTEFHUy1nZXRwdC5jKTogQWRkIC1mZXhjZXB0aW9ucy4KCjIwMDMtMDktMDEgIFRob3JzdGVuIEt1a3VrICA8a3VrdWtAc3VzZS5kZT4KCgkqIG5pcy9uc3NfY29tcGF0L2NvbXBhdC1zcHdkLmMgKGdldHNwbmFtX3BsdXN1c2VyKTogUmV0dXJuCglOU1NfU1RBVFVTX1NVQ0NFU1MgaWYgZW50cnkgd2FzIGZvdW5kLgoJKGdldHNwZW50X25leHRfZmlsZSk6IFN0b3JlIHVzZXIgaW4gYmxhY2tsaXN0IGFmdGVyIGVudHJ5Cgl3YXMgZm91bmQsIHVzZSBpbm5ldGdyLgoKMjAwMy0wOS0wMSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGMzMi9wb3NpeF9mYWR2aXNlLmM6IE5ldy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjMzIvcG9zaXhfZmFkdmlzZTY0LmM6IE5ldy4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC10bHMuYyAoX2RsX2RldGVybWluZV90bHNvZmZzZXQpOiBGaXggdGxzIG9mZnNldAoJY29tcHV0YXRpb24gZm9yIFRDQl9BVF9UUC4gIFN1cHBvcnQgbF9maXJzdGJ5dGVfb2Zmc2V0ICE9IDAgZm9yCglEVFZfQVRfVFAsIG9wdGltaXplLgoKMjAwMy0wOC0zMSAgS2F6IEtvamltYSAgPGtrb2ppbWFAcnIuaWlqNHUub3IuanA+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9WZXJzaW9uczogQWRkIHBvc2l4X2ZhZHZpc2U2NCBhbmQKCXBvc2l4X2ZhbGxvY2F0ZTY0IGF0IEdMSUJDXzIuMy4zLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9zeXNkZXAuaCAoUFNFVURPX0VSUlZBTCk6IERlZmluZS4KCShQU0VVRE9fRU5EX0VSUlZBTCwgcmV0X0VSUlZBTCk6IExpa2V3aXNlLgoKMjAwMy0wOC0wOCAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zeXNjYWxscy5saXN0OiBSZW1vdmUgX19zeXNjYWxsXwoJZnVuY3Rpb25zLgoKMjAwMy0wOC0zMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsaWJpby9saWJpb1AuaCAoX0lPX2FjcXVpcmVfbG9ja19mY3QpOiBEZWZpbmUgYXMgaW5saW5lIGZ1bmN0aW9uLgoJQ29kZSBieSBSaWNoYXJkIEhlbmRlcnNvbi4KCjIwMDMtMDgtMzEgIFBoaWxpcCBCbHVuZGVsbCAgPHBoaWxiQGdudS5vcmc+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vVmVyc2lvbnM6IEFkZCBwb3NpeF9mYWR2aXNlNjQgYW5kCglwb3NpeF9mYWxsb2NhdGU2NCBhdCBHTElCQ18yLjMuMy4KCjIwMDMtMDgtMzEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy94ODZfNjQvYnNkLV9zZXRqbXAuUzogVXNlIEhJRERFTl9KVU1QVEFSR0VULgoJKiBpbmNsdWRlL3NldGptcC5oOiBBZGQgbGliY19oaWRkZW5fcHJvdG8gZm9yIF9fc2lnc2V0am1wLgoKMjAwMy0wOC0zMCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvc3lzZGVwLmggKGNmaV93aW5kb3dfc2F2ZSwgQ0ZJX1dJTkRPV19TQVZFKTogRGVmaW5lLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9iaXRzL3NldGptcC5oOiBBbGxvdyBmaWxlIHRvIGJlCglpbmNsdWRlZCBtdWx0aXBsZSB0aW1lcy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9jbG9uZS5TIChfX2Nsb25lKTogUGFzcwoJcHRpZCwgdGxzLCBjdGlkIGFyZ3VtZW50cyB0byB0aGUga2VybmVsLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzMyL2dldHBhZ2VzaXplLmMgKF9fZ2V0cGFnZXNpemUpOgoJVXNlIElOVEVSTkFMX1NZU0NBTEwgaW5zdGVhZCBvZiBfX3N5c2NhbGxfZ2V0cGFnZXNpemUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjMzIvc2lnYWN0aW9uLmMKCShfX2xpYmNfc2lnYWN0aW9uKTogVXNlIElOTElORV9TWVNDQUxMIGluc3RlYWQgb2YKCV9fc3lzY2FsbF9ydF9zaWdhY3Rpb24uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjMzIvc3lzY2FsbHMubGlzdAoJKF9fc3lzY2FsbF9nZXRncm91cHMsIF9fc3lzY2FsbF9nZXRwYWdlc2l6ZSwgX19zeXNjYWxsX19sbHNlZWssCglfX3N5c2NhbGxfc2V0ZnNnaWQsIF9fc3lzY2FsbF9zZXRmc3VpZCwgX19zeXNjYWxsX3NldGdpZCwKCV9fc3lzY2FsbF9zZXRncm91cHMsIF9fc3lzY2FsbF9zZXRyZWdpZCwgX19zeXNjYWxsX3NldHJldWlkLAoJX19zeXNjYWxsX2lwYywgX19zeXNjYWxsX3NldHVpZCwgX19zeXNjYWxsX3J0X3NpZ2FjdGlvbiwKCV9fc3lzY2FsbF9ydF9zaWdwZW5kaW5nLCBfX3N5c2NhbGxfcnRfc2lncHJvY21hc2ssCglfX3N5c2NhbGxfcnRfc2lncXVldWVpbmZvLCBfX3N5c2NhbGxfcnRfc2lnc3VzcGVuZCwKCV9fc3lzY2FsbF9ydF9zaWd0aW1lZHdhaXQpOiBSZW1vdmUgdW5uZWVkZWQgc3lzY2FsbCBzdHVicy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9NYWtlZmlsZSAoc3lzZGVwX3JvdXRpbmVzKToKCVJlbW92ZSBydF9zaWdzdXNwZW5kLCBydF9zaWdwcm9jbWFzaywgcnRfc2lndGltZWR3YWl0LAoJcnRfc2lncXVldWVpbmZvLCBydF9zaWdhY3Rpb24gYW5kIHJ0X3NpZ3BlbmRpbmcuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjMzIvc3lzZGVwLmgKCShfX0NMT05FX1NZU0NBTExfU1RSSU5HKTogRGVmaW5lLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzMyL3NvY2tldC5TIChfX3NvY2tldCk6IEFkZAoJQ0ZJIGRpcmVjdGl2ZXMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvc3lzZGVwLmgKCShfX0NMT05FX1NZU0NBTExfU1RSSU5HKTogRGVmaW5lLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zeXNkZXAuaCAoSU5MSU5FX0NMT05FX1NZU0NBTEwpOgoJRGVmaW5lLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zeXN0ZW0uYzogTmV3IGZpbGUuCgoyMDAzLTA4LTMwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN1bnJwYy9ycGMvY2xudC5oOiBSZW1vdmUgYSBmZXcgX19USFJPVy4KCSogc3VucnBjL01ha2VmaWxlIChDRkxBR1MtYXV0aF91bml4LmMpOiBBZGQgLWZleGNlcHRpb25zLgoJKENGTEFHUy1rZXlfY2FsbC5jKTogTGlrZXdpc2UuCgkoQ0ZMQUdTLXBtYXBfcm10LmMpOiBMaWtld2lzZS4KCShDRkxBR1MtY2xudF9wZXJyLmMpOiBMaWtld2lzZS4KCSogc3VucnBjL3JwYy9hdXRoLmg6IFJlbW92ZSBzZXJ2ZXJhbCBfX1RIUk9XLgoKCSogaW5ldC9NYWtlZmlsZSAoQ0ZMQUdTLWdldGhzdGJ5YWRfci5jKTogQWRkIC1mZXhjZXB0aW9ucy4KCShDRkxBR1MtZ2V0aHN0YnlubV9yLmMpOiBMaWtld2lzZS4KCShDRkxBR1MtZ2V0aHN0YnlubTJfci5jKTogTGlrZXdpc2UuCgkoQ0ZMQUdTLXJjbWQuYyk6IExpa2V3aXNlLgoJKiByZXNvbHYvTWFrZWZpbGUgKENGTEFHUy1yZXNfaGNvbmYuYyk6IEFkZCAtZmV4Y2VwdGlvbnMuCgoJKiBhcmdwL01ha2VmaWxlIChDRkxBR1MtYXJncC1oZWxwLmMpOiBBZGQgLWZleGNlcHRpb25zLgoJKENGTEFHUy1hcmdwLWZtdHN0cmVhbS5jKTogTGlrZXdpc2UuCgkqIGFyZ3AvYXJncC5oOiBSZW1vdmUgYSBudW1iZXIgb2YgX19USFJPVy4KCgkqIG1pc2Mvc3lzL3N5c2xvZy5oICh2c3lzbG9nKTogUmVtb3ZlIF9fVEhST1cuCgoJKiBtaXNjL01ha2VmaWxlIChDRkxBR1MtZ2V0cGFzcy5jKTogQWRkIC1mZXhjZXB0aW9ucy4KCSogbWlzYy9nZXRwYXNzLmMgKGdldHBhc3MpOiBBZGQgY2xlYW51cCBoYW5kbGVyIHRvIGVuc3VyZSB0aGUKCXN0cmVhbSBpcyBjbG9zZWQgZXZlbiBpZiB0aGUgdGhyZWFkIGlzIGNhbmNlbGVkLgoJKGNhbGxfZmNsb3NlKTogTmV3IGZ1bmN0aW9uLgoJKiBwb3NpeC91bmlzdGQuaDogUmVtb3ZlIF9fVEhST1cgZnJvbSBnZXRwYXNzIHByb3RvdHlwZS4KCgkqIHBvc2l4L01ha2VmaWxlIChDRkxBR1MtZ2V0b3B0LmMpOiBBZGQgLWZleGNlcHRpb25zLgoKCSogc2lnbmFsL3NpZ25hbC5oIChwc2lnbmFsKTogUmVtb3ZlIF9fVEhST1cuCgkqIHN0ZGlvLWNvbW1vbi9NYWtlZmlsZSAoQ0ZMQUdTLXBzaWduYWwuYyk6IEFkZCAtZmV4Y2VwdGlvbnMuCgoJKiBtaXNjL01ha2VmaWxlIChDRkxBR1MtZXJyb3IuYyk6IERlZmluZS4KCSogbWlzYy9lcnJvci5jIChlcnJvcik6IERpc2FibGUgY2FuY2VsbGF0aW9uIGhhbmRsaW5nIGFyb3VuZCB0aGUKCWFjdHVhbCBvdXRwdXQuICBUaGUgbWVzc2FnZSBzaG91bGQgaW4gYW55IGNhc2UgYmUgcHJpbnRlZC4KCShlcnJvcl9hdF9saW5lKTogTGlrZXdpc2UuCgoJKiBtaXNjL2Vycm9yLmg6IFByb3RlY3QgcGFyYW1ldGVyIG5hbWVzIHdpdGggbGVhZGluZyBfXy4KCjIwMDMtMDgtMjggIENhcmxvcyBPJ0RvbmVsbCAgPGNhcmxvc0BiYWxkcmljLnV3by5jYT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEvc3lzY2FsbHMubGlzdDogQWRkIHNlbXRpbWVkb3AuCgoyMDAzLTA4LTI5ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGxpYmlvL2lvZmdldHBvczY0LmMgKF9JT19uZXdfZmdldHBvczY0KTogTW92ZSBsb2NrIHJlbGVhc2UgdG8gdGhlCgllbmQuCgoyMDAzLTA4LTI5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxpYmlvL3N0ZGlvLmg6IFJlbW92ZSBhIGZldyBtb3JlIF9fVEhST1cuCgoyMDAzLTA4LTI5ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGxpYmlvL01ha2VmaWxlOiBDb21waWxlIGZwdXRjLmMsIGZwdXR3Yy5jLCBmcmVvcGVuNjQuYywgZnJlb3Blbi5jLAoJZnNlZWsuYywgZnNlZWtvNjQuYywgZnNlZWtvLmMsIGZ0ZWxsbzY0LmMsIGZ0ZWxsby5jLCBmd2lkZS5jLCBnZXRjLmMsCglnZXRjaGFyLmMsIGdldHdjLmMsIGdldHdjaGFyLmMsIGlvZmNsb3NlLmMsIGlvZmZsdXNoLmMsIGlvZmdldHBvczY0LmMsCglpb2ZnZXRwb3MuYywgaW9mZ2V0cy5jLCBpb2ZnZXR3cy5jLCBpb2ZwdXRzLmMsIGlvZnB1dHdzLmMsIGlvZnJlYWQuYywKCWlvZnNldHBvczY0LmMsIGlvZnNldHBvcy5jLCBpb2Z0ZWxsLmMsIGlvZndyaXRlLmMsIGlvZ2V0ZGVsaW0uYywKCWlvZ2V0bGluZS5jLCBpb2dldHMuYywgaW9nZXR3bGluZS5jLCBpb3B1dHMuYywgaW9zZWVrb2ZmLmMsCglpb3NlZWtwb3MuYywgaW9zZXRidWZmZXIuYywgaW9zZXR2YnVmLmMsIGlvdW5nZXRjLmMsIGlvdW5nZXR3Yy5jLAoJb2xkZmlsZW9wcy5jLCBvbGRpb2ZjbG9zZS5jLCBvbGRpb2ZnZXRwb3M2NC5jLCBvbGRpb2ZnZXRwb3MuYywKCW9sZGlvZnNldHBvczY0LmMsIG9sZGlvZnNldHBvcy5jLCBwZWVrYy5jLCBwdXRjLmMsIHB1dGNoYXIuYywgcHV0d2MuYywKCXB1dHdjaGFyLmMgYW5kIHJld2luZC5jIHdpdGggZXhjZXB0aW9ucy4KCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvc3RkaW8tbG9jay5oIChfSU9fYWNxdWlyZV9sb2NrLAoJX0lPX3JlbGVhc2VfbG9jayk6IERlZmluZS4KCSogbGliaW8vZmlsZW9wcy5jIChfSU9fbmV3X2ZpbGVfdW5kZXJmbG93KTogVXNlIGl0LgoJKiBsaWJpby9mcHV0Yy5jIChmcHV0Yyk6IExpa2V3aXNlLgoJKiBsaWJpby9mcHV0d2MuYyAoZnB1dHdjKTogTGlrZXdpc2UuCgkqIGxpYmlvL2ZyZW9wZW42NC5jIChmcmVvcGVuNjQpOgoJKiBsaWJpby9mcmVvcGVuLmMgKGZyZW9wZW4pOiBMaWtld2lzZS4KCSogbGliaW8vZnNlZWsuYyAoZnNlZWspOiBMaWtld2lzZS4KCSogbGliaW8vZnNlZWtvNjQuYyAoZnNlZWtvNjQpOiBMaWtld2lzZS4KCSogbGliaW8vZnNlZWtvLmMgKGZzZWVrbyk6IExpa2V3aXNlLgoJKiBsaWJpby9mdGVsbG82NC5jIChmdGVsbG82NCk6IExpa2V3aXNlLgoJKiBsaWJpby9mdGVsbG8uYyAoZnRlbGxvKTogTGlrZXdpc2UuCgkqIGxpYmlvL2Z3aWRlLmMgKGZ3aWRlKTogTGlrZXdpc2UuCgkqIGxpYmlvL2dldGMuYyAoX0lPX2dldGMpOiBMaWtld2lzZS4KCSogbGliaW8vZ2V0Y2hhci5jIChnZXRjaGFyKTogTGlrZXdpc2UuCgkqIGxpYmlvL2dldHdjLmMgKF9JT19nZXR3Yyk6IExpa2V3aXNlLgoJKiBsaWJpby9nZXR3Y2hhci5jIChnZXR3Y2hhcik6IExpa2V3aXNlLgoJKiBsaWJpby9pb2ZjbG9zZS5jIChfSU9fbmV3X2ZjbG9zZSk6CgkqIGxpYmlvL2lvZmZsdXNoLmMgKF9JT19mZmx1c2gpOiBMaWtld2lzZS4KCSogbGliaW8vaW9mZ2V0cG9zNjQuYyAoX0lPX25ld19mZ2V0cG9zNjQpOiBMaWtld2lzZS4KCSogbGliaW8vaW9mZ2V0cG9zLmMgKF9JT19uZXdfZmdldHBvcyk6IExpa2V3aXNlLgoJKiBsaWJpby9pb2ZnZXRzLmMgKF9JT19mZ2V0cyk6IExpa2V3aXNlLgoJKiBsaWJpby9pb2ZnZXR3cy5jIChmZ2V0d3MpOiBMaWtld2lzZS4KCSogbGliaW8vaW9mcHV0cy5jIChfSU9fZnB1dHMpOiBMaWtld2lzZS4KCSogbGliaW8vaW9mcHV0d3MuYyAoZnB1dHdzKTogTGlrZXdpc2UuCgkqIGxpYmlvL2lvZnJlYWQuYyAoX0lPX2ZyZWFkKTogTGlrZXdpc2UuCgkqIGxpYmlvL2lvZnNldHBvczY0LmMgKF9JT19uZXdfZnNldHBvczY0KTogTGlrZXdpc2UuCgkqIGxpYmlvL2lvZnNldHBvcy5jIChfSU9fbmV3X2ZzZXRwb3MpOiBMaWtld2lzZS4KCSogbGliaW8vaW9mdGVsbC5jIChfSU9fZnRlbGwpOiBMaWtld2lzZS4KCSogbGliaW8vaW9md3JpdGUuYyAoX0lPX2Z3cml0ZSk6IExpa2V3aXNlLgoJKiBsaWJpby9pb2dldGRlbGltLmMgKF9JT19nZXRkZWxpbSk6IExpa2V3aXNlLgoJKiBsaWJpby9pb2dldHMuYyAoX0lPX2dldHMpOiBMaWtld2lzZS4KCSogbGliaW8vaW9wdXRzLmMgKF9JT19wdXRzKTogTGlrZXdpc2UuCgkqIGxpYmlvL2lvc2Vla29mZi5jIChfSU9fc2Vla29mZik6IExpa2V3aXNlLgoJKiBsaWJpby9pb3NlZWtwb3MuYyAoX0lPX3NlZWtwb3MpOiBMaWtld2lzZS4KCSogbGliaW8vaW9zZXRidWZmZXIuYyAoX0lPX3NldGJ1ZmZlcik6IExpa2V3aXNlLgoJKiBsaWJpby9pb3NldHZidWYuYyAoX0lPX3NldHZidWYpOiBMaWtld2lzZS4KCSogbGliaW8vaW91bmdldGMuYyAoX0lPX3VuZ2V0Yyk6IExpa2V3aXNlLgoJKiBsaWJpby9pb3VuZ2V0d2MuYyAodW5nZXR3Yyk6IExpa2V3aXNlLgoJKiBsaWJpby9vbGRpb2ZjbG9zZS5jIChfSU9fb2xkX2ZjbG9zZSk6IExpa2V3aXNlLgoJKiBsaWJpby9vbGRpb2ZnZXRwb3M2NC5jIChfSU9fb2xkX2ZnZXRwb3M2NCk6IExpa2V3aXNlLgoJKiBsaWJpby9vbGRpb2ZnZXRwb3MuYyAoX0lPX29sZF9mZ2V0cG9zKTogTGlrZXdpc2UuCgkqIGxpYmlvL29sZGlvZnNldHBvczY0LmMgKF9JT19vbGRfZnNldHBvczY0KTogTGlrZXdpc2UuCgkqIGxpYmlvL29sZGlvZnNldHBvcy5jIChfSU9fb2xkX2ZzZXRwb3MpOiBMaWtld2lzZS4KCSogbGliaW8vcGVla2MuYyAoX0lPX3BlZWtjX2xvY2tlZCk6IExpa2V3aXNlLgoJKiBsaWJpby9wdXRjLmMgKF9JT19wdXRjKTogTGlrZXdpc2UuCgkqIGxpYmlvL3B1dGNoYXIuYyAocHV0Y2hhcik6IExpa2V3aXNlLgoJKiBsaWJpby9wdXR3Yy5jIChwdXR3Yyk6IExpa2V3aXNlLgoJKiBsaWJpby9wdXR3Y2hhci5jIChwdXR3Y2hhcik6IExpa2V3aXNlLgoJKiBsaWJpby9yZXdpbmQuYyAocmV3aW5kKTogTGlrZXdpc2UuCgkqIGxpYmlvL3dmaWxlb3BzLmMgKF9JT193ZmlsZV91bmRlcmZsb3cpOiBMaWtld2lzZS4KCjIwMDMtMDgtMjkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc2lnbmFsL3NpZ25hbC5oOiBzaWdob2xkLCBzaWdyZWxzZSwgc2lnaWdub3JlLCBzaWdzZXQgd2VyZQoJYXZhaWxhYmxlIGluIFhQRzQuMi4KCjIwMDMtMDgtMjcgIFBoaWwgS25pcnNjaCAgPHBrbmlyc2NoQHJlZGhhdC5jb20+CgkgICAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzdW5ycGMvc3ZjLmMgKHN2Y19nZXRyZXFzZXQpOiBGaXggZmRzX2JpdHMgcmVhZGluZyBvbiA2NC1iaXQKCWJpZyBlbmRpYW4gYXJjaGVzLiAgRG9uJ3QgcmVhZCBiZXlvbmQgZW5kIG9mIGZkc19iaXRzIGFycmF5LgoKMjAwMy0wNC0yNyAgQnJ1bm8gSGFpYmxlICA8YnJ1bm9AY2xpc3Aub3JnPgoKCSogbWFudWFsL21lc3NhZ2UudGV4aSAoQWR2YW5jZWQgZ2V0dGV4dCBmdW5jdGlvbnMpOiBBZGQgaW5mb3JtYXRpb24KCWFib3V0IEtvcmVhbiwgUG9ydHVndWVzZSwgTGF0dmlhbi4gR2FlaWxnZSBpcyBhbHNvIGtub3duIGFzIElyaXNoLgoJQWRkIHNlY3Rpb24gYWJvdXQgTGl0aHVhbmlhbiwgcmVwb3J0ZWQgYnkgUmljYXJkYXMgQ2VwYXMKCTxyY2hAcmljaGFyZC5ldS5vcmc+LgoJQWRkIGluZm9ybWF0aW9uIGFib3V0IENyb2F0aWFuLgoJVWtyYWluaWFuIGlzIGxpa2UgUnVzc2lhbiwgcmVwb3J0ZWQgYnkgQW5keSBSeXNpbiA8YXJ5c2luQHlhaG9vLmNvbT4uCglSZW1vdmUgcmVtYXJrIGFib3V0IGNvbnRpbnVhdGlvbiBsaW5lcyB0aGF0IGlzIG5vdCB0cnVlIGZvciBQTyBmaWxlcy4KCUZpeCBmb3JtdWxhIGZvciBTbG92ZW5pYW4sIHJlcG9ydGVkIGJ5IFJvbWFuIE1hdXJlcgoJPHJvbWFuLm1hdXJlckBhbWlzLm5ldD4uCgoyMDAzLTA4LTI3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hdGgvbWF0aF9wcml2YXRlLmg6IERlY2xhcmUgX19jb3B5c2lnbmYuCgkqIHN5c2RlcHMvaWVlZTc1NC9mbHQtMzIvc19zY2FsYm5mLmM6IFVzZSBfX2NvcHlzaWduZiBpbnN0ZWFkIG9mCgljb3B5c2lnbmYuCgoJKiBzeXNkZXBzL3g4Nl82NC9mcHUvYml0cy9tYXRoaW5saW5lLmg6IERlZmluZSBfX3NpZ25iaXRmLAoJX19zaWduYml0LCBhbmQgX19zaWduYml0bCBpbmxpbmUgZnVuY3Rpb25zLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L19fc3RhcnRfY29udGV4dC5TOiBVc2UKCUhJRERFTl9KVU1QVEFSR0VUIGluc3RlYWQgb2YgSlVNUFRBUkdFVCB0byBjYWxsIGV4aXQoKS4KCgkqIHN5c2RlcHMveDg2XzY0L2JzZC1fc2V0am1wLlMgW1BJQ106IEp1bXAgdG8gX19HSV9fX3NpZ3NldGptcC4KCSogc3lzZGVwcy94ODZfNjQvc2V0am1wLlM6IEFkZCBsaWJjX2hpZGRlbl9kZWYgZm9yIF9fc2lnc2V0am1wLgoKMjAwMy0wOC0yNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBpbmV0L2luZXRfbWthZHIuYyAoaW5ldF9tYWtlYWRkcik6IE9wdGltaXplLgoKMjAwMy0wOC0yNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL3N0ZGlvLmg6IEFkZCBkZWNsYXJhdGlvbnMgZm9yIF9fYnVpbHRpbl9md3JpdGUgYW5kCglfX2J1aWx0aW5fZndyaXRlX3VubG9ja2VkLgoKMjAwMy0wOC0yNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvb3BlbmRpci5jIChfX29wZW5kaXIpOiBNYWtlIHN1cmUgZXZlbiBzdHJ1Y3QgZGlyZW50NjQKCWZpdHMgaW50byBhbGxvY2F0aW9uLiAgQWRkIHBhZGRpbmcgb24gMzItYml0IGFyY2hlcyBzbyB0aGF0CglkaXJwLT5kYXRhIGlzIGVub3VnaCBhbGlnbmVkIGZvciBzdHJ1Y3QgZGlyZW50NjQuCglBdm9pZCBjbGVhcmluZyBvZiB0aGUgYnVmZmVyLCBqdXN0IGNsZWFyIERJUiBzdHJ1Y3R1cmUuCgoyMDAzLTA4LTI2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG5zcy9uc3N3aXRjaC5jOiBBZGQgbGliY19oaWRkZW5fZGVmIGZvciBfX25zc19sb29rdXBfZnVuY3Rpb24uCgkqIG5zcy9uc3N3aXRjaC5oOiBBZGQgbGliY19oaWRkZW5fcHJvdG8gZm9yIF9fbnNzX2xvb2t1cF9mdW5jdGlvbi4KCjIwMDMtMDgtMjYgIFN0ZXZlbiBNdW5yb2UgIDxzam11bnJvZUB1cy5pYm0uY29tPgoKCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9lbGYvTWFrZWZpbGU6IE5ldyBmaWxlLgoKMjAwMy0wOC0yNiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBsb2dpbi9wcm9ncmFtcy91dG1wZHVtcC5jIChwcmludF9lbnRyeSk6IENhc3QgdHZfdXNlYyB0byBsb25nCgl0byBtYXRjaCBmb3JtYXQgc3RyaW5nLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzMyL3NlbWN0bC5jICh1bmlvbiBzZW11bik6IEFkZAoJX19vbGRfYnVmLgoJKF9fbmV3X3NlbWN0bCk6IFNodXQgdXAgd2FybmluZy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9kbC1wcm9jaW5mby5oCgkoX2RsX3N0cmluZ19od2NhcCk6IEFkZCBfX2F0dHJpYnV0ZV9fICgoYWx3YXlzX2lubGluZSkpLgoKMjAwMy0wOC0yNiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBlbGYvbGRjb25maWcuYyAoc2VhcmNoX2Rpcik6IFdoZW4gY2hlY2tpbmcgZm9yIEdOVS1zdHlsZSAuc28KCWxpbmsgZmlsZSB1c2UgdGhlIHJlYWwgZmlsZSBuYW1lLCBub3QgdGhlIHJlc29sdmVkIG5hbWUgd2UgZ290IGJ5Cglmb2xsb3dpbmcgdGhlIHN5bWxpbmtzLgoKMjAwMy0wOC0yNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsaWJpby9vbGRmaWxlb3BzLmMgKF9JT19vbGRfZmlsZV9pbml0KTogSW5pdGlhbGl6ZSBfbW9kZSBmaWVsZAoJaWYgdGhlIG9iamVjdCBzaXplIGlzIGxhcmdlIGVub3VnaC4KCjIwMDMtMDgtMjUgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogZWxmL2xkY29uZmlnLmMgKHNlYXJjaF9kaXIpOiBUcmVhdCBzeW1saW5rIGFzIHJlZ3VsYXIgZmlsZQoJaWYgaXQgd29uJ3QgcG9pbnQgdG8gaXRzZWxmIHVubGVzcyBpdCBpcyAuc28gc3ltbGluayBmb3IgdGhlIGxpbmtlci4KCjIwMDMtMDgtMjUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbGliaW8vbGliaW8uaCAoX0lPX2Z3aWRlKTogSW4gdGhlIG1vZGU9PTAgb3B0aW1pemF0aW9uLCBkb24ndAoJdXNlIF9tb2RlIGlmIF9JT19md2lkZV9tYXliZV9pbmNvbXBhdGlibGUuCgkqIGxpYmlvL2lvZndpZGUuYyAoX0lPX2Z3aWRlKTogTW92ZSB0aGUgdGVzdCBmb3IgbW9kZSA9PSAwIGFmdGVyCgl0aGUgY29tcGF0aWJpbGl0eSB0ZXN0LgoKMjAwMy0wOC0yNSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBlbGYvY2FjaGUuYyAoc2F2ZV9jYWNoZSk6IERvbid0IHdyaXRlIGJleW9uZCBlbmQgb2YgZmlsZV9lbnRyaWVzCglidWZmZXIuCglEdXBsaWNhdGUgbGFzdCBvbGQgY2FjaGUgZW50cnkgaWYgdGhlIGNvdW50IHdvdWxkIGJlIG9kZC4KCjIwMDMtMDgtMjUgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvc2l4X2ZhZHZpc2U2NC5jOiBDYXN0IGFyZ3VtZW50cyBvZgoJX19MT05HX0xPTkdfUEFJUiB0byBsb25nLgoKMjAwMy0wOC0yNSAgUGhpbGlwIEJsdW5kZWxsICA8cGhpbGJAZ251Lm9yZz4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9zeXNkZXAuaCAoUFNFVURPX0VSUlZBTCk6IERlZmluZS4KCShQU0VVRE9fRU5EX0VSUlZBTCwgcmV0X0VSUlZBTCk6IExpa2V3aXNlLgoKMjAwMy0wOC0xOCAgQWxmcmVkIE0uIFN6bWlkdCAgPGFtc0BrZW1pc3Rlbi5udT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL2xpYmMtbG9jay5oIChfX2xpYmNfY2xlYW51cF9wb3ApOiBSZWRlZmluZQoJYW5kIHVzZSBfX2xpYmNfY2xlYW51cF9yZWdpb25fZW5kIGluc3RlYWQuCgoyMDAzLTA4LTI1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9sZGNvbmZpZy5jIChzZWFyY2hfZGlyKTogUmV2ZXJ0IHBhdGNoIG9mIDIwMDMtNy0yMS4KCjIwMDMtMDgtMjIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW8vZmNudGwuaCAocG9zaXhfZmFsbG9jYXRlKTogQ2hhbmdlIHR5cGUgb2YgdGhpcmQgcGFyYW1ldGVyIHRvCglvZmZfdC4KCShwb3NpeF9mYWxsb2NhdGU2NCk6IENoYW5nZSB0eXBlIG9mIHRoaXJkIHBhcmFtZXRlciB0byBvZmY2NF90LgoJKiBzeXNkZXBzL2dlbmVyaWMvcG9zaXhfZmFsbG9jYXRlLmM6IEFkanVzdCBmb3IgdHlwZSBjaGFuZ2UuCgkqIHN5c2RlcHMvcG9zaXgvcG9zaXhfZmFsbG9jYXRlLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvcG9zaXhfZmFsbG9jYXRlNjQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG9zaXgvcG9zaXhfZmFsbG9jYXRlNjQuYzogTGlrZXdpc2UuICBBZGQgY29tcGF0aWJpbGl0eQoJY29kZSBmb3IgMzItYml0IHBsYXRmb3Jtcy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9WZXJzaW9uczogQWRkIG5ldyB2ZXJzaW9uIGZvcgoJcG9zaXhfZmFsbG9jYXRlNjQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzMyL1ZlcnNpb25zOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL1ZlcnNpb25zOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9WZXJzaW9uczogTGlrZXdpc2UuCgoyMDAzLTA4LTE5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN0cmluZy9iaXRzL3N0cmluZzIuaCAoX19TVFJJTkcyX0NPUFlfVFlQRSk6IEFkZCBhdHRyaWJ1dGUgdG8KCXRoZSB0eXBlLCBub3QgdG8gbmFtZS4KCgkqIHN0ZGlvLWNvbW1vbi90ZXN0LXZmcHJpbnRmLmMgKG1haW4pOiBEb24ndCB3cml0ZSB0ZW1wb3JhcnkgZmlsZQoJaW50byBzb3VyY2UgZGlyZWN0b3J5LgoKCSogbWFsbG9jL21hbGxvYy5jIChfaW50X2ZyZWUpOiBBZGQgY2hlYXAgdGVzdCBmb3Igc29tZSBpbnZhbGlkCglibG9jayBzaXplcy4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvcG9zaXhfZmFkdmlzZTY0LlM6IEZpeCB0eXBvIGluCglzeXNjYWxsIG5hbWUuCgoyMDAzLTA4LTE4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NobV9vcGVuLmMgKHNobV9vcGVuKTogRm9sZCBFSVNESVIgZXJyb3IKCWludG8gRUlOVkFMLgoKMjAwMy0wOC0xOCAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoKCSogc3lzZGVwcy9pYTY0L2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfcmVsYSk6IFVzZSBfZGxfcmVsb2NfYmFkX3R5cGUuCgkoZWxmX21hY2hpbmVfbGF6eV9yZWwpOiBMaWtld2lzZS4KCjIwMDMtMDgtMTggIEFydCBIYWFzICA8YWhhYXNAYWlybWFpbC5uZXQ+CgoJKiBtYWxsb2MvbWFsbG9jLmg6IFJlbW92ZSB1bm5lZWRlZCAnOycgd2hlcmUgY2xvc2luZyB0aGUgQysrCglleHRlcm4gYmxvY2suCgoyMDAzLTA4LTE4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvaWE2NC9kbC1mcHRyLmggKEVMRl9NQUNISU5FX0xPQURfQUREUkVTUyk6IFN1cHBvcnQKCWxvYWRpbmcgYmlnIGJpbmFyaWVzIHdoZXJlIEBncHJlbChzeW0pIGNhbm5vdCBiZSBoYW5kbGVkIGluICdhZGQnCglidXQgaW5zdGVhZCBoYXMgdG8gYmUgdXNlZCB3aXRoICdtb3ZsJy4KCjIwMDMtMDgtMTcgIEp1ZXJnZW4gS3JlaWxlZGVyIDxqa0BibGFja2Rvd24uZGU+CgkgICAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy94ODZfNjQvYml0cy9ieXRlc3dhcC5oOiBOZXcgZmlsZS4KCjIwMDMtMDgtMTcgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvcG9zaXhfZmFkdmlzZTY0LlM6IEZpeCB0eXBvLgoKMjAwMy0wOC0xNiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL3N5c2RlcC5oIChQU0VVRE9fRVJSVkFMLAoJUFNFVURPX1JFVF9FUlJWQUwsIHJldF9FUlJWQUwsIFBTRVVET19FTkRfRVJSVkFMKTogRGVmaW5lLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzY0L3N5c2RlcC5oIChQU0VVRE9fRVJSVkFMLAoJUFNFVURPX1JFVF9FUlJWQUwsIHJldF9FUlJWQUwsIFBTRVVET19FTkRfRVJSVkFMKTogRGVmaW5lLgoJKiBzeXNkZXBzL3VuaXgvYWxwaGEvc3lzZGVwLmggKFBTRVVET19FUlJWQUwsCglyZXRfRVJSVkFMLCBQU0VVRE9fRU5EX0VSUlZBTCk6IERlZmluZS4KCSogc3lzZGVwcy91bml4L21pcHMvc3lzZGVwLmggKFBTRVVET19FUlJWQUwsCglyZXRfRVJSVkFMLCBQU0VVRE9fRU5EX0VSUlZBTCk6IERlZmluZS4KCSogc3lzZGVwcy91bml4L3NwYXJjL3N5c2RlcC5oIChQU0VVRE9fRVJSVkFMLAoJcmV0X0VSUlZBTCk6IERlZmluZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL3N5c2RlcC5oIChQU0VVRE9fRVJSVkFMLAoJUFNFVURPX0VORF9FUlJWQUwsIHJldF9FUlJWQUwpOiBEZWZpbmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9zeXNkZXAuaCAoUFNFVURPX0VSUlZBTCwKCVBTRVVET19FTkRfRVJSVkFMLCByZXRfRVJSVkFMKTogRGVmaW5lLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzMyL3N5c2RlcC5oIChQU0VVRE9fRVJSVkFMKToKCURlZmluZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9zeXNkZXAuaCAoUFNFVURPX0VSUlZBTCwKCVBTRVVET19FTkRfRVJSVkFMLCByZXRfRVJSVkFMKTogRGVmaW5lLgoJKiBzeXNkZXBzL3VuaXgvc3lzZGVwLmggKFBTRVVET19FTkRfRVJSVkFMKTogRGVmaW5lLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzY2FsbHMubGlzdCAocG9zaXhfZmFkdmlzZTY0LAoJcG9zaXhfZmFkdmlzZTY0XzY0KTogUmVtb3ZlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9zeXNjYWxscy5saXN0IChwb3NpeF9mYWR2aXNlNjQpOiBBZGQKCVYgZmxhZy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zeXNjYWxscy5saXN0IChwb3NpeF9mYWR2aXNlNjQpOgoJTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzY0L3N5c2NhbGxzLmxpc3QKCShwb3NpeF9mYWR2aXNlNjQpOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L3N5c2NhbGxzLmxpc3QKCShwb3NpeF9mYWR2aXNlNjQpOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9zeXNjYWxscy5saXN0CgkocG9zaXhfZmFkdmlzZTY0KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNjYWxscy5saXN0IChwb3NpeF9mYWR2aXNlNjQpOgoJTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvcG9zaXhfZmFkdmlzZTY0XzY0LlM6IE1vdmVkIHRvLi4uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvcG9zaXhfZmFkdmlzZTY0LlM6IC4uLmhlcmUuCgkoX19wb3NpeF9mYWR2aXNlNjRfbDY0KTogRml4IGEgdHlwbyBpbiBmYWR2aXNlNjQgc3lzY2FsbCBpbnZvY2F0aW9uLgoJKF9fcG9zaXhfZmFkdmlzZTY0X2wzMik6IE5ldyBmdW5jdGlvbi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9NYWtlZmlsZTogUmV2ZXJ0IGxhc3QgY2hhbmdlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGMzMi9WZXJzaW9ucyAobGliYyk6IEV4cG9ydAoJcG9zaXhfZmFkdmlzZTY0QEBHTElCQ18yLjMuMy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL1ZlcnNpb25zIChsaWJjKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjMzIvVmVyc2lvbnMgKGxpYmMpOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG9zaXhfZmFkdmlzZS5jIChwb3NpeF9mYWR2aXNlKTogUmV0dXJuCgllcnJvciB2YWx1ZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG9zaXhfZmFkdmlzZTY0LmM6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9zeXNkZXAuaAoJKFNZU0NBTExfRVJST1JfSEFORExFUik6IFVzZSBUTFMgZXJybm8vX19saWJjX2Vycm5vIGlmIFVTRV9fX1RIUkVBRC4KCjIwMDMtMDgtMTUgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL2RsLW1hY2hpbmUuaCAoV0VBS0FERFIpOiBSZW1vdmUuCgkoZWxmX21hY2hpbmVfbWF0Y2hlc19ob3N0KTogUmVtb3ZlIHdlYWsgZXh0ZXJuIHN0dWZmLgoJVXNlIEdMKGRsX2h3Y2FwKSB1bmNvbmRpdGlvbmFsbHkgYW5kIEdMKGRsX2h3Y2FwX21hc2spIGlmIFNIQVJFRC4KCShlbGZfbWFjaGluZV9ydW50aW1lX3NldHVwLCBzcGFyY19maXh1cF9wbHQpOiBSZW1vdmUgd2VhayBleHRlcm4KCXN0dWZmLiAgVXNlIEdMKGRsX2h3Y2FwKSB1bmNvbmRpdGlvbmFsbHkuCgoyMDAzLTA4LTE2ICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9lbGYvc3RhcnQuUzogQWRkIGEgbm9wIGFmdGVyCglfX2xpYmNfc3RhcnRfbWFpbiBicmFuY2guCgoyMDAzLTA4LTE2ICBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiwKCSAgICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL2dlbmVyaWMvcG9zaXhfZmFkdmlzZS5jIChwb3NpeF9mYWR2aXNlKTogUmV0dXJuIEVOT1NZUwoJaW5zdGVhZCBvZiBzZXR0aW5nIGVycm5vLgoJKiBzeXNkZXBzL2dlbmVyaWMvcG9zaXhfZmFkdmlzZTY0LmMgKHBvc2l4X2ZhZHZpc2U2NCk6IExpa2V3aXNlLgoKMjAwMy0wOC0xNiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9nZW5lcmljL3Bvc2l4X2ZhZHZpc2UuYyAocG9zaXhfZmFkdmlzZSk6IEFkanVzdCBwcm90b3R5cGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9wb3NpeF9mYWR2aXNlNjQuYyAocG9zaXhfZmFkdmlzZTY0KTogTGlrZXdpc2UuCgoyMDAzLTA4LTE1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGlvL2ZjbnRsLmggKHBvc2l4X2ZhZHZpc2U2NCk6IENoYW5nZSB0eXBlIG9mIHRoaXJkIHBhcmFtZXRlciB0bwoJb2ZmX3QuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvc2l4X2ZhZHZpc2UuYzogQWRqdXN0IGRlZmluaXRpb24uCgkqIHN5c2RlcHMvdW5peC9tYWtlLXN5c2NhbGxzLnNoOiBSZWNvZ25pemUgViBwcmVmaXggdG8gdGhlIHBhcmFtZXRlcgoJZGVzY3JpcHRpb24gaW5kaWNhdGluZyB0aGUgZXJyb3IgdmFsdWUgaXMgcmV0dXJuZWQsIG5vdCAtMS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgva2VybmVsLWZlYXR1cmVzLmg6IEFkZCBkZWZpbml0aW9uIG9mCglfX0FTU1VNRV9GQURWSVNFNjRfNjRfU1lTQ0FMTC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzY2FsbHMubGlzdDogRG9uJ3QgZGVmaW5lIG1hZHZpc2UgYW5kCglwb3NpeF9tYWR2aXNlIGluIG9uZSBmaWxlLiAgSGF2ZSBwb3NpeF9tYWR2aXNlIGRlZmluZWQgd2l0aCBlcnJvcgoJdmFsdWUgcmV0dXJuZWQuCglEZWZpbmUgcG9zaXhfZmFkdmlzZTY0XzY0IGVudHJ5LiAgQWRkIHZlcnNpb24gaW5mbyB0byBwb3NpeF9mYWR2aXNlNjQKCWVudHJ5LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3Bvc2l4X2ZhZHZpc2UuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc3lzZGVwLmg6IERlZmluZSBQU0VVRE9fRVJSVkFMLAoJUFNFVURPX0VORF9FUlJWQUwsIGFuZCByZXRfRVJSVkFMLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3N5c2RlcC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9WZXJzaW9ucyBbR0xJQkNfMi4zLjNdOiBBZGQKCXBvc2l4X2ZhZHZpc2U2NC4KCgkqIHBvc2l4L01ha2VmaWxlIChyb3V0aW5lcyk6IEFkZCBwb3NpeF9tYWR2aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvbWFkdmlzZS5jOiBEb24ndCBkZWZpbmUgcG9zaXhfbWFkdmlzZS4KCSogc3lzZGVwcy9nZW5lcmljL3Bvc2l4X21hZHZpc2UuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9wb3NpeF9tYWR2aXNlLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L01ha2VmaWxlIFtzdWJkaXI9aW9dIChzdWJkaXJfcm91dGluZXMpOgoJQWRkIHBvc2l4X2ZhZHZpc2U2NF82NC4KCjIwMDMtMDgtMTUgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogYXNzZXJ0L2Fzc2VydC5oIChhc3NlcnRfcGVycm9yKTogVXNlIF9fYnVpbHRpbl9leHBlY3QgZm9yIGdjYyA+PQoJMy4wLCBub3QgZm9yICFnY2Mgb3IgZ2NjIDwgMy4wLgoKMjAwMy0wOC0xMSAgQ2FybG9zIE8nRG9uZWxsICA8Y2FybG9zQGJhbGRyaWMudXdvLmNhPgoKCSogZGxmY24vZGVmYXVsdC5jIChtYWluKTogQ2FzdCBkbHN5bSBsb2FkZWQgdmFsdWUgdG8gc2FtZSB0eXBlIGFzIG1haW4uCglBZGRyZXNzIHBhc3NlZCB0byB0ZXN0X2luX21vZDEgYW5kIHRlc3RfaW5fbW9kMiB3aXRob3V0IGNhc3RpbmcuCgkqIGRsZmNuL2RlZmF1bHRtb2QxLmM6IENoYW5nZSBwcm90b3R5cGUgb2YgdGVzdF9pbl9tb2QxLgoJKHRlc3RfaW5fbW9kMSk6IENhc3QgZGxzeW0gbG9hZGVkIHZhbHVlIHRvIHNhbWUgdHlwZSBhcyBtYWlucC4KCSogZGxmY24vZGVmYXVsdG1vZDIuYzogQ2hhbmdlIHByb3RvdHlwZSBvZiB0ZXN0X2luX21vZDIuCgkodGVzdF9pbl9tb2QyKTogQ2FzdCBkbHN5bSBsb2FkZWQgdmFsdWUgdG8gc2FtZSB0eXBlIGFzIG1haW5wLgoKMjAwMy0wOC0xNSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvZWxmL2NvbmZpZ3VyZS5pbiAobGliY19jdl9zcGFyYzMyX3Rscyk6CglDaGFuZ2UgcXVvdGVzIGJlZm9yZSB1c2luZyBbXS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3N5cy91c2VyLmg6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL2JpdHMvYXRvbWljLmggKF9fc3BhcmMzMl9hdG9taWNfbG9jayk6CglSZW5hbWVkIHRvLi4uCgkoX19zcGFyYzMyX2F0b21pY19sb2Nrcyk6IC4uLnRoaXMuICBDaGFuZ2UgaW50byA2NC1ieXRlIGFycmF5LgoJKF9fc3BhcmMzMl9hdG9taWNfZG9fbG9jaywgX19zcGFyYzMyX2F0b21pY19kb191bmxvY2spOiBBZGQgYWRkcgoJYXJndW1lbnQuICBTZWxlY3Qgb25lIG9mIDY0IGxvY2tzIGZyb20gYWRkcmVzcyBiaXRzLgoJKGF0b21pY19jb21wYXJlX2FuZF9leGNoYW5nZV92YWxfYWNxLAoJYXRvbWljX2NvbXBhcmVfYW5kX2V4Y2hhbmdlX2Jvb2xfYWNxKTogUGFzcyBtZW1vcnkgYWRkcmVzcyB0bwoJX19zcGFyYzMyX2F0b21pY19kb197LHVufWxvY2suCgoyMDAzLTA4LTE0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGFzc2VydC9hc3NlcnQuaCAoYXNzZXJ0KTogVXNlICEhIGluIGZyb250IG9mIGV4cHJlc3Npb24gdG8gYWxsb3cKCXVzZSBvZiBwb2ludGVycy4KCgkqIGljb252ZGF0YS9jcDkzMi5jOiBGaXhlZCBjaGVja2luZyBvZiBhIGZldyBib3JkZXIgb2YgY29kZSBhcmVhcy4KCUNoYW5nZWQgY29udmVyc2lvbiBvZiBKSVMgWCAwMjAxIGZyb20gdXNpbmcgYSB0YWJsZSB0byBjYWxjdWxhdGluZy4KCSogaWNvbnZkYXRhL2V1Yy1qcC1tcy5jOiBGaXhlZCBjb252ZXJzaW9uIHRhYmxlIGFuZCByZXdyb3RlCgljb252ZXJzaW9uIHJvdXRpbmUuICBDaGFuZ2VkIENIQVJTRVRfTkFNRSBkZWZpbml0aW9uIGZyb20gRVVDSlAtTVMgdG8KCUVVQy1KUC1NUy4KCSogaWNvbnZkYXRhL3RzdC10YWJsZXMuc2g6IEFkZCBDUDkzMiBhbmQgRVVDLUpQLU1TLgoJKiBpY29udmRhdGEvQ1A5MzIuaXJyZXZlcnNpYmxlOiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL0VVQy1KUC1NUy5pcnJldmVyc2libGU6IE5ldyBmaWxlLgoJUGF0Y2ggYnkgTU9SSVlBTUEgTWFzYXl1a2kgPG1zeWtAbXRnLmJpZ2xvYmUubmUuanA+LgoKMjAwMy0wOC0xMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3N5c2NhbGxzLmxpc3Q6IEFkZCB0aW1lIHN5c2NhbGwuCgoJKiBlbGYvTWFrZWZpbGU6IFVzZSBMQ19BTEw9QyBpbiBhIGZldyBjYXNlcyB3aGVyZSB3ZSBjYWxsIGV4dGVybmFsCgl0ZXh0IHByb2Nlc3NpbmcgdG9vbHMuCgoJKiBzeXNkZXBzL3B0aHJlYWQvYWlvX21pc2MuaCAoc3RydWN0IHdhaXRsaXN0KTogRG9uJ3QgYWRkIGNhbGxlcl9waWQKCWVsZW1lbnQgdW5sZXNzIEJST0tFTl9USFJFQURfU0lHTkFMUyBpcyBkZWZpbmVkLgoJKHN0cnVjdCByZXF1ZXN0bGlzdCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3B0aHJlYWQvYWlvX21pc2MuYyAoX19haW9fZW5xdWV1ZV9yZXF1ZXN0KTogRG9uJ3QgZmlsbCBpbgoJY2FsbGVyX3BpZCBvZiBuZXcgcmVxdWVzdCB1bmxlc3MgQlJPS0VOX1RIUkVBRF9TSUdOQUxTIGlzIGRlZmluZWQuCgkqIHN5c2RlcHMvcHRocmVhZC9haW9fc3VzcGVuZC5jIChhaW9fc3VzcGVuZCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3B0aHJlYWQvYWlvX25vdGlmeS5jIChfX2Fpb19ub3RpZnlfb25seSk6IFJlbW92ZSBjYWxsZXJfcGlkCglwYXJhbWV0ZXIgdW5sZXNzIEJST0tFTl9USFJFQURfU0lHTkFMUyBpcyBkZWZpbmVkLiAgQWRqdXN0IGNhbGxlcnMuCglQYXNzIGN1cnJlbnQgUElEIHRvIF9fYWlvX3NpZ3F1ZXVlLgoJKiBzeXNkZXBzL3B0aHJlYWQvbGlvX2xpc3Rpby5jIChsaW9fbGlzdGlvKTogQWRqdXN0IF9fYWlvX25vdGlmeV9vbmx5CgljYWxsLiAgRG9uJ3QgaW5pdGlhbGl6ZSBjYWxsZXJfcGlkIGZpZWxkIG9mIHdhaXRsaXN0IGVsZW1lbnQuCgoyMDAzLTA4LTEyICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGxpYmlvL2xpYmlvUC5oIChfSU9fdnRhYmxlX29mZnNldCk6IERlZmluZS4KCSogbGliaW8vZnJlb3Blbi5jIChmcmVvcGVuKTogVXNlIGl0LgoJKiBsaWJpby9pb3B1dHMuYyAoX0lPX3B1dHMpOiBMaWtld2lzZS4KCSogbGliaW8vZnJlb3BlbjY0LmMgKGZyZW9wZW42NCk6IExpa2V3aXNlLgoJKiBsaWJpby9nZW5vcHMuYyAoX191bmRlcmZsb3csIF9fdWZsb3csIF9JT19mbHVzaF9hbGxfbG9ja3ApOgoJTGlrZXdpc2UuCgkqIGxpYmlvL2lvZmNsb3NlLmMgKF9JT19uZXdfZmNsb3NlKTogTGlrZXdpc2UuCgkqIGxpYmlvL2lvZnB1dHMuYyAoX0lPX2ZwdXRzKTogTGlrZXdpc2UuCgkqIGxpYmlvL2lvZnRlbGwuYyAoX0lPX2Z0ZWxsKTogTGlrZXdpc2UuCgkqIGxpYmlvL2lvZndyaXRlLmMgKF9JT19md3JpdGUpOiBMaWtld2lzZS4KCSogbGliaW8vaW9zZWVrb2ZmLmMgKF9JT19zZWVrb2ZmX3VubG9ja2VkKTogTGlrZXdpc2UuCgkqIGxpYmlvL2lvc2V0YnVmZmVyLmMgKF9JT19zZXRidWZmZXIpOiBMaWtld2lzZS4KCSogc3RkaW8tY29tbW9uL3ZmcHJpbnRmLmMgKE9SSUVOVCwgdmZwcmludGYpOiBMaWtld2lzZS4KCSogc3RkaW8tY29tbW9uL3Zmc2NhbmYuYyAoT1JJRU5UKTogTGlrZXdpc2UuCgoyMDAzLTA4LTExICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGFzc2VydC9hc3NlcnQuaDogVXNlIF9fYnVpbHRpbl9leHBlY3QgaW4gYXNzZXJ0IGFuZAoJYXNzZXJ0X3BlcnJvciBkZWZpbml0aW9ucyBpZiBwb3NzaWJsZS4KCjIwMDMtMDgtMDcgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmggKF9ydGxkX2dsb2JhbCk6IEFkZAoJX2RsX3J0bGRfbG9ja19yZWN1cnNpdmUgYW5kIF9kbF9ydGxkX3VubG9ja19yZWN1cnNpdmUuCgkqIGVsZi9ydGxkLmMgKHJ0bGRfbG9ja19kZWZhdWx0X2xvY2tfcmVjdXJzaXZlLAoJcnRsZF9sb2NrX2RlZmF1bHRfdW5sb2NrX3JlY3Vyc2l2ZSk6IE5ldyBmdW5jdGlvbnMuCgkoZGxfbWFpbik6IEluaXRpYWxpemUgX2RsX3J0bGRfbG9ja19yZWN1cnNpdmUgYW5kCglfZGxfcnRsZF91bmxvY2tfcmVjdXJzaXZlLgoKMjAwMy0wOC0wNSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBlbGYvbGRjb25maWcuYyAobWFpbik6IEFwcGVuZCBTTElCRElSIGFuZCBMSUJESVIgdG8KCWNvbmZpZ19maWxlIGRpcmVjdG9yaWVzIGluc3RlYWQgb2YgcHJlcGVuZGluZy4KCjIwMDMtMDgtMDIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgva2VybmVsLWZlYXR1cmVzLmg6IERlZmluZQoJX19BU1NVTUVfQ0xPTkVfU1RPUFBFRC4KCjIwMDMtMDgtMDEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvbGliYy1sb2NrLmgKCShfX2xpYmNfY2xlYW51cF9wdXNoLF9fbGliY19jbGVhbnVwX3BvcCk6IERlZmluZSBldmVuIGhlcmUuCgoyMDAzLTA4LTAxICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEBmcm9iLmNvbT4KCgkqIHN5c2RlcHMvbWFjaC9odXJkL2dldGRlbnRzLmM6IEp1c3QgdXNlIHN5c2RlcHMvZ2VuZXJpYy9nZXRkZW50cy5jLgoKMjAwMy0wNy0zMSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy90eXBlcy5oIChfX3NzaXplX3QpOiBVc2UgX19TU0laRV9UX1RZUEUKCWluc3RlYWQgb2YgX19TV09SRF9UWVBFLgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy90eXBlc2l6ZXMuaCAoX19TU0laRV9UX1RZUEUpOiBEZWZpbmUuCgkqIHN5c2RlcHMvbWFjaC9odXJkL2JpdHMvdHlwZXNpemVzLmggKF9fU1NJWkVfVF9UWVBFKTogRGVmaW5lLgoJKiBzeXNkZXBzL3VuaXgvYnNkL2JzZDQuNC9mcmVlYnNkL2JpdHMvdHlwZXNpemVzLmggKF9fU1NJWkVfVF9UWVBFKToKCURlZmluZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvYml0cy90eXBlc2l6ZXMuaCAoX19TU0laRV9UX1RZUEUpOgoJRGVmaW5lLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9iaXRzL3R5cGVzaXplcy5oIChfX1NTSVpFX1RfVFlQRSk6CglEZWZpbmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvYml0cy90eXBlc2l6ZXMuaDogTmV3IGZpbGUuCgoJKiBkbGZjbi9kbGVycm9yLmMgKG9uY2UpOiBOZXcuCgkoZGxlcnJvcik6IENhbGwgX19saWJjX29uY2UuCgkoX2RsZXJyb3JfcnVuKTogUmVtb3ZlIG9uY2UuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvc2lnY29udGV4dC5oIChzdHJ1Y3Qgc2lnY29udGV4dCk6CglTeW5jIHdpdGggMi41LjcgYW5kIDIuNS43MyBrZXJuZWwgY2hhbmdlcy4KCgkqIGRsZmNuL2V2YWwuYyAoZnVuY2FsbCk6IEFkZCBub2lubGluZSBhdHRyaWJ1dGUgdG8gc2h1dCB1cCB3YXJuaW5ncy4KCSogZWxmL3J0bGQuYyAoZGxfbWFpbik6IENhc3QgRWxmVyhBZGRyKSBhcmd1bWVudHMgd2l0aCAlWngvJVpkCglmb3JtYXRzIHRvIHNpemVfdC4KCSogZWxmL2RsLWxvb2t1cC5jIChfZGxfZGVidWdfYmluZGluZ3MpOiBMaWtld2lzZS4KCSogZWxmL3RzdC10bHM2LmMgKGRvX3Rlc3QpOiBVc2UgJXpkIGZvcm1hdCBmb3IgbF90bHNfbW9kaWQuCgkqIGVsZi90c3QtdGxzOC5jIChkb190ZXN0KTogVXNlICV6ZCBmb3JtYXQgZm9yIG1vZGlkMSBhbmQgbW9kaWQyLgoJKiBnbW9uL3RzdC1zcHJvZmlsLmMgKG1haW4pOiBBZGQgcGFyZW5zIHRvIHNodXQgdXAgd2FybmluZy4KCSogaWNvbnYvdHN0LWljb252My5jIChtYWluKTogVXNlICV0ZCBpbnN0ZWFkIG9mICV6ZCBmb3IgcG9pbnRlcgoJZGlmZmVyZW5jZSBhcmd1bWVudC4KCSogc3RkaW8tY29tbW9uL3RzdC13Yy1wcmludGYuYyAobWFpbik6IENhc3QgYXJndW1lbnRzIHdpdGggJUMKCWZvcm1hdCB0byB3aW50X3QuCgkqIHN0ZGxpYi90c3QtbGltaXRzLmMgKG1haW4pOiBGb3IgV09SRF9CSVQgYW5kIExPTkdfQklULCB1c2UKCSVkIGZvcm1hdCBhbmQgY2FzdCBleHBlY3RlZCB2YWx1ZSB0byBpbnQuCgkqIHN5c2RlcHMvZ2VuZXJpYy9saWJjLXN0YXJ0LmMgKFNUQVRJQyk6IEFkZAoJX19hdHRyaWJ1dGVfXygoYWx3YXlzX2lubGluZSkgaWYgTElCQ19TVEFSVF9NQUlOIGlzIGFscmVhZHkgZGVmaW5lZC4KCSogc3lzZGVwcy9wb3dlcnBjL2ZwdS93X3NxcnQuYyAoYV9uYW4sIGFfaW5mKTogQ2hhbmdlIGZyb20gdWludDMyX3QKCXRvIGllZWVfZmxvYXRfc2hhcGVfdHlwZS4KCShfX3NxcnQpOiBBdm9pZCB0eXBlIHB1bm5pbmcuCgkqIHN5c2RlcHMvcG93ZXJwYy9mcHUvd19zcXJ0Zi5jIChhX25hbiwgYV9pbmYpOiBDaGFuZ2UgZnJvbSB1aW50MzJfdAoJdG8gaWVlZV9mbG9hdF9zaGFwZV90eXBlLgoJKF9fc3FydGYpOiBBdm9pZCB0eXBlIHB1bm5pbmcuCgkqIHN5c2RlcHMvczM5MC9zMzkwLTMyL2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfcmVsYSk6IERvbid0IGRlZmluZQoJcmVmc3ltIGlmIGluIGRsLWNvbmZsaWN0LmMuCgkqIHN5c2RlcHMvczM5MC9zMzkwLTY0L2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfcmVsYSk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3NlbWN0bC5jICh1bmlvbiBzZW11bik6IEFkZCBfX29sZF9idWYuCgkoX19uZXdfc2VtY3RsKTogU2h1dCB1cCB3YXJuaW5nLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zZW1jdGwuYyAodW5pb24gc2VtdW4pOiBBZGQgX19vbGRfYnVmLgoJKF9fbmV3X3NlbWN0bCk6IFNodXQgdXAgd2FybmluZy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2htY3RsLmMgKF9fbmV3X3NobWN0bCk6IFdyYXAgbG9uZyBsaW5lcy4KCUNoYW5nZSBvbGQgaW50byB1bmlvbiBvZiBfX29sZF9zaG1pZF9kcyBhbmQgX19vbGRfc2htaW5mbyBzdHJ1Y3RzLgoJQWRqdXN0IGFsbCB1c2Vycy4KCSogd2NzbWJzL3djc21icy10c3QxLmMgKG1haW4pOiBDYXN0IGFyZ3VtZW50cyB3aXRoICVDIGZvcm1hdCB0byB3aW50X3QuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC91dGltZXMuYyAoX191dGltZXMpOiBGaXggYWN0aW1lIGFuZAoJbW9kdGltZSBjb21wdXRhdGlvbi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZnV0aW1lcy5jIChfX2Z1dGltZXMpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3NpeC91dGltZXMuYyAoX191dGltZXMpOiBMaWtld2lzZS4KCjIwMDMtMDctMzAgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogZWxmL2RsLXJlbG9jLmMgKF9kbF9hbGxvY2F0ZV9zdGF0aWNfdGxzKTogRG9uJ3QgcmV0dXJuIGFueSB2YWx1ZSwKCWNhbGwgZGxfc2lnbmFsX2Vycm9yIGRpcmVjdGx5LiAgSWYgYWxyZWFkeSByZWxvY2F0ZWQsIGNhbGwKCUdMKGRsX2luaXRfc3RhdGljX3RscykgZGlyZWN0bHksIG90aGVyd2lzZSBxdWV1ZSBpdCBmb3IgbGF0ZXIuCgkoQ0hFQ0tfU1RBVElDX1RMUyk6IFVuZG8gMjAwMy0wNy0yNCBjaGFuZ2UuCgkqIGVsZi9ydGxkLmMgKGRsX21haW4pOiBJbml0aWFsaXplIEdMKGRsX2luaXRfc3RhdGljX3RscykuCgkqIGVsZi9kbC1vcGVuLmMgKGRsX29wZW5fd29ya2VyKTogQ2FsbCBHTF9kbF9pbml0X3N0YXRpY190bHMKCWZvciBhbGwgc3RhdGljIFRMUyBpbml0aWFsaXphdGlvbnMgZGVsYXllZCBpbiBfZGxfYWxsb2NhdGVfc3RhdGljX3Rscy4KCSogZWxmL2RsLXN1cHBvcnQuYyAoX2RsX2luaXRfc3RhdGljX3Rscyk6IE5ldyB2YXJpYWJsZS4KCSogaW5jbHVkZS9saW5rLmggKHN0cnVjdCBsaW5rX21hcCk6IEFkZCBsX25lZWRfdGxzX2luaXQuCgkqIHN5c2RlcHMvZ2VuZXJpYy9sZHNvZGVmcy5oIChfcnRsZF9nbG9iYWwpOiBBZGQgX2RsX2luaXRfc3RhdGljX3Rscy4KCShfZGxfbm90aHJlYWRfaW5pdF9zdGF0aWNfdGxzKTogTmV3IHByb3RvdHlwZS4KCShfZGxfYWxsb2NhdGVfc3RhdGljX3Rscyk6IEFkanVzdCBwcm90b3R5cGUuCgoJKiBlbGYvdGxzLW1hY3Jvcy5oIChWQVJfSU5UX0RFRik6IEFkZCBhbGlnbm1lbnQgZGlyZWN0aXZlLgoKMjAwMy0wNy0zMSAgQWxleGFuZHJlIE9saXZhICA8YW9saXZhQHJlZGhhdC5jb20+CgoJKiBlbGYvZHluYW1pYy1saW5rLmggKGVsZl9tYWNoaW5lX3JlbCwgZWxmX21hY2hpbmVfcmVsYSwKCWVsZl9tYWNoaW5lX3JlbF9yZWxhdGl2ZSwgZWxmX21hY2hpbmVfcmVsYV9yZWxhdGl2ZSk6IERvbid0IGFzc3VtZQoJcmVsb2NfYWRkciBpcyBhbGlnbmVkLgoJKiBzeXNkZXBzL2FscGhhL2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfcmVsYSwKCWVsZl9tYWNoaW5lX3JlbGFfcmVsYXRpdmUpOiBBZGp1c3QuCgkqIHN5c2RlcHMvYXJtL2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfcmVsLCBlbGZfbWFjaGluZV9yZWxhLAoJZWxmX21hY2hpbmVfcmVsX3JlbGF0aXZlLCBlbGZfbWFjaGluZV9yZWxhX3JlbGF0aXZlKTogQWRqdXN0LgoJKiBzeXNkZXBzL2NyaXMvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9yZWxhLAoJZWxmX21hY2hpbmVfcmVsYV9yZWxhdGl2ZSk6IEFkanVzdC4KCSogc3lzZGVwcy9ocHBhL2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfcmVsYSwKCWVsZl9tYWNoaW5lX3JlbGFfcmVsYXRpdmUpOiBBZGp1c3QuCgkqIHN5c2RlcHMvaTM4Ni9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX3JlbCwgZWxmX21hY2hpbmVfcmVsYSwKCWVsZl9tYWNoaW5lX3JlbF9yZWxhdGl2ZSwgZWxmX21hY2hpbmVfcmVsYV9yZWxhdGl2ZSk6IEFkanVzdC4KCSogc3lzZGVwcy9pYTY0L2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfcmVsYSwKCWVsZl9tYWNoaW5lX3JlbGFfcmVsYXRpdmUpOiBBZGp1c3QuCgkqIHN5c2RlcHMvbTY4ay9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX3JlbGEsCgllbGZfbWFjaGluZV9yZWxhX3JlbGF0aXZlKTogQWRqdXN0LgoJKiBzeXNkZXBzL21pcHMvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9yZWxhLAoJZWxmX21hY2hpbmVfcmVsYV9yZWxhdGl2ZSk6IEFkanVzdC4KCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGMzMi9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX3JlbGEsCgllbGZfbWFjaGluZV9yZWxhX3JlbGF0aXZlKTogQWRqdXN0LgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzY0L2RsLW1hY2hpbmUuaAoJKGVsZl9tYWNoaW5lX3JlbGFfcmVsYXRpdmUsIGVsZl9tYWNoaW5lX3JlbGEpOiBBZGp1c3QuCgkqIHN5c2RlcHMvczM5MC9zMzkwLTMyL2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfcmVsYSwKCWVsZl9tYWNoaW5lX3JlbGFfcmVsYXRpdmUpOiBBZGp1c3QuCgkqIHN5c2RlcHMvczM5MC9zMzkwLTY0L2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfcmVsYSwKCWVsZl9tYWNoaW5lX3JlbGFfcmVsYXRpdmUpOiBBZGp1c3QuCgkqIHN5c2RlcHMvc2gvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9yZWxhLAoJZWxmX21hY2hpbmVfcmVsYV9yZWxhdGl2ZSk6IEFkanVzdC4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfcmVsYSwKCWVsZl9tYWNoaW5lX3JlbGFfcmVsYXRpdmUpOiBBZGp1c3QuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX3JlbGEsCgllbGZfbWFjaGluZV9yZWxhX3JlbGF0aXZlKTogQWRqdXN0LgoJKiBzeXNkZXBzL3g4Nl82NC9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX3JlbGEsCgllbGZfbWFjaGluZV9yZWxhX3JlbGF0aXZlKTogQWRqdXN0LgoKMjAwMy0wNy0yOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtdGxzLmMgKF9kbF9kZXRlcm1pbmVfdGxzb2Zmc2V0KTogUmVzdG9yZQoJYWxpZ25tZW50IG9mIFRDQiB1c2VkIGJlZm9yZSB0aGUgbGFzdCBjaGFuZ2Ugc28gdGhhdCBpdCBtYXRjaGVzCglsZCdzIG91dHB1dCBmb3IgSUUgY29kZS4KCjIwMDMtMDctMjkgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9jdHlwZS5oIChfX2N0eXBlX2JfbG9jLCBfX2N0eXBlX3RvdXBwZXJfbG9jLAoJX19jdHlwZV90b2xvd2VyX2xvYyk6IEF2b2lkICJkZXJlZmVyZW5jaW5nIHR5cGUtcHVubmVkIHBvaW50ZXIgd2lsbAoJYnJlYWsgc3RyaWN0LWFsaWFzaW5nIHJ1bGVzIiB3YXJuaW5ncy4KCjIwMDMtMDctMjkgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBlbGYvTWFrZWZpbGU6IFJldmVydCBhY2NpZGVudGFsIGNoYW5nZXMgaW4gbGFzdCBjb21taXQuCgkqIGVsZi9kbC1zdXBwb3J0LmM6IExpa2V3aXNlLgoKCSogcnQvdHN0LXRpbWVyMi5jOiBOZXcgZmlsZS4KCSogcnQvTWFrZWZpbGUgKHRlc3RzKTogQWRkIGl0LgoKMjAwMy0wNy0yNSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtc3VwcG9ydC5jIChfZGxfaHdjYXApOiBBZGQgbm9jb21tb24gYXR0cmlidXRlLgoKMjAwMy0wNy0yOSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIGVsZi9NYWtlZmlsZSAodGVzdHMpIFskKGJ1aWxkLXNoYXJlZCkgPSB5ZXNdOgoJRGVwZW5kIG9uICQodGVzdC1tb2R1bGVzKS4KCSogZGxmY24vTWFrZWZpbGU6IExpa2V3aXNlLgoKMjAwMy0wNy0yOCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL3R5cGVzLmggKF9fU1REX1RZUEUpOiBOZXcgbWFjcm8uCglVc2UgdGhhdCBpbnN0ZWFkIG9mIGB0eXBlZGVmJyB3aGVuIHVzaW5nIF9fKl9UWVBFIG1hY3JvcyBpbiByaHMuCgoJKiBlbGYvdHN0LXRsczE0LmMgW1VTRV9UTFMgJiYgSEFWRV9fX1RIUkVBRF06IENvbmRpdGlvbmFsaXplIG9uIHRoaXMuCgkqIGVsZi90c3QtdGxzbW9kMTRhLmM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2N0bC5oOiBJbmNsdWRlIDxsaW51eC9jb21waWxlci5oPgoJYmVmb3JlIDxsaW51eC9zeXNjdGwuaD4uCgoyMDAzLTA3LTI3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L3N5c2NhbGxzLmxpc3Q6IHRpbWUgc3lzY2FsbCBuZXZlciBmYWlscy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3RpbWUuUzogdGltZSBzeXNjYWxsIG5ldmVyIGZhaWxzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9pMzg2L3RpbWUuUzogdGltZSBzeXNjYWxsIG5ldmVyIGZhaWxzLgoJKiBzeXNkZXBzL3VuaXgvc3lzY2FsbHMubGlzdDogdW1hc2sgc3lzY2FsbCBuZXZlciBmYWlscy4KCjIwMDMtMDctMjcgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2luaXQtZmlyc3QuYzogTWFyayBpbml0IGFzIHVzZWQuCgoyMDAzLTA3LTI1ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2Eub3V0Lmg6IFJlcGxhY2Ugd2l0aCBpMzg2IHZlcnNpb24uCglJbmNsdWRlIGJpdHMvYS5vdXQuaC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvTWFrZWZpbGUgKHN5c2RlcF9oZWFkZXJzKTogQWRkCgliaXRzL2Eub3V0LmguCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvYS5vdXQuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvYml0cy9hLm91dC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9iaXRzL2Eub3V0Lmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvYml0cy9hLm91dC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvYS5vdXQuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2JpdHMvYS5vdXQuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL2Eub3V0Lmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9iaXRzL2Eub3V0Lmg6IE5ldyBmaWxlLgoKMjAwMy0wNy0yNCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3B0aHJlYWQvYWlvX2NhbmNlbC5jIChhaW9fY2FuY2VsKTogUmV0dXJuIEFJT19BTExET05FCglpZiBhaW9jYnAgIT0gTlVMTCBhbmQgaGFzIGFscmVhZHkgY29tcGxldGVkLiAgUmV0dXJuIC0xL0VJTlZBTCBpZgoJYWlvY2JwLT5haW9fZmlsZGVzIGRvZXMgbm90IG1hdGNoIGZpbGRlcy4KCjIwMDMtMDctMjQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogdGltZXpvbmUvemljLmMgKHJweXRpbWUpOiBSZXBsYWNlIGNoZWFwIG92ZXJmbG93IGNoZWNrIHdpdGggYQoJZnVuY3Rpb25pbmcgb25lLgoKCSogaW5jbHVkZS9saW5rLmggKHN0cnVjdCBsaW5rX21hcCk6IEFkZCBsX3Rsc19maXJzdGJ5dGVfb2Zmc2V0IGZpZWxkLgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtdGxzLmMgW1RMU19UQ0JfQVRfVFBdIChfZGxfZGV0ZXJtaW5lX3Rsc29mZnNldCk6CglGaXggY2FsY3VsYXRpb24gb2Ygb2Zmc2V0cyB0byB0YWtlIG1pc2FsaWdubWVudCBvZiBmaXJzdCBieXRlIGluCglmaWxlIGludG8gYWNjb3VudC4KCSogZWxmL2RsLWxvYWQuYyAoX2RsX21hcF9vYmplY3RfZnJvbV9mZCk6IEluaXRpYWxpemUKCWxfdGxzX2ZpcnN0Ynl0ZV9vZmZzZXQgZmllbGQuCgkqIGVsZi9ydGxkLmMgKF9kbF9zdGFydF9maW5hbCwgX2RsX3N0YXJ0LCBkbF9tYWluKTogTGlrZXdpc2UuCgkqIGVsZi9kbC1yZWxvYy5jIChfZGxfYWxsb2NhdGVfc3RhdGljX3Rscyk6IENoYW5nZSByZXR1cm4gdHlwZSB0byBpbnQuCglUYWtlIGxfdGxzX2ZpcnN0Ynl0ZV9vZmZzZXQgaW5mb3JtYXRpb24gaW50byBhY2NvdW50LgoJKENIRUNLX1NUQVRJQ19UTFMpOiBfZGxfYWxsb2NhdGVfc3RhdGljX3RscyBjYW4gZmFpbCBub3cuCgkqIHN5c2RlcHMvZ2VuZXJpYy9sZHNvZGVmcy5oOiBBZGp1c3QgX2RsX2FsbG9jYXRlX3N0YXRpY190bHMgcHJvdG90eXBlLgoJKiBlbGYvTWFrZWZpbGU6IEFkZCBydWxlcyB0byBidWlsZCBhbmQgcnVuIHRzdC10bHMxNC4KCSogZWxmL3RzdC10bHMxNC5jOiBOZXcgZmlsZS4KCSogZWxmL3RzdC10bHNtb2QxNGEuYzogTmV3IGZpbGUuCgkqIGVsZi90c3QtdGxzbW9kMTRiLmM6IE5ldyBmaWxlLgoKMjAwMy0wNy0yMyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3B0aHJlYWQvbGlvX2xpc3Rpby5jIChMSU9fT1BDT0RFX0JBU0UpOiBEZWZpbmUuCgkobGlvX2xpc3Rpbyk6IFVzZSBpdC4KCSogc3lzZGVwcy9wdGhyZWFkL2xpb19saXN0aW82NC5jOiBJbmNsdWRlIGxpb19saXN0aW8uYyBpbnN0ZWFkIG9mCglhZnRlciBmZXcgZGVmaW5lcyB0byBhdm9pZCBkdXBsaWNhdGlvbi4KCjIwMDMtMDctMjIgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9zdGRpby5oIChfX2xpYmNfZmF0YWwpOiBBZGQgbGliY19oaWRkZW5fcHJvdG8uCgkqIGluY2x1ZGUvZGxmY24uaCAoX19saWJjX2Rsb3Blbl9tb2RlLCBfX2xpYmNfZGxzeW0sIF9fbGliY19kbGNsb3NlKToKCUxpa2V3aXNlLgoJKiBlbGYvZGwtbGliYy5jIChfX2xpYmNfZGxvcGVuX21vZGUsIF9fbGliY19kbHN5bSwgX19saWJjX2RsY2xvc2UpOgoJQWRkIGxpYmNfaGlkZGVuX2RlZi4KCSogc3lzZGVwcy9nZW5lcmljL2xpYmNfZmF0YWwuYyAoX19saWJjX2ZhdGFsKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG9zaXgvbGliY19mYXRhbC5jIChfX2xpYmNfZmF0YWwpOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbGliY19mYXRhbC5jIChfX2xpYmNfZmF0YWwpOiBMaWtld2lzZS4KCSogZWxmL1ZlcnNpb25zIChsaWJjKTogRXhwb3J0IF9fbGliY19kbG9wZW5fbW9kZUBAR0xJQkNfUFJJVkFURSwKCV9fbGliY19kbHN5bUBAR0xJQkNfUFJJVkFURSBhbmQgX19saWJjX2RsY2xvc2VAQEdMSUJDX1BSSVZBVEUuCgkqIGxpYmlvL1ZlcnNpb25zIChsaWJjKTogRXhwb3J0IF9fbGliY19mYXRhbEBAR0xJQkNfUFJJVkFURS4KCSogc3lzZGVwcy9nZW5lcmljL3Vud2luZC1kdzIuYzogUmVhZGQgI2lmcyByZW1vdmVkIGR1cmluZyBsYXN0CgljaGFuZ2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy91bndpbmQuaW5jOiBSZW1vdmVkLgoKCSogaW5jbHVkZS9yZXNvbHYuaCAoX19yZXNwKTogRGVjbGFyZS4gIERlZmluZSB0byBfX2xpYmNfcmVzcAoJaWYgaW4gbGliYy5zby4KCShfcmVzKTogSWYgVVNFX19fVEhSRUFELCBkZWZpbmUgdG8gKCpfX3Jlc3ApLgoJKiByZXNvbHYvcmVzX2xpYmMuYyAoX3Jlcyk6IE5vcm1hbCAuYnNzIHZhcmlhYmxlIHdpdGggY29tcGF0X3N5bWJvbAoJZXZlbiBpZiBVU0VfX19USFJFQUQuCgkoX19yZXNwKTogTmV3IF9fdGhyZWFkIHZhcmlhYmxlLgoJKF9fbGliY19yZXNwKTogTmV3IGFsaWFzLgoJKiByZXNvbHYvVmVyc2lvbnMgKGxpYmMpOiBFeHBvcnQgX3Jlc0BHTElCQ18yLjAgZXZlbiBpZgoJVVNFX1RMUyAmJiBIQVZFX19fVEhSRUFELiAgRXhwb3J0IF9fcmVzcEBAR0xJQkNfUFJJVkFURS4KCSogc3lzZGVwcy9nZW5lcmljL3Jlcy1zdGF0ZS5jIChfX3Jlc19zdGF0ZSk6IFJldHVybiBfX3Jlc3AKCWlmIFVTRV9fX1RIUkVBRC4KCjIwMDMtMDctMjIgIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KCgkqIGVsZi9kbC1zdXBwb3J0LmMgKF9kbF9od2NhcCk6IE5ldyB2YXJpYWJsZS4KCShfZGxfYXV4X2luaXQpOiBJbml0aWFsaXplIEdMKGRsX2h3Y2FwKSBmb3Igc3RhdGljIGJpbmFyaWVzLgoKCSogc3lzZGVwcy9pMzg2L2ZwdS9mY2xyZXhjcHQuYzogSW5jbHVkZSA8dW5pc3RkLmg+LCA8bGRzb2RlZnMuaD4KCWFuZCA8ZGwtcHJvY2luZm8uaD4uCgkoX19mZWNsZWFyZXhjZXB0KTogQ2xlYXIgTVhDU1IgaWYgbmVlZGVkLgoJKiBzeXNkZXBzL2kzODYvZnB1L2ZzZXRleGNwdGZsZy5jOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvaTM4Ni9mcHVfY29udHJvbC5oIChfRlBVX0dFVENXLCBfRlBVX1NFVENXKTogRG9jdW1lbnQKCXRoYXQgbmV3ZXIgaGFyZHdhcmUgbmVlZHMgbW9yZSB0aGFuIHRoZXNlIG1hY3Jvcy4KCgkqIHN5c2RlcHMvaTM4Ni9zZXRmcHVjdy5jOiBOZXcgZmlsZS4KCjIwMDMtMDctMjIgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogZWxmL01ha2VmaWxlIChDRkxBR1MtbGRjb25maWcuYyk6IERlZmluZSBJU19JTl9sZGNvbmZpZy4KCSogZWxmL2xkY29uZmlnLmM6IEluY2x1ZGUgZGwtcHJvY2luZm8uYy4KCShQUk9DSU5GT19DTEFTUyk6IERlZmluZS4KCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmggKFBST0NJTkZPX0NMQVNTKTogRGVmaW5lLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvZGwtcHJvY2luZm8uYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9kbC1wcm9jaW5mby5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9kbC1wcm9jaW5mby5jIChQUk9DSU5GT19DTEFTUyk6CglEZWZpbmUgaWYgbm90IHlldCBkZWZpbmVkLiAgVXNlIGl0IGluc3RlYWQgb2YgRVhURVJOLiAgVW5kZWZpbmUKCWF0IHRoZSBlbmQgb2YgdGhlIGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9kbC1wcm9jaW5mby5jIChQUk9DSU5GT19DTEFTUyk6CglMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9kbC1wcm9jaW5mby5jCgkoUFJPQ0lORk9fQ0xBU1MpOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9kbC1wcm9jaW5mby5jCgkoUFJPQ0lORk9fQ0xBU1MpOiBMaWtld2lzZS4KCjIwMDMtMDctMjIgIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KCgkqIGVsZi9sZGNvbmZpZy5jIChtYWluKTogSXNzdWUgYSBmYXRhbCBlcnJvciBpZiByZWxhdGl2ZSBwYXRoCglpcyB1c2VkIHRvIGJ1aWxkIGNhY2hlLgoKMjAwMy0wNy0yMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvcmVhZGxpYi5jIChwcm9jZXNzX2ZpbGUpOiBBdm9pZCBwb3NzaWJsZSBvdmVyZmxvdyBpbiBhc3NpZ25tZW50LgoKMjAwMy0wNy0yMSAgQXJ0IEhhYXMgIDxhaGFhc0BhaXJtYWlsLm5ldD4KCgkqIG1hbnVhbC9jaGFyc2V0LnRleGkgKENvbnZlcnRpbmcgYSBDaGFyYWN0ZXIpOiBGaXggZXhhbXBsZSBjb2RlIHNvIGEKCXZhbGlkIHBvaW50ZXIgaXMgcmV0dXJuZWQuCgoyMDAzLTA3LTIyICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBlbGYvcmVhZGxpYi5jIChwcm9jZXNzX2ZpbGUpOiBDaGVjayB0aGF0IGZpbGUgaXMgYSBzaGFyZWQKCW9iamVjdC4KCgkqIGVsZi9zb2ZpbmkuYyAoX19GUkFNRV9FTkRfXyk6IFVzZSBhdHRyaWJ1dGUgdXNlZCBzbyB0aGF0IGdjYwoJd2lsbCBub3Qgb3B0aW1pemUgaXQgYXdheS4KCShfX0RUT1JfRU5EX18pOiBMaWtld2lzZS4KCShfX0NUT1JfRU5EX18pOiBMaWtld2lzZS4KCgkqIGluY2x1ZGUvbGliYy1zeW1ib2xzLmggKF9lbGZfc2V0X2VsZW1lbnQpOiBVc2UgYXR0cmlidXRlIHVzZWQgc28KCXRoYXQgZ2NjIHdpbGwgbm90IG9wdGltaXplIGl0IGF3YXkuCgkobGlua193YXJuaW5nKTogTGlrZXdpc2UuCgoyMDAzLTA3LTIyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHdjc21icy93Y3BuY3B5LmMgKF9fd2NwbmNweSk6IENvcnJlY3QgZGVzdGluYXRpb24gcG9pbnRlciBoYW5kbGluZy4KCSogd2NzbWJzL01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3Qtd2NwbmNweS4KCSogd2NzbWJzL3RzdC13Y3BuY3B5LmM6IE5ldyBmaWxlLgoKMjAwMy0wNy0yMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3NjaGVkLmggKENMT05FX1NUT1BQRUQpOiBEZWZpbmUuCgoJKiBzeXNkZXBzL2kzODYvZnB1L2ZlZW5hYmx4Y3B0LmMgKGZlZW5hYmxlZXhjZXB0KTogUmV2ZXJzZSB1c2Ugb2YKCXN0bXhjc3IgYW5kIGxkbXhjc3IuCgoJKiBNYWtlcnVsZXMgKGJ1aWxkLW1vZHVsZS1oZWxwZXIpOiBBZGQgLXogZGVmcyB1bmxlc3MgZXhwbGljaXRseSBzYWlkCglub3QgdG8gZG8gaXQuCgkqIGRsZmNuL01ha2VmaWxlOiBEZWZpbmUgdmFyaW91cyAqLW5vLXotZGVmcyB2YXJpYWJsZXMgZm9yIHRlc3QgRFNPcwoJd2hpY2ggaGFzIHVuZGVmaW5lZCBzeW1ib2xzLgoJKiBlbGYvTWFrZWZpbGU6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9pMzg2L2ZwdS9mZWRpc2JseGNwdC5jOiBVc2UgZGxfaHdjYXAsIG5vdCBkbF9od2NhcF9tYXNrLgoJKiBzeXNkZXBzL2kzODYvZnB1L2ZlZW5hYmx4Y3B0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvZnB1L2ZlaG9sZGV4Y3B0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvZnB1L2Zlc2V0cm91bmQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9mcHUvZnRlc3RleGNlcHQuYzogTGlrZXdpc2UuCgoyMDAzLTA3LTIxICBISiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoKCSogZWxmL2xkY29uZmlnLmMgKHNlYXJjaF9kaXIpOiBUcmVhdCBzeW1saW5rIGFzIHJlZ3VsYXIgZmlsZQoJaWYgaXQgd29uJ3QgcG9pbnQgdG8gaXRzZWxmLgoKMjAwMy0wNy0yMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2lhNjQvaHAtdGltaW5nLmggKFJFUEVBVF9SRUFEKTogQ2FzdCB0byBsb25nIGludCBub3QgdG8gaW50LgoKMjAwMy0wNy0yMCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogaWNvbnZkYXRhL2NwOTMyLmMgKEJPRFkpOiBTVEFOREFSRF9FUlJfSEFORExFUiBpcyBub3cgY2FsbGVkCglTVEFOREFSRF9UT19MT09QX0VSUl9IQU5ETEVSLgoJKiBpY29udmRhdGEvZXVjLWpwLW1zLmMgKEJPRFkpOiBMaWtld2lzZS4KCjIwMDMtMDctMTkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9zY2hlZC5oIChfX0NQVV9aRVJPKTogRml4IHR5cG8uCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXNjYWxscy5saXN0OiBSZW1vdmUgYWZmaW5pdHkgc3lzY2FsbHMuCgoyMDAzLTA3LTE2ICBEYW5pZWwgSmFjb2Jvd2l0eiAgPGRyb3dAbXZpc3RhLmNvbT4KCSAgICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2JpdHMvc2htLmggKFNITUxCQSk6IERlZmluZSB0bwoJMjU2SywgcmVtb3ZlIHVubmVlZGVkIGRlY2xhcmF0aW9uIG9mIF9fZ2V0cGFnZXNpemUuCgoyMDAzLTA3LTE2ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZnV0aW1lcy5jOiBJbmNsdWRlIDxzdHJpbmcuaD4uCgoyMDAzLTA3LTE1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGlvL3Rlc3QtdXRpbWUuYyAobWFpbik6IE1ha2UgdGVzdCB5ZXQgbW9yZSByb2J1c3QuCgoyMDAzLTA3LTE0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCglNb3JlIGNhbmNlbGxhdGlvbiBoYW5kbGluZyBmaXh1cHMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L25vdC1jYW5jZWwuaDogQWRkIHdhaXRwaWRfbm90X2NhbmNlbC4KCSogc3lzZGVwcy9nZW5lcmljL25vdC1jYW5jZWwuaDogTGlrZXdpc2UuCgkqIGNhdGdldHMvb3Blbl9jYXRhbG9nLmM6IFVzZSBub3QtY2FuY2VsYWJsZSBzeXNjYWxscy4KCSogdGltZS9NYWtlZmlsZSAoQ0ZMQUdTLWdldGRhdGUuYyk6IEFkZCAtZmV4Y2VwdGlvbnMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2xsc2Vlay5jOiBNdXN0IG5vdCBiZSBjYW5jZWxhYmxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzY2FsbHMubGlzdDogRG9uJ3QgbWFyayBsc2VlayBhcyBjYW5jZWxhYmxlLgoJKiBkbGZjbi9kbGZjbi5oOiBNYXJrIGRsb3BlbiB3aXRoIF9fVEhST1cgYWdhaW4uCgkqIGlvL2ZjbnRsLmg6IERvbid0IG1hcmsgcG9zaXhfZmFsbG9jYXRlIHdpdGggX19USFJPVy4KCSogbGliaW8vZmlsZW9wcy5jOiBVc2Ugbm90LWNhbmNlbGFibGUgc3lzY2FsbHMgZm9yIGZjbG9zZS4KCSogbGliaW8vaW9wb3Blbi5jOiBVc2Ugbm8tY2FuY2VsYWJsZSBzeXNjYWxscy4KCSogbGliaW8vc3RkaW8uaDogTWFyayBwb3BlbiBhbmQgcGNsb3NlIHdpdGggX19USFJPVyBhZ2Fpbi4KCSogbWlzYy9NYWtlZmlsZSAoQ0ZMQUdTLXN5c2xvZy5jKTogQWRkIC1mZXhjZXB0aW9ucy4KCSogbWlzYy9zeXNsb2cuYzogRml4IGxvY2tpbmcgYW5kIGNhbmNlbGxhdGlvbiBjbGVhbnVwIGhhbmRsaW5nLgoJKiBwb3NpeC91bmlzdGQuaDogTWFyayB0dHluYW1lIGFuZCB0dHluYW1lX3IgYWdhaW4gd2l0aCBfX1RIUk9XLgoJKiBzdGRpby1jb21tb24vTWFrZWZpbGUgKENGTEFHUy10bXBmaWxlLmMsIENGTEFHUy10bXBmaWxlNjQuYywKCUNGTEFHUy10ZW1wbmFtZS5jKTogQWRkIC1mZXhjZXB0aW9ucy4KCSogc3RkbGliL01ha2VmaWxlIChDRkxBR1MtbWtzdGVtcC5jKTogQWRkIC1mZXhjZXB0aW9ucy4KCSogc3RyaW5nL3N0cmluZy5oOiBNYXJrIHN0cmVycm9yIGFuZCBzdHJlcnJvcl9yIHdpdGggX1RIUk9XIGFnYWluLgoJKiBzeXNkZXBzL2dlbmVyaWMvdW53aW5kLmluYzogTmV3IGZpbGUuICBDb3BpZWQgZnJvbSBnY2MuCgkqIHN5c2RlcHMvZ2VuZXJpYy91bndpbmQtZHcyLmM6IFVwZGF0ZSBmcm9tIGdjYyB2ZXJzaW9uLiAgUmVtb3ZlCgkjaWZzIHNpbmNlIHdlIG5vdyBuZWVkIGFsbCB0aGUgY29kZSBjb21waWxlZC4KCSogc3lzZGVwcy9wb3NpeC9zcGF3bmkuYzogVXNlIGNsb3NlX25vdF9jYW5jZWwgaW5zdGVhZCBvZiBjbG9zZS4KCSogc3lzZGVwcy91bml4L2Nsb3NlZGlyLmM6IFVzZSBub3QtY2FuY2VsYWJsZSBzeXNjYWxscy4KCSogc3lzZGVwcy91bml4L29wZW5kaXIuYzogTGlrZXdpc2UuCgoJKiBpY29udmRhdGEvTWFrZWZpbGUgKG1vZHVsZXMpOiBBZGQgQ1A5MzIgYW5kIEVVQy1KUC1NUy4KCUFkZCBydWxlIGZvciBFVUMtSlAtTVMgZGVwZW5kZW5jeS4KCSogaWNvbnZkYXRhL2NwOTMyLmM6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvZXVjanAtbXMuYzogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9nY29udi1tb2R1bGVzOiBBZGQgZW50cmllcyBmb3IgQ1A5MzIgYW5kIEVVQy1KUC1NUy4KCVBhdGNoIGJ5IE1PUklZQU1BIE1hc2F5dWtpIDxtc3lrQG10Zy5iaWdsb2JlLm5lLmpwPi4KCjIwMDMtMDctMTUgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjNjQvc29ja2V0LlMgKF9fc29ja2V0KTogQWRkCgljZmkgZGlyZWN0aXZlcy4KCjIwMDMtMDctMTQgIEZyYW56IFNpcmwgIDxGcmFuei5TaXJsLWtlcm5lbEBsYXV0ZXJiYWNoLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2tlcm5lbC1mZWF0dXJlcy5oCgkoX19BU1NVTUVfRklYRURfQ0xPTkVfU1lTQ0FMTCk6IE5ldyBtYWNyby4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjMzIvY2xvbmUuUzogVXNlIGl0LgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvdXRpbWVzLmM6IEluY2x1ZGUgc3lzZGVwLmguCgoyMDAzLTA3LTE0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2tlcm5lbC1mZWF0dXJlcy5oOiBEZWZpbmUKCV9fQVNTVU1FX1RHS0lMTCBmb3IgQWxwaGEgYXBwcm9wcmlhdGVseS4KCjIwMDMtMDctMTIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9zdGF0ZnMuaCAoX1NUQVRGU19GX0ZSU0laRSk6IERlZmluZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvYml0cy9zdGF0ZnMuaCAoX1NUQVRGU19GX0ZSU0laRSk6CglMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9iaXRzL3N0YXRmcy5oIChfU1RBVEZTX0ZfRlJTSVpFKToKCUxpa2V3aXNlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgva2VybmVsLWZlYXR1cmVzLmg6IERlZmluZQoJX19BU1NVTUVfVVRJTUVTIGZvciB4ODYgYW5kIGtlcm5lbHMgPiAyLjUuNzUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9mdXRpbWVzLmMgKF9fZnV0aW1lcyk6IEhhbmRsZSBjYXNlIHdpdGgKCXNlY29uZCBwYXJhbWV0ZXIgPT0gTlVMTC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvdXRpbWVzLmM6IE5ldyBmaWxlLgoKMjAwMy0wNy0xMiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9mdXRpbWVzLmM6IEluY2x1ZGUga2VybmVsLWZlYXR1cmVzLmguCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2tlcm5lbC1mZWF0dXJlcy5oIChfX0FTU1VNRV9VVElNRVMpOiBGaXgKCWEgdHlwby4KCjIwMDMtMDctMTIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogdGltZS9zeXMvdGltZS5oOiBOYW1lc3BhY2UgY2xlYW51cC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgva2VybmVsLWZlYXR1cmVzLmg6IERlZmluZQoJX19BU1NVTUVfVVRJTUVTIGZvciB0aGUgYXJjaGl0ZWN0dXJlcyB3aGljaCBhbHdheXMgaGFkIHRoZSBzeXNjYWxsLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9mdXRpbWVzLmM6IE5ldyBmaWxlLgoKMjAwMy0wNy0xMiAgS2F6IEtvamltYSAgPGtrb2ppbWFAcnIuaWlqNHUub3IuanA+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9zb2NrZXQuUzogU2F2ZSBhbmQgcmVzdG9yZSB0aGUgUFIKCXJlZ2lzdGVyIGFjcm9zcyBDRU5BQkxFIGFuZCBDRElTQUJMRS4KCjIwMDMtMDctMTEgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2lnd2FpdC5jOiBJbmNsdWRlIHN0cmluZy5oLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaWd3YWl0aW5mby5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2lndGltZWR3YWl0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zbGVlcC5jIChfX3NsZWVwKTogQ2FzdCB2YWx1ZSB0byB1bnNpZ25lZAoJaW50IGJlZm9yZSBhc3NpZ25pbmcgdG8gbWF4IHRvIGF2b2lkIHdhcm5pbmdzLgoKMjAwMy0wNy0xMSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGMzMi9zb2NrZXQuUyAoX19zb2NrZXQpOiBBZGQKCWNmaSBkaXJlY3RpdmVzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtMzIvc29ja2V0LlMgKF9fc29ja2V0KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9zb2NrZXQuUyAoX19zb2NrZXQpOiBMaWtld2lzZS4KCjIwMDMtMDctMTAgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9lbGYvc3RhcnQuUzogU2V0IHNlY3Rpb24gZmxhZ3Mgb2YKCS5kYXRhLnJlbC5yby5sb2NhbCB0byAiYXciLgoKMjAwMy0wNy0xMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL202OGsvTWFrZWZpbGU6IFJlbW92ZSBDTEZBR1MtLm9TIGFkZGl0aW9uLgoJKiBNYWtlY29uZmlnIChDRkxBR1MtLm9TKTogVXNlIFBJQy1jY2ZsYWcgaW5zdGVhZCBvZiBwaWMtY2NmbGFnLgoJKFBJQy1jY2ZsYWcpOiBEZWZpbmUuCgoyMDAzLTA3LTA0ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvczM5MC9zMzkwLTMyL2VsZi9zdGFydC5TOiBFbWl0IHBvc2l0aW9uIGluZGVwZW5kZW50IGNvZGUKCWlmIFBJQy4KCSogc3lzZGVwcy9zMzkwL3MzOTAtNjQvZWxmL3N0YXJ0LlM6IExpa2V3aXNlLgoKMjAwMy0wNy0wNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzY0L2VsZi9zdGFydC5TOiBQdXQgTChzdGFydF9hZGRyZXNzKQoJaW50byAuZGF0YS5yZWwucm8ubG9jYWwgc2VjdGlvbiBpZiBQSUMgdG8gYXZvaWQgRFRfVEVYVFJFTC4KCjIwMDMtMDctMDcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgva2VybmVsLWZlYXR1cmVzLmg6IFZlcnNpb24KCV9fQVNTVU1FX0NPUlJFQ1RfU0lfUElEIGFuZCBfX0FTU1VNRV9UR0tJTEwgaWYgcG9zc2libGUuCgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtc3lzZGVwLmMgKF9kbF9zeXNkZXBfc3RhcnQpOiBBZGp1c3QgZm9yCgljb21waWxhdGlvbiB3aXRoIEhBVkVfQVVYX1NFQ1VSRSBkZWZpbmVkLgoKMjAwMy0wNy0wNSAgUmljaGFyZCBIZW5kZXJzb24gIDxydGhAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvYWxwaGEvZWxmL2luaXRmaW5pLmM6IEF2b2lkIC5lbnQvLmVuZC4KCjIwMDMtMDctMDMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmluOiBBbHNvIGNoZWNrIGZvciAuY2ZpX3JlbF9vZmZzZXQgcHNldWRvLW9wLgoKMjAwMy0wNy0wMyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wcm9mLWZyZXEuYyAoX19wcm9maWxlX2ZyZXF1ZW5jeSk6IEZpeCBhCgl0eXBvLgoKMjAwMy0wNy0wMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9rZXJuZWwtZmVhdHVyZXMuaCAoX19BU1NVTUVfQVRfQ0xLVENLKToKCURlZmluZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcHJvZi1mcmVxLmg6IE5ldyBmaWxlLgoKMjAwMy0wNy0wMiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtc3lzZGVwLmMgKF9kbF9zeXNkZXBfc3RhcnQpOiBQcm90ZWN0IG5ld19zeXNpbmZvCglkZWNsIGFuZCB1c2Ugd2l0aCAjaWZkZWYgTkVFRF9ETF9TWVNJTkZPLgoKMjAwMy0wNy0wMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtc3lzZGVwLmMgKF9kbF9zeXNkZXBfc3RhcnQpOiBEb24ndCBzZXQKCUdMKGRsX3N5c2luZm8pIHVubGVzIEdMKGRsX3N5c2luZm9fZHNvKSBpcyBhbHNvIHNldC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgva2VybmVsLWZlYXR1cmVzLmg6IERlZmluZQoJX19BU1NVTUVfVlNZU0NBTEwgb25seSBmb3IgMi41LjY5IGFuZCB1cCBzaW5jZSB0aGlzIGlzIHdoZW4gdGhlCgl2c3lzY2FsbCBEU08gd2FzIGFkZGVkLgoKCSogcG9zaXgvYml0cy9wb3NpeDFfbGltLmggKF9QT1NJWF9OR1JPVVBTX01BWCk6IERlZmluZSB0byA4IG9yIDAKCWRlcGVuZGluZyBvbiBzZWxlY3RlZCBzdGFuZGFyZC4KCShOR1JPVVBTX01BWCk6IERlZmluZSB0byA4IGlmIG5vdCBkZWZpbmVkLgoKMjAwMy0wNy0wMiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5cy9lcG9sbC5oOiBOZXcgZmlsZS4KCjIwMDMtMDUtMDQgIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KCgkqIG1hbGxvYy9hcmVuYS5jIChhcmVuYV9nZXQyKTogQWRkIGF0b21pY193cml0ZV9iYXJyaWVyLgoJKiBtYWxsb2MvdGhyZWFkLW0uaDogSW5jbHVkZSA8YXRvbWljLmg+LgoJKGF0b21pY19mdWxsX2JhcnJpZXIpOiBQcm92aWRlIGRlZmF1bHQuCgkoYXRvbWljX3JlYWRfYmFycmllcik6IExpa2V3aXNlLgoJKGF0b21pY193cml0ZV9iYXJyaWVyKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaWE2NC9iaXRzL2F0b21pYy5oIChhdG9taWNfZnVsbF9iYXJyaWVyKTogTmV3ICNkZWZpbmUuCgoyMDAzLTA2LTMwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9zeXNkZXAuaDogRGVmaW5lIGNmaV9yZWxfb2Zmc2V0IGFuZCBDRklfUkVMX09GRlNFVC4KCjIwMDMtMDYtMzAgIFJpY2hhcmQgSGVuZGVyc29uICA8cnRoQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2FscGhhL2JpdHMvYXRvbWljLmggKF9fYXJjaF9jb21wYXJlX2FuZF9leGNoYW5nZV9ib29sXypfaW50KToKCUludmVydCB0aGUgc2Vuc2Ugb2YgdGhlIHJldHVybiB2YWx1ZS4KCShfX2FyY2hfZXhjaGFuZ2VfMTZfaW50KTogRml4IHBhc3RlLW8uCgkoX19hcmNoX2V4Y2hhbmdlX3szMiw2NH1faW50KTogRml4IHRoaW5rLW8uCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9jbG9uZS5TOiBMb2FkIGNoaWxkX3RpZCBwcm9wZXJseS4KCjIwMDMtMDYtMzAgIFJpY2hhcmQgSGVuZGVyc29uICA8cnRoQHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL3N5cy9yZXNvdXJjZS5oIChfX2dldHJ1c2FnZSk6IE1hcmsgaGlkZGVuLgoJKiBpbmNsdWRlL3N5cy90aW1lLmggKF9fc2V0dGltZW9mZGF5LCBfX3NldGl0aW1lciwgX191dGltZXMpOiBMaWtld2lzZS4KCSogaW5jbHVkZS9zeXMvd2FpdC5oIChfX3dhaXQ0KTogTGlrZXdpc2UuCgoyMDAzLTA2LTE3ICBHdWlkbyBHdWVudGhlciAgPGFneEBzaWd4Y3B1Lm9yZz4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMveHN0YXRjb252LmM6IEhhbmRsZSBTVEFUX0lTX0tFUk5FTF9TVEFUCgljYXNlLgoJKHhzdGF0X2NvbnYpOiBSZW5hbWUgdG8gX194c3RhdF9jb252IGFuZCByZW1vdmUgc3RhdGljIGlubGluZS4KCSh4c3RhdDY0X2NvbnYpOiBMaWtld2lzZS4KCjIwMDMtMDYtMjkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2xlZXAuYyAoX19zbGVlcCk6IEhhbmRsZSBwYXJhbWV0ZXIKCXZhbHVlcyB3aGljaCBjYW5ub3QgYmUgaGFuZGxlZCBpbiBvbmUgbmFub3NsZWVwIGNhbGwuCgoyMDAzLTA2LTI1ICBBbGZyZWQgTS4gU3ptaWR0ICA8YW1zQGtlbWlzdGVuLm51PgoKCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvaW4uaCAoSVBWNl9IT1BPUFRTLCBJUFY2X0RTVE9QVFMpOiBOZXcgbWFjcm9zLgoJKElQVjZfUlhIT1BPUFRTLCBJUFY2X1JYRFNUT1BUUyk6IFVzZSB0aGVtLgoKCSogc3lzZGVwcy9nZW5lcmljL2lmcmVxLmggKF9faWZfbmV4dHJlcSkgW19IQVZFX1NBX0xFTl06IFR5cG8gZml4LgoKMjAwMy0wNi0wNCAgVGhvcnN0ZW4gS3VrdWsgIDxrdWt1a0BzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbmV0L2lmX2FycC5oOiBTeW5jIHdpdGgga2VybmVsIGhlYWRlciwKCWZpeCB0eXBvLgoKMjAwMy0wNi0yNiAgU3RldmVuIE11bnJvZSAgPHNqbXVucm9lQHVzLmlibS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94c3RhdGNvbnYuaCBbIVNUQVRfSVNfS0VSTkVMX1NUQVRdOgoJQ29uZGl0aW9uYWxpemUgZnVuY3Rpb24gZGVmaW5pdGlvbnMgdGhhdCB1c2Ugc3RydWN0IGtlcm5lbF9zdGF0LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9meHN0YXQuYzogUmVtb3ZlIF9fc3lzY2FsbF9mc3RhdCBleHRlcm4uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2x4c3RhdC5jOiBSZW1vdmUgX19zeXNjYWxsX2xzdGF0IGV4dGVybi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveHN0YXQuYzogUmVtb3ZlIF9fc3lzY2FsbF9zdGF0IGV4dGVybi4KCjIwMDMtMDYtMjggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zZW10aW1lZG9wLmMgKHNlbXRpbWVkb3ApOiBBZGQgcmVhbAoJaW1wbGVtZW50YXRpb24uCgoyMDAzLTA2LTA3ICBUaG9yc3RlbiBLdWt1ayAgPGt1a3VrQHN1c2UuZGU+CgoJKiBuaXMvbnNzX2NvbXBhdC9jb21wYXQtZ3JwLmM6IFJlbW92ZSB1bnVzZWQgbmlzX2ZpcnN0IHZhcmlhYmxlLgoJKGdldGdyZW50X25leHRfZmlsZSk6IERvbid0IHN0b3JlIGdyb3VwIG5hbWUgdG8gZWFybHkgaW4gYmxhY2tsaXN0LgoKCSogbmlzL25zc19jb21wYXQvY29tcGF0LXB3ZC5jIChpbnRlcm5hbF9nZXRwd3VpZF9yKTogU2F2ZSBzdHJsZW4gcmVzdWx0CglhbmQgdXNlIG1lbWNweSBpbnN0ZWFkIG9mIHN0cmNweS4KCjIwMDMtMDYtMjggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbmlzL25zc19jb21wYXQvY29tcGF0LWdycC5jOiBPcHRpbWl6ZSBzZXZlcmFsIGxpdHRsZSB0aGluZ3MuICBVc2UKCXN0cmVhbSB1bmxvY2tlZC4KCSogbmlzL25zc19jb21wYXQvY29tcGF0LWluaXRncm91cHMuYzogTGlrZXdpc2UuCgkqIG5pcy9uc3NfY29tcGF0L2NvbXBhdC1wd2QuYzogTGlrZXdpc2UuCgkqIG5pcy9uc3NfY29tcGF0L2NvbXBhdC1zcHdkLmM6IExpa2V3aXNlLgoKMjAwMy0wNi0yNyAgVGhvcnN0ZW4gS3VrdWsgIDxrdWt1a0BzdXNlLmRlPgoKCSogbmlzL25zc19jb21wYXQvY29tcGF0LWluaXRncm91cHMuYzogRG9uJ3QgdXNlIG91ciBvd24gTklTL05JUysKCWZ1bmN0aW9ucywgZGxvcGVuIGNvcnJlc3BvbmRpbmcgTlNTIG1vZHVsZSBpbnN0ZWFkLgoKMjAwMy0wNi0yNyAgSmVyb2VuIERla2tlcnMgIDxqZXJvZW5AZGVra2Vycy5jeD4KCgkqIHN5c2RlcHMvbWFjaC9odXJkL2FscGhhL2luaXQtZmlyc3QuYzogUmVtb3ZlIGNhbGwgdG8gX19saWJjX2luaXQuCgkqIHN5c2RlcHMvbWFjaC9odXJkL2kzODYvaW5pdC1maXJzdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9tYWNoL2h1cmQvbWlwcy9pbml0LWZpcnN0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9wb3dlcnBjL2luaXQtZmlyc3QuYzogTGlrZXdpc2UuCgoyMDAzLTA2LTI3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHJ0L01ha2VmaWxlIChDRkxBR1MtbGlicnQtY2FuY2VsbGF0aW9uLmMpOiBEZWZpbmUuCgoyMDAzLTA2LTI2ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEBmcm9iLmNvbT4KCgkqIHN5c2RlcHMvbWFjaC9jb25maWd1cmUuaW46IEJhcmYgcmF0aGVyIHRoYW4gZGVmaW5lIE5PX0NSRUFUSU9OX1RJTUUuCgkqIHN5c2RlcHMvbWFjaC9jb25maWd1cmU6IFJlZ2VuZXJhdGVkLgoJKiBzeXNkZXBzL21hY2gvaHVyZC90aW1lcy5jICh0aW1lc19pbml0KTogRnVuY3Rpb24gcmVtb3ZlZC4KCShfX3RpbWVzKTogQXNzdW1lIGBjcmVhdGlvbl90aW1lJyBmaWVsZCBpcyBhdmFpbGFibGUuCgkqIHN5c2RlcHMvbWFjaC9odXJkL01ha2VmaWxlIFskKHN1YmRpcikgPSBjc3VdIChzeXNkZXBfcm91dGluZXMpOgoJRG9uJ3QgYXBwZW5kIHNldC1pbml0LgoJKiBzeXNkZXBzL21hY2gvaHVyZC9zZXQtaW5pdC5jOiBGaWxlIHJlbW92ZWQuCgoyMDAzLTA2LTI2ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogZWxmL2VsZi5oIChBVF9TRUNVUkUpOiBOZXcgbWFjcm8uCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1zeXNkZXAuYyAoX2RsX3N5c2RlcF9zdGFydCk6IEdyb2sgaXQsCglzZXQgX19saWJjX2VuYWJsZV9zZWN1cmUuCgkoX2RsX3Nob3dfYXV4dik6IEFkZCBBVF9TRUNVUkUgdG8gbmFtZSB0YWJsZS4KCSogZWxmL2RsLXN1cHBvcnQuYyAoX2RsX2F1eF9pbml0KTogR3JvayBBVF9TRUNVUkUsIHNldAoJX19saWJjX2VuYWJsZV9zZWN1cmUgYW5kIF9fbGliY19lbmFibGVfc2VjdXJlX2RlY2lkZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2xkc29kZWZzLmgKCVtfX0FTU1VNRV9BVF9TRUNVUkVdIChIQVZFX0FVWF9TRUNVUkUpOiBEZWZpbmUgaXQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2tlcm5lbC1mZWF0dXJlcy5oCglbX19MSU5VWF9LRVJORUxfVkVSU0lPTiA+PSAxMzI0MjZdIChfX0FTU1VNRV9BVF9TRUNVUkUpOiBEZWZpbmUgaXQuCgoyMDAzLTA2LTI2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGlvL3Rlc3QtdXRpbWUuYzogSWYgX1NUQVRCVUZfU1RfTlNFQyBpcyBkZWZpbmVkLCBhZGp1c3QgbG93ZXIKCWJvdW5kYXJ5IHRlc3QgdG8gdGFrZSByb3VuZGluZyBvZiBuYW5vc2Vjb25kcyBpbnRvIGFjY291bnQuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3N0YXQuaDogRGVmaW5lIF9TVEFUQlVGX1NUX05TRUMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy9zdGF0Lmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tNjhrL2JpdHMvc3RhdC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9iaXRzL3N0YXQuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvYml0cy9zdGF0Lmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9iaXRzL3N0YXQuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9iaXRzL3N0YXQuaDogTGlrZXdpc2UuCgoyMDAzLTA2LTI2ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogc3lzZGVwcy9tNjhrL2ZwdS9iaXRzL21hdGhpbmxpbmUuaDogRG9uJ3QgaW5saW5lIGZyZXhwLgoJKiBzeXNkZXBzL202OGsvZnB1L3NfZnJleHAuYzogUHV0IGltcGxlbWVudGF0aW9uIGhlcmUuCgkqIHN5c2RlcHMvbTY4ay9mcHUvc19mcmV4cGwuYzogRml4IHRvIGhhbmRsZSB1bm5vcm1hbGl6ZWQgbnVtYmVycy4KCjIwMDMtMDYtMTcgIFRob3JzdGVuIEt1a3VrICA8a3VrdWtAc3VzZS5kZT4KCgkqIG5pcy9NYWtlZmlsZTogUmVtb3ZlIE5JUy9OSVMrIGZpbGVzIGZyb20gbnNzX2NvbXBhdCBtb2R1bGUuCgkqIG5pcy9uc3NfY29tcGF0L2NvbXBhdC1ncnAuYzogRG9uJ3QgdXNlIG91ciBvd24gTklTL05JUysgZnVuY3Rpb25zLAoJZGxvcGVuIGNvcnJlc3BvbmRpbmcgTlNTIG1vZHVsZSBpbnN0ZWFkLgoJKiBuaXMvbnNzX2NvbXBhdC9jb21wYXQtcHdkLmM6IExpa2V3aXNlLgoJKiBuaXMvbnNzX2NvbXBhdC9jb21wYXQtc3B3ZC5jOiBMaWtld2lzZS4KCSogbmlzL25zc19jb21wYXQvY29tcGF0LWluaXRncm91cHMuYzogRGlzYWJsZWQgZm9yIG5vdy4KCSogbnNzL1ZlcnNpb25zOiBFeHBvcnQgX19uc3NfbG9va3VwX2Z1bmN0aW9uLgoKMjAwMy0wNi0xOSAgRGFuaWVsIEphY29ib3dpdHogIDxkcm93QG12aXN0YS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9rZXJuZWwtZmVhdHVyZXMuaDogVXBkYXRlIGtlcm5lbCBmZWF0dXJlcwoJZm9yIHRoZSBTSCBhcmNoaXRlY3R1cmUuCgoyMDAzLTA2LTI1ICBUaG9yc3RlbiBLdWt1ayAgPGt1a3VrQHN1c2UuZGU+CgoJKiBjc3UvTWFrZWZpbGU6IFVzZSBDUFBGTEFHUyB0byBmaW5kIGNvcnJlY3QgbGludXgvdmVyc2lvbi5oLgoKMjAwMy0wNi0yNSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3RkbGliL3RzdC1zdHJ0b2QuYyAobWFpbik6IERlY2xhcmUgY29uc3RhbnQgbG9uZyBkb3VibGUgYXMKCXN1Z2dlc3RlZCBieSBKYWt1YiBKZWxpbmVrIGFuZCBBbmRyZWFzIFNjaHdhYi4KCgkqIHBvc2l4L3RzdC1uYW5vc2xlZXAuYzogSW5jbHVkZSA8dGltZS5oPiBmb3IgbmFub3NsZWVwCglkZWNsYXJhdGlvbi4KCgkqIHN0ZGlvLWNvbW1vbi90c3QtZnBoZXguYzogRml4IGZvcm1hdCBzdHJpbmcuCgoJKiBwb3NpeC90cmFuc2J1Zy5jOiBJbmNsdWRlIDxzdHJpbmcuaD4gZm9yIG1lbXNldCBhbmQgc3RybGVuCglkZWNsYXJhdGlvbnMuCgoJKiBzdGRpby1jb21tb24vdHN0LXNwcmludGYuYzogSW5jbHVkZSA8c3RkbGliLmg+IGZvciBmcmVlIGRlY2xhcmF0aW9uLgoKCSogc3RkbGliL3RzdC1zdHJ0b2QuYyAobWFpbik6IFBhc3MgbG9uZyBkb3VibGUgdmFsdWUuCgoJKiB0ZXN0LXNrZWxldG9uLmM6IEluY2x1ZGUgPHRpbWUuaD4gZm9yIG5hbm9zbGVlcCBkZWNsYXJhdGlvbi4KCjIwMDMtMDYtMjUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW5jbHVkZS90aW1lLmg6IERvbid0IGRlZmluZSBDTE9DS19JREZJRUxEX1NJWkUgaWYgX0lTT01BQyBpcwoJZGVmaW5lZC4KCjIwMDMtMDYtMTEgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogZWxmL1ZlcnNpb25zIChsaWJjKTogQWRkIF9kbF9vcGVuX2hvb2tAR0xJQkNfUFJJVkFURS4KCSogZWxmL2RsLWxpYmMuYyAoc3RydWN0IGRsX29wZW5faG9vayk6IE5ldy4KCShfZGxfb3Blbl9ob29rKTogTmV3IHZhcmlhYmxlLgoJKGRvX2Rsc3ltX3ByaXZhdGUpOiBOZXcgZnVuY3Rpb24uCgkoX19saWJjX2Rsb3Blbl9tb2RlKSBbIVNIQVJFRF06IExvb2t1cCBfZGxfb3Blbl9ob29rQEdMSUJDX1BSSVZBVEUKCWFuZCBpbml0aWFsaXplIGl0IGlmIGZvdW5kLgoJKF9fbGliY19kbG9wZW5fbW9kZSkgW1NIQVJFRF06IElmIF9kbF9vcGVuX2hvb2sgaXMgbm9uLU5VTEwsCgljYWxsIGRsb3Blbl9tb2RlIGhvb2suCgkoX19saWJjX2Rsc3ltKSBbU0hBUkVEXTogSWYgX2RsX29wZW5faG9vayBpcyBub24tTlVMTCwKCWNhbGwgZGxzeW0gaG9vay4KCShfX2xpYmNfZGxjbG9zZSkgW1NIQVJFRF06IElmIF9kbF9vcGVuX2hvb2sgaXMgbm9uLU5VTEwsCgljYWxsIGRsY2xvc2UgaG9vay4KCjIwMDMtMDYtMjUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY3Jpcy9zeXNkZXAuaCAoSU5MSU5FX1NZU0NBTEwpOiBDYXN0CglyZXN1bHQgdG8gbG9uZyBpbnQgc28gdGhhdCBleHRlbnNpb25zIHRvIGxvbmcgbG9uZyBpbnQgd29yay4KCVBhdGNoIGJ5IFV3ZSBSZWltYW5uIDxsaWJjLWFscGhhQHB1bHNhci5ob21lbGludXgubmV0Pi4KCjIwMDMtMDYtMTkgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogZWxmL2xkY29uZmlnLmMgKG1haW4pOiBVc2UgYWRkX3N5c3RlbV9kaXIgaW5zdGVhZCBvZiBhZGRfZGlyLgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtY2FjaGUuaCAoYWRkX3N5c3RlbV9kaXIpOiBEZWZpbmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9kbC1jYWNoZS5oOiBJbmNsdWRlIHNwYXJjCglkbC1jYWNoZS5oLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2RsLWNhY2hlLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2RsLWNhY2hlLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2RsLWNhY2hlLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9kbC1jYWNoZS5oOiBOZXcgZmlsZS4KCjIwMDMtMDYtMTkgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogdGVzdC1za2VsZXRvbi5jICh0aW1lb3V0X2hhbmRsZXIpOiBJZiB3YWl0cGlkIHJldHVybmVkIDAsCglyZXRyeSBvbmNlIGFmdGVyIGEgc2Vjb25kLiAgSWYga2lsbGVkID09IDAsIGFzc3VtZQoJV1RFUk1TSUcgKHN0YXR1cykgPT0gU0lHS0lMTC4KCjIwMDMtMDYtMTggIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtc3lzZGVwLmMgKF9kbF9zaG93X2F1eHYpOiBDYXRjaCB1bmluaXRpYWxpemVkCgllbGVtZW50cyBpbiB0aGUgdGFibGUgaW5zdGVhZCBvZiBwcmludGluZyBhbiBlbXB0eSBuYW1lIHN0cmluZy4KCjIwMDMtMDYtMDUgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBlbGYvZWxmLmggKFBUX0dOVV9TVEFDSyk6IE5ldyBtYWNyby4KCjIwMDMtMDYtMjQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW5jbHVkZS90aW1lLmg6IERlZmluZSBDTE9DS19JREZJRUxEX1NJWkUuCgkqIHN5c2RlcHMvcG9zaXgvY2xvY2tfZ2V0cmVzLmM6IFJlY29nbml6ZSB0aHJlYWQgQ1BVIGNsb2NrIElEcy4KCSogc3lzZGVwcy91bml4L2Nsb2NrX2dldHRpbWUuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9jbG9ja19zZXR0aW1lLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvY2xvY2tfbmFub3NsZWVwLmMgKENQVUNMT0NLX1ApOiBBZGp1c3QgZm9yIG5ldwoJY2xvY2sgaWQgZm9yIHRocmVhZCBDUFUgY2xvY2tzLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZnN0YXRmczY0LmMgKF9fZnN0YXRmczY0KTogQWRkIHN1cHBvcnQKCWZvciB0aGUgZnN0YXRmczY0IHN5c2NhbGwuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N0YXRmczY0LmMgKF9fc3RhdGZzNjQpOiBBZGQgc3VwcG9ydCBmb3IKCXRoZSBzdGF0ZnM2NCBzeXNjYWxsLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgva2VybmVsLWZlYXR1cmVzLmg6IERlZmluZQoJX19BU1NVTUVfU1RBVEZTNjQgYXBwcm9wcmlhdGVseS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2ludGVybmFsX3N0YXR2ZnMuYzogVXNlIGZfZnJzaXplIGZpZWxkCglmcm9tIHN0YXRmcyBzdHJ1Y3R1cmUgaWYgaXQgaGFzIGJlZW4gZmlsbGVkIGluLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9zdGF0ZnMuaCAoc3RydWN0IHN0YXRmcyk6IEFkZCBmX2Zyc2l6ZQoJZmllbGQuCgkoc3RydWN0IHN0YXRmczY0KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2JpdHMvc3RhdGZzLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2JpdHMvc3RhdGZzLmg6IExpa2V3aXNlLgoKMjAwMy0wNi0yNCAgUmljaGFyZCBIZW5kZXJzb24gIDxydGhAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3N5c2NhbGxzLmxpc3QgKHByZWFkLCBwd3JpdGUpOiBVc2UKCXRoZSA2NC1iaXQgc3lzY2FsbCBuYW1lLgoKCSogc3lzZGVwcy9hbHBoYS9zZXRqbXAuUyAoX3NldGptcCwgc2V0am1wKTogTWFyayAucHJvbG9ndWUuCgoJKiBzeXNkZXBzL2FscGhhL2ZwdS9iaXRzL21hdGhpbmxpbmUuaDogSG9ub3IKCV9fTElCQ19JTlRFUk5BTF9NQVRIX0lOTElORVMuICBJbXBsZW1lbnQgX19zaWduYml0ZiwgX19zaWduYml0LgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvY2xvbmUuUzogVXNlIEhJRERFTl9KVU1QVEFSR0VULgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9pZWVlX2dldF9mcF9jb250cm9sLlM6IFVzZQoJbGliY19oaWRkZW5fZGVmLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9pZWVlX3NldF9mcF9jb250cm9sLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9zZXRmcHVjdy5jOiBVc2UgbGliY19oaWRkZW5fcHJvdG8KCW9uIHRoZW0uCgoJKiBzeXNkZXBzL2FscGhhL2JpdHMvYXRvbWljLmg6IE5ldyBmaWxlLgoKMjAwMy0wNi0yNCAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIHN5c2RlcHMvbTY4ay9mcHUvbGlibS10ZXN0LXVscHM6IFVwZGF0ZS4KCjIwMDMtMDYtMjQgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zdGF0LmggKF9TVEFUX1ZFUl9MSU5VWCk6IEF2b2lkCglyZWRlY2xhcmF0aW9uIHdpdGggMzItYml0IGNvZGUuCgoyMDAzLTA1LTE5ICBFZCBDb25uZWxsICA8ZWQuY29ubmVsbEBzYXMuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9nZXRjb250ZXh0LlMgKGdldGNvbnRleHQpOiBSZXRhaW4KCWZsb2F0aW5nIHBvaW50IG1hc2suCgkqIHN5c2RlcHMvaTM4Ni9mcHUvZmVnZXRlbnYuYyAoZmVnZXRlbnYpOiBMaWtld2lzZS4KCjIwMDMtMDYtMjMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9wdGhyZWFkL2Fpb19taXNjLmg6IE1hcmsgX19haW9fcmVxdWVzdHNfbXV0ZXgsCglfX2Fpb19lbnF1ZXVlX3JlcXVlc3QsIF9fYWlvX2ZpbmRfcmVxLCBfX2Fpb19maW5kX3JlcV9mZCwKCV9fYWlvX2ZyZWVfcmVxdWVzdCwgX19haW9fbm90aWZ5LCBhbmQgX19haW9fc2lncXVldWUgYXMgaGlkZGVuLgoKCSogc3lzZGVwcy9wdGhyZWFkL2Fpb19zdXNwZW5kLmMgKGFpb19zdXNwZW5kKTogU2V0IGVycm5vIHRvIHRoZSByZXN1bHQKCW9mIHB0aHJlYWRfY29uZF93YWl0IGlmIHRoZXJlIHdhcyBhbiBlcnJvci4gIFVzZSBwdGhyZWFkX2NsZWFudXBfKgoJaW5zdGVhZCBvZiBfX2xpYmNfY2xlYW51cF9yZWdpb25fKi4KCjIwMDMtMDYtMjAgIFJpY2hhcmQgSGVuZGVyc29uICA8cnRoQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvbWFrZS1zeXNjYWxscy5zaDogSW1wbGVtZW50ICEgcHJlZml4IGZvciBzdHJvbmcgYWxpYXNlcy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvc3lzY2FsbHMubGlzdCAob3Blbiwgb3BlbjY0KTogTmV3LgoKMjAwMy0wNi0yMCAgUmljaGFyZCBIZW5kZXJzb24gIDxydGhAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9hbHBoYS9zeXNkZXAuaCAoSU5MSU5FX1NZU0NBTEwxKTogVXNlIF9fYnVpbHRpbl9leHBlY3QuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2tlcm5lbC1mZWF0dXJlcy5oIChfX0FTU1VNRV9TVF9JTk9fNjRfQklUKQoJVW5zZXQgZm9yIGFscGhhLgoJKF9fQVNTVU1FX1RJTUVWQUw2NCk6IFNldCBmb3IgYWxwaGEuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL01ha2VmaWxlIChzeXNkZXBfcm91dGluZXMpOiBSZW1vdmUKCWFkanRpbWV4LCBvc2Zfc2lncHJvY21hc2ssIG9sZF9hZGp0aW1leC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvYWRqdGltZS5jOiBVc2UgSU5MSU5FX1NZU0NBTEwsCglfX0FTU1VNRV9USU1FVkFMNjQuICBSZW9yZyB0djY0IGZ1bmN0aW9ucyB0byBhdm9pZCB1bmluaXQgdmFyaWFibGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2dldGl0aW1lci5TOiBVc2UgX19BU1NVTUVfVElNRVZBTDY0LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9nZXRydXNhZ2UuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2dldHRpbWVvZmRheS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvc2VsZWN0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9zZXRpdGltZXIuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3NldHRpbWVvZmRheS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvdXRpbWVzLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS93YWl0NC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvaWVlZV9nZXRfZnBfY29udHJvbC5TOiBTdHJlYW1saW5lCglQSUMgY29kZSBzZXF1ZW5jZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvaWVlZV9zZXRfZnBfY29udHJvbC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvc2lnYWN0aW9uLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9zaWdwcm9jbWFzay5jOiBVc2UgSU5MSU5FX1NZU0NBTEwuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3VzdGF0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS94bWtub2QuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3N5c2NhbGxzLmxpc3Q6IFJlbW92ZSBvc2Zfc2lncHJvY21hc2ssCglzeXNfdXN0YXQsIHN5c19ta25vZCwgYWRqdGltZXgsIG9sZF9hZGp0aW1leC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvc3lzZGVwLmggKElOTElORV9TWVNDQUxMKTogRG9uJ3QKCWRlZmVyIHRvIF9fc3lzY2FsbF9uYW1lOyBlcnJvciBmb3IgcnRfc2lnYWN0aW9uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS94c3RhdGNvbnYuYzogSW5jbHVkZSBrZXJuZWxfc3RhdC5oLgoKMjAwMy0wNi0xOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBtYWxsb2MvbWFsbG9jLmMgKHB1YmxpY19tQUxMSU5Gbyk6IEluaXRpYWxpemUgbWFsbG9jIGlmIGl0CgloYXNuJ3QgaGFwcGVuZWQgeWV0LgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3JlZ2lzdGVyLWR1bXAuaCAocmVnaXN0ZXJfZHVtcCk6CglGaXggY29tcGxldGVseSBicm9rZW4gaW1wbGVtZW50YXRpb24uICBUaGUgc2Vjb25kIHBhcmFtZXRlciBpcyBvZgoJdHlwZSBzdHJ1Y3QgdWNvbnRleHQqLgoKCSogc3lzZGVwcy94ODZfNjQvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9ydW50aW1lX3NldHVwKTogQWx3YXlzCglpbmxpbmUuCgoJKiBzeXNkZXBzL2kzODYvaTY4Ni9kbC1oYXNoLmg6IERvbid0IGlubGluZSBfZGxfZWxmX2hhc2guCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1oYXNoLmg6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9nZW5lcmljL21lbWNtcC5jOiBSZW1vdmUgaW5saW5lIGZyb20KCW1lbWNtcF9jb21tb25fYWxpZ25tZW50IGFuZCBtZW1jbXBfbm90X2NvbW1vbl9hbGlnbm1lbnQgZGVmaW5pdGlvbi4KCgkqIGludGwvbG9jYWxlYWxpYXMuYyAocmVhZF9hbGlhc19maWxlKTogRGV0ZXJtaW5lIHdoZXRoZXIgbGluZSBpcwoJcmVhZCBpbmNvbXBsZXRlbHkgZWFybHksIGJlZm9yZSB3ZSBtb2RpZnkgdGhlIGxpbmUuCgoyMDAzLTA2LTE3ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjNjQvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9yZWxhKQoJPGNhc2UgUl9QUEM2NF9EVFBSRUw2ND46IERvbid0IHNlZ2ZhdWx0IG9uIHVuZGVmaW5lZCBzeW1ib2xzLgoKMjAwMy0wNi0xNyAgUGF1bCBNYWNrZXJyYXMgIDxwYXVsdXNAc2FtYmEub3JnPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjMzIvZ2V0Y29udGV4dC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjMzIvbWFrZWNvbnRleHQuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzMyL3NldGNvbnRleHQuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzMyL3N3YXBjb250ZXh0LlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGMzMi91Y29udGV4dF9pLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3N5cy91Y29udGV4dC5oOiBBZGp1c3QuCgoyMDAzLTA2LTE3ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHBvc2l4L3JlZ2NvbXAuYyAoYnVpbGRfd29yZF9vcCk6IFVzZSBhbG51bSBpbnN0ZWFkIG9mIGFscGhhIGNsYXNzLgoKMjAwMy0wNi0xNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvY2xvY2tfbmFub3NsZWVwLmMgKGNsb2NrX25hbm9zbGVlcCk6IG5hbm9zbGVlcAoJdGFrZXMgY2FyZSBvZiBlbmFibGluZyBjYW5jZWxsYXRpb24uCgoJKiBzeXNkZXBzL3B0aHJlYWQvYWlvX3N1c3BlbmQuYyAoYWlvX3N1c3BlbmQpOiBNYWtlIGFpb19zdXNwZW5kCgljYW5jZWxhYmxlLiAgSXQncyBub3QgY29ycmVjdCB0byBkaXNhYmxlIGNhbmNlbGxhdGlvbi4gIEluc3RlYWQgb2YKCWEgY2xlYW51cCBoYW5kbGVyLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2lndGltZWR3YWl0LmM6IElmIFNJR0NBTkNFTCBpcyBkZWZpbmVkCglhbmQgcGFydCBvZiB0aGUgaW5jb21pbmcgc2V0LCBjcmVhdGUgYSB0ZW1wb3Jhcnkgc2V0IHdpdGhvdXQgdGhpcwoJc2lnbmFsLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaWd3YWl0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaWd3YWl0aW5mby5jOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NsZWVwLmM6IFVzZSBDQU5DRUxMQVRJT05fUCBpZiBkZWZpbmVkIGJlZm9yZQoJcmV0dXJuaW5nIGJlY2F1c2Ugc2Vjb25kcz09MC4gIEFkZCBfX2J1aWx0aW5fZXhwZWN0LgoKMjAwMy0wNi0xNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3NvY2tldC5TOiBBZGQgdW53aW5kIGluZm9ybWF0aW9uLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvd2FpdC5jIChfX2xpYmNfd2FpdCk6IEZpeCB0eXBlIG9mIHJlc3VsdAoJdmFyaWFibGUuCgoyMDAzLTA2LTE2ICBUaG9yc3RlbiBLdWt1ayAgPGt1a3VrQHN1c2UuZGU+CgoJKiBpbmNsdWRlL2xpYmMtc3ltYm9scy5oOiBBZGQgc3RhdGljX2xpbmtfd2FybmluZyBtYWNyby4KCSogZ3JwL2luaXRncm91cHMuYzogUHJpbnQgbGlua2VyIHdhcm5pbmcgaWYgdGhpcyBmdW5jdGlvbgoJaXMgY2FsbGVkIGluIGEgc3RhdGljIGxpbmtlZCBiaW5hcnkuCgkqIG5zcy9nZXRYWGJ5WVkuYzogTGlrZXdpc2UuCgkqIG5zcy9nZXRYWGJ5WVlfci5jOiBMaWtld2lzZS4KCSogbnNzL2dldFhYZW50LmM6IExpa2V3aXNlLgoJKiBuc3MvZ2V0WFhlbnRfci5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3NpeC9nZXRhZGRyaW5mby5jOiBMaWtld2lzZS4KCjIwMDMtMDYtMTYgIEJydW5vIEhhaWJsZSAgPGJydW5vQGNsaXNwLm9yZz4KCgkqIGljb252ZGF0YS9nY29udi1tb2R1bGVzIChJU08tODg1OS0xNSk6IEFkZCBhbGlhc2VzIElTT184ODU5LTE1LAoJTEFUSU4tOS4KCShJU08tODg1OS0xNik6IEFkZCBhbGlhc2VzIElTT184ODU5LTE2OjIwMDEsIElTT184ODU5LTE2LgoJKElCTTEwNDcpOiBBZGQgYWxpYXMgSUJNLTEwNDcuCgkoR0JLKTogQWRkIGFsaWFzZXMgTVM5MzYsIFdJTkRPV1MtOTM2LgoKMjAwMy0wNi0xNiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94c3RhdGNvbnYuYyAoX194c3RhdF9jb252KTogRGVmaW5lIGV2ZW4gaWYKCWRlZmluZWQgX19BU1NVTUVfU1RBVDY0X1NZU0NBTEwgJiYgZGVmaW5lZCBYU1RBVF9JU19YU1RBVDY0LgoJKF9feHN0YXQ2NF9jb252KTogQ2hhbmdlIHhzdGF0X2NvbnYgdG8gX194c3RhdF9jb252LgoKMjAwMy0wNi0xNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvaXNvLTYzOS5kZWY6IFVwZGF0ZSBmcm9tIGN1cnJlbnQgb2ZmaWNpYWwgSVNPIDYzOS4KCgkqIG1hdGgvdGdtYXRoLmggKF9fVEdNQVRIX1VOQVJZX0lNQUdfT05MWSk6IFJlbW92ZWQuCgoyMDAzLTA2LTE1ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL2kzODYvZnB1L2ZlZW5hYmx4Y3B0LmMgKGZlZW5hYmxlZXhjZXB0KTogQ29ycmVjdCBzZXR0aW5nCglvZiBNWENTUi4KCSogc3lzZGVwcy9pMzg2L2ZwdS9mZWRpc2JseGNwdC5jIChmZWRpc2FibGVleGNlcHQpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2ZwdS9mZWhvbGRleGNwdC5jIChmZWhvbGRleGNlcHQpOiBMaWtld2lzZS4KCVJlcG9ydGVkIGJ5IEFybmF1ZCBEZXNpdHRlciA8YXJuYXVkLmRlc2l0dGVyQGdlb2dyYXBoeS5veGZvcmQuYWMudWs+LgoKCSogbWF0aC90Z21hdGguaCAoY2FyZyk6IEhhbmRsZSByZWFsIGFyZ3VtZW50cy4KCShjb25qKTogTGlrZXdpc2UuCgkoY3Byb2opOiBMaWtld2lzZS4KCShjaW1hZyk6IExpa2V3aXNlLgoJKGNyZWFsKTogTGlrZXdpc2UuCgoJKiBtYXRoL01ha2VmaWxlIChDRkxBR1MtdGVzdC10Z21hdGgtcmV0LmMpOiBOZXcuCgkodGVzdHMpOiBBZGQgdGVzdC10Z21hdGgtcmV0LgoJKiBtYXRoL3Rlc3QtdGdtYXRoLXJldC5jOiBOZXcgZmlsZS4KCgkqIG1hdGgvdGdtYXRoLmggKGlsb2diKTogUmV0dXJuIGFsd2F5cyBhbiBpbnQuCgoyMDAzLTA2LTE2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9ydGxkLmMgKGRsX21haW4pOiBVc2UgbF9tYXBfc3RhcnQgbm90IGxfYWRkciBpbiBQaGRyCgljb21wdXRhdGlvbiBzbyB0aGF0IHByZWxpbmtpbmcgd29ya3MuCgoyMDAzLTA2LTE1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9kbC1pdGVyYXRlcGhkci5jIChfX2RsX2l0ZXJhdGVfcGhkcik6IERvbid0IHNraXAgZHluYW1pYwoJbGlua2VyJ3MgbWFwLgoJKiBlbGYvcnRsZC5jIChkbF9tYWluKTogSW5pdGlhbGl6ZSBsX3BoZHIgYW5kIGxfcGhudW0gb2Ygb2YgdGhlCglkeW5hbWljIGxpbmtlcidzIG1hcC4KCglGaXggY2FuY2VsbGF0aW9uIHBvaW50IGhhbmRsaW5nIHdydCBleGNlcHRpb24gYmFzZWQgY2xlYW51cC4KCSogaW8vTWFrZWZpbGU6IENvbXBpbGUgZmNudGwuYywgcG9sbC5jLCBhbmQgbG9ja2YuYyB3aXRoIGV4Y2VwdGlvbnMuCgkqIG1pc2MvTWFrZWZpbGU6IENvbXBpbGUgcHNlbGVjdC5jLCByZWFkdi5jLCB3cml0ZXYuYywgYW5kIHVzbGVlcC5jCgl3aXRoIGV4Y2VwdGlvbnMuCgkqIHBvc2l4L01ha2VmaWxlOiBDb21waWxlIHByZWFkLmMsIHByZWFkNjQuYywgcHdyaXRlLmMsIHB3cml0ZTY0LmMsCglzbGVlcC5jLCB3YWl0LmMsIHdhaXRpZC5jLCBhbmQgd2FpdHBpZC5jIHdpdGggZXhjZXB0aW9ucy4KCSogcnQvTWFrZWZpbGU6IENvbXBpbGUgYWlvX3N1c3BlbmQuYyBhbmQgY2xvY2tfbmFub3NsZWVwLmMgd2l0aAoJZXhjZXB0aW9ucy4KCSogc2lnbmFsL01ha2VmaWxlOiBDb21waWxlIHNpZ3BhdXNlLmMsIHNpZ3N1c3BlbmQuYywgc2lndGltZWR3YWl0LmMsCglzaWd3YWl0LmMsIGFuZCBzaWd3YWl0aW5mby5jIHdpdGggZXhjZXB0aW9ucy4KCSogc3RkbGliL01ha2VmaWxlOiBDb21waWxlIHN5c3RlbS5jIHdpdGggZXhjZXB0aW9ucy4KCSogc3lzdmlwYy9NYWtlZmlsZTogQ29tcGlsZSBtc2dyY3YuYyBhbmQgbXNnc25kLmMgd2l0aCBleGNlcHRpb25zLgoJKiB0ZXJtaW9zL01ha2VmaWxlOiBDb21waWxlIHRjZHJhaW4uYyB3aXRoIGV4Y2VwdGlvbnMuCgkqIHN5c2RlcHMvZ2VuZXJpYy9sb2NrZi5jOiBBZGQgY29tbWVudCBleHBsYWluaW5nIHRoZSBjYW5jZWxsYXRpb24KCXNpdHVhdGlvbi4KCSogc3lzZGVwcy9nZW5lcmljL3BzZWxlY3QuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG9zaXgvc2lncGF1c2UuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG9zaXgvc3lzdGVtLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvc2l4L3dhaXRpZC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2xlZXAuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3VzbGVlcC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zeXNkZXAuaDogTWFqb3IgcmV3cml0ZSBvZgoJSU5URVJOQUxfU1lTQ0FMTCB0byBub3QgdXNlIHB1c2ggaW5zaWRlIGFzbSBzdGF0ZW1lbnQgc28gdGhhdAoJdW53aW5kIGluZm8gaXMgY29ycmVjdCBhcm91bmQgdGhlIHN5c2NhbGwuCgkqIHN5c2RlcHMvdW5peC9jbG9ja19uYW5vc2xlZXAuYzogQWRkIGNhbmNlbGxhdGlvbiBzdXBwb3J0LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jbG9ja19uYW5vc2xlZXAuYzogTGlrZXdpc2UuCgoyMDAzLTA2LTE1ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3g4Nl82NC9kbC1tYWNoaW5lLmggKEVMRl9NQUNISU5FX1JVTlRJTUVfVFJBTVBPTElORSk6CglBZGQgQ0ZJIGRpcmVjdGl2ZXMuCgoyMDAzLTA2LTE1ICBHdWlkbyBHdWVudGhlciAgPGFneEBzaWd4Y3B1Lm9yZz4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvTWFrZWZpbGU6IEFkZCBtaXNzaW5nIGVuZGlmIGFuZAoJY3JlYXRlICQob2JqcGZ4KS4KCjIwMDMtMDYtMTQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY2hlY2tfcGYuYyAoX19jaGVja19wZik6IFVzZSBfX2Nsb3NlLAoJbm90IGNsb3NlLgoKCSogaW5ldC9pbmV0Nl9vcHRpb24uYyAoaW5ldDZfb3B0aW9uX2FsbG9jKTogQWRkIGxpYmNfaGlkZGVuX2RlZi4KCSogaW5jbHVkZS9uZXRpbmV0L2luLmggKGluZXQ2X29wdGlvbl9hbGxvYyk6IEFkZCBsaWJjX2hpZGRlbl9wcm90bwoJZGVmaW5pdGlvbi4KCgkqIGluZXQvbmV0aW5ldC9pcDYuaCAoSVA2T1BUX1BBRDEsIElQNk9QVF9QQUROKTogRGVmaW5lLgoJKiBpbmV0L25ldGluZXQvaW4uaDogQWRkIHByb3RvdHlwZXMgZm9yIGluZXQ2X29wdGlvbl8qIGZ1bmN0aW9ucy4KCSogaW5ldC9NYWtlZmlsZSAocm91dGluZXMpOiBBZGQgaW5ldDZfb3B0aW9uLgoJKiBpbmV0L2luZXQ2X29wdGlvbi5jOiBOZXcgZmlsZS4KCSogaW5ldC9WZXJzaW9ucyBbR0xJQkNfMi4zLjNdIChsaWJjKTogQWRkIGluZXQ2X29wdGlvbl9zcGFjZSwKCWluZXQ2X29wdGlvbl9pbml0LCBpbmV0Nl9vcHRpb25fYXBwZW5kLCBpbmV0Nl9vcHRpb25fYWxsb2MsCglpbmV0Nl9vcHRpb25fbmV4dCwgYW5kIGluZXQ2X29wdGlvbl9maW5kLgoKMjAwMy0wNi0xMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpbmV0L25ldGluZXQvaXA2LmggKHN0cnVjdCBpcDZfZXh0KTogRGVmaW5lLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3BhcmFtLmggKGhvd21hbnkpOiBPcHRpbWl6ZSBmb3IgZ2NjLgoKCUZpeGluZyBnY2MgMy4zIHdhcm5pbmdzLCBwYXJ0IElJLgoJKiBhcmdwL2FyZ3AtaGVscC5jIChob2xfZW50cnlfbG9uZ19pdGVyYXRlKTogQWx3YXlzIGlubGluZS4KCSogZWxmL2RsLWxvYWQuYyAoY2FjaGVfcnBhdGgpOiBEb24ndCBpbmxpbmUuCgkqIGljb252ZGF0YS9jbnMxMTY0MmwyLmg6IEFsd2F5cyBpbmxpbmUgYWxsIGZ1bmN0aW9ucy4KCSogaWNvbnZkYXRhL2lzby1pci0xNjUuaDogTGlrZXdpc2UuCgkqIGxvY2FsZS9NYWtlZmlsZSAoYXV4KTogQWRkIGNvbGwtbG9va3VwLgoJKiBsb2NhbGUvY29sbC1sb29rdXAuYzogTmV3IGZpbGUuCgkqIGxvY2FsZS9jb2xsLWxvb2t1cC5oIChjb2xsaWR4X3RhYmxlX2xvb2t1cCk6IERvIG5vdCBkZWZpbmUgaGVyZS4KCShjb2xsc2VxX3RhYmxlX2xvb2t1cCk6IExpa2V3aXNlLgoJKiBsb2NhbGUvd2VpZ2h0d2MuaDogQWRqdXN0IGNvbGxpZHhfdGFibGVfbG9va3VwIGNhbGxzIGZvciBuYW1lIGNoYW5nZS4KCSogcG9zaXgvZm5tYXRjaF9sb29wLmM6IEFkanVzdCBjb2xsc2VxX3RhYmxlX2xvb2t1cCBjYWxscyBmb3IgbmFtZQoJY2hhbmdlLgoJKiBwb3NpeC9yZWdjb21wLmM6IExpa2V3aXNlLgoJKiBwb3NpeC9yZWdleGVjLmM6IExpa2V3aXNlLgoJKiBsb2NhbGUvcHJvZ3JhbXMvM2xldmVsLmggKCpfZ2V0KTogQWx3YXlzIGlubGluZS4KCSogbG9jYWxlL3Byb2dyYW1zL2xvY2ZpbGUuaDogTW92ZSBkZWZpbml0aW9uIG9mIGhhbmRsZV9jb3B5IHRvLi4uCgkqIGxvY2FsZS9wcm9ncmFtcy9sb2NmaWxlLmM6IC4uLmhlcmUuCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jb2xsYXRlLmMgKG9ic3RhY2tfaW50MzJfZ3Jvdyk6IEFsd2F5cyBpbmxpbmUuCgkob2JzdGFja19pbnQzMl9ncm93X2Zhc3QpOiBMaWtld2lzZS4KCSh1dGY4X2VuY29kZSk6IExpa2V3aXNlLgoJKGZpbmRfZWxlbWVudCk6IEF2b2lkIGFsaWFzaW5nIHByb2JsZW1zLgoJKGluc2VydF92YWx1ZSk6IExpa2V3aXNlLgoJKGNvbGxhdGVfcmVhZCk6IExpa2V3aXNlLgoJKiBuc3MvZ2V0ZW50LmMgKHByaW50X2hvc3RzKTogRG9uJ3QgaW5saW5lCgkocHJpbnRfbmV0d29ya3MpOiBMaWtld2lzZS4KCShwcmludF9zaGFkb3cpOiBMaWtld2lzZS4KCShidWlsZF9kb2MpOiBMaWtld2lzZS4KCSogbnNzL25zc19maWxlcy9maWxlcy1wYXJzZS5jIFtFTlREQVRBXSAocGFyc2VyX3N0Y2xhc3MpOiBEb24ndAoJaW5saW5lLgoJKiBwb3NpeC9yZWdjb21wLmMgKHJlX3NldF9mYXN0bWFwKTogQWx3YXlzIGlubGluZS4KCShzZWVrX2NvbGxhdGluZ19zeW1ib2xfZW50cnkpOiBMaWtld2lzZS4KCShsb29rdXBfY29sbGF0aW9uX3NlcXVlbmNlX3ZhbHVlKTogTGlrZXdpc2UuCgkoYnVpbGRfcmFuZ2VfZXhwKTogTGlrZXdpc2UuCgkoYnVpbGRfY29sbGF0aW5nX3N5bWJvbCk6IExpa2V3aXNlLgoJKiBwb3NpeC9yZWdleGVjLmMgKGFjcXVpcmVfaW5pdF9zdGF0ZV9jb250ZXh0KTogRG9uJ3QgaW5saW5lLgoJKGNsZWFuX3N0YXRlX2xvZ19pZl9uZWVkKTogTGlrZXdpc2UuCgkqIHJlc29sdi9yZXNfc2VuZC5jIChlQ29uc0lvdmVjKTogUmV3cml0ZSB0byBub3QgcmV0dXJuIHN0cnVjdCBhbmQKCWFkanVzdCBhbGwgY2FsbGVycy4KCShldkNvbnNUaW1lKTogTGlrZXdpc2UuCgkoZXZBZGRUaW1lKTogTGlrZXdpc2UuCgkoZXZTdWJUaW1lKTogTGlrZXdpc2UuCgkoZXZOb3dUaW1lKTogTGlrZXdpc2UuCgkoZXZUaW1lU3BlYyk6IFJlbW92ZWQuCgkoX19saWJjX3Jlc19uc2VuZCk6IEF2b2lkIGFsaWFzaW5nIHByb2JsZW0uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lmcmVxLmg6IE1vdmUgb2xkX3Npb2NnaWZjb25mIGRlZmluaXRpb24gdG8uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pZnJlcS5jOiAuLi5oZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2RsLXByb2NpbmZvLmggKF9kbF9zdHJpbmdfaHdjYXApOgoJQWx3YXlzIGlubGluZS4KCShfZGxfc3RyaW5nX3BsYXRmb3JtKTogTGlrZXdpc2UuCgkqIHdjdHlwZS93Y2hhci1sb29rdXAuaCAod2N0eXBlX3RhYmxlX2xvb2t1cCk6IEFsd2F5cyBpbmxpbmUuCgkod2N3aWR0aF90YWJsZV9sb29rdXApOiBMaWtld2lzZS4KCSh3Y3RyYW5zX3RhYmxlX2xvb2t1cCk6IExpa2V3aXNlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL2Vwb2xsLmg6IEluY2x1ZGUgPHN0ZGludC5oPi4KCjIwMDMtMDYtMTIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogd2NzbWJzL3djaGFyLmg6IERlZmluZSB3aW50X3QgaW4gc3RkIG5hbWVzcGFjZSwgdG9vIFtQUiBsaWJjLzUwMzRdLgoKMjAwMy0wNS0yOSAgSmltIE1leWVyaW5nICA8amltQG1leWVyaW5nLm5ldD4KCgkqIHRpbWUvc3RyZnRpbWUuYyAobXlfc3RyZnRpbWUpIFshZGVmaW5lZCBfTkxfQ1VSUkVOVAoJJiYgSEFWRV9TVFJGVElNRV06IFVzZSB1bmRlcmx5aW5nX3N0cmZ0aW1lIGZvciAlci4KCVN1Z2dlc3RlZCBieSBEYW5pZWwgWWFjb2IgPGxvY2FsZXNAZ2Vlei5vcmc+LgoKMjAwMy0wNi0xMiAgU3RldmVuIE11bnJvZSAgPHNqbXVucm9lQHVzLmlibS5jb20+CgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzY0L2RsLW1hY2hpbmUuaCAoUlRMRF9TVEFSVCk6IFJlcGxhY2UKCUBnb3Qgbm90YXRpb24gd2l0aCBAdG9jLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzY0L3N5c2RlcC5oIChDQUxMX01DT1VOVCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGM2NC9icmsuUyAoX19icmspOiBMaWtld2lzZS4KCjIwMDMtMDYtMTIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9wb3NpeC9nZXRhZGRyaW5mby5jIChnYWloX2luZXQpOiBTZXQgbm9faW5ldDZfZGF0ZSBhbHNvCglpZiBvbmx5IFBGX0lORVQgYWRkcmVzcyBpcyBuZWVkZWQuCgoJKiBuc3MvZ2V0WFhieVlZX3IuYzogTWFrZSBzdXJlIHdlIGFsd2F5cyByZXR1cm4gYSBub256ZXJvIHZhbHVlIGluCgljYXNlIG9mIGFuIGVycm9yLgoKCSogc2NyaXB0cy9jb25maWcuZ3Vlc3M6IFVwZGF0ZSBmcm9tIHVwc3RyZWFtIHZlcnNpb24uCgkqIHNjcmlwdHMvY29uZmlnLnN1YjogTGlrZXdpc2UuCgoyMDAzLTA2LTEyICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC10aW1lLmMgKHRpbWVfb3V0cHV0KTogQWxzbyBjb3B5IHRoZSBlcmEgZm9ybWF0LAoJbm90IG9ubHkgdGhlIG5hbWUuCgoyMDAzLTA2LTEyICBILkouIEx1ICA8aG9uZ2ppdS5sdUBpbnRlbC5jb20+CgoJKiBwb3NpeC90cmFuc2J1Zy5jIChydW5fdGVzdCk6IFJldHVybiAxIGZvciBmYWlsdXJlLgoJKGRvX3Rlc3QpOiBDb21wYXJlIG9ubHkgaWYgcnVuX3Rlc3QgaXMgc3VjY2Vzc2Z1bC4KCjIwMDMtMDYtMTIgIFNpbW9uIEpvc2Vmc3NvbiAgPGphc0BleHR1bmRvLmNvbT4KCgkqIGFyZ3AvYXJncC5oIFshX19USFJPV106IERlZmluZSBpZiB1bmRlZmluZWQuCgoyMDAzLTA2LTEyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2NyaXMvc3lzZGVwLmg6IEZpeCBoYW5kbGluZyBvZiBzeXNjYWxscyB3aXRoCgltb3JlIHRoYW4gZm91ciBwYXJhbWV0ZXJzLgoJUGF0Y2ggYnkgVXdlIFJlaW1hbm4gPGxpYmMtYWxwaGFAcHVsc2FyLmhvbWVsaW51eC5uZXQ+LgoKMjAwMy0wNi0xMiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2tlcm5lbF9zdGF0Lmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQva2VybmVsX3N0YXQuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9rZXJuZWxfc3RhdC5oOiBOZXcgZmlsZS4KCgkqIHN0ZGlvLWNvbW1vbi9wcmludGYtcGFyc2VtYi5jOiBJbmNsdWRlIHN0ZGxpYi5oIGFuZCBzeXMvcGFyYW0uaC4KCjIwMDMtMDYtMTIgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBNYWtlcnVsZXMgKCQob2JqcGZ4KXN0dWJzKTogUmV3cml0ZSBzZWQgbWFnaWMuCgoyMDAzLTAyLTI4ICBJc2FtdSBIYXNlZ2F3YSAgPGlzYW11QHlhbWF0by5pYm0uY29tPgoKCSogcG9zaXgvcmVnY29tcC5jIChwYXJzZV9leHByZXNzaW9uKTogRGVsaXZlciB0cmFuc2xhdGlvbiB0bwoJYnVpbGRfd29yZF9vcCwgYW5kIGJ1aWxkX2NoYXJjbGFzcy4KCShidWlsZF9jaGFyY2xhc3MpOiBBcHBseSB0cmFuc2xhdGlvbiBmb3IgY2hhcmFjdGVyIGNsYXNzZXMgdG9vLgoJKGJ1aWxkX3dvcmRfb3ApOiBEZWxpdmVyIHRyYW5zbGF0aW9uIHRvIGJ1aWxkX2NoYXJjbGFzcy4KCSogcG9zaXgvdHJhbnNidWcuYzogTmV3IGZpbGUuCgkqIHBvc2l4L01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0cmFuc2J1Zy4KCjIwMDMtMDYtMDQgIFBhb2xvIEJvbnppbmkgIDxib256aW5pQGdudS5vcmc+CgoJKiBwb3NpeC9yZWdleGVjLmMgKGdyb3VwX25vZGVzX2ludG9fREZBc3RhdGVzKTogQ2hlY2sgZm9yCglORVhUX0VOREJVRl9DT05TVFJBSU5ULiAgTW92ZSBjaGVjayBmb3IgY29uc3RyYWludHMgd2hpY2ggZG8gYQoJJ2NvbnRpbnVlJyBiZWZvcmUgdGhlIG90aGVycy4KCjIwMDMtMDYtMTEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZGlyZW50L3NjYW5kaXIuYyAoU0NBTkRJUik6IFJlc2V0IGVycm5vIGFmdGVyIGNhbGxpbmcgc2VsZWN0b3IKCWZ1bmN0aW9uIFtQUiBsaWJjLzUwNDVdLgoKCSogc3lzZGVwcy9pMzg2L2JpdHMvYnl0ZXN3YXAuaCAoX19ic3dhcF8zMik6IFVzZSBic3dhcCBpbnN0cnVjdGlvbgoJYWxzbyBmb3IgUDQuCgoJKiB0aW1lL3R6ZmlsZS5jOiBBZGQgYSBjb3VwbGUgb2YgX19idWlsdGluX2V4cGVjdC4KCglSZW1vdmUgd2FybmluZ3MgZ2NjIDMuMyBzaG93cy4KCSogYXJncC9hcmdwLWhlbHAuYyAoaG9sX2VudHJ5X3Nob3J0X2l0ZXJhdGUpOiBEb24ndCBpbmxpbmUuCgkqIGVsZi9kbC1sb2FkLmMgKGZpbGxpbl9ycGF0aCk6IExpa2V3aXNlLgoJKGFkZF9wYXRoKTogTGlrZXdpc2UuCgkqIGVsZi9kbC12ZXJzaW9uLmMgKGZpbmRfbmVlZGVkKTogQWx3YXlzIGlubGluZS4KCSogZWxmL2RvLWxvb2t1cC5jIChGQ1QpOiBEb24ndCBpbmxpbmUuCgkqIGljb252L01ha2VmaWxlOiBFeHRlbmQgdnBhdGggdG8gaW50bCBzdWJkaXIuCgkoaWNvbnZjb25maWctbW9kdWxlcyk6IEFkZCBoYXNoLXN0cmluZy4KCSogaWNvbnYvZ2NvbnZfY2hhcnNldC5oIChzdHJpcCk6IERvbid0IGlubGluZS4KCSh1cHN0cik6IEFsd2F5cyBpbmxpbmUuCglNb3ZlIF9fZ2NvbnZfY29tcGFyZV9hbGlhcyBwcm90b3R5cGUgdG8uLi4KCSogaWNvbnYvZ2NvbnZfaW50Lmg6IC4uLmhlcmUuCgkqIGljb252L2djb252X2RiLmM6IERvbid0IGluY2x1ZGUgZ2NvbnZfY2hhcnNldC5oLgoJKiBpY29udi9nY29udl9jb25mLmMgKGFkZF9hbGlhcyk6IERvbid0IGlubGluZS4KCShpbnNlcnRfbW9kdWxlKTogTGlrZXdpc2UuCgkqIGljb252L2djb252X3NpbXBsZS5jIChpbnRlcm5hbF91Y3M0X2xvb3ApOiBBbHdheXMgaW5saW5lLgoJKGludGVybmFsX3VjczRfbG9vcF91bmFsaWduZWQpOiBMaWtld2lzZS4KCShpbnRlcm5hbF91Y3M0X2xvb3Bfc2luZ2xlKTogTGlrZXdpc2UuCgkodWNzNF9pbnRlcm5hbF9sb29wKTogTGlrZXdpc2UuCgkodWNzNF9pbnRlcm5hbF9sb29wX3VuYWxpZ25lZCk6IExpa2V3aXNlLgoJKHVjczRfaW50ZXJuYWxfbG9vcF9zaW5nbGUpOiBMaWtld2lzZS4KCShpbnRlcm5hbF91Y3M0bGVfbG9vcCk6IEFsd2F5cyBpbmxpbmUuCgkoaW50ZXJuYWxfdWNzNGxlX2xvb3BfdW5hbGlnbmVkKTogTGlrZXdpc2UuCgkoaW50ZXJuYWxfdWNzNGxlX2xvb3Bfc2luZ2xlKTogTGlrZXdpc2UuCgkodWNzNGxlX2ludGVybmFsX2xvb3ApOiBMaWtld2lzZS4KCSh1Y3M0bGVfaW50ZXJuYWxfbG9vcF91bmFsaWduZWQpOiBMaWtld2lzZS4KCSh1Y3M0bGVfaW50ZXJuYWxfbG9vcF9zaW5nbGUpOiBMaWtld2lzZS4KCSogaWNvbnYvbG9vcC5jOiBBbHdheXMgaW5saW5lIHRoZSBkZWZpbmVkIGZ1bmN0aW9ucy4KCSogaWNvbnZkYXRhL2NuczExNjQyLmg6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvY25zMTE2NDJsMS5oOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2V1Yy1rci5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2diMjMxMi5oOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2ppczAyMDEuaDogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9qaXMwMjA4Lmg6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvamlzMDIxMi5oOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2ppc3gwMjEzLmg6IExpa2V3aXNlLgoJKiBpY29udmRhdGEva3NjNTYwMS5oOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL3V0Zi03LmMgKGJhc2U2NCk6IERvbid0IGlubGluZS4KCSogaW5jbHVkZS9saWJjLXN5bWJvbHMuaCAoc3ltYm9sX3NldF9maXJzdF9lbGVtZW50KTogQWRkIGNhc3QKCShzeW1ib2xfc2V0X2VuZF9wKTogTGlrZXdpc2UuCgkqIGluY2x1ZGUvc2V0LWhvb2tzIChSVU5fSE9PSyk6IExpa2V3aXNlLgoJKiBpbmV0L01ha2VmaWxlIChhdXgpOiBBZGQgaWZyZXEuCgkqIGludGwvTWFrZWZpbGUgKGF1eCk6IEFkZCBzb21lIGVudHJpZXMgZnJvbSByb3V0aW5lcy4gIEFkZAoJaGFzaC1zdHJpbmcuCgkqIGludGwvaGFzaC1zdHJpbmcuYzogTmV3IGZpbGUuCgkqIGludGwvaGFzaC1zdHJpbmcuaDogUmVtb3ZlIGhhc2hfc3RyaW5nIGRlZmluaXRpb24uICBEZWNsYXJlCglfX2hhc2hfc3RyaW5nLgoJKiBpY29udi9nY29udl9jYWNoZS5jIChmaW5kX21vZHVsZV9pZHgpOiBBZGp1c3QgaGFzaF9zdHJpbmcgY2FsbGVyLgoJKiBpY29udi9pY29udmNvbmZpZy5jIChuZXdfbmFtZSk6IExpa2V3aXNlLgoJKiBpbnRsL2RjaWdldHRleHQuYyAoX25sX2ZpbmRfbXNnKTogTGlrZXdpc2UuCgkqIGludGwvbG9hZG1zZ2NhdC5jIChfbmxfbG9hZF9kb21haW4pOiBMaWtld2lzZS4KCSogaW8vZnR3LmMgKG9wZW5fZGlyX3N0cmVhbSk6IEFsd2F5cyBpbmxpbmUuCgkocHJvY2Vzc19lbnRyeSk6IERvbid0IGlubGluZS4KCSogbG9jYWxlL2ZpbmRsb2NhbGUuYzogSW5jbHVkZSBnY29udl9pbnQuaC4KCSogbG9jYWxlL3NldGxvY2FsZS5jIChuZXdfY29tcG9zaXRlX25hbWUpOiBEb24ndCBpbmxpbmUuCgkqIGxvY2FsZS93ZWlnaHQuaCAoZmluZGlkeCk6IEFsd2F5cyBpbmxpbmUuCgkqIGxvY2FsZS93ZWlnaHR3Yy5oIChmaW5kaWR4KTogTGlrZXdpc2UuCgkqIGxvY2FsZS9wcm9ncmFtcy9saW5lcmVhZGVyLmMgKGxyX2lnbm9yZV9yZXN0KTogRGVmaW5lIGhlcmUuCgkqIGxvY2FsZS9wcm9ncmFtcy9saW5lcmVhZGVyLmggKGxyX2lnbm9yZV9yZXN0KTogRG9uJ3QgZGVmaW5lIGhlcmUsCglqdXN0IGRlY2xhcmUgaXQuCgkobHJfZ2V0Yyk6IEFsd2F5cyBpbmxpbmUuCgkobHJfdW5nZXRjKTogTGlrZXdpc2UuCgkqIG5zcy9uc3NfZmlsZXMvZmlsZXMtcGFyc2UuYyAocGFyc2VfbGlzdCk6IExpa2V3aXNlLgoJKiBzdGRpby1jb21tb24vTWFrZWZpbGUgKGF1eCk6IEFkZCBwcmludGYtcGFyc2VtYiBhbmQKCXByaW50Zi1wYXJzZXdjLgoJKiBzdGRpby1jb21tb24vX2l0b2EuaCAoX2l0b2Ffd29yZCk6IEFsd2F5cyBpbmxpbmUuCgkoX2ZpdG9hX3dvcmQsIF9maXRvYSk6IERvbid0IGRlZmluZSBoZXJlLCBvbmx5IGRlY2xhcmUuCgkqIHN0ZGlvLWNvbW1vbi9faXRvYS5jIChfaWZ0b2Ffd29yZCk6IEFkZCBoZXJlLgoJKF9maXRvYSk6IExpa2V3aXNlLgoJKiBzdGRpby1jb21tb24vX2l0b3dhLmggKF9pdG93YV93b3JkKTogQWx3YXlzIGlubGluZS4KCSogc3RkaW8tY29tbW9uL3ByaW50Zi1wYXJzZS5oIChyZWFkX2ludCk6IERvbid0IGlubGluZS4KCShmaW5kX3NwZWMpOiBEb24ndCBkZWZpbmUuCglEZWNsYXJlIF9fZmluZF9zcGVjbWIgYW5kIF9fZmluZF9zcGVjd2MuCgkocGFyc2Vfb25lX3NwZWMpOiBEb24ndCBkZWZpbmUuCglEZWNsYXJlIF9fcGFyc2Vfb25lX3NwZWNtYiBhbmQgX19wYXJzZV9vbmVfc3BlY3djLgoJKiBzdGRpby1jb21tb24vcHJpbnRmLXBhcnNlbWIuYzogTmV3IGZpbGUuCgkqIHN0ZGlvLWNvbW1vbi9wcmludGYtcGFyc2V3Yy5jOiBOZXcgZmlsZS4KCSogc3RkaW8tY29tbW9uL3ZmcHJpbnRmLmM6IFVwZGF0ZSBjYWxscyB0byBmaW5kX3NwZWMgYW5kCglwYXJzZV9vbmVfc3BlYyBmb3IgbmV3IG5hbWVzLgoJKiBzdGRpby1jb21tb24vcHJpbnRmLXBycy5jOiBMaWtld2lzZS4gIERlZmluZSBET05UX05FRURfUkVBRF9JTlQuCgkqIHN0ZGxpYi9NYWtlZmlsZSAoYXV4KTogQWRkIGdyb3VwaW5nIGFuZCBncm91cGluZ3djLgoJKiBzdGRsaWIvZ3JvdXBpbmcuYzogTmV3IGZpbGUuCgkqIHN0ZGxpYi9ncm91cGluZ3djLmM6IE5ldyBmaWxlLgoJKiBzdGRsaWIvZ3JvdXBpbmcuaCAoY29ycmVjdGx5X2dyb3VwZWRfcHJlZml4KTogRG9uJ3QgZGVmaW5lIGhlcmUuCglKdXN0IHByb3RvdHlwZS4KCSogc3RkbGliL3JwbWF0Y2guYyAodHJ5KTogRG9uJ3QgaW5saW5lLgoJKiBzdGRsaWIvc3RydG9kLmMgKHJvdW5kX2FuZF9yZXR1cm4pOiBEb24ndCBsaW5lLgoJKHN0cl90b19tcG4pOiBMaWtld2lzZS4KCShfX21wbl9sc2hpZnRfMSk6IEFsd2F5cyBpbmxpbmUuICBPcHRpbWl6ZSBvbmx5IGZvciBjb25zdGFudCBjb3VudC4KCUFkanVzdCBmb3IgbmFtZSBjaGFuZ2Ugb2YgY29ycmVjdGx5X2dyb3VwZWRfcHJlZml4LgoJKiBzeXNkZXBzL2dlbmVyaWMvc3RydG9sLmM6IEFkanVzdCBmb3IgbmFtZSBjaGFuZ2Ugb2YKCWNvcnJlY3RseV9ncm91cGVkX3ByZWZpeC4KCSogc3RyaW5nL3N0cnhmcm0uYyAodXRmOF9lbmNvZGUpOiBEb24ndCBpbmxpbmUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1jYWNoZS5jOiBEZWZpbmUgX2RsX2NhY2hlX2xpYmNtcC4KCSogc3lzZGVwcy9nZW5lcmljL2RsLWNhY2hlLmg6IEp1c3QgZGVjbGFyZSBfZGxfY2FjaGVfbGliY21wLgoJKiBzeXNkZXBzL2dlbmVyaWMvaWZyZXEuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lmcmVxLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2dlbmVyaWMvaWZyZXEuaCAoX19pZnJlcSk6IE9ubHkgZGVjbGFyZSBoZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pZnJlcS5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmggKF9kbF9uYW1lX21hdGNoX3ApOiBBbHdheXMgaW5saW5lLgoJKiBzeXNkZXBzL2dlbmVyaWMvdW53aW5kLWR3Mi1mZGUuYyAoc3RhcnRfZmRlX3NvcnQpOiBEb24ndCBpbmxpbmUuCgkoZmRlX3NwbGl0KTogTGlrZXdpc2UuCgkoZmRlX21lcmdlKTogTGlrZXdpc2UuCgkoZW5kX2ZkZV9zb3J0KTogTGlrZXdpc2UuCgkoaW5pdF9vYmplY3QpOiBMaWtld2lzZS4KCShiaW5hcnlfc2VhcmNoX3VuZW5jb2RlZF9mZGVzKTogTGlrZXdpc2UuCgkoYmluYXJ5X3NlYXJjaF9zaW5nbGVfZW5jb2RpbmdfZmRlcyk6IExpa2V3aXNlLgoJKGJpbmFyeV9zZWFyY2hfbWl4ZWRfZW5jb2RpbmdfZmRlcyk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvd29yZGV4cC5jICh3X2FkZGNoYXIpOiBEb24ndCBpbmxpbmUuCgkqIHN5c2RlcHMvaTM4Ni9kbC1tYWNoaW5lLmMgKGVsZl9tYWNoaW5lX3J1bnRpbWVfc2V0dXApOiBBbHdheXMgaW5saW5lLgoJKiBzeXNkZXBzL3Bvc2l4L3Nwcm9maWwuYyAocHJvZmlsX2NvdW50KTogRG9uJ3QgaW5saW5lLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9NYWtlZmlsZSBbc3ViZGlyPWlvXSAoc3lzZGVwX3JvdXRpbmVzKToKCUFkZCB4c3RhdGNvbnYuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3hzdGF0Y29udi5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveHN0YXRjb252LmM6IERvbid0IGlubGluZSB0aGUgZnVuY3Rpb24uCglFeHBvcnQgdGhlbS4gIFByZXBlbmQgX18gdG8gbmFtZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvRGlzdDogQWRkIHhzdGF0Y29udi5oLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9meHN0YXQuYzogQWRqdXN0IGZvciBuYW1lIGNoYW5nZSBvZgoJY29udmVyc2lvbiBmdW5jdGlvbnMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2Z4c3RhdDY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9seHN0YXQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2x4c3RhdDY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94c3RhdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveHN0YXQ2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9meHN0YXQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvbHhzdGF0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3hzdGF0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wYXRoY29uZi5jIChfX3N0YXRmc19saW5rX21heCwKCV9fc3RhdGZzX2ZpbGVzaXplX21heCwgX19zdGF0ZnNfc3ltbGlua3MpOiBEZWZpbmUgaGVyZS4gIF9fIHByZXBlbmRlZAoJdG8gbmFtZS4gIENoYW5nZSBjYWxsZXJzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wYXRoY29uZi5oIChfX3N0YXRmc19saW5rX21heCwKCV9fc3RhdGZzX2ZpbGVzaXplX21heCwgX19zdGF0ZnNfc3ltbGlua3MpOiBEb24ndCBkZWZpbmUgaGVyZSwganVzdAoJZGVjbGFyZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZnBhdGhjb25mLmM6IENoYW5nZSBhbGwgY2FsbGVycy4KCSogdGltZS90emZpbGUuYyAoZGVjb2RlKTogQWx3YXlzIGlubGluZS4KCSogd2NzbWJzL3djc25ydG9tYnMuYzogQ2hhbmdlIHR5cGUgb2YgaW5idWYgdG8gdW5zaWduZWQgY2hhciouCglSZW1vdmUgY2FzdCBpbiB0b21iIGZ1bmN0aW9uIGNhbGwuCgkqIHdjc21icy93Y3NydG9tYnMuYyBMaWtld2lzZS4KCSogd2NzbWJzL3djc3RvYi5jOiBJbnRyb2R1Y2UgbmV3IHRlbXAgdmFyaWFibGUgdG8gdGFrZSBwb2ludGVyIGluCgl0b21iIGZ1bmN0aW9uIGNhbGwuCgoyMDAzLTA2LTEwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHBvL3poX0NOLnBvOiBVcGRhdGUgZnJvbSB0cmFuc2xhdGlvbiB0ZWFtLgoKMjAwMy0wNi0xMCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL2luLmggKElQVjZfVjZPTkxZLCBJUFY2X0pPSU5fQU5ZQ0FTVCwKCUlQVjZfTEVBVkVfQU5ZQ0FTVCwgSVBWNl9JUFNFQ19QT0xJQ1ksIElQVjZfWEZSTV9QT0xJQ1kpOiBEZWZpbmUuCgoyMDAzLTA2LTEwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGluZXQvTWFrZWZpbGUgKGF1eCk6IEFkZCBjaGVja19wZi4KCSogaW5jbHVkZS9pZmFkZHJzLmg6IEFkZCBwcm90b3R5cGUgZm9yIF9fY2hlY2tfcGYuCgkqIHN5c2RlcHMvZ2VuZXJpYy9jaGVja19wZi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY2hlY2tfcGYuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lmYWRkcnMuaCAoX19ub19uZXRsaW5rX3N1cHBvcnQpOiBSZW5hbWVkCglmcm9tIG5vX25ldGxpbmtfc3VwcG9ydC4gIEV4cG9ydC4KCSogc3lzZGVwcy9wb3NpeC9nZXRhZGRyaW5mby5jIChnZXRhZGRyaW5mbyk6IERvbid0IGNhbGwgZ2V0aWZhZGRycywKCWNhbGwgX19jaGVja19wZi4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9pZmFkZHJzLmg6IEFkZCBsaWJjX2hpZGRlbl9kZWYuCgoJKiBzeXNkZXBzL3Bvc2l4L2dldGFkZHJpbmZvLmMgKGdldGFkZHJpbmZvKTogRG9uJ3QgbGVhayBtZW1vcnkKCWZyb20gZ2V0aWZhZGRyIGNhbGxzLgoKMjAwMy0wNi0wOSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9rZXJuZWwtZmVhdHVyZXMuaAoJKF9fQVNTVU1FX1NFVFJFU0dJRF9TWVNDQUxMKTogRGVmaW5lLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zZXRlZ2lkLmM6IFVzZSBfX0FTU1VNRV9TRVRSRVNHSURfU1lTQ0FMTAoJaW5zdGVhZCBvZiBfX0FTU1VNRV9TRVRSRVNVSURfU1lTQ0FMTC4KCShzZXRlZ2lkKTogT25seSB1c2Ugc2V0cmVzZ2lkMzIgaW5saW5lIHN5c2NhbGwgaWYgX19OUl9zZXRyZXNnaWQzMiBpcwoJZGVmaW5lZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2V0ZXVpZC5jIChzZXRldWlkKTogT25seSB1c2Ugc2V0cmVzZ2lkMzIKCWlubGluZSBzeXNjYWxsIGlmIF9fTlJfc2V0cmVzdWlkMzIgaXMgZGVmaW5lZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zZXRlZ2lkLmMgKHNldGVnaWQpOiBVc2UKCV9fQVNTVU1FX1NFVFJFU0dJRF9TWVNDQUxMIGluc3RlYWQgb2YgX19BU1NVTUVfU0VUUkVTVUlEX1NZU0NBTEwuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc2V0cmVnaWQuYzogQmFja291dCBsYXN0IGNoYW5nZXMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc2V0cmV1aWQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjMzIvc2V0ZWdpZC5jIChzZXRlZ2lkKTogUHJvdGVjdAoJY29kZSBoYW5kbGluZyBub24tZXhpc3RhbnQgc2V0cmVzZ2lkMzIgc3lzY2FsbCB3aXRoCgkjaWYgX19BU1NVTUVfU0VUUkVTR0lEX1NZU0NBTEwgPT0gMC4KCjIwMDMtMDYtMDkgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzdW5ycGMvTWFrZWZpbGUgKGdlbmVyYXRlZCk6IFJlbW92ZSBycGMtcHJvdG8uYywgcnBjLXByb3RvLmQuCgkoJChycGNzdmM6JS54PSQob2JqcGZ4KXglJG8pKTogRG9uJ3QgZGVwZW5kIG9uCgkkKG9ianBmeClycGMtcHJvdG8uZC4KCShycGNzdmMtZHQtZmlsZXMsIHJwY3N2Yy1kZXBmaWxlcyk6IERlZmluZS4gIEluY2x1ZGUKCSQocnBjc3ZjLWRlcGZpbGVzKSBpbnN0ZWFkIG9mICQob2JqcGZ4KXJwYy1wcm90by5kLgoJKCQob2JqcGZ4KXJwYy1wcm90by5kLCAkKG9ianBmeClycGMtcHJvdG8uYyk6IFJlbW92ZSBydWxlcy4KCjIwMDMtMDYtMDggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2V0ZXVpZC5jIChzZXRldWlkKTogVXNlIHNldHJlc3VpZDMyCglzeXNjYWxsIGRpcmVjdGx5IGlmIHBvc3NpYmxlLiAgSWYgX19BU1NVTUVfU0VUUkVTVUlEX1NZU0NBTEwgaXMKCWRlZmluZWQgZHJvcCBjb21wYXRpYmlsaXR5IGNvZGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NldGVnaWQuYyAoc2V0ZWdpZCk6IFVzZSBzZXRyZXNnaWQzMgoJc3lzY2FsbCBkaXJlY3RseSBpZiBwb3NzaWJsZS4gIElmIF9fQVNTVU1FX1NFVFJFU1VJRF9TWVNDQUxMIGlzCglkZWZpbmVkIGRyb3AgY29tcGF0aWJpbGl0eSBjb2RlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3NldGV1aWQuYyAoc2V0ZXVpZCk6IFVzZQoJc2V0cmVzdWlkMzIgc3lzY2FsbCBkaXJlY3RseSBpZiBwb3NzaWJsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zZXRlZ2lkLmMgKHNldGVnaWQpOiBVc2UKCXNldHJlc2dpZDMyIHN5c2NhbGwgZGlyZWN0bHkgaWYgcG9zc2libGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc2V0cmVnaWQuYyAoX19zZXRyZWdpZCk6IE1ha2UgUE9TSVgKCWNvbXBsaWFudC4gIERvbid0IGNoYW5nZSBzZ2lkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3NldHJldWlkLmMgKF9fc2V0cmV1aWQpOiBNYWtlIFBPU0lYCgljb21wbGlhbnQuICBEb24ndCBjaGFuZ2Ugc3VpZC4KCgkqIGNvbmZpZy5oLmluOiBBZGQgaGF2ZS1mb3JjZWQtdW53aW5kLgoJKiBjb25maWd1cmUuaW46IEFkZCBBQ19TVUJTVChsaWJjX2N2X2ZvcmNlZF91bndpbmQpLgoKMjAwMy0wNi0wNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiB0ZXN0LXNrZWxldG9uLmMgKG1haW4pOiBJZiBFWFBFQ1RFRF9TVEFUVVMgaXMgZGVmaW5lZCBjaGVjayB0aGF0CglyZXR1cm5lZCBzdGF0dXMgZnJvbSBjaGlsZCBtYXRjaGVzLgoKCSogTWFrZWNvbmZpZyAoZ251bGliKTogQWRkIC1sZ2NjX2VoIG9uY2UgYWdhaW4uCgoyMDAzLTA2LTA2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHRlc3Qtc2tlbGV0b24uYyAobWFpbik6IFVzZSBURU1QX0ZBSUxVUkVfUkVUUlkgd2l0aCB3YWl0cGlkLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zeXNkZXAuaCAoQVNNRk1UXzIpOiBPbmx5IGFsbG93CgklZWR4IGZvciBmaXJzdCBwYXJhbWV0ZXIuICBUaGlzIG1lYW5zIG5vIHB1c2hsIGFuZCB0aGVyZWZvcmUgdGhlCgl1bndpbmQgaW5mbyBpc24ndCBzY3Jld2VkIHVwLgoKMjAwMy0wNi0wNCAgUmljaGFyZCBIZW5kZXJzb24gIDxydGhAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvYWxwaGEvZGwtbWFjaGluZS5oIChSVExEX1NUQVJUKTogRml4IHRvcC1vZi1zdGFjayBiYWNrdHJhY2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2Nsb25lLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2FscGhhL2VsZi9zdGFydC5TOiBMaWtld2lzZS4gIFJlbW92ZSBwb2ludGxlc3MgYWxsb2NhdGlvbi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvcnRfc2lnYWN0aW9uLlM6IFVzZSBzdGFuZGFyZCBsZGdwCgllbnRyeSBzZXF1ZW5jZSBhbmQgZXhwbGljaXQgcmVsb2NzLiAgQWRkIHVud2luZCBpbmZvIGZvciBzaWdyZXR1cm4KCWFuZCBydF9zaWdyZXR1cm4uCgkqIGNvbmZpZ3VyZS5pbiAobGliY19jdl9hc21fY2ZpX2RpcmVjdGl2ZXMpOiBUZXN0IC5jZmlfcmVtZW1iZXJfc3RhdGUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9zeXNjYWxscy5saXN0IChzZW10aW1lZG9wKTogTmV3LgoJQW5ub3RhdGUgc29tZSBwYXJhbWV0ZXJzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9zeXNkZXAuaCAoX19OUl9zZW10aW1lZG9wKTogTmV3LgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvZ2V0dGltZW9mZGF5LlM6IEZpeCB0eXBvIGluIGNvbnZlcnNpb24uCgoJKiBpbmNsdWRlL2xpYmMtc3ltYm9scy5oIChzeW1ib2xfc2V0X2RlY2xhcmUpOiBVc2UgYXJyYXlzCglvZiB1bnNwZWNpZmllZCBzaXplLgoKMjAwMy0wNi0wNCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBjb25maWcubWFrZS5pbiAoQVNGTEFHUy1jb25maWcpOiBOZXcuCgkqIE1ha2Vjb25maWcgKEFTRkxBR1MpOiBBcHBlbmQgJChBU0ZMQUdTLWNvbmZpZykuCgkqIGNvbmZpZ3VyZS5pbiAobGliY19jdl9hc19ub2V4ZWNzdGFjayk6IE5ldyBjaGVjay4KCShBU0ZMQUdTX2NvbmZpZyk6IFN1YnN0aXR1dGUuCgoyMDAzLTA2LTA0ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvaTM4Ni9mcHUvYml0cy9tYXRoaW5saW5lLmggKGxvZzFwLCBhc2luaCwgYWNvc2gsIGF0YW5oLAoJaHlwb3QsIGxvZ2IpOiBQcm90ZWN0IHdpdGggI2lmZGVmIF9fRkFTVF9NQVRIX18uCgoyMDAzLTA2LTA0ICBUaG9yc3RlbiBLdWt1ayAgPGt1a3VrQHN1c2UuZGU+CgoJKiBzeXNkZXBzL2kzODYvZnB1L2JpdHMvbWF0aGlubGluZS5oIChsZGV4cGYsIGxkZXhwbCk6IFByb3RlY3Qgd2l0aAoJI2lmZGVmIF9fRkFTVF9NQVRIX18uCgoyMDAzLTA2LTAzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9nbG9iLmMgW0hBVkVfRF9UWVBFXSAoZ2xvYl9pbl9kaXIpOiBBbHNvIGFsbG93CglEVF9MTksgZW50cmllcyBpZiBHTE9CX09OTFlESVIgaXMgc2V0IFtQUiBsaWJjLzUwNDNdLgoJKiBwb3NpeC9nbG9idGVzdC5zaDogQWRqdXN0IGZvciB0aGlzIGNoYW5nZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lmYWRkcnMuYyAobmV0bGlua19vcGVuKTogQ2FsbCBnZXRzb2NrbmFtZQoJdG8gZ2V0IHRoZSBhY3R1YWwgUElEIHZhbHVlIHVzZWQgaW4gdGhlIHJlY29yZHMgcGFzc2VkIHVwLgoJKGdldGlmYWRkcnMpOiBEb24ndCBpbml0aWFsaXplIG5oLnBpZCBoZXJlLgoKMjAwMy0wNi0wMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pZmFkZHJzLmMgKG5ldGxpbmtfcmVjZWl2ZSk6IE1pbm9yCglvcHRpbWl6YXRpb24uCgoJKiBwby96aF9DTi5wbzogVXBkYXRlIGZyb20gdHJhbnNsYXRpb24gdGVhbS4KCgkqIHBvc2l4L2dldGNvbmYuYyAobWFpbik6IEFsc28gcmVjb2duaXplIG5hbWVzIHdpdGhvdXQgdGhlCglfUE9TSVhfIHByZWZpeC4KCgkqIGVsZi9NYWtlZmlsZSAoQ0ZMQUdTLWRsLWxvb2t1cC5jKTogRGVmaW5lLgoKMjAwMy0wNi0wMiAgQmVybmQgU2NobWlkdCAgPGJlcm5kc0ByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9pMzg2L2ZwdS9iaXRzL21hdGhpbmxpbmUuaCAoc3FydCwgX19zcXJ0bCwgbGRleHAsCglsZGV4cGYsIGxkZXhwbCk6IE9ubHkgZGVmaW5lIGlmIF9fRkFTVF9NQVRIX18uCgoyMDAzLTA2LTAyICBSaWNoYXJkIEMuIEJpbHNvbiAgPHJjYmlsc29uQHBsZy51d2F0ZXJsb28uY2E+CgoJUmVwbGFjZSBoYXJkLWNvZGVkIG9mZnNldHMgaW50byBzdHJ1Y3Qgc2lnY29udGV4dCB3aXRoIGdlbmVyYXRlZCBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3NpZ2NvbnRleHQtb2Zmc2V0cy5zeW06IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L01ha2VmaWxlCglbJChzdWJkaXIpID0gc3RkbGliXSAoZ2VuLWFzLWNvbnN0LWhlYWRlcnMpOiBBZGQgaXQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvdWNvbnRleHRfaS5oOiBJbmNsdWRlIGl0IGluc3RlYWQgb2YKCWRlZmluaW5nIFNDXyogbWFjcm9zIGhlcmUuCgoyMDAzLTA2LTAyICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvc2NoZWQuaCAoQ0xPTkVfUElEKTogUmVtb3ZlLgoKMjAwMy0wNi0wMSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2kzODYvZGwtbWFjaGluZS5oOiBJbmNsdWRlIDxzeXNkZXAuaD4uCgoyMDAzLTA2LTAxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHRlc3Qtc2tlbGV0b24uYyAobWFpbik6IFJlcXVlc3QgZ2V0b3B0IHRvIG5vdCByZW9yZGVyIHRoZQoJY29tbWFuZCBsaW5lLgoKCSogZWxmL01ha2VmaWxlIChDRkxBR1MtZGwtcnVudGltZS5jKTogRGVmaW5lLgoKCSogd2NzbWJzL3djcG5jcHkuYyAoX193Y3BuY3B5KTogRml4IGJyb2tlbiBpbXBsZW1lbnRhdGlvbiB0byBtYXRjaAoJc3RwbmNweS4KCjIwMDMtMDUtMzEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9iaXRzL3NpZ2FjdGlvbi5oIChTQV9OT0NMRFdBSVQpOiBEZWZpbmUuCgoyMDAzLTA1LTMxICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjNjQvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9wbHRfY29uZmxpY3QpOgoJTmV3IGZ1bmN0aW9uLgoJKGVsZl9tYWNoaW5lX3JlbGEpIDxjYXNlIFJfUFBDNjRfSk1QX1NMT1Q+OiBBdm9pZAoJUkVTT0xWRV9DT05GTElDVF9GSU5EX01BUC4gIElmIFJFU09MVkVfQ09ORkxJQ1RfRklORF9NQVAgaXMgZGVmaW5lZCwKCWNhbGwgZWxmX21hY2hpbmVfcGx0X2NvbmZsaWN0IGluc3RlYWQgb2YgZWxmX21hY2hpbmVfZml4dXBfcGx0LgoKMjAwMy0wNS0zMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2kzODYvZGwtbWFjaGluZS5oIChFTEZfTUFDSElORV9SVU5USU1FX1RSQU1QT0xJTkUpOiBBZGQKCUNGSSBkaXJlY3RpdmVzLgoKCSogY3N1L01ha2VmaWxlOiBGaXggTWFrZWZpbGUgd2FybmluZ3MgcmVnYXJkaW5nIFNjcnQxLm8uCgoJKiBsaWJpby9maWxlb3BzLmMgKF9JT19maWxlX29wZW4pOiBEb24ndCBtYXJrIGFzIGlubGluZS4KCgkqIHN5c2RlcHMvaWE2NC9lbGYvaW5pdGZpbmkuYyAoZ21vbl9pbml0aWFsaXplcik6IE1hcmsgd2l0aAoJYXR0cmlidXRlIHVzZWQuCgoyMDAzLTA1LTMwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHNjcmlwdHMvY29uZmlnLmd1ZXNzOiBVcGRhdGUgZnJvbSBtYXN0ZXIgY29weS4KCSogc2NyaXB0cy9jb25maWcuc3ViOiBMaWtld2lzZS4KCjIwMDMtMDUtMzAgIEd1aWRvIEd1ZW50aGVyICA8YWd4QHNpZ3hjcHUub3JnPgoKCSogc3lzZGVwcy9taXBzL21pcHM2NC9ic2QtX3NldGptcC5TOiBJbmNsdWRlIDxzeXMvYXNtLmg+IGZvcgoJU0VUVVBfR1A2NCBhbmQgZnJpZW5kcy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9taXBzNjQvbjMyL3N5c2RlcC5oOiBGaXggcmVnaXN0ZXIKCW5hbWVzIGluIGludGVybmFsX3N5c2NhbGx7Niw3fS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9taXBzNjQvbjY0L3N5c2RlcC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9wcmVhZC5jIFtfTUlQU19TSU0gPT0gX0FCSTY0XTogRml4CgludW1iZXIgb2Ygc3lzY2FsbCBhcmd1bWVudHMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvcHdyaXRlLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3ByZWFkNjQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvcHdyaXRlNjQuYzogTGlrZXdpc2UuCgoyMDAzLTA1LTMwICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3g4Nl82NC9kbC1tYWNoaW5lLmggKEVMRl9NQUNISU5FX1JVTlRJTUVfVFJBTVBPTElORSk6CglBZGQgQ0ZJIGRpcmVjdGl2ZXMuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc2lnYWN0aW9uLmMgKFJFU1RPUkUyKTogQWRkIENGSQoJZGlyZWN0aXZlcy4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9zeXNkZXAuaDogQWRkIENGSV8qIG1hY3JvcyBmb3IgQyBmaWxlcy4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaCAoU1lTQ0FMTF9FUlJPUl9IQU5ETEVSKToKCUFkZCBDRkkgZGlyZWN0aXZlcy4KCjIwMDMtMDUtMzAgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGMzMi9lbGYvc3RhcnQuUzogTWFrZSBjb2RlIGNvbXBpbGFibGUgd2l0aAoJU0hBUkVELgoKMjAwMy0wNS0xMSAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIE1ha2VydWxlczogQWx3YXlzIHVzZSAtTVAgdG9nZXRoZXIgd2l0aCAtTUQuCgkoc2VkLXJlbW92ZS1kb3RvdCk6IFN1YnN0aXR1dGUgJCguLikgYWxzbyBhdCBzdGFydCBvZiBsaW5lLgoJKCQoc3RkaW9fbGltOmg9c3QpKTogVXNlIC1NRCBpbnN0ZWFkIG9mIFNVTlBST19ERVBFTkRFTkNJRVMuCglHZW5lcmF0ZWQgZGVmaW5lcyB3aXRoIGEgc2luZ2xlIGNvbXBpbGVyIGNhbGwuCglVc2UgJChzZWQtcmVtb3ZlLWRvdGRvdCkuCgkqIG1hY2gvTWFrZWZpbGUgKCQob2JqcGZ4KW1hY2gtc3lzY2FsbHMubWspOiBVc2UgLU1EIGluc3RlYWQKCW9mIERFUEVOREVOQ0lFU19PVVRQVVQsIGFuZCB1c2UgJChzZWQtcmVtb3ZlLW9ianBmeCkuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L01ha2VmaWxlICgkKG9ianBmeClzeXNjYWxsLSUuaCk6CglVc2UgLU1EIGluc3RlYWQgb2YgU1VOUFJPX0RFUEVOREVOQ0lFUywgYW5kIHVzZSAkKHNlZC1yZW1vdmUtb2JqcGZ4KS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9NYWtlZmlsZQoJKCQob2JqcGZ4KXN5c2NhbGwtJS5oKTogTGlrZXdpc2UuCgoyMDAzLTA1LTI4ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogbWFsbG9jL21hbGxvYy5oIFshIF9fR05VQ19fXSAoX19jb25zdCk6IERlZmluZSBpZiB1bmRlZmluZWQuCgoyMDAzLTA1LTI2ICBBbGR5IEhlcm5hbmRleiAgPGFsZHloQHJlZGhhdC5jb20+CgoJKiBzb2Z0LWZwL3NvZnQtZnAuaCAoRlBfRVhfVU5ERVJGTE9XKTogRGVmaW5lIHRvIDAuCgoyMDAzLTA1LTI4ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zZXRjb250ZXh0LlM6IFBhc3MgZm91cnRoIGFyZ3VtZW50IHRvCglydF9zaWdwcm9jbWFzayBzeXN0ZW0gY2FsbC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC91Y29udGV4dF9pLmggKFNDX01BU0spOiBGaXggdmFsdWUuCglGcm9tIFBldGVyIEEuIEJ1aHIgPHBhYnVockBwbGcyLm1hdGgudXdhdGVybG9vLmNhPi4KCjIwMDMtMDUtMjggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9saWJjLXN5bWJvbHMuaDogRGVmaW5lIGhpZGRlbiBhdHRyaWJ1dGUgZm9yIHJlYWwgYWxzbyBpZgoJTElCQ19OT05TSEFSRUQgaXMgZGVmaW5lZC4gIFBhdGNoIGJ5IEpha3ViIEplbGluZWsuCgoJKiBjc3UvTWFrZWZpbGU6IEFkZCBydWxlcyB0byBidWlsZCBTY3J0MS5vLgoJKiBzeXNkZXBzL2kzODYvZWxmL3N0YXJ0LlM6IE1ha2UgY29kZSBjb21waWxhYmxlIHdpdGggU0hBUkVELgoJKiBzeXNkZXBzL3g4Nl82NC9lbGYvc3RhcnQuUzogTGlrZXdpc2UuCgoyMDAzLTA1LTI3ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN0ZGlvLWNvbW1vbi92ZnByaW50Zi5jIChwcm9jZXNzX2FyZywgcHJvY2Vzc19zdHJpbmdfYXJnKTogVXNlCglwYV9pbnQvcGFfdV9pbnQgaW5zdGVhZCBvZiBwYV9zaG9ydF9pbnQsIHBhX3Vfc2hvcnRfaW50IGFuZCBwYV9jaGFyLgoJKiBzdGRpby1jb21tb24vcHJpbnRmLXBhcnNlLmggKHVuaW9uIHByaW50Zl9hcmcpOiBSZW1vdmUgcGFfY2hhciwKCXBhX3Nob3J0X2ludCwgcGFfdV9zaG9ydF9pbnQgYW5kIHBhX2Zsb2F0LgoKMjAwMy0wNS0yNiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBsaWJpby9zdHJvcHMuYyAoX0lPX3N0cl9pbml0X3N0YXRpYyk6IENoYW5nZSBpbnRvIGEgd3JhcHBlciBhcm91bmQKCV9JT19zdHJfaW5pdF9zdGF0aWNfaW50ZXJuYWwuCgkoX0lPX3N0cl9pbml0X3N0YXRpY19pbnRlcm5hbCk6IE1vdmVkIGZyb20gX0lPX3N0cl9pbml0X3N0YXRpYywKCWNoYW5nZSBzaXplIGFyZ3VtZW50IHRvIF9JT19zaXplX3QsIGRvbid0IGxpbWl0IHNwcmludGYgdG8gNjRNLgoJKF9JT19zdHJfaW5pdF9yZWFkb25seSk6IENhbGwgX0lPX3N0cl9pbml0X3N0YXRpY19pbnRlcm5hbC4KCSogbGliaW8vd3N0cm9wcy5jIChfSU9fd3N0cl9pbml0X3N0YXRpYyk6IENoYW5nZSBzaXplIGFyZ3VtZW50IHRvCglfSU9fc2l6ZV90LCBkb24ndCBsaW1pdCBzd3ByaW50ZiB0byAyNTZNLgoJKF9JT193c3RyX2luaXRfcmVhZG9ubHkpOiBSZW1vdmUuCgkqIGxpYmlvL2xpYmlvUC5oIChfSU9fc3RyX2luaXRfc3RhdGljX2ludGVybmFsLCBfSU9fd3N0cl9pbml0X3N0YXRpYyk6CglBZGp1c3QgcHJvdG90eXBlcy4KCShfSU9fd3N0cl9pbml0X3JlYWRvbmx5KTogUmVtb3ZlIHByb3RvdHlwZS4KCSogbGliaW8vaW92c3ByaW50Zi5jIChfSU9fdnNwcmludGYpOiBVc2UKCV9JT19zdHJfaW5pdF9zdGF0aWNfaW50ZXJuYWwgaW5zdGVhZCBvZiBJTlRVU0UoX0lPX3N0cl9pbml0X3N0YXRpYykuCgkqIGxpYmlvL2lvdnNzY2FuZi5jIChfSU9fdnNzY2FuZik6IExpa2V3aXNlLgoJKiBsaWJpby9tZW1zdHJlYW0uYyAob3Blbl9tZW1zdHJlYW0pOiBMaWtld2lzZS4KCSogbGliaW8vb2JwcmludGYuYyAoX0lPX29ic3RhY2tfdmZwcmludGYpOiBMaWtld2lzZS4KCSogbGliaW8vdmFzcHJpbnRmLmMgKF9JT192YXNwcmludGYpOiBMaWtld2lzZS4KCSogbGliaW8vdnNucHJpbnRmLmMgKF9JT192c25wcmludGYpOiBMaWtld2lzZS4KCSogc3RkaW8tY29tbW9uL3RzdC1zcHJpbnRmLmMgKG1haW4pOiBBZGQgbmV3IHRlc3QuCgoyMDAzLTA1LTI2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN0ZGlvLWNvbW1vbi92ZnByaW50Zi5jICh2ZnByaW50Zik6IEJlIGJ1Zy1jb21wYXRpYmxlIHdpdGggc29tZQoJb3RoZXIgaW1wbGVtZW50YXRpb24gaW4gcmVzcGVjdCBvZiBtdWx0aXBsZSB1c2VzIG9mIHBhcmFtZXRlciB3aXRoCglkaWZmZXJlbnQgdHlwZXMuCgoyMDAzLTA1LTI1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2tlcm5lbC1mZWF0dXJlcy5oOiBEZWZpbmUKCV9fQVNTVU1FX0ZVVEVYX1JFUVVFVUUgZm9yID49IDIuNS43MC4KCjIwMDMtMDUtMjIgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9nZXR0aW1lb2ZkYXkuUzogQWRkIENGSQoJZGlyZWN0aXZlcy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3RpbWUuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMveDg2XzY0L3N0cnRvay5TOiBMaWtld2lzZS4KCjIwMDMtMDUtMjAgIEd1aWRvIEd1ZW50aGVyICA8YWd4QHNpZ3hjcHUub3JnPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9iaXRzL3NpZ2luZm8uaDogQ2hhbmdlIFNJX0FTWU5DTkwKCXRvIC02MCBhbmQgZGVmaW5lIFNJX1RLSUxMLgoKMjAwMy0wNS0yMSAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoKCSogbWF0aC90ZXN0LWZlbnYuYyAoZmVleGNwX25vbWFza190ZXN0KTogRml4IGNvbW1lbnQuCgkoZmVleGNwX21hc2tfdGVzdCk6IExpa2V3aXNlLgoKMjAwMy0wNS0yMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvcHJvZ3JhbXMvbG9jYWxlLmMgKG1haW4pOiBGaXggdHlwbyBpbiBsYXN0IHBhdGNoLgoKCSogY3N1L2VsZi1pbml0LmM6IE1hcmsgX19wcmVpbml0X2FycmF5X3N0YXJ0LCBfX3ByZWluaXRfYXJyYXlfZW5kLAoJX19pbml0X2FycmF5X3N0YXJ0LCBfX2luaXRfYXJyYXlfZW5kLCBfX2ZpbmlfYXJyYXlfc3RhcnQsIGFuZAoJX19maW5pX2FycmF5X2VuZCBhcyBoaWRkZW4uCgoyMDAzLTA1LTIxICBQZXR0ZXIgUmVpbmhvbGR0c2VuICA8cGVyZUBodW5ncnkuY29tPgoKCSogbG9jYWxlL3Byb2dyYW1zL2xvY2FsZS5jIChtYWluKTogUmVwb3J0IGFuIGVycm9yIGlmIHNldGxvY2FsZSgpCglmYWlscyBbUFIgbGliYy8yMjU0XS4KCjIwMDMtMDUtMjEgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zeXN0ZW0uYzogTmV3IGZpbGUuCgoyMDAzLTA1LTIxICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzMyL3N5c2RlcC5oIChMT0FEQVJHU18wLAoJTE9BREFSR1NfMSwgTE9BREFSR1NfMiwgTE9BREFSR1NfMywgTE9BREFSR1NfNCwgTE9BREFSR1NfNSwKCUxPQURBUkdTXzYpOiBEb24ndCBlcnJvciBpZiBzeXNjYWxsIGFyZ3VtZW50IGlzIGEgc3RyaW5nIGxpdGVyYWwuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzY0L3N5c2RlcC5oIChMT0FEQVJHU18wLAoJTE9BREFSR1NfMSwgTE9BREFSR1NfMiwgTE9BREFSR1NfMywgTE9BREFSR1NfNCwgTE9BREFSR1NfNSwKCUxPQURBUkdTXzYpOiBMaWtld2lzZS4KCjIwMDMtMDUtMjEgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9zeXNkZXAuaCAoY2ZpX29mZnNldCwgY2ZpX3N0YXJ0cHJvYywKCWNmaV9lbmRwcm9jLCBjZmlfZGVmX2NmYSwgY2ZpX2RlZl9jY2ZhX3JlZ2lzdGVyLAoJY2ZpX2RlZl9jZmFfb2Zmc2V0LCBjZmlfYWRqdXN0X2NmYV9vZmZzZXQsIGNmaV9vZmZzZXQpOiBEZWZpbmUuCgoJKiBzeXNkZXBzL3g4Nl82NC9zeXNkZXAuaCAoQ0FMTF9NQ09VTlQpOiBBZGQgY2ZpIGRpcmVjdGl2ZXMuCgkoRU5UUlkpOiBMaWtld2lzZS4KCShFTkQpOiBMaWtld2lzZS4KCgkqIGNvbmZpZ3VyZS5pbjogVGVzdCBmb3IgYXNtIGNmaSBkaXJlY3RpdmVzLgoKCSogY29uZmlnLmguaW46IEFkZCBIQVZFX0FTTV9DRklfRElSRUNUSVZFUy4KCjIwMDMtMDUtMTcgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNjYWxsLlM6IFJldmVydCBsYXN0IHBhdGNoLgoKCSogcnQvdHN0LWNsb2NrX25hbm9zbGVlcC5jOiBJbmNsdWRlIDx0aW1lLmg+IGZvciBjbG9ja19uYW5vc2xlZXAuCgoyMDAzLTA1LTE2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHJ0L01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3QtY2xvY2tfbmFub3NsZWVwLgoJKiBydC90c3QtY2xvY2tfbmFub3NsZWVwLmM6IE5ldyBmaWxlLgoJKiBwb3NpeC9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdHN0LW5hbm9zbGVlcC4KCSogcG9zaXgvdHN0LW5hbm9zbGVlcC5jOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvdW5peC9jbG9ja19uYW5vc2xlZXAuYyAoQ1BVQ0xPQ0tfUCk6IEZpeCBkZWZpbml0aW9uLgoKCSogaW5jbHVkZS9mZWF0dXJlcy5oIChfX1VTRV9YT1BFTjJLKTogRGVmaW5lIGFsc28gZm9yCglfUE9TSVhfQ19TT1VSQ0U+PTIwMDExMkwuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaWd3YWl0aW5mby5jIChkb19zaWd3YWl0aW5mbyk6IEZvbGQKCVNJX1RLSUxMIGNvZGUgaW50byBTSV9VU0VSLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaWd0aW1lZHdhaXQuYyAoZG9fc2lndGltZWR3YWl0KTogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL3Bvc2l4L3NpZ3BhdXNlLmMgKGRvX3NpZ3BhdXNlKTogVXNlIHNpZ2RlbHNldCBhZnRlciBhbGwuCgoyMDAzLTA1LTE1ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvZGwtbWFjaGluZS5jIChfZGxfcmVsb2Nfb3ZlcmZsb3cpOgoJUmVtb3ZlIHN5bSBhcmd1bWVudCwgYWx3YXlzIHVzZSByZWZzeW0uCgkoX19wcm9jZXNzX21hY2hpbmVfcmVsYSk6IEFkanVzdCBjYWxsZXJzLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzY0L2RsLW1hY2hpbmUuYyAoX2RsX3JlbG9jX292ZXJmbG93KToKCUxpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL2RsLW1hY2hpbmUuaCAoX2RsX3JlbG9jX292ZXJmbG93KToKCUFkanVzdCBwcm90b3R5cGUuCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjNjQvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9yZWxhKTogTGlrZXdpc2UuCgoyMDAzLTA1LTE1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1zeXNkZXAuYyAoX2RsX3Nob3dfYXV4dik6IEZpeCB0eXBvCgkoRExfTkVFRF9TWVNJTkZPIC0+IE5FRURfRExfU1lTSU5GTykuICBJZiBhdXggdmFsdWUgaXMgbm90IGtub3duCglwcmludCBudW1lcmljIHZhbHVlcy4KCjIwMDMtMDUtMTIgIFRob3JzdGVuIEt1a3VrICA8a3VrdWtAc3VzZS5kZT4KCgkqIGluZXQvbmV0aW5ldC9pZ21wLmg6IFN5bmMgd2l0aCBMaW51eCBLZXJuZWwgMi41LjY5IGFuZCAqQlNELgoKMjAwMy0wNS0xNCAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvdW1vdW50LmM6IE5ldyBmaWxlLgoKMjAwMy0wNS0xNCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBlbGYvcnRsZC5jIChkbF9tYWluKTogRm9yIExEX1RSQUNFX1BSRUxJTktJTkcgcHJpbnQgc2VhcmNoIHNjb3BlCglldmVuIGlmIG5vIERUX05FRURFRCBpcyBwcmVzZW50LgoKMjAwMy0wNS0xMyAgRGF2aWQgTW9zYmVyZ2VyICA8ZGF2aWRtQGhwbC5ocC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3NldGptcC5TOiBGaXggdGhlIGZpeCBmcm9tCgkyMDAzLTAzLTI3OiBzZXRqbXAgaXMgTk9UIGEgbGVhZi1yb3V0aW5lIChkdWUgdG8gdGhlIGNhbGwgdG8KCV9fc2lnam1wX3NhdmUpIHNvIHdlIGNhbid0IGtlZXAgdGhlIHNhdmVkIHVuYXQgdmFsdWUgaW4gYSBzY3JhdGNoCglyZWdpc3RlciAocjE2KS4gIFVzZSBsb2MyIGluc3RlYWQuCgoyMDAzLTA1LTEzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGNzdS9NYWtlZmlsZTogRG8gY29tcGlsZSBlbGYtaW5pdCB3aXRoIFBJQyBmbGFnIHNpbmNlIGluIGR5bmFtaWMKCWJpbmFyaWVzIGl0IGhhcyB0byBiZSByZWxvY2F0YWJsZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3dhaXRwaWQuYzogVXNlIHdhaXRwaWQgc3lzY2FsbCBpcyBhdmFpbGFibGUuCgoyMDAzLTA1LTEyICBTdGV2ZW4gTXVucm9lICA8c2ptdW5yb2VAdXMuaWJtLmNvbT4KCgkqIHN5c2RlcHMvcG93ZXJwYy9iaXRzL2F0b21pYy5oCgkoX19hcmNoX2NvbXBhcmVfYW5kX2V4Y2hhbmdlX2Jvb2xfOF9yZWwpOiBEZWZpbmUuCgkoX19hcmNoX2NvbXBhcmVfYW5kX2V4Y2hhbmdlX2Jvb2xfMTZfcmVsKTogRGVmaW5lLgoJKF9fQVJDSF9SRUxfSU5TVFIpOiBEZWZpbmUgaWYgbm90IGFscmVhZHkgZGVmaW5lZC4KCShfX2FyY2hfYXRvbWljX2V4Y2hhbmdlX2FuZF9hZGRfMzIpOiBBZGQgIm1lbW9yeSIgdG8gY2xvYmJlciBsaXN0LgoJKF9fYXJjaF9hdG9taWNfZGVjcmVtZW50X2lmX3Bvc2l0aXZlXzMyKToKCUFkZCAibWVtb3J5IiB0byBjbG9iYmVyIGxpc3QuCgkoX19hcmNoX2NvbXBhcmVfYW5kX2V4Y2hhbmdlX3ZhbF8zMl9hY3EpOiBSZW1vdmUgcmVsZWFzZSBzeW5jLgoJKF9fYXJjaF9jb21wYXJlX2FuZF9leGNoYW5nZV92YWxfMzJfcmVsKTogRGVmaW5lLgoJKF9fYXJjaF9hdG9taWNfZXhjaGFuZ2VfMzIpOiBSZW1vdmUuCgkoX19hcmNoX2F0b21pY19leGNoYW5nZV8zMl9hY3EpOiBEZWZpbmUuCgkoX19hcmNoX2F0b21pY19leGNoYW5nZV8zMl9yZWwpOiBEZWZpbmUuCgkoYXRvbWljX2NvbXBhcmVfYW5kX2V4Y2hhbmdlX3ZhbF9yZWwpOiBEZWZpbmUuCgkoYXRvbWljX2V4Y2hhbmdlX2FjcSk6IFVzZSBfX2FyY2hfYXRvbWljX2V4Y2hhbmdlXypfYWNxIGZvcm1zLgoJKGF0b21pY19leGNoYW5nZV9yZWwpOiBEZWZpbmUuCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvYml0cy9hdG9taWMuaAoJKF9fYXJjaF9jb21wYXJlX2FuZF9leGNoYW5nZV9ib29sXzMyX2FjcSk6IFJlbW92ZSByZWxlYXNlIHN5bmMuCgkoX19hcmNoX2NvbXBhcmVfYW5kX2V4Y2hhbmdlX2Jvb2xfMzJfcmVsKTogRGVmaW5lLgoJKF9fYXJjaF9jb21wYXJlX2FuZF9leGNoYW5nZV9ib29sXzY0X3JlbCk6IERlZmluZS4KCShfX2FyY2hfY29tcGFyZV9hbmRfZXhjaGFuZ2VfdmFsXzY0X3JlbCk6IERlZmluZS4KCShfX2FyY2hfYXRvbWljX2V4Y2hhbmdlXzY0KTogUmVtb3ZlLgoJKF9fYXJjaF9hdG9taWNfZXhjaGFuZ2VfNjRfYWNxKTogRGVmaW5lLgoJKF9fYXJjaF9hdG9taWNfZXhjaGFuZ2VfNjRfcmVsKTogRGVmaW5lLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzY0L2JpdHMvYXRvbWljLmgKCShfX2FyY2hfY29tcGFyZV9hbmRfZXhjaGFuZ2VfYm9vbF8zMl9yZWwpOiBEZWZpbmUuCgkoX19hcmNoX2NvbXBhcmVfYW5kX2V4Y2hhbmdlX2Jvb2xfNjRfYWNxKTogUmVtb3ZlIHJlbGVhc2Ugc3luYy4KCShfX2FyY2hfY29tcGFyZV9hbmRfZXhjaGFuZ2VfYm9vbF82NF9yZWwpOiBEZWZpbmUuCgkoX19hcmNoX2NvbXBhcmVfYW5kX2V4Y2hhbmdlX3ZhbF82NF9hY3EpOiBSZW1vdmUgcmVsZWFzZSBzeW5jLgoJKF9fYXJjaF9jb21wYXJlX2FuZF9leGNoYW5nZV92YWxfNjRfcmVsKTogRGVmaW5lLgoJKF9fYXJjaF9hdG9taWNfZXhjaGFuZ2VfNjQpOiBSZW1vdmUuCgkoX19hcmNoX2F0b21pY19leGNoYW5nZV82NF9hY3EpOiBEZWZpbmUuCgkoX19hcmNoX2F0b21pY19leGNoYW5nZV82NF9yZWwpOiBEZWZpbmUuCgkoX19hcmNoX2F0b21pY19leGNoYW5nZV9hbmRfYWRkXzY0KTogQWRkICJtZW1vcnkiIHRvIGNsb2JiZXIgbGlzdC4KCShfX2FyY2hfYXRvbWljX2RlY3JlbWVudF9pZl9wb3NpdGl2ZV82NCk6CglBZGQgIm1lbW9yeSIgdG8gY2xvYmJlciBsaXN0LgoJWyFVUF0oX19BUkNIX1JFTF9JTlNUUik6IERlZmluZSBhcyBsd3N5bmMuCgoyMDAzLTA1LTExICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogaW8vTWFrZWZpbGUgKCQob2JqcGZ4KWZ0d3Rlc3Qub3V0KTogVXNlIGFic29sdXRlIGZpbGUgbmFtZXMuCgoyMDAzLTA1LTExICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHRpbWUvdHN0LXN0cmZ0aW1lLmMgKGRvX3Rlc3QpOiBBZGQgdGVzdHMgZm9yIC0gZmxhZy4KCjIwMDMtMDUtMTEgIEppbSBNZXllcmluZyAgPGppbUBtZXllcmluZy5uZXQ+CgoJKiB0aW1lL3N0cmZ0aW1lLmMgKG15X3N0cmZ0aW1lKTogTGV0IHRoZSBgLScgKG5vLXBhZCkgZmxhZyBhZmZlY3QKCXRoZSBzcGFjZS1wYWRkZWQtYnktZGVmYXVsdCBjb252ZXJzaW9uIHNwZWNpZmllcnMsICVlLCAlaywgJWwuCgoyMDAzLTA1LTExICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogc3lzZGVwcy9nZW5lcmljL3NjaGVkX3NldGFmZmluaXR5LmM6IEZpeCBwYXJhbWV0ZXIgbmFtZS4KCjIwMDMtMDUtMTAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvc2NoZWQuaDogRGVmaW5lIGNwdV9zZXRfdCBvbmx5IGlmIG5vdAoJYWxyZWFkeSBkZWZpbmVkIGFuZCB3aGVuIHJlYWxseSBuZWVkZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvc2NoZWQuaDogTGlrZXdpc2UuCgoyMDAzLTA1LTA5ICBUaG9yc3RlbiBLdWt1ayAgPGt1a3VrQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9uZXRpbmV0L2lnbXAuaDogRG9uJ3QgaW5jbHVkZSBrZXJuZWwKCWhlYWRlcnMsIGFkZCBkZWZpbmVzIGZyb20ga2VybmVsIGhlYWRlciwgbW92ZSBpdCBmcm9tIGhlcmUuLi4KCSogaW5ldC9uZXRpbmV0L2lnbXAuaDogLi4uIHRvIGhlcmUuCgkqIGluZXQvTWFrZWZpbGUgKGhlYWRlcnMpOiBBZGQgbmV0aW5ldC9pZ21wLmguCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L01ha2VmaWxlOiBSZW1vdmUgbmV0aW5ldC9pZ21wLmguCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L0Rpc3Q6IFJlbW92ZSBuZXRpbmV0L2lnbXAuaC4KCjIwMDMtMDUtMTAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9wdGhyZWFkL2xpb19saXN0aW82NC5jIChsaW9fbGlzdGlvNjQpOiBJZiBTSUcgPT0gTlVMTCwKCXVzZSBkdW1teSBzaWdldmVudCBzdHJ1Y3R1cmUgd2l0aCBTSUdFVl9OT05FIFtQUiBsaWJjLzUwMTVdLgoKMjAwMy0wNS0wOSAgVGhvcnN0ZW4gS3VrdWsgPGt1a3VrQHN1c2UuZGU+CgoJKiBsaWJpby9iaXRzL3N0ZGlvLmg6IFN5bmMgcHJvdG90eXBlcyB3aXRoIGxpYmlvL3N0ZGlvLmgKCShyZW1vdmUgX19USFJPVyBmcm9tIHBvc3NpYmxlIGNhbmNlbGxhdGlvbiBwb2ludHMpLgoKMjAwMy0wNS0xMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9zY2hlZC5oIChDUFVfU0VUU0laRSk6IERlZmluZS4KCjIwMDMtMDUtMDkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogTWFrZWNvbmZpZyAoZ251bGliKTogUmVtb3ZlIC1sZ2NjX2VoIGFnYWluLgoKCSogcG9zaXgvc2NoZWQuaDogQ2hhbmdlIHByb3RvdHlwZXMgb2Ygc2NoZWRfZ2V0YWZmaW5pdHkgYW5kCglzY2hlZF9zZXRhZmZpbml0eS4gIERlZmluZSBDUFVfU0VULCBDUFVfQ0xSLCBDUFVfSVNTRVQsIGFuZCBDUFVfWkVSTy4KCSogc3lzZGVwcy9nZW5lcmljL3NjaGVkX2dldGFmZmluaXR5LmM6IEFkanVzdCBkZWZpbml0aW9uLgoJKiBzeXNkZXBzL2dlbmVyaWMvc2NoZWRfc2V0YWZmaW5pdHkuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL3NjaGVkLmg6IERlZmluZSBfX0NQVV9TRVRTSVpFLCBfX05DUFVCSVRTLAoJX19DUFVFTFQsIF9fQ1BVTUFTSywgY3B1X3NldF90LCBfX2NwdV9tYXNrLCBfX0NQVV9aRVJPLCBfX0NQVV9TRVQsCglfX0NQVV9DTFIsIGFuZCBfX0NQVV9JU1NFVC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9zY2hlZC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2NoZWRfZ2V0YWZmaW5pdHkuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NjaGVkX3NldGFmZmluaXR5LmM6IE5ldyBmaWxlLgoKCSogaW5jbHVkZS9hdG9taWMuaCAoYXRvbWljX2V4Y2hhbmdlX2FjcSk6IFJlbmFtZWQgZnJvbSBhdG9taWNfZXhjaGFuZ2UuCgkoYXRvbWljX2V4Y2hhbmdlX3JlbCk6IE5ldyAjZGVmaW5lLgoJKiBzeXNkZXBzL2lhNjQvYml0cy9hdG9taWMuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNDg2L2JpdHMvYXRvbWljLmggKGF0b21pY19leGNoYW5nZV9hY3EpOiBSZW5hbWVkIGZyb20KCWF0b21pY19leGNoYW5nZS4KCSogc3lzZGVwcy9tNjhrL202ODAyMC9iaXRzL2F0b21pYy5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL2JpdHMvYXRvbWljLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvc3BhcmN2OS9iaXRzL2F0b21pYy5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L2JpdHMvYXRvbWljLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3g4Nl82NC9iaXRzL2F0b21pYy5oOiBMaWtld2lzZS4KCSogY3N1L3RzdC1hdG9taWMuYzogVXNlIGF0b21pY19leGNoYW5nZV9hY3EgaW5zdGVhZCBvZiBhdG9taWNfZXhjaGFuZ2UuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvZ2V0X2Nsb2NrZnJlcS5jOiBOZXcgZmlsZS4KCjIwMDMtMDUtMDggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWFsbG9jL3RocmVhZC1tLmg6IFJlbW92ZSBzcGVjaWFsIGhhbmRsaW5nIG9mIHRocmVhZF9hdGZvcmsgaWYKCUhBVkVfcmVnaXN0ZXJfYXRmb3JrX21hbGxvYyBpcyBkZWZpbmVkLgoKMjAwMy0wNS0wNyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2NhbGwuUzogQWRkIERXQVJGMiB1bndpbmQKCWluZm9ybWF0aW9uLgoKMjAwMy0wNS0wNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsaWJpby9vbGRpb2Zkb3Blbi5jIChfSU9fb2xkX2Zkb3Blbik6IFVzZSBfSU9fb2xkX2luaXQgbm90IF9JT19pbml0LgoJKiBsaWJpby9vbGRpb2ZvcGVuLmMgKF9JT19vbGRfZm9wZW4pOiBMaWtld2lzZS4KCSogbGliaW8vbGliaW9QLmg6IERlY2xhcmUgX0lPX29sZF9pbml0LgoJKiBsaWJpby9nZW5vcHMuYyAoX0lPX25vX2luaXQpOiBTcGxpdCBpbiB0d28uICBOZXcgZnVuY3Rpb24KCV9JT19vbGRfaW5pdC4KCjIwMDMtMDUtMDUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL2VuYmwtc2VjdXJlLmMgKF9fbGliY19lbmFibGVfc2VjdXJlX2RlY2lkZWQpOiBOZXcKCXZhcmlhYmxlLgoJKF9fbGliY19pbml0X3NlY3VyZSk6IERvbid0IGRvIGFueXRoaW5nIGlmIF9fbGliY19lbmFibGVfc2VjdXJlX2RlY2lkZWQKCWlzIG5vbnplcm8uCgkqIGluY2x1ZGUvdW5pc3RkLmg6IERlY2xhcmUgX19saWJjX2VuYWJsZV9zZWN1cmVfZGVjaWRlZC4KCSogZWxmL2RsLXN1cHBvcnQuYyAoX2RsX2F1eF9pbml0KTogUmVjb2duaXplIEFUX1VJRCwgQVRfRVVJRCwgQVRfR0lELAoJYW5kIEFUX0VHSUQuICBJZiBhbGwgZm91bmQsIHNldCBfX2xpYmNfZW5hYmxlX3NlY3VyZSBhbmQKCV9fbGliY19lbmFibGVfc2VjdXJlX2RlY2lkZWQuCgoJKiBzeXNkZXBzL2dlbmVyaWMvbGliYy1zdGFydC5jIFshU0hBUkVEXTogQ2FsbAoJX19saWJjX2NoZWNrX3N0YW5kYXJkX2ZkcyBhZnRlciBfX2xpYmNfaW5pdF9maXJzdC4KCjIwMDMtMDUtMDUgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBNYWtlcnVsZXMgKGNvbW1vbi1iZWZvcmUtY29tcGlsZSk6IE5ldyB2YXJpYWJsZS4KCSgkKGNvbW1vbi1vYmpwZngpJS5tYWtlKTogRGVwZW5kIG9uIHRoYXQgaW5zdGVhZCBvZiAkKGJlZm9yZS1jb21waWxlKS4KCSgkKGNvbW1vbi1vYmpwZngpJS5oICQoY29tbW9uLW9ianBmeCklLmguZCk6IExpa2V3aXNlLiAgTW92ZSB0aGlzIHJ1bGUKCXRvIGFmdGVyIGFsbCBzZXR0aW5nIG9mIGJlZm9yZS1jb21waWxlLgoKMjAwMy0wNS0wNSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2lhNjQvYml0cy9hdG9taWMuaCAoX19hcmNoX2NvbXBhcmVfYW5kX2V4Y2hhbmdlX3ZhbF84X2FjcSwKCV9fYXJjaF9jb21wYXJlX2FuZF9leGNoYW5nZV92YWxfMTZfYWNxKTogQ2FzdCAwIHRvIG1lbSdzIHR5cGUuCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvYml0cy9hdG9taWMuaAoJKF9fYXJjaF9jb21wYXJlX2FuZF9leGNoYW5nZV92YWxfNjRfYWNxKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9zcGFyY3Y5L2JpdHMvYXRvbWljLmgKCShfX2FyY2hfY29tcGFyZV9hbmRfZXhjaGFuZ2VfdmFsXzhfYWNxLAoJX19hcmNoX2NvbXBhcmVfYW5kX2V4Y2hhbmdlX3ZhbF8xNl9hY3EsCglfX2FyY2hfY29tcGFyZV9hbmRfZXhjaGFuZ2VfdmFsXzY0X2FjcSk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvYml0cy9hdG9taWMuaAoJKF9fYXJjaF9jb21wYXJlX2FuZF9leGNoYW5nZV92YWxfOF9hY3EsCglfX2FyY2hfY29tcGFyZV9hbmRfZXhjaGFuZ2VfdmFsXzE2X2FjcSk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3MzOTAvYml0cy9hdG9taWMuaCAoX19hcmNoX2NvbXBhcmVfYW5kX2V4Y2hhbmdlX3ZhbF84X2FjcSwKCV9fYXJjaF9jb21wYXJlX2FuZF9leGNoYW5nZV92YWxfMTZfYWNxLAoJX19hcmNoX2NvbXBhcmVfYW5kX2V4Y2hhbmdlX3ZhbF82NF9hY3EpOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvYml0cy9hdG9taWMuaAoJKF9fYXJjaF9jb21wYXJlX2FuZF9leGNoYW5nZV92YWxfNjRfYWNxKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvczM5MC9zMzkwLTY0L2JhY2t0cmFjZS5jIChfX2JhY2t0cmFjZSk6IEFkZCBjYXN0IHRvIHNodXQKCXVwIHdhcm5pbmcuCgkqIHN5c2RlcHMvczM5MC9mcHUvZmVnZXRlbnYuYyAoZmVnZXRlbnYpOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9zeXNkZXAuaAoJKElOTElORV9TWVNDQUxMLCBJTlRFUk5BTF9TWVNDQUxMX0RJUkVDVCwgSU5URVJOQUxfU1lTQ0FMTF9TVkMwKToKCVJldHVybiBsb25nIGluc3RlYWQgb2YgaW50LgoJKElOVEVSTkFMX1NZU0NBTExfRVJST1JfUCk6IENhc3QgdmFsIHRvIHVuc2lnbmVkIGxvbmcsIHJlcGxhY2UKCTB4ZmZmZmYwMDF1IHdpdGggLTQwOTVVTC4KCjIwMDMtMDUtMDUgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMveDg2XzY0L2ZwdV9jb250cm9sLmg6IE5ldyBmcm9tIGkzODYuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmggKF9fTlJfc2VtdGltZWRvcCk6CglEZWZpbmUgaWYgbm90IGRlZmluZWQuCgoJKiBzdW5ycGMvTWFrZWZpbGUgKGdlbmVyYXRlZC1kaXJzKTogTmV3IHZhcmlhYmxlLgoJKiByZXNvbHYvTWFrZWZpbGUgKGdlbmVyYXRlZCk6IE5ldyB2YXJpYWJsZS4KCjIwMDMtMDUtMDQgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBjc3UvTWFrZWZpbGUgKCQoY3N1LWR1bW1pZXMpIHRhcmdldCBydWxlKTogRG9uJ3QgdXNlIGEgdGVtcCBDIGZpbGUuCglEZXBlbmQgb24gJChiZWZvcmUtY29tcGlsZSkuCgoJKiBjc3UvTWFrZWZpbGUgKCQob2JqcGZ4KWNydCUubyk6IFJlcGxhY2UgaW1wbGljaXQgcnVsZSB3aXRoIGEgc3RhdGljCglwYXR0ZXJuIHJ1bGUuICBUaGUgaW1wbGljaXQgcnVsZSBjb3VsZCBiZSBydWxlZCBvdXQgd2hlbiAkKG9ianBmeCkKCWRpZG4ndCBleGlzdCBhdCB0aGUgdGltZSBvZiBpdHMgY29uc2lkZXJhdGlvbiAodWdoISkuCgoJKiBNYWtlcnVsZXMgKCttYWtlLWRlcHMpOiBGaXggdGFyZ2V0IG1hdGNoaW5nLgoJVXNlICQoc2VkLXJlbW92ZS1kb3Rkb3QpLgoKMjAwMy0wNS0wMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBuc2NkL25zY2QuYyAobWFpbik6IFBhcnNlIGNvbmZpZyBmaWxlIHJpZ2h0IGFmdGVyIHBhcnNpbmcKCXBhcmFtZXRlcnMuICBUaGVuLCBpZiBnZXRfc3RhdHMgaXMgdHJ1ZSwgY2FsbCByZWNlaXZlX3ByaW50X3N0YXRzLgoJRHJvcCBwYXJhbWV0ZXIgZnJvbSBuc2NkX2luaXQgY2FsbC4KCShnZXRfc3RhdHMpOiBOZXcgdmFyaWFibGUuCgkocGFyc2Vfb3B0KTogU2V0IGdldF9zdGF0cywgZG9uJ3QgY2FsbCByZWNlaXZlX3ByaW50X3N0YXRzIGhlcmUuCgkqIG5zY2QvbnNjZC5oOiBEZWNsYXJlIGRicywgc3RhdF91c2VyLCBhbmQgc3RhdF91aWQuICBBZGp1c3QgbnNjZF9pbml0Cglwcm90b3R5cGUuCgkqIG5zY2QvY29ubmVjdGlvbnMuYyAoc3RhdF91c2VyLCBzdGF0X3VpZCk6IE5ldyB2YXJpYWJsZXMuCgkoZGJzKTogTWFrZSBnbG9iYWwuCgkobnNjZF9pbml0KTogRG9uJ3QgcmVhZCBjb25maWd1cmF0aW9uIGZpbGUgaGVyZS4gIERyb3AgcGFyYW1ldGVyLgoJKGhhbmRsZV9yZXF1ZXN0KTogQ2xlYW51cCBoYW5kbGluZyBvZiBub24tZGF0YWJhc2UgbG9va3VwIHJlcXVlc3RzLgoJKiBuc2NkL25zY2RfY29uZi5jIChuc2NkX3BhcnNlX2ZpbGUpOiBSZWNvZ25pemUgc3RhdC11c2VyIGVudHJ5LgoJR2V0IFVJRCBvZiB0aGUgc3BlY2lmaWVkIHVzZXIuICBVc2UgeHN0cmR1cCBpbnN0ZWFkIG9mIHN0cmR1cC4KCSogbnNjZC9uc2NkX3N0YXQuYyAocmVjZWl2ZV9wcmludF9zdGF0cyk6IENoZWNrIFVJRC4gIElmIG5vdCB6ZXJvLAoJY2hlY2sgc3RhdF91c2VyLgoJKiBuc2NkL01ha2VmaWxlIChuc2NkLW1vZHVsZXMpOiBBZGQgeHN0cmR1cC4KCSogbnNjZC9uc2NkLmNvbmY6IERvY3VtZW50IHN0YXQtdXNlciBlbnRyeS4KCjIwMDMtMDUtMDMgIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc3lzZGVwLmggKF9fTlJfc2VtdGltZWRvcCk6IERlZmluZQoJaWYgbm90IGRlZmluZWQuCgoyMDAzLTA0LTIyICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogZWxmL2VsZi5oIChBVF9TWVNJTkZPX0VIRFIpOiBOZXcgbWFjcm8sIHJlcGxhY2VzIEFUX1NZU0lORk9fRUhfRlJBTUUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9sZHNvZGVmcy5oIChzdHJ1Y3QgcnRsZF9nbG9iYWwpOiBSZW1vdmUKCWRsX3N5c2luZm9fZWhfZnJhbWUgbWVtYmVyLCBhZGQgZGxfc3lzaW5mb19kc28gbWVtYmVyIGluc3RlYWQuCgkqIGVsZi9kbC1zdXBwb3J0LmM6IFVwZGF0ZSBkZWZuLgoJKiBzeXNkZXBzL2dlbmVyaWMvbGliYy1zdGFydC5jOiBEb24ndCBjYWxsIF9fcmVnaXN0ZXJfZnJhbWVfaW5mb19iYXNlcy4KCSogc3lzZGVwcy9nZW5lcmljL2RsLXN5c2RlcC5jIChfZGxfc3lzZGVwX3N0YXJ0KSBbTkVFRF9ETF9TWVNJTkZPXToKCVNldCBHTChkbF9zeXNpbmZvX2RzbykgZnJvbSBBVF9TWVNJTkZPX0VIRFIuCgkoX2RsX3Nob3dfYXV4dik6IEdyb2sgQVRfU1lTSU5GT19FSERSLCBub3QgQVRfU1lTSU5GT19FSF9GUkFNRS4KCSogZWxmL3J0bGQuYyAoZGxfbWFpbikgW05FRURfRExfU1lTSU5GT106IElmIEdMKGRsX3N5c2luZm9fZHNvKSBpcwoJc2V0LCBzZXQgdXAgYSBsaW5rX21hcCBmb3IgdGhlIHByZWxvYWRlZCwgcHJlbGlua2VkIG9iamVjdC4KCjIwMDMtMDUtMDMgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dudS9NYWtlZmlsZSAoZ2VuZXJhdGVkKTogQXBwZW5kIGVycmxpc3QtY29tcGF0LmMgaGVyZSwgLi4uCgkqIHN0ZGlvLWNvbW1vbi9NYWtlZmlsZTogLi4uIG5vdCBoZXJlLgoKCSogY3N1L01ha2VmaWxlICgkKG9ianBmeClpbml0ZmluaS5zKTogRGVwZW5kIG9uICQoYmVmb3JlLWNvbXBpbGUpLgoJKiBzeXNkZXBzL2dudS9NYWtlZmlsZSAoJChvYmpwZngpZXJybGlzdC1jb21wYXQuYyk6IExpa2V3aXNlLgoKMjAwMy0wNS0wMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3NlbXRpbWVkb3AuYzogTmV3IGZpbGUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9pcGNfcHJpdi5oIChJUENPUF9zZW10aW1lZG9wKTogRGVmaW5lLgoKCSogc3lzZGVwcy9nZW5lcmljL2RsLWZwdHIuYyAoX2RsX21ha2VfZnB0cik6IFVzZSAwIG5vdCBOVUxMIGZvcgoJY29tcGFyaW5nIGZ0YWIgZWxlbWVudHMuCgkoX2RsX3VubWFwKTogRml4IHR5cG8gaW4gdGVzdC4KCShfZGxfbWFrZV9mcHRyKTogRml4IHR5cG9zIGludHJvZHVjZWQgaW4gbGFzdCBjaGFuZ2UuCgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtZnB0ci5jOiBQdXQgYmFjayBvbmUgb3B0aW1pemF0aW9uIGZyb20gdGhlCglvcmlnaW5hbCBwYXRjaC4gIFVzZSBub24tZXhwb3J0ZWQgc3ltYm9scy4gIE1hcmsgdHJhbnNsYXRhYmxlCglzdHJpbmdzLiAgUHJldHR5IHByaW50aW5nLgoKMjAwMy0wNS0wMiAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIE1ha2VydWxlcyAoZG8tc3RhbXApOiBEbyAkKG1ha2UtdGFyZ2V0LWRpcmVjdG9yeSkuCgoyMDAzLTA0LTA3ICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtZnB0ci5jOiBNb2RpZnkgdG8gcmVtb3ZlIHRoZSBsb2NrLgoKMjAwMy0wNC0wMyAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogc3lzZGVwcy9pYTY0L2RsLWZwdHIuYzogTW92ZWQgdG8gLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1mcHRyLmM6IEhlcmUuCgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtZnB0ci5oOiBOZXcuCgkqIHN5c2RlcHMvaWE2NC9kbC1mcHRyLmg6IE5ldy4KCgkqIHN5c2RlcHMvaWE2NC9kbC1zeW1hZGRyLmM6IE1vdmVkIHRvIC4uLgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtc3ltYWRkci5jOiBoZXJlLgoKCSogc3lzZGVwcy9pYTY0L2RsLW1hY2hpbmUuaDogSW5jbHVkZSA8ZGwtZnB0ci5oPi4KCShJQTY0X0JPT1RfRlBUUl9UQUJMRV9MRU4pOiBSZW1vdmVkLgoJKGlhNjRfZmRlc2MpOiBMaWtld2lzZS4KCShpYTY0X2ZkZXNjX3RhYmxlKTogTGlrZXdpc2UuCgkoX19pYTY0X21ha2VfZnB0cik6IExpa2V3aXNlLgoJKF9faWE2NF9pbml0X2Jvb3RzdHJhcF9mZGVzY190YWJsZSk6IFJlcGxhY2UgX19pYTY0X2Jvb3RfZnB0cl90YWJsZQoJd2l0aCBfZGxfYm9vdF9mcHRyX3RhYmxlLgoJKGVsZl9tYWNoaW5lX3J1bnRpbWVfc2V0dXApOiBSZXBsYWNlIGBzdHJ1Y3QgaWE2NF9mZGVzYycgd2l0aAoJYHN0cnVjdCBmZGVzYycuCgkoZWxmX21hY2hpbmVfcmVsYSk6IFJlcGxhY2UgX19pYTY0X21ha2VfZnB0ciB3aXRoIF9kbF9tYWtlX2ZwdHIuCgoyMDAzLTA1LTAxICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL2JwLXRodW5rcy5oOiBQcm90ZWN0IGluY2x1ZGVzIHdpdGggWyFfX0FTU0VNQkxFUl9fXS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9icC10aHVua3MuaDogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9NYWtlZmlsZSAoJChvYmpwZngpc3lzY2FsbC0lLmgpOgoJVXNlICQobWFrZS10YXJnZXQtZGlyZWN0b3J5KS4KCSogc3lzZGVwcy91bml4L01ha2VmaWxlICgkKG9ianBmeClzdHViLXN5c2NhbGxzLmMpOiBMaWtld2lzZS4KCgkqIE1ha2VydWxlcyAoY29tcGlsZS1ta2RlcC1mbGFncyk6IE5ldyB2YXJpYWJsZSwgcGFzcyAtTUQgLU1GICRALmQuCgkoY29tcGlsZS1jb21tYW5kLlMpOiBEb24ndCB1c2UgaWZuZGVmLiAgQXBwZW5kICQoY29tcGlsZS1ta2RlcC1mbGFncykuCgkoY29tcGlsZS1jb21tYW5kLnMsIGNvbXBpbGUtY29tbWFuZC5jKTogTGlrZXdpc2UuCgkoJChvYmpwZngpJS5kKTogQWxsIHN1Y2ggcGF0dGVybiBydWxlcyByZW1vdmVkLgoJKCQoK3N5c2Rpcl9wZngpc3lzZC1ydWxlcyk6IERvbid0IGdlbmVyYXRlIHRoZW0uCgkoJChjb21tb24tb2JqcGZ4KWR1bW15LmQpOiBUYXJnZXQgcmVtb3ZlZC4KCShtYWtlLWR1bW15LWRlcCk6IFZhcmlhYmxlIHJlbW92ZWQuCgkoZ2VuZXJhdGUtbWQ1KTogTGlrZXdpc2UuCgkoJS5kOiAlLmR0KTogTmV3IHBhdHRlcm4gcnVsZS4KCSgrZGVwZmlsZXMpOiBVc2UgJCh3aWxkY2FyZCkgZnVuY3Rpb24gdG8gZ2V0IGp1c3QgZXhpc3RpbmcgKi5kIGZpbGVzCglhbmQgLmQgZmlsZXMgZm9yIGV4aXN0aW5nICouZHQgZmlsZXMuCgkoY29tbW9uLWNsZWFuKTogUmVtb3ZlIGFsbCAqLmQgYW5kICouZHQgZmlsZXMuCgkoYmVmb3JlLWNvbXBpbGUpOiBBZGQgJChvYmpwZngpLiB3aGVuIGl0IGRvZXNuJ3QgZXhpc3QsCglyZWdhcmRsZXNzIG9mICQobm9fZGVwcykuCgkqIGVsZi9ydGxkLVJ1bGVzICgkKG9ianBmeClydGxkLSUuZCk6IEFsbCBzdWNoIHBhdHRlcm4gcnVsZXMgcmVtb3ZlZC4KCShydGxkLWRlcGZpbGVzKTogVXNlIC5vcy5kIGluc3RlYWQgb2YgLmQgbmFtZXMuCglJbmNsdWRlIGV4aXN0aW5nICouZCBmaWxlcyBhbmQgLmQgZmlsZXMgZm9yIGV4aXN0aW5nICouZHQgZmlsZXMuCgoJKiBNYWtlcnVsZXMgKCQoY29tbW9uLW9ianBmeCklLm1ha2UpOiBQcm90ZWN0IHdpdGggWyEgc3ViZGlyXS4KCVVzZSAtTUQsIC1NVCBhbmQgLU1GIGZsYWdzIGluc3RlYWQgb2YgU1VOUFJPX0RFUEVOREVOQ0lFUyB2YXJpYWJsZS4KCgkqIHN5c2RlcHMvdW5peC9NYWtlZmlsZSAoJChjb21tb24tb2JqcGZ4KXMtJS5kKTogUmVtb3ZlIGNvbXBhdC5oIGhhY2suCglEbyBzLSouZCBpbmNsdWRlcyBvbmx5IGlmIHdlIGhhdmUgc29tZSBzeXNjYWxsIHJvdXRpbmVzIGluIHRoaXMgc3ViZGlyLgoKCSogaW5jbHVkZS9saWJjLXN5bWJvbHMuaCAobGliY19mcmVlcmVzX3B0cik6IFVzZSAlbm9iaXRzIGluc3RlYWQgb2YKCUBub2JpdHMuICBUaGUgZm9ybWVyIGlzIGFjY2VwdGVkIGJ5IGdhcyBvbiBhbnkgRUxGIHBsYXRmb3JtLgoKMjAwMy0wNS0wMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zZW10aW1lZG9wLmM6IE5ldyBmaWxlLgoKCSogbWFsbG9jL21hbGxvYy5jIChtU1RBVHMpOiBDYWxsIHB0bWFsbG9jX2luaXQgaWYgbmVjZXNzYXJ5LgoKMjAwMy0wNC0yOSAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIHN0cmluZy90ZXN0LXN0cmNhdC5jIChkb19vbmVfdGVzdCk6IEZpeCBhdHRyaWJ1dGUgbmFtZS4KCjIwMDMtMDQtMzAgIEFsZXhhbmRyZSBPbGl2YSAgPGFvbGl2YUByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9zeXMvdWNvbnRleHQuaCAodWNvbnRleHQpOiBNYWtlCgl1Y19mbGFncyBsb25nIGZvciBhbGwgQUJJcy4KCjIwMDMtMDQtMzAgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXMvZGVidWdyZWcuaAoJKERSX0NPTlRST0xfUkVTRVJWRUQpOiBVc2UgY29ycmVjdCB2YWx1ZSBmb3IgNjQtYml0LgoJUmVwb3J0ZWQgYnkgQW5kcmV3IERlcnJpY2sgQmFsc2EgPGFuZHJlYmFsc2FAbWFpbGluZ2FkZHJlc3Mub3JnPi4KCUFkZCBiaS1hcmNoIHN1cHBvcnQuCgoyMDAzLTA0LTMwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hbGxvYy9tYWxsb2MuYyAobUVNQUxJR24pOiBEZWZpbmUgYWxpYXMgX19tZW1hbGlnbl9pbnRlcm5hbC4KCShfX3Bvc2l4X21lbWFsaWduKTogVXNlIF9fbWVtYWxpZ25faW50ZXJuYWwgaW5zdGVhZCBvZiBtZW1hbGlnbi4KCjIwMDMtMDQtMjkgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuaW46IFNlYXJjaCBmb3IgQVVUT0NPTkYgdW5jb25kaXRpb25hbGx5LgoJSnVzdCBkb24ndCBjb21wbGFpbiBhYm91dCBtaXNzaW5nIGl0IHVuZGVyIC0td2l0aG91dC1jdnMuCgoJKiBpbmNsdWRlL2xpYmMtc3ltYm9scy5oIChfX3N5bWJvbF9zZXRfYXR0cmlidXRlKTogTmV3IG1hY3JvLAoJZ2l2ZSBoaWRkZW4gZm9yIFtTSEFSRURdIGFuZCB3ZWFrIGZvciBbISBTSEFSRURdLgoJKHN5bWJvbF9zZXRfZGVjbGFyZSk6IFVzZSB0aGF0LiAgTmV2ZXIgbmVlZCB3ZWFrX2V4dGVybiB0aGVzZSBkYXlzLgoJKiBNYWtlcnVsZXMgKCQoY29tbW9uLW9ianBmeClzaGxpYi5sZHMpOiBHbyBiYWNrIHRvIHVzaW5nIFBST1ZJREUuCglEZXBlbmQgb24gJCguLilNYWtlcnVsZXMuCgoyMDAzLTA0LTI5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lmYWRkcnMuYyAoZ2V0aWZhZGRycyk6IFVzZSBfXyBwcm90ZWN0ZWQKCXZhcmlhbnRzIG9mIHNvY2tldCwgYmluZCwgcmVjdm1zZywgYW5kIHNlbmR0by4KCgkqIHN5c2RlcHMvaTM4Ni9mcHUvZnRlc3RleGNlcHQuYzogQWxzbyBjaGVjayBTU0Ugc3RhdHVzIHdvcmQuCgoJKiBpbmNsdWRlL3NpZ25hbC5oOiBVc2UgbGliY19oaWRkZW5fcHJvdG8gZm9yIHNpZ2FkZHNldCBhbmQgc2lnZGVsc2V0LgoJKiBzaWduYWwvc2lnYWRkc2V0LmM6IEFkZCBsaWJjX2hpZGRlbl9kZWYuCgkqIHNpZ25hbC9zaWdkZWxzZXQuYzogTGlrZXdpc2UuCgoyMDAzLTA0LTI5ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvaTM4Ni9pNDg2L3N0cmluZy1pbmxpbmVzLmMgKF9fbWVtY3B5X2csIF9fc3RyY2hyX2cpOiBNb3ZlCgl0byB0aGUgZW5kIG9mIHRoZSBmaWxlLgoKCSogY29uZmlndXJlLmluOiBDaGFuZ2UgX19vbGluZV9fIHRvICRMSU5FTk8uCgkoSEFWRV9CVUlMVElOX1JFRElSRUNUSU9OKTogTmV3IGNoZWNrLgoJKiBjb25maWcuaC5pbiAoSEFWRV9CVUlMVElOX1JFRElSRUNUSU9OKTogQWRkLgoJKiBpbmNsdWRlL2xpYmMtc3ltYm9scy5oIChsaWJjX2hpZGRlbl9idWlsdGluX3Byb3RvLAoJbGliY19oaWRkZW5fYnVpbHRpbl9kZWYsIGxpYmNfaGlkZGVuX2J1aWx0aW5fd2VhaywKCWxpYmNfaGlkZGVuX2J1aWx0aW5fdmVyKTogRGVmaW5lLgoJKiBpbmNsdWRlL3N0cmluZy5oIChtZW1jaHIsIG1lbWNweSwgbWVtbW92ZSwgbWVtc2V0LCBzdHJjYXQsIHN0cmNociwKCXN0cmNtcCwgc3RyY3B5LCBzdHJjc3BuLCBzdHJsZW4sIHN0cm5jbXAsIHN0cm5jcHksIHN0cnBicmssIHN0cnJjaHIsCglzdHJzcG4sIHN0cnN0cik6IEFkZCBsaWJjX2hpZGRlbl9idWlsdGluX3Byb3RvLgoJKiBpbnRsL3BsdXJhbC55OiBJbmNsdWRlIHN0cmluZy5oLgoJKiBzeXNkZXBzL2FscGhhL2FscGhhZXY2L21lbWNoci5TIChtZW1jaHIpOiBBZGQKCWxpYmNfaGlkZGVuX2J1aWx0aW5fZGVmLgoJKiBzeXNkZXBzL2FscGhhL2FscGhhZXY2L21lbWNweS5TIChtZW1jcHkpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9hbHBoYS9hbHBoYWV2Ni9tZW1zZXQuUyAobWVtc2V0KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvYWxwaGEvYWxwaGFldjY3L3N0cmNhdC5TIChzdHJjYXQpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9hbHBoYS9hbHBoYWV2Njcvc3RyY2hyLlMgKHN0cmNocik6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2FscGhhL2FscGhhZXY2Ny9zdHJsZW4uUyAoc3RybGVuKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvYWxwaGEvYWxwaGFldjY3L3N0cnJjaHIuUyAoc3RycmNocik6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2FscGhhL21lbWNoci5TIChtZW1jaHIpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9hbHBoYS9tZW1zZXQuUyAobWVtc2V0KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvYWxwaGEvc3RyY2F0LlMgKHN0cmNhdCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2FscGhhL3N0cmNoci5TIChzdHJjaHIpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9hbHBoYS9zdHJjbXAuUyAoc3RyY21wKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvYWxwaGEvc3RyY3B5LlMgKHN0cmNweSk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2FscGhhL3N0cmxlbi5TIChzdHJsZW4pOiBMaWtld2lzZS4KCSogc3lzZGVwcy9hbHBoYS9zdHJuY21wLlMgKHN0cm5jbXApOiBMaWtld2lzZS4KCSogc3lzZGVwcy9hbHBoYS9zdHJuY3B5LlMgKHN0cm5jcHkpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9hbHBoYS9zdHJyY2hyLlMgKHN0cnJjaHIpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9hcm0vbWVtc2V0LlMgKG1lbXNldCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2FybS9zdHJsZW4uUyAoc3RybGVuKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9tZW1jaHIuYyAobWVtY2hyKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9tZW1jcHkuYyAobWVtY3B5KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9tZW1tb3ZlLmMgKG1lbW1vdmUpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL21lbXNldC5jIChtZW1zZXQpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL3N0cmNhdC5jIChzdHJjYXQpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL3N0cmNoci5jIChzdHJjaHIpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL3N0cmNtcC5jIChzdHJjbXApOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL3N0cmNweS5jIChzdHJjcHkpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL3N0cmNzcG4uYyAoc3RyY3Nwbik6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvc3RybGVuLmMgKHN0cmxlbik6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvc3RybmNtcC5jIChzdHJuY21wKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zdHJuY3B5LmMgKHN0cm5jcHkpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL3N0cnBicmsuYyAoc3RycGJyayk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvc3RycmNoci5jIChzdHJyY2hyKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zdHJzcG4uYyAoc3Ryc3BuKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zdHJzdHIuYyAoc3Ryc3RyKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNDg2L3N0cmNhdC5TIChzdHJjYXQpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k0ODYvc3RybGVuLlMgKHN0cmxlbik6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTU4Ni9tZW1jcHkuUyAobWVtY3B5KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNTg2L21lbXNldC5TIChtZW1zZXQpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k1ODYvc3RyY2hyLlMgKHN0cmNocik6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTU4Ni9zdHJjcHkuUyAoc3RyY3B5KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNTg2L3N0cmxlbi5TIChzdHJsZW4pOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k2ODYvbWVtY3B5LlMgKG1lbWNweSk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTY4Ni9tZW1tb3ZlLlMgKG1lbW1vdmUpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k2ODYvbWVtc2V0LlMgKG1lbXNldCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTY4Ni9zdHJjbXAuUyAoc3RyY21wKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9tZW1jaHIuUyAobWVtY2hyKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9tZW1zZXQuYyAobWVtc2V0KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9zdHJjaHIuUyAoc3RyY2hyKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9zdHJjc3BuLlMgKHN0cmNzcG4pOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L3N0cmxlbi5jIChzdHJsZW4pOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L3N0cnBicmsuUyAoc3RycGJyayk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvc3RycmNoci5TIChzdHJyY2hyKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9zdHJzcG4uUyAoc3Ryc3BuKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaWE2NC9tZW1jaHIuUyAobWVtY2hyKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaWE2NC9tZW1jcHkuUyAobWVtY3B5KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaWE2NC9tZW1tb3ZlLlMgKG1lbW1vdmUpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pYTY0L21lbXNldC5TIChtZW1zZXQpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pYTY0L3N0cmNhdC5TIChzdHJjYXQpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pYTY0L3N0cmNoci5TIChzdHJjaHIpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pYTY0L3N0cmNtcC5TIChzdHJjbXApOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pYTY0L3N0cmNweS5TIChzdHJjcHkpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pYTY0L3N0cmxlbi5TIChzdHJsZW4pOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pYTY0L3N0cm5jbXAuUyAoc3RybmNtcCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2lhNjQvc3RybmNweS5TIChzdHJuY3B5KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbTY4ay9tZW1jaHIuUyAobWVtY2hyKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbTY4ay9zdHJjaHIuUyAoc3RyY2hyKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbWlwcy9taXBzNjQvbWVtY3B5LlMgKG1lbWNweSk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21pcHMvbWlwczY0L21lbXNldC5TIChtZW1zZXQpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL21lbWNweS5TIChtZW1jcHkpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL21lbXNldC5TIChtZW1zZXQpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGMzMi9tZW1zZXQuUyAobWVtc2V0KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvc3RyY2hyLlMgKHN0cmNocik6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL3N0cmNtcC5TIChzdHJjbXApOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGMzMi9zdHJjcHkuUyAoc3RyY3B5KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvc3RybGVuLlMgKHN0cmxlbik6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzY0L21lbWNweS5TIChtZW1jcHkpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9tZW1zZXQuUyAobWVtc2V0KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjNjQvc3RyY2hyLlMgKHN0cmNocik6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzY0L3N0cmNtcC5TIChzdHJjbXApOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9zdHJjcHkuUyAoc3RyY3B5KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjNjQvc3RybGVuLlMgKHN0cmxlbik6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvc3RyY2F0LmMgKHN0cmNhdCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvbWVtY2hyLlMgKG1lbWNocik6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvbWVtY3B5LlMgKG1lbWNweSk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvbWVtc2V0LlMgKG1lbXNldCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvc3RyY2F0LlMgKHN0cmNhdCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvc3RyY2hyLlMgKHN0cmNociwgc3RycmNocik6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvc3RyY21wLlMgKHN0cmNtcCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvc3RyY3B5LlMgKHN0cmNweSk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvc3RybGVuLlMgKHN0cmxlbik6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc3BhcmN2OWIvbWVtY3B5LlMgKG1lbWNweSwgbWVtbW92ZSk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvbWVtY2hyLlMgKG1lbWNocik6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvbWVtY3B5LlMgKG1lbWNweSwgbWVtbW92ZSk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvbWVtc2V0LlMgKG1lbXNldCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc3RyY2F0LlMgKHN0cmNhdCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc3RyY2hyLlMgKHN0cmNociwgc3RycmNocik6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc3RyY21wLlMgKHN0cmNtcCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc3RyY3B5LlMgKHN0cmNweSk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc3RyY3Nwbi5TIChzdHJjc3BuKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zdHJsZW4uUyAoc3RybGVuKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zdHJuY21wLlMgKHN0cm5jbXApOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3N0cm5jcHkuUyAoc3RybmNweSk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc3RycGJyay5TIChzdHJwYnJrKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zdHJzcG4uUyAoc3Ryc3BuKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc2gvbWVtY3B5LlMgKG1lbWNweSk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NoL21lbXNldC5TIChtZW1zZXQpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zaC9zdHJsZW4uUyAoc3RybGVuKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvczM5MC9zMzkwLTMyL21lbWNoci5TIChtZW1jaHIpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zMzkwL3MzOTAtMzIvbWVtY3B5LlMgKG1lbWNweSk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3MzOTAvczM5MC0zMi9tZW1zZXQuUyAobWVtc2V0KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvczM5MC9zMzkwLTMyL3N0cmNtcC5TIChzdHJjbXApOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zMzkwL3MzOTAtMzIvc3RyY3B5LlMgKHN0cmNweSk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3MzOTAvczM5MC0zMi9zdHJuY3B5LlMgKHN0cm5jcHkpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zMzkwL3MzOTAtNjQvbWVtY2hyLlMgKG1lbWNocik6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3MzOTAvczM5MC02NC9tZW1jcHkuUyAobWVtY3B5KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvczM5MC9zMzkwLTY0L21lbXNldC5TIChtZW1zZXQpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zMzkwL3MzOTAtNjQvc3RyY21wLlMgKHN0cmNtcCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3MzOTAvczM5MC02NC9zdHJjcHkuUyAoc3RyY3B5KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvczM5MC9zMzkwLTY0L3N0cm5jcHkuUyAoc3RybmNweSk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3g4Nl82NC9tZW1jcHkuUyAobWVtY3B5KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMveDg2XzY0L21lbXNldC5TIChtZW1zZXQpOiBMaWtld2lzZS4KCSogc3lzZGVwcy94ODZfNjQvc3RyY2F0LlMgKHN0cmNhdCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3g4Nl82NC9zdHJjaHIuUyAoc3RyY2hyKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMveDg2XzY0L3N0cmNtcC5TIChzdHJjbXApOiBMaWtld2lzZS4KCSogc3lzZGVwcy94ODZfNjQvc3RyY3B5LlMgKHN0cmNweSk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3g4Nl82NC9zdHJjc3BuLlMgKHN0cmNzcG4pOiBMaWtld2lzZS4KCSogc3lzZGVwcy94ODZfNjQvc3RybGVuLlMgKHN0cmxlbik6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3g4Nl82NC9zdHJzcG4uUyAoc3Ryc3BuKTogTGlrZXdpc2UuCgkqIHN0cmluZy9zdHJpbmctaW5saW5lcy5jOiBNb3ZlLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy9zdHJpbmctaW5saW5lcy5jOiAuLi5oZXJlLgoJKF9fbWVtY3B5X2csIF9fc3RyY2hyX2cpOiBSZW1vdmUuCgkoX19OT19JTkxJTkVfXyk6IERlZmluZSBiZWZvcmUgaW5jbHVkaW5nIDxzdHJpbmcuaD4sCgl1bmRlZmluZSBhZnRlci4gIEluY2x1ZGUgYml0cy9zdHJpbmcuaCBhbmQgYml0cy9zdHJpbmcyLmguCgkqIHN5c2RlcHMvaTM4Ni9pNDg2L3N0cmluZy1pbmxpbmVzLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2kzODYvc3RyaW5nLWlubGluZXMuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaTM4Ni9pNDg2L1ZlcnNpb25zOiBSZW1vdmUuCglBbGwgR0xJQkNfMi4xLjEgc3ltYm9scyBtb3ZlZC4uLgoJKiBzeXNkZXBzL2kzODYvVmVyc2lvbnMgKGxpYmMpOiAuLi5oZXJlLgoKMjAwMy0wNC0yOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2kzODYvZnB1L01ha2VmaWxlOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pMzg2L2ZwdS9mZWRpc2JseGNwdC5jOiBBbHNvIHNldCBTU0UgY29udHJvbCB3b3JkLgoJKiBzeXNkZXBzL2kzODYvZnB1L2ZlZW5hYmx4Y3B0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvZnB1L2ZlaG9sZGV4Y3B0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvZnB1L2Zlc2V0cm91bmQuYzogQWxzbyBzZXQgU1NFIHJvdW5kaW5nIG1vZGUKCVtQUiBsaWJjLzQ5ODddLgoKMjAwMy0wNC0yOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBuc2NkL25zY2RfZ2V0Z3Jfci5jOiBDb21wYWN0IGNvZGUgYSBiaXQuICBBZGQgc29tZSBfX2J1aWx0aW5fZXhwZWN0LgoJKiBuc2NkL25zY2RfZ2V0cHdfci5jOiBMaWtld2lzZS4KCSogbnNjZC9uc2NkX2dldGhzdF9yLmM6IExpa2V3aXNlLgoKMjAwMy0wNC0yNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBuc2NkL3B3ZGNhY2hlLmM6IEluaXRpYWxpemUgLnZlcnNpb24gZWxlbWVudCBpbiByZXN1bHQuCgkqIG5zY2QvZ3JwY2FjaGUuYzogTGlrZXdpc2UuCgkqIG5zY2QvcHdkY2FjaGUuYzogTGlrZXdpc2UuCgoyMDAzLTA0LTI3ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogTWFrZWNvbmZpZyAoJChjb21tb24tb2JqcGZ4KXN5c2Qtc29ydGVkKTogRml4IGZvciBydW5uaW5nIGluCglzdWJkaXJlY3RvcnkuCgoyMDAzLTA0LTI3ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9zZW10aW1lZG9wLlM6IE5ldyBmaWxlLgoKMjAwMy0wNC0yNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBuc2NkL2Nvbm5lY3Rpb25zLmMgKGNsaWVudF9xdWV1ZWQpOiBOZXcgdmFyaWFibGUuCgkobnNjZF9ydW4pOiBSZXZhbXAgdGhlIGxvb3AuICBEb24ndCBjYWxsIHBvbGwgZXhjZXB0IGZvciBjbGVhbnVwCgl0aHJlYWRzLiAgS2VlcCB0cmFjayBvZiB0aGUgbnVtYmVyIG9mIGRlbGF5cyBjYXVzZWQgYmVjYXVzZSBvZiBidXN5Cgl3b3JrZXIgdGhyZWFkcy4KCSogbnNjZC9uc2NkLmg6IERlY2xhcmUgY2xpZW50X3F1ZXVlZC4KCSogbnNjZC9uc2NkX3N0YXQuYzogVHJhbnNtaXQgYW5kIHByaW50IGNsaWVudF9xdWV1ZWQgaW5mb3JtYXRpb24uCgoJKiBsb2NhbGUvcHJvZ3JhbXMvbG9jYWxlLmMgKHNob3dfaW5mbyk6IFVzZSAnXDE3NycgaW5zdGVhZCBvZiBDSEFSX01BWC4KCgkqIE1ha2VydWxlcyAoJChjb21tb24tb2JqcGZ4KXNobGliLmxkcyk6IERvbid0IHVzZSBQUk9WSURFIHRvCglkZWZpbmUgX19zdGFydF9saWJjX2ZyZWVyZXNfcHRycyBhbmQgX19zdG9wX19fbGliY19mcmVlcmVzX3B0cnMuCgoyMDAzLTA0LTI2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9kbC1jbG9zZS5jIFtVU0VfVExTICYmIFRMU19UQ0JfQVRfVFBdIChfZGxfY2xvc2UpOiBSZWltcGxlbWVudAoJdHJhY2tpbmcgb2YgZnJlZWQgbWVtb3J5IGluIHN0YXRpYyBUTFMgYmxvY2suCgkqIGVsZi9NYWtlZmlsZTogQWRkIHJ1bGVzIHRvIGJ1aWxkIGFuZCBydW4gdHN0LXRsczEzLgoJKiBlbGYvdHN0LXRsczEzLmM6IE5ldyBmaWxlLgoJKiBlbGYvdHN0LXRsc21vZDEzLmM6IE5ldyBmaWxlLgoJKiBlbGYvdHN0LXRsc21vZDEzYS5jOiBOZXcgZmlsZS4KCgkqIGVsZi90c3QtdGxzOC5jOiBBZGp1c3QgdHlwZXMgb2YgdmFyaWFibGVzIHRvIGF2b2lkIHdhcm5pbmdzLgoKCSogZWxmL2RsLXJlbG9jLmM6IFByZXR0eSBwcmludGluZy4KCjIwMDMtMDQtMjYgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBNYWtlcnVsZXMgKCQoY29tbW9uLW9ianBmeClzaGxpYi5sZHMpOiBOZXcgdGFyZ2V0LgoJKGNvbW1vbi1nZW5lcmF0ZWQpOiBBZGQgaXQuCgkoYnVpbGQtc2hsaWIsIGJ1aWxkLW1vZHVsZSk6IFVzZSB0aGF0IGluc3RlYWQgb2YgZ2VuZXJhdGluZyBldmVyeSB0aW1lLgoJKCQoY29tbW9uLW9ianBmeClsaWJjLnNvKTogRGVwZW5kIG9uIGl0LgoJKGxpYiUuc28gcnVsZSk6IExpa2V3aXNlLgoJKGJ1aWxkLW1vZHVsZS1oZWxwZXItb2JqbGlzdCk6IFJlbW92ZSAlLmxkcy4KCShMRFNFRENNRC1jLnNvKTogVmFyaWFibGUgcmVtb3ZlZC4KCSogaWNvbnZkYXRhL2V4dHJhLW1vZHVsZS5tayAoJChvYmpwZngpJChtb2QpLnNvKToKCURlcGVuZCBvbiAkKGNvbW1vbi1vYmpwZngpc2hsaWIubGRzLgoJKiBkbGZjbi9NYWtlZmlsZSAoJCh0ZXN0LW1vZHVsZXMpKTogTGlrZXdpc2UuCgoyMDAzLTA0LTI2ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEBmcm9iLmNvbT4KCgkqIHN5c2RlcHMvbWFjaC9odXJkL3RtcGZpbGUuYzogUmVtb3ZlIFVTRV9JTl9MSUJJTyBjb25kaXRpb25hbHMuCgoyMDAzLTA0LTI2ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogZWxmL2RsLWNsb3NlLmMgKHJlbW92ZV9zbG90aW5mbyk6IEZpeCBtaXNzaW5nIHBhcmVucy4KCjIwMDMtMDQtMjUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbnNjZC9jYWNoZS5jIChjYWNoZV9zZWFyY2gpOiBLZWVwIHRyYWNrIG9mIGhvdyBtYW55IGNoYWluIGxpbmtzCgl3ZSBzZWFyY2hlZCBhbmQgdXBkYXRlIHRhYmxlIHN0YXRpc3RpY3MuCgkoY2FjaGVfYWRkKTogS2VlcCB0cmFjayBvZiBob3cgbWFueSB2YWx1ZXMgYXJlIGluIHRoZSB0YWJsZS4KCShwcnVuZV9jYWNoZSk6IExpa2V3aXNlLiAgS2VlcCB0cmFjayBvZiBsb2NraW5nIHN1Y2Nlc3MuCglQcmludCBtZXNzYWdlcyBhYm91dCByZW1vdmVkIGVudHJpZXMgaW4gc2VwYXJhdGUgcGFzcy4KCSogbnNjZC9jb25uZWN0aW9ucy5jIChoYW5kbGVfcmVxdWVzdCk6IERvbid0IHByaW50IGRlYnVnIG1lc3NhZ2UgaGVyZS4KCVRoZSBjYWxsZXIgd2lsbCBkbyBpdC4gIEtlZXAgdHJhY2sgb2YgbG9ja2luZyBzdWNjZXNzLgoJKG5zY2RfcnVuKTogUHJpbnQgZGVidWcgbWVzc2FnZS4gIEFsc28gcHJpbnQgUElEIG9mIHRoZSBjbGllbnQgcHJvY2Vzcy4KCSogbnNjZC9uc2NkLmMgKHN0YXJ0X3RpbWUpOiBOZXcgdmFyaWFibGUuCgkobWFpbik6IFJlbWVtYmVyIHN0YXJ0IHRpbWUuCgkqIG5zY2QvbnNjZC5oOiBEZWNsYXJlIHN0YXJ0X3RpbWUuCgkoc3RydWN0IGRhdGFiYXNlKTogQWRkIG1vcmUgbWVtYmVycyBmb3IgbmV3IHN0YXRpc3RpY3MuCgkqIG5zY2QvbnNjZF9zdGF0LmM6IEFkZCBzdXBwb3J0IGZvciBzZW5kaW5nLCByZWNlaXZpbmcsIGFuZCBwcmludGluZwoJb2YgbmV3IHN0YXRpc3RpY3MuCgoJKiBzeXNkZXBzL3Bvc2l4L2dldGFkZHJpbmZvLmM6IEluY2x1ZGUgPHN0ZGJvb2wuaD4uCgoyMDAzLTA0LTIyICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvbGluay5oIChOT19UTFNfT0ZGU0VUKTogRGVmaW5lIHRvIDAgaWYgbm90IGRlZmluZWQuCgkqIGVsZi9kbC1jbG9zZS5jIChfZGxfY2xvc2UpOiBVc2UgTk9fVExTX09GRlNFVC4KCSogZWxmL2RsLW9iamVjdC5jIChfZGxfbmV3X29iamVjdCk6IEluaXRpYWxpemUgbF90bHNfb2Zmc2V0IHRvCglOT19UTFNfT0ZGU0VULgoJKiBlbGYvcnRsZC5jIChfZGxfc3RhcnRfZmluYWwsIF9kbF9zdGFydCk6IExpa2V3aXNlLgoJKiBlbGYvZGwtcmVsb2MuYyAoQ0hFQ0tfU1RBVElDX1RMUyk6IFVzZSBOT19UTFNfT0ZGU0VULgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtdGxzLmMgKF9kbF9hbGxvY2F0ZV90bHNfaW5pdCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvZGwtdGxzLmggKFRMU19UUFJFTF9WQUxVRSk6IERvbid0IHN1YnRyYWN0CglUTFNfVENCX1NJWkUuCgoyMDAzLTA0LTI0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG5zcy9nZXRlbnQuYzogSW1wbGVtZW50IGFsdGVybmF0aXZlIGhvc3QgZGF0YWJhc2UgbG9va3VwIHZpYQoJZ2V0YWRkcmluZm8uCgoJKiBpbmNsdWRlL2lmYWRkcnMuaDogTmV3IGZpbGUuCgkqIGluY2x1ZGUvbmV0ZGIuaDogTW92ZSBkZWZpbml0aW9ucyBvZiBBSV9WNE1BUFBFRCwgQUlfQUxMLCBhbmQKCUFJX0FERFJDT05GSUcuLi4KCSogcmVzb2x2L25ldGRiLmg6IC4uLmhlcmUuCgkqIHN5c2RlcHMvZ251L2lmYWRkcnMuYy4gVXNlIGxpYmNfaGlkZGVuX2RlZiB3aGVyZSBhcHByb3ByaWF0ZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWZhZGRycy5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3NpeC9nZXRhZGRyaW5mby5jOiBJbXBsZW1lbnQgQUlfVjRNQVBQRUQsIEFJX0FMTCwgYW5kCglBSV9BRERSQ09ORklHLgoKMjAwMy0wNC0yNCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIGVsZi9kbC1yZWxvYy5jIChfZGxfYWxsb2NhdGVfc3RhdGljX3Rscyk6IEFkZCBpbnRlcm5hbF9mdW5jdGlvbi4KCjIwMDMtMDQtMjQgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogZWxmL2RsLXJlbG9jLmMgKGFsbG9jYXRlX3N0YXRpY190bHMpOiBSZW5hbWUgdG8uLi4KCShfZGxfYWxsb2NhdGVfc3RhdGljX3Rscyk6IC4uLiB0aGlzIGZ1bmN0aW9uLiAgTm8gbG9uZ2VyIHN0YXRpYy4KCShDSEVDS19TVEFUSUNfVExTKTogQWRqdXN0LgoJKiBzeXNkZXBzL2dlbmVyaWMvbGRzb2RlZnMuaCAoX2RsX2FsbG9jYXRlX3N0YXRpY190bHMpOiBOZXcgcHJvdG90eXBlLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL2RsLW1hY2hpbmUuaCAoX19wcm9jZXNzX21hY2hpbmVfcmVsYSk6CglBZGQgU1lNX01BUCBhcmd1bWVudC4KCShlbGZfbWFjaGluZV9yZWxhKTogQWRqdXN0IGNhbGxlci4gIERlY2xhcmUgU1lNX01BUCB1bmNvbmRpdGlvbmFsbHkuCglDaGVjayBpZiBTWU1fTUFQICE9IE5VTEwgZm9yIFJfUFBDX0RUUFJFTDMyLiAgT25seSBoYW5kbGUgMzItYml0CglUTFMgcmVsb2NzIGhlcmUuICAjaWZkZWYgb3V0IHJlbG9jcyB3aGljaCBuZXZlciBhcHBlYXIgaW4KCS5nbnUuY29uZmxpY3Qgc2VjdGlvbiBmcm9tIGRsLWNvbmZsaWN0LmMgcHJvY2Vzc2luZy4KCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGMzMi9kbC1tYWNoaW5lLmMgKF9fcHJvY2Vzc19tYWNoaW5lX3JlbGEpOgoJQWRkIFNZTV9NQVAgYXJndW1lbnQuICBIYW5kbGUgMTYtYml0IFRMUyByZWxvY3MgaGVyZS4KCgkqIHN5c2RlcHMvczM5MC9zMzkwLTMyL2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfcmVsYSk6ICNpZmRlZgoJb3V0IHJlbG9jcyB3aGljaCBuZXZlciBhcHBlYXIgaW4gLmdudS5jb25mbGljdCBzZWN0aW9uIGZyb20KCWRsLWNvbmZsaWN0LmMgcHJvY2Vzc2luZy4KCSogc3lzZGVwcy9zMzkwL3MzOTAtNjQvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9yZWxhKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMveDg2XzY0L2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfcmVsYSk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9yZWxhKTogTGlrZXdpc2UuCglVc2Ugcl90eXBlIGluIFJFU09MVkUgbWFjcm8uCgoyMDAzLTA0LTIzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG5pcy95cGNsbnQuYyAoX195cF9iaW5kKTogRXhwZWN0IFlQREIgcGFyYW1ldGVyIHRvIGFsd2F5cyBiZSAhPQoJTlVMTC4gIFJlbW92ZSBjb2RlIG1hZGUgcmVkdW5kYW50IGJ5IHRoaXMgYXNzdW1wdGlvbi4KCShfX3lwX3VuYmluZCk6IEFkZCBjYWxsIHRvIGZyZWUuICBBZGp1c3QgYWxsIGNhbGxlcnMuCgoJKiBuaXMveXBjbG50LmMgKHlwX2FsbCk6IEZyZWUgdGhlIGRvbV9iaW5kaW5nIG9iamVjdCBhZnRlcgoJdW5iaW5kaW5nIGl0LgoKCSogZ3JwL2luaXRncm91cHMuYyAoZ2V0Z3JvdXBsaXN0KTogRG9uJ3QgY29weSB0b28gbXVjaCBpbnRvIHRoZQoJdXNlciBidWZmZXIgaWYgbW9yZSBncm91cHMgYXJlIGZvdW5kIHRoYW4gZml0IGludG8gaXQuCgoJKiBuaXMvbnNzX25pcy9uaXMtaW5pdGdyb3Vwcy5jIChfbnNzX25pc19pbml0Z3JvdXBzX2R5bik6IFVzZQoJZXh0ZW5kX2FsbG9jYS4KCjIwMDMtMDQtMjMgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9wb3NpeC9nZXRhZGRyaW5mby5jIChnYWloX2luZXQpOiBDaGVjayBmb3IgcmMgPT0gRVJBTkdFLAoJbm90IHJjID09IGVycm5vLiAgVXNlIGV4dGVuZF9hbGxvY2EuCgoJKiBlbGYvdHN0LXRsczEyLmMgKG1haW4pOiBGaXggZGVjbGFyYXRpb24uCgkqIGVsZi90c3QtdGxzMTAuYyAoZHVtbXkpOiBNYWtlIGhpZGRlbiBpbnN0ZWFkIG9mIHN0YXRpYy4KCSogZWxmL3RzdC10bHNtb2Q3LmMgKGR1bW15KTogTGlrZXdpc2UuCgkqIGVsZi90c3QtdGxzbW9kOC5jIChkdW1teSk6IExpa2V3aXNlLgoJKiBlbGYvdHN0LXRsc21vZDkuYyAoZHVtbXkpOiBMaWtld2lzZS4KCjIwMDMtMDQtMjIgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ub3QtY2FuY2VsLmg6IFB1dCBwYXJlbnMgYXJvdW5kIG1hY3JvIGFyZ3MuCgkob3Blbl9ub3RfY2FuY2VsKTogTWFrZSBsYXN0IGFyZ3VtZW50IG5vbi1vcHRpb25hbC4KCSogc3lzZGVwcy9nZW5lcmljL2NoZWNrX2Zkcy5jIChjaGVja19vbmVfZmQpOiBVcGRhdGUgY2FsbGVyLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9nZXRob3N0aWQuYyAoZ2V0aG9zdGlkKTogTGlrZXdpc2UuCgkqIGljb252L2djb252X2NhY2hlLmMgKF9fZ2NvbnZfbG9hZF9jYWNoZSk6IExpa2V3aXNlLgoKCSogaW5jbHVkZS90bHMuaDogUHJvdGVjdCBhZ2FpbnN0IG11bHRpcGxlIGluY2x1c2lvbi4KCjIwMDMtMDQtMjIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbnNjZC9uc2NkLWNsaWVudC5oOiBBZGQgZGVjbGFyYXRpb24gZm9yIF9fbnNjZF9vcGVuX3NvY2tldC4KCSogbnNjZC9uc2NkX2dldGhzdF9yLmMgKF9fbnNjZF9vcGVuX3NvY2tldCk6IFJlbmFtZWQgZnJvbQoJb3Blbl9zb2NrZXQuICBOb3Qgc3RhdGljIGFueW1vcmUuCgkobnNjZF9nZXRoc3Rfcik6IFVzZSBfX25zY2Rfb3Blbl9zb2NrZXQuCgkqIG5zY2QvbnNjZF9nZXRncl9yLmMgKG9wZW5fc29ja2V0KTogUmVtb3ZlZC4KCShuc2NkX2dldGdyX3IpOiBVc2UgX19uc2NkX29wZW5fc29ja2V0LgoJKiBuc2NkL25zY2RfZ2V0cHdfci5jIChvcGVuX3NvY2tldCk6IFJlbW92ZWQuCgkobnNjZF9nZXRwd19yKTogVXNlIF9fbnNjZF9vcGVuX3NvY2tldC4KCgkqIG5zY2QvbnNjZC5jIChtYWluKTogQ2hhbmdlIHR5cGUgb2YgZmRuIHRvIGxvbmcgaW50IGFuZCB1c2Ugc3RydG9sLgoJKiBuc2NkL2Nvbm5lY3Rpb25zLmMgKGhhbmRsZV9yZXF1ZXN0KTogQWRkIGNhc3QgdG8gYXZvaWQgd2FybmluZy4KCjIwMDMtMDQtMjEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc2lnbmFsL3NpZ2ZpbGxzZXQuYzogTW92ZWQgdG8uLi4KCSogc3lzZGVwcy9nZW5lcmljL3NpZ2ZpbGxzZXQuYzogLi4uaGVyZS4gIElmIFNJR0NBTkNFTCBpcyBkZWZpbmVkCglkbyBub3Qgc2V0IHRoZSBjb3JyZXNwb25kaW5nIGJpdC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NpZ3Byb2NtYXNrLmM6IFByZXZlbnQgY2hhbmdpbmcgbWFzayBmb3IKCVNJR0NBTkNFTC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvYml0cy9zaWdpbmZvLmg6IERlZmluZSBTSV9US0lMTC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9zaWdpbmZvLmg6IERlZmluZSBTSV9US0lMTC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9iaXRzL3NpZ2luZm8uaDogRGVmaW5lIFNJX1RLSUxMLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2JpdHMvc2lnaW5mby5oOiBEZWZpbmUgU0lfVEtJTEwuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL2JpdHMvc2lnaW5mby5oOiBEZWZpbmUgU0lfVEtJTEwuCgoyMDAzLTA0LTIwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L25vdC1jYW5jZWwuaCAob3Blbl9ub3RfY2FuY2VsKTogQ2FzdAoJZmlyc3Qgc3lzY2FsbCBwYXJhbWV0ZXIgdG8gY29uc3QgY2hhciouCgoyMDAzLTA0LTE5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGludGwvTWFrZWZpbGUgKCQob2JqcGZ4KW1zZ3MuaCk6IFVzZSBDIGxvY2FsZSBmb3Igc2VkIHJ1bi4KCgkqIGNvbmZpZ3VyZS5pbjogQWRkIEFDX1BST0dfQ1hYLgoJKiBjb25maWcubWFrZS5pbiAoQ1hYKTogRGVmaW5lLgoKCSogc3lzZGVwcy9pMzg2L2k2ODYvaHAtdGltaW5nLmggKEhQX1RJTUlOR19QUklOVCk6IENoYW5nZSB0eXBlIG9mCglfX2xlbiB0byBzaXplX3QgdG8gYXZvaWQgd2FybmluZ3MuCgoyMDAzLTA0LTE4ICBKZXMgU29yZW5zZW4gIDxqZXNAd2lsZG9wZW5zb3VyY2UuY29tPgoKCSogbGliYy9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvZmNudGwuaDogU3luYyB3aXRoIExpbnV4CgkyLjUuNjcuCgkqIGxpYmMvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvYml0cy9mY250bC5oOiBMaWtld2lzZS4KCjIwMDMtMDQtMTkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3RkbGliL2N4YV9maW5hbGl6ZS5jIChfX2N4YV9maW5hbGl6ZSk6IERvbid0IGNhbGwKCVVOUkVHSVNURVJfQVRGT1JLIGlmIGQgPT0gTlVMTC4KCgkqIGNhdGdldHMvbmxfdHlwZXMuaDogUmVtb3ZlIF9fVEhST1cgbWFya2VyIGZyb20gY2FuY2VsbGF0aW9uIHBvaW50cy4KCSogZGlyZW50L2RpcmVudC5oOiBMaWtld2lzZS4KCSogZGxmY24vZGxmY24uaDogTGlrZXdpc2UuCgkqIGdycC9ncnAuaDogTGlrZXdpc2UuCgkqIGljb252L2ljb252Lmg6IExpa2V3aXNlLgoJKiBpby9mY250bC5oOiBMaWtld2lzZS4KCSogaW8vZnR3Lmg6IExpa2V3aXNlLgoJKiBsaWJpby9zdGRpby5oOiBMaWtld2lzZS4KCSogbWlzYy9zeXMvbW1hbi5oOiBMaWtld2lzZS4KCSogbWlzYy9zeXMvc2VsZWN0Lmg6IExpa2V3aXNlLgoJKiBtaXNjL3N5cy9zeXNsb2cuaDogTGlrZXdpc2UuCgkqIG1pc2Mvc3lzL3Vpby5oOiBMaWtld2lzZS4KCSogcG9zaXgvc3Bhd24uaDogTGlrZXdpc2UuCgkqIHBvc2l4L3VuaXN0ZC5oOiBMaWtld2lzZS4KCSogcG9zaXgvc3lzL3dhaXQuaDogTGlrZXdpc2UuCgkqIHB3ZC9wd2QuaDogTGlrZXdpc2UuCgkqIHJlc29sdi9uZXRkYi5oOiBMaWtld2lzZS4KCSogcnQvYWlvLmg6IExpa2V3aXNlLgoJKiBzaGFkb3cvc2hhZG93Lmg6IExpa2V3aXNlLgoJKiBzaWduYWwvc2lnbmFsLmg6IExpa2V3aXNlLgoJKiBzb2NrZXQvc3lzL3NvY2tldC5oOiBMaWtld2lzZS4KCSogc3RkbGliL3N0ZGxpYi5oOiBMaWtld2lzZS4KCSogc3RyZWFtcy9zdHJvcHRzLmg6IExpa2V3aXNlLgoJKiBzdHJpbmcvc3RyaW5nLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dudS91dG1weC5oOiBMaWtld2lzZS4KCSogc3lzdmlwYy9zeXMvbXNnLmg6IExpa2V3aXNlLgoJKiB0ZXJtaW9zL3Rlcm1pb3MuaDogTGlrZXdpc2UuCgkqIHRpbWUvdGltZS5oOiBMaWtld2lzZS4KCSogd2NzbWJzL3djaGFyLmg6IExpa2V3aXNlLgoJKiBpY29udi9nY29udl9jYWNoZS5jOiBJbmNsdWRlIDxub3QtY2FuY2VsLmg+IGFuZCB1c2Ugbm9uLWNhbmNlbGFibGUKCWZ1bmN0aW9ucy4KCSogbWlzYy9kYWVtb24uYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9iYWNrdHJhY2VzeW1zZmQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9jaGVja19mZHMuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2dldGhvc3RpZC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbm90LWNhbmNlbC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9nZW5lcmljL25vdC1jYW5jZWwuaDogTmV3IGZpbGUuCgkqIGNzdS9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCBub3QtY2FuY2VsLmguCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2ZhdGFsLXByZXBhcmUuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L01ha2VmaWxlOiBEZWZpbmUgRkFUQUxfUFJFUEFSRV9JTkNMVURFCglmb3IgYXNzZXJ0LmMgYW5kIGFzc2VydC1wZXJyLmMgdG8gaW5jbHVkZSA8ZmF0YWwtcHJlcGFyZS5oPi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvRGlzdDogQWRkIGZhdGFsLXByZXBhcmUuaC4KCgkqIHN5c2RlcHMvcG9zaXgvcmVtb3ZlLmMgKHJlbW92ZSk6IFJld3JpdGUuICBObyBuZWVkIHRvIHJlc3RvcmUKCWVycm5vIGFuZCB1bmxpbmsgZmlyc3QuCgoJKiBpby9mdHcuYyAoZnR3X2Rpcik6IEluIGFsbCBwbGFjZXMgYXNzdW1lIGZjaGRpciBpcyBhdmFpbGFibGUuCgoyMDAzLTA0LTE4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2xpYmNfZmF0YWwuYyAoX19saWJjX2ZhdGFsKTogVXNlCglJTlRFUk5BTF9TWVNDQUxMIGluc3RlYWQgb2YgSU5MSU5FX1NZU0NBTEwuCgoyMDAzLTA0LTE3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L01ha2VmaWxlOiBSZW1vdmUgZGIyIGRpcmVjdG9yeSBoYW5kbGluZy4KCgkqIG1hbGxvYy9NYWtlZmlsZSAoQ0ZMQUdTLW1hbGxvYy5jKTogRGVmaW5lIERFRkFVTFRfVE9QX1BBRCB0byAxMjhrLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9NYWtlZmlsZSAoQ0ZMQUdTLW1hbGxvYy5jKTogQWRkIHRvLCBub3QKCXJlcGxhY2UuCgoJKiBzaWduYWwvTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC1zaWdzaW1wbGUuCgkqIHNpZ25hbC90c3Qtc2lnc2ltcGxlLmM6IE5ldyBmaWxlLgoKMjAwMy0wNC0xNiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBlbGYvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgdHN0LXRsc21vZHtbNy05XSwxWzAtMl19LmMgYW5kCgl0c3QtdGxzMTAuaC4KCSh0ZXN0cyk6IEFkZCB0c3QtdGxzMVswLTJdLgoJKG1vZHVsZXMtbmFtZXMpOiBBZGQgdHN0LXRsc21vZHtbNy04XSwxWzAtMl19LgoJKCQob2JqcGZ4KXRzdC10bHNtb2Q4LnNvKTogRGVwZW5kIG9uIHRzdC10bHNtb2Q3LnNvLgoJKCQob2JqcGZ4KXRzdC10bHNtb2QxMC5zbyk6IERlcGVuZCBvbiB0c3QtdGxzbW9kOS5zby4KCSgkKG9ianBmeCl0c3QtdGxzbW9kMTIuc28pOiBEZXBlbmQgb24gdHN0LXRsc21vZDExLnNvLgoJKCQob2JqcGZ4KXRzdC10bHMxMCk6IERlcGVuZCBvbiB0c3QtdGxzbW9kOC5zby4KCSgkKG9ianBmeCl0c3QtdGxzMTEpOiBEZXBlbmQgb24gdHN0LXRsc21vZDEwLnNvLgoJKCQob2JqcGZ4KXRzdC10bHMxMik6IERlcGVuZCBvbiB0c3QtdGxzbW9kMTIuc28uCgkqIGVsZi90c3QtdGxzMTAuYzogTmV3IHRlc3QuCgkqIGVsZi90c3QtdGxzMTEuYzogTmV3IHRlc3QuCgkqIGVsZi90c3QtdGxzMTIuYzogTmV3IHRlc3QuCgkqIGVsZi90c3QtdGxzMTAuaDogTmV3IGZpbGUuCgkqIGVsZi90c3QtdGxzbW9kNy5jOiBOZXcgZmlsZS4KCSogZWxmL3RzdC10bHNtb2Q4LmM6IE5ldyBmaWxlLgoJKiBlbGYvdHN0LXRsc21vZDkuYzogTmV3IGZpbGUuCgkqIGVsZi90c3QtdGxzbW9kMTAuYzogTmV3IGZpbGUuCgkqIGVsZi90c3QtdGxzbW9kMTEuYzogTmV3IGZpbGUuCgkqIGVsZi90c3QtdGxzbW9kMTIuYzogTmV3IGZpbGUuCgoyMDAzLTA0LTE1ICBTdGV2ZW4gTXVucm9lICA8c2ptdW5yb2VAdXMuaWJtLmNvbT4KCgkqIHN5c2RlcHMvcG93ZXJwYy9iaXRzL2F0b21pYy5oOiBNb3ZlZCBwcGMzMi82NCBzcGVjaWZpYyBjb2RlIHRvIC4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL2JpdHMvYXRvbWljLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzY0L2JpdHMvYXRvbWljLmg6IE5ldyBmaWxlLgoKMjAwMy0wNC0xNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9yZWdleC5oOiBJbmNsdWRlIDxzeXMvdHlwZXMuaD4uCgoJKiBzaWduYWwvc2lncmVsc2UuYyAoc2lncmVsc2UpOiBVc2Ugc2lnZGVsc2V0IGFuZCBub3QgX19zaWdkZWxzZXQuCglUaGUgc2lnbmFsIG51bWJlciBtdXN0IGJlIGNoZWNrZWQuCgkqIHNpZ25hbC9zaWdob2xkLmMgKHNpZ2hvbGQpOiBVc2Ugc2lnYWRkc2V0IGFuZCBub3QgX19zaWdhZGRzZXQuCglUaGUgc2lnbmFsIG51bWJlciBtdXN0IGJlIGNoZWNrZWQgW1BSIGxpYmMvNTAwNF0uCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXN0ZW0uYzogSWYgY29tcGlsZWQgd2l0aG91dCB0aHJlYWRzCglkb24ndCBkbyBhbnl0aGluZyBmYW5jeS4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL2xpYmMtbG9jay5oOiBEZWZpbmUKCV9fcnRsZF9sb2NrX2RlZmluZV9pbml0aWFsaXplZF9yZWN1cnNpdmUuCgoJKiBuc3MvZ2V0WFhieVlZX3IuYyBbVVNFX05TQ0RdIChSRUVOVFJBTlRfTkFNRSk6IE9ubHkgcmV0cnkKCWNvbnRhY3RpbmcgbnNjZCBpZiBOT1RfVVNFTlNDRF9OQU1FID4gMC4KCSogbnNzL25zc3dpdGNoLmMgKF9fbnNzX2Rpc2FibGVfbnNjZCk6IE5ldyBmdW5jdGlvbi4KCSogbnNzL25zc3dpdGNoLmg6IERlY2xhcmUgaXQuCgkqIG5zcy9WZXJzaW9ucyBbR0xJQkNfUFJJVkFURV06IEV4cG9ydCBfX25zc19kaXNhYmxlX25zY2QuCgkqIG5zY2QvbnNjZC5jIChtYWluKTogQ2FsbCBfX25zc19kaXNhYmxlX25zY2QuCgoyMDAzLTA0LTE2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN0ZGlvLWNvbW1vbi9wZXJyb3IuYyAocGVycm9yKTogV2UgZG9uJ3QgbmVlZCB0byBzZXQgdGhlIG9mZnNldAoJdG8gX0lPX3Bvc19iYWQsIHRoaXMgaXMgaG93IHN0cmVhbXMgYXJlIGluaXRpYWxpemVkLgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLXRpbWUuYyAoVEVTVEFSUl9FTEVNKTogTWFrZSBpIHVuc2lnbmVkLgoJKHRpbWVfb3V0cHV0KTogSWYgbmVjZXNzYXJ5LCBhbGxvY2F0ZSBuZXcgYnVmZmVyIGZvciAubmFtZSBzdHJpbmcgaWYKCXBhZGRpbmcgaXMgcmVxdWlyZWQuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pZmFkZHJzLmMgKGdldGlmYWRkcnMpOiBDaGVjayBsZW5ndGhzCgliZWZvcmUgY29weWluZy4gIFRoaXMgbWlnaHQgbGVhdmUgaG9sZXMgaW4gdGhlIGxpc3QuICBBZGp1c3QKCXBvaW50ZXJzIGlmIG5lY2Vzc2FyeS4KCShuZXRsaW5rX3JlY2VpdmUpOiBBbGxvY2F0ZSBvbmx5IG9uZSBibG9jay4KCShmcmVlX25ldGxpbmtfaGFuZGxlKTogQWRqdXN0IGFwcHJvcHJpYXRlbHkuCgkoZ2V0aWZhZGRycyk6IExvdHMgb2YgY2xlYW51cHMuCgoJKiBzdHJpbmcvdGVzdC1zdHJuY3B5LmMgKGRvX29uZV90ZXN0KTogTWFyayBzdGFydCBhbmQgc3RvcCBhcwoJcG9zc2libHkgdW51c2VkLgoJKiBzdHJpbmcvdGVzdC1tZW1jaHIuYzogTGlrZXdpc2UuCgkqIHN0cmluZy90ZXN0LW1lbWNtcC5jOiBMaWtld2lzZS4KCSogc3RyaW5nL3Rlc3QtbWVtY3B5LmM6IExpa2V3aXNlLgoJKiBzdHJpbmcvdGVzdC1tZW1tb3ZlLmM6IExpa2V3aXNlLgoJKiBzdHJpbmcvdGVzdC1tZW1zZXQuYzogTGlrZXdpc2UuCgkqIHN0cmluZy90ZXN0LXN0cmNhdC5jOiBMaWtld2lzZS4KCSogc3RyaW5nL3Rlc3Qtc3RyY2hyLmM6IExpa2V3aXNlLgoJKiBzdHJpbmcvdGVzdC1zdHJjbXAuYzogTGlrZXdpc2UuCgkqIHN0cmluZy90ZXN0LXN0cmNweS5jOiBMaWtld2lzZS4KCSogc3RyaW5nL3Rlc3Qtc3RybGVuLmM6IExpa2V3aXNlLgoJKiBzdHJpbmcvdGVzdC1zdHJuY21wLmM6IExpa2V3aXNlLgoJKiBzdHJpbmcvdGVzdC1zdHJwYnJrLmM6IExpa2V3aXNlLgoJKiBzdHJpbmcvdGVzdC1zdHJyY2hyLmM6IExpa2V3aXNlLgoJKiBzdHJpbmcvdGVzdC1zdHJzcG4uYzogTGlrZXdpc2UuCgoyMDAzLTA0LTE1ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogbGliaW8vZmlsZW9wcy5jIChfSU9fZmlsZV9jbG9zZV9pdCk6IE1hY3JvIHR3ZWFrIHRvIGF2b2lkIHdhcm5pbmcuCgoJKiBzeXNkZXBzL2dlbmVyaWMvbGliYy1zdGFydC5jIFtORUVEX0RMX1NZU0lORk9dOiBBZGQgZGVjbCBmb3IKCUlOVFVTRShfX3JlZ2lzdGVyX2ZyYW1lX2luZm9fYmFzZXMpLgoKMjAwMy0wNC0xNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvZWxmLmg6IERlZmluZSBBVF9TWVNJTkZPX0VIX0ZSQU1FLgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtc3lzZGVwLmMgKF9kbF9zeXNkZXBfc3RhcnQpOiBIYW5kbGUKCUFUX1NZU0lORk9fRUhfRlJBTUUuICBBZGp1c3Qgc3RyaW5nIHdpZHRoLgoJKF9kbF9zaG93X2F1eHYpOkRpc3BsYXkgQVRfU1lTSU5GT19FSF9GUkFNRSB2YWx1ZS4KCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmggW05FRURfRExfU1lTSU5GT10gKHN0cnVjdCBydGxkX2dsb2JhbCk6CglBZGQgX2RsX3N5c2luZm9fZWhfZnJhbWUgZmllbGQuCgkqIGVsZi9kbC1zdXBwb3J0LmMgW05FRURfRExfU1lTSU5GT106IERlZmluZSBfZGxfc3lzaW5mb19laF9mcmFtZS4KCSogc3lzZGVwcy9nZW5lcmljL2xpYmMtc3RhcnQuYyBbTkVFRF9ETF9TWVNJTkZPXSBEZWZpbmUgZWhfb2JqCgl2YXJpYWJsZS4KCVtORUVEX0RMX1NZU0lORk9dIChMSUJDX1NUQVJUX01BSU4pOiBDYWxsIF9fcmVnaXN0ZXJfZnJhbWVfaW5mb19iYXNlcwoJaWYgX2RsX3N5c2luZm9fZWhfZnJhbWUgaXMgbm9uLU5VTEwuCgoJKiBNYWtlY29uZmlnIChnbnVsaWIpOiBBZGQgLWxnY2NfZWguCgoJKiBjb25maWcuaC5pbjogRGVmaW5lIEhBVkVfRk9SQ0VEX1VOV0lORC4KCjIwMDMtMDQtMTUgIFN0ZXZlbiBNdW5yb2UgIDxzam11bnJvZUB1cy5pYm0uY29tPgoKCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9zdHJjbXAuUzogQ29udmVydCB0byBmdWxsIDY0LWJpdC4KCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9zdHJjcHkuUzogTGlrZXdpc2UuCgoyMDAzLTA0LTE1ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9yZWxhKTogQXZvaWQKCWNoZWNraW5nIFJfUFBDX1JFTEFUSVZFLCBSX1BQQ19OT05FIGFuZCB3aGV0aGVyIHJlbG9jYXRpb24gaXMKCWFnYWluc3QgbG9jYWwgc3ltYm9sIGluIGNvbmZsaWN0IHByb2Nlc3NpbmcuCgoyMDAzLTA0LTE1ICBTdGV2ZW4gTXVucm9lICA8c2ptdW5yb2VAdXMuaWJtLmNvbT4KCgkqIHN5c2RlcHMvcG93ZXJwYy9iaXRzL2F0b21pYy5oCglbX19wb3dlcnBjNjRdIChfX2FyY2hfY29tcGFyZV9hbmRfZXhjaGFuZ2VfdmFsXzY0X2FjcSk6IERlZmluZS4KCVshIF9fcG93ZXJwYzY0XSAoX19hcmNoX2NvbXBhcmVfYW5kX2V4Y2hhbmdlX3ZhbF82NF9hY3EpOiBEZWZpbmVkCglhcyBhYm9ydCBzdHViLgoJKF9fYXJjaF9jb21wYXJlX2FuZF9leGNoYW5nZV92YWxfMzJfYWNxKTogRGVmaW5lLgoJKGF0b21pY19jb21wYXJlX2FuZF9leGNoYW5nZV92YWxfYWNxKTogRGVmaW5lLgoKMjAwMy0wNC0xNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2F0b21pYy5oOiBQcmV0dHkgcHJpbnRpbmcuCgoyMDAzLTA0LTE0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN0ZGlvLWNvbW1vbi92ZnNjYW5mLmM6IEFkZCBjYXN0cyB0byBhdm9pZCB3YXJuaW5ncy4KCjIwMDMtMDQtMTQgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9pMzg2L2k0ODYvYml0cy9hdG9taWMuaDogUmVuYW1lIExPQ0sgdG8gTE9DS19QUkVGSVguCgkqIHN5c2RlcHMveDg2XzY0L2JpdHMvYXRvbWljLmg6IExpa2V3aXNlLgoKMjAwMy0wNC0xNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3N5c2RlcC5oOiBDaGFuZ2UgUFVTSEFSR1NfMSBhbmQKCVBPUEFSR1NfMSB0byBlbWl0IGxhYmVscyBmb3IgdGhlIG1vdiBpbnN0cnVjdGlvbnMuCgoyMDAzLTA0LTE0ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvc3lzZGVwLmggKHJldF9OT0VSUk5PKTogRGVmaW5lLgoKMjAwMy0wNC0xNCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy91bndpbmQtZHcyLmMgKF9VbndpbmRfR2V0Q0ZBKTogQWRkIGEgY2FzdCB0byBzaWxlbmNlCgljb21waWxlciB3YXJuaW5nLgoKCSogc3lzZGVwcy9nZW5lcmljL3Vud2luZC1wZS5oOiBGaXggZGVjbCBoYWNrcyBicm9rZW4gaW4gbWVyZ2UuCgoyMDAzLTA0LTE0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN0cmluZy9zdHJ4ZnJtLmMgKFNUUlhGUk0pOiBUZXJtaW5hdGUgcnVsZWFyciBhdCBjb3JyZWN0Cglwb3NpdGlvbi4gIFJlcG9ydGVkIGJ5IGpyZWlzZXJAQml0V2Fnb24uY29tLgoKMjAwMy0wNC0xMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvdW53aW5kLWR3Mi1mZGUuYzogVXBkYXRlIGZyb20gcmVjZW50IGdjYyB2ZXJzaW9uLgoJKiBzeXNkZXBzL2dlbmVyaWMvdW53aW5kLWR3Mi1mZGUuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy91bndpbmQtZHcyLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvdW53aW5kLXBlLmg6IExpa2V3aXNlLgoKMjAwMy0wNC0xMyAgQWxleGFuZHJlIE9saXZhICA8YW9saXZhQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3Byb2ZpbC1jb3VudGVyOiBOZXcuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvc2lnY29udGV4dGluZm8uaDogUG9ydCB0byBuMzIvbjY0LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2JpdHMvc2lnY29udGV4dC5oOiBOZXcuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvc3lzL3Vjb250ZXh0Lmg6IFBvcnQgdG8gbjMyL242NC4KCShtY29udGV4dF90KTogTWFrZSBpdCBtYXRjaCB0aGUgMzItYml0IG1pcHMga2VybmVsIGluIG8zMi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9zeXMvdXNlci5oOiBCcmluZyBpbiBjb25zdGFudHMgZnJvbQoJdGhlIG1pcHMgYW5kIG1pcHM2NCBoZWFkZXJzLgoJKHN0cnVjdCB1c2VyKTogUG9ydCB0byBuMzIvbjY0LgoKMjAwMy0wNC0xMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtdGxzLmMgKF9kbF9hbGxvY2F0ZV90bHNfaW5pdCk6IEFkZCBjYXN0IHRvCglhdm9pZCB3YXJuaW5nLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zaWdhY3Rpb24uYyAoX19saWJjX3NpZ2FjdGlvbik6IElmCglfX0FTU1VNRV9WU1lTQ0FMTCBpcyBkZWZpbmVkIGRvbid0IGFkZCByZXN0b3Jlci4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgva2VybmVsLWZlYXR1cmVzLmg6IERlZmluZQoJX19BU1NVTUVfVlNZU0NBTEwgZm9yIDIuNS41My4KCjIwMDMtMDQtMTEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL2xpYmMtc3RhcnQuYzogQ2xlYW51cCBNQUlOX0FVWFZFQ19BUkcgaGFuZGxpbmcuCglSZW1vdmUgSEFWRV9DQU5DRUxCVUYgY29kZS4gIFJlcGxhY2Ugd2l0aCBjb2RlIHVzaW5nIHRoZSBuZXcKCWluaXRpYWxpemVycyBmb3IgdW53aW5kLWJhc2VkIGNsZWFudXAgaGFuZGxpbmcuCgkqIHN5c2RlcHMvZ2VuZXJpYy91bndpbmQuaDogVXBkYXRlIGZyb20gbGF0ZXN0IGdjYyB2ZXJzaW9uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3N5c2RlcC5oOiBEZWZpbmUgbGFiZWxzIGluIGEgZmV3CglwbGFjZXMgdG8gYWxsb3cgdW53aW5kIGRhdGEgZ2VuZXJhdGlvbi4KCSogc3lzZGVwcy9pMzg2L2JpdHMvc2V0am1wLmg6IEFsbG93IGZpbGUgdG8gYmUgaW5jbHVkZWQgbXVsdGlwbGUgdGltZXMuCgkqIHN5c2RlcHMveDg2XzY0L2JpdHMvc2V0am1wLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NoL2JpdHMvc2V0am1wLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvYml0cy9zZXRqbXAuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy9zZXRqbXAuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvYWxwaGEvYml0cy9zZXRqbXAuaDogTGlrZXdpc2UuCgoyMDAzLTA0LTExICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogY3N1L3RzdC1lbXB0eS5jOiBOZXcgZmlsZS4KCSogY3N1L01ha2VmaWxlICh0ZXN0cywgdGVzdHMtc3RhdGljKTogQWRkIGl0LgoKMjAwMy0wNC0xMSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzdHJpbmcvdGVzdC1zdHJjbXAuYyAoZG9fcmFuZG9tX3Rlc3RzKTogVGVzdCB3aGV0aGVyIHJldHVybiB2YWx1ZQoJaGFzIGJlZW4gcHJvbW90ZWQgdG8gd29yZHNpemUgaWYgdGhlIEFCSSByZXF1aXJlcyBjYWxsZXIgdG8gZG8gc28uCgkqIHN0cmluZy90ZXN0LXN0cm5jbXAuYyAoZG9fcmFuZG9tX3Rlc3RzKTogTGlrZXdpc2UuCgkqIHN0cmluZy90ZXN0LW1lbWNtcC5jIChkb19yYW5kb21fdGVzdHMpOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjNjQvc3RyY21wLlMgKHN0cmNtcCk6IFNpZ24gZXh0ZW5kIHJSVE4KCWJlZm9yZSByZXR1cm5pbmcuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGM2NC9mZV9ub21hc2suYwoJKF9fZmVfbm9tYXNrX2Vudik6IFRyeSBwcmN0bCBldmVuIGlmIF9fQVNTVU1FX05FV19QUkNUTF9TWVNDQUxMCglpcyBub3QgZGVmaW5lZCwgYnV0IHRoZSBwcmN0bCBjb25zdGFudHMgYXJlLgoKCSogc3RyaW5nL3Rlc3Rlci5jICh0ZXN0X3N0cmNtcCk6IEZpeCBhIHR5cG8uCgoyMDAzLTA0LTA5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvYWxwaGEvZnB1L2JpdHMvbWF0aGRlZi5oOiBSZW1vdmUgRkxUX0VWQUxfTUVUSE9EIGRlZmluaXRpb24uCgkqIHN5c2RlcHMvcG93ZXJwYy9mcHUvYml0cy9tYXRoZGVmLmg6IExpa2V3aXNlLgoKMjAwMy0wNC0wOCAgQWxleGFuZHJlIE9saXZhICA8YW9saXZhQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL21pcHMvc3lzL3JlZ2RlZi5oICh0NCx0NSx0Nix0Nyk6IFJlbmFtZWQgdG8gdDAuLnQzIG9uCglOZXdBQkkuCgkodGEwLCB0YTEsIHRhMiwgdGEzKTogRGVmaW5lZCB0byB0NC4udDcgb24gbzMyLCBhbmQgYTQuLmE3IG9uCglOZXdBQkkuCgkqIHN5c2RlcHMvbWlwcy9taXBzNjQvbWVtY3B5LlM6IEFkanVzdCByZWdpc3RlciBuYW1pbmcKCWNvbnZlbnRpb25zLgoJKiBzeXNkZXBzL21pcHMvbWlwczY0L21lbXNldC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L21pcHMvc3lzZGVwLlMgKF9fc3lzY2FsbF9lcnJvcikgW19MSUJDX1JFRU5UUkFOVF06CglVc2UgdDAgaW5zdGVhZCBvZiB0NCBhcyB0ZW1wb3JhcnkuCgoyMDAzLTA0LTA3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9sZGNvbmZpZy5jIChwYXJzZV9jb25mKTogSWdub3JlIGxlYWRpbmcgd2hpdGVzcGFjZS4gIFVzZQoJZmVvZl91bmxvY2tlZCBpbnN0ZWFkIG9mIGZlb2YuCgkoYWRkX2Rpcik6IElnbm9yZSB0cmFpbGluZyB3aGl0ZXNwYWNlLgoKMjAwMy0wNC0wNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9idWctcmVnZXg0LmMgKG1haW4pOiBDYXAgUkFOR0UgYW5kIFNUT1AgYXJndW1lbnRzIHRvCglzdW0gb2YgU0laRTEgYW5kIFNJWkUyIGFyZ3VtZW50cy4KCjIwMDMtMDQtMDYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnYvaWNvbnZfcHJvZy5jIChwcm9jZXNzX2Jsb2NrKTogRG9uJ3QgcHJpbnQgbWVzc2FnZSBhYm91dAoJaW52YWxpZCBpbnB1dCBpZiB0aGUgLWMgb3B0aW9uIGlzIHVzZWQuCgkobWFpbik6IENvcnJlY3RseSBhcHBlbmQgSUdOT1JFIHN0cmluZyBmb3IgLWMgb3B0aW9uLgoKMjAwMy0wNC0wNiAgS2F6IEtvamltYSAgPGtrb2ppbWFAcnIuaWlqNHUub3IuanA+CgoJKiBzeXNkZXBzL3NoL2JpdHMvYXRvbWljLmg6IE1vdmVkIHRvIC4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9iaXRzL2F0b21pYy5oOiAuLi4gaGVyZS4gIEFkZCBjb21tZW50cy4KCShfX2FyY2hfY29tcGFyZV9hbmRfZXhjaGFuZ2VfdmFsXypfYWNxKTogQWRkIHBhcmVucyBhcm91bmQgbWFjcm8KCWFyZ3VtZW50cy4KCShhdG9taWNfYml0X3NldCwgYXRvbWljX2JpdF90ZXN0X3NldCk6IExpa2V3aXNlLgoJKGF0b21pY19leGNoYW5nZV9hbmRfYWRkKTogTGlrZXdpc2UuICBEb24ndCBldmFsdWF0ZSBWQUxVRSBhcmd1bWVudAoJdHdpY2UuCgkoYXRvbWljX2FkZCwgYXRvbWljX2FkZF9uZWdhdGl2ZSwgYXRvbWljX2FkZF96ZXJvKTogTGlrZXdpc2UuCgoyMDAzLTA0LTA2ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zd2FwY29udGV4dC5TOiBSZXdyaXRlIHJlZ2lzdGVyCglyZXN0b3JhdGlvbiBhcyBkb25lIGZvciBzZXRjb250ZXh0IHllc3RlcmRheS4KCjIwMDMtMDQtMDYgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogZWxmL3J0bGQuYzogUmV2ZXJ0IDIwMDMtMDMtMTQgY2hhbmdlLgoJKiBlbGYvZGwtY29uZmxpY3QuYyAoX2RsX3Jlc29sdmVfY29uZmxpY3RzKTogTW92ZQoJI2lmICEgRUxGX01BQ0hJTkVfTk9fUkVMQSBjb25kaXRpb25hbCBpbnRvIHRoZSByb3V0aW5lLgoKMjAwMy0wNC0wNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzdW5ycGMveGRyLmMgKHhkcl9zdHJpbmcpOiBDYXRjaCBub2Rlc2l6ZSA9PSAwIFtQUiBsaWJjLzQ5OTldLgoKCSogc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYvZV9nYW1tYWxfci5jIChfX2llZWU3NTRfZ2FtbWFsX3IpOgoJQWx3YXlzIGluaXRpYWxpemUgKnNpZ25nYW1wIGJlZm9yZSByZXR1cm5pbmcgYW4gZXJyb3IuCgoyMDAzLTA0LTA1ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zZXRjb250ZXh0LlM6IFJld3JpdGUgdG8gYXZvaWQgd3JpdGluZwoJYmVsb3cgdGhlIHN0YWNrIHBvaW50ZXIgZXZlbiBpZiBzd2l0Y2hpbmcgdG8gdGhlIHNhbWUgY29udGV4dCB3ZSBhcmUKCXJ1bm5pbmcgcmlnaHQgbm93LgoKMjAwMy0wNC0wNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBjYXRnZXRzL2dlbmNhdC5jIChyZWFkX2lucHV0X2ZpbGUpOiBNYWtlIHN1cmUgdGhhdCBcbiBpcyBub3QKCWFsb25lIG9uIHRoZSBsaW5lIGJlZm9yZSB0ZXN0aW5nIGZvciBjb250aW51YXRpb24uCgoJKiBtYXRoL3Rlc3QtdGdtYXRoLmMgKGNvbXBpbGVfdGVzdCk6IEluaXRpYWxpemUgYy4KCjIwMDMtMDQtMDUgIEFsZXhhbmRyZSBPbGl2YSAgPGFvbGl2YUByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9taXBzNjQvbjMyL2Z0cnVuY2F0ZTY0LmM6IE5ldy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9taXBzNjQvbjMyL3RydW5jYXRlNjQuYzogTmV3LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9rZXJuZWwtZmVhdHVyZXMuaDogZmNudGw2NCBpcyBhdmFpbGFibGUKCW9uIG1pcHMgbjMyLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2tlcm5lbF9zdGF0Lmg6IEV4cGxhaW4gd2h5CglYU1RBVF9JU19YU1RBVDY0IG11c3Qgbm90IGJlIHVzZWQgZm9yIG1pcHMgbjY0LiAgVXNlIDY0LWJpdCBkYXRhCglzdHJ1Y3R1cmUgb24gbjMyIGFzIHdlbGwuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvYml0cy9zdGF0Lmg6IFVzZSBQT1NJWC1jb21wbGlhbnQKCWRhdGEgdHlwZXMgb24gbjMyIGFuZCBuNjQuCgoyMDAzLTA0LTA1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxpYmlvL2ZpbGVvcHMuYyAoX0lPX25ld19maWxlX2ZvcGVuKTogRG9uJ3QgZnJlZSBzdGVwIGRhdGEgcmlnaHQKCWFmdGVyIGdldHRpbmcgdGhlbS4KCgkqIG1hbGxvYy90aHJlYWQtbS5oIFtQVEhSRUFEX01VVEVYX0lOSVRJQUxJWkVSXTogSWYKCUhBVkVfcmVnaXN0ZXJfYXRmb3JrX21hbGxvYyBpcyBkZWZpbmVkIHVzZSBfX3JlZ2lzdGVyX2F0Zm9ya19tYWxsb2MKCWluc3RlYWQgb2YgX19yZWdpc3Rlcl9hdGZvcmsuCgoyMDAzLTA0LTA1ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN0ZGlvLWNvbW1vbi9yZWctcHJpbnRmLmMgKF9fcmVnaXN0ZXJfcHJpbnRmX2Z1bmN0aW9uKTogQ2FsbG9jCglpbnN0ZWFkIG9mIG1hbGxvYyBfX3ByaW50Zl9hcmdpbmZvX3RhYmxlIGFuZCBfX3ByaW50Zl9mdW5jdGlvbl90YWJsZS4KCVJlcG9ydGVkIGJ5IEpvaG4gUmVpc2VyIDxqcmVpc2VyQEJpdFdhZ29uLmNvbT4uCgoyMDAzLTA0LTA0ICBTdGV2ZW4gTXVucm9lICA8c2ptdW5yb2VAdXMuaWJtLmNvbT4KCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjNjQvc3RyY2hyLlM6IDY0LWJpdCBvcHRpbWl6YXRpb25zLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzY0L3N0cmxlbi5TOiA2NC1iaXQgb3B0aW1pemF0aW9ucy4KCgkqIHN5c2RlcHMvcG93ZXJwYy9mcHUvYml0cy9tYXRoZGVmLmggKEZMVF9FVkFMX01FVEhPRCk6IFVuZGVmIGJlZm9yZQoJZGVmaW5pbmcuCgoyMDAzLTA0LTA0ICBBbGV4YW5kcmUgT2xpdmEgIDxhb2xpdmFAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvYml0cy9mY250bC5oIChzdHJ1Y3QgZmxvY2spOiBBZGp1c3QKCWZvciBuNjQgYWJpLgoKMjAwMy0wNC0wMyAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5pbjogRml4IHVwIHVzZSBvZiBjb21waWxhdGlvbiBmbGFncyB0byBtYXRjaCB0aGUgYnVpbGQ6CglGb3IgLnMgZmlsZXMsICRBU0ZMQUdTOwoJRm9yIC5TIGZpbGVzLCAkQ1BQRkxBR1MgJEFTRkxBR1M7CglGb3IgLmMgZmlsZXMsICRDRkxBR1MgJENQUEZMQUdTOwoJd2hlbiBsaW5raW5nLCBhZGQgJExERkxBR1MuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZWQuCgoyMDAzLTA0LTAzICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2dldHN5c3N0YXRzLmMgKGdldF9wcm9jX3BhdGgpOiBSZXZlcnNlIHRlc3QKCWZvciBhdG9taWNfY29tcGFyZV9hbmRfZXhjaGFuZ2VfYm9vbF9hY3EgZmFpbHVyZS4KCjIwMDMtMDQtMDMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvdW5pc3RkLmg6IERlZmluZSBfUE9TSVhfVkVSU0lPTiwgX1BPU0lYMl9WRVJTSU9OLAoJX1BPU0lYMl9DX0JJTkQsIF9QT1NJWDJfQ19ERVYsIF9QT1NJWDJfU1dfREVWLCBhbmQKCV9QT1NYSTJfTE9DQUxFREVGIHRvIDIwMDExMkwuICBSZW1vdmUgX1BPU0lYMl9DX1ZFUlNJT04uCglSZW1vdmUgZGVjbGFyYXRpb24gb2YgcHRocmVhZF9hdGZvcmsuCgoyMDAzLTA0LTAyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9pc28tNjM5LmRlZjogQWRkIG1hbnkgbW9yZSBsYW5ndWFnZXMgZnJvbSB0aGUgY3VycmVudCBJU08gNjM5LgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaXBjX3ByaXYuaDogRGVmaW5lIElQQ09QX3NlbXRpbWVkb3AuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zZW10aW1lZG9wLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3NlbXRpbWVkb3AuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc3lzY2FsbHMubGlzdDogQWRkIHNlbXRpbWVkb3AuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNjYWxscy5saXN0OiBMaWtld2lzZS4KCSogc3lzdmlwYy9NYWtlZmlsZSAocm91dGluZXMpOiBBZGQgc2VtdGltZWRvcC4KCSogc3lzdmlwYy9WZXJzaW9ucyBbR0xJQkNfMi4zLjNdIChnbGliYyk6IEFkZCBzZW10aW1lZG9wLgoJKiBzeXN2aXBjL3N5cy9zZW0uaDogRGVjbGFyZSBzZW10aW1lZG9wLgoKMjAwMy0wNC0wMiAgRGFuaWVsIEphY29ib3dpdHogIDxkcm93QG12aXN0YS5jb20+CgoJKiBjb25maWd1cmUuaW46IENoZWNrIGZvciBfX3JlZ2lzdGVyX2ZyYW1lX2luZm8gaW4gYm90aAoJLWxnY2MgYW5kIC1sZ2NjX2VoLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGVkLgoKMjAwMy0wNC0wMSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIHNjcmlwdHMvYWJpbGlzdC5hd2s6IEFsbG93IGRvdHMgaW4gc29uYW1lIHN1ZmZpeC4KCgkqIHNjcmlwdHMvYWJpbGlzdC5hd2sgKGVtaXQpOiBGaXggYmFpbG91dCBjb25kaXRpb24uCgoyMDAzLTA0LTAxICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvc2lnc3VzcGVuZC5jOiBVc2UgdGhlCglJQS02NCB2ZXJzaW9uLgoKCSogZWxmL3Rscy1tYWNyb3MuaCBbX19pYTY0X19dIChUTFNfSUUsIFRMU19MRCwgVExTX0dEKTogQWRkIGdwCglyZWdpc3RlciBhcyBpbnB1dCB0byBhc20uCgoyMDAzLTA0LTAxICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy9zaWdpbmZvLmggKHNpZ2V2ZW50X3QpOiBGaXggYSB0eXBvLgoKMjAwMy0wNC0wMSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogY29uZmlndXJlLmluOiBPdXRwdXQgYXMvbGQgYXMgbmFtZSBpZiB2ZXJzaW9uIGlzIHRvbyBvbGQuCgoyMDAzLTAzLTMxICBEYW5pZWwgSmFjb2Jvd2l0eiAgPGRyb3dAbXZpc3RhLmNvbT4KCgkqIGNvbmZpZ3VyZS5pbjogRG9uJ3QgcmVxdWlyZSBhbiBpbnN0YWxsZWQgQyBsaWJyYXJ5IGluIHRoZSB0ZXN0Cglmb3IgIi5zZXQiIGFzc2VtYmxlciBzdXBwb3J0LgoKMjAwMy0wMy0zMSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIHNpZ25hbC90c3Qtc2lnc2V0LmM6IE5ldyBmaWxlLgoJKiBzaWduYWwvTWFrZWZpbGUgKHRlc3RzKTogQWRkIGl0LgoKMjAwMy0wMy0zMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9iaXRzL3NpZ251bS5oIChfTlNJRyk6IERlZmluZSB0byA2NS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS9iaXRzL3NpZ251bS5oIChfTlNJRyk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9iaXRzL3NpZ251bS5oIChfTlNJRyk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3NpZ251bS5oIChfTlNJRyk6IExpa2V3aXNlLgoJKF9fU0lHUlRNQVgpOiBBZGp1c3QgYWNjb3JkaW5nbHkuCgkqIHN5c2RlcHMvZ251L3NpZ2xpc3QuYzogSWYgT0xEMl9TSUdMSVNUX1NJWkUgaXMgZGVmaW5lZCBkZWZpbmUKCXNlY29uZCBjb21wYXRpYmlsaXR5IHN5bWJvbCBzZXQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NpZ2xpc3QuaCAoT0xEMl9TSUdMSVNUX1NJWkUpOiBEZWZpbmUuCgoyMDAzLTAzLTMxICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogc3lzZGVwcy9tNjhrL202ODAyMC9iaXRzL2F0b21pYy5oIChhdG9taWNfaW5jcmVtZW50X2FuZF90ZXN0KToKCURlZmluZS4KCShhdG9taWNfZGVjcmVtZW50X2FuZF90ZXN0KTogRml4IHRlc3QuCgoyMDAzLTAzLTMxICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9iaXRzL2F0b21pYy5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3NwYXJjdjkvYml0cy9hdG9taWMuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9iaXRzL2F0b21pYy5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL2F0b21pY2l0eS5oOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvc3BhcmN2OS9hdG9taWNpdHkuaDogUmVtb3ZlZC4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L2F0b21pY2l0eS5oOiBSZW1vdmVkLgoKMjAwMy0wMy0zMCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIHNjcmlwdHMvYWJpbGlzdC5hd2s6IEdyb2sgLm9wZCBmb28gcGx1cyAudGV4dCAuZm9vIGFzICJmb28gRiIgYWxvbmUuCgoJKiBpbnRsL3BvMnRlc3Quc2VkOiBBbmNob3Igc3Vic3RpdHV0aW9uIHJlZ2V4cHMgdG8gZml4IGxhc3QgY2hhbmdlLgoKMjAwMy0wMy0yOSAgUGFvbG8gQm9uemluaSAgPGJvbnppbmlAZ251Lm9yZz4KCgkqIGludGwvcG8ydGVzdC5zZWQ6IFVuaWZ5IHRoZSB0cmFuc2Zvcm1hdGlvbnMgZm9yIG1zZ2lkIGFuZCBtc2dzdHIKCWFuZCByZW1vdmUgYSB1c2VsZXNzIHMvLy8gY29tbWFuZC4KCjIwMDMtMDMtMjcgIERhdmlkIE1vc2JlcmdlciAgPGRhdmlkbUBocGwuaHAuY29tPgoKCSogc3lzZGVwcy9pYTY0L2RsLW1hY2hpbmUuaCAoUlRMRF9TVEFSVCk6IFdyYXAgIi5zYXZlIHJwLCByMCIKCWRpcmVjdGl2ZSBpbnRvIGVtcHR5IC5wcm9sb2d1ZSByZWdpb24gdG8gZW5zdXJlIHRoYXQgY2FsbC1jaGFpbgoJaXMgdGVybWluYXRlZCBldmVuIGZvciB0aGUgZmlyc3QgaW5zdHJ1Y3Rpb24uCgoJKiBzeXNkZXBzL2lhNjQvZWxmL3N0YXJ0LlMgKF9zdGFydCk6IFVzZSAiLnNhdmUgcnAsIHIwIiBpZGlvbQoJdG8gdGVybWluYXRlIGNhbGwtY2hhaW4gcmlnaHQgZnJvbSB0aGUgZ2V0LWdvLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9mb3JrLlMgKGZvcmspOiBSZW1vdmUgdW5uZWNlc3NhcnkKCXN0b3AgYml0IGJldHdlZW4gY29tcGFyZSAmIGJyYW5jaC4KCjIwMDMtMDMtMjkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3RkbGliL3N0cnRvZC5jIChJTlRFUk5BTCk6IFJlY29nbml6ZSBmaXJzdCBkaWdpdCBhZnRlciBkZWNpbWFsCglwb2ludCBjb3JyZWN0bHkgW1BSIGxpYmMvNDk5M10uCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pZmFkZHJzLmMgKGdldGlmYWRkcnMpOiBBdm9pZAoJbmV0bGlua19vcGVuIGNhbGxzIGlmIG5ldGxpbmsgaXMga25vd24gdG8gbm90IGJlIGF2YWlsYWJsZS4KCjIwMDMtMDMtMjkgIEFsZXhhbmRyZSBPbGl2YSAgPGFvbGl2YUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmluOiBBZGQgbWlwczY0KiBzdXBwb3J0LgoJKiBzeXNkZXBzL21pcHMvYml0cy9lbmRpYW4uaDogTWFrZSBpdCBiaS1lbmRpYW4uCgkqIHN5c2RlcHMvbWlwcy9taXBzZWwvYml0cy9lbmRpYW4uaDogUmVtb3ZlZC4KCSogc3lzZGVwcy9taXBzL21pcHM2NC9uMzIvZWwvYml0cy9lbmRpYW4uaDogUmVtb3ZlZC4KCSogc3lzZGVwcy9taXBzL21pcHM2NC9uNjQvZWwvYml0cy9lbmRpYW4uaDogUmVtb3ZlZC4KCSogc3lzZGVwcy9taXBzL21pcHMzMi9NYWtlZmlsZSAoQ0MpOiBBZGQgLW1hYmk9MzIuCgkqIHN5c2RlcHMvbWlwcy9taXBzNjQvbjMyL01ha2VmaWxlIChDQyk6IEFkZCAtbWFiaT1uMzIuCgkqIHN5c2RlcHMvbWlwcy9taXBzNjQvbjY0L01ha2VmaWxlIChDQyk6IEFkZCAtbWFiaT02NC4KCSogc3lzZGVwcy9taXBzL0ltcGxpZXM6IE1vdmVkIHdvcmRzaXplLTMyIHRvLi4uCgkqIHN5c2RlcHMvbWlwcy9taXBzMzIvSW1wbGllczogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9taXBzL3N5c2RlcC5oIChQU0VVRE9fTk9FUlJOTywgUFNFVURPX0VORF9OT0VSUk5PLAoJcmV0X05PRVJSTk8pOiBOZXcuCgkocmV0LCBQU0VVRE9fRU5EKTogTW92ZWQgcGFzdCBFTkQuCgkoUFNFVURPKTogTW92ZWQgdG8uLi4KCSogc3lzZGVwcy91bml4L21pcHMvbWlwczMyL3N5c2RlcC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L21pcHMvbWlwczY0L24zMi9zeXNkZXAuaDogUmVtb3ZlZCAjdW5kZWYgUFNFVURPLgoJKiBzeXNkZXBzL3VuaXgvbWlwcy9taXBzNjQvbjY0L3N5c2RlcC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9zeXNkZXAuaDogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL21pcHMzMi9zeXNkZXAuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvbWlwczMyL2tlcm42NC9zeXNkZXAuaDogTmV3IGZpbGUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2Nsb25lLlMgKF9fdGhyZWFkX3N0YXJ0KToKCVJlLWludHJvZHVjZSBFTlRSWS4KCjIwMDMtMDMtMjggIFRob3JzdGVuIEt1a3VrICA8a3VrdWtAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lmYWRkcnMuYzogTmV3IGZpbGUuCgkqIGluZXQvdGVzdC1pZmFkZHJzLmM6IEFsbG93IEFGX1BBQ0tFVC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgva2VybmVsLWZlYXR1cmVzLmg6IEFkZAoJX19BU1NVTUVfTkVUTElOS19TVVBQT1JULgoKMjAwMy0wMy0yOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvdmlzbWFpbi5jIChkb190ZXN0KTogQ29tbWVudCBvdXQgdGVzdHMgd2hpY2ggZmFpbCBpbiB0aGUgbW9tZW50LgoKMjAwMy0wMy0yNiAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogZWxmL3Zpc21vZC5oIChnZXR2YXJsb2NhbDEpOiBSZXR1cm4gY29uc3QgY2hhciAqKi4KCShnZXR2YXJpbm1vZDEpOiBMaWtld2lzZS4KCShnZXR2YXJpdGNwdDEpOiBMaWtld2lzZS4KCShnZXR2YXJsb2NhbDIpOiBMaWtld2lzZS4KCShnZXR2YXJpbm1vZDIpOiBMaWtld2lzZS4KCShnZXR2YXJpdGNwdDIpOiBMaWtld2lzZS4KCShnZXR2YXJpdGNwdDMpOiBMaWtld2lzZS4KCSogZWxmL3Zpc21haW4uYyAoZG9fdGVzdCk6IEFkanVzdGVkLgoJKiBlbGYvdmlzbW9kMS5jIChnZXR2YXJsb2NhbDEpOiBSZXR1cm4gYWRkcmVzcy4KCShnZXR2YXJpbm1vZDEpOiBMaWtld2lzZS4KCShnZXR2YXJpdGNwdDEpOiBMaWtld2lzZS4KCSogZWxmL3Zpc21vZDIuYyAoZ2V0dmFybG9jYWwyKTogTGlrZXdpc2UuCgkoZ2V0dmFyaW5tb2QyKTogTGlrZXdpc2UuCgkoZ2V0dmFyaXRjcHQyKTogTGlrZXdpc2UuCgkqIGVsZi92aXNtb2QzLmMgKGdldHZhcml0Y3B0Myk6IExpa2V3aXNlLgoKMjAwMy0wMy0yOCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIGVsZi92aXNtYWluLmMgKGRvX3Rlc3QpOiBQcmludCBib3RoIGFkZHJlc3NlcyB3aGVuIHRoZXkgZG9uJ3QgbWF0Y2guCgoJKiBzY3JpcHRzL2FiaWxpc3QuYXdrOiBJZiBnaXZlbiAtdiBmaWxlbmFtZV9yZWdleHAgYW5kL29yIC12CglsaWJuYW1lX3JlZ2V4cCB3aGVuIHBhcnNpbmcgbmFtZXMsIHRoZW4gcHJvZHVjZSBvdXRwdXQgb25seQoJZm9yIHRob3NlIG1hdGNoaW5nIHRoZSBnaXZlbiByZWdleHBzLiAgSW4gY29tYmluZSBtb2RlLCBzYXZlIGFsbAoJc3RhbnphcyBmb3IgYSBmaW5hbCBzb3J0aW5nIGJ5IHN0YW56YSBoZWFkZXIgYXQgdGhlIGVuZC4KCUVtaXQgYSBibGFuayBsaW5lIGJldHdlZW4gc3Rhbnphcy4KCgkqIHNjcmlwdHMvYWJpbGlzdC5hd2s6IFdoZW4gZ2l2ZW4gLXYgY29tYmluZT0xLCBkbyBwYXJzZV9uYW1lcyBhbmQKCWVtaXQgYSBzaW5nbGUgb3V0cHV0IHN0cmVhbSB3aXRoIGxpYiBuYW1lIGluIHN0YW56YSBoZWFkZXIgbGluZXMuCgoJKiBzY3JpcHRzL2FiaWxpc3QuYXdrOiBFbWl0IEEgZm9yIGFsbCAqQUJTKiByZWdhcmRsZXNzIG9mIHR5cGUuCgoyMDAzLTAzLTI3ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9wb3dlcnBjL2JpdHMvYXRvbWljLmggWyEgX19wb3dlcnBjNjRfX10KCShfX2FyY2hfYXRvbWljX2RlY3JlbWVudF9pZl9wb3NpdGl2ZV82NCk6IEZpeCBib2d1cyBkZWZpbml0aW9uLgoKMjAwMy0wMy0yOCAgS2F6IEtvamltYSAgPGtrb2ppbWFAcnIuaWlqNHUub3IuanA+CgoJKiBzeXNkZXBzL3NoL2JpdHMvYXRvbWljLmggKF9fYXJjaF9jb21wYXJlX2FuZF9leGNoYW5nZV92YWxfOF9hY3EpOgoJUmV0dXJuIG9sZCB2YWx1ZS4gTWFrZSBhc20gb3V0cHV0IHJlZyBjb25zdHJhaW50IGVhcmx5Y2xvYmJlci4KCVJlbmFtZWQgZnJvbS4uLgoJKF9fYXJjaF9jb21wYXJlX2FuZF9leGNoYW5nZV84X2FjcSk6IC4uLiB0aGlzLgoJKF9fYXJjaF9jb21wYXJlX2FuZF9leGNoYW5nZV92YWxfMTZfYWNxKToKCVJldHVybiBvbGQgdmFsdWUuIE1ha2UgYXNtIG91dHB1dCByZWcgY29uc3RyYWludCBlYXJseWNsb2JiZXIuCglSZW5hbWVkIGZyb20uLi4KCShfX2FyY2hfY29tcGFyZV9hbmRfZXhjaGFuZ2VfMTZfYWNxKTogLi4uIHRoaXMuCgkoX19hcmNoX2NvbXBhcmVfYW5kX2V4Y2hhbmdlX3ZhbF8zMl9hY3EpOgoJUmV0dXJuIG9sZCB2YWx1ZS4gTWFrZSBhc20gb3V0cHV0IHJlZyBjb25zdHJhaW50IGVhcmx5Y2xvYmJlci4KCVJlbmFtZWQgZnJvbS4uLgoJKF9fYXJjaF9jb21wYXJlX2FuZF9leGNoYW5nZV8zMl9hY3EpOiAuLi4gdGhpcy4KCShfX2FyY2hfY29tcGFyZV9hbmRfZXhjaGFuZ2VfdmFsXzY0X2FjcSk6CglSZW5hbWVkIGZyb20uLi4KCShfX2FyY2hfY29tcGFyZV9hbmRfZXhjaGFuZ2VfNjRfYWNxKTogLi4uIHRoaXMuCgkoYXRvbWljX2V4Y2hhbmdlX2FuZF9hZGQpOiBVc2UgbG9jYWwgdmFyaWFibGVzIGFuZAoJX19hcmNoX2NvbXBhcmVfYW5kX2V4Y2hhbmdlX3ZhbF82NF9hY3EuCgkoYXRvbWljX2FkZCk6IExpa2V3aXNlLgoJKGF0b21pY19hZGRfbmVnYXRpdmUsIGF0b21pY19hZGRfemVybyk6IFVzZSBsb2NhbCB2YXJpYWJsZXMuCgoyMDAzLTAzLTI4ICBBbGV4YW5kcmUgT2xpdmEgIDxhb2xpdmFAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9taXBzL3N5c2RlcC5TOiBJbmNsdWRlIHN5cy9hc20uaC4KCjIwMDMtMDMtMjcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogTWFrZWZpbGU6IFJlbW92ZSBsaWJtZDVjcnlwdCBnb2FsLgoKMjAwMy0wMy0yNSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfcmVsYSk6IFJlc3RvcmUKCXNwZWNpYWwgaGFuZGxpbmcgb2YgcmVsb2NhdGlvbnMgYWdhaW5zdCBsb2NhbCBzeW1ib2xzLgoKMjAwMy0wMy0yNyAgU3RldmVuIE11bnJvZSAgPHNqbXVucm9lQHVzLmlibS5jb20+CgoJKiBzeXNkZXBzL3Bvd2VycGMvYml0cy9hdG9taWMuaAoJKF9fYXJjaF9jb21wYXJlX2FuZF9leGNoYW5nZV9ib29sXzMyX2FjcSk6IE1vdmUgdG8gWyFfX3Bvd2VycGM2NF9fXS4KCVtfX3Bvd2VycGM2NF9fXSAoX19hcmNoX2NvbXBhcmVfYW5kX2V4Y2hhbmdlX2Jvb2xfMzJfYWNxKToKCURlZmluZSBQUEM2NCBzcGVjaWZpYyB2ZXJzaW9uLgoJW19fcG93ZXJwYzY0X19dIChfX2FyY2hfY29tcGFyZV9hbmRfZXhjaGFuZ2VfYm9vbF82NF9hY3EpOgoJQ2hhbmdlIChtZW0pIGNvbnN0cmFpbnQgdG8gImIiLgoJW19fcG93ZXJwYzY0X19dIChfX2FyY2hfYXRvbWljX2V4Y2hhbmdlX2FuZCBhZGRfNjQpOgoJUmVwbGFjZSBhZGRpIHdpdGggYWRkLiBDaGFuZ2UgKHZhbHVlKSBjb250cmFpbnQgdG8gInIiLgoJQ2hhbmdlIChtZW0pIGNvbnN0cmFpbnQgdG8gImIiLgoJW19fcG93ZXJwYzY0X19dIChfX2FyY2hfYXRvbWljX2RlY3JlbWVudF9pZl9wb3NpdGl2ZV82NCk6IE5ldyBtYWNyby4KCShfX2FyY2hfYXRvbWljX2V4Y2hhbmdlXzMyKTogQ2hhbmdlIChtZW0pIGNvbnN0cmFpbnQgdG8gImIiLgoJKF9fYXJjaF9hdG9taWNfZXhjaGFuZ2VfYW5kX2FkZF8zMik6IENoYW5nZSAobWVtKSBjb25zdHJhaW50IHRvICJiIi4KCShfX2FyY2hfYXRvbWljX2RlY3JlbWVudF9pZl9wb3NpdGl2ZV8zMik6IE5ldyBtYWNyby4KCShhdG9taWNfZGVjcmVtZW50X2lmX3Bvc2l0aXZlKTogVXNlIF9fYXJjaCogbWFjcm9zLgoKMjAwMy0wMy0yNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2lhNjQvZnB1L2xpYm0tdGVzdC11bHBzOiBVcGRhdGUuCgoyMDAzLTAzLTI3ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogc2NyaXB0cy9ycG0yZHluc3ltLnNoOiBOZXcgZmlsZS4KCSogTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgaXQuCgoyMDAzLTAzLTI3ICBEYXZpZCBNb3NiZXJnZXIgIDxkYXZpZG1AaHBsLmhwLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvZ2V0Y29udGV4dC5TOiBSZXN0b3JlIGNhbGxlcidzCglhci51bmF0IGJlZm9yZSByZXR1cm5pbmcuICBBZGQgbWlzc2luZyAubWVtLm9mZnNldCBkaXJlY3RpdmVzCgl0byBlbnN1cmUgZmlsZSBnZXRzIGFzc2VtYmxlZCB3aXRob3V0IHdhcm5pbmdzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3NldGptcC5TOiBMaWtld2lzZS4KCjIwMDMtMDMtMjcgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzY29uZi5jIChfX3N5c2NvbmYpIDxfU0NfTU9OT1RPTklDX0NMT0NLPjoKCVJldHVybiAtMSBpbnN0ZWFkIG9mIDAgaWYgY2xvY2tfZ2V0cmVzIGZhaWxlZC4KCjIwMDMtMDMtMjcgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBzY3JpcHRzL2FiaWxpc3QuYXdrOiBJZiB2YXJpYWJsZSBgcGFyc2VfbmFtZXMnIGlzIHNldCwgZ3JvayB0aGUgZmlsZQoJaGVhZGVyIGxpbmVzIGFuZCB3cml0ZSBvdXQgZm9vLnN5bWxpc3QgZmlsZXMgZm9yIGVhY2ggZm9vLnNvLk5OIGxpc3RlZC4KCgkqIGxpYmlvL2xpYmlvUC5oIChfSU9fd2ZpbGVfanVtcHMpOiBSZW1vdmUgYXR0cmlidXRlX2hpZGRlbi4KCVRoaXMgc3ltYm9sIGlzIGV4cG9ydGVkLCBhbmQgd2UgZG9uJ3Qgd2FudCB0byBoaWRlIGl0LgoJQWRkIGxpYmNfaGlkZGVuX3Byb3RvIGluc3RlYWQuCgkoX0lPX2ZpbGVfanVtcHMpOiBBZGQgbGliY19oaWRkZW5fcHJvdG8uCgkqIGxpYmlvL3dmaWxlb3BzLmMgKF9JT193ZmlsZV9qdW1wcyk6IEFkZCBsaWJjX2hpZGRlbl9kYXRhX2RlZi4KCVJlbW92ZSBJTlRWQVJERUYuCgkqIGxpYmlvL2ZpbGVvcHMuYyAoX0lPX2ZpbGVfanVtcHMpOiBMaWtld2lzZS4KCSogbGliaW8vc3RkZmlsZXMuYzogRG9uJ3QgdXNlIElOVFVTRSBvbiB0aGVtLgoJKiBsaWJpby9pb2Zkb3Blbi5jIChfSU9fbmV3X2Zkb3Blbik6IExpa2V3aXNlLgoJKiBsaWJpby9pb2ZvcGVuLmMgKF9fZm9wZW5faW50ZXJuYWwpOiBMaWtld2lzZS4KCSogbGliaW8vZnJlb3Blbi5jIChmcmVvcGVuKTogTGlrZXdpc2UuCgkqIGxpYmlvL2ZyZW9wZW42NC5jIChmcmVvcGVuNjQpOiBMaWtld2lzZS4KCSogbGliaW8vaW92ZHByaW50Zi5jIChfSU9fdmRwcmludGYpOiBMaWtld2lzZS4KCgkqIE1ha2VydWxlcyAoY2hlY2stYWJpKSBbJChlbmFibGUtY2hlY2stYWJpKSA9IHdhcm5dOgoJSWdub3JlIGV4aXQgc3RhdHVzIGZyb20gZGlmZi4KCSogY29uZmlndXJlLmluIChlbmFibGVfY2hlY2tfYWJpKTogRG9jdW1lbnQgcG9zc2libGUgdmFsdWUgIndhcm4iLgoJQ2hhbmdlIGRlZmF1bHQgdG8gbm8gZm9yIG5vdy4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlZC4KCgkqIHN5c2RlcHMvdW5peC9NYWtlZmlsZSAoJChvYmpwZngpc3R1Yi1zeXNjYWxscy5jKTogRW1pdCBzdHViX3dhcm5pbmcKCW1hY3JvIGNhbGxzIGFuZCBhICNpbmNsdWRlIDxzdHViLXRhZy5oPiBhdCB0aGUgZW5kLgoJKiBNYWtlcnVsZXMgKCQob2JqcGZ4KXN0dWJzKTogVHdlYWsgc2VkIGNvbW1hbmRzLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzY2FsbHMubGlzdDogVXNlIC0gcmF0aGVyIHRoYW4gRVhUUkEgaW4KCWNhbGxlciBjb2x1bW4gZm9yICp4YXR0ciBzeXNjYWxscywgc2luY2UgdGhleSBhcmUgaW4gc3lzZGVwcy9nZW5lcmljLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zZXRmc3VpZC5jOiBzZXRmc2dpZCAtPiBzZXRmc3VpZAoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3NldGZzZ2lkLmM6IHNldGZzdWlkIC0+IHNldGZzZ2lkCgoyMDAzLTAzLTI2ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogTWFrZXJ1bGVzIChjaGVjay1hYmktY29uZmlnKTogVXNlIC90aHJlYWQgaW5zdGVhZCBvZiAvdGxzIHdoZW4KCXVzZS10aHJlYWQgYW5kIG5vdCBqdXN0IHVzZS10bHMgaXMgc2V0LgoKCSogTWFrZXJ1bGVzICh1cGRhdGUtYWJpKTogUHV0IHF1b3RlcyBhcm91bmQgJCh1cGRhdGUtYWJpLWNvbmZpZykuCgoJKiBlbGYvTWFrZWZpbGUgKGNoZWNrLWFiaSk6IERlcGVuZCBvbiBjaGVjay1hYmktbGQuCgkodXBkYXRlLWFiaSk6IERlcGVuZCBvbiB1cGRhdGUtYWJpLWxkLgoKMjAwMy0wMy0yNiAgR09UTyBNYXNhbm9yaSAgPGdvdG9tQGRlYmlhbi5vci5qcD4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc2V0ZnN1aWQuYzogVXNlIElOVEVSTkFMX1NZU0NBTEwgYW5kCglkbyBub3QgY2hlY2sgZm9yIGVycm9ycyAodW5sZXNzIHRlc3RpbmcgZm9yIDMyYml0IHZhcmlhbnQpLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3NldGZzZ2lkLmM6IExpa2V3aXNlLgoKMjAwMy0wMy0yNyAgUGhpbGlwIEJsdW5kZWxsICA8cGhpbGJAZ251Lm9yZz4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9zeXNkZXAuaCAoUFNFVURPX1JFVF9OT0VSUk5PKTogVXNlCgl1bmNvbmRpdGlvbmFsIG1vdi4gIFJlbW92ZSBub3AuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9rZXJuZWwtZmVhdHVyZXMuaAoJKF9fQVNTVU1FX1ZGT1JLX1NZU0NBTEwpOiBEZWZpbmUgZm9yIGtlcm5lbCAyLjQgb24gYXJtLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vdmZvcmsuUzogRWxpZGUgY29tcGF0aWJpbGl0eSBjb2RlCgl3aGVuIF9fQVNTVU1FX1ZGT1JLX1NZU0NBTEwgaXMgZGVmaW5lZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL21tYXA2NC5TOiBMaWtld2lzZSBmb3IKCV9fQVNTVU1FX01NQVAyX1NZU0NBTEwuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9zaWdhY3Rpb24uYzogTGlrZXdpc2UgZm9yCglfX0FTU1VNRV9SRUFMVElNRV9TSUdOQUxTLgoKMjAwMy0wMy0yNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvbGRzb2RlZnMuaCAoRUxGX1JUWVBFX0NMQVNTX0NPUFkpOiBEZWZpbmUgdG8gMgoJb25seSBpZiBETF9OT19DT1BZX1JFTE9DUyBpcyBub3QgZGVmaW5lZC4KCSogc3lzZGVwcy9pYTY0L2RsLWxvb2t1cGNmZy5oOiBEZWZpbmUgRExfTk9fQ09QWV9SRUxPQ1MuCgoyMDAzLTAzLTI2ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L21ha2Utc3lzY2FsbHMuc2g6IFdoZW4gYW4gdW5kZWZpbmVkIHN5c2NhbGwgaGFzCglTT1VSQ0U9LSwgYXBwZW5kIGl0cyBzeW1ib2wgbmFtZXMgdG8gbWFrZSB2YXJpYWJsZSB1bml4LXN0dWItc3lzY2FsbHMuCgkqIHN5c2RlcHMvdW5peC9NYWtlZmlsZSBbJChzdWJkaXIpID0gbWlzY10gW3VuaXgtc3R1Yi1zeXNjYWxsc10KCShzeXNkZXBfcm91dGluZXMpOiBBZGQgc3R1Yi1zeXNjYWxscy4KCSgkKG9ianBmeClzdHViLXN5c2NhbGxzLmMpOiBOZXcgdGFyZ2V0LgoJKGdlbmVyYXRlZCk6IEFkZCBzdHViLXN5c2NhbGxzLmMuCgoJKiB0bHMubWFrZS5jOiBBbHNvIGRlZmluZSB1c2UtdGxzIGFjY29yZGluZyB0byBVU0VfVExTIG1hY3JvLgoKMjAwMy0wMy0yNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9iaXRzL3NpZ2luZm8uaCAoc3RydWN0IHNpZ2luZm8pOiBBdm9pZAoJbm8tb3AgcGFkZGluZyBlbGVtZW50LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3NpZ2luZm8uaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy9zaWdpbmZvLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2JpdHMvc2lnaW5mby5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvYml0cy9zaWdpbmZvLmg6IExpa2V3aXNlLgoKMjAwMy0wMy0yNiAgR09UTyBNYXNhbm9yaSAgPGdvdG9tQGRlYmlhbi5vci5qcD4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvZ2V0Z3JvdXBzLmM6IEZpeCB0aGUgZXJyb3IKCWNvbmRpdGlvbiBjaGVjayBmb3IgdGhlIHJldHVybiB2YWx1ZSBvZiBnZXRncm91cHMzMi4KCjIwMDMtMDMtMjYgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL3N5c2RlcC5oIChQU0VVRE9fTk9FUlJOTyk6CglGaXggYSB0eXBvLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L3N5c2RlcC5oIChQU0VVRE9fTk9FUlJOTywKCVBTRVVET19FTkRfTk9FUlJOTyk6IERlZmluZS4KCSogc3lzZGVwcy91bml4L3N5c2RlcC5oIChQU0VVRE9fRU5EX05PRVJSTk8pOiBGaXggYSB0eXBvLgoJRGVmaW5lIHRvIFBTRVVET19FTkQuCgoyMDAzLTAzLTI2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGFiaWxpc3QvbGlicnQuYWJpbGlzdDogQWRkIG5ldyB0aW1lciBpbnRlcmZhY2VzIGZvciA2NC1iaXQgYXJjaHMuCgoyMDAzLTAzLTI1ICBKaXJvIFNFS0lCQSAgPGppckB5YW1hdG8uaWJtLmNvbT4KCgkqIGljb252ZGF0YS9ldWMtdHcuYyAoZnJvbV9ldWNfdHcpOiBGaXggcmV0dXJuIHZhbHVlIG9mIFRPX0xPT1AuCgkqIGljb252ZGF0YS9idWctaWNvbnY0LmM6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvTWFrZWZpbGUgKHRlc3RzKTogQWRkIGJ1Zy1pY29udjQuCgoyMDAzLTAzLTI1ICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBlbGYvZGwtbG9va3VwLmMgKF9kbF9sb29rdXBfc3ltYm9sKTogQXZvaWQgbG9va2luZyB1cCBwcm90ZWN0ZWQKCXN5bWJvbHMgdHdpY2UuCgkoX2RsX2xvb2t1cF92ZXJzaW9uZWRfc3ltYm9sKTogTGlrZXdpc2UuCgoyMDAzLTAzLTI2ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGNzdS90c3QtYXRvbWljLmMgKGRvX3Rlc3QpOiBBZGQgc29tZSBuZXcKCWF0b21pY19jb21wYXJlX2FuZF9leGNoYW5nZV92YWxfYWNxLCBhdG9taWNfYWRkX3plcm8sCglhdG9taWNfY29tcGFyZV9hbmRfZXhjaGFuZ2VfYm9vbF9hY3EgYW5kIGF0b21pY19hZGRfbmVnYXRpdmUgdGVzdHMuCgkqIGluY2x1ZGUvYXRvbWljLmggKGF0b21pY19hZGRfbmVnYXRpdmUsIGF0b21pY19hZGRfemVybyk6CglQcmVmaXggbG9jYWwgdmFyaWFibGUgc28gdGhhdCBpdCBkb2Vzbid0IGNsYXNoIHdpdGggdGhlIG9uZQoJaW4gYXRvbWljX2V4Y2hhbmdlX2FuZF9hZGQuCgkqIHN5c2RlcHMvaWE2NC9iaXRzL2F0b21pYy5oIChhdG9taWNfZXhjaGFuZ2UpOiBGaXggZm9yIGxvbmcvdm9pZCAqCglwb2ludGVycy4KCShhdG9taWNfZXhjaGFuZ2VfYW5kX2FkZCk6IEltcGxlbWVudCB1c2luZyBfX3N5bmNfZmV0Y2hfYW5kX2FkZF8/aS4KCSogc3lzZGVwcy9wb3dlcnBjL2JpdHMvYXRvbWljLmggKGF0b21pY19leGNoYW5nZV9hbmRfYWRkKTogRm9yY2UKCXZhbHVlIGludG8gcmVnaXN0ZXIuCgkqIHN5c2RlcHMvczM5MC9iaXRzL2F0b21pYy5oIChfX2FyY2hfY29tcGFyZV9hbmRfZXhjaGFuZ2VfdmFsXzY0X2FjcSk6CglDYXN0IG5ld3ZhbCB0byBsb25nLgoJKiBzeXNkZXBzL3g4Nl82NC9iaXRzL2F0b21pYy5oCgkoX19hcmNoX2NvbXBhcmVfYW5kX2V4Y2hhbmdlX3ZhbF82NF9hY3EpOiBDYXN0IG5ld3ZhbCBhbmQgb2xkdmFsIHRvCglsb25nLgoJKGF0b21pY19leGNoYW5nZSk6IENhc3QgbmV3dmFsdWUgdG8gbG9uZyBpZiBzaXplb2YgPT0gOC4KCShhdG9taWNfZXhjaGFuZ2VfYW5kX2FkZCk6IENhc3QgdmFsdWUgdG8gbG9uZyBpZiBzaXplb2YgPT0gOC4KCShhdG9taWNfYWRkLCBhdG9taWNfYWRkX25lZ2F0aXZlLCBhdG9taWNfYWRkX3plcm8pOiBMaWtld2lzZS4KCShhdG9taWNfYml0X3NldCk6IFNoaWZ0IDFMIHVwIGluIGFsbCBjYXNlcyB0byBzaHV0IHVwIHdhcm5pbmdzLgoKMjAwMy0wMy0yMSAgTWFydGluIFNjaHdpZGVmc2t5ICA8c2Nod2lkZWZza3lkZS5pYm0uY29tPgoKCSogc3lzZGVwcy9zMzkwL3MzOTAtMzIvYmFja3RyYWNlLmMgKF9fYmFja3RyYWNlKTogUmVtb3ZlIGhpZ2ggb3JkZXIKCWJpdCBmcm9tIGJhY2t0cmFjZSBhZGRyZXNzZXMuCgoyMDAzLTAzLTIxICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9jaG93bi5jOiBEb24ndCBkZWZpbmUgYW55IHZlcnNpb25lZAoJX19jaG93biBzeW1ib2xzLgoKMjAwMy0wMy0yNSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZy5tYWtlLmluIChlbmFibGUtY2hlY2stYWJpKTogTmV3IHZhcmlhYmxlIGZyb20gY29uZmlndXJlLgoJKiBjb25maWd1cmUuaW4gKGVuYWJsZV9jaGVja19hYmkpOiBOZXcgc3Vic3RpdHV0ZWQgdmFyaWFibGUsCgljb250cm9sbGVkIGJ5IC0te2VuYWJsZSxkaXNhYmxlfS1jaGVjay1hYmkgKGRlZmF1bHQgeWVzKS4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlZC4KCSogTWFrZXJ1bGVzIFskKGVuYWJsZS1jaGVjay1hYmkpID0geWVzXSAodGVzdHMpOiBQdXQgdGhpcyBjb25kaXRpb24KCW9uIGNoZWNrLWFiaSBkZXBlbmRlbmN5LgoKMjAwMy0wMy0yNiAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIHN5c2RlcHMvbTY4ay9tNjgwMjAvYml0cy9hdG9taWMuaDogRml4IHR5cG9zLgoJKiBpbmNsdWRlL2F0b21pYy5oOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L202OGsvc3lzZGVwLmg6IERlZmluZSByZXRfTk9FUlJOTy4KCjIwMDMtMDMtMjUgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3Bvd2VycGMvYml0cy9hdG9taWMuaCAoX19hcmNoX2F0b21pY19leGNoYW5nZV8zMik6IE5ldyBtYWNyby4KCShfX2FyY2hfYXRvbWljX2V4Y2hhbmdlXzY0KTogTmV3IG1hY3JvLgoJKGF0b21pY19leGNoYW5nZSk6IFVzZSB0aGVtLgoJKF9fYXJjaF9hdG9taWNfZXhjaGFuZ2VfYW5kX2FkZF8zMik6IE5ldyBtYWNyby4KCShfX2FyY2hfYXRvbWljX2V4Y2hhbmdlX2FuZF9hZGRfNjQpOiBOZXcgbWFjcm8uCgkoYXRvbWljX2V4Y2hhbmdlX2FuZF9hZGQpOiBVc2UgdGhlbS4KCU9yaWdpbmFsIHBhdGNoIGZyb20gU3RldmVuIE11bnJvZSA8c2ptdW5yb2VAdXMuaWJtLmNvbT4uCgoyMDAzLTAzLTI1ICBBbGV4YW5kcmUgT2xpdmEgIDxhb2xpdmFAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvbWlwcy9zZ2lkZWZzLmggKF9NSVBTX0lTQV9NSVBTMzIsIF9NSVBTX0lTQV9NSVBTNjQpOgoJRGVmaW5lLgoJKiBzeXNkZXBzL21pcHMvc3lzL2FzbS5oOiBUZXN0IF9NSVBTX0lTQSBhZ2FpbnN0IHRoZW0gb24gYWxsCglJU0EgdGVzdHMuCgkoQUxTWiwgQUxNQVNLLCBTWlJFRywgUkVHX1MsIFJFR19MKTogRGVmaW5lIGJhc2VkIG9uIEFCSSwgbm90IElTQS4KCShQVFJfQURELCBldGMpOiBUZXN0IF9NSVBTX1NaUFRSIGluc3RlYWQgb2YgX01JUFNfU1pMT05HLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2JpdHMvc2lnYWN0aW9uLmg6IFVzZSBfTUlQU19TWlBUUgoJdG8gZGVjaWRlIHdoZXRoZXIgdG8gYWRkIHBhZGRpbmcuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvYml0cy9zaWdhY3Rpb24uaDogVXNlIF9NSVBTX1NaUFRSCgl0byBkZWNpZGUgd2hldGhlciB0byBhZGQgcGFkZGluZy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9rZXJuZWxfc2lnYWN0aW9uLmggKHN0cnVjdAoJb2xkX2tlcm5lbF9zaWdhY3Rpb24pOiBMaWtld2lzZS4KCjIwMDMtMDMtMjUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogY3N1L3RzdC1hdG9taWMuYzogQWRqdXN0IHRlc3RzIHRvIHdoYXQgYXRvbWljX2FkZF9uZWdhdGl2ZSBhbmQKCWF0b21pY19hZGRfemVybyB3ZXJlIHN1cHBvc2VkIHRvIGRvLgoJKiBpbmNsdWRlL2F0b21pYy5oOiBBZGp1c3QgYXRvbWljX2FkZF9uZWdhdGl2ZSBhbmQgYXRvbWljX2FkZF96ZXJvCgl0byB4ODYgYmVoYXZpb3IuCgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy90eXBlc2l6ZXMuaCAoX19USU1FUl9UX1RZUEUpOiBEZWZpbmUgYXMgdm9pZCouCglUaGlzIG1hdGNoZXMgdGhlIG5ldyB0aW1lciBpbXBsZW1lbnRhdGlvbi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvYml0cy90eXBlc2l6ZXMuaCAoX19USU1FUl9UX1RZUEUpOgoJTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2JpdHMvdHlwZXNpemVzLmggKF9fVElNRVJfVF9UWVBFKToKCUxpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3NpZ2luZm8uaCAoc3RydWN0IHNpZ2luZm8pOiBBZGp1c3QKCXRpbWVyIGluZm8gZm9yIHdoYXQgdGhlIGtlcm5lbCBwcm92aWRlcyB0aGVzZSBkYXlzLgoJKHN0cnVjdCBzaWdldmVudCk6IEFkZCBfdGlkIGZpZWxkLgoJRGVmaW5lIFNJR0VWX1RIUkVBRF9JRC4KCVJlbW92ZSBzdHJ1Y3QgX19wdGhyZWFkX2F0dHJfcyBmb3J3YXJkIGRlY2xhcmF0aW9uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9iaXRzL3NpZ2luZm8uaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy9zaWdpbmZvLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2JpdHMvc2lnaW5mby5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvYml0cy9zaWdpbmZvLmg6IExpa2V3aXNlLgoKCSogVmVyc2lvbnMuZGVmIChsaWJydCk6IEFkZCBHTElCQ18yLjMuMy4KCgkqIGFiaWxpc3QvbGlicHRocmVhZC5hYmlsaXN0OiBVcGRhdGUgZm9yIG5wdGwuCgoyMDAzLTAzLTI0ICBKb24gR3JpbW0gIDxqZ3JpbW1AdXMuaWJtLmNvbT4KCgkqIGluZXQvbmV0aW5ldC9pbi5oOiBBZGQgSVBQUk9UT19TQ1RQLgoKMjAwMy0wMy0yNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvZXBvbGwuaCAoRVBPTExFVCk6IERlZmluZS4KCjIwMDMtMDMtMjQgIFBoaWxpcCBCbHVuZGVsbCAgPHBoaWxiQGdudS5vcmc+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vc3lzZGVwLmggKElOVEVSTkFMX1NZU0NBTEwpOgoJUmVtb3ZlIGExIGZyb20gY2xvYmJlciBsaXN0LgoKMjAwMy0wMy0yNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiB0aW1lem9uZS9hbnRhcmN0aWNhOiBVcGRhdGUgZnJvbSB0emRhdGEyMDAzYS4KCSogdGltZXpvbmUvYXNpYTogTGlrZXdpc2UuCgkqIHRpbWV6b25lL2F1c3RyYWxhc2lhOiBMaWtld2lzZS4KCSogdGltZXpvbmUvZXVyb3BlOiBMaWtld2lzZS4KCSogdGltZXpvbmUvaXNvMzE2Ni50YWI6IExpa2V3aXNlLgoJKiB0aW1lem9uZS9ub3J0aGFtZXJpY2E6IExpa2V3aXNlLgoJKiB0aW1lem9uZS9zb3V0aGFtZXJpY2E6IExpa2V3aXNlLgoJKiB0aW1lem9uZS96b25lLnRhYjogTGlrZXdpc2UuCgoyMDAzLTAzLTI0ICBTdGV2ZW4gTXVucm9lICA8c2ptdW5yb2VAdXMuaWJtLmNvbT4KCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjNjQvc3lzZGVwLmggKFBTRVVET19FTkRfTk9FUlJOTyk6IEZpeCB0eXBvLgoKMjAwMy0wMy0yMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3N5c2RlcC5oIChyZXRfTk9FUlJOTyk6IEF2b2lkCgl1bndhbnRlZCBleHBhbnNpb24gYnkgZGVmaW5pbmluZyB0byByZXQuICBQYXRjaCBieSBJYW4gV2llbmFuZC4KCgkqIHN5c2RlcHMvdW5peC9tYWtlLXN5c2NhbGxzLnNoOiBSZWNvZ25pemUgJ0UnIGluIGZpcnN0IHBvc2l0aW9uIG9mCgl0aGUgcGFyYW1ldGVyIGRlc2NyaXB0aW9uIHRvIGRlbm90ZSBubyBlcnJvciBjaGVja2luZy4gIEdlbmVyYXRlCglhcHByb3ByaWF0ZSBwc2V1ZG8gYXNtIGNvZGUuCgkqIHN5c2RlcHMvdW5peC9zeXNjYWxscy5saXN0OiBNYXJrIGdldGdpZCwgZ2V0cGlkLCBnZXR1aWQgd2l0aCAnRScuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5c2NhbGxzLmxpc3Q6IE1hcmsgZ2V0ZWdpZCwgZ2V0ZXVpZCwKCWdldHBncnAsIGFuZCBnZXRwcGlkIHdpdGggJ0UnLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL3N5c2RlcC5oOiBEZWZpbmUgUFNFVURPX05PRVJSTk8sCglQU0VVRE9fRU5EX05PRVJSTk8sIGFuZCByZXRfTk9FUlJOTy4KCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9zeXNkZXAuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXNkZXAuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9hbHBoYS9zeXNkZXAuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zcGFyYy9zeXNkZXAuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9zeXNkZXAuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2NyaXMvc3lzZGVwLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ocHBhL3N5c2RlcC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zeXNkZXAuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc3lzZGVwLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tNjhrL3N5c2RlcC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL3N5c2RlcC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L3N5c2RlcC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvc3lzZGVwLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzMyL3N5c2RlcC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oOiBMaWtld2lzZS4KCjIwMDMtMDMtMjMgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBNYWtlY29uZmlnICgraW5jbHVkZXMpOiBEb24ndCB1c2UgJChsYXN0LWluY2x1ZGVzKS4KCjIwMDMtMDMtMjIgIEFsZXhhbmRyZSBPbGl2YSAgPGFvbGl2YUByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY29uZmlndXJlLmluOiBVcGRhdGUgbWlwczY0IHBhdHRlcm5zLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jb25maWd1cmU6IFJlYnVpbHQuCgoyMDAzLTAzLTIzICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvYWxwaGEvZnB1L2xpYm0tdGVzdC11bHBzOiBVcGRhdGUuCgkqIHN5c2RlcHMvYXJtL2xpYm0tdGVzdC11bHBzOiBVcGRhdGUuCgkqIHN5c2RlcHMvaHBwYS9mcHUvbGlibS10ZXN0LXVscHM6IFVwZGF0ZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9saWJtLXRlc3QtdWxwczogVXBkYXRlLgoJKiBzeXNkZXBzL21pcHMvZnB1L2xpYm0tdGVzdC11bHBzOiBVcGRhdGUuCgkqIHN5c2RlcHMvcG93ZXJwYy9ub2ZwdS9saWJtLXRlc3QtdWxwczogVXBkYXRlLgoJKiBzeXNkZXBzL3Bvd2VycGMvZnB1L2xpYm0tdGVzdC11bHBzOiBVcGRhdGUuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9mcHUvbGlibS10ZXN0LXVscHM6IFVwZGF0ZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L2ZwdS9saWJtLXRlc3QtdWxwczogVXBkYXRlLgoJKiBzeXNkZXBzL3NoL3NoNC9mcHUvbGlibS10ZXN0LXVscHM6IFVwZGF0ZS4KCSogc3lzZGVwcy9zMzkwL2ZwdS9saWJtLXRlc3QtdWxwczogVXBkYXRlLgoJKiBzeXNkZXBzL3g4Nl82NC9mcHUvbGlibS10ZXN0LXVscHM6IFVwZGF0ZS4KCjIwMDMtMDMtMjIgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2F0b21pYy5oOiBQdXQgcGFyZW5zIGFyb3VuZCBhbGwgbWFjcm8gYXJndW1lbnRzLgoJKF9fYXRvbWljX3ZhbF9ieXNpemUsIF9fYXRvbWljX2Jvb2xfYnlzaXplKTogTmV3IG1hY3Jvcy4KCShhdG9taWNfY29tcGFyZV9hbmRfZXhjaGFuZ2VfdmFsX2FjcSk6IFVzZSBpdC4KCShhdG9taWNfY29tcGFyZV9hbmRfZXhjaGFuZ2VfYm9vbF9hY3EpOiBMaWtld2lzZS4KCShhdG9taWNfaW5jcmVtZW50X2FuZF90ZXN0KTogSW52ZXJ0IHNlbnNlIG9mIHRlc3QuCgkoYXRvbWljX2RlY3JlbWVudF9hbmRfdGVzdCk6IExpa2V3aXNlLgoJKiBjc3UvdHN0LWF0b21pYy5jOiBVcGRhdGUgdGhvc2UgdGVzdHMgdG8gbWF0Y2guCgoyMDAzLTAzLTIyICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvYXRvbWljLmggKGF0b21pY19jb21wYXJlX2FuZF9leGNoYW5nZV92YWxfYWNxKTogQWRkIGNvbW1lbnQuCglEb24ndCBkZWZpbmUgaWYgX19hcmNoX2NvbXBhcmVfYW5kX2V4Y2hhbmdlX3ZhbF8zMl9hY3EgaXMgbm90IGRlZmluZWQuCgkoYXRvbWljX2NvbXBhcmVfYW5kX2V4Y2hhbmdlX2Jvb2xfYWNxKTogQWRkIGNvbW1lbnQuICBEb24ndCB1c2UKCV9fb2xkdmFsIHZhcmlhYmxlIGluIHRoZSBtYWNybywgc2luY2UgaXQgbWlnaHQgYmUgbWFjcm8gYXJndW1lbnQuCgkoYXRvbWljX2RlY3JlbWVudF9pZl9wb3NpdGl2ZSk6IEluaXRpYWxpemUgX19tZW1wLCByZW1vdmUgc2V0dGluZwoJb2Ygbm9uLWV4aXN0ZW50IHZhcmlhYmxlLgoJKGF0b21pY19iaXRfdGVzdF9zZXQpOiBDYXN0IDEgdG8gX190eXBlb2YgKCptZW0pIGJlZm9yZSBzaGlmdGluZy4KCSogc3lzZGVwcy9pYTY0L2JpdHMvYXRvbWljLmggKGF0b21pY19leGNoYW5nZV9hbmRfYWRkKTogSW1wbGVtZW50Cgl1c2luZyBhdG9taWNfY29tcGFyZV9hbmRfZXhjaGFuZ2VfdmFsX2FjcS4KCShhdG9taWNfZGVjcmVtZW50X2lmX3Bvc2l0aXZlLCBhdG9taWNfYml0X3Rlc3Rfc2V0KTogRGVmaW5lLgoJKiBzeXNkZXBzL3MzOTAvYml0cy9hdG9taWMuaCAoX19hcmNoX2NvbXBhcmVfYW5kX2V4Y2hhbmdlX3ZhbF84X2FjcSk6CglSZW5hbWVkIGZyb20uLi4KCShfX2FyY2hfY29tcGFyZV9hbmRfZXhjaGFuZ2VfYm9vbF84X2FjcSk6IC4uLiB0aGlzLgoJKF9fYXJjaF9jb21wYXJlX2FuZF9leGNoYW5nZV92YWxfMTZfYWNxKTogUmVuYW1lZCBmcm9tLi4uCgkoX19hcmNoX2NvbXBhcmVfYW5kX2V4Y2hhbmdlX2Jvb2xfMTZfYWNxKTogLi4uIHRoaXMuCgkoX19hcmNoX2NvbXBhcmVfYW5kX2V4Y2hhbmdlX3ZhbF8zMl9hY3EpOiBSZXR1cm4gb2xkIHZhbHVlLiAgUmVuYW1lZAoJZnJvbS4uLgoJKF9fYXJjaF9jb21wYXJlX2FuZF9leGNoYW5nZV9ib29sXzMyX2FjcSk6IC4uLiB0aGlzLgoJKF9fYXJjaF9jb21wYXJlX2FuZF9leGNoYW5nZV92YWxfNjRfYWNxKTogUmV0dXJuIG9sZCB2YWx1ZS4gIFJlbmFtZWQKCWZyb20uLi4KCShfX2FyY2hfY29tcGFyZV9hbmRfZXhjaGFuZ2VfYm9vbF82NF9hY3EpOiAuLi4gdGhpcy4KCShfX2FyY2hfY29tcGFyZV9hbmRfZXhjaGFuZ2VfdmFsXzMyX2FjcSk6IFVzZSBfX3R5cGVvZiBmb3IgbG9jYWwKCXZhcmlhYmxlcyB0eXBlcyBpbnN0ZWFkIG9mIGFzc3VtaW5nIGludC4KCUNoYW5nZSBwcmVmaXggb2YgbG9jYWwgdmFyaWFibGVzIHRvIF9fYXJjaC4KCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvYXRvbWljLmggKGFyY2hfY29tcGFyZV9hbmRfZXhjaGFuZ2VfYWNxKToKCVJlbW92ZS4KCShhdG9taWNfY29tcGFyZV9hbmRfZXhjaGFuZ2VfdmFsX2FjcSwKCWF0b21pY19jb21wYXJlX2FuZF9leGNoYW5nZV9ib29sX2FjcSk6IERlZmluZS4KCgkqIGNzdS90c3QtYXRvbWljLmM6IE5ldyB0ZXN0LgoJKiBjc3UvdHN0LWF0b21pYy1sb25nLmM6IE5ldyB0ZXN0LgoJKiBjc3UvTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC1hdG9taWMgYW5kIHRzdC1hdG9taWMtbG9uZy4KCgkqIG1hbGxvYy9tZW11c2FnZXN0YXQuYyAobWFpbik6IEtpbGwgd2FybmluZyBpZiB1aW50NjRfdCBpcyB1bG9uZy4KCgkqIHN5c2RlcHMvczM5MC9WZXJzaW9uczogQWRkIHRyYWlsaW5nIG5ld2xpbmUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXNjb25mLmMgKF9fc3lzY29uZik6IEtpbGwgd2FybmluZwoJaWYgSU5URVJOQUxfU1lTQ0FMTF9FUlJPUl9QIGRvZXNuJ3QgdXNlIGl0cyBmaXJzdCBhcmd1bWVudC4KCjIwMDMtMDMtMjIgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzeXNkZXBzL202OGsvZnB1L2xpYm0tdGVzdC11bHBzOiBVcGRhdGUuCgoJKiBzeXNkZXBzL202OGsvbTY4MDIwL2JpdHMvYXRvbWljLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL202OGsvbTY4MDIwL2F0b21pY2l0eS5oOiBSZW1vdmVkLgoKMjAwMy0wMy0yMiAgQWxleGFuZHJlIE9saXZhICA8YW9saXZhQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL21pcHMvZWxmL2xkc29kZWZzLmg6IEFkZCBtaXBzLXNwZWNpZmljIGVsZjY0IHJlbG9jYXRpb24KCWRhdGEgc3RydWN0dXJlcyBhbmQgbWFjcm9zLiAgUHJvdGVjdCBmcm9tIG11bHRpcGxlIGluY2x1c2lvbi4KCgkqIHN5c2RlcHMvbWlwcy9kbC1tYWNoaW5lLmggKEVMRl9NSVBTX0dOVV9HT1QxX01BU0spOiBGaXggaGFybWxlc3MKCXR5cG8gaW4gI2lmIHRlc3QuCgoyMDAzLTAzLTIxICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL2kzODYvZnB1L2xpYm0tdGVzdC11bHBzOiBVcGRhdGUuCgoJKiBtYXRoL2xpYm0tdGVzdC5pbmMgKHRnYW1tYV90ZXN0KTogUmVjb21wdXRlIHNvbWUgY29uc3RhbnRzIHdpdGgKCTM2IGRpZ2l0cyBwcmVjaXNpb24uCgkobGdhbW1hX3Rlc3QpOiBMaWtld2lzZS4KCShjY29zX3Rlc3QpOiBMaWtld2lzZS4KCShjY29zaF90ZXN0KTogTGlrZXdpc2UuCgkoY2xvZzEwX3Rlc3QpOiBMaWtld2lzZS4KCShjc2luX3Rlc3QpOiBMaWtld2lzZS4KCShjc2luaF90ZXN0KTogTGlrZXdpc2UuCgkoY3Rhbl90ZXN0KTogTGlrZXdpc2UuCgkoY3RhbmhfdGVzdCk6IExpa2V3aXNlLgoKMjAwMy0wMy0xOSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvZnB1L2xpYm0tdGVzdC11bHBzOiBSZWdlbmVyYXRlZC4KCjIwMDMtMDMtMjEgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2kzODYvaTQ4Ni9iaXRzL2F0b21pYy5oIChhdG9taWNfYml0X3NldCk6IFVzZSAiaXIiCgljb25zdHJhaW50IHRvIHBlcm1pdCBub24tY29uc3RhbnQgQklUIGFyZ3VtZW50LgoJKGF0b21pY19iaXRfdGVzdF9zZXQpOiBMaWtld2lzZS4KCSogc3lzZGVwcy94ODZfNjQvYml0cy9hdG9taWMuaCAoYXRvbWljX2JpdF90ZXN0X3NldCk6IExpa2V3aXNlLgoJKGF0b21pY19iaXRfc2V0KTogTGlrZXdpc2UuICBVc2UgMVVMIGluIGNhc2UgdGhhdCBCSVQgbWlnaHQgYmUgPj0gMzIuCglGb3IgcXVhZHdvcmQgY2FzZSwgdXNlICJpIiBjb25zdHJhaW50IGlmIF9fYnVpbHRpbl9jb25zdGFudF9wIGFuZCA8IDMyCglvciAiciIgY29uc3RyYWludCBvdGhlcndpc2UuCgoJKiBjb25maWd1cmUuaW46IE1vdmUgQUNfUFJPR19DQyBhbmQgb3RoZXIgcHJvZ3JhbS1maW5kaW5nIGJlZm9yZSBhbGwKCXRoZSB2ZXJzaW9uIGNoZWNrcy4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlZC4KCjIwMDMtMDMtMjEgIEFsZXhhbmRyZSBPbGl2YSAgPGFvbGl2YUByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9taXBzL21pcHM2NC9tZW1jcHkuUzogRml4IHBvcnRpbmcgYnVnIHRoYXQgYnJva2UKCXVuYWxpZ25lZCBjb3B5aW5nIG9mIDgtMTUgYnl0ZXMuICBGcm9tIENocmlzIERlbWV0cmlvdQoJPGNnZEBicm9hZGNvbS5jb20+LiAgRml4IGxhYmVsIG5hbWVzLgoJKiBzeXNkZXBzL21pcHMvbWlwczY0L21lbXNldC5TOiBGaXggbGFiZWwgbmFtZXMuICBNYWtlIHNpbWlsYXIKCWNoYW5nZSBhcyB0byBtZW1jcHkuUy4KCSogc3lzZGVwcy9taXBzL21lbWNweS5TOiBGb3JtYXR0aW5nIGNoYW5nZXMuCgkqIHN5c2RlcHMvbWlwcy9tZW1zZXQuUzogTGlrZXdpc2UuCgoyMDAzLTAzLTIxICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9hcm0vc3lzZGVwLmggKENBTExfTUNPVU5UKTogQWRkIHRyYWlsaW5nIHNlbWljb2xvbi4KCjIwMDMtMDMtMjEgIEFsZXhhbmRyZSBPbGl2YSAgPGFvbGl2YUByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9taXBzL21pcHM2NC9tZW1jcHkuUywgc3lzZGVwcy9taXBzL21pcHM2NC9tZW1zZXQuUzogTmV3LgoJKiBzeXNkZXBzL21pcHMvbWVtY3B5LlMsIHN5c2RlcHMvbWlwcy9tZW1zZXQuUzogVXBkYXRlIGNvbW1lbnRzLgoKMjAwMy0wMy0yMSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvaTM4Ni9pNDg2L2JpdHMvYXRvbWljLmgKCShfX2FyY2hfY29tcGFyZV9hbmRfZXhjaGFuZ2VfdmFsXzY0X2FjcSk6IFJld3JpdGUgYWJvcnQtY2FsbGluZwoJdmVyc2lvbiBvZiB0aGUgbWFjcm8gdG8gYXZvaWQgY29tcGlsZS10aW1lIHdhcm5pbmdzLgoJWyEgX19QSUNfX10gKF9fYXJjaF9jb21wYXJlX2FuZF9leGNoYW5nZV82NF9hY3EpOiBSZW5hbWUgdG8gYWJvdmUuCgkoYXRvbWljX2V4Y2hhbmdlX2FuZF9hZGQsIGF0b21pY19hZGQpOiBGaXggbmFtZSBhbmQgdXNhZ2Ugb2YgaXQuCgkoYXRvbWljX2luY3JlbWVudCwgYXRvbWljX2RlY3JlbWVudCk6IExpa2V3aXNlLgoKMjAwMy0wMy0yMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3g4Nl82NC9iaXRzL2F0b21pYy5oOiBEb24ndCB1c2UgbWF0Y2hpbmcgbWVtb3J5IGNvbnN0cmFpbnRzLgoJKiBzeXNkZXBzL2kzODYvaTQ4Ni9iaXRzL2F0b21pYy5oOiBMaWtld2lzZS4KCjIwMDMtMDMtMjEgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2F0b21pYy5oIChhdG9taWNfY29tcGFyZV9hbmRfZXhjaGFuZ2VfYm9vbF9hY3EpOiBUeXBvIGZpeC4KCjIwMDMtMDMtMjAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9hdG9taWMuaDogRGVmaW5lIGF0b21pY19jb21wYXJlX2FuZF9leGNoYW5nZV92YWxfYWNxLAoJYXRvbWljX2NvbXBhcmVfYW5kX2V4Y2hhbmdlX3ZhbF9yZWwsCglhdG9taWNfY29tcGFyZV9hbmRfZXhjaGFuZ2VfYm9vbF9hY3EsIGFuZAoJYXRvbWljX2NvbXBhcmVfYW5kX2V4Y2hhbmdlX2Jvb2xfcmVsIGluc3RlYWQgb2YKCWF0b21pY19jb21wYXJlX2FuZF9leGNoYW5nZV9hY3EgYW5kIGF0b21pY19jb21wYXJlX2FuZF9leGNoYW5nZV9yZWwuCgkqIHN5c2RlcHMvaTM4Ni9pNDg2L2JpdHMvYXRvbWljLmg6IERlZmluZQoJX19hcmNoX2NvbXBhcmVfYW5kX2V4Y2hhbmdlX3ZhbF8qX2FjcSBpbnN0ZWFkIG9mCglfX2FyY2hfY29tcGFyZV9hbmRfZXhjaGFuZ2VfKl9hY3EuCgkqIHN5c2RlcHMveDg2XzY0L2JpdHMvYXRvbWljLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2lhNjQvYml0cy9hdG9taWMuaDogRGVmaW5lCglfX2FyY2hfY29tcGFyZV9hbmRfZXhjaGFuZ2VfYm9vbF8qX2FjcSBpbnN0ZWFkIG9mCglfX2FyY2hfY29tcGFyZV9hbmRfZXhjaGFuZ2VfKl9hY3EuCgkqIHN5c2RlcHMvcG93ZXJwYy9iaXRzL2F0b21pYy5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zMzkwL2JpdHMvYXRvbWljLmg6IExpa2V3aXNlLgoJKiBnbW9uL21jb3VudC5jOiBBZGp1c3QgZm9yIG5ldyBmb3JtIG9mIGNvbXBhcmUmZXhjaGFuZ2UgbWFjcm9zLgoJKiBtYWxsb2Mvc2V0LWZyZWVyZXMuYzogTGlrZXdpc2UuCgkqIG5zY2QvY2FjaGUuYzogTGlrZXdpc2UuCgkqIHN0ZGxpYi9jeGFfZmluYWxpemUuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2dldHN5c3N0YXRzLmM6IExpa2V3aXNlLgoKMjAwMy0wMy0yMCAgQWxleGFuZHJlIE9saXZhICA8YW9saXZhQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL21pcHMvYml0cy9zZXRqbXAuaDogbjMyIGhhcyBvbmx5IDYgY2FsbC1zYXZlZCBmcHJlZ3MuCgkqIHN5c2RlcHMvbWlwcy9taXBzNjQvc2V0am1wX2F1eC5jIChfX3NpZ3NldGptcF9hdXgpOiBBZGp1c3QuCgkqIHN5c2RlcHMvbWlwcy9taXBzNjQvX19sb25nam1wLmMgKF9fbG9uZ2ptcCk6IExpa2V3aXNlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9wcmVhZC5jOiBEb24ndCBicmVhayB1cCBvZmZzZXQKCWludG8gaGlnaCBhbmQgbG93IGhhbHZlcyBvbiBuNjQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvcHJlYWQ2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9wd3JpdGUuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvcHdyaXRlNjQuYzogTGlrZXdpc2UuCgoyMDAzLTAzLTIwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvYXRvbWljLmggKGF0b21pY19kZWNyZW1lbnRfaWZfcG9zaXRpdmUpOiBBZGp1c3QgZm9yIHRoZQoJY29ycmVjdCBhdG9taWNfY29tcGFyZV9hbmRfZXhjaGFuZ2VfYWNxIHNlbWFudGljcy4KCjIwMDMtMDMtMjAgIEFsZXhhbmRyZSBPbGl2YSAgPGFvbGl2YUByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9taXBzL2llZWU3NTQuaDogUmVtb3ZlIGV4Y2VzcyAjZW5kaWYuCgoyMDAzLTAzLTIwICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9wb3dlcnBjL2JpdHMvYXRvbWljLmggKGF0b21pY19leGNoYW5nZSk6IFJlbW92ZSB1bnVzZWQKCXZhcmlhYmxlLiAgUmVtb3ZlIHN1cGVyZmx1b3VzIG1lbW9yeSBjbG9iYmVyLgoKCSogaW5jbHVkZS9hdG9taWMuaDogU3ludGF4IGJyYWlubyBmaXguCgoJKiBwb3NpeC90c3QtbmljZS5jIChkb190ZXN0KTogVXNlICVtIGZvcm1hdHMgaW5zdGVhZCBvZiBwcmludGluZyBlcnJubwoJaW4gZGVjaW1hbC4gIERvbid0IGJhaWwgaWYgbmljZWQgYXQgc3RhcnQuICBKdXN0IGNoZWNrIHRoYXQgbmljZSBjYWxsCglidW1wcyB0aGUgdG90YWwgYXQgYWxsLgoKMjAwMy0wMy0yMCAgQWxleGFuZHJlIE9saXZhICA8YW9saXZhQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL21pcHMvYml0cy9zZXRqbXAuaDogU3RvcmUgYWxsIE4zMiBhbmQgTjY0IHJlZ2lzdGVycywKCWluY2x1ZGluZyBwYywgZ3AsIHNwIGFuZCBmcCwgYXMgbG9uZyBsb25nLgoJKiBzeXNkZXBzL21pcHMvbWlwczY0L3NldGptcC5TOiBQYXNzIGdwIHRvIF9fc2lnc2V0am1wX2F1eC4KCSogc3lzZGVwcy9taXBzL21pcHM2NC9zZXRqbXBfYXV4LmM6IEFkanVzdCB0eXBlIG9mIGFyZ3VtZW50cy4KCUFkZCBncCBhcmd1bWVudCwgYW5kIHNldCBncCBpbiB0aGUgam1wYnVmIHRvIGl0LgoJKiBzeXNkZXBzL21pcHMvc2V0am1wX2F1eC5jOiBSZXZlcnQgdG8gbzMyLW9ubHkuCgoyMDAzLTAzLTIwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvYXRvbWljLmg6IERlZmluZSBhdG9taWNfZXhjaGFuZ2UgYW5kCglhdG9taWNfZGVjcmVtZW50X2lmX3Bvc2l0aXZlIGlmIG5vdCBhbHJlYWR5IGRlZmluZWQuICBBZGQgc29tZQoJX19idWlsdGluX2V4cGVjdC4KCSogc3lzZGVwcy9pMzg2L2k0ODYvYml0cy9hdG9taWMuaDogRGVmaW5lIGF0b21pY19leGNoYW5nZS4KCSogc3lzZGVwcy94ODZfNjQvYml0cy9hdG9taWMuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaWE2NC9iaXRzL2F0b21pYy5oOiBQcmV0dHkgcHJpbnRpbmcuICBEZWZpbmUgYXRvbWljX2V4Y2hhbmdlLgoJKiBzeXNkZXBzL3Bvd2VycGMvYml0cy9hdG9taWMuaDogUHJldHR5IHByaW50aW5nLiAgRGVmaW5lCglhdG9taWNfZXhjaGFuZ2UsIGF0b21pY19leGNoYW5nZV9hbmRfYWRkLCBhbmQKCWF0b21pY19kZWNyZW1lbnRfaWZfcG9zaXRpdmUKCjIwMDMtMDMtMjAgIEFsZXhhbmRyZSBPbGl2YSAgPGFvbGl2YUByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9taXBzNjQvbjY0L2lvY3RsLlM6IFNpZ24tZXh0ZW5kCgl3aXRoIGEgc2luZ2xlIGluc3RydWN0aW9uLgoKCSogc3lzZGVwcy9taXBzL2RsLW1hY2hpbmUuaCAoRUxGX01JUFNfR05VX0dPVDFfTUFTSyk6IERlZmluZQoJcHJvcGVybHkgZm9yIG42NC4KCShlbGZfbWFjaGluZV9ydW50aW1lX3NldHVwKTogQ2FzdCBsaW5rX21hcCBwb2ludGVyIHRvIEVsZiBBZGRyCgl0eXBlLgoJKGVsZl9tYWNoaW5lX3JlbCwgZWxmX21hY2hpbmVfcmVsX3JlbGF0aXZlKTogQ2FzdCBzeW1pZHggdG8gRWxmCglXb3JkIGJlZm9yZSBjb21wYXJpbmcgd2l0aCBnb3RzeW0uICBUYWtlIHJlbG9jX2FkZHIgYXJndW1lbnQgYXMKCXZvaWQqLiAgUmVtb3ZlIHRoZSBjb2RlIGFkZGVkIGZvciB0aGUgY29tcGlsZXIgdG8gZHJvcCBhbnkKCWFsaWdubWVudCBhc3N1bXB0aW9ucy4KCjIwMDMtMDMtMTkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgaW5jbHVkZS9hdG9taWMuaCBhbmQgYml0cy9hdG9taWMuaC4KCSogaW5jbHVkZS9hdG9taWMuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaTM4Ni9pNDg2L2JpdHMvYXRvbWljLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3g4Nl82NC9iaXRzL2F0b21pYy5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL2JpdHMvYXRvbWljLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NoL2JpdHMvYXRvbWljLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvYml0cy9hdG9taWMuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvcG93ZXJwYy9iaXRzL2F0b21pYy5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvYXRvbWljLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2kzODYvaTQ4Ni9hdG9taWNpdHkuaDogUmVtb3ZlZC4KCSogc3lzZGVwcy94ODZfNjQvYXRvbWljaXR5Lmg6IFJlbW92ZWQuCgkqIHN5c2RlcHMvczM5MC9zMzkwLTMyL2F0b21pY2l0eS5oOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3MzOTAvczM5MC02NC9hdG9taWNpdHkuaDogUmVtb3ZlZC4KCSogc3lzZGVwcy9pYTY0L2F0b21pY2l0eS5oOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL2F0b21pY2l0eS5oOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzY0L2F0b21pY2l0eS5oOiBSZW1vdmVkLgoJKiBlbGYvZGwtcHJvZmlsZS5jOiBVc2UgYXRvbWljLmggaW5zdGVhZCBvZiBhdG9taWNpdHkuaC4gIEFkanVzdAoJdXNlIG9mIG1hY3JvcyBmcm9tIGF0b21pY2l0eS5oIHRvIG5ldyBuYW1lcyBhbmQgc2VtYW50aWNzLgoJKiBnbW9uX21jb3VudC5jOiBMaWtld2lzZS4KCSogbWFsbG9jL3NldC1mcmVlcmVzLmM6IExpa2V3aXNlLgoJKiBuc2NkL2NhY2hlLmM6IExpa2V3aXNlLgoJKiBzdGRsaWIvY3hhX2ZpbmFsaXplLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9nZXRzeXNzdGF0cy5jOiBMaWtld2lzZS4KCjIwMDMtMDMtMTkgIEFsZXhhbmRyZSBPbGl2YSAgPGFvbGl2YUByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9taXBzL2llZWU3NTQuaDogTmV3IGZpbGUsIHN1aXRhYmxlIHRvIHJlcGxhY2UgYm90aAoJLi4vaWVlZTc1NC9pZWVlNzU0LmggYW5kIC4uL2llZWU3NTQvbGRibC0xMjgvaWVlZTc1NC5oLCBrZXB0CgltaXBzLXNwZWNpZmljIGZvciBub3cuCgoyMDAzLTAzLTE5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN0ZGxpYi9zdHJ0b2QuYyAoSU5URVJOQUwpOiBXaGlsZSBlYXRpbmcgdHJhaWxpbmcgemVyb3MgaGFuZGxlCgloZXhkaWdpdHMgY29ycmVjdGx5LiAgUmVwb3J0ZWQgYnkgRnJlZCBUeWRlbWFuIDx0eWRlbWFuQHR5Ym9yLmNvbT4uCgkqIHN0ZGxpYi90c3Qtc3RydG9kLmM6IEFkZCB0ZXN0IGZvciB0aGUgYnVnLgoKCSogcG9zaXgvdHN0LW5pY2UuYyAoZG9fdGVzdCk6IFJlbW92ZSBpbnZhbGlkIG9mIHJldHVybiB2YWx1ZS4KCURvbid0IHJ1biB0ZXN0IGlmIGluaXRpYWwgbGV2ZWwgIT0gMC4KCjIwMDMtMDMtMTkgIEFtb3MgV2F0ZXJsYW5kICA8YXB3QHVzLmlibS5jb20+CgoJKiBwb3NpeC90c3QtbmljZS5jOiBOZXcgZmlsZS4KCSogcG9zaXgvTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC1uaWNlLgoKMjAwMy0wMy0xOCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIGFiaWxpc3Q6IE5ldyBkaXJlY3Rvcnkgb2YgbGliZm9vLmFiaWxpc3QgZmlsZXMgbWFpbnRhaW5lZCB1c2luZwoJc2NyaXB0cy9tZXJnZS1hYmlsaXN0LmF3ayBhbmQgIm1ha2UgdXBkYXRlLWFiaSIgcnVsZXMuCgkqIE1ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIGFiaWxpc3QvKi5hYmlsaXN0LgoJKiBNYWtlcnVsZXMgWyQoYnVpbGQtc2hhcmVkKSA9IHllc10gWyQoc3ViZGlyKV0gKHRlc3RzKToKCURlcGVuZCBvbiBjaGVjay1hYmkuCgoJKiBjb25maWd1cmUuaW46IE1vdmUgJGNyaXRpY19taXNzaW5nIGNoZWNrIGFmdGVyIGFsbCBBQ19DSEVDS19QUk9HX1ZFUi4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlZC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5c2NhbGxzLmxpc3QgKHBvc2l4X2ZhZHZpc2U2NCk6IEZpeCBuYW1lLgoKMjAwMy0wMy0xOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3Bvc2l4L3N5c2NvbmYuYyAoX19zeXNjb25mKTogSGFuZGxlIF9TQ19NT05PVE9OSUNfQ0xPQ0sKCWNvcnJlY3RseS4KCjIwMDMtMDMtMTggIFN0ZXZlbiBNdW5yb2UgIDxzam11bnJvZUB1cy5pYm0uY29tPgoKCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9tZW1jcHkuUzogTmV3IGZpbGUuCgoyMDAzLTAzLTE4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIFZlcnNpb25zLmRlZjogQWRkIEdMSUJDXzIuMy4zIGZvciBsaWJwdGhyZWFkLgoKMjAwMy0wMy0xNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvbGliYy1zdGFydC5jIFshU0hBUkVEICYmCgkhTElCQ19TVEFSVF9NQUlOX0FVWFZFQ19BUkddOiBDb21wdXRlIGJlZ2lubmluZyBvZiBhdXh2ZWMgY29ycmVjdGx5LgoKMjAwMy0wMy0xNyAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvY3R5cGUuaDogUmV2ZXJ0IGxhc3QgY2hhbmdlLgoKMjAwMy0wMy0xNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBhcmdwL3RzdC1hcmdwMS5jOiBVc2UgdGVzdC1za2VsZXRvbi5jLgoJKiBsb2NhbGUvdHN0LUMtbG9jYWxlLmM6IExpa2V3aXNlLgoKMjAwMy0wMy0xNyAgQWxleGFuZHJlIE9saXZhICA8YW9saXZhQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL21pcHMvbWlwczY0L0ltcGxpZXM6IE1vdmUgd29yZHNpemUtNjQgdG8uLi4KCSogc3lzZGVwcy9taXBzL21pcHM2NC9uNjQvSW1wbGllczogTmV3IGZpbGUuCgkqIHN5c2RlcHMvbWlwcy9taXBzNjQvbjY0L01ha2VmaWxlOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9taXBzL21pcHM2NC9uNjQvZWwvYml0cy9lbmRpYW4uaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvbWlwcy9taXBzNjQvbjMyL0ltcGxpZXM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL21pcHMvbWlwczY0L24zMi9NYWtlZmlsZTogTmV3IGZpbGUuCgkqIHN5c2RlcHMvbWlwcy9taXBzNjQvbjMyL2VsL2JpdHMvZW5kaWFuLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvbWlwcy9taXBzNjQvbjMyL3N5c2RlcC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L21pcHMvbWlwczY0L242NC9zeXNkZXAuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvbWlwczY0L24zMi9zeXNkZXAuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvbWlwczY0L242NC9nbG9iNjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvbWlwczY0L242NC9zeXNkZXAuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvbWlwczY0L2xkY29uZmlnLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL21pcHM2NC9sbHNlZWsuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvbWlwczY0L3JlY3YuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvbWlwczY0L3NlbmQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvbWlwczY0L3N5c2NhbGwuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvbWlwczY0L3N5c2NhbGxzLmxpc3Q6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL21pcHM2NC91bW91bnQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvbWlwczY0L242NC9pb2N0bC5TOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2NvbmZpZ3VyZS5pbiAobGliY19jdl9zbGliZGlyKTogVXNlCglsaWI2NCBmb3IgbWlwczY0L242NCBhbmQgbGliMzIgZm9yIG1pcHM2NC9uMzIuCgkobGRkX3Jld3JpdGVfc2NyaXB0KTogTmVlZGVkIGZvciBhbGwgbWlwczY0IGNvbmZpZ3VyYXRpb25zLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jb25maWd1cmU6IFJlYnVpbHQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvbWlwczY0L2xkZC1yZXdyaXRlLnNlZDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvbWlwczY0L0Rpc3Q6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy9taXBzL21hY2hpbmUtZ21vbi5oIChNQ09VTlQpOiBEZWZpbmUgZm9yIE4zMiBhbmQgTjY0IGFzCgl3ZWxsLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9jb25maWd1cmUuaW46IE5ldy4gIFByZS1wcm9jZXNzCglhc20vdW5pc3RkLmggaW50byBhc20tdW5pc3RkLmguCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvY29uZmlndXJlOiBHZW5lcmF0ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvTWFrZWZpbGU6IERvIGN1c3RvbSBwcm9jZXNzaW5nCglvZiBzeXNjYWxsIGxpc3QuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvc3lzL3N5c2NhbGwuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvY2xvbmUuUzogRG9uJ3QgaW5jbHVkZQoJYXNtL3VuaXN0ZC5oLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9zeXMvcHRyYWNlLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3B0cmFjZS5jOiBOZXcgZmlsZS4gIFVzZSBsb25nCglsb25nIHR5cGUgZm9yIHJlZ2lzdGVycyBvbiBuMzIuCgoJKiBzeXNkZXBzL21pcHMvYml0cy93b3Jkc2l6ZS5oOiBOZXcgZmlsZSwgYXBwcm9wcmlhdGUgZm9yIGFsbAoJMyBBQklzLgoJKiBzeXNkZXBzL21pcHMvbWlwczY0L2dtcC1tcGFyYW0uaDogTmV3IGZpbGUuICBEZWZpbmUKCUJJVFNfUEVSX0xPTkdJTlQgdG8gX19XT1JEU0laRSwgdG8gbWF0Y2ggYWxsIDMgQUJJcy4KCSogc3lzZGVwcy9taXBzL3NldGptcF9hdXguYyAoU1RSSU5HWFAsIFJFR1MsIFBUUlMpOiBOZXcgbWFjcm9zLgoJKF9fc2lnc2V0am1wX2F1eCk6IFVzZSB0aGVtLiAgQWRqdXN0IGZvciBhbGwgMyBBQklzLgoJKiBzeXNkZXBzL21pcHMvZWxmL3N0YXJ0LlM6IEFkanVzdCBmb3IgYWxsIDMgQUJJcy4KCSogc3lzZGVwcy91bml4L21pcHMvYnJrLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvbWlwcy9zeXNkZXAuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvY2xvbmUuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbWlwcy9iaXRzL3NldGptcC5oIChfX2ptcF9idWYpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL3N5cy91Y29udGV4dC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9zeXMvcHJvZmNzLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3N5cy91Y29udGV4dC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9rZXJuZWxfc3RhdC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL21pcHM2NC9ic2QtX3NldGptcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL21pcHM2NC9ic2Qtc2V0am1wLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21pcHMvbWlwczY0L3NldGptcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL21pcHM2NC9iaXRzL3NldGptcC5oOiBEZWxldGVkLCBvYnNvbGV0ZS4KCSogc3lzZGVwcy9taXBzL21pcHM2NC9zb2Z0LWZwL3NmcC1tYWNoaW5lLmg6IFVzZSBsb25nIGxvbmcgZm9yCgk2NC1iaXQgdHlwZXMuCgoyMDAzLTAzLTE2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9jbG9ja19zZXR0aW1lLmMgKEhBTkRMRV9SRUFMVElNRSk6IERlZmluZSB0diBoZXJlLAoJbm90IGF0IGZ1bmN0aW9uIGxldmVsLgoJKiBzeXNkZXBzL3VuaXgvY2xvY2tfZ2V0dGltZS5jIChIQU5ETEVfUkVBTFRJTUUpOiBMaWtld2lzZS4KCjIwMDMtMDMtMTUgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBuaXMvbnNzX25pcy9uaXMtaG9zdHMuYyAoaW50ZXJuYWxfZ2V0aG9zdGJ5bmFtZTJfcik6IGludCAtPiBzaXplX3QKCSogbmlzL25zc19uaXMvbmlzLW5ldHdvcmsuYyAoX25zc19uaXNfZ2V0bmV0YnluYW1lX3IpOiBMaWtld2lzZS4KCSogbmlzL25zc19uaXMvbmlzLWFsaWFzLmMgKF9uc3NfbmlzX2dldGFsaWFzYnluYW1lX3IpOiBMaWtld2lzZS4KCSogbmlzL25pc190YWJsZS5jIChfX2NyZWF0ZV9pYl9yZXF1ZXN0KTogTGlrZXdpc2UuCgoJKiBwb3NpeC9mbm1hdGNoX2xvb3AuYzogQWRkIGNhc3RzIGZvciBzaWduZWRuZXNzLgoJKiBuc3MvbnNzX2ZpbGVzL2ZpbGVzLWhvc3RzLmM6IExpa2V3aXNlLgoJKiBuc2NkL25zY2RfZ2V0cHdfci5jIChuc2NkX2dldHB3X3IpOiBMaWtld2lzZS4KCSogZ21vbi9nbW9uLmMgKHdyaXRlX2NhbGxfZ3JhcGgpOiBVc2UgdV9sb25nIGZvciBGUk9NX0xFTi4KCSogbnNjZC9uc2NkX2dldGdyX3IuYyAobnNjZF9nZXRncl9yKTogVXNlIG5zY2Rfc3NpemVfdCBmb3IgQ05ULgoKCSogY29uZmlndXJlLmluIChsaWJjX2N2X3Zpc2liaWxpdHlfYXR0cmlidXRlKTogVXNlIEFDX1RSWV9DT01NQU5ELAoJZ2V0IGVycm9ycyBpbnRvIHRoZSBsb2cgZmlsZS4KCShsaWJjX2N2X2Jyb2tlbl92aXNpYmlsaXR5X2F0dHJpYnV0ZSk6IExpa2V3aXNlLgoJKGxpYmNfY3ZfYnJva2VuX2FsaWFzX2F0dHJpYnV0ZSk6IExpa2V3aXNlLgoJKGxpYmNfY3ZfYXNtX3dlYWtfZGlyZWN0aXZlKTogTGlrZXdpc2UuCgkobGliY19jdl9uZWVkX21pbnVzX1ApOiBMaWtld2lzZS4KCShsaWJjX2N2X2RvdF90ZXh0KTogTGlrZXdpc2UuCgkobGliY19jdl9hc21fZ2xvYmFsX2RpcmVjdGl2ZSk6IExpa2V3aXNlLgoJKGxpYmNfY3ZfYXNtX3R5cGVfcHJlZml4KTogTGlrZXdpc2UuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZWQuCgoJKiBuc2NkL2NhY2hlLmMgKGNhY2hlX3NlYXJjaCk6IEdpdmUgZmlyc3QgYXJnIHR5cGUgYHJlcXVlc3RfdHlwZScuCgkqIG5zY2QvbnNjZC5oOiBVcGRhdGUgZGVjbC4KCgkqIG5zY2QvbnNjZF9nZXRwd19yLmMgKG5zY2RfZ2V0cHdfcik6IEFkZCBjYXN0cyBmb3Igc2lnbmVkbmVzcy4KCSogbnNjZC9uc2NkX2dldGdyX3IuYyAobnNjZF9nZXRncl9yKTogTGlrZXdpc2UuCgkqIGVsZi9kbC1jbG9zZS5jIChfZGxfY2xvc2UpOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9jaG93bi5jIChfX2Nob3duKTogaW50IC0+IHNpemVfdAoJKiBpby9mdHMuYyAoZnRzX2J1aWxkKTogTGlrZXdpc2UuCgkqIGVsZi9jYWNoZS5jIChhZGRfdG9fY2FjaGUpOiBMaWtld2lzZS4KCSogbG9jYWxlL3Byb2dyYW1zL2xvY2FyY2hpdmUuYyAoc2hvd19hcmNoaXZlX2NvbnRlbnQpOiBMaWtld2lzZS4KCgkqIHBvc2l4L2ZubWF0Y2guYyAoZm5tYXRjaCk6IFR3ZWFrIF9fYnVpbHRpbl9leHBlY3QgdXNlLgoKCSogaW5jbHVkZS9jdHlwZS5oIChfX2N0eXBlX2JfbG9jKTogVHdlYWsgdHlwZSBwdW5uaW5nIHRvIG1ha2UgZ2NjIDMuMwoJaGFwcHkuCgkoX19jdHlwZV90b3VwcGVyX2xvYywgX19jdHlwZV90b2xvd2VyX2xvYyk6IExpa2V3aXNlLgoKMjAwMy0wMy0xNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3N5c3RlbS5jOiBVc2UgdGhlIGdlbmVyaWMgTGludXgKCWNvZGUgZm9yIG1vc3QgcGFydHMuCgoyMDAzLTAzLTE1ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zeXN0ZW0uYzogTW92ZWQgdG8gLi4uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5c3RlbS5jOiAuLi4gaGVyZS4KCShGT1JLKTogRG9uJ3QgI2RlZmluZSBpZiBhbHJlYWR5ICNkZWZpbmUnZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zeXN0ZW0uYzogRmlsZSByZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9rZXJuZWwtZmVhdHVyZXMuaCBbX19wb3dlcnBjX19dOgoJKF9fQVNTVU1FX0NMT05FX1RIUkVBRF9GTEFHUyk6IERlZmluZSBmb3Iga2VybmVsID49IDIuNS42NC4KCgkqIGRsZmNuL3RzdC1kbGluZm8uYzogTmV3IGZpbGUuCgkqIGRsZmNuL01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3QtZGxpbmZvLgoJKCQob2JqcGZ4KXRzdC1kbGluZm8pOiBOZXcgdGFyZ2V0LgoKCSogZGxmY24vZGxpbmZvLmM6IE5ldyBmaWxlLgoJKiBkbGZjbi9NYWtlZmlsZSAobGliZGwtcm91dGluZXMpOiBBZGQgaXQuCgkqIGRsZmNuL1ZlcnNpb25zIChsaWJkbDogR0xJQkNfMi4zLjMpOiBBZGQgZGxpbmZvLgoJKiBkbGZjbi9kbGZjbi5oIFtfX1VTRV9HTlVdOiBEZWNsYXJlIGRsaW5mby4KCVtfX1VTRV9HTlVdIChSVExEX0RJXyopOiBOZXcgZW51bSBjb25zdGFudHMuCglbX19VU0VfR05VXSAoRGxfc2VycGF0aCwgRGxfc2VyaW5mbyk6IE5ldyB0eXBlcy4KCSogZWxmL2RsLWxvYWQuYyAoY2FjaGVfcnBhdGgpOiBOZXcgaW5saW5lIGZ1bmN0aW9uLgoJKF9kbF9tYXBfb2JqZWN0KTogVXNlIGl0LgoJKF9kbF9ydGxkX2RpX3NlcmluZm8pOiBOZXcgZnVuY3Rpb24uCgkqIHN5c2RlcHMvZ2VuZXJpYy9sZHNvZGVmcy5oOiBEZWNsYXJlIGl0LgoJKiBlbGYvVmVyc2lvbnMgKGxkOiBHTElCQ19QUklWQVRFKTogQWRkIGl0LgoKCSogc3lzZGVwcy9wb3dlcnBjL2VsZi9saWJjLXN0YXJ0LmMgKEFVWF9WRUNUT1JfSU5JVCk6IERlZmluZSBpdC4KCShMSUJDX1NUQVJUX01BSU4sIExJQkNfU1RBUlRfTUFJTl9BVVhWRUNfQVJHLCBNQUlOX0FVWFZFQ19BUkcpCgkoSU5JVF9NQUlOX0FSR1MpOiBEZWZpbmUsIGFuZCAjaW5jbHVkZSA8c3lzZGVwcy9nZW5lcmljL2xpYmMtc3RhcnQuYz4uCgkoX19saWJjX3N0YXJ0X21haW4pOiBKdXN0IGNhbGwgdGhlIGdlbmVyaWMgb25lIGZvciBtb3N0IG9mIHRoZSB3b3JrLgoKCSogc3lzZGVwcy9nZW5lcmljL2xpYmMtc3RhcnQuYyBbTElCQ19TVEFSVF9NQUlOXTogSWYgZGVmaW5lZCwgZGVmaW5lIGEKCXN0YXRpYyBmdW5jdGlvbiBieSB0aGF0IG5hbWUgaW5zdGVhZCBvZiBCUF9TWU0gKF9fbGliY19zdGFydF9tYWluKS4KCVtMSUJDX1NUQVJUX01BSU5fQVVYVkVDX0FSR106IFRha2UgQVVYVkVDIGFzIGFyZ3VtZW50LgoJW01BSU5fQVVYVkVDX0FSR106IFBhc3MgNHRoIGFyZ3VtZW50IHRvIE1BSU4uCglbSU5JVF9NQUlOX0FSR1NdOiBHaXZlIElOSVQgdGhlIHNhbWUgYXJncyBhcyBNQUlOLgoKCSogc3lzZGVwcy9nZW5lcmljL2RsLXN5c2RlcC5jIChfZGxfc3lzZGVwX3N0YXJ0KSBbRExfUExBVEZPUk1fQVVYVl06CglVc2UgdGhpcyBtYWNybyBmb3IgZXh0cmEgQVRfKiBjYXNlcy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9kbC1zeXNkZXAuYyAoRExfUExBVEZPUk1fQVVYVik6CglOZXcgbWFjcm8sIGd1dHMgZnJvbSAuLi4KCShfX2F1eF9pbml0X2NhY2hlKTogLi4uIGhlcmUsIGZ1bmN0aW9uIHJlbW92ZWQuCgkoRExfUExBVEZPUk1fSU5JVCk6IERvbid0IGRlZmluZSB0aGlzLgoKCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGMzMi9tZW1zZXQuUzogUHV0IF9fY2FjaGVfbGluZV9zaXplIGluIGJzcy4KCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9tZW1zZXQuUzogTGlrZXdpc2UuCgoJKiBWZXJzaW9ucy5kZWYgKGxpYnRocmVhZF9kYik6IEFkZCBHTElCQ18yLjMuMyBzZXQuCgoyMDAzLTAzLTE0ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogZGxmY24vZGxlcnJvci5jIChkbGVycm9yKTogSWYgb2JqbmFtZSBpcyAiIiwgZG9uJ3QgcHV0ICI6ICIgYWZ0ZXIgaXQuCgoyMDAzLTAzLTE0ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L01ha2VmaWxlIChzeXNjYWxsLSUuaCk6IEZpeCBhIHR5cG8uCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L3BhdXNlLmM6IEluY2x1ZGUKCXN5c2RlcHMvcG9zaXgvcGF1c2UuYyBpbnN0ZWFkIG9mIHN5c2RlcHMvdW5peC9jb21tb24vcGF1c2UuYy4KCjIwMDMtMDMtMTQgIEFsZXhhbmRyZSBPbGl2YSAgPGFvbGl2YUByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9taXBzL2ZwdS9iaXRzL21hdGhkZWYuaDogTmV3LgoJKF9fTk9fTE9OR19ET1VCTEVfTUFUSCk6IERlZmluZSBmb3IgbzMyLgoKCSogc3lzZGVwcy9taXBzL3N5cy9hc20uaDogRm9ybWF0dGluZyBjaGFuZ2VzLgoJKFBUUiwgUFRSU0laRSwgUFRSTE9HKTogQWRqdXN0IGZvciBhbGwgMyBBQklzLgoJKENQQUREKTogRGVmaW5lIGZvciBhbGwgb2YgdGhlbS4KCShTRVRVUF9HUCwgU0VUVVBfR1BYLCBTRVRVUF9HUFhfTCwgU0FWRV9HUCwgU0VUVVBfR1A2NCwKCVNFVFVQX0dQWDY0LCBTRVRVUF9HUFg2NF9MLCBSRVNUT1JFX0dQNjQsIFVTRV9BTFRfQ1AsCglOQVJHU0FWRSk6IERlZmluZSBwZXIgQUJJIHNwZWMuCgkoRU5EKTogRG9uJ3QgcmVkZWZpbmUuCgkoTE9OR19TTEwsIExPTkdfU0xMViwgTE9OR19TUkwsIExPTkdfU1JMViwgTE9OR19TUkEsCglMT05HX1NSQVYpOiBSZW1vdmUgZHVwbGljYXRlIGRlZmluaXRpb25zLgoJKFBUUl9BREQsIFBUUl9BRERJLCBQVFJfQUREVSwgUFRSX0FERElVLCBQVFJfU1VCLCBQVFJfU1VCSSwKCVBUUl9TVUJVLCBQVFJfU1VCSVUsIFBUUl9MLCBQVFJfUywgUFRSX1NMTCwgUFRSX1NMTFYsIFBUUl9TUkwsCglQVFJfU1JMViwgUFRSX1NSQSwgUFRSX1NSQVYsIFBUUl9TQ0FMRVNISUZUKTogRGVmaW5lIGZvciBuMzIuCgkoUFRSX0xBKTogRGVmaW5lIGZvciBhbGwgMyBBQklzLgoKCSogc3lzZGVwcy9taXBzL2RsLW1hY2hpbmUuaDogSW5jbHVkZSBzeXMvYXNtLmguCgkoZWxmX21hY2hpbmVfbWF0Y2hlc19ob3N0KTogUHJldmVudCBsaW5raW5nIG9mIG8zMiBhbmQgbjMyCgl0b2dldGhlci4KCShlbGZfbWFjaGluZV9keW5hbWljKTogRG9jdW1lbnQgYXNzdW1wdGlvbiBvbiAkZ3AuCgkoU1RSSU5HWFAsIFNUUklOR1hWLCBTVFJJTkdWXyk6IE5ldyBtYWNyb3MuCgkoZWxmX21hY2hpbmVfbG9hZF9hZGRyZXNzKTogVXNlIHRoZW0gdG8gc3RyaW5naXplIFBUUl9MQSBhbmQKCVBUUl9TVUJVLgoJKEVMRl9ETF9GUkFNRV9TSVpFLCBFTEZfRExfU0FWRV9BUkdfUkVHUywKCUVMRl9ETF9SRVNUT1JFX0FSR19SRUdTLCBJRkFCSU8zMik6IE5ldyBtYWNyb3MgdXNlZCBpbi4uLgoJKF9kbF9ydW50aW1lX3Jlc29sdmUpOiBBZGp1c3QgaXQgZm9yIGFsbCAzIEFCSXMuCgkoX19kbF9ydW50aW1lX3Jlc29sdmUpOiBDYXN0IHRoZSBzeW10YWIgaW5pdGlhbGl6ZXIgdG8gdGhlCglyaWdodCB0eXBlLgoJKFJUTERfU1RBUlQpOiBVc2UgaXQuICBBZGp1c3QgaXQgZm9yIGFsbCAzIEFCSXMuCgkoZWxmX21hY2hpbmVfcmVsKTogTWFyayBhcyBhbHdheXNfaW5saW5lIGluIFJUTERfQk9PVFNUUkFQLgoJSGFuZGxlIDY0LWJpdCBSX01JUFNfUkVMIGNvbXBvc2l0ZSByZWxvY2F0aW9uIGFuZCBhY2NlcHQKCVJfTUlQU182NCByZWxvY2F0aW9ucyB0byBzaGlmdCBhZGRlbmQgc2l6ZSB0byA2NCBiaXRzLgoJRG9jdW1lbnQgYXNzdW1wdGlvbiByZWdhcmRpbmcgbG9jYWwgR09UIGVudHJpZXMuICBEb2N1bWVudAoJYmFja3dhcmQtY29tcGF0aWJpbGl0eSBkZXBhcnRpbmcgZnJvbSB0aGUgQUJJIGJlaGF2aW9yIGluCglhcHBseWluZyByZWxvY2F0aW9ucyB0aGF0IHJlZmVyZW5jZSBzZWN0aW9uIHN5bWJvbHMsIG5vIGxvbmdlcgoJdXNlZC4gIFN1cHBvcnQgcmVsb2NhdGlvbnMgdG8gbWlzLWFsaWduZWQgb2Zmc2V0cy4KCSogc3lzZGVwcy9taXBzL21pcHM2NC9kbC1tYWNoaW5lLmg6IERlbGV0ZWQsIG9ic29sZXRlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9yZWFkZWxmbGliLmM6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9rZXJuZWxfc2lnYWN0aW9uLmgKCShfS0VSTkVMX05TSUdfQlBXKTogRGVmaW5lIGluIHRlcm1zIG9mIF9NSVBTX1NaTE9ORy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9zaWdhY3Rpb24uYzogRGVmaW5lIHJlc3RvcmUgYW5kCglyZXN0b3JlX3J0IGZ1bmN0aW9ucy4gIFVzZSB0aGVtLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9zeXMvdGFzLmggKF90ZXN0X2FuZF9zZXQpOiBEb24ndAoJLnNldCBtaXBzMiBvbiBuZXcgYWJpcy4KCjIwMDMtMDMtMTMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvZ2V0Y29uZi5jOiBSZWNvZ25pemUgUE9TSVgyX1NZTUxJTktTLgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy9jb25mbmFtZS5oOiBEZWZpbmUgX1BDXzJfU1lNTElOS1MuCgkqIHN5c2RlcHMvcG9zaXgvZnBhdGhjb25mLmM6IEhhbmRsZSBfUENfMl9TWU1MSU5LUy4KCSogc3lzZGVwcy9wb3NpeC9wYXRoY29uZi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZnBhdGhjb25mLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wYXRoY29uZi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcGF0aGNvbmYuaDogRGVmaW5lIHN0YXRmc19zeW1saW5rcy4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2xpbnV4X2ZzaW5mby5oOiBEZWZpbmUgc29tZSBtb3JlIG1hZ2ljCgl3b3Jkcy4KCjIwMDMtMDMtMTQgIEFsZXhhbmRyZSBPbGl2YSAgPGFvbGl2YUByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9nbXAuaDogSW5jbHVkZS9nbXAtbXBhcmFtLmguCgkqIHN0ZGxpYi9zdHJ0b2QuYzogSW5jbHVkZSBnbXAtbXBhcmFtLmggYmVmb3JlIGdtcC5oIGFuZAoJZ21wLWltcGwuaC4KCgkqIGVsZi9kbC1jb25mbGljdC5jOiBEb24ndCBjb21waWxlIF9kbF9yZXNvbHZlX2NvbmZsaWN0cyBpZgoJRUxGX01BQ0hJTkVfTk9fUkVMQSBpcyBzZXQuCgkqIGVsZi9ydGxkLmMgKGRsX21haW4pOiBObyBwcmVsaW5rIHN1cHBvcnQgZm9yIFJFTC1vbmx5LgoKCSogc3lzZGVwcy9nZW5lcmljL2xkY29uZmlnLmggKEZMQUdfTUlQUzY0X0xJQk4zMiwKCUZMQUdfTUlQUzY0X0xJQk42NCk6IERlZmluZS4KCSogZWxmL2NhY2hlLmMgKHByaW50X2VudHJ5KTogSGFuZGxlIG1pcHM2NCBuMzIgYW5kIG42NC4KCgkqIHN5c2RlcHMvbWlwcy9tZW1jcHkuUzogTWFwIHQwLTMgdG8gYTQtNyBvbiBuZXcgYWJpcy4KCSogc3lzZGVwcy9taXBzL21lbXNldC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL3N5cy9yZWdkZWYuaDogQWxpYXMgYTQtNyBvciB0MC0zIHRvICQ4LTExCglkZXBlbmRpbmcgb24gdGhlIEFCSS4KCgkqIHN5c2RlcHMvbWlwcy9hdG9taWNpdHkuaCAoZXhjaGFuZ2VfYW5kX2FkZCwgYXRvbWljX2FkZCk6CglEb24ndCAuc2V0IG1pcHMyIG9uIG5ldyBhYmkuCgkoY29tcGFyZV9hbmRfc3dhcCk6IExpa2V3aXNlLiAgU3VwcG9ydCA2NC1iaXQgbG9uZ3Mgb24gbjY0LgoKCSogc3RkbGliL2ZwaW9jb25zdC5oOiBJbmNsdWRlIGdtcC5oIHdpdGggYW5nbGUgYnJhY2tldHMuCgoyMDAzLTAzLTEzICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogZWxmL2RsLWxvYWQuYyAoX2RsX21hcF9vYmplY3RfZnJvbV9mZCk6IEJhaWwgaWYgbm8gUFRfTE9BRCBwaGRycwoJZm91bmQuICBSZXBvcnRlZCBieSBBbGV4YW5kcmUgT2xpdmEgPGFvbGl2YUByZWRoYXQuY29tPi4KCjIwMDMtMDMtMTMgIEFsZXhhbmRyZSBPbGl2YSAgPGFvbGl2YUByZWRoYXQuY29tPgoKCSogc3RkaW8tY29tbW9uL19pdG9hLmMgKF9pdG9hX2Jhc2VfdGFibGUpOiBNYWtlIDY0LWJpdAoJbGl0ZXJhbHMgbG9uZyBsb25nLgoJKiBzdGRsaWIvZnBpb2NvbnN0LmM6IExpa2V3aXNlLgoJKiBzdGRsaWIvc3RydG9kLmM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9taXBzL2FkZF9uLlM6IFVzZSBMIG1hY3JvIGZvciBsb2NhbCBsYWJlbHMuCgkqIHN5c2RlcHMvbWlwcy9hZGRtdWxfMS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL2xzaGlmdC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL21lbWNweS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL21lbXNldC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL211bF8xLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21pcHMvcnNoaWZ0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21pcHMvc3ViX24uUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbWlwcy9zdWJtdWxfMS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL21pcHM2NC9hZGRfbi5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL21pcHM2NC9hZGRtdWxfMS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL21pcHM2NC9sc2hpZnQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbWlwcy9taXBzNjQvbXVsXzEuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbWlwcy9taXBzNjQvcnNoaWZ0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21pcHMvbWlwczY0L3N1Yl9uLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21pcHMvbWlwczY0L3N1Ym11bF8xLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvbWlwcy9zeXNkZXAuaDogRGVmaW5lIEwoKSBhY2NvcmRpbmcgdG8gQUJJCgljb252ZW50aW9ucy4gIERlZmluZSBFTkQgYXMgaW4gc3lzL2FzbS5oLgoJKiBzeXNkZXBzL3VuaXgvbWlwcy9zeXNkZXAuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9taXBzL3dhaXQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvY2xvbmUuUzogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L2RibDJtcG4uYyAoX19tcG5fZXh0cmFjdF9kb3VibGUpOgoJQ2FzdCBzaGlmdGVkIHZhbHVlcyB0aGF0IG1heSBiZSB0b28gbmFycm93IHRvIG1wX2xpbWJfdC4KCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC9tcG4yZGJsLmMgKF9fbXBuX2NvbnN0cnVjdF9kb3VibGUpOgoJTGlrZXdpc2UuCgkqIHN5c2RlcHMvaWVlZTc1NC9mbHQtMzIvbXBuMmZsdC5jIChfX21wbl9jb25zdHJ1Y3RfZmxvYXQpOgoJTGlrZXdpc2UuCgkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTEyOC9sZGJsMm1wbi5jCgkoX19tcG5fZXh0cmFjdF9sb25nX2RvdWJsZSk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2llZWU3NTQvbGRibC0xMjgvbXBuMmxkYmwuYwoJKF9fbXBuX2NvbnN0cnVjdF9sb25nX2RvdWJsZSk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2llZWU3NTQvbGRibC05Ni9sZGJsMm1wbi5jCgkoX19tcG5fZXh0cmFjdF9sb25nX2RvdWJsZSk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2llZWU3NTQvbGRibC05Ni9tcG4ybGRibC5jCgkoX19tcG5fY29uc3RydWN0X2xvbmdfZG91YmxlKTogTGlrZXdpc2UuCgoyMDAzLTAzLTEzICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogZWxmL01ha2VmaWxlICgkKG9ianBmeClsaWJydGxkLm1rKTogVHdlYWsgcmVnZXhwIHNvIHRoYXQgb25lLWxpbmUKCWVudHJpZXMgaW4gdGhlIG1hcCBmaWxlIG1hdGNoIHRvby4KCjIwMDMtMDMtMTMgIEd1aWRvIEd1ZW50aGVyICA8YWd4QHNpZ3hjcHUub3JnPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9jbG9uZS5TOiBpbnRyb2R1Y2UgYW5kIHVzZSBsb2NhbAoJbGFiZWwgLkx0aHJlYWRfc3RhcnQgc2luY2UgY3VycmVudCBiaW51dGlscyBkb24ndCBhbGxvdyBicmFuY2hlcwoJdG8gZ2xvYmFsbHkgdmlzaWJsZSBzeW1ib2xzLgoKMjAwMy0wMy0xMyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3N5c2RlcC5oIChCUkVBS19JTlNOXzEsIEJSRUFLX0lOU04sCglBU01fT1VUQVJHU18wLCBBU01fT1VUQVJHU18xLCBBU01fT1VUQVJHU18yLCBBU01fT1VUQVJHU18zLAoJQVNNX09VVEFSR1NfNCwgQVNNX09VVEFSR1NfNSwgQVNNX09VVEFSR1NfNik6IERlZmluZS4KCShJTlRFUk5BTF9TWVNDQUxMLCBJTkxJTkVfU1lTQ0FMTCk6IFVzZSBpdC4gIE1ha2Ugc3lzY2FsbCBhcmd1bWVudHMKCWNsb2JiZXJlZCBieSB0aGUgc3lzY2FsbC4KCShBU01fQVJHU18xLCBBU01fQVJHU18yLCBBU01fQVJHU18zLCBBU01fQVJHU180LCBBU01fQVJHU181LAoJQVNNX0FSR1NfNik6IENoYW5nZSBjb25zdHJhaW50cyBmcm9tIHIgdG8gaW5kZXggb2YgY29ycmVzcG9uZGluZwoJb3V0cHV0IHJlZ2lzdGVyLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2Nsb25lMi5TIChfX2Nsb25lMik6IFN3YXAKCXB0aWQgYW5kIGN0aWQgdG8gbWF0Y2gga2VybmVsLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3N5c3RlbS5jIChGT1JLKTogTGlrZXdpc2UuCgoyMDAzLTAzLTEyICBTdGV2ZW4gTXVucm9lICA8c2ptdW5yb2VAdXMuaWJtLmNvbT4KCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjNjQvZWxmL2NvbmZpZ3VyZS5pbjogUmVtb3ZlCglBQ19ERUZJTkUoUElfU1RBVElDX0FORF9ISURERU4pLiAgTm90IHN1cHBvcnRlZCBmb3IgUG93ZXJQQzY0LgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzY0L2VsZi9jb25maWd1cmU6IFJlZ2VuZXJhdGVkLgoKMjAwMy0wMy0xMSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjNjQvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9yZWxhKToKCUNoZWNrIFNZTV9NQVAgcmF0aGVyIHRoYW4gU1lNIGFzIGRlZmluZWRuZXNzIGNoZWNrLgoJSGFuZGxlIFJfUFBDNjRfQUREUjMyLCBSX1BQQzY0X0FERFIzMCwgYW5kIFJfUFBDNjRfUkVMNjQgcmVsb2NzLgoJRG9uJ3QgaGFuZGxlIFJfUFBDNjRfUkVMMjQgcmVsb2MuCglNb3N0bHkgZnJvbSBTdGV2ZW4gTXVucm9lIDxzam11bnJvZUB1cy5pYm0uY29tPi4KCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjNjQvZGwtbWFjaGluZS5oCglbVVNFX1RMU10gKGVsZl9tYWNoaW5lX3R5cGVfY2xhc3MpOiBNYXRjaCBhbGwgdGhlIFRMUyByZWxvY3MgaW4gYQoJYmxvY2ssIHNvIHdlIGNvdmVyIGFsbCB0aGUgVFBSRUwxNiogZmxhdm9ycyB3aXRob3V0IDYgfHxzLgoJW1VTRV9UTFNdIChlbGZfbWFjaGluZV90cHJlbCk6IE5ldyBmdW5jdGlvbi4KCShlbGZfbWFjaGluZV9yZWxhKSBbVVNFX1RMU106IFVzZSBlbGZfbWFjaGluZV90cHJlbCBmb3IgVFBSRUw2NCByZWxvYywKCWFuZCBoYW5kbGUgVFBSRUwxNiByZWxvY3MgdG9vLiAgUmV0dXJuIHJhdGhlciB0aGFuIGJyZWFrIGZvciBEVFBSRUw2NC4KCU1vc3RseSBmcm9tIFN0ZXZlbiBNdW5yb2UgPHNqbXVucm9lQHVzLmlibS5jb20+LgoKMjAwMy0wMy0xMSAgUmFsZiBCYWVjaGxlICA8cmFsZkBsaW51eC1taXBzLm9yZz4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvY2xvbmUuUyAoX190aHJlYWRfc3RhcnQpOiBVc2UgamFsCglpbnN0ZWFkIG9mIGphbHIgdG8gaW52b2tlIHN1YnJvdXRpbmUgc28gcmVzdG9yaW5nIHRoZSAkZ3AgcmVnaXN0ZXIKCXdpbGwgd29yayBwcm9wZXJseS4KCjIwMDMtMDMtMTEgIE1hcnRpbiBTY2h3aWRlZnNreSAgPHNjaHdpZGVmc2t5QGRlLmlibS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvc3lzZGVwLmggKF9fTlJfcHJlYWQ2NCk6IERlZmluZQoJdG8gX19OUl9wcmVhZCBpZiBub3QgZGVmaW5lZC4KCShfX05SX3B3cml0ZTY0KTogRGVmaW5lIHRvIF9fTlJfcHdyaXRlIGlmIG5vdCBkZWZpbmVkLgoKMjAwMy0wMy0xMSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3N5c3RlbS5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgva2VybmVsLWZlYXR1cmVzLmgKCShfX0FTU1VNRV9DTE9ORV9USFJFQURfRkxBR1MpOiBEZWZpbmUgZm9yIElBLTY0IGFuZCBzMzkwKiB3aXRoCglrZXJuZWwgPj0gMi41LjY0LgoKMjAwMy0wMy0xMSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtc3lzZGVwLmMgKF9kbF9pbXBvcnRhbnRfaHdjYXBzKTogSWYgQ05UID09IDEsCglhbGxvY2F0ZSBzcGFjZSBldmVuIGZvciB0aGUgdHJhaWxpbmcgJy8nLgoJUmVwb3J0ZWQgYnkgSm9obiBSZWlzZXIgPGpyZWlzZXJAQml0V2Fnb24uY29tPi4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc3lzZGVwLmggKExPQURfQVJHU182LCBBU01fQVJHU182LAoJQVNNX0NMT0JCRVJTXzYpOiBEZWZpbmUuCgkoQVNNX0NMT0JCRVJTXzUpOiBVc2UgQVNNX0NMT0JCRVJTXzYuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvY2xvbmUyLlMgKF9fY2xvbmUyKTogUmVvcmRlciBhcmd1bWVudHMKCXRvIG1hdGNoIElBLTMyIG9yZGVyLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2Nsb25lLlM6IEZpeCBjb21tZW50LgoKMjAwMy0wMy0xMCAgU3RldmVuIE11bnJvZSAgPHNqbXVucm9lQHVzLmlibS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGM2NC9jbG9uZS5TOiBEb24ndCBjbG9iYmVyIFI3LgoJQ29weSBleHRyYSBwYXJhbXMgZm9yIE5QVEwgdG8gcmVnaXN0ZXJzIHVzZWQgaW4gY2xvbmUgc3lzY2FsbC4KCjIwMDMtMDMtMTAgIE1hcnRpbiBTY2h3aWRlZnNreSAgPHNjaHdpZGVmc2t5QGRlLmlibS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvc3lzY2FsbHMubGlzdDogQ29ycmVjdCBzeXN0ZW0KCWNhbGwgbmFtZXMgZm9yIHByZWFkIGFuZCBwd3JpdGUuCgoyMDAzLTAzLTEwICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogZGxmY24vTWFrZWZpbGUgKGxpYmRsLXJvdXRpbmVzKTogQWRkIGRsYWRkcjEuCgkqIGRsZmNuL2RsYWRkcjEuYzogTmV3IGZpbGUuCgkqIGRsZmNuL2RsZmNuLmggW19fVVNFX0dOVV06IERlY2xhcmUgZGxhZGRyMS4KCVtfX1VTRV9HTlVdIChSVExEX0RMX1NZTUVOVCwgUlRMRF9ETF9MSU5LTUFQKTogTmV3IGVudW0gY29uc3RhbnRzLgoJKiBlbGYvZGwtYWRkci5jIChfZGxfYWRkcik6IFRha2UgbmV3IGFyZ3MsIGEgc3RydWN0IGxpbmtfbWFwICoqIGFuZAoJYSBjb25zdCBFbGZOTl9TeW0gKiogdG8gZmlsbCBpbi4KCSogaW5jbHVkZS9kbGZjbi5oOiBVcGRhdGUgZGVjbC4gIEluY2x1ZGUgPGxpbmsuaD4uCgkqIGRsZmNuL2RsYWRkci5jIChkbGFkZHIpOiBVcGRhdGUgY2FsbGVyLgoJKiBtYWxsb2MvbXRyYWNlLmMgKHRyX3doZXJlKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9lbGYvYmFja3RyYWNlc3ltcy5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2VsZi9iYWNrdHJhY2VzeW1zZmQuYzogTGlrZXdpc2UuCgkqIGRsZmNuL1ZlcnNpb25zIChsaWJkbDogR0xJQkNfMi4zLjMpOiBOZXcgc2V0LCBhZGQgZGxhZGRyMS4KCSogVmVyc2lvbnMuZGVmIChsaWJkbCk6IERlZmluZSBHTElCQ18yLjMuMyBzZXQuCgoJKiBzeXNkZXBzL3VuaXgvbWFrZS1zeXNjYWxscy5zaDogR2VuZXJhdGUgJChjb21waWxlLXN5c2NhbGwpIGZvcgoJYXNzZW1ibGVyIGNvbW1hbmQuCgkqIHN5c2RlcHMvdW5peC9NYWtlZmlsZSAoY29tcGlsZS1zeXNjYWxsKTogTmV3IHZhcmlhYmxlLgoJUGFzcyAtZzAgdG8gY29tcGlsZXIgZm9yIGFzc2VtYmxpbmcgc3lzY2FsbCBzdHVicyBmcm9tIHN0ZGluLgoKCSogc3lzZGVwcy9pMzg2L3N5c2RlcC5oIFtIQVZFX0NQUF9BU01fREVCVUdJTkZPXQoJKFNUQUJTX0NVUlJFTlRfRklMRSwgU1RBQlNfQ1VSUkVOVF9GSUxFMSwgU1RBQlNfRlVOLCBTVEFCU19GVU5fRU5EKToKCURlZmluZSB0aGVzZSB0byBkbyBub3RoaW5nLgoKCSogY29uZmlndXJlLmluOiBOZXcgY2hlY2sgZm9yIC1nIG9uIC5TIGZpbGVzLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGVkLgoJKiBjb25maWcubWFrZS5pbiAoaGF2ZS1jcHAtYXNtLWRlYnVnaW5mbyk6IE5ldyB2YXJpYWJsZS4KCSogY29uZmlnLmguaW4gKEhBVkVfQ1BQX0FTTV9ERUJVR0lORk8pOiBOZXcgI3VuZGVmLgoJKiBNYWtlY29uZmlnIChBU0ZMQUdTKTogTmV3IHZhcmlhYmxlLCBpZiB1bmRlZmluZWQgYW5kCgkkKGhhdmUtY3BwLWFzbS1kZWJ1Z2luZm8pLCB0YWtlIG9wdGlvbnMgbWF0Y2hpbmcgLWclIGZyb20gJChDRkxBR1MpLgoJKiBNYWtlcnVsZXMgKGNvbXBpbGUuUywgQ09NUElMRS5TKTogVXNlICQoQVNGTEFHUykuCgoyMDAzLTAzLTA5ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjMzIvY2xvbmUuUzogVGFrZSAzIG5ldyBhcmdzCgl1c2VkIGJ5IE5QVEwgb24gbmV3IGtlcm5lbHMuICBGcm9tIFBhdWwgTWFja2VycmFzIDxwYXVsdXNAc2FtYmEub3JnPi4KCjIwMDMtMDMtMDkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG8vZmkucG86IFVwZGF0ZSBmcm9tIHRyYW5zbGF0aW9uIHRlYW0uCgkqIHBvL2NhLnBvOiBMaWtld2lzZS4KCSogcG8vZGEucG86IExpa2V3aXNlLgoKMjAwMy0wMy0wOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBydC90c3QtYWlvNy5jIChkb190ZXN0KTogQ2hhbmdlIEJZVEVTIGludG8gYSAjZGVmaW5lLgoKMjAwMy0wMy0wNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBydC90c3QtYWlvNy5jIChkb190ZXN0KTogR2l2ZSBCVUZGIHBlcm1hbmVudCBleHRlbnQsIHRvby4KCgkqIHN5c2RlcHMvcG93ZXJwYy9mcHUvd19zcXJ0LmM6IEZpeCBjb21tZW50LgoKMjAwMy0wMy0wNyAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvczM5MC9zMzkwLTMyL3N5c2RlcC5oIChMKTogVXNlIC5MZm9vIGluc3RlYWQgb2YgZm9vLgoJKiBzeXNkZXBzL3MzOTAvczM5MC02NC9zeXNkZXAuaCAoTCk6IExpa2V3aXNlLgoKMjAwMy0wMy0wNCAgR3VpZG8gR3VlbnRoZXIgIDxhZ3hAc2lneGNwdS5vcmc+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3N5c2NhbGxzLmxpc3Q6IFJlbW92ZSB1bm5lZWRlZAoJc3R1YnMsIHdlIGhhdmUgSU5MSU5FX1NZU0NBTEwuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvYml0cy9tbWFuLmg6IERlZmluZSBNQVBfUE9QVUxBVEUsCglNQVBfTk9OQkxPQ0suCgoyMDAzLTAzLTA2ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogcnQvdHN0LWFpbzcuYyAoZG9fdGVzdCk6IFJldmVydCBsYXN0IGNoYW5nZS4gIEluc3RlYWQsIGdpdmUgQ0IxCglwZXJtYW5lbnQgZXh0ZW50IGFuZCBhZGQgYSBjb21tZW50IGFib3V0IHRlc3RpbmcgaXRzIGltcGxpY2l0IHRlYXJkb3duLgoKMjAwMy0wMy0wNiAgTWFydGluIFNjaHdpZGVmc2t5ICA8c2Nod2lkZWZza3lAZGUuaWJtLmNvbT4KCgkqIHJ0L3RzdC1haW83LmMgKGRvX3Rlc3QpOiBDYW5jZWwgaS9vIG9uIENCMSBiZWZvcmUgaXQncyBvdXQgb2Ygc2NvcGUuCgoyMDAzLTAzLTA1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC10bHMuYyAoX2RsX2FsbG9jYXRlX3Rsc19zdG9yYWdlKTogRml4CglyZXZlcnNlZCBfX2J1aWx0aW5fZXhwZWN0IGV4cGVjdGF0aW9uLgoKMjAwMy0wMy0wNSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIHN0ZGlvLWNvbW1vbi9zc2NhbmYuYzogVXNlIHByb3RvdHlwZSBkZWZuIHdpdGggLi4uIHN5bnRheC4KCSogbGliaW8vc3dzY2FuZi5jOiBMaWtld2lzZS4KCSogbGliaW8vc3dwcmludGYuYzogTGlrZXdpc2UuCgoyMDAzLTAzLTA0ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9kbC1tYWNoaW5lLmg6IEluY2x1ZGUgPGRsLXRscy5oPi4KCShlbGZfbWFjaGluZV9yZWxhKTogQWx3YXlzIHVzZSBSRVNPTFZFX01BUCwgbmVlZGVkIGZvcgoJUl9QUEM2NF9KTVBfU0xPVCBhcyB3ZWxsIGFzIFRMUyBjYXNlcy4KCShCSVRfSU5TRVJUKTogTW92ZSBwYXJlbnRoZXNpcyB3aGVyZSBpdCBvdWdodCB0byBoYXZlIGJlZW4uCglSZXBvcnRlZCBieSBTdGV2ZW4gTXVucm9lIDxzam11bnJvZUB1cy5pYm0uY29tPi4KCgkqIHBvc2l4L2NvbmZzdHIuYyAoY29uZnN0cik6IENvcnJlY3QgU1RSSU5HX0xFTiB2YWx1ZXMgZm9yCglfQ1NfR05VX0xJQkNfVkVSU0lPTiBhbmQgX0NTX0dOVV9MSUJQVEhSRUFEX1ZFUlNJT04sIGFkZCBtaXNzaW5nCglicmVhay4gIFJlcG9ydGVkIGJ5IEFsZXhhbmRyZSBKdWxsaWFyZCA8anVsbGlhcmRAd2luZWhxLmNvbT4uCgoyMDAzLTAzLTA0ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvaWE2NC9mcHUvbGlibS10ZXN0LXVscHM6IFJlZ2VuZXJhdGVkLgoKMjAwMy0wMy0wNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvY2xvbmUuUzogQWRkIHN1cHBvcnQgZm9yIHRoZSBuZXcKCWNsb25lIHBhcmFtZXRlcnMuCgoJKiBwby9zdi5wbzogVXBkYXRlIGZyb20gdHJhbnNsYXRpb24gdGVhbS4KCjIwMDMtMDMtMDQgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCSAgICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDogRml4IGNvbW1lbnRzLgoKMjAwMy0wMy0wMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtc3lzZGVwLmg6IEFkZCBkb3VibGUgaW5jbHVkZSBwcm90ZWN0aW9uLgoKCSogcG8vdHIucG86IFVwZGF0ZSBmcm9tIHRyYW5zbGF0aW9uIHRlYW0uCgoJKiBlbGYvZGwtbG9hZC5jIChfZGxfbWFwX29iamVjdF9mcm9tX2ZkKTogRGV0ZXJtaW5lIHdoZXRoZXIgdGhlcmUKCWFyZSBob2xlcyBiZXR3ZWVuIHRoZSBzZWdtZW50cy4gIE9ubHkgY2FsbCBtcHJvdGVjdCB0byBzZXQKCXByb2VjdGlvbiB0byBQUk9UX05PTkUgaWYgdGhlcmUgYXJlIHNvbWUuCgoJKiBlbGYvZGwtbG9hZC5jIChzdHJ1Y3QgZmlsZWJ1Zik6IEFjdHVhbGx5IHVzZSBGSUxFQlVGX1NJWkUuCglVcGRhdGUgY29tbWVudC4KCgkqIGluY2x1ZGUvc2NoZWQuaCAoX19jbG9uZTIpOiBVc2UgLi4uIGluc3RlYWQgb2YgYWRkaW5nIGFsbCB0aGUKCW5ldyBwYXJhbWV0ZXJzLgoKMjAwMy0wMy0wMyAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIGVsZi9kbC1sb2FkLmMgKHN0cnVjdCBmaWxlYnVmKTogRml4IHR5cG8gaW4gbGFzdCBjaGFuZ2UuCgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL2VsZi9jb25maWd1cmUuaW46IERvbid0IGRlZmluZQoJUElfU1RBVElDX0FORF9ISURERU4uCgoyMDAzLTAzLTAzICBJYW4gV2llbmFuZCAgPGlhbndAZ2VsYXRvLnVuc3cuZWR1LmF1PgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9jbG9uZTIuUzogVXBkYXRlIHRvIHRha2UgZXh0cmEgY2xvbmUKCWZsYWdzLgoJKiBpbmNsdWRlL3NjaGVkLmg6IFVwZGF0ZSBjbG9uZTIgcHJvdG90eXBlLgoKMjAwMy0wMy0wMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbWF0aC90Z21hdGguaCAoX19UR01BVEhfVU5BUllfUkVBTF9SRVRfT05MWSk6IE5ldyBkZWZpbml0aW9uLgoJKGxscmludCk6IFVzZSBpdCB0byBjb3JyZWN0IHJldHVybiB0eXBlLgoJKGxyaW50KTogTGlrZXdpc2UuCgkobHJvdW5kKTogTGlrZXdpc2UuCgkobGxyb3VuZCk6IExpa2V3aXNlLgoKMjAwMy0wMy0wMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtbG9hZC5jIChzdHJ1Y3QgZmlsZWJ1Zik6IEZvciA2NC1iaXQgcGxhdGZvcm1zIHVzZSA2NDAKCWJ5dGUgZmlsZWJ1ZiBzaXplLgoKCSogbGliaW8vZmlsZW9wcy5jIChfSU9fbmV3X2ZpbGVfZm9wZW4pOiBDbG9zZSBzdGlsbGJvcm4gZGVzY3JpcHRvcgoJaWYgY2NzIHBhcmFtZXRlciBpc24ndCB2YWxpZC4gIFJlcG9ydGVkIGJ5IEFuZHJlYXMgU2Nod2FiLgoKMjAwMy0wMy0wMyAgTWFydGluIFNjaHdpZGVmc2t5ICA8c2Nod2lkZWZza3lAZGUuaWJtLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC0zMi9zeXNjYWxsLlMgKHN5c2NhbGwpOiBBZGQgc3VwcG9ydAoJZm9yIHN5c3RlbSBjYWxsIG51bWJlcnMgPiAyNTUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC0zMi9zeXNjYWxsLmggKERPX0NBTEwsCglJTkxJTkVfU1lTQ0FMTCwgSU5URVJOQUxfU1lTQ0FMTF9ESVJFQ1QsIElOVEVSTkFMX1NZU0NBTExfU1ZDMCwKCUlOVEVSTkFMX1NZU0NBTEwpOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L3N5c2NhbGwuUyAoc3lzY2FsbCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvc3lzY2FsbC5oIChET19DQUxMLAoJSU5MSU5FX1NZU0NBTEwsIElOVEVSTkFMX1NZU0NBTExfRElSRUNULCBJTlRFUk5BTF9TWVNDQUxMX1NWQzAsCglJTlRFUk5BTF9TWVNDQUxMKTogTGlrZXdpc2UuCgoyMDAzLTAzLTAzICBNYXJ0aW4gU2Nod2lkZWZza3kgIDxzY2h3aWRlZnNreUBkZS5pYm0uY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL2RsLXRscy5jIChfZGxfZGVhbGxvY2F0ZV90bHMpOiBEb24ndCBmcmVlIHRoZSBkdHYKCWFycmF5IGlmIGl0IGlzIHRoZSBpbml0aWFsIGR0di4KCjIwMDMtMDMtMDMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG8vZXMucG86IFVwZGF0ZSBmcm9tIHRyYW5zbGF0aW9uIHRlYW0uCgkqIHBvL2ZyLnBvOiBMaWtld2lzZS4KCSogcG8vZ2wucG86IExpa2V3aXNlLgoJKiBwby9zay5wbzogTGlrZXdpc2UuCgkqIHBvL3N2LnBvOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5c2NhbGxzLmxpc3Q6IEFkZCByZW1hcF9maWxlX3BhZ2VzIGVudHJ5LgoJKiBtaXNjL3N5cy9tbWFuLmg6IEFkZCBwcm90b3R5cGUgZm9yIHJlbWFwX2ZpbGVfcGFnZXMuCgkqIHN5c2RlcHMvZ2VuZXJpYy9yZW1hcF9maWxlX3BhZ2VzLmM6IE5ldyBmaWxlLgoJKiBtaXNjL01ha2VmaWxlIChyb3V0aW5lcyk6IEFkZCByZW1hcF9maWxlX3BhZ2VzLgoJKiBtaXNjL1ZlcnNpb25zIFtsaWJjOkdMSUJDXzIuMy4zXTogQWRkIHJlbWFwX2ZpbGVfcGFnZXMuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvYml0cy9tbWFuLmg6IERlZmluZSBNQVBfUE9QVUxBVEUKCWFuZCBNQVBfTk9OQkxPQ0suCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvYml0cy9tbWFuLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2JpdHMvbW1hbi5oOiBMaWtld2lzZQoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tNjhrL2JpdHMvbW1hbi5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2JpdHMvbW1hbi5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9iaXRzL21tYW4uaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEvYml0cy9tbWFuLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9iaXRzL21tYW4uaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvYml0cy9tbWFuLmg6IExpa2V3aXNlLgoKMjAwMy0wMy0wMyAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvaWE2NC9kbC1mcHRyLmMgKF9faWE2NF9tYWtlX2ZwdHIpOiBSZXZlcnQgbGFzdCBjaGFuZ2UuCgkqIHN5c2RlcHMvaWE2NC9kbC1tYWNoaW5lLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2lhNjQvZGwtc3ltYWRkci5jIChfZGxfc3ltYm9sX2FkZHJlc3MpOiBSZW1vdmUgY29uc3QgZnJvbQoJYXJndW1lbnQgdHlwZS4KCSogc3lzZGVwcy9pYTY0L2RsLWxvb2t1cGNmZy5oOiBVcGRhdGUgZGVjbC4KCgkqIHN5c2RlcHMvd29yZHNpemUtNjQvc3RydG9sX2wuYyAoc3RydG9sbF9sKTogRGVmaW5lIGFzIHdlYWsgYWxpYXMuCgkqIHN5c2RlcHMvd29yZHNpemUtNjQvc3RydG91bF9sLmMgKHN0cnRvdWxsX2wpOiBEZWZpbmUgYXMgd2VhayBhbGlhcy4KCSogbG9jYWxlL1ZlcnNpb25zIChsaWJjOiBHTElCQ18yLjMpOiBNb3ZlIHRob3NlIHRvIC4uLgoJKiBzeXNkZXBzL3dvcmRzaXplLTMyL1ZlcnNpb25zIChsaWJjOiBHTElCQ18yLjMpOiAuLi4gaGVyZSwgbmV3IGZpbGUuCgkqIHN5c2RlcHMvd29yZHNpemUtNjQvVmVyc2lvbnMgKGxpYmM6IEdMSUJDXzIuMy4zKSBMaWtld2lzZS4KCSogVmVyc2lvbnMuZGVmIChsaWJjKTogQWRkIEdMSUJDXzIuMy4zIHNldC4KCgkqIHN5c2RlcHMvaWE2NC9kbC1mcHRyLmMgKF9faWE2NF9tYWtlX2ZwdHIpOiBBZGQgY29uc3QgdG8gTUFQIGFyZy4KCSogc3lzZGVwcy9pYTY0L2RsLW1hY2hpbmUuaDogVXBkYXRlIGRlY2wuCgoyMDAzLTAzLTAzICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvY2xvY2tfc2V0dGltZS5jIChIQU5ETEVfUkVBTFRJTUUpOiBBZGQgbWlzc2luZyBicmFjZS4KCjIwMDMtMDMtMDIgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBzY3JpcHRzL2FiaWxpc3QuYXdrOiBSZWplY3QgZGF0YSBpdGVtcyB3aXRoIGFwcGFyZW50IDAgc2l6ZS4KCgkqIHNjcmlwdHMvbWVyZ2UtYWJpbGlzdC5hd2s6IFJlc3RvcmUgaGFjayB0byBlbGlkZSBwYXR0ZXJuIGZvby4qL2JhcgoJYWZ0ZXIgZm9vLiogYXMgaWYgaXQgd2VyZSBhIGR1cGxpY2F0ZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYnJrLlM6IEFkZCAudHlwZSBhbmQgLnNpemUgZm9yIF9fY3VyYnJrLgoKMjAwMy0wMy0wMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtbG9hZC5jIChzdHJ1Y3QgZmlsZWJ1Zik6IFJlZHVjZSBidWYgYXJyYXkgdG8gNTEyIGJ5dGVzLgoKCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvdGltZS5oOiBEZWZpbmUgQ0xPQ0tfTU9OT1RPTklDLgoJKiBzeXNkZXBzL3Bvc2l4L2Nsb2NrX2dldHJlcy5jOiBEZWZpbmUgY29kZSBmb3IgQ0xPQ0tfUkVBTFRJTUUgb25seQoJaWYgbm90IGFscmVhZHkgZGVmaW5lZC4gIFVzZSBTWVNERVBfR0VUUkVTIHRvIGFsbG93IG90aGVyIGZpbGVzIHRvCglwcm92aWRlIGFsdGVybmF0aXZlIGltcGxlbWVudGF0aW9ucy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY2xvY2tfZ2V0cmVzLmM6IE5ldyBmaWxlCgkqIHN5c2RlcHMvdW5peC9jbG9ja19nZXR0aW1lLmM6IERlZmluZSBjb2RlIGZvciBDTE9DS19SRUFMVElNRSBvbmx5CglpZiBub3QgYWxyZWFkeSBkZWZpbmVkLiAgVXNlIFNZU0RFUF9HRVRUSU1FIHRvIGFsbG93IG90aGVyIGZpbGVzIHRvCglwcm92aWRlIGFsdGVybmF0aXZlIGltcGxlbWVudGF0aW9ucy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY2xvY2tfZ2V0dGltZS5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L2Nsb2NrX3NldHRpbWUuYzogRGVmaW5lIGNvZGUgZm9yIENMT0NLX1JFQUxUSU1FIG9ubHkKCWlmIG5vdCBhbHJlYWR5IGRlZmluZWQuICBVc2UgU1lTREVQX0dFVFRJTUUgdG8gYWxsb3cgb3RoZXIgZmlsZXMgdG8KCXByb3ZpZGUgYWx0ZXJuYXRpdmUgaW1wbGVtZW50YXRpb25zLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jbG9ja19zZXR0aW1lLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvY2xvY2tfbmFub3NsZWVwLmM6IFVzZSBTWVNERVBfTkFOT1NMRUVQIHRvIGFsbG93CglvdGhlciBmaWxlcyB0byBwcm92aWRlIGFsdGVybmF0aXZlIGltcGxlbWVudGF0aW9ucy4gIFJlYXJyYW5nZQoJdGVzdHMgZm9yIGludmFsaWQgcGFyYW1ldGVycy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY2xvY2tfbmFub3NsZWVwLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXNjb25mLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9rZXJuZWwtZmVhdHVyZXMuaDogRGVmaW5lCglfX0FTU1VNRV9QT1NJWF9USU1FUlMgZm9yIExpbnV4IDIuNS42MyBhbmQgdXAuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvcG9zaXhfb3B0Lmg6IERlZmluZQoJX1BPU0lYX01PTk9UT05JQ19DTE9DSy4KCjIwMDMtMDMtMDIgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBzY3JpcHRzL21lcmdlLWFiaWxpc3QuYXdrOiBNb3JlIGNoZWNrcyBmb3IgYm9ndXMgaW5wdXQuCglVbmlxdWlmeSBkdXBsaWNhdGUgY29uZmlnIG5hbWVzLgoKCSogc2NyaXB0cy9hYmlsaXN0LmF3azogRG9uJ3QgZGlzdGluZ3Vpc2ggd2VhayBzeW1ib2xzIGluIG5vcm1hbCBvdXRwdXQuCgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL2RsLW1hY2hpbmUuYyAoX2RsX3JlbG9jX292ZXJmbG93KTogUmVuYW1lZAoJZnJvbSBkbF9yZWxvY19vdmVyZmxvdywgbWFrZSBnbG9iYWwuCgkoX19wcm9jZXNzX21hY2hpbmVfcmVsYSk6IFVwZGF0ZSBjYWxsZXJzLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL2RsLW1hY2hpbmUuaDogRGVjbGFyZSBfZGxfcmVsb2Nfb3ZlcmZsb3cuCglBZGQgYXR0cmlidXRlX2hpZGRlbiB0byBfX3Byb2Nlc3NfbWFjaGluZV9yZWxhIGRlY2wuCgkoZWxmX21hY2hpbmVfdHlwZV9jbGFzcywgZWxmX21hY2hpbmVfcmVsYSk6IEhhbmRsZSAxNi1iaXQgVExTIHJlbG9jcy4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9saWJjLXN0YXJ0LmMgKF9fbGliY19zdGFydF9tYWluKTogRG9uJ3QgYXNzaWduIGNvbnN0Cgl2YXJpYWJsZS4KCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjNjQvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9maXh1cF9wbHQpOgoJRG9uJ3QgdXNlIHdlYWtfZXh0ZXJuIGZvciBkbF9ydGxkX21hcC4gIEluc3RlYWQgY2hlY2sgb25seSBpZiBbU0hBUkVEXS4KCShlbGZfbWFjaGluZV9yZWxhKTogQ2xlYW4gdXAuCgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfcmVsYSk6IENsZWFuIHVwLgoKCVBvd2VyUEMgVExTIHN1cHBvcnQgY29udHJpYnV0ZWQgYnkgUGF1bCBNYWNrZXJyYXMgPHBhdWx1c0BzYW1iYS5vcmc+LgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL2VsZi9jb25maWd1cmUuaW46IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL2VsZi9jb25maWd1cmU6IE5ldyBnZW5lcmF0ZWQgZmlsZS4KCSogZWxmL3Rscy1tYWNyb3MuaCBbX19wb3dlcnBjX18gJiYgIV9fcG93ZXJwYzY0X19dCgkoVExTX0xFLCBUTFNfSUUsIFRMU19MRCwgVExTX0dEKTogRGVmaW5lIHRoZW0uCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9yZWxhKTogU3VwcG9ydAoJbmV3IHJlbG9jcyBmb3IgVExTLgoKCSogc3lzZGVwcy9wb3dlcnBjL2RsLXRscy5oIChUTFNfVFBfT0ZGU0VULCBUTFNfRFRWX09GRlNFVCk6IE1vdmUgdGhlc2UKCW1hY3JvcyBvdXQgb2YgW1NIQVJFRF0uCgkoVExTX1RQUkVMX1ZBTFVFLCBUTFNfRFRQUkVMX1ZBTFVFKTogTmV3IG1hY3Jvcy4KCgkqIGVsZi9lbGYuaDogRGVmaW5lIFJfUFBDXyogcmVsb2NzIGZvciBUTFMgc3VwcG9ydC4KCUNsZWFuIHVwIFJfUFBDNjRfKiBtYWNybyBkZWZpbml0aW9uIGNvbW1lbnRzLgoKCSogY29uZmlndXJlLmluOiBJbiAicnVubmluZyBjb25maWd1cmUgZnJhZ21lbnQgZm9yIiBtZXNzYWdlLAoJb21pdCAkc3JjZGlyIGZyb20gdGhlIG5hbWUgaWYgd2UgcHJlcGVuZGVkIGl0LgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGVkLgoKCSogZWxmL2RsLXJlbG9jLmMgKGFsbG9jYXRlX3N0YXRpY190bHMpOiBGaXggY2FsY3VsYXRpb25zLgoJRnJvbSBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPi4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvYml0cy9mY250bC5oOiBSZXZlcnQgbGFzdCBjaGFuZ2UsCgl3aGljaCBkdXBsaWNhdGVkIHRoZSBPX0RJUkVDVCBkZWZuLgoKMjAwMy0wMy0wMSAgR09UTyBNYXNhbm9yaSAgPGdvdG9tQGRlYmlhbi5vci5qcD4KCgkqIHN0ZGxpYi9zdGRsaWIuaDogQWRkIG1pc3NpbmcgX19VU0VfQlNEIGVuY2xvc3VyZSBmb3IgQlNEIGRlcml2ZWQKCXJhbmRvbSBmdW5jdGlvbnMuCgoyMDAzLTAzLTAxICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogcmVzb2x2L01ha2VmaWxlICh0ZXN0cyk6IERvbid0IGRlcGVuZCBvbgoJJChvYmpwZngpbXRyYWNlLXRzdC1sZWFrcyB3aGVuIGNyb3NzIGNvbXBpbGluZy4KCgkqIHN5c2RlcHMvbTY4ay9kbC1tYWNoaW5lLmggKF9kbF9zdGFydF91c2VyKTogQWNjZXNzCglfX2xpYmNfc3RhY2tfZW5kIHRocm91Z2ggR09UIHNpbmNlIGl0IGlzIGEgZ2xvYmFsIHN5bWJvbC4KCjIwMDMtMDMtMDEgIEdPVE8gTWFzYW5vcmkgIDxnb3RvbUBkZWJpYW4ub3IuanA+CgoJKiBhcmdwL2FyZ3AuaDogRml4IGEgdHlwby4KCVJlcG9ydGVkIGJ5IEguUy5UZW9oIDxoc3Rlb2hAcXVpY2tmdXIuYXRoLmN4Pi4KCgkqIG1hbnVhbC90ZXJtaW5hbC50ZXhpOiBGaXggY2ZtYWtlcmF3KCkgZGVmaW5pdGlvbiBmcm9tIGludCB0byB2b2lkLgoKMjAwMy0wMi0yNyAgUGF0IFJhbmtpbiAgPHJhbmtpbkBwYWN0ZWNoZGF0YS5jb20+CgoJKiBwb3NpeC9yZWdleGVjLmMgKHByb2NlZWRfbmV4dF9ub2RlKTogQ2FzdCByZV9zdHJpbmdfZ2V0X2J1ZmZlciB0bwoJY2hhciAqLgoJKGdldF9zdWJleHApOiBMaWtld2lzZS4KCjIwMDMtMDMtMDEgIEdPVE8gTWFzYW5vcmkgIDxnb3RvbUBkZWJpYW4ub3IuanA+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9iaXRzL2ZjbnRsLmggKE9fRElSRUNUKTogRGVmaW5lLgoKMjAwMy0wMi0yNiAgU3RldmVuIE11bnJvZSAgPHNqbXVucm9lQHVzLmlibS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2JpdHMvZmNudGwuaCAoT19ESVJFQ1QpOiBEZWZpbmUuCgoyMDAzLTAyLTI3ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX3JlbGEpOiBSZW1vdmUKCXNwZWNpYWwgY2FzZSBmb3IgZGxfcnRsZF9tYXAgaW4gUl9QUEM2NF9SRUxBVElWRTsgaXQncyBoYXJtbGVzcyB0bwoJcmVwZWF0IGl0IGFuZCBhdm9pZHMgdGhlIHRlc3QgZm9yIHRoZSBjb21tb24gY2FzZS4KCUNsZWFuIHVwIGFuZCBmaXggY2FsY3VsYXRpb25zIGZvciBUTFMgcmVsb2NzLgoKCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9kbC10bHMuaDogTW92ZWQgdG8gLi4uCgkqIHN5c2RlcHMvcG93ZXJwYy9kbC10bHMuaDogLi4uIGhlcmUuCgkoVExTX1RQX09GRlNFVCk6IE5ldyBtYWNyby4KCgkqIHN1bnJwYy9zdmNfdWRwLmMgKHN2Y3VkcF9yZWN2KTogQWRkIGEgY2FzdCB0byBsYXN0IGNoYW5nZS4KCjIwMDMtMDItMjcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9pMzg2L2ZwdS9saWJtLXRlc3QtdWxwczogSW5jcmVhc2UgVUxQcyBmb3IgeW4gZHVlIHRvCgljb2RlIGdlbmVyYXRpb24gY2hhbmdlcyBpbiByZWNlbnQgZ2NjLgoKMjAwMy0wMi0yNiAgU3RldmVuIE11bnJvZSAgPHNqbXVucm9lQHVzLmlibS5jb20+CgoJKiBzeXNkZXBzL3Bvd2VycGMvZnB1L2ZwdV9jb250cm9sLmggKF9GUFVfR0VUQ1csIF9GUFVfU0VUQ1cpOgoJUmVuYW1lIGFyZ3VtZW50IHRvIGF2b2lkIHN5bWJvbCBjb25mbGljdC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvYml0cy9mY250bC5oCglbX19VU0VfR05VXSAoT19ESVJFQ1QpOiBOZXcgbWFjcm8uCgoyMDAzLTAyLTI0ICBEYXZpZCBNb3NiZXJnZXIgIDxkYXZpZG1AaHBsLmhwLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc3lzZGVwLlMgKF9fc3lzY2FsbF9lcnJvcik6IEZpeAoJdW53aW5kIGluZm8uCgoyMDAzLTAyLTI3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHJlc29sdi9yZXNfbGliYy5jIFtVU0VfX19USFJFQURdIChfcmVzKTogRG9uJ3QgbmVlZCB0aGUKCWluaXRpYWxpemVyIGFueW1vcmUgbm93IHRoYXQgcmVzX3RocmVhZF9mcmVlcmVzIGlzIG1vcmUgY2FyZWZ1bC4KCgkqIHN1bnJwYy9zdmNfdWRwLmMgKHN2Y3VkcF9yZWN2KTogUmVtb3ZlIGFsbCBjb250cm9sIG1lc3NhZ2VzCglleGNlcHQgdGhlIFBLVElORk8uICBSZXNldCBpbnRlcmZhY2UgaW4gUEtUSU5GTy4KCVBhdGNoIGJ5IE5laWwgQnJvd24gPG5laWxiQGNzZS51bnN3LmVkdS5hdT4gW1BSIGxpYmMvNDk3M10uCgoyMDAzLTAyLTI1ICBTdGV2ZW4gTXVucm9lICA8c2ptdW5yb2VAdXMuaWJtLmNvbT4KCgkqIGVsZi9lbGYuaDogQWRkIG5ldyBSX1BQQzY0XyogcmVsb2NzIGZvciBUTFMuCgkqIGVsZi90bHMtbWFjcm9zLmggW19fcG93ZXJwYzY0X19dIChUTFNfTEUsIFRMU19JRSwgVExTX0xELCBUTFNfR0QpOgoJRGVmaW5lLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzY0L2VsZi9jb25maWd1cmUuaW46IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzY0L2VsZi9jb25maWd1cmU6IE5ldyBmaWxlIChnZW5lcmF0ZWQpLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzY0L2RsLW1hY2hpbmUuaDogU3VwcG9ydCBuZXcgVExTIHJlbG9jcy4KCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9kbC10bHMuaDogTmV3IGZpbGUuCgoJKiBzeXNkZXBzL3Bvd2VycGMvZWxmL2xpYmMtc3RhcnQuYyAoX19saWJjX3N0YXJ0X21haW4pOgoJRG8gRExfU1lTREVQX09TQ0hFQ0sgaGVyZSwgbWF0Y2hpbmcgMjAwMi0xMi0wMSBjaGFuZ2UgdG8gZ2VuZXJpYyBmaWxlLgoKMjAwMy0wMi0yNSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbWFudWFsL21lbW9yeS50ZXhpIChNYWxsb2MgVHVuYWJsZSBQYXJhbWV0ZXJzKTogQ2xhcmlmeQoJYmVoYXZpb3VyIG9mIE1fTU1BUF9USFJFU0hPTEQuCgoyMDAzLTAyLTI1ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogcmVzb2x2L3Jlc19pbml0LmMgKHJlc190aHJlYWRfZnJlZXJlcyk6IEJhaWwgb3V0IGlmIF9yZXMubnNjb3VudCBpcwoJemVybywgaW5pZGljYXRpbmcgX3JlcyB3YXMgbm90IGluaXRpYWxpemVkIHlldC4KCjIwMDMtMDItMjQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvdHR5bmFtZV9yLmMgKF9fdHR5bmFtZV9yKTogUmVtb3ZlIEVBQ0NFUwoJdGVzdC4KCjIwMDMtMDItMjQgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3Bvc2l4L3BhdXNlLmM6IEFkZCBMSUJDX0NBTkNFTF9IQU5ETEVELgoKMjAwMy0wMi0yMyAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvcG9zaXgvcGF1c2UuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9jb21tb24vcGF1c2UuYzogRmlsZSByZW1vdmVkLgoKMjAwMy0wMi0yMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy9jb25mbmFtZS5oOiBSZW1vdmUgI2lmcy4KCgkqIHBvc2l4L01ha2VmaWxlIChDRkxBR1MtcmVnZXguYyk6IFJlbW92ZSBSRV9FTkFCTEVfSTE4TiBkZWZpbml0aW9uLgoJKiBwb3NpeC9yZWdleF9pbnRlcm5hbC5oIChSRV9FTkFCTEVfSTE4Tik6IFByZXR0eSBwcmludGluZy4KCgkqIHJlc29sdi9yZXNfbGliYy5jIFtVU0VfX19USFJFQURdIChfcmVzKTogSW5pdGlhbGl6ZSBfdmNzb2NrCgllbGVtZW50IHRvIC0xLgoKMjAwMy0wMi0yMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtc3lzZGVwLmM6IEF2b2lkIHdhcm5pbmcuCgoyMDAzLTAyLTIyICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogcmVzb2x2L3RzdC1sZWFrcy5jOiBOZXcgZmlsZSBieSBEYW5pZWwgSmFjb2Jvd2l0eiA8ZHJvd0BtdmlzdGEuY29tPi4KCSogcmVzb2x2L01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3QtbGVha3MuCgkoJChvYmpwZngpdHN0LWxlYWtzKTogRGVwZW5kIG9uICQob2JqcGZ4KWxpYnJlc29sdi5zby4KCSh0c3QtbGVha3MtRU5WKTogTmV3IHZhcmlhYmxlLgoJKCQob2JqcGZ4KW10cmFjZS10c3QtbGVha3MpOiBOZXcgdGFyZ2V0LgoJKHRlc3RzKTogRGVwZW5kIG9uIGl0LgoKCSogaW5jbHVkZS9saWJjLWludGVybmFsLmg6IERlY2xhcmUgX19saWJjX3RocmVhZF9mcmVlcmVzLgoKCSogTWFrZXJ1bGVzOiBGaXggbGFzdCBjaGFuZ2UgdG8gdXNlICQoJChzdWJkaXIpLXZlcnNpb24pIHdoZW4gc2V0LgoKCSogTWFrZXJ1bGVzIChpbnN0YWxsLWxpYi1ub3N1YmRpcik6IERlcGVuZCBvbiBpbnN0YWxsZWQKCWxpYmZvby1YLlkuWi5zbyBhbmQgbGliZm9vLnNvLk5OIGZpbGVzIHNvIHRoZXkgYXJlIGluc3RhbGxlZAoJcmVnYXJkbGVzcyBvZiB0aGUgbGliZm9vLnNvIHRhcmdldCdzIGRlcGVuZGVuY2llcy4KCgkqIE1ha2VUQUdTIChzdWItbWFrZS12YXJzKTogTmV3IHZhcmlhYmxlLCBpbmNsdWRlcyBnZW5lcmF0aW5nPXQuCglVc2UgdGhhdCBpbiAkKE1BS0UpIGNhbGxzLgoKMjAwMy0wMi0yMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBjYXRnZXRzL2dlbmNhdC5jIChyZWFkX2lucHV0X2ZpbGUpOiBDb2xsaXNpb24gYmV0d2VlbgoJYXV0by1hc3NpZ25lZCBudW1iZXJzIGFuZCB1c2VyLWRlZmluZWQgbnVibWVycyBpcyBub3QgZmF0YWwuCglIYW5kbGUgaXQuCglQYXRjaCBieSBNaWNoYWVsIE0uIExhbXBraW4gPG1pY2hhZWwubGFtcGtpbkBpZWVlLm9yZz4uCgkqIGNhdGdldHMvTWFrZWZpbGU6IEFkZCBydWxlcyB0byBydW4gdGVzdDIubXNnIHRlc3QuCgkqIGNhdGdldHMvdGVzdDIubXNnOiBOZXcgZmlsZS4KCgkqIGNhdGdldHMvZ2VuY2F0LmMgKG1haW4pOiBSZXR1cm4gMSBpZiBtZXNzYWdlcyBoYXZlIGJlZW4gcHJpbnRlZC4KCgkqIGljb252L2ljb252X3Byb2cuYyAobWFpbik6IFVuaWZ5IG1lc3NhZ2VzLgoKCSogc3RkbGliL3N0cnRvZC5jIChJTlRFUk5BTCk6IFJlbW92ZSBib2d1cyBjbGVhcmluZyBvZiBzZWNvbmQgd29yZAoJd2hlbiBzaGlmdGluZyByZXR2YWwuCgkqIHN0ZGxpYi90c3Qtc3RydG9kLmMgKG1haW4pOiBBZGQgc3RydG9sZCB0ZXN0IGNhc2UuCglSZXBvcnRlZCBieSBGcmVkIEouIFR5ZGVtYW4gPHR5ZGVtYW5AdHlib3IuY29tPi4KCjIwMDMtMDItMjEgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBtYWxsb2MvdGhyZWFkLWZyZWVyZXMuYzogQ29uZGl0aW9uYWxpemUgb24gX0xJQkNfUkVFTlRSQU5ULgoJKiBzdW5ycGMvcnBjX3RocmVhZC5jOiBMaWtld2lzZSBmb3IgdGV4dF9zZXRfZWxlbWVudCB1c2UuCgkoX19ycGNfdGhyZWFkX2Rlc3Ryb3kpOiBBZGQgaXQgdG8gX19saWJjX3N1YmZyZWVyZXMgdG9vLgoKCSogaW5jbHVkZS9yZXNvbHYuaDogQWRkIGxpYmNfaGlkZGVuX3Byb3RvIGZvciBfX3Jlc19uY2xvc2UuCgkqIHJlc29sdi9yZXNfaW5pdC5jIChfX3Jlc19uY2xvc2UpOiBBZGQgbGliY19oaWRkZW5fZGVmLgoJKHJlc190aHJlYWRfZnJlZXJlcyk6IE5ldyBmdW5jdGlvbiwgb24gX19saWJjX3RocmVhZF9zdWJmcmVlcmVzIGFuZAoJX19saWJjX3N1YmZyZWVyZXMuCgoJKiBtYWxsb2MvVmVyc2lvbnMgKGxpYmM6IEdMSUJDX1BSSVZBVEUpOiBBZGQgX19saWJjX3RocmVhZF9mcmVlcmVzLgoJKiBtYWxsb2MvdGhyZWFkLWZyZWVyZXMuYzogTmV3IGZpbGUuCgkqIG1hbGxvYy9NYWtlZmlsZSAoYXV4KTogQWRkIGl0LgoJKiBzdW5ycGMvVmVyc2lvbnMgKGxpYmM6IEdMSUJDX1BSSVZBVEUpOiBSZW1vdmVkLgoJKiBzdW5ycGMvcnBjX3RocmVhZC5jIChfX3JwY190aHJlYWRfZGVzdHJveSk6IFB1dCBpbiBzcGVjaWFsIHNlY3Rpb24KCSJfX2xpYmNfdGhyZWFkX2ZyZWVyZXNfZm4iIGFuZCBhZGQgdG8gX19saWJjX3RocmVhZF9zdWJmcmVlcmVzIHNldC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvZ2V0ZXVpZC5jIChfX2dldGV1aWQpOiBUeXBvIGZpeC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9nZXRnaWQuYyAoX19nZXRnaWQpOiBUeXBvIGZpeC4KCjIwMDMtMDItMjEgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGZyb2IuY29tPgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvb3BlbmRpci5jIChfX29wZW5kaXIpOiBVc2UgT19OT05CTE9DSyBpbiBvcGVuLgoKCSogaWNvbnZkYXRhL01ha2VmaWxlICh0ZXN0cyk6IEFkZCBidWctaWNvbnYzIG9ubHkgaWYKCVskKGhhdmUtdGhyZWFkLWxpYnJhcnkpID0geWVzXS4KCjIwMDMtMDItMjEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9zaWdudW0uaCAoX19TSUdSVE1BWCk6IERlZmluZSBhcyBfTlNJRy4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvZ2V0dWlkLmM6IFVzZSBJTlRFUk5BTF9TWVNDQUxMIGFuZCBkbwoJbm90IGNoZWNoayBmb3IgZXJyb3JzICh1bmxlc3MgdGVzdGluZyBmb3IgMzJiaXQgdmFyaWFudCkuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvZ2V0Z2lkLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2dldGV1aWQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvZ2V0ZWdpZC5jOiBMaWtld2lzZS4KCjIwMDMtMDItMjEgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy94ODZfNjQvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9yZWxhKSA8Ul9YODZfNjRfUEMzMj46CglDaGVjayBmb3Igc2lnbmVkIG92ZXJmbG93LCBub3QgdW5zaWduZWQuCgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvZWxmL2NvbmZpZ3VyZS5pbjogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvTWFrZWZpbGUgKHN5c2RlcC1DRkxBR1MpOgoJVXNlIC1mY2FsbC11c2VkLWc2LCBub3QgLWZjYWxsLXVzZWQtZzcuCgoyMDAzLTAyLTIxICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3g4Nl82NC9mcHUvZmVzZXRlbnYuYyAoZmVzZXRlbnYpOiBGaXggc2V0dGluZyBvZiBkZWZhdWx0Cgltb2RlLgoKCSogc3lzZGVwcy94ODZfNjQvZnB1L2ZzZXRleGNwdGZsZy5jIChmZXNldGV4Y2VwdGZsYWcpOiBEbyBub3QKCWNsZWFyIHdob2xlIG14Y3NyIGJ1dCBvbmx5IGV4Y2VwdGlvbnMuCgoyMDAzLTAyLTIxICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogTWFrZXJ1bGVzOiBGaWx0ZXIgJChpbnN0YWxsLWxpYi1sZHNjcmlwdHMpIG91dCBvZiBsaXN0IG9mIHRhcmdldHMKCWZvciBsaWJmb28uc28gdGhhdCBuZWVkICQobWFrZS1saW5rKSBydWxlcy4KCjIwMDMtMDItMjEgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGZyb2IuY29tPgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvYml0cy90eXBlc2l6ZXMuaCAoX19ERVZfVF9UWVBFKTogVXNlIF9fVTMyX1RZUEUKCXRvIG1hdGNoIGV4aXN0aW5nIHN0cnVjdCBzdGF0IGxheW91dCBpbiBtaWcgcHJvdG9jb2xzLgoKMjAwMy0wMi0yMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiB2ZXJzaW9uLmggKFZFUlNJT04pOiBCdW1wIHRvIDIuMy4yLgoKCSogZWxmL01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIHJlbGRlcDkuYywgdHN0LWFycmF5MS5leHAsCgl0c3QtYXJyYXkyLmV4cCwgdHN0LWFycmF5NC5leHAsIHRzdC1hcnJheTJkZXAuYywgY2hlY2stdGV4dHJlbC5jLAoJYW5kIGRsLXN5c2RlcC5oLgoJKiBzeXNkZXBzL2dlbmVyaWMvRGlzdDogQWRkIHN5c2RlcC1jYW5jZWwuaC4KCSogc3lzZGVwcy9wb3dlcnBjL25vZnB1L0Rpc3Q6IEFkZCBzb2Z0LXN1cHAuaC4KCSogc3lzZGVwcy91bml4L0Rpc3Q6IEFkZCBzLXByb3RvLWJwLlMgYW5kIHMtcHJvdG8tY2FuY2VsLlMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L0Rpc3Q6IEFkZCBwYXRoY29uZi5oLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L0Rpc3Q6IEFkZCBicC10aHVuay5oLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGM2NC9EaXN0OiBBZGQgZmVfbm9tYXNrLmMgYW5kCgl1Y29udGV4dF9pLmguCgkqIE1ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIGluY2x1ZGUvc3R1YnMtcHJvbG9ndWUuaCwKCWluY2x1ZGUvZ251L3N0dWJzLmgsIHNjcmlwdHMvbWVyZ2UtYWJpbGlzdC5hd2ssIGFuZAoJc2NyaXB0cy9leHRyYWN0LWFiaWxpc3QuYXdrLgoKMjAwMy0wMi0yMCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIG1hdGgvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBEb24ndCBhZGQgZ2VuZXJhdGVkIGZpbGVzLgoKMjAwMy0wMi0yMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBtYXRoL01ha2VmaWxlOiBSZWFycmFuZ2UgdmFyaWFibGUgZGVmaW5pdGlvbnMgc2xpZ2h0bHkgdG8gZ2V0CglkZWZpbml0aW9uIGluIHRoZSByaWdodCBvcmRlci4KCjIwMDMtMDItMjAgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBNYWtlcnVsZXM6IENsZWFuIHVwIGNvbmRpdGlvbmFsIGFyb3VuZCBpbmNsdWRlIG9mIHRscy5tYWtlLgoJKiBNYWtlLWRpc3Q6IEV4cG9ydCBnZW5lcmF0aW5nPXQgdG8gcHJldmVudCB1c2luZyB0aGF0LgoJKCtkaXN0aW5mbyk6IExpa2V3aXNlIGZvciAkKHNoZWxsICQoTUFLRSkgLi4uKSBydW5zLgoKMjAwMy0wMi0yMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpbmV0L3JjbWQuYyAocnJlc3Zwb3J0X2FmKTogQXZvaWQgdXNpbmcgaW52bGlhZCB2YWx1ZXMuICBXcmFwCglhcm91bmQgaW4gc2VhcmNoIGlmIHBvcnQgSVBQT1JUX1JFU0VSVkVELzIgaGFzIGJlZW4gdGVzdC4KCjIwMDMtMDItMjAgIFBhb2xvIEJvbnppbmkgIDxib256aW5pQGdudS5vcmc+CgoJKiBwb3NpeC9yZWdjb21wLmM6IFJlbW92ZSBpbmNsdXNpb25zLgoJKiBwb3NpeC9yZWdleGVjLmM6IExpa2V3aXNlLgoJKiBwb3NpeC9yZWdleF9pbnRlcm5hbC5jOiBMaWtld2lzZS4KCSogcG9zaXgvcmVnZXhfaW50ZXJuYWwuaDogQWRkIGluY2x1c2lvbnMgaGVyZS4KCSogcG9zaXgvcmVnZXguYzogT25seSBpbmNsdWRlIHN5cy90eXBlcy5oIGJlZm9yZSByZWdleC5oLiAgSW5jbHVkZQoJcmVnZXhfaW50ZXJuYWwuaCBoZXJlLiAgSW5jbHVkZSByZWdleF9pbnRlcm5hbC5jIGJlZm9yZSByZWdjb21wLmMKCWFuZCByZWdleGVjLmMgKG1pZ2h0IGV4cG9zZSBtb3JlIG9wcG9ydHVuaXRpZXMgdG8gdGhlIEMgY29tcGlsZXIpLgoKCSogcG9zaXgvcmVnY29tcC5jIChwYXJzZV9leHByZXNzaW9uKTogRml4IGNvbnN0cnVjdCByZWplY3RlZCBieSBTR0kgQ0MuCgoJKiBwb3NpeC9yZWdleF9pbnRlcm5hbC5oIFshX0xJQkNdIChfX21lbXBjcHkpOiBGaXggdHlwby4KCVshX0xJQkNdIChfX3djcnRvbWIpOiBOZXcgZGVmaW5pdGlvbi4KCVshX0xJQkNdOiBDb25kaXRpb25hbGl6ZSBlbmFibGluZyBvZiBJMThOIG9uIEhBVkVfV0NTQ09MTCBhbmQKCUhBVkVfTE9DQUxFX0ggYXMgd2VsbC4KCjIwMDMtMDItMjAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvdGNzZXRhdHRyLmMgKHRjc2V0YXR0cik6IFJlbW92ZSBvYnNvbGV0ZQoJcGF0Y2ggdG8gY2hlY2sgZm9yIHN5c3RlbSBjYWxsIGVycm9ycy4KCjIwMDItMDctMjQgIFBoaWxpcCBCbHVuZGVsbCAgPHBoaWxiQGdudS5vcmc+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vaW9wZXJtLmMgKGluaXRfaW9zeXMpOiBZaWVsZCBFTk9ERVYKCW9uIHVua25vd24gc3lzdGVtcy4KCjIwMDMtMDItMjAgIEZyYW56IFNpcmwgIDxGcmFuei5TaXJsLWtlcm5lbEBsYXV0ZXJiYWNoLmNvbT4KCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvYXRvbWljaXR5Lmg6IFJlbW92ZSBjb21waWxlciB3b3JrYXJvdW5kLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9rZXJuZWwtZmVhdHVyZXMuaAoJKF9fQVNTVU1FX05FV19QUkNUTF9TWVNDQUxMKTogRGVmaW5lZCBmb3IgcHBjMzIgdG9vLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGMzMi9mZV9ub21hc2suYzogVXNlIHByY3RsCglpZiBwb3NzaWJsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjMzIvdmZvcmsuUzogQXZvaWQgc2hvcnQKCWludGVycHJvY2VkdXJlIGJyYW5jaGVzLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9EaXN0IChzaW0tZnVsbC5jLCBmZW52X2NvbnN0LmMpOiBNb3ZlIHRvLi4uCgkqIHN5c2RlcHMvcG93ZXJwYy9ub2ZwdS9EaXN0OiAuLi5oZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL0Rpc3QgKGZlX25vbWFzay5jKTogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGMzMi9EaXN0OiAuLi5oZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvRGlzdCAoa2VybmVsX3N0YXQuaCk6IERlbGV0ZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvRGlzdCAoYml0cy91dG1weC5oKTogRGVsZXRlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvRGlzdCAoYml0cy91dG1weC5oKTogRGVsZXRlLgoKMjAwMy0wMi0xOCAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvc3lzZGVwLmggKEhJRERFTl9KVU1QVEFSR0VUKTogUmVkZWZpbmUuCgoyMDAzLTAyLTIwICBQaGlsaXAgQmx1bmRlbGwgIDxwaGlsYkBnbnUub3JnPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL3N5c2RlcC5oIChJTkxJTkVfU1lTQ0FMTCk6IEFkZAoJbWlzc2luZyBhcmd1bWVudHMgdG8gSU5URVJOQUxfU1lTQ0FMTF9FUlJPUl9QIGFuZAoJSU5URVJOQUxfU1lTQ0FMTF9FUlJOTy4KCjIwMDMtMDItMjAgIE1hcnRpbiBTY2h3aWRlZnNreSAgPHNjaHdpZGVmc2t5QGRlLmlibS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtMzIvY2hvd24uYyAoX19yZWFsX2Nob3duKTogVGVzdAoJZm9yIF9fQVNTVU1FXzMyQklUVUlEUy4KCjIwMDMtMDItMjAgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tNjhrL2JpdHMvbW1hbi5oOiBBZGQgTUFEVl8qIGFuZAoJUE9TSVhfTUFEVl8qIGNvbnN0YW50cy4KCjIwMDMtMDItMjAgIEtheiBLb2ppbWEgIDxra29qaW1hQHJyLmlpajR1Lm9yLmpwPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvcHJlYWQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3ByZWFkNjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3B3cml0ZS5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvcHdyaXRlNjQuYzogTmV3IGZpbGUuCgoyMDAzLTAyLTE5ICBKaXJvIFNla2liYSAgPGppckB5YW1hdG8uaWJtLmNvbT4KCgkqIGljb252ZGF0YS91dGYtMTYuYyAoZ2NvbnZfZW5kKTogRml4IHJhbmdlIG9mIGxvdyBzdXJyb2dhdGUuCgoyMDAzLTAyLTE2ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogc2lnbmFsL3NpZ25hbC5oOiBJbmNsdWRlIDxzeXMvdWNvbnRleHQuaD4sIG5vdCA8dWNvbnRleHQuaD4uCgoyMDAzLTAyLTE5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN0ZGxpYi9zdHJ0b2QuYyAoSU5URVJOQUwpOiBVcCB0aGUgc2FmZXR5IG1hcmdpbiBmb3IgY3V0dGluZyBvZmYKCWRlY2ltYWwgaW5wdXQgZGlnaXRzLgoJKiBzdGRsaWIvdHN0LXN0cnRvZC5jIChtYWluKTogQWRkIHRlc3QgZm9yIHN0cnRvZiBidWcuCgoyMDAzLTAyLTE4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3R0eW5hbWVfci5jIChfX3R0eW5hbWVfcik6IFJlY29nbml6ZQoJaW52YWxpZCBmaWxlIGRlc2NyaXB0b3JzIGFuZCBtaXNzaW5nIGFjY2VzcyBwZXJtaXNzaW9ucy4KCjIwMDMtMDItMTcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbnNzL2dldFhYYnlZWV9yLmMgKFJFRU5UUkFOVF9OQU1FKTogUmV0dXJuIDAgaWYgbm8gZW50cnkgaGFzCgliZWVuIGZvdW5kLgoKCSogc3lzZGVwcy9wb3NpeC9zeXNjb25mLmMgKF9fc3lzY29uZik6IFRlc3QgZm9yIExPR0lOX05BTUVfTUFYIGFuZAoJVFRZX05BTUVfTUFYIGFuZCBub3QgdGhlIF9QT1NJWF8qIG1pbmltYWwgdmFsdWUgbWFjcm9zLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL2xvY2FsX2xpbS5oOiBEZWZpbmUgVFRZX05BTUVfTUFYCglhbmQgTE9HSU5fTkFNRV9NQVguCgoyMDAzLTAyLTE3ICBLZXZpbiBCLiBIZW5kcmlja3MgIDxrZXZpbi5oZW5kcmlja3NAc3ltcGF0aWNvLmNhPgoJICAgIEZyYW56IFNpcmwgIDxGcmFuei5TaXJsLWtlcm5lbEBsYXV0ZXJiYWNoLmNvbT4KCgkqIHN5c2RlcHMvcG93ZXJwYy9lbGYvbGliYy1zdGFydC5jOiBIYW5kbGUgTk9OVExTX0lOSVRfVFAuCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvX19sb25nam1wLlM6IFJlbW92ZSBSMiBoYW5kbGluZy4KCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGMzMi9zZXRqbXAuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvZnB1L19fbG9uZ2ptcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGMzMi9mcHUvc2V0am1wLlM6IExpa2V3aXNlLgoKMjAwMy0wMi0xNyAgRnJhbnogU2lybCAgPEZyYW56LlNpcmwta2VybmVsQGxhdXRlcmJhY2guY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9mdHJ1bmNhdGU2NC5jOiBEZWxldGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvdHJ1bmNhdGU2NC5jOiBEZWxldGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcHJlYWQ2NC5jOiBEZWxldGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcHJlYWQuYzogRGVsZXRlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3B3cml0ZTY0LmM6IERlbGV0ZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wd3JpdGUuYzogRGVsZXRlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9mZV9ub21hc2suYzogTW92ZSBmaWxlLi4uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzMyL2ZlX25vbWFzay5jOiAuLi5oZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2dsb2I2NC5jOiBNb3ZlIGZpbGUuLi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjMzIvZ2xvYjY0LmM6IC4uLmhlcmUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC90Y2dldGF0dHIuYzogVXNlIElOTElORV9TWVNDQUxMLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC90Y3NldGF0dHIuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvdGNnZXRhdHRyLmM6IERlbGV0ZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy90Y3NldGF0dHIuYzogRGVsZXRlLgoKMjAwMy0wMi0xNCAgVGhvcnN0ZW4gS3VrdWsgIDxrdWt1a0BzdXNlLmRlPgoKCSogbnNzL2dldGVudC5jIChwcmludF9ob3N0cyk6IFByaW50IGFsbCBJUCBhZGRyZXNzZXMgb2Ygb25lIGhvc3QuCgoyMDAzLTAyLTE1ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEBmcm9iLmNvbT4KCgkqIHN5c2RlcHMvbWFjaC9odXJkL3Rscy5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9tYWNoL2h1cmQvaTM4Ni90bHMuaDogTmV3IGZpbGUuCgoJKiBtYWNoL2VycnN5c3RlbXMuYXdrOiBJbmNsdWRlIDxlcnJuby5oPiBpbiBnZW5lcmF0ZWQgb3V0cHV0LgoKCSogc3lzZGVwcy9tYWNoL01ha2VmaWxlIChtYWNoLWJlZm9yZS1jb21waWxlIHJ1bGUpOiBQYXNzIGdlbmVyYXRpbmc9dCwKCXVzZSB0YXJnZXQgbWFjaC1iZWZvcmUtY29tcGlsZSBpbnN0ZWFkIG9mIGdlbmVyYXRlZC4KCShtYWNoLWJlZm9yZS1jb21waWxlKTogTmV3IHRhcmdldC4KCSogTWFrZXJ1bGVzOiBEaXNhYmxlIHVzZSBvZiB0bHMubWFrZSBpZiAkKGdlbmVyYXRpbmcpIGlzIHNldC4KCSogbWFjaC9NYWtlZmlsZTogSW5jbHVkZSBtYWNoLXN5c2NhbGxzLm1rIGV2ZW4gaWYgbm9fZGVwcz10LgoJKiBzeXNkZXBzL21hY2gvaHVyZC9NYWtlZmlsZTogTWFrZSBnZW5lcmF0ZWQgaHVyZCBoZWFkZXJzIGRlcGVuZCBvbgoJbWFjaC1zaG9ydGN1dHMuaCBzbyBtYWNoLyBnZW5lcmF0aW9uIGhhcHBlbnMgYmVmb3JlIGh1cmQvLgoKMjAwMy0wMi0xNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2kzODYvZnB1L3NfbmV4dGFmdGVybC5jOiBEZWNyZW1lbnQgaGlnaCB3b3JkIG9mIG1hbnRpc3NhCglvZiBkZW1vcm0gY29ycmVjdGx5IGlmIGxvdyB3b3JkIGlzIHplcm8uCglSZXBvcnRlZCBieSBGcmVkIEouIFR5ZGVtYW4gPHR5ZGVtYW5AdHlib3IuY29tPi4KCSogbWF0aC9saWJtLXRlc3QuaW5jIChuZXh0YWZ0ZXJfdGVzdCk6IE5ldyB0ZXN0LCBidXQgZGlzYWJsZWQgZHVlCgl0byBnY2MgYnVnLgoKCSogc3lzZGVwcy9nZW5lcmljL2xpYmMtc3RhcnQuYyBbSEFWRV9QVFJfTlRIUkVBRFNdOiBEZWNyZW1lbnQgdGhyZWFkCgljb3VudGVyIGFuZCBvbmx5IGNhbGwgX19leGl0X3RocmVhZCBpZiB0aGlzIGlzIG5vdCB0aGUgbGFzdCB0aHJlYWQuCgoyMDAzLTAyLTEzICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvYWxwaGEvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9yZWxhKTogQWRkIGluc3RlYWQgb2YKCXN1YnRyYWN0aW5nIG1hcC0+bF90bHNfb2Zmc2V0LgoKMjAwMy0wMi0xMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy9jb25mbmFtZS5oOiBEZWZpbmUgX0NTX0dOVV9MSUJDX1ZFUlNJT04gYW5kCglfQ1NfR05VX0xJQlBUSFJFQURfVkVSU0lPTi4KCSogcG9zaXgvY29uc3RzdHIuYzogSGFuZGxlIHRoZXNlIG5ldyB2YWx1ZXMuCgkqIHBvc2l4L2dldGNvbmYuYzogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL21pcHMvZGwtbWFjaGluZS5oIChFTEZfTUFDSElORV9SVU5USU1FX1RSQU1QT0xJTkUpOiBGaXgKCW1hc2tpbmcgb2YgdmVyc2lvbiBpbmRleC4KCVBhdGNoIGJ5IExhbmNlIExhcnNoIDxMYW5jZS5MYXJzaEBvcmFjbGUuY29tPi4KCjIwMDMtMDItMTEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbnNzL25zc19maWxlcy9maWxlcy1ob3N0cy5jIChIT1NUX0RCX0xPT0tVUCk6IENvbXB1dGUgYWxpZ25tZW50Cgljb3JyZWN0bHkuICBSZXBvcnRlZCBieSBUaG9yc3RlbiBLdWt1ay4KCjIwMDMtMDItMTAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZWxmL01ha2VmaWxlIChjaGVjay10ZXh0cmVsLUNGTEFHUyk6IFBhc3MgX1hPUEVOX1NPVVJDRSBhbmQKCV9CU0RfU09VUkNFIHRvIGNvbXBpbGVyLgoJKiBlbGYvY2hlY2stdGV4dHJlbC5jIChTV0FQKTogQWRkIHBhcmVudGhlc2lzIHRvIGF2b2lkIHdhcm5pbmdzLgoJUGF0Y2hlcyBieSBBbGFuIE1vZHJhLgoKMjAwMy0wMi0wOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpby9mdHd0ZXN0LmM6IEdldCBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IGJlZm9yZSBhbmQgYWZ0ZXIgdGhlCgluZnR3IGNhbGwgYW5kIG1ha2Ugc3VyZSB0aGV5IG1hdGNoLgoKMjAwMy0wMi0wOCAgSmltIE1leWVyaW5nICA8amltQG1leWVyaW5nLm5ldD4KCgkqIGlvL2Z0dy5jIChmdHdfc3RhcnR1cCk6IFdoZW4gdXNpbmcgRlRXX0NIRElSLCBhbHdheXMgcmVtZW1iZXIKCXRoZSBjdXJyZW50IGRpcmVjdG9yeSwgbm90IGp1c3Qgd2hlbiBESVIgY29udGFpbnMgYSBzbGFzaC4KCVJlcG9ydGVkIGJ5IE1hbm9qIFNyaXZhc3RhdmEuCgoyMDAzLTAyLTA3ICBKaW0gTWV5ZXJpbmcgIDxqaW1AbWV5ZXJpbmcubmV0PgoKCSogaW8vZnR3LmM6IEFkZCBhdXRvY29uZi1yZWNvbW1lbmRlZCBibG9jayBvZiBhbGxvY2EtcmVsYXRlZCBjb2RlLgoJSW5jbHVkZSBhdXRvY29uZi1yZWNvbW1lbmRlZCBibG9jayBvZiBkaXJlbnQvTkFNRUxFTi1yZWxhdGVkCglkZWZpbml0aW9ucyBhbmQgaW5jbHVkZXMuICBVc2UgTkFNRUxFTiB0aHJvdWdob3V0LCByYXRoZXIgdGhhbgoJX0RfRVhBQ1RfTkFNTEVOLgoJW19MSUJDXTogRGVmaW5lIE5BTUVMRU4gdG8gX0RfRVhBQ1RfTkFNTEVOLgoJWyFfTElCQ10gKF9fZ2V0Y3dkKTogRGVmaW5lIHRvIHhnZXRjd2QgYW5kIGRlY2xhcmUgeGdldGN3ZC4KCShzdHBjcHkpOiBEZWNsYXJlLCBpZiBuZWNlc3NhcnkuCgkobWVtcGNweSk6IERlZmluZSwgaWYgbmVjZXNzYXJ5LgoJWyFfTElCQ10gKF9fc3RwY3B5LCBfX21lbXBjcHkpOiBEZWZpbmUuCglbIV9MSUJDXSAoTFhTVEFULCBYU1RBVCk6IERlZmluZS4KCShsc3RhdCkgWyFMSUJDICYmICFMU1RBVF9GT0xMT1dTX1NMQVNIRURfU1lNTElOS106IERlZmluZSB0byBycGxfbHN0YXQuCgkoZmluZF9vYmplY3QpOiBEb24ndCB1c2UgYzk5LXN0eWxlIHN0cnVjdCBpbml0aWFsaXplci4KCVR3ZWFrIHdvcmRpbmcgaW4gYSBjb3VwbGUgY29tbWVudHMuCgoyMDAzLTAyLTA3ICBLYXogS29qaW1hICA8a2tvamltYUByci5paWo0dS5vci5qcD4KCgkqIGVsZi90bHMtbWFjcm9zLmg6IEFkZCBub24tUElDIFRMUyBtYWNyb3MgYW5kIGZpeCBjbG9iYmVyIGxpc3QKCWZvciBTSC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvYnJrLmM6IEFkZCBTWVNDQUxMX0lOU1RfUEFECglhZnRlciB0aGUgdHJhcGEgaW5zdHJ1Y3Rpb24uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL2Nsb25lLlMgKF9fY2xvbmUpOiBBZGQgYWRkaXRpb25hbAoJcGFyYW1ldGVycy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvc2g0L3N5c2RlcC5oOiBOZXcgZmlsZS4KCShORUVEX1NZU0NBTExfSU5TVF9QQUQpOiBEZWZpbmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3N5cy91c2VyLmggKHN0YXJ0X3RocmVhZCk6IFVuZGVmIHRvCglhdm9pZCB0byB1c2UgZGVmaW5pdGlvbiBmb3IgdGhlIGtlcm5lbC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvc3lzZGVwLmggKFNZU0NBTExfRVJST1JfSEFORExFUik6CglTYXZlIGFuZCByZXN0b3JlIHRoZSBmcmFtZSBwb2ludGVyLgoJKFNZU0NBTExfSU5TVF9QQUQpOiBEZWZpbmUuCgkoSU5MSU5FX1NZU0NBTEwpOiBNYWtlIHVzZSBvZiBJTlRFUk5BTF9TWVNDQUxMLgoJKElOVEVSTkFMX1NZU0NBTEwpOiBNYWtlIHVzZSBvZiBFUlIgcGFyYW1ldGVyLiBBZGQgU1lTQ0FMTF9JTlNUX1BBRAoJYWZ0ZXIgdHJhcGEgaW5zdHJ1Y3Rpb24uCgkoSU5URVJOQUxfU1lTQ0FMTF9ERUNMLCBJTlRFUk5BTF9TWVNDQUxMX0VSUk5PLAoJSU5URVJOQUxfU1lTQ0FMTF9FUlJPUl9QKTogQWRqdXN0IGFjY29yZGluZ2x5LgoKMjAwMy0wMi0wNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiByZXNvbHYvcmVzX2xpYmMuYyAoX3Jlcyk6IEVuc3VyZSBfcmVzIGlzIG5vdCBjb21tb24gc3ltYm9sLAoJc28gdGhhdCBpdCBjYW4gaGF2ZSBhbGlhc2VzLgoJKiBpbmV0L2hlcnJuby5jIChoX2Vycm5vKTogUHV0IGl0IGludG8gLmJzcyBub3QgLmRhdGEgc2VjdGlvbi4KCjIwMDMtMDItMDcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZWxmL2RsLXJ1bnRpbWUuYyAoZml4dXApOiBDb3JyZWN0IHR5cG8gaW4gdmVyc2lvbiBpbmRleCBjb21wdXRhdGlvbi4KCShwcm9maWxlX2ZpeHVwKTogTGlrZXdpc2UuCglQYXRjaCBieSBMYW5jZSBMYXJzaCA8TGFuY2UuTGFyc2hAb3JhY2xlLmNvbT4uCgoyMDAyLTExLTI0ICBSb2JlcnQgTG92ZSAgPHJtbEB0ZWNoOS5uZXQ+CgoJKiBwb3NpeC9zY2hlZC5oOiBTZWNvbmQgcGFyYW1ldGVyIG9mIHNjaGVkX3NldGFmZmluaXR5IGFuZAoJc2NoZWRfZ2V0YWZmaW5pdHkgaXMgYHVuc2lnbmVkIGludCcsIG5vdCBgdW5zaWduZWQgbG9uZycuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zY2hlZF9zZXRhZmZpbml0eS5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL3NjaGVkX2dldGFmZmluaXR5LmM6IExpa2V3aXNlLgoKMjAwMy0wMi0wNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBkZWJ1Zy9jYXRjaHNlZ3Yuc2g6IEZpeCB0eXBvIGluIGVycm9yIG1lc3NzYWdlLgoJUmVwb3J0ZWQgYnkgSm9obiBMZXZvbiA8bGV2b25AbW92ZW1lbnRhcmlhbi5vcmc+LgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG9zaXhfZmFkdmlzZS5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzY2FsbHMubGlzdDogQWRkIHBvc2l4X2ZhZHZpc2U2NCBzeXNjYWxsLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9zeXNjYWxscy5saXN0OiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zeXNjYWxscy5saXN0OiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjNjQvc3lzY2FsbHMubGlzdDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9zeXNjYWxscy5saXN0OiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9zeXNjYWxscy5saXN0OiBMaWtld2lzZS4KCgkqIGxpYmlvL3B1dHdjX3UuYzogVXNlIF9JT19wdXR3Y191bmxvY2tlZCwgbm90IF9JT19wdXRjX3VubG9ja2VkLgoJUGF0Y2ggYnkgTW9yaXR6IFNjaHVsdGUgPG1vcml0ekBkdWVzc2VsZG9yZi5jY2MuZGU+LgoKMjAwMy0wMi0wNSAgSmltIE1leWVyaW5nICA8amltQG1leWVyaW5nLm5ldD4KCglGaXggYSBoZWFwLWNvcnJ1cHRpbmcgYnVnLgoJKiBpby9mdHcuYzogSW5jbHVkZSA8bGltaXRzLmg+LgoJKFBBVEhfTUFYKSBbIWRlZmluZWQgUEFUSF9NQVhdOiBEZWZpbmUgdG8gMTAyNC4KCShwcm9jZXNzX2VudHJ5KTogQWxsb2NhdGUgZW5vdWdoIHNwYWNlIHRvIGhvbGQgdGhlIHJlc3VsdGluZwoJZmlsZSBuYW1lLiAgRG9uJ3QgcHJlc3VtZSB0aGF0IDIqZGlyYnVmc2l6ZSBpcyBlbm91Z2guCgkoZnR3X3N0YXJ0dXApOiBBbHdheXMgdXNlIFBBVEhfTUFYIHRvIGNvbXB1dGUgYnVmZmVyIHNpemUsIG5vdyB0aGF0CglpdCBpcyBndWFyYW50ZWVkIHRvIGJlIGRlZmluZWQuCgoyMDAzLTAyLTA0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252ZGF0YS9NYWtlZmlsZTogQWRkIHJ1bGVzIHRvIGJ1aWxkIGFuZCBydW4gYnVnLWljb252My4KCSogaWNvbnZkYXRhL2J1Zy1pY29udjMuYzogTmV3IGZpbGUuCgoyMDAzLTAyLTA0ICBNYXJ0aW4gU2Nod2lkZWZza3kgIDxzY2h3aWRlZnNreUBkZS5pYm0uY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zeXN0ZW0uYzogTmV3IGZpbGUuCgoyMDAzLTAyLTAzICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9lbGYvY29uZmlndXJlLmluIChCUk9LRU5fU1BBUkNfV0RJU1AyMik6IE5ldwoJY2hlY2suCgkqIGNvbmZpZy5oLmluIChCUk9LRU5fU1BBUkNfV0RJU1AyMik6IEFkZC4KCjIwMDMtMDItMDMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9pMzg2L2k2ODYvbWVtbW92ZS5TOiBOZXcgZmlsZS4KCjIwMDMtMDEtMzEgIFN0ZXZlbiBNdW5yb2UgIDxzam11bnJvZUB1cy5pYm0uY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjNjQvZmVfbm9tYXNrLmM6CglJbmNsdWRlIGtlcm5lbC1mZWF0dXJlcy5oCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzY0L2dldGNvbnRleHQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzY0L21ha2Vjb250ZXh0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGM2NC9zZXRjb250ZXh0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGM2NC9zd2FwY29udGV4dC5TOiBMaWtld2lzZS4KCjIwMDMtMDItMDIgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogZWxmL3Rscy1tYWNyb3MuaCBbc3BhcmNdIChUTFNfTEQsIFRMU19HRCk6IEFkZCAiY2MiIGNsb2JiZXJzLgoKMjAwMy0wMS0yNSAgSmltIE1leWVyaW5nICA8amltQG1leWVyaW5nLm5ldD4KCgkqIGlvL2Z0dy5jIChvYmplY3RfY29tcGFyZSk6IENvbXBhcmUgaW5vZGUgbnVtYmVycyBiZWZvcmUgZGV2aWNlCgludW1iZXJzLCBzaW5jZSB0aGUgZm9ybWVyIGFyZSBtdWNoIG1vcmUgbGlrZWx5IHRvIGRpZmZlci4KCjIwMDMtMDItMDEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogdGltZS90emZpbGUuYyAoX190emZpbGVfY29tcHV0ZSk6IENoYW5nZSByZXR1cm4gdmFsdWUgdHlwZSB0bwoJdm9pZC4gIEFkanVzdCByZXR1cm4gc3RhdGVtZW50cy4KCSogaW5jbHVkZS90aW1lLmggKF9fdHpmaWxlX2NvbXB1dGUpOiBBZGp1c3QgcHJvdG90eXBlLgoKMjAwMy0wMi0wMSAgSmltIE1leWVyaW5nICA8amltQG1leWVyaW5nLm5ldD4KCgkqIHRpbWUvdHpzZXQuYyAoX190el9jb252ZXJ0KTogUmVtb3ZlIGRlYWQgY29kZTsgX190emZpbGVfY29tcHV0ZQoJYWx3YXlzIHJldHVybnMgMS4KCjIwMDMtMDEtMzEgIFN0ZXZlbiBNdW5yb2UgIDxzam11bnJvZUB1cy5pYm0uY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjNjQvZmVfbm9tYXNrLmMKCVshX19BU1NVTUVfTkVXX1BSQ1RMX1NZU0NBTExdOiBOb29wIHByY3RsIHN5c2NhbGwgYW5kIHNldCBFTk9TWVMuCgoyMDAzLTAxLTMxICBTdGV2ZW4gTXVucm9lICA8c2ptdW5yb2VAdXMuaWJtLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzY0L2dldGNvbnRleHQuUwoJWyFfX0FTU1VNRV9ORVdfUlRfU0lHUkVUVVJOX1NZU0NBTExdOiBHZW5lcmF0ZSBFTk9TWVMgc3R1Yi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjNjQvbWFrZWNvbnRleHQuUwoJWyFfX0FTU1VNRV9ORVdfUlRfU0lHUkVUVVJOX1NZU0NBTExdOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjNjQvc2V0Y29udGV4dC5TCglbIV9fQVNTVU1FX05FV19SVF9TSUdSRVRVUk5fU1lTQ0FMTF06IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGM2NC9zd2FwY29udGV4dC5TCglbIV9fQVNTVU1FX05FV19SVF9TSUdSRVRVUk5fU1lTQ0FMTF06IExpa2V3aXNlLgoKMjAwMy0wMS0zMSAgU3RldmVuIE11bnJvZSAgPHNqbXVucm9lQHVzLmlibS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jb25maWd1cmUuaW46IENoYW5nZSBhcmNoX21pbmltdW1fa2VybmVsCgliYWNrIHRvIDIuNC4xOSBmb3IgcG93ZXJwYzY0LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9rZXJuZWwtZmVhdHVyZXMuaAoJKF9fQVNTVU1FX05FV19QUkNUTF9TWVNDQUxMKTogRGVmaW5lIGZvciBwb3dlcnBjNjQuCgkoX19BU1NVTUVfTkVXX1JUX1NJR1JFVFVSTl9TWVNDQUxMKTogRGVmaW5lIGZvciBwb3dlcnBjNjQuCgoyMDAzLTAyLTAxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHdjc21icy93Y3NjcHkuYyAod2NzY3B5KTogQWRkIGFsdGVybmF0aXZlIGltcGxlbWVudGF0aW9uIGZvcgoJcGxhdGZvcm1zIHdpdGggc3RyYW5nZSBhbGlnbm1lbnQgcmVxdWlyZW1lbnRzIG9uIHdjaGFyX3QuCgoyMDAzLTAxLTMxICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvc3lzY2FsbHMubGlzdDogUmVtb3ZlIF9fR0lfKgoJYWxpYXNlcywgYWxyZWFkeSBhZGRlZCBieSBtYWtlLXN5c2NhbGxzLnNoLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3N5c2NhbGxzLmxpc3Q6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ocHBhL3N5c2NhbGxzLmxpc3Q6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3N5c2NhbGxzLmxpc3Q6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvc3lzY2FsbHMubGlzdDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvc3lzY2FsbHMubGlzdDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNjYWxscy5saXN0OiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzY2FsbHMubGlzdDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9pbmV0L3N5c2NhbGxzLmxpc3Q6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzY2FsbHMubGlzdDogTGlrZXdpc2UuCgoyMDAzLTAxLTMxICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogc3lzZGVwcy9tNjhrL01ha2VmaWxlIChzeXNkZXAtQ0ZMQUdTKTogRG9uJ3QgZGVmaW5lLCBub3QgbmVlZGVkCglhbnkgbW9yZS4KCjIwMDMtMDEtMzAgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L2Nsb25lLlMgKF9fY2xvbmUpOiBVc2UgbGcsCglub3QgbCB0byBsb2FkIHRscyBmcm9tIHN0YWNrLgoKMjAwMy0wMS0zMCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC10bHMuYyAoX2RsX2FsbG9jYXRlX3Rsc19pbml0KTogTW92ZSBjaGVjayBmb3IKCW51bGwgYXJndW1lbnQgYmVmb3JlIGFsbCBlbHNlLgoJUmVwb3J0ZWQgYnkgTWFydGluIFNjaHdpZGVmc2t5IDxzY2h3aWRlZnNreUBkZS5pYm0uY29tPi4KCjIwMDMtMDEtMzAgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGMzMi9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX2xhenlfcmVsKToKCU1vdmUgdG8gUkVTT0xWRSBwcm90ZWN0ZWQgcGFydCBvZiB0aGUgaGVhZGVyLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzY0L2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfbGF6eV9yZWwpOgoJTGlrZXdpc2UuCgoyMDAzLTAxLTMwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN0ZGlvLWNvbW1vbi9NYWtlZmlsZSAodGVzdHMpOiBBZGQgYnVnMTUuCgkoYnVnMTUtRU5WKTogRGVmaW5lLgoJKiBzdGRpby1jb21tb24vYnVnMTUuYzogTmV3IGZpbGUuCgoyMDAyLTEwLTA3ICBXb2xmcmFtIEdsb2dlciAgPHdnQG1hbGxvYy5kZT4KCgkqIG1hbGxvYy9tYWxsb2MuYyAoc1lTTUFMTE9jKTogT25seSBjaGVjayBmb3IgYnJlYWthZ2UgZHVlCgl0byBmb3JlaWduIHNicmsoKSdzIGlmIGFyZW5hIGlzIGNvbnRpZ3VvdXMuICBCdWcgcmVwb3J0IGZyb20KCUJydW5vIEhhaWJsZSA8YnJ1bm9AY2xpc3Aub3JnPi4KCjIwMDMtMDEtMzAgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9zMzkwL2xpYmMtdGxzLmM6IEluY2x1ZGUgc3RkbGliLmguCgoyMDAzLTAxLTMwICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN0ZGlvLWNvbW1vbi92ZnByaW50Zi5jICh2ZnByaW50Zik6IE9ubHkgc3VidHJhY3QgbG93ZXN0IDMgYml0cyBvZgoJcHMuX19jb3VudC4KCjIwMDMtMDEtMzAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL2Nsb25lLlM6IEZpeCBzdG9yaW5nIGFuZAoJcmVzdG9yaW5nIG9mICVyNi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L2Nsb25lLlM6IExpa2V3aXNlLiAgVXNlCgk2NC1iaXQgbG9hZC4KCVBhdGNoIGJ5IE1hcnRpbiBTY2h3aWRlZnNreSAgPHNjaHdpZGVmc2t5QGRlLmlibS5jb20+LgoKMjAwMy0wMS0zMCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtcmVsb2MuYyAoQ0hFQ0tfU1RBVElDX1RMUyk6IE1vdmUgX2RsX3NpZ25hbF9lcnJvci4uLgoJKGFsbG9jYXRlX3N0YXRpY190bHMpOiAuLi5oZXJlLiAgQWRkIF9fYXR0cmlidXRlX25vaW5saW5lX18uCglEb24ndCByZXR1cm4gb24gZmFpbHVyZS4KCShfZGxfcmVsb2NfYmFkX3R5cGUpOiBBZGQgX19hdHRyaWJ1dGVfbm9pbmxpbmVfXy4KCSogZWxmL2RvLXJlbC5oIChlbGZfZHluYW1pY19kb19yZWwpOiBBZGQKCV9fYXR0cmlidXRlX18oKGFsd2F5c19pbmxpbmUpKS4KCSogZWxmL2R5bmFtaWMtbGluay5oIChlbGZfbWFjaGluZV9yZWwsIGVsZl9tYWNoaW5lX3JlbGEsCgllbGZfbWFjaGluZV9yZWxfcmVsYXRpdmUsIGVsZl9tYWNoaW5lX3JlbGFfcmVsYXRpdmUsCgllbGZfbWFjaGluZV9sYXp5X3JlbCk6IEFkZCBwcm90b3R5cGVzIHdpdGgKCV9fYXR0cmlidXRlX18oKGFsd2F5c19pbmxpbmUpKS4KCjIwMDMtMDEtMjkgIERhdmlkIE1vc2JlcmdlciAgPGRhdmlkbUBocGwuaHAuY29tPgoKCSogZWxmL2RsLXN1cHBvcnQuYyAoX2RsX2F1eF9pbml0KTogSGFuZGxlIEFUX1NZU0lORk8uCgoyMDAzLTAxLTI5ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmluOiBCYXJmIGlmIGNvbmZpZ3VyZWQgaW4gJHNyY2Rpci4KCjIwMDMtMDEtMjggIFN0ZXZlbiBNdW5yb2UgIDxzam11bnJvZUB1cy5pYm0uY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjNjQvZmVfbm9tYXNrLmMKCShfX2ZlX25vbWFza19lbnYpOiBDaGFuZ2UgX19wcmN0bCBjYWxsIHRvIElOVEVSTkFMX1NZU0NBTEwuCgoyMDAzLTAxLTI4ICBNYXJ0aW4gU2Nod2lkZWZza3kgIDxzY2h3aWRlZnNreUBkZS5pYm0uY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL2Nsb25lLlM6IFJlb3JkZXIgYWRkaXRpb25hbAoJY2xvbmUgcGFyYW1ldGVycyB0byBtYXRjaCB0aGUgb3JkZXIgdXNlZCBvbiBpYTMyLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvY2xvbmUuUzogTGlrZXdpc2UuCgoyMDAzLTAxLTI3ICBNYXJ0aW4gU2Nod2lkZWZza3kgIDxzY2h3aWRlZnNreUBkZS5pYm0uY29tPgoKCSogZWxmL2VsZi5oOiBBZGQgbmV3IHMzOTAgcmVsb2NzLgoJKiBlbGYvdGxzLW1hY3Jvcy5oOiBBZGQgczM5MCB2ZXJzaW9ucy4KCSogc3lzZGVwcy9zMzkwL1ZlcnNpb25zIFtHTElCQ18yLjNdIChsZCk6IEV4cG9ydCBfX3Rsc19nZXRfb2Zmc2V0LgoJKiBzeXNkZXBzL3MzOTAvZGwtdGxzLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvbGliYy10bHMuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9zMzkwLTMyL2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfdHlwZV9jbGFzcyk6IEFkZCBUTFMKCXJlbG9jcyBmb3IgY2xhc3MgUExULgoJKGVsZl9tYWNoaW5lX3JlbGEpOiBIYW5kbGUgVExTIHJlbG9jcy4KCSogc3lzZGVwcy9zMzkwL3MzOTAtNjQvZGwtbWFjaGluZS5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zMzkwL3MzOTAtMzIvZWxmL2NvbmZpZ3VyZS5pbjogQWRkIFRMUyBjaGVjay4KCSogc3lzZGVwcy9zMzkwL3MzOTAtNjQvZWxmL2NvbmZpZ3VyZS5pbjogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC0zMi9jbG9uZS5TOiBBZGQgc3VwcG9ydCBmb3IKCUNMT05FX0NISUxEXypUSUQgZmxhZ3MuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9jbG9uZS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L21tYXAuUzogVXNlIGJyYW5jaCB3aXRoIDMyCgliaXQgb2Zmc2V0LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvc29ja2V0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvc3lzY2FsbC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL3N5c2RlcC5TIChfX3N5c2NhbGxfZXJyb3IpOgoJU3VwcG9ydCBVU0VfX19USFJFQUQuIERlZmluZSBSVExEX1BSSVZBVEVfRVJSTk8gdmFyaWFudC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L3N5c2RlcC5TIChfX3N5c2NhbGxfZXJyb3IpOgoJTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC0zMi9zeXNkZXAuaDoKCShTWVNDQUxMX0VSUk9SX0xBQkVMKTogTW92ZSBkZWZpbmUgbmV4dCB0byBTWVNDQUxMX0VSUk9SX0hBTkRMRVIuCgkoU1lTQ0FMTF9FUlJPUl9IQU5ETEVSKTogQWRkIFVTRV9fX1RIUkVBRCBhbmQgUlRMRF9QUklWQVRFX0VSUk5PCgl2YXJpYW50cy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L3N5c2RlcC5oOgoJKFNZU0NBTExfRVJST1JfTEFCRUwpOiBNb3ZlIGRlZmluZSBuZXh0IHRvIFNZU0NBTExfRVJST1JfSEFORExFUi4gVXNlCglkaXJlY3QgYnJhbmNoIHRvIHN5c2NhbGxfZXJyb3IgZm9yICFQSUMgYW5kIFBJQyAmJiAhX0xJQkNfUkVFTlRSQU5ULgoJKFNZU0NBTExfRVJST1JfSEFORExFUik6IEFkZCBVU0VfX19USFJFQUQgYW5kIFJUTERfUFJJVkFURV9FUlJOTwoJdmFyaWFudHMuCgoyMDAzLTAxLTI4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9jb21tb24vcGF1c2UuYyAoZG9fcGF1c2UpOiBOZXcgZnVuY3Rpb24uICBTcGxpdAoJZnJvbSBfX2xpYmNfcGF1c2UuICBJbXBsZW1lbnQgdXNpbmcgc2lnc3VzcGVuZC4KCShfX2xpYmNfcGF1c2UpOiBDYWxsIGRvX3BhdXNlIHRvIGRvIHRoZSByZWFsIHdvcmsuCgoJKiBzeXNkZXBzL3Bvc2l4L3NpZ3BhdXNlLmMgKGRvX3NpZ3BhdXNlKTogQ2hlY2sgcmFuZ2Ugb2YKCXNpZ19vcl9tYXNrIHBhcmFtZXRlciBpcyBpc19zaWcgIT0gMC4KCjIwMDMtMDEtMjEgIFBoaWxpcCBCbHVuZGVsbCAgPHBoaWxiQGdudS5vcmc+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL2lvY3Rscy5oIChTSU9DU0lGTkFNRSk6IERlZmluZS4KCjIwMDMtMDEtMjcgIFN0ZXZlbiBNdW5yb2UgIDxzam11bnJvZUB1cy5pYm0uY29tPgoKCSogc3RkaW8tY29tbW9uL01ha2VmaWxlOiBBZGQgYnVnMTQtRU5WIHRvIHNldCBMT0NQQVRIIGZvciBtYWtlIGNoZWNrLgoKMjAwMy0wMS0yNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzdGRpby1jb21tb24vYnVnMTQuYzogVXNlIG9mZmljaWFsIG5hbWUgZm9yIHRoZSBsb2NhbGUuCgoJKiBzdGRpby1jb21tb24vdmZwcmludGYuYyBbVVNFX0lOX0xJQklPXTogVXNlIF9JT19jbGVhbnVwX3JlZ2lvbl9zdGFydAoJaW5zdGVhZCBvZiBfX2xpYmNfY2xlYW51cF9yZWdpb25fc3RhcnQgYW5kIF9JT19jbGVhbnVwX3JlZ2lvbl9lbmQKCWluc3RlYWQgb2YgX19saWJjX2NsZWFudXBfcmVnaW9uX2VuZC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc3lzdGVtLmMgKENMRUFOVVBfSEFORExFUik6IFBhc3MgMQoJYXMgZmlyc3QgcGFyYW1ldGVyIHRvIF9fbGliY19jbGVhbnVwX3JlZ2lvbl9zdGFydC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzY0L2ZlX25vbWFzay5jCgkoX19mZV9ub21hc2tfZW52KTogVXNlIF9fcHJjdGwgbm90IHByY3RsLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXNjYWxscy5saXN0OiBBZGQgX19wcmN0bCBhbGlhcyBmb3IKCXByY3RsIHN5c2NhbGwuCgoJKiBlbGYvZGwtcmVsb2MuYyAoQ0hFQ0tfU1RBVElDX1RMUyk6IEltcHJvdmUgZXJyb3IgbWVzc2FnZS4KCgkqIGVsZi9kbC1vcGVuLmMgKF9kbF90bHNfc3RhdGljX3NpemUpOiBCdW1wIHRvIDIwNDguCgoJKiBlbGYvZGwtcmVsb2MuYyAoYWxsb2NhdGVfc3RhdGljX3Rscyk6IEF2b2lkIGFyaXRobWV0aWMKCXdyYXAtYXJvdW5kIGluIHRlc3QuCgoyMDAzLTAxLTI2ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogc3lzZGVwcy93b3Jkc2l6ZS0zMi9kaXZkaTMuYzogRXhwb3J0IHRoZSBmdW5jdGlvbnMgb25seSBhcwoJY29tcGF0aWJpbGl0eSBzeW1ib2xzLiAgUmVtb3ZlIElOVERFRiBmb3IgX19kaXZkaTMuCgkqIHN5c2RlcHMvd29yZHNpemUtMzIvbGxkaXYuYzogRG9uJ3QgdXNlIF9fZGl2ZGkzX2ludGVybmFsLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL2RpdmRpMy5jOiBSZW1vdmUuCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvTWFrZWZpbGUgKENQUEZMQUdTLWRpdmRpMy5jKTogRG9uJ3QKCWRlZmluZS4KCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGMzMi9EaXN0OiBSZW1vdmUgZGl2ZGkzLmMuCgoyMDAzLTAxLTI0ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGVsZi90bHMtbWFjcm9zLmg6IEFkZCBTUEFSQyAzMi1iaXQgZGVmaW5pdGlvbnMuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9lbGYvY29uZmlndXJlLmluOiBBZGQgVExTIGNoZWNrLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvZGwtbWFjaGluZS5oOiBBZGQgZGxfbWFjaGluZV9oIGd1YXJkcwoJZm9yIHRoZSBmaXJzdCBoYWxmIG9mIHRoZSBoZWFkZXIuICBJbmNsdWRlIHRscy5oLgoJKGVsZl9tYWNoaW5lX3R5cGVfY2xhc3MpOiBSZXR1cm4gRUxGX1JUWVBFX0NMQVNTX1BMVCBmb3IgVExTCglyZWxvY3MgdG9vLgoJKGVsZl9tYWNoaW5lX3JlbGEpOiBIYW5kbGUgVExTIHJlbG9jcy4KCSogc3lzZGVwcy9zcGFyYy9kbC10bHMuaDogTmV3IGZpbGUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzMyL3NvY2tldC5TOiBBZGQgY2FuY2VsbGF0aW9uCglzdXBwb3J0LgoKCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3NwYXJjdjkvaHAtdGltaW5nLmg6IFVzZSAlZzYgaW5zdGVhZCBvZiAlZzcuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9tZW1jaHIuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9tZW1jcHkuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9zdHJjYXQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9zdHJjaHIuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9zdHJjbXAuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9zdHJjcHkuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zcGFyY3Y5Yi9tZW1jcHkuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9ocC10aW1pbmcuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9tZW1jcHkuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zdHBjcHkuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zdHBuY3B5LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc3RyY2F0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc3RyY2hyLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc3RyY21wLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc3RyY3B5LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc3RybmNtcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3N0cm5jcHkuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjMzIvc3lzZGVwLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L3N5c2RlcC5oOiBMaWtld2lzZS4KCjIwMDMtMDEtMjQgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBlbGYvZGwtY2xvc2UuYyAoX2RsX2Nsb3NlKTogRG9uJ3QgcmVsb2NhdGUgRFRfRklOSV9BUlJBWQoJZWxlbWVudHMsIGFuZCBwcm9jZXNzIHRoZW0gYmFja3dhcmRzLgoJKiBlbGYvTWFrZWZpbGUgKCQob2JqcGZ4KXRzdC1hcnJheTQpOiBOZXcgdGFyZ2V0LgoJKCQob2JqcGZ4KXRzdC1hcnJheTQub3V0KTogTGlrZXdpc2UuCgkodGVzdHMpIFskKGhhdmUtaW5pdGZpbmktYXJyYXkpID0geWVzXTogQWRkIHRzdC1hcnJheTQuCgkqIGVsZi90c3QtYXJyYXk0LmM6IE5ldyBmaWxlLgoJKiBlbGYvdHN0LWFycmF5NC5leHA6IExpa2V3aXNlLgoKMjAwMy0wMS0yNCAgU3RldmVuIE11bnJvZSAgPHNqbXVucm9lQHVzLmlibS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGM2NC9mZV9ub21hc2suYzogTmV3IGZpbGUuCgoyMDAzLTAxLTI3ICBHdWlkbyBHdWVudGhlciAgPGFneEBzaWd4Y3B1Lm9yZz4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvc3lzZGVwLmggKFNZU0NBTExfRVJST1JfTEFCRUwpOiBEZWZpbmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvcHJlYWQuYzogQWRkIHN1cHBvcnQgZm9yCgljYW5jZWxsYXRpb24gaGFuZGxpbmcgYW5kIGhhbmRsZSBib3RoIF9fTlJfcHJlYWQ2NCBhbmQgX19OUl9wcmVhZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9wcmVhZDY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3B3cml0ZS5jOiBBZGQgc3VwcG9ydCBmb3IKCWNhbmNlbGxhdGlvbiBoYW5kbGluZyBhbmQgaGFuZGxlIGJvdGggX19OUl9wd3JpdGU2NCBhbmQgX19OUl9wd3JpdGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvcHdyaXRlNjQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9taXBzL3N5c2RlcC5TOiBEb24ndCBzZXQgZXJybm8gaW4gdGhlIF9MSUJDX1JFRU5UUkFOVAoJY2FzZSwgdXNlIHJlZ2lzdGVyIG5hbWVzIGNvbnNpc3RlbnRseS4KCjIwMDMtMDEtMjcgIFdvbGZyYW0gR2xvZ2VyICA8d2dAbWFsbG9jLmRlPgoKCSogbWFsbG9jL2hvb2tzLmMgKG1lbTJjaHVua19jaGVjayk6IENoZWNrIGFsaWdubWVudCBvZiBtZW0KCXBvaW50ZXIsIG5vdCBvZiB0aGUgY29tcHV0ZWQgY2h1bmsuICBCdWcgcmVwb3J0IGZyb20gQ2FybG9zCglPJ0RvbmVsbCA8Y2FybG9zQGJhbGRyaWMudXdvLmNhPi4KCjIwMDMtMDEtMjUgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzeXNkZXBzL202OGsvZGwtbWFjaGluZS5oIChfZGxfc3RhcnRfdXNlcik6IFVzZSBwYy1yZWxhdGl2ZQoJYWRkcmVzc2luZyB0byBzYXZlIEdPVCBlbnRyaWVzLgoKMjAwMy0wMS0yMSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvYWxwaGEvc3lzZGVwLmggKGlubGluZV9zeXNjYWxsMCwKCWlubGluZV9zeXNjYWxsMSwgaW5saW5lX3N5c2NhbGwyLCBpbmxpbmVfc3lzY2FsbDMsCglpbmxpbmVfc3lzY2FsbDQsIGlubGluZV9zeXNjYWxsNSwgaW5saW5lX3N5c2NhbGw2KTogQWRkIF9fdm9sYXRpbGVfXy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvc3lzZGVwLmggKElOVEVSTkFMX1NZU0NBTEwpOiBBZGQKCV9fYXR0cmlidXRlX18oKHVudXNlZCkpIHRvIENoRWNLLgoKMjAwMy0wMS0yMCAgTWFydGluIFNjaHdpZGVmc2t5ICA8c2Nod2lkZWZza3lAZGUuaWJtLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC0zMi9zeXNkZXAuaCAoSU5URVJOQUxfU1lTQ0FMTCk6CglGaXggaW5saW5lIGFzc2VtYmxlciBjb25zdHJhaW50cy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L3N5c2RlcC5oIChJTlRFUk5BTF9TWVNDQUxMKToKCUxpa2V3aXNlLgoKCSogc3lzZGVwcy9zMzkwL3MzOTAtNjQvTWFrZWZpbGUgKHBpYy1jY2ZsYWcpOiBVc2UgLWZwaWMgaW5zdGVhZCBvZgoJLWZQSUMuCgoyMDAzLTAxLTIwICBTZWdoZXIgQm9lc3Nlbmtvb2wgIDxzZWdoZXJAa29mZmllLm5sPgoKCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC9zaW5jb3MzMi5jIChfX21wY29zKTogUmVhbGx5Cgljb21wdXRlIHRoZSBjb3NpbmUsIG5vdCB0aGUgc2luZSwgZXZlbiBpZiB4ID4gMC44LgoKMjAwMy0wMS0xOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBuaXMvbnNzX25pcy9uaXMtc3B3ZC5jOiBNYWtlIF9uc3NfbmlzX2VuZHNwZW50IGFuIGFsaWFzIG9mCglfbnNzX25pc19zZXRzcGVudC4gIFdvcmsgYXJvdW5kIHRoZSBkaWZmZXJlbnQgcHJvdG90eXBlcy4KCSogbmlzL25zc19uaXMvbmlzLXJwYy5jIChpbnRlcm5hbF9uaXNfc2V0cnBjZW50KTogVXNlCglpbnRlcm5hbF9uaXNfZW5kcnBjZW50LgoJKGludGVybmFsX25pc19lbmRycGNlbnQpOiBDaGFuZ2UgcmV0dXJuIHR5cGUgdG8gdm9pZC4gIENoYW5nZSBjYWxsZXJzLgoJKiBuaXMvbnNzX25pcy9uaXMtcHdkLmM6IE1ha2UgX25zc19uaXNfZW5kcHdlbnQgYW4gYWxpYXMgb2YKCV9uc3NfbmlzX3NldHB3ZW50LiAgV29yayBhcm91bmQgdGhlIGRpZmZlcmVudCBwcm90b3R5cGVzLgoJKiBuaXMvbnNzX25pcy9uaXMtcHJvdG8uYyAoX25zc19uaXNfZW5kcHJvdG9lbnQpOiBTcGxpdCBvdXQgYm9keQoJb2YgdGhlIGZ1bmN0aW9uIHRvLi4uCgkoaW50ZXJuYWxfbmlzX2VuZHByb3RvZW50KTogLi4uIGhlcmUuICBOZXcgZnVuY3Rpb24uCgkoaW50ZXJuYWxfbmlzX3NldHByb3RvZW50KTogVXNlIGludGVybmFsX25pc19lbmRwcm90b2VudC4KCSogbmlzL25zc19uaXMvbmlzLW5ldHdvcmsuYzogTWFrZSBfbnNzX25pc19lbmRuZXRlbnQgYW4gYWxpYXMgb2YKCV9uc3NfbmlzX3NldG5ldGVudC4gIFdvcmsgYXJvdW5kIHRoZSBkaWZmZXJlbnQgcHJvdG90eXBlcy4KCSogbmlzL25zc19uaXMvbmlzLW5ldGdycC5jIChfbnNzX25pc19lbmRuZXRncmVudCk6IFNwbGl0IG91dCBib2R5CglvZiB0aGUgZnVuY3Rpb24gdG8uLi4KCShpbnRlcm5hbF9uaXNfZW5kbmV0Z3JlbnQpOiAuLi4gaGVyZS4gIE5ldyBmdW5jdGlvbi4KCShfbnNzX25pc19zZXRuZXRncmVudCk6IFVzZSBpbnRlcm5hbF9uaXNfZW5kbmV0Z3JlbnQuCgoyMDAzLTAxLTE5ICBKaW0gTWV5ZXJpbmcgIDxqaW1AbWV5ZXJpbmcubmV0PgoKCSogdGltZS9zdHJmdGltZS5jOiAod2lkZW4pOiBNZXJnZSBuZWFybHktaWRlbnRpY2FsIGRlZmluaXRpb25zLgoJKG5sX2dldF9hbHRfZGlnaXQpIFshIGRlZmluZWQgbXlfc3RyZnRpbWVdOiBEZWZpbmUuCgkobXlfc3RyZnRpbWUpIFtfTkxfQ1VSUkVOVF06IE1lcmdlIG5lYXJseS1pZGVudGljYWwgdXNlcyBvZgoJX25sX2dldF9hbHRfZGlnaXQgYW5kIF9ubF9nZXRfd2FsdF9kaWdpdC4KCjIwMDMtMDEtMTkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogdGltZS9zdHJmdGltZS5jIChteV9zdHJmdGltZSk6IEhhbmRsZSB2ZXJ5IGxhcmdlIHdpZHRoCglzcGVjaWZpY2F0aW9ucyBmb3IgbnVtZXJpYyB2YWx1ZXMgY29ycmVjdGx5LiAgSW1wcm92ZSBjaGVja3MgZm9yCglvdmVyZmxvdy4KCSogdGltZS9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdHN0LXN0cmZ0aW1lLgoJKiB0aW1lL3RzdC1zdHJmdGltZS5jOiBOZXcgZmlsZS4KCjIwMDMtMDEtMTggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbmlzL25zc19uaXMvbmlzLWhvc3RzLmM6IE1ha2UgX25zc19uaXNfZW5kaG9zdGVudCBhbiBhbGlhcyBvZgoJX25zc19uaXNfc2V0aG9zdGVudC4gIFdvcmsgYXJvdW5kIHRoZSBkaWZmZXJlbnQgcHJvdG90eXBlcy4KCSogbmlzL25zc19uaXMvbmlzLWdycC5jOiBNYWtlIF9uc3NfbmlzX2VuZGdyZW50IGFuIGFsaWFzIG9mCglfbnNzX25pc19zZXRncmVudC4gIFdvcmsgYXJvdW5kIHRoZSBkaWZmZXJlbnQgcHJvdG90eXBlcy4KCSogbmlzL25zc19uaXMvbmlzLWV0aGVycy5jIChpbnRlcm5hbF9uaXNfZW5kZXRoZXJlbnQpOiBOZXcKCWZ1bmN0aW9uLiAgU3BsaXQgb3V0IGZyb20gX25zc19uaXNfZW5kZXRoZXJlbnQuCgkoaW50ZXJuYWxfbmlzX3NldGV0aGVyZW50KTogVXNlIGludGVybmFsX25pc19lbmRldGhlcmVudCBpbnN0ZWFkIG9mCglkdXBsaWNhdGluZyB0aGUgY29kZS4KCSogbmlzL25zc19uaXMvbmlzLWFsaWFzLmM6IE1ha2UgX25zc19uc3NfbmlzX2VuZGFsaWFzZW50IGFuIGFsaWFzCglvZiBfbnNzX25pc19zZXRhbGlhc2VudC4KCSogbmlzL25zc19uaXMvbmlzLXNlcnZpY2UuYyAoaW50ZXJuYWxfbmlzX3NldHNlcnZlbnQpOiBSZXVzZQoJaW50ZXJuYWxfbmlzX2VuZHNlcnZlbnQgY29kZSwgZG9uJ3QgZHVwbGljYXRlIGl0LgoKCSogaW5ldC9yZXhlYy5jIChyZXhlY19hZik6IFByb3RlY3Qgc29ja2V0IG9wZXJhdGlvbnMgd2l0aAoJVEVNUF9GQUlMVVJFX1JFVFJZLiAgVXNlIHdyaXRldiBpbnN0ZWFkIG9mIG11bHRpcGxlIHdyaXRlLgoJKiBpbmV0L3JjbWQuYyAocmNtZF9hZik6IExpa2V3aXNlLgoKMjAwMy0wMS0xNyAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIG1hdGgvbGlibS10ZXN0LmluYyAoc2luX3Rlc3QsIGNvc190ZXN0LCBzaW5jb3NfdGVzdCkgW1RFU1RfRE9VQkxFXToKCUFkZCB0ZXN0IG9mIHZhbHVlIDAuODAxOTAxMjcxODQwNTg4MzUuCgoJKiBlbGYvZGwtb3Blbi5jOiBGaXggdHlwbyBpZmRlZiAtPiBpZm5kZWYgb24gX2RsX3Rsc19zdGF0aWNfc2l6ZSBkZWZuLgoKMjAwMy0wMS0xNyAgUmljaGFyZCBIZW5kZXJzb24gIDxydGhAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvYWxwaGEvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV90eXBlX2NsYXNzKTogQWRkIFRMUwoJcmVsb2NzIGZvciBjbGFzcyBQTFQuCgkqIHN5c2RlcHMvYWxwaGEvbGliYy10bHMuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9hbHBoYS9zeXNkZXAuUyAoRVBJTE9HVUUsIEdQU0FWRVJFRyk6IE5ldy4KCShMT0FER1ApIFshUElDXTogUmV3cml0ZSB0byBwcmVzZXJ2ZSBjYWxsZXIncyBncC4KCjIwMDMtMDEtMTcgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9kbC1zdGF0aWMuYyAoX2RsX3N0YXRpY19pbml0KTogVXNlCglfX2xpYmNfbG9ja197LHVufWxvY2tfcmVjdXJzaXZlIGluc3RlYWQgb2YgX19saWJjX2xvY2tfeyx1bn1sb2NrCglvbiBfZGxfc3RhdGljX2xvY2suCgoyMDAzLTAxLTE3ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzdGRpby1jb21tb24vYnVnMTQuYzogSW5jbHVkZSBzdGRsaWIuaCBmb3IgZXhpdCBwcm90b3R5cGUuCgoyMDAzLTAxLTE2ICBTdGV2ZW4gTXVucm9lICA8c2ptdW5yb2VAdXMuaWJtLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzY0L2dldGNvbnRleHQuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzY0L21ha2Vjb250ZXh0LlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGM2NC9zZXRjb250ZXh0LlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGM2NC9zd2FwY29udGV4dC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjNjQvdWNvbnRleHRfaS5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9zeXMvdWNvbnRleHQuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2NvbmZpZ3VyZS5pbjogTWluaW11bSBrZXJuZWwgZm9yIFBQQzY0CglpcyAyLjQuMjEuCgoyMDAzLTAxLTE2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9nbG9iLmMgKGdsb2IpOiBBc3N1bWUgc3lzY29uZigpIGFsd2F5cyByZXR1cm5zCgl2YWx1ZXMgIT0gLTEgZm9yIF9MSUJDLiAgVXNlIGV4dGVuZF9hbGxvY2EgdG8gcmVhbGxvY2F0ZSBhbGxvY2EnZWQKCWJ1ZmZlcnMuCgoJKiBzeXNkZXBzL2dlbmVyaWMvc3lzY29uZi5jOiBVbmNvbmRpdGlvbmFsbHkgaW1wbGVtZW50CglfU0NfR0VUUFdfUl9TSVpFX01BWCBhbmQgX1NDX0dFVEdSX1JfU0laRV9NQVguCgkqIHN5c2RlcHMvcG9zaXgvc3lzY29uZi5jOiBMaWtld2lzZS4KCjIwMDMtMDEtMTYgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogcG9zaXgvcmVnY29tcC5jIChwYXJzZV9icmFja2V0X2V4cCk6IElmIGJ1aWxkX2NoYXJjbGFzcyBmYWlscywKCXNldCAqZXJyIHRvIHRoZSByZXR1cm5lZCBlcnJvciwgbm90IHRvIFJFR19FU1BBQ0UgdW5jb25kaXRpb25hbGx5LgoJKGJ1aWxkX3dvcmRfb3ApOiBMaWtld2lzZS4KCSogcG9zaXgvTWFrZWZpbGUgKHRlc3RzKTogQWRkIGJ1Zy1yZWdleDE2LgoJKiBwb3NpeC9idWctcmVnZXgxNi5jOiBOZXcgdGVzdC4KCjIwMDMtMDEtMTYgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogZWxmL2RsLWxvYWQuYyAoX2RsX21hcF9vYmplY3RfZnJvbV9mZCk6IFVzZQoJR0woZGxfdGxzX2R0dl9zbG90aW5mb19saXN0KSAhPSBOVUxMIHRvIGNoZWNrIHdoZXRoZXIgVExTIGhhcwoJYmVlbiBhbHJlYWR5IGluaXRpYWxpemVkLgoKMjAwMy0wMS0xNSAgRG1pdHJ5IFYuIExldmluICA8bGR2QGFsdGxpbnV4Lm9yZz4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3B0c25hbWUuYzogRml4IHR5cG8gaW4gY29tbWVudC4KCjIwMDMtMDEtMTYgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogcG9zaXgvcmVnY29tcC5jIChyZV9jb21waWxlX2ludGVybmFsKTogSWYgY2xlYXJpbmcgYnVmZmVyLCBjbGVhcgoJYWxsb2NhdGVkIHRvby4gIFJlcG9ydGVkIGJ5IEFsIFZpcm8gPGF2aXJvQHJlZGhhdC5jb20+LgoKMjAwMy0wMS0xNiAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCglUd2VhayBtZXJnZWQgLmFiaWxpc3QgZmlsZSBmb3JtYXQgdG8gbWVyZ2UgZHVwbGljYXRlIHN5bWJvbHMgaW4KCWRpZmZlcmVudCBzZXRzIGludG8gbXVsdGktdmVyc2lvbiBzdGFuemFzIHdpdGggbmV3ICJ8IFNFVCByZWdleHAuLi4iCgloZWFkZXIgY29udGludWF0aW9uIGxpbmVzLgoJKiBzY3JpcHRzL21lcmdlLWFiaWxpc3QuYXdrOiBSZXdyaXR0ZW4gZm9yIG5ldyBmb3JtYXQuCgkqIHNjcmlwdHMvZXh0cmFjdC1hYmlsaXN0LmF3azogTGlrZXdpc2UuCgoyMDAzLTAxLTE1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG5zY2QvY29ubmVjdGlvbnMuYyAobnNjZF9ydW4pOiBSZW1vdmUgYm9ndXMgcmV0dXJuIHdoaWNoIGlzbid0CgluZWNlc3Nhcnkgd2l0aCBnY2MgMy4yKy4KCShuc2NkX2luaXQpOiBEb24ndCB1c2UgZXJyb3IoKSB0byBwcmludCBtZXNzYWdlLCB1c2UgZGJnX2xvZy4KCgkqIGljb252L2djb252X3NpbXBsZS5jIChTVE9SRV9SRVNUKTogRXhwbGljaXRseSBzdG9yZSB0aGUgdG90YWwKCWV4cGVjdGVkIHNpemUgaW50byBzdGF0ZS4KCShVTlBBQ0tfQllURVMpOiBEbyB0aGUgcmV2ZXJzZS4KCSogaWNvbnYvbG9vcC5jOiBVc2UgQ0xFQVJfU1RBVEUgaWYgZGVmaW5lZCB0byBjbGVhciBfX3N0YXRlIGVsZW1lbnQuCgkqIHdjc21icy90c3QtbWJydG93Yy5jICh1dGY4X3Rlc3RfMSk6IEFkZCB0ZXN0IGZvciB0aGUgYnVnLgoJUmVwb3J0ZWQgYnkgQWwgVmlybyA8YXZpcm9AcmVkaGF0LmNvbT4uCgoJKiBzdGRpby1jb21tb24vTWFrZWZpbGUgKHRlc3RzKTogQWRkIGJ1ZzE0LgoJKiBzdGRpby1jb21tb24vYnVnMTQuYzogTmV3IGZpbGUuCgoJKiBzdGRpby1jb21tb24vdmZzY2FuZi5jOiBXaGVuIHJlY29nbml6aW5nIG11bHRpYnl0ZSBjaGFyYWN0ZXJzIGluCglzdHJpbmcgcmVzZXQgdGhlIGJ5dGUgY291bnRlciBhZnRlciBtYnJ0b3djIHJlcG9ydGVkIGl0IGlzIG5vdCBhCglwYXJ0aWFsIGNoYXJhY3Rlci4gIFJlcG9ydGVkIGJ5IEFsIFZpcm8gPGF2aXJvQHJlZGhhdC5jb20+LgoKMjAwMy0wMS0xNSAgU3RldmVuIE11bnJvZSAgPHNqbXVucm9lQHVzLmlibS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGM2NC9zb2NrZXQuUzogSW5jbHVkZQoJc3lzZGVwLWNhbmNlbC5oLCBub3Qgc3lzZGVwLmguCgoyMDAzLTAxLTE1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG5zY2QvY29ubmVjdGlvbnMuYyAobnNjZF9ydW4pOiBQcm90ZWN0IGFjY2VwdCBjYWxsIHdpdGgKCVRFTVBfRkFJTFVSRV9SRVRSWS4KCjIwMDMtMDEtMTUgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvTWFrZWZpbGU6IEluY2x1ZGUgJChjb21tb24tb2JqcGZ4KXMtcHJvdG8tYnAuZC4KCShjb21tb24tZ2VuZXJhdGVkKTogQWRkIHMtcHJvdG8tYnAuZC4KCSogc3lzZGVwcy91bml4L21ha2Utc3lzY2FsbHMuc2g6IFVzZSBzLXByb3RvLWJwLmQgZm9yIGRlcGVuZGVuY2llcwoJb2YgYnAgdGh1bmtzLgoJKiBzeXNkZXBzL3VuaXgvcy1wcm90by1icC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9nZW5lcmljL2JwLXRodW5rcy5oOiBEb24ndCBpbmNsdWRlIDxzeXMvdm04Ni5oPiBoZXJlLgoJVXNlIDxpby9zeXMvc2VuZGZpbGUuaD4gaW5zdGVhZCBvZiA8c3lzL3NlbmRmaWxlLmg+LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2JwLXRodW5rcy5oOiBOZXcgZmlsZS4KCjIwMDMtMDEtMTUgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBNYWtlcnVsZXM6IFVzZSAtaW5jbHVkZSBmb3IgdGxzLm1ha2UsIHN1cHByZXNzZXMgd2FybmluZy4KCU1vdmUgZ2VuLWFzLWNvbnN0LWhlYWRlcnMgcnVsZXMgdXAgc28gYmVmb3JlLWNvbXBpbGUgaXMgc2V0IGluIHRpbWUuCgkoc2VkLXJlbW92ZS1kb3Rkb3QpOiBGaXggdG8gd29yayByaWdodCBmb3Igc3ViZGlycyBvciB0b3AgZGlyLgoKMjAwMy0wMS0xNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBuc2NkL25zY2QuYyAobWFpbik6IE1ha2UgY29kZSB0byBjbG9zZSBhbGwgZmlsZSBkZXNjcmlwdG9ycwoJZmFzdGVyIGFuZCBtb3JlIHJvYnVzdC4KCgkqIG5zY2QvbnNjZF9nZXRwd19yLmMgKG5zY2RfZ2V0cHdfcik6IENvbnNvbGlkYXRlIHdyaXRpbmcgb2YgdGhlCglyZXF1ZXN0IHdpdGggb25lIHdyaXRldiBjYWxsLiAgUHJvdGVjdCBhbGwgcmVhZCBjYWxscyB3aXRoCglURU1QX0ZBSUxVUkVfUkVUUlkuCgkqIG5zY2QvbnNjZF9nZXRncl9yLmMgKG5zY2RfZ2V0Z3Jfcik6IExpa2V3aXNlLgoJKiBuc2NkL25zY2RfZ2V0aHN0X3IuYyAobnNjZF9nZXRoc3Rfcik6IExpa2V3aXNlLgoKCSogbnNjZC9oc3RjYWNoZS5jOiBVc2UgZXh0ZW5kX2FsbG9jYSB0byByZWFsbG9jYXRlIGFsbG9jYSdkIGJ1ZmZlci4KCVByb3RlY3Qgd3JpdGV2IGNhbGxzIHdpdGggVEVNUF9GQUlMVVJFX1JFVFJZLgoJKiBuc2NkL2dycGNhY2hlLmM6IExpa2V3aXNlLgoJKiBuc2NkL3B3ZGNhY2hlLmM6IExpa2V3aXNlLgoKCSogbnNjZC9oc3RjYWNoZS5jIChhZGRoc3RieW5hbWV2Nik6IERvbid0IGludGVycHJldCBob3N0bmFtZSBhcwoJSVB2NiBhZGRyZXNzIGluIGRlYnVnIG91dHB1dC4KCjIwMDMtMDEtMTQgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBNYWtlcnVsZXMgKGNoZWNrLWFiaS0lKTogVXNlIHR3byBydWxlcyBmb3IgJChjb21tb24tb2JqcGZ4KSBhbmQKCSQob2JqcGZ4KSBkaXJlY3RvcmllcywgYW5kIGdldCByaWQgb2YgdnBhdGggZGlyZWN0aXZlcy4gIFRoZSBwcmV2aW91cwoJYXJyYW5nZW1lbnQgcmVzdWx0ZWQgaW4gZmlsZXMgYmVpbmcgd3JpdHRlbiB0byB0aGUgc291cmNlIGRpcmVjdG9yaWVzCgl3aGVuIHJ1biBpbiBhIGNsZWFuIGJ1aWxkLiAgRmluZCBhbGwgLmFiaWxpc3QgZmlsZXMgaW4gJCguLilhYmlsaXN0Ly4KCSh1cGRhdGUtYWJpLSUpOiBMaWtld2lzZS4KCShnZW5lcmF0ZWQpOiBEb24ndCBhZGQgLnN5bWxpc3QgZmlsZXMsIHRoZXknbGwgYmUgaW50ZXJtZWRpYXRlcy4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9pbml0LWZpcnN0LmM6IEFkZCBhIGNvbW1lbnQuCgoJKiBlbGYvTWFrZWZpbGUgKCQob2JqcGZ4KWxkLnNvKTogUGFzcyAteiBkZWZzIGluIGxpbmsuCgoJKiBzY3JpcHRzL2dlbi1hcy1jb25zdC5hd2s6IEdyb2sgbG9uZSAiLS0iIGFzIGEgc2VwYXJhdG9yIGJldHdlZW4KCSNpbmNsdWRlcyBhbmQgZXhwcmVzc2lvbnMuCgoJKiBzY3JpcHRzL21lcmdlLWFiaWxpc3QuYXdrOiBPbWl0IGNwdS0uKi1vcy4qL21vZGlmaWVyIGZyb20gbWVyZ2VkCgljb25maWcgbGlzdCB3aGVuIGl0IGFscmVhZHkgY29udGFpbnMgY3B1LS4qLW9zLiogd2l0aG91dCAvIHBhcnQuCgoJKiBNYWtlcnVsZXMgKHNlZC1yZW1vdmUtZG90ZG90KTogTmV3IHZhcmlhYmxlLgoJKCQoY29tbW9uLW9ianBmeCklLm1ha2UpOiBVc2UgaXQuICBEZXBlbmQgb24gJChiZWZvcmUtY29tcGlsZSkuCgkoJChjb21tb24tb2JqcGZ4KSUuaCAkKGNvbW1vbi1vYmpwZngpJS5oLmQpOiBMaWtld2lzZS4KCShjaGVjay1hYmktY29uZmlnKTogTmV3IHZhcmlhYmxlLCBhcHBlbmQgL3RscyBvciAvbm90bHMgdG8gdGhlIHR1cGxlLgoJKGNoZWNrLWFiaS0lKTogVXNlIHRoYXQgZm9yIC12IGNvbmZpZyB2YWx1ZS4KCUZpbmQgLmFiaWxpc3QgZmlsZXMgaW4gYWJpbGlzdC9saWJmb28uYWJpbGlzdCwgbm90IGluIHN1YmRpci4KCSogUnVsZXM6IE1vdmUgYml0cy9zdGRpb19saW0uaCBnZW5lcmF0aW9uIHJ1bGVzIHRvIE1ha2VydWxlcy4KCjIwMDMtMDEtMTQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWFudWFsL2luc3RhbGwudGV4aTogQ29ycmVjdCBkZXNjcmlwdGlvbiBvZiBoZWFkZXIgcHJlcGFyYXRpb24gZm9yCglMaW51eCBidWlsZC4gIFBhdGNoIGJ5IG1od29vZEBBbWVyaXRlY2guTmV0IFtQUiBsaWJjLzQ5NDFdLgoKMjAwMy0wMS0xNCAgR3VpZG8gR3VlbnRoZXIgIDxhZ3hAc2lneGNwdS5vcmc+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3N5c2RlcC5oIChJTlRFUk5BTF9TWVNDQUxMLAoJSU5URVJOQUxfU1lTQ0FMTF9ERUNMLCBJTlRFUk5BTF9TWVNDQUxMX0VSUk5PLAoJSU5URVJOQUxfU1lTQ0FMTF9FUlJPUl9QLCBJTkxJTkVfU1lTQ0FMTCk6IERlZmluZS4KCjIwMDMtMDEtMTQgIFN0ZXZlbiBNdW5yb2UgIDxzam11bnJvZUB1cy5pYm0uY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjNjQvc3lzZGVwLmgKCShJTlRFUk5BTF9TWVNDQUxMKTogTWFrZSB1c2Ugb2YgRVJSIHBhcmFtZXRlci4KCShJTlRFUk5BTF9TWVNDQUxMX0RFQ0wsIElOVEVSTkFMX1NZU0NBTExfRVJSTk8sCglJTlRFUk5BTF9TWVNDQUxMX0VSUk9SX1ApOiBBZGp1c3QgYWNjb3JkaW5nbHkuCgkoSU5MSU5FX1NZU0NBTEwpOiBNYWtlIHVzZSBvZiBJTlRFUk5BTF9TWVNDQUxMLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGM2NC92Zm9yay5TOiBOZXcgZmlsZS4KCjIwMDMtMDEtMTQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3VucnBjL3BtX2dldHBvcnQuYyAocG1hcF9nZXRwb3J0KTogT3BlbiBUQ1Agc29ja2V0IGlmIHByb3RvY29sCgk9PSBJUFBST1RPX1RDUC4KCVBhdGNoIGJ5IEphbWVzIFN0cmFuZGJvZ2UgPGphbWllQHRwcHRyYWluaW5nLmNvbT4gW1BSIGxpYmMvNDk0M10uCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2RsLXByb2NpbmZvLmMgKF9kbF94ODZfY2FwX2ZsYWdzKToKCUZpeCBlbnRyeSBmb3IgYml0IDMxLgoKCSogaWNvbnZkYXRhL01ha2VmaWxlOiBBZGQgcnVsZXMgdG8gYnVpbGQgSUJNODY2TkFWLgoJKiBpY29udmRhdGEvaWJtODY2bmF2LmM6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvdHN0LXRhYmxlcy5zaDogQWRkIElCTTg2Nk5BVi4KCSogaWNvbnZkYXRhL2djb252LW1vZHVsZXM6IEFkZCBlbnRyaWVzIGZvciBJQk04NjZOQVYuCgoyMDAzLTAxLTEzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN0cmluZy90ZXN0ZXIuYyAodGVzdF9zdHJjcHkpOiBVc2UgdGhlIHByZXZpb3VzbHkgI2lmIDAnZWQgY29kZQoJdG8gdGVzdCB2b2lkKiBwYXJhbWV0ZXJzLgoKCSogc3lzZGVwcy9pMzg2L2k0ODYvYml0cy9zdHJpbmcuaCAoX19TVFJJTkdfU01BTExMX0dFVDE2KTogQ2FzdAoJc291cmNlIHBvaW50ZXIgYmVmb3JlIGRlcmVmZXJlbmNpbmcuCgkoX19TVFJJTkdfU01BTExMX0dFVDMyKTogTGlrZXdpc2UuCgkoX19tZW1zZXRfZ2MpOiBBZGQgbWlzc2luZyBwYXJlbnRoZXNpcyBhcm91bmQgbWFjcm8gYXJndW1lbnRzLgoJUGF0Y2ggYnkgRGVuaXMgWmFpdHNldiA8enp6QGNkLWNsdWIucnU+LgoKCSogc3lzZGVwcy9pMzg2L2k0ODYvYml0cy9zdHJpbmcuaCAoX19zdHJzcG5fY2cpOiBUZWxsIHRoZSBjb21waWxlcgoJdGhhdCAlZWF4IGlzIG1vZGlmaWVkLiAgUmVwb3J0ZWQgYnkgRGVuaXMgWmFpdHNldiA8enp6QGNkLWNsdWIucnU+LgoKMjAwMy0wMS0xNCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvYWxwaGEvc3lzZGVwLmggKElOTElORV9TWVNDQUxMKTogVW5kZWZpbmVkIGJlZm9yZQoJZGVmaW5pbmcuCgoyMDAzLTAxLTEzICBNYXJ0aW4gU2Nod2lkZWZza3kgIDxzY2h3aWRlZnNreUBkZS5pYm0uY29tPgoKCSogc3lzZGVwcy9zMzkwL3MzOTAtNjQvaW5pdGZpbmkuYzogQXZvaWQgdW50ZXJtaW5hdGVkIHN0cmluZyBsaXRlcmFscy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL3N5c2RlcC5oIChMKTogRG9uJ3QgZGVmaW5lIGl0CgloZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvc3lzZGVwLmggKEwpOiBMaWtld2lzZS4KCjIwMDMtMDEtMTMgIE1hcnRpbiBTY2h3aWRlZnNreSAgPHNjaHdpZGVmc2t5QGRlLmlibS5jb20+CgoJKiBzeXNkZXBzL3MzOTAvczM5MC0zMi9zeXNkZXAuaCAoSlVNUFRBUkdFVCk6IE1vdmUgYnJhbmNoIGluc3RydWN0aW9ucwoJZnJvbSBoZXJlLi4uCgkoUFNFVURPKTogLi4uIHRvIGhlcmUuCgkqIHN5c2RlcHMvczM5MC9zMzkwLTY0L3N5c2RlcC5oIChKVU1QVEFSR0VUKTogTW92ZSBicmFuY2ggaW5zdHJ1Y3Rpb24KCWZyb20gaGVyZS4uLgoJKFBTRVVETyk6IC4uLiB0byBoZXJlLgoKMjAwMy0wMS0xMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvcHJvZ3JhbXMvY2hhcm1hcC1kaXIuYyAoY2hhcm1hcF9yZWFkZGlyKTogVXNlIHN0cnVjdAoJZGlyZW50NjQgaW5zdGVhZCBvZiBzdHJ1Y3QgZGlyZW50IGZvciBkaXJlbnQuICBDYWxsIHJlYWRkaXI2NAoJaW5zdGVhZCBvZiByZWFkZGlyLgoKCSogbG9jYWxlL3Byb2dyYW1zL2xvY2ZpbGUuYyAoc2libGluZ3NfdW5jYWNoZWQpOiBVc2Ugc3RydWN0CglkaXJlbnQ2NCBpbnN0ZWFkIG9mIHN0cnVjdCBkaXJlbnQgZm9yIG90aGVyX2RlbnRyeS4gIENhbGwKCXJlYWRkaXI2NCBpbnN0ZWFkIG9mIHJlYWRkaXIuCgoJKiBlbGYvbGRjb25maWcuYyAoZGlyZW50cnkpOiBDaGFuZ2UgdHlwZSB0byBzdHJ1Y3QgZGlyZW50NjQuCgkoc2VhcmNoX2Rpcik6IFVzZSByZWFkZGlyNjQgaW5zdGVhZCBvZiByZWFkZGlyLgoJUGF0Y2ggYnkgWmhhbmdmYW4gWGluZyA8eGluZ0BwYWNpZmljLmpwbC5uYXNhLmdvdj4uCgoyMDAzLTAxLTEyICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogaHVyZC9sb29rdXAtcmV0cnkuYyAoX19odXJkX2ZpbGVfbmFtZV9sb29rdXBfcmV0cnkpOiBVc2Ugc3RydG91bCwKCW5vdCBzdHJ0b2wuICBUaGUgZm9ybWVyIGlzIHVzYWJsZSBpbiBsZC5zbywgdGhlIGxhdHRlciBub3QuCgoJKiBpbmNsdWRlL2ZjbnRsLmg6IERlY2xhcmUgX19saWJjX2NyZWF0LgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvTWFrZWZpbGUgKGxpYm1hY2h1c2VyLWxpbmsuc28tbm8tei1kZWZzLAoJbGliaHVyZHVzZXItbGluay5zby1uby16LWRlZnMpOiBOZXcgdmFyaWFibGVzLgoKCSogbWFsbG9jL21hbGxvYy5jOiBSZXZlcnQgbGFzdCBjaGFuZ2UuCgkqIG1hbGxvYy9tYWxsb2MuaCAoX2ludF8qKTogTW92ZSB0aGVzZSBkZWNscyB0byAuLi4KCSogaW5jbHVkZS9tYWxsb2MuaDogLi4uIGhlcmUuICBBZGQgYXR0cmlidXRlX2hpZGRlbi4KCShfaW50X3ZhbGxvYyk6IERlY2xhcmUgaXQgdG9vLgoKMjAwMy0wMS0xMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtY2xvc2UuYyAoX2RsX2Nsb3NlKTogRml4IHR5cG8sIG11c3QgYmUgPT0gbm90ID0gaW4KCXNlYXJjaCBmb3IgcmVtb3ZlZCBzZWFyY2hsaXN0LiAgUmVwb3J0ZWQgYnkgUm9sYW5kIE1jR3JhdGguCgoJKiBpby9mdHd0ZXN0LXNoOiBBZGQgdGVzdCBmb3IgY2FzZSBvZiBzeW1saW5rIHRvIG5vbmV4aXN0aW5nIGZpbGUKCWdpdmVuIGFzIHN0YXJ0IGZpbGUuCgoJKiBpby9mdHcuYyAoZnR3X3N0YXJ0dXApOiBVc2UgY29ycmVjdCBuYW1lIGluIGNoZWNrIGZvciBzeW1saW5rCgl3aXRob3V0IGV4aXN0aW5nIHRhcmdldC4gIFBhdGNoIGJ5IEppbSBNZXllcmluZy4KCgkqIE1ha2VydWxlcyAoYnVpbGQtc2hsaWItaGVscGVyKTogRG9uJ3QgdXNlIC16IGRlZnMgbGlua2VyIG9wdGlvbgoJaWYgbm8tei1kZWZzIGlzIGRlZmluZWQgZWl0aGVyLgoKMjAwMy0wMS0xMCAgTWFydGluIFNjaHdpZGVmc2t5ICA8c2Nod2lkZWZza3lAZGUuaWJtLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9rZXJuZWxfc3RhdC5oOiBSZW1vdmUgdW51c2VkCglmaWxlLgoKMjAwMy0wMS0xMCAgTWFydGluIFNjaHdpZGVmc2t5ICA8c2Nod2lkZWZza3lAZGUuaWJtLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC0zMi9zeXNjYWxscy5saXN0OiBBZGQgdmZvcmsuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9zeXNjYWxscy5saXN0OiBMaWtld2lzZS4KCjIwMDMtMDEtMTIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW8vZnR3dGVzdC1zaDogQWRkIHRlc3QgY2FzZSBmb3IgcmVsYXRpdmUgcGF0aCB3aXRoIC8uIGF0IHRoZSBlbmQuCgoyMDAzLTAxLTEyICBKaW0gTWV5ZXJpbmcgIDxqaW1AbWV5ZXJpbmcubmV0PgoKCSogaW8vZnR3LmMgKGZ0d19zdGFydHVwKTogV2hlbiB0cnlpbmcgdG8gc3RhdCB0aGUgc3RhcnRpbmcgZGlyZWN0b3J5LAoJdXNlIHRoZSBiYXNlbmFtZSBpZiB3ZSd2ZSBhbHJlYWR5IGNoZGlyJ2QgaW50byBpdHMgcGFyZW50IGRpcmVjdG9yeS4KCjIwMDMtMDEtMTIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW8vZnR3LmMgKHByb2Nlc3NfZW50cnkpOiBVc2UgcmVsYXRpdmUgcGF0aCB3aGVuIHVzaW5nIGNoZGlyKCkKCXRvIGNoYW5nZSBkaXJlY3RvcnkgYWZ0ZXIgY2FsbCB0byBmdHdfZGlyLgoJKiBpby9mdHd0ZXN0LXNoOiBBZGQgdGVzdCBmb3IgcmVsYXRpdmUgcGF0aCBhcmd1bWVudCB0byBuZnR3KCkKCXdpdGggRlRXX0NIRElSIG9wdGlvbi4KCjIwMDMtMDEtMTIgIEZyYW56IFNpcmwgIDxGcmFuei5TaXJsLWtlcm5lbEBsYXV0ZXJiYWNoLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2tlcm5lbC1mZWF0dXJlcy5oIChfX0FTU1VNRV9WRk9SS19TWVNDQUxMKToKCURlZmluZSBmb3IgcG93ZXJwYy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9zeXNjYWxsLlM6IFRha2UgcmVnaXN0ZXIgYWxpZ25tZW50CglpbnRvIGFjY291bnQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzMyL3N5c2RlcC5oCgkoSU5URVJOQUxfU1lTQ0FMTCk6IE1ha2UgdXNlIG9mIEVSUiBwYXJhbWV0ZXIuCgkoSU5URVJOQUxfU1lTQ0FMTF9ERUNMLCBJTlRFUk5BTF9TWVNDQUxMX0VSUk5PLAoJSU5URVJOQUxfU1lTQ0FMTF9FUlJPUl9QKTogQWRqdXN0IGFjY29yZGluZ2x5LgoJKElOTElORV9TWVNDQUxMKTogTWFrZSB1c2Ugb2YgSU5URVJOQUxfU1lTQ0FMTC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjMzIvdmZvcmsuUzogTmV3IGZpbGUuCgoyMDAzLTAxLTA5ICBSaWNoYXJkIEhlbmRlcnNvbiAgPHJ0aEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9hbHBoYS9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX3JlbGEpOiBDb21wdXRlCglEVFBSRUw2NCBhbmQgVFBSRUw2NCB3aXRob3V0IGxvYWRiYXNlIGFwcGxpZWQuCgoyMDAzLTAxLTA5ICBSaWNoYXJkIEhlbmRlcnNvbiAgPHJ0aEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L2FscGhhL3N5c2RlcC5TOiBVc2UgY29ycmVjdCBkZWZpbml0aW9uIG9mIGVycm5vCglmb3IgTk9UX0lOX2xpYmMuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9zeXNkZXAuaDogTW92ZSBpbmxpbmUgc3lzY2FsbCBiaXRzLi4uCgkqIHN5c2RlcHMvdW5peC9hbHBoYS9zeXNkZXAuaDogLi4uIGhlcmUuCgkoUFNFVURPX0xPQURHUCk6IFJlbW92ZS4KCShQU0VVRE9fUFJPTE9HVUUpOiBMb2FkIEdQIGluIG5vbi1waWMgY2FzZS4KCShTWVNDQUxMX0VSUk9SX0xBQkVMKTogTmV3LgoJKFBTRVVETyk6IFVzZSBpdCBpbiBlcnJvciBicmFuY2guCgkoUFNFVURPX0VORCk6IEFkZCAkc3lzY2FsbF9lcnJvciBsYWJlbC4KCjIwMDMtMDEtMTIgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIG1hdGgvYml0cy9tYXRoY2FsbHMuaDogUm91bmQgaXMgYSBjb25zdCBmdW5jdGlvbi4KCjIwMDMtMDEtMTEgIEppbSBNZXllcmluZyAgPGppbUBtZXllcmluZy5uZXQ+CgoJKiBpby9mdHcuYyBbSEFWRV9DT05GSUdfSF06IEluY2x1ZGUgPGNvbmZpZy5oPi4KCVtIQVZFX1NZU19QQVJBTV9IIHx8IF9MSUJDXTogR3VhcmQgaW5jbHVzaW9uIG9mIDxzeXMvcGFyYW0uaD4uCglJbmNsdWRlIDxzeXMvc3RhdC5oPiwgbm90IDxpbmNsdWRlL3N5cy9zdGF0Lmg+LCBpZiAhX0xJQkMuCglbIV9MSUJDXSAoX19jaGRpciwgX19jbG9zZWRpciwgX19mY2hkaXIsIF9fZ2V0Y3dkLCBfX29wZW5kaXIpOiBEZWZpbmUuCglbIV9MSUJDXSAoX19yZWFkZGlyNjQsIF9fdGRlc3Ryb3ksIF9fdGZpbmQsIF9fdHNlYXJjaCk6IERlZmluZS4KCVshX0xJQkNdIChpbnRlcm5hbF9mdW5jdGlvbiwgZGlyZW50NjQsIE1BWCk6IERlZmluZS4KCShfX3NldF9lcnJubyk6IERlZmluZSBpZiBub3QgYWxyZWFkeSBkZWZpbmVkLgoJKG9wZW5fZGlyX3N0cmVhbSk6IFdoZW4gRlRXX0NIRElSIGlzIGVuYWJsZWQsIGludm9rZSBvcGVuZGlyIG9uCgl0aGUgYmFzZW5hbWUsIG5vdCB0aGUgZW50aXJlIGZpbGUgbmFtZS4KCShwcm9jZXNzX2VudHJ5KTogV2hlbiBGVFdfQ0hESVIgaXMgZW5hYmxlZCwgaW52b2tlIFhTVEFUIG9yIExYU1RBVCBvbgoJdGhlIGJhc2VuYW1lLCBub3QgdGhlIGVudGlyZSBmaWxlIG5hbWUuCgoyMDAzLTAxLTEyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN0cmluZy90ZXN0ZXIuYyAodGVzdF9zdHJjcHkpOiBEaXNhYmxlIGxhc3QgYWRkZWQgc3RyY3B5IHVudGlsCglpdCBpcyBmaXhlZC4KCjIwMDMtMDEtMTEgIFBoaWxpcCBCbHVuZGVsbCAgPHBoaWxiQGdudS5vcmc+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vc29ja2V0LlM6IEFkZCBjYW5jZWxsYXRpb24gc3VwcG9ydC4KCjIwMDMtMDEtMTEgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBNYWtlcnVsZXM6IEFkZCB2cGF0aCBmb3IgJS5keW5zeW0gYW5kICUuc28gc28gdGhhdCB0aGUKCWltcGxpY2l0IHJ1bGUgY2hhaW5pbmcgZm9yIGNoZWNrLWFiaSB3b3Jrcy4KCjIwMDMtMDEtMTEgIEtheiBLb2ppbWEgIDxra29qaW1hQHJyLmlpajR1Lm9yLmpwPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvc3lzZGVwLmggKFNZU0NBTExfRVJST1JfSEFORExFUik6CglBZGQgbm9uLVBJQyBjYXNlLgoKMjAwMy0wMS0xMSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBlbGYvdGxzLW1hY3Jvcy5oIFtfX2lhNjRfX10gKF9fVExTX0NBTExfQ0xPQkJFUlMpOiBEZWZpbmUuCglbX19pYTY0X19dIChUTFNfTEUsIFRMU19JRSk6IEZpeCB0eXBvcy4gIEFkZCA7OyBhdCBzdGFydCBvZiBhc20gaWYKCWdwIGlzIHVzZWQgZWFybHkuCglbX19pYTY0X19dIChUTFNfTEQsIFRMU19HRCk6IExpa2V3aXNlLiAgVXNlIF9fVExTX0NBTExfQ0xPQkJFUlMuCgkqIGVsZi9NYWtlZmlsZSAoJChvYmpwZngpdHN0LXRsc21vZDUuc28sICQob2JqcGZ4KXRzdC10bHNtb2Q2LnNvKToKCUVuc3VyZSBsaWJjLnNvIGluIERUX05FRURFRC4KCSogc3lzZGVwcy9hbHBoYS9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX3JlbGEpOiBNb3ZlCglDSEVDS19TVEFUSUNfVExTIGJlZm9yZSBsX3Rsc19vZmZzZXQgdXNlLgoJKiBzeXNkZXBzL2kzODYvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9yZWwsIGVsZl9tYWNoaW5lX3JlbGEpOgoJTGlrZXdpc2UuCgkqIHN5c2RlcHMvc2gvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9yZWxhKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC10bHMuYyAoX2RsX2FsbG9jYXRlX3Rsc19zdG9yYWdlKSBbVExTX0RUVl9BVF9UUF06CglBbGxvY2F0ZSBUTFNfUFJFX1RDQl9TSVpFIGJ5dGVzIGJlbG93IHJlc3VsdC4KCShfZGxfZGVhbGxvY2F0ZV90bHMpIFtUTFNfRFRWX0FUX1RQXTogQWRqdXN0IGJlZm9yZSBmcmVlaW5nLgoJKiBzeXNkZXBzL2dlbmVyaWMvbGliYy10bHMuYyAoX19saWJjX3NldHVwX3Rscyk6IElmCglUTFNfSU5JVF9UUF9FWFBFTlNJVkUgaXMgbm90IGRlZmluZWQsIGFsbG9jYXRlIGV2ZW4gaWYgbm8gUFRfVExTCglzZWdtZW50IGhhcyBiZWVuIGZvdW5kLiAgSWYgVExTX0RUVl9BVF9UUCwgYWxsb2NhdGUgVExTX1BSRV9UQ0JfU0laRQoJYnl0ZXMgYmVsb3cgcmVzdWx0IGFuZCBhZGQgdGNiX29mZnNldCB0byBtZW1zei4KCSogc3lzZGVwcy9pYTY0L2RsLXRscy5oIChfX3Rsc19nZXRfYWRkcik6IE5ldyBwcm90b3R5cGUuCgkqIHN5c2RlcHMvaWE2NC9kbC1tYWNoaW5lLmg6IEluY2x1ZGUgdGxzLmguCgkoZWxmX21hY2hpbmVfdHlwZV9jbGFzcyk6IFJldHVybiBFTEZfUlRZUEVfQ0xBU1NfUExUIGZvciBUTFMgcmVsb2NzCgl0b28uCgkoZWxmX21hY2hpbmVfcmVsYSk6IEFzc3VtZSBpZiBzeW1fbWFwICE9IE5VTEwgc3ltIGlzIG5vbi1OVUxMIHRvby4KCUhhbmRsZSBSX0lBNjRfRFRQTU9EKiwgUl9JQTY0X0RUUFJFTCogYW5kIFJfSUE2NF9UUFJFTCogcmVsb2NhdGlvbnMuCgkqIHN5c2RlcHMvaWE2NC9saWJjLXRscy5jOiBOZXcgZmlsZS4KCjIwMDMtMDEtMTAgIFN0ZXZlbiBNdW5yb2UgIDxzam11bnJvZUB1cy5pYm0uY29tPgoKCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9zeXNkZXAuaCAoUFNFVURPX1JFVCk6IEFkZCBicmFuY2ggaGl0LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2JpdHMvc3RhdC5oIChTVEFUX1ZFUl9MSU5VWCk6CglGaXggdHlwZS4gIE1vdmUgZGVmaW5pdGlvbiBvdXQgb2YgI2lmLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGM2NC9mdHJ1bmNhdGU2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjNjQvcHJlYWQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzY0L3ByZWFkNjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzY0L3B3cml0ZS5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjNjQvcHdyaXRlNjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzY0L3NvY2tldC5TOiBBZGQgY2FuY2VsbGF0aW9uCglzdXBwb3J0LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGM2NC9zeXNjYWxscy5saXN0OiBSZW1vdmUKCWZ0cnVuY2F0ZTY0LCBwcmVhZDY0LCBwd3JpdGU2NCwgdHJ1bmNhdGU2NCBlbnRyaWVzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGM2NC9zeXNkZXAuaAoJKElOTElORV9TWVNDQUxMKTogTmV3IHZlcnNpb24gdGhhdCBzdXBwb3J0cyBmdW5jdGlvbiBjYWxsIGxpa2UKCXN5c2NhbGxzLiAgQWRkIF9fYnVpbHRpbl9leHBlY3QuCgkoTE9BREFSR1Nfbik6IEFkZCBhcmd1bWVudCBzaXplIHNhZmV0eSBjaGVja3MuCgkoSU5URVJOQUxfU1lTQ0FMTCk6IE5ldyBNYWNyby4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjNjQvdHJ1bmNhdGU2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9zeXMvcHJvY2ZzLmggW19fUFBDX0VMRl9IXTogQXZvaWQKCXJlZGVmaW5pdGlvbiBvZiBlbGZfZnByZWdfdCBhbmQgZWxmX2ZwcmVnc2V0X3QuCgoyMDAzLTAxLTEyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9kbC1jbG9zZS5jIChfZGxfY2xvc2UpOiBBZGQgc2V2ZXJhbCBhc3NlcnRzLiAgQ29ycmVjdCBhbmQKCXNpbXBsaWZ5IHRlc3QgZm9yIHVubG9hZGluZy4gIElmIGxvYWRlciBvZiBhIERTTyBpcyB1bmxvYWRlZCBkbyBub3QKCXVzZSBpdHMgc2NvcGUgYW55bW9yZS4gIEZhbGwgYmFjayB0byBvd24gc2NvcGUgYW5kIGFkanVzdCBvcGVuY291bnRzLgoJRml4IHNldmVyYWwgY29tbWVudHMuCgkqIGVsZi9kbC1kZXBzLmMgKF9kbF9tYXBfb2JqZWN0X2RlcHMpOiBBbHdheXMgYWxsb2NhdGUgbWVtb3J5IGZvcgoJdGhlIGxfc2VhcmNobGlzdCwgbm90IG9ubHkgZm9yIGxfaW5pdGZpbmkuCgoJKiBlbGYvZGwtbG9va3VwLmMgKGFkZF9kZXBlbmRlbmNpZXMpOiBBdm9pZCBjcmVhdGluZyByZWxvY2F0aW9uCglkZXBlbmRlbmNpZXMgaWYgb2JqZWN0cyBjYW5ub3QgYmUgcmVtb3ZlZC4gIFJlbW92ZSBvYmplY3Qgd2l0aCB0aGUKCWRlZmluaXRpb24gYXMgbm90IHVubG9hZGFibGUgaWYgbmVjZXNzYXJ5LgoKCSogZWxmL3JlbGRlcDYuYzogQ3JlYXRlIHJlbG9jYXRpb24gZGVwZW5kZW5jeSBiZWZvcmUgY2xvc2luZyB0aGUgZmlyc3QKCW1vZHVsZS4KCjIwMDMtMDEtMTAgIEd1aWRvIEf8bnRoZXIgIDxhZ3hAc2lneGNwdS5vcmc+CgoJKiBzeXNkZXBzL3VuaXgvbWlwcy9mb3JrLlM6IEFkZCBQU0VVRE9fRU5ELgoJKiBzeXNkZXBzL3VuaXgvbWlwcy9icmsuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9taXBzL3BpcGUuUzogTGlrZXdpc2UuCgoyMDAzLTAxLTEwICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9nZXRzeXNzdGF0cy5jOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L202OGsvdmZvcmsuUzogT3B0aW1pemUgZm9yIGtlcm5lbHMgd2hpY2gKCWFyZSBrbm93biB0byBoYXZlIHRoZSB2Zm9yayBzeXNjYWxsLgoKCSogc3lzZGVwcy9tNjhrL3N5c2RlcC5oIChKVU1QVEFSR0VUKTogVW5kZWZpbmUgYmVmb3JlIGRlZmluaW5nIGl0LgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgva2VybmVsLWZlYXR1cmVzLmgKCShfX0FTU1VNRV9NTUFQMl9TWVNDQUxMLCBfX0FTU1VNRV9UUlVOQ0FURTY0X1NZU0NBTEwpCgkoX19BU1NVTUVfU1RBVDY0X1NZU0NBTEwsIF9fQVNTVU1FX0ZDTlRMNjQpCgkoX19BU1NVTUVfVkZPUktfU1lTQ0FMTCk6IERlZmluZSBmb3IgbTY4ayBrZXJuZWxzID49IDIuNC4xMi4KCjIwMDMtMDEtMDkgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogZWxmL01ha2VmaWxlOiBBZGQgcnVsZXMgdG8gYnVpbGQgYW5kIHJ1biByZWxkZXA5IHRlc3QuCgkqIGVsZi9yZWxkZXA5LmM6IE5ldyBmaWxlLgoJKiBlbGYvcmVsZGVwOW1vZDEuYzogTmV3IGZpbGUuCgkqIGVsZi9yZWxkZXA5bW9kMi5jOiBOZXcgZmlsZS4KCSogZWxmL3JlbGRlcDltb2QzLmM6IE5ldyBmaWxlLgoKMjAwMy0wMS0wOSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBlbGYvTWFrZWZpbGU6IEFkZCBydWxlcyB0byBidWlsZCBhbmQgcnVuIG5vZGVsZXRlMiB0ZXN0LgoJKiBlbGYvbm9kZWxldGUyLmM6IE5ldyBmaWxlLgoJKiBlbGYvbm9kZWwybW9kMS5jOiBOZXcgZmlsZS4KCSogZWxmL25vZGVsMm1vZDIuYzogTmV3IGZpbGUuCgkqIGVsZi9ub2RlbDJtb2QzLmM6IE5ldyBmaWxlLgoKMjAwMy0wMS0wOSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBwb3NpeC90ZXN0LXZmb3JrLmMgKG5vb3ApOiBBZGQgX19hdHRyaWJ1dGVfbm9pbmxpbmVfXy4KCSogc3lzZGVwcy9nZW5lcmljL3N5c2RlcC5oIChKVU1QVEFSR0VUKTogRGVmaW5lIGlmIG5vdCBkZWZpbmVkLgoJKiBzeXNkZXBzL2kzODYvc3lzZGVwLmggKEpVTVBUQVJHRVQpOiBVbmRlZmluZSBKVU1QVEFSR0VUIGJlZm9yZQoJZGVmaW5pbmcgaXQuCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvc3lzZGVwLmggKEpVTVBUQVJHRVQpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9zeXNkZXAuaCAoSlVNUFRBUkdFVCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3MzOTAvczM5MC0zMi9zeXNkZXAuaCAoSlVNUFRBUkdFVCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3MzOTAvczM5MC02NC9zeXNkZXAuaCAoSlVNUFRBUkdFVCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3g4Nl82NC9zeXNkZXAuaCAoSlVNUFRBUkdFVCk6IExpa2V3aXNlLgoKMjAwMy0wMS0wOSAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIHN5c2RlcHMvbTY4ay9mcHUvbGlibS10ZXN0LXVscHM6IFJlZ2VuZXJhdGVkLgoKMjAwMy0wMS0wOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vc3lzZGVwLmggKElOVEVSTkFMX1NZU0NBTEwsCglJTlRFUk5BTF9TWVNDQUxMX0VSUk9SX1AsIElOVEVSTkFMX1NZU0NBTExfRVJSTk8pOiBBZGQgZXJyCglhcmd1bWVudC4KCShJTlRFUk5BTF9TWVNDQUxMX0RFQ0wpOiBEZWZpbmUuCgoyMDAzLTAxLTA2ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc3lzZGVwLmggKElOVEVSTkFMX1NZU0NBTEwsCglJTlRFUk5BTF9TWVNDQUxMX0VSUk9SX1AsIElOVEVSTkFMX1NZU0NBTExfRVJSTk8pOiBBZGQgZXJyCglhcmd1bWVudC4KCShJTlRFUk5BTF9TWVNDQUxMX0RFQ0wpOiBEZWZpbmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzMyL3N5c2RlcC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3lzZGVwLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3N5c2RlcC5oOiBMaWtld2lzZS4KCShJTkxJTkVfU1lTQ0FMTCk6IEFkanVzdC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL3N5c2RlcC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L3N5c2RlcC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9zeXNkZXAuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDogTGlrZXdpc2UuCgkqIGVsZi9kbC1taXNjLmMgKF9kbF9kZWJ1Z192ZHByaW50Zik6IEFkZCBJTlRFUk5BTF9TWVNDQUxMX0RFQ0wsCglhZGQgZXJyIGFyZ3VtZW50IHRvIElOVEVSTkFMX1NZU0NBTEwqIG1hY3Jvcy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9icmsuYyAoX19icmspOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zeXN0ZW0uYyAoY2FuY2VsX2hhbmRsZXIpOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9icmsuYyAoX19icmspOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9nZXRwYWdlc2l6ZS5jICAoX19nZXRwYWdlc2l6ZSk6CglMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2lnd2FpdC5jIChkb19zaWd3YWl0KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc2lnYWN0aW9uLmMgKF9fbGliY19zaWdhY3Rpb24pOiBVc2UKCUlOTElORV9TWVNDQUxMIGluc3RlYWQgb2YgSU5URVJOQUxfU1lTQ0FMTCBhbmQgc2V0dGluZyBlcnJuby4KCjIwMDMtMDEtMDcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCVVuaWZ5IHN5bWJvbHMgaW4gdXNlciBuYW1lc3BhY2UgZXhwb3J0ZWQgYnkgbGliYy5zbyBhbmQgbGliYy5hLgoJKiBhcmdwL2FyZ3AtZm10c3RyZWFtLmM6IERvbid0IGRlZmluZSBhcmdwX21ha2VfZm10c3RyZWFtLAoJYXJncF9mbXRzdHJlYW1fZnJlZSwgYW5kIGFyZ3BfZm10c3RyZWFtX3ByaW50Zi4KCSogYXJncC9hcmdwLWZzLXhpbmwuYzogRG9uJ3QgZGVmaW5lIGFyZ3BfZm10c3RyZWFtX3B1dGMsCglhcmdwX2ZtdHN0cmVhbV9wdXRzLCBhcmdwX2ZtdHN0cmVhbV93cml0ZSwgYXJncF9mbXRzdHJlYW1fc2V0X2xtYXJnaW4sCglhcmdwX2ZtdHN0cmVhbV9zZXRfcm1hcmdpbiwgYXJncF9mbXRzdHJlYW1fc2V0X3dtYXJnaW4sIGFuZAoJYXJncF9mbXRzdHJlYW1fcG9pbnQuCgkqIGdtb24vZ21vbi5jOiBEb24ndCBkZWZpbmUgd3JpdGVfcHJvZmlsaW5nLgoJKiBsaWJpby9nZW5vcHMuYzogRG9uJ3QgZGVmaW5lIF9jbGVhbnVwLgoKCSogaW50bC9leHBsb2RlbmFtZS5jIChfbmxfZmluZF9sYW5ndWFnZS5jKTogTWFyayBhcyBzdGF0aWMuCgkqIGludGwvbG9hZGluZm8uaDogUmVtb3ZlIF9ubF9maW5kX2xhbmd1YWdlIHByb3RvdHlwZS4KCgkqIGxpYmlvL2ZpbGVvcHMuYyAoX0lPX2ZpbGVfc2Vla29mZl9tYXliZV9tbWFwKTogTWFyayBhcyBzdGF0aWMuCgkqIGxpYmlvL2xpYmlvUC5oOiBSZW1vdmUgZGVjbGFyYXRpb24uCgoJKiBsaWJpby9pb3BvcGVuLmMgKF9JT19wcm9jX2p1bXBzKTogTWFyayBhcyBzdGF0aWMuCgkqIGxpYmlvL2xpYmlvUC5oOiBSZW1vdmUgZGVjbGFyYXRpb24uCgoJKiBzeXNkZXBzL2dlbmVyaWMvdW53aW5kLWR3Mi5jOiBNYXJrIF9fZnJhbWVfc3RhdGVfZm9yIHdpdGggU1RBVElDLgoJKiBzeXNkZXBzL2dlbmVyaWMvZnJhbWVzdGF0ZS5jOiBEZWZpbmUgU1RBVElDIGJlZm9yZSBpbmNsdWRpbmcKCXVud2luZC1kdzIuYy4KCgkqIHRpbWUvVmVyc2lvbnMgW0dMSUJDXzIuMy4yXSAobGliYyk6IEV4cG9ydCBzdHJwdGltZV9sLgoKMjAwMy0wMS0wNiAgUGhpbGlwIEJsdW5kZWxsICA8cGhpbGJAZ251Lm9yZz4KCgkqIHN5c2RlcHMvdW5peC9hcm0vc3lzZGVwLlMgKHN5c2NhbGxfZXJyb3IpOiBPcHRpbWlzZSBhIGxpdHRsZS4KCVtfX0xJQkNfUkVFTlRSQU5UXTogVW5pZnkgUElDIGFuZCBub24tUElDIGNhc2VzLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL3N5c2RlcC5oIChQU0VVRE8pOiBSZW1vdmUgLnR5cGUKCWRpcmVjdGl2ZS4KCShQU0VVRE9fUkVUKTogVXNlIFNZU0NBTExfRVJST1IgaW4gcGxhY2Ugb2YgX19zeXNjYWxsX2Vycm9yLgoJKFNZU0NBTExfRVJST1IpOiBOZXcuCgkoU1lTQ0FMTF9FUlJPUl9IQU5ETEVSKSBbTk9UX0lOX2xpYmNdOiBQcm92aWRlIGxvY2FsIGNvcHkgb2YgZXJyb3IKCWhhbmRsaW5nIGNvZGUuCgkoSU5URVJOQUxfU1lTQ0FMTCk6IERlZmluZS4KCShJTkxJTkVfU1lTQ0FMTCk6IFVzZSBpdC4KCShJTlRFUk5BTF9TWVNDQUxMX0VSUk9SX1AsIElOVEVSTkFMX1NZU0NBTExfRVJSTk8pOiBEZWZpbmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9zb2NrZXQuUyAoX19zb2NrZXQpOiBVc2UKCVNZU0NBTExfRVJST1IgaW4gcGxhY2Ugb2YgX19zeXNjYWxsX2Vycm9yLgoKMjAwMy0wMS0wNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2lhNjQvYml0cy9ieXRlc3dhcC5oIFtfX0dOVUNfXyA+PSAyXSAoX19ic3dhcF8xNiwKCV9fYnN3YXBfMzIsIF9fYnN3YXBfNjQpOiBQdXQgeCBpbnRvIHRlbXBvcmFyeSB2YXJpYWJsZQoJdG8gYXZvaWQgd2FybmluZ3MuCglbIV9fR05VQ19fXSAoX19ic3dhcF8xNiwgX19ic3dhcF8zMiwgX19ic3dhcF82NCk6IENoYW5nZSBpbnRvIHN0YXRpYwoJKGlubGluZSkgZnVuY3Rpb25zLgoJKiBzeXNkZXBzL3MzOTAvYml0cy9ieXRlc3dhcC5oIFtfX0dOVUNfXyA+PSAyXSAoX19ic3dhcF8xNiwKCV9fYnN3YXBfMzIsIF9fYnN3YXBfNjQpOiBQdXQgeCBpbnRvIHRlbXBvcmFyeSB2YXJpYWJsZQoJdG8gYXZvaWQgd2FybmluZ3MuCglbIV9fR05VQ19fXSAoX19ic3dhcF8xNiwgX19ic3dhcF8zMiwgX19ic3dhcF82NCk6IENoYW5nZSBpbnRvIHN0YXRpYwoJKGlubGluZSkgZnVuY3Rpb25zLgoJKiBzeXNkZXBzL2kzODYvYml0cy9ieXRlc3dhcC5oIFshX19HTlVDX19dIChfX2Jzd2FwXzE2LCBfX2Jzd2FwXzMyKToKCUxpa2V3aXNlLgoKMjAwMy0wMS0wNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9hZGp0aW1lLmMgKG50cF9hZGp0aW1lKTogTmV3IHdlYWsKCWFsaWFzLgoKMjAwMy0wMS0wNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBlbGYvcnRsZC5jIChfcnRsZF9nbG9iYWwpOiBSZW1vdmUgX2RsX2R5bmFtaWNfd2VhayBpbml0aWFsaXplci4KCSogZWxmL2RsLXN1cHBvcnQuYyAoX2RsX2R5bmFtaWNfd2Vhayk6IEluaXRpYWxpemUgdG8gMC4KCjIwMDMtMDEtMDcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWF0aC9saWJtLXRlc3QuaW5jIChzaWduaWZpY2FuZF90ZXN0KTogTmV3IGZ1bmN0aW9uLgoJKG1haW4pOiBDYWxsIGl0LgoKMjAwMy0wMS0wNiAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvaTM4Ni9pNDg2L2JpdHMvc3RyaW5nLmggKG1lbXNldCk6IEFkZCBwYXJlbnMgYXJvdW5kIG1hY3JvCglhcmd1bWVudHMuCgkobWVtY3B5LCBtZW1yY2hyLCBzdHJjcHksIF9fc3RwY3B5LCBzdHJuY3B5LCBzdHJjYXQpOiBMaWtld2lzZS4KCShzdHJjbXAsIHN0cm5jYXQsIHN0cm5jbXAsIHN0cmNociwgX19zdHJjaHJudWwsIHN0cmNocm51bCk6IExpa2V3aXNlLgoJKGluZGV4LCBzdHJyY2hyLCByaW5kZXgsIHN0cmNzcG4sIHN0cnNwbiwgc3RycGJyaywgc3Ryc3RyKTogTGlrZXdpc2UuCgoJKiBzdHJpbmcvdGVzdGVyLmMgKHRlc3Rfc3RyY3B5KTogQWRkIHRlc3Qgd2l0aCBgdm9pZCAqJyBhcmd1bWVudHMuCgoyMDAzLTAxLTA2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvaTM4Ni9mcHUvc19zaWduaWZpY2FuZGwuYyAoX19zaWduaWZpY2FuZGwpOiBSZWFsbHkKCXJldHVybiBzaWduaWZpY2FuZCBhbmQgbm90IHRoZSBleHBvbmVudC4KCVJlcG9ydGVkIGJ5IE5lbHNvbiBILiBGLiBCZWViZSA8YmVlYmVAbWF0aC51dGFoLmVkdT4uCgoJKiBlbGYvZGwtbWlzYy5jIChfZGxfZGVidWdfdmRwcmludGYpOiBIZWxwIFBQQyBwb3J0IGJ5IGV4cGxpY2l0bHkKCXRha2luZyBhZGRyZXNzIG9mIGlvdiBpbiBJTlRFUk5BTF9TWVNDQUxMIGNhbGwuICBQYXRjaCBieSBGcmFueiBTaXJsLgoKCSogbWFsbG9jL21hbGxvYy5jOiBNYXJrIGFsbCBfaW50XyogZnVuY3Rpb25zIGFzIHN0YXRpYy4KCjIwMDMtMDEtMDYgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L2FscGhhL3N5c2RlcC5oIChQU0VVRE8pOiBVc2UgUFNFVURPX1BSRVBBUkVfQVJHUy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvc2lnc3VzcGVuZC5TOiBBZGQgY2FuY2VsbGF0aW9uCgloYW5kbGluZy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvc2VsZWN0LlM6IExpa2V3aXNlLgoKMjAwMy0wMS0wNiAgRnJhbnogU2lybCAgPEZyYW56LlNpcmwta2VybmVsQGxhdXRlcmJhY2guY29tPgoKCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGMzMi9zeXNkZXAuaCAoUFNFVURPX1JFVCk6IEFkZCBicmFuY2ggaGludC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjMzIvc29ja2V0LlM6IEFkZCBjYW5jZWxsYXRpb24KCXN1cHBvcnQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzMyL3N5c2NhbGxzLmxpc3Q6IFJlbW92ZQoJZnRydW5jYXRlNjQsIHRydW5jYXRlNjQsIHByZWFkNjQgYW5kIHB3cml0ZTY0IGVudHJpZXMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzMyL3N5c2RlcC5oCgkoSU5MSU5FX1NZU0NBTEwpOiBBZGQgX19idWlsdGluX2V4cGVjdC4KCShMT0FEQVJHU19uKTogQWRkIGFyZ3VtZW50IHNpemUgc2FmZXR5IGNoZWNrcy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjMzIvZnRydW5jYXRlNjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzMyL3RydW5jYXRlNjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzMyL3ByZWFkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGMzMi9wcmVhZDY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGMzMi9wd3JpdGUuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzMyL3B3cml0ZTY0LmM6IE5ldyBmaWxlLgoKMjAwMy0wMS0wNiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvc3lzZGVwLWNhbmNlbC5oIChMSUJDX0NBTkNFTF9IQU5ETEVEKTogRGVmaW5lLgoJKiBzeXNkZXBzL2dlbmVyaWMvY3JlYXQuYzogSW5jbHVkZSBzeXNkZXAtY2FuY2VsLmguCgkoTElCQ19DQU5DRUxfSEFORExFRCk6IEFkZC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3N5c2RlcC5oCgkoaW5saW5lX3N5c2NhbGxfcjBfY29uc3RyYWludCk6IFJlbmFtZSB0by4uLgoJKGlubGluZV9zeXNjYWxsX3IwX291dF9jb25zdHJhaW50KTogLi4uIHRoaXMuICBBZGQgPS4KCShpbmxpbmVfc3lzY2FsbFswLTZdKTogVXNlIGlubGluZV9zeXNjYWxsX3IwX291dF9jb25zdHJhaW50LgoKMjAwMy0wMS0wNiAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIHN5c2RlcHMvbTY4ay9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX3J1bnRpbWVfc2V0dXApOiBNYWtlCglzdXJlIHRoaXMgaXMgYWx3YXlzIGlubGluZWQuCgkoZWxmX21hY2hpbmVfcmVsYSk6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9tNjhrL01ha2VmaWxlIChzeXNkZXAtQ0ZMQUdTKTogSW5jcmVhc2UgaW5saW5lIGxpbWl0LgoKMjAwMy0wMS0wNCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIE1ha2Vjb25maWcgKCtta2RlcCk6IEFkZCAtTVAgZmxhZy4KCVN1Z2dlc3RlZCBieSBBcnQgSGFhcyA8YWhhYXNAYWlybWFpbC5uZXQ+LgoKMjAwMy0wMS0wNSAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIHN5c2RlcHMvbTY4ay9NYWtlZmlsZSAoQ0ZMQUdTLS5vUyk6IEFwcGVuZCAtZlBJQy4KCjIwMDMtMDEtMDUgIEtheiBLb2ppbWEgIDxra29qaW1hQHJyLmlpajR1Lm9yLmpwPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvY2xvbmUuUyAoX19jbG9uZSk6IFVzZQoJU1lTQ0FMTF9FUlJPUl9IQU5ETEVSLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9waXBlLlMgKF9fbGliY19waXBlKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3NvY2tldC5TIChfX3NvY2tldCk6IExpa2V3aXNlLgoJQWRkIHN1cHBvcnQgZm9yIGNhbmNlbGxhdGlvbiBoYW5kbGluZy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvc3lzY2FsbC5TIChfX3N5c2NhbGwpOiBVc2UKCVNZU0NBTExfRVJST1JfSEFORExFUi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvdmZvcmsuUyAoX192Zm9yayk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9zeXNkZXAuaCAoUFNFVURPKTogTGlrZXdpc2UuCglBZGQgc3VwcG9ydCBmb3IgY2FuY2VsbGF0aW9uIGhhbmRsaW5nLgoJKFNZU0NBTExfRVJST1JfSEFORExFUik6IERlZmluZSBQSUMgdmFyaWFudHMuCgoyMDAzLTAxLTA0ICBGcmFueiBTaXJsICA8RnJhbnouU2lybC1rZXJuZWxAbGF1dGVyYmFjaC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGMzMi9zeXNjYWxscy5saXN0OiBNYXJrCglfX3N5c2NhbGxfcHJlYWQ2NCBhbmQgX19zeXNjYWxsX3B3cml0ZTY0IGNhbmNlbGFibGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzMyL3N5c2RlcC5oCgkoSU5URVJOQUxfU1lTQ0FMTCk6IE5ldyBtYWNyby4KCShMT0FEQVJHU18wLCBMT0FEQVJHU18xKTogRml4LgoKMjAwMy0wMS0wNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBNYWtlcnVsZXMgKGJ1aWxkLXNobGlwLWhlbHBlcik6IFVubGVzcyB0b2xkIG90aGVyd2lzZSwgYWRkCgktV2wsLXosZGVmcyB0byBsaW5rZXIgY29tbWFuZCBsaW5lLgoJKiBydC9NYWtlZmlsZSAobGlicnQuc28pOiBMaW5rIHdpdGggbGQuc28uCgkqIGRsZmNuL01ha2VmaWxlIChsaWJkbC5zbyk6IExpa2V3aXNlLgoKMjAwMy0wMS0wNSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtMzIvc29ja2V0LlM6IEFkZCBzdXBwb3J0IGZvcgoJY2FuY2VsbGF0aW9uIGhhbmRsaW5nLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvc29ja2V0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvc2lnc3VzcGVuZC5jOiBMaWtld2lzZS4KCjIwMDMtMDEtMDQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zeXN0ZW0uYyAoY2FuY2VsX2hhbmRsZXIpOiBDb3JyZWN0CglvcmRlciBvZiBwYXJhbWV0ZXJzIHBhc3NlZCB0byBraWxsLgoKMjAwMy0wMS0wNCAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L202OGsvYml0cy9zdGF0Lmg6IEFkZCBuYW5vc2Vjb25kIGZpZWxkcy4KCjIwMDMtMDEtMDMgIFBhdWwgRWdnZXJ0ICA8ZWdnZXJ0QHR3aW5zdW4uY29tPgoKCSogbWFsbG9jL29ic3RhY2suaCAoX19JTlRfVE9fUFRSKSBbX19TVERDX19dOiBDYXN0IHJlc3VsdCB0bwoJKHZvaWQgKikgdG8gYXZvaWQgZGlhZ25vc3RpYyB3aXRoIG5hdGl2ZSBjODkgb24gU0dJIElSSVggNi41Cgl3aGVuIGNvbXBpbGluZyBCaXNvbiAxLjg3NSdzIGBiaXRzZXQgYnNldCA9IG9ic3RhY2tfYWxsb2MKCShib2JzdGFjaywgYnl0ZXMpOycuICBQcm9ibGVtIHJlcG9ydGVkIGJ5IE5lbHNvbiBILiBGLiBCZWViZS4KCjIwMDMtMDEtMDQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9wb3NpeC9zeXN0ZW0uYyAoZG9fc3lzdGVtKTogTWlub3Igb3B0aW1pemF0aW9ucy4gIFJlbW92ZQoJdW5uZWNlc3NhcnkgY29kZS4KCUNvcnJlY3QgcmVmZXJlbmNlIGNvdW50ZXIgaW4gY2FzZSBTSUdRVUlUIGhhbmRsZXIgaW5zdGFsbGF0aW9uIGZhaWxlZC4KCjIwMDMtMDEtMDMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9saWJjLXN5bWJvbHMuaCBbSEFWRV9XRUFLX1NZTUJPTFNdIChfd2Vha19leHRlcm4pOgoJRGVmaW5lIHVzaW5nIF9QcmFnbWEod2VhayAuLi4pLgoKMjAwMy0wMS0wMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPiwgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHJlc29sdi9yZXNfbGliYy5jOiBQcm92aWRlIGRlY2xhcmF0aW9uIGZvciBfX3Jlc19pbml0X3dlYWsgYW5kCglyZW9yZGVyIGRlY2xhcmF0aW9ucy4KCjIwMDMtMDEtMDMgIEFydCBIYWFzICA8YWhhYXNAYWlybWFpbC5uZXQ+CgoJKiBsb2NhbGVkYXRhL3Rlc3RzLW1id2MvZGF0X2lzd2FsbnVtLmM6IENvbnZlcnQgR0NDIGV4dGVuc2lvbgoJaW5pdGlhbGl6ZXIgc3ludGF4IHRvIEM5OS4KCSogbG9jYWxlZGF0YS90ZXN0cy1tYndjL2RhdF9pc3dhbHBoYS5jOiBMaWtld2lzZS4KCSogbG9jYWxlZGF0YS90ZXN0cy1tYndjL2RhdF9pc3djbnRybC5jOiBMaWtld2lzZS4KCSogbG9jYWxlZGF0YS90ZXN0cy1tYndjL2RhdF9pc3djdHlwZS5jOiBMaWtld2lzZS4KCSogbG9jYWxlZGF0YS90ZXN0cy1tYndjL2RhdF9pc3dkaWdpdC5jOiBMaWtld2lzZS4KCSogbG9jYWxlZGF0YS90ZXN0cy1tYndjL2RhdF9pc3dncmFwaC5jOiBMaWtld2lzZS4KCSogbG9jYWxlZGF0YS90ZXN0cy1tYndjL2RhdF9pc3dsb3dlci5jOiBMaWtld2lzZS4KCSogbG9jYWxlZGF0YS90ZXN0cy1tYndjL2RhdF9pc3dwcmludC5jOiBMaWtld2lzZS4KCSogbG9jYWxlZGF0YS90ZXN0cy1tYndjL2RhdF9pc3dwdW5jdC5jOiBMaWtld2lzZS4KCSogbG9jYWxlZGF0YS90ZXN0cy1tYndjL2RhdF9pc3dzcGFjZS5jOiBMaWtld2lzZS4KCSogbG9jYWxlZGF0YS90ZXN0cy1tYndjL2RhdF9pc3d1cHBlci5jOiBMaWtld2lzZS4KCSogbG9jYWxlZGF0YS90ZXN0cy1tYndjL2RhdF9pc3d4ZGlnaXQuYzogTGlrZXdpc2UuCgkqIGxvY2FsZWRhdGEvdGVzdHMtbWJ3Yy9kYXRfbWJsZW4uYzogTGlrZXdpc2UuCgkqIGxvY2FsZWRhdGEvdGVzdHMtbWJ3Yy9kYXRfbWJybGVuLmM6IExpa2V3aXNlLgoJKiBsb2NhbGVkYXRhL3Rlc3RzLW1id2MvZGF0X21icnRvd2MuYzogTGlrZXdpc2UuCgkqIGxvY2FsZWRhdGEvdGVzdHMtbWJ3Yy9kYXRfbWJzcnRvd2NzLmM6IExpa2V3aXNlLgoJKiBsb2NhbGVkYXRhL3Rlc3RzLW1id2MvZGF0X21ic3Rvd2NzLmM6IExpa2V3aXNlLgoJKiBsb2NhbGVkYXRhL3Rlc3RzLW1id2MvZGF0X21idG93Yy5jOiBMaWtld2lzZS4KCSogbG9jYWxlZGF0YS90ZXN0cy1tYndjL2RhdF9zdHJjb2xsLmM6IExpa2V3aXNlLgoJKiBsb2NhbGVkYXRhL3Rlc3RzLW1id2MvZGF0X3N0cmZtb24uYzogTGlrZXdpc2UuCgkqIGxvY2FsZWRhdGEvdGVzdHMtbWJ3Yy9kYXRfc3RyeGZybS5jOiBMaWtld2lzZS4KCSogbG9jYWxlZGF0YS90ZXN0cy1tYndjL2RhdF9zd3NjYW5mLmM6IExpa2V3aXNlLgoJKiBsb2NhbGVkYXRhL3Rlc3RzLW1id2MvZGF0X3Rvd2N0cmFucy5jOiBMaWtld2lzZS4KCSogbG9jYWxlZGF0YS90ZXN0cy1tYndjL2RhdF90b3dsb3dlci5jOiBMaWtld2lzZS4KCSogbG9jYWxlZGF0YS90ZXN0cy1tYndjL2RhdF90b3d1cHBlci5jOiBMaWtld2lzZS4KCSogbG9jYWxlZGF0YS90ZXN0cy1tYndjL2RhdF93Y3J0b21iLmM6IExpa2V3aXNlLgoJKiBsb2NhbGVkYXRhL3Rlc3RzLW1id2MvZGF0X3djc2NhdC5jOiBMaWtld2lzZS4KCSogbG9jYWxlZGF0YS90ZXN0cy1tYndjL2RhdF93Y3NjaHIuYzogTGlrZXdpc2UuCgkqIGxvY2FsZWRhdGEvdGVzdHMtbWJ3Yy9kYXRfd2NzY21wLmM6IExpa2V3aXNlLgoJKiBsb2NhbGVkYXRhL3Rlc3RzLW1id2MvZGF0X3djc2NvbGwuYzogTGlrZXdpc2UuCgkqIGxvY2FsZWRhdGEvdGVzdHMtbWJ3Yy9kYXRfd2NzY3B5LmM6IExpa2V3aXNlLgoJKiBsb2NhbGVkYXRhL3Rlc3RzLW1id2MvZGF0X3djc2NzcG4uYzogTGlrZXdpc2UuCgkqIGxvY2FsZWRhdGEvdGVzdHMtbWJ3Yy9kYXRfd2NzbGVuLmM6IExpa2V3aXNlLgoJKiBsb2NhbGVkYXRhL3Rlc3RzLW1id2MvZGF0X3djc25jYXQuYzogTGlrZXdpc2UuCgkqIGxvY2FsZWRhdGEvdGVzdHMtbWJ3Yy9kYXRfd2NzbmNtcC5jOiBMaWtld2lzZS4KCSogbG9jYWxlZGF0YS90ZXN0cy1tYndjL2RhdF93Y3NuY3B5LmM6IExpa2V3aXNlLgoJKiBsb2NhbGVkYXRhL3Rlc3RzLW1id2MvZGF0X3djc3BicmsuYzogTGlrZXdpc2UuCgkqIGxvY2FsZWRhdGEvdGVzdHMtbWJ3Yy9kYXRfd2NzcnRvbWJzLmM6IExpa2V3aXNlLgoJKiBsb2NhbGVkYXRhL3Rlc3RzLW1id2MvZGF0X3djc3Nwbi5jOiBMaWtld2lzZS4KCSogbG9jYWxlZGF0YS90ZXN0cy1tYndjL2RhdF93Y3NzdHIuYzogTGlrZXdpc2UuCgkqIGxvY2FsZWRhdGEvdGVzdHMtbWJ3Yy9kYXRfd2NzdG9kLmM6IExpa2V3aXNlLgoJKiBsb2NhbGVkYXRhL3Rlc3RzLW1id2MvZGF0X3djc3Rvay5jOiBMaWtld2lzZS4KCSogbG9jYWxlZGF0YS90ZXN0cy1tYndjL2RhdF93Y3N0b21icy5jOiBMaWtld2lzZS4KCSogbG9jYWxlZGF0YS90ZXN0cy1tYndjL2RhdF93Y3N3aWR0aC5jOiBMaWtld2lzZS4KCSogbG9jYWxlZGF0YS90ZXN0cy1tYndjL2RhdF93Y3N4ZnJtLmM6IExpa2V3aXNlLgoJKiBsb2NhbGVkYXRhL3Rlc3RzLW1id2MvZGF0X3djdG9iLmM6IExpa2V3aXNlLgoJKiBsb2NhbGVkYXRhL3Rlc3RzLW1id2MvZGF0X3djdG9tYi5jOiBMaWtld2lzZS4KCSogbG9jYWxlZGF0YS90ZXN0cy1tYndjL2RhdF93Y3RyYW5zLmM6IExpa2V3aXNlLgoJKiBsb2NhbGVkYXRhL3Rlc3RzLW1id2MvZGF0X3djdHlwZS5jOiBMaWtld2lzZS4KCSogbG9jYWxlZGF0YS90ZXN0cy1tYndjL2RhdF93Y3dpZHRoLmM6IExpa2V3aXNlLgoKMjAwMy0wMS0wMyAgUmljaGFyZCBIZW5kZXJzb24gIDxydGhAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3N5c2RlcC5oIChpbmxpbmVfc3lzY2FsbF9yMF9hc20pOiBOZXcuCgkoaW5saW5lX3N5c2NhbGxfcjBfY29uc3RyYWludCk6IE5ldy4KCShpbmxpbmVfc3lzY2FsbFswLTZdKTogVXNlIHRoZW0uCgoyMDAzLTAxLTAzICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9sZHNvZGVmcy5oIChfZGxfYWxsb2NhdGVfdGxzLCBfZGxfZGVhbGxvY2F0ZV90bHMpOgoJQWRkIHJ0bGRfaGlkZGVuX3Byb3RvLgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtdGxzLmMgKF9kbF9kZWFsbG9jYXRlX3Rscyk6IEFkZCBydGxkX2hpZGRlbl9kZWYuCgkoX2RsX2FsbG9jYXRlX3Rscyk6IExpa2V3aXNlLiAgUmVtb3ZlIElOVERFRi4KCjIwMDItMDctMDUgIEtheiBLb2ppbWEgIDxra29qaW1hQHJyLmlpajR1Lm9yLmpwPgoKCSogc3lzZGVwcy9zaC9tZW1jcHkuUzogT3B0aW1pemUuICBCYXNlZCBvbiBhIHBhdGNoIGJ5IFRvc2hpeWFzdQoJTW9yaXRhIDx0b3NoaXlhc3UubW9yaXRhQGhzYS5oaXRhY2hpLmNvbT4uCgkqIHN5c2RlcHMvc2gvbWVtY3B5LlM6IExpa2V3aXNlLgoKMjAwMy0wMS0wMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3B0aHJlYWQvYWlvX3N1c3BlbmQuYyAoYWlvX3N1c3BlbmQpOiBEb24ndCBxdWl0ZSByZW1vdmUKCWFueSwgYnV0IHVuaWZ5IHRoZSB0ZXN0LgoKMjAwMy0wMS0wMiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vc2lnYWN0aW9uLmMgKF9fc2lnYWN0aW9uLAoJc2lnYWN0aW9uKTogUHJvdGVjdCB3ZWFrX2FsaWFzIGFuZCBsaWJjX2hpZGRlbl93ZWFrIHdpdGgKCSNpZm5kZWYgTElCQ19TSUdBQ1RJT04uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc2lnYWN0aW9uLmMgKF9fc2lnYWN0aW9uLAoJc2lnYWN0aW9uKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvc2lnYWN0aW9uLmMgKF9fc2lnYWN0aW9uLAoJc2lnYWN0aW9uKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9zaWdhY3Rpb24uYyAoX19zaWdhY3Rpb24sCglzaWdhY3Rpb24pOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9zaWdhY3Rpb24uYyAoX19zaWdhY3Rpb24sCglzaWdhY3Rpb24pOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9zaWdhY3Rpb24uYyAoX19zaWdhY3Rpb24sCglzaWdhY3Rpb24pOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3NpZ2FjdGlvbi5jIChfX3NpZ2FjdGlvbiwKCXNpZ2FjdGlvbik6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3NpZ2FjdGlvbi5jIChfX3NpZ2FjdGlvbiwKCXNpZ2FjdGlvbik6IExpa2V3aXNlLiAgUmVtb3ZlIFNJR0NBTkNFTCBoYW5kbGluZyBoZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaWdhY3Rpb24uYyAoX19zaWdhY3Rpb24sIHNpZ2FjdGlvbik6CglMaWtld2lzZS4KCjIwMDMtMDEtMDIgIEFydCBIYWFzICA8YWhhYXNAYWlybWFpbC5uZXQ+CgoJKiBsb2dpbi90c3QtdXRtcC5jOiBDb252ZXJ0IEdDQyBleHRlbnNpb24gaW5pdGlhbGl6ZXIgc3ludGF4IHRvIEM5OS4KCjIwMDMtMDEtMDIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvZ2V0Y29uZi5jOiBVcGRhdGUgY29weXJpZ2h0IHllYXIuCgkqIG5zcy9nZXRlbnQuYzogTGlrZXdpc2UuCgkqIG5zY2QvbnNjZF9uaXNjaGVjay5jOiBMaWtld2lzZS4KCSogaWNvbnYvaWNvbnZjb25maWcuYzogTGlrZXdpc2UuCgkqIGljb252L2ljb252X3Byb2cuYzogTGlrZXdpc2UuCgkqIGVsZi9sZGNvbmZpZy5jOiBMaWtld2lzZS4KCSogY2F0Z2V0cy9nZW5jYXQuYzogTGlrZXdpc2UuCgkqIGNzdS92ZXJzaW9uLmM6IExpa2V3aXNlLgoJKiBlbGYvbGRkLmJhc2guaW46IExpa2V3aXNlLgoJKiBlbGYvc3Byb2YuYyAocHJpbnRfdmVyc2lvbik6IExpa2V3aXNlLgoJKiBsb2NhbGUvcHJvZ3JhbXMvbG9jYWxlLmM6IExpa2V3aXNlLgoJKiBsb2NhbGUvcHJvZ3JhbXMvbG9jYWxlZGVmLmM6IExpa2V3aXNlLgoJKiBuc2NkL25zY2QuYyAocHJpbnRfdmVyc2lvbik6IExpa2V3aXNlLgoJKiBkZWJ1Zy94dHJhY2Uuc2g6IExpa2V3aXNlLgoJKiBtYWxsb2MvbWVtdXNhZ2Uuc2g6IExpa2V3aXNlLgoJKiBtYWxsb2MvbXRyYWNlLnBsOiBMaWtld2lzZS4KCjIwMDMtMDEtMDEgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogaW8vc3lzL3N0YXQuaDogSW5jbHVkZSB0aW1lLmggd2l0aCBfX25lZWRfdGltZXNwZWMgZXZlbiBpZgoJX19VU0VfTUlTQyBpcyBkZWZpbmVkIGJ1dCBfX1VTRV9YT1BFTiBpcyBub3QuCgoyMDAzLTAxLTAxICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiByZXNvbHYvbnNzX2Rucy9kbnMtaG9zdC5jIChfbnNzX2Ruc19nZXRob3N0YnlhZGRyX3IpOiBVc2UgdW5pb24KCXR5cGUgdG8gYXZvaWQgc3RyaWN0IGFsaWFzaW5nIHByb2JsZW0uCgkoX25zc19kbnNfZ2V0aG9zdGJ5bmFtZTJfcik6IExpa2V3aXNlLgoJKiByZXNvbHYvbnNzX2Rucy9kbnMtbmV0d29yay5jIChfbnNzX2Ruc19nZXRuZXRieWFkZHJfcik6IExpa2V3aXNlLgoJKF9uc3NfZG5zX2dldG5ldGJ5bmFtZV9yKTogTGlrZXdpc2UuCgkqIHJlc29sdi9nZXRobmFtYWRkci5jIChfZ2V0aHRlbnQpOiBMaWtld2lzZS4KCShnZXRob3N0YnluYW1lMik6IExpa2V3aXNlLgoKMjAwMi0xMi0zMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzdHJpbmcvc3RyaW5nLWlubGluZXMuYzogRGVmaW5lIF9fbWVtY3B5X2cgYW5kIF9fc3RyY2hyX2cgbWFjcm9zCgl0byBhdm9pZCB1c2luZyB0aGUgZXhwb3J0ZWQgc3ltYm9scy4gIERlZmluZSBhbGlhc2VzIHdpdGggdGhlCglvcmlnaW5hbCBuYW1lcyBzZXBhcmF0ZWx5LgoKCSogaW5jbHVkZS90aW1lLmg6IEFkZCBsaWJjX2hpZGRlbl9wcm90byBmb3IgX19zdHJmdGltZV9sLgoJKiBpbmNsdWRlL3djaGFyLmg6IEFkZCBsaWJjX2hpZGRlbl9wcm90byBmb3IgX193Y3NmdGltZV9sLgoJKiB0aW1lL3N0cmZ0aW1lLmM6IEFsd2F5cyB1c2UgbGliY19oaWRkZW5fZGVmIGlmIF9MSUJDLgoKCSogbGliaW8vbGliaW9QLmg6IEFkZCBsaWJjX2hpZGRlbl9wcm90byBmb3IgX0lPX2ZpbGVfb3Blbi4KCSogbGliaW8vZmlsZW9wcy5jOiBBZGQgbGliY19oaWRkZW5fZGVmIGZvciBfSU9fZmlsZV9vcGVuLgoKCSogbWFsbG9jL210cmFjZS5jOiBBZGQgbGliY19oaWRkZW5fcHJvdG8gYW5kIGxpYmNfaGlkZGVuX2RlZiBmb3IKCXRyX2JyZWFrLgoKCSogY3N1L01ha2VmaWxlIChyb3V0aW5lcyk6IEFkZCBkc29faGFuZGxlLgoJKiBjc3UvZHNvX2hhbmRsZS5jOiBOZXcgZmlsZS4KCjIwMDItMTItMzEgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBNYWtlcnVsZXMgKGNvbXBpbGUuUywgQ09NUElMRS5TKTogUmVtb3ZlIC1EQVNTRU1CTEVSIGhlcmUuCglVc2UgJChTLUNQUEZMQUdTKSBpbiBwbGFjZSBvZiAkKGFzbS1DUFBGTEFHUykuCgkoUy1DUFBGTEFHUyk6IEFkZCAtREFTU0VNQkxFUiBoZXJlIGluc3RlYWQuCgkoZ2VuZXJhdGUtbWQ1LCArbWFrZS1kZXBzKTogRml4IG1hZ2ljIHRvIGdldCAkKFMtQ1BQRkxBR1MpLgoKMjAwMi0xMi0zMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBtYWxsb2MvdGhyZWFkLW0uaCBbU0hBUkVEXSAodGhyZWFkX2F0Zm9yayk6IEFzc3VtZSBfX2Rzb19oYW5kbGUKCWlzIGF2YWlsYWJsZS4KCjIwMDItMTItMzEgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzMyL2tlcm5lbF9zdGF0Lmg6IFN5bmMKCXdpdGggTGludXgga2VybmVsLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzMyL2tlcm5lbF9zdGF0Lmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQva2VybmVsX3N0YXQuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEva2VybmVsX3N0YXQuaDogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9rZXJuZWxfc3RhdC5oCgkoX0hBVkVfU1RBVF9OU0VDLF9IQVZFX1NUQVRfTlNFQzY0KTogTmV3LgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveHN0YXRjb252LmMgKHhzdGF0X2NvbnYpOiBSZS1hZGQKCV9fdW51c2VkWzEtM10gc2luY2UgdGhleSdyZSBuZWVkZWQgYnkgc29tZSBwbGF0Zm9ybXMuICBIYW5kbGUKCV9IQVZFX1NUQVRfTlNFQyBhbmQgX0hBVkVfU1RBVF9OU0VDNjQuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvYml0cy9zdGF0Lmg6IEFkZCBuc2VjIHJlc29sdXRpb24KCWZvciBzdHJ1Y3RzIHN0YXQgYW5kIHN0YXQ2NC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9iaXRzL3N0YXQuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvYml0cy9zdGF0Lmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9iaXRzL3N0YXQuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvYml0cy9zdGF0Lmg6IExpa2V3aXNlLgoKCSogaW8vc3lzL3N0YXQuaCBbX19VU0VfTUlTQ106IERlZmluZSBfX25lZWRfdGltZXNwZWMgZm9yIHN0cnVjdCBzdGF0LgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveHN0YXRjb252LmMgKHhzdGF0X2NvbnYpOiBBZGp1c3QgZm9yCgluc2VjIHJlc29sdXRpb24gY2hhbmdlcy4KCSh4c3RhdDY0X2NvbnYpOiBMaWtld2lzZS4KCSh4c3RhdDMyX2NvbnYpOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2tlcm5lbF9zdGF0Lmg6IEFkZCBuc2VjIHJlc29sdXRpb24gZm9yCglzdHJ1Y3Qga2VybmVsX3N0YXQuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3N0YXQuaDogQWRkIG5zZWMgcmVzb2x1dGlvbiBmb3IKCXN0cnVjdHMgc3RhdCBhbmQgc3RhdDY0LgoKCSogdGltZS90aW1lLmggKF9fdGltZXNwZWNfZGVmaW5lZCk6IERlZmluZSBmb3IgX19VU0VfTUlTQy4KCjIwMDItMTItMzEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9zaWduYWwuaDogQWRkIGxpYmNfaGlkZGVuX3Byb3RvIGZvciBfX2xpYmNfY3VycmVudF9zaWdydG1pbgoJYW5kIF9fbGliY19jdXJyZW50X3NpZ3J0bWF4LgoKMjAwMi0xMi0zMSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2Vycm5vLmggKF9fZXJybm9fbG9jYXRpb24pOiBBZGQgcHJvdG90eXBlLgoJVXNlIGxpYmNfaGlkZGVuX3Byb3RvIHVuY29uZGl0aW9uYWxseS4KCSogaW5jbHVkZS9uZXRkYi5oIChfX2hfZXJybm9fbG9jYXRpb24pOiBVc2UgbGliY19oaWRkZW5fcHJvdG8KCXVuY29uZGl0aW9uYWxseS4KCSogaW5jbHVkZS9yZXNvbHYuaCAoX19yZXNfc3RhdGUpOiBMaWtld2lzZS4KCgkqIGh1cmQvZXJybm8tbG9jLmMgKF9fZXJybm9fbG9jYXRpb24pOiBBZGQgbGliY19oaWRkZW5fZGVmLgoJKiBpbmNsdWRlL3N5cy9zb2NrZXQuaCAoYWNjZXB0KTogQWRkIGxpYmNfaGlkZGVuX3Byb3RvLgoJKiBpbmNsdWRlL2Vycm5vLmggKF9fZXJybm9fbG9jYXRpb24pOiBMaWtld2lzZS4KCSogaW5jbHVkZS9uZXRkYi5oIChfX2hfZXJybm9fbG9jYXRpb24pOiBMaWtld2lzZS4KCSogaW5jbHVkZS9yZXNvbHYuaCAoX19yZXNfc3RhdGUpOiBMaWtld2lzZS4KCSogaW5jbHVkZS91bmlzdGQuaCAoX19sc2Vlayk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvZXJybm8tbG9jLmMgKF9fZXJybm9fbG9jYXRpb24pOiBBZGQgbGliY19oaWRkZW5fZGVmLgoJKiBzeXNkZXBzL2dlbmVyaWMvaGVycm5vLWxvYy5jIChfX2hfZXJybm9fbG9jYXRpb24pOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL3Jlcy1zdGF0ZS5jIChfX3Jlc19zdGF0ZSk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvYWNjZXB0LmMgKGFjY2VwdCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvbHNlZWsuYyAoX19sc2Vlayk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvYWxsb2NydHNpZy5jIChfX2xpYmNfY3VycmVudF9zaWdydG1pbiwKCV9fbGliY19jdXJyZW50X3NpZ3J0bWF4KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbWFjaC9odXJkL2FjY2VwdC5jIChhY2NlcHQpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9tYWNoL2h1cmQvbHNlZWsuYyAoX19sc2Vlayk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvYWNjZXB0LmMgKGFjY2VwdCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvbHNlZWsuYyAoX19sc2Vlayk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hY2NlcHQuUyAoYWNjZXB0KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9pbmV0L3N5c2NhbGxzLmxpc3QgKF9fR0lfYWNjZXB0KTogTmV3IGFsaWFzIHRvIGFjY2VwdC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvc3lzY2FsbHMubGlzdCAoX19HSV9hY2NlcHQpOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS9zeXNjYWxscy5saXN0IChfX0dJX2FjY2VwdCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3N5c2NhbGxzLmxpc3QgKF9fR0lfX19sc2Vlayk6IE5ldwoJYWxpYXMgdG8gbGxzZWVrLgoJKF9fR0lfYWNjZXB0KTogTmV3IGFsaWFzIHRvIGFjY2VwdC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9zeXNjYWxscy5saXN0IChfX0dJX2FjY2VwdCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvc3lzY2FsbHMubGlzdCAoX19HSV9fX2xzZWVrKToKCU5ldyBhbGlhcyB0byBsbHNlZWsuCgkoX19HSV9hY2NlcHQpOiBOZXcgYWxpYXMgdG8gYWNjZXB0LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L3N5c2NhbGxzLmxpc3QgKF9fR0lfYWNjZXB0KToKCUxpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzY2FsbHMubGlzdCAoX19HSV9hY2NlcHQpOgoJTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXNjYWxscy5saXN0IChfX0dJX19fbHNlZWspOiBOZXcgYWxpYXMgdG8gbHNlZWsuCgoJKiBzeXNkZXBzL2FscGhhL3NldGptcC5TIDogVXNlIGxpYmNfaGlkZGVuX2RlZihuYW1lKSBpbnN0ZWFkIG9mCglzdHJvbmdfYWxpYXMgKG5hbWUsIF9fR0lfbmFtZSkuCgkqIHN5c2RlcHMvYXJtL2JzZC1fc2V0am1wLlMgOiBMaWtld2lzZS4KCSogc3lzZGVwcy9ocHBhL2JzZC1fc2V0am1wLlMgOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2JzZC1fc2V0am1wLlMgOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL21pcHM2NC9ic2QtX3NldGptcC5TIDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbWlwcy9ic2QtX3NldGptcC5TIDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvYnNkLV9zZXRqbXAuUyA6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzY0L3NldGptcC5TIDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvczM5MC9zMzkwLTMyL2VsZi9zZXRqbXAuUyA6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3MzOTAvczM5MC0zMi9ic2QtX3NldGptcC5TIDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvczM5MC9zMzkwLTY0L2VsZi9zZXRqbXAuUyA6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3MzOTAvczM5MC02NC9ic2QtX3NldGptcC5TIDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc2gvYnNkLV9zZXRqbXAuUyA6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvc2V0am1wLlMgOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L2FybS9mb3JrLlMgOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L2JzZC9ocC9tNjhrL3Zmb3JrLlMgOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L2JzZC9pMzg2L3Zmb3JrLlMgOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L2JzZC9vc2YvYWxwaGEvZm9yay5TIDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9ic2Qvc3VuL202OGsvdmZvcmsuUyA6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvYnNkL3VsdHJpeDQvbWlwcy92Zm9yay5TIDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9ic2QvdmF4L3Zmb3JrLlMgOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L2kzODYvZm9yay5TIDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9taXBzL2ZvcmsuUyA6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3BhcmMvZm9yay5TIDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zcGFyYy92Zm9yay5TIDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS92Zm9yay5TIDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2NyaXMvdmZvcmsuUyA6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3Zmb3JrLlMgOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9mb3JrLlMgOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zZXRqbXAuUyA6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3Zmb3JrLlMgOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay92Zm9yay5TIDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3Zmb3JrLlMgOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9sb25nam1wLlMgOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9zZXRqbXAuUyA6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9mb3JrLlMgOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvdmZvcmsuUyA6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvdmZvcmsuUyA6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvZm9yay5TIDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdmF4L2JzZC1fc2V0am1wLlMgOiBMaWtld2lzZS4KCSogc3lzZGVwcy94ODZfNjQvYnNkLV9zZXRqbXAuUyA6IExpa2V3aXNlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zeXNkZXAuaDogR3VhcmQgYWdhaW5zdCBtdWx0aXBsZQoJaW5jbHVzaW9uLgoKMjAwMi0xMi0zMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL3VuaXN0ZC5oOiBBZGQgbGliY19oaWRkZW5fcHJvdG8gZm9yIF9fZm9yayBhbmQgX192Zm9yay4KCSogc3lzZGVwcy9nZW5lcmljL2ZvcmsuYzogQWRkIGxpYmNfaGlkZGVuX2RlZiBmb3IgX19mb3JrLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9mb3JrLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvZm9yay5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L2ZvcmsuUzogQWRkIF9fR0lfX19mb3JrIGFsaWFzLgoJKiBzeXNkZXBzL3VuaXgvYXJtL2ZvcmsuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9ic2Qvb3NmL2FscGhhL2ZvcmsuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9pMzg2L2ZvcmsuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9taXBzL2ZvcmsuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zcGFyYy9mb3JrLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2ZvcmsuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL2ZvcmsuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5c2NhbGxzLmxpc3Q6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvdmZvcmsuYzogQWRkIGxpYmNfaGlkZGVuX2RlZiBmb3IgX192Zm9yay4KCSogc3lzZGVwcy91bml4L2JzZC9ocC9tNjhrL3Zmb3JrLlM6IEFkZCBfX0dJX19fdmZvcmsgYWxpYXMuCgkqIHN5c2RlcHMvdW5peC9ic2QvaTM4Ni92Zm9yay5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L2JzZC9zdW4vbTY4ay92Zm9yay5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L2JzZC91bHRyaXg0L21pcHMvdmZvcmsuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9ic2QvdmF4L3Zmb3JrLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3BhcmMvdmZvcmsuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS92Zm9yay5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY3Jpcy92Zm9yay5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni92Zm9yay5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC92Zm9yay5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay92Zm9yay5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvdmZvcmsuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3Zmb3JrLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvdmZvcmsuUzogTGlrZXdpc2UuCgoJKiBpbmNsdWRlL3RpbWUuaDogQWRkIGxpYmNfaGlkZGVuX3Byb3RvIGZvciBfX25hbm9zbGVlcC4KCSogc3lzZGVwcy9nZW5lcmljL25hbm9zbGVlcC5jOiBBZGQgbGliY19oaWRkZW5fZGVmIGZvciBfX25hbm9zbGVlcC4KCSogc3lzZGVwcy9tYWNoL25hbm9zbGVlcC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L25hbm9zbGVlcC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzY2FsbHMubGlzdDogQWRkIF9fR0lfX19uYW5vc2xlZXAgYWxpYXMuCgoJKiBsaWJpby9saWJpb1AuaDogQWRkIGxpYmNfaGlkZGVuX3Byb3RvIGZvciBfSU9fbGlzdF9sb2NrLAoJX0lPX2xpc3RfdW5sb2NrLCBhbmQgX0lPX2xpc3RfcmVzZXRsb2NrLgoJKiBsaWJpby9nZW5vcHMuYzogQWRkIGxpYmNfaGlkZGVuX2RlZiBmb3IgX0lPX2xpc3RfbG9jaywKCV9JT19saXN0X3VubG9jaywgYW5kIF9JT19saXN0X3Jlc2V0bG9jay4KCgkqIGxpYmlvL2xpYmlvUC5oOiBBZGQgbGliY19oaWRkZW5fcHJvdG8gZm9yIF9JT19pdGVyX2JlZ2luLAoJX0lPX2l0ZXJfZW5kLCBfSU9faXRlcl9uZXh0LCBhbmQgX0lPX2l0ZXJfZmlsZS4KCSogbGliaW8vZ2Vub3BzLmM6IEFkZCBsaWJjX2hpZGRlbl9kZWYgZm9yIF9JT19pdGVyX2JlZ2luLAoJX0lPX2l0ZXJfZW5kLCBfSU9faXRlcl9uZXh0LCBhbmQgX0lPX2l0ZXJfZmlsZS4KCgkqIGluY2x1ZGUvc2V0am1wLmg6IEFkZCBsaWJjX2hpZGRlbl9wcm90byBmb3IgX19saWJjX2xvbmdqbXAuCgkqIHN5c2RlcHMvZ2VuZXJpYy9sb25nam1wLmM6IEFkZCBsaWJjX2hpZGRlbl9kZWYgZm9yIF9fbG9uZ2ptcC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9sb25nam1wLlM6IEFkZAoJX19HSV9fX2xvbmdqbXAgYWxpYXMuCgoJKiBpbmNsdWRlL3NldGptcC5oOiBBZGQgbGliY19oaWRkZW5fcHJvdG8gZm9yIF9zZXRqbXAuCgkqIHN5c2RlcHMvYWxwaGEvc2V0am1wLlM6IEFkZCBfX0dJX19zZXRqbXAgYWxpYXMuCgkqIHN5c2RlcHMvYXJtL2JzZC1fc2V0am1wLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvYnNkLV9zZXRqbXAuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaHBwYS9ic2QtX3NldGptcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2JzZC1fc2V0am1wLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL202OGsvYnNkLV9zZXRqbXAuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbWlwcy9ic2QtX3NldGptcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL21pcHM2NC9ic2QtX3NldGptcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGMzMi9ic2QtX3NldGptcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9zZXRqbXAuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvczM5MC9zMzkwLTMyL2JzZC1fc2V0am1wLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3MzOTAvczM5MC0zMi9lbGYvc2V0am1wLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3MzOTAvczM5MC02NC9ic2QtX3NldGptcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zMzkwL3MzOTAtNjQvZWxmL3NldGptcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zaC9ic2QtX3NldGptcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3NldGptcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zZXRqbXAuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvc2V0am1wLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3ZheC9ic2QtX3NldGptcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy94ODZfNjQvYnNkLV9zZXRqbXAuUzogTGlrZXdpc2UuCgoyMDAyLTEyLTMwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hbGxvYy90aHJlYWQtbS5oICh0aHJlYWRfYXRmb3JrKTogRGVmaW5lIHVzaW5nIF9fcmVnaXN0ZXJfYXRmb3JrLgoKMjAwMi0xMi0zMCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIFJ1bGVzIChnZW5lcmF0ZWQpOiBUYXJnZXQgcmVtb3ZlZC4KCSogbWFjaC9NYWtlZmlsZSAoZ2VuZXJhdGVkKTogRGVmaW5lIGl0IGhlcmUgaW5zdGVhZC4KCgkqIG1hdGgvTWFrZWZpbGUgKGdlbmVyYXRlZCk6IEFkZCBtXypsIGFuZCBtXypmIHZhcmlhbnRzIHRvby4KCjIwMDItMTItMzAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZWxmL2RsLWNsb3NlLmMgKF9kbF9jbG9zZSk6IEhhbmRsZSByZWxvY2F0aW9uIGRlcGVuZGVuY2llcyBhbW9uZwoJdGhlIHRvLWJlLWRlbGV0ZWQgb2JqZWN0cyByaWdodCBhd2F5IGluc3RlYWQgb2YgbGF0ZXIgc2VwYXJhdGVseS4KCVRoZSBsYXR0ZXIgZmFpbHMgYmVjYXVzZSB0aGUgc2NvcGUgZGF0YSBzdHJ1Y3R1cmVzIG9mIHRoZSBEU08KCW1pZ2h0IGFscmVhZHkgYmUgZ29uZS4KCgkqIGVsZi9NYWtlZmlsZTogQWRkIHJ1bGVzIHRvIGJ1aWxkIGFuZCBydW4gcmVsZGVwOCB0ZXN0LgoJKiBlbGYvcmVsZGVwOC5jOiBOZXcgZmlsZS4KCSogZWxmL3JlbGRlcDhtb2QxLmM6IE5ldyBmaWxlLgoJKiBlbGYvcmVsZGVwOG1vZDIuYzogTmV3IGZpbGUuCgkqIGVsZi9yZWxkZXA4bW9kMy5jOiBOZXcgZmlsZS4KCUNvbnRyaWJ1dGVkIGJ5IEpha3ViIEplbGluZWsuCgoyMDAyLTEyLTI0ICBHT1RPIE1hc2Fub3JpICA8Z290b21AZGViaWFuLm9yLmpwPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZ2V0ZGVudHMuYyAoX19HRVRERU5UUyk6IEZpeCBjb25kaXRpb24KCWNoZWNraW5nIG9mIHJldHVybiB2YWx1ZSBFTk9TWVMgZnJvbSBnZXRkZW50czY0LgoKMjAwMi0xMi0yOCAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9NYWtlZmlsZTogSW5jbHVkZSAkKGNvbW1vbi1vYmpwZngpcy1wcm90by1jYW5jZWwuZC4KCSgkKGNvbW1vbi1vYmpwZngpcy0lLmQpOiBHZW5lcmFsaXplZCBmcm9tCgkkKGNvbW1vbi1vYmpwZngpcy1wcm90by5kIHJ1bGUuCgkoY29tbW9uLWdlbmVyYXRlZCk6IEFkZCBzLXByb3RvLWNhbmNlbC5kLgoJKiBzeXNkZXBzL3VuaXgvbWFrZS1zeXNjYWxscy5zaDogVXNlIHMtcHJvdG8tY2FuY2VsLmQgZm9yCgljYW5jZWxsYWJsZSBzeXNjYWxscy4KCSogc3lzZGVwcy91bml4L3MtcHJvdG8tY2FuY2VsLlM6IE5ldyBmaWxlLgoKMjAwMi0xMi0yOSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIHJlc29sdi9yZXNfbGliYy5jOiBNb3ZlIF9yZXMgZGVmbiBtYWdpYyBhZnRlciByZXNfaW5pdCBkZWZuCglzbyBfcmVzIG1hY3JvIGlzIGluIGVmZmVjdCBmb3IgdGhhdCBjb2RlLgoKCSogTWFrZXJ1bGVzICgkKGNvbW1vbi1vYmpwZngpJS5oICQoY29tbW9uLW9ianBmeCklLmguZCk6IEZpeCBzZWQKCXBhdHRlcm4gZm9yIHByZXBlbmRpbmcgJCguLikgc28gaXQgZG9lc24ndCBhZmZlY3QgJChmb28pLgoKCSogbWF0aC9NYWtlZmlsZSAoZ2VuZXJhdGVkKTogQWRkICQoYWRkc3VmZml4IC5jIC5TLCQoY2FsbHM6c18lPW1fJSkpLgoKMjAwMi0xMi0yOSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBlbGYvY2FjaGUuYyAoYWRkX3RvX2NhY2hlKTogRG9uJ3QgbG9vcCBmb3JldmVyIHdpdGggMVVMTCA8PCA2MyBzZXQKCWluIGh3Y2FwLgoKMjAwMi0xMi0yOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBtaXNjL3N5cy9jZGVmcy5oIChfX2F0dHJpYnV0ZV9kZXByZWNhdGVkX18pOiBOZXcgI2RlZmluZS4KCjIwMDItMTItMjggIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9yZWFkZWxmbGliLmMgKHByb2Nlc3NfZWxmX2ZpbGUpOiBDYXN0IHZhbHVlIHRvCglhdm9pZCB3YXJuaW5nLgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtY2FjaGUuYyAoX2RsX2xvYWRfY2FjaGVfbG9va3VwKTogTGlrZXdpc2UuCgoyMDAyLTEyLTI3ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGluZXQvaGVycm5vLmMgKF9faF9lcnJub19sb2NhdGlvbik6IFJlbW92ZS4KCSogaW5ldC9NYWtlZmlsZSAocm91dGluZXMpOiBBZGQgaGVycm5vLWxvYy4KCSogcmVzb2x2L3Jlc19saWJjLmMgKF9fcmVzX3N0YXRlKTogUmVtb3ZlLgoJKiByZXNvbHYvTWFrZWZpbGUgKHJvdXRpbmVzKTogQWRkIHJlcy1zdGF0ZS4KCSogc3lzZGVwcy9nZW5lcmljL2hlcnJuby1sb2MuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9yZXMtc3RhdGUuYzogTmV3IGZpbGUuCgoyMDAyLTEyLTI3ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc3lzZGVwLmggKEkzODZfVVNFX1NZU0VOVEVSKToKCU9ubHkgZGVmaW5lIGlmIFVTRV9ETF9TWVNJTkZPIGlzIGRlZmluZWQuCgoyMDAyLTEyLTIyICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc3lzZGVwLmggKElOTElORV9TWVNDQUxMLAoJSU5URVJOQUxfU1lTQ0FMTCwgSU5URVJOQUxfU1lTQ0FMTF9FUlJPUl9QLCBJTlRFUk5BTF9TWVNDQUxMX0VSUk9SKToKCURlZmluZS4gUGF0Y2ggYnkgUmljaGFyZCBIZW5kZXJzb24gYW5kIEplcyBTb3JlbnNlbi4KCShQU0VVRE8pOiBSZW1vdmUgdW5uZWNlc3NhcnkgOzsuCgkqIGVsZi9ydGxkLmMgKGRsX21haW4pOiBJbml0aWFsaXplIFRMUyBldmVuIGlmIG5vIFBUX1RMUyBzZWdtZW50cwoJYXJlIGZvdW5kIHVubGVzcyBUTFNfSU5JVF9UUF9FWFBFTlNJVkUuICBVc2UgTk9OVExTX0lOSVRfVFAuCgkqIHN5c2RlcHMvZ2VuZXJpYy9saWJjLXRscy5jIChfX2xpYmNfc2V0dXBfdGxzKTogVXNlIE5PTlRMU19JTklUX1RQCglpZiBub3QgaW5pdGlhbGl6aW5nIHRocmVhZCBwb2ludGVyLgoJWyFVU0VfVExTICYmIE5PTlRMU19JTklUX1RQXSAoX19wdGhyZWFkX2luaXRpYWxpemVfbWluaW1hbCk6IE5ldy4KCSogc3lzZGVwcy9nZW5lcmljL2xpYmMtc3RhcnQuYyAoX19wdGhyZWFkX2luaXRpYWxpemVfbWluaW1hbCk6IERvbid0CgltYWtlIGl0IHdlYWsgYWxzbyBpZiBOT05UTFNfSU5JVF9UUC4KCSogc3lzZGVwcy91bml4L2NvbW1vbi9wYXVzZS5jOiBIYW5kbGUgY2FuY2VsbGF0aW9uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzMyL3N5c2RlcC5oIFtET05UX0xPQURfRzFdCgkoTE9BRFNZU0NBTEwpOiBSZW1vdmUuCgkoU1lTQ0FMTF9FUlJPUl9IQU5ETEVSX0VOVFJZKTogRGVmaW5lLgoJKFNZU0NBTExfRVJST1JfSEFORExFUik6IFVzZSBpdC4KCShQU0VVRE8pOiBEb24ndCBqdW1wIGFyb3VuZCBlcnJvciBoYW5kbGVyLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzMyL3BpcGUuUyAoX19saWJjX3BpcGUpOiBEb24ndAoJanVtcCBhcm91bmQgZXJyb3IgaGFuZGxlci4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9zeXNjYWxsLlMgKHN5c2NhbGwpOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9zb2NrZXQuUyAoX19zb2NrZXQpOiBCcmFuY2gKCXRvIF9fc3lzY2FsbF9lcnJvcl9oYW5kbGVyIG9uIGZhaWx1cmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvc3lzZGVwLmggW0RPTlRfTE9BRF9HMV0KCShMT0FEU1lTQ0FMTCk6IFJlbW92ZS4KCShTWVNDQUxMX0VSUk9SX0hBTkRMRVJfRU5UUlkpOiBEZWZpbmUuCgkoU1lTQ0FMTF9FUlJPUl9IQU5ETEVSKTogVXNlIGl0LgoJKFBTRVVETyk6IERvbid0IGp1bXAgYXJvdW5kIGVycm9yIGhhbmRsZXIuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvcGlwZS5TIChfX2xpYmNfcGlwZSk6IERvbid0CglqdW1wIGFyb3VuZCBlcnJvciBoYW5kbGVyLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L3N5c2NhbGwuUyAoc3lzY2FsbCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L3NvY2tldC5TIChfX3NvY2tldCk6IEJyYW5jaAoJdG8gX19zeXNjYWxsX2Vycm9yX2hhbmRsZXIgb24gZmFpbHVyZS4KCjIwMDItMTItMjcgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBzY3JpcHRzL2dlbi1hcy1jb25zdC5hd2s6IE5ldyBmaWxlLgoJKiBNYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCBpdC4KCSogTWFrZXJ1bGVzICgkKGNvbW1vbi1vYmpwZngpJS5oICUuaC5kOiAlLnN5bSk6IE5ldyBwYXR0ZXJuIHJ1bGUuCgkoYmVmb3JlLWNvbXBpbGUpOiBBZGQgJChnZW4tYXMtY29uc3QtaGVhZGVyczolLnN5bT0kKGNvbW1vbi1vYmpwZngpJS5oKQoJdG8gdGhlIGxpc3QuCgkoK2RlcGZpbGVzKTogQWRkICQoYWRkcHJlZml4ICQoY29tbW9uLW9ianBmeCksJChnZW4tYXMtY29uc3QtaGVhZGVycykpLgoKMjAwMi0xMi0yNyAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L202OGsvc29ja2V0LlM6IEFkZCBjYW5jZWxsYXRpb24gc3VwcG9ydC4KCjIwMDItMTItMjcgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogbWFsbG9jL2FyZW5hLmMgKHB0bWFsbG9jX2luaXQpOiBEb24ndCBjYWxsIG5leHRfZW52X2VudHJ5IGlmCglfZW52aXJvbiBpcyBOVUxMLgoKMjAwMi0xMi0yNyAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIE1ha2VydWxlcyAoJChjb21tb24tb2JqcGZ4KSUubWFrZSk6IEZpbHRlciB0aHJvdWdoCgkkKHNlZC1yZW1vdmUtb2JqcGZ4KS4KCjIwMDItMTItMjMgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBzY3JpcHRzL2FiaWxpc3QuYXdrOiBQcm9kdWNlIGEgbW9yZSBjb21wYWN0IGZvcm1hdCwgZGl2aWRlZCBpbnRvCglzdGFuemFzIGZvciBlYWNoIHZlcnNpb24gc2V0LCB0aGUgc2V0IG5hbWUgbGlzdGVkIG9ubHkgb25jZS4KCSogc2NyaXB0cy9leHRyYWN0LWFiaWxpc3QuYXdrOiBOZXcgZmlsZS4KCSogc2NyaXB0cy9tZXJnZS1hYmlsaXN0LmF3azogTmV3IGZpbGUuCgkqIE1ha2VydWxlcyAoY2hlY2stYWJpLSUsIHVwZGF0ZS1hYmktJSk6IE5ldyBwYXR0ZXJuIHJ1bGVzLgoJKHVwZGF0ZS1hYmksIGNoZWNrLWFiaSk6IE5ldyB0YXJnZXRzLgoJKiBNYWtlZmlsZSAoK3N1YmRpcl90YXJnZXRzKTogQWRkIHN1YmRpcl97Y2hlY2ssdXBkYXRlfS1hYmkuCgoyMDAyLTEyLTE5ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogTWFrZXJ1bGVzICglLnN5bWxpc3QpOiBVc2UgTENfQUxMPUMgd2hlbiBydW5uaW5nIGF3ayBzY3JpcHQuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2Jyay5jIChfX2Jyayk6IENhc3QgcmVzdWx0IG9mCglJTlRFUk5BTF9TWVNDQUxMLgoKMjAwMi0xMi0yMSAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIGVsZi9jaGVjay10ZXh0cmVsLmMgKGhhbmRsZV9maWxlKTogU3dhcCBwX3R5cGUuCgoyMDAyLTEyLTIxICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9zeXNkZXAuaCAoSU5URVJOQUxfU1lTQ0FMTCk6IERlZmluZS4KCShJTkxJTkVfU1lTQ0FMTCk6IFVzZSBpdC4KCShJTlRFUk5BTF9TWVNDQUxMX0VSUk9SX1AsIElOVEVSTkFMX1NZU0NBTExfRVJSTk8pOiBEZWZpbmUuCgkoU1lTQ0FMTF9FUlJPUl9IQU5ETEVSKTogRGVmaW5lIFJUTERfUFJJVkFURV9FUlJOTyB2YXJpYW50LgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9nZXRwYWdlc2l6ZS5jOiBVc2UgSU5URVJOQUxfU1lTQ0FMTC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9icmsuYzogTGlrZXdpc2UuCgoyMDAyLTEyLTIwICBBcnQgSGFhcyAgPGFoYWFzQGFpcm1haWwubmV0PgoKCSogc3lzZGVwcy9nbnUvc2lnbGlzdC5jOiBDb252ZXJ0IEdDQyBleHRlbnNpb24gaW5pdGlhbGl6ZXIKCXN5bnRheCB0byBDOTkuCgoyMDAyLTEyLTIxICBQaGlsaXAgQmx1bmRlbGwgIDxwaGlsYkBnbnUub3JnPgoKCSogc3lzZGVwcy9hcm0vZWxmL3N0YXJ0LlMgKF9zdGFydCk6IE9wdGltaXNlIGEgbGl0dGxlLiAgUHVzaCBzdGFjawoJdG9wIGFzIHNldmVudGggYXJnIHRvIF9fbGliY19zdGFydF9tYWluLgoJUmVwb3J0ZWQgYnkgcGF1bG5hc2hAd2lsZHNlZWQuY29tLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2Nsb25lLlM6IFNtYWxsIG9wdGltaXNhdGlvbi4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9zaWdjb250ZXh0aW5mby5oOiBFbGlkZQoJY29tcGF0aWJpbGl0eSBjcnVmdCB3aGVuIG5ldyBlbm91Z2gga2VybmVsIGlzIGFzc3VtZWQuCgoyMDAyLTEyLTIwICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvYnJrLmMgKF9fYnJrKTogVXNlIElOVEVSTkFMX1NZU0NBTEwKCWluc3RlYWQgb2YgSU5MSU5FX1NZU0NBTEwuCgoyMDAyLTEyLTIwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc2lnYWN0aW9uLmMgKF9fbGliY19zaWdhY3Rpb24pOiBGaXgKCXR5cG8uCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9iaXRzL3NobS5oOiBEZWZpbmUgU0hNX0hVR0VUTEIuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvc2htLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ocHBhL2JpdHMvc2htLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvc2htLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2JpdHMvc2htLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2JpdHMvc2htLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2JpdHMvc2htLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9iaXRzL3NobS5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L2JpdHMvc2htLmg6IExpa2V3aXNlLgoJUGF0Y2ggYnkgV2lsbGlhbSBMZWUgSXJ3aW4gPHdsaUBob2xvbW9ycGh5LmNvbT4uCgoyMDAyLTEyLTIwICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLW1lYXN1cmVtZW50LmMgKG1lYXN1cmVtZW50X291dHB1dCk6IEZpeAoJaW5kZXggY2FsY3VsYXRpb24uCgoyMDAyLTEyLTIwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvbGliaW8uaCBbX0lPX01UU0FGRV9JTyAmJiBfSU9fbG9ja19pbmV4cGVuc2l2ZV06CglSZWRlZmluZSBfSU9fZmxvY2tpZmxlIGFuZCBfSU9fZnVubG9ja2ZpbGUgYXMgaW5saW5lcy4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1zeXNkZXAuYyAoX2RsX2ltcG9ydGFudF9od2NhcHMpOiBGb3IgVExTCglidWlsZHMgYWRkICJ0bHMiIGluIHRoZSBzZWFyY2ggcGF0aC4KCSogZWxmL2xkY29uZmlnLmMgKGlzX2h3Y2FwX3BsYXRmb3JtKTogQWxzbyByZWNvZ25pemUgInRscyIuCgkocGF0aF9od2NhcCk6IFJlY29nbml6ZSAidGxzIi4KCjIwMDItMTItMTkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zeXN0ZW0uYyAoY2FuY2VsX2hhbmRsZXIpOiBVc2UKCV9fd2FpdHBpZCBpbnN0ZWFkIG9mIHdhaXRwaWQuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L19leGl0LlM6IFVzZSBFTlRFUl9LRVJORUwgaW5zdGVhZCBvZgoJaW50ICQweDgwLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2dldGNvbnRleHQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc2V0Y29udGV4dC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zd2FwY29udGV4dC5TOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc3lzZGVwLmg6IEFkZCBzdXBwb3J0IHRvIHVzZSBBVF9TWVNJTkZPCglpbmZvcm1hdGlvbiBmb3Igc3lzdGVtIGNhbGxzLgoKCSogc3lzZGVwcy9nZW5lcmljL2RsLXN5c2RlcC5oOiBEZWZpbmUgUlRMRF9QUklWQVRFX0VSUk5PIHRvIDEgb25seQoJZm9yIGxkLnNvLgoKCSogZWxmL3J0bGQuYyAoX2RsX3N0YXJ0KSBbVVNFX19fVEhSRUFEXTogRGVmaW5lIGluaXRkdHYuCgoyMDAyLTEyLTE5ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogaWNvbnZkYXRhL2libTg1Ni5oOiBDb252ZXJ0IEdDQyBleHRlbnNpb24gaW5pdGlhbGl6ZXIgc3ludGF4IHRvIEM5OS4KCSogaWNvbnZkYXRhL2libTkyMi5oOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2libTkzMC5oOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2libTkzMi5oOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2libTkzMy5oOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2libTkzNS5oOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2libTkzNy5oOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2libTkzOS5oOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2libTk0My5oOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzaXJpLTMzNDIuaDogTGlrZXdpc2UuCgoyMDAyLTEyLTE5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHRlc3Qtc2tlbGV0b24uYyAobWFpbik6IE1ha2Ugc3VyZSBjb3JyZWN0IHZhbHVlIGlzIHNlZW4gYXMKCWFyZ3ZbMF0gYWZ0ZXIgYWRqdXN0bWVudCBvZiBhcmd2LCBhbmQgYXJnYy4KCgkqIGVsZi9ydGxkLmM6IERvbid0IGluaXRpYWxpemUgX2RsX2R5bmFtaWNfd2VhayB0byAxIGlmCglSVExEX0NPUlJFQ1RfRFlOQU1JQ19XRUFLIGlzIGRlZmluZWQuCgoyMDAyLTEyLTE5ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIG5zY2QvY29ubmVjdGlvbnMuYyAobnNjZF9ydW4pOiBTaHV0IHVwIHdhcm5pbmcuCgkqIHRzdC11bmdldGMuYyAoYXNzZXJ0KTogVW5kZWZpbmVkIGJlZm9yZSByZWRlZmluaW5nLgoKMjAwMi0xMi0xOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9yZWdleC5jOiBVc2UgX19idWlsdGluX2V4cGVjdCBldmVuIG91dHNpZGUgZ2xpYmMgaWYgZ2NjIDMKCWlzIHVzZWQuCgoyMDAyLTEyLTE3ICBBcnQgSGFhcyAgPGFoYWFzQGFpcm1haWwubmV0PgoKCSogaWNvbnZkYXRhL2NwNzM3Lmg6IENvbnZlcnQgR0NDIGV4dGVuc2lvbiBpbml0aWFsaXplciBzeW50YXggdG8gQzk5LgoJKiBpY29udmRhdGEvY3A3NzUuaDogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pYm0xMDQ2Lmg6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaWJtMTEyNC5oOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2libTExMjkuaDogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pYm0xMTMyLmg6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaWJtMTEzMy5oOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2libTExNjAuaDogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pYm0xMTYxLmg6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaWJtMTE2Mi5oOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2libTExNjMuaDogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pYm0xMTY0Lmg6IExpa2V3aXNlLgoKMjAwMi0xMi0xOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3N5c3RlbS5jOiBEZWZpbmUgRk9SSyBvbmx5IGlmCglfX0FTU1VNRV9DTE9ORV9USFJFQURfRkxBR1MgaXMgZGVmaW5lZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgva2VybmVsLWZlYXR1cmVzLmgKCShfX0FTU1VNRV9DTE9ORV9USFJFQURfRkxBR1MpOiBEZWZpbmUgZm9yIHg4NiBhbmQga2VybmVsID49IDIuNS41MC4KCjIwMDItMTItMTggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9icmsuYzogVXNlIElOVEVSTkFMX1NZU0NBTEwgaW5zdGVhZAoJb2YgYXNtLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3NpZ2FjdGlvbi5jOiBMaWtld2lzZS4KCgkqIGVsZi9kbC1zdXBwb3J0LmMgW05FRURfRExfU1lTSU5GT106IERlZmluZSBhbmQgaW5pdGlhbGl6ZQoJX2RsX3N5c2luZm8uCglbRExfU1lTSU5GT19JTVBMRU1FTlRBVElPTl06IElmIGRlZmluZWQgdXNlIGl0IHRvIGdlbmVyYXRlIHRoZSBuZWVkZWQKCWNvZGUuCgkqIGVsZi9ydGxkLmMgW0RMX05FRURfU1lTSU5GT106IEluaXRpYWxpemUgX2RsX3N5c2luZm8gZWxlbWVudCBvZgoJX3J0bGRfZ2xvYmFsLgoJW0RMX1NZU0lORk9fSU1QTEVNRU5UQVRJT05dOiBJZiBkZWZpbmVkIHVzZSBpdCB0byBnZW5lcmF0ZSB0aGUgbmVlZGVkCgljb2RlLgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtc3lzZGVwLmMgKF9kbF9zeXNkZXBfc3RhcnQpIFtORUVEX0RMX1NZU0lORk9dOgoJQ2hlY2sgZm9yIEFUX1NZU0lORk8gYW5kIHNldCBfZGxfc3lzaW5mbyBhcHByb3ByaWF0ZWx5LgoJKiBzeXNkZXBzL2dlbmVyaWMvbGRzb2RlZnMuaCAoc3RydWN0IHJ0bGRfZ2xvYmFsKSBbTkVFRF9ETF9TWVNJTkZPXToKCUFkZCBfZGxfc3lzaW5mby4KCjIwMDItMTItMTggIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogbWlzYy9WZXJzaW9ucyBbbGliYzogR0xJQkNfMi4zLjFdOiBNb3ZlIF9fbGliY19yZWFkdiBhbmQKCV9fbGliY193cml0ZXYgdG8uLi4KCVtsaWJjOiBHTElCQ19QUklWQVRFXTogLi4uaGVyZS4KCSogc3lzdmlwYy9WZXJzaW9ucyBbbGliYzogR0xJQkNfMi4zLjFdOiBNb3ZlIF9fbGliY19tc2dyY3YgYW5kCglfX2xpYmNfbXNnc25kIHRvLi4uCglbbGliYzogR0xJQkNfUFJJVkFURV06IC4uLmhlcmUuCgoyMDAyLTEyLTE4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc3lzZGVwLmg6IERlZmluZSBFTlRFUl9LRVJORUwgbWFjcm8uCglVc2UgaXQgaW5zdGVhZCBvZiBkaXJlY3RseSBpbnQgJDB4ODAuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvYnJrLmM6IFVzZSBFTlRFUl9LRVJORUwuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvbW1hcDY0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L21tYXAuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc2lnYWN0aW9uLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3NvY2tldC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zeXNjYWxsLlM6IExpa2V3aXNlLgoKMjAwMi0xMi0xNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBtYWxsb2MvbWFsbG9jLmMgKG1BTExPUHQpOiBNYWtlIHN1cmUgbWFsbG9jIGlzIGluaXRpYWxpemVkLgoKCSogZWxmL2VsZi5oIChBVF9TWVNJTkZPKTogTmV3IGRlZmluZS4KCSogc3lzZGVwcy9nZW5lcmljL2RsLXN5c2RlcC5jIChfZGxfc2hvd19hdXh2KTogQWRkIHN1cHBvcnQgZm9yCglBVF9TWVNJTkZPLgoKMjAwMi0xMi0xNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9zeXNjYWxscy5saXN0IChtc2dyY3YsIG1zZ3NuZCk6CglNYWtlIGNhbmNlbGFibGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEvc3lzY2FsbHMubGlzdCAobXNncmN2LCBtc2dzbmQpOgoJTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc3lzY2FsbHMubGlzdCAobXNncmN2LCBtc2dzbmQpOgoJTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9zeXNjYWxscy5saXN0IChtc2dyY3YsIG1zZ3NuZCk6CglMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2NhbGxzLmxpc3QgKG1zZ3JjdiwgbXNnc25kKToKCUxpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3NpZ3N1c3BlbmQuYyAoX19zaWdzdXNwZW5kKTogTGlrZXdpc2UuCgoJKiBtYWxsb2MvdGhyZWFkLW0uaCAobXV0ZXhfaW5pdCwgbXV0ZXhfbG9jaywgbXV0ZXhfdHJ5bG9jaywKCW11dGV4X3VubG9jayk6IElmIG5vdCBidWlsZGluZyBOUFRMLCB1c2UgX19saWJjX21heWJlX2NhbGwyIGlmCglhdmFpbGFibGUsIG90aGVyd2lzZSBfX2xpYmNfbWF5YmVfY2FsbC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3JlY3YuYzogQWRkIHN1cHBvcnQgZm9yCgljYW5jZWxsYXRpb24gaGFuZGxpbmcuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zZW5kLmM6IExpa2V3aXNlLgoKMjAwMi0xMi0xNyAgSXNhbXUgSGFzZWdhd2EgIDxpc2FtdUB5YW1hdG8uaWJtLmNvbT4KCgkqIHBvc2l4L3JlZ2NvbXAuYyAoZnJlZV93b3JrYXJlYV9jb21waWxlKTogRnJlZSB0aGUgbmV3IG1lbWJlcgoJT1JHX0lORElDRVMuCgkoYW5hbHl6ZSk6IEluaXRpYWxpemUgT1JHX0lORElDRVMuCgkoZHVwbGljYXRlX25vZGVfY2xvc3VyZSk6IFNlYXJjaCBmb3IgYSBleGlzdGluZyBub2RlLCB3aGljaCBpcwoJZHVwbGljYXRlZCBmcm9tIHRoZSBub2RlIE9SR19ERVNUIGFuZCBzYXRpc2ZpZXMgdGhlIGNvbnN0cmFpbnQKCUNPTlNUUkFJTlQuICBBbmQgdXNlIGl0IHRvIGF2b2lkIGluaWZpbWl0ZSBsb29wLgoJKHNlYXJjaF9kdXBsaWNhdGVkX25vZGUpOiBOZXcgZnVuY3Rpb24uCgkoZHVwbGljYXRlX25vZGUpOiBTdG9yZSB0aGUgaW5kZXggb2YgdGhlIG9yaWdpbmFsIG5vZGUuCgkqIHBvc2l4L3JlZ2V4X2ludGVybmFsLmMgKHJlX2RmYV9hZGRfbm9kZSk6IFJlYWxsb2MgT1JHX0lORElDRVMKCWlmIG5lZWRlZC4KCSogcG9zaXgvcmVnZXhfaW50ZXJuYWwuaCAocmVfZGZhX3QpOiBBZGQgbmV3IG1lbWJlcnMuCgoyMDAyLTEyLTE3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN0ZGlvLWNvbW1vbi90c3QtZmRvcGVuLmM6IFVuZGVmaW5lIGFzc2VydCBiZWZvcmUgcmVkZWZpbmluZyBpdC4KCjIwMDItMTItMTYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9wb3NpeC9zeXN0ZW0uYyAoZG9fc3lzdGVtKTogQWRkIHN1cHBvcnQgZm9yIGluc3RhbGxhdGlvbgoJb2YgY2FuY2VsbGF0aW9uIGhhbmRsZXJzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3N5c3RlbS5jOiBOZXcgZmlsZS4KCgkqIHN0ZGxpYi9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdHN0LXN5c3RlbS4KCSogc3RkbGliL3RzdC1zeXN0ZW0uYzogTmV3IGZpbGUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3NvY2tldC5TIFtORUVEX0NBTkNFTExBVElPTiAmJgoJQ0VOQUJMRV06IERvbid0IGxvc2UgY29udGVudCBvZiAlZWJ4LgoKMjAwMi0xMi0xNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3NvY2tldC5TOiBVc2UgU0lOR0xFX1RIUkVBRF9QCgltYWNybyBpbnN0ZWFkIG9mIGNvbXBhcmluZyAlZ3M6TVVMVElQTEVfVEhSRUFEU19PRkZTRVQgZGlyZWN0bHkuCgoyMDAyLTEyLTE2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvcG9zaXgvZ2V0YWRkcmluZm8uYyAoZ2FpaF9pbmV0KTogSWYgX19uc3NfbG9va3VwX2Z1bmN0aW9uCglmYWlscyB0byByZXR1cm4gYSBmdW5jdGlvbiBwb2ludGVyIGRvbid0IHVzZSBpdC4KCjIwMDItMTItMTYgIEFydCBIYWFzICA8YWhhYXNAYWlybWFpbC5uZXQ+CgoJKiBpby9mdHcuYzogQ29udmVydCBHQ0MgZXh0ZW5zaW9uIGluaXRpYWxpemVyIHN5bnRheCB0byBDOTkuCgkqIGljb252ZGF0YS9pc28taXItMTY1LmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvamlzMDIwOC5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2ppczAyMTIuYzogTGlrZXdpc2UuCgoyMDAyLTEyLTE2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5c2NhbGxzLmxpc3Q6IEFkZCBlcG9sbF9jcmVhdGUsCgllcG9sbF9jdGwsIGFuZCBlcG9sbF93YWl0LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9WZXJzaW9ucyBbbGliYzogR0xJQkNfMi4zLjJdOiBBZGQKCWVwb2xsX2NyZWF0ZSwgZXBvbGxfY3RsLCBhbmQgZXBvbGxfd2FpdC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL2Vwb2xsLmg6IE5ldyBmaWxlLiAgV3JpdHRlbiBieQoJRGF2aWRlIExpYmVuemkgPGRhdmlkZWxAeG1haWxzZXJ2ZXIub3JnPi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvRGlzdDogQWRkIHN5cy9lcG9sbC5oLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9NYWtlZmlsZSBbc3ViZGlyPW1pc2NdIChzeXNkZXBfaGVhZGVycyk6CglBZGQgc3lzL2Vwb2xsLmguCgoyMDAyLTEyLTE2ICBBcnQgSGFhcyAgPGFoYWFzQGFpcm1haWwubmV0PgoKCSogc3lzZGVwcy9nZW5lcmljL2JwLXNlbWN0bC5oOiBDb252ZXJ0IEdDQyBleHRlbnNpb24gaW5pdGlhbGl6ZXIKCXN5bnRheCB0byBDOTkKCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3NldHRpbWVyLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvc2xlZXAuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC91c2xlZXAuYzogTGlrZXdpc2UuCgoyMDAyLTEyLTE2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN0ZGlvLWNvbW1vbi9NYWtlZmlsZSAocm91dGluZXMpOiBSZW1vdmUgbG9ja2ZpbGUuICBBZGQKCWZsb2NrZmlsZSwgZnRyeWxvY2tmaWxlLCBhbmQgZnVubG9ja2ZpbGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9sb2NrZmlsZS5jOiBSZW1vdmVkLiAgRWFjaCBmdW5jdGlvbiBoYXMgaXRzIG93biBmaWxlLgoJKiBzeXNkZXBzL2dlbmVyaWMvZmxvY2tmaWxlLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2dlbmVyaWMvZnRyeWxvY2tmaWxlLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2dlbmVyaWMvZnVubG9ja2ZpbGUuYzogTmV3IGZpbGUuCgoyMDAyLTEyLTE2ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc29ja2V0LlM6IFVzZSBDRU5BQkxFIGFuZCBDRElTQUJMRQoJbWFjcm9zIGluc3RlYWQgb2YgZG9pbmcgdGhlIGNhbGxzIGRpcmVjdGx5LgoJKiBzeXNkZXBzL3VuaXgvbWFrZS1zeXNjYWxscy5zaDogQWRkIHB0dy0qLiRvIHRhcmdldCBuYW1lIHRvIHJ1bGVzLgoJKiBNYWtlcnVsZXMgKCQoK3N5c2Rpcl9wZngpc3lzZC1ydWxlcyk6IEVtaXQgcnVsZXMgZm9yIHB0dy0lCgl0YXJnZXRzLgoKMjAwMi0xMi0xNiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2kzODYvZnB1L2JpdHMvbWF0aGlubGluZS5oOiBCYWNrb3V0IGxhc3QgY2hhbmdlLgoJKiBzeXNkZXBzL2llZWU3NTQvYml0cy9uYW4uaDogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3N5c2NhbGxzLmxpc3QgKF9fc3lzY2FsbF9vcGVuLAoJX19zeXNjYWxsX3dhaXQ0LCBfX3N5c2NhbGxfaW9jdGwsIF9fc3lzY2FsbF93cml0ZSk6IEFkZC4KCjIwMDItMTItMTYgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBzdW5ycGMveGRyX21lbS5jICh4ZHJtZW1faW5saW5lKTogRml4IGFyZ3VtZW50IHR5cGUuCgkqIHN1bnJwYy94ZHJfcmVjLmMgKHhkcnJlY19pbmxpbmUpOiBMaWtld2lzZS4KCSogc3VucnBjL3hkcl9zdGRpby5jICh4ZHJzdGRpb19pbmxpbmUpOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5c2NhbGxzLmxpc3Q6IEFkZCBnZXRwbXNnLCBwdXRwbXNnLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3N5c2NhbGxzLmxpc3Q6IFJlbW92ZSBzX2dldHBtc2csCglzX3B1dHBtc2cuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvZ2V0cG1zZy5jOiBGaWxlIHJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvcHV0cG1zZy5jOiBGaWxlIHJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L202OGsvZ2V0cG1zZy5jOiBGaWxlIHJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L202OGsvcHV0cG1zZy5jOiBGaWxlIHJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvZ2V0cG1zZy5jOiBGaWxlIHJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvcHV0cG1zZy5jOiBGaWxlIHJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvZ2V0cG1zZy5jOiBGaWxlIHJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcHV0cG1zZy5jOiBGaWxlIHJlbW92ZWQuCgoyMDAyLTEyLTEzICBQYXVsIEVnZ2VydCAgPGVnZ2VydEB0d2luc3VuLmNvbT4KCgkqIHN1bnJwYy9ycGMveGRyLmggKHN0cnVjdCBYRFIueGRyX29wcy54X2lubGluZSk6IDJuZCBhcmcKCWlzIG5vdyB1X2ludCwgbm90IGludC4KCShzdHJ1Y3QgWERSLnhfaGFuZHkpOiBOb3cgdV9pbnQsIG5vdCBpbnQuCgkqIHN1bnJwYy94ZHJfbWVtLmM6IEluY2x1ZGUgPGxpbWl0cy5oPi4KCSh4ZHJtZW1fZ2V0bG9uZywgeGRybWVtX3B1dGxvbmcsIHhkcm1lbV9nZXRieXRlcywgeGRybWVtX3B1dGJ5dGVzLAoJeGRybWVtX2lubGluZSwgeGRybWVtX2dldGludDMyLCB4ZHJtZW1fcHV0aW50MzIpOgoJeF9oYW5keSBpcyBub3cgdW5zaWduZWQsIG5vdCBzaWduZWQuCglEbyBub3QgZGVjcmVtZW50IHhfaGFuZHkgaWYgbm8gY2hhbmdlIGlzIG1hZGUuCgkoeGRybWVtX3NldHBvcyk6IENoZWNrIGZvciBpbnQgb3ZlcmZsb3cuCgkqIHN1bnJwYy94ZHJfc2l6ZW9mLmMgKHhfaW5saW5lKTogMm5kIGFyZyBpcyBub3cgdW5zaWduZWQuCgkoeGRyX3NpemVvZik6IFJlbW92ZSBjYXN0IHRoYXQgaXMgbm93IHVubmVjZXNzYXJ5LCBub3cgdGhhdAoJeF9oYW5keSBpcyB1bnNpZ25lZC4KCjIwMDItMTItMTUgIEFydCBIYWFzICA8YWhhYXNAYWlybWFpbC5uZXQ+CgoJKiBpY29udi9nY29udl9jb25mLmM6IENvbnZlcnQgR0NDIGV4dGVuc2lvbiBpbml0aWFsaXplciBzeW50YXggdG8gQzk5LgoJKiBpY29udmRhdGEvZ2FwLmF3azogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9nZW4tOGJpdC1nYXAtMS5zaDogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9nZW4tOGJpdC1nYXAuc2g6IExpa2V3aXNlLgoJKiBsb2NhbGUvQy1hZGRyZXNzLmM6IExpa2V3aXNlLgoJKiBsb2NhbGUvQy1jb2xsYXRlLmM6IExpa2V3aXNlLgoJKiBsb2NhbGUvQy1jdHlwZS5jOiBMaWtld2lzZS4KCSogbG9jYWxlL0MtaWRlbnRpZmljYXRpb24uYzogTGlrZXdpc2UuCgkqIGxvY2FsZS9DLW1lYXN1cmVtZW50LmM6IExpa2V3aXNlLgoJKiBsb2NhbGUvQy1tZXNzYWdlcy5jOiBMaWtld2lzZS4KCSogbG9jYWxlL0MtbW9uZXRhcnkuYzogTGlrZXdpc2UuCgkqIGxvY2FsZS9DLW5hbWUuYzogTGlrZXdpc2UuCgkqIGxvY2FsZS9DLW51bWVyaWMuYzogTGlrZXdpc2UuCgkqIGxvY2FsZS9DLXBhcGVyLmM6IExpa2V3aXNlLgoJKiBsb2NhbGUvQy10ZWxlcGhvbmUuYzogTGlrZXdpc2UuCgkqIGxvY2FsZS9DLXRpbWUuYzogTGlrZXdpc2UuCgkqIG5zY2QvY29ubmVjdGlvbnMuYzogTGlrZXdpc2UuCgkqIG5zY2QvZ3JwY2FjaGUuYzogTGlrZXdpc2UuCgkqIG5zY2QvaHN0Y2FjaGUuYzogTGlrZXdpc2UuCgkqIG5zY2QvcHdkY2FjaGUuYzogTGlrZXdpc2UuCgkqIHN0ZGlvLWNvbW1vbi92ZnByaW50Zi5jOiBMaWtld2lzZS4KCSogc3RkbGliL3JhbmRvbS5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL3NpZ2xpc3QuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9mcHUvYml0cy9tYXRoaW5saW5lLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2llZWU3NTQvYml0cy9uYW4uaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG9zaXgvc3Byb2ZpbC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2xlZXAuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5c2N0bC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvdXNsZWVwLmM6IExpa2V3aXNlLgoKMjAwMi0xMi0xNSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3JlYWR2LmMgKGRvX3JlYWR2KTogVXNlIHByb3RvdHlwZSBkZWZuLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvd2FpdC5jOiBEb24ndCBpbmNsdWRlIDxucHRsL3B0aHJlYWRQLmg+IG9yCgk8dGxzLmg+IGhlcmUsIG5vIG5lZWQgZm9yIGl0LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC93YWl0cGlkLmM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9mY250bC5jIChkb19mY250bCk6IFRha2UgQVJHIGFzIHZvaWQgKgoJcGFyYW1ldGVyLCBub3QgdmFyYXJncyBwYXJhbWV0ZXIuCgoJKiBzeXNkZXBzL2dlbmVyaWMvc3lzZGVwLWNhbmNlbC5oIChMSUJDX0NBTkNFTF9SRVNFVCk6IEV2YWx1YXRlIHRoZQoJYXJndW1lbnQgc28gaXQncyBub3QgYW4gdW51c2VkIHZhcmlhYmxlLgoKCSogcmVzb2x2L3Jlc29sdi5oIChfX3Bfa2V5X3N5bXMsIF9fcF9jZXJ0X3N5bXMsIF9fcF9jbGFzc19zeW1zLAoJX19wX3R5cGVfc3ltcywgX19wX3Jjb2RlX3N5bXMpOiBSZW1vdmUgZGVjbHMsIG5ldmVyIHJlYWxseSBpbnRlbmRlZAoJZm9yIHVzZXJzLgoKCSogcmVzb2x2L1ZlcnNpb25zIChsaWJyZXNvbHY6IEdMSUJDXzIuMy4yKTogTmV3IHNldCwgYWRkIF9fcF9yY29kZS4KCjIwMDItMTItMTUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9mY250bC5jIChkb19mY250bCk6IFRoaXMgaXMgdGhlCglvcmlnaW5hbCBfX2xpYmNfZmNudGwgY29kZS4gIEp1c3QgcmVuYW1lZC4KCjIwMDItMTItMTUgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tNjhrL2Nsb25lLlM6IE1ha2UgaW5saW5lIHN5c2NhbGwgdG8gX2V4aXQuCgoyMDAyLTEyLTE0ICBPbGFmIEhlcmluZyAgPG9saEBzdXNlLmRlPgoKCSogc3lzZGVwcy9wb3dlcnBjL2JpdHMvc2V0am1wLmg6IEluY2x1ZGUgPGJpdHMvd29yZHNpemUuaD4uCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjNjQvc2V0am1wLlM6IEZpeCB0eXBvIGluIHIxOCBsb2FkLgoKMjAwMi0xMi0xNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9saWJjX2ZhdGFsLmM6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy9nZW5lcmljL3N5c2RlcC1jYW5jZWwuaDogQWRkIGR1bW15IGRlZmluaXRpb25zIGZvcgoJU0lOR0xFX1RIUkVBRF9QLCBMSUJDX0NBTkNFTF9BU1lOQywgYW5kIExJQkNfQ0FOQ0VMX1JFU0VULgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvb3BlbjY0LmM6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy9nZW5lcmljL3BzZWxlY3QuYzogQWRkIHN1cHBvcnQgZm9yIGNhbmNlbGxhdGlvbiBoYW5kbGluZy4KCSogc3lzZGVwcy9wb3NpeC9vcGVuNjQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG9zaXgvc2lncGF1c2UuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG9zaXgvc2lnd2FpdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3NpeC9zeXN0ZW0uYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG9zaXgvd2FpdGlkLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hY2NlcHQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2Nvbm5lY3QuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2xsc2Vlay5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbXNncmN2LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tc2dzbmQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3BvbGwuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3ByZWFkLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wcmVhZDY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wd3JpdGUuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3B3cml0ZTY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9yZWFkdi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcmVjdi5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcmVjdmZyb20uUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3JlY3Ztc2cuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NlbmQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NlbmRtc2cuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NlbmR0by5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2lnc3VzcGVuZC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2lndGltZWR3YWl0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaWd3YWl0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaWd3YWl0aW5mby5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvdGNkcmFpbi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvd2FpdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvd2FpdHBpZC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvd3JpdGV2LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2ZjbnRsLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3NvY2tldC5TOiBMaWtld2lzZS4KCjIwMDItMTItMTQgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL3N5c2RlcC1jYW5jZWwuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9tYWtlLXN5c2NhbGxzLnNoOiBIYW5kbGUgQyBhdCBzdGFydCBvZiBhcmdzIGFzCgljYW5jZWxhYmxlIHN5c2NhbGwuCgkqIHN5c2RlcHMvdW5peC9pbmV0L3N5c2NhbGxzLmxpc3QgKGFjY2VwdCwgY29ubmVjdCwgcmVjdiwgcmVjdmZyb20sCglyZWN2bXNnLCBzZW5kLCBzZW5kbXNnLCBzZW5kdG8pOiBNYWtlIGNhbmNlbGFibGUuCgkqIHN5c2RlcHMvdW5peC9tbWFuL3N5c2NhbGxzLmxpc3QgKG1zeW5jKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3N5c2NhbGxzLmxpc3QgKGxsc2VlaywgcHJlYWQsCglwd3JpdGUsIGFjY2VwdCwgY29ubmVjdCwgcmVjdiwgcmVjdmZyb20sIHJlY3Ztc2csIHNlbmQsIHNlbmRtc2csCglzZW5kdG8sIG9zZl9zZWxlY3QpOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS9zeXNjYWxscy5saXN0IChhY2NlcHQsIGNvbm5lY3QsIHJlY3YsCglyZWN2ZnJvbSwgcmVjdm1zZywgc2VuZCwgc2VuZG1zZywgc2VuZHRvKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc3lzY2FsbHMubGlzdCAobGxzZWVrLCBwcmVhZCwKCXB3cml0ZSwgYWNjZXB0LCBjb25uZWN0LCByZWN2LCByZWN2ZnJvbSwgcmVjdm1zZywgc2VuZCwgc2VuZG1zZywKCXNlbmR0byk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3N5c2NhbGxzLmxpc3QgKGFjY2VwdCwgY29ubmVjdCwgcmVjdiwKCXJlY3Zmcm9tLCByZWN2bXNnLCBzZW5kLCBzZW5kbXNnLCBzZW5kdG8pOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L3N5c2NhbGxzLmxpc3QgKGxsc2VlaywgcHJlYWQsCglwd3JpdGUsIGFjY2VwdCwgY29ubmVjdCwgcmVjdiwgcmVjdmZyb20sIHJlY3Ztc2csIHNlbmQsIHNlbmRtc2csCglzZW5kdG8pOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9zeXNjYWxscy5saXN0IChsbHNlZWssIHByZWFkLAoJcHdyaXRlLCBhY2NlcHQsIGNvbm5lY3QsIHJlY3YsIHJlY3Zmcm9tLCByZWN2bXNnLCBzZW5kLCBzZW5kbXNnLAoJc2VuZHRvLCBzZWxlY3QpOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2NhbGxzLmxpc3QgKGxsc2VlaywgcHJlYWQsCglwd3JpdGUsIGFjY2VwdCwgY29ubmVjdCwgcmVjdmZyb20sIHJlY3Ztc2csIHNlbmRtc2csIHNlbmR0byk6CglMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzY2FsbHMubGlzdCAoY3JlYXQsIG5hbm9zbGVlcCwgcGF1c2UsCglzZWxlY3QsIGZjbnRsKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L3N5c2NhbGxzLmxpc3QgKHBhdXNlLCBwb2xsKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXNjYWxscy5saXN0IChjbG9zZSwgZmNudGwsIGZzeW5jLCBsc2Vlaywgb3BlbiwKCXJlYWQsIHJlYWR2LCBzZWxlY3QsIHNpZ3N1c3BlbmQsIHdyaXRlLCB3cml0ZXYpOiBMaWtld2lzZS4KCjIwMDItMTItMTQgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogZGlyZW50L2J1Zy1yZWFkZGlyMS5jOiBJbmNsdWRlIHVuaXN0ZC5oLgoKMjAwMi0xMi0xMyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvcHJvZ3JhbXMvbG9jYWxlLmM6IEluY2x1ZGUgbG9jYXJjaGl2ZS5oLgoJKEFSQ0hJVkVfTkFNRSk6IERlZmluZS4KCSh3cml0ZV9hcmNoaXZlX2xvY2FsZXMpOiBOZXcgZnVuY3Rpb24uCgkod3JpdGVfbG9jYWxlcyk6IFVzZSBpdC4gIEVuc3VyZSB0aGUgc2FtZSBsb2NhbGUgaXMgbm90IHByaW50ZWQKCW11bHRpcGxlIHRpbWVzIGluIHZlcmJvc2UgbW9kZS4KCU1vZGUgTENfSURFTlRJRklDQVRJT04gYW5kIExDX0NUWVBFIHByaW50aW5nIGludG8uLi4KCShwcmludF9MQ19JREVOVElGSUNBVElPTiwgcHJpbnRfTENfQ1RZUEUpOiAuLi4gdGhlc2UgaGVscGVyCglmdW5jdGlvbnMuCgkoc3RydWN0IG5hbWVlbnQpOiBOZXcgdHlwZS4KCShuYW1lZW50Y21wKTogTmV3IGZ1bmN0aW9uLgoKMjAwMi0xMi0xNCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9yZWdleF9pbnRlcm5hbC5jIChyZV9zdHJpbmdfY29udGV4dF9hdCk6IEd1YXJkIHdpZGUgY2hhcgoJY29kZSB3aXRoICNpZmRlZiBSRV9FTkFCTEVfSTE4Ti4KCjIwMDItMTEtMjIgIFBhb2xvIEJvbnppbmkgIDxib256aW5pQGdudS5vcmc+CgoJKiBwb3NpeC9yZWdjb21wLmMgKHJlZ2NvbXApOiBfX3JlX2NvbXBpbGVfZmFzdG1hcCAtPiByZV9jb21waWxlX2Zhc3RtYXAKCjIwMDItMTItMTMgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9idWctcmVnZXgxNS5jOiBOZXcgZmlsZS4KCSogcG9zaXgvTWFrZWZpbGUgKHRlc3RzKTogQWRkIGl0LgoKCSogdGVzdC1za2VsZXRvbi5jIChURVNUX0RBVEFfTElNSVQpOiBOZXcgbWFjcm8sIGRlZmF1bHQgdG8gNjRNQi4KCShtYWluKTogU2V0IFJMSU1JVF9EQVRBIGxpbWl0IHRvIFRFU1RfREFUQV9MSU1JVCAob3IgbG93ZXIgaWYgbmVlZCBiZSkuCgoyMDAyLTEyLTEzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9kbC1taXNjLmMgKF9kbF9kZWJ1Z192ZHByaW50Zik6IERvbid0IGRlcGVuZCBvbiA1LWRpZ2l0IFBJRHMuCgoJKiBtaXNjL3N5c2xvZy5jIChsb2dfY2xlYW51cCk6IERvbid0IHVzZSBwYXJhbWV0ZXIgaW4KCV9fbGliY19sb2NrX3VubG9jayBjYWxsLCB1c2Ugc3lzbG9nX2xvY2sgZGlyZWN0bHkuICBBZGp1c3QgY2FsbGVycyB0bwoJcGFzcyBOVUxMIGluc3RlYWQgb2YgYSBwb2ludGVyIHRvIHN5c2xvZ19sb2NrLgoKMjAwMi0xMi0xMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udmRhdGEvTWFrZWZpbGU6IGljb252LXJ1bGVzOiBBZGQgZGVmaW5pdGlvbiB0byB1c2UgZ2NvbnYubWFwCglsaW5rZXIgbWFwIGZvciBhbGwgaWNvbnYgbW9kdWxlcy4KCShkaXN0cmlidXRlKTogQWRkIGdjb252Lm1hcC4KCSogaWNvbnZkYXRhL2djb252Lm1hcDogTmV3IGZpbGUuCgoJKiBlbGYvTWFrZWZpbGU6IEFsc28gY2hlY2sgYWxsIGljb252IG1vZHVsZXMgZm9yIHRleHQgcmVsb2NhdGlvbnMuCgoJKiBzdGRsaWIvTWFrZWZpbGU6IFJlbW92ZSBjb2RlIHRvIGF1dG9tYXRpY2FsbHkgaW1wb3J0IEdNUC4KCgkqIGVsZi9NYWtlZmlsZSAodGVzdHMpOiBBZGQgcnVsZXMgdG8gYnVpbGQgYW5kIHJ1biBjaGVjay10ZXh0cmVsLgoJKiBlbGYvY2hlY2stdGV4dHJlbC5jOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc3lzZGVwLmggKFNFVFVQX1BJQ19SRUcpOiBBZGQgLnNpemUKCWRpcmVjdGl2ZS4KCjIwMDItMTItMTEgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogaW8vdGVzdC11dGltZSAobWFpbik6IElmIHN0bm93LnN0W2FtXXRpbWUgaXMgd3JvbmcsIHByaW50IGl0IGFuZAoJbm90IHN0LnN0W2FtXXRpbWUuCgoyMDAyLTA0LTMwICBCcnVubyBIYWlibGUgIDxicnVub0BjbGlzcC5vcmc+CgoJKiBpbnRsL2xvYWRtc2djYXQuYyAoX25sX2luaXRfZG9tYWluX2NvbnYpOiBEb24ndCBhcHBlbmQgLy9UUkFOU0xJVCB0bwoJdGhlIGVuY29kaW5nIGlmIGl0IGFscmVhZHkgaGFzIHNsYXNoZXMuCglSZXBvcnRlZCBieSBQZXJyeSBSYXBwIDxwcmFwcEBlcm9scy5jb20+LgoKMjAwMi0xMi0xMSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIGNzdS9NYWtlZmlsZSAoJChvYmpwZngpZWxmLWluaXQub1MpOiBSZW1vdmUgdGFyZ2V0LCBicmFpbm8uCgkoQ1BQRkxBR1MtZWxmLWluaXQub1MsIENGTEFHUy1lbGYtaW5pdC5vUyk6IE5ldyB2YXJpYWJsZXMuCglUdXJuIG9mZiBQSUMgZm9yIGNvbXBpbGluZyB0aGlzIGZpbGUuCgoyMDAyLTEyLTExICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hbGxvYy90aHJlYWQtbS5oOiBSZW1vdmUgdGhyZWFkX2lkIHR5cGUgYW5kIE1VVEVYX0lOSVRJQUxJWkVSCglkZWZpbml0aW9ucy4gIE5vdCBuZWVkZWQuCglbX0xJQkNdOiBVc2UgZGVmaW5pdGlvbnMgZnJvbSBsaWJjLWxvY2suaCBpbnN0ZWFkIG9mIHJlZmVyZW5jaW5nCglwdGhyZWFkIHJvdXRpbmVzIGRpcmVjdGx5LgoJKiBtYWxsb2MvYXJlbmEuYyAocHRtYWxsb2NfdW5sb2NrX2FsbDIpOiBEb24ndCBhZGQgKHZvaWQpIHRvCgltdXRleF9pbml0IGNhbGxzLgoJKGFyZW5hX2dldDIpOiBEb24ndCBsb29rIGF0IHJldHVybiB2YWx1ZSBvZiBtdXRleF9sb2NrLgoKMjAwMi0xMi0xMSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIGNzdS9NYWtlZmlsZSAoJChvYmpwZngpZWxmLWluaXQub1MpOiBOZXcgdGFyZ2V0LCBqdXN0IGNsb25lCgllbGYtaW5pdC5vIGluc3RlYWQgb2YgY29tcGlsaW5nIGEgUElDIHZlcnNpb24uCgoyMDAyLTEyLTExICBCcnVubyBIYWlibGUgIDxicnVub0BjbGlzcC5vcmc+CgoJKiBpbnRsL2dldHRleHQuaDogUmVuYW1lZCB0byAuLi4KCSogaW50bC9nbW8uaDogLi4uIGhlcmUuCgkqIGludGwvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgZ21vLmgsIHJlbW92ZSBnZXR0ZXh0LmguCgkqIGludGwvZ2V0dGV4dFAuaDogVXBkYXRlLgoJKiBpbnRsL2xvYWRtc2djYXQuYzogVXBkYXRlLgoKCSogaW50bC9nZXR0ZXh0UC5oIChQQVJBTVMpOiBNYWtlIG1vcmUgcG9ydGFibGUuCgkoYXR0cmlidXRlX2hpZGRlbik6IERlZmluZSBhcyBlbXB0eSBtYWNybyBpZiBub3QgYWxyZWFkeSBkZWZpbmVkLgoJKiBpbnRsL2hhc2gtc3RyaW5nLmggKFBBUkFNUyk6IE1ha2UgbW9yZSBwb3J0YWJsZS4KCSogaW50bC9sb2FkaW5mby5oIChQQVJBTVMpOiBMaWtld2lzZS4KCSogaW50bC9wbHVyYWwtZXhwLmggKFBBUkFNUyk6IExpa2V3aXNlLgoJKGF0dHJpYnV0ZV9oaWRkZW4pOiBNb3ZlIGRlZmluaXRpb24gbmVhciB0aGUgZGVmaW5pdGlvbiBvZgoJaW50ZXJuYWxfZnVuY3Rpb24uCgoJKiBpbnRsL2dldHRleHRQLmggKF9ubF9sb2NhbGVfbmFtZSkgWyFfTElCQ106IE5ldyBkZWNsYXJhdGlvbi4KCSogaW50bC9wbHVyYWwtZXhwLmggKHBsdXJhbF9ldmFsKSBbIV9MSUJDXTogTmV3IGRlY2xhcmF0aW9uLgoKMjAwMi0wNy0xMyAgQnJ1bm8gSGFpYmxlICA8YnJ1bm9AY2xpc3Aub3JnPgoKCSogaW50bC9kY2lnZXR0ZXh0LmMgKGZyZWVhKTogTmV3IG1hY3JvLgoJKEZSRUVfQkxPQ0tTKTogRnJlZSBhbHNvIHRoZSByZWdpc3RlcmVkIGJsb2Nrcy4KCShEQ0lHRVRURVhUKTogRnJlZSB0aGUgJ3NlYXJjaCcgdmFyaWFibGUuCglSZXBvcnRlZCBieSBBbmRyZWFzIEZpc2NoZXIgPGEuZmlzY2hlckBhc2VudGljcy5kZT4uCgoyMDAyLTA0LTI3ICBCcnVubyBIYWlibGUgIDxicnVub0BjbGlzcC5vcmc+CgoJKiBpbnRsL2dldHRleHRQLmggWyEgX0xJQkNdOiBVc2UgcHJlZml4IGxpYmludGxfIGluc3RlYWQgb2Ygc3VmZml4IF9fLgoJKiBpbnRsL2RjaWdldHRleHQuYzogTGlrZXdpc2UuCgkqIGludGwvZGNnZXR0ZXh0LmM6IExpa2V3aXNlLgoJKiBpbnRsL2RnZXR0ZXh0LmM6IExpa2V3aXNlLgoJKiBpbnRsL2dldHRleHQuYzogTGlrZXdpc2UuCgkqIGludGwvZGNuZ2V0dGV4dC5jOiBMaWtld2lzZS4KCSogaW50bC9kbmdldHRleHQuYzogTGlrZXdpc2UuCgkqIGludGwvbmdldHRleHQuYzogTGlrZXdpc2UuCgkqIGludGwvdGV4dGRvbWFpbi5jOiBMaWtld2lzZS4KCSogaW50bC9iaW5kdGV4dGRvbS5jOiBMaWtld2lzZS4KCSogaW50bC9wbHVyYWwtZXhwLmg6IExpa2V3aXNlLgoKMjAwMi0wMS0wMiAgQnJ1bm8gSGFpYmxlICA8YnJ1bm9AY2xpc3Aub3JnPgoKCSogaW50bC9sb2FkbXNnY2F0LmMgKF9ubF9pbml0X2RvbWFpbl9jb252KTogVXNlIFBBUkFNUyBpbiBleHRlcm4gZGVjbC4KCjIwMDEtMDQtMzAgIEJydW5vIEhhaWJsZSAgPGJydW5vQGNsaXNwLm9yZz4KCgkqIGludGwvZGNpZ2V0dGV4dC5jIChnZXR1aWQsIGdldGdpZCwgZ2V0ZXVpZCwgZ2V0ZWdpZCk6IFByb3ZpZGUKCWRlZmF1bHQgbWFjcm8gZGVmaW5pdGlvbnMuICBOZWVkZWQgZm9yIG1pbmd3MzIuCgoyMDAyLTEyLTEwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvaTM4Ni9iaXRzL2J5dGVzd2FwLmggKF9fYnN3YXBfNjQpOiBBcHBseQoJX19idWlsdGluX2NvbnN0YW50X3AgdG8gbWFjcm8gcGFyYW1ldGVyLgoKCSogc3lzZGVwcy9nZW5lcmljL3NpZ3BhdXNlLmM6IERlZmluZSBhbGwgZnVuY3Rpb25zIGFzIHdlYWsuCgkqIHN5c2RlcHMvcG9zaXgvc2lncGF1c2UuYzogTGlrZXdpc2UuCgoJKiBlbGYvdHN0LXRsczcuYyAoZG9fdGVzdCk6IEFkanVzdG1lbnRzIGZvciBsX3Rsc19tb2RpZCBiZWluZyBvZgoJdHlwZSBzaXplX3QuCgoyMDAyLTEyLTEwICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGVsZi90c3QtYXJyYXkxLmMgKHByZWluaXRfYXJyYXksIGluaXRfYXJyYXksIGZpbmlfYXJyYXkpOgoJRXhwbGljaXRseSBhbGlnbiB0aGUgYXJyYXkgdG8gc2l6ZW9mICh2b2lkICopLgoJKiBlbGYvdHN0LWFycmF5MmRlcC5jIChpbml0X2FycmF5LCBmaW5pX2FycmF5KTogTGlrZXdpc2UuCgoJKiBpbmNsdWRlL2xpYmMtc3ltYm9scy5oOiBGaXggYSBjb21tZW50IHR5cG8uCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9zZWxlY3QuUyAoX19saWJjX3NlbGVjdCk6IE5ldyBhbGlhcy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvc2lnc3VzcGVuZC5TIChfX2xpYmNfc2lnc3VzcGVuZCk6CglMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zaWdzdXNwZW5kLmMgKF9fbGliY19zaWdzdXNwZW5kKToKCUxpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvc2lnc3VzcGVuZC5jCgkoX19saWJjX3NpZ3N1c3BlbmQpOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9zaWdzdXNwZW5kLmMKCShfX2xpYmNfc2lnc3VzcGVuZCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvY3JlYXQuYyAoX19saWJjX2NyZWF0KTogUmVuYW1lZCBmcm9tIGNyZWF0LgoJKGNyZWF0KTogTmV3IHdlYWsgYWxpYXMuCgoyMDAyLTEyLTEwICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogbWFudWFsL2xpYmMtdGV4aW5mby5zaDogRW1pdCBAc2V0IEFERC1PTiBmb3IgZWFjaCBBREQtT04gdGhhdAoJY29udHJpYnV0ZXMgYSBtYW51YWwgY2hhcHRlci4KCSogbWFudWFsL3NpZ25hbC50ZXhpIChQcm9jZXNzIFNpZ25hbCBNYXNrKTogVXNlIEBpZnNldCBsaW51eHRocmVhZHMKCWFyb3VuZCB4cmVmIHRvIGl0LgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZGwtbGlicmVjb24uaCAoRVhUUkFfTERfRU5WVkFSUyk6IFJlZmVyIHRvCglhbmQgbW92ZSBjb250ZW50cyB0byAuLi4KCShFWFRSQV9MRF9FTlZWQVJTX0xJTlVYKTogLi4uIHRoaXMgbmV3IG1hY3JvLiAgQWRkIGJyZWFrIGZvciBub25tYXRjaC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9kbC1saWJyZWNvbi5oIChFWFRSQV9MRF9FTlZWQVJTKTogVXNlCglpdCBpbnN0ZWFkIG9mIGR1cGxpY2F0aW5nIGl0cyBjb250ZW50cy4KCShFWFRSQV9MRF9FTlZWQVJTKTogTGlrZXdpc2UuICBBZGQgYnJlYWsgZm9yIG5vbm1hdGNoLgoKMjAwMi0xMi0wOSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtc3VwcG9ydC5jIChfZGxfbm9uX2R5bmFtaWNfaW5pdCk6IEFkZCBETF9PU1ZFUlNJT05fSU5JVCBpZgoJZGVmaW5lZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZGwtbGlicmVjb24uaCAoX2RsX29zdmVyc2lvbl9pbml0KTogTmV3CglmdW5jdGlvbi4KCShFWFRSQV9MRF9FTlZWQVJTKTogVXNlIGl0LgoJKERMX09TVkVSU0lPTl9JTklUKTogRGVmaW5lLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2RsLWxpYnJlY29uLmg6IEluY2x1ZGUgbGludXgKCWRsLWxpYnJlY29uLmguCgkoRVhUUkFfTERfRU5WVkFSUyk6IFVuZGVmIGJlZm9yZSBkZWZpbmluZy4gIFVzZSBfZGxfb3N2ZXJzaW9uX2luaXQuCgoyMDAyLTEyLTEwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIFZlcnNpb25zLmRlZjogTm8gbmV3IHN5bWJvbHMgaW4gMi4zLjEsIGJ1dCBzb21lIG5ldyBvbmVzIGluIDIuMy4yLgoKCSogc3lzZGVwcy91bml4L2Nsb3NlZGlyLmMgKF9fY2xvc2VkaXIpOiBSZW1vdmUgX19saWJjX2xvY2tfbG9jawoJY2FsbC4gIEl0IGlzIG5vdCBhbGxvd2VkIHRvIGRlc3Ryb3kgcHRocmVhZCBtdXRleGVzIHdoaWNoIGFyZQoJc3RpbGwgaW4gdXNlIGV2ZW4gdGhvdWdoIGl0IGlzIHNhZmUgZm9yIG91ciBpbXBsZW1lbnRhdGlvbnMuICBJZgoJc29tZWJvZHkgc3RpbGwgdXNlcyB0aGUgZGVzY3JpcHRvciBpdCBpcyBhIGJ1Zy4KCjIwMDItMTItMDkgIFJpY2hhcmQgSGVuZGVyc29uICA8cnRoQHJlZGhhdC5jb20+CgoJKiBjc3UvYWJpLW5vdGUuUzogVXNlIC5wMmFsaWduLCBub3QgLmFsaWduLgoKMjAwMi0xMi0wOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXNjYWxscy5saXN0OiBBZGQgX19saWJjX2NyZWF0IGFuZAoJX19saWJjX3NlbGVjdCBhbGlhc2VzLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2lnd2FpdGluZm8uYzogRGVmaW5lIF9fbGliY19zaWd3YWl0aW5mbwoJYWxpYXMuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaWd3YWl0LmM6IERlZmluZSBfX2xpYmNfc2lnd2FpdCBhbGlhcy4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NpZ3N1c3BlbmQuYzogRGVmaW5lIF9fbGliY19zaWdzdXNwZW5kIGFsaWFzLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG9sbC5jOiBEZWZpbmUgX19saWJjX3BvbGwgYWxpYXMuCgoJKiBzeXNkZXBzL3VuaXgvc3lzY2FsbHMubGlzdDogRGVmaW5lIF9fbGliY19zZWxlY3QgYWxpYXMuCgoJKiBzeXNkZXBzL3Bvc2l4L3dhaXRpZC5jOiBEZWZpbmUgX19saWJjX3dhaXRpZCBhbGlhcy4KCgkqIHN5c2RlcHMvcG9zaXgvc2lncGF1c2UuYzogRGVmaW5lIF9fbGliY19zaWdwYXVzZSBhbmQKCV9fbGliY19fX3hwZ19zaWdwYXVzZSBhbGlhc2VzLgoKCSogc3lzZGVwcy9nZW5lcmljL3BzZWxlY3QuYzogRGVmaW5lIF9fbGliY19wc2VsZWN0IGFsaWFzLgoKCSogbWlzYy9lcnJvci5jOiBSZW1vdmUgdXNlIG9mIFVTRV9JTl9MSUJJTy4KCjIwMDItMTItMDggIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBlbGYvTWFrZWZpbGUgKHRlc3RzKTogVW5jb21tZW50IHRzdC1hcnJheVsxMjNdLgoJKiBNYWtlY29uZmlnIChDUFBGTEFHUy0ub1MpOiBBZGQgLURMSUJDX05PTlNIQVJFRD0xLgoJKiBjc3UvZWxmLWluaXQuYzogTmV3IGZpbGUuCgkqIGNzdS9NYWtlZmlsZSAocm91dGluZXMsIHN0YXRpYy1vbmx5LXJvdXRpbmVzKTogQWRkIGVsZi1pbml0LgoJKiBzeXNkZXBzL2FscGhhL2VsZi9zdGFydC5TOiBVc2UgX19saWJjX2NzdV9pbml0IGluIHBsYWNlIG9mIF9pbml0CglhbmQgX19saWJjX2NzdV9maW5pIGluIHBsYWNlIG9mIF9maW5pLgoJKiBzeXNkZXBzL2FybS9lbGYvc3RhcnQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvY3Jpcy9lbGYvc3RhcnQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaHBwYS9lbGYvc3RhcnQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9lbGYvc3RhcnQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaWE2NC9lbGYvc3RhcnQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbTY4ay9lbGYvc3RhcnQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbWFjaC9odXJkL3Bvd2VycGMvc3RhdGljLXN0YXJ0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21pcHMvZWxmL3N0YXJ0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL2VsZi9zdGFydC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9lbGYvc3RhcnQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvczM5MC9zMzkwLTMyL2VsZi9zdGFydC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zMzkwL3MzOTAtNjQvZWxmL3N0YXJ0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NoL2VsZi9zdGFydC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL2VsZi9zdGFydC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L2VsZi9zdGFydC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy94ODZfNjQvZWxmL3N0YXJ0LlM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9wdGhyZWFkL2Fpb19ub3RpZnkuYyAobm90aWZ5X2Z1bmNfd3JhcHBlcik6IFRha2UgYSBtYWxsb2MnZAoJc3RydWN0IGNvbnRhaW5pbmcgZnVuY3Rpb24gcHRyIGFuZCB2YWx1ZSwgZnJlZSBpdC4KCShfX2Fpb19ub3RpZnlfb25seSk6IEFsbG9jYXRlIHRoYXQgYW5kIGNvcHkgdmFsdWVzIGZyb20gU0lHRVYgaW50byBpdC4KCUl0J3Mgbm90IHNhZmUgdG8gbGV0IHRoZSBuZXcgdGhyZWFkIHVzZSB0aGUgU0lHRVYgcG9pbnRlci4KCjIwMDEtMTAtMjAgIFBhdWwgRWdnZXJ0ICA8ZWdnZXJ0QHR3aW5zdW4uY29tPgoKCSogbWlzYy9lcnJvci5jIChzdHJlcnJvcl9yKTogRG8gbm90IGRlY2xhcmUgdW5sZXNzIFshX0xJQkNdLgoJRG8gbm90IGNoZWNrIGZvciBIQVZFX0RFQ0xfU1RSRVJST1JfUiBtaXNzaW5nIHVubGVzcyBTVFJFUlJPUl9SX0NIQVJfUC4KCVVzZSBzdHJlcnJvcl9yIHRoYXQgaXMgb25seSBhIG1hY3JvLCBldmVuIGlmIGl0IGlzIG5vdCBhIGZ1bmN0aW9uLgoJKHN0cmVycm9yKTogQ2hlY2sgZm9yIEhBVkVfREVDTF9TVFJFUlJPUiBiZWZvcmUgZGVjbGFyaW5nLgoJKHByaXZhdGVfc3RyZXJyb3IpOiBVc2UgcHJvdG90eXBlcywgbm90IG9sZC1zdHlsZSBmdW5jdGlvbiBkZWZpbml0aW9uLgoJKHByaW50X2Vycm5vX21lc3NhZ2UpOiBOZXcgZnVuY3Rpb24uCglTdXBwb3J0IHRoZSBQT1NJWCAnaW50Jy1mbGF2b3JlZCBzdHJlcnJvcl9yLCBhcyB3ZWxsIGFzIHRoZSB0cmFkaXRpb25hbAoJY2hhciotZmxhdm9yZWQgb25lLgoJKGVycm9yX3RhaWwsIGVycm9yLCBlcnJvcl9hdF9saW5lKTogVXNlIGl0LgoKMjAwMi0xMi0wNyAgQ2FybG9zIE8nRG9uZWxsICA8Y2FybG9zQGJhbGRyaWMudXdvLmNhPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS9iaXRzL3NobS5oOiBBZGRlZCBTSE1MQkEgI2RlZmluZS4KCjIwMDItMTItMDggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc2NyaXB0cy9vdXRwdXQtZm9ybWF0LnNlZDogRml4IGJ1ZyBpbiBvbmUgb2YgdGhlIHMgZXhwcmVzc2lvbnMKCXdoaWNoIHVzZWQgLyBmb3Igb25lIHRvbyBtYW55IHRoaW5ncy4KCgkqIGluY2x1ZGUvdW5pc3RkLmg6IERlY2xhcmUgX19saWJjX2Nsb3NlLgoKMjAwMi0xMi0wNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy9zdGRpby1sb2NrLmggKF9JT19sb2NrX3RyeWxvY2spOiBOZXcgZGVmaW5lLgoKMjAwMi0xMi0wNyAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9saWJjLXRscy5jIChfX2xpYmNfc2V0dXBfdGxzKTogUmVpbnRyb2R1Y2UgY2hhbmdlcwoJZnJvbSAyMDAyLTEyLTA2LCBidXQgcmVtb3ZlIHVubmVjZXNzYXJ5IG1lbXNldCBjYWxsIHdpdGhvdXQgcmVtb3ZpbmcKCW5lY2Vzc2FyeSBjb3B5IG9mIGluaXRpYWxpemF0aW9uIGltYWdlLgoKCSogTWFrZXJ1bGVzICgkKGNvbW1vbi1vYmpwZngpZm9ybWF0Lmxkcyk6IE5ldyB0YXJnZXQuCgkoY29tbW9uLWdlbmVyYXRlZCk6IEFkZCBpdC4KCSgkKGluc3RfbGliZGlyKS9saWJjLnNvKTogRGVwZW5kIG9uIHRoYXQsIGFuZCBjYXQgaXQgaW50byB0aGUgcmVzdWx0LgoJKiBzY3JpcHRzL291dHB1dC1mb3JtYXQuc2VkOiBOZXcgZmlsZS4KCSogTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgaXQuCgoyMDAyLTEyLTA3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9saWJjLXRscy5jOiBJbmNsdWRlIDxzeXMvcGFyYW0uaD4uCglSZXBvcnRlZCBieSBBcnQgSGFhcyA8YWhhYXNAYWlybWFpbC5uZXQ+LgoKMjAwMi0xMi0wNyAgS2VubmV0aCBXLiBDaGVuICA8a2VubmV0aC53LmNoZW5AaW50ZWwuY29tPgoKCSogc3lzZGVwcy9pYTY0L3N0cm5jcHkuUyAoc3RybmNweSk6IENsZWFyIGFyLmVjLiAgRml4IC5yZWNvdmVyeTQuCgoyMDAyLTEyLTA3ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN0cmluZy90ZXN0LXN0cm5jcHkuYyAoZG9fcmFuZG9tX3Rlc3RzKTogSW1wcm92ZSB0ZXN0IGNvdmVyYWdlLgoKMjAwMi0xMi0wNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiB0ZXN0LXNrZWxldG9uLmMgKHRpbWVvdXRfaGFuZGxlcik6IEFsbG93IGV4cGVjdGVkIHNpZ25hbCB0byBiZQoJU0lHQUxSTS4KCgkqIHdjdHlwZS93Y2Z1bmNzLmM6IEFkZCBsaWJjX2hpZGRlbl9kZWYgZm9yIGlzd2FsbnVtLgoKCSogc3lzZGVwcy9wb3NpeC9yYWlzZS5jOiBBZGQgbGliY19oaWRkZW5fZGVmIGZvciByYWlzZS4KCjIwMDItMTItMDcgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9zeXNkZXAuaCBbUlRMRF9QUklWQVRFX0VSUk5PXQoJKFNZU0NBTExfRVJST1JfSEFORExFUik6IEZpeCBhIHBhc3RvLgoJUmVwb3J0ZWQgYnkgSmVmZiBCYWlsZXkgPGpiYWlsZXlAbmlzYS5uZXQ+LgoKMjAwMi0xMi0wNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvbGliYy10bHMuYzogVW5kbyBsYXN0IHBhdGNoLgoKCSogaW5jbHVkZS93Y3R5cGUuaDogRGVmaW5lIGlzd2FsbnVtIHdpdGggbGliY19oaWRkZW5fcHJvdG8uCgoJKiBpbmNsdWRlL3NpZ25hbC5oOiBEZWZpbmUgcmFpc2Ugd2l0aCBsaWJjX2hpZGRlbl9wcm90by4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2ZleGVjdmUuYyAoZmV4ZWN2ZSk6IFVzZSBfX3NucHJpbnRmIGFuZAoJX19leGVjdmUgaW5zdGVhZCBvZiBzbnByaW50ZiBhbmQgZXhlY3ZlLgoKCSogc3lzZGVwcy94ODZfNjQvZnB1L2xpYm0tdGVzdC11bHBzOiBSZWxheCBlcnJvcnMgZm9yIGZsb2F0IGFuZCBkb3VibGUKCWFnYWluIGEgYml0LgoKMjAwMi0xMi0wNiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9NYWtlZmlsZSAoYW5uZXhjLm91dCk6IEFkZCAtSS4uL2RpciBmb3IgYWxsIHNvcnRlZC1kaXJzLgoJKiBwb3NpeC9hbm5leGMuYyAoZm10LCB0ZXN0Zm10KTogUmVtb3ZlIC1EX0xJQkMuCgoyMDAyLTEyLTA2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1pc2Mvc3lzbG9nLmMgKGxvZ19jbGVhbnVwKTogTmV3IGZ1bmN0aW9uLgoJKG9wZW5sb2cpOiBVc2UgbG9nX2NsZWFudXAgaW5zdGVhZCBvZiBfX2xpYmNfbXV0ZXhfdW5sb2NrLgoJKGNsb3NlbG9nKTogTGlrZXdpc2UuCgoJKiBlbGYvZGwtY2xvc2UuYzogVXNlIF9fcnRsZF9sb2NrXyogbWFjcm9zIGluc3RlYWQgb2YgX19saWJjX2xvY2tfKi4KCSogZWxmL2RsLWl0ZXJhdGVwaGRyLmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtbG9va3VwLmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtbWlzYy5jOiBMaWtld2lzZS4KCSogZWxmL2RsLW9wZW4uYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1zdXBwb3J0LmM6IExpa2V3aXNlLgoJKiBlbGYvcnRsZC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy9saWJjLWxvY2suaDogRGVmaW5lIF9fcnRsZF9sb2NrXyogbWFjcm9zLgoJKiBzeXNkZXBzL21hY2gvYml0cy9saWJjLWxvY2suaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbWFjaC9odXJkL2JpdHMvbGliYy1sb2NrLmg6IExpa2V3aXNlLgoKMjAwMi0xMi0wNiAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9saWJjLXRscy5jIChfX2xpYmNfc2V0dXBfdGxzKTogQ29wZSB3aXRoIHplcm8gQUxJR04uCgoJKiBtYWxsb2MvaG9va3MuYyBbX0xJQkMgJiYgKFVTRV9fX1RIUkVBRCB8fCAoVVNFX1RMUyAmJiAhU0hBUkVEKSldCgkobWFsbG9jX3N0YXJ0ZXIsIG1lbWFsaWduX3N0YXJ0ZXIsIGZyZWVfc3RhcnRlcik6IERvbid0IGRlZmluZSB0aGVzZS4KCSogbWFsbG9jL21hbGxvYy5jIFtfTElCQyAmJiAoVVNFX19fVEhSRUFEIHx8IChVU0VfVExTICYmICFTSEFSRUQpKV06CglEb24ndCBkZWNsYXJlIHRoZW0gZWl0aGVyLgoJKiBtYWxsb2MvYXJlbmEuYyAocHRtYWxsb2NfaW5pdCkgW19MSUJDICYmIFVTRV9UTFNdOiBEb24ndCBjYWxsCglfX3B0aHJlYWRfaW5pdGlhbGl6ZSwgc28gbm8gbmVlZCB0byBzZXQgaG9va3MgdG8gKl9zdGFydGVyLgoJKHB0bWFsbG9jX2luaXRfbWluaW1hbCk6IE5ldyBmdW5jdGlvbiwgYnJva2VuIG91dCBvZiBwdG1hbGxvY19pbml0LgoJW19MSUJDICYmIFNIQVJFRCAmJiBVU0VfVExTICYmICFVU0VfX19USFJFQURdCgkoX19saWJjX21hbGxvY19wdGhyZWFkX3N0YXJ0dXApOiBOZXcgZnVuY3Rpb24uCgkqIG1hbGxvYy9WZXJzaW9ucyAobGliYzogR0xJQkNfUFJJVkFURSk6IE5ldyBzZXQsIGFkZCB0aGF0IGZ1bmN0aW9uLgoKCSogbWFsbG9jL2hvb2tzLmMgKG1lbWFsaWduX3N0YXJ0ZXIpOiBOZXcgZnVuY3Rpb24uCgkqIG1hbGxvYy9tYWxsb2MuYzogRGVjbGFyZSBpdC4KCSogbWFsbG9jL2FyZW5hLmMgKHNhdmVfbWVtYWxpZ25faG9vayk6IE5ldyB2YXJpYWJsZS4KCShwdG1hbGxvY19pbml0KTogU2V0IF9fbWVtYWxpZ25faG9vayB0byBtZW1hbGlnbl9zdGFydGVyLgoKCSogZWxmL2RsLW1pbmltYWwuYyAoZnJlZSk6IENsZWFyIHRoZSBtZW1vcnkuCgkoY2FsbG9jKTogSnVzdCBjYWxsIG1hbGxvYywga25vd2luZyBhbGwgbWVtb3J5IGl0IHJldHVybnMgaXMgY2xlYXJlZC4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC10bHMuYyAoYWxsb2NhdGVfZHR2KTogVXNlIGNhbGxvYyBpbnN0ZWFkIG9mCgltYWxsb2MgYW5kIG1lbXNldDsgY2FsbG9jIGNhbiBhdm9pZCB0aGUgemVyb2luZyB3aGVuIHJlZHVuZGFudC4KCShfZGxfdGxzX3NldHVwKTogTGlrZXdpc2UuCgkqIGVsZi9kbC1sb2FkLmMgKGRlY29tcG9zZV9ycGF0aCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvbGliYy10bHMuYyAoX19saWJjX3NldHVwX3Rscyk6IENvbW1lbnQgb3V0IG1lbXNldAoJY2FsbCwgc2luY2UgbWVtb3J5IGZyb20gc2JyayBhdCBzdGFydHVwIGlzIGFscmVhZHkgemVyby4KCgkqIGVsZi9ydGxkLmMgKF9kbF9zdGFydCwgZGxfbWFpbik6IFRMU19JTklUX1RQIG1hY3JvIG5vdyByZXR1cm5zIGFuCgllcnJvciBzdHJpbmcgZm9yIGZhaWx1cmUsIG51bGwgZm9yIHN1Y2Nlc3MuICBVcGRhdGUgY2FsbGVycy4KCSogc3lzZGVwcy9nZW5lcmljL2xpYmMtdGxzLmMgKF9fbGliY19zZXR1cF90bHMpOiBMaWtld2lzZS4KCSogZWxmL2RsLWxvYWQuYyAoX2RsX21hcF9vYmplY3RfZnJvbV9mZCk6IExpa2V3aXNlLgoKMjAwMi0xMi0wNSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzY2FsbHMubGlzdCAoc2VuZGZpbGUpOiBDaGFuZ2UKCWFyZ3MgdG8gaTppaXBpLgoJKHJlYWRhaGVhZCk6IENoYW5nZSBhcmdzIHRvIGk6aWlpLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGM2NC9zeXNjYWxscy5saXN0IChyZWFkYWhlYWQpOgoJQ2hhbmdlIGFyZ3MgdG8gaTppaWkuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvc3lzY2FsbHMubGlzdCAocmVhZGFoZWFkKTogQ2hhbmdlCglhcmdzIHRvIGk6aWlpaS4KCjIwMDItMTItMDUgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBzdGRsaWIvY3hhX2ZpbmFsaXplLmMgKF9fY3hhX2ZpbmFsaXplKTogV2hlbiBnaXZlbiBhIG51bGwgYXJndW1lbnQsCgljYWxsIGFsbCBmdW5jdGlvbnMgcmF0aGVyIHRoYW4gbm9uZS4KCVJlcG9ydGVkIGJ5IE1hcmsgUC4gTWl0Y2hlbGwgPG1hcmtAY29kZXNvdXJjZXJ5LmNvbT4uCgoyMDAyLTEyLTA0ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogbG9jYWxlL2xvY2FsZWluZm8uaCBbTkxfQ1VSUkVOVF9JTkRJUkVDVF06IFVzZSBhdHRyaWJ1dGVfdGxzX21vZGVsX2llCglvbiBfbmxfY3VycmVudF9MQ18qIHZhcmlhYmxlcy4KCjIwMDItMTItMDUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZGlyZW50L2J1Zy1yZWFkZGlyMS5jIChtYWluKTogRG9uJ3QgY2FsbCBjbG9zZWRpciwganVzdCBjbG9zZQoJdGhlIGZpbGUgZGVzY3JpcHRvci4gIFRoaXMgaXMgdGVzdGluZyB3aGF0IHRoZSBidWcgcmVwb3J0IHdhcyBhYm91dC4KCjIwMDItMTItMDQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG8vYmUucG86IE5ldyBmaWxlLgoKCSogYXJncC9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdHN0LWFyZ3AxLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvYml0cy9zaWdpbmZvLmg6IChzdHJ1Y3Qgc2lnZXZlbnQpOgoJQ2hhbmdlIHR5cGUgb2YgX2F0dHJpYnV0ZSB0byB2b2lkKi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9iaXRzL3NpZ2luZm8uaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvc2lnaW5mby5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9iaXRzL3NpZ2luZm8uaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL2JpdHMvc2lnaW5mby5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9iaXRzL3NpZ2luZm8uaDogTGlrZXdpc2UuCgoyMDAyLTEyLTA0ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmggKHN0cnVjdCBydGxkX2dsb2JhbCk6IE1vdmUgYWxsIFtVU0VfVExTXQoJbWVtYmVycyB0byB0aGUgZW5kLCBzbyBhIGxpYnB0aHJlYWQgY29tcGlsZWQgd2l0aCAhVVNFX1RMUyB3aWxsIHN0aWxsCglmaW5kIG90aGVyIG1lbWJlcnMgcHJvcGVybHkuCgoJKiBzeXNkZXBzL2kzODYvaTQ4Ni9iaXRzL3N0cmluZy5oIChfX3N0cmNweV9nKTogQWRkIGR1bW15IG91dHB1dAoJb3BlcmFuZCBmb3IgREVTVCBtZW1vcnkuICBGaXggZHVtbXkgaW5wdXQgb3BlcmFuZCB0byB1c2UgU1JDLgoJUmVwb3J0ZWQgYnkgRGF2aW4gTWNDYWxsIDxkYXZtYWNAb3pvbmxpbmUuY29tLmF1Pi4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9saWJjLXRscy5jIChfX2xpYmNfc2V0dXBfdGxzKTogQWNjb3VudCBmb3IgVENCCglhbGlnbm1lbnQgd2hlbiBpbml0aWFsaXppbmcgdGhlIERUViBlbnRyeS4KCgkqIGVsZi9kbC1sb2FkLmMgKF9kbF9tYXBfb2JqZWN0X2Zyb21fZmQpOiBJZiB3ZSBoaXQgYSBUTFMgc2VnbWVudAoJd2hlbiBUTFMgaGFzIG5vdCBiZWVuIHNldCB1cCwgdHJ5IHRvIHNldCBpdCB1cCBpZiB3ZSBjYW4uCgkqIGVsZi90c3QtdGxzNC5jOiBSZXZlcnQgbGFzdCBjaGFuZ2UuCgkqIGVsZi90c3QtdGxzNS5jOiBMaWtld2lzZS4KCSogZWxmL3RzdC10bHM2LmM6IExpa2V3aXNlLgoJKiBlbGYvdHN0LXRsczcuYzogTGlrZXdpc2UuCgkqIGVsZi90c3QtdGxzOC5jOiBMaWtld2lzZS4KCSogZWxmL3RzdC10bHM5LmM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9nZW5lcmljL2RsLXRscy5jIFtTSEFSRURdIChfZGxfdGxzX3NldHVwKTogTmV3IGZ1bmN0aW9uLgoJKiBzeXNkZXBzL2dlbmVyaWMvbGRzb2RlZnMuaDogRGVjbGFyZSBpdC4KCSogZWxmL1ZlcnNpb25zIChsZDogR0xJQkNfUFJJVkFURSk6IEFkZCBpdC4KCSogc3lzZGVwcy9nZW5lcmljL2xpYmMtdGxzLmMgKGluaXRfc2xvdGluZm8pOiBOZXcgc3RhdGljIGlubGluZQoJZnVuY3Rpb24sIGJyb2tlbiBvdXQgb2YgX19saWJjX3NldHVwX3Rscy4KCShpbml0X3N0YXRpY190bHMpOiBMaWtld2lzZS4KCShfX2xpYmNfc2V0dXBfdGxzKTogQ2FsbCB0aGVtLgoJKF9kbF90bHNfc2V0dXApOiBOZXcgZnVuY3Rpb24sIHVzZXMgbmV3IHN1YnJvdXRpbmVzLgoKCSogZWxmL2RsLWNsb3NlLmMgKGZyZWVfc2xvdGluZm8pOiBNYWtlIGFyZ3VtZW50IHBvaW50ZXIgdG8gcG9pbnRlci4KCUNsZWFyIHRoZSBwb2ludGVyIHdoZW4gcmV0dXJuaW5nIHRydWUuCgkobGliY19mcmVlcmVzX2ZuKSBbU0hBUkVEXTogSWYgR0woZGxfaW5pdGlhbF9kdHYpIGlzIG51bGwsIGZyZWUgdGhlCglmaXJzdCBlbGVtZW50IG9mIHRoZSBzbG90aW5mbyBsaXN0IHRvby4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC10bHMuYyAoX2RsX2RldGVybWluZV90bHNvZmZzZXQpOiBEZWZpbmUgb25seSBpZgoJW1NIQVJFRF0uCgoJKiBzeXNkZXBzL2dlbmVyaWMvbGRzb2RlZnMuaCAoX2RsX25leHRfdGxzX21vZGlkKTogRGVjbGFyZSBhcyBoaWRkZW4uCgkoX2RsX2RldGVybWluZV90bHNvZmZzZXQpOiBMaWtld2lzZS4KCgkqIGVsZi9ydGxkLmMgKF9kbF9pbml0aWFsX2Vycm9yX2NhdGNoX3RzZCk6IFJlbmFtZWQgZnJvbQoJc3RhcnR1cF9lcnJvcl90c2QsIG1hZGUgZ2xvYmFsLgoJKGRsX21haW4pOiBVcGRhdGUgaW5pdGlhbGl6YXRpb24uCgkqIGVsZi9kbC10c2QuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9sZHNvZGVmcy5oOiBEZWNsYXJlIGl0LgoKMjAwMi0xMi0wMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBtYW51YWwvdGV4aW5mby50ZXg6IFVwZGF0ZSBmcm9tIGxhdGVzdCB1cHN0cmVhbSB2ZXJzaW9uLgoKMjAwMi0xMi0wMyAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9saWJjLXRscy5jIChfX2xpYmNfc2V0dXBfdGxzKTogSW5jbHVkZSBzdGF0aWMgVExTCglhcmVhIHN1cnBsdXMgaW4gY2FsY3VsYXRpb24gZm9yIHNicmsgY2FsbC4KCgkqIGljb252ZGF0YS9jcDExMjUuYzogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCBpdC4KCShtb2R1bGVzKTogQWRkIENQMTEyNS4KCShnZW4tOGJpdC1nYXAtbW9kdWxlcyk6IEFkZCBjcDExMjUuCgkqIGljb252ZGF0YS9nY29udi1tb2R1bGVzOiBBZGQgQ1AxMTI1LCBhbGlhcyBSVVNDSUkuCgkqIGljb252ZGF0YS90c3QtdGFibGVzLnNoOiBBZGQgQ1AxMTI1IHRvIHRoZSBsaXN0IHRvIHRlc3QuCgoyMDAyLTEyLTAzICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3g4Nl82NC9mcHUvbGlibS10ZXN0LXVscHM6IFJlZ2VuZXJhdGVkLgoKMjAwMi0xMi0wMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3Bvc2l4L3N5c3RlbS5jIChkb19zeXN0ZW0pOiBNYWtlIHNpZ25hbCBoYW5kbGVyCglpbnN0YWxsYXRpb24gdGhyZWFkIHNhZmUuCgoyMDAyLTEyLTAyICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvc3lzY2FsbHMubGlzdCAocmVhZGFoZWFkKTogQ2hhbmdlCgljYWxsZXIgZnJvbSBFWFRSQSB0byAtLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzY2FsbHMubGlzdDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvc3lzY2FsbHMubGlzdDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc3lzY2FsbHMubGlzdDogTGlrZXdpc2UuCgoyMDAyLTEyLTAyICBDYXJsb3MgTydEb25lbGwgIDxjYXJsb3NAYmFsZHJpYy51d28uY2E+CgoJKiBzeXNkZXBzL2hwcGEvZnB1L2Zlc2V0cm91bmQuYyAoZmVzZXRyb3VuZCk6IFVzZSB+RkVfRE9XTldBUkQgc28gYm90aAoJYml0cyBvZiBSTSBhcmUgY2xlYXJlZC4KCjIwMDItMTItMDIgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBlbGYvdHN0LXRsczQuYzogRGVmaW5lIGFuIHVudXNlZCBUTFMgdmFyaWFibGUgaGVyZSwgc28gdGhhdCBubyBsYXp5CglUTFMgc2V0dXAgaXMgcmVxdWlyZWQuCgkqIGVsZi90c3QtdGxzNS5jOiBMaWtld2lzZS4KCSogZWxmL3RzdC10bHM2LmM6IExpa2V3aXNlLgoJKiBlbGYvdHN0LXRsczcuYzogTGlrZXdpc2UuCgkqIGVsZi90c3QtdGxzOC5jOiBMaWtld2lzZS4KCSogZWxmL3RzdC10bHM5LmM6IExpa2V3aXNlLgoKCSogZWxmL3J0bGQuYyAoZGxfbWFpbik6IFJlbW92ZSBbISBTSEFSRURdIGNvbmRpdGlvbmFsIGZyb20KCWBpZiAoR0woZGxfdGxzX21heF9kdHZfaWR4KSA+IDApJyB0ZXN0cyBmb3IgZG9pbmcgVExTIHNldHVwLgoJKiBlbGYvZGwtY2xvc2UuYyAobGliY19mcmVlcmVzX2ZuKTogQ2hlY2sgR0woZGxfdGxzX2R0dl9zbG90aW5mb19saXN0KQoJZm9yIGJlaW5nIG51bGwgYmVmb3JlIGNhbGxpbmcgZnJlZV9zbG90aW5mby4KCSogZWxmL2RsLWxvYWQuYyAoX2RsX21hcF9vYmplY3RfZnJvbV9mZCkgW1NIQVJFRF06IEZvciBQVF9UTFMgaW4KCWR5bmFtaWMgbG9hZGluZywgYmFpbCB3aXRoIGVycm9yIGlmIEdMKGRsX3Rsc19tYXhfZHR2X2lkeCkgaXMgemVyby4KCjIwMDItMTEtMzAgIEJydW5vIEhhaWJsZSAgPGJydW5vQGNsaXNwLm9yZz4KCgkqIGljb252L2djb252LmggKF9fZ2NvbnZfYnRvd2NfZmN0KTogTmV3IHR5cGVkZWYuCgkoc3RydWN0IF9fZ2NvbnZfc3RlcCk6IE5ldyBmaWVsZCBfX2J0b3djX2ZjdC4KCSogd2NzbWJzL2J0b3djLmMgKF9fYnRvd2MpOiBVc2UgdGhlIF9fYnRvd2NfZmN0IHNob3J0Y3V0IGlmIHBvc3NpYmxlLgoJKiBpY29udi9nY29udl9pbnQuaCAoX19CVUlMVElOX1RSQU5TRk9STSk6IFJlbmFtZWQgZnJvbQoJX19CVUlMVElOX1RSQU5TLgoJKF9fZ2NvbnZfYnR3b2NfYXNjaWkpOiBOZXcgZGVjbGFyYXRpb24uCgkqIGljb252L2djb252X3NpbXBsZS5jIChCVUlMVElOX1RSQU5TRk9STUFUSU9OKTogQWRkIEJ0b3djRmN0IGFyZ3VtZW50LgoJKF9fZ2NvbnZfYnR3b2NfYXNjaWkpOiBOZXcgZnVuY3Rpb24uCgkqIGljb252L2djb252X2J1aWx0aW4uaDogQWRkIEJ0b3djRmN0IGFyZ3VtZW50IHRvIGFsbAoJQlVJTFRJTl9UUkFOU0ZPUk1BVElPTiBpbnZvY2F0aW9ucy4KCSogaWNvbnYvZ2NvbnZfY29uZi5jIChCVUlMVElOX1RSQU5TRk9STUFUSU9OKTogQWRkIEJ0b3djRmN0IGFyZ3VtZW50LgoJKiBpY29udi9pY29udmNvbmZpZy5jIChCVUlMVElOX1RSQU5TRk9STUFUSU9OKTogTGlrZXdpc2UuCgkqIGljb252L2djb252X2J1aWx0aW4uYyAobWFwKTogTmV3IGZpZWxkIGJ0b3djX2ZjdC4KCShCVUlMVElOX1RSQU5TRk9STUFUSU9OKTogQWRkIEJ0b3djRmN0IGFyZ3VtZW50LiBVc2UgaXQgdG8gaW5pdGlhbGl6ZQoJYnRvd2NfZmN0IGZpZWxkLgoJKF9fZ2NvbnZfZ2V0X2J1aWx0aW5fdHJhbnMpOiBJbml0aWFsaXplIF9fYnRvd2NfZmN0IGZpZWxkLgoJKiBpY29udi9nY29udl9jYWNoZS5jIChmaW5kX21vZHVsZSk6IEluaXRpYWxpemUgX19idG93Y19mY3QgZmllbGQuCgkqIGljb252L2djb252X2RiLmMgKGdlbl9zdGVwcywgaW5jcmVtZW50X2NvdW50ZXIpOiBMaWtld2lzZS4KCSogd2NzbWJzL3djc21ic2xvYWQuYyAodG9fd2MsIHRvX21iKTogTGlrZXdpc2UuCgkqIGljb252L3NrZWxldG9uLmM6IERvY3VtZW50IFNUT1JFX1JFU1QgYW5kIEZST01fT05FQllURS4KCShnY29udl9pbml0KTogSW5pdGlhbGl6ZSBfX2J0b3djX2ZjdCBmaWVsZC4KCVVuZGVmaW5lIEVYVFJBX0xPT1BfQVJHUyBhbmQgRlJPTV9PTkVCWVRFIGF0IHRoZSBlbmQuCgkqIGljb252L2xvb3AuYzogRG9jdW1lbnQgT05FQllURV9CT0RZLgoJKGdjb252X2J0b3djLCBGUk9NX09ORUJZVEUpOiBEZWZpbmUgaWYgT05FQllURV9CT0RZIGlzIGRlZmluZWQuCglVbmRlZmluZSBPTkVCWVRFX0JPRFkgYXQgdGhlIGVuZC4KCSogaWNvbnZkYXRhLzhiaXQtZ2VuZXJpYy5jIChPTkVCWVRFX0JPRFkpOiBOZXcgbWFjcm8uCgkqIGljb252ZGF0YS84Yml0LWdhcC5jIChOT05OVUwpOiBOZXcgbWFjcm8uCgkoQk9EWSBmb3IgRlJPTV9MT09QKTogVXNlIGl0LgoJKE9ORUJZVEVfQk9EWSk6IE5ldyBtYWNyby4KCSogaWNvbnZkYXRhL2lzaXJpLTMzNDIuYyAoSEFTX0hPTEVTKTogU2V0IHRvIDEuCgkoTk9OTlVMKTogTmV3IG1hY3JvLgoJKiBpY29udmRhdGEvYW5zaV94My4xMTAuYyAoT05FQllURV9CT0RZKTogTmV3IG1hY3JvLgoJKiBpY29udmRhdGEvYXJtc2NpaS04LmMgKE9ORUJZVEVfQk9EWSk6IE5ldyBtYWNyby4KCSogaWNvbnZkYXRhL2NwMTI1NS5jIChPTkVCWVRFX0JPRFkpOiBOZXcgbWFjcm8uCgkqIGljb252ZGF0YS9jcDEyNTguYyAoT05FQllURV9CT0RZKTogTmV3IG1hY3JvLgoJKiBpY29udmRhdGEvdGN2bjU3MTItMS5jIChPTkVCWVRFX0JPRFkpOiBOZXcgbWFjcm8uCgkqIGljb252ZGF0YS9iaWc1LmMgKE9ORUJZVEVfQk9EWSk6IE5ldyBtYWNyby4KCSogaWNvbnZkYXRhL2JpZzVoa3Njcy5jIChPTkVCWVRFX0JPRFkpOiBOZXcgbWFjcm8uCgkqIGljb252ZGF0YS9ldWMtY24uYyAoT05FQllURV9CT0RZKTogTmV3IG1hY3JvLgoJKiBpY29udmRhdGEvZXVjLWpwLmMgKE9ORUJZVEVfQk9EWSk6IE5ldyBtYWNyby4KCSogaWNvbnZkYXRhL2V1Yy1qaXN4MDIxMy5jIChPTkVCWVRFX0JPRFkpOiBOZXcgbWFjcm8uCgkqIGljb252ZGF0YS9ldWMta3IuYyAoT05FQllURV9CT0RZKTogTmV3IG1hY3JvLgoJKiBpY29udmRhdGEvZXVjLXR3LmMgKE9ORUJZVEVfQk9EWSk6IE5ldyBtYWNyby4KCSogaWNvbnZkYXRhL2diay5jIChPTkVCWVRFX0JPRFkpOiBOZXcgbWFjcm8uCgkqIGljb252ZGF0YS9nYjE4MDMwLmMgKE9ORUJZVEVfQk9EWSk6IE5ldyBtYWNyby4KCSogaWNvbnZkYXRhL2libTkzMi5jOiBJbmNsdWRlIDxzdGRib29sLmg+LgoJKFRSVUUsIEZBTFNFKTogUmVtb3ZlIG1hY3Jvcy4KCShCT0RZIGZvciBGUk9NX0xPT1ApOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlIHJwMS4KCShPTkVCWVRFX0JPRFkpOiBOZXcgbWFjcm8uCgkoQk9EWSBmb3IgVE9fTE9PUCk6IFVzZSBib29sLgoJKiBpY29udmRhdGEvaWJtOTMyLmggKF9faWJtOTMyc2JfdG9fdWNzNF9pZHgpOiBSZW1vdmUgYXJyYXkuCgkqIGljb252ZGF0YS9pYm05NDMuYzogSW5jbHVkZSA8c3RkYm9vbC5oPi4KCShUUlVFLCBGQUxTRSk6IFJlbW92ZSBtYWNyb3MuCgkoQk9EWSBmb3IgRlJPTV9MT09QKTogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZSBycDEuCgkoT05FQllURV9CT0RZKTogTmV3IG1hY3JvLgoJKEJPRFkgZm9yIFRPX0xPT1ApOiBVc2UgYm9vbC4KCSogaWNvbnZkYXRhL2libTk0My5oIChfX2libTk0M3NiX3RvX3VjczRfaWR4KTogUmVtb3ZlIGFycmF5LgoJKiBpY29udmRhdGEvaXNvODg1OS0xLmMgKE9ORUJZVEVfQk9EWSk6IE5ldyBtYWNyby4KCSogaWNvbnZkYXRhL2lzb182OTM3LTIuYyAoT05FQllURV9CT0RZKTogTmV3IG1hY3JvLgoJKiBpY29udmRhdGEvaXNvXzY5MzcuYyAoT05FQllURV9CT0RZKTogTmV3IG1hY3JvLgoJKiBpY29udmRhdGEvam9oYWIuYyAoT05FQllURV9CT0RZKTogTmV3IG1hY3JvLgoJKiBpY29udmRhdGEvc2ppcy5jIChPTkVCWVRFX0JPRFkpOiBOZXcgbWFjcm8uCgkqIGljb252ZGF0YS9zaGlmdF9qaXN4MDIxMy5jIChPTkVCWVRFX0JPRFkpOiBOZXcgbWFjcm8uCgkqIGljb252ZGF0YS90LjYxLmMgKE9ORUJZVEVfQk9EWSk6IE5ldyBtYWNyby4KCSogaWNvbnZkYXRhL3VoYy5jIChPTkVCWVRFX0JPRFkpOiBOZXcgbWFjcm8uCgkqIGljb252ZGF0YS9nYmJpZzUuYzogVHdlYWsgY29tbWVudC4KCjIwMDItMTItMDIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG8vZmkucG86IFVwZGF0ZSBmcm9tIHRyYW5zbGF0aW9uIHRlYW0uCgoyMDAyLTEyLTAxICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZ2V0ZGVudHMuYyAoX19HRVRERU5UUyk6IEZpeCBjb25kaXRpb24KCXRlc3RpbmcgZ2V0ZGVudHM2NCByZXR1cm4gdmFsdWUuCgoJKiBzY3JpcHRzL3ZlcnNpb25zLmF3azogRG9uJ3QgcGFzcyAtbiBmbGFnIHRvIHNvcnQgY29tbWFuZC4KCgkqIHBvc2l4L2J1Zy1yZWdleDEzLmM6IEluY2x1ZGUgPHN0cmluZy5oPi4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9saWJjLXN0YXJ0LmMgKF9fbGliY19zdGFydF9tYWluKTogRG8KCURMX1NZU0RFUF9PU0NIRUNLIGhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2luaXQtZmlyc3QuYyAoaW5pdCk6IE5vdCBoZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9kbC1vc2luZm8uaDogSW5jbHVkZSA8ZmNudGwuaD4uCgoJKiBzeXNkZXBzL2dlbmVyaWMvbGliYy10bHMuYyAoX19saWJjX3NldHVwX3Rscyk6IEJhaWwgaWYKCWFyZ3VtZW50IFRDQlNJWkUgPD0gVExTX0lOSVRfVENCX1NJWkUsIG5vdCBqdXN0IGlmIGl0J3MgemVyby4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC10bHMuYyAoX2RsX2FsbG9jYXRlX3Rsc19pbml0KTogQ2hlY2sgbF90bHNfb2Zmc2V0CglpbnN0ZWFkIG9mIGxfdHlwZSB0byBkZWNpZGUgd2hldGhlciB0byB1c2UgVExTX0RUVl9VTkFMTE9DQVRFRC4KCgkqIGluY2x1ZGUvbGluay5oOiBDb21tZW50IHR5cG8gZml4LgoKMjAwMi0xMi0wMSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAZnJvYi5jb20+CgoJKiBzeXNkZXBzL21hY2gvaHVyZC9iaXRzL3Bvc2l4X29wdC5oIChfUE9TSVhfRlNZTkMpOiBTZXQgdG8gMjAwMTEyTC4KCShfUE9TSVhfU1BBV04sIF9QT1NJWF9NQVBQRURfRklMRVMsIF9QT1NJWF9NRU1MT0NLX1JBTkdFLAoJX1BPU0lYX01FTU9SWV9QUk9URUNUSU9OKTogTGlrZXdpc2UuCgkoX1BPU0lYX1BPTEwsIF9QT1NJWF9TRUxFQ1QpOiBSZW1vdmVkLgoKMjAwMi0xMS0yOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3Bvc2l4X29wdC5oOiBEZWZpbmUgbWFjcm9zIHdoaWNoCglyZXF1aXJlIGl0IHRvIDIwMDExMkwuICBSZW1vdmUgX1BPU0lYX1BPTEwgYW5kIF9QT1NJWF9TRUxFQ1QuCgoyMDAyLTExLTI4ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9hbHBoYS9zeXNkZXAuUzogQ2hhbmdlIGRlZmluZWQoVVNFX19fVEhSRUFEKSB0bwoJVVNFX19fVEhSRUFELgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9zeXNkZXAuaCAoaW5saW5lX3N5c2NhbGwqKTogQXZvaWQKCSI9diIgY29uc3RyYWludHMuCgoyMDAyLTExLTI4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC92Zm9yay5TOiBEb24ndCB0cmFzaCB0aGUgQ1BVJ3MKCWJyYW5jaCBwcmVkaWN0aW9uIGJ1ZmZlcnMgYnkgdXNpbmcgdW5wYWlyZWQgY2FsbC9yZXQuCgoyMDAyLTExLTI3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc3lzZGVwLmggKEFTTUZNVF8yKTogRml4IHR5cG8gaW4KCWZpcnN0IHBhcmFtZXRlcnMgY29uc3RyYWludCBzdHJpbmcuCgkoQVNNRk1UXzMpOiBMaWtld2lzZS4gIFBhdGNoIGJ5IHN0ZWZhbi5sYXV0ZXJiYWNoQG1pbmNvbS5kZS4KCjIwMDItMTEtMjcgIElzYW11IEhhc2VnYXdhICA8aXNhbXVAeWFtYXRvLmlibS5jb20+CgoJKiBwb3NpeC9yZWdjb21wLmMgKHBhcnNlX2V4cHJlc3Npb24pOiBTZXQgdGhlIGJpdCBzaW5jZSB0aGUgYmFjawoJcmVmZXJlbmNlIGlzIHVzZWQgaW4gdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbi4KCSogcG9zaXgvcmVnZXhfaW50ZXJuYWwuYyAocmVfbm9kZV9zZXRfaW5pdF8xKTogTWFrZSBpdCBjbGVhbiBpbiBjYXNlCglvZiBtYWxsb2MgZmFpbHVyZS4KCShyZV9ub2RlX3NldF9pbml0X2NvcHkpOiBMaWtld2lzZS4KCSogcG9zaXgvcmVnZXhfaW50ZXJuYWwuaCAoc3RhdGVfYXJyYXlfdCk6IE5ldyBzdHJ1Y3R1cmUuCgkocmVfc3ViX21hdGNoX2xhc3RfdCk6IExpa2V3aXNlLgoJKHJlX3N1Yl9tYXRjaF90b3BfdCk6IExpa2V3aXNlLgoJKHJlX21hdGNoX2NvbnRleHRfdCk6IEFkZCBuZXcgbWVtYmVycy4KCShyZV9kZmFfdCk6IExpa2V3aXNlLgoJKiBwb3NpeC9yZWdleGVjLmMgKHJlX3NlYXJjaF9pbnRlcm5hbCk6IEludm9rZSBwcnVuZV9pbXBvc3NpYmxlX25vZGVzCgl0byBjaGVjayB0aGUgbWF0Y2hpbmcgaXMgcmVhbGx5IGNvcnJlY3QsIGFuZCByZXRyeSBpZiBmYWlsZWQuCglNb3ZlIHRoZSByb3V0aW4gcHJ1bmluZyB0aGUgaW1wb3NzaWJsZSBub2RlcyBmcm9tIGhlcmUsIC4uLgoJKHBydW5lX2ltcG9zc2libGVfbm9kZXMpOiBUbyB0aGlzIGZ1bmN0aW9uLgoJKGNoZWNrX21hdGNoaW5nKTogSW52b2tlIGNoZWNrX3N1YmV4cF9tYXRjaGluZ190b3AsIGFuZCByZXBsYWNlCglyZWR1bmRhbnQgY2hlY2tpbmcgd2l0aCB0cmFuc2l0X3N0YXRlX2JrcmVmIGludm9jYXRpb24uCgkocHJvY2VlZF9uZXh0X25vZGUpOiBSZXBsYWNlIHN0cm5jbXAgd2l0aCBtZW1jbXAuICBSZXBvcnRlZCBieQoJUGFvbG8gQm9uemluaSAgPGJvbnppbmlAZ251Lm9yZz4uCgkodXBkYXRlX2N1cl9zaWZ0ZWRfc3RhdGUpOiBSZW1vdmUgc2VhcmNoX3N1YmV4cCBpbnZvY2F0aW9uLgoJKHNlYXJjaF9zdWJleHApOiBSZW1vdmUgdGhpcyBmdW5jdGlvbi4KCShjaGVja19kc3RfbGltaXRzX2NhbGNfcG9zKTogVXNlIHNlYXJjaF9jdXJfYmtyZWZfZW50cnkgZm9yCglvcHRpbWl6YXRpb24uCgkoc2lmdF9zdGF0ZXNfYmtyZWYpOiBVc2Ugc2VhcmNoX2N1cl9ia3JlZl9lbnRyeSBmb3Igb3B0aW1pemF0aW9uLgoJUmVtb3ZlIHVudXNlZCBpbnZvY2F0aW9uIG9mIG1hdGNoX2N0eF9hZGRfZW50cnkuCgkodHJhbnNpdF9zdGF0ZSk6IEludm9rZSBjaGVja19zdWJleHBfbWF0Y2hpbmdfdG9wLgoJKGNoZWNrX3N1YmV4cF9tYXRjaGluZ190b3ApOiBOZXcgZnVuY3Rpb24uCgkodHJhbnNpdF9zdGF0ZV9ia3JlZik6IFJlbW92ZSB1bnVzZWQgYXJyYXkuCglNZXJnZSB0cmFuc2l0X3N0YXRlX2JrcmVmX2xvb3AuCgkodHJhbnNpdF9zdGF0ZV9ia3JlZl9sb29wKTogVXNlIGdldF9zdWJleHAgaW5zdGVhZCBvZgoJc2lmdF9zdGF0ZXNfYmFja3dhcmQuICBVc2Ugc2VhcmNoX2N1cl9ia3JlZl9lbnRyeSBmb3Igb3B0aW1pemF0aW9uLgoJTWVyZ2UgdGhpcyBmdW5jdGlvbiB0byB0cmFuc2l0X3N0YXRlX2JrcmVmLgoJKGdldF9zdWJleHApOiBOZXcgZnVuY3Rpb24uCgkoZ2V0X3N1YmV4cF9zdWIpOiBMaWtld2lzZS4KCShmaW5kX3N1YmV4cF9ub2RlKTogTGlrZXdpc2UuCgkoY2hlY2tfYXJyaXZhbCk6IExpa2V3aXNlLgoJKGNoZWNrX2Fycml2YWxfZXhwYW5kX2VjbCk6IExpa2V3aXNlLgoJKGNoZWNrX2Fycml2YWxfZXhwYW5kX2VjbF9zdWIpOiBMaWtld2lzZS4KCShleHBhbmRfYmtyZWZfY2FjaGUpOiBMaWtld2lzZS4KCShtYXRjaF9jdHhfaW5pdCk6IEluaXRpYWxpemUgbmV3IG1lbWJlcnMuCgkobWF0Y2hfY3R4X2NsZWFuKTogTmV3IGZ1bmN0aW9uLgoJKG1hdGNoX2N0eF9mcmVlKTogUmVsZWFzZSBuZXcgbWVtYmVycy4KCShtYXRjaF9jdHhfZnJlZV9zdWJ0b3BzKTogTmV3IGZ1bmN0aW9uLgoJKG1hdGNoX2N0eF9hZGRfZW50cnkpOiBGaXggaW5kZW50LgoJKHNlYXJjaF9jdXJfYmtyZWZfZW50cnkpOiBOZXcgZnVuY3Rpb24uCgkobWF0Y2hfY3R4X2FkZF9zdWJ0b3ApOiBMaWtld2lzZS4KCShtYXRjaF9jdHhfYWRkX3N1Ymxhc3QpOiBMaWtld2lzZS4KCjIwMDItMTEtMjUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnYvTWFrZWZpbGUgKHRlc3RzKTogUmVtb3ZlIHRzdC1pY29udjQuYwoJKiBpY29udi90c3QtaWNvbnY0LmM6IE1vdmVkIHRvLi4uCgkqIGljb252ZGF0YS90c3QtaWNvbnY0LmM6IC4uLmhlcmUuICBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3QtaWNvbnY0LiAgQWRkIGRlcGVuZGVuY2llcy4KCjIwMDItMTEtMjUgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBpbmV0L3Rlc3QtaWZhZGRycy5jIChtYWluOiBhZGRyX3N0cmluZyk6IEhhbmRsZSBudWxsIFNBLgoJR3JvayBBRl9MSU5LIGlmIGRlZmluZWQuCglGcm9tIE1vbWNoaWwgVmVsaWtvdiA8dmVsY29AZmFkYXRhLmJnPi4KCgkqIHN5c2RlcHMvZ251L2lmYWRkcnMuYyAoZ2V0aWZhZGRycyk6IElmIGlvY3RsIGZhaWxzIGZvciBuZXRtYXNrLAoJYnJkYWRkciwgb3IgZHN0YWRkciwganVzdCBzZXQgdGhvc2UgcG9pbnRlcnMgdG8gbnVsbCBhbmQgZG9uJ3QgZmFpbC4KCVJlcG9ydGVkIGJ5IE1vbWNoaWwgVmVsaWtvdiA8dmVsY29AZmFkYXRhLmJnPi4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9pZnJlcS5oIChfX2lmX25leHRyZXEpIFtfSEFWRV9TQV9MRU5dOiBJZiBzYV9sZW4KCWlzID4gc2l6ZW9mIElGUi0+aWZhX2FkZHIsIGFkdmFuY2UgcGFzdCB0aGUgd2hvbGUgbG9uZ2VyIGxlbmd0aC4KCShfX2lmcmVxKTogQ291bnQgdXAgTklGUyB0aGF0IHdheSB0b28uCglSZXBvcnRlZCBieSBNb21jaGlsIFZlbGlrb3YgPHZlbGNvQGZhZGF0YS5iZz4uCgoJKiBzeXNkZXBzL21hY2gvaHVyZC9sY2htb2QuYzogSW5jbHVkZSA8ZmNudGwuaD4uCgoJKiBzeXNkZXBzL21hY2gvaHVyZC9pMzg2L2luaXQtZmlyc3QuYzogSW5jbHVkZSA8bGRzb2RlZnMuaD4KCWFuZCA8ZnB1X2NvbnRyb2wuaD4uCgoyMDAyLTExLTI0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9lbGYuaCAoRU1fU1QxOSk6IEZpeCB0eXBvLgoKMjAwMi0xMS0yNSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2Vycm5vLmggKF9fc2V0X2Vycm5vKTogRGVmaW5lIGFzIGVycm5vID0gdmFsCgl1bmNvbmRpdGlvbmFsbHkuCgoyMDAyLTExLTI0ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9wb3NpeC9yZWFkdi5jOiBJbmNsdWRlIDxlcnJuby5oPiwgdXNlIF9fc2V0X2Vycm5vIG1hY3JvLgoJKiBzeXNkZXBzL3Bvc2l4L3dyaXRldi5jOiBMaWtld2lzZS4KCUZyb20gTW9tY2hpbCBWZWxpa292IDx2ZWxjb0BmYWRhdGEuYmc+LgoKCSogZWxmL2RsLWVycm9yLmMgWyEgX0xJQkNfUkVFTlRSQU5UXTogVXNlIGEgc3RhdGljIHZhcmlhYmxlIGluc3RlYWQgb2YKCWNhbGxpbmcgKkdMKGRsX2Vycm9yX2NhdGNoX3RzZCkgZm9yIGEgdGhyZWFkLWxvY2FsIGxvY2F0aW9uLgoJKiBlbGYvcnRsZC5jIChzdGFydHVwX2Vycm9yX3RzZCk6IENvbmRpdGlvbmFsaXplIG9uIFtfTElCQ19SRUVOVFJBTlRdLgoJKGRsX21haW4pOiBTYW1lIGZvciBHTChkbF9lcnJvcl9jYXRjaF90c2QpIGluaXRpYWxpemF0aW9uLgoJKiBlbGYvZGwtdHNkLmM6IENvbmRpdGlvbmFsaXplIGNvbnRlbnRzIG9uIFtfTElCQ19SRUVOVFJBTlRdLgoKCSogbGliaW8vaW9mZmx1c2guYzogQWRkIGxpYmNfaGlkZGVuX2RlZi4KCSogbGliaW8vaW9md3JpdGUuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zaWd0aW1lZHdhaXQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zaWd3YWl0aW5mby5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3NpeC9zaWd3YWl0LmM6IExpa2V3aXNlLgoJUmVwb3J0ZWQgYnkgTW9tY2hpbCBWZWxpa292IDx2ZWxjb0BmYWRhdGEuYmc+LgoKCSogaW5ldC9pbmV0X2xuYW9mLmMgKGluZXRfbG5hb2YpOiBDaGFuZ2UgcmV0dXJuIHR5cGUgdG8gaW5fYWRkcl90Cgl0byBtYXRjaCA8YXJwYS9pbmV0Lmg+IGRlY2xhcmF0aW9uLgoJKiBpbmV0L2luZXRfbmV0b2YuYyAoaW5ldF9uZXRvZik6IExpa2V3aXNlLgoJKiBpbmV0L2luZXRfbWthZHIuYyAoaW5ldF9tYWtlYWRkcik6IExpa2V3aXNlIGZvciBhcmd1bWVudCB0eXBlcy4KCVJlcG9ydGVkIGJ5IE1vbWNoaWwgVmVsaWtvdiA8dmVsY29AZmFkYXRhLmJnPi4KCgkqIGNvbmZpZ3VyZS5pbjogU2tpcCBBVVRPQ09ORiBjaGVjayB1bmRlciAtLXdpdGhvdXQtY3ZzLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGVkLgoKCSogcG9zaXgvTWFrZWZpbGUgKGhlYWRlcnMpOiBBZGQgYml0cy9wdGhyZWFkdHlwZXMuaC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvTWFrZWZpbGUgKHN5c2RlcF9oZWFlcnMpOiBEb24ndCBhZGQgaXQgaGVyZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvRGlzdDogUmVtb3ZlIGl0IGZyb20gdGhlIGxpc3QuCgoyMDAyLTExLTI0ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9zeXNkZXAuaDogU3VwcG9ydCBpbmxpbmUgc3lzY2FsbAoJd2l0aCBzaXggYXJndW1lbnRzLgoKMjAwMi0xMS0xOSAgSmltIE1leWVyaW5nICA8amltQG1leWVyaW5nLm5ldD4KCgkqIHRpbWUvbWt0aW1lLmMgKF9fbW9uX3lkYXksIF9fbWt0aW1lX2ludGVybmFsKSBbIV9MSUJDXTogRGVjbGFyZQoJYXMgYHN0YXRpYycuCgkqIHRpbWUvc3RycHRpbWUuYyAoX19tb25feWRheSkgWyFfTElCQ106IERlY2xhcmUgYXMgYHN0YXRpYycuCgoyMDAyLTExLTIzICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogc2NyaXB0cy9hYmlsaXN0LmF3azogQXZvaWQgc3RydG9udW0gZnVuY3Rpb24sIG5vdCB0aGVyZSBpbiBtYXdrLgoJSnVzdCBwcm9kdWNlIGhleCBvdXRwdXQgZm9yIGRhdHVtIHNpemVzLgoKCSogZWxmL01ha2VmaWxlICgkKG9ianBmeClsaWJydGxkLm1rKTogVGlnaHRlbiB1cCByZWdleHAuCglSZXBvcnRlZCBieSBMdWNhIEJhcmJpZXJpIDxsZGJAbGRiLm9kcy5vcmc+LgoKMjAwMi0xMS0yMCAgU3RldmVuIE11bnJvZSAgPHNqbXVucm9lQHVzLmlibS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2JpdHMvbXNxLmggKG1zcWlkX2RzKQoJW19fV09SRFNJWkUgPT0gMzJdOiBPbmx5IFBQQzMyIHJlcXVpcmVzIF9fdW51c2VkMSwgX191bnVzZWQyLAoJYW5kIF9fdW51c2VkMyBmaWVsZHMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvYml0cy9zZW0uaCAoc2VtaWRfZHMpCglbX19XT1JEU0laRSA9PSAzMl06IE9ubHkgUFBDMzIgcmVxdWlyZXMgX191bnVzZWQxCglhbmQgX191bnVzZWQyIGZpZWxkcy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9iaXRzL3NobS5oIChzaG1pZF9kcykKCVtfX1dPUkRTSVpFID09IDMyXTogT25seSBQUEMzMiByZXF1aXJlcyBfX3VudXNlZDEsIF9fdW51c2VkMiwKCV9fdW51c2VkMywgYW5kIF9fdW51c2VkNCBmaWVsZHMuCgoJKiBjc3UvZ21vbi1zdGFydC5jIChfX2dtb25fc3RhcnRfXyk6IEFsd2F5cyB1c2UgVEVYVF9TVEFSVCBtYWNybyB0bwoJb2J0YWluIGxvd2VzdCBhZGRyZXNzIGZvciBwcm9maWxpbmcgaW4gX19tb25zdGFydHVwIGNhbGwuCgoyMDAyLTExLTIxICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9pYTY0L2ZwdS9NYWtlZmlsZSAobGlibS1zeXNkZXBfcm91dGluZXMpOiBSZW1vdmUgcmVkdW5hbnQKCSQoY2FsbHMpICQoY2FsbHM6PWYpICQobG9uZy1jLSQobG9uZy1kb3VibGUtZmN0cykpLgoKCSogbG9jYWxlL2xvY2FsZWluZm8uaCAoc3RydWN0IGxvY2FsZV9kYXRhKTogUmV2ZXJ0IGxhc3QgY2hhbmdlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zeXNjYWxscy5saXN0IChzX2V4aXRfZ3JvdXApOiBBZGQgaXQuCglGcm9tIElhbiBXaWVuYW5kIDxpYW53QGdlbGF0by51bnN3LmVkdS5hdT4uCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3N5c2RlcC5oIChfX05SX3ByZWFkKTogRGVmaW5lIHRvCglfX05SX3ByZWFkNjQgaWYgbm90IGRlZmluZWQuCgkoX19OUl9wd3JpdGUpOiBEZWZpbmUgdG8gX19OUl9wd3JpdGU2NCBpZiBub3QgZGVmaW5lZC4KCUZyb20gSWFuIFdpZW5hbmQgPGlhbndAZ2VsYXRvLnVuc3cuZWR1LmF1Pi4KCjIwMDItMTEtMjEgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGZyb2IuY29tPgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvaTM4Ni9pbml0LWZpcnN0LmMgKHBvc2l4bGFuZF9pbml0KTogU2V0CglfX2xpYmNfbXVsdGlwbGVfbGliY3MgaGVyZS4gIENhbGwgX19zZXRmcHVjdy4KCjIwMDItMTEtMjEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZWxmL01ha2VmaWxlICh0ZXN0cyk6IERvbid0IHJ1biB0ZXN0LWFycmF5WCB0ZXN0cyBmb3Igbm93LgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9zY2hlZC5oOiBBZGQgbmV3IENMT05FXyogZmxhZ3MuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvY2xvbmUuUzogQWRkIHN1cHBvcnQgZm9yCglDTE9ORV9DSElMRF8qVElEIGZsYWdzLgoKMjAwMi0xMS0yMCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3NpZ2NvbnRleHRpbmZvLmggKFNJR0NPTlRFWFQpOgoJV2UgcGFzcyBzdHJ1Y3QgdWNvbnRleHQgb24geDg2LTY0LgoJKEdFVF9QQyk6IEFkanVzdC4KCShHRVRfRlJBTUUpOiBBZGp1c3QuCgkoR0VUX1NUQUNLKTogQWRqdXN0LgoKMjAwMi0xMS0yMCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvZGwtbWFjaGluZS5jIFshIFNIQVJFRF06IEZ1cnRoZXIKCWNvbmRpdGlvbmFsaXplIFshIERPX1ZFUlNJT05JTkddICNlcnJvci4KCgkqIHNjcmlwdHMvYWJpbGlzdC5hd2s6IEdyb2sgZnVuY3Rpb24gZGVzY3JpcHRvciBzeW1ib2xzLgoKCSogaW50bC90c3QtZ2V0dGV4dC5jIChtYWluKTogQ2hlY2sgcmV0dXJuIHZhbHVlcyBmcm9tIHNldGxvY2FsZS4KCUFkZCBuZWNlc3NhcnkgdW5zZXRlbnYncyB0byBtYWtlIExBTkc9ZXhpc3RpbmctbG9jYWxlIGNoZWNrIHdvcmsuCgoJKiBpbnRsL3RzdC1nZXR0ZXh0LnNoOiBVc2UgbWtkaXIgLXAuICBDb3B5IHRlc3QgZmlsZXMgdW5jb25kaXRpb25hbGx5LAoJc28gYWJvcnRlZCBwcmlvciBydW5zIGRvbid0IGNvbmZ1c2UgdGhpbmdzLgoKCSogbG9jYWxlL2xvY2FsZWluZm8uaCAoc3RydWN0IGxvY2FsZV9kYXRhOiB1bmlvbiBsb2NhbGVfZGF0YV92YWx1ZSk6CglVc2UgdWludHB0cl90IGluc3RlYWQgb2YgdW5zaWduZWQgaW50IGZvciBgd29yZCcgbWVtYmVyLgoJKF9OTF9DVVJSRU5UX1dPUkQpOiBDYXN0IHRvIHVpbnQzMl90LgoKCSogcG9zaXgvYnVnLXJlZ2V4NS5jIChtYWluKTogVXNlIHVuaW9uIHRvIGV4dHJhY3QgX05MX0NPTExBVEVfTlJVTEVTCgl2YWx1ZS4KCjIwMDItMTEtMjAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZWxmL3Rscy1tYWNyb3MuaDogQWRkIElBLTY0IGRlZmluaXRpb25zLgoJUGF0Y2ggYnkgSWFuIFdpZW5hbmQgPGlhbndAZ2VsYXRvLnVuc3cuZWR1LmF1Pi4KCgkqIGljb252L01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3QtaWNvbnY0LgoJKiBpY29udi90c3QtaWNvbnY0LmM6IE5ldyBmaWxlLgoKCSogaWNvbnYvZ2NvbnZfc2ltcGxlLmMgKGludGVybmFsX3VjczRsZV9sb29wX3VuYWxpZ25lZCk6IFJldHVybgoJX19HQ09OVl9FTVBUWV9JTlBVVCBvbmx5IGlmIGlucHV0IGlzIHJlYWxseSBlbXB0eS4gIE90aGVyd2lzZQoJX19HQ09OVl9JTkNPTVBMRVRFX0lOUFVULgoJKHVjczRsZV9pbnRlcm5hbF9sb29wKTogTGlrZXdpc2UuCgkodWNzNGxlX2ludGVybmFsX2xvb3BfdW5hbGlnbmVkKTogTGlrZXdpc2UuCgkqIGljb252ZGF0YS91bmljb2RlLmMgKFBSRVBBUkVfTE9PUCk6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvdXRmLTE2LmMgKFBSRVBBUkVfTE9PUCk6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvdXRmLTMyLmMgKFBSRVBBUkVfTE9PUCk6IExpa2V3aXNlLgoKCSogaWNvbnYvbG9vcC5jIChMT09QRkNUKTogRmlyc3QgdGVzdCBmb3IgZW1wdHkgaW5wdXQgdGhlbiBmb3IgZnVsbAoJb3V0cHV0IGJ1ZmZlci4KCgkqIGluZXQvZ2V0bmFtZWluZm8uYzogVXNlIGV4dGVuZF9hbGxvY2Egd2hlcmUgYXBwcm9wcmlhdGUuCgkqIHN5c2RlcHMvcG9zaXgvZ2V0YWRkcmluZm8uYzogTGlrZXdpc2UuCgoJKiBpbmNsdWRlL2FsbG9jYS5oIChleHRlbmRfYWxsb2NhKTogTmV3IGRlZmluZS4gIEJhc2VkIG9uIHN0YWNrCglkaXJlY3Rpb24gaXQnbGwgdHJ5IHRvIGFwcGVuZCB0byB0aGUgcHJldmlvdWxzIGFsbG9jYXRlZCBidWZmZXIuCgoyMDAyLTExLTA3ICBUaG9yc3RlbiBLdWt1ayAgPGt1a3VrQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3Bvc2l4L2dldGFkZHJpbmZvLmMgKGdhaWhfaW5ldCk6IElmIEFGX1VOU1BFQyBpcyBzZXQsCgl1c2UgdGhlIHNhbWUgc2VydmljZSBmb3IgQUZfSU5FVCBhbmQgQUZfSU5FVDYuCgoyMDAyLTExLTE5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGludGwvbG9jYWxlYWxpYXMuYyAocmVhZF9hbGlhc19maWxlKTogVXNlIG9ubHkgYWJvdXQgNDAwIGJ5dGVzCglvZiBzdGFjayBzcGFjZSBpbnN0ZWFkIG9mIDE2ay4KCjIwMDItMTEtMTggIFdvbGZyYW0gR2xvZ2VyICA8d2dAbWFsbG9jLmRlPgoKCSogbWFsbG9jL2FyZW5hLmMKCShwdG1hbGxvY19sb2NrX2FsbCwgcHRtYWxsb2NfdW5sb2NrX2FsbCwgcHRtYWxsb2NfdW5sb2NrX2FsbDIpOiBEbwoJbm90aGluZyBpZiBub3QgaW5pdGlhbGl6ZWQuICBCdWcgcmVwb3J0IGZyb20gTWFyY3VzIEJyaW5rbWFubgoJPE1hcmN1cy5Ccmlua21hbm5AcnVoci11bmktYm9jaHVtLmRlPi4KCjIwMDItMTEtMTkgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9WZXJzaW9ucyAobGliYzogR0xJQkNfMi4zLjIpOiBBZGQgc2NoZWRfZ2V0YWZmaW5pdHkgYW5kCglzY2hlZF9zZXRhZmZpbml0eS4KCgkqIGNvbmZpZ3VyZS5pbiAobGliY19jdl9nY2NfZHdhcmYyX3Vud2luZF9pbmZvIGNoZWNrKTogVXNlIGxpYnJhcmllcwoJYC1sZ2NjIC1sZ2NjX2VoIC1sZ2NjJywgbm90IGp1c3QgYC1sZ2NjIC1sZ2NjX2VoJyBpbiBsaW5rIGNvbW1hbmRzIGZvcgoJdGVzdCBsZWFkaW5nIHRvIGxpYmNfY3ZfZ2NjX2R3YXJmMl91bndpbmRfaW5mbz1ub19yZWdpc3RyeV9uZWVkZWQuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZWQuCgoyMDAyLTExLTE5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvZGxmY24uaDogX19saWJjX2Rsb3BlbiBpcyBub3cgYSBtYWNybyBjYWxsaW5nCglfX2xpYmNfZGxvcGVuX21vZGUgd2l0aCB0aGUgZXh0cmEgcGFyYW1ldGVyIFJUTERfTEFaWS4KCShfX2xpYmNfZGxvcGVuX21vZGUpOiBOZXcgcHJvdG90eXBlLgoJKiBlbGYvZGwtbGliYy5jIChfX2xpYmNfZGxvcGVuX21vZGUpOiBSZW5hbWVkIGZyb20gX19saWJjX2Rsb3Blbi4gIEFkZAoJbmV3IHBhcmFtZXRlci4gIFN0b3JlIG5ldyBwYXJhbWV0ZXIgaW4gbW9kZSBmaWVsZCBvZiBzdHJ1Y3R1cmUgcGFzc2VkCgl0byBkb19kbG9wZW4uCgkoc3RydWN0IGRvX2Rsb3Blbl9hcmdzKTogQWRkIG5ldyBmaWVsZCBtb2RlLgoJKGRvX2Rsb3Blbik6IFBhc3MgbW9kZSBmcm9tIHBhcmFtZXRlciBzdHJ1Y3R1cmUgdG8gX2RsX29wZW4uCgoyMDAyLTExLTExICBSYW5kb2xmIENodW5nICA8dGF1c3FAZGViaWFuLm9yZz4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEvYml0cy9mY250bC5oIFtfX1VTRV9GSUxFX09GRlNFVDY0XQoJKEZfR0VUTEssIEZfU0VUTEssIEZfU0VUTEtXKTogRGVmaW5lIHRvIEZfKjY0IHZlcnNpb25zLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ocHBhL2ZjbnRsLmM6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy9ocHBhL2ZwdS9saWJtLXRlc3QtdWxwczogTmV3IGZpbGUgKGdlbmVyYXRlZCkuCgoJKiBzeXNkZXBzL2hwcGEvTWFrZWZpbGUgKENGTEFHUy1ydGxkLmMpOiBOZXcgdmFyaWFibGUuCglTZXQgLW1kaXNhYmxlLWZwcmVncyBmb3IgdGhpcyBmaWxlLgoKMjAwMi0xMS0xMSAgQ2FybG9zIE8nRG9uZWxsICA8Y2FybG9zQGJhbGRyaWMudXdvLmNhPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY29uZmlndXJlLmluOgoJTWFrZSAyLjQuMTkgbWluaW11bSBsaW51eCBrZXJuZWwgZm9yIGhwcGEsIGFuZCBhZGQgdW53aW5kIHN5bWJvbHMKCWZyb20gZ2NjLTMuMCBlcmEgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jb25maWd1cmU6IFJlZ2VuZXJhdGUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ocHBhL3N5cy91Y29udGV4dC5oOgoJRGVmaW5lIG1jb250ZXh0X3QgYXMgYSBzaWdjb250ZXh0LgoKMjAwMi0xMS0xOCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIGRsZmNuL2RsZXJyb3IuYyAoZmluaSk6IE5ldyBmdW5jdGlvbiwgX19hdHRyaWJ1dGVfXyAoKGRlc3RydWN0b3IpKS4KCUZyZWUgbWVtb3J5IGluIGBsYXN0X3Jlc3VsdCcgaWYgaXQgd2FzIHVzZWQuCgoJKiByZXNvbHYvbnNzX2Rucy9kbnMtbmV0d29yay5jIChnZXRhbnN3ZXJfcik6IEluIEJZTkFNRSBjYXNlLCBzZWFyY2gKCWFsbCBhbGlhc2VzIGZvciBvbmUgdGhhdCBtYXRjaGVzIHRoZSAiPGRvdHRlZC1xdWFkPi5JTi1BRERSLkFSUEEiIGZvcm0uCglEbyB0aGUgcGFyc2luZyBpbmxpbmUgaW5zdGVhZCBvZiBjb3B5aW5nIHN0cmluZ3MgYW5kIGNhbGxpbmcKCWluZXRfbmV0d29yaywgYW5kIHByb3Blcmx5IHNraXAgYWxsIGFsaWFzIG5hbWVzIG5vdCBtYXRjaGluZyB0aGUgZm9ybS4KCgkqIG1hbnVhbC9wYXR0ZXJuLnRleGkgKFZhcmlhYmxlIFN1YnN0aXR1dGlvbik6IEZpeCAjIGFuZCAjIyBleGFtcGxlcy4KCjIwMDItMTEtMTcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWFudWFsL3BhdHRlcm4udGV4aSAoV29yZGV4cCBFeGFtcGxlKTogRml4IHNhbXBsZSBjb2RlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9jbG9uZS5TOiBJbml0aWFsaXplIHdvcmQgaW4gdGhlCgljaGlsZHMgc3RhY2sgd2hpY2ggd2lsbCBiZSBsb2FkZWQgaW50byB0aGUgJWVzaSByZWdpc3Rlci4KCjIwMDItMTEtMTQgIFBhdWwgRWdnZXJ0ICA8ZWdnZXJ0QHR3aW5zdW4uY29tPgoKCSogcmVzb2x2L25zc19kbnMvZG5zLW5ldHdvcmsuYyAoZ2V0YW5zd2VyX3IpOiBDaGVjayBmb3IgYnVmZmVyCglvdmVyZmxvdyB3aGVuIHNraXBwaW5nIHRoZSBxdWVzdGlvbiBwYXJ0IGFuZCB3aGVuIHVucGFja2luZyBhbGlhc2VzLgoKMjAwMi0xMS0xNSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIG1hdGgvTWFrZWZpbGUgKGxpYm0tY2FsbHMpOiBSZW1vdmUgc19jb3B5c2lnbiwgc19pc2luZiwgc19pc25hbiwKCXNfZmluaXRlLCBzX21vZGYsIHNfc2NhbGJuLCBzX2ZyZXhwLCBtX2xkZXhwLCBzX3NpZ25iaXQuCglJbnN0ZWFkIGFkZCAkKGNhbGxzOnNfJT1tXyUpIHRvIGdldCBtXyogdmVyc2lvbnMgb2YgdGhlbSBhbGwuCgoyMDAyLTExLTE1ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvaTM4Ni9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX3JlbGEpOiBIYW5kbGUgUl8zODZfQ09QWS4KCSogc3lzZGVwcy9hcm0vZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9yZWxhKTogSGFuZGxlIFJfQVJNX0NPUFkuCgoyMDAyLTExLTE1ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogbWF0aC9NYWtlZmlsZSAobGlibS1jYWxscyk6IENoYW5nZSBzX2xkZXhwIHRvIG1fbGRleHAuCgkqIE1ha2VydWxlcyAoJCgrc3lzZGlyX3BmeClzeXNkLXJ1bGVzKTogRW1pdCBwYXR0ZXJuIHJ1bGVzIGZvciBtXyUuW1NjXQoJZnJvbSBzeXNkZXBzLy4uLi9zXyUuW1NjXSB3aXRoIGNvbW1hbmRzICQoK21ha2UtaW5jbHVkZS1vZi1kZXApLgoJKCttYWtlLWluY2x1ZGUtb2YtZGVwKTogTmV3IGNhbm5lZCBzZXF1ZW5jZS4KCgkqIHN0ZGxpYi9jYW5vbmljYWxpemUuYyAoX19yZWFscGF0aCk6IENoZWNrIGZvciBtYWxsb2MgZmFpbHVyZS4KCUZyb20gRG1pdHJ5IFYuIExldmluIDxsZHZAYWx0bGludXgub3JnPi4KCjIwMDItMTEtMTQgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvZXJybm8uYyAoX19saWJjX2Vycm5vKTogUmVtb3ZlIGFsaWFzLgoJKiBpbmV0L2hlcnJuby5jIChfX2xpYmNfaF9lcnJubyk6IExpa2V3aXNlLgoJKiByZXNvbHYvcmVzX2xpYmMuYyAoX19saWJjX3Jlcyk6IExpa2V3aXNlLgoJW1VTRV9fX1RIUkVBRF06IFVzZSB0aGlzIGluIHBsYWNlIG9mIFtVU0VfVExTICYmIEhBVkVfX19USFJFQURdLgoJKF9fcmVzX3N0YXRlKSBbISBVU0VfX19USFJFQURdOiBEb24ndCBkZWZpbmUgYXMgd2Vhay4KCSogY3N1L1ZlcnNpb25zOiBSZXZlcnQgbGFzdCBjaGFuZ2UuCgkqIHJlc29sdi9WZXJzaW9uczogUmV2ZXJ0IGxhc3QgY2hhbmdlLgoKCSogTWFrZXJ1bGVzICgkKGNvbW1vbi1vYmpwZngpJS5tYWtlKTogTmV3IHBhdHRlcm4gcnVsZS4KCSogdGxzLm1ha2UuYzogTmV3IGZpbGUuCgkqIE1ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIGl0LgoKCSogc3lzZGVwcy9nZW5lcmljL2Vycm5vLmMgWyEgVVNFX19fVEhSRUFEXQoJW0hBVkVfRUxGICYmIFNIQVJFRCAmJiBET19WRVJTSU9OSU5HXSAoZXJybm8sIF9lcnJubyk6IERlY2xhcmUgdGhlc2UKCXdpdGggY29tcGF0X3N5bWJvbCBzbyB0aGV5IGFyZSBub3QgbGluay10aW1lIHZpc2libGUuCglbISBVU0VfX19USFJFQURdIChfX2xpYmNfZXJybm8pOiBOZXcgYWxpYXMgZm9yIGVycm5vLgoJKiBjc3UvVmVyc2lvbnMgWyEoVVNFX1RMUyAmJiBIQVZFX19fVEhSRUFEKV0gKGxpYmM6IEdMSUJDX1BSSVZBVEUpOgoJQWRkIF9fbGliY19lcnJubyBoZXJlLgoJKiBpbmV0L2hlcnJuby5jIFtVU0VfX19USFJFQURdOiBVc2UgdGhpcyBjb25kaXRpb25hbAoJaW4gcGxhY2Ugb2YgW1VTRV9UTFMgJiYgSEFWRV9fX1RIUkVBRF0uCglbISBVU0VfX19USFJFQURdIFtIQVZFX0VMRiAmJiBTSEFSRUQgJiYgRE9fVkVSU0lPTklOR10KCShoX2Vycm5vLCBfaF9lcnJubyk6IERlY2xhcmUgdGhlc2Ugd2l0aCBjb21wYXRfc3ltYm9sIHNvIHRoZXkgYXJlIG5vdAoJbGluay10aW1lIHZpc2libGUuCglbISBVU0VfX19USFJFQURdIChfX2xpYmNfaF9lcnJubyk6IE5ldyBhbGlhcyBmb3IgaF9lcnJuby4KCSogcmVzb2x2L3Jlc19saWJjLmMgWyEgVVNFX19fVEhSRUFEXQoJW0hBVkVfRUxGICYmIFNIQVJFRCAmJiBET19WRVJTSU9OSU5HXSAoX3Jlcyk6IExpa2V3aXNlLgoJKF9yZXMpOiBVc2UgX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuYnNzIikpKSBzbyB3ZSBjYW4gaGF2ZSBhbiBhbGlhcy4KCShfX2xpYmNfcmVzKTogRGVmaW5lIGFzIGFsaWFzIGZvciBfcmVzLgoJKiByZXNvbHYvVmVyc2lvbnMgWyEoVVNFX1RMUyAmJiBIQVZFX19fVEhSRUFEKV0gKGxpYmM6IEdMSUJDX1BSSVZBVEUpOgoJQWRkIF9fbGliY19oX2Vycm5vIGFuZCBfX2xpYmNfcmVzIGhlcmUuCgoyMDAyLTExLTE0ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGNzdS9WZXJzaW9ucyAoZXJybm8pOiBNb3ZlIFNUVF9UTFMgc3ltYm9sIHRvIEdMSUJDX1BSSVZBVEUgZm9yIG5vdy4KCSogcmVzb2x2L1ZlcnNpb25zIChoX2Vycm5vLCBfcmVzKTogTGlrZXdpc2UuCgoyMDAyLTExLTE0ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogTWFrZXJ1bGVzICglLmR5bnN5bSk6IFJlbW92ZSAkKG9ianBmeCkgZnJvbSB0YXJnZXQgYW5kIGRlcC4KCSglLnN5bWxpc3QpOiBMaWtld2lzZS4KCjIwMDItMTEtMTMgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBzY3JpcHRzL2FiaWxpc3QuYXdrOiBOZXcgZmlsZS4KCSogTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgaXQuCgkqIE1ha2VydWxlcyAoJChvYmpwZngpJS5keW5zeW0sICQob2JqcGZ4KSUuc3ltbGlzdCk6IE5ldyBydWxlcy4KCSh0ZXN0cyk6IERlcGVuZCBvbiAuc3ltbGlzdCBmaWxlIGZvciBlYWNoICQoaW5zdGFsbC1saWIuc28tdmVyc2lvbmVkKS4KCVskKHN1YmRpcikgPSBlbGZdICh0ZXN0cyk6IERlcGVuZCBvbiBsaWJjLnN5bWxpc3QuCgkoZ2VuZXJhdGVkLCBjb21tb24tZ2VuZXJhdGVkKTogQWRkIHRob3NlIGZpbGVzLgoKCSogYWNsb2NhbC5tNCAoTElCQ19QUk9HX0JJTlVUSUxTKTogQ2hlY2sgZm9yIG9iamR1bXAsIHNldCBPQkpEVU1QLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGVkLgoJKiBjb25maWcubWFrZS5pbiAoT0JKRFVNUCk6IE5ldyB2YXJpYWJsZSwgc3Vic3RpdHV0ZWQgYnkgY29uZmlndXJlLgoKCSogbWFsbG9jL21jaGVjay5jIChzdHJ1Y3QgaGRyKTogTmV3IG1lbWJlcnMgYGJsb2NrJyBhbmQgYG1hZ2ljMicuCgkobWFsbG9jaG9vaywgcmVhbGxvY2hvb2spOiBTZXQgdGhlbSB1cC4KCShjaGVja2hkcik6IENoZWNrIEhEUi0+bWFnaWMyIHZhbHVlLgoJKGZyZWVob29rKTogUmVzZXQgSERSLT5tYWdpYzIuCgkobWVtYWxpZ25ob29rKTogTmV3IHN0YXRpYyBmdW5jdGlvbi4KCShvbGRfbWVtYWxpZ25faG9vayk6IE5ldyBzdGF0aWMgdmFyaWFibGUuCgkobWNoZWNrLCByZWFsbG9jaG9vayk6IFNldCBfX21lbWFsaWduX2hvb2sgdG8gbWVtYWxpZ25ob29rLgoKCSogc3lzZGVwcy9nZW5lcmljL2RsLXRscy5jIChfZGxfYWxsb2NhdGVfdGxzX3N0b3JhZ2UpOiBaZXJvIHRoZSBzcGFjZQoJZm9yIHRoZSBuZXcgVENCLgoKMjAwMi0xMS0xMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3NpZ2FjdGlvbi5jOiBDaGVjayBmb3IgdmlzaWJpbGl0eQoJYXR0cmlidXRlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3NpZ2FjdGlvbi5jOiBMaWtld2lzZS4KCjIwMDItMTEtMTEgIFBhdWwgRWdnZXJ0ICA8ZWdnZXJ0QHR3aW5zdW4uY29tPgoKCSogbWFudWFsL2NyeXB0LnRleGkgKENyeXB0b2dyYXBoaWMgRnVuY3Rpb25zKTogTWVudGlvbiB0aGF0Cgl0aGUgTUQ1IG9uZS13YXkgYWxnb3JpdGhtIGlzIGNvbXBhdGlibGUgd2l0aCBCU0Qncy4KCjIwMDItMTEtMTEgIElzYW11IEhhc2VnYXdhICA8aXNhbXVAeWFtYXRvLmlibS5jb20+CgoJKiBwb3NpeC9yZWdleF9pbnRlcm5hbC5jIChyZV9zdHJpbmdfc2tpcF9jaGFycyk6IEFsc28gcmV0dXJuIHRoZSBsYXN0Cgl3aWRlIGNoYXJhY3Rlci4KCShyZV9zdHJpbmdfcmVjb25zdHJ1Y3QpOiBDYWxjdWxhdGUgdGhlIGNvbnRleHQgYnkgaXRzZWxmIHdoZW4gdGhlCglvZmZzZXQgcG9pbnRzIG91dCBvZiB0aGUgdmFsaWQgcmFuZ2UuCgkocmVfc3RyaW5nX2NvbnRleHRfYXQpOiBVc2Ugd2lkZSBjaGFyYWN0ZXIgd2hlbiBNQl9DVVJfTUFYID4gMS4KCSogcG9zaXgvcmVnZXhfaW50ZXJuYWwuaCAoV0lERV9ORVdMSU5FX0NIQVIpOiBOZXcgbWFjcm8uCgkoSVNfV0lERV9XT1JEX0NIQVIpOiBOZXcgbWFjcm8uCgkoSVNfV0lERV9ORVdMSU5FKTogTmV3IG1hY3JvLgoKMjAwMi0xMS0xMiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy94ODZfNjQvc3RyY2hyLlM6IERvbid0IHVzZSBvbmUgcmVnaXN0ZXIgZm9yIHR3bwoJcHVycG9zZXMsIHRoaXMgZml4ZXMgYSBidWcgbm90aWNlZCBieSB0ZXN0LXN0cmNoci5jLgoKCSogc3lzZGVwcy94ODZfNjQvc3RyY2F0LlM6IEZpeCBhbGdvcml0aG0gdG8gYWxpZ24gc291cmNlIHBvaW50ZXIKCWNvcnJlY3RseS4KCjIwMDItMTEtMTIgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBsaWJpby9saWJpb1AuaCBbX0xJQkMgJiYgIVNITElCX0NPTVBBVCAobGliYywgR0xJQkNfMl8wLCBHTElCQ18yXzEpXQoJKF9HX0lPX05PX0JBQ0tXQVJEX0NPTVBBVCk6IERlZmluZSBpdC4KCgkqIHN5c2RlcHMvaWE2NC9kbC1mcHRyLmMgW19MSUJDX1JFRU5UUkFOVF06IEluY2x1ZGUgPGlhNjRpbnRyaW4uaD4KCWluc3RlYWQgb2YgPHB0LW1hY2hpbmUuaD4uCglbX0xJQkNfUkVFTlRSQU5UXSAobG9jaywgdW5sb2NrKTogVXNlIF9fc3luY19sb2NrXyogbWFjcm9zIGluc3RlYWQgb2YKCXRlc3RhbmRzZXQuCglGcm9tIElhbiBXaWVuYW5kIDxpYW53QGdlbGF0by51bnN3LmVkdS5hdT4uCgoyMDAyLTExLTEwICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogbGliaW8vYnVnLXdmZmx1c2guYyAoZG9fdGVzdCk6IENhbGwgcmV3aW5kIGluc3RlYWQgb2YgZnNldHBvcy4KCUNhbGwgZnB1dHMgaW5zdGVhZCBvZiBmd3ByaW50ZiAoc2ltcGxlciB0byBmb2xsb3cgaW4gZGVidWdnZXIpLgoKCSogY3J5cHQvbWQ1LWNyeXB0LmM6IERvYyBmaXguCgoJKiBzeXNkZXBzL3VuaXgvbWFrZS1zeXNjYWxscy5zaDogSW5zZXJ0ICQobWFrZS10YXJnZXQtZGlyZWN0b3J5KSBhdAoJdGhlIGJlZ2lubmluZyBvZiBnZW5lcmF0ZWQgdGFyZ2V0IGNvbW1hbmRzLgoKCSogY3N1L01ha2VmaWxlICgkKG9ianBmeCljcnRpLm8sICQob2JqcGZ4KWNydG4ubyk6IEFkZCBleHBsaWNpdAoJZGVwZW5kZW5jaWVzIGZvciB0aGVzZSBpbiBjYXNlIGltcGxpY2l0IHJ1bGUgc2VhcmNoIHNraXBwZWQgdGhlCglub25leGlzdGVudCBzb3VyY2UgZGlyZWN0b3J5LgoJKiBzeXNkZXBzL2dudS9NYWtlZmlsZSAoJChvYmpwZngpZXJybGlzdC5kKTogR2l2ZSB0aGlzIHJ1bGUgYWxsIHRoZQoJZmlsZXMgd2l0aCAkKG9iamVjdC1zdWZmaXhlcykgYXMgdGFyZ2V0cyB0b28uCgkqIE1ha2VydWxlcyBbbm9fZGVwcyAmJiBvYmpwZnhdIChiZWZvcmUtY29tcGlsZSk6IEFkZCAkKG9ianBmeCkuCglhbmQgYSB0YXJnZXQgZm9yIGl0IHVzaW5nICQobWFrZS10YXJnZXQtZGlyZWN0b3J5KS4KCgkqIFJ1bGVzIChiZWZvcmUtY29tcGlsZSk6IEFkZCAkKGNvbW1vbi1vYmpwZngpYml0cy9zdGRpby1saW0uaC4KCjIwMDItMTEtMTAgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGZyb2IuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9wdGhyZWFkdHlwZXMuaDogTW92ZWQgdG8gLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL3B0aHJlYWR0eXBlcy5oOiAuLi4gaGVyZS4KCgkqIHN5c2RlcHMvbWFjaC9odXJkL2ZjbnRsLmMgKF9fbGliY19mY250bCk6IFRyZWF0IGEgc3RydWN0IGZsb2NrIHdpdGgKCWxfc3RhcnQgPT0gMCBhbmQgbF9sZW4gPT0gMSBhcyB3ZSBkbyBsX2xlbiA9PSAwLgoKMjAwMi0xMS0xMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwby9kYS5wbzogVXBkYXRlIGZyb20gdHJhbnNsYXRpb24gdGVhbS4KCjIwMDItMTEtMTAgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBjb25maWcubWFrZS5pbiAoaW5jbHVkZWRpcik6IE5ldyB2YXJpYWJsZSwgc3Vic3RpdHV0ZWQgYnkgY29uZmlndXJlLgoJUmVwb3J0ZWQgbWlzc2luZyBieSBKb2NlbHluIEZvdXJuaWVyIDxqb2NAcHJlc2VuY2UtcGMuY29tPi4KCSogTWFrZWNvbmZpZyAoaW5jbHVkZWRpcik6IFVzZSAkKHByZWZpeCksIG5vdCAkKGV4ZWNfcHJlZml4KS4KCjIwMDItMTEtMTAgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXMvdWNvbnRleHQuaCAoZW51bSk6IEFkZAoJUkVHX09MRE1BU0sgYW5kIFJFR19DUjIgdG8gc3luY2ggd2l0aCBrZXJuZWwgaGVhZGVyLgoJKE5HUkVHKTogSW5jcmVhc2UuCgoJKiBuc3MvZ2V0WFhlbnQuYyAoR0VURlVOQ19OQU1FKTogVXNlIHVuaW9uIHR5cGUgdG8gYXZvaWQgc3RyaWN0CglhbGlhc2luZyBwcm9ibGVtLgoJKiBuc3MvZ2V0WFhieVlZX3IuYyAoSU5URVJOQUwpOiBMaWtld2lzZS4KCSogbnNzL2dldG5zc2VudF9yLmMgKF9fbnNzX2dldGVudF9yKTogTGlrZXdpc2UuCgkoX19uc3Nfc2V0ZW50KTogTGlrZXdpc2UuCgkoX19uc3NfZ2V0ZW50X3IpOiBMaWtld2lzZS4KCSogaW5ldC9nZXRuZXRncmVudF9yLmMgKGlubmV0Z3IpOiBMaWtld2lzZS4KCShfX2ludGVybmFsX3NldG5ldGdyZW50X3JldXNlKTogTGlrZXdpc2UuCgkoaW50ZXJuYWxfZ2V0bmV0Z3JlbnRfcik6IExpa2V3aXNlLgoJKiBpbmV0L2V0aGVyX2h0b24uYyAoZXRoZXJfaG9zdHRvbik6IExpa2V3aXNlLgoJKiBpbmV0L2V0aGVyX250b2guYyAoZXRoZXJfbnRvaG9zdCk6IExpa2V3aXNlLgoJKiBzdW5ycGMvbmV0bmFtZS5jIChuZXRuYW1lMnVzZXIpOiBMaWtld2lzZS4KCSogc3VucnBjL3B1YmxpY2tleS5jIChnZXRwdWJsaWNrZXkpOiBMaWtld2lzZS4KCShnZXRzZWNyZXRrZXkpOiBMaWtld2lzZS4KCjIwMDItMTEtMDkgIE1hcmN1cyBCcmlua21hbm4gIDxtYXJjdXNAZ251Lm9yZz4KCgkqIHN5c2RlcHMvbWFjaC9odXJkL2kzODYvaW9wZXJtLmMgKGlvcGVybSk6IENvcnJlY3Qgb2ZmIGJ5IG9uZQoJZXJyb3IgaW4gcmFuZ2UgY2FsY3VsYXRpb24uCgoyMDAyLTEwLTA5ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN0cmluZy90ZXN0LXN0cnNwbi5jIChkb190ZXN0KTogRW5zdXJlIHplcm8gdGVybWluYXRpb24uCgkqIHN0cmluZy90ZXN0LXN0cnBicmsuYyAoZG9fdGVzdCk6IExpa2V3aXNlLgoJKiBzdHJpbmcvdGVzdC1zdHJuY21wLmMgKHN0dXBpZF9zdHJuY21wKTogVXNlIHN0cm5sZW4sIG5vdCBzdHJsZW4uCgkqIHN0cmluZy90ZXN0LXN0cm5jcHkuYyAoc3R1cGlkX3N0cm5jcHkpOiBMaWtld2lzZS4KCSogc3RyaW5nL3Rlc3Qtc3RwbmNweS5jIChzdHVwaWRfc3RwbmNweSk6IExpa2V3aXNlLgoKMjAwMi0xMC0wOCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIHN0cmluZy90ZXN0LXN0cmluZy5oICh0ZXN0X2luaXQpOiBGaWxsIEJVRjEgYW5kIEJVRjIgd2l0aAoJbm9uemVybyBjaGFyYWN0ZXJzLgoKMjAwMi0wOS0yMiAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbW1hcDY0LmMgKE1NQVAyX1BBR0VfU0hJRlQpOiBSZW5hbWVkCglmcm9tIFBBR0VfU0hJRlQuICBEZWZpbmUgaWYgbm90IGRlZmluZWQuICBDaGVjayBNTUFQMl9QQUdFX1NISUZUCglvbmx5IGlmIF9fTlJfbW1hcDIgaXMgZGVmaW5lZC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvbW1hcDY0LmM6IE1vdmVkIHRvIC4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tbWFwNjQuYzogLi4uIGhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEvbW1hcDY0LmM6IEZpbGUgcmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9tbWFwNjQuYzogRklsZSByZW1vdmVkLAoKMjAwMi0xMS0wOCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9idWctcmVnZXgxMy5jICh0ZXN0cyk6IEFkZCBuZXcgdGVzdC4KCgkqIHN0cmluZy90ZXN0LXN0cmNoci5jIChzdHVwaWRfc3RyY2hyKTogTmV3IGZ1bmN0aW9uLgoJKGRvX3JhbmRvbV90ZXN0cyk6IE1ha2Ugc3VyZSB0aGUgc3RyaW5nIGlzIHplcm8gdGVybWluYXRlZC4KCSogc3RyaW5nL3Rlc3Qtc3RycGJyay5jIChzdHVwaWRfc3RycGJyayk6IE5ldyBmdW5jdGlvbi4KCShkb19yYW5kb21fdGVzdHMpOiBNYWtlIHN1cmUgdGhlIHN0cmluZyBpcyB6ZXJvIHRlcm1pbmF0ZWQuCgkqIHN0cmluZy90ZXN0LXN0cmNtcC5jIChzdHVwaWRfc3RyY21wKTogTmV3IGZ1bmN0aW9uLgoJKGRvX3JhbmRvbV90ZXN0cyk6IE1ha2Ugc3VyZSB0aGUgc3RyaW5ncyBhcmUgemVybyB0ZXJtaW5hdGVkLgoJKiBzdHJpbmcvdGVzdC1zdHJzcG4uYyAoc3R1cGlkX3N0cnNwbik6IE5ldyBmdW5jdGlvbi4KCShzaW1wbGVfc3Ryc3BuKTogUmVuYW1lIHJlaiBhcmd1bWVudCB0byBhY2MuCgkoZG9fcmFuZG9tX3Rlc3RzKTogTWFrZSBzdXJlIHRoZSBzdHJpbmcgaXMgemVybyB0ZXJtaW5hdGVkLgoJKiBzdHJpbmcvdGVzdC1zdHJjc3BuLmMgKHN0dXBpZF9zdHJjc3BuKTogTmV3IGZ1bmN0aW9uLgoJKiBzdHJpbmcvdGVzdC1zdHJuY3B5LmMgKHN0dXBpZF9zdHJuY3B5KTogTmV3IGZ1bmN0aW9uLgoJKiBzdHJpbmcvdGVzdC1zdHBuY3B5LmMgKHN0dXBpZF9zdHBuY3B5KTogTmV3IGZ1bmN0aW9uLgoJKiBzdHJpbmcvdGVzdC1zdHJuY21wLmMgKHN0dXBpZF9zdHJuY21wKTogTmV3IGZ1bmN0aW9uLgoJKGRvX3JhbmRvbV90ZXN0cyk6IE1ha2Ugc3VyZSB0aGUgc3RyaW5ncyBhcmUgemVybyB0ZXJtaW5hdGVkLgoJKiBzdHJpbmcvdGVzdC1zdHJpbmcuaCAoaW1wbF90KTogQ2hhbmdlIHRlc3QgaW50byBsb25nLgoJKElNUEwpOiBBZGQgX19hdHRyaWJ1dGVfXygoYWxpZ25lZCAoc2l6ZW9mICh2b2lkICopKSkpLgoKMjAwMi0xMS0wOCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvaWE2NC9lbGYvY29uZmlndXJlLmluOiBBZGQgVExTIGNoZWNrLgoJRnJvbSBJYW4gV2llbmFuZCA8aWFud0Bjc2UudW5zdy5lZHUuYXU+LgoJKiBzeXNkZXBzL2lhNjQvZWxmL2NvbmZpZ3VyZTogUmVnZW5lcmF0ZWQuCgoyMDAyLTExLTA3ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogbGliaW8vZmlsZW9wcy5jIChfSU9fbmV3X2ZpbGVfb3ZlcmZsb3cpOiBVc2UgSU5UVVNFKF9JT19kb193cml0ZSkgaW4KCXBsYWNlIG9mIF9JT19uZXdfZG9fd3JpdGUuCglbX0xJQkNdIChfSU9fZG9fd3JpdGUpOiBEZWZpbmUgYXMgbWFjcm8gZm9yIF9JT19uZXdfZG9fd3JpdGUgYW5kCgkjdW5kZWYgYmVmb3JlIHZlcnNpb25lZF9zeW1ib2wgdXNlLgoKMjAwMi0xMS0wNyAgUmljaGFyZCBIZW5kZXJzb24gIDxydGhAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5pbiAoQVNNX0FMUEhBX05HX1NZTUJPTF9QUkVGSVgpOiBSZW1vdmUgdGVzdC4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlZC4KCSogY29uZmlnLmguaW4gKEFTTV9BTFBIQV9OR19TWU1CT0xfUFJFRklYKTogUmVtb3ZlICN1bmRlZi4KCSogc3lzZGVwcy9hbHBoYS9kbC1tYWNoaW5lLmggKFRSQU1QT0xJTkVfVEVNUExBVEUpOiBVc2UgIXNhbWVncC4KCShSVExEX1NUQVJUKTogTGlrZXdpc2UuICBBY2Nlc3MgX2RsX3NraXBfYXJncywgX3J0bGRfbG9jYWwsIGFuZAoJX2RsX2ZpbmkgdmlhIGdwLXJlbGF0aXZlIHJlbG9jYXRpb25zLgoJKiBzeXNkZXBzL2FscGhhL2ZwdS9lX3NxcnQuYzogVXNlICFzYW1lZ3AuCgoJKiBlbGYvdGxzLW1hY3Jvcy5oOiBBZGQgYWxwaGEgdmVyc2lvbnMuCgkqIHN5c2RlcHMvYWxwaGEvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9yZWxhKTogSGFuZGxlIFRMUyByZWxvY3MuCgkqIHN5c2RlcHMvdW5peC9hbHBoYS9zeXNkZXAuUzogU3VwcG9ydCBVU0VfX19USFJFQUQuCgkqIHN5c2RlcHMvdW5peC9hbHBoYS9zeXNkZXAuaDogTGlrZXdpc2UuICBBZGQgU1lTQ0FMTF9FUlJPUl9IQU5ETEVSLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9icmsuUzogVXNlIGl0LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9jbG9uZS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvZ2V0aXRpbWVyLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9nZXRydXNhZ2UuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2dldHRpbWVvZmRheS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvaWVlZV9nZXRfZnBfY29udHJvbC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvaWVlZV9zZXRfZnBfY29udHJvbC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvcnRfc2lnYWN0aW9uLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9zZWxlY3QuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3NldGl0aW1lci5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvc2V0dGltZW9mZGF5LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9zaWdzdXNwZW5kLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9zeXNjYWxsLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS91dGltZXMuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3dhaXQ0LlM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvc3lzZGVwLmg6IFJlLWluY2x1ZGUgcHJvdGVjdC4KCUtpbGwgYXJndW1lbnQgcmVnaXN0ZXJzIGFjcm9zcyB0aGUgaW5saW5lIHN5c2NhbGwuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9jbG9uZS5TOiBBZGQgdXNlcl90aWQgYW5kIHRscyBhcmdzLgoKCSogbGludXh0aHJlYWRzL3N5c2RlcHMvYWxwaGEvdGxzLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2FscGhhL2RsLXRscy5oOiBOZXcgZmlsZS4KCjIwMDItMTAtMjkgIERhdmlkIE1vc2JlcmdlciAgPGRhdmlkbUBocGwuaHAuY29tPgoKCSogc3lzZGVwcy9pYTY0L2VsZi9pbml0ZmluaS5jIFtIQVZFX0lOSVRGSU5JX0FSUkFZXQoJKGdtb25faW5pdGlhbGl6ZXIpOiBOZXcgZnVuY3Rpb24uCgkoLmluaXQgcHJvbG9ndWUpOiBJZiBIQVZFX0lOSVRGSU5JX0FSUkFZIGlzIHRydWUsIGRvbid0IGNhbGwKCV9fZ21vbl9zdGFydF9fIGhlcmUuICBDYWxsIGl0IGZyb20gZ21vbl9pbml0aWFsaXplcigpIGluc3RlYWQuCgoyMDAyLTAzLTEyICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBlbGYvTWFrZWZpbGUgWyQoaGF2ZS1pbml0ZmluaS1hcnJheSkgPSB5ZXNdICh0ZXN0cyk6IEFkZCB0c3QtYXJyYXkxLAoJdHN0LWFycmF5MiwgYW5kIHRzdC1hcnJheTMuCglbJChoYXZlLWluaXRmaW5pLWFycmF5KSA9IHllc10gKHRlc3RzLXN0YXRpYyk6IEFkZCB0c3QtYXJyYXkzLgoJWyQoaGF2ZS1pbml0ZmluaS1hcnJheSkgPSB5ZXNdIChtb2R1bGVzLW5hbWVzKTogQWRkIHRzdC1hcnJheTJkZXAuCgkoJChvYmpwZngpdHN0LWFycmF5MS5vdXQpOiBOZXcgdGFyZ2V0LgoJKCQob2JqcGZ4KXRzdC1hcnJheTIpOiBMaWtld2lzZS4KCSgkKG9ianBmeCl0c3QtYXJyYXkyLm91dCk6IExpa2V3aXNlLgoJKCQob2JqcGZ4KXRzdC1hcnJheTMub3V0KTogTGlrZXdpc2UuCgkqIGVsZi90c3QtYXJyYXkxLmM6IE5ldyBmaWxlLgoJKiBlbGYvdHN0LWFycmF5MS5leHA6IExpa2V3aXNlLgoJKiBlbGYvdHN0LWFycmF5Mi5jOiBMaWtld2lzZS4KCSogZWxmL3RzdC1hcnJheTJkZXAuYzogTGlrZXdpc2UuCgkqIGVsZi90c3QtYXJyYXkyLmV4cDogTGlrZXdpc2UuCgkqIGVsZi90c3QtYXJyYXkzLmM6IExpa2V3aXNlLgoKMjAwMi0xMC0yOCAgRGF2aWQgTW9zYmVyZ2VyICA8ZGF2aWRtQGhwbC5ocC5jb20+CgoJKiBlbGYvZGwtZmluaS5jIChfZGxfZmluaSk6IEludm9rZSBmaW5pX2FycmF5IGluIF9yZXZlcnNlXyBvcmRlci4KCURvbid0IGFkZCBMLT5sX2FkZHIgdG8gYXJyYXkgZW50cnkgdmFsdWVzLgoKMjAwMi0xMS0wNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzdHJpbmcvdGVzdC1zdHJpbmcuaDogTmV3IGZpbGUuCgkqIHN0cmluZy90ZXN0LXN0cmxlbi5jOiBOZXcgZmlsZS4KCSogc3RyaW5nL3Rlc3Qtc3RyaW5nLmg6IE5ldyBmaWxlLgoJKiBzdHJpbmcvdGVzdC1zdHJjbXAuYzogTmV3IGZpbGUuCgkqIHN0cmluZy90ZXN0LXN0cmNoci5jOiBOZXcgZmlsZS4KCSogc3RyaW5nL3Rlc3Qtc3RycmNoci5jOiBOZXcgZmlsZS4KCSogc3RyaW5nL3Rlc3Qtc3RyY3B5LmM6IE5ldyBmaWxlLgoJKiBzdHJpbmcvdGVzdC1zdHBjcHkuYzogTmV3IGZpbGUuCgkqIHN0cmluZy90ZXN0LXN0cm5jcHkuYzogTmV3IGZpbGUuCgkqIHN0cmluZy90ZXN0LXN0cG5jcHkuYzogTmV3IGZpbGUuCgkqIHN0cmluZy90ZXN0LXN0cnBicmsuYzogTmV3IGZpbGUuCgkqIHN0cmluZy90ZXN0LXN0cmNzcG4uYzogTmV3IGZpbGUuCgkqIHN0cmluZy90ZXN0LXN0cnNwbi5jOiBOZXcgZmlsZS4KCSogc3RyaW5nL3Rlc3Qtc3RyY2F0LmM6IE5ldyBmaWxlLgoJKiBzdHJpbmcvdGVzdC1zdHJuY21wLmM6IE5ldyBmaWxlLgoJKiBzdHJpbmcvdGVzdC1tZW1jaHIuYzogTmV3IGZpbGUuCgkqIHN0cmluZy90ZXN0LW1lbWNtcC5jOiBOZXcgZmlsZS4KCSogc3RyaW5nL3Rlc3QtbWVtc2V0LmM6IE5ldyBmaWxlLgoJKiBzdHJpbmcvdGVzdC1tZW1jcHkuYzogTmV3IGZpbGUuCgkqIHN0cmluZy90ZXN0LW1lbXBjcHkuYzogTmV3IGZpbGUuCgkqIHN0cmluZy90ZXN0LW1lbW1vdmUuYzogTmV3IGZpbGUuCgkqIHN0cmluZy9NYWtlZmlsZSAoc3Ryb3AtdGVzdHMpOiBOZXcgdmFyaWFibGUuCgkodGVzdHMpOiBBZGQgc3Ryb3AtdGVzdHMuCgkoZGlzdHJpYnV0ZSk6IEFkZCB0ZXN0LXN0cmluZy5oLgoKMjAwMi0xMS0wNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9yZWdjb21wLmM6IFVzZSB0YWJzIGluc3RlYWQgb2Ygc3BhY2VzLgoJKiBwb3NpeC9yZWdleGVjLmM6IExpa2V3aXNlLgoJKiBwb3NpeC9yZWdleF9pbnRlcm5hbC5oOiBMaWtld2lzZS4KCgkqIHBvc2l4L3JlZ2NvbXAuYyAocmVfY29tcGlsZV9mYXN0bWFwX2l0ZXIpOiBVc2UgX193Y3J0b21iIG5vdCB3Y3RvbWIuCgoyMDAyLTExLTA2ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHBvc2l4L3JlZ2NvbXAuYyAocmVfY29tcGlsZV9wYXR0ZXJuKTogRG9uJ3Qgc2V0IHJlZ3NfYWxsb2NhdGVkCgloZXJlLgoJKHJlZ2NvbXApOiBEb24ndCBzZXQgY2FuX2JlX251bGwgaGVyZS4KCShyZV9jb21wKTogQ2xlYXIgd2hvbGUgcmVfY29tcF9idWYgd2l0aCB0aGUgZXhjZXB0aW9uIG9mIGZhc3RtYXAuCgkocmVfY29tcGlsZV9pbnRlcm5hbCk6IENsZWFyIGNhbl9iZV9udWxsLCBzZXQgcmVnc19hbGxvY2F0ZWQuCgoJKiBwb3NpeC9yZWdjb21wLmMgKHJlX3NldF9mYXN0bWFwKTogTmV3IGZ1bmN0aW9uLgoJKHJlX2NvbXBpbGVfZmFzdG1hcF9pdGVyKTogVXNlIGl0LiAgUmVtb3ZlIHJlZHVuZGFudCB0eXBlID09CglDT01QTEVYX0JSQUNLRVQgY2hlY2suCgkqIHBvc2l4L3JlZ2V4ZWMuYyAocmVfc2VhcmNoX2ludGVybmFsKTogT3B0aW1pemUgc2VhcmNoaW5nIHdpdGgKCWZhc3RtYXAuICBDYWxsIHJlX3N0cmluZ19yZWNvbnN0cnVjdCBldmVuIGlmIG1hdGNoX2ZpcnN0IGlzCglzbWFsbGVyIHRoYW4gcmF3X21ic19pZHguCgoyMDAyLTExLTA2ICBJc2FtdSBIYXNlZ2F3YSAgPGlzYW11QHlhbWF0by5pYm0uY29tPgoKCSogcG9zaXgvcmVnY29tcCAoZnJlZV9kZmFfY29udGVudCk6IFVzZSBmcmVlX3N0YXRlLgoJKiBwb3NpeC9yZWdleF9pbnRlcm5hbC5jIChyZV9zdHJpbmdfcmVhbGxvY19idWZmZXJzKTogRG9uJ3QgZWRpdAoJcG9pbnRlcnMgaW4gY2FzZSB0aGF0IHJlYWxsb2MgZmFpbGVkLgoJKHJlX25vZGVfc2V0X21lcmdlKTogTGlrZXdpc2UuCgkocmVnaXN0ZXJfc3RhdGUpOiBMaWtld2lzZS4KCShjcmVhdGVfbmV3c3RhdGVfY29tbW9uKTogSW52b2tlIG1lbW9yeSByZWxlYXNlIGZ1bmN0aW9ucyBpbiBjYXNlIG9mCgllcnJvciBjb25kaXRpb25zLgoJKGNyZWF0ZV9jaV9uZXdzdGF0ZSk6IExpa2V3aXNlLgoJKGNyZWF0ZV9jZF9uZXdzdGF0ZSk6IExpa2V3aXNlLgoJKGZyZWVfc3RhdGUpOiBOZXcgZnVuY3Rpb24uCgkqIHBvc2l4L3JlZ2V4ZWMuYyAocmVfc2VhcmNoX2ludGVybmFsKTogSW52b2tlIG1lbW9yeSByZWxlYXNlCglmdW5jdGlvbnMgaW4gY2FzZSBvZiBlcnJvciBjb25kaXRpb25zLgoJKHNpZnRfc3RhdGVzX2JhY2t3YXJkKTogTGlrZXdpc2UuCgkobWVyZ2Vfc3RhdGVfYXJyYXkpOiBMaWtld2lzZS4KCShhZGRfZXBzaWxvbl9zcmNfbm9kZXMpOiBMaWtld2lzZS4KCShzdWJfZXBzaWxvbl9zcmNfbm9kZXMpOiBMaWtld2lzZS4KCShzZWFyY2hfc3ViZXhwKTogTGlrZXdpc2UuCgkoc2lmdF9zdGF0ZXNfYmtyZWYpOiBMaWtld2lzZS4KCSh0cmFuc2l0X3N0YXRlX3NiKTogTGlrZXdpc2UuCgkodHJhbnNpdF9zdGF0ZV9tYik6IExpa2V3aXNlLgoJKHRyYW5zaXRfc3RhdGVfYmtyZWZfbG9vcCk6IExpa2V3aXNlLgoJKGdyb3VwX25vZGVzX2ludG9fREZBc3RhdGVzKTogTGlrZXdpc2UuCgkocHVzaF9mYWlsX3N0YWNrKTogRG9uJ3QgZWRpdCBwb2ludGVycyBpbiBjYXNlIHRoYXQgcmVhbGxvYyBmYWlsZWQuCgkoZXh0ZW5kX2J1ZmZlcnMpOiBMaWtld2lzZS4KCShtYXRjaF9jdHhfYWRkX2VudHJ5KTogTGlrZXdpc2UuCgoyMDAyLTExLTA2ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9jb25maWd1cmUuaW46IEZpbGUgcmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9jb25maWd1cmU6IExpa2V3aXNlLgoKCSogY29uZmlndXJlLmluOiBBZGQgY2hlY2tzIG9uIGFzIGFuZCBsZCBmb3IgYmludXRpbHMgMi4xMyBvciBsYXRlci4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlZC4KCjIwMDItMTEtMDYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvcmVnY29tcC5jIChyZWdjb21wKTogX19yZV9jb21waWxlX2Zhc3RtYXAgY2FuIG5ldmVyIGZhaWwuCglJZiByZV9jb21waWxlX2ludGVybmFsIGZhaWxlZCBmcmVlIGZhc3RtYXAgYnVmZmVyLgoJKGZyZWVfZGZhX2NvbnRlbnQpOiBCcm9rZW4gb3V0IG9mIHJlZ2ZyZWUgZnVuY3Rpb24uICBGcmVlcyBhbGwgZGZhCglyZWxhdGVkIGRhdGEuCgkocmVnZnJlZSk6IEFkZCBmcmVlX2RmYV9jb250ZW50LgoJKHJlX2NvbXBpbGVfaW50ZXJuYWwpOiBJZiBhbnkgb2YgdGhlIGNhbGxlZCBmdW5jdGlvbnMgZmFpbHMgZnJlZQoJYWxsIGRmYSByZWxhdGVkIG1lbW9yeS4KCjIwMDItMTEtMDUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2N0bC5oOiBBZGQgdWdseSBoYWNrcyB0byBwcmV2ZW50Cgl3YXJuaW5ncyBmcm9tIHRoZSBrZXJuZWwgaGVhZGVycy4KCjIwMDItMTEtMDUgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvbWlwcy9zeXNkZXAuaCBbISBfX1BJQ19fXSAoUFNFVURPKTogQWRkIG5vcCBhZnRlciBqdW1wLgoJRnJvbSBKb2hhbm5lcyBTdGV6ZW5iYWNoIDxqc0Bjb252ZXJnZW5jZS5kZT4uCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL1ZlcnNpb25zIChsaWJjOiBHTElCQ18yLjApOiBDaGFuZ2UKCSNlcnJsaXN0LWNvbXBhdCBtYWdpYyBjb21tZW50IHRvIGdpdmUgMTIzIGFzIHNpemUuCgkobGliYzogR0xJQkNfMi4xKTogUmVtb3ZlIHRoaXMgc2V0LCBtb3ZpbmcgI2Vycmxpc3QtY29tcGF0IG1hZ2ljIHRvIC4uLgoJKGxpYmM6IEdMSUJDXzIuMik6IC4uLiBoZXJlLgoJKGxpYmM6IEdMSUJDXzIuMyk6IExpa2V3aXNlLgoKMjAwMi0xMS0wNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtZmluaS5jIChfZGxfZmluaSk6IENvcnJlY3QgdGhlIGluY3JlbWVudCBvZiBsX29wZW5jb3VudAoJd2hpY2ggaGFwcGVucyBhdCB0aGUgYmVnaW5uaW5nIHNvIHRoYXQgd2UgY2FuIHVubG9hZCBtb2R1bGVzIGluCglfX2xpYmNfZnJlZXJlcy4KCjIwMDItMTEtMDYgIEtheiBLb2ppbWEgIDxra29qaW1hQHJyLmlpajR1Lm9yLmpwPgoKCSogc3lzZGVwcy9zaC9iaXRzL3NldGptcC5oIChKQl9TSVpFKTogRGVmaW5lIG9ubHkKCXVuZGVyIFtfX1VTRV9NSVNDIHx8IF9BU01dLgoKCSogZWxmL2VsZi5oOiBSZW1vdmUgdGhlIG9ic29sZXRlIFNIIFRMUyByZWxvY2F0aW9ucy4KCjIwMDItMTEtMDUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvcmVnY29tcC5jIChyZWdjb21wKTogSW5pdGlhbGl6ZSBwcmVnLT5jYW5fYmVfbnVsbCB0byB6ZXJvLgoKMjAwMi0xMS0wNSAgRnJhbnogU2lybCAgPEZyYW56LlNpcmwta2VybmVsQGxhdXRlcmJhY2guY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjMzIvc3lzZGVwLmg6IEhhbmRsZQoJX19OUl9wcmVhZDY0IGFuZCBfX05SX3B3cml0ZTY0LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGM2NC9zeXNkZXAuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcHJlYWQuYzogUmVtb3ZlIF9fTlJfcHJlYWQ2NAoJYW5kIF9fTlJfcHdyaXRlNjQuCglSZXZlcnQgY2hhbmdlIHRvIHVzZSBJTkxJTkVfU1lTQ0FMTC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wcmVhZDY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3B3cml0ZS5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wd3JpdGU2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9mdHJ1bmNhdGU2NC5jOiBSZXZlcnQgY2hhbmdlIHRvIHVzZQoJSU5MSU5FX1NZU0NBTEwuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvdHJ1bmNhdGU2NC5jOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzMyL3N5c2RlcC5oIChJTkxJTkVfU1lTQ0FMTCk6CglVcGRhdGUgY2xvYmJlciBsaXN0IGFuZCBhZGQgYSBjb21tZW50IGFib3V0IHRoZSBzeXNjYWxsIEFCSS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzMyL3N5c2NhbGxzLmxpc3QgKHNfcHJlYWQ2NCwKCXNfcHdyaXRlNjQsIHNfZnRydW5jYXRlLCBzX3RydW5jYXRlKTogUmUtYWRkLgoKMjAwMi0xMS0wNSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBpY29udi9nY29udl9kbC5jIChmcmVlX21lbSk6IENsZWFyIGxvYWRlZC4KCSogbG9jYWxlL2xvYWRhcmNoaXZlLmMgKF9ubF9hcmNoaXZlX3N1YmZyZWVyZXMpOiBDYWxsIGxvY2FsZV9kYXRhJ3MKCWNsZWFudXAgaWYgYW55LgoKMjAwMi0xMS0wNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9mZXhlY3ZlLmM6IEluY2x1ZGUgPHN0ZGlvLmg+LgoKCSogbGliaW8vaW9zZWVrb2ZmLmM6IFJlbW92ZSBJTlRERUYuICBEZWZpbmUgX0lPX3NlZWtvZmZfdW5sb2NrZWQuICBTYW1lCglhcyBvbGQgY29kZSB3aXRob3V0IGxvY2tpbmcuICBfSU9fc2Vla29mZiBjYWxscyB0aGlzIGZ1bmN0aW9uIGFmdGVyCglsb2NraW5nIHRoZSBzdHJlYW0uCgkqIGxpYmlvL2lvc2Vla3Bvcy5jOiBMaWtld2lzZSBmb3IgX0lPX3NlZWtwb3MuCgkqIGxpYmlvL2xpYmlvUC5oOiBSZXBsYWNlIF9JT19zZWVrb2ZmX2ludGVybmFsIGFuZCBfSU9fc2Vla3Bvc19pbnRlcm5hbAoJcHJvdG90eXBlcyB3aXRoIF9JT19zZWVrb2ZmX3VubG9ja2VkIGFuZCBfSU9fc2Vla3Bvc191bmxvY2tlZAoJcHJvdG90eXBlcy4KCSogbGliaW8vaW9saWJpby5oIChfSU9fZnNlZWspOiBDYWxsIF9JT19zZWVrb2ZmX3VubG9ja2VkIGluc3RlYWQKCW9mIF9JT19zZWVrb2ZmX2ludGVybmFsLgoJKF9JT19yZXdpbmQpOiBMaWtld2lzZS4KCSogbGliaW8vaW9mdGVsbC5jOiBMaWtld2lzZS4KCSogbGliaW8vZnRlbGxvLmM6IExpa2V3aXNlLgoJKiBsaWJpby9mdGVsbG82NC5jOiBMaWtld2lzZS4KCSogbGliaW8vaW9mZ2V0cG9zLmM6IExpa2V3aXNlLgoJKiBsaWJpby9pb2ZnZXRwb3M2NC5jOiBMaWtld2lzZS4KCSogbGliaW8vb2xkaW9mZ2V0cG9zLmM6IExpa2V3aXNlLgoJKiBsaWJpby9vbGRpb2ZnZXRwb3M2NC5jOiBMaWtld2lzZS4KCSogbGliaW8vaW9mc2V0cG9zLmM6IENhbGwgX0lPX3NlZWtwb3NfdW5sb2NrZWQgaW5zdGVhZCBvZgoJX0lPX3NlZWtwb3NfaW50ZXJuYWwuCgkqIGxpYmlvL2lvZnNldHBvczY0LmM6IExpa2V3aXNlLgoJKiBsaWJpby9vbGRpb2ZzZXRwb3MuYzogTGlrZXdpc2UuCgkqIGxpYmlvL29sZGlvZnNldHBvczY0LmM6IExpa2V3aXNlLgoKMjAwMi0xMS0wNCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvY2hvd24uYzogVXNlIElOTElORV9TWVNDQUxMIG1hY3JvLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2Z0cnVuY2F0ZTY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2lvY3RsLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3ByZWFkLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3ByZWFkNjQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcHdyaXRlLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3B3cml0ZTY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3RjZ2V0YXR0ci5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy90Y3NldGF0dHIuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvdHJ1bmNhdGU2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjMzIvc3lzY2FsbHMubGlzdCAoc19pb2N0bCwKCXNfY2hvd24sIHNfZnRydW5jYXRlNjQsIHNfbW1hcDIsIHNfcHJlYWQ2NCwgc19wd3JpdGU2NCwgc190cnVuY2F0ZTY0LAoJc3lzX2ZzdGF0LCBzeXNfbHN0YXQsIHN5c19ta25vZCwgc3lzX3JlYWR2LCBzeXNfc3RhdCwgc3lzX3dyaXRldik6CglSZW1vdmUgdGhlc2UsIG5vIGxvbmdlciB1c2VkLgoKMjAwMi0xMS0wNCAgRnJhbnogU2lybCAgPEZyYW56LlNpcmwta2VybmVsQGxhdXRlcmJhY2guY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjMzIvc3lzY2FsbHMubGlzdCAoc19pcGMsCglzX2xsc2Vlaywgc19yZWFkYWhlYWQsIHNfZXhlY3ZlLCBzX2ZjbnRsLCBzX2ZjbnRsNjQsIHNfZnN0YXQ2NCwKCXNfZ2V0Y3dkLCBzX2dldGRlbnRzLCBzX2dldGRlbnRzNjQsIHNfZ2V0cG1zZywgc19nZXRwcmlvcml0eSwKCXNfZ2V0cmxpbWl0LCBzX2xzdGF0NjQsIHNfcG9sbCwgc19wdHJhY2UsIHNfcHV0cG1zZywgc19yZWJvb3QsCglzX3NldHJsaW1pdCwgc19zaWdhY3Rpb24sIHNfc2lncGVuZGluZywgc19zaWdwcm9jbWFzaywgc19zaWdzdXNwZW5kLAoJc19zdGF0NjQsIHNfc3lzY3RsLCBzX3VnZXRybGltaXQsIHNfdXN0YXQsIHNfdmZvcmspOiBSZW1vdmUgbm93IHVudXNlZAoJc3lzY2FsbCBzdHVicy4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3B3cml0ZS5jOiBGaXggdHlwby4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcHdyaXRlNjQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcHJlYWQuYzogSGFuZGxlIGJvdGggX19OUl9wcmVhZDY0CglhbmQgX19OUl9wcmVhZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wcmVhZDY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3B3cml0ZS5jOiBIYW5kbGUgYm90aCBfX05SX3B3cml0ZTY0CglhbmQgX19OUl9wd3JpdGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcHdyaXRlNjQuYzogTGlrZXdpc2UuCgoyMDAyLTExLTAzICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmggKHN0cnVjdCBydGxkX2dsb2JhbCk6IE5ldyBtZW1iZXIKCWBfZGxfdGxzX3N0YXRpY191c2VkJy4KCSogc3lzZGVwcy9nZW5lcmljL2xpYmMtdGxzLmMgKF9kbF90bHNfc3RhdGljX3VzZWQpOiBOZXcgdmFyaWFibGUuCgkoX19saWJjX3NldHVwX3Rscyk6IEluaXRpYWxpemUgaXQuICBMZXQgdGhlIGluaXRpYWwgdmFsdWUgb2YKCV9kbF90bHNfc3RhdGljX3NpemUgaW5kaWNhdGUgc29tZSBzdXJwbHVzIHNwYWNlIGluIHRoZSBjb21wdXRlZCB2YWx1ZS4KCSogZWxmL2RsLW9wZW4uYyAoX2RsX3Rsc19zdGF0aWNfc2l6ZSk6IE5ldyB2YXJpYWJsZS4KCSogc3lzZGVwcy9nZW5lcmljL2RsLXRscy5jIChfZGxfZGV0ZXJtaW5lX3Rsc29mZnNldCk6IEluaXRpYWxpemUKCV9kbF90bHNfc3RhdGljX3VzZWQuICBBZGQgc29tZSBzdXJwbHVzIHNwYWNlIGludG8gX2RsX3Rsc19zdGF0aWNfc2l6ZS4KCSogZWxmL2RsLXJlbG9jLmMgW1VTRV9UTFNdIChhbGxvY2F0ZV9zdGF0aWNfdGxzKTogTmV3IGZ1bmN0aW9uLgoJKENIRUNLX1NUQVRJQ19UTFMpOiBVc2UgaXQuCgkqIGVsZi9kbC1jbG9zZS5jIChfZGxfY2xvc2UpOiBBZGp1c3QgX2RsX3Rsc19zdGF0aWNfdXNlZCB3aGVuIHRoZQoJY2xvc2VkIG9iamVjdHMgb2NjdXBpZWQgYSB0cmFpbGluZyBjb250aWd1b3VzIGNodW5rIG9mIHN0YXRpYyBUTFMgYXJlYS4KCjIwMDItMTAtMTggIEJydW5vIEhhaWJsZSAgPGJydW5vQGNsaXNwLm9yZz4KCgkqIGNoYXJtYXBzL0lTT181NDI4OiBVc2UgR3JlZWsgY2hhcmFjdGVycyBpbnRyb2R1Y2VkIGluIFVuaWNvZGUgMy4wLgoKMjAwMi0xMS0wNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsaWJpby93ZmlsZW9wcy5jIChfSU9fd2ZpbGVfc2Vla29mZik6IERvbid0IG1vZGlmeSBfb2Zmc2V0IGFuZAoJX3dpZGVfZGF0YS0+X0lPX3JlYWRfZW5kIGlmIGFkanVzdG1lbnQgY2FuIGJlIG1hZGUgaW4gdGhlIGN1cnJlbnQKCWJ1ZmZlci4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2ZleGVjdmUuYzogTmV3IGZpbGUuCgoJKiBsaWJpby9idWctd2ZmbHVzaC5jIChkb190ZXN0KTogVXNpbmcgZnNlZWsgaXMgbm90IGFsbG93ZWQgd2hlbgoJd2lkZSBvcmllbnRlZCBzdHJlYW1zIGFyZSB1c2VkLgoKCSogbnNzL2dldFhYZW50X3IuYyAoRU5ERlVOQ19OQU1FKTogRG9uJ3QgZG8gYW55dGhpbmcgaWYgdGhlCglzZXJ2aWNlIGhhc24ndCBiZWVuIHVzZWQgW1BSIGxpYmMvNDc0NF0uCgoJKiBpbmNsdWRlL2ZlYXR1cmVzLmg6IFVzZSBfX1NURENfVkVSU0lPTl9fIG5vdCBfX1NURENfVkVSU0lPTi4KCVJlcG9ydGVkIGJ5IE1pbG9zbGF2IFRybWFjIDxtaXRyQHZvbG55LmN6PiBbUFIgbGliYy80NzY2XS4KCgkqIG1hbnVhbC9leGFtcGxlcy9kaXIuYzogRG9uJ3QgaW5jbHVkZSA8c3RkZGVmLmg+LgoJKiBtYW51YWwvZXhhbXBsZXMvc2VsZWN0LmM6IEluY2x1ZGUgPGVycm5vLmg+IGZvciBURU1QX0ZBSUxVUkVfUkVUUlkuCglSZXBvcnRlZCBieSBGculk6XJpYyBEZWxhbm95IDxkZWxhbm95X2ZAeWFob28uY29tPi4KCjIwMDItMTEtMDIgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIHN0ZGlvLWNvbW1vbi9yZWctcHJpbnRmLmM6IEluY2x1ZGUgPHN0ZGRlZi5oPi4KCjIwMDItMTEtMDMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL2xpYmMtdGxzLmM6IERlZmluZSBfZGxfdGxzX3N0YXRpY191c2VkLgoKCSogcG8vY2EucG86IFVwZGF0ZSBmcm9tIHRyYW5zbGF0aW9uIHRlYW0uCgkqIHBvL2VzLnBvOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9zZWdmYXVsdC5jIChjYXRjaF9zZWdmYXVsdCk6IElmIEhBVkVfUFJPQ19TRUxGCglpcyBkZWZpbmVkIHdyaXRlIG91dCBtZW1vcnkgbWFwLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zZWdmYXVsdC5jOiBOZXcgZmlsZS4KCjIwMDItMTEtMDIgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9nZXRkZW50cy5jIChfX0dFVERFTlRTKTogVXNlIHVuaW9uIHR5cGUgZm9yCglwb2ludGVycyB0aGF0IGNhbiBhbGlhcy4KCVJlcG9ydGVkIGJ5IERhbmllbCBKYWNvYm93aXR6IDxkcm93QG12aXN0YS5jb20+LgoKCSogc3lzZGVwcy91bml4L2JzZC9ic2Q0LjQvZnJlZWJzZC9iaXRzL3R5cGVzaXplcy5oOiBOZXcgZmlsZS4KCjIwMDItMTEtMDIgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBtYW51YWwvZmlsZXN5cy50ZXhpIChSZWFkaW5nL0Nsb3NpbmcgRGlyZWN0b3J5KTogUmV3cml0ZSByZWFkZGlyX3IKCWRlc2NyaXB0aW9uIHRvIGJlIGNsZWFyZXIgYW5kIHRvIHNheSB0aGF0ICpSRVNVTFQgaXMgc2V0IHRvIEVOVFJZLgoKMjAwMi0xMC0zMCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9yZWdleGVjLmMgKGJ1aWxkX3RydGFibGUpOiBBbGxvY2Egb3IgbWFsbG9jIGRlc3RzX25vZGUgYW5kCglkZXN0c19jaCBhcnJheXMgdG9nZXRoZXIuICBBbGxvY2Egb3IgbWFsbG9jIGRlc3Rfc3RhdGVzLAoJZGVzdF9zdGF0ZXNfd29yZCBhbmQgZGVzdF9zdGF0ZXNfbmwgYXJyYXlzIHRvZ2V0aGVyLiAgRnJlZSBtZW1vcnkgb24KCWVycm9yIGV4aXQuCgoyMDAyLTEwLTI5ICBEYW5pZWwgSmFjb2Jvd2l0eiAgPGRyb3dAbXZpc3RhLmNvbT4KCgkqIGNyeXB0L2NyeXB0X3V0aWwuYyAoX19pbml0X2Rlc19yKTogSW5pdGlhbGl6ZSBjdXJyZW50X3NhbHQKCWFuZCBjdXJyZW50X3NhbHRiaXRzLgoKMjAwMi0xMS0wMiAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIHN0ZGlvLWNvbW1vbi9yZWctcHJpbnRmLmM6IEluY2x1ZGUgPHN0ZGxpYi5oPi4KCjIwMDItMTEtMDIgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvc3lzY2FsbHMubGlzdCAoc19leGVjdmUpOiBTZXQKCWNhbGxlciB0byBFWFRSQSBpbnN0ZWFkIG9mIGV4ZWN2ZS4KCjIwMDItMTEtMDEgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvZXJybm8tbG9jLmMgWyEgVVNFX19fVEhSRUFEXTogVXNlIHRoaXMgY29uZGl0aW9uYWwKCWluIHBsYWNlIG9mIFshKFVTRV9UTFMgJiYgSEFWRV9fX1RIUkVBRCldLgoJKF9fZXJybm9fbG9jYXRpb24pIFshIFVTRV9fX1RIUkVBRF06IERlZmluZSBhcyBzdHJvbmcsIG5vdCB3ZWFrLgoKMjAwMi0xMC0zMSAgUm9nZXIgU2F5bGUgIDxyb2dlckBleWVzb3Blbi5jb20+CgoJKiBzeXNkZXBzL2kzODYvc29mdC1mcC9zZnAtbWFjaGluZS5oIChfRlBfTkFORlJBQ19RLCBfRlBfTkFOU0lHTl9RKToKCU5ldyBtYWNyb3MuCgkqIHN5c2RlcHMveDg2XzY0L3NvZnQtZnAvc2ZwLW1hY2hpbmUuaDogTGlrZXdpc2UuCgoJKiBzb2Z0LWZwL3NvZnQtZnAuaDogQWxsb3cgc2ZwLW1hY2hpbmUuaCB0byBkZWZpbmUgRlBfUk5EX05FQVJFU1QKCXdpdGhvdXQgZGVmaW5pbmcgRlBfUk9VTkRNT0RFLgoKMjAwMi0xMC0yOSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dudS9zaWdsaXN0LmMgKFBUUl9TSVpFX1NUUik6IFJlbW92ZS4KCShfX29sZF9zeXNfc2lnbGlzdCwgX19vbGRfc3lzX3NpZ2FiYnJldik6IFVzZSBzdHJvbmdfYWxpYXMgYW5kCglkZWNsYXJlX3N5bWJvbC4KCSogc3lzZGVwcy9tYWNoL2h1cmQvc2lnbGlzdC5oIChPTERfU0lHTElTVF9TSVpFX1NUUik6IFJlbW92ZS4KCShPTERfU0lHTElTVF9TSVpFKTogRGVmaW5lLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaWdsaXN0LmggKE9MRF9TSUdMSVNUX1NJWkVfU1RSKTogUmVtb3ZlLgoJKE9MRF9TSUdMSVNUX1NJWkUpOiBEZWZpbmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9zaWdsaXN0LmM6IFJlbW92ZS4KCjIwMDItMTEtMDEgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9pYTY0L3N0cm5jcHkuUzogRml4IHJlY292ZXJ5IGNvZGUuCgoyMDAyLTEwLTMwICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvbGliYy1zeW1ib2xzLmggKF9fbGliY19mcmVlcmVzX2ZuX3NlY3Rpb24sIGxpYmNfZnJlZXJlc19mbik6CglOZXcgbWFjcm9zLgoJKiBlbGYvZGwtY2xvc2UuYyAoZnJlZV9tZW0pOiBVc2UgbGliY19mcmVlcmVzX2ZuIG1hY3JvLCByZW1vdmUKCXRleHRfc2V0X2VsZW1lbnQuCgkqIGVsZi9kbC1saWJjLmMgKGZyZWVfbWVtKTogTGlrZXdpc2UuCgkqIGljb252L2djb252X2NvbmYuYyAoZnJlZV9tZW0pOiBMaWtld2lzZS4KCSogaWNvbnYvZ2NvbnZfZGIuYyAoZnJlZV9tZW0pOiBMaWtld2lzZS4KCSogaWNvbnYvZ2NvbnZfZGwuYyAoZnJlZV9tZW0pOiBMaWtld2lzZS4KCSogaWNvbnYvZ2NvbnZfY2FjaGUuYyAoZnJlZV9tZW0pOiBMaWtld2lzZS4KCSogaW50bC9maW5kZG9tYWluLmMgKGZyZWVfbWVtKTogTGlrZXdpc2UuCgkqIGludGwvZGNpZ2V0dGV4dC5jIChmcmVlX21lbSk6IExpa2V3aXNlLgoJKiBsb2NhbGUvc2V0bG9jYWxlLmMgKGZyZWVfbWVtKTogTGlrZXdpc2UuCgkqIG1pc2MvZnN0YWIuYyAoZnN0YWJfZnJlZSk6IExpa2V3aXNlLgoJKiBuc3MvbnNzd2l0Y2guYyAoZnJlZV9tZW0pOiBMaWtld2lzZS4KCSogcG9zaXgvcmVnY29tcC5jIChmcmVlX21lbSk6IExpa2V3aXNlLgoJKiByZXNvbHYvZ2FpX21pc2MuYyAoZnJlZV9yZXMpOiBMaWtld2lzZS4KCSogc3RkbGliL2ZtdG1zZy5jIChmcmVlX21lbSk6IExpa2V3aXNlLgoJKiBzdW5ycGMvY2xudF9wZXJyLmMgKGZyZWVfbWVtKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zZXRlbnYuYyAoZnJlZV9tZW0pOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2htX29wZW4uYyAoZnJlZWl0KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcHRocmVhZC9haW9fbWlzYy5jIChmcmVlX3Jlcyk6IExpa2V3aXNlLgoJKiB0aW1lL3R6c2V0LmMgKGZyZWVfbWVtKTogTGlrZXdpc2UuCgkqIG1hbGxvYy9tdHJhY2UuYyAocmVsZWFzZV9saWJjX21lbSk6IEFkZCBfX2xpYmNfZnJlZXJlc19mbl9zZWN0aW9uLgoJKiBsb2NhbGUvbG9hZGFyY2hpdmUuYyAoX25sX2FyY2hpdmVfc3ViZnJlZXJlcyk6IExpa2V3aXNlLgoJKiBtYWxsb2Mvc2V0LWZyZWVyZXMuYyAoX19saWJjX2ZyZWVyZXMpOiBMaWtld2lzZS4KCgkqIGxvZ2luL2dldHV0ZW50LmM6IEluY2x1ZGUgc3RkbGliLmggaW5zdGVhZCBvZiBzdGRkZWYuaC4KCShidWZmZXIpOiBDaGFuZ2UgaW50byBwb2ludGVyIHRvIHV0bXAsIGFkZCBsaWJjX2ZyZWVyZXNfcHRyLgoJKF9fZ2V0dXRlbnQpOiBBbGxvY2F0ZSBidWZmZXIgdGhlIGZpcnN0IHRpbWUgaXQgaXMgcnVuLgoJKiBsb2dpbi9nZXR1dGlkLmM6IEluY2x1ZGUgc3RkbGliLmggaW5zdGVhZCBvZiBzdGRkZWYuaC4KCShidWZmZXIpOiBDaGFuZ2UgaW50byBwb2ludGVyIHRvIHV0bXAsIGFkZCBsaWJjX2ZyZWVyZXNfcHRyLgoJKF9fZ2V0dXRpZCk6IEFsbG9jYXRlIGJ1ZmZlciB0aGUgZmlyc3QgdGltZSBpdCBpcyBydW4uCgkqIGxvZ2luL2dldHV0bGluZS5jOiBJbmNsdWRlIHN0ZGxpYi5oIGluc3RlYWQgb2Ygc3RkZGVmLmguCgkoYnVmZmVyKTogQ2hhbmdlIGludG8gcG9pbnRlciB0byB1dG1wLCBhZGQgbGliY19mcmVlcmVzX3B0ci4KCShfX2dldHV0bGluZSk6IEFsbG9jYXRlIGJ1ZmZlciB0aGUgZmlyc3QgdGltZSBpdCBpcyBydW4uCgkqIG1hbGxvYy9tdHJhY2UuYyAobWFsbG9jX3RyYWNlX2J1ZmZlcik6IENoYW5nZSBpbnRvIGNoYXIgKi4KCShtdHJhY2UpOiBBbGxvY2F0ZSBtYWxsb2NfdHJhY2VfYnVmZmVyLgoJKiByZXNvbHYvbnNhcF9hZGRyLmMgKGluZXRfbnNhcF9udG9hKTogRGVjcmVhc2Ugc2l6ZSBvZiB0bXBidWYuCgkqIHJlc29sdi9uc19wcmludC5jIChuc19zcHJpbnRycmYpOiBEZWNyZWFzZSBzaXplIG9mIHQuCgkqIHN0cmluZy9zdHJlcnJvci5jOiBJbmNsdWRlIGxpYmludGwuaCBhbmQgZXJybm8uaC4KCShidWYpOiBOZXcgdmFyaWFibGUuCgkoc3RyZXJyb3IpOiBPbmx5IGFsbG9jYXRlIGJ1ZmZlciBpZiBhY3R1YWxseSBuZWVkZWQgKHVua25vd24gZXJyb3IpLgoJKiB0aW1lL3R6ZmlsZS5jICh0cmFuc2l0aW9ucyk6IEFkZCBsaWJjX2ZyZWVyZXNfcHRyLgoJKGZyZWVyZXMpOiBSZW1vdmUuCgoyMDAyLTEwLTI1ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvbGliYy1zeW1ib2xzLmggKGxpYmNfZnJlZXJlc19wdHIpOiBOZXcgbWFjcm8uCgkqIG1hbGxvYy9zZXQtZnJlZXJlcy5jIChfX2xpYmNfZnJlZXJlc19wdHJzKTogRGVmaW5lIHVzaW5nCglzeW1ib2xfc2V0X2RlZmluZS4KCShfX2xpYmNfZnJlZXJlcyk6IEZyZWUgYWxsIHBvaW50ZXJzIGluIHRoYXQgc2VjdGlvbi4KCSogTWFrZXJ1bGVzIChidWlsZC1zaGxpYik6IEFkZCAkKExEU0VEQ01ELSQoQEY6bGliJS5zbz0lKS5zbykgdG8gc2VkCgljb21tYW5kcyB3aGVuIGNyZWF0aW5nIC5sZHMgc2NyaXB0LgoJKExEU0VEQ01ELWMuc28pOiBOZXcgdmFyaWFibGUuCgkqIGluZXQvcmNtZC5jIChhaG9zdGJ1Zik6IENoYW5nZSBpbnRvIGNoYXIgKi4gIEFkZCBsaWJjX2ZyZWVyZXNfcHRyLgoJKHJjbWRfYWYpOiBVc2Ugc3RyZHVwIHRvIGFsbG9jYXRlIGFob3N0YnVmLgoJKiBpbmV0L3JleGVjLmMgKGFob3N0YnVmKTogQ2hhbmdlIGludG8gY2hhciAqLiAgQWRkIGxpYmNfZnJlZXJlc19wdHIuCgkocmV4ZWNfYWYpOiBVc2Ugc3RyZHVwIHRvIGFsbG9jYXRlIGFob3N0YnVmLgoJKiBzdGRpby1jb21tb24vcmVnLXByaW50Zi5jIChwcmludGZfZnVuY3MpOiBSZW1vdmUuCgkoX19wcmludGZfYXJnaW5mb190YWJsZSk6IENoYW5nZSBpbnRvIHByaW50Zl9hcmdpbmZvX2Z1bmN0aW9uICoqLgoJQWRkIGxpYmNfZnJlZXJlc19wdHIuCgkoX19yZWdpc3Rlcl9wcmludGZfZnVuY3Rpb24pOiBBbGxvY2F0ZSBfX3ByaW50Zl9hcmdpbmZvX3RhYmxlCglhbmQgX19wcmludGZfZnVuY3Rpb25fdGFibGUgdGhlIGZpcnN0IHRpbWUgaXQgaXMgY2FsbGVkLgoJKiBzdGRpby1jb21tb24vcHJpbnRmLXBhcnNlLmggKF9fcHJpbnRmX2FyZ2luZm9fdGFibGUpOiBDaGFuZ2UgaW50bwoJcHJpbnRmX2FyZ2luZm9fZnVuY3Rpb24gKiouCgkocGFyc2Vfb25lX3NwZWMpOiBBZGQgX19idWlsdGluX2V4cGVjdC4KCSogZ3JwL2ZnZXRncmVudC5jIChidWZmZXIpOiBBZGQgbGliY19mcmVlcmVzX3B0ci4KCShmcmVlX21lbSk6IFJlbW92ZS4KCSogaW5ldC9nZXRuZXRncmVudC5jIChidWZmZXIpOiBBZGQgbGliY19mcmVlcmVzX3B0ci4KCShmcmVlX21lbSk6IFJlbW92ZS4KCSogaW50bC9sb2NhbGVhbGlhcy5jIChsaWJjX2ZyZWVyZXNfcHRyKTogRGVmaW5lIGlmICFfTElCQy4KCShzdHJpbmdfc3BhY2UsIG1hcCk6IEFkZCBsaWJjX2ZyZWVyZXNfcHRyLgoJKGZyZWVfbWVtKTogUmVtb3ZlLgoJKiBtaXNjL2VmZ2N2dC5jIChGQ1ZUX0JVRlBUUik6IEFkZCBsaWJjX2ZyZWVyZXNfcHRyLgoJKGZyZWVfbWVtKTogUmVtb3ZlLgoJKiBtaXNjL21udGVudC5jIChnZXRtbnRlbnRfYnVmZmVyKTogQWRkIGxpYmNfZnJlZXJlc19wdHIuCgkoZnJlZV9tZW0pOiBSZW1vdmUuCgkqIGNyeXB0L21kNS1jcnlwdC5jIChsaWJjX2ZyZWVyZXNfcHRyKTogRGVmaW5lIGlmICFfTElCQy4KCShidWZmZXIpOiBBZGQgbGliY19mcmVlcmVzX3B0ci4KCShmcmVlX21lbSk6IFJlbW92ZSBmb3IgX0xJQkMuCgkqIG5zcy9nZXRYWGJ5WVkuYyAoYnVmZmVyKTogQWRkIGxpYmNfZnJlZXJlc19wdHIuCgkoZnJlZV9tZW0pOiBSZW1vdmUuCgkqIG5zcy9nZXRYWGVudC5jIChidWZmZXIpOiBBZGQgbGliY19mcmVlcmVzX3B0ci4KCShmcmVlX21lbSk6IFJlbW92ZS4KCSogcHdkL2ZnZXRwd2VudC5jIChidWZmZXIpOiBBZGQgbGliY19mcmVlcmVzX3B0ci4KCShmcmVlX21lbSk6IFJlbW92ZS4KCSogcmVzb2x2L3Jlc19oY29uZi5jIChpZmFkZHJzKTogQWRkIGxpYmNfZnJlZXJlc19wdHIuCgkoZnJlZV9tZW0pOiBSZW1vdmUuCgkqIHNoYWRvdy9mZ2V0c3BlbnQuYyAoYnVmZmVyKTogQWRkIGxpYmNfZnJlZXJlc19wdHIuCgkoZnJlZV9tZW0pOiBSZW1vdmUuCgkqIHN5c2RlcHMvcG9zaXgvdHR5bmFtZS5jIChnZXR0dHluYW1lX25hbWUpOiBBZGQgbGliY19mcmVlcmVzX3B0ci4KCShmcmVlX21lbSk6IFJlbW92ZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZ2V0c3lzc3RhdHMuYyAobW91bnRfcHJvYyk6IEFkZAoJbGliY19mcmVlcmVzX3B0ci4KCShmcmVlX21lbSk6IFJlbW92ZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvdHR5bmFtZS5jIChnZXR0dHluYW1lX25hbWUsIHR0eW5hbWVfYnVmKTogQWRkCglsaWJjX2ZyZWVyZXNfcHRyLgoJKGZyZWVfbWVtKTogUmVtb3ZlLgoKMjAwMi0xMC0zMCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBtYWxsb2Mvb2JzdGFjay5jIFtfTElCQ10gKG9ic3RhY2tfZnJlZSk6IENoYW5nZSBpbnRvIHN0cm9uZ19hbGlhcwoJaW5zdGVhZCBvZiBkdXBsaWNhdGluZyB0aGUgd2hvbGUgZnVuY3Rpb24gaW4gbGliYy4KCjIwMDItMTAtMzEgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2kzODYvYml0cy9ieXRlc3dhcC5oIFtfX0dOVUNfXyA8IDJdIChfX2Jzd2FwXzMyKToKCVJlbmFtZWQgZnJvbSBfX2Jzd2FwXzE2ICh0eXBvIGZpeCkuICBSZXBvcnRlZCBieSA8ZGVuc0BzdGwuc2Fyb3YucnU+LgoKMjAwMi0xMC0zMCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9NYWtlZmlsZSAoc3lzY2FsbC0lLmgpOiBBZGQgLUQgZm9yIGVhY2gKCTMyYml0LXByZWRlZmluZSB3aGVuIGNyZWF0aW5nIC5uZXczMiBsaXN0IGFuZCAtVSBmb3IgZWFjaAoJMzJiaXQtcHJlZGVmaW5lIHdoZW4gY3JlYXRpbmcgLm5ldzY0IGxpc3QuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9NYWtlZmlsZSAoMzJiaXQtcHJlZGVmaW5lKTogTmV3LgoKMjAwMi0xMC0yOSAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9hbGxvY3J0c2lnLmM6IEluY2x1ZGUgPHRlc3RydHNpZy5oPiwgbm90CgkidGVzdHJ0c2lnLmgiLiAgUmVwb3J0ZWQgYnkgRGFuaWVsIEphY29ib3dpdHogPGRhbkBkZWJpYW4ub3JnPi4KCjIwMDItMTAtMjUgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jb25maWd1cmUuaW46IEZpeCB0eXBvIGluIGxhc3QgY2hhbmdlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jb25maWd1cmU6IFJlZ2VuZXJhdGVkLgoKCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmg6IFJlbW92ZSBbISBTSEFSRURdIGNvbmRpdGlvbmFsIGZyb20KCV9kbF9zdGFydGluZ191cCBkZWNsLgoKMjAwMi0xMC0yMCAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY29uZmlndXJlLmluOiBEb24ndCBjaGVjawoJL2xpYi9tb2R1bGVzL2B1bmFtZSAtcmAvYnVpbGQvaW5jbHVkZSBmb3Iga2VybmVsIGhlYWRlcnMgaWYKCWNyb3NzIGNvbXBpbGluZy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY29uZmlndXJlOiBSZWdlbmVyYXRlZC4KCjIwMDItMTAtMjUgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBtYXRoL21hdGguaCAoTV9MT0cyRWwpOiBDb3JyZWN0IHRoZSB2YWx1ZS4KCUZyb20gU3RlcGhlbiBMIE1vc2hpZXIgPHN0ZXZlQG1vc2hpZXIubmV0Pi4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2luaXQtZmlyc3QuYyAoaW5pdCk6IFJlbW92ZSBbISBTSEFSRURdCgljb25kaXRpb25hbCBmcm9tIF9fbGliY19tdWx0aXBsZV9saWJjcyBhY2Nlc3MuICBSZW1vdmUga2x1ZGdlIGZvciB3ZWFrCglzeW1ib2wgYWNjZXNzIHdpdGggb2xkIGNvbXBpbGVycyB3ZSBubyBsb25nZXIgc3VwcG9ydC4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2luaXQtZmlyc3QuYyAoaW5pdCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvbGliYy1zdGFydC5jIChfX2xpYmNfc3RhcnRfbWFpbik6IExpa2V3aXNlLgoKMjAwMi0xMC0yNSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvcG9zaXgvc2lndmVjLmMgW1NBX1JFU0VUSEFORF06IERpc2FibGUgd3JhcHBlciBoYWNrcyBhbmQKCWltcGxlbWVudCBTVl9SRVNFVEhBTkQgYnkgdHJhbnNsYXRpbmcgaXQgdG8gU0FfUkVTRVRIQU5ELgoKMjAwMi0xMC0yMyAgQWxleGFuZHJlIE9saXZhICA8YW9saXZhQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtcmVsb2MuYyAoX2RsX3JlbG9jX2JhZF91c2UpOiBQcmludCB0aGUgZnVsbCAzMi1iaXQgcmVsb2NhdGlvbgoJdHlwZSBvbiBFTEY2NCBwbGF0Zm9ybXMuCgoyMDAyLTEwLTI0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9lbGYuaCAoUl9YODZfNjRfR09UVFBPRkYpOiBSZW5hbWVkIGZyb20gcl94ODZfNjRfR09UVFBPRkYuCgoJKiBlbGYvZWxmLmg6IERlZmluZSBFTEZfTk9URV9PU19GUkVFQlNEIGFuZCBOVF9UQVNLU1RSVUNULgoKMjAwMi0xMC0yNCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtbWlzYy5jOiBJbmNsdWRlIDxzeXNkZXAuaD4uCgkoX2RsX2RlYnVnX3ZkcHJpbnRmKTogT25seSB0YWtlIGRsX2xvYWRfbG9jayBpZiBub3QgX2RsX3N0YXJ0aW5nX3VwLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL3N5c2RlcC5oIChJTlRFUk5BTF9TWVNDQUxMLAoJSU5URVJOQUxfU1lTQ0FMTF9FUlJPUl9QLCBJTlRFUk5BTF9TWVNDQUxMX0VSUk5PKTogTmV3IG1hY3Jvcy4KCShJTkxJTkVfU1lTQ0FMTCk6IFVzZSB0aGF0LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvc3lzZGVwLmggKElOVEVSTkFMX1NZU0NBTEwsCglJTlRFUk5BTF9TWVNDQUxMX0VSUk9SX1AsIElOVEVSTkFMX1NZU0NBTExfRVJSTk8pOiBOZXcgbWFjcm9zLgoJKElOTElORV9TWVNDQUxMKTogVXNlIHRoYXQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaCAoSU5URVJOQUxfU1lTQ0FMTCwKCUlOVEVSTkFMX1NZU0NBTExfRVJST1JfUCwgSU5URVJOQUxfU1lTQ0FMTF9FUlJOTyk6IE5ldyBtYWNyb3MuCgkoSU5MSU5FX1NZU0NBTEwpOiBVc2UgdGhhdC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9zeXNkZXAuaDogSW5jbHVkZQoJZGwtc3lzZGVwLmguCgkoU1lTQ0FMTF9FUlJPUl9IQU5ETEVSKTogRGVmaW5lIFJUTERfUFJJVkFURV9FUlJOTyB2YXJpYW50LgoJKF9fSU5URVJOQUxfU1lTQ0FMTF9TVFJJTkcpOiBEZWZpbmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvc3lzZGVwLmg6IEluY2x1ZGUKCWRsLXN5c2RlcC5oLgoJKFNZU0NBTExfRVJST1JfSEFORExFUik6IERlZmluZSBSVExEX1BSSVZBVEVfRVJSTk8gdmFyaWFudC4KCShfX0lOVEVSTkFMX1NZU0NBTExfU1RSSU5HKTogRGVmaW5lLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zeXNkZXAuaCAoSU5MSU5FX1NZU0NBTEwpOiBQYXNzCglfX1NZU0NBTExfU1RSSU5HIHRvIGlubGluZV9zeXNjYWxsKi4KCShJTlRFUk5BTF9TWVNDQUxMLCBJTlRFUk5BTF9TWVNDQUxMX0VSUk9SX1AsIElOVEVSTkFMX1NZU0NBTExfRVJSTk8pOgoJTmV3IG1hY3Jvcy4KCShpbmxpbmVfc3lzY2FsbDAsIGlubGluZV9zeXNjYWxsMSwgaW5saW5lX3N5c2NhbGwyLCBpbmxpbmVfc3lzY2FsbDMsCglpbmxpbmVfc3lzY2FsbDQsIGlubGluZV9zeXNjYWxsNSwgaW5saW5lX3N5c2NhbGw2KTogQWRkIHN0cmluZwoJYXJndW1lbnQuCgoyMDAyLTEwLTI0ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmggKF9kbF9zdGFydGluZ191cCk6IERlY2xhcmUgaXQgaGVyZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaW5pdC1maXJzdC5jOiBOb3QgaGVyZS4KCSogc3lzZGVwcy9wb3dlcnBjL2VsZi9saWJjLXN0YXJ0LmM6IE9yIGhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9saWJjLXN0YXJ0LmM6IE9yIGhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9zdGFydC1saWJjLmM6IE9yIGhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9pbml0LWZpcnN0LmM6IE9yIGhlcmUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9saWJjLXN0YXJ0LmM6IE9yIGhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2luaXQtZmlyc3QuYyAoaW5pdCk6IFByb3RlY3QgX2RsX3N0YXJ0aW5nX3VwCglhY2Nlc3Mgd2l0aCBbISBTSEFSRURdLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvaW5pdC1maXJzdC5jIChpbml0KTogTGlrZXdpc2UuCgoJKiBsaWJpby9idWctd2ZmbHVzaC5jOiBOZXcgZmlsZS4KCSogbGliaW8vTWFrZWZpbGUgKHRlc3RzKTogQWRkIGJ1Zy13ZmZsdXNoLgoKMjAwMi0xMC0yMyAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIHN0ZGlvLWNvbW1vbi90c3QtZnBoZXguYzogTmV3IGZpbGUuCgkqIHN0ZGlvLWNvbW1vbi9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdHN0LWZwaGV4LgoJKiBzeXNkZXBzL2dlbmVyaWMvcHJpbnRmX2ZwaGV4LmMgKF9fcHJpbnRmX2ZwaGV4KTogRml4IGluaXRpYWxpemF0aW9uCglvZiBXTlVNRU5ELiAgRml4IGNvdW50aW5nIG9mIGRlY2ltYWwgcG9pbnQgaW4gV0lEVEguICBQcmludCAnMCcgcGFkCgljaGFycyBhbHdheXMgYmVmb3JlIHRoZSB2YWx1ZSBkaWdpdHMuCglSZXBvcnRlZCBieSBKYW1lcyBBbnRpbGwgPGphbWVzLmFudGlsbEByZWRoYXQuY29tPi4KCjIwMDItMTAtMjQgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogcG9zaXgvcmVnY29tcC5jIChyZV9jb21wKTogQ2FsbCBfX3JlZ2ZyZWUgb24gcmVfY29tcF9idWYuCgkoZnJlZV9tZW0pOiBOZXcgZnVuY3Rpb24uCgkqIHBvc2l4L01ha2VmaWxlICh0ZXN0cyk6IEFkZCBidWctcmVnZXgxNC4gIEFkZCBidWctcmVnZXgxNC1tZW0KCWlmIG5vdCBjcm9zcyBjb21waWxpbmcuCgkoZ2VuZXJhdGVkKTogQWRkIGJ1Zy1yZWdleDE0LW1lbSBhbmQgYnVnLXJlZ2V4MTQubXRyYWNlLgoJKGJ1Zy1yZWdleDE0LUVOVik6IFNldC4KCShidWctcmVnZXgxNC1tZW0pOiBOZXcgdGFyZ2V0LgoJKiBwb3NpeC9idWctcmVnZXgxNC5jOiBOZXcgZmlsZS4KCjIwMDItMTAtMjMgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBlbGYvTWFrZWZpbGUgKCQob2JqcGZ4KWxpYnJ0bGQubWFwKTogVXNlIHRlbXBvcmFyeSBmaWxlIGZvciBvdXRwdXQKCXRhcmdldCwgc28gd2UgZG9uJ3QgdG91Y2ggaXQgd2hlbiB0aGUgbGluayBmYWlscy4KCgkqIGxpYmlvL2Z0ZWxsby5jIChmdGVsbG8pOiBVc2UgX0lPX29mZjY0X3QgZm9yIHR5cGUgb2YgUE9TLgoJQ2hlY2sgZm9yIHRoZSByZXN1bHQgb3ZlcmZsb3dpbmcgb2ZmX3QgYW5kIGZhaWwgd2l0aCBFT1ZFUkZMT1cuCgkqIGxpYmlvL2lvZnRlbGwuYyAoX0lPX2Z0ZWxsKTogTGlrZXdpc2UuCgkqIGxpYmlvL2lvZmdldHBvcy5jIChfSU9fbmV3X2ZnZXRwb3MpOiBMaWtld2lzZS4KCgkqIGxvZ2luL2xvZ3d0bXAuYyAobG9nd3RtcCk6IElmIHNpemVvZiB1dF90diAhPSBzaXplb2Ygc3RydWN0IHRpbWV2YWwsCgl1c2UgYSB0ZW1wb3JhcnkgdGltZXZhbCBvbiB0aGUgc3RhY2sgZm9yIGdldHRpbWVvZmRheSBhbmQgY29weSBpdC4KCSogbG9naW4vbG9nb3V0LmMgKGxvZ291dCk6IExpa2V3aXNlLgoJUmVwb3J0ZWQgYnkgU3RldmVuIE11bnJvZSA8c2ptdW5yb2VAdXMuaWJtLmNvbT4uCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3N0YXRmcy5oIChzdHJ1Y3Qgc3RhdGZzKToKCVVzZSBfX1NXT1JEX1RZUEUgaW5zdGVhZCBvZiBpbnQgZm9yIG1lbWJlciB0eXBlcy4KCShzdHJ1Y3Qgc3RhdGZzNjQpOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvYml0cy9zdGF0ZnMuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvYml0cy9zdGF0ZnMuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy9zdGF0ZnMuaDogRmlsZSByZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9iaXRzL3N0YXRmcy5oOiBGaWxlIHJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9iaXRzL3N0YXRmcy5oOiBGaWxlIHJlbW92ZWQuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9iaXRzL3N0YXR2ZnMuaDogTW92ZWQgdG8gLi4uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvc3RhdHZmcy5oOiAuLi4gaGVyZS4KCShTVF9OT0RJUkFUSU1FKTogUmVzdG9yZSBmaXhlZCB2YWx1ZSBvZiAyMDQ4LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9iaXRzL3N0YXR2ZnMuaDogRmlsZSByZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvc3RhdHZmcy5oOiBGaWxlIHJlbW92ZWQuCgoJUmVhcnJhbmdlZCA8Yml0cy90eXBlcy5oPiBkZWZpbml0aW9ucyB0byByZWR1Y2UgZHVwbGljYXRpb24uCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL3R5cGVzLmg6IFJld3JpdHRlbiwgdXNpbmcgbWFjcm9zIGZyb20KCTxiaXRzL3dvcmRzaXplLmg+IGFuZCBuZXcgaGVhZGVyIDxiaXRzL3R5cGVzaXplcy5oPi4KCSogcG9zaXgvTWFrZWZpbGUgKGhlYWRlcnMpOiBBZGQgYml0cy90eXBlc2l6ZXMuaCBoZXJlLgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy90eXBlc2l6ZXMuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2JpdHMvdHlwZXNpemVzLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9iaXRzL3R5cGVzaXplcy5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9tYWNoL2h1cmQvYml0cy90eXBlc2l6ZXMuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2JpdHMvdHlwZXMuaDogRmlsZSByZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3R5cGVzLmg6IEZpbGUgcmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9iaXRzL3R5cGVzLmg6IEZpbGUgcmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9iaXRzL3R5cGVzLmg6IEZpbGUgcmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9iaXRzL3R5cGVzLmg6IEZpbGUgcmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvYml0cy90eXBlcy5oOiBGaWxlIHJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9iaXRzL3R5cGVzLmg6IEZpbGUgcmVtb3ZlZC4KCSogcG9zaXgvc3lzL3R5cGVzLmggW19fVVNFX1BPU0lYMTk5NTA2IHx8IF9fVVNFX1VOSVg5OF06IEluY2x1ZGUKCTxiaXRzL3B0aHJlYWR0eXBlcy5oPiBoZXJlLCBub3QgaW4gPGJpdHMvdHlwZXMuaD4uCgkqIHNpZ25hbC9zaWduYWwuaDogTGlrZXdpc2UuCgoJKiBzdHJlYW1zL3N0cm9wdHMuaDogSW5jbHVkZSA8Yml0cy94dGl0eXBlcy5oPi4KCSogc3RyZWFtcy9NYWtlZmlsZSAoaGVhZGVycyk6IEFkZCBiaXRzL3h0aXR5cGVzLmggaGVyZS4KCSogc3lzZGVwcy9nZW5lcmljL2JpdHMveHRpdHlwZXMuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9iaXRzL3h0aXR5cGVzLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvYml0cy94dGl0eXBlcy5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy94ODZfNjQvYml0cy94dGl0eXBlcy5oOiBOZXcgZmlsZS4KCgkqIHN5c3ZpcGMvTWFrZWZpbGUgKGhlYWRlcnMpOiBBZGQgYml0cy9pcGN0eXBlcy5oIGhlcmUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL2lwY3R5cGVzLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL21pcHMvYml0cy9pcGN0eXBlcy5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9nbnUvYml0cy9zaG0uaDogSW5jbHVkZSA8Yml0cy9pcGN0eXBlcy5oPi4KCSogc3lzZGVwcy9nbnUvYml0cy9tc3EuaDogTGlrZXdpc2UuCgkqIHN5c3ZpcGMvc3lzL2lwYy5oOiBMaWtld2lzZS4KCjIwMDItMTAtMjIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZWxmL2RsLWxvYWQuYyAoc3RydWN0IGZpbGVidWYpOiBGb3IgYnVmIGVsZW1lbnQgdG8gaGF2ZSB0aGUKCWFsaWdubWVudCBvZiBFbGZYWF9FaGRyIHNpbmNlIHRoaXMgaXMgd2hhdCB3aWxsIGJlIHN0b3JlZCBpbiBpdC4KCjIwMDItMTAtMjIgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogbG9jYWxlL3Byb2dyYW1zL2xvY2FyY2hpdmUuYyAoYWRkX2FsaWFzKTogQ2hhbmdlIGxvY3JlY19vZmZzZXQgYXJnCglpbnRvIHBvaW50ZXIgdG8gbG9jcmVjX29mZnNldC4KCShhZGRfbG9jYWxlX3RvX2FyY2hpdmUpOiBBZGp1c3QgY2FsbGVycy4gIEZyZWUgbm9ybWFsaXplZF9uYW1lIHJpZ2h0CgliZWZvcmUgcmV0dXJuaW5nLCBub3QgaW1tZWRpYXRlbHkgYWZ0ZXIgYWRkX2xvY2FsZSwgcGFzcyBpdCB0bwoJYWRkX2FsaWFzIGlmIG5vdCBOVUxMIGluc3RlYWQgb2YgbmFtZS4gIFJlbmFtZSBzZWNvbmQgbm9ybWFsaXplZF9uYW1lCglvY2N1cmVuY2UgdG8gbm5vcm1hbGl6ZWRfY29kZXNldF9uYW1lLgoKCSogbG9jYWxlL3Byb2dyYW1zL2xvY2FyY2hpdmUuYyAoZW5sYXJnZV9hcmNoaXZlKTogTWFrZSBzdXJlCglzdHJpbmdfc2l6ZSBpcyBhbHdheXMgYSBtdWx0aXBsZSBvZiA0LgoJUmVwb3J0ZWQgYnkgQW5kcmVhcyBTY2h3YWIgPHNjaHdhYkBzdXNlLmRlPi4KCjIwMDItMTAtMjEgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3N5c2NhbGxzLmxpc3QgKHNfZXhlY3ZlKTogU2V0CgljYWxsZXIgdG8gRVhUUkEgaW5zdGVhZCBvZiBleGVjdmUsIHNpbmNlIHRoZSBsYXR0ZXIgaGFzIGEKCWhpZ2hlci1wcmlvcml0eSBpbXBsZW1lbnRhdGlvbiBpbiBsaW51eHRocmVhZHMuCgoyMDAyLTEwLTIxICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL2xpYmMtdGxzLmMgKF9fbGliY19zZXR1cF90bHMpOiBJbml0aWFsaXplIHRoZSBzdGF0aWMKCXNsb3RpbmZvIGxpc3QncyBsZW4gbWVtYmVyIHRvIHRoZSBwcm9wZXIgc2l6ZSwgbm90IGp1c3QgMS4KCUluaXRpYWxpemUgc3RhdGljX21hcC5sX3Rsc19pbml0aW1hZ2UuCgoJKiBlbGYvZGwtb3Blbi5jIChkbF9vcGVuX3dvcmtlcik6IEZpeCBsb29wIHNlYXJjaGluZyBmb3IKCWR0dl9zbG90aW5mb19saXN0IGVsZW1lbnQgY29udGFpbmluZyBuZXcgbW9kdWxlcycgbF90bHNfbW9kaWQuCgoJKiBlbGYvdHN0LXRsczkuYywgZWxmL3RzdC10bHM5LXN0YXRpYy5jOiBOZXcgZmlsZXMuCgkqIGVsZi90c3QtdGxzbW9kNS5jLCBlbGYvdHN0LXRsc21vZDYuYzogTmV3IGZpbGVzLgoJKiBlbGYvTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC10bHM5LgoJKHRlc3RzLXN0YXRpYyk6IEFkZCB0c3QtdGxzOS1zdGF0aWMuCgkodHN0LXRsczktc3RhdGljLUVOVik6IE5ldyB2YXJpYWJsZS4KCSgkKG9ianBmeCl0c3QtdGxzOS1zdGF0aWMsICQob2JqcGZ4KXRzdC10bHM5LXN0YXRpYy5vdXQpOiBOZXcgdGFyZ2V0cy4KCgkqIGVsZi9kbC1jbG9zZS5jIChyZW1vdmVfc2xvdGluZm8pOiBSZW1vdmUgYW4gYXNzZXJ0OyB0aGUgbnVtYmVyIG9mCgltb2RpZHMgdXNlZCBieSBwYXJ0aWFsbHkgbG9hZGVkIG1vZHVsZXMgYmVpbmcgY2xvc2VkIGNhbid0IGJlIGtub3duLgoKMjAwMi0xMC0yMSAgSXNhbXUgSGFzZWdhd2EgIDxpc2FtdUB5YW1hdG8uaWJtLmNvbT4KCgkqIHBvc2l4L01ha2VmaWxlOiBBZGQgYSB0ZXN0IGNhc2UgZm9yIHRoZSBidWcgcmVwb3J0ZWQgYnkgQWhhcm9uCglSb2JiaW5zIDxhcm5vbGRAc2tlZXZlLmNvbT4uCgkqIHBvc2l4L2J1Zy1yZWdleDEzLmM6IE5ldyBmaWxlLgoJKiBwb3NpeC9yZWdjb21wLmMgKHBlZWtfdG9rZW5fYnJhY2tldCk6IFNraXAgdGhlIGJ5dGUgYWxyZWFkeSByZWFkLgoKMjAwMi0xMC0yMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBjc3UvZ21vbi1zdGFydC5jOiBQcmV0dHkgcHJpbnRpbmcuCgoyMDAyLTEwLTE5ICBBcnQgSGFhcyAgPGFoYWFzQG5lb3NvZnQuY29tPgoKCSogY29uZmlndXJlLmluOiBSZXBsYWNlIEFDX0NPTkZJR19IRUFERVIgd2l0aCBBQ19DT05GSUdfSEVBREVSUywKCWFkZCBBQ19IRUxQX1NUUklORyB0byBhbGwgQUNfQVJHX1dJVEggYW5kIEFDX0FSR19FTkFCTEUgbWFjcm9zLAoJYWRkIGF1dG9jb25mIHF1b3RlcyB0byB0aGUgQUNfQ09ORklHX0FVWF9ESVIgbWFjcm8uCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZWQuCgoyMDAyLTEwLTE5ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmluOiBDYWxsIEFDX0NPTkZJR19TVUJESVJTIHdpdGggZW1wdHkgYXJndW1lbnQKCWFuZCB0aGVuIHNldCAkc3ViZGlycyBkaXJlY3RseSwgYmVjYXVzZSB0aGUgbmV3IEF1dG9jb25mIGJyZWFrcwoJY29tcGF0aWJpbGl0eSBpbiBldmVyeSB3YXkgaW1hZ2luYWJsZSBhbmQgaW5zaXN0cyBvbiB3aGluaW5nCglhYm91dCB1c2FnZSB0aGF0IHdvcmtlZCBzaW5jZSB0aGUgZGF3biBvZiB0aW1lLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGVkLgoKCSogY29uZmlndXJlOiBSZWdlbmVyYXRlZCAodXNpbmcgQXV0b2NvbmYgMi41NCkuCgkqIHN5c2RlcHMvYWxwaGEvZWxmL2NvbmZpZ3VyZTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9jb25maWd1cmU6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvZWxmL2NvbmZpZ3VyZTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaWE2NC9lbGYvY29uZmlndXJlOiBMaWtld2lzZS4KCSogc3lzZGVwcy9tYWNoL2h1cmQvY29uZmlndXJlOiBMaWtld2lzZS4KCSogc3lzZGVwcy9tYWNoL2NvbmZpZ3VyZTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9jb25maWd1cmU6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvY29tbW9uL2NvbmZpZ3VyZTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9jb25maWd1cmU6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jb25maWd1cmU6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2NvbmZpZ3VyZTogTGlrZXdpc2UuCgkqIHN5c2RlcHMveDg2XzY0L2VsZi9jb25maWd1cmU6IExpa2V3aXNlLgoKCSogY29uZmlnLm1ha2UuaW46IE5peCBjb21wbGV0ZWx5LXNvZnQgbm9uc2Vuc2UuCgkqIGNvbmZpZ3VyZS5pbjogTGlrZXdpc2UuICBVbmRlciAtLXdpdGhvdXQtZnAsIHVzZSBub2ZwdSBzdWJkaXJlY3RvcnkKCW9mIG1hY2hpbmUgZGlyZWN0b3JpZXMgaW5zdGVhZCBvZiBmcHUgc3ViZGlyZWN0b3J5LgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9NYWtlZmlsZTogUmVtb3ZlIGNydWZ0IGFkZGVkIGluIGxhc3QgY2hhbmdlLgoJKiBzeXNkZXBzL3Bvd2VycGMvbm9mcHUvTWFrZWZpbGU6IFB1dCBpdCBpbiB0aGlzIG5ldyBmaWxlIGluc3RlYWQuCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL3NpbS1mdWxsLmM6IE1vdmVkIHRvIC4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvbm9mcHUvc2ltLWZ1bGwuYzogLi4uIGhlcmUuCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL2ZyYWlzZWV4Y3B0LmM6IE1vdmVkIHRvIC4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvbm9mcHUvZnJhaXNlZXhjcHQuYzogLi4uIGhlcmUuCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL2ZlZ2V0ZXhjZXB0LmM6IE1vdmVkIHRvIC4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvbm9mcHUvZmVnZXRleGNlcHQuYzogLi4uIGhlcmUuCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL2ZjbHJleGNwdC5jOiBNb3ZlZCB0byAuLi4KCSogc3lzZGVwcy9wb3dlcnBjL25vZnB1L2ZjbHJleGNwdC5jOiAuLi4gaGVyZS4KCSogc3lzZGVwcy9wb3dlcnBjL3NvZnQtZnAvZnRlc3RleGNlcHQuYzogTW92ZWQgdG8gLi4uCgkqIHN5c2RlcHMvcG93ZXJwYy9ub2ZwdS9mdGVzdGV4Y2VwdC5jOiAuLi4gaGVyZS4KCSogc3lzZGVwcy9wb3dlcnBjL3NvZnQtZnAvZmdldGV4Y3B0ZmxnLmM6IE1vdmVkIHRvIC4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvbm9mcHUvZmdldGV4Y3B0ZmxnLmM6IC4uLiBoZXJlLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9mc2V0ZXhjcHRmbGcuYzogTW92ZWQgdG8gLi4uCgkqIHN5c2RlcHMvcG93ZXJwYy9ub2ZwdS9mc2V0ZXhjcHRmbGcuYzogLi4uIGhlcmUuCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL2ZlZGlzYmx4Y3B0LmM6IE1vdmVkIHRvIC4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvbm9mcHUvZmVkaXNibHhjcHQuYzogLi4uIGhlcmUuCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL2ZlZW5hYmx4Y3B0LmM6IE1vdmVkIHRvIC4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvbm9mcHUvZmVlbmFibHhjcHQuYzogLi4uIGhlcmUuCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL2ZlZ2V0ZW52LmM6IE1vdmVkIHRvIC4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvbm9mcHUvZmVnZXRlbnYuYzogLi4uIGhlcmUuCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL2Zlc2V0ZW52LmM6IE1vdmVkIHRvIC4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvbm9mcHUvZmVzZXRlbnYuYzogLi4uIGhlcmUuCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL2ZlZ2V0cm91bmQuYzogTW92ZWQgdG8gLi4uCgkqIHN5c2RlcHMvcG93ZXJwYy9ub2ZwdS9mZWdldHJvdW5kLmM6IC4uLiBoZXJlLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9mZXNldHJvdW5kLmM6IE1vdmVkIHRvIC4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvbm9mcHUvZmVzZXRyb3VuZC5jOiAuLi4gaGVyZS4KCSogc3lzZGVwcy9wb3dlcnBjL3NvZnQtZnAvZmV1cGRhdGVlbnYuYzogTW92ZWQgdG8gLi4uCgkqIHN5c2RlcHMvcG93ZXJwYy9ub2ZwdS9mZXVwZGF0ZWVudi5jOiAuLi4gaGVyZS4KCSogc3lzZGVwcy9wb3dlcnBjL3NvZnQtZnAvZmVob2xkZXhjcHQuYzogTW92ZWQgdG8gLi4uCgkqIHN5c2RlcHMvcG93ZXJwYy9ub2ZwdS9mZWhvbGRleGNwdC5jOiAuLi4gaGVyZS4KCSogc3lzZGVwcy9wb3dlcnBjL3NvZnQtZnAvZmVudl9jb25zdC5jOiBNb3ZlZCB0byAuLi4KCSogc3lzZGVwcy9wb3dlcnBjL25vZnB1L2ZlbnZfY29uc3QuYzogLi4uIGhlcmUuCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL2xpYm0tdGVzdC11bHBzOiBNb3ZlZCB0byAuLi4KCSogc3lzZGVwcy9wb3dlcnBjL25vZnB1L2xpYm0tdGVzdC11bHBzOiAuLi4gaGVyZS4KCSogc3lzZGVwcy9wb3dlcnBjL3NvZnQtZnAvc29mdC1zdXBwLmg6IE1vdmVkIHRvIC4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvbm9mcHUvc29mdC1zdXBwLmg6IC4uLiBoZXJlLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9WZXJzaW9ucyAobGliYzogR0xJQkNfMi4zLjIpOiBNb3ZlZCB0byAuLi4KCSogc3lzZGVwcy9wb3dlcnBjL25vZnB1L1ZlcnNpb25zOiAuLi4gaGVyZSwgbmV3IGZpbGUuCgoyMDAyLTEwLTE5ICBCcnVubyBIYWlibGUgIDxicnVub0BjbGlzcC5vcmc+CgoJKiBzeXNkZXBzL3VuaXgvYnNkL2JzZDQuNC9mcmVlYnNkL3N5cy9zeXNtYWNyb3MuaDogTmV3IGZpbGUuCgoyMDAyLTEwLTE4ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogaW8vTWFrZWZpbGUgKHJvdXRpbmVzKTogQWRkIGxjaG1vZC4KCSogaW8vc3lzL3N0YXQuaCBbX19VU0VfQlNEXSAobGNobW9kKTogRGVjbGFyZSBpdC4KCSogc3lzZGVwcy9nZW5lcmljL2xjaG1vZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9tYWNoL2h1cmQvbGNobW9kLmM6IE5ldyBmaWxlLgoJKiBpby9WZXJzaW9ucyAobGliYzogR0xJQkNfMi4zLjIpOiBOZXcgc2V0LCBhZGQgbGNobW9kLgoKMjAwMi0xMC0xOCAgQXJ0IEhhYXMgIDxhaGFhc0BuZW9zb2Z0LmNvbT4KCgkqIGNvbmZpZ3VyZS5pbjogUmVtb3ZlIHJlbWFpbmluZyBBQ19GRF9DQyBtYWNyb3MsIGFuZCByZXBsYWNlCglBQ19GRF9NU0cgd2l0aCBBU19NRVNTQUdFX0ZELgoKMjAwMi0xMC0xOCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvZGwtbWFjaGluZS5jIChfX3Byb2Nlc3NfbWFjaGluZV9yZWxhKTogRml4Cgl0eXBvczogVkFMVUUgLT4gRklOQUxBRERSLgoKCSogc3lzZGVwcy91bml4L2FscGhhL3N5c2RlcC5oIChJTkxJTkVfU1lTQ0FMTCwgSU5MSU5FX1NZU0NBTEwxKQoJKGlubGluZV9zeXNjYWxsX2Nsb2JiZXJzLCBpbmxpbmVfc3lzY2FsbDAsIGlubGluZV9zeXNjYWxsMSkKCShpbmxpbmVfc3lzY2FsbDIsIGlubGluZV9zeXNjYWxsMywgaW5saW5lX3N5c2NhbGw0LCBpbmxpbmVfc3lzY2FsbDUpCgkoaW5saW5lX3N5c2NhbGw2KTogTW92ZSB0aGVzZSBtYWNyb3MgLi4uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3N5c2RlcC5oOiAuLi4gdG8gaGVyZS4KCgkqIGNvbmZpZ3VyZS5pbiAobGliY19saW5rX2Rlc3RzLCBsaWJjX2xpbmtfc291cmNlcyk6IFJlbW92ZSB0aGVzZQoJdmFyaWFibGVzIGFuZCB0aGUgQUNfTElOS19GSUxFUyBjYWxsLgoKCSogc3lzZGVwcy9wb3dlcnBjL3NvZnQtZnAvVmVyc2lvbnMgKGxpYmM6IEdMSUJDXzIuMy4yKTogRml4IGxhc3QKCWNoYW5nZSB0byBwdXQgbmV3IHN5bWJvbHMgaGVyZSBpbnN0ZWFkIG9mIGluIEdMSUJDXzIuMi4KCSogc3lzZGVwcy9wb3dlcnBjL1N1YmRpcnM6IE1vdmUgdGhpcyBmaWxlIC4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9TdWJkaXJzOiAuLi4gaGVyZS4KCjIwMDItMTAtMDcgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy90aW1lLmg6IFJlcGxhY2VkIHdpdGggY29udGVudHMgb2YgdGhlCglzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2JpdHMvdGltZS5oIGZpbGUuICBBbGwgdGhlIGZvbGxvd2luZwoJZmlsZXMgd2VyZSBpZGVudGljYWwgZXhjZXB0IGZvciB0aGUgYWJzZW5jZSBvZiBDTE9DS19USFJFQURfQ1BVVElNRV9JRAoJYW5kIENMT0NLX1BST0NFU1NfQ1BVVElNRV9JRCBpbiAuLi4vbGludXgvYml0cy90aW1lLmg7IGFkZGluZyB0aGVzZQoJbWFjcm9zIGlzIG9rIGV2ZW4gZm9yIGFyY2hpdGVjdHVyZXMgdGhhdCBkb24ndCBub3cgaW1wbGVtZW50IHRoZW0uCgkqIHN5c2RlcHMvbWFjaC9odXJkL2JpdHMvdGltZS5oOiBGaWxlIHJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvdGltZS5oOiBGaWxlIHJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvYml0cy90aW1lLmg6IEZpbGUgcmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9iaXRzL3RpbWUuaDogRmlsZSByZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9iaXRzL3RpbWUuaDogRmlsZSByZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvYml0cy90aW1lLmg6IEZpbGUgcmVtb3ZlZC4KCjIwMDItMTAtMTggIEplZmYgQmFpbGV5ICA8amJhaWxleUBnbnUub3JnPgoKCSogY29uZmlndXJlLmluOiBSZXBsYWNlIG9ic29sZXRlIEFDX09VVFBVVCBzeW50YXggd2l0aAoJQUNfQ09ORklHX0ZJTEVTLCBBQ19DT05GSUdfQ09NTUFORFMsIGFuZCBuZXctdHlwZSBBQ19PVVRQVVQgdHJpby4KCgkqIGFjbG9jYWwubTQgKEdMSUJDX1BST1ZJREVTKTogQWRkIEFDX1BST1ZJREVzIGZvcgoJX0FTX1BBVEhfU0VQQVJBVE9SX1BSRVBBUkUgYW5kIF9BU19URVNUX1BSRVBBUkUuCgoJKiBjb25maWd1cmUuaW46IFJlcGxhY2UgQUNfRkRfQ0Mgd2l0aCBBU19NRVNTQUdFX0xPR19GRC4KCSogc3lzZGVwcy9hbHBoYS9lbGYvY29uZmlndXJlLmluOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2VsZi9jb25maWd1cmUuaW46IExpa2V3aXNlLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9jb25maWd1cmUuaW46IExpa2V3aXNlLgoJKiBzeXNkZXBzL3g4Nl82NC9lbGYvY29uZmlndXJlLmluOiBMaWtld2lzZS4KCgkqIGNvbmZpZ3VyZS5pbjogVXNlIEFDX0NPTkZJR19TUkNESVIgYW5kIG5ldyBBQ19JTklUIHN5bnRheC4KCgkqIHN5c2RlcHMvYWxwaGEvZWxmL2NvbmZpZ3VyZS5pbjogUmVtb3ZlIHVubmVlZGVkIHNpbmNsdWRlIHN0YXRlbWVudC4KCSogc3lzZGVwcy9nZW5lcmljL2NvbmZpZ3VyZS5pbjogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9lbGYvY29uZmlndXJlLmluOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pYTY0L2VsZi9jb25maWd1cmUuaW46IExpa2V3aXNlLgoJKiBzeXNkZXBzL21hY2gvY29uZmlndXJlLmluOiBMaWtld2lzZS4KCSogc3lzZGVwcy9tYWNoL2h1cmQvY29uZmlndXJlLmluOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L2NvbmZpZ3VyZS5pbjogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9jb21tb24vY29uZmlndXJlLmluOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2NvbmZpZ3VyZS5pbjogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2NvbmZpZ3VyZS5pbjogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvY29uZmlndXJlLmluOiBMaWtld2lzZS4KCSogc3lzZGVwcy94ODZfNjQvZWxmL2NvbmZpZ3VyZS5pbjogTGlrZXdpc2UuCgoJKiBhY2xvY2FsLm00OiBVc2UganVzdCB0aGUgYml0cyBmcm9tIEFTX0lOSVQgdGhhdCBhcmUgbmVlZGVkIGZvciB0aGUKCUdMSUJDX1BST1ZJREVTLiAgVXNlIHBsYWluIGNvbW1lbnQgaW5zdGVhZCBvZiBIRUFERVItQ09NTUVOVCBzbwoJdGhhdCBpdCdzIG9idmlvdXMgd2hlbiBleHRyYSBhdXRvY29uZiBtYWNoaW5lcnkgaXMgYmVpbmcgZHJhZ2dlZCBpbi4KCjIwMDItMTAtMTggIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuaW46IFJlbW92ZSBib2d1cyBlY2hvIGluY2x1ZGVkIGluCgkyMDAyLTEwLTA4ICBBbGR5IEhlcm5hbmRleiAgPGFsZHloQHJlZGhhdC5jb20+IGNoYW5nZS4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlZC4KCjIwMDItMTAtMTggIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcGF0aGNvbmYuaCAoc3RhdGZzX2xpbmtfbWF4KTogQWRkIGlubGluZS4KCShzdGF0ZnNfZmlsZXNpemVfbWF4KTogTmV3IGZ1bmN0aW9uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9saW51eF9mc2luZm8uaCAoSkZGU19TVVBFUl9NQUdJQywKCUpGRlMyX1NVUEVSX01BR0lDLCBKRlNfU1VQRVJfTUFHSUMsIE5URlNfU1VQRVJfTUFHSUMsCglST01GU19TVVBFUl9NQUdJQywgVURGX1NVUEVSX01BR0lDKTogRGVmaW5lLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9mcGF0aGNvbmYuYyAoX19mcGF0aGNvbmYpOiBVc2UKCXN0YXRmc19maWxlc2l6ZV9tYXguCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3BhdGhjb25mLmMgKF9fcGF0aGNvbmYpOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvZnBhdGhjb25mLmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3BhdGhjb25mLmM6IFJlbW92ZWQuCgoyMDAyLTEwLTE3ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmluIChNSUcpOiBKdXN0IEFDX1NVQlNUIGl0IGhlcmUuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZWQuCgkqIHN5c2RlcHMvbWFjaC9jb25maWd1cmUuaW4gKE1JRyk6IERvIHRoZSBBQ19DSEVDS19UT09MIGhlcmUuCglBZGRpbmcgZmluYWwgLSBhcmd1bWVudCB0byBhbGwgQUNfQ0hFQ0tfSEVBREVSIHVzZXMgZm9yIC5kZWZzIGZpbGVzLgoJKiBzeXNkZXBzL21hY2gvY29uZmlndXJlOiBSZWdlbmVyYXRlZC4KCgkqIGFjbG9jYWwubTQgKEdMSUJDX1BST1ZJREVTKTogQWRkIEFDX1BST1ZJREUoW19BU19UUl9TSF9QUkVQQVJFXSkKCWFuZCBBQ19QUk9WSURFKFtfQVNfQ1JfUFJFUEFSRV0pLgoKCSogYWNsb2NhbC5tNCAoR0xJQkNfUFJPVklERVMpOiBBZGQgQUNfUFJPVklERShbX0FTX0VDSE9fTl9QUkVQQVJFXSkuCglSZW1vdmUgQUNfTEFORyhDKSBjYWxsLCBpbnN0ZWFkIGp1c3QgZGVmaW5lKFtfQUNfTEFOR10sIFtDXSkuCgoJKiBlbGYvZGwtc3VwcG9ydC5jOiBNb3ZlIF9kbF90bHNfKiB2YXJpYWJsZXMgdG8gLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy9saWJjLXRscy5jOiAuLi4gaGVyZS4KCgkqIGVsZi9kbC1jbG9zZS5jIChyZW1vdmVfc2xvdGluZm8pOiBUYWtlIG5ldyBhcmd1bWVudC4gIElmIGZhbHNlLAoJYWxsb3cgSURYIHRvIGJlIG9uZSBwYXN0IHRoZSBjdXJyZW50IGxhc3Qgc2xvdGluZm8gZW50cnkuCgkoX2RsX2Nsb3NlKTogUGFzcyBJTUFQLT5sX2luaXRfY2FsbGVkIGZvciB0aGF0IHBhcmFtZXRlci4KCjIwMDItMTAtMDcgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBhY2xvY2FsLm00OiBGaXggZm9yIGF1dG9jb25mIDIuNTMuCgkqIGNvbmZpZ3VyZS5pbjogTGlrZXdpc2UuICBSZXF1aXJlIGF1dG9jb25mIDIuNTMuCgoyMDAyLTEwLTA4ICBSaWNoYXJkIEhlbmRlcnNvbiAgPHJ0aEByZWRoYXQuY29tPgoKCSogc29mdC1mcC9vcC00Lmg6IEhhbmRsZSBjYXJyeSBjb3JyZWN0bHkgaW4KCV9fRlBfRlJBQ19BRERfMywgX19GUF9GUkFDX0FERF80LCBfX0ZQX0ZSQUNfU1VCXzMsCglfX0ZQX0ZSQUNfU1VCXzQsIF9fRlBfRlJBQ19ERUNfMywgX19GUF9GUkFDX0RFQ180LgoJKiBzb2Z0LWZwL29wLWNvbW1vbi5oOiBOZXcgbWFjcm9zIF9GUF9ESVZfTUVBVF9OX2xvb3AuCgoyMDAyLTEwLTA4ICBBbGR5IEhlcm5hbmRleiAgPGFsZHloQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuaW46IENvbXB1dGUgY29tcGxldGVseS1zb2Z0LgoJKiBjb25maWcubWFrZS5pbjogTWFrZSBjb21wbGV0ZWx5LXNvZnQgYXZhaWxhYmxlIHRvIHN1Yi1tYWtlcy4KCSogc3lzZGVwcy9wb3dlcnBjL3NvZnQtZnAvTWFrZWZpbGU6IEFkZCBnY2Mtc2luZ2xlLXJvdXRpbmVzIGFuZAoJZ2NjLWRvdWJsZS1yb3V0aW5lcy4gIEFkZCBzaW0tZnVsbC5jLiAgQWRkIGZlbnZfY29uc3QgYW5kCglmZV9ub21hc2sgdG8gbGlibS1zdXBwb3J0LgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9zaW0tZnVsbC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9wb3dlcnBjL3NvZnQtZnAvZnJhaXNlZXhjcHQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL2ZlZ2V0ZXhjZXB0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9mY2xyZXhjcHQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL2Z0ZXN0ZXhjZXB0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9mZ2V0ZXhjcHRmbGcuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL2ZzZXRleGNwdGZsZy5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9wb3dlcnBjL3NvZnQtZnAvZmVkaXNibHhjcHQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL2ZlZW5hYmx4Y3B0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9mZWdldGVudi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9wb3dlcnBjL3NvZnQtZnAvZmVzZXRlbnYuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL2ZlZ2V0cm91bmQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL2Zlc2V0cm91bmQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL2ZldXBkYXRlZW52LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9mZWhvbGRleGNwdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9wb3dlcnBjL3NvZnQtZnAvZmVudl9jb25zdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9wb3dlcnBjL3NvZnQtZnAvbGlibS10ZXN0LXVscHM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9zb2Z0LXN1cHAuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL1ZlcnNpb25zOiBBZGQgbGliZ2NjIHNvZnQtZmxvYXQKCXN5bWJvbHMuICBBZGQgX19zaW1fZGlzYWJsZWRfZXhjZXB0aW9ucywgX19zaW1fZXhjZXB0aW9ucywKCV9fc2ltX3JvdW5kX21vZGUuCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZsb2F0L0Rpc3Q6IEFkZCBzaW0tZnVsbC5jLCBmZW52X2NvbnN0LmMuCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZsb2F0L3NmcC1tYWNoaW5lLmg6IERlZmluZQoJRlBfSEFORExFX0VYQ0VQVElPTlMuCglEZWZpbmUgRlBfUk9VTkRNT0RFLgoJUmVkZWZpbmUgRlBfKiBtYWNyb3MgdG8gY29ycmVzcG9uZCB0byB0aGUgRkVfKiBiaXQgcG9zaXRpb25zLgoJRGVmaW5lIEZQX0RJVl9NRUFUX1MgdG8gX0ZQX0RJVl9NRUFUXzFfbG9vcC4KCURlZmluZSBleHRlcm5zIGZvciBfX3NpbV9leGNlcHRpb25zLCBfX3NpbV9kaXNhYmxlZF9leGNlcHRpb25zLAoJX19zaW1fcm91bmRfbW9kZSwgX19zaW11bGF0ZV9leGNlcHRpb25zLgoJKiBzeXNkZXBzL3Bvd2VycGMvZnB1L2JpdHMvZmVudi5oOiBNb3ZlIGZpbGUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvcG93ZXJwYy9iaXRzL2ZlbnYuaDogLi4udG8gaGVyZS4KCjIwMDItMTAtMDYgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGMzMi9kbC1tYWNoaW5lLmMgKF9fcHJvY2Vzc19tYWNoaW5lX3JlbGEpOgoJU3RvcmUgUl9QUENfVUFERFIzMiBhbmQgUl9QUENfVUFERFIxNiBvbmUgYnl0ZSBhdCBhIHRpbWUuCglVc2UgX19idWlsdGluX2V4cGVjdCBmb3IgUl9QUENfQUREUjI0IG92ZXJmbG93IGNoZWNrLiAgRml4CglSX1BQQ19BRERSMTYsIFJfUFBDX1VBRERSMTYgYW5kIFJfUFBDX0FERFIxNCogb3ZlcmZsb3cgY2hlY2ssIHVzZQoJX19idWlsdGluX2V4cGVjdC4KCjIwMDItMTAtMTUgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9yZXNvbHYuaCAoX19saWJjX3Jlc19ucXVlcnksIF9fbGliY19yZXNfbnNlYXJjaCwKCV9fbGliY19yZXNfbnNlbmQpOiBOZXcgcHJvdG90eXBlcy4KCSogcmVzb2x2L3Jlc19xdWVyeS5jIChRVUVSWVNJWkUpOiBEZWZpbmUuCgkoX19saWJjX3Jlc19ucXVlcnkpOiBSZW5hbWVkIGZyb20gcmVzX25xdWVyeS4gIEFkZGVkIGFuc3dlcnAKCWFyZ3VtZW50LiAgQWxsb2NhdGUgb25seSBRVUVSWVNJWkUgYnl0ZXMgZmlyc3QsIGlmIHJlc19ubWtxdWVyeQoJZmFpbHMgdXNlIE1BWFBBQ0tFVCBidWZmZXIuICBDYWxsIF9fbGliY19yZXNfbnNlbmQgaW5zdGVhZCBvZgoJcmVzX25zZW5kLCBwYXNzIGFuc3dlcnAuCgkocmVzX25xdWVyeSk6IENoYW5nZWQgaW50byB3cmFwcGVyIGFyb3VuZCBfX2xpYmNfcmVzX25xdWVyeS4KCShfX2xpYmNfcmVzX25zZWFyY2gpOiBSZW5hbWVkIGZyb20gcmVzX25zZWFyY2guICBBZGRlZCBhbnN3ZXJwCglhcmd1bWVudC4gIENhbGwgX19saWJjX3Jlc19ucXVlcnlkb21haW4gYW5kIF9fbGliY19yZXNfbnF1ZXJ5CglpbnN0ZWFkIG9mIHRoZSBub24tX19saWJjXyB2YXJpYW50cywgcGFzcyB0aGVtIGFuc3dlcnAuCgkocmVzX25zZWFyY2gpOiBDaGFuZ2VkIGludG8gd3JhcHBlciBhcm91bmQgX19saWJjX3Jlc19uc2VhcmNoLgoJKF9fbGliY19yZXNfbnF1ZXJ5ZG9tYWluKTogUmVuYW1lZCBmcm9tIHJlc19ucXVlcnlkb21haW4uCglBZGRlZCBhbnN3ZXJwIGFyZ3VtZW50LiAgQ2FsbCBfX2xpYmNfcmVzX25xdWVyeSBpbnN0ZWFkIG9mCglyZXNfbnF1ZXJ5LCBwYXNzIGFuc3dlcnAuCgkocmVzX25xdWVyeWRvbWFpbik6IENoYW5nZWQgaW50byB3cmFwcGVyIGFyb3VuZAoJX19saWJjX3Jlc19ucXVlcnlkb21haW4uCgkqIHJlc29sdi9yZXNfc2VuZC5jOiBJbmNsdWRlIHN5cy9pb2N0bC5oLgoJKE1BWFBBQ0tFVCk6IERlZmluZS4KCShzZW5kX3ZjKTogQ2hhbmdlIGFyZ3VtZW50cy4gIFJlYWxsb2NhdGUgYW5zd2VyIGJ1ZmZlciBpZiBpdCBpcwoJdG9vIHNtYWxsLgoJKHNlbmRfZGcpOiBMaWtld2lzZS4KCShfX2xpYmNfcmVzX25zZW5kKTogUmVuYW1lZCBmcm9tIHJlc19uc2VuZC4gIEFkZGVkIGFuc3AgYXJndW1lbnQuCglSZWFsbG9jYXRlIGFuc3dlciBidWZmZXIgaWYgaXQgaXMgdG9vIHNtYWxsIGFuZCBob29rcyBhcmUgaW4gdXNlLgoJQWRqdXN0IGNhbGxzIHRvIHNlbmRfdmMgYW5kIHNlbmRfZGcuCgkocmVzX25zZW5kKTogQ2hhbmdlZCBpbnRvIHdyYXBwZXIgYXJvdW5kIF9fbGliY19yZXNfbnNlbmQuCgkqIHJlc29sdi9uc3NfZG5zL2Rucy1ob3N0LmMgKF9uc3NfZG5zX2dldGhvc3RieW5hbWUyX3IpOiBBbGxvY2F0ZQoJanVzdCAxSyBhbnN3ZXIgYnVmZmVyIG9uIHRoZSBzdGFjaywgdXNlIF9fbGliY19yZXNfbnNlYXJjaCBpbnN0ZWFkCglvZiByZXNfbnNlYXJjaC4KCShfbnNzX2Ruc19nZXRob3N0YnlhZGRyX3IpOiBTaW1pbGFybHkgd2l0aCBfX2xpYmNfcmVzX25xdWVyeS4KCSogcmVzb2x2L25zc19kbnMvZG5zLW5ldHdvcmsuYyAoX25zc19kbnNfZ2V0bmV0YnlhZGRyX3IpOiBMaWtld2lzZS4KCShfbnNzX2Ruc19nZXRuZXRieW5hbWVfcik6IFNpbWlsYXJseSB3aXRoIF9fbGliY19yZXNfbnNlYXJjaC4KCSogcmVzb2x2L2dldGhuYW1hZGRyLmMgKGdldGhvc3RieW5hbWUyKTogTGlrZXdpc2UuCgkoZ2V0aG9zdGJ5YWRkcik6IFNpbWlsYXJseSB3aXRoIF9fbGliY19yZXNfbnF1ZXJ5LgoJKiByZXNvbHYvVmVyc2lvbnMgKGxpYnJlc29sdik6IEV4cG9ydCBfX2xpYmNfcmVzX25xdWVyeSBhbmQKCV9fbGliY19yZXNfbnNlYXJjaCBhdCBHTElCQ19QUklWQVRFLgoKMjAwMi0xMC0xNyAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5pbjogR3JvayAtLXdpdGhvdXQtX190aHJlYWQgYW5kIGRpc2FibGUgSEFWRV9fX1RIUkVBRC4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlZC4KCgkqIHN5c2RlcHMveDg2XzY0L2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfcmVsYSk6IERvIENIRUNLX1NUQVRJQ19UTFMKCWJlZm9yZSBwZXJmb3JtaW5nIHRoZSByZWxvYywgbm90IGFmdGVyLgoJKiBzeXNkZXBzL2kzODYvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9yZWwpOiBMaWtld2lzZS4KCjIwMDItMTAtMTcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbG9jYWxlL3Byb2dyYW1zL2xvY2FsZS5jICh3cml0ZV9sb2NhbGVzKTogVXNlICdtJyBmbGFnIGluIGZvcGVuIGNhbGwuCgkqIGxvY2FsZS9wcm9ncmFtcy9saW5lcmVhZGVyLmMgKGxyX29wZW4pOiBMaWtld2lzZS4KCSogbG9jYWxlL3Byb2dyYW1zL2NoYXJtYXAtZGlyLmMgKGNoYXJtYXBfb3Blbik6IExpa2V3aXNlLgoJKiBsb2NhbGUvcHJvZ3JhbXMvbG9jYXJjaGl2ZS5jIChhZGRfbG9jYWxlX3RvX2FyY2hpdmUpOiBMaWtld2lzZS4KCjIwMDItMTAtMTcgIElzYW11IEhhc2VnYXdhICA8aXNhbXVAeWFtYXRvLmlibS5jb20+CgoJKiBwb3NpeC9idWctcmVnZXgxMS5jOiBBZGQgYSB0ZXN0IGNhc2UgZm9yIHRoZSBidWcgcmVwb3J0ZWQgYnkKCVBhb2xvIEJvbnppbmkgPGJvbnppbmlAZ251Lm9yZz4uCgkqIHBvc2l4L3JlZ2V4ZWMuYyAoc2lmdF9zdGF0ZXNfYmtyZWYpOiBVc2UgY29ycmVjdCBkZXN0aW5hdGlvbiBvZgoJdGhlIGJhY2sgcmVmZXJlbmNlLgoKMjAwMi0xMC0xNyAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIGVsZi9kbC1sb2FkLmMgKF9kbF9tYXBfb2JqZWN0X2Zyb21fZmQpOiBEb24ndCBjaGVjayBERl9TVEFUSUNfVExTLgoJKiBlbGYvZGwtcmVsb2MuYyAoX2RsX3JlbG9jYXRlX29iamVjdDogQ0hFQ0tfU1RBVElDX1RMUyk6IE5ldyBtYWNybwoJdG8gc2lnbmFsIGVycm9yIGlmIGFuIElFLW1vZGVsIFRMUyByZWxvYyByZXNvbHZlZCB0byBhIGRsb3BlbidkIG1vZHVsZS4KCSogc3lzZGVwcy9pMzg2L2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfcmVsLCBlbGZfbWFjaGluZV9yZWxhKToKCUNhbGwgaXQgYWZ0ZXIgcGVyZm9ybWluZyBUUE9GRiByZWxvY3MuCgkqIHN5c2RlcHMveDg2XzY0L2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfcmVsYSk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NoL2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfcmVsYSk6IExpa2V3aXNlLgoJKiBlbGYvZGwtY29uZmxpY3QuYyAoQ0hFQ0tfU1RBVElDX1RMUyk6IE5ldyBtYWNybyAobm8tb3ApLgoKCSogZWxmL2RsLWNsb3NlLmMgKHJlbW92ZV9zbG90aW5mbyk6IENoYW5nZSBhc3NlcnRzIHNvIGFzIG5vdCB0byBjcmFzaAoJd2hlbiBjbG9zaW5nIGEgcGFydGlhbGx5LWluaXRpYWxpemVkIG9iamVjdC4KCgkqIGVsZi9kbC1sb2FkLmMgKF9kbF9tYXBfb2JqZWN0X2Zyb21fZmQpIFshIFVTRV9UTFNdOiBDYWxsIGxvc2UKCWluc3RlYWQgb2YgX2RsX2ZhdGFsX3ByaW50ZiB3aGVuIHdlIHNlZSBQVF9UTFMuCgoJKiBNYWtlY29uZmlnIChDUFBGTEFHUyk6IEZpeCBsYXN0IGNoYW5nZSB0byB1c2UgJChsaWJvZi0kKDxGKSkKCWluc3RlYWQgb2YgJChsaWJvZi0kPCkuCgoyMDAyLTEwLTE2ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogY3BwZmxhZ3MtaXRlcmF0b3IubWsgKENQUEZMQUdTLSQoY3BwLXNyYykpOiBWYXJpYWJsZSByZW1vdmVkLgoJaW5zdGVhZCBvZiArPSB0byBhcHBlbmQsIHRvIGJlIHN1cmUgJChsaWIpIGdldHMgZXhwYW5kZWQgYXQgZGVmbiB0aW1lLgoJKGxpYm9mLSQoY3BwLXNyYykpOiBOZXcgdmFyaWFibGUsIGRlZmluZSB0aGlzIGluc3RlYWQuCgkqIGV4dHJhLWxpYi5tayAoY3BwLXNyY3MtbGVmdCk6IFJlZHVjZSBkdXBsaWNhdGlvbiBpbiBpbmNsdWRlIHNldHVwLgoJKGxpYik6IERvbid0IHVzZSBvdmVycmlkZS4KCShDUFBGTEFHUy0kKGxpYikpOiBOZXcgdmFyaWFibGUsIHB1dCAtRCdzIGhlcmUuCgkqIE1ha2Vjb25maWcgKENQUEZMQUdTKTogVXNlIGJhc2VuYW1lIGZuIGZvciBDUFBGTEFHUy1iYXNlbmFtZS4KCUFsc28gYWRkICQoQ1BQRkxBR1MtTElCKSBiZWZvcmUgdGhlIGZpbGUtc3BlY2lmaWMgZmxhZ3MsIGZvciBlYWNoCglMSUIgZm91bmQgYnkgJChsaWJvZi0qKSBmb3IgYmFzZW5hbWUsIHRhcmdldCwgb3Igc291cmNlLgoJKiBNYWtlcnVsZXMgKENQUEZMQUdTLW5vbmxpYik6IE5ldyB2YXJpYWJsZS4KCSogbnNjZC9NYWtlZmlsZSAobGliKTogU2V0IHRvIG5vbmxpYiB3aGVuIHVzaW5nIGNwcGZsYWdzLWl0ZXJhdG9yLm1rLgoJKiBsb2NhbGUvTWFrZWZpbGUgKGxpYik6IExpa2V3aXNlLgoJKiBzdW5ycGMvTWFrZWZpbGUgKGxpYik6IExpa2V3aXNlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZnBhdGhjb25mLmMgKExJTlVYX0xJTktfTUFYKTogTW92ZSBtYWNybyAuLi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbGludXhfZnNpbmZvLmggKExJTlVYX0xJTktfTUFYKTogLi4uIGhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3BhdGhjb25mLmg6IE5ldyBmaWxlLgoJKHN0YXRmc19saW5rX21heCk6IE5ldyBmdW5jdGlvbiwgZ3V0cyBmcm9tIGZwYXRoY29uZi5jLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9mcGF0aGNvbmYuYzogUmV3cml0dGVuIHVzaW5nIHRoYXQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3BhdGhjb25mLmMgKF9fcGF0aGNvbmYpOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvcGF0aGNvbmYuYyAoX19wYXRoY29uZik6IFJld3JpdHRlbgoJdG8gdXNlIHRoZSBsaW51eC9wYXRoY29uZi5jIGNvZGUgYnkgI2luY2x1ZGUgcmF0aGVyIHRoYW4gZHVwbGljYXRpb24uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2ZwYXRoY29uZi5jIChfX3BhdGhjb25mKTogTGlrZXdpc2UuCgoyMDAyLTEwLTE2ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaCAoU1lTQ0FMTF9FUlJPUl9IQU5ETEVSKToKCVVzZSBfX2xpYmNfZXJybm8gb25seSBmb3IgbGliYyBpdHNlbGYuCgoyMDAyLTEwLTE2ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3g4Nl82NC9fbWNvdW50LlM6IEZpeCBvZmYtYnktMSBlcnJvciBpbiBhcmd1bWVudCBhY2Nlc3MuCgoyMDAyLTEwLTE2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc3lzZGVwLmggKFNZU0NBTExfRVJST1JfSEFORExFUik6CglVc2UgX19saWJjX2Vycm5vIG9ubHkgZm9yIGxpYmMgaXRzZWxmLgoKMjAwMi0xMC0xNSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCSAgICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L01ha2VmaWxlCgkoJChvYmpwZngpc3lzY2FsbC0lLmggJChvYmpwZngpc3lzY2FsbC0lLmQpOiBUYWtlIGNvZGUgZnJvbQoJc3BhcmMvTWFrZWZpbGUgdG8gcHJvZHVjZSBhIGJpLWFyY2ggZmlsZSBhcyBuZWVkZWQuCglUaGF0J3Mgbm93IHBhcmFtZXRlcml6ZWQgYnkgdGhlIHZhcmlhYmxlICQoNjRiaXQtcHJlZGVmaW5lKS4KCVVzZSBMQ19BTEw9QyBmb3IgYGNvbW0nIGNvbW1hbmRzIGluIHRoYXQgcnVsZS4KCU5vIGxvbmdlciBjb25kaXRpb25hbCBvbiBbJChub19zeXNjYWxsX2xpc3RfaCldLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9NYWtlZmlsZTogUmVtb3ZlIHJlcGxhY2VtZW50IHJ1bGVzLgoJKDY0Yml0LXByZWRlZmluZSk6IE5ldyB2YXJpYWJsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L01ha2VmaWxlOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9NYWtlZmlsZTogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvTWFrZWZpbGUKCSg2NGJpdC1wcmVkZWZpbmUpOiBOZXcgdmFyaWFibGUuCgoyMDAyLTEwLTE1ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvTWFrZWZpbGUKCSgkKG9ianBmeClzeXNjYWxsLSUuaCAkKG9ianBmeClzeXNjYWxsLSUuZCkKCgkqIGxvZ2luL3V0bXAtcHJpdmF0ZS5oOiBEZWNsYXJlIF9fbGliY191dG1wX2xvY2suCgkqIHN5c2RlcHMvdW5peC9nZXRsb2dpbl9yLmMgKGdldGxvZ2luX3IpOiBUYWtlIF9fbGliY191dG1wX2xvY2sgb25jZQoJYW5kIGNhbGwgX19saWJjX3V0bXBfanVtcF90YWJsZSBmdW5jdGlvbnMgZGlyZWN0bHksIGluc3RlYWQgb2YgdXNpbmcKCV9fc2V0dXRlbnQgZXQgYWwuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jb25maWd1cmUuaW46IFVzZSBjYXNlIGluc3RlYWQgb2YgaWYuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2NvbmZpZ3VyZTogUmVnZW5lcmF0ZWQuCgoJKiBzeXNkZXBzL2dudS9iaXRzL3V0bXAuaDogSW5jbHVkZSA8Yml0cy93b3Jkc2l6ZS5oPi4KCShzdHJ1Y3QgbGFzdGxvZykgW19fV09SRFNJWkUgPT0gNjQgJiYgX19XT1JEU0laRV9DT01QQVQzMl06CglVc2UgaW50MzJfdCBmb3IgbGxfdGltZS4KCShzdHJ1Y3QgdXRtcCkgW19fV09SRFNJWkUgPT0gNjQgJiYgX19XT1JEU0laRV9DT01QQVQzMl06CglVc2UgaW50MzJfdCBpbnN0ZWFkIG9mIGxvbmcgaW50IGZvciB1dF9zZXNzaW9uLgoJVXNlIGFuIGFub255bW91cyBzdHJ1Y3Qgd2l0aCAzMi1iaXQgZmllbGRzIGZvciB1dF90di4KCSogc3lzZGVwcy9nbnUvYml0cy91dG1weC5oOiBJbmNsdWRlIDxiaXRzL3dvcmRzaXplLmg+LgoJKHN0cnVjdCB1dG1weCkgW19fV09SRFNJWkUgPT0gNjQgJiYgX19XT1JEU0laRV9DT01QQVQzMl06IERvIHRoZSBzYW1lCgloZXJlIGFzIGluIHV0bXAuaCBmb3IgYHN0cnVjdCB1dG1wJy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9iaXRzL3V0bXAuaDogRmlsZSByZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2JpdHMvdXRtcHguaDogRmlsZSByZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9iaXRzL3V0bXAuaDogRmlsZSByZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9iaXRzL3V0bXB4Lmg6IEZpbGUgcmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L2JpdHMvdXRtcC5oOiBGaWxlIHJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9iaXRzL3V0bXB4Lmg6IEZpbGUgcmVtb3ZlZC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvcmVzb3VyY2UuaDogUmVwbGFjZWQgd2l0aCB0aGUgY29udGVudHMKCW9mIHRoZSBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2JpdHMvcmVzb3VyY2UuaCBmaWxlLgoJQWxsIHRoZSBmb2xsb3dpbmcgZmlsZXMgd2VyZSBpZGVudGljYWwgb3IgZXF1aXZhbGVudCB0byBpdC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9iaXRzL3Jlc291cmNlLmg6IEZpbGUgcmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2JpdHMvcmVzb3VyY2UuaDogRmlsZSByZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jcmlzL2JpdHMvcmVzb3VyY2UuaDogRmlsZSByZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ocHBhL2JpdHMvcmVzb3VyY2UuaDogRmlsZSByZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvcmVzb3VyY2UuaDogRmlsZSByZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tNjhrL2JpdHMvcmVzb3VyY2UuaDogRmlsZSByZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2JpdHMvcmVzb3VyY2UuaDogRmlsZSByZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2JpdHMvcmVzb3VyY2UuaDogRmlsZSByZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9iaXRzL3Jlc291cmNlLmg6IEZpbGUgcmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L2JpdHMvcmVzb3VyY2UuaDogRmlsZSByZW1vdmVkLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9zb2NrZXQuaCAoc3RydWN0IG1zZ2hkcik6IFVzZSBzaXplX3QKCWluc3RlYWQgb2YgaW50IGZvciBtc2dfaW92bGVuLCBpbnN0ZWFkIG9mIHNvY2tsZW5fdCBmb3IgbXNnX2NvbnRyb2xsZW4uCglPdGhlciB0aGFuIHRoZSBwcmV2aW91c2x5IGluY29ycmVjdCBzaWduIG9mIG1zZ19pb3ZsZW4sIHRoaXMgaXMgYQoJbm8tb3Agb24gMzItYml0IHBsYXRmb3Jtcy4gIE9uIDY0LWJpdCBwbGF0Zm9ybXMgaXQgbWFrZXMgdGhpcyBoZWFkZXIKCW1hdGNoIHRoZWlyIGxheW91dHMgYXMgd2VsbCwgc28gdGhlIGZvbGxvd2luZyBhcmUgbm93IGlkZW50aWNhbCB0byBpdC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9iaXRzL3NvY2tldC5oOiBGaWxlIHJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL2JpdHMvc29ja2V0Lmg6IEZpbGUgcmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L2JpdHMvc29ja2V0Lmg6IEZpbGUgcmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9iaXRzL3NvY2tldC5oOiBGaWxlIHJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2JpdHMvc29ja2V0Lmg6IEZpbGUgcmVtb3ZlZC4KCjIwMDItMTAtMTUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgva2VybmVsLWZlYXR1cmVzLmggKF9fQVNTVU1FX1ZGT1JLX1NZU0NBTEwpOgoJRGVmaW5lIGZvciAyLjQrIGtlcm5lbHMuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3Zmb3JrLlM6IE9wdGltaXplIGZvciBrZXJuZWxzIHdoaWNoCglhcmUga25vd24gdG8gaGF2ZSB0aGUgdmZvcmsgc3lzY2FsbC4gIERvbid0IGNvbmZ1c2UgdGhlIENQVXMKCWJyYW5jaCBwcmVkaWN0aW9uIHVuaXQgYnkganVtcGluZyB0byB0aGUgcmV0dXJuIGFkZHJlc3MuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9mcGF0aGNvbmYuYyAoX19mcGF0aGNvbmYpOiBBZGQKCXN1cHBvcnQgZm9yIHJlaXNlcmZzIGFuZCB4ZnMuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9mcGF0aGNvbmYuYyAoX19mcGF0aGNvbmYpOiBBZGQgY2FzZSBmb3IKCVhGUyBsaW5rIGNvdW50LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9saW51eF9mc2luZm8uaDogRGVmaW5lIFhGU19TVVBFUl9NQUdJQwoJYW5kIFhGU19MSU5LX01BWC4KCVBhdGNoIGJ5IEVyaWMgU2FuZGVlbiA8c2FuZGVlbkBzZ2kuY29tPiBbUFIgbGliYy80NzA2XS4KCjIwMDItMTAtMTYgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9saWJjLXN5bWJvbHMuaCAoYXR0cmlidXRlX3Rsc19tb2RlbF9pZSk6IERlZmluZS4KCSogaW5jbHVkZS9lcnJuby5oIChlcnJubyk6IERlZmluZSB0byBfX2xpYmNfZXJybm8gaW4gbGliYy5zby4KCUFkZCBhdHRyaWJ1dGVfdGxzX21vZGVsX2llLgoJKiBpbmNsdWRlL25ldGRiLmggKGhfZXJybm8pOiBEZWZpbmUgdG8gX19saWJjX2hfZXJybm8gaW4gbGliYy5zby4KCUFkZCBhdHRyaWJ1dGVfdGxzX21vZGVsX2llLgoJKiBpbmNsdWRlL3Jlc29sdi5oIChfcmVzKTogRGVmaW5lIHRvIF9fbGliY19yZXMgaW4gbGliYy5zby4gIEFkZAoJYXR0cmlidXRlX3Rsc19tb2RlbF9pZS4KCSogaW5ldC9oZXJybm8uYyAoX19saWJjX2hfZXJybm8pOiBBZGQgaGlkZGVuIGFsaWFzIHRvIGhfZXJybm8uCgkoaF9lcnJubyk6IERlZmluZS4KCSogcmVzb2x2L3Jlc19saWJjLmMgKF9fbGliY19yZXMpOiBBZGQgaGlkZGVuIGFsaWFzIHRvIF9yZXMuCgkoX3Jlcyk6IERlZmluZS4KCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvbGliYy10c2QuaCAoX19saWJjX3RzZF9kZWZpbmUpOiBBZGQKCWF0dHJpYnV0ZV90bHNfbW9kZWxfaWUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9lcnJuby1sb2MuYyAoZXJybm8pOiBPbmx5IHVuZGVmaW5lIGlmIG5vdCB1c2luZwoJX190aHJlYWQuCgkqIHN5c2RlcHMvZ2VuZXJpYy9lcnJuby5jIChfX2xpYmNfZXJybm8pOiBBZGQgaGlkZGVuIGFsaWFzIHRvIGVycm5vLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3N5c2RlcC5oIChTWVNDQUxMX0VSUk9SX0hBTkRMRVIpOiBVc2UKCV9fbGliY19lcnJubyBpbiBVU0VfX19USFJFQUQgY2FzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oIChTWVNDQUxMX0VSUk9SX0hBTkRMRVIpOgoJTGlrZXdpc2UuCgkqIGNvbmZpZ3VyZS5pbiAoSEFWRV9UTFNfTU9ERUxfQVRUUklCVVRFKTogQ2hlY2sgZm9yCglfX2F0dHJpYnV0ZV9fKCh0bHNfbW9kZWwgKCIiKSkpLgoJKiBjb25maWd1cmU6IFJlYnVpbHQuCgkqIGNvbmZpZy5oLmluIChIQVZFX1RMU19NT0RFTF9BVFRSSUJVVEUpOiBBZGQuCgoyMDAyLTEwLTE1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHRpbWV6b25lL2FzaWE6IFVwZGF0ZSBmcm9tIHR6ZGF0YTIwMDJkLgoJKiB0aW1lem9uZS9hdXN0cmFsYXNpYTogTGlrZXdpc2UuCgkqIHRpbWV6b25lL2lzbzMxNjYudGFiOiBMaWtld2lzZS4KCSogdGltZXpvbmUvc291dGhhbWVyaWNhOiBMaWtld2lzZS4KCSogdGltZXpvbmUvem9uZS10YWI6IExpa2V3aXNlLgoKMjAwMi0xMC0xNSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC10bHMuYyAoX2RsX2RlYWxsb2NhdGVfdGxzKSBbVExTX1RDQl9BVF9UUF06CglBZGp1c3QgVENCIHBvaW50ZXIgYmVmb3JlIGNhbGxpbmcgZnJlZSwgc28gd2UgZ2V0IHRoZSB3aG9sZSBibG9jay4KCjIwMDItMTAtMTQgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc2lnYWN0aW9uLmMKCVtIQVZFX0hJRERFTiAmJiAhSEFWRV9CUk9LRU5fVklTSUJJTElUWV9BVFRSSUJVVEVdOiBEZWNsYXJlIHJlc3RvcmVfcnQKCWV4dGVybiB1c2luZyBhdHRyaWJ1dGVfaGlkZGVuIGluc3RlYWQgb2Ygc3RhdGljLCBhdm9pZHMgd2FybmluZy4KCjIwMDItMTAtMDkgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY29uZmlndXJlLmluOiBVc2UgKi9saWI2NCBmb3IgczM5MHggdG9vLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jb25maWd1cmU6IFJlYnVpbHQuCgoyMDAyLTEwLTE0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHBvL3N2LnBvOiBVcGRhdGUgZnJvbSB0cmFuc2xhdGlvbiB0ZWFtLgoKMjAwMi0xMC0xMiAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogc3VucnBjL3RocnN2Yy5jIChQUk9DUVVJVCk6IE5ldy4KCShzdHJ1Y3QgcnBjX2FyZyk6IE5ldy4KCShkaXNwYXRjaCk6IENhbGwgZXhpdCAoMCkgaWYgcmVxdWVzdC0+cnFfcHJvYyA9PSBQUk9DUVVJVC4KCSh0ZXN0X29uZV9jYWxsKTogVGFrZSBzdHJ1Y3QgcnBjX2FyZyAqIGluc3RlYWQgb2YgQ0xJRU5UICpjLgoJKHRocmVhZF93cmFwcGVyKTogTW9kaWZpZWQgZm9yIHN0cnVjdCBycGNfYXJnICogYW5kIGNhbGwgUFJPQ1FVSVQuCgkobWFpbik6IE1vZGlmaWVkIGZvciBzdHJ1Y3QgcnBjX2FyZyAqLgoKMjAwMi0xMC0xNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBkaXJlbnQvc2NhbmRpci5jOiBSZWFycmFuZ2UgY29kZSBhIGJpdCB0byByZWR1Y2UgYmluYXJ5IHNpemUuCgoyMDAyLTEwLTE0ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDogSW5jbHVkZSB0bHMuaC4KCShTWVNDQUxMX0VSUk9SX0hBTkRMRVIpOiBVc2UgUlRMRF9QUklWQVRFX0VSUk5PIHNlcXVlbmNlCglpbiBsZC5zbyBldmVuIGlmIF9fdGhyZWFkIGlzIHN1cHBvcnRlZC4KCjIwMDItMTAtMTMgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL3Byb2ZpbC1jb3VudGVyLmggKHByb2ZpbF9jb3VudGVyKToKCUFkZCBoYWNrIHRvIHByZXZlbnQgdGhlIGNvbXBpbGVyIGZyb20gY2xvYmJlcmluZyB0aGUgc2lnbmFsIGNvbnRleHQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3Byb2ZpbC1jb3VudGVyLmggKHByb2ZpbF9jb3VudGVyKToKCUxpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvcHJvZmlsLWNvdW50ZXIuaCAocHJvZmlsX2NvdW50ZXIpOgoJTGlrZXdpc2UuCgoyMDAyLTEwLTE0ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL21pcHMvZnB1L2xpYm0tdGVzdC11bHBzOiBSZWdlbmVyYXRlZCBieQoJR3VpZG8gR3VlbnRoZXIgPGFneEBzaWd4Y3B1Lm9yZz4uCgoyMDAyLTEwLTE0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHBvL3NrLnBvOiBVcGRhdGUgZnJvbSB0cmFuc2xhdGlvbiB0ZWFtLgoKMjAwMi0wOS0yNiAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIGVsZi9kbC1sb2FkLmMgKF9kbF9kc3RfY291bnQsIF9kbF9kc3Rfc3Vic3RpdHV0ZSk6IEhhbmRsZSAkTElCCglkeW5hbWljIHN0cmluZyB0YWcuCgkqIGVsZi9NYWtlZmlsZSAoJChvYmpwZngpdHJ1c3RlZC1kaXJzLnN0KTogTWFrZSB0aGUgb3V0cHV0IGRlZmluZQoJRExfRFNUX0xJQiBiYXNlZCBvbiAkKHNsaWJkaXIpLgoKMjAwMi0xMC0xMyAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAZnJvYi5jb20+CgoJKiBlbGYvcnRsZC1SdWxlcyAoJChvYmpwZngpcnRsZC1saWJjLmEpOiBVc2UgJCh2ZXJib3NlKSBpbiBhciBjb21tYW5kLgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvZ2V0cmVzdWlkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9nZXRyZXNnaWQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvbWFjaC9odXJkL3NldHJlc3VpZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9tYWNoL2h1cmQvc2V0cmVzZ2lkLmM6IE5ldyBmaWxlLgoKCSogcG9zaXgvdW5pc3RkLmggW19fVVNFX0dOVV0gKGdldHJlc3VpZCwgZ2V0cmVzZ2lkLCBzZXRyZXN1aWQsCglzZXRyZXNnaWQpOiBEZWNsYXJlIHRoZW0uCgkqIE5FV1M6IE1lbnRpb24gaXQuCgkqIGluY2x1ZGUvdW5pc3RkLmgKCShfX2dldHJlc3VpZCwgX19nZXRyZXNnaWQsIF9fc2V0cmVzdWlkLCBfX3NldHJlc2dpZCk6IERlY2xhcmUgdGhlbSwKCWFkZCBsaWJjX2hpZGRlbl9wcm90by4KCSogcG9zaXgvVmVyc2lvbnMgKGxpYmM6IEdMSUJDXzIuMy4yKTogTmV3IHNldC4gIEFkZAoJZ2V0cmVzdWlkLCBnZXRyZXNnaWQsIHNldHJlc3VpZCwgc2V0cmVzZ2lkIGhlcmUuCgkqIFZlcnNpb25zLmRlZiAobGliYyk6IERlZmluZSBHTElCQ18yLjMuMiBzZXQuCgkqIHN5c2RlcHMvZ2VuZXJpYy9nZXRyZXN1aWQuYyAoX19nZXRyZXN1aWQpOiBGaXggYXJndW1lbnQgdHlwZXMuCglBZGQgbGliY19oaWRkZW5fZGVmLgoJKiBzeXNkZXBzL2dlbmVyaWMvZ2V0cmVzZ2lkLmMgKF9fZ2V0cmVzZ2lkKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zZXRyZXNnaWQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zZXRyZXN1aWQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L01ha2VmaWxlIFskKHN1YmRpcikgPSBtaXNjXQoJKHN5c2RlcF9yb3V0aW5lcyk6IERvbid0IGFkZCBnZXRyZXN1aWQgYW5kIGdldHJlc2dpZCBoZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vTWFrZWZpbGUgWyQoc3ViZGlyKSA9IG1pc2NdCgkoc3lzZGVwX3JvdXRpbmVzKTogRG9uJ3QgYWRkIHNldHJlc3VpZCBhbmQgc2V0cmVzZ2lkIGhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2NyaXMvTWFrZWZpbGU6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9NYWtlZmlsZTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC0zMi9NYWtlZmlsZTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9NYWtlZmlsZTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvTWFrZWZpbGU6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tNjhrL01ha2VmaWxlOiBMaWtld2lzZS4KCSogcG9zaXgvTWFrZWZpbGUgKHJvdXRpbmVzKTogQWRkIHRoZW0gYWxsIGhlcmUgaW5zdGVhZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9nZXRyZXN1aWQuYyAoZ2V0cmVzdWlkKTogUmVuYW1lZCB0bwoJX19nZXRyZXN1aWQuICBBZGQgbGliY19oaWRkZW5fZGVmIGZvciB0aGF0LCBhbmQgd2VhayBhbGlhcyB0byBvbGQgbmFtZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9nZXRyZXNnaWQuYyAoZ2V0cmVzZ2lkKTogUmVuYW1lZCB0bwoJX19nZXRyZXNnaWQuICBBZGQgbGliY19oaWRkZW5fZGVmIGZvciB0aGF0LCBhbmQgd2VhayBhbGlhcyB0byBvbGQgbmFtZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zZXRyZXN1aWQuYzogQWRkIGxpYmNfaGlkZGVuX2RlZi4KCVshIF9fTlJfc2V0cmVzdWlkXTogSW5jbHVkZSBnZW5lcmljIGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc2V0cmVzZ2lkLmMgKHNldHJlc2dpZCk6IFJlbmFtZWQgdG8KCV9fc2V0cmVzZ2lkLiAgQWRkIGxpYmNfaGlkZGVuX2RlZiBmb3IgdGhhdCwgYW5kIHdlYWsgYWxpYXMgdG8gb2xkIG5hbWUuCglbISBfX05SX3NldHJlc3VpZF06IEluY2x1ZGUgZ2VuZXJpYyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXNjYWxscy5saXN0IChzZXRyZXN1aWQsIHNldHJlc2dpZCk6CglDYWxsZXIgaXMgLSBub3csIG5vdCBFWFRSQS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9zeXNjYWxscy5saXN0Cgkoc2V0cmVzdWlkLCBzZXRyZXNnaWQsIGdldHJlc3VpZCwgZ2V0cmVzZ2lkKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5c2NhbGxzLmxpc3QgKGdldHJlc3VpZCwgZ2V0cmVzZ2lkKToKCUFkZCB0aGVzZSBjYWxscyBoZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9zeXNjYWxscy5saXN0OiBSZW1vdmUgdGhlbSBoZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ocHBhL3N5c2NhbGxzLmxpc3Q6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L3N5c2NhbGxzLmxpc3Q6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvc3lzY2FsbHMubGlzdDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNjYWxscy5saXN0OiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wb3dlcnBjMzIvc3lzY2FsbHMubGlzdDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcG93ZXJwYzY0L3N5c2NhbGxzLmxpc3Q6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3N5c2NhbGxzLmxpc3Q6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3N5c2NhbGxzLmxpc3Q6IExpa2V3aXNlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvTWFrZWZpbGUgWyQoc3ViZGlyKSA9IG1pc2NdCgkoc3lzZGVwX3JvdXRpbmVzKTogQWRkIHNldGZzdWlkIGFuZCBzZXRmc2dpZCBoZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vTWFrZWZpbGU6IE5vdCBoZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzMyL01ha2VmaWxlOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY3Jpcy9NYWtlZmlsZTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL01ha2VmaWxlOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL01ha2VmaWxlOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L01ha2VmaWxlOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9NYWtlZmlsZTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L202OGsvTWFrZWZpbGU6IExpa2V3aXNlLgoKCSogaHVyZC9lcnJuby5jOiBSZW5hbWVkIHRvIC4uLgoJKiBodXJkL2Vycm5vLWxvYy5jOiAuLi4gdGhpcy4KCSogaHVyZC9NYWtlZmlsZSAocm91dGluZXMpOiBlcnJubyAtPiBlcnJuby1sb2MKCjIwMDItMTAtMTMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG8vZGUucG86IFVwZGF0ZSBmcm9tIHRyYW5zbGF0aW9uIHRlYW0uCgoJKiBNYWtlVEFHUzogQWRkIC1FIGZsYWcgdG8geGdldHRleHQgcnVucy4KCjIwMDItMTAtMTIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG8vZnIucG86IFVwZGF0ZSBmcm9tIHRyYW5zbGF0aW9uIHRlYW0uCgoJKiBzeXNkZXBzL3Bvc2l4L3N5c3RlbS5jOiBSZW1vdmUgc3VwcG9ydCBmb3Igb2xkIGFuZCBidWdneSBTQ08gc3lzdGVtcy4KCU9wdGltaXplIGEgYml0IGZvciB1c2UgaW4gZ2xpYmMuCgoyMDAyLTEwLTEyICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogc3RkaW8tY29tbW9uL3RzdC1ybmRzZWVrLmMgKFRJTUVPVVQpOiBJbmNyZWFzZSB0byAxMCBzZWNvbmRzLgoJU29tZSBtYWNoaW5lcyBhcmUgc2xvdy4gIEd1aWRvIEd1ZW50aGVyIDxhZ3hAc2lneGNwdS5vcmc+IGhhcyBvbmUuCgoyMDAyLTEwLTEyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHBvL3N2LnBvOiBVcGRhdGUgZnJvbSB0cmFuc2xhdGlvbiB0ZWFtLgoKMjAwMi0xMC0xMSAgSXNhbXUgSGFzZWdhd2EgIDxpc2FtdUB5YW1hdG8uaWJtLmNvbT4KCgkqIHBvc2l4L3JlZ2NvbXAuYyAocmVfY29tcGlsZV9mYXN0bWFwX2l0ZXIpOiBSZW1vdmUgdGhlIGhhbmRsaW5nCglPUF9DT05URVhUX05PREUuCgkocmVnZnJlZSk6IExpa2V3aXNlLgoJKGNyZWF0ZV9pbml0aWFsX3N0YXRlKTogTGlrZXdpc2UuCgkoYW5hbHl6ZSk6IFJlbW92ZSB0aGUgc3Vic3RpdHV0aW9ucyB3aGljaCBiZWNhbWUgdXNlbGVzcy4KCShjYWxjX2ZpcnN0KTogTGlrZXdpc2UuCgkoY2FsY19lcHNkZXN0KTogVXNlIGVkZXN0cyBvZiBPUF9CQUNLX1JFRiBpbiBjYXNlIHRoYXQgaXQgaGFzCgllcHNpbG9uIGRlc3RpbmF0aW9uLgoJKGR1cGxpY2F0ZV9ub2RlX2Nsb3N1cmUpOiBOZXcgZnVuY3Rpb24uCgkoZHVwbGljYXRlX25vZGUpOiBSZW1vdmUgdGhlIGhhbmRsaW5nIE9QX0NPTlRFWFRfTk9ERS4KCShjYWxjX2ludmVjbG9zdXJlKTogTGlrZXdpc2UuCgkoY2FsY19lY2xvc3VyZSk6IExpa2V3aXNlLgoJKGNhbGNfZWNsb3N1cmVfaXRlcik6IEludm9rZSBkdXBsaWNhdGVfbm9kZV9jbG9zdXJlIGluc3RlYWQgb2YKCWRpcmVjdCBpbnZvY2F0aW9uIG9mIGR1cGxpY2F0ZV9ub2RlLgoJKHBhcnNlKTogRG9uJ3QgdXNlIGNvbW1hIG9wZXJhdG9yIGluIHRoZSByZXR1cm4gdG8gYXZvaWQgY29tcGlsZXIKCXdhcm5pbmcuCgkocGFyc2VfcmVnX2V4cCk6IExpa2V3aXNlLgoJKHBhcnNlX2JyYW5jaCk6IExpa2V3aXNlLgoJKHBhcnNlX2V4cHJlc3Npb24pOiBMaWtld2lzZS4KCShwYXJzZV9zdWJfZXhwKTogTGlrZXdpc2UuCgkocGFyc2VfZHVwX29wKTogTGlrZXdpc2UuCgkqIHBvc2l4L3JlZ2V4X2ludGVybmFsLmMgKHJlX2RmYV9hZGRfbm9kZSk6IFJlbW92ZSB0aGUgc3Vic3RpdHV0aW9ucwoJd2hpY2ggYmVjYW1lIHVzZWxlc3MuCgkoY3JlYXRlX2NpX25ld3N0YXRlKTogUmVtb3ZlIHRoZSBoYW5kbGluZyBPUF9DT05URVhUX05PREUuCgkoY3JlYXRlX2NkX25ld3N0YXRlKTogTGlrZXdpc2UuCgkqIHBvc2l4L3JlZ2V4X2ludGVybmFsLmggKHJlX3Rva2VuX3R5cGVfdCk6IFJlbW92ZSB0aGUgb2Jzb2xldGUgdHlwZS4KCShyZV90b2tlbl90KTogTGlrZXdpc2UuCgkocmVfZGZhX3QpOiBMaWtld2lzZS4KCShyZV9ub2RlX3NldF9yZW1vdmUpOiBOZXcgbWFjcm8uCgkqIHBvc2l4L3JlZ2V4ZWMuYyAoY2hlY2tfbWF0Y2hpbmcpOiBSZW1vdmUgdGhlIGhhbmRsaW5nCglPUF9DT05URVhUX05PREUuCgkoY2hlY2tfaGFsdF9ub2RlX2NvbnRleHQpOiBMaWtld2lzZS4KCShwcm9jZWVkX25leHRfbm9kZSk6IExpa2V3aXNlLgoJKHBvcF9mYWlsX3N0YWNrKTogRml4IHRoZSBtZW1vcnkgbGVhay4KCShzZXRfcmVncyk6IExpa2V3aXNlLgoJKGZyZWVfZmFpbF9zdGFja19yZXR1cm4pOiBOZXcgZnVuY3Rpb24uCgkoc2lmdF9zdGF0ZXNfYmFja3dhcmQpOiBGaXggdGhlIG1lbW9yeSBsZWFrLiAgUmVtb3ZlIHRoZSBoYW5kbGluZwoJT1BfQ09OVEVYVF9OT0RFLgoJKHVwZGF0ZV9jdXJfc2lmdGVkX3N0YXRlKTogQXBwZW5kIHNvbWUgaWYgY2xhdXNlIHRvIGF2b2lkIHJlZHVuZGFudAoJY2FsbC4KCShzdWJfZXBzaWxvbl9zcmNfbm9kZXMpOiBVc2UgSVNfRVBTSUxPTl9OT0RFIHNpbmNlIGl0IG1pZ2h0IGJlIGEKCWJhY2sgcmVmZXJlbmNlLgoJKGNoZWNrX2RzdF9saW1pdHMpOiBSZW1vdmUgdGhlIGhhbmRsaW5nIE9QX0NPTlRFWFRfTk9ERS4KCShjaGVja19zdWJleHBfbGltaXRzKTogTGlrZXdpc2UuCgkoc2VhcmNoX3N1YmV4cCk6IExpa2V3aXNlLgoJKHNpZnRfc3RhdGVzX2JrcmVmKTogTGlrZXdpc2UuCgkodHJhbnNpdF9zdGF0ZV9tYik6IExpa2V3aXNlLgoJKHRyYW5zaXRfc3RhdGVfYmtyZWZfbG9vcCk6IExpa2V3aXNlLgoJKHRyYW5zaXRfc3RhdGVfYmtyZWZfbG9vcCk6IExpa2V3aXNlLgoJKGdyb3VwX25vZGVzX2ludG9fREZBc3RhdGVzKTogTGlrZXdpc2UuCgkoY2hlY2tfbm9kZV9hY2NlcHQpOiBMaWtld2lzZS4KCShzaWZ0X2N0eF9pbml0KTogQWRkIGluaXRpYWxpemluZy4KCjIwMDItMTAtMTIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zeXNkZXAuaCAoSU5MSU5FX1NZU0NBTEwpOiBVc2UKCV9fYnVpbHRpbl9leHBlY3QuCgoyMDAyLTEwLTExICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9kbC1sb2FkLmMgKF9kbF9tYXBfb2JqZWN0X2Zyb21fZmQpOiBSZW1vdmUgdW5uZWNlc3NhcmlseQoJZHVwbGljYXRlZCB2YXJpYWJsZSBjLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2lnd2FpdC5jIChfX3NpZ3dhaXQpOiBVc2UgSU5URVJOQUxfU1lTQ0FMTAoJaWYgcG9zc2libGUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3N5c2RlcC5oCgkoSU5URVJOQUxfU1lTQ0FMTF9FUlJPUl9QKTogTmV3IGRlZmluZS4KCShJTlRFUk5BTF9TWVNDQUxMX0VSUk5PKTogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3Byb2ZpbC1jb3VudGVyLmggKHByb2ZpbF9jb3VudGVyKToKCUFkZCBoYWNrIHRvIHByZXZlbnQgdGhlIGNvbXBpbGVyIGZyb20gY2xvYmJlcmluZyB0aGUgc2lnbmFsIGNvbnRleHQuCgoyMDAyLTEwLTExICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L3N5c2RlcC5oIChTWVNDQUxMX0VSUk9SX0hBTkRMRVIpOgoJRml4IHR5cG9zLgoKCSogc3lzZGVwcy9nZW5lcmljL2RsLWxvb2t1cGNmZy5oOiBJbmNsdWRlIDx0bHMuaD4uCgkqIHN5c2RlcHMvc2gvZGwtbG9va3VwY2ZnLmg6IEZpbGUgcmVtb3ZlZC4KCSogc3lzZGVwcy9pMzg2L2RsLWxvb2t1cGNmZy5oOiBGaWxlIHJlbW92ZWQuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmggKFNZU0NBTExfRVJST1JfSEFORExFUik6IEFkZAoJbWlzc2luZyBsYWJlbHMgYW5kIDsgZnJvbSBsYXN0IGNoYW5nZS4KCgkqIHN0ZGlvLWNvbW1vbi90c3Qtc3NjYW5mLmMgKHZhbF9kb3VibGUpOiBBcHBlbmQgLjAgdG8gbGFyZ2Ugd2hvbGUKCW51bWJlciBsaXRlcmFscywgc28gdGhleSBhcmUgZG91YmxlcyBpbnN0ZWFkIG9mIGludHMuCgoyMDAyLTEwLTA5ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvbGliYy10c2QuaCBbVVNFX19fVEhSRUFEXTogQ29uZGl0aW9uYWwKCWNoYW5nZWQgZnJvbSBbVVNFX1RMUyAmJiBIQVZFX19fVEhSRUFEXS4KCgkqIHN5c2RlcHMvaTM4Ni9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX3R5cGVfY2xhc3MsIGVsZl9tYWNoaW5lX3JlbCk6CglEaXNhYmxlIFRMUyByZWxvY3MgaWYgW1JUTERfQk9PVFNUUkFQICYmICFVU0VfX19USFJFQURdLgoJKiBzeXNkZXBzL3g4Nl82NC9kbC1tYWNoaW5lLmgKCShlbGZfbWFjaGluZV90eXBlX2NsYXNzLCBlbGZfbWFjaGluZV9yZWxhKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc2gvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV90eXBlX2NsYXNzLCBlbGZfbWFjaGluZV9yZWxhKToKCUxpa2V3aXNlLgoKCSogaW5jbHVkZS9saW5rLmggKHN0cnVjdCBsaW5rX21hcCk6IFJlbW92ZSBtZW1iZXIgbF90bHNfdHBfaW5pdGlhbGl6ZWQuCgkqIGVsZi9ydGxkLmMgKF9kbF9zdGFydF9maW5hbCwgZGxfbWFpbik6IERvbid0IHVzZSBpdC4KCShfZGxfc3RhcnQpOiBDb25kaXRpb25hbGl6ZSBQVF9UTFMgY2hlY2sgb24gW1VTRV9fX1RIUkVBRF0uCgoJKiBzeXNkZXBzL2kzODYvZGwtdGxzLmggKF9fVExTX0dFVF9BRERSKTogVXNlIF9fX3Rsc19nZXRfYWRkcl9pbnRlcm5hbAoJaW5zdGVhZCBvZiBfX190bHNfZ2V0X2FkZHIuCgkoX19fdGxzX2dldF9hZGRyX2ludGVybmFsKTogQWRkIGF0dHJpYnV0ZV9oaWRkZW4gdG8gZGVjbC4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9sZHNvZGVmcy5oIChzdHJ1Y3QgcnRsZF9nbG9iYWwpOiBOZXcgdmFyaWFibGUKCV9kbF9lcnJvcl9jYXRjaF90c2QuCgkqIGVsZi9ydGxkLmMgKHN0YXJ0dXBfZXJyb3JfdHNkKTogTmV3IGZ1bmN0aW9uLgoJKGRsX21haW4pOiBQb2ludCBfZGxfZXJyb3JfY2F0Y2hfdHNkIGF0IHRoYXQuCgkqIGVsZi9kbC1lcnJvci5jOiBEb24ndCB1c2UgbGliYy10c2QuaCBmb3IgRExfRVJST1IsCgl1c2UgbmV3IGZ1bmN0aW9uIHBvaW50ZXIgaW5zdGVhZC4KCSogZWxmL2RsLXRzZC5jOiBOZXcgZmlsZS4KCSogZWxmL01ha2VmaWxlIChyb3V0aW5lcyk6IEFkZCBpdC4KCjIwMDItMTAtMDcgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtbWlzYy5jIChfZGxfZGVidWdfdmRwcmludGYpOiBVc2UgSU5URVJOQUxfU1lTQ0FMTCBtYWNybyBmb3IKCXdyaXRldiBpZiBpdCdzIGF2YWlsYWJsZS4gIE90aGVyd2lzZSBpZiBbUlRMRF9QUklWQVRFX0VSUk5PXSB0aGVuCgl0YWtlIF9kbF9sb2FkX2xvY2sgYXJvdW5kIGNhbGxpbmcgX193cml0ZXYuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3N5c2RlcC5oIChJTlRFUk5BTF9TWVNDQUxMKTogTmV3IG1hY3JvLgoJKElOTElORV9TWVNDQUxMKTogVXNlIHRoYXQuCgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtc3lzZGVwLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9kbC1zeXNkZXAuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9sZHNvZGVmcy5oOiBJbmNsdWRlIDxkbC1zeXNkZXAuaD4uCgkqIGluY2x1ZGUvZXJybm8uaCBbSVNfSU5fcnRsZF06IEluY2x1ZGUgPGRsLXN5c2RlcC5oPiB0byBkZWZpbmUgLi4uCglbUlRMRF9QUklWQVRFX0VSUk5PXTogVXNlIGEgaGlkZGVuIGdsb2JhbCB2YXJpYWJsZSBmb3IgZXJybm8gYW5kCglhY2Nlc3MgaXQgZGlyZWN0bHkuCgkqIGVsZi9kbC1taW5pbWFsLmMgKF9fZXJybm9fbG9jYXRpb24pOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvaTM4Ni9zeXNkZXAuUyAoX19zeXNjYWxsX2Vycm5vKSBbUlRMRF9QUklWQVRFX0VSUk5PXToKCVVzZSBHT1RPRkYgYWNjZXNzIGZvciBlcnJuby4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zeXNkZXAuaAoJW1JUTERfUFJJVkFURV9FUlJOT10gKFNZU0NBTExfRVJST1JfSEFORExFUik6IExpa2V3aXNlLgoKCSogc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuUyAoX19zeXNjYWxsX2Vycm5vKSBbUlRMRF9QUklWQVRFX0VSUk5PXToKCVVzZSBQQy1yZWxhdGl2ZSBhY2Nlc3MgZm9yIGVycm5vLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzZGVwLmgKCVtSVExEX1BSSVZBVEVfRVJSTk9dIChTWVNDQUxMX0VSUk9SX0hBTkRMRVIpOiBMaWtld2lzZS4KCgkqIGluY2x1ZGUvdGxzLmg6IE5ldyBmaWxlLgoJKFVTRV9fX1RIUkVBRCk6IE5ldyBtYWNyby4KCURlZmluZSB0byAxIHVuZGVyIFtVU0VfVExTICYmIEhBVkVfX19USFJFQURdIGFuZCBvbmx5IHdoZW4gY29tcGlsaW5nCglsaWJjIG9yIGxpYnB0aHJlYWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc3lzZGVwLmggW1VTRV9fX1RIUkVBRF06IENvbmRpdGlvbmFsCgljaGFuZ2VkIGZyb20gW1VTRV9UTFMgJiYgSEFWRV9fX1RIUkVBRF0uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9pMzg2L3N5c2RlcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3g4Nl82NC9zeXNkZXAuUzogTGlrZXdpc2UuCgkqIGluY2x1ZGUvZXJybm8uaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvbmV0ZGIuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvcmVzb2x2Lmg6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9nZW5lcmljL2Vycm5vLmM6IE5ldyBmaWxlLgoJKiBjc3UvTWFrZWZpbGUgKGF1eCk6IE5ldyB2YXJpYWJsZSwgbGlzdCBlcnJuby4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zeXNkZXAuUyAoZXJybm8sIF9lcnJubyk6IFJlbW92ZSBkZWZucy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9zeXNkZXAuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNkZXAuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9zeXNkZXAuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC0zMi9zeXNkZXAuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9zeXNkZXAuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2NyaXMvc3lzZGVwLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ocHBhL3N5c2RlcC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zeXNkZXAuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvc3lzZGVwLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zeXNkZXAuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3N5c2RlcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L2FscGhhL3N5c2RlcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL3N0YXJ0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3RhcnQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9hcm0vc3RhcnQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9ic2QvdWx0cml4NC9taXBzL3N0YXJ0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3BhcmMvc3RhcnQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2lyaXg0L3N0YXJ0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3N5c2RlcC5TOiBGaWxlIHJlbW92ZWQuCgoJKiBtYW51YWwvc2VhcmNoLnRleGkgKFRyZWUgU2VhcmNoIEZ1bmN0aW9uLCBIYXNoIFNlYXJjaCBGdW5jdGlvbik6CglNZW50aW9uIHNlYXJjaC5oIGNsZWFybHkuCgoyMDAyLTEwLTA1ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgoKCSogZWxmL2RsLWZ4c3RhdDY0LmM6IEZpbGUgcmVtb3ZlZC4KCSogZWxmL2RsLXhzdGF0NjQuYzogRmlsZSByZW1vdmVkLgoJKiBlbGYvTWFrZWZpbGUgKHJ0bGQtcm91dGluZXMpOiBSZW1vdmUgdGhlbS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveHN0YXQ2NC5jOiBSZW1vdmUgUlRMRF9TVEFUNjQgY29uZGl0aW9uYWxzLgoJSW5zdGVhZCwgdXNlIHN0cm9uZ19hbGlhcyBpbnN0ZWFkIG9mIHZlcnNpb25lZF9zeW1ib2wgaW4gdGhlCgkhU0hMSUJfQ09NUEFUIGNhc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2Z4c3RhdDY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9seHN0YXQ2NC5jOiBMaWtld2lzZS4KCgkqIGluY2x1ZGUvc2hsaWItY29tcGF0LmgKCShTSExJQl9DT01QQVQpOiBSZXF1aXJlIHRoYXQgSVNfSU5fIyNsaWIgYmUgZGVmaW5lZCBub256ZXJvLgoJWyEgTk9UX0lOX2xpYmNdIChJU19JTl9saWJjKTogRGVmaW5lIGl0LgoJKiBjcHBmbGFncy1pdGVyYXRvci5tayAoQ1BQRkxBR1MtJChjcHAtc3JjKSk6IFVzZSAtRHg9MSBub3QganVzdCAtRHguCgkqIGVsZi9NYWtlZmlsZSAoQ1BQRkxBR1MtLm9zKTogTGlrZXdpc2UuCgoJKiBzdW5ycGMvcnBjX21haW4uYyAobWFpbik6IERvbid0IGRlY2xhcmUgd2l0aCBub3JldHVybiBhdHRyaWJ1dGUuCglSZXR1cm4gdGhlIHN0YXR1cyBpbnN0ZWFkIG9mIGNhbGxpbmcgZXhpdC4KCgkqIE1ha2Vjb25maWcgKENGTEFHUyk6IFByZXBlbmQgLXN0ZD1nbnU5OS4KCSogTWFrZXJ1bGVzICgrbWFrZS1kZXBzKTogVXNlICQoQ0ZMQUdTKSBvbmx5IGZvciAuYyBzb3VyY2VzLgoJUmVtb3ZlIHN1cGVyZmx1b3VzIHJtIGNvbW1hbmQsIHdob3NlIEAgcGx1cyBtYWtlIGJ1Z3MgaGlkCglhbGwgdGhlc2UgY29tbWFuZHMgZnJvbSB0aGUgbWFrZSBvdXRwdXQuCgoJKiBpbmNsdWRlL3N0dWJzLXByb2xvZ3VlLmg6IE5ldyBmaWxlLiAgR2l2ZSAjZXJyb3IgdW5kZXIgI2lmZGVmIF9MSUJDLgoJKiBNYWtlZmlsZSAoJChpbnN0X2luY2x1ZGVkaXIpL2dudS9zdHVicy5oKTogRGVwZW5kIG9uIGl0LgoJVXNlIHRoYXQgZmlsZSdzIGNvbnRlbnRzIGluc3RlYWQgb2YgbGl0ZXJhbCBlY2hvJ3MgZm9yIHRoZSBwcm9sb2d1ZS4KCSogaW5jbHVkZS9mZWF0dXJlcy5oOiBJbmNsdWRlIDxnbnUvc3R1YnMuaD4gdW5jb25kaXRpb25hbGx5LgoJKiBpbmNsdWRlL2dudS9zdHVicy5oOiBOZXcgZmlsZS4KCjIwMDItMDktMzAgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CgoJKiBlbGYvcnRsZC1SdWxlczogTmV3IGZpbGUuCgkqIGVsZi9NYWtlZmlsZSAoJChvYmpwZngpbGlicnRsZC5tYXAsICQob2JqcGZ4KWxpYnJ0bGQubWssCgkkKG9ianBmeClydGxkLWxpYmMuYSk6IE5ldyB0YXJnZXRzLgoJKGdlbmVyYXRlZCk6IEFkZCB0aGVtLgoJKHJlbG9jLWxpbmspOiBSZW1vdmUgLW8gJEAgZnJvbSB0aGUgdmFyaWFibGUuCgkoJChvYmpwZngpZGwtYWxsb2Jqcy5vcyk6IEFkZCAtbyAkQCBhZnRlciAkKHJlbG9jLWxpbmspLgoJKGRpc3RyaWJ1dGUpOiBBZGQgcnRsZC1SdWxlcy4KCShDUFBGTEFHUy0ub3MpOiBEZWZpbmUgdGhpcyBpbnN0ZWFkIG9mIENGTEFHUy0ub3MuCgkqIE1ha2VydWxlcyAoJCgrc3lzZGlyX3BmeClzeXNkLXJ1bGVzKTogRW1pdCBydWxlcyBmb3IgcnRsZC0lIHRhcmdldHMuCgkoY29tbW9uLW1vc3RseWNsZWFuLCBjb21tb24tY2xlYW4pOiBDbGVhbiB1cCBydGxkLSogZmlsZXMuCgkqIHN5c2RlcHMvdW5peC9tYWtlLXN5c2NhbGxzLnNoOiBBZGQgcnRsZC0qLm9zIHRhcmdldCBuYW1lIHRvIHJ1bGVzLgoKMjAwMy0wNS0yMCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBlbGYvZHluYW1pYy1saW5rLmggKGVsZl9nZXRfZHluYW1pY19pbmZvKTogQWRkIHRlbXAgYXJndW1lbnQuCglJZiB0ZW1wICE9IE5VTEwsIGNvcHkgZHluYW1pYyBlbnRyaWVzIHdoaWNoIG5lZWQgcmVsb2NhdGlvbiB0byB0ZW1wCglhcnJheSBiZWZvcmUgcmVsb2NhdGluZy4KCShETF9ST19EWU5fVEVNUF9DTlQpOiBEZWZpbmUuCgkqIGVsZi9kbC1sb2FkLmMgKF9kbF9tYXBfb2JqZWN0X2Zyb21fZmQpOiBBZGp1c3QgY2FsbGVyLgoJKiBlbGYvcnRsZC5jIChfZGxfc3RhcnQpOiBMaWtld2lzZS4KCShkbF9tYWluKTogTGlrZXdpc2UuICBBZGQgZHluX3RlbXAgc3RhdGljIHZhcmlhYmxlLgoKMjAwMi0xMC0xMSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC10bHMuYyAoX190bHNfZ2V0X2FkZHIpOiBBZnRlciBmcmVlaW5nIGJsb2NrIGluCglub3ctdW51c2VkIGR0diBzbG90LCByZXNldCB0aGUgc2xvdCB0byBUTFNfRFRWX1VOQUxMT0NBVEVELgoKCSogZWxmL3Rscy1tYWNyb3MuaCBbX194ODZfNjRfX10gKFRMU19HRCk6IEZpeCB0aGUgc2VxdWVuY2Ugd2l0aCB0aGUKCXByb3BlciBzZXQgb2Ygbm8tb3AgaW5zbiBwcmVmaXhlcy4KCgkqIGVsZi90c3QtdGxzOC5jIChkb190ZXN0KTogVXNlICV6ZCBmb3JtYXQgZm9yIGxfdGxzX21vZGlkIG1lbWJlcnMuCgoyMDAyLTEwLTExICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2V4ZWN2ZS5jOiBEb24ndCB0cnkgY2FsbGluZwoJX19wdGhyZWFkX2tpbGxfb3RoZXJfdGhyZWFkc19ucC4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9wc2VsZWN0LmM6IEF2b2lkIHVubmVjZXNzYXJ5IHNpZ3Byb2NtYXNrIGNhbGxzLgoKMjAwMi0xMC0wOCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9uZXdsb2NhbGUuYyAoX19uZXdsb2NhbGUpOiBJZiBzZXR0aW5nIGFsbCBjYXRlZ29yaWVzIHRvICJDIiwKCWp1c3QgcmV0dXJuICZfbmxfQ19sb2NvYmogaW5zdGVhZCBvZiBjb3B5aW5nIGl0LgoJKiBsb2NhbGUvZnJlZWxvY2FsZS5jIChfX2ZyZWVsb2NhbGUpOiBDaGVjayBmb3IgJl9ubF9DX2xvY29iai4KCSogbG9jYWxlL2R1cGxvY2FsZS5jIChfX2R1cGxvY2FsZSk6IExpa2V3aXNlLgoKMjAwMi0xMC0wNyAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAZnJvYi5jb20+CgoJKiBjb25maWcuaC5pbiAoSEFWRV9JMzg2X1NFVF9HRFQpOiBOZXcgI3VuZGVmLgoJKiBzeXNkZXBzL21hY2gvY29uZmlndXJlLmluOiBEZWZpbmUgaXQgd2l0aCBuZXcgY2hlY2sgZm9yIGkzODZfc2V0X2dkdC4KCSogc3lzZGVwcy9tYWNoL2NvbmZpZ3VyZTogUmVnZW5lcmF0ZWQuCgoyMDAyLTEwLTA2ICBGcmFueiBTaXJsICA8RnJhbnouU2lybC1rZXJuZWxAbGF1dGVyYmFjaC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGMzMi9zeXNkZXAuaCAoSU5MSU5FX1NZU0NBTEwpOgoJQWRkIGFsbCBuZWNlc3NhcnkgcmVnaXN0ZXIgb3V0cHV0cyBmb3Igc3lzY2FsbC1jbG9iYmVyZWQgcmVnaXN0ZXJzLgoKMjAwMi0xMC0wMiAgRGF2aWQgTW9zYmVyZ2VyICA8ZGF2aWRtQGhwbC5ocC5jb20+CgoJKiBzeXNkZXBzL2lhNjQvYnplcm8uUzogUmV3cml0dGVuIGJ5IFN2ZXJyZSBKYXJwIHRvIHR1bmUgZm9yCglJdGFuaXVtIDIgKGFuZCBJdGFuaXVtKS4KCUZpeCB1bndpbmQgZGlyZWN0aXZlcyBhbmQgbWFrZSBpdCBmaXQgaW4gODAgY29sdW1ucy4KCSogc3lzZGVwcy9pYTY0L21lbXNldC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pYTY0L21lbWNweS5TOiBMaWtld2lzZS4KCU1vdmUganVtcCB0YWJsZSB0byAucm9kYXRhIHNlY3Rpb24uCgoyMDAyLTEwLTAzICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEBmcm9iLmNvbT4KCgkqIHN5c2RlcHMvbWFjaC9odXJkL2kzODYvaW5pdC1maXJzdC5jIChfaHVyZF9zdGFja19zZXR1cCk6IEFkZAoJY2xvYmJlcnMgdG8gYXNtLgoKMjAwMi0xMC0xMCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy94ODZfNjQvX21jb3VudC5TOiBSZXN0b3JlIGNvcnJlY3QgcmVnaXN0ZXJzLgoKMjAwMi0xMC0xMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9WZXJzaW9ucyAobGliYykgW0dMSUJDX1BSSVZBVEVdOiBBZGQgX19wc2VsZWN0LgoKMjAwMi0xMC0wOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvbGRzb2RlZnMuaDogUmVtb3ZlIGF0dHJpYnV0ZV9oaWRkZW4gZnJvbQoJX2RsX2FsbG9jYXRlX3Rsc19pbml0LiAgQWRkIHJ0bGRfaGlkZGVuX3Byb3RvLgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtdGxzLmMgKF9kbF9hbGxvY2F0ZV90bHNfaW5pdCk6IEFkZAoJcnRsZF9oaWRkZW5fZGVmLgoJKiBlbGYvVmVyc2lvbnMgKGxkKSBbR0xJQkNfUFJJVkFURV06IEFkZCBfZGxfYWxsb2NhdGVfdGxzX2luaXQuCgoJKiB2ZXJzaW9uLmggKFZFUlNJT04pOiBCdW1wIHRvIDIuMy4xLgoKCSogTWFrZS1kaXN0OiBBZGQgYmFjayBvbmUgb2YgdGhlIHRhciBpbnZvY2F0aW9ucyByZW1vdmVkIGJlZm9yZS4KCgkqIHN0ZGxpYi9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCBhbGxvY2FsaW0uaC4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL2xpYmMtdHNkLmggWyEoVVNFX1RMUyAmJiBIQVZFX19fVEhSRUFEKV0KCShfX2xpYmNfdHNkX2FkZHJlc3MpOiBVc2UgY29ycmVjdCB2YXJpYWJsZSBuYW1lLgoJUGF0Y2ggYnkgU3RlZmFuIEpvbmVzIDxzdGVmYW4uam9uZXNAbXVsdGlnaWcuY29tPi4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvZ2V0Y29udGV4dC5TOiBBZGQgbWlzc2luZyA7Oy4KCVJlcG9ydGVkIGJ5IGVkd2FyZHNnQHNnaS5jb20gW1BSIGxpYmMvNDY3OF0uCgoJKiBWZXJzaW9ucy5kZWYgKGxpYmMpOiBBZGQgR0xJQkNfMi4zLjEuCgkobGlicHRocmVhZCk6IEFkZCBHTElCQ18yLjMuMS4KCgkqIGluY2x1ZGUvc2lnbmFsLmg6IEFkZCBsaWJjX2hpZGRlbl9wcm90byBmb3IgX19zaWd3YWl0LCBfX3NpZ3dhaXRpbmZvLAoJYW5kIF9fc2lndGltZWR3YWl0LgoJKiBzaWduYWwvVmVyc2lvbnM6IEFkZCBfX3NpZ3RpbWVkd2FpdCwgX19zaWd3YWl0LCBhbmQgX19zaWd3YWl0aW5mby4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2lndGltZWR3YWl0LmMgKF9fc2lndGltZWR3YWl0KTogQWRkCglsaWJjX2hpZGRlbl9kZWYuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NpZ3dhaXQuYyAoX19zaWd3YWl0KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NpZ3dhaXRpbmZvLmMgKF9fc2lnd2FpdGluZm8pOiBMaWtld2lzZS4KCgkqIGluY2x1ZGUvc3lzL21zZy5oOiBEZWNsYXJlIF9fbGliY19tc2dyY3YgYW5kIF9fbGliY19tc2dzbmQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21zZ3Jjdi5jIChfX21zZ3Jjdik6IFJlbmFtZSB0byBfX2xpYmNfbXNncmN2CglhbmQgbWFrZSBvbGQgbmFtZSBhbiBhbGlhcy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbXNnc25kLmMgKF9fbXNnc25kKTogUmVuYW1lIHRvIF9fbGliY19tc2dzbmQKCWFuZCBtYWtlIG9sZCBuYW1lIGFuIGFsaWFzLgoJKiBzeXN2aXBjL1ZlcnNpb25zIChsaWJjKSBbR0xJQkNfUFJJVkFURV06IEFkZCBfX2xpYmNfbXNncmN2IGFuZAoJX19saWJjX21zZ3NuZC4KCgkqIGluY2x1ZGUvc3lzL3Vpby5oOiBEZWNsYXJlIF9fbGliY19yZWFkdiBhbmQgX19saWJjX3dyaXRldi4KCSogbWlzYy9WZXJzaW9ucyAobGliYykgW0dMSUJDX1BSSVZBVEVdOiBBZGQgX19saWJjX3JlYWR2IGFuZAoJX19saWJjX3dyaXRldi4KCSogc3lzZGVwcy9nZW5lcmljL3JlYWR2LmMgKF9fcmVhZHYpOiBSZW5hbWUgdG8gX19saWJjX3JlYWR2IGFuZCBtYWtlCglvbGQgbmFtZSBhbiBhbGlhcy4KCSogc3lzZGVwcy9wb3NpeC9yZWFkdi5jOiBMaWtld2lzZQoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvcmVhZHYuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3JlYWR2LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvd3JpdGV2LmMgKF9fd3JpdGV2KTogUmVuYW1lIHRvIF9fbGliY193cml0ZXYgYW5kIG1ha2UKCW9sZCBuYW1lIGFuIGFsaWFzLgoJKiBzeXNkZXBzL3Bvc2l4L3dyaXRldi5jOiBMaWtld2lzZQoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvd3JpdGV2LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC93cml0ZXYuYzogTGlrZXdpc2UuCgoJKiBpbmNsdWRlL3N5cy93YWl0Lmg6IERlY2xhcmUgX193YWl0aWQuCgkqIHBvc2l4L1ZlcnNpb25zIChsaWJjKSBbR0xJQkNfUFJJVkFURV06IEFkZCBfX3dhaXRpZC4KCSogc3lzZGVwcy9nZW5lcmljL3dhaXRpZC5jICh3YWl0aWQpOiBSZW5hbWUgdG8gX193YWl0aWQgYW5kIG1ha2Ugb2xkCgluYW1lIGFuIGFsaWFzLgoJKiBzeXNkZXBzL3Bvc2l4L3dhaXRpZC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3dhaXRpZC5jOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5c2NhbGxzLmxpc3Q6IEFkZCBjcmVhdCBzeXNjYWxsLgoKMjAwMi0xMC0wNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2FsbG9jYS5oIChfX2xpYmNfdXNlX2FsbG9jYSwgX19saWJjX2FsbG9jYV9jdXRvZmYpOiBOZXcKCXByb3RvdHlwZXMuCgkoX19NQVhfQUxMT0NBX0NVVE9GRik6IERlZmluZS4KCUluY2x1ZGUgYWxsb2NhbGltLmguCgkqIHJlc29sdi9uc3NfZG5zL2Rucy1ob3N0LmMgKF9uc3NfZG5zX2dldGhvc3RieW5hbWUyX3IsCglfbnNzX2Ruc19nZXRob3N0YnlhZGRyX3IpOiBVc2UgYWxsb2NhIG9yIG1hbGxvYyB0byBhbGxvY2F0ZQoJaG9zdF9idWZmZXIgZGVwZW5kaW5nIG9uIF9fbGliY191c2VfYWxsb2NhLgoJKiByZXNvbHYvbnNzX2Rucy9kbnMtbmV0d29yay5jIChfbnNzX2Ruc19nZXRuZXRieW5hbWVfciwKCV9uc3NfZG5zX2dldG5ldGJ5YWRkcl9yKTogVXNlIGFsbG9jYSBvciBtYWxsb2MgdG8gYWxsb2NhdGUKCW5ldF9idWZmZXIgZGVwZW5kaW5nIG9uIF9fbGliY191c2VfYWxsb2NhLgoJKiByZXNvbHYvcmVzX3F1ZXJ5LmMgKHJlc19ucXVlcnkpOiBVc2UgYWxsb2NhIG9yIG1hbGxvYyB0byBhbGxvY2F0ZQoJYnVmIGRlcGVuZGluZyBvbiBfX2xpYmNfdXNlX2FsbG9jYS4KCSogcmVzb2x2L2dldGhuYW1hZGRyLmMgKGdldGhvc3RieW5hbWUyLCBnZXRob3N0YnlhZGRyKTogTGlrZXdpc2UuCgkqIHN0ZGlvLWNvbW1vbi92ZnByaW50Zi5jICh2ZnByaW50Zik6IFVzZSBfX2xpYmNfdXNlX2FsbG9jYQoJaW5zdGVhZCBvZiBoYXJkY29kZWQgY29uc3RhbnRzLgoJUGFzcyBwcm9wZXIgc2l6ZSBhcmd1bWVudCB0byBhbGxvY2EgYW5kIGNvbXB1dGUgZW5kIGZvciB3aWRlIGNoYXIKCXZlcnNpb24uCgkqIHN0ZGlvLWNvbW1vbi9wcmludGZfZnAuYyAoX19wcmludGZfZnApOiBVc2UgX19saWJjX3VzZV9hbGxvY2EKCWluc3RlYWQgb2YgaGFyZGNvZGVkIGNvbnN0YW50cy4KCSogc3RyaW5nL3N0cmNvbGwuYyAoc3RyY29sbCk6IExpa2V3aXNlLgoJKiBzdHJpbmcvc3RyeGZybS5jIChzdHJ4ZnJtKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG9zaXgvcmVhZHYuYyAoX19yZWFkdik6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvc2l4L3dyaXRldi5jIChfX3dyaXRldik6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvYWxsb2NhbGltLmg6IE5ldyBmaWxlLgoKMjAwMi0xMC0wOCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5pbiAoYXV4X21pc3Npbmcgd2FybmluZyk6IENoYW5nZSAidG9vIG9sZCIgdG8KCSJpbmNvbXBhdGlibGUgdmVyc2lvbnMiLCBzaW5jZSBmb3IgYXV0b2NvbmYgaXQncyAidG9vIG5ldyIgcmlnaHQgbm93LgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGVkLgoKCSogY29uZmlndXJlLmluIChBVVRPQ09ORik6IE5ldyBjaGVjayB0byBzZXQgaXQuICBTZXQgdG8gIm5vIiBpZiB0aGUKCW9uZSBmb3VuZCBkb2Vzbid0IHdvcmsgb24gb3VyIGNvbmZpZ3VyZS5pbi4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlZC4KCSogY29uZmlnLm1ha2UuaW4gKEFVVE9DT05GKTogTmV3IHN1YnN0aXR1dGVkIHZhcmlhYmxlLgoJKiBNYWtlZmlsZSAoYXV0b2NvbmYtaXQtY3ZzKTogTmV3IGNhbm5lZCBzZXF1ZW5jZSwgYnJva2VuIG91dCBvZiAuLi4KCShhdXRvY29uZi1pdCk6IC4uLiBoZXJlLCB1c2UgdGhhdCBpbnN0ZWFkIG9mIGRlZmluaW5nIGNvbmRpdGlvbmFsbHkuCglVc2UgJChBVVRPQ09ORikgaW5zdGVhZCBvZiBsaXRlcmFsIGF1dG9jb25mLgoJWyQoQVVUT0NPTkYpICE9IG5vXSAoY29uZmlndXJlLCAlL2NvbmZpZ3VyZSk6IFByb3RlY3QgdGhlc2UgcnVsZXMKCXdpdGggdGhpcyBjb25kaXRpb24uCgkqIE1ha2UtZGlzdCAoYXV0b2NvbmYtaXQsIGNvbmZpZ3VyZSwgJS9jb25maWd1cmUpOiBDb3B5IHRob3NlIGNoYW5nZXMuCgoyMDAyLTEwLTA4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIE1ha2UtZGlzdCAoZGlzdCk6IENsZWFudXAgYSBiaXQuICBXZSBhcmUgbm90IGludGVyZXN0ZWQgaW4gdGhlCgkxNCBjaGFyIGZpbGVuYW1lIGxpbWl0IGFueW1vcmUuICBSZW1vdmUgaW50ZXJtZWRpYXRlIGZpbGVzIGFuZAoJc3ltbGlua3MuCgoyMDAyLTEwLTA1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHBvL3NrLnBvOiBVcGRhdGUgZnJvbSB0cmFuc2xhdGlvbiB0ZWFtLgoJKiBwby90ci5wbzogTGlrZXdpc2UuCgkqIHBvL2dsLnBvOiBMaWtld2lzZS4KCjIwMDItMTAtMDUgIEtheiBLb2ppbWEgIDxra29qaW1hQHJyLmlpajR1Lm9yLmpwPgoKCSogZWxmL3Rscy1tYWNyb3MuaDogRml4IFNIIHZlcnNpb24gb2YgbWFjcm9zIHNvIGFzIHRvIG1hdGNoIEFCSSBzeW50YXguCgoyMDAyLTEwLTAzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHZlcnNpb24uaCAoUkVMRUFTRSk6IENoYW5nZSB0byBzdGFibGUuCgoyMDAyLTEwLTAzICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L19leGl0LmMgKF9fc3lzY2FsbF9leGl0LAoJX19zeXNjYWxsX2V4aXRfZ3JvdXApOiBOZXcgcHJvdG90eXBlcy4KCjIwMDItMTAtMDMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZ2xpYmMgMi4zIHJlbGVhc2VkLgoKClNlZSBDaGFuZ2VMb2cuMTMgZm9yIGVhcmxpZXIgY2hhbmdlcy4K