From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Mamoru TASAKA To: git-commits@fedoraproject.org Subject: [rpms/ruby] f45: Backport upstream patch to update resolv to 0.7.2 Date: Thu, 10 Sep 2026 08:01:30 GMT Message-ID: <178902729027.1.14295365459969626065.rpms-ruby-fe82f3732eec@fedoraproject.org> List-ID: X-Git-Repo: rpms/ruby X-Git-Branch: f45 X-Git-Rev: fe82f3732eec94bac001b8a9477c88ec08c7b9d1 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvcnVieQogICAgICAgICAgICBCcmFuY2ggOiBmNDUKICAgICAgICAgICAgQ29t bWl0IDogZmU4MmYzNzMyZWVjOTRiYWMwMDFiOGE5NDc3Yzg4ZWMwOGM3YjlkMQogICAgICAgICAg ICBBdXRob3IgOiBNYW1vcnUgVEFTQUtBIDxtdGFzYWthQGZlZG9yYXByb2plY3Qub3JnPgogICAg ICAgICAgICBEYXRlICAgOiAyMDI2LTA5LTAzVDIzOjU0OjUzKzA5OjAwCiAgICAgICAgICAgIFN0 YXRzICA6ICs5OTgvLTQgaW4gMiBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAgICA6IGh0dHBzOi8v c3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvcnVieS9jL2ZlODJmMzczMmVlYzk0YmFjMDAxYjhh OTQ3N2M4OGVjMDhjN2I5ZDE/YnJhbmNoPWY0NQoKICAgICAgICAgICAgTG9nOgogICAgICAgICAg ICBCYWNrcG9ydCB1cHN0cmVhbSBwYXRjaCB0byB1cGRhdGUgcmVzb2x2IHRvIDAuNy4yCgpSZXNv bHZlczogQ1ZFLTIwMjYtODAyMTIgKHJoYnojMjUyNzMwOCkKUmVzb2x2ZXM6IENWRS0yMDI2LTgw MjEzIChyaGJ6IzI1MjczMTApCgotLS0KZGlmZiAtLWdpdCBhL3J1YnktNF8wLXByMTg1MjgtdXBk YXRlLXJlc29sdi0wXzdfMi5wYXRjaCBiL3J1YnktNF8wLXByMTg1MjgtdXBkYXRlLXJlc29sdi0w XzdfMi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNDlmMGQyCi0t LSAvZGV2L251bGwKKysrIGIvcnVieS00XzAtcHIxODUyOC11cGRhdGUtcmVzb2x2LTBfN18yLnBh dGNoCkBAIC0wLDAgKzEsOTg0IEBACitGcm9tIDg4YmExZDRlMTM3MGY0MjIxZTA2MGU0ZWQ1M2Vm MTkxODM0ZTU4MzggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIaXJvc2hpIFNISUJB VEEgPGhzYnRAcnVieS1sYW5nLm9yZz4KK0RhdGU6IFRodSwgMjcgQXVnIDIwMjYgMTI6MzE6NDkg KzA5MDAKK1N1YmplY3Q6IFtQQVRDSF0gQnVtcCB1cCByZXNvbHYtMC43LjIgZm9yIFJ1YnkgNC4w CisKK0JhY2twb3J0IG9mIHRoZSBBdWd1c3QgMjAyNiByZXNvbHYgc2VjdXJpdHkgcmVsZWFzZS4K KworQ1ZFLTIwMjYtODAyMTIKK0NWRS0yMDI2LTgwMjEzCisKK0NvLUF1dGhvcmVkLUJ5OiBDbGF1 ZGUgT3B1cyA1IDxub3JlcGx5QGFudGhyb3BpYy5jb20+CistLS0KKyBsaWIvcmVzb2x2LnJiICAg ICAgICAgICAgICAgICAgICAgfCAxMTQgKysrKysrKysrLS0KKyB0ZXN0L3Jlc29sdi90ZXN0X2Ru cy5yYiAgICAgICAgICAgfCAzMTkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgdGVz dC9yZXNvbHYvdGVzdF9yZXNvdXJjZS5yYiAgICAgIHwgIDYxICsrKysrKworIHRlc3QvcmVzb2x2 L3Rlc3RfcmVzb3VyY2VfbGVhay5yYiB8IDEwMSArKysrKysrKysrCisgNCBmaWxlcyBjaGFuZ2Vk LCA1ODIgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0 IHRlc3QvcmVzb2x2L3Rlc3RfcmVzb3VyY2VfbGVhay5yYgorCitkaWZmIC0tZ2l0IGEvbGliL3Jl c29sdi5yYiBiL2xpYi9yZXNvbHYucmIKK2luZGV4IDBlNjJhYWY4NTEwNDk2Li5hMmZlNjkyYjM4 ZjZjZiAxMDA2NDQKKy0tLSBhL2xpYi9yZXNvbHYucmIKKysrKyBiL2xpYi9yZXNvbHYucmIKK0BA IC0zNSw3ICszNSw3IEBACisgY2xhc3MgUmVzb2x2CisgCisgICAjIFRoZSB2ZXJzaW9uIHN0cmlu ZworLSAgVkVSU0lPTiA9ICIwLjcuMCIKKysgIFZFUlNJT04gPSAiMC43LjIiCisgCisgICAjIwor ICAgIyBMb29rcyB1cCB0aGUgZmlyc3QgSVAgYWRkcmVzcyBmb3IgK25hbWUrLgorQEAgLTQ4Nywx MyArNDg3LDE4IEBAIGRlZiBlYWNoX25hbWUoYWRkcmVzcykKKyAgICAgIyAqIFJlc29sdjo6RE5T OjpSZXNvdXJjZTo6SU46OkEKKyAgICAgIyAqIFJlc29sdjo6RE5TOjpSZXNvdXJjZTo6SU46OkFB QUEKKyAgICAgIyAqIFJlc29sdjo6RE5TOjpSZXNvdXJjZTo6SU46OkFOWQorKyAgICAjICogUmVz b2x2OjpETlM6OlJlc291cmNlOjpJTjo6Q0FBCisgICAgICMgKiBSZXNvbHY6OkROUzo6UmVzb3Vy Y2U6OklOOjpDTkFNRQorICAgICAjICogUmVzb2x2OjpETlM6OlJlc291cmNlOjpJTjo6SElORk8K KysgICAgIyAqIFJlc29sdjo6RE5TOjpSZXNvdXJjZTo6SU46OkhUVFBTCisrICAgICMgKiBSZXNv bHY6OkROUzo6UmVzb3VyY2U6OklOOjpMT0MKKyAgICAgIyAqIFJlc29sdjo6RE5TOjpSZXNvdXJj ZTo6SU46Ok1JTkZPCisgICAgICMgKiBSZXNvbHY6OkROUzo6UmVzb3VyY2U6OklOOjpNWAorICAg ICAjICogUmVzb2x2OjpETlM6OlJlc291cmNlOjpJTjo6TlMKKyAgICAgIyAqIFJlc29sdjo6RE5T OjpSZXNvdXJjZTo6SU46OlBUUgorICAgICAjICogUmVzb2x2OjpETlM6OlJlc291cmNlOjpJTjo6 U09BCisrICAgICMgKiBSZXNvbHY6OkROUzo6UmVzb3VyY2U6OklOOjpTUlYKKysgICAgIyAqIFJl c29sdjo6RE5TOjpSZXNvdXJjZTo6SU46OlNWQ0IKKyAgICAgIyAqIFJlc29sdjo6RE5TOjpSZXNv dXJjZTo6SU46OlRYVAorICAgICAjICogUmVzb2x2OjpETlM6OlJlc291cmNlOjpJTjo6V0tTCisg ICAgICMKK0BAIC03MjEsNyArNzI2LDggQEAgZGVmIHJlcXVlc3Qoc2VuZGVyLCB0b3V0KQorICAg ICAgICAgICBiZWdpbgorICAgICAgICAgICAgIHJlcGx5LCBmcm9tID0gcmVjdl9yZXBseShzZWxl Y3RfcmVzdWx0WzBdKQorICAgICAgICAgICByZXNjdWUgRXJybm86OkVDT05OUkVGVVNFRCwgIyBH TlUvTGludXgsIEZyZWVCU0QKKy0gICAgICAgICAgICAgICAgIEVycm5vOjpFQ09OTlJFU0VUICMg V2luZG93cworKyAgICAgICAgICAgICAgICAgRXJybm86OkVDT05OUkVTRVQsICMgV2luZG93cwor KyAgICAgICAgICAgICAgICAgRU9GRXJyb3IKKyAgICAgICAgICAgICAjIE5vIG5hbWUgc2VydmVy IHJ1bm5pbmcgb24gdGhlIHNlcnZlcj8KKyAgICAgICAgICAgICAjIERvbid0IHdhaXQgYW55bW9y ZS4KKyAgICAgICAgICAgICByYWlzZSBSZXNvbHZUaW1lb3V0CitAQCAtOTMwLDggKzkzNiwxMSBA QCBkZWYgaW5pdGlhbGl6ZShob3N0LCBwb3J0PVBvcnQpCisgICAgICAgICBlbmQKKyAKKyAgICAg ICAgIGRlZiByZWN2X3JlcGx5KHJlYWRhYmxlX3NvY2tzKQorLSAgICAgICAgICBsZW4gPSByZWFk YWJsZV9zb2Nrc1swXS5yZWFkKDIpLnVucGFjaygnbicpWzBdCisrICAgICAgICAgIGxlbl9kYXRh ID0gcmVhZGFibGVfc29ja3NbMF0ucmVhZCgyKQorKyAgICAgICAgICByYWlzZSBFT0ZFcnJvciBp ZiBsZW5fZGF0YS5uaWw/IHx8IGxlbl9kYXRhLmJ5dGVzaXplICE9IDIKKysgICAgICAgICAgbGVu ID0gbGVuX2RhdGEudW5wYWNrKCduJylbMF0KKyAgICAgICAgICAgcmVwbHkgPSBAc29ja3NbMF0u cmVhZChsZW4pCisrICAgICAgICAgIHJhaXNlIEVPRkVycm9yIGlmIHJlcGx5Lm5pbD8gfHwgcmVw bHkuYnl0ZXNpemUgIT0gbGVuCisgICAgICAgICAgIHJldHVybiByZXBseSwgbmlsCisgICAgICAg ICBlbmQKKyAKK0BAIC0xMjQ0LDYgKzEyNTMsMTMgQEAgZGVmIHNlbGYuc3BsaXQoYXJnKQorIAor ICAgICAgIGNsYXNzIFN0ciAjIDpub2RvYzoKKyAgICAgICAgIGRlZiBpbml0aWFsaXplKHN0cmlu ZykKKysgICAgICAgICAgIyBBIGxhYmVsIGlzIGxpbWl0ZWQgdG8gNjMgb2N0ZXRzLiBbUkZDIDEw MzUgMi4zLjRdIENoZWNraW5nIGl0IGhlcmUKKysgICAgICAgICAgIyBtYWtlcyBpdCBhbiBpbnZh cmlhbnQgb2YgdGhlIG9iamVjdDogZXZlcnkgbGFiZWwsIGhvd2V2ZXIgaXQgd2FzCisrICAgICAg ICAgICMgYnVpbHQsIGZpdHMgaW4gaXRzIGxlbmd0aCBvY3RldCBhbmQgY2Fubm90IHdyYXAgaXQu IENhbGxlcnMgdHVybgorKyAgICAgICAgICAjIHRoaXMgaW50byB0aGUgZXJyb3IgdGhlaXIgb3du IGNvbnRyYWN0IHByb21pc2VzLgorKyAgICAgICAgICBpZiBzdHJpbmcuYnl0ZXNpemUgPiA2Mwor KyAgICAgICAgICAgIHJhaXNlIEFyZ3VtZW50RXJyb3IsICJETlMgbGFiZWwgaXMgdG9vIGxvbmcg KCN7c3RyaW5nLmJ5dGVzaXplfSBieXRlcywgbWF4IDYzKTogI3tzdHJpbmcuaW5zcGVjdH0iCisr ICAgICAgICAgIGVuZAorICAgICAgICAgICBAc3RyaW5nID0gc3RyaW5nCisgICAgICAgICAgICMg Y2FzZSBpbnNlbnNpdml0eSBvZiBETlMgbGFiZWxzIGRvZXNuJ3QgYXBwbHkgbm9uLUFTQ0lJIGNo YXJhY3RlcnMuIFtSRkMgNDM0M10KKyAgICAgICAgICAgIyBUaGlzIGFzc3VtZXMgQHN0cmluZyBp cyBnaXZlbiBpbiBBU0NJSSBjb21wYXRpYmxlIGVuY29kaW5nLgorQEAgLTEyODksNyArMTMwNSwy NiBAQCBkZWYgc2VsZi5jcmVhdGUoYXJnKQorICAgICAgICAgd2hlbiBOYW1lCisgICAgICAgICAg IHJldHVybiBhcmcKKyAgICAgICAgIHdoZW4gU3RyaW5nCistICAgICAgICAgIHJldHVybiBOYW1l Lm5ldyhMYWJlbC5zcGxpdChhcmcpLCAvXC5cei8gPX4gYXJnID8gdHJ1ZSA6IGZhbHNlKQorKyAg ICAgICAgICAjIEEgaG9zdG5hbWUgaXMgcnVudGltZSBkYXRhIHJhdGhlciB0aGFuIGEgcHJvZ3Jh bW1pbmcgbWlzdGFrZSwgc28KKysgICAgICAgICAgIyBib3RoIHNpemUgbGltaXRzIHN1cmZhY2Ug YXMgUmVzb2x2RXJyb3IgdG8gc3RheSByZXNjdWFibGUgYWxvbmdzaWRlCisrICAgICAgICAgICMg dGhlIHJlc3Qgb2YgbmFtZSByZXNvbHV0aW9uLiBUaGUgdHlwZSBjaGVjayBiZWxvdyBpcyBhIGNh bGxlcgorKyAgICAgICAgICAjIG1pc3Rha2UgYW5kIGtlZXBzIHJhaXNpbmcgQXJndW1lbnRFcnJv ci4KKysgICAgICAgICAgYmVnaW4KKysgICAgICAgICAgICBsYWJlbHMgPSBMYWJlbC5zcGxpdChh cmcpCisrICAgICAgICAgIHJlc2N1ZSBBcmd1bWVudEVycm9yID0+IGUKKysgICAgICAgICAgICBy YWlzZSBSZXNvbHZFcnJvci5uZXcoZS5tZXNzYWdlKQorKyAgICAgICAgICBlbmQKKysgICAgICAg ICAgIyBMYWJlbDo6U3RyIGVuZm9yY2VzIHRoZSBwZXItbGFiZWwgbGltaXQuIE9ubHkgdGhlIHRv dGFsIGlzIGtub3dhYmxlCisrICAgICAgICAgICMgaGVyZSwgYW5kIGl0IGNvdW50cyB0aGUgZW5j b2RlZCBmb3JtLCBzbyBzaXplIHN0YXJ0cyBhdCAxIGZvciB0aGUKKysgICAgICAgICAgIyByb290 IGxhYmVsJ3MgdGVybWluYXRpbmcgemVybyBvY3RldC4gW1JGQyAxMDM1IDIuMy40LCAzLjFdCisr ICAgICAgICAgIHNpemUgPSAxCisrICAgICAgICAgIGxhYmVscy5lYWNoIGRvIHxsYWJlbHwKKysg ICAgICAgICAgICBzaXplICs9IDEgKyBsYWJlbC5zdHJpbmcuYnl0ZXNpemUKKysgICAgICAgICAg ICBpZiBzaXplID4gMjU1CisrICAgICAgICAgICAgICByYWlzZSBSZXNvbHZFcnJvci5uZXcoIkRO UyBuYW1lIGlzIHRvbyBsb25nICgje3NpemV9IG9jdGV0cywgbWF4IDI1NSk6ICN7YXJnLmluc3Bl Y3R9IikKKysgICAgICAgICAgICBlbmQKKysgICAgICAgICAgZW5kCisrICAgICAgICAgIHJldHVy biBOYW1lLm5ldyhsYWJlbHMsIC9cLlx6LyA9fiBhcmcgPyB0cnVlIDogZmFsc2UpCisgICAgICAg ICBlbHNlCisgICAgICAgICAgIHJhaXNlIEFyZ3VtZW50RXJyb3IubmV3KCJjYW5ub3QgaW50ZXJw cmV0IGFzIEROUyBuYW1lOiAje2FyZy5pbnNwZWN0fSIpCisgICAgICAgICBlbmQKK0BAIC0xNDEx LDEyICsxNDQ2LDI0IEBAIGRlZiA9PShvdGhlcikKKyAgICAgICAgICAgICAgICBAcmQgPT0gb3Ro ZXIucmQgJiYKKyAgICAgICAgICAgICAgICBAcmEgPT0gb3RoZXIucmEgJiYKKyAgICAgICAgICAg ICAgICBAcmNvZGUgPT0gb3RoZXIucmNvZGUgJiYKKy0gICAgICAgICAgICAgICBAcXVlc3Rpb24g PT0gb3RoZXIucXVlc3Rpb24gJiYKKysgICAgICAgICAgICAgICBxdWVzdGlvbl9lcXVhbD8ob3Ro ZXIucXVlc3Rpb24pICYmCisgICAgICAgICAgICAgICAgQGFuc3dlciA9PSBvdGhlci5hbnN3ZXIg JiYKKyAgICAgICAgICAgICAgICBAYXV0aG9yaXR5ID09IG90aGVyLmF1dGhvcml0eSAmJgorICAg ICAgICAgICAgICAgIEBhZGRpdGlvbmFsID09IG90aGVyLmFkZGl0aW9uYWwKKyAgICAgICBlbmQK KyAKKysgICAgICAjIEEgcXVlc3Rpb24gaG9sZHMgdGhlIHJlc291cmNlIGNsYXNzIGl0c2VsZiwg YW5kIGRlY29kaW5nIGNyZWF0ZXMgYSBmcmVzaAorKyAgICAgICMgY2xhc3MgZm9yIGVhY2ggdW5r bm93biB0eXBlLCBzbyB0aGUgY2xhc3NlcyBjYW5ub3QgYmUgY29tcGFyZWQgYnkKKysgICAgICAj IGlkZW50aXR5IGFsb25lLgorKyAgICAgIHByaXZhdGUgZGVmIHF1ZXN0aW9uX2VxdWFsPyhvdGhl cl9xdWVzdGlvbikgIyA6bm9kb2M6CisrICAgICAgICByZXR1cm4gZmFsc2UgdW5sZXNzIEBxdWVz dGlvbi5sZW5ndGggPT0gb3RoZXJfcXVlc3Rpb24ubGVuZ3RoCisrICAgICAgICBAcXVlc3Rpb24u emlwKG90aGVyX3F1ZXN0aW9uKSB7fChuYW1lLCB0eXBlY2xhc3MpLCAob19uYW1lLCBvX3R5cGVj bGFzcyl8CisrICAgICAgICAgIHJldHVybiBmYWxzZSB1bmxlc3MgbmFtZSA9PSBvX25hbWUgJiYK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXNvdXJjZTo6R2VuZXJpYy50eXBlX2Ns YXNzX2VxdWFsPyh0eXBlY2xhc3MsIG9fdHlwZWNsYXNzKQorKyAgICAgICAgfQorKyAgICAgICAg cmV0dXJuIHRydWUKKysgICAgICBlbmQKKysKKyAgICAgICBkZWYgYWRkX3F1ZXN0aW9uKG5hbWUs IHR5cGVjbGFzcykKKyAgICAgICAgIEBxdWVzdGlvbiA8PCBbTmFtZS5jcmVhdGUobmFtZSksIHR5 cGVjbGFzc10KKyAgICAgICBlbmQKK0BAIC0xNTIzLDggKzE1NzAsMTUgQEAgZGVmIHB1dF9sZW5n dGgxNgorICAgICAgICAgZW5kCisgCisgICAgICAgICBkZWYgcHV0X3N0cmluZyhkKQorLSAgICAg ICAgICBzZWxmLnB1dF9wYWNrKCJDIiwgZC5sZW5ndGgpCistICAgICAgICAgIEBkYXRhIDw8IGQK KysgICAgICAgICAgcyA9IGQudG9fcworKyAgICAgICAgICAjIEEgY2hhcmFjdGVyLXN0cmluZyBp cyBwcmVmaXhlZCBieSBhIHNpbmdsZSBsZW5ndGggb2N0ZXQsIHNvIGl0IGNhbgorKyAgICAgICAg ICAjIGhvbGQgYXQgbW9zdCAyNTUgb2N0ZXRzLiBbUkZDIDEwMzUgMy4zXSBSZWplY3QgYW55dGhp bmcgbG9uZ2VyIHRvCisrICAgICAgICAgICMgYXZvaWQgc2lsZW50bHkgdHJ1bmNhdGluZyB0aGUg bGVuZ3RoIHRvIGl0cyBsb3cgOCBiaXRzIChtb2QgMjU2KS4KKysgICAgICAgICAgaWYgcy5ieXRl c2l6ZSA+IDI1NQorKyAgICAgICAgICAgIHJhaXNlIEFyZ3VtZW50RXJyb3IsICJjaGFyYWN0ZXIt c3RyaW5nIGlzIHRvbyBsb25nICgje3MuYnl0ZXNpemV9IGJ5dGVzLCBtYXggMjU1KTogI3tzLmlu c3BlY3R9IgorKyAgICAgICAgICBlbmQKKysgICAgICAgICAgc2VsZi5wdXRfcGFjaygiQyIsIHMu Ynl0ZXNpemUpCisrICAgICAgICAgIEBkYXRhIDw8IHMKKyAgICAgICAgIGVuZAorIAorICAgICAg ICAgZGVmIHB1dF9zdHJpbmdfbGlzdChkcykKK0BAIC0xNTU0LDcgKzE2MDgsMTcgQEAgZGVmIHB1 dF9sYWJlbHMoZCwgY29tcHJlc3M6IHRydWUpCisgICAgICAgICBlbmQKKyAKKyAgICAgICAgIGRl ZiBwdXRfbGFiZWwoZCkKKy0gICAgICAgICAgc2VsZi5wdXRfc3RyaW5nKGQudG9fcykKKysgICAg ICAgICAgcyA9IGQudG9fcworKyAgICAgICAgICAjIExhYmVsOjpTdHIgYXBwbGllcyB0aGlzIGxp bWl0IHdoZW4gYSBsYWJlbCBpcyBidWlsdCwgc28gd2hhdCBpcyBsZWZ0CisrICAgICAgICAgICMg Zm9yIGhlcmUgaXMgYSByYXcgc3RyaW5nIGhhbmRlZCBzdHJhaWdodCB0byBwdXRfbGFiZWxzLiBU aGUgdHdvIHdheXMKKysgICAgICAgICAgIyBhbiBvdmVyLWxvbmcgbGFiZWwgZ29lcyB3cm9uZyBk aWZmZXI6IDY0IHRvIDI1NSBvY3RldHMgd3JpdGUgYSBsZW5ndGgKKysgICAgICAgICAgIyBvY3Rl dCBpbiB0aGUgcmVzZXJ2ZWQgb3IgY29tcHJlc3Npb24gcG9pbnRlciByYW5nZSwgYW5kIDI1NiBv ciBtb3JlCisrICAgICAgICAgICMgd3JhcCBpdCBtb2QgMjU2LiBFaXRoZXIgd2F5IHRoZSBlbmNv ZGVkIG5hbWUgc3RvcHMgYmVpbmcgdGhlIG5hbWUgdGhlCisrICAgICAgICAgICMgY2FsbGVyIGFz a2VkIGZvci4gW1JGQyAxMDM1IDIuMy40LCA0LjEuNF0KKysgICAgICAgICAgaWYgcy5ieXRlc2l6 ZSA+IDYzCisrICAgICAgICAgICAgcmFpc2UgQXJndW1lbnRFcnJvciwgIkROUyBsYWJlbCBpcyB0 b28gbG9uZyAoI3tzLmJ5dGVzaXplfSBieXRlcywgbWF4IDYzKTogI3tzLmluc3BlY3R9IgorKyAg ICAgICAgICBlbmQKKysgICAgICAgICAgc2VsZi5wdXRfc3RyaW5nKHMpCisgICAgICAgICBlbmQK KyAgICAgICBlbmQKKyAKK0BAIC0xNjgwLDcgKzE3NDQsOSBAQCBkZWYgZ2V0X2xhYmVscworICAg ICAgICAgICBwcmV2X2luZGV4ID0gQGluZGV4CisgICAgICAgICAgIHNhdmVfaW5kZXggPSBuaWwK KyAgICAgICAgICAgZCA9IFtdCistICAgICAgICAgIHNpemUgPSAtMQorKyAgICAgICAgICAjIHNp emUgY291bnRzIHRoZSBlbmNvZGVkIGZvcm0sIHNvIGl0IHN0YXJ0cyBhdCAxIGZvciB0aGUgcm9v dAorKyAgICAgICAgICAjIGxhYmVsJ3MgdGVybWluYXRpbmcgemVybyBvY3RldC4gW1JGQyAxMDM1 IDMuMV0KKysgICAgICAgICAgc2l6ZSA9IDEKKyAgICAgICAgICAgd2hpbGUgdHJ1ZQorICAgICAg ICAgICAgIHJhaXNlIERlY29kZUVycm9yLm5ldygibGltaXQgZXhjZWVkZWQiKSBpZiBAbGltaXQg PD0gQGluZGV4CisgICAgICAgICAgICAgY2FzZSBAZGF0YS5nZXRieXRlKEBpbmRleCkKK0BAIC0x NzExLDYgKzE3NzcsMTEgQEAgZGVmIGdldF9sYWJlbHMKKyAKKyAgICAgICAgIGRlZiBnZXRfbGFi ZWwKKyAgICAgICAgICAgcmV0dXJuIExhYmVsOjpTdHIubmV3KHNlbGYuZ2V0X3N0cmluZykKKysg ICAgICAgIHJlc2N1ZSBBcmd1bWVudEVycm9yID0+IGUKKysgICAgICAgICAgIyBBIGxlbmd0aCBv Y3RldCBvZiA2NC4uMTkxIGlzIHJlc2VydmVkIHJhdGhlciB0aGFuIGEgbGFiZWwgbGVuZ3RoLAor KyAgICAgICAgICAjIGJ1dCB0aGlzIGRlY29kZXIgdXNlZCB0byByZWFkIGl0IGFzIG9uZS4gW1JG QyAxMDM1IDQuMS40XSBSZXBvcnQgaXQKKysgICAgICAgICAgIyB0aGUgd2F5IHRoZSByZXN0IG9m IGEgbWFsZm9ybWVkIG1lc3NhZ2UgaXMgcmVwb3J0ZWQuCisrICAgICAgICAgIHJhaXNlIERlY29k ZUVycm9yLm5ldyhlLm1lc3NhZ2UpCisgICAgICAgICBlbmQKKyAKKyAgICAgICAgIGRlZiBnZXRf cXVlc3Rpb24KK0BAIC0xODk4LDggKzE5NjksOSBAQCBkZWYgc2VsZi5jcmVhdGUoa2V5X251bWJl cikKKyAgICAgICAgICAga2V5X25hbWUgPSA6ImtleSN7a2V5X251bWJlcn0iCisgICAgICAgICAg IGMuY29uc3Rfc2V0KDpLZXlOYW1lLCBrZXlfbmFtZSkKKyAgICAgICAgICAgYy5jb25zdF9zZXQo OktleU51bWJlciwga2V5X251bWJlcikKKy0gICAgICAgICAgc2VsZi5jb25zdF9zZXQoOiJLZXkj e2tleV9udW1iZXJ9IiwgYykKKy0gICAgICAgICAgQ2xhc3NIYXNoW2tleV9uYW1lXSA9IENsYXNz SGFzaFtrZXlfbnVtYmVyXSA9IGMKKysgICAgICAgICAgIyBOb3QgcmVnaXN0ZXJlZCBpbiBhIGNv bnN0YW50IG9yIGluIENsYXNzSGFzaC4gQ2xhc3NIYXNoIGNyZWF0ZXMgYQorKyAgICAgICAgICAj IGNsYXNzIGZvciBldmVyeSB1bmtub3duIFN2Y1BhcmFtS2V5LCBzbyByZWdpc3RlcmluZyB0aGVt CisrICAgICAgICAgICMgcGVybWFuZW50bHkgd291bGQgbGV0IGEgbWFsaWNpb3VzIHJlc3BvbnNl IGV4aGF1c3QgbWVtb3J5LgorICAgICAgICAgICByZXR1cm4gYworICAgICAgICAgZW5kCisgICAg ICAgZW5kCitAQCAtMjIwNiwxMiArMjI3OCwyOCBAQCBkZWYgc2VsZi5kZWNvZGVfcmRhdGEobXNn KSAjIDpub2RvYzoKKyAgICAgICAgICAgcmV0dXJuIHNlbGYubmV3KG1zZy5nZXRfYnl0ZXMpCisg ICAgICAgICBlbmQKKyAKKysgICAgICAgICMgY3JlYXRlIG1ha2VzIGEgZnJlc2ggY2xhc3MgZm9y IGVhY2ggZGVjb2RlZCByZXNvdXJjZSwgc28gdGhlIHR5cGUgYW5kCisrICAgICAgICAjIGNsYXNz IHZhbHVlcyBoYXZlIHRvIGJlIGNvbXBhcmVkIGluc3RlYWQgb2YgdGhlIGNsYXNzIGl0c2VsZi4K KysgICAgICAgIGRlZiBzZWxmLnR5cGVfY2xhc3NfZXF1YWw/KGtsYXNzLCBvdGhlcikgIyA6bm9k b2M6CisrICAgICAgICAgIHJldHVybiB0cnVlIGlmIGtsYXNzLmVxdWFsPyhvdGhlcikKKysgICAg ICAgICAgR2VuZXJpYyA+IGtsYXNzICYmIEdlbmVyaWMgPiBvdGhlciAmJgorKyAgICAgICAgICAg IGtsYXNzOjpUeXBlVmFsdWUgPT0gb3RoZXI6OlR5cGVWYWx1ZSAmJgorKyAgICAgICAgICAgIGts YXNzOjpDbGFzc1ZhbHVlID09IG90aGVyOjpDbGFzc1ZhbHVlCisrICAgICAgICBlbmQKKysKKysg ICAgICAgIGRlZiA9PShvdGhlcikgIyA6bm9kb2M6CisrICAgICAgICAgIHJldHVybiBvdGhlci5p c19hPyhHZW5lcmljKSAmJgorKyAgICAgICAgICAgICAgICAgR2VuZXJpYy50eXBlX2NsYXNzX2Vx dWFsPyhzZWxmLmNsYXNzLCBvdGhlci5jbGFzcykgJiYKKysgICAgICAgICAgICAgICAgIEBkYXRh ID09IG90aGVyLmRhdGEKKysgICAgICAgIGVuZAorKworICAgICAgICAgZGVmIHNlbGYuY3JlYXRl KHR5cGVfdmFsdWUsIGNsYXNzX3ZhbHVlKSAjIDpub2RvYzoKKyAgICAgICAgICAgYyA9IENsYXNz Lm5ldyhHZW5lcmljKQorICAgICAgICAgICBjLmNvbnN0X3NldCg6VHlwZVZhbHVlLCB0eXBlX3Zh bHVlKQorICAgICAgICAgICBjLmNvbnN0X3NldCg6Q2xhc3NWYWx1ZSwgY2xhc3NfdmFsdWUpCist ICAgICAgICAgIEdlbmVyaWMuY29uc3Rfc2V0KCJUeXBlI3t0eXBlX3ZhbHVlfV9DbGFzcyN7Y2xh c3NfdmFsdWV9IiwgYykKKy0gICAgICAgICAgQ2xhc3NIYXNoW1t0eXBlX3ZhbHVlLCBjbGFzc192 YWx1ZV1dID0gYworKyAgICAgICAgICAjIE5vdCByZWdpc3RlcmVkIGluIGEgY29uc3RhbnQgb3Ig aW4gQ2xhc3NIYXNoLiBnZXRfY2xhc3MgY3JlYXRlcyBhCisrICAgICAgICAgICMgY2xhc3MgZm9y IGV2ZXJ5IHVua25vd24gKHR5cGUsIGNsYXNzKSBwYWlyLCBzbyByZWdpc3RlcmluZyB0aGVtCisr ICAgICAgICAgICMgcGVybWFuZW50bHkgd291bGQgbGV0IGEgbWFsaWNpb3VzIHJlc3BvbnNlIGV4 aGF1c3QgbWVtb3J5LgorICAgICAgICAgICByZXR1cm4gYworICAgICAgICAgZW5kCisgICAgICAg ZW5kCitkaWZmIC0tZ2l0IGEvdGVzdC9yZXNvbHYvdGVzdF9kbnMucmIgYi90ZXN0L3Jlc29sdi90 ZXN0X2Rucy5yYgoraW5kZXggZDVkMjY0OGUxYmM2NDkuLjM0YWU0YWViOWEzM2MzIDEwMDY0NAor LS0tIGEvdGVzdC9yZXNvbHYvdGVzdF9kbnMucmIKKysrKyBiL3Rlc3QvcmVzb2x2L3Rlc3RfZG5z LnJiCitAQCAtNjM2LDYgKzYzNiwyMDUgQEAgZGVmIHRlc3RfdG9vX2xvbmdfYWRkcmVzcworICAg ICBlbmQKKyAgIGVuZAorIAorKyAgIyBBIEROUyBsYWJlbCBpcyBsaW1pdGVkIHRvIDYzIG9jdGV0 cy4gW1JGQyAxMDM1IDIuMy40XSBXcml0aW5nIGEgbG9uZ2VyIGxhYmVsCisrICAjIHRocm91Z2gg dGhlIGxhYmVsIHBhdGggbXVzdCByYWlzZSBpbnN0ZWFkIG9mIG92ZXJmbG93aW5nIHRoZSBsZW5n dGggb2N0ZXQuCisrICBkZWYgdGVzdF9wdXRfbGFiZWxfcmVqZWN0c19sYWJlbF9vdmVyXzYzX29j dGV0cworKyAgICBSZXNvbHY6OkROUzo6TWVzc2FnZTo6TWVzc2FnZUVuY29kZXIubmV3IHt8bXNn fAorKyAgICAgIGFzc2VydF9ub3RoaW5nX3JhaXNlZCB7IG1zZy5wdXRfbGFiZWwoImEiICogNjMp IH0KKysgICAgICBhc3NlcnRfcmFpc2Vfd2l0aF9tZXNzYWdlKEFyZ3VtZW50RXJyb3IsIC9ETlMg bGFiZWwgaXMgdG9vIGxvbmcvKSBkbworKyAgICAgICAgbXNnLnB1dF9sYWJlbCgiYSIgKiA2NCkK KysgICAgICBlbmQKKysgICAgfQorKyAgICAjIHB1dF9sYWJlbHMgZHJpdmVzIHB1dF9sYWJlbCwg c28gdGhlIHNhbWUgZ3VhcmQgYXBwbGllcyB0byB0aGUgbmFtZSBwYXRoLgorKyAgICBSZXNvbHY6 OkROUzo6TWVzc2FnZTo6TWVzc2FnZUVuY29kZXIubmV3IHt8bXNnfAorKyAgICAgIGFzc2VydF9y YWlzZV93aXRoX21lc3NhZ2UoQXJndW1lbnRFcnJvciwgL0ROUyBsYWJlbCBpcyB0b28gbG9uZy8p IGRvCisrICAgICAgICBtc2cucHV0X2xhYmVscyhbImEiICogNjRdKQorKyAgICAgIGVuZAorKyAg ICB9CisrICBlbmQKKysKKysgICMgVGhlIHBlci1sYWJlbCBsaW1pdCBpcyBhbiBpbnZhcmlhbnQg b2YgTGFiZWw6OlN0ciwgc28gbm8gbGFiZWwgb2JqZWN0IGNhbgorKyAgIyBleGlzdCB0aGF0IHdv dWxkIG92ZXJmbG93IGl0cyBsZW5ndGggb2N0ZXQuIFtSRkMgMTAzNSAyLjMuNF0KKysgIGRlZiB0 ZXN0X2xhYmVsX3N0cl9yZWplY3RzX2xhYmVsX292ZXJfNjNfb2N0ZXRzCisrICAgIGFzc2VydF9u b3RoaW5nX3JhaXNlZCB7IFJlc29sdjo6RE5TOjpMYWJlbDo6U3RyLm5ldygiYSIgKiA2MykgfQor KyAgICBhc3NlcnRfcmFpc2Vfd2l0aF9tZXNzYWdlKEFyZ3VtZW50RXJyb3IsIC9ETlMgbGFiZWwg aXMgdG9vIGxvbmcvKSBkbworKyAgICAgIFJlc29sdjo6RE5TOjpMYWJlbDo6U3RyLm5ldygiYSIg KiA2NCkKKysgICAgZW5kCisrICBlbmQKKysKKysgICMgRXZlcnkgd2F5IG9mIGJ1aWxkaW5nIGEg bmFtZSBnb2VzIHRocm91Z2ggTGFiZWw6OlN0ciwgc28gdGhlIHBhdGhzIHRoYXQKKysgICMgc2tp cCBOYW1lLmNyZWF0ZSBhcmUgY292ZXJlZCB0b28uCisrICBkZWYgdGVzdF9sYWJlbF9sZW5ndGhf aXNfZW5mb3JjZWRfb25fZXZlcnlfY29uc3RydWN0aW9uX3BhdGgKKysgICAgYXNzZXJ0X3JhaXNl X3dpdGhfbWVzc2FnZShBcmd1bWVudEVycm9yLCAvRE5TIGxhYmVsIGlzIHRvbyBsb25nLykgZG8K KysgICAgICBSZXNvbHY6OkROUzo6TmFtZS5uZXcoWyJhIiAqIDY0XSkKKysgICAgZW5kCisrICAg IGFzc2VydF9yYWlzZV93aXRoX21lc3NhZ2UoQXJndW1lbnRFcnJvciwgL0ROUyBsYWJlbCBpcyB0 b28gbG9uZy8pIGRvCisrICAgICAgUmVzb2x2OjpETlM6OkxhYmVsLnNwbGl0KCJhIiAqIDY0KQor KyAgICBlbmQKKysgICAgIyBDb25maWcjZ2VuZXJhdGVfY2FuZGlkYXRlcyBhcHBlbmRzIHNlYXJj aCBkb21haW5zIHdpdGggTmFtZS5uZXcsIGFuZCB0aGUKKysgICAgIyBzZWFyY2ggbGlzdCBpdHNl bGYgY29tZXMgZnJvbSBMYWJlbC5zcGxpdCwgc28gYSByZXNvbHYuY29uZiBjYXJyeWluZyBhbgor KyAgICAjIG92ZXItbG9uZyBsYWJlbCBpcyByZWplY3RlZCB3aGVuIHRoZSBjb25maWcgaXMgcmVh ZC4KKysgICAgY29uZmlnID0gUmVzb2x2OjpETlM6OkNvbmZpZy5uZXcobmFtZXNlcnZlcjogWycx MjcuMC4wLjEnXSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNo OiBbImEiICogNjRdLCBuZG90czogMSkKKysgICAgYXNzZXJ0X3JhaXNlX3dpdGhfbWVzc2FnZShB cmd1bWVudEVycm9yLCAvRE5TIGxhYmVsIGlzIHRvbyBsb25nLykgZG8KKysgICAgICBjb25maWcu bGF6eV9pbml0aWFsaXplCisrICAgIGVuZAorKyAgZW5kCisrCisrICBkZWYgdGVzdF9uYW1lX2Ny ZWF0ZV9yZWplY3RzX3Rvb19sb25nX2xhYmVsCisrICAgIGFzc2VydF9ub3RoaW5nX3JhaXNlZCB7 IFJlc29sdjo6RE5TOjpOYW1lLmNyZWF0ZSgiYSIgKiA2MykgfQorKyAgICBhc3NlcnRfcmFpc2Vf d2l0aF9tZXNzYWdlKFJlc29sdjo6UmVzb2x2RXJyb3IsIC9ETlMgbGFiZWwgaXMgdG9vIGxvbmcv KSBkbworKyAgICAgIFJlc29sdjo6RE5TOjpOYW1lLmNyZWF0ZSgiYSIgKiA2NCkKKysgICAgZW5k CisrICBlbmQKKysKKysgIGRlZiB0ZXN0X25hbWVfY3JlYXRlX3JlamVjdHNfdG9vX2xvbmdfbmFt ZQorKyAgICAjIEZpdmUgNjMtb2N0ZXQgbGFiZWxzIHRvdGFsIDMyMSBlbmNvZGVkIG9jdGV0cywg b3ZlciB0aGUgMjU1IG9jdGV0IGxpbWl0LAorKyAgICAjIHdoaWxlIGVhY2ggaW5kaXZpZHVhbCBs YWJlbCBpcyBzdGlsbCB2YWxpZC4KKysgICAgdG9vX2xvbmcgPSAoWyJhIiAqIDYzXSAqIDUpLmpv aW4oIi4iKQorKyAgICBhc3NlcnRfcmFpc2Vfd2l0aF9tZXNzYWdlKFJlc29sdjo6UmVzb2x2RXJy b3IsIC9ETlMgbmFtZSBpcyB0b28gbG9uZy8pIGRvCisrICAgICAgUmVzb2x2OjpETlM6Ok5hbWUu Y3JlYXRlKHRvb19sb25nKQorKyAgICBlbmQKKysgIGVuZAorKworKyAgIyBBIGhvc3RuYW1lIGlz IHJ1bnRpbWUgZGF0YSwgc28gYW4gb3Zlci1sb25nIG9uZSBoYXMgdG8gc3RheSByZXNjdWFibGUg dGhlCisrICAjIHdheSB0aGUgcmVzdCBvZiBuYW1lIHJlc29sdXRpb24gaXMuIEl0IHJlYWNoZXMg TmFtZS5jcmVhdGUgdGhyb3VnaAorKyAgIyBDb25maWcjZ2VuZXJhdGVfY2FuZGlkYXRlcywgd2hp Y2ggcnVucyBvdXRzaWRlIENvbmZpZyNyZXNvbHYncyBvd24gcmVzY3VlLgorKyAgZGVmIHRlc3Rf b3ZlcnNpemVkX25hbWVfaXNfcmVzY3VhYmxlX2FzX3Jlc29sdl9lcnJvcgorKyAgICBkbnMgPSBS ZXNvbHY6OkROUy5uZXcobmFtZXNlcnZlcl9wb3J0OiBbWycxMjcuMC4wLjEnLCA1M11dKQorKyAg ICBhc3NlcnRfcmFpc2UoUmVzb2x2OjpSZXNvbHZFcnJvcikgeyBkbnMuZ2V0YWRkcmVzcygiYSIg KiA2NCkgfQorKyAgICBhc3NlcnRfcmFpc2UoUmVzb2x2OjpSZXNvbHZFcnJvcikgeyBkbnMuZ2V0 YWRkcmVzcygoWyJhIiAqIDYzXSAqIDUpLmpvaW4oIi4iKSkgfQorKyAgZW5zdXJlCisrICAgIGRu cyYuY2xvc2UKKysgIGVuZAorKworKyAgIyBBIGxlbmd0aCBvY3RldCBvZiA2NC4uMTkxIGlzIHJl c2VydmVkLCBub3QgYSBsYWJlbCBsZW5ndGgsIGJ1dCB0aGlzIGRlY29kZXIKKysgICMgcmVhZCBp dCBhcyBvbmUgYW5kIGFjY2VwdGVkIGxhYmVscyBubyBlbmNvZGVyIHNob3VsZCBldmVyIHByb2R1 Y2UuCisrICAjIFtSRkMgMTAzNSA0LjEuNF0gUmVqZWN0aW5nIHRoZW0gaGFzIHRvIGxvb2sgbGlr ZSBhbnkgb3RoZXIgbWFsZm9ybWVkCisrICAjIG1lc3NhZ2UsIHNvIHRoZSBjYWxsZXIncyByZXNj dWUgRGVjb2RlRXJyb3Igc3RpbGwgY292ZXJzIGl0LgorKyAgZGVmIHRlc3RfZGVjb2RlX3JlamVj dHNfbGFiZWxfb3Zlcl82M19vY3RldHMKKysgICAgbWVzc2FnZSA9IC0+KG4pIHsKKysgICAgICBb MCwgMHg4MTgwLCAxLCAwLCAwLCAwXS5wYWNrKCJuKiIpICsKKysgICAgICAgIFtuXS5wYWNrKCJD IikgKyAoImEiICogbikgKyAiXDAiICsgWzEsIDFdLnBhY2soIm5uIikKKysgICAgfQorKyAgICBh c3NlcnRfbm90aGluZ19yYWlzZWQgeyBSZXNvbHY6OkROUzo6TWVzc2FnZS5kZWNvZGUobWVzc2Fn ZS5jYWxsKDYzKSkgfQorKyAgICBbNjQsIDEwMCwgMTkxXS5lYWNoIGRvIHxufAorKyAgICAgIGFz c2VydF9yYWlzZV93aXRoX21lc3NhZ2UoUmVzb2x2OjpETlM6OkRlY29kZUVycm9yLCAvRE5TIGxh YmVsIGlzIHRvbyBsb25nLykgZG8KKysgICAgICAgIFJlc29sdjo6RE5TOjpNZXNzYWdlLmRlY29k ZShtZXNzYWdlLmNhbGwobikpCisrICAgICAgZW5kCisrICAgIGVuZAorKyAgZW5kCisrCisrICAj IFRoZSB0eXBlIGNoZWNrIGlzIGEgY2FsbGVyIG1pc3Rha2UgcmF0aGVyIHRoYW4gcnVudGltZSBk YXRhLCBzbyBpdCBrZWVwcworKyAgIyByYWlzaW5nIEFyZ3VtZW50RXJyb3IuCisrICBkZWYgdGVz dF9uYW1lX2NyZWF0ZV9zdGlsbF9yYWlzZXNfYXJndW1lbnRfZXJyb3JfZm9yX3dyb25nX3R5cGUK KysgICAgYXNzZXJ0X3JhaXNlX3dpdGhfbWVzc2FnZShBcmd1bWVudEVycm9yLCAvY2Fubm90IGlu dGVycHJldCBhcyBETlMgbmFtZS8pIGRvCisrICAgICAgUmVzb2x2OjpETlM6Ok5hbWUuY3JlYXRl KDEyMykKKysgICAgZW5kCisrICBlbmQKKysKKysgICMgVGhlIDI1NSBvY3RldCBsaW1pdCBjb3Vu dHMgdGhlIGVuY29kZWQgZm9ybSwgaW5jbHVkaW5nIGVhY2ggbGFiZWwncyBsZW5ndGgKKysgICMg b2N0ZXQgYW5kIHRoZSByb290IGxhYmVsJ3MgdGVybWluYXRpbmcgemVybyBvY3RldC4gW1JGQyAx MDM1IDIuMy40LCAzLjFdCisrICAjIFNvIHRoZSBsb25nZXN0IGxlZ2FsIG5hbWUgZW5jb2RlcyB0 byBleGFjdGx5IDI1NSBvY3RldHMuCisrICBkZWYgdGVzdF9uYW1lX2NyZWF0ZV90b3RhbF9sZW5n dGhfYm91bmRhcnkKKysgICAgYXRfbGltaXQgPSAoWyJhIiAqIDYzXSAqIDMgKyBbImEiICogNjFd KS5qb2luKCIuIikKKysgICAgbmFtZSA9IFJlc29sdjo6RE5TOjpOYW1lLmNyZWF0ZShhdF9saW1p dCkKKysgICAgZW5jb2RlZCA9IFJlc29sdjo6RE5TOjpNZXNzYWdlOjpNZXNzYWdlRW5jb2Rlci5u ZXcge3xtc2d8IG1zZy5wdXRfbmFtZShuYW1lKSB9LnRvX3MKKysgICAgYXNzZXJ0X2VxdWFsKDI1 NSwgZW5jb2RlZC5ieXRlc2l6ZSwgImxvbmdlc3QgbGVnYWwgbmFtZSBlbmNvZGVzIHRvIDI1NSBv Y3RldHMiKQorKworKyAgICBvdmVyX2xpbWl0ID0gKFsiYSIgKiA2M10gKiAzICsgWyJhIiAqIDYy XSkuam9pbigiLiIpCisrICAgIGFzc2VydF9yYWlzZV93aXRoX21lc3NhZ2UoUmVzb2x2OjpSZXNv bHZFcnJvciwgL0ROUyBuYW1lIGlzIHRvbyBsb25nLykgZG8KKysgICAgICBSZXNvbHY6OkROUzo6 TmFtZS5jcmVhdGUob3Zlcl9saW1pdCkKKysgICAgZW5kCisrCisrICAgICMgRm91ciA2My1vY3Rl dCBsYWJlbHMgZW5jb2RlIHRvIDI1NyBvY3RldHMuIENvdW50aW5nIHRoZSBwcmVzZW50YXRpb24K KysgICAgIyBmb3JtIGluc3RlYWQgb2YgdGhlIGVuY29kZWQgZm9ybSBsZXRzIHRoZXNlIHR3byBl eHRyYSBvY3RldHMgdGhyb3VnaC4KKysgICAgYXNzZXJ0X3JhaXNlX3dpdGhfbWVzc2FnZShSZXNv bHY6OlJlc29sdkVycm9yLCAvRE5TIG5hbWUgaXMgdG9vIGxvbmcvKSBkbworKyAgICAgIFJlc29s djo6RE5TOjpOYW1lLmNyZWF0ZSgoWyJhIiAqIDYzXSAqIDQpLmpvaW4oIi4iKSkKKysgICAgZW5k CisrICBlbmQKKysKKysgICMgVGhlIGRlY29kZXIgZW5mb3JjZXMgdGhlIHNhbWUgbGltaXQsIGNv dW50ZWQgdGhlIHNhbWUgd2F5LgorKyAgZGVmIHRlc3RfZ2V0X2xhYmVsc190b3RhbF9sZW5ndGhf Ym91bmRhcnkKKysgICAgZW5jb2RlID0gLT4obGFiZWxzKSB7CisrICAgICAgUmVzb2x2OjpETlM6 Ok1lc3NhZ2U6Ok1lc3NhZ2VFbmNvZGVyLm5ldyB7fG1zZ3wKKysgICAgICAgIG1zZy5wdXRfbGFi ZWxzKGxhYmVscy5tYXAge3xsfCBSZXNvbHY6OkROUzo6TGFiZWw6OlN0ci5uZXcobCkgfSkKKysg ICAgICB9LnRvX3MKKysgICAgfQorKworKyAgICBhdF9saW1pdCA9IGVuY29kZS5jYWxsKFsiYSIg KiA2M10gKiAzICsgWyJhIiAqIDYxXSkKKysgICAgYXNzZXJ0X2VxdWFsKDI1NSwgYXRfbGltaXQu Ynl0ZXNpemUpCisrICAgIFJlc29sdjo6RE5TOjpNZXNzYWdlOjpNZXNzYWdlRGVjb2Rlci5uZXco YXRfbGltaXQpIHt8bXNnfAorKyAgICAgIGFzc2VydF9lcXVhbCg0LCBtc2cuZ2V0X2xhYmVscy5s ZW5ndGgpCisrICAgIH0KKysKKysgICAgb3Zlcl9saW1pdCA9IGVuY29kZS5jYWxsKFsiYSIgKiA2 M10gKiA0KQorKyAgICBhc3NlcnRfZXF1YWwoMjU3LCBvdmVyX2xpbWl0LmJ5dGVzaXplKQorKyAg ICBhc3NlcnRfcmFpc2Vfd2l0aF9tZXNzYWdlKFJlc29sdjo6RE5TOjpEZWNvZGVFcnJvciwgL25h bWUgbGFiZWwgZGF0YSBleGNlZWQgMjU1IG9jdGV0cy8pIGRvCisrICAgICAgUmVzb2x2OjpETlM6 Ok1lc3NhZ2U6Ok1lc3NhZ2VEZWNvZGVyLm5ldyhvdmVyX2xpbWl0KSB7fG1zZ3wgbXNnLmdldF9s YWJlbHMgfQorKyAgICBlbmQKKysgIGVuZAorKworKyAgIyBBIHNpbmdsZSAyNjItb2N0ZXQgbGFi ZWwgd2hvc2UgYnl0ZXMgc3RhcnQgd2l0aCAidGFyZ2V0XHgwM2NvbVx4MDAiLiBUaGUKKysgICMg b2xkIGVuY29kZXIgd3JvdGUgdGhlIGxlbmd0aCBvY3RldCBhcyAyNjIgJiAweGZmID09IDYsIHNv IHRoZSB3aXJlIGJ5dGVzCisrICAjIGRlY29kZWQgdG8gdGhlIHVucmVsYXRlZCBuYW1lICJ0YXJn ZXQuY29tIiAocXVlcnkgbmFtZSBjb25mdXNpb24gLworKyAgIyBhbGxvd2xpc3QgYnlwYXNzKS4K KysgIGRlZiB0ZXN0X2VuY29kZXJfcmVqZWN0c19sYWJlbF9sZW5ndGhfd3JhcAorKyAgICBwb2Nf bGFiZWwgPSAidGFyZ2V0Ii5iICsgIlx4MDNjb21ceDAwIi5iICsgKCJhIi5iICogMjUxKQorKyAg ICBhc3NlcnRfZXF1YWwoMjYyLCBwb2NfbGFiZWwuYnl0ZXNpemUpCisrICAgIGFzc2VydF9lcXVh bCg2LCBwb2NfbGFiZWwuYnl0ZXNpemUgJiAweGZmLCAicHJlY29uZGl0aW9uOiB0aGUgbGVuZ3Ro IG9jdGV0IHdyYXBzIHRvIDYiKQorKworKyAgICAjIFRoZSBieXRlcyB0aGUgYnVnZ3kgZW5jb2Rl ciB3b3VsZCBoYXZlIGVtaXR0ZWQgcmVhbGx5IGRvIGRlY29kZSB0byBhCisrICAgICMgZGlmZmVy ZW50IG5hbWUuIFRoaXMgaXMgdGhlIHZ1bG5lcmFiaWxpdHkgYmVpbmcgZml4ZWQuCisrICAgIHdy YXBwZWQgPSBbcG9jX2xhYmVsLmJ5dGVzaXplICYgMHhmZl0ucGFjaygiQyIpICsgcG9jX2xhYmVs CisrICAgIFJlc29sdjo6RE5TOjpNZXNzYWdlOjpNZXNzYWdlRGVjb2Rlci5uZXcod3JhcHBlZCkg e3xtc2d8CisrICAgICAgYXNzZXJ0X2VxdWFsKCJ0YXJnZXQuY29tIiwgbXNnLmdldF9sYWJlbHMu bWFwKCY6dG9fcykuam9pbigiLiIpKQorKyAgICB9CisrCisrICAgICMgVGhlIGZpeGVkIGVuY29k ZXIgcmVmdXNlcyB0byBlbWl0IGl0IGluc3RlYWQgb2Ygc2lsZW50bHkgd3JhcHBpbmcsIHNvIGl0 CisrICAgICMgY2FuIG5vIGxvbmdlciBwcm9kdWNlICJ0YXJnZXQuY29tIiBmcm9tIHRoaXMgaW5w dXQuCisrICAgIFJlc29sdjo6RE5TOjpNZXNzYWdlOjpNZXNzYWdlRW5jb2Rlci5uZXcge3xtc2d8 CisrICAgICAgYXNzZXJ0X3JhaXNlX3dpdGhfbWVzc2FnZShBcmd1bWVudEVycm9yLCAvRE5TIGxh YmVsIGlzIHRvbyBsb25nLykgZG8KKysgICAgICAgIG1zZy5wdXRfbGFiZWwocG9jX2xhYmVsKQor KyAgICAgIGVuZAorKyAgICB9CisrICAgIGFzc2VydF9yYWlzZV93aXRoX21lc3NhZ2UoUmVzb2x2 OjpSZXNvbHZFcnJvciwgL0ROUyBsYWJlbCBpcyB0b28gbG9uZy8pIGRvCisrICAgICAgUmVzb2x2 OjpETlM6Ok5hbWUuY3JlYXRlKHBvY19sYWJlbCkKKysgICAgZW5kCisrICBlbmQKKysKKysgICMg QSBjaGFyYWN0ZXItc3RyaW5nIChlLmcuIFRYVCByZGF0YSkgaXMgcHJlZml4ZWQgYnkgYSBzaW5n bGUgbGVuZ3RoIG9jdGV0IGFuZAorKyAgIyBtYXkgbGVnaXRpbWF0ZWx5IGJlIHVwIHRvIDI1NSBv Y3RldHMsIHNvIHRoZSA2MyBvY3RldCBsYWJlbCBsaW1pdCBtdXN0IG5vdAorKyAgIyBsZWFrIGlu dG8gcHV0X3N0cmluZy4gW1JGQyAxMDM1IDMuM10KKysgIGRlZiB0ZXN0X3B1dF9zdHJpbmdfYWxs b3dzX2NoYXJhY3Rlcl9zdHJpbmdfdXBfdG9fMjU1CisrICAgIFs2NCwgMjAwLCAyNTVdLmVhY2gg ZG8gfG58CisrICAgICAgcyA9ICJhIiAqIG4KKysgICAgICBtID0gUmVzb2x2OjpETlM6Ok1lc3Nh Z2U6Ok1lc3NhZ2VFbmNvZGVyLm5ldyB7fG1zZ3wgbXNnLnB1dF9zdHJpbmcocykgfQorKyAgICAg IGVuY29kZWQgPSBtLnRvX3MKKysgICAgICBhc3NlcnRfZXF1YWwobiwgZW5jb2RlZC5nZXRieXRl KDApLCAibGVuZ3RoIG9jdGV0IGZvciAje259IGJ5dGUgc3RyaW5nIikKKysgICAgICBhc3NlcnRf ZXF1YWwobiArIDEsIGVuY29kZWQuYnl0ZXNpemUpCisrICAgICAgUmVzb2x2OjpETlM6Ok1lc3Nh Z2U6Ok1lc3NhZ2VEZWNvZGVyLm5ldyhlbmNvZGVkKSB7fG1zZ3wKKysgICAgICAgIGFzc2VydF9l cXVhbChzLCBtc2cuZ2V0X3N0cmluZykKKysgICAgICB9CisrICAgIGVuZAorKyAgZW5kCisrCisr ICBkZWYgdGVzdF90eHRfcmVjb3JkX3JvdW5kdHJpcF93aXRoX2xvbmdfY2hhcmFjdGVyX3N0cmlu Z3MKKysgICAgdHh0ID0gUmVzb2x2OjpETlM6OlJlc291cmNlOjpJTjo6VFhULm5ldygiYSIgKiAy NTUsICJiIiAqIDY0KQorKyAgICBtID0gUmVzb2x2OjpETlM6Ok1lc3NhZ2UubmV3KDApCisrICAg IG0uYWRkX2Fuc3dlcigiZXhhbXBsZS5jb20uIiwgMzYwMCwgdHh0KQorKyAgICBkZWNvZGVkID0g UmVzb2x2OjpETlM6Ok1lc3NhZ2UuZGVjb2RlKG0uZW5jb2RlKQorKyAgICBfLCBfLCByZXMgPSBk ZWNvZGVkLmFuc3dlci5maXJzdAorKyAgICBhc3NlcnRfZXF1YWwoWyJhIiAqIDI1NSwgImIiICog NjRdLCByZXMuc3RyaW5ncykKKysgIGVuZAorKworKyAgIyBwdXRfc3RyaW5nIHN0aWxsIGd1YXJk cyBhZ2FpbnN0IHRoZSBsZW5ndGggb2N0ZXQgd3JhcHBpbmcgcGFzdCAyNTUgb2N0ZXRzLgorKyAg ZGVmIHRlc3RfcHV0X3N0cmluZ19yZWplY3RzX292ZXJfMjU1X29jdGV0cworKyAgICBhc3NlcnRf cmFpc2Vfd2l0aF9tZXNzYWdlKEFyZ3VtZW50RXJyb3IsIC9jaGFyYWN0ZXItc3RyaW5nIGlzIHRv byBsb25nLykgZG8KKysgICAgICBSZXNvbHY6OkROUzo6TWVzc2FnZTo6TWVzc2FnZUVuY29kZXIu bmV3IHt8bXNnfCBtc2cucHV0X3N0cmluZygiYSIgKiAyNTYpIH0KKysgICAgZW5kCisrICBlbmQK KysKKyAgIGRlZiBhc3NlcnRfbm9fZmRfbGVhaworICAgICBzb2NrZXQgPSBhc3NlcnRfdGhyb3co c2VsZikgZG8gfHRhZ3wKKyAgICAgICBSZXNvbHY6OkROUy5zdHViKDpiaW5kX3JhbmRvbV9wb3J0 LCAtPihzLCAqKSB7dGhyb3codGFnLCBzKX0pIGRvCitAQCAtODIyLDQgKzEwMjEsMTI0IEBAIGRl ZiB0ZXN0X211bHRpcGxlX3NlcnZlcnNfd2l0aF90aW1lb3V0X2FuZF90cnVuY2F0ZWRfdGNwX2Zh bGxiYWNrCisgICAgICAgZW5kCisgICAgIGVuZAorICAgZW5kCisrCisrICBkZWYgdGVzdF90Y3Bf Y29ubmVjdGlvbl9jbG9zZWRfYmVmb3JlX2xlbmd0aAorKyAgICB3aXRoX3RjcCgnMTI3LjAuMC4x JywgMCkgZG8gfHR8CisrICAgICAgXywgc2VydmVyX3BvcnQsIF8sIHNlcnZlcl9hZGRyZXNzID0g dC5hZGRyCisrCisrICAgICAgc2VydmVyX3RocmVhZCA9IFRocmVhZC5uZXcgZG8KKysgICAgICAg IGN0ID0gdC5hY2NlcHQKKysgICAgICAgIGN0LnJlY3YoNTEyKQorKyAgICAgICAgY3QuY2xvc2UK KysgICAgICBlbmQKKysKKysgICAgICBjbGllbnRfdGhyZWFkID0gVGhyZWFkLm5ldyBkbworKyAg ICAgICAgcmVxdWVzdGVyID0gUmVzb2x2OjpETlM6OlJlcXVlc3Rlcjo6VENQLm5ldyhzZXJ2ZXJf YWRkcmVzcywgc2VydmVyX3BvcnQpCisrICAgICAgICBiZWdpbgorKyAgICAgICAgICBtc2cgPSBS ZXNvbHY6OkROUzo6TWVzc2FnZS5uZXcKKysgICAgICAgICAgbXNnLmFkZF9xdWVzdGlvbignZXhh bXBsZS5vcmcnLCBSZXNvbHY6OkROUzo6UmVzb3VyY2U6OklOOjpBKQorKyAgICAgICAgICBzZW5k ZXIgPSByZXF1ZXN0ZXIuc2VuZGVyKG1zZywgbXNnKQorKyAgICAgICAgICBhc3NlcnRfcmFpc2Uo UmVzb2x2OjpSZXNvbHZUaW1lb3V0KSBkbworKyAgICAgICAgICAgIHJlcXVlc3Rlci5yZXF1ZXN0 KHNlbmRlciwgMikKKysgICAgICAgICAgZW5kCisrICAgICAgICBlbnN1cmUKKysgICAgICAgICAg cmVxdWVzdGVyLmNsb3NlCisrICAgICAgICBlbmQKKysgICAgICBlbmQKKysKKysgICAgICBzZXJ2 ZXJfdGhyZWFkLmpvaW4KKysgICAgICBjbGllbnRfdGhyZWFkLmpvaW4KKysgICAgZW5kCisrICBl bmQKKysKKysgIGRlZiB0ZXN0X3RjcF9jb25uZWN0aW9uX2Nsb3NlZF9hZnRlcl9sZW5ndGgKKysg ICAgd2l0aF90Y3AoJzEyNy4wLjAuMScsIDApIGRvIHx0fAorKyAgICAgIF8sIHNlcnZlcl9wb3J0 LCBfLCBzZXJ2ZXJfYWRkcmVzcyA9IHQuYWRkcgorKworKyAgICAgIHNlcnZlcl90aHJlYWQgPSBU aHJlYWQubmV3IGRvCisrICAgICAgICBjdCA9IHQuYWNjZXB0CisrICAgICAgICBjdC5yZWN2KDUx MikKKysgICAgICAgIGN0LnNlbmQoWzEwMF0ucGFjaygnbicpLCAwKQorKyAgICAgICAgY3QuY2xv c2UKKysgICAgICBlbmQKKysKKysgICAgICBjbGllbnRfdGhyZWFkID0gVGhyZWFkLm5ldyBkbwor KyAgICAgICAgcmVxdWVzdGVyID0gUmVzb2x2OjpETlM6OlJlcXVlc3Rlcjo6VENQLm5ldyhzZXJ2 ZXJfYWRkcmVzcywgc2VydmVyX3BvcnQpCisrICAgICAgICBiZWdpbgorKyAgICAgICAgICBtc2cg PSBSZXNvbHY6OkROUzo6TWVzc2FnZS5uZXcKKysgICAgICAgICAgbXNnLmFkZF9xdWVzdGlvbign ZXhhbXBsZS5vcmcnLCBSZXNvbHY6OkROUzo6UmVzb3VyY2U6OklOOjpBKQorKyAgICAgICAgICBz ZW5kZXIgPSByZXF1ZXN0ZXIuc2VuZGVyKG1zZywgbXNnKQorKyAgICAgICAgICBhc3NlcnRfcmFp c2UoUmVzb2x2OjpSZXNvbHZUaW1lb3V0KSBkbworKyAgICAgICAgICAgIHJlcXVlc3Rlci5yZXF1 ZXN0KHNlbmRlciwgMikKKysgICAgICAgICAgZW5kCisrICAgICAgICBlbnN1cmUKKysgICAgICAg ICAgcmVxdWVzdGVyLmNsb3NlCisrICAgICAgICBlbmQKKysgICAgICBlbmQKKysKKysgICAgICBz ZXJ2ZXJfdGhyZWFkLmpvaW4KKysgICAgICBjbGllbnRfdGhyZWFkLmpvaW4KKysgICAgZW5kCisr ICBlbmQKKysKKysgIGRlZiB0ZXN0X3RjcF9jb25uZWN0aW9uX2Nsb3NlZF93aXRoX3BhcnRpYWxf bGVuZ3RoX3ByZWZpeAorKyAgICB3aXRoX3RjcCgnMTI3LjAuMC4xJywgMCkgZG8gfHR8CisrICAg ICAgXywgc2VydmVyX3BvcnQsIF8sIHNlcnZlcl9hZGRyZXNzID0gdC5hZGRyCisrCisrICAgICAg c2VydmVyX3RocmVhZCA9IFRocmVhZC5uZXcgZG8KKysgICAgICAgIGN0ID0gdC5hY2NlcHQKKysg ICAgICAgIGN0LnJlY3YoNTEyKQorKyAgICAgICAgY3Qud3JpdGUgIkEiICMgMSBieXRlCisrICAg ICAgICBjdC5jbG9zZQorKyAgICAgIGVuZAorKworKyAgICAgIGNsaWVudF90aHJlYWQgPSBUaHJl YWQubmV3IGRvCisrICAgICAgICByZXF1ZXN0ZXIgPSBSZXNvbHY6OkROUzo6UmVxdWVzdGVyOjpU Q1AubmV3KHNlcnZlcl9hZGRyZXNzLCBzZXJ2ZXJfcG9ydCkKKysgICAgICAgIGJlZ2luCisrICAg ICAgICAgIG1zZyA9IFJlc29sdjo6RE5TOjpNZXNzYWdlLm5ldworKyAgICAgICAgICBtc2cuYWRk X3F1ZXN0aW9uKCdleGFtcGxlLm9yZycsIFJlc29sdjo6RE5TOjpSZXNvdXJjZTo6SU46OkEpCisr ICAgICAgICAgIHNlbmRlciA9IHJlcXVlc3Rlci5zZW5kZXIobXNnLCBtc2cpCisrICAgICAgICAg IGFzc2VydF9yYWlzZShSZXNvbHY6OlJlc29sdlRpbWVvdXQpIGRvCisrICAgICAgICAgICAgcmVx dWVzdGVyLnJlcXVlc3Qoc2VuZGVyLCAyKQorKyAgICAgICAgICBlbmQKKysgICAgICAgIGVuc3Vy ZQorKyAgICAgICAgICByZXF1ZXN0ZXIuY2xvc2UKKysgICAgICAgIGVuZAorKyAgICAgIGVuZAor KworKyAgICAgIHNlcnZlcl90aHJlYWQuam9pbgorKyAgICAgIGNsaWVudF90aHJlYWQuam9pbgor KyAgICBlbmQKKysgIGVuZAorKworKyAgZGVmIHRlc3RfdGNwX2Nvbm5lY3Rpb25fY2xvc2VkX3dp dGhfcGFydGlhbF9tZXNzYWdlX2JvZHkKKysgICAgd2l0aF90Y3AoJzEyNy4wLjAuMScsIDApIGRv IHx0fAorKyAgICAgIF8sIHNlcnZlcl9wb3J0LCBfLCBzZXJ2ZXJfYWRkcmVzcyA9IHQuYWRkcgor KworKyAgICAgIHNlcnZlcl90aHJlYWQgPSBUaHJlYWQubmV3IGRvCisrICAgICAgICBjdCA9IHQu YWNjZXB0CisrICAgICAgICBjdC5yZWN2KDUxMikKKysgICAgICAgIGN0LndyaXRlKFsxMF0ucGFj aygnbicpKSAjIGxlbmd0aCAxMAorKyAgICAgICAgY3Qud3JpdGUgIjEyMzQ1IiAjIDUgYnl0ZXMg KHBhcnRpYWwpCisrICAgICAgICBjdC5jbG9zZQorKyAgICAgIGVuZAorKworKyAgICAgIGNsaWVu dF90aHJlYWQgPSBUaHJlYWQubmV3IGRvCisrICAgICAgICByZXF1ZXN0ZXIgPSBSZXNvbHY6OkRO Uzo6UmVxdWVzdGVyOjpUQ1AubmV3KHNlcnZlcl9hZGRyZXNzLCBzZXJ2ZXJfcG9ydCkKKysgICAg ICAgIGJlZ2luCisrICAgICAgICAgIG1zZyA9IFJlc29sdjo6RE5TOjpNZXNzYWdlLm5ldworKyAg ICAgICAgICBtc2cuYWRkX3F1ZXN0aW9uKCdleGFtcGxlLm9yZycsIFJlc29sdjo6RE5TOjpSZXNv dXJjZTo6SU46OkEpCisrICAgICAgICAgIHNlbmRlciA9IHJlcXVlc3Rlci5zZW5kZXIobXNnLCBt c2cpCisrICAgICAgICAgIGFzc2VydF9yYWlzZShSZXNvbHY6OlJlc29sdlRpbWVvdXQpIGRvCisr ICAgICAgICAgICAgcmVxdWVzdGVyLnJlcXVlc3Qoc2VuZGVyLCAyKQorKyAgICAgICAgICBlbmQK KysgICAgICAgIGVuc3VyZQorKyAgICAgICAgICByZXF1ZXN0ZXIuY2xvc2UKKysgICAgICAgIGVu ZAorKyAgICAgIGVuZAorKworKyAgICAgIHNlcnZlcl90aHJlYWQuam9pbgorKyAgICAgIGNsaWVu dF90aHJlYWQuam9pbgorKyAgICBlbmQKKysgIGVuZAorIGVuZAorZGlmZiAtLWdpdCBhL3Rlc3Qv cmVzb2x2L3Rlc3RfcmVzb3VyY2UucmIgYi90ZXN0L3Jlc29sdi90ZXN0X3Jlc291cmNlLnJiCitp bmRleCA0MzQzODAyMzZlNjcyMS4uYjRlNTZjZTRiYjhmZjUgMTAwNjQ0CistLS0gYS90ZXN0L3Jl c29sdi90ZXN0X3Jlc291cmNlLnJiCisrKysgYi90ZXN0L3Jlc29sdi90ZXN0X3Jlc291cmNlLnJi CitAQCAtMjQsNiArMjQsNjcgQEAgZGVmIHRlc3RfY29vcmQKKyAgICAgUmVzb2x2OjpMT0M6OkNv b3JkLmNyZWF0ZSgnMSAyIDEuMSBOJykKKyAgIGVuZAorIAorKyAgIyBEZWNvZGluZyBhbiB1bmtu b3duICh0eXBlLCBjbGFzcykgcGFpciBidWlsZHMgYSBmcmVzaCBjbGFzcyBldmVyeSB0aW1lLCBz bworKyAgIyBlcXVhbGl0eSBtdXN0IG5vdCByZXN0IG9uIHRoZSBjbGFzcyBpZGVudGl0eS4KKysg IGRlZiB0ZXN0X2dlbmVyaWNfZXF1YWxpdHkKKysgICAgd2lyZSA9IGdlbmVyaWNfYW5zd2VyKDQw MDAwLCAiXHgwMVx4MDJceDAzIikKKysgICAgcnIxID0gZGVjb2RlX2dlbmVyaWMod2lyZSkKKysg ICAgcnIyID0gZGVjb2RlX2dlbmVyaWMod2lyZSkKKysKKysgICAgYXNzZXJ0X25vdF9zYW1lIHJy MS5jbGFzcywgcnIyLmNsYXNzCisrICAgIGFzc2VydF9lcXVhbCBycjEsIHJyMgorKyAgICBhc3Nl cnQgcnIxLmVxbD8ocnIyKQorKyAgICBhc3NlcnRfZXF1YWwgcnIxLmhhc2gsIHJyMi5oYXNoCisr ICAgIGFzc2VydF9lcXVhbCBSZXNvbHY6OkROUzo6TWVzc2FnZS5kZWNvZGUod2lyZSksIFJlc29s djo6RE5TOjpNZXNzYWdlLmRlY29kZSh3aXJlKQorKyAgZW5kCisrCisrICAjIEFueSBkZXNjZW5k YW50IGNvdW50cywgbm90IGp1c3QgYSBjbGFzcyBjcmVhdGUgcmV0dXJuZWQuCisrICBkZWYgdGVz dF9nZW5lcmljX2VxdWFsaXR5X2JldHdlZW5fZGVzY2VuZGFudHMKKysgICAgZ2VuZXJpYyA9IFJl c29sdjo6RE5TOjpSZXNvdXJjZTo6R2VuZXJpYworKyAgICBkaXJlY3QgPSBnZW5lcmljLmNyZWF0 ZSg0MDAwMCwgNjAwMDApCisrICAgIGRlc2NlbmRhbnQgPSBDbGFzcy5uZXcoZ2VuZXJpYy5jcmVh dGUoNDAwMDAsIDYwMDAwKSkKKysKKysgICAgYXNzZXJ0X2VxdWFsIGRpcmVjdC5uZXcoIlx4MDFc eDAyXHgwMyIpLCBkZXNjZW5kYW50Lm5ldygiXHgwMVx4MDJceDAzIikKKysgICAgYXNzZXJ0X2Vx dWFsIGRlc2NlbmRhbnQubmV3KCJceDAxXHgwMlx4MDMiKSwgZGlyZWN0Lm5ldygiXHgwMVx4MDJc eDAzIikKKysgICAgYXNzZXJ0X2VxdWFsIGdlbmVyaWMubmV3KCJceDAxXHgwMlx4MDMiKSwgZ2Vu ZXJpYy5uZXcoIlx4MDFceDAyXHgwMyIpCisrICAgIGFzc2VydF9ub3RfZXF1YWwgZGlyZWN0Lm5l dygiXHgwMVx4MDJceDAzIiksCisrICAgICAgQ2xhc3MubmV3KGdlbmVyaWMuY3JlYXRlKDQwMDAx LCA2MDAwMCkpLm5ldygiXHgwMVx4MDJceDAzIikKKysgIGVuZAorKworKyAgZGVmIHRlc3RfZ2Vu ZXJpY19pbmVxdWFsaXR5CisrICAgIHJyID0gZGVjb2RlX2dlbmVyaWMoZ2VuZXJpY19hbnN3ZXIo NDAwMDAsICJceDAxXHgwMlx4MDMiKSkKKysKKysgICAgYXNzZXJ0X25vdF9lcXVhbCByciwgZGVj b2RlX2dlbmVyaWMoZ2VuZXJpY19hbnN3ZXIoNDAwMDEsICJceDAxXHgwMlx4MDMiKSkKKysgICAg YXNzZXJ0X25vdF9lcXVhbCByciwgZGVjb2RlX2dlbmVyaWMoZ2VuZXJpY19hbnN3ZXIoNDAwMDAs ICJceDA5XHgwOVx4MDkiKSkKKysgICAgYXNzZXJ0X25vdF9lcXVhbCByciwgUmVzb2x2OjpETlM6 OlJlc291cmNlOjpJTjo6QS5uZXcoIjE5Mi4xNjguMC4xIikKKysgIGVuZAorKworKyAgIyBBIHF1 ZXN0aW9uIGhvbGRzIHRoZSByZXNvdXJjZSBjbGFzcyBpdHNlbGYsIHNvIGl0IG5lZWRzIHRoZSBz YW1lIHRyZWF0bWVudC4KKysgIGRlZiB0ZXN0X2dlbmVyaWNfcXVlc3Rpb25fZXF1YWxpdHkKKysg ICAgd2lyZSA9IGdlbmVyaWNfcXVlc3Rpb24oNDAwMDApCisrCisrICAgIGFzc2VydF9lcXVhbCBS ZXNvbHY6OkROUzo6TWVzc2FnZS5kZWNvZGUod2lyZSksIFJlc29sdjo6RE5TOjpNZXNzYWdlLmRl Y29kZSh3aXJlKQorKyAgICBhc3NlcnRfbm90X2VxdWFsIFJlc29sdjo6RE5TOjpNZXNzYWdlLmRl Y29kZSh3aXJlKSwKKysgICAgICBSZXNvbHY6OkROUzo6TWVzc2FnZS5kZWNvZGUoZ2VuZXJpY19x dWVzdGlvbig0MDAwMSkpCisrICBlbmQKKysKKysgIHByaXZhdGUgZGVmIGhlYWRlcihxZGNvdW50 LCBhbmNvdW50KQorKyAgICAiXHgwMFx4MDBceDAwXHgwMCIuYiArIFtxZGNvdW50LCBhbmNvdW50 LCAwLCAwXS5wYWNrKCdubm5uJykKKysgIGVuZAorKworKyAgcHJpdmF0ZSBkZWYgZ2VuZXJpY19h bnN3ZXIodHlwZSwgcmRhdGEpCisrICAgIHJkYXRhID0gcmRhdGEuYgorKyAgICAoaGVhZGVyKDAs IDEpICsgIlx4MDAiLmIgKyBbdHlwZSwgNjAwMDAsIDAsIHJkYXRhLmJ5dGVzaXplXS5wYWNrKCdu bk5uJykgKyByZGF0YSkuYgorKyAgZW5kCisrCisrICBwcml2YXRlIGRlZiBnZW5lcmljX3F1ZXN0 aW9uKHR5cGUpCisrICAgIChoZWFkZXIoMSwgMCkgKyAiXHgwN2V4YW1wbGVceDAzY29tXHgwMCIu YiArIFt0eXBlLCA2MDAwMF0ucGFjaygnbm4nKSkuYgorKyAgZW5kCisrCisrICBwcml2YXRlIGRl ZiBkZWNvZGVfZ2VuZXJpYyh3aXJlKQorKyAgICBSZXNvbHY6OkROUzo6TWVzc2FnZS5kZWNvZGUo d2lyZSkuYW5zd2VyLmZpcnN0WzJdCisrICBlbmQKKysKKyAgIGRlZiB0ZXN0X3Nydl9ub19jb21w cmVzcworICAgICAjIERvbWFpbiBuYW1lIGluIFNSViBSREFUQSBzaG91bGQgbm90IGJlIGNvbXBy ZXNzZWQKKyAgICAgaXNzdWUyOSA9ICdodHRwczovL2dpdGh1Yi5jb20vcnVieS9yZXNvbHYvaXNz dWVzLzI5JworZGlmZiAtLWdpdCBhL3Rlc3QvcmVzb2x2L3Rlc3RfcmVzb3VyY2VfbGVhay5yYiBi L3Rlc3QvcmVzb2x2L3Rlc3RfcmVzb3VyY2VfbGVhay5yYgorbmV3IGZpbGUgbW9kZSAxMDA2NDQK K2luZGV4IDAwMDAwMDAwMDAwMDAwLi40NjI4YTNkMjg1NzY3NworLS0tIC9kZXYvbnVsbAorKysr IGIvdGVzdC9yZXNvbHYvdGVzdF9yZXNvdXJjZV9sZWFrLnJiCitAQCAtMCwwICsxLDEwMSBAQAor KyMgZnJvemVuX3N0cmluZ19saXRlcmFsOiBmYWxzZQorK3JlcXVpcmUgJ3Rlc3QvdW5pdCcKKyty ZXF1aXJlICdyZXNvbHYnCisrCisrIyBEZWNvZGluZyBhIHJlc3BvbnNlIHdpdGggdW5rbm93biAo dHlwZSwgY2xhc3MpIHBhaXJzIG9yIHVua25vd24gU3ZjUGFyYW1LZXlzCisrIyB1c2VkIHRvIHJl Z2lzdGVyIGEgZ2VuZXJhdGVkIGNsYXNzIHBlcm1hbmVudGx5LCBzbyBhIG1hbGljaW91cyByZXNw b25zZSBjb3VsZAorKyMgZXhoYXVzdCBtZW1vcnkgZXZlbiBhZnRlciB0aGUgcmVzcG9uc2Ugd2Fz IGRpc2NhcmRlZC4KKytjbGFzcyBUZXN0UmVzb2x2UmVzb3VyY2VMZWFrIDwgVGVzdDo6VW5pdDo6 VGVzdENhc2UKKysgICMgTnVtYmVyIG9mIGR5bmFtaWNhbGx5LXJlZ2lzdGVyZWQgIlR5cGU8bj5f Q2xhc3M8bj4iIGNvbnN0YW50cyBvbiArbW9kKy4KKysgIGRlZiB0eXBlX2NvbnN0X2NvdW50KG1v ZCkKKysgICAgbW9kLmNvbnN0YW50cyhmYWxzZSkuY291bnQgeyB8Y3wgYy50b19zLm1hdGNoPygv XEFUeXBlXGQrX0NsYXNzXGQrXHovKSB9CisrICBlbmQKKysKKysgIGRlZiBzdmNwYXJhbV9rZXlf Y29uc3RfY291bnQKKysgICAgUmVzb2x2OjpETlM6OlN2Y1BhcmFtOjpHZW5lcmljLmNvbnN0YW50 cyhmYWxzZSkuY291bnQgeyB8Y3wgYy50b19zLm1hdGNoPygvXEFLZXlcZCtcei8pIH0KKysgIGVu ZAorKworKyAgIyBBIEROUyByZXNwb25zZSB3aG9zZSBhbnN3ZXIgc2VjdGlvbiBob2xkcyArY291 bnQrIFJScywgZWFjaCB3aXRoIGEgZGlzdGluY3QKKysgICMgdW5rbm93biAodHlwZSwgY2xhc3Mp IHBhaXIuCisrICBkZWYgdW5rbm93bl90eXBlY2xhc3NfcmVzcG9uc2UoY291bnQpCisrICAgIGJv ZHkgPSAiIi5iCisrICAgIGNvdW50LnRpbWVzIGRvIHxpfAorKyAgICAgIHR5cGUgID0gNDAwMDAg KyBpCisrICAgICAga2xhc3MgPSA2MDAwMAorKyAgICAgIHJkYXRhID0gIlx4MDFceDAyXHgwMyIu YgorKyAgICAgIGJvZHkgPDwgIlx4MDAiLmIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAjIE5BTUUgPSByb290CisrICAgICAgYm9keSA8PCBbdHlwZSwga2xhc3MsIDAsIHJkYXRh LmJ5dGVzaXplXS5wYWNrKCdubk5uJykKKysgICAgICBib2R5IDw8IHJkYXRhCisrICAgIGVuZAor KyAgICBoZWFkZXIgPSAiXHgwMFx4MDBceDAwXHgwMCIuYiArIFswLCBjb3VudCwgMCwgMF0ucGFj aygnbm5ubicpCisrICAgIChoZWFkZXIgKyBib2R5KS5iCisrICBlbmQKKysKKysgICMgQW4gU1ZD QiBSUiAodHlwZSA2NCkgY2FycnlpbmcgK2NvdW50KyBkaXN0aW5jdCB1bmtub3duIFN2Y1BhcmFt S2V5cy4KKysgIGRlZiB1bmtub3duX3N2Y3BhcmFtX3Jlc3BvbnNlKGNvdW50KQorKyAgICByZGF0 YSA9ICIiLmIKKysgICAgcmRhdGEgPDwgWzFdLnBhY2soJ24nKSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIyBTdmNQcmlvcml0eQorKyAgICByZGF0YSA8PCAiXHgwM2Zvb1x4MDdleGFt cGxlXHgwM2NvbVx4MDAiLmIgICAgICAgICAgICAjIFRhcmdldE5hbWUKKysgICAgY291bnQudGlt ZXMgZG8gfGl8CisrICAgICAga2V5ID0gMTAwMCArIGkKKysgICAgICB2YWwgPSAieCIuYgorKyAg ICAgIHJkYXRhIDw8IFtrZXksIHZhbC5ieXRlc2l6ZV0ucGFjaygnbm4nKSA8PCB2YWwKKysgICAg ZW5kCisrICAgIGhlYWRlciA9ICJceDAwXHgwMFx4MDBceDAwIi5iICsgWzAsIDEsIDAsIDBdLnBh Y2soJ25ubm4nKQorKyAgICBuYW1lICAgPSAiXHgwN2V4YW1wbGVceDAzY29tXHgwMCIuYgorKyAg ICByciAgICAgPSBuYW1lICsgWzY0LCAxLCAwLCByZGF0YS5ieXRlc2l6ZV0ucGFjaygnbm5Obicp ICsgcmRhdGEKKysgICAgKGhlYWRlciArIHJyKS5iCisrICBlbmQKKysKKysgIGRlZiB0ZXN0X3Vu a25vd25fdHlwZWNsYXNzX2RvZXNfbm90X2xlYWtfY2xhc3NlcworKyAgICByZXNvdXJjZSA9IFJl c29sdjo6RE5TOjpSZXNvdXJjZQorKyAgICBnZW5lcmljICA9IFJlc29sdjo6RE5TOjpSZXNvdXJj ZTo6R2VuZXJpYworKworKyAgICBiZWZvcmVfcmVzb3VyY2UgPSB0eXBlX2NvbnN0X2NvdW50KHJl c291cmNlKQorKyAgICBiZWZvcmVfZ2VuZXJpYyAgPSB0eXBlX2NvbnN0X2NvdW50KGdlbmVyaWMp CisrCisrICAgIFsxMDAsIDEwMDBdLmVhY2ggZG8gfGNvdW50fAorKyAgICAgIG1zZyA9IHVua25v d25fdHlwZWNsYXNzX3Jlc3BvbnNlKGNvdW50KQorKyAgICAgIDMudGltZXMgeyBSZXNvbHY6OkRO Uzo6TWVzc2FnZS5kZWNvZGUobXNnKSB9CisrICAgIGVuZAorKyAgICBHQy5zdGFydAorKworKyAg ICBhc3NlcnRfZXF1YWwgYmVmb3JlX3Jlc291cmNlLCB0eXBlX2NvbnN0X2NvdW50KHJlc291cmNl KSwKKysgICAgICAnZGVjb2RpbmcgdW5rbm93biAodHlwZSwgY2xhc3MpIFJScyBtdXN0IG5vdCBy ZWdpc3RlciBuZXcgUmVzb3VyY2UgY29uc3RhbnRzJworKyAgICBhc3NlcnRfZXF1YWwgYmVmb3Jl X2dlbmVyaWMsIHR5cGVfY29uc3RfY291bnQoZ2VuZXJpYyksCisrICAgICAgJ2RlY29kaW5nIHVu a25vd24gKHR5cGUsIGNsYXNzKSBSUnMgbXVzdCBub3QgcmVnaXN0ZXIgbmV3IEdlbmVyaWMgY29u c3RhbnRzJworKyAgZW5kCisrCisrICBkZWYgdGVzdF91bmtub3duX3N2Y3BhcmFtX2tleV9kb2Vz X25vdF9sZWFrX2NsYXNzZXMKKysgICAgY2xhc3NfaGFzaCA9IFJlc29sdjo6RE5TOjpTdmNQYXJh bTo6Q2xhc3NIYXNoCisrCisrICAgIGJlZm9yZV9jb25zdHMgPSBzdmNwYXJhbV9rZXlfY29uc3Rf Y291bnQKKysgICAgYmVmb3JlX2hhc2ggICA9IGNsYXNzX2hhc2guc2l6ZQorKworKyAgICBbMTAw LCAxMDAwXS5lYWNoIGRvIHxjb3VudHwKKysgICAgICBtc2cgPSB1bmtub3duX3N2Y3BhcmFtX3Jl c3BvbnNlKGNvdW50KQorKyAgICAgIDMudGltZXMgeyBSZXNvbHY6OkROUzo6TWVzc2FnZS5kZWNv ZGUobXNnKSB9CisrICAgIGVuZAorKyAgICBHQy5zdGFydAorKworKyAgICBhc3NlcnRfZXF1YWwg YmVmb3JlX2NvbnN0cywgc3ZjcGFyYW1fa2V5X2NvbnN0X2NvdW50LAorKyAgICAgICdkZWNvZGlu ZyB1bmtub3duIFN2Y1BhcmFtS2V5cyBtdXN0IG5vdCByZWdpc3RlciBuZXcgR2VuZXJpYyBjb25z dGFudHMnCisrICAgIGFzc2VydF9lcXVhbCBiZWZvcmVfaGFzaCwgY2xhc3NfaGFzaC5zaXplLAor KyAgICAgICdkZWNvZGluZyB1bmtub3duIFN2Y1BhcmFtS2V5cyBtdXN0IG5vdCBncm93IFN2Y1Bh cmFtOjpDbGFzc0hhc2gnCisrICBlbmQKKysKKysgICMgRHJvcHBpbmcgdGhlIHBlcm1hbmVudCBy ZWdpc3RyYXRpb24gbXVzdCBub3QgYnJlYWsgZGVjb2Rpbmcgb2YgdGhlIHVua25vd24KKysgICMg dmFsdWVzIHRoZW1zZWx2ZXMuCisrICBkZWYgdGVzdF91bmtub3duX3ZhbHVlc19zdGlsbF9kZWNv ZGUKKysgICAgbXNnID0gUmVzb2x2OjpETlM6Ok1lc3NhZ2UuZGVjb2RlKHVua25vd25fdHlwZWNs YXNzX3Jlc3BvbnNlKDMpKQorKyAgICBhc3NlcnRfZXF1YWwgMywgbXNnLmFuc3dlci5zaXplCisr ICAgIF8sIF8sIHJyID0gbXNnLmFuc3dlci5maXJzdAorKyAgICBhc3NlcnRfa2luZF9vZiBSZXNv bHY6OkROUzo6UmVzb3VyY2U6OkdlbmVyaWMsIHJyCisrICAgIGFzc2VydF9lcXVhbCAiXHgwMVx4 MDJceDAzIi5iLCByci5kYXRhCisrCisrICAgIG1zZyA9IFJlc29sdjo6RE5TOjpNZXNzYWdlLmRl Y29kZSh1bmtub3duX3N2Y3BhcmFtX3Jlc3BvbnNlKDMpKQorKyAgICBfLCBfLCBzdmNiID0gbXNn LmFuc3dlci5maXJzdAorKyAgICBhc3NlcnRfZXF1YWwgMywgc3ZjYi5wYXJhbXMuY291bnQKKysg ICAgYXNzZXJ0X2VxdWFsICJ4Ii5iLCBzdmNiLnBhcmFtc1s6a2V5MTAwMF0udmFsdWUKKysgIGVu ZAorK2VuZAorLS0tIHJ1YnktNC4wLjYub3JpZy9saWIvcnVieWdlbXMvdmVuZG9yL3Jlc29sdi9s aWIvcmVzb2x2LnJiCTIwMjYtMDctMTQgMDk6MjI6MTAuMDAwMDAwMDAwICswOTAwCisrKysgcnVi eS00LjAuNi9saWIvcnVieWdlbXMvdmVuZG9yL3Jlc29sdi9saWIvcmVzb2x2LnJiCTIwMjYtMDkt MDMgMTc6MTY6MTguNTQzMDI1MTY0ICswOTAwCitAQCAtMzUsNyArMzUsNyBAQAorIGNsYXNzIEdl bTo6UmVzb2x2CisgCisgICAjIFRoZSB2ZXJzaW9uIHN0cmluZworLSAgVkVSU0lPTiA9ICIwLjcu MCIKKysgIFZFUlNJT04gPSAiMC43LjIiCisgCisgICAjIworICAgIyBMb29rcyB1cCB0aGUgZmly c3QgSVAgYWRkcmVzcyBmb3IgK25hbWUrLgorQEAgLTQ4NywxMyArNDg3LDE4IEBAIGRlZiBlYWNo X25hbWUoYWRkcmVzcykKKyAgICAgIyAqIEdlbTo6UmVzb2x2OjpETlM6OlJlc291cmNlOjpJTjo6 QQorICAgICAjICogR2VtOjpSZXNvbHY6OkROUzo6UmVzb3VyY2U6OklOOjpBQUFBCisgICAgICMg KiBHZW06OlJlc29sdjo6RE5TOjpSZXNvdXJjZTo6SU46OkFOWQorKyAgICAjICogR2VtOjpSZXNv bHY6OkROUzo6UmVzb3VyY2U6OklOOjpDQUEKKyAgICAgIyAqIEdlbTo6UmVzb2x2OjpETlM6OlJl c291cmNlOjpJTjo6Q05BTUUKKyAgICAgIyAqIEdlbTo6UmVzb2x2OjpETlM6OlJlc291cmNlOjpJ Tjo6SElORk8KKysgICAgIyAqIEdlbTo6UmVzb2x2OjpETlM6OlJlc291cmNlOjpJTjo6SFRUUFMK KysgICAgIyAqIEdlbTo6UmVzb2x2OjpETlM6OlJlc291cmNlOjpJTjo6TE9DCisgICAgICMgKiBH ZW06OlJlc29sdjo6RE5TOjpSZXNvdXJjZTo6SU46Ok1JTkZPCisgICAgICMgKiBHZW06OlJlc29s djo6RE5TOjpSZXNvdXJjZTo6SU46Ok1YCisgICAgICMgKiBHZW06OlJlc29sdjo6RE5TOjpSZXNv dXJjZTo6SU46Ok5TCisgICAgICMgKiBHZW06OlJlc29sdjo6RE5TOjpSZXNvdXJjZTo6SU46OlBU UgorICAgICAjICogR2VtOjpSZXNvbHY6OkROUzo6UmVzb3VyY2U6OklOOjpTT0EKKysgICAgIyAq IEdlbTo6UmVzb2x2OjpETlM6OlJlc291cmNlOjpJTjo6U1JWCisrICAgICMgKiBHZW06OlJlc29s djo6RE5TOjpSZXNvdXJjZTo6SU46OlNWQ0IKKyAgICAgIyAqIEdlbTo6UmVzb2x2OjpETlM6OlJl c291cmNlOjpJTjo6VFhUCisgICAgICMgKiBHZW06OlJlc29sdjo6RE5TOjpSZXNvdXJjZTo6SU46 OldLUworICAgICAjCitAQCAtNzIxLDcgKzcyNiw4IEBAIGRlZiByZXF1ZXN0KHNlbmRlciwgdG91 dCkKKyAgICAgICAgICAgYmVnaW4KKyAgICAgICAgICAgICByZXBseSwgZnJvbSA9IHJlY3ZfcmVw bHkoc2VsZWN0X3Jlc3VsdFswXSkKKyAgICAgICAgICAgcmVzY3VlIEVycm5vOjpFQ09OTlJFRlVT RUQsICMgR05VL0xpbnV4LCBGcmVlQlNECistICAgICAgICAgICAgICAgICBFcnJubzo6RUNPTk5S RVNFVCAjIFdpbmRvd3MKKysgICAgICAgICAgICAgICAgIEVycm5vOjpFQ09OTlJFU0VULCAjIFdp bmRvd3MKKysgICAgICAgICAgICAgICAgIEVPRkVycm9yCisgICAgICAgICAgICAgIyBObyBuYW1l IHNlcnZlciBydW5uaW5nIG9uIHRoZSBzZXJ2ZXI/CisgICAgICAgICAgICAgIyBEb24ndCB3YWl0 IGFueW1vcmUuCisgICAgICAgICAgICAgcmFpc2UgUmVzb2x2VGltZW91dAorQEAgLTkzMCw4ICs5 MzYsMTEgQEAgZGVmIGluaXRpYWxpemUoaG9zdCwgcG9ydD1Qb3J0KQorICAgICAgICAgZW5kCisg CisgICAgICAgICBkZWYgcmVjdl9yZXBseShyZWFkYWJsZV9zb2NrcykKKy0gICAgICAgICAgbGVu ID0gcmVhZGFibGVfc29ja3NbMF0ucmVhZCgyKS51bnBhY2soJ24nKVswXQorKyAgICAgICAgICBs ZW5fZGF0YSA9IHJlYWRhYmxlX3NvY2tzWzBdLnJlYWQoMikKKysgICAgICAgICAgcmFpc2UgRU9G RXJyb3IgaWYgbGVuX2RhdGEubmlsPyB8fCBsZW5fZGF0YS5ieXRlc2l6ZSAhPSAyCisrICAgICAg ICAgIGxlbiA9IGxlbl9kYXRhLnVucGFjaygnbicpWzBdCisgICAgICAgICAgIHJlcGx5ID0gQHNv Y2tzWzBdLnJlYWQobGVuKQorKyAgICAgICAgICByYWlzZSBFT0ZFcnJvciBpZiByZXBseS5uaWw/ IHx8IHJlcGx5LmJ5dGVzaXplICE9IGxlbgorICAgICAgICAgICByZXR1cm4gcmVwbHksIG5pbAor ICAgICAgICAgZW5kCisgCitAQCAtMTI0NCw2ICsxMjUzLDEzIEBAIGRlZiBzZWxmLnNwbGl0KGFy ZykKKyAKKyAgICAgICBjbGFzcyBTdHIgIyA6bm9kb2M6CisgICAgICAgICBkZWYgaW5pdGlhbGl6 ZShzdHJpbmcpCisrICAgICAgICAgICMgQSBsYWJlbCBpcyBsaW1pdGVkIHRvIDYzIG9jdGV0cy4g W1JGQyAxMDM1IDIuMy40XSBDaGVja2luZyBpdCBoZXJlCisrICAgICAgICAgICMgbWFrZXMgaXQg YW4gaW52YXJpYW50IG9mIHRoZSBvYmplY3Q6IGV2ZXJ5IGxhYmVsLCBob3dldmVyIGl0IHdhcwor KyAgICAgICAgICAjIGJ1aWx0LCBmaXRzIGluIGl0cyBsZW5ndGggb2N0ZXQgYW5kIGNhbm5vdCB3 cmFwIGl0LiBDYWxsZXJzIHR1cm4KKysgICAgICAgICAgIyB0aGlzIGludG8gdGhlIGVycm9yIHRo ZWlyIG93biBjb250cmFjdCBwcm9taXNlcy4KKysgICAgICAgICAgaWYgc3RyaW5nLmJ5dGVzaXpl ID4gNjMKKysgICAgICAgICAgICByYWlzZSBBcmd1bWVudEVycm9yLCAiRE5TIGxhYmVsIGlzIHRv byBsb25nICgje3N0cmluZy5ieXRlc2l6ZX0gYnl0ZXMsIG1heCA2Myk6ICN7c3RyaW5nLmluc3Bl Y3R9IgorKyAgICAgICAgICBlbmQKKyAgICAgICAgICAgQHN0cmluZyA9IHN0cmluZworICAgICAg ICAgICAjIGNhc2UgaW5zZW5zaXZpdHkgb2YgRE5TIGxhYmVscyBkb2Vzbid0IGFwcGx5IG5vbi1B U0NJSSBjaGFyYWN0ZXJzLiBbUkZDIDQzNDNdCisgICAgICAgICAgICMgVGhpcyBhc3N1bWVzIEBz dHJpbmcgaXMgZ2l2ZW4gaW4gQVNDSUkgY29tcGF0aWJsZSBlbmNvZGluZy4KK0BAIC0xMjg5LDcg KzEzMDUsMjYgQEAgZGVmIHNlbGYuY3JlYXRlKGFyZykKKyAgICAgICAgIHdoZW4gTmFtZQorICAg ICAgICAgICByZXR1cm4gYXJnCisgICAgICAgICB3aGVuIFN0cmluZworLSAgICAgICAgICByZXR1 cm4gTmFtZS5uZXcoTGFiZWwuc3BsaXQoYXJnKSwgL1wuXHovID1+IGFyZyA/IHRydWUgOiBmYWxz ZSkKKysgICAgICAgICAgIyBBIGhvc3RuYW1lIGlzIHJ1bnRpbWUgZGF0YSByYXRoZXIgdGhhbiBh IHByb2dyYW1taW5nIG1pc3Rha2UsIHNvCisrICAgICAgICAgICMgYm90aCBzaXplIGxpbWl0cyBz dXJmYWNlIGFzIFJlc29sdkVycm9yIHRvIHN0YXkgcmVzY3VhYmxlIGFsb25nc2lkZQorKyAgICAg ICAgICAjIHRoZSByZXN0IG9mIG5hbWUgcmVzb2x1dGlvbi4gVGhlIHR5cGUgY2hlY2sgYmVsb3cg aXMgYSBjYWxsZXIKKysgICAgICAgICAgIyBtaXN0YWtlIGFuZCBrZWVwcyByYWlzaW5nIEFyZ3Vt ZW50RXJyb3IuCisrICAgICAgICAgIGJlZ2luCisrICAgICAgICAgICAgbGFiZWxzID0gTGFiZWwu c3BsaXQoYXJnKQorKyAgICAgICAgICByZXNjdWUgQXJndW1lbnRFcnJvciA9PiBlCisrICAgICAg ICAgICAgcmFpc2UgUmVzb2x2RXJyb3IubmV3KGUubWVzc2FnZSkKKysgICAgICAgICAgZW5kCisr ICAgICAgICAgICMgTGFiZWw6OlN0ciBlbmZvcmNlcyB0aGUgcGVyLWxhYmVsIGxpbWl0LiBPbmx5 IHRoZSB0b3RhbCBpcyBrbm93YWJsZQorKyAgICAgICAgICAjIGhlcmUsIGFuZCBpdCBjb3VudHMg dGhlIGVuY29kZWQgZm9ybSwgc28gc2l6ZSBzdGFydHMgYXQgMSBmb3IgdGhlCisrICAgICAgICAg ICMgcm9vdCBsYWJlbCdzIHRlcm1pbmF0aW5nIHplcm8gb2N0ZXQuIFtSRkMgMTAzNSAyLjMuNCwg My4xXQorKyAgICAgICAgICBzaXplID0gMQorKyAgICAgICAgICBsYWJlbHMuZWFjaCBkbyB8bGFi ZWx8CisrICAgICAgICAgICAgc2l6ZSArPSAxICsgbGFiZWwuc3RyaW5nLmJ5dGVzaXplCisrICAg ICAgICAgICAgaWYgc2l6ZSA+IDI1NQorKyAgICAgICAgICAgICAgcmFpc2UgUmVzb2x2RXJyb3Iu bmV3KCJETlMgbmFtZSBpcyB0b28gbG9uZyAoI3tzaXplfSBvY3RldHMsIG1heCAyNTUpOiAje2Fy Zy5pbnNwZWN0fSIpCisrICAgICAgICAgICAgZW5kCisrICAgICAgICAgIGVuZAorKyAgICAgICAg ICByZXR1cm4gTmFtZS5uZXcobGFiZWxzLCAvXC5cei8gPX4gYXJnID8gdHJ1ZSA6IGZhbHNlKQor ICAgICAgICAgZWxzZQorICAgICAgICAgICByYWlzZSBBcmd1bWVudEVycm9yLm5ldygiY2Fubm90 IGludGVycHJldCBhcyBETlMgbmFtZTogI3thcmcuaW5zcGVjdH0iKQorICAgICAgICAgZW5kCitA QCAtMTQxMSwxMiArMTQ0NiwyNCBAQCBkZWYgPT0ob3RoZXIpCisgICAgICAgICAgICAgICAgQHJk ID09IG90aGVyLnJkICYmCisgICAgICAgICAgICAgICAgQHJhID09IG90aGVyLnJhICYmCisgICAg ICAgICAgICAgICAgQHJjb2RlID09IG90aGVyLnJjb2RlICYmCistICAgICAgICAgICAgICAgQHF1 ZXN0aW9uID09IG90aGVyLnF1ZXN0aW9uICYmCisrICAgICAgICAgICAgICAgcXVlc3Rpb25fZXF1 YWw/KG90aGVyLnF1ZXN0aW9uKSAmJgorICAgICAgICAgICAgICAgIEBhbnN3ZXIgPT0gb3RoZXIu YW5zd2VyICYmCisgICAgICAgICAgICAgICAgQGF1dGhvcml0eSA9PSBvdGhlci5hdXRob3JpdHkg JiYKKyAgICAgICAgICAgICAgICBAYWRkaXRpb25hbCA9PSBvdGhlci5hZGRpdGlvbmFsCisgICAg ICAgZW5kCisgCisrICAgICAgIyBBIHF1ZXN0aW9uIGhvbGRzIHRoZSByZXNvdXJjZSBjbGFzcyBp dHNlbGYsIGFuZCBkZWNvZGluZyBjcmVhdGVzIGEgZnJlc2gKKysgICAgICAjIGNsYXNzIGZvciBl YWNoIHVua25vd24gdHlwZSwgc28gdGhlIGNsYXNzZXMgY2Fubm90IGJlIGNvbXBhcmVkIGJ5Cisr ICAgICAgIyBpZGVudGl0eSBhbG9uZS4KKysgICAgICBwcml2YXRlIGRlZiBxdWVzdGlvbl9lcXVh bD8ob3RoZXJfcXVlc3Rpb24pICMgOm5vZG9jOgorKyAgICAgICAgcmV0dXJuIGZhbHNlIHVubGVz cyBAcXVlc3Rpb24ubGVuZ3RoID09IG90aGVyX3F1ZXN0aW9uLmxlbmd0aAorKyAgICAgICAgQHF1 ZXN0aW9uLnppcChvdGhlcl9xdWVzdGlvbikge3wobmFtZSwgdHlwZWNsYXNzKSwgKG9fbmFtZSwg b190eXBlY2xhc3MpfAorKyAgICAgICAgICByZXR1cm4gZmFsc2UgdW5sZXNzIG5hbWUgPT0gb19u YW1lICYmCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVzb3VyY2U6OkdlbmVyaWMu dHlwZV9jbGFzc19lcXVhbD8odHlwZWNsYXNzLCBvX3R5cGVjbGFzcykKKysgICAgICAgIH0KKysg ICAgICAgIHJldHVybiB0cnVlCisrICAgICAgZW5kCisrCisgICAgICAgZGVmIGFkZF9xdWVzdGlv bihuYW1lLCB0eXBlY2xhc3MpCisgICAgICAgICBAcXVlc3Rpb24gPDwgW05hbWUuY3JlYXRlKG5h bWUpLCB0eXBlY2xhc3NdCisgICAgICAgZW5kCitAQCAtMTUyMyw4ICsxNTcwLDE1IEBAIGRlZiBw dXRfbGVuZ3RoMTYKKyAgICAgICAgIGVuZAorIAorICAgICAgICAgZGVmIHB1dF9zdHJpbmcoZCkK Ky0gICAgICAgICAgc2VsZi5wdXRfcGFjaygiQyIsIGQubGVuZ3RoKQorLSAgICAgICAgICBAZGF0 YSA8PCBkCisrICAgICAgICAgIHMgPSBkLnRvX3MKKysgICAgICAgICAgIyBBIGNoYXJhY3Rlci1z dHJpbmcgaXMgcHJlZml4ZWQgYnkgYSBzaW5nbGUgbGVuZ3RoIG9jdGV0LCBzbyBpdCBjYW4KKysg ICAgICAgICAgIyBob2xkIGF0IG1vc3QgMjU1IG9jdGV0cy4gW1JGQyAxMDM1IDMuM10gUmVqZWN0 IGFueXRoaW5nIGxvbmdlciB0bworKyAgICAgICAgICAjIGF2b2lkIHNpbGVudGx5IHRydW5jYXRp bmcgdGhlIGxlbmd0aCB0byBpdHMgbG93IDggYml0cyAobW9kIDI1NikuCisrICAgICAgICAgIGlm IHMuYnl0ZXNpemUgPiAyNTUKKysgICAgICAgICAgICByYWlzZSBBcmd1bWVudEVycm9yLCAiY2hh cmFjdGVyLXN0cmluZyBpcyB0b28gbG9uZyAoI3tzLmJ5dGVzaXplfSBieXRlcywgbWF4IDI1NSk6 ICN7cy5pbnNwZWN0fSIKKysgICAgICAgICAgZW5kCisrICAgICAgICAgIHNlbGYucHV0X3BhY2so IkMiLCBzLmJ5dGVzaXplKQorKyAgICAgICAgICBAZGF0YSA8PCBzCisgICAgICAgICBlbmQKKyAK KyAgICAgICAgIGRlZiBwdXRfc3RyaW5nX2xpc3QoZHMpCitAQCAtMTU1NCw3ICsxNjA4LDE3IEBA IGRlZiBwdXRfbGFiZWxzKGQsIGNvbXByZXNzOiB0cnVlKQorICAgICAgICAgZW5kCisgCisgICAg ICAgICBkZWYgcHV0X2xhYmVsKGQpCistICAgICAgICAgIHNlbGYucHV0X3N0cmluZyhkLnRvX3Mp CisrICAgICAgICAgIHMgPSBkLnRvX3MKKysgICAgICAgICAgIyBMYWJlbDo6U3RyIGFwcGxpZXMg dGhpcyBsaW1pdCB3aGVuIGEgbGFiZWwgaXMgYnVpbHQsIHNvIHdoYXQgaXMgbGVmdAorKyAgICAg ICAgICAjIGZvciBoZXJlIGlzIGEgcmF3IHN0cmluZyBoYW5kZWQgc3RyYWlnaHQgdG8gcHV0X2xh YmVscy4gVGhlIHR3byB3YXlzCisrICAgICAgICAgICMgYW4gb3Zlci1sb25nIGxhYmVsIGdvZXMg d3JvbmcgZGlmZmVyOiA2NCB0byAyNTUgb2N0ZXRzIHdyaXRlIGEgbGVuZ3RoCisrICAgICAgICAg ICMgb2N0ZXQgaW4gdGhlIHJlc2VydmVkIG9yIGNvbXByZXNzaW9uIHBvaW50ZXIgcmFuZ2UsIGFu ZCAyNTYgb3IgbW9yZQorKyAgICAgICAgICAjIHdyYXAgaXQgbW9kIDI1Ni4gRWl0aGVyIHdheSB0 aGUgZW5jb2RlZCBuYW1lIHN0b3BzIGJlaW5nIHRoZSBuYW1lIHRoZQorKyAgICAgICAgICAjIGNh bGxlciBhc2tlZCBmb3IuIFtSRkMgMTAzNSAyLjMuNCwgNC4xLjRdCisrICAgICAgICAgIGlmIHMu Ynl0ZXNpemUgPiA2MworKyAgICAgICAgICAgIHJhaXNlIEFyZ3VtZW50RXJyb3IsICJETlMgbGFi ZWwgaXMgdG9vIGxvbmcgKCN7cy5ieXRlc2l6ZX0gYnl0ZXMsIG1heCA2Myk6ICN7cy5pbnNwZWN0 fSIKKysgICAgICAgICAgZW5kCisrICAgICAgICAgIHNlbGYucHV0X3N0cmluZyhzKQorICAgICAg ICAgZW5kCisgICAgICAgZW5kCisgCitAQCAtMTY4MCw3ICsxNzQ0LDkgQEAgZGVmIGdldF9sYWJl bHMKKyAgICAgICAgICAgcHJldl9pbmRleCA9IEBpbmRleAorICAgICAgICAgICBzYXZlX2luZGV4 ID0gbmlsCisgICAgICAgICAgIGQgPSBbXQorLSAgICAgICAgICBzaXplID0gLTEKKysgICAgICAg ICAgIyBzaXplIGNvdW50cyB0aGUgZW5jb2RlZCBmb3JtLCBzbyBpdCBzdGFydHMgYXQgMSBmb3Ig dGhlIHJvb3QKKysgICAgICAgICAgIyBsYWJlbCdzIHRlcm1pbmF0aW5nIHplcm8gb2N0ZXQuIFtS RkMgMTAzNSAzLjFdCisrICAgICAgICAgIHNpemUgPSAxCisgICAgICAgICAgIHdoaWxlIHRydWUK KyAgICAgICAgICAgICByYWlzZSBEZWNvZGVFcnJvci5uZXcoImxpbWl0IGV4Y2VlZGVkIikgaWYg QGxpbWl0IDw9IEBpbmRleAorICAgICAgICAgICAgIGNhc2UgQGRhdGEuZ2V0Ynl0ZShAaW5kZXgp CitAQCAtMTcxMSw2ICsxNzc3LDExIEBAIGRlZiBnZXRfbGFiZWxzCisgCisgICAgICAgICBkZWYg Z2V0X2xhYmVsCisgICAgICAgICAgIHJldHVybiBMYWJlbDo6U3RyLm5ldyhzZWxmLmdldF9zdHJp bmcpCisrICAgICAgICByZXNjdWUgQXJndW1lbnRFcnJvciA9PiBlCisrICAgICAgICAgICMgQSBs ZW5ndGggb2N0ZXQgb2YgNjQuLjE5MSBpcyByZXNlcnZlZCByYXRoZXIgdGhhbiBhIGxhYmVsIGxl bmd0aCwKKysgICAgICAgICAgIyBidXQgdGhpcyBkZWNvZGVyIHVzZWQgdG8gcmVhZCBpdCBhcyBv bmUuIFtSRkMgMTAzNSA0LjEuNF0gUmVwb3J0IGl0CisrICAgICAgICAgICMgdGhlIHdheSB0aGUg cmVzdCBvZiBhIG1hbGZvcm1lZCBtZXNzYWdlIGlzIHJlcG9ydGVkLgorKyAgICAgICAgICByYWlz ZSBEZWNvZGVFcnJvci5uZXcoZS5tZXNzYWdlKQorICAgICAgICAgZW5kCisgCisgICAgICAgICBk ZWYgZ2V0X3F1ZXN0aW9uCitAQCAtMTg5OCw4ICsxOTY5LDkgQEAgZGVmIHNlbGYuY3JlYXRlKGtl eV9udW1iZXIpCisgICAgICAgICAgIGtleV9uYW1lID0gOiJrZXkje2tleV9udW1iZXJ9IgorICAg ICAgICAgICBjLmNvbnN0X3NldCg6S2V5TmFtZSwga2V5X25hbWUpCisgICAgICAgICAgIGMuY29u c3Rfc2V0KDpLZXlOdW1iZXIsIGtleV9udW1iZXIpCistICAgICAgICAgIHNlbGYuY29uc3Rfc2V0 KDoiS2V5I3trZXlfbnVtYmVyfSIsIGMpCistICAgICAgICAgIENsYXNzSGFzaFtrZXlfbmFtZV0g PSBDbGFzc0hhc2hba2V5X251bWJlcl0gPSBjCisrICAgICAgICAgICMgTm90IHJlZ2lzdGVyZWQg aW4gYSBjb25zdGFudCBvciBpbiBDbGFzc0hhc2guIENsYXNzSGFzaCBjcmVhdGVzIGEKKysgICAg ICAgICAgIyBjbGFzcyBmb3IgZXZlcnkgdW5rbm93biBTdmNQYXJhbUtleSwgc28gcmVnaXN0ZXJp bmcgdGhlbQorKyAgICAgICAgICAjIHBlcm1hbmVudGx5IHdvdWxkIGxldCBhIG1hbGljaW91cyBy ZXNwb25zZSBleGhhdXN0IG1lbW9yeS4KKyAgICAgICAgICAgcmV0dXJuIGMKKyAgICAgICAgIGVu ZAorICAgICAgIGVuZAorQEAgLTIyMDYsMTIgKzIyNzgsMjggQEAgZGVmIHNlbGYuZGVjb2RlX3Jk YXRhKG1zZykgIyA6bm9kb2M6CisgICAgICAgICAgIHJldHVybiBzZWxmLm5ldyhtc2cuZ2V0X2J5 dGVzKQorICAgICAgICAgZW5kCisgCisrICAgICAgICAjIGNyZWF0ZSBtYWtlcyBhIGZyZXNoIGNs YXNzIGZvciBlYWNoIGRlY29kZWQgcmVzb3VyY2UsIHNvIHRoZSB0eXBlIGFuZAorKyAgICAgICAg IyBjbGFzcyB2YWx1ZXMgaGF2ZSB0byBiZSBjb21wYXJlZCBpbnN0ZWFkIG9mIHRoZSBjbGFzcyBp dHNlbGYuCisrICAgICAgICBkZWYgc2VsZi50eXBlX2NsYXNzX2VxdWFsPyhrbGFzcywgb3RoZXIp ICMgOm5vZG9jOgorKyAgICAgICAgICByZXR1cm4gdHJ1ZSBpZiBrbGFzcy5lcXVhbD8ob3RoZXIp CisrICAgICAgICAgIEdlbmVyaWMgPiBrbGFzcyAmJiBHZW5lcmljID4gb3RoZXIgJiYKKysgICAg ICAgICAgICBrbGFzczo6VHlwZVZhbHVlID09IG90aGVyOjpUeXBlVmFsdWUgJiYKKysgICAgICAg ICAgICBrbGFzczo6Q2xhc3NWYWx1ZSA9PSBvdGhlcjo6Q2xhc3NWYWx1ZQorKyAgICAgICAgZW5k CisrCisrICAgICAgICBkZWYgPT0ob3RoZXIpICMgOm5vZG9jOgorKyAgICAgICAgICByZXR1cm4g b3RoZXIuaXNfYT8oR2VuZXJpYykgJiYKKysgICAgICAgICAgICAgICAgIEdlbmVyaWMudHlwZV9j bGFzc19lcXVhbD8oc2VsZi5jbGFzcywgb3RoZXIuY2xhc3MpICYmCisrICAgICAgICAgICAgICAg ICBAZGF0YSA9PSBvdGhlci5kYXRhCisrICAgICAgICBlbmQKKysKKyAgICAgICAgIGRlZiBzZWxm LmNyZWF0ZSh0eXBlX3ZhbHVlLCBjbGFzc192YWx1ZSkgIyA6bm9kb2M6CisgICAgICAgICAgIGMg PSBDbGFzcy5uZXcoR2VuZXJpYykKKyAgICAgICAgICAgYy5jb25zdF9zZXQoOlR5cGVWYWx1ZSwg dHlwZV92YWx1ZSkKKyAgICAgICAgICAgYy5jb25zdF9zZXQoOkNsYXNzVmFsdWUsIGNsYXNzX3Zh bHVlKQorLSAgICAgICAgICBHZW5lcmljLmNvbnN0X3NldCgiVHlwZSN7dHlwZV92YWx1ZX1fQ2xh c3Mje2NsYXNzX3ZhbHVlfSIsIGMpCistICAgICAgICAgIENsYXNzSGFzaFtbdHlwZV92YWx1ZSwg Y2xhc3NfdmFsdWVdXSA9IGMKKysgICAgICAgICAgIyBOb3QgcmVnaXN0ZXJlZCBpbiBhIGNvbnN0 YW50IG9yIGluIENsYXNzSGFzaC4gZ2V0X2NsYXNzIGNyZWF0ZXMgYQorKyAgICAgICAgICAjIGNs YXNzIGZvciBldmVyeSB1bmtub3duICh0eXBlLCBjbGFzcykgcGFpciwgc28gcmVnaXN0ZXJpbmcg dGhlbQorKyAgICAgICAgICAjIHBlcm1hbmVudGx5IHdvdWxkIGxldCBhIG1hbGljaW91cyByZXNw b25zZSBleGhhdXN0IG1lbW9yeS4KKyAgICAgICAgICAgcmV0dXJuIGMKKyAgICAgICAgIGVuZAor ICAgICAgIGVuZAorCgpkaWZmIC0tZ2l0IGEvcnVieS5zcGVjIGIvcnVieS5zcGVjCmluZGV4IDUx OWY5MGQuLmEyYjM2ZTEgMTAwNjQ0Ci0tLSBhL3J1Ynkuc3BlYworKysgYi9ydWJ5LnNwZWMKQEAg LTQxLDcgKzQxLDcgQEAKICVnbG9iYWwgcnVieWdlbXNfbmV0X2h0dHBfdmVyc2lvbiAwLjcuMAog JWdsb2JhbCBydWJ5Z2Vtc19uZXRfcHJvdG9jb2xfdmVyc2lvbiAwLjIuMgogJWdsb2JhbCBydWJ5 Z2Vtc19vcHRwYXJzZV92ZXJzaW9uIDAuOC4wCi0lZ2xvYmFsIHJ1YnlnZW1zX3Jlc29sdl92ZXJz aW9uIDAuNy4wCislZ2xvYmFsIHJ1YnlnZW1zX3Jlc29sdl92ZXJzaW9uIDAuNy4yCiAlZ2xvYmFs IHJ1YnlnZW1zX3NlY3VyZXJhbmRvbV92ZXJzaW9uIDAuNC4xCiAlZ2xvYmFsIHJ1YnlnZW1zX3Rp bWVvdXRfdmVyc2lvbiAwLjQuNAogJWdsb2JhbCBydWJ5Z2Vtc190c29ydF92ZXJzaW9uIDAuMi4w CkBAIC04NCw3ICs4NCw3IEBACiAlZ2xvYmFsIHByZXR0eXByaW50X3ZlcnNpb24gMC4yLjAKICVn bG9iYWwgcHJpc21fdmVyc2lvbiAxLjguMQogJWdsb2JhbCBwc3ljaF92ZXJzaW9uIDUuMy4xCi0l Z2xvYmFsIHJlc29sdl92ZXJzaW9uIDAuNy4wCislZ2xvYmFsIHJlc29sdl92ZXJzaW9uIDAuNy4y CiAlZ2xvYmFsIHJ1YnkyX2tleXdvcmRzX3ZlcnNpb24gMC4wLjUKICVnbG9iYWwgc2VjdXJlcmFu ZG9tX3ZlcnNpb24gMC40LjEKICVnbG9iYWwgc2hlbGx3b3Jkc192ZXJzaW9uIDAuMi4yCkBAIC0x ODksNyArMTg5LDcgQEAKIFN1bW1hcnk6IEFuIGludGVycHJldGVyIG9mIG9iamVjdC1vcmllbnRl ZCBzY3JpcHRpbmcgbGFuZ3VhZ2UKIE5hbWU6IHJ1YnkKIFZlcnNpb246ICV7cnVieV92ZXJzaW9u fSV7P2RldmVsb3BtZW50X3JlbGVhc2V9Ci1SZWxlYXNlOiAzNyV7P2Rpc3R9CitSZWxlYXNlOiAz OCV7P2Rpc3R9CiAjIExpY2Vuc2VzLCB3aGljaCBhcmUgbGlrZWx5IG5vdCBpbmNsdWRlZCBpbiBi aW5hcnkgUlBNczoKICMgQXBhY2hlLTIuMDoKICMgICBiZW5jaG1hcmsvZ2MvcmVkYmxhY2sucmIK QEAgLTI5OCw2ICsyOTgsMTAgQEAgUGF0Y2g4OiBydWJ5LTQuMC4xLVN1cHBvcnQtY3VzdG9taXph YmxlLXJ1c3RjX2ZsYWdzLWZvci1ydXN0Yy1idWlsZHMucGF0Y2gKICMgRml4IGVycm9yIHdpdGgg YGdlbSBpbnN0YWxsIC0tZG9jdW1lbnQ9cmRvYyxyaWAKICMgRml4ZWQgaW4gcmRvYyA3LjEuMCBi dXQgbm90IGluIDcuMC40CiBQYXRjaDk6IHJkb2MtcHIxNTMxLWZpeC1tdXRpbHBsZS1kb2N1bWVu dC1pbnN0YWxsYXRpb24ucGF0Y2gKKyMgQmFja3BvcnQgZnJvbSBydWJ5XzRfMCBicmFuY2ggdG8g dXBkYXRlIHJlc29sdiB0byAwLjcuMiAoZml4ZXMgQ1ZFLTIwMjYtODAyMTIgQ1ZFLTIwMjYtODAy MTMpCisjIGh0dHBzOi8vZ2l0aHViLmNvbS9ydWJ5L3J1YnkvcHVsbC8xODUyOAorIyBBbHNvIGNv cGllZCB0aGUgcGF0Y2ggdG8gYXBwbHkgdGhlIGZpeCBhbHNvIGZvciB2ZW5kb3JlZCByZXNvbHYK K1BhdGNoMTA6IHJ1YnktNF8wLXByMTg1MjgtdXBkYXRlLXJlc29sdi0wXzdfMi5wYXRjaAogCiBS ZXF1aXJlczogJXtuYW1lfS1saWJzJXs/X2lzYX0gPSAle3ZlcnNpb259LSV7cmVsZWFzZX0KICV7 P3dpdGhfcnVieXBpY2s6U3VnZ2VzdHM6IHJ1YnlwaWNrfQpAQCAtODA4LDYgKzgxMiw3IEBAIHBv cGQKICVwYXRjaCA2IC1wMQogJXBhdGNoIDcgLXAxCiAlcGF0Y2ggOCAtcDEKKyVwYXRjaCAxMCAt cDEKIAogIyBQcm92aWRlIGFuIGV4YW1wbGUgb2YgdXNhZ2Ugb2YgdGhlIHRhcHNldDoKIGNwIC1h ICV7U09VUkNFM30gLgpAQCAtMTk0Nyw3ICsxOTUyLDEyIEBAIG1ha2UgLUMgJXtfdnBhdGhfYnVp bGRkaXJ9IHJ1bnJ1YnkgVEVTVFJVTl9TQ1JJUFQ9IiBcCiAKIAogJWNoYW5nZWxvZwotKiBUaHUg SnVsIDE2IDIwMjYgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9q ZWN0Lm9yZz4KKyogVGh1IFNlcCAwMyAyMDI2IE1hbW9ydSBUQVNBS0EgPG10YXNha2FAZmVkb3Jh cHJvamVjdC5vcmc+IC0gNC4wLjYtMzgKKy0gQmFja3BvcnQgdXBzdHJlYW0gcGF0Y2ggdG8gdXBk YXRlIHJlc29sdiB0byAwLjcuMgorLSBSZXNvbHZlczogQ1ZFLTIwMjYtODAyMTIgKHJoYnojMjUy NzMwOCkKKy0gUmVzb2x2ZXM6IENWRS0yMDI2LTgwMjEzIChyaGJ6IzI1MjczMTApCisKKyogVGh1 IEp1bCAxNiAyMDI2IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJv amVjdC5vcmc+IC0gNC4wLjYtMzcKIC0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0 Lm9yZy93aWtpL0ZlZG9yYV80NV9NYXNzX1JlYnVpbGQKIAogKiBUdWUgSnVsIDE0IDIwMjYgTWFt b3J1IFRBU0FLQSA8bXRhc2FrYUBmZWRvcmFwcm9qZWN0Lm9yZz4gLSA0LjAuNi0zNgo=