MjAwMC0xMS0wOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiB2ZXJzaW9uLmggKFZFUlNJT04pOiBCdW1wIHRvIDIuMi4KCShSRUxFQVNFKTogU2V0IHRvIHN0YWJsZS4KCgkqIHBvc2l4L01ha2VmaWxlICh0c3QtZGlyLUFSR1MpOiBGaXggcHJvYmxlbSB3aXRoIGNvbXBpbGluZyBpbgoJc291cmNlIGRpcmVjdG9yeS4KCSh0c3QtY2htb2QtQVJHUyk6IExpa2V3aXNlLgoKMjAwMC0xMS0wOSAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogaW8vVmVyc2lvbnMgKEdMSUJDXzIuMik6IEFkZCBfX29wZW42NC4KCjIwMDAtMTEtMDkgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogbG9jYWxlL0MtdGltZS5jIChfbmxfQ19MQ19USU1FKTogRml4IHZhbHVlIGZvciBfTkxfVElNRV9XRUVLXzFTVFdFRUsuCgoyMDAwLTExLTA5ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1wYXBlci5jIChwYXBlcl9vdXRwdXQpOiBGaXggb2Zmc2V0IGludG8gd2lkdGgKCWZpZWxkLgoKMjAwMC0xMC0yNyAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogbG9jYWxlL3Byb2dyYW1zL2NoYXJtYXAuYyAoY2hhcm1hcF9yZWFkKTogVmVyaWZ5IEFTQ0lJCgljb21wYXRpYmlsaXR5IG9mIGNoYXJtYXAuCgoyMDAwLTExLTA4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGNhdGdldHMvZ2VuY2F0LmMgKG1haW4pOiBEb24ndCB1c2UgZXhpdCgpIHRvIGF2b2lkIHdhcm5pbmdzIHdpdGgKCWJyb2tlbiBjb21waWxlcnMuCgoJKiBpbmNsdWRlL2ZlYXR1cmVzLmggKF9fU1REQ19JU09fMTA2NDZfXyk6IENvcnJlY3QgdmFsdWUgdG8gYmUKCTIwMDAwOUwuICBQYXRjaCBieSBNYXJrdXMgS3VobiA8TWFya3VzLkt1aG5AY2wuY2FtLmFjLnVrPi4KCjIwMDAtMTEtMDggIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIHB3ZC9WZXJzaW9ucyAoR0xJQkNfMi4xLjIpOiBBZGQgZ2V0cHduYW1fci4KCjIwMDAtMTEtMDggIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3RyaW5nL2JpdHMvc3RyaW5nMi5oOiBDaGVjayBpZiBfVVNFX1NUUklOR19BUkNIXyBtYWNyb3MgYXJlCglkZWZpbmVkLCBub3QgX0hBVkVfU1RSSU5HX0FSQ0hfLgoJKiBzeXNkZXBzL2kzODYvYml0cy9zdHJpbmcuaCAoX1VTRV9TVFJJTkdfQVJDSF9tZW1zZXQsCglfVVNFX1NUUklOR19BUkNIX3N0cmNocik6IERlZmluZS4KCSogc3lzZGVwcy9pMzg2L2k0ODYvYml0cy9zdHJpbmcuaCAoX1VTRV9TVFJJTkdfQVJDSF9tZW1zZXQsCglfVVNFX1NUUklOR19BUkNIX3N0cmNocik6IERlZmluZS4KCSogc3lzZGVwcy9zcGFyYy9iaXRzL3N0cmluZy5oOiBOZXcgZmlsZS4KCjIwMDAtMTEtMDggIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGxvY2FsZS9DLXRyYW5zbGl0LmguaW46IFR3ZWFrIDxVMjAxND4gcmVzdWx0LgoJKiBsb2NhbGUvQy10cmFuc2xpdC5oOiBSZWdlbmVyYXRlZC4KCjIwMDAtMTEtMDggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvdW5pc3RkLmg6IEFkZCBhdHRyaWJ1dGUoKGNvbnN0KSkgdG8gc3lzY29uZiBwcm90b3R5cGUuCgoJKiBpY29udmRhdGEvZXVjLWtyLmMgKGV1Y2tyX2Zyb21fdWNzNCk6IE1hcCAweDIwYTkgdG8gXHhhM2RjLgoJKEJPRFkgZnJvbSBkaXJlY3Rpb24pOiBSZW1vdmUgc3BlY2lhbCBoYW5kbGluZyBvZiBceDVjLgoJKiBpY29udmRhdGEvRVVDLUtSLmlycmV2ZXJzaWJsZTogQWRqdXN0IGZvciB0aGlzIGNoYW5nZS4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0VVQy1LUi4uVVRGODogTGlrZXdpc2UuCglSZXBvcnRlZCBieSBKdW5nc2hpayBTaGluIDxqc2hpbkBwYW50aGVvbi55YWxlLmVkdT4uCgoyMDAwLTExLTA3ICBLYXp1bW90byBLb2ppbWEgIDxra29qaW1hQHJyLmlpajR1Lm9yLmpwPgoKCSogc3lzZGVwcy9zaC9zaDMvc2V0am1wLlMgKF9fc2lnc2V0am1wKTogU2tpcCBGUFUgZmllbGRzLgoKMjAwMC0xMS0wNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udmRhdGEvYmlnNS5jOiBSZWdlbmVyYXRlZCBhZnRlciBCSUc1IGNoYXJtYXAgY2hhbmdlLgoJUGF0Y2ggYnkgVHVuZy1IYW4gSHNpZWggPHRoaHNpZWhAdHdjcHJvLnBoeXMubnR1LmVkdS50dz4uCgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtY2FjaGUuYyAoX2RsX2xvYWRfY2FjaGVfbG9va3VwKTogRml4IHR5cG8gaW4KCWNvbXBhcmlzb24gd2l0aCBuZXcgY2FjaGUgbWFnaWMgYnl0ZXMuCglQYXRjaCBieSBEZW5pcyBaYWl0c2V2IDx6enpAY2QtY2x1Yi5ydT4uCgoyMDAwLTExLTAzICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBsb2NhbGUvQy10cmFuc2xpdC5oLmluOiBVcGRhdGUgZnJvbSB0cmFuc2xpdF9uZXV0cmFsLgoJKiBsb2NhbGUvQy10cmFuc2xpdC5oOiBSZWdlbmVyYXRlZC4KCSogaW50bC90c3QtdHJhbnNsaXQuYzogVXBkYXRlLgoKMjAwMC0xMS0wNCAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBzeXNkZXBzL21hY2gvaHVyZC9EaXN0OiBSZW1vdmUgY2xrX3Rjay5jLgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvVmVyc2lvbnMgW2xpYmNdIChHTElCQ18yLjEuMSk6IFJlbW92ZQoJX19saWJjX2Nsa190Y2suCgkqIHN5c2RlcHMvbWFjaC9odXJkL01ha2VmaWxlIFskKHN1YmRpcik9PXBvc2l4XSAoc3lzZGVwX3JvdXRpbmVzKToKCVJlbW92ZSBjbGtfdGNrLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9jbGtfdGNrLmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvbWFjaC9odXJkL2dldGNsa3Rjay5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9tYWNoL2h1cmQvc2V0aXRpbWVyLmMgKHF1YW50aXplX3RpbWV2YWwpOiBVc2UKCV9fZ2V0Y2xrdGNrIGluc3RlYWQgb2YgX19saWJjX2Nsa190Y2suCgkqIHN5c2RlcHMvbWFjaC9odXJkL2JpdHMvdGltZS5oOiBVc2UgX19zeXNjb25mIGZvciBDTEtfVENLIGluc3RlYWQKCW9mIF9fbGliY19jbGtfdGNrLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9pMzg2L2JpdHMvdGltZS5oOiBMaWtld2lzZS4KCjIwMDAtMTEtMDMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvVmVyc2lvbnM6IEV4cG9ydCBfX3N5c2NvbmYuCgoyMDAwLTExLTAyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHZlcnNpb24uaCAoVkVSU0lPTik6IEJ1bXAgdG8gMi4xLjk3LgoKCSogaWNvbnZkYXRhL01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIHZpc2NpaS5jLgoKCSogZWxmL01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIHRzdC1wYXRob3B0LnNoLgoKCSogc3lzZGVwcy9pMzg2L2k0ODYvYml0cy9zdHJpbmcuaCAoc3RyY21wKTogQ2FzdCBhcmd1bWVudHMgdG8KCV9fc3RyY21wX2NjLCBfX3N0cmNtcF9jZywgYW5kIF9fc3RyY21wX2djIHRvIHVuc2lnbmVkIGNoYXIgKi4KCShfX3N0cmNtcF9jYywgX19zdHJjbXBfY2csIF9fc3RyY21wX2djKTogUmVtb3ZlIGNhc3RzIG9mIHZhbHVlcyBoZXJlLgoJUmVwb3J0ZWQgYnkgRGVuaXMgWmFpdHNldiA8enp6QGNkLWNsdWIucnU+LgoKCSogaWNvbnZkYXRhL3V0Zi0xNi5jIChQUkVQQVJFX0xPT1ApOiBDb3JyZWN0IHR5cG8gcHJldmVudGluZyBCT00gZnJvbQoJYmVpbmcgd3JpdHRlbi4KCgkqIG1hbnVhbC9zb2NrZXQudGV4aSAoTG9jYWwgTmFtZXNwYWNlIENvbmNlcHRzKTogRG9uJ3QgbWVudGlvbiB3aGF0CglwZXJtaXNzaW9ucyBhcmUgbmVjZXNzYXJ5IHRvIGNvbm5lY3QgdG8gYSBzb2NrZXQuCglSZXBvcnRlZCBieSBQZXRlciBFaXNlbnRyYXV0IDxwZXRlcl9lQGdteC5uZXQ+LgoKCSogc3lzZGVwcy9nZW5lcmljL2JhY2t0cmFjZXN5bXMuYyAoX19iYWNrdHJhY2Vfc3ltYm9scyk6IEZpeAoJY29tcHV0YXRpb24gb2YgdG90YWwgZm9yIDY0LWJpdCBtYWNoaW5lcy4KCVBhdGNoIGJ5IEJ5cm9uIFN0YW5vc3playA8Z2FuZGFsZkB3aW5kcy5vcmc+LgoKCSogbWFudWFsL2FyaXRoLnRleGkgKFJvdW5kaW5nKTogQ29ycmVjdCBkZXNjcmlwdGlvbiBvZiBmZXNldHJvdW5kCglyZXR1cm4gdmFsdWUuICBQYXRjaCBieSBDb25yYWRvIEJhZGVuYXMgPENvbnJhZG8uQmFkZW5hc0B1di5lcz4uCgoyMDAwLTEwLTMwICBNYWNpZWogVy4gUm96eWNraSAgPG1hY3JvQGRzMi5wZy5nZGEucGw+CgoJKiBzeXNkZXBzL21pcHMvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9yZWwpOiBBZGQgdGhlIHN5bWJvbCdzCgl2YWx1ZSBwbHVzIHRoZSBydW4tdGltZSBkaXNwbGFjZW1lbnQgdG8gdGhlIHJlbG9jYXRpb24gZm9yIG5vbi1HT1QKCXN5bWJvbHMuICBTZXQgdGhlIHJlbG9jYXRpb24gdG8gdGhlIEdPVCBlbnRyeSBmb3IgR09UIHN5bWJvbHMuCgoyMDAwLTExLTAyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvYml0cy90aW1lLmg6IFJlbW92ZWQuCgoyMDAwLTExLTAxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252ZGF0YS9URVNUUzogQWRkIGVudHJpZXMgZm9yIElCTTg1NiwgSUJNOTMwLCBJQk05MzMsIElCTTkzNSwKCUlCTTkzNywgSUJNOTM5LCBhbmQgSUJNMTA0Ni4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0lCTTEwNDY6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvdGVzdGRhdGEvSUJNOTMwLi5VVEY4OiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0lCTTEwNDYuLlVURjg6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvdGVzdGRhdGEvSUJNOTMzOiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0lCTTkzNTogTmV3IGZpbGUuCgkqIGljb252ZGF0YS90ZXN0ZGF0YS9JQk05Mzc6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvdGVzdGRhdGEvSUJNODU2Li5VVEY4OiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0lCTTkzOTogTmV3IGZpbGUuCgkqIGljb252ZGF0YS90ZXN0ZGF0YS9JQk05MzMuLlVURjg6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvdGVzdGRhdGEvSUJNOTM1Li5VVEY4OiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0lCTTkzMDogTmV3IGZpbGUuCgkqIGljb252ZGF0YS90ZXN0ZGF0YS9JQk04NTY6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvdGVzdGRhdGEvSUJNOTM3Li5VVEY4OiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0lCTTkzOS4uVVRGODogTmV3IGZpbGUuCglDb250cmlidXRlZCBieSBNYXNhaGlkZSBXYXNoaXphd2EgPHdhc2hpQHlhbWF0by5pYm0uY28uanA+LgoKMjAwMC0xMS0wMSAgTWFydGluIEJ1Y2hob2x6ICA8bWFydGluQHhlbWFjcy5vcmc+CgoJKiBtYW51YWwvbWVtb3J5LnRleGkgKEhvb2tzIGZvciBNYWxsb2MpOiBGaXggYGNhbGxlcicgYXJnIGRvY3MgdG8KCWFncmVlIHdpdGggaW1wbGVtZW50YXRpb24uCgoyMDAwLTExLTAxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvdGltZS5oIChDTEtfVENLKTogQ2FzdCBzeXNjb25mIHJlc3VsdAoJdG8gX19jbG9ja190LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9iaXRzL3RpbWUuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvYml0cy90aW1lLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvdGltZS5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9iaXRzL3RpbWUuaDogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3NvY2tldC5oIChDTVNHX0FMSUdOKTogQ2FzdCByZXN1bHQKCW9mIHVuYXJ5IH4gdG8gc2l6ZV90LgoKCSogc3RkbGliL3N0cnRvZC5jOiBNYWtlIGdjYyBzaHV0IHVwIGFib3V0IFNXQVAgdXNlLgoKCSogc3lzZGVwcy9pMzg2L2ZwdS9iaXRzL21hdGhpbmxpbmUuaDogQWRkIHN1cHBvcnQgZm9yIGJ1aWx0aW4KCXVub3JkZXJlZCBjb21wYXJlIGZ1bmN0aW9ucyB0byBnY2MgMi45NyBhbmQgdXAuCgoJKiBzdHJpbmcvYml0cy9zdHJpbmcyLmg6IERpc2FibGUgc3Ryc3RyIG9wdGltaXphdGlvbnMgZm9yIG5ld2VyCglnY2MgdmVyc2lvbnMuICBQYXRjaCBieSBKb3NlcGggUy4gTXllcnMgPGpzbTI4QGNhbS5hYy51az4uCgoJKiBjb25maWd1cmUuaW4gKHdpdGhfY3ZzKTogVGVzdCBmb3IgcHNlcnZlciBhY2Nlc3MuCgoyMDAwLTEwLTMxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9WZXJzaW9ucyBbbGRdIChHTElCQ18yLjIpOiBFeHBvcnQgX2RsX2Nsa3RjayBhbmQgX2RsX3BhZ2VzaXplLgoJKiBlbGYvZGwtbG9hZC5jOiBEZWZpbmUgX2RsX2Nsa3Rjay4KCSogZWxmL2VsZi5oOiBEZWZpbmUgQVRfQ0xLVENLLgoJKiBpbmNsdWRlL3RpbWUuaDogRGVjbGFyZSBfX2dldGNsa3Rjay4KCSogbWlzYy9NYWtlZmlsZSAocm91dGluZXMpOiBBZGQgZ2V0Y2xrdGNrLgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtc3lzZGVwLmMgKF9kbF9zeXNkZXBfc3RhcnQpOiBIYW5kbGUgQVRfQ0xLVENLLgoJKF9kbF9zaG93X2F1eHYpOiBTaG93IEFUX0NMS1RDSyB2YWx1ZS4KCSogc3lzZGVwcy9nZW5lcmljL2dldGNsa3Rjay5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZ2V0Y2xrdGNrLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9nZXRjbGt0Y2suYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvZ2V0Y2xrdGNrLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3Bvc2l4L3N5c2NvbmYuYzogVXNlIF9fZ2V0Y2xrdGNrIHRvIGhhbmRsZSBfU0NfQ0xLX1RDSy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZ2V0cGFnZXNpemUuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvdGltZS5oOiBVc2UgX19zeXNjb25mIHRvIGZvciBDTEtfVENLLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9iaXRzL3RpbWUuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvYml0cy90aW1lLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvdGltZS5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9iaXRzL3RpbWUuaDogTGlrZXdpc2UuCgoJKiBzdW5ycGMvY2xudF9nZW4uYyAoY2xudF9jcmVhdGUpOiBEb24ndCBzZXQgdGltZW91dCB3aXRoCgljbG50X2NvbnRyb2wgZm9yIGFueSBwcm90b2NvbC4gIFRoaXMgd291bGQgbWFrZSBpdCBpbXBvc3NpYmxlIGZvcgoJdGhlIHVzZXIgdG8gcHJvdmlkZSBvbmUgaW4gY2xudF9jYWxsKCkuCglSZXBvcnRlZCBieSBIaXRvc2hpIEd1dXRhcmEgTWFydXlhbWEgPG1hcnV5YW1hQHNoLnJpbS5vci5qcD4uCgkqIHN1bnJwYy9jbG50X3RjcC5jIChjbG50X2NhbGwpOiBEb24ndCB1c2UgdGltZW91dCBpbiB0ZXN0cyB3aXRoIHplcm8sCgl1c2UgY3QtPmN0X3dhaXQuCgkqIHN1bnJwYy9jbG50X3VuaXguYyAoY2xudF9jYWxsKTogTGlrZXdpc2UuCgoyMDAwLTEwLTMxICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvaWE2NC9mcHUvc19pc2luZmwuUzogTmV3IGZpbGUsICAtIGFzc2VtYmx5IGJhc2VkCglpbXBsZW1lbnRhdGlvbiBiYXNlZCBvbiBzdWdnZXN0aW9uIGJ5IFJpY2hhcmQgSGVuZGVyc29uLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3NfaXNpbmZsLmM6IFJlbW92ZWQuCgoyMDAwLTEwLTMwICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvaWE2NC9mcHUvc19pc25hbmwuUzogTmV3IGZpbGUgLSBhc3NlbWJseSBiYXNlZAoJaW1wbGVtZW50YXRpb24gYmFzZWQgb24gc3VnZ2VzdGlvbiBieSBSaWNoYXJkIEhlbmRlcnNvbi4KCSogc3lzZGVwcy9pYTY0L2ZwdS9zX2lzbmFubC5jOiBSZW1vdmVkLgoKMjAwMC0xMC0zMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvcHJvZ3JhbXMvbG9jYWxlLmMgKHByaW50X2l0ZW0pOiBGaXggb25lIG1vcmUgcHJvYmxlbSB3aXRoCglzdHJpbmcgbGlzdHMuICBQYXRjaCBieSBDaGVuIFhpYW5neWFuZyA8Y2hlbnh5QG9wZW5jamsub3JnPi4KCgkqIGxvY2FsZS9jYXRlZ29yaWVzLmRlZjogQWRkIG51bWJlciBvZiBhcmd1bWVudHMgdG8gY3R5cGUtbWFwLW5hbWVzCglhbmQgY3R5cGUtY2xhc3MtbmFtZXMgZW50cmllcy4gIE1hcmsgZXJhIGFzIHN0cmluZ2xpc3QuCgoJKiBpY29udmRhdGEvTWFrZWZpbGUgKG1vZHVsZXMpOiBBZGQgSUJNODU2LCBJQk05MzAsIElCTTkzMywgSUJNOTM1LAoJSUJNOTM3LCBJQk05MzksIGFuZCBJQk0xMDQ2LgoJKGRpc3RyaWJ1dGUpOiBBZGQgaWJtODU2LmMsIGlibTkzMC5jLCBpYm05MzMuYywgaWJtOTM1LmMsIGlibTkzNy5jLAoJaWJtOTM5LmMsIGlibTEwNDYuYywgaWJtODU2LmgsIGlibTkzMC5oLCBpYm05MzMuaCwgaWJtOTM1LmgsIGlibTkzNy5oLAoJaWJtOTM5LmgsIGFuZCBpYm0xMDQ2LmguCgkqIGljb252ZGF0YS9nY29udi1tb2R1bGVzOiBBZGQgZW50cmllcyBmb3IgSUJNODU2LCBJQk05MzAsIElCTTkzMywKCUlCTTkzNSwgSUJNOTM3LCBJQk05MzksIGFuZCBJQk0xMDQ2LgoJKiBpY29udmRhdGEvaWJtMTA0Ni5jOiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL2libTEwNDYuaDogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9pYm04NTYuYzogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9pYm04NTYuaDogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9pYm05MzAuYzogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9pYm05MzAuaDogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9pYm05MzMuYzogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9pYm05MzMuaDogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9pYm05MzUuYzogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9pYm05MzUuaDogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9pYm05MzcuYzogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9pYm05MzcuaDogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9pYm05MzkuYzogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9pYm05MzkuaDogTmV3IGZpbGUuCglQYXRjaGVzIGJ5IE1hc2FoaWRlIFdhc2hpemF3YSA8d2FzaGlAeWFtYXRvLmlibS5jby5qcD4uCgoyMDAwLTEwLTMwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9sb2NhbGVpbmZvLmggKGVudW0gdmFsdWVfdHlwZSk6IEFkZCB3c3RyaW5nLCB3c3RyaW5nYXJyYXksCglhbmQgd3N0cmluZ2xpc3QuCgkqIGxvY2FsZS9jYXRlZ29yaWVzLmRlZjogTWFyayB3aWRlIGNoYXIgc3RyaW5ncyBhcyB3c3RyaW5nIG9yCglzdHJpbmdhcnJheS4KCSogbG9jYWxlL3Byb2dyYW1zL2xvY2FsZS5jIChzaG93X2luZm8pOiBIYW5kbGUgd3N0cmluZywgd3N0cmluZ2FycmF5LAoJYW5kIHdzdHJpbmdsaXN0LiAgUHJpbnQga2V5d29yZHMgb25seSBpZiB0aGVyZSBpcyByZWFsIG91dHB1dC4KCVJlcG9ydGVkIGJ5IENoZW4gWGlhbmd5YW5nIDxjaGVueHlAb3BlbmNqay5vcmc+LgoKCSogc3lzZGVwcy9zcGFyYy9mcHUvYml0cy9tYXRoaW5saW5lLmg6IEFkZCBfX1RIUk9XIHdoZXJlIG5lY2Vzc2FyeS4KCVBhdGNoIGJ5IEJlbiBDb2xsaW5zIDxiY29sbGluc0BkZWJpYW4ub3JnPi4KCgkqIHN0ZGlvLWNvbW1vbi9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdHN0LWZtZW1vcGVuLgoJKiBzdGRpby1jb21tb24vdHN0LWZtZW1vcGVuLmM6IE5ldyBmaWxlLgoJVGVzdCBjYXNlIGJ5IEJlbiBDb2xsaW5zIDxiY29sbGluc0BkZWJpYW4ub3JnPi4KCgkqIGxpYmlvL2lvZm9wbmNvb2suYyAoX0lPX2Nvb2tpZV9zZWVrKTogQ29ycmVjdCB0ZXN0IGZvciBlcnJvci4KCgkqIGxpYmlvL2ZtZW1vcGVuLmMgKGZtZW1vcGVuX3JlYWQpOiBSZXR1cm4gMCBhdCBlbmQgb2YgYnVmZmVyLgoJKGZtZW1vcGVuX3dyaXRlKTogU2V0IGVycm5vIGF0IGVuZCBvZiBidWZmZXIuCgoJKiBwb3NpeC9ydW50ZXN0cy5jIChtYWluKTogRG9uJ3QgdXNlIGV4aXQoKSB0byBhdm9pZCB3YXJuaW5nIHdpdGgKCWJyb2tlbiBjb21waWxlcnMuCgoJKiBzdHJpbmcvYnVnLXN0cm5jYXQxLmM6IFVuZGVmaW5lIF9fVVNFX1NUUklOR19JTkxJTkVTIGJlZm9yZQoJZGVmaW5pbmcgaXQgYWdhaW4gdG8gYXZvaWQgd2FybmluZy4KCSogc3RyaW5nL2J1Zy1zdHJwYnJrMS5jOiBMaWtld2lzZS4KCSogc3RyaW5nL2J1Zy1zdHJzcG4xLmM6IExpa2V3aXNlLgoKMjAwMC0xMC0yOSAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogbG9jYWxlL0MtdHJhbnNsaXQuaC5pbjogSW5jbHVkZSBtb3JlIHJ1bGVzIGZyb20gdHJhbnNsaXRfbmV1dHJhbC4KCVJlbW92ZSBhIGZldyBHZXJtYW4gYW5kIERhbmlzaCBzcGVjaWZpYyBydWxlcy4KCSogbG9jYWxlL2dlbi10cmFuc2xpdC5wbDogQXZvaWQgYW4gZXJyb3Igd2hlbiBwcmludGluZyBhIHN0cmluZwoJY29udGFpbmluZyBhICclJyBjaGFyYWN0ZXIuCgkqIGxvY2FsZS9DLXRyYW5zbGl0Lmg6IFJlZ2VuZXJhdGVkLgoJKiBpbnRsL3RyYW5zbGl0LnBvOiBDaG9vc2UgZGlmZmVyZW50IHRyYW5zbGF0aW9ucy4KCSogaW50bC90c3QtdHJhbnNsaXQuYzogVXBkYXRlLgoKMjAwMC0xMC0yOSAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLWN0eXBlLmMgKHRyYW5zbGl0X2luY2x1ZGVfdCk6IE5ldyB0eXBlLgoJKGxvY2FsZV9jdHlwZV90KTogUmVtb3ZlIHRyYW5zbGl0X2NvcHlfbG9jYWxlLCB0cmFuc2xpdF9jb3B5X3JlcGVydG9pcmUKCWZpZWxkcywgYWRkIHRyYW5zbGl0X2luY2x1ZGUgZmllbGQuCgkoY3R5cGVfcmVhZCk6IEFmdGVyIHNlZWluZyAidHJhbnNsaXRfc3RhcnQiIGluIGlnbm9yZV9jb250ZW50IG1vZGUsCglza2lwIHRoZSBlbnRpcmUgdHJhbnNsaXQgc2VjdGlvbiwgbm90IG9ubHkgb25lIGxpbmUuICBSZW1vdmUgZGVhZCB0ZXN0Cglmb3IgdG9rX3RyYW5zbGl0X2VuZC4gIEVucXVldWUgaW5jbHVkZSBzdGF0ZW1lbnRzIGludG8gYSBsaXN0LgoJU2lnbmFsIGVycm9yIGlmIHRva19lb2Ygc2VlbiBiZWZvcmUgdG9rX3RyYW5zbGl0X2VuZC4KCSh0cmFuc2xpdF9mbGF0dGVuKTogTmV3IGZ1bmN0aW9uLgoJKGFsbG9jYXRlX2FycmF5cyk6IENhbGwgdHJhbnNsaXRfZmxhdHRlbi4KCjIwMDAtMTAtMzAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbG9jYWxlL2ZpbmRsb2NhbGUuYyAoZnJlZV9tZW0pOiBXZSBjYW4gcmVtb3ZlIE5PREVMRVRFIG1hcmtlZAoJZGF0YSwganVzdCBub3QgdGhlIEMgbG9jYWxlIGRhdGEuCgoJKiBpbnRsL3RzdC1nZXR0ZXh0LmM6IFVzZSBzZXRsb2NhbGUoKSBpbiBhZGRpdGlvbiB0byBzZXR0aW5nIGVudnZhci4KCSogaW50bC90c3QtZ2V0dGV4dC5zaDogQ29weSBsb2NhbGUgZGF0YSBpZiBuZWNlc3NhcnkuCgkqIGludGwvTWFrZWZpbGUgKGdlbmVyYXRlZC1kaXJzKTogQWRkIGxvY2FsZWRpci4KCgkqIGludGwvZGNpZ2V0dGV4dC5jIChndWVzc19jYXRlZ29yeV92YWx1ZSk6IEZvciBsaWJjIGFsd2F5cyB1c2UKCXRoZSBzZXRsb2NhbGUoKSBtZXRob2QuCgoJKiBpbnRsL01ha2VmaWxlOiBBZGQgcnVsZXMgdG8gYnVpbGQsIHJ1biBhbmQsIGRpc3RyaWJ1dGUgdHN0LWdldHRleHQyLgoJKiBpbnRsL3RzdC1nZXR0ZXh0Mi5jOiBOZXcgZmlsZS4KCSogaW50bC90c3QtZ2V0dGV4dDIuc2g6IE5ldyBmaWxlLgoJKiBpbnRsL3RzdGxhbmcxLnBvOiBOZXcgZmlsZS4KCSogaW50bC90c3RsYW5nMi5wbzogTmV3IGZpbGUuCglQYXRjaCBieSBBbmRyZWFzIEphZWdlciA8YWpAc3VzZS5kZT4uCgoyMDAwLTEwLTI2ICBHT1RPIE1hc2Fub3JpICA8Z290b21AZGViaWFuLm9yLmpwPgoKCSogaW50bC9sb2NhbGUuYWxpYXM6IEFkZCBqYV9KUC51amlzIGFsaWFzLgoKMjAwMC0xMC0zMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvZmluZGxvY2FsZS5jIChfbmxfZmluZF9sb2NhbGUpOiBEb24ndCBzdG9yZSBub3JtYWxpemVkCgluYW1lIGluICpOQU1FLgoKMjAwMC0xMC0yOSAgQmVuIENvbGxpbnMgIDxiY29sbGluc0BkZWJpYW4ub3JnPgoKCSogc3lzZGVwcy9nZW5lcmljL2xvY2tmNjQuYzogSW4gdGhlIGNhc2Ugb2YgRl9URVNULCBzZXQgbF90eXBlIHRvCglGX1JETENLIGV4cGxpY2l0bHkuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvbG9ja2Y2NC5jOiBMaWtld2lzZS4KCjIwMDAtMTAtMjkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnZkYXRhL2JpZzUuYzogVXBkYXRlLgoJUGF0Y2ggYnkgVHVuZy1IYW4gSHNpZWggPHRoaHNpZWhAdHdjcHJvLnBoeXMubnR1LmVkdS50dz4uCgoJKiBpY29udmRhdGEvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgQklHNS5pcnJldmVyc2libGUuCgkqIGljb252ZGF0YS9CSUc1LmlycmV2ZXJzaWJsZTogTmV3IGZpbGUuCgoyMDAwLTEwLTI5ICBHcmVnIExvdWlzICA8Z2xvdWlzQGR5bmFtaWNyby5vbi5jYT4KCgkqIHBvc2l4L3JlZ2V4LmggKF9fcmVzdHJpY3RfYXJyKTogTW92ZSBkZWZpbml0aW9uIG91dCBvZiAjaWZuZGVmIGJsb2NrLgoJUmVxdWlyZWQgYmVjYXVzZSBlZ2NzLTIuOTEuNjYgKGFrYSAxLjEuMikgZGVmaW5lcyBfX3Jlc3RyaWN0LCBidXQKCWRvZXNuJ3QgZGVmaW5lIF9fcmVzdHJpY3RfYXJyLgoKMjAwMC0xMC0yOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBtYW51YWwvc2VhcmNoLnRleGk6IENvcnJlY3QgZGVzY3JpcHRpb24gaWYgVklTSVQgdmFsdWVzLgoJUGF0Y2ggYnkgQmVuIENvbGxpbnMgPGJjb2xsaW5zQGRlYmlhbi5vcmc+LgoKCSogc3RyaW5nL2JpdHMvc3RyaW5nMi5oIChzdHJzcG4pOiBFdmFsdWF0ZSBmaXJzdCBhcmd1bWVudCBpZgoJc2Vjb25kIGlzICIiLgoJKHN0cnBicmspOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k0ODYvYml0cy9zdHJpbmcuaDogTGlrZXdpc2UuCgkqIHN0cmluZy9NYWtlZmlsZSAodGVzdHMpOiBBZGQgYnVnLXN0cnNwbjEgYW5kIGJ1Zy1zdHJwYnJrMS4KCSogc3RyaW5nL2J1Zy1zdHJzcG4xLmM6IE5ldyBmaWxlLgoJKiBzdHJpbmcvYnVnLXN0cnBicmsxLmM6IE5ldyBmaWxlLgoJVGVzdCBjYXNlcyBieSBKb3NlcGggUy4gTXllcnMgPGpzbTI4QGNhbS5hYy51az4uCgoJKiBzdHJpbmcvYml0cy9zdHJpbmcyLmggKHN0cm5jYXQpOiBUZXJtaW5hdGUgc3RyaW5nIGNvcnJlY3RseS4KCSogc3lzZGVwcy9pMzg2L2k0ODYvYml0cy9zdHJpbmcuaCAoc3RybmNhdCk6IExpa2V3aXNlLgoJKiBzdHJpbmcvTWFrZWZpbGUgKHRlc3RzKTogQWRkIGJ1Zy1zdHJuY2F0MS4KCSogc3RyaW5nL2J1Zy1zdHJuY2F0MS5jOiBOZXcgZmlsZS4KCVRlc3QgY2FzZSBieSBKb3NlcGggUy4gTXllcnMgPGpzbTI4QGNhbS5hYy51az4uCgoyMDAwLTEwLTI3ICBCZW4gQ29sbGlucyAgPGJjb2xsaW5zQGRlYmlhbi5vcmc+CgoJKiBzeXNkZXBzL2dlbmVyaWMvbG9ja2YuYyAobG9ja2YpOiBTZXQgbF90eXBlIHRvIEZfUkRMQ0sgYmVmb3JlCgljYWxsaW5nIGZvciBGX0dFVExLLgoKMjAwMC0xMC0yOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtbG9hZC5jIChvcGVuX3BhdGgpOiBEb24ndCBleGl0IGxvb3AgZWFybHkgaWYgd2UgZGlkbid0Cgl1c2UgYSBkaXJlY3RvcnkgYXQgYWxsLgoKCSogZWxmL01ha2VmaWxlOiBBZGQgcnVsZXMgdG8gYnVpbGQgYW5kIHJ1biB0c3QtcGF0aG9wdC4KCSogZWxmL3RzdC1wYXRob3B0LmM6IE5ldyBmaWxlLgoJKiBlbGYvdHN0LXBhdGhvcHQuc2g6IE5ldyBmaWxlLgoJKiBlbGYvcGF0aG9wdG9iai5jOiBOZXcgZmlsZS4KCgkqIGVsZi9lbGYuaCAoU0hOX1hJTkRFWCk6IERlZmluZS4KCjIwMDAtMTAtMjggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW8vTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRlc3Qtc3RhdDIuCgkodGVzdC1zdGF0Mi1BUlMpOiBOZXcgdmFyaWFibGUuCgkqIGlvL3Rlc3Qtc3RhdDIuYzogTmV3IGZpbGUuCgoJKiBNYWtlY29uZmlnIChFVEFHUyk6IFJlbW92ZSAtVCBmbGFnLgoKCSogZWxmL2RsLWxvYWQuYyAob3Blbl92ZXJpZnkpOiBPbmx5IHRyeSB0byBsb2FkIEVUX0RZTiBhbmQgRVRfRVhFQwoJb2JqZWN0cy4gIFJlamVjdCBhbGwgb3RoZXIgdHlwZXMuCgkoX2RsX21hcF9vYmplY3RfZnJvbV9mZCk6IE9wdGltaXplIGEgYml0LgoKMjAwMC0xMC0yNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzdGRpby1jb21tb24vTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC1mc2Vlay4KCSogc3RkaW8tY29tbW9uL3RzdC1mc2Vlay5jOiBOZXcgZmlsZS4KCgkqIHBvc2l4L3JlZ2V4LmMgKGdldHRleHQpOiBVc2UgY29ycmVjdCB0cmFuc2xhdGlvbiBkb21haW4gZm9yIGdsaWJjLgoKCSogYXJncC9hcmdwLXBhcnNlLmM6IFVzZSBfX2RjZ2V0dGV4dCBpbnN0ZWFkIG9mIGRjZ2V0dGV4dCBmb3IgZ2xpYmMuCgkqIGFyZ3AvYXJncC1oZWxwLmM6IExpa2V3aXNlLgoJKiBpbmV0L2dldG5hbWVpbmZvLmMgKGdldG5hbWVpbmZvKTogVXNlIF9fc25wcmludGYgaW5zdGVhZCBvZiBzbnByaW50Zi4KCSogaW5ldC9yZXhlYy5jIChyZXhlY19hZik6IFVzZSBfX3NucHJpbnRmIGluc3RlYWQgb2Ygc25wcmludGYuCgkqIG1pc2MvcmVnZXhwLmMgKF9fc3RlcCk6IFVzZSBfX3JlZ2V4ZWMgaW5zdGVhZCBvZiByZWdleGVjLgoJKF9fYWR2YW5jZSk6IExpa2V3aXNlLgoJKiBuc3MvZGlnaXRzX2RvdHMuYzogVXNlIF9faW5ldF9hdG9uIGluc3RlYWQgb2YgaW5ldF9hdG9uLgoJKiBuc2NkL2dldGhzdGJ5bm0yX3IuYyAoX19pbmV0X2F0b24pOiBEZWZpbmUgYXMgaW5ldF9hdG9uIHNpbmNlCgl0aGUgZm9ybWVyIGlzIG5vdCBleHBvcnRlZC4KCSogbWlzYy9kYWVtb24uYyAoZGFlbW9uKTogVXNlIF9fZm9yayBpbnN0ZWFkIG9mIGZvcmsuCgoJKiBzdGRsaWIvZm10bXNnLmMgKGZtdG1zZyk6IENoYW5nZSBvdXRwdXQgZm9ybWF0IHNsaWdodGx5IHRvIG1ha2UKCWl0IGxvb2sgYmV0dGVyIGFuZCBicmluZyBpdCBjbG9zZXIgdG8gU3lzViBiZWhhdmlvci4KCSogc3RkbGliL01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIHRzdC1mbXRtc2cuc2guCgkodGVzdC1zcmNzKTogQWRkIHRzdC1mbXRtc2cuCgkodGVzdHMpOiBBZGQgJChvYmpwZngpdHN0LWZtdG1zZy5vdXQuICBBZGQgcnVsZSB0byBnZW5lcmF0ZSBpdC4KCSogc3RkbGliL3RzdC1mbXRtc2cuc2g6IE5ldyBmaWxlLgoJKiBzdGRsaWIvdHN0LWZtdG1zZy5jOiBOZXcgZmlsZS4KCgkqIGljb252ZGF0YS9NYWtlZmlsZSAobW9kdWxlcyk6IEFkZCBWSVNDSUkuCgkoZ2VuLThiaXQtbW9kdWxlcyk6IEFkZCB2aXNjaWkuCgkqIGljb252ZGF0YS92aXNjaWkuYzogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9nY29udi1tb2R1bGVzOiBBZGQgZW50cmllcyBmb3IgVklTQ0lJLgoJKiBpY29udmRhdGEvdHN0LXRhYmxlcy5zaDogQWRkIFZJU0NJSS4KCjIwMDAtMTAtMjcgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzeXNkZXBzL202OGsvZnB1L2xpYm0tdGVzdC11bHBzOiBBZGQgc29tZSBtb3JlIHVscHMuCgoyMDAwLTEwLTI2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHZlcnNpb24uaCAoVkVSU0lPTik6IEJ1bXAgdG8gMi4xLjk2LgoKCSogaW5ldC9nZXRpcG5vZGVieWFkLmM6IFJlbW92ZWQuCgkqIGluZXQvZ2V0aXBub2RlYnlubS5jOiBSZW1vdmVkLgoJKiBpbmV0L3RzdC1pcG5vZGUuYzogUmVtb3ZlZC4KCSogaW5ldC9mcmVlaG9zdGVudC5jOiBSZW1vdmVkLgoKCSogc3lzZGVwcy91bml4L2JzZC9vc2YvPWRpcnN0cmVhbS5oOiBSZW1vdmVkLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvRGlzdDogQWRkIGJpdHMvaW5pdHNwaW4uaC4KCgkqIGVsZi9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCBuZWVkZWRvYmo0LmMuCgoJKiBpY29udmRhdGEvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgQklHNUhLU0NTLmlycmV2ZXJzaWJsZS4KCgkqIHN5c2RlcHMvaHBwYS9EaXN0OiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS9EaXN0OiBOZXcgZmlsZS4KCgkqIHBvc2l4L3RzdC1jaG1vZC5jIChkb190ZXN0KTogQWNjb3VudCBmb3IgcGVvcGxlIHJ1bm5pbmcgdGhlCgl0ZXN0cyBhcyByb290LgoKCSogbG9jYWxlL2xhbmdpbmZvLmggKFRIT1VTRVApOiBEZWZpbmUgdGhpcyBhbmQgZG9uJ3QgZHVwbGljYXRlCglkZWZpbml0aW9uIG9mIFRIT1VTQU5EU19TRVAuCgoJKiBsb2NhbGUvQy1tb25ldGFyeS5jOiBTZXQgbW9uX2RlY2ltYWwgdG8gZW1wdHkgc3RyaW5nLgoJQWRkIG1pc3NpbmcgZW50cnkgX05MX01PTkVUQVJZX0NSTkNZU1RSLgoJKiBzdGRpby1jb21tb24vcHJpbnRmX2ZwLmM6IElmIE1PTl9ERUNJQUxfUE9JTlQgaXMgbm90IHByb3ZpZGVkIHVzZQoJREVDSU1BTF9QT0lOVCBpbmZvcm1hdGlvbi4KCSogbG9jYWxlL0MtbnVtZXJpYy5jOiBTZXQgbW9uX2dyb3VwaW5nIGVudHJ5IHRvIGVtcHR5IHN0cmluZy4KCSogbG9jYWxlL0MtdGltZS5jOiBBZGQgZGF0ZV9mbXQgZW50cmllcy4gIFJlbW92ZSB0d28gd3JvbmcgZW50cmllcy4KCUNvcnJlY3QgdmFsdWUgZm9yIG51bWJlciBvZiBlbnRyaWVzLgoJKiBsb2NhbGUvbG9jYWxlY29udi5jOiBOb3JtYWxpemUgcmVzdWx0IHBhc3NlZCBiYWNrIGluIC5ncm91cGluZy4KCUZpeCBhc3NpZ25tZW50IHRvIC5pbnRfKiBlbnRyaWVzLgoKCSogbG9jYWxlL01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3QtQy1sb2NhbGUuCgkqIGxvY2FsZS90c3QtQy1sb2NhbGUuYzogTmV3IGZpbGUuCgoJKiBsb2NhbGUvc2V0bG9jYWxlLmM6IFVzZSBMT0NBTEVESVIgYW5kIG5vdCBMT0NBTEVfUEFUSCB0byBsb2NhdGUKCWxvY2FsZSBmaWxlcy4KCSogbG9jYWxlL25ld2xvY2FsZS5jOiBMaWtld2lzZS4KCjIwMDAtMTAtMjYgIEdPVE8gTWFzYW5vcmkgIDxnb3RvbUBkZWJpYW4ub3IuanA+CgoJKiBsb2NhbGUvbGFuZ2luZm8uaDogRGVmaW5lIF9EQVRFX0ZNVCBhbmQgX05MX1dfREFURV9GTVQuCgkqIGxvY2FsZS9jYXRlZ29yaWVzLmRlZjogTmV3IHN1cHBvcnQgZm9yIGRhdGVfZm10LgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtdGltZS5jOiBMaWtld2lzZS4KCSogbG9jYWxlL3Byb2dyYW1zL2xvY2ZpbGUta3cuZ3BlcmY6IExpa2V3aXNlLgoJKiBsb2NhbGUvcHJvZ3JhbXMvbG9jZmlsZS1rdy5oOiBMaWtld2lzZS4KCSogbG9jYWxlL3Byb2dyYW1zL2xvY2ZpbGUtdG9rZW4uaDogTGlrZXdpc2UuCgoyMDAwLTEwLTI2ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTEyOC9lX2h5cG90bC5jOiBOZXcuCgoJKiBtYXRoL2xpYm0tdGVzdC5pbmMgKGNhYnNfdGVzdCwgY2V4cF90ZXN0LCBjc3FydF90ZXN0LCBoeXBvdF90ZXN0KToKCUluY3JlYXNlIHByZWNpc2lvbiBvZiBjb25zdGFudHMuCgkqIHN5c2RlcHMvYWxwaGEvZnB1L2xpYm0tdGVzdC11bHBzOiBVcGRhdGUuCgkqIHN5c2RlcHMvYXJtL2xpYm0tdGVzdC11bHBzOiBVcGRhdGUuCgkqIHN5c2RlcHMvaTM4Ni9mcHUvbGlibS10ZXN0LXVscHM6IFVwZGF0ZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9saWJtLXRlc3QtdWxwczogVXBkYXRlLgoJKiBzeXNkZXBzL202OGsvZnB1L2xpYm0tdGVzdC11bHBzOiBVcGRhdGUuCgkqIHN5c2RlcHMvbWlwcy9mcHUvbGlibS10ZXN0LXVscHM6IFVwZGF0ZS4KCSogc3lzZGVwcy9wb3dlcnBjL2ZwdS9saWJtLXRlc3QtdWxwczogVXBkYXRlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvZnB1L2xpYm0tdGVzdC11bHBzOiBVcGRhdGUuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9mcHUvbGlibS10ZXN0LXVscHM6IFVwZGF0ZS4KCSogc3lzZGVwcy9zaC9zaDQvZnB1L2xpYm0tdGVzdC11bHBzOiBVcGRhdGUuCgkqIHN5c2RlcHMvczM5MC9mcHUvbGlibS10ZXN0LXVscHM6IFVwZGF0ZS4KCjIwMDAtMTAtMjYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW8vTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC1mY250bC4KCSogaW8vdHN0LWZjbnRsLmM6IE5ldyBmaWxlLgoKCSogcG9zaXgvTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC1jaG1vZC4KCSh0c3QtY2htb2QtQVJHUyk6IERlZmluZS4KCSogcG9zaXgvdHN0LWNobW9kLmM6IE5ldyBmaWxlLgoKCSogdGVzdC1za2VsZXRvbi5jOiBCZWZvcmUgY2FsbGluZyB1c2VyLWRlZmluZWQgZnVuY3Rpb24gcmVtb3ZlCglwYXJhbWV0ZXJzIGZyb20gYXJndW1lbnQgbGlzdC4KCSogcG9zaXgvdHN0LWV4ZWMuYzogQWRqdXN0IHRvIHRoaXMgY2hhbmdlLgoJKiBwb3NpeC90c3Qtc3Bhd24uYzogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL3VuaXgvb3BlbmRpci5jIChfX29wZW5kaXIpOiBPcHRpbWl6ZSBhIGJpdC4gIEFkZAoJX19idWlsdGluX2V4cGVjdC4KCjIwMDAtMTAtMjUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW50bC9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdHN0LW5nZXR0ZXh0LgoJKiBpbnRsL3RzdC1uZ2V0dGV4dC5jOiBOZXcgZmlsZS4KCjIwMDAtMTAtMjUgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIG1hbnVhbC9jaGFyc2V0LnRleGk6IEZpeCBzcGVsbGluZyBvZiBfX0dDT05WX0ZVTExfT1VUUFVULgoJKiBtYW51YWwvbWVzc2FnZS50ZXhpIChUcmFuc2xhdGlvbiB3aXRoIGdldHRleHQpOiBSZW1vdmUgcGFyYWdyYXBoCglhYm91dCBtYWNyb3MgY29udGFpbmVkIGluIGxpYmludGwuaC4KCShiaW5kX3RleHRkb21haW5fY29kZXNldCk6IERlc2NyaWJlIGNvZGVzZXQgYXJndW1lbnQuCgkoVXNpbmcgZ2V0dGV4dGl6ZWQgc29mdHdhcmUpOiBBZGQgc2V0bG9jYWxlIGNhbGwgdG8gc2FtcGxlIGNvZGUuCgoyMDAwLTEwLTI2ICBLYXp1bW90byBLb2ppbWEgIDxra29qaW1hQHJyLmlpajR1Lm9yLmpwPgoJICAgIFl1dGFrYSBOaWliZSAgPGduaWliZUBjaHJvb3Qub3JnPgoKCSogc3lzZGVwcy9zaC9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX3JlbGEpOiBIYW5kbGUgaW4gcGxhY2UKCXJlbG9jYXRpb24gd2hpY2ggaXMgZ2VuZXJhdGVkIGJ5IG5ldyBsZC4KCSogc3lzZGVwcy9zaC9lbGYvaW5pdGZpbmkuYyAoX2luaXQpOiBQcmVzZXRlZCBfX2Zwc2NyX3ZhbHVlcy4KCShfZmluaSk6IERlbGV0ZSBhbiBvYnNvbGV0ZSByZWdpc3RlciBwcmVmaXguCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL1ZlcnNpb25zOiBBZGQgX194c3RhdDY0LCBfX2Z4c3RhdDY0LAoJX19seHN0YXQ2NCwgYWxwaGFzb3J0NjQsIGdsb2I2NCwgcmVhZGRpcjY0LCByZWFkZGlyNjRfciwgc2NhbmRpcjY0CglhbmQgdmVyc2lvbnNvcnQ2NCBhcyB0aGUgMi4yLXZlcnNpb25lZCBzeW1ib2xzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9iaXRzL2ZjbnRsLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9icmsuYzogQ2hhbmdlcyBmb3IgdGhlIG5ldyBzeXN0ZW0gY2FsbAoJY2FsbGluZyBjb252ZW50aW9uIG9mIHRoZSBrZXJuZWwuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3BpcGUuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3NvY2tldC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvY2xvbmUuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3Zmb3JrLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9zeXNkZXAuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL2ZjbnRsLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9sb2NrZjY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9zeXMvdXNlci5oOiBJbmNsdWRlIHRoZSBrZXJuZWwgaGVhZGVyCglmaWxlIGFuZCBkZWxldGUgdGhlIGRlZmluaXRpb25zIG9mIHN0cnVjdCB1c2VyIGFuZCB1c2VyX2ZwLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9zeXNjYWxsLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9zeXNjYWxscy5saXN0OiBSZW1vdmUgZW50cmllcyBmb3IKCXNfaW9jdGwsIHNfaXBjLCBzX2xsc2Vlaywgc19jaG93biwgc19mY2hvd24sIHNfbGNob3duLCBzX2V4ZWN2ZSwKCXJ0X3NpZ2FjdGlvbiwgcnRfc2lncGVuZGluZywgcnRfc2lncHJvY21hc2ssIHJ0X3NpZ3F1ZXVlaW5mbywKCXJ0X3NpZ3N1c3BlbmQsIHJ0X3NpZ3RpbWVkd2FpdCwgc19nZXRjd2QsIHNfZ2V0ZGVudHMsIHNfZ2V0Z3JvdXBzLAoJc19nZXRwcmlvcml0eSwgc19nZXRlZ2lkLCBzX2dldGV1aWQsIHNfZ2V0dWlkLCBnZXRyZXNnaWQsIGdldHJlc3VpZCwKCXNfZ2V0cmxpbWl0LCBzX3BvbGwsIHNfcHJlYWQ2NCwgc19wdHJhY2UsIHNfcHdyaXRlNjQsIHNfcmVib290LAoJc19zZXRybGltaXQsIHNfc2lnYWN0aW9uLCBzX3NpZ3BlbmRpbmcsIHNfc2lncHJvY21hc2ssIHNfc2lnc3VzcGVuZCwKCXNfc2V0ZnNnaWQsIHNfc2V0ZnN1aWQsIHNfc2V0Z2lkLCBzX3NldGdyb3Vwcywgc19zZXRyZWdpZCwKCXNfc2V0cmVzZ2lkLCBzX3NldHJlc3VpZCwgc19zZXRyZXVpZCwgc19zZXR1aWQsIHNfc3lzY3RsLAoJc191Z2V0cmxpbWl0LCBzX3VzdGF0LCBzeXNfZnN0YXQsIHN5c19sc3RhdCwgc3lzX21rbm9kLCBzeXNfcmVhZHYsCglzeXNfc3RhdCwgc3lzX3dyaXRldiBhbmQgc3lzY2FsbC4KCjIwMDAtMTAtMjUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW8vdGVzdC1sZnMuYyAoZG9fcHJlcGFyZSk6IFJld3JpdGUgc28gaXQgZG9lc24ndCBmYWlsIG9uIHN5c3RlbXMKCXdpdGhvdXQgTEZTIHN1cHBvcnQuCgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L2Vfam4uYzogVXNlIF9faWVlZTc1NF9zcXJ0IGluc3RlYWQgb2YgX19zcXJ0LgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L2VfajEuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvZV9qMC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pZWVlNzU0L2ZsdC0zMi9lX2oxZi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pZWVlNzU0L2ZsdC0zMi9lX2owZi5jOiBMaWtld2lzZS4KCjIwMDAtMTAtMjUgIERhdmlkIE1vc2JlcmdlciAgPGRhdmlkbUBocGwuaHAuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9wcm9maWwtY291bnRlci5oOiBNdWx0aXBseSBzbG90CgludW1iZXIgYnkgZm91ciB0byB1c2UgYmlucyBvZiB3aWR0aCA0IHRvIGdldCBhY2N1cmF0ZQoJaW5zdHJ1Y3Rpb24tbGV2ZWwgcHJvZmlsaW5nLgoKMjAwMC0xMC0yNSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9nZW5lcmljL2RsLWNhY2hlLmggKENBQ0hFTUFHSUNfVkVSU0lPTl9ORVcpOiBDb3JyZWN0IHN0cmluZy4KCjIwMDAtMTAtMjUgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9mY250bC5jIChfX2xpYmNfZmNudGwpOiBXaGVuCgljb252ZXJ0aW5nIHN0cnVjdCBmbG9jazY0IHRvIHN0cnVjdCBmbG9jayBhbmQgYmFjaywgdXNlIGZjbnRsIGNvbW1hbmRzCgl3aGljaCB3b3JrIG9uIHN0cnVjdCBmbG9jay4KCjIwMDAtMTAtMjUgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogbWF0aC90ZXN0LW1pc2MuYyAobWFpbik6IE9ubHkgY2hlY2sgbW9kZmwgaWYgTk9fTE9OR19ET1VCTEUgaXMgbm90CglkZWZpbmVkLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvZnB1L2xpYm0tdGVzdC11bHBzOiBVcGRhdGUuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9mcHUvbGlibS10ZXN0LXVscHM6IFVwZGF0ZS4KCjIwMDAtMTAtMjUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9hcm0vbGlibS10ZXN0LXVscHM6IFVwZGF0ZWQuCgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtY2FjaGUuaCAoQ0FDSEVNQUdJQ19WRVJTSU9OX05FVyk6IE5ldyB2YWx1ZS4KCjIwMDAtMTAtMjUgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGVsZi9kbC1sb2FkLmMgKF9kbF9tYXBfb2JqZWN0X2Zyb21fZmQpOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlLgoJKF9kbF9tYXBfb2JqZWN0KTogTGlrZXdpc2UuCgoyMDAwLTEwLTI0ICBQYXVsIEVnZ2VydCAgPGVnZ2VydEB0d2luc3VuLmNvbT4KCgkqIHRpbWUvc3RyZnRpbWUuYyAobXlfc3RyZnRpbWUgbWFjcm8pCglbIWRlZmluZWQgX0xJQkMgJiYgSEFWRV9UWk5BTUUgJiYgSEFWRV9UWlNFVF06CglXaGVuIHJlZGVmaW5pbmcsIGRvIGl0IHdpdGhvdXQgYXJncywgc28gdGhhdCBpdCB3b3JrcyBldmVuIGlmCgllbWFjcyBpcyBkZWZpbmVkIGFuZCBhbiBleHRyYSBhcmd1bWVudCBpcyBwYXNzZWQgdG8gbXlfc3RmdGltZS4KCShteV9zdHJmdGltZSBmdW5jdGlvbik6IFdoZW4gZXZhbHVhdGluZyBhIHN1YmZvcm1hdCwgcGFzcwoJdXRfYXJndW1lbnQgYXMgd2VsbC4KCjIwMDAtMTAtMjQgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L1ZlcnNpb25zOiBBZGQgcGNpY29uZmlnX3JlYWQgYW5kCglwY2ljb25maWdfd3JpdGUuCgoyMDAwLTEwLTI1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1jYWNoZS5jIChfZGxfY2FjaGVfdmVyaWZ5X3B0cik6IENvcnJlY3QgdGVzdAoJZm9yIGZpbGVzIHdpdGggbmV3IGNhY2hlIGZvcm1hdC4KCShfZGxfbG9hZF9jYWNoZV9sb29rdXApOiBBZGQgdmFyaWFibGUgY2FjaGVfZGF0YV9zaXplIGZvciBzaXplIG9mIHRoZQoJZGF0YS4gIENvcnJlY3RseSByZXBvcnQgZXJyb3IgaWYgbmVpdGhlciBvbGQgbm90IG5ldyBzaWduYXR1cmUgaXMKCWZvdW5kLiBMaXR0bGUgb3B0aW1pemF0aW9ucy4KCU1vc3RseSBiYXNlZCBvbiBhIHBhdGNoIGJ5IERlbmlzIFphaXRzZXYgPHp6ekBjZC1jbHViLnJ1Pi4KCgkqIGVsZi9kbC1jbG9zZS5jIChfZGxfY2xvc2UpOiBPcHRpbWl6ZSBhIGJpdCBieSBvcHRpbWl6aW5nIG91dCB0aGUKCW5zZWFyY2hsaXN0IHZhcmlhYmxlLgoKMjAwMC0xMC0yNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtbG9va3VwLmMgKGFkZF9kZXBlbmRlbmN5KTogRml4IHRlc3QgdG8gY2hlY2sgd2hldGhlcgoJZGVwZW5kZW5jeSBhbHJlYWR5IGV4aXN0cy4KCSogZWxmL01ha2VmaWxlOiBBZGQgdGVzdG9iajEgYW5kIHRlc3RvYmoyIGFzIGRlcGVuZGVuY2llcyBvZiB0ZXN0b2JqNi4KCSogZWxmL2xvYWR0ZXN0LmMgKG1haW4pOiBBZGQgdGVzdCBhdCB0aGUgZW5kIHRoYXQgZXZlcnl0aGluZyBpcwoJdW5sb2FkZWQuCgoJKiBlbGYvZGwtb3Blbi5jIChkbF9vcGVuX3dvcmtlcik6IEZpeCB0eXBvIGluIGNvbW1lbnQuCgoJKiBlbGYvZWxmLmg6IEFkZCBldmVuIG1vcmUgSUEtNjQgcmVsb2NhdGlvbnMuCgoyMDAwLTEwLTI0ICBHZW9mZnJleSBLZWF0aW5nICA8Z2VvZmZrQGN5Z251cy5jb20+CgoJKiBpby90ZXN0LWxmcy5jIChkb19wcmVwYXJlKTogQ2FsbCBzZXRybGltaXQ2NCwgaW4gY2FzZSB0aGUgdXNlcgoJaGFzIGEgbGltaXQgc2V0LS0tZm9yIGluc3RhbmNlLCBhIGxpbWl0IG9mIDJeMzEgYnl0ZXMsIHdoaWNoIGNhbid0CgllYXNpbHkgYmUgcmVzZXQgYnkgbm9uLUxGUy1hd2FyZSBzaGVsbHMuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL21tYXA2NC5jOiBEZWZpbmUgUEFHRV9TSElGVAoJZXhwbGljaXRseSByYXRoZXIgdGhhbiBnZXR0aW5nIGl0IGZyb20gPGFzbS9wYWdlLmg+LgoKMjAwMC0xMC0yNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtY2xvc2UuYyAoX2RsX2Nsb3NlKTogSGFuZGxlIHJlbG9jYXRpb24gZGVwZW5kZW5jaWVzIG9mCgl0aGUgZGVwZW5kZW5jaWVzIG9mIHRoZSBvYmplY3QgY3VycmVudGx5IHVubG9hZGVkLgoKCSogZWxmL2RsLWNsb3NlLmMgKF9kbF9jbG9zZSk6IERvbid0IGZyZWUgbWVtb3J5IGZvciBnbG9iYWwgc2NvcGUKCWxpc3QgaW1tZWRpYXRlbHkgd2hlbiBlbXB0eS4gIE1vdmUgY29kZSB0by4uLgoJKGZyZWVfbWVtKTogLi4uaGVyZS4gIENhbGxlZCBhcyBwYXJ0IG9mIF9fbGliY19zdWJmcmVlcmVzIGxpc3QuCgoJKiBlbGYvZGwtZGVwcy5jIChfZGxfbWFwX29iamVjdF9kZXBzKTogUHV0IGxfaW5pdGZpbmkgYXJyYXkgYmVmb3JlCglyX2xpc3QgYXJyYXkgaW4gYWxsb2NhdGVkIG1lbW9yeS4KCSogZWxmL2RsLWNsb3NlLmMgKF9kbF9jbG9zZSk6IE9wdGltaXplIGFjY2VzcyB0byBsX2luaXRmaW5pIGxpc3QKCWFuZCByZW1vdmUgdXNlIG9mIHJfbGlzdC4KCgkqIGVsZi9kbC1jbG9zZS5jIChfZGxfY2xvc2UpOiBVc2UgY29ycmVjdCBsaXN0IChsX2luaXRmaW5pKSB3aGVuCgljb21wdXRpbmcgbmV3IG9wZW5jb3VudHMuCgkqIGVsZi9NYWtlZmlsZTogQWRkIHJ1bGVzIHRvIGJ1aWxkIGFuZCBydW4gbmVlZGVkdGVzdDMuCgkqIG5lZWRlZHRlc3QzLmM6IE5ldyBmaWxlLgoJKiBuZWVkZWRvYmo0LmM6IE5ldyBmaWxlLgoKCSogZWxmL25lZWRlZHRlc3QuYyAobWFpbik6IENvcnJlY3QgdGVzdHMgZm9yIGZhaWxpbmcgZGxvcGVuLgoKMjAwMC0xMC0yNCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogZWxmL2RsLWxvb2t1cC5jIChhZGRfZGVwZW5kZW5jeSk6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUgai4KCjIwMDAtMTAtMjQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWFsbG9jL29ic3RhY2suYyAoX29ic3RhY2tfbmV3Y2h1bmspOiBDb3JyZWN0bHkgYWxpZ24gZmlyc3QgcmV0dXJuZWQKCWJsb2NrLgoJKiBtYWxsb2MvdHN0LW9ic3RhY2suYzogTmV3IGZpbGUuCglQYXRjaCBhbmQgdGVzdCBjYXNlIGJ5IEFsZXhhbmRyZSBEdXJldC1MdXR6IDxkdXJldF9nQGVwaXRhLmZyPi4KCSogbWFsbG9jL01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3Qtb2JzdGFjay4KCglDb21wbGV0ZSByZXZhbXAgb2YgdGhlIHJlZmVyZW5jZSBjb3VudGVyIGhhbmRsaW5nLgoJKiBpbmNsdWRlL2xpbmsuaCAoc3RydWN0IGxpbmtfbWFwKTogQWRkIGxfaWR4IGZpZWxkLgoJKiBlbGYvZGwtY2xvc2UuYzogSGFuZGxlIGRlY3JlbWVudGluZyBvZiByZWZlcmVuY2UgY291bnRlcnMgbW9yZQoJY29ycmVjdGx5LiBJZiBuZWNlc3NhcnkgZGVjcmVtZW50IHJlZmVyZW5jZSBjb3VudGVycyBvZiBkZXBlbmRlbmNpZXMKCW9mIGRlcGVuZGVuY2llcy4KCSogZWxmL2RsLWxvb2t1cC5jIChhZGRfZGVwZW5kZW5jeSk6IE9ubHkgaW5jcmVtZW50IHJlZmVyZW5jZSBjb3VudGVyCglvZiB0aGUgb2JqZWN0IGl0c2VsZiBhbmQgbm90IGFsc28gaXRzIGRlcGVuZGVuY2llcy4KCSogZWxmL2RsLW9wZW4uYzogSW5jcmVtZW50IHJlZmVyZW5jZSBjb3VudGVycyBoZXJlLgoJKiBlbGYvZGwtZGVwcy5jOiBSZW1vdmUgcmVmZXJlbmNlIGNvdW50ZXIgaGFuZGxpbmcgaGVyZS4KCSogZWxmL2RsLWxvYWQuYzogTGlrZXdpc2UuCgkqIGVsZi9ydGxkLmM6IEFkanVzdCBmb3IgX2RsX21hcF9kZXBzIG5vdCBoYW5kbGluZyByZWZlcmVuY2UgY291bnRlcnMuCgoJKiBlbGYvbG9hZHRlc3QuYzogUHJpbnQgbG9hZGVkIG9iamVjdHMgYXQgdGhlIGJlZ2lubmluZy4KCjIwMDAtMTAtMjQgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvbWlwcy9kbC1tYWNoaW5lLmg6IFBhcnRseSByZXZlcnQgcGF0Y2ggZnJvbSAyMDAwLTEwLTE4LgoKMjAwMC0xMC0yMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2xpbmsuaCAoc3RydWN0IGxpbmtfbWFwKTogTmV3IGJpdCBmaWVsZCBsX2Zha2VkLgoJKiBlbGYvZGwtZGVwcy5jOiBVc2UgbF9mYWtlZCBmaWVsZCBpbiBzdHJ1Y3QgbGlua19tYXAgaW5zdGVhZCBvZgoJdGhlIG1hZ2ljIGxfb3BlbmNvdW50PT0wLgoJKiBlbGYvZGwtbG9hZC5jOiBMaWtld2lzZS4KCSogZWxmL2RsLXZlcnNpb24uYzogTGlrZXdpc2UuCgkqIGVsZi9ydGxkLmM6IExpa2V3aXNlLgoKCSogZWxmL2RsLWNsb3NlLmMgKF9kbF9jbG9zZSk6IEFkZCBhIGZldyBtb3JlIF9fYnVpbHRpbl9leHBlY3QuCgoyMDAwLTEwLTIzICBKaW0gTWV5ZXJpbmcgIDxtZXllcmluZ0Bhc2NlbmQuY29tPgoKCUFsbG93IHRoaXMgY29kZSB0byBiZSB1c2VkIG91dHNpZGUgb2YgZ2xpYmMuCgkqIHN5c2RlcHMvZ2VuZXJpYy9tZW1yY2hyLmM6IFVuZGVmIF9fbWVtcmNociwgdG9vLgoJWyF3ZWFrX2FsaWFzXTogRGVmaW5lIF9fbWVtcmNociB0byBtZW1yY2hyLgoJR3VhcmQgd2Vha19hbGlhcyB1c2Ugd2l0aCBgI2lmZGVmIHdlYWtfYWxpYXMnLgoKMjAwMC0xMC0yMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvdW5sb2FkLmM6IEdlbmVyYXRlIG1vcmUgZGVidWdnaW5nIG91dHB1dC4KCgkqIGVsZi9uZWVkZWR0ZXN0LmM6IE1ha2UgaXQgbW9yZSBjb21wbGljYXRlZC4KCSogZWxmL25lZWRlZHRlc3QyLmM6IE5ldyBmaWxlLgoJKiBlbGYvTWFrZWZpbGU6IEFkZCBydWxlcyB0byBidWlsZCBhbmQgcnVuIG5lZWRlZHRlc3QyLgoKCSogZWxmL2RsLXN5bS5jIChfZGxfc3ltKTogVXNlIGV4YWN0IGNoZWNrIGZvciBjYWxsZXIgUEMgaW4gcmFuZ2UKCW9mIERTTyBhZGRyZXNzIHNwYWNlLgoJKF9kbF92c3ltKTogTGlrZXdpc2UuCgoJKiBlbGYvZGwtc3ltLmMgKF9kbF9zeW0pOiBGb3IgUlRMRF9ERUZBVUxULCBzZWFyY2ggaW4gb2JqZWN0cwoJZ2xvYmFsIHNjb3BlIGlmIHdlIGNhbiBkZXRlcm1pbmUgaXQuCgoyMDAwLTEwLTIzICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9iaXRzL3Jlc291cmNlLmggKFJMSU1JVF9MT0NLUyk6IEFkZGVkLgoJKFJMSU1JVF9OTElNSVRTKTogU3luYyB3aXRoIGtlcm5lbCBkZWZpbml0aW9uLgoJKFBSSU9fUFJPQ0VTUywgUFJJT19QR1JQLCBQUklPX1VTRVIpOiBBbHNvIGRlZmluZSBhcyBtYWNyb3MuCgoyMDAwLTEwLTIzICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogc3lzZGVwcy9tNjhrL2ZwdS9saWJtLXRlc3QtdWxwczogVXBkYXRlZC4KCjIwMDAtMTAtMjMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZWxmL2VsZi5oIChSX0lBNjRfR1BSRUwzMk1TQiwgUl9JQTY0X0dQUkVMMzJMU0IpOiBOZXcgZGVmaW5pdGlvbnMuCgoyMDAwLTEwLTIyICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udmRhdGEvYmlnNWhrc2NzLmMgKGJpZzVoa3Njc190b191Y3MpOiBBZGQgaXJyZXZlcnNpYmxlIG1hcHBpbmdzCglmb3IgMHg4QkY4LCAweEEyN0UuLjB4QTJBNy4KCSogaWNvbnZkYXRhL0JJRzVIS1NDUy5pcnJldmVyc2libGU6IE5ldyBmaWxlLgoKMjAwMC0xMC0yMyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiB0aW1lem9uZS96ZHVtcC5jIChtYWluKTogc2V0bG9jYWxlIExDX0NUWVBFIGFzIHdlbGwgYXMgTENfTUVTU0FHRVMuCgkqIHRpbWV6b25lL3ppYy5jIChtYWluKTogTGlrZXdpc2UuCgoyMDAwLTEwLTIzICBUaG9yc3RlbiBLdWt1ayAgPGt1a3VrQHN1c2UuZGU+CgoJKiBuc2NkL2Nvbm5lY3Rpb25zLmMgKGludmFsaWRhdGVfY2FjaGUpOiBEb24ndCBpbnZhbGlkYXRlIGEgY2FjaGUKCWlmIGl0IGlzIG5vdCBlbmFibGVkLgoKMjAwMC0xMC0yMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9zMzkwL2ZwdS9saWJtLXRlc3QtdWxwczogTmV3IHVscHMuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3N5c2NhbGxzLmxpc3Q6IEFkZCBmY250bDY0LgoJUGF0Y2ggYnkgUmFsZiBCYWVjaGxlIDxyYWxmQGdudS5vcmc+LgoKMjAwMC0xMC0yMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtbG9hZC5jIChfZGxfbWFwX29iamVjdF9mcm9tX2ZkKTogU3BsaXQgb3V0IEVMRiBmaWxlCgl2ZXJpZmljYXRpb24gaW4gb3Blbl92ZXJpZnkuCgkob3Blbl92ZXJpZnkpOiBOZXcgZnVuY3Rpb24uICBDYWxsZWQgaW5zdGVhZCBvZiBvcGVuLiAgSWdub3JlcyB2YWxpZAoJZmlsZXMgZm9yIG90aGVyIGFyY2hpdGVjdHVyZXMuCgkob3Blbl9wYXRoKTogQ2FsbCBvcGVuX3ZlcmlmeSBpbnN0ZWFkIG9mIG9wZW4uCgkoX2RsX21hcF9vYmplY3QpOiBMaWtld2lzZS4KCVNvbWV3aGF0IGJhc2VkIG9uIGEgcGF0Y2ggYnkgRG9uIER1Z2dlciA8bjBhbm9AdmFsaW51eC5jb20+LgoKCSogaW8vcHdkLmMgKG1haW4pOiBUaGUgb3V0cHV0IHdhcyBtaXNzaW5nIGEgbmV3bGluZS4KCgkqIHBvc2l4L2ZubWF0Y2hfbG9vcC5jOiBNYWtlIEZOTV9MRUFESU5HX0RJUiBiZWhhdmUgYXMgR05VIHRhcgoJZXhwZWN0cyBpdC4gIFBhdGNoIGJ5IENvbGluIFdhdHNvbiA8cml2YS51Y2FtLm9yZz4uCgkqIHBvc2l4L3RzdC1mbm1hdGNoLmlucHV0OiBBZGQgdGVzdCBjYXNlcyBmb3IgRk5NX0xFQURJTkdfRElSLgoKCSogZWxmL2RsLW9wZW4uYyAoYWRkX3RvX2dsb2JhbCk6IE5ldyBmdW5jdGlvbi4gIFNwbGl0IG91dCBmcm9tCglkbF9vcGVuX3dvcmtlci4KCShkbF9vcGVuX3dvcmtlcik6IENhbGwgYWRkX3RvX2dsb2JhbCBub3Qgb25seSBmb3IgbmV3IG9iamVjdHMsIGFsc28gZm9yCglwcmV2aW91c2x5IGxvYWRlZCBvYmplY3RzIHdoZW4gKG1vZGUgJiBSVExEX0dMT0JBTCkgYW5kIHRoZSBvYmplY3QKCXdhcyBub3QgeWV0IGluIHRoZSBnbG9iYWwgc2NvcGUuCgkqIGVsZi9NYWtlZmlsZTogQWRkIHJ1bGVzIHRvIGJ1aWxkIGFuZCBydW4gbGF0ZWdsb2JhbC4KCSogZWxmL2xhdGVnbG9iYWwuYzogTmV3IGZpbGUuCgkqIGVsZi9sdGdsb2Jtb2QxLmM6IE5ldyBmaWxlLgoJKiBlbGYvbHRnbG9ibW9kMi5jOiBOZXcgZmlsZS4KCjIwMDAtMTAtMjAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9saW5rLmggKHN0cnVjdCBsaW5rX21hcCk6IEFkZCBsX3NvbmFtZV9hZGRlZCBiaXRmaWVsZC4KCSogZWxmL2RsLWxvYWQuYyAoX2RsX21hcF9vYmplY3QpOiBSZW1lbWJlciB3aGVuIHdlIGFkZGVkIHRoZQoJU09OQU1FIHRvIHRoZSBsX2xpYm5hbWUgbGlzdCBhbmQgZG9uJ3QgdHJ5IGl0IGFnYWluLgoKCSogZWxmL2RsLWNsb3NlLmM6IERlY3JlbWVudCBvcGVuY291bnQgZm9yIGFsbCBkZXBlbmRlbmNpZXMgd2hpY2ggY2FuCgliZSByZW1vdmVkIGV2ZW4gaWYgdGhlIG9iamVjdCBpcyBub3QgeWV0IHVubG9hZGVkLgoJKiBlbGYvZGwtZGVwcy5jIChfZGxfbWFwX29iamVjdF9kZXBzKTogSWYgZGVwZW5kZW5jeSBpcyBhbHJlYWR5IGluCgl0aGUgbGlzdCBkZWNyZW1lbnQgb3BlbmNvdW50IG9mIGFsbCBkZXBlbmRlbmNpZXMuCgkqIGVsZi9kbC1sb2FkLmMgKF9kbF9tYXBfb2JqZWN0X2Zyb21fZmQpOiBJbmNyZW1lbnQgb2JqZWN0IG9mIG9iamVjdAoJYW5kIGFsbCBkZXBlbmRlbmNpZXMuCgkoX2RsX21hcF9vYmplY3QpOiBMaWtld2lzZS4KCSogZWxmL2RsLWxvb2t1cC5jIChhZGRfZGVwZW5kZW5jeSk6IExpa2V3aXNlLgoKCSogZWxmL2xvYWR0ZXN0LmM6IEFkZCBkZWJ1ZyB3aGVuIHdpdGggbW9yZSBvdXRwdXQuCgoJKiBlbGYvTWFrZWZpbGU6IEFkZCBydWxlcyB0byBidWlsZCBhbmQgcnVuIHVubG9hZDIuCgkqIGVsZi91bmxvYWQyLmM6IE5ldyBmaWxlLgoJKiBlbGYvdW5sb2FkMm1vZC5jOiBOZXcgZmlsZS4KCSogZWxmL3VubG9hZDJkZXAuYzogTmV3IGZpbGUuCgoJKiBpbnRsL2xpYmludGwuaCAobmdldHRleHQgbWFjcm8pOiBBZGQgbWlzc2luZyBwYXJhbWV0ZXIuCgkoZG5nZXR0ZXh0IG1hY3JvKTogTGlrZXdpc2UuCgoyMDAwLTEwLTE5ICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBlbGYvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgbmVlZGVkdGVzdC5jLCBuZWVkZWRvYmoxLmMsCgluZWVkZWRvYmoyLmMgYW5kIG5lZWRlZG9iajMuYy4KCSh0ZXN0cyk6IEFkZCBuZWVkZWR0ZXN0LgoJKG1vZHVsZXMtbmFtZXMpOiBBZGQgbmVlZGVkb2JqMSwgbmVlZGVkb2JqMiBhbmQgbmVlZGVkb2JqMy4KCSgkKG9ianBmeCluZWVkZWRvYmoxLnNvKTogTmV3IHRhcmdldC4KCSgkKG9ianBmeCluZWVkZWRvYmoyLnNvKTogTGlrZXdpc2UuCgkoJChvYmpwZngpbmVlZGVkb2JqMy5zbyk6IExpa2V3aXNlLgoJKCQob2JqcGZ4KW5lZWRlZHRlc3QpOiBMaWtld2lzZS4KCSgkKG9ianBmeCluZWVkZWR0ZXN0Lm91dCk6IExpa2V3aXNlLgoJKiBlbGYvbmVlZGVkdGVzdC5jOiBOZXcuIEJhc2VkIG9uIHRoZSBidWcgcmVwb3J0IGZyb20KCUFsbGVuIEJhdWVyIDxreWxpeF9yZEBob3RtYWlsLmNvbT4uCgkqIGVsZi9uZWVkZWRvYmoxLmM6IExpa2V3aXNlLgoJKiBlbGYvbmVlZGVkb2JqMi5jOiBMaWtld2lzZS4KCSogZWxmL25lZWRlZG9iajMuYzogTGlrZXdpc2UuCgoyMDAwLTEwLTIwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9kbC1sb2FkLmMgKF9kbF9tYXBfb2JqZWN0X2Zyb21fZmQpOiBQYXNzIHBvaW50ZXIgdG8gRUxGIGhlYWRlcgoJdG8gZWxmX21hY2hpbmVfbWF0Y2hlc19ob3N0LgoJKiBzeXNkZXBzL2FscGhhL2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfbWF0Y2hlc19ob3N0KTogUGFyYW1ldGVyCglpcyBub3cgcG9pbnRlciB0byBFTEYgaGVhZGVyLgoJKiBzeXNkZXBzL2FybS9kbC1tYWNoaW5lLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtbWFjaGluZS5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9ocHBhL2RsLW1hY2hpbmUuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9kbC1tYWNoaW5lLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2lhNjQvZGwtbWFjaGluZS5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9tNjhrL2RsLW1hY2hpbmUuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbWlwcy9kbC1tYWNoaW5lLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21pcHMvbWlwczY0L2RsLW1hY2hpbmUuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG93ZXJwYy9kbC1tYWNoaW5lLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3MzOTAvZGwtbWFjaGluZS5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zaC9kbC1tYWNoaW5lLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvZGwtbWFjaGluZS5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L2RsLW1hY2hpbmUuaDogTGlrZXdpc2UuCglQYXRjaCBieSBNYXJ0aW4gU2Nod2lkZWZza3N5IDxzY2h3aWRlZnNreUBkZS5pYm0uY29tPi4KCjIwMDAtMTAtMjAgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9saW1pdHMuaDogSW5jbHVkZSBiaXRzL3dvcmRzaXplLmgsIHVzZSAjaWYgX19XT1JEU0laRSA9PSA2NAoJY2hlY2sgaW5zdGVhZCBvZiAjaWZkZWYgX19hbHBoYV9fLgoJKiBpbmNsdWRlL2JpdHMveG9wZW5fbGltLmggKFdPUkRfQklULCBMT05HX0JJVCk6IERvbid0IGNvdW50IG9uCglJTlRfTUFYLCBfX0lOVF9NQVhfXywgTE9OR19NQVggb3IgX19MT05HX01BWF9fIGJlaW5nIGRlZmluZWQgd2hlbgoJdGhpcyBpcyBpbmNsdWRlZC4KCjIwMDAtMTAtMjAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvd29yZGV4cC10c3Quc2ggKHRlc3RvdXQpOiBQbGFjZSBvdXRwdXQgZmlsZSBpbiBidWlsZAoJZGlyZWN0b3J5LiAgUGF0Y2ggYnkgSm9zZXBoIFMuIE15ZXJzIDxqc20yOEBjYW0uYWMudWs+LgoKCSogc3lzZGVwcy9wb3dlcnBjL2ZwdS9iaXRzL21hdGhpbmxpbmUuaDogUHJldHR5IHByaW50LgoKMjAwMC0xMC0xOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBoZXNpb2QvbnNzX2hlc2lvZC9oZXNpb2QtZ3JwLmMgKF9uc3NfaGVzaW9kX2luaXRncm91cHNfZHluKToKCUNvcnJlY3RseSBoYW5kbGUgbnVtZXJpYyBncm91cCBtZW1iZXIgaW5mb3JtYXRpb24uCglQYXRjaCBieSB0b21hc3dAY3MuaHVqaS5hYy5pbC4KCgkqIGhlc2lvZC9uc3NfaGVzaW9kL2hlc2lvZC1ncnAuYyAoX25zc19oZXNpb2RfaW5pdGdyb3Vwc19keW4pOgoJQ29tcGxldGUgdGVzdCBmb3Igc3RydG9sIG92ZXJmbG93LgoKMjAwMC0xMC0xOSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9zZW1jdGwuYyAoX19uZXdfc2VtY3RsKTogUGFzcyB1bmlvbgoJc2VtdW4gYXMgNHRoIGFyZ3VtZW50IHRvIHNlbWN0bCBzeXNjYWxsLCBub3QgYWRkcmVzcyBvZiBpdC4KCjIwMDAtMTAtMTggIEZyYW56IFNpcmwgIDxGcmFuei5TaXJsLWtlcm5lbEBsYXV0ZXJiYWNoLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvc3lzY2FsbHMubGlzdDogQWRkIGZjbnRsNjQoKSBzeXNjYWxsLgoKMjAwMC0xMC0xNyAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIHN0cmluZy9zdHJpbmcuaDogUmVtb3ZlIGRlY2xhcmF0aW9uIG9mIF9fc3RyY2FzZWNtcCBhbmQgX19zdHJjYXNlc3RyLgoJKiBpbmNsdWRlL3N0cmluZy5oOiBEZWNsYXJlIHRoZW0gaGVyZS4KCjIwMDAtMTAtMTggIFJhbGYgQmFlY2hsZSAgPHJhbGZAZ251Lm9yZz4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvc3lzL3N5c2NhbGwuaDogSW5jbHVkZSA8YXNtL3VuaXN0ZC5oPi4KCjIwMDAtMTAtMTkgIEdlb2ZmcmV5IEtlYXRpbmcgIDxnZW9mZmtAY3lnbnVzLmNvbT4KCgkqIHN5c2RlcHMvcG93ZXJwYy9mcHUvYml0cy9tYXRoaW5saW5lLmg6IEFkZCB2ZXJzaW9ucwoJb2YgdGhlIHVub3JkZXJlZCBjb21wYXJpc29uIGZ1bmN0aW9ucyB0aGF0IHVzZSB0aGUgR0NDIGJ1aWx0aW5zLgoKCSogc3lzZGVwcy9wb3dlcnBjL2RsLW1hY2hpbmUuYyAoZGxfcmVsb2Nfb3ZlcmZsb3cpOiBOZXcgZnVuY3Rpb24uCgkoX19wcm9jZXNzX21hY2hpbmVfcmVsYSk6IFByaW50IHRoZSBhZGRyZXNzIG9mIGFuIG92ZXJmbG93aW5nCglyZWxvYy4KCjIwMDAtMTAtMTggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2htX29wZW4uYzogQ29ycmVjdCBkZWZhdWx0IG1vdW50IHBvaW50CglpbiBjb21tZW50cy4KCShmcmVlaXQpOiBSZW1vdmUgdW5uZWNlc3NhcnkgdGVzdC4KCjIwMDAtMTAtMTggIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvbWlwcy9kbC1tYWNoaW5lLmggKEVMRl9NSVBTX0dOVV9HT1QxX09LKTogTmV3LgoJKEVMRl9NQUNISU5FX0JFRk9SRV9SVExEX1JFTE9DKTogSGFuZGxlIG5ld2VyIGxpbmtlcnMuCgkoZWxmX21hY2hpbmVfcnVudGltZV9saW5rX21hcCk6IExpa2V3aXNlLgoJKGVsZl9tYWNoaW5lX3J1bnRpbWVfc2V0dXApOiBMaWtld2lzZS4KCUhhbmRsZSBkeW5hbWljIGxpbmtlcidzIGxvY2FsIGdvdCBlbnRyaWVzLgoJUGF0Y2hlcyBieSBSYWxmIEJhZWNobGUgPHJhbGZAZ251Lm9yZz4uCgoyMDAwLTEwLTA5ICBNYWNpZWogVy4gUm96eWNraSAgPG1hY3JvQGRzMi5wZy5nZGEucGw+CgoJKiBzeXNkZXBzL21pcHMvZGwtbWFjaGluZS5oIChfZGxfcnVudGltZV9yZXNvbHZlKTogRGVmaW5lICRzcCBhcwoJdGhlIGZyYW1lIHBvaW50ZXIuICBBbGxvY2F0ZSBzdGFjayBzcGFjZSBmb3IgJGEwIGZvcgoJX19kbF9ydW50aW1lX3Jlc29sdmUoKS4gIERvIG5vdCBzYXZlICRzcCBpbiAkczAgYXMgaXQncwoJY2FsbGVlLXNhdmVkIGFueXdheS4KCjIwMDAtMTAtMTcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9wb3dlcnBjL2ZwdS9saWJtLXRlc3QtdWxwczogVXBkYXRlIGZvciBjaGFuZ2VzIGluCglsaWJtLXRlc3QuaW5jLgoKMjAwMC0xMC0xNyAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIHN5c2RlcHMvbTY4ay9mcHUvbGlibS10ZXN0LXVscHM6IFVwZGF0ZSBmb3IgY2hhbmdlcyBpbgoJbGlibS10ZXN0LmluYy4KCjIwMDAtMTAtMTcgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9pZWVlNzU0L2xkYmwtMTI4L3ByaW50Zl9mcGhleC5jIChQUklOVF9GUEhFWF9MT05HX0RPVUJMRSk6CglBZGQgbWlzc2luZyBiYWNrc2xhc2guCgoyMDAwLTEwLTE2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1zeXNkZXAuYyAoRExfRklORF9BUkdfQ09NUE9ORU5UUyk6IExpdHRsZSBjbGVhbnVwLgoKCSogc3lzZGVwcy9pMzg2L2ZwdS9saWJtLXRlc3QtdWxwczogVXBkYXRlIGZvciBjaGFuZ2VzIGluIGxpYm0tdGVzdC5pbmMuCgoyMDAwLTEwLTE2ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIG1hdGgvbGlibS10ZXN0LmluYyAoTV9MT0dfU1FSVF9QSWwsIE1fTE9HXzJfU1FSVF9QSWwpOiBJbmNyZWFzZQoJcHJlY2lzaW9uLgoJKGFjb3NfdGVzdCwgYXNpbl90ZXh0LCBjZXhwX3Rlc3QsIGNvc190ZXN0LCBjcHJval90ZXN0LCBleHAxMF90ZXN0LAoJc2luX3Rlc3QsIHNpbmNvc190ZXN0LCBzcXJ0X3Rlc3QpOiBMaWtld2lzZS4gIEFkZCBMIHN1ZmZpeGVzIGFsc28KCXRvIHBhcmFtZXRlcnMuCgkoYWNvc2hfdGVzdCwgYXNpbmhfdGVzdCwgYXRhbjJfdGVzdCwgYXRhbmhfdGVzdCwgYXRhbl90ZXN0LCBjYWJzX3Rlc3QsCgljYWNvc2hfdGVzdCwgY2Fjb3NfdGVzdCwgY2FzaW5oX3Rlc3QsIGNhc2luX3Rlc3QsIGNhdGFuaF90ZXN0LAoJY2F0YW5fdGVzdCwgY2JydF90ZXN0LCBjY29zaF90ZXN0LCBjY29zX3Rlc3QsIGNsb2cxMF90ZXN0LCBjb3NoX3Rlc3QsCgljc2luaF90ZXN0LCBjc2luX3Rlc3QsIGNzcXJ0X3Rlc3QsIGN0YW5oX3Rlc3QsIGN0YW5fdGVzdCwgZXJmY190ZXN0LAoJZXJmX3Rlc3QsIGV4cDJfdGVzdCwgZXhwbTFfdGVzdCwgZXhwX3Rlc3QsIGZtb2RfdGVzdCwgaHlwb3RfdGVzdCwKCWowX3Rlc3QsIGoxX3Rlc3QsIGpuX3Rlc3QsIGxnYW1tYV90ZXN0LCBsbHJpbnRfdGVzdCwgbGxyb3VuZF90ZXN0LAoJbG9nMTBfdGVzdCwgbG9nMXBfdGVzdCwgbG9nMl90ZXN0LCBsb2dfdGVzdCwgbHJpbnRfdGVzdCwgbHJvdW5kX3Rlc3QsCgluZXh0YWZ0ZXJfdGVzdCwgbmV4dHRvd2FyZF90ZXN0LCBwb3dfdGVzdCwgcm91bmRfdGVzdCwgc2NhbGJfdGVzdCwKCXNpbmhfdGVzdCwgc3RhdGljIHZvaWQsIHRhbmhfdGVzdCwgdGFuX3Rlc3QsIHRnYW1tYV90ZXN0LCB5MF90ZXN0LAoJeTFfdGVzdCwgeW5fdGVzdCk6IEFkZCBMIHN1ZmZpeGVzIGFsc28gdG8gcGFyYW1ldGVycy4KCSogc3lzZGVwcy9pZWVlNzU0L2xkYmwtMTI4L3NfY2VpbGwuYyAoX19jZWlsbCk6IEZpeCBtYXNrLgoJKiBzeXNkZXBzL2llZWU3NTQvbGRibC0xMjgvc19mbG9vcmwuYyAoX19mbG9vcmwpOiBMaWtld2lzZS4KCSogc29mdC1mcC9vcC0yLmggKF9GUF9GUkFDX1NSU18yKTogRml4IGNvbXB1dGF0aW9uIG9mIHN0aWNreSBiaXQuCgoyMDAwLTEwLTE2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHRpbWV6b25lL01ha2VmaWxlOiBEZWZpbmUgSEFWRV9HRVRURVhUIGZvciB6ZHVtcC5jLCB6aWMuYywKCWlhbGxvYy5jLCBhbmQgc2NoZWNrLmMuCgkqIG1hbGxvYy9vYnN0YWNrLmM6IEFsd2F5cyBpbmNsdWRlIDxsaWJpbnRsLmg+IGZvciBnbGliYy4KCSogcG9zaXgvZ2V0b3B0LmM6IExpa2V3aXNlLgoJUmVwb3J0ZWQgYnkgUGV0ciBWYW5kcm92ZWMgPFZBTkRST1ZFQHZjLmN2dXQuY3o+LgoKMjAwMC0xMC0xNSAgUGV0ZSBXeWNrb2ZmICA8cHdAb3NjLmVkdT4KCgkqIFJ1bGVzOiBEZWZpbmUgX0xJQkMgZHVyaW5nIGdlbmVyYXRpb24gb2YgYml0cy9zdGRpb19saW0uZC4KCjIwMDAtMTAtMTUgIFBldGUgV3lja29mZiAgPHB3QG9zYy5lZHU+CgoJKiBpY29udmRhdGEvdHN0LXRhYmxlcy5zaDogSW52b2tlIG90aGVyIHNoZWxsIHNjcmlwdHMgdGhyb3VnaCAke1NIRUxMfS4KCSogaWNvbnZkYXRhL3RzdC10YWJsZS5zaDogTGlrZXdpc2UuCgoyMDAwLTEwLTE1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9kbC1lcnJvci5jIChfZGxfc2lnbmFsX2Vycm9yKTogQWxsb2NhdGUgbWVtb3J5IGZvciBvYmpuYW1lCglhcyB3ZWxsLiAgUmVwb3J0ZWQgYnkgQWxleGFuZGVyIFYuIEx1a3lhbm92IDxsYXZAeWFycy5mcmVlLm5ldD4uCgoJKiBpY29udmRhdGEvZ2NvbnYtbW9kdWxlczogQWRkIGFsaWFzZXMgZm9yIFdpbmJsb3d6IGNoYXJzZXRzLgoJUGF0Y2ggYnkgSm9zZXBoIFMuIE15ZXJzIDxqc20yOEBjYW0uYWMudWs+LgoKMjAwMC0xMC0xMyAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIGVsZi9lbGYuaCAoUl9JQTY0X1BDUkVMNjBCKTogQWRkIHJlbG9jYXRpb24uCgoyMDAwLTEwLTE1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEvYnJrLmM6IENsZWFudXBzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ocHBhL3Vtb3VudC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS9iaXRzL3NpZ2FjdGlvbi5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS9iaXRzL3NpZ251bS5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS9zeXMvdWNvbnRleHQuaDogTGlrZXdpc2UuCgoyMDAwLTEwLTE0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hdGgvbGlibS10ZXN0LmluYyAoZnJleHBfdGVzdCk6IEFkZCBMIHN1ZmZpeCBhbHNvIHRvIHBhcmFtZXRlcnMuCgkoaHlwb3RfdGVzdCk6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9nZW5lcmljL3ByaW50Zl9mcGhleC5jOiBDb21wdXRlIHdpZHRoIG9mIGRlY2ltYWwgcG9pbnQKCXN0cmluZyBjb3JyZWN0bHkuICBIYW5kbGUgcGFkZGluZyBjb3JyZWN0bHkuCgoJKiBzeXNkZXBzL2lhNjQvZnB1L3ByaW50Zl9mcGhleC5jOiBVc2Ugc2l6ZW9mIGluIF9pdG93YSBwYXJhbWV0ZXJzCgljb3JyZWN0bHkuCgkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTEyOC9wcmludGZfZnBoZXguYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTk2L3ByaW50Zl9mcGhleC5jOiBMaWtld2lzZS4KCjIwMDAtMTAtMTIgIEFsYW4gTW9kcmEgIDxhbGFuQGxpbnV4Y2FyZS5jb20uYXU+CgoJKiBGQVEuaW46IEFkZCAtLXN0YXJ0LWdyb3VwIGFuZCAtLWVuZC1ncm91cC4KCjIwMDAtMTAtMTIgIEFsYW4gTW9kcmEgIDxhbGFuQGxpbnV4Y2FyZS5jb20uYXU+CgoJKiBtYWxsb2MvbWVtdXNhZ2UuYzogQ29uZGl0aW9uYWxpemUgc3RhY2sgdXNhZ2UgY2FsY3VsYXRpb24gb24KCXN0YWNrIGRpcmVjdGlvbi4KCjIwMDAtMTAtMTIgIEFsYW4gTW9kcmEgIDxhbGFuQGxpbnV4Y2FyZS5jb20uYXU+CgoJKiBjb25maWcuaC5pbjogQWRkIEFTTV9MSU5FX1NFUC4KCSogY29uZmlndXJlLmluOiBBZGQgdGVzdCBmb3IgY29tbWVudCBhbmQgbGluZSBzZXBhcmF0b3JzLgoJKiBpbmNsdWRlL2xpYmMtc3ltYm9scy5oOiBEZWZpbmUgYW5kIHVzZSBBU01fTElORV9TRVAsIGFuZCBhZGQgdGFicyB0bwoJcGxhY2F0ZSBzb21lIGhwcGEgYXNzZW1ibGVycy4KCSogc3lzZGVwcy9ocHBhL3N5c2RlcC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nbnUvc2lnbGlzdC5jOiBJbnNlcnQgXG4gYW5kIFx0IGludG8gaW5saW5lIGFzbS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZXJybGlzdC5jOiBMaWtld2lzZS4KCjIwMDAtMTAtMTIgIERhdmlkIEh1Z2dpbnMtRGFpbmVzICA8ZGhkQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9NYWtlZmlsZTogSW5jbHVkZSA8Yml0cy9pbml0c3Bpbj4gaW4KCSQoc3lzZGVwX2hlYWRlcnMpLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL2luaXRzcGluLmg6IER1bW15IHZlcnNpb24gZm9yCglub24tdGhyZWFkZWQgcGxhdGZvcm1zLgoKMjAwMC0xMC0xMiAgRGF2aWQgSHVnZ2lucy1EYWluZXMgIDxkaGRAbGludXhjYXJlLmNvbT4KCgkqIGNvbmZpZ3VyZS5pbjogQWRkIGRlZmluaXRpb25zIGZvciBocHBhLgoJKiBlbGYvZWxmLmg6IEFkZCBQTEFCRUwzMiByZWxvY2F0aW9uIGZvciBocHBhIEVMRjMyLCBjb21tZW50cwoJZm9yIElQTFQgYW5kIEVQTFQgcmVsb2NhdGlvbnMuCgkqIHNobGliLXZlcnNpb25zOiBWZXJzaW9uIHN5bWJvbCBkZWZpbml0aW9ucyBmb3IgaHBwYS1saW51eC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY29uZmlndXJlLmluOiBEZWZpbmUgJGFyY2hfbWluaW11bV9rZXJuZWwKCWZvciBocHBhLgoKMjAwMC0xMC0xMiAgRGF2aWQgSHVnZ2lucy1EYWluZXMgIDxkaGRAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvaHBwYS9NYWtlZmlsZTogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaHBwYS9WZXJzaW9uczogTmV3IGZpbGUuCgoJKiBzeXNkZXBzL2hwcGEvc2V0am1wLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2hwcGEvX19sb25nam1wLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2hwcGEvYml0cy9zZXRqbXAuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaHBwYS9mcmFtZS5oOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvaHBwYS9hZGRfbi5zOiBEb24ndCB1c2UgJXIxOSAobGlua2FnZSB0YWJsZSBwb2ludGVyKS4KCSogc3lzZGVwcy9ocHBhL3N1Yl9uLnM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2hwcGEvbHNoaWZ0LnM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2hwcGEvcnNoaWZ0LnM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2hwcGEvdWRpdl9xcm5uZC5zOiBMaWtld2lzZS4KCSogc3lzZGVwcy9ocHBhL2hwcGExLjEvYWRkbXVsXzEuczogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaHBwYS9ocHBhMS4xL3N1Ym11bF8xLnM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2hwcGEvaHBwYTEuMS9tdWxfMS5zOiBMaWtld2lzZS4KCSogc3lzZGVwcy9ocHBhL2hwcGExLjEvdWRpdl9xcm5uZC5zOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvaHBwYS9kbC1tYWNoaW5lLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2hwcGEvZGwtZnB0ci5jOiBOZXcgZmlsZSAobm90ZSB0aGF0IHRoaXMgaXMgYWxtb3N0CglpZGVudGljYWwgdG8gdGhlIElBLTY0IG9uZSkuCgkqIHN5c2RlcHMvaHBwYS9kbC1sb29rdXBjZmcuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaHBwYS9kbC1zeW1hZGRyLmM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9ocHBhL2VsZi9pbml0ZmluaS5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9ocHBhL2VsZi9zdGFydC5TOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvaHBwYS9mcHUvYml0cy9mZW52Lmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2hwcGEvZnB1L2ZjbHJleGNwdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9ocHBhL2ZwdS9mZWRpc2JseGNwdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9ocHBhL2ZwdS9mZWVuYWJseGNwdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9ocHBhL2ZwdS9mZWdldGVudi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9ocHBhL2ZwdS9mZWdldGV4Y2VwdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9ocHBhL2ZwdS9mZWdldHJvdW5kLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2hwcGEvZnB1L2ZlaG9sZGV4Y3B0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2hwcGEvZnB1L2Zlc2V0ZW52LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2hwcGEvZnB1L2Zlc2V0cm91bmQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaHBwYS9mcHUvZmV1cGRhdGVlbnYuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaHBwYS9mcHUvZmVnZXRleGNwdGZsZy5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9ocHBhL2ZwdS9mcmFpc2VleGNwdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9ocHBhL2ZwdS9mc2V0ZXhjcHRmbGcuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaHBwYS9mcHUvZnRlc3RleGNlcHQuYzogTmV3IGZpbGUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ocHBhL01ha2VmaWxlOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS9WZXJzaW9uczogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEvc3lzY2FsbHMubGlzdDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEvc3lzZGVwLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ocHBhL3N5c2RlcC5oOiBOZXcgZmlsZS4KCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ocHBhL2JpdHMvZmNudGwuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEvYml0cy9pb2N0bHMuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEvYml0cy9tbWFuLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ocHBhL2JpdHMvc2lnYWN0aW9uLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ocHBhL2JpdHMvc2lnbnVtLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ocHBhL2Jyay5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS9jbG9uZS5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS9zb2NrZXQuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEvc3lzY2FsbC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS9zZXRybGltaXQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEvZ2V0cmxpbWl0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ocHBhL2dldHJsaW1pdDY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ocHBhL2tlcm5lbF9zaWdhY3Rpb24uaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEva2VybmVsX3N0YXQuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEvbW1hcC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS9wcm9maWwtY291bnRlci5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS9wcm9jZnMuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEvdWNvbnRleHQuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEvdW1vdW50LmM6IE5ldyBmaWxlLgoKMjAwMC0xMC0xMiAgQWxhbiBNb2RyYSAgPGFsYW5AbGludXhjYXJlLmNvbS5hdT4KCgkqIHN5c2RlcHMvaHBwYS9ocHBhMS4xL0ltcGxpZXM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2hwcGEvbWVtdXNhZ2UuaDogTmV3IGZpbGUuCgoyMDAwLTEwLTI4ICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvVmVyc2lvbnM6IEV4cG9ydCBpb3Blcm0sIGlvcGwsIGluYiwKCWludywgaW5sLCBfaW5iLCBfaW53LCBfaW5sLCBvdXRiLCBvdXR3LCBvdXRsLCBfb3V0YiwgX291dHcsCglfb3V0bC4gIFJlcG9ydGVkIGJ5IEJpbGwgTm90dGluZ2hhbS4KCjIwMDAtMDQtMDYgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzeXNkZXBzL2lhNjQvZGwtbWFjaGluZS5oIChUUkFNUE9MSU5FX1RFTVBMQVRFKTogU2F2ZSBhbmQKCXJlc3RvcmUgcmVnaXN0ZXIgcjggZm9yIGZ1bmN0aW9ucyB0aGF0IHJldHVybiBhIHN0cnVjdHVyZS4KCjIwMDAtMTAtMTIgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogbWF0aC9saWJtLXRlc3QuaW5jIChNX1BJXzZsLCBNX0UybCwgTV9FM2wsIE1fMl9TUVJUX1BJbCwKCU1fU1FSVF9QSWwpOiBJbmNyZWFzZSBwcmVjaXNpb24uCgkoY2JydF90ZXN0KTogSWYgY2JydCBpcyBub3QgaW1wbGVtZW50ZWQsIGRvbid0IHRlc3QgaXQuCglBZGQgTCBzdWZmaXggdG8gZG91YmxlIGNvbnN0YW50cyBpbiByZXN1bHRzIHdoaWNoIGRpZmZlciBmcm9tIHRoZWlyCglMIHN1ZmZpeGVkIGNvdW50ZXJwYXJ0cy4KCShleHAxMF90ZXN0LCBmbW9kX3Rlc3QsIGZyZXhwX3Rlc3QsIGh5cG90X3Rlc3QsIHNxcnRfdGVzdCk6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L2ZwdS9saWJtLXRlc3QtdWxwczogVXBkYXRlLgoKMjAwMC0xMC0xMSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBpbmV0L3JleGVjLmMgKHJleGVjX2FmKTogQ29udmVydCBycG9ydCB0byBob3N0IG9yZGVyIGJlZm9yZQoJcGFzc2luZyBpdCB0byBzbnByaW50Zi4KCjIwMDAtMTAtMTQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9nbnUvbmV0aW5ldC90Y3AuaDogVXNlIHVfaW50WFhfdCB0eXBlcyBpbnN0ZWFkIG9mCgl1aW50WFhfdCBzaW5jZSB0aGlzIGlzIHdoYXQgPHN5cy90eXBlcy5oPiBkZWZpbmVzIGFuZCB3ZSBpbmNsdWRlCgl0aGlzIGhlYWRlci4gIFJlcG9ydGVkIGJ5IEJlcm5oYXJkIFJvc2Vua3JhZW56ZXIgPGJlcm9AcmVkaGF0LmRlPi4KCgkqIGludGwvbG9jYWxlYWxpYXMuYyAocmVhZF9hbGlhc19maWxlKTogVXBkYXRlIHN0cmluZyBwb2ludGVycwoJaW4gbWFwW10gaWYgcmVhbGxvYygpIGNoYW5nZWQgdGhlIHZhbHVlcy4KCVBhdGNoIGJ5IEpha3ViIEplbGluZWsgPGpha3ViQHJlZGhhdC5jb20+LgoKCSogbWFudWFsL3N0ZGlvLnRleGk6IFVwZGF0ZSBwcmludGYgZXh0ZW5zaW9uIGRvY3VtZW50YXRpb24gYWZ0ZXIKCXogYmVjYW1lIGEgdmFsaWQgbW9kaWZpZXIuCglQYXRjaCBieSBKb3NlcGggUy4gTXllcnMgPGpzbTI4QGNhbS5hYy51az4uCgoJKiB0aW1lem9uZS9hZnJpY2E6IFVwZGF0ZSBmcm9tIHR6Y29kZTIwMDBnIGFuZCB0emRhdGEyMDAwZy4KCSogdGltZXpvbmUvYXNpYTogTGlrZXdpc2UuCgkqIHRpbWV6b25lL2F1c3RyYWxhc2lhOiBMaWtld2lzZS4KCSogdGltZXpvbmUvYmFja3dhcmQ6IExpa2V3aXNlLgoJKiB0aW1lem9uZS9ldXJvcGU6IExpa2V3aXNlLgoJKiB0aW1lem9uZS9pc28zMTY2LnRhYjogTGlrZXdpc2UuCgkqIHRpbWV6b25lL25vcnRoYW1lcmljYTogTGlrZXdpc2UuCgkqIHRpbWV6b25lL3NvdXRoYW1lcmljYTogTGlrZXdpc2UuCgkqIHRpbWV6b25lL3pvbmUudGFiOiBMaWtld2lzZS4KCjIwMDAtMTAtMTQgIEdlb2ZmcmV5IEtlYXRpbmcgIDxnZW9mZmtAY3lnbnVzLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvc3lzY2FsbHMubGlzdDogQWRkIGZjbnRsKCkKCXN5c2NhbGwuCgoyMDAwLTEwLTEzICBNaWNoYWVsIEZlZHJvd2l0eiAgPG1pY2hhZWxAZmVkcm93aXR6LmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9hbHBoYXNvcnQ2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9mY250bC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9nZXRkZW50czY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tNjhrL2dldHJsaW1pdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9nZXRybGltaXQ2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9nbG9iNjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L202OGsvbG9ja2Y2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9vbGRnZXRybGltaXQ2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9yZWFkZGlyNjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L202OGsvcmVhZGRpcjY0X3IuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L202OGsvc2NhbmRpcjY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tNjhrL3NldHJsaW1pdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay92ZXJzaW9uc29ydDY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tNjhrL0Rpc3Q6IEFkZCBvbGRnZXRybGltaXQ2NC5jLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tNjhrL01ha2VmaWxlOiBBZGQgb2xkZ2V0cmxpbWl0NjQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L202OGsvVmVyc2lvbnM6IEV4cG9ydCBfX3hzdGF0NjQsCglfX2Z4c3RhdDY0LCBfX2x4c3RhdDY0LCBhbHBoYXNvcnQ2NCwgZ2xvYjY0LCBnZXRybGltaXQsIHNldHJsaW1pdCwKCWdldHJsaW1pdDY0LCByZWFkZGlyNjQsIHJlYWRkaXI2NF9yLCBzY2FuZGlyNjQsIHZlcnNpb25zb3J0NjQgYXQKCUdMSUJDXzIuMi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9zeXNjYWxscy5saXN0OiBBZGQgb2xkZ2V0cmxpbWl0LAoJb2xkc2V0cmxpbWl0IGZvciBHTElCQ18yLjAuCgoJKiBzeXNkZXBzL202OGsvZGwtbWFjaGluZS5oIChfZGxfc3RhcnRfdXNlcik6IFBhc3MgY29ycmVjdAoJYXJndW1lbnRzIHRvIF9kbF9pbml0LgoKMjAwMC0xMC0xMyAgR2VvZmZyZXkgS2VhdGluZyAgPGdlb2Zma0BjeWdudXMuY29tPgoKCSogc3lzZGVwcy9pMzg2L2ZwdS9saWJtLXRlc3QtdWxwczogVXBkYXRlIFVMUHMgZm9yIG15IFBlbnRpdW0gSUlJCglidWlsZGluZyB3aXRoIHRoZSBkZWZhdWx0IG9wdGlvbnMuCgoyMDAwLTEwLTExICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtY2FjaGUuYyAoX2RsX2xvYWRfY2FjaGVfbG9va3VwKTogU2V0IGNhY2hlLgoJUGF0Y2ggYnkgRGVuaXMgWmFpdHNldiA8enp6QGNkLWNsdWIucnU+LgoKMjAwMC0xMC0wOSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2llZWU3NTQvbGRibC0xMjgvc19uZXh0dG93YXJkLmMgKF9fbmV4dHRvd2FyZCk6IElmIHggPT0geSwKCXJldHVybiB5IG5vdCB4LgoJKiBtYW51YWwvYXJpdGgudGV4aSAobmV4dGFmdGVyKTogRG9jdW1lbnQgaXQuCgkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTk2L3NfbmV4dHRvd2FyZC5jOiBGaXggYSBjb21tZW50LgoKMjAwMC0xMC0wOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiB2ZXJzaW9uLmggKFZFUlNJT04pOiBCdW1wIHRvIDIuMS45NS4KCgkqIGNvbmZpZ3VyZS5pbjogUmVtb3ZlIHdhcm5pbmcgbWVzc2FnZS4KCgkqIG5zY2QvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgbnNjZC10eXBlcy5oLgoJKiBlbGYvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgZ2NjZnJhbWUuaC4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL0Rpc3Q6IEFkZCBpZWVlNzU0LmguCgkqIHN5c2RlcHMvaWE2NC9EaXN0OiBBZGQgaWVlZTc1NC5oLgoKMjAwMC0xMC0wNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvZWxmLmg6IEFkZCBhIGZldyBzZWN0aW9uLXJlbGF0ZWQgc3ltYm9scy4KCgkqIGluY2x1ZGUvZmVhdHVyZXMuaCAoX19TVERDX0lTT18xMDY0Nl9fKTogU2V0IHRvIGNvcnJlY3QgZGF0ZS4KCVBhdGNoIGJ5IE1hcmt1cyBLdWhuIDxNYXJrdXMuS3VobkBjbC5jYW0uYWMudWs+LgoKMjAwMC0xMC0wNiAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL2lhNjQvZnB1L2ZyYWlzZWV4Y3B0LmMgKGZlcmFpc2VleGNlcHQpOiBJbXBsZW1lbnQKCW92ZXJmbG93IGdlbmVyYXRpb24gYnkgYWRkaW5nIERCTF9NQVggdG8gREJMX01BWCBpbnN0ZWFkIG9mCglzZXR0aW5nIHRoZSBiaXRzIG1hbnVhbGx5IGluIHRoZSBmcHNyIGFuZCBnZW5lcmF0aW5nIHRoZSBleGNlcHRpb24KCXdpdGgga2lsbCgpIGlmIG5lY2Vzc2FyeS4KCShmZXJhaXNlZXhjZXB0KTogSW1wbGVtZW50IHVuZGVyZmxvdyBieSBkaXZpZGluZyBEQkxfTUlOIGJ5CglEQkxfTUlOIC0gc2ltaWxhciB0byB0aGUgb3ZlcmZsb3cgY2hhbmdlIGRlc2NyaWJlZCBhYm92ZS4KCjIwMDAtMDgtMjcgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvY2xvbmUuUzogTWFrZSBpdCBhIGR1bW15IGFzIGNsb25lCglpcyBub3Qgc3VwcG9ydGVkIHVuZGVyIExpbnV4L2lhNjQsIHVzZSBjbG9uZTIuCgoyMDAwLTEwLTA2ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIG1hbGxvYy9tYWxsb2MuaCAoX19USFJPVyk6IERlZmluZSB0byBub3RoaW5nIGlmIG5vdCBnY2MuCgkqIG1pc2Mvc3lzL2NkZWZzLmggKF9fVEhST1cpOiBMaWtld2lzZS4KCjIwMDAtMTAtMDUgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L2ZwdS9saWJtLXRlc3QtdWxwczogTmV3IGZpbGUuCgoyMDAwLTEwLTAyICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN1bnJwYy9zdmNfdWRwLmMgKHN2Y3VkcF9yZWN2KTogU2V0IG1zZ19jb250cm9sbGVuIHRvIGFsbAoJcmVtYWluaW5nIHhwX3BhZCBzcGFjZS4KCjIwMDAtMTAtMDUgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogZWxmL2RsLWNsb3NlLmMgKF9kbF9jbG9zZSk6IENoZWNrIGltYXAncyBsX2ZsYWdzXzEgZm9yCglERl8xX05PREVMRVRFLCBub3QgbGlzdFtpXSdzLgoKMjAwMC0xMC0wNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udmRhdGEvZXVjLWtyLmMgKGV1Y2tyX2Zyb21fdWNzNCk6IEhhbmRsZSBVMjBhOS4KCShCT0RZIGZyb20gZGlyZWN0aW9uKTogTWFwIFx4NWMgdG8gVTIwYTkuCgkqIGljb252ZGF0YS90ZXN0ZGF0YS9FVUMtS1IuLlVURjg6IEFkanVzdCB0byB0aGlzIGNoYW5nZS4KCSogaWNvbnZkYXRhL0VVQy1LUi5pcnJldmVyc2libGU6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgRVVDLUtSLmlycmV2ZXJzaWJsZS4KCgkqIGFyZ3AvYXJncC1wYXJzZS5jIChhcmdwX2RlZmF1bHRfYXJncCk6IFNldCBsaWJjIGFzIG1lc3NhZ2UgZG9tYWluLgoJKGFyZ3BfdmVyc2lvbl9hcmdwKTogTGlrZXdpc2UuCgoyMDAwLTEwLTA0ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN0ZGlvLWNvbW1vbi92ZnNjYW5mLmMgKF9JT192ZnNjYW5mKTogRm9yIFsgY29udmVyc2lvbiBkbwoJaW5wdXRfZXJyb3IoKSBpZiBFT0YgaXMgc2VlbiBiZWZvcmUgcHJvY2Vzc2luZy4KCSogc3RkaW8tY29tbW9uL3RzdHNjYW5mLmMgKG1haW4pOiBBZGQgdGVzdGNhc2UuCgoyMDAwLTEwLTA0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGFyZ3AvYXJncC1oZWxwLmM6IE1ha2Ugc3VyZSB3ZSBnZXQgdGhlIGNvcnJlY3QgZ2V0dGV4dCBhbmQKCWRnZXR0ZXh0IGRlZmluaXRpb25zLgoJKiBhcmdwL2FyZ3AtcGFyc2UuYzogTGlrZXdpc2UuCgoyMDAwLTEwLTAzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9wcm9ncmFtcy9saW5lcmVhZGVyLmMgKGdldF9zdHJpbmcpOiBBbHNvIGNsZWFyIHdpZGUKCXN0cmluZyBpbmZvIGlmIGlsbGVnYWxfc3RyaW5nLgoKMjAwMC0xMC0wMyAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L202OGsvYml0cy9zdGF0Lmg6IE5ldyBmaWxlLgoKMjAwMC0xMC0wMiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBlbGYvbmV4dG1vZDEuYyAoZmFpbGluZ19ydGxkX25leHRfdXNlKTogRW5zdXJlIGl0IGlzIG5vdCB0YWlsIGNhbGwKCW9wdGltaXplZC4KCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9mcHUvbGlibS10ZXN0LXVscHM6IE5ldyBmaWxlLgoKMjAwMC0xMC0wMiAgUmFsZiBCYWVjaGxlICA8cmFsZkBnbnUub3JnPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9zeXMvdGFzLmg6IEFkZCBtaXNzaW5nIC5taXBzMCBhdCB0aGUKCWVuZCBvZiBpbmxpbmUgYXNzZW1ibGVyIGNvZGUuCgoyMDAwLTEwLTAyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvZmVhdHVyZXMuaCBbX19VU0VfRklMRV9PRkZTRVQgJiYgIV9fUkVESVJFQ1RdOiBEZWZpbmUKCV9fVVNFX0xBUkdFRklMRTY0IGFuZCBfX1VTRV9MQVJHRUZJTEUgdG8gMSBhbmQgbm90IG5vdGhpbmcuCgoyMDAwLTEwLTAyICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9iaXRzL2ZjbnRsLmg6IFN5bmNoIHdpdGggTGludXgKCTIuNC4wLXRlc3Q5LXByZTguCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9iaXRzL3Jlc291cmNlLmg6IEFkZCBSTElNSVRfTE9DS1MuCgoyMDAwLTEwLTAxICBSYWxmIEJhZWNobGUgIDxyYWxmQGdudS5vcmc+CgoJKiBzeXNkZXBzL21pcHMvZGwtbWFjaGluZS5oIChSVExEX1NUQVJUKTogRml4IGNvbXB1dGF0aW9uIG9mIGVudnAKCWFyZ3VtZW50IHBhc3NlZCB0byBfZGxfaW5pdC4KCjIwMDAtMDktMzAgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGxvY2FsZS9wcm9ncmFtcy9jaGFybWFwLWRpci5oOiBOZXcgZmlsZS4KCSogbG9jYWxlL3Byb2dyYW1zL2NoYXJtYXAtZGlyLmM6IE5ldyBmaWxlLgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGluZXJlYWRlci5oIChscl9jcmVhdGUpOiBOZXcgZGVjbGFyYXRpb24uCgkqIGxvY2FsZS9wcm9ncmFtcy9saW5lcmVhZGVyLmMgKGxyX2NyZWF0ZSk6IE5ldyBmdW5jdGlvbiwgc3BsaXQgb3V0Cglmcm9tIGxyX29wZW4uCgkobHJfb3Blbik6IFRhaWxjYWxsIGxyX2NyZWF0ZS4KCSogbG9jYWxlL3Byb2dyYW1zL2xvY2FsZS5jOiBJbmNsdWRlICJjaGFybWFwLWRpci5oIi4gRG9uJ3QgaW5jbHVkZQoJPHVuaXN0ZC5oPi4KCSh4c3RyZHVwKTogTmV3IGRlY2xhcmF0aW9uLgoJKG1vcmVfaGVscCk6IFVzZSB4c3RyZHVwIGluc3RlYWQgb2Ygc3RyZHVwLgoJKHdyaXRlX2xvY2FsZXMpOiBMaWtld2lzZS4gV2hlbiBlbmNvdW50ZXJpbmcgYSBzeW1ib2xpYyBsaW5rLCBjYWxsCglzdGF0LgoJKHdyaXRlX2NoYXJtYXBzKTogU2ltcGxpZnkgdXNpbmcgdGhlIGNoYXJtYXAtZGlyLmggZnVuY3Rpb25zLgoJVXNlIHhzdHJkdXAgaW5zdGVhZCBvZiBzdHJkdXAuCgkqIGxvY2FsZS9wcm9ncmFtcy9jaGFybWFwLmM6IEluY2x1ZGUgImNoYXJtYXAtZGlyLmgiLiBEb24ndCBpbmNsdWRlCgk8ZGlyZW50Lmg+IGFuZCA8dW5pc3RkLmg+LgoJKGNtbHJfb3Blbik6IE5ldyBmdW5jdGlvbi4KCShjaGFybWFwX3JlYWQpOiBVc2UgY21scl9vcGVuIGluc3RlYWQgb2YgbHJfb3Blbi4gU2ltcGxpZnkgdXNpbmcgdGhlCgljaGFybWFwLWRpci5oIGZ1bmN0aW9ucy4KCSogbG9jYWxlL01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIGNoYXJtYXAtZGlyLmguCgkobGliLW1vZHVsZXMpOiBBZGQgY2hhcm1hcC1kaXIuCgkoQ0ZMQUdTLWNoYXJtYXAtZGlyLmMpOiBTZXQgdG8gLVduby13cml0ZS1zdHJpbmdzLCBiZWNhdXNlIHBvc2l4X3NwYXduCgl3YW50cyBhICdjaGFyICoqJywgbm90IGEgJ2NvbnN0IGNoYXIgKionLgoJKiBpbmNsdWRlL3NwYXduLmg6IE5ldyBmaWxlLgoKMjAwMC0wOS0zMCAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogcG9zaXgvc3Bhd25fZmFjdGlvbl9pbml0LmM6IEluY2x1ZGUgInNwYXduX2ludC5oIi4KCShfX3Bvc2l4X3NwYXduX2ZpbGVfYWN0aW9uc19yZWFsbG9jKTogRml4IHNlY29uZCByZWFsbG9jIGFyZ3VtZW50LgoKMjAwMC0wOS0zMCAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogbG9jYWxlL3Byb2dyYW1zL2NvbmZpZy5oIChERUZBVUxUX0NIQVJNQVApOiBTZXQgdG8gQU5TSV9YMy40LTE5NjguCgoyMDAwLTA5LTMwICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiB3Y3NtYnMvd2N3aWR0aC5oIChfX2N0eXBlMzJfd2N0eXBlKTogUmVtb3ZlIGRlY2xhcmF0aW9uLgoJKGludGVybmFsX3djd2lkdGgpOiBSZW1vdmUgdGhlIHRlc3RzIGZvciBMJ1wwJyBhbmQgaXN3cHJpbnQuCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jdHlwZS5jIChmaW5kX2lkeCk6IElmIG1heCA9PSBOVUxMLCByZXR1cm4KCWEgcG9pbnRlciB0byB0aGUgdGFibGUgZW50cnksIHdpdGhvdXQgZXh0ZW5kaW5nIHRoZSB0YWJsZS4KCShhbGxvY2F0ZV9hcnJheXMpOiBTZXQgYSB3aWR0aCBvbmx5IGZvciBjaGFyYWN0ZXJzIHdpdGggJ3ByaW50JwoJcHJvcGVydHkuIFNldCB0aGUgd2lkdGggb2YgTCdcMCcgdG8gMC4KCSogbG9jYWxlL0MtY3R5cGUuYyAoX25sX0NfTENfQ1RZUEVfd2lkdGgpOiBVc2UgZGVmYXVsdCBlbnRyeSAweGZmCglmb3IgdW5wcmludGFibGUgY2hhcmFjdGVycy4gIFNldCBlbnRyeSBvZiBOVUwgdG8gMC4KCjIwMDAtMDktMzAgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGxvY2FsZS9wcm9ncmFtcy9jaGFybWFwLmMgKGNoYXJtYXBfcmVhZCk6IEF2b2lkIHJlZHVuZGFudCB0ZXN0cy4KCURvbid0IGZvcmdldCB0byBjYWxsIGNsb3NlZGlyIHdoZW4gdGhlIGZpbGVuYW1lIHdhcyBmb3VuZCBhcyBhCgljb2RlX3NldF9uYW1lLgoKMjAwMC0wOS0zMCAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaWNvbnYvZ2NvbnYuaCAoX19nY29udl90cmFuc19jb250ZXh0X2ZjdCk6IENoYW5nZSBmaXJzdCBhcmd1bWVudCdzCgl0eXBlIHRvICd2b2lkIConLgoKMjAwMC0wOS0zMCAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLWN0eXBlLmMgKHdjdHlwZV90YWJsZV9pbml0KTogSW5pdGlhbGl6ZSBsZXZlbDEsCglsZXZlbDIsIGFuZCBsZXZlbDMgYXMgd2VsbC4KCSh3Y3R5cGVfdGFibGVfYWRkKTogUmVtb3ZlIGEgZmV3IHVubmVjZXNzYXJ5IGNvbmRpdGlvbmFscy4KCjIwMDAtMDktMzAgIFJhbGYgQmFlY2hsZSAgPHJhbGZAZ251Lm9yZz4KCgkqIHdjc21icy9WZXJzaW9ucyBbbGliY10gKEdMSUJDXzIuMCk6IEFkZCBfX21icnRvd2MuCgoyMDAwLTA5LTMwICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBzeXNkZXBzL2llZWU3NTQvbGRibC05Ni9zX2NlaWxsLmMgKF9fY2VpbGwpOiBIYW5kbGUgb3ZlcmZsb3cuCgkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTk2L3NfZmxvb3JsLmMgKF9fZmxvb3JsKTogTGlrZXdpc2UuCgoyMDAwLTA5LTI5ICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBtYXRoL2xpYm0tdGVzdC5pbmMgKGluaXRfbWF4X2Vycm9yKTogQ2xlYXIgYWxsIGV4Y2VwdGlvbnMKCWJlZm9yZSBzdGFydGluZyB0ZXN0LgoJKGFjb3NoX3Rlc3QpOiBUZXN0IGZvciBleGlzdGVuY2Ugb2YgZnVuY3Rpb24uCgkoYXNpbmhfdGVzdCk6IExpa2V3aXNlLgoJKGF0YW4yX3Rlc3QpOiBMaWtld2lzZS4KCShjYWJzX3Rlc3QpOiBMaWtld2lzZS4KCShjYWNvc190ZXN0KTogTGlrZXdpc2UuCgkoY2Fjb3NoX3Rlc3QpOiBMaWtld2lzZS4KCShjYXNpbl90ZXN0KTogTGlrZXdpc2UuCgkoY2FzaW5oX3Rlc3QpOiBMaWtld2lzZS4KCShjYXRhbl90ZXN0KTogTGlrZXdpc2UuCgkoY2F0YW5oX3Rlc3QpOiBMaWtld2lzZS4KCShjY29zX3Rlc3QpOiBMaWtld2lzZS4KCShjY29zaF90ZXN0KTogTGlrZXdpc2UuCgkoY2V4cF90ZXN0KTogTGlrZXdpc2UuCgkoY2xvZ190ZXN0KTogTGlrZXdpc2UuCgkoY2xvZzEwX3Rlc3QpOiBMaWtld2lzZS4KCShjb3NoX3Rlc3QpOiBMaWtld2lzZS4KCShjcG93X3Rlc3QpOiBMaWtld2lzZS4KCShjc2luX3Rlc3QpOiBMaWtld2lzZS4KCShjc2luaF90ZXN0KTogTGlrZXdpc2UuCgkoY3NxcnRfdGVzdCk6IExpa2V3aXNlLgoJKGN0YW5fdGVzdCk6IExpa2V3aXNlLgoJKGN0YW5oX3Rlc3QpOiBMaWtld2lzZS4KCShmbW9kX3Rlc3QpOiBMaWtld2lzZS4KCShoeXBvdF90ZXN0KTogTGlrZXdpc2UuCgkocmVtYWluZGVyX3Rlc3QpOiBMaWtld2lzZS4KCShyZW1xdW9fdGVzdCk6IExpa2V3aXNlLgoJKHNpbmNvc190ZXN0KTogTGlrZXdpc2UuCgkoc2luaF90ZXN0KTogTGlrZXdpc2UuCgkodGFuaF90ZXN0KTogTGlrZXdpc2UuCgoyMDAwLTA5LTI5ICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBzeXNkZXBzL2lhNjQvaWVlZTc1NC5oOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvaWE2NC9mcHUvbWF0aF9sZGJsLmg6IE5ldyBmaWxlLgoKMjAwMC0wOS0zMCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBlbGYvbGRjb25maWcuaCAoRkxBR19YODY2NF9MSUI2NCk6IERlZmluZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9yZWFkZWxmbGliLmM6IE5ldyBmaWxlLgoKMjAwMC0wOS0zMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBtYW51YWwvY2hhcnNldC50ZXhpOiBDb3JyZWN0IG5vdGF0aW9ucywgcmVmZXJlbmNlIHRvIEM5MCBhbWQgMSwKCWFuZCBzb21lIG90aGVyIGRldGFpbHMuCgkqIG1hbnVhbC9jdHlwZS50ZXhpOiBMaWtld2lzZS4KCVBhdGNoZXMgYnkgTWFya3VzIEt1aG4gPE1hcmt1cy5LdWhuQGNsLmNhbS5hYy51az4uCgoyMDAwLTA5LTMwICBGcmFueiBTaXJsICA8RnJhbnouU2lybC1rZXJuZWxAbGF1dGVyYmFjaC5jb20+CgoJKiBzeXNkZXBzL2llZWU3NTQvZmx0LTMyL3NfZnJleHBmLmM6IE1ha2UgaXQgYWxpYXNpbmcgc2FmZS4KCjIwMDAtMDktMjkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZWxmL2NhY2hlLmMgKHNhdmVfY2FjaGUpOiBJbml0aWFsaXplIF9fdW51c2VkIGZpZWxkIGluIG5ldyBjYWNoZQoJYXMgd2VsbCB0byBnZXQgcmVwcm9kdWNhYmxlIHJlc3VsdHMuCgoyMDAwLTA5LTI5ICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBzeXNkZXBzL2lhNjQvZnB1L2xpYm0tdGVzdC11bHBzOiBVcGRhdGVkIGZvciBsb25nIGRvdWJsZS4KCjIwMDAtMDktMjkgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIHN5c2RlcHMvaWE2NC9iaXRzL2h1Z2VfdmFsLmg6IE5ldyBmaWxlLgoKMjAwMC0wOS0yOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvY2hyb290X2Nhbm9uLmM6IERvbid0IHJlcG9ydCBhIGZhaWx1cmUgaWYgdGhlIGxhc3QgcGF0aAoJY29tcG9uZW50IGlzIG5vdCBhdmFpbGFibGUuCgkqIGVsZi9sZGNvbmZpZy5jIChwYXJzZV9jb25mKTogVXNlIGNhbm9uaWNhbGl6ZWQgbmFtZSB3aGVuIHJlcG9ydGluZwoJZXJyb3IuCgoJKiBlbGYvY2FjaGUuYyAocHJpbnRfY2FjaGUpOiBVc2Ugc3RhdDY0IGluc3RlYWQgb2Ygc3RhdC4KCSogZWxmL2xkY29uZmlnLmMgKGNocm9vdF9zdGF0KTogTGlrZXdpc2UuCgkoY3JlYXRlX2xpbmtzKTogTGlrZXdpc2UuCgkobWFudWFsX2xpbmspOiBMaWtld2lzZS4KCShzZWFyY2hfZGlyKTogTGlrZXdpc2UuCgkqIGVsZi9yZWFkbGliLmMgKHByb2Nlc3NfZmlsZSk6IExpa2V3aXNlLgoKCSogTWFrZWZpbGUgKGluc3RhbGwpOiBTZXQgTENfQUxMIGFuZCBMQU5HVUFHRSB0byBDIGJlZm9yZSBydW5uaW5nCglsZGNvbmZpZy4KCjIwMDAtMDktMjkgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogZWxmL2Nocm9vdF9jYW5vbi5jOiBOZXcgZmlsZS4KCSogZWxmL01ha2VmaWxlOiBCdWlsZCBhbmQgZGlzdHJpYnV0ZSBpdC4KCSogZWxmL2xkY29uZmlnLmggKHByb2Nlc3NfZmlsZSk6IEFkZCByZWFsX2ZpbGVfbmFtZSBhcmd1bWVudC4KCShjaHJvb3RfY2Fub24pOiBBZGQgcHJvdG90eXBlLgoJKiBlbGYvbGRjb25maWcuYyAoY2FjaGVfZmlsZSk6IFJlbW92ZSBjb25zdC4KCShjaHJvb3Rfc3RhdCk6IE5ldy4KCShjcmVhdGVfbGlua3MpOiBBZGQgcmVhbF9wYXRoIGFyZ3VtZW50LgoJSWYgb3B0X2Nocm9vdCwgbWFpbnRhaW4gYm90aCByZWFsIGFuZCBnaXZlbiBmaWxlbmFtZXMuCgkobWFudWFsX2xpbmspOiBMaWtld2lzZS4KCShzZWFyY2hfZGlyKTogTGlrZXdpc2UuCgkocGFyc2VfY29uZik6IElmIG9wdF9jaHJvb3QsIHVzZSBjaHJvb3RfY2Fub24gdG8gZmluZCB0aGUgcmVhbAoJY29uZmlnIGZpbGUuCgkobWFpbik6IEZvciAtciwgdHJ5IHRvIHVzZSBjaHJvb3QsIGlmIGl0IGZhaWxzLCBsZWF2ZSBvcHRfY2hyb290IHNldAoJYW5kIHVzZSBjaHJvb3RfY2Fub24gd2hlcmUgYXBwcm9wcmlhdGUgdG8gZG8gdGhlIHNhbWUgYXMgaWYgY2hyb290CglzdWNjZWVkZWQuCgkqIGVsZi9yZWFkbGliLmMgKHByb2Nlc3NfZmlsZSk6IEFkZCByZWFsX2ZpbGVfbmFtZSBhcmd1bWVudCwgcGFzcyBpdAoJdG8gZm9wZW4uCgoyMDAwLTA5LTI5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hdGgvY29tcGxleC5oIChfQ29tcGxleCk6IFdlIGNhbiBiZSBtb3JlIHNwZWNpZmljIHdoZW4gX0NvbXBsZXgKCWlzIGRlZmluZWQgYnkgdGhlIGNvbXBpbGVyLgoKMjAwMC0wOS0yOSAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9kbC1jYWNoZS5oOiBOZXcuCgoJKiBlbGYvY2FjaGUuYyAocHJpbnRfZW50cnkpOiBSZXBsYWNlIDY0Yml0IHdpdGggSUEtNjQgaW4gbWVzc2FnZQoJZm9yIHg4Ni9JQS02NCBiaW5hcnkuCgoyMDAwLTA5LTI5ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9yZWFkZWxmbGliLmM6IE5ldyBmaWxlLgoKCSogZWxmL2NhY2hlLmMgKHByaW50X2VudHJ5KTogQ2hlY2sgZm9yIEZMQUdfSUE2NF9MSUI2NC4KCjIwMDAtMDktMjkgIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvZGwtc3lzZGVwLmMgKF9fYWNjZXNzKTogTmV3IGZ1bmN0aW9uLiAgRHVtbXkKCWltcGxlbWVudGF0aW9uIGZvciB1c2UgYnkgdGhlIGR5bmFtaWMgbGlua2VyLgoKMjAwMC0wOS0yOSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2JpdHMvZmNudGwuaDogUHJvdGVjdCBETl8qIGJ5CglfX1VTRV9HTlUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy9mY250bC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9iaXRzL2ZjbnRsLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2JpdHMvZmNudGwuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvYml0cy9mY250bC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9iaXRzL2ZjbnRsLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9iaXRzL2ZjbnRsLmg6IExpa2V3aXNlLgoKMjAwMC0wOS0yOSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2JpdHMvZmNudGwuaDogU3luY2ggd2l0aCBMaW51eAoJMi40LjAtdGVzdDktcHJlNy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9iaXRzL2ZjbnRsLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tNjhrL2JpdHMvZmNudGwuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvYml0cy9mY250bC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9iaXRzL2ZjbnRsLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2JpdHMvZmNudGwuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL2JpdHMvZmNudGwuaDogTGlrZXdpc2UuCgoyMDAwLTA5LTI5ICBEYXZpZCBNb3NiZXJnZXIgIDxkYXZpZG1AaHBsLmhwLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc3lzZGVwLlMgKF9faWE2NF9zeXNjYWxsKTogQ2xlYW51cC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc3lzZGVwLmggKENBTExfTUNPVU5UKTogSW1wbGVtZW50LgoKMjAwMC0wNi0xMCAgRGF2aWQgTW9zYmVyZ2VyICA8ZGF2aWRtQGhwbC5ocC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3NldGptcC5TOiBGaXggaXQgc28gaXQgYWN0dWFsbHkKCXdvcmtzOiBjYWxsIHRvIF9fc2lnam1wX3NhdmUgbXVzdCBiZSBkb25lIHVuY29uZGl0aW9uYWxseSB0bwoJZW5zdXJlIGptcF9idWYgaXMgaW5pdGlhbGl6ZWQgcHJvcGVybHkuCgoyMDAwLTA5LTI3ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2JpdHMvZmNudGwuaDogU3luY2ggd2l0aCBMaW51eAoJMi40LjAtdGVzdDktcHJlNy4KCjIwMDAtMDktMjkgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogbnNjZC9uc2NkLWNsaWVudC5oIChOU0NEX1ZFUlNJT04pOiBCdW1wIHRvIDMuCglVc2UgbnNjZF9zc2l6ZV90IHdoZXJlIGFwcHJvcHJpYXRlLgoJKiBuc2NkL25zY2RfZ2V0aHN0X3IuYyAobnNjZF9nZXRoc3Rfcik6IFVzZSBuc2NkX3NzaXplX3QgaW5zdGVhZCBvZgoJc3NpemVfdCB3aGVyZSBhcHByb3ByaWF0ZS4KCSogbnNjZC9uc2NkX2dldGdyX3IuYyAobnNjZF9nZXRncl9yKTogTGlrZXdpc2UuCgkqIG5zY2QvaHN0Y2FjaGUuYyAoY2FjaGVfYWRkaHN0KTogTGlrZXdpc2UuCgkqIG5zY2QvZ3JwY2FjaGUuYyAoY2FjaGVfYWRkZ3IpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL25zY2QtdHlwZXMuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvYWxwaGEvbnNjZC10eXBlcy5oOiBOZXcgZmlsZS4KCjIwMDAtMDktMjkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW5ldC9nZXRuYW1laW5mby5jIChucmxfZG9tYWlubmFtZSk6IFVzZSBzeW1ib2xpYyBjb25zdGFudAoJSU5BRERSX0xPT1BCQUNLIGluc3RlYWQgb2YgbnVtZXJpYyB2YWx1ZS4KCjIwMDAtMDktMjggIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIHN5c2RlcHMvaWE2NC9kbC1tYWNoaW5lLmggKFJUTERfU1RBUlQpOiBBZGp1c3QgX2RsX2FyZ3YgYnkKCV9kbF9za2lwX2FyZ3MuCgkoRUxGX01BQ0hJTkVfRklYRURfU1RBQ0spOiBSZW1vdmVkLgoKMjAwMC0wOS0yOSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9sb2NrZjY0LmM6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9mY250bC5jOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvbG9ja2Y2NC5jOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvZmNudGwuYzogTmV3IGZpbGUuCgoyMDAwLTA5LTI4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvYWxwaGEvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9yZWxhKTogSGFuZGxlIHVuYWxpZ25lZAoJcmVsb2NhdGlvbiBhbHNvIGZvciBSX0FMUEhBX1JFTEFUSVZFLgoJUmVwb3J0ZWQgYnkgSXZhbiBLb2tzaGF5c2t5IDxpbmtAanVyYXNzaWMucGFyay5tc3UucnU+LgoKMjAwMC0wOS0xOCAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaW50bC9kY2lnZXR0ZXh0LmM6IE91dHNpZGUgbGliYywgdXNlIGxvY2FsIHZhcmlhYmxlIG5hbWVzIHRoYXQgZG9uJ3QKCWNsYXNoIHdpdGggdGhvc2UgaW4gbGliYy4KCSogaW50bC9iaW5kdGV4dGRvbS5jOiBMaWtld2lzZS4KCSogaW50bC90ZXh0ZG9tYWluLmM6IExpa2V3aXNlLgoKMjAwMC0wOS0yOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvbGRjb25maWcuYyAocGFyc2VfY29uZik6IFByaW50IGZ1bGwgbmFtZSBvZiBjb25maWcgZGlyCglpbmNsdWRpbmcgY2hyb290KCkgcGF0aC4KCShtYWluKTogUmVtb3ZlIHRyYWlsaW5nIC8gZnJvbSBvcHRfY2hyb290IHN0cmluZy4KCgkqIGluY2x1ZGUvZmVhdHVyZXMuaDogQ29ycmVjdCBkZXNjcmlwdGlvbiBvZiB3aGF0IGhhcHBlbnMgaWYgbm8KCSpfU09VUkNFIG1hY3JvIGlzIGRlZmluZWQuCgoJKiBzeXNkZXBzL3Bvc2l4L2dldGFkZHJpbmZvLmMgKGdhaWhfaW5ldCk6IEhhbmRsZSByZXEtPmFpX3NvY2t0eXBlCgljb3JyZWN0bHkuICBSZXBvcnRlZCBieSBGZWxpeCB2b24gTGVpdG5lciA8bGVpdG5lckBjb252ZXJnZW5jZS5kZT4uCgoyMDAwLTA5LTE5ICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBtYWxsb2MvbWFsbG9jLmggKF9fbWVtYWxpZ25faG9vayk6IEZpeCB0aGUgcGFyYW1ldGVyIG9yZGVyLgoJKiBtYWxsb2MvbWFsbG9jLmMgKF9fbWVtYWxpZ25faG9vayk6IExpa2V3aXNlLgoJKG1lbWFsaWduX2hvb2tfaW5pKTogTGlrZXdpc2UuCgoyMDAwLTA5LTI4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN0ZGlvLWNvbW1vbi90bXBuYW0uYyAodG1wbmFtKTogT3B0aW1pemUgYSBiaXQuCgoJKiBzeXNkZXBzL3Bvc2l4L2dldGFkZHJpbmZvLmMgKGdhaWhfbG9jYWwpOiBEb24ndCB1c2UgdG1wbmFtLCB1c2UKCXVuZGVybHlpbmcgZnVuY3Rpb25zIGRpcmVjdGx5LgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9yZXNvdXJjZS5oOiBBZGQgUkxJTUlUX0xPQ0tTLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vYml0cy9yZXNvdXJjZS5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9iaXRzL3Jlc291cmNlLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2JpdHMvcmVzb3VyY2UuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvYml0cy9yZXNvdXJjZS5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvYml0cy9yZXNvdXJjZS5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvYml0cy9yZXNvdXJjZS5oOiBMaWtld2lzZS4KCjIwMDAtMDktMjggIEZyYW56IFNpcmwgIDxGcmFuei5TaXJsLWtlcm5lbEBsYXV0ZXJiYWNoLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2tlcm5lbC1mZWF0dXJlcy5oOiBBZGQgX19BU1NVTUVfSVBDNjQsIG9ubHkKCWRlZmluZSBpdCBmb3IgcG93ZXJwYyBmb3Iga2VybmVsID49IDIuNC4wLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tc2djdGwuYzogVGVzdCBmb3IgX19BU1NVTUVfSVBDNjQsIG5vdAoJX19BU1NVTUVfMzJCSVRVSURTLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zZW1jdGwuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NobWN0bC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9iaXRzL2lwYy5oOiBTeW5jIHdpdGgga2VybmVsLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2JpdHMvbXNxLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2JpdHMvc2VtLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2JpdHMvc2htLmg6IE5ldyBmaWxlLgoKMjAwMC0wOS0yOCAgTWFydGluIFNjaHdpZGVmc2tzeSAgPHNjaHdpZGVmc2t5QGRlLmlibS5jb20+CgoJKiBzeXNkZXBzL3MzOTAvYXRvbWljaXR5Lmg6IEZpeCBjb21wYXJlX2FuZF9zd2FwLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9iaXRzL2ZjbnRsLmgKCShGX0dFVExLNjQsRl9TRVRMSzY0LEZfU0VUTEtXNjQpOiBVc2UgdmFsdWVzIGZyb20gMi40LjAtdGVzdDguCgoyMDAwLTA5LTI4ICBEZW5pcyBKb3NlcGggQmFycm93ICA8ZGpiYXJyb3dAZGUuaWJtLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvc3lzL3Byb2Nmcy5oOiBVc2UgZGVmaW5pdGlvbnMgZnJvbQoJdWNvbnRleHQuaC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zeXMvdWNvbnRleHQuaDogRml4IHVjb250ZXh0IHN0cnVjdHVyZS4KCjIwMDAtMDktMjcgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBtYXRoL01ha2VmaWxlIChkaXN0cmlidXRlKTogRXhwbGljaXRseSBhZGQgdGhlIGxvbmcgZG91YmxlIHRlc3QKCXNvdXJjZXMsIHRvIGdldCB0aGVtIGluY2x1ZGVkIGV2ZW4gaWYgbG9uZyBkb3VibGUgaXMgbm90IHN1cHBvcnRlZC4KCjIwMDAtMDktMjcgIEplcyBTb3JlbnNlbiAgPGplc0BsaW51eGNhcmUuY29tPgoKCSogZWxmL3NvaW5pdC5jIChzdHJ1Y3Qgb2JqZWN0KTogTW92ZSBkZWZpbml0aW9uIHRvIGdjY2ZyYW1lLmggYW5kCglpbmNsdWRlIGl0LiAgUHJvYmxlbSBpZGVudGlmaWVkIGJ5IEhKIEx1LgoKCSogc3lzZGVwcy9pYTY0L2djY2ZyYW1lLmg6IE5ldyBmaWxlLiAgaWE2NCBzcGVjaWZpYyB2ZXJzaW9uIG9mCglzdHJ1Y3Qgb2JqZWN0IHRvIGJlIHNlYXJjaGVkIGZvciBmcmFtZSB1bndpbmQgaW5mby4KCSogc3lzZGVwcy9nZW5lcmljL2djY2ZyYW1lLmg6IE5ldyBmaWxlLiAgR2VuZXJpYyB2ZXJzaW9uIG9mCglzdHJ1Y3Qgb2JqZWN0IHRvIGJlIHNlYXJjaGVkIGZvciBmcmFtZSB1bndpbmQgaW5mby4KCjIwMDAtMDktMjggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWFudWFsL2Vycm5vLnRleGk6IENvcnJlY3QgZXJyb3IgdGV4dCBmb3IgRU5YSU8uCglSZXBvcnRlZCBieSBK9nJnIFNjaGlsbGluZyA8c2NoaWxsaW5nQGZva3VzLmdtZC5kZT4uCgoyMDAwLTA5LTI3ICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvaWE2NC9mcHUvZnNldGV4Y3B0ZmxnLmMgKGZlc2V0ZXhjZXB0ZmxhZyk6IFNldCB0aGUKCWV4Y2VwdGlvbiBzdGF0dXMgYml0cyByYXRoZXIgdGhhbiB0aGUgZXhjZXB0aW9uIGRpc2FibGUgYml0cy4KCURvbid0IGluY2x1ZGUgbWF0aC5oLgoKCSogc3lzZGVwcy9pYTY0L2ZwdS9mZ2V0ZXhjcHRmbGcuYyAoZmVnZXRleGNlcHRmbGFnKTogUmVwb3J0IHRoZQoJc3RhdHVzIG9mIGV4Y2VwdGlvbnMgY3VycmVudGx5IHJhaXNlZCByYXRoZXIgdGhhbiB3aGljaCBleGNlcHRpb25zCglhcmUgZW5hYmxlZC4KCgkqIHN5c2RlcHMvaWE2NC9mcHUvZmNscmV4Y3B0LmMgKGZlY2xlYXJleGNlcHQpOiBUeXBlY2FzZSB0byBmZW52X3QKCXJhdGhlciB0aGFuIHVuc2lnbmVkIGxvbmcgaW50LgoKCSogc3lzZGVwcy9pYTY0L2ZwdS9mZWRpc2JseGNwdC5jIChmZWRpc2FibGVleGNlcHQpOiBPbmx5IGRpc2FibGUKCXRoZSBleGNlcHRpb25zIGFjdHVhbGx5IHJlcXVlc3RlZCBieSB0aGUgY2FsbGVyIGFuZCBub3QganVzdAoJZGlzYWJsZSBhbGwgZXhjZXB0aW9ucy4KCgkqIHN5c2RlcHMvaWE2NC9mcHUvZmVlbmFibHhjcHQuYyAoZmVlbmFibGVleGNlcHQpOiBFeGNlcHRpb25zIG9uCgl0aGUgaWE2NCBhcmUgZW5hYmxlZCBieSBjbGVhcmluZyB0aGUgcmVzcGVjdGl2ZSBiaXRzIGluIHRoZSBmcHNyLAoJbm90IHNldHRpbmcgdGhlbS4KCgkqIHN5c2RlcHMvaWE2NC9iaXRzL2ZlbnYuaDogdHlwZWRlZiBmZXhjZXB0X3QgYW5kIGZlbnZfdCB0bwoJdW5zaWduZWQgbG9uZyBpbnQgcmF0aGVyIHRoYW4gdW5zaWduZWQgbG9uZyB0byBiZSBjb25zaXN0ZW50IHdpdGgKCXRoZSBjb2RpbmcgY29udmVudGlvbnMuCgoyMDAwLTA5LTIwICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBzeXNkZXBzL2lhNjQvZnB1L2Zlc2V0ZW52LmMgKGZlc2V0ZW52KTogVXNlIGZlbnZfdCBpbnN0ZWFkIG9mCgl1bnNpZ25lZCBsb25nIGludC4KCSogc3lzZGVwcy9pYTY0L2ZwdS9mZXNldHJvdW5kLmMgKGZlc2V0cm91bmQpOiBMaWtld2lzZS4KCjIwMDAtMDktMjggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3RyaW5nL2JpdHMvc3RyaW5nMi5oOiBVbmlmeSAjaWYgdXNhZ2UuCgoyMDAwLTA5LTI3ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIG1hdGgvdGVzdC1mZW52LmMgKGZlZXhjcF9tYXNrX3Rlc3QpOiBJZiBlbmFibGluZyBhbGwgZXhjZXB0aW9ucwoJYW5kIGRpc2FibGluZyB1bmRlcmZsb3cgb3Igb3ZlcmZsb3csIGRpc2FibGUgaW5leGFjdCBhcyB3ZWxsLgoKMjAwMC0wOS0yNiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9nbnUvbmV0aW5ldC90Y3AuaDogQWRkIHRjcF9pbmZvIGRlZmluZXMgYW5kIHR5cGVzLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL21vdW50LmggKGVudW0pOiBOZXcgZmxhZyBNU19CSU5ELgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9iaXRzL2ZjbnRsLmggKEZfU0VUTEtXNjQsCglGX0dFVExLNjQsIEZfU0VUTEs2NCk6IFVwZGF0ZSBmcm9tIExpbnV4LTIuNC4wLXRlc3Q5LXByZTQuCgoJKiBlbGYvbGRjb25maWcuYyAoc2VhcmNoX2Rpcik6IEFsbG93IHVubGltaXRlZCBwYXRoIGxlbmd0aC4KCShjcmVhdGVfbGlua3MpOiBMaWtld2lzZS4KCjIwMDAtMDktMjcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvdHN0LWRpci5jOiBUZXN0IGEgZmV3IGVycm9yIGNhc2VzIG9mIGNoZGlyLgoKMjAwMC0wOS0yNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBtYXRoL21hdGhfcHJpdmF0ZS5oOiBEb24ndCBhZGQgbG9uZyBkb3VibGUgcHJvdG90eXBlcyBpZgoJTk9fTE9OR19ET1VCTEUgaXMgZGVmaW5lZC4KCgkqIHN5c2RlcHMvdW5peC9pMzg2L2k1ODYvY2xvY2tfbmFub3NsZWVwLmMgKENMT0NLX1ApOiBSZW1vdmUKCUNMT0NLX01PTk9UT05JQy4KCSogc3lzZGVwcy91bml4L2kzODYvaTU4Ni9jbG9ja19nZXR0aW1lLmMgKEVYVFJBX0NMT0NLX0NBU0VTKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9pMzg2L2k1ODYvY2xvY2tfZ2V0cmVzLmMgKEVYVFJBX0NMT0NLX0NBU0VTKTogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2JpdHMvdGltZS5oOiBSZW1vdmUgQ0xPQ0tfTU9OT1RPTklDLgoKMjAwMC0wOS0yNiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvYml0cy9lbmRpYW4uaDogUmVtb3ZlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvaWVlZTc1NC5oOiBOZXcuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9iaXRzL2VuZGlhbi5oOiBNb3ZlLi4uCgkqIHN5c2RlcHMvc3BhcmMvYml0cy9lbmRpYW4uaDogLi4uaGVyZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9jbG9uZS5TIChfX2Nsb25lKTogT3B0aW1pemUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvY2xvbmUuUyAoX19jbG9uZSk6IENoZWNrCgklbzEsIG5vdCAlbzAgdG8gc2VlIGlmIHdlJ3JlIHBhcmVudCBvciBjaGlsZC4gIE9wdGltaXplLgoKMjAwMC0wOS0yNiAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2ZvcmsuUzogTmV3IGZpbGUgKGJhc2VkIG9uIGNvZGUKCWJ5IEhhbnMgQm9laG0pLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3Zmb3JrLlM6IE5ldyBmaWxlIChiYXNlZCBvbgoJY29kZSBieSBIYW5zIEJvZWhtKS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9mb3JrLmM6IERlbGV0ZWQgKG9ic29sZXRlZCBieSBmb3JrLlMpLgoKMjAwMC0wOS0yMCAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogc3lzZGVwcy9pYTY0L2ZwdS9wcmludGZfZnBoZXguYzogTmV3IGZpbGUuCgoJKiBzeXNkZXBzL2lhNjQvZnB1L2xpYm0tdGVzdC11bHBzOiBOZXcgZmlsZS4KCjIwMDAtMDktMTcgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIHN5c2RlcHMvaWE2NC9NYWtlZmlsZSAobG9uZy1kb3VibGUtZmN0cyk6IE5ldy4gIERlZmluZWQgYXMgeWVzLgoKCSogc3lzZGVwcy9pYTY0L2ZwdS9zX2lzaW5mbC5jOiBOZXcgZmlsZS4gIEluY2x1ZGUKCXN5c2RlcHMvaTM4Ni9mcHUvc19pc2luZmwuYy4KCgkqIHN5c2RlcHMvaWE2NC9mcHUvc19pc25hbmwuYzogTmV3IGZpbGUuICBJbmNsdWRlCglzeXNkZXBzL2kzODYvZnB1L3NfaXNuYW5sLmMuCgoJKiBzeXNkZXBzL2lhNjQvZnB1L3NfbmV4dGFmdGVybC5jOiBOZXcgZmlsZS4gIEluY2x1ZGUKCXN5c2RlcHMvaTM4Ni9mcHUvc19uZXh0YWZ0ZXJsLmMuCgoJKiBzeXNkZXBzL2lhNjQvZnB1L2JpdHMvbWF0aGRlZi5oOiBOZXcgZmlsZS4gIENvcGllZCBmcm9tCglzeXNkZXBzL2kzODYvZnB1L2JpdHMvbWF0aGRlZi5oLgoKMjAwMC0wOS0xNiAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmggKERMX1VOTUFQKTogTmV3LiAgRGVmaW5lZCBpZgoJRExfVU5NQVBfSVNfU1BFQ0lBTCBpcyBub3QgZGVmaW5lZC4KCgkqIHN5c2RlcHMvaWE2NC9kbC1sb29rdXBjZmcuaCAoRExfVU5NQVBfSVNfU1BFQ0lBTCk6IERlZmluZWQuCgkoX2RsX3VubWFwKTogTmV3IHByb3RvdHlwZS4KCShETF9VTk1BUCk6IE5ldy4gIERlZmluZWQgYXMgX2RsX3VubWFwLgoKCSogc3lzZGVwcy9pYTY0L1ZlcnNpb25zIFtsZF0gKEdMSUJDXzIuMik6IEFkZCBfZGxfdW5tYXAuCgoJKiBlbGYvZGwtY2xvc2UuYyAoX2RsX2Nsb3NlKTogUmVwbGFjZSBfX211bm1hcCB3aXRoIERMX1VOTUFQLgoKMjAwMC0wOS0xNiAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmggKERMX0xPT0tVUF9BRERSRVNTKTogTmV3LiBEZWZpbmVkCglpZiBFTEZfRlVOQ1RJT05fUFRSX0lTX1NQRUNJQUwgaXMgbm90IGRlZmluZWQuCgoJKiBzeXNkZXBzL2lhNjQvZGwtbG9va3VwY2ZnLmggKF9kbF9sb29rdXBfYWRkcmVzcyk6IE5ldwoJcHJvdG90eXBlLgoJKERMX0xPT0tVUF9BRERSRVNTKTogTmV3LiBEZWZpbmVkIGFzIF9kbF9sb29rdXBfYWRkcmVzcy4KCgkqIHN5c2RlcHMvaWE2NC9kbC1mcHRyLmMgKF9kbF9sb29rdXBfYWRkcmVzcyk6IE5ldy4gTG9va3VwCgl0aGUgbWVtb3J5IGxvY2F0aW9uIG9mIGEgZnVuY3Rpb24gZnJvbSBhIGZ1bmN0aW9uIGRlc2NyaXB0b3IuCgoJKiBzeXNkZXBzL2lhNjQvVmVyc2lvbnMgW2xkXSAoR0xJQkNfMi4yKTogQWRkIF9kbF9sb29rdXBfYWRkcmVzcy4KCgkqIGVsZi9kbC1hZGRyLmMgKF9kbF9hZGRyKTogVXNlIERMX0xPT0tVUF9BRERSRVNTIHRvIGdldCB0aGUKCW1lbW9yeSBsb2NhdGlvbi4KCjIwMDAtMDktMTQgIEplcyBTb3JlbnNlbiAgPGplc0BsaW51eGNhcmUuY29tPgoKCSogc3lzZGVwcy9pYTY0L2JpdHMvYnl0ZXN3YXAuaCAoX19ic3dhcF8xNik6IERvbid0IG1hcmsgb3V0cHV0Cgl2YXJpYWJsZSBhcyBpbnB1dCBhcmd1bWVudC4KCShfX2Jzd2FwXzMyKTogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL2lhNjQvZGwtbWFjaGluZS5oOiBBZGQgbWlzc2luZyBzdG9wIGJpdCBpbiBSVExEX1NUQVJUKCkKCS0gZm91bmQgYnkgSmltIFdpbHNvbiA8d2lsc29uQGN5Z251cy5jb20+CgoyMDAwLTA5LTI2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN0cmluZy9zdHJ4ZnJtLmM6IE9ubHkgcmVxdWlyZSBhbGlnbm1lbnQgb24gX19hbGlnbm9mX18gKGludDMyX3QpCglpbnN0ZWFkIG9mIDQuCgoyMDAwLTA5LTI2ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLWNvbGxhdGUuYyAoY29sbGF0ZV9vdXRwdXQpOiBPbmx5IHJlcXVpcmUKCWFsaWdubWVudCBvbiBfX2FsaWdub2ZfXyAoaW50MzJfdCkgaW5zdGVhZCBvZiA0LgoJKiBsb2NhbGUvbG9hZGxvY2FsZS5jIChfbmxfbG9hZF9sb2NhbGUpOiBMaWtld2lzZS4KCSogc3RyaW5nL3N0cmNvbGwuYzogTGlrZXdpc2UuCgoyMDAwLTA5LTI2ICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTk2L2VfYXRhbjJsLmMgKF9faWVlZTc1NF9hdGFuMmwpOiBBZGQKCXBhcmVudGhlc2VzIGFyb3VuZCBhcml0aG1ldGljIHVzZWQgaW4gfCBzdGF0ZW1lbnQgdG8ga2lsbCBjb21waWxlcgoJd2FybmluZy4KCgkqIG1hdGgvbWF0aF9wcml2YXRlLmg6IEFkZCBwcm90b3R5cGUgZm9yIF9fZmluaXRlbC4KCShfX2lsb2dibCk6IExpa2V3aXNlLgoJKF9faXNpbmZsKTogTGlrZXdpc2UuCgkoX19pc25hbmwpOiBMaWtld2lzZS4KCShfX2F0YW5sKTogTGlrZXdpc2UuCgkoX19jb3B5c2lnbmwpOiBMaWtld2lzZS4KCShfX2V4cG0xbCk6IExpa2V3aXNlLgoJKF9fZmxvb3JsKTogTGlrZXdpc2UuCgkoX19mcmV4cGwpOiBMaWtld2lzZS4KCShfX2xkZXhwbCk6IExpa2V3aXNlLgoJKF9fbG9nMXBsKTogTGlrZXdpc2UuCgkoX19uYW5sKTogTGlrZXdpc2UuCgkoX19yaW50bCk6IExpa2V3aXNlLgoJKF9fc2NhbGJubCk6IExpa2V3aXNlLgoJKF9fc3FydGwpOiBMaWtld2lzZS4KCShmYWJzbCk6IExpa2V3aXNlLgoJKF9fc2luY29zbCk6IExpa2V3aXNlLgoKMjAwMC0wOS0yNiAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIHN5c2RlcHMvbTY4ay9mcHUvbGlibS10ZXN0LXVscHM6IE5ldyBmaWxlCgoyMDAwLTA5LTI2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9sYW5naW5mby5oIChfX25sX2xhbmdpbmZvX2wpOiBBZGQgcHJvdG90eXBlLgoKMjAwMC0wOS0yNiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbWlzYy9ta3N0ZW1wNjQuYzogTmV3IGZpbGUuCgkqIG1pc2MvTWFrZWZpbGUgKHJvdXRpbmVzKTogQWRkIG1rc3RlbXA2NC4KCSogc3RkbGliL3N0ZGxpYi5oOiBBZGQgcHJvdG90eXBlIGFuZCByZWRpcmVjdGlvbiBtYWdpYy4KCSogbWlzYy9WZXJzaW9uczogQWRkIG1rc3RlbXA2NC4KCjIwMDAtMDktMjYgIFRob3JzdGVuIEt1a3VrICA8a3VrdWtAc3VzZS5kZT4KCgkqIG5zY2QvZGJnX2xvZy5jIChkYmdfbG9nKTogQWRkIG1pc3NpbmcgZm9ybWF0IHN0cmluZy4KCjIwMDAtMDktMjYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogY2F0Z2V0cy9jYXRnZXRzLmMgKGNhdG9wZW4pOiBVc2UgZ2V0ZW52IGluc3RlYWQgb2YgX19zZWN1cmVfZ2V0ZW52CglzaW5jZSB3ZSBmaWx0ZXIgb3V0IHRoZSB2YXJpYWJsZSBvbmNlLgoJKiBpY29udi9nY29udl9jb25mLmMgKF9fZ2NvbnZfZ2V0X3BhdGgpOiBMaWtld2lzZS4KCSogbG9jYWxlL25ld2xvY2FsZS5jIChfX25ld2xvY2FsZSk6IExpa2V3aXNlLgoJKiBsb2NhbGUvc2V0bG9jYWxlLmMgKHNldGxvY2FsZSk6IExpa2V3aXNlLgoJKiBtYWxsb2MvbWFsbG9jLmMgKHB0bWFsbG9jX2luaXQpOiBMaWtld2lzZS4KCSogcmVzb2x2L3Jlc19oY29uZi5jIChfcmVzX2hjb25mX2luaXQpOiBMaWtld2lzZS4KCSogcmVzb2x2L3Jlc19pbml0LmMgKF9fcmVzX3Zpbml0KTogTGlrZXdpc2UuCgkqIHRpbWUvdHpmaWxlLmMgKF9fdHpmaWxlX3JlYWQpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL3Vuc2VjdmFycy5oOiBOZXcgZmlsZS4KCSogZWxmL2RsLXN1cHBvcnQuYyAobm9uX2R5bmFtaWNfaW5pdCk6IFVzZSBpdCBoZXJlIHRvIHJlbW92ZSB2YXJpYWJsZXMuCgkqIGVsZi9ydGxkLmMgKHByb2Nlc3NfZW52dmFycyk6IExpa2V3aXNlLgoJKiBlbGYvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgdW5zZWN2YXJzLmguCgoJKiBtaXNjL2RhZW1vbi5jIChkYWVtb24pOiBGYWlsIGlmICFub2Nsb3NlIGFuZCB3ZSBjYW5ub3Qgb3BlbiB0aGUKCXJlYWwgL2Rldi9udWxsIGRldmljZS4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9jaGVja19mZHMuYzogSW5jbHVkZSBkZXZpY2UtbnJzLmguCgkqIHN5c2RlcHMvZ2VuZXJpYy9kZXZpY2UtbnJzLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9kZXZpY2UtbnJzLmg6IE5ldyBmaWxlLgoJKiBtaXNjL01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIGRldmljZS1ucnMuaC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2dldGhvc3RpZC5jIChzZXRob3N0aWQpOiBVc2UgT19UUlVOQyB0bwoJcmVtb3ZlIHBvc3NpYmxlIGdhcmJhZ2UgYXQgdGhlIGVuZCBvZiB0aGUgZmlsZS4KCjIwMDAtMDktMjUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3RkaW8tY29tbW9uL3RtcG5hbV9yLmM6IFdhcm4gYWJvdXQgaW5zZWN1cmUgdG1wbmFtX3IuCgkqIHN0ZGlvLWNvbW1vbi90bXBuYW0uYzogV2FybiBhYm91dCBpbnNlY3VyZSB0bXBuYW0uCgkqIHN0ZGlvLWNvbW1vbi90ZW1wbmFtLmM6IFdhcm4gYWJvdXQgaW5zZWN1cmUgdGVtcG5hbS4KCSogbWlzYy9ta3RlbXAuYzogV2FybiBhYm91dCBpbnNlY3VyZSBta3RlbXAuCgoJKiBzeXNkZXBzL2dlbmVyaWMvY2hlY2tfZmRzLmM6IENoZWNrIHRoYXQgZmlsZSBvcGVuZWQgaXMgcmVhbGx5CgkvZGV2L251bGwuCgkqIHBvc2l4L3dvcmRleHAuYyAoZXhlY19jb21tX2NoaWxkKTogTGlrZXdpc2UuCgoJKiBlbGYvcnRsZC5jIChwcm9jZXNzX2VudnZhcnMpOiBPcGVuIGRlYnVnIG91dHB1dCBmaWxlIHdpdGggT19OT0ZPTExPVy4KCgkqIGxvY2FsZS9NYWtlZmlsZSAocm91dGluZXMpOiBBZGQgbmxfbGFuZ2luZm9fbC4KCSogbG9jYWxlL1ZlcnNpb25zIFtsaWJjXSAoR0xJQkNfMi4yKTogQWRkIF9fbmxfbGFuZ2luZm9fbC4KCSogbG9jYWxlL25sX2xhbmdpbmZvX2wuYzogTmV3IGZpbGUuCgkqIGxvY2FsZS9ubF9sYW5naW5mby5jOiBBbGxvdyB1c2Ugb2YgZmlsZSBmb3IgX19ubF9sYW5naW5mb19sCglkZWZpbml0aW9uLgoKMjAwMC0wOS0yMyAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaWNvbnZkYXRhL2diay5jIChVU0VfUFJJVkFURV9BUkVBKTogRGVmaW5lIHRvIDAuCgkoX19nYmtfdG9fdWNzKTogQ29uZGl0aW9uYWxpemUgcHJpdmF0ZSBhcmVhIG1hcHBpbmdzLgoJKF9fZ2JrX2Zyb21fdWNzNF90YWI5KTogTGlrZXdpc2UuCgkoQk9EWSBmb3IgVE9fTE9PUCk6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvdGVzdGRhdGEvR0JLOiBEb24ndCB1c2UgY2hhcmFjdGVycyBub3QgeWV0IGluIFVuaWNvZGUuCgkqIGljb252ZGF0YS90ZXN0ZGF0YS9HQksuLlVURi04OiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL3RzdC10YWJsZXMuc2g6IEVuYWJsZSBHQksgdGVzdC4KCjIwMDAtMDktMjMgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGljb252ZGF0YS9nYmsuYyAoX19nYmtfdG9fdWNzKTogU3dhcCBVKzIwMTQgYW5kIFUrMjAxNS4KCShfX2dia19mcm9tX3VjczRfdGFiNCk6IFN3YXAgZW50cmllcyBmb3IgVSsyMDE0IGFuZCBVKzIwMTUuCgkoQk9EWSBmb3IgRlJPTV9MT09QKTogUmVqZWN0IGlucHV0ID4gMHhGRUEwLCBhdm9pZHMgb3V0LW9mLWJvdW5kcwoJYXJyYXkgYWNjZXNzLgoJKiBpY29udmRhdGEvZ2JnYmsuYyAoQk9EWSBmb3IgRlJPTV9MT09QKTogTWFwIDB4QTg0NCB0byAweEExQUEuCgkqIGljb252ZGF0YS90ZXN0ZGF0YS9HQksuLlVURjg6IFN3YXAgVSsyMDE0IGFuZCBVKzIwMTUuCgoyMDAwLTA5LTIzICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udmRhdGEvam9oYWIuYyAoZmluYWxfdG9fdWNzKTogRml4IHR5cG9zLgoJKGphbW9fZnJvbV91Y3NfdGFibGUpOiBMaWtld2lzZS4KCShCT0RZIGZvciBGUk9NX0xPT1ApOiBNYXAgMHg1YyB0byBVKzIwQTkuIFJlamVjdCByYW5nZXMKCTB4RDlFNi4uMHhEOUZFIGFuZCAweERFRjIuLjB4REVGRS4KCShCT0RZIGZvciBUT19MT09QKTogTWFwIFUrMjBBOSB0byAweDVjLiBEb24ndCBwcm9kdWNlIHZhbHVlcyBpbgoJdGhlIHJhbmdlIDB4RDlFNi4uMHhEOUZFLgoJKiBpY29udmRhdGEvdHN0LXRhYmxlcy5zaDogRW5hYmxlIEpPSEFCIHRlc3RpbmcuCgoyMDAwLTA5LTI1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252L2djb252X2NvbmYuYyAoX19nY29udl9nZXRfcGF0aCk6IEZpeCBwcm9ibGVtIHdpdGggcmVsYXRpdmUKCUdDT05WX1BBVEguCgoyMDAwLTA5LTI0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxpYmlvL2dlbm9wcy5jIChfSU9fZG9hbGxvY2J1Zik6IERvbid0IHVzZSBzaW5nbGUgYnl0ZSBidWZmZXIgaWYKCXN0cmVhbSBpcyBpbiB3aWRlIG1vZGUuCgoJKiBzdGRpby1jb21tb24vdmZwcmludGYuYyAoYnVmZmVyZWRfdmZwcmludGYpOiBPcmllbnQgc3RyZWFtLgoKMjAwMC0wOS0yMSAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaWNvbnZkYXRhL2lzby0yMDIyLWNuLWV4dC5jIChFTUlUX1NISUZUX1RPX0lOSVQpOiBTaGlmdCBfX2NvdW50CglieSAzLCBub3QgMi4KCShJTklUX1BBUkFNUywgVVBEQVRFX1BBUkFNUyk6IExpa2V3aXNlLgoKMjAwMC0wOS0yMSAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogc3RkaW8tY29tbW9uL3Zmc2NhbmYuYyAoX192ZnNjYW5mLCBfSU9fdmZzY2FuZik6IEZpeCBidWdzIGluCglyZWFsbG9jYXRpb24gbG9naWMgZm9yIE1BTExPQyAoJWFzLCAlYVMgZm9ybWF0cykuCgoyMDAwLTA5LTI0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN0ZGlvLWNvbW1vbi92ZnByaW50Zi5jIChwcm9jZXNzX2FyZyk6IEhhbmRsZSAlaGhuLgoJQWRkIG1pc3NpbmcgY2FzZSBpbiB2YV9hcmcgaGFuZGxpbmcgZm9yIG51bWJlcnMuCgkqIHN0ZGlvLWNvbW1vbi90c3QtcHJpbnRmLmMgKG1haW4pOiBBZGQgdGVzdHMgZm9yICVoaHUgYW5kICVoaG4KCWhhbmRsaW5nLgoJKiBzdGRpby90c3QtcHJpbnRmLnNoOiBBZGp1c3QgZXhwZWN0ZWQgcmVzdWx0cy4KCVJlcG9ydGVkIGJ5IEpvc2VwaCBTLiBNeWVycyA8anNtMjhAY2FtLmFjLnVrPi4KCjIwMDAtMDktMjAgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGljb252ZGF0YS9pc28tMjAyMi1qcC5jIChCT0RZIGZvciBGUk9NX0xPT1ApOiBSZWplY3QgMHg4MC4KCShCT0RZIGZvciBUT19MT09QKTogQ2xlYXIgYml0IDcgd2hlbiBvdXRwdXR0aW5nIElTTy04ODU5LTEgdXBwZXIgaGFsZgoJY2hhcmFjdGVycy4KCSogaWNvbnZkYXRhL2dlbi04Yml0LWdhcC0xLnNoOiBSZWNvZ25pemUgbG93ZXJjYXNlIGhleGFkZWNpbWFsIGRpZ2l0cwoJYXMgZXF1aXZhbGVudCB0byB1cHBlcmNhc2UgaGV4YWRlY2ltYWwgZGlnaXRzLgoKMjAwMC0wOS0yMCAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0VVQy1LUi4uVVRGODogTmV3IGZpbGUuCgkqIGljb252ZGF0YS90ZXN0ZGF0YS9FVUMtVFc6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvdGVzdGRhdGEvRVVDLVRXLi5VVEY4OiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0VVQy1KUDogTmV3IGZpbGUuCgkqIGljb252ZGF0YS90ZXN0ZGF0YS9FVUMtSlAuLlVURjg6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvdGVzdGRhdGEvSVNPLTIwMjItSlA6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvdGVzdGRhdGEvSVNPLTIwMjItSlAuLlVURjg6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvdGVzdGRhdGEvSVNPLTIwMjItSlAtMjogTmV3IGZpbGUuCgkqIGljb252ZGF0YS90ZXN0ZGF0YS9JU08tMjAyMi1KUC0yLi5VVEY4OiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0lTTy0yMDIyLUtSOiBBZGQgYSBmZXcgbW9yZSBsaW5lcy4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0lTTy0yMDIyLUtSLi5VVEY4OiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0lTTy0yMDIyLUNOOiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0lTTy0yMDIyLUNOLi5VVEY4OiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0lTTy0yMDIyLUNOLUVYVDogTmV3IGZpbGUuCgkqIGljb252ZGF0YS90ZXN0ZGF0YS9JU08tMjAyMi1DTi1FWFQuLlVURjg6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvVEVTVFM6IEVuYWJsZSB0ZXN0cyBmb3IgSVNPLTIwMjItSlAsIElTTy0yMDIyLUpQLTIsCglJU08tMjAyMi1DTiwgSVNPLTIwMjItQ04tRVhULCBFVUMtSlAsIEVVQy1UVy4KCjIwMDAtMDktMjQgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGVsZi9sZGNvbmZpZy5jIChhZGRfZGlyKTogTW92ZSBsb2dpYyB0byBhZGQgZW50cnkgdG8gbGlzdCB0byBuZXcKCWZ1bmN0aW9uIGFkZF9zaW5nbGVfZGlyLgoJKGFkZF9zaW5nbGVfZGlyKTogTmV3IGZ1bmN0aW9uLgoJKHNlYXJjaF9kaXIpOiBVc2UgYWRkX3NpbmdsZV9kaXIgaW5zdGVhZCBvZiByZWN1cnNpbmcuCgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtY2FjaGUuaDogSW5jbHVkZSBzdGRpbnQuaC4KCShzdHJ1Y3QgZmlsZV9lbnRyeV9uZXcpOiBVc2UgZml4ZWQgc2l6ZXMgZm9yIGludGVyb3BlcmFiaWxpdHkKCWJldHdlZW4gMzJiaXQgYW5kIDY0Yml0IHN5c3RlbXMsIGFkZCBfX3VudXNlZCB0byBtYWtlIGFsaWdubWVudAoJZXhwbGljaXQuCgkoQ0FDSEVfVkVSU0lPTik6IEluY3JlbWVudC4KCShzdHJ1Y3QgY2FjaGVfZmlsZV9uZXcpOiBVc2UgZml4ZWQgc2l6ZXMsIGFkZCBvbmUgbW9yZSB1bnVzZWQKCWVudHJ5IHRvIG1ha2UgYWxpZ25tZW50IGV4cGxpY2l0LgoKMjAwMC0wOS0yNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvbGRjb25maWcuYyAoc2VhcmNoX2Rpcik6IE1ha2UgbW9yZSB1c2Ugb2YgZF90eXBlIGluZm9ybWF0aW9uLgoKMjAwMC0wOS0yMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzdGRpby1jb21tb24vcHJpbnRmLXBhcnNlLmggKHBhcnNlX29uZV9zcGVjKTogQ2xlYXIKCXNwZWMtPmluZm8uaTE4bi4gIFBhdGNoIGJ5IEpvc2VwaCBTLiBNeWVycyA8anNtMjhAY2FtLmFjLnVrPi4KCjIwMDAtMDktMTggIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvYml0cy9wb3NpeF9vcHQuaCAoX1BPU0lYX1NZTkNIUk9OSVpFRF9JTyk6CgkjdW5kZWYgc2luY2Ugd2UgZG9uJ3QgaGF2ZSBtc3luYy4KCgkqIHN5c2RlcHMvbWFjaC9odXJkL2JpdHMvdGltZS5oOiAoQ0xPQ0tTX1BFUl9TRUMpOiBNYWtlIGEgbG9uZyBpbnQKCWNvbnN0YW50IHNpbmNlIHRoYXQgaXMgd2hhdCBjbG9ja190IGlzLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9pMzg2L2JpdHMvdGltZS5oOiBMaWtld2lzZS4KCjIwMDAtMDktMTEgIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCSogc3lzZGVwcy9tYWNoL2dldGxvYWRhdmcuYyAoZ2V0bG9hZGF2Zyk6IERpdmlkZSBpbnN0ZWFkIG9mCgltdWx0aXBseSBieSBMT0FEX1NDQUxFLgoKMjAwMC0wOS0yMiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBjcnlwdC9jcnlwdC5oIChjcnlwdCwgc2V0a2V5LCBlbmNyeXB0KTogQWRkIF9fVEhST1cuCgkoY3J5cHRfciwgc2V0a2V5X3IsIGVuY3J5cHRfcik6IExpa2V3aXNlLgoKMjAwMC0wOS0yMiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbG9jYWxlL3Byb2dyYW1zL3JlcGVydG9pcmUuYyAocmVwZXJ0b2lyZW1hcF9oYXNoKTogRG9uJ3Qgc3BlY2lmeQoJYXJyYXkgc2l6ZS4KCgkqIHN5c2RlcHMvYWxwaGEvZnB1L2xpYm0tdGVzdC11bHBzOiBOZXcgZmlsZS4KCUZyb20gQ2hyaXN0aWFuIElzZWxpIDxjaHJpc0BsdWR3aWctYWxwaGEudW5pbC5jaD4uCgoyMDAwLTA5LTIxICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBtYXRoL2xpYm0tdGVzdC5pbmMgKGF0YW5fdGVzdCk6IFRlc3QgZm9yIGV4aXN0ZW5jZSBvZiBmdW5jdGlvbi4KCShleHBtMV90ZXN0KTogTGlrZXdpc2UuCgkoYWNvc190ZXN0KTogTGlrZXdpc2UuCgkoYXNpbl90ZXN0KTogTGlrZXdpc2UuCgkoZXhwX3Rlc3QpOiBMaWtld2lzZS4KCShsb2cxMF90ZXN0KTogTGlrZXdpc2UuCgkobG9nX3Rlc3QpOiBMaWtld2lzZS4KCShwb3dfdGVzdCk6IExpa2V3aXNlLgoJKHNxcnRfdGVzdCk6IExpa2V3aXNlLgoJKGNvc190ZXN0KTogTGlrZXdpc2UuCgkoc2luX3Rlc3QpOiBMaWtld2lzZS4KCSh0YW5fdGVzdCk6IExpa2V3aXNlLgoJKGxvZzFwX3Rlc3QpOiBMaWtld2lzZS4KCShsb2cyX3Rlc3QpOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvaTM4Ni9mcHUvbGlibS10ZXN0LXVscHM6IFR3ZWFrIHNvbWUgdmFsdWVzIGZvciBLNi4KCgkqIGxpYmlvL29sZGlvZnNldHBvczY0LmM6IEZpeCBhbGlhcyBuYW1lcy4KCjIwMDAtMDktMjEgIE1hcnRpbiBCdWNoaG9seiAgPG1hcnRpbkB4ZW1hY3Mub3JnPgoKCSogbWFudWFsL3Rlcm1pbmFsLnRleGkgKEFsbG9jYXRpb24pOiBTYW1wbGUgY29kZSBjb3JyZWN0aW9uLgoKMjAwMC0wOS0yMCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogaWNvbnZkYXRhL01ha2VmaWxlIChnZW5lcmF0ZWQpOiBBZGQgdHN0LXRhYmxlcy5vdXQuCgoJKiBpbnRsL01ha2VmaWxlCShnZW5lcmF0ZWQpOiBBZGQgdGVzdCBvdXRwdXQuCgoyMDAwLTA5LTE5ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzdW5ycGMvY2xudF9zaW1wLmMgKGNhbGxycGMpOiBGaXggd3JpdGUgYmV5b25kIGVuZCBvZiBidWZmZXIuCglSZXBvcnRlZCBieSBKZW5zLVV3ZSBNYWdlciA8anVtQGhlbGlvcy5kZT4uCgoyMDAwLTA5LTE4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHZlcnNpb24uaCAoVkVSU0lPTik6IEJ1bXAgdG8gMi4xLjk0LgoKCSogc3lzZGVwcy9taXBzL0Rpc3Q6IEFkZCBmcHUvZmVudl9saWJjLmguCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9zb2Z0LWZwL0Rpc3Q6IEFkZCBxX2FkZC5jLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9EaXN0OiBBZGQgcXBfYWRkLmMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvRGlzdDogQWRkIG5ldC9yb3V0ZS5oLgoKCSogbWFsbG9jL210cmFjZS5jIChtdHJhY2UpOiBNYXJrIHN0cmVhbSBhcyBjbG9zZSBvbiBleGVjLgoKMjAwMC0wOS0xNyAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaWNvbnZkYXRhL3V0Zi0xNi5jIChCT0RZIGZvciBUT19MT09QKTogUmVqZWN0IFVDUy00IGlucHV0IGluIHRoZQoJcmFuZ2UgMHhEODAwLi4weERGRkYuCgkqIGljb252ZGF0YS91bmljb2RlLmMgKEJPRFkgZm9yIFRPX0xPT1ApOiBMaWtld2lzZS4KCShCT0RZIGZvciBGUk9NX0xPT1ApOiBMaWtld2lzZS4KCSogaWNvbnYvZ2NvbnZfc2ltcGxlLmMgKHVjczJfaW50ZXJuYWxfbG9vcCk6IExpa2V3aXNlLgoJKGludGVybmFsX3VjczJfbG9vcCk6IExpa2V3aXNlLgoJKHVjczJyZXZlcnNlX2ludGVybmFsX2xvb3ApOiBMaWtld2lzZS4KCShpbnRlcm5hbF91Y3MycmV2ZXJzZV9sb29wKTogTGlrZXdpc2UuCgoyMDAwLTA5LTE3ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udmRhdGEvdXRmLTE2LmMgKGdjb252X2luaXQpOiBBZGQgbWlzc2luZyBzbGFzaGVzIHRvIGVuY29kaW5nCgluYW1lcy4KCjIwMDAtMDktMTcgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGljb252ZGF0YS90c3QtdGFibGUtZnJvbS5jIChtYWluKTogRml4IHRlc3QgZm9yIGVycm9yIG9uIHN0ZG91dC4KCSogaWNvbnZkYXRhL3RzdC10YWJsZS10by5jIChtYWluKTogTGlrZXdpc2UuCgoyMDAwLTA5LTE3ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udmRhdGEvaXNvLWlyLTE2NS5jIChfX2lzb2lyMTY1X2Zyb21fdGFiKTogUmVuYW1lZCBmcm9tCglfX2lzb2lyMTY1X3RhYi4KCSogaWNvbnZkYXRhL2NuczExNjQzLmggKF9fY25zMTE2NDNsMV90b191Y3M0X3RhYik6IE5ldyBkZWNsYXJhdGlvbi4KCSogaWNvbnZkYXRhL2lzby0yMDIyLWNuLWV4dC5jOiBJbmNsdWRlICJjbnMxMTY0My5oIi4KCShHQjc1OTBfc2V0LCBHQjEzMTMyX3NldCwgQ05TMTE2NDNfM19zZXQsIENOUzExNjQzXzRfc2V0LAoJQ05TMTE2NDNfNV9zZXQsIENOUzExNjQzXzZfc2V0LCBDTlMxMTY0M183X3NldCk6IENoYW5nZSBlbnVtIHZhbHVlcy4KCShCT0RZIGZvciBGUk9NX0xPT1ApOiBGaXggYnVmZmVyIG92ZXJydW4uIFRyZWF0IENOUzExNjQzIHBsYW5lIDMuCglSZXR1cm4gX19HQ09OVl9JTkNPTVBMRVRFX0lOUFVUIGluc3RlYWQgb2YgX19HQ09OVl9FTVBUWV9JTlBVVC4KCShCT0RZIGZvciBUT19MT09QKTogRml4IHVzYWdlIG9mIGBzZXQnIHZzLiBgdXNlZCcuICBGaXggdHlwbyB0aGF0CgljYXVzZWQgR0IyMzEyIHRvIGJlIHVzZWQgaW5zdGVhZCBvZiBJU08tSVItMTY1LiBUcmVhdCBDTlMxMTY0MwoJcGxhbmUgMy4gIEZpeCBzaGlmdCBzZXF1ZW5jZXMuIE91dHB1dCBhbm5vdW5jZW1lbnQgZm9yIFNTMiBhbmQgU1MzCgllbmNvZGluZ3Mgd2hlbiBuZWVkZWQuICBXaGVuIG91dHB1dHRpbmcgYW4gYW5ub3VuY2VtZW50LCBkb24ndCBjbGVhcgoJbW9zdCBvdGhlciBhbm5vdW5jZW1lbnRzLgoKMjAwMC0wOS0xNyAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaWNvbnZkYXRhL2lzby0yMDIyLWNuLmMgKEJPRFkgZm9yIEZST01fTE9PUCk6IEZpeCBidWZmZXIgb3ZlcnJ1bi4KCShCT0RZIGZvciBUT19MT09QKTogRml4IHVzYWdlIG9mIGBzZXQnIHZzLiBgdXNlZCcuCgoyMDAwLTA5LTE0ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpbnRsL1ZlcnNpb25zOiBBZGQgYmluZF90ZXh0ZG9tYWluX2NvZGVzZXQuCgoyMDAwLTA5LTE2ICBSYWxmIEJhZWNobGUgIDxyYWxmQGdudS5vcmc+CgoJKiBzeXNkZXBzL21pcHMvZGwtbWFjaGluZS5oIChfUlRMRF9QUk9MT0dVRSk6IFJlZm9ybWF0LiAgRGVjbGFyZQoJYXMgZnVuY3Rpb24uCgkoX1JUTERfRVBJTE9HVUUpOiBSZWZvcm1hdC4gIERlY2xhcmUgc2l6ZSBvZiBlbnRyeSBmdW5jdGlvbi4KCShFTEZfTUFDSElORV9CRUZPUkVfUlRMRF9SRUxPQyk6IFJlbG9jYXRlIHRoZSBkeW5hbWljIGxpbmtlciBpdHNlbGYgc28KCWl0IHdpbGwgZXZlbiB3b3JrIHdoZW4gbm90IGxvYWRlZCB0byB0aGUgc3RhbmRhcmQgYWRkcmVzcy4KCShSVExEX1NUQVJUKTogUmVmb3JtYXQuICBDYWxsIF9kbF9zdGFydCBpbiBhIHdheSB0aGF0IGlzIHNhZmUgZXZlbgoJYmVmb3JlIHRoZSBkeW5hbWljIGxpbmtlciBpdHNlbGYgaXMgcmVsb2NhdGVkLgoKMjAwMC0wOS0xOCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgva2VybmVsLWZlYXR1cmVzLmg6IEFsd2F5cyBkZWZpbmUKCV9fQVNTVU1FXzMyQklUVUlEUyBmb3IgTUlQUy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9pcGNfcHJpdi5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9EaXN0OiBBZGQgaXBjX3ByaXYuaC4KCjIwMDAtMDktMTcgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIGNhdGdldHMvTWFrZWZpbGUgKCQob2JqcGZ4KWRlL2xpYmMuY2F0KTogVXNlCgkkKG1ha2UtdGFyZ2V0LWRpcmVjdG9yeSkgaW5zdGVhZCBvZiBta2Rpci4KCjIwMDAtMDktMTcgIEZyYW56IFNpcmwgIDxGcmFuei5TaXJsLWtlcm5lbEBsYXV0ZXJiYWNoLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2tlcm5lbC1mZWF0dXJlcy5oOiBBbHdheXMgZGVmaW5lCglfX0FTU1VNRV8zMkJJVFVJRFMgZm9yIF9fcG93ZXJwY19fLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2lwY19wcml2Lmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL0Rpc3Q6IEFkZCBpcGNfcHJpdi5oLgoKMjAwMC0wOS0xNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tNjhrL3N5c2RlcC5oIChJTkxJTkVfU1lTQ0FMTCk6IEZpeCBsYXN0CglwYXRjaC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL3N5c2RlcC5oIChJTkxJTkVfU1lTQ0FMTCk6IExpa2V3aXNlLgoKMjAwMC0wOS0xNiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2lhNjQvSW1wbGllczogUmVvcmRlciBpZWVlNzU0IGltcGxpZXMgc28gdGhhdCBsZGJsLSogY29tZXMKCWZpcnN0LgoJKiBzeXNkZXBzL202OGsvSW1wbGllczogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9JbXBsaWVzOiBMaWtld2lzZS4KCjIwMDAtMDktMTYgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogZWxmL3JlYWRsaWIuYyAocHJvY2Vzc19maWxlKTogRG9uJ3QgZXJyb3IgZm9yIHN0YWxlIC5zbyBsaW5rcyBlaXRoZXIuCgoyMDAwLTA5LTE2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9kbC1sb2FkLmMgKF9kbF9tYXBfb2JqZWN0X2Zyb21fZmQpOiBBZGQgb25lIG1vcmUKCV9fYnVpbHRpbl9leHBlY3QuCgoJKiBpbmNsdWRlL2JpdHMveG9wZW5fbGltLmggKExPTkdfQklUKTogVXNlIExPTkdfTUFYLCBub3QgSU5UX01BWC4KCVBhdGNoIGJ5IFRob3JzdGVuIEt1a3VrIDxrdWt1a0BzdXNlLmRlPi4KCgkqIGRsZmNuL01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIGRlZmF1bHRtb2QxLmMgYW5kIGRlZmF1bHRtb2QyLmMuCgkodGVzdCk6IEFkZCBkZWZhdWx0LgoJKG1vZHVsZXMtbmFtZXMpOiBBZGQgZGVmYXVsdG1vZDEgYW5kIGRlZmF1bHRtb2QyLgoJQWRkIHJ1bGVzIHRvIGJ1aWxkIHRlc3Qgb2JqZWN0cy4KCjIwMDAtMDktMTUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogd2N0eXBlL3djdHlwZS5oOiBBbHdheXMgaW5jbHVkZSA8Yml0cy90eXBlcy5oPi4KCVJlcG9ydGVkIGJ5IEppbSBNZXllcmluZyA8bWV5ZXJpbmdAYXNjZW5kLmNvbT4uCgoJKiBlbGYvcnRsZC5jIChfZGxfZHluYW1pY193ZWFrKTogU2V0IHRvIDEgYnkgZGVmYXVsdCBmb3Igbm93LgoJKiBlbGYvZGwtc3VwcG9ydC5jOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy9zdGF0Lmg6IENvcnJlY3QgcG9zaXRpb24gb2YKCXN0X2Jsb2NrcyBtZW1iZXIgaW4gc3RhdCBhbmQgc3RhdDY0IHN0cnVjdHMuCglQYXRjaCBieSBCaWxsIE5vdHRpbmdoYW0gPG5vdHRpbmdAcmVkaGF0LmNvbT4uCgoJKiBpY29udmRhdGEvdHN0LXRhYmxlcy5zaDogQWRkIHdhcm5pbmcgdGhhdCBHQjE4MDMwIHRlc3QgbWlnaHQKCXRha2UgbG9uZ2VyLgoKCSogbWF0aC9jb21wbGV4Lmg6IERvbid0IGRlZmluZSBfQ29tcGxleCBtYWNybyBmb3IgZ2NjIDMuICBBZGQKCV9fZXh0ZW5zaW9uX18gdG8gX0NvbXBsZXhfSSBkZWZpbml0aW9uIHNpbmNlIGdjYyB3YXJucyBpZiAtcGVkYW50aWMuCgkqIG1hdGgvYml0cy9jbWF0aGNhbGxzLmggKGNvbmopOiBBZGQgX19leHRlbnNpb25fXyBzaW5jZSB3ZSB1c2Ugfi4KCVBhdGNoZXMgYnkgSm9zZXBoIFMuIE15ZXJzIDxqc20yOEBjYW0uYWMudWs+LgoKCSogaW5jbHVkZS9saW1pdHMuaDogRGVmaW5lIExMT05HX01JTiwgTExPTkdfTUFYLCBVTExPTkdfTUFYIGlmCgluZWNlc3NhcnkuICBNb3ZlIGluY2x1ZGVzIG9mIFBPU0lYIGFuZCBVbml4IGxpbWl0cyBmaWxlcyB0byB0aGUgZW5kLgoJKiBzdGRsaWIvTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC1saW1pdHMuCgkqIHN0ZGxpYi90c3QtbGltaXRzLmg6IE5ldyBmaWxlLgoKMjAwMC0wOS0xNSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9taXBzL2ZwdS9mZXNldGVudi5jIChfX2Zlc2V0ZW52KTogSGFuZGxlIEZFX05PTUFTS19FTlYuCgoJKiBzeXNkZXBzL21pcHMvYml0cy9mZW52LmggKEZFX05PTUFTS19FTlYpOiBEZWZpbmUuCgoyMDAwLTA5LTE1ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9hbHBoYS9zeXNkZXAuaCAoaW5saW5lX3N5c2NhbGxfY2xvYmJlcnMpOiBBZGQgbWVtb3J5CgljbG9iYmVyLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vc3lzZGVwLmggKElOTElORV9TWVNDQUxMKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L202OGsvc3lzZGVwLmggKElOTElORV9TWVNDQUxMKTogTGlrZXdpc2UuCgoyMDAwLTA5LTE1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCBuZXh0bW9kMS5jIGFuZCBuZXh0bW9kMi5jLgoJKHRlc3RzKTogQWRkIG5leHQuCgkobW9kdWxlcy1uYW1lcyk6IEFkZCBuZXh0bW9kMSBhbmQgbmV4dG1vZDIuCglBZGQgcnVsZXMgdG8gYnVpbGQgYW5kIHJ1biBuZXh0LgoJKiBlbGYvbmV4dC5jOiBOZXcgZmlsZS4KCSogZWxmL25leHRtb2QxLmM6IE5ldyBmaWxlLgoJKiBlbGYvbmV4dG1vZDIuYzogTmV3IGZpbGUuCgoyMDAwLTA5LTE0ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGVsZi9kbC1sb29rdXAuYyAoX2RsX2xvb2t1cF9zeW1ib2xfc2tpcCk6IEZpeCBhIHR5cG8uCgoyMDAwLTA5LTE1ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL21pcHMvZnB1L2ZlbnZfbGliYy5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9taXBzL2ZwdS9mZWVuYWJseGNwdC5jOiBVc2UgZmVudl9saWJjLmgKCSogc3lzZGVwcy9taXBzL2ZwdS9mZWdldGV4Y2VwdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL2ZwdS9mZWRpc2JseGNwdC5jOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvbWlwcy9mcHUvZmVlbmFibHhjcHQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvbWlwcy9mcHUvZmVnZXRleGNlcHQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvbWlwcy9mcHUvZmVkaXNibHhjcHQuYzogTmV3IGZpbGUuCgoyMDAwLTA5LTE0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGludGwvTWFrZWZpbGU6IEF2b2lkIHVubmVjZXNzYXJ5IHRlc3QgcmVydW5zLgoKCSogc3RkaW8tY29tbW9uL3RzdC1wcmludGYuc2g6IEFsc28gYWxsb3cgb3V0cHV0IGZyb20gNjQtYml0IG1hY2hpbmVzLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZGwtb3NpbmZvLmggKERMX1NZU0RFUF9PU0NIRUNLKTogQ2hhbmdlCgl0byBub3QgdXNlIHN5c2N0bCgpLiAgVG9vIG1hbnkgYXJjaGl0ZWN0dXJlcyBoYXZlIHByb2JsZW1zIHdpdGggaXQuCgoyMDAwLTA5LTE0ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzY3JpcHRzL2NvbmZpZy5zdWI6IE5ldyB2ZXJzaW9uIGZyb20gc3VidmVyc2lvbnMuZ251Lm9yZy4KCgkqIHRpbWUvY2xvY2t0ZXN0LmMgKG1haW4pOiBDaGFuZ2UgZm9ybWF0LCBDTE9DS1NfUEVSX1NFQyBpcyBub3cKCWxvbmcuCgoyMDAwLTA5LTE0ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHBvc2l4L3JlZ2V4LmMgKGNvbXBpbGVfcmFuZ2UpOiBDYXN0IGNvbGxzZXEgaW5kZXggdG8gdW5zaWduZWQgY2hhcgoJdG8gYXZvaWQgYWNjZXNzaW5nIGRhdGEgYmVmb3JlIGNvbGxzZXEuCgoJKiBzeXNkZXBzL3NwYXJjL2ZwdS9iaXRzL21hdGhpbmxpbmUuaCAoX191bm9yZGVyZWRfdjljbXApOiBBdm9pZAoJcGFzdGluZyBzdHJpbmdzIHRvZ2V0aGVyLgoKMjAwMC0wOS0xNCAgR3JlZyBNY0dhcnkgIDxncmVnQG1jZ2FyeS5vcmc+CgoJKiBzeXNkZXBzL2dlbmVyaWMvYnAtY2hlY2tzLmg6IFJlbW92ZSBib2d1cyByZWZlcmVuY2UgdG8gR05VIE1QIGluCgljb3B5cmlnaHQgbm90aWNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvYnAtc2VtY3RsLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvYnAtc3RhcnQuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9icC1zeW0uaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9icC10aHVua3MuaDogTGlrZXdpc2UuICBJbmNsdWRlIDxzdGRpby5oPiB0byBnZXQKCXJlbmFtZSBwcm90b3R5cGUuCgoyMDAwLTA5LTEzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGlvL3Rlc3QtbGZzLmMgKGRvX3Rlc3QpOiBBbGxvdyBzdGF0NjQoKSB0byByZXR1cm4gRU9WRVJGTE9XIGFuZAoJZG9uJ3QgZmFpbC4KCgkqIGVsZi9lbGYuaDogQWRkIG1pc3Npbmcgb2ZmaWNpYWwgcmVsb2NhdGlvbnMuCgoJKiBsaWJpby9zdGRpby5oOiBEZWZpbmUgX19GSUxFIGlmIF9fbmVlZF9fX0ZJTEUgaXMgZGVmaW5lZC4KCSogc3RkaW8vc3RkaW8uaDogTGlrZXdpc2UuCgkqIHdjc21icy93Y2hhci5oOiBHZXQgZGVmaW5pdGlvbiBvZiBfX0ZJTEUuIFVzZSBfX0ZJTEUgaW5zdGVhZCBvZiBGSUxFLgoJKiBpbmNsdWRlL3N0ZGlvLmg6IEhhbmRsZSBfX25lZWRfX19GSUxFIGxpa2UgX19uZWVkX0ZJTEUuCgkqIGluY2x1ZGUvd2NoYXIuaDogVXNlIF9fRklMRSBpbnN0ZWFkIG9mIEZJTEUuCgkqIGxpYmlvL2Z3cHJpbnRmLmM6IEluY2x1ZGUgPHN0ZGlvLmg+IGZvciBGSUxFIGRlZmluaXRpb24uCgkqIGxpYmlvL2Z3c2NhbmYuYzogTGlrZXdpc2UuCgkqIGxpYmlvL2dldHdjLmM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9nZW5lcmljL3N0ZGludC5oIChXSU5UX01BWCk6IERlZmluZSB0byA0Mjk0OTY3Mjk1dS4KCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvd2NoYXIuaCAoV0NIQVJfTUlOKTogRGVmaW5lIHRvIC0yMTQ3NDgzNjQ3IC0gMS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9iaXRzL3djaGFyLmg6IExpa2V3aXNlLgoKCSogYXNzZXJ0L2Fzc2VydC5oOiBVcGRhdGUgY29tbWVudCBoZWFkZXIgYWJvdXQgSVNPIEMgc2VjdGlvbi4KCSogbWF0aC9jb21wbGV4Lmg6IExpa2V3aXNlLgoJKiBjdHlwZS9jdHlwZS5oOiBMaWtld2lzZS4KCSogaW5jbHVkZS9lcnJuby5oOiBMaWtld2lzZS4KCSogaW5jbHVkZS9saW1pdHMuaDogTGlrZXdpc2UuCgkqIGxvY2FsZS9sb2NhbGUuaDogTGlrZXdpc2UuCgkqIG1hdGgvbWF0aC5oOiBMaWtld2lzZS4KCSogc2V0am1wL3NldGptcC5oOiBMaWtld2lzZS4KCSogc2lnbmFsL3NpZ25hbC5oOiBMaWtld2lzZS4KCSogc3RkaW8vc3RkaW8uaDogTGlrZXdpc2UuCgkqIGxpYmlvL3N0ZGlvLmg6IExpa2V3aXNlLgoJKiBzdGRsaWIvc3RkbGliLmg6IExpa2V3aXNlLgoJKiBzdHJpbmcvc3RyaW5nLmg6IExpa2V3aXNlLgoJKiB0aW1lL3RpbWUuaDogTGlrZXdpc2UuCgkqIHdjc21icy93Y2hhci5oOiBMaWtld2lzZS4KCSogd2N0eXBlL3djdHlwZS5oOiBMaWtld2lzZS4KCVBhdGNoZXMgYnkgSm9zZXBoIFMuIE15ZXJzIDxqc20yOEBjYW0uYWMudWs+LgoKMjAwMC0wOS0xMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9zb2NrZXQuaCAoX19jbXNnX254dGhkcik6IEZpeCB0ZXN0Cglmb3Igbm8gbW9yZSBlbnRyaWVzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvYml0cy9zb2NrZXQuaCAoX19jbXNnX254dGhkcik6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2JpdHMvc29ja2V0LmggKF9fY21zZ19ueHRoZHIpOiBMaWtld2lzZS4KCVJlcG9ydGVkIGJ5IEVyaWMgUy4gSm9obnNvbiA8ZXNqQGNzLmZpdS5lZHU+LCBjbG9zZXMgUFIgbGliYy8xODg3LgoKMjAwMC0wOS0xMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3RpbWUuaCAoQ0xPQ0tTX1BFUl9TRUMpOiBNYWtlIGEgbG9uZyBpbnQKCWNvbnN0YW50IHNpbmNlIHRoaXMgaXMgd2hhdCBjbG9ja190IGlzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9iaXRzL3RpbWUuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvYml0cy90aW1lLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvdGltZS5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9iaXRzL3RpbWUuaDogTGlrZXdpc2UuCgoJKiB0aW1lL3RpbWUuaDogRG9uJ3QgZGVmaW5lZCBjbG9ja2lkX3QgYW5kIHRpbWVyX3QgdW5sZXNzIFBPU0lYCglkZWZpbml0aW9ucyBhcmUgcmVxdWVzdGVkLgoKMjAwMC0wOS0xMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc2hsaWItdmVyc2lvbnM6IGxpYkJyb2tlbkxvY2FsZSBuZWVkcyBtaW5pbWFsIHZlcnNpb24gZm9yIGlhNjQsCglzcGFyYzY0IGFuZCBzaCB0byBzeW5jaCB3aXRoIGxpYmMuCgoyMDAwLTA5LTEzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252ZGF0YS9NYWtlZmlsZSAobW9kdWxlcyk6IEFkZCBJU08tMjAyMi1DTi1FWFQuCgkoZGlzdHJpYnV0ZSk6IEFkZCBpc28tMjAyMi1jbi1leHQuYy4KCUFkZCBkZWZpbml0aW9ucyB0byBjb21waWxlIHRoZSBuZXcgbW9kdWxlLgoJKiBpY29udmRhdGEvZ2NvbnYtbW9kdWxlczogQWRkIGVudHJpZXMgZm9yIElTTy0yMDIyLUNOLUVYVC4KCSogaWNvbnZkYXRhL2lzby0yMDIyLWNuLWV4dC5jOiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL2lzby1pci0xNjUuaCAoaXNvaXIxNjVfdG9fdWNzNCk6IFJlbmFtZWQgZnJvbQoJdWNzNF9mcm9tX2lzb2lyMTY1LiAgSW5jcmVtZW50IGlucHV0IHBvaW50ZXIgaWYgc3VjY2Vzc2Z1bC4KCgkqIGNzdS9NYWtlZmlsZTogV29yayBhcm91bmQgYSBnY2MgYnVnIHdoZW4gY3JlYXRpbmcgY3N1LWR1bW1pZXMuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9nZXRkZW50cy5jOiBQcmV0dHkgcHJpbnQuCgoyMDAwLTA5LTAxICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc3lzY2FsbHMubGlzdDogQWRkCglfX3N5c2NhbGxfZ2V0ZGVudHM2NCB3cmFwcGVyLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9uZXQvcm91dGUuaDogTmV3IGZpbGUuCgoyMDAwLTA5LTEyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252ZGF0YS9nYjE4MDMwLmM6IE1hbnkgbWFueSBjaGFuZ2VzLiAgTWFrZSBjb25zaXN0ZW50IHdpdGgKCWNoYXJtYXAgYW5kIHdpdGggaXRzZWxmLgoJKiBpY29udmRhdGEvdHN0LXRhYmxlcy5zaDogVGVzdCBHQjE4MDMwLgoKMjAwMC0wOS0xMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udi9za2VsZXRvbi5jOiBGaXggbGFzdCBwYXRjaCwgYWRkIG1pc3NpbmcgcGFyYW1ldGVyIHRvCgl1bmFsaWduZWQgZnVuY3Rpb24gY2FsbC4KCjIwMDAtMDktMTAgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jb2xsYXRlLmMgKGNvbGxhdGVfcmVhZCk6IEZpeCB0eXBvIGluIGhhbmRsaW5nCglvZiBkZWNpbWFsIGVsbGlwc2lzLgoKMjAwMC0wOS0xMSAgQnJ1bm8gSGFpYmxlIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY29sbGF0ZS5jIChjb2xsYXRlX3JlYWQpOiBBbHdheXMgaW5pdGlhbGl6ZQoJZXJyb3Jfc2VjdGlvbi5uZXh0LgoKMjAwMC0wOS0xMCAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLWNvbGxhdGUuYyAoY29sbGF0ZV9maW5pc2gpOiBVcHBlciBib3VuZCBmb3IKCXJ1bGVpZHggaXMgMTI4LCBub3QgMjU2LgoKMjAwMC0wOS0xMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY29sbGF0ZS5jIChjb2xsYXRlX3JlYWQpOiBDb3JyZWN0IGNoZWNrIGZvcgoJYWxyZWFkeSBpbnNlcnRlZCBlbnRyaWVzLgoKMjAwMC0wOS0xMCAgQnJ1bm8gSGFpYmxlIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udi9za2VsZXRvbi5jIChGVU5DVElPTl9OQU1FKTogSGFuZGxlIHVuYWxpZ25lZCBhY2Nlc3MgaW4KCXNlY29uZCB0cnkgYXMgd2VsbC4KCjIwMDAtMDktMTAgIEJydW5vIEhhaWJsZSA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaWNvbnYvc2tlbGV0b24uYyAoRlVOQ1RJT05fTkFNRSk6IE9wdGltaXplIGFuIGBpZicgaWYKCU1BWF9ORUVERURfRlJPTSA+IDEgJiYgTUFYX05FRURFRF9UTyA+IDEuCgoyMDAwLTA5LTEwICBCcnVubyBIYWlibGUgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGljb252L3NrZWxldG9uLmMgKGdjb252X2luaXQpOiBSZXBsYWNlIGFsbCB1c2VzIG9mIFJFU0VUX1NUQVRFIHdpdGgKCVNBVkVfUkVTRVRfU1RBVEUuCgoyMDAwLTA5LTEwICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udmRhdGEvdXRmLTcuYzogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9nY29udi1tb2R1bGVzIChVVEYtNyk6IE5ldyBtb2R1bGUgZW50cmllcy4KCSogaWNvbnZkYXRhL01ha2VmaWxlIChtb2R1bGVzKTogQWRkIFVURi03LgoJKGRpc3RyaWJ1dGUpOiBBZGQgdXRmLTcuYy4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL1VURi03OiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL1VURi03Li5VVEY4OiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL1RFU1RTIChVVEYtNyk6IE5ldyBlbnRyeS4KCSogaWNvbnZkYXRhL3J1bi1pY29udi10ZXN0LnNoOiBGaXggY29uZnVzaW5nIG91dHB1dC4KCjIwMDAtMDktMTEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9wb3NpeC90ZW1wbmFtZS5jIChfX2dlbl90ZW1wbmFtZSk6IFVzZSBfX2x4c3RhdCBhbmQgX194c3RhdC4KCjIwMDAtMDktMTAgIERhdmlkIFMuIE1pbGxlciAgPGRhdmVtQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvX19sb25nam1wLlMgKF9fbG9uZ2ptcCk6IENvcnJlY3QgJWZwCglmcmFtZSBwb2ludGVyIG9mZnNldCBmb3Igbm9uLWZhc3QgcGF0aC4KCjIwMDAtMDktMTAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbG9jYWxlL3Byb2dyYW1zLzNsZXZlbC5oICgqX2luaXQpOiBJbml0aWFsaXplIGxldmVsMSwgbGV2ZWwyLAoJYW5kIGxldmVsMyBhcyB3ZWxsLgoJKCpfYWRkKTogUmVtb3ZlIGEgZmV3IHVubmVjZXNzYXJ5IGNvbmRpdGlvbmFscy4KCjIwMDAtMDktMDUgIFdvbGZyYW0gR2xvZ2VyICA8d2dAbWFsbG9jLmRlPgoKCSogbWFsbG9jL3RocmVhZC1tLmggW19MSUJDXTogRXZlbiBpZiBub3QgbGlua2luZyB3aXRoIGxpYnB0aHJlYWQsCgllbnN1cmUgdXNhYmlsaXR5IG9mIG11dGV4IGFzIGFuIGBpbiB1c2UnIGZsYWcuCgoyMDAwLTA5LTEwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHNobGliLXZlcnNpb25zOiBTaW1wbGlmeSBsaWJtIGVudHJpZXMuICBDb3JyZWN0IGEgZmV3IEh1cmQgZW50cmllcy4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9pbml0ZmluaS5jOiBSZXdyaXRlIHNsaWdodGx5IHRvIGdldCByaWQgb2YgdGhlCgl1Z2x5IEdNT05fV0VBS19TVEFSVCBoYWNrLgoJUGF0Y2ggYnkgUGhpbGlwIEJsdW5kZWxsIDxwaGlsYkBnbnUub3JnPi4KCgkqIHN5c2RlcHMvaTM4Ni9pNDg2L2JpdHMvc3RyaW5nLmg6IFByZXR0eSBwcmludGluZy4KCjIwMDAtMDktMDkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9wb3dlcnBjL2RsLW1hY2hpbmUuYzogQWRkIHZvbGF0aWxlIHRvIFBQQ19EQ0JTVCwgUFBDX1NZTkMsCglhbmQgUFBDX0lDQkkgYXNtIGZvciBicm9rZW4gY29tcGlsZXJzLgoJUGF0Y2ggYnkgRnJhbnogU2lybCA8RnJhbnouU2lybC1rZXJuZWxAbGF1dGVyYmFjaC5jb20+LgoKMjAwMC0wOS0wOSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbWFudWFsL21lc3NhZ2UudGV4aSAoQWR2YW5jZWQgZ2V0dGV4dCBmdW5jdGlvbnMpOiBGaXggdHlwby4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2RsLW9zaW5mby5oOiBJbmNsdWRlIDxzdHJpbmcuaD4gZm9yCglzdHJuY3B5IHByb3RvdHlwZS4KCjIwMDAtMDktMDkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9pYTY0L21lbWNoci5TOiBBZGQgLnByZWQucmVsIHRvIGF2b2lkIHdyb25nIGFzc2VtYmxlcgoJd2FybmluZ3MuCgkqIHN5c2RlcHMvaWE2NC9tZW1jY3B5LlM6IExpa2V3aXNlLgoJUGF0Y2hlcyBieSBKaW0gV2lsc29uIDx3aWxzb25AcmVkaGF0LmNvbT4uCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9kbC1vc2luZm8uaCAoRExfU1lTREVQX09TQ0hFQ0spOiBVc2UgdW5hbWUKCWJlZm9yZSB0cnlpbmcgdG8gcmVhZCAvcHJvYy4KCVBhdGNoIGJ5IE1hdHQgV2lsc29uIDxtc3dAcmVkaGF0LmNvbT4uCgkqIGluY2x1ZGUvc3lzL3V0c25hbWUuaDogRGVjbGFyZSBfX3VuYW1lLgoJKiBzeXNkZXBzL2dlbmVyaWMvdW5hbWUuYzogTWFrZSB1bmFtZSBhIHdlYWsgYWxpYXMgb2YgX191bmFtZS4KCSogc3lzZGVwcy9tYWNoL2h1cmQvdW5hbWUuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXNjYWxscy5saXN0OiBMaWtld2lzZS4KCgkqIGljb252L2djb252X2RsLmMgKGRvX3JlbGVhc2Vfc2hsaWIpOiBSZXdyaXRlIGNvbmRpdGlvbiBmb3IKCXVubG9hZGluZyBhIGJpdC4KCjIwMDAtMDktMDggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvZ2V0b3B0LmMgKF9nZXRvcHRfaW50ZXJuYWwpOiBXaGVuIGxvbmdfb25seSBpcyBzZXQgYWx3YXlzCglyZWNvZ25pemUgY29uZmxpY3RzIGp1c3QgbGlrZSBiZWZvcmUuCgoyMDAwLTA5LTA4ICBGcmFueiBTaXJsICA8RnJhbnouU2lybC1rZXJuZWxAbGF1dGVyYmFjaC5jb20+CgoJKiBzeXNkZXBzL2lhNjQvTWFrZWZpbGUgKHN5c2RlcC1ydGxkLXJvdXRpbmVzKTogTmV3IHZhcmlhYmxlLgoKMjAwMC0wOS0wOCAgR3JlZyBNY0dhcnkgIDxncmVnQG1jZ2FyeS5vcmc+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXNjYWxscy5saXN0IChtaW5jb3JlKTogRml4IGFyZyBzaWduYXR1cmUuCgkqIHN5c2RlcHMvdW5peC9tYWtlLXN5c2NhbGxzLnNoOiBOZXcgc2lnbmF0dXJlIGtleWxldHRlciBgVicuCgkqIHN5c2RlcHMvZ2VuZXJpYy9icC1jaGVja3MuaCAoQ0hFQ0tfTl9QQUdFUyk6IE5ldyBtYWNyby4KCjIwMDAtMDktMDggIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9sb2NrZjY0LmM6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2ZjbnRsLmM6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2JpdHMvZmNudGwuaAoJKEZfR0VUTEs2NCxGX1NFVExLNjQsRl9TRVRMS1c2NCk6IFVzZSB2YWx1ZXMgZnJvbSAyLjQuMC10ZXN0OC4KCShGX0dFVExLLEZfU0VUTEssRl9TRVRMS1cpOiBIYW5kbGUgX19VU0VfRklMRV9PRkZTRVQ2NCBjb3JyZWN0bHkuCgoyMDAwLTA5LTA3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252ZGF0YS90c3QtdGFibGVzLnNoOiBFbmFibGUgRVVDLUtSIHRlc3QuCgoJKiBlbGYvZGwtbG9hZC5jIChsb3NlKTogRGVjcmVtZW50IF9ubF9sb2FkZWQuCgkoX2RsX21hcF9vYmplY3RfZnJvbV9mZCk6IERvbid0IHRyeSB0byBkbG9wZW4gZXhlY3V0YWJsZXMuCgoJKiBpY29udmRhdGEvdHN0LXRhYmxlcy5zaDogQWN0dWFsbHkgcmV0dXJuIHdpdGggYW4gZXJyb3IgaWYKCXNvbWV0aGluZyBnb2VzIHdyb25nLgoJKiBpY29udmRhdGEvdHN0LXRhYmxlLnNoOiBSZXR1cm4gd2l0aCBhbiBlcnJvciBpZiBhbnkgb2YgdGhlIGNtcCBmYWlscy4KCSogaWNvbnZkYXRhL2JpZzVoa3Njcy5jIChCT0RZIG9mIEZST01fTE9PUCk6IFJlamVjdCAweGZmIGFzIGlucHV0LgoKCSogaWNvbnZkYXRhL3RzdC10YWJsZXMuc2g6IEFkZCBCSUc1SEtTQ1MuCgoJKiBpY29udmRhdGEvdHN0LXRhYmxlLXRvLmMgKG1haW4pOiBDb3JyZWN0IGNhc3QgaW4gaWNvbnYgY2FsbC4KCSogaWNvbnZkYXRhL3RzdC10YWJsZS1mcm9tLmM6IEluY2x1ZGUgPHN0cmluZy5oPi4KCSh0cnkpOiBDb3JyZWN0IGNhc3QgaW4gaWNvbnYgY2FsbC4KCgkqIGVsZi9NYWtlZmlsZSAoYWxsLXJ0bGQtcm91dGluZXMpOiBFdmFsdWF0ZSAkKHN5c2RlcC1ydGxkLXJvdXRpbmVzKQoJdG9vLgoJKiBzeXNkZXBzL3Bvd2VycGMvTWFrZWZpbGUgKHN5c2RlcC1ydGxkLXJvdXRpbmVzKTogTmV3IHZhcmlhYmxlLgoJKHN5c2RlcF9yb3V0aW5lcyk6IFJlbW92ZSBkbC1zdGFydC4KCVBhdGNoZXMgYnkgRnJhbnogU2lybCA8RnJhbnouU2lybC1rZXJuZWxAbGF1dGVyYmFjaC5jb20+LgoKCSogYXNzZXJ0L19fYXNzZXJ0LmM6IFVuZGVmaW5lIE5ERUJVRyBiZWZvcmUgaW5jbHVkZSA8YXNzZXJ0Lmg+LgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbXNnc25kLmMgKG1zZ3NuZCk6IEFkZCBjYXN0IHRvIGF2b2lkIHdhcm5pbmcuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NobWF0LmMgKHNobWF0KTogTGlrZXdpc2UuCgoyMDAwLTA5LTA2ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9iaXRzL3RpbWUuaDogTmV3IGZpbGUuCgoyMDAwLTA5LTA3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2dldGhvc3RpZC5jOiBGaW5kIGhvc3RpZCBmaWxlIGluIC9ldGMuCgoJKiBzY3JpcHRzL2NvbmZpZy5zdWI6IFN0cmlwIG91dCAtdW5rbm93biBmb3IgTGludXggdGFyZ2V0cy4KCVBhdGNoIGJ5IFNjb3R0IEJhbWJyb3VnaCA8c2NvdHRiQG5ldHdpbmRlci5vcmc+LgoKCSogcG9zaXgvdHN0LWRpci5jIChtYWluKTogQ29ycmVjdCBvbmUgYnVnIChtaXNzaW5nIE5VTEwgdGVzdCkgYW5kCglhZGQgb25lIG1vcmUgdGVzdC4KCjIwMDAtMDktMDcgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvbG9ja2Y2NC5jOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvZmNudGwuYzogQWRkIHByb3RvdHlwZXMgZm9yIHRoZQoJc3lzY2FsbHMuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3N5c2NhbGxzLmxpc3Q6IEFkZCBfX3N5c2NhbGxfZmNudGwuCgoJKiBzeXNkZXBzL21pcHMvZGwtbWFjaGluZS5oIChSRVNPTFZFX0dPVFNZTSk6IEZpeCBjYWxscyB0byBkbF9sb29rdXAuCgkoRUxGX01BQ0hJTkVfUlVOVElNRV9UUkFNUE9MSU5FKTogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2ZjbnRsLmM6IE5ldyBmaWxlLgoKCSogc3RkbGliL3RzdC1ic2VhcmNoLmMgKG1haW4pOiBBZGQgbW9yZSB0ZXN0IGNhc2VzLgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLWNvbGxhdGUuYyAoaGFuZGxlX2VsbGlwc2lzKTogRml4IHR5cG8uCgkqIGVsZi9kbC1sb2FkLmMgKF9kbF9tYXBfb2JqZWN0X2Zyb21fZmQpOiBMaWtld2lzZS4KCVJlcG9ydGVkIGJ5IEdPVE8gTWFzYW5vcmkgPGdvdG9tQGRlYmlhbi5vci5qcD4uCgoyMDAwLTA5LTA3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHBvc2l4L01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3QtZGlyLgoJKHRzdC1kaXItQVJHUyk6IE5ldyB2YXJpYWJsZS4KCSogcG9zaXgvdHN0LWRpci5jOiBOZXcgZmlsZS4KCjIwMDAtMDktMDcgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvc3lzL3N5c2NhbGwuaCAoU1lTX2dldGRlbnRzNjQpOiBOZXcuCgkoU1lTX2ZjbnRsNjQpOiBOZXcuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3N5c2NhbGxzLmxpc3Q6IEFkZCBnZXRkZW50czY0LgoKMjAwMC0wOS0wNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvb3BlbmRpci5jOiBJZiBPX0RJUkVDVE9SWV9XT1JLUyBpcyBkZWZpbmVkIGRvbid0Cgl1c2UgdGhlIGhhY2sgd2l0aCB0cnlvcGVuX29fZGlyZWN0b3J5IHRvIGRldGVybWluZSBhdCBydW50aW1lCgl3aGV0aGVyIGl0IHdvcmtzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9vcGVuZGlyLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9rZXJuZWwtZmVhdHVyZXMuaDogRGVmaW5lCglfX0FTU1VNRV9PX0RJUkVDVE9SWSBpZiBrZXJuZWwga25vd3MgT19ESVJFQ1RPUlkuCgoJKiBjYXRnZXRzL0RlcGVuZDogTmV3IGZpbGUuICBBZGQgaW50bC4KCSogY2F0Z2V0cy9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdHN0LWNhdGdldHMuCgkoZ2VuZXJhdGVkKTogUmVtb3ZlIGRlLm1zZy4KCShnZW5lcmF0ZWQtZGlycyk6IEFkZCBkZS4KCUFkZCBkZXBlbmRlbmN5IGlmIHRzdC1jYXRnZXRzIG91dHB1dCBvbiBkZS9saWJjLmNhdC4KCSogY2F0Z2V0cy90c3QtY2F0Z2V0cy5jOiBOZXcgZmlsZS4KCgkqIHBvL2phLnBvOiBOZXcgZmlsZS4KCSogcG8vZWwucG86IFVwZGF0ZSBmcm9tIHRyYW5zbGF0aW9uIHRlYW0uCgoJKiB3Y3NtYnMvRGVwZW5kOiBOZXcgZmlsZS4KCSogd2NzbWJzL01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3QtYnRvd2MuCgkodHN0LWJ0b3djLUVOVik6IERlZmluZS4KCSogd2NzbWJzL3RzdC1idG93Yy5jOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L19HX2NvbmZpZy5oOiBNb3ZlZCB0by4uLgoJKiBzeXNkZXBzL2dudS9fR19jb25maWcuaDogLi4uaGVyZSB0byBiZSBzaGFyZWQgd2l0aCBIdXJkLgoKCSogc3lzZGVwcy9wb3NpeC9zaWduYWwuYzogQWRkIHNpZyB0byBhY3Quc2FfbWFzayBmb3IgY29tcGxldGVuZXNzLgoKCSogc3RkbGliL01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3QtYnNlYXJjaC4KCSogc3RkbGliL3RzdC1ic2VhcmNoLmM6IE5ldyBmaWxlLgoKCSogcG9zaXgvZ2V0b3B0LmMgKF9nZXRvcHRfaW50ZXJuYWwpOiBEb24ndCByZWNvZ25pemUgYW4gb3B0aW9uCgluYW1lIGFzIGFtYmlndW91cyBpZiBpdCdzIGEgcHJlZml4IGZvciBtb3JlIHRoYW4gb25lIG5hbWUgYnV0IHRoZQoJb3RoZXIgc3RydWN0IG9wdGlvbiB2YWx1ZXMgYXJlIGlkZW50aWNhbC4KCgkqIHBvc2l4L3RzdGdldG9wdC5jOiBBZGQgdGVzdCBmb3IgaW1wcm92ZWQgYW1iaWd1aXR5IHJlY29nbml0aW9uLgoJRG9uJ3QgZGVwZW5kIG9uIHZpc3VhbCBpbnNwZWN0aW9uIG9mIHRoZSBvdXRwdXQgZmlsZSB0byByZWNvZ25pemUKCWVycm9ycy4KCSogcG9zaXgvTWFrZWZpbGUgKHRzdGdldG9wdC1BUkdTKTogQWRkIGEgZmV3IG1vcmUgcGFyYW1ldGVycy4KCjIwMDAtMDktMDYgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvYWxwaGEvc29mdC1mcC9EaXN0OiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pMzg2L3NvZnQtZnAvRGlzdDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvbWlwcy9taXBzNjQvc29mdC1mcC9EaXN0OiBOZXcgZmlsZS4KCSogc3lzZGVwcy9taXBzL3NvZnQtZnAvRGlzdDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL0Rpc3Q6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvc29mdC1mcC9EaXN0OiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3NvZnQtZnAvRGlzdDogTmV3IGZpbGUuCgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9NYWtlZmlsZSBbJChzdWJkaXIpID0gc29mdC1mcF06CglVc2Ugc3lzZGVwX3JvdXRpbmVzIGluc3RlYWQgb2Ygcm91dGluZXMgdG8gZml4IG1ha2UgZGlzdCBmYWlsdXJlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvc29mdC1mcC9NYWtlZmlsZTogTGlrZXdpc2UgKGluIGNvbW1lbnRlZAoJb3V0IGNvZGUpLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9NYWtlZmlsZSBbJChzdWJkaXIpID0gc29mdC1mcF06IExpa2V3aXNlLgoKCSogc3lzZGVwcy9taXBzL01ha2VmaWxlIFskKHN1YmRpcikgPSBtaXNjXTogIFVzZQoJc3lzZGVwX2hlYWRlcnMgaW5zdGVhZCBvZiBoZWFkZXJzIGZvciBtYWtlIGRpc3QuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL01ha2VmaWxlIFskKHN1YmRpcikgPSBtaXNjXToKCUxpa2V3aXNlLgoKMjAwMC0wOS0wNiAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L202OGsvYml0cy9mY250bC5oOiBOZXcgZmlsZS4KCjIwMDAtMDktMDYgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHNvZnQtZnAvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBSZW1vdmUgQ2hhbmdlTG9nLgoKCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL01ha2VmaWxlIFskKHN1YmRpcikgPSBnbnVsaWJdOiAgVXNlCglzeXNkZXBfcm91dGluZXMgaW5zdGVhZCBvZiByb3V0aW5lcyBmb3IgbWFrZSBkaXN0LgoKMjAwMC0wOS0wNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsaWJpby9saWJpby5oIChfSU9fZndpZGVfbWF5YmVfaW5jb21wYXRpYmxlKTogRm9yIGdsaWJjIDIuMAoJY29tcGF0aWJpbGl0eSBjaGVjayBmb3Igb2xkIHN0cmVhbSBhbmQgY2FsbCBfSU9fd2lkZSBpbiBkb3VidC4KCShfSU9fZndpZGUpOiBVc2UgX0lPX2Z3aWRlX21heWJlX2luY29tcGF0aWJsZSBtYWNyby4KCSogbGliaW8vaW9md2lkZS5jIChfSU9fZndpZGUpOiBJZiBjb21wYXRpYmlsaXR5IHdpdGggZ2xpYmMgMi4wIGlzCgluZWVkZWQgdHN0IGZvciBzdWNoIGFuIG9sZCBzdHJ1Y3R1cmUgYW5kIGRvbid0IGRvIGFueXRoaW5nLgoJKiBsaWJpby9mcmVvcGVuLmM6IFJlbW92ZSBkZWNsYXJhdGlvbiBvZiBfSU9fc3RkaW5fdXNlZC4KCjIwMDAtMDktMDYgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvcG93ZXJwYy9NYWtlZmlsZSBbJChzdWJkaXIpID0gZWxmXTogTW9kaWZ5CglzeXNkZXAtZGwtcm91dGluZXMgYW5kIHN5c2RlcF9yb3V0aW5lcyBpbnN0ZWFkIG9mIHJ0bGQtcm91dGluZXMKCWFuZCBkbC1yb3V0aW5lcy4KCgkqIHNvZnQtZnAvQ2hhbmdlTG9nOiBNZXJnZWQgd2l0aCB0aGlzIGZpbGUuCgoyMDAwLTA2LTEzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHNvZnQtZnAvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgb3AtOC5oIGFuZCB0ZXN0aXQuYy4KCgkqIHNvZnQtZnAvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgdGhlIG1hdGggZnVuY3Rpb25zLCB0b28uCgoJKiBzb2Z0LWZwL01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIENoYW5nZUxvZywgQmFubmVyLCBhbmQgY29uZmlndXJlLgoKMjAwMC0wMy0wMyAgR2VvZmYgS2VhdGluZyAgPGdlb2Zma0BjeWdudXMuY29tPgoKCSogc29mdC1mcC9zb2Z0LWZwLmggKF9GUF9ST1VORF9aRVJPKTogQ2FzdCAwIHRvIHZvaWQgYmVmb3JlIHVzaW5nIGl0CglhcyBhIHN0YXRlbWVudC4KCgkqIHNvZnQtZnAvc3lzZGVwcy9wb3dlcnBjL01ha2VmaWxlIChyb3V0aW5lcyk6IE5ldyBmaWxlLgoJKiBzb2Z0LWZwL3N5c2RlcHMvcG93ZXJwYy9xXyo6IE5ldyBmaWxlcy4KCjIwMDAtMDktMDUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3RkaW8tY29tbW9uL3ZmcHJpbnRmLmMgKHByb2Nlc3Nfc3RyaW5nX2FyZyk6IEhhbmRsZSBwcmVjaXNpb24KCWluIHdpZGUgY2hhciBjYXNlIGNvcnJlY3RseS4gIERvbid0IGFsbG9jYXRlIHRvbyBsb25nIHRlbXBvcmFyeQoJc3RyaW5ncyB3aXRoIGFsbG9jYS4KCgkqIHN0ZGlvLWNvbW1vbi9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdHN0LXN3cHJpbnRmLgoJKHRzdC1zd3ByaW50Zi1FTlYpOiBOZXcgdmFyaWFibGUuCgkqIHN0ZGlvLWNvbW1vbi90c3Qtc3dwcmludGYuYzogTmV3IGZpbGUuCgoyMDAwLTA5LTA1ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2JpdHMvc3RhdC5oOiBVc2Ugc3RfcGFkNS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy94c3RhdGNvbnYuYzogRml4IGFzc2lnbm1lbnRzLgoJUGF0Y2ggYnkgTWFjaWVqIFcuIFJvenlja2kgPG1hY3JvQGRzMi5wZy5nZGEucGw+LgoKMjAwMC0wOS0wNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuaW46IFN0cmlwIG91dCAidW5rbm93biIgZnJvbSBjb25maWd1cmF0aW9uIG5hbWVzLgoKMjAwMC0wOS0wNSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9wb3dlcnBjL1N1YmRpcnM6IE5ldyBmaWxlLCBhZGRzIHNvZnQtZnAuCgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvSW1wbGllczogQWRkIHNvZnQtZnAuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9JbXBsaWVzOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL0ltcGxpZXM6IExpa2V3aXNlLgoKCSogbGliaW8vb2xkaW9mc2V0cG9zNjQuYzogQ2hlY2sgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBnbGliYyAyLjEuCgkqIGxpYmlvL29sZGlvZmdldHBvczY0LmM6IExpa2V3aXNlLgoKCSogc29mdC1mcC9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IFJlbW92ZSBjb25maWd1cmUuCgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9WZXJzaW9uczogVXNlIHZlcnNpb24gZ2xpYmMgMi4yLgoKCSogc29mdC1mcC9jb25maWd1cmU6IFJlbW92ZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3FwX25lZy5TOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9xcF9uZWcuUzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmMzMi9NYWtlZmlsZTogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3NvZnQtZnAvTWFrZWZpbGU6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3Bvd2VycGMvTWFrZWZpbGU6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL01ha2VmaWxlOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzY0L01ha2VmaWxlOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9NYWtlZmlsZTogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmM2NC9xcF9uZWcuUzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3NvZnQtZnAvcXBfbmVnLlM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3Bvd2VycGMvcV9hZGQuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9wb3dlcnBjL3NvZnQtZnAvcV9hZGQuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvcG93ZXJwYy9xX2NtcC5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9xX2NtcC5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9wb3dlcnBjL3FfY21wZS5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9xX2NtcGUuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvcG93ZXJwYy9xX2Rpdi5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9xX2Rpdi5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9wb3dlcnBjL3FfZHRvcS5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9xX2R0b3EuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvcG93ZXJwYy9xX2ZlcS5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9xX2ZlcS5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9wb3dlcnBjL3FfZmdlLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL3FfZmdlLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3Bvd2VycGMvcV9mZ3QuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9wb3dlcnBjL3NvZnQtZnAvcV9mZ3QuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvcG93ZXJwYy9xX2ZsZS5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9xX2ZsZS5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9wb3dlcnBjL3FfZmx0LmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL3FfZmx0LmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3Bvd2VycGMvcV9mbmUuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9wb3dlcnBjL3NvZnQtZnAvcV9mbmUuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvcG93ZXJwYy9xX2l0b3EuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9wb3dlcnBjL3NvZnQtZnAvcV9pdG9xLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3Bvd2VycGMvcV9sbHRvcS5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9xX2xsdG9xLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3Bvd2VycGMvcV9tdWwuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9wb3dlcnBjL3NvZnQtZnAvcV9tdWwuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvcG93ZXJwYy9xX25lZy5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9xX25lZy5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9wb3dlcnBjL3FfcXRvZC5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9xX3F0b2QuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvcG93ZXJwYy9xX3F0b2kuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9wb3dlcnBjL3NvZnQtZnAvcV9xdG9pLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3Bvd2VycGMvcV9xdG9sbC5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9xX3F0b2xsLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3Bvd2VycGMvcV9xdG9zLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvcG93ZXJwYy9zb2Z0LWZwL3FfcXRvcy5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9wb3dlcnBjL3FfcXRvdS5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9xX3F0b3UuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvcG93ZXJwYy9xX3F0b3VsbC5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9xX3F0b3VsbC5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9wb3dlcnBjL3Ffc3FydC5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9xX3NxcnQuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvcG93ZXJwYy9xX3N0b3EuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9wb3dlcnBjL3NvZnQtZnAvcV9zdG9xLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3Bvd2VycGMvcV9zdWIuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9wb3dlcnBjL3NvZnQtZnAvcV9zdWIuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvcG93ZXJwYy9xX3VsbHRvcS5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9xX3VsbHRvcS5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9wb3dlcnBjL3FfdXRpbC5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9xX3V0aWwuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvcG93ZXJwYy9xX3V0b3EuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9wb3dlcnBjL3NvZnQtZnAvcV91dG9xLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjMzIvcV9hZGQuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3NvZnQtZnAvcV9hZGQuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmMzMi9xX2NtcC5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvc29mdC1mcC9xX2NtcC5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3FfY21wZS5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvc29mdC1mcC9xX2NtcGUuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmMzMi9xX2Rpdi5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvc29mdC1mcC9xX2Rpdi5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3FfZHRvcS5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvc29mdC1mcC9xX2R0b3EuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmMzMi9xX2ZlcS5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvc29mdC1mcC9xX2ZlcS5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3FfZmdlLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9zb2Z0LWZwL3FfZmdlLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjMzIvcV9mZ3QuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3NvZnQtZnAvcV9mZ3QuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmMzMi9xX2ZsZS5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvc29mdC1mcC9xX2ZsZS5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3FfZmx0LmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9zb2Z0LWZwL3FfZmx0LmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjMzIvcV9mbmUuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3NvZnQtZnAvcV9mbmUuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmMzMi9xX2l0b3EuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3NvZnQtZnAvcV9pdG9xLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjMzIvcV9tdWwuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3NvZnQtZnAvcV9tdWwuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmMzMi9xX25lZy5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvc29mdC1mcC9xX25lZy5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3FfcXRvZC5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvc29mdC1mcC9xX3F0b2QuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmMzMi9xX3F0b2kuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3NvZnQtZnAvcV9xdG9pLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjMzIvcV9xdG9zLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9zb2Z0LWZwL3FfcXRvcy5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3FfcXRvdWkuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3NvZnQtZnAvcV9xdG91aS5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3FfcXRvdXguYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3NvZnQtZnAvcV9xdG91eC5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3FfcXRveC5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvc29mdC1mcC9xX3F0b3guYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmMzMi9xX3NxcnQuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3NvZnQtZnAvcV9zcXJ0LmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjMzIvcV9zdG9xLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9zb2Z0LWZwL3Ffc3RvcS5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3Ffc3ViLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9zb2Z0LWZwL3Ffc3ViLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjMzIvcV91aXRvcS5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvc29mdC1mcC9xX3VpdG9xLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjMzIvcV91dGlsLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9zb2Z0LWZwL3FfdXRpbC5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3FfdXh0b3EuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3NvZnQtZnAvcV91eHRvcS5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3FfeHRvcS5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvc29mdC1mcC9xX3h0b3EuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmM2NC9xcF9hZGQuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3NvZnQtZnAvcXBfYWRkLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjNjQvcXBfY21wLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zb2Z0LWZwL3FwX2NtcC5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3FwX2NtcGUuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3NvZnQtZnAvcXBfY21wZS5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3FwX2Rpdi5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9xcF9kaXYuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmM2NC9xcF9kdG9xLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zb2Z0LWZwL3FwX2R0b3EuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmM2NC9xcF9mZXEuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3NvZnQtZnAvcXBfZmVxLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjNjQvcXBfZmdlLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zb2Z0LWZwL3FwX2ZnZS5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3FwX2ZndC5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9xcF9mZ3QuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmM2NC9xcF9mbGUuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3NvZnQtZnAvcXBfZmxlLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjNjQvcXBfZmx0LmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zb2Z0LWZwL3FwX2ZsdC5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3FwX2ZuZS5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9xcF9mbmUuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmM2NC9xcF9pdG9xLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zb2Z0LWZwL3FwX2l0b3EuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmM2NC9xcF9tdWwuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3NvZnQtZnAvcXBfbXVsLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjNjQvcXBfcXRvZC5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9xcF9xdG9kLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjNjQvcXBfcXRvaS5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9xcF9xdG9pLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjNjQvcXBfcXRvcy5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9xcF9xdG9zLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjNjQvcXBfcXRvdWkuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3NvZnQtZnAvcXBfcXRvdWkuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmM2NC9xcF9xdG91eC5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9xcF9xdG91eC5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3FwX3F0b3guYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3NvZnQtZnAvcXBfcXRveC5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3FwX3NxcnQuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3NvZnQtZnAvcXBfc3FydC5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3FwX3N0b3EuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3NvZnQtZnAvcXBfc3RvcS5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3FwX3N1Yi5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9xcF9zdWIuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmM2NC9xcF91aXRvcS5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9xcF91aXRvcS5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3FwX3V0aWwuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3NvZnQtZnAvcXBfdXRpbC5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3FwX3V4dG9xLmM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zb2Z0LWZwL3FwX3V4dG9xLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjNjQvcXBfeHRvcS5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9xcF94dG9xLmM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjNjQvc19mcmV4cGwuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3NvZnQtZnAvc19mcmV4cGwuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvc3BhcmMvc3BhcmM2NC9zX2lsb2dibC5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9zX2lsb2dibC5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3Nfc2NhbGJsbmwuYzogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3NvZnQtZnAvc19zY2FsYmxubC5jOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3Nfc2NhbGJubC5jOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9zX3NjYWxibmwuYzogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvYWxwaGEvc2ZwLW1hY2hpbmUuaDogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9hbHBoYS9zb2Z0LWZwL3NmcC1tYWNoaW5lLmg6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL2kzODYvc2ZwLW1hY2hpbmUuaDogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9pMzg2L3NvZnQtZnAvc2ZwLW1hY2hpbmUuaDogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvbWlwcy9taXBzNjQvc2ZwLW1hY2hpbmUuaDogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9taXBzL21pcHM2NC9zb2Z0LWZwL3NmcC1tYWNoaW5lLmg6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL21pcHMvc2ZwLW1hY2hpbmUuaDogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9taXBzL3NvZnQtZnAvc2ZwLW1hY2hpbmUuaDogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvcG93ZXJwYy9zZnAtbWFjaGluZS5oOiBNb3ZlIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9zZnAtbWFjaGluZS5oOiAuLi4gdG8gaGVyZS4KCgkqIHNvZnQtZnAvc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3NmcC1tYWNoaW5lLmg6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9zb2Z0LWZwL3NmcC1tYWNoaW5lLmg6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjNjQvc2ZwLW1hY2hpbmUuaDogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3NvZnQtZnAvc2ZwLW1hY2hpbmUuaDogLi4uIHRvIGhlcmUuCgoJKiBzb2Z0LWZwL3N5c2RlcHMvcG93ZXJwYy9WZXJzaW9uczogTW92ZSBmcm9tIGhlcmUuLi4KCSogc3lzZGVwcy9wb3dlcnBjL3NvZnQtZnAvVmVyc2lvbnM6IC4uLiB0byBoZXJlLgoKCSogc29mdC1mcC9zeXNkZXBzL3NwYXJjL3NwYXJjNjQvVmVyc2lvbnM6IE1vdmUgZnJvbSBoZXJlLi4uCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zb2Z0LWZwL1ZlcnNpb25zOiAuLi4gdG8gaGVyZS4KCgkqIGxpYmlvL29sZGlvZnNldHBvczY0LmM6IGlvZnNldHBvcyB3YXMgaW50cm9kdWNlZCBpbiBnbGliYyAyLjEsCgljaGFuZ2Ugc3ltYm9sIHZlcnNpb24uCgkqIGxpYmlvL29sZGlvZmdldHBvczY0LmM6IExpa2V3aXNlLgoJUmVwb3J0ZWQgYnkgTWFydGluIHYuIExvZXdpcyA8bWFydGluQGxvZXdpcy5ob21lLmNzLnR1LWJlcmxpbi5kZT4uCgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY3R5cGUuYyAoY2hhcmNsYXNzX2NoYXJjb2RlX2VsbGlwc2lzKTogRml4Cgl0eXBvLgoJUmVwb3J0ZWQgYnkgZHlreUBrb25kYXJhLm9yZywgY2xvc2VzIFBSIGxpYmMvMTg4Ni4KCgkqIHN0ZGxpYi90c3Qtc3RydG9kLmM6IEFkZCB0ZXN0Y2FzZXMgZm9yIGRlbm9ybWFsIG51bWJlcnMgZnJvbSBQUgoJbGliYy8xODgwLgoKMjAwMC0wOS0wNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udmRhdGEvcnVuLWljb252LXRlc3Quc2g6IEFkZCBjb2RlIHRvIGltbWVkaWF0ZWx5IHN0b3AgdGhlCglzY3JpcHQgd2hlbiBeQyBpcyBoaXQuCgoJKiBsb2NhbGUvcHJvZ3JhbXMvbG9jYWxlZGVmLmMgKGNvbnN0cnVjdF9vdXRwdXRfcGF0aCk6IENvcnJlY3QKCWNvbXB1dGF0aW9uIG9mIGVuZHAgYWZ0ZXIgYXNwcmludGYuCgkqIGxvY2FsZS9wcm9ncmFtcy9sb2NmaWxlLmMgKHdyaXRlX2xvY2FsZV9kYXRhKTogRG9uJ3QgYWRkIGV4dHJhCglzbGFzaCBpbiBmaWxlbmFtZS4KCjIwMDAtMDktMDUgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHNjcmlwdHMvY29uZmlnLmd1ZXNzOiBOZXcgdXBzdHJlYW0gdmVyc2lvbi4KCSogc2NyaXB0cy9jb25maWcuc3ViOiBMaWtld2lzZS4KCSogbWFudWFsL3RleGluZm8udGV4OiBMaWtld2lzZS4KCjIwMDAtMDktMDQgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBlbGYvTWFrZWZpbGUgKGFsbC1kbC1yb3V0aW5lcyk6IE5ldyB2YXJpYWJsZS4KCShlbGlkZS1yb3V0aW5lcy5vcyk6IFVzZSBpdCBpbnN0ZWFkIG9mICQoZGwtcm91dGluZXMpLgoJKGFsbC1ydGxkLXJvdXRpbmVzKTogTmV3IHZhcmlhYmxlLgoJKGV4dHJhLW9ianMpOiBVc2UgaXQgaW5zdGVhZCBvZiAkKHJ0bGQtcm91dGluZXMpLgoJKCQob2JqcGZ4KWRsLWFsbG9ianMub3MpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pYTY0L01ha2VmaWxlIFskKHN1YmRpcikgPSBlbGZdOiBNb2RpZnkKCXN5c2RlcC1kbC1yb3V0aW5lcyBhbmQgc3lzZGVwX3JvdXRpbmVzIGluc3RlYWQgb2YgcnRsZC1yb3V0aW5lcwoJYW5kIGRsLXJvdXRpbmVzLgoKMjAwMC0wOS0wMyAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaWNvbnYvZ2NvbnZfdHJhbnMuYyAoX19nY29udl90cmFuc2xpdF9maW5kKTogVXBkYXRlIG9wZW5fY291bnQuCglTZXQgZm5hbWUgdG8gTlVMTCBpZiB0aGUgbW9kdWxlIHdhc24ndCBmb3VuZC4KCjIwMDAtMDktMDMgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGljb252L2djb252X3RyYW5zLmMgKF9fZ2NvbnZfdHJhbnNsaXRfZmluZCk6IERvbid0IHNldCBuZWVkX3NvIHRvCgl0cnVlIGlmIHRyYW5zLT5uYW1lIGFscmVhZHkgZW5kcyBpbiAiLnNvIi4KCjIwMDAtMDktMDMgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGljb252L2djb252X2ludC5oIChfX2djb252X3JlbGVhc2Vfc2hsaWIpOiBDaGFuZ2UgcmV0dXJuIHR5cGUgdG8KCXZvaWQuCgkqIGljb252L2djb252X2RsLmMgKGRvX3JlbGVhc2Vfc2hsaWIpOiBEb24ndCBkZWNyZW1lbnQgdGhlIGNvdW50ZXIKCWJlbG93IC1UUklFU19CRUZPUkVfVU5MT0FELTEsIHRvIGF2b2lkIHdyYXBhcm91bmQuCgkoX19nY29udl9yZWxlYXNlX3NobGliKTogQ2hhbmdlIHJldHVybiB0eXBlIHRvIHZvaWQuCgkqIGljb252L2djb252X2J1aWx0aW4uYyAoX19nY29udl9nZXRfYnVpbHRpbl90cmFucyk6IERvbid0IHNldAoJc3RlcC0+X19jb3VudGVyIGhlcmUuCgkqIGljb252L2djb252X2RiLmMgKGZyZWVfZGVyaXZhdGlvbik6IERvbid0IGNhbGwgYSBzdGVwJ3MgZGVzdHJ1Y3RvcgoJaWYgdGhlIHJlZmVyZW5jZSBpcyB6ZXJvLgoJKHJlbGVhc2Vfc3RlcCk6IE5ldyBmdW5jdGlvbi4KCShnZW5fc3RlcHMpOiBBbHdheXMgaW5pdGlhbGl6ZSB0aGUgX19jb3VudGVyIHRvIDEuIFVzZSByZWxlYXNlX3N0ZXAuCglEb24ndCBjYWxsIHRoZSBkZXN0cnVjdG9yIG9uIHRoZSBzdGVwIHdob3NlIGluaXRpYWxpemVyIGZhaWxlZC4KCShpbmNyZW1lbnRfY291bnRlcik6IFVzZSByZWxlYXNlX3N0ZXAuIERvbid0IG5vcm1hbGx5IHJ1biBkZXN0cnVjdG9ycwoJaGVyZS4KCShfX2djb252X2Nsb3NlX3RyYW5zZm9ybSk6IFVzZSByZWxlYXNlX3N0ZXAuCgoyMDAwLTA5LTAzICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udi9nY29udl9zaW1wbGUuYyAoZW5jb2RpbmdfbWFzaywgZW5jb2RpbmdfYnl0ZSk6IFJlbW92ZS4KCShfX2djb252X3RyYW5zZm9ybV9pbnRlcm5hbF91dGY4KSBbQk9EWV06IFVzZSBzaW1wbGUgc2hpZnRzIGluc3RlYWQuCgoyMDAwLTA5LTAzICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udmRhdGEvZXVjLXR3LmMgKEJPRFkgZm9yIEZST01fTE9PUCk6IEluaXRpYWxpemUgY2gyIGNvcnJlY3RseS4KCUlmIHRoZSBmaXJzdCBieXRlIGlzIDB4OEUsIGRvbid0IGFzayBmb3IgNCBieXRlcyB1bnRpbCBpdCBoYXMgYmVlbgoJdmVyaWZpZWQgdGhhdCB0aGUgc2Vjb25kIGJ5dGUgaXMgdmFsaWQuIExlYXZlIGl0IHRvIGNuczExNjQzX3RvX3VjczQKCXRvIGNoZWNrIGZvciBpbmNvbXBsZXRlIGlucHV0LgoJKiBpY29udmRhdGEvY25zMTE2NDMuaCAoY25zMTE2NDNfdG9fdWNzNCk6IFRoZSBwbGFuZSBudW1iZXIgaXMKCWNoIC0gMHgyMCAtIG9mZnNldCwgbm90IGNoIC0gMHgyMSAtIG9mZnNldC4gVXBwZXIgYm91bmQgZm9yCglfX2NuczExNjQzbDFfdG9fdWNzNF90YWIgaXMgMHgyMWYyLCBub3QgMHgyMTk2LgoJKHVjczRfdG9fY25zMTE2NDMpOiBGaXggbWFwcGluZyBmb3IgcmFuZ2VzIDB4MzEwNS4uMHgzMTI5IGFuZAoJMHg5ZjlkLi4weDlmYTUuCgkqIGljb252ZGF0YS9jbnMxMTY0M2wxLmggKGNuczExNjQzbDFfdG9fdWNzNCk6IFVwcGVyIGJvdW5kIGZvcgoJX19jbnMxMTY0M2wxX3RvX3VjczRfdGFiIGlzIDB4MjFmMiwgbm90IDB4MjE5Ni4KCSh1Y3M0X3RvX2NuczExNjQzbDEpOiBGaXggbWFwcGluZyBmb3IgcmFuZ2UgMHgzMTA1Li4weDMxMjkuCgkqIGljb252ZGF0YS9jbnMxMTY0M2wxLmMgKF9fY25zMTE2NDNsMV9mcm9tX3VjczRfdGFiNik6IEV4dGVuZAoJdXB0byBpbmRleCAweDAwNTIuCgoyMDAwLTA5LTAzICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udi9nY29udl9kYi5jIChmaW5kX2Rlcml2YXRpb24pOiBBbHdheXMgdXNlIHRoZSBsZWFzdC1jb3N0Cglzb2x1dGlvbi4KCjIwMDAtMDktMDMgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGljb252ZGF0YS9iaWc1LmMgKEJPRFkgZm9yIEZST01fTE9PUCk6IEJ5dGVzIDB4ODEuLjB4QTAsIDB4RkEuLjB4RkYKCWFyZSBpbnZhbGlkLgoKMjAwMC0wOS0wMyAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaWNvbnZkYXRhL2ppczAyMDguYyAoX19qaXMwMjA4X3RvX3Vjcyk6IE1hcCBFVUMtSlAgMHhBMUMwIHRvIFUrMDA1Qy4KCSogaWNvbnZkYXRhL2ppczAyMTIuYyAoX19qaXN4MDIxMl90b191Y3MpOiBNYXAgRVVDLUpQIDB4OEZBMkI3IHRvCglVKzAwN0UuCgoyMDAwLTA5LTAzICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udmRhdGEvc2ppcy5jIChjamtfYmxvY2sxKTogTWFwIDB4ODE1RiB0byBVKzAwNUMuCgoyMDAwLTA5LTAzICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udmRhdGEvaXNvXzY5MzctMi5jICh0b191Y3M0KTogTWFwIDB4QjQgdG8gVSswMEQ3LgoKMjAwMC0wOS0wMyAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaWNvbnZkYXRhL3RzdC10YWJsZXMuc2g6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvdHN0LXRhYmxlLnNoOiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL3RzdC10YWJsZS1mcm9tLmM6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvdHN0LXRhYmxlLXRvLmM6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvdHN0LXRhYmxlLWNoYXJtYXAuc2g6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvTWFrZWZpbGUgKHRlc3Qtc3Jjcyk6IFNldCB0byB0c3QtdGFibGUtZnJvbSB0c3QtdGFibGUtdG8uCgkoZGlzdHJpYnV0ZSk6IEFkZCB0c3QtdGFibGVzLnNoLCB0c3QtdGFibGUuc2gsIHRzdC10YWJsZS1jaGFybWFwLnNoLAoJdHN0LXRhYmxlLWZyb20uYywgdHN0LXRhYmxlLXRvLmMsIEVVQy1KUC5pcnJldmVyc2libGUsCglJU0lSSS0zMzQyLmlycmV2ZXJzaWJsZSwgU0pJUy5pcnJldmVyc2libGUuCgkodGVzdHMpOiBBZGQgZGVwZW5kZW5jeSBvbiB0c3QtdGFibGVzLm91dC4KCSh0c3QtdGFibGVzLm91dCwgdHN0LXRhYmxlcy1jbGVhbik6IE5ldyBydWxlcy4KCShkby10ZXN0cy1jbGVhbiwgY29tbW9uLW1vc3RseWNsZWFuKTogUmVxdWlyZSB0c3QtdGFibGVzLWNsZWFuLgoJKiBpY29udmRhdGEvSVNJUkktMzM0Mi5pcnJldmVyc2libGU6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvRVVDLUpQLmlycmV2ZXJzaWJsZTogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9TSklTLmlycmV2ZXJzaWJsZTogTmV3IGZpbGUuCgoyMDAwLTA5LTA0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hbnVhbC9sb2NhbGUudGV4aSAoR2VuZXJhbCBOdW1lcmljKTogVXBkYXRlIGRlc2NyaXB0aW9uIG9mCglyZXByZXNlbnRhdGlvbiBvZiB0aGUgZ3JvdXBpbmcgaW5mb3JtYXRpb24gaW4gdGhlIGxvY2FsZSBkYXRhLgoJUGF0Y2ggYnkgR2F1dGUgQi4gU3Ryb2trZW5lcyA8Z3MyMzRAY2FtLmFjLnVrPi4KCjIwMDAtMDktMDQgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1tb25ldGFyeS5jIChtb25ldGFyeV9yZWFkKTogRml4IHR5cG8uCgkqIGljb252L2ljb252X3Byb2cuYyAob3B0aW9ucyk6IEZpeCB0eXBvLgoJUmVwb3J0ZWQgYnkgZHlreUBrb25kYXJhLm9yZywgY2xvc2VzIFBSIGxpYmMvMTg4NS4KCjIwMDAtMDktMDQgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9mZWdldGVudi5jOiBJdCdzIF9fZmVnZXRlbnYuCglSZXBvcnRlZCBieSBSb2IgTGV2aW4gPGxpbG9AdHJhbnN2aXJ0dWFsLmNvbT4uCgoyMDAwLTA5LTAzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHRpbWUvc3lzL3RpbWUuaCAoZ2V0dGltZW9mZGF5KTogTW92ZSByZXN0cmljdCBmb3IgdHogcGFyYW1ldGVyCgl0byB0aGUgdHlwZWRlZnMgb2YgX190aW1lem9uZV9wdHJfdC4KCVJlcG9ydGVkIGJ5IE1BVFNVTVVSQSBIaXJvbWl0c3UgPGNvamkyQG1iLmluZm93ZWIubmUuanA+LgoKMjAwMC0wOS0wMiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBuc3MvbnNzX2ZpbGVzL2ZpbGVzLWhvc3RzLmMgKEhPU1RfREJfTE9PS1VQKTogSW5jcmVtZW50IGNvdW50ZXIgaW4KCXRoZSBsb29wLgoKMjAwMC0wOS0wMSAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogTWFrZWNvbmZpZyAoYnVpbHQtcHJvZ3JhbS1jbWQpOiBEb24ndCB1c2UgdGhlIGR5bmFtaWMgbGlua2VyCgl0byBydW4gYSBiaW5hcnkgaWYgaXQgaXMgaW4gJCh0ZXN0cy1zdGF0aWMpLgoKCSogUnVsZXMgKGJpbmFyaWVzLXN0YXRpYyk6IEFkZCAkKHRlc3RzLXN0YXRpYykuCgoyMDAwLTA5LTAyICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2JpdHMvZmNudGwuaDogRml4ZXMgZm9yIGZjbnRsNjQuCgoJKiBsaWJpby9mbWVtb3Blbi5jIChmbWVtb3Blbl9jbG9zZSk6IFJldmVydCBvbmUgcGFydCBvZiBsYXN0CglwYXRjaC4KCjIwMDAtMDktMDEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnZkYXRhL2JpZzVoa3Njcy5jOiBSZWdlbmVyYXRlZCBmcm9tIGNoYXJtYXAuCgkqIGljb252ZGF0YS90ZXN0ZGF0YS9CSUc1SEtTQ1M6IFJlZ2VuZXJhdGVkLgoJKiBpY29udmRhdGEvdGVzdGRhdGEvQklHNUhLU0NTLi5VVEY4OiBSZWdlbmVyYXRlZC4KCgkqIGxpYmlvL2ZtZW1vcGVuLmMgKGZtZW1vcGVuX3NlZWspOiBBZGQgZGVmYXVsdCBjYXNlIGluIHN3aXRjaAoJc3RhdGVtZW50LiAgR2VuZXJhbCBjbGVhbnVwLgoKMjAwMC0wOC0zMSAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogd2N0eXBlL3djZnVuY3MuYyAoaXN3YmxhbmspOiBOZXcgZnVuY3Rpb24uCgkqIHdjdHlwZS93Y2Z1bmNzX2wuYyAoX19pc3dibGFua19sKTogTmV3IGZ1bmN0aW9uLgoJKiB3Y3R5cGUvd2NleHRyYS5jOiBSZW1vdmUgZmlsZS4KCSogd2N0eXBlL3djZXh0cmFfbC5jOiBSZW1vdmUgZmlsZS4KCSogd2N0eXBlL01ha2VmaWxlIChkaXN0cmlidXRlKTogUmVtb3ZlIHdjZXh0cmEgYW5kIHdjZXh0cmFfbC4KCjIwMDAtMDgtMzEgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jb2xsYXRlLmMgKGNvbGxhdGVfb3V0cHV0KTogUmVtb3ZlIHJlZHVuZGFudAoJYXNzZXJ0IGNhbGwuCgkqIHN0cmluZy9zdHJjb2xsLmM6IExpa2V3aXNlLgoJKiBzdHJpbmcvc3RyeGZybS5jOiBJbmNsdWRlIGFzc2VydC5oLiAgQWRkIGFzc2VydCBjYWxscyBsaWtlIGluCglzdHJpbmcvc3RyY29sbC5jLgoKMjAwMC0wOC0zMSAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogbG9jYWxlL2NhdGVnb3JpZXMuZGVmIChfTkxfQ09MTEFURV9IQVNIX1NJWkUsCglfTkxfQ09MTEFURV9IQVNIX0xBWUVSUywgX05MX0NPTExBVEVfTkFNRVMsIF9OTF9DVFlQRV9OQU1FUywKCV9OTF9DVFlQRV9IQVNIX1NJWkUsIF9OTF9DVFlQRV9IQVNIX0xBWUVSUyk6IFJlbW92ZSBkZWZpbml0aW9ucy4KCSogbG9jYWxlL2xhbmdpbmZvLmggKF9OTF9DT0xMQVRFX0hBU0hfU0laRSwgX05MX0NPTExBVEVfSEFTSF9MQVlFUlMsCglfTkxfQ09MTEFURV9OQU1FUyk6IFJlbmFtZSB0byBfTkxfQ09MTEFURV9HQVAxLzIvMyByZXNwZWN0aXZlbHkuCgkoX05MX0NUWVBFX05BTUVTKTogUmVuYW1lIHRvIF9OTF9DVFlQRV9HQVAzLgoJKF9OTF9DVFlQRV9HQVAzKTogUmVuYW1lIHRvIF9OTF9DVFlQRV9HQVA0LgoJKF9OTF9DVFlQRV9IQVNIX1NJWkUsIF9OTF9DVFlQRV9IQVNIX0xBWUVSUyk6IFJlbmFtZSB0bwoJX05MX0NUWVBFX0dBUDUvNiByZXNwZWN0aXZlbHkuCgoJKiBsb2NhbGUvQy1jdHlwZS5jIChfbmxfQ19MQ19DVFlQRSk6IFVwZGF0ZS4KCSogY3R5cGUvY3R5cGUtaW5mby5jIChfX2N0eXBlX25hbWVzLCBfX2N0eXBlX3dpZHRoKTogUmVtb3ZlIHZhcmlhYmxlcy4KCSogbG9jYWxlL2xjLWN0eXBlLmMgKF9ubF9wb3N0bG9hZF9jdHlwZSk6IEFzc3VtZSBuZXcgbG9jYWxlIGZvcm1hdC4KCURvbid0IGluaXRpYWxpemUgX19jdHlwZV9uYW1lcyBhbmQgX19jdHlwZV93aWR0aC4KCSogd2N0eXBlL2NuYW1lLWxvb2t1cC5oOiBSZW1vdmUgZmlsZS4KCSogd2N0eXBlL01ha2VmaWxlIChkaXN0cmlidXRlKTogUmVtb3ZlIGNuYW1lLWxvb2t1cC5oLgoJKiB3Y3R5cGUvd2NoYXItbG9va3VwLmg6IEluY2x1ZGUgc3RkaW50LmguCgkqIHdjdHlwZS93Y3R5cGUuYyAoX193Y3R5cGUpOiBBc3N1bWUgbmV3IGxvY2FsZSBmb3JtYXQuCgkqIHdjdHlwZS93Y3R5cGVfbC5jIChfX3djdHlwZV9sKTogTGlrZXdpc2UuCgkqIHdjdHlwZS9pc3djdHlwZS5jOiBEb24ndCBpbmNsdWRlIGNuYW1lLWxvb2t1cC5oLgoJKF9faXN3Y3R5cGUpOiBBc3N1bWUgbmV3IGxvY2FsZSBmb3JtYXQuCgkqIHdjdHlwZS9pc3djdHlwZV9sLmM6IERvbid0IGluY2x1ZGUgY25hbWUtbG9va3VwLmguCgkoX19pc3djdHlwZV9sKTogQXNzdW1lIG5ldyBsb2NhbGUgZm9ybWF0LgoJKiB3Y3R5cGUvd2N0cmFucy5jOiBEb24ndCBpbmNsdWRlIGN0eXBlLmguCgkod2N0cmFucyk6IEFzc3VtZSBuZXcgbG9jYWxlIGZvcm1hdC4KCSogd2N0eXBlL3djdHJhbnNfbC5jIChfX3djdHJhbnNfbCk6IExpa2V3aXNlLgoJKiB3Y3R5cGUvdG93Y3RyYW5zLmM6IERvbid0IGluY2x1ZGUgY25hbWUtbG9va3VwLmguCgkoX190b3djdHJhbnMpOiBBc3N1bWUgbmV3IGxvY2FsZSBmb3JtYXQuCgkqIHdjdHlwZS90b3djdHJhbnNfbC5jOiBEb24ndCBpbmNsdWRlIGNuYW1lLWxvb2t1cC5oLgoJKF9fdG93Y3RyYW5zX2wpOiBBc3N1bWUgbmV3IGxvY2FsZSBmb3JtYXQuCgkqIHdjdHlwZS93Y2Z1bmNzLmM6IERvbid0IGluY2x1ZGUgY3R5cGUuaCBhbmQgY25hbWUtbG9va3VwLmguIEluY2x1ZGUKCWxvY2FsZWluZm8uaCBpbnN0ZWFkLgoJKF9fTk9fV0NUWVBFKTogUmVtb3ZlIHVudXNlZCBtYWNyby4KCShfX2N0eXBlMzJfYiwgX19jdHlwZTMyX3RvdXBwZXIsIF9fY3R5cGUzMl90b2xvd2VyKTogUmVtb3ZlCglkZWNsYXJhdGlvbnMuCgkoaXN3YWxudW0sIGlzd2FscGhhLCBpc3djbnRybCwgaXN3ZGlnaXQsIGlzd2xvd2VyLCBpc3dncmFwaCwgaXN3cHJpbnQsCglpc3dwdW5jdCwgaXN3c3BhY2UsIGlzd3VwcGVyLCBpc3d4ZGlnaXQpOiBBc3N1bWUgbmV3IGxvY2FsZSBmb3JtYXQuCgkodG93bG93ZXIsIHRvd3VwcGVyKTogTGlrZXdpc2UuCgkqIHdjdHlwZS93Y2Z1bmNzX2wuYzogRG9uJ3QgaW5jbHVkZSBjbmFtZS1sb29rdXAuaC4gSW5jbHVkZQoJbG9jYWxlaW5mby5oIGluc3RlYWQuCgkoX19OT19XQ1RZUEUpOiBSZW1vdmUgdW51c2VkIG1hY3JvLgoJKF9faXN3YWxudW1fbCwgX19pc3dhbHBoYV9sLCBfX2lzd2NudHJsX2wsIF9faXN3ZGlnaXRfbCwgX19pc3dsb3dlcl9sLAoJX19pc3dncmFwaF9sLCBfX2lzd3ByaW50X2wsIF9faXN3cHVuY3RfbCwgX19pc3dzcGFjZV9sLCBfX2lzd3VwcGVyX2wsCglfX2lzd3hkaWdpdF9sKTogQXNzdW1lIG5ldyBsb2NhbGUgZm9ybWF0LgoJKF9fdG93bG93ZXJfbCwgX190b3d1cHBlcl9sKTogTGlrZXdpc2UuCgkqIHdjc21icy93Y3dpZHRoLmg6IERvbid0IGluY2x1ZGUgY25hbWUtbG9va3VwLmguCgkoX19jdHlwZTMyX2IpOiBSZW1vdmUgZGVjbGFyYXRpb24uCgkoaW50ZXJuYWxfd2N3aWR0aCk6IEFzc3VtZSBuZXcgbG9jYWxlIGZvcm1hdC4KCSogbG9jYWxlL3Byb2dyYW1zL2xkLWN0eXBlLmMgKHN0cnVjdCBsb2NhbGVfY3R5cGVfdCk6IFJlbW92ZSBmaWVsZHMKCXBsYW5lX3NpemUsIHBsYW5lX2NudCwgbmFtZXMsIHdpZHRoLiBSZW5hbWUgbWFwIHRvIG1hcF9iLCByZW5hbWUgbWFwMzIKCXRvIG1hcDMyX2IsIHJlbmFtZSB3aWR0aF8zbGV2ZWwgdG8gd2lkdGguCgkoY3R5cGVfb3V0cHV0KTogQWx3YXlzIGNyZWF0ZSBuZXcgbG9jYWxlIGZvcm1hdC4gRG9uJ3QgZW1pdAoJX05MX0NUWVBFX05BTUVTLCBfTkxfQ1RZUEVfSEFTSF9TSVpFLCBfTkxfQ1RZUEVfSEFTSF9MQVlFUlMgYW55IG1vcmUuCgkoYWxsb2NhdGVfYXJyYXlzKTogQWx3YXlzIGNyZWF0ZSBuZXcgbG9jYWxlIGZvcm1hdC4KCgkqIGxvY2FsZS9DLWNvbGxhdGUuYyAoX25sX0NfTENfQ09MTEFURSk6IFVwZGF0ZS4KCSogbG9jYWxlL3dlaWdodHdjLmggKGZpbmRpZHgpOiBBc3N1bWUgbmV3IGxvY2FsZSBmb3JtYXQuCgkqIHN0cmluZy9zdHJjb2xsLmMgKHdjc2NvbGwpOiBSZW1vdmUgbG9jYWwgdmFyaWFibGVzIHNpemUsIGxheWVycywKCW5hbWVzLgoJKiBzdHJpbmcvc3RyeGZybS5jICh3Y3N4ZnJtKTogTGlrZXdpc2UuCgkqIHBvc2l4L2ZubWF0Y2hfbG9vcC5jIChpbnRlcm5hbF9mbndtYXRjaCk6IExpa2V3aXNlLiBDaGFuZ2UgdHlwZSBvZgoJbG9jYWwgdmFyaWFibGUgY29sbHNlcSB0byAnY29uc3QgY2hhciAqJy4KCShTVUZGSVgpOiBEb24ndCB1c2UsIGRvbid0IHVuZGVmaW5lLgoJKiBwb3NpeC9mbm1hdGNoLmM6IFJlbW92ZSBTVUZGSVggZGVmaW5pdGlvbi4KCSogbG9jYWxlL3Byb2dyYW1zL2xkLWNvbGxhdGUuYyAoc3RydWN0IGxvY2FsZV9jb2xsYXRlX3QpOiBSZW1vdmUKCWZpZWxkcyBwbGFuZV9zaXplLCBwbGFuZV9jbnQsIHdjaGVhZHMsIHdjc2Vxb3JkZXIuIFJlbmFtZQoJd2NoZWFkc18zbGV2ZWwgdG8gd2NoZWFkcywgcmVuYW1lIHdjc2Vxb3JkZXJfM2xldmVsIHRvIHdjc2Vxb3JkZXIuCgkoY29sbGF0ZV9maW5pc2gpOiBBbHdheXMgY3JlYXRlIG5ldyBsb2NhbGUgZm9ybWF0LiBSZW1vdmUgbG9jYWwKCXZhcmlhYmxlcyBtaW5fdG90YWwsIGFjdF9zaXplLgoJKGNvbGxhdGVfb3V0cHV0KTogQWx3YXlzIGNyZWF0ZSBuZXcgbG9jYWxlIGZvcm1hdC4gUmVtb3ZlIGxvY2FsCgl2YXJpYWJsZXMgdGFibGVfc2l6ZSwgbmFtZXMsIHRhYmxld2MuIFJlbmFtZSB0YWJsZXdjXzNsZXZlbCB0bwoJdGFibGV3Yy4KCjIwMDAtMDgtMzEgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jb2xsYXRlLmMgKG9ic3RhY2tfaW50MzJfZ3JvdywKCW9ic3RhY2tfaW50MzJfZ3Jvd19mYXN0KTogTmV3IGlubGluZSBmdW5jdGlvbnMuCgkob3V0cHV0X3dlaWdodHdjLCBjb2xsYXRlX291dHB1dCk6IFVzZSB0aGVtIHdoZXJlIHBvc3NpYmxlLgoKMjAwMC0wOS0wMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsaWJpby9saWJpby5oIChfSU9fZmxvY2tmaWxlLCBfSU9fZnVubG9ja2ZpbGUpOiBGaXggdHlwbyBpbiBsYXN0CglwYXRjaCAoX21vZGUgLT4gX2ZsYWdzKS4KCgkqIGxpYmlvL01ha2VmaWxlIChoZWFkZXJzKTogQWRkIHN0ZGlvX2V4dC5oLgoJKHJvdXRpbmVzKTogQWRkIF9fZmJ1ZnNpemUsIF9fZnJlYWRpbmcsIF9fZndyaXRpbmcsIF9fZnJlYWRhYmxlLAoJX19md3JpdGFibGUsIF9fZmxiZiwgX19mcHVyZ2UsIF9fZnBlbmRpbmcsIGFuZCBfX2ZzZXRsb2NraW5nLgoJKiBsaWJpby9WZXJzaW9ucyBbbGliY10gKEdMSUJDXzIuMik6IEFkZCBfX2ZidWZzaXplLCBfX2ZyZWFkaW5nLAoJX19md3JpdGluZywgX19mcmVhZGFibGUsIF9fZndyaXRhYmxlLCBfX2ZsYmYsIF9fZnB1cmdlLCBfX2ZwZW5kaW5nLAoJX19mc2V0bG9ja2luZywgYW5kIF9mbHVzaGxiZi4KCSogbGliaW8vX19mYnVmc2l6ZS5jOiBOZXcgZmlsZS4KCSogbGliaW8vX19mbGJmLmM6IE5ldyBmaWxlLgoJKiBsaWJpby9fX2ZwZW5kaW5nLmM6IE5ldyBmaWxlLgoJKiBsaWJpby9fX2ZwdXJnZS5jOiBOZXcgZmlsZS4KCSogbGliaW8vX19mcmVhZGFibGUuYzogTmV3IGZpbGUuCgkqIGxpYmlvL19fZnJlYWRpbmcuYzogTmV3IGZpbGUuCgkqIGxpYmlvL19fZnNldGxvY2tpbmcuYzogTmV3IGZpbGUuCgkqIGxpYmlvL19fZndyaXRhYmxlLmM6IE5ldyBmaWxlLgoJKiBsaWJpby9fX2Z3cml0aW5nLmM6IE5ldyBmaWxlLgoJKiBsaWJpby9zdGRpb19leHQuaDogTmV3IGZpbGUuCgkqIGxpYmlvL2dlbm9wcy5jIChfSU9fZmx1c2hfYWxsX2xpbmVidWZmZXJlZCk6IEFkZCBhbGlhcyBfZmx1c2hsYmYuCgkqIGxpYmlvL2xpYmlvLmggKF9JT19VU0VSX0xPQ0spOiBEZWZpbmUuCglbX0lPX01UU0FGRV9JT10gKF9JT19mbG9ja2ZpbGUsIF9JT19mdW5sb2NrZmlsZSk6IEFkZCBtYWNyb3Mgd2hpY2gKCXRlc3QgX0lPX1VTRVJfTE9DSyBmbGFnIGZpcnN0LgoKCSogaWNvbnYvZ2NvbnZfb3Blbi5jIChfX2djb252X29wZW4pOiBTZXQgcmVzIHRvIF9fR0NPTlZfTk9NRU0gaXMKCW1hbGxvYyBmYWlscy4KCjIwMDAtMDktMDEgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvZmNudGwuaDogQWx3YXlzIGZhaWwuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2JpdHMvZmNudGwuaDogTmV3IGZpbGUuCgoyMDAwLTA4LTMxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hdGgvTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC1kZWZpbnRpb25zLgoJKiBtYXRoL3RzdC1kZWZpbml0aW9ucy5jOiBOZXcgZmlsZS4KCgkqIHN0ZGxpYi9NYWtlZmlsZSAoaGVhZGVycyk6IEFkZCBiaXRzL3djaGFyLmguCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvYml0cy93Y2hhci5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvd2NoYXIuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zdGRpbnQuaDogSW5jbHVkZSA8Yml0cy93Y2hhci5oPi4gIFVzZSB2YWx1ZXMgaW4gdGhpcwoJZmlsZSB0byBkZWZpbmUgV0NIQVJfTUlOIGFuZCBXQ0hBUl9NQVguCglDaGFuZ2UgVUlOVCo4X01BWCBhbmQgVUlOKjE2X01BWCB2YWx1ZSB0byB0eXBlIGludC4KCSogd2NzbWJzL3djaGFyLmg6IEluY2x1ZGUgPGJpdHMvd2NoYXIuaD4uICBVc2UgdmFsdWVzIGluIHRoaXMKCWZpbGUgdG8gZGVmaW5lIFdDSEFSX01JTiBhbmQgV0NIQVJfTUFYLgoJKiBzeXNkZXBzL2FscGhhL2ZwdS9iaXRzL21hdGhkZWYuaDogTWFrZSBGUF9JTE9HQjAgYW5kIEZQX0lMT0dCTkFOCglpbnQgdmFsdWVzLgoJKiBzeXNkZXBzL2FybS9mcHUvYml0cy9tYXRoZGVmLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy9tYXRoZGVmLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvZnB1L2JpdHMvbWF0aGRlZi5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9tNjhrL2ZwdS9iaXRzL21hdGhkZWYuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG93ZXJwYy9mcHUvYml0cy9tYXRoZGVmLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL2ZwdS9iaXRzL21hdGhkZWYuaDogTGlrZXdpc2UuCgkqIGxvY2FsZS9sb2NhbGUuaCAoc3RydWN0IGxjb252KTogQWRkIF9fIHByZWZpeCB0byB0aGUgbmV3IG1lbWJlcnMKCWlmIG5vdCBDOTkuCgkqIHN5c2RlcHMvZ2VuZXJpYy9pbnR0eXBlcy5oOiBSZW1vdmUgdW5uZWNlc3NhcnkgaW1heGFicyBhbmQKCWltYXhkaXYgb3B0aW1pemF0aW9ucy4KCSogc3lzZGVwcy93b3Jkc2l6ZS0zMi9sbGRpdi5jOiBBZGQgaGFjayB0byBtYWtlIGFsaWFzIHdvcmsuCgkqIHN5c2RlcHMvd29yZHNpemUtNjQvbGRpdi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9hbHBoYS9mcHUvYml0cy9mZW52Lmg6IENoYW5nZSB0eXBlIG9mIEZFXypfRU5WIG1hY3JvcyB0bwoJY29uc3QgZmVudl90Ki4KCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvZmVudi5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2ZwdS9iaXRzL2ZlbnYuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaWE2NC9iaXRzL2ZlbnYuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbTY4ay9mcHUvYml0cy9mZW52Lmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21pcHMvYml0cy9mZW52Lmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3MzOTAvZnB1L2JpdHMvZmVudi5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zcGFyYy9mcHUvYml0cy9mZW52Lmg6IExpa2V3aXNlLgoJUmVwb3J0ZWQgYnkgSm9zZXBoIFMuIE15ZXJzIDxqc20yOEBjYW0uYWMudWs+LgoKCSogaW5ldC9yY21kLmM6IFVzZSAqc3RhdDY0IGluc3RlYWQgb2YgKnN0YXQgaW50ZXJuYWxseS4KCSogaW5ldC9ydXNlcnBhc3MuYzogTGlrZXdpc2UuCgkqIGNhdGdldHMvb3Blbl9jYXRhbG9nLmM6IExpa2V3aXNlLgoJKiBpbnRsL2xvYWRtc2djYXQuYzogTGlrZXdpc2UuCgkqIGlvL2dldGRpcm5hbWUuYzogTGlrZXdpc2UuCgkqIGxvY2FsZS9sb2FkbG9jYWxlLmM6IExpa2V3aXNlLgoJKiBtaXNjL2dldHVzZXJzaGVsbC5jOiBMaWtld2lzZS4KCSogc3RkbGliL2Nhbm9uaWNhbGl6ZS5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3NpeC9ldWlkYWNjZXNzLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvc2l4L2lzZmR0eXBlLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvc2l4L3Bvc2l4X2ZhbGxvY2F0ZS5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3NpeC90ZW1wbmFtZS5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L2dyYW50cHQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9vcGVuZGlyLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9mc3RhdHZmcy5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaW50ZXJuYWxfc3RhdHZmcy5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcHRzbmFtZS5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3RhdHZmcy5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvdHR5bmFtZS5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvdHR5bmFtZV9yLmM6IExpa2V3aXNlLgoJKiBzeXN2aXBjL2Z0b2suYzogTGlrZXdpc2UuCgkqIHRpbWUvZ2V0ZGF0ZS5jOiBMaWtld2lzZS4KCgkqIHRpbWUvZ2V0ZGF0ZS5jOiBBZGQgZXh0cmEgYWNjZXNzIHRlc3QuCgoyMDAwLTA4LTMxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHZlcnNpb24uaCAoVkVSU0lPTik6IEJ1bXAgdG8gMi4xLjkzLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9EaXN0OiBBZGQgZmVfbm9tYXNrLmMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvRGlzdDogQWRkIG9sZGRpcmVudC5oLgoKCSogaW50bC9NYWtlZmlsZSAodGVzdHMpOiBEZXBlbmQgaW4gbXRyYWNlLXRzdC1nZXR0ZXh0LgoJTWFrZSB0aGlzIGEgbmV3IHJ1bGUgZGVwZW5kaW5nIG9uIHRzdC1nZXR0ZXh0Lm91dCBhbmQgcnVuIG10cmFjZS4KCSogaW50bC90c3QtZ2V0dGV4dC5jOiBDYWxsIG10cmFjZS4KCSogaW50bC90c3QtZ2V0dGV4dC5zaDogUHV0IE1BTExPQ19UUkFDRSBpbiBlbnZpcm9ubWVudCBvZiB0c3QtZ2V0dGV4dC4KCgkqIGVsZi9kbC1yZWxvYy5jOiBBZGQgYSBmZXcgbW9yZSBfX2J1aWx0aW5fZXhwZWN0LgoKCSogY29uZmlndXJlLmluOiBSZW1vdmUgLS13aXRoLWdldHRleHQgb3B0aW9uLgoKCSogaW50bC9kY2lnZXR0ZXh0LmMgKGZyZWVfbWVtKTogQ29ycmVjdCBmcmVlaW5nIG9mCglfbmxfZG9tYWluX2JpbmRpbmdzIGxpc3QuCgoJKiBzeXNkZXBzL2dlbmVyaWMvc2V0ZW52LmMgKGZyZWVfbWVtKTogTmV3IGZ1bmN0aW9uLiAgRnJlZSBhbGwKCWFsbG9jYXRlZCBtZW1vcnkuCgoJKiBpbnRsL2xvY2FsZS5hbGlhczogQWRkIGFsaWFzZXMgZm9yIGJva21hbCBhbmQgbnlub3Jzay4KCgkqIGxvY2FsZS9pc28tNjM5LmRlZjogRml4IDYzOS0xIGNvZGUgZm9yIEJva21hbC4KCgkqIHN0ZGlvLWNvbW1vbi9pdG9hLWRpZ2l0cy5jOiBNb3ZlIHVwcGVyIGRpZ2l0cyB0by4uLgoJKiBzdGRpby1jb21tb24vaXRvYS11ZGlnaXRzLmM6IC4uLmhlcmUuICBOZXcgZmlsZS4KCSogc3RkaW8tY29tbW9uL01ha2VmaWxlIChyb3V0aW5lcyk6IEFkZCBpdG9hLXVkaWdpdHMuCgoJKiBzeXNkZXBzL2kzODYvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9yZWwpOiBGb3IgdGhlIHZlcnNpb24gdG8KCXJlbG9jYXRlIGxkLnNvIGRvbid0IGFkZCBzdXBwcnQgZm9yIHJlbG9jYXRpb25zIHdoaWNoIHNob3VsZCBub3QKCWFwcGVhciBpbiBsZC5zby4KCgkqIG1hbGxvYy9tYWxsb2MuYyAocHRtYWxsb2NfaW5pdCk6IE9wdGltaXplIGEgYml0IGJ5IG5vdCBjYWxsaW5nCglfX3NlY3VyZV9nZXRlbnYuICBJbnN0ZWFkIHRlc3QgX19saWJjX2VuYWJsZV9zZWN1cmUgb25jZS4KCgkqIGlvL3B3ZC5jIChtYWluKTogUHJvdmlkZSBhIGdvb2QgZXhhbXBsZSwgdXNlICpfdW5sb2NrZWQgZnVuY3Rpb24uCgoyMDAwLTA4LTMwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252L2djb252X2NvbmYuYyAoaW5zZXJ0X21vZHVsZSk6IFRha2UgZXh0cmEgcGFyYW1ldGVyIHRvIGRlY2lkZQoJd2hldGhlciB0aGUgbmV3IHJlY29yZCBzaG91bGQgYmUgZnJlZWQgaWYgaXQncyBhIGR1cGxpY2F0ZS4KCShhZGRfbW9kdWxlKTogQWRqdXN0IGluc2VydF9tb2R1bGUgY2FsbC4KCShfX2djb252X3JlYWRfY29uZik6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvTWFrZWZpbGUgKGdlbmVyYXRlZCk6IEFkZCB0c3QtbG9hZGluZy5tdHJhY2UgYW5kCgltdHJhY2UtdHN0LWxvYWRpbmcuCgkodGVzdHMpOiBNYWtlICQob2JqcGZ4KW10cmFjZS10c3QtbG9hZGluZyBhIGRlcGVuZGVuY3kuICBBZGQgcnVsZS4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9sZHNvZGVmcy5oOiBBZGQgZGVjbGFyYXRpb24gZm9yIF9kbF9hbGxfZGlycyBhbmQKCV9kbF9hbGxfaW5pdF9kaXJzLgoJKiBpbmNsdWRlL2xpbmsuaCAoc3RydWN0IHJfc2VhcmNoX3BhdGhfc3RydWN0KTogTmV3LgoJKHN0cnVjdCBsaW5rX21hcCk6IFVzZSBpdCBmb3IgbF9ycGF0aF9kaXJzIGFuZCBsX3J1bnBhdGhfZGlycy4KCSogZWxmL1ZlcnNpb25zIFtsZF0gKEdMSUJDXzIuMik6IEFkZCBfZGxfYWxsX2RpcnMgYW5kCglfZGxfYWxsX2luaXRfZGlycy4KCSogZWxmL2RsLWNsb3NlLmMgKF9kbF9jbG9zZSk6IEZyZWUgbF9ycGF0aF9kaXJzIGFuZCBsX3J1bnBhdGhfZGlycy4KCSogZWxmL2RsLWxpYmMuYyAoZnJlZV9tZW0pOiBGcmVlIF9kbF9hbGxfZGlycyBsaXN0IGV4Y2VwdCBlbGVtZW50cwoJYWRkZWQgYXQgc3RhcnR1cCB0aW1lLgoJKiBlbGYvZGwtbG9hZC5jOiBGaXggbWVtb3J5IGhhbmRsaW5nLiAgcl9zZWFyY2hfcGF0aF9zdHJ1Y3QKCWNvbnRhaW5zIGVsZW1lbnQgdG8gcmVtZW1iZXIgZmFjdCB0aGF0IHdlIGNhbiBmcmVlIG1lbW9yeS4KCShhbGxfZGlycyk6IFJlbmFtZWQgdG8gX2RsX2FsbF9kaXJzLiAgTWFkZSBnbG9iYWwuCgkoX2RsX2luaXRfYWxsX2RpcnMpOiBOZXcgdmFyaWFibGUuCgkoZmlsbGluX3JwYXRoKTogU2F2ZSBvbmUgbWFsbG9jIGNhbGwuCgkoZGVjb21wb3NlX3JwYXRoKTogQ2hhbmdlIGludGVyZmFjZS4gIE5ldyBmaXJzdCBwYXJhbWV0ZXIgcG9pbnRzIHRvCglyX3NlYXJjaF9wYXRoX3N0cnVjdC4KCShfZGxfaW5pdF9wYXRocyk6IEFkanVzdCBmb3IgY2hhbmdlcy4gIE1hcmsgYWxsIG1lbW9yeSBhcyBub3QKCWRlbGV0YWJsZS4gIFNldCBfZGxfaW5pdF9hbGxfcGF0aHMgdmFsdWUuCgkob3Blbl9wYXRoKTogUmVtb3ZlIG1heV9mcmVlX2RpcnMgcGFyYW1ldGVyLiAgcl9zZWFyY2hfcGF0aF9lbGVtICoqKgoJcGFyYW1ldGVyIHJlcGxhY2VkIHdpdGggcl9zZWFyY2hfcGF0aF9zdHJ1Y3QgKi4gIEluZm9ybWF0aW9uIGFib3V0CglmcmVlaW5nIG5vdyBjb250YWluZWQgaW4gcl9zZWFyY2hfcGF0aF9zdHJ1Y3QuCgkoX2RsX21hcF9vYmplY3QpOiBBZGp1c3QgZm9yIGFib3ZlIGNoYW5nZXMuCgoJKiBlbGYvZGwtb3Blbi5jIChkbF9vcGVuX3dvcmtlcik6IENoYW5nZSBmb3JtYXQgb2YgZGVidWcgaW5mbyBhIGJpdC4KCgkqIGVsZi9kbC1sb2FkLmMgKGZpbGxpbl9ycGF0aCk6IE9ubHkgY2hlY2sgZm9yIHRydXN0ZWQgZGlyZWN0b3JpZXMKCXdoZW4gYWRkaW5nIG5ldyBlbnRyaWVzLgoKCSogZWxmL2RsLWxvYWQuYyAoZmlsbGluX3JwYXRoKTogTWFrZSBsb2NhbCBjb3B5IG9mIHdoZXJlIHN0cmluZwoJc2luY2UgdGhlIG9iamVjdCBiZWluZyBsb2FkZWQgY2FuIGJlIHVubG9hZGVkLgoKCSogaWNvbnZkYXRhL01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3QtbG9hZGluZy4KCSogaWNvbnZkYXRhL3RzdC1sb2FkaW5nLmM6IE5ldyBmaWxlLgoKMjAwMC0wOC0yOSAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogc3RkaW8tY29tbW9uL3Zmc2NhbmYuYyAoX0lPX3Zmc2NhbmYpOiBCYWNrIG91dCBsYXN0IHVuZ2V0YyBjaGFuZ2UuCglXaGVuIGNvbXBhcmluZyBhIGNoYXIgd2l0aCBhbiBpbnQsIGFsd2F5cyBjYXN0IHRoZSBjaGFyIHRvCgkndW5zaWduZWQgY2hhcicuIE5ldyBtYWNybyB1bmdldGNfbm90X2VvZiwgdG8gYXZvaWQgd2FybmluZ3Mgd2hlbgoJY29tcGlsaW5nIHdpdGggLWZ1bnNpZ25lZC1jaGFyLglVc2UgVUNIQVJfTUFYKzEgaW5zdGVhZCBvZiBVQ0hBUl9NQVguCgoyMDAwLTA4LTMwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHRpbWUvc3RyZnRpbWUuYyAobXlfc3RyZnRpbWUpOiBBZGQgY29tcGF0aWJpbGl0eSBjb2RlIGZvciB1c2UKCW91dHNpZGUgZ2xpYmMuICBQYXRjaCBieSBKaW0gTWV5ZXJpbmcgPG1leWVyaW5nQGFzY2VuZC5jb20+LgoKCSogc3lzZGVwcy9wb3NpeC9nZXRhZGRyaW5mby5jIChnYWloX2xvY2FsKTogdW5hbWUgZG9lcyBub3QgZXZlcnl3aGVyZQoJcmV0dXJuIDAgZm9yIHN1Y2Nlc3MgYnV0IGFsd2F5cyA8IDAgb24gZmFpbHVyZS4KCgkqIG5zcy9nZXRYWGJ5WVlfci5jOiBEZWZpbmUgcmVzdWx0IHRvICpyZXN1bHQgYmVmb3JlIGluY2x1ZGluZwoJZGlnaXRzX2RvdHMuYy4KCjIwMDAtMDgtMzAgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIG1hdGgvZ2VuLWxpYm0tdGVzdC5wbCAocGFyc2VfdWxwcyk6IFJlbW92ZSBleHRyYSBcLgoKMjAwMC0wOC0yOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udmRhdGEvYmlnNWhrc2NzLmM6IFJld3JpdHRlbi4gIFJlZ2VuZXJhdGUgZGF0YSBmcm9tIHRoZQoJb2ZmaWNpYWwgZmlsZS4KCSogaWNvbnZkYXRhL1RFU1RTOiBBZGQgQklHNUhLU0NTIGVudHJ5LgoJKiBpY29udmRhdGEvdGVzdGRhdGEvQklHNUhLU0NTOiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0JJRzVIS1NDUy4uVVRGODogTmV3IGZpbGUuCgoJKiBpY29udmRhdGEvYmlnNS5jIChCT0RZIGZvciBGUk9NX0xPT1ApOiBSZW1vdmUgY29uZGl0aW9uIHdoaWNoIGlzCglhbHdheXMgdHJ1ZS4KCgkqIGxpYmlvL2lvZ2V0bGluZS5jOiBTZXQgbW9kZSBiZWZvcmUgdGhlIGxvb3AgaW4gY2FzZSBuPT0wLgoJKiBsaWJpby9pb2dldHdsaW5lLmM6IExpa2V3aXNlLgoKMjAwMC0wOC0yOSAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogbGliaW8vZmlsZW9wcy5jIChuZXdfZG9fd3JpdGUpOiBDaGVjayBmcC0+X21vZGUgPD0gMCBpbnN0ZWFkCglvZiBmcC0+X21vZGUgPCAwLgoJKF9JT19uZXdfZmlsZV9vdmVyZmxvdyk6IExpa2V3aXNlLgoJKiBsaWJpby9nZW5vcHMuYyAoX0lPX2ZsdXNoX2FsbCk6IExpa2V3aXNlLgoJKiBsaWJpby9pb2Z0ZWxsLmMgKF9JT19mdGVsbCk6IExpa2V3aXNlLgoKMjAwMC0wOC0yOSAgQWtpcmEgSGlndWNoaSAgPGFAa29uZGFyYS5vcmc+CgoJKiBpY29udi9nY29udl9kYi5jIChpbmNyZW1lbnRfY291bnRlcik6IFJlc2V0IF9faW5pdF9mY3QsIF9fZmN0LAoJYW5kIF9fZW5kX2ZjdCBmaWVsZHMgb2Ygc3RydWN0IF9fZ2NvbnZfc3RlcC4KCSogaWNvbnYvTWFrZWZpbGUgKHRlc3RzKTogQWRkIGljb252LWJ1ZzIuCgkqIGljb252L2ljb252LWJ1ZzIuYzogTmV3IGZpbGUuCgoJKiBpY29udmRhdGEvZXVjLWtyLmMgKEJPRFkgZm9yIEZST01fTE9PUCk6IFBhc3MgJ2luZW5kIC0gaW5wdHInCglpbnN0ZWFkIG9mICdpbnB0ciAtIGluZW5kJyB0byBrc2M1NjAxX3RvX3VjczQuCgoJKiBpY29udmRhdGEvc2ppcy5jIChCT0RZIGZvciBGUk9NX0xPT1ApOiBBbGxvdyAweDdmIGNoYXJhY3Rlci4KCgkqIGljb252ZGF0YS9pc28tMjAyMi1jbi5jIChCT0RZIGZvciBGUk9NX0xPT1ApOiBJZiBhbiBpbmNvbXBsZXRlCgljaGFyYWN0ZXIgb3Igc2hpZnQgc2VxdWVuY2UgaXMgZm91bmQgYXQgdGhlIGVuZCBvZiB0aGUgaW5wdXQKCXN0cmluZywgcmV0dXJuX19HQ09OVl9JTkNPTVBMRVRFX0lOUFVUIGluc3RlYWQgb2YKCV9fR0NPTlZfRU1QVFlfSU5QVVQuCgkqIGljb252ZGF0YS9pc28tMjAyMi1qcC5jIChCT0RZIGZvciBGUk9NX0xPT1ApOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzby0yMDIyLWtyLmMgKEJPRFkgZm9yIEZST01fTE9PUCk6IExpa2V3aXNlLgoKCSogaWNvbnZkYXRhL2lzby0yMDIyLWpwLmMgKEJPRFkgZm9yIEZST01fTE9PUCk6IFJldHVybgoJX19HQ09OVl9JTExFR0FMX0lOUFVUIGZvciA4Yml0IGNoYXJhY3RlcnMuCgoyMDAwLTA4LTI5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHNpZ25hbC9zaWduYWwuaCAoc2lncGF1c2UpOiBNb3ZlIF9fVEhST1cgYmVmb3JlIF9fYXNtX18uCgoJKiBpbmV0L3JjbWQuYyAoX19jaGVja2hvc3Rfc2EpOiBJZiBnZXRuYW1laW5mbyBzdWNjZWVkcyBidXQgdGhlCgluYW1lcyBkb24ndCBtYXRjaCBkb24ndCByZXR1cm4uCglQYXRjaCBieSBPbGFmIEtpcmNoIDxva2lyQGZsYXNoLmxzdC5kZT4uCgoyMDAwLTA4LTI4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHRpbWUvc3RyZnRpbWUuYyAobXlfc3RyZnRpbWUpOiBIYW5kbGUgIyBmbGFnIGZvciAlYiBhcyB3ZWxsLgoKMjAwMC0wOC0yNyAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogcG9zaXgvTWFrZWZpbGUgKG90aGVybGlicyk6IEFkZCBmb3IgYnVpbGRpbmcgd2l0aCBzdGF0aWMtbnNzCglmb3IgIm1ha2UgY2hlY2siLgoKMjAwMC0wOC0yOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsaWJpby9zdGRpby5oOiBBZGQgZm1lbW9wZW4gcHJvdG90eXBlLgoKMjAwMC0wOC0yNSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbGliaW8vTWFrZWZpbGUgKHJvdXRpbmVzKTogQWRkIGZtZW1vcGVuLgoJKHRlc3RzKTogQWRkIHRlc3QtZm1lbW9wZW4uCgkqIGxpYmlvL1ZlcnNpb25zOiBBZGQgZm1lbW9wZW4gd2l0aCB2ZXJzaW9uIEdMSUJDXzIuMi4KCSogbGliaW8vdGVzdC1mbWVtb3Blbi5jOiBOZXcgZmlsZS4KCSogbGliaW8vZm1lbW9wZW4uYzogTmV3IGZpbGUuCglQYXRjaGVzIGJ5IEhhbm5vIE11ZWxsZXIgPGtvbnRha3RAaGFubm8uZGU+LgoKMjAwMC0wOC0yOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvc2lnc3RhY2suaDogUHJldmVudCBkb3VibGUKCWluY2x1c2lvbi4gIFBhdGNoIGJ5IEplcyBTb3JlbnNlbiA8amVzQGxpbnV4Y2FyZS5jb20+LgoKCSogbG9jYWxlL2xvY2FsZWluZm8uaCAoTElNQUdJQyk6IENoYW5nZSBiYXNlIG51bWJlciB0byAweDIwMDAwODI4Cgl0byBhdm9pZCBjcmFzaGluZyBzdGF0aWNhbGx5IGxpbmtlZCBhcHBsaWNhdGlvbnMuCgoyMDAwLTA4LTI3ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBzdHJpbmcvc3RyeGZybS5jIChzdHJ4ZnJtLCB3Y3N4ZnJtKTogSW5jbHVkZSA8c3lzL3BhcmFtLmg+LgoJSWYgbnJ1bGVzID09IDAgYW5kIHNyY2xlbiA8IG4sIGNvcHkgb25seSBzcmNsZW4gKyAxIGNoYXJhY3RlcnMuCgoJKiBzeXNkZXBzL2dlbmVyaWMvZ2V0ZG9tYWluLmMgKGdldGRvbWFpbm5hbWUpOiBJbmNsdWRlIDxzeXMvcGFyYW0uaD4uCglJZiB0aGUgcmVzdWx0IGlzIGZpdHMgaW4gdGhlIGJ1ZmZlciwgY29weSBvbmx5IGFzIG1hbnkgYnl0ZXMgYXMgbmVlZGVkLgoKCSogc3lzZGVwcy9nZW5lcmljL19zdHJlcnJvci5jIChfX3N0cmVycm9yX3IpOiBEb24ndCB6ZXJvLWZpbGwgdGhlCglidWZmZXIgYWZ0ZXIgY29weWluZyBudW1idWYgaW50byBpdC4KCSogc3lzZGVwcy9tYWNoL19zdHJlcnJvci5jIChfX3N0cmVycm9yX3IpOiBMaWtld2lzZS4KCjIwMDAtMDgtMjcgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIHBvc2l4L2NvbmZzdHIuYyAoY29uZnN0cik6IFdoZW4gc3RyaW5nX2xlbiA+IGxlbiwgTlVMLXRlcm1pbmF0ZQoJdGhlIHJlc3VsdC4gIFdoZW4gc3RyaW5nX2xlbiA8IGxlbiwgZG9uJ3QgY2xlYXIgdGhlIHJlc3Qgb2YgdGhlIGJ1ZmZlci4KCjIwMDAtMDgtMjcgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCglTdXBwb3J0IGZvciBuZXcgTENfQ09MTEFURSBmb3JtYXQuCgkqIGxvY2FsZS9jb2xsLWxvb2t1cC5oOiBOZXcgZmlsZS4KCSogbG9jYWxlL3dlaWdodHdjLmggKGZpbmRpZHgpOiBXaGVuIHNpemUgPT0gMCwgY2FsbAoJY29sbGlkeF90YWJsZV9sb29rdXAuCgkqIHdjc21icy93Y3Njb2xsLmM6IEluY2x1ZGUgY29sbC1sb29rdXAuaC4KCSogd2NzbWJzL3djc3hmcm0uYzogTGlrZXdpc2UuCgkqIHBvc2l4L2ZubWF0Y2guYzogTGlrZXdpc2UuCgkqIHBvc2l4L2ZubWF0Y2hfbG9vcC5jIChpbnRlcm5hbF9mbndtYXRjaCk6IFdoZW4gc2l6ZSA9PSAwLCBjYWxsCgljb2xsc2VxX3RhYmxlX2xvb2t1cC4KCSogbG9jYWxlL3Byb2dyYW1zLzNsZXZlbC5oOiBOZXcgZmlsZS4KCSogbG9jYWxlL3Byb2dyYW1zL2xkLWN0eXBlLmM6ICh3Y3dpZHRoX3RhYmxlLCB3Y3RyYW5zX3RhYmxlKTogRGVmaW5lCglieSBpbmNsdWRpbmcgIjNsZXZlbC5oIi4KCSogbG9jYWxlL3Byb2dyYW1zL2xkLWNvbGxhdGUuYyAod2NoZWFkX3RhYmxlLCBjb2xsaWR4X3RhYmxlLAoJY29sbHNlcV90YWJsZSk6IE5ldyB0eXBlcywgZGVmaW5lZCBieSBpbmNsdWRpbmcgIjNsZXZlbC5oIi4KCShsb2NhbGVfY29sbGF0ZV90KTogTmV3IHdjaGVhZHNfM2xldmVsLCB3Y3NlcW9yZGVyXzNsZXZlbCBmaWVsZHMuCgkoZW5jb2RpbmdfbWFzaywgZW5jb2RpbmdfYnl0ZSk6IFJlbW92ZS4KCSh1dGY4X2VuY29kZSk6IFVzZSBzaW1wbGUgc2hpZnRzIGluc3RlYWQuCgkoY29sbGF0ZV9maW5pc2gpOiBXaGVuICFvbGRzdHlsZV90YWJsZXMsIHNldCBwbGFuZV9zaXplIGFuZCBwbGFuZV9jbnQKCXRvIDAsIGFuZCBpbml0aWFsaXplIGFuZCBmaWxsIHdjaGVhZHNfM2xldmVsIGFuZCB3Y3NlcW9yZGVyXzNsZXZlbC4KCShjb2xsYXRlX291dHB1dCk6IE5ldyBsb2NhbCB2YXJpYWJsZSB0YWJsZXdjXzNsZXZlbC4gV2hlbgoJIW9sZHN0eWxlX3RhYmxlcywgc2V0IHRhYmxlX3NpemUgdG8gMCBhbmQgbmFtZXMgdG8gTlVMTCBhbmQgZmlsbAoJdGFibGV3Y18zbGV2ZWwgaW5zdGVhZCBvZiB0YWJsZXdjLiBDaGFuZ2UgZm9ybWF0IG9mIFRBQkxFV0MgYW5kCglDT0xMU0VRV0MgZW50cmllcyB3cml0dGVuIHRvIHRoZSBmaWxlLgoJKiBsb2NhbGUvQy1jb2xsYXRlLmMgKGNvbGxzZXF3Yyk6IENoYW5nZSBmb3JtYXQuCgkoX25sX0NfTENfQ09MTEFURSk6IFNldCBIQVNIX1NJWkUgYW5kIEhBU0hfTEFZRVJTIHRvIDAsIGNoYW5nZSBmb3JtYXQKCW9mIENPTExTRVFXQy4KCSogbG9jYWxlL01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIGNvbGwtbG9va3VwLmgsIHByb2dyYW1zLzNsZXZlbC5oLgoKMjAwMC0wOC0yNyAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLWN0eXBlLmMgKE1BWF9DSEFSTkFNRVNfSURYKTogTmV3IG1hY3JvLgoJKGxvY2FsZV9jdHlwZV90KTogTmV3IGNoYXJuYW1lc19pZHggZmllbGQuCgkoY3R5cGVfc3RhcnR1cCk6IEluaXRpYWxpemUgY2hhcm5hbWVzX2lkeCBmaWVsZC4KCShmaW5kX2lkeCk6IFNwZWVkIHVwIGRyYW1hdGljYWxseSBieSB1c2luZyBjaGFybmFtZXNfaWR4IGludmVyc2UgdGFibGUuCgoyMDAwLTA4LTI3ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBsb2NhbGUvQy1jdHlwZS5jOiBTd2l0Y2ggdG8gbmV3IGxvY2FsZSBmb3JtYXQuCgkoX25sX0NfTENfQ1RZUEVfbmFtZXMpOiBSZW1vdmUgYXJyYXkuCgkoU1RSVUNUX0NUWVBFX0NMQVNTKTogTmV3IG1hY3JvLgoJKF9ubF9DX0xDX0NUWVBFX2NsYXNzX3t1cHBlcixsb3dlcixhbHBoYSxkaWdpdCx4ZGlnaXQsc3BhY2UscHJpbnQsCglncmFwaCxibGFuayxjbnRybCxwdW5jdCxhbG51bX0sIF9ubF9DX0xDX0NUWVBFX21hcF97dG91cHBlcix0b2xvd2VyfSk6CglOZXcgdGhyZWUtbGV2ZWwgdGFibGVzLgoJKF9ubF9DX0xDX0NUWVBFX3dpZHRoKTogQ2hhbmdlIGZyb20gYXJyYXkgdG8gdGhyZWUtbGV2ZWwgdGFibGUuCgkoX25sX0NfTENfQ1RZUEUpOiBGaXggbnN0cmluZ3MgdmFsdWUuIFNldCBIQVNIX1NJWkUgYW5kIEhBU0hfTEFZRVJTCgl0byAwLiBDaGFuZ2UgV0lEVEggZm9ybWF0LiBTZXQgQ0xBU1NfT0ZGU0VUIGFuZCBNQVBfT0ZGU0VULiBBZGQKCTEyIGNsYXNzIHRhYmxlcyBhbmQgMiBtYXAgdGFibGVzIGF0IHRoZSBlbmQuCgkqIGN0eXBlL2N0eXBlLWluZm8uYyAoX25sX0NfTENfQ1RZUEVfbmFtZXMpOiBSZW1vdmUgZGVjbGFyYXRpb24uCgkoX25sX0NfTENfQ1RZUEVfY2xhc3Nfe3VwcGVyLGxvd2VyLGFscGhhLGRpZ2l0LHhkaWdpdCxzcGFjZSxwcmludCwKCWdyYXBoLGJsYW5rLGNudHJsLHB1bmN0LGFsbnVtfSwgX25sX0NfTENfQ1RZUEVfbWFwX3t0b3VwcGVyLHRvbG93ZXJ9KToKCU5ldyBkZWNsYXJhdGlvbnMuCgkoYik6IFJlbW92ZSB0cmFpbGluZyBzZW1pY29sb24uCgkoX19jdHlwZV9uYW1lcywgX19jdHlwZV93aWR0aCk6IERvbid0IGluaXRpYWxpemUuCgkoX19jdHlwZTMyX3djdHlwZSwgX19jdHlwZTMyX3djdHJhbnMsIF9fY3R5cGUzMl93aWR0aCk6IEluaXRpYWxpemUuCgoyMDAwLTA4LTI3ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBlbGYvZGwtbG9hZC5jIChvcGVuX3BhdGgpOiBBZGQgYSBhcmd1bWVudCB0ZWxsaW5nIHdoZXRoZXIgKmRpcnNwCglpcyBndWFyYW50ZWVkIHRvIGJlIGFsbG9jYXRlZCB3aXRoIHRoZSBzYW1lIG1hbGxvYygpIGFuZCBtYXkgYmUKCXBhc3NlZCB0byBmcmVlKCkuCgkoX2RsX21hcF9vYmplY3QpOiBVcGRhdGUgb3Blbl9wYXRoIGNhbGxzLiBJZiBydGxkX3NlYXJjaF9kaXJzIGhhcwoJYmVlbiBzZXQgdG8gZW1wdHkgYnkgYW4gZWFybGllciBvcGVuX3BhdGggY2FsbCwgZG9uJ3QgcGFzcyBpdCBhZ2Fpbi4KCjIwMDAtMDgtMjggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9saWJpbnRsLmg6IEluY2x1ZGUgPGxvY2FsZS5oPiBzaW5jZSBsaWJpbnRsLmggZG9lc24ndCBpZgoJd2UgYXJlIG5vdCBvcHRpbWl6aW5nLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9zeXNkZXAuaDogUHJvdGVjdCBhZ2FpbnN0IGRvdWJsZQoJaW5jbHVzaW9uLgoKCSogc3RkaW8tY29tbW9uL3Zmc2NhbmYuYyAodW5nZXRjKTogQ2FzdCBjIHRvIHNpZ25lZCBjaGFyIGZpcnN0IHRvCglyZWFsbHkgbWF0Y2ggRU9GLgoJUGF0Y2ggYnkgRnJhbnogU2lybCA8RnJhbnouU2lybC1rZXJuZWxAbGF1dGVyYmFjaC5jb20+LgoKMjAwMC0wOC0yOCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9pMzg2L2ZwdS9saWJtLXRlc3QtdWxwczogVHdlYWtzIGZvciBBTUQgQXRobG9uLgoKMjAwMC0wOC0yOCAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBzeXNkZXBzL21hY2gvaHVyZC9nZXRwZWVybmFtZS5jIChfX2dldHBlZXJuYW1lKTogUmVuYW1lZCBmcm9tCglnZXRwZWVybmFtZS4gIFVzZSBJU08gQyBzdHlsZSBmdW5jdGlvbiBkZWZpbml0aW9uLgoJKGdldHBlZXJuYW1lKTogUHJvdmlkZSB3ZWFrIGFsaWFzLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9zZXRybGltaXQuYyAoX19zZXRybGltaXQpOiBSZW5hbWVkIGZyb20KCXNldHJsaW1pdC4gIFVzZSBJU08gQyBzdHlsZSBmdW5jdGlvbiBkZWZpbml0aW9uLgoJKHNldHJsaW1pdCk6IFByb3ZpZGUgd2VhayBhbGlhcy4KCjIwMDAtMDgtMjggIE1hcnRpbiBTY2h3aWRlZnNreSAgPHNjaHdpZGVmc2t5QGRlLmlibS5jb20+CgoJKiBzaGxpYi12ZXJzaW9uczogQWRkIGEgcnVsZSBmb3IgUy8zOTAgdG8gdGhlIGxpYm0gdmVyc2lvbiBsaXN0LgoJKiBzeXNkZXBzL3MzOTAvVmVyc2lvbnM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL0Rpc3Q6IEFkZCBvbGRnZXRybGltaXQ2NC5jLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL01ha2VmaWxlOiBBZGQgb2xkZ2V0cmxpbWl0NjQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvVmVyc2lvbnM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2FscGhhc29ydDY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2Nob3duLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2Z4c3RhdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9nZXRkZW50czY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2dldHJsaW1pdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9nZXRybGltaXQ2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9seHN0YXQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvb2xkZ2V0cmxpbWl0NjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvcmVhZGRpcjY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3JlYWRkaXI2NF9yLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3NjYW5kaXI2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zZXRybGltaXQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvc3lzY2FsbHMubGlzdDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvdmVyc2lvbnNvcnQ2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC94c3RhdC5jOiBOZXcgZmlsZS4KCjIwMDAtMDgtMjggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9NYWtlZmlsZSBbJChzdWJkaXIpPT1jc3VdCgkoQ0ZMQUdTLWluaXRmaW5pLnMpOiBBZGQgLURXRUFLX0dNT05fU1RBUlQuCgoJKiBlbGYvVmVyc2lvbnMgW2xkXSAoR0xJQkNfMi4yKTogRXhwb3J0IF9kbF9kZWJ1Z19maWxlcy4KCSogZWxmL2RsLWNsb3NlLmMgKF9kbF9jbG9zZSk6IFByaW50IGRlYnVnIG1lc3NhZ2UgaWYgb2JqZWN0IGlzIG5vdAoJdW5sb2FkZWQuCgkqIGVsZi9kbC1vcGVuLmMgKGRsX29wZW5fd29ya2VkKTogUHJpbnQgbWVzc2FnZSBhYm91dCBvcGVuY291bnQgYmVmb3JlCglyZXR1cm5pbmcgdG8gY2FsbGVyLgoKCSogcG8vemgucG86IFJlbmFtZWQgdG8uLi4KCSogcG8vemhfVFcucG86IC4uLnRoaXMuCgoyMDAwLTA4LTI3ICBHZW9mZiBLZWF0aW5nICA8Z2VvZmZrQGN5Z251cy5jb20+CgoJKiBzeXNkZXBzL3Bvd2VycGMvZnB1L2ZlZW5hYmx4Y3B0LmM6IENvcnJlY3QgYm9ndXMgY2hlY2tpbi4KCgkqIHN5c2RlcHMvcG93ZXJwYy9mcHUvZmVkaXNibHhjcHQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvcG93ZXJwYy9mcHUvZmVlbmFibHhjcHQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvcG93ZXJwYy9mcHUvZmVnZXRleGNlcHQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvZmVfbm9tYXNrLmM6IE5ldyBmaWxlLgoKMjAwMC0wOC0yNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY29sbGF0ZS5jIChpbnNlcnRfd2VpZ2h0cyk6IEFsc28gdXBkYXRlCgliYWNrcG9pbnRlciBvZiBuZXh0IGVsZW1lbnQuCgkoY29sbGF0ZV9yZWFkKTogQWxsb3cgZGVmaW5pdGlvbiBvZiBuZXcgY29sbGF0aW9uIHN5bWJvbHMgaW4gc3RhZ2UgMi4KCVN5bWJvbCBhZnRlciByZW9yZGVyLWFmdGVyIGNhbiBiZSBVQ1M0IHZhbHVlLgoJQWxsb3cgcmVvcmRlcmluZyBvZiBjb2xsYXRpb24gc3ltYm9scyBhbmQgZWxlbWVudHMuCglEbyBub3Qgb25seSBtb3ZlIHJlb3JkZXIgZW50cnkgaW4gbmV3IHBvc2l0aW9uLiAgSW5zdGVhZCBjYWxsCglpbnNlcnRfd2VpZ2h0IHRvIGRvIHRoaXMgYW5kIHJlYWQgdGhlIHdlaWdodHMuCgoJKiBsb2NhbGUvZmluZGxvY2FsZS5jIChmcmVlX21lbSk6IEFkZCBjYXN0IHRvIGF2b2lkIHdhcm5pbmcuCgoJKiBpbnRsL2RjaWdldHRleHQuYyAoRENJR0VUVEVYVCk6IFJlbW92ZSBfbmxfZmluZF9sYW5ndWFnZSBpbiBjb2RlCgl0byBkZXRlcm1pbmUgaW52YWxpZCBsb2NhbGUgbmFtZS4KCSogbG9jYWxlL2ZpbmRsb2NhbGUuYyAoX25sX2ZpbmRfbG9jYWxlKTogTGlrZXdpc2UuCgoJKiBwb3NpeC9hbm5leGMuYzogQ29ycmVjdCB0ZXN0IGZvciB1bmF2YWlsYWJsZSBmZWF0dXJlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zeXMvaW8uaCAob3V0dyk6IEZpeCBfX0lOTElORSAtPgoJX19pbmxpbmUuCgoyMDAwLTA4LTI2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvc3lzY2FsbHMubGlzdDogQWRkIGdldGRlbnRzNjQKCXN5c2NhbGwuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vTWFrZWZpbGUgWyQoc3ViZGlyKT09cmVzb3VyY2VdCgkoc3lzZGVwX3JvdXRpbmVzKTogQWRkIG9sZGdldHJsaW1pdDY0LgoKCSogZWxmL01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIHVubG9hZG1vZC5jLCByZWxkZXBtb2QxLmMsCglyZWxkZXBtb2QyLmMsIHJlbGRlcG1vZDMuYywgYW5kIHJlbGRlcG1vZDQuYy4KCSh0ZXN0cyk6IEFkZCB1bmxvYWQsIHJlbGRlcCwgcmVsZGVwMiwgYW5kIHJlbGRlcDMuCgkobW9kdWxlcy1uYW1lcyk6IEFkZCB1bmxvYWRtb2QsIHJlbGRlcG1vZDEsIHJlbGRlcG1vZDIsIHJlbGRlcG1vZDMsCglhbmQgcmVsZGVwbW9kNC4KCUFkZCBydWxlcyB0byBidWlsZCBhbmQgcnVuIHVubG9hZCwgcmVsZGVwLCByZWxkZXAyLCBhbmQgcmVsZGVwMy4KCSogZWxmL2RsLWxvb2t1cC5jIChfZGxfbG9va3VwX3N5bWJvbCk6IEFkZCBuZXcgcGFyYW1ldGVyIGV4cGxpY2l0LgoJRG9uJ3QgY3JlYXRlIHJlbG9jYXRpb24gZGVwZW5kZW5jeSBpZiBpdCBpcyBub256ZXJvLgoJKF9kbF9sb29rdXBfc3ltYm9sX3NraXApOiBSZW1vdmUgcmVsb2NhdGlvbiBkZXBlbmRlbmN5IHN0dWZmLiAgVGhpcwoJY2FuIG5ldmVyIGhhcHBlbiBoZXJlLgoJKF9kbF9sb29rdXBfdmVyc2lvbmVkX3N5bWJvbCk6IEFkZCBuZXcgcGFyYW1ldGVyIGV4cGxpY2l0LgoJRG9uJ3QgY3JlYXRlIHJlbG9jYXRpb24gZGVwZW5kZW5jeSBpZiBpdCBpcyBub256ZXJvLgoJKF9kbF9sb29rdXBfdmVyc2lvbmVkX3N5bWJvbF9za2lwKTogUmVtb3ZlIHJlbG9jYXRpb24gZGVwZW5kZW5jeQoJc3R1ZmYuICBUaGlzIGNhbiBuZXZlciBoYXBwZW4gaGVyZS4KCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmg6IENoYW5nZSBwcm90b3R5cGVzLgoJKiBlbGYvZGwtcmVsb2MuYyAoUkVTT0xWRV9NQVApOiBQYXNzIDAgaW4gZXhwbGljaXQgcGFyYW1ldGVyIHRvCglfZGxfbG9va3VwX3VwIGFuZCBfZGxfbG9va3VwX3ZlcnNpb25lZF9zeW1ib2wuCgkoUkVTT0xWKTogTGlrZXdpc2UuCgkqIGVsZi9kbC1ydW50aW1lLmMgKGZpeHVwKTogTGlrZXdpc2UuCgkocHJvZmlsZV9maXh1cCk6IExpa2V3aXNlLgoJKiBlbGYvZGwtbGliYy5jIChkb19kbHN5bSk6IFBhc3MgMSBpbiBleHBsaWNpdCBwYXJhbWV0ZXIgdG8KCV9kbF9sb29rdXBfc3ltYm9sLgoJKiBlbGYvZGwtc3ltYm9sLmMgKF9kbF9zeW1ib2xfdmFsdWUpOiBMaWtld2lzZS4KCSogZWxmL3J0bGQuYyAoZGxfbWFpbik6IExpa2V3aXNlLgoJKiBlbGYvZGwtc3ltLmMgKF9kbF9zeW0pOiBQYXNzIDEgaW4gZXhwbGljaXQgcGFyYW1ldGVyIHRvCglfZGxfbG9va3VwX3N5bWJvbCBpZiBoYW5kbGUgaXMgbm90IFJUTERfREVGQVVMVC4gIEFsd2F5cyBjb21wdXRlCglhbmQgcGFzcyBkb3duIHRoZSBjYWxsZXIgbWFwLgoJKF9kbF92c3ltKTogTGlrZXdpc2UuCgkqIGVsZi9yZWxkZXAuYzogTmV3IGZpbGUuCgkqIGVsZi9yZWxkZXAyLmM6IE5ldyBmaWxlLgoJKiBlbGYvcmVsZGVwMy5jOiBOZXcgZmlsZS4KCSogZWxmL3JlbGRlcG1vZDEuYzogTmV3IGZpbGUuCgkqIGVsZi9yZWxkZXBtb2QyLmM6IE5ldyBmaWxlLgoJKiBlbGYvcmVsZGVwbW9kMy5jOiBOZXcgZmlsZS4KCSogZWxmL3JlbGRlcG1vZDQuYzogTmV3IGZpbGUuCgkqIGVsZi91bmxvYWQuYzogTmV3IGZpbGUuCgkqIGVsZi91bmxvYWRtb2QuYzogTmV3IGZpbGUuCgoJKiBlbGYvZG8tbG9va3VwLmg6IFJlbW92ZSB1bnVzZWQgdW5kZWZfbmFtZSBwYXJhbWV0ZXIuCgkqIGVsZi9kbC1sb29rdXAuYzogQWRqdXN0IGNhbGxlcnMuCgoyMDAwLTA4LTI1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252L2djb252X3RyYW5zLmMgKF9fZ2NvbnZfdHJhbnNsaXRlcmF0ZSk6IFBhc3MgTlVMTCBpbnN0ZWFkIG9mCglpcnJldmVyc2libGUgaW4gcmVjdXJzaXZlIGNhbGwgb2YgY29udmVyc2lvbiBmdW5jdGlvbiB0byBzaWduYWwgdGhhdAoJbm8gZXJyb3IgaGFuZGxpbmcgaXMgd2FudGVkLgoJKiBpY29udi9sb29wLmMgKGlnbm9yZV9lcnJvcnNfcCk6IGlycmV2ZXJzaWJsZSBtdXN0IGJlICE9IE5VTEwsIHRvby4KCShTVEFOREFSRF9FUlJfSEFORExFUik6IERvbid0IGRvIGFueXRoaW5nIGlmIGlycmV2ZXJzaWJsZSA9PSBOVUxMLgoJKiBpY29udi9za2VsZXRvbi5jIChsaXJyZXZlcnNpYmxlcCk6IE5ldyB2YXJpYWJsZS4gIFNldCB0byBOVUxMIGlzCglyZWN1cnNpdmUgZXJyb3IgaGFuZGxpbmcgY2FsbCwgb3RoZXJ3aXNlIHRvICZsaXJyZXZlcnNpYmxlLiAgVXNlIGl0Cglmb3IgY2FsbHMgdG8gY29udmVyc2lvbiBmdW5jdGlvbnMuCgkqIGljb252L2djb252X3NpbXBsZS5jICh1Y3M0X2ludGVybmFsX2xvb3ApOiBEb24ndCBoYW5kbGUgZXJyb3JzIHdoZW4KCXRyYW5zbGl0ZXJhdGluZy4KCSh1Y3M0X2ludGVybmFsX2xvb3BfdW5hbGlnbmVkKTogTGlrZXdpc2UuCgkodWNzNGxlX2ludGVybmFsX2xvb3ApOiBMaWtld2lzZS4KCSh1Y3M0bGVfaW50ZXJuYWxfbG9vcF91bmFsaWduZWQpOiBMaWtld2lzZS4KCjIwMDAtMDgtMjUgIEdyZWcgTWNHYXJ5ICA8Z3JlZ0BtY2dhcnkub3JnPgoKCSogc3lzZGVwcy9pMzg2L21lbWNoci5TOiBDaGVjayBoaWdoIGJvdW5kIGFnYWluc3QgY2hhcnMKCWFjdHVhbGx5IHNjYW5uZWQuCgkqIHN5c2RlcHMvaTM4Ni9tZW1jbXAuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9zdHBuY3B5LlM6IEFkanVzdCBoaWdoLWJvdW5kIGNoZWNrIHRvCglhY2NvdW50IGZvciBwb2ludGVycyB0aGF0IGxpZSBvbmUgYmV5b25kIGVuZC1vZi1idWZmZXIuCgoyMDAwLTA4LTI1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9NYWtlZmlsZSAoTERGTEFHUy1ub2RlbGV0ZSk6IEFkZCAtcmR5bmFtaWMuCgkqIGVsZi9ub2RlbGV0ZS5jIChmaW5pX3Jhbik6IE5ldyBnbG9iYWwgdmFyaWFibGUuCgkoZG9fdGVzdCk6IEJlZm9yZSBldmVyeSBkbGNsb3NlIGNhbGwgY2xlYXIgZmluaV9yYW4gYW5kIHRlc3QKCWFmdGVyd2FyZHMgdGhhdCBpdCBpcyBub3Qgc2V0IGJ5IHRoZSBkZXN0cnVjdG9ycy4KCSogZWxmL25vZGVsbW9kMS5jOiBBZGQgZGVzdHJ1Y3RvciB3aGljaCBzZXRzIGZpbmlfcmFuLgoJKiBlbGYvbm9kZWxtb2QyLmM6IExpa2V3aXNlLgoJKiBlbGYvbm9kZWxtb2Q0LmM6IExpa2V3aXNlLgoKMjAwMC0wOC0yMSAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3N5c2NhbGxzLmxpc3Q6IEFkZCBnZXRybGltaXQgYW5kCglnZXRybGltaXQgdG8gdGhlIGxpc3QuCgoyMDAwLTA4LTE4ICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvaWE2NC9JbXBsaWVzOiBnY2Mgbm93IGhhcyBzdXBwb3J0IGZvciB0aGUgSW50ZWwgODAgYml0Cglsb25nIGRvdWJsZSBmb3JtYXQgc28gdXNlIGxkYmwtOTYgaW5zdGVhZCBvZiBsZGJsLTEyOC4KCjIwMDAtMDgtMjUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9tbWFwLlMgKF9fbW1hcCk6IFJldHVybiAtRUlOVkFMCglldmVuIGlmIGJpdHMgMTAgYSAxMSBhcmUgbm9uLXplcm8uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvbW1hcDY0LlMgKF9fbW1hcDY0KTogTGlrZXdpc2UuCgoJKiBNYWtlY29uZmlnOiBFbnN1cmVzIHRoZSBzb3ZlcnNpb25zLm1rIHBhcnQgb2YgTWFrZWZpbGUgZ2V0cwoJaW5jbHVkZWQgYmVmb3JlIGJ1aWxkaW5nIGdudS9saWItbmFtZXMuaAoJUGF0Y2ggYnkgTWFjaWVqIFcuIFJvenlja2kgPG1hY3JvQGRzMi5wZy5nZGEucGw+LgoKCSogZWxmL2RsLWNsb3NlLmMgKF9kbF9jbG9zZSk6IERvbid0IHJ1biBkZXN0cnVjdG9ycyBvZiBvYmplY3RzCgltYXJrZWQgREZfMV9OT0RFTEVURS4KCgkqIHN5c2RlcHMvcG9zaXgvc3lzdGVtLmMgKF9fbGliY19zeXN0ZW0pOiBXZSBjYW5ub3QgdXNlIHZmb3JrIGhlcmUKCXNpbmNlIHdlIGNhbGwgc2lnYWN0aW9uIGluIHRoZSBjaGlsZC4KCjIwMDAtMDgtMjUgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGljb252ZGF0YS9NYWtlZmlsZSAoJChvYmpwZngpYnVnLWljb252MS5vdXQpOiBEZXBlbmQgb24KCWdjb252LW1vZHVsZXMuCgoyMDAwLTA4LTI1ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBtYW51YWwvYXJpdGgudGV4aSAoQ29udHJvbCBGdW5jdGlvbnMpOiBDbGFyaWZ5IHBvc3NpYmxlCglhcmd1bWVudHMuICBDbG9zZXMgUFIgbGliYy8xODU2LgoKMjAwMC0wOC0yNCAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogc3RkaW8tY29tbW9uL01ha2VmaWxlICh0ZXN0cyk6IERvbid0IGRvIGl0IGZvciBjcm9zcyBjb21waWxpbmcuCgkqIG1hbGxvYy9NYWtlZmlsZSAodGVzdHMpOiBMaWtld2lzZS4KCjIwMDAtMDgtMjQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnZkYXRhL3VuaWNvZGUuYyAoZ2NvbnZfaW5pdCk6IENvcnJlY3QgdGVzdCBmb3IgZGlyZWN0aW9uLgoKMjAwMC0wOC0yNCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbWFsbG9jL01ha2VmaWxlIChleHRyYS1vYmpzKTogRml4IGxhc3QgcGF0Y2gsIGJ1aWxkIG1lbXVzYWdlc3RhdAoJb25seSBpZiBMSUJHRCBpcyBhdmFpbGFibGUuCgoyMDAwLTA4LTI0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHJlc29sdi9yZXNfc2VuZC5jIChyZXNfb3Vyc2VydmVyX3ApOiBDbGVhbnVwIHRoZSB0eXBlIG1lc3MgdG8gYXZvaWQKCXByb2JsZW1zIHdpdGggbm93IHJlc3RyaWN0IHBhcmFtZXRlciB0eXBlcy4KCShjb252YWRkcjR0bzYpOiBMaWtld2lzZS4KCjIwMDAtMDgtMjQgIERlbmlzIEpvc2VwaCBCYXJyb3cgIDxkamJhcnJvd0BkZS5pYm0uY29tPgoKCSogc3lzZGVwcy9zMzkwL2ZwdS9mZWRpc2JseGNwdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL2ZwdS9mZWVuYWJseGNwdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL2ZwdS9mZWdldGV4Y2VwdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL2ZwdS9mZW52X2xpYmMuaDogU29tZSByZW9yZGVyaW5nLCBuZXcgZGVmaW5pdGlvbgoJRlBDX1ZBTElEX01BU0suCgoyMDAwLTA4LTI0ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBtYWxsb2MvTWFrZWZpbGUgKGV4dHJhLW9ianMpOiBBZGQgbWVtdXNhZ2VzdGF0Lm8uCgkoZ2VuZXJhdGVkKTogQWRkZWQgbWVtdXNhZ2UgYW5kIG1lbXVzYWdlc3RhdCBmb3IgbWFrZSBjbGVhbi4KCgkqIGxpYmlvL3RzdF9wdXR3Yy5jIChkb190ZXN0KTogRGVsZXRlIHRlbXBvcmFyeSBmaWxlLgoJTW92ZSBpbmNsdXNpb24gb2YgdGVzdC1za2VsZXRvbiB0byBmcm9udCB0byBoYXZlIHByb3RvdHlwZSBmb3IKCWFkZF90ZW1wX2ZpbGUuCgoJKiBwb3NpeC9NYWtlZmlsZSAoZ2VuZXJhdGVkKTogQWRkIHdvcmRleHAtdHN0Lm91dC4KCjIwMDAtMDgtMjQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcmVzb2x2L3Jlc19oY29uZi5jIChmcmVlX21lbSk6IFJlbW92ZSBub3QgbmVlZGVkIGlmLgoKCSogdGltZS90enNldC5jIChmcmVlX21lbSk6IE5ldyBmdW5jdGlvbi4KCSogc3RyaW5nL3N0cnNpZ25hbC5jIChmcmVlX21lbSk6IE5ldyBmdW5jdGlvbi4KCSogaW5ldC9pbmV0X250b2EuYyAoZnJlZV9tZW0pOiBOZXcgZnVuY3Rpb24uCgkqIHN1bnJwYy9jbG50X3BlcnIuYyAoZnJlZV9tZW0pOiBOZXcgZnVuY3Rpb24uCgoyMDAwLTA4LTI0ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzY2FsbHMubGlzdDogVXNlIF9fc2V0cmxpbWl0IGFzIHN0cm9uZyBuYW1lLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9zeXNjYWxscy5saXN0OiBMaWtld2lzZS4KCgkqIHBvc2l4L3VuaXN0ZC5oOiBNb3ZlIGludGVybmFsIHByb3RvdHlwZXMgZnJvbSBoZXJlIC4uLgoJKiBpbmNsdWRlL3VuaXN0ZC5oOiAuLi4gdG8gaGVyZS4KCgkqIHN5c3ZpcGMvc3lzL3NobS5oOiBBZGQgY29uc3QgYXR0cmlidXRlIHRvIF9fZ2V0cGFnZXNpemUuCgoyMDAwLTA4LTI0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGdycC9pbml0Z3JvdXBzLmMgKGluaXRncm91cHMpOiBEZWFsbG9jYXRlIGdyb3VwcyBhcnJheS4KCVJlcG9ydGVkIGJ5IGphbmkucmFpaGFAc29uZXJhLmNvbSBbUFIgbGliYy8xODY4XS4KCgkqIHN5c2RlcHMvczM5MC9EaXN0OiBBZGQgZnB1L2ZlbnZfbGliYy5oLgoJKiBzeXNkZXBzL2FscGhhL0Rpc3Q6IExpa2V3aXNlLgoKMjAwMC0wOC0yMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBjcnlwdC9tZDUtY3J5cHQuYyAoZnJlZV9tZW0pOiBGaXggdHlwbyAoY29uc3RydWN0b3IgLT4KCWRlc3RydWN0b3IpLiAgUmVwb3J0ZWQgYnkgU29sYXIgRGVzaWduZXIgPHNvbGFyQGZhbHNlLmNvbT4uCgoJKiBpY29udi9nY29udl9jb25mLmMgKGFkZF9tb2R1bGUpOiBSZW1vdmUgc29tZSB1bm5lZWRlZCBjb2RlIHRvCglhdm9pZCBhZGRpbmcgZG91YmxlIHNsYXNoZXMuCgoyMDAwLTA4LTIzICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGRpcmVudC9kaXJlbnQuaCAoYWxwaGFzb3J0LCB2ZXJzaW9uc29ydCk6IE1vdmUgX19hdHRyaWJ1dGVfcHVyZV9fCglvdXQgb2YgdGhlIF9fUkVESVJFQ1QgbWFjcm8uCgoyMDAwLTA4LTIzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN0ZGlvLWNvbW1vbi92ZnNjYW5mLmM6IEFkZCAlRiBmb3JtYXQgc3VwcG9ydC4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jdHlwZS5jIChjdHlwZV9vdXRwdXQpOiBNYWtlIHN1cmUKCV9OTF9DVFlQRV9UUkFOU0xJVF9ERUZBVUxUX01JU1NJTkdfTEVOIGFuZAoJX05MX0NUWVBFX1RSQU5TTElUX0lHTk9SRV9MRU4gYXJlIGFsaWduZWQuCgkoY3R5cGVfcmVhZCk6IEVuYWJsZSByZXR1cm5pbmcgb2Ygd2lkZSBjaGFyYWN0ZXIgc3RyaW5ncyBmb3IgcmVhZGluZwoJdHJhbnNsaXRlcmF0aW9uIGluZm9ybWF0aW9uLgoKMjAwMC0wOC0yMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zeXMvaW8uaCAoX0VYVEVSTl9JTkxJTkUpOiBSZW1vdmUuCglVc2Ugc3RhdGljIF9faW5saW5lIGluc3RlYWQgb2YgX0VYVEVSTl9JTkxJTkUuCgoJKiBtaXNjL3N5cy9zZWxlY3QuaDogTW92ZSBwcm90b3R5cGVzIG9mIF9fc2VsZWN0IGZyb20gaGVyZSAuLi4KCSogaW5jbHVkZS9zeXMvc2VsZWN0Lmg6IC4uLiB0byBoZXJlLgoKCSogc29ja2V0L3N5cy9zb2NrZXQuaDogTW92ZSBwcm90b3R5cGVzIG9mIF9fc2VuZCBhbmQgX19jb25uZWN0Cglmcm9tIGhlcmUuLi4uCgkqIGluY2x1ZGUvc3lzL3NvY2tldC5oOiAuLi4gdG8gaGVyZS4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jdHlwZS5jIChjdHlwZV9yZWFkKTogRml4IHBhcmFtZXRlciBmb3IKCWxyX2Vycm9yLgoKMjAwMC0wOC0yMyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzMyL3N5c2NhbGxzLmxpc3Q6IFVzZQoJX19zZXRybGltaXQgYXMgc3Ryb25nIG5hbWUuIFRha2VzIG9ubHkgMiBhcmd1bWVudHMuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9zeXNjYWxscy5saXN0OiBfX3N5c2NhbGxfc2V0cmxpbWl0Cgl0YWtlcyBvbmx5IDIgYXJndW1lbnRzLgoKMjAwMC0wOC0yMyAgTWFydGluIFNjaHdpZGVmc2t5CTxzY2h3aWRlZnNreUBkZS5pYm0uY29tPgoKCSogc3lzZGVwcy9zMzkwL19fbG9uZ2ptcC5jOiBBZGQgX18gdG8gSkJfR1BSKi4KCgkqIHN5c2RlcHMvczM5MC9iaXRzL3NldGptcC5oOiBBZGQgX18gdG8gSkJfR1BSKiBkZWZpbmVzLgoKMjAwMC0wOC0yMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY3R5cGUuYyAoY3R5cGVfcmVhZCk6IEFsbG93IG1vcmUgdGhhbiBvbmUKCWRlZmF1bHRfbWlzc2luZyBjaGFyYWN0ZXIgYmVpbmcgc3BlY2lmaWVkLCBwaWNrIHRoZSBmaXJzdAoJcmVwcmVzZW50YWJsZS4KCjIwMDAtMDgtMjMgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGluY2x1ZGUvd2NoYXIuaDogQWRkIHNvbWUgcHVyZSBhdHRyaWJ1dGVzLgoKCSogdGltZS90aW1lLmg6IEFkZCBjb25zdCBhdHRyaWJ1dGUgZm9yIGR5c2l6ZS4KCgkqIGluY2x1ZGUvc3RkbGliLmg6IEFkZCBtYWxsb2MgYXR0cmlidXRlIHRvIF9fcG9zaXggbWVtYWxpZ24uCgoJKiBzdGRsaWIvc3RkbGliLmg6IEFkZCBzb21lIHB1cmUgYW5kIG1hbGxvYyBhdHRyaWJ1dGVzLgoJKiB3Y3NtYnMvd2NoYXIuaDogTGlrZXdpc2UuCgoJKiBkaXJlbnQvZGlyZW50Lmg6IEFkZCBzb21lIHB1cmUgYXR0cmlidXRlcy4KCSogaW5jbHVkZS9kaXJlbnQuaDogTGlrZXdpc2UuCgoyMDAwLTA4LTIzICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGluZXQvbmV0aW5ldC9pbi5oIChzdHJ1Y3QgaW42X2FkZHIpOiBEb24ndCBlbmZvcmNlIDY0Yml0IGFsaWdubWVudAoJb24gNjRiaXQgYXJjaGVzLgoKMjAwMC0wOC0yMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udmRhdGEvaXNvLTIwMjItanAuYzogSW4gY29udmVyc2lvbiB0byBJU08tMjAyMi1KUCwgYWRkIHR3bwoJbWlzc2luZyBidWZmZXIgc2l6ZSBjaGVja3MuCgoyMDAwLTA4LTIzICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9zeXNjYWxscy5saXN0OiBVc2UgX19zZXRybGltaXQgYXMKCXN0cm9uZyBuYW1lLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L3N5c2NhbGxzLmxpc3Q6IExpa2V3aXNlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZGwtb3NpbmZvLmg6IEluY2x1ZGUgImtlcm5lbC1mZWF0dXJlcy5oIiwKCW90aGVyd2lzZSBfX0xJTlVYX0tFUk5FTF9WRVJTSU9OIG1pZ2h0IG5vdCBiZSBkZWZpbmVkLgoJKE1JTik6IERlZmluZSBpZiBub3QgYWxyZWFkeSBkZWZpbmVkLgoKMjAwMC0wOC0yMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzdGRpby1jb21tb24vdmZwcmludGYuYzogSGFuZGxlICVGIGZvcm1hdC4KCSogc3RkaW8tY29tbW9uL3ByaW50Zi1wYXJzZS5oIChwYXJzZV9vbmVfc3BlYyk6IExpa2V3aXNlLgoJUmVwb3J0ZWQgYnkgSm9zZXBoIFMuIE15ZXJzIDxqc20yOEBjYW0uYWMudWs+LgoKCSogc3RkaW8tY29tbW9uL3RzdGRpb21pc2MuYzogQWRkIHRlc3QgZm9yICVGIHByaW50ZiBmb3JtYXQuCgoJKiBwby96aC5wbzogTmV3IGZpbGUuCgoJKiBpY29udmRhdGEvc2ppcy5jOiBJbiBjb252ZXJzaW9uIGZyb20gVUNTNCwgY29ycmVjdCB0ZXN0IGZvcgoJZW5vdWdoIHJvb20gaW4gdGFyZ2V0IGJ1ZmZlci4KCVBhdGNoIGJ5IEtVU0FOTyBUYWtheXVraSA8QUU1VC1LU05AYXNhaGktbmV0Lm9yLmpwPiBbUFIgbGliYy8xODY1XS4KCSogaWNvbnZkYXRhL2J1Zy1pY29udjEuYzogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9NYWtlZmlsZSAodGVzdHMpOiBBZGQgYnVnLWljb252MS4KCgkqIGxvY2FsZS9pc28tNDIxNy5kZWY6IFVwZGF0ZSBlbnRyeSBmb3IgTmljYXJhZ3VhLgoKMjAwMC0wOC0yMiAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBodXJkL2h1cmRzaWcuYzogUmVhcnJhbmdlIGhlYWRlcnMgYSBiaXQuCgkoX2h1cmRzaWdfaW5pdCk6IEJsb2NrIHVudGlsIF9odXJkX21zZ3BvcnRfdGhyZWFkIGlzIGluaXRpYWxpemVkCgl3aGVuIGN0aHJlYWRzIGlzIGJlaW5nIHVzZWQuCgoyMDAwLTA4LTIyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCBkbC1vc2luZm8uaC4KCSogc3lzZGVwcy9nZW5lcmljL2RsLW9zaW5mby5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZGwtb3NpbmZvLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtc3lzZGVwLmMgKF9kbF9zeXNkZXBfc3RhcnQpOiBVc2UgRExfU1lTREVQX09TQ0hFQ0sKCWlmIGRlZmluZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2luaXQtZmlyc3QuYzogUGVyZm9ybSBrZXJuZWwgdmVyc2lvbiB0ZXN0Cglvbmx5IGZvciAhU0hBUkVEIGNhc2UuCUdldCB0aGUgY29kZSBmcm9tIGRsLW9zaW5mby5oLgoKCSogc3RkbGliL3JhbmRvbV9yLmM6IENsZWFudXBzLgoJKiBzdGRsaWIvdHN0LXJhbmRvbS5jOiBOZXcgZmlsZS4KCSogc3RkbGliL01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3QtcmFuZG9tLgoJUGF0Y2hlcyBieSBNaWNoYWVsIEZpc2NoZXIgPGZpc2NoZXItbWljaGFlbEBjcy55YWxlLmVkdT4uCgoyMDAwLTA4LTIxICBNYXJ0aW4gU2Nod2lkZWZza3kJPHNjaHdpZGVmc2t5QGRlLmlibS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2dldG1zZy5jOiBSZW1vdmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvZ2V0cG1zZy5jOiBSZW1vdmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvcHV0bXNnLmM6IFJlbW92ZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9wdXRwbXNnLmM6IFJlbW92ZS4KCjIwMDAtMDgtMjIgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvc3lzY2FsbHMubGlzdCAoc3lzY3RsKTogUmVtb3ZlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3N5c2NhbGxzLmxpc3QgKHN5c2N0bCk6IFJlbW92ZS4KCShfX3N5c2NhbGxfX3N5c2N0bCk6IEFkZC4KCjIwMDAtMDgtMjEgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN0ZGxpYi90c3Qtc3RydG9sLmM6IEFkZCB0ZXN0IGZvciAweEZGRkZGRkZGRkZGRjAwRkYgKGZyb20gUFIKCWxpYmMvMTg2NCkuCgkqIHN0ZGxpYi90c3Qtc3RydG9sbC5jOiBMaWtld2lzZS4KCjIwMDAtMDgtMjEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3RkbGliL3JhbmRvbV9yLmMgKF9fc2V0c3RhdGVfcik6IEFsc28gY29tcHV0ZSBlbmRfcHRyCgljb3JyZWN0bHkuCgkoX19pbml0c3RhdGVfcik6IFNldCBlcnJubyBvbiBlcnJvci4KCShfX3JhbmRvbV9yKTogTGlrZXdpc2UuCgkoX19zZXRzdGF0ZV9yKTogQ29ycmVjdCBvZmZzZXQgd2hlbiBjb21wdXRpbmcKCW5ldyBycHRyIGFuZCBmcHRyLiAgVGVzdCBmb3IgYXJnX3N0YXRlIGJlaW5nIE5VTEwuCglSZXBvcnRlZCBieSBNaWNoYWVsIEZpc2NoZXIgPGZpc2NoZXJAY3MueWFsZS5lZHU+LgoKCSogcG9zaXgvcmVnZXguaDogQWRkIG1hY3JvIGRlZmluaXRpb25zIHRvIGFsbG93IGNvbXBpbGluZyBvdXRzaWRlCglnbGliYy4KCgkqIHN5c2RlcHMvaTM3MC9JbXBsaWVzOiBSZW1vdmVkLgoJKiBzeXNkZXBzL212cy9JbXBsaWVzOiBSZW1vdmVkLgoKCSogY2F0Z2V0cy9jYXRnZXRzLmMgKGNhdG9wZW4pOiBGaWx0ZXIgb3V0IGVudl92YXIgdmFsdWVzIHdpdGggLyBpZgoJbmVjZXNzYXJ5LgoKCSogbG9jYWxlL2ZpbmRsb2NhbGUuYyAoX25sX2ZpbmRfbG9jYWxlKTogTW92ZSB0ZXN0IGZvciB1bnVzYWJsZQoJbG9jYWxlIG5hbWUgYWZ0ZXIgYWxsIGdldGVudnMuCgoJKiBjb25maWd1cmUuaW46IEFsbG93IHNlZCB2ZXJzaW9ucyBsaWtlIDMuMDIuOC4KCVBhdGNoIGJ5IFJvZHJpZ28gQmFyYm9zYSA8cm9kcmlnb2JAY29uZWN0aXZhLmNvbS5icj4uCgoyMDAwLTA4LTIxICBNYXJrbyBNeWxseW5lbiAgPG15bGx5bmVuQGx1dC5maT4KCgkqIGluZXQvbmV0aW5ldC9pY21wNi5oOiBBZGQgTW9iaWxlIElQdjYgZXh0ZW5zaW9ucyBzdHJ1Y3R1cmVzLgoKMjAwMC0wOC0yMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3Bvc2l4L2dldGFkZHJpbmZvLmMgKGdldGhvc3RzKTogSGFuZGxlIFRSWV9BR0FJTiBlcnJvcgoJb2YgZ2V0aG9zdGJ5bmFtZTJfciBjYWxsLgoKCSogaW50bC9sb2NhbGUuYWxpYXM6IEFkZCBhbGlhc2VzIGZvciBLb3JlYW4uCgoyMDAwLTA4LTIxICBNYXJ0aW4gU2Nod2lkZWZza3kJPHNjaHdpZGVmc2t5QGRlLmlibS5jb20+CgoJKiBzeXNkZXBzL3MzOTAvX19sb25nam1wLmM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUgcmVzdWx0LgoJKiBzeXNkZXBzL3MzOTAvZnB1L2JpdHMvZmVudi5oOiBNb3ZlIEZQQ18qIGRlZmluaXRpb25zIHRvIGZlbnZfbGliYy5oLgoJKiBzeXNkZXBzL3MzOTAvZnB1L2ZjbHJleGNwdC5jOiBJbmNsdWRlIGZlbnZfbGliYy5oIGluc3RlYWQgb2YgZmVudi5oLgoJKiBzeXNkZXBzL3MzOTAvZnB1L2ZlZ2V0ZW52LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvZnB1L2ZlZ2V0cm91bmQuYzogSW5jbHVkZSBmZW52X2xpYmMuaCBpbnN0ZWFkIG9mIGZlbnYuaC4KCSogc3lzZGVwcy9zMzkwL2ZwdS9mZWhvbGRleGNwdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL2ZwdS9mZW52X2xpYmMuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9mcHUvZmVzZXRlbnYuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9mcHUvZmVzZXRyb3VuZC5jOiBJbmNsdWRlIGZlbnZfbGliYy5oIGluc3RlYWQgb2YgZmVudi5oLgoJKiBzeXNkZXBzL3MzOTAvZnB1L2ZldXBkYXRlZW52LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvZnB1L2ZnZXRleGNwdGZsZy5jOiBSZWZvcm1hdHRlZC4KCSogc3lzZGVwcy9zMzkwL2ZwdS9mcHVfY29udHJvbC5oOiBDb3JyZWN0ZWQgaGVhZGVyLgoJKiBzeXNkZXBzL3MzOTAvZnB1L2ZyYWlzZWV4Y3B0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvZnB1L2ZzZXRleGNwdGZsZy5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL2ZwdS9mdGVzdGV4Y2VwdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL2ZwdS9saWJtLXRlc3QtdWxwczogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9nbXAtbXBhcmFtLmg6IEFkZCBlbmQgb2YgY29tbWVudC4KCSogc3lzZGVwcy9zMzkwL2luaXRmaW5pLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL0Rpc3Q6IEFkZCBzeXMvcHJvY2ZzLmguCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvTWFrZWZpbGU6IFJlbW92ZSBzeXMvcmVnLmguCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvYml0cy9zdGF0Lmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2xjaG93bi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zeXMvZWxmLmg6IE1vdmUgZWxmIGRlZmluaXRpb25zIHRvCglzeXMvcHJvY2ZzLmggYXMgcHJvcG9zZWQgYnkgTWFyayBLZXR0ZW5pcy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zeXMvcHJvY2ZzLmg6IE5ldyBmaWxlLgoKMjAwMC0wOC0yMSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogaW5jbHVkZS9wb2xsLmg6IEluY2x1ZGUgaW5jbHVkZS9zeXMvcG9sbC5oIHRvIGdldCBfX3BvbGwKCWRlY2xhcmF0aW9uLgoKCSogaW8vc3lzL3BvbGwuaDogTW92ZSBfX3BvbGwgZGVjbGFyYXRpb24gZnJvbSBoZXJlLi4uCgkqIGluY2x1ZGUvc3lzL3BvbGwuaDogLi4udG8gaGVyZS4KCgkqIGluY2x1ZGUvc3lzL3NvY2tldC5oIChfX2dldHBlZXJuYW1lKTogQWRkIGRlY2xhcmF0aW9uLgoKCSogaW5jbHVkZS93Y2hhci5oIChfX3Zzd3ByaW50Zik6IEFkZCBkZWNsYXJhdGlvbi4KCgkqIGluY2x1ZGUvc3RkaW8uaCAoX19mbG9ja2ZpbGUpOiBBZGQgZGVjbGFyYXRpb24uCgkoX19mdW5sb2NrZmlsZSk6IExpa2V3aXNlLgoKMjAwMC0wOC0yMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBtaXNjL3N5cy9jZGVmcy5oOiBEZWZpbmUgX19yZXN0cmljdF9hcnIuCgkqIGluY2x1ZGUvc3lzL3RpbWUuaDogQWRkIHJlc3RyaWN0IHdoZXJlIHJlcXVpcmVkIGJ5IEFHZDQuCgkqIGluZXQvYXJwYS9pbmV0Lmg6IExpa2V3aXNlLgoJKiBpby9zeXMvc3RhdC5oOiBMaWtld2lzZS4KCSogaW8vc3lzL3N0YXR2ZnMuaDogTGlrZXdpc2UuCgkqIG1pc2Mvc2VhcmNoLmg6IExpa2V3aXNlLgoJKiBtaXNjL3N5cy9zZWxlY3QuaDogTGlrZXdpc2UuCgkqIHBvc2l4L2dsb2IuaDogTGlrZXdpc2UuCgkqIHBvc2l4L3JlZ2V4Lmg6IExpa2V3aXNlLgoJKiBwb3NpeC9zcGF3bi5oOiBMaWtld2lzZS4KCSogcG9zaXgvdW5pc3RkLmg6IExpa2V3aXNlLgoJKiBydC9haW8uaDogTGlrZXdpc2UuCgkqIHNpZ25hbC9zaWduYWwuaDogTGlrZXdpc2UuCgkqIHNvY2tldC9zeXMvc29ja2V0Lmg6IExpa2V3aXNlLgoJKiBzdGRsaWIvdWNvbnRleHQuaDogTGlrZXdpc2UuCgkqIHN0cmVhbXMvc3Ryb3B0cy5oOiBMaWtld2lzZS4KCSogc3RyaW5nL3N0cmluZy5oOiBMaWtld2lzZS4KCSogdGltZS90aW1lLmg6IExpa2V3aXNlLgoJKiB0aW1lL3N5cy90aW1lLmg6IExpa2V3aXNlLgoKCSogcG9zaXgvc3Bhd24uaDogQWRkIGRlY2xhcmF0aW9ucyBmb3IgcG9zaXhfc3Bhd25hdHRyX2dldHNjaGVwYXJhbQoJYW5kIHBvc2l4X3NwYXduYXR0cl9zZXRzY2hlcGFyYW0uCgoJKiBsaWJpby9zdGRpby5oOiBNYWtlIGN1c2VyaWQgcHJvdG90eXBlIGFnYWluIGF2YWlsYWJsZSBmb3IgYWxsCglYUEcgdmVyc2lvbnMuCgoJKiBhcmdwL2FyZ3AtaGVscC5jOiBVbmlmeSB1c2Ugb2YgZnVuY3Rpb24gYWxpYXNlcyB0byBtYWtlIG1vcmUgY29tcGFjdAoJUExULgoJKiBpbmNsdWRlL2xpYmludGwuaDogTGlrZXdpc2UuCgkqIGluZXQvcmNtZC5jOiBMaWtld2lzZS4KCSogaW50bC9kY2lnZXR0ZXh0LmM6IExpa2V3aXNlLgoJKiBsaWJpby9pb2ZwdXR3cy5jOiBMaWtld2lzZS4KCSogbGliaW8vaW9mcHV0d3NfdS5jOiBMaWtld2lzZS4KCSogbGliaW8vaW9nZXR3bGluZS5jOiBMaWtld2lzZS4KCSogbGliaW8vc3dwcmludGYuYzogTGlrZXdpc2UuCgkqIG1hbGxvYy9tYWxsb2MuYzogTGlrZXdpc2UuCgkqIG5zcy9kaWdpdHNfZG90cy5jOiBMaWtld2lzZS4KCSogcG9zaXgvZm5tYXRjaC5jOiBMaWtld2lzZS4KCSogcG9zaXgvc3Bhd25fZmFjdGlvbl9hZGRjbG9zZS5jOiBMaWtld2lzZS4KCSogcG9zaXgvc3Bhd25fZmFjdGlvbl9hZGRkdXAyLmM6IExpa2V3aXNlLgoJKiBwb3NpeC9zcGF3bl9mYWN0aW9uX2FkZG9wZW4uYzogTGlrZXdpc2UuCgkqIHBvc2l4L3NwYXduaS5jOiBMaWtld2lzZS4KCSogcG9zaXgvd29yZGV4cC5jOiBMaWtld2lzZS4KCSogcG9zaXgvc3Bhd25pLmM6IExpa2V3aXNlLgoJKiByZXNvbHYvcmVzX2hjb25mLmM6IExpa2V3aXNlLgoJKiByZXNvbHYvcmVzX2luaXQuYzogTGlrZXdpc2UuCgkqIHNoYWRvdy9sY2twd2RmLmM6IExpa2V3aXNlLgoJKiBzaWduYWwvc2lnaG9sZC5jOiBMaWtld2lzZS4KCSogc2lnbmFsL3NpZ3JlbHNlLmM6IExpa2V3aXNlLgoJKiBzdGRpby1jb21tb24vcHJpbnRmLXBhcnNlLmg6IExpa2V3aXNlLgoJKiBzdGRpby1jb21tb24vcHJpbnRmLXBycy5jOiBMaWtld2lzZS4KCSogc3RkaW8tY29tbW9uL3ByaW50Zl9mcC5jOiBMaWtld2lzZS4KCSogc3RkaW8tY29tbW9uL3ZmcHJpbnRmLmM6IExpa2V3aXNlLgoJKiBzdGRpby1jb21tb24vdmZzY2FuZi5jOiBMaWtld2lzZS4KCSogc3RkbGliL3JwbWF0Y2guYzogTGlrZXdpc2UuCgkqIHN1bnJwYy9jcmVhdGVfeGlkLmM6IExpa2V3aXNlLgoJKiBzdW5ycGMva2V5X2NhbGwuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zZXRybGltaXQ2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL3V0bXBfZmlsZS5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL3ZsaW1pdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3NpeC9wb3NpeF9mYWxsb2NhdGUuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG9zaXgvcG9zaXhfZmFsbG9jYXRlNjQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG9zaXgvc2lncGF1c2UuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG9zaXgvc2lnc2V0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvZ3JhbnRwdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L2JzZC91YWxhcm0uYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2RsLW9yaWdpbi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZ2V0bG9hZGF2Zy5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvdHR5bmFtZS5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvdWxpbWl0LmM6IExpa2V3aXNlLgoJKiB0aW1lL3N0cmZ0aW1lLmM6IExpa2V3aXNlLgoJKiB3Y3NtYnMvd2NzY29sbC5jOiBMaWtld2lzZS4KCSogd2NzbWJzL3djc3hmcm0uYzogTGlrZXdpc2UuCgoJKiB0aW1lL3RzdC1nZXRkYXRlLmMgKG1haW4pOiBNYWtlIGVycm9yIG1lc3NhZ2VzIG1vcmUgaHVtYW4gcmVhZGFibGUuCgoJKiBzeXNkZXBzL3Bvd2VycGMvZnB1X2NvbnRyb2wuaCAoX0ZQVV9HRVRDVyk6IEFsbG93IGdjYyB0byBnZW5lcmF0ZQoJcG9zdGluYy9wcmVkZWMgaW5zdHJ1Y3Rpb24uCgkoX0ZQVV9TRVRDVyk6IExpa2V3aXNlLgoJUGF0Y2ggYnkgRnJhbnogU2lybCA8RnJhbnouU2lybC1rZXJuZWxAbGF1dGVyYmFjaC5jb20+LgoKMjAwMC0wOC0yMCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogdGltZS90c3QtZ2V0ZGF0ZS5jIChtYWluKTogSW5jcmVhc2UgZXJyb3IgaW4gY2FzZSBvZiB3cm9uZwoJY29udmVyc2lvbi4KCUZpeCB0eXBvIGluIHRlc3QgY2FzZS4KCjIwMDAtMDgtMjAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogY3R5cGUvY3R5cGUuaCAoaXNibGFuayk6IE1ha2UgYXZhaWxhYmxlIGlmIElTTyBDOTkuCgkqIHdjdHlwZS93Y3R5cGUuaCAoaXN3YmxhbmspOiBNYWtlIGF2YWlsYWJsZSBpZiBJU08gQzk5LgoJKiBtYXRoL21hdGguaCAoc2lnbmdhbSk6IERvbid0IG1ha2UgYXZhaWxhYmxlIGlmIElTTyBDOTkuCgkqIG1hdGgvdGdtYXRoLmggKHRnYW1tYSk6IFJlbmFtZWQgZnJvbSBnYW1tYS4KCVBhdGNoZXMgYnkgSm9zZXBoIFMuIE15ZXJzIDxqc20yOEBjYW0uYWMudWs+LgoKCSogaW50bC9sb2FkbXNnY2F0LmMgKF9ubF91bmxvYWRfZG9tYWluKTogQWxzbyBmcmVlIGNvbnZfdGFiIGVsZW1lbnQuCglQcmV0dHkgcHJpbnRpbmcuCgkqIGludGwvcGx1cmFsLnkgKG5ld19leHApOiBUYWtlIG51bWJlciBvZiBvcHRpb25hbCBwYXJhbWV0ZXJzIGluCglzZWNvbmQgcGFyYW1ldGVyLiAgVGVzdCBmb3IgY29ycmVjdCBudW1iZXIgb2YgcGFyYW1ldGVycyBhbmQgZnJlZQoJY29ycmVjdGx5IGluIGNhc2Ugb2YgZmFpbHVyZS4gIEFkanVzdCBhbGwgY2FsbGVycy4KCSh5eWxleCk6IEFsbG93ICc7JyBhcyB0ZXJtaW5hdG9yIGNoYXJhY3Rlci4KCjIwMDAtMDgtMTkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbG9jYWxlL2xjLXRpbWUuYyAoZnJlZV9tZW0pOiBOZXcgZnVuY3Rpb24uICBGcmVlIGFsdF9kaWdpdHMgYW5kCgl3YWx0X2RpZ2l0cy4KCgkqIGxvY2FsZS9maW5kbG9jYWxlLmMgKGZyZWVfbWVtKTogQWxzbyBmcmVlIGhlcmUtPmZpbGVuYW1lLgoKCSogbG9jYWxlL2xvYWRsb2NhbGUuYyAoX25sX3VubG9hZF9sb2NhbGUpOiBBbHNvIGZyZWUgbG9jYWxlLT5uYW1lLgoKCSogbWF0aC90ZXN0LWZlbnYuYyAoZmVlbnZfdGVzdHMpOiBDbGVhciBhbGwgZXhjZXB0aW9ucyBiZWZvcmUKCWZpcnN0IHRlc3QuCgkoZmVleGNwX25vbWFza190ZXN0KTogQ29ycmVjdCBwcmludGYgYXJncy4KCShmZWV4Y3BfbWFza190ZXN0KTogTGlrZXdpc2UuCgoyMDAwLTA4LTE5ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBpbmV0L3RzdC1nZXRobm0uYzogSW5jbHVkZSBzdHJpbmcuaCB0byBwcm92aWRlIHByb3RvdHlwZSBmb3IKCXN0cmNtcC4KCgkqIG1hbGxvYy9tdHJhY2UucGwgKHVzYWdlKTogSW5mb3JtIGFib3V0IC0taGVscC4KCjIwMDAtMDgtMTkgIFdvbGZyYW0gR2xvZ2VyICA8d2dAbWFsbG9jLmRlPgoKCSogbWFsbG9jL21hbGxvYy5jIChuZXdfaGVhcCk6IFRyeSBoYXJkZXIgdG8gZ2V0IGFuIGFsaWduZWQgY2h1bmsgb2YKCXNpemUgSEVBUF9NQVhfU0laRS4KCjIwMDAtMDgtMTkgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHNobGliLXZlcnNpb25zOiBSZW1vdmUgbGlibnNzX2RiLCBsaWJkYiBhbmQgbGliZGIxLgoKMjAwMC0wOC0xOSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9yZWFkZGlyLmM6IE1vdmUuLi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9yZWFkZGlyLmM6IC4uLmhlcmUgYW5kCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvcmVhZGRpci5jOiAuLi5oZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9yZWFkZGlyX3IuYzogTW92ZS4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3JlYWRkaXJfci5jOiAuLi5oZXJlIGFuZAoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L3JlYWRkaXJfci5jOiAuLi5oZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9yZWFkZGlyNjQuYzogUmVtb3ZlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9yZWFkZGlyNjRfci5jOiBSZW1vdmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2dldGRlbnRzNjQuYzogUmVtb3ZlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9nZXRkZW50cy5jOiBPbmx5IHVzZSBmb3Igbm9uLUxGUwoJZ2V0ZGVudHMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3JlYWRkaXI2NC5jOiBSZW1vdmUgdmVyc2lvbmluZy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcmVhZGRpcjY0X3IuYzogTGlrZXdpc2UuCgoyMDAwLTA4LTE4ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvZ2xvYi5oIChfX2dsb2I2NCk6IEFkZCBwcm90b3R5cGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9nbG9iLmM6IElmIEdMT0JfT05MWV9QIGlzIGRlZmluZWQsIG9ubHkKCWRlZmluZSBnbG9iIGFuZCBnbG9iX2luX2Rpci4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9WZXJzaW9uczogQWRkIGdsb2I2NEBAR0xJQkNfMi4yLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vVmVyc2lvbnM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL1ZlcnNpb25zOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9WZXJzaW9uczogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvZ2xvYjY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vZ2xvYjY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2dsb2I2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9nbG9iNjQuYzogTmV3IGZpbGUuCgoyMDAwLTA4LTE4ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIG1hbGxvYy9NYWtlZmlsZSAobWVtdXNhZ2UpOiBsaWJtZW11c2FnZS5zbyBpcyBpbnN0YWxsZWQgaW4gc2xpYmRpci4KCjIwMDAtMDgtMTcgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIG1hdGgvdGVzdC1mZW52LmMgKGZlX3NpbmdsZV90ZXN0KTogTmV3IGZ1bmN0aW9uLgoJKGZlX2Vudl90ZXN0cyk6IFVzZSBmZV9zaW5nbGVfdGVzdC4KCShmZWVuYWJsZV90ZXN0KTogTmV3IHRlc3RzIGZvciBmZWVuYWJsZS9mZWRpc2FibGUgYW5kCglmZWdldGV4Y3BldGlvbnMuCgkoZmVleGNwX21hc2tfdGVzdCk6IE5ldyBmdW5jdGlvbi4KCShmZWV4Y3Bfbm9tYXNrX3Rlc3QpOiBOZXcgZnVuY3Rpb24uCgoyMDAwLTA4LTE5ICBSaWNoYXJkIEhlbmRlcnNvbiAgPHJ0aEBjeWdudXMuY29tPgoKCSogc3lzZGVwcy9hbHBoYS9mcHUvZmVudl9saWJjLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2FscGhhL2ZwdS9mY2xyZXhjcHQuYzogVXNlIGl0LgoJKiBzeXNkZXBzL2FscGhhL2ZwdS9mZWdldGVudi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9hbHBoYS9mcHUvZmVzZXRyb3VuZC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9hbHBoYS9mcHUvZmVnZXRyb3VuZC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9hbHBoYS9mcHUvZmdldGV4Y3B0ZmxnLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2FscGhhL2ZwdS9mcmFpc2VleGNwdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9hbHBoYS9mcHUvZnRlc3RleGNlcHQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvYWxwaGEvZnB1L2ZlZGlzYmx4Y3B0LmM6IExpa2V3aXNlLiAgVXNlIHRoZSBzbWFsbGVyIG1hc2suCgkqIHN5c2RlcHMvYWxwaGEvZnB1L2ZlZW5hYmx4Y3B0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2FscGhhL2ZwdS9mZWdldGV4Y2VwdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9hbHBoYS9mcHUvZmVob2xkZXhjcHQuYzogUmV0YWluIHRoZSBTV0NSX01BUCBiaXRzLgoJKiBzeXNkZXBzL2FscGhhL2ZwdS9mZXNldGVudi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9hbHBoYS9mcHUvZmV1cGRhdGVlbnYuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvYWxwaGEvZnB1L2ZzZXRleGNwdGZsZy5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9hbHBoYS9mcHUvYml0cy9mZW52LmggKEZFX0RFTk9STUFMKTogTmV3LgoJKEZFX01BUF9ETVosIEZFX01BUF9VTVosIEZFX05PTklFRUVfRU5WKTogTmV3LgoKMjAwMC0wOC0xOSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogZWxmL2NvbnN0bG9hZDEuYzogSW5jbHVkZSA8c3RkaW8uaD4gZm9yIHB1dHMgcHJvdG90eXBlLgoKMjAwMC0wOC0xOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvVmVyc2lvbnMgW2xkXSAoR0xJQkNfMi4yKTogRXhwb3J0IF9kbF9jaGVja19tYXBfdmVyc2lvbnMuCgkqIGVsZi9kbC1kZXBzLmMgKF9kbF9tYXBfb2JqZWN0X2RlcHMpOiBJZiBvYmplY3Qgd2FzIGRlcGVuZGVuY3kgb2YKCWEgZHluYW1pY2FsbHkgbG9hZGVkIG9iamVjdCByZW1vdmUgb2xkIGxfaW5pdGZpbmkgbGlzdC4KCSogZWxmL2RsLWxpYmMuYyAoZnJlZV9tZW0pOiBVc2VkIGFzIF9fbGliY19zdWJmcmVlcmVzIGNhbGxiYWNrIHRvCglyZW1vdmUgc29tZSBkeW5hbWljYWxseSBhbGxvY2F0ZWQgbWVtb3J5IGJsb2NrcyBpbiB0aGUgZHluYW1pYwoJbG9hZGluZyBkYXRhIHN0cnVjdHVyZXMuCgkqIGVsZi9kbC1sb2FkLmMgKGFkZF9uYW1lX3RvX29iamVjdCk6IEluaXRpYWxpemUgZG9udF9mcmVlIHRvIDAuCgkqIGVsZi9kbC1vcGVuLmMgKGRsX29wZW5fd29ya2Rlcik6IERvbid0IGNhbGwgX2RsX2NoZWNrX2FsbF92ZXJzaW9ucy4KCUluc3RlYWQgY2FsbCBfZGxfY2hlY2tfbWFwX3ZlcnNpb25zIG9ubHkgZm9yIHRoZSBkZXBlbmRlbmNpZXMuCgkqIGVsZi9ydGxkLmM6IEF2b2lkIHVubmVjY2Vzc2FyeSBpbml0aWFsaXphdGlvbnMuICBNYXJrIGxfbGlibmFtZQoJaW5mb3JtYXRpb24gb2YgaW5pdGlhbCBvYmplY3RzIGFzIG5vdCBmcmVlLWFibGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9sZHNvZGVmcy5oIChzdHJ1Y3QgbGlibmFtZV9saXN0KTogQWRkIGRvbnRfZnJlZQoJZWxlbWVudC4KCgkqIGVsZi9maWx0ZXIuYzogQ2FsbCBtdHJhY2UuCgkqIGVsZi9yZXN0ZXN0MS5jOiBMaWtld2lzZS4gIENsb3NlIHRoZSBvYmplY3RzLgoJKiBlbGYvbG9hZHRlc3QuYzogQ2FsbCBtdHJhY2UuICBDaGVjayByZXN1bHQgb2YgZGxjbG9zZS4gIFByaW50IG1vcmUKCWRlYnVnIGluZm9ybWF0aW9uLgoKCSogZWxmL2NvbnN0bG9hZDEuYzogQWRkIGNvbW1lbnQgZXhwbGFpbmluZyBub3QgZnJlZWQgbWVtb3J5LgoKMjAwMC0wOC0xOCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9iaXRzL3N0YXQuaDogQWRkIHBhZHMgdG8gc2hvdwoJYWxpZ25tZW50IGZvciBzdHJ1Y3RzIHN0YXQgYW5kIHN0YXQ2NC4KCVBhdGNoIGJ5IE1hY2llaiBXLiBSb3p5Y2tpIDxtYWNyb0BkczIucGcuZ2RhLnBsPi4KCjIwMDAtMDgtMTcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvZ2V0ZGVudHMuYzogUmVtb3ZlIHNwZWNpYWwgZF9pbm8KCWhhbmRsaW5nLiAgUGF0Y2ggYnkgUmljaGFyZCBIZW5kZXJzb24gPHJ0aEB0d2lkZGxlLm5ldD4uCgoJKiBuc3MvVmVyc2lvbnM6IFJlbW92ZSBsaWJuc3NfZGIgaW5mb3JtYXRpb24uCgoyMDAwLTA4LTE2ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvc3BhcmMvZnB1L2ZlZGlzYmx4Y3B0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NwYXJjL2ZwdS9mZWVuYWJseGNwdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zcGFyYy9mcHUvZmVnZXRleGNlcHQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9mcHUvZV9zcXJ0bC5jOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9kbC1tYWNoaW5lLmg6IFN1YnRyYWN0IDQgLnJlbGEucGx0IGVudHJpZXMKCXRvIG1hdGNoIFNvbGFyaXMuCgoyMDAwLTA4LTE3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvcG93ZXJwYy9mcHVfY29udHJvbC5oIChfRlBVX0dFVENXKTogVXNlIHR5cGUtY29ycmVjdCBjb2RlLgoJKF9GUFVfU0VUQ1cpOiBMaWtld2lzZS4KCVBhdGNoIGJ5IEZyYW56IFNpcmwgPEZyYW56LlNpcmwta2VybmVsQGxhdXRlcmJhY2guY29tPi4KCgkqIHN0ZGlvLWNvbW1vbi9wcmludGZfZnAuYzogRml4IGNoYXJzX25lZWRlZCBjb21wdXRhdGlvbi4KCVBhdGNoIGJ5IEdyZWcgTWNHYXJ5IDxncmVnQG1jZ2FyeS5vcmc+LgoKMjAwMC0wOC0xNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtbG9hZC5jIChfZGxfbWFwX29iamVjdCk6IERvbid0IGNyYXNoIGlmIGJvdGggbG9hZGVyIGFuZAoJX2RsX2xvYWRlZCBhcmUgTlVMTC4KCjIwMDAtMDgtMTcgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogbWFudWFsL2FyaXRoLnRleGkgKGZlaG9sZGV4Y2VwdCk6IFJldHVybnMgMCBvbiBzdWNjZXNzLgoKMjAwMC0wOC0xNyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9nbnUvbmV0L2lmLmggKHN0cnVjdCBpZnJlcSk6IEFkZCBpZnJ1X25ld25hbWUuCgkoaWZyX25ld25hbWUpOiBOZXcuCglSZXBvcnRlZCBieSBBbmRpIEtsZWVuIDxha0BzdXNlLmRlPi4KCjIwMDAtMDgtMTcgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9hbHBoYS9mcHUvZmVkaXNibHhjcHQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvYWxwaGEvZnB1L2ZlZW5hYmx4Y3B0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2FscGhhL2ZwdS9mZWdldGV4Y2VwdC5jOiBOZXcgZmlsZS4KCjIwMDAtMDgtMTYgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveHN0YXRjb252LmMgKHhzdGF0MzJfY29udik6IFRlc3Qgc2l6ZXMKCW9mIGJ1Zi0+c3RfaW5vIGFuZCBrYnVmLT5zdF9pbm8sIG5vdCBfX3N0X2luby4KCUlmIF9IQVZFX1NUQVQ2NF9fX1NUX0lOTyBpcyBub3QgZGVmaW5lZCwgZG9uJ3QgdXNlIF9fc3RfaW5vIGF0IGFsbC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZ2V0ZGVudHM2NC5jOiBDaGFuZ2UgcGF0aCBpbiAjaW5jbHVkZQoJZGlyZWN0aXZlIHNvIHRoYXQgb25seSBsaW51eC9nZXRkZW50cy5jIGlzIHVzZWQsIG5vdCBzb21lCglhcmNoaXRlY3R1cmUgc3BlY2lmaWMgb25lLgoKMjAwMC0wOC0xNiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2kzODYvZnB1L2ZlZ2V0ZXhjZXB0LmMgKGZlZ2V0ZXhjZXB0KTogUmV0dXJuIGN1cnJlbnRseQoJZW5hYmxlZCwgbm90IGRpc2FibGVkIGV4Y2VwdGlvbnMuCgkqIHN5c2RlcHMvaTM4Ni9mcHUvZmVkaXNibHhjcHQuYyAoZmVkaXNhYmxlZXhjZXB0KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9mcHUvZmVlbmFibHhjcHQuYyAoZmVlbmFibGVleGNlcHQpOiBMaWtld2lzZS4KCjIwMDAtMDgtMTcgIEdyZWcgTWNHYXJ5ICA8Z3JlZ0BtY2dhcnkub3JnPgoKCSogTWFrZWNvbmZpZyAobGluay1leHRyYS1saWJzLWJvdW5kZWQpOiBTdHJpcCBgLWJwJyBzdWZmaXgKCWZyb20gdGVzdCBwcm9ncmFtIG5hbWUgd2hlbiBjb25zdHJ1Y3Rpbmcgc3VmZml4IGZvciAkKExETElCUy0qKS4KCShib3VuZGVkLXRocmVhZC1saWJyYXJ5KTogTmV3IHZhcmlhYmxlLgoJKiBjcnlwdC9NYWtlZmlsZQoJW2J1aWxkLXNoYXJlZCwgYnVpbGQtc3RhdGljXSAobGliY3J5cHQtZGVwKTogUmVtb3ZlIHZhcmlhYmxlLgoJKCQoYWRkcHJlZml4ICQob2JqcGZ4KSwkKHRlc3RzKSkpOiBDb25zb2xpZGF0ZSBpbmRpdmlkdWFsIGRlcGVuZGVuY2llcy4KCVtidWlsZC1ib3VuZGVkXSAoJCh0ZXN0czolPSQob2JqcGZ4KSUtYnApKTogQWRkIGRlcGVuZGVuY2llcy4KCSogbGludXh0aHJlYWRzL01ha2VmaWxlIChsaWJwdGhyZWFkLCBsaWJydCk6IFJlbW92ZSB2YXJpYWJsZXMuCgkobGlicnQtdGVzdHMpOiBBZGQgdmFyaWFibGUuICAodGVzdHMpOiBVc2UgaXQuCglbYnVpbGQtc2hhcmVkLCBidWlsZC1zdGF0aWNdCgkoJChhZGRwcmVmaXggJChvYmpwZngpLCQodGVzdHMpKSwKCSQoYWRkcHJlZml4ICQob2JqcGZ4KSwkKGxpYnJ0LXRlc3RzKSkpOgoJQ29uc29saWRhdGUgaW5kaXZpZHVhbCBkZXBlbmRlbmNpZXMuCglbYnVpbGQtYm91bmRlZF0KCSgkKHRlc3RzOiU9JChvYmpwZngpJS1icCksICQobGlicnQtdGVzdHM6JT0kKG9ianBmeCklLWJwKSk6CglBZGQgZGVwZW5kZW5jaWVzLgoJKiBtYXRoL01ha2VmaWxlIChMRExJQlMtKik6IFJlbW92ZSB2YXJpYWJsZXMgKHRoZXkgYXJlIHJlZHVuZGFudCkuCglbYnVpbGQtYm91bmRlZF0gKCQodGVzdHM6JT0kKG9ianBmeCklLWJwKSk6IEFkZCBkZXBlbmRlbmNpZXMuCgkqIG1pc2MvTWFrZWZpbGUKCVtidWlsZC1ib3VuZGVkXSAoJChvYmpwZngpdHN0LXRzZWFyY2gtYnApOiBBZGQgZGVwZW5kZW5jaWVzLgoJKiBydC9NYWtlZmlsZQoJW2J1aWxkLXNoYXJlZCwgYnVpbGQtc3RhdGljXQoJKCQoYWRkcHJlZml4ICQob2JqcGZ4KSwkKHRlc3RzKSkpOiBDb25zb2xpZGF0ZSBpbmRpdmlkdWFsIGRlcGVuZGVuY2llcy4KCVtidWlsZC1ib3VuZGVkXSAoJCh0ZXN0czolPSQob2JqcGZ4KSUtYnApKTogQWRkIGRlcGVuZGVuY2llcy4KCjIwMDAtMDgtMTcgIEdyZWcgTWNHYXJ5ICA8Z3JlZ0BtY2dhcnkub3JnPgoKCSogc3lzZGVwcy9nZW5lcmljL2JwLWNoZWNrcy5oOiBzL1woQ0hFQ0tcdytcKW9wdC9cMV9OVUxMX09LLwoJKiBzeXNkZXBzL3VuaXgvbWFrZS1zeXNjYWxscy5zaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NobWN0bC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2lncHJvY21hc2suYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc2lnYWN0aW9uLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3NpZ3Byb2NtYXNrLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L3NpZ3Byb2NtYXNrLmM6IExpa2V3aXNlLgoKMjAwMC0wOC0xNyAgR3JlZyBNY0dhcnkgIDxncmVnQG1jZ2FyeS5vcmc+CgoJKiBzeXNkZXBzL2kzODYvZnB1L3NfZnJleHAuUzogQ2hlY2sgYm91bmRzLgoJV3JhcCBleHRlcm4gc3ltYm9scyBpbiBCUF9TWU0gKCkuCgkqIHN5c2RlcHMvaTM4Ni9mcHUvc19mcmV4cGYuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9mcHUvc19mcmV4cGwuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9mcHUvc19yZW1xdW8uUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9mcHUvc19yZW1xdW9mLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvZnB1L3NfcmVtcXVvbC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2ZwdS9zX3NpbmNvcy5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2ZwdS9zX3NpbmNvc2YuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9mcHUvc19zaW5jb3NsLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2Nsb25lLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L21tYXA2NC5TOiBMaWtld2lzZS4KCjIwMDAtMDgtMTYgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzeXNkZXBzL202OGsvZnB1L2ZlZ2V0ZXhjZXB0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL202OGsvZnB1L2ZlZGlzYmx4Y3B0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL202OGsvZnB1L2ZlZW5hYmx4Y3B0LmM6IE5ldyBmaWxlLgoKMjAwMC0wOC0xNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvbGRzb2RlZnMuaDogRGVjbGFyZSBfbmxfbmxvYWRlZC4KCSogZWxmL1ZlcnNpb25zIFtsZF0gKEdMSUJDXzIuMik6IEFkZCBfbmxfbmxvYWRlZC4KCSogZWxmL2RsLXN1cHBvcnQuYzogRGVmaW5lIF9ubF9ubG9hZGVkLgoJKiBlbGYvcnRsZC5jOiBMaWtld2lzZS4gIEluY3JlbWVudCBfbmxfbmxvYWRlZCBmb3IgcnRsZCBpdHNlbGYuCgkqIGVsZi9kbC1vYmplY3QuYyAoX2RsX25ld19vYmplY3QpOiBJbmNyZW1lbnQgX25sX25sb2FkZWQgYWZ0ZXIgYWRkaW5nCglvYmplY3QgdG8gZ2xvYmFsIGxpc3QuCgkqIGVsZi9kbC1jbG9zZS5jIChfZGxfY2xvc2UpOiBEZWNyZW1lbnQgX25sX25sb2FkZWQgYWZ0ZXIgcmVtb3ZpbmcKCWZyb20gX2RsX2xvYWRlZCBsaXN0LgoJKiBlbGYvZGwtbG9hZC5jIChfZGxfbWFwX29iamVjdF9mcm9tX2ZkKTogTGlrZXdpc2UuCgkqIGVsZi9kbC1maW5pLmMgKF9kbF9maW5pKTogVXNlIF9ubF9ubG9hZGVkIGluc3RlYWQgb2YgY29tcHV0aW5nIHRoZQoJbnVtYmVyIGhlcmUuCgoJKiBzeXNkZXBzL2kzODYvZnB1L2ZlZGlzYmx4Y3B0LmMgKGZlZGlzYWJsZWV4Y2VwdCk6IE1hc2ssIG5vdAoJdW5tYXNrLCBleGNlcHRpb25zLgoJKiBzeXNkZXBzL2kzODYvZnB1L2ZlZW5hYmx4Y3B0LmMgKGZlZW5hYmxlZXhjZXB0KTogVW5tYXNrLCBub3QgbWFzaywKCWV4Y2VwdGlvbnMuCglSZXBvcnRlZCBieSBIYXJ2ZXkgSi4gU3RlaW4gPGhqc3RlaW5AYmZyLmNvLmlsPi4KCjIwMDAtMDgtMTYgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGVsZi9lbGYuaCAoRU1fWDg2NjQpOiBBZGQgb2ZmaWNpYWwgeDg2LTY0IHNwZWNpZmljIHZhbHVlLgoKMjAwMC0wOC0xNSAgTWFya28gTXlsbHluZW4gIDxteWxseW5lbkBsdXQuZmk+CgoJKiBpbmV0L25ldGluZXQvaWNtcDYuaDogQWRkZWQgTW9iaWxlIElQdjYgZGVmaW5pdGlvbnMuCgoyMDAwLTA4LTE1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvRGlzdDogQWRkIG9sZGdldHJsaW1pdDY0LmMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvTWFrZWZpbGUgWyQoc3ViZGlyKT1yZXNvdXJjZV0KCShzeXNkZXBfcm91dGluZXMpOiBBZGQgb2xkZ2V0cmxpbWl0NjQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvb2xkZ2V0cmxpbWl0NjQuYzogTmV3IGZpbGUuCglQYXRjaCBieSBGcmFueiBTaXJsIDxGcmFuei5TaXJsLWtlcm5lbEBsYXV0ZXJiYWNoLmNvbT4uCgoJKiBpbmNsdWRlL2xpbmsuaDogVW5kbyBsYXN0IHBhdGNoZXMuICBIdXJkIG5vdyBoYXMgc3RhdDY0LgoJKiBlbGYvTWFrZWZpbGU6IExpa2V3aXNlLgoJKiBlbGYvZGwtbG9hZC5jOiBMaWtld2lzZS4KCSogZWxmL2RsLW1pc2MuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1wcm9maWxlLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvc3lzZC1saW5rLmg6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5c2QtbGluay5oOiBSZW1vdmVkLgoKCSogcnQvYWlvX25vdGlmeS5jIChub3RpZnlfZnVuY193cmFwcGVyKTogV3JhcHBlciBmdW5jdGlvbiB0byBjYWxsCgl0aHJlYWQgZXZlbnQgY2FsbGJhY2sgZnVuY3Rpb24uCgkoX19haW9fbm90aWZ5X29ubHkpOiBVc2UgZnVuY3Rpb24gYWJvdmUuCglQYXRjaCBieSBLYXogS3lsaGVrdSA8a2F6QGFzaGkuZm9vdHByaW50cy5uZXQ+LgoKMjAwMC0wOC0xNiAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBzeXNkZXBzL21hY2gvaHVyZC9sc2VlazY0LmM6IE5ldyBmaWxlLgoKMjAwMC0wOC0xNSAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBzeXNkZXBzL21hY2gvaHVyZC9pMzg2L2JpdHMvdGltZS5oIChfX2Nsb2NraWRfdCwgX190aW1lcl90KToKCVJlbW92ZSB0eXBlZGVmcy4KCSogc3lzZGVwcy9tYWNoL2h1cmQvYml0cy90aW1lLmggKF9fY2xvY2tpZF90LCBfX3RpbWVyX3QpOiBSZW1vdmUKCXR5cGVkZWZzLgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy90aW1lLmggKF9fY2xvY2tpZF90LCBfX3RpbWVyX3QpOiBSZW1vdmUKCXR5cGVkZWZzLgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy90eXBlcy5oIChfX2Nsb2NraWRfdCwgX190aW1lcl90KTogTmV3IHR5cGVkZWZzLgoKMjAwMC0wOC0xNSAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBzeXNkZXBzL21hY2gvaHVyZC94c3RhdGNvbnYuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvbWFjaC9odXJkL2Z4c3RhdDY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9seHN0YXQ2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9tYWNoL2h1cmQveHN0YXQ2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9tYWNoL2h1cmQvRGlzdDogQWRkIHhzdGF0Y29udi5jLgoKMjAwMC0wOC0xNSAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBzeXNkZXBzL21hY2gvaHVyZC9kbC1zeXNkZXAuYyAoX19saWJjX211bHRpcGxlX2xpYmNzKToKCUluaXRpYWxpemUsIG5lZWRlZCBmb3IgY2hhbmdlIGluIGNvbW1vbiBzeW1ib2wgaGFuZGxpbmcgaW4gbmV3ZXIKCWJpbnV0aWxzLiAgTWlycm9ycyAyMDAwLTAxLTAzIGNoYW5nZSBtYWRlIGJ5IEFuZHJlYXMgU2Nod2FiLgoKMjAwMC0wOC0xNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvY29uc3Rsb2FkMS5jOiBDYWxsIG10cmFjZS4gIENoZWNrIHJldHVybiB2YWx1ZSBvZiBkbGNsb3NlIGNhbGwuCgkqIGVsZi9jb25zdGxvYWQyLmM6IEFkZCBkZXN0cnVjdG9yIHRvIHVubG9hZCBjb25zdGxvYWQzLgoKCSogaW5jbHVkZS9saW5rLmg6IEluY2x1ZGUgc3lzZC1saW5rLmguCgkqIHN5c2RlcHMvZ2VuZXJpYy9zeXNkLWxpbmsuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5c2QtbGluay5oOiBOZXcgZmlsZS4KCSogZWxmL01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIHN5c2QtbGluay5oLgoJKiBlbGYvZGwtbG9hZC5jOiBVc2UgZGVmaW5pdGlvbnMgZnJvbSBzeXNkLWxpbmsuaCBpbnN0ZWFkIG9mIHN0YXQKCXR5cGVzIGFuZCBmdW5jdGlvbnMgZGlyZWN0bHkuCgkqIGVsZi9kbC1taXNjLmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtcHJvZmlsZS5jOiBMaWtld2lzZS4KCgkqIGVsZi9sb2FkZmFpbC5jIChtYWluKTogQ2xvc2UgYWxsIHN1Y2Nlc3NmdWxseSBsb2FkZWQgb2JqZWN0cy4KCgkqIGVsZi9tdWx0aWxvYWQuYzogQWRkIG10cmFjZSBjYWxsLiAgQ2FsbCBkbGNsb3NlIGZvciBhbGwgaGFuZGxlcyBhbmQKCWZyZWUgd2QuCgkqIGVsZi9kbC1kZXBzLmMgKF9kbF9tYXBfb2JqZWN0X2RlcHMpOiBEb24ndCBhbGxvY2F0ZSBuZWVkZWQgbGlzdCBpZgoJdGhlcmUgaXMgYWxyZWFkeSBvbmUuCgoJKiBlbGYvZGwtY2xvc2UuYzogUHJldHR5IHByaW50LgoKMjAwMC0wOC0xNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3Bvc2l4L3R0eW5hbWUuYzogTWFrZSBuYW1lIHZhcmlhYmxlIGZyb20gZ2V0dHR5bmFtZSBmdW5jdGlvbgoJZ2xvYmFsICh3aXRoIGZpbGUgc2NvcGUpLiAgQWRkIF9fbGliY19zdWJmcmVlcmVzIGZ1bmN0aW9uIHRvIGZyZWUgdGhlCglzdHJpbmcuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3R0eW5hbWUuYzogTGlrZXdpc2UuICBBbHNvIGZvciBidWYgdmFyaWFibGUKCWluIHR0eW5hbWUgZnVuY3Rpb24uCgoJKiBzeXNkZXBzL2dlbmVyaWMvc3RydG9rLmM6IFJlbW92ZSBpbml0aWFsaXplciBmb3Igb2xkcyB2YXJpYWJsZS4KCgkqIGNyeXB0L21kNS1jcnlwdC5jOiBMZXQgZGVzdHJ1Y3RvciBkZWFsbG9jYXRlIHN0YXRpYyBidWZmZXIuCgoJKiBpY29udmRhdGEvc2ppcy5jIChmcm9tX3VjczRfbGF0MSk6IEhhbmRsZSBVMDA1QyBhbmQgVTAwN0UgYnkKCW1hcHBpbmcgdGhlbSB0byAveDVjIGFuZCAveDdlIHJlc3BlY3RpdmVseS4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jdHlwZS5jOiBBZGQgc3VwcG9ydCBmb3IgbW9yZSBkZWZpbml0aW9ucyBhZnRlcgoJY29weSBzdGF0ZW1lbnQuCgoyMDAwLTA4LTE0ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGRpcmVudC9WZXJzaW9ucyAoZ2V0ZGlyZW50cmllczY0KTogRXhwb3J0IGF0IEdMSUJDXzIuMi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgva2VybmVsLWZlYXR1cmVzLmgKCShfX0FTU1VNRV9HRVRERU5UUzY0X1NZU0NBTEwpOiBEZWZpbmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2dldGRlbnRzLmMgKF9fZ2V0ZGVudHMpOiBVc2UgZ2V0ZGVudHM2NAoJc3lzY2FsbCBpZiBhdmFpbGFibGUgdG8gZ2V0IGRfdHlwZSBmaWVsZHMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2dldGRlbnRzLmMgKERJUkVOVF9UWVBFKTogRGVmaW5lLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vVmVyc2lvbnMgKF9feHN0YXQ2NCwgX19meHN0YXQ2NCwKCV9fbHhzdGF0NjQpOiBFeHBvcnQgYXQgR0xJQkNfMi4yLgoJKGFscGhhc29ydDY0LCByZWFkZGlyNjQsIHJlYWRkaXI2NF9yLCBzY2FuZGlyNjQsIHZlcnNpb25zb3J0NjQpOgoJTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvVmVyc2lvbnMgKGdldGRpcmVudHJpZXM2NCk6IFJlbW92ZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9nZXRkZW50czY0LmMgKGtlcm5lbF9kaXJlbnQ2NCk6IERlZmluZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9WZXJzaW9ucyAoYWxwaGFzb3J0NjQsCglnZXRkaXJlbnRyaWVzNjQsIHZlcnNpb25zb3J0NjQpOiBSZW1vdmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjMzIvVmVyc2lvbnMgKGFscGhhc29ydDY0LAoJZ2V0ZGlyZW50cmllczY0LCB2ZXJzaW9uc29ydDY0KTogUmVtb3ZlLgoKMjAwMC0wOC0xMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9NYWtlZmlsZTogUmVtb3ZlIHJ1bGVzIHRvIGdlbmVyYXRlIGdsb2IgcGFja2FnZS4KCgkqIHBvc2l4L01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3QtcmVnZXhsb2MuCgkodHN0LXJlZ2V4bG9jLUVOVik6IEFkZCBMT0NQQVRILgoJKiBwb3NpeC90c3QtcmVnZXhsb2MuYzogTmV3IGZpbGUuCgoyMDAwLTA4LTEyICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBpbmNsdWRlL2ZlYXR1cmVzLmggKF9fU1REQ19JU09fMTA2NDZfXyk6IERlZmluZS4KCVJlcG9ydGVkIGJ5IE1hcmt1cyBLdWhuIDxNYXJrdXMuS3VobkBjbC5jYW0uYWMudWs+LgoKMjAwMC0wOC0xMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2ZlYXR1cmVzLmggKF9fVVNFX0lTT0M5OSk6IERlZmluZSBmb3IgX1hPUEVOX1NPVVJDRSA+PSA2MDAuCgoJKiBsb2NhbGUvbGFuZ2luZm8uaDogRGVmaW5lIFlFU1NUUiBhbmQgTk9TVFIgYWxzbyBmb3IgWFBHNCAoYnV0IG5vdAoJZm9yIHJldmlzaW9uIDYgYW5kIHVwKS4KCgkqIHBvc2l4L3N5cy90eXBlcy5oOiBEZWZpbmUgX19uZWVkX3RpbWVyX3QgYW5kIF9fbmVlZF9jbG9ja2lkX3QgYmVmb3JlCglpbmNsdWRpbmcgPHRpbWUuaD4uCgkqIHRpbWUvdGltZS5oOiBBbGxvdyBfX25lZWRfdGltZXJfdCBhbmQgX19uZWVkX2Nsb2NraWRfdCB0byBiZSBkZWZpbmVkCgl0byBnZXQgZGVmaW5pdGlvbnMgb2YganVzdCB0aGVzZSB0eXBlcy4KCgkqIHNpZ25hbC9zaWduYWwuaDogRGVmaW5lIHRocmVhZCBzaWduYWwgaGFuZGxpbmcgZnVuY3Rpb25zIGFsc28gZm9yCglQT1NJWDk1LgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy90eXBlcy5oOiBEZWZpbmUgdGhyZWFkIHR5cGVzIGFsc28gZm9yCglQT1NJWDk1LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9iaXRzL3R5cGVzLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvdHlwZXMuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvYml0cy90eXBlcy5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvYml0cy90eXBlcy5oOiBMaWtld2lzZS4KCgkqIHN5c3ZpcGMvc3lzL3NobS5oOiBEZWZpbmUgcGlkX3QgZm9yIFhQRy4KCgkqIHBvc2l4L3VuaXN0ZC5oOiBSZW1vdmUgc2V0a2V5LCByZW5hbWUsIGFuZCBjdXNlcmlkIHByb3RvdHlwZXMgYXMKCXRoZXkgYXJlIG5vdCBhbnltb3JlIHJlcXVpcmVkIGhlcmUuCgoJKiB3Y3NtYnMvd2NoYXIuaDogTWFrZSB0aGUgdmFyaW91cyB3aWRlIGNoYXIgc3RyaW5nIGFuZCBzdHJlYW0KCWZ1bmN0aW9ucyBhdmFpbGFibGUgZm9yIHRoZSByZXNwZWN0aXZlIFhQRyB2ZXJzaW9ucy4KCgkqIG5zcy9NYWtlZmlsZTogUmVtb3ZlIHJ1bGVzIHRvIGJ1aWxkIGFuZCBkaXN0cmlidXRlIG5zc19kYi4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9hbHBoYXNvcnQ2NC5jOiBSZW1vdmUgdW5uZWNlc3NhcnkgdmVyc2lvbmluZy4KCSogc3lzZGVwcy9nZW5lcmljL3NjYW5kaXI2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL3ZlcnNpb25zb3J0NjQuYzogTGlrZXdpc2UuCgoyMDAwLTA4LTEzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCSAgICBCZW5qYW1pbiBLb3puaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBsaWJpby9maWxlb3BzLmM6IE1lcmdlIHdpdGggbGlic3RkYysrLXYzLgoJKiBsaWJpby9nZW5vcHMuYzogTGlrZXdpc2UuCgkqIGxpYmlvL2lvZmNsb3NlLmM6IExpa2V3aXNlLgoJKiBsaWJpby9pb2ZvcGVuLmM6IExpa2V3aXNlLgoJKiBsaWJpby9pb2Z3aWRlLmM6IExpa2V3aXNlLgoJKiBsaWJpby9saWJpby5oOiBMaWtld2lzZS4KCSogbGliaW8vbGliaW9QLmg6IExpa2V3aXNlLgoJKiBsaWJpby9zdGRmaWxlcy5jOiBMaWtld2lzZS4KCSogbGliaW8vc3RkaW8uYzogTGlrZXdpc2UuCgkqIGxpYmlvL3dmaWxlb3BzLmM6IExpa2V3aXNlLgoJKiBsaWJpby93Z2Vub3BzLmM6IExpa2V3aXNlLgoKCSogbGliaW8vVmVyc2lvbnM6IEV4cG9ydCBmdW5jdGlvbnMgbmVlZGVkIGJ5IGxpYnN0ZGMrKy12MyBpbiBHTElCQ18yLjIuCgoyMDAwLTA4LTEyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sb2NhbGVkZWYuYzogSW1wbGVtZW50IC0tcHJlZml4IG9wdGlvbiB0byBhbGxvdwoJd3JpdGluZyBpbiBzdGFuZGFyZCBwbGFjZXMgb2YgYWx0ZXJuYXRpdmUgaW5zdGFsbCBkaXJlY3Rvcmllcy4KCgkqIHBvc2l4L3JlZ2V4LmMgKGNvbXBpbGVfcmFuZ2UpOiBJbXBsZW1lbnQgY29sbGF0aW9uIHNlcXVlbmNlCgloYW5kbGluZyBmb3IgZ2xpYmMuICBVc2Ugc2ltcGxlIGNoYXJhY3RlciBvcmRlcmluZyBvdGhlcndpc2UgYW5kCglub3Qgc3RyY29sbC4KCjIwMDAtMDgtMTIgIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCSogc3lzZGVwcy9nZW5lcmljL3NjYW5kaXI2NC5jOiBJbmNsdWRlIDxkaXJlbnQuaD4uCgoyMDAwLTA4LTEyICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2JpdHMvZmNudGwuaDogSGFuZGxlCglfX1VTRV9GSUxFX09GRlNFVDY0IGNvcnJlY3RseSBmb3IgbG9ja2luZy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvYml0cy9mY250bC5oOiBMaWtld2lzZS4KCjIwMDAtMDgtMTIgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgva2VybmVsLWZlYXR1cmVzLmggKF9fQVNTVU1FX0ZDTlRMNjQpOgoJRGVmaW5lIGZvciAyLjQuMSBvbiBzcGFyYyBhcyB3ZWxsLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9iaXRzL2ZjbnRsLmg6IEZpbGwgaW4gY29ycmVjdCB2YWx1ZXMKCWZvciBGX0dFVExLNjQsIEZfU0VUTEs2NCwgYW5kIEZfU0VUTEtXNjQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjMzIvZmNudGwuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjMzIvbG9ja2Y2NC5jOiBOZXcgZmlsZS4KCjIwMDAtMDgtMTIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW8vZnRzLmMgKGZ0c19zdGF0KTogUmVjb2duaXplIERUX1dIVCBvbmx5IGlmIFNfSUZXSFQgaXMgYWxzbwoJZGVmaW5lZC4KCjIwMDAtMDgtMTIgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2JpdHMvZmNudGwuaCAoRl9HRVRMSzY0LAoJRl9TRVRMSzY0LCBGX1NFVExLVzY0KTogRGVmaW5lIHdpdGggRl9HRVRMSyBldGMuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3N5cy90YXMuaCAoX3Rlc3RfYW5kX3NldCk6IEFkZCAuc2V0CgltaXBzMiBmb3IgYXNzZW1ibGVyLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9mY250bC5jIChfX2xpYmNfZmNudGwpOiBUcnkgZmNudGwKCWlmIGZuY3RsNjQgaXMgbm90IGF2YWlsYWJsZSBmb3IgRl8qTEsqNjQuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2xvY2tmNjQuYzogTmV3IGZpbGUuCgoyMDAwLTA4LTEyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2tlcm5lbC1mZWF0dXJlcy5oIChfX0FTU1VNRV9GQ05UTDY0KToKCURlZmluZSBmb3IgMi40LjEgb24geDg2LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2ZjbnRsLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2JpdHMvZmNudGwuaDogRmlsbCBpbiBjb3JyZWN0IHZhbHVlcwoJZm9yIEZfR0VUTEs2NCwgRl9TRVRMSzY0LCBhbmQgRl9TRVRMS1c2NC4KCgkqIGRpcmVudC9kaXJlbnQuaDogRGVmaW5lIERUX1dIVC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9hbHBoYXNvcnQ2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2dldGRlbnRzNjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9yZWFkZGlyNjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9yZWFkZGlyNjRfci5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL3NjYW5kaXI2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL3ZlcnNpb25zb3J0NjQuYzogTmV3IGZpbGUuCgoyMDAwLTA4LTExICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG5zcy9kaWdpdHNfZG90cy5jOiBEb24ndCBwYXNzIE5VTEwgaW4gaF9hbGlhc2VzIGZvciBzdWNjZXNzZnVsCglsb29rdXAsIHBhc3MgcG9pbnRlciB0byBhcnJheSB3aXRoIE5VTEwgcG9pbnRlciBbUFIgbGliYy8xODU4XS4KCSogaW5ldC9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdHN0LWdldGhubS4KCSogaW5ldC90c3QtZ2V0aG5tLmM6IE5ldyBmaWxlLgoKCSogcnQvYWlvX2NhbmNlbC5jOiBJZiBjYW5jZWxpbmcgYSBzcGVjaWZpYyByZXF1ZXN0IHdoaWNoIGlzIHJ1bm5pbmcKCSpyZWFsbHkqIGRvIG5vdGhpbmcuCgkqIHJ0L2Fpb19taXNjLmg6IEFkZCBgZG9uZScgdG8gc3RhdGVzIG9mIGEgcmVxdWVzdC4KCSogcnQvYWlvX21pc2MuYzogQWRkIHNldmVyYWwgdGVzdHMgZm9yIHRoZSBjb3JyZWN0IHN0YXRlLgoJU2ltcGxpZnkgcmVxdWVzdCB0YWJsZSBtZW1vcnkgaGFuZGxpbmcuCgoyMDAwLTA4LTEwICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGRpcmVudC9zY2FuZGlyLmM6IFVzZSBpdCBmb3Igc2NhbmRpcjY0IGFuZCBvbGRfc2NhbmRpcjY0IGFzIHdlbGwuCgkqIGRpcmVudC9zY2FuZGlyNjQuYzogTW92ZS4uLgoJKiBzeXNkZXBzL2dlbmVyaWMvc2NhbmRpcjY0LmM6IC4uLmhlcmUuCgkqIGRpcmVudC9hbHBoYXNvcnQ2NC5jOiBNb3ZlLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy9hbHBoYXNvcnQ2NC5jOiAuLi5oZXJlLgoJKiBkaXJlbnQvdmVyc2lvbnNvcnQ2NC5jOiBNb3ZlLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy92ZXJzaW9uc29ydDY0LmM6IC4uLmhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvZGlyZW50L1ZlcnNpb25zIChhbHBoYXNvcnQ2NCwKCWdldGRpcmVudHJpZXM2NCwgcmVhZGRpcjY0LCByZWFkZGlyNjRfciwgc2NhbmRpcjY0LCB2ZXJzaW9uc29ydDY0KToKCUV4cG9ydCBzeW1ib2xzIGF0IEdMSUJDXzIuMi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9kaXJlbnQvVmVyc2lvbnM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzMyL2RpcmVudC9WZXJzaW9uczogTGlrZXdpc2UuCgkqIGluY2x1ZGUvZGlyZW50LmggKF9fcmVhZGRpcjY0X3IsIF9fc2NhbmRpcjY0LCBfX2FscGhhc29ydDY0LAoJX192ZXJzaW9uc29ydDY0KTogQWRkIHByb3RvdHlwZXMuCgkqIGlvL1ZlcnNpb25zIChfX3hzdGF0NjQsIF9fZnhzdGF0NjQsIF9fbHhzdGF0NjQpOiBFeHBvcnQgYXQgR0xJQkNfMi4yLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9rZXJuZWxfc3RhdC5oIChfX3hzdGF0X2NvbnYpOiBSZW1vdmUKCXVudXNlZCBwcm90b3R5cGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3JlYWRkaXIuYzogRXhwb3J0IGF0IGJvdGggR0xJQkNfMi4xCglhbmQgR0xJQkNfMi4yLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9yZWFkZGlyX3IuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2dldGRlbnRzLmM6IE5ldy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvZ2V0ZGVudHM2NC5jOiBOZXcuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvdHlwZXMuaCAoX19pbm82NF90KTogQ2hhbmdlIHRvCglfX3VfcXVhZF90LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3N0YXQuaCAoc3RydWN0IHN0YXQsIHN0cnVjdCBzdGF0NjQpOgoJQWRqdXN0IGZvciBrZXJuZWwtMi40LjAtdGVzdDYgbGF5b3V0LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2Z4c3RhdC5jIChfX2Z4c3RhdDY0KTogRXhwb3J0IGF0IGJvdGgKCUdMSUJDXzIuMSBhbmQgR0xJQkNfMi4yLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2x4c3RhdC5jIChfX2x4c3RhdDY0KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYveHN0YXQuYyAoX194c3RhdDY0KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvZ2V0ZGVudHM2NC5jOiBOZXcuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvb2xkZGlyZW50Lmg6IE5ldy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9yZWFkZGlyNjQuYzogTmV3LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3JlYWRkaXI2NF9yLmM6IE5ldy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zY2FuZGlyNjQuYzogTmV3LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2FscGhhc29ydDY0LmM6IE5ldy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni92ZXJzaW9uc29ydDY0LmM6IE5ldy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9nZXRkZW50cy5jOiBOZXcuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvZ2V0ZGVudHM2NC5jOiBOZXcuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvcmVhZGRpci5jOiBJbmNsdWRlIGFscGhhL3JlYWRkaXIuYy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9yZWFkZGlyX3IuYzogSW5jbHVkZSBhbHBoYS9yZWFkZGlyX3IuYy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9iaXRzL3R5cGVzLmggKF9faW5vNjRfdCk6IENoYW5nZSB0bwoJX191X3F1YWRfdC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9iaXRzL3N0YXQuaDogTmV3LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2tlcm5lbF9zdGF0LmggKF9IQVZFX1NUQVQqKTogRGVmaW5lLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3NjYW5kaXI2NC5jOiBOZXcuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvZ2V0ZGVudHM2NC5jOiBOZXcuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvcmVhZGRpcjY0LmM6IE5ldy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9yZWFkZGlyNjRfci5jOiBOZXcuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL2JpdHMvdHlwZXMuaCAoX19pbm82NF90KTogQ2hhbmdlIHRvCglfX3VfcXVhZF90LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9iaXRzL3N0YXQuaDogTmV3LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzMyL2tlcm5lbF9zdGF0LmggKF9IQVZFX1NUQVQqKToKCURlZmluZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9nZXRkZW50czY0LmM6IE5ldy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9yZWFkZGlyNjQuYzogTmV3LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzMyL3JlYWRkaXI2NF9yLmM6IE5ldy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9zY2FuZGlyNjQuYzogTmV3LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L2tlcm5lbF9zdGF0LmggKF9IQVZFX1NUQVQqKToKCURlZmluZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9yZWFkZGlyLmM6IEluY2x1ZGUKCWFscGhhL3JlYWRkaXIuYy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9yZWFkZGlyX3IuYzogSW5jbHVkZQoJYWxwaGEvcmVhZGRpcl9yLmMKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9nZXRkZW50cy5jOiBOZXcuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvZ2V0ZGVudHM2NC5jOiBOZXcuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2Z4c3RhdDY0LmMgKF9fZnhzdGF0NjQpOiBJZgoJX0hBVkVfU1RBVDY0X19fU1RfSU5PIGFuZCBfX3N0X2lubyAhPSAodWludDMyX3Qpc3RfaW5vLCBzZXQKCXN0X2lubyBmcm9tIF9fc3RfaW5vLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9seHN0YXQ2NC5jIChfX2x4c3RhdDY0KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3hzdGF0NjQuYyAoX194c3RhdDY0KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3hzdGF0Y29udi5jICh4c3RhdF9jb252LCB4c3RhdDY0X2NvbnYsCgl4c3RhdDMyX2NvbnYpOiBVc2UgX0hBVkVfU1RBVCogbWFjcm9zLiAgSWYgX0hBVkVfU1RBVDY0X19fU1RfSU5PLAoJc2V0IF9fc3RfaW5vIGluIGFkZGl0aW9uIHRvIHN0X2luby4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgva2VybmVsX3N0YXQuaCAoX0hBVkVfU1RBVCopOiBEZWZpbmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2dldGRlbnRzLmM6IFVzZSBpdCBmb3IgX19nZXRkZW50czY0IGFuZAoJX19vbGRfZ2V0ZGVudHM2NCBhcyB3ZWxsLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9nZXRkaXJlbnRyaWVzLmM6IFVzZSBpdCBmb3IKCWdldGRpcmVudHJpZXM2NCBhbmQgb2xkX2dldGRpcmVudHJpZXM2NCBhcyB3ZWxsLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9nZXRkaXJlbnRyaWVzNjQuYyAoR0VURElSRU5UUklFUywKCV9fR0VUREVOVFMpOiBEZWZpbmUuCgkoR0VUREVOVFM2NCk6IFJlbW92ZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZ2V0ZGVudHM2NC5jIChfX0dFVERFTlRTLCBESVJFTlRfVFlQRSk6CglEZWZpbmUuCgkoR0VUREVOVFM2NCk6IFJlbW92ZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcmVhZGRpcjY0LmM6IFVzZSBzeXNkZXBzL3VuaXgvcmVhZGRpci5jLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9yZWFkZGlyNjRfci5jOiBVc2Ugc3lzZGVwcy91bml4L3JlYWRkaXJfci5jLgoJKiBzeXNkZXBzL3VuaXgvcmVhZGRpci5jOiBVc2UgaXQgZm9yIHJlYWRkaXI2NCBhbmQgX19vbGRfcmVhZGRpcjY0CglhcyB3ZWxsLgoJKiBzeXNkZXBzL3VuaXgvcmVhZGRpcl9yLmM6IFVzZSBpdCBmb3IgcmVhZGRpcjY0X3IgYW5kCglfX29sZF9yZWFkZGlyNjRfciBhcyB3ZWxsLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9rZXJuZWwtZmVhdHVyZXMuaDogRGVmaW5lCglfX0FTU1VNRV9TVF9JTk9fNjRfYml0IGZvciBrZXJuZWwgMi40LjEgYW5kIHVwLgoKMjAwMC0wOC0wOCAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvc2lnaW5mby5oOiBBZGQgU0lfS0VSTkVMIGRlZmluZS4KCUFkZCBtaXNzaW5nIElMTF9CQURJQUREUiB0byBlbnVtIGFuZCBtYWtlIElMTF9CUkVBSyBtYXRjaCB0aGUKCWRlZmluZSBvZiB0aGUga2VybmVsLgoJQWRkIG1pc3NpbmcgX19TRUdfUFNUS09WRiBkZWZpbml0aW9uLgoJQWRqdXN0IHRoZSBwYWRkaW5nIG9mIHN0cnVjdCBzaWdpbmZvIGFuZCBzdHJ1Y3Qgc2lnZXZlbnQgdG8KCW1hdGNoIHRoZSBmYWN0IHRoYXQgc2lndmFsX3QgaXMgNjQgYml0LgoKMjAwMC0wOC0xMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiB0aW1lem9uZS96aWMuYzogVXBkYXRlIGZyb20gdHpjb2RlMjAwMGYuCgkqIHRpbWV6b25lL2F1c3RyYWxhc2lhOiBVcGRhdGUgZnJvbSB0emRhdGEyMDAwZi4KCSogdGltZXpvbmUvZXVyb3BlOiBMaWtld2lzZS4KCSogdGltZXpvbmUvc291dGhhbWVyaWNhOiBMaWtld2lzZS4KCSogdGltZXpvbmUveWVhcmlzdHlwZTogTGlrZXdpc2UuCgoyMDAwLTA4LTEwICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2JpdHMvc3RhdC5oOiBTeW5jaCBzdHJ1Y3Qgc3RhdDY0IGFuZAoJc3RhdCB3aXRoIGN1cnJlbnQgTUlQUyBrZXJuZWwuCgoyMDAwLTA4LTAxICBNYXJrIEtldHRlbmlzICA8a2V0dGVuaXNAZ251Lm9yZz4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc3lzL2VsZi5oIChlbGZfZ3JlZ190LCBFTEZfTkdSRUcsCgllbGZfZ3JlZ3NldF90LCBlbGZfZnByZWdzZXRfdCwgZWxmX2ZweHJlZ3NldF90KTogTW92ZWQgdG8KCXN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc3lzL3Byb2Nmcy5oLgoJUmVtb3ZlIHRoZSBqdW5rIHRoYXQncyBvbmx5IHJlbGV2YW50IGluIHRoZSBMaW51eCBrZXJuZWwgaXRzZWxmLgoJQWRkIGEgd2FybmluZyBzYXlpbmcgdGhhdCB0aGlzIGZpbGUgaXMgbm93IG9ic29sZXRlLCBhbmQgaW5jbHVkZQoJPHN5cy9wcm9jZnMuaD4uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc3lzL3Byb2Nmcy5oIChlbGZfZ3JlZ190LAoJRUxGX05HUkVHLCBlbGZfZ3JlZ3NldF90LCBlbGZfZnByZWdzZXRfdCwgZWxmX2ZweHJlZ3NldF90KTogTW92ZWQKCWhlcmUgZnJvbSBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3N5cy9lbGYuaC4gIERvbid0IGluY2x1ZGUKCTxzaWduYWwuaD4sIDxzeXMvdWNvbnRleHQuaD4gYW5kIDxzeXMvZWxmLmg+LiAgUmVtb3ZlIHBhcnRzIG9mCglgc3RydWN0IGVsZl9wcnN0YXR1cycgdGhhdCBhcmUgI2lmZGVmJ2VkIG91dC4gIEltcHJvdmUgY29tbWVudHMKCWFuZCBhZGQgdGhlIG5vdGljZSB0aGF0IHRoZSBmaWxlIGlzIHByaW1hcmlseSB0aGVyZSBmb3IgR0RCLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3N5cy91c2VyLmg6IEZpeCBjb21tZW50LgoKMjAwMC0wOC0wOSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiB0aW1lL3R6ZmlsZS5jIChfX3R6ZmlsZV9jb21wdXRlKTogX190enN0cmluZyB6b25lcwoJZnJvbSB6b25lX25hbWVzLgoKMjAwMC0wOC0wOSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiByZXNvbHYvcmVzb2x2LmggKF9fcmVzX3N0YXRlKTogU3Vycm91bmQgcHJvdG90eXBlIHdpdGgKCV9fQkVHSU5fREVDTFMvX19FTkRfREVDTFMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L202OGsvY2hvd24uYzogSW5jbHVkZSBrZXJuZWwtZmVhdHVyZXMuaC4KCjIwMDAtMDgtMDQgIEplcyBTb3JlbnNlbiAgPGplc0BsaW51eGNhcmUuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9iaXRzL3Jlc291cmNlLmggKF9fcmxpbWl0X3Jlc291cmNlKToKCU1ha2UgaW5kZXBlbmRhbnQgb2YgYXNtL3Jlc291cmNlLmggZnJvbSB0aGUgTGludXgga2VybmVsLgoKMjAwMC0wOC0wNiAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaWNvbnYvZ2NvbnZfY29uZi5jIChfX2djb252X3JlYWRfY29uZik6IERvbid0IGNhbGwgcmVhbHBhdGguCgoyMDAwLTA4LTA2ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpbnRsL01ha2VmaWxlIChDUFBGTEFHUyk6IFJlbW92ZSAkKGkxOG5kaXIpIGZyb20gTE9DQUxFX0FMSUFTX1BBVEguCgkqIGxvY2FsZS9NYWtlZmlsZSAobG9jYWxlLUNQUEZMQUdTKTogTGlrZXdpc2UuCgoyMDAwLTA4LTA5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvaTM4Ni9mcHUvbGlibS10ZXN0LXVscHM6IEluY3JlYXNlIHNldmVyYWwgZXJyb3IgdmFsdWVzCglmb3IgQU1EIHByb2Nlc3NvcnMuCgoyMDAwLTA4LTAzICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIG1pc2MvVmVyc2lvbnMgKG1pbmNvcmUpOiBFeHBvcnQgYXQgR0xJQkNfMi4yLgoKMjAwMC0wOC0wMyAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaW50bC9saWJpbnRsLmggKGdldHRleHQsIGRnZXR0ZXh0LCBkY2dldHRleHQpOiBBZGQgYmFjayBfX1RIUk9XLgoKMjAwMC0wOC0wMiAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBzeXNkZXBzL21hY2gvaHVyZC9zb2NrZXRwYWlyLmMgKF9fc29ja2V0cGFpcik6IFJlbmFtZWQgZnJvbQoJc29ja2V0cGFpci4gIE1hZGUgc29ja2V0cGFpciBhIHdlYWsgYWxpYXMuCgkqIHN5c2RlcHMvbWFjaC9odXJkL3BpcGUuYyAoX19waXBlKTogUmVpbXBsZW1lbnRlZCB1c2luZwoJX19zb2NrZXRwYWlyLiAgVXNlIFNfSUZJRk8gcHJvdG9jb2wgdG8gbWFrZSBwaXBlcyBQT1NJWAoJY29uZm9ybWluZywgYnV0IGZhbGwgYmFjayBvbiB0aGUgb2xkIHByb3RvY29sIGlmIHRoZSBzb2NrZXQgc2VydmVyCglkb2Vzbid0IHN1cHBvcnQgaXQuCgkqIGluY2x1ZGUvc3lzL3NvY2tldC5oOiBBZGQgcHJvdG90eXBlIGZvciBfX3NvY2tldHBhaXIuCgoyMDAwLTA4LTA5ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogc3RkaW8tY29tbW9uL3ZmcHJpbnRmLmMgKHZmcHJpbnRmKTogQWxzbyBzZXQgYGlzX2xvbmcnIGlmIHRoZQoJbG9uZyBsb25nIG1vZGlmaWVyIGlzIHNlZW4uCgoJKiBlbGYvbm9kZWxldGUuYyAoZG9fdGVzdCk6IFJlbW92ZSByZWZlcmVuY2UgdG8gdW5kZWZpbmVkIG1lbWJlcgoJc2FfcmVzdG9yZXIuCgkqIHJ0L3RzdC1haW80LmMgKGRvX3Rlc3QpOiBMaWtld2lzZS4KCgkqIGNvbmZpZ3VyZS5pbjogQWRkIGAtbG0nIHdoZW4gY2hlY2tpbmcgZm9yIGxpYmdkLgoJKiBtYWxsb2MvTWFrZWZpbGUgKCQob2JqcGZ4KW1lbXVzYWdlc3RhdCk6IEFkZCBgLWxtJyBkdXJpbmcKCWxpbmtpbmcuCgoyMDAwLTA4LTA5ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBjb25maWd1cmUuaW46IENoYW5nZSByZXF1aXJlZCBtYWtlIHZlcnNpb25zLgoKCSogbWFudWFsL2luc3RhbGwudGV4aSAoVG9vbHMgZm9yIENvbXBpbGF0aW9uKTogRG9jdW1lbnQgcmVxdWlyZWQKCW1ha2UgdmVyc2lvbi4KCShTdXBwb3J0ZWQgQ29uZmlndXJhdGlvbnMpOiBVcGRhdGUgbGlzdCBvZiBzdXBwb3J0ZWQKCWNvbmZpZ3VyYXRpb25zLgoKMjAwMC0wOC0wOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvbGluZXJlYWRlci5jIChnZXRfc3RyaW5nKTogRG9uJ3QgcHJpbnQgYW4gZXJyb3IgaXMgYSBzdHJpbmcKCWNvbnRhaW5zIGFuIHVua25vd24gY2hhcmFjdGVyLgoKMjAwMC0wOC0wNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY29sbGF0ZS5jIChzdHJ1Y3Qgc3ltYm9sX3QpOiBBZGQgbmFtZSBlbGVtZW50LgoJKG5ld19zeW1ib2wpOiBUYWtlIG5ldyBwYXJhbWV0ZXJzIHdpdGggbmFtZSBvZiB0aGUgc3ltYm9sLgoJQWRqdXN0IGNhbGxlcnMuCgkoaGFuZGxlX2VsbGlwc2lzKTogRG9uJ3Qgb25seSBhbGxvdyBjaGFyYWN0ZXIgc3ltYm9scy4KCShjb2xsYXRlX3JlYWQpOiBBbGxvdyBzdHJpbmcgb2YgY29sbGF0aW5nIGVsZW1lbnRzIGNvbnRhaW4gaW52YWxpZAoJY2hhcmFjdGVyczsgaWdub3JlIGVudHJ5IGluIHRoaXMgY2FzZS4KCUhhbmRsZSBlbGxpcHNpcyBvZiBjb2xsYXRpbmcgc3ltYm9scyBiZWZvcmUgZmlyc3Qgb3JkZXJfc3RhcnQuCglBbGxvdyBlbGxpcHNpcyBpbiBzdGF0ZSAwLgoKMjAwMC0wOC0wNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY29sbGF0ZS5jIChoYW5kbGVfZWxsaXBzaXMpOiBGaXggdHlwbyBpbgoJZXJyb3IgbWVzc2FnZS4KCVJlcG9ydGVkIGJ5IFR1bmctSGFuIEhzaWVoIDx0aGhzaWVoQHR3Y3Byby5waHlzLm50dS5lZHUudHc+LgoKMjAwMC0wOC0wNCAgR3JlZyBNY0dhcnkgIDxncmVnQG1jZ2FyeS5vcmc+CgoJKiBwb3NpeC9yZWdleC5jIChTRVRfSElHSF9CT1VORCk6IE5ldyBtYWNyby4KCShNT1ZFX0JVRkZFUl9QT0lOVEVSKTogVXNlIGl0LgoJKEVMU0VfRVhURU5EX0JVRkZFUl9ISUdIX0JPVU5EKTogTmV3IG1hY3JvLgoJKEVYVEVORF9CVUZGRVIpOiBVc2UgaXQuCgoyMDAwLTA4LTAzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxpYmlvL2lvZndpZGUuYyAoX0lPX2Z3aWRlKTogSW5pdGlhbGl6ZSBmcC0+X2NvZGVjdnQgYXMgd2VsbC4KCSogbGliaW8vZmlsZW9wcy5jIChfSU9fbmV3X2ZpbGVfZm9wZW4pOiBVc2UgX2NvZGVjdnQgbm90IGZyb20KCV93aWRlX2RhdGEgYnV0IGZyb20gX0lPX0ZJTEUgZGlyZWN0bHkuCgkqIGxpYmlvL2lvZmNsb3NlLmM6IExpa2V3aXNlLgoJKiBsaWJpby93ZmlsZW9wcy5jOiBMaWtld2lzZS4KCgkqIGxpYmlvL2dlbm9wcy5jIChfSU9fZGVmYXVsdF9zaG93bWFueWMpOiBDaGFuZ2UgcmV0dXJuIHR5cGUgdG8gc2l6ZV90LgoJKiBsaWJpby9saWJpb1AuaDogQ2hhbmdlIHByb3RvdHlwZXMuCgoyMDAwLTA4LTAzICBHcmVnIE1jR2FyeSAgPGdyZWdAbWNnYXJ5Lm9yZz4KCgkqIHN5c2RlcHMvaTM4Ni9zZXRqbXAuUyAoX19zaWdzZXRqbXApOiBQb3Agb3VyCglmcmFtZSBwb2ludGVyIGVhcmx5IHNvIHRoYXQgd2Ugc2F2ZSBjYWxsZXIncyBmcmFtZSBwb2ludGVyLgoJKiBzeXNkZXBzL2kzODYvZWxmL3NldGptcC5TOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L3N5c2NhbGxzLmxpc3QgKHRpbWUsIHV0aW1lKTogQ29ycmVjdCBzaWduYXR1cmVzLgoJKiBpby90ZXN0LXV0aW1lLmM6IFRlc3QgcGFzc2luZyBOVUxMIGFzIHV0aW1idWYqIGFyZy4KCgkqIHBvc2l4L3JlZ2V4LmMgKEVYVEVORF9CVUZGRVJfSElHSF9CT1VORCk6IFJlbW92ZSBtYWNyby4KCShNT1ZFX0JVRkZFUl9QT0lOVEVSKTogSGFuZGxlIGhpZ2hfYm91bmQgcHJvcGVybHkuCgkoRVhURU5EX0JVRkZFUik6IERvbid0IGNhbGwgRVhURU5EX0JVRkZFUl9ISUdIX0JPVU5ELgoKMjAwMC0wOC0wMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udmRhdGEvYmlnNS5jOiBVcGRhdGVkLgoJUGF0Y2ggYnkgVHVuZy1IYW4gSHNpZWggPHRoaHNpZWhAdHdjcHJvLnBoeXMubnR1LmVkdS50dz4uCgoyMDAwLTA4LTAyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIE1ha2Vjb25maWcgKGFsbC1zdWJkaXJzKTogQWRkIGNvbmZvcm0uCgkqIGNvbmZvcm0vTWFrZWZpbGU6IEluY2x1ZGUgLi4vUnVsZXMuCgoJKiBNYWtlZmlsZSAoUkVBRE1FKTogQWRkIHJ1bGVzIHRvIGdlbmVyYXRlIGhlcmUgYXMgd2VsbC4KCjIwMDAtMDgtMDIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogdmVyc2lvbi5oIChWRVJTSU9OKTogQnVtcCB0byAyLjEuOTIuCgoJKiBzeXNkZXBzL2lhNjQvRGlzdDogQWRkIF9tY291bnQuUy4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvRGlzdDogQWRkIGNsb25lLlMuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL0Rpc3Q6IEFkZCBfdGVzdF9hbmRfc2V0LmMuCgoJKiBlbGYvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgbWlzc2luZyBtb2R1bGVzLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9EaXN0OiBSZW1vdmUgbm9uZXhpc3RpbmcgZmlsZXMuCgoJKiBwb3NpeC9yZWdleC5jIChjb21waWxlX3JhbmdlKTogVHJhbnNsYXRlIHJhbmdlIHN0YXJ0IGFuZCBlbmQKCWNoYXJhY3RlcnMgdG8gYXZvaWQgZW1wdHkgcmFuZ2UgaW4gY2FzZSBvZiBSRUdfSUNBU0UgW1BSIGxpYmMvMTg0Ml0uCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvcmVzb3VyY2UuaDogRG9uJ3QgaW5jbHVkZQoJYXNtL3Jlc291cmNlLmguCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vTWFrZWZpbGU6IFVuZG8gbGFzdCBjaGFuZ2UuCgoyMDAwLTA4LTAyICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBlbGYvZWxmLmggKEVNX1MzOTApOiBBZGRlZC4KCShSXzM5MF8qKTogTmV3IHJlbG9jcyBmb3IgUzM5MC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvRGlzdDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvc3lzZGVwLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3N5c2RlcC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zeXNjYWxsLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3N5cy91c2VyLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3N5cy91Y29udGV4dC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zeXMvcHRyYWNlLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3N5cy9lbGYuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvc29ja2V0LlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3NpZ2NvbnRleHRpbmZvLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3NobWN0bC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zZXRyZXVpZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zZXRyZXN1aWQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvc2V0cmVzZ2lkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3NldHJlZ2lkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3NldGdyb3Vwcy5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zZXRnaWQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvc2V0ZnN1aWQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvc2V0ZnNnaWQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvc2V0ZXVpZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zZXRlZ2lkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3NlbWN0bC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9yZWdpc3Rlci1kdW1wLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3B1dHBtc2cuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvcHV0bXNnLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3Byb2ZpbC1jb3VudGVyLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL21zZ2N0bC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9tbWFwLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2dldHVpZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9nZXRyZXN1aWQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvZ2V0cmVzZ2lkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2dldHBtc2cuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvZ2V0bXNnLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2dldGdyb3Vwcy5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9nZXRlZ2lkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2dldGV1aWQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvZmNob3duLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2Nsb25lLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2Jyay5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9iaXRzL3RpbWUuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvYml0cy9yZXNvdXJjZS5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9iaXRzL21tYW4uaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvYml0cy9mY250bC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9NYWtlZmlsZTogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9zeXNkZXAuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9zeXMvdWNvbnRleHQuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9zdWJfbi5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL3N0cm5jcHkuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9zdHJjcHkuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9zdGFja2luZm8uaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9zZXRqbXAuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9zMzkwLW1jb3VudC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL211bF8xLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvbWVtdXNhZ2UuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9tZW1zZXQuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9tZW1jcHkuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9tZW1jaHIuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9tYWNoaW5lLWdtb24uaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9sZGJsMm1wbi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL2dtcC1tcGFyYW0uaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9mcHUvZnB1X2NvbnRyb2wuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9mcHUvZmVzZXRyb3VuZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL2ZwdS9mZWdldHJvdW5kLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvZnB1L2ZjbHJleGNwdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL2ZwdS9iaXRzL2ZlbnYuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9mZnMuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9lbGYvc3RhcnQuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9lbGYvc2V0am1wLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvZWxmL2JzZC1zZXRqbXAuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9lbGYvYnNkLV9zZXRqbXAuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9kbC1tYWNoaW5lLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvYnplcm8uUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9ic2Qtc2V0am1wLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvYnNkLV9zZXRqbXAuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9iaXRzL3N0cmluZy5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL2JpdHMvc2V0am1wLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvYml0cy9odWdlX3ZhbC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL2JpdHMvZW5kaWFuLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvYml0cy9ieXRlc3dhcC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL2Jjb3B5LlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvYmFja3RyYWNlLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvYXRvbWljaXR5Lmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvYXNtLXN5bnRheC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL2FkZG11bF8xLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvYWRkX24uUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9hYm9ydC1pbnN0ci5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL19fbG9uZ2ptcC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL01ha2VmaWxlOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL0ltcGxpZXM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvRGlzdDogTmV3IGZpbGUuCglQYXRjaGVzIGJ5IE1hcnRpbiBTY2h3aWRlZnNreSA8c2Nod2lkZWZza3lAZGUuaWJtLmNvbT4uCgoyMDAwLTA4LTAxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCglSZW1vdmUgaW5jb21wYXRpYmxlIElQdjYgZXh0ZW5zaW9uIG9mIFJQQy4KCSogc3VucnBjL01ha2VmaWxlOiBVbmRvIGNoYW5nZXMuCgkqIHN1bnJwYy9ycGNfbWFpbi5jOiBMaWtld2lzZS4KCSogc3VucnBjL3JwYy9jbG50Lmg6IExpa2V3aXNlLgoJKiBzdW5ycGMvcnBjL3N2Yy5oOiBMaWtld2lzZS4KCSogc3VucnBjL2JpbmRyc3ZwcnQ2LmM6IFJlbW92ZWQuCgkqIHN1bnJwYy9jbG50X3RjcDYuYzogUmVtb3ZlZC4KCSogc3VucnBjL2NsbnRfdWRwNi5jOiBSZW1vdmVkLgoJKiBzdW5ycGMvc3ZjX3RjcDYuYzogUmVtb3ZlZC4KCSogc3VucnBjL3N2Y191ZHA2LmM6IFJlbW92ZWQuCgoJKiBpbnRsL2xpYmludGwuaDogRG9uJ3QgdXNlIF9fYXR0cmlidXRlX2Zvcm1hdF9hcmdfXyBmb3IgZ2V0dGV4dCwKCWRnZXR0ZXh0LCBhbmQgZGNnZXR0ZXR4dC4KCgkqIGludGwvbG9jYWxlLmFsaWFzOiBVcGRhdGUgamFwYW5lc2UgYWxpYXNlcy4KCgkqIHN5c2RlcHMvaWE2NC9iaXRzL2J5dGVzd2FwLmg6IE5ldyBmaWxlLgoJUGF0Y2ggYnkgRGFuIFBvcCA8RGFuLlBvcEBjZXJuLmNoPi4KCgkqIG1pc2Mvc3lzL2NkZWZzLmg6IERlZmluZSBfX2F0dHJpYnV0ZV9mb3JtYXRfYXJnX18uCgkqIGludGwvbGliaW50bC5oOiBVc2UgaXQgaGVyZSBpbnN0ZWFkIG9mIHVzaW5nIF9fYXR0cmlidXRlX18gZGlyZWN0bHkuCgoyMDAwLTA3LTEzICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBwb3NpeC9yZWdleC5jIChyZV9tYXhfZmFpbHVyZXMpOiBTZXQgdG8gNDAwMC4KCjIwMDAtMDgtMDEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZ251bGliL01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3QtZ2NjLgoJKiBnbnVsaWIvdHN0LWdjYy5jOiBOZXcgZmlsZS4KCgkqIGFzc2VydC9NYWtlZmlsZSAocm91dGluZXMpOiBBZGQgX19hc3NlcnQuCgkqIGFzc2VydC9WZXJzaW9uczogRXhwb3J0IF9fYXNzZXJ0IGZvciBnbGliYyAyLjIuCgkqIGFzc2VydC9fX2Fzc2VydC5jOiBOZXcgZmlsZS4KCSogYXNzZXJ0L2Fzc2VydC5oOiBEZWNsYXJlIF9fYXNzZXJ0LgoKMjAwMC0wNy0yNyAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogbG9jYWxlL2xvY2FsZWluZm8uaCAoX0lTQ1RZUEUpOiBOZXcgbWFjcm8uCgkqIHBvc2l4L2ZubWF0Y2hfbG9vcC5jIChpbnRlcm5hbF9mbm1hdGNoKTogVXNlIGl0LCBzdXBwb3J0IG5ldwoJTENfQ1RZUEUgbG9jYWxlIGZvcm1hdC4KCSogbG9jYWxlL3Byb2dyYW1zL2xkLWN0eXBlLmMgKGxvY2FsZV9jdHlwZV90KTogTmV3IGZpZWxkIGNsYXNzX2IuCgkoY3R5cGVfb3V0cHV0KTogT3V0cHV0IGNsYXNzX2JbbnJdIHJpZ2h0IGJlZm9yZSBjbGFzc18zbGV2ZWxbbnJdLgoJKGFsbG9jYXRlX2FycmF5cyk6IEZpbGwgY2xhc3NfYiwgc2ltaWxhcmx5IHRvIGNsYXNzXzNsZXZlbC4KCjIwMDAtMDgtMDEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoJICAgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIG1hdGgvdGdtYXRoLmg6IE1ha2Ugc3RhbmRhcmQgY29tcGxpYW50LiAgRG9uJ3QgYXNrIGhvdy4KCjIwMDAtMDctMDQgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIGVsZi9NYWtlZmlsZSAoJChpbnN0X3NsaWJkaXIpLyQocnRsZC12ZXJzaW9uLWluc3RhbGxlZC1uYW1lKSk6CglVc2UgJChkby1pbnN0YWxsLXByb2dyYW0pIGluc3RlYWQgb2YgIiQoSU5TVEFMTF9QUk9HUkFNKSAkPCAkQC5uZXciLgoJKCQoaW5zdF9zbGliZGlyKS8kKHJ0bGQtaW5zdGFsbGVkLW5hbWUpKTogVXNlICQobWFrZS1zaGxpYi1saW5rKSBvbmx5LgoKMjAwMC0wNy0zMCAgTWFjaWVqIFcuIFJvenlja2kgIDxtYWNyb0BkczIucGcuZ2RhLnBsPgoKCSogaW5jbHVkZS9mZWF0dXJlcy5oIChfWE9QRU5fU09VUkNFKTogVXBkYXRlIHRoZSBleHBsYW5hdGlvbi4KCShfX1VTRV9MQVJHRUZJTEUpOiBBZGQgYW4gZXhwbGFuYXRpb24uCgkoX1BPU0lYX0NfU09VUkNFKTogRGVmaW5lIHRvIDIgb25seSBpZiBfWE9QRU5fU09VUkNFIDwgNTAwLgoJKF9fVVNFX1hPUEVOMkspOiBEZWZpbmUgd2hlbmV2ZXIgX1hPUEVOX1NPVVJDRSA+PSA2MDAuCgoyMDAwLTA4LTAxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxpYmlvL01ha2VmaWxlOiBFbmFibGUgZXhjZXB0aW9uIGhhbmRsaW5nIGZvciBnZW5vcHMsIHdnZW5vcHMsCglmaWxlb3BzLCBhbmQgd2ZpbGVvcHMuCgoyMDAwLTA3LTI5ICBNYXJrIEtldHRlbmlzICA8a2V0dGVuaXNAZ251Lm9yZz4KCgkqIHN5c2RlcHMvbWFjaC9odXJkL2RsLXN5c2RlcC5jIChfZGxfc3lzZGVwX3N0YXJ0KTogVGFrZSBpbnRvCglhY291bnQgdGhhdCBlbGYvcnRsZCdzIG1haW4gcHJvZ3JhbSBtaWdodCByZW1vdmUgc29tZSB2YXJpYmFsZXMKCWZyb20gdGhlIGVudmlyb25tZW50IGlmIHdlJ3JlIHRyeWluZyB0byBiZSBzZWN1cmUuICBNb3ZlIHRoZSBIdXJkCglzdGFydHVwIGRhdGEgaWYgbmVjZXNzYXJ5LCBvciwgaWYgd2UgdGhlcmUgaXMgbm8gc3RhcnR1cCBkYXRhLAoJbWFrZSBzdXJlIHRoZSBtYWdpY2FsIGNvbnZlbnRpb24gdGhhdCBBUkdWWzBdIGlzIHN0b3JlZCBqdXN0IGFmdGVyCgl0aGUgZW52aXJvbm1lbnQgbGlzdC4KCjIwMDAtMDgtMDEgIFBoaWxpcCBCbHVuZGVsbCAgPHBoaWxiQGdudS5vcmc+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vTWFrZWZpbGUgW3N1YmRpcj1yZXNvdXJjZV0KCShzeXNkZXBfcm91dGluZXMpOiBBZGQgb2xkZ2V0cmxpbWl0LCBvbGRzZXRybGltaXQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9zeXNjYWxscy5saXN0OiBBZGQgb2xkZ2V0cmxpbWl0LAoJb2xkc2V0cmxpbWl0IGZvciBHTElCQ18yLjAuCgoyMDAwLTA4LTAxICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBuc3MvbnNzX2ZpbGVzL2ZpbGVzLWV0aGVycy5jOiBVc2UgY2FzZS1pbnNlbnNpdGl2ZSBsb29rdXAuCgkoTElORV9QQVJTRVIpOiBBbGxvdyBhbnkgbnVtYmVyIG9mIHNwYWNlcyBiZXR3ZWVuIGlwIGFkZHJlc3MgYW5kCgludW1iZXIuICBGaXhlcyBQUiBsaWJjLzE4MzMsIHJlcG9ydGVkIGJ5IHJwMDEwZ2ZAdm9ydXRhLnZ1Lmx0LgoKCSogY29uZm9ybS9kYXRhL25ldGRiLmgtZGF0YTogUmVtb3ZlIGdldGlwbm9kZWJ5YWRkciBhbmQgZnJpZW5kcy4KCgkqIGluY2x1ZGUvbmV0ZGIuaDogUmVtb3ZlIGdldGlwbm9kZWJ5YWRkciBhbmQgZnJpZW5kcywgbGVhdmUKCWNvbnN0YW50cyBpbi4KCgkqIG5pcy9WZXJzaW9uczogUmVtb3ZlIF9uc3NfbmlzX2dldGlwbm9kZWJ5bmFtZV9yIGFuZAoJX25zc19uaXNwbHVzX2dldGlwbm9kZWJ5bmFtZV9yLgoKCSogbmlzL25zc19uaXMvbmlzLWhvc3RzLmMgKF9uc3NfbmlzX2dldGlwbm9kZWJ5bmFtZV9yKTogI2lmIDAgZm9yCglub3csIGdldGlwbm9kZWJ5bmFtZSBpcyBkZXByZWNhdGVkLgoJKiBuaXMvbnNzX25pc3BsdXMvbmlzcGx1cy1ob3N0cy5jIChfbnNzX25pc3BsdXNfZ2V0aXBub2RlYnluYW1lX3IpOgoJTGlrZXdpc2UuCgoJKiBpbmV0L01ha2VmaWxlIChyb3V0aW5lcyk6IERvbid0IGJ1aWxkIGdldGlwbm9kZWJ5YWRkciBhbmQKCWZyaWVuZHMuCgoJKiBpbnRsL01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIHRzdC10cmFuc2xpdC5zaCBhbmQgdHJhbnNsaXQucG8uCgoJKiBoZXNpb2QvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgbnNzX2hlc2lvZC9uc3NfaGVzaW9kLmguCgoJKiBlbGYvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgZmlsdG1vZDEuYyBhbmQgZmlsdG1vZDIuYy4KCgkqIHdjdHlwZS9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCB3Y2hhci1sb29rdXAuaC4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9EaXN0OiBBZGQgYnAtY2hlY2tzLmggYW5kIGJwLXNlbWN0bC5oLgoKCSogaWNvbnZkYXRhL01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIGlzaXJpLTMzNDIuaC4KCjIwMDAtMDgtMDEgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBNYWtlLWRpc3QgKGRpc3QpOiBSZXNvbHZlIGAuLicgaW4gZmlsZSBuYW1lcy4KCjIwMDAtMDgtMDEgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN0ZGlvLWNvbW1vbi9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IFJlbW92ZSByZW1vdmVkIGZpbGVzLCBhZGQKCW5ldyBmaWxlcy4KCgkqIE1ha2VmaWxlIChkaXN0cmlidXRlKTogUmVtb3ZlIGluY2x1ZGUvZGJfMTg1LmggYW5kIGRiLmguCgoJKiBpbmNsdWRlL2RiXzE4NS5oOiBSZW1vdmUsIGl0J3Mgbm90IG5lZWRlZCBhbnltb3JlLgoJKiBpbmNsdWRlL2RiLmg6IExpa2V3aXNlLgoKMjAwMC0wNy0zMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpbmV0L01ha2VmaWxlICh0ZXN0cyk6IFJlbW92ZSB0c3QtaXBub2RlLgoJKiBpbmNsdWRlL25ldGRiLmg6IEFkZCBzdHVmZiByZW1vdmVkIGZyb20gcmVzb2x2L25ldGRiLmggaGVyZSBmb3IKCW5vdy4KCjIwMDAtMDctMzEgIEplcyBTb3JlbnNlbiAgPGplc0BsaW51eGNhcmUuY29tPgoKCSogc3lzZGVwcy9pYTY0L2VsZi9pbml0ZmluaS5jOiBLaWxsIGR1bW15IHNlY3Rpb24gc2luY2UgYWxpZ24gYW5kCgllbmRwIHN0YXRlbWVudHMgaGF2ZSBhbHJlYWR5IGJlZW4gYWRkZWQuCgoyMDAwLTA0LTE4ICBEYXZpZCBNb3NiZXJnZXIgIDxkYXZpZG1AaHBsLmhwLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc3lzZGVwLmg6IEluY2x1ZGUKCTxzeXNkZXBzL2lhNjQvc3lzZGVwLmg+LgoKCSogc3lzZGVwcy9pYTY0L19tY291bnQuUzogTmV3IGZpbGUuCgoJKiBzeXNkZXBzL2lhNjQvZWxmL2luaXRmaW5pLmMgKF9pbml0KTogUHJlc2VydmUgZ3AgYXJvdW5kIGNhbGwgdG8KCV9fZ21vbl9zdGFydF9fLiAgRml4IHVwIGV4dHJhbmVvdXMgd2hpdGVzcGFjZS4KCjIwMDAtMDEtMTIgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIHN5c2RlcHMvaWE2NC9lbGYvaW5pdGZpbmkuYzogTmV3IGZpbGUuCgoyMDAwLTA3LTMxICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvY2xvbmUuUzogQWRkIHN0b3AgYml0IHRvIGF2b2lkIFdBVwoJZGVwZW5kZW5jeSBiZXR3ZWVuIGJyYW5jaCBhbmQgYXIucGZzIHdyaXRlLgoKMjAwMC0wNy0zMSAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogc3lzZGVwcy9nZW5lcmljL3ByaW50Zl9mcGhleC5jIChfX3ByaW50Zl9mcGhleCk6IENvcnJlY3RseQoJaGFuZGxlIHRoZSB3Y2hhcl90IGFycmF5LgoKMjAwMC0wNy0zMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udmRhdGEvZ2IxODAzMC5jOiBEb24ndCBtYXAgdG8gYW5kIGZyb20gcG9zaXRpb25zIGluIElTTwoJMTA2NDYgd2hpY2ggYXJlIG5vdCB5ZXQgYXNzaWduZWQuCglQYXRjaCBieSB3YW5nIHNob3VodWEgPHNob3VodWF3YW5nQHJlZGZsYWctbGludXguY29tPi4KCjIwMDAtMDctMzEgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGluZXQvVmVyc2lvbnM6IFJlbW92ZSBnZXRpcG5vZGVieWFkZHIgYW5kIGZyaWVuZHMgZnJvbQoJR0xJQkNfMi4yLgoKCSogcmVzb2x2L25ldGRiLmg6IFJlbW92ZSBnZXRpcG5vZGVieWFkZHIgYW5kIGZyaWVuZHMuCgoyMDAwLTA3LTMwICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udmRhdGEvc2ppcy5jIChCT0RZIGZvciBGUk9NX0xPT1ApOiBUcmVhdCB0aGUgY2FzZQoJY2ggPj0gMHg4MSAmJiBjaDIgPCAweDQwIGFzIGludmFsaWQuCgoyMDAwLTA3LTMwICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udmRhdGEvdWhjLmMgKEJPRFkgZm9yIEZST01fTE9PUCk6IFJlamVjdCBjaDIgPT0gMHhmZiBhcyBpbnZhbGlkLgoJKEJPRFkgZm9yIFRPX0xPT1ApOiBBY2NlcHQgMHg3Zi4gSW5jcmVtZW50IG91dHB0ciBhcyBuZWVkZWQuCgoyMDAwLTA3LTMwICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udmRhdGEvam9oYWIuYyAoQk9EWSBmb3IgVE9fTE9PUCk6IEFmdGVyIGNhbGxpbmcKCXVjczRfdG9fa3NjNTYwMV9zeW0sIGZpeCB0aGUgY29udmVyc2lvbiB0byBKT0hBQi4KCjIwMDAtMDctMzAgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGljb252ZGF0YS90LjYxLmMgKHRvX3VjczQpOiBDaGFuZ2UgdmFsdWVzIG9mIDB4YTQsIDBhNiwgMHhhOCwgMHhiNCwKCTB4YjguCgkoZnJvbV91Y3M0KTogQ2hhbmdlIHZhbHVlcyBvZiBVKzAwQTQsIFUrMDBCQiwgVSswMEVELgoKMjAwMC0wNy0zMCAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaWNvbnZkYXRhL21hY2ludG9zaC5jIChIQVNfSE9MRVMpOiBTZXQgdG8gMS4KCjIwMDAtMDctMzAgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGljb252ZGF0YS9pc29fNjkzNy5jICh0b191Y3M0KTogQ2hhbmdlIHZhbHVlcyBvZiAweDI0IGFuZCAweGI0LgoJKGZyb21fdWNzNCk6IENoYW5nZSB2YWx1ZXMgb2YgVSswMEE0IGFuZCBVKzAwRUQuCgkoQk9EWSBvZiBUT19MT09QKTogUmVtb3ZlIG1hcHBpbmcgZnJvbSBVKzAyREMgdG8gMHgwMDIwLgoKMjAwMC0wNy0zMCAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaWNvbnZkYXRhL2Fuc2lfeDMuMTEwLmMgKGZyb21fdWNzNCk6IENoYW5nZSBlbnRyeSBmb3IgMHhlZC4KCShCT0RZIGZvciBUT19MT09QKTogTWFwIFUrMjEyMiwgVSsyMTI2LCBub3QgVSsyMDIyLCBVKzIwMjYuCgoyMDAwLTA3LTMwICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udmRhdGEvTWFrZWZpbGUgKGdlbi04Yml0LWdhcC1tb2R1bGVzKTogUmVtb3ZlIGlzaXJpLTMzNDIuCgkqIGljb252ZGF0YS9pc2lyaS0zMzQyLmg6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvaXNpcmktMzM0Mi5jIChIQVNfSE9MRVMpOiBBdm9pZCBnYXBzID49IDB4ZTAsIGJ1dCBkb24ndAoJdHJlYXQgMHg4MCBhcyBhIGdhcC4KCjIwMDAtMDctMzAgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIHN0cmluZy9zdHJ4ZnJtLmMgKGVuY29kaW5nX21hc2ssIGVuY29kaW5nX2J5dGUpOiBSZW1vdmUuCgkodXRmOF9lbmNvZGUpOiBVc2Ugc2ltcGxlIHNoaWZ0cyBpbnN0ZWFkLiAgRml4IHJldHVybiB2YWx1ZS4KCjIwMDAtMDctMzEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogdGltZXpvbmUvcHJpdmF0ZS5oOiBVcGRhdGUgZnJvbSB0emNvZGUyMDAwZS4KCSogdGltZXpvbmUvYXNpYTogVXBkYXRlIGZyb20gdHpkYXRhMjAwMGUuCgkqIHRpbWV6b25lL2F1c3RyYWxhc2lhOiBMaWtld2lzZS4KCSogdGltZXpvbmUvZXVyb3BlOiBMaWtld2lzZS4KCSogdGltZXpvbmUvbm9ydGhhbWVyaWNhOiBMaWtld2lzZS4KCSogdGltZXpvbmUvem9uZS10YWI6IExpa2V3aXNlLgoKMjAwMC0wNy0zMCAgUmFsZiBCYWVjaGxlICA8cmFsZkBnbnUub3JnPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9iaXRzL3NpZ3N0YWNrLmg6ICBOZXcgZmlsZS4gIE9uIE1JUFMKCXRoZSBvcmRlciBvZiBzdHJ1Y3Qgc2lnYWx0c3RhY2sgbWVtYmVycyBpcyBkaWZmZXJlbnQuCgoyMDAwLTA3LTI2ICBQaGlsaXAgQmx1bmRlbGwgIDxwaGlsYkBnbnUub3JnPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2JpdHMvZmNudGwuaDogTmV3IGZpbGUuCgoyMDAwLTA3LTI5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9sYW5naW5mby5oOiBBZGQgZW50cmllcyBmb3IgZXh0cmEgdGFibGVzIGluIENUWVBFIGRhdGEuCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jdHlwZS5jOiBBZGp1c3QgZm9yIHRoaXMuCgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY29sbGF0ZS5jOiBBZGQgbW9yZSBhbGlnbm1lbnQgY2hlY2tzLgoJKiBsb2NhbGUvc3RyaW5nL3N0cmNvbGwuYzogTGlrZXdpc2UuCgoyMDAwLTA3LTMwICBNYXJrIEtldHRlbmlzICA8a2V0dGVuaXNAZ251Lm9yZz4KCgkqIHN0ZGlvLWNvbW1vbi92ZnByaW50Zi5jOiBNb3ZlIGluY2x1c2lvbiBvZiBfaTE4bl9udW1iZXIuaAoJb3V0c2lkZSBVU0VfSU5fTElCSU8gYmxvY2suCgoyMDAwLTA3LTI2ICBQaGlsaXAgQmx1bmRlbGwgIDxwaGlsYkBnbnUub3JnPgoKCSogc3lzZGVwcy9hcm0vZGwtbWFjaGluZS5oIChmaXhfYmFkX3BjMjQpOiBOZXcgZnVuY3Rpb24uCgkoZWxmX21hY2hpbmVfcmVsKTogVXNlIGl0IGZvciBvdXQtb2YtcmFuZ2UgUEMyNCByZWxvY3MuCgoyMDAwLTA3LTI4ICBQaGlsaXAgQmx1bmRlbGwgIDxwaGlsYkBnbnUub3JnPgoKCSogbWF0aC90ZXN0LWZwdWN3LmM6IElnbm9yZSByZXNlcnZlZCBiaXRzIGluIGNvbnRyb2wgd29yZC4KCjIwMDAtMDctMjggIFBoaWxpcCBCbHVuZGVsbCAgPHBoaWxiQGdudS5vcmc+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vc3lzZGVwLmggKFBTRVVET19SRVQpOiBOZXcgbWFjcm8uCgkocmV0KTogUmVkZWZpbmUgdG8gUFNFVURPX1JFVC4KCShQU0VVRE8pOiBSZW1vdmUganVtcCB0byBzeXNjYWxsX2Vycm9yLgoKMjAwMC0wNy0yOSAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiByZXNvbHYvUkVBRE1FOiBBZGQgc29tZSBpbmZvcm1hdGlvbiBhYm91dCB1c2luZyB0aGUgcmVzb2x2ZXIgaW4KCW11bHRpLXRocmVhZGVkIGNvZGUgYW5kIHdpdGggQysrLiAgU3BlbGxpbmcgZml4ZXMuCgoyMDAwLTA3LTI5ICBNYXJrIEtldHRlbmlzICA8a2V0dGVuaXNAZ251Lm9yZz4KCgkqIHJlc29sdi9yZXNvbHYuaCAoc3RydWN0IF9fc29ja2FkZHJfaW4pOiBSZW1vdmUuCgkoc3RydWN0IF9fcmVzX3N0YXRlKSBbIV9MSUJDXTogUmVtb3ZlIHJlZmVyZW5jZSB0byBfX3NvY2thZGRyX2luLgoKMjAwMC0wNy0yOSAgR3JlZyBNY0dhcnkgIDxncmVnQG1jZ2FyeS5vcmc+CgoJKiBSdWxlcyAodGVzdC1icC1pbnB1dHMsIG1ha2UtdGVzdC1vdXQpOiBOZXcgdmFyaWFibGVzLgoJKCQob2JqcGZ4KSUtYnAub3V0KTogTmV3IHJ1bGUuCgkoJChvYmpwZngpJS5vdXQpOiBSZXdyaXRlIGluIHRlcm1zIG9mIG5ldyB2YXJpYWJsZXMuCgoJKiBsaWJpby9pb3Zzd3NjYW5mLmMgKHZzd3NjYW5mKTogUGFzcyBfSU9fRklMRV9wbHVzIHBvaW50ZXIgdG8KCWludGVybmFsIGZ1bmN0aW9uIHRoYXQgdXNlcyB2dGFibGUuCgkqIGxpYmlvL3ZzbnByaW50Zi5jIChfSU9fdnNucHJpbnRmKTogTGlrZXdpc2UuCgkqIGxpYmlvL3Zzd3ByaW50Zi5jIChfSU9fdnN3cHJpbnRmKTogTGlrZXdpc2UuCgoJKiBtYWxsb2MvbWFsbG9jLmMgKG1lbTJjaHVuayk6IERlZmluZSBpbiB0ZXJtcyBvZiBjaHVua19hdF9vZmZzZXQuCgkobWFsbG9jX2V4dGVuZF90b3ApOiBDb252ZXJ0IGJyayB0byBjaHVuayB1c2luZyBjaHVua19hdF9vZmZzZXQuCgkoY2h1bmtfYWxpZ24pOiBMaWtld2lzZS4KCgkqIHRpbWUvYXNjdGltZS5jIChhYl9kYXlfbmFtZSwgYWJfbW9udGhfbmFtZSk6IFJld3JpdGUgZXhwcmVzc2lvbgoJaW4gYSB3YXkgdGhhdCBjb25mb3JtcyB0byBkZWNsLCBhbmQgYXZvaWRzIHNwdXJpb3VzIGJvdW5kcyB2aW9sYXRpb24uCgoJKiBzeXNkZXBzL2FybS9mcmFtZS5oIChzdHJ1Y3QgbGF5b3V0KTogTWFrZSBwb2ludGVycyBfX3VuYm91bmRlZC4KCSogc3lzZGVwcy9nZW5lcmljL2ZyYW1lLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvYmFja3RyYWNlLmMgKEFEVkFOQ0VfU1RBQ0tfRlJBTUUpOiBXcmFwIGJvdW5kcwoJYXJvdW5kIHJldHVybiB2YWx1ZS4KCShfX2JhY2t0cmFjZSk6IFF1YWxpZnkgZnJhbWUtcG9pbnRlciBjaGFpbiBhbmQgcmV0dXJuIGFkZHJlc3MKCXBvaW50ZXJzIGFzIF9fdW5ib3VuZGVkLiAgV3JhcCBib3VuZHMgYXJvdW5kIHZhcmlhYmxlIGBjdXJyZW50Jy4KCSogc3lzZGVwcy9nZW5lcmljL3NlZ2ZhdWx0LmMgKEFEVkFOQ0VfU1RBQ0tfRlJBTUUpOiBXcmFwIGJvdW5kcwoJYXJvdW5kIHJldHVybiB2YWx1ZS4KCShjYXRjaF9zZWdmYXVsdCk6IFF1YWxpZnkgZnJhbWUtcG9pbnRlciBjaGFpbiBhbmQgcmV0dXJuIGFkZHJlc3MKCXBvaW50ZXJzIGFzIF9fdW5ib3VuZGVkLiAgV3JhcCBib3VuZHMgYXJvdW5kIHZhcmlhYmxlIGBjdXJyZW50Jy4KCSogc3lzZGVwcy9pMzg2L2JhY2t0cmFjZS5jIChzdHJ1Y3QgbGF5b3V0KTogTWFrZSBwb2ludGVycyBfX3VuYm91bmRlZC4KCShBRFZBTkNFX1NUQUNLX0ZSQU1FKTogV3JhcCBib3VuZHMgYXJvdW5kIHJldHVybiB2YWx1ZS4KCSogc3lzZGVwcy9wb3dlcnBjL2JhY2t0cmFjZS5jIChzdHJ1Y3QgbGF5b3V0KTogTWFrZSBwb2ludGVycwoJX191bmJvdW5kZWQuCgkoX19iYWNrdHJhY2UpOiBRdWFsaWZ5IGZyYW1lLXBvaW50ZXIgY2hhaW4gYW5kIHJldHVybiBhZGRyZXNzCglwb2ludGVycyBhcyBfX3VuYm91bmRlZC4gIFdyYXAgYm91bmRzIGFyb3VuZCB2YXJpYWJsZSBgY3VycmVudCcuCgoJKiBzeXNkZXBzL2kzODYvYWRkbXVsXzEuUzogczJfbGltYiBpcyBzY2FsYXIgc28gcmVtb3ZlIGJvdW5kcyBjaGVjay4KCSogc3lzZGVwcy9pMzg2L211bF8xLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvc3VibXVsXzEuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNTg2L2FkZG11bF8xLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTU4Ni9tdWxfMS5TOiBBZGQgYm91bmRzIGNoZWNrcy4KCSogc3lzZGVwcy9pMzg2L2k1ODYvc3VibXVsXzEuUzogTGlrZXdpc2UuCgoyMDAwLTA3LTI3ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBsaWJpby9EZXBlbmQ6IE5ldyBmaWxlLCBsaWJpbyBuZWVkcyBsb2NhbGVkYXRhIGZvciB0ZXN0cy4KCSogcG9zaXgvRGVwZW5kOiBMaWtld2lzZS4KCjIwMDAtMDctMjggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3RkaW8tY29tbW9uL19pMThuX2l0b2EuYzogUmVtb3ZlZC4KCSogc3RkaW8tY29tbW9uL19pMThuX2l0b2EuaDogUmVtb3ZlZC4KCSogc3RkaW8tY29tbW9uL19pMThuX2l0b3dhLmM6IFJlbW92ZWQuCgkqIHN0ZGlvLWNvbW1vbi9faTE4bl9pdG93YS5oOiBSZW1vdmVkLgoJKiBzdGRpby1jb21tb24vX2kxOG5fbnVtYmVyLmg6IE5ldyBmaWxlLgoJKiBzdGRpby1jb21tb24vRGVwZW5kOiBOZXcgZmlsZS4KCSogc3RkaW8tY29tbW9uL3ByaW50Zi1wYXJzZS5oOiBIYW5kbGUgSSBtb2RpZmllciBjb3JyZWN0bHkuICBPcHRpbWl6ZS4KCSogc3RkaW8tY29tbW9uL3ZmcHJpbnRmLmM6IFJld3JpdGUgYnVmZmVyIGhhbmRsaW5nIGZvciBpbnRlZ2VyCglwcmludGluZy4gIENoYW5nZSBwcmludGluZyBvZiBudW1iZXJzIHdpdGggbG9jYWxlIHNwZWNpZmljIGRpZ2l0cyB0bwoJdXNlIG5ldyBjb2RlIGluIF9pMThuX251bWJlci5oLgoJKiBzdGRpby1jb21tb24vTWFrZWZpbGUgKHJvdXRpbmVzKTogUmVtb3ZlIF9pMThuX2l0b2EgYW5kCglfaTE4bl9pdG93YS4KCgkqIHN0ZGlvLWNvbW1vbi9idWcxMy5jOiBJbXByb3ZlIG1lc3NhZ2VzLgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLWN0eXBlLmMgKGN0eXBlX3JlYWQpOiBJbXByb3ZlIGVycm9yIG1lc3NhZ2UuCgkoc2V0X2NsYXNzX2RlZmF1bHRzKTogQWx3YXlzIHNlYXJjaCBhbHNvIGZvciBVeHh4eCBuYW1lcy4KCURldGVjdCBpbnN1ZmZpY2llbnQgbnVtYmVyIG9mIG91dGRpZ2l0cy4KCgkqIGxvY2FsZS9NYWtlZmlsZSAoQy10cmFuc2xpdC5oKTogVXNlIG12IG5vdCAkKG1vdmUtaWYtY2hhbmdlZCkuCgoyMDAwLTA3LTI3ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBsb2NhbGUvQy1jdHlwZS5jIChfbmxfQ19MQ19DVFlQRSk6IFN3YXAgdGhlIHR3byBuYW1lcyBpbgoJX05MX0NUWVBFX01BUF9OQU1FUy4KCSogbG9jYWxlL2xvY2FsZWluZm8uaCAoX19UT1dfdG91cHBlciwgX19UT1dfdG9sb3dlcik6IE5ldyBlbnVtIHZhbHVlcy4KCSogd2N0eXBlL3djZnVuY3MuYyAodG93bG93ZXIsIHRvd3VwcGVyKTogVXNlIHRoZW0uCgkqIHdjdHlwZS93Y2Z1bmNzX2wuYyAoX190b3dsb3dlcl9sLCBfX3Rvd3VwcGVyX2wpOiBMaWtld2lzZS4KCSogd2N0eXBlL3djdHJhbnMuYyAod2N0cmFucyk6IExpa2V3aXNlLgoJKiB3Y3R5cGUvd2N0cmFuc19sLmMgKF9fd2N0cmFuc19sKTogTGlrZXdpc2UuCgoyMDAwLTA3LTI3ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBwb3NpeC9mbm1hdGNoLmMgKGlzX2NoYXJfY2xhc3MpOiBGaXggbG9naWMuICBBdm9pZCBidWZmZXIgb3ZlcnJ1bi4KCVVzZSB0aGUgb3B0aW1pemVkIHZlcnNpb24gb2YgdGhpcyBmdW5jdGlvbiBvdXRzaWRlIGdsaWJjIGFzIHdlbGwuCgoyMDAwLTA3LTI3ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9pbmRpZ2l0cy5oIChpbmRpZ2l0X3ZhbHVlKTogQ29ycmVjdC4KCSogbG9jYWxlL2luZGlnaXRzd2MuaCAoaW5kaWdpdHdjX3ZhbHVlKTogQ29ycmVjdC4KCSogc3RkaW8tY29tbW9uL3Zmc2NhbmYuYyAoX192ZnNjYW5mKTogRml4IEkxOE4gbnVtYmVyCgljb252ZXJzaW9uLCBhZGQgR1JPVVAgY2hlY2tpbmcgZm9yIGl0LCBmaXggR1JPVVAgbnVtYmVyCgljb252ZXJzaW9uIHdpdGggc3RybGVuKHRob3VzYW5kcykgPiAxLgoJSG9ub3VyIHdpZHRoIGNvcnJlY3RseSBpbiB0aGUgcHJlc2VuY2Ugb2YgZmxvYXRpbmcKCWRlY2ltYWwgcG9pbnRzIGFuZCB0aG91c2FuZHMgc2VwYXJhdG9ycy4KCSogc3RkaW8tY29tbW9uL3RzdC1zc2NhbmYuYzogTmV3IHRlc3QuCgkqIHN0ZGlvLWNvbW1vbi9NYWtlZmlsZTogQWRkIGl0IHRvIHRlc3RzLgoJKiBzeXNkZXBzL2dlbmVyaWMvc3RydG9sLmMgKHN0cnRvbCk6IEZpeCBjb252ZXJzaW9uIGlmIHRoZXJlIGFyZQoJdGhvdXNhbmRzIHNlcGFyYXRvcnMgYW5kIGdyb3VwIGFyZ3VtZW50IGlzIG5vbi16ZXJvLgoKMjAwMC0wNy0yNSAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogbG9jYWxlL1ZlcnNpb25zOiBFbnVtZXJhdGUgX18qX2wgZnVuY3Rpb25zIGluZGl2aWR1YWxseS4gX193Y3RyYW5zX2wKCXN0YXJ0cyBhdCBHTElCQ18yLjIuCgoyMDAwLTA3LTEyICBNYWNpZWogVy4gUm96eWNraSAgPG1hY3JvQGRzMi5wZy5nZGEucGw+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL0Rpc3Q6IEFkZCBzeXMvdGFzLmguCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvTWFrZWZpbGUgKHN5c2RlcF9yb3V0aW5lcyk6IEFkZAoJX3Rlc3RfYW5kX3NldC4KCShoZWFkZXJzKTogQWRkIHN5cy90YXMuaC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9WZXJzaW9uczogRXhwb3J0IF90ZXN0X2FuZF9zZXQgZm9yCglHTElCQ18yLjIgZnJvbSBsaWJjLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL190ZXN0X2FuZF9zZXQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvc3lzL3Rhcy5oOiBOZXcgZmlsZSBmb3IKCV90ZXN0X2FuZF9zZXQuCgoyMDAwLTA3LTI4ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL2dudS9uZXRpbmV0L3RjcC5oOiBBZGQgVENQIG9wdGlvbnMgZnJvbSBMaW51eCAyLjQuCgoJKiBkbGZjbi9NYWtlZmlsZSAoJChvYmpwZngpdHN0LWRsYWRkcik6IE5ldy4KCSgkKG9ianBmeCl0c3QtZGxhZGRyLm91dCk6IG5ldy4KCSh0ZXN0cyk6IEFkZCB0c3QtZGxhZGRyLgoJKCQob2JqcGZ4KWdscmVmbWFpbik6IFVzZSBsaWJkbC4KCgkqIGRsZmNuL3RzdC1kbGFkZHIuYzogTmV3IGZpbGUuICBCYXNlZCBvbiBhIHRlc3QgYnkgVm9sa21hciBTaWVoCgk8dnNAY2FsZGVyYS5kZT4uCgoyMDAwLTA3LTI3ICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc3lzY2FsbHMubGlzdDogQWRkIHRydW5jYXRlKDY0KSBhbmQKCWZ0cnVuY2F0ZSg2NCkgY2FsbHMuCgoyMDAwLTA3LTI3ICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIGludGwvdHN0LXRyYW5zbGl0LmM6IEluY2x1ZGUgc3RyaW5nLmggdG8gZ2V0IHByb3RvdHlwZSBmb3IKCXN0cmNtcCgpLgoKMjAwMC0wNy0yNyAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2ZvcmsuYzogTWFrZSBfX2xpYmNfZm9yayB0aGUgc3Ryb25nCgluYW1lIGFuZCBhZGQgd2VhayBhbGlhcyBmb3IgX19mb3JrLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zeXNjYWxscy5saXN0OiBDaGFuZ2UgbGxzZWVrLCBwcmVhZAoJJiBwd3JpdGUgdG8gdXNlIF9fbGliY188bmFtZT4gYXMgc3Ryb25nIG5hbWVzIGluc3RlYWQgb2YKCV9fc3lzY2FsbF88bmFtZT4uCgoJKiBpbmNsdWRlL3NjaGVkLmg6IEFkZCBjbG9uZTIgcHJvdG90eXBlLgoKMjAwMC0wNy0yNiAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3N5c2RlcC5oIChFTlRSWSk6IERvbid0IGRlY2xhcmUgdGhlCglwcm9jZWR1cmUgbmFtZSB0d2ljZS4KCjIwMDAtMDctMjcgIFBoaWxpcCBCbHVuZGVsbCAgPHBoaWxiQGdudS5vcmc+CgoJKiBtYWxsb2MvbWFsbG9jLmMgKEhBVkVfTVJFTUFQKTogVW5kbyBjaGFuZ2Ugb2YgMTk5Ny0xMi0wNC4KCjIwMDAtMDctMjcgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvc29ja2V0Lmg6IFJlbmFtZSBNU0dfVVJHIFRPCglNU0dfQ09ORklSTSBmb2xsb3dpbmcga2VybmVsIDIuNC4wIChNU0dfVVJHIHdhcyBuZXZlciB1c2VkKS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9iaXRzL3NvY2tldC5oOiBMaWtld2lzZS4KCVJlcG9ydGVkIGJ5IEFuZGkgS2xlZW4gPGFrQHN1c2UuZGU+LgoKCSogcnQvdHN0LWFpbzY0LmM6IEFkZCB0ZXN0cyBmb3IgYWlvX2ZzeW5jNjQgYW5kIGFpb19jYW5jZWw2NC4KCShkb193YWl0KTogVGVzdCByZXF1ZXN0cyB3aXRoIGFpb19yZXR1cm42NC4KCShkb190ZXN0KTogQ2hhbmdlIGNhbGxlcnMgb2YgZG9fd2FpdC4KCjIwMDAtMDctMjYgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHJ0L3RzdC1haW8uYzogQWRkIHRlc3RzIGZvciBhaW9fZnN5bmMgYW5kIGFpb19jYW5jZWwuCgkoZG9fd2FpdCk6IFRlc3QgcmVxdWVzdHMgd2l0aCBhaW9fcmV0dXJuLgoJKGRvX3Rlc3QpOiBDaGFuZ2UgY2FsbGVycyBvZiBkb193YWl0LgoKMjAwMC0wNy0yNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBydC9haW9fbWlzYy5jIChfX2Fpb19yZW1vdmVfcmVxdWVzdCk6IE5ldyBmdW5jdGlvbi4gIEhhbmRsZSByZW1vdmluZwoJZnJvbSByZXF1ZXN0IGxpc3QuICBEb24ndCBkbyB0aGUgbGlzdCBoYW5kbGluZyBoZXJlLCBjYWxsCglfX2Fpb19yZW1vdmVfcmVxdWVzdC4KCSogcnQvYWlvX21pc2MuaDogQWRkIHByb3RvdHlwZSBmb3IgX19haW9fcmVtb3ZlX3JlcXVlc3QuCgkqIHJ0L2Fpb19jYW5jZWwuYzogRG9uJ3QgYXNzdW1lIF9fYWlvX2ZpbmRfcmVxX2ZkIHN1Y2NlZWRzIHNpbmNlIHRoZQoJcmVxdWVzdCBtaWdodCBhbHJlYWR5IGJlIHByb2Nlc3NlZC4gIERvbid0IGRvIHRoZSBsaXN0IGhhbmRsaW5nCgloZXJlLCBjYWxsIF9fYWlvX3JlbW92ZV9yZXF1ZXN0LgoKCSogcnQvYWlvX21pc2MuYzogRG9uJ3QgZGVwZW5kIG9uIGFpb19yZXFwcmlvIGZpZWxkIGZvciBMSU9fU1lOQyBhbmQKCUxJT19EU1lOQy4KCgkqIHJ0L2Fpb19taXNjLmM6IEFkZCBjb21tZW50IGV4cGxhaW5pbmcgd2h5IHdyaXRlciBtZW1vcnkgYmFycmllcnMKCWFyZSBtaXNzaW5nLgoKMjAwMC0wNy0yNyAgR3JlZyBNY0dhcnkgIDxncmVnQG1jZ2FyeS5vcmc+CgoJKiBzeXNkZXBzL2dlbmVyaWMvYnAtY2hlY2tzLmggKEJPVU5ERURfTik6IE1ha2UgaXQgd29yayBmb3Igdm9pZCouCgkqIHN5c2RlcHMvZ2VuZXJpYy9icC1zZW1jdGwuaCAoY2hlY2tfc2VtY3RsKTogRml4IHN5bnRheCBlcnJvcgoJaW4gdW5pb24gaW5pdC4gIFBhc3MgemVybyBmb3IgaWdub3JlZCBzZW1udW0gYXJnIHRvIHNlbWN0bC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2htYXQuYyAoc2htYXQpOiBGaXggdHlwby4KCjIwMDAtMDctMjYgIEdyZWcgTWNHYXJ5ICA8Z3JlZ0BtY2dhcnkub3JnPgoKCSogc3lzZGVwcy9nbnUvYml0cy9tc3EuaDogUXVhbGlmeSBrZXJuZWwncwoJZGF0YSBzdHJ1Y3R1cmUgcG9pbnRlcnMgYXMgX191bmJvdW5kZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvYml0cy9zaG0uaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9icC1zZW1jdGwuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21zZ2N0bC5jOiBRdWFsaWZ5IGtlcm5lbCdzIGRhdGEgc3RydWN0dXJlCglwb2ludGVycyBhcyBfX3VuYm91bmRlZC4gIENoZWNrIGJvdW5kcyBvZiBzeXNjYWxsIGFyZ3MuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21zZ3Jjdi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbXNnc25kLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zZW1jdGwuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NlbW9wLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaG1hdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2htY3RsLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaG1kdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvbXNnY3RsLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9zZW1jdGwuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3NobWN0bC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9tc2djdGwuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc2VtY3RsLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3NobWN0bC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9tc2djdGwuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvc2VtY3RsLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L3NobWN0bC5jOiBMaWtld2lzZS4KCjIwMDAtMDctMjYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbGliaW8vaW9md2lkZS5jOiBFbmFibGUgdHJhbnNsaXRlcmF0aW9uIGZvciBjb252ZXJzaW9uIGZyb20gd2NoYXJfdAoJYnkgZGVmYXVsdC4KCSogbG9jYWxlL0MtY3R5cGUuYzogTGlrZXdpc2UuCgkqIHdjc21icy93Y3NtYnNsb2FkLmM6IExpa2V3aXNlLgoKMjAwMC0wNy0yNiAgR3JlZyBNY0dhcnkgIDxncmVnQG1jZ2FyeS5vcmc+CgoJKiBNYWtlY29uZmlnICgrbGluay1ib3VuZGVkLCBsaW5rLWxpYmMtYm91bmRlZCwKCWxpbmstZXh0cmEtbGlicy1ib3VuZGVkKTogTmV3IHZhcmlhYmxlcy4KCShidWlsdC1wcm9ncmFtLWNtZCk6IE9taXQgJChydW4tcHJvZ3JhbS1wcmVmaXgpIGZvciBzdGF0aWMgQlAgdGVzdHMuCgkqIE1ha2VydWxlcyAoZG8tdGVzdHMtY2xlYW4sIGNvbW1vbi1tb3N0bHljbGVhbik6IFJlbW92ZSBCUCB0ZXN0IGZpbGVzLgoJKiBSdWxlcyAodGVzdHMtYnAub3V0KTogTmV3IHZhcmlhYmxlLgoJKHRlc3RzKTogQ29uZGl0aW9uYWxseSBhZGQgQlAgdGVzdHMuCgkoYmluYXJpZXMtYm91bmRlZCk6IEFkZCB2YXJpYWJsZSBhbmQgYXNzb2NpYXRlZCBydWxlLgoJKiBjc3UvTWFrZWZpbGUgW2J1aWxkLWJvdW5kZWRdIChleHRyYS1vYmpzLCBpbnN0YWxsLWxpYik6CglNb3ZlIGNvbmRpdGlvbmFsIHN0dWZmIGFmdGVyIHBsYWNlIHdoZXJlIGNvbmRpdGlvbiBpcyBkZWZpbmVkLgoKCSogbWFsbG9jL21hbGxvYy5jIChicC1jaGVja3MuaCk6IEFkZCAjaW5jbHVkZS4KCShtZW0yY2h1bmssIGNodW5rX2F0X29mZnNldCwgYmluX2F0KTogV3JhcCBCT1VOREVEXzEgYXJvdW5kIGV4cHJlc3Npb24uCgkoX2Jpbl9hdCk6IEFkZCB1bmJvdW5kZWQgdmVyc2lvbiBvZiBiaW5fYXQuCgkoSUFWLCBjaHVua19hbGxvYyk6IFVzZSB1bmJvdW5kZWQgX2Jpbl9hdC4KCShtQUxMT2MsIHJFQUxMT2MsIGNodW5rX3JlYWxsb2MsIG1FTUFMSUduLCBjQUxMT2MsCgljaHVuazJtZW1fY2hlY2ssIHJlYWxsb2NfY2hlY2ssIG1hbGxvY19zdGFydGVyLCBtYWxsb2NfYXRmb3JrKToKCVdyYXAgQk9VTkRFRF9OIGFyb3VuZCByZXR1cm4gdmFsdWUuCgkoY2h1bmtfcmVhbGxvYyk6IEFkanVzdCBvbGRzaXplIG9uY2UuCgoJKiBzeXNkZXBzL2dlbmVyaWMvYnAtY2hlY2tzLmggKF9fbWVtY2hyKTogUmVtb3ZlIGluY29ycmVjdCBkZWNsLgoJKF9fdWJwX21lbWNocik6IEFkZCBjb3JyZWN0IGRlY2wuCgkoX0NIRUNLX1NUUklORyk6IFVzZSBfX3VicF9tZW1jaHIuCgkqIHN5c2RlcHMvYWxwaGEvbWVtY2hyLlMgWyFfX0JPVU5ERURfUE9JTlRFUlNfX10gKF9fdWJwX21lbWNocik6CglOZXcgYWxpYXMgZm9yIHVuYm91bmRlZC1wb2ludGVyIF9fbWVtY2hyLgoJKiBzeXNkZXBzL2kzODYvbWVtY2hyLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2lhNjQvbWVtY2hyLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL202OGsvbWVtY2hyLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvbWVtY2hyLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvbWVtY2hyLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3ZheC9tZW1jaHIuczogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL2kzODYvc3RydG9rLlM6IEZpeCBib3VuZHMgY2hlY2tzIHRvIHBhc3MgdGVzdHMuCgkoU0FWRV9QVFIpOiBOZXcgbWFjcm8uICAoc2F2ZV9wdHIpOiBFeHBhbmQgc2l6ZSBhcyBCUC4KCShzdHJ0b2spOiBEb24ndCBib3RoZXIgdG8gd3JpdGUgaW50byBTQVZFX1BUUiB3aGVuIHJldHVybmluZyBOVUxMLgoJKiBzeXNkZXBzL2kzODYvaTY4Ni9zdHJ0b2suUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9icC1hc20uaCAoUkVUVVJOX0JPVU5ERURfUE9JTlRFUiwKCVJFVFVSTl9OVUxMX0JPVU5ERURfUE9JTlRFUik6IFVzZSAlZWN4IGFzIHRoZSBzY3JhdGNoIHJlZ2lzdGVyLgoKCSogc3lzZGVwcy9pMzg2L2JpdHMvc3RyaW5nLmggWyFfX0JPVU5ERURfUE9JTlRFUlNfX106IERpc2FibGUgaW5saW5lcy4KCSogc3lzZGVwcy9pMzg2L2k0ODYvYml0cy9zdHJpbmcuaCBbIV9fQk9VTkRFRF9QT0lOVEVSU19fXTogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9nZXRzeXNzdGF0cy5jIChnZXRfcHJvY19wYXRoKTogQ29weQoJYm91bmRzIG9mIGNvcHlfcmVzdWx0IHRvIG1vdW50X3Byb2MuCgoyMDAwLTA3LTI1ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiB3Y3R5cGUvd2N0eXBlLmggKF9fd2N0cmFuc19sKTogTmV3IGRlY2xhcmF0aW9uLgoJKiB3Y3R5cGUvd2N0cmFuc19sLmM6IE5ldyBmaWxlLgoJKiB3Y3R5cGUvTWFrZWZpbGUgKHJvdXRpbmVzKTogQWRkIHdjdHJhbnNfbC4KCjIwMDAtMDctMjYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvZm5tYXRjaF9sb29wLmM6IEZpeGVzIGZvciB1c2Ugb3V0c2lkZSBnbGliYy4KCVBhdGNoIGJ5IE1hY0d5dmVyIDxtYWNneXZlckB0b3MubmV0Pi4KCjIwMDAtMDctMjYgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHJ0L3RzdC1haW80LmM6IE5ldyBmaWxlLCBzbGlnaHRseSBtb2RpZmllZCB2ZXJzaW9uIG9mIHRzdC1haW8yLgoJKiBydC90c3QtYWlvNS5jOiBOZXcgZmlsZSwgc2xpZ2h0bHkgbW9kaWZpZWQgdmVyc2lvbiBvZiB0c3QtYWlvMi4KCSogcnQvTWFrZWZpbGU6IEFkZCBydWxlcyB0byBidWlsZCBhbmQgcnVuIHRzdC1haW80IGFuZCB0c3QtYWlvNS4KCgkqIHJ0L3RzdC1haW8uYyAodGVzdF9maWxlKTogRml4IHR5cG8uCgkqIHJ0L3RzdC1haW82NC5jICh0ZXN0X2ZpbGUpOiBMaWtld2lzZS4KCgkqIHJ0L3RzdC1haW8zLmM6IE5ldyBmaWxlLCBzbGlnaHRseSBtb2RpZmllZCB2ZXJzaW9uIG9mIHRzdC1haW8yLgoJKiBydC9NYWtlZmlsZTogQWRkIHJ1bGVzIHRvIGJ1aWxkIGFuZCBydW4gdHN0LWFpbzMuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9uZXRpbmV0L2lwLmg6IFJlbW92ZWQgaXBfb3B0aW9ucyBzaW5jZQoJaXQncyBub3QgbmVlZGVkIGFuZCBjb25mdXNlcyBvbmx5LgoKMjAwMC0wNy0yNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiByZXNvbHYvcmVzX2luaXQuYzogQWRkIHN1cHBvcnQgZm9yIG5hbWVzZXJ2ZXIgY29tbXVuaWNhdGlvbiB3aXRoCglJUHY2LgoJKiByZXNvbHYvcmVzX3NlbmQuYzogTGlrZXdpc2UuCgkqIHJlc29sdi9yZXNvbHYuaCAoc3RydWN0IF9fcmVzX3N0YXRlKTogU3RvcmUgSVB2NiBhZGRyZXNzLCBub3QgSVB2NAoJaW4gbnNhZGRycyBmaWVsZC4KCVBhdGNoIGJ5IDx2ZW5hYXNAbnZnLm50bnUubm8+LgoKMjAwMC0wNy0yNSAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLWN0eXBlLmMgKHdjdHlwZV90YWJsZV9nZXQpOiBOZXcgZnVuY3Rpb24uCgkod2N3aWR0aF90YWJsZV9nZXQpOiBOZXcgZnVuY3Rpb24uCgkod2N3aWR0aF90YWJsZV9hZGQpOiBDYWxsIGl0LgoJKHdjdHJhbnNfdGFibGVfZ2V0KTogTmV3IGZ1bmN0aW9uLgoJKHdjdHJhbnNfdGFibGVfYWRkKTogQ2FsbCBpdC4KCjIwMDAtMDctMjUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcnQvbGlvX2xpc3Rpby5jIChsaW9fbGlzdGlvKTogQWx3YXlzIGRpc2FibGUgaW5kaXZpZHVhbAoJbm90aWZpY2F0aW9uLgoJKiBydC9NYWtlZmlsZTogQWRkIHJ1bGVzIHRvIGJ1aWxkIGFuZCBydW4gdHN0LWFpbzIuCgkqIHJ0L3RzdC1haW8yLmM6IE5ldyBmaWxlLgoKCSogcnQvbGlvX2xpc3Rpby5jIChsaW9fbGlzdGlvKTogSGFuZGxlIGNhc2Ugb2YgU0lHID09IE5VTEwgY29ycmVjdGx5LgoJUmVwb3J0ZWQgYnkgS2V2aW4gQmVhcmQgPGJlYXJka0BnYXR3aWNrLkdlY28tUHJha2xhLnNsYi5jb20+LgoKMjAwMC0wNy0yNSAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBuc3MvbnNzX2ZpbGVzL2ZpbGVzLW5ldGdycC5jIChzdHJpcF93aGl0ZXNwYWNlKTogTmV3IGZ1bmN0aW9uLgoJKF9uc3NfbmV0Z3JvdXBfcGFyc2VsaW5lKTogVXNlIHN0cmlwX3doaXRlc3BhY2UgdG8gc3RyaXAgb2ZmIGFueQoJbGVhZGluZyBhbmQgdHJhaWxpbmcgc3BhY2VzIGZyb20gaG9zdCwgdXNlciBhbmQgZG9tYWluIG5hbWUuCgoyMDAwLTA3LTI1ICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIGNzdS9kZWZzLmF3azogQWRkIHN1cHBvcnQgZm9yIG5lZWRfZW5kcC4KCjIwMDAtMDctMjUgIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCSogcmVzb2x2L3Jlc29sdi5oOiBSZW1vdmUgX19QIGZyb20gcmVzX3NlbmRfcWhvb2sgYW5kCglyZXNfc2VuZF9yaG9vayB0eXBlZGVmcy4KCjIwMDAtMDctMjUgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGludGwvdHN0LXRyYW5zbGl0LmMgKG1haW4pOiBVbnNldCBPVVRQVVRfQ0hBUlNFVC4KCjIwMDAtMDctMjUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnYvZ2NvbnZfYnVpbHRpbi5oOiBBZGQgV0NIQVJfVCBhbGlhcy4KCjIwMDAtMDctMjUgIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCSogaHVyZC90aHJlYWQtY2FuY2VsLmMgKGh1cmRfdGhyZWFkX2NhbmNlbCk6IFdoZW4gY2FuY2VsbGluZyB0aGUKCWNhbGxpbmcgdGhyZWFkLCBzZXQgdGhlIGNhbmNlbGxhdGlvbiBmbGFnIGFuZCByZXR1cm4gc3VjY2VzcwoJaW5zdGVhZCBvZiBFSU5UUi4KCjIwMDAtMDctMjUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbGliaW8vTWFrZWZpbGU6IEFkZCBydWxlcyBidWlsZCwgcnVuLCBhbmQgZGlzdHJpYnV0ZSB0c3Qtd2lkZXRleHQuYy4KCSogbGliaW8vdHN0LXdpZGV0ZXh0LmM6IE5ldyBmaWxlLgoJKiBsaWJpby90c3Qtd2lkZXRleHQuaW5wdXQ6IE5ldyBmaWxlLgoKCSogbGliaW8vaW9nZXR3bGluZS5jIChfSU9fZ2V0d2xpbmVfaW5mbyk6IFByZXR0eSBwcmludC4KCgkqIGxpYmlvL3dmaWxlb3BzLmMgKF9JT193ZmlsZV91bmRlcmZsb3cpOiBIYW5kbGUgbm90IGVudGlyZWx5CgllbXB0eSBleHRlcm5hbCBidWZmZXIgY29ycmVjdGx5LgoKMjAwMC0wNy0yNSAgTWFjaWVqIFcuIFJvenlja2kgIDxtYWNyb0BkczIucGcuZ2RhLnBsPgoKCSogc3lzZGVwcy9taXBzL2RsLW1hY2hpbmUuaCAoX1JUTERfUFJPTE9HVUUpOiBTdHJpbmdpZnkgdXNpbmcKCV9fU1RSSU5HKGVudHJ5KSBhbmQgbm90ICNlbnRyeS4KCShfUlRMRF9FUElMT0dVRSk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21pcHMvbWlwczY0L2RsLW1hY2hpbmUuaDogTGlrZXdpc2UuCgoyMDAwLTA3LTI1ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzdGRpby1jb21tb24vTWFrZWZpbGUgKCQob2JqcGZ4KXRzdC11bmJwdXRjLm91dCk6IENoYW5nZSBwYXJhbWV0ZXIKCWFjY29yZGluZyB0byBjaGFuZ2VzIGluIHRlc3QgcHJvZ3JhbSwgcnVuIGFsc28gd2l0aCBzdGF0aWMgb25seQoJYnVpbGRzLgoJKCQob2JqcGZ4KXRzdC1wcmludGYub3V0KTogTGlrZXdpc2UuCgoJKiBzdGRpby1jb21tb24vdHN0LXVuYnB1dGMuc2g6IExpa2V3aXNlLgoJKiBzdGRpby1jb21tb24vdHN0LXByaW50Zi5zaDogTGlrZXdpc2UuCgoyMDAwLTA3LTI1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxpYmlvL3dmaWxlb3BzLmMgKF9JT193ZG9fd3JpdGUpOiBDb3JyZWN0IHJldHVybiB2YWx1ZS4KCgkqIGxpYmlvL3dmaWxlb3BzLmMgKF9JT193ZG9fd3JpdGUpOiBBbGxvdyBwYXJ0aWFsIGNvbnZlcnNpb25zIGluIHRoZQoJbG9vcC4KCgkqIGxpYmlvL2ZpbGVvcHMuYzogUHJldHR5IHByaW50LgoKMjAwMC0wNy0yMyAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogd2N0eXBlL3djaGFyLWxvb2t1cC5oOiBOZXcgZmlsZS4KCSogd2N0eXBlL2lzd2N0eXBlLmM6IEluY2x1ZGUgIndjaGFyLWxvb2t1cC5oIi4KCShfX2lzd2N0eXBlKTogU3VwcG9ydCBhbHRlcm5hdGUgbG9jYWxlIGZvcm1hdCB3aXRoIDMtbGV2ZWwgdGFibGVzLgoJKiB3Y3R5cGUvaXN3Y3R5cGVfbC5jIChfX2lzd2N0eXBlX2wpOiBMaWtld2lzZS4KCSogd2N0eXBlL3Rvd2N0cmFucy5jIChfX3Rvd2N0cmFucyk6IExpa2V3aXNlLgoJKiB3Y3R5cGUvdG93Y3RyYW5zX2wuYyAoX190b3djdHJhbnNfbCk6IExpa2V3aXNlLgoJKiB3Y3R5cGUvd2NmdW5jcy5jOiBJbmNsdWRlICJ3Y2hhci1sb29rdXAuaCIuCgkoX19jdHlwZTMyX3djdHlwZSwgX19jdHlwZTMyX3djdHJhbnMpOiBEZWNsYXJlIGV4dGVybmFsLgoJKF9faXN3YWxudW0sIF9faXN3YWxwaGEsIF9faXN3Y250cmwsIF9faXN3ZGlnaXQsIF9faXN3bG93ZXIsCglfX2lzd2dyYXBoLCBfX2lzd3ByaW50LCBfX2lzd3B1bmN0LCBfX2lzd3NwYWNlLCBfX2lzd3VwcGVyLAoJX19pc3d4ZGlnaXQsIHRvd2xvd2VyLCB0b3d1cHBlcik6IFN1cHBvcnQgYWx0ZXJuYXRlIGxvY2FsZSBmb3JtYXQKCXdpdGggMy1sZXZlbCB0YWJsZXMuCgkqIHdjdHlwZS93Y2V4dHJhLmMgKGlzd2JsYW5rKTogTGlrZXdpc2UuCgkqIHdjdHlwZS93Y2Z1bmNzX2wuYzogSW5jbHVkZSAid2NoYXItbG9va3VwLmgiLgoJKF9faXN3YWxudW1fbCwgX19pc3dhbHBoYV9sLCBfX2lzd2NudHJsX2wsIF9faXN3ZGlnaXRfbCwgX19pc3dsb3dlcl9sLAoJX19pc3dncmFwaF9sLCBfX2lzd3ByaW50X2wsIF9faXN3cHVuY3RfbCwgX19pc3dzcGFjZV9sLCBfX2lzd3VwcGVyX2wsCglfX2lzd3hkaWdpdF9sLCBfX3Rvd2xvd2VyX2wsIF9fdG93dXBwZXJfbCk6IFN1cHBvcnQgYWx0ZXJuYXRlIGxvY2FsZQoJZm9ybWF0IHdpdGggMy1sZXZlbCB0YWJsZXMuCgkqIHdjdHlwZS93Y2V4dHJhX2wuYyAoX19pc3dibGFua19sKTogTGlrZXdpc2UuCgkqIHdjdHlwZS93Y3R5cGUuYyAoX193Y3R5cGUpOiBMaWtld2lzZS4gIEluIHRoZSBhbHRlcm5hdGUgbG9jYWxlCglmb3JtYXQsIHJldHVybiBhIDMtbGV2ZWwgdGFibGUgcG9pbnRlci4KCSogd2N0eXBlL3djdHlwZV9sLmMgKF9fd2N0eXBlX2wpOiBMaWtld2lzZS4KCSogd2N0eXBlL3djdHJhbnMuYyAod2N0cmFucyk6IExpa2V3aXNlLgoJKiB3Y3R5cGUvd2N0eXBlLmggKF9fSVN3dXBwZXIsIF9fSVN3bG93ZXIsIF9fSVN3YWxwaGEsIF9fSVN3ZGlnaXQsCglfX0lTd3hkaWdpdCwgX19JU3dzcGFjZSwgX19JU3dwcmludCwgX19JU3dncmFwaCwgX19JU3dibGFuaywKCV9fSVN3Y250cmwsIF9fSVN3cHVuY3QsIF9fSVN3YWxudW0pOiBOZXcgZW51bSB2YWx1ZXMuCgkoaXN3Y3R5cGUpOiBSZW1vdmUgbWFjcm8gZGVmaW5pdGlvbi4KCSogd2NzbWJzL3djd2lkdGguaDogSW5jbHVkZSAid2NoYXItbG9va3VwLmgiLgoJKGludGVybmFsX3djd2lkdGgpOiBTdXBwb3J0IGFsdGVybmF0ZSBsb2NhbGUgZm9ybWF0IHdpdGggMy1sZXZlbAoJdGFibGVzLgoJKiBsb2NhbGUvbGFuZ2luZm8uaCAoX05MX0NUWVBFX0NMQVNTX09GRlNFVCwgX05MX0NUWVBFX01BUF9PRkZTRVQpOgoJTmV3IG5sX2l0ZW1zLgoJKiBsb2NhbGUvY2F0ZWdvcmllcy5kZWYgKF9OTF9DVFlQRV9DTEFTU19PRkZTRVQsIF9OTF9DVFlQRV9NQVBfT0ZGU0VUKToKCURlZmluZSB0aGVtIGFzIGJlaW5nIHR5cGUgIndvcmQiLgoJKiBsb2NhbGUvQy1jdHlwZS5jIChfbmxfQ19MQ19DVFlQRSk6IEFkZCBpbml0aWFsaXplcnMgZm9yIHRoZW0uCgkqIGN0eXBlL2N0eXBlLWluZm8uYyAoX19jdHlwZTMyX3djdHlwZSwgX19jdHlwZTMyX3djdHJhbnMsCglfX2N0eXBlMzJfd2lkdGgpOiBOZXcgZXhwb3J0ZWQgdmFyaWFibGVzLgoJKiBsb2NhbGUvbGMtY3R5cGUuYyAoX25sX3Bvc3Rsb2FkX2N0eXBlKTogSW5pdGlhbGl6ZSB0aGVtIGluIHRoZQoJYWx0ZXJuYXRlIGxvY2FsZSBmb3JtYXQuIERvbid0IGluaXRpYWxpemUgX19jdHlwZV9uYW1lcyBhbmQKCV9fY3R5cGVfd2lkdGggaW4gdGhlIGFsdGVybmF0ZSBsb2NhbGUgZm9ybWF0LgoJKiBsb2NhbGUvcHJvZ3JhbXMvbG9jYWxlZGVmLmggKG9sZHN0eWxlX3RhYmxlcyk6IE5ldyBkZWNsYXJhdGlvbi4KCSogbG9jYWxlL3Byb2dyYW1zL2xvY2FsZWRlZi5jIChvbGRzdHlsZV90YWJsZXMpOiBOZXcgdmFyaWFibGUuCgkoT1BUX09MRFNUWUxFKTogTmV3IG1hY3JvLgoJKG9wdGlvbnMpOiBBZGQgLS1vbGQtc3R5bGUgb3B0aW9uLgoJKHBhcnNlX29wdCk6IEhhbmRsZSAtLW9sZC1zdHlsZSBvcHRpb24uCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jdHlwZS5jIChsb2NhbGVfY3R5cGVfdCk6IEFkZCBjbGFzc19vZmZzZXQsCgltYXBfb2Zmc2V0LCBjbGFzc18zbGV2ZWwsIG1hcF8zbGV2ZWwsIHdpZHRoXzNsZXZlbCBtZW1iZXJzLgoJKGN0eXBlX291dHB1dCk6IFN1cHBvcnQgZm9yIGFsdGVybmF0ZSBsb2NhbGUgZm9ybWF0OiBDb21wdXRhdGlvbiBvZgoJbmVsZW1zIGNoYW5nZXMuIF9OTF9DVFlQRV9UT1VQUEVSMzIsIF9OTF9DVFlQRV9UT0xPV0VSMzIgYW5kCglfTkxfQ1RZUEVfQ0xBU1MzMiBvbmx5IDI1NiBjaGFyYWN0ZXJzLiBfTkxfQ1RZUEVfTkFNRVMgZW1wdHkuCglOZXcgZmllbGRzIF9OTF9DVFlQRV9DTEFTU19PRkZTRVQsIF9OTF9DVFlQRV9NQVBfT0ZGU0VULiBGaWVsZAoJX05MX0NUWVBFX1dJRFRIIG5vdyBjb250YWlucyB0aGUgdGhyZWUtbGV2ZWwgdGFibGUuIEV4dHJhIGVsZW1zCglub3cgY29udGFpbiBib3RoIGNsYXNzIGFuZCBtYXAgdGFibGVzLgoJKHN0cnVjdCB3Y3R5cGVfdGFibGUpOiBOZXcgdHlwZS4KCSh3Y3R5cGVfdGFibGVfaW5pdCwgd2N0eXBlX3RhYmxlX2FkZCwgd2N0eXBlX3RhYmxlX2ZpbmFsaXplKTogTmV3CglmdW5jdGlvbnMuCgkoc3RydWN0IHdjd2lkdGhfdGFibGUpOiBOZXcgdHlwZS4KCSh3Y3dpZHRoX3RhYmxlX2luaXQsIHdjd2lkdGhfdGFibGVfYWRkLCB3Y3dpZHRoX3RhYmxlX2ZpbmFsaXplKTogTmV3CglmdW5jdGlvbnMuCgkoc3RydWN0IHdjdHJhbnNfdGFibGUpOiBOZXcgdHlwZS4KCSh3Y3RyYW5zX3RhYmxlX2luaXQsIHdjdHJhbnNfdGFibGVfYWRkLCB3Y3RyYW5zX3RhYmxlX2ZpbmFsaXplKTogTmV3CglmdW5jdGlvbnMuCgkoYWxsb2NhdGVfYXJyYXlzKTogU3VwcG9ydCBmb3IgYWx0ZXJuYXRlIGxvY2FsZSBmb3JtYXQ6IFNldAoJcGxhbmVfc2l6ZSBhbmQgcGxhbmVfY250IHRvIDAuIFJlc3RyaWN0IGN0eXBlLT5jdHlwZTMyX2IgdG8gdGhlIGZpcnN0CgkyNTYgY2hhcmFjdGVycy4gQ29tcHV0ZSBjdHlwZS0+Y2xhc3NfM2xldmVsLiBSZXN0cmljdCBjdHlwZS0+bWFwMzJbaWR4XQoJdG8gdGhlIGZpcnN0IDI1NiBjaGFyYWN0ZXJzLiBDb21wdXRlIGN0eXBlLT5tYXBfM2xldmVsLiBTZXQKCWN0eXBlLT5jbGFzc19vZmZzZXQgYW5kIGN0eXBlLT5tYXBfb2Zmc2V0LiBDb21wdXRlIGN0eXBlLT53aWR0aF8zbGV2ZWwKCWluc3RlYWQgb2YgY3R5cGUtPndpZHRoLgoKMjAwMC0wNy0yNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsaWJpby9pb2dldHdsaW5lLmMgKF9JT19nZXR3bGluZV9pbmZvKTogVXNlIHdpZGUgY2hhcmFjdGVyCglzdHJpbmcgZnVuY3Rpb25zLgoKMjAwMC0wNy0yNCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBsaWJpby93ZmlsZWRvYWxsb2MuYyAoX0lPX3dmaWxlX2RvYWxsb2NhdGUpOiBNZWFzdXJlIHNpemUKCWluIHdpZGUgY2hhcmFjdGVycywgbm90IGJ5dGVzLgoJKiBsaWJpby90c3RfcHV0d2MuYyAoZG9fdGVzdCk6IEFkZCB0ZXN0IGZvciB3cml0aW5nIGxvdHMgb2YgZGF0YQoJaW50byBmaWxlLgoKMjAwMC0wNy0yMiAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogbG9jYWxlL25sX2xhbmdpbmZvLmMgKG5sX2xhbmdpbmZvKTogQWNjZXB0IGl0ZW1zIGJlbG9uZ2luZyB0byB0aGUKCW5ldyBjYXRlZ29yaWVzIExDX1BBUEVSLCBMQ19OQU1FLCBMQ19BRERSRVNTLCBMQ19URUxFUEhPTkUsCglMQ19NRUFTVVJFTUVOVCwgTENfSURFTlRJRklDQVRJT04uCgoJKiBsb2NhbGUveGxvY2FsZS5oIChzdHJ1Y3QgX19sb2NhbGVfc3RydWN0KTogSW5jcmVhc2Ugc2l6ZSBvZgoJX19sb2NhbGVzIGFycmF5LgoJKiBsb2NhbGUvZHVwbG9jYWxlLmMgKF9fZHVwbG9jYWxlKTogQ29weSBuZXdseSBhZGRlZCBjYXRlZ29yaWVzIGFzCgl3ZWxsLgoJKiBsb2NhbGUvZnJlZWxvY2FsZS5jIChfX2ZyZWVsb2NhbGUpOiBGcmVlIG5ld2x5IGFkZGVkIGNhdGVnb3JpZXMuCgkqIGxvY2FsZS9uZXdsb2NhbGUuYyAoX19uZXdsb2NhbGUpOiBGaXggdHlwbyBpbiBzYW5pdHkgY2hlY2suCglJZiBhIGJhc2UgaXMgZ2l2ZW4sIHVzZSBpdCwgZG9uJ3Qgc2ltcGx5IHJldHVybiBpdC4KCjIwMDAtMDctMjIgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGNyeXB0L21kNS1jcnlwdC5jIChfX21kNV9jcnlwdF9yKTogQXZvaWQgZ2NjIHdhcm5pbmdzOiBVc2UgcG9pbnRlcgoJdmFyaWFibGVzLCBjb3BpZWRfa2V5IGFuZCBjb3BpZWRfc2FsdCwgaW5zdGVhZCBvZiBib29sZWFuIHZhcmlhYmxlcy4KCjIwMDAtMDctMjQgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvbW1hcDY0LmMgKF9fbW1hcDY0KTogUmVhbGx5IGZpeAoJY2hlY2sgZm9yIG9mZnNldC4KCgkqIGdycC9pbml0Z3JvdXBzLmMgKGluaXRncm91cHNfZHluX2Z1bmN0aW9uKTogUmVuYW1lZCBmcm9tCglpbml0Z3JvdXBzX2Z1bmN0aW9uLCBhZG9wdGVkIHByb3RvdHlwZSBmb3IgY2hhbmdlIGZyb20gMjAwMC0wNy0yMy4KCShpbml0Z3JvdXBzKTogRm9sbG93IHR5cGUgY2hhbmdlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9tbWFwNjQuYyAoX19tbWFwNjQpOiBGaXggb2Zmc2V0CgkmIFBBR0VfTUFTSyBjYXNlLCByZWZvcm1hdC4KCgkqIHN0cmluZy9NYWtlZmlsZSAoJChvYmpwZngpdHN0LXN2Yy5vdXQpOiBGaXggcnVsZSB0byByZWFkIGlucHV0Cglmcm9tIHN0ZGluIGFuZCBzZXR1cCBlbnZpcm9ubWVudC4KCjIwMDAtMDctMjQgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tNjhrL21tYXAuUzogUmVtb3ZlIG1tYXA2NCBhbGlhcy4KCjIwMDAtMDctMjMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3RyaW5nL2VuZGlhbi5oOiBFeHBsYWluIHRoZSBfKl9FTkRJQU4gY29uc3RhbnQgdmFsdWVzIGEgYml0Cgltb3JlLiAgUGF0Y2ggYnkgc2NhcmxldEBtaXQuZWR1IFtQUiBsaWJjLzE3OTldLgoKCSogaW8vZnR3dGVzdC1zaDogQWRkIC1mIHBhcmFtZXRlciB0byBjaG1vZCBpZiAtUiBpcyBhbHNvIGdpdmVuLgoJW1BSIGxpYmMvMTc5Ml0uCgoJKiBhcmdwL2FyZ3AtcGFyc2UuYyAocGFyc2VyX2ZpbmFsaXplKTogUmV2ZXJzZSBvcmRlciBpbiB3aGljaAoJcGFyc2VycyBhcmUgcnVuIGZvciBBUkdQX0tFWV9FTkQuICBbUFIgbGliYy8xNzU1XS4KCgkqIGdycC9pbml0Z3JvdXBzLmMgKGluaXRncm91cHMpOiBEb24ndCBsaW1pdCB0aGUgcG9zc2libGUgbnVtYmVyCglvZiBncm91cHMgdG8gTkdST1VQU19NQVguICBBbGxvdyBkeW5hbWljIHJlc2l6aW5nLiAgTG9vcCBhcm91bmQKCXRoZSBzZXRncm91cHMgY2FsbCB3aGlsZSB0aGUgY2FsbCBmYWlscyBhbmQgZGVzY3JlYXNlIHRoZSBudW1iZXIKCW9mIGdyb3VwcyBlYWNoIHJvdW5kLgoJVGhlIG5hbWUgb2YgdGhlIGluaXRncm91cHMgZnVuY3Rpb24gaW4gdGhlIE5TUyBtb2R1bGVzIGNoYW5nZWQuCgkoY29tcGF0X2NhbGwpOiBBZGFwdCBmb3IgZHluYW1pYyByZXNpemluZy4KCSogaGVzaW9kL25zc19oZXNpb2QvaGVzaW9kLWdycC5jIChfbnNzX2hlc2lvZF9pbml0Z3JvdXBzX2R5bik6CglJbXBsZW1lbnQgZHluYW1pYyByZXNpemluZy4KCSogbmlzL25zc19jb21wYXQvY29tcGF0LWluaXRncm91cHMuYyAoX25zc19jb21wYXRfaW5pdGdyb3Vwc19keW4pOgoJTGlrZXdpc2UuCgkqIG5pcy9uc3NfbmlzL2NvbXBhdC1pbml0Z3JvdXBzLmMgKF9uc3NfbmlzX2luaXRncm91cHNfZHluKTogTGlrZXdpc2UuCgkqIGhlc2lvZC9WZXJzaW9uczogQ2hhbmdlIGV4cG9ydGVkIGludGVyZmFjZSBuYW1lLgoJKiBuaXMvVmVyc2lvbnM6IENoYW5nZSBleHBvcnRlZCBpbnRlcmZhY2UgbmFtZS4KCjIwMDAtMDctMjMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbG9jYWxlL2lzby02MzkuZGVmOiBTb21lIGVycm9ycyBjb3JyZWN0ZWQuCglQYXRjaCBieSBLZWxkIFNpbW9uc2VuLgoKCSogaW5jbHVkZS9saW1pdHMuaDogVXBkYXRlIG5vbi1nY2MgcG9ydGlvbi4KCVBhdGNoIGJ5IEpvc2VwaCBTLiBNeWVycyA8anNtMjhAY2FtLmFjLnVrPi4KCjIwMDAtMDctMjIgIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvYnJrLmMgKF9odXJkX3NldF9icmspOiBXaGVuIHNocmlua2luZyB0aGUKCXByb2dyYW0ncyBkYXRhIHNwYWNlLCByZWFsbG9jYXRlIG9ubHkgdGhlIHNwYWNlIHRoYXQgd2FzIGp1c3QKCWRlYWxsb2NhdGVkIHRvIHJlbGVhc2UgaXRzIGJhY2tpbmcgc3BhY2UuCgoyMDAwLTA3LTIzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN0ZGlvLWNvbW1vbi92ZnByaW50Zi5jIChwcm9jZXNzX3N0cmluZ19hcmcpOiBGb3Igd2lkZSBjaGFyYWN0ZXIKCXZlcnNpb24sIGhhbmRsZSBwcmVjaXNpb24gYWxzbyBjb3JyZWN0bHkuCgoJKiBuc3MvbnNzX2ZpbGVzL2ZpbGVzLWhvc3RzLmM6IENvcnJlY3QgcHJvYmxlbSB3aXRoIHRocmVlIG9yIG1vcmUKCWVudHJpZXMgd2l0aCB0aGUgc2FtZSBuYW1lLgoKCSogbnNzL25zc19maWxlcy9maWxlcy1ob3N0cy5jOiBJbXBsZW1lbnQgbXVsdGkgaGFuZGxpbmcuCgkqIHJlc29sdi9WZXJzaW9uczogRXhwb3J0IF9yZXNfaGNvbmYgZm9yIEdMSUJDXzIuMiBmcm9tIGxpYmMuCgoyMDAwLTA3LTIyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG5zcy9uc3NfZmlsZXMvZmlsZXMtcGFyc2UuYzogRG9uJ3QgcG9sbHV0ZSBuYW1lc3BhY2UgYnkgdXNpbmcKCXN0cmNhc2VjbXAuCgoJKiBncnAvTWFrZWZpbGU6IENoYW5nZSBNYWtlZmlsZXMgYW5kIHRlc3RzIHRvIHJ1biBvbmx5IHdoZW4gbmVjZXNzYXJ5LgoJKiBtYWxsb2MvTWFrZWZpbGU6IExpa2V3aXNlLgoJKiBtYWxsb2MvdHN0LW10cmFjZS5zaDogTGlrZXdpc2UuCgkqIHBvc2l4L01ha2VmaWxlOiBMaWtld2lzZS4KCSogcG9zaXgvZ2xvYnRlc3Quc2g6IExpa2V3aXNlLgoJKiBwb3NpeC93b3JkZXhwLXRzdC5zaDogTGlrZXdpc2UuCgkqIHN0cmluZy9NYWtlZmlsZTogTGlrZXdpc2UuCgoyMDAwLTA3LTIyICBNYXJrIEtldHRlbmlzICA8a2V0dGVuaXNAZ251Lm9yZz4KCgkqIGxvY2FsZS9maW5kbG9jYWxlLmMgKGxvY2FsZV9maWxlX2xpc3QpOiBVc2UgX19MQ19MQVNUIGFzIGFycmF5CglzaXplIGluc3RlYWQgb2YgTENfQUxMIHRvIHRha2UgaW50byBhY2NvdW50IHRoZSBuZXcgbG9jYWxlCgljYXRlZ29yaWVzLgoKMjAwMC0wNy0yMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udi9nY29udl90cmFucy5jOiBDb3JyZWN0IGEgZmV3IGJ1Z3MgaW4gdGhlIHNlYXJjaCBsb29wLiAgUmVtb3ZlCglyZW1haW5kZXJzIG9mIGhhc2ggdGFibGUuCgkqIGxvY2FsZS9jYXRlZ29yaWVzLmRlZjogUmVtb3ZlIHJlbWFpbmRlcnMgb2YgdHJhbnNsaXRlcmF0aW9uCgloYXNoIHRhYmxlLgoJKiBsb2NhbGUvbGFuZ2luZm8uaDogTGlrZXdpc2UuCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jdHlwZS5jOiBMaWtld2lzZS4gIEZpeCBjb2RlIHRvIHdyaXRlIG91dAoJdHJhbnNsaXRlcmF0aW9uIHRhYmxlcy4KCgkqIGxvY2FsZS9nZW4tdHJhbnNsaXQucGw6IE5ldyBmaWxlLgoJKiBsb2NhbGUvQy10cmFuc2xpdC5oLmluOiBOZXcgZmlsZS4KCSogbG9jYWxlL0MtY3R5cGUuYzogSW5jbHVkZSBDLXRyYW5zbGl0LmguICBJbml0aWFsaXplIHRyYW5zbGl0ZXJhdGlvbgoJZGF0YSBwb2ludGVycyB3aXRoIGRhdGEgZnJvbSB0aGlzIGZpbGUuCgkqIGxvY2FsZS9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCBDLXRyYW5zbGl0LmguaW4sIEMtdHJhbnNsaXQuaCwKCWFuZCBnZW4tdHJhbnNsaXQucGwuCglBZGQgcnVsZSB0byBnZW5lcmF0ZSBDLXRyYW5zbGl0LmguCgkqIGludGwvdHN0LXRyYW5zbGl0LmMgKG1haW4pOiBVcGRhdGUgZm9yIG5vdyBwZXJmb3JtZWQKCXRyYW5zbGl0ZXJhdGlvbi4KCgkqIHN0ZGlvLWNvbW1vbi92ZnNjYW5mLmM6IEhhbmRsZSBpbnB1dCAtLSB3aXRoIGZvcm1hdCAlZiBjb3JyZWN0bHkKCShpdCdzIG5vIGlucHV0IGVycm9yKS4KCSogc3RkaW8tY29tbW9uL3RzdHNjYW5mLmM6IEFkZCB0ZXN0IGNhc2UgZm9yIGZvcm1hdCAlZiB3aXRoIGlucHV0IC0tLgoJKiBzdGRpby1jb21tb24vc2NhbmYxMi5jOiBDb3JyZWN0IGV4cGVjdGVkIHJlc3VsdCBmb3IgZmlyc3Qgc2NhbmYuCgoJKiBzdGRpby1jb21tb24vdmZwcmludGYuYyAocHJvY2Vzc19zdHJpbmdfYXJnKTogQ29ycmVjdCBoYW5kbGluZwoJb2YgbXVsdGlieXRlIGNoYXJhY3RlciBzdHJpbmdzIGluICVzIGZvcm1hdCB3aXRoIHByZWNpc2lvbi4KCjIwMDAtMDctMjEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLWNvbGxhdGUuYyAoY29sbGF0ZV9yZWFkKTogQWxsb3cgY29sbGF0aW5nCglzeW1ib2xzIGFuZCBlbGVtZW50cyBiZSBuYW1lZCBpbiByZW9yZGVyLWFmdGVyIGluc3RydWN0aW9ucy4KCVJlcG9ydGVkIGJ5IFlvc2hpdG8gS2F3YWRhIDxLQVdBREFAanAuaWJtLmNvbT4uCgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY29sbGF0ZS5jIChoYW5kbGVfZWxsaXBzaXMpOiBUZXN0IGZvcgoJZHVwbGljYXRpb24gd2l0aCBnZW5lcmF0ZWQgbmFtZSwgbm90IHRoZSBuYW1lIG9mIHRoZSBmaXJzdAoJY2hhcmFjdGVyLgoJUGF0Y2ggYnkgWW9uZyBMaSA8eW9uZy5saUBhc3UuZWR1Pi4KCgkqIHN5c2RlcHMvcG93ZXJwYy9zdHJjaHIuUzogQ29ycmVjdCBidWdzIGludHJvZHVjZWQgaW4gQlAtaWZpY2F0aW9uLgoJUGF0Y2ggYnkgRnJhbnogU2lybCA8RnJhbnouU2lybC1rZXJuZWxAbGF1dGVyYmFjaC5jb20+LgoKMjAwMC0wNy0yMSAgV29sZnJhbSBHbG9nZXIgIDx3Z0BtYWxsb2MuZGU+CgoJKiBtYWxsb2MvbWFsbG9jLmMgKGNodW5rX2FsbG9jKTogVHJ5IG1tYXBfY2h1bmsoKSBmb3Igc21hbGxlcgoJYWxsb2NhdGlvbnMgb25seSBpZiBhIG5vbi1tYWluIGFyZW5hIGNhbm5vdCBiZSBleHRlbmRlZC4KCjIwMDAtMDctMjEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZWxmL2RsLWxvYWQuYyAoX2RsX21hcF9vYmplY3QpOiBUYWtlIGxvYWRlcj09TlVMTCBpbnRvIGFjY291bnQKCWluIERGXzFfTk9ERUZMSUIgaGFuZGxpbmcuCgoyMDAwLTA3LTIxICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBlbGYvTWFrZWZpbGUgKCQodGVzdC1tb2R1bGVzKSk6IEV4Y2x1ZGUgZmlsdG1vZDEuc28sIGl0IGhhcyBpdHMKCW93biBydWxlLgoKCSogbGliaW8vZndpZGUuYzogSW5jbHVkZSA8d2NoYXIuaD4gZm9yIHByb3RvdHlwZS4KCjIwMDAtMDctMjEgIEdyZWcgTWNHYXJ5ICA8Z3JlZ0BtY2dhcnkub3JnPgoKCSogbWFsbG9jL21hbGxvYy5jIChuZXh0X2NodW5rLCBwcmV2X2NodW5rLCBpbnVzZV9iaXRfYXRfb2Zmc2V0LAoJc2V0X2ludXNlX2JpdF9hdF9vZmZzZXQsIGNsZWFyX2ludXNlX2JpdF9hdF9vZmZzZXQsIHNldF9mb290KToKCURlZmluZSBpbiB0ZXJtcyBvZiBjaHVua19hdF9vZmZzZXQuCgkoaW51c2UsIHNldF9pbnVzZSwgY2xlYXJfaW51c2UpOiBEZWZpbmUgaW4gdGVybXMgb2YgbmV4dF9jaHVuay4KCShuZXh0X2JpbiwgcHJldl9iaW4pOiBvZmZzZXQgYnkgc2l6ZSBvZiByZWFsIGFycmF5IGVsZW1lbnRzLgoJKGNodW5rX2FsaWduKTogTWFrZSBgbScgYSBzY2FsYXIsIHNpbmNlIHRoYXQncyBob3cgaXQncyB1c2VkLgoKMjAwMC0wNy0yMSAgR3JlZyBNY0dhcnkgIDxncmVnQG1jZ2FyeS5vcmc+CgoJKiBzeXNkZXBzL3Bvd2VycGMvYnAtYXNtLmggKERJU0NBUkRfQk9VTkRTKTogUmVuYW1lIGZyb20KCVVOQ0hFQ0tfQk9VTkRTLgoJKiBzeXNkZXBzL3Bvd2VycGMvYml0cy9zZXRqbXAuaCAoSkJfU0laRSk6IE5ldyBjb25zdGFudC4KCSogc3lzZGVwcy9wb3dlcnBjL2VsZi9saWJjLXN0YXJ0LmMgKF9fbGliY19zdGFydF9tYWluKToKCVdyYXAgYm91bmRzIGFyb3VuZCBhcmd2ICYgZW52cCBhbmQgZWFjaCBvZiB0aGVpciBzdHJpbmcgbWVtYmVycy4KCSogc3lzZGVwcy9wb3dlcnBjL2VsZi9zdGFydC5TOiBEZXNpZ25hdGUgQlAgc3ltYm9scy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9icmsuUzogV3JhcCBlbnRyeS1wb2ludAoJc3ltYm9sIGluIEJQX1NZTSAoKS4gIERpc2NhcmQgYm91bmRzIG9mIGFkZHJlc3MgYXJnLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2Nsb25lLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL21tYXA2NC5jIChfX21tYXA2NCk6CglEaXNjYXJkIGJvdW5kcyBvbiBhZGRyZXNzIGFyZywgYWRkIGJvdW5kcyB0byByZXR1cm4gdmFsdWUuCgoyMDAwLTA3LTIwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9NYWtlZmlsZSAodGVzdHMpOiBBZGQgZmlsdGVyLiAgQWRkIHJ1bGVzIHRvIGdlbmVyYXRlIGZpbHRlci4KCSogZWxmL2ZpbHRlci5jOiBOZXcgZmlsZS4KCSogZWxmL2ZpbHRtb2QxLmM6IE5ldyBmaWxlLgoJKiBlbGYvZmlsdG1vZDIuYzogTmV3IGZpbGUuCgoJKiBlbGYvcnRsZC5jOiBEZWZpbmUgX2RsX2JpbmRfbm90IHZhcmlhYmxlLgoJKHByb2Nlc3NfZW52dmFycyk6IFJlY29nbml6ZSBMRF9CSU5EX05PVCBhbmQgc2V0IF9kbF9iaW5kX25vdC4KCSogZWxmL2RsLXN1cHBvcnQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9sZHNvZGVmcy5oOiBEZWNsYXJlIF9kbF9iaW5kX25vdC4KCSogZWxmL2RsLXJ1bnRpbWUuYyAoZml4dXApOiBEb24ndCByZW1lbWJlciBsb29rZWQgdXAgdmFsdWUgaWYKCV9kbF9iaW5kX25vdC4KCShwcm9maWxlX2ZpeHVwKTogTGlrZXdpc2UuCgoJKiBsaWJpby9NYWtlZmlsZSAocm91dGluZXMpOiBBZGQgZndpZGUuCgkqIGxpYmlvL2lvZndpZGUuYyAoX0lPX2Z3aWRlKTogUmVtb3ZlIGxvY2tpbmcuICBUaGlzIGlzIGRvbmUgaW4KCWZ3aWRlIG5vdy4gIEludGVybmFsIGNhbGxzIHRvIF9JT19md2lkZSBtdXN0IGRvIGxvY2tpbmcgdGhlbXNlbHZlcwoJb3IgZG9uJ3QgbmVlZCBsb2NraW5nLgoJKiBsaWJpby9md2lkZS5jOiBOZXcgZmlsZS4KCgkqIGVsZi9kbC1sb2FkLmMgKF9kbF9tYXBfb2JqZWN0KTogSW1wbGVtZW50IGhhbmRsaW5nIG9mIERGXzFfTk9ERUZMSUIuCgoJKiBlbGYvTWFrZWZpbGU6IEFkZCBubyBtb2R1bGVzIGZvciBub2RlbGV0ZSB0ZXN0LgoJKiBlbGYvbm9kZWxtb2QzLmM6IE5ldyBmaWxlLgoJKiBlbGYvbm9kZWxtb2Q0LmM6IE5ldyBmaWxlLgoJKiBlbGYvbm9kZWxldGUuYzogQWxzbyB0ZXN0IGNhc2Ugd2hlcmUgZGVwZW5kZW5jeSBvZiBkbG9wZW4oKSBvYmplY3QKCWlzIG1hcmtlZCBub2RlbGV0ZS4KCgkqIGVsZi9NYWtlZmlsZSAodGVzdHMpOiBBZGQgbm9kbG9wZW4uICBBZGQgcnVsZXMgdG8gZ2VuZXJhdGUgbm9kbG9wZW4uCgkqIGVsZi9ub2Rsb3Blbi5jOiBOZXcgZmlsZS4KCSogZWxmL25vZGxvcGVubW9kLmM6IE5ldyBmaWxlLgoJKiBpbmNsdWRlL2RsZmNuLmg6IERlZmluZSBfX1JUTERfRExPUEVOLgoJKiBlbGYvZGwtbG9hZC5jIChfZGxfbWFwX29iamVjdF9mcm9tX2ZkKTogSWYgREZfMV9OT09QRU4gaXMgc2V0CglhbmQgdGhpcyBpcyBhIGRsb3BlbigpIGNhbGwsIGRvIG5vdCBsb2FkIHRoZSBiaW5hcnkuCgkqIGRsZmNuL2Rsb3Blbi5jOiBBZGQgX19SVExEX0RMT1BFTiB0byBtb2RlIHBhc3NlZCBkb3duIHRvIF9kbF9vcGVuLgoJKiBkbGZjbi9kbG9wZW5vbGQuYzogTGlrZXdpc2UuCgkqIGNvbmZpZ3VyZS5pbjogQWRkIHRlc3QgZm9yIC16IG5vZGVsZXRlIG9wdGlvbi4KCSogY29uZmlnLm1ha2UuaW46IERlZmluZSBoYXZlLXotbm9kZWxldGUgd2l0aCBsaWJjX2N2X3pfbm9kZWxldGUuCgoyMDAwLTA3LTIwICBNYXJrIEtldHRlbmlzICA8a2V0dGVuaXNAZ251Lm9yZz4KCglNYWtlIEhlc2lvZCBOU1MgbW9kdWxlIHRocmVhZC1zYWZlLgoKCSogaGVzaW9kL1JFQURNRS5oZXNpb2Q6IFVwZGF0ZS4KCgkqIGhlc2lvZC9WZXJzaW9ucyBbR0xJQkNfMi4yXTogQWRkIF9uc3NfaGVzaW9kX2dldHNlcnZieXBvcnRfciwKCV9uc3NfaGVzaW9kX3NldHByb3RvZW50LCBfbnNzX2hlc2lvZF9lbmRwcm90b2VudCwKCV9uc3NfaGVzaW9kX2dldHByb3RvYnluYW1lX3IsIGFuZCBfbnNzX2hlc2lvZF9nZXRwcm90b2J5bnVtYmVyX3IuCgkqIGhlc2lvZC9NYWtlZmlsZSAobGlibnNzX2hlc2lvZC1yb3V0aW5lcyk6IEFkZCBoZXNpb2QtaW5pdCBhbmQKCWhlc2lvZC1wcm90by4KCSogaGVzaW9kL25zc19oZXNpb2QvaGVzaW9kLWluaXQuYzogTmV3IGZpbGUuCgkqIGhlc2lvZC9uc3NfaGVzaW9kL2hlc2lvZC1wd2QuYzogUmV3cml0dGVuIGZvciB0aHJlYWQtc2FmZW5lc3MuCgkqIGhlc2lvZC9uc3NfaGVzaW9kL2hlc2lvZC1ncnAuYzogTGlrZXdpc2UuCgkqIGhlc2lvZC9uc3NfaGVzaW9kL25zc19oZXNpb2QuaDogTmV3IGZpbGUuCgkqIGhlc2lvZC9uc3NfaGVzaW9kL2hlc2lvZC1zZXJ2aWNlLmMKCShfbnNzX2hlc2lvZF9nZXRzZXJ2Ynlwb3J0X3IpOiBOZXcgZnVuY3Rpb24uICBQcm92aWRlIHN1cHBvcnQgZm9yCglsb29raW5nIHVwIHNlcnZpY2VzIGJ5IHBvcnQgbnVtYmVyLgoJKiBoZXNpb2QvbnNzX2hlc2lvZC9oZXNpb2QtcHJvdG8uYzogTmV3IGZpbGUuCgoJKiBoZXNpb2QvaGVzaW9kLmM6IFVwZGF0ZSBmcm9tIEJJTkQgOC4yLjMtVDVCLgoJKiBoZXNpb2QvaGVzaW9kLmg6IExpa2V3aXNlLgoJKiBoZXNpb2QvaGVzaW9kX3AuaDogTGlrZXdpc2UuCgoyMDAwLTA3LTIwICBNYXJrIEtldHRlbmlzICA8a2V0dGVuaXNAZ251Lm9yZz4KCglGaXggcHJvYmxlbXMgd2l0aCBgc3RydWN0IF9fcmVzX3N0YXRlJyBnZXR0aW5nIHRvbyBiaWcuCgkqIHJlc29sdi9yZXNvbHYuaCAoc3RydWN0IF9fc29ja2FkZHJfaW4pOiBOZXcgZGVmaW5pdGlvbi4KCShzdHJ1Y3QgX19yZXNfc3RhdGUpOiBVc2UgX19zb2NrYWRkcl9pbiBpbnN0ZWFkIG9mIHNvY2thZGRyX2luIGluCgl0aGUgcHJpdmF0ZSBwYXJ0cyBvZiB0aGUgc3RydWN0dXJlIHRvIHNhdmUgc29tZSBzcGFjZS4KCSogcmVzb2x2L3Jlc19zZW5kLmMgKHJlc19uc2VuZCk6IENhc3QgJkVYVChzdGF0cCkubnNhZGRyc1tuc10gdG8KCShzdHJ1Y3Qgc29ja2FkZHJfaW4gKikgaW4gY2FsbCB0byBzb2NrX2VxLgoJVXNlIG1lbWNweSB0byBjb3B5IHN0YXRwLT5uc2FkZHJfbGlzdFtuc10gdG8gJkVYVChzdGF0cCkubnNhZGRyc1tuc10uCgoyMDAwLTA3LTIwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9lbGYuaDogQWRkIHZhcmlvdXMgREZfMV8qLCBEVEZfMV8qLCBhbmQgREZfUDFfKiBlbnRyaWVzLgoJKiBlbGYvZGwtY2xvc2UuYyAoX2RsX2Nsb3NlKTogRG9uJ3QgY2xvc2UgYW4gb2JqZWN0IGlmIGl0IGlzIG1hcmtlZAoJd2l0aCBub2RlbGV0ZS4KCSogZWxmL2RsLW9wZW4uYyAoZGxfb3Blbl93b3JrZXIpOiBQYXNzIFJUTERfTk9MT0FEIGFzIG5ldyBwYXJhbWV0ZXIKCXRvIF9kbF9tYXBfb2JqZWN0LiAgUmV0dXJuIGltbWVkaWF0ZWx5IGlmIG5vIG9iamVjdCBsb2FkZWQuCglTZXQgREZfMV9OT0RFTEVURSBiaXQgaW4gbF9mbGFnc18xIGlmIFJUTERfTk9ERUxFVEUgd2FzIHBhc3NlZC4KCSogZWxmL2R5bmFtaWMtbGluay5oIChlbGZfZ2V0X2R5bmFtaWNfaW5mbyk6IENvcHkgRFRfRkxBR1NfMSBlbnRyeQoJaWYgaXQgZXhpc3RzIGludG8gbF9mbGFnc18xIHdvcmQuCgkqIGVsZi9kbC1sb2FkLmMgKF9kbF9tYXBfb2JqZWN0X2Zyb21fZmQpOiBUYWtlIG5vIHBhcmFtZXRlciBhbmQgdXNlCglpdCB0byBkZXRlcm1pbmUgd2hldGhlciBsb2FkaW5nIGlzIHdhbnRlZCBvciBub3QuCgkoX2RsX21hcF9vYmplY3QpOiBMaWtld2lzZS4KCUNhbGwgX2RsX21hcF9vYmplY3RfZnJvbV9mZCB3aXRoIG5ldyBwYXJhbWV0ZXIuCgkqIHN5c2RlcHMvZ2VuZXJpYy9sZHNvZGVmcy5oOiBVcGRhdGUgcHJvdG90eXBlLgoJKiBlbGYvZGwtZGVwcy5jOiBBZGQgbmV3IHBhcmFtZXRlciB0byBfZGxfbWFwX29iamVjdCBjYWxscy4KCSogZWxmL3J0bGQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbWFjaC9odXJkL2RsLXN5c2RlcC5jOiBMaWtld2lzZS4KCSogZWxmL01ha2VmaWxlICh0ZXN0cyk6IEFkZCBub2xvYWQuICBBZGQgcnVsZXMgdG8gZ2VuZXJhdGUgbm9sb2FkLgoJKiBlbGYvbm9sb2FkLmM6IE5ldyBmaWxlLgoJKiBpbmNsdWRlL2xpbmsuaCAoc3RydWN0IGxpbmtfbWFwKTogQWRkIGxfZmVhdHVyZV8xIGFuZCBsX2ZsYWdzXzEuCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL2RsZmNuLmg6IERlZmluZSBSVExEX05PTE9BRCBhbmQgUlRMRF9OT0RFTEVURS4KCSogc3lzZGVwcy9taXBzL2JpdHMvZGxmY24uaDogTGlrZXdpc2UuCgkqIGVsZi9NYWtlZmlsZSAodGVzdHMpOiBBZGQgJCh0ZXN0cy1ub2RlbGV0ZS0kKGhhdmUtei1ub2RlbGV0ZSkpLgoJKHRlc3RzLW5vZGVsZXRlLXllcyk6IERlZmluZS4KCShtb2R1bGVzLW5hbWVzKTogQWRkICQobW9kdWxlcy1ub2RlbGV0ZS0kKGhhdmUtei1ub2RlbGV0ZSkpLgoJQWRkIHJ1bGVzIHRvIGJ1aWxkIG5vZGVsZXRlIGFuZCBtb2R1bGVzLgoJKiBlbGYvbm9kZWxldGUuYzogTmV3IGZpbGUuCgkqIGVsZi9ub2RlbG1vZDEuYzogTmV3IGZpbGUuCgkqIGVsZi9ub2RlbG1vZDIuYzogTmV3IGZpbGUuCgkqIGNvbmZpZ3VyZS5pbjogQWRkIHRlc3QgZm9yIC16IG5vZGVsZXRlIG9wdGlvbi4KCSogY29uZmlnLm1ha2UuaW46IERlZmluZSBoYXZlLXotbm9kZWxldGUgd2l0aCBsaWJjX2N2X3pfbm9kZWxldGUuCgoJKiBsaWJpby9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdHN0X3dwcmludGYyLgoJKHRzdF93cHJpbnRmMi1BUkdTKTogRGVmaW5lLgoJKiBsaWJpby90c3Rfd3ByaW50ZjIuYzogTmV3IGZpbGUuCglCYXNlZCBvbiBhIHRlc3QgY2FzZSBieSBZb3NoaXRvIEthd2FkYSA8S0FXQURBQGpwLmlibS5jb20+LgoKCSogbGliaW8vd2ZpbGVkb2FsbG9jLmM6IE9ubHkgYWxsb2NhdGUgZXh0ZXJuYWwgYnVmZmVyIGlmIHRoaXMKCWhhc24ndCBoYXBwZW5lZCB5ZXQuCgoJKiBsaWJpby93ZmlsZW9wcy5jIChfSU9fd2RvX3dyaXRlKTogT3ZlcmZsb3cgb25seSBpZiB0aGVyZSBpcyByZWFsbHkKCXNvbWV0aGluZyBpbiB0aGUgYnVmZmVyLiAgZ2NvbnYgY2FsbCBjYW4gd3JpdGUgdXAgdG8gZW5kIG9mIHRoZQoJYnVmZmVyLCBub3Qgb25seSBfSU9fd3JpdGVfZW5kLgoJKF9JT193ZmlsZV9vdmVyZmxvdyk6IEFsbG9jYXRlIGFsc28gZXh0ZXJuYWwgYnVmZmVyLgoKMjAwMC0wNy0xOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzdGRpby1jb21tb24vdmZwcmludGYuYyAocHJvY2Vzc19zdHJpbmdfYXJnKTogSGFuZGxlIG11bHRpYnl0ZQoJc3RyaW5ncyB3aXRoIHByZWNpc2lvbiBpbiB2ZndwcmludGYgY29ycmVjdGx5LgoJKiBzdGRpby1jb21tb24vdmZwcmludGYuYzogRml4IGNvbXBsZXRlbHkgYnJva2VuIGhhbmRsaW5nIG9mCgl1bmJ1ZmZlcmVkIHdpZGUgY2hhcmFjdGVyIHN0cmVhbXMuCglSZXBvcnRlZCBieSBZb3NoaXRvIEthd2FkYSA8S0FXQURBQGpwLmlibS5jb20+LgoKCSogcmVzb2x2L01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIFJFQURNRS4KCgkqIHJlc29sdi9SRUFETUU6IE5ldyBmaWxlLiAgQnkgTWFyayBLZXR0ZW5pcyA8a2V0dGVuaXNAZ251Lm9yZz4uCgoyMDAwLTA3LTE4ICBNYXJrIEtldHRlbmlzICA8a2V0dGVuaXNAZ251Lm9yZz4KCglVcGRhdGUgcmVzb2x2ZXIgY29kZSB0byBCSU5EIDguMi4zLVQ1Qi4KCgkqIHJlc29sdi9WZXJzaW9ucyBbR0xJQkNfMi4yXSAobGliYyk6IEFkZCBfX3Jlc19pbml0IGFuZAoJX19yZXNfbmNsb3NlLgoJW0dMSUJDXzIuMl0gKGxpYnJlc29sdik6IEFkZCBfX2RuX2V4cGFuZCwgX19uc19zYW1lbmFtZSwKCV9fcmVzX21rcXVlcnksIF9fcmVzX25zZW5kLCBfX3Jlc19xdWVyeSwgX19yZXNfcXVlcnlkb21haW4gYW5kCglfX3Jlc19zZWFyY2guCgkqIHJlc29sdi9CYW5uZXI6IEJJTkQtOC4yLjMtVDVCLgoKCSogcmVzb2x2L2Jhc2U2NC5jOiBVcGRhdGUgZnJvbSBCSU5EIDguMi4zLVQ1Qi4KCSogcmVzb2x2L2hlcnJvci5jOiBMaWtld2lzZS4KCSogcmVzb2x2L2luZXRfYWRkci5jOiBMaWtld2lzZS4KCSogcmVzb2x2L2luZXRfbmV0X250b3AuYzogTGlrZXdpc2UuCgkqIHJlc29sdi9pbmV0X25ldF9wdG9uLmM6IExpa2V3aXNlLgoJKiByZXNvbHYvaW5ldF9uZXRhLmM6IExpa2V3aXNlLgoJKiByZXNvbHYvaW5ldF9udG9wLmM6IExpa2V3aXNlLgoJKiByZXNvbHYvbnNhcF9hZGRyLmM6IExpa2V3aXNlLgoJKiByZXNvbHYvaW5ldF9wdG9uLmM6IExpa2V3aXNlLiAgUmVqZWN0IGEgZmV3IG1vcmUgbW9yZSBpbnZhbGlkCglJUHY2IGFkZHJlc3NlcyAoSVNDIGJ1ZyAjNTIwKS4KCgkqIHJlc29sdi9uc19uYW1lLmM6IEF2b2lkIGVtaXR0aW5nIFJDUyBJRCBpbiBvYmplY3QgZmlsZS4KCSogcmVzb2x2L25zX3BhcnNlLmM6IExpa2V3aXNlLgoJKiByZXNvbHYvbnNfbmV0aW50LmM6IExpa2V3aXNlLgoJKiByZXNvbHYvbnNfc2FtZWRvbWFpbi5jOiBMaWtld2lzZS4KCSogcmVzb2x2L25zX3R0bC5jOiBMaWtld2lzZS4KCSogcmVzb2x2L25zX3ByaW50LmM6IFVwZGF0ZSBmcm9tIEJJTkQgOC4yLjMtVDVCLiAgQXZvaWQgZW1pdHRpbmcKCVJDUyBJRCBpbiBvYmplY3QgZmlsZS4KCgkqIHJlc29sdi9yZXNfZGVidWcuYzogVXBkYXRlIGZyb20gQklORCA4LjIuMy1UNUIuCgkqIHJlc29sdi9yZXNfbWtxdWVyeS5jOiBMaWtld2lzZS4KCSogcmVzb2x2L3Jlc19xdWVyeS5jOiBMaWtld2lzZS4KCSogcmVzb2x2L3Jlc19pbml0LmM6IExpa2V3aXNlLgoJKHJlc19zZXRvcHRpb25zKTogTWFyayBpbnRlcm5hbC4KCSogcmVzb2x2L3Jlc19zZW5kLmM6IExpa2V3aXNlLgoJW19MSUJDXTogRnVsbHkgcmVpbnN0YXRlIHRoZSBjb2RlIHRoYXQgYXZvaWRzIHRoZSBGRF9TRVRTSVpFIGxpbWl0CglieSB1c2luZyBwb2xsIGluc3RlYWQuCgkqIHJlc29sdi9yZXNfY29tcC5jOiBMaWtld2lzZS4KCVtTSExJQl9DT01QQVQgKGxpYnJlc29sdiwgR0xJQkNfMl8wLCBHTElCQ18yXzIpXTogTWFrZSBkbl9leHBhbmQgYQoJd2VhayBhbGlhcyBmb3IgX19kbl9leHBhbmQuCgkqIHJlc29sdi9yZXNfZGF0YS5jOiBMaWtld2lzZS4KCShyZXNfY2xvc2UpIFtfTElCQ106IERvbid0IGNhbGwgcmVzX25jbG9zZSBpZiBSRVNfSU5JVCBpc24ndCBzZXQKCWluIF9yZXMub3B0aW9ucy4gIEF2b2lkcyBhIHBvdGVudGlhbCBzZWN1cml0eSByaXNrIGJ5IGF2b2lkaW5nIGEKCWNsb3NlICgwKS4KCVtTSExJQl9DT01QQVQgKGxpYnJlc29sdiwgR0xJQkNfMl8wLCBHTElCQ18yXzIpXTogTWFrZQoJcmVzX21rcXVlcnksIHJlc19xdWVyeSwgcmVzX3F1ZXJ5ZG9tYWluIGFkbiByZXNfc2VhcmNoIHdlYWsKCWFsaWFzZXMgZm9yIF9fcmVzX21rcXVlcnksIF9fcmVzX3F1ZXJ5LCBfX3Jlc19xdWVyeWRvbWFpbiBhbmQKCV9fcmVzX3NlYXJjaC4KCSogcmVzb2x2L3Jlc19saWJjLmM6IChfcmVzKTogRG9uJ3QgaW5pdGlhbGl6ZS4gIEZpeCByZXNfY2xvc2UKCWluc3RlYWQgdG8gYXZvaWQgY2xvc2UoMCkuCgkocmVzX2luaXQpOiBBbHdheXMgdXNlIHRoZSBzdGF0aWMgcmVzb2x2ZXIgY29udGV4dC4KCVtTSExJQl9DT01QQVQgKGxpYmMsIEdMSUJDXzIuMCwgR0xJQkNfMl8yKV06IE1ha2UgcmVzX2luaXQgYSB3ZWFrCglhbGlhcyBmb3IgX19yZXNfaW5pdC4KCgkqIHJlc29sdi9yZXNvbHYuaDogVXBkYXRlIGZyb20gQklORCA4LjIuMy1UNUIuICBNb3ZlIGRlZmluaXRpb24gb2YKCVJFU19TRVRfSF9FUlJOTyBhbmQgYWNjb21wYW55aW5nIGNvbW1lbnQgdG8uLi4KCSogaW5jbHVkZS9yZXNvbHYuaDogLi4uIGhlcmUuCgoJKiByZXNvbHYvYXJwYS9uYW1zZXIuaDogVXBkYXRlIGZyb20gQklORCA4LjIuMy1UNUIuCgkqIHJlc29sdi9hcnBhL25hbWVzZXJfY29tcGF0Lmg6IExpa2V3aXNlLgoKMjAwMC0wNy0xOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBuc3MvbWFrZWRiLmMgKG1haW4pOiBDb21wYXJlIHJlc3VsdCBvZiBsb2FkX2RiIHdpdGgKCU5TU19TVEFUVVNfU1VDQ0VTUyBhbmQgbm90IDAuCglQYXRjaCBieSBKYW4gUmVrb3JhanNraSA8YmFnZ2luc0BzaXRoLm1pbXV3LmVkdS5wbD4uCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9WZXJzaW9uczogRXhwb3J0IF9fc3lzY3RsIGZvciBHTElCQ18yLjIuCgoyMDAwLTA3LTE4ICBHcmVnIE1jR2FyeSAgPGdyZWdAbWNnYXJ5Lm9yZz4KCgkqIHBvc2l4L3JlZ2V4LmMgKEVYVEVORF9CVUZGRVJfSElHSF9CT1VORCk6IE5ldyBtYWNyby4KCShFWFRFTkRfQlVGRkVSKTogVXNlIGl0LgoKMjAwMC0wNy0xOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2xpYmMtc3ltYm9scy5oOiBEZWZpbmUgUkVUVVJOX0FERFJFU1MgbWFjcm8uCgkqIGRsZmNuL2Rsb3Blbi5jOiBVc2UgUkVUVVJOX0FERFJFU1MgaW5zdGVhZCBvZgoJX19idWlsdGluX3JldHVybl9hZGRyZXNzLgoJKiBkbGZjbi9kbG9wZW5vbGQuYzogTGlrZXdpc2UuCgkqIGRsZmNuL2Rsc3ltLmM6IExpa2V3aXNlLgoJKiBkbGZjbi9kbHZzeW0uYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1wcm9mc3R1Yi5jOiBMaWtld2lzZS4KCSogbWFsbG9jL21hbGxvYy5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL21hY2hpbmUtZ21vbi5oOiBMaWtld2lzZS4KCUJhc2VkIG9uIGEgcGF0Y2ggYnkgc2Nod2lkZWZza3lAZGUuaWJtLmNvbS4KCjIwMDAtMDctMTggIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvYWxwaGEvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9yZWxhKTogUGFzcyAwIGluc3RlYWQgb2YKCU5VTEwgdG8gZWxmX21hY2hpbmVfZml4dXBfcGx0IHQgYXJndW1lbnQgdG8gc2lsZW5jZSBHQ0MuCgoJKiBpbmNsdWRlL3N0cmluZy5oOiBBZGQgcHJvdG90eXBlIGZvciBfX21lbWNoci4KCgkqIHN5c2RlcHMvYWxwaGEvbWVtY2hyLlM6IEZpeCBjb3B5ICYgZXJyb3IgaW4gd2Vha19hbGlhcy4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9tZW1jaHIuYzogRml4IGNvcHkgJiBwYXN0ZSBlcnJvcjogVXNlIG1lbWNocgoJaW5zdGVhZCBvZiBtZW1yY2hyLgoKMjAwMC0wNy0xOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpbnRsL01ha2VmaWxlOiBNYWtlIHN1cmUgdHN0LXRyYW5zbGl0IGlzIHJ1biBhZnRlciB0c3QtZ2V0dGV4dC4KCgkqIGxvY2FsZS9DLWN0eXBlLmM6IEFkZCBpbml0aWFsaXplcnMgZm9yIGdhcCBlbGVtZW50cy4KCSogbG9jYWxlL3Byb2dyYW1zL2xkLWN0eXBlLmMgKGN0eXBlX291dHB1dCk6IFdyaXRlIG91dCBpbmRleCBlbnRyaWVzCglmb3IgZ2FwIGVsZW1lbnRzLgoKMjAwMC0wNy0xNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBuc2NkL25zY2QuYyAocHJpbnRfdmVyc2lvbik6IFVwZGF0ZSBjb3B5cmlnaHQgeWVhci4KCjIwMDAtMDctMTcgIEdyZWcgTWNHYXJ5ICA8Z3JlZ0BtY2dhcnkub3JnPgoKCSogc3lzZGVwcy91bml4L21ha2Utc3lzY2FsbHMuc2g6IEhhbmRsZSBuZXcgYXJnIHNpZ25hdHVyZQoJa2V5bGV0dGVycyBGLCBJLCBTLCBXLiAgUmVtb3ZlIHVudXNlZCBrZXlsZXR0ZXIgVi4gIFN1cnJvdW5kCglzaWduYXR1cmUgYXJnbmFtZXMgd2l0aCBhbmdsZS1icmFja2V0cyBmb3IgdXNlIGFzIHdvcmQgZGVsaW1pdGVycywKCWFuZCB0byBpbmR1Y2Ugc3ludGF4IGVycm9ycyBmb3IgYW55IGFyZ3Mgbm90IGhhbmRsZWQuICBTcGxpdAoJbXVsdGktZWNobyBlY2hvZXMgYW5kIGNvbW1lbnQgZWFjaCBzdGFnZS4KCSogc3lzZGVwcy91bml4L2NvbW1vbi9zeXNjYWxscy5saXN0OiBSZWZpbmUgJiBjb3JyZWN0IHNpZ25hdHVyZXMuCgkqIHN5c2RlcHMvdW5peC9pbmV0L3N5c2NhbGxzLmxpc3Q6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvbW1hbi9zeXNjYWxscy5saXN0OiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c2NhbGxzLmxpc3Q6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3N5c2NhbGxzLmxpc3Q6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3N5c2NhbGxzLmxpc3Q6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXNjYWxscy5saXN0OiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3Yvc3lzY2FsbHMubGlzdDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvc3lzY2FsbHMubGlzdAoKCSogc3lzZGVwcy9nZW5lcmljL3N0cmNweS5jIChzdHJjcHkpOiBTdGlmbGUgdW51c2VkLXZhbHVlIHdhcm5pbmdzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9leGVjdmUuYyAoX19leGVjdmUpOiBBZGQgY29uc3QKCXF1YWxpZmllcnMuICBEb24ndCBjaGVjayBOVUxMLXRlcm1pbmF0b3Igb2YgYXJndiAmIGVudnAuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2dldHN5c3N0YXRzLmMgKGdldF9wcm9jX3BhdGgpOiBVc2UKCXVuYm91bmRlZCBwb2ludGVyIHR5cGUgaW4gd29yZC1zaXplIGFzc2VydGlvbi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcHRyYWNlLmMgKHB0cmFjZSk6IEFkZCBtaXNzaW5nCgljYXNlcyB0byBzdGlmbGUgd2FybmluZ3MuCgoJKiBsaWJpby9pb2Zkb3Blbi5jIChfSU9fbmV3X2Zkb3Blbik6IFBhc3MgX0lPX0ZJTEVfcGx1cyBwb2ludGVyIHRvCglfSU9fZmlsZV9hdHRhY2guCgkqIGxpYmlvL2lvdmRwcmludGYuYyAoX0lPX3ZkcHJpbnRmKTogTGlrZXdpc2UuCgoJKiBpbmNsdWRlL2xpYmMtc3ltYm9scy5oIChzeW1ib2xfc2V0X2RlY2xhcmUpOiBSZXZlcnQgMjAwMC0wNi0yNiBtb2RzLgoJKiBpbmNsdWRlL3NldC1ob29rcy5oIChSVU5fSE9PSyk6IFJldmVydCAyMDAwLTA2LTI2IG1vZHMuICBRdWFsaWZ5CglwdHIgYXMgX191bmJvdW5lZC4KCgkqIE1ha2VydWxlcyAoby1vYmplY3RzKTogU3VwcGxlbWVudCB3aXRoICQoby1vYmplY3RzJG8pLgoJKiBzdHJpbmcvTWFrZWZpbGUgKG8tb2JqZWN0cy5vYik6IEFkZCB2YXJpYWJsZSB0byBwdWxsCgl1bmJvdW5kZWQgdmVyc2lvbnMgb2YgbWVtY3B5LCBtZW1zZXQgYW5kIG1lbWNociBpbnRvIGxpYmNfYi4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9icC1jaGVja3MuaDogVXNlIHVuYm91bmRlZCBfX21lbWNocgoJcmF0aGVyIHRoYW4gbm9uLWV4aXN0ZW50IF9fdWJwX21lbWNoci4KCShDSEVDS19TVFJJTkdvcHQsIENIRUNLX0ZDTlRMLCBCT1VOREVEX04sIEJPVU5ERURfMSk6IE5ldyBtYWNyb3MuCgkoX0NIRUNLX1NUUklORywgX0NIRUNLX04pOiBOZXcgbWFjcm9zLgoJKENIRUNLX1NUUklORywgQ0hFQ0tfTiwgQ0hFQ0tfTm9wdCk6IFJld3JpdGUgaW4gdGVybXMgb2YgX0NIRUNLXyouCgkoQ0hFQ0tfSU9DVEwpOiBNb3ZlIGluc2lkZSBgI2lmICFfX0FTU0VNQkxFUl9fJy4KCSogc3lzZGVwcy9hbHBoYS9tZW1jaHIuUzogQ2hhbmdlIHN0cm9uZyBuYW1lIHRvICJfX21lbWNociIuCglBZGQgd2VhayBhbGlhcyAibWVtY2hyIi4KCSogc3lzZGVwcy9nZW5lcmljL21lbWNoci5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L21lbWNoci5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pYTY0L21lbWNoci5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9tNjhrL21lbWNoci5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL21lbWNoci5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L21lbWNoci5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy92YXgvbWVtY2hyLnM6IExpa2V3aXNlLgoKCSogaWNvbnYvZ2NvbnZfdHJhbnMuYzogQWRkICNpbmNsdWRlIDxzdGRsaWIuaD4gdG8gZ2V0IG1hbGxvYyBkZWNsLgoKCSogZWxmL2RsLXJ1bnRpbWUuYyAoZml4dXApOiBUcmFtcG9saW5lIHBhc3NlcyB1bmJvdW5kZWQgcG9pbnRlci4KCShwcm9maWxlX2ZpeHVwKTogRG9uJ3QgZGVmaW5lIGZvciBfX0JPVU5ERURfUE9JTlRFUlNfXy4KCSogc3lzZGVwcy9pMzg2L2RsLW1hY2hpbmUuaDogRG9uJ3QgdXNlIHJlZ3Bhcm0gYXR0cmlidXRlIGZvcgoJX19CT1VOREVEX1BPSU5URVJTX18uCgkoRUxGX01BQ0hJTkVfUlVOVElNRV9UUkFNUE9MSU5FKTogVXNlIG5vbi1yZWdwYXJtIHZlcnNpb24KCWZvciBfX0JPVU5ERURfUE9JTlRFUlNfXy4KCjIwMDAtMDctMTcgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGljb252L2djb252X29wZW4uYyAoX19nY29udl9vcGVuKTogSW5pdGlhbGl6ZSB0aGUgX19kYXRhCglmaWVsZCBvZiBzdHJ1Y3QgX19nY29udl90cmFuc19kYXRhIGRpZmZlcmVudGx5LiAgRG9uJ3QgcGFzcyBOVUxMIHRvCgl0cmFuc19pbml0X2ZjdC4gIFNpbXBsaWZ5IGxpc3QgYXBwZW5kIG9wZXJhdGlvbi4KCjIwMDAtMDctMTQgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGludGwvZGNpZ2V0dGV4dC5jIChkY2lnZXR0ZXh0KTogQ2FsbCBwbHVyYWxfZXZhbCBvbiBhbGwgcGxhdGZvcm1zLAoJbm90IG9ubHkgdGhvc2UgaGF2aW5nIHRzZWFyY2guCgoyMDAwLTA3LTE3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9sYW5naW5mby5oOiBBZGQgcGxhY2Vob2xkZXIgdmFsdWVzIGluIGVudW0gZm9yIHJlbW92ZWQKCUxDX0NUWVBFIGVudHJpZXMuCgoyMDAwLTA3LTE3ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGVsZi9kbC1hZGRyLmMgKF9kbF9hZGRyKTogS2VlcCBzZWFyY2hpbmcgaW4gdGhlIF9kbF9sb2FkZWQKCWNoYWluIGlmIHRoZSBQSERSIGNoZWNrIGZhaWxzLgoKMjAwMC0wNy0xNyAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBuc3MvZ2V0ZW50LmMgKHByaW50X2hvc3RzKTogTWFrZSBzdXJlIHdlIGFsd2F5cyBwcmludCBhIHNwYWNlCgliZXR3ZWVuIG51bWVyaWMgYWRkcmVzc2VzIGFuZCBob3N0bmFtZXMuCgoyMDAwLTA3LTE3ICBXb2xmcmFtIEdsb2dlciAgPHdnQG1hbGxvYy5kZT4KCgkqIG1hbGxvYy9tYWxsb2MuYyAoY2h1bmtfYWxsb2MpOiBVc2UgbW1hcF9jaHVuaygpIG9ubHkgaWYgYWxsb3dlZCwKCWkuZS4gaWYgbl9tbWFwc19tYXg+MC4KCjIwMDAtMDctMTYgIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCSogcmVzb2x2L25ldGRiLmggKEFJX1Y0TUFQUEVELCBBSV9BTEwsIEFJX0FERFJDT05GSUcpOiBBZGp1c3QKCXZhbHVlcyB0byByZW1vdmUgcG9zc2libGUgY2xhc2ggd2l0aCBvdGhlciBBSV8qIGNvbnN0YW50cy4KCShBSV9QQVNTSVZFLCBBSV9DQU5PTk5BTUUsIEFJX05VTUVSSUNIT1NUKTogRGVmaW5lIGFzCgloZXhhZGVjaW1hbCBjb25zdGFudHMgdG8gc3RyZXNzIHRoZSBmYWN0IHRoZXkncmUgaW4gZmFjdAoJYml0IGZsYWdzLgoKMjAwMC0wNy0xNSAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBuc3MvZ2V0WFhlbnRfci5jIFtORUVEX19SRVNdOiBJbmNsdWRlIDxyZXNvbHYuaD4uCgkoU0VURlVOQ19OQU1FLCBFTkRGVU5DX05BTUUsIFJFRU5UUkFOVF9HRVROQU1FKTogVXNlIHJlc19uaW5pdAoJaW5zdGVhZCBvZiByZXNfaW5pdC4KCjIwMDAtMDctMTYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogY3J5cHQvbWQ1LWNyeXB0LmMgKF9fbWQ1X2NyeXB0X3IpOiBBZGQgY2FzdHMgZm9yIGZpcnN0CglwYXJhbWV0ZXJzIG9mIG1lbXNldCBjYWxscyB0byBhdm9pZCB3YXJuaW5ncy4KCjIwMDAtMDctMTUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3RkbGliL01ha2VmaWxlOiBSZXdyaXRlIHJ1bGVzIHRvIGF2b2lkIHJ1bm5pbmcgaXNvbWFjIHVubGVzcwoJbmVjZXNzYXJ5LgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZ2V0Y3dkLmM6IENvcnJlY3QgbGFzdCBwYXRjaC4KCVBhdGNoIGJ5IEdyZWcgTWNHYXJ5IDxncmVnQG1jZ2FyeS5vcmc+LgoKCSogaW8vTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC1nZXRjd2QuCgkqIGlvL3RzdC1nZXRjd2QuYzogTmV3IGZpbGUuCgoJKiBpby9NYWtlZmlsZTogUmV3cml0ZSBydWxlcyB0byBhdm9pZCBydW5uaW5nIGZ0d3Rlc3QgdW5sZXNzIG5lY2Vzc2FyeS4KCjIwMDAtMDctMTUgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogaWNvbnYvZ2NvbnZfb3BlbiAoX19nY29udl9vcGVuKTogSW5pdGlhbGl6ZSB3aG9sZSBfX2djb252X3RyYW5zX2RhdGEKCXN0cnVjdHVyZS4KCjIwMDAtMDctMTMgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9wb3NpeC9zeXNjb25mLmM6IFVuZGVmIF9fc3lzY29uZiBiZWZvcmUgd2Vha19hbGlhcy4KCSogc3lzZGVwcy91bml4L2JzZC9nZXRwdC5jOiBVbmRlZiBfX2dldHB0IGJlZm9yZSB3ZWFrX2FsaWFzLgoKMjAwMC0wNy0xMiAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9WZXJzaW9ucyAobGliYyk6IEFkZCBfX2Nsb25lMiB0bwoJR0xJQkNfMi4yLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L0Rpc3Q6IEFkZCBjbG9uZTIuUy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9NYWtlZmlsZSBbJChzdWJkaXIpPW1pc2NdCgkoc3lzZGVwLXJvdXRpbmVzKTogQWRkIGNsb25lMi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9jbG9uZTIuUzogTmV3LgoKMjAwMC0wNy0xMyAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2Nsb25lLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2ZvcmsuYzogTmV3IGZpbGUuCgoyMDAwLTA2LTA1ICBEYXZpZCBNb3NiZXJnZXIgIDxkYXZpZG1AaHBsLmhwLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy9zaWdpbmZvLmg6IE5ldyBmaWxlCgliYXNlZCBvbiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3NpZ2luZm8uaC4KCUNoYW5nZSB0eXBlIG9mIHNpX2JhbmQgZnJvbSAiaW50IiB0byAibG9uZyIuCgkoc2lfaW1tKSBbVVNFX0dOVV06IERlZmluZQoJKHNpX2lzcikgW1VTRV9HTlVdOiBMaWtld2lzZS4KCShJTExfQlJFQUspIFtVU0VfR05VXTogTGlrZXdpc2UuCgkoRlBFX0RFQ09WRikgW1VTRV9HTlVdOiBMaWtld2lzZS4KCShGUEVfREVDRElWKSBbVVNFX0dOVV06IExpa2V3aXNlLgoJKEZQRV9ERUNFUlIpIFtVU0VfR05VXTogTGlrZXdpc2UuCgkoRlBFX0lOVkFTQykgW1VTRV9HTlVdOiBMaWtld2lzZS4KCShGUEVfSU5WREVDKSBbVVNFX0dOVV06IExpa2V3aXNlLgoJKFRSQVBfQlJBTkNIKSBbVVNFX0dOVV06IExpa2V3aXNlLgoJKFRSQVBfSFdCS1BUKSBbVVNFX0dOVV06IExpa2V3aXNlLgoKMjAwMC0wNy0wNiAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3N5cy91Y29udGV4dC5oOiBEbyBub3QgaW5jbHVkZQoJYml0cy9zaWdjb250ZXh0IGFzIHN0cnVjdCBtY29udGV4dCBkb2VzIG5vdCBkZXBlbmQgb24gaXQuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvc2lnY29udGV4dC5oOiBOZXcgZmlsZS4KCjIwMDAtMDctMDQgIEplcyBTb3JlbnNlbiAgPGplc0BsaW51eGNhcmUuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zaG1jdGwuYzogUmVtb3ZlZC4KCjIwMDAtMDctMDQgIERhdmlkIE1vc2Jlcmdlci1UYW5nICA8ZGF2aWRtQGhwbC5ocC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvbXNxLmg6IE5ldyBmaWxlLgoKMjAwMC0wNi0yMiAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvbW1hbi5oOiBOZXcgZmlsZS4KCjIwMDAtMDctMTUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW50bC9NYWtlZmlsZSAodGVzdC1zcmNzKTogQWRkIHRzdC10cmFuc2xpdC4KCSh0ZXN0cyk6IExpa2V3aXNlLgoJQWRkIHJ1bGVzIHRvIGJ1aWxkIGFuZCBydW4gdHN0LXRyYW5zbGl0LgoJKiBpbnRsL3RzdC10cmFuc2xpdC5jOiBOZXcgZmlsZS4KCSogaW50bC90c3QtdHJhbnNsaXQuc2g6IE5ldyBmaWxlLgoJKiBpbnRsL3RyYW5zbGl0LnBvOiBOZXcgZmlsZS4KCjIwMDAtMDctMTQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnYvbG9vcC5jIChTVEFOREFSRF9FUlJfSEFORExFUik6IElmIG9uZSBvZiB0aGUKCXRyYW5zbGl0ZXJhdGlvbiBmdW5jdGlvbiBkaWQgaXRzIGpvYiwgY29udGludWUsIGRvbid0IHN0b3AuCgoJKiBpY29udmRhdGEvaXNvNjQ2LmM6IExpdHRsZSBvcHRpbWl6YXRpb25zIGluIGJvZHkgZm9yIGNvbnZlcnNpb24KCWZyb20gVUNTNC4KCjIwMDAtMDctMTQgIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCSogZGxmY24vZGxlcnJvci5jIChmcmVlX2tleV9tZW0pOiBBZGQgY2FzdCB0byBzaWxlbmNlIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDAwLTA3LTE0ICBNYXJrIEtldHRlbmlzICA8a2V0dGVuaXNAZ251Lm9yZz4KCgkqIGNvbmZpZ3VyZS5pbjogQ2hlY2sgZm9yIHB3ZCBiaW5hcnkuCgkqIGNvbmZpZy5tYWtlLmluOiBBZGQgUFdEX1AgdG8gYmUgc3Vic2l0dXRlZC4KCSogTWFrZXJ1bGVzOiBVc2UgJChQV0RfUCkgaW5zdGVhZCBvZiAvYmluL3B3ZC4KCjIwMDAtMDctMTQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnZkYXRhL01ha2VmaWxlIChtb2R1bGVzKTogQWRkIEdCMTgwMzAuCgkoZGlzdHJpYnV0ZSk6IEFkZCBnYjE4MDMwLmMuCgkqIGljb252ZGF0YS9nY29udi1tb2R1bGVzOiBBZGQgZW50cmllcyBmb3IgR0IxODAzMCBtb2R1bGUuCgkqIGljb252ZGF0YS9nYjE4MDMwLmM6IE5ldyBmaWxlLgoJQ29udHJpYnV0ZWQgYnkgV2FuZyBTaG91SHVhIDxzaG91aHVhd2FuZ0ByZWRmbGFnLWxpbnV4LmNvbT4KCWFuZCBXdSBKaWFuLgoKMjAwMC0wNy0xMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZ2V0c3lzc3RhdHMuYyAoZnJlZV9tZW0pOiBSZXZlcnQgbGFzdAoJcGF0Y2guCgoJKiBncnAvZmdldGdyZW50LmMgKGZyZWVfbWVtKTogUmVtb3ZlIGlmIC0gZnJlZSAoMCkgaXMgdmFsaWQuCgkqIGluZXQvZ2V0bmV0Z3JlbnQuYyAoZnJlZV9tZW0pOiBMaWtld2lzZS4KCSogbWlzYy9tbnRlbnQuYyAoZnJlZV9tZW0pOiBMaWtld2lzZS4KCSogbnNzL2dldFhYYnlZWS5jIChmcmVlX21lbSk6IExpa2V3aXNlLgoJKiBuc3MvZ2V0WFhlbnQuYyAoZnJlZV9tZW0pOiBMaWtld2lzZS4KCSogcHdkL2ZnZXRwd2VudC5jIChmcmVlX21lbSk6IExpa2V3aXNlLgoJKiBzaGFkb3cvZmdldHNwZW50LmMgKGZyZWVfbWVtKTogTGlrZXdpc2UuCgoyMDAwLTA3LTE0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN1bnJwYy94ZHIuYyAoeGRyX3VfbG9uZyk6IEhhbmRsZSByZWFkaW5nIG9mIHVuc2lnbmVkIGxvbmcgb24KCTY0LWJpdCBhcmNoaXRlY3R1cmUgY29ycmVjdGx5IFtQUiBsaWJjLzE3OTRdLgoKMjAwMC0wNy0xMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvVmVyc2lvbnMgKGxkKTogRXhwb3J0IF9kbF9vdXRfb2ZfbWVtb3J5IGZvciBHTElCQ18yLjIuCgkqIGRsZmNuL2RsZXJyb3IuYyAoZGxlcnJvcik6IERvbid0IGZyZWUgdGhlIGVycm9yIHN0cmluZyBpZiBpdCBpcyB0aGUKCXJlcG9ydCB0aGF0IHdlIGFyZSBvdXQgb2YgbWVtb3J5LgoJKiBlbGYvZGwtZGVwcy5jIChfZGxfbWFwX29iamVjdF9kZXBzKTogTGlrZXdpc2UuCgkqIGVsZi9kbC1saWJjLmMgKGRsZXJyb3JfcnVuKTogTGlrZXdpc2UuCgkqIGVsZi9kbC1vcGVuLmMgKF9kbF9vcGVuKTogTGlrZXdpc2UuCgkqIGVsZi9ydGxkLmMgKGRsX21haW4pOiBMaWtld2lzZS4KCSogZWxmL2RsLWVycm9yLmM6IERlZmluZSBfZGxfb3V0X29mX21lbW9yeS4KCShfZGxfc2lnbmFsX2Vycm9yKTogUmV0dXJuIF9kbF9vdXRfb2ZfbWVtb3J5IGlmIHdlIGNhbm5vdCBkdXBsaWNhdGUKCXRoZSBlcnJvciBzdHJpbmcuCgkqIHN5c2RlcHMvZ2VuZXJpYy9sZHNvZGVmcy5oOiBEZWNsYXJlIF9kbF9vdXRfb2ZfbWVtb3J5LgoJW1BSIGxpYmMvMTgxM10uCgoJKiBkbGZjbi9kbGVycm9yLmMgKGZyZWVfa2V5X21lbSk6IEFsc28gZnJlZSBlcnJvciBzdHJpbmcuCgoJKiBpY29udi9sb29wLmM6IEZpeCBjb21tZW50LgoKCSogbWFsbG9jL210cmFjZS5jICh0cl9mcmVlaG9vayk6IFJldHVybiBpbW1lZGlhdGVseSBpZiBwdHIgaXMgTlVMTC4KCjIwMDAtMDctMTMgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2dldGN3ZC5jIChfX2dldGN3ZCk6IENvcnJlY3RseSBoYW5kbGUKCWdldGN3ZCAoTlVMTCwgc2l6ZSkgd2l0aCBzaXplID4gMC4KCUZpeGVzIFBSIGxpYmMvMTc4OCwgcmVwb3J0ZWQgYnkgSm9obiBCdWRkZXJ5IDxqdmJAY3liZXJzY2llbmNlLmNvbT4uCgoyMDAwLTA3LTEzICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBwb3NpeC9NYWtlZmlsZTogUmVtb3ZlIGJ1aWxkIHJ1bGVzIGZvciBsaWJwb3NpeC4KCjIwMDAtMDctMTMgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzeXNkZXBzL2dlbmVyaWMvZ2xvYi5jIChnbG9iKTogRml4IG1lbW9yeSBsZWFrLgoJW1NIRUxMXTogUmVtb3ZlIHJlZmVyZW5jZSB0byB1bmRlZmluZWQgdmFyaWFibGUgYGZpbGVzJy4KCUZpeGVzIFBSIGxpYmMvMTc4Mi4KCjIwMDAtMDctMTMgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvVmVyc2lvbnM6IEFkZCBsaWJnY2MgZnJhbWUgaGFuZGxpbmcKCWZ1bmN0aW9ucy4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2dldHN5c3N0YXRzLmMgKGZyZWVfbWVtKTogT25seSBmcmVlCgltZW1vcnkgaWYgaXQgd2FzIGFsbG9jYXRlZC4KCjIwMDAtMDctMTIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnYvZ2NvbnZfZGIuYyAoZ2VuX3N0ZXBzKTogQWx3YXlzIGluaXRpYWxpemUgX19kYXRhIGZpZWxkIG9mCglzdGVwLgoKCSogaWNvbnYvZ2NvbnZfb3Blbi5jIChfX2djb252X29wZW4pOiBSZWFwcGx5CgkyMDAwLTA3LTEyIEJydW5vIEhhaWJsZSA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCQkqIGljb252L2djb252X29wZW4uYyAoX19nY29udl9vcGVuKTogTWVyZ2UgZHVwbGljYXRlZCBjb2RlLgoKCSogaWNvbnYvZ2NvbnZfb3Blbi5jOiBVbmRvIGxhc3QgdHdvIGNoYW5nZXMgZm9yIG5vdy4gIFRoZXkgYnJlYWsKCWV2ZXJ5dGhpbmcuCgoyMDAwLTA3LTEyICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBlbGYvTWFrZWZpbGUgKFNZU0NPTkYtRkxBR1MpOiBBZGRlZCB0byBwYXNzIHN5c2NvbmZkaXIgdG8KCWNvbXBpbGVyLgoJKENGTEFHUy1jYWNoZS5jKTogQWRkZWQsIHVzZXMgU1lTQ09ORi1GTEFHUy4KCShDRkxBR1MtZGwtY2FjaGUuYyk6IExpa2V3aXNlLgoJKENGTEFHUy1sZGNvbmZpZy5jKTogQWRkZWQsIHBhc3NlcyBkaXJlY3RvcnkgbG9jYXRpb25zLgoKCSogc3lzZGVwcy9nZW5lcmljL2RsLWNhY2hlLmggKExEX1NPX0NBQ0hFKTogVXNlIFNZU0NPTkZESVIgdG8KCWxvY2F0ZSBjYWNoZS4KCSogZWxmL2xkY29uZmlnLmMgKExEX1NPX0NPTkYpOiBMaWtld2lzZS4KCShtYWluKTogVXNlIGNvbmZpZ3VyZWQgTElCRElSIGFuZCBTTElCRElSLgoKMjAwMC0wNy0xMSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBtYXRoL2JpdHMvY21hdGhjYWxscy5oIChjaW1hZyk6IEFkZCBfX1RIUk9XLgoJKGNyZWFsLCBjb25qKTogTGlrZXdpc2UuCgkqIHdjdHlwZS93Y3R5cGUuaCAoX0lTd2JpdCk6IEF2b2lkIHdhcm5pbmdzIGFib3V0IHNoaWZ0aW5nIGxlZnQKCWJ5IG5lZ2F0aXZlIHZhbHVlLgoKMjAwMC0wNy0xMiAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogcmVzb2x2L1ZlcnNpb25zIChsaWJyZXNvbHYpOiBBZGQgX19yZXNfaG9zdGFsaWFzIHRvIEdMSUJDXzIuMgoJZm9yIF9uc3NfZG5zX2dldGhvc3RieW5hbWUyX3IgaW4gcmVzb2x2L25zc19kbnMvZG5zLWhvc3QuYy4KCjIwMDAtMDctMTIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogd2NzbWJzL3djc21ic2xvYWQuYyAoX193Y3NtYnNfbG9hZF9jb252KTogU2h1dCBnY2MgdXAgYWx0aG91Z2gKCWl0IGlzIHdyb25nLgoKMjAwMC0wNy0xMiAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaWNvbnYvZ2NvbnZfb3Blbi5jIChfX2djb252X29wZW4pOiBNZXJnZSBkdXBsaWNhdGVkIGNvZGUuCgoyMDAwLTA3LTEyICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udi9nY29udl9idWlsdGluLmMgKF9fZ2NvbnZfZ2V0X2J1aWx0aW5fdHJhbnMpOiBJbml0aWFsaXplCglfX21vZG5hbWUuCgoyMDAwLTA3LTEyICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udi9nY29udl9vcGVuLmMgKF9fZ2NvbnZfb3Blbik6IEluaXRpYWxpemUKCXJlc3VsdC0+X19zdGVwc1tjbnRdLl9fZGF0YS4KCjIwMDAtMDctMTIgIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCSogbnNzL2dldGVudC5jIChzZXJ2aWNlc19rZXlzKTogUGFzcyBwb3J0IG51bWJlciBpbiBuZXR3b3JrIGJ5dGUKCW9yZGVyIGluIGNhbGwgdG8gZ2V0c2VydmJ5cG9ydC4KCjIwMDAtMDctMTEgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN0ZGxpYi9NYWtlZmlsZSAodGVzdC1jYW5vbi1BUkdTKTogRml4IGZvciBidWlsZGluZyBpbiB0aGUKCXNvdXJjZSBkaXIuCgkqIGludGwvTWFrZWZpbGUgKGRvLWdldHRleHQtdGVzdCk6IExpa2V3aXNlLgoJKiBkaXJlbnQvTWFrZWZpbGUgKG9wZW5kaXItdHN0MS1BUkdTKTogTGlrZXdpc2UuCgoyMDAwLTA3LTExICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogTWFrZWNvbmZpZyAocnVuLXByb2dyYW0tcHJlZml4KTogTmV3IHJ1bGUuCgkoYnVpbHQtcHJvZ3JhbS1jbWQpOiBVc2UgcnVuLXByb2dyYW0tcHJlZml4LgoKMjAwMC0wNy0xMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvbGFuZ2luZm8uaDogTWFrZSBDUk5DWVNUUiwgUkFESVhDSEFSLCBUSE9VU0FORFNfU0VQLCBZRVNFWFBSLAoJYW5kIE5PRVhQUiB1bmNvbmRpdGlvbmFsbHkgYXZhaWxhYmxlLgoKMjAwMC0wNy0xMiAgR3JlZyBNY0dhcnkgIDxncmVnQG1jZ2FyeS5vcmc+CgoJKiBzeXNkZXBzL2dlbmVyaWMvb3BlbjY0LmM6IFdyYXAgZXh0ZXJuIHN5bWJvbHMgaW4gQlBfU1lNICgpLgoJKiBzeXNkZXBzL3Bvc2l4L29wZW42NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2ZlZ2V0ZW52LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvZnB1L2ZlZ2V0ZW52LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvZnB1L2Zlc2V0ZW52LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvZnB1L2ZldXBkYXRlZW52LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvZnB1L2ZnZXRleGNwdGZsZy5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL2ZwdS9mcmFpc2VleGNwdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL2ZwdS9mc2V0ZXhjcHRmbGcuYzogTGlrZXdpc2UuCgoyMDAwLTA3LTExICBHcmVnIE1jR2FyeSAgPGdyZWdAbWNnYXJ5Lm9yZz4KCgkqIGluY2x1ZGUvbGliYy1zeW1ib2xzLmggWyFfX0FTU0VNQkxFUl9fXSAoc3Ryb25nX2FsaWFzKToKCUFkZCBleHRyYSBsZXZlbCBvZiBtYWNybyBleHBhbnNpb24uCglbIV9fQVNTRU1CTEVSX18gJiYgSEFWRV9XRUFLX1NZTUJPTFNdICh3ZWFrX2FsaWFzKTogbkxpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvYnAtdGh1bmtzLmg6IEVuc3VyZSBgc3RydWN0IHRpbWV2YWwnIGRlZmluaXRpb24KCWlzIGF2YWlsYWJsZSBhdCB0aGUgdGltZSBgc2VsZWN0JyBwcm90b3R5cGUgaXMgZGVjbGFyZWQuCgkqIHN5c2RlcHMvdW5peC9tYWtlLXN5c2NhbGxzLnNoOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlcy4KCUNvbGxlY3Qgbm9uLXZlcnNpb25lZCB3ZWFrIGFsaWFzZXMuICBDb25zaWRlciBvbmx5IG5vbi12ZXJzaW9uZWQKCWFsaWFzZXMgZm9yIHRoZSB1c2VyLXZpc2libGUgc3lzdGVtY2FsbCBuYW1lLiAgRG8gY2hlY2tzIGlubGluZSB3aXRoCgljYWxsIHRvIHByaW1pdGl2ZSBzeXN0ZW0gY2FsbC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcHRyYWNlLmMgKHB0cmFjZSk6IEFkZCB2b2lkIGNhc3QgdG8KCXN0YW5kLWFsb25lIGJvdW5kcyBjaGVja3MgdG8gc3VwcHJlc3MgdW51c2VkIHZhbHVlIHdhcm5pbmdzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXNjdGwuYyAoX19zeXNjdGwpOiBMaWtld2lzZS4KCjIwMDAtMDctMTAgIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvY2hlY2tfZmRzLmM6IE5ldyBmaWxlLiAgSW1wbGVtZW50cwoJZmlsZSBkZXNjcmlwdG9yIGNoZWNraW5nIGluIFNVSUQgcHJvZ3JhbXMgZm9yIHRoZSBIdXJkLgoKCSogcmVzb2x2L25zc19kbnMvZG5zLWhvc3QuYyAoX25zc19kbnNfZ2V0aG9zdGJ5bmFtZTJfcik6IFVzZQoJcmVzX2hvc3RhbGlhcyBpbnN0ZWFkIG9mIF9faG9zdGFsaWFzIGZvciB0aHJlYWQtc2FmZXR5LgoKMjAwMC0wNy0wOSAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBlbGYvcnRsZC5jIChkbF9tYWluKTogTW92ZSBjYWxsIHRvIF9fbGliY19jaGVja19zdGFuZGFyZF9mZHMuLi4KCSogc3lzZGVwcy9nZW5lcmljL2RsLXN5c2RlcC5jIChfZGxfc3lzZGVwX3N0YXJ0KTogLi4uIHRvIGhlcmUuCgoyMDAwLTA3LTEwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvZmVhdHVyZXMuaDogSW5jbHVkZSBJU08gQzk5IGZlYXR1cmVzIGlmIHRoZSBjb21waWxlciB1c2VkCglpcyBhbiBJU08gQzk5IGNvbXBpbGVyLgoJUGF0Y2ggYnkgSm9zZXBoIFMuIE15ZXJzIDxqc20yOEBjYW0uYWMudWs+LgoKMjAwMC0wNy0wOCAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBpY29udi9nY29udl9jb25mLmM6IEluY2x1ZGUgPGJpdHMvbGliYy1sb2NrLmg+LgoKMjAwMC0wNy0xMCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zaWdhY3Rpb24uYzogTWFrZSBhbGlhcyB3ZWFrIHNpbmNlCglpdCdzIG92ZXJyaWRkZW4gYnkgbGlicHRocmVhZHMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NpZ2FjdGlvbi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL3NpZ2FjdGlvbi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zaWdhY3Rpb24uYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjMzIvc2lnYWN0aW9uLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L3NpZ2FjdGlvbi5jOiBMaWtld2lzZS4KCgkqIG1hbGxvYy9NYWtlZmlsZTogUnVuIHRzdC1tdHJhY2Ugb25seSB3aXRoIHNoYXJlZCBsaWJzLgoKCSogc3RkaW8tY29tbW9uL01ha2VmaWxlOiBSdW4gdW5icHV0YyBhbmQgdHN0LXByaW50ZiB0ZXN0cyBvbmx5Cgl3aXRoIHNoYXJlZCBsaWJzLgoKMjAwMC0wNy0xMCAgTWFjaWVqIFcuIFJvenlja2kgIDxtYWNyb0BkczIucGcuZ2RhLnBsPgoKCSogc3lzZGVwcy9taXBzL2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfcnVudGltZV9saW5rX21hcCk6IFZlcmlmeQoJdGhhdCBncHJlZyByZWFsbHkgcG9pbnRzIHRvIHRoZSBHT1Qgc2VjdGlvbiBvZiB0aGUgY2FsbGluZyBvYmplY3QuCglTY2FuIGFsbCBQVF9MT0FEIHNlZ21lbnRzIG9mIG9iamVjdHMgZm9yIHN0dWJfcGMsIGluc3RlYWQgb2Ygb25seQoJY2hlY2tpbmcgYSBzdGFydCBhZGRyZXNzIG9mIGZpcnN0IG9uZS4KCUZpeCB0eXBvcy4KCSogc3lzZGVwcy9taXBzL21pcHM2NC9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX3J1bnRpbWVfbGlua19tYXApOgoJTGlrZXdpc2UuCgoJKiBzeXNkZXBzL21pcHMvZGwtbWFjaGluZS5oIChfX2RsX3J1bnRpbWVfcmVzb2x2ZSk6IEZpeCBhIHR5cG8uCgoyMDAwLTA3LTEwICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaWdhY3Rpb24uYzogRml4IHR5cG8KCShzdHJpbmdfYWxpYXMtPnN0cm9uZ19hbGlhcykuCgoyMDAwLTA3LTA4ICBNYXJrIEtldHRlbmlzICA8a2V0dGVuaXNAZ251Lm9yZz4KCgkqIGh1cmQvaHVyZC9mZC5oOiBJbmNsdWRlIDxjdGhyZWFkcy5oPiBpbnN0ZWFkIG9mIDxsb2NrLWludGVybi5oPi4KCjIwMDAtMDctMDcgIEdyZWcgTWNHYXJ5ICA8Z3JlZ0BtY2dhcnkub3JnPgoKCSogc3lzZGVwcy91bml4L21ha2Utc3lzY2FsbHMuc2g6IFRvbGVyYXRlIHN5c2NhbGxzIHRoYXQKCWhhdmUgbm8gbmFtZXMgd2l0aG91dCBsZWFkaW5nIHVuZGVyc2NvcmVzLgoKMjAwMC0wNy0wNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udmRhdGEvc2ppcy5jIChmcm9tX3VjczRfbGF0MSk6IEZpeCBtYXBwbmcgb2YgVTAwNUMgYW5kCglVMDA3RS4KCgkqIHN0ZGlvLWNvbW1vbi9NYWtlZmlsZSAodGVzdHMpOiBSZW1vdmUgdHN0LXByaW50ZiBoZXJlLi4uCgkodGVzdHMtc3Jjcyk6IC4uLmFuZCBhZGQgaXQgaGVyZS4KCShkaXN0cmlidXRlKTogQWRkIHRzdC11bmJwdXRjLnNoIGFuZCB0c3QtcHJpbnRmLnNoLgoJQWRkIHJ1bGVzIHRvIHJ1biB0c3QtcHJpbnRmLnNoLgoJKiBzdGRpby1jb21tb24vdHN0LXByaW50Zi5jOiBNb3ZlIGNvZGUgYXJvdW5kIHNvIHRoYXQgdGhlcmUgaXMgcmVhbGx5CglubyBmdXJ0aGVyIG91dHB1dCB3aGVyZSBpdCdzIHN0YXRlZC4KCSogc3RkaW8tY29tbW9uL3RzdC1wcmludGYuc2g6IE5ldyBmaWxlLgoKMjAwMC0wNy0wNyAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBodXJkL3ZwcHJpbnRmLmMgW1VTRV9JTl9MSUJJT106IEluY2x1ZGUgPGxpYmlvUC5oPi4KCShkb193cml0ZSk6IFJlbmFtZWQgZnJvbSBwd3JpdGUuCgkodnBwcmludGYpIFtVU0VfSU5fTElCSU9dOiBBZGp1c3QgZm9yIHJlbmFtaW5nIGFuZCByZXNodWZsaW5nIG9mCglgc3RydWN0IF9JT19jb29raWVfZmlsZScuCgoyMDAwLTA3LTA3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hbGxvYy9tdHJhY2UucGw6IEV4aXQgd2l0aCBleGl0IGNvZGUgMSBpZiBhbnkgbGVhayB3YXMKCWRldGVjdGVkLgoJKiBtYWxsb2MvdHN0LW10cmFjZS5zaDogUnVuIG10cmFjZSBzY3JpcHQuCgoyMDAwLTA3LTA3ICBHcmVnIE1jR2FyeSAgPGdyZWdAbWNnYXJ5Lm9yZz4KCgkqIHBvc2l4L3JlZ2V4LmMgKEVYVEVORF9CVUZGRVIpOiBDb21wdXRlIGluY3JlbWVudCBvbmNlLgoJTW92ZSBhbGwgdGhyZWUgY29tcG9uZW50cyBvZiBhIGJvdW5kZWQgcG9pbnRlci4KCjIwMDAtMDctMDcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbG9jYWxlL3Byb2dyYW1zL2xvY2FsZS5jICh3cml0ZV9sb2NhbGVzKTogRG9uJ3Qgc2ltcGx5IGFkZCBhbGwKCWRpcmVjdG9yaWVzIGZvdW5kIGluIHRoZSBzdWJkaXIsIHRlc3Qgd2hldGhlciBhdCBsZWFzdCB0aGUKCUxDX0NUWVBFIGZpbGUgaXMgaW4gdGhlcmUuCgoyMDAwLTA3LTA2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252ZGF0YS9ldWMtanAuYzogTWFwIGNoYXJhY3RlcnMgaW4gQzEgYXJlYSB0byBpdHNlbGYuCgkqIGljb252ZGF0YS9ldWMta3IuYzogTGlrZXdpc2UuCgoJKiBzdGRpby1jb21tb24vdmZwcmludGYuYyAocHJvY2Vzc19zdHJpbmdfYXJnKTogQ2hlY2sgcmVzdWx0IG9mCgl3Y3J0b21iIGNhbGwgYW5kIGJhaWwgb3V0IGlmIGl0IGZhaWxlZC4KCgkqIG1hbGxvYy9NYWtlZmlsZSAodGVzdC1zcmNzKTogQWRkIHRzdC1tdHJhY2UuCgkoZGlzdHJpYnV0ZSk6IEFkZCB0c3QtbXRyYWNlLnNoLgoJQWRkIHJ1bGUgdG8gcnVuIHRzdC1tdHJhY2Uuc2guCgkqIG1hbGxvYy90c3QtbXRyYWNlLmM6IE5ldyBmaWxlLgoJKiBtYWxsb2MvdHN0LW10cmFjZS5zaDogTmV3IGZpbGUuCgoJKiBpbmNsdWRlL3NpZ25hbC5oOiBEZWNsYXJlIF9fbGliY19zaWdhY3Rpb24uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L1ZlcnNpb25zOiBFeHBvcnQgX19saWJjX3NpZ2FjdGlvbi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2lnYWN0aW9uLmM6IEFkZCBfX2xpYmNfc2lnYWN0aW9uIGFsaWFzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vc2lnYWN0aW9uLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3NpZ2FjdGlvbi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zaWdhY3Rpb24uYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjMzIvc2lnYWN0aW9uLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L3NpZ2FjdGlvbi5jOiBMaWtld2lzZS4KCgkqIGNvbmZpZ3VyZS5pbjogRml4IENGTEFHUy1tZW1wcm9mc3RhdC5jIGRlZmluaXRpb24gYWZ0ZXIKCTIwMDAtMDYtMTkgY2hhbmdlLgoJUGF0Y2ggYnkgQnJhZGZvcmQgVy4gSm9obnNvbiA8YnJhZGZvcmRAbWF0aC51bW4uZWR1Pi4KCjIwMDAtMDctMDYgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfcmVsYSk6IFBhc3MgMAoJaW5zdGVhZCBvZiBOVUxMIHRvIGVsZl9tYWNoaW5lX2ZpeHVwX3BsdCB0IGFyZ3VtZW50LgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9yZWxhKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjMzIvbW1hcDY0LmMgKF9fbW1hcDY0KTogQWRkCgljYXN0LgoKMjAwMC0wNy0wNiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogY3J5cHQvTWFrZWZpbGUgKExETElCUy1jZXJ0KTogUmVtb3ZlZC4KCShMRExJQlMtbWQ1Yy10ZXN0KTogUmVtb3ZlZC4KCSgkKG9ianBmeCljZXJ0KTogUmVuYW1lZCBmcm9tIGNlcnQub3V0IHRvIGZpeCBkZXBlbmRlbmNpZXMuCgkoJChvYmpwZngpbWQ1Yy10ZXN0KTogTGlrZXdpc2UgZm9yIG1kNWMtdGVzdC5vdXQuCgoyMDAwLTA3LTA2ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9nZXRzeXNzdGF0cy5jIChnZXRfcHJvY19wYXRoKTogVGhlIHR5cGUKCW9mIHRoZSBwcm9jIHN5c3RlbSBpcyAicHJvYyIuCgoJKiBzeXNkZXBzL2dlbmVyaWMvbGliYy1zdGFydC5jIChfX2xpYmNfc3RhcnRfbWFpbik6IEluaXRpYWxpemUKCXRocmVhZCBsaWJyYXJ5IGZvciBzdGF0aWMgcHJvZ3JhbXMuCgoyMDAwLTA3LTA2ICBHcmVnIE1jR2FyeSAgPGdyZWdAbWNnYXJ5Lm9yZz4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9icC1jaGVja3MuaCAoQ0hFQ0tfU0lHU0VULCBDSEVDS19TSUdTRVRvcHQpOgoJTmV3IG1hY3Jvcy4KCSogc3lzZGVwcy9nZW5lcmljL3N0cmNweS5jOiBBZGQgYm91bmRzIGNoZWNrcy4KCSogc3lzZGVwcy91bml4L2Z4c3RhdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3hzdGF0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvY29tbW9uL2x4c3RhdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWlvX3NpZ3F1ZXVlLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9leGVjdmUuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2Z4c3RhdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZnhzdGF0NjQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2dldGN3ZC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZ2V0ZGVudHMuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2xsc2Vlay5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbHhzdGF0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9seHN0YXQ2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG9sbC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcHJlYWQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3ByZWFkNjQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3B0cmFjZS5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcHdyaXRlLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wd3JpdGU2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcmVhZHYuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NpZ2FjdGlvbi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2lncGVuZGluZy5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2lncHJvY21hc2suYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NpZ3F1ZXVlLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaWdzdXNwZW5kLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaWd0aW1lZHdhaXQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NpZ3dhaXRpbmZvLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXNjdGwuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3RydW5jYXRlNjQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3VzdGF0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC93cml0ZXYuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3hta25vZC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveHN0YXQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3hzdGF0NjQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9zaWdhY3Rpb24uYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvYnJrLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2Nob3duLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2Z4c3RhdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9nZXRncm91cHMuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvZ2V0cmVzZ2lkLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2dldHJlc3VpZC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9nZXRybGltaXQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvbGNob3duLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2x4c3RhdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zZXRncm91cHMuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc2V0cmxpbWl0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3NpZ2FjdGlvbi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni94c3RhdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9meHN0YXQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvbHhzdGF0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3NpZ2FjdGlvbi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zaWdwZW5kaW5nLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3NpZ3Byb2NtYXNrLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3NpZ3N1c3BlbmQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQveHN0YXQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L202OGsvY2hvd24uYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvcHJlYWQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvcHJlYWQ2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9wd3JpdGUuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvcHdyaXRlNjQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvdHJ1bmNhdGU2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy91c3RhdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy94bWtub2QuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjMzIvbW1hcDY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L3NpZ2FjdGlvbi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9zaWdwZW5kaW5nLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L3NpZ3Byb2NtYXNrLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L3NpZ3N1c3BlbmQuYzogTGlrZXdpc2UuCgoJKiBzdHJpbmcvZW5kaWFuLmggKF9fTE9OR19MT05HX1BBSVIpOiBOZXcgbWFjcm8uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2Z0cnVuY2F0ZTY0LmM6IFVzZSBpdC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcHJlYWQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3ByZWFkNjQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3B3cml0ZS5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcHdyaXRlNjQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3RydW5jYXRlNjQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvZnRydW5jYXRlNjQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvcHJlYWQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvcHJlYWQ2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9wd3JpdGUuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvcHdyaXRlNjQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvdHJ1bmNhdGU2NC5jOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9wdHJhY2UuaCAoUFRfU1lTQ0FMTCk6IEZpeCBMSFMuCgoyMDAwLTA3LTA2ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9nZXRzeXNzdGF0cy5jIChnZXRfcHJvY19wYXRoKToKCUluaXRpYWxpemUgcmVzdWx0LgoKCSogbWF0aC90ZXN0LWZwdWN3LmM6IEluY2x1ZGUgPHN0ZGlvLmg+IGZvciBwcmludGYuCgoyMDAwLTA3LTA1ICBHcmVnIE1jR2FyeSAgPGdyZWdAbWNnYXJ5Lm9yZz4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9icC1jaGVja3MuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9icC10aHVua3MuaDogUmVwbGFjZSBnZW5lcmljIHRodW5rIGRlZmluaXRpb25zCgl3aXRoIGxpc3Qgb2YgI2luY2x1ZGUgZmlsZXMuCgkqIHN5c2RlcHMvdW5peC9tYWtlLXN5c2NhbGxzLnNoOiBIYW5kbGUgbmV3IGFyZyBzaWduYXR1cmUKCWtleWxldHRlcnMgYSwgYiwgQiwgZiwgbiwgTiwgUCwgdiwgVi4gIEZpeHVwIHNvbWUgaW5kZW50YXRpb24uCglEb24ndCBnZW5lcmF0ZSBCUCB0aHVuayBpZiBgVicgYXBwZWFycyBpbiBzaWduYXR1cmUuCglHZW5lcmF0ZSB0aHVua3Mgd2l0aCBjb21wbGV0ZSBib3VuZHMgY2hlY2tzLgoJKiBzeXNkZXBzL3VuaXgvc3lzY2FsbHMubGlzdDogUmVmaW5lIHNpZ25hdHVyZXMgdXNpbmcgbmV3IGtleWxldHRlcnMuCgkqIHN5c2RlcHMvdW5peC9pbmV0L3N5c2NhbGxzLmxpc3Q6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvbW1hbi9zeXNjYWxscy5saXN0OiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzY2FsbHMubGlzdDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc3lzY2FsbHMubGlzdDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvc3lzY2FsbHMubGlzdDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvc3lzY2FsbHMubGlzdDogTGlrZXdpc2UuCgoyMDAwLTA3LTA1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2dldHN5c3N0YXRzLmMgKGdldF9wcm9jX3BhdGgpOiBDYWNoZQoJcmVzdWx0LiAgU2VhcmNoIGZpcnN0IGluIC9ldGMvbXRhYiAocHJvYy9tb3VudHMgd291bGQgYmUgc3R1cGlkKS4KCUlmIG1vdW50IG5vdCBpbiB0aGUgZmlsZSBmYWxsIGJhY2sgb24gL3Byb2MuCgoJKiBjcnlwdC9tZDUtY3J5cHQuYyAoX19tZDVfY3J5cHRfcik6IENsZWFyIGFycmF5cyB0aGUga2V5IGFuZCBzYWx0CglzdHJpbmcgZ290IGNvcGllZCBpbi4KCVBhdGNoIGJ5IFNvbGFyIERlc2lnbmVyIDxzb2xhckBmYWxzZS5jb20+LgoKMjAwMC0wNy0wNSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbWFudWFsL2luc3RhbGwudGV4aSAoSW5zdGFsbGF0aW9uKTogVXBkYXRlIGluZm9ybWF0aW9uIGFib3V0CglhZGQtb25zLgoJKENvbmZpZ3VyaW5nIGFuZCBjb21waWxpbmcpOiBVcGRhdGUgZm9yIGdsaWJjIDIuMi4KCjIwMDAtMDctMDQgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvaTM4Ni9mcHVfY29udHJvbC5oIChfRlBVX0RFRkFVTFQpOiBDb3JyZWN0IHZhbHVlLgoJKF9GUFVfSUVFRSk6IExpa2V3aXNlLgoKCSogbWF0aC9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdGVzdC1mcHVjdy4KCgkqIG1hdGgvdGVzdC1mcHVjdy5jIChtYWluKTogTmV3IGZpbGUuCgoyMDAwLTA3LTA1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9sb2FkbG9jYWxlLmMgKF9ubF91bmxvYWRfbG9jYWxlKTogQWRkIGNhc3QgdG8gYXZvaWQgd2FybmluZy4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jb2xsYXRlLmMgKGNvbGxhdGVfb3V0cHV0KTogQWxzbyB3cml0ZSBvdXQgdGhlCgljb2xsYXRpb24gc2VxdWVuY2UgdmFsdWVzIGFuZCB0aGUgd2lkZSBjaGFyYWN0ZXIgc3RyaW5nIGZvciB0aGUKCWNvbGxhdGlvbiBzeW1ib2wgdGFibGUuCgoJKiBwb3NpeC9mbm1hdGNoLmM6IEluY2x1ZGUgIi4uL2xvY2FsZS9lbGVtLWhhc2guaCIuCgkqIHBvc2l4L2ZubWF0Y2hfbG9vcC5jOiBJbXBsZW1lbnQgY29sbGF0aW5nIHN5bWJvbCBoYW5kbGluZy4KCSogcG9zaXgvdHN0LWZubWF0Y2guaW5wdXQ6IEFkZCBtb3JlIHRlc3RzLCBlc3BlY2lhbGx5IGZvciBjb2xsYXRpbmcKCXN5bWJvbCBoYW5kbGluZy4KCgkqIHBvc2l4L3JlZ2V4LmM6IEZpeCBjb21tZW50LgoKMjAwMC0wNy0wNSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9taXBzL2ZwdV9jb250cm9sLmg6IEZpeCB0eXBlIG9mIGZwdV9jb250cm9sX3QuCgkoX0ZQVV9HRVRDVyk6IFJlbW92ZSBleHRyYSBjb2xvbi4KCVBhdGNoIGJ5IFJhbGYgQmFlY2hsZSA8cmFsZkB1bmkta29ibGVuei5kZT4uCgoJKiBwb3NpeC9mbm1hdGNoX2xvb3AuYyAoRkNUKTogT25seSBkZWNsYXJlIGxlbiBpZgoJIVdJREVfQ0hBUl9WRVJTSU9OIHRvIHNpbGVuY2UgR0NDLgoKCSogc3lzZGVwcy9nZW5lcmljL3Jhd21lbWNoci5jOiBJbmNsdWRlIDxzdGRsaWIuaD4gZm9yIGFib3J0Cglwcm90b3R5cGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zdHJjaHJudWwuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zdHJsZW4uYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zdHJjaHIuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9tZW1jaHIuYzogTGlrZXdpc2UuCgoyMDAwLTA3LTA0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHBvc2l4L2ZubWF0Y2hfbG9vcC5jOiBJbXBsZW1lbnQgZXF1aXZhbGVuY2UgY2xhc3MgaGFuZGxpbmcuCgkqIHBvc2l4L3RzdC1mbm1hdGNoLmlucHV0OiBBZGQgdGVzdHMgZm9yIGVxdWl2YWxlbmNlIGNsYXNzCgloYW5kbGluZy4KCgkqIHBvc2l4L2ZubWF0Y2hfbG9vcC5jOiBJbXByb3ZlIHBlcmZvcm1hbmNlIGZvciBzaW5nbGUtYnl0ZQoJY2hhcmFjdGVyIHNldHMgYnkgbm90IHVzaW5nIGJ0b3djLgoKCSogcG9zaXgvdHN0LWZubWF0Y2guaW5wdXQ6IEFkZCB0ZXN0cyBmb3IgbG9jYWxlIGRlcGVuZGVudAoJYmVoYXZpb3VyLgoJKiBwb3NpeC90c3QtZm5tYXRjaC5jIChtYWluKTogQWxzbyBzZXQgTENfQ1RZUEUgY2F0ZWdvcnkuCgoJKiBwb3NpeC90c3QtZm5tYXRjaC5pbnB1dDogQWRkIG1vcmUgdGVzdCBjYXNlcy4KCgkqIGNyeXB0L21kNS1jcnlwdC5jIChfX21kNV9jcnlwdF9yKTogSWYgYnVmZmVycyBmb3Iga2V5IGFuZCBzYWx0CglhcmUgbm90IGFsaWduZWQgdG8gYWxpZ25vZihtZDVfdWludDMyKSBkbyBpdCBiZWZvcmUgY2FsbGluZwoJX19tZDVfcHJvY2Vzc19ieXRlcy4KCSogY3J5cHQvbWQ1LmM6IE1ha2Ugc3VyZSBidWZmZXJzIGFyZSBhbGlnbmVkLgoJKiBjcnlwdC9tZDUuaDogTGlrZXdpc2UuCglSZXBvcnRlZCBieSBTb2xhciBEZXNpZ25lciA8c29sYXJAZmFsc2UuY29tPi4KCgkqIGNyeXB0L01ha2VmaWxlOiBBZGQgZGVwZW5kZW5jaWVzIGZvciB0ZXN0IHByb2dyYW1zLgoKCSogUnVsZXM6IERlZmluZSBMQ19BTEw9QyBpbiBlbnZpcm9ubWVudHMgb2YgYWxsIHByb2dyYW1zIHdlIHJ1bi4KCgkqIGludGwvdHN0LWdldHRleHQuc2ggKExDX0FMTCk6IERlZmluZSB0byBDIGFuZCBleHBvcnQuCgoyMDAwLTA3LTAzICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY3R5cGUuYyAoY3R5cGVfb3V0cHV0KTogVGhlIHNpemUgb2YgaW92CglpcyAyICsgZWxlbSArIG9mZnNldCwgbm90IDIgKyBlbGVtICsgb2Zmc2V0ICsgMi4KCjIwMDAtMDctMDQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvZm5tYXRjaF9sb29wLmM6IEZpeCB0d28gcHJvYmxlbXMgdW5jb3ZlcmVkIGJ5IHRoZSBuZXcgdGVzdAoJc3VpdGUuCgkqIHBvc2l4L01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3QtZm5tYXRjaC4KCSh0c3QtZm5tYXRjaC1FTlYpOiBEZWZpbmUuCgkqIHBvc2l4L3RzdC1mbm1hdGNoLmM6IE5ldyBmaWxlLgoJKiBwb3NpeC90c3QtZm5tYXRjaC5zaDogTmV3IGZpbGUuCgoyMDAwLTA3LTA0ICBOSUlCRSBZdXRha2EgIDxnbmlpYmVAY2hyb290Lm9yZz4KCgkqIGxvY2FsZS9wcm9ncmFtcy9jaGFybWFwLmMgKGNoYXJtYXBfcmVhZCk6IFByZXBlbmQKCXRoZSBjb25kaXRpb24gZmlsZW5hbWUgPT0gTlVMTC4KCjIwMDAtMDctMDMgIEdyZWcgTWNHYXJ5ICA8Z3JlZ0BtY2dhcnkub3JnPgoKCSogc3lzZGVwcy9pMzg2L2JpdHMvc2V0am1wLmggKFBVU0hfU0lHTkFMX01BU0spOiBGaXggdHlwby4KCgkqIGNzdS9NYWtlZmlsZSAoZXh0cmEtb2JqcywgaW5zdGFsbC1saWIpOiBBZGQgQlAgb2JqZWN0cyBjb25kaXRpb25hbGx5LgoJKCQob2JqcGZ4KWIkKHN0YXJ0LWluc3RhbGxlZC1uYW1lKSk6IEFkZCBub24tZWxmIHJ1bGUuCgoJKiBsaWJpby9saWJpby5oIChfSU9fRklMRSk6IFJldmVydCB0eXBlIG9mIF9jaGFpbiB0byBfSU9fRklMRSouCgkqIGxpYmlvL2xpYmlvUC5oIChfSU9fSVRFUik6IFJldmVydCB0byB0eXBlIF9JT19GSUxFKi4KCShGSUxFQlVGX0xJVEVSQUwpOiBBZGQgY2FzdCBmb3IgQ0hBSU4gaW5pdC4KCSogbGliaW8vZ2Vub3BzLmMgKF9JT191bl9saW5rLCBfSU9fbGlua19pbiwgX0lPX2l0ZXJfYmVnaW4pOiBBZGQgY2FzdHMuCgkoX0lPX2ZsdXNoX2FsbCwgX0lPX2ZsdXNoX2FsbF9saW5lYnVmZmVyZWQsIF9JT191bmJ1ZmZlcl93cml0ZSk6CglSZXZlcnQgdHlwZSBvZiBgZnAnIHRvIF9JT19GSUxFKi4KCShfSU9faXRlcl9maWxlKTogUmVtb3ZlIGNhc3QuCgkoX0lPX2l0ZXJfbmV4dCk6IEVsaWRlIGludGVybWVkaWF0ZSBtZW1iZXIgcmVmZXJlbmNlLgoKCSogc3lzZGVwcy9wb3dlcnBjL3N0cmNoci5TOiAgQ2hlY2sgYm91bmRzLgoJV3JhcCBleHRlcm4gc3ltYm9scyBpbiBCUF9TWU0gKCkuCgoyMDAwLTA3LTAzICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBkbGZjbi9NYWtlZmlsZSAoZ2VuZXJhdGVkKTogTmV3LgoKMjAwMC0wNy0wMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsaWJpby9nZW5vcHMuYyAoX19vdmVyZmxvdyk6IFVzZSBfSU9fZndpZGUgdG8gb3JpZW50IHRoZSBzdHJlYW0uCgkoX191Zmxvdyk6IExpa2V3aXNlLgoJKF9fdW5kZXJmbG93KTogTGlrZXdpc2UuCgkqIGxpYmlvL3dnZW5vcHMuYyAoX193dW5kZXJmbG93KTogTGlrZXdpc2UuCgkqIHN0ZGlvLWNvbW1vbi90c3QtdW5icHV0Yy5jOiBOZXcgZmlsZS4KCSogc3RkaW8tY29tbW9uL3RzdC11bmJwdXRjLnNoOiBOZXcgZmlsZS4KCSogc3RkaW8tY29tbW9uL01ha2VmaWxlOiBBZGQgcnVsZXMgdG8gYnVpbGQgYW5kIHJ1biB0c3QtdW5icHV0Yy4KCgkqIHBvL2VuX0dCLnBvOiBOZXcgZmlsZS4KCUNvbnRyaWJ1dGVkIGJ5IFJvYmVydCBCcmFkeSA8cndiMTk3QGVjcy5zb3Rvbi5hYy51az4uCgoyMDAwLTA3LTAxICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBpbnRsL01ha2VmaWxlIChnZW5lcmF0ZWQtZGlycyk6IE5ldy4KCgkqIGVsZi9NYWtlZmlsZSAoZ2VuZXJhdGVkKTogdHJ1c3RlZC1kaXJzLmggaXMgYWx3YXlzIGdlbmVyYXRlZCwKCW1vdmUgb3V0IG9mIGJ1aWxkLXNoYXJlZCBjb25kaXRpb24uCgkoZ2VuZXJhdGVkKTogTWVyZ2UgdGhlIHR3byBlbnRyaWVzIGZvciBidWlsZC1zaGFyZWQuCgoyMDAwLTA3LTAxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGRlYnVnL01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIHh0cmFjZS5zaC4KCjIwMDAtMDYtMzAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogdmVyc2lvbi5oIChWRVJTSU9OKTogQnVtcCB0byAyLjEuOTEuCgoJKiBjb25maWd1cmUuaW46IFVwZGF0ZSB3YXJuaW5nIGNvbW1lbnQuICBnbGliYyBzaG91bGQgbm90IGJlCglicm9rZW4gYW55bW9yZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvRGlzdDogUmVtb3ZlIG9sZCBjb250ZW50LiAgQWRkCglpb3Blcm0uYywgc3lzL3Byb2Nmcy5oLCBhbmQgc3lzL2lvLmguCgoJKiBzeXNkZXBzL3Bvd2VycGMvRGlzdDogQWRkIGJwLWFzbS5oLgoKCSogYXNzZXJ0L0RlcGVuZDogQWRkIGxvY2FsZWRhdGEuCgkqIGFzc2VydC9NYWtlZmlsZSAodGVzdC1hc3NlcnQtRU5WKTogTmV3LiAgRGVmaW5lIExBTkdVQUdFPUMuCgkodGVzdC1hc3NlcnQtcGVyci1FTlYpOiBOZXcuICBEZWZpbmUgTEFOR1VBR0U9Qy4KCgkqIHN5c2RlcHMvYWxwaGEvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9yZWxhKSBbcl90eXBlID09CglSX0FMUEhBX1JFRlFVQURdOiBVc2UgbWVtY3B5IHRvIGxvYWQgYW5kIHN0b3JlIHZhbHVlIGZyb20KCXJlbG9jYXRpb24gYWRkcmVzcyB0byBwcmV2ZW50IHVuYWxpZ25lZCB0cmFwLgoJU3VnZ2VzdGVkIGJ5IFJpY2hhcmQgSGVuZGVyc29uIDxydGhAY3lnbnVzLmNvbT4uCgoyMDAwLTA2LTMwICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGlvL3N5cy9zdGF0LmggKHN0YXQ2NCwgbHN0YXQ2NCwgZnN0YXQ2NCk6IERvbid0IGRlZmluZSBpbmxpbmVzCglpZiByZWRpcmVjdGluZyBhbmQgZWl0aGVyIHJlZGlyZWN0aW9uIGlzIGRvbmUgdXNpbmcgZGVmaW5lcyBvcgoJbm90IG9wdGltaXppbmcuCgoyMDAwLTA2LTMwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN1bnJwYy9ycGNfY291dC5jIChpbmxpbmVfc3RydWN0KTogQWRkIG1pc3NpbmcgcGFyZW50aGVzaXMgaW4KCWdlbmVyYXRlZCBleHByZXNzaW9ucy4KCVBhdGNoIGJ5IERhcnJlbiBNY0NsZWxsYW5kIDxkbWNjbGVsbEB6ZXRlYy5jb20+LgoKCSogdGltZXpvbmUvTWFrZWZpbGUgKGJ1aWxkLXRlc3RkYXRhKTogU2V0IExBTkdVQUdFIGFuZCBMQ19BTEwKCXNpbmNlIHppYyB1c2VzIHNldGxvY2FsZSBhbmQgZ2V0dGV4dCBidXQgd2UgY2Fubm90IG1ha2UgaXQgdXNlIHRoZQoJbmV3IGxvY2FsZSBkYXRhIHNpbmNlIHppYyBjYWxscyBhIHNoZWxsIHdoaWNoIG1pZ2h0IG5vdCB1c2UgdGhlCgluZXcgbGliYy4KCgkqIHN0ZGxpYi9zdHJmbW9uLmM6IE1vdmUgc29tZXdoYXQgY2xvc2VyIHRvIHRoZSBzdGFuZGFyZCB3cnQgdG8KCWhhbmRsaW5nIHRoZSBpbnRlcm5hdGlvbiBjdXJyZW5jeSBzeW1ib2wuICBQT1NJWCBzYXlzIHRoYXQgdGhlCglmb3VydGggY2hhcmFjdGVyIGlzIHVzZWQgdG8gc2VwYXJhdGUgdGhlIGN1cnJlbmN5IHN5bWJvbCBmcm9tIHRoZQoJdmFsdWUuICBUaGVyZWZvcmUgaXQgZG9lcyBub3QgaGF2ZSB0byBiZSBwcmludGVkLiAgQnV0IHdlIGNhbm5vdAoJcmVtb3ZlIHRoZSBzcGFjZSBpZiB0aGUgY3VycmVuY3kgc3ltYm9sIGlzIHByaW50ZWQgYmVmb3JlIHRoZQoJbnVtYmVyIHNpbmNlIHRoaXMgaXMgd2hhdCBtYW55IGxvY2FsZXMgZXhwZWN0LgoKCSogaWNvbnYvZ2NvbnZfdHJhbnMuYzogVGVzdCB3aXRoIF9OTF9DVFlQRV9UUkFOU0xJVF9ERUZBVUxUX01JU1NJTkdfTEVOCgl3aGV0aGVyIHRoaXMgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlLgoKCSogaW50bC9kY2lnZXR0ZXh0LmMgKF9ubF9maW5kX21zZyk6IENvcnJlY3QgcmVhbGxvY2F0aW9uIG9mCglidWZmZXJzIGluIGNhc2UgdGhlIHRyYW5zbGF0aW9uIGlzIHRvbyBsYXJnZS4gIFJlbWVtYmVyIGFsbG9jYXRlZAoJbWVtb3J5IGJsb2NrcyBpbiBhIGxpc3QuCgkoZnJlZV9tZW0pOiBGcmVlIG1lbW9yeSBmb3IgdHJhbnNsYXRpb25zLgoKCSogaW50bC90c3QtZ2V0dGV4dC5jOiBVc2UgY29ycmVjdCBsb2NhbGUuICBJbXByb3ZlIGVycm9yIG1lc3NhZ2VzLgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLWN0eXBlLmMgKGN0eXBlX291dHB1dCk6IElmIG5vIGRlZmF1bHRfbWlzc2luZwoJaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlIHNldCB0aGUgc3RyaW5nIGxlbmd0aCB0byB6ZXJvLgoKCSogc3lzZGVwcy9pMzg2L2k2ODYvc3RyY21wLlM6IExpdHRsZSBvcHRpbWl6YXRpb24gaW4gbm9uLUJQIGNhc2UuCgoyMDAwLTA2LTMwICBHcmVnIE1jR2FyeSAgPGdyZWdAbWNnYXJ5Lm9yZz4KCgkqIHN5c2RlcHMvcG93ZXJwYy9icC1hc20uaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvcG93ZXJwYy9fX2xvbmdqbXAuUzogIENoZWNrIGJvdW5kcy4KCVdyYXAgZXh0ZXJuIHN5bWJvbHMgaW4gQlBfU1lNICgpLgoJKiBzeXNkZXBzL3Bvd2VycGMvYnNkLV9zZXRqbXAuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG93ZXJwYy9ic2Qtc2V0am1wLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvc2V0am1wLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvYWRkX24uUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG93ZXJwYy9hZGRtdWxfMS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL2xzaGlmdC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL3JzaGlmdC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL211bF8xLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvc3ViX24uUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG93ZXJwYy9zdWJtdWxfMS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL3N0cmxlbi5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL21lbXNldC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL3N0cGNweS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL3N0cmNtcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL3N0cmNweS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL2VsZi9iemVyby5TOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvcG93ZXJwYy9zdHBjcHkuUzogRGVmaW5lICYgdXNlIHN5bWJvbGljIHJlZ2lzdGVyIG5hbWVzLgoJTGluZSB1cCBvcGVyYW5kcyBjb2x1bW4gd2l0aCB0YWJzLgoKMjAwMC0wNi0zMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvTWFrZWZpbGUgKExERkxBR1Mtb3JpZ3Rlc3QpOiBBY3R1YWxseSBhZGQgaXQuCgoJKiBzeXNkZXBzL2lhNjQvaHRvbmwuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9odG9ucy5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L21lbWNweS5TOiBSZXBsYWNlIHdpdGggdmVyc2lvbiB3aGljaCBkb2VzIG5vdCB1c2UKCWZsb2F0aW5nIHBvaW50IHJlZ2lzdGVycy4KCVBhdGNoZXMgYnkgRGFuIFBvcCA8RGFuLlBvcEBjZXJuLmNoPi4KCjIwMDAtMDYtMzAgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHBvc2l4L01ha2VmaWxlICh0ZXN0cyk6IHRzdC1leGVjIGFuZCB0c3Qtc3Bhd24gb25seSB3b3JrIHdpdGgKCXNoYXJlZCBsaWJyYXJpZXMuCgoJKiBpby9NYWtlZmlsZSAoQ0ZMQUdTLXRlc3QtbGZzLmMpOiBOZXcuCgkodGVzdHMpOiBBZGQgdGVzdC1sZnMuCgoJKiBpby90ZXN0LWxmcy5jOiBOZXcgZmlsZS4KCjIwMDAtMDYtMzAgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9pMzg2L2JpdHMvc3RyaW5nLmggKHN0cmNtcCk6IFVzZSA4Yml0IHJlZ2lzdGVyIGluIDhiaXQKCWluc3RydWN0aW9uLgoKMjAwMC0wNi0yOSAgRGF2aWQgTW9zYmVyZ2VyLVRhbmcgIDxkYXZpZG1AaHBsLmhwLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvaW9wZXJtLmM6IE5ldyBmaWxlLgoKMjAwMC0wNi0yOSAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3N5c2NhbGxzLmxpc3Q6IEFkZCBfX2ZzdGF0ZnM2NAoJYWxpYXMgdG8gdGhlIGZzdGF0ZnMgY2FsbC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvZ2V0cmxpbWl0NjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc2V0cmxpbWl0NjQuYzogTmV3IGZpbGUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2Z0cnVuY2F0ZTY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3RydW5jYXRlNjQuYzogTmV3IGZpbGUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3JlYWRkaXIuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvcmVhZGRpcl9yLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3JlYWRkaXI2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9yZWFkZGlyNjRfci5jOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvZ2xvYi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9nbG9iNjQuYzogTmV3IGZpbGUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2ZzdGF0ZnM2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zdGF0ZnM2NC5jOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvcHJlYWQ2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9wd3JpdGU2NC5jOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc2htY3RsLmM6IE5ldyBmaWxlLgoKMjAwMC0wNi0yOSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3VucnBjL3JwY19zdmNvdXQuYyAod3JpdGVfbXNnX291dCk6IEFsd2F5cyB1c2UgZm9ybWF0IHN0cmluZwoJd2l0aCBzeXNsb2cuCgkocHJpbnRfZXJyX21lc3NhZ2UpOiBMaWtld2lzZS4KCVJlcG9ydGVkIGJ5IENocmlzIEV2YW5zIDxjaHJpc0BmZXJyZXQubG1oLm94LmFjLnVrPi4KCjIwMDAtMDYtMjkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbG9jYWxlL2xvYWRsb2NhbGUuYyAoX25sX2xvYWRfbG9jYWxlKTogTWFrZSBzdXJlIGFsbCBsb2NhbGUgZGF0YQoJdXNlZCBhcyB3b3JkcyBpcyBwcm9wZXJseSBhbGlnbmVkLgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLWN0eXBlLmMgKGN0eXBlX291dHB1dCk6IERvbid0IGdlbmVyYXRlIHVuYWxpZ25lZAoJZGF0YSBmaWxlcy4KCjIwMDAtMDYtMjkgIEdyZWcgTWNHYXJ5ICA8Z3JlZ0BtY2dhcnkub3JnPgoKCSogc3lzZGVwcy9nZW5lcmljL2xpYmMtc3RhcnQuYyAoX19saWJjX3N0YWNrX2VuZCk6IENob3AgX191bmJvdW5kZWQuCgkqIHN5c2RlcHMvdW5peC9tYWtlLXN5c2NhbGxzLnNoOiBIYW5kbGUgc2lnbmF0dXJlcyBvZgoJbGVuZ3RoIDcuLjksIGp1c3QgaW4gY2FzZS4uLgoJKiBtaXNjL3N5cy9jZGVmcy5oIChfX3B0cnZhbHVlKTogRGVmaW5lIGFzIG5vdGhpbmcgZm9yIG5vbi1CUC4KCgkqIHN5c2RlcHMvaTM4Ni9icC1hc20uaCAoUENPRkYpOiBOZXcgY29uc3RhbnQuCgkoUE9QX0VSUk5PX0xPQ0FUSU9OX1JFVFVSTik6IEZvbGQgaW5zbnMuCgkqIHN5c2RlcHMvaTM4Ni9iaXRzL3NldGptcC5oIChKQl9TSVpFKTogTmV3IGNvbnN0YW50LgoJKFBVU0hfU0lHTkFMX01BU0spOiBOZXcgbWFjcm8uCgkqIHN5c2RlcHMvaTM4Ni9fX2xvbmdqbXAuUyAoX19sb25nam1wKTogV3JhcCBzeW1ib2wgaW4gQlBfU1lNICgpLgoJTEVBVkUgaXMgdW5uZWNlc3NhcnkuICBDaGVjayBib3VuZHMgb2Ygam1wX2J1Zi4KCSogc3lzZGVwcy9pMzg2L2VsZi9zZXRqbXAuUzogQ2FsbCBQVVNIX1NJR05BTF9NQVNLLiAgV3JhcCBzeW1ib2xzCglpbiBCUF9TWU0gKCkuICBDaGVjayBib3VuZHMgb2Ygam1wX2J1Zi4gIERvbid0IGNhbGwgTEVBVkUgdW50aWwKCWltbWVkaWF0ZWx5IGJlZm9yZSB0YWlsLWNhbGwuCgkqIHN5c2RlcHMvaTM4Ni9zZXRqbXAuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9ic2QtX3NldGptcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2JzZC1zZXRqbXAuUzogTGlrZXdpc2UuCgoyMDAwLTA2LTI5ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvc3BhcmMvZnB1L2ZjbHJleGNwdC5jOiBVc2UgU0hMSUJfQ09NUEFULCBjb21wYXRfc3ltYm9sIGFuZAoJdmVyc2lvbmVkX3N5bWJvbC4KCSogc3lzZGVwcy9zcGFyYy9mcHUvZmVzZXRlbnYuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvZnB1L2ZldXBkYXRlZW52LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL2ZwdS9mZ2V0ZXhjcHRmbGcuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvZnB1L2ZyYWlzZWV4Y3B0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL2ZwdS9mc2V0ZXhjcHRmbGcuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvZnB1L2ZlZ2V0ZW52LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L1ZlcnNpb25zOiBOZXcgZmlsZS4KCSogc2hsaWItdmVyc2lvbnM6IE1ha2Ugc3BhcmM2NCBHTElCQ18yLjIrIG9ubHkuCgoyMDAwLTA2LTI5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN0ZGlvLWNvbW1vbi9wcmludGZfZnAuYyAoX19wcmludGZfZnApOiBEb24ndCBjbG9iYmVyIHBvaW50ZXIgd2hpY2gKCXdlIGxhdGVyIG5lZWQgdG8gY2FsbGluZyBmcmVlKCkuCglQYXRjaCBieSBNYXR0IFdpbHNvbiA8bXN3QHJlZGhhdC5jb20+LgoKCSogc3RkaW8tY29tbW9uL3RzdC1wcmludGYuYzogQWRkIHRlc3QgZm9yIGFib3ZlIHByb2JsZW0uCgoyMDAwLTA2LTI3ICBEYXZpZCBNb3NiZXJnZXItVGFuZyAgPGRhdmlkbUBocGwuaHAuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9iaXRzL2lwYy5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9iaXRzL3NobS5oOiBOZXcgZmlsZS4KCjIwMDAtMDYtMjggIEplcyBTb3JlbnNlbiAgPGplc0BsaW51eGNhcmUuY29tPgoKCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC9zX2V4cDIuYzogQWRkIGluY2x1ZGUgc3RkbGliLmggdG8gZ2V0Cglwcm90b3R5cGUgZm9yIGFicygpLgoJKiBzeXNkZXBzL2llZWU3NTQvZmx0LTMyL3NfZXhwMmYuYzogTGlrZXdpc2UuCgoyMDAwLTA2LTIzICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBjb25maWcuaC5pbjogRG9uJ3QgdXNlIHJlZ3Bhcm0gd2l0aCBib3VuZGVkIHBvaW50ZXJzLgoKMjAwMC0wNi0yOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzdGRsaWIvZ3JvdXBpbmcuaDogQ29ycmVjdGx5IGhhbmRsZSBtdWx0aWJ5dGUgdGhvdXNhbmRzCglzZXBhcmF0b3IgYW5kIGRlY2ltYWwgcG9pbnQuCgkqIHN0ZGxpYi9zdGR0b2QuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zdHJ0b2wuYzogTGlrZXdpc2UuCgoJKiBsb2NhbGUvY2F0ZWdvcmllcy5kZWY6IEFkZCBlbnRyaWVzIGZvciB3aWRlIGNoYXJhY3RlciBkZWNpbWFsIHBvaW50CglhbmQgdGhvdXNhbmRzIHNlcGFyYXRvciBpbiBudW1lcmljIGFuZCBtb25ldGFyeSBjYXRlZ29yeS4KCjIwMDAtMDYtMjggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3RkaW8tY29tbW9uL3ByaW50Zl9mcC5jIChfX3ByaW50Zl9mcCk6IFJlbW92ZSB1bm5lY2Vzc2FyeQoJc2Vjb25kIGRlZmluaXRpb24gYW5kIGluaXRpYWxpemF0aW9uIG9mIGRlY2ltYWwuCgoyMDAwLTA2LTI4ICBHcmVnIE1jR2FyeSAgPGdyZWdAbWNnYXJ5Lm9yZz4KCgkqIGxpYmlvL2xpYmlvLmggKHN0cnVjdCBfSU9fY29va2llX2ZpbGUpOiBNb3ZlIHN0cnVjdCB0eXBlIGRlZmludGlvbgoJb3V0LgoJKF9JT19GSUxFKTogRGVjbGFyZSBjaGFpbiBhcyAoc3RydWN0IF9JT19GSUxFX3BsdXMgKikuCgkqIGxpYmlvL2xpYmlvUC5oIChzdHJ1Y3QgX0lPX2Nvb2tpZV9maWxlKTogTW92ZSBzdHJ1Y3QgdHlwZSBkZWZpbnRpb24KCWluLgoJKF9JT19KVU1QUyk6IERvbid0IGNhc3QgVEhJUy0tZXhwZWN0IGFyZyB0byBiZSBhCgkoc3RydWN0IF9JT19GSUxFX3BsdXMgKikuCgkoX0lPX0pVTVBTX0ZVTkMpOiBFeHByZXNzIGluIHRlcm1zIG9mIF9JT19KVU1QUywgYW5kIGFkZCBjYXN0IHRvCglUSElTLCBzaW5jZSBfSU9fSlVNUFMgbm8gbG9uZ2VyIGRvZXMgaXQgaW1wbGljaXRseS4KCShfSU9fZmlsZV9pbml0LCBfSU9fb2xkX2ZpbGVfaW5pdCwgX0lPX25ld19maWxlX2luaXQpOiBEZWNsYXJlCglhcmcgdHlwZSBhcyAoc3RydWN0IF9JT19GSUxFX3BsdXMgKikuCgkoX0lPX3N0cl9pbml0X3N0YXRpYywgX0lPX3N0cl9pbml0X3JlYWRvbmx5KTogRGVjbGFyZSAxc3QKCWFyZyBhcyAoX0lPX3N0cmZpbGUgKikuCgkqIGxpYmlvL3N0cm9wcy5jIChfSU9fc3RyX2luaXRfc3RhdGljLCBfSU9fc3RyX2luaXRfcmVhZG9ubHkpOgoJRGVjbGFyZSAxc3QgYXJnIGFzIChfSU9fc3RyZmlsZSAqKS4KCSogbGliaW8vZmlsZW9wcy5jIChfSU9fbmV3X2ZpbGVfaW5pdCk6IERlY2xhcmUKCWFyZyB0eXBlIGFzIChzdHJ1Y3QgX0lPX0ZJTEVfcGx1cyAqKS4KCSogbGliaW8vb2xkZmlsZW9wcy5jIChfSU9fb2xkX2ZpbGVfaW5pdCk6IExpa2V3aXNlLgoJKiBsaWJpby9nZW5vcHMuYyAoX0lPX2xpbmtfaW4sIF9JT191bl9saW5rKTogTGlrZXdpc2UuCgkoX0lPX2ZsdXNoX2FsbCwgX0lPX2ZsdXNoX2FsbF9saW5lYnVmZmVyZWQsIF9JT191bmJ1ZmZlcl93cml0ZSk6CglEZWNsYXJlIGl0ZXJhdGlvbiBwb2ludGVyIGFzIChzdHJ1Y3QgX0lPX0ZJTEVfcGx1cyAqKS4KCShfSU9faXRlcl9uZXh0LCBfSU9faXRlcl9maWxlKTogX0lPX0lURVIgaXMgbm93CgkJKHN0cnVjdCBfSU9fRklMRV9wbHVzICopLgoJKiBsaWJpby9zdGRmaWxlcy5jIChfSU9fbGlzdF9hbGwpOiBEZWNsYXJlIGFzIChzdHJ1Y3QgX0lPX0ZJTEVfcGx1cyAqKS4KCSogbGliaW8vb2xkc3RkZmlsZXMuYyAoX0lPX2xpc3RfYWxsKTogTGlrZXdpc2UuCgkoX0lPX2NoZWNrX2xpYmlvKTogU2V0IHVzZXItdmlzaWJsZSBoYW5kbGVzIHRvCgkoc3RydWN0IF9JT19GSUxFX3BsdXMgKikuCgkqIGxpYmlvL3N0ZGlvLmMgKHN0ZGluLCBzdGRvdXQsIHN0ZGVycik6IFNldCB1c2VyLXZpc2libGUgaGFuZGxlcwoJdG8gKHN0cnVjdCBfSU9fRklMRV9wbHVzICopLgoKCSogbGliaW8vaW9mZG9wZW4uYyAoX0lPX25ld19mZG9wZW4pOiBQYXNzIEZJTEUgaGFuZGxlIHBvaW50ZXIKCXdob3NlIGhpZ2ggYm91bmQgaW5jbHVkZXMgdnRhYmxlIHRvIGFsbCBmdW5jdGlvbnMgdGhhdCB3aWxsIHVzZQoJdnRhYmxlLiAgRm9yIHN0cmVhbWJ1ZnMsIHBhc3MgcG9pbnRlciB3aG9zZSBib3VuZHMgaW5jbHVkZSBzdHJ1Y3QKCV9JT19zdHJmaWxlLgoJKiBsaWJpby93Z2Vub3BzLmMgKF9JT193ZGVmYXVsdF9maW5pc2gpOiBMaWtld2lzZS4KCSogbGliaW8vb2xkaW9mZG9wZW4uYyAoX0lPX29sZF9mZG9wZW4pOiBMaWtld2lzZS4KCSogbGliaW8vaW9mb3Blbi5jIChfSU9fbmV3X2ZvcGVuKTogTGlrZXdpc2UuCgkqIGxpYmlvL29sZGlvZm9wZW4uYyAoX0lPX29sZF9mb3Blbik6IExpa2V3aXNlLgoJKiBsaWJpby9pb2ZvcGVuNjQuYyAoX0lPX2ZvcGVuNjQpOiBMaWtld2lzZS4KCSogbGliaW8vaW9wb3Blbi5jIChfSU9fbmV3X3BvcGVuKTogTGlrZXdpc2UuCgkqIGxpYmlvL29sZGlvcG9wZW4uYyAoX0lPX29sZF9wb3Blbik6IExpa2V3aXNlLgoJKiBsaWJpby9tZW1zdHJlYW0uYyAob3Blbl9tZW1zdHJlYW0pOiBMaWtld2lzZS4KCSogbGliaW8vaW92c3NjYW5mLmMgKF9JT192c3NjYW5mKTogTGlrZXdpc2UuCgkqIGxpYmlvL2lvdnNwcmludGYuYyAoX0lPX3ZzcHJpbnRmKTogTGlrZXdpc2UuCgkqIGxpYmlvL2lvdmRwcmludGYuYyAoX0lPX3ZkcHJpbnRmKTogTGlrZXdpc2UuCgkqIGxpYmlvL2lvZm9wbmNvb2suYyAoX0lPX2Nvb2tpZV9pbml0KTogTGlrZXdpc2UuCgkqIGxpYmlvL29icHJpbnRmLmMgKF9JT19vYnN0YWNrX3ZwcmludGYpOiBMaWtld2lzZS4KCSogbGliaW8vdmFzcHJpbnRmLmMgKF9JT192YXNwcmludGYpOiBMaWtld2lzZS4KCSogbGliaW8vdnNucHJpbnRmLmMgKF9JT192c25wcmludGYpOiBMaWtld2lzZS4KCSogbGliaW8vc3RkZmlsZXMuYyAoX0lPX3N0ZG91dF8sIF9JT19zdGRlcnJfKTogTGlrZXdpc2UuCgkqIGxpYmlvL29sZHN0ZGZpbGVzLmMgKF9JT19zdGRvdXRfLCBfSU9fc3RkZXJyXyk6IExpa2V3aXNlLgoJKiBzdGRsaWIvc3RyZm1vbi5jIChfX3N0cmZtb25fbCk6IExpa2V3aXNlLgoJKiBzdGRpby1jb21tb24vdmZwcmludGYuYyAoYnVmZmVyZWRfdmZwcmludGYpOiBMaWtld2lzZS4KCSh2ZnByaW50Zik6IFF1YWxpZnkgY29tcHV0ZWQtZ290byB0YXJnZXRzIGFzIHVuYm91bmRlZC4KCjIwMDAtMDYtMjggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3RkaW8tY29tbW9uL3Zmc2NhbmYuYzogRmluYWxseSBoYW5kbGUgbXVsdGlieXRlIGRlY2ltYWwgcG9pbnQgYW5kCgl0aG91c2FuZHMgc2VwYXJhdG9yIGNvcnJlY3RseS4KCgkqIHN0ZGlvLWNvbW1vbi92ZnNjYW5mLmM6IFVzZSBDT01QSUxFX1dTQ0FORiBub3QgQ09NUElMRV9XUFJJTlRGLgoJKiBzdGRpby1jb21tb24vdmZ3c2NhbmYuYzogTGlrZXdpc2UuCgoyMDAwLTA2LTI3ICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc3lzY2FsbHMubGlzdDogQ2hhbmdlIGFyZ3VtZW50Cgljb3VudCBpbnRvIHNpZ25hdHVyZXMgZm9yIG1vc3QgY2FsbHMuCgoyMDAwLTA2LTI4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvZ2V0c3lzc3RhdHMuYzogUmVtb3ZlZC4gIFdlIGNhbiB1c2UKCXRoZSBnZW5lcmljIHBhcnNlciBub3cuCgoyMDAwLTA2LTI4ICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy9lbGZjbGFzcy5oOiBEZWxldGVkLiAgSGFzaAoJdGFibGUgZW50cmllcyBhcmUgMzIgYml0IG9uIHRoZSBpYTY0IChhcyBzcGVjaWZpZWQgYnkgdGhlIEFCSSksCglub3QgNjQgYml0IGFzIG9uIHRoZSBBbHBoYS4KCgkqIHNobGliLXZlcnNpb25zOiBCdW1wIGlhNjQgc29uYW1lIHRvIGxkLWxpbnV4LWlhNjQuc28uMiB0byBtYXJrCgljaGFuZ2Ugb2Ygb2JqZWN0cyB0byB1c2UgMzIgYml0IGhhc2ggdGFibGUgaW5kaWNlcyAoc2VlIGFib3ZlKS4KCjIwMDAtMDYtMjggIEplcyBTb3JlbnNlbiAgPGplc0BsaW51eGNhcmUuY29tPgoKCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC9lX2V4cC5jOiBBZGQgaW5jbHVkZSBzdGRsaWIuaCB0byBnZXQKCXByb3RvdHlwZSBmb3IgYWJzKCkuCgoyMDAwLTA2LTI4ICBXb2xmcmFtIEdsb2dlciAgPHdnQG1hbGxvYy5kZT4KCgkqIG1hbGxvYy9tYWxsb2MuYyAoY2h1bmtfYWxsb2MpOiBJZiBleHRlbnNpb24gb2YgdGhlIGxpbmVhciBoZWFwCglmYWlscywgdHJ5IG1tYXBfY2h1bmsoKSBhcyBhIGxhc3QgcmVzb3J0IGV2ZW4gdGhvdWdoIG5fbW1hcHNfbWF4CgltYXkgaGF2ZSBiZWVuIHJlYWNoZWQuCgoyMDAwLTA2LTI4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jb2xsYXRlLmMgKGluc2VydF93ZWlnaHRzKTogSGFuZGxlIDxVeHh4eD4KCXN5bWJvbHMgaW4gbXVsdGktY2hhcmFjdGVyIHdlaWdodHMgY29ycmVjdGx5LgoKCSogd2NzbWJzL21icnRvd2MuYzogU2V0IGZsdXNoIHRvIDEgZm9yIGNvbnZlcnNpb24gZnVuY3Rpb24gY2FsbHMKCWRlcGVuZGluZyBvbiB3aGV0aGVyIHRoZSBpbnB1dCBzdHJpbmcgaXMgZW1wdHkgb3Igbm90LgoKCSogd2NzbWJzL21icnRvd2MuYzogQ2FsbGluZyBmdW5jdGlvbiB3aXRob3V0IGlucHV0IG1lYW5zIGNsZWFyaW5nIHRoZQoJZ2l2ZW4gc3RhdGUgYW5kIG5vdCBhdm9pZGluZyB0aGlzIGJ5IG1vZGlmeWluZyBhIGxvY2FsIG9iamVjdC4KCSogd2NzbWJzL3djcnRvbWIuYzogTGlrZXdpc2UuCgoJKiBpY29udi9za2VsZXRvbi5jOiBJZiBubyBFTUlUX1NISUZUX1RPX0lOSVQgaXMgZGVmaW5lZCBjbGVhciBzdGF0ZQoJb2JqZWN0IHNpbmNlIHNvbWUgaW5jb21wbGV0ZSBjaGFyYWN0ZXJzIG1pZ2h0IGJlIGluIHRoZXJlLgoKCSogaWNvbnZkYXRhL2V1Yy1qcC5jOiBJbiBjb252ZXJzaW9uIHRvIFVDUzQsIGhhbmRsaW5nIGludmFsaWQKCXNlcXVlbmNlcyB3aXRoIGZpcnN0IGJ5dGUgMHg4ZSBjb3JyZWN0bHkuCgoJKiBpY29udmRhdGEvamlzMDIwOC5oOiBSZW1vdmUgcmVkdW5kYW50IHRlc3QuCgoyMDAwLTA2LTI3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9pbml0ZmluaS5jIChTRUNUSU9OKTogUmVtb3ZlIHRyYWlsaW5nIHNlbWljb2xvbi4KCUFkZCBpdCB3aGVyZSBpdCBpcyBuZWVkZWQgbm93LgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLWN0eXBlLmMgKGN0eXBlX2ZpbmlzaCk6IFRha2UgYWxsIGNoYXJhY3RlcnMgZnJvbQoJdGhlIGlucHV0IGNoYXJzZXQgaW50byBhY2NvdW50IHdoZW4gZ2VuZXJhdGluZyB0aGUgaGFzaCB0YWJsZS4KCShhbGxvY2F0ZV9hcnJheXMpOiBDb3JyZWN0IHNldHRpbmcgZGVmYXVsdCB3aWR0aC4gIE5vdCBhbGwgZW1wdHkgc2xvdHMKCWluIHRoZSB0YWJsZSBhcmUgZmlsbGVkLCBvbmx5IHRob3NlIG5vdCBjb3ZlcnQgZXhwbGljaXRseSBieSB0aGUKCWxvY2FsZSBkZXNjcmlwdGlvbiBhbmQgaW4gdGhlIGNoYXJzZXQuCgoJKiB3Y3R5cGUvdG93Y3RyYW5zLmMgKF9fdG93Y3RyYW5zKTogQmUgZ3JhY2VmdWwgYW5kIGFjY2VwdCBlcnJvcgoJcmV0dXJuIHZhbHVlcyBmcm9tIHRoZSB3Y3RyYW5zIGZ1bmN0aW9uLgoKCSogc3RkaW8tY29tbW9uL3Zmc2NhbmYuYzogTWFrZSBzdXJlIHRvIGFsd2F5cyByZXR1cm4gV0VPRiBhbmQgRU9GIGZvcgoJd2lkZSBjaGFyYWN0ZXIgdmVyc2lvbi4KCUZvciAlQyBoYW5kbGluZywgdGVzdCBjb3JyZWN0IHBvaW50ZXIgdmFyaWFibGUgZm9yIE5VTEwuCgoJKiB3Y3NtYnMvd2N0b2IuYzogSGFuZGxlIFdFT0Ygc3BlY2lhbC4KCgkqIHdjc21icy93Y3dpZHRoLmg6IDB4ZmYgaW4gd2lkdGggYXJyYXkgbWVhbnMgaW52YWxpZCBjaGFyYWN0ZXIuCgoJKiB3Y3R5cGUvd2N0eXBlLmg6IFByb3RlY3QgZ2NjLWlzbXMgd2l0aCBfX2V4dGVuc2lvbl9fLiAgQXZvaWQKCWFsd2F5cy10cnVlIHRlc3QgdG8gYXZvaWQgd2FybmluZy4KCjIwMDAtMDYtMjcgIEdyZWcgTWNHYXJ5ICA8Z3JlZ0BtY2dhcnkub3JnPgoKCSogZWxmL2RsLW9wZW4uYyAoX2RsX3N5c2RlcF9zdGFydCk6IFdyYXAgd2Vha19leHRlcm4gZGVjbCBpbiBCUF9TWU0gKCkuCgkqIGluY2x1ZGUvbGliYy1zeW1ib2xzLmggKHdlYWtfZXh0ZXJuKTogQWRkIGV4dHJhIGxldmVsIG9mIGV4cGFuc2lvbi4KCShzeW1ib2xfdmVyc2lvbiwgZGVmYXVsdF9zeW1ib2xfdmVyc2lvbik6IEZhY3RvciByZWR1bmRhbnQKCWRlZmluaXRpb25zIG91dCBvZiBjb25kaXRpb25hbC4KCjIwMDAtMDYtMjcgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogbGliaW8vb2JwcmludGYuYyAoX0lPX29ic3RhY2tfdnByaW50Zik6IENhbGwgb2JzdGFja19tYWtlX3Jvb20sCglub3Qgb2JzdGFja19ibGFuay4KCjIwMDAtMDYtMjYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9saWJjLXN5bWJvbHMuaCAoc3ltYm9sX3ZlcnNpb24pOiBBZGQgZXh0cmEgbGV2ZWwgb2YKCW1hY3JvIGV4cGFuc2lvbi4KCShkZWZhdWx0X3N5bWJvbF92ZXJzaW9uKTogTGlrZXdpc2UuCgoyMDAwLTA2LTI2ICBHcmVnIE1jR2FyeSAgPGdyZWdAbWNnYXJ5Lm9yZz4KCgkqIHN5c2RlcHMvdW5peC9pMzg2L3N5c2RlcC5TIChzeXNjYWxsX2Vycm9yKTogUHVzaCAmIHBvcCBzcGFjZQoJZm9yIEJQIHJldHVybiB2YWx1ZSAmIHB1c2ggaW1wbGljaXQgc3RydWN0LXJldHVybiBwb2ludGVyIHRvCglfX2Vycm5vX2xvY2F0aW9uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3N5c2RlcC5oOiBMaWtld2lzZS4KCShTWVNDQUxMX0VSUk9SX0hBTkRMRVIpOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9pNjg2L3N5c2RlcC5oCgkoU1lTQ0FMTF9FUlJPUl9IQU5ETEVSKTogTGlrZXdpc2UuCgoJKiBNYWtlY29uZmlnOiBBZGQgbWlzc2luZyBjb21tZW50LgoJKiBjc3UvTWFrZWZpbGUgKGV4dHJhLW9ianMsIG9taXQtZGVwcywgaW5zdGFsbC1saWIpOiBBZGQKCUJQLWZsYXZvcmVkIHN0YXJ0dXAgb2JqZWN0LgoJKCQob2JqcGZ4KWIkKHN0YXJ0LWluc3RhbGxlZC1uYW1lKSk6IE5ldyBydWxlLgoJKiBpbmNsdWRlL2xpYmMtc3ltYm9scy5oIChzeW1ib2xfc2V0X2RlY2xhcmUpOiBDaGFuZ2UgdHlwZQoJb2YgYF9fc3RhcnRfIyNzZXQnIGFuZCBgX19zdG9wXyMjc2V0JyB0byBwb2ludGVyLXRvLWZ1bmN0aW9uLgoJKHN5bWJvbF9zZXRfZGVjbGFyZSk6IENoYW5nZSB0eXBlIG9mIGBzZXQnIHRvIGFycmF5IG9mCglwb2ludGVyLXRvLWZ1bmN0aW9uLgoJKiBpbmNsdWRlL3NldC1ob29rcy5oIChSVU5fSE9PSyk6IENoYW5nZSB0eXBlIG9mIGBwdHInIHRvCglwb2ludGVyLXRvLWZ1bmN0aW9uLgoKCSogc3RyaW5nL2JpdHMvc3RyaW5nMi5oOiBJbmhpYml0IGlubGluZXMgaWYgX19CT1VOREVEX1BPSU5URVJTX18uCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXNjYWxscy5saXN0OiBBZGQgbWlzc2luZyBzaWduYXR1cmVzLgoJUmVtb3ZlIGNsb2NrXyogYW5kIHRpbWVyXyogZW50cmllcy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9zeXNjYWxscy5saXN0OiBSZXBsYWNlCglhcmctY291bnQgd2l0aCBzaWduYXR1cmVzLgoKCSogc3lzZGVwcy9pMzg2L2FkZF9uLlM6IFdyYXAgZW50cnktcG9pbnQgc3ltYm9sIGluIEJQX1NZTSAoKS4KCUNoZWNrIGJvdW5kcyBvZiBhcmd1bWVudHMuCgkqIHN5c2RlcHMvaTM4Ni9hZGRtdWxfMS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2xzaGlmdC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L211bF8xLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvcnNoaWZ0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvc3ViX24uUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9zdWJtdWxfMS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k1ODYvYWRkX24uUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNTg2L2FkZG11bF8xLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTU4Ni9sc2hpZnQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNTg2L3JzaGlmdC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k1ODYvc3ViX24uUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNjg2L2FkZF9uLlM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9pMzg2L21lbWNoci5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L21lbWNtcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L3Jhd21lbWNoci5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k1ODYvYnplcm8uUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNTg2L21lbWNweS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k1ODYvbWVtcGNweS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k1ODYvbWVtc2V0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTY4Ni9iemVyby5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k2ODYvbWVtY3B5LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTY4Ni9tZW1wY3B5LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTY4Ni9tZW1zZXQuUzogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL2kzODYvc3RwY3B5LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvc3RwbmNweS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L3N0cmNoci5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L3N0cmNocm51bC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L3N0cmNzcG4uUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9zdHJwYnJrLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvc3RycmNoci5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L3N0cnNwbi5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L3N0cnRvay5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L3N0cnRva19yLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTQ4Ni9zdHJjYXQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNDg2L3N0cmxlbi5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k1ODYvc3RyY2hyLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTU4Ni9zdHJjcHkuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNTg2L3N0cmxlbi5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k2ODYvc3RyY21wLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTY4Ni9zdHJ0b2suUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNjg2L3N0cnRva19yLlM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9pMzg2L2ZwdS9mZWdldGVudi5jOiBXcmFwIHN5bWJvbCBuYW1lcyB3aXRoIEJQX1NZTSAoKS4KCSogc3lzZGVwcy9pMzg2L2ZwdS9mZXNldGVudi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2ZwdS9mZXVwZGF0ZWVudi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2ZwdS9mZ2V0ZXhjcHRmbGcuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9mcHUvZnNldGV4Y3B0ZmxnLmM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9pMzg2L2FkZG11bF8xLlM6IEV4Y2hhbmdlIHJvbGVzIG9mICVlYnAgYW5kICVlYnguCgkqIHN5c2RlcHMvaTM4Ni9tdWxfMS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L3N1Ym11bF8xLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTU4Ni9hZGRfbi5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k1ODYvYWRkbXVsXzEuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNTg2L2xzaGlmdC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k1ODYvbXVsXzEuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNTg2L3JzaGlmdC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k1ODYvc3ViX24uUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNTg2L3N1Ym11bF8xLlM6IExpa2V3aXNlLgoKMjAwMC0wNi0yNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBydC9NYWtlZmlsZSAobGlicnQtcm91dGluZXMpOiBBZGQgY2xvY2tfbmFub3NsZWVwLgoJKiBydC9WZXJzaW9ucyBbR0xJQkNfMi4yXSAobGlicnQpOiBBZGQgY2xvY2tfbmFub3NsZWVwLgoJKiBzeXNkZXBzL2dlbmVyaWMvY2xvY2tfbmFub3NsZWVwLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvY2xvY2tfbmFub3NsZWVwLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvaTM4Ni9pNTg2L2Nsb2NrX25hbm9zbGVlcC5jOiBOZXcgZmlsZS4KCSogdGltZS90aW1lLmg6IERlY2xhcmUgY2xvY2tfbmFub3NsZWVwLgoKMjAwMC0wNi0yNiAgR3JlZyBNY0dhcnkgIDxncmVnQG1jZ2FyeS5vcmc+CgoJKiBzeXNkZXBzL2kzODYvYXNtLXN5bnRheC5oIChSLCBNRU0sIE1FTV9ESVNQLCBNRU1fSU5ERVgsCglJTlNOMSwgSU5TTjIsIFRFWFQsIEdMT0JMKTogUmVtb3ZlIG1hY3Jvcy4KCShBTElHTik6IENsZWFudXAgc3Vycm91bmRpbmcgY29uZGl0aW9uYWxzLgoKCSogc3lzZGVwcy9pMzg2L2FkZG11bF8xLlM6IFJlcGxhY2UgYXNtLXN5bnRheCBtYWNyb3Mgd2l0aCBnYXMgc3ludGF4LgoJQ2FsbCBFTlRFUi9MRUFWRSBtYWNyb3MuCgkqIHN5c2RlcHMvaTM4Ni9tdWxfMS5TOiBSZXBsYWNlIGFzbS1zeW50YXggbWFjcm9zIHdpdGggZ2FzIHN5bnRheC4KCSogc3lzZGVwcy9pMzg2L3N1Ym11bF8xLlM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9pMzg2L2k1ODYvYWRkbXVsXzEuUzogUmVwbGFjZSBhc20tc3ludGF4IG1hY3JvcyB3aXRoIGdhcwoJc3ludGF4LiAgRGVmaW5lICYgdXNlIHN5bWJvbGljIGFyZ3VtZW50IHN0YWNrIG9mZnNldHMuICBDYWxsCglFTlRFUi9MRUFWRSBtYWNyb3MuCgkqIHN5c2RlcHMvaTM4Ni9pNTg2L211bF8xLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTU4Ni9zdWJtdWxfMS5TOiBMaWtld2lzZS4KCjIwMDAtMDYtMjUgIEdyZWcgTWNHYXJ5ICA8Z3JlZ0BtY2dhcnkub3JnPgoKCSogc3lzZGVwcy9pMzg2L2k1ODYvbWVtY3B5LlM6IFJlZGVmaW5lIG1lbWNweSBhcyBtZW1wY3B5LAoJbm90IGFzIGJjb3B5LgoKMjAwMC0wNi0yNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udmRhdGEvZ2VuLThiaXQtZ2FwLTEuc2g6IFVwZGF0ZSBmb3IgbmV3IGNoYXJtYXAgZm9ybWF0LgoJKiBpY29udmRhdGEvZ2VuLThiaXQtZ2FwLnNoOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2dlbi04Yml0LnNoOiBMaWtld2lzZS4KCgkqIGljb252L2djb252X29wZW4uYyAoX19nY29udl9vcGVuKTogTW92ZSBjb21tZW50IHRvIGNvcnJlY3QgcG9zaXRpb24uCgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY29sbGF0ZS5jIChjb2xsYXRlX3JlYWQpOiBEb24ndCBhY3R1YWxseSByZWFkCgl0aGUgY29weSBsb2NhbGUgaWYgd2UgYXJlIGlnbm9yaW5nIHRoZSBjb250ZW50LgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLWFkZHJlc3MuYyAoSU5UX1NUUl9FTEVNKTogQ29ycmVjdCB0ZXN0IGZvcgoJdW5rbm93biBjaGFyYWN0ZXIuCgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY29sbGF0ZS5jOiBDb3JyZWN0IGhhbmRsaW5nIG9mIGRpZmZlcmVudAoJY29sbGF0aW9uIHNlY3Rpb25zLgoJKiBsb2NhbGUvcHJvZ3JhbXMvbG9jYWxlZGVmLmMgKGFkZF90b19yZWFkbGlzdCk6IFRha2UgbG9jYWxlIHBvaW50ZXIKCWFzIGV4dHJhIHBhcmFtZXRlciBmcm9tIHdoaWNoIHRvIGNvcHkgY2F0ZWdvcnkgaW5mb3JtYXRpb24uCglDaGFuZ2UgYWxsIGNhbGxlcnMuCgkobG9hZF9sb2NhbGUpOiBMaWtld2lzZS4KCSogbG9jYWxlL3Byb2dyYW1zL2xvY2FsZWRlZi5oOiBVcGRhdGUgcHJvdG90eXBlcyBvZiBhZGRfdG9fcmVhZGxpc3QKCWFuZCBsb2FkX2xvY2FsZS4KCSogbG9jYWxlL3Byb2dyYW1zL2xkLWN0eXBlLmM6IFVwZGF0ZSBjYWxsIHRvIGFkZF90b19yZWFkbGlzdC4KCSogbG9jYWxlL3Byb2dyYW1zL2xvY2ZpbGUuaDogTGlrZXdpc2UuCgkqIGxvY2FsZS9wcm9ncmFtcy9sb2NmaWxlLWt3LmdwZXJmOiBBZGQgZW50cnkgZm9yIHNjcmlwdC4KCSogbG9jYWxlL3Byb2dyYW1zL2xvY2ZpbGUtdG9rZW4uaDogQWRkIHRva19zY3JpcHQuCgoJKiBsb2NhbGUvcHJvZ3JhbXMvbG9jYWxlLmM6IFVwZGF0ZSBjb3B5cmlnaHQgeWVhci4KCSogbG9jYWxlL3Byb2dyYW1zL2xvY2FsZWRlZi5jOiBMaWtld2lzZS4KCjIwMDAtMDYtMjMgIFRob3JzdGVuIEt1a3VrICA8a3VrdWtAc3VzZS5kZT4KCgkqIHN1bnJwYy94ZHJfcmVjLmMgKHNldF9pbnB1dF9mcmFnbWVudCk6IEZpeCBQUiBsaWJjLzE1NDksIHBhdGNoIGZyb20KCUplbnMgTW9lbGxlciA8amVucy5tb2VsbGVyQHdhaWkuY29tPi4KCjIwMDAtMDYtMjQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLW5hbWUuYyAobmFtZV9maW5pc2gpOiBBZGQgbWlzc2luZyBmb3JtYXQKCXNwZWNpZmllciB0byB0ZXN0IGZvciBuYW1lX2ZtdC4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1hZGRyZXNzLmMgKGlzbzYzOSk6IENvcnJlY3QgbGVuZ3RoIG9mIHN0cmluZwoJZWxlbWVudHMuCgkoaXNvMzE2Nik6IExpa2V3aXNlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zeXMvZWxmLmggKGVsZl9mcHhyZWdzZXRfdCk6IERlZmluZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc3lzL3VzZXIuaCAoc3RydWN0IHVzZXJfZnB4cmVnc19zdHJ1Y3QpOgoJRGVmaW5lLgoKCSogZWxmL2VsZi5oIChOVF9QUkZQWFJFRyk6IERlZmluZS4KCjIwMDAtMDYtMjMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3B0cmFjZS5oIChfX3B0cmFjZV9yZXF1ZXN0KTogRGVmaW5lCglQVFJBQ0VfR0VURlBYUkVHUyBhbmQgUFRSQUNFX1NFVEZQWFJFR1MuCgoyMDAwLTA2LTIzICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9zeXNjYWxscy5saXN0OiBSZXBsYWNlIGFyZy1jb3VudAoJd2l0aCBzaWduYXR1cmVzLgoKMjAwMC0wNi0yMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogaWNvbnYvZ2NvbnZfaW50LmggKG5vcm1fYWRkX3NsYXNoZXMpOiBQcm90ZWN0IHN1ZmZpeCBleHBhbnNpb24uCgoJKiBpby90ZXN0LXN0YXQuYzogQWRkIGNvcHlyaWdodCBoZWFkZXIsIG1lbnRpb24gTWFjaWVqLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9zeXMvc3lzY2FsbC5oIChTWVNfcGl2b3Rfcm9vdCwKCVNZU19taW5jb3JlLCBTWVNfbWFkdmlzZSk6IEFkZGVkLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9zeXNjYWxscy5saXN0OiBGaXggc2lnbmF0dXJlIG9mCglleGVjdmUuCgoyMDAwLTA2LTIyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxpYmlvL01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3QtZ2V0d2MgYW5kIHRzdF9wdXR3Yy4KCShDRkxBR1MtdHN0X3B1dHdjLmMpOiBOZXcgZGVmaW5pdGlvbi4KCSogbGliaW8vdHN0X2dldHdjLmM6IE5ldyBmaWxlLgoJKiBsaWJpby90c3RfZ2V0d2MuaW5wdXQ6IE5ldyBmaWxlLgoJKiBsaWJpby90c3RfcHV0d2MuYzogTmV3IGZpbGUuCgoJKiBpbmNsdWRlL3N0cmluZy5oOiBBZGQgcHJvdG90eXBlIGZvciBfX3N0cmR1cC4KCjIwMDAtMDYtMjIgIEdyZWcgTWNHYXJ5ICA8Z3JlZ0BtY2dhcnkub3JnPgoKCSogc3lzZGVwcy91bml4L3N5c2NhbGxzLmxpc3QgKHN5c19ta25vZCk6IEZpeCBzaWduYXR1cmVzLgoJKiBzeXNkZXBzL3VuaXgvaW5ldC9zeXNjYWxscy5saXN0IChhY2NlcHQsIGdldHBlZXJuYW1lLCBnZXRzb2NrbmFtZSk6CglGaXggc2lnbmF0dXJlcy4KCjIwMDAtMDYtMjMgIEplcyBTb3JlbnNlbiAgPGplc0BsaW51eGNhcmUuY29tPgoKCSogc3lzZGVwcy9pYTY0L21lbWNweS5TOiBEaXNhYmxlIGJyYW5jaCBwcmVkaWN0IGluc3RydWN0aW9uLgoKMjAwMC0wNi0yMiAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvc3RhdGZzLmg6IE5ldyBmaWxlLgoKMjAwMC0wNi0yMiAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzaGxpYi12ZXJzaW9uczogQnVtcCBzbyB2ZXJzaW9ucyB0byA2LjEgZm9yIGxpYmMgYW5kIGxpYm0gb24gdGhlCglpYTY0IHRvIGFsbG93IDIuMisgbGlicmFyaWVzIHRvIGNvZXhpc3Qgd2l0aCAyLjEgb25lcy4KCjIwMDAtMDYtMjIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW8vc3lzL3N0YXQuaDogRGVmaW5lIFNfVFlQRUlTTVEsIFNfVFlQRUlTU0VNLCBhbmQgU19UWVBFSVNTSE0uCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL3N0YXQuaDogRGVmaW5lIF9fU19UWVBFSVNNUSwgX19TX1RZUEVJU1NFTSwKCWFuZCBfX1NfVFlQRUlTU0hNLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9iaXRzL3N0YXQuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9ic2QvYml0cy9zdGF0Lmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvYnNkL29zZi9hbHBoYS9iaXRzL3N0YXQuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2JpdHMvc3RhdC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvaXJpeDQvYml0cy9zdGF0Lmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9ocHV4L2JpdHMvc3RhdC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvYml0cy9zdGF0Lmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvc3RhdC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9zdGF0Lmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2JpdHMvc3RhdC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3Yvc3lzdjQvaTM4Ni9iaXRzL3N0YXQuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L3N5c3Y0L3NvbGFyaXMyL2JpdHMvc3RhdC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2JpdHMvc3RhdC5oOiBMaWtld2lzZS4KCSogbWFudWFsL2ZpbGVzeXMudGV4aTogRG9jdW1lbnQgU19UWVBFSVNNUSwgU19UWVBFSVNTRU0sIGFuZAoJU19UWVBFSVNTSE0uCgoyMDAwLTA2LTIyICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3N5c2NhbGxzLmxpc3Q6IFJlcGxhY2UgYXJnLWNvdW50Cgl3aXRoIHNpZ25hdHVyZXMuCgoJKiBlbGYvZGwtcmVsb2MuYyAoX2RsX3JlbG9jYXRlX29iamVjdCk6IEZpeCB0eXBvcy4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvc3lzY2FsbHMubGlzdDogRml4IHN5c2N0bCBlbnRyeS4KCjIwMDAtMDYtMjEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnYvZ2NvbnZfdHJhbnMuYzogTW92ZSBpbml0aWFsaXphdGlvbiBvZiB3aW5idWYgYW5kIHdpbmJ1ZmVuZAoJYWhlYWQuCgoyMDAwLTA2LTIxICBHcmVnIE1jR2FyeSAgPGdyZWdAbWNnYXJ5Lm9yZz4KCgkqIE1ha2VydWxlcyAoZWxpZGUtcm91dGluZXMuKiwgZWxpZGUtYnAtdGh1bmtzKToKCURlZmluZSB1bmNvbmRpdGlvbmFsbHkuCgoyMDAwLTA2LTIxICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvTWFrZWZpbGU6IE5ldyBmaWxlLgoKMjAwMC0wNi0yMSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogaW8vTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRlc3Qtc3RhdC4KCShDRkxBR1MtdGVzdC1zdGF0LmMpOiBOZXcuCgoJKiBpby90ZXN0LXN0YXQuYzogTmV3IGZpbGUgZnJvbSBNYWNpZWogVy4gUm96eWNraQoJPG1hY3JvQGRzMi5wZy5nZGEucGw+LgoKMjAwMC0wNi0yMSAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvcmVzb3VyY2UuaDogUmVvcmRlciBlbGVtZW50cwoJaW4gX19ybGltaXRfcmVzb3VyY2UgdG8gbWFrZSB0aGVtIG1hdGNoIHRoZSBrZXJuZWwgb3JkZXIuCglybGltX3QgaXMgYWx3YXlzIDY0IGJpdCwgdXNlIF9fcmxpbTY0X3QgdG8gZGVjbGFyZSBpdAoJdW5jb25kaXRpb25hbGx5LgoKMjAwMC0wNS0wNCAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvcmVzb3VyY2UuaDogVW5kZWYKCVJMSU1fSU5GSU5JVFkgYmVmb3JlIGRlZmluaW5nIGl0IHRvIGF2b2lkIGNsYXNoIHdpdGgga2VybmVsIGhlYWRlcgoKMjAwMC0wNS0wMyAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvcmVzb3VyY2UuaDogTmV3IGZpbGUuCgoyMDAwLTA2LTIxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvVmVyc2lvbnM6IE5ldyBmaWxlLgoKMjAwMC0wNi0yMSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3RkaW8tY29tbW9uL3RlbXB0ZXN0LmM6IEluY2x1ZGUgPHN0ZGxpYi5oPi4KCSogc3RkaW8tY29tbW9uL3RzdC1maWxlbm8uYzogTGlrZXdpc2UuCgkqIHN0ZGlvLWNvbW1vbi9zY2FuZjQuYzogTGlrZXdpc2UuCgkqIHN0ZGlvLWNvbW1vbi9zY2FuZjUuYzogTGlrZXdpc2UuCgkqIHRpbWUvY2xvY2t0ZXN0LmM6IExpa2V3aXNlLgoJKiBwb3NpeC90ZXN0LXZmb3JrLmM6IExpa2V3aXNlLgoJKiBwb3NpeC9nbG9idGVzdC5jOiBMaWtld2lzZS4KCSogaW8vdGVzdC11dGltZS5jOiBMaWtld2lzZS4KCSogd2N0eXBlL3Rlc3Rfd2NmdW5jcy5jOiBMaWtld2lzZS4KCSogY3J5cHQvY2VydC5jOiBMaWtld2lzZS4KCgkqIHN0ZGlvLWNvbW1vbi90c3QtcHJpbnRmc3ouYzogSW5jbHVkZSA8c3RyaW5nLmg+LgoJKiBsaWJpby90c3Rfc3dzY2FuZi5jOiBMaWtld2lzZS4KCSogbGliaW8vdHN0X3dzY2FuZi5jOiBMaWtld2lzZS4KCSogcG9zaXgvcnVudGVzdHMuYzogTGlrZXdpc2UuCgkqIHBvc2l4L3RzdC1nZXRhZGRyaW5mby5jOiBMaWtld2lzZS4KCSogcG9zaXgvd29yZGV4cC10ZXN0LmM6IExpa2V3aXNlLgoJKiBtaXNjL3RzdC1lZmdjdnQuYzogTGlrZXdpc2UuCgoJKiBzdGRsaWIvdHN0LXhwZy1iYXNlbmFtZS5jOiBJbmNsdWRlIDxzdGRsaWIuaD4gYW5kIDxzdHJpbmcuaD4uCgkqIG5zcy90ZXN0LW5ldGRiLmM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY29uZmlndXJlLmluOiBBZGQgY2hlY2sgZm9yIG1pbmltYWwKCXN1cHBvcnRlZCBrZXJuZWwgZm9yIE1JUFMuCgoJKiBlbGYvdmlzbW9kMi5jOiBJbmNsdWRlIDxzdGRsaWIuaD4gZm9yIGFib3J0IHByb3RvdHlwZS4KCSogcnQvYWlvX3N1c3BlbmQuYzogTGlrZXdpc2UuCgoyMDAwLTA2LTIwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hdGgvbGlibS10ZXN0LmluYzogSW5jbHVkZSA8c3RyaW5nLmg+LgoKMjAwMC0wNi0yMCAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3N5c2NhbGxzLmxpc3Q6IE5ldyBmaWxlLgoKMjAwMC0wNi0yMCAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L21hY2hpbmUtZ21vbi5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9wcm9maWwtY291bnRlci5oOiBOZXcgZmlsZS4KCjIwMDAtMDYtMjAgIERhdmlkIE1vc2Jlcmdlci1UYW5nICA8ZGF2aWRtQGhwbC5ocC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2dldHBhZ2VzaXplLmM6IE5ldyBmaWxlLgoKMjAwMC0wNi0yMCAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3N5cy91Y29udGV4dC5oOiBGaXggdHlwby4KCjIwMDAtMDYtMjAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLWNvbGxhdGUuYyAoaW5zZXJ0X3ZhbHVlKTogTm93IHRha2Ugc3RyaW5nIGFuZAoJbGVuZ3RoIGluc3RlYWQgb2Ygc3RydWN0IHRva2VuKiBwYXJhbWV0ZXIuICBBZGp1c3QgdXNlIG9mIHRva2VuLgoJKGhhbmRsZV9lbGxpcHNpcyk6IExpa2V3aXNlLgoJKGNvbGxhdGVfcmVhZCk6IEFsbG93IDxVeHh4eD4gbmFtZXMgYW5kIHRyYW5zZm9ybSB0aGVtIGludG8gbmFtZXMKCXRvIGJlIHBhc3NlZCB0byBpbnNlcnRfdmFsdWUgYW5kIGhhbmRsZV9lbGxpcHNpcy4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jdHlwZS5jICh1bmluYW1lcyk6IE5ldyBhcnJheSB3aXRoIG5hbWVzIG9mCglkaWdpdHMgaW4gPFV4eHh4eHh4eD4gZm9ybWF0LgoJKGN0eXBlX2ZpbmlzaCk6IENvcnJlY3Qgc2VhcmNoIGZvciBzcGFjZSBjaGFyYWN0ZXIgdmFsdWUuICBMaWtld2lzZQoJZm9yIGRlZmF1bHQgb3V0ZGlnaXRzIHZhbHVlcy4KCjIwMDAtMDYtMjAgIEdyZWcgTWNHYXJ5ICA8Z3JlZ0BtY2dhcnkub3JnPgoKCSogTWFrZXJ1bGVzIChvYmplY3RzKTogQWRkIEJQIHRodW5rcy4KCjIwMDAtMDYtMjAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbG9jYWxlL3Byb2dyYW1zL2NoYXJtYXAuYyAocGFyc2VfY2hhcm1hcCk6IEhhbmRsZSBVQ1MgbmFtZXMgYWxzbwoJaW4gd2lkdGggZGVmaW5pdGlvbnMuCgoyMDAwLTA2LTIwICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL21pcHMvZnB1L2xpYm0tdGVzdC11bHBzOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvbWlwcy9mcHUvZmVzZXRlbnYuYyAoX19mZXNldGVudik6IEZsdXNoIGZwdSBwaXBlbGluZQoJZmlyc3QuCgoJKiBzeXNkZXBzL21pcHMvZnB1L2ZlaG9sZGV4Y3B0LmM6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy9taXBzL2ZwdS9mcmFpc2VleGNwdC5jOiBOZXcgZmlsZS4KCjIwMDAtMDYtMTkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnYvZ2NvbnZfYnVpbHRpbi5jIChCVUlMVElOX1RSQU5TRk9STUFUSU9OKTogVXBkYXRlIGZvcgoJY2hhbmdlIGluIGdjb252X2J1aWx0aW4uaC4KCgkqIG1hbGxvYy9NYWtlZmlsZTogQ2hhbmdlIGFsbCByZWZlcmVuY2VzIHRvIG1lbXByb2YgaW50byBtZW11c2FnZS4KCSogbWFsbG9jL21lbXByb2YuYzogUmVuYW1lIHRvLi4uCgkqIG1hbGxvYy9tZW11c2FnZS5jOiAuLi50aGlzLiAgTmV3IGZpbGUuCgkqIG1hbGxvYy9tZW1wcm9mLnNoOiBSZW5hbWUgdG8uLi4KCSogbWFsbG9jL21lbXVzYWdlLnNoOiAuLi50aGlzLiAgTmV3IGZpbGUuCgkqIG1hbGxvYy9tZW1wcm9mc3RhdC5jOiBSZW5hbWUgdG8uLi4KCSogbWFsbG9jL21lbXVzYWdlc3RhdC5jOiAuLi50aGlzLiAgTmV3IGZpbGUuCgkqIHN5c2RlcHMvYWxwaGEvbWVtcHJvZi5oOiBSZW5hbWUgdG8uLgoJKiBzeXNkZXBzL2FscGhhL21lbXVzYWdlLmg6IC4uLnRoaXMuICBOZXcgZmlsZS4KCSogc3lzZGVwcy9hcm0vbWVtcHJvZi5oOiBSZW5hbWUgdG8uLgoJKiBzeXNkZXBzL2FybS9tZW11c2FnZS5oOiAuLi50aGlzLiAgTmV3IGZpbGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9tZW1wcm9mLmg6IFJlbmFtZSB0by4uCgkqIHN5c2RlcHMvZ2VuZXJpYy9tZW11c2FnZS5oOiAuLi50aGlzLiAgTmV3IGZpbGUuCgkqIHN5c2RlcHMvaTM4Ni9tZW1wcm9mLmg6IFJlbmFtZSB0by4uCgkqIHN5c2RlcHMvaTM4Ni9tZW11c2FnZS5oOiAuLi50aGlzLiAgTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9tZW1wcm9mLmg6IFJlbmFtZSB0by4uCgkqIHN5c2RlcHMvaWE2NC9tZW11c2FnZS5oOiAuLi50aGlzLiAgTmV3IGZpbGUuCgkqIHN5c2RlcHMvbTY4ay9tZW1wcm9mLmg6IFJlbmFtZSB0by4uCgkqIHN5c2RlcHMvbTY4ay9tZW11c2FnZS5oOiAuLi50aGlzLiAgTmV3IGZpbGUuCgkqIHN5c2RlcHMvbWlwcy9tZW1wcm9mLmg6IFJlbmFtZSB0by4uCgkqIHN5c2RlcHMvbWlwcy9tZW11c2FnZS5oOiAuLi50aGlzLiAgTmV3IGZpbGUuCgkqIHN5c2RlcHMvcG93ZXJwYy9tZW1wcm9mLmg6IFJlbmFtZSB0by4uCgkqIHN5c2RlcHMvcG93ZXJwYy9tZW11c2FnZS5oOiAuLi50aGlzLiAgTmV3IGZpbGUuCgkqIHN5c2RlcHMvc3BhcmMvbWVtcHJvZi5oOiBSZW5hbWUgdG8uLgoJKiBzeXNkZXBzL3NwYXJjL21lbXVzYWdlLmg6IC4uLnRoaXMuICBOZXcgZmlsZS4KCSogc3lzZGVwcy9zaC9tZW1wcm9mLmg6IFJlbmFtZSB0by4uCgkqIHN5c2RlcHMvc2gvbWVtdXNhZ2UuaDogLi4udGhpcy4gIE5ldyBmaWxlLgoKCSogZWxmL3Nwcm9mLmMgKHByaW50X3ZlcnNpb24pOiBVcGRhdGUgeWVhci4KCgkqIGVsZi9zcHJvZi5jIChsb2FkX3Nob2JqKTogRG9uJ3QgYWx3YXlzIGFkZCBsb2FkIGFkZHJlc3MgdG8gZHluYW1pYwoJdGFibGUgZW50cnkgdmFsdWVzLiAgVXNlIERfUFRSLgoJKiBlbGYvZGwtcmVsb2MuYyAoX2RsX3JlbG9jYXRlX29iamVjdCk6IERvbid0IHN0YXJ0IHByb2ZpbGluZyB3ZWlyZAoJYmluYXJpZXMgd2l0aG91dCBQTFQuICBQYXRjaGVzIGJ5IEphbWVzIE1hdGhpZXNlbiA8amFtZXNAY3VybC5jb20+LgoKMjAwMC0wNi0yMCAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L01ha2VmaWxlOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zeXMvaW8uaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc3lzL3Byb2Nmcy5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zeXMvdWNvbnRleHQuaDogTmV3IGZpbGUuCgoyMDAwLTA1LTA1ICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy9mY250bC5oOiBOZXcgZmlsZS4KCjIwMDAtMDYtMTYgIEplcyBTb3JlbnNlbiAgPGplc0BsaW51eGNhcmUuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC94c3RhdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9meHN0YXQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvbHhzdGF0LmM6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC94c3RhdGNvbnYuYzogRGVsZXRlZC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy9zdGF0Lmg6IFVwZGF0ZSBhZnRlciBsYXRlc3QKCWtlcm5lbCBjaGFuZ2UuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvdHlwZXMuaDogTWFrZSBfX2lub190LAoJX19ubGlua190IGFuZCBfX2Jsa2NudF90IDY0IGJpdCB0byBhY2NvbW9kYXRlIG5ldyBrZXJuZWwgc3RhdCBkYXRhCglzdHJ1Y3R1cmUuCglDaGFuZ2UgX19mc2Jsa2NudF90IGFuZCBfX2ZzZmlsY250X3QgdG8gNjQgYml0IHRvIG1hdGNoIGtlcm5lbAoJaW1wbGVtZW50YXRpb24uCgoyMDAwLTA2LTE1ICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQva2VybmVsX3N0YXQuaDogRGVsZXRlZC4KCjIwMDAtMDYtMDggIEplcyBTb3JlbnNlbiAgPGplc0BsaW51eGNhcmUuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9tbWFwNjQuYzogTmV3IGZpbGUuCgoyMDAwLTA2LTE5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252L2djb252X2ludC5oIChzdHJpY3QgZ2NvbnZfbW9kdWxlKTogUmVtb3ZlIGFsbCBtZW1iZXJzCglhc3NvY2lhdGVkIHdpdGggcmVndWxhciBleHByZXNzaW9ucy4gIFVzZSBhIHNpbXBsZSBzdHJpbmcgYXMgdGhlCglmcm9tIG5hbWUuCgkqIGljb252L2djb252X2RiLmM6IFJlbW92ZSBjb2RlIGhhbmRsaW5nIHJlZ3VsYXIgZXhwcmVzc2lvbnMuCgkqIGljb252L2djb252X2NvbmYuYzogTGlrZXdpc2UuCgkqIGljb252L2ljb252X3Byb2cuYzogTGlrZXdpc2UuCgkqIGljb252L2djb252X2J1aWx0aW4uaDogQWRqdXN0IGZvciBjaGFuZ2UgaW4gZ2NvbnZfY29uZi5jLgoKCSogaWNvbnYvZ2NvbnYuaCAoX19nY29udl90cmFuc19mY3QpOiBBZGQgbmV3IHBhcmFtZXRlci4KCUdlbmVyYWwgbmFtZXNwYWNlIGNsZWFudXAuCgkoc3RydWN0IF9fZ2NvbnZfdHJhbnNfZGF0YSk6IEFkZCBuZXh0IGZpZWxkLgoJKHN0cnVjdCBfX2djb252X3N0ZXBfZGF0YSk6IE1ha2UgX190cmFucyBhIHBvaW50ZXIuCgkqIGljb252L2djb252X2NvbmYuYzogU3BsaXQgb3V0IGNvZGUgdG8gZmluZCBnY29udiBkaXJlY3RvcmllcyBmcm9tCglfX2djb252X3JlYWRfY29uZiBpbiBuZXcgZnVuY3Rpb25zLgoJKiBpY29udi9nY29udl9pbnQuaDogRGVmaW5lIG5ldyBkYXRhIHN0cnVjdHVyZSBhbmQgZGVjbGFyZSBuZXcKCWZ1bmN0aW9ucyBmb3IgaGFuZGxpbmcgb2YgZ2NvbnYgZGlyZWN0b3J5IGxpc3QuCgkqIGljb252L2djb252X29wZW4uYzogQWxsb3cgbW9yZSB0aGFuIG9uZSBlcnJvciBoYW5kbGluZyBzdGVwIGJlaW5nCgl1c2VkLiAgQ2FsbCBmdW5jdGlvbiB0byBsb2FkIGVycm9yIGhhbmRsaW5nIG1vZHVsZSBpZiBpdCBpcyBub25lCglvZiB0aGUgYnVpbHRpbiB0cmFuc2Zvcm1hdGlvbnMuCgkqIGljb252L2djb252X2Nsb3NlLmM6IEFkZCBjb2RlIHRvIGZyZWUgdHJhbnNsaXRlcmF0aW9uIGRhdGEuCgkqIGljb252L2djb252X3RyYW5zLmM6IEFkZCBmdW5jdGlvbnMgdG8gbG9hZCBhbmQgdW5sb2FkIG1vZHVsZXMKCWltcGxlbWVudGluZyB0cmFuc2xpdGVyYXRpb24gZXRjLgoJKiBpY29udi9za2VsZXRvbi5jOiBDYWxsIGFsbCBjb250ZXh0IGZ1bmN0aW9ucyBub3cgdGhhdCBtb3JlIHRoYW4KCW9uZSBtb2R1bGUgaXMgYWxsb3dlZC4KCSogaWNvbnYvbG9vcC5jIChTVEFOREFSRF9FUlJfSEFORExJTkcpOiBOZXcgbWFjcm8uCgkqIGljb252L2djb252X3NpbXBsZS5jOiBVc2UgU1RBTkRBUkRfRVJSX0hBTkRMSU5HIG1hY3JvIGZvciBwbGFjZXMKCXdoZXJlIHRoZSBmdWxsIGVycm9yIGhhbmRsaW5nIHVzaW5nIHRyYW5zbGl0ZXJhdGlvbiBpcyBuZWVkZWQuCgkqIGljb252ZGF0YS84Yml0LWdhcC5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhLzhiaXQtZ2VuZXJpYy5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2Fuc2lfeDMuMTEwLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvYmlnNS5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2JpZzVoa3Njcy5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2V1Yy1jbi5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2V1Yy1qcC5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2V1Yy1rci5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2V1Yy10dy5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2diZ2JrLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZ2JrLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvLTIwMjItY24uYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc28tMjAyMi1qcC5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzby0yMDIyLWtyLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvNjQ2LmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvODg1OS0xLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvXzY5MzctMi5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzb182OTM3LmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvam9oYWIuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9zamlzLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvdC42MS5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL3VoYy5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL3VuaWNvZGUuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS91dGYtMTYuYzogTGlrZXdpc2UuCgkqIGxpYmlvL2lvZndpZGUuYzogUmVzZXQgX190cmFucyBtZW1iZXIgb2YgX19nY29udl90cmFuc19kYXRhCglzdHJ1Y3R1cmUgY29ycmVjdGx5IGFmdGVyIGxhc3QgY2hhbmdlLgoJKiB3Y3NtYnMvYnRvd2MuYzogTGlrZXdpc2UuCgkqIHdjc21icy9tYnJ0b3djLmM6IExpa2V3aXNlLgoJKiB3Y3NtYnMvbWJzbnJ0b3djcy5jOiBMaWtld2lzZS4KCSogd2NzbWJzL21ic3J0b3djcy5jOiBMaWtld2lzZS4KCSogd2NzbWJzL3djcnRvbWIuYzogTGlrZXdpc2UuCgkqIHdjc21icy93Y3NucnRvbWJzLmM6IExpa2V3aXNlLgoJKiB3Y3NtYnMvd2NzcnRvbWJzLmM6IExpa2V3aXNlLgoJKiB3Y3NtYnMvd2N0b2IuYzogTGlrZXdpc2UuCgoJKiBsb2NhbGVkYXRhL01ha2VmaWxlOiBTZXQgLVduby1mb3JtYXQgZm9yIHNvbWUgZmlsZXMgc2luY2UgZ2NjIGRvZXMKCW5vdCBrbm93IGFsbCB0aGUgZm9ybWF0IHNwZWNpZmllcnMuCgoyMDAwLTA2LTE4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9sb2FkbG9jYWxlLmMgKF9ubF91bmxvYWRfbG9jYWxlKTogUmVtb3ZlIGEgYml0IG9mCgl1bm5lZWRlZCBjb2RlLgoJKiBsb2NhbGUvbGMtdGltZS5jIChfbmxfaW5pdF9lcmFfZW50cmllcyk6IExpa2V3aXNlLgoKMjAwMC0wNi0xOCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9taXBzL2RsLW1hY2hpbmUuaDogQWx3YXlzIHVzZSAkMjUgYXMganVtcCByZWdpc3Rlci4KCVBhdGNoIGJ5IFJhbGYgQmFlY2hsZSA8cmFsZkB1bmkta29ibGVuei5kZT4uCgoyMDAwLTA2LTE3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2ZwYXRoY29uZi5jOiBEZWZpbmUgYW5kIHVzZQoJTElOVVhfTElOS19NQVguCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3BhdGhjb25mLmM6IExpa2V3aXNlLgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLWN0eXBlLmMgKGN0eXBlX291dHB1dCk6IFJlYWxseSB3cml0ZSBvdXQKCW1ib3V0ZGlnaXRzIGluZm9ybWF0aW9uLgoJKiBsb2NhbGVkYXRhL3RzdC10cmFucy5jOiBBZGQgY29kZSB0byB0ZXN0IHByaW50ZidzIEkgZmxhZyB3aXRoIGxvY2FsZS4KCSogbG9jYWxlZGF0YS90c3QtdHJhbnMuc2g6IFNldCBHQ09OVl9QQVRIIGZvciBjb21waWxhdGlvbiBlbnZpcm9ubWVudC4KCSogbG9jYWxlZGF0YS90ZXN0cy90cmFucy5kZWY6IEFkZCBvdXRkaWdpdCBpbmZvcm1hdGlvbi4KCgkqIGxvY2FsZWRhdGEvdHN0LW1ic3djczMuYzogUmVtb3ZlIGNvbW1lbnQuCgoJKiBzdGRpby1jb21tb24vdmZwcmludGYuYyAodmZwcmludGYpOiBGaXggaGFuZGxpbmcgb2YgSSBmbGFnLgoJKiBzdGRpby1jb21tb24vdGlmb3JtYXQuYyAoc3ByaW50X2ludHMpOiBBZGQgdGVzdHMgZm9yIEkgZmxhZy4KCSogbGliaW8vdHN0X3dwcmludGYuYyAobWFpbik6IEFkZCB0ZXN0IGZvciBJIGZsYWcuCgoJKiBpY29udi9nY29udl90cmFucy5jOiBJbXBsZW1lbnQgaGFuZGxpbmcgaWYgdHJhbnNsaXRfaWdub3JlLgoJKiBsb2NhbGUvbGFuZ2luZm8uaDogQWRkIGVudHJpZXMgZm9yIHRyYW5zbGl0X2lnbm9yZSBpbmZvcm1hdGlvbi4KCSogbG9jYWxlL2NhdGVnb3JpZXMuZGVmOiBBZGQgZW50cmllcyBmb3IgbmV3IExDX0NUWVBFIGVsZW1lbnRzLgoJKiBsb2NhbGUvQy1jdHlwZS5jOiBBZGQgaW5pdGlhbGl6ZXJzIGZvciBuZXcgZmllbGRzLiAgVXNlIE5VTEwKCXBvaW50ZXIgaW5zdGVhZCBvZiAiIiB3aGVyZSBwb3NzaWJsZS4KCSogbG9jYWxlL3Byb2dyYW1zL2xkLWN0eXBlLmM6IFdyaXRlIG91dCB0cmFuc2xpdF9pZ25vcmUgaW5mb3JtYXRpb24uCgkqIGludGwvRGVwZW5kOiBBZGQgbG9jYWxlZGF0YS4KCSogaW50bC90c3QtZ2V0dGV4dC5jOiBDYWxsIHNldGxvY2FsZSBmb3IgTENfQ1RZUEUuCgkqIGludGwvdHN0LWdldHRleHQuc2g6IFNldCBMT0NQQVRIIHRvIGxvY2FsZWRhdGEgYnVpbGQgZGlyLgoKMjAwMC0wNi0xNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvbGFuZ2luZm8uaDogQWRkIGVudHJpZXMgZm9yIGRlZmF1bHRfbWlzc2luZyBpbmZvcm1hdGlvbi4KCSogbG9jYWxlL0MtY3R5cGUuYzogQWRkIGluaXRpYWxpemVycyBmb3IgbmV3IGZpZWxkcy4KCSogaWNvbnYvZ2NvbnZfdHJhbnMuYzogSWYgbm90aGluZyBtYXRjaGVkLCB0cnkgdG8gdXNlIGRlZmF1bHRfbWlzc2luZwoJaW5mb3JtYXRpb24uCgkqIGxvY2FsZS9jYXRlZ29yaWVzLmg6IEFkZCBlbnRyaWVzIGZvciBhbGwgTENfQ1RZUEUgdmFsdWVzLgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY3R5cGUuYyAoY3R5cGVfb3V0cHV0KTogV3JpdGUgb3V0IGRlZmF1bHRfbWlzc2luZwoJaW5mb3JtYXRpb24uCgoJKiBsb2NhbGVkYXRhL3RzdC10cmFucy5jOiBXcml0ZSBvdXQgYW4gZXJyb3IgbWVzc2FnZSBpZiBjbGFzcyBpcwoJbm90IGZvdW5kLgoKCSogaWNvbnYvZ2NvbnZfaW50LmggKG5vcm1fYWRkX3NsYXNoZXMpOiBPcHRpb25hbGx5IGFkZCBnaXZlbiBzdWZmaXguCgkqIGljb252L2djb252X29wZW4uYzogUmVtb3ZlIGVycm9yIGhhbmRsaW5nIHNwZWNpZmljYXRpb24gZnJvbSBgZnJvbScKCWNoYXJhY3RlciBzZXQgbmFtZS4KCSogaW50bC9sb2FkbXNnY2F0LmMgKF9ubF9sb2FkX2RvbWFpbik6IENhbGwgbm9ybV9hZGRfc2xhc2hlcyB3aXRoCgluZXcgcGFyYW1ldGVyIHRvIGFsd2F5cyBlbmFibGUgdHJhbnNsaXRlcmF0aW9uLgoJKiBsb2NhbGUvbG9jYWxlaW5mby5oIChMSU1BR0lDKTogQnVtcCBudW1iZXIgYmVjYXVzZSBvZiBpbmNvbXBhdGlibGUKCWNoYW5nZS4KCShzdHJ1Y3QgbG9jYWxlX2RhdGEpOiBBZGQgbmV3IG1lbWJlcnMgdXNlX3RyYW5zbGl0IGFuZCBvcHRpb25zLgoJKiBsb2NhbGUvZmluZGxvY2FsZS5jIChfbmxfZmluZF9sb2NhbGUpOiBTZXQgdXNlX3RyYW5zbGl0IGZsYWcgaXMKCWNoYXJhY3RlciBzZXQgbmFtZSBjb250YWluZWQgbW9kaWZpZXIgVFJBTlNMSVQuCgkqIGxvY2FsZS9sb2FkbG9jYWxlLmMgKF9ubF9sb2FkX2xvY2FsZSk6IEluaXRpYWxpemUgbmV3IHVzZV90cmFuc2xpdAoJYW5kIG9wdGlvbnMgZmllbGRzLgoJKF9ubF91bmxvYWRfbG9jYWxlKTogRnJlZSBvcHRpb25zIHN0cmluZyBpZiBuZWNlc3NhcnkuCgkqIHdjc21icy93Y3NtYnNsb2FkLmMgKF9fd2NzbWJzX2xvYWRfY29udik6IEVuYWJsZSB0cmFuc2xhdGlvbiBpZgoJdGhlIGxvY2FsZSBuYW1lcyBzdWdnZXN0ZWQgdGhpcy4KCSogbG9jYWxlL0MtYWRkcmVzcy5jOiBBZGQgdHdvIG5ldyBpbml0aWFsaWx6ZXJzIHRvIGFkanVzdCBkYXRhCglzdHJ1Y3R1cmUgZm9yIG5ldyBmb3JtYXQuCgkqIGxvY2FsZS9DLWNvbGxhdGUuYzogTGlrZXdpc2UuCgkqIGxvY2FsZS9DLWN0eXBlLmM6IExpa2V3aXNlLgoJKiBsb2NhbGUvQy1pZGVudGlmaWNhdGlvbi5jOiBMaWtld2lzZS4KCSogbG9jYWxlL0MtbWVhc3VyZW1lbnQuYzogTGlrZXdpc2UuCgkqIGxvY2FsZS9DLW1lc3NhZ2VzLmM6IExpa2V3aXNlLgoJKiBsb2NhbGUvQy1tb25ldGFyeS5jOiBMaWtld2lzZS4KCSogbG9jYWxlL0MtbmFtZS5jOiBMaWtld2lzZS4KCSogbG9jYWxlL0MtbnVtZXJpYy5jOiBMaWtld2lzZS4KCSogbG9jYWxlL0MtcGFwZXIuYzogTGlrZXdpc2UuCgkqIGxvY2FsZS9DLXRlbGVwaG9uZS5jOiBMaWtld2lzZS4KCSogbG9jYWxlL0MtdGltZS5jOiBMaWtld2lzZS4KCgkqIGxvY2FsZS9zZXRsb2NhbGUuYzogQWRkIHNvbWUgbW9yZSBfX2J1aWx0aW5fZXhwZWN0LgoKMjAwMC0wNi0xNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udi9nY29udi5oIChfX2djb252X2ZjdCk6IENoYW5nZSB0eXBlIG9mIGZpZnRoIHBhcmFtZXRlciB0bwoJdW5zaWduZWQgY2hhciAqKi4KCShfX2djb252X2luaXRfZmN0KTogUmVtb3ZlIHR3byBwYXJhbWV0ZXJzLgoJKiBpY29udi9nY29udl9pbnQuaCAoX19nY29udl90cmFuc2xpdGVyYXRlKTogUmVuYW1lZCBmcm9tCglnY29udl90cmFuc2xpdGVyYXRlLiAgUmVtb3ZlIHR3byBwYXJhbWV0ZXJzLgoJQ2hhbmdlIHByb3RvdHlwZXMgb2YgYnVpbHRpbiBmdW5jdGlvbnMgYWNjb3JkaW5nIHRvIF9fZ2NvbnZfZmN0IGNoYW5nZS4KCSogaWNvbnYvc2tlbGV0b24uYzogQ2hhbmdlIHR5cGUgb2YgZmlmdGggcGFyYW1ldGVyLiAgbWFrZSBzdXJlIGl0IGlzCgkhPSBOVUxMIG9ubHkgZHVyaW5nIGVycm9yIGhhbmRsaW5nLiAgU3RvcCBpbiB0aGlzIGNhc2UgYWZ0ZXIgdGhlCgljb252ZXJzaW9uLgoJKiBpY29udi9nY29udl90cmFucy5jOiBSZXBsYWNlIHdpdGggcmVhbCBpbXBsZW1lbnRhdGlvbiBmb3IKCV9fZ2NvbnZfdHJhbnNsaXRlcmF0ZS4KCSogaWNvbnYvZ2NvbnZfb3Blbi5jOiBBZGp1c3QgZm9yIHJlbmFtaW5nIG9mIF9fZ2NvbnZfdHJhbnNsaXRlcmF0ZS4KCSogaWNvbnYvZ2NvbnYuYzogQ2hhbmdlIGNhbGxzIHRvIGRvd25zdHJlYW0gZnVuY3Rpb25zIG9uY2UgYWdhaW4uCglVc2UgTlVMTCBmb3IgdGhlIGZpZnRoIHBhcmFtZXRlciBpbnN0ZWFkIG9mIHBvaW50ZXIgdG8gb3V0cHV0IGJ1ZmZlci4KCSogbGliaW8vaW9md2lkZS5jOiBMaWtld2lzZS4KCSogd2NzbWJzL2J0b3djLmM6IExpa2V3aXNlLgoJKiB3Y3NtYnMvbWJydG93Yy5jOiBMaWtld2lzZS4KCSogd2NzbWJzL21ic25ydG93Y3MuYzogTGlrZXdpc2UuCgkqIHdjc21icy9tYnNydG93Y3MuYzogTGlrZXdpc2UuCgkqIHdjc21icy93Y3J0b21iLmM6IExpa2V3aXNlLgoJKiB3Y3NtYnMvd2NzbnJ0b21icy5jOiBMaWtld2lzZS4KCSogd2NzbWJzL3djc3J0b21icy5jOiBMaWtld2lzZS4KCSogd2NzbWJzL3djdG9iLmM6IExpa2V3aXNlLgoJKiBpY29udi9nY29udl9zaW1wbGUuYzogUmVtb3ZlIHR3byBwYXJhbWV0ZXJzIGZyb20gZXJyb3IgaGFuZGxpbmcKCWZ1bmN0aW9uIGNhbGwuCgkqIGljb252ZGF0YS84Yml0LWdhcC5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhLzhiaXQtZ2VuZXJpYy5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2Fuc2lfeDMuMTEwLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvYmlnNS5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2JpZzVoa3Njcy5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2V1Yy1jbi5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2V1Yy1qcC5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2V1Yy1rci5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2V1Yy10dy5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2diZ2JrLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZ2JrLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvLTIwMjItY24uYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc28tMjAyMi1qcC5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzby0yMDIyLWtyLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvNjQ2LmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvODg1OS0xLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvXzY5MzctMi5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzb182OTM3LmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvam9oYWIuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9zamlzLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvdC42MS5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL3VoYy5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL3VuaWNvZGUuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS91dGYtMTYuYzogTGlrZXdpc2UuCgoyMDAwLTA2LTE1ICBHcmVnIE1jR2FyeSAgPGdyZWdAbWNnYXJ5Lm9yZz4KCgkqIHN5c2RlcHMvdW5peC9tYWtlLXN5c2NhbGxzLnNoOiBTdHJpcCBsZWFkaW5nIHdoaXRlc3BhY2UgZnJvbSBsaHMKCW9mIGNhbGxudW0gYXNzaWdubWVudC4gIFRvbGVyYXRlIGNhbGxudW0gZXhwcmVzc2lvbnMgY29udGFpbmluZwoJcGFyZW5zLgoKMjAwMC0wNi0xNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2dpbi9NYWtlZmlsZSAodXRtcGQpOiBSZW1vdmUgcnVsZSB0byBidWlsZCB1dG1wZC4KCgkqIGNzdS9WZXJzaW9uczogTW92ZSBsaWJnY2MgZnJhbWUgaGFuZGxpbmcgZnVuY3Rpb25zIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9WZXJzaW9uczogLi4udG8gaGVyZS4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vVmVyc2lvbnM6IC4uLnRvIGhlcmUuLi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9WZXJzaW9uczogLi4udG8gaGVyZS4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tNjhrL1ZlcnNpb25zOiAuLi50byBoZXJlLi4uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvVmVyc2lvbnM6IC4uLnRvIGhlcmUuLi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9WZXJzaW9uczogLi4uYW5kIGhlcmUuCglOZXcgZmlsZS4KCSogc3lzZGVwcy9tYWNoL2h1cmQvaTM4Ni9WZXJzaW9uczogLi4uYW5kIGhlcmUuICBOZXcgZmlsZS4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jdHlwZS5jIChhbGxvY2F0ZV9hcnJheXMpOiBDb3JyZWN0IGEgY29tbWVudC4KCgkqIG1pc2Mvc3lzbG9nLmMgKHZzeXNsb2cpOiBJbml0aWFsaXplIG1zZ29mZiBpbiBhbGwgY2FzZXMuCgoyMDAwLTA2LTE0ICBLYXp1bW90byBLb2ppbWEgIDxra29qaW1hQHJyLmlpajR1Lm9yLmpwPgoKCSogc3lzZGVwcy9zaC9zaDQvZnB1L2ZjbHJleGNwdC5jOiBSZW1vdmUgZGVmaW5pdGlvbnMgZm9yIGJhY2t3YXJkCgljb21wYXRpYmlsaXR5LgoJKiBzeXNkZXBzL3NoL3NoNC9mcHUvZmVnZXRlbnYuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc2gvc2g0L2ZwdS9mZXNldGVudi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zaC9zaDQvZnB1L2ZyYWlzZWV4Y3B0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NoL3NoNC9mcHUvZnNldGV4Y3B0ZmxnLmM6IExpa2V3aXNlLgoKMjAwMC0wNi0xNCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2xpYmMtc3ltYm9scy5oIChsaW5rX3dhcm5pbmcpOiBJZiBIQVZFX1NFQ1RJT05fUVVPVEVTIGlzCglkZWZpbmVkLCB0ZXJtaW5hdGUgcXVvdGVzIGFuZCByZWFkIHRoZW0gYWZ0ZXIgdGhlIGNvbW1lbnQgY2hhci4KCSogY29uZmlndXJlLmluIChIQVZFX1NFQ1RJT05fUVVPVEVTKTogVGVzdCB3aGV0aGVyCglfX2F0dHJpYnV0ZV9fKChzZWN0aW9uICgieCIpKSkgcHV0cyBxdW90ZXMgYXJvdW5kIHggb3Igbm90LgoJKiBjb25maWcuaC5pbiAoSEFWRV9TRUNUSU9OX1FVT1RFUyk6IEFkZC4KCSogY29uZmlndXJlOiBSZWJ1aWx0LgoKMjAwMC0wNi0xNCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY29uZmlndXJlLmluOiBTZXQgbGliY19jdl9zeXNjb25mZGlyCglkZXBlbmRpbmcgb24gdGhlIGNvbmZpZ3VyZSBvcHRpb24gLS1zeXNjb25mZGlyLgoJQ2xvc2VzIFBSIGxpYmMvMTc2Mi4KCVBhdGNoIGJ5IEFuZHJlYXMgU2Nod2FiIDxzY2h3YWJAc3VzZS5kZT4uCgoJKiBzeXNkZXBzL21pcHMvZGwtbWFjaGluZS5oOiBQYXNzIGZpbmFsaXplciBjb3JyZWN0bHkgdG8gdXNlcgoJZW50cnkgcG9pbnQuCglSZXBvcnRlZCBieSBKaW0gUGljayA8amltQGppbXBpY2suY29tPi4KCjIwMDAtMDYtMTQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWlzYy9zeXNsb2cuYyAodnN5c2xvZyk6IEFsbG93IG9wZW5fbWVtc3RyZWFtIHRvIGZhaWwgd2l0aG91dAoJY3Jhc2hpbmcgdGhlIGFwcGxpY2F0aW9uLiAgRW1pdCBzb21lIHNpbXBsZSBlcnJvciBtZXNzYWdlLgoJUmVwb3J0ZWQgYnkgbWp1QHBhbmFzYXMuY29tIFtQUiBsaWJjLzE3NjldLgoKMjAwMC0wNi0xMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBtYWxsb2MvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgbWVtcHJvZi5zaCBhbmQgbWVtcHJvZnN0YXQuYy4KCgkqIGNyeXB0L01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIG1kNS5oLgoKCSogTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgaW5jbHVkZS9zaGxpYi1jb21wYXQuaC4KCgkqIE1ha2UtZGlzdDogU2VhcmNoIGZvciB0ZXN0cyBhbHNvIGluIHN5c2RlcHMgaGllcmFjaHkuCgoJKiBjcnlwdC9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCB1ZmMtY3J5cHQuaCwgY3J5cHQtcHJpdmF0ZS5oLAoJdWZjLmMsIHNwZWVkcy5jLCBSRUFETUUudWZjLWNyeXB0LCBhbmQgQmFubmVyLgoKCSogc3lzZGVwcy9zcGFyYy9TdWJkaXJzOiBOZXcgZmlsZS4KCgkqIGxvY2FsZS9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCB3ZWlnaHR3Yy5oIGFuZAoJcHJvZ3JhbXMvbG9jYWxlZGVmLmguCgoJKiB0aW1lL01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIGRhdGVtc2suCgoJKiBzeXNkZXBzL2lhNjQvRGlzdDogQWRkIHNvZnRwaXBlLmguCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvRGlzdDogTmV3IGZpbGUuCgoJKiBwb3NpeC9zZXRwZ3JwLmM6IE1vdmVkIHRvLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy9zZXRwZ3JwLmM6IC4uLmhlcmUuICBOZXcgZmlsZS4KCSogaW8vbWtub2QuYzogTW92ZWQgdG8uLi4KCSogc3lzZGVwcy9nZW5lcmljL21rbm9kLmM6IC4uLmhlcmUuICBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvRGlzdDogTmV3IGZpbGUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9EaXN0OiBBZGQgc3lzL3Byb2Nmcy5oLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL0Rpc3Q6IEFkZCBvbGRnZXRybGltaXQ2NC5jLgoKCSogc3lzZGVwcy9wb3dlcnBjL0Rpc3Q6IEFkZCBmcHJyZXN0LlMsIGZwcnNhdmUuUywgZ3Byc2F2ZTEuUywKCWdwcnNhdmUwLlMsIGdwcnJlc3QxLlMsIGFuZCBncHJyZXN0MC5TLgoKCSogc3lzZGVwcy9nZW5lcmljL0Rpc3Q6IEFkZCBicC10aHVua3MuaCwgYnAtc3ltLmgsIGFuZCBicC1zdGFydC5oLgoKCSogcG9zaXgvTWFrZWZpbGUgKHJvdXRpbmVzKTogQWRkIHNwYXduYXR0cl9nZXRzaWdtYXNrLAoJc3Bhd25hdHRyX2dldHNjaGVkcG9saWN5LCBzcGF3bmF0dHJfZ2V0c2NoZWRwYXJhbSwKCXNwYXduYXR0cl9zZXRzaWdtYXNrLCBzcGF3bmF0dHJfc2V0c2NoZWRwb2xpY3ksIGFuZAoJc3Bhd25hdHRyX3NldHNjaGVkcGFyYW0uCgkqIHBvc2l4L1ZlcnNpb25zOiBBZGQgcG9zaXhfc3Bhd25hdHRyX2dldHNjaGVkcG9saWN5LAoJcG9zaXhfc3Bhd25hdHRyX3NldHNjaGVkcG9saWN5LCBwb3NpeF9zcGF3bmF0dHJfZ2V0c2NoZWRwYXJhbSwgYW5kCglwb3NpeF9zcGF3bmF0dHJfc2V0c2NoZWRwYXJhbS4KCgkqIHBvc2l4L3NwYXduYXR0cl9zZXRzY2hlZHBhcmFtLmM6IEZpeCB0eXBvLgoKCSogcG9zaXgvc3Bhd25hdHRyX3NldHNpZ21hc2suYyAocG9zaXhfc3Bhd25hdHRyX3NldHNpZ21hc2spOgoJQ29ycmVjdCB0eXBvLgoKCSogbG9naW4vcHJvZ3JhbXMvdXRtcGQuYzogUmVtb3ZlZC4KCSogbG9naW4vcHJvZ3JhbXMvdXRtcGQuaDogUmVtb3ZlZC4KCSogbG9naW4vcHJvZ3JhbXMvdXRtcGQtcHJpdmF0ZS5oOiBSZW1vdmVkLgoKCSogTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgaW5jbHVkZS9kYl8xODUuaCBhbmQgaW5jbHVkZS9kYi5oLgoKCSogaWNvbnZkYXRhL01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIGlzby1pci0xNjUuYyBhbmQKCWlzby1pci0xNjUuaC4KCgkqIGVsZi9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCBtaXNzaW5nIGZpbGVzLgoKCSogZGxmY24vTWFrZWZpbGU6IEFkZCBiYWNrIHJ1bGVzIHRvIGluY2x1ZGUgZXZhbCBpbiBsaWJkbC5zby4KCSogZWxmL2V2YWwuYzogTW92ZWQgdG8uLi4KCSogZGxmY24vZXZhbC5jOiAuLi5oZXJlLiAgTmV3IGZpbGUuCgoJKiBNYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFsc28gZGlzdHJpYnV0ZSBDaGFuZ2VMb2cuMT8uCgoJKiBNYWtlLWRpc3QgKCt0c3Jjcyk6IFJlbW92ZSAuYXJncyBoYW5kbGluZyBoZXJlIGFzIHdlbGwuCgoJKiBydC9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdHN0LXRpbWVyLgoJKiBzeXNkZXBzL2dlbmVyaWMvdHN0LXRpbWVyLmM6IE5ldyBmaWxlLgoKCSogTWFrZXJ1bGVzIChzb3VyY2VzKTogRG9uJ3QgYWRkIEJQIHNvdXJjZXMgaGVyZS4KCgkqIGxvZ2luL01ha2VmaWxlIChkaXN0cmlidXRlKTogUmVtb3ZlIHh0bXAuaC4KCgkqIGljb252L2ljb252X3Byb2cuYyAobWFpbik6IEZpeCBhcHBlbmRpbmcgc2xhc2hlcyBpZiBvbWl0X2ludmFsaWQKCWlzIHRydWUuICBSZXBvcnRlZCBieSBCcnVubyBIYWlibGUgPGhhaWJsZUBpbG9nLmZyPi4KCjIwMDAtMDYtMTMgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvbWlwcy9lbGYvc3RhcnQuUyAoRU5UUllfUE9JTlQpOiBSZW1vdmUgbWlwczY0IGRlZmluZXMuCglQYXRjaCBieSBSYWxmIEJhZWNobGUgPHJhbGZAZ251Lm9yZz4uCgoyMDAwLTA2LTEzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5c2NhbGxzLmxpc3Q6IEFkZCBwYXJhbWV0ZXIgaW5mb3JtYXRpb24KCWZvciBtaW5jb3JlIHN5c2NhbGwuCgoJKiBtaXNjL3N5cy9jZGVmcy5oOiBEZWZpbmUgX19ib3VuZGVkIGFuZCBfX3VuYm91bmRlZCBpZgoJX19CT1VOREVEX1BPSU5URVJTX18gaXMgbm90IGRlZmluZWQuCgoyMDAwLTA2LTA3ICBHcmVnIE1jR2FyeSAgPGdyZWdAbWNnYXJ5Lm9yZz4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9icC1zeW0uaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9icC1zdGFydC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pMzg2L2VsZi9zdGFydC5TOiBEZXNpZ25hdGUgQlAgc3ltYm9scy4KCSogc3lzZGVwcy9nZW5lcmljL2xpYmMtc3RhcnQuYzogV3JhcCBib3VuZHMgYXJvdW5kCglhcmd2ICYgZW52cCBhbmQgZWFjaCBvZiB0aGVpciBzdHJpbmcgbWVtYmVycy4KCjIwMDAtMDYtMDcgIEdyZWcgTWNHYXJ5ICA8Z3JlZ0BtY2dhcnkub3JnPgoKCSogc3lzZGVwcy91bml4L21ha2Utc3lzY2FsbHMuc2g6IEFkZCBjb21tZW50cyB0bwoJb3V0cHV0IHRoYXQgYWlkIGRlYnVnZ2luZyAmIGNvbXByZWhlbnNpb24uCglNYXAgc2ltcGxlIHN5c2NhbGwgc2lnbmF0dXJlcyB0byBudW1iZXIgb2YgYXJncy4KCUdlbmVyYXRlIEJQIHN5c2NhbGwgdGh1bmsgZGVmaW5pdGlvbnMuCgkqIHN5c2RlcHMvZ2VuZXJpYy9icC10aHVua3MuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXNjYWxscy5saXN0OiBSZXBsYWNlIGFyZy1jb3VudCB3aXRoCglzaW1wbGUgcmV0dXJuK2FyZyBzaWduYXR1cmUuCgkqIHN5c2RlcHMvdW5peC9jb21tb24vc3lzY2FsbHMubGlzdDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9pbmV0L3N5c2NhbGxzLmxpc3Q6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvbW1hbi9zeXNjYWxscy5saXN0OiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3Yvc3lzY2FsbHMubGlzdDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5c2NhbGxzLmxpc3Q6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3N5c2NhbGxzLmxpc3Q6IExpa2V3aXNlLgoKMjAwMC0wNi0wNyAgR3JlZyBNY0dhcnkgIDxncmVnQG1jZ2FyeS5vcmc+CgoJKiBNYWtlY29uZmlnIChDUFBGTEFHUy0ub2IpOiBQYXNzIC1mYm91bmRlZC1wb2ludGVycwoJZm9yIGFsbCBmaWxlcyAqLltjU10uCgkoQ0ZMQUdTLS5vYik6IERvbid0IG9wdGltaXplIHNpYmxpbmcgY2FsbHMuCgkoYnBwZngpOiBOZXcgdmFyaWFibGUuCgkqIE1ha2VydWxlcyAoZWxpZGUtYnAtdGh1bmtzKTogTmV3IHZhcmlhYmxlLgoJKGVsaWRlLXJvdXRpbmVzLiopOiBFbGlkZSBCUC0qIGZpbGVzIGZvciBhbGwgYnV0ICoub2IuCgkoc291cmNlcyk6IEluY2x1ZGUgYnAtdGh1bmtzLgoKMjAwMC0wNi0xMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udi9nY29udl9zaW1wbGUuYzogUmVtb3ZlIHVubmVjZXNzYXJ5IHByb3RvdHlwZS4KCgkqIGljb252L2djb252X3RyYW5zLmM6IFByZXR0eSBwcmludC4KCgkqIGVsZi9lbGYuaCAoUl9TSF9OVU0pOiBHb3QgYWNjaWRlbnRseSBkcm9wcGVkLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY29uZmlndXJlLmluOiBJbXByb3ZlIGhhbmRsaW5nIG9mCgltaW5pbWFsIGtlcm5lbCB2ZXJzaW9ucy4gIEFkZCBpbmZvcm1hdGlvbiBhYm91dCBJQS02NCBrZXJuZWwuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jb25maWd1cmUuaW46IEFsbG93IGFyY2hpdGVjdHVyZQoJc3BlY2lmaWMgbWluaW1hbCBzdXBwb3J0ZWQga2VybmVsIHZlcnNpb25zIHRvIGJlIHNwZWNpZmllZC4KCgkqIGxpYmlvL2lvZndpZGUuYyAoX0lPX2Z3aWRlKTogSW5pdGlhbGl6ZSB0cmFuc2xpdGVyYXRpb24gcGFydCBvZgoJc3RlcCBkYXRhIHN0cnVjdHVyZS4KCSogd2NzbWJzL2J0b3djLmM6IExpa2V3aXNlLgoJKiB3Y3NtYnMvbWJydG93Yy5jOiBMaWtld2lzZS4KCSogd2NzbWJzL21ic25ydG93Y3MuYzogTGlrZXdpc2UuCgkqIHdjc21icy9tYnNydG93Y3MuYzogTGlrZXdpc2UuCgkqIHdjc21icy93Y3J0b21iLmM6IExpa2V3aXNlLgoJKiB3Y3NtYnMvd2NzbnJ0b21icy5jOiBMaWtld2lzZS4KCSogd2NzbWJzL3djc3J0b21icy5jOiBMaWtld2lzZS4KCSogd2NzbWJzL3djdG9iLmM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvRGlzdDogVGhlcmUgaXMgbm8gaW9wZXJtIGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL29sZGdldHJsaW1pdDY0LmM6IFJlbW92ZWQuCgoJKiBzaGxpYi12ZXJzaW9uczogRWFybGllc3QgYmFja3dhcmQgY29tcGF0aWJsZSB2ZXJzaW9uIGZvciBTSCBpcyAyLjIuCgoJKiBtaXNjL3N5cy9jZGVmcy5oOiBSZW1vdmUgb25lIG1vcmUgX19QLgoKCSogc3lzdmlwYy9zeXMvc2htLmg6IE1vdmUgX19nZXRwYWdlc2l6ZSBkZWNsYXJhdGlvbiBpbnNpZGUgZXh0ZXJuIEMuCglSZXBvcnRlZCBieSBISiBMdS4KCgkqIHN5c2RlcHMvc2gvc2gzL2JpdHMvc2V0am1wLmg6IFJlbW92ZWQuCgkqIHN5c2RlcHMvc2gvc2g0L2JpdHMvc2V0am1wLmg6IE1vdmVkIHRvLi4uCgkqIHN5c2RlcHMvc2gvYml0cy9zZXRqbXAuaDogLi4uaGVyZS4gIE5ldyBmaWxlLgoKMjAwMC0wNi0xMiAgS2F6dW1vdG8gS29qaW1hICA8a2tvamltYUByci5paWo0dS5vci5qcD4KCSAgICBZdXRha2EgTmlpYmUgIDxnbmlpYmVAY2hyb290Lm9yZz4KCgkqIGNvbmZpZ3VyZS5pbjogQWRkIG1hY2hpbmUgc2gzLCBzaDQuCgkqIGVsZi9lbGYuaDogQWRkIFNIIHNwZWNpZmljIGRlY2xhcmF0aW9ucyBvZiByZWxvY2F0aW9ucy4KCSogc2hsaWItdmVyc2lvbnM6IEFkZCBzaCotKi1saW51eCogY2FzZXMuCgoyMDAwLTA2LTEyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvc2gvc2gzL2JzZC1fc2V0am1wLlM6IE1vdmUgdG8uLi4KCSogc3lzZGVwcy9zaC9ic2QtX3NldGptcC5TOiAuLi5oZXJlLiAgTmV3IGZpbGUuCgkqIHN5c2RlcHMvc2gvc2g0L2JzZC1fc2V0am1wLlM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvc2gvc2gzL2JzZC1zZXRqbXAuUzogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3NoL2JzZC1zZXRqbXAuUzogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NoL3NoNC9ic2Qtc2V0am1wLlM6IFJlbW92ZWQuCgoJKiBzeXNkZXBzL3NoL2RsLW1hY2hpbmUuaCAoRkdSX1NBVkUpOiBQcm90ZWN0IHVzaW5nIEhBVkVfRlBVIG1hY3JvCglpbnN0ZWFkIG9mIEtFUk5FTF9NQVRIX0VNVUxBVElPTi4KCSogc3lzZGVwcy9zaC9zaDQvZGwtbWFjaGluZS5oOiBEZWZpbmUgSEFWRV9GUFUgbm90CglLRVJORUxfTUFUSF9FTVVMQVRJT04uCgoJKiBzeXNkZXBzL3NoL0Rpc3Q6IFJlbW92ZWQuICBUaGVyZSBpcyBubyBpZWVlNzU0LmggZmlsZS4KCSogc3lzZGVwcy9zaC9zaDMvZGwtbWFjaGluZS5oOiBNb3ZlZCB0by4uLgoJKiBzeXNkZXBzL3NoL2RsLW1hY2hpbmUuaDogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NoL3NoNC9kbC1tYWNoaW5lLmg6IFNpbXBseSBkZWZpbmUgS0VSTkVMX01BVEhfRU1VTEFUSU9OCglhbmQgaW5jbHVkZSBnZW5lcmljIFNIIHZlcnNpb24uCgkqIHN5c2RlcHMvc2gvc2gzL2JpdHMvZW5kaWFuLmg6IE1vdmUgdG8uLi4KCSogc3lzZGVwcy9zaC9iaXRzL2VuZGlhbi5oOiAuLi5oZXJlLiAgTmV3IGZpbGUuCgkqIHN5c2RlcHMvc2gvc2g0L2JpdHMvZW5kaWFuLmg6IFJlbW92ZWQuCgkqIHN5c2RlcHMvc2gvc2gzL2JpdHMvaHVnZV92YWwuaDogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3NoL2JpdHMvaHVnZV92YWwuaDogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NoL3NoNC9iaXRzL2h1Z2VfdmFsLmg6IFJlbW92ZWQuCgoJKiBpbmNsdWRlL2xpYmMtc3ltYm9scy5oIChsaW5rX3dhcm5pbmcpOiBXb3JrIGFyb3VuZCBhIGNoYW5nZSBpbgoJR0FTIHdoaWNoIHdhcm5zIGFib3V0IGNoYW5naW5nIHNlY3Rpb24gYXR0cmlidXRlcy4KCVByb3Bvc2VkIGJ5IE5pY2sgQ2xpZnRvbiA8bmlja2NAcmVkaGF0LmNvbT4uCgoyMDAwLTA2LTEyICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBzeXNkZXBzL2kzODYvZnB1L2JpdHMvbWF0aGlubGluZS5oIChfX3NnbjFsKTogQWRkIF9fZXh0ZW5zaW9uX18uCgoyMDAwLTA2LTExICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBzeXNkZXBzL2kzODYvZnB1L1ZlcnNpb25zOiBOZXcgZmlsZS4KCjIwMDAtMDYtMTIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnYvZ2NvbnYuaCAoX19nY29udl90cmFuc19jb250ZXh0X2ZjdCk6IFJlbW92ZSB0d28KCXBhcmFtZXRlcnMuCgkqIGljb252L3NrZWxldG9uLmMgKEZVTkNUSU9OX05BTUUpOiBDYWxsIF9fdHJhbnNfY29udGV4dF9mY3QgaWYgaXQKCWV4aXN0cy4KCjIwMDAtMDYtMTIgIEplcyBTb3JlbnNlbiAgPGplc0BsaW51eGNhcmUuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9rZXJuZWxfc3RhdC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC94c3RhdGNvbnYuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy9zdGF0Lmg6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9meHN0YXQ2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9seHN0YXQ2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC94c3RhdDY0LmM6IE5ldyBmaWxlLgoKMjAwMC0wNi0xMiAgS2F6dW1vdG8gS29qaW1hICA8a2tvamltYUByci5paWo0dS5vci5qcD4KCSAgICBZdXRha2EgTmlpYmUgIDxnbmlpYmVAY2hyb290Lm9yZz4KCgkqIHN5c2RlcHMvc2gvRGlzdDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc2gvSW1wbGllczogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc2gvZWxmL2luaXRmaW5pLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NoL2dtcC1tcGFyYW0uaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc2gvaW5pdC1maXJzdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zaC9tYWNoaW5lLWdtb24uaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc2gvbWVtY3B5LlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NoL21lbXByb2YuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc2gvbWVtc2V0LlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NoL3NoMy9fX2xvbmdqbXAuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc2gvc2gzL2JpdHMvZW5kaWFuLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NoL3NoMy9iaXRzL2h1Z2VfdmFsLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NoL3NoMy9iaXRzL3NldGptcC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zaC9zaDMvYnNkLV9zZXRqbXAuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc2gvc2gzL2JzZC1zZXRqbXAuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc2gvc2gzL2RsLW1hY2hpbmUuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc2gvc2gzL3NldGptcC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zaC9zaDQvX19sb25nam1wLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NoL3NoNC9iaXRzL2VuZGlhbi5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zaC9zaDQvYml0cy9odWdlX3ZhbC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zaC9zaDQvYml0cy9zZXRqbXAuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc2gvc2g0L2JzZC1fc2V0am1wLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NoL3NoNC9ic2Qtc2V0am1wLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NoL3NoNC9kbC1tYWNoaW5lLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NoL3NoNC9mcHUvYml0cy9mZW52Lmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NoL3NoNC9mcHUvYml0cy9odWdlX3ZhbC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zaC9zaDQvZnB1L2JpdHMvbWF0aGRlZi5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zaC9zaDQvZnB1L2ZjbHJleGNwdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zaC9zaDQvZnB1L2ZlZ2V0ZW52LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NoL3NoNC9mcHUvZmVnZXRyb3VuZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zaC9zaDQvZnB1L2ZlaG9sZGV4Y3B0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NoL3NoNC9mcHUvZmVzZXRlbnYuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc2gvc2g0L2ZwdS9mZXNldHJvdW5kLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NoL3NoNC9mcHUvZnB1X2NvbnRyb2wuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc2gvc2g0L2ZwdS9mcmFpc2VleGNwdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zaC9zaDQvZnB1L2ZzZXRleGNwdGZsZy5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zaC9zaDQvZnB1L2Z0ZXN0ZXhjZXB0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NoL3NoNC9mcHUvbGlibS10ZXN0LXVscHM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NoL3NoNC9zZXRqbXAuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc2gvZWxmL3N0YXJ0LlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3NoL3N5cy91Y29udGV4dC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zaC9zdHJsZW4uUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc2gvc3lzZGVwLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc2gvc3lzZGVwLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc2gvc3lzZGVwLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9EaXN0OiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvTWFrZWZpbGU6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9WZXJzaW9uczogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL2JpdHMvbW1hbi5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvYml0cy9yZXNvdXJjZS5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvYnJrLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9jaG93bi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvY2xvbmUuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL2ZjaG93bi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvZnhzdGF0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9nZXRlZ2lkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9nZXRldWlkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9nZXRncm91cHMuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL2dldHJlc2dpZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvZ2V0cmVzdWlkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9nZXRybGltaXQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL2dldHJsaW1pdDY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9nZXR1aWQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL2xjaG93bi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvbHhzdGF0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9tc2djdGwuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL29sZGdldHJsaW1pdDY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9waXBlLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9wcm9maWwtY291bnRlci5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvc2VtY3RsLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9zZXRlZ2lkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9zZXRldWlkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9zZXRmc2dpZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvc2V0ZnN1aWQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3NldGdpZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvc2V0Z3JvdXBzLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9zZXRyZWdpZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvc2V0cmVzZ2lkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9zZXRyZXN1aWQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3NldHJldWlkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9zZXRybGltaXQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3NldHVpZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvc2gzL3JlZ2lzdGVyLWR1bXAuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3NoNC9yZWdpc3Rlci1kdW1wLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9zaG1jdGwuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3NpZ2NvbnRleHRpbmZvLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9zb2NrZXQuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3N5cy9pby5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvc3lzL3Vjb250ZXh0Lmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9zeXMvdXNlci5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvc3lzY2FsbHMubGlzdDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3N5c2RlcC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvc3lzZGVwLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC92Zm9yay5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gveHN0YXQuYzogTmV3IGZpbGUuCgoyMDAwLTA2LTEyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIFJ1bGVzICglLm91dCk6IERlZmluZSBHQ09OVl9QQVRIIGluIHRoZSBlbnZpcm9ubWVudC4KCSogYXNzZXJ0L0RlcGVuZDogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9EZXBlbmQ6IE5ldyBmaWxlLgoJKiBpbnRsL0RlcGVuZDogTmV3IGZpbGUuCgkqIHRpbWV6b25lL01ha2VmaWxlIChidWlsZC10ZXN0ZGF0YSk6IEFkZCBHQ09OVl9QQVRIIHRvIGVudmlyb25tZW50LgoJKiBpbnRsL3RzdC1nZXR0ZXh0LnNoOiBMaWtld2lzZS4KCSogaWNvbnYvTWFrZWZpbGUgKHJvdXRpbmVzKTogQWRkIGdjb252X3RyYW5zLgoJKiBpY29udi9nY29udl90cmFucy5jOiBOZXcgZmlsZS4KCSogaWNvbnYvZ2NvbnYuaCAoc3RydWN0IF9fZ2NvbnZfdHJhbnNfZGF0YSk6IE5ldyB0eXBlLgoJKF9fZ2NvbnZfZmN0KTogTmV3IHBhcmFtZXRlciB3aXRoIHN0YXJ0aW5nIHBvc2l0aW9uIGluIG91dHB1dCBidWZmZXIuCgkoX19nY29udl90cmFuc19mY3QsIF9fZ2NvbnZfdHJhbnNfY29udGV4dF9mY3QsIF9fZ2NvbnZfdHJhbnNfcXVlcnlfZmN0LAoJX19nY29udl90cmFuc19pbml0X2ZjdCwgX19nY29udl90cmFuc19lbmRfZmN0KTogTmV3IHR5cGVzLgoJKHN0cnVjdCBfX2djb252X3N0ZXApOiBBZGQgbmV3IG1lbWJlciBfX3RyYW5zLgoJKiBpY29udi9nY29udl9pbnQuaDogUHJldHR5IHByaW50IHByb3RvdHlwZXMuCgkoZ2NvbnZfdHJhbnNsaXRlcmF0ZSk6IE5ldyBwcm90b3R5cGUuCgkoX19CVUlMVElOX1RSQU5TKTogVXBkYXRlIGZvciBuZXcgY29udmVyc2lvbiBmdW5jdGlvbiBpbnRlcmZhY2UuCgkqIGljb252L2djb252LmMgKF9fZ2NvbnYpOiBQYXNzIG5ldyBwYXJhbWV0ZXIgdG8gY29udmVyc2lvbiBmdW5jdGlvbi4KCSogaWNvbnYvZ2NvbnZfb3Blbi5jIChfX2djb252X29wZW4pOiBSZWNvZ25pemUgZXJyb3IgaGFuZGxpbmcgc3VmZml4CglpbiBuYW1lcywgZmluZCBhcHByb3ByaWF0ZSBmdW5jdGlvbiwgYW5kIGluc3RhbGwgaW4gdGhlIGNvbnZlcnNpb24KCXN0ZXBzIGl0IGNhbiBiZSB1c2VkLgoJKiBpY29udi9za2VsZXRvbi5jOiBBZGQgYWRkaXRpb25hbCBwYXJhbWV0ZXIgZm9yIGJlZ2lubmluZyBvZiBvdXRwdXQKCWJ1ZmZlci4gIENoYW5nZSBjYWxscyBvZiBkb3duc3RyZWFtIGZ1bmN0aW9ucy4KCSogaWNvbnYvbG9vcC5jOiBDaGFuZ2UgbG9vcCBmdW5jdGlvbiBpbnRlcmZhY2UgY29tcGxldGVseS4gIFBhc3MgaW4KCXN0ZXAgYW5kIHN0ZXBfZGF0YSBzdHJ1Y3R1cmUuICBSZW1vdmUgb3B0aW1pemF0aW9uIGZvciBCT0RZIHdpdGgKCU5FRURfTEVOR1RIX1RFU1QgPT0gMC4KCSogaWNvbnYvZ2NvbnZfc2ltcGxlLmM6IFVwZGF0ZSBpbnRlcmZhY2VzIG9mIGZ1bmN0aW9ucy4gIEluc2VydAoJYXBwcm9wcmlhdGUgZXJyb3IgaGFuZGxpbmcgY29kZSB0byB1c2UgdHJhbnNsaXRlcmF0aW9uIHN0ZXBzLiAgUmVtb3ZlCglvcHRpbWl6YXRpb24gZm9yIEJPRFkgd2l0aCBORUVEX0xFTkdUSF9URVNUID09IDAuCgkqIGljb252ZGF0YS84Yml0LWdhcC5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhLzhiaXQtZ2VuZXJpYy5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2Fuc2lfeDMuMTEwLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvYmlnNS5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2JpZzVoa3Njcy5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2V1Yy1jbi5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2V1Yy1qcC5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2V1Yy1rci5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2V1Yy10dy5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2diZ2JrLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZ2JrLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvLTIwMjItY24uYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc28tMjAyMi1qcC5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzby0yMDIyLWtyLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvNjQ2LmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvODg1OS0xLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvXzY5MzctMi5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzb182OTM3LmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvam9oYWIuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9zamlzLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvdC42MS5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL3VoYy5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL3VuaWNvZGUuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS91dGYtMTYuYzogTGlrZXdpc2UuCgkqIGxpYmlvL2lvZndpZGUuYzogQWRqdXN0IHRvIG5ldyBpbnRlcmZhY2Ugb2YgZ2NvbnYgZnVuY3Rpb25zLiAgVXNlCglETF9DQUxMX0ZDVC4KCSogd2NzbWJzL2J0b3djLmM6IExpa2V3aXNlLgoJKiB3Y3NtYnMvbWJydG93Yy5jOiBMaWtld2lzZS4KCSogd2NzbWJzL21ic25ydG93Y3MuYzogTGlrZXdpc2UuCgkqIHdjc21icy9tYnNydG93Y3MuYzogTGlrZXdpc2UuCgkqIHdjc21icy93Y3J0b21iLmM6IExpa2V3aXNlLgoJKiB3Y3NtYnMvd2NzbnJ0b21icy5jOiBMaWtld2lzZS4KCSogd2NzbWJzL3djc3J0b21icy5jOiBMaWtld2lzZS4KCSogd2NzbWJzL3djdG9iLmM6IExpa2V3aXNlLgoKMjAwMC0wNC0xMSAgR2VvZmYgS2VhdGluZyAgPGdlb2Zma0BjeWdudXMuY29tPgoKCSogc3lzZGVwcy9wb3dlcnBjL2RsLW1hY2hpbmUuYzogSW5jbHVkZSBkbC1tYWNoaW5lLmggYWZ0ZXIgdGhlCglvdGhlciBoZWFkZXIgZmlsZXMuICBNZW50aW9uIGFib3V0IDEyOC1ieXRlIGNhY2hlIGxpbmUgc2l6ZXMuCgkoX19lbGZfbWFjaGluZV9maXh1cF9wbHQpOiBNYWtlIHR5cGVzIG1hdGNoIGVsZl9tYWNoaW5lX2ZpeHVwX3BsdC4KCSogc3lzZGVwcy9wb3dlcnBjL2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfZml4dXBfcGx0KTogVXBkYXRlCglmb3IgY3VycmVudCBjYWxsaW5nIHNlcXVlbmNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvZGwtc3RhcnQuUyAoX2RsX3N0YXJ0X3VzZXIpOiBDbG9zZSBjb21tZW50LgoKCSogc3lzZGVwcy9wb3dlcnBjL2ZwdS9zX3JpbnQuYzogSGFuZGxlIHJvdW5kaW5nIHRvIC0wIGNvcnJlY3RseS4KCSogc3lzZGVwcy9wb3dlcnBjL2ZwdS9zX3JpbnRmLmM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9zeXNjYWxscy5saXN0OiBBZGQgZ2V0cmxpbWl0CglhbmQgc2V0cmxpbWl0IHN5c2NhbGxzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4KCjIwMDAtMDYtMTAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnYvc2tlbGV0b24uYzogIFJlbmFtZSBjb252ZXJ0ZWQgd3JpdHRlbiB0byBjb3JyZWN0ZXIgbmFtZQoJaXJyZXZlcnNpYmxlLgoJKiBpY29udi9nY29udi5jOiBSZW5hbWUgY29udmVydGVkIHZhcmlhYmxlIHRvIGNvcnJlY3RlciBuYW1lCglpcnJldmVyc2libGUuCgkqIGljb252L2djb252X2ludC5oOiBMaWtld2lzZS4KCSogaWNvbnYvZ2NvbnZfc2ltcGxlLmM6IExpa2V3aXNlLgoJKiBpY29udi9pY29udi5jOiBMaWtld2lzZS4KCSogaWNvbnYvbG9vcC5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhLzhiaXQtZ2FwLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvOGJpdC1nZW5lcmljLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvYW5zaV94My4xMTAuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9iaWc1LmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvYmlnNWhrc2NzLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZXVjLWNuLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZXVjLWpwLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZXVjLWtyLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZ2JnYmsuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9nYmsuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc28tMjAyMi1jbi5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzby0yMDIyLWpwLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvLTIwMjIta3IuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc282NDYuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc284ODU5LTEuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc29fNjkzNy0yLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvXzY5MzcuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9qb2hhYi5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL3NqaXMuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS90LjYxLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvdWhjLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvdW5pY29kZS5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL3V0Zi0xNi5jOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvc29ja2V0LmggKHN0cnVjdCBjbXNnaGRyKTogTWFyawoJX19jbXNnX2RhdGEgZmllbGQgd2l0aCBfX2V4dGVuc2lvbl9fLgoKMjAwMC0wNi0xMCAgRGF2aWQgTW9zYmVyZ2VyICA8ZGF2aWRtQGhwbC5ocC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3N5c2NhbGwuUzogRml4IGl0IHNvIGl0IGFjdHVhbGx5IHdvcmtzLgoKMjAwMC0wNi0xMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udi9nY29udl9zaW1wbGUuYzogRml4IHZhcmlvdXMgc21hbGwgYnVncyBpbiBzZXZlcmFsCglmdW5jdGlvbnMuCgoJKiBpY29udi9sb29wLmM6IEZpeCBjb21tZW50LgoKMjAwMC0wNi0xMCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBlbGYvbGluay5oOiBSZW1vdmUgbGliYyBpbnRlcm5hbCBkZWNsYXJhdGlvbnMuCgkqIGluY2x1ZGUvbGluay5oOiBNb3ZlIHRoZW0gaGVyZS4KCjIwMDAtMDYtMDkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9nZXRzeXNzdGF0cy5jOiBOZXcgZmlsZS4KCVBhdGNoIGJ5IERhbiBQb3AgPERhbi5Qb3BAY2Vybi5jaD4uCgoJUmV3cml0ZSBlcnJvciBtZXNzYWdlIGhhbmRsaW5nLgoJKiBlbGYvZGwtZGVwcy5jIChfZGxfbWFwX29iamVjdF9kZXBzKTogUGFzcyBuZXcgcGFyYW1ldGVyIHRvCglfZGxfY2F0Y2hfZXJyb3IuCgkqIGVsZi9kbC1lcnJvciAoc3RydWN0IGNhdGNoKTogQWRkIG9iam5hbWUgbWVtYmVyLgoJKF9kbF9zaWduYWxfZXJyb3IpOiBUYWtlIG5ldyBwYXJhbWV0ZXIgd2l0aCBvYmplY3QgbmFtZS4gIFdoZW4KCXBhc3NpbmcgbWVzc2FnZSBvbiBzaW1wbHkgc3RvcmUgb2JqZWN0IG5hbWUgYW5kIGR1cGxpY2F0ZSBlcnJvcgoJbWVzc2FnZS4KCShfZGxfY2F0Y2hfZXJyb3IpOiBUYWtlIG5ldyBwYXJhbWV0ZXIuICBTdG9yZSBvYmplY3QgbmFtZSBpbiB0aGUKCXBsYWNlIHBvaW50ZWQgdG8uCgkqIGluY2x1ZGUvZGxmY24uaDogQWRqdXN0IF9kbF9jYXRjaF9lcnJvciBwcm90b3R5cGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9sZHNvZGVmcy5oOiBBZGp1c3QgX2RsX3NpZ25hbF9lcnJvciBwcm90b3R5cGUuCgkqIGRsZmNuL2RsZXJyb3IuYyAoc3RydWN0IGRsX2FjdGlvbl9yZXN1bHQpOiBBZGQgb2JqbmFtZSBtZW1iZXIuCgkoZGxlcnJvcik6IEFkZCBvYmpuYW1lIHRvIGFzcHJpbnRmKCkgcGFyYW1ldGVycy4KCShfZGxfZXJyb3JfcnVuKTogUGFzcyBuZXcgcGFyYW1ldGVyIHRvIF9kbF9jYXRjaF9lcnJvci4KCSogZWxmL2RsLWxpYmMuYyAoZGxlcnJvcl9ydW4pOiBQYXNzIG5ldyBwYXJhbWV0ZXIgdG8gX2RsX2NhdGNoX2Vycm9yLgoJKiBlbGYvZGwtb3Blbi5jIChfZGxfb3Blbik6IExpa2V3aXNlLgoJKiBlbGYvcnRsZC5jIChkbF9tYWluKTogTGlrZXdpc2UuCgkqIGVsZi9kbC1jbG9zZS5jOiBNYXJrIGVycm9yIG1lc3NhZ2VzIHdpdGggTl8oKS4KCSogZWxmL2RsLWRlcHMuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1lcnJvci5jOiBMaWtld2lzZS4KCSogZWxmL2RsLWxvYWQuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1vcGVuLmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtcmVsb2MuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1zdXBwb3J0LmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtc3ltLmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtdmVyc2lvbi5jOiBMaWtld2lzZS4KCSogZWxmL2RsLWxvb2t1cC5jOiBBZGQgY29tbWVudHMgYWJvdXQgcHJvYmxlbXMgd2l0aCBlcnJvciBtZXNzYWdlCgl0cmFuc2xhdGlvbnMuCgkqIGVsZi9kbC1yZWxvYy5jOiBMaWtld2lzZS4KCSogZWxmL2RsLXZlcnNpb24uYzogTGlrZXdpc2UuCgoyMDAwLTA2LTA5ICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBkbGZjbi9kbGVycm9yLmMgKF9kbGVycm9yX3J1bik6IFNldCByZXN1bHQtPmVycnN0cmluZyB0byBOVUxMCglhZnRlciBmcmVlaW5nIGl0LgoKCSogZGxmY24vTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgZmFpbHRlc3Rtb2QuYy4KCSh0ZXN0cyk6IEFkZCBmYWlsdGVzdC4KCUFkZCBydWxlcyB0byBidWlsZCBhbmQgcnVuIGZhaWx0ZXN0LgoJKiBkbGZjbi9mYWlsdGVzdC5jOiBOZXcgZmlsZS4KCSogZGxmY24vZmFpbHRlc3Rtb2QuYzogTmV3IGZpbGUuCgoyMDAwLTA2LTA5ICBEYXZpZCBNb3NiZXJnZXItVGFuZyAgPGRhdmlkbUBocGwuaHAuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9fX2xvbmdqbXAuUzogbmV3IGZpbGUKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9ic2QtX3NldGptcC5TOiBuZXcgZmlsZQoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JzZC1zZXRqbXAuUzogbmV3IGZpbGUKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zZXRqbXAuUzogbmV3IGZpbGUKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9iaXRzL3NldGptcC5oOiBuZXcgZmlsZQoKMjAwMC0wNi0wOSAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2Jyay5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9waXBlLlM6IE5ldyBmaWxlLgoKMjAwMC0wNi0wOSAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgkgICAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3NpZ2FjdGlvbi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zaWdwZW5kaW5nLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3NpZ3Byb2NtYXNrLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3NpZ3N1c3BlbmQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy9zaWdhY3Rpb24uaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy9zaWdzdGFjay5oOiBOZXcgZmlsZS4KCjIwMDAtMDYtMDkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2htX29wZW4uYyAod2hlcmVfaXNfc2htZnMpOiBUcnkgaGFyZGVyCgl0byBmaW5kIGNvcnJlY3QgbW91bnQgcG9pbnQgZGVzcGl0ZSB3cm9uZyBpbmZvcm1hdGlvbiBmcm9tIHRoZQoJa2VybmVsLgoKMjAwMC0wNi0wOSAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBlbGYvZGwtbGliYy5jIChfX2xpYmNfZGxzeW0pOiBVc2UgRExfU1lNQk9MX0FERFJFU1MoKSB0byBvYnRhaW4KCXRoZSBhZGRyZXNzIG9mIGEgc3ltYm9sIHNvIGZ1bmN0aW9uIHBvaW50ZXJzIGFyZSBoYW5kbGVkIHByb3Blcmx5LgoKMjAwMC0wNi0wOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2kzODYvRGlzdDogQWRkIGJwLWFzbS5oLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2htX29wZW4uYyAod2hlcmVfaXNfc2htZnMpOiBVc2UKCWRlZmF1bHRkaXIgdmFyaWFibGUgaW5zdGVhZCBvZiAiL3Zhci9zaG0iIGV2ZXJ5d2hlcmUuCgkoZGVmYXVsdGRpcik6IENoYW5nZSB0byAvZGV2L3NobS8uCgoyMDAwLTA2LTA4ICBHcmVnIE1jR2FyeSAgPGdyZWdAbWNnYXJ5Lm9yZz4KCgkqIHN5c2RlcHMvaTM4Ni9icC1hc20uaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaTM4Ni9fX2xvbmdqbXAuUzogRGVmaW5lICYgdXNlIHN5bWJvbGljIGFyZ3VtZW50IHN0YWNrCglvZmZzZXRzLiAgQWRkIEVOVEVSL0xFQVZFIG1hY3JvcyBmb3Igb3B0aW9uYWxseSBtYWludGFpbmluZwoJZnJhbWUtcG9pbnRlciBjaGFpbiB3aGVuIGRlYnVnZ2luZy4KCSogc3lzZGVwcy9pMzg2L2FkZF9uLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvYWRkbXVsXzEuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9sc2hpZnQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9tZW1jaHIuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9tZW1jbXAuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9tdWxfMS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L3Jhd21lbWNoci5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L3JzaGlmdC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L3N0cGNweS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L3N0cG5jcHkuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9zdHJjaHIuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9zdHJjaHJudWwuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9zdHJjc3BuLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvc3RycGJyay5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L3N0cnJjaHIuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9zdHJzcG4uUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9zdHJ0b2suUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9zdWJfbi5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L3N1Ym11bF8xLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvZWxmL3NldGptcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k0ODYvc3RyY2F0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTQ4Ni9zdHJsZW4uUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNTg2L2FkZF9uLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTU4Ni9sc2hpZnQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNTg2L21lbWNweS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k1ODYvbWVtc2V0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTU4Ni9yc2hpZnQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNTg2L3N0cmNoci5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k1ODYvc3RyY3B5LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTU4Ni9zdHJsZW4uUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNTg2L3N1Yl9uLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTY4Ni9hZGRfbi5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2k2ODYvbWVtY3B5LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTY4Ni9tZW1wY3B5LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaTY4Ni9tZW1zZXQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pNjg2L3N0cmNtcC5TOiBMaWtld2lzZS4KCjIwMDAtMDYtMDggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZ2V0ZHRzei5jOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9wYXJhbS5oOiBEZWZpbmUgTk9GSUxFIGRpcmVjdGx5IGFzCgkyNTYgYW5kIGRvbid0IHVzZSBPUEVOX01BWC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3BhdGhjb25mLmM6IERlZmluZSBMSU5VWF9MSU5LX01BWCBhbmQKCXVzZSBpdCBpbnN0ZWFkIG9mIExJTktfTUFYLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9mcGF0aGNvbmYuYzogTGlrZXdpc2UuCgoyMDAwLTA2LTA4ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBsaWJpby9nZW5vcHMuYyAoX0lPX2xpc3RfbG9jayk6IE9ubHkgY29tcGlsZSBib2R5IGlmIHdlJ3JlCgl0aHJlYWQgc2FmZS4KCShfSU9fbGlzdF91bmxvY2spOiBMaWtld2lzZS4KCShfSU9fbGlzdF9yZXNldGxvY2spOiBMaWtld2lzZS4KCjIwMDAtMDYtMDcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9sb2NhbF9saW0uaDogVW5kZWZpbmUgT1BFTl9NQVgKCXVubGVzcyB1c2VyIGRlZmluZWQgaXQuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL2xvY2FsX2xpbS5oOiBBbHNvIHVuZGVmaW5lIExJTktfTUFYCglpZiBub3QgZGVmaW5lZCBieSB0aGUgdXNlci4KCgkqIGxpYmlvL2lvZndyaXRlX3UuYyAoZndyaXRlX3VubG9ja2VkKTogUmVtb3ZlIG9ic29sZXRlIGNvbW1lbnQuCgkqIGxpYmlvL2lvZndyaXRlLmMgKF9JT19md3JpdGUpOiBMaWtld2lzZS4KCgkqIHRpbWUvdGltZS5oOiBBZGQgbWlzc2luZyBfX1RIUk9XIGZvciBjbG9ja19nZXRjcHVjbG9ja2lkCglwcm90b3R5cGUuCgoJKiBlbGYvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgZGwtZHRwcm9jbnVtLmguCgkqIGluY2x1ZGUvZWxmLmg6IEluY2x1ZGUgYWxzbyA8ZGwtZHRwcm9jbnVtLmg+LgoJKiBlbGYvZGwtZGVwcy5jOiBMaWtld2lzZS4KCSogZWxmL2RsLWxvb2t1cC5jOiBMaWtld2lzZS4KCSogZWxmL2RsLXJ1bnRpbWUuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC12ZXJzaW9uLmM6IExpa2V3aXNlLgoJKiBlbGYvZG8tcmVsLmg6IExpa2V3aXNlLgoJKiBlbGYvZHluYW1pYy1saW5rLmg6IExpa2V3aXNlLgoJKiBlbGYvbGluay5oOiBMaWtld2lzZS4KCSogZWxmL3J0bGQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1kdHByb2NudW0uaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9kbC1kdHByb2NudW0uaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvbWlwcy9kbC1kdHByb2NudW0uaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc3BhcmMvZGwtZHRwcm9jbnVtLmg6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy9pMzg2L2RsLW1hY2hpbmUuaDogQWRkIG1vcmUgX19idWlsdGluX2V4cGVjdC4KCgkqIGVsZi9kby1sb29rdXAuaDogQWRkIHNvbWUgX19idWlsdGluX2V4cGVjdC4KCgkqIGRsZmNuL2RsZmNuLmg6IFByZXR0eSBwcmludCBkbGFkZHIgZGVjbGFyYWN0aW9uLgoKCSogZWxmL3J0bGQuYyAocHJvY2Vzc19lbnZ2YXJzKTogUmVjb2duaXplIExEX0RZTkFNSUNfV0VBSy4KCShfZGxfZHluYW1pY193ZWFrKTogTmV3IHZhcmlhYmxlLgoJKiBlbGYvZGwtc3VwcG9ydC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmg6IERlY2xhcmUgX2RsX2R5bmFtaWNfd2Vhay4KCSogZWxmL2RvLWxvb2t1cC5oOiBJZiB3ZSBmaW5kIGEgd2VhayBkZWZpbml0aW9uIHRyZWF0IGl0IGxpa2UgYQoJbm9ybWFsIHN5bWJvbCB1bmxlc3MgX2RsX2R5bmFtaWNfd2VhayBpcyBub256ZXJvLiAgSW4gdGhlIGxhdHRlcgoJY2FzZSB0cmVhdCBpdCBsaWtlIGJlZm9yZS4KCgkqIGVsZi9kbC1hZGRyLmMgKF9kbF9hZGRyKTogRmlsbCBpbiBjb3JyZWN0IGluZm9ybWF0aW9uIGlmIHN5bWJvbAoJaXMgaW4gbWFpbiBwcm9ncmFtLgoJKiBlbGYvVmVyc2lvbnMgW2xkXSAoR0xJQkNfMi4yKTogRXhwb3J0IF9kbF9hcmd2LgoKCSogZWxmL2RsLWFkZHIuYyAoX2RsX2FkZHIpOiBEbyBleGFjdCB0ZXN0aW5nIG9mIGFkZHJlc3MgcmFuZ2UKCXVzaW5nIGxfbWFwX3N0YXJ0IGFuZCBsX21hcF9lbmQuCgoJKiBlbGYvZGwtdmVyc2lvbi5jOiBBZGQgX19idWlsdGluX2V4cGVjdCBpbiBtYW55IHBsYWNlcy4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvZGwtcHJvY2luZm8uaCAoeDg2X2NhcF9mbGFncyk6CglVcGRhdGUuCgoyMDAwLTA2LTA0ICBLYXogS3lsaGVrdSAgPGthekBhc2hpLmZvb3RwcmludHMubmV0PgoKCUxvY2sgZm9yIHN0ZGlvIHN0cmVhbSBsaXN0IGJlY29tZXMgZ2xvYmFsLCBmb3IgdXNlIGluIExpbnV4VGhyZWFkcy4KCgkqIGxpYmlvL2dlbm9wcy5jIChfSU9faXRlcl9iZWdpbiwgX0lPX2l0ZXJfZW5kLAoJX0lPX2l0ZXJfbmV4dCwgX0lPX2l0ZXJfZmlsZSwgX0lPX2xpc3RfbG9jaywgX0lPX2xpc3RfdW5sb2NrLAoJX0lPX2xpc3RfcmVzZXRsb2NrKTogTmV3IGludGVyZmFjZSBmb3IgaXRlcmF0aW5nIGdsb2JhbCBsaXN0IG9mCglzdHJlYW1zIHdpdGhvdXQgYWNjZXNzaW5nIHRoZSBfSU9fbGlzdF9hbGwgZ2xvYmFsIHZhcmlhYmxlLAoJYW5kIGZvciBtYW5pcHVsYXRpbmcgdGhlIGxvY2sgd2hpY2ggcHJvdGVjdHMgdGhpcyBsaXN0LgoJKiBsaWJpby9saWJpb1AuaDogTGlrZXdpc2UuCgkqIGxpYmlvL1ZlcnNpb246IEFkZCBlbnRyaWVzIGZvciB0aGUgbmV3IGZ1bmN0aW9ucy4KCgkqIGxpYmlvL2xpYmlvUC5oIChfSU9fSVRFUik6IE5ldyB0eXBlZGVmLCBqdXN0IGFuIGFsaWFzIGZvcgoJcG9pbnRlciB0byBfSU9fRklMRS4KCjIwMDAtMDYtMDcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLWN0eXBlLmMgKHNldF9jbGFzc19kZWZhdWx0cyk6IFNldmVyYWwgdXNlcyBvZgoJQklUKCkgbXVzdCBhY3R1YWxseSBiZSBCSVR3KCkuCgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY3R5cGUuYzogSGFuZGxlIFNQIGFuZCBzcGFjZSBjb25zaXN0ZW50bHkuCgoJKiBsb2NhbGUvcHJvZ3JhbXMvY2hhcm1hcC5jOiBBbGxvdyBzdHJpbmcgYXJndW1lbnRzIGZvcgoJY29kZV9zZXRfbmFtZSBhbmQgcmVwZXJ0b2lyZW1hcC4KCjIwMDAtMDYtMDcgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGVsZi9NYWtlZmlsZTogQnVpbGQgbGRjb25maWcgb25seSB3aGVuIGJ1aWxkaW5nIHNoYXJlZCBsaWJyYXJpZXMuCgoyMDAwLTA2LTA3ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvYWxwaGEvZnB1L2JpdHMvbWF0aGlubGluZS5oIChfX2ZkaW1mKTogT25seSBkZWNsYXJlIGlmCglfX1VTRV9JU09DOTkuCgkoZmRpbWYsIF9fZmRpbSwgZmRpbSk6IExpa2V3aXNlLgoKMjAwMC0wNi0wNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvZmluZGxvY2FsZS5jOiBBZGQgX19idWlsdGluX2V4cGVjdCBpbiBtYW55IHBsYWNlcy4KCSogbG9jYWxlL2xvYWRsb2NhbGUuYzogTGlrZXdpc2UuCgoyMDAwLTA2LTA2ICBHcmVnIE1jR2FyeSAgPGdyZWdAbWNnYXJ5Lm9yZz4KCgkqIHN5c2RlcHMvbWlwcy9lbGYvc3RhcnQuUzogVHJpbSByZWR1bmRhbnQgY29kZS4KCgkqIHN5c2RlcHMvcG93ZXJwYy9tZW1zZXQuUzogRGVmaW5lICYgdXNlIHN5bWJvbGljIHJlZ2lzdGVyIG5hbWVzLgoJVXNlIEMgY29tbWVudHMgdGhyb3VnaG91dC4gIExpbmUgdXAgb3BlcmFuZHMgY29sdW1uIHdpdGggdGFicy4KCSogc3lzZGVwcy9wb3dlcnBjL3N0cmNoci5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL3N0cmNtcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL3N0cmNweS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL3N0cmxlbi5TOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvYnJrLlMgWyFQSUNdOgoJR2V0IGxvdyBwYXJ0IG9mICZfX2N1cmJyayB3aXRoIEBsLgoKMjAwMC0wNi0wNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udmRhdGEvdXRmLTE2LmM6IEFkZCBfX2J1aWx0aW5fZXhwZWN0IGluIG1hbnkgcGxhY2VzLgoJKiBpY29udmRhdGEvdW5pY29kZS5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL3VoYy5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL3QuNjEuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9zamlzLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvam9oYWIuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc29fNjkzNy5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzb182OTM3LTIuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc284ODU5LTEuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc282NDYuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc28tMjAyMi1rci5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzby0yMDIyLWpwLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvLTIwMjItY24uYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9nYmdiay5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2diay5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2V1Yy1rci5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2V1Yy1qcC5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2V1Yy1jbi5jOiBMaWtld2lzZS4KCjIwMDAtMDYtMDUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnZkYXRhL2JpZzVoa3Njcy5jOiBBZGQgX19idWlsdGluX2V4cGVjdCBpbiBtYW55IHBsYWNlcy4KCSogaWNvbnZkYXRhL2JpZzUuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9hbnNpX3gzLjExMC5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhLzhiaXQtZ2VuZXJpYy5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhLzhiaXQtZ2FwLmM6IExpa2V3aXNlLgoJKiBpY29udi9sb29wLmM6IExpa2V3aXNlLgoJKiBpY29udi9nY29udl9kYi5jOiBMaWtld2lzZS4KCSogaWNvbnYvZ2NvbnZfZGwuYzogTGlrZXdpc2UuCgkqIGljb252L2djb252X3NpbXBsZS5jOiBMaWtld2lzZS4KCSogaWNvbnYvc2tlbGV0b24uYzogTGlrZXdpc2UuCgoJKiBpY29udi9nY29udi5oIChfX0dDT05WX0lTX0xBU1QsIF9fR0NPTlZfSUdOT1JFX0VSUk9SUyk6IERlZmluZS4KCShzdHJ1Y3QgX19nY29udl9zdGVwX2RhdGEpOiBSZW5hbWUgX19pc19sYXN0IHRvIF9fZmxhZ3MuCgkqIGljb252L2djb252X2Nsb3NlLmM6IENoYW5nZSBhbGwgdXNlcyBvZiBfX2lzX2xhc3QuCgkqIGljb252L3NrZWxldG9uLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvLTIwMjItY24uYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc28tMjAyMi1qcC5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzby0yMDIyLWtyLmM6IExpa2V3aXNlLgoJKiBpY29udi9nY29udl9vcGVuLmM6IExpa2V3aXNlLiAgQXZvaWQgdW5uZWVkZWQgaW5pdGlhbGl6YXRpb25zLgoJUmVjb2duaXplIElHTk9SRSBlcnJvciBoYW5kbGluZywgc2V0IGZsYWcsIGFuZCByZW1vdmUgZnJvbSBuYW1lLgoJKiBpY29udi9sb29wLmMgKGlnbm9yZV9lcnJvcnNfcCk6IERlZmluZS4KCUFkZCBmbGFncyBwYXJhbWV0ZXIgdG8gYm90aCBmdW5jdGlvbnMuCgkqIGljb252L3NrZWxldG9uLmM6IFBhc3MgZmxhZ3MgdG8gYWxsIGNvbnZlcnNpb24gZnVuY3Rpb25zLgoJKiBpY29udi9nY29udl9zaW1wbGUuYzogQWRkIGZsYWdzIHBhcmFtZXRlciB0byBhbGwgZnVuY3Rpb25zLgoJRG9uJ3QgcmV0dXJuIGVycm9yIGZvciBpbnZhbGQgZXJyb3IgaWYgaWdub3JlIGZsYWcgaXMgc2V0LgoJKHVjczRfaW50ZXJuYWxfbG9vcF9zaW5nbGUpOiBBZGQgbWlzc2luZyBwb2ludGVyIGluY3JlbWVudC4KCShpbnRlcm5hbF91Y3M0bGVfbG9vcF9zaW5nbGUpOiBMaWtld2lzZS4KCSogaWNvbnYvaWNvbnZfcHJvZy5jOiBJbXBsZW1lbnQgaGFuZGxpbmcgb2YgLWMgcGFyYW1ldGVyLgoJKiBpY29udmRhdGEvOGJpdC1nYXAuYzogRG9uJ3QgcmV0dXJuIGVycm9yIGZvciBpbnZhbGQgZXJyb3IgaWYKCWlnbm9yZSBmbGFnIGlzIHNldC4KCSogaWNvbnZkYXRhLzhiaXQtZ2VuZXJpYy5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2Fuc2lfeDMuMTEwLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvYmlnNS5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2JpZzVoa3Njcy5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2V1Yy1jbi5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2V1Yy1qcC5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2V1Yy1rci5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2diZ2JrLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZ2JrLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvLTIwMjItY24uYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc28tMjAyMi1qcC5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzby0yMDIyLWtyLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvNjQ2LmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvODg1OS0xLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvXzY5MzctMi5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzb182OTM3LmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvam9oYWIuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9zamlzLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvdC42MS5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL3VoYy5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL3VuaWNvZGUuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS91dGYtMTYuYzogTGlrZXdpc2UuCgkqIGxpYmlvL2ZpbGVvcHMuYzogTGlrZXdpc2UuCgkqIGxpYmlvL2lvZndpZGUuYzogTGlrZXdpc2UuCgkqIHdjc21icy9idG93Yy5jOiBMaWtld2lzZS4KCSogd2NzbWJzL21icnRvd2MuYzogTGlrZXdpc2UuCgkqIHdjc21icy9tYnNucnRvd2NzLmM6IExpa2V3aXNlLgoJKiB3Y3NtYnMvbWJzcnRvd2NzLmM6IExpa2V3aXNlLgoJKiB3Y3NtYnMvd2NydG9tYi5jOiBMaWtld2lzZS4KCSogd2NzbWJzL3djc25ydG9tYnMuYzogTGlrZXdpc2UuCgkqIHdjc21icy93Y3NydG9tYnMuYzogTGlrZXdpc2UuCgkqIHdjc21icy93Y3RvYi5jOiBMaWtld2lzZS4KCgkqIGljb252ZGF0YS9rc2M1NjAxLmggKGtzYzU2MDFfdG9fdWNzNCk6IFVuZG8gKnMgY2hhbmdlIGluIGFsbCBjYXNlcyBvZgoJYW4gZXJyb3IuCgoyMDAwLTA2LTA0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252L2djb252X2RsLmMgKGRvX3JlbGVhc2Vfc2hsaWIpOiBEb24ndCByZXNldCByZWZlcmVuY2UKCWNvdW50ZXIgZm9yIHRoZSBvYmplY3Qgd2UgYXJlIHJlbGVhc2luZywganVzdCBkZWNyZW1lbnQgaXQuCglQYXRjaCBieSBBa2lyYSBIaWd1Y2hpIDxhLWhpZ3V0aUBtYXRoLnNjaS5ob2t1ZGFpLmFjLmpwPi4KCjIwMDAtMDYtMDQgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9pMzg2L2ZwdS9iaXRzL21hdGhpbmxpbmUuaDogT25seSBpbmxpbmUgc2luaCwgY29zaCBhbmQgdGFuaAoJaWYgLWZmYXN0LW1hdGguCgoyMDAwLTA2LTA0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252ZGF0YS9iaWc1aGtzY3MuYzogTmV3IGZpbGUuCglNb2RpZmllZCBmcm9tIGJpZzUuYyBieSBSb2dlciBTbyA8cm9nZXJzb0BzaXMuZGhzLm9yZz4uCgoJKiBpY29udmRhdGEvZ2NvbnYtbW9kdWxlczogQWRkIGVudHJ5IGZvciBuZXcgbW9kdWxlLgoJKiBpY29udmRhdGEvTWFrZWZpbGUgKG1vZHVsZXMpOiBBZGQgQklHNUhLU0NTLgoJKGRpc3RyaWJ1dGUpOiBBZGQgYmlnNWhrc2NzLmMuCgoyMDAwLTA2LTAxICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGxpYmMvc3lzZGVwcy9hbHBoYS9mcHUvYml0cy9tYXRoaW5saW5lLmg6IEFkZCBfX1RIUk9XIHRvIGFsbAoJaW5saW5lcyB0byBtYXRjaCBwcm90b3R5cGVzIGluIG1hdGhjYWxscy5oLgoJKiBsaWJjL3N5c2RlcHMvaTM4Ni9mcHUvYml0cy9tYXRoaW5saW5lLmg6IExpa2V3aXNlLgoJKiBsaWJjL3N5c2RlcHMvbTY4ay9mcHUvYml0cy9tYXRoaW5saW5lLmg6IExpa2V3aXNlLgoJKiBsaWJjL3N5c2RlcHMvcG93ZXJwYy9mcHUvYml0cy9tYXRoaW5saW5lLmg6IExpa2V3aXNlLgoJKiBsaWJjL3N5c2RlcHMvc3BhcmMvZnB1L2JpdHMvbWF0aGlubGluZS5oOiBMaWtld2lzZS4KCjIwMDAtMDYtMDMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZWxmL2VsZi5oIChTSFRfU1VOV19tb3ZlKTogRGVmaW5lLgoKCSogZWxmL2VsZi5oOiBBZGQgbW9yZSBTb2xhcmlzIGNvbXBhdGlibGl0eSBkZWZpbml0aW9ucy4KCjIwMDAtMDYtMDMgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvcG93ZXJwYy9kbC1zdGFydC5TOiBDbG9zZSBvcGVuIGNvbW1lbnQuCgoyMDAwLTA2LTAzICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGluZXQvVmVyc2lvbnM6IEZpeCB0eXBvIGluIHJyZXN2cG9ydF9hZiBleHBvcnQuCgoyMDAwLTA2LTAyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hdGgvdGdtYXRoLmg6IFByZXR0eSBwcmludC4KCjIwMDAtMDYtMDIgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvc3lzL3Vjb250ZXh0Lmg6IEZpeCB0eXBvLgoJUmVwb3J0ZWQgYnkgTWFjaWVqIFcuIFJvenlja2kgPG1hY3JvQGRzMi5wZy5nZGEucGw+LgoKMjAwMC0wNi0wMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvcnRsZC5jIChwcm9jZXNzX2VudnZhcnMpOiBUZXN0IGZvciA9IGFmdGVyIHZhcmlhYmxlIG5hbWUuCgoyMDAwLTA2LTAxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9pbml0ZmluaS5jIChfaW5pdCk6IE9uZSBsZXNzIHJlbG9jYXRpb24uICBEb24ndAoJaGF2ZSBleHRyYSBjYWxsIHRvIF9fZ21vbl9zdGFydF9fLCB1c2UgdGhlIHBvaW50ZXIgd2UgYWxyZWFkeSBoYXZlLgoKCSogZWxmL2VsZi5oIChFTEY2NF9SX0lORk8pOiBDYXN0IHN5bSB2YWx1ZSB0byBFbGY2NF9Yd29yZCBiZWZvcmUKCXNoaWZ0aW5nLgoKCSogc3lzZGVwcy9pMzg2L2VsZi9zZXRqbXAuUzogV29yayBhcm91bmQgY2hhbmdlIGlzIHJlY2VudAoJYmludXRpbHMuICBnYXMgbm93IGVtaXRzIGEganVtcCB0aHJvdWdoIHRoZSBQTFQgaW5zdGVhZCBvZiBhCglyZWxhdGl2ZSBqdW1wIGlmIHRoZSBqdW1wIHRhcmdldCBpcyBhbiBleHBvcnRlZCBzeW1ib2wuCgoyMDAwLTA1LTMxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvYWl4L2FpeC10ZXJtaW9zLmg6IERlZmluZSBBSVhfQ0JBVUQuCgoyMDAwLTA1LTMxICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3N5cy91Y29udGV4dC5oOiBVc2UgYXJyYXkgZm9yCglncmVnc2V0X3QuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL1ZlcnNpb25zOiBFeHBvcnQgX2ZsdXNoX2NhY2hlLgoJUGF0Y2hlcyBieSBNYWNpZWogVy4gUm96eWNraSA8bWFjcm9AZHMyLnBnLmdkYS5wbD4uCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2Z0cnVuY2F0ZTY0LmM6IEZpeCBwcm90b3R5cGUgb2YKCXN5c2NhbGwuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvdHJ1bmNhdGU2NC5jOiBMaWtld2lzZS4KCjIwMDAtMDUtMzAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvb2xkZ2xvYi5jIChfX29sZF9nbG9iKTogTG9vc2UgX19QLgoKCSogbG9jYWxlL1ZlcnNpb25zIFtsaWJjXSAoR0xJQkNfMi4yKTogQWRkIGxvY2FsZWNvbnYuCgkqIGxvY2FsZS9sb2NhbGVjb252LmM6IE1ha2UgZnVuY3Rpb24gdmVyc2lvbmVkICh3aXRoIHNhbWUgZGVmaW5pdGlvbikuCgoJKiBlbGYvTWFrZWZpbGUgKG1vZHVsZXMtbmFtZXMpOiBTdHJpcCBiZWZvcmUgdXNpbmcgaXQuCgoyMDAwLTA1LTMwICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3RydW5jYXRlNjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvZnRydW5jYXRlNjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvcHJlYWQ2NC5jOiBSZWFkZGVkIGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvcHdyaXRlNjQuYzogUmVhZGRlZCBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3ByZWFkLmM6IFJlYWRkZWQgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9wd3JpdGUuYzogUmVhZGRlZCBmaWxlLgoKMjAwMC0wNS0yOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBNYWtlZmlsZTogQWRkIEdOVSBtYWtlIG1hZ2ljLgoKCSogaW5ldC9NYWtlZmlsZSAoQ0ZMQUdTLXJjbWQuYywgQ0ZMQUdTLXJleGVjLmMsIENGTEFHUy1ydXNlcnBhc3MuYyk6CglSZW1vdmVkLgoJKiBpbmV0L3JjbWQuYzogUmVtb3ZlIF9fUC4gIFJlbW92ZSB1bnVzZWQgdmFyaWFibGVzLgoJKGlydXNlcmZvcGVuKTogTWFrZSBmaXJzdCBwYXJhbWV0ZXIgY29uc3QuCgkocnVzZXJva19zYSk6IFJldHVybiByZXN1bHQgb2YgcnVzZXJvazJfc2EuCgkoX19jaGVja2hvc3Rfc2EpOiBDb3JyZWN0bHkgaXRlcmF0ZSB0aHJvdWdoIHJlc3VsdHMgb2YgZ2V0YWRkcmluZm8uCgkqIGluZXQvcmV4ZWMuYzogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMuICBPdGhlciBzbWFsbCBjbGVhbnVwcy4KCSogaW5ldC9ydXNlcnBhc3MuYzogUmVtb3ZlIF9fUC4gIFJlbW92ZSB1bnVzZWQgdmFyaWFibGVzLgoJKHJ1c2VycGFzcyk6IENoZWNrIHJlc3VsdHMgb2YgbWVtb3J5IGFsbG9jYXRpb24uCgkqIGluY2x1ZGUvbmV0ZGIuaDogQWRkIHByb3RvdHlwZSBmb3IgcnVzZXJwYXNzLgoKMjAwMC0wNS0yOSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogZWxmL3JlYWRsaWIuYyAoaW50ZXJwcmV0ZXJzKTogVXNlIExEX1NPIHNpbmNlIHRoaXMgaXMgc3VwcG9ydGVkCglmb3IgYWxsIHBsYXRmb3Jtcy4KCjIwMDAtMDUtMjkgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogaW5ldC9yY21kLmMgKHJyZXN2cG9ydF9hZik6IFVzZSBjb3JyZWN0IHBvcnQgbnVtYmVyLgoKMjAwMC0wNS0yNiAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIE1ha2Vjb25maWcgKCQoY29tbW9uLW9ianBmeClzb3ZlcnNpb25zLm1rKTogUHJlcGVuZCBgJGxpYj0nIHRvCgllbnRyaWVzIGluIGFsbC1zb25hbWVzLgoJKCQoY29tbW9uLW9ianBmeClnbnUvbGliLW5hbWVzLmgpOiBVc2UgaXQgZm9yIHRoZSBDUFAgc3ltYm9sLAoJcHJlc2VydmluZyB0aGUgb2xkIG5hbWUgaWYgZGlmZmVyZW50IGZvciBjb21wYXRpYmlsaXR5LgoKMjAwMC0wNS0yOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdHN0LXNwYXduLgoJKHRzdC1zcGF3bi1BUkdTKTogTmV3IHZhcmlhYmxlLgoJKiBwb3NpeC90c3Qtc3Bhd24uYzogTmV3IGZpbGUuCgoJKiBwb3NpeC9zcGF3bl9mYWN0aW9uX2FkZGNsb3NlLmM6IENvcnJlY3RseSBhY2NvdW50IGZvciBuZXcgZW50cnkuCgkqIHBvc2l4L3NwYXduX2ZhY3Rpb25fYWRkZHVwMi5jOiBMaWtld2lzZS4KCSogcG9zaXgvc3Bhd25fZmFjdGlvbl9hZGRvcGVuLmM6IExpa2V3aXNlLgoJKiBwb3NpeC9zcGF3bmkuYzogQ29ycmVjdGx5IHRlc3QgZm9yIHN1Y2Nlc3Mgb2YgZHVwMiBjYWxscy4KCgkqIHBvc2l4L3RzdC1wcmVhZHdyaXRlLmM6IENoZWNrIHN1Y2Nlc3Mgb2YgbWFsbG9jIGNhbGwuCgoyMDAwLTA1LTI4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHBvc2l4L01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3QtZXhlYy4KCSh0c3QtZXhlYy1BUkdTKTogTmV3IHZhcmlhYmxlLgoJKiBwb3NpeC90c3QtZXhlYy5jOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvYXJtL2F0b21pY2l0eS5oIChjb21wYXJlX2FuZF9zd2FwKTogUmV0dXJuIHJlc3VsdC4KCjIwMDAtMDUtMDQgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN0cmluZy9zdHJpbmcuaDogUmVtb3ZlIF9fc3RyZHVwIHByb3RvdHlwZSwgaXQncyBub3QgbmVlZGVkIGluCgl0aGlzIGZpbGUgYW55bW9yZS4KCjIwMDAtMDUtMjggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC1mb3JrLgoJKiBwb3NpeC90c3QtZm9yay5jOiBOZXcgZmlsZS4KCgkqIHJlc29sdi9pbmV0X3B0b24uYzogTG9vc2UgX19QLgoKMjAwMC0wNS0yMSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBsaWJpby9saWJpb1AuaCAoX0lPX0NIRUNLX1dJREUpOiBEZWZpbmUuCgkqIGxpYmlvL2lvc2V0YnVmZmVyLmMgKF9JT19zZXRidWZmZXIpOiBVc2UgaXQuCgkqIGxpYmlvL2lvc2V0dmJ1Zi5jIChfSU9fc2V0dmJ1Zik6IExpa2V3aXNlLgoJKiBsaWJpby9maWxlb3BzLmMgKF9JT19uZXdfZmlsZV9mb3Blbik6IFJldHVybiBOVUxMIGlmCglfSU9fQ0hFQ0tfV0lERSBmYWlscy4KCjIwMDAtMDUtMjggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG8vZGEucG86IE5ldyBmaWxlLgoKCSogbWFudWFsL2FyaXRoLnRleGkgKFJvdW5kaW5nIEZ1bmN0aW9ucyk6IEZpeCBkb2N1bWVudGF0aW9uIG9mIHRydW5jLgoJUGF0Y2ggYnkgU3RldmVuIEcuIEpvaG5zb24gPHN0ZXZlbmpAZ2lsLWdhbGFkLm1pdC5lZHU+LgoKCSogbWFudWFsL2NoYXJzZXQudGV4aSAoRXh0ZW5kZWQgQ2hhciBJbnRybyk6IEZpeCB0eXBvIChhbmQgLT4gYXMpLgoJKE90aGVyIGljb252IEltcGxlbWVudGF0aW9ucyk6IEZpeCB0eXBvLgoJUGF0Y2ggYnkgTWFydGluIFBvb2wgPG1icEB3aXN0ZnVsLmh1bWJ1Zy5vcmcuYXU+LgoKMjAwMC0wNS0yNyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9wcmVhZC5jOiBSZW1vdmVkLCB3ZSBjYW4gdXNlIHRoZQoJbm9ybWFsIHZlcnNpb24gbm93LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3B3cml0ZS5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9wd3JpdGU2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9wcmVhZC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9wd3JpdGUuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9wcmVhZC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL3B3cml0ZS5jOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3ByZWFkLmMgKF9fbGliY19wcmVhZCk6IENoZWNrCgllbmRpYW5uZXNzIHRvIGRlY2lkZSBob3cgdG8gcGFzcyBhcmd1bWVudHMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3B3cml0ZS5jIChfX2xpYmNfcHdyaXRlKTogTGlrZXdpc2UuCgoJKiBlbGYvdmlzbWFpbi5jOiBVc2UgdGVzdC1za2VsZXRvbiBpbnRlcmZhY2UuCgkoVEVTVF9GVU5DVElPTik6IE5ldyBtYWNyby4KCShkb190ZXN0KTogUmVuYW1lZCBmcm9tIG1haW4uCgoyMDAwLTA1LTI3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvcG9zaXgvZ2V0YWRkcmluZm8uYyAoZ2FpaF9pbmV0KTogSWYgcmVxLT5haV9mYW1pbHkgPT0KCUFGX1VOU1BFQyBkb24ndCBhbGxvdyB0aGUgSVB2NiBsb29rdXAgdG8gcmV0dXJuIG1hcHBlZCBJUHY0IGFkZHJlc3Nlcy4KCgkqIG5zcy9uc3NfZmlsZXMvZmlsZXMtaG9zdHMuYyAoTElORV9QQVJTRVIpOiBTaW1wbGlmeS4gIENvcnJlY3QKCWhhbmRsaW5nIG9mIEFJX1Y0TUFQUEVEIGZsYWcuCgoJKiByZXNvbHYvbnNzX2Rucy9kbnMtaG9zdC5jIChfbnNzX2Ruc19nZXRob3N0YnluYW1lMl9yKTogSWYgbG9va3VwCglvZiBJUHY2IGFkZHJlc3MgZmFpbGVkIGFuZCBSRVNfVVNFX0lORVQ2IGJpdCBpbiBfcmVzLm9wdGlvbnMgaXMgc2V0LAoJcGVyZm9ybSBsb29rdXAgZm9yIFRfQSB0eXBlIGFuZCB0ZWxsIGdldGFuc3dlcl9yIHRvIGNvbnZlcnQgdGhlCglyZXN1bHQgd2l0aCBuZXcgYXJndW1lbnQuCgkoX25zc19kbnNfZ2V0aG9zdGJ5YWRkcl9yKTogUGFzcyB6ZXJvIGFzIG5ldyBhcmd1bWVudCB0byBnZXRhbnN3ZXJfci4KCURvbid0IGNvbnZlcnQgYWRkcmVzc2VzIGZyb20gSVB2NCB0byBJUHY2IGhlcmUuCgkoZ2V0YW5zd2VyX3IpOiBUYWtlIG5ldyBwYXJhbWV0ZXIgaW5kaWNhdGluZyBpZiBtYXBwaW5nIGZyb20gSVB2NCB0bwoJSVB2NiBpcyB3YW50ZWQuICBBbGxvdyBxdHlwZSBhbmQgdHlwZSBmcm9tIHJlcGx5IHRvIGRpc2FncmVlIGlmCglJUHY0IG1hcHBpbmcgaGFzIHRvIGJlIGRvbmUuICBQZXJmb3JtIG1hcHBpbmdzIGlmIHJlcXVpcmVkIGJ5IHRoZQoJY2FsbGVyIGFuZCBub3QgaWYgUkVTX1VTRV9JTkVUNiBiaXQgaW4gX3Jlcy5vcHRpb25zIGlzIHNldC4KCUFkZCBzZXZlcmFsIF9fYnVpbHRpbl9leHBlY3QuCgoyMDAwLTA1LTI2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGNhdGdldHMvb3Blbl9jYXRhbG9nLmMgKF9fb3Blbl9jYXRhbG9nKTogQWRkIGEgZmV3IF9fYnVpbHRpbl9leHBlY3QuCgoJKiBlbGYvZGwtbG9hZC5jIChfZGxfbWFwX29iamVjdCk6IERvbid0IGlnbm9yZSBSUEFUSHMgaWYgbG9hZGVyID09CglOVUxMLgoKCSogcG9zaXgvdHN0LXByZWFkd3JpdGUuYzogQWxsb3cgcGFyYWxsZWwgZXhlY3V0aW9uIG9mCgl0c3QtcHJlYWR3cml0ZSBhbmQgdHN0LXByZWFkd3JpdGU2NC4KCgkqIHBvc2l4L01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3QtdHJ1bmNhdGUgYW5kIHRzdC10cnVuY2F0ZTY0LgoJKiBwb3NpeC90c3QtdHJ1bmNhdGUuYzogTmV3IGZpbGUuCgkqIHBvc2l4L3RzdC10cnVuY2F0ZTY0LmM6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcHJlYWQ2NC5jOiBUaGUgbGl0dGxlL2JpZyBlbmRpYW4gY29kZQoJd2FzIHN3aXRjaGVkLgoKCSogcG9zaXgvTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC1wcmVhZHdyaXRlNjQuCgkqIHBvc2l4L3RzdC1wcmVhZHdyaXRlLmM6IEFsbG9jIGZpbGUgYmVpbmcgdXNlZCBhbHNvIGZvciB0ZXN0aW5nCglwcmVhZDY0IGFuZCBwd3JpdGU2NC4KCSogcG9zaXgvdHN0LXByZWFkd3JpdGU2NC5jOiBOZXcgZmlsZS4KCjIwMDAtMDUtMjYgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2Z0cnVuY2F0ZTY0LmMgKGZ0cnVuY2F0ZTY0KTogTWFrZSBvcmRlcgoJb2YgYXJndW1lbnRzIGRlcGVuZGVuZCBvbiBlbmRpYW5uZXNzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC90cnVuY2F0ZTY0LmM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9wcmVhZDY0LmM6IFJlbW92ZWQsIHdlIGNhbiB1c2UgdGhlCglub3JtYWwgdmVyc2lvbiBub3cuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9wcmVhZDY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vcHdyaXRlNjQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvcHJlYWQ2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9wd3JpdGU2NC5jOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3B3cml0ZTY0LmMgKF9fbGliY19wd3JpdGU2NCk6IENoZWNrCgllbmRpYW5uZXNzIHRvIGNoZWNrIGhvdyB0byBwYXNzIGFyZ3VtZW50LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wcmVhZDY0LmMgKF9fbGliY19wcmVhZDY0KTogTGlrZXdpc2UuCgoJKiBlbGYvbGRjb25maWcuaDogVXBkYXRlIHBhcmFtZXRlciBsaXN0IGZvciBwcm9jZXNzX2VsZl9maWxlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvcmVhZGVsZmxpYi5jIChwcm9jZXNzX2VsZl9maWxlKToKCUFkZCBwYXJhbWV0ZXIgZmlsZV9sZW5ndGggYW5kIHBhc3MgaXQgb3QgcHJvY2Vzc19lbGYqZmlsZS4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9yZWFkZWxmbGliLmMgKGNoZWNrX3B0cik6IE5ldy4KCShwcm9jZXNzX2VsZl9maWxlKTogVXNlIGNoZWNrX3B0ciB0byBjaGVjayBhbGwgYWNjZXNzZXMgdG8gdGhlCgltbWFwcGVkIGZpbGUuIEFkZCBwYXJhbWV0ZXIgZmlsZV9sZW5ndGguCgoJKiBlbGYvcmVhZGxpYi5jIChrbm93bl9saWJzKTogVXNlIDxnbnUvbGliLW5hbWVzLmg+IHRvIHNwZWNpZnkKCWxpYnJhcnkgbmFtZXMuCgoJKiBzdW5ycGMveGRyX2ludFhYX3QuYyAoeGRyX3VpbnQ4X3QpOiBGaXggY29udmVyc2lvbi4KCUNsb3NlcyBQUiBsaWJjLzE1NzMsIHJlcG9ydGVkIGJ5IEJyYWRsZXkgV2hpdGUKCTxid3dAbGF1cmVsbmV0d29ya3MuY29tPi4KCjIwMDAtMDUtMjUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9pMzg2L2ZwdS9iaXRzL21hdGhpbmxpbmUuaDogRGVmaW5lIGV4cG0xIGlubGluZSBvbmx5IGlmCglfX0ZBU1RfTUFUSF9fIGlzIGRlZmluZWQuCgoyMDAwLTA1LTIyICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBtYXRoL01ha2VmaWxlOiBBZGQgLURfX0ZBU1RfTUFUSF9fIHRvIENGTEFHUy10ZXN0LWlmbG9hdC5jLAoJQ0ZMQUdTLXRlc3QtaWRvdWJsZS5jLCBDRkxBR1MtdGVzdC1pbGRvdWJsLmMuCgoJKiBtYW51YWwvbWF0aC50ZXhpIChGUCBGdW5jdGlvbiBPcHRpbWl6YXRpb25zKTogRG9jdW1lbnQgZ2NjCgktZmZhc3QtbWF0aCBiZWhhdmlvdXIgd2l0aCBtYXRoaW5saW5lcy4KCgkqIHN5c2RlcHMvaTM4Ni9mcHUvYml0cy9tYXRoaW5saW5lLmg6IE9ubHkgdXNlIHNhdmUgaW5saW5lCglmdW5jdGlvbnMgdW5sZXNzIC1mZmFzdC1tYXRoIGlzIGdpdmVuIHRvIGdjYy4KCjIwMDAtMDUtMjMgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9pMzg2L2ZwdS9iaXRzL21hdGhpbmxpbmUuaCAoX19zaW5jb3MsIF9fc2luY29zZiwKCV9fc2luY29zbCk6IEd1YXJkIHdpdGggX19VU0VfR05VLgoKMjAwMC0wNS0yNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBjc3UvTWFrZWZpbGUgKHJvdXRpbmVzKTogQWRkIGNoZWNrX2Zkcy4KCSogZWxmL3J0bGQuYyAoZGxfbWFpbik6IENhbGwgX19saWJjX2NoZWNrX3N0YW5kYXJkX2ZkcyBmb3IgU1VJRAoJYmluYXJpZXMuICBBZGQgdmFyaW91cyBfX2J1aWx0aW5fZXhwZWN0LgoJKiBzeXNkZXBzL2dlbmVyaWMvbGliYy1zdGFydC5jOiBNb3ZlIGNoZWNrX2ZkcyBhbmQgaGVscGVyIGZ1bmN0aW9ucy4uLgoJKiBzeXNkZXBzL2dlbmVyaWMvY2hlY2tfZmRzLmM6IC4uLmhlcmUuICBOZXcgZmlsZS4KCgkqIG1hbGxvYy9tYWxsb2MuYyAocHRtYWxsb2NfaW5pdCk6IE9ubHkgZW5hYmxlIGRlYnVnZ2luZyBmb3IgU1VJRAoJYmluYXJpZXMgaWYgZmlsZSAvZXRjL3N1aWQtZGVidWcgaXMgYXZhaWxhYmxlLgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLWNvbGxhdGUuYyAoc3RydWN0IGVsZW1lbnRfdCk6IEFkZCBtYnNlcW9yZGVyCglhbmQgd2NzZXFvcmRlciBtZW1iZXJzLgoJKHN0cnVjdCBsb2NhbGVfY29sbGF0ZV90KTogTGlrZXdpc2UuCgkoY29sbGF0ZV9maW5pc2gpOiBBc3NpZ24gY29sbGF0aW9uIHNlcXVlbmNlIHZhbHVlIHRvIGVhY2ggY2hhcmFjdGVyLgoJQ3JlYXRlIHRhYmxlcyBmb3Igb3V0cHV0LgoJKGNvbGxhdGVfb3V0cHV0KTogV3JpdGUgb3V0IHRhYmxlcyB3aXRoIGNvbGxhdGlvbiBzZXF1ZW5jZSBpbmZvcm1hdGlvbi4KCSogbG9jYWxlL0MtY29sbGF0ZS5jOiBQcm92aWRlIEMgbG9jYWxlIGRhdGEgZm9yIGNvbGxhdGlvbiBzZXF1ZW5jZQoJdGFibGUuCgkqIGxvY2FsZS9sYW5naW5mby5oOiBBZGQgX05MX0NPTExBVEVfQ09MTFNFUU1CIGFuZAoJX05MX0NPTExBVEVfQ09MTFNFUVdDLgoJKiBsb2NhbGUvY2F0ZWdvcmllcy5kZWY6IEFkZCBlbnRyaWVzIGZvciBfTkxfQ09MTEFURV9DT0xMU0VRTUIgYW5kCglfTkxfQ09MTEFURV9DT0xMU0VRV0MuCgkqIHBvc2l4L2ZubWF0Y2guYzogRGVmaW5lIFNVRkZJWCBhbmQgV0lERV9DSEFSX1ZFUlNJT04gYmVmb3JlCglpbmNsdWRlIGZubWF0Y2hfbG9vcC5jLgoJKiBwb3NpeC9mbm1hdGNoX2xvb3AuYzogRG9uJ3QgdXNlIHN0cmNvbGwgd2hpbGUgZGV0ZXJtaW5pbmcgd2hldGhlcgoJY2hhcmFjdGVyIGlzIG1hdGNoZWQgYnkgcmFuZ2UgZXhwcmVzc2lvbi4gIFVzZSBjb2xsYXRpb24gc2VxdWVuY2UKCXRhYmxlLiAgT3V0c2lkZSBnbGliYyBmYWxsIGJhY2sgb24gc2ltcGxlIGNoYXJhY3RlciB2YWx1ZSBjb21wYXJpc29uLgoKMjAwMC0wNS0yNCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9taXBzL2VsZi9zdGFydC5TIChFTlRSWV9QT0lOVCk6IEFsaWduIHN0YWNrIGZvciBkb3VibGUKCXdvcmRzLgoKCSogaW50bC9NYWtlZmlsZTogUnVuIGdldHRleHQtdGVzdCBvbmx5IGlmIG1zZ2ZtdCBpcyBhdmFpbGFibGUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9rZXJuZWwtZmVhdHVyZXMuaCAoX19BU1NVTUVfTERUX1dPUktTKToKCURlZmluZSBpdCBmb3IgbmV3ZXIga2VybmVscy4KCjIwMDAtMDUtMjMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZWxmL2RsLXN5bS5jOiBNaW5vciBjbGVhbnVwcy4KCgkqIGNvbmZpZ3VyZS5pbjogQWRkIHRlc3QgZm9yIC5wcm90ZWN0ZWQuCgkqIGNvbmZpZy5tYWtlLmluOiBBZGQgaGF2ZS1wcm90ZWN0ZWQgdmFyaWFibGUuCgkqIGVsZi9NYWtlZmlsZSAodGVzdHMpOiBBZGQgJCh0ZXN0cy12aXMtJChoYXZlLXByb3RlY3RlZCkpLgoJKHRlc3RzLXZpcy15ZXMpOiBBZGQgdmlzbWFpbi4KCShtb2R1bGVzLW5hbWVzKTogQWRkICQobW9kdWxlcy12aXMtJChoYXZlLXByb3RlY3RlZCkpLgoJKG1vZHVsZXMtdmlzLXllcyk6IEFkZCB2aXNtb2QxLCB2aXNtb2QyLCBhbmQgdmlzbW9kMy4KCUFkZCBydWxlcyB0byBnZW5lcmF0ZSBhbmQgcnVuIHZpc21haW4uCgkqIGVsZi92aXNtYWluLmM6IE5ldyBmaWxlLgoJKiBlbGYvdmlzbW9kMS5jOiBOZXcgZmlsZS4KCSogZWxmL3Zpc21vZDIuYzogTmV3IGZpbGUuCgkqIGVsZi92aXNtb2QzLmM6IE5ldyBmaWxlLgoKMjAwMC0wNS0yMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3RkaW8tY29tbW9uL3RmZm9ybWF0LmMgKHNwcmludF9kb3VibGVzKTogQWRkIHRlc3RjYXNlIGZvciAlYS4KCgkqIG1hbnVhbC9zZWFyY2gudGV4aSAoQXJyYXkgU29ydCBGdW5jdGlvbik6IERvY3VtZW50IHRoYXQgcXNvcnQgaXMKCW5vdCBuZWNlc3NhcmlseSBpbi1wbGFjZS4KCgkqIHN1bnJwYy9ycGNfbWFpbi5jIChwYXJzZWFyZ3MpOiBEb24ndCBhY2NlcHQgLU0gYW5kIC1OLgoJQ2xvc2VzIFBSIGxpYmMvMTczMS4KCgkqIGNzdS9tdW5jaC10bXBsLmMgKF9fbGliY19pbml0KTogUmVtb3ZlIEsmUiBzdXBwb3J0LgoJKiBkaXJlbnQvc2NhbmRpcjY0LmM6IExpa2V3aXNlLgoJKiBwd2QvZ2V0cHcuYzogTGlrZXdpc2UuCgkqIHN0ZGxpYi9ic2VhcmNoLmMgKGJzZWFyY2gpOiBMaWtld2lzZS4KCSogc3RkbGliL3RzdC1zdHJ0b2xsLmM6IExpa2V3aXNlLgoJKiBsb2NhbGVkYXRhL2NvbGxhdGUtdGVzdC5jOiBMaWtld2lzZS4KCSogbG9jYWxlZGF0YS94ZnJtLXRlc3QuYzogTGlrZXdpc2UuCgkqIHBvc2l4L2JzZC1nZXRwZ3JwLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2FscGhhL2ZwdS9iaXRzL2ZlbnYuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL3NpZ2luZm8uaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL3NvY2thZGRyLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvc3lzL3N3YXAuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zeXMvc3lzaW5mby5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL3Zmb3JrLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL202OGsvZnB1L3N3aXRjaC82ODg4MS1zdy5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9tYWNoL2h1cmQvZmRvcGVuLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9zeXMvYWNjdC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG9sbC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcmVhZHYuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3dyaXRldi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zZXRncm91cHMuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvYml0cy9pcGMuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL2JpdHMvc2lnYWN0aW9uLmg6IExpa2V3aXNlLgoKCSogbWlzYy90c3QtZGlybmFtZS5jOiBSZW1vdmUgSyZSIHN1cHBvcnQsIHVzZSBBTlNJIEMgcHJvdG90eXBlcy4KCSogc2hhZG93L2xja3B3ZGYuYzogTGlrZXdpc2UuCgkqIHN0ZGxpYi90c3Qtc3RydG9sLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvdGNzZXRhdHRyLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC90dHluYW1lLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC90dHluYW1lX3IuYzogTGlrZXdpc2UuCgoyMDAwLTA1LTIyICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGVsZi9kbC1sb2FkLmMgKF9kbF9pbml0X3BhdGhzKTogSWYgZW52X3BhdGhfbGlzdCBoYXMgMCBlbGVtZW50cywKCWZyZWUgaXQgYW5kIHNldCB0byAodm9pZCAqKSAtMS4KCjIwMDAtMDUtMjIgIEpha3ViIEplbGluZWsgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzdGRpby1jb21tb24vdmZzY2FuZi5jIChfX3Zmc2NhbmYpOiBSZW1vdmUgYm9ndXMgY2hlY2sgaWYgJy0nIGlzCglub3QgdGhlIHNlY29uZCBjaGFyYWN0ZXIgaW4gdGhlIHJhbmdlLgoJKiBzdGRpby1jb21tb24vdHN0c2NhbmYuYyAobWFpbik6IEFkZCB0ZXN0Y2FzZSBmb3IgdGhlIGFib3ZlLgoJUmVwb3J0ZWQgYnkgamlrQGthbWVucy5icm9va2xpbmUubWEudXMuCgoyMDAwLTA1LTIxICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBlbGYvZG8tbG9va3VwLmggKGRvX2xvb2t1cF92ZXJzaW9uZWQpOiBSZXBsYWNlIHJlbG9jX3R5cGUgcGFyYW1ldGVyCgl3aXRoIG5vZXhlYyBhbmQgbm9wbHQgcGFyYW1ldGVyLgoJKGRvX2xvb2t1cCk6IExpa2V3aXNlLgoKCSogZWxmL2RsLWxvb2t1cC5jIChfZGxfbG9va3VwX3N5bWJvbCk6IENoYW5nZSBmb3IgbmV3IHBhcmFtZXRlcnMgb2YKCWRvX2xvb2t1cC4gIFN1cHBvcnQgU1RWX1BST1RFQ1RFRC4KCShfZGxfbG9va3VwX3N5bWJvbF9za2lwKTogTGlrZXdpc2UuCgkoX2RsX2xvb2t1cF92ZXJzaW9uZWRfc3ltYm9sKTogTGlrZXdpc2UuCgkoX2RsX2xvb2t1cF92ZXJzaW9uZWRfc3ltYm9sX3NraXApOiBMaWtld2lzZS4KCgkqIGVsZi9kbC1yZWxvYy5jIChSRVNPTFZFKTogQ2hlY2sgU1RCX0xPQ0FMIGluc3RlYWQgb2YgU1RfVklTSUJJTElUWS4KCgkqIGVsZi9kbC1ydW50aW1lLmMgKHByb2ZpbGVfZml4dXApOiBGaXggYSB0eXBvIGluIGNvbW1lbnQuCgoyMDAwLTA1LTIxICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvYXJtL2JpdHMvaHVnZV92YWwuaDogUHJlcmVxIGdjYyAyLjk2Kywgbm90IDIuOTUuCgkqIHN5c2RlcHMvaTM4Ni9iaXRzL2h1Z2VfdmFsLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2llZWU3NTQvYml0cy9odWdlX3ZhbC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9tNjhrL2JpdHMvaHVnZV92YWwuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9iaXRzL2h1Z2VfdmFsLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvYml0cy9odWdlX3ZhbC5oOiBMaWtld2lzZS4KCjIwMDAtMDUtMjIgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGljb252L3RzdC1pY29udjEuYyAobWFpbik6IFJlbW92ZSBjb25zdCBmcm9tIGluYnVmIHRvIGZvbGxvdwoJY2hhbmdlIGluIGljb252LmguCgoyMDAwLTA1LTE5ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2k2ODYvc3lzZGVwLmgKCShTWVNDQUxMX0VSUk9SX0hBTkRMRVIpOiBSZW1vdmUgdW5uZWVkZWQgc3lzY2FsbF9lcnJvciB3aGljaAoJYnJlYWtzIGNvbXBpbGF0aW9uIHdpdGhvdXQgbGludXh0aHJlYWRzLgoKMjAwMC0wNS0yMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2lhNjQvbWVtY2NweS5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L21lbWNoci5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L21lbWNtcC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L21lbWNweS5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L21lbW1vdmUuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9tZW1zZXQuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9zdHJjYXQuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9zdHJjaHIuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9zdHJjbXAuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9zdHJjcHkuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9zdHJsZW4uUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9zdHJuY21wLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvc3RybmNweS5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L3NvZnRwaXBlLmg6IE5ldyBmaWxlLgoJUGF0Y2hlcyBieSBEYW4gUG9wIDxEYW4uUG9wQGNlcm4uY2g+LgoKCSogbWFudWFsL21lbW9yeS50ZXhpOiBEb2N1bWVudCBtZW1vcnkgaGFuZGxpbmcgZnVuY3Rpb25zIChtbG9jaywKCW11bmxvY2ssIG1sb2NrYWxsLCBtdW5sb2NrYWxsLCBicmssIGFuZCBzYnJrKQoJKiBtYW51YWwvdGltZS50ZXhpOiBEb2N1bWVudCB0aW1lc3BlYyBhbmQgZnJpZW5kcy4KCSogbWFudWFsL2NvbmYudGV4aTogRml4IHJlZmVyZW5jZXMuCgkqIG1hbnVhbC9jdHlwZS50ZXhpOiBMaWtld2lzZS4KCSogbWFudWFsL2Vycm5vLnRleGk6IExpa2V3aXNlLgoJKiBtYW51YWwvaW50cm8udGV4aTogTGlrZXdpc2UuCgkqIG1hbnVhbC9sb2NhbGUudGV4aTogTGlrZXdpc2UuCgkqIG1hbnVhbC9zeXNpbmZvLnRleGk6IExpa2V3aXNlLgoJUGF0Y2hlcyBieSBCcnlhbiBIZW5kZXJzb24gPGJyeWFuaEBnaXJhZmZlLWRhdGEuY29tPi4KCjIwMDAtMDUtMDkgIEplcyBTb3JlbnNlbiAgPGplc0BsaW51eGNhcmUuY29tPgoKCSogc3lzZGVwcy9pYTY0L2RsLW1hY2hpbmUuaDogTW92ZSBETF9TWU1CT0xfQUREUkVTUyBkZWZpbml0aW9uIHRvLi4uCgkqIHN5c2RlcHMvaWE2NC9kbC1sb29rdXBjZmcuaDogLi4uaGVyZS4KCjIwMDAtMDUtMjEgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2NzaS9zZy5oIChzZ19pb19oZHJfdCk6IFJlbW92ZSBkdXBsaWNhdGUKCWR4ZmVyX2RpcmVjdGlvbi4KCjIwMDAtMDUtMjEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbG9jYWxlL2xvY2FsZS5oIChzdHJ1Y3QgbGNvbnYpOiBBZGQgbmV3IGVsZW1lbnRzIGZyb20gSVNPIEM5OS4KCSogbG9jYWxlL2xvY2FsZWNvbnYuYzogSW5pdGlhbGl6ZSBuZXcgZWxlbWVudHMgZnJvbSBJU08gQzk5LgoJKiBsb2NhbGUvbGFuZ2luZm8uaDogUmVtb3ZlIF9OTF9NT05FVEFSWSBwcmVmaXggZnJvbSBkZXNjcmlwdG9ycyBmb3IKCW5ldyBzdGFuZGFyZCBlbGVtZW50cy4KCSogbG9jYWxlL2NhdGVnb3JpZXMuZGVmOiBBZGp1c3QgYWNjb3JkaW5nbHkuCgoJKiBpY29udi9pY29udi5oIChpY29udik6IFJlbW92ZSBjb25zdCBmcm9tIGluYnVmIHBhcmFtZXRlci4KCSogaWNvbnYvaWNvbnYuYzogTGlrZXdpc2UuCgkqIGNvbmZvcm0vZGF0YS9pY29udi5oLWRhdGE6IExpa2V3aXNlLgoJKiBpY29udi9pY29udl9wcm9nLmMgKHByb2Nlc3NfYmxvY2spOiBSZW1vdmUgY29uc3QgZnJvbSBzZWNvbmQKCXBhcmFtZXRlci4KCShtYWluKTogUmVtb3ZlIGNvbnN0IGZyb20gYWRkciBkZWZpbml0aW9uLgoJKiBtYW51YWwvY2hhcnNldC50ZXhpIChHZW5lcmljIENvbnZlcnNpb24gSW50ZXJmYWNlKTogUmVtb3ZlIGZyb20KCWluYnVmIHBhcmFtZXRlciBvZiBpY29udi4KCgkqIGludGwvZGNpZ2V0dGV4dC5jOiBGaXggdHlwbyBpbiBjb21tZW50LgoKMjAwMC0wNS0yMCAyMDAwICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiByZXNvbHYvcmVzX2xpYmMuYyAoX3Jlcyk6IEluaXRpYWxpemUgX3NvY2sgdG8gLTEuCgoyMDAwLTA1LTE4ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGxpYmlvL2lvZm9wbmNvb2suYyAoX0lPX2ZvcGVuY29va2llKTogUmVuYW1lZCBmcm9tIGZvcGVuY29va2llLgoJKGZvcGVuY29va2llQEBHTElCQ18yLjIpOiBOZXcuCgkoX0lPX29sZF9jb29raWVfc2VlaywgX0lPX29sZF9mb3BlbmNvb2tpZSwgX0lPX29sZF9jb29raWVfanVtcHMpOiBOZXcuCgkoZm9wZW5jb29raWVAR0xJQkNfMi4wKTogTmV3LgoJKiBsaWJpby9WZXJzaW9uczogQWRkIGZvcGVuY29va2llIHRvIEdMSUJDXzIuMi4KCjIwMDAtMDUtMTggIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN1bnJwYy9ycGNfbWFpbi5jIChwYXJzZWFyZ3MpOiBEb24ndCBhY2NlcHQgLU0gYW5kIC1OLgoJQ2xvc2VzIFBSIGxpYmMvMTczMS4KCgkqIG1hbnVhbC9hcml0aC50ZXhpIChQYXJzaW5nIG9mIEludGVnZXJzKTogRml4IHR5cG8uCglDbG9zZXMgUFIgbGliYy8xNzQ0LCByZXBvcnRlZCBieSBibHBAZ251Lm9yZy4KCjIwMDAtMDUtMTcgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9hcm0vYml0cy9odWdlX3ZhbC5oIChIVUdFX1ZBTCwgSFVHRV9WQUxGKTogQWRkCglfX2V4dGVuc2lvbl9fIHRvIGhleGFkZWNpbWFsIGZsb2F0aW5nIGNvbnN0YW50IG5vdGF0aW9uLgoJKiBzeXNkZXBzL2kzODYvYml0cy9odWdlX3ZhbC5oIChIVUdFX1ZBTCwgSFVHRV9WQUxGLCBIVUdFX1ZBTEwpOgoJTGlrZXdpc2UuCgkqIHN5c2RlcHMvaWVlZTc1NC9iaXRzL2h1Z2VfdmFsLmggKEhVR0VfVkFMLCBIVUdFX1ZBTEYpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9tNjhrL2JpdHMvaHVnZV92YWwuaCAoSFVHRV9WQUwsIEhVR0VfVkFMRiwgSFVHRV9WQUxMKToKCUxpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvYml0cy9odWdlX3ZhbC5oIChIVUdFX1ZBTCwgSFVHRV9WQUxGLAoJSFVHRV9WQUxMKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9iaXRzL2h1Z2VfdmFsLmggKEhVR0VfVkFMLCBIVUdFX1ZBTEYsCglIVUdFX1ZBTEwpOiBMaWtld2lzZS4KCShIVUdFX1ZBTEwpOiBTZXQgdG8gSFVHRV9WQUwgb24gc3BhcmMzMi4KCjIwMDAtMDUtMTcgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN0cmluZy9lbnZ6Lmg6IEFkZCBwdXJlIGF0dHJpYnV0ZXMgaWYgcG9zc2libGUuCgoJKiBzdHJpbmcvYXJnei5oOiBhcmd6X2NvdW50IGlzIGEgcHVyZSBmdW5jdGlvbi4KCgkqIHN0cmluZy9zdHJpbmdzLmg6IEFkZCBwdXJlIGFuZCBjb25zdCBhdHRyaWJ1dGVzIGlmIHBvc3NpYmxlLgoKCSogc3lzZGVwcy9nZW5lcmljL21lbW1lbS5jIChtZW1tZW0pOiBDaGVjayBhcmd1bWVudHMgdG8gYXZvaWQKCXBvc3NpYmx5IHNlYXJjaGluZyB0aHJvdWdoIHRoZSB3aG9sZSBtZW1vcnkuCglDbG9zZXMgUFIgbGliYy8xNzMwLCByZXBvcnRlZCBieSBHcmVnIEh1ZHNvbiA8Z2h1ZHNvbkBtaXQuZWR1Pi4KCjIwMDAtMDUtMTcgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL2RsLWNhY2hlLmggKF9ETF9DQUNIRV9ERUZBVUxUX0lEKTogT25seSBkZWZpbmUgaWYKCW5vdCB5ZXQgZGVmaW5lZC4KCShfZGxfY2FjaGVfY2hlY2tfZmxhZ3MpOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9kbC1jYWNoZS5oOiBpbmNsdWRlX25leHQKCWRsLWNhY2hlLmguCgoyMDAwLTA1LTE3ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBtYW51YWwvY3JlYXR1cmUudGV4aSAoRmVhdHVyZSBUZXN0IE1hY3Jvcyk6IFJlbW92ZSBwYXJhZ3JhcGgKCXNpbmNlIHRoZSBkZXNjcmlwdGlvbiBpcyB3cm9uZy4KCUNsb3NlcyBQUiBsaWJjLzE2OTEsIHJlcG9ydGVkIGJ5IEdlb2ZmIENsYXJlIDxnd2NAdW5pc29mdC5jb20+LgoKCSogc2NyaXB0cy9jb25maWcuc3ViOiBOZXcgdmVyc2lvbi4KCSogc2NyaXB0cy9jb25maWcuZ3Vlc3M6IExpa2V3aXNlLgoJKiBtYW51YWwvdGV4aW5mby50ZXg6IExpa2V3aXNlLgoKCSogdGltZS90ZXN0X3RpbWUuYXJnczogUmVtb3ZlZC4KCSogdGltZS9NYWtlZmlsZSAodGVzdF90aW1lLUFSR1MpOiBBZGRlZCBjb250ZW50cyBoZXJlIGluc3RlYWQuCgoJKiBwb3NpeC90c3RnZXRvcHQuYXJnczogUmVtb3ZlZC4KCSogcG9zaXgvTWFrZWZpbGUgKHRzdGdldG9wdC1BUkdTKTogQWRkZWQgY29udGVudHMgaGVyZSBpbnN0ZWFkLgoKCSogUnVsZXM6IEFsbG93IGFyZ3VtZW50cyBmb3IgdGVzdCBmaWxlcyB0byBiZSBzcGVjaWZpZWQgaW4KCU1ha2VmaWxlIHdpdGggdGVzdG5hbWUtQVJHUzsgcmVtb3ZlIHJ1bGVzIHdpdGggLmFyZ3MgaW4gaXQuCgoJKiBkaXJlbnQvTWFrZWZpbGUgKG9wZW5kaXItdHN0MS1BUkdTKTogVXNlIHRoaXMgZm9yIG9wZW5kaXItdHN0MSwKCXJlbW92ZSBvbGQgYm9ndXMgcnVsZSBmb3Igb3BlbmRpci10c3QxLmFyZ3MuCgoJKiBzdGRsaWIvdGVzdC1jYW5vbi5jOiBSZXdyaXRlIHRvIHVzZSB0ZXN0LXNrZWxldG9uLmMuCgoJKiBzdGRsaWIvTWFrZWZpbGUgKHRlc3QtY2Fub24tQVJHUyk6IE5ldywgc3VwcGx5IGFyZ3VtZW50IHRvIGNoZGlyCglpbnRvIG9iamRpci4gIFRoaXMgYWxsb3dzIGEgcmVhZG9ubHkgc291cmNldHJlZS4KCVJlcG9ydGVkIGJ5IGxyZ2FsbGFyZG9AeWFob28uY29tLCBjbG9zZXMgUFIgbGliYy8xNDIxLgoKMjAwMC0wNS0xNiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPiwKCSAgICBEYXZpZCBIdWdnaW5zLURhaW5lcyA8ZGhkQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtY2FjaGUuYyAoX2RsX2xvYWRfY2FjaGVfbG9va3VwKTogU2V0CgljYWNoZV9kYXRhIGluIGNhc2Ugb2Ygb25seSBuZXcgY2FjaGUgZm9ybWF0IGNvcnJlY3RseS4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1jYWNoZS5jIChfZGxfbG9hZF9jYWNoZV9sb29rdXApOiBBbGlnbiBzdHJ1Y3QKCWNhY2hlX2ZpbGVfbmV3LgoKCSogc3lzZGVwcy9nZW5lcmljL2RsLWNhY2hlLmggKEFMSUdOX0NBQ0hFKTogTmV3IG1hY3JvIHRvIGFsaWduCglzdHJ1Y3QgY2FjaGVfZmlsZV9uZXcuCgoJKiBlbGYvY2FjaGUuYyAoc2F2ZV9jYWNoZSk6IEZpeCBzdHJfb2Zmc2V0IGlmIG9ubHkgbmV3IGNhY2hlIGlzCglwcmVzZW50LgoKCSogZWxmL2NhY2hlLmMgKHNhdmVfY2FjaGUpOiBBbGlnbiBzdHJ1Y3QgbmV3X2ZpbGVfY2FjaGUuCgkocHJpbnRfY2FjaGUpOiBMaWtld2lzZS4KCjIwMDAtMDUtMTMgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogZWxmL3NvaW5pdC5jIChfX2xpYmNfZ2xvYmFsX2N0b3JzKTogTW92ZQoJX19wdGhyZWFkX2luaXRpYWxpemVfbWluaW1hbCBjYWxsIG91dCBvZiBIQVZFX0RXQVJGMl8qIGRlZmluZXMuCgkqIHJlc29sdi9yZXNvbHYuaCAoX19yZXNfc3RhdGUpOiBBZGRlZCBfX2F0dHJpYnV0ZV9fKChjb25zdCkpLgoJKF9yZXMpOiBJZiBfX1JFU19QVEhSRUFEX0lOVEVSTkFMIGlzIGRlZmluZWQsIGRlY2xhcmUgaXQgYXMKCXZhcmlhYmxlLCBkb24ndCBkZWZpbmUgaXQgdG8gX19yZXNfc3RhdGUgY2FsbC4KCjIwMDAtMDUtMTMgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvc29ja2V0LmggKFBGX1BQUE9YKTogTmV3LCBmcm9tCglMaW51eCAyLjMuOTlwcmU3LgoJKEFGX1BQUE9YKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvYml0cy9zb2NrZXQuaCAoUEZfUFBQT1gpOiBMaWtld2lzZS4KCShBRl9QUFBPWCk6IExpa2V3aXNlLgoKMjAwMC0wNS0xMiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogaW5ldC9uZXRpbmV0L2luLmggKElONl9BUkVfQUREUl9FUVVBTCk6IENvcnJlY3QgaW5kaWNlcy4KCVJlcG9ydGVkIGJ5IHRtb2VzdGxAZ214Lm5ldCwgY2xvc2VzIFBSIGxpYmMvMTczMi4KCjIwMDAtMDUtMTEgIEphbiBIdWJpY2thICA8amhAc3VzZS5jej4KCgkqIG1pc2Mvc3lzL2NkZWZzLmg6IEFkZCBzdXBwb3J0IGZvciBwdXJlIGF0dHJpYnV0ZS4KCgkqIGluY2x1ZGUvc3RyaW5nLmg6IEFkZCBfX2F0dHJpYnV0ZV9wdXJlX18gdG8gdmFyaW91cyBmdW5jdGlvbnMuCgkqIHN0cmluZy9zdHJpbmcuaDogTGlrZXdpc2UuCgoyMDAwLTA1LTEwICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGVsZi9kbC1yZWxvYy5jIChfZGxfcmVsb2NfYmFkX3R5cGUpOiBTeW5jIG1lc3NhZ2VzIHdpdGggcGx0Cglhcmd1bWVudC4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfcmVsYSk6IEhhbmRsZQoJUl9TUEFSQ19VQTY0LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L3RpbWUuYzogTmV3IGZpbGUuCgoyMDAwLTA1LTEwICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGVsZi9kbC1yZWxvYy5jIChfZGxfcmVsb2NfYmFkX3R5cGUpOiBXcml0ZSB0eXBlIGludG8gdGhlIG1lc3NhZ2UKCWF0IHByb3BlciBwbGFjZS4gIENvbXB1dGUgdGhlIGhpZ2ggbmliYmxlIGNvcnJlY3RseS4KCjIwMDAtMDUtMDkgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogZWxmL2xkY29uZmlnLmM6IEluY2x1ZGUgZWxmLmguCgoJKiBlbGYvZGwtc3ltLmMgKF9kbF9zeW0pOiBUZXN0IHJlZiBub3QgcmVzdWx0IGZvciBub24temVyby4KCShfZGxfdnN5bSk6IExpa2V3aXNlLgoJUmVwb3J0ZWQgYnkgT3dlbiBUYXlsb3IgPG90YXlsb3JAcmVkaGF0LmNvbT4uCgoJKiBlbGYvZGwtZGVwcy5jIChfZGxfbWFwX29iamVjdF9kZXBzKTogWmVybyB0ZXJtaW5hdGUgTC0+bF9pbml0ZmluaQoJYWx3YXlzLgoKMjAwMC0wNS0wOCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogaW5jbHVkZS9saWJpbnRsLmg6IEFkZCBwcm90b3R5cGUgZm9yIF9fYmluZF90ZXh0ZG9tYWluX2NvZGVzZXQuCgoJKiBpbnRsL2JpbmR0ZXh0ZG9tLmMgKHNldF9iaW5kaW5nX3ZhbHVlcyk6IEFkZCBwcm90b3R5cGUuCgoyMDAwLTA1LTA4ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvYWxwaGEvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9yZWxhKTogRml4IGFyZ3VtZW50cyBpbgoJY2FsbCB0byBlbGZfbWFjaGluZV9maXh1cF9wbHQuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX3JlbGEpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfcmVsYSk6IExpa2V3aXNlLgoKMjAwMC0wNS0wOCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtZmluaS5jIChfZGxfZmluaSk6IEJ1bXAgbF9vcGVuY291bnQgb2YgYWxsIG9iamVjdHMgc28gdGhhdAoJdGhleSBhcmUgbm90IGRsY2xvc2UnZCBmcm9tIHVuZGVybmVhdGggdXMuCgoyMDAwLTA1LTA4ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogcG9zaXgvZXhlY2xlLmM6IEZpeCBzaXplIHBhcmFtZXRlciBvZiBtZW1jcHkuCgoyMDAwLTA1LTA4ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9nZXRwYWdlc2l6ZS5jOiBOZXcgZmlsZS4gIFVzZQoJZ2V0cGFnZXNpemUgc3lzY2FsbCBpZiBhdmFpbGFibGUuCgoyMDAwLTA1LTA4ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL2dlbmVyaWMvbG9ja2Y2NC5jIChsb2NrZjY0KTogUmV0dXJuIC0xIGZvciBvdmVyZmxvdyBhbmQKCXNldCBlcnJuby4KCjIwMDAtMDUtMDggIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogZWxmL2RsLWxvb2t1cC5jIChhZGRfZGVwZW5kZW5jeSk6IFJlYWxsb2NhdGUgbF9yZWxkZXBzIGluCglzaXplb2Yoc3RydWN0IGxpbmtfbWFwICopIGNodW5rcywgbm90IGluIGJ5dGVzLgoKMjAwMC0wNS0wNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvTWFrZWZpbGUgKGxvY2FsZS1DUFBGTEFHUyk6IFJlbmFtZWQgZnJvbSBDUFBGTEFHUy4gIEl0J3MKCW9ubHkgbmVlZGVkIGZvciBsb2NhbGUuCgkqIGNhdGdldHMvTWFrZWZpbGUgKGNhdGdldHMtQ1BQRkxBR1MpOiBSZW5hbWVkIGZyb20gQ1BQRkxBR1MuCglJdCdzIG9ubHkgbmVlZGVkIGZvciBjYXRnZXRzLgoJUGF0Y2hlcyBieSBHcmVnIE1jR2FyeSA8Z2ttQGVuZy5hc2NlbmQuY29tPi4KCjIwMDAtMDUtMDcgIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCSogbnNzL25zc19kYi9kYi1vcGVuLmM6IENsZWFudXAgYW5kIGFkZCBjb21tZW50cy4gIFByZXR0eSBwcmludC4KCVJlbW92ZSBkdXBsaWNhdGUgPGVycm5vLmg+IGluY2x1ZGUuICBSZW1vdmUgaW5jbHVzaW9uIG9mCgk8bGliaW50bC5oPiBhbmQgIm5zc3dpdGNoLmgiLgoJKHNldF9jbG9leGVjX2ZsYWcpOiBOZXcgZnVuY3Rpb24sIGJyb2tlbiBvdXQgb2YgZGJvcGVuLgoJKGRib3Blbik6IENoYW5nZWQgcmV0dXJuIHR5cGUgdG8gYGVudW0KCW5zc19zdGF0dXMnLiAgTW9zdGx5IHJld3JpdHRlbiB0byBtYWtlIHN1cmUgdGhhdCB3ZSBkbyBub3QgcmVwb3J0CglOU1NfU1RBVFVTX1NVQ0NFU1MgaWYgc29tZXRoaW5nIHdlbnQgd3JvbmcuICBSZW1vdmUgdW5uZWNlc3NhcnkgY2FzdHMuCgkoaW50ZXJuYWxfc2V0ZW50KTogQ2hhbmdlIHJldHVybiB0eXBlIHRvIG5zc19zdGF0dXMuCglEb2N1bWVudCwgYW5kIG1ha2Ugc3VyZSB0aGF0IHRoZSBmdW5jdGlvbgoJYmVoYXZlcyBhY2NvcmRpbmdseS4gIE1ha2UgZHluYW1pY2FsbHkgbG9hZGluZyB0aGUgZGF0YWJhc2UKCWxpYnJhcnkgcmVhbGx5IHRocmVhZC1zYWZlIGFuZCByZXR1cm4gTlNTX1NUQVRVU19VTkFWQUlMIGlmIGl0CglmYWlsZWQuCgkoZGJfY3Vyc29yKTogUmV0dXJuIEVOT01FTSBpcyBtZW1vcnkgYWxsb2NhdGlvbiBmYWlsZWQuICBSZW1vdmUKCXVuZWNlc3NhcnkgY2FzdHMuCgkqIG5zcy9uc3NfZGIvZHVtbXktZGIuaDogQWRkIGNvcHlyaWdodCBub3RpY2UuICBJbXByb3ZlCglkb2N1bWVudGF0aW9uLgoJKHN0cnVjdCBkYmMyNCwgc3RydWN0IGRiYzI3KTogVXNlIERCVCB0eXBlIGluIHBhcmFtZXRlciBsaXN0cyBmb3IKCWNfZ2V0IGZ1bmN0aW9uIG1lbWJlci4KCSogbnNzL25zc19kYi9uc3NfZGIuaDogQWRkIGFuZCB0d2VhayBzb21lIGNvbW1lbnRzLgoJKERCVCk6IE1vdmUgdHlwZWRlZiBiZWZvcmUgTlNTX0RCQyB0eXBlZGVmLgoJKE5TU19EQkMsIE5TU19EQik6IFVzZSBEQlQgaW4gZnVuY3Rpb24gbWVtYmVyIHBhcmFtZXRlciBsaXN0cy4KCjIwMDAtMDUtMDcgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIGNzdS9pbml0ZmluaS5jOiBNb3ZlZCB0byAuLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy9pbml0ZmluaS5jOiAuLi5oZXJlLgoKCSogY3N1L01ha2VmaWxlIChpbml0ZmluaS5jKTogU2V0IHZwYXRoIHRvICQoZnVsbF9jb25maWdfc3lzZGlycykuCgoyMDAwLTA1LTA3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hbnVhbC9yZXNvdXJjZS50ZXhpOiBEb2N1bWVudCBQT1NJWCBzY2hlZHVsaW5nIGZ1bmN0aW9ucy4KCVBhdGNoIGJ5IEJyeWFuIEhlbmRlcnNvbiA8YnJ5YW5oQGdpcmFmZmUtZGF0YS5jb20+LgoKCSogaW5ldC9yY21kLmMgKHJjbWRfYWYpOiBlcnJubyBpcyBub3Qgc2V0IGlmIHJlYWQgcmV0dXJucyB3aXRob3V0CglyZWFkaW5nIGFueXRoaW5nLiAgUmVwb3J0ZWQgYnkgQW5kcmllcy5Ccm91d2VyQGN3aS5ubC4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9tZW1jY3B5LmMgKF9fbWVtY2NweSk6IERvbid0IHVzZSByZWdfY2hhciB0eXBlCglmb3IgeCBzaW5jZSBwcm9tb3Rpb24gaW4gY29tcGFyaXNvbiBtaWdodCBsZWFkcyB0byB1bmV4cGVjdGVkCglyZXN1bHRzLiAgUmVwb3J0ZWQgYnkgRGFuIFBvcCA8RGFuLlBvcEBjZXJuLmNoPi4KCgkqIGljb252L01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3QtaWNvbnYxLgoJKiBpY29udi90c3QtaWNvbnYxLmM6IE5ldyBmaWxlLgoJKiBpY29udi9nY29udl9zaW1wbGUuYyAoaW50ZXJuYWxfdWNzNF9sb29wKTogUHJlZmVyIHJlcG9ydGluZwoJZW1wdHkgaW5wdXQgYnVmZmVyIG92ZXIgZnVsbCBvdXRwdXQgYnVmZmVyLgoJKHVjczRfaW50ZXJuYWxfbG9vcCk6IExpa2V3aXNlLgoJKHVjczRfaW50ZXJuYWxfbG9vcF91bmFsaWduZWQpOiBMaWtld2lzZS4KCShpbnRlcm5hbF91Y3M0bGVfbG9vcCk6IExpa2V3aXNlLgoJKGludGVybmFsX3VjczRsZV9sb29wX3VuYWxpZ25lZCk6IExpa2V3aXNlLgoJKHVjczRsZV9pbnRlcm5hbF9sb29wKTogTGlrZXdpc2UuCgkodWNzNGxlX2ludGVybmFsX2xvb3BfdW5hbGlnbmVkKTogTGlrZXdpc2UuCglSZXBvcnRlZCBieSB5YW96QG5paC5nb3YuCgoyMDAwLTA1LTA2ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udi9nY29udl9vcGVuLmMgKF9fZ2NvbnZfb3Blbik6IElmIF9fZ2NvbnZfZmluZF90cmFuc2Zvcm0KCXJldHVybmVkICE9IF9fR0NPTlZfT0ssIHRoZXJlIGlzIG5vdGhpbmcgdG8gY2xlYW4gdXAuCgoyMDAwLTA1LTA2ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpbnRsL3RzdC1nZXR0ZXh0LmMgKG1haW4pOiBEaXNhYmxlIHBvc3NpYmx5IGV4aXN0aW5nIExDX0NUWVBFIGFuZAoJT1VUUFVUX0NIQVJTRVQgZW52aXJvbm1lbnQgdmFyaWFibGVzLgoKMjAwMC0wNS0wNiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9nZW5lcmljL2RsLWNhY2hlLmggKHN0cnVjdCBmaWxlX2VudHJ5X25ldyk6IE5ldy4KCShzdHJ1Y3QgY2FjaGVfZmlsZV9uZXcpOiBOZXcuCgkoc3RydWN0IGZpbGVfZW50cnkpOiBOZXcgKG1vdmVkIGZyb20gY2FjaGUuYykuCgkoc3RydWN0IGNhY2hlX2ZpbGUpOiBOZXcgKG1vdmVkIGZyb20gY2FjaGUuYykuCgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtY2FjaGUuYyAoU0VBUkNIX0NBQ0hFKTogTmV3IG1hY3JvLCBicm9rZW4gb3V0Cglmcm9tIF9kbF9sb2FkX2NhY2hlX2xvb2t1cC4KCShfZGxfbG9hZF9jYWNoZV9sb29rdXApOiBNb3ZlIHNlYXJjaCB0byBTRUFSQ0hfQ0FDSEUgbWFjcm8sIGhhbmRsZQoJdGhlIGRpZmZlcmVudCBjYWNoZSBmb3JtYXRzLgoJTmV3IHZhcmlhYmxlIGNhY2hlX25ldyBmb3IgbmV3IGZvcm1hdC4KCgkqIGVsZi9sZGNvbmZpZy5oOiBDaGFuZ2UgYWNjb3JkaW5nIHRvIGNoYW5nZXMgaW4gY2FjaGUuYyBhbmQKCWxkY29uZmlnLmM7IHJlbW92ZSBjYWNoZV9saWJjbXA7IGFkZCBvcHRfZm9ybWF0LgoKCSogZWxmL2xkY29uZmlnLmM6IEluY2x1ZGUgImRsLWNhY2hlLmgiIGFuZCAiZGwtcHJvY2luZm8uaCI7IHJlbW92ZQoJc3R1ZmYgdGhhdCdzIGRlZmluZWQgaW4gdGhvc2UgaGVhZGVycy4KCUFkZCBod2NhcCB0byBzdHJ1Y3QgbGliX2VudHJ5LgoJKG9wdF9mb3JtYXQpOiBOZXcgdmFyaWFibGUgdG8gc2VsZWN0IGNhY2hlIGZvcm1hdC4KCShvcHRpb25zKTogQWRkIGZvcm1hdCBwYXJhbWV0ZXIuCgkoaXNfaHdjYXApOiBOZXcgZnVuY3Rpb24uCgkocGF0aF9od2NhcCk6IE5ldyBmdW5jdGlvbi4KCShwYXJzZV9vcHQpOiBIYW5kbGUgbmV3IGZvcm1hdCBwYXJhbWV0ZXIuCgkoc2VhcmNoX2Rpcik6IEhhbmRsZSBod2NhcCwgc2VhcmNoIGFsc28gc3ViZGlyZWN0b3JpZXMgd2l0aCBod2NhcC4KCgkqIGVsZi9jYWNoZS5jIChfR05VX1NPVVJDRSk6IFJlbW92ZWQuICBOb3QgbmVlZGVkIGFueW1vcmUgc2luY2UKCWxkY29uZmlnIGlzIHBhcnQgb2YgZ2xpYmMuCglJbmNsdWRlIGRsLWNhY2hlLmggYW5kIHJlbW92ZSBzdHVmZiB0aGF0J3MgZGVmaW5lZCB0aGVyZS4KCShzdHJ1Y3QgY2FjaGVfZW50cnkpOiBBZGQgbmV3IG1lbWJlciBod2NhcC4KCShwcmludF9lbnRyeSk6IFByaW50IGh3Y2FwLCBjbGVhbnVwIGEgYml0LgoJKHByaW50X2NhY2hlKTogUHJpbnQgbmV3IGFuZCBvbGQgZm9ybWF0cy4KCShjb21wYXJlKTogVXNlIF9kbF9jYWNoZV9saWJjbXAgZnJvbSBkbC1jYWNoZS5oOyBoYW5kbGUgaHdjYXAuCgkoc2F2ZV9jYWNoZSk6IFNhdmUgbmV3IGFuZCBvbGQgZm9ybWF0cy4KCShhZGRfdG9fY2FjaGUpOiBIYW5kbGUgaHdjYXAuCgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtY2FjaGUuYyAoX2RsX2NhY2hlX2xpYmNtcCk6IE1vdmVkIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtY2FjaGUuaCAoX2RsX2NhY2hlX2xpYmNtcCk6IC4uLnRvIGhlcmUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1jYWNoZS5jIChMRF9TT19DQUNIRSk6IE1vdmVkIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtY2FjaGUuaCAoTERfU09fQ0FDSEUpOiAuLi50byBoZXJlLgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtY2FjaGUuYyAoQ0FDSEVNQUdJQyk6IE1vdmVkIGZyb20gaGVyZS4uLgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtY2FjaGUuaCAoQ0FDSEVNQUdJQyk6IC4uLnRvIGhlcmUuCgoyMDAwLTA1LTA1ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpbnRsL2RjaWdldHRleHQuYyAoYWxpZ25vZik6IE5ldyBtYWNyby4KCShfbmxfZmluZF9tc2cpOiBVc2UgaXQgaW5zdGVhZCBvZiBfX2FsaWdub2ZfXy4gUGFzcyBjb3JyZWN0IG91dHB1dAoJYnVmZmVyIGxlbmd0aCB0byBfX2djb252L2ljb252LiBJZiBtYWxsb2MgKGZyZWVtZW1fc2l6ZSkgZmFpbHMsIHNldAoJZnJlZW1lbV9zaXplIHRvIDAuCgoyMDAwLTA1LTA1ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpbnRsL2RjaWdldHRleHQuYyAoZGNpZ2V0dGV4dCk6IEZpeCBpbnRlcnByZXRhdGlvbiBvZiB0c2VhcmNoCglyZXR1cm4gdmFsdWUuCgoyMDAwLTA1LTA2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGludGwvZGNpZ2V0dGV4dC5jIChEQ0lHRVRURVhUKTogQWx3YXlzIGRlZmluZSBsb2NhbCB2YXJpYWJsZSBgaW5kZXgnLgoJKG1lbXBjcHkpOiBDb3JyZWN0IHR5cG8gaXMgcGFyYW1ldGVyIGxpc3QuCgoyMDAwLTA1LTA2ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL2kzODYvZnB1L2JpdHMvbWF0aGlubGluZS5oOiBEaXNhYmxlIHNvbWUgaW5saW5lCglmdW5jdGlvbnMgdW5sZXNzIC1mZmFzdC1tYXRoIGlzIGdpdmVuIHRvIGdjYy4KCjIwMDAtMDUtMDYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG8va28ucG86IFVwZGF0ZSBmcm9tIHRyYW5zbGF0aW9uIHRlYW0uCgoyMDAwLTA1LTA1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9saW51eC9lcnJub2NvbnYuYzogTW92ZWQgdG8uLi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9haXgvZXJybm9jb252LmM6IC4uLmhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9saW51eC9zdGF0Y29udi5jOiBNb3ZlZCB0by4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2FpeC9zdGF0Y29udi5jOiAuLi5oZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvbGludXgvZGlyZW50Y29udi5jOiBNb3ZlZCB0by4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2FpeC9kaXJlbnRjb252LmM6IC4uLmhlcmUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvbGludXgvbGludXgtZXJybm8uaDogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2xpbnV4L2xpbnV4LXN0YXQuaDogUmVtb3ZlZAoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvbGludXgvbGludXgtZGlyZW50Lmg6IFJlbW92ZWQuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2FpeC9haXgtZGlyZW50Lmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2FpeC9haXgtZXJybm8uaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvYWl4L2FpeC1zdGF0Lmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2FpeC9haXgtdGVybWlvcy5oOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvYWl4L3RjZ2V0YXR0ci5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9haXgvdGNzZXRhdHRyLmM6IE5ldyBmaWxlLgoKMjAwMC0wNS0wNSAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3N5c2RlcC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zeXNjYWxsLlM6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9iaXRzL3R5cGVzLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvZW5kaWFuLmg6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy9pYTY0L0ltcGxpZXM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvVmVyc2lvbnM6IE5ldyBmaWxlLiAgRGVjbGFyZSBfZGxfc3ltYm9sX2FkZHJlc3MuCgkqIHN5c2RlcHMvaWE2NC9NYWtlZmlsZTogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9nbXAtbXBhcmFtLmg6IE5ldyBmaWxlLAoKCSogc3lzZGVwcy9pYTY0L2VsZi9zdGFydC5TOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvaWE2NC9iaXRzL2ZlbnYuaDogTmV3IGZpbGUuCgoyMDAwLTA1LTA1ICBEYXZpZCBNb3NiZXJnZXItVGFuZyAgPGRhdmlkbUBocGwuaHAuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zeXNkZXAuUzogTmV3IGZpbGUuCgoyMDAwLTA0LTI2ICBKZXMgU29yZW5zZW4gIDxKZXMuU29yZW5zZW5AY2Vybi5jaD4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy9lbGZjbGFzcy5oOiBOZXcgZmlsZS4gIFRoZQoJaWE2NCBoYXMgNjQgYml0IC5oYXNoIGVudHJpZXMganVzdCBhcyB0aGUgQWxwaGEuCgoyMDAwLTA0LTI1ICBKZXMgU29yZW5zZW4gIDxKZXMuU29yZW5zZW5AY2Vybi5jaD4KCgkqIHN5c2RlcHMvaWE2NC9tZW1wcm9mLmg6IE5ldyBmaWxlLiAgUHJvdmlkZSBHRVRTUCgpIG1hY3JvLgoKMjAwMC0wNC0xNyAgSmVzIFNvcmVuc2VuICA8SmVzLlNvcmVuc2VuQGNlcm4uY2g+CgoJKiBzeXNkZXBzL2lhNjQvZnB1L2ZjbHJleGNwdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9mZWRpc2JseGNwdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9mZWVuYWJseGNwdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9mZWdldGVudi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9mZWdldGV4Y2VwdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9mZWdldHJvdW5kLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L2ZlaG9sZGV4Y3B0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L2Zlc2V0ZW52LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L2Zlc2V0cm91bmQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvZmV1cGRhdGVlbnYuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvZmdldGV4Y3B0ZmxnLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L2ZyYWlzZWV4Y3B0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L2ZzZXRleGNwdGZsZy5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9mdGVzdGV4Y2VwdC5jOiBOZXcgZmlsZS4KCjIwMDAtMDUtMDUgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIG1pc2MvdHN0LXRzZWFyY2guYyAobWFpbik6IENvcnJlY3QgdHlwZSBmb3IgaW5pdHN0YXRlIGFyZ3VtZW50LgoKCSogc3lzZGVwcy9nZW5lcmljL2RsLXByb2NpbmZvLmggKF9ETF9IV0NBUF9DT1VOVCk6IE5ldy4KCShfZGxfc3RyaW5nX2h3Y2FwKTogTmV3LCBkb2VzIG5vdGhpbmcuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2RsLXByb2NpbmZvLmggKF9ETF9IV0NBUF9DT1VOVCk6IE5ldy4KCShfZGxfcHJvY2luZm8pOiBVc2UgX0RMX0hXQ0FQX0NPVU5UIGluc3RlYWQgb2YgYSBjb25zdGFudC4KCShfZGxfc3RyaW5nX2h3Y2FwKTogTmV3IGZ1bmN0aW9uLCBjb252ZXJ0cyBmcm9tIHN0cmluZyB0byBod2NhcAoJZW5jb2RpbmcuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjMzIvZGwtcHJvY2luZm8uaAoJKF9ETF9IV0NBUF9DT1VOVCk6IE5ldy4KCShfZGxfcHJvY2luZm8pOiBVc2UgX0RMX0hXQ0FQX0NPVU5UIGluc3RlYWQgb2YgYSBjb25zdGFudC4KCShfZGxfc3RyaW5nX2h3Y2FwKTogTmV3IGZ1bmN0aW9uLCBjb252ZXJ0cyBmcm9tIHN0cmluZyB0byBod2NhcAoJZW5jb2RpbmcuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvZGwtcHJvY2luZm8uaAoJKF9ETF9IV0NBUF9DT1VOVCk6IE5ldy4KCShfZGxfcHJvY2luZm8pOiBVc2UgX0RMX0hXQ0FQX0NPVU5UIGluc3RlYWQgb2YgYSBjb25zdGFudC4KCShfZGxfc3RyaW5nX2h3Y2FwKTogTmV3IGZ1bmN0aW9uLCBjb252ZXJ0cyBmcm9tIHN0cmluZyB0byBod2NhcAoJZW5jb2RpbmcuCgoyMDAwLTA1LTA1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCBkbC1sb29rdXBjZmcuaC4KCSogc3lzZGVwcy9pYTY0L0Rpc3Q6IE5ldyBmaWxlLgoKCSogZWxmL2RsLWxvYWQuYyAoX2RsX21hcF9vYmplY3RfZnJvbV9mZCk6IExpdHRsZSBvZiBjb21wdXRhdGlvbiBvZgoJcGFyYW1ldGVyIHRvIG1wcm90ZWN0IGFuZCBmb3IgdmFyaWFibGUgYXNzaWdubWVudHMuCgoyMDAwLTA1LTAzICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9sZHNvZGVmcy5oIChMT09LVVBfVkFMVUVfQUREUkVTUyk6IENoZWNrIHRoZQoJdmFsaWRpdHkgb2YgbWFwIGJlZm9yZSBkZXJlZmVyZW5jaW5nIGl0LgoKCSogZWxmL2RsLXJlbG9jLmMgKFJFU09MVkVfTUFQKTogRGVmaW5lLgoKMjAwMC0wNS0wMiAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBlbGYvZGwtcnVudGltZS5jIChmaXh1cCk6IEFkZCB0aGUgdmFsdWUgcmV0dXJuZWQgaW4gdGhlIHN5bWJvbAoJbG9va3VwIHRvIHRoZSBhcmd1bWVudHMgdG8gZWxmX21hY2hpbmVfZml4dXBfcGx0KCkuCgoJKiBzeXNkZXBzL2lhNjQvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9maXh1cF9wbHQpOiBBZGQgTGlua19tYXAKCW9mIHRoZSBzeW1ib2wgYmVpbmcgcmVzb2x2ZWQgdG8gaW5wdXQgYXJndW1lbnQgbGlzdCBhbmQgbWFrZSB0aGUKCWZ1bmN0aW9uIHJldHVybiB0aGUgcG9pbnRlciB0byB0aGUgcmVsb2MuCgoJKiBzeXNkZXBzL2FscGhhL2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfZml4dXBfcGx0KTogQ2hhbmdlCglyZXR1cm4gdmFsdWllIHRvIGxvb2t1cF90IGFuZCByZXR1cm4gdGhlIHZhbHVlLgoJKiBzeXNkZXBzL2FybS9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX2ZpeHVwX3BsdCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9maXh1cF9wbHQpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfZml4dXBfcGx0KTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbTY4ay9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX2ZpeHVwX3BsdCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9maXh1cF9wbHQpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfZml4dXBfcGx0KTogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL3Bvd2VycGMvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9maXh1cF9wbHQpOiBMaWtld2lzZS4KCU1ha2UgaXQgYW4gaW5saW5lIGZ1bmN0aW9uIHJldHVybmluZyB2YWx1ZSBhZnRlciBjYWxsaW5nCglfX2VsZl9tYWNoaW5lX2ZpeHVwX3BsdCgpLgoKCSogZWxmL2RsLXN5bS5jIChfZGxfdnN5bSk6IFVzZSBETF9TWU1CT0xfQUREUkVTUygpIHRvIG9idGFpbiB0aGUKCXN5bWJvbCBhZGRyZXNzLgoKCSogZWxmL2RsLXN5bWJvbC5jIChfZGxfc3ltYm9sX3ZhbHVlKTogVXNlIExPT0tVUF9WQUxVRV9BRERSRVNTIHRvCglvYnRhaW4gdGhlIHN5bWJvbCBhZGRyZXNzLgoKCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmg6IEFkZCBnZW5lcmljIERMX1NZTUJPTF9BRERSRVNTKCkgbWFjcm8KCWRlcGVuZGluZyBvbiB0aGUgZGVmaW5pdGlvbiBvZiBFTEZfRlVOQ1RJT05fUFRSX0lTX1NQRUNJQUwuCgoJKiBzeXNkZXBzL2lhNjQvZGwtbWFjaGluZS5oOiBBZGQgRExfU1lNQk9MX0FERFJFU1MoKSBtYWNybyBjYWxsaW5nCglfZGxfc3ltYm9sX2FkZHJlc3MoKSAtIHRoaXMgd2F5IERMX1NZTUJPTF9BRERSRVNTKCkgdHVybnMgaW50byBhbgoJaW5saW5lIG9uIG5vbiBpYTY0LgoKMjAwMC0wNC0yOCAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBlbGYvZGwtcnVudGltZS5jIChmaXh1cCk6IFVzZSB0aGUgcG9ydGFibGUgbWFjcm9zIHRvIGdldCB0aGUKCXN5bWJvbCBhZGRyZXNzIG9mIGFuIG9iamVjdC4KCgkqIGVsZi9kbC1ydW50aW1lLmMgKGZpeHVwLXByb2ZpbGUpOiBVc2UgdGhlIHBvcnRhYmxlIG1hY3JvcyB0byBnZXQKCXRoZSBzeW1ib2wgYWRkcmVzcyBvZiBhbiBvYmplY3QuCgoJKiBlbGYvZGwtbGliYy5jIChzdHJ1Y3QgZG9fZGxzeW1fYXJncyk6IENoYW5nZSBsb2FkYmFzZSB0byBhIGxvb2t1cF90LgoJKiBlbGYvZGwtbG9va3VwLmMgKF9kbF9sb29rdXBfc3ltYm9sKTogTGlrZXdpc2UuCgkoX2RsX2xvb2t1cF9zeW1ib2xfc2tpcCk6IExpa2V3aXNlLgoJKF9kbF9sb29rdXBfdmVyc2lvbmVkX3N5bWJvbCk6IExpa2V3aXNlLgoJKF9kbF9sb29rdXBfdmVyc2lvbmVkX3N5bWJvbF9za2lwKTogTGlrZXdpc2UuCgoyMDAwLTA0LTI3ICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIGVsZi9ydGxkLmMgKF9kbF9zdGFydCk6IEdldCB0aGUgZnVuY3Rpb24gcG9pbnRlciByZXR1cm4gYWRkcmVzcwoJdmlhIF9kbF9zdGFydF9hZGRyZXNzIGZvciBhcmNoaXRlY3R1cmVzIHRoYXQgbmVlZCBhIGZ1bmN0aW9uCglwb2ludGVyIGRlc2NyaXB0b3IgcmF0aGVyIHRoYW4ganVzdCBhIHBvaW50ZXIgKGlhNjQpLgoKCSogc3lzZGVwcy9nZW5lcmljL2RsLWxvb2t1cGNmZy5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2RsLWxvb2t1cGNmZy5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2RsLW1hY2hpbmUuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9kbC1zeW1hZGRyLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZGwtZnB0ci5jOiBOZXcgZmlsZS4KCgkqIGVsZi9lbGYuaDogQWRkIElBLTY0IHNwZWNpZmljIGRlZmluaXRpb25zLgoKMjAwMC0wNS0wNCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy9jb25mbmFtZS5oIChfU0MqIGVudW0pOiBBdm9pZCBjb21tYSBhdCB0aGUKCWVuZCBvZiBlbnVtLgoKMjAwMC0wNS0wNCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBpY29udi9nY29udi5oIChfX2djb252X3QpOiBBZGQgX19leHRlbnNpb25fXyB0byBtYWtlIGdjYyAtcGVkYW50aWMKCWhhcHB5LgoKMjAwMC0wNC0xMSAgR2VvZmYgS2VhdGluZyAgPGdlb2Zma0BjeWdudXMuY29tPgoKCSogc3lzZGVwcy9wb3dlcnBjL2RsLXN0YXJ0LlMgKF9kbF9zdGFydCk6IEFkZCBfZGxfc3RhcnRfdXNlcgoJc3ltYm9sLiAgQ2FsbCBfZGxfaW5pdCByYXRoZXIgdGhhbiB0aGUgb2xkIHdheS4KCjIwMDAtMDUtMDQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZWxmL2RsLW9wZW4uYyAoZGxfb3Blbl93b3JrZXIpOiBVc2UgbF9tYXBfc3RhcnQgYW5kIGxfbWFwX2VuZCB0bwoJdGVzdCBmb3IgcG9pbnRlciBpbiByYW5nZSBvZiBEU08gYWRkcmVzcyBzcGFjZS4KCjIwMDAtMDUtMDQgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIG5zY2QvcHdkY2FjaGUuYyAoYWRkcHdieW5hbWUpOiBJbml0aWFsaXplIG9sZGV1aWQgdG8gc2lsZW5jZSBHQ0MuCgoyMDAwLTA1LTAzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9maW5kbG9jYWxlLmMgKF9ubF9maW5kX2xvY2FsZSk6IEFkZCBuZXcgcGFyYW1ldGVyIHRvCgljYWxscyBvZiBfbmxfbWFrZV9sMTBuZmxpc3QuCgoJKiBsaWJpby9zdGRpby5oOiBNYWtlIGZzZWVrbyBhbmQgZnRlbGxvIHByb3RvdHlwZXMgYXZhaWxhYmxlIGlzCglfX1VTRV9MQVJHRUZJTEUuICBQYXRjaCBieSBQYXVsIEVnZ2VydCA8ZWdnZXJ0QHR3aW5zdW4uY29tPi4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1lbnZpcm9uLmMgKHVuc2V0ZW52KTogRm9sbG93IGNoYW5nZSB0byB0aGUKCXJlYWwgdW5zZXRlbnYgaW1wbGVtZW50YXRpb24gZnJvbSAxOTk5LTA3LTI5IFtQUiBsaWJjLzE3MTRdLgoKMjAwMC0wNS0wMyAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaW50bC9kY2lnZXR0ZXh0LmMgKGRjaWdldHRleHQpOiBEbyB0aGUgZGVmYXVsdGluZyBvZiAnZG9tYWlubmFtZScKCWJlZm9yZSBjYWxsaW5nIHRmaW5kLgoKMjAwMC0wMy0wNSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiByZXNvbHYvcmVzb2x2LmggKHJlc19xdWVyeWRvbWFpbik6IFJlbW92ZSByZWRlZmluaXRpb24gdG8KCV9fcmVzX3F1ZXJ5ZG9tYWluIChyZXBvcnRlZCBieSBPd2VuIFRheWxvciA8b3RheWxvckByZWRoYXQuY29tPikuCgoyMDAwLTA1LTAzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHBvL2dsLnBvOiBVcGRhdGUgZnJvbSB0cmFuc2xhdGlvbiB0ZWFtLgoKCSogbWFudWFsL2ludHJvLnRleGkgKFByb2dyYW0gQmFzaWNzKTogQ2hhbmdlIHNlY3Rpb24gdGl0bGUuCgkqIG1hbnVhbC9wcm9jZXNzLnRleGk6IEZpeCByZWZlcmVuY2UuCgkoRXhlY3V0aW5nIGEgRmlsZSk6IEFkZCByZWZlcmVuY2UgZXhlYyBpbiBvdGhlciBzZWN0aW9uLgoJKiBtYW51YWwvc2lnbmFsLnRleGk6IEZpeCByZWZlcmVuY2UuCgkqIG1hbnVhbC9zdGFydHVwLnRleGk6IERvY3VtZW50IHN5c2NhbGwgZnVuY3Rpb24uCglQYXRjaGVzIGJ5IEJyeWFuIEhlbmRlcnNvbiA8YnJ5YW5oQGdpcmFmZmUtZGF0YS5jb20+LgoKMjAwMC0wNC0yOSAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaW50bC9saWJpbnRsLmggKGJpbmRfdGV4dGRvbWFpbl9jb2Rlc2V0KTogTmV3IGRlY2xhcmF0aW9uLgoJKiBpbnRsL2JpbmR0ZXh0ZG9tLmMgKHNldF9iaW5kaW5nX3ZhbHVlcyk6IE5ldyBmdW5jdGlvbi4KCShiaW5kdGV4dGRvbWFpbik6IENhbGwgaXQuCgkoYmluZF90ZXh0ZG9tYWluX2NvZGVzZXQpOiBOZXcgZnVuY3Rpb24uCgkqIGludGwvZGNpZ2V0dGV4dC5jIChkY2lnZXR0ZXh0KTogUGFzcyBiaW5kaW5nIHRvIF9ubF9maW5kX2RvbWFpbi4KCShmcmVlX21lbSk6IEZyZWUgZWFjaCBiaW5kaW5nJ3MgY29kZXNldC4KCSogaW50bC9nZXR0ZXh0UC5oIChzdHJ1Y3QgYmluZGluZyk6IEFkZCBjb2Rlc2V0IGZpZWxkLgoJKF9ubF9maW5kX2RvbWFpbik6IEFkZCBkb21haW5iaW5kaW5nIGFyZ3VtZW50LgoJKiBpbnRsL2ZpbmRkb21haW4uYyAoX25sX2ZpbmRfZG9tYWluKTogQWRkIGRvbWFpbmJpbmRpbmcgYXJndW1lbnQuCglQYXNzIGl0IHRvIF9ubF9tYWtlX2wxMG5mbGlzdC4KCSogaW50bC9sb2FkaW5mby5oIChzdHJ1Y3QgbG9hZGVkX2wxMG5maWxlKTogQWRkIGRvbWFpbmJpbmRpbmcgZmllbGQuCgkoX25sX21ha2VfbDEwbmZsaXN0KTogQWRkIGRvbWFpbmJpbmRpbmcgYXJndW1lbnQuCgkqIGludGwvbDEwbmZsaXN0LmMgKF9ubF9tYWtlX2wxMG5mbGlzdCk6IEFkZCBkb21haW5iaW5kaW5nIGFyZ3VtZW50LgoJKiBpbnRsL2xvYWRtc2djYXQuYyAoX25sX2xvYWRfZG9tYWluKTogTG9vayBhdCB0aGUgZG9tYWluYmluZGluZydzCgljb2Rlc2V0IHdoZW4gZGV0ZXJtaW5pbmcgb3V0Y2hhcnNldC4gSWYgIV9MSUJDICYmIEhBVkVfSUNPTlYsIGNhbGwKCWxvY2FsZV9jaGFyc2V0KCkuCgkqIG1hbnVhbC9tZXNzYWdlLnRleGk6IE5ldyBub2RlICJDaGFyc2V0IGNvbnZlcnNpb24gaW4gZ2V0dGV4dCIuCgoyMDAwLTA0LTMwICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBjYXRnZXRzL29wZW5fY2F0YWxvZy5jIChfX29wZW5fY2F0YWxvZyk6IFVzZSBfX2J1aWx0aW5fZXhwZWN0IHdoZXJlCglhcHByb3ByaWF0ZS4gIEhhbmRsZSBwb3NzaWJsZSBfX3JlYWQgZXJyb3IuCgoyMDAwLTA0LTI5ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpbnRsL2dldHRleHRQLmggKF9fYnVpbHRpbl9leHBlY3QpOiBEZWZpbmUgYXMgZW1wdHkgaWYgbm90IGEKCWNvbXBpbGVyIGJ1aWx0aW4uCgkqIGludGwvbG9hZGluZm8uaCAoX19idWlsdGluX2V4cGVjdCk6IExpa2V3aXNlLgoJKiBpbnRsL2RjaWdldHRleHQuYyAoZGNpZ2V0dGV4dCwgX25sX2ZpbmRfbXNnKTogVXNlCglfX2J1aWx0aW5fZXhwZWN0IHdoZXJlIGFwcHJvcHJpYXRlLgoJKiBpbnRsL2xvYWRtc2djYXQuYyAoX25sX2xvYWRfZG9tYWluKTogTGlrZXdpc2UuCgkqIGludGwvbG9jYWxlYWxpYXMuYyAoZXh0ZW5kX2FsaWFzX3RhYmxlKTogUmV0dXJuIGFuIGVycm9yIGluZGljYXRvci4KCShyZWFkX2FsaWFzX2ZpbGUpOiBCYWlsIG91dCBpZiBleHRlbmRfYWxpYXNfdGFibGUgZmFpbHMuCgoyMDAwLTA0LTI5ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpbnRsL2xvYWRtc2djYXQuYzogRGVmaW5lIF9HTlVfU09VUkNFIGFzIGVhcmx5IGFzIHBvc3NpYmxlLgoJKiBpbnRsL2xvY2FsZWFsaWFzLmM6IExpa2V3aXNlLgoKMjAwMC0wNS0wMSAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaW50bC9sb2FkbXNnY2F0LmMgKF9ubF9sb2FkX2RvbWFpbik6IEluaXRpYWxpemUgZG9tYWluLT5jb252X3RhYi4KCUluaXRpYWxpemUgZG9tYWluLT5wbHVyYWwgYW5kIGRvbWFpbi0+bnBsdXJhbHMgZXZlbiBpZiB0aGVyZSBpcyBubwoJbnVsbGVudHJ5LgoKMjAwMC0wNS0wMSAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaW50bC9kY2lnZXR0ZXh0LmMgKF9ubF9maW5kX21zZyk6IFRlcm1pbmF0ZSBfX2djb252IGxvb3AgaWYgcmV0dXJuCgl2YWx1ZSBpcyA9PSBfX0dDT05WX09LIG9yID09IF9fR0NPTlZfRU1QVFlfSU5QVVQsIG5vdCAhPSBfX0dDT05WX09LLgoJSW4gY2FzZSBvZiBmYWlsdXJlLCBnb3RvIGNvbnZlcnRlZC4KCjIwMDAtMDUtMDEgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIHdjc21icy93Y3NtYnNsb2FkLmMgKG5vcm1fYWRkX3NsYXNoZXMpOiBNb3ZlIGF3YXkuCgkqIGljb252L2djb252X2ludC5oIChub3JtX2FkZF9zbGFzaGVzKTogTW92ZSB0byBoZXJlLgoJKiBpbnRsL2xvYWRtc2djYXQuYyAoX25sX2xvYWRfZG9tYWluKTogTm9ybWFsaXplIHN0cmluZ3MgcGFzc2VkIHRvCglfX2djb252X29wZW4uCgoyMDAwLTA0LTI5ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpbnRsL2RjaWdldHRleHQuYyAodHJhbnNjbXApOiBDb21wYXJlIHRoZSBkb21haW5zIGFzIHdlbGwuCgkoZGNpZ2V0dGV4dCk6IENhbGwgc3RybGVuIChtc2dpZDEpIGFmdGVyIHRlc3RpbmcgbXNnaWQxIGFnYWluc3QgTlVMTCwKCW5vdCBiZWZvcmUuCgkqIGludGwvbG9hZG1zZ2NhdC5jIChfbmxfbG9hZF9kb21haW4pOiBEZWFsIHdpdGggRUlOVFIuIEluY2x1ZGUKCTxlcnJuby5oPi4KCjIwMDAtMDUtMDMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3RyaW5nL2JpdHMvc3RyaW5nMi5oOiBEZWNsYXJlIF9fc3RyZHVwIGFuZCBfX3N0cm5kdXAgaWYgbmVjZXNzYXJ5LgoJUmVwb3J0ZWQgYnkgQnJ1bm8gSGFpYmxlLgoKMjAwMC0wNC0yOSAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogbWFudWFsL2FyaXRoLnRleGk6IFJlbW92ZSBAdyBmcm9tIEBpdGVtaXplLgoKMjAwMC0wNS0wMiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogY29uZm9ybS9kYXRhL3Rhci5oLWRhdGE6IEFkZCBzb21lIGNoZWNrcyBmb3Igc3BlY2lmaWMgdmFsdWVzLgoKCSogY29uZm9ybS9kYXRhL3N0ZGxpYi5oLWRhdGE6IEFkZCBjaGVja3MgZm9yIHZhbHVlIG9mIEVYSVRfU1VDQ0VTUwoJYW5kIFJBTkRfTUFYLgoKCSogY29uZm9ybS9kYXRhL3N0ZGlvLmgtZGF0YTogQWRkIGNoZWNrcyBmb3IgdmFsdWUgb2YgVE1QX01BWCBhbmQKCUZPUEVOX01BWC4KCgkqIGNvbmZvcm0vZGF0YS9uZXRpbmV0L2luLmgtZGF0YTogQWRkIGV4YWN0IGNoZWNrcyBmb3IgdGhlIHZhbHVlcwoJZm8gSU5FVF9BRERSU1RSTEVOIGFuZCBJTkVUNl9BRERSU1RSTEVOLgoKCSogY29uZm9ybS9kYXRhL2Zsb2F0LmgtZGF0YTogQWRkIHNvbWUgbWluaW1hbCB2YWx1ZXMuCgoJKiBjb25mb3JtL2NvbmZvcm10ZXN0LnBsOiBUZXN0IGZvciBtYWNyb3Mgd2l0aCBzdHJpbmcgY29uc3RhbnRzLAoJY2hlY2sgZm9yIG1pbmltdW0gYW5kIG1heGltdW0gdmFsdWVzLgoJQWRkIGxpbWl0cy5oIHRvIGhlYWRlcnMuCgoJKiBjb25mb3JtL2RhdGEvY3Bpby5oLWRhdGE6IFRlc3QgZm9yIHZhbHVlIG9mIE1BR0lDLgoKCSogY29uZm9ybS9kYXRhL2xpbWl0cy5oLWRhdGE6IE5ldyBmaWxlLgoKMjAwMC0wNC0zMCAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogbWF0aC9NYWtlZmlsZSAoaGVhZGVycyk6IEFkZCBiaXRzL2ZlbnZpbmxpbmUuaC4KCjIwMDAtMDUtMDEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2xpbnV4L2xpbnV4LWRpcmVudC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2xpbnV4L2RpcmVudGNvbnYuYzogTmV3IGZpbGUuCgoJKiBwb3NpeC9WZXJzaW9uczogQ2hhbmdlIHBvc2l4X3NwYXduYXR0cl9nZXRkZWZhdWx0IGFuZAoJcG9zaXhfc3Bhd25hdHRyX3NldGRlZmF1bHQgdG8gcG9zaXhfc3Bhd25hdHRyX2dldHNpZ2RlZmF1bHQKCWFuZCBwb3NpeF9zcGF3bmF0dHJfc2V0c2lnZGVmYXVsdCByZXNwZWN0aXZlbHkuCgkqIHBvc2l4L3NwYXduLmg6IExpa2V3aXNlLgoJKiBwb3NpeC9zcGF3bmF0dHJfZ2V0ZGVmYXVsdC5oOiBMaWtld2lzZS4KCSogcG9zaXgvc3Bhd25hdHRyX3NldGRlZmF1bHQuaDogTGlrZXdpc2UuCgkqIGNvbmZvcm0vZGF0YS9zcGF3bi5oLWRhdGE6IExpa2V3aXNlLgoKMjAwMC0wNS0wMSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbnNjZC9uc2NkLmM6IEluY2x1ZGUgPGdycC5oPiBmb3Igc2V0Z3JvdXBzIHByb3RvdHlwZS4KCjIwMDAtMDQtMzAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWFudWFsL3N5c2luZm8udGV4aTogRG9jdW1lbnQgZ2V0ZG9tYWlubmFtZSwgc2V0ZG9tYWlubmFtZQoJYW5kIHN5c2N0bC4KCSogbWFudWFsL3N0cmluZy50ZXhpOiBGaXggdHlwby4KCSogbWFudWFsL3Rlcm1pbmFsLnRleGk6IERvY3VtZW50IGd0dHkgYW5kIHN0dHkuCglQYXRjaCBieSBCcnlhbiBIZW5kZXJzb24gPGJyeWFuaEBnaXJhZmZlLWRhdGEuY29tPi4KCjIwMDAtMDQtMzAgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHBvc2l4L2JpdHMvcG9zaXgxX2xpbS5oIChfUE9TSVhfUEFUSF9NQVgpOiBJbmNyZWFzZSB0byAyNTYgaW4KCWFjY29yZGFuY2Ugd2l0aCBBdXN0aW4gRHJhZnQuCgoyMDAwLTA0LTMwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGNhdGdldHMvZ2VuY2F0LmMgKHJlYWRfaW5wdXRfZmlsZSk6IFVzZSBpc2JsYW5rIGFuZCBub3QgaXNzcGFjZQoJdG8gcmVjb2duaXplIHNlY29uZCBjaGFyYWN0ZXIgaW4gY29tbWVudCBsaW5lLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWZfaW5kZXguYyAoaWZfbmFtZWluZGV4KTogU2V0IGVycm5vIHRvCglFTk9CVUZTIGlmIHdlIGFyZSBvdXQgb2YgbWVtb3J5LgoKCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvZmNudGwuaCAoRl9TRVRPV04sIEZfR0VUT1dOKTogTWFrZQoJYXZhaWxhYmxlIGlmIF9fVVNFX1hPUEVOMksuCgkqIHN5c2RlcHMvbWFjaC9odXJkL2JpdHMvZmNudGwuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9jb21tb24vYml0cy9mY250bC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvYml0cy9mY250bC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9iaXRzL2ZjbnRsLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2JpdHMvZmNudGwuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL2JpdHMvZmNudGwuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9iaXRzL2ZjbnRsLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL2ZjbnRsLmg6IExpa2V3aXNlLgoKMjAwMC0wNC0yOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udi9pY29udl9wcm9nLmMgKG1haW4pOiBIYW5kbGUgaW5wdXQgZmlsZSBuYW1lICItIiBjb3JyZWN0bHkuCglSZWNvZ25pemUgb3B0aW9uIC1zLCAtYywgYW5kIC1sLgoKMjAwMC0wNC0yMCAgVGhvcnN0ZW4gS3VrdWsgIDxrdWt1a0BzdXNlLmRlPgoKCSogbnNjZC9uc2NkLmM6IFN0YXJ0IG5ldyBzZXNzaW9uIGZvciBuc2NkLCBkcm9wIHByaXZpbGVncwoJdG8gY29uZmlndXJlZCB1c2VyIGlmIHJlcXVlc3RlZCBhbmQgbm8gLVMgcGFyYW1ldGVyIGFyZSB1c2VkLgoJKiBuc2NkL25zY2QuY29uZjogQWRkIG5ldyBvcHRpb24gInNlcnZlci11c2VyIi4KCSogbnNjZC9uc2NkX2NvbmYuYzogQWRkIHN1cHBvcnQgZm9yIG5ldyAic2VydmVyLXVzZXIiIG9wdGlvbi4KCSogbnNjZC9uc2NkLmg6IEFkZCBkZWNsYXJhdGlvbiBmb3Igc2VydmVyX3VzZXIgdmFyaWFibGUuCglCYXNlZCBvbiBwYXRjaCBieSBDaHJpcyBXaW5nIDx3aW5nY0Blbmdpbi51bWljaC5lZHU+CgoyMDAwLTA0LTI5ICBNYXJrIEtldHRlbmlzICA8a2V0dGVuaXNAZ251Lm9yZz4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc2lnYWN0aW9uLmM6IEFkZCBjb21tZW50IGV4cGxhaW5pbmcKCXRoYXQgY2hhbmdpbmcgdGhlIF9fcmVzdG9yZSBhbmQgX19yZXN0b3JlX3J0IHNpZ25hbCByZXR1cm4gY29kZQoJd2lsbCBicmVhayBHREIuCgoyMDAwLTA0LTI5ICBNYXJrIEtldHRlbmlzICA8a2V0dGVuaXNAZ251Lm9yZz4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc3lzL3Vjb250ZXh0Lmg6IERvIG5vdCBpbmNsdWRlCgk8c3lzL3VzZXIuaD4uCgoyMDAwLTA0LTI5ICBNYXJrIEtldHRlbmlzICA8a2V0dGVuaXNAZ251Lm9yZz4KCgkqIGNvbmZvcm0vZGF0YS91Y29udGV4dC5oLWRhdGE6IEFsbG93IHNzXyogaW5zdGVhZCBvZiBTU18qLgoKMjAwMC0wNC0yOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBjb25mb3JtL2NvbmZvcm10ZXN0LnBsIChAaGVhZGVycyk6IEFkZCBzeXMvdXRzbmFtZS5oLCBzeXMvdW4uaCwKCXN5cy9zb2NrZXQuaCwgc3Bhd24uaCwgbmV0aW5ldC90Y3AuaCwgbmV0aW5ldC9pbi5oLCBuZXQvaWYuaCwgYW5kCglhcnBhL2luZXQuaC4KCSogY29uZm9ybS9kYXRhL2ZjbnRsLmgtZGF0YTogQWRkIEZfR0VUT1dOLCBGX1NFVE9XTiwKCVNFRUtfU0VULCBTRUVLX0NVUiwgU0VFS19FTkQsIFNfSUZNVCwgU19JRkJMSywgU19JRkNIUiwgU19JRklGTywKCVNfSUZSRUcsIFNfSUZESVIsIFNfSUZMTkssIFNfSUZTT0NLLCBTX0lSV1hVLCBTX0lSVVNSIFNfSVdVU1IsCglTX0lYVVNSLCBTX0lSV1hHLCBTX0lSR1JQLCBTX0lXR1JQLCBTX0lYR1JQLCBTX0lSV1hPLCBTX0lST1RILAoJU19JV09USCwgU19JWE9USCwgU19JU1VJRCwgU19JU0dJRCwgU19JU1ZUWCwgUE9TSVhfRkFEVl9OT1JNQUwsCglQT1NJWF9GQURWX1NFUVVFTlRJQUwsIFBPU0lYX0ZBRFZfUkFORE9NLCBQT1NJWF9GQURWX1dJTExORUVELAoJUE9TSVhfRkFEVl9ET05UTkVFRCwgUE9TSVhfRkFEVl9OT1JFVVNFLCBwb3NpeF9mYWR2aXNlLAoJcG9zaXhfZmFsbG9jYXRlLCBhbmQgcG9zaXhfbWFkdmlzZS4KCSogY29uZm9ybS9kYXRhL25ldGRiLmgtZGF0YTogTmV3IGZpbGUuCgkqIGNvbmZvcm0vZGF0YS9wdGhyZWFkLmgtZGF0YTogQWRkIHB0aHJlYWRfYmFycmllcl90LAoJcHRocmVhZF9iYXJyaWVyYXR0cl90LCBwdGhyZWFkX2JhcnJpZXJfZGVzdHJveSwKCXB0aHJlYWRfYmFycmllcl9pbml0LCBwdGhyZWFkX2JhcnJpZXJfd2FpdCwKCXB0aHJlYWRfYmFycmllcmF0dHJfZGVzdHJveSwgcHRocmVhZF9iYXJyaWVyYXR0cl9nZXRwc2hhcmVkLAoJcHRocmVhZF9iYXJyaWVyYXR0cl9pbml0LCBwdGhyZWFkX2JhcnJpZXJhdHRyX3NldHBzaGFyZWQsCglwdGhyZWFkX2NvbmRhdHRyX2dldGNsb2NrLCBwdGhyZWFkX2NvbmRhdHRyX3NldGNsb2NrLAoJcHRocmVhZF9nZXRjcHVjbG9ja2lkLCBwdGhyZWFkX211dGV4X3RpbWVkbG9jaywKCXB0aHJlYWRfcndsb2NrX3RpbWVkcmRsb2NrLCBwdGhyZWFkX3J3bG9ja190aW1lZHdybG9jaywKCXB0aHJlYWRfc2lnbWFzaywgcHRocmVhZF9zcGluX2Rlc3Ryb3ksIHB0aHJlYWRfc3Bpbl9pbml0LAoJcHRocmVhZF9zcGluX2xvY2ssIHB0aHJlYWRfc3Bpbl90cnlsb2NrLCBhbmQgcHRocmVhZF9zcGluX3VubG9jay4KCSogY29uZm9ybS9kYXRhL3NjaGVkLmgtZGF0YTogQWRkIHNjaGVkX3NzX2xvd19wcmlvcml0eSwKCXNjaGVkX3NzX3JlcGxfcGVyaW9kLCBzY2hlZF9zc19pbml0X2J1ZGdldCwgc2NoZWRfc3NfbWF4X3JlcGwsIGFuZAoJU0NIRURfU1BPUkFESUMuCgkqIGNvbmZvcm0vZGF0YS9zZW1hcGhvcmUuaC1kYXRhOiBBZGQgc2VtX3RpbWVkd2FpdC4KCSogY29uZm9ybS9kYXRhL3NpZ25hbC5oLWRhdGE6IEFkZCBTSUdJTy4KCSogY29uZm9ybS9kYXRhL3NwYXduLmgtZGF0YTogTmV3IGZpbGUuCgkqIGNvbmZvcm0vZGF0YS9zdGRsaWIuaC1kYXRhOiBBZGQgcG9zaXhfbWVtYWxpZ24sIHNldGVudiwgYW5kIHVuc2V0ZW52LgoJKiBjb25mb3JtL2RhdGEvdGltZS5oLWRhdGE6IEFkZCBDTE9DS19QUk9DRVNTX0NQVVRJTUVfSUQsCglDTE9DS19USFJFQURfQ1BVVElNRV9JRCwgY2xvY2tfZ2V0Y3B1Y2xvY2tpZCwgYW5kIGNsb2NrX25hbm9zbGVlcC4KCUZpeCB0eXBvIGluIGdtdGltZV9yIGRlZmluaXRpb24uCgkqIGNvbmZvcm0vZGF0YS91bmlzdGQuaC1kYXRhOiBBZGQgX1BPU0lYX0FEVklTT1JZX0lORk8sCglfUE9TSVhfQVNZTkNIUk9OT1VTX0lPLCBfUE9TSVhfQkFSUklFUlMsIF9QT1NJWF9NT05PVE9OSUNfQ0xPQ0ssCglfUE9TSVhfUkVBREVSX1dSSVRFUl9MT0NLUywgX1BPU0lYX1NIRUxMLCBfUE9TSVhfU1BBV04sCglfUE9TSVhfU1BJTl9MT0NLUywgX1BPU0lYX1NQT1JBRElDX1NFUlZFUiwgX1BPU0lYX1RIUkVBRF9DUFVUSU1FLAoJX1BPU0lYX1RZUEVEX01FTU9SWV9PQkpFQ1RTLCBfUE9TSVhfVEhSRUFEX1NQT1JBRElDX1NFUlZFUiwKCV9YT1BFTl9TVFJFQU1TLCBfUE9TSVhfVElNRU9VVFMsIF9QT1NJWDJfUEJTLAoJX1BPU0lYMl9QQlNfQUNDT1VOVElORywgX1BPU0lYMl9QQlNfQ0hFQ0tQT0lOVCwKCV9QT1NJWDJfUEJTX0xPQ0FURSwgX1BPU0lYMl9QQlNfTUVTU0FHRSwgX1BPU0lYMl9QQlNfVFJBQ0ssCglfU0NfMl9QQlMsIF9TQ18yX1BCU19BQ0NPVU5USU5HLCBfU0NfMl9QQlNfQ0hFQ0tQT0lOVCwKCV9TQ18yX1BCU19MT0NBVEUsIF9TQ18yX1BCU19NRVNTQUdFLCBfU0NfMl9QQlNfVFJBQ0ssCglfU0NfQkFSUklFUlMsIF9TQ19CQVNFLCBfU0NfQ0xPQ0tfU0VMRUNUSU9OLCBfU0NfREVWSUNFX0lPLAoJX1NDX0RFVklDRV9TUEVDSUZJQywgX1NDX0RFVklDRV9TUEVDSUZJQ19SLCBfU0NfRkRfTUdNVCwgX1NDX0ZJRk8sCglfU0NfRklMRV9BVFRSSUJVVEVTLCBfU0NfRklMRV9MT0NLSU5HLCBfU0NfRklMRV9TWVNURU0sCglfU0NfTUVNT1JZX1BST1RFQ1RJT04sIF9TQ19NRVNTQUdFX1BBU1NJTkcsIF9TQ19NT05PVE9OSUNfQ0xPQ0ssCglfU0NfTUVTU0FHRV9QQVNTSU5HLCBfU0NfTU9OT1RPTklDX0NMT0NLLCBfU0NfTVVMVElQTEVfUFJPQ0VTUywKCV9TQ19ORVRXT1JLSU5HLCBfU0NfUElQRSwgX1NDX1JFQURFUl9XUklURVJfTE9DS1MsIF9TQ19SRUdFWFAsCglfU0NfU0hFTEwsIF9TQ19TSUdOQUxTLCBfU0NfU0lOR0xFX1BST0NFU1MsIF9TQ19TUElOX0xPQ0tTLAoJX1NDX1RZUEVEX01FTU9SWV9PQkpFQ1RTLCBfU0NfVVNFUl9HUk9VUFMsIF9TQ19VU0VSX0dST1VQU19SLAoJX1NDX1NUUkVBTVMsIF9QQ19SRUNfSU5DUl9YRkVSX1NJWkUsIF9QQ19SRUNfTUFYX1hGRVJfU0laRSwKCV9QQ19SRUNfTUlOX1hGRVJfU0laRSwgX1BDX1JFQ19YRkVSX0FMSUdOLCBzZXRlZ2lkLCBzZXRldWlkLiAgRml4Cgl0eXBvIGluIG9mZl90IGRlZmluaXRpb24uCgkqIGNvbmZvcm0vZGF0YS9uZXQvaWYuaC1kYXRhOiBOZXcgZmlsZS4KCSogY29uZm9ybS9kYXRhL25ldGluZXQvaW4uaC1kYXRhOiBOZXcgZmlsZS4KCSogY29uZm9ybS9kYXRhL25ldGluZXQvdGNwLmgtZGF0YTogTmV3IGZpbGUuCgkqIGNvbmZvcm0vZGF0YS9zeXMvbW1hbi5oLWRhdGE6IEFkZCBQT1NJWF9NQURWX05PUk1BTCwKCVBPU0lYX01BRFZfU0VRVUVOVElBTCwgUE9TSVhfTUFEVl9SQU5ET00sIFBPU0lYX01BRFZfV0lMTE5FRUQsCglQT1NJWF9NQURWX0RPTlRORUVELCBQT1NJWF9UWVBFRF9NRU1fQUxMT0NBVEUsCglQT1NJWF9UWVBFRF9NRU1fQUxMT0NBVEVfQ09OVElHLCBQT1NJWF9UWVBFRF9NRU1fTUFQX0FMTE9DQVRBQkxFLAoJcG9zaXhfdHlwZWRtZW1faW5mbywgcG9zaXhfbWVtX29mZnNldCwgcG9zaXhfdHlwZWRfbWVtX2dldF9pbmZvLAoJYW5kIHBvc2l4X3R5cGVkX21lbV9vcGVuLgoJKiBjb25mb3JtL2RhdGEvc3lzL3NvY2tldC5oLWRhdGE6IE5ldyBmaWxlLgoJKiBjb25mb3JtL2RhdGEvc3lzL3N0YXQuaC1kYXRhOiBBZGQgU19UWVBFSVNUTU8gYW5kIGlzZmR0eXBlLgoJKiBjb25mb3JtL2RhdGEvc3lzL3R5cGVzLmgtZGF0YTogQWRkIHB0aHJlYWRfYmFycmllcl90LAoJcHRocmVhZF9iYXJyaWVyYXR0cl90LCBhbmQgcHRocmVhZF9zcGlubG9ja190LgoJKiBjb25mb3JtL2RhdGEvc3lzL3VuLmgtZGF0YTogTmV3IGZpbGUuCgkqIGNvbmZvcm0vZGF0YS9zeXMvdXRzbmFtZS5oLWRhdGE6IE5ldyBmaWxlLgoKCSogaW5jbHVkZS9uZXRkYi5oIChfX2dldGhvc3RieWFkZHJfcik6IEZpeCB0eXBlcyBvZiBmaXJzdCBhbmQgc2Vjb25kCglwYXJhbWV0ZXIuCgkqIGluZXQvZ2V0aHN0YnlhZC5jIChnZXRob3N0YnluYW1lKTogTGlrZXdpc2UuCgkqIGluZXQvZ2V0aHN0YnlhZF90LmMgKGdldGhvc3RieW5hbWVfcik6IExpa2V3aXNlLgoJKiBpbmV0L2dldGlwbm9kZWJ5YWQuYyAoZ2V0aXBub2RlYnlhZCk6IExpa2V3aXNlLgoJKiBuaXMvbnNzX25pcy9uaXMtaG9zdHMuYyAoX25zc19uaXNfZ2V0aG9zdGJ5YWRkcl9yKTogTGlrZXdpc2UuCgkqIG5pcy9uc3NfbmlzcGx1cy9uaXNwbHVzLWhvc3RzLmMgKF9uc3NfbmlzcGx1c19nZXRob3N0YnlhZGRyX3IpOgoJTGlrZXdpc2UuCgkqIG5zY2QvZ2V0aHN0YnlhZF9yLmMgKGdldGhvc3RieWFkZHJfcik6IExpa2V3aXNlLgoJKiBuc2NkL25zY2RfZ2V0aHN0X3IuYyAoX19uc2NkX2dldGhvc3RieWFkZHJfcik6IExpa2V3aXNlLgoJKiBuc2NkL25zY2RfcHJvdG8uaCAoX19uc2NkX2dldGhvc3RieWFkZHJfcik6IExpa2V3aXNlLgoJKiBuc3MvbnNzX2ZpbGVzL2ZpbGVzLWhvc3RzLmMgKF9uc3NfZmlsZXNfZ2V0aG9zdGJ5YWRkcl9yKTogTGlrZXdpc2UuCgkqIHJlc29sdi9nZXRobmFtYWRkci5jIChnZXRob3N0YnluYW1lKTogTGlrZXdpc2UuCgkqIHJlc29sdi9uZXRkYi5oIChzdHJ1Y3QgaG9zdGVudCk6IEZpeCB0eXBlIG9mIGhfbGVuZ3RoIG1lbWJlci4KCShnZXRob3N0YnlhZGRyLCBnZXRpcG5vZGVieWFkZHIsIGdldGhvc3RieWFkZHJfcik6IEZpeCB0eXBlcyBvZiBmaXJzdAoJYW5kIHNlY29uZCBwYXJhbWV0ZXIuCgoJKiB3Y3NtYnMvbWJydG93Yy5jIChfX21icnRvd2MpOiBTZXQgZW5kIG9mIGJ1ZmZlciBjb3JyZWN0bHkgaWYgcwoJPT0gTlVMTC4KCjIwMDAtMDQtMjkgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGNvbmZvcm0vZGF0YS9hcnBhL2luZXQuaC1kYXRhOiBOZXcgZmlsZS4KCjIwMDAtMDQtMjggIEdlb2ZmIENsYXJlIDxnd2NAdW5pc29mdC5jb20+CgoJKiBpby9mdHcuYzogU2V0IGVycm5vIHRvIEVOT0VOVCAoaW5zdGVhZCBvZiBFTk9URElSKSB3aGVuIHRoZQoJcGF0aCBwYXNzZWQgdG8gZnR3KCkgb3IgbmZ0dygpIGlzIGFuIGVtcHR5IHN0cmluZy4KCUNsb3NlcyBQUiBsaWJjLzE3MTAuCgoyMDAwLTA0LTI3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZWRhdGEvTWFrZWZpbGUgKHRlc3Qtc3Jjcyk6IEFkZCB0c3QtbWJzd2NzNCBhbmQgdHN0LW1ic3djczUuCgkoZG8tdHN0LW1ic3djcyk6IEFkZCB0c3QtbWJzd2NzNCBhbmQgdHN0LW1ic3djczUgdG8gZGVwZW5kZW5jaWVzLgoJKiBsb2NhbGVkYXRhL3RzdC1tYnN3Y3Muc2g6IFJ1biB0c3QtbWJzd2NzNCBhbmQgdHN0LW1ic3djczUuCgkqIGxvY2FsZWRhdGEvdHN0LW1ic3djczQuYzogTmV3IGZpbGUuCgkqIGxvY2FsZWRhdGEvdHN0LW1ic3djczUuYzogTmV3IGZpbGUuCgoJKiB3Y3NtYnMvd2NydG9tYi5jIChfX3djcnRvbWIpOiBTZXQgZW5kIG9mIGJ1ZmZlciBjb3JyZWN0bHkgaWYgcwoJPT0gTlVMTC4gIExpdHRsZSBvcHRpbWl6YXRpb24uCgoJKiBlbGYvZGwtaW5pdC5jIChfZGxfaW5pdCk6IENvcnJlY3QgdHlwbyAoRFRfUFJFSU5JVF9BUlJBWSBub3QKCURUX1BSRUlOSVRfQVJSQVlTWikuCglSZXBvcnRlZCBieSBKZXMgU29yZW5zZW4gPEplcy5Tb3JlbnNlbkBjZXJuLmNoPi4KCgkqIGhlc2lvZC9uc3NfaGVzaW9kL2hlc2lvZC1ncnAuYyAoX25zc19oZXNpb2RfaW5pdGdyb3Vwcyk6IEhhbmRsZQoJb3ZlcmZsb3dzIGluIGNvbnZlcnNpb24gZnJvbSBBU0NJSS4KCjIwMDAtMDQtMjYgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogTWFrZWNvbmZpZyAoZnVsbF9jb25maWdfc3lzZGlycyk6IFJlbmFtZWQgZnJvbSBmdWxsLWNvbmZpZy1zeXNkaXJzLgoJKiBNYWtlcnVsZXMgKGZ1bGxfY29uZmlnX3N5c2RpcnMpOiBMaWtld2lzZS4KCSogTWFrZVRBR1MgKGZ1bGxfY29uZmlnX3N5c2RpcnMpOiBMaWtld2lzZS4KCjIwMDAtMDQtMjYgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogLmN2c2lnbm9yZTogUmVtb3ZlIGxpbnV4dGhyZWFkcy4KCSogcG8vLmN2c2lnbm9yZTogUmVtb3ZlICoucG90LgoJKiBwb3NpeC9nbG9iLy5jdnNpZ25vcmU6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9ic2Qvb3NmLy5jdnNpZ25vcmU6IFJlbW92ZWQuCgoyMDAwLTA0LTI1ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBjb25mb3JtL01ha2VmaWxlIChkaXN0cmlidXRlKTogQWxzbyBkaXN0cmlidXRlIGNvbnRlbnRzIG9mCglzdWJkaXJlY3Rvcmllcy4KCgkqIE1ha2VydWxlcyAobm9fZGVwcyk6IFJlbW92ZSBhYmktdmVyc2lvbnMuaC4KCgkqIG5pcy9uaXNfcHJpbnRfZ3JvdXBfZW50cnkuYzogSW5jbHVkZSBhbGxvY2EuaCBmb3IgYWxsb2NhIHByb3RvdHlwZS4KCjIwMDAtMDQtMjUgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L2VsZi9EaXN0OiBSZW1vdmUuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9lbGYvY3J0YmVnaW4uUzogUmVtb3ZlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvZWxmL2NydGJlZ2luUy5TOiBSZW1vdmUuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9lbGYvY3J0ZW5kLlM6IFJlbW92ZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L2VsZi9jcnRlbmRTLlM6IFJlbW92ZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L2VsZi9NYWtlZmlsZTogRG9uJ3QgYnVpbGQgY3J0YmVnaW4vY3J0ZW5kCglvYmplY3RzLgoKMjAwMC0wNC0yNSAgVGhvcnN0ZW4gS3VrdWsgIDxrdWt1a0BzdXNlLmRlPgoKCSogbnNjZC9ncnBjYWNoZS5jOiBGaXggZ3JfbmFtZSBwb2ludGVyIFtQUi8xNzAyXS4KCjIwMDAtMDQtMjMgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGludGwvZGNpZ2V0dGV4dC5jOiBEZWZpbmUgX0dOVV9TT1VSQ0UgYXMgZWFybHkgYXMgcG9zc2libGUuCgkqIGludGwvbDEwbmZsaXN0LmM6IExpa2V3aXNlLgoKMjAwMC0wNC0yMyAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaW50bC9iaW5kdGV4dGRvbS5jIFshX0xJQkNdOiBEZWZpbmUgX19saWJjX3J3bG9ja19kZWZpbmUsCglfX2xpYmNfcndsb2NrX3dybG9jaywgX19saWJjX3J3bG9ja191bmxvY2sgYXMgZW1wdHkuCgkqIGludGwvdGV4dGRvbWFpbi5jIFshX0xJQkNdOiBMaWtld2lzZS4KCSogaW50bC9kY2lnZXR0ZXh0LmMgWyFfTElCQ106IERlZmluZSBfX2xpYmNfcndsb2NrX2RlZmluZV9pbml0aWFsaXplZCwKCV9fbGliY19yd2xvY2tfcmRsb2NrLCBfX2xpYmNfcndsb2NrX3VubG9jayBhcyBlbXB0eS4KCSogaW50bC9sb2FkbXNnY2F0LmMgKF9ubF9sb2FkX2RvbWFpbikgWyFfTElCQywgIUhBVkVfSUNPTlZdOiBBdm9pZAoJc3ludGF4IGVycm9yLgoKMjAwMC0wNC0yMyAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaW50bC9kY2lnZXR0ZXh0LmMgKF9ubF9maW5kX21zZyk6IERvIHRoZSBwbHVyYWwgdHJlYXRtZW50IGFuZAoJY2hhcmFjdGVyIHNldCBjb252ZXJzaW9uIGFsc28gaW4gdGhlIGNhc2UgdGhlIHRyYW5zbGF0aW9uIHdhcyBmb3VuZAoJYWZ0ZXIgYSBoYXNoIGNvbGxpc2lvbiBvciB0aHJvdWdoIGJpbmFyeSBzZWFyY2guICBTdG9yZSB0aGUgbWF4aW11bQoJaW5kZXggdG9nZXRoZXIgd2l0aCB0aGUgY29udmVydGVkIG1lc3NhZ2UuICBVc2UgaWNvbnYoKSB3aGVuIGF2YWlsYWJsZS4KCUluIGNhc2Ugb2Ygb3V0IG9mIG1lbW9yeSBkdXJpbmcgY29udmVyc2lvbiwgcmV0dXJuIHRoZSB1bmNvbnZlcnRlZAoJdHJhbnNsYXRlZCBzdHJpbmcsIG5vdCBOVUxMLgoKMjAwMC0wNC0yNSAgSmVzIFNvcmVuc2VuICA8SmVzLlNvcmVuc2VuQGNlcm4uY2g+CgoJKiBzaGxpYi12ZXJzaW9uczogUmVuYW1lIGlhNjQgZHluYW1pYyBsaW5rZXIgdG8gbGQtbGludXgtaWE2NC5zby4xCgl0byBhdm9pZCBuYW1lIGNsYXNoZXMgd2l0aCB0aGUgaWEzMiBsaW5rZXIuCgoyMDAwLTA0LTI1ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvYWxwaGEvZGwtbWFjaGluZS5oIChfZGxfc3RhcnRfdXNlcik6IEZpeCB0aGUgX2RsX3NraXBfYXJncwoJaGFuZGxpbmcuCgoyMDAwLTA0LTI3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hbnVhbC9zdHJpbmcudGV4aTogRG9jdW1lbnQgc3RyY2FzZXN0ciwgc3RyY2hybnVsLCBzdHJ0b2ltYXgsCglzdHJ0b3VtYXgsIHN0cmZyeSwgYW5kIG1lbWZyb2IuCgkqIG1hbnVhbC9hcml0aC50ZXhpOiBEb2N1bWVudCB7LHV9aW50Kl90IHR5cGVzLCBhbmQgc3RydG97aSx1fW1heC4KCVBhdGNoIGJ5IEJyeWFuIEhlbmRlcnNvbiA8YnJ5YW5oQGdpcmFmZmUtZGF0YS5jb20+LgoKCSogZWxmL3NvaW5pdC5jIChfX2xpYmNfZ2xvYmFsX2N0b3JzKTogQ2FsbCBfX3B0aHJlYWRfaW5pdGlhbGl6ZV9taW5pbWFsCglpZiB0aGlzIGZ1bmN0aW9uIGlzIGF2YWlsYWJsZS4KCgkqIHN5c2RlcHMvaTM4Ni9pNDg2L2F0b21pY2l0eS5oIChleGNoYW5nZV9hbmRfYWRkKTogVXNlIHVpbnQzMl90IGZvcgoJYWxsIHZhbHVlcy4KCjIwMDAtMDQtMjcgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogbnNzL2dldFhYYnlZWV9yLmM6IEZpeCBhIHR5cG8gaW4gX19vbGRfZ2V0eHhieXl5X3IgdmVyc2lvbmluZy4KCjIwMDAtMDQtMjcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbG9jYWxlZGF0YS9NYWtlZmlsZSAodGVzdC1zcmNzKTsgQWRkIHRzdC1tYnN3Y3MzLgoJQWRkIHJ1bGUgdG8gYnVpbGQgdHN0LW1ic3djczMgYmVmb3JlIHJ1bm5pbmcgdHN0LW1ic3djcy5zaC4KCSogbG9jYWxlZGF0YS90c3QtbWJzd2NzLnNoOiBSdW4gdHN0LW1ic3djczMuCgkqIGxvY2FsZWRhdGEvdHN0LW1ic3djczMuYzogTmV3IGZpbGUuCgoyMDAwLTA0LTI2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHdjc21icy9tYnNucnRvd2NzLmM6IENvcnJlY3RseSBjb21wdXRlIG51bWJlciBvZiBjb252ZXJ0ZWQKCWNoYXJhY3RlcnMuICBEb24ndCBoYW5kbGUgaW5jb21wbGV0ZSBjaGFyYWN0ZXJzIGFzIGVycm9ycy4KCSogd2NzbWJzL21ic3J0b3djcy5jOiBEb24ndCBoYW5kbGUgaW5jb21wbGV0ZSBjaGFyYWN0ZXJzIGFzIGVycm9ycy4KCSogbG9jYWxlZGF0YS9NYWtlZmlsZSAodGVzdC1zcmNzKTogQWRkIHRzdC1tYnN3Y3MyLgoJQWRkIHJ1bGUgdG8gYnVpbGQgdHN0LW1ic3djczIgYmVmb3JlIHJ1bm5pbmcgdHN0LW1ic3djcy5zaC4KCSogbG9jYWxlZGF0YS90c3QtbWJzd2NzLnNoOiBSdW4gdHN0LW1ic3djczIuCgkqIGxvY2FsZWRhdGEvdHN0LW1ic3djczIuYzogTmV3IGZpbGUuCgoJKiBpY29udi9nY29udl9zaW1wbGUuYyAodXRmOF9pbnRlcm5hbF9sb29wKTogQ29ycmVjdGx5IHJlY29uc3RydWN0CglzdG9yZWQgY2hhcmFjdGVyIGluIHN0YXRlIGluIFVOUEFDS19CWVRFUyBtYWNyby4KCSogaWNvbnYvbG9vcC5jIChTSU5HTEUoTE9PUEZDVCkpOiBNYWtlIGl0IGFjdHVhbGx5IHdvcmsuICBDb3JyZWN0Cgl0ZXN0IGZvciBhdmFpbGFibGUgY2hhcmFjdGVycywgaGFuZGxlIHJlc3VsdCBvZiBCT0RZIGNvZGUgY29ycmVjdGx5LgoJKiBsb2NhbGVkYXRhL01ha2VmaWxlICh0ZXN0LXNyY3MpOiBBZGQgdHN0LW1ic3djczEuCgkoZGlzdHJpYnV0ZSk6IEFkZCB0c3QtbWJzd2NzLnNoLgoJQWRkIHJ1bGUgdG8gcnVuIHRzdC1tYnN3Y3Muc2guCgkqIGxvY2FsZWRhdGEvdHN0LW1ic3djcy5zaDogTmV3IGZpbGUuCgkqIGxvY2FsZWRhdGEvdHN0LW1ic3djczEuYzogTmV3IGZpbGUuCgoyMDAwLTA0LTI2ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIG5pcy9uaXNfY2FsbGJhY2suYyAoX19uaXNfY3JlYXRlX2NhbGxiYWNrKTogRG8gZmFpbGVkIG1lbW9yeQoJYWxsb2NhdGlvbiBmaXh1cHMgY2VudHJhbGx5LCBmaXggX19idWlsdGluX2V4cGVjdCBjYWxsLCByZXR1cm4gTlVMTAoJb24gZmFpbHVyZSwgbm90IE5JU19OT01FTU9SWS4KCjIwMDAtMDQtMjcgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGludGwvbmdldHRleHQuYyBbIV9MSUJDXTogRml4IGRlZmluaXRpb24gb2YgTkdFVFRFWFQuCgoJKiBpbnRsL2xvYWRpbmZvLmggKGludGVybmFsX2Z1bmN0aW9uKTogRGVmaW5lIGlmIG5vdCBhbHJlYWR5IGRlZmluZWQuCgoyMDAwLTA0LTI3ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBpbnRsL2xpYmludGwuaDogRml4IHR5cG8sIHJlcG9ydGVkIGJ5IEJydW5vIEhhaWJsZQoJPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4uCgoyMDAwLTA0LTI1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9kbC1wcm9maWxlLmMgKF9kbF9tY291bnQpOiBUcnkgdG8gYmUgdGhyZWFkLXNhZmUgd2hpbGUgbm90CglzZXR0aW5nIHRoZSBzdGF0ZSB0byBHTU9OX1BST0ZfQlVTWS4KCjIwMDAtMDQtMjQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZWxmL2RsLXByb2ZpbGUuYyAoX2RsX3N0YXJ0X3Byb2ZpbGUpOiBkZWZpbmUgYWxsIHZhcmlhYmxlcyB3aGljaAoJZG8gbm90IGhhdmUgdG8gYmUgZ2xvYmFsIGFzIGxvY2FsIHZhcmlhYmxlcy4KCgkqIG5pcy9uaXNfY2FsbGJhY2suYyAoX19uaXNfY3JlYXRlX2NhbGxiYWNrKTogUGFydGlhbGx5IHVuZG8gbGFzdAoJcGF0Y2guICBLZWVwIG5lZWRlZCB0ZXN0cyBmb3IgZmFpbGVkIG1lbW9yeSBhbGxvY2F0aW9uLgoKCSogZWxmL2RsLXJlbG9jLmMgKF9kbF9yZWxvY2F0ZV9vYmplY3QpOiBBZGQgb25lIG1vcmUKCV9fYnVpbHRpbl9leHBlY3Qgc2F5aW5nIHRoYXQgd2UgZG9uJ3Qgbm9ybWFsbHkgZXhwZWN0IHRvIHByb2ZpbGUuCgoJKiBzeXNkZXBzL2kzODYvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9yZWwpOiBBZGQKCV9fYnVpbHRpbl9leHBlY3Qgd2hlcmUgZGVzaXJhYmxlLgoKMjAwMC0wNC0yMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBtYW51YWwvTWFrZWZpbGUgKGNoYXB0ZXJzKTogQWRkIHN5c2xvZy4KCSogbWFudWFsL3N5c2xvZy50ZXhpOiBOZXcgZmlsZS4KCSogbWFudWFsL21hdGgudGV4aTogRml4IHJlZmVyZW5jZXMuCgkqIG1hbnVhbC90ZXJtaW5hbC50ZXhpOiBMaWtld2lzZS4KCVBhdGNoIGJ5IEJyeWFuIEhlbmRlcnNvbiA8YnJ5YW5oQGdpcmFmZmUtZGF0YS5jb20+LgoKMjAwMC0wNC0xOCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9zeXMvd2FpdC5oOiBEZWZpbmUgX19XQUlUX1NUQVRVUyBhbmQgdGhlIGxpa2UgZWl0aGVyIGlmCglzdGRsaWIuaCB3YXMgbm90IGluY2x1ZGVkIG9yIF9fVVNFX1hPUEVOIG5vdCBkZWZpbmVkLgoKMjAwMC0wNC0yMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBuc3MvTWFrZWZpbGUgKGxpYm5zc19kYi1kYnMpOiBSZW1vdmUgc3RyYXkgYmFja3NsYXNoLgoJUGF0Y2ggYnkgWmFjayBXZWluYmVyZyA8emFja0B3b2xlcnkuY3VtYi5vcmc+LgoKMjAwMC0wNC0yMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBtYW51YWwvZXhhbXBsZXMvc3Vib3B0LmMgKG1vdW50X29wdHMpOiBBZGQgbWlzc2luZyB0ZXJtaW5hdGluZwoJZW50cnkuCglSZXBvcnRlZCBieSBNaWNoYWVsIERldXRzY2htYW5uIDxtaWNoYWVsQHRhbGFtYXNjYS5vY2lzLm5ldD4uCgoJKiBhc3NlcnQvYXNzZXJ0LXBlcnIuYzogSW5jbHVkZSA8c3RkbGliLmg+IGZvciBhYm9ydCBwcm90b3R5cGUuCgkqIGxpYmlvL2Z0ZWxsby5jOiBMaWtld2lzZS4KCSogbGliaW8vZnRlbGxvNjQuYzogTGlrZXdpc2UuCgkqIGxpYmlvL2lvZnRlbGwuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9tZW1yY2hyLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvc2l4L2xpYmNfZmF0YWwuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2luaXQtZmlyc3QuYzogTGlrZXdpc2UuCgkqIG1pc2MvZnN0YWIuYzogSW5jbHVkZSA8c3RyaW5nLmg+IGZvciBzdHJjbXAgcHJvdG90eXBlLgoJKiBzeXNkZXBzL2dlbmVyaWMvbGRzb2RlZnMuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc2lnYWN0aW9uLmM6IExpa2V3aXNlLgoJUGF0Y2ggYnkgS3VydCBSb2Vja3ggPFFAcGluZy5iZT4uCgoJKiBuc3MvTWFrZWZpbGUgKGxpYm5zc19kYi1kYnMpOiBSZW5hbWVkIGZyb20gbGlibnNzX2RiLXJvdXRpbmVzLgoJUmVtb3ZlIGRiLW9wZW4uICBDaGFuZ2UgYWxsIHVzZXMuCgkobGlibnNzX2RiLXJvdXRpbmVzKTogRGVmaW5lIGFzICQobGlibnNzX2RiLWRicykgZGItb3Blbi4KCjIwMDAtMDQtMjEgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvbXNnY3RsLmMgKF9fc3lzY2FsbF9tc2djdGwpOiBEZWNsYXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9zZW1jdGwuYyAoX19zeXNjYWxsX3NlbWN0bCk6IERlY2xhcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3NobWN0bC5jIChfX3N5c2NhbGxfc2htY3RsKTogRGVjbGFyZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvZ2V0cnVzYWdlLlM6IFN1cnJvdW5kIHVzZXMgb2YgJGYyOAoJd2l0aCAuc2V0IG5vYXQvYXQgdG8gc2h1dCB1cCB3YXJuaW5ncy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvc3lzY2FsbHMubGlzdCAoX19mc3RhdGZzNjQpOiBBZGQgYWxpYXMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2lvcGVybS5jIChpbml0X2lvc3lzKTogQWxsb3cKCWNvbXBpbGF0aW9uIGlmIF9fTlJfcGNpY29uZmlnX2lvYmFzZSBpcyBub3QgZGVmaW5lZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9zeXNjYWxscy5saXN0IChfX2ZzdGF0ZnM2NCk6CglBZGQgYWxpYXMuCgoyMDAwLTA0LTIxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hbnVhbC9zeXNpbmZvLnRleGk6IEZpeCB0eXBvLgoJKiBtYW51YWwvdGltZS50ZXhpOiBEb2N1bWVudCB0aW1lbG9jYWwsIHRpbWVnbSwgYWRqdGltZXgsIGFuZCBzdGltZS4KCVJlcGxhY2UgImhpZ2ggcHJlY2lzaW9uIHRpbWUiIHdpdGggImhpZ2ggYWNjdXJhY3kgY2xvY2siLgoJRml4IGxhbmd1YWdlLgoJUGF0Y2hlcyBieSBCcnlhbiBIZW5kZXJzb24gPGJyeWFuaEBnaXJhZmZlLWRhdGEuY29tPi4KCgkqIG5pcy9uaXNfZmluZHNlcnYuYyAoX19uaXNfZmluZGZhc3Rlc3QpOiBJbXByb3ZlIG1lbW9yeSBoYW5kbGluZy4KCSogbmlzL25pc19wcmludF9ncm91cF9lbnRyeS5jIChuaXNfcHJpbnRfZ3JvdXBfZW50cnkpOiBVc2UgYWxsb2NhCglpbnN0ZWFkIG9mIG1hbGxvYy4KCSogbmlzL25pc19zdWJyLmM6IFVzZSBfX2J1aWx0aW5fZXhwZWN0LgoJKiBuaXMveXBjbG50LmM6IExpa2V3aXNlLgoJKiBuaXMvbmlzX2dldHNlcnZsaXN0LmM6IExpa2V3aXNlLgoJKiBuaXMvbmlzX2NyZWF0ZWdyb3VwLmM6IExpa2V3aXNlLgoKCSogbmlzL25pc19jYWxsYmFjay5jIChfX25pc19jcmVhdGVfY2FsbGJhY2spOiBDaGVjayByZXN1bHQgb2YKCW1lbW9yeSBhbGxvY2F0aW9uLiAgRml4IG1lbW9yeSBsZWFrcy4gIFVzZSBfX2J1aWx0aW5fZXhwZWN0LgoJKF9fbmlzX2Rlc3Ryb3lfY2FsbGJhY2spOiBGaXggbWVtb3J5IGxlYWtzLgoKMjAwMC0wNC0yMSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9taXBzL2VsZi9zdGFydC5TOiBVc2UgX19QSUNfXyBpbnN0ZWFkIG9mIFBJQy4KCSogc3lzZGVwcy9taXBzL21pcHM2NC9hZGRfbi5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL21pcHM2NC9ic2QtX3NldGptcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL21pcHM2NC9sc2hpZnQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbWlwcy9taXBzNjQvbXVsXzEuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbWlwcy9taXBzNjQvcnNoaWZ0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21pcHMvbWlwczY0L3NldGptcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL21pcHM2NC9zdWJfbi5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL21pcHM2NC9zdWJtdWxfMS5TOiBMaWtld2lzZQoJKiBzeXNkZXBzL3VuaXgvbWlwcy9zeXNkZXAuUzogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL21pcHMvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9nb3RfcmVsKTogUmVtb3ZlIHN0cnRhYgoJYW5kIHVwZGF0ZSBjb21tZW50LiAgVGhlIHN0cnRhYiBmcm9tIF9kbF9yZWxvY2F0ZV9vYmplY3QgY2FuIGJlCgl1c2VkLgoKMjAwMC0wNC0yMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udi9pY29udi5jIChpY29udik6IEFkZCBfX2J1aWx0aW5fZXhwZWN0IHdoZXJlIHVzZWZ1bC4KCSogaWNvbnYvaWNvbnZfY2xvc2UuYyAoaWNvbnZfY2xvc2UpOiBMaWtld2lzZS4KCSogaWNvbnYvaWNvbnZfb3Blbi5jIChpY29udl9vcGVuKTogTGlrZXdpc2UuCgoJKiBncnAvcHV0Z3JlbnQuYyAocHV0Z3JlbnQpOiBVbmxvY2sgc3RlYW0gaWYgZnByaW50ZiBmYWlsZWQuICBBZGQKCV9fYnVpbHRpbl9leHBlY3Qgd2hlcmUgdXNlZnVsLgoKCSogZ3JwL2luaXRncm91cHMuYyAoaW5pdGdyb3Vwcyk6IFRlc3QgZm9yIHJlc3VsdCBvZiBtZW1vcnkKCWFsbG9jYXRpb24gYW5kIHB1bnQgaWYgaXQgZmFpbHMuCgoJKiBkaXJlbnQvc2NhbmRpci5jIChzY2FuZGlyKTogQWRkIF9fYnVpbHRpbl9leHBlY3Qgd2hlcmUgdXNlZnVsLgoJKiBncnAvZmdldGdyZW50LmMgKGZnZXRmcmVudCk6IExpa2V3aXNlLgoJKiBncnAvZmdldGdyZW50X3IuYyAoX19mZ2V0Z3JlbnRfcik6IExpa2V3aXNlLgoKMjAwMC0wNC0yMSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBsaWJpby92YXNwcmludGYuYzogSW5jbHVkZSBzdHJpbmcuaCB0byBnZXQgbWVtY3B5IHByb3RvdHlwZS4KCjIwMDAtMDQtMjAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogd2NzbWJzL3djc3J0b21icy5jIChfX3djc3J0b21icyk6IElmIG91dHB1dCBidWZmZXIgaXMgdG9vIHNtYWxsCglkb24ndCBzZWFyY2ggZm9yIE5VTCBieXRlIHRvIGRlY3JlbWVudCBjb3VudGVyLgoJUmVwb3J0ZWQgYnkgVWxyaWNoLkJyaW5rQHNhcC5jb20uCgoJKiBpY29udi9nY29udl9zaW1wbGUuYzogRGVmaW5lIHNlcGFyYXRlIGZ1bmN0aW9ucyB0byBjb252ZXJ0IGZyb20KCVVDUzQvVUNTNC1MRSB0byB0aGUgaW50ZXJuYWwgZW5jb2RpbmcuCgkqIGljb252L2djb252X2J1aWx0aW4uaDogVXNlIHNlcGFyYXRlIGZ1bmN0aW9ucyB0byBjb252ZXJ0IGZyb20KCVVDUzQvVUNTNC1MRSB0byB0aGUgaW50ZXJuYWwgZW5jb2RpbmcuCgkqIGljb252L2djb252X2ludC5oOiBEZWNsYXJlIF9fZ2NvbnZfdHJhbnNmb3JtX3VjczRfaW50ZXJuYWwgYW5kCglfX2djb252X3RyYW5zZm9ybV91Y3M0bGVfaW50ZXJuYWwuCgoJKiBpY29udi9nY29udl9zaW1wbGUuYyAoaW50ZXJuYWxfdXRmOF9sb29wKTogQ29ycmVjdCBjaGVjayBmb3IKCW91dHB1dCBidWZmZXIgb3ZlcmZsb3cuICBSZXBvcnRlZCBieSBVbHJpY2guQnJpbmtAc2FwLmNvbS4KCgkqIGljb252L3NrZWxldG9uLmM6IEFkZCBzb21lIG1vcmUgX19idWlsdGluX2V4cGVjdC4KCSogaWNvbnYvbG9vcC5jOiBMaWtld2lzZS4KCjIwMDAtMDMtMDggIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIHBvc2l4L3JlZ2V4LmMgKHJlZ2V4X2NvbXBpbGUpOiBDb3JyZWN0bHkgaGFuZGxlICJceyIgd2hlbgoJdGhlIFJFX0lOVEVSVkFMUyBpcyBzZXQgYW5kIHRoZSBSRV9OT19CS19CUkFDRVMgYml0IGlzIG5vdCBzZXQuCgoyMDAwLTA0LTIwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hbnVhbC9zdGRpby50ZXhpOiBHaXZlIGFkdmlzZSBhYm91dCBoYW5kbGluZyBlcnJvciB3aGVuIHVzaW5nCglzdHJlYW0gZnVuY3Rpb25zLgoJUGF0Y2ggYnkgTWljaGFlbCBEZXV0c2NobWFubiA8bWljaGFlbEB0YWxhbWFzY2Eub2Npcy5uZXQ+LgoKMjAwMC0wNC0xOSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY3R5cGUuYyAoY3R5cGVfb3V0cHV0KTogU2V0IHNpemUgb2YgdGhlIGlkeAoJZmllbGQgdG8gbmVsZW1zICogc2l6ZW9mICh1aW50MzJfdCkuCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1hZGRyZXNzLmMgKGFkZHJlc3Nfb3V0cHV0KTogQWxpZ24gd29yZCBmaWVsZHMKCXByb3Blcmx5LgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtbW9uZXRhcnkuYyAobW9uZXRhcnlfb3V0cHV0KTogTGlrZXdpc2UuCglEb24ndCByZXN0YXJ0IGlkeCBwb2ludGVycyB0byBpZHggZW5kIGF0IHRoZSBkdW9faW50X2N1cnJfc3ltYm9sCglmaWVsZC4KCUF2b2lkIGdpdmluZyBhcmJpdHJhcnkgZ2FyYmFnZSBpbiB0aGUgY3JuY3lzdHIgZmllbGQuCglVc2Ugc2l6ZW9mKHVpbnQzMl90KSBpbnN0ZWFkIG9mIDQgZm9yIGxlbiBpbiB1bm9fdmFsaWRfZnJvbSwKCXVub192YWxpZF90bywgZHVvX3ZhbGlkX2Zyb20sIGR1b192YWxpZF90byBhbmQgY29udmVyc2lvbl9yYXRlCglmaWVsZHMuCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1udW1lcmljLmMgKG51bWVyaWNfb3V0cHV0KTogTGlrZXdpc2UuCglEb24ndCByZXN0YXJ0IGlkeCBwb2ludGVycyB0byBpZHggZW5kIGF0IHRoZSBkZWNpbWFsX3BvaW50X3djIGZpZWxkLgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtdGltZS5jICh0aW1lX291dHB1dCk6IHdlZWtfMXN0ZGF5IHNob3VsZCBiZQoJd29yZCwgbm90IGJ5dGUuICBBbGlnbiBpdCBwcm9wZXJseS4KCjIwMDAtMDQtMTkgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIGNzdS9nbW9uLXN0YXJ0LmMgKF9zdGFydCk6IERlY2xhcmVkIGFzICJleHRlcm4gdm9pZCIuCgkoZXRleHQpOiBMaWtld2lzZS4KCjIwMDAtMDQtMTggIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIG1hbnVhbC9pbnN0YWxsLnRleGkgKFJ1bm5pbmcgbWFrZSBpbnN0YWxsKTogRG9uJ3QgbWVudGlvbiB1dG1wZAoJYW55bW9yZS4KCjIwMDAtMDQtMTggIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGxpbnV4dGhyZWFkcy9WZXJzaW9uczogVXNlIGxkIGluc3RlYWQgb2YgbGQuc28uCgoJKiBlbGYvTWFrZWZpbGUgKGxkLW1hcCk6IFVzZSBsZC5tYXAuCgoJKiBWZXJzaW9ucy5kZWY6IFVzZSBsZCBpbnN0ZWFkIG9mIGxkLnNvLgoJKiBlbGYvVmVyc2lvbnM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9WZXJzaW9uczogTGlrZXdpc2UuCgoyMDAwLTA0LTIwICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBlbGYvcnRsZC5jIChwcmludF9zdGF0aXN0aWNzKTogTW92ZSBpZm5kZWYgZnVydGhlciB1cC4KCShfZGxfc3RhcnRfZmluYWwpOiBBZGRlZCBIUF9USU1JTklHX05PTkFWQUlMIHRvIGF2b2lkIHdhcm5pbmdzLgoJKGRsX21haW4pOiBMaWtld2lzZS4KCjIwMDAtMDQtMTggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZ21vbi9nbW9uLmM6IEFkZCB3ZWFrIGFsaWFzIG1vbmNvbnRyb2wgZm9yIF9fbW9uY29udHJvbC4KCSogZ21vbi9WZXJzaW9uczogTW92ZSBtb25jb250cm9sIHRvIEdMSUJDXzIuMi4KCgkqIHBvL2NzLnBvOiBVcGRhdGUgZnJvbSB0cmFuc2xhdGlvbiB0ZWFtLgoKCSogc3lzZGVwcy9nZW5lcmljL3VwZHd0bXAuYzogUmVtb3ZlIGRhZW1vbiBzdXBwb3J0LgoKCSogbG9naW4vTWFrZWZpbGUgKHJvdXRpbmVzKTogUmVtb3ZlIHV0bXBfZGFlbW9uLgoKCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2dldGhvc3RuYW1lLmM6IEZpeCB0eXBlIG9mIGxlbiBhcmd1bWVudC4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2FjY2Vzcy5jOiBEZWZpbmUgQUNDX0lOVk9LRVIuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9nZXRlZ2lkLmM6IERlZmluZSBJRF9FRkZFQ1RJVkUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9nZXRldWlkLmM6IExpa2V3aXNlLgoKCSogZWxmL3J0bGQuYzogRGlzcGxheSBzdGF0aXRpY3Mgb3B0aW9uIGFsc28gaWYgaHAgdGltaW5nIGlzIG5vdAoJYXZhaWxhYmxlLgoKCSogbG9naW4vcHJvZ3JhbXMvY29ubmVjdGlvbi5jOiBSZW1vdmVkLgoJKiBsb2dpbi9wcm9ncmFtcy9kYXRhYmFzZS5jIFJlbW92ZWQuCgkqIGxvZ2luL3Byb2dyYW1zL2Vycm9yLmM6IFJlbW92ZWQuCgkqIGxvZ2luL3Byb2dyYW1zL3JlcXVlc3QuYzogUmVtb3ZlZC4KCSogbG9naW4vcHJvZ3JhbXMveHRtcC5jOiBSZW1vdmVkLgoJKiBsb2dpbi9wcm9ncmFtcy94dG1wLmg6IFJlbW92ZWQuCgkqIGxvZ2luL01ha2VmaWxlOiBSZW1vdmUgcnVsZXMgZm9yIHV0bXBkLgoJKiBsb2dpbi9SRUFETUUudXRtcGQ6IFJlbW92ZWQuCgkqIGxvZ2luL3V0bXBfZGFlbW9uLmM6IFJlbW92ZWQuCgkqIGxvZ2luL2dldHV0ZW50X3IuYzogUmVtb3ZlIHJlZmVyZW5jZXMgdG8gZGFlbW9uIGZ1bmN0aW9ucy4KCSogbG9naW4vdXRtcC1wcml2YXRlLmggKF9fbGliY191dG1wX2RhZW1vbl9mdW5jdGlvbnMpOiBSZW1vdmUKCWRlY2xhcmF0aW9uLgoKMjAwMC0wNC0xOCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc2hsaWItdmVyc2lvbnMgKG1pcHMuKi0uKi1saW51eC4qKTogU3VwcG9ydCBvbmx5IEdMSUJDIDIuMCBhbmQKCTIuMiBmb3IgbGlibnNsLCBsaWJyZXNvbHYsIGxpYnJ0LCBsaWJuc3NfKi4KCgkqIGVsZi9ydGxkLmMgKHByb2Nlc3NfZGxfZGVidWcpOiBSZW1vdmUgb2Jzb2xldGUgY29tbWVudC4KCgkqIHN5c2RlcHMvbWlwcy9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX3JlbCk6IEZpeCByZWxvY2F0aW9uLgoKMjAwMC0wNC0xOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvZ2V0ZXVpZC5jOiBEb24ndCB0cnkgdG8gaW5jbHVkZSA8c3lzL2lkLmg+LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvZ2V0ZWdpZC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3hzdGF0NjQuYzogRGVmaW5lIFNUWF9OT1JNQUwgYW5kIFNUWF82NC4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3hzdGF0LmM6IERlZmluZSBTVFhfTk9STUFMLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvc3lzL3BhcmFtLmg6IERlZmluZSBOR1JPVVBTLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvc2V0cmV1aWQuYzogRGVmaW5lIElEX0VGRkVDVElWRSBhbmQgSURfUkVBTC4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3NldHJlZ2lkLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvc2V0dWlkLmM6IERlZmluZSBJRF9SRUFMLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvc2V0Z2lkLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvc2V0ZXVpZC5jOiBEZWZpbmUgSURfRUZGRUNUSVZFLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvc2V0ZWdpZC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3NicmsuYzogVXBkYXRlIHBhcmFtZXRlciB0eXBlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvbmFub3NsZWVwLmMgKHN0cnVjdCB0aW1lc3RydWNfdCk6IERlZmluZQoJaXQgaGVyZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L21zeW5jLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvbXNnc25kLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvbmV0L2lmLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvcGlwZS5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3BvbGwuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9yZW5hbWUuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9ybWRpci5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3NlbGVjdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3NlbWN0bC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3NlbWdldC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3NlbW9wLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvc2VuZHRvLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvc2V0Z3JvdXBzLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvc2V0cGdpZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3NldHBncnAuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9zZXRwcmlvcml0eS5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3NldHJsaW1pdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3NldHJsaW1pdDY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvc2V0c2lkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvc2V0c29ja29wdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3NobWF0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvc2htY3RsLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvc2htZHQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9zaG1nZXQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9zaWdhbHRzdGFjay5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3NpZ3N0YWNrLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvc29ja2V0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvc29ja2V0cGFpci5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3NwZWVkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvc3ltbGluay5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3N5bmMuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC90Y2dldGF0dHIuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC90Y3NldGF0dHIuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC90aW1lcy5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3VsaW1pdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3VtYXNrLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvdW5saW5rLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvdXN0YXQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC91dGltZXMuYzogTmV3IGZpbGUuCgoyMDAwLTA0LTE4ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBtYW51YWwvc3RhcnR1cC50ZXhpIChFbnZpcm9ubWVudCBBY2Nlc3MpOiBGaXggcHV0ZW52IHByb3RvdHlwZQoJYWNjb3JkaW5nIHRvIHJlY2VudCBjaGFuZ2VzLgoJUmVwb3J0ZWQgYnkgQW5kcmllcyBCcm91d2VyIDxBbmRyaWVzLkJyb3V3ZXJAY3dpLm5sPiwgY2xvc2VzCglQUiBsaWJjLzE2OTIuCgoJKiBlbGYvcnRsZC5jIChwcmludF9zdGF0aXN0aWNzKTogQWRkZWQgSFBfVElNSU5JR19OT05BVkFJTCB3aGVyZQoJbmVlZGVkLgoKMjAwMC0wNC0xOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdHN0LWdldGFkZHJpbmZvLgoJKiBwb3NpeC90c3QtZ2V0YWRkcmluZm8uYzogTmV3IGZpbGUuCgoyMDAwLTA0LTE3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hbnVhbC9zeXNpbmZvLnRleGk6IERvY3VtZW50IHRoYXQgdW1vdW50MiBpcyBub3Qgd2lkZWx5IGF2YWlsYWJsZS4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9ocC10aW1pbmcuaCAoSFBfVElNSU5HX05PTkFWQUlMKTogRGVmaW5lIHRvCglzaWduYWwgdGltaW5nIGlzIG5vdCByZWFsbHkgaW1wbGVtZW50ZWQuCgoyMDAwLTA0LTE3ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBlbGYvcnRsZC5jIChwcm9jZXNzX2RsX2RlYnVnKTogTWVudGlvbiBzdGF0aXN0aWNzIGluIGhlbHAgbWVzc2FnZS4KCjIwMDAtMDQtMTcgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogTWFrZWZpbGUgKGluc3RhbGwpOiBVc2Ugc2xpYmRpciBhbmQgbGliZGlyIGluc3RlYWQgb2YgaW5zdF9zbGliZGlyCglhbmQgaW5zdF9saWJkaXIuCgoyMDAwLTA0LTE3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hbnVhbC9pbnRyby50ZXhpOiBDaGFuZ2UgcmVmZXJlbmNlIGZyb20gU3lzdGVtIEluZm9ybWF0aW9uIHRvCglTeXN0ZW0gTWFuYWdlbWVudC4KCSogbWFudWFsL3VzZXJzLnRleGk6IExpa2V3aXNlLgoJKiBtYW51YWwvY29uZi50ZXhpOiBMaWtld2lzZS4KCSogbWFudWFsL3N5c2luZm8udGV4aTogRG9jdW1lbnQgbW91bnQsIHVtb3VudCwgYW5kIHVtb3VudDIuCglQYXRjaCBieSBCcnlhbiBIZW5kZXJzb24gPGJyeWFuaEBnaXJhZmZlLWRhdGEuY29tPi4KCjIwMDAtMDQtMTcgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9pZWVlNzU0L2xkYmwtMTI4L3ByaW50Zl9mcGhleC5jIChQUklOVF9GUEhFWF9MT05HX0RPVUJMRSk6CglDcmVhdGUgd251bXN0ciBhcyB3ZWxsIGFzIG51bXN0ciB0byBzdXBwb3J0IHdpZGUgY2hhcmFjdGVyIG91dHB1dAoJY29ycmVjdGx5LgoKMjAwMC0wNC0xNSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvTWFrZWZpbGU6IFJlbW92ZSBzeXNkZXAtQ0ZMQUdTCgltb2RpZmljYXRpb24gYW5kIG1vdmUgaXQuLi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9NYWtlZmlsZTogLi4uaGVyZS4KCUFkZCAtbWVsZjY0X3NwYXJjIHN3aXRjaCB0byAkKExEKSBvbiBzcGFyYzY0LWxpbnV4LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzMyL01ha2VmaWxlOiBBZGQgLW1lbGYzMl9zcGFyYwoJc3dpdGNoIHRvICQoTEQpIG9uIHNwYXJjLWxpbnV4LgoKMjAwMC0wNC0xNyAgVGhvcnN0ZW4gS3VrdWsgIDxrdWt1a0BzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9NYWtlZmlsZTogUmVtb3ZlIHNldHJlc2dpZAoJYW5kIHNldHJlc3VpZCBmcm9tIHN5c2RlcF9yb3V0aW5lcy4KCjIwMDAtMDQtMTcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWFudWFsL01ha2VmaWxlIChjaGFwdGVycyk6IEFkZCByZXNvdXJjZS4KCgkqIG1hbnVhbC90aW1lLnRleGk6IE1vdmUgc2VjdGlvbiBvbiByZXNvdXJjZXMgdG8uLi4KCSogbWFudWFsL3Jlc291cmNlLnRleGk6IC4uLmhlcmUuICBOZXcgZmlsZS4gIERvY3VtZW50IHVsaW1pdCwgdmxpbWl0LAoJYW5kIHZ0aW1lcy4KCSogbWFudWFsL3NldGptcC50ZXhpOiBBZGp1c3QgYmFjayByZWZlcmVuY2UuCglQYXRjaCBieSBCcnlhbiBIZW5kZXJzb24gPGJyeWFuaEBnaXJhZmZlLWRhdGEuY29tPi4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9seHN0YXQ2NC5jOiBVbmNvbW1lbnQgU1RYX0xJTksgYW5kIFNUWF82NAoJZGVmaW5pdGlvbi4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2x4c3RhdC5jOiBVbmNvbW1lbnQgU1RYX0xJTksgZGVmaW5pdGlvbi4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2tpbGwuYzogQWRkIGNvcHlyaWdodC4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2dldHVpZC5jOiBEZWZpbmUgSURfUkVBTC4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2dldGdpZC5jOiBEZWZpbmUgSURfUkVBTC4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2V4ZWN2ZS5jOiBBZGQgY29weXJpZ2h0LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvZXVpZGFjY2Vzcy5jOiBBZGQgY29weXJpZ2h0LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvY2xvc2UuYzogQWRkIGNvcHlyaWdodC4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2Jyay5jOiBBZGQgY29weXJpZ2h0LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvYml0cy9lcnJuby5oOiBBZGQgRUFGTk9TVVBQT1JULgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvYWNjZXNzLmM6IEFkZCBjb3B5cmlnaHQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9NYWtlZmlsZTogQWRkIHNvbWUgdGVtcG9yYXJ5IGRlZmluaXRpb25zLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvSW1wbGllczogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9WZXJzaW9uczogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9iaW5kLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvYml0cy9pb2N0bC10eXBlcy5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2JpdHMvaW9jdGxzLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvYml0cy9wb2xsLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvYml0cy90ZXJtaW9zLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvY2hkaXIuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9jaG1vZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2Nocm9vdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2NyZWF0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvZGwtY2xvc2UuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9kbC1vcGVuLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvZGwtc3ltLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvZmNoZGlyLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvZmNobW9kLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvZ2V0Z3JvdXBzLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvZ2V0aG9zdG5hbWUuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9nZXRwcmlvcml0eS5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2dldHJsaW1pdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2dldHJsaW1pdDY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvZ2V0cnVzYWdlLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvbGluay5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L21hZHZpc2UuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9ta2Rpci5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L21rbm9kLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvbXByb3RlY3QuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9tc2djdGwuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9tc2dnZXQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9tc2dyY3YuYzogTmV3IGZpbGUuCgoyMDAwLTA0LTE3ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL21pcHMvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9nb3RfcmVsKTogT3B0aW1pemUgYSBiaXQKCWFzIHN1Z2dlc3RlZCBieSBVbHJpY2ggRHJlcHBlci4KCShfX2RsX3J1bnRpbWVfcmVzb2x2ZSk6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUsIGluaXRpYWxpemUgc3ltCglkaXJlY3RseS4KCShSVExEX1NUQVJUKTogRG9jdW1lbnQgT0ZGU0VUX0dQX0dPVC4KCShPRkZTRVRfR1BfR09UKTogTmV3IG1hZ2ljIHZhbHVlLgoJKGVsZl9taXBzX2dvdF9mcm9tX2dwcmVnKTogVXNlIE9GRlNFVF9HUF9HT1QuCgkoZWxmX21hY2hpbmVfZ290X3JlbCk6IE9ubHkgZGVjbGFyZSBzdHJ0YWIgaWYgbmVlZGVkLgoJKGVsZl9tYWNoaW5lX3JlbHBsdCk6IFJlbW92ZWQsIGl0J3Mgbm90IG5lZWRlZC4KCShfZGxfcnVudGltZV9yZXNvbHZlKTogRml4IFxuIGZvciBhIGNvbW1lbnQsIHNhZmUgZ3AgYW5kIG5vdCBwYy4KCgkqIHN5c2RlcHMvbWlwcy9hZGRfbi5TOiBBZGQgbmV3bGluZSBhdCBFT0YuCgkqIHN5c2RlcHMvbWlwcy9yc2hpZnQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbWlwcy9tdWxfMS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL2xzaGlmdC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL2FkZG11bF8xLlM6IExpa2V3aXNlLgoKMjAwMC0wNC0xNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3Bvd2VycGMvZnB1L3NfaXNuYW4uYzogUHJldHR5IHByaW50aW5nLgoKCSogZWxmL2RsLXJlbG9jLmMgKF9kbF9yZWxvY2F0ZV9vYmplY3QpOiBBZGQgbW9yZSBfX2J1aWx0aW5fZXhwZWN0LgoJKiBlbGYvZGwtbG9va3VwLmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtaW5pdC5jIChfZGxfaW5pdCk6IExpa2V3aXNlLgoJKiBlbGYvZGwtZmluaS5jIChfZGxfZmluaSk6IExpa2V3aXNlLgoJKiBlbGYvZGwtZGVwcy5jIChfZGxfbWFwX29iamVjdF9kZXBzKTogTGlrZXdpc2UuCgkqIGVsZi9kbC1jbG9zZS5jIChfZGxfY2xvc2UpOiBMaWtld2lzZS4KCSogZWxmL3J0bGQuYyAoX2RsX3N0YXJ0X2ZpbmFsKTogTGlrZXdpc2UuCgoJKiBlbGYvZGwtbG9va3VwLmMgKGFkZF9kZXBlbmRlbmN5KTogQ29ycmVjdCBfX2J1aWx0aW5fZXhwZWN0IHVzZS4KCjIwMDAtMDQtMTUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogY3N1L01ha2VmaWxlICgkKG9ianBmeCl2ZXJzaW9uLWluZm8uaCk6IEdldCBPUyBuYW1lIGZyb20gdW5hbWUgYW5kCglvbmx5IGZhbGwgYmFjayBvbiB1c2luZyBMaW51eC4KCgkqIGVsZi9kbC12ZXJzaW9uLmMgKF9kbF9jaGVja19tYXBfdmVyc2lvbnMpOiBOZXcgYXJndW1lbnQgdHJhY2VfbW9kZS4KCUJlZm9yZSB0ZXN0aW5nIHZlcnNpb25zIGNoZWNrIHRoYXQgd2UgYWN0dWFsbHkgbG9hZGVkIHRoZSBvYmplY3QKCWFuZCB3aGV0aGVyIHdlIGFyZSBpbiB0cmFjZSBtb2RlLiAgSWYgbm90IGxvYWRlZCBkdXJpbmcgdHJhY2luZyBkb24ndAoJdGVzdCB2ZXJzaW9ucyBpbiB0aGlzIG9iamVjdC4KCShfZGxfY2hlY2tfYWxsX3ZlcnNpb25zKTogVGFrZSBuZXcgcGFyYW1ldGVyIGFuZCBwYXNzIHRvCglfZGxfY2hlY2tfbWFwX3ZlcnNpb25zLgoJKiBzeXNkZXBzL2dlbmVyaWMvbGRzb2RlZnMuaDogVXBkYXRlIHByb3RvdHlwZXMgZm9yCglfZGxfY2hlY2tfYWxsX3ZlcnNpb25zIGFuZCBfZGxfY2hlY2tfbWFwX3ZlcnNpb25zLgoJKiBlbGYvcnRsZC5jIChzdHJ1Y3QgdmVyc2lvbl9jaGVja19hcmdzKTogQWRkIGRvdHJhY2UuCgkodmVyc2lvbl9jaGVja19kb2l0KTogUGFzcyBhcmdzLT5kb3RyYWNlIHRvIF9kbF9jaGVja19hbGxfdmVyc2lvbnMuCgkoZGxfbWFpbik6IFBhc3MgaW5mbyBhYm91dCB0cmFjZSBtb2RlIHRvIHZlcnNpb25fY2hlY2tfZG9pdC4KCSogZWxmL2RsLW9wZW4uYyAoZGxfb3Blbl93b3JrZXIpOiBQYXNzIHplcm8gYXMgbmV3IGFyZ3VtZW50IHRvCglfZGxfY2hlY2tfYWxsX3ZlcnNpb25zLgoKCSogbWFudWFsL3VzZXJzLnRleGkgKFhQRyBGdW5jdGlvbnMpOiBEb2N1bWVudCB1dG1weG5hbWUsIGdldHV0bXAsCglhbmQgZ2V0dXRtcHguCglQYXRjaCBieSBCcnlhbiBIZW5kZXJzb24gPGJyeWFuaEBnaXJhZmZlLWRhdGEuY29tPi4KCgkqIG1hbnVhbC9hcmdwLnRleGk6IERvY3VtZW50IGluZGV4IHBhcmFtZXRlciBvZiBhcmdwX3BhcnNlLgoJRml4IHR5cG8uCglSZXBvcnRlZCBieSBBbmRyZXcgU2NodWxtYW4gPFNDSFVMTUFOLkFORFJFV0BlcGFtYWlsLmVwYS5nb3Y+LgoKMjAwMC0wNC0xNCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2htX29wZW4uYzogSW5jbHVkZSBsaW51eF9mc2luZm8gZm9yCglTSE1GU19TVVBFUl9NQUdJQy4gIFJlbW92ZSBkZWZpbml0aW9uIG9mIFNITUZTX1NVUEVSX01BR0lDLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbGludXhfZnNpbmZvLmggKFNITUZTX1NVUEVSX01BR0lDKTogQWRkZWQuCgoyMDAwLTA0LTE1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2FkanRpbWUuYzogRml4IHR5cG8gaW4KCWNvbXBhdF9zeW1ib2wgY2FsbCBmb3Igb2xkIGFkanRpbWUuCgoJKiBzeXNkZXBzL2FscGhhL2RsLW1hY2hpbmUuaCAoUlRMRF9TVEFSVCk6IFJld3JpdGUgZm9yIG5ldyBpbml0CglmdW5jdGlvbiBpbnRlcmZhY2UuICBQYXRjaCBieSBSaWNoYXJkIEhlbmRlcnNvbiA8cnRoQGN5Z251cy5jb20+LgoKCSogcG9zaXgvTWFrZWZpbGUgKGhlYWRlcnMpOiBBZGQgc3Bhd24uaC4KCShkaXN0cmlidXRlKTogQWRkIHNwYXduX2ludC5oLgoJKHJvdXRpbmVzKTogQWRkIHNwYXduX2ZhY3Rpb25faW5pdCwgc3Bhd25fZmFjdGlvbl9kZXN0cm95LAoJc3Bhd25fZmFjdGlvbl9hZGRjbG9zZSwgc3Bhd25fZmFjdGlvbl9hZGRvcGVuLCBzcGF3bl9mYWN0aW9uX2FkZGR1cDIsCglzcGF3bmF0dHJfaW5pdCwgc3Bhd25hdHRyX2Rlc3Ryb3ksIHNwYXduYXR0cl9nZXRkZWZhdWx0LAoJc3Bhd25hdHRyX3NldGRlZmF1bHQsIHNwYXduYXR0cl9nZXRmbGFncywgc3Bhd25hdHRyX3NldGZsYWdzLAoJc3Bhd25hdHRyX2dldHBncm91cCwgc3Bhd25hdHRyX3NldHBncm91cCwgc3Bhd24sIHNwYXducCwgYW5kIHNwYXduaS4KCSogcG9zaXgvVmVyc2lvbnMgW2xpYmNdIChHTElCQ18yLjIpOiBBZGQgcG9zaXhfc3Bhd25fZmlsZV9hY3Rpb25zX2luaXQsCglwb3NpeF9zcGF3bl9maWxlX2FjdGlvbnNfZGVzdHJveSwgcG9zaXhfc3Bhd25fZmlsZV9hY3Rpb25zX2FkZGNsb3NlLAoJcG9zaXhfc3Bhd25fZmlsZV9hY3Rpb25zX2FkZG9wZW4sIHBvc2l4X3NwYXduX2ZpbGVfYWN0aW9uc19hZGRkdXAyLAoJcG9zaXhfc3Bhd25hdHRyX2luaXQsIHBvc2l4X3NwYXduYXR0cl9kZXN0cm95LAoJcG9zaXhfc3Bhd25hdHRyX2dldGRlZmF1bHQsIHBvc2l4X3NwYXduYXR0cl9zZXRkZWZhdWx0LAoJcG9zaXhfc3Bhd25hdHRyX2dldGZsYWdzLCBwb3NpeF9zcGF3bmF0dHJfc2V0ZmxhZ3MsCglwb3NpeF9zcGF3bmF0dHJfZ2V0cGdyb3VwLCBwb3NpeF9zcGF3bmF0dHJfc2V0cGdyb3VwLCBwb3NpeF9zcGF3biwKCWFuZCBwb3NpeF9zcGF3bnAuCgkqIHBvc2l4L3NwYXduLmM6IE5ldyBmaWxlLgoJKiBwb3NpeC9zcGF3bi5oOiBOZXcgZmlsZS4KCSogcG9zaXgvc3Bhd25fZmFjdGlvbl9hZGRjbG9zZS5jOiBOZXcgZmlsZS4KCSogcG9zaXgvc3Bhd25fZmFjdGlvbl9hZGRkdXAyLmM6IE5ldyBmaWxlLgoJKiBwb3NpeC9zcGF3bl9mYWN0aW9uX2FkZG9wZW4uYzogTmV3IGZpbGUuCgkqIHBvc2l4L3NwYXduX2ZhY3Rpb25fZGVzdHJveS5jOiBOZXcgZmlsZS4KCSogcG9zaXgvc3Bhd25fZmFjdGlvbl9pbml0LmM6IE5ldyBmaWxlLgoJKiBwb3NpeC9zcGF3bl9pbnQuaDogTmV3IGZpbGUuCgkqIHBvc2l4L3NwYXduYXR0cl9kZXN0cm95LmM6IE5ldyBmaWxlLgoJKiBwb3NpeC9zcGF3bmF0dHJfZ2V0ZGVmYXVsdC5jOiBOZXcgZmlsZS4KCSogcG9zaXgvc3Bhd25hdHRyX2dldGZsYWdzLmM6IE5ldyBmaWxlLgoJKiBwb3NpeC9zcGF3bmF0dHJfZ2V0cGdyb3VwLmM6IE5ldyBmaWxlLgoJKiBwb3NpeC9zcGF3bmF0dHJfZ2V0c2NoZWRwYXJhbS5jOiBOZXcgZmlsZS4KCSogcG9zaXgvc3Bhd25hdHRyX2dldHNjaGVkcG9saWN5LmM6IE5ldyBmaWxlLgoJKiBwb3NpeC9zcGF3bmF0dHJfZ2V0c2lnbWFzay5jOiBOZXcgZmlsZS4KCSogcG9zaXgvc3Bhd25hdHRyX2luaXQuYzogTmV3IGZpbGUuCgkqIHBvc2l4L3NwYXduYXR0cl9zZXRkZWZhdWx0LmM6IE5ldyBmaWxlLgoJKiBwb3NpeC9zcGF3bmF0dHJfc2V0ZmxhZ3MuYzogTmV3IGZpbGUuCgkqIHBvc2l4L3NwYXduYXR0cl9zZXRwZ3JvdXAuYzogTmV3IGZpbGUuCgkqIHBvc2l4L3NwYXduYXR0cl9zZXRzY2hlZHBhcmFtLmM6IE5ldyBmaWxlLgoJKiBwb3NpeC9zcGF3bmF0dHJfc2V0c2NoZWRwb2xpY3kuYzogTmV3IGZpbGUuCgkqIHBvc2l4L3NwYXduYXR0cl9zZXRzaWdtYXNrLmM6IE5ldyBmaWxlLgoJKiBwb3NpeC9zcGF3bmkuYzogTmV3IGZpbGUuCgkqIHBvc2l4L3NwYXducC5jOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvbWFjaC9odXJkL2JpdHMvcG9zaXhfb3B0Lmg6IEFkZCBfUE9TSVhfU1BBV04uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvcG9zaXhfb3B0Lmg6IExpa2V3aXNlLgoKMjAwMC0wNC0xNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBtYWxsb2MvVmVyc2lvbnMgW2xpYmNdIChHTElCQ18yLjIpOiBBZGQgcG9zaXhfbWVtYWxpZ24uCgkqIG1hbGxvYy9tYWxsb2MuYzogSW1wbGVtZW50IHBvc2l4X21lbWFsaWduIGZvciBnbGliYy4KCSogaW5jbHVkZS9zdGRsaWIuaDogQWRkIHByb3RvdHlwZSBmb3IgX19wb3NpeF9tZW1hbGlnbi4KCSogc3RkbGliL3N0ZGxpYi5oOiBBZGQgcHJvdG90eXBlIGZvciBwb3NpeF9tZW1hbGlnbi4KCjIwMDAtMDQtMTQgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvbWlwcy9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX2dvdF9yZWwpOiBJbml0aWFsaXplCglzeW1pZHggY29ycmVjdGx5LgoJKGVsZl9tYWNoaW5lX2dvdF9yZWwpOiBDYXN0IHN5bSBjb3JyZWN0bHkuCgoJKiBzeXNkZXBzL21pcHMvYWRkX24uUzogVXNlIF9fUElDX18sIGFkZCBlbmQgZGlyZWN0aXZlLgoJKiBzeXNkZXBzL21pcHMvYWRkbXVsXzEuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbWlwcy9sc2hpZnQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbWlwcy9tdWxfMS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL3JzaGlmdC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL3N1Yl9uLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21pcHMvc3VibXVsXzEuUzogTGlrZXdpc2UuCgoJKiBzdGRsaWIvc3RkbGliLmg6IEZpeCB0eXBvIGluIGNvbW1lbnQuCgoJKiBzaGxpYi12ZXJzaW9ucyAobWlwcy4qLS4qLWxpbnV4LiopOiBTdXBwb3J0IG9ubHkgR0xJQkMgMi4wIGFuZAoJMi4yIGZvciBsaWJkbCwgbGQgYW5kIGxpYm0uCgoJKiBzeXNkZXBzL2dlbmVyaWMvbWFkdmlzZS5jOiBGaXggdHlwb3MuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2Nsb25lLlMgKGVycm9yKTogVXNlIF9fUElDX18uCgoJKiBzeXNkZXBzL21pcHMvYml0cy9zZXRqbXAuaDogUmVtb3ZlIEsmUiBjb21wYXRpYmlsaXR5LgoKCSogc3lzZGVwcy9taXBzL3NldGptcF9hdXguYyAoX19zaWdzZXRqbXBfYXV4KTogU2lsZW5jZSBnY2MKCXdhcm5pbmdzLgoKMjAwMC0wNC0xNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL3N5cy9zdGF0ZnMuaDogQWRkIHByb3RvdHlwZXMgZm9yIF9fc3RhdGZzNjQgYW5kIF9fZnN0YXRmczY0LgoJKiBzeXNkZXBzL2dlbmVyaWMvZnN0YXRmczY0LmMgKF9fZnN0YXRmczY0KTogUmVuYW1lZCB0byBmc3RhdGZzNjQuCglNYWtlIG9sZCBuYW1lIHdlYWsgYWxpYXMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2ZzdGF0ZnM2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL3N0YXRmczY0LmMgKF9fc3RhdGZzNjQpOiBSZW5hbWVkIHRvIHN0YXRmczY0LgoJTWFrZSBvbGQgbmFtZSB3ZWFrIGFsaWFzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zdGF0ZnM2NC5jOiBMaWtld2lzZS4KCgkqIGlvL01ha2VmaWxlIChyb3V0aW5lcyk6IEFkZCBwb3NpeF9mYWR2aXNlLCBwb3NpeF9mYWR2aXNlNjQsCglwb3NpeF9mYWxsb2NhdGUsIGFuZCBwb3NpeF9mYWxsb2NhdGU2NC4KCSogaW8vVmVyc2lvbnMgW2xpYmNdIChHTElCQ18yLjIpOiBBZGQgcG9zaXhfZmFkdmlzZSwgcG9zaXhfZmFkdmlzZTY0LAoJcG9zaXhfZmFsbG9jYXRlLCBhbmQgcG9zaXhfZmFsbG9jYXRlNjQuCgkqIGlvL2ZjbnRsLmg6IERlY2xhcmUgcG9zaXhfZmFkdmlzZSwgcG9zaXhfZmFkdmlzZTY0LAoJcG9zaXhfZmFsbG9jYXRlLCBhbmQgcG9zaXhfZmFsbG9jYXRlNjQuCgkqIHN5c2RlcHMvZ2VuZXJpYy9mYWR2aXNlLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2dlbmVyaWMvZmFkdmlzZTY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2dlbmVyaWMvZmFsbG9jYXRlLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2dlbmVyaWMvZmFsbG9jYXRlNjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvcG9zaXgvZmFsbG9jYXRlLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3Bvc2l4L2ZhbGxvY2F0ZTY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy9mY250bC5oOiBEZWZpbmUgUE9TSVhfRkFEVl9OT1JNQUwsCglQT1NJWF9GQURWX1JBTkRPTSwgUE9TSVhfRkFEVl9TRVFVRU5USUFMLCBQT1NJWF9GQURWX1dJTExORUVELAoJUE9TSVhfRkFEVl9ET05UTkVFRCwgYW5kIFBPU0lYX0ZBRFZfTk9SRVVTRS4KCSogc3lzZGVwcy9tYWNoL2h1cmQvYml0cy9mY250bC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvYml0cy9mY250bC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9mY250bC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9iaXRzL2ZjbnRsLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2JpdHMvZmNudGwuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL2JpdHMvZmNudGwuaDogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL2dlbmVyaWMvbWFkdmlzZS5jIChfX21hZHZpc2UpOiBSZW5hbWVkIHRvIHBvc2l4X21hZHZpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5c2NhbGxzLmxpc3Q6IExpa2V3aXNlLgoKMjAwMC0wNC0xMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBtaXNjL1ZlcnNpb25zIFtsaWJjXSAoR0xJQkNfMi4yKTogQWRkIHBvc2l4X21hZHZpY2UuCgkqIG1pc2Mvc3lzL21tYW4uaCAocG9zaXhfbWFkdmlzZSk6IEFkZCBwcm90b3R5cGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9tYWR2aXNlLmMgKG1hZHZpc2UpOiBSZW5hbWVkIHRvIF9fbWFkdmlzZS4gIE1ha2UKCW9sZCBuYW1lIGFuZCBwb3NpeF9tYWR2aXNlIHdlYWsgYWxpYXNlcy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzY2FsbHMubGlzdDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL21tYW4uaDogQWRkIFBPU0lYX01BRFZfKiBjb25zdGFudHMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2JpdHMvbW1hbi5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2JpdHMvbW1hbi5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9iaXRzL21tYW4uaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvYml0cy9tbWFuLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9iaXRzL21tYW4uaDogTGlrZXdpc2UuCgoyMDAwLTA0LTEzICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL21pcHMvZGwtbWFjaGluZS5oIChfX2RsX3J1bnRpbWVfcmVzb2x2ZSk6IEhhbmRsZSBzeW1ib2wKCXZlcnNpb25pbmcuCgkoZWxmX21hY2hpbmVfZ290X3JlbCk6IE9ubHkgYWRkIHJ1bnRpbWUgZGlzcGxheSBpZiBuZWVkZWQuCgkoZWxmX21hY2hpbmVfZ290X3JlbCk6IEhhbmRsZSBzeW1ib2wgdmVyc2lvbmluZy4KCjIwMDAtMDQtMTMgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvY2xvbmUuUzogRml4IGZ1bmN0aW9uLgoKCSogc3lzZGVwcy91bml4L21pcHMvcGlwZS5TOiBSZW9yZGVyIGluc3RydWN0aW9ucyBzaW5jZSAucmVvcmRlciBpcwoJZGVmYXVsdC4KCgkqIHN5c2RlcHMvbWlwcy9fX2xvbmdqbXAuYyAoX19sb25nam1wKTogVXNlICQyNSB0byBmaXggcHJvYmxlbXMKCXdpdGggc29tZSBhcHBsaWNhdGlvbnMuCglQYXRjaGVzIGJ5IFJhbGYgQmFlY2hsZSA8cmFsZkB1bmkta29ibGVuei5kZT4uCgoJKiBzeXNkZXBzL21pcHMvYnNkLXNldGptcC5TOiBVc2UgX19QSUNfXy4KCSogc3lzZGVwcy9taXBzL2JzZC1fc2V0am1wLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21pcHMvc2V0am1wLlM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9waXBlLlM6IE5ldyBmaWxlLgoKMjAwMC0wNC0xMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9nbG9idGVzdC5zaDogV29yayBhcm91bmQgaW5jb25zaXN0ZW5jeSB3aXRoIGV4cGFuZGluZyB+LwoJaW4gc2hlbGwgKFBSIGxpYmMvMTY5MCkuICBSZXBvcnRlZCBieSBwYXRzbWl0aEBwb2JveC5jb20uCgoyMDAwLTA0LTEyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHBvc2l4L2dldGNvbmYuYzogQWRkIHN1cHBvcnQgZm9yIG1hbnkgbW9yZSBQT1NJWCBvcHRpb25zLgoJKiBzeXNkZXBzL3Bvc2l4L3N5c2NvbmYuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL2NvbmZuYW1lLmg6IEFkZCBtYW55IG1vcmUgUE9TSVggb3B0aW9ucy4KCSogc3lzZGVwcy9tYWNoL2h1cmQvYml0cy9wb3NpeF9vcHQuaDogQWRkIF9QT1NJWF9SRUdFWFAgYW5kCglfUE9TSVhfU0hFTEwuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvcG9zaXhfb3B0Lmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2JpdHMvdGltZS5oOiBSZW5hbWUgX19DTE9DS19ISUdIUkVTIHRvCglDTE9DS19QUk9DRVNTX0NQVVRJTUVfSUQuICBBZGQgZGVmaW5lIENMT0NLX01PTk9UT05JQyBhbmQKCUNMT0NLX1RIUkVBRF9DUFVUSU1FX0lELgoJKiBzeXNkZXBzL3VuaXgvaTM4Ni9jbG9ja19nZXRjcHVjbG9ja2lkLmM6IFNldCAqY2xvY2tfaWQgdG8KCUNMT0NLX1BST0NFU1NfQ1BVVElNRV9JRC4KCSogc3lzZGVwcy91bml4L2kzODYvaTU4Ni9jbG9ja19nZXRyZXMuYzogQ2hhbmdlIGZvciByZW5hbWluZyBvZgoJX19DTE9DS19ISUdIUkVTIHRvIENMT0NLX1BST0NFU1NfQ1BVVElNRV9JRC4gIEhhbmRsZQoJQ0xPQ0tfVEhSRUFEX0NQVVRJTUVfSUQgYW5kIENMT0NLX01PTk9UT05JQyB0aGUgc2FtZS4KCSogc3lzZGVwcy91bml4L2kzODYvaTU4Ni9jbG9ja19nZXR0aW1lLmM6IExpa2V3aXNlLgoKCSogbWFsbG9jL01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3QtY2FsbG9jLgoJKiBtYWxsb2MvdHN0LWNhbGxvYy5jOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvYXJtL2xpYm0tdGVzdC11bHBzOiBOZXcgZmlsZS4KCgkqIG1hbGxvYy9tYWxsb2MuYzogVW5kbyBhbGwgb2YgdG9kYXkncyBjaGFuZ2VzLgoKCSogbG9jYWxlL3Byb2dyYW1zL2xvY2FsZS5jIChzaG93X2luZm8pOiBEb24ndCB0cnkgdG8gbG9vayBpbnRvCglkYXRhIGZvciBMQ19BTEwgKHRoZXJlIGlzIG5vbmUpLgoKCSogbWFsbG9jL21hbGxvYy5jIChjQUxMT2MpOiBDbGVhciBvbmx5IHdoYXQgdGhlIHVzZXIgYXNrZWQgZm9yIGFuZAoJYXZvaWQgd3JpdGluZyBvdmVyIGJvdW5kYXJ5LgoJUGF0Y2ggYnkgR3JlZyBNY0dhcnkgPGdrbUBlbmcuYXNjZW5kLmNvbT4uCgoJKiBzeXNkZXBzL2FybS9tZW1wcm9mLmg6IE5ldyBmaWxlLgoKMjAwMC0wNC0xMiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L2kzODYvaTU4Ni9jbG9ja19nZXR0aW1lLmM6IEZpeCB0eXBvLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9nZXRfY2xvY2tmcmVxLmM6IEluY2x1ZGUgPHN0cmluZy5oPgoJZm9yIG1lbW1lbSBkZWNsYXJhdGlvbi4KCjIwMDAtMDQtMTIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L2Nsb2NrX2dldHRpbWUuYyAoY2xvY2tfZ2V0dGltZSk6IEluaXRpYWxpemUgcmV0dmFsCgl0byAtMS4KCSogc3lzZGVwcy9wb3NpeC9jbG9ja19nZXRyZXMuYyAoY2xvY2tfZ2V0cmVzKTogTGlrZXdpc2UuCgoJKiBsaWJpby9pb3BvcGVuLmMgKF9JT19uZXdfcHJvY19vcGVuKTogQ2xvc2UgcGlwZXMgaW4gY2FzZSB0aGUKCW1vZGUgaXMgaW52YWxpZC4KCSogbGliaW8vb2xkaW9wb3Blbi5jIChfSU9fb2xkX3Byb2Nfb3Blbik6IExpa2V3aXNlLgoJUGF0Y2ggYnkgQmFydCBWZWVyIDxiYXJ0dkByZWRoYXQuY29tPi4KCgkqIHN5c2RlcHMvYXJtL2RsLW1hY2hpbmUuaCAoUlRMRF9TVEFSVCk6IFJld3JpdGUgZm9yIG5ldyBpbml0CglmdW5jdGlvbiBpbnRlcmZhY2UuCgoyMDAwLTA0LTExICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL21pcHMvZGwtbWFjaGluZS5oOiBVcGRhdGUgc29tZSBjb21tZW50cy4KCShFTEZfTUFDSElORV9BTElHTl9NQVNLKTogUmVtb3ZlZCwgaXQncyBub3QgbmVlZGVkLgoKMjAwMC0wNC0xMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3Bvc2l4X29wdC5oOiBBZGQKCV9QT1NJWF9TSEFSRURfTUVNT1JZX09CSkVDVFMuCgoJKiBydC9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdHN0LXNobS4KCUFkZCBydWxlcyB0byBnZW5lcmF0ZSB0c3Qtc2htLgoJKiBydC90c3Qtc2htLmM6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2htX29wZW4uYyAoc2htX29wZW4pOiBTZXQgRkRfQ0xPRVhFQwoJZm9yIGRlc2NyaXB0b3IuCgoJKiBtaXNjL3N5cy9tbWFuLmg6IEFkZCBwcm90b3R5cGVzIGZvciBzaG1fb3BlbiBhbmQgc2htX3VubGluay4KCSogcnQvTWFrZWZpbGUgKGxpYnJ0LXJvdXRpbmVzKTogQWRkIHNobV9vcGVuIGFuZCBzaG1fdW5saW5rLgoJKiBydC9WZXJzaW9ucyBbbGlicnRdIChHTElCQ18yLjIpOiBBZGQgc2htX29wZW4gYW5kIHNobV91bmxpbmsuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zaG1fb3Blbi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9nZW5lcmljL3NobV91bmxpbmsuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NobV9vcGVuLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaG1fdW5saW5rLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9WZXJzaW9ucyBbbGliY10gKEdMSUJDXzIuMik6IEV4cG9ydAoJIF9fZW5kbW50ZW50LCBfX2dldG1udGVudF9yLCBfX3NldG1udGVudCwgYW5kIF9fc3RhdGZzLgoKCSogbGliaW8vdmFzcHJpbnRmLmMgKF9JT192YXNwcmludGYpOiBUcnkgdG8gYXZvaWQgbWVtb3J5CglmcmFnbWVudGF0aW9uIGJ5IGFsbG9jYXRpbmcgbmV3IG1lbW9yeSBhdCB0aGUgZW5kIGluc3RlYWQgb2YKCXJlYWxsb2NhdGluZy4KCgkqIHBvc2l4L2dsb2J0ZXN0LnNoOiBGaXggbGFzdCBjaGFuZ2UuCgoyMDAwLTA0LTEwICBQaGlsaXAgQmx1bmRlbGwgIDxwaGlsYkBnbnUub3JnPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9pbi5oIChJUFY2X0pPSU5fR1JPVVAsCglJUFY2X0xFQVZFX0dST1VQKTogTmV3IG5hbWVzIGZvciBJUFY2X0FERF9NRU1CRVJTSElQLAoJSVBWNl9EUk9QX01FTUJFUlNISVAuCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL2luLmggKElQVjZfSk9JTl9HUk9VUCwgSVBWNl9MRUFWRV9HUk9VUCk6CglMaWtld2lzZS4KCjIwMDAtMDQtMTEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZWxmL3JlYWRsaWIgKHByb2Nlc3NfZmlsZSk6IENsb3NlIHN0cmVhbXMgaW4gY2FzZSBvZiBhbiBlcnJvci4KCjIwMDAtMDQtMDkgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGVsZi9yZWFkbGliLmMgKHByb2Nlc3NfZmlsZSk6IENoZWNrIGlmIGZpbGUgaXMgYmlnIGVub3VnaCB0bwoJY29udGFpbiBhb3V0IGFuZCBFTEYgaGVhZGVycy4KCVJlcG9ydGVkIGJ5IFJlaW5oYXJkIE1vb3NhdWVyIDxSTW9vc2F1ZXJAc3RlaW5lY2tlci5jb20+LgoKMjAwMC0wNC0xMCAgSmVzIFNvcmVuc2VuICA8SmVzLlNvcmVuc2VuQGNlcm4uY2g+CgoJKiBlbGYvZGwtZmluaS5jOiBJbmNsdWRlIGFsbG9jYS5oIHRvIGdldCBwcm9wZXIgcHJvdG90eXBlIGZvciBhbGxvY2EoKS4KCjIwMDAtMDQtMTEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogdGVzdC1za2VsZXRvbi5jIChtYWluKTogSWYgU1RET1VUX1VOQlVGRkVSRUQgaXMgZGVmaW5lZCwgbWFrZSBzdGRvdXQKCXN0cmVhbSB1bmJ1ZmZlcmVkLgoJKiBydC9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdHN0LWNsb2NrLgoJQWRkIHJ1bGVzIHRvIGJ1aWxkIHRzdC1jbG9jay4KCSogcnQvdHN0LWNsb2NrLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvaTM4Ni9pNTg2L2Nsb2NrX2dldHJlcy5jOiBDb3JyZWN0IGV4cHJlc3Npb24gdG8gZGVjaWRlCglhYm91dCBpbml0aWFsaXphdGlvbiBvZiBuc2VjLgoJKiBzeXNkZXBzL3VuaXgvaTM4Ni9pNTg2L2Nsb2NrX2dldHRpbWUuYzogQ29ycmVjdCBleHByZXNzaW9uIHRvIGRlY2lkZQoJYWJvdXQgaW5pdGlhbGl6YXRpb24gb2YgZnJlcS4gIFNldCByZXR2YWwgdG8gemVybyBpZiBzdWNjZXNzZnVsLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2dldF9jbG9ja2ZyZXEuYzogQ2FjaGUgcmVzdWx0LgoKMjAwMC0wNC0xMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBWZXJzaW9ucy5kZWYgKGxpYnJ0KTogQWRkIEdMSUJDXzIuMi4KCSogcnQvTWFrZWZpbGUgKGxpYnJ0LXJvdXRpbmVzKTogQWRkIGdldF9jbG9ja2ZyZXEsIGNsb2NrX2dldGNwdWNsb2NraWQsCgljbG9ja19nZXRyZXMsIGNsb2NrX2dldHRpbWUsIGNsb2NrX3NldHRpbWUsIHRpbWVyX2NyZWF0ZSwgdGltZXJfZGVsZXRlLAoJdGltZXJfZ2V0b3ZlcnIsIHRpbWVyX2dldHRpbWUsIGFuZCB0aW1lcl9zZXR0aW1lLgoJKiBydC9WZXJzaW9ucyBbbGlicnRdIChHTElCQ18yLjIpOiBBZGQgY2xvY2tfZ2V0cmVzLCBjbG9ja19nZXR0aW1lLAoJY2xvY2tfc2V0dGltZSwgdGltZXJfY3JlYXRlLCB0aW1lcl9kZWxldGUsIHRpbWVyX2dldG92ZXJydW4sCgl0aW1lcl9nZXR0aW1lLCBhbmQgdGltZXJfc2V0dGltZS4KCSogc3lzZGVwcy9nZW5lcmljL2Nsb2NrX2dldGNwdWNsb2NraWQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9nZXRfY2xvY2tmcmVxLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvaTM4Ni9jbG9ja19nZXRjcHVjbG9ja2lkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2dldF9jbG9ja2ZyZXEuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvbWFjaC9odXJkL2kzODYvYml0cy90aW1lLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvaTM4Ni9pNTg2L2Nsb2NrX2dldHJlcy5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L2kzODYvaTU4Ni9jbG9ja19nZXR0aW1lLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvaTM4Ni9pNjg2L0ltcGxpZXM6IE5ldyBmaWxlLgoJKiBzeXNkcGVzL3VuaXgvc3lzdi9saW51eC9pMzg2L2JpdHMvdGltZS5oOiBOZXcgZmlsZS4KCSogdGltZS9NYWtlZmlsZSAocm91dGluZXMpOiBNb3ZlIGNsb2NrX2dldHJlcywgY2xvY2tfZ2V0dGltZSwKCWNsb2NrX3NldHRpbWUsIHRpbWVyX2NyZWF0ZSwgdGltZXJfZGVsZXRlLCB0aW1lcl9nZXRvdmVyciwKCXRpbWVyX2dldHRpbWUsIGFuZCB0aW1lcl9zZXR0aW1lIHRvIHJ0L01ha2VmaWxlLgoJKiB0aW1lL1ZlcnNpb25zIFtsaWJjXSAoR0xJQkNfMi4yKTogUmVtb3ZlIGNsb2NrX2dldHJlcywgY2xvY2tfZ2V0dGltZSwKCWNsb2NrX3NldHRpbWUsIHRpbWVyX2NyZWF0ZSwgdGltZXJfZGVsZXRlLCB0aW1lcl9nZXRvdmVycnVuLAoJdGltZXJfZ2V0dGltZSwgYW5kIHRpbWVyX3NldHRpbWUuCgkqIHRpbWUvdGltZS5oOiBEZWZpbmUgcGlkX3QuICBBZGQgcHJvdG90eXBlIGZvciBjbG9ja19nZXRjcHVjbG9ja2lkLgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvYml0cy90aW1lLmg6IERyb3AgSyZSIGNvbXBhdGliaWxpdHkuICBVc2UgX19jb25zdF9fCglhbmQgbm90IGNvbnN0IGFzIGF0dHJpYnV0ZSBuYW1lLgoKMjAwMC0wNC0xMCAgVGhvcnN0ZW4gS3VrdWsgIDxrdWt1a0BzdXNlLmRlPgoKCSogZWxmL2NhY2hlLmMgKHNhdmVfY2FjaGUpOiBNYWtlIHN1cmUgL2V0Yy9sZC5zby5jYWNoZSBpcyBtb2RlIDY0NC4KCjIwMDAtMDQtMTAgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBwb3NpeC9nbG9idGVzdC5zaDogU2tpcCB0ZXN0cyB0aGF0IGRlcGVuZCBvbiB1bnJlYWRhYmxlCglkaXJlY3RvcmllcyBpZiBydW4gYXMgcm9vdC4KCjIwMDAtMDQtMTAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L2Nsb2NrX3NldHRpbWUuYyAoY2xvY2tfc2V0dGltZSk6IFRlc3QgdHZfbnNlYyB2YWx1ZQoJZm9yIGNvcnJlY3QgcmFuZ2UuICBGcm9tIGNvZGUgYnkgS2F6IEt5bGhla3UgPGthekBhc2hpLmZvb3RwcmludHMubmV0Pi4KCjIwMDAtMDQtMDkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L2Nsb2NrX2dldHRpbWUuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9jbG9ja19zZXR0aW1lLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3Bvc2l4L2Nsb2NrX2dldHJlcy5jOiBOZXcgZmlsZS4KCgkqIGNvbmZvcm0vZGF0YS9mdHcuaC1kYXRhOiBBZGQgYWxsb3ctaGVhZGVyIHN5cy9zdGF0LmguCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9nZXRkZW50cy5jIChfX2dldGRlbnRzKTogQXZvaWQgaW5pdGlhbAoJbHNlZWsgY2FsbCBiZSBwYXNzaW5nIGluIGEgYnVmZmVyIHdoaWNoIG5ldmVyIGFsbG93IGEgc3VjY2Vzc2Z1bAoJZmlyc3QgZ2V0ZGVudHMgc3lzY2FsbCBpZiBub3QgYXQgbGVhcyB0aGUgaW5pdGlhbCBlbnRyeSBjYW4gYmUKCXN0b3JlZCBpbiB0aGUgdXNlciBidWZmZXIuCgoJKiBsb2NhbGVkYXRhL01ha2VmaWxlOiBBZGQgcnVsZXMgdG8gY2xlYW4gdXAgZGlyZWN0b3JpZXMgY3JlYXRlZCBieQoJbmV3IHN0cmZtb24gdGVzdHMuCgoyMDAwLTA0LTA5ICBHZW9mZiBDbGFyZSAgPGd3Y0B1bmlzb2Z0LmNvbT4KCgkqIGxvY2FsZWRhdGEvdHN0LWZtb24uZGF0YTogQWRkZWQgbmV3IHRlc3RzIGZvciBzdHJmbW9uKCkKCXVzaW5nIHRlc3QgbG9jYWxlcyB3aXRoIGFsbCBjb21iaW5hdGlvbnMgb2YgY3NfcHJlY2VkZXMsCglzaWduX3Bvc24gYW5kIHNlcF9ieV9zcGFjZS4KCSogbG9jYWxlZGF0YS90c3QtZm1vbi5zaDogVXBkYXRlZCB0byBzdXBwb3J0IHRoZSBuZXcgdGVzdHMuCgkqIGxvY2FsZWRhdGEvdHN0LWZtb24tbG9jYWxlcy90c3RmbW9uX24wMXkxMjogTmV3IGZpbGUgY29udGFpbmluZwoJdGhlIGxvY2FsZWRlZiBzb3VyY2UgZm9yIHRoZSBuZXcgc3RyZm1vbigpIHRlc3QgbG9jYWxlLgoJKiBsb2NhbGVkYXRhL3RzdC1mbW9uLWxvY2FsZXMvdHN0Zm1vbl9uMDJuNDA6IExpa2V3aXNlLgoJKiBsb2NhbGVkYXRhL3RzdC1mbW9uLWxvY2FsZXMvdHN0Zm1vbl9uMTB5MzE6IExpa2V3aXNlLgoJKiBsb2NhbGVkYXRhL3RzdC1mbW9uLWxvY2FsZXMvdHN0Zm1vbl9uMTF5NDE6IExpa2V3aXNlLgoJKiBsb2NhbGVkYXRhL3RzdC1mbW9uLWxvY2FsZXMvdHN0Zm1vbl9uMTJ5MTE6IExpa2V3aXNlLgoJKiBsb2NhbGVkYXRhL3RzdC1mbW9uLWxvY2FsZXMvdHN0Zm1vbl9uMjBuMzI6IExpa2V3aXNlLgoJKiBsb2NhbGVkYXRhL3RzdC1mbW9uLWxvY2FsZXMvdHN0Zm1vbl9uMzB5MjA6IExpa2V3aXNlLgoJKiBsb2NhbGVkYXRhL3RzdC1mbW9uLWxvY2FsZXMvdHN0Zm1vbl9uNDFuMDA6IExpa2V3aXNlLgoJKiBsb2NhbGVkYXRhL3RzdC1mbW9uLWxvY2FsZXMvdHN0Zm1vbl95MDF5MTA6IExpa2V3aXNlLgoJKiBsb2NhbGVkYXRhL3RzdC1mbW9uLWxvY2FsZXMvdHN0Zm1vbl95MDJuMjI6IExpa2V3aXNlLgoJKiBsb2NhbGVkYXRhL3RzdC1mbW9uLWxvY2FsZXMvdHN0Zm1vbl95MjJuNDI6IExpa2V3aXNlLgoJKiBsb2NhbGVkYXRhL3RzdC1mbW9uLWxvY2FsZXMvdHN0Zm1vbl95MzB5MjE6IExpa2V3aXNlLgoJKiBsb2NhbGVkYXRhL3RzdC1mbW9uLWxvY2FsZXMvdHN0Zm1vbl95MzJuMzE6IExpa2V3aXNlLgoJKiBsb2NhbGVkYXRhL3RzdC1mbW9uLWxvY2FsZXMvdHN0Zm1vbl95NDB5MDA6IExpa2V3aXNlLgoJKiBsb2NhbGVkYXRhL3RzdC1mbW9uLWxvY2FsZXMvdHN0Zm1vbl95NDJuMjE6IExpa2V3aXNlLgoKCSogc3RkbGliL3N0cmZtb24uYzogQ29ycmVjdCBwcm9ibGVtcyB3aXRoIG1pc3Npbmcgb3IgZXh0cmEKCXNwYWNlcyBmb3IgdW51c3VhbCBjb21iaW5hdGlvbnMgb2Ygc2lnbl9wb3NuIGFuZCBzZXBfYnlfc3BhY2UuCglJbXByb3ZlZCBsZWZ0LXByZWNpc2lvbiBhbGlnbm1lbnQgY29kZS4KCjIwMDAtMDQtMDcgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHBvc2l4L01ha2VmaWxlIChDRkxBR1MtcmVnZXguYyk6IFJlbW92ZSBERUJVRy4KCjIwMDAtMDQtMTAgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGludGwvTWFrZWZpbGU6IERvbid0IHJ1biBkby1nZXR0ZXh0LXRlc3Qgd2hlbiBjcm9zcy1jb21waWxpbmcuCgoyMDAwLTA0LTA5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCglJbXBsZW1lbnQgaGFuZGxpbmcgb2YgcmVzdGFydGFibGUgY29udmVyc2lvbiBmdW5jdGlvbnMgYWNjb3JkaW5nIHRvCglJU08gQy4KCSogaWNvbnYvZ2NvbnYuaCAoX19nY29udl9mY3QpOiBBZGQgYWRkaXRpb25hbCBwYXJhbWV0ZXIuCgkqIGljb252L2djb252X2ludC5oIChfX0JVSUxUSU5fVFJBTlMpOiBMaWtld2lzZS4KCSogaWNvbnYvZ2NvbnYuYzogUGFzcyBhZGRpdGlvbmFsIHBhcmFtZXRlciB0byBjb252ZXJzaW9uIGZ1bmN0aW9uLgoJKiBpY29udi9nY29udl9zaW1wbGUuYyAoaW50ZXJuYWxfdWNzNF9sb29wX3NpbmdsZSk6IE5ldyBmdW5jdGlvbi4KCShpbnRlcm5hbF91Y3M0bGVfbG9vcF9zaW5nbGUpOiBOZXcgZnVuY3Rpb24uCgkoX19nY29udl90cmFuc2Zvcm1fYXNjaWlfaW50ZXJuYWwpOiBEZWZpbmUgT05FX0RJUkVDVElPTi4KCShfX2djb252X3RyYW5zZm9ybV9pbnRlcm5hbF9hc2NpaSk6IExpa2V3aXNlLgoJKF9fZ2NvbnZfdHJhbnNmb3JtX2ludGVybmFsX3V0ZjgpOiBMaWtld2lzZS4KCShfX2djb252X3RyYW5zZm9ybV91dGY4X2ludGVybmFsKTogTGlrZXdpc2UuCgkoX19nY29udl90cmFuc2Zvcm1fdWNzMl9pbnRlcm5hbCk6IExpa2V3aXNlLgoJKF9fZ2NvbnZfdHJhbnNmb3JtX2ludGVybmFsX3VjczIpOiBMaWtld2lzZS4KCShfX2djb252X3RyYW5zZm9ybV91Y3MycmV2ZXJzZV9pbnRlcm5hbCk6IExpa2V3aXNlLgoJKF9fZ2NvbnZfdHJhbnNmb3JtX2ludGVybmFsX3VjczJyZXZlcnNlKTogTGlrZXdpc2UuCgkoaW50ZXJuYWxfdWNzNGxlX2xvb3BfdW5hbGlnbmVkKTogQmVmb3JlIHJldHVybgoJX19HQ09OVl9JTkNPTVBMRVRFX0lOUFVUIGNoZWNrIHRoYXQgdGhlIHJlbWFpbmluZyBieXRlcyByZWFsbHkgZm9ybQoJYSB2YWxpZCBjaGFyYWN0ZXIuICBPdGhlcndpc2UgcmV0dXJuIF9fR0NPTlZfSUxMRUdBTF9JTlBVVC4KCShfX2djb252X3RyYW5zZm9ybV91dGY4X2ludGVybmFsKTogRGVmaW5lIFNUT1JFX1JFU1QgYW5kIFVOUEFDS19CWVRFUy4KCSogaWNvbnYvbG9vcC5jOiBGaXQgaW4gZGVmaW5pdGlvbiBvZiBmdW5jdGlvbiB0byBjb252ZXJ0IG9uZSBjaGFyYWN0ZXIKCWZvciBwcm9jZXNzaW5nIG9mIGxlZnQtb3ZlciBieXRlcyBmcm9tIHRoZSBzdGF0ZSBvYmplY3QuCgkqIGljb252L3NrZWxldG9uLmMgKGdjb252KTogUmVuYW1lIGluYnVmIHRvIGlucHRycCBhbmQgaW5idWZlbmQgdG8KCWluZW5kIHRvIG1hdGNoIG5hbWVzIGluIGxvb3AgZnVuY3Rpb25zLgoJKFJFU0VUX0lOUFVUX0JVRkZFUik6IENoYW5nZSBhcHBycHJpYXRlbHkuCgkoZ2NvbnYpOiBJZiBuZWVkZWQsIGNhbGwgZnVuY3Rpb24gdG8gcHJvY2VzcyBieXRlcyBmcm9tIHRoZSBzdGF0ZQoJb2JqZWN0LiAgU2ltaWxhciBhdCB0aGUgZW5kOiBzdG9yZSBsZWZ0IG92ZXIgYnl0ZXMgaWYgaW5wdXQgaXMKCWluY29tcGxldGUuCglUYWtlIGV4dHJhIGFyZ3VtZW50IGFuZCBhZGQgbmV3IGFyZ3VtZW50IHRvIGFsbCBjYWxscyBvZiB0aGUKCWNvbnZlcnNpb24gZnVuY3Rpb24uCgkqIGljb252ZGF0YS9pc28tMjAyMi1jbi5jOiBBZGp1c3QgbnVtZXJpYyB2YWx1ZXMgdXNlZCB0byBzdG9yZQoJaW5mb3JtYXRpb24gaW4gdGhlIHN0YXRlIG9iamVjdCB0byBub3QgY29uZmxpY3Qgd2l0aCBsZW5ndGggY291bnQuCgkqIGljb252ZGF0YS9pc28tMjAyMi1qcC5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzby0yMDIyLWtyLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvdW5pY29kZS5jOiBBZGp1c3QgZm9yIGNoYW5nZSBjaGFuZ2UgaW4gcGFyYW1ldGVycyBvZgoJc2tlbGV0b24gZnVuY3Rpb24uCgkqIGljb252ZGF0YS91dGYtMTYuYzogTGlrZXdpc2UuCgkqIGxpYmlvL2lvZndpZGUuYzogQWRkIG5ldyBwYXJhbWV0ZXIgdG8gYWxsIGNhbGxzIG9mIGNvbnZlcnNpb24KCWZ1bmN0aW9uLgoJKiB3Y3NtYnMvYnRvd2MuYzogTGlrZXdpc2UuCgkqIHdjc21icy9tYnJ0b3djLmM6IExpa2V3aXNlLgoJKiB3Y3NtYnMvbWJzbnJ0b3djcy5jOiBMaWtld2lzZS4KCSogd2NzbWJzL21ic3J0b3djcy5jOiBMaWtld2lzZS4KCSogd2NzbWJzL3djcnRvbWIuYzogTGlrZXdpc2UuCgkqIHdjc21icy93Y3NucnRvbWJzLmM6IExpa2V3aXNlLgoJKiB3Y3NtYnMvd2NzcnRvbWJzLmM6IExpa2V3aXNlLgoJKiB3Y3NtYnMvd2N0b2IuYzogTGlrZXdpc2UuCgoJKiBpY29udmRhdGEvZ2JnYmsuYzogQWx3YXlzIGRlZmluZSBNQVhfTkVFREVEX09VVFBVVCBhbmQKCU1BWF9ORUVERURfSU5QVVQuCgoyMDAwLTA0LTA3ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2tlcm5lbF9zaWdhY3Rpb24uaDogVXBkYXRlZCBmb3IKCW5ld2VyIGtlcm5lbHMuCgoyMDAwLTA0LTA3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHdjc21icy93Y2hhci5oIChfX21ic3RhdGVfdCk6IFJlbmFtZSBlbGVtZW50cy4gIE1ha2UgX192YWx1ZQoJZWxlbWVudCBhIHVuaW9uIHRvIGFsbG93IGJ5dGUgYWNjZXNzLgoJKiBpY29udmRhdGEvaXNvLTIwMjItY24uYzogQWRqdXN0IGZvciBjaGFuZ2Ugb2YgZWxlbWVudCBuYW1lIGluCgltYnN0YXRlX3QuCgkqIGljb252ZGF0YS9pc28tMjAyMi1qcC5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzby0yMDIyLWtyLmM6IExpa2V3aXNlLgoJKiB3Y3NtYnMvbWJzaW5pdC5jOiBMaWtld2lzZS4KCSogc3RkbGliL21ibGVuLmM6IExpa2V3aXNlLgoJKiBzdGRpby1jb21tb24vcHJpbnRmLXBhcnNlLmg6IExpa2V3aXNlLgoKMjAwMC0wNC0wNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9nZXRkZW50cy5jIChfX2dldGRlbnRzKTogVGhlIExpbnV4CglrZXJuZWwgZG9lcyBub3QgYWxsb3cgcmVsYXRpdmUgc2Vla3Mgb24gZGVzY3JpcHRvcnMgYXNzb2NpYXRlZAoJd2l0aCBkaXJlY3Rvcmllcy4gIEdvIGJhY2sgdG8gZ2V0IHRoZSBwb3NpdGlvbiBpbiB0aGUgZGlyZWN0b3J5CglldmVyeSB0aW1lIHdlIGVudGVyIHRoZSBmdW5jdGlvbi4gIFJldHVybiAtMSBhbmQgc2V0IGVycm5vIGlmIG9uZQoJZW50cnkgY291bGQgYmUgcmVhZCBmcm9tIHRoZSBrZXJuZWwgYnV0IGRvZXMgbm90IGZpdCBpbnRvIHRoZQoJYnVmZmVyIHBhc3NlZCBpbiBieSB0aGUgdXNlci4KCgkqIGxvY2FsZS9wcm9ncmFtcy9jaGFybWFwLmMgKGNoYXJtYXBfbmV3X2NoYXIpOiBBZGQgcGFyYW1ldGVyIHN0ZXAuCglTdXBwb3J0IC4uKDIpLi4gZWxsaXBzaXMuCgkocGFyc2VfY2hhcm1hcCk6IFJlY29nbml6ZSAuLigyKS4uIGV0YyBhbmQgcGFzcyBzdGVwIGRvd24uCglDb3JyZWN0bHkgZ2VuZXJhdGUgbmFtZXMgZm9yIFVDUzQgY2hhcmFjdGVycy4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jdHlwZS5jIChzdHJ1Y3QgdHJhbnNsaXRfaWdub3JlX3QpOiBBZGQgc3RlcC4KCShjdHlwZV9maW5pc2gpOiBXZSBrbm93IHRoZSB3aWRlIGNoYXJhY3RlciB2YWx1ZSBmb3IgPFNQPiwKCWRvbid0IHNlYXJjaC4KCShjaGFyY2xhc3Nfc3ltYm9saWNfZWxsaXBzaXMpOiBIYW5kbGUgLi4oMikuLiBlbGxpcHNpcy4KCShjaGFyY2xhc3NfdWNzNF9lbGxpcHNpcyk6IExpa2V3aXNlLgoJKHJlYWRfdHJhbnNsaXRfaWdub3JlX2VudHJ5KTogU3RvcmUgZWxsaXBzaXMgc3RlcC4KCShjdHlwZV9yZWFkKTogUmVjb2duaXplIC4uKDIpLi4gZXRjIGFuZCBwYXNzIHN0ZXAgZG93bi4KCgkqIGxvY2FsZS9wcm9ncmFtcy9saW5lcmVhZGVyLmMgKGxyX3Rva2VuKTogV2hlbiBzZWVpbmcgY29tbWVudAoJY2hhcmFjdGVyIGlnbm9yZSBvbmx5IHJlc3Qgb2YgbGluZSBpbiBzb3VyY2VzIGJ1dCBzdG9wIGF0IGVzY2FwZWQKCW5ld2xpbmUuCglSZWNvZ25pemUgLi4oMikuLiBhbmQgLi4uLigyKS4uLi4uCgoJKiBsb2NhbGUvcHJvZ3JhbXMvbG9jZmlsZS10b2tlbi5oIChlbnVtIHRva2VuX3QpOiBBZGQgdG9rX2VsbGlwc2lzMl8yCglhbmQgdG9rX2VsbGlwc2lzNF8yLgoKMjAwMC0wNC0wNiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvRGlzdDogaW5pdC1maXJzdC5oIGhhcyBiZWVuCglyZW1vdmVkLCByZW1vdmUgaXQgaGVyZSBhbHNvLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vRGlzdDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvRGlzdDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjMzIvRGlzdDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvRGlzdDogTGlrZXdpc2UuCgoyMDAwLTA0LTA2ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjMzIvcmVnaXN0ZXItZHVtcC5oOiBEb24ndAoJaW5jbHVkZSBiaXRzL3NpZ2NvbnRleHQuaC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9yZWdpc3Rlci1kdW1wLmg6IExpa2V3aXNlLgoKMjAwMC0wNC0wNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY29sbGF0ZS5jIChjb2xsYXRlX3JlYWQpOiBIYW5kbGUgZWxsaXBzaXMgaW4KCWNvbGxhdGlvbiBzeW1ib2wgZGVmaW5pdGlvbi4gIFZhbHVlIGluIHF1aXZhbGVuY2UgZGVmaW5pdGlvbiBtdXN0CgliZSBkZWZpbmVkLCBkb24ndCBjaGVjayB0aGF0IGl0IGlzIG5vdC4KCgkqIGxvY2FsZS9wcm9ncmFtcy9jaGFybWFwLmMgKHBhcnNlX2NoYXJtYXApOiBSZWNvZ25pemUgPFV4eHh4PgoJdmFsdWVzIGFzIGNoYXJhY3RlciBuYW1lcy4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jdHlwZS5jIChnZXRfY2hhcmFjdGVyKTogSGFuZGxlIG1pc3NpbmcKCXJlcGVydG9pcmUgbWFwIGNvcnJlY3RseS4KCjIwMDAtMDQtMDUgIENyaXN0aWFuIEdhZnRvbiAgPGdhZnRvbkByZWRoYXQuY29tPgoKCSogY3R5cGUvY3R5cGUuaCAoX19pc2N0eXBlX2wpOiBEZWZpbmUgZXZlbiBpZiBub3QgX19PUFRJTUlaRV9fCgliZWNhdXNlIGl0IGlzIHVzZWQgaW4gZ2VuZXJpYyBjb2RlLgoJKiB3Y3R5cGUvd2N0cmFucy5jOiBEZWZpbmUgX19jdHlwZTMyX3RvdXBwZXIgYW5kIF9fY3R5cGUzMl90b2xvd2VyLgoJKiB3Y3NtYnMvd2N3aWR0aC5oOiBEZWNsYXJlIF9fY3R5cGUzMl9iLgoJKiBpbnRsL2dldHRleHQuYzogSW5jbHVkZSA8bG9jYWxlLmg+LgoJKiBpbnRsL25nZXR0ZXh0LmM6IExpa2V3aXNlLgoKMjAwMC0wNC0wNSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiByZXNvbHYvaW5ldF9udG9wLmMgKGluZXRfbnRvcDQsIGluZXRfbnRvcDYsIGluZXRfbnRvcCk6IFVzZQoJc29ja2xlbl90IHR5cGUgZm9yIHNpemUuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9kbC1tYWNoaW5lLmggKFJUTERfU1RBUlQpOiBSZXdyaXRlIGZvciBuZXcKCWluaXQgZnVuY3Rpb24gaW50ZXJmYWNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvZGwtbWFjaGluZS5oIChSVExEX1NUQVJUKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL2JpdHMvc2V0am1wLmg6IERvbid0IGluY2x1ZGUKCXN5cy91Y29udGV4dC5oLgoJKF9fam1wX2J1Zik6IERlY2xhcmUgdGhlIHdob2xlIHR5cGUgc3RydWN0dXJlIGhlcmUsIGRvbid0IHVzZQoJdWNvbnRleHQuCgoyMDAwLTA0LTA1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252L3NrZWxldG9uLmMgKHB1dDE2dSk6IEZpeCB0eXBvLgoJUmVwb3J0ZWQgYnkgQnJ1bm8gSGFpYmxlIDxoYWlibGVAaWxvZy5mcj4uCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9pbml0LWZpcnN0Lmg6IE5vdCBuZWVkZWQgYW55bW9yZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2luaXQtZmlyc3QuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvaW5pdC1maXJzdC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9pbml0LWZpcnN0Lmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzMyL2luaXQtZmlyc3QuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvaW5pdC1maXJzdC5oOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L0Rpc3Q6IFJlbW92ZSBnZXRyZXN1aWQgYW5kIGdldHJlc2dpZC4KCSogTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgYWJpLXZlcnNpb25zLmF3ayBhbmQKCWZpcnN0dmVyc2lvbnMuYXdrLgoJUGF0Y2hlcyBieSBUb3JzdGVuIER1d2UgPGR1d2VAY2FsZGVyYS5kZT4uCgoyMDAwLTA0LTA1ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogbnNzL01ha2VmaWxlICgkKG9ianBmeCltYWtlZGIpOiBNb3ZlICQobGliZGwpIGFmdGVyIGRiLW9wZW4uby4KCjIwMDAtMDQtMDUgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzeXNkZXBzL202OGsvZGwtbWFjaGluZS5oIChSVExEX1NUQVJUKTogUmVhZGQgX2RsX3N0YXJ0X3VzZXIKCWVudHJ5IHBvaW50LCB1c2VkIG9uIEh1cmQuCgoyMDAwLTA0LTA0ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBpbnRsL01ha2VmaWxlOiBPbmx5IHJ1biB0aGUgZ2V0dGV4dCB0ZXN0IHdpdGggc2hhcmVkIGxpYnJhcmllcy4KCjIwMDAtMDMtMTYgIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zeXMvcHJvY2ZzLmggKHByZnByZWdzZXRfdCk6CglUeXBlZGVmIGZvciBlbGZfZnByZWdzZXRfdCBpbnN0ZWFkIG9mIGBlbGZfZnByZWdzZXRfdCAqJy4KCjIwMDAtMDQtMDUgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGJhYWxwZXJhemltLmZyb2IuY29tPgoKCSogTWFrZWNvbmZpZzogVW5kbyBsYXN0IGNoYW5nZS4KCSogY29uZmlndXJlLmluOiBJZiAtLWRpc2FibGUtc2hhcmVkIHdhcyBnaXZlbiwgZG9uJ3Qgc2V0IFZFUlNJT05JTkcsCglkb24ndCBkZWZpbmUgRE9fVkVSU0lPTklORywgYW5kIGRvbid0IGdpdmUgc2NhcmUgd2FybmluZyBmb3Igbm8KCXZlcnNpb25pbmcuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZWQuCgoyMDAwLTA0LTA0ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEBiYWFscGVyYXppbS5mcm9iLmNvbT4KCgkqIE1ha2Vjb25maWcgWyQoYnVpbGQtc2hhcmVkKSAhPSB5ZXNdICh2ZXJzaW9uaW5nKTogU2V0IHRvIGBubycuCgoyMDAwLTA0LTA0ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL2dlbmVyaWMvZmdldGV4Y3B0ZmxnLmM6IFVzZSBzaGxpYi1jb21wYXQgbWFjcm9zLgoKMjAwMC0wNC0wNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtcnVudGltZS5jIChmaXh1cCk6IENvcnJlY3QgaGFuZGxpbmcgb2Ygc3ltYm9scyBtYXJrZWQKCVNUVl9ISURERU4gYW5kIFNUVl9JTlRFUk5BTCBkdXJpbmcgbG9va3VwLgoJKHByb2ZpbGVfZml4dXApOiBMaWtld2lzZS4KCSogZWxmL2RsLXJlbG9jLmMgKFJFU09MVkUpOiBMaWtld2lzZS4KCgkqIGljb252L3NrZWxldG9uLmMgKEZVTkNUSU9OX05BTUUpOiBSZW9yZGVyIGluaXRpYWxpemF0aW9uIG9mCgl1bmFsaWduZWQgc28gdGhhdCBpdCBjb21waWxlcyBmb3Igc3lzdGVtIHdoaWNoIG5lZWQgdW5hbGlnbmVkCglhY2Nlc3MgaGFuZGxpbmcuCgoyMDAwLTA0LTA0ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogZWxmL2NhY2hlLmMgKHByaW50X2VudHJ5KTogT25seSBsb29rIGF0IHRoZSB0eXBlIGZpZWxkIHdoZW4KCXByaW50aW5nIHRoZSB0eXBlLgoKMjAwMC0wNC0wNCAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIGljb252ZGF0YS9iaWc1LmMgKEJPRFkpOiBGaXggdHlwby4KCjIwMDAtMDQtMDQgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzeXNkZXBzL202OGsvZGwtbWFjaGluZS5oIChSVExEX1NUQVJUKTogUmV3cml0ZSBmb3IgbmV3IGluaXQKCWZ1bmN0aW9uIGludGVyZmFjZS4gIFJlbW92ZSB1bnVzZWQgX2RsX3N0YXJ0X3VzZXIgZW50cnkgcG9pbnQuCgoyMDAwLTA0LTAzICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBpbmNsdWRlL2FycGEvaW5ldC5oIChfX2luZXRfYXRvbik6IEFkZCBwcm90b3lwZS4KCjIwMDAtMDQtMDEgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvbWFjaC9odXJkL21pcHMvaW5pdC1maXJzdC5jOiBVc2UgU0hBUkVEIGluc3RlYWQgb2YgUElDLgoKCSogc3lzZGVwcy91bml4L21pcHMvc3lzZGVwLmg6IFVzZSBfX1BJQ19fIGluc3RlYWQgb2YgUElDLgoJKiBzeXNkZXBzL21hY2gvbWlwcy90aHJlYWRfc3RhdGUuaDogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL2dlbmVyaWMvZmNscmV4Y3B0LmM6IFVzZSBzaGxpYi1jb21wYXQgbWFjcm9zLgoJKiBzeXNkZXBzL2dlbmVyaWMvZmVnZXRlbnYuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9mZXNldGVudi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2ZldXBkYXRlZW52LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvZnJhaXNlZXhjcHQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9mc2V0ZXhjcHRmbGcuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2dsb2IuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9lcnJsaXN0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9lcnJsaXN0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2Nob3duLmM6IExpa2V3aXNlLgoKMjAwMC0wNC0wMiAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogZWxmL2xkY29uZmlnLmggKEZMQUdfSUE2NF9MSUI2NCk6IE5ldy4gRGVmaW5lZC4KCjIwMDAtMDQtMDMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZWxmL2RsLWxvYWQuYyAoX2RsX2RzdF9zdWJzdGl0dXRlKTogUHJldHR5IHByaW50IGNvbW1lbnQuCgkoYWRkX25hbWVfdG9fb2JqZWN0KTogQWRkIGNhc3QgaW4gbWFsbG9jIGNhbGwuCgkoZmlsbGluX3JwYXRoKTogT3B0aW1pemUgbG9vcCB0byBpbml0aWFsaXplIC0+c3RhdHVzIGEgYml0LgoKCSogc3lzZGVwcy9pMzg2L2RsLW1hY2hpbmUuaDogVW5kbyBsYXN0IGNoYW5nZS4KCSogc3lzZGVwcy9tYWNoL2h1cmQvaTM4Ni9kbC1tYWNoaW5lLmggKFJUTERfU1RBUlRfU1BFQ0lBTF9JTklUKToKCVJlc3RvcmUgJWVkeCByZWdpc3RlciBhZnRlciBjYWxsIGhlcmUuCgoJKiBzeXNkZXBzL2FybS9hdG9taWNpdHkuaDogTmV3IGZpbGUuCglDb250cmlidXRlZCBieSBKZXNwZXIgU2tvdiA8anNrb3ZAcmVkaGF0LmNvbT4uCgoyMDAwLTA0LTAzICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEBiYWFscGVyYXppbS5mcm9iLmNvbT4KCgkqIE1ha2Vjb25maWcgKHByZXByb2Nlc3MtdmVyc2lvbnMpOiBVbmRvIGxhc3QgY2hhbmdlLgoJSW5zdGVhZCwgcGFzcyAtSSQoY29tbW9uLW9iamRpcikgLUkkKC4uKWluY2x1ZGUgaW5zdGVhZCBvZiAkKENQUEZMQUdTKS4KCgkqIHN5c2RlcHMvbWFjaC9odXJkL2kzODYvaW5pdC1maXJzdC5jIChpbml0KTogRG9uJ3Qgc2V0IF9fZW52aXJvbgoJaGVyZSwgYmVmb3JlIHdlIG1pZ2h0IG1vdmUgdGhlIHN0YWNrLgoJKHBvc2l4bGFuZF9pbml0KTogU2V0IF9fbGliY19hcmdjLCBfX2xpYmNfYXJnYywgYW5kIF9fZW52aXJvbiBoZXJlLgoJKGluaXQxKTogQW5kIG5vdCBoZXJlLgoKCSogc3lzZGVwcy9pMzg2L2RsLW1hY2hpbmUuaCAoUlRMRF9TVEFSVCk6IEZpeCBjb2RlIGJyb2tlbiBieSBsYXN0CgljaGFuZ2UsIHRvIHJlc3RvcmUgYXJnYyB2YWx1ZSBpbiBjYWxsLWNsb2JiZXJlZCByZWdpc3RlciBhZnRlcgoJUlRMRF9TVEFSVF9TUEVDSUFMX0lOSVQsIHdoaWNoIHdpbGwgY29udGFpbiBhIGNhbGwuCgoJKiBlbGYvZGwtZGVwcy5jIChfZGxfbWFwX29iamVjdF9kZXBzKTogRml4IHNpemUgY2FsY3VsYXRpb25zIGZvcgoJYWxsb2NhdGluZyBhbmQgaW5pdGlhbGl6aW5nIEwtPmxfaW5pdGZpbmkuCgoJKiByZXNvbHYvTWFrZWZpbGUgKGhlYWRlcnMpOiBBZGQgYml0cy9uZXRkYi5oLCBzbyBpdCBnZXRzIGluc3RhbGxlZC4KCjIwMDAtMDQtMDMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZWxmL2RsLWxvYWQuYyAoX2RsX2luaXRfcGF0aHMpOiBVc2UgKHZvaWQqKSAtMSB0byBzaWduYWwgbm9uLWV4aXN0aW5nCglSVU5QQVRILCBSUEFUSCwgYW5kIExEX0xJQlJBUllfUEFUSC4KCShvcGVuX3BhdGgpOiBDaGFuZ2UgdHlwZSBvZiBmb3VydGggcGFyYW1ldGVyLiAgTWFrZSBwb2ludGVyIHRvIGFycmF5CglvZiBwb2ludGVycy4gIENyZWF0ZSB2YXJpYWJsZSBkaXJzIHdpdGggb3JpZ2luYWwgdHlwZS4KCVRyYWNrIHdoZXRoZXIgYW55IGRpcmVjdG9yeSBmb3IgdGhlIG9iamVjdCBleGlzdHMgYW5kIGlmIG5vdCwKCWNoYW5nZSAqRElSU1AgdG8gKHZvaWQqKSAtMSB0byBzaWduYWwgdGhlcmUgaXMgbm8gc3VjaCBzZWFyY2ggcGF0aC4KCShfZGxfbWFwX29iamVjdCk6IENoYW5nZSBhbGwgY2FsbHMgb2Ygb3Blbl9wYXRoLgoJUmV3cml0ZSBkZWNvbXBvc2VfcnBhdGggY2FsbHMuCgoyMDAwLTAzLTMxICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogc3RyaW5nL3N0cmZyeS5jOiBEZWNsYXJlIFNUQVRFIGFzIGFycmF5IG9mIGNoYXIgaW5zdGVhZCBvZiBpbnQKCWFuZCBkbyBub3QgaW5pdGlhbGl6ZSBpdCAoZG9uZSBieSBpbml0c3RhdGVfcikuICBQYXNzIGNvcnJlY3QKCXNpemUuCgoyMDAwLTA0LTAzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9sZHNvZGVmcy5oOiBGaXggdHlwbyBpbiBjb21tZW50LgoKCSogc3lzZGVwcy9pMzg2L2RsLW1hY2hpbmUuaCAoUlRMRF9TVEFSVCk6IFNxdWVlemUgb25lIG1vcmUKCWluc3RydWN0aW9uIG91dCBvZiB0aGUgY29kZS4KCjIwMDAtMDQtMDIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZWxmL2RsLWZpbmkuYyAoX2RsX2ZpbmkpOiBJbmNyZW1lbnQgaiBjb3VudGVyIGFmdGVyIHN3YXBwaW5nIGluCgllbGVtZW50IGF0IHRoaXMgcG9zaXRpb24uCgoJKiBlbGYvVmVyc2lvbnMgW2xkLnNvXSAoR0xJQkNfMi4yKTogRXhwb3J0IF9kbF9sb2FkX2xvY2suCgkqIGVsZi9saW5rLmggKHN0cnVjdCBsaW5rX21hcCk6IEFkZCBsX3JlbGRlcHNtYXgsIGxfcmVsZGVwc2FjdCwgYW5kCglsX3JlbGRlcHMgZWxlbWVudHMuCgkqIGVsZi9kbC1sb29rdXAuYyAoYWRkX2RlcGVuZGVuY3kpOiBOZXcgZnVuY3Rpb24uCgkoX2RsX2xvb2t1cF9zeW1ib2wpOiBVc2UgaXQgd2hlbmV2ZXIgc3ltYm9sIHdhcyBmb3VuZCBpbiBhIGdsb2JhbCwKCWR5bmFtaWNhbGx5IGxvYWRlZCBvYmplY3QuCgkoX2RsX2xvb2t1cF9zeW1ib2xfc2tpcCk6IExpa2V3aXNlLgoJKF9kbF9sb29rdXBfdmVyc2lvbmVkX3N5bWJvbCk6IExpa2V3aXNlLgoJKF9kbF9sb29rdXBfdmVyc2lvbmVkX3N5bWJvbF9za2lwKTogTGlrZXdpc2UuCgkqIGVsZi9kbC1vcGVuLmM6IERvbid0IGRlZmluZSBfZGxfbG9hZF9sb2NrIGhlcmUuLi4KCSogZWxmL3J0bGQuYzogLi4uYnV0IGhlcmUuLi4KCSogZWxmL2RsLXN1cHBvcnQuYzogLi4uYW5kIGhlcmUuCgkqIGVsZi9kbC1jbG9zZS5jIChfZGxfY2xvc2UpOiBDbG9zZSBhbHNvIGRlcGVuZGVudCBvYmplY3RzIGludHJvZHVjZQoJdGhyb3VnaCByZWxvY2F0aW9uLgoJKiBlbGYvZGwtZmluaS5jIChfZGxfZmluaSk6IEFsc28gdGFrZSBkZXBlbmRlbmNpZXMgaW50cm9kdWNlZCB0aHJvdWdoCglyZWxvY2F0aW9ucy4KCSogZGxmY24vTWFrZWZpbGUgKGdscmVmbWFpbi5vdXQpOiBUZXN0IGlzIG5vdCBleHBlY3RlZCB0byBmYWlsCglhbnltb3JlLgoJKiBkbGZjbi9nbHJlZm1haW4uYzogQWRkIG9uZSBtb3JlIGRlYnVnIG1lc3NhZ2UuCgoJKiBNYWtlY29uZmlnIChwcmVwcm9jZXNzLXZlcnNpb25zKTogRG9uJ3QgYWRkICQoQ1BQRkxBR1MpIHRvIGNvbXBpbGVyCgljb21tYW5kIGxpbmUuCgkqIE1ha2VydWxlcyAoc3lzZC12ZXJzaW9ucyk6IFVzZSAoICkgaW5zdGVhZCBvZiB7IH0uCgoJKiBlbGYvZGwtbG9hZC5jOiBVc2UgX19idWlsdGluX2V4cGVjdCB0byBzaWduYWwgdGhhdCBjb21waWxlciBzaG91bGQKCW9wdGltaXplIGZvciB0aGUgbm9uLWRlYnVnZ2luZyBjYXNlLgoJKiBlbGYvZGwtbG9va3VwLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvbGliYy1zdGFydC5jOiBMaWtld2lzZS4KCjIwMDAtMDQtMDIgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGJhYWxwZXJhemltLmZyb2IuY29tPgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvaTM4Ni9pbml0LWZpcnN0LmM6IFJlcGxhY2UgUElDICNpZmRlZnMgd2l0aCBTSEFSRUQuCgkoaW5pdDEpOiBEb24ndCBpbml0aWFsaXplIF9fZW52aXJvbiBoZXJlLCBzaW5jZSBpbml0IGFscmVhZHkgZG9lcyBpdC4KCShmaXJzdF9pbml0KTogTmV3IGZ1bmN0aW9uLCBicm9rZW4gb3V0IG9mIF9pbml0LgoJKF9odXJkX3N0YWNrX3NldHVwKTogVXNlIGl0LgoJW1NIQVJFRF0gKF9kbF9pbml0X2ZpcnN0KTogTmV3IGZ1bmN0aW9uLCByZW5hbWVkIGZyb20gb2xkIF9pbml0LgoJKGluaXQxKSBbU0hBUkVEXTogRG9uJ3QgY2FsbCBwb3NpeGxhbmRfaW5pdCBoZXJlLgoJKHBvc2l4bGFuZF9pbml0KTogVGFrZSBFTlZQIGFyZywgc28gc2lnbmF0dXJlIGlzIHVzdWFsIGZvciBpbml0aWFsaXplci4KCVtTSEFSRURdIChfaW5pdCk6IERlZmluZSBhcyBhbGlhcyBmb3IgcG9zaXhsYW5kX2luaXQuCglbISBTSEFSRURdIChfX2xpYmNfZmlyc3RfaW5pdCk6IERlZmluZSBhcyBhbGlhcyBmb3IgcG9zaXhsYW5kX2luaXQuCgkqIHN5c2RlcHMvaTM4Ni9kbC1tYWNoaW5lLmggKFJUTERfU1RBUlQpOiBJbnNlcnQgdGhlIG1hY3JvCglSVExEX1NUQVJUX1NQRUNJQUxfSU5JVCBiZWZvcmUgY2FsbGluZyBpbml0aWFsaXplcnMuCgkoUlRMRF9TVEFSVF9TUEVDSUFMX0lOSVQpOiBEZWZpbmUgdG8gZW1wdHkgaWYgdW5kZWZpbmVkLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9pMzg2L2RsLW1hY2hpbmUuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvbWFjaC9odXJkL2RsLXN5c2RlcC5jIChfZGxfaW5pdF9maXJzdCk6IE5ldyB3ZWFrIGZ1bmN0aW9uLgoJKiBlbGYvVmVyc2lvbnMgKHtsaWJjLGxkLnNvfTogR0xJQkNfMi4yKTogQWRkIF9kbF9pbml0X2ZpcnN0LgoKCSogc3RkaW8tY29tbW9uL3RtcGZpbGUuYyBbISBVU0VfSU5fTElCSU9dOiBObyBhbGlhcyBuZWVkZWQsCglzaW5jZSB3ZSBkZWZpbmUgdGhlIGZ1bmN0aW9uIHdpdGggdGhlIG5hbWUgYHRtcGZpbGUnLgoKCSogbWFjaC9WZXJzaW9uczogRGVmaW5lIFNIQVJFRCBpbnN0ZWFkIG9mIFBJQyB0byBhZmZlY3Qgc2hsaWItY29tcGF0LmguCgkqIGh1cmQvVmVyc2lvbnM6IExpa2V3aXNlLgoKMjAwMC0wNC0wMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtcnVudGltZS5jIChmaXh1cCk6IEZpeCB0eXBvIGluIGNvbW1lbnQuCgoJKiByZXNvbHYvbmV0ZGIuaCAoZ2V0bmFtZWluZm8pOiBBbGwgbGVuZ3RoIHBhcmFtZXRlcnMgYXJlIG9mIHR5cGUKCXNvY2tsZW5fdC4KCSogaW5ldC9nZXRuYW1laW5mby5jOiBMaWtld2lzZS4KCjIwMDAtMDQtMDEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvdW5pc3RkLmggKHNvY2tsZW5fdCk6IERlZmluZSBpZiBpdCBoYXMgbm90IHlldCBoYXBwZW5lZC4KCShnZXRob3N0bmFtZSk6IENoYW5nZSB0eXBlIG9mIHNlY29uZCBwYXJhbWV0ZXIgdG8gc29ja2xlbl90LgoJKiBpbmNsdWRlL3VuaXN0ZC5oIChfX2dldGhvc3RuYW1lKTogQ2hhbmdlIHR5cGUgb2Ygc2Vjb25kCglwYXJhbWV0ZXIgdG8gc29ja2xlbl90LgoJKiBzeXNkZXBzL2dlbmVyaWMvZ2V0aG9zdG5hbWUuYyAoX19nZXRob3N0bmFtZSk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9nZXRob3N0bmFtZS5jIChfX2dldGhvc3RuYW1lKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2dldGhvc3RuYW1lLmMgKF9fZ2V0aG9zdG5hbWUpOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3Yvc3lzdjQvc29sYXJpczIvZ2V0aG9zdG5hbWUuYyAoX19nZXRob3N0bmFtZSk6CglMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZ2V0aG9zdG5hbWUuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvc29ja2V0Lmg6IFVzZSBfX3NvY2tsZW5fdCB0byBkZWZpbmUgc29ja2xlbl90LgoJQWxsb3cgZGVmaW5pdGlvbiBlbHNld2hlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9iaXRzL3NvY2tldC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9zb2NrZXQuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvYml0cy9zb2NrZXQuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL3R5cGVzLmg6IERlZmluZSBfX3NvY2tsZW5fdC4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2JpdHMvdHlwZXMuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2hwdXgvYml0cy90eXBlcy5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvYml0cy90eXBlcy5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy90eXBlcy5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9iaXRzL3R5cGVzLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9iaXRzL3R5cGVzLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9zeXN2NC9zb2xhcmlzMi9iaXRzL3R5cGVzLmg6IExpa2V3aXNlLgoKCSogaW5ldC9hcnBhL2luZXQuaCAoaW5ldF9hZGRyKTogQ2hhbmdlIHJldHVybiB0eXBlIHRvIGluX2FkZHJfdC4KCShpbmV0X2xuYW9mKTogTGlrZXdpc2UuCgkoaW5ldF9uZXRvZik6IExpa2V3aXNlLgoJKGluZXRfbmV0d29yayk6IExpa2V3aXNlLgoJKGluZXRfYXRvbik6IExpa2V3aXNlLgoJKGluZXRfbWFrZWFkZHIpOiBDaGFuZ2UgcGFyYW1ldGVyIHR5cGVzIHRvIGluX2FkZHJfdC4KCShpbmV0X25ldGEpOiBMaWtld2lzZS4KCShpbmV0X250b3ApOiBDaGFuZ2UgdHlwZSBvZiBsYXN0IHBhcmFtZXRlciB0byBzb2NrbGVuX3QuCgkoaW5ldF9hdG9uKTogT25seSBtYWtlIGF2YWlsYWJsZSBpZiBfX1VTRV9NSVNDLgoJKGluZXRfbmV0YSk6IExpa2V3aXNlLgoJKGluZXRfbmV0X250b3ApOiBMaWtld2lzZS4KCShpbmV0X25ldF9wdG9uKTogTGlrZXdpc2UuCgkoaW5ldF9uc2FwX250b2EpOiBMaWtld2lzZS4KCgkqIGluZXQvaW4uaDogRGVmaW5lIGluX3BvcnRfdCB0eXBlLgoJRGVmaW5lIGluX2FkZHJfdCB0eXBlLgoJKHN0cnVjdCBpbl9hZGRyKTogVXNlIGluX2FkZHJfdCBpbiBkZWZpbml0aW9uLgoJKElOX0NMQVNTQSk6IFVzZSBjYXN0IHRvIGluX2FkZHJfdC4KCShJTl9DTEFTU0IpOiBMaWtld2lzZS4KCShJTl9DTEFTU0MpOiBMaWtld2lzZS4KCShJTl9DTEFTU0QpOiBMaWtld2lzZS4KCShJTl9FWFBFUklNRU5UQUwpOiBMaWtld2lzZS4KCShJTl9CQURDTEFTUyk6IExpa2V3aXNlLgoJKElOQUREUl9BTlkpOiBMaWtld2lzZS4KCShJTkFERFJfQlJPQURDQVNUKTogTGlrZXdpc2UuCgkoSU5BRERSX05PTkUpOiBMaWtld2lzZS4KCShJTkFERFJfTE9PUEJBQ0spOiBMaWtld2lzZS4KCShJTkFERFJfVU5TUEVDX0dST1VQKTogTGlrZXdpc2UuCgkoSU5BRERSX0FMTEhPU1RTX0dST1VQKTogTGlrZXdpc2UuCgkoSU5BRERSX0FMTFJUUlNfR1JPVVApOiBMaWtld2lzZS4KCShJTkFERFJfTUFYX0xPQ0FMX0dST1VQKTogTGlrZXdpc2UuCgkoc3RydWN0IHNvY2thZGRyX2luKTogVXNlIGluX3BvcnRfdCBmb3Igc2luX3BvcnQgZWxlbWVudC4KCShzdHJ1Y3Qgc29ja2FkZHJfaW42KTogVXNlIGluX3BvcnRfdCBmb3Igc2luNl9wb3J0IGVsZW1lbnQuCglVc2UgdWludDhfdCBpbnN0ZWFkIG9mIHVfaW50OF90LgoKCSogcmVzb2x2L2luZXRfYWRkci5jIChpbmV0X2FkZHIpOiBDaGFuZ2UgcmV0dXJuIHR5cGUgdG8gaW5fYWRkcl90LgoJQ2FsbCBfX2luZXRfYXRvbiBpbnN0ZWFkIG9mIGluZXRfYXRvbi4KCShfX2luZXRfYXRvbik6IFJlbmFtZWQgZnJvbSBpbmV0X2F0b24uICBBZGQgd2VhayBhbGlhcyB1bmRlciBvbGQgbmFtZS4KCgkqIHJlc29sdi9uZXRkYi5oIChnZXRob3N0YnluYW1lMik6IERlZmluZSBvbmx5IGlzIF9fVVNFX01JU0MuCgkoaW5uZXRncik6IExpa2V3aXNlLgoJKHN0cnVjdCBhZGRyaW5mbyk6IFVzZSBzb2NrbGVuX3QgZm9yIGFpX2FkZHJsZW4gZWxlbWVudC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvaW4uaCAoSVBWNl9NVFVfRElTQ09WRVIsIElQVjZfTVRVLAoJSVBWNl9SRUNWRVJSKTogTmV3IGRlZmluZXMuCgoJKiBpbmNsdWRlL25ldGRiLmg6IENoYW5nZSB0eXBlIG9mIGZpcnN0IHBhcmFtZXRlciBvZiBfX2dldG5ldGJ5YWRkcl9yLgoJKiBpbmV0L2dldG5ldGJ5YWQuYzogTGlrZXdpc2UuCgkqIGluZXQvZ2V0bmV0YnlhZF9yLmM6IExpa2V3aXNlLgoJKiBuaXMvbnNzX25pcy9uaXMtbmV0d29yay5jOiBMaWtld2lzZS4KCSogbmlzL25zc3BsdXNfbmlzL25pc3BsdXMtbmV0d29yay5jOiBMaWtld2lzZS4KCSogbnNzL25zc19maWxlcy9maWxlcy1uZXR3b3JrLmM6IExpa2V3aXNlLgoJKiByZXNvbHYvbmV0ZGIuaDogRGVmaW5lIHVpbnQzMl90IGlmIG5vdCBhbHJlYWR5IGhhcHBlbmVkLgoJSW5jbHVkZSBiaXRzL25ldGRiLmguICBSZW1vdmUgZGVmaW5pdGlvbiBvZiBzdHJ1Y3QgbmV0ZW50LgoJQ2hhbmdlIHR5cGUgb2YgZmlyc3QgcGFyYW1ldGVyIG9mIGdldG5ldGJ5YWRkcl9yIGFuZCBnZXRuZXRieWFkZHIuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zdGRpbnQuaDogQWxsb3cgZGVmaW5pdGlvbiBvZiB1aW50MzJfdCBlbHNld2hlcmUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL25ldGRiLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9iaXRzL25ldGRiLmg6IE5ldyBmaWxlLgoKCSogZGxmY24vTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgZ2xyZWZsaWIxLmMgYW5kIGdscmVmbGliMi5jLgoJKHRlc3RzKTogQWRkIGdscmVmbWFpbi4KCUFkZCBydWxlcyB0byBidWlsZCBtb2R1bGVzIGFuZCBydW4gdGVzdHMuICBJZ25vcmUgcmVzdWx0IG9mIGdscmVmbWFpbgoJZm9yIG5vdyBzaW5jZSBpdCBmYWlscy4KCSogZGxmY24vZ2xyZWZtYWluLmM6IE5ldyBmaWxlLgoJKiBkbGZjbi9nbHJlZmxpYjEuYzogTmV3IGZpbGUuCgkqIGRsZmNuL2dscmVmbGliMi5jOiBOZXcgZmlsZS4KCgkqIHRlc3Qtc2tlbGV0b24uYzogSW5jbHVkZSA8c3RyaW5nLmg+IGZvciBzdHJzaWduYWwgcHJvdG90eXBlLgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLWNvbGxhdGUuYyAoY2hlY2tfZHVwbGljYXRlKTogQWxsb3cgcmVwZXJ0b2lyZQoJdG8gYmUgbWlzc2luZy4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2luaXQtZmlyc3QuYyAoaW5pdCk6IEFkZCBjb2RlIGZyb20KCWZvcm1lciBpbml0LWZpcnN0LmguICBJbml0aWFsaXplIF9fbGliY19tdWx0aXBsZV9saWJjcy4KCjIwMDAtMDMtMzEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnYvc2tlbGV0b24uYzogRGVmaW5lIGFjY2VzcyBtYWNyb3Mgd2l0aCB1IHN1ZmZpeC4gIEFkanVzdAoJI2lmIGV4cHJlc3Npb24gZm9yIHVzZSBvZiB1bmFsaWduZWQgZnVuY3Rpb24gdG8gdGhlIG9uZSB1c2VkIGluCgl0aGUgZGVmaW5pdGlvbiBvZiB0aGVzZSBmdW5jdGlvbnMuCgkqIGljb252L2xvb3AuYzogVW5kZWZpbmVkIGB1bmFsaWduZWQnIGJlZm9yZSByZWN1cnNpdmUgaW5jbHVzaW9uLgoJKiBpY29udi9nY29udl9zaW1wbGUuYyAoaW50ZXJuYWxfdWNzNF9sb29wX3VuYWxpZ25lZCk6IE5ldyBmdW5jdGlvbi4KCShpbnRlcm5hbF91Y3M0bGVfbG9vcF91bmFsaWduZWQpOiBOZXcgZnVuY3Rpb24uCgoJKiBlbGYvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgZGVwMS5jLCBkZXAyLmMsIGRlcDMuYywgYW5kIGRlcDQuYy4KCSh0ZXN0cyk6IEFkZCBvcmRlci4KCShtb2R1bGUtbmFtZXMpOiBBZGQgZGVwMSwgZGVwMiwgZGVwMywgYW5kIGRlcDQuCglBZGQgZGVwZW5kZW5jaWVzIGZvciBkZXAqIG1vZHVsZXMgYW5kIG9yZGVyLgoJRGVmaW5lIHJ1bGUgZm9yIG9yZGVyLm91dCB3aGljaCBjaGVja3MgdGhlIHJlc3VsdC4KCSogZWxmL2RlcDEuYzogTmV3IGZpbGUuCgkqIGVsZi9kZXAyLmM6IE5ldyBmaWxlLgoJKiBlbGYvZGVwMy5jOiBOZXcgZmlsZS4KCSogZWxmL2RlcDQuYzogTmV3IGZpbGUuCgkqIGVsZi9vcmRlci5jOiBOZXcgZmlsZS4KCgkqIGVsZi9kbC1pbml0LmM6IEZpeCB0eXBvIGluIGNvbW1lbnQuCgoyMDAwLTAzLTMxICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL21pcHMvZGwtbWFjaGluZS5oIChSVExEX1NUQVJUKTogUmV3cml0dGVuIHRvIG1hdGNoIG5ldwoJaW5pdCBmdW5jdGlvbiBpbnRlcmZhY2UuCgkqIHN5c2RlcHMvbWlwcy9taXBzNjQvZGwtbWFjaGluZS5oIChSVExEX1NUQVJUKTogTGlrZXdpc2UuCgoyMDAwLTAzLTMxICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL21pcHMvZnB1L2ZnZXRleGNwdGZsZy5jOiBGaXggbGFzdCBwYXRjaCB0byB1c2UgI2lmLgoJKiBzeXNkZXBzL21pcHMvZnB1L2ZlZ2V0ZW52LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21pcHMvZnB1L2ZldXBkYXRlZW52LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21pcHMvZnB1L2ZjbHJleGNwdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL2ZwdS9mZXNldGVudi5jOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9sZHNvZGVmcy5oOiBEVF9JTklUX0FSUkFZIGlzIG5vdCByZWxvY2F0ZWQKCWFueW1vcmUsIHVwZGF0ZSBjb21tZW50LgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2htY3RsLmM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2VtY3RsLmMgKHN0cnVjdCBfX29sZF9zZW1pZF9kcyk6IFJlbW92ZQoJU0hMSUJfQ09NUEFUIC0gdGhlIHN0cnVjdCBpcyBhbHdheXMgbmVlZGVkLgoKMjAwMC0wMy0zMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2kzODYvZGwtbWFjaGluZS5oIChSVExEX1NUQVJUKTogT3B0aW1pemUgZm9yIGk2ODYuCgkqIGVsZi9kbC1zdXBwb3J0LmM6IERlZmluZSBfZGxfc3RhcnRpbmdfdXAuCgoyMDAwLTAzLTMwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGVsZi9kbC1pbml0LmMgKF9kbF9pbml0KTogQ2xlYXIgX2RsX3N0YXJ0aW5nX3VwIGF0IGVuZCBvZiBmdW5jdGlvbi4KCSogc3lzZGVwcy9pMzg2L2RsLW1hY2hpbmUuaDogUmVtb3ZlIGNvZGUgdG8gY2xlYXIgX2RsX3N0YXJ0aW5nX3VwLgoKCSogbWlzYy9zeXMvY2RlZnMuaDogRG9uJ3QgYWxsb3cgZ2NjIGluIHRyYWRpdGlvbmFsIG1vZGUgdG8gYmUgdXNlZC4KCgkqIGVsZi9NYWtlZmlsZSAoZGwtcm91dGluZXMpOiBSZW1vdmUgcHJlaW5pdC4KCSogZWxmL1ZlcnNpb25zOiBSZW1vdmUgX2RsX3ByZWluaXQuCgkqIGVsZi9kbC1wcmVpbml0LmM6IFJlbW92ZWQuICBNb3ZlIGNvbnRlbnQgaW50by4uLgoJKiBlbGYvZGwtaW5pdC5jOiAuLi5oZXJlLgoJKiBzeXNkZXBzL2kzODYvZGwtbWFjaGluZS5oIChSVExEX1NUQVJUKTogUmVtb3ZlIGNhbGwgdG8gX2RsX3ByZWluaXQuCgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy9zaG0uaCAoc3RydWN0IHNobWlkX2RzKTogQ29ycmVjdCBuYW1lcyBvZgoJZWxlbWVudHMuCgoyMDAwLTAzLTI5ICBHZW9mZiBDbGFyZSAgPGd3Y0B1bmlzb2Z0LmNvbT4KCgkqIHN0ZGxpYi9zdHJmbW9uLmM6IENvcnJlY3RlZCBwcm9ibGVtcyB3aXRoIHRoZSBjb2RlIHRoYXQKCXNldHMgZGVmYXVsdCB2YWx1ZXMgZm9yIFtucF1fc2VwX2J5X3NwYWNlIGFuZAoJW25wXV9zaWduX3Bvc247IGFsc28gdGhlIG5ldyBwb3NpdGl2ZS9uZWdhdGl2ZSBhbGlnbm1lbnQKCWNvZGUgZnJvbSB0aGUgcHJldmlvdXMgcGF0Y2ggd2FzIG5vdCBxdWl0ZSByaWdodCBmb3IKCVtucF1fc2lnbl9wb3NuID0gMC4KCgkqIGxvY2FsZWRhdGEvdHN0LWZtb24uZGF0YTogQ2hhbmdlcyBjb3JyZXNwb25kaW5nIHRvIHRoZQoJdHdvIHNldHMgb2YgZml4ZXMgbWFkZSB0byBzdGRsaWIvc3RyZm1vbi5jLgoKMjAwMC0wMy0yOSAgSmVzIFNvcmVuc2VuICA8amVzQHBjYXRsczAxLmNlcm4uY2g+CgoJKiBtYWxsb2MvbWFsbG9jLmM6IERlY2xhcmUgYml0IGZsYWdzIFVMIHNvIHRoYXQgdGhleSB3aWxsIG5vdAoJZGVmYXVsdCB0byBpbnQgc2l6ZSB3aGVuIGJlaW5nIGludmVydGVkLgoKMjAwMC0wMy0yOSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2Vycmxpc3QuYzogVXNlIHNobGliLWNvbXBhdCBtYWNyb3MuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9zaWdsaXN0LmM6IExpa2V3aXNlLgoKMjAwMC0wMy0yOSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPiwKCSAgICBSYWxmIEJhZWNobGUgPHJhbGZAdW5pLWtvYmxlbnouZGU+CgoJKiBNYWtlY29uZmlnOiBJbnRyb2R1Y2UgbmV3IHZhcmlhYmxlIFNIQVJFRCB0byBtYXJrIGNvZGUgdXNlZCBpbgoJdGhlIHNoYXJlZCBsaWJyYXJ5LgoJKiBlbGYvZGwtY2xvc2UuYzogVXNlIGl0IGluc3RlYWQgb2YgUElDLgoJKiBlbGYvZGwtbG9hZC5jOiBMaWtld2lzZS4KCSogZWxmL2RsLW9wZW4uYzogTGlrZXdpc2UuCgkqIGh1cmQvZ2V0ZXVpZHMuYzogTGlrZXdpc2UuCgkqIGluY2x1ZGUvbGliYy1zeW1ib2xzLmg6IExpa2V3aXNlLgoJKiBpbmNsdWRlL3NobGliLWNvbXBhdC5oOiBMaWtld2lzZS4KCSogbGliaW8vZnJlb3Blbi5jOiBMaWtld2lzZS4KCSogbGludXh0aHJlYWRzL2NhbmNlbC5jOiBMaWtld2lzZS4KCSogbGludXh0aHJlYWRzL3B0aHJlYWQuYzogTGlrZXdpc2UuCgkqIGxpbnV4dGhyZWFkcy93cmFwc3lzY2FsbC5jOiBMaWtld2lzZS4KCSogbnNzL25zc3dpdGNoLmM6IExpa2V3aXNlLgoJKiBzdGRpby1jb21tb24vdmZwcmludGYuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvYXJtL2luaXQtZmlyc3QuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9pbml0LWZpcnN0LmM6IExpa2V3aXNlCgkqIHN5c2RlcHMvZ2VuZXJpYy9pbml0LWZpcnN0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvbGliYy1zdGFydC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL2luaXQtZmlyc3QuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG93ZXJwYy9lbGYvbGliYy1zdGFydC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaW5pdC1maXJzdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL3NpZ2xpc3QuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9lcnJsaXN0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2Nob3duLmM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9taXBzL21hY2hpbmUtZ21vbi5oIChhc20pOiBVc2UgX19QSUNfXyBhcyBjaGVjay4KCjIwMDAtMDMtMjkgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX3J1bnRpbWVfc2V0dXApOgoJVXNlIERfUFRSIHRvIGFjY2VzcyByZWxvY2F0ZWQgZW50cmllcyBpbiBsX2luZm8uCgkoZWxmX21hY2hpbmVfcmVsYSk6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfcnVudGltZV9zZXR1cCk6CglMaWtld2lzZS4KCShlbGZfbWFjaGluZV9yZWxhKTogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL3Bvd2VycGMvZGwtbWFjaGluZS5jIChfX2VsZl9tYWNoaW5lX3J1bnRpbWVfc2V0dXApOgoJTGlrZXdpc2UuCgkoX19lbGZfbWFjaGluZV9maXh1cF9wbHQpOiBMaWtld2lzZS4KCShfX3Byb2Nlc3NfbWFjaGluZV9yZWxhKTogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL202OGsvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9ydW50aW1lX3NldHVwKTogTGlrZXdpc2UuCgkoZWxmX21hY2hpbmVfcmVsYSk6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9hcm0vZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9ydW50aW1lX3NldHVwKTogTGlrZXdpc2UuCgkoZWxmX21hY2hpbmVfcmVsKTogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL2FscGhhL2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfcnVudGltZV9zZXR1cCk6IExpa2V3aXNlLgoJKGVsZl9tYWNoaW5lX2ZpeHVwX3BsdCk6IExpa2V3aXNlLgoJKGVsZl9tYWNoaW5lX3JlbGEpOiBMaWtld2lzZS4KCjIwMDAtMDMtMjkgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21zZ2N0bC5jOiBVc2Ugc2hsaWItY29tcGF0IG1hY3Jvcy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2VtY3RsLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaG1jdGwuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvZ2V0cmxpbWl0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2dldHJsaW1pdDY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L21zZ2N0bC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9vbGRnZXRybGltaXQ2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zZW1jdGwuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc2V0cmxpbWl0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3NobWN0bC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvbXNnY3RsLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9zZW1jdGwuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL3NobWN0bC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvYWRqdGltZS5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9jaG93bi5jOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL29sZGdsb2IuYzogVXNlIHNobGliLWNvbXBhdAoJbWFjcm9zLCByZW1vdmUgSyZSIHByb3RvdHlwZXMuCgoyMDAwLTAzLTMwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHBvc2l4L2dldG9wdC5jIChfZ2V0b3B0X2ludGVybmFsKTogUmV0dXJuIC0xIGlmIGFyZ2MgPCAxLgoJUmVwb3J0ZWQgYnkgQW5kcmV3IFdpc2VtYW4gPGEud2lzZW1hbkBiYW5kYy5kaXJjb24uY28udWs+CgkoUFIgbGliYy8xNjc3KS4KCjIwMDAtMDMtMzAgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIG1pc2Mvc3lzL2NkZWZzLmg6IFJlbW92ZSBLJlIgc3VwcG9ydC4KCjIwMDAtMDMtMzAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnYvc2tlbGV0b24uYzogQXZvaWQgY29tcGlsaW5nIHVuYWxpZ25lZCB2ZXJzaW9ucyBpbiBzb21lCgltb3JlIGNhc2VzLgoJKiBpY29udi9sb29wLmM6IExpa2V3aXNlLgoKMjAwMC0wMy0yOSAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaWNvbnYvbG9vcC5jIChwdXQxNik6IFJlbW92ZSBfX2NvbnN0LiBGaXggYWNjZXNzIGluZGV4LgoJKHB1dDMyKTogUmVtb3ZlIF9fY29uc3QuIFVzZSB1aW50MzJfdCBpbnN0ZWFkIG9mIHVpbnQxNl90LgoJKiBpY29udi9za2VsZXRvbi5jOiBMaWtld2lzZS4KCjIwMDAtMDMtMzAgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGJhYWxwZXJhemltLmZyb2IuY29tPgoKCSogbWFjaC9WZXJzaW9ucyAobGliYzogR0xJQkNfMi4wKQoJW1NITElCX0NPTVBBVCAobGliYywgR0xJQkNfMl8wLCBHTElCQ18yXzEpXTogQ29uZGl0aW9uYWxpemUKCV9fdm1fYWxsb2NhdGUgb24gdGhpcy4KCVtTSExJQl9DT01QQVQgKGxpYmMsIEdMSUJDXzJfMCwgR0xJQkNfMl8yKV06IENvbmRpdGlvbmFsaXplCgltdXRleC0gYW5kIHNwaW5sb2NrLXJlbGF0ZWQgc3ltYm9scyBvbiB0aGlzLgoJWyFTSExJQl9DT01QQVQgKGxpYmMsIEdMSUJDXzJfMCwgR0xJQkNfMl8yKV0gKGxpYmM6IEhVUkRfQ1RIUkVBRFNfMC4zKToKCU5ldyB2ZXJzaW9uIHNldC4gIExvY2stcmVsYXRlZCBzeW1ib2xzIGdvIGhlcmUgaW5zdGVhZCBpbiB0aGlzIGNhc2UuCgkqIHN5c2RlcHMvbWFjaC9odXJkL1ZlcnNpb25zIChsaWJjOiBHTElCQ18yLjApOiBSZW1vdmUKCV9jdGhyZWFkX2V4aXRfcm91dGluZSwgX2N0aHJlYWRfaW5pdF9yb3V0aW5lLCBjdGhyZWFkX2tleWNyZWF0ZSwKCWN0aHJlYWRfZ2V0c3BlY2lmaWMsIGN0aHJlYWRfc2V0c3BlY2lmaWMsIF9fbGliY19nZXRzcGVjaWZpYy4KCSogaHVyZC9WZXJzaW9ucwoJW1NITElCX0NPTVBBVCAobGliYywgR0xJQkNfMl8wLCBHTElCQ18yXzIpXSAobGliYzogR0xJQkNfMi4wKToKCVB1dCB0aGVtIGhlcmUgaW5zdGVhZC4KCVshU0hMSUJfQ09NUEFUIChsaWJjLCBHTElCQ18yXzAsIEdMSUJDXzJfMildIChsaWJjOiBIVVJEX0NUSFJFQURTXzAuMyk6CglOZXcgdmVyc2lvbiBzZXQuICBUaG9zZSBjdGhyZWFkcyBzeW1ib2xzIGdvIGhlcmUgaW5zdGVhZCBpbiB0aGlzIGNhc2UuCgkqIFZlcnNpb25zLmRlZiAobGliYykgW1VTRV9JTl9MSUJJT106IEFkZCBIVVJEX0NUSFJFQURTXzAuMyB2ZXJzaW9uLgoKMjAwMC0wMy0zMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtaW5pdC5jIChfZGxfaW5pdCk6IFdlIGRvbid0IG5lZWQgdG8gY2FsbCBjb25zdHJ1Y3RvcnMKCXJlY3Vyc2l2ZWx5LiAgRm9sZCBfZGxfaW5pdF9yZWMgaW4gX2RsX2luaXQgYW5kIG9wdGltaXplIGEgYml0IG1vcmUuCgoJSW1wbGVtZW50IGR5bmFtaWMgZGV0ZXJtaW5hdGlvbiBvZiBjb25zdHJ1Y3Rvci9kZXN0cnVjdG9yIG9yZGVyIGluCgl0aGUgZHluYW1pYyBsaW5rZXIuCgkqIGVsZi9WZXJzaW9ucyBbbGQuc29dIChHTElCQ18yLjApOiBSZW1vdmUgX2RsX2luaXRfbmV4dC4KCShHTElCQ18yLjIpOiBBZGQgX2RsX2luaXQuCgkqIGVsZi9kbC1jbG9zZS5jOiBBbHNvIGNhbGwgYWxsIGRlc3RydWN0b3JzIGluIEZJTklfQVJSQVkuCglyX2R1cGxpc3QgaXMgbm90IGFueW1vcmUgYWxsb2NhdGVkIHNlcGFyYXRlbHkuICBsX2luaXRmaW5pIGlzIGFuZAoJdGhlcmVmb3JlIGZyZWUgaXQgaWYgbmVjZXNzYXJ5LgoJKiBlbGYvZGwtZGVwcy5jOiBJZiBhIHNlYXJjaGxpc3QgaGFzIHRvIGJlIGFsbG9jYXRlZCwgcHV0IGFsbCBpbiBvbmUKCW1hbGxvYyBibG9jay4gIE90aGVyd2lzZSBhbGxvY2F0ZSBsX2luaXRmaW5pIGxpc3Qgb25seS4KCVB1dCBkZXBlbmRlbmNpZXMgZm9yIHRoZSBvYmplY3QgaW4gbF9pbml0ZmluaSBsaXN0LgoJU29ydCBkZXBlbmRlbmNpZXMgZm9yIHRoZSBvYmplY3QgdG8gYmUgbG9hZGVkIHRvcG9sb2dpY2FsbHkuCgkqIGVsZi9kbC1maW5pLmM6IEJlZm9yZSBydW5uaW5nIHRoZSBkZXN0cnVjdG9ycyBzb3J0IHRoZSB0b3BvbG9naWNhbGx5LgoJKiBlbGYvZGwtaW5pdC5jIChfZGxfaW5pdCk6IFJlbmFtZWQgZnJvbSBfZGxfaW5pdF9uZXh0LiAgUmV3cml0ZSB0bwoJY2FsbCBjb25zdHJ1Y3RvcnMgaW5zdGVhZCBvZiBpdGVyYXRpbmcgb3ZlciB0aGUgcG9pbnRlcnMuICBHZXQgbGlzdCBvZgoJb2JqZWN0cyBmb3Igd2hpY2ggdG8gcnVuIGNvbnN0cnVjdG9ycyBmcm9tIGxfaW5pdGZpbmkgZWxlbWVudC4gQWNjZXB0CglhcmdjLCBhcmd2LCBhbmQgZW52IGFzIHBhcmFtZXRlcnMgYW5kIHBhc3MgdGhlbSB0byB0aGUgY29uc3RydWN0b3JzLgoJKiBlbGYvbGQtbG9hZC5jIChfZGxfbWFwX29iamVjdF9mcm9tX2ZkKTogSW5pdGlhbGl6ZSBsX2xkbnVtIG1lbWJlcgoJd2l0aCBzaXplIG9mIGR5bmFtaWMgc2VjdGlvbi4KCSogZWxmL2RsLW9wZW4uYyAoZGxfb3Blbl93b3JrZXIpOiBPbmx5IGNhbGwgX2RsX2luaXQgaW5zdGVhZCBvZgoJX2RsX2luaXRfbmV4dCBhbmQgY2FsbGluZyBjb25zdHJ1Y3RvcnMgb3Vyc2VsZi4KCSogZWxmL2RsLXByZWluaXQuYyAoX2RsX3ByZWluaXQpOiBSZW5hbWVkIGZyb20gX2RsX3ByZWluaXRfbmV4dC4KCVRha2UgYXJnYywgYXJndiwgYW5kIGVudiBhcyBwYXJhbWV0ZXJzIGFuZCBwYXNzIHRoZW0gdG8gdGhlCgljb25zdHJ1Y3RvcnMuICBSZXdyaXRlIHRvIGNhbGwgYWxsIGNvbnN0cnVjdG9ycyBhbmQgbm90IGl0ZXJhdGUgb3ZlcgoJdGhlIHBvaW50ZXJzLgoJKiBlbGYvZHluYW1pYy1saW5rLmg6IERvbid0IHJlbG9jYXRlIERUX0ZJTklfQVJSQVkgZW50cnkuICBEb24ndAoJcHJlY29tcHV0ZSBsX2luaXRjb3VudCBhbmQgbF9wcmVpbml0Y291bnQuCgkqIGVsZi9saW5rLmggKHN0cnVjdCBsaW5rX21hcCk6IEFkZCBsX2xkbnVtIG1lbWJlci4KCU1ha2UgbF9waGRyX2FsbG9jYXRlZCBwYXJ0IG9mIHRoZSBiaXRmaWVsZC4gIFJlbW92ZSBsX3J1bmNvdW50LAoJbF9pbml0Y291bnQsIGFuZCBsX3ByZWluaXRjb3VudC4gIEFkZCBsX2luaXRmaW5pLgoJKiBzeXNkZXBzL2dlbmVyaWMvbGRzb2RlZnMuaDogUmVwbGFjZSBfZGxfaW5pdF9uZXh0IHByb3RvdHlwZSB3aXRoCglvbmUgZm9yIF9kbF9pbml0LgoJKiBzeXNkZXBzL2kzODYvZGwtbWFjaGluZSAoUlRMRF9TVEFSVCk6IFJld3JpdGUgdG8gbWF0Y2ggbmV3IGluaXQKCWZ1bmN0aW9uIGludGVyZmFjZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaW5pdC1maXJzdC5oOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9EaXN0OiBEZWxldGUgZmlsZSBoZXJlIGFzIHdlbGwuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2luaXQtZmlyc3QuYyBbUElDXTogRG9uJ3QgdXNlCglTWVNERVBfQ0FMTF9JTklULiAgTWFrZSBfaW5pdCBhIHN0cm9uZyBhbGlhcyBvZiBpbml0LiAgVGhlIGNhbGxpbmcKCWNvbnZlbnRpb25zIG5vdyBtYXRjaC4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9saWJjLXN0YXJ0LmM6IENhbGxpbmcgX19saWJjX2luaXRfZmlyc3QgaGFzIG5vCgllZmZlY3QgZm9yIHNoYXJlZCBvYmplY3RzLiAgRG9uJ3QgZW1pdCBtZXNzYWdlIGFuZCBjYWxsIG9ubHkgZm9yCglzdGF0aWMgbGlicmFyeS4KCjIwMDAtMDMtMjkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0NTQV9aMjQzLjQtMTk4NS0xLi5VQ1MtMkJFOiBSZW5hbWVkIGZyb20KCUNTQV9aMjQzLjQtMTk4NS0xLi5VQ1MyLgoJKiBpY29udmRhdGEvdGVzdGRhdGEvSVNPLTg4NTktMTAuLlVDUy0yQkU6IFJlbmFtZWQgZnJvbQoJSVNPLTg4NTktMTAuLlVDUzIuCgoyMDAwLTAzLTI5ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBpbmNsdWRlL3VuaXN0ZC5oOiBSZW1vdmUgZHVwbGljYXRlIGVudHJ5IGZvciBfX3JtZGlyLgoJUmVtb3ZlIGRlY2xhcmF0aW9uIG9mIF9fbWtkaXIgc2luY2UgX19ta2RpciBpcyBkZWNsYXJlZCBpbgoJc3lzL3N0YXQuaC4KCgkqIG1hbnVhbC9jcmVhdHVyZS50ZXhpIChGZWF0dXJlIFRlc3QgTWFjcm9zKTogRml4IHR5cG8sIHJlcG9ydGVkCglieSBNaWNoYWVsIERldXRzY2htYW5uIDxtaWNoYWVsQHRhbGFtYXNjYS5vY2lzLm5ldD4uCgoJKiBzeXNkZXBzL21pcHMvZnB1L2ZjbHJleGNwdC5jOiBVc2Ugc2hsaWItY29tcGF0IG1hY3Jvcy4KCSogc3lzZGVwcy9taXBzL2ZwdS9mZWdldGVudi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL2ZwdS9mZXNldGVudi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL2ZwdS9mZXVwZGF0ZWVudi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL2ZwdS9mZ2V0ZXhjcHRmbGcuYzogTGlrZXdpc2UuCgoyMDAwLTAzLTI4ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL2kzODYvZnB1L2JpdHMvbWF0aGlubGluZS5oIChfX3NpbmNvcyk6IFJlbW92ZSByZWR1bmRhbnQKCWRlY2xhcmF0aW9uLCB0aGUgcHJvdG90eXBlIGlzIGRlZmluZWQgdmlhIGJpdHMvbWF0aGNhbGxzLmguCgkoX19zaW5jb3NmKTogTGlrZXdpc2UuCgkoX19zaW5jb3NsKTogTGlrZXdpc2UuCgkobGRleHApOiBMaWtld2lzZS4KCShsZGV4cGYpOiBMaWtld2lzZS4KCShsZGV4cGwpOiBMaWtld2lzZS4KCShfX2Zpbml0ZSk6IExpa2V3aXNlLgoJKF9faW5saW5lX21hdGhjb2RlTlApOiBOZXcgbWFjcm8gd2l0aG91dCBwcm90b3R5cGUKCWRlY2xhcmF0aW9ucy4KCShfX2lubGluZV9tYXRoY29kZU5QMik6IExpa2V3aXNlLgoJKF9faW5saW5lX21hdGhjb2RlTlAzKTogTGlrZXdpc2UuCgkoX19pbmxpbmVfbWF0aGNvZGVOUF8pOiBMaWtld2lzZS4KCShfX2lubGluZV9tYXRoY29kZU5QMl8pOiBMaWtld2lzZS4KCShfX2lubGluZV9tYXRoY29kZU5QM18pOiBMaWtld2lzZS4KCShfX2lubGluZV9tYXRob3BOUCk6IExpa2V3aXNlLgoJKF9faW5saW5lX21hdGhvcF9kZWNsTlApOiBMaWtld2lzZS4KCShfX2lubGluZV9tYXRob3BfZGVjbE5QXyk6IExpa2V3aXNlLgoJKF9faW5saW5lX21hdGhjb2RlXyk6IFVzZSBfX2lubGluZV9tYXRoY29kZU5QXy4KCShfX2lubGluZV9tYXRoY29kZTJfKTogVXNlIF9faW5saW5lX21hdGhjb2RlTlAyXy4KCShfX2lubGluZV9tYXRoY29kZTNfKTogVXNlIF9faW5saW5lX21hdGhjb2RlTlAzXy4KCShfX2lubGluZV9tYXRob3BfZGVjbF8pOiBVc2UgX19pbmxpbmVfbWF0aG9wX2RlY2xOUF9fLgoJKF9fZXhwbTFsKTogRG9uJ3QgZGVmaW5lIHByb3RvdHlwZSwgdGhlIHByb3RvdHlwZSBpcyBkZWZpbmVkIHZpYQoJYml0cy9tYXRoY2FsbHMuaC4KCShleHApOiBMaWtld2lzZS4KCShfX2V4cGwpOiBMaWtld2lzZS4KCSh0YW4pOiBMaWtld2lzZS4KCShhdGFuMik6IExpa2V3aXNlLgoJKF9fYXRhbjJsKTogTGlrZXdpc2UuCgkoZm1vZCk6IExpa2V3aXNlLgoJKHBvdyk6IExpa2V3aXNlLgoJKGZhYnNmKTogTGlrZXdpc2UuCgkoZmFic2wpOiBMaWtld2lzZS4KCShfX2ZhYnNsKTogTGlrZXdpc2UuCgkoYXNpbik6IExpa2V3aXNlLgoJKGFjb3MpOiBMaWtld2lzZS4KCShzaW5oKTogTGlrZXdpc2UuCgkoY29zaCk6IExpa2V3aXNlLgoJKHRhbmgpOiBMaWtld2lzZS4KCShmbG9vcik6IExpa2V3aXNlLgoJKGNlaWwpOiBMaWtld2lzZS4KCShleHBtMSk6IExpa2V3aXNlLgoJKGxvZzFwKTogTGlrZXdpc2UuCgkoYXNpbmgpOiBMaWtld2lzZS4KCShhY29zaCk6IExpa2V3aXNlLgoJKGF0YW5oKTogTGlrZXdpc2UuCgkoaHlwb3QpOiBMaWtld2lzZS4KCShsb2diKTogTGlrZXdpc2UuCgkoZm1hKTogTGlrZXdpc2UuCgkoZHJlbSk6IExpa2V3aXNlLgoJKHNxcnQpOiBMaWtld2lzZS4KCShfX3NxcnRsKTogTGlrZXdpc2UuCgkoc2luKTogTGlrZXdpc2UuCgkoY29zKTogTGlrZXdpc2UuCgkoYXRhbik6IExpa2V3aXNlLgoJKGxvZyk6IExpa2V3aXNlLgoJKGxvZzEwKTogTGlrZXdpc2UuCgkoYXNpbmgpOiBMaWtld2lzZS4KCShsb2cyKTogTGlrZXdpc2UuCgkocmludCk6IExpa2V3aXNlLgoKMjAwMC0wMy0yOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBNYWtlcnVsZXM6IElmIG1ha2UgdmFyaWFibGUgbWQ1IGlzIGRlZmluZWQgdG8geWVzIGFmdGVyCglnZW5lcmF0aW5nIGRlcGVuZGVuY2llcyBnZW5lcmF0ZSBNRDUgc3VtIGZvciB0aGUgb2JqZWN0LgoKCSogaWNvbnYvZ2NvbnZfYnVpbHRpbi5oOiBGaXggbGVuZ3RoIGluIHRyYW5zZm9ybWF0aW9uIGRlZmluaXRpb24KCWZvciBVTklDT0RFQklHLgoKCSogaWNvbnZkYXRhL1RFU1RTOiBVc2UgVUNTLTJCRSBpbnN0ZWFkIG9mIFVDUzIuCgoJKiBpY29udi9sb29wLmM6IERlZmluZSBnZXQxNiwgZ2V0MzIsIHB1dDE2LCBhbmQgcHV0MzIgbWFjcm9zIHRvCglhbGxvdyBhcyB3ZWxsIHJlYWRpbmcgZnJvbS93cml0aW5nIHRvIHVuYWxpZ25lZCBhZGRyZXNzZXMgb24gbWFjaGluZXMKCXdoaWNoIGRvbid0IHN1cHBvcnQgdGhpcyBpbiBoYXJkd2FyZS4gIFVzZSBGQ1ROQU1FIG1hY3JvIHRvIGRlZmluZQoJZnVuY3Rpb24gbmFtZS4gIEluY2x1ZGUgdGhlIGZpbGUgYSBzZWNvbmQgdGltZSBmb3IgcGxhdGZvcm1zIHdoaWNoCgluZWVkIHNwZWNpYWwgdW5hbGlnbmVkIGhhbmRsaW5nLgoJKiBpY29udi9za2VsZXRvbi5jOiBEZWZpbmUgZ2V0MTZ1LCBnZXQzMnUsIHB1dDE2dSwgYW5kIHB1dDMydSBtYWNyb3MKCXRvIGFjY2VzcyBwb3RlbnRpYWxseSB1bmFsaWduZWQgYWRkcmVzc2VzLiAgVGhlc2UgbWFjcm9zIGFyZSBpbnRlbmRlZAoJdG8gYmUgdXNlZCBvbmx5IG91dHNpZGUgdGhlIGxvb3BzLgoJKHVuYWxpZ25lZCk6IE5ldyBkZWZpbml0aW9uLiAgSW4gY2FzZSB0aGUgbWFjaGluZSBjYW4gaGFuZGxlIHVuYWxpZ25lZAoJYWNjZXNzIGRlZmluZSBhcyB6ZXJvLiAgT3RoZXJ3aXNlIGFzIGEgdmFyaWFibGUgd2hpY2ggaXMgaW5pdGlhbGl6ZWQKCWFzIG5vbnplcm8gaW4gY2FzZSB0aGUgYnVmZmVyIHBhc3NlZCBpbiBhdCBydW50aW1lIGlzIHVuYWxpZ25lZCB3aXRoCglyZXNwZWN0IHRvIHRoZSBjaGFyYWN0ZXIgc2V0IGVuY29kaW5nIGludm9sdmVkLgoJQ2FsbCBhbGlnbmVkIG9yIHVuYWxpZ25lZCBsb29vcCBmdW5jdGlvbnMgYWNjb3JkaW5nIHRvIHVuYWxpZ25lZAoJdmFyaWFibGUuCgkqIGljb252ZGF0YS84Yml0LWdhcC5jOiBVc2UgZ2V0MTYsIGdldDMyLCBwdXQxNiwgYW5kIHB1dDMyIGluc3RlYWQKCW9mIGRpcmVjdCBjYXN0aW5nIHBvaW50ZXIgdG8gcG90ZW50aWFsbHkgaGFuZGxlIHVuYWxpZ25lZCBtZW1vcnkKCWFjY2Vzc2VzLgoJKiBpY29udmRhdGEvOGJpdC1nZW5lcmljLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvYW5zaV94My4xMTAuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9iaWc1LmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZXVjLWNuLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZXVjLWpwLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZXVjLWtyLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZXVjLXR3LmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZ2JrLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvLTIwMjItY24uYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc28tMjAyMi1qcC5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzby0yMDIyLWtyLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvNjQ2LmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvXzY5MzctMi5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzb182OTM3LmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvam9oYWIuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9zamlzLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvdC42MS5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL3VoYy5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL3VuaWNvZGUuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS91dGYtMTYuYzogTGlrZXdpc2UuCgoJKiBsb2NhbGUvcHJvZ3JhbXMvc2ltcGxlLWhhc2guYzogTGl0dGxlIG9wdGltaXphdGlvbnMuICBSZW1vdmUgSyZSCglwcm90b3R5cGVzLgoKCSogbWFsbG9jL1ZlcnNpb25zIFtsaWJjXSAoR0xJQkNfMi4yKTogQWRkIG1jaGVja19jaGVja19hbGwuCgkqIG1hbGxvYy9tY2hlY2suYyAobWNoZWNrX2NoZWNrX2FsbCk6IFJlbmFtZWQgZnJvbSBjaGVja19hbGwgYW5kIG1hZGUKCXB1YmxpYy4KCSogbWFsbG9jL21jaGVjay5oIChtY2hlY2tfY2hlY2tfYWxsKTogRGVjbGFyZS4KCgkqIHN0ZGlvLWNvbW1vbi9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdHN0LW9icHJpbnRmLgoKMjAwMC0wMy0yOCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAYmFhbHBlcmF6aW0uZnJvYi5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy9zaWd0aHJlYWQuaDogQ2xlYW4gdXAgY29uZGl0aW9uYWxzLgoJRGVjbGFyZSBwdGhyZWFkX3NpZ21hc2suCgoJKiBjc3UvdmVyc2lvbi5jOiBBZGQgMjAwMCB0byBjb3B5cmlnaHQgeWVhcnMuCglSZW1vdmUgRW1hY3MgbG9jYWwgdmFyaWFibGVzIHNlY3Rpb24uCgoyMDAwLTAzLTIzICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udi9nY29udl9pbnQuaCAoX19nY29udl90cmFuc2Zvcm1fdWNzMmxpdHRsZV9pbnRlcm5hbCwKCV9fZ2NvbnZfdHJhbnNmb3JtX2ludGVybmFsX3VjczJsaXR0bGUpOiBSZW1vdmUgZGVjbGFyYXRpb25zLgoJKiBpY29udi9nY29udl9zaW1wbGUuYyAoX19nY29udl90cmFuc2Zvcm1fdWNzMl9pbnRlcm5hbCwKCV9fZ2NvbnZfdHJhbnNmb3JtX2ludGVybmFsX3VjczIpOiBOZXZlcgluZWVkIHRvIGJzd2FwXzE2LgoJKF9fZ2NvbnZfdHJhbnNmb3JtX3VjczJyZXZlcnNlX2ludGVybmFsLAoJX19nY29udl90cmFuc2Zvcm1faW50ZXJuYWxfdWNzMnJldmVyc2UpOiBBbHdheXMgbmVlZCB0byBic3dhcF8xNi4KCjIwMDAtMDMtMjcgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGJhYWxwZXJhemltLmZyb2IuY29tPgoKCSogaW5jbHVkZS9zaGxpYi1jb21wYXQuaCAoU0hMSUJfQ09NUEFUKTogTWFrZSB0aGUgdGVzdCBoYW5kbGUgdGhlCglvYnNvbGV0aW5nIHZlcnNpb24gbm90IGJlaW5nIGRlZmluZWQgYXQgYWxsLCBpbiB3aGljaCBjYXNlIHRoZQoJcmVzdWx0IGlzIGFsd2F5cyB0cnVlLgoKCSogTWFrZWNvbmZpZyAocHJlcHJvY2Vzcy12ZXJzaW9ucyk6IE5ldyBjYW5uZWQgc2VxdWVuY2UgZm9yIHJ1bm5pbmcKCWNwcCBvbiBzaGxpYi12ZXJzaW9ucyBhbmQgdGhlIGxpa2UuCgkoc292ZXJzaW9ucy5pKTogVXNlIGl0LgoJKiBNYWtlcnVsZXMgKFZlcnNpb25zLmFsbCwgc3lzZC12ZXJzaW9ucyk6IFVzZSBpdCB0byBwcmVwcm9jZXNzIHRoZQoJVmVyc2lvbnMuZGVmIGFuZCBWZXJzaW9ucyBmaWxlcy4KCjIwMDAtMDMtMjcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3RkaW8tY29tbW9uL3RzdC1vYnByaW50Zi5jIChtYWluKTogQWRkIGFub3RoZXIgY2hlY2sgdG8gc2VlCglvYnN0YWNrX3ByaW50ZiBoYW5kbGluZyBhbGwgcG9zc2libGUgYmVnaW5uaW5ncyBvZiB0aGUgYmxvY2sKCWluc2lkZSBhbiBvYnN0YWNrIGNodW5rLgoKCSogbG9jYWxlL3Byb2dyYW1zL2xvY2FsZWRlZi5jOiBVc2UgX19tYWxsb2NfaW5pdGlhbGl6ZV9ob29rIHRvCglpbnN0YWxsIG1jaGVjayBoYW5kbGVyLgoKCSogbGliaW8vb2JwcmludGYuYyAoX0lPX29ic3RhY2tfdnByaW50Zik6IEZpeCBvbmUgbW9yZSBtZW1vcnkKCWhhbmRsaW5nIHByb2JsZW0uCgoyMDAwLTAzLTI3ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEBiYWFscGVyYXppbS5mcm9iLmNvbT4KCgkqIHN0ZGlvLWNvbW1vbi90bXBmaWxlLmM6IFVzZSA8c2hsaWItY29tcGF0Lmg+IG1hY3Jvcy4KCgkqIGluY2x1ZGUvc2hsaWItY29tcGF0Lmg6IENvbmRpdGlvbmFsaXplIDxhYmktdmVyc2lvbnMuaD4gaW5jbHVkZQoJb24gW0hBVkVfRUxGICYmIERPX1ZFUlNJT05JTkddLgoKMjAwMC0wMy0yNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzdGRpby1jb21tb24vdHN0LW9icHJpbnRmLmM6IE5ldyBmaWxlLgoKMjAwMC0wMy0yNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsaWJpby9nZW5vcHMuYyAoX0lPX2RlZmF1bHRfeHNwdXRuKTogTGl0dGxlIG9wdGltaXphdGlvbi4gIENhbGwKCV9JT19PVkVSRkxPVyBkaXJlY3RseSBpbnN0ZWFkIHRocm91Z2ggX19vdmVyZmxvdy4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sb2NhbGVkZWYuYyAoY29uc3RydWN0X291dHB1dF9wYXRoKTogSWYgcGF0aAoJY29udGFpbnMgYSAvIGNvbXB1dGUgdGhlIGVuZCBvZiB0aGUgZGlyZWN0b3J5IG5hbWUgY29ycmVjdGx5LgoKCSogaW5jbHVkZS9mZWF0dXJlcy5oOiBVbmRlZiBhbmQgZG9jdW1lbnQgX19VU0VfWE9QRU4ySy4KCgkqIG1hbGxvYy9tY2hlY2suYzogSW1wbGVtZW50IHBlZGFudGljIGNoZWNraW5nIG9mIGFsbCBhbGxvY2F0ZWQgYmxvY2tzCgl3aGVuZXZlciBhIGZ1bmN0aW9uIGlzIGNhbGxlZC4gIEluaXRpYXRlZCBieSBjYWxsaW5nIG1jaGVja19wZWRhbnRpYwoJaW5zdGVhZCBvZiBtY2hlY2suCgkqIG1hbGxvYy9tY2hlY2suaDogRGVjbGFyZSBtY2hlY2tfcGVkYW50aWMuCgkqIG1hbGxvYy9WZXJzaW9ucyBbbGliY10gKEdMSUJDXzIuMik6IEFkZCBtY2hlY2tfcGVkYW50aWMuCgkqIGxvY2FsZS9wcm9ncmFtcy9sb2NhbGRlZi5jOiBVc2UgbWNoZWNrX3BlZGFudGljIGluc3RlYWQgb2YgbWNoZWNrCglmb3Igbm93LgoKMjAwMC0wMy0yNiAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAYmFhbHBlcmF6aW0uZnJvYi5jb20+CgoJKiBkbGZjbi9kbG9wZW4uYzogVXNlIDxzaGxpYi1jb21wYXQuaD4gbWFjcm9zLgoJKiBkbGZjbi9kbG9wZW5vbGQuYzogTGlrZXdpc2UuCgkqIG5zcy9nZXRYWGJ5WVlfci5jOiBMaWtld2lzZS4KCSogbnNzL2dldFhYZW50X3IuYzogTGlrZXdpc2UuCgkqIGh1cmQvaHVyZGluaXQuYzogTGlrZXdpc2UuCgkqIGh1cmQvY29tcGF0LTIwLmM6IExpa2V3aXNlLgoJKiBsaWJpby9vbGRpb2ZvcGVuLmM6IExpa2V3aXNlLgoJKiBsaWJpby9vbGRpb2ZjbG9zZS5jOiBMaWtld2lzZS4KCSogbGliaW8vb2xkaW9mZG9wZW4uYzogTGlrZXdpc2UuCgkqIGxpYmlvL29sZGZpbGVvcHMuYzogTGlrZXdpc2UuCgkqIGxpYmlvL29sZHN0ZGZpbGVzLmM6IExpa2V3aXNlLgoJKiBsaWJpby9vbGRpb2ZzZXRwb3MuYzogTGlrZXdpc2UuCgkqIGxpYmlvL29sZGlvZmdldHBvcy5jOiBMaWtld2lzZS4KCSogbGliaW8vb2xkaW9mZ2V0cG9zNjQuYzogTGlrZXdpc2UuCgkqIGxpYmlvL29sZGlvZnNldHBvczY0LmM6IExpa2V3aXNlLgoJKiBsaWJpby9vbGRpb3BvcGVuLmM6IExpa2V3aXNlLgoJKiBsaWJpby9vbGRwY2xvc2UuYzogTGlrZXdpc2UuCgkqIGxpYmlvL29sZHRtcGZpbGUuYzogTGlrZXdpc2UuCgkqIGxpYmlvL2ZyZW9wZW4uYyAoZnJlb3Blbik6IExpa2V3aXNlLgoJKiBsaWJpby9pb2ZjbG9zZS5jIChfSU9fbmV3X2ZjbG9zZSk6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9tYWNoL3N5cy9yZWJvb3QuaDogSW5jbHVkZSA8ZmVhdHVyZXMuaD4uCgkocmVib290KTogRGVjbGFyZSBpdC4KCgkqIGxpYmlvL01ha2VmaWxlIChoZWFkZXJzKTogQWRkIGJpdHMvc3RkaW8tbG9jay5oIGhlcmUuCgoJKiBzeXNkZXBzL21hY2gvaHVyZC9iaXRzL3N0ZGlvLWxvY2suaDogTmV3IGZpbGUuCgoJKiBpbmNsdWRlL3NobGliLWNvbXBhdC5oOiBJbmNsdWRlIDxhYmktdmVyc2lvbnMuaD4gdW5jb25kaXRpb25hbGx5LgoKCSogcG9zaXgvdW5pc3RkLmggKGludHB0cl90KTogQ29uZGl0aW9uYWxpemUgb24gW19fVVNFX01JU0MgfHwKCV9fVVNFX1hPUEVOX0VYVEVOREVEXSByYXRoZXIgdGhhbiBvbiBbX19VU0VfVU5JWDk4XS4KCVdlIG5lZWQgdGhpcyBmb3IgdGhlIHNicmsgZGVjbCwgd2hpY2ggY2FuIGJlIGluY2x1ZGVkIHdpdGhvdXQgVW5peDk4LgoKMjAwMC0wMy0yMCAgUmljaGFyZCBIZW5kZXJzb24gIDxydGhAY3lnbnVzLmNvbT4KCgkqIG5pcy9uc3NfbmlzL25pcy1zZXJ2aWNlLmMgKF9uc3NfbmlzX2dldHNlcnZieXBvcnRfcik6IExhc3QKCWFyZ3VtZW50IHRvIHlwZXJyMm5zcyBpcyBhbiBpbnQsIG5vdCBzaXplX3QuCgkqIHBvc2l4L3JlZ2V4LmMgKHByaW50X3BhcnRpYWxfY29tcGlsZWRfcGF0dGVybik6IENhc3QgYWxsCglwdHJkaWZmX3QgdG8gbG9uZyBmb3IgcHJpbnRpbmcuCgkocHJpbnRfY29tcGlsZWRfcGF0dGVybik6IFVzZSBaIGZvciBwcmludGluZyBzaXplX3QuCgkqIHBvc2l4L3Rlc3Rmbm0uYyAodGVzdHMpOiBBdm9pZCB0cmlncmFwaHMuCgkqIHN5c2RlcHMvYWxwaGEvZGwtbWFjaGluZS5oIChFTEZfTUFDSElORV9SVU5USU1FX1RSQU1QT0xJTkUpOgoJVXNlIGEgQyBjb21tZW50LCBub3QgYW4gYXNzZW1ibHkgY29tbWVudC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL21zZ2N0bC5jOiBDbGFyaWZ5IHVzZQoJb2YgX19BU1NVTUVfMzJCSVRVSURTLgoKMjAwMC0wMy0yNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsaWJpby9pb2ZvcG5jb29rLmM6IFJlbW92ZSBLJlIgcHJvdG90eXBlcy4KCjIwMDAtMDMtMjYgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGJhYWxwZXJhemltLmZyb2IuY29tPgoKCSogaHVyZC9odXJkcmxpbWl0LmMgKGluaXRfcmxpbWl0KTogR2l2ZSB0aGUgUkxJTUlUX05PRklMRSBzb2Z0IGxpbWl0CglhbiBpbml0aWFsIHZhbHVlIG9mIDEwMjQgaW5zdGVhZCBvZiBSTElNX0lORklOSVRZLgoKCSogVmVyc2lvbnMuZGVmIChsaWJtYWNodXNlciwgbGliaHVyZHVzZXIpOiBSZW1vdmUgdGhlc2Ugc2VjdGlvbnMsCglzaW5jZSB0aGVzZSBsaWJyYXJpZXMgZG8gbm90IHByZXNlbnRseSB1c2Ugc3ltYm9sIHZlcnNpb25zLgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvZ2V0ZHRzei5jIChfX2dldGR0YWJsZXNpemUpOiBJZiB0aGUgcmVzb3VyY2UgbGltaXQKCWlzIFJMSU1fSU5GSU5JVFksIHJldHVybiAtMSBpbnN0ZWFkLgoKMjAwMC0wMy0yNCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogTWFrZWZpbGUgKHBvc3RjbGVhbik6IEFkZGVkIHNvdmVyc2lvbnMuaS4KCjIwMDAtMDMtMjQgIFNjb3R0IEJhbWJyb3VnaCAgPHNjb3R0YkBuZXR3aW5kZXIub3JnPgoKCSogc3lzZGVwcy9hcm0vZnB1L2ZwdV9jb250cm9sLmg6IERlZmluZSBfRlBVX01BU0tfSU0sIF9GUFVfTUFTS19aTSwKCV9GUFVfTUFTS19PTSwgX0ZQVV9NQVNLX1VNLCBfRlBVX01BU0tfUE0sIF9GUFVfTUFTS19ETSwgX0ZQVV9ERUZBVUxULAoJYW5kIF9GUFVfSUVFRS4gIENoYW5nZSBfRlBVX1JFU0VSVkVELgoKMjAwMC0wMy0yNCAgU2NvdHQgQmFtYnJvdWdoICA8c2NvdHRiQG5ldHdpbmRlci5vcmc+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vc3lzL3Vjb250ZXh0Lmg6IE5ldyBmaWxlLgoKMjAwMC0wMy0yNCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAYmFhbHBlcmF6aW0uZnJvYi5jb20+CgoJKiBzeXNkZXBzL3Bvc2l4L2dldGFkZHJpbmZvLmM6IEluY2x1ZGUgPG5ldC9pZi5oPiBmb3IgaWZfbmFtZXRvaW5kZXguCgkoZ2FpaF9pbmV0KTogUmVtb3ZlIHVudXNlZCBkdXBsaWNhdGUgdmFyaWFibGUuCgoJKiBpbmV0L2dldG5hbWVpbmZvLmMgKGdldG5hbWVpbmZvKTogVXNlIElGTkFNU0laLCBub3QgTUFYSE9TVE5BTUVMRU4uCglEb24ndCB1c2UgX19saWJjX3NhX2xlbiwgd2hpY2ggb25seSBleGlzdHMgZm9yIExpbnV4LiAgSnVzdCBoYW5kbGUKCUFGX0lORVQgYW5kIEFGX0lORVQ2IGRpcmVjdGx5IGFzIHdlbGwgYXMgQUZfTE9DQUwsIHNpbmNlIHRob3NlIGFyZSB0aGUKCW9ubHkgZmxhdm9ycyBzdXBwb3J0ZWQgYnkgdGhpcyBmdW5jdGlvbiBhbnl3YXkuCgoyMDAwLTAzLTI0ICBHZW9mZiBDbGFyZSAgPGd3Y0B1bmlzb2Z0LmNvbT4KCgkqIHN0ZGxpYi9zdHJmbW9uLmM6IENvcnJlY3RlZCBwcm9ibGVtcyB3aXRoIG1pc3Npbmcgc2lnbnMgYW5kCgltaXNzaW5nIG9yIGV4dHJhIHNwYWNlczsgYWxsb3cgZm9yIHNpZ24gc3RyaW5ncyBsb25nZXIgdGhhbgoJb25lIGNoYXJhY3RlcjsgYWRkIHBhZGRpbmcgdG8gZW5zdXJlIHBvc2l0aXZlIGFuZCBuZWdhdGl2ZQoJZm9ybWF0cyBhcmUgYWxpZ25lZCB3aGVuIGEgbGVmdCBwcmVjaXNpb24gaXMgdXNlZC4KCjIwMDAtMDMtMjYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3RkbGliL3JhbmRvbV9yLmMgKF9fc2V0c3RhdGVfcik6IEFsbG93IFJOR3Mgb2YgdHlwZSA0LgoJUGF0Y2ggYnkgSm9obiBNaXplbCA8Sm9obi5NaXplbEBtc2R3LmNvbT4uCgoyMDAwLTAzLTI1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hbnVhbC9pbnN0YWxsLnRleGk6IFJlbW92ZSByZWZlcmVuY2VzIHRvIGNyeXB0IGFkZC1vbi4KCjIwMDAtMDMtMjUgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGJhYWxwZXJhemltLmZyb2IuY29tPgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvc2V0cmxpbWl0LmMgKHNldHJsaW1pdCk6IEdvIGludG8gYSBjcml0aWNhbAoJc2VjdGlvbiB3aGlsZSB0YWtpbmcgdGhlIF9odXJkX3JsaW1pdF9sb2NrLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9nZXRybGltaXQuYyAoX19nZXRybGltaXQpOiBMaWtld2lzZS4KCjIwMDAtMDMtMjQgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGJhYWxwZXJhemltLmZyb2IuY29tPgoKCSogTWFrZXJ1bGVzIFskKGNyb3NzLWNvbXBpbGluZykgPSB5ZXNdIChzeW1ib2xpYy1saW5rLXByb2cpOiBEZWZpbmUKCXVzaW5nICQoTE5fUykuCgoJKiBzeXNkZXBzL21hY2gvaHVyZC9pZl9pbmRleC5jOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L25ldC9pZi5oOiBNb3ZlZCB0byAuLi4KCSogc3lzZGVwcy9nbnUvbmV0L2lmLmg6IGhlcmUuCgkoX0lPVF9pZmNvbmYsIF9JT1RfaWZyZXEpOiBIdXJkIGlvY3RsIHR5cGUgbWFjcm9zIG1vdmVkIGZyb20gLi4uCgkqIHN5c2RlcHMvbWFjaC9odXJkL25ldC9pZi5oOiAuLi4gaGVyZTsgdGhpcyBmaWxlIG5vdyByZW1vdmVkLgoJKiBzeXNkZXBzL2dlbmVyaWMvbmV0L2lmLmg6IE5ldyBmaWxlLiAgRGVjbGFyZXMganVzdCB0aGUgc3RhbmRhcmQKCWZ1bmN0aW9ucyBhbmQgYHN0cnVjdCBpZl9uYW1laW5kZXgnIHR5cGUuCgkqIHNvY2tldC9NYWtlZmlsZSAoaGVhZGVycyk6IEFkZCBuZXQvaWYuaCBoZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9NYWtlZmlsZSAoc3lzZGVwX2hlYWRlcnMpOiBOb3QgaGVyZS4KCSogc3lzZGVwcy9tYWNoL2h1cmQvRGlzdDogUmVtb3ZlIGl0IGhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L0Rpc3Q6IEFuZCBoZXJlLgoJKiBzeXNkZXBzL2dlbmVyaWMvaWZfaW5kZXguYzogSW5jbHVkZSA8bmV0L2lmLmg+LgoKMjAwMC0wMy0yNCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9taXBzL2RsLW1hY2hpbmUuaCAoX19kbF9ydW50aW1lX3Jlc29sdmUpOiBVc2UgRF9QVFIgdG8KCWFjY2VzcyByZWxvY2F0ZWQgZW50cmllcyBpbiBsX2luZm8uCgkoZWxmX21hY2hpbmVfZ290X3JlbCk6IExpa2V3aXNlLgoJKGVsZl9tYWNoaW5lX3J1bnRpbWVfc2V0dXApOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL21pcHM2NC9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX2dvdF9yZWwpOiBMaWtld2lzZS4KCShlbGZfbWFjaGluZV9ydW50aW1lX3NldHVwKTogTGlrZXdpc2UuCgkoX19kbF9ydW50aW1lX3Jlc29sdmUpOiBMaWtld2lzZS4KCjIwMDAtMDMtMjMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcmVzb2x2L25ldGRiLmggKFNDT1BFX0RFTElNSVRFUik6IE5ldyBkZWZpbml0aW9ucy4KCSogaW5ldC9uZXRpbmV0L2luLmggKHN0cnVjdCBzb2NrYWRkcl9pbjYpOiBBZGQgc2luNl9zY29wZV9pZAoJYWNjb3JkaW5nIHRvIFJGQyAyNTUzLgoJKiBzeXNkZXBzL3Bvc2l4L2dldGFkZHJpbmZvLmM6IENoYW5nZSB0byBmb2xsb3cgbGF0ZXN0IFJGQyBkcmFmdC4KCSogaW5ldC9nZXRuYW1laW5mby5jOiBMaWtld2lzZS4KCVBhdGNoZXMgYnkgWU9TSElGVUpJIEhpZGVha2kgPHlvc2hmdWppQHY2LmxpbnV4Lm9yLmpwPi4KCjIwMDAtMDMtMjMgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGljb252L2djb252X3NpbXBsZS5jIChpbnRlcm5hbF91Y3M0X2xvb3AsIGludGVybmFsX3VjczRsZV9sb29wKToKCVJlbW92ZSBuby1vcCBwb2ludGVyIGluY3JlbWVudC4KCjIwMDAtMDMtMjMgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN0ZGlvLWNvbW1vbi90c3QtY29va2llLmMgKGNvb2tpZXNlZWspOiBDaGFuZ2UgcHJvdG90eXBlIHRvCglmb2xsb3cgY2hhbmdlIGZvciBsaWJpby5oIGZyb20gMjAwMC0wMy0xMC4KCjIwMDAtMDMtMjMgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGVsZi9kbC1hZGRyLmM6IEFkanVzdCBpbmNsdWRlIHBhdGhzIGZvciBsZHNvZGVmcyBsb2NhdGlvbgoJY2hhbmdlLgoJKiBlbGYvZGwtZGVidWcuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1kZXBzLmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtZXJyb3IuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1maW5pLmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtaW5pdC5jOiBMaWtld2lzZS4KCSogZWxmL2RsLWxvYWQuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1sb29rdXAuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1taW5pbWFsLmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtb2JqZWN0LmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtb3Blbi5jOiBMaWtld2lzZS4KCSogZWxmL2RsLXByZWluaXQuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1wcm9maWxlLmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtcHJvZnN0dWIuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1yZWxvYy5jOiBMaWtld2lzZS4KCSogZWxmL2RsLXJ1bnRpbWUuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1zdXBwb3J0LmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtc3ltYm9sLmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtdmVyc2lvbi5jOiBMaWtld2lzZS4KCSogZWxmL3J0bGQuYzogTGlrZXdpc2UuCgkqIGVsZi9zcHJvZi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2RsLWNhY2hlLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtb3JpZ2luLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtc3lzZGVwLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvZWxmL2JhY2t0cmFjZXN5bXMuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9lbGYvYmFja3RyYWNlc3ltc2ZkLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvbGliYy1zdGFydC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9tYWNoL2h1cmQvZGwtc3lzZGVwLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvZGwtbWFjaGluZS5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL2VsZi9saWJjLXN0YXJ0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvZGwtbWFjaGluZS5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L2RsLW1hY2hpbmUuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2RsLW9yaWdpbi5jOiBMaWtld2lzZS4KCgkqIGVsZi9sZHNvZGVmcy5oOiBNb3ZlIGZpbGUgdG8gLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy9sZHNvZGVmcy5oOiAuLi4gaGVyZS4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9sZHNvZGVmcy5oOiBBZGQgZGVmaW5pdGlvbiBmb3IgRF9QVFIuCgoJKiBzeXNkZXBzL21pcHMvZWxmL2xkc29kZWZzLmg6IE5ldyBmaWxlLgoKCSogZWxmL2RsLXZlcnNpb24uYyAobWF0Y2hfc3ltYm9sKTogVXNlIERfUFRSIHRvIGFjY2VzcyByZWxvY2F0ZWQKCWVudHJpZXMgaW4gbF9pbmZvLgoJKF9kbF9jaGVja19tYXBfdmVyc2lvbnMpOiBMaWtld2lzZS4KCSogZWxmL2RsLXJlbG9jLmMgKF9kbF9yZWxvY2F0ZV9vYmplY3QpOiBMaWtld2lzZS4KCSogZWxmL2RsLWxvYWQuYyAoX2RsX2luaXRfcGF0aHMpOiBMaWtld2lzZS4KCShfZGxfbWFwX29iamVjdCk6IExpa2V3aXNlLgoJKiBlbGYvZHluYW1pYy1saW5rLmggKF9FTEZfRFlOQU1JQ19ET19SRUxPQyk6IExpa2V3aXNlLgoJKGVsZl9nZXRfZHluYW1pY19pbmZvKTogTGlrZXdpc2UuCgkqIGVsZi9kby1sb29rdXAuaCAoRkNUKTogTGlrZXdpc2UuCgkqIGVsZi9kby1yZWwuaCAoZWxmX2R5bmFtaWNfZG9fcmVsKTogTGlrZXdpc2UuCgkqIGVsZi9kbC1kZXBzLmMgKF9kbF9tYXBfb2JqZWN0X2RlcHMpOiBMaWtld2lzZS4KCSogZWxmL2RsLWFkZHIuYyAoX2RsX2FkZHIpOiBMaWtld2lzZS4KCSogZWxmL2RsLXJ1bnRpbWUuYyAocHJvZmlsZV9maXh1cCk6IExpa2V3aXNlLgoJKGZpeHVwKTogTGlrZXdpc2UuCgkqIGVsZi9kbC1pbml0LmMgKF9kbF9pbml0X25leHQpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfcnVudGltZV9zZXR1cCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2RsLWxpYnJlY29uLmgKCShESVNUSU5HVUlTSF9MSUJfVkVSU0lPTlMpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfcnVudGltZV9zZXR1cCk6IExpa2V3aXNlLgoJKGVsZl9tYWNoaW5lX3JlbCk6IExpa2V3aXNlLgoKCSogZWxmL2R5bmFtaWMtbGluay5oIChlbGZfZ2V0X2R5bmFtaWNfaW5mbyk6IE9ubHkgY2hhbmdlIGxfaW5mbwoJZm9yIHdyaXRhYmxlIGR5bmFtaWMgc2VjdGlvbi4KCjIwMDAtMDMtMjIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW5ldC9nZXRuYW1laW5mby5jIChnZXRuYW1laW5mbyk6IENoZWNrIHRoYXQgYWRkcmxlbiB2YWx1ZSBpcwoJbGFyZ2UgZW5vdWdoLiAgUGF0Y2ggYnkgWU9TSElGVUpJIEhpZGVha2kgPHlvc2hmdWppQHY2LmxpbnV4Lm9yLmpwPi4KCjIwMDAtMDMtMjIgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvYml0cy9tbWFuLmggKE1BRFZfKik6IEFkZCBmbGFncwoJZnJvbSBsYXRlc3QgTGludXgga2VybmVsLgoKMjAwMC0wMy0yMSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogVmVyc2lvbnMuZGVmOiBBZGQgdmVyc2lvbiAyLjEuNC4KCjIwMDAtMDMtMjEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbGliaW8vb2xkdG1wZmlsZS5jOiBVcGRhdGUgZm9yIG5ldyBTSExJQl9DT01QQVQgZGVmaW5pdGlvbi4KCSogbGliaW8vb2xkaW9mb3Blbi5jOiBMaWtld2lzZS4KCSogbGliaW8vb2xkaW9mY2xvc2UuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2Vycmxpc3QuYzogTGlrZXdpc2UuCgoyMDAwLTAzLTIyICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEBiYWFscGVyYXppbS5mcm9iLmNvbT4KCgkqIGluY2x1ZGUvc2hsaWItY29tcGF0LmggKFNITElCX0NPTVBBVCk6IFRha2UgYSB0aGlyZCBhcmd1bWVudCwKCWluZGljYXRpbmcgdGhlIGZpcnN0IHZlcnNpb24gc2V0IHRvIG9ic29sZXRlIHRoZSBjb25kaXRpb25hbGl6ZWQgY29kZS4KCShjb21wYXRfc3ltYm9sKTogTmV3IG1hY3JvLgoJKiBzY3JpcHRzL2FiaS12ZXJzaW9ucy5hd2s6IEZvciBzdWJzdW1lZCB2ZXJzaW9ucywgbWFrZSBBQklfKiBkZWZuJ3MKCXJocyBiZSB0aGUgQUJJXyogbWFjcm8gZm9yIHRoZSBzdWJzdW1pbmcgdmVyc2lvbi4gIEFzc2lnbiBpbmNyZWFzaW5nCglpbnRlZ2VyIHZhbHVlcyB0byB0aGUgQUJJXyogbWFjcm9zIGZvciBzdXBwb3J0ZWQgdmVyc2lvbnMuCgkqIHN5c2RlcHMvZ251L3NpZ2xpc3QuYzogVXNlIG5ldyBTSExJQl9DT01QQVQgY29udmVudGlvbiwgYW5kIHVzZQoJY29tcGF0X3N5bWJvbCBtYWNyby4KCjIwMDAtMDMtMjEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbnNjZC9jb25uZWN0aW9ucy5jIChuc2NkX3J1bik6IFByZXR0eSBwcmludC4KCSogZWxmL2RsLXJ1bnRpbWUuYzogSW5jbHVkZSBzdGRsaWIuaCBmb3IgYWxsb2NhIHByb3RvdHlwZS4KCgkqIG1hbnVhbC9jaGFyc2V0LnRleGk6IEZpeCB0eXBvcy4gIFJlcGhyYXNlLgoJKiBtYW51YWwvcHJvY2Vzcy50ZXhpOiBMaWtld2lzZS4KCSogbWFudWFsL3NpZ25hbC50ZXhpOiBMaWtld2lzZS4KCVBhdGNoZXMgYnkgTWlrZSBDb2xlbWFuIDxta2NAa2MubmV0Pi4KCgkqIGxpYmlvL29sZHRtcGZpbGUuYzogVXNlIG5ldyBtYWNyb3MgZnJvbSBzaGxpYi1jb21wYXQuaCB0byBkZWZpbmUKCXZlcnNpb25zLgoJKiBsaWJpby9pb2Zkb3Blbi5jOiBMaWtld2lzZS4KCSogbGliaW8vaW9mZ2V0cG9zLmM6IExpa2V3aXNlLgoJKiBsaWJpby9pb2ZnZXRwb3M2NC5jOiBMaWtld2lzZS4KCSogbGliaW8vaW9mb3Blbi5jOiBMaWtld2lzZS4KCSogbGliaW8vaW9mc2V0cG9zLmM6IExpa2V3aXNlLgoJKiBsaWJpby9pb2ZzZXRwb3M2NC5jOiBMaWtld2lzZS4KCSogbGliaW8vaW9wb3Blbi5jOiBMaWtld2lzZS4KCSogbGliaW8vb2xkaW9mb3Blbi5jOiBMaWtld2lzZS4KCSogbGliaW8vcGNsb3NlLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dudS9zaWdsaXN0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9lcnJsaXN0LmM6IExpa2V3aXNlLgoKCSogaW5jbHVkZS9zaGxpYi1jb21wYXQuaCAodmVyc2lvbmVkX3N5bWJvbCk6IEdpdmUgcHJlcHJvY2Vzc29yIHRoZQoJY2hhbmNlIHRvIGV4cGFuZCBWRVJTSU9OXyMjbGliIyNfIyN2ZXJzaW9uLgoKCSogbGliaW8vZmlsZW9wcy5jOiBVc2UgbmV3IG1hY3JvcyBmcm9tIHNobGliLWNvbXBhdC5oIHRvIGRlZmluZQoJdmVyc2lvbnMuCgkqIGxpYmlvL2lvZmNsb3NlLmM6IExpa2V3aXNlLgoJKiBsaWJpby9vbGRpb2ZjbG9zZS5jOiBMaWtld2lzZS4KCVBhdGNoIGJ5IFJvbGFuZCBNY0dyYXRoIDxyb2xhbmRAZnJvYi5jb20+LgoKMjAwMC0wMy0yMSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9iaXRzL3NpZ2NvbnRleHQuaDogQ2xlYW4gdXAgbmFtZXNwYWNlLgoJTGF5IG91dCBzdHJ1Y3Qgc2lnY29udGV4dCBhY2NvcmRpbmcgdG8gd2hhdCByZWFsbHkgZ2V0cyBwYXNzZWQgb24KCXRoZSBzdGFjay4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3lzL3Byb2Nmcy5oOiBEb24ndCBpbmNsdWRlIGFzbS9lbGYuaC4KCShlbGZfZ3JlZ3NldF90LCBlbGZfZ3JlZ190LCBlbGZfZnByZWdzZXRfdCwgRUxGX05HUkVHKTogRGVmaW5lLgoJKHByZ3JlZ3NldF90LCBwcmZwcmVnc2V0X3QpOiBEZWZpbmUgdG8gZWxmXyogdHlwZXMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3N5cy9wdHJhY2UuaCAoUFRSQUNFX1dSSVRFREFUQSk6CglEZWZpbmUgdG8gY29ycmVjdCB2YWx1ZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9wcm9maWwtY291bnRlci5oOiBVc2Ugc3RydWN0CglzaWdjb250ZXh0LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzMyL3NpZ2NvbnRleHRpbmZvLmg6IExpa2V3aXNlLgoKMjAwMC0wMy0yMSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAYmFhbHBlcmF6aW0uZnJvYi5jb20+CgoJKiBzY3JpcHRzL2ZpcnN0dmVyc2lvbnMuYXdrOiBBbGxvdyBtdWx0aXBsZSB2ZXJzaW9uIHNldHMgaW4gdGhlCgkiZWFybGllc3QgdmVyc2lvbiIgc3BlY2lmaWNhdGlvbiwgbWVhbmluZyB0aGF0IHZlcnNpb24gc2V0cyBpbiB0aGUKCWdhcHMgYmV0d2VlbiBsaXN0ZWQgdmVyc2lvbnMgc2hvdWxkIGJlIGZvbGRlZCBpbnRvIHRoZSBlYXJsaWVzdCBsYXRlcgoJdmVyc2lvbiB0aGF0IGlzIGV4cGxpY2l0bHkgbGlzdGVkLgoJKiBzaGxpYi12ZXJzaW9ucyAobWlwcy4qLS4qLWxpbnV4LiopOiBVc2UgdGhhdCBzeW50YXggZm9yIHRvIHNheQoJd2Ugc3VwcG9ydCBHTElCQ18yLjAgYW5kIEdMSUJDXzIuMiBidXQgbm90IHRoZSBpbnRlcnZlbmluZyBzZXRzLgoKMjAwMC0wMy0yMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udi9nY29udl9idWlsdGluLmM6IEluY2x1ZGUgPGVuZGlhbi5oPi4KCSogaWNvbnYvZ2NvbnZfYnVpbHRpbi5oOiBBZGQgVUNTLUJFIGFsaWFzZXMuCglBZGQgVUNTLTRMRSB0cmFuc2Zvcm1hdGlvbi4gIERlZmluZSBVTklDT0RFQklHIGFuZCBVTklDT0RFTElUVExFCglhY2NvcmRpbmcgdG8gY3VycmVudCBwbGF0Zm9ybS4KCSogaWNvbnYvZ2NvbnZfaW50Lmg6IERlY2xhcmUgX19nY29udl90cmFuc2Zvcm1fdWNzMnJldmVyc2VfaW50ZXJuYWwsCglfX2djb252X3RyYW5zZm9ybV9pbnRlcm5hbF91Y3MycmV2ZXJzZSwgYW5kCglfX2djb252X3RyYW5zZm9ybV9pbnRlcm5hbF91Y3M0bGUuCgkqIGljb252L2djb252X3NpbXBsZS5jOiBJbXBsZW1lbnQgX19nY29udl90cmFuc2Zvcm1faW50ZXJuYWxfdWNzNGxlLAoJX19nY29udl90cmFuc2Zvcm1fdWNzMnJldmVyc2VfaW50ZXJuYWwgYW5kCglfX2djb252X3RyYW5zZm9ybV9pbnRlcm5hbF91Y3MycmV2ZXJzZS4KCSogaWNvbnZkYXRhL01ha2VmaWxlIChtb2R1bGVzKTogQWRkIFVOSUNPREUuCgkoZGlzdHJpYnV0ZSk6IEFkZCB1bmljb2RlLmMuCgkqIGljb252ZGF0YS9nY29udi1tb2R1bGVzOiBBZGQgZGVmaW5pdGlvbnMgZm9yIFVOSUNPREUgbW9kdWxlLgoJKiBpY29udmRhdGEvdW5pY29kZS5jOiBOZXcgZmlsZS4KCgkqIGljb252ZGF0YS91dGYtMTYuYzogUmV3cml0ZSBjb2RlIHRvIGVtaXQgQk9NLiAgQ29ycmVjdCBjb2RlIHRvCglkZXRlcm1pbmUgYnl0ZSBvcmRlciBvZiBpbnB1dCBhbmQgY29udmVydCBhY2NvcmRpbmdseS4KCgkqIGljb252ZGF0YS91dGYtMTYuYyAoZ2NvbnZfaW5pdCk6IEZpeCB0eXBvLgoKMjAwMC0wMy0yMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udmRhdGEvZ2NvbnYtbW9kdWxlczogRml4IHR5cG8uCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jb25maWd1cmUuaW46IFJlbW92ZSBgY3J5cHQnIGZyb20gb25lCgltb3JlIG1lc3NhZ2VzLgoKCSogc3lzZGVwcy91bml4L3N5c3YvYWl4Lyo6IEFkZCBpbml0aWFsIGNvZGUgZm9yIHBvcnQgdG8gQUlYIDQuMy4KCjIwMDAtMDMtMTYgIFRob3JzdGVuIEt1a3VrICA8a3VrdWtAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL2JpdHMvc2lnY29udGV4dC5oOiBOZXcuCgoyMDAwLTAzLTIwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1pc2MvTWFrZWZpbGUgKHJvdXRpbmVzKTogQWRkIG1pbmNvcmUuCgoyMDAwLTAzLTIwICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL2dlbmVyaWMvbWluY29yZS5jOiBOZXcgc3R1YiBmaWxlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2JpdHMvbW1hbi5oIChNQURWXyopOiBBZGQgZmxhZ3MKCWZyb20gbGF0ZXN0IExpbnV4IGtlcm5lbC4KCjIwMDAtMDMtMjAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZ3JwL2luaXRncm91cHMuYyAoY29tcGF0X2NhbGwpOiBVc2UgX1NDX0dFVEdSX1JfU0laRV9NQVggaW5zdGVhZCBvZgoJX1NDX0dFVFBXX1JfU0laRV9NQVguCgoyMDAwLTAzLTIwICBSaWNoYXJkIEhlbmRlcnNvbiAgPHJ0aEBjeWdudXMuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvVmVyc2lvbnM6IFB1dCBwY2ljb25maWdfaW9iYXNlCglpbiBHTElCQ18yLjEuNC4KCjIwMDAtMDMtMjAgIFJpY2hhcmQgSGVuZGVyc29uICA8cnRoQGN5Z251cy5jb20+CgoJKiBzeXNkZXBzL2FscGhhL2ZwdS9mcmFpc2VleGNwdC5jOiBVc2UgZ2V0L3NldF9mcF9jb250cm9sIGluc3RlYWQKCW9mIGFyaXRobWV0aWMgaW5zdHJ1Y3Rpb25zLgoKCSogc3lzZGVwcy9hbHBoYS9mcHUvc19jZWlsLmM6IFVzZSByb3VuZCB0byAtaW5mIGluc3RlYWQgb2YgcGxheWluZwoJd2l0aCB0aGUgZnBjci4gIFByb3RlY3QgZnJvbSBJTlYgZXhjZXB0aW9uLgoJKiBzeXNkZXBzL2FscGhhL2ZwdS9zX2NlaWxmLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2FscGhhL2ZwdS9zX2Zsb29yLmM6IFByb3RlY3QgZnJvbSBJTlYgZXhjZXB0aW9uLgoJKiBzeXNkZXBzL2FscGhhL2ZwdS9zX2Zsb29yZi5jOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvYWxwaGEvZnB1L3NfY29weXNpZ24uYzogTmV3LgoJKiBzeXNkZXBzL2FscGhhL2ZwdS9zX2NvcHlzaWduZi5jOiBOZXcuCgkqIHN5c2RlcHMvYWxwaGEvZnB1L3NfZmFicy5jOiBOZXcuCgkqIHN5c2RlcHMvYWxwaGEvZnB1L3NfZmFic2YuYzogTmV3LgoJKiBzeXNkZXBzL2FscGhhL2ZwdS9zX3JpbnQuYzogTmV3LgoJKiBzeXNkZXBzL2FscGhhL2ZwdS9zX3JpbnRmLmM6IE5ldy4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2JpdHMvbW1hbi5oOiBBZGQgTUFEViBjb25zdGFudHMuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9NYWtlZmlsZSAoc3lzZGVwX3JvdXRpbmVzKToKCUtpbGwgc2V0aGFlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9WZXJzaW9uczogQWRkIHBjaWNvbmZpZ19pb2Jhc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2lvcGVybS5jIChhbGwgYWRkcmVzcyBjb25zdGFudHMpOgoJVXNlIHBoeXNpY2FsIGFkZHJlc3NlcyBub3QgS1NFRyBhZGRyZXNzZXMuCgkoaW9fc3lzdGVtKTogQWRkIFBZWElTLgoJKGlvKTogUmVtb3ZlIGhhZS5yZWcsIHN5cywgaGFlX3NoaWZ0LgoJKHN0Yl9tYiwgc3R3X21iLCBzdGxfbWIsIF9fc2V0aGFlKTogTmV3LgoJKGlubGluZV9vdXRiLCBpbmxpbmVfb3V0dywgaW5saW5lX291dGwpOiBEb24ndCBzZXQgaGFlLgoJKGlubGluZV9pbmIsIGlubGluZV9pbncsIGlubGluZV9pbmwpOiBMaWtld2lzZS4KCShkZW5zZV9zZXRoYWUpOiBOZXcgbnVsbCBmdW5jdGlvbi4KCShzdHJ1Y3QgY3B1aW5mb19kYXRhKTogTmV3LgoJKHByb2Nlc3NfY3B1aW5mbyk6IFVzZSBsb2NhbCBhbmQgc3RhY2sgdmFyaWFibGVzLCBub3Qgc3RhdGljLgoJTW92ZSByZWFkbGluayBjaGVjayBoZXJlIGZyb20gaW5pdF9pb3N5cy4KCShpbml0X2lvc3lzKTogVXNlIF9fcGNpY29uZmlnX2lvYmFzZSBmaXJzdC4gIEtub3cgU1ggYW5kIExYIGFzIFBZWElTLgoJKF9pb3BsKTogU2ltcGxpZnkuCgkoX2hhZV9zaGlmdCk6IENhbGN1bGF0ZSBpdCBoZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9zeXNjYWxscy5saXN0OiBSZW1vdmUgc2V0aGFlLAoJYWRkIHBjaWNvbmZpZ19pb2Jhc2UuCgoyMDAwLTAzLTIwICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEBiYWFscGVyYXppbS5mcm9iLmNvbT4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC10aW1lLmMgKHRpbWVfZmluaXNoKTogVXNlICVaIGluc3RlYWQgb2YgJXouCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jdHlwZS5jIChjdHlwZV9maW5pc2gsIGN0eXBlX2NsYXNzX25ldyk6IExpa2V3aXNlLgoKCSogc2NyaXB0cy92ZXJzaW9ucy5hd2s6IEZpeGVkIHZlcnNpb24gcmVuYW1pbmcgY29kZSB0byBkaXN0aW5ndWlzaAoJbGlicmFyaWVzIHByb3Blcmx5LgoKMjAwMC0wMy0xOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL3N0ZGxpYi5oOiBBZGQgcHJvdG90eXBlIGZvciBfX2N4YV9hdGV4aXQuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3N5cy9kZWJ1Z3JlZy5oOiBVcGRhdGUgY29tbWVudCBhYm91dAoJX1NMT1dET1dOIGZsYWdzLiAgUGF0Y2ggYnkgSmltIEJsYW5keSA8amltYkBjeWdudXMuY29tPi4KCjIwMDAtMDMtMTcgIENyaXN0aWFuIEdhZnRvbiAgPGdhZnRvbkByZWRoYXQuY29tPgoKCSogZWxmL01ha2VmaWxlICgkKHJ0bGQtdmVyc2lvbi1pbnN0YWxsZWQtbmFtZSkpOiBEZWxheSByZXBsYWNpbmcKCWV4aXN0aW5nIHJ0bGQtaW5zdGFsbGVkLW5hbWUuCgkoJChydGxkLWluc3RhbGxlZC1uYW1lKSk6IFJlcXVlc3QgbGliYy0kKHZlcnNpb24pIGJlIGluc3RhbGxlZCB0b28uCglyZXBsYWNlIGV4aXN0aW5nIHJ0bGQtaW5zdGFsbGVkLW5hbWUgdXNpbmcgJChzeW1ib2xpYy1saW5rLXByb2cpLgoKMjAwMC0wMy0xNyAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAYmFhbHBlcmF6aW0uZnJvYi5jb20+CgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY29sbGF0ZS5jIChjb2xsYXRlX3JlYWQpOiBSZW1vdmUgYm9ndXMgY2FzdC4KCShpbnNlcnRfdmFsdWUsIGhhbmRsZV9lbGxpcHNpcywgY29sbGF0ZV9yZWFkKTogUmVwbGFjZSAlenUgaW4gZm9ybWF0CglzdHJpbmdzIHdpdGggJVp1LCBiZWNhdXNlIGdjYy0yLjk1LjIncyAtV2Zvcm1hdCBrbm93cyBhYm91dCB0aGUgbGF0dGVyCglidXQgbm90IHRoZSBmb3JtZXIuCgoyMDAwLTAzLTE5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9nbG9iLmMgW19MSUJDXTogQWx3YXlzIHVzZSBfX3hzdGF0NjQsIG5vdCBvbmx5IGZvcgoJZ2xvYjY0LiAgU2luY2UgdGhlcmUgaXMgbm8gZ2xvYjY0IGluIHRoZSBMRlMgcHJvcG9zYWwgYXBwbGljYXRpb25zCgljYW4gYXNzdW1lIHRoYXQgZ2xvYiBoYW5kbGVzIExGUyBzaXR1YXRpb25zLiAgZ2xvYjY0IGlzIG9ubHkgbmVlZGVkCglpZiBhbHRlcm5hdGl2ZSBmaWxlc3lzdGVtIGZ1bmN0aW9ucyBhcmUgdXNlZC4KCjIwMDAtMDMtMTkgIEdlb2ZmIENsYXJlICA8Z3djQHVuaXNvZnQuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL2dsb2IuYzogQ29ycmVjdCBnbF9wYXRoYyB2YWx1ZSByZXR1cm5lZAoJd2hlbiBHTE9CX0RPT0ZGUyBpcyBzZXQ7IGNvcnJlY3QgaGFuZGxpbmcgb2YgcGF0dGVybnMKCWNvbnRhaW5pbmcgZXNjYXBlZCB3aWxkY2FyZHMgKGFuZCBubyB1bmVzY2FwZWQgb25lcyk7CglHTE9CX0VSUiBmbGFnIHdhcyBiZWluZyBpZ25vcmVkIGluIHNvbWUgc2l0dWF0aW9ucy4KCgkqIHBvc2l4L2dsb2J0ZXN0LmMsIHBvc2l4L2dsb2J0ZXN0LnNoOiBVcGRhdGVkIHRvIGluY2x1ZGUKCXRlc3RzIGZvciB0aGUgcHJvYmxlbXMgZml4ZWQgYnkgdGhlIGFib3ZlIGNoYW5nZXMgdG8gZ2xvYi5jLgoKCSogbWFudWFsL3BhdHRlcm4udGV4aSAoQ2FsbGluZyBHbG9iKTogVXBkYXRlIGRlc2NyaXB0aW9uIG9mIGdsX3BhdGhjLgoKMjAwMC0wMy0xOSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAYmFhbHBlcmF6aW0uZnJvYi5jb20+CgoJKiBNYWtlY29uZmlnIChzb3ZlcnNpb24uaSk6IFVzZSBvbmx5IGZpcnN0IG1hdGNoIGZvciBlYWNoIGxpYi4KCgkqIE1ha2Vjb25maWcgKHNvdmVyc2lvbi5pKTogUGFzcyAtdW5kZWYgdG8gJChDQykgLUUuCgoJKiBNYWtlcnVsZXMgKFZlcnNpb25zLmFsbCwgc3lzZC12ZXJzaW9ucyk6IFRlc3QgJChzeXNkLXNvcnRlZC1kb25lKQoJcmF0aGVyIHRoYW4gJChzeXNkLWRpcnMtZG9uZSkgdG8gcHJvdGVjdCB0aGVzZSBydWxlcy4KCgkqIE1ha2VydWxlcyAodmVyc2lvbi1yZW5hbWVzLmRlZik6IFRhcmdldCByZW1vdmVkLgoJKFZlcnNpb25zLmFsbCk6IERlcGVuZCBvbiBzb3ZlcnNpb25zLmkgZGlyZWN0bHkgYW5kIHBhcnNlIGl0LgoKCSogTWFrZWNvbmZpZyAoc292ZXJzaW9ucy5pKTogTmV3IHRhcmdldCwgaW5wdXQtcmVhZGluZyBwYXJ0cyBvZgoJc292ZXJzaW9ucy5tayBnZW5lcmF0aW9uIG1vdmVkIGhlcmU7IHJlc3VsdCBpcyBhIGNhbm9uaWNhbGl6ZWQKCWxpc3QgIkxJQiBWRVJTSU9OIFtTRVRdIiBmb3IgdGhpcyBjb25maWd1cmF0aW9uLgoJKHNvdmVyc2lvbnMubWspOiBVc2UgdGhhdCBhcyBpbnB1dC4gIERvbid0IGVtaXQgbWFwLWZpcnN0dmVyc2lvbnMuCgkqIE1ha2VydWxlcyAodmVyc2lvbi1yZW5hbWVzLmRlZik6IE5ldyB0YXJnZXQsIGdlbmVyYXRlZCBmcm9tCglzb3ZlcnNpb25zLmkgd2l0aCBjb250ZW50cyB0aGF0IHdhcyBpbiAkKG1hcC1maXJzdHZlcnNpb25zKS4KCShWZXJzaW9ucy5hbGwpOiBEb24ndCBkZXBlbmQgb24gc292ZXJzaW9ucy5taywgZGVwZW5kIG9uCgl2ZXJzaW9uLXJlbmFtZXMuZGVmIGluc3RlYWQ7IGp1c3QgY2F0IGl0IGludG8gdGhlIGlucHV0LgoKCSogTWFrZXJ1bGVzIChWZXJzaW9ucy5hbGwpOiBVc2UgJChmb3JlYWNoIC4uLikgaW5zdGVhZCBvZiBzaCBmb3IgbG9vcAoJZm9yICQobWFwLWZpcnN0dmVyc2lvbnMpLCB3aGljaCBiZXR0ZXIgaGFuZGxlcyBpdCBiZWluZyBlbXB0eS4KCgkqIHNobGliLXZlcnNpb25zIFtVU0VfSU5fTElCSU9dICguKi0uKi1nbnUtZ251Kik6IFNldCBlYXJsaWVzdAoJc3VwcG9ydGVkIHZlcnNpb24gZm9yIGxpYmMgMC4yLjkwLmxpYmlvIHRvIEdMSUJDXzIuMi4KCgkqIE1ha2Vjb25maWcgKHNvdmVyc2lvbnMubWspOiBHcm9rIG5ldyB0aGlyZCBjb2x1bW4gaW4gc2hsaWItdmVyc2lvbnMsCglhbmQgdXNlIGl0IHRvIGVtaXQgbmV3IHZhcmlhYmxlIGBtYXAtZmlyc3R2ZXJzaW9ucycuCgkqIHNjcmlwdHMvZmlyc3R2ZXJzaW9ucy5hd2s6IE5ldyBmaWxlLgoJKiBNYWtlcnVsZXMgKFZlcnNpb25zLmFsbCk6IFVzZSBzY3JpcHRzL2ZpcnN0dmVyc2lvbnMuYXdrIGFuZAoJdGhlICQobWFwLWZpcnN0dmVyc2lvbnMpIHZhbHVlIHRvIGdlbmVyYXRlIGEgbW9kaWZpZWQgdmVyc2lvbnMgbGlzdAoJdGhhdCBpbmNsdWRlcyByZW5hbWVzIGluICJBID0gQiIgc3ludGF4IGZvciBlYWNoIHZlcnNpb24gc2V0IGVhcmxpZXIKCXRoYW4gdGhlICJlYXJsaWVzdCBzeW1ib2wgdmVyc2lvbiIgbmFtZWQgaW4gc2hsaWItdmVyc2lvbnMuCgkqIHNjcmlwdHMvdmVyc2lvbnMuYXdrOiBSZWNvZ25pemUgIkEgPSBCIiBsaW5lcyBpbiB0aGUgaW5wdXQgdG8gbWVhbgoJcmVuYW1lIHZlcnNpb24gc2V0IEEgdG8gQiBpbiB0aGUgb3V0cHV0IHRvIHRoZSBpbnRlcm1lZGlhdGUgZmlsZS4KCSogc2NyaXB0cy9hYmktdmVyc2lvbnMuYXdrOiBOZXcgZmlsZS4KCSogTWFrZXJ1bGVzIChhYmktdmVyc2lvbnMuaCk6IE5ldyB0YXJnZXQsIGdlbmVyYXRlZCBieSB0aGF0IHNjcmlwdC4KCVskKHZlcnNpb25pbmcpID0geWVzXSAoYmVmb3JlLWNvbXBpbGUpOiBQcmVwZW5kIGFiaS12ZXJzaW9ucy5oLgoJKiBpbmNsdWRlL3NobGliLWNvbXBhdC5oOiBOZXcgZmlsZSwgdXNlcyB0aGF0IGdlbmVyYXRlZCBoZWFkZXIuCgoyMDAwLTAzLTE4ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEBiYWFscGVyYXppbS5mcm9iLmNvbT4KCgkqIE1ha2Vjb25maWcgKHNvdmVyc2lvbnMubWspOiBDb252ZXJ0ICUgLT4gIyBpbiBzaGxpYi12ZXJzaW9ucwoJYWZ0ZXIgc3RyaXBwaW5nICMgY29tbWVudHMsIGFuZCB0aGVuIHJ1biBpdCB0aHJvdWdoIGNwcC4KCVRoaXMgYWxsb3dzIHRoaW5ncyBsaWtlICIlaWZkZWYgRk9PIiBiYXNlZCBvbiBjb25maWcuaCBzZXR0aW5ncy4KCSogc2hsaWItdmVyc2lvbnMgW1VTRV9JTl9MSUJJT10gKC4qLS4qLWdudS1nbnUqKTogbGliYz0wLjIuOTAubGliaW8KCgkqIGh1cmQvaW50ci1tc2cuYyAoX2h1cmRfaW50cl9ycGNfbWFjaF9tc2cpOiBGb3IgTUFDSF9TRU5EX0lOVEVSUlVQVEVECglhbmQgb3RoZXIgZXJyb3JzIHRoYXQgaW5kaWNhdGUgYSBwc2V1ZG8tcmVjZWl2ZSBoYXBwZW5lZCwgZ3JvayB0aHJvdWdoCgl0aGUgbWVzc2FnZSBidWZmZXIgZm9yIHBvcnQgcmlnaHRzIHRoYXQgbmVlZCByZWZlcmVuY2VzIGZpeGVkIHVwLgoKMjAwMC0wMy0xNiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzY2FsbHMubGlzdDogQWRkZWQgbWFkdmlzZSBhbmQgbWluY29yZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21hZHZpc2UuYzogUmVtb3ZlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvYml0cy9tbWFuLmggKE1BRFZfKik6IEFkZCBmbGFncwoJZnJvbSBsYXRlc3QgTGludXgga2VybmVsLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2JpdHMvbW1hbi5oIChNQURWXyopOiBMaWtld2lzZS4KCgkqIG1pc2Mvc3lzL21tYW4uaDogQWRkIHByb3RvdHlwZSBmb3IgbWluY29yZS4KCjIwMDAtMDMtMTcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zeXNjYWxscy5saXN0OiBBZGQgb2xkc2V0cmxpbWl0CgllbnRyeSBmb3IgR0xJQkNfMi4wIHZlcnNpb24gb2Ygc2V0cmxpbWl0LgoJUGF0Y2ggYnkgU2hpbnlhIEhhbmF0YWthIDxoYW5hdGFrYUBhYnlzcy5yaW0ub3IuanA+LgoKMjAwMC0wMy0xNiAgVGhvcnN0ZW4gS3VrdWsgIDxrdWt1a0BzdXNlLmRlPgoKCSogbmlzL25zc19uaXMvbmlzLWV0aGVycy5jOiBSZXR1cm4gd2l0aCBlcnJvciBpZiBtYWxsb2MgZmFpbHMuCgkqIG5pcy9uc3NfY29tcGF0L2NvbXBhdC1pbml0Z3JvdXBzLmM6IExpa2V3aXNlLgoJKiBuaXMvbnNzX25pcy9uaXMtaW5pdGdyb3Vwcy5jOiBMaWtld2lzZS4KCSogbmlzL25zc19uaXMvbmlzLW5ldGdycC5jOiBMaWtld2lzZS4KCSogbmlzL25zc19uaXMvbmlzLXByb3RvLmM6IExpa2V3aXNlLgoJKiBuaXMvbnNzX25pcy9uaXMtcnBjLmM6IExpa2V3aXNlLgoJKiBuaXMvbnNzX25pcy9uaXMtc2VydmljZS5jOiBMaWtld2lzZS4KCSogbmlzL3lwY2xudC5jOiBMaWtld2lzZS4KCjIwMDAtMDMtMTYgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIG1hbnVhbC9NYWtlZmlsZTogTUFLRUlORk8gaXMgc2V0IHRvIGA6JyBmcm9tIGNvbmZpZ3VyZSBpZiBpdAoJZG9lc24ndCBleGlzdCwgY29ycmVjdCBjaGVja3MuICBGaXhlcyBQUiBsaWJjLzE2NDkuCgoyMDAwLTAzLTE2ICBUaG9yc3RlbiBLdWt1ayAgPGt1a3VrQHN1c2UuZGU+CgoJKiBuc2NkL2hzdGNhY2hlLmM6IFJlc3RvcmUgY29ycmVjdCBVSUQuCgkqIG5zY2QvcHdkY2FjaGUuYzogTGlrZXdpc2UuCglQYXRjaCBmcm9tIEdhYm9yIEdvbWJhcyA8Z29tYmFzZ0BpbmYuZWx0ZS5odT4uCgoyMDAwLTAzLTE3ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEBiYWFscGVyYXppbS5mcm9iLmNvbT4KCgkqIHN5c2RlcHMvaTM4Ni9zeXMvdWNvbnRleHQuaDogUHJlcGVuZCBSRUdfIHRvIGVudW0gdmFsdWVzIGFuZAoJbWFjcm9zIGZvciByZWdpc3RlciBuYW1lcywgaW4gbGluZSB3aXRoIDIwMDAtMDMtMTQgbGludXggY2hhbmdlLgoKCSogc3lzZGVwcy9tYWNoL3NjaGVkX3lpZWxkLmM6IE5ldyBmaWxlLgoKMjAwMC0wMy0xMyAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAYmFhbHBlcmF6aW0uZnJvYi5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvbG9ja2ZpbGUuYzogSW5jbHVkZSA8c3RkaW8uaD4KCShfSU9fZmxvY2tmaWxlLCBfSU9fZnVubG9ja2ZpbGUsIF9JT19mdHJ5bG9ja2ZpbGUpOiAjdW5kZWYgdGhlc2UgaW4KCWNhc2UgPGxpYmlvLmg+IGRlZmluZWQgdGhlbS4KCShfX2Zsb2NrZmlsZSwgX19mdW5sb2NrZmlsZSwgX19mdHJ5bG9ja2ZpbGUpOiBGdW5jdGlvbnMgcmVuYW1lZAoJZnJvbSBfX2ludGVybmFsXyouCgkoZmxvY2tmaWxlLCBfSU9fZmxvY2tmaWxlLCBmdW5sb2NrZmlsZSwgX0lPX2Z1bmxvY2tmaWxlLAoJZnRyeWxvY2tmaWxlLCBfSU9fZnRyeWxvY2tmaWxlKTogRml4IGFsaWFzZXMgYWNjb3JkaW5nbHkuCgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy9zdGRpby1sb2NrLmggKF9JT19sb2NrX2luaXRpYWxpemVyKTogVXNlIC4uLgoJZm9yIG1vcmUgcGxlYXNpbmcgcGFyc2UgZXJyb3IuCgoyMDAwLTAzLTE2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9sYy10aW1lLmMgKF9ubF9pbml0X2VyYV9lbnRyaWVzKTogQ29ycmVjdCBhbGxvY2F0aW9uIG9mCgltZW1vcnkgZm9yIGVyYXMuCglQYXRjaCBieSBTaGlueWEgSGFuYXRha2EgPGhhbmF0YWthQGFieXNzLnJpbS5vci5qcD4uCgoJKiBlbGYvTWFrZWZpbGU6IEFkZCBydWxlcyB0byBjb21waWxlIGFuZCBydW4gY29uc3Rsb2FkMSB0ZXN0LgoJKiBlbGYvY29uc3Rsb2FkMS5jOiBOZXcgZmlsZS4KCSogZWxmL2NvbnN0bG9hZDIuYzogTmV3IGZpbGUuCgkqIGVsZi9jb25zdGxvYWQzLmM6IE5ldyBmaWxlLgoKMjAwMC0wMy0xNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3Bvc2l4L29wZW42NC5jOiBNYWtlIF9fb3BlbjY0IHdlYWsgYWxpYXMuCgkqIHN5c2RlcHMvcG9zaXgvcHJlYWQ2NC5jOiBNYWtlIF9fcHJlYWQ2NCB3ZWFrIGFsaWFzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wcmVhZDY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3ByZWFkNjQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvcHJlYWQ2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wcmVhZDY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvc2l4L3B3cml0ZTY0LmM6IE1ha2UgX19wd3JpdGU2NCB3ZWFrIGFsaWFzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wd3JpdGU2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9wd3JpdGU2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9wd3JpdGU2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9wd3JpdGU2NC5jOiBMaWtld2lzZS4KCjIwMDAtMDMtMTQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvaW9wZXJtLmMgKHBsYXRmb3JtKTogQWRkIGVudHJ5IGZvcgoJTmF1dGlsdXMuICBQYXRjaCBieSBTb29ob29uIExlZSA8c29vaG9vbi5sZWVAYWxwaGEtcHJvY2Vzc29yLmNvbT4uCgoyMDAwLTAzLTE2ICBNYXJrIEtldHRlbmlzICA8a2V0dGVuaXNAZ251Lm9yZz4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc3lzL3Byb2Nmcy5oIChwcmZwcmVnc2V0X3QpOgoJVHlwZWRlZiBmb3IgZWxmX2ZwcmVnc2V0X3QgaW5zdGVhZCBvZiBgZWxmX2ZwcmVnc2V0X3QgKicuCgoyMDAwLTAzLTA4ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zY3NpL3NnLmg6IFN5bmMgd2l0aCBMaW51eCAyLjMuNTAuCgoyMDAwLTAzLTE0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHRpbWV6b25lL2FmcmljYTogVXBkYXRlIGZyb20gdHpkYXRhMjAwMGQuCgkqIHRpbWV6b25lL2FzaWE6IExpa2V3aXNlLgoJKiB0aW1lem9uZS9hdXN0cmFsYXNpYTogTGlrZXdpc2UuCgkqIHRpbWV6b25lL2V1cm9wZTogTGlrZXdpc2UuCgkqIHRpbWV6b25lL25vcnRoYW1lcmljYTogTGlrZXdpc2UuCgkqIHRpbWV6b25lL3NvdXRoYW1lcmljYTogTGlrZXdpc2UuCgoJKiBwby9mci5wbzogVXBkYXRlIGZyb20gdHJhbnNsYXRpb24gdGVhbS4KCSogcG8vZGUucG86IExpa2V3aXNlLgoKCSogZWxmL2RsLWRlcHMuYyAoX2RsX21hcF9vYmplY3RfZGVwcyk6IENoYW5nZSByZXR1cm4gdHlwZSBhbmQgcmVtb3ZlCglsYXN0IHBhcmFtZXRlci4gIE1vdmUgY29kZSB0byBhZGQgbWFwIHRvIGdsb2JhbCBzY29wZSBmcm9tIGhlcmUuLi4KCSogZWxmL2RsLW9wZW4uYyAoZGxfb3Blbl93b3JrZXIpOiAuLi5oZXJlLgoJKiBlbGYvbGRzb2RlZnMuaDogQWRqdXN0IGRlY2xhcmF0aW9uIG9mIF9kbF9tYXBfb2JqZWN0X2RlcHMuCgkqIGVsZi9ydGxkLmM6IEFkanVzdCBjYWxsIHRvIF9kbF9tYXBfb2JqZWN0X2RlcHMuCgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY29sbGF0ZS5jIChjb2xsYXRlX3JlYWQpOiBGaXggd2FybmluZy4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc3lzL3Vjb250ZXh0Lmg6IFByZXBlbmQgUkVHXyB0byBlbnVtCgl2YWx1ZXMgYW5kIG1hY3JvcyBmb3IgcmVnaXN0ZXIgbmFtZXMuCgoJKiBsaWJpby9pb2ZvcG5jb29rLmMgKF9JT19jb29raWVfc2Vlayk6IFJldHVybiBlcnJvciBvbmx5IGlmIHZhbHVlCglyZXR1cm5lZCBieSBzZWVrIGNvb2tpZSBmdW5jdGlvbiBpcyAtMS4KCjIwMDAtMDMtMTQgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGxvY2FsZS9sb2NhbGVjb252LmMgKGxvY2FsZWNvbnYpOiBGaXggdHlwby4KCVJlcG9ydGVkIGJ5IEFuZHJlIENoYXJib25uZWF1IDxhbmRyZWNAY29yZWwuY29tPi4KCjIwMDAtMDMtMTQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnYvc2tlbGV0b24uYzogSW5jcmVtZW50IF9faW52b2NhdGlvbl9jb3VudGVyIGluIGlubmVyIGxvb3AKCXNpbmNlIG1vZHVsZXMgZGVwZW5kIG9uIGl0IGNvdW50aW5nIHRoZSBudW1iZXIgb2YgdGltZXMgdGhlIGNvbnZlcnNpb24KCWZ1bmN0aW9uIGdvdCBjYWxsZWQuCgoJKiBpY29udi9nY29udl9vcGVuLmM6IE9wdGltaXplIGxvb3AgdG8gc2V0dXAgc3RlcCBkYXRhIHN0cnVjdHVyZS4KCgkqIGljb252L2djb252Lmg6IFByZXR0eSBwcmludC4KCjIwMDAtMDMtMDQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvd29yZGV4cC10ZXN0LmM6IENvcnJlY3Qgb25lIG9mIHRoZSB0ZXN0cyBhZGRlZCBpbiB0aGUgbGFzdAoJY2hhbmdlLiAgUmVhbGx5IGdldCB0aGUgcm9vdCBwYXNzd2QgZW50cnkgdG8gY2hlY2sgYWdhaW4gfnJvb3QuCgoyMDAwLTAzLTEwICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBtYW51YWwvZmlsZXN5cy50ZXhpIChXb3JraW5nIERpcmVjdG9yeSk6IEZpeCBsYXN0IHBhdGNoLgoJUGF0Y2ggYnkgTWFydGluIEJ1Y2hob2x6ICA8bWFydGluQHhlbWFjcy5vcmc+LgoKMjAwMC0wMy0xMCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbWFudWFsL2NyZWF0dXJlLnRleGkgKEZlYXR1cmUgVGVzdCBNYWNyb3MpOiBGaXggbGFuZ3VhZ2UuCgoyMDAwLTAzLTEwICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEBiYWFscGVyYXppbS5mcm9iLmNvbT4KCgkqIG1hY2gvZGV2c3RyZWFtLmMgKGRldnN0cmVhbV93cml0ZSwgZGV2c3RyZWFtX3JlYWQpOiBOZXcgZnVuY3Rpb25zLgoJKGlucHV0LCBvdXRwdXQpOiBGdW5jdGlvbnMgcmVtb3ZlZC4KCShtYWNoX29wZW5fZGV2c3RyZWFtKTogVXNlIGRldnN0cmVhbV97cmVhZCx3cml0ZX0gYXMgY29va2llIGZ1bmN0aW9ucywKCXVzaW5nIG9ubHkgdGhlIHZhbmlsbGEgZm9wZW5jb29raWUgaW50ZXJmYWNlLgoKCSogaHVyZC9mb3BlbnBvcnQuYyBbISBVU0VfSU5fTElCSU9dIChjb29raWVfaW9fZnVuY3Rpb25zX3QpOiBEZWZpbmUKCWFzIG1hY3JvIGZvciBfX2lvX2Z1bmN0aW9ucy4KCShmdW5jc2lvKTogVXNlIGNvb2tpZV9pb19mdW5jdGlvbnNfdCB0eXBlIG5hbWUuCgkoZm9wZW5wb3J0KTogUmVuYW1lZCBmcm9tIF9fZm9wZW5wb3J0LiAgUmV3cml0ZSB0byBjYWxsIGZvcGVuY29va2llLgoKCSogbGliaW8vaW9mb3BuY29vay5jIChfSU9fY29va2llX2luaXQpOiBOZXcgZnVuY3Rpb24sIGJyb2tlbiBvdXQgb2YKCWZvcGVuY29va2llLgoJKGZvcGVuY29va2llKTogVXNlIGl0LgoJKiBsaWJpby9saWJpby5oOiBEZWNsYXJlIF9JT19jb29raWVfaW5pdC4KCSogaHVyZC92cHByaW50Zi5jICh2cHByaW50ZikgW1VTRV9JTl9MSUJJT106IEltcGxlbWVudCB1c2luZwoJX0lPX2Nvb2tpZV9pbml0LgoKCSogbGliaW8vbGliaW8uaCAoX19pb19zZWVrX2ZuKTogRml4IHNlY29uZCBhcmd1bWVudCB0eXBlCgl0byBiZSBhIHBvaW50ZXIsIGluIGxpbmUgd2l0aCB0aGUgbWFudWFsIGFuZCB0aGUgb2xkIHN0ZGlvLgoJKiBsaWJpby9pb2ZvcG5jb29rLmMgKF9JT19jb29raWVfc2Vlayk6IEZpeCAoc29sZSkgY2FsbGVyLgoKCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvc3RkaW8tbG9jay5oOiBOZXcgZmlsZS4KCVRoaXMgaXMgYSBzdHViIHdpdGggI2Vycm9yLCBidXQgdGhhdCdzIGJldHRlciB0aGFuIG5vIGZpbGUgYXQgYWxsLgoKMjAwMC0wMy0wOSAgTWFydGluIEJ1Y2hob2x6ICA8bWFydGluQHhlbWFjcy5vcmc+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9zeXNjYWxsLlM6IERvYyBGaXhlcy4KCSogbWFudWFsL21lc3NhZ2UudGV4aSAoVXNpbmcgZ2V0dGV4dGl6ZWQgc29mdHdhcmUpOiBEb2MgRml4ZXMuCgkqIG1hbnVhbC9tZXNzYWdlLnRleGkgKE1lc3NhZ2UgVHJhbnNsYXRpb24pOiBEb2MgRml4ZXMuCgkqIG1hbnVhbC9maWxlc3lzLnRleGkgKEZpbGUgU2l6ZSk6IERvYyBGaXhlcy4KCSogbWFudWFsL2NoYXJzZXQudGV4aSAoZ2xpYmMgaWNvbnYgSW1wbGVtZW50YXRpb24pOiBEb2MgRml4ZXMuCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jb2xsYXRlLmMgKGNvbGxhdGVfb3V0cHV0KTogRG9jIEZpeGVzLgoJKiBpY29udi9nY29udl9kYi5jIChmaW5kX2Rlcml2YXRpb24pOiBEb2MgRml4ZXMuCgkqIG1hbnVhbC9pbnN0YWxsLnRleGk6IERvYyBGaXhlcy4KCSogbWFudWFsL3NlYXJjaC50ZXhpIChIYXNoIFNlYXJjaCBGdW5jdGlvbik6IERvYyBGaXhlcy4KCSogbWFudWFsL3N0ZGlvLnRleGkgKE91dHB1dCBDb252ZXJzaW9uIFN5bnRheCk6IERvYyBGaXhlcy4KCSogRkFRLmluOiBEb2MgRml4ZXMuCgkqIGNvbmZpZy5oLmluOiBEb2MgRml4ZXMuCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1zeXNkZXAuYzogRG9jIEZpeGVzLgoJRG9jIEZpeGVzLiAgYGFsbG93cyB0bycgaXMgbm90IGNvcnJlY3QgRW5nbGlzaC4KCgkqIGVsZi9ydGxkLmM6IERvYyBmaXhlcy4KCSogbWFudWFsL2NyZWF0dXJlLnRleGkgKEZlYXR1cmUgVGVzdCBNYWNyb3MpOiBEb2MgZml4ZXMuCgkqIG1hbnVhbC9tZW1vcnkudGV4aSAoSG9va3MgZm9yIE1hbGxvYyk6IERvYyBGaXhlcy4KCgkqIG1hbnVhbC9maWxlc3lzLnRleGkgKFdvcmtpbmcgRGlyZWN0b3J5KTogQ2hlY2sgZm9yIEVSQU5HRSB0bwoJYXZvaWQgaW5mbG9vcC4KCjIwMDAtMDItMjMgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGJhYWxwZXJhemltLmZyb2IuY29tPgoKCSogc3RyaW5nL2FyZ3otc3RyaW5naWZ5LmMgKF9fYXJnel9zdHJpbmdpZnkpOiBGaXggbG9vcCB0ZXJtaW5hdGlvbgoJY29uZGl0aW9ucyBzbyBhcyBub3QgdG8gY2xvYmJlciB0aGUgZmluYWwgJ1wwJyB3aGVuIHRoZXJlIGlzIG9ubHkgb25lCgllbGVtZW50IGluIHRoZSB2ZWN0b3IuCgoyMDAwLTAzLTA5ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEBiYWFscGVyYXppbS5mcm9iLmNvbT4KCgkqIGlvL3N5cy9zdGF0Lmg6IEZpeCBpbnZlcnRlZCBzZW5zZSBvZiBgZGVmaW5lZCBfX1NfSUZTT0NLJyB0ZXN0LAoJYnJva2VuIGJ5IDIwMDAtMDItMjcgY2hhbmdlLgoKCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvcG9sbC5oIChQT0xMUkROT1JNLCBQT0xMUkRCQU5EKTogTmV3IG1hY3Jvcy4KCjIwMDAtMDItMjMgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGJhYWxwZXJhemltLmZyb2IuY29tPgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvc2lnc3RhY2suYyAoc2lnc3RhY2spOiBSZW1vdmUgYGNvbnN0JyBmcm9tCglhcmd1bWVudCB0eXBlLCBmb3IgMjAwMC0wMi0yMiBjaGFuZ2UgaW4gc2lnbmFsL3NpZ25hbC5oIGRlY2xhcmF0aW9uLgoKMjAwMC0wMy0wOSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAYmFhbHBlcmF6aW0uZnJvYi5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvZ2V0ZGVudHM2NC5jIChfX2dldGRpcmVudHJpZXM2NCk6IFJlbmFtZWQKCXRvIGdldGRpcmVudHJpZXM2NCAobm8gX18pLCBzaW5jZSB0aGUgTGludXggaW1wbGVtZW50YXRpb24KCWhhcyBubyBfXyBuYW1lLCBhbmQgdGhlcmUgaXMgbm8gZGVjbGFyYXRpb24gZm9yIHRoZSBfXyBuYW1lLgoKCSogc3lzZGVwcy9tYWNoL2JpdHMvbGliYy1sb2NrLmggKF9fbGliY19jbGVhbnVwX2VuZCk6IE5ldyBtYWNyby4KCgkqIHN5c2RlcHMvbWFjaC9odXJkL01ha2VmaWxlICgkKGNvbW1vbi1vYmpwZngpZXJybm9zLmQpOiBUaWdodGVuIHVwCglzZWQgcmVnZXhwIHNvIGFzIG5vdCB0byBicmVhayBkaXJlY3RvcnkgbmFtZXMgaW5jbHVkaW5nIC8uLi8gd2l0aGluLgoKCSogc3lzZGVwcy91bml4L2JzZC9iaXRzL3dhaXRmbGFncy5oOiBGaWxlIHJlbW92ZWQuCglUaGUgc3lzZGVwcy9nZW5lcmljIGZpbGUgaXMgcmlnaHQgZm9yIEJTRC4gIFRoaXMgZmlsZSB3YXMgaW4gZmFjdCB0aGUKCUh1cmQgZmlsZSwgYnV0IHRoZSBvbmx5IGRpZmZlcmVuY2Ugd2FzIHRoZSBXTk9SRUFQIGZsYWcgdGhhdCB3YXMgbmV2ZXIKCWFjdHVhbGx5IGltcGxlbWVudGVkIG9yIHVzZWQgYW55d2hlcmUuCgoJKiBjb25maWd1cmUuaW4gKFBFUkwsIElOU1RBTExfSU5GTyk6IERvbid0IEFDX1NVQlNUIHRoZXNlLAoJc2luY2UgQUNfUEFUSF9QUk9HIGFscmVhZHkgZG9lcyBpdCBmb3IgdXMuCgkoUEVSTCk6IFJld3JpdGUgY2hlY2sgYWRkZWQgaW4gMjAwMC0wMi0yOSBjaGFuZ2UgZm9yIHN5bnRhY3RpYwoJY29ycmVjdG5lc3MgYW5kIHNoIHBvcnRhYmlsaXR5LiAgSSByZXBsYWNlZCB0aGUgYnJva2VuIGNoZWNrCgl3aXRoIGEgbW9yZSBzZW5zaWJsZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgYXBwYXJlbnRseSBpbnRlbmRlZAoJc2VtYW50aWNzLCB3aGljaCBtaWdodCBzdGlsbCBiZSBxdWVzdGlvbmFibGUuICBVc2luZyBleHByIGNhdXNlcwoJYSBub24tbnVtZXJpYyB2YWx1ZSBmb3IgYHBlcmwgLVY6YXBpdmVyc2lvbmAgdG8gYmUgYWNjZXB0ZWQsCglyZWZ1c2luZyB0byB1c2Ugb25seSBhIHBlcmwgdGhhdCByZXBvcnRzIGEgbnVtYmVyIGxlc3MgdGhhbiA1OwoJb24gbXkgc3lzdGVtLCBwZXJsICg1LjAwNF8wNCkgLVY6YXBpdmVyc2lvbiBwcm9kdWNlcyBVTktOT1dOLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGVkLgoKMjAwMC0wMy0wOCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbWFudWFsL2NyeXB0LnRleGk6IEZpeCBwYXRocy4KCjIwMDAtMDMtMDcgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHJlc29sdi9uZXRkYi5oOiBUaGUgZGVzY3JpcHRpb25zIG9mIHJyZXN2cG9ydCBhbmQgcnJlc3Zwb3J0X2FmCgl3ZXJlIHN3YXBwZWQuCglQYXRjaCBieSBZT1NISUZVSkkgSGlkZWFraSA8eW9zaGZ1amlAZWNlaS50b2hva3UuYWMuanA+LCBjbG9zZXMgUFIKCWxpYmMvMTYzNi4KCjIwMDAtMDMtMDYgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvaTM4Ni9mcHUvYml0cy9tYXRoaW5saW5lLmg6IEZpeCB1bmlvbiBkZWZpbml0aW9uIGVycm9yCglpbiBfX3NnbjFsLCBvdGhlcndpc2UgZysrIGZhaWxzIHRvIHBhcnNlIHRoaXMuCglSZXBvcnRlZCBieSBTZWFuIENoZW4gPHNlYW4uY2hlbkB0dXJib2xpbnV4LmNvbT4uCgoyMDAwLTAzLTAzICBHZW9mZiBLZWF0aW5nICA8Z2VvZmZrQGN5Z251cy5jb20+CgoJKiBjb25maWd1cmUuaW46IENvbXB1dGUgc2l6ZW9mLWxvbmctZG91YmxlLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGVkLgoJKiBjb25maWcubWFrZS5pbjogTWFrZSBzaXplb2YtbG9uZy1kb3VibGUgYXZhaWxhYmxlIHRvIHN1Yi1tYWtlcy4KCjIwMDAtMDMtMDMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckBjeWdudXMuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaW5pdC1maXJzdC5jOiBSZW1vdmUgdHJhY2Ugb2YgcGVyc29uYWxpdHkKCWNhbGwuCgoyMDAwLTAzLTAzICBHZW9mZiBLZWF0aW5nICA8Z2VvZmZrQGN5Z251cy5jb20+CgoJKiBNYWtlY29uZmlnIChycGF0aC1kaXJzKTogQWRkIGNyeXB0LgoJKGFsbC1zdWJkaXJzKTogUmVtb3ZlIG1kNWNyeXB0LgoJKiBjcnlwdC9zeXNkZXBzL3VuaXgvY3J5cHQuYzogTW92ZSB0byBjcnlwdC8uCgkqIGNyeXB0L3N5c2RlcHMvdW5peC9jcnlwdC1lbnRyeS5jOiBNb3ZlIHRvIGNyeXB0Ly4KCSogc3lzZGVwcy9nZW5lcmljL2NyeXB0LWVudHJ5LmM6IERlbGV0ZS4KCSogY3J5cHQvc3lzZGVwcy91bml4L2NyeXB0Lmg6IE1vdmUgdG8gY3J5cHQvLgoJKiBzeXNkZXBzL2dlbmVyaWMvY3J5cHQuaDogRGVsZXRlLgoJKiBjcnlwdC9zeXNkZXBzL3VuaXgvY3J5cHQtcHJpdmF0ZS5oOiBNb3ZlIHRvIGNyeXB0Ly4KCSogY3J5cHQvc3lzZGVwcy91bml4L2NyeXB0X3V0aWwuYzogTW92ZSB0byBjcnlwdC8uCgkqIGNyeXB0L3N5c2RlcHMvdW5peC9kZXNfaW1wbC5jOiBNb3ZlIHRvIHN1bnJwYy8uCgkqIHN5c2RlcHMvZ2VuZXJpYy9kZXNfaW1wbC5jOiBEZWxldGUuCgkqIGNyeXB0L3N5c2RlcHMvdW5peC91ZmMtY3J5cHQuaDogTW92ZSB0byBjcnlwdC8uCgkqIGNyeXB0L3N5c2RlcHM6IERlbGV0ZS4KCSogY3J5cHQvY3J5cHRfdXRpbC5jOiBEb24ndCB1c2UgYHBhdGNobGV2ZWwuaCcuCgkqIG1kNS1jcnlwdC9WZXJzaW9uczogTW92ZSB0byBjcnlwdC8uCgkqIG1kNS1jcnlwdC9tZDUtY3J5cHQuYzogTW92ZSB0byBjcnlwdC8uCgkqIG1kNS1jcnlwdC9tZDUuYzogTW92ZSB0byBjcnlwdC8uCgkqIG1kNS1jcnlwdC9tZDVjLXRlc3QuYzogTW92ZSB0byBjcnlwdC8uCgkqIG1kNS1jcnlwdC9tZDV0ZXN0LmM6IE1vdmUgdG8gY3J5cHQvLgoJKiBtZDUtY3J5cHQ6IERlbGV0ZS4KCSogY3J5cHQvTWFrZWZpbGU6IEFkanVzdCBmb3IgbmV3IHN0cnVjdHVyZS4KCjIwMDAtMDMtMDMgIFBhdWwgRWdnZXJ0ICA8ZWdnZXJ0QHR3aW5zdW4uY29tPgoKCSogcG9zaXgvcmVnZXguYyAoTUJfTEVOX01BWCk6IEluY2x1ZGUgPGxpbWl0cy5oPiB0byBkZWZpbmU7CglkZWZpbmUgdG8gMSBpZiBub3QgZGVmaW5lZC4KCjIwMDAtMDMtMDMgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN1bnJwYy94ZHIuYyAoeGRyX2h5cGVyKTogQ29ycmVjdGx5IGhhbmRsZSBsb3dlciBoYWxmIG9mIGxscC4KCjIwMDAtMDMtMDMgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN1bnJwYy94ZHJfaW50WFhfdC5jICh4ZHJfdWludDE2X3QpOiBGaXggRU5DT0RFIGFuZCBERUNPREUKCWNhc2VzLgoJKHhkcl9pbnQ2NF90KTogQ29ycmVjdGx5IGhhbmRsZSBsb3dlciBoYWxmLgoJRml4IGJ5IFN0ZW4gRGFobGdyZW4gPHN0ZGFAZW5lYS5zZT4sIGNsb3NlcyBQUiBsaWJjLzE2MjMuCgoyMDAwLTAzLTAzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAY3lnbnVzLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2luaXQtZmlyc3QuYzogUmVtb3ZlIHRyYWNlIG9mIHBlcnNvbmFsaXR5CgljYWxsLgoKMjAwMC0wMy0wMiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2NzaS9zZy5oOiBJbnRlZ3JhdGUgY2hhbmdlcyBmcm9tIExpbnV4CgkyLjMuNDMuCgoyMDAwLTAzLTAyICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiByZXNvbHYvTWFrZWZpbGUgKGhlYWRlcnMpOiBBZGQgYXJwYS9uYW1lc2VyX2NvbXBhdC5oLgoKMjAwMC0wMy0wMSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogdGltZS9NYWtlZmlsZSAodHN0LWdldGRhdGUtRU5WKTogTmV3IGZsYWcgdG8gcGFzcyBEQVRFTVNLLgoJKHRlc3RzKTogQWRkZWQgdHN0LWdldGRhdGUuCgoJKiB0aW1lL3RzdC1nZXRkYXRlLmM6IE5ldyBmaWxlLgoKCSogdGltZS9kYXRlbXNrOiBOZXcgZmlsZSwgbmVlZGVkIGZvciB0c3QtZ2V0ZGF0ZS4KCjIwMDAtMDItMjkgIENyaXN0aWFuIEdhZnRvbiAgPGdhZnRvbkByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmluIChDQ1ZFUlNJT04pOiBSZXF1aXJlIGF0IGxlYXN0IHZlZXJzaW9uIDUgb2YgcGVybCBBUEkuCgoyMDAwLTAyLTE3ICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBzdW5ycGMvcnBjL3N2Yy5oIChTVkNYUFJUKTogQWRkIGEgInhwX3BhZCIgZmllbGQgYXQgdGhlIGVuZC4KCgkqIHN1bnJwYy9zdmNfdWRwLmMgKHN2Y3VkcF9idWZjcmVhdGUpOiBUdXJuIG9uIElQX1BLVElORk8gaWYKCWF2YWlsYWJsZS4KCShzdmN1ZHBfcmVjdik6IFNldCB1cCBtZXNzYWdlIHdpdGggdGhlIG5ldyAieHBfcGFkIiBmaWVsZCBmb3IKCUlQX1BLVElORk8uCgkoc3ZjdWRwX3JlcGx5KTogU3VwcG9ydCBJUF9QS1RJTkZPIGlmIGF2YWlsYWJsZS4KCjIwMDAtMDMtMDEgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHRpbWUvZ2V0ZGF0ZS5jIChjaGVja19tZGF5KTogRml4IGNoZWNrIGZvciBmZWJydWFyeS4KCVJlcG9ydGVkIGJ5IGFuZUBucC5iczEuZmMubmVjLmNvLmpwIGFuZCBBa2lyYSBZT1NISVlBTUEKCTx5b3NzaHlAY3RzLm5lLmpwPiwgY2xvc2VzIFBSIGxpYmMvMTYxNyBhbmQgUFIgbGliYy8xNjE5LgoKMjAwMC0wMy0wMiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogcG9zaXgvdW5pc3RkLmg6IF9fVEhST1cgaGFzIHRvIHByZWNlZGUgX19hdHRyaWJ1dGVfXywgb3RoZXJ3aXNlCglnKysgZmFpbHMgdG8gcGFyc2UgdGhpcy4KCVJlcG9ydGVkIGJ5IFNlYW4gQ2hlbiA8c2Vhbi5jaGVuQHR1cmJvbGludXguY29tPi4KCjIwMDAtMDItMjggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW8vY3JlYXQuYzogTW92ZWQgdG8uLi4KCSogc3lzZGVwcy9nZW5lcmljL2NyZWF0LmM6IC4uLmhlcmUuCgkqIGlvL2NyZWF0NjQuYzogTW92ZWQgdG8uLi4KCSogc3lzZGVwcy9nZW5lcmljL2NyZWF0NjQuYzogLi4uaGVyZS4KCSogaW8vbG9ja2YuYzogTW92ZWQgdG8uLi4KCSogc3lzZGVwcy9nZW5lcmljL2xvY2tmLmM6IC4uLmhlcmUuCgoJKiBjcnlwdC9jcnlwdC50ZXhpOiBNb3ZlZCB0by4uLgoJKiBtYW51YWwvY3J5cHQudGV4aTogLi4uaGVyZS4KCSogY3J5cHQvZXhhbXBsZXMvZ2VucGFzcy5jOiBNb3ZlZCB0by4uLgoJKiBtYW51YWwvZXhhbXBsZXMvZ2VucGFzcy5jOiAuLi5oZXJlLgoJKiBjcnlwdC9leGFtcGxlcy9teWdlbnBhc3MuYzogTW92ZWQgdG8uLi4KCSogbWFudWFsL2V4YW1wbGVzL215Z2VucGFzcy5jOiAuLi5oZXJlLgoJKiBjcnlwdC9leGFtcGxlcy90ZXN0cGFzcy5jOiBNb3ZlZCB0by4uLgoJKiBtYW51YWwvZXhhbXBsZXMvdGVzdHBhc3MuYzogLi4uaGVyZS4KCgkqIG1hbnVhbC9NYWtlZmlsZSAoY2hhcHRlcnMpOiBBZGQgY3J5cHQuCgkqIG1hbnVhbC9jb25mLnRleGk6IEFkZCB1c3VhbCBoZWFkZXIgZm9yIG5vdC1sYXN0IGNoYXB0ZXIuCgkqIG1hbnVhbC9jcnlwdC50ZXhpOiBBZGQgc3BlY2lhbCBoZWFkZXIgZm9yIGxhc3QgY2hhcHRlci4KCjIwMDAtMDItMjggIEdlb2ZmIEtlYXRpbmcgIDxnZW9mZmtAY3lnbnVzLmNvbT4KCgkqIE1ha2Vjb25maWcgKGFsbC1zdWJkaXJzKTogQWRkICdjcnlwdCcgc3ViZGlyZWN0b3J5LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jb25maWd1cmUuaW4gKGluaGliaXRfZ2x1ZSk6IERvbid0Cgljb21wbGFpbiBpZiB0aGVyZSBpcyBubyBjcnlwdCBhZGQtb24uCgkqIGNyeXB0L2NvbmZpZ3VyZTogUmVtb3ZlZC4KCgkqIGNyeXB0L2NyeXB0LnRleGk6IFVwZGF0ZSBkb2N1bWVudGF0aW9uIG9mIFVTIGV4cG9ydCByZXN0cmljdGlvbnMKCXRvIG1hdGNoIHRoZSAxNCBKYW4gMjAwMCByZWd1bGF0aW9ucy4KCjIwMDAtMDItMjggIEdlb2ZmIEtlYXRpbmcgIDxnZW9mZmtAY3lnbnVzLmNvbT4KCgkqIGNyeXB0OiBOZXcgc3ViZGlyZWN0b3J5LCBtZXJnZWQgaW4gZnJvbSB0aGUgY3J5cHQgYWRkLW9uLgoKMjAwMC0wMi0yOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL3VuaXN0ZC5oOiBBZGQgX19ybWRpciBhbmQgX19ta2RpciBwcm90b3R5cGVzLgoKClNlZSBDaGFuZ2VMb2cuMTAgZm9yIGVhcmxpZXIgY2hhbmdlcy4K