Bug#1143148: trixie-pu: package python-aiohttp/3.11.16-1+deb13u2
Daniel Leidert <[email protected]> Fri, 31 Jul 2026 04:16:48 +0200
| Newsgroups | gmane.linux.debian.devel.release |
|---|---|
| Message-ID | <178546420831.57645.9900367798367185891.reportbug__15652.4258478143$1785465570$gmane$org@gargravarr> |
This is a multi-part MIME message sent by reportbug. --===============6953262065481897976== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline Package: release.debian.org Severity: normal Tags: trixie X-Debbugs-Cc: [email protected] Control: affects -1 + src:python-aiohttp User: [email protected] Usertags: pu -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 [ Reason ] This update adresses a list of CVEs which should either be fixed via DSA or via SPU. These are the CVEs fixed: * CVE-2025-53643 * CVE-2026-22815 * CVE-2026-34513 * CVE-2026-34514 * CVE-2026-34516 * CVE-2026-34517 * CVE-2026-34518 * CVE-2026-34519 * CVE-2026-34520 * CVE-2026-34525 * CVE-2026-34993 * CVE-2026-47265 * CVE-2026-50269 * CVE-2026-54274 * CVE-2026-54275 * CVE-2026-54277 * CVE-2026-54279 * CVE-2026-54280 [ Impact ] If the update is not applied, users will continue to be vulnerable to the issues addressed with this update. [ Tests ] I have added an autopkgtest to run the upstream tests. Whenever upstream added tests to their patchsets, I have backported them as well. All tests succeed. [ Risks ] The main risk are regressions. I have enabled the upstream tests to catch any regressions. All tests succeed, though. So the probability of regressions should be low(ered). [ Checklist ] [x] *all* changes are documented in the d/changelog [x] I reviewed all changes and I approve them [x] attach debdiff against the package in (old)stable [x] the issue is verified as fixed in unstable [ Changes ] See debian/changelog in the attached debdiff. [ Other info ] I have decided to not address CVE-2026-54273. The backport requires extensive code changes. Without them, only a questionable (IMHO) partial fix is possible. Thus, this issue is not part of the list of addressed CVEs. -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEvu1N7VVEpMA+KD3HS80FZ8KW0F0FAmpsBY8ACgkQS80FZ8KW 0F3wbg//Yqbx5e3Tq6XeYKMlpDkc0tj27t6iINNVp8nyzWH7EmiKZeBHOR4PjehC IGhYj2OXnFJMb38Ygb5hwdNHZfhQluzvEnG7XWEXhA1mOONLM7qNlwjQYh5bYtqn WyYFozps41/DhNEdh+SVN+ELm3Xqxe0LBXwoU67sXo5rsvmxhs7hv8/zTX5Ue4uv THpqg1iaqZgpc/WKpruDwlo7SUjE2+CeK3fj0Q2ckN871oMRR7hk8a0+6XcRVuTf 5s0pOoYw44oDIX1t7qSHRMNOt62Vq6Y2I4gxOfooq0gDhxihKv+bsOt4T/4OS6iI 3ebDJ8XRQtcKYCC3nIOT0LCT8eXH6xAMsuKYF4REOOmLVEq4lEcaBlNOT+Gl3s4x yhXvO4YaQzk4I1gu8aZ9xfnWR5UMoxpxAOoXlTGpFvUdO2z7+UUDodDF+ekMejPx b1flfOaS7zdzSgNftYUWx4YdqXAsCNexh9fBlKm28TQUF1r5vx5KIti/VI21oDlp gTH+fg4c2W7HEaa2ExnfGRHvLKz3Db7CMlboDb8Q7YNE6LLAVuONVLiFlAca8dMw Df9ZWmipcAVQxoPrSJMmRVOiE7cwXWtkNIG2gt3vrdI9GdJDiTAxatsd+Kj5K880 5PzDnveUQpeNaMb5wCDDcbK6Z2z69aXTgEGsFrNqwL80Gmpjja0= =j6ph -----END PGP SIGNATURE----- --===============6953262065481897976== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="python-aiohttp_3.11.16-1+deb13u2.debdiff" ZGlmZiAtTnJ1IHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL2NoYW5nZWxvZyBweXRob24t YWlvaHR0cC0zLjExLjE2L2RlYmlhbi9jaGFuZ2Vsb2cKLS0tIHB5dGhvbi1haW9odHRwLTMuMTEu MTYvZGViaWFuL2NoYW5nZWxvZwkyMDI2LTA0LTIxIDIxOjAwOjQ1LjAwMDAwMDAwMCArMDIwMAor KysgcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vY2hhbmdlbG9nCTIwMjYtMDctMzEgMDM6 NTA6MzIuMDAwMDAwMDAwICswMjAwCkBAIC0xLDMgKzEsNzAgQEAKK3B5dGhvbi1haW9odHRwICgz LjExLjE2LTErZGViMTN1MikgdHJpeGllOyB1cmdlbmN5PW1lZGl1bQorCisgICogTm9uLW1haW50 YWluZXIgdXBsb2FkIGJ5IHRoZSBEZWJpYW4gTFRTIHRlYW0uCisgICogRW5hYmxlIHVwc3RyZWFt IHRlc3RzIHZpYSBhdXRvcGtndGVzdCBhbmQgcmVjcmVhdGUgYWlvaHR0cC9faHR0cF9wYXJzZXIu YworICAgIGFuZCBhaW9odHRwL193ZWJzb2NrZXQvcmVhZGVyX2MuYyB0byBhY3R1YWxseSBhcHBs eSB0aGUgY29kZS1jaGFuZ2VzIHRvIHRoZQorICAgIHNvdXJjZSBmaWxlLiBUaGlzIGZpeGVzIG11 bHRpcGxlIHRlc3RzIGFzIHdlbGwuCisgICogZC9wYXRjaGVzL0NWRS0yMDI1LTUzNjQzLnBhdGNo OiBBZGQgcGF0Y2ggdG8gZml4IENWRS0yMDI1LTUzNjQzLgorICAgIC0gRml4IGEgcmVxdWVzdCBz bXVnZ2xpbmcgdnVsbmVyYWJpbGl0eSBkdWUgdG8gbm90IHBhcnNpbmcgdHJhaWxlciBzZWN0aW9u cworICAgICAgb2YgYW4gSFRUUCByZXF1ZXN0LgorICAqIGQvcGF0Y2hlcy9DVkUtMjAyNi0yMjgx NS5wYXRjaDogQWRkIHBhdGNoIHRvIGZpeCBDVkUtMjAyNi0yMjgxNS4KKyAgICAtIEZpeCBhbiB1 bmNhcHBlZCBtZW1vcnkgdXNhZ2UgZHVlIHRvIGluc3VmZmljaWVudCByZXN0cmljdGlvbnMgaW4g aGVhZGVyCisgICAgICBhbmQgdHJhaWxlciBoYW5kbGluZy4KKyAgKiBkL3BhdGNoZXMvQ1ZFLTIw MjYtMzQ1MTMucGF0Y2g6IEFkZCBwYXRjaCB0byBmaXggQ1ZFLTIwMjYtMzQ1MTMuCisgICAgLSBG aXggYW4gZXhjZXNzaXZlIG1lbW9yeSB1c2FnZSBwb3NzaWJseSByZXN1bHRpbmcgaW4gYSBEb1Mg ZHVlIHRvIGFuIGFuCisgICAgICB1bmJvdW5kZWQgRE5TIGNhY2hlLgorICAqIGQvcGF0Y2hlcy9D VkUtMjAyNi0zNDUxNC5wYXRjaDogQWRkIHBhdGNoIHRvIGZpeCBDVkUtMjAyNi0zNDUxNC4KKyAg ICAtIEZpeCBhIGhlYWRlciBpbmplY3Rpb24uCisgICogZC9wYXRjaGVzL0NWRS0yMDI2LTM0NTE2 LnBhdGNoOiBBZGQgcGF0Y2ggdG8gZml4IENWRS0yMDI2LTM0NTE2LgorICAgIC0gRml4IGEgcG90 ZW50aWFsIERvUyB2dWxuZXJhYmlsaXR5IGNhdXNlZCBieSBhIHJlc3BvbnNlIHdpdGggYW4gZXhj ZXNzaXZlCisgICAgICBudW1iZXIgb2YgbXVsdGlwYXJ0IGhlYWRlcnMuCisgICogZC9wYXRjaGVz L0NWRS0yMDI2LTM0NTE3LnBhdGNoOiBBZGQgcGF0Y2ggdG8gZml4IENWRS0yMDI2LTM0NTE3Lgor ICAgIC0gRml4IGEgcG9zc2libGUgZXhjZXNzaXZlIG1lbW9yeSB1c2FnZSBjYXVzZWQgYnkgc29t ZSBtdWx0aXBhcnQgZm9ybQorICAgICAgZmllbGRzIGR1ZSB0byByZWFkaW5nIHRoZSBlbnRpcnkg ZmllbGQgaW50byBtZW1vcnkgYmVmb3JlIGNoZWNraW5nCisgICAgICBjbGllbnRfbWF4X3NpemUu CisgICogZC9wYXRjaGVzL0NWRS0yMDI2LTM0NTE4LnBhdGNoOiBBZGQgcGF0Y2ggdG8gZml4IENW RS0yMDI2LTM0NTE4LgorICAgIC0gRml4IGxlYWtpbmcgc2Vuc2l0aXZlIGluZm9ybWF0aW9uIGJ5 IGRyb3BwaW5nIHRoZSBDb29raWUgYW5kIHRoZQorICAgICAgUHJveHktQXV0aG9yaXphdGlvbiBo ZWFkZXJzIFdoZW4gZm9sbG93aW5nIHJlZGlyZWN0cyB0byBhIGRpZmZlcmVudAorICAgICAgb3Jp Z2luLgorICAqIGQvcGF0Y2hlcy9DVkUtMjAyNi0zNDUxOS5wYXRjaDogQWRkIHBhdGNoIHRvIGZp eCBDVkUtMjAyNi0zNDUxOS4KKyAgICAtIEZpeCBhIGhlYWRlciBpbmplY3Rpb24gdmlhIHRoZSBy ZWFzb24gcGFyYW1ldGVyLgorICAqIGQvcGF0Y2hlcy9DVkUtMjAyNi0zNDUyMC5wYXRjaDogQWRk IHBhdGNoIHRvIGZpeCBDVkUtMjAyNi0zNDUyMC4KKyAgICAtIEZpeCBhIHBvc3NpYmxlIHNlY3Vy aXR5IGJ5cGFzcyBieSBjaGVja2luZyBoZWFkZXIgdmFsdWVzIGZvciBjb250cm9sCisgICAgICBj aGFyYWN0ZXJzIGFjY29yZGluZ2x5IHRvIFJGQyA5MTEwLgorICAqIGQvcGF0Y2hlcy9DVkUtMjAy Ni0zNDUyNS0xLnBhdGNoLCBkL3BhdGNoZXMvQ1ZFLTIwMjYtMzQ1MjUtMi5wYXRjaDogQWRkCisg ICAgcGF0Y2hlcyB0byBmaXggQ1ZFLTIwMjYtMzQ1MjUuCisgICAgLSBEaXNhbGxvdyBkdXBsaWNh dGUgaGVhZGVycywgbGlrZSBob3N0IGhlYWRlcnMsIGV4Y2VwdCBmb3IgaW4gbGF4IG1vZGUuCisg ICogZC9wYXRjaGVzL0NWRS0yMDI2LTM0OTkzLnBhdGNoOiBBZGQgcGF0Y2ggdG8gZml4IENWRS0y MDI2LTM0OTkzLgorICAgIC0gRml4IGFuIGFyYml0cmFyeSBjb2RlIGV4ZWN1dGlvbiB2dWxuZXJh YmlsaXR5IHdoZW4gdXNpbmcgQ29va2llSmFyLmxvYWQoKQorICAgICAgd2l0aCB1bnRydXN0ZWQg aW5wdXQgKGNsb3NlczogIzExMzg3ODEpLgorICAqIGQvcGF0Y2hlcy9DVkUtMjAyNi00NzI2NS5w YXRjaDogQWRkIHBhdGNoIHRvIGZpeCBDVkUtMjAyNi00NzI2NS4KKyAgICAtIEZpeCBhIHBvc3Np YmxlIGRhdGEgbGVhayAoY2xvc2VzOiAjMTEzODc4MCkuCisgICogZC9wYXRjaGVzL0NWRS0yMDI2 LTUwMjY5LnBhdGNoOiBBZGQgcGF0Y2ggdG8gZml4IENWRS0yMDI2LTUwMjY5LgorICAgIC0gRml4 IGEgcG9zc2libGUgaGVhZGVyIGluamVjdGlvbi4gQW4gYXR0YWNrZXItY29udHJvbGxlZCBpbnB1 dCBpbmNsdWRlZAorICAgICAgaW50byBtdWx0aXBhcnQvcGF5bG9hZCBoZWFkZXJzIGNhbiBiZSB1 c2VkIHRvIG1vZGlmeSBhIHJlcXVlc3QgdG8gaW5qZWN0CisgICAgICBhZGRpdGlvbmFsIGhlYWRl cnMgb3Igc2ltaWxhci4KKyAgKiBkL3BhdGNoZXMvQ1ZFLTIwMjYtNTQyNzQucGF0Y2g6IEFkZCBw YXRjaCB0byBmaXggQ1ZFLTIwMjYtNTQyNzQuCisgICAgLSBGaXggYW4gaXNzdWUgd2hlcmUgYW4g YXR0YWNrZXIgc2VuZHMgbGFyZ2UgaW5jb21wbGV0ZSB3ZWJzb2NrZXQgZnJhbWUKKyAgICAgIHBh eWxvYWRzIGFuZCBieXBhc3NlcyB0aGUgdXN1YWwgc2l6ZSBsaW1pdHMgb24gbWVtb3J5IHVzZS4K KyAgKiBkL3BhdGNoZXMvQ1ZFLTIwMjYtNTQyNzUucGF0Y2g6IEFkZCBwYXRjaCB0byBmaXggQ1ZF LTIwMjYtNTQyNzUuCisgICAgLSBGaXggYW4gaXNzdWUgd2hlcmUgaWYgYW4gYXBwbGljYXRpb24g bWFrZXMgbXVsdGlwbGUgcmVxdWVzdHMgdG8gdGhlIHNhbWUKKyAgICAgIGRvbWFpbiwgYnV0IHdp dGggZGlmZmVyZW50IHBlci1yZXF1ZXN0IHNlcnZlcl9ob3N0bmFtZSBwYXJhbWV0ZXJzLCB0aGVu CisgICAgICB0aGUgbGF0ZXIgY2FsbHMgbWF5IHN1Y2NlZWQgYnkgcmV1c2luZyB0aGUgZXhpc3Rp bmcgY29ubmVjdGlvbiB3aGVuIHRoZXkKKyAgICAgIHNob3VsZCBoYXZlIGJlZW4gcmVqZWN0ZWQg ZHVlIHRvIHRoZSBUTFMgU05JIGNoZWNrLgorICAqIGQvcGF0Y2hlcy9DVkUtMjAyNi01NDI3Ny5w YXRjaDogQWRkIHBhdGNoIHRvIGZpeCBDVkUtMjAyNi01NDI3Ny4KKyAgICAtIEZpeCBhbiBpc3N1 ZSB3aGVyZSBhbiBhdHRhY2tlciBtYXkgYmUgYWJsZSB0byBzZW5kIG92ZXJzaXplZCBsaW5lcwor ICAgICAgdGhyb3VnaCB0aGUgSFRUUCBwYXJzZXIgYW5kIHVzZSBhbiBleGNlc3NpdmUgYW1vdW50 IG9mIG1lbW9yeSwKKyAgICAgIHBvdGVudGlhbGx5IGxlYWRpbmcgdG8gRG9TLgorICAqIGQvcGF0 Y2hlcy9DVkUtMjAyNi01NDI3OS5wYXRjaDogQWRkIHBhdGNoIHRvIGZpeCBDVkUtMjAyNi01NDI3 OS4KKyAgICAtIEZpeCBhbiBpc3N1ZSB3aGVyZSBob3N0LW9ubHkgY29va2llcyB0aGF0IGFyZSBz YXZlZCB3aXRoIENvb2tpZUphci5zYXZlKCkKKyAgICAgIGFuZCB0aGVuIGxhdGVyIHJlc3RvcmVk IHdpdGggQ29va2llSmFyLmxvYWQoKSBsb3NlIHRoZWlyIGhvc3Qtb25seQorICAgICAgc3RhdHVz LgorICAqIGQvcGF0Y2hlcy9DVkUtMjAyNi01NDI4MC5wYXRjaDogQWRkIHBhdGNoIHRvIGZpeCBD VkUtMjAyNi01NDI4MC4KKyAgICAtIEZpeCBhIHBvc3NpYmxlIHJlc291cmNlIHN0YXJ2YXRpb24g Y2F1c2VkIHdoZW4gcGF5bG9hZCByZXNvdXJjZXMgYXJlIG5vdAorICAgICAgY2xvc2VkIGNvcnJl Y3RseSB3aGVuIGEgY2xpZW50IGRpc2Nvbm5lY3RzIGluIHRoZSBtaWRkbGUgb2YgYSB3cml0ZS4K KworIC0tIERhbmllbCBMZWlkZXJ0IDxkbGVpZGVydEBkZWJpYW4ub3JnPiAgRnJpLCAzMSBKdWwg MjAyNiAwMzo1MDozMiArMDIwMAorCiBweXRob24tYWlvaHR0cCAoMy4xMS4xNi0xK2RlYjEzdTEp IHRyaXhpZS1zZWN1cml0eTsgdXJnZW5jeT1tZWRpdW0KIAogICAqIENWRS0yMDI1LTY5MjIzCmRp ZmYgLU5ydSBweXRob24tYWlvaHR0cC0zLjExLjE2L2RlYmlhbi9nYnAuY29uZiBweXRob24tYWlv aHR0cC0zLjExLjE2L2RlYmlhbi9nYnAuY29uZgotLS0gcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9k ZWJpYW4vZ2JwLmNvbmYJMjAyNS0wNC0wNSAxNDo0NDowNC4wMDAwMDAwMDAgKzAyMDAKKysrIHB5 dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL2dicC5jb25mCTIwMjYtMDctMzEgMDM6NTA6MzIu MDAwMDAwMDAwICswMjAwCkBAIC0xLDIgKzEsMyBAQAogW0RFRkFVTFRdCitkZWJpYW4tYnJhbmNo ID0gZGViaWFuL3RyaXhpZQogcHJpc3RpbmUtdGFyID0gVHJ1ZQpkaWZmIC1OcnUgcHl0aG9uLWFp b2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNS01MzY0My5wYXRjaCBweXRob24t YWlvaHR0cC0zLjExLjE2L2RlYmlhbi9wYXRjaGVzL0NWRS0yMDI1LTUzNjQzLnBhdGNoCi0tLSBw eXRob24tYWlvaHR0cC0zLjExLjE2L2RlYmlhbi9wYXRjaGVzL0NWRS0yMDI1LTUzNjQzLnBhdGNo CTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKyBweXRob24tYWlvaHR0cC0z LjExLjE2L2RlYmlhbi9wYXRjaGVzL0NWRS0yMDI1LTUzNjQzLnBhdGNoCTIwMjYtMDctMzEgMDM6 NTA6MzIuMDAwMDAwMDAwICswMjAwCkBAIC0wLDAgKzEsNTEyIEBACitGcm9tOiBTYW0gQnVsbCA8 Z2l0QHNhbWJ1bGwub3JnPgorRGF0ZTogV2VkLCA5IEp1bCAyMDI1IDE5OjU1OjIyICswMTAwCitT dWJqZWN0OiBBZGQgdHJhaWxlciBwYXJzaW5nIGxvZ2ljICgjMTEyNjkpICgjMTEyODcpCisKKyhj aGVycnkgcGlja2VkIGZyb20gY29tbWl0IDdkZDRiNTUzNWU2YmY5YzJkMmYwNWZkZTYzODUxN2Jm ZjA2NWJhNzQpCisKK1Jldmlld2VkLUJ5OiBEYW5pZWwgTGVpZGVydCA8ZGxlaWRlcnRAZGViaWFu Lm9yZz4KK09yaWdpbjogaHR0cHM6Ly9naXRodWIuY29tL2Fpby1saWJzL2Fpb2h0dHAvY29tbWl0 L2U4ZDc3NGY2MzVkYzZkMWNkMzE3NGQwZTM4ODkxZGE1ZGUwZTJiNmEKK0J1ZzogaHR0cHM6Ly9n aXRodWIuY29tL2Fpby1saWJzL2Fpb2h0dHAvc2VjdXJpdHkvYWR2aXNvcmllcy9HSFNBLTk1NDgt cXJyai14NXBqCitCdWctRGViaWFuLVNlY3VyaXR5OiBodHRwczovL3NlY3VyaXR5LXRyYWNrZXIu ZGViaWFuLm9yZy90cmFja2VyL0NWRS0yMDI1LTUzNjQzCitCdWctRnJlZXhpYW4tU2VjdXJpdHk6 IGh0dHBzOi8vZGViLmZyZWV4aWFuLmNvbS9leHRlbmRlZC1sdHMvdHJhY2tlci9DVkUtMjAyNS01 MzY0MworLS0tCisgYWlvaHR0cC9odHRwX3BhcnNlci5weSAgICB8ICA3MCArKysrKysrKysrKy0t LS0tLS0tLS0tCisgYWlvaHR0cC9tdWx0aXBhcnQucHkgICAgICB8ICAgMiArLQorIHRlc3RzL3Rl c3RfaHR0cF9wYXJzZXIucHkgfCAxNDggKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorIDMgZmlsZXMgY2hhbmdlZCwgOTkgaW5zZXJ0aW9ucygrKSwgMTIxIGRl bGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYWlvaHR0cC9odHRwX3BhcnNlci5weSBiL2Fpb2h0 dHAvaHR0cF9wYXJzZXIucHkKK2luZGV4IDk2YjlmMzQuLjZkNzZhYzIgMTAwNjQ0CistLS0gYS9h aW9odHRwL2h0dHBfcGFyc2VyLnB5CisrKysgYi9haW9odHRwL2h0dHBfcGFyc2VyLnB5CitAQCAt MTQzLDggKzE0Myw4IEBAIGNsYXNzIEhlYWRlcnNQYXJzZXI6CisgICAgICAgICAjIG5vdGU6ICJy YXciIGRvZXMgbm90IG1lYW4gaW5jbHVzaW9uIG9mIE9XUyBiZWZvcmUvYWZ0ZXIgdGhlIGZpZWxk IHZhbHVlCisgICAgICAgICByYXdfaGVhZGVycyA9IFtdCisgCistICAgICAgICBsaW5lc19pZHgg PSAxCistICAgICAgICBsaW5lID0gbGluZXNbMV0KKysgICAgICAgIGxpbmVzX2lkeCA9IDAKKysg ICAgICAgIGxpbmUgPSBsaW5lc1tsaW5lc19pZHhdCisgICAgICAgICBsaW5lX2NvdW50ID0gbGVu KGxpbmVzKQorIAorICAgICAgICAgd2hpbGUgbGluZToKK0BAIC00MDMsNiArNDAzLDcgQEAgY2xh c3MgSHR0cFBhcnNlcihhYmMuQUJDLCBHZW5lcmljW19Nc2dUXSk6CisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICByZXNwb25zZV93aXRoX2JvZHk9c2VsZi5yZXNwb25zZV93aXRoX2Jv ZHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvX2RlY29tcHJlc3M9c2Vs Zi5fYXV0b19kZWNvbXByZXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF4 PXNlbGYubGF4LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyc19wYXJz ZXI9c2VsZi5faGVhZGVyc19wYXJzZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgbm90IHBheWxvYWRfcGFyc2VyLmRvbmU6 CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9wYXlsb2FkX3BhcnNlciA9 IHBheWxvYWRfcGFyc2VyCitAQCAtNDIxLDYgKzQyMiw3IEBAIGNsYXNzIEh0dHBQYXJzZXIoYWJj LkFCQywgR2VuZXJpY1tfTXNnVF0pOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y29tcHJlc3Npb249bXNnLmNvbXByZXNzaW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYXV0b19kZWNvbXByZXNzPXNlbGYuX2F1dG9fZGVjb21wcmVzcywKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGxheD1zZWxmLmxheCwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGhlYWRlcnNfcGFyc2VyPXNlbGYuX2hlYWRlcnNfcGFyc2VyLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgICAgICAgICAgZWxpZiBu b3QgZW1wdHlfYm9keSBhbmQgbGVuZ3RoIGlzIE5vbmUgYW5kIHNlbGYucmVhZF91bnRpbF9lb2Y6 CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBheWxvYWQgPSBTdHJlYW1SZWFkZXIoCitA QCAtNDM5LDYgKzQ0MSw3IEBAIGNsYXNzIEh0dHBQYXJzZXIoYWJjLkFCQywgR2VuZXJpY1tfTXNn VF0pOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2Vfd2l0aF9ib2R5 PXNlbGYucmVzcG9uc2Vfd2l0aF9ib2R5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYXV0b19kZWNvbXByZXNzPXNlbGYuX2F1dG9fZGVjb21wcmVzcywKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGxheD1zZWxmLmxheCwKKysgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGhlYWRlcnNfcGFyc2VyPXNlbGYuX2hlYWRlcnNfcGFyc2VyLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIG5v dCBwYXlsb2FkX3BhcnNlci5kb25lOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c2VsZi5fcGF5bG9hZF9wYXJzZXIgPSBwYXlsb2FkX3BhcnNlcgorQEAgLTQ3Niw2ICs0NzksMTAg QEAgY2xhc3MgSHR0cFBhcnNlcihhYmMuQUJDLCBHZW5lcmljW19Nc2dUXSk6CisgCisgICAgICAg ICAgICAgICAgICAgICBlb2YgPSBUcnVlCisgICAgICAgICAgICAgICAgICAgICBkYXRhID0gYiIi CisrICAgICAgICAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKAorKyAgICAgICAgICAgICAgICAg ICAgICAgIHVuZGVybHlpbmdfZXhjLCAoSW52YWxpZEhlYWRlciwgVHJhbnNmZXJFbmNvZGluZ0Vy cm9yKQorKyAgICAgICAgICAgICAgICAgICAgKToKKysgICAgICAgICAgICAgICAgICAgICAgICBy YWlzZQorIAorICAgICAgICAgICAgICAgICBpZiBlb2Y6CisgICAgICAgICAgICAgICAgICAgICBz dGFydF9wb3MgPSAwCitAQCAtNjM2LDcgKzY0Myw3IEBAIGNsYXNzIEh0dHBSZXF1ZXN0UGFyc2Vy KEh0dHBQYXJzZXJbUmF3UmVxdWVzdE1lc3NhZ2VdKToKKyAgICAgICAgICAgICBjb21wcmVzc2lv biwKKyAgICAgICAgICAgICB1cGdyYWRlLAorICAgICAgICAgICAgIGNodW5rZWQsCistICAgICAg ICApID0gc2VsZi5wYXJzZV9oZWFkZXJzKGxpbmVzKQorKyAgICAgICAgKSA9IHNlbGYucGFyc2Vf aGVhZGVycyhsaW5lc1sxOl0pCisgCisgICAgICAgICBpZiBjbG9zZSBpcyBOb25lOiAgIyB0aGVu IHRoZSBoZWFkZXJzIHdlcmVuJ3Qgc2V0IGluIHRoZSByZXF1ZXN0CisgICAgICAgICAgICAgaWYg dmVyc2lvbl9vIDw9IEh0dHBWZXJzaW9uMTA6ICAjIEhUVFAgMS4wIG11c3QgYXNrcyB0byBub3Qg Y2xvc2UKK0BAIC03MjQsNyArNzMxLDcgQEAgY2xhc3MgSHR0cFJlc3BvbnNlUGFyc2VyKEh0dHBQ YXJzZXJbUmF3UmVzcG9uc2VNZXNzYWdlXSk6CisgICAgICAgICAgICAgY29tcHJlc3Npb24sCisg ICAgICAgICAgICAgdXBncmFkZSwKKyAgICAgICAgICAgICBjaHVua2VkLAorLSAgICAgICAgKSA9 IHNlbGYucGFyc2VfaGVhZGVycyhsaW5lcykKKysgICAgICAgICkgPSBzZWxmLnBhcnNlX2hlYWRl cnMobGluZXNbMTpdKQorIAorICAgICAgICAgaWYgY2xvc2UgaXMgTm9uZToKKyAgICAgICAgICAg ICBpZiB2ZXJzaW9uX28gPD0gSHR0cFZlcnNpb24xMDoKK0BAIC03NjcsNiArNzc0LDggQEAgY2xh c3MgSHR0cFBheWxvYWRQYXJzZXI6CisgICAgICAgICByZXNwb25zZV93aXRoX2JvZHk6IGJvb2wg PSBUcnVlLAorICAgICAgICAgYXV0b19kZWNvbXByZXNzOiBib29sID0gVHJ1ZSwKKyAgICAgICAg IGxheDogYm9vbCA9IEZhbHNlLAorKyAgICAgICAgKiwKKysgICAgICAgIGhlYWRlcnNfcGFyc2Vy OiBIZWFkZXJzUGFyc2VyLAorICAgICApIC0+IE5vbmU6CisgICAgICAgICBzZWxmLl9sZW5ndGgg PSAwCisgICAgICAgICBzZWxmLl90eXBlID0gUGFyc2VTdGF0ZS5QQVJTRV9VTlRJTF9FT0YKK0BA IC03NzUsNiArNzg0LDggQEAgY2xhc3MgSHR0cFBheWxvYWRQYXJzZXI6CisgICAgICAgICBzZWxm Ll9jaHVua190YWlsID0gYiIiCisgICAgICAgICBzZWxmLl9hdXRvX2RlY29tcHJlc3MgPSBhdXRv X2RlY29tcHJlc3MKKyAgICAgICAgIHNlbGYuX2xheCA9IGxheAorKyAgICAgICAgc2VsZi5faGVh ZGVyc19wYXJzZXIgPSBoZWFkZXJzX3BhcnNlcgorKyAgICAgICAgc2VsZi5fdHJhaWxlcl9saW5l czogbGlzdFtieXRlc10gPSBbXQorICAgICAgICAgc2VsZi5kb25lID0gRmFsc2UKKyAKKyAgICAg ICAgICMgcGF5bG9hZCBkZWNvbXByZXNzaW9uIHdyYXBwZXIKK0BAIC04NTEsNyArODYyLDcgQEAg Y2xhc3MgSHR0cFBheWxvYWRQYXJzZXI6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNp emVfYiA9IGNodW5rWzppXSAgIyBzdHJpcCBjaHVuay1leHRlbnNpb25zCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICMgVmVyaWZ5IG5vIExGIGluIHRoZSBjaHVuay1leHRlbnNpb24KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgYiJcbiIgaW4gKGV4dCA6PSBjaHVua1tpOnBv c10pOgorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjID0gQmFkSHR0cE1lc3Nh Z2UoCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGMgPSBUcmFuc2ZlckVuY29k aW5nRXJyb3IoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZiJVbmV4cGVj dGVkIExGIGluIGNodW5rLWV4dGVuc2lvbjoge2V4dCFyfSIKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldF9leGNl cHRpb24oc2VsZi5wYXlsb2FkLCBleGMpCitAQCAtODcyLDcgKzg4Myw3IEBAIGNsYXNzIEh0dHBQ YXlsb2FkUGFyc2VyOgorIAorICAgICAgICAgICAgICAgICAgICAgICAgIGNodW5rID0gY2h1bmtb cG9zICsgbGVuKFNFUCkgOl0KKyAgICAgICAgICAgICAgICAgICAgICAgICBpZiBzaXplID09IDA6 ICAjIGVvZiBtYXJrZXIKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fY2h1bmsg PSBDaHVua1N0YXRlLlBBUlNFX01BWUJFX1RSQUlMRVJTCisrICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNlbGYuX2NodW5rID0gQ2h1bmtTdGF0ZS5QQVJTRV9UUkFJTEVSUworICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpZiBzZWxmLl9sYXggYW5kIGNodW5rLnN0YXJ0c3dpdGgoYiJc ciIpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2h1bmsgPSBjaHVua1sxOl0K KyAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlOgorQEAgLTkxMCwzOCArOTIxLDMxIEBAIGNs YXNzIEh0dHBQYXlsb2FkUGFyc2VyOgorICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2No dW5rX3RhaWwgPSBjaHVuaworICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZSwg YiIiCisgCistICAgICAgICAgICAgICAgICMgaWYgc3RyZWFtIGRvZXMgbm90IGNvbnRhaW4gdHJh aWxlciwgYWZ0ZXIgMFxyXG4KKy0gICAgICAgICAgICAgICAgIyB3ZSBzaG91bGQgZ2V0IGFub3Ro ZXIgXHJcbiBvdGhlcndpc2UKKy0gICAgICAgICAgICAgICAgIyB0cmFpbGVycyBuZWVkcyB0byBi ZSBza2lwcGVkIHVudGlsIFxyXG5cclxuCistICAgICAgICAgICAgICAgIGlmIHNlbGYuX2NodW5r ID09IENodW5rU3RhdGUuUEFSU0VfTUFZQkVfVFJBSUxFUlM6CistICAgICAgICAgICAgICAgICAg ICBoZWFkID0gY2h1bmtbOiBsZW4oU0VQKV0KKy0gICAgICAgICAgICAgICAgICAgIGlmIGhlYWQg PT0gU0VQOgorLSAgICAgICAgICAgICAgICAgICAgICAgICMgZW5kIG9mIHN0cmVhbQorLSAgICAg ICAgICAgICAgICAgICAgICAgIHNlbGYucGF5bG9hZC5mZWVkX2VvZigpCistICAgICAgICAgICAg ICAgICAgICAgICAgcmV0dXJuIFRydWUsIGNodW5rW2xlbihTRVApIDpdCistICAgICAgICAgICAg ICAgICAgICAjIEJvdGggQ1IgYW5kIExGLCBvciBvbmx5IExGIG1heSBub3QgYmUgcmVjZWl2ZWQg eWV0LiBJdCBpcworLSAgICAgICAgICAgICAgICAgICAgIyBleHBlY3RlZCB0aGF0IENSTEYgb3Ig TEYgd2lsbCBiZSBzaG93biBhdCB0aGUgdmVyeSBmaXJzdAorLSAgICAgICAgICAgICAgICAgICAg IyBieXRlIG5leHQgdGltZSwgb3RoZXJ3aXNlIHRyYWlsZXJzIHNob3VsZCBjb21lLiBUaGUgbGFz dAorLSAgICAgICAgICAgICAgICAgICAgIyBDUkxGIHdoaWNoIG1hcmtzIHRoZSBlbmQgb2YgcmVz cG9uc2UgbWlnaHQgbm90IGJlCistICAgICAgICAgICAgICAgICAgICAjIGNvbnRhaW5lZCBpbiB0 aGUgc2FtZSBUQ1Agc2VnbWVudCB3aGljaCBkZWxpdmVyZWQgdGhlCistICAgICAgICAgICAgICAg ICAgICAjIHNpemUgaW5kaWNhdG9yLgorLSAgICAgICAgICAgICAgICAgICAgaWYgbm90IGhlYWQ6 CistICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlLCBiIiIKKy0gICAgICAgICAg ICAgICAgICAgIGlmIGhlYWQgPT0gU0VQWzoxXToKKy0gICAgICAgICAgICAgICAgICAgICAgICBz ZWxmLl9jaHVua190YWlsID0gaGVhZAorLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBG YWxzZSwgYiIiCistICAgICAgICAgICAgICAgICAgICBzZWxmLl9jaHVuayA9IENodW5rU3RhdGUu UEFSU0VfVFJBSUxFUlMKKy0KKy0gICAgICAgICAgICAgICAgIyByZWFkIGFuZCBkaXNjYXJkIHRy YWlsZXIgdXAgdG8gdGhlIENSTEYgdGVybWluYXRvcgorICAgICAgICAgICAgICAgICBpZiBzZWxm Ll9jaHVuayA9PSBDaHVua1N0YXRlLlBBUlNFX1RSQUlMRVJTOgorICAgICAgICAgICAgICAgICAg ICAgcG9zID0gY2h1bmsuZmluZChTRVApCistICAgICAgICAgICAgICAgICAgICBpZiBwb3MgPj0g MDoKKy0gICAgICAgICAgICAgICAgICAgICAgICBjaHVuayA9IGNodW5rW3BvcyArIGxlbihTRVAp IDpdCistICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fY2h1bmsgPSBDaHVua1N0YXRlLlBB UlNFX01BWUJFX1RSQUlMRVJTCistICAgICAgICAgICAgICAgICAgICBlbHNlOgorKyAgICAgICAg ICAgICAgICAgICAgaWYgcG9zIDwgMDogICMgTm8gbGluZSBmb3VuZAorICAgICAgICAgICAgICAg ICAgICAgICAgIHNlbGYuX2NodW5rX3RhaWwgPSBjaHVuaworICAgICAgICAgICAgICAgICAgICAg ICAgIHJldHVybiBGYWxzZSwgYiIiCisgCisrICAgICAgICAgICAgICAgICAgICBsaW5lID0gY2h1 bmtbOnBvc10KKysgICAgICAgICAgICAgICAgICAgIGNodW5rID0gY2h1bmtbcG9zICsgbGVuKFNF UCkgOl0KKysgICAgICAgICAgICAgICAgICAgIGlmIFNFUCA9PSBiIlxuIjogICMgRm9yIGxheCBy ZXNwb25zZSBwYXJzaW5nCisrICAgICAgICAgICAgICAgICAgICAgICAgbGluZSA9IGxpbmUucnN0 cmlwKGIiXHIiKQorKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fdHJhaWxlcl9saW5lcy5hcHBl bmQobGluZSkKKysKKysgICAgICAgICAgICAgICAgICAgICMgXHJcblxyXG4gZm91bmQsIGVuZCBv ZiBzdHJlYW0KKysgICAgICAgICAgICAgICAgICAgIGlmIHNlbGYuX3RyYWlsZXJfbGluZXNbLTFd ID09IGIiIjoKKysgICAgICAgICAgICAgICAgICAgICAgICAjIEhlYWRlcnMgYW5kIHRyYWlsZXJz IGFyZSBkZWZpbmVkIHRoZSBzYW1lIHdheSwKKysgICAgICAgICAgICAgICAgICAgICAgICAjIHNv IHdlIHJldXNlIHRoZSBIZWFkZXJzUGFyc2VyIGhlcmUuCisrICAgICAgICAgICAgICAgICAgICAg ICAgdHJ5OgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFpbGVycywgcmF3X3RyYWls ZXJzID0gc2VsZi5faGVhZGVyc19wYXJzZXIucGFyc2VfaGVhZGVycygKKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHNlbGYuX3RyYWlsZXJfbGluZXMKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKQorKyAgICAgICAgICAgICAgICAgICAgICAgIGZpbmFsbHk6CisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3RyYWlsZXJfbGluZXMuY2xlYXIoKQorKyAgICAg ICAgICAgICAgICAgICAgICAgIHNlbGYucGF5bG9hZC5mZWVkX2VvZigpCisrICAgICAgICAgICAg ICAgICAgICAgICAgcmV0dXJuIFRydWUsIGNodW5rCisrCisgICAgICAgICAjIFJlYWQgYWxsIGJ5 dGVzIHVudGlsIGVvZgorICAgICAgICAgZWxpZiBzZWxmLl90eXBlID09IFBhcnNlU3RhdGUuUEFS U0VfVU5USUxfRU9GOgorICAgICAgICAgICAgIHNlbGYucGF5bG9hZC5mZWVkX2RhdGEoY2h1bmss IGxlbihjaHVuaykpCitkaWZmIC0tZ2l0IGEvYWlvaHR0cC9tdWx0aXBhcnQucHkgYi9haW9odHRw L211bHRpcGFydC5weQoraW5kZXggYTI0ZDNlNS4uYWNlZTk5NyAxMDA2NDQKKy0tLSBhL2Fpb2h0 dHAvbXVsdGlwYXJ0LnB5CisrKysgYi9haW9odHRwL211bHRpcGFydC5weQorQEAgLTc3Miw3ICs3 NzIsNyBAQCBjbGFzcyBNdWx0aXBhcnRSZWFkZXI6CisgICAgICAgICAgICAgcmFpc2UgVmFsdWVF cnJvcihmIkludmFsaWQgYm91bmRhcnkge2NodW5rIXJ9LCBleHBlY3RlZCB7c2VsZi5fYm91bmRh cnkhcn0iKQorIAorICAgICBhc3luYyBkZWYgX3JlYWRfaGVhZGVycyhzZWxmKSAtPiAiQ0lNdWx0 aURpY3RQcm94eVtzdHJdIjoKKy0gICAgICAgIGxpbmVzID0gW2IiIl0KKysgICAgICAgIGxpbmVz ID0gW10KKyAgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICAgY2h1bmsgPSBhd2FpdCBz ZWxmLl9jb250ZW50LnJlYWRsaW5lKCkKKyAgICAgICAgICAgICBjaHVuayA9IGNodW5rLnN0cmlw KCkKK2RpZmYgLS1naXQgYS90ZXN0cy90ZXN0X2h0dHBfcGFyc2VyLnB5IGIvdGVzdHMvdGVzdF9o dHRwX3BhcnNlci5weQoraW5kZXggMWY2YzRiYy4uMzUyYjFmOCAxMDA2NDQKKy0tLSBhL3Rlc3Rz L3Rlc3RfaHR0cF9wYXJzZXIucHkKKysrKyBiL3Rlc3RzL3Rlc3RfaHR0cF9wYXJzZXIucHkKK0BA IC0xOCw2ICsxOCw3IEBAIGZyb20gYWlvaHR0cC5iYXNlX3Byb3RvY29sIGltcG9ydCBCYXNlUHJv dG9jb2wKKyBmcm9tIGFpb2h0dHAuaHR0cF9wYXJzZXIgaW1wb3J0ICgKKyAgICAgTk9fRVhURU5T SU9OUywKKyAgICAgRGVmbGF0ZUJ1ZmZlciwKKysgICAgSGVhZGVyc1BhcnNlciwKKyAgICAgSHR0 cFBheWxvYWRQYXJzZXIsCisgICAgIEh0dHBSZXF1ZXN0UGFyc2VyLAorICAgICBIdHRwUmVxdWVz dFBhcnNlclB5LAorQEAgLTI0NSw0MSArMjQ2LDEzIEBAIGRlZiB0ZXN0X2NvbnRlbnRfbGVuZ3Ro X3RyYW5zZmVyX2VuY29kaW5nKHBhcnNlcjogQW55KSAtPiBOb25lOgorICAgICAgICAgcGFyc2Vy LmZlZWRfZGF0YSh0ZXh0KQorIAorIAorLWRlZiB0ZXN0X2JhZF9jaHVua2VkX3B5KGxvb3A6IEFu eSwgcHJvdG9jb2w6IEFueSkgLT4gTm9uZToKKytkZWYgdGVzdF9iYWRfY2h1bmtlZChwYXJzZXI6 IEh0dHBSZXF1ZXN0UGFyc2VyKSAtPiBOb25lOgorICAgICAiIiJUZXN0IHRoYXQgaW52YWxpZCBj aHVua2VkIGVuY29kaW5nIGRvZXNuJ3QgYWxsb3cgY29udGVudC1sZW5ndGggdG8gYmUgdXNlZC4i IiIKKy0gICAgcGFyc2VyID0gSHR0cFJlcXVlc3RQYXJzZXJQeSgKKy0gICAgICAgIHByb3RvY29s LAorLSAgICAgICAgbG9vcCwKKy0gICAgICAgIDIqKjE2LAorLSAgICAgICAgbWF4X2xpbmVfc2l6 ZT04MTkwLAorLSAgICAgICAgbWF4X2ZpZWxkX3NpemU9ODE5MCwKKy0gICAgKQorLSAgICB0ZXh0 ID0gKAorLSAgICAgICAgYiJHRVQgLyBIVFRQLzEuMVxyXG5Ib3N0OiBhXHJcblRyYW5zZmVyLUVu Y29kaW5nOiBjaHVua2VkXHJcblxyXG4wXzJlXHJcblxyXG4iCistICAgICAgICArIGIiR0VUIC8g SFRUUC8xLjFcclxuSG9zdDogYVxyXG5Db250ZW50LUxlbmd0aDogNVxyXG5cclxuMFxyXG5cclxu IgorLSAgICApCistICAgIG1lc3NhZ2VzLCB1cGdyYWRlLCB0YWlsID0gcGFyc2VyLmZlZWRfZGF0 YSh0ZXh0KQorLSAgICBhc3NlcnQgaXNpbnN0YW5jZShtZXNzYWdlc1swXVsxXS5leGNlcHRpb24o KSwgaHR0cF9leGNlcHRpb25zLlRyYW5zZmVyRW5jb2RpbmdFcnJvcikKKy0KKy0KKy1AcHl0ZXN0 Lm1hcmsuc2tpcGlmKAorLSAgICAiSHR0cFJlcXVlc3RQYXJzZXJDIiBub3QgaW4gZGlyKGFpb2h0 dHAuaHR0cF9wYXJzZXIpLAorLSAgICByZWFzb249IkMgYmFzZWQgSFRUUCBwYXJzZXIgbm90IGF2 YWlsYWJsZSIsCistKQorLWRlZiB0ZXN0X2JhZF9jaHVua2VkX2MobG9vcDogQW55LCBwcm90b2Nv bDogQW55KSAtPiBOb25lOgorLSAgICAiIiJDIHBhcnNlciBiZWhhdmVzIGRpZmZlcmVudGx5LiBN YXliZSB3ZSBzaG91bGQgYWxpZ24gdGhlbSBsYXRlci4iIiIKKy0gICAgcGFyc2VyID0gSHR0cFJl cXVlc3RQYXJzZXJDKAorLSAgICAgICAgcHJvdG9jb2wsCistICAgICAgICBsb29wLAorLSAgICAg ICAgMioqMTYsCistICAgICAgICBtYXhfbGluZV9zaXplPTgxOTAsCistICAgICAgICBtYXhfZmll bGRfc2l6ZT04MTkwLAorLSAgICApCisgICAgIHRleHQgPSAoCisgICAgICAgICBiIkdFVCAvIEhU VFAvMS4xXHJcbkhvc3Q6IGFcclxuVHJhbnNmZXItRW5jb2Rpbmc6IGNodW5rZWRcclxuXHJcbjBf MmVcclxuXHJcbiIKKyAgICAgICAgICsgYiJHRVQgLyBIVFRQLzEuMVxyXG5Ib3N0OiBhXHJcbkNv bnRlbnQtTGVuZ3RoOiA1XHJcblxyXG4wXHJcblxyXG4iCisgICAgICkKKy0gICAgd2l0aCBweXRl c3QucmFpc2VzKGh0dHBfZXhjZXB0aW9ucy5CYWRIdHRwTWVzc2FnZSk6CisrICAgIHdpdGggcHl0 ZXN0LnJhaXNlcyhodHRwX2V4Y2VwdGlvbnMuQmFkSHR0cE1lc3NhZ2UsIG1hdGNoPSIwXzJlIik6 CisgICAgICAgICBwYXJzZXIuZmVlZF9kYXRhKHRleHQpCisgCisgCitAQCAtMTE4OCw4ICsxMTYx LDggQEAgYXN5bmMgZGVmIHRlc3RfaHR0cF9yZXNwb25zZV9wYXJzZXJfYmFkX2NodW5rZWRfc3Ry aWN0X3B5KGxvb3AsIHByb3RvY29sKSAtPiBOb24KKyAgICAgdGV4dCA9ICgKKyAgICAgICAgIGIi SFRUUC8xLjEgMjAwIE9LXHJcblRyYW5zZmVyLUVuY29kaW5nOiBjaHVua2VkXHJcblxyXG41IFxy XG5hYmNkZVxyXG4wXHJcblxyXG4iCisgICAgICkKKy0gICAgbWVzc2FnZXMsIHVwZ3JhZGUsIHRh aWwgPSByZXNwb25zZS5mZWVkX2RhdGEodGV4dCkKKy0gICAgYXNzZXJ0IGlzaW5zdGFuY2UobWVz c2FnZXNbMF1bMV0uZXhjZXB0aW9uKCksIGh0dHBfZXhjZXB0aW9ucy5UcmFuc2ZlckVuY29kaW5n RXJyb3IpCisrICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhodHRwX2V4Y2VwdGlvbnMuVHJhbnNmZXJF bmNvZGluZ0Vycm9yLCBtYXRjaD0iNSIpOgorKyAgICAgICAgcmVzcG9uc2UuZmVlZF9kYXRhKHRl eHQpCisgCisgCisgQHB5dGVzdC5tYXJrLmRldl9tb2RlCitAQCAtMTMyOSw3ICsxMzAyLDI3IEBA IGRlZiB0ZXN0X3BhcnNlX2NodW5rZWRfcGF5bG9hZF9jaHVua19leHRlbnNpb24ocGFyc2VyKSAt PiBOb25lOgorICAgICBhc3NlcnQgcGF5bG9hZC5pc19lb2YoKQorIAorIAorLWRlZiB0ZXN0X3Bh cnNlX25vX2xlbmd0aF9vcl90ZV9vbl9wb3N0KGxvb3A6IEFueSwgcHJvdG9jb2w6IEFueSwgcmVx dWVzdF9jbHM6IEFueSk6CisrYXN5bmMgZGVmIHRlc3RfcmVxdWVzdF9jaHVua2VkX3dpdGhfdHJh aWxlcihwYXJzZXI6IEh0dHBSZXF1ZXN0UGFyc2VyKSAtPiBOb25lOgorKyAgICB0ZXh0ID0gYiJH RVQgL3Rlc3QgSFRUUC8xLjFcclxuVHJhbnNmZXItRW5jb2Rpbmc6IGNodW5rZWRcclxuXHJcbjRc clxudGVzdFxyXG4wXHJcbnRlc3Q6IHRyYWlsZXJcclxuc2Vjb25kOiB0ZXN0IHRyYWlsZXJcclxu XHJcbiIKKysgICAgbWVzc2FnZXMsIHVwZ3JhZGVkLCB0YWlsID0gcGFyc2VyLmZlZWRfZGF0YSh0 ZXh0KQorKyAgICBhc3NlcnQgbm90IHRhaWwKKysgICAgbXNnLCBwYXlsb2FkID0gbWVzc2FnZXNb MF0KKysgICAgYXNzZXJ0IGF3YWl0IHBheWxvYWQucmVhZCgpID09IGIidGVzdCIKKysKKysgICAg IyBUT0RPOiBBZGQgYXNzZXJ0aW9uIG9mIHRyYWlsZXJzIHdoZW4gQVBJIGFkZGVkLgorKworKwor K2FzeW5jIGRlZiB0ZXN0X3JlcXVlc3RfY2h1bmtlZF9yZWplY3RfYmFkX3RyYWlsZXIocGFyc2Vy OiBIdHRwUmVxdWVzdFBhcnNlcikgLT4gTm9uZToKKysgICAgdGV4dCA9IGIiR0VUIC90ZXN0IEhU VFAvMS4xXHJcblRyYW5zZmVyLUVuY29kaW5nOiBjaHVua2VkXHJcblxyXG4wXHJcbmJhZFxudHJh aWxlclxyXG5cclxuIgorKyAgICB3aXRoIHB5dGVzdC5yYWlzZXMoaHR0cF9leGNlcHRpb25zLkJh ZEh0dHBNZXNzYWdlLCBtYXRjaD1yImInYmFkXFxudHJhaWxlciciKToKKysgICAgICAgIHBhcnNl ci5mZWVkX2RhdGEodGV4dCkKKysKKysKKytkZWYgdGVzdF9wYXJzZV9ub19sZW5ndGhfb3JfdGVf b25fcG9zdCgKKysgICAgbG9vcDogYXN5bmNpby5BYnN0cmFjdEV2ZW50TG9vcCwKKysgICAgcHJv dG9jb2w6IEJhc2VQcm90b2NvbCwKKysgICAgcmVxdWVzdF9jbHM6IHR5cGVbSHR0cFJlcXVlc3RQ YXJzZXJdLAorKykgLT4gTm9uZToKKyAgICAgcGFyc2VyID0gcmVxdWVzdF9jbHMocHJvdG9jb2ws IGxvb3AsIGxpbWl0PTIqKjE2KQorICAgICB0ZXh0ID0gYiJQT1NUIC90ZXN0IEhUVFAvMS4xXHJc blxyXG4iCisgICAgIG1zZywgcGF5bG9hZCA9IHBhcnNlci5mZWVkX2RhdGEodGV4dClbMF1bMF0K K0BAIC0xNTEyLDE5ICsxNTA1LDEwIEBAIGFzeW5jIGRlZiB0ZXN0X3BhcnNlX2NodW5rZWRfcGF5 bG9hZF9zcGxpdF9jaHVua3MocmVzcG9uc2U6IEFueSkgLT4gTm9uZToKKyAgICAgYXNzZXJ0IGF3 YWl0IHJlYWRlci5yZWFkKCkgPT0gYiJmaXJzdHNlY29uZCIKKyAKKyAKKy1AcHl0ZXN0Lm1hcmsu c2tpcGlmKE5PX0VYVEVOU0lPTlMsIHJlYXNvbj0iT25seSB0ZXN0cyBDIHBhcnNlci4iKQorLWFz eW5jIGRlZiB0ZXN0X3BhcnNlX2NodW5rZWRfcGF5bG9hZF93aXRoX2xmX2luX2V4dGVuc2lvbnNf Y19wYXJzZXIoCistICAgIGxvb3A6IGFzeW5jaW8uQWJzdHJhY3RFdmVudExvb3AsIHByb3RvY29s OiBCYXNlUHJvdG9jb2wKKythc3luYyBkZWYgdGVzdF9wYXJzZV9jaHVua2VkX3BheWxvYWRfd2l0 aF9sZl9pbl9leHRlbnNpb25zKAorKyAgICBwYXJzZXI6IEh0dHBSZXF1ZXN0UGFyc2VyLAorICkg LT4gTm9uZToKKy0gICAgIiIiVGVzdCB0aGUgQy1wYXJzZXIgd2l0aCBhIGNodW5rZWQgcGF5bG9h ZCB0aGF0IGhhcyBhIExGIGluIHRoZSBjaHVuayBleHRlbnNpb25zLiIiIgorLSAgICAjIFRoZSBD IHBhcnNlciB3aWxsIHJhaXNlIGEgQmFkSHR0cE1lc3NhZ2UgZnJvbSBmZWVkX2RhdGEKKy0gICAg cGFyc2VyID0gSHR0cFJlcXVlc3RQYXJzZXJDKAorLSAgICAgICAgcHJvdG9jb2wsCistICAgICAg ICBsb29wLAorLSAgICAgICAgMioqMTYsCistICAgICAgICBtYXhfbGluZV9zaXplPTgxOTAsCist ICAgICAgICBtYXhfZmllbGRfc2l6ZT04MTkwLAorLSAgICApCisrICAgICIiIlRlc3QgY2h1bmtl ZCBwYXlsb2FkIHRoYXQgaGFzIGEgTEYgaW4gdGhlIGNodW5rIGV4dGVuc2lvbnMuIiIiCisgICAg IHBheWxvYWQgPSAoCisgICAgICAgICBiIkdFVCAvIEhUVFAvMS4xXHJcbkhvc3Q6IGxvY2FsaG9z dDo1MDAxXHJcbiIKKyAgICAgICAgIGIiVHJhbnNmZXItRW5jb2Rpbmc6IGNodW5rZWRcclxuXHJc bjI7XG54eFxyXG40Y1xyXG4wXHJcblxyXG4iCitAQCAtMTUzNSwzMSArMTUxOSw2IEBAIGFzeW5j IGRlZiB0ZXN0X3BhcnNlX2NodW5rZWRfcGF5bG9hZF93aXRoX2xmX2luX2V4dGVuc2lvbnNfY19w YXJzZXIoCisgICAgICAgICBwYXJzZXIuZmVlZF9kYXRhKHBheWxvYWQpCisgCisgCistYXN5bmMg ZGVmIHRlc3RfcGFyc2VfY2h1bmtlZF9wYXlsb2FkX3dpdGhfbGZfaW5fZXh0ZW5zaW9uc19weV9w YXJzZXIoCistICAgIGxvb3A6IGFzeW5jaW8uQWJzdHJhY3RFdmVudExvb3AsIHByb3RvY29sOiBC YXNlUHJvdG9jb2wKKy0pIC0+IE5vbmU6CistICAgICIiIlRlc3QgdGhlIHB5LXBhcnNlciB3aXRo IGEgY2h1bmtlZCBwYXlsb2FkIHRoYXQgaGFzIGEgTEYgaW4gdGhlIGNodW5rIGV4dGVuc2lvbnMu IiIiCistICAgICMgVGhlIHB5IHBhcnNlciB3aWxsIG5vdCByYWlzZSB0aGUgQmFkSHR0cE1lc3Nh Z2UgZGlyZWN0bHksIGJ1dCBpbnN0ZWFkCistICAgICMgaXQgd2lsbCBzZXQgdGhlIGV4Y2VwdGlv biBvbiB0aGUgU3RyZWFtUmVhZGVyLgorLSAgICBwYXJzZXIgPSBIdHRwUmVxdWVzdFBhcnNlclB5 KAorLSAgICAgICAgcHJvdG9jb2wsCistICAgICAgICBsb29wLAorLSAgICAgICAgMioqMTYsCist ICAgICAgICBtYXhfbGluZV9zaXplPTgxOTAsCistICAgICAgICBtYXhfZmllbGRfc2l6ZT04MTkw LAorLSAgICApCistICAgIHBheWxvYWQgPSAoCistICAgICAgICBiIkdFVCAvIEhUVFAvMS4xXHJc bkhvc3Q6IGxvY2FsaG9zdDo1MDAxXHJcbiIKKy0gICAgICAgIGIiVHJhbnNmZXItRW5jb2Rpbmc6 IGNodW5rZWRcclxuXHJcbjI7XG54eFxyXG40Y1xyXG4wXHJcblxyXG4iCistICAgICAgICBiIkdF VCAvYWRtaW4gSFRUUC8xLjFcclxuSG9zdDogbG9jYWxob3N0OjUwMDFcclxuIgorLSAgICAgICAg YiJUcmFuc2Zlci1FbmNvZGluZzogY2h1bmtlZFxyXG5cclxuMFxyXG5cclxuIgorLSAgICApCist ICAgIG1lc3NhZ2VzLCBfLCBfID0gcGFyc2VyLmZlZWRfZGF0YShwYXlsb2FkKQorLSAgICByZWFk ZXIgPSBtZXNzYWdlc1swXVsxXQorLSAgICBhc3NlcnQgaXNpbnN0YW5jZShyZWFkZXIuZXhjZXB0 aW9uKCksIGh0dHBfZXhjZXB0aW9ucy5CYWRIdHRwTWVzc2FnZSkKKy0gICAgYXNzZXJ0ICJcXG54 eCIgaW4gc3RyKHJlYWRlci5leGNlcHRpb24oKSkKKy0KKy0KKyBkZWYgdGVzdF9wYXJ0aWFsX3Vy bChwYXJzZXI6IEh0dHBSZXF1ZXN0UGFyc2VyKSAtPiBOb25lOgorICAgICBtZXNzYWdlcywgdXBn cmFkZSwgdGFpbCA9IHBhcnNlci5mZWVkX2RhdGEoYiJHRVQgL3RlIikKKyAgICAgYXNzZXJ0IGxl bihtZXNzYWdlcykgPT0gMAorQEAgLTE2NDYsNyArMTYwNSw3IEBAIGRlZiB0ZXN0X3BhcnNlX2Jh ZF9tZXRob2RfZm9yX2NfcGFyc2VyX3JhaXNlcyhsb29wLCBwcm90b2NvbCk6CisgY2xhc3MgVGVz dFBhcnNlUGF5bG9hZDoKKyAgICAgYXN5bmMgZGVmIHRlc3RfcGFyc2VfZW9mX3BheWxvYWQoc2Vs ZiwgcHJvdG9jb2w6IEJhc2VQcm90b2NvbCkgLT4gTm9uZToKKyAgICAgICAgIG91dCA9IGFpb2h0 dHAuU3RyZWFtUmVhZGVyKHByb3RvY29sLCAyKioxNiwgbG9vcD1hc3luY2lvLmdldF9ydW5uaW5n X2xvb3AoKSkKKy0gICAgICAgIHAgPSBIdHRwUGF5bG9hZFBhcnNlcihvdXQpCisrICAgICAgICBw ID0gSHR0cFBheWxvYWRQYXJzZXIob3V0LCBoZWFkZXJzX3BhcnNlcj1IZWFkZXJzUGFyc2VyKCkp CisgICAgICAgICBwLmZlZWRfZGF0YShiImRhdGEiKQorICAgICAgICAgcC5mZWVkX2VvZigpCisg CitAQCAtMTY1Niw3ICsxNjE1LDcgQEAgY2xhc3MgVGVzdFBhcnNlUGF5bG9hZDoKKyAgICAgYXN5 bmMgZGVmIHRlc3RfcGFyc2VfbGVuZ3RoX3BheWxvYWRfZW9mKHNlbGYsIHByb3RvY29sOiBCYXNl UHJvdG9jb2wpIC0+IE5vbmU6CisgICAgICAgICBvdXQgPSBhaW9odHRwLlN0cmVhbVJlYWRlcihw cm90b2NvbCwgMioqMTYsIGxvb3A9YXN5bmNpby5nZXRfcnVubmluZ19sb29wKCkpCisgCistICAg ICAgICBwID0gSHR0cFBheWxvYWRQYXJzZXIob3V0LCBsZW5ndGg9NCkKKysgICAgICAgIHAgPSBI dHRwUGF5bG9hZFBhcnNlcihvdXQsIGxlbmd0aD00LCBoZWFkZXJzX3BhcnNlcj1IZWFkZXJzUGFy c2VyKCkpCisgICAgICAgICBwLmZlZWRfZGF0YShiImRhIikKKyAKKyAgICAgICAgIHdpdGggcHl0 ZXN0LnJhaXNlcyhodHRwX2V4Y2VwdGlvbnMuQ29udGVudExlbmd0aEVycm9yKToKK0BAIC0xNjY2 LDcgKzE2MjUsNyBAQCBjbGFzcyBUZXN0UGFyc2VQYXlsb2FkOgorICAgICAgICAgc2VsZiwgcHJv dG9jb2w6IEJhc2VQcm90b2NvbAorICAgICApIC0+IE5vbmU6CisgICAgICAgICBvdXQgPSBhaW9o dHRwLlN0cmVhbVJlYWRlcihwcm90b2NvbCwgMioqMTYsIGxvb3A9YXN5bmNpby5nZXRfcnVubmlu Z19sb29wKCkpCistICAgICAgICBwID0gSHR0cFBheWxvYWRQYXJzZXIob3V0LCBjaHVua2VkPVRy dWUpCisrICAgICAgICBwID0gSHR0cFBheWxvYWRQYXJzZXIob3V0LCBjaHVua2VkPVRydWUsIGhl YWRlcnNfcGFyc2VyPUhlYWRlcnNQYXJzZXIoKSkKKyAgICAgICAgIHdpdGggcHl0ZXN0LnJhaXNl cyhodHRwX2V4Y2VwdGlvbnMuVHJhbnNmZXJFbmNvZGluZ0Vycm9yKToKKyAgICAgICAgICAgICBw LmZlZWRfZGF0YShiImJsYWhcclxuIikKKyAgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKG91dC5l eGNlcHRpb24oKSwgaHR0cF9leGNlcHRpb25zLlRyYW5zZmVyRW5jb2RpbmdFcnJvcikKK0BAIC0x Njc1LDcgKzE2MzQsNyBAQCBjbGFzcyBUZXN0UGFyc2VQYXlsb2FkOgorICAgICAgICAgc2VsZiwg cHJvdG9jb2w6IEJhc2VQcm90b2NvbAorICAgICApIC0+IE5vbmU6CisgICAgICAgICBvdXQgPSBh aW9odHRwLlN0cmVhbVJlYWRlcihwcm90b2NvbCwgMioqMTYsIGxvb3A9YXN5bmNpby5nZXRfcnVu bmluZ19sb29wKCkpCistICAgICAgICBwID0gSHR0cFBheWxvYWRQYXJzZXIob3V0LCBjaHVua2Vk PVRydWUpCisrICAgICAgICBwID0gSHR0cFBheWxvYWRQYXJzZXIob3V0LCBjaHVua2VkPVRydWUs IGhlYWRlcnNfcGFyc2VyPUhlYWRlcnNQYXJzZXIoKSkKKyAgICAgICAgIHAuZmVlZF9kYXRhKGIi NFxyXG5hc2RmXHJcbjBcclxuIikKKyAgICAgICAgIHAuZmVlZF9kYXRhKGIiXHJcbiIpCisgCitA QCAtMTY4Niw3ICsxNjQ1LDcgQEAgY2xhc3MgVGVzdFBhcnNlUGF5bG9hZDoKKyAgICAgICAgIHNl bGYsIHByb3RvY29sOiBCYXNlUHJvdG9jb2wKKyAgICAgKSAtPiBOb25lOgorICAgICAgICAgb3V0 ID0gYWlvaHR0cC5TdHJlYW1SZWFkZXIocHJvdG9jb2wsIDIqKjE2LCBsb29wPWFzeW5jaW8uZ2V0 X3J1bm5pbmdfbG9vcCgpKQorLSAgICAgICAgcCA9IEh0dHBQYXlsb2FkUGFyc2VyKG91dCwgY2h1 bmtlZD1UcnVlKQorKyAgICAgICAgcCA9IEh0dHBQYXlsb2FkUGFyc2VyKG91dCwgY2h1bmtlZD1U cnVlLCBoZWFkZXJzX3BhcnNlcj1IZWFkZXJzUGFyc2VyKCkpCisgICAgICAgICBwLmZlZWRfZGF0 YShiIjRcclxuYXNkZlxyXG4wXHJcblxyIikKKyAgICAgICAgIHAuZmVlZF9kYXRhKGIiXG4iKQor IAorQEAgLTE2OTcsNyArMTY1Niw3IEBAIGNsYXNzIFRlc3RQYXJzZVBheWxvYWQ6CisgICAgICAg ICBzZWxmLCBwcm90b2NvbDogQmFzZVByb3RvY29sCisgICAgICkgLT4gTm9uZToKKyAgICAgICAg IG91dCA9IGFpb2h0dHAuU3RyZWFtUmVhZGVyKHByb3RvY29sLCAyKioxNiwgbG9vcD1hc3luY2lv LmdldF9ydW5uaW5nX2xvb3AoKSkKKy0gICAgICAgIHAgPSBIdHRwUGF5bG9hZFBhcnNlcihvdXQs IGNodW5rZWQ9VHJ1ZSkKKysgICAgICAgIHAgPSBIdHRwUGF5bG9hZFBhcnNlcihvdXQsIGNodW5r ZWQ9VHJ1ZSwgaGVhZGVyc19wYXJzZXI9SGVhZGVyc1BhcnNlcigpKQorICAgICAgICAgcC5mZWVk X2RhdGEoYiI0XHJcbmFzZGZcclxuMFxyXG4iKQorICAgICAgICAgcC5mZWVkX2RhdGEoYiJDb250 ZW50LU1ENTogOTEyZWM4MDNiMmNlNDllNGE1NDEwNjhkNDk1YWI1NzBcclxuIikKKyAgICAgICAg IHAuZmVlZF9kYXRhKGIiXHJcbiIpCitAQCAtMTcwOSw3ICsxNjY4LDcgQEAgY2xhc3MgVGVzdFBh cnNlUGF5bG9hZDoKKyAgICAgICAgIHNlbGYsIHByb3RvY29sOiBCYXNlUHJvdG9jb2wKKyAgICAg KSAtPiBOb25lOgorICAgICAgICAgb3V0ID0gYWlvaHR0cC5TdHJlYW1SZWFkZXIocHJvdG9jb2ws IDIqKjE2LCBsb29wPWFzeW5jaW8uZ2V0X3J1bm5pbmdfbG9vcCgpKQorLSAgICAgICAgcCA9IEh0 dHBQYXlsb2FkUGFyc2VyKG91dCwgY2h1bmtlZD1UcnVlKQorKyAgICAgICAgcCA9IEh0dHBQYXls b2FkUGFyc2VyKG91dCwgY2h1bmtlZD1UcnVlLCBoZWFkZXJzX3BhcnNlcj1IZWFkZXJzUGFyc2Vy KCkpCisgICAgICAgICBwLmZlZWRfZGF0YShiIjRcclxuYXNkZlxyXG4wXHJcbiIpCisgICAgICAg ICBwLmZlZWRfZGF0YShiIkNvbnRlbnQtTUQ1OiA5MTJlYzgwM2IyY2U0OWU0YTU0MTA2OGQ0OTVh YjU3MFxyXG5cciIpCisgICAgICAgICBwLmZlZWRfZGF0YShiIlxuIikKK0BAIC0xNzIxLDcgKzE2 ODAsNyBAQCBjbGFzcyBUZXN0UGFyc2VQYXlsb2FkOgorICAgICAgICAgc2VsZiwgcHJvdG9jb2w6 IEJhc2VQcm90b2NvbAorICAgICApIC0+IE5vbmU6CisgICAgICAgICBvdXQgPSBhaW9odHRwLlN0 cmVhbVJlYWRlcihwcm90b2NvbCwgMioqMTYsIGxvb3A9YXN5bmNpby5nZXRfcnVubmluZ19sb29w KCkpCistICAgICAgICBwID0gSHR0cFBheWxvYWRQYXJzZXIob3V0LCBjaHVua2VkPVRydWUpCisr ICAgICAgICBwID0gSHR0cFBheWxvYWRQYXJzZXIob3V0LCBjaHVua2VkPVRydWUsIGhlYWRlcnNf cGFyc2VyPUhlYWRlcnNQYXJzZXIoKSkKKyAgICAgICAgIHAuZmVlZF9kYXRhKGIiNFxyXG5hc2Rm XHJcbjBcclxuQ29udGVudC1NRDU6ICIpCisgICAgICAgICBwLmZlZWRfZGF0YShiIjkxMmVjODAz YjJjZTQ5ZTRhNTQxMDY4ZDQ5NWFiNTcwXHJcblxyXG4iKQorIAorQEAgLTE3MzIsNyArMTY5MSw3 IEBAIGNsYXNzIFRlc3RQYXJzZVBheWxvYWQ6CisgICAgICAgICBzZWxmLCBwcm90b2NvbDogQmFz ZVByb3RvY29sCisgICAgICkgLT4gTm9uZToKKyAgICAgICAgIG91dCA9IGFpb2h0dHAuU3RyZWFt UmVhZGVyKHByb3RvY29sLCAyKioxNiwgbG9vcD1hc3luY2lvLmdldF9ydW5uaW5nX2xvb3AoKSkK Ky0gICAgICAgIHAgPSBIdHRwUGF5bG9hZFBhcnNlcihvdXQsIGNodW5rZWQ9VHJ1ZSkKKysgICAg ICAgIHAgPSBIdHRwUGF5bG9hZFBhcnNlcihvdXQsIGNodW5rZWQ9VHJ1ZSwgaGVhZGVyc19wYXJz ZXI9SGVhZGVyc1BhcnNlcigpKQorICAgICAgICAgcC5mZWVkX2RhdGEoYiI0XHJcbmFzZGZcclxu MFxyXG5DIikKKyAgICAgICAgIHAuZmVlZF9kYXRhKGIib250ZW50LU1ENTogOTEyZWM4MDNiMmNl NDllNGE1NDEwNjhkNDk1YWI1NzBcclxuXHJcbiIpCisgCitAQCAtMTc0MSw3ICsxNzAwLDcgQEAg Y2xhc3MgVGVzdFBhcnNlUGF5bG9hZDoKKyAKKyAgICAgYXN5bmMgZGVmIHRlc3RfaHR0cF9wYXls b2FkX3BhcnNlcl9sZW5ndGgoc2VsZiwgcHJvdG9jb2w6IEJhc2VQcm90b2NvbCkgLT4gTm9uZToK KyAgICAgICAgIG91dCA9IGFpb2h0dHAuU3RyZWFtUmVhZGVyKHByb3RvY29sLCAyKioxNiwgbG9v cD1hc3luY2lvLmdldF9ydW5uaW5nX2xvb3AoKSkKKy0gICAgICAgIHAgPSBIdHRwUGF5bG9hZFBh cnNlcihvdXQsIGxlbmd0aD0yKQorKyAgICAgICAgcCA9IEh0dHBQYXlsb2FkUGFyc2VyKG91dCwg bGVuZ3RoPTIsIGhlYWRlcnNfcGFyc2VyPUhlYWRlcnNQYXJzZXIoKSkKKyAgICAgICAgIGVvZiwg dGFpbCA9IHAuZmVlZF9kYXRhKGIiMTI0NSIpCisgICAgICAgICBhc3NlcnQgZW9mCisgCitAQCAt MTc1NCw3ICsxNzEzLDkgQEAgY2xhc3MgVGVzdFBhcnNlUGF5bG9hZDoKKyAKKyAgICAgICAgIGxl bmd0aCA9IGxlbihDT01QUkVTU0VEKQorICAgICAgICAgb3V0ID0gYWlvaHR0cC5TdHJlYW1SZWFk ZXIocHJvdG9jb2wsIDIqKjE2LCBsb29wPWFzeW5jaW8uZ2V0X3J1bm5pbmdfbG9vcCgpKQorLSAg ICAgICAgcCA9IEh0dHBQYXlsb2FkUGFyc2VyKG91dCwgbGVuZ3RoPWxlbmd0aCwgY29tcHJlc3Np b249ImRlZmxhdGUiKQorKyAgICAgICAgcCA9IEh0dHBQYXlsb2FkUGFyc2VyKAorKyAgICAgICAg ICAgIG91dCwgbGVuZ3RoPWxlbmd0aCwgY29tcHJlc3Npb249ImRlZmxhdGUiLCBoZWFkZXJzX3Bh cnNlcj1IZWFkZXJzUGFyc2VyKCkKKysgICAgICAgICkKKyAgICAgICAgIHAuZmVlZF9kYXRhKENP TVBSRVNTRUQpCisgICAgICAgICBhc3NlcnQgYiJkYXRhIiA9PSBvdXQuX2J1ZmZlclswXQorICAg ICAgICAgYXNzZXJ0IG91dC5pc19lb2YoKQorQEAgLTE3NjgsNyArMTcyOSw5IEBAIGNsYXNzIFRl c3RQYXJzZVBheWxvYWQ6CisgCisgICAgICAgICBsZW5ndGggPSBsZW4oQ09NUFJFU1NFRCkKKyAg ICAgICAgIG91dCA9IGFpb2h0dHAuU3RyZWFtUmVhZGVyKHByb3RvY29sLCAyKioxNiwgbG9vcD1h c3luY2lvLmdldF9ydW5uaW5nX2xvb3AoKSkKKy0gICAgICAgIHAgPSBIdHRwUGF5bG9hZFBhcnNl cihvdXQsIGxlbmd0aD1sZW5ndGgsIGNvbXByZXNzaW9uPSJkZWZsYXRlIikKKysgICAgICAgIHAg PSBIdHRwUGF5bG9hZFBhcnNlcigKKysgICAgICAgICAgICBvdXQsIGxlbmd0aD1sZW5ndGgsIGNv bXByZXNzaW9uPSJkZWZsYXRlIiwgaGVhZGVyc19wYXJzZXI9SGVhZGVyc1BhcnNlcigpCisrICAg ICAgICApCisgICAgICAgICBwLmZlZWRfZGF0YShDT01QUkVTU0VEKQorICAgICAgICAgYXNzZXJ0 IGIiZGF0YSIgPT0gb3V0Ll9idWZmZXJbMF0KKyAgICAgICAgIGFzc2VydCBvdXQuaXNfZW9mKCkK K0BAIC0xNzgxLDcgKzE3NDQsOSBAQCBjbGFzcyBUZXN0UGFyc2VQYXlsb2FkOgorIAorICAgICAg ICAgbGVuZ3RoID0gbGVuKENPTVBSRVNTRUQpCisgICAgICAgICBvdXQgPSBhaW9odHRwLlN0cmVh bVJlYWRlcihwcm90b2NvbCwgMioqMTYsIGxvb3A9YXN5bmNpby5nZXRfcnVubmluZ19sb29wKCkp CistICAgICAgICBwID0gSHR0cFBheWxvYWRQYXJzZXIob3V0LCBsZW5ndGg9bGVuZ3RoLCBjb21w cmVzc2lvbj0iZGVmbGF0ZSIpCisrICAgICAgICBwID0gSHR0cFBheWxvYWRQYXJzZXIoCisrICAg ICAgICAgICAgb3V0LCBsZW5ndGg9bGVuZ3RoLCBjb21wcmVzc2lvbj0iZGVmbGF0ZSIsIGhlYWRl cnNfcGFyc2VyPUhlYWRlcnNQYXJzZXIoKQorKyAgICAgICAgKQorICAgICAgICAgcC5mZWVkX2Rh dGEoQ09NUFJFU1NFRCkKKyAKKyAgICAgICAgIGFzc2VydCBiImRhdGEiID09IG91dC5fYnVmZmVy WzBdCitAQCAtMTc5MSw3ICsxNzU2LDkgQEAgY2xhc3MgVGVzdFBhcnNlUGF5bG9hZDoKKyAgICAg ICAgIHNlbGYsIHByb3RvY29sOiBCYXNlUHJvdG9jb2wKKyAgICAgKSAtPiBOb25lOgorICAgICAg ICAgb3V0ID0gYWlvaHR0cC5TdHJlYW1SZWFkZXIocHJvdG9jb2wsIDIqKjE2LCBsb29wPWFzeW5j aW8uZ2V0X3J1bm5pbmdfbG9vcCgpKQorLSAgICAgICAgcCA9IEh0dHBQYXlsb2FkUGFyc2VyKG91 dCwgY29tcHJlc3Npb249ImRlZmxhdGUiKQorKyAgICAgICAgcCA9IEh0dHBQYXlsb2FkUGFyc2Vy KAorKyAgICAgICAgICAgIG91dCwgY29tcHJlc3Npb249ImRlZmxhdGUiLCBoZWFkZXJzX3BhcnNl cj1IZWFkZXJzUGFyc2VyKCkKKysgICAgICAgICkKKyAgICAgICAgICMgRmVlZGluZyBvbmUgY29y cmVjdCBieXRlIHNob3VsZCBiZSBlbm91Z2ggdG8gY2hvb3NlIGV4YWN0CisgICAgICAgICAjIGRl ZmxhdGUgZGVjb21wcmVzc29yCisgICAgICAgICBwLmZlZWRfZGF0YShiIngiKQorQEAgLTE4MDMs NyArMTc3MCw5IEBAIGNsYXNzIFRlc3RQYXJzZVBheWxvYWQ6CisgICAgICAgICBzZWxmLCBwcm90 b2NvbDogQmFzZVByb3RvY29sCisgICAgICkgLT4gTm9uZToKKyAgICAgICAgIG91dCA9IGFpb2h0 dHAuU3RyZWFtUmVhZGVyKHByb3RvY29sLCAyKioxNiwgbG9vcD1hc3luY2lvLmdldF9ydW5uaW5n X2xvb3AoKSkKKy0gICAgICAgIHAgPSBIdHRwUGF5bG9hZFBhcnNlcihvdXQsIGNvbXByZXNzaW9u PSJkZWZsYXRlIikKKysgICAgICAgIHAgPSBIdHRwUGF5bG9hZFBhcnNlcigKKysgICAgICAgICAg ICBvdXQsIGNvbXByZXNzaW9uPSJkZWZsYXRlIiwgaGVhZGVyc19wYXJzZXI9SGVhZGVyc1BhcnNl cigpCisrICAgICAgICApCisgICAgICAgICAjIEZlZWRpbmcgb25lIHdyb25nIGJ5dGUgc2hvdWxk IGJlIGVub3VnaCB0byBjaG9vc2UgZXhhY3QKKyAgICAgICAgICMgZGVmbGF0ZSBkZWNvbXByZXNz b3IKKyAgICAgICAgIHAuZmVlZF9kYXRhKGIiSyIpCitAQCAtMTgxNSw3ICsxNzg0LDcgQEAgY2xh c3MgVGVzdFBhcnNlUGF5bG9hZDoKKyAgICAgICAgIHNlbGYsIHByb3RvY29sOiBCYXNlUHJvdG9j b2wKKyAgICAgKSAtPiBOb25lOgorICAgICAgICAgb3V0ID0gYWlvaHR0cC5TdHJlYW1SZWFkZXIo cHJvdG9jb2wsIDIqKjE2LCBsb29wPWFzeW5jaW8uZ2V0X3J1bm5pbmdfbG9vcCgpKQorLSAgICAg ICAgcCA9IEh0dHBQYXlsb2FkUGFyc2VyKG91dCwgbGVuZ3RoPTApCisrICAgICAgICBwID0gSHR0 cFBheWxvYWRQYXJzZXIob3V0LCBsZW5ndGg9MCwgaGVhZGVyc19wYXJzZXI9SGVhZGVyc1BhcnNl cigpKQorICAgICAgICAgYXNzZXJ0IHAuZG9uZQorICAgICAgICAgYXNzZXJ0IG91dC5pc19lb2Yo KQorIAorQEAgLTE4MjMsNyArMTc5MiwxMiBAQCBjbGFzcyBUZXN0UGFyc2VQYXlsb2FkOgorICAg ICBhc3luYyBkZWYgdGVzdF9odHRwX3BheWxvYWRfYnJvdGxpKHNlbGYsIHByb3RvY29sOiBCYXNl UHJvdG9jb2wpIC0+IE5vbmU6CisgICAgICAgICBjb21wcmVzc2VkID0gYnJvdGxpLmNvbXByZXNz KGIiYnJvdGxpIGRhdGEiKQorICAgICAgICAgb3V0ID0gYWlvaHR0cC5TdHJlYW1SZWFkZXIocHJv dG9jb2wsIDIqKjE2LCBsb29wPWFzeW5jaW8uZ2V0X3J1bm5pbmdfbG9vcCgpKQorLSAgICAgICAg cCA9IEh0dHBQYXlsb2FkUGFyc2VyKG91dCwgbGVuZ3RoPWxlbihjb21wcmVzc2VkKSwgY29tcHJl c3Npb249ImJyIikKKysgICAgICAgIHAgPSBIdHRwUGF5bG9hZFBhcnNlcigKKysgICAgICAgICAg ICBvdXQsCisrICAgICAgICAgICAgbGVuZ3RoPWxlbihjb21wcmVzc2VkKSwKKysgICAgICAgICAg ICBjb21wcmVzc2lvbj0iYnIiLAorKyAgICAgICAgICAgIGhlYWRlcnNfcGFyc2VyPUhlYWRlcnNQ YXJzZXIoKSwKKysgICAgICAgICkKKyAgICAgICAgIHAuZmVlZF9kYXRhKGNvbXByZXNzZWQpCisg ICAgICAgICBhc3NlcnQgYiJicm90bGkgZGF0YSIgPT0gb3V0Ll9idWZmZXJbMF0KKyAgICAgICAg IGFzc2VydCBvdXQuaXNfZW9mKCkKZGlmZiAtTnJ1IHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGVi aWFuL3BhdGNoZXMvQ1ZFLTIwMjYtMjI4MTUucGF0Y2ggcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9k ZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi0yMjgxNS5wYXRjaAotLS0gcHl0aG9uLWFpb2h0dHAtMy4x MS4xNi9kZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi0yMjgxNS5wYXRjaAkxOTcwLTAxLTAxIDAxOjAw OjAwLjAwMDAwMDAwMCArMDEwMAorKysgcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0 Y2hlcy9DVkUtMjAyNi0yMjgxNS5wYXRjaAkyMDI2LTA3LTMxIDAzOjUwOjMyLjAwMDAwMDAwMCAr MDIwMApAQCAtMCwwICsxLDk5NyBAQAorRnJvbTogU2FtIEJ1bGwgPGdpdEBzYW1idWxsLm9yZz4K K0RhdGU6IE1vbiwgMTIgSmFuIDIwMjYgMTg6NDk6MTkgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0g QWRkIG1heF9oZWFkZXJzIHBhcmFtZXRlciAoIzExOTU1KSAoIzExOTU5KSAoIzExOTYwKQorCiso Y2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBlZDY0NDBjYTQ5ZWY0OTA3YWI5ZDk5YmE3ZTMyOWFh YjcwMmI3MTczKQorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMzBlYzI1ZjhhNThjNWRjM2Y4 ZmRiM2VlYzMxZjU1NWVlYWFiZDMwYSkKKworUmV2aWV3ZWQtQnk6IERhbmllbCBMZWlkZXJ0IDxk bGVpZGVydEBkZWJpYW4ub3JnPgorT3JpZ2luOiBodHRwczovL2dpdGh1Yi5jb20vYWlvLWxpYnMv YWlvaHR0cC9jb21taXQvMGMyZTlkYTUxMTI2MjM4YTQyMTU2OGViN2M1YjUzZTViNWQxN2IzNgor T3JpZ2luOiBodHRwczovL2dpdGh1Yi5jb20vYWlvLWxpYnMvYWlvaHR0cC9jb21taXQvYjI4MmZm OWZlOGViOTM0ZDEzMmRiNjQ2N2E4ZTJmN2RiNjgwOWI3YworQnVnOiBodHRwczovL2dpdGh1Yi5j b20vYWlvLWxpYnMvYWlvaHR0cC9zZWN1cml0eS9hZHZpc29yaWVzL0dIU0EtdzJmbS0yY3B2LXc3 djUKK0J1Zy1EZWJpYW4tU2VjdXJpdHk6IGh0dHBzOi8vc2VjdXJpdHktdHJhY2tlci5kZWJpYW4u b3JnL3RyYWNrZXIvQ1ZFLTIwMjYtMjI4MTUKK0J1Zy1GcmVleGlhbi1TZWN1cml0eTogaHR0cHM6 Ly9kZWIuZnJlZXhpYW4uY29tL2V4dGVuZGVkLWx0cy90cmFja2VyL0NWRS0yMDI2LTIyODE1Cist LS0KKyBhaW9odHRwL19odHRwX3BhcnNlci5weXggICAgICAgIHwgIDMxICsrKysrKy0tLS0tCisg YWlvaHR0cC9jbGllbnQucHkgICAgICAgICAgICAgICB8ICAgOSArKysrCisgYWlvaHR0cC9jbGll bnRfcHJvdG8ucHkgICAgICAgICB8ICAgMiArCisgYWlvaHR0cC9odHRwX2V4Y2VwdGlvbnMucHkg ICAgICB8ICAgOSArKy0tCisgYWlvaHR0cC9odHRwX3BhcnNlci5weSAgICAgICAgICB8ICA4NCAr KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQorIGFpb2h0dHAvd2ViX3Byb3RvY29sLnB5ICAg ICAgICAgfCAgIDIgKy0KKyBkb2NzL2NsaWVudF9yZWZlcmVuY2UucnN0ICAgICAgIHwgIDE3ICsr KystLQorIGRvY3Mvd2ViX3JlZmVyZW5jZS5yc3QgICAgICAgICAgfCAgIDUgKy0KKyB0ZXN0cy90 ZXN0X2NsaWVudF9mdW5jdGlvbmFsLnB5IHwgMTE3ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrLS0tLS0tLS0tLS0KKyB0ZXN0cy90ZXN0X2h0dHBfZXhjZXB0aW9ucy5weSAgIHwgIDE4ICsr Ky0tLS0KKyB0ZXN0cy90ZXN0X2h0dHBfcGFyc2VyLnB5ICAgICAgIHwgMTEyICsrKysrKysrKysr KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCisgMTEgZmlsZXMgY2hhbmdlZCwgMjc2IGluc2Vy dGlvbnMoKyksIDEzMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2Fpb2h0dHAvX2h0dHBf cGFyc2VyLnB5eCBiL2Fpb2h0dHAvX2h0dHBfcGFyc2VyLnB5eAoraW5kZXggNzE3NjcyYS4uZGE1 MzAxYSAxMDA2NDQKKy0tLSBhL2Fpb2h0dHAvX2h0dHBfcGFyc2VyLnB5eAorKysrIGIvYWlvaHR0 cC9faHR0cF9wYXJzZXIucHl4CitAQCAtMjgxLDYgKzI4MSw3IEBAIGNkZWYgY2xhc3MgSHR0cFBh cnNlcjoKKyAgICAgICAgIG9iamVjdCBfbmFtZQorICAgICAgICAgYnl0ZXMgX3Jhd192YWx1ZQor ICAgICAgICAgYmludCAgICAgIF9oYXNfdmFsdWUKKysgICAgICAgIGludCBfaGVhZGVyX25hbWVf c2l6ZQorIAorICAgICAgICAgb2JqZWN0IF9wcm90b2NvbAorICAgICAgICAgb2JqZWN0IF9sb29w CitAQCAtMzMxLDcgKzMzMiw3IEBAIGNkZWYgY2xhc3MgSHR0cFBhcnNlcjoKKyAgICAgICAgIHNl bGYsIGNwYXJzZXIubGxodHRwX3R5cGUgbW9kZSwKKyAgICAgICAgIG9iamVjdCBwcm90b2NvbCwg b2JqZWN0IGxvb3AsIGludCBsaW1pdCwKKyAgICAgICAgIG9iamVjdCB0aW1lcj1Ob25lLAorLSAg ICAgICAgc2l6ZV90IG1heF9saW5lX3NpemU9ODE5MCwgc2l6ZV90IG1heF9oZWFkZXJzPTMyNzY4 LAorKyAgICAgICAgc2l6ZV90IG1heF9saW5lX3NpemU9ODE5MCwgc2l6ZV90IG1heF9oZWFkZXJz PTEyOCwKKyAgICAgICAgIHNpemVfdCBtYXhfZmllbGRfc2l6ZT04MTkwLCBwYXlsb2FkX2V4Y2Vw dGlvbj1Ob25lLAorICAgICAgICAgYmludCByZXNwb25zZV93aXRoX2JvZHk9VHJ1ZSwgYmludCBy ZWFkX3VudGlsX2VvZj1GYWxzZSwKKyAgICAgICAgIGJpbnQgYXV0b19kZWNvbXByZXNzPVRydWUs CitAQCAtMzU0LDYgKzM1NSw3IEBAIGNkZWYgY2xhc3MgSHR0cFBhcnNlcjoKKyAgICAgICAgIHNl bGYuX3Jhd19uYW1lID0gRU1QVFlfQllURVMKKyAgICAgICAgIHNlbGYuX3Jhd192YWx1ZSA9IEVN UFRZX0JZVEVTCisgICAgICAgICBzZWxmLl9oYXNfdmFsdWUgPSBGYWxzZQorKyAgICAgICAgc2Vs Zi5faGVhZGVyX25hbWVfc2l6ZSA9IDAKKyAKKyAgICAgICAgIHNlbGYuX21heF9saW5lX3NpemUg PSBtYXhfbGluZV9zaXplCisgICAgICAgICBzZWxmLl9tYXhfaGVhZGVycyA9IG1heF9oZWFkZXJz CitAQCAtMzg1LDExICszODcsMTQgQEAgY2RlZiBjbGFzcyBIdHRwUGFyc2VyOgorICAgICAgICAg ICAgIHZhbHVlID0gc2VsZi5fcmF3X3ZhbHVlLmRlY29kZSgndXRmLTgnLCAnc3Vycm9nYXRlZXNj YXBlJykKKyAKKyAgICAgICAgICAgICBzZWxmLl9oZWFkZXJzLmFwcGVuZCgobmFtZSwgdmFsdWUp KQorKyAgICAgICAgICAgIGlmIGxlbihzZWxmLl9oZWFkZXJzKSA+IHNlbGYuX21heF9oZWFkZXJz OgorKyAgICAgICAgICAgICAgICByYWlzZSBCYWRIdHRwTWVzc2FnZSgiVG9vIG1hbnkgaGVhZGVy cyByZWNlaXZlZCIpCisgCisgICAgICAgICAgICAgaWYgbmFtZSBpcyBDT05URU5UX0VOQ09ESU5H OgorICAgICAgICAgICAgICAgICBzZWxmLl9jb250ZW50X2VuY29kaW5nID0gdmFsdWUKKyAKKyAg ICAgICAgICAgICBzZWxmLl9oYXNfdmFsdWUgPSBGYWxzZQorKyAgICAgICAgICAgIHNlbGYuX2hl YWRlcl9uYW1lX3NpemUgPSAwCisgICAgICAgICAgICAgc2VsZi5fcmF3X2hlYWRlcnMuYXBwZW5k KChzZWxmLl9yYXdfbmFtZSwgc2VsZi5fcmF3X3ZhbHVlKSkKKyAgICAgICAgICAgICBzZWxmLl9y YXdfbmFtZSA9IEVNUFRZX0JZVEVTCisgICAgICAgICAgICAgc2VsZi5fcmF3X3ZhbHVlID0gRU1Q VFlfQllURVMKK0BAIC01NzYsNyArNTgxLDcgQEAgY2RlZiBjbGFzcyBIdHRwUmVxdWVzdFBhcnNl cihIdHRwUGFyc2VyKToKKyAKKyAgICAgZGVmIF9faW5pdF9fKAorICAgICAgICAgc2VsZiwgcHJv dG9jb2wsIGxvb3AsIGludCBsaW1pdCwgdGltZXI9Tm9uZSwKKy0gICAgICAgIHNpemVfdCBtYXhf bGluZV9zaXplPTgxOTAsIHNpemVfdCBtYXhfaGVhZGVycz0zMjc2OCwKKysgICAgICAgIHNpemVf dCBtYXhfbGluZV9zaXplPTgxOTAsIHNpemVfdCBtYXhfaGVhZGVycz0xMjgsCisgICAgICAgICBz aXplX3QgbWF4X2ZpZWxkX3NpemU9ODE5MCwgcGF5bG9hZF9leGNlcHRpb249Tm9uZSwKKyAgICAg ICAgIGJpbnQgcmVzcG9uc2Vfd2l0aF9ib2R5PVRydWUsIGJpbnQgcmVhZF91bnRpbF9lb2Y9RmFs c2UsCisgICAgICAgICBiaW50IGF1dG9fZGVjb21wcmVzcz1UcnVlLAorQEAgLTY0MCw3ICs2NDUs NyBAQCBjZGVmIGNsYXNzIEh0dHBSZXNwb25zZVBhcnNlcihIdHRwUGFyc2VyKToKKyAKKyAgICAg ZGVmIF9faW5pdF9fKAorICAgICAgICAgc2VsZiwgcHJvdG9jb2wsIGxvb3AsIGludCBsaW1pdCwg dGltZXI9Tm9uZSwKKy0gICAgICAgICAgICBzaXplX3QgbWF4X2xpbmVfc2l6ZT04MTkwLCBzaXpl X3QgbWF4X2hlYWRlcnM9MzI3NjgsCisrICAgICAgICAgICAgc2l6ZV90IG1heF9saW5lX3NpemU9 ODE5MCwgc2l6ZV90IG1heF9oZWFkZXJzPTEyOCwKKyAgICAgICAgICAgICBzaXplX3QgbWF4X2Zp ZWxkX3NpemU9ODE5MCwgcGF5bG9hZF9leGNlcHRpb249Tm9uZSwKKyAgICAgICAgICAgICBiaW50 IHJlc3BvbnNlX3dpdGhfYm9keT1UcnVlLCBiaW50IHJlYWRfdW50aWxfZW9mPUZhbHNlLAorICAg ICAgICAgICAgIGJpbnQgYXV0b19kZWNvbXByZXNzPVRydWUKK0BAIC02NzksOCArNjg0LDggQEAg Y2RlZiBpbnQgY2Jfb25fdXJsKGNwYXJzZXIubGxodHRwX3QqIHBhcnNlciwKKyAgICAgY2RlZiBI dHRwUGFyc2VyIHB5cGFyc2VyID0gPEh0dHBQYXJzZXI+cGFyc2VyLmRhdGEKKyAgICAgdHJ5Ogor ICAgICAgICAgaWYgbGVuZ3RoID4gcHlwYXJzZXIuX21heF9saW5lX3NpemU6CistICAgICAgICAg ICAgcmFpc2UgTGluZVRvb0xvbmcoCistICAgICAgICAgICAgICAgICdTdGF0dXMgbGluZSBpcyB0 b28gbG9uZycsIHB5cGFyc2VyLl9tYXhfbGluZV9zaXplLCBsZW5ndGgpCisrICAgICAgICAgICAg c3RhdHVzID0gcHlwYXJzZXIuX2J1ZiArIGF0WzpsZW5ndGhdCisrICAgICAgICAgICAgcmFpc2Ug TGluZVRvb0xvbmcoc3RhdHVzWzoxMDBdICsgYiIuLi4iLCBweXBhcnNlci5fbWF4X2xpbmVfc2l6 ZSkKKyAgICAgICAgIGV4dGVuZChweXBhcnNlci5fYnVmLCBhdCwgbGVuZ3RoKQorICAgICBleGNl cHQgQmFzZUV4Y2VwdGlvbiBhcyBleDoKKyAgICAgICAgIHB5cGFyc2VyLl9sYXN0X2Vycm9yID0g ZXgKK0BAIC02OTIsMTEgKzY5NywxMCBAQCBjZGVmIGludCBjYl9vbl91cmwoY3BhcnNlci5sbGh0 dHBfdCogcGFyc2VyLAorIGNkZWYgaW50IGNiX29uX3N0YXR1cyhjcGFyc2VyLmxsaHR0cF90KiBw YXJzZXIsCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmF0LCBzaXplX3QgbGVu Z3RoKSBleGNlcHQgLTE6CisgICAgIGNkZWYgSHR0cFBhcnNlciBweXBhcnNlciA9IDxIdHRwUGFy c2VyPnBhcnNlci5kYXRhCistICAgIGNkZWYgc3RyIHJlYXNvbgorICAgICB0cnk6CisgICAgICAg ICBpZiBsZW5ndGggPiBweXBhcnNlci5fbWF4X2xpbmVfc2l6ZToKKy0gICAgICAgICAgICByYWlz ZSBMaW5lVG9vTG9uZygKKy0gICAgICAgICAgICAgICAgJ1N0YXR1cyBsaW5lIGlzIHRvbyBsb25n JywgcHlwYXJzZXIuX21heF9saW5lX3NpemUsIGxlbmd0aCkKKysgICAgICAgICAgICByZWFzb24g PSBweXBhcnNlci5fYnVmICsgYXRbOmxlbmd0aF0KKysgICAgICAgICAgICByYWlzZSBMaW5lVG9v TG9uZyhyZWFzb25bOjEwMF0gKyBiIi4uLiIsIHB5cGFyc2VyLl9tYXhfbGluZV9zaXplKQorICAg ICAgICAgZXh0ZW5kKHB5cGFyc2VyLl9idWYsIGF0LCBsZW5ndGgpCisgICAgIGV4Y2VwdCBCYXNl RXhjZXB0aW9uIGFzIGV4OgorICAgICAgICAgcHlwYXJzZXIuX2xhc3RfZXJyb3IgPSBleAorQEAg LTcxMyw4ICs3MTcsOSBAQCBjZGVmIGludCBjYl9vbl9oZWFkZXJfZmllbGQoY3BhcnNlci5sbGh0 dHBfdCogcGFyc2VyLAorICAgICAgICAgcHlwYXJzZXIuX29uX3N0YXR1c19jb21wbGV0ZSgpCisg ICAgICAgICBzaXplID0gbGVuKHB5cGFyc2VyLl9yYXdfbmFtZSkgKyBsZW5ndGgKKyAgICAgICAg IGlmIHNpemUgPiBweXBhcnNlci5fbWF4X2ZpZWxkX3NpemU6CistICAgICAgICAgICAgcmFpc2Ug TGluZVRvb0xvbmcoCistICAgICAgICAgICAgICAgICdIZWFkZXIgbmFtZSBpcyB0b28gbG9uZycs IHB5cGFyc2VyLl9tYXhfZmllbGRfc2l6ZSwgc2l6ZSkKKysgICAgICAgICAgICBuYW1lID0gcHlw YXJzZXIuX3Jhd19uYW1lICsgYXRbOmxlbmd0aF0KKysgICAgICAgICAgICByYWlzZSBMaW5lVG9v TG9uZyhuYW1lWzoxMDBdICsgYiIuLi4iLCBweXBhcnNlci5fbWF4X2ZpZWxkX3NpemUpCisrICAg ICAgICBweXBhcnNlci5faGVhZGVyX25hbWVfc2l6ZSA9IHNpemUKKyAgICAgICAgIHB5cGFyc2Vy Ll9vbl9oZWFkZXJfZmllbGQoYXQsIGxlbmd0aCkKKyAgICAgZXhjZXB0IEJhc2VFeGNlcHRpb24g YXMgZXg6CisgICAgICAgICBweXBhcnNlci5fbGFzdF9lcnJvciA9IGV4CitAQCAtNzI5LDkgKzcz NCw5IEBAIGNkZWYgaW50IGNiX29uX2hlYWRlcl92YWx1ZShjcGFyc2VyLmxsaHR0cF90KiBwYXJz ZXIsCisgICAgIGNkZWYgUHlfc3NpemVfdCBzaXplCisgICAgIHRyeToKKyAgICAgICAgIHNpemUg PSBsZW4ocHlwYXJzZXIuX3Jhd192YWx1ZSkgKyBsZW5ndGgKKy0gICAgICAgIGlmIHNpemUgPiBw eXBhcnNlci5fbWF4X2ZpZWxkX3NpemU6CistICAgICAgICAgICAgcmFpc2UgTGluZVRvb0xvbmco CistICAgICAgICAgICAgICAgICdIZWFkZXIgdmFsdWUgaXMgdG9vIGxvbmcnLCBweXBhcnNlci5f bWF4X2ZpZWxkX3NpemUsIHNpemUpCisrICAgICAgICBpZiBweXBhcnNlci5faGVhZGVyX25hbWVf c2l6ZSArIHNpemUgPiBweXBhcnNlci5fbWF4X2ZpZWxkX3NpemU6CisrICAgICAgICAgICAgdmFs dWUgPSBweXBhcnNlci5fcmF3X3ZhbHVlICsgYXRbOmxlbmd0aF0KKysgICAgICAgICAgICByYWlz ZSBMaW5lVG9vTG9uZyh2YWx1ZVs6MTAwXSArIGIiLi4uIiwgcHlwYXJzZXIuX21heF9maWVsZF9z aXplKQorICAgICAgICAgcHlwYXJzZXIuX29uX2hlYWRlcl92YWx1ZShhdCwgbGVuZ3RoKQorICAg ICBleGNlcHQgQmFzZUV4Y2VwdGlvbiBhcyBleDoKKyAgICAgICAgIHB5cGFyc2VyLl9sYXN0X2Vy cm9yID0gZXgKK2RpZmYgLS1naXQgYS9haW9odHRwL2NsaWVudC5weSBiL2Fpb2h0dHAvY2xpZW50 LnB5CitpbmRleCA3Yzc4OGU4Li5lMzdjZDJlIDEwMDY0NAorLS0tIGEvYWlvaHR0cC9jbGllbnQu cHkKKysrKyBiL2Fpb2h0dHAvY2xpZW50LnB5CitAQCAtMTkxLDYgKzE5MSw3IEBAIGNsYXNzIF9S ZXF1ZXN0T3B0aW9ucyhUeXBlZERpY3QsIHRvdGFsPUZhbHNlKToKKyAgICAgYXV0b19kZWNvbXBy ZXNzOiBVbmlvbltib29sLCBOb25lXQorICAgICBtYXhfbGluZV9zaXplOiBVbmlvbltpbnQsIE5v bmVdCisgICAgIG1heF9maWVsZF9zaXplOiBVbmlvbltpbnQsIE5vbmVdCisrICAgIG1heF9oZWFk ZXJzOiBVbmlvbltpbnQsIE5vbmVdCisgCisgCisgQGF0dHIucyhhdXRvX2F0dHJpYnM9VHJ1ZSwg ZnJvemVuPVRydWUsIHNsb3RzPVRydWUpCitAQCAtMjU0LDYgKzI1NSw3IEBAIGNsYXNzIENsaWVu dFNlc3Npb246CisgICAgICAgICAgICAgIl9yZWFkX2J1ZnNpemUiLAorICAgICAgICAgICAgICJf bWF4X2xpbmVfc2l6ZSIsCisgICAgICAgICAgICAgIl9tYXhfZmllbGRfc2l6ZSIsCisrICAgICAg ICAgICAgIl9tYXhfaGVhZGVycyIsCisgICAgICAgICAgICAgIl9yZXNvbHZlX2NoYXJzZXQiLAor ICAgICAgICAgICAgICJfZGVmYXVsdF9wcm94eSIsCisgICAgICAgICAgICAgIl9kZWZhdWx0X3By b3h5X2F1dGgiLAorQEAgLTI5Nyw2ICsyOTksNyBAQCBjbGFzcyBDbGllbnRTZXNzaW9uOgorICAg ICAgICAgcmVhZF9idWZzaXplOiBpbnQgPSAyKioxNiwKKyAgICAgICAgIG1heF9saW5lX3NpemU6 IGludCA9IDgxOTAsCisgICAgICAgICBtYXhfZmllbGRfc2l6ZTogaW50ID0gODE5MCwKKysgICAg ICAgIG1heF9oZWFkZXJzOiBpbnQgPSAxMjgsCisgICAgICAgICBmYWxsYmFja19jaGFyc2V0X3Jl c29sdmVyOiBfQ2hhcnNldFJlc29sdmVyID0gbGFtYmRhIHIsIGI6ICJ1dGYtOCIsCisgICAgICkg LT4gTm9uZToKKyAgICAgICAgICMgV2UgaW5pdGlhbGlzZSBfY29ubmVjdG9yIHRvIE5vbmUgaW1t ZWRpYXRlbHksIGFzIGl0J3MgcmVmZXJlbmNlZCBpbiBfX2RlbF9fKCkKK0BAIC0zODUsNiArMzg4 LDcgQEAgY2xhc3MgQ2xpZW50U2Vzc2lvbjoKKyAgICAgICAgIHNlbGYuX3JlYWRfYnVmc2l6ZSA9 IHJlYWRfYnVmc2l6ZQorICAgICAgICAgc2VsZi5fbWF4X2xpbmVfc2l6ZSA9IG1heF9saW5lX3Np emUKKyAgICAgICAgIHNlbGYuX21heF9maWVsZF9zaXplID0gbWF4X2ZpZWxkX3NpemUKKysgICAg ICAgIHNlbGYuX21heF9oZWFkZXJzID0gbWF4X2hlYWRlcnMKKyAKKyAgICAgICAgICMgQ29udmVy dCB0byBsaXN0IG9mIHR1cGxlcworICAgICAgICAgaWYgaGVhZGVyczoKK0BAIC01MDIsNiArNTA2 LDcgQEAgY2xhc3MgQ2xpZW50U2Vzc2lvbjoKKyAgICAgICAgIGF1dG9fZGVjb21wcmVzczogT3B0 aW9uYWxbYm9vbF0gPSBOb25lLAorICAgICAgICAgbWF4X2xpbmVfc2l6ZTogT3B0aW9uYWxbaW50 XSA9IE5vbmUsCisgICAgICAgICBtYXhfZmllbGRfc2l6ZTogT3B0aW9uYWxbaW50XSA9IE5vbmUs CisrICAgICAgICBtYXhfaGVhZGVyczogT3B0aW9uYWxbaW50XSA9IE5vbmUsCisgICAgICkgLT4g Q2xpZW50UmVzcG9uc2U6CisgCisgICAgICAgICAjIE5PVEU6IHRpbWVvdXQgY2xhbXBzIGV4aXN0 aW5nIGNvbm5lY3QgYW5kIHJlYWQgdGltZW91dHMuICBXZSBjYW5ub3QKK0BAIC01OTAsNiArNTk1 LDkgQEAgY2xhc3MgQ2xpZW50U2Vzc2lvbjoKKyAgICAgICAgIGlmIG1heF9maWVsZF9zaXplIGlz IE5vbmU6CisgICAgICAgICAgICAgbWF4X2ZpZWxkX3NpemUgPSBzZWxmLl9tYXhfZmllbGRfc2l6 ZQorIAorKyAgICAgICAgaWYgbWF4X2hlYWRlcnMgaXMgTm9uZToKKysgICAgICAgICAgICBtYXhf aGVhZGVycyA9IHNlbGYuX21heF9oZWFkZXJzCisrCisgICAgICAgICB0cmFjZXMgPSBbCisgICAg ICAgICAgICAgVHJhY2UoCisgICAgICAgICAgICAgICAgIHNlbGYsCitAQCAtNzIxLDYgKzcyOSw3 IEBAIGNsYXNzIENsaWVudFNlc3Npb246CisgICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91 dF9jZWlsX3RocmVzaG9sZD1zZWxmLl9jb25uZWN0b3IuX3RpbWVvdXRfY2VpbF90aHJlc2hvbGQs CisgICAgICAgICAgICAgICAgICAgICAgICAgbWF4X2xpbmVfc2l6ZT1tYXhfbGluZV9zaXplLAor ICAgICAgICAgICAgICAgICAgICAgICAgIG1heF9maWVsZF9zaXplPW1heF9maWVsZF9zaXplLAor KyAgICAgICAgICAgICAgICAgICAgICAgIG1heF9oZWFkZXJzPW1heF9oZWFkZXJzLAorICAgICAg ICAgICAgICAgICAgICAgKQorIAorICAgICAgICAgICAgICAgICAgICAgdHJ5OgorZGlmZiAtLWdp dCBhL2Fpb2h0dHAvY2xpZW50X3Byb3RvLnB5IGIvYWlvaHR0cC9jbGllbnRfcHJvdG8ucHkKK2lu ZGV4IDJkNjRiM2YuLjNjY2NjMGMgMTAwNjQ0CistLS0gYS9haW9odHRwL2NsaWVudF9wcm90by5w eQorKysrIGIvYWlvaHR0cC9jbGllbnRfcHJvdG8ucHkKK0BAIC0xNzksNiArMTc5LDcgQEAgY2xh c3MgUmVzcG9uc2VIYW5kbGVyKEJhc2VQcm90b2NvbCwgRGF0YVF1ZXVlW1R1cGxlW1Jhd1Jlc3Bv bnNlTWVzc2FnZSwgU3RyZWFtUmUKKyAgICAgICAgIHRpbWVvdXRfY2VpbF90aHJlc2hvbGQ6IGZs b2F0ID0gNSwKKyAgICAgICAgIG1heF9saW5lX3NpemU6IGludCA9IDgxOTAsCisgICAgICAgICBt YXhfZmllbGRfc2l6ZTogaW50ID0gODE5MCwKKysgICAgICAgIG1heF9oZWFkZXJzOiBpbnQgPSAx MjgsCisgICAgICkgLT4gTm9uZToKKyAgICAgICAgIHNlbGYuX3NraXBfcGF5bG9hZCA9IHNraXBf cGF5bG9hZAorIAorQEAgLTE5Nyw2ICsxOTgsNyBAQCBjbGFzcyBSZXNwb25zZUhhbmRsZXIoQmFz ZVByb3RvY29sLCBEYXRhUXVldWVbVHVwbGVbUmF3UmVzcG9uc2VNZXNzYWdlLCBTdHJlYW1SZQor ICAgICAgICAgICAgIGF1dG9fZGVjb21wcmVzcz1hdXRvX2RlY29tcHJlc3MsCisgICAgICAgICAg ICAgbWF4X2xpbmVfc2l6ZT1tYXhfbGluZV9zaXplLAorICAgICAgICAgICAgIG1heF9maWVsZF9z aXplPW1heF9maWVsZF9zaXplLAorKyAgICAgICAgICAgIG1heF9oZWFkZXJzPW1heF9oZWFkZXJz LAorICAgICAgICAgKQorIAorICAgICAgICAgaWYgc2VsZi5fdGFpbDoKK2RpZmYgLS1naXQgYS9h aW9odHRwL2h0dHBfZXhjZXB0aW9ucy5weSBiL2Fpb2h0dHAvaHR0cF9leGNlcHRpb25zLnB5Citp bmRleCAzNDIyZjI5Li45NGFmMzIzIDEwMDY0NAorLS0tIGEvYWlvaHR0cC9odHRwX2V4Y2VwdGlv bnMucHkKKysrKyBiL2Fpb2h0dHAvaHR0cF9leGNlcHRpb25zLnB5CitAQCAtODAsMTEgKzgwLDEy IEBAIGNsYXNzIERlY29tcHJlc3NTaXplRXJyb3IoUGF5bG9hZEVuY29kaW5nRXJyb3IpOgorIAor IGNsYXNzIExpbmVUb29Mb25nKEJhZEh0dHBNZXNzYWdlKToKKyAgICAgZGVmIF9faW5pdF9fKAor LSAgICAgICAgc2VsZiwgbGluZTogc3RyLCBsaW1pdDogc3RyID0gIlVua25vd24iLCBhY3R1YWxf c2l6ZTogc3RyID0gIlVua25vd24iCisrICAgICAgICBzZWxmLAorKyAgICAgICAgbGluZTogVW5p b25bc3RyLCBieXRlc10sCisrICAgICAgICBsaW1pdDogVW5pb25bc3RyLCBpbnRdID0gIlVua25v d24iLAorKyAgICAgICAgYWN0dWFsX3NpemU6IHN0ciA9ICJVbmtub3duIiwKKyAgICAgKSAtPiBO b25lOgorLSAgICAgICAgc3VwZXIoKS5fX2luaXRfXygKKy0gICAgICAgICAgICBmIkdvdCBtb3Jl IHRoYW4ge2xpbWl0fSBieXRlcyAoe2FjdHVhbF9zaXplfSkgd2hlbiByZWFkaW5nIHtsaW5lfS4i CistICAgICAgICApCisrICAgICAgICBzdXBlcigpLl9faW5pdF9fKGYiR290IG1vcmUgdGhhbiB7 bGltaXR9IGJ5dGVzIHdoZW4gcmVhZGluZzoge2xpbmUhcn0uIikKKyAgICAgICAgIHNlbGYuYXJn cyA9IChsaW5lLCBsaW1pdCwgYWN0dWFsX3NpemUpCisgCisgCitkaWZmIC0tZ2l0IGEvYWlvaHR0 cC9odHRwX3BhcnNlci5weSBiL2Fpb2h0dHAvaHR0cF9wYXJzZXIucHkKK2luZGV4IDZkNzZhYzIu LjM4M2Q3NjAgMTAwNjQ0CistLS0gYS9haW9odHRwL2h0dHBfcGFyc2VyLnB5CisrKysgYi9haW9o dHRwL2h0dHBfcGFyc2VyLnB5CitAQCAtMTYyLDIwICsxNjIsMTAgQEAgY2xhc3MgSGVhZGVyc1Bh cnNlcjoKKyAgICAgICAgICAgICAgICAgcmFpc2UgSW52YWxpZEhlYWRlcihsaW5lKQorIAorICAg ICAgICAgICAgIGJ2YWx1ZSA9IGJ2YWx1ZS5sc3RyaXAoYiIgXHQiKQorLSAgICAgICAgICAgIGlm IGxlbihibmFtZSkgPiBzZWxmLm1heF9maWVsZF9zaXplOgorLSAgICAgICAgICAgICAgICByYWlz ZSBMaW5lVG9vTG9uZygKKy0gICAgICAgICAgICAgICAgICAgICJyZXF1ZXN0IGhlYWRlciBuYW1l IHt9Ii5mb3JtYXQoCistICAgICAgICAgICAgICAgICAgICAgICAgYm5hbWUuZGVjb2RlKCJ1dGY4 IiwgImJhY2tzbGFzaHJlcGxhY2UiKQorLSAgICAgICAgICAgICAgICAgICAgKSwKKy0gICAgICAg ICAgICAgICAgICAgIHN0cihzZWxmLm1heF9maWVsZF9zaXplKSwKKy0gICAgICAgICAgICAgICAg ICAgIHN0cihsZW4oYm5hbWUpKSwKKy0gICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgIG5h bWUgPSBibmFtZS5kZWNvZGUoInV0Zi04IiwgInN1cnJvZ2F0ZWVzY2FwZSIpCisgICAgICAgICAg ICAgaWYgbm90IFRPS0VOUkUuZnVsbG1hdGNoKG5hbWUpOgorICAgICAgICAgICAgICAgICByYWlz ZSBJbnZhbGlkSGVhZGVyKGJuYW1lKQorIAorLSAgICAgICAgICAgIGhlYWRlcl9sZW5ndGggPSBs ZW4oYnZhbHVlKQorLQorICAgICAgICAgICAgICMgbmV4dCBsaW5lCisgICAgICAgICAgICAgbGlu ZXNfaWR4ICs9IDEKKyAgICAgICAgICAgICBsaW5lID0gbGluZXNbbGluZXNfaWR4XQorQEAgLTE4 NSwxNiArMTc1LDE0IEBAIGNsYXNzIEhlYWRlcnNQYXJzZXI6CisgCisgICAgICAgICAgICAgIyBE ZXByZWNhdGVkOiBodHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9yZmMvcmZjOTExMi5odG1sI25h bWUtb2Jzb2xldGUtbGluZS1mb2xkaW5nCisgICAgICAgICAgICAgaWYgY29udGludWF0aW9uOgor KyAgICAgICAgICAgICAgICBoZWFkZXJfbGVuZ3RoID0gbGVuKGJ2YWx1ZSkKKyAgICAgICAgICAg ICAgICAgYnZhbHVlX2xzdCA9IFtidmFsdWVdCisgICAgICAgICAgICAgICAgIHdoaWxlIGNvbnRp bnVhdGlvbjoKKyAgICAgICAgICAgICAgICAgICAgIGhlYWRlcl9sZW5ndGggKz0gbGVuKGxpbmUp CisgICAgICAgICAgICAgICAgICAgICBpZiBoZWFkZXJfbGVuZ3RoID4gc2VsZi5tYXhfZmllbGRf c2l6ZToKKysgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJfbGluZSA9IGJuYW1lICsgYiI6 ICIgKyBiIiIuam9pbihidmFsdWVfbHN0KQorICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNl IExpbmVUb29Mb25nKAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVxdWVzdCBoZWFk ZXIgZmllbGQge30iLmZvcm1hdCgKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJu YW1lLmRlY29kZSgidXRmOCIsICJiYWNrc2xhc2hyZXBsYWNlIikKKy0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNlbGYubWF4 X2ZpZWxkX3NpemUpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIoaGVhZGVyX2xl bmd0aCksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcl9saW5lWzoxMDBdICsg YiIuLi4iLCBzZWxmLm1heF9maWVsZF9zaXplCisgICAgICAgICAgICAgICAgICAgICAgICAgKQor ICAgICAgICAgICAgICAgICAgICAgYnZhbHVlX2xzdC5hcHBlbmQobGluZSkKKyAKK0BAIC0yMDgs MTUgKzE5Niw2IEBAIGNsYXNzIEhlYWRlcnNQYXJzZXI6CisgICAgICAgICAgICAgICAgICAgICAg ICAgbGluZSA9IGIiIgorICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAg ICAgICAgIGJ2YWx1ZSA9IGIiIi5qb2luKGJ2YWx1ZV9sc3QpCistICAgICAgICAgICAgZWxzZToK Ky0gICAgICAgICAgICAgICAgaWYgaGVhZGVyX2xlbmd0aCA+IHNlbGYubWF4X2ZpZWxkX3NpemU6 CistICAgICAgICAgICAgICAgICAgICByYWlzZSBMaW5lVG9vTG9uZygKKy0gICAgICAgICAgICAg ICAgICAgICAgICAicmVxdWVzdCBoZWFkZXIgZmllbGQge30iLmZvcm1hdCgKKy0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgYm5hbWUuZGVjb2RlKCJ1dGY4IiwgImJhY2tzbGFzaHJlcGxhY2Ui KQorLSAgICAgICAgICAgICAgICAgICAgICAgICksCistICAgICAgICAgICAgICAgICAgICAgICAg c3RyKHNlbGYubWF4X2ZpZWxkX3NpemUpLAorLSAgICAgICAgICAgICAgICAgICAgICAgIHN0ciho ZWFkZXJfbGVuZ3RoKSwKKy0gICAgICAgICAgICAgICAgICAgICkKKyAKKyAgICAgICAgICAgICBi dmFsdWUgPSBidmFsdWUuc3RyaXAoYiIgXHQiKQorICAgICAgICAgICAgIHZhbHVlID0gYnZhbHVl LmRlY29kZSgidXRmLTgiLCAic3Vycm9nYXRlZXNjYXBlIikKK0BAIC0yNDcsNyArMjI2LDcgQEAg Y2xhc3MgSHR0cFBhcnNlcihhYmMuQUJDLCBHZW5lcmljW19Nc2dUXSk6CisgICAgICAgICBsb29w OiBPcHRpb25hbFthc3luY2lvLkFic3RyYWN0RXZlbnRMb29wXSA9IE5vbmUsCisgICAgICAgICBs aW1pdDogaW50ID0gMioqMTYsCisgICAgICAgICBtYXhfbGluZV9zaXplOiBpbnQgPSA4MTkwLAor LSAgICAgICAgbWF4X2hlYWRlcnM6IGludCA9IDMyNzY4LAorKyAgICAgICAgbWF4X2hlYWRlcnM6 IGludCA9IDEyOCwKKyAgICAgICAgIG1heF9maWVsZF9zaXplOiBpbnQgPSA4MTkwLAorICAgICAg ICAgdGltZXI6IE9wdGlvbmFsW0Jhc2VUaW1lckNvbnRleHRdID0gTm9uZSwKKyAgICAgICAgIGNv ZGU6IE9wdGlvbmFsW2ludF0gPSBOb25lLAorQEAgLTI2Miw2ICsyNDEsNyBAQCBjbGFzcyBIdHRw UGFyc2VyKGFiYy5BQkMsIEdlbmVyaWNbX01zZ1RdKToKKyAgICAgICAgIHNlbGYubWF4X2xpbmVf c2l6ZSA9IG1heF9saW5lX3NpemUKKyAgICAgICAgIHNlbGYubWF4X2hlYWRlcnMgPSBtYXhfaGVh ZGVycworICAgICAgICAgc2VsZi5tYXhfZmllbGRfc2l6ZSA9IG1heF9maWVsZF9zaXplCisrICAg ICAgICBzZWxmLm1heF9oZWFkZXJzID0gbWF4X2hlYWRlcnMKKyAgICAgICAgIHNlbGYudGltZXIg PSB0aW1lcgorICAgICAgICAgc2VsZi5jb2RlID0gY29kZQorICAgICAgICAgc2VsZi5tZXRob2Qg PSBtZXRob2QKK0BAIC0zMjAsNiArMzAwLDcgQEAgY2xhc3MgSHR0cFBhcnNlcihhYmMuQUJDLCBH ZW5lcmljW19Nc2dUXSk6CisgICAgICAgICBkYXRhX2xlbiA9IGxlbihkYXRhKQorICAgICAgICAg c3RhcnRfcG9zID0gMAorICAgICAgICAgbG9vcCA9IHNlbGYubG9vcAorKyAgICAgICAgbWF4X2xp bmVfbGVuZ3RoID0gc2VsZi5tYXhfbGluZV9zaXplCisgCisgICAgICAgICBzaG91bGRfY2xvc2Ug PSBGYWxzZQorICAgICAgICAgd2hpbGUgc3RhcnRfcG9zIDwgZGF0YV9sZW46CitAQCAtMzQxLDEx ICszMjIsMjEgQEAgY2xhc3MgSHR0cFBhcnNlcihhYmMuQUJDLCBHZW5lcmljW19Nc2dUXSk6Cisg ICAgICAgICAgICAgICAgICAgICBsaW5lID0gZGF0YVtzdGFydF9wb3M6cG9zXQorICAgICAgICAg ICAgICAgICAgICAgaWYgU0VQID09IGIiXG4iOiAgIyBGb3IgbGF4IHJlc3BvbnNlIHBhcnNpbmcK KyAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lID0gbGluZS5yc3RyaXAoYiJcciIpCisrICAg ICAgICAgICAgICAgICAgICBpZiBsZW4obGluZSkgPiBtYXhfbGluZV9sZW5ndGg6CisrICAgICAg ICAgICAgICAgICAgICAgICAgcmFpc2UgTGluZVRvb0xvbmcobGluZVs6MTAwXSArIGIiLi4uIiwg bWF4X2xpbmVfbGVuZ3RoKQorKworICAgICAgICAgICAgICAgICAgICAgc2VsZi5fbGluZXMuYXBw ZW5kKGxpbmUpCisrICAgICAgICAgICAgICAgICAgICAjIEFmdGVyIHByb2Nlc3NpbmcgdGhlIHN0 YXR1cy9yZXF1ZXN0IGxpbmUsIGV2ZXJ5dGhpbmcgaXMgYSBoZWFkZXIuCisrICAgICAgICAgICAg ICAgICAgICBtYXhfbGluZV9sZW5ndGggPSBzZWxmLm1heF9maWVsZF9zaXplCisrCisrICAgICAg ICAgICAgICAgICAgICBpZiBsZW4oc2VsZi5fbGluZXMpID4gc2VsZi5tYXhfaGVhZGVyczoKKysg ICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBCYWRIdHRwTWVzc2FnZSgiVG9vIG1hbnkgaGVh ZGVycyByZWNlaXZlZCIpCisrCisgICAgICAgICAgICAgICAgICAgICBzdGFydF9wb3MgPSBwb3Mg KyBsZW4oU0VQKQorIAorICAgICAgICAgICAgICAgICAgICAgIyBcclxuXHJcbiBmb3VuZAorICAg ICAgICAgICAgICAgICAgICAgaWYgc2VsZi5fbGluZXNbLTFdID09IEVNUFRZOgorKyAgICAgICAg ICAgICAgICAgICAgICAgIG1heF90cmFpbGVycyA9IHNlbGYubWF4X2hlYWRlcnMgLSBsZW4oc2Vs Zi5fbGluZXMpCisgICAgICAgICAgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBtc2c6IF9Nc2dUID0gc2VsZi5wYXJzZV9tZXNzYWdlKHNlbGYuX2xpbmVz KQorICAgICAgICAgICAgICAgICAgICAgICAgIGZpbmFsbHk6CitAQCAtNDA0LDYgKzM5NSw5IEBA IGNsYXNzIEh0dHBQYXJzZXIoYWJjLkFCQywgR2VuZXJpY1tfTXNnVF0pOgorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgYXV0b19kZWNvbXByZXNzPXNlbGYuX2F1dG9fZGVjb21wcmVz cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheD1zZWxmLmxheCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnNfcGFyc2VyPXNlbGYuX2hlYWRlcnNf cGFyc2VyLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4X2xpbmVfc2l6ZT1z ZWxmLm1heF9saW5lX3NpemUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhf ZmllbGRfc2l6ZT1zZWxmLm1heF9maWVsZF9zaXplLAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbWF4X3RyYWlsZXJzPW1heF90cmFpbGVycywKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBub3QgcGF5bG9hZF9w YXJzZXIuZG9uZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3BheWxv YWRfcGFyc2VyID0gcGF5bG9hZF9wYXJzZXIKK0BAIC00MjMsNiArNDE3LDkgQEAgY2xhc3MgSHR0 cFBhcnNlcihhYmMuQUJDLCBHZW5lcmljW19Nc2dUXSk6CisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBhdXRvX2RlY29tcHJlc3M9c2VsZi5fYXV0b19kZWNvbXByZXNzLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF4PXNlbGYubGF4LAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgaGVhZGVyc19wYXJzZXI9c2VsZi5faGVhZGVyc19wYXJzZXIsCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhfbGluZV9zaXplPXNlbGYubWF4X2xp bmVfc2l6ZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heF9maWVsZF9zaXpl PXNlbGYubWF4X2ZpZWxkX3NpemUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBt YXhfdHJhaWxlcnM9bWF4X3RyYWlsZXJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAp CisgICAgICAgICAgICAgICAgICAgICAgICAgZWxpZiBub3QgZW1wdHlfYm9keSBhbmQgbGVuZ3Ro IGlzIE5vbmUgYW5kIHNlbGYucmVhZF91bnRpbF9lb2Y6CisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHBheWxvYWQgPSBTdHJlYW1SZWFkZXIoCitAQCAtNDQyLDYgKzQzOSw5IEBAIGNsYXNz IEh0dHBQYXJzZXIoYWJjLkFCQywgR2VuZXJpY1tfTXNnVF0pOgorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYXV0b19kZWNvbXByZXNzPXNlbGYuX2F1dG9fZGVjb21wcmVzcywKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheD1zZWxmLmxheCwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnNfcGFyc2VyPXNlbGYuX2hlYWRlcnNfcGFyc2Vy LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4X2xpbmVfc2l6ZT1zZWxmLm1h eF9saW5lX3NpemUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhfZmllbGRf c2l6ZT1zZWxmLm1heF9maWVsZF9zaXplLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbWF4X3RyYWlsZXJzPW1heF90cmFpbGVycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBub3QgcGF5bG9hZF9wYXJzZXIu ZG9uZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3BheWxvYWRfcGFy c2VyID0gcGF5bG9hZF9wYXJzZXIKK0BAIC00NTIsNiArNDUyLDggQEAgY2xhc3MgSHR0cFBhcnNl cihhYmMuQUJDLCBHZW5lcmljW19Nc2dUXSk6CisgICAgICAgICAgICAgICAgICAgICAgICAgc2hv dWxkX2Nsb3NlID0gbXNnLnNob3VsZF9jbG9zZQorICAgICAgICAgICAgICAgICBlbHNlOgorICAg ICAgICAgICAgICAgICAgICAgc2VsZi5fdGFpbCA9IGRhdGFbc3RhcnRfcG9zOl0KKysgICAgICAg ICAgICAgICAgICAgIGlmIGxlbihzZWxmLl90YWlsKSA+IHNlbGYubWF4X2xpbmVfc2l6ZToKKysg ICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBMaW5lVG9vTG9uZyhzZWxmLl90YWlsWzoxMDBd ICsgYiIuLi4iLCBzZWxmLm1heF9saW5lX3NpemUpCisgICAgICAgICAgICAgICAgICAgICBkYXRh ID0gRU1QVFkKKyAgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgCitAQCAtNTg3LDExICs1ODks NiBAQCBjbGFzcyBIdHRwUmVxdWVzdFBhcnNlcihIdHRwUGFyc2VyW1Jhd1JlcXVlc3RNZXNzYWdl XSk6CisgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKKyAgICAgICAgICAgICByYWlzZSBCYWRI dHRwTWV0aG9kKGxpbmUpIGZyb20gTm9uZQorIAorLSAgICAgICAgaWYgbGVuKHBhdGgpID4gc2Vs Zi5tYXhfbGluZV9zaXplOgorLSAgICAgICAgICAgIHJhaXNlIExpbmVUb29Mb25nKAorLSAgICAg ICAgICAgICAgICAiU3RhdHVzIGxpbmUgaXMgdG9vIGxvbmciLCBzdHIoc2VsZi5tYXhfbGluZV9z aXplKSwgc3RyKGxlbihwYXRoKSkKKy0gICAgICAgICAgICApCistCisgICAgICAgICAjIG1ldGhv ZAorICAgICAgICAgaWYgbm90IFRPS0VOUkUuZnVsbG1hdGNoKG1ldGhvZCk6CisgICAgICAgICAg ICAgcmFpc2UgQmFkSHR0cE1ldGhvZChtZXRob2QpCitAQCAtNzA3LDExICs3MDQsNiBAQCBjbGFz cyBIdHRwUmVzcG9uc2VQYXJzZXIoSHR0cFBhcnNlcltSYXdSZXNwb25zZU1lc3NhZ2VdKToKKyAg ICAgICAgICAgICBzdGF0dXMgPSBzdGF0dXMuc3RyaXAoKQorICAgICAgICAgICAgIHJlYXNvbiA9 ICIiCisgCistICAgICAgICBpZiBsZW4ocmVhc29uKSA+IHNlbGYubWF4X2xpbmVfc2l6ZToKKy0g ICAgICAgICAgICByYWlzZSBMaW5lVG9vTG9uZygKKy0gICAgICAgICAgICAgICAgIlN0YXR1cyBs aW5lIGlzIHRvbyBsb25nIiwgc3RyKHNlbGYubWF4X2xpbmVfc2l6ZSksIHN0cihsZW4ocmVhc29u KSkKKy0gICAgICAgICAgICApCistCisgICAgICAgICAjIHZlcnNpb24KKyAgICAgICAgIG1hdGNo ID0gVkVSU1JFLmZ1bGxtYXRjaCh2ZXJzaW9uKQorICAgICAgICAgaWYgbWF0Y2ggaXMgTm9uZToK K0BAIC03NzYsNiArNzY4LDkgQEAgY2xhc3MgSHR0cFBheWxvYWRQYXJzZXI6CisgICAgICAgICBs YXg6IGJvb2wgPSBGYWxzZSwKKyAgICAgICAgICosCisgICAgICAgICBoZWFkZXJzX3BhcnNlcjog SGVhZGVyc1BhcnNlciwKKysgICAgICAgIG1heF9saW5lX3NpemU6IGludCA9IDgxOTAsCisrICAg ICAgICBtYXhfZmllbGRfc2l6ZTogaW50ID0gODE5MCwKKysgICAgICAgIG1heF90cmFpbGVyczog aW50ID0gMTI4LAorICAgICApIC0+IE5vbmU6CisgICAgICAgICBzZWxmLl9sZW5ndGggPSAwCisg ICAgICAgICBzZWxmLl90eXBlID0gUGFyc2VTdGF0ZS5QQVJTRV9VTlRJTF9FT0YKK0BAIC03ODUs NiArNzgwLDkgQEAgY2xhc3MgSHR0cFBheWxvYWRQYXJzZXI6CisgICAgICAgICBzZWxmLl9hdXRv X2RlY29tcHJlc3MgPSBhdXRvX2RlY29tcHJlc3MKKyAgICAgICAgIHNlbGYuX2xheCA9IGxheAor ICAgICAgICAgc2VsZi5faGVhZGVyc19wYXJzZXIgPSBoZWFkZXJzX3BhcnNlcgorKyAgICAgICAg c2VsZi5fbWF4X2xpbmVfc2l6ZSA9IG1heF9saW5lX3NpemUKKysgICAgICAgIHNlbGYuX21heF9m aWVsZF9zaXplID0gbWF4X2ZpZWxkX3NpemUKKysgICAgICAgIHNlbGYuX21heF90cmFpbGVycyA9 IG1heF90cmFpbGVycworICAgICAgICAgc2VsZi5fdHJhaWxlcl9saW5lczogbGlzdFtieXRlc10g PSBbXQorICAgICAgICAgc2VsZi5kb25lID0gRmFsc2UKKyAKK0BAIC04NDgsNiArODQ2LDE1IEBA IGNsYXNzIEh0dHBQYXlsb2FkUGFyc2VyOgorICAgICAgICAgIyBDaHVua2VkIHRyYW5zZmVyIGVu Y29kaW5nIHBhcnNlcgorICAgICAgICAgZWxpZiBzZWxmLl90eXBlID09IFBhcnNlU3RhdGUuUEFS U0VfQ0hVTktFRDoKKyAgICAgICAgICAgICBpZiBzZWxmLl9jaHVua190YWlsOgorKyAgICAgICAg ICAgICAgICAjIFdlIHNob3VsZCBuZXZlciBoYXZlIGEgdGFpbCBpZiB3ZSdyZSBpbnNpZGUgdGhl IHBheWxvYWQgYm9keS4KKysgICAgICAgICAgICAgICAgYXNzZXJ0IHNlbGYuX2NodW5rICE9IENo dW5rU3RhdGUuUEFSU0VfQ0hVTktFRF9DSFVOSworKyAgICAgICAgICAgICAgICAjIFdlIHNob3Vs ZCBjaGVjayB0aGUgbGVuZ3RoIGlzIHNhbmUuCisrICAgICAgICAgICAgICAgIG1heF9saW5lX2xl bmd0aCA9IHNlbGYuX21heF9saW5lX3NpemUKKysgICAgICAgICAgICAgICAgaWYgc2VsZi5fY2h1 bmsgPT0gQ2h1bmtTdGF0ZS5QQVJTRV9UUkFJTEVSUzoKKysgICAgICAgICAgICAgICAgICAgIG1h eF9saW5lX2xlbmd0aCA9IHNlbGYuX21heF9maWVsZF9zaXplCisrICAgICAgICAgICAgICAgIGlm IGxlbihzZWxmLl9jaHVua190YWlsKSA+IG1heF9saW5lX2xlbmd0aDoKKysgICAgICAgICAgICAg ICAgICAgIHJhaXNlIExpbmVUb29Mb25nKHNlbGYuX2NodW5rX3RhaWxbOjEwMF0gKyBiIi4uLiIs IG1heF9saW5lX2xlbmd0aCkKKysKKyAgICAgICAgICAgICAgICAgY2h1bmsgPSBzZWxmLl9jaHVu a190YWlsICsgY2h1bmsKKyAgICAgICAgICAgICAgICAgc2VsZi5fY2h1bmtfdGFpbCA9IGIiIgor IAorQEAgLTkzMSw4ICs5MzgsMTUgQEAgY2xhc3MgSHR0cFBheWxvYWRQYXJzZXI6CisgICAgICAg ICAgICAgICAgICAgICBjaHVuayA9IGNodW5rW3BvcyArIGxlbihTRVApIDpdCisgICAgICAgICAg ICAgICAgICAgICBpZiBTRVAgPT0gYiJcbiI6ICAjIEZvciBsYXggcmVzcG9uc2UgcGFyc2luZwor ICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnJzdHJpcChiIlxyIikKKysKKysg ICAgICAgICAgICAgICAgICAgIGlmIGxlbihsaW5lKSA+IHNlbGYuX21heF9maWVsZF9zaXplOgor KyAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIExpbmVUb29Mb25nKGxpbmVbOjEwMF0gKyBi Ii4uLiIsIHNlbGYuX21heF9maWVsZF9zaXplKQorKworICAgICAgICAgICAgICAgICAgICAgc2Vs Zi5fdHJhaWxlcl9saW5lcy5hcHBlbmQobGluZSkKKyAKKysgICAgICAgICAgICAgICAgICAgIGlm IGxlbihzZWxmLl90cmFpbGVyX2xpbmVzKSA+IHNlbGYuX21heF90cmFpbGVyczoKKysgICAgICAg ICAgICAgICAgICAgICAgICByYWlzZSBCYWRIdHRwTWVzc2FnZSgiVG9vIG1hbnkgdHJhaWxlcnMg cmVjZWl2ZWQiKQorKworICAgICAgICAgICAgICAgICAgICAgIyBcclxuXHJcbiBmb3VuZCwgZW5k IG9mIHN0cmVhbQorICAgICAgICAgICAgICAgICAgICAgaWYgc2VsZi5fdHJhaWxlcl9saW5lc1st MV0gPT0gYiIiOgorICAgICAgICAgICAgICAgICAgICAgICAgICMgSGVhZGVycyBhbmQgdHJhaWxl cnMgYXJlIGRlZmluZWQgdGhlIHNhbWUgd2F5LAorZGlmZiAtLWdpdCBhL2Fpb2h0dHAvd2ViX3By b3RvY29sLnB5IGIvYWlvaHR0cC93ZWJfcHJvdG9jb2wucHkKK2luZGV4IDFkYmE5NjAuLjQ3ZWRk ODIgMTAwNjQ0CistLS0gYS9haW9odHRwL3dlYl9wcm90b2NvbC5weQorKysrIGIvYWlvaHR0cC93 ZWJfcHJvdG9jb2wucHkKK0BAIC0xODMsNyArMTgzLDcgQEAgY2xhc3MgUmVxdWVzdEhhbmRsZXIo QmFzZVByb3RvY29sKToKKyAgICAgICAgIGFjY2Vzc19sb2dfZm9ybWF0OiBzdHIgPSBBY2Nlc3NM b2dnZXIuTE9HX0ZPUk1BVCwKKyAgICAgICAgIGRlYnVnOiBib29sID0gRmFsc2UsCisgICAgICAg ICBtYXhfbGluZV9zaXplOiBpbnQgPSA4MTkwLAorLSAgICAgICAgbWF4X2hlYWRlcnM6IGludCA9 IDMyNzY4LAorKyAgICAgICAgbWF4X2hlYWRlcnM6IGludCA9IDEyOCwKKyAgICAgICAgIG1heF9m aWVsZF9zaXplOiBpbnQgPSA4MTkwLAorICAgICAgICAgbGluZ2VyaW5nX3RpbWU6IGZsb2F0ID0g MTAuMCwKKyAgICAgICAgIHJlYWRfYnVmc2l6ZTogaW50ID0gMioqMTYsCitkaWZmIC0tZ2l0IGEv ZG9jcy9jbGllbnRfcmVmZXJlbmNlLnJzdCBiL2RvY3MvY2xpZW50X3JlZmVyZW5jZS5yc3QKK2lu ZGV4IDI2NTM3MTYuLmYwMWNhZjggMTAwNjQ0CistLS0gYS9kb2NzL2NsaWVudF9yZWZlcmVuY2Uu cnN0CisrKysgYi9kb2NzL2NsaWVudF9yZWZlcmVuY2UucnN0CitAQCAtNTYsNiArNTYsNyBAQCBU aGUgY2xpZW50IHNlc3Npb24gc3VwcG9ydHMgdGhlIGNvbnRleHQgbWFuYWdlciBwcm90b2NvbCBm b3Igc2VsZiBjbG9zaW5nLgorICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkX2J1ZnNpemU9 MioqMTYsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4X2xpbmVfc2l6ZT04MTkwLCBc CisgICAgICAgICAgICAgICAgICAgICAgICAgIG1heF9maWVsZF9zaXplPTgxOTAsIFwKKysgICAg ICAgICAgICAgICAgICAgICAgICAgbWF4X2hlYWRlcnM9MTI4LCBcCisgICAgICAgICAgICAgICAg ICAgICAgICAgIGZhbGxiYWNrX2NoYXJzZXRfcmVzb2x2ZXI9bGFtYmRhIHIsIGI6ICJ1dGYtOCIp CisgCisgICAgVGhlIGNsYXNzIGZvciBjcmVhdGluZyBjbGllbnQgc2Vzc2lvbnMgYW5kIG1ha2lu ZyByZXF1ZXN0cy4KK0BAIC0yMzIsNyArMjMzLDkgQEAgVGhlIGNsaWVudCBzZXNzaW9uIHN1cHBv cnRzIHRoZSBjb250ZXh0IG1hbmFnZXIgcHJvdG9jb2wgZm9yIHNlbGYgY2xvc2luZy4KKyAKKyAg ICA6cGFyYW0gaW50IG1heF9saW5lX3NpemU6IE1heGltdW0gYWxsb3dlZCBzaXplIG9mIGxpbmVz IGluIHJlc3BvbnNlcy4KKyAKKy0gICA6cGFyYW0gaW50IG1heF9maWVsZF9zaXplOiBNYXhpbXVt IGFsbG93ZWQgc2l6ZSBvZiBoZWFkZXIgZmllbGRzIGluIHJlc3BvbnNlcy4KKysgICA6cGFyYW0g aW50IG1heF9maWVsZF9zaXplOiBNYXhpbXVtIGFsbG93ZWQgc2l6ZSBvZiBoZWFkZXIgbmFtZSBh bmQgdmFsdWUgY29tYmluZWQgaW4gcmVzcG9uc2VzLgorKworKyAgIDpwYXJhbSBpbnQgbWF4X2hl YWRlcnM6IE1heGltdW0gbnVtYmVyIG9mIGhlYWRlcnMgYW5kIHRyYWlsZXJzIGNvbWJpbmVkIGlu IHJlc3BvbnNlcy4KKyAKKyAgICA6cGFyYW0gQ2FsbGFibGVbW0NsaWVudFJlc3BvbnNlLGJ5dGVz XSxzdHJdIGZhbGxiYWNrX2NoYXJzZXRfcmVzb2x2ZXI6CisgICAgICAgQSA6dGVybTpgY2FsbGFi bGVgIHRoYXQgYWNjZXB0cyBhIDpjbGFzczpgQ2xpZW50UmVzcG9uc2VgIGFuZCB0aGUKK0BAIC0z ODYsNyArMzg5LDggQEAgVGhlIGNsaWVudCBzZXNzaW9uIHN1cHBvcnRzIHRoZSBjb250ZXh0IG1h bmFnZXIgcHJvdG9jb2wgZm9yIHNlbGYgY2xvc2luZy4KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgcmVhZF9idWZzaXplPU5vbmUsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b19k ZWNvbXByZXNzPU5vbmUsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4X2xpbmVfc2l6 ZT1Ob25lLCBcCistICAgICAgICAgICAgICAgICAgICAgICAgIG1heF9maWVsZF9zaXplPU5vbmUp CisrICAgICAgICAgICAgICAgICAgICAgICAgIG1heF9maWVsZF9zaXplPU5vbmUsIFwKKysgICAg ICAgICAgICAgICAgICAgICAgICAgbWF4X2hlYWRlcnM9Tm9uZSkKKyAgICAgICA6YXN5bmM6Cisg ICAgICAgOm5vaW5kZXhlbnRyeToKKyAKK0BAIC01NDMsNyArNTQ3LDkgQEAgVGhlIGNsaWVudCBz ZXNzaW9uIHN1cHBvcnRzIHRoZSBjb250ZXh0IG1hbmFnZXIgcHJvdG9jb2wgZm9yIHNlbGYgY2xv c2luZy4KKyAKKyAgICAgICA6cGFyYW0gaW50IG1heF9saW5lX3NpemU6IE1heGltdW0gYWxsb3dl ZCBzaXplIG9mIGxpbmVzIGluIHJlc3BvbnNlcy4KKyAKKy0gICAgICA6cGFyYW0gaW50IG1heF9m aWVsZF9zaXplOiBNYXhpbXVtIGFsbG93ZWQgc2l6ZSBvZiBoZWFkZXIgZmllbGRzIGluIHJlc3Bv bnNlcy4KKysgICAgICA6cGFyYW0gaW50IG1heF9maWVsZF9zaXplOiBNYXhpbXVtIGFsbG93ZWQg c2l6ZSBvZiBoZWFkZXIgbmFtZSBhbmQgdmFsdWUgY29tYmluZWQgaW4gcmVzcG9uc2VzLgorKwor KyAgICAgIDpwYXJhbSBpbnQgbWF4X2hlYWRlcnM6IE1heGltdW0gbnVtYmVyIG9mIGhlYWRlcnMg YW5kIHRyYWlsZXJzIGNvbWJpbmVkIGluIHJlc3BvbnNlcy4KKyAKKyAgICAgICA6cmV0dXJuIENs aWVudFJlc3BvbnNlOiBhIDpjbGFzczpgY2xpZW50IHJlc3BvbnNlIDxDbGllbnRSZXNwb25zZT5g CisgICAgICAgICAgb2JqZWN0LgorQEAgLTg2Myw2ICs4NjksNyBAQCBjZXJ0aWZpY2F0aW9uIGNo YWluaW5nLgorICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9fZGVjb21wcmVzcz1Ob25lLCBc CisgICAgICAgICAgICAgICAgICAgICAgICAgbWF4X2xpbmVfc2l6ZT1Ob25lLCBcCisgICAgICAg ICAgICAgICAgICAgICAgICAgbWF4X2ZpZWxkX3NpemU9Tm9uZSwgXAorKyAgICAgICAgICAgICAg ICAgICAgICAgIG1heF9oZWFkZXJzPU5vbmUsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICB2 ZXJzaW9uPWFpb2h0dHAuSHR0cFZlcnNpb24xMSwgXAorICAgICAgICAgICAgICAgICAgICAgICAg IGNvbm5lY3Rvcj1Ob25lKQorICAgIDphc3luYzoKK0BAIC0xMDAwLDcgKzEwMDcsOSBAQCBjZXJ0 aWZpY2F0aW9uIGNoYWluaW5nLgorIAorICAgIDpwYXJhbSBpbnQgbWF4X2xpbmVfc2l6ZTogTWF4 aW11bSBhbGxvd2VkIHNpemUgb2YgbGluZXMgaW4gcmVzcG9uc2VzLgorIAorLSAgIDpwYXJhbSBp bnQgbWF4X2ZpZWxkX3NpemU6IE1heGltdW0gYWxsb3dlZCBzaXplIG9mIGhlYWRlciBmaWVsZHMg aW4gcmVzcG9uc2VzLgorKyAgIDpwYXJhbSBpbnQgbWF4X2ZpZWxkX3NpemU6IE1heGltdW0gYWxs b3dlZCBzaXplIG9mIGhlYWRlciBuYW1lIGFuZCB2YWx1ZSBjb21iaW5lZCBpbiByZXNwb25zZXMu CisrCisrICAgOnBhcmFtIGludCBtYXhfaGVhZGVyczogTWF4aW11bSBudW1iZXIgb2YgaGVhZGVy cyBhbmQgdHJhaWxlcnMgY29tYmluZWQgaW4gcmVzcG9uc2VzLgorIAorICAgIDpwYXJhbSBhaW9o dHRwLnByb3RvY29sLkh0dHBWZXJzaW9uIHZlcnNpb246IFJlcXVlc3QgSFRUUCB2ZXJzaW9uLAor ICAgICAgIGBgSFRUUCAxLjFgYCBieSBkZWZhdWx0LiAob3B0aW9uYWwpCitkaWZmIC0tZ2l0IGEv ZG9jcy93ZWJfcmVmZXJlbmNlLnJzdCBiL2RvY3Mvd2ViX3JlZmVyZW5jZS5yc3QKK2luZGV4IDUx ZjVjNDMuLmFhMTYzZjIgMTAwNjQ0CistLS0gYS9kb2NzL3dlYl9yZWZlcmVuY2UucnN0CisrKysg Yi9kb2NzL3dlYl9yZWZlcmVuY2UucnN0CitAQCAtMjgwMiw5ICsyODAyLDEwIEBAIGFwcGxpY2F0 aW9uIG9uIHNwZWNpZmljIFRDUCBvciBVbml4IHNvY2tldCwgZS5nLjo6CisgICAgICAgICA6YXR0 cjpgaGVscGVycy5BY2Nlc3NMb2dnZXIuTE9HX0ZPUk1BVGAuCisgICAgOnBhcmFtIGludCBtYXhf bGluZV9zaXplOiBPcHRpb25hbCBtYXhpbXVtIGhlYWRlciBsaW5lIHNpemUuIERlZmF1bHQ6Cisg ICAgICAgICBgYDgxOTBgYC4KKy0gICA6cGFyYW0gaW50IG1heF9oZWFkZXJzOiBPcHRpb25hbCBt YXhpbXVtIGhlYWRlciBzaXplLiBEZWZhdWx0OiBgYDMyNzY4YGAuCistICAgOnBhcmFtIGludCBt YXhfZmllbGRfc2l6ZTogT3B0aW9uYWwgbWF4aW11bSBoZWFkZXIgZmllbGQgc2l6ZS4gRGVmYXVs dDoKKysgICA6cGFyYW0gaW50IG1heF9maWVsZF9zaXplOiBPcHRpb25hbCBtYXhpbXVtIGhlYWRl ciBjb21iaW5lZCBuYW1lIGFuZCB2YWx1ZSBzaXplLiBEZWZhdWx0OgorICAgICAgICAgYGA4MTkw YGAuCisrICAgOnBhcmFtIGludCBtYXhfaGVhZGVyczogT3B0aW9uYWwgbWF4aW11bSBudW1iZXIg b2YgaGVhZGVycyBhbmQgdHJhaWxlcnMgY29tYmluZWQuIERlZmF1bHQ6CisrICAgICAgICBgYDEy OGBgLgorIAorICAgIDpwYXJhbSBmbG9hdCBsaW5nZXJpbmdfdGltZTogTWF4aW11bSB0aW1lIGR1 cmluZyB3aGljaCB0aGUgc2VydmVyCisgICAgICAgICByZWFkcyBhbmQgaWdub3JlcyBhZGRpdGlv bmFsIGRhdGEgY29taW5nIGZyb20gdGhlIGNsaWVudCB3aGVuCitkaWZmIC0tZ2l0IGEvdGVzdHMv dGVzdF9jbGllbnRfZnVuY3Rpb25hbC5weSBiL3Rlc3RzL3Rlc3RfY2xpZW50X2Z1bmN0aW9uYWwu cHkKK2luZGV4IDJiYTZlOWEuLjQyZDBkMjkgMTAwNjQ0CistLS0gYS90ZXN0cy90ZXN0X2NsaWVu dF9mdW5jdGlvbmFsLnB5CisrKysgYi90ZXN0cy90ZXN0X2NsaWVudF9mdW5jdGlvbmFsLnB5CitA QCAtNDA1NiwxNyArNDA1NiwxNyBAQCBhc3luYyBkZWYgdGVzdF9odHRwX2VtcHR5X2RhdGFfdGV4 dChhaW9odHRwX2NsaWVudCkgLT4gTm9uZToKKyAgICAgICAgIGFzc2VydCByZXNwLmhlYWRlcnNb IkNvbnRlbnQtVHlwZSJdID09ICJ0ZXh0L3BsYWluOyBjaGFyc2V0PXV0Zi04IgorIAorIAorLWFz eW5jIGRlZiB0ZXN0X21heF9maWVsZF9zaXplX3Nlc3Npb25fZGVmYXVsdChhaW9odHRwX2NsaWVu dCkgLT4gTm9uZToKKy0gICAgYXN5bmMgZGVmIGhhbmRsZXIocmVxdWVzdCk6CistICAgICAgICBy ZXR1cm4gd2ViLlJlc3BvbnNlKGhlYWRlcnM9eyJDdXN0b20iOiAieCIgKiA4MTkwfSkKKythc3lu YyBkZWYgdGVzdF9tYXhfZmllbGRfc2l6ZV9zZXNzaW9uX2RlZmF1bHQoYWlvaHR0cF9jbGllbnQ6 IEFpb2h0dHBDbGllbnQpIC0+IE5vbmU6CisrICAgIGFzeW5jIGRlZiBoYW5kbGVyKHJlcXVlc3Q6 IHdlYi5SZXF1ZXN0KSAtPiB3ZWIuUmVzcG9uc2U6CisrICAgICAgICByZXR1cm4gd2ViLlJlc3Bv bnNlKGhlYWRlcnM9eyJDdXN0b20iOiAieCIgKiA4MTgyfSkKKyAKKyAgICAgYXBwID0gd2ViLkFw cGxpY2F0aW9uKCkKKyAgICAgYXBwLmFkZF9yb3V0ZXMoW3dlYi5nZXQoIi8iLCBoYW5kbGVyKV0p CisgCisgICAgIGNsaWVudCA9IGF3YWl0IGFpb2h0dHBfY2xpZW50KGFwcCkKKyAKKy0gICAgYXN5 bmMgd2l0aCBhd2FpdCBjbGllbnQuZ2V0KCIvIikgYXMgcmVzcDoKKy0gICAgICAgIGFzc2VydCBy ZXNwLmhlYWRlcnNbIkN1c3RvbSJdID09ICJ4IiAqIDgxOTAKKysgICAgYXN5bmMgd2l0aCBjbGll bnQuZ2V0KCIvIikgYXMgcmVzcDoKKysgICAgICAgIGFzc2VydCByZXNwLmhlYWRlcnNbIkN1c3Rv bSJdID09ICJ4IiAqIDgxODIKKyAKKyAKKyBhc3luYyBkZWYgdGVzdF9tYXhfZmllbGRfc2l6ZV9z ZXNzaW9uX2RlZmF1bHRfZmFpbChhaW9odHRwX2NsaWVudCkgLT4gTm9uZToKK0BAIC00MDgxLDQz ICs0MDgxLDk2IEBAIGFzeW5jIGRlZiB0ZXN0X21heF9maWVsZF9zaXplX3Nlc3Npb25fZGVmYXVs dF9mYWlsKGFpb2h0dHBfY2xpZW50KSAtPiBOb25lOgorICAgICAgICAgYXdhaXQgY2xpZW50Lmdl dCgiLyIpCisgCisgCistYXN5bmMgZGVmIHRlc3RfbWF4X2ZpZWxkX3NpemVfc2Vzc2lvbl9leHBs aWNpdChhaW9odHRwX2NsaWVudCkgLT4gTm9uZToKKy0gICAgYXN5bmMgZGVmIGhhbmRsZXIocmVx dWVzdCk6CistICAgICAgICByZXR1cm4gd2ViLlJlc3BvbnNlKGhlYWRlcnM9eyJDdXN0b20iOiAi eCIgKiA4MTkxfSkKKythc3luYyBkZWYgdGVzdF9tYXhfZmllbGRfc2l6ZV9zZXNzaW9uX2V4cGxp Y2l0KGFpb2h0dHBfY2xpZW50OiBBaW9odHRwQ2xpZW50KSAtPiBOb25lOgorKyAgICBhc3luYyBk ZWYgaGFuZGxlcihyZXF1ZXN0OiB3ZWIuUmVxdWVzdCkgLT4gd2ViLlJlc3BvbnNlOgorKyAgICAg ICAgcmV0dXJuIHdlYi5SZXNwb25zZShoZWFkZXJzPXsiQ3VzdG9tIjogIngiICogODE5Mn0pCisg CisgICAgIGFwcCA9IHdlYi5BcHBsaWNhdGlvbigpCisgICAgIGFwcC5hZGRfcm91dGVzKFt3ZWIu Z2V0KCIvIiwgaGFuZGxlcildKQorIAorLSAgICBjbGllbnQgPSBhd2FpdCBhaW9odHRwX2NsaWVu dChhcHAsIG1heF9maWVsZF9zaXplPTgxOTEpCisrICAgIGNsaWVudCA9IGF3YWl0IGFpb2h0dHBf Y2xpZW50KGFwcCwgbWF4X2ZpZWxkX3NpemU9ODIwMCkKKyAKKy0gICAgYXN5bmMgd2l0aCBhd2Fp dCBjbGllbnQuZ2V0KCIvIikgYXMgcmVzcDoKKy0gICAgICAgIGFzc2VydCByZXNwLmhlYWRlcnNb IkN1c3RvbSJdID09ICJ4IiAqIDgxOTEKKysgICAgYXN5bmMgd2l0aCBjbGllbnQuZ2V0KCIvIikg YXMgcmVzcDoKKysgICAgICAgIGFzc2VydCByZXNwLmhlYWRlcnNbIkN1c3RvbSJdID09ICJ4IiAq IDgxOTIKKyAKKyAKKy1hc3luYyBkZWYgdGVzdF9tYXhfZmllbGRfc2l6ZV9yZXF1ZXN0X2V4cGxp Y2l0KGFpb2h0dHBfY2xpZW50KSAtPiBOb25lOgorLSAgICBhc3luYyBkZWYgaGFuZGxlcihyZXF1 ZXN0KToKKy0gICAgICAgIHJldHVybiB3ZWIuUmVzcG9uc2UoaGVhZGVycz17IkN1c3RvbSI6ICJ4 IiAqIDgxOTF9KQorK2FzeW5jIGRlZiB0ZXN0X21heF9oZWFkZXJzX3Nlc3Npb25fZGVmYXVsdChh aW9odHRwX2NsaWVudDogQWlvaHR0cENsaWVudCkgLT4gTm9uZToKKysgICAgYXN5bmMgZGVmIGhh bmRsZXIocmVxdWVzdDogd2ViLlJlcXVlc3QpIC0+IHdlYi5SZXNwb25zZToKKysgICAgICAgIHJl dHVybiB3ZWIuUmVzcG9uc2UoaGVhZGVycz17ZiJDdXN0b20te2l9IjogIngiIGZvciBpIGluIHJh bmdlKDEyMCl9KQorIAorICAgICBhcHAgPSB3ZWIuQXBwbGljYXRpb24oKQorICAgICBhcHAuYWRk X3JvdXRlcyhbd2ViLmdldCgiLyIsIGhhbmRsZXIpXSkKKyAKKyAgICAgY2xpZW50ID0gYXdhaXQg YWlvaHR0cF9jbGllbnQoYXBwKQorIAorLSAgICBhc3luYyB3aXRoIGF3YWl0IGNsaWVudC5nZXQo Ii8iLCBtYXhfZmllbGRfc2l6ZT04MTkxKSBhcyByZXNwOgorLSAgICAgICAgYXNzZXJ0IHJlc3Au aGVhZGVyc1siQ3VzdG9tIl0gPT0gIngiICogODE5MQorKyAgICBhc3luYyB3aXRoIGNsaWVudC5n ZXQoIi8iKSBhcyByZXNwOgorKyAgICAgICAgYXNzZXJ0IHJlc3AuaGVhZGVyc1siQ3VzdG9tLTEx OSJdID09ICJ4IgorIAorIAorLWFzeW5jIGRlZiB0ZXN0X21heF9saW5lX3NpemVfc2Vzc2lvbl9k ZWZhdWx0KGFpb2h0dHBfY2xpZW50KSAtPiBOb25lOgorLSAgICBhc3luYyBkZWYgaGFuZGxlcihy ZXF1ZXN0KToKKy0gICAgICAgIHJldHVybiB3ZWIuUmVzcG9uc2Uoc3RhdHVzPTIwMCwgcmVhc29u PSJ4IiAqIDgxOTApCisrYXN5bmMgZGVmIHRlc3RfbWF4X2hlYWRlcnNfc2Vzc2lvbl9kZWZhdWx0 X2ZhaWwoCisrICAgIGFpb2h0dHBfY2xpZW50OiBBaW9odHRwQ2xpZW50LAorKykgLT4gTm9uZToK KysgICAgYXN5bmMgZGVmIGhhbmRsZXIocmVxdWVzdDogd2ViLlJlcXVlc3QpIC0+IHdlYi5SZXNw b25zZToKKysgICAgICAgIHJldHVybiB3ZWIuUmVzcG9uc2UoaGVhZGVycz17ZiJDdXN0b20te2l9 IjogIngiIGZvciBpIGluIHJhbmdlKDEyOSl9KQorIAorICAgICBhcHAgPSB3ZWIuQXBwbGljYXRp b24oKQorICAgICBhcHAuYWRkX3JvdXRlcyhbd2ViLmdldCgiLyIsIGhhbmRsZXIpXSkKKyAKKyAg ICAgY2xpZW50ID0gYXdhaXQgYWlvaHR0cF9jbGllbnQoYXBwKQorKyAgICB3aXRoIHB5dGVzdC5y YWlzZXMoYWlvaHR0cC5DbGllbnRSZXNwb25zZUVycm9yKToKKysgICAgICAgIGF3YWl0IGNsaWVu dC5nZXQoIi8iKQorIAorLSAgICBhc3luYyB3aXRoIGF3YWl0IGNsaWVudC5nZXQoIi8iKSBhcyBy ZXNwOgorLSAgICAgICAgYXNzZXJ0IHJlc3AucmVhc29uID09ICJ4IiAqIDgxOTAKKysKKythc3lu YyBkZWYgdGVzdF9tYXhfaGVhZGVyc19zZXNzaW9uX2V4cGxpY2l0KGFpb2h0dHBfY2xpZW50OiBB aW9odHRwQ2xpZW50KSAtPiBOb25lOgorKyAgICBhc3luYyBkZWYgaGFuZGxlcihyZXF1ZXN0OiB3 ZWIuUmVxdWVzdCkgLT4gd2ViLlJlc3BvbnNlOgorKyAgICAgICAgcmV0dXJuIHdlYi5SZXNwb25z ZShoZWFkZXJzPXtmIkN1c3RvbS17aX0iOiAieCIgZm9yIGkgaW4gcmFuZ2UoMTMwKX0pCisrCisr ICAgIGFwcCA9IHdlYi5BcHBsaWNhdGlvbigpCisrICAgIGFwcC5hZGRfcm91dGVzKFt3ZWIuZ2V0 KCIvIiwgaGFuZGxlcildKQorKworKyAgICBjbGllbnQgPSBhd2FpdCBhaW9odHRwX2NsaWVudChh cHAsIG1heF9oZWFkZXJzPTE0MCkKKysKKysgICAgYXN5bmMgd2l0aCBjbGllbnQuZ2V0KCIvIikg YXMgcmVzcDoKKysgICAgICAgIGFzc2VydCByZXNwLmhlYWRlcnNbIkN1c3RvbS0xMjkiXSA9PSAi eCIKKysKKysKKythc3luYyBkZWYgdGVzdF9tYXhfaGVhZGVyc19yZXF1ZXN0X2V4cGxpY2l0KGFp b2h0dHBfY2xpZW50OiBBaW9odHRwQ2xpZW50KSAtPiBOb25lOgorKyAgICBhc3luYyBkZWYgaGFu ZGxlcihyZXF1ZXN0OiB3ZWIuUmVxdWVzdCkgLT4gd2ViLlJlc3BvbnNlOgorKyAgICAgICAgcmV0 dXJuIHdlYi5SZXNwb25zZShoZWFkZXJzPXtmIkN1c3RvbS17aX0iOiAieCIgZm9yIGkgaW4gcmFu Z2UoMTMwKX0pCisrCisrICAgIGFwcCA9IHdlYi5BcHBsaWNhdGlvbigpCisrICAgIGFwcC5hZGRf cm91dGVzKFt3ZWIuZ2V0KCIvIiwgaGFuZGxlcildKQorKworKyAgICBjbGllbnQgPSBhd2FpdCBh aW9odHRwX2NsaWVudChhcHApCisrCisrICAgIGFzeW5jIHdpdGggY2xpZW50LmdldCgiLyIsIG1h eF9oZWFkZXJzPTE0MCkgYXMgcmVzcDoKKysgICAgICAgIGFzc2VydCByZXNwLmhlYWRlcnNbIkN1 c3RvbS0xMjkiXSA9PSAieCIKKysKKysKKythc3luYyBkZWYgdGVzdF9tYXhfZmllbGRfc2l6ZV9y ZXF1ZXN0X2V4cGxpY2l0KGFpb2h0dHBfY2xpZW50OiBBaW9odHRwQ2xpZW50KSAtPiBOb25lOgor KyAgICBhc3luYyBkZWYgaGFuZGxlcihyZXF1ZXN0OiB3ZWIuUmVxdWVzdCkgLT4gd2ViLlJlc3Bv bnNlOgorKyAgICAgICAgcmV0dXJuIHdlYi5SZXNwb25zZShoZWFkZXJzPXsiQ3VzdG9tIjogIngi ICogODE5Mn0pCisrCisrICAgIGFwcCA9IHdlYi5BcHBsaWNhdGlvbigpCisrICAgIGFwcC5hZGRf cm91dGVzKFt3ZWIuZ2V0KCIvIiwgaGFuZGxlcildKQorKworKyAgICBjbGllbnQgPSBhd2FpdCBh aW9odHRwX2NsaWVudChhcHApCisrCisrICAgIGFzeW5jIHdpdGggY2xpZW50LmdldCgiLyIsIG1h eF9maWVsZF9zaXplPTgyMDApIGFzIHJlc3A6CisrICAgICAgICBhc3NlcnQgcmVzcC5oZWFkZXJz WyJDdXN0b20iXSA9PSAieCIgKiA4MTkyCisrCisrCisrYXN5bmMgZGVmIHRlc3RfbWF4X2xpbmVf c2l6ZV9zZXNzaW9uX2RlZmF1bHQoYWlvaHR0cF9jbGllbnQ6IEFpb2h0dHBDbGllbnQpIC0+IE5v bmU6CisrICAgIGFzeW5jIGRlZiBoYW5kbGVyKHJlcXVlc3Q6IHdlYi5SZXF1ZXN0KSAtPiB3ZWIu UmVzcG9uc2U6CisrICAgICAgICByZXR1cm4gd2ViLlJlc3BvbnNlKHN0YXR1cz0yMDAsIHJlYXNv bj0ieCIgKiA4MTc3KQorKworKyAgICBhcHAgPSB3ZWIuQXBwbGljYXRpb24oKQorKyAgICBhcHAu YWRkX3JvdXRlcyhbd2ViLmdldCgiLyIsIGhhbmRsZXIpXSkKKysKKysgICAgY2xpZW50ID0gYXdh aXQgYWlvaHR0cF9jbGllbnQoYXBwKQorKworKyAgICBhc3luYyB3aXRoIGNsaWVudC5nZXQoIi8i KSBhcyByZXNwOgorKyAgICAgICAgYXNzZXJ0IHJlc3AucmVhc29uID09ICJ4IiAqIDgxNzcKKyAK KyAKKyBhc3luYyBkZWYgdGVzdF9tYXhfbGluZV9zaXplX3Nlc3Npb25fZGVmYXVsdF9mYWlsKGFp b2h0dHBfY2xpZW50KSAtPiBOb25lOgorQEAgLTQxMzIsMzAgKzQxODUsMzAgQEAgYXN5bmMgZGVm IHRlc3RfbWF4X2xpbmVfc2l6ZV9zZXNzaW9uX2RlZmF1bHRfZmFpbChhaW9odHRwX2NsaWVudCkg LT4gTm9uZToKKyAgICAgICAgIGF3YWl0IGNsaWVudC5nZXQoIi8iKQorIAorIAorLWFzeW5jIGRl ZiB0ZXN0X21heF9saW5lX3NpemVfc2Vzc2lvbl9leHBsaWNpdChhaW9odHRwX2NsaWVudCkgLT4g Tm9uZToKKy0gICAgYXN5bmMgZGVmIGhhbmRsZXIocmVxdWVzdCk6CistICAgICAgICByZXR1cm4g d2ViLlJlc3BvbnNlKHN0YXR1cz0yMDAsIHJlYXNvbj0ieCIgKiA4MTkxKQorK2FzeW5jIGRlZiB0 ZXN0X21heF9saW5lX3NpemVfc2Vzc2lvbl9leHBsaWNpdChhaW9odHRwX2NsaWVudDogQWlvaHR0 cENsaWVudCkgLT4gTm9uZToKKysgICAgYXN5bmMgZGVmIGhhbmRsZXIocmVxdWVzdDogd2ViLlJl cXVlc3QpIC0+IHdlYi5SZXNwb25zZToKKysgICAgICAgIHJldHVybiB3ZWIuUmVzcG9uc2Uoc3Rh dHVzPTIwMCwgcmVhc29uPSJ4IiAqIDgxOTcpCisgCisgICAgIGFwcCA9IHdlYi5BcHBsaWNhdGlv bigpCisgICAgIGFwcC5hZGRfcm91dGVzKFt3ZWIuZ2V0KCIvIiwgaGFuZGxlcildKQorIAorLSAg ICBjbGllbnQgPSBhd2FpdCBhaW9odHRwX2NsaWVudChhcHAsIG1heF9saW5lX3NpemU9ODE5MSkK KysgICAgY2xpZW50ID0gYXdhaXQgYWlvaHR0cF9jbGllbnQoYXBwLCBtYXhfbGluZV9zaXplPTgy MTApCisgCistICAgIGFzeW5jIHdpdGggYXdhaXQgY2xpZW50LmdldCgiLyIpIGFzIHJlc3A6Cist ICAgICAgICBhc3NlcnQgcmVzcC5yZWFzb24gPT0gIngiICogODE5MQorKyAgICBhc3luYyB3aXRo IGNsaWVudC5nZXQoIi8iKSBhcyByZXNwOgorKyAgICAgICAgYXNzZXJ0IHJlc3AucmVhc29uID09 ICJ4IiAqIDgxOTcKKyAKKyAKKy1hc3luYyBkZWYgdGVzdF9tYXhfbGluZV9zaXplX3JlcXVlc3Rf ZXhwbGljaXQoYWlvaHR0cF9jbGllbnQpIC0+IE5vbmU6CistICAgIGFzeW5jIGRlZiBoYW5kbGVy KHJlcXVlc3QpOgorLSAgICAgICAgcmV0dXJuIHdlYi5SZXNwb25zZShzdGF0dXM9MjAwLCByZWFz b249IngiICogODE5MSkKKythc3luYyBkZWYgdGVzdF9tYXhfbGluZV9zaXplX3JlcXVlc3RfZXhw bGljaXQoYWlvaHR0cF9jbGllbnQ6IEFpb2h0dHBDbGllbnQpIC0+IE5vbmU6CisrICAgIGFzeW5j IGRlZiBoYW5kbGVyKHJlcXVlc3Q6IHdlYi5SZXF1ZXN0KSAtPiB3ZWIuUmVzcG9uc2U6CisrICAg ICAgICByZXR1cm4gd2ViLlJlc3BvbnNlKHN0YXR1cz0yMDAsIHJlYXNvbj0ieCIgKiA4MTk3KQor IAorICAgICBhcHAgPSB3ZWIuQXBwbGljYXRpb24oKQorICAgICBhcHAuYWRkX3JvdXRlcyhbd2Vi LmdldCgiLyIsIGhhbmRsZXIpXSkKKyAKKyAgICAgY2xpZW50ID0gYXdhaXQgYWlvaHR0cF9jbGll bnQoYXBwKQorIAorLSAgICBhc3luYyB3aXRoIGF3YWl0IGNsaWVudC5nZXQoIi8iLCBtYXhfbGlu ZV9zaXplPTgxOTEpIGFzIHJlc3A6CistICAgICAgICBhc3NlcnQgcmVzcC5yZWFzb24gPT0gIngi ICogODE5MQorKyAgICBhc3luYyB3aXRoIGNsaWVudC5nZXQoIi8iLCBtYXhfbGluZV9zaXplPTgy MTApIGFzIHJlc3A6CisrICAgICAgICBhc3NlcnQgcmVzcC5yZWFzb24gPT0gIngiICogODE5Nwor IAorIAorIGFzeW5jIGRlZiB0ZXN0X3JlamVjdGVkX3VwbG9hZCgKK2RpZmYgLS1naXQgYS90ZXN0 cy90ZXN0X2h0dHBfZXhjZXB0aW9ucy5weSBiL3Rlc3RzL3Rlc3RfaHR0cF9leGNlcHRpb25zLnB5 CitpbmRleCBjZDNiMDhmLi42MTg2YTcxIDEwMDY0NAorLS0tIGEvdGVzdHMvdGVzdF9odHRwX2V4 Y2VwdGlvbnMucHkKKysrKyBiL3Rlc3RzL3Rlc3RfaHR0cF9leGNlcHRpb25zLnB5CitAQCAtNjks MzIgKzY5LDMyIEBAIGNsYXNzIFRlc3RCYWRIdHRwTWVzc2FnZToKKyAKKyBjbGFzcyBUZXN0TGlu ZVRvb0xvbmc6CisgICAgIGRlZiB0ZXN0X2N0b3Ioc2VsZikgLT4gTm9uZToKKy0gICAgICAgIGVy ciA9IGh0dHBfZXhjZXB0aW9ucy5MaW5lVG9vTG9uZygic3BhbSIsICIxMCIsICIxMiIpCisrICAg ICAgICBlcnIgPSBodHRwX2V4Y2VwdGlvbnMuTGluZVRvb0xvbmcoYiJzcGFtIiwgMTApCisgICAg ICAgICBhc3NlcnQgZXJyLmNvZGUgPT0gNDAwCistICAgICAgICBhc3NlcnQgZXJyLm1lc3NhZ2Ug PT0gIkdvdCBtb3JlIHRoYW4gMTAgYnl0ZXMgKDEyKSB3aGVuIHJlYWRpbmcgc3BhbS4iCisrICAg ICAgICBhc3NlcnQgZXJyLm1lc3NhZ2UgPT0gIkdvdCBtb3JlIHRoYW4gMTAgYnl0ZXMgd2hlbiBy ZWFkaW5nOiBiJ3NwYW0nLiIKKyAgICAgICAgIGFzc2VydCBlcnIuaGVhZGVycyBpcyBOb25lCisg CisgICAgIGRlZiB0ZXN0X3BpY2tsZShzZWxmKSAtPiBOb25lOgorLSAgICAgICAgZXJyID0gaHR0 cF9leGNlcHRpb25zLkxpbmVUb29Mb25nKGxpbmU9InNwYW0iLCBsaW1pdD0iMTAiLCBhY3R1YWxf c2l6ZT0iMTIiKQorKyAgICAgICAgZXJyID0gaHR0cF9leGNlcHRpb25zLkxpbmVUb29Mb25nKGxp bmU9YiJzcGFtIiwgbGltaXQ9MTAsIGFjdHVhbF9zaXplPSIxMiIpCisgICAgICAgICBlcnIuZm9v ID0gImJhciIKKyAgICAgICAgIGZvciBwcm90byBpbiByYW5nZShwaWNrbGUuSElHSEVTVF9QUk9U T0NPTCArIDEpOgorICAgICAgICAgICAgIHBpY2tsZWQgPSBwaWNrbGUuZHVtcHMoZXJyLCBwcm90 bykKKyAgICAgICAgICAgICBlcnIyID0gcGlja2xlLmxvYWRzKHBpY2tsZWQpCisgICAgICAgICAg ICAgYXNzZXJ0IGVycjIuY29kZSA9PSA0MDAKKy0gICAgICAgICAgICBhc3NlcnQgZXJyMi5tZXNz YWdlID09ICgiR290IG1vcmUgdGhhbiAxMCBieXRlcyAoMTIpIHdoZW4gcmVhZGluZyBzcGFtLiIp CisrICAgICAgICAgICAgYXNzZXJ0IGVycjIubWVzc2FnZSA9PSAoIkdvdCBtb3JlIHRoYW4gMTAg Ynl0ZXMgd2hlbiByZWFkaW5nOiBiJ3NwYW0nLiIpCisgICAgICAgICAgICAgYXNzZXJ0IGVycjIu aGVhZGVycyBpcyBOb25lCisgICAgICAgICAgICAgYXNzZXJ0IGVycjIuZm9vID09ICJiYXIiCisg CisgICAgIGRlZiB0ZXN0X3N0cihzZWxmKSAtPiBOb25lOgorLSAgICAgICAgZXJyID0gaHR0cF9l eGNlcHRpb25zLkxpbmVUb29Mb25nKGxpbmU9InNwYW0iLCBsaW1pdD0iMTAiLCBhY3R1YWxfc2l6 ZT0iMTIiKQorLSAgICAgICAgZXhwZWN0ZWQgPSAiNDAwLCBtZXNzYWdlOlxuICBHb3QgbW9yZSB0 aGFuIDEwIGJ5dGVzICgxMikgd2hlbiByZWFkaW5nIHNwYW0uIgorKyAgICAgICAgZXJyID0gaHR0 cF9leGNlcHRpb25zLkxpbmVUb29Mb25nKGxpbmU9YiJzcGFtIiwgbGltaXQ9MTApCisrICAgICAg ICBleHBlY3RlZCA9ICI0MDAsIG1lc3NhZ2U6XG4gIEdvdCBtb3JlIHRoYW4gMTAgYnl0ZXMgd2hl biByZWFkaW5nOiBiJ3NwYW0nLiIKKyAgICAgICAgIGFzc2VydCBzdHIoZXJyKSA9PSBleHBlY3Rl ZAorIAorICAgICBkZWYgdGVzdF9yZXByKHNlbGYpIC0+IE5vbmU6CistICAgICAgICBlcnIgPSBo dHRwX2V4Y2VwdGlvbnMuTGluZVRvb0xvbmcobGluZT0ic3BhbSIsIGxpbWl0PSIxMCIsIGFjdHVh bF9zaXplPSIxMiIpCisrICAgICAgICBlcnIgPSBodHRwX2V4Y2VwdGlvbnMuTGluZVRvb0xvbmco bGluZT1iInNwYW0iLCBsaW1pdD0xMCkKKyAgICAgICAgIGFzc2VydCByZXByKGVycikgPT0gKAor LSAgICAgICAgICAgICI8TGluZVRvb0xvbmc6IDQwMCwgbWVzc2FnZT0nR290IG1vcmUgdGhhbiAi CistICAgICAgICAgICAgIjEwIGJ5dGVzICgxMikgd2hlbiByZWFkaW5nIHNwYW0uJz4iCisrICAg ICAgICAgICAgJzxMaW5lVG9vTG9uZzogNDAwLCBtZXNzYWdlPSJHb3QgbW9yZSB0aGFuICcKKysg ICAgICAgICAgICAiMTAgYnl0ZXMgd2hlbiByZWFkaW5nOiBiJ3NwYW0nLlwiPiIKKyAgICAgICAg ICkKKyAKKyAKK2RpZmYgLS1naXQgYS90ZXN0cy90ZXN0X2h0dHBfcGFyc2VyLnB5IGIvdGVzdHMv dGVzdF9odHRwX3BhcnNlci5weQoraW5kZXggMzUyYjFmOC4uYTkxMzkyMSAxMDA2NDQKKy0tLSBh L3Rlc3RzL3Rlc3RfaHR0cF9wYXJzZXIucHkKKysrKyBiL3Rlc3RzL3Rlc3RfaHR0cF9wYXJzZXIu cHkKK0BAIC0yMiw2ICsyMiw3IEBAIGZyb20gYWlvaHR0cC5odHRwX3BhcnNlciBpbXBvcnQgKAor ICAgICBIdHRwUGF5bG9hZFBhcnNlciwKKyAgICAgSHR0cFJlcXVlc3RQYXJzZXIsCisgICAgIEh0 dHBSZXF1ZXN0UGFyc2VyUHksCisrICAgIEh0dHBSZXNwb25zZVBhcnNlciwKKyAgICAgSHR0cFJl c3BvbnNlUGFyc2VyUHksCisgICAgIEh0dHBWZXJzaW9uLAorICkKK0BAIC02Nyw3ICs2OCw3IEBA IGRlZiBwYXJzZXIobG9vcDogQW55LCBwcm90b2NvbDogQW55LCByZXF1ZXN0OiBBbnkpOgorICAg ICAgICAgbG9vcCwKKyAgICAgICAgIDIqKjE2LAorICAgICAgICAgbWF4X2xpbmVfc2l6ZT04MTkw LAorLSAgICAgICAgbWF4X2hlYWRlcnM9MzI3NjgsCisrICAgICAgICBtYXhfaGVhZGVycz0xMjgs CisgICAgICAgICBtYXhfZmllbGRfc2l6ZT04MTkwLAorICAgICApCisgCitAQCAtODYsNyArODcs NyBAQCBkZWYgcmVzcG9uc2UobG9vcDogQW55LCBwcm90b2NvbDogQW55LCByZXF1ZXN0OiBBbnkp OgorICAgICAgICAgbG9vcCwKKyAgICAgICAgIDIqKjE2LAorICAgICAgICAgbWF4X2xpbmVfc2l6 ZT04MTkwLAorLSAgICAgICAgbWF4X2hlYWRlcnM9MzI3NjgsCisrICAgICAgICBtYXhfaGVhZGVy cz0xMjgsCisgICAgICAgICBtYXhfZmllbGRfc2l6ZT04MTkwLAorICAgICAgICAgcmVhZF91bnRp bF9lb2Y9VHJ1ZSwKKyAgICAgKQorQEAgLTI2MiwxNSArMjYzLDYgQEAgZGVmIHRlc3Rfd2hpdGVz cGFjZV9iZWZvcmVfaGVhZGVyKHBhcnNlcjogQW55KSAtPiBOb25lOgorICAgICAgICAgcGFyc2Vy LmZlZWRfZGF0YSh0ZXh0KQorIAorIAorLWRlZiB0ZXN0X3BhcnNlX2hlYWRlcnNfbG9uZ2xpbmUo cGFyc2VyOiBBbnkpIC0+IE5vbmU6CistICAgIGludmFsaWRfdW5pY29kZV9ieXRlID0gYiJceGQ5 IgorLSAgICBoZWFkZXJfbmFtZSA9IGIiVGVzdCIgKyBpbnZhbGlkX3VuaWNvZGVfYnl0ZSArIGIi SGVhZGVyIiArIGIiQSIgKiA4MTkyCistICAgIHRleHQgPSBiIkdFVCAvdGVzdCBIVFRQLzEuMVxy XG4iICsgaGVhZGVyX25hbWUgKyBiIjogdGVzdFxyXG4iICsgYiJcclxuIiArIGIiXHJcbiIKKy0g ICAgd2l0aCBweXRlc3QucmFpc2VzKChodHRwX2V4Y2VwdGlvbnMuTGluZVRvb0xvbmcsIGh0dHBf ZXhjZXB0aW9ucy5CYWRIdHRwTWVzc2FnZSkpOgorLSAgICAgICAgIyBGSVhNRTogYExpbmVUb29M b25nYCBkb2Vzbid0IHNlZW0gdG8gYWN0dWFsbHkgYmUgaGFwcGVuaW5nCistICAgICAgICBwYXJz ZXIuZmVlZF9kYXRhKHRleHQpCistCistCisgQHB5dGVzdC5maXh0dXJlCisgZGVmIHhmYWlsX2Nf cGFyc2VyX3N0YXR1cyhyZXF1ZXN0KSAtPiBOb25lOgorICAgICBpZiBpc2luc3RhbmNlKHJlcXVl c3QuZ2V0Zml4dHVyZXZhbHVlKCJwYXJzZXIiKSwgSHR0cFJlcXVlc3RQYXJzZXJQeSk6CitAQCAt Njk0LDEzICs2ODYsMTQgQEAgZGVmIHRlc3RfbWF4X2hlYWRlcl9maWVsZF9zaXplKHBhcnNlciwg c2l6ZSkgLT4gTm9uZToKKyAgICAgbmFtZSA9IGIidCIgKiBzaXplCisgICAgIHRleHQgPSBiIkdF VCAvdGVzdCBIVFRQLzEuMVxyXG4iICsgbmFtZSArIGIiOmRhdGFcclxuXHJcbiIKKyAKKy0gICAg bWF0Y2ggPSBmIjQwMCwgbWVzc2FnZTpcbiAgR290IG1vcmUgdGhhbiA4MTkwIGJ5dGVzIFxcKHtz aXplfVxcKSB3aGVuIHJlYWRpbmciCisrICAgIG1hdGNoID0gIjQwMCwgbWVzc2FnZTpcbiAgR290 IG1vcmUgdGhhbiA4MTkwIGJ5dGVzIHdoZW4gcmVhZGluZyIKKyAgICAgd2l0aCBweXRlc3QucmFp c2VzKGh0dHBfZXhjZXB0aW9ucy5MaW5lVG9vTG9uZywgbWF0Y2g9bWF0Y2gpOgorLSAgICAgICAg cGFyc2VyLmZlZWRfZGF0YSh0ZXh0KQorKyAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgbGVuKHRl eHQpLCA1MDAwKTogICMgcHJhZ21hOiBubyBicmFuY2gKKysgICAgICAgICAgICBwYXJzZXIuZmVl ZF9kYXRhKHRleHRbaSA6IGkgKyA1MDAwXSkKKyAKKyAKKy1kZWYgdGVzdF9tYXhfaGVhZGVyX2Zp ZWxkX3NpemVfdW5kZXJfbGltaXQocGFyc2VyKSAtPiBOb25lOgorLSAgICBuYW1lID0gYiJ0IiAq IDgxOTAKKytkZWYgdGVzdF9tYXhfaGVhZGVyX3NpemVfdW5kZXJfbGltaXQocGFyc2VyOiBIdHRw UmVxdWVzdFBhcnNlcikgLT4gTm9uZToKKysgICAgbmFtZSA9IGIidCIgKiA4MTg1CisgICAgIHRl eHQgPSBiIkdFVCAvdGVzdCBIVFRQLzEuMVxyXG4iICsgbmFtZSArIGIiOmRhdGFcclxuXHJcbiIK KyAKKyAgICAgbWVzc2FnZXMsIHVwZ3JhZGUsIHRhaWwgPSBwYXJzZXIuZmVlZF9kYXRhKHRleHQp CitAQCAtNzIyLDEzICs3MTUsNjcgQEAgZGVmIHRlc3RfbWF4X2hlYWRlcl92YWx1ZV9zaXplKHBh cnNlciwgc2l6ZSkgLT4gTm9uZToKKyAgICAgbmFtZSA9IGIidCIgKiBzaXplCisgICAgIHRleHQg PSBiIkdFVCAvdGVzdCBIVFRQLzEuMVxyXG5kYXRhOiIgKyBuYW1lICsgYiJcclxuXHJcbiIKKyAK Ky0gICAgbWF0Y2ggPSBmIjQwMCwgbWVzc2FnZTpcbiAgR290IG1vcmUgdGhhbiA4MTkwIGJ5dGVz IFxcKHtzaXplfVxcKSB3aGVuIHJlYWRpbmciCisrICAgIG1hdGNoID0gIjQwMCwgbWVzc2FnZTpc biAgR290IG1vcmUgdGhhbiA4MTkwIGJ5dGVzIHdoZW4gcmVhZGluZyIKKysgICAgd2l0aCBweXRl c3QucmFpc2VzKGh0dHBfZXhjZXB0aW9ucy5MaW5lVG9vTG9uZywgbWF0Y2g9bWF0Y2gpOgorKyAg ICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgbGVuKHRleHQpLCA0MDAwKTogICMgcHJhZ21hOiBubyBi cmFuY2gKKysgICAgICAgICAgICBwYXJzZXIuZmVlZF9kYXRhKHRleHRbaSA6IGkgKyA0MDAwXSkK KysKKysKKytkZWYgdGVzdF9tYXhfaGVhZGVyX2NvbWJpbmVkX3NpemUocGFyc2VyOiBIdHRwUmVx dWVzdFBhcnNlcikgLT4gTm9uZToKKysgICAgayA9IGIidCIgKiA0MTAwCisrICAgIHRleHQgPSBi IkdFVCAvdGVzdCBIVFRQLzEuMVxyXG4iICsgayArIGIiOiIgKyBrICsgYiJcclxuXHJcbiIKKysK KysgICAgbWF0Y2ggPSAiNDAwLCBtZXNzYWdlOlxuICBHb3QgbW9yZSB0aGFuIDgxOTAgYnl0ZXMg d2hlbiByZWFkaW5nIgorICAgICB3aXRoIHB5dGVzdC5yYWlzZXMoaHR0cF9leGNlcHRpb25zLkxp bmVUb29Mb25nLCBtYXRjaD1tYXRjaCk6CisgICAgICAgICBwYXJzZXIuZmVlZF9kYXRhKHRleHQp CisgCisgCistZGVmIHRlc3RfbWF4X2hlYWRlcl92YWx1ZV9zaXplX3VuZGVyX2xpbWl0KHBhcnNl cikgLT4gTm9uZToKKy0gICAgdmFsdWUgPSBiIkEiICogODE5MAorK0BweXRlc3QubWFyay5wYXJh bWV0cml6ZSgic2l6ZSIsIFs0MDk2MCwgODE5MV0pCisrYXN5bmMgZGVmIHRlc3RfbWF4X3RyYWls ZXJfc2l6ZShwYXJzZXI6IEh0dHBSZXF1ZXN0UGFyc2VyLCBzaXplOiBpbnQpIC0+IE5vbmU6Cisr ICAgIHZhbHVlID0gYiJ0IiAqIHNpemUKKysgICAgdGV4dCA9ICgKKysgICAgICAgIGIiR0VUIC90 ZXN0IEhUVFAvMS4xXHJcblRyYW5zZmVyLUVuY29kaW5nOiBjaHVua2VkXHJcblxyXG4iCisrICAg ICAgICArIGhleCg0MDAwKVsyOl0uZW5jb2RlKCkKKysgICAgICAgICsgYiJcclxuIgorKyAgICAg ICAgKyBiImIiICogNDAwMAorKyAgICAgICAgKyBiIlxyXG4wXHJcbnRlc3Q6ICIKKysgICAgICAg ICsgdmFsdWUKKysgICAgICAgICsgYiJcclxuXHJcbiIKKysgICAgKQorKworKyAgICBtYXRjaCA9 ICI0MDAsIG1lc3NhZ2U6XG4gIEdvdCBtb3JlIHRoYW4gODE5MCBieXRlcyB3aGVuIHJlYWRpbmci CisrICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhodHRwX2V4Y2VwdGlvbnMuTGluZVRvb0xvbmcsIG1h dGNoPW1hdGNoKToKKysgICAgICAgIHBheWxvYWQgPSBOb25lCisrICAgICAgICBmb3IgaSBpbiBy YW5nZSgwLCBsZW4odGV4dCksIDMwMDApOiAgIyBwcmFnbWE6IG5vIGJyYW5jaAorKyAgICAgICAg ICAgIG1lc3NhZ2VzLCB1cGdyYWRlLCB0YWlsID0gcGFyc2VyLmZlZWRfZGF0YSh0ZXh0W2kgOiBp ICsgMzAwMF0pCisrICAgICAgICAgICAgaWYgbWVzc2FnZXM6CisrICAgICAgICAgICAgICAgIHBh eWxvYWQgPSBtZXNzYWdlc1swXVstMV0KKysgICAgICAgICMgVHJhaWxlcnMgYXJlIG5vdCBzZWVu IHVudGlsIHBheWxvYWQgaXMgcmVhZC4KKysgICAgICAgIGFzc2VydCBwYXlsb2FkIGlzIG5vdCBO b25lCisrICAgICAgICBhd2FpdCBwYXlsb2FkLnJlYWQoKQorKworKworK0BweXRlc3QubWFyay5w YXJhbWV0cml6ZSgiaGVhZGVycyx0cmFpbGVycyIsICgoMTI5LCAwKSwgKDAsIDEyOSksICg2NCwg NjUpKSkKKythc3luYyBkZWYgdGVzdF9tYXhfaGVhZGVycygKKysgICAgcGFyc2VyOiBIdHRwUmVx dWVzdFBhcnNlciwgaGVhZGVyczogaW50LCB0cmFpbGVyczogaW50CisrKSAtPiBOb25lOgorKyAg ICB0ZXh0ID0gKAorKyAgICAgICAgYiJHRVQgL3Rlc3QgSFRUUC8xLjFcclxuVHJhbnNmZXItRW5j b2Rpbmc6IGNodW5rZWQiCisrICAgICAgICArIGIiIi5qb2luKGIiXHJcbkhlYWRlci0lZDogVmFs dWUiICUgaSBmb3IgaSBpbiByYW5nZShoZWFkZXJzKSkKKysgICAgICAgICsgYiJcclxuXHJcbjRc clxudGVzdFxyXG4wIgorKyAgICAgICAgKyBiIiIuam9pbihiIlxyXG5UcmFpbGVyLSVkOiBWYWx1 ZSIgJSBpIGZvciBpIGluIHJhbmdlKHRyYWlsZXJzKSkKKysgICAgICAgICsgYiJcclxuXHJcbiIK KysgICAgKQorKworKyAgICBtYXRjaCA9ICJUb28gbWFueSAoaGVhZGVyc3x0cmFpbGVycykgcmVj ZWl2ZWQiCisrICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhodHRwX2V4Y2VwdGlvbnMuQmFkSHR0cE1l c3NhZ2UsIG1hdGNoPW1hdGNoKToKKysgICAgICAgIG1lc3NhZ2VzLCB1cGdyYWRlLCB0YWlsID0g cGFyc2VyLmZlZWRfZGF0YSh0ZXh0KQorKyAgICAgICAgIyBUcmFpbGVycyBhcmUgbm90IHNlZW4g dW50aWwgcGF5bG9hZCBpcyByZWFkLgorKyAgICAgICAgYXdhaXQgbWVzc2FnZXNbMF1bLTFdLnJl YWQoKQorKworKworK2RlZiB0ZXN0X21heF9oZWFkZXJfdmFsdWVfc2l6ZV91bmRlcl9saW1pdChw YXJzZXI6IEh0dHBSZXF1ZXN0UGFyc2VyKSAtPiBOb25lOgorKyAgICB2YWx1ZSA9IGIiQSIgKiA4 MTg1CisgICAgIHRleHQgPSBiIkdFVCAvdGVzdCBIVFRQLzEuMVxyXG5kYXRhOiIgKyB2YWx1ZSAr IGIiXHJcblxyXG4iCisgCisgICAgIG1lc3NhZ2VzLCB1cGdyYWRlLCB0YWlsID0gcGFyc2VyLmZl ZWRfZGF0YSh0ZXh0KQorQEAgLTc1MCwxMyArNzk3LDE2IEBAIGRlZiB0ZXN0X21heF9oZWFkZXJf dmFsdWVfc2l6ZV9jb250aW51YXRpb24ocmVzcG9uc2UsIHNpemUpIC0+IE5vbmU6CisgICAgIG5h bWUgPSBiIlQiICogKHNpemUgLSA1KQorICAgICB0ZXh0ID0gYiJIVFRQLzEuMSAyMDAgT2tcclxu ZGF0YTogdGVzdFxyXG4gIiArIG5hbWUgKyBiIlxyXG5cclxuIgorIAorLSAgICBtYXRjaCA9IGYi NDAwLCBtZXNzYWdlOlxuICBHb3QgbW9yZSB0aGFuIDgxOTAgYnl0ZXMgXFwoe3NpemV9XFwpIHdo ZW4gcmVhZGluZyIKKysgICAgbWF0Y2ggPSAiNDAwLCBtZXNzYWdlOlxuICBHb3QgbW9yZSB0aGFu IDgxOTAgYnl0ZXMgd2hlbiByZWFkaW5nIgorICAgICB3aXRoIHB5dGVzdC5yYWlzZXMoaHR0cF9l eGNlcHRpb25zLkxpbmVUb29Mb25nLCBtYXRjaD1tYXRjaCk6CistICAgICAgICByZXNwb25zZS5m ZWVkX2RhdGEodGV4dCkKKysgICAgICAgIGZvciBpIGluIHJhbmdlKDAsIGxlbih0ZXh0KSwgOTAw MCk6ICAjIHByYWdtYTogbm8gYnJhbmNoCisrICAgICAgICAgICAgcmVzcG9uc2UuZmVlZF9kYXRh KHRleHRbaSA6IGkgKyA5MDAwXSkKKyAKKyAKKy1kZWYgdGVzdF9tYXhfaGVhZGVyX3ZhbHVlX3Np emVfY29udGludWF0aW9uX3VuZGVyX2xpbWl0KHJlc3BvbnNlKSAtPiBOb25lOgorLSAgICB2YWx1 ZSA9IGIiQSIgKiA4MTg1CisrZGVmIHRlc3RfbWF4X2hlYWRlcl92YWx1ZV9zaXplX2NvbnRpbnVh dGlvbl91bmRlcl9saW1pdCgKKysgICAgcmVzcG9uc2U6IEh0dHBSZXNwb25zZVBhcnNlciwKKysp IC0+IE5vbmU6CisrICAgIHZhbHVlID0gYiJBIiAqIDgxNzkKKyAgICAgdGV4dCA9IGIiSFRUUC8x LjEgMjAwIE9rXHJcbmRhdGE6IHRlc3RcclxuICIgKyB2YWx1ZSArIGIiXHJcblxyXG4iCisgCisg ICAgIG1lc3NhZ2VzLCB1cGdyYWRlLCB0YWlsID0gcmVzcG9uc2UuZmVlZF9kYXRhKHRleHQpCitA QCAtOTk1LDEzICsxMDQ1LDEzIEBAIGRlZiB0ZXN0X2h0dHBfcmVxdWVzdF9wYXJzZXJfYmFkX25v bmFzY2lpX3VyaShwYXJzZXI6IEFueSkgLT4gTm9uZToKKyBAcHl0ZXN0Lm1hcmsucGFyYW1ldHJp emUoInNpemUiLCBbNDA5NjUsIDgxOTFdKQorIGRlZiB0ZXN0X2h0dHBfcmVxdWVzdF9tYXhfc3Rh dHVzX2xpbmUocGFyc2VyLCBzaXplKSAtPiBOb25lOgorICAgICBwYXRoID0gYiJ0IiAqIChzaXpl IC0gNSkKKy0gICAgbWF0Y2ggPSBmIjQwMCwgbWVzc2FnZTpcbiAgR290IG1vcmUgdGhhbiA4MTkw IGJ5dGVzIFxcKHtzaXplfVxcKSB3aGVuIHJlYWRpbmciCisrICAgIG1hdGNoID0gIjQwMCwgbWVz c2FnZTpcbiAgR290IG1vcmUgdGhhbiA4MTkwIGJ5dGVzIHdoZW4gcmVhZGluZyIKKyAgICAgd2l0 aCBweXRlc3QucmFpc2VzKGh0dHBfZXhjZXB0aW9ucy5MaW5lVG9vTG9uZywgbWF0Y2g9bWF0Y2gp OgorICAgICAgICAgcGFyc2VyLmZlZWRfZGF0YShiIkdFVCAvcGF0aCIgKyBwYXRoICsgYiIgSFRU UC8xLjFcclxuXHJcbiIpCisgCisgCistZGVmIHRlc3RfaHR0cF9yZXF1ZXN0X21heF9zdGF0dXNf bGluZV91bmRlcl9saW1pdChwYXJzZXIpIC0+IE5vbmU6CistICAgIHBhdGggPSBiInQiICogKDgx OTAgLSA1KQorK2RlZiB0ZXN0X2h0dHBfcmVxdWVzdF9tYXhfc3RhdHVzX2xpbmVfdW5kZXJfbGlt aXQocGFyc2VyOiBIdHRwUmVxdWVzdFBhcnNlcikgLT4gTm9uZToKKysgICAgcGF0aCA9IGIidCIg KiA4MTcyCisgICAgIG1lc3NhZ2VzLCB1cGdyYWRlZCwgdGFpbCA9IHBhcnNlci5mZWVkX2RhdGEo CisgICAgICAgICBiIkdFVCAvcGF0aCIgKyBwYXRoICsgYiIgSFRUUC8xLjFcclxuXHJcbiIKKyAg ICAgKQorQEAgLTEwNzgsMTMgKzExMjgsMTUgQEAgZGVmIHRlc3RfaHR0cF9yZXNwb25zZV9wYXJz ZXJfc3RyaWN0X29ic19saW5lX2ZvbGRpbmcocmVzcG9uc2U6IEFueSkgLT4gTm9uZToKKyBAcHl0 ZXN0Lm1hcmsucGFyYW1ldHJpemUoInNpemUiLCBbNDA5NjIsIDgxOTFdKQorIGRlZiB0ZXN0X2h0 dHBfcmVzcG9uc2VfcGFyc2VyX2JhZF9zdGF0dXNfbGluZV90b29fbG9uZyhyZXNwb25zZSwgc2l6 ZSkgLT4gTm9uZToKKyAgICAgcmVhc29uID0gYiJ0IiAqIChzaXplIC0gMikKKy0gICAgbWF0Y2gg PSBmIjQwMCwgbWVzc2FnZTpcbiAgR290IG1vcmUgdGhhbiA4MTkwIGJ5dGVzIFxcKHtzaXplfVxc KSB3aGVuIHJlYWRpbmciCisrICAgIG1hdGNoID0gIjQwMCwgbWVzc2FnZTpcbiAgR290IG1vcmUg dGhhbiA4MTkwIGJ5dGVzIHdoZW4gcmVhZGluZyIKKyAgICAgd2l0aCBweXRlc3QucmFpc2VzKGh0 dHBfZXhjZXB0aW9ucy5MaW5lVG9vTG9uZywgbWF0Y2g9bWF0Y2gpOgorICAgICAgICAgcmVzcG9u c2UuZmVlZF9kYXRhKGIiSFRUUC8xLjEgMjAwIE9rIiArIHJlYXNvbiArIGIiXHJcblxyXG4iKQor IAorIAorLWRlZiB0ZXN0X2h0dHBfcmVzcG9uc2VfcGFyc2VyX3N0YXR1c19saW5lX3VuZGVyX2xp bWl0KHJlc3BvbnNlKSAtPiBOb25lOgorLSAgICByZWFzb24gPSBiIk8iICogODE5MAorK2RlZiB0 ZXN0X2h0dHBfcmVzcG9uc2VfcGFyc2VyX3N0YXR1c19saW5lX3VuZGVyX2xpbWl0KAorKyAgICBy ZXNwb25zZTogSHR0cFJlc3BvbnNlUGFyc2VyLAorKykgLT4gTm9uZToKKysgICAgcmVhc29uID0g YiJPIiAqIDgxNzcKKyAgICAgbWVzc2FnZXMsIHVwZ3JhZGVkLCB0YWlsID0gcmVzcG9uc2UuZmVl ZF9kYXRhKAorICAgICAgICAgYiJIVFRQLzEuMSAyMDAgIiArIHJlYXNvbiArIGIiXHJcblxyXG4i CisgICAgICkKK0BAIC0xNTk0LDcgKzE2NDYsNyBAQCBkZWYgdGVzdF9wYXJzZV9iYWRfbWV0aG9k X2Zvcl9jX3BhcnNlcl9yYWlzZXMobG9vcCwgcHJvdG9jb2wpOgorICAgICAgICAgbG9vcCwKKyAg ICAgICAgIDIqKjE2LAorICAgICAgICAgbWF4X2xpbmVfc2l6ZT04MTkwLAorLSAgICAgICAgbWF4 X2hlYWRlcnM9MzI3NjgsCisrICAgICAgICBtYXhfaGVhZGVycz0xMjgsCisgICAgICAgICBtYXhf ZmllbGRfc2l6ZT04MTkwLAorICAgICApCisgCitAQCAtMTkwMSw3ICsxOTUzLDcgQEAgY2xhc3Mg VGVzdERlZmxhdGVCdWZmZXI6CisgICAgICAgICBkYnVmID0gRGVmbGF0ZUJ1ZmZlcihidWYsICJk ZWZsYXRlIikKKyAKKyAgICAgICAgICMgRmVlZCBjb21wcmVzc2VkIGRhdGEgaW4gY2h1bmtzIChz aW11bGF0aW5nIG5ldHdvcmsgc3RyZWFtaW5nKQorLSAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwg bGVuKGNvbXByZXNzZWQpLCBjaHVua19zaXplKToKKysgICAgICAgIGZvciBpIGluIHJhbmdlKDAs IGxlbihjb21wcmVzc2VkKSwgY2h1bmtfc2l6ZSk6ICAjIHByYWdtYTogbm8gYnJhbmNoCisgICAg ICAgICAgICAgY2h1bmsgPSBjb21wcmVzc2VkW2kgOiBpICsgY2h1bmtfc2l6ZV0KKyAgICAgICAg ICAgICBkYnVmLmZlZWRfZGF0YShjaHVuaywgbGVuKGNodW5rKSkKKyAKZGlmZiAtTnJ1IHB5dGhv bi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3BhdGNoZXMvQ1ZFLTIwMjYtMzQ1MTMucGF0Y2ggcHl0 aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi0zNDUxMy5wYXRjaAot LS0gcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi0zNDUxMy5w YXRjaAkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysgcHl0aG9uLWFpb2h0 dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi0zNDUxMy5wYXRjaAkyMDI2LTA3LTMx IDAzOjUwOjMyLjAwMDAwMDAwMCArMDIwMApAQCAtMCwwICsxLDE4MCBAQAorRnJvbTogU2FtIEJ1 bGwgPGdpdEBzYW1idWxsLm9yZz4KK0RhdGU6IFN1biwgMjIgRmViIDIwMjYgMTI6NTg6MjIgKzAw MDAKK1N1YmplY3Q6IFtQQVRDSF0gQm91bmQgRE5TIGNhY2hlICgjMTIxMDYpICgjMTIxMTcpCisK KyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDhhYjg0YzUyZmU1OGVmMzQ3OTRmYTliMTJmMDBi MDZlNjI2YWRjYzApCisKK1Jldmlld2VkLUJ5OiBEYW5pZWwgTGVpZGVydCA8ZGxlaWRlcnRAZGVi aWFuLm9yZz4KK09yaWdpbjogaHR0cHM6Ly9naXRodWIuY29tL2Fpby1saWJzL2Fpb2h0dHAvY29t bWl0L2M0ZDc3YzM1MzMxMjJiZTM1M2I4YWZjYThlODY3NWUzYjRjYmRhOTgKK0J1ZzogaHR0cHM6 Ly9naXRodWIuY29tL2Fpby1saWJzL2Fpb2h0dHAvc2VjdXJpdHkvYWR2aXNvcmllcy9HSFNBLWhj YzQtYzN2OC1yeDkyCitCdWctRGViaWFuLVNlY3VyaXR5OiBodHRwczovL3NlY3VyaXR5LXRyYWNr ZXIuZGViaWFuLm9yZy90cmFja2VyL0NWRS0yMDI2LTM0NTEzCitCdWctRnJlZXhpYW4tU2VjdXJp dHk6IGh0dHBzOi8vZGViLmZyZWV4aWFuLmNvbS9leHRlbmRlZC1sdHMvdHJhY2tlci9DVkUtMjAy Ni0zNDUxMworLS0tCisgYWlvaHR0cC9jb25uZWN0b3IucHkgICAgfCAyNCArKysrKysrKysrKyst LS0tCisgdGVzdHMvdGVzdF9jb25uZWN0b3IucHkgfCA3NiArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrCisgMiBmaWxlcyBjaGFuZ2VkLCA5NCBpbnNlcnRp b25zKCspLCA2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYWlvaHR0cC9jb25uZWN0b3Iu cHkgYi9haW9odHRwL2Nvbm5lY3Rvci5weQoraW5kZXggNzQyMGJkNi4uYmU3N2M5ZSAxMDA2NDQK Ky0tLSBhL2Fpb2h0dHAvY29ubmVjdG9yLnB5CisrKysgYi9haW9odHRwL2Nvbm5lY3Rvci5weQor QEAgLTczMiwyNSArNzMyLDMzIEBAIGNsYXNzIEJhc2VDb25uZWN0b3I6CisgCisgCisgY2xhc3Mg X0ROU0NhY2hlVGFibGU6CistICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0dGw6IE9wdGlvbmFsW2Zs b2F0XSA9IE5vbmUpIC0+IE5vbmU6CistICAgICAgICBzZWxmLl9hZGRyc19ycjogRGljdFtUdXBs ZVtzdHIsIGludF0sIFR1cGxlW0l0ZXJhdG9yW1Jlc29sdmVSZXN1bHRdLCBpbnRdXSA9IHt9Cisr ICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0dGw6IE9wdGlvbmFsW2Zsb2F0XSA9IE5vbmUsIG1heF9z aXplOiBpbnQgPSAxMDAwKSAtPiBOb25lOgorKyAgICAgICAgc2VsZi5fYWRkcnNfcnI6IE9yZGVy ZWREaWN0WworKyAgICAgICAgICAgIFR1cGxlW3N0ciwgaW50XSwgVHVwbGVbSXRlcmF0b3JbUmVz b2x2ZVJlc3VsdF0sIGludF0KKysgICAgICAgIF0gPSBPcmRlcmVkRGljdCgpCisgICAgICAgICBz ZWxmLl90aW1lc3RhbXBzOiBEaWN0W1R1cGxlW3N0ciwgaW50XSwgZmxvYXRdID0ge30KKyAgICAg ICAgIHNlbGYuX3R0bCA9IHR0bAorKyAgICAgICAgc2VsZi5fbWF4X3NpemUgPSBtYXhfc2l6ZQor IAorICAgICBkZWYgX19jb250YWluc19fKHNlbGYsIGhvc3Q6IG9iamVjdCkgLT4gYm9vbDoKKyAg ICAgICAgIHJldHVybiBob3N0IGluIHNlbGYuX2FkZHJzX3JyCisgCisgICAgIGRlZiBhZGQoc2Vs Ziwga2V5OiBUdXBsZVtzdHIsIGludF0sIGFkZHJzOiBMaXN0W1Jlc29sdmVSZXN1bHRdKSAtPiBO b25lOgorKyAgICAgICAgaWYga2V5IGluIHNlbGYuX2FkZHJzX3JyOgorKyAgICAgICAgICAgIHNl bGYuX2FkZHJzX3JyLm1vdmVfdG9fZW5kKGtleSkKKysKKyAgICAgICAgIHNlbGYuX2FkZHJzX3Jy W2tleV0gPSAoY3ljbGUoYWRkcnMpLCBsZW4oYWRkcnMpKQorIAorICAgICAgICAgaWYgc2VsZi5f dHRsIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgIHNlbGYuX3RpbWVzdGFtcHNba2V5XSA9IG1v bm90b25pYygpCisgCisrICAgICAgICBpZiBsZW4oc2VsZi5fYWRkcnNfcnIpID4gc2VsZi5fbWF4 X3NpemU6CisrICAgICAgICAgICAgb2xkZXN0X2tleSwgXyA9IHNlbGYuX2FkZHJzX3JyLnBvcGl0 ZW0obGFzdD1GYWxzZSkKKysgICAgICAgICAgICBzZWxmLl90aW1lc3RhbXBzLnBvcChvbGRlc3Rf a2V5LCBOb25lKQorKworICAgICBkZWYgcmVtb3ZlKHNlbGYsIGtleTogVHVwbGVbc3RyLCBpbnRd KSAtPiBOb25lOgorICAgICAgICAgc2VsZi5fYWRkcnNfcnIucG9wKGtleSwgTm9uZSkKKy0KKy0g ICAgICAgIGlmIHNlbGYuX3R0bCBpcyBub3QgTm9uZToKKy0gICAgICAgICAgICBzZWxmLl90aW1l c3RhbXBzLnBvcChrZXksIE5vbmUpCisrICAgICAgICBzZWxmLl90aW1lc3RhbXBzLnBvcChrZXks IE5vbmUpCisgCisgICAgIGRlZiBjbGVhcihzZWxmKSAtPiBOb25lOgorICAgICAgICAgc2VsZi5f YWRkcnNfcnIuY2xlYXIoKQorQEAgLTc2MSw2ICs3NjksNyBAQCBjbGFzcyBfRE5TQ2FjaGVUYWJs ZToKKyAgICAgICAgIGFkZHJzID0gbGlzdChpc2xpY2UobG9vcCwgbGVuZ3RoKSkKKyAgICAgICAg ICMgQ29uc3VtZSBvbmUgbW9yZSBlbGVtZW50IHRvIHNoaWZ0IGludGVybmFsIHN0YXRlIG9mIGBj eWNsZWAKKyAgICAgICAgIG5leHQobG9vcCkKKysgICAgICAgIHNlbGYuX2FkZHJzX3JyLm1vdmVf dG9fZW5kKGtleSkKKyAgICAgICAgIHJldHVybiBhZGRycworIAorICAgICBkZWYgZXhwaXJlZChz ZWxmLCBrZXk6IFR1cGxlW3N0ciwgaW50XSkgLT4gYm9vbDoKK0BAIC04MzksNiArODQ4LDcgQEAg Y2xhc3MgVENQQ29ubmVjdG9yKEJhc2VDb25uZWN0b3IpOgorICAgICAgICAgZmluZ2VycHJpbnQ6 IE9wdGlvbmFsW2J5dGVzXSA9IE5vbmUsCisgICAgICAgICB1c2VfZG5zX2NhY2hlOiBib29sID0g VHJ1ZSwKKyAgICAgICAgIHR0bF9kbnNfY2FjaGU6IE9wdGlvbmFsW2ludF0gPSAxMCwKKysgICAg ICAgIGRuc19jYWNoZV9tYXhfc2l6ZTogaW50ID0gMTAwMCwKKyAgICAgICAgIGZhbWlseTogc29j a2V0LkFkZHJlc3NGYW1pbHkgPSBzb2NrZXQuQWRkcmVzc0ZhbWlseS5BRl9VTlNQRUMsCisgICAg ICAgICBzc2xfY29udGV4dDogT3B0aW9uYWxbU1NMQ29udGV4dF0gPSBOb25lLAorICAgICAgICAg c3NsOiBVbmlvbltib29sLCBGaW5nZXJwcmludCwgU1NMQ29udGV4dF0gPSBUcnVlLAorQEAgLTg3 MCw3ICs4ODAsOSBAQCBjbGFzcyBUQ1BDb25uZWN0b3IoQmFzZUNvbm5lY3Rvcik6CisgICAgICAg ICBzZWxmLl9yZXNvbHZlciA9IHJlc29sdmVyCisgCisgICAgICAgICBzZWxmLl91c2VfZG5zX2Nh Y2hlID0gdXNlX2Ruc19jYWNoZQorLSAgICAgICAgc2VsZi5fY2FjaGVkX2hvc3RzID0gX0ROU0Nh Y2hlVGFibGUodHRsPXR0bF9kbnNfY2FjaGUpCisrICAgICAgICBzZWxmLl9jYWNoZWRfaG9zdHMg PSBfRE5TQ2FjaGVUYWJsZSgKKysgICAgICAgICAgICB0dGw9dHRsX2Ruc19jYWNoZSwgbWF4X3Np emU9ZG5zX2NhY2hlX21heF9zaXplCisrICAgICAgICApCisgICAgICAgICBzZWxmLl90aHJvdHRs ZV9kbnNfZnV0dXJlczogRGljdFsKKyAgICAgICAgICAgICBUdXBsZVtzdHIsIGludF0sIFNldFsi YXN5bmNpby5GdXR1cmVbTm9uZV0iXQorICAgICAgICAgXSA9IHt9CitkaWZmIC0tZ2l0IGEvdGVz dHMvdGVzdF9jb25uZWN0b3IucHkgYi90ZXN0cy90ZXN0X2Nvbm5lY3Rvci5weQoraW5kZXggYTNm ZmZjNC4uNmNiOTM5MiAxMDA2NDQKKy0tLSBhL3Rlc3RzL3Rlc3RfY29ubmVjdG9yLnB5CisrKysg Yi90ZXN0cy90ZXN0X2Nvbm5lY3Rvci5weQorQEAgLTMzNTEsNiArMzM1MSwyNSBAQCBhc3luYyBk ZWYgdGVzdF9uYW1lZF9waXBlX2Nvbm5lY3RvcigKKyAKKyAKKyBjbGFzcyBUZXN0RE5TQ2FjaGVU YWJsZToKKysgICAgaG9zdDEgPSAoImxvY2FsaG9zdCIsIDgwKQorKyAgICBob3N0MiA9ICgiZm9v IiwgODApCisrICAgIHJlc3VsdDE6IFJlc29sdmVSZXN1bHQgPSB7CisrICAgICAgICAiaG9zdG5h bWUiOiAibG9jYWxob3N0IiwKKysgICAgICAgICJob3N0IjogIjEyNy4wLjAuMSIsCisrICAgICAg ICAicG9ydCI6IDgwLAorKyAgICAgICAgImZhbWlseSI6IHNvY2tldC5BRl9JTkVULAorKyAgICAg ICAgInByb3RvIjogMCwKKysgICAgICAgICJmbGFncyI6IHNvY2tldC5BSV9OVU1FUklDSE9TVCwK KysgICAgfQorKyAgICByZXN1bHQyOiBSZXNvbHZlUmVzdWx0ID0geworKyAgICAgICAgImhvc3Ru YW1lIjogImZvbyIsCisrICAgICAgICAiaG9zdCI6ICIxMjcuMC4wLjIiLAorKyAgICAgICAgInBv cnQiOiA4MCwKKysgICAgICAgICJmYW1pbHkiOiBzb2NrZXQuQUZfSU5FVCwKKysgICAgICAgICJw cm90byI6IDAsCisrICAgICAgICAiZmxhZ3MiOiBzb2NrZXQuQUlfTlVNRVJJQ0hPU1QsCisrICAg IH0KKysKKyAgICAgQHB5dGVzdC5maXh0dXJlCisgICAgIGRlZiBkbnNfY2FjaGVfdGFibGUoc2Vs Zik6CisgICAgICAgICByZXR1cm4gX0ROU0NhY2hlVGFibGUoKQorQEAgLTM0MzYsNiArMzQ1NSw2 MyBAQCBjbGFzcyBUZXN0RE5TQ2FjaGVUYWJsZToKKyAgICAgICAgIGFkZHJzID0gZG5zX2NhY2hl X3RhYmxlLm5leHRfYWRkcnMoImZvbyIpCisgICAgICAgICBhc3NlcnQgYWRkcnMgPT0gWyIxMjcu MC4wLjEiXQorIAorKyAgICBkZWYgdGVzdF9tYXhfc2l6ZV9ldmljdGlvbihzZWxmKSAtPiBOb25l OgorKyAgICAgICAgdGFibGUgPSBfRE5TQ2FjaGVUYWJsZShtYXhfc2l6ZT0yKQorKworKyAgICAg ICAgdGFibGUuYWRkKHNlbGYuaG9zdDEsIFtzZWxmLnJlc3VsdDFdKQorKyAgICAgICAgdGFibGUu YWRkKHNlbGYuaG9zdDIsIFtzZWxmLnJlc3VsdDJdKQorKworKyAgICAgICAgaG9zdDMgPSAoImV4 YW1wbGUuY29tIiwgODApCisrICAgICAgICByZXN1bHQzOiBSZXNvbHZlUmVzdWx0ID0geworKyAg ICAgICAgICAgICoqc2VsZi5yZXN1bHQxLAorKyAgICAgICAgICAgICJob3N0bmFtZSI6ICJleGFt cGxlLmNvbSIsCisrICAgICAgICAgICAgImhvc3QiOiAiMS4yLjMuNCIsCisrICAgICAgICB9Cisr ICAgICAgICB0YWJsZS5hZGQoaG9zdDMsIFtyZXN1bHQzXSkKKysKKysgICAgICAgIGFzc2VydCBs ZW4odGFibGUuX2FkZHJzX3JyKSA9PSAyCisrICAgICAgICBhc3NlcnQgc2VsZi5ob3N0MSBub3Qg aW4gdGFibGUuX2FkZHJzX3JyCisrICAgICAgICBhc3NlcnQgaG9zdDMgaW4gdGFibGUuX2FkZHJz X3JyCisrCisrICAgIGRlZiB0ZXN0X2xydV9ldmljdGlvbihzZWxmKSAtPiBOb25lOgorKyAgICAg ICAgdGFibGUgPSBfRE5TQ2FjaGVUYWJsZShtYXhfc2l6ZT0yKQorKworKyAgICAgICAgdGFibGUu YWRkKHNlbGYuaG9zdDEsIFtzZWxmLnJlc3VsdDFdKQorKyAgICAgICAgdGFibGUuYWRkKHNlbGYu aG9zdDIsIFtzZWxmLnJlc3VsdDJdKQorKworKyAgICAgICAgdGFibGUubmV4dF9hZGRycyhzZWxm Lmhvc3QxKQorKworKyAgICAgICAgaG9zdDMgPSAoImV4YW1wbGUuY29tIiwgODApCisrICAgICAg ICByZXN1bHQzOiBSZXNvbHZlUmVzdWx0ID0geworKyAgICAgICAgICAgICoqc2VsZi5yZXN1bHQx LAorKyAgICAgICAgICAgICJob3N0bmFtZSI6ICJleGFtcGxlLmNvbSIsCisrICAgICAgICAgICAg Imhvc3QiOiAiMS4yLjMuNCIsCisrICAgICAgICB9CisrICAgICAgICB0YWJsZS5hZGQoaG9zdDMs IFtyZXN1bHQzXSkKKysKKysgICAgICAgIGFzc2VydCBzZWxmLmhvc3QxIGluIHRhYmxlLl9hZGRy c19ycgorKyAgICAgICAgYXNzZXJ0IHNlbGYuaG9zdDIgbm90IGluIHRhYmxlLl9hZGRyc19ycgor KworKyAgICBkZWYgdGVzdF9scnVfZXZpY3Rpb25fYWRkKHNlbGYpIC0+IE5vbmU6CisrICAgICAg ICB0YWJsZSA9IF9ETlNDYWNoZVRhYmxlKG1heF9zaXplPTIpCisrCisrICAgICAgICB0YWJsZS5h ZGQoc2VsZi5ob3N0MSwgW3NlbGYucmVzdWx0MV0pCisrICAgICAgICB0YWJsZS5hZGQoc2VsZi5o b3N0MiwgW3NlbGYucmVzdWx0Ml0pCisrCisrICAgICAgICAjIFJlLWFkZCwgdGh1cyBtYWtpbmcg aG9zdDEgdGhlIG1vc3QgcmVjZW50bHkgdXNlZC4KKysgICAgICAgIHRhYmxlLmFkZChzZWxmLmhv c3QxLCBbc2VsZi5yZXN1bHQxXSkKKysKKysgICAgICAgIGhvc3QzID0gKCJleGFtcGxlLmNvbSIs IDgwKQorKyAgICAgICAgcmVzdWx0MzogUmVzb2x2ZVJlc3VsdCA9IHsKKysgICAgICAgICAgICAq KnNlbGYucmVzdWx0MSwKKysgICAgICAgICAgICAiaG9zdG5hbWUiOiAiZXhhbXBsZS5jb20iLAor KyAgICAgICAgICAgICJob3N0IjogIjEuMi4zLjQiLAorKyAgICAgICAgfQorKyAgICAgICAgdGFi bGUuYWRkKGhvc3QzLCBbcmVzdWx0M10pCisrCisrICAgICAgICBhc3NlcnQgc2VsZi5ob3N0MSBp biB0YWJsZS5fYWRkcnNfcnIKKysgICAgICAgIGFzc2VydCBzZWxmLmhvc3QyIG5vdCBpbiB0YWJs ZS5fYWRkcnNfcnIKKysKKyAKKyBhc3luYyBkZWYgdGVzdF9jb25uZWN0b3JfY2FjaGVfdHJhY2Vf cmFjZSgpOgorICAgICBjbGFzcyBEdW1teVRyYWNlcjoKZGlmZiAtTnJ1IHB5dGhvbi1haW9odHRw LTMuMTEuMTYvZGViaWFuL3BhdGNoZXMvQ1ZFLTIwMjYtMzQ1MTQucGF0Y2ggcHl0aG9uLWFpb2h0 dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi0zNDUxNC5wYXRjaAotLS0gcHl0aG9u LWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi0zNDUxNC5wYXRjaAkxOTcw LTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysgcHl0aG9uLWFpb2h0dHAtMy4xMS4x Ni9kZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi0zNDUxNC5wYXRjaAkyMDI2LTA3LTMxIDAzOjUwOjMy LjAwMDAwMDAwMCArMDIwMApAQCAtMCwwICsxLDYyIEBACitGcm9tOiBTYW0gQnVsbCA8Z2l0QHNh bWJ1bGwub3JnPgorRGF0ZTogU2F0LCAyMSBGZWIgMjAyNiAwMDoxNzoxMSArMDAwMAorU3ViamVj dDogRml4IG11bHRpcGFydCBpbmplY3Rpb24gKCMxMjEwNCkgKCMxMjExMCkKKworKGNoZXJyeSBw aWNrZWQgZnJvbSBjb21taXQgZGFiOWU4NzliZTU2MDY2ODJhMzliOWRkMzc4OTAwZWJhMGFmZDFh NCkKKworQ28tYXV0aG9yZWQtYnk6IG1pbmdpIGp1bmcgPG1pbmdpanVuZy5ncmFwZUBnbWFpbC5j b20+CisKK1Jldmlld2VkLUJ5OiBEYW5pZWwgTGVpZGVydCA8ZGxlaWRlcnRAZGViaWFuLm9yZz4K K09yaWdpbjogaHR0cHM6Ly9naXRodWIuY29tL2Fpby1saWJzL2Fpb2h0dHAvY29tbWl0LzlhNmFk YTk3ZTJjNmNmMWNlMzE3MjdjNmM5ZmNlYTE3YzIxZjZmMDYKK0J1ZzogaHR0cHM6Ly9naXRodWIu Y29tL2Fpby1saWJzL2Fpb2h0dHAvc2VjdXJpdHkvYWR2aXNvcmllcy9HSFNBLTJ2cm0tZ3I4Mi1m N201CitCdWctRGViaWFuLVNlY3VyaXR5OiBodHRwczovL3NlY3VyaXR5LXRyYWNrZXIuZGViaWFu Lm9yZy90cmFja2VyL0NWRS0yMDI2LTM0NTE0CitCdWctRnJlZXhpYW4tU2VjdXJpdHk6IGh0dHBz Oi8vZGViLmZyZWV4aWFuLmNvbS9leHRlbmRlZC1sdHMvdHJhY2tlci9DVkUtMjAyNi0zNDUxNAor LS0tCisgYWlvaHR0cC9mb3JtZGF0YS5weSAgICB8ICA1ICsrKysrCisgdGVzdHMvdGVzdF9mb3Jt ZGF0YS5weSB8IDE2ICsrKysrKysrKysrLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDE2IGluc2Vy dGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9haW9odHRwL2Zvcm1kYXRh LnB5IGIvYWlvaHR0cC9mb3JtZGF0YS5weQoraW5kZXggNzMwNTZmNC4uYWI2NWY0YSAxMDA2NDQK Ky0tLSBhL2Fpb2h0dHAvZm9ybWRhdGEucHkKKysrKyBiL2Fpb2h0dHAvZm9ybWRhdGEucHkKK0BA IC03OSw2ICs3OSwxMSBAQCBjbGFzcyBGb3JtRGF0YToKKyAgICAgICAgICAgICAgICAgcmFpc2Ug VHlwZUVycm9yKAorICAgICAgICAgICAgICAgICAgICAgImNvbnRlbnRfdHlwZSBtdXN0IGJlIGFu IGluc3RhbmNlIG9mIHN0ci4gR290OiAlcyIgJSBjb250ZW50X3R5cGUKKyAgICAgICAgICAgICAg ICAgKQorKyAgICAgICAgICAgIGlmICJcciIgaW4gY29udGVudF90eXBlIG9yICJcbiIgaW4gY29u dGVudF90eXBlOgorKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKAorKyAgICAgICAg ICAgICAgICAgICAgIk5ld2xpbmUgb3IgY2FycmlhZ2UgcmV0dXJuIGRldGVjdGVkIGluIGhlYWRl cnMuICIKKysgICAgICAgICAgICAgICAgICAgICJQb3RlbnRpYWwgaGVhZGVyIGluamVjdGlvbiBh dHRhY2suIgorKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgaGVhZGVyc1toZHJzLkNP TlRFTlRfVFlQRV0gPSBjb250ZW50X3R5cGUKKyAgICAgICAgICAgICBzZWxmLl9pc19tdWx0aXBh cnQgPSBUcnVlCisgICAgICAgICBpZiBjb250ZW50X3RyYW5zZmVyX2VuY29kaW5nIGlzIG5vdCBO b25lOgorZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3RfZm9ybWRhdGEucHkgYi90ZXN0cy90ZXN0X2Zv cm1kYXRhLnB5CitpbmRleCA0YjdjOTRhLi4wYmQ1YmY5IDEwMDY0NAorLS0tIGEvdGVzdHMvdGVz dF9mb3JtZGF0YS5weQorKysrIGIvdGVzdHMvdGVzdF9mb3JtZGF0YS5weQorQEAgLTY1LDEyICs2 NSwxOCBAQCBhc3luYyBkZWYgdGVzdF9mb3JtZGF0YV90ZXh0aW9fY2hhcnNldChidWY6IGJ5dGVh cnJheSwgd3JpdGVyKSAtPiBOb25lOgorICAgICBhc3NlcnQgYiJceDkzXHhmYVx4OTZ7IiBpbiBi dWYKKyAKKyAKKy1kZWYgdGVzdF9pbnZhbGlkX2Zvcm1kYXRhX2NvbnRlbnRfdHlwZSgpIC0+IE5v bmU6CisrQHB5dGVzdC5tYXJrLnBhcmFtZXRyaXplKCJ2YWwiLCAoMCwgMC4xLCB7fSwgW10sIGIi Zm9vIikpCisrZGVmIHRlc3RfaW52YWxpZF90eXBlX2Zvcm1kYXRhX2NvbnRlbnRfdHlwZSh2YWw6 IG9iamVjdCkgLT4gTm9uZToKKyAgICAgZm9ybSA9IEZvcm1EYXRhKCkKKy0gICAgaW52YWxpZF92 YWxzID0gWzAsIDAuMSwge30sIFtdLCBiImZvbyJdCistICAgIGZvciBpbnZhbGlkX3ZhbCBpbiBp bnZhbGlkX3ZhbHM6CistICAgICAgICB3aXRoIHB5dGVzdC5yYWlzZXMoVHlwZUVycm9yKToKKy0g ICAgICAgICAgICBmb3JtLmFkZF9maWVsZCgiZm9vIiwgImJhciIsIGNvbnRlbnRfdHlwZT1pbnZh bGlkX3ZhbCkKKysgICAgd2l0aCBweXRlc3QucmFpc2VzKFR5cGVFcnJvcik6CisrICAgICAgICBm b3JtLmFkZF9maWVsZCgiZm9vIiwgImJhciIsIGNvbnRlbnRfdHlwZT12YWwpICAjIHR5cGU6IGln bm9yZVthcmctdHlwZV0KKysKKysKKytAcHl0ZXN0Lm1hcmsucGFyYW1ldHJpemUoInZhbCIsICgi XHIiLCAiXG4iLCAiYVxyYVxuIiwgImFcbmFcciIpKQorK2RlZiB0ZXN0X2ludmFsaWRfdmFsdWVf Zm9ybWRhdGFfY29udGVudF90eXBlKHZhbDogc3RyKSAtPiBOb25lOgorKyAgICBmb3JtID0gRm9y bURhdGEoKQorKyAgICB3aXRoIHB5dGVzdC5yYWlzZXMoVmFsdWVFcnJvcik6CisrICAgICAgICBm b3JtLmFkZF9maWVsZCgiZm9vIiwgImJhciIsIGNvbnRlbnRfdHlwZT12YWwpCisgCisgCisgZGVm IHRlc3RfaW52YWxpZF9mb3JtZGF0YV9maWxlbmFtZSgpIC0+IE5vbmU6CmRpZmYgLU5ydSBweXRo b24tYWlvaHR0cC0zLjExLjE2L2RlYmlhbi9wYXRjaGVzL0NWRS0yMDI2LTM0NTE2LnBhdGNoIHB5 dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3BhdGNoZXMvQ1ZFLTIwMjYtMzQ1MTYucGF0Y2gK LS0tIHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3BhdGNoZXMvQ1ZFLTIwMjYtMzQ1MTYu cGF0Y2gJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrIHB5dGhvbi1haW9o dHRwLTMuMTEuMTYvZGViaWFuL3BhdGNoZXMvQ1ZFLTIwMjYtMzQ1MTYucGF0Y2gJMjAyNi0wNy0z MSAwMzo1MDozMi4wMDAwMDAwMDAgKzAyMDAKQEAgLTAsMCArMSwzNTcgQEAKK0Zyb206IFNhbSBC dWxsIDxnaXRAc2FtYnVsbC5vcmc+CitEYXRlOiBUdWUsIDEwIE1hciAyMDI2IDIwOjM2OjM4ICsw MDAwCitTdWJqZWN0OiBbUEFUQ0hdIFJlc3RyaWN0IG11bHRpcGFydCBoZWFkZXIgc2l6ZXMgKCMx MjIwOCkgKCMxMjIyOCkKKworKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNWZlOWRmYjY0NDAw YTU3NGY1YmEzZjJkM2I0OWI3ZGI0NzU2N2MyOSkKKworUmV2aWV3ZWQtQnk6IERhbmllbCBMZWlk ZXJ0IDxkbGVpZGVydEBkZWJpYW4ub3JnPgorT3JpZ2luOiBodHRwczovL2dpdGh1Yi5jb20vYWlv LWxpYnMvYWlvaHR0cC9jb21taXQvOGE3NDI1N2IzODA0YzlhYWMwYmY2NDRhZjkzMDcwZjY4ZjZj NWE2ZgorT3JpZ2luOiBodHRwczovL2dpdGh1Yi5jb20vYWlvLWxpYnMvYWlvaHR0cC9jb21taXQv OGNlMzAxMzRkMGIxODM5NDkwZDExNDVhZTVlMzQ3OTdhOTUzZDcwNiAocGFydHMpCitCdWc6IGh0 dHBzOi8vZ2l0aHViLmNvbS9haW8tbGlicy9haW9odHRwL3NlY3VyaXR5L2Fkdmlzb3JpZXMvR0hT QS1tNXFwLTZ3OHctdzY0NworQnVnLURlYmlhbi1TZWN1cml0eTogaHR0cHM6Ly9zZWN1cml0eS10 cmFja2VyLmRlYmlhbi5vcmcvdHJhY2tlci9DVkUtMjAyNi0zNDUxNgorQnVnLUZyZWV4aWFuLVNl Y3VyaXR5OiBodHRwczovL2RlYi5mcmVleGlhbi5jb20vZXh0ZW5kZWQtbHRzL3RyYWNrZXIvQ1ZF LTIwMjYtMzQ1MTYKKy0tLQorIGFpb2h0dHAvbXVsdGlwYXJ0LnB5ICAgICAgfCAyOSArKysrKysr KysrKysrKysrKysrKy0tLS0tLQorIGFpb2h0dHAvc3RyZWFtcy5weSAgICAgICAgfCAxNiArKysr KysrKy0tLS0tLQorIGFpb2h0dHAvdGVzdF91dGlscy5weSAgICAgfCAgMyArKysKKyBhaW9odHRw L3dlYl9wcm90b2NvbC5weSAgIHwgIDcgKysrKysrKworIGFpb2h0dHAvd2ViX3JlcXVlc3QucHkg ICAgfCAgNyArKysrKystCisgdGVzdHMvdGVzdF9tdWx0aXBhcnQucHkgICB8ICA1ICsrKy0tCisg dGVzdHMvdGVzdF9zdHJlYW1zLnB5ICAgICB8ICA5ICsrKystLS0tCisgdGVzdHMvdGVzdF93ZWJf cmVxdWVzdC5weSB8IDUzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKystCisgOCBmaWxlcyBjaGFuZ2VkLCAxMDkgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25z KC0pCisKK2RpZmYgLS1naXQgYS9haW9odHRwL211bHRpcGFydC5weSBiL2Fpb2h0dHAvbXVsdGlw YXJ0LnB5CitpbmRleCBhY2VlOTk3Li4xZDUzMGU1IDEwMDY0NAorLS0tIGEvYWlvaHR0cC9tdWx0 aXBhcnQucHkKKysrKyBiL2Fpb2h0dHAvbXVsdGlwYXJ0LnB5CitAQCAtNDIsNiArNDIsNyBAQCBm cm9tIC5oZHJzIGltcG9ydCAoCisgKQorIGZyb20gLmhlbHBlcnMgaW1wb3J0IENIQVIsIFRPS0VO LCBwYXJzZV9taW1ldHlwZSwgcmVpZnkKKyBmcm9tIC5odHRwIGltcG9ydCBIZWFkZXJzUGFyc2Vy CisrZnJvbSAuaHR0cF9leGNlcHRpb25zIGltcG9ydCBCYWRIdHRwTWVzc2FnZQorIGZyb20gLnBh eWxvYWQgaW1wb3J0ICgKKyAgICAgSnNvblBheWxvYWQsCisgICAgIExvb2t1cEVycm9yLAorQEAg LTYwMCw3ICs2MDEsMTQgQEAgY2xhc3MgTXVsdGlwYXJ0UmVhZGVyOgorICAgICAjOiBCb2R5IHBh cnQgcmVhZGVyIGNsYXNzIGZvciBub24gbXVsdGlwYXJ0LyogY29udGVudCB0eXBlcy4KKyAgICAg cGFydF9yZWFkZXJfY2xzID0gQm9keVBhcnRSZWFkZXIKKyAKKy0gICAgZGVmIF9faW5pdF9fKHNl bGYsIGhlYWRlcnM6IE1hcHBpbmdbc3RyLCBzdHJdLCBjb250ZW50OiBTdHJlYW1SZWFkZXIpIC0+ IE5vbmU6CisrICAgIGRlZiBfX2luaXRfXygKKysgICAgICAgIHNlbGYsCisrICAgICAgICBoZWFk ZXJzOiBNYXBwaW5nW3N0ciwgc3RyXSwKKysgICAgICAgIGNvbnRlbnQ6IFN0cmVhbVJlYWRlciwK KysgICAgICAgICosCisrICAgICAgICBtYXhfZmllbGRfc2l6ZTogaW50ID0gODE5MCwKKysgICAg ICAgIG1heF9oZWFkZXJzOiBpbnQgPSAxMjgsCisrICAgICkgLT4gTm9uZToKKyAgICAgICAgIHNl bGYuX21pbWV0eXBlID0gcGFyc2VfbWltZXR5cGUoaGVhZGVyc1tDT05URU5UX1RZUEVdKQorICAg ICAgICAgYXNzZXJ0IHNlbGYuX21pbWV0eXBlLnR5cGUgPT0gIm11bHRpcGFydCIsICJtdWx0aXBh cnQvKiBjb250ZW50IHR5cGUgZXhwZWN0ZWQiCisgICAgICAgICBpZiAiYm91bmRhcnkiIG5vdCBp biBzZWxmLl9taW1ldHlwZS5wYXJhbWV0ZXJzOgorQEAgLTYxMSw4ICs2MTksMTAgQEAgY2xhc3Mg TXVsdGlwYXJ0UmVhZGVyOgorICAgICAgICAgc2VsZi5oZWFkZXJzID0gaGVhZGVycworICAgICAg ICAgc2VsZi5fYm91bmRhcnkgPSAoIi0tIiArIHNlbGYuX2dldF9ib3VuZGFyeSgpKS5lbmNvZGUo KQorICAgICAgICAgc2VsZi5fY29udGVudCA9IGNvbnRlbnQKKy0gICAgICAgIHNlbGYuX2RlZmF1 bHRfY2hhcnNldDogT3B0aW9uYWxbc3RyXSA9IE5vbmUKKy0gICAgICAgIHNlbGYuX2xhc3RfcGFy dDogT3B0aW9uYWxbVW5pb25bIk11bHRpcGFydFJlYWRlciIsIEJvZHlQYXJ0UmVhZGVyXV0gPSBO b25lCisrICAgICAgICBzZWxmLl9kZWZhdWx0X2NoYXJzZXQ6IHN0ciB8IE5vbmUgPSBOb25lCisr ICAgICAgICBzZWxmLl9sYXN0X3BhcnQ6IE11bHRpcGFydFJlYWRlciB8IEJvZHlQYXJ0UmVhZGVy IHwgTm9uZSA9IE5vbmUKKysgICAgICAgIHNlbGYuX21heF9maWVsZF9zaXplID0gbWF4X2ZpZWxk X3NpemUKKysgICAgICAgIHNlbGYuX21heF9oZWFkZXJzID0gbWF4X2hlYWRlcnMKKyAgICAgICAg IHNlbGYuX2F0X2VvZiA9IEZhbHNlCisgICAgICAgICBzZWxmLl9hdF9ib2YgPSBUcnVlCisgICAg ICAgICBzZWxmLl91bnJlYWQ6IExpc3RbYnl0ZXNdID0gW10KK0BAIC03MTIsNyArNzIyLDEyIEBA IGNsYXNzIE11bHRpcGFydFJlYWRlcjoKKyAgICAgICAgIGlmIG1pbWV0eXBlLnR5cGUgPT0gIm11 bHRpcGFydCI6CisgICAgICAgICAgICAgaWYgc2VsZi5tdWx0aXBhcnRfcmVhZGVyX2NscyBpcyBO b25lOgorICAgICAgICAgICAgICAgICByZXR1cm4gdHlwZShzZWxmKShoZWFkZXJzLCBzZWxmLl9j b250ZW50KQorLSAgICAgICAgICAgIHJldHVybiBzZWxmLm11bHRpcGFydF9yZWFkZXJfY2xzKGhl YWRlcnMsIHNlbGYuX2NvbnRlbnQpCisrICAgICAgICAgICAgcmV0dXJuIHNlbGYubXVsdGlwYXJ0 X3JlYWRlcl9jbHMoCisrICAgICAgICAgICAgICAgIGhlYWRlcnMsCisrICAgICAgICAgICAgICAg IHNlbGYuX2NvbnRlbnQsCisrICAgICAgICAgICAgICAgIG1heF9maWVsZF9zaXplPXNlbGYuX21h eF9maWVsZF9zaXplLAorKyAgICAgICAgICAgICAgICBtYXhfaGVhZGVycz1zZWxmLl9tYXhfaGVh ZGVycywKKysgICAgICAgICAgICApCisgICAgICAgICBlbHNlOgorICAgICAgICAgICAgIHJldHVy biBzZWxmLnBhcnRfcmVhZGVyX2NscygKKyAgICAgICAgICAgICAgICAgc2VsZi5fYm91bmRhcnks CitAQCAtNzc0LDEyICs3ODksMTQgQEAgY2xhc3MgTXVsdGlwYXJ0UmVhZGVyOgorICAgICBhc3lu YyBkZWYgX3JlYWRfaGVhZGVycyhzZWxmKSAtPiAiQ0lNdWx0aURpY3RQcm94eVtzdHJdIjoKKyAg ICAgICAgIGxpbmVzID0gW10KKyAgICAgICAgIHdoaWxlIFRydWU6CistICAgICAgICAgICAgY2h1 bmsgPSBhd2FpdCBzZWxmLl9jb250ZW50LnJlYWRsaW5lKCkKKysgICAgICAgICAgICBjaHVuayA9 IGF3YWl0IHNlbGYuX2NvbnRlbnQucmVhZGxpbmUobWF4X2xpbmVfbGVuZ3RoPXNlbGYuX21heF9m aWVsZF9zaXplKQorICAgICAgICAgICAgIGNodW5rID0gY2h1bmsuc3RyaXAoKQorICAgICAgICAg ICAgIGxpbmVzLmFwcGVuZChjaHVuaykKKyAgICAgICAgICAgICBpZiBub3QgY2h1bms6CisgICAg ICAgICAgICAgICAgIGJyZWFrCistICAgICAgICBwYXJzZXIgPSBIZWFkZXJzUGFyc2VyKCkKKysg ICAgICAgICAgICBpZiBsZW4obGluZXMpID4gc2VsZi5fbWF4X2hlYWRlcnM6CisrICAgICAgICAg ICAgICAgIHJhaXNlIEJhZEh0dHBNZXNzYWdlKCJUb28gbWFueSBoZWFkZXJzIHJlY2VpdmVkIikK KysgICAgICAgIHBhcnNlciA9IEhlYWRlcnNQYXJzZXIobWF4X2ZpZWxkX3NpemU9c2VsZi5fbWF4 X2ZpZWxkX3NpemUpCisgICAgICAgICBoZWFkZXJzLCByYXdfaGVhZGVycyA9IHBhcnNlci5wYXJz ZV9oZWFkZXJzKGxpbmVzKQorICAgICAgICAgcmV0dXJuIGhlYWRlcnMKKyAKK2RpZmYgLS1naXQg YS9haW9odHRwL3N0cmVhbXMucHkgYi9haW9odHRwL3N0cmVhbXMucHkKK2luZGV4IDkzMjk1MzQu LmRmMWJkMWEgMTAwNjQ0CistLS0gYS9haW9odHRwL3N0cmVhbXMucHkKKysrKyBiL2Fpb2h0dHAv c3RyZWFtcy5weQorQEAgLTIxLDYgKzIxLDcgQEAgZnJvbSAuaGVscGVycyBpbXBvcnQgKAorICAg ICBzZXRfZXhjZXB0aW9uLAorICAgICBzZXRfcmVzdWx0LAorICkKKytmcm9tIC5odHRwX2V4Y2Vw dGlvbnMgaW1wb3J0IExpbmVUb29Mb25nCisgZnJvbSAubG9nIGltcG9ydCBpbnRlcm5hbF9sb2dn ZXIKKyAKKyBfX2FsbF9fID0gKAorQEAgLTM2NCwxMCArMzY1LDEyIEBAIGNsYXNzIFN0cmVhbVJl YWRlcihBc3luY1N0cmVhbVJlYWRlck1peGluKToKKyAgICAgICAgIGZpbmFsbHk6CisgICAgICAg ICAgICAgc2VsZi5fd2FpdGVyID0gTm9uZQorIAorLSAgICBhc3luYyBkZWYgcmVhZGxpbmUoc2Vs ZikgLT4gYnl0ZXM6CistICAgICAgICByZXR1cm4gYXdhaXQgc2VsZi5yZWFkdW50aWwoKQorKyAg ICBhc3luYyBkZWYgcmVhZGxpbmUoc2VsZiwgKiwgbWF4X2xpbmVfbGVuZ3RoOiBPcHRpb25hbFtp bnRdID0gTm9uZSkgLT4gYnl0ZXM6CisrICAgICAgICByZXR1cm4gYXdhaXQgc2VsZi5yZWFkdW50 aWwobWF4X3NpemU9bWF4X2xpbmVfbGVuZ3RoKQorIAorLSAgICBhc3luYyBkZWYgcmVhZHVudGls KHNlbGYsIHNlcGFyYXRvcjogYnl0ZXMgPSBiIlxuIikgLT4gYnl0ZXM6CisrICAgIGFzeW5jIGRl ZiByZWFkdW50aWwoCisrICAgICAgICBzZWxmLCBzZXBhcmF0b3I6IGJ5dGVzID0gYiJcbiIsICos IG1heF9zaXplOiBPcHRpb25hbFtpbnRdID0gTm9uZQorKyAgICApIC0+IGJ5dGVzOgorICAgICAg ICAgc2VwbGVuID0gbGVuKHNlcGFyYXRvcikKKyAgICAgICAgIGlmIHNlcGxlbiA9PSAwOgorICAg ICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIlNlcGFyYXRvciBzaG91bGQgYmUgYXQgbGVhc3Qg b25lLWJ5dGUgc3RyaW5nIikKK0BAIC0zNzgsNiArMzgxLDcgQEAgY2xhc3MgU3RyZWFtUmVhZGVy KEFzeW5jU3RyZWFtUmVhZGVyTWl4aW4pOgorICAgICAgICAgY2h1bmsgPSBiIiIKKyAgICAgICAg IGNodW5rX3NpemUgPSAwCisgICAgICAgICBub3RfZW5vdWdoID0gVHJ1ZQorKyAgICAgICAgbWF4 X3NpemUgPSBtYXhfc2l6ZSBvciBzZWxmLl9oaWdoX3dhdGVyCisgCisgICAgICAgICB3aGlsZSBu b3RfZW5vdWdoOgorICAgICAgICAgICAgIHdoaWxlIHNlbGYuX2J1ZmZlciBhbmQgbm90X2Vub3Vn aDoKK0BAIC0zOTIsOCArMzk2LDggQEAgY2xhc3MgU3RyZWFtUmVhZGVyKEFzeW5jU3RyZWFtUmVh ZGVyTWl4aW4pOgorICAgICAgICAgICAgICAgICBpZiBpY2hhcjoKKyAgICAgICAgICAgICAgICAg ICAgIG5vdF9lbm91Z2ggPSBGYWxzZQorIAorLSAgICAgICAgICAgICAgICBpZiBjaHVua19zaXpl ID4gc2VsZi5faGlnaF93YXRlcjoKKy0gICAgICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJy b3IoIkNodW5rIHRvbyBiaWciKQorKyAgICAgICAgICAgICAgICBpZiBjaHVua19zaXplID4gbWF4 X3NpemU6CisrICAgICAgICAgICAgICAgICAgICByYWlzZSBMaW5lVG9vTG9uZyhjaHVua1s6MTAw XSArIGIiLi4uIiwgbWF4X3NpemUpCisgCisgICAgICAgICAgICAgaWYgc2VsZi5fZW9mOgorICAg ICAgICAgICAgICAgICBicmVhaworQEAgLTYxNCw3ICs2MTgsNyBAQCBjbGFzcyBFbXB0eVN0cmVh bVJlYWRlcihTdHJlYW1SZWFkZXIpOiAgIyBsZ3RtIFtweS9taXNzaW5nLWNhbGwtdG8taW5pdF0K KyAgICAgZGVmIGZlZWRfZGF0YShzZWxmLCBkYXRhOiBieXRlcywgbjogaW50ID0gMCkgLT4gTm9u ZToKKyAgICAgICAgIHBhc3MKKyAKKy0gICAgYXN5bmMgZGVmIHJlYWRsaW5lKHNlbGYpIC0+IGJ5 dGVzOgorKyAgICBhc3luYyBkZWYgcmVhZGxpbmUoc2VsZiwgKiwgbWF4X2xpbmVfbGVuZ3RoOiBP cHRpb25hbFtpbnRdID0gTm9uZSkgLT4gYnl0ZXM6CisgICAgICAgICByZXR1cm4gYiIiCisgCisg ICAgIGFzeW5jIGRlZiByZWFkKHNlbGYsIG46IGludCA9IC0xKSAtPiBieXRlczoKK2RpZmYgLS1n aXQgYS9haW9odHRwL3Rlc3RfdXRpbHMucHkgYi9haW9odHRwL3Rlc3RfdXRpbHMucHkKK2luZGV4 IGJlNmU5YjMuLmM0NThkNjIgMTAwNjQ0CistLS0gYS9haW9odHRwL3Rlc3RfdXRpbHMucHkKKysr KyBiL2Fpb2h0dHAvdGVzdF91dGlscy5weQorQEAgLTcyOSw2ICs3MjksOSBAQCBkZWYgbWFrZV9t b2NrZWRfcmVxdWVzdCgKKyAKKyAgICAgaWYgcHJvdG9jb2wgaXMgc2VudGluZWw6CisgICAgICAg ICBwcm90b2NvbCA9IG1vY2suTW9jaygpCisrICAgICAgICBwcm90b2NvbC5tYXhfZmllbGRfc2l6 ZSA9IDgxOTAKKysgICAgICAgIHByb3RvY29sLm1heF9saW5lX2xlbmd0aCA9IDgxOTAKKysgICAg ICAgIHByb3RvY29sLm1heF9oZWFkZXJzID0gMTI4CisgICAgICAgICBwcm90b2NvbC50cmFuc3Bv cnQgPSB0cmFuc3BvcnQKKyAKKyAgICAgaWYgd3JpdGVyIGlzIHNlbnRpbmVsOgorZGlmZiAtLWdp dCBhL2Fpb2h0dHAvd2ViX3Byb3RvY29sLnB5IGIvYWlvaHR0cC93ZWJfcHJvdG9jb2wucHkKK2lu ZGV4IDQ3ZWRkODIuLjdlZWJlYjIgMTAwNjQ0CistLS0gYS9haW9odHRwL3dlYl9wcm90b2NvbC5w eQorKysrIGIvYWlvaHR0cC93ZWJfcHJvdG9jb2wucHkKK0BAIC0xMzksNiArMTM5LDkgQEAgY2xh c3MgUmVxdWVzdEhhbmRsZXIoQmFzZVByb3RvY29sKToKKyAgICAgIiIiCisgCisgICAgIF9fc2xv dHNfXyA9ICgKKysgICAgICAgICJtYXhfZmllbGRfc2l6ZSIsCisrICAgICAgICAibWF4X2hlYWRl cnMiLAorKyAgICAgICAgIm1heF9saW5lX3NpemUiLAorICAgICAgICAgIl9yZXF1ZXN0X2NvdW50 IiwKKyAgICAgICAgICJfa2VlcGFsaXZlIiwKKyAgICAgICAgICJfbWFuYWdlciIsCitAQCAtMjAw LDYgKzIwMywxMCBAQCBjbGFzcyBSZXF1ZXN0SGFuZGxlcihCYXNlUHJvdG9jb2wpOgorICAgICAg ICAgc2VsZi5fcmVxdWVzdF9oYW5kbGVyOiBPcHRpb25hbFtfUmVxdWVzdEhhbmRsZXJdID0gbWFu YWdlci5yZXF1ZXN0X2hhbmRsZXIKKyAgICAgICAgIHNlbGYuX3JlcXVlc3RfZmFjdG9yeTogT3B0 aW9uYWxbX1JlcXVlc3RGYWN0b3J5XSA9IG1hbmFnZXIucmVxdWVzdF9mYWN0b3J5CisgCisrICAg ICAgICBzZWxmLm1heF9saW5lX3NpemUgPSBtYXhfbGluZV9zaXplCisrICAgICAgICBzZWxmLm1h eF9oZWFkZXJzID0gbWF4X2hlYWRlcnMKKysgICAgICAgIHNlbGYubWF4X2ZpZWxkX3NpemUgPSBt YXhfZmllbGRfc2l6ZQorKworICAgICAgICAgc2VsZi5fdGNwX2tlZXBhbGl2ZSA9IHRjcF9rZWVw YWxpdmUKKyAgICAgICAgICMgcGxhY2Vob2xkZXIgdG8gYmUgcmVwbGFjZWQgb24ga2VlcGFsaXZl IHRpbWVvdXQgc2V0dXAKKyAgICAgICAgIHNlbGYuX25leHRfa2VlcGFsaXZlX2Nsb3NlX3RpbWUg PSAwLjAKK2RpZmYgLS1naXQgYS9haW9odHRwL3dlYl9yZXF1ZXN0LnB5IGIvYWlvaHR0cC93ZWJf cmVxdWVzdC5weQoraW5kZXggZjc5M2I1OC4uYjVmMTM1MiAxMDA2NDQKKy0tLSBhL2Fpb2h0dHAv d2ViX3JlcXVlc3QucHkKKysrKyBiL2Fpb2h0dHAvd2ViX3JlcXVlc3QucHkKK0BAIC02OTYsNyAr Njk2LDEyIEBAIGNsYXNzIEJhc2VSZXF1ZXN0KE11dGFibGVNYXBwaW5nW3N0ciwgQW55XSwgSGVh ZGVyc01peGluKToKKyAKKyAgICAgYXN5bmMgZGVmIG11bHRpcGFydChzZWxmKSAtPiBNdWx0aXBh cnRSZWFkZXI6CisgICAgICAgICAiIiJSZXR1cm4gYXN5bmMgaXRlcmF0b3IgdG8gcHJvY2VzcyBC T0RZIGFzIG11bHRpcGFydC4iIiIKKy0gICAgICAgIHJldHVybiBNdWx0aXBhcnRSZWFkZXIoc2Vs Zi5faGVhZGVycywgc2VsZi5fcGF5bG9hZCkKKysgICAgICAgIHJldHVybiBNdWx0aXBhcnRSZWFk ZXIoCisrICAgICAgICAgICAgc2VsZi5faGVhZGVycywKKysgICAgICAgICAgICBzZWxmLl9wYXls b2FkLAorKyAgICAgICAgICAgIG1heF9maWVsZF9zaXplPXNlbGYuX3Byb3RvY29sLm1heF9maWVs ZF9zaXplLAorKyAgICAgICAgICAgIG1heF9oZWFkZXJzPXNlbGYuX3Byb3RvY29sLm1heF9oZWFk ZXJzLAorKyAgICAgICAgKQorIAorICAgICBhc3luYyBkZWYgcG9zdChzZWxmKSAtPiAiTXVsdGlE aWN0UHJveHlbVW5pb25bc3RyLCBieXRlcywgRmlsZUZpZWxkXV0iOgorICAgICAgICAgIiIiUmV0 dXJuIFBPU1QgcGFyYW1ldGVycy4iIiIKK2RpZmYgLS1naXQgYS90ZXN0cy90ZXN0X211bHRpcGFy dC5weSBiL3Rlc3RzL3Rlc3RfbXVsdGlwYXJ0LnB5CitpbmRleCA1OGY3YjQ5Li5lNzk4ODg3IDEw MDY0NAorLS0tIGEvdGVzdHMvdGVzdF9tdWx0aXBhcnQucHkKKysrKyBiL3Rlc3RzL3Rlc3RfbXVs dGlwYXJ0LnB5CitAQCAtNCw2ICs0LDcgQEAgaW1wb3J0IGpzb24KKyBpbXBvcnQgcGF0aGxpYgor IGltcG9ydCBzeXMKKyBpbXBvcnQgemxpYgorK2Zyb20gdHlwaW5nIGltcG9ydCBPcHRpb25hbAor IGZyb20gdW5pdHRlc3QgaW1wb3J0IG1vY2sKKyAKKyBpbXBvcnQgcHl0ZXN0CitAQCAtNjYsNyAr NjcsNyBAQCBjbGFzcyBTdHJlYW06CisgICAgIGRlZiBhdF9lb2Yoc2VsZik6CisgICAgICAgICBy ZXR1cm4gc2VsZi5jb250ZW50LnRlbGwoKSA9PSBsZW4oc2VsZi5jb250ZW50LmdldGJ1ZmZlcigp KQorIAorLSAgICBhc3luYyBkZWYgcmVhZGxpbmUoc2VsZik6CisrICAgIGFzeW5jIGRlZiByZWFk bGluZShzZWxmLCAqLCBtYXhfbGluZV9sZW5ndGg6IE9wdGlvbmFsW2ludF0gPSBOb25lKSAtPiBi eXRlczoKKyAgICAgICAgIHJldHVybiBzZWxmLmNvbnRlbnQucmVhZGxpbmUoKQorIAorICAgICBk ZWYgdW5yZWFkX2RhdGEoc2VsZiwgZGF0YSk6CitAQCAtODAwLDcgKzgwMSw3IEBAIGNsYXNzIFRl c3RNdWx0aXBhcnRSZWFkZXI6CisgICAgICAgICAgICAgZGVmIGF0X2VvZihzZWxmKSAtPiBib29s OgorICAgICAgICAgICAgICAgICByZXR1cm4gbm90IHNlbGYuY29udGVudAorIAorLSAgICAgICAg ICAgIGFzeW5jIGRlZiByZWFkbGluZShzZWxmKSAtPiBieXRlczoKKysgICAgICAgICAgICBhc3lu YyBkZWYgcmVhZGxpbmUoc2VsZiwgKiwgbWF4X2xpbmVfbGVuZ3RoOiBpbnQgfCBOb25lID0gTm9u ZSkgLT4gYnl0ZXM6CisgICAgICAgICAgICAgICAgIGxpbmUgPSBiIiIKKyAgICAgICAgICAgICAg ICAgd2hpbGUgc2VsZi5jb250ZW50IGFuZCBiIlxuIiBub3QgaW4gbGluZToKKyAgICAgICAgICAg ICAgICAgICAgIGxpbmUgKz0gc2VsZi5jb250ZW50LnBvcCgwKQorZGlmZiAtLWdpdCBhL3Rlc3Rz L3Rlc3Rfc3RyZWFtcy5weSBiL3Rlc3RzL3Rlc3Rfc3RyZWFtcy5weQoraW5kZXggYzViYzY3MS4u OTM2ODY3NCAxMDA2NDQKKy0tLSBhL3Rlc3RzL3Rlc3Rfc3RyZWFtcy5weQorKysrIGIvdGVzdHMv dGVzdF9zdHJlYW1zLnB5CitAQCAtMTIsNiArMTIsNyBAQCBpbXBvcnQgcHl0ZXN0CisgZnJvbSBy ZV9hc3NlcnQgaW1wb3J0IE1hdGNoZXMKKyAKKyBmcm9tIGFpb2h0dHAgaW1wb3J0IHN0cmVhbXMK Kytmcm9tIGFpb2h0dHAuaHR0cF9leGNlcHRpb25zIGltcG9ydCBMaW5lVG9vTG9uZworIAorIERB VEEgPSBiImxpbmUxXG5saW5lMlxubGluZTNcbiIKKyAKK0BAIC0zMjUsNyArMzI2LDcgQEAgY2xh c3MgVGVzdFN0cmVhbVJlYWRlcjoKKyAgICAgICAgIHN0cmVhbS5mZWVkX2RhdGEoYiJsaSIpCisg ICAgICAgICBzdHJlYW0uZmVlZF9kYXRhKGIibmUxXG5saW5lMlxuIikKKyAKKy0gICAgICAgIHdp dGggcHl0ZXN0LnJhaXNlcyhWYWx1ZUVycm9yKToKKysgICAgICAgIHdpdGggcHl0ZXN0LnJhaXNl cyhMaW5lVG9vTG9uZyk6CisgICAgICAgICAgICAgYXdhaXQgc3RyZWFtLnJlYWRsaW5lKCkKKyAg ICAgICAgICMgVGhlIGJ1ZmZlciBzaG91bGQgY29udGFpbiB0aGUgcmVtYWluaW5nIGRhdGEgYWZ0 ZXIgZXhjZXB0aW9uCisgICAgICAgICBzdHJlYW0uZmVlZF9lb2YoKQorQEAgLTM0Niw3ICszNDcs NyBAQCBjbGFzcyBUZXN0U3RyZWFtUmVhZGVyOgorIAorICAgICAgICAgbG9vcC5jYWxsX3Nvb24o Y2IpCisgCistICAgICAgICB3aXRoIHB5dGVzdC5yYWlzZXMoVmFsdWVFcnJvcik6CisrICAgICAg ICB3aXRoIHB5dGVzdC5yYWlzZXMoTGluZVRvb0xvbmcpOgorICAgICAgICAgICAgIGF3YWl0IHN0 cmVhbS5yZWFkbGluZSgpCisgICAgICAgICBkYXRhID0gYXdhaXQgc3RyZWFtLnJlYWQoKQorICAg ICAgICAgYXNzZXJ0IGIiY2h1bmszXG4iID09IGRhdGEKK0BAIC00MzYsNyArNDM3LDcgQEAgY2xh c3MgVGVzdFN0cmVhbVJlYWRlcjoKKyAgICAgICAgIHN0cmVhbS5mZWVkX2RhdGEoYiJsaSIpCisg ICAgICAgICBzdHJlYW0uZmVlZF9kYXRhKGIibmUxIiArIHNlcGFyYXRvciArIGIibGluZTIiICsg c2VwYXJhdG9yKQorIAorLSAgICAgICAgd2l0aCBweXRlc3QucmFpc2VzKFZhbHVlRXJyb3IpOgor KyAgICAgICAgd2l0aCBweXRlc3QucmFpc2VzKExpbmVUb29Mb25nKToKKyAgICAgICAgICAgICBh d2FpdCBzdHJlYW0ucmVhZHVudGlsKHNlcGFyYXRvcikKKyAgICAgICAgICMgVGhlIGJ1ZmZlciBz aG91bGQgY29udGFpbiB0aGUgcmVtYWluaW5nIGRhdGEgYWZ0ZXIgZXhjZXB0aW9uCisgICAgICAg ICBzdHJlYW0uZmVlZF9lb2YoKQorQEAgLTQ1OCw3ICs0NTksNyBAQCBjbGFzcyBUZXN0U3RyZWFt UmVhZGVyOgorIAorICAgICAgICAgbG9vcC5jYWxsX3Nvb24oY2IpCisgCistICAgICAgICB3aXRo IHB5dGVzdC5yYWlzZXMoVmFsdWVFcnJvciwgbWF0Y2g9IkNodW5rIHRvbyBiaWciKToKKysgICAg ICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhMaW5lVG9vTG9uZyk6CisgICAgICAgICAgICAgYXdhaXQg c3RyZWFtLnJlYWR1bnRpbChzZXBhcmF0b3IpCisgICAgICAgICBkYXRhID0gYXdhaXQgc3RyZWFt LnJlYWQoKQorICAgICAgICAgYXNzZXJ0IGIiY2h1bmszIyIgPT0gZGF0YQorZGlmZiAtLWdpdCBh L3Rlc3RzL3Rlc3Rfd2ViX3JlcXVlc3QucHkgYi90ZXN0cy90ZXN0X3dlYl9yZXF1ZXN0LnB5Citp bmRleCA1ZWU3YTJhLi40Y2IzZTUyIDEwMDY0NAorLS0tIGEvdGVzdHMvdGVzdF93ZWJfcmVxdWVz dC5weQorKysrIGIvdGVzdHMvdGVzdF93ZWJfcmVxdWVzdC5weQorQEAgLTExLDYgKzExLDcgQEAg ZnJvbSB5YXJsIGltcG9ydCBVUkwKKyAKKyBmcm9tIGFpb2h0dHAgaW1wb3J0IEh0dHBWZXJzaW9u CisgZnJvbSBhaW9odHRwLmJhc2VfcHJvdG9jb2wgaW1wb3J0IEJhc2VQcm90b2NvbAorK2Zyb20g YWlvaHR0cC5odHRwX2V4Y2VwdGlvbnMgaW1wb3J0IEJhZEh0dHBNZXNzYWdlLCBMaW5lVG9vTG9u ZworIGZyb20gYWlvaHR0cC5odHRwX3BhcnNlciBpbXBvcnQgUmF3UmVxdWVzdE1lc3NhZ2UKKyBm cm9tIGFpb2h0dHAuc3RyZWFtcyBpbXBvcnQgU3RyZWFtUmVhZGVyCisgZnJvbSBhaW9odHRwLnRl c3RfdXRpbHMgaW1wb3J0IG1ha2VfbW9ja2VkX3JlcXVlc3QKK0BAIC03MDIsNyArNzAzLDU3IEBA IGFzeW5jIGRlZiB0ZXN0X211bHRpcGFydF9mb3JtZGF0YV9maWxlKHByb3RvY29sOiBCYXNlUHJv dG9jb2wpIC0+IE5vbmU6CisgICAgIHJlc3VsdFsiYV9maWxlIl0uZmlsZS5jbG9zZSgpCisgCisg CistYXN5bmMgZGVmIHRlc3RfbWFrZV90b29fYmlnX3JlcXVlc3RfbGltaXRfTm9uZShwcm90b2Nv bCkgLT4gTm9uZToKKythc3luYyBkZWYgdGVzdF9tdWx0aXBhcnRfZm9ybWRhdGFfaGVhZGVyc190 b29fbWFueShwcm90b2NvbDogQmFzZVByb3RvY29sKSAtPiBOb25lOgorKyAgICBtYW55ID0gYiIi LmpvaW4oZiJYLXtpfTogYVxyXG4iLmVuY29kZSgpIGZvciBpIGluIHJhbmdlKDEzMCkpCisrICAg IGJvZHkgPSAoCisrICAgICAgICBiIi0tYlxyXG4iCisrICAgICAgICBiJ0NvbnRlbnQtRGlzcG9z aXRpb246IGZvcm0tZGF0YTsgbmFtZT0iYSJcclxuJyArIG1hbnkgKyBiIlxyXG4xXHJcbiIKKysg ICAgICAgIGIiLS1iLS1cclxuIgorKyAgICApCisrICAgIGNvbnRlbnRfdHlwZSA9ICJtdWx0aXBh cnQvZm9ybS1kYXRhOyBib3VuZGFyeT1iIgorKyAgICBwYXlsb2FkID0gU3RyZWFtUmVhZGVyKHBy b3RvY29sLCAyKioxNiwgbG9vcD1hc3luY2lvLmdldF9ydW5uaW5nX2xvb3AoKSkKKysgICAgcGF5 bG9hZC5mZWVkX2RhdGEoYm9keSkKKysgICAgcGF5bG9hZC5mZWVkX2VvZigpCisrICAgIHJlcSA9 IG1ha2VfbW9ja2VkX3JlcXVlc3QoCisrICAgICAgICAiUE9TVCIsCisrICAgICAgICAiLyIsCisr ICAgICAgICBoZWFkZXJzPXsiQ09OVEVOVC1UWVBFIjogY29udGVudF90eXBlfSwKKysgICAgICAg IHBheWxvYWQ9cGF5bG9hZCwKKysgICAgKQorKworKyAgICB3aXRoIHB5dGVzdC5yYWlzZXMoQmFk SHR0cE1lc3NhZ2UsIG1hdGNoPSJUb28gbWFueSBoZWFkZXJzIHJlY2VpdmVkIik6CisrICAgICAg ICBhd2FpdCByZXEucG9zdCgpCisrCisrCisrYXN5bmMgZGVmIHRlc3RfbXVsdGlwYXJ0X2Zvcm1k YXRhX2hlYWRlcl90b29fbG9uZyhwcm90b2NvbDogQmFzZVByb3RvY29sKSAtPiBOb25lOgorKyAg ICBrID0gYiJ0IiAqIDQxMDAKKysgICAgYm9keSA9ICgKKysgICAgICAgIGIiLS1iXHJcbiIKKysg ICAgICAgIGInQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJhIlxyXG4nCisr ICAgICAgICArIGsKKysgICAgICAgICsgYiI6IgorKyAgICAgICAgKyBrCisrICAgICAgICArIGIi XHJcbiIKKysgICAgICAgICsgYiJcclxuMVxyXG4iCisrICAgICAgICBiIi0tYi0tXHJcbiIKKysg ICAgKQorKyAgICBjb250ZW50X3R5cGUgPSAibXVsdGlwYXJ0L2Zvcm0tZGF0YTsgYm91bmRhcnk9 YiIKKysgICAgcGF5bG9hZCA9IFN0cmVhbVJlYWRlcihwcm90b2NvbCwgMioqMTYsIGxvb3A9YXN5 bmNpby5nZXRfcnVubmluZ19sb29wKCkpCisrICAgIHBheWxvYWQuZmVlZF9kYXRhKGJvZHkpCisr ICAgIHBheWxvYWQuZmVlZF9lb2YoKQorKyAgICByZXEgPSBtYWtlX21vY2tlZF9yZXF1ZXN0KAor KyAgICAgICAgIlBPU1QiLAorKyAgICAgICAgIi8iLAorKyAgICAgICAgaGVhZGVycz17IkNPTlRF TlQtVFlQRSI6IGNvbnRlbnRfdHlwZX0sCisrICAgICAgICBwYXlsb2FkPXBheWxvYWQsCisrICAg ICkKKysKKysgICAgbWF0Y2ggPSAiNDAwLCBtZXNzYWdlOlxuICBHb3QgbW9yZSB0aGFuIDgxOTAg Ynl0ZXMgd2hlbiByZWFkaW5nIgorKyAgICB3aXRoIHB5dGVzdC5yYWlzZXMoTGluZVRvb0xvbmcs IG1hdGNoPW1hdGNoKToKKysgICAgICAgIGF3YWl0IHJlcS5wb3N0KCkKKysKKysKKythc3luYyBk ZWYgdGVzdF9tYWtlX3Rvb19iaWdfcmVxdWVzdF9saW1pdF9Ob25lKHByb3RvY29sOiBCYXNlUHJv dG9jb2wpIC0+IE5vbmU6CisgICAgIHBheWxvYWQgPSBTdHJlYW1SZWFkZXIocHJvdG9jb2wsIDIq KjE2LCBsb29wPWFzeW5jaW8uZ2V0X2V2ZW50X2xvb3AoKSkKKyAgICAgbGFyZ2VfZmlsZSA9IDEw MjQqKjIgKiBiIngiCisgICAgIHRvb19sYXJnZV9maWxlID0gbGFyZ2VfZmlsZSArIGIieCIKZGlm ZiAtTnJ1IHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3BhdGNoZXMvQ1ZFLTIwMjYtMzQ1 MTcucGF0Y2ggcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi0z NDUxNy5wYXRjaAotLS0gcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hlcy9DVkUt MjAyNi0zNDUxNy5wYXRjaAkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysg cHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi0zNDUxNy5wYXRj aAkyMDI2LTA3LTMxIDAzOjUwOjMyLjAwMDAwMDAwMCArMDIwMApAQCAtMCwwICsxLDU0IEBACitG cm9tOiAicGF0Y2hiYWNrW2JvdF0iIDw0NTQzMjY5NCtwYXRjaGJhY2tbYm90XUB1c2Vycy5ub3Jl cGx5LmdpdGh1Yi5jb20+CitEYXRlOiBUdWUsIDEwIE1hciAyMDI2IDIyOjE0OjAyICswMDAwCitT dWJqZWN0OiBDaGVjayBtdWx0aXBhcnQgbWF4X3NpemUgZHVyaW5nIGl0ZXJhdGlvbiAoIzEyMjI5 KQorCisqKlRoaXMgaXMgYSBiYWNrcG9ydCBvZiBQUiAjMTIyMTYgYXMgbWVyZ2VkIGludG8gbWFz dGVyCisoOWNjNGI5MTdjNTQ4MzNhMjJmNjVlZGFlNzk2M2QxNmE2ZWViMWY1NCkuKioKKworLS0t LS0tLS0tCisKK0NvLWF1dGhvcmVkLWJ5OiBTYW0gQnVsbCA8Z2l0QHNhbWJ1bGwub3JnPgorCitS ZXZpZXdlZC1CeTogRGFuaWVsIExlaWRlcnQgPGRsZWlkZXJ0QGRlYmlhbi5vcmc+CitPcmlnaW46 IGh0dHBzOi8vZ2l0aHViLmNvbS9haW8tbGlicy9haW9odHRwL2NvbW1pdC9jYmI3NzRmMzgzMzA1 NjM0MjJjYTBjNDEzYTcxMDIxZDdiOTQ0MTQ1CitCdWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9haW8t bGlicy9haW9odHRwL3NlY3VyaXR5L2Fkdmlzb3JpZXMvR0hTQS0zd3E3LXJxcTctd3g2agorQnVn LURlYmlhbi1TZWN1cml0eTogaHR0cHM6Ly9zZWN1cml0eS10cmFja2VyLmRlYmlhbi5vcmcvdHJh Y2tlci9DVkUtMjAyNi0zNDUxNworQnVnLUZyZWV4aWFuLVNlY3VyaXR5OiBodHRwczovL2RlYi5m cmVleGlhbi5jb20vZXh0ZW5kZWQtbHRzL3RyYWNrZXIvQ1ZFLTIwMjYtMzQ1MTcKKy0tLQorIGFp b2h0dHAvd2ViX3JlcXVlc3QucHkgfCAxOCArKysrKysrKysrKystLS0tLS0KKyAxIGZpbGUgY2hh bmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2Fp b2h0dHAvd2ViX3JlcXVlc3QucHkgYi9haW9odHRwL3dlYl9yZXF1ZXN0LnB5CitpbmRleCBiNWYx MzUyLi40NjFiNzFkIDEwMDY0NAorLS0tIGEvYWlvaHR0cC93ZWJfcmVxdWVzdC5weQorKysrIGIv YWlvaHR0cC93ZWJfcmVxdWVzdC5weQorQEAgLTc2OCwxNyArNzY4LDIzIEBAIGNsYXNzIEJhc2VS ZXF1ZXN0KE11dGFibGVNYXBwaW5nW3N0ciwgQW55XSwgSGVhZGVyc01peGluKToKKyAgICAgICAg ICAgICAgICAgICAgICAgICBvdXQuYWRkKGZpZWxkLm5hbWUsIGZmKQorICAgICAgICAgICAgICAg ICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAjIGRlYWwgd2l0aCBvcmRpbmFy eSBkYXRhCistICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSBhd2FpdCBmaWVsZC5yZWFk KGRlY29kZT1UcnVlKQorKyAgICAgICAgICAgICAgICAgICAgICAgIHJhd19kYXRhID0gYnl0ZWFy cmF5KCkKKysgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSBjaHVuayA6PSBhd2FpdCBmaWVs ZC5yZWFkX2NodW5rKCk6CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemUgKz0gbGVu KGNodW5rKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAwIDwgbWF4X3NpemUgPCBz aXplOgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgSFRUUFJlcXVlc3RF bnRpdHlUb29MYXJnZSgKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhf c2l6ZT1tYXhfc2l6ZSwgYWN0dWFsX3NpemU9c2l6ZQorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByYXdfZGF0YS5leHRlbmQo Y2h1bmspCisrCisrICAgICAgICAgICAgICAgICAgICAgICAgIyBmb3JtLWRhdGEgZG9lc24ndCBz dXBwb3J0IGNvbXByZXNzaW9uLCBzbyBkb24ndCBuZWVkIHRvIGNoZWNrIHNpemUgYWdhaW4uCisr ICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSBhd2FpdCBmaWVsZC5kZWNvZGUoYnl0ZXMo cmF3X2RhdGEpKQorKworICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGZpZWxkX2N0IGlzIE5v bmUgb3IgZmllbGRfY3Quc3RhcnRzd2l0aCgidGV4dC8iKToKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY2hhcnNldCA9IGZpZWxkLmdldF9jaGFyc2V0KGRlZmF1bHQ9InV0Zi04IikKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0LmFkZChmaWVsZC5uYW1lLCB2YWx1ZS5kZWNv ZGUoY2hhcnNldCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgb3V0LmFkZChmaWVsZC5uYW1lLCB2YWx1ZSkKKy0gICAgICAgICAg ICAgICAgICAgICAgICBzaXplICs9IGxlbih2YWx1ZSkKKy0gICAgICAgICAgICAgICAgICAgICAg ICBpZiAwIDwgbWF4X3NpemUgPCBzaXplOgorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBy YWlzZSBIVFRQUmVxdWVzdEVudGl0eVRvb0xhcmdlKAorLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbWF4X3NpemU9bWF4X3NpemUsIGFjdHVhbF9zaXplPXNpemUKKy0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAg ICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigKKyAgICAgICAgICAgICAgICAgICAgICAgICAiVG8g ZGVjb2RlIG5lc3RlZCBtdWx0aXBhcnQgeW91IG5lZWQgdG8gdXNlIGN1c3RvbSByZWFkZXIiLApk aWZmIC1OcnUgcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi0z NDUxOC5wYXRjaCBweXRob24tYWlvaHR0cC0zLjExLjE2L2RlYmlhbi9wYXRjaGVzL0NWRS0yMDI2 LTM0NTE4LnBhdGNoCi0tLSBweXRob24tYWlvaHR0cC0zLjExLjE2L2RlYmlhbi9wYXRjaGVzL0NW RS0yMDI2LTM0NTE4LnBhdGNoCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisr KyBweXRob24tYWlvaHR0cC0zLjExLjE2L2RlYmlhbi9wYXRjaGVzL0NWRS0yMDI2LTM0NTE4LnBh dGNoCTIwMjYtMDctMzEgMDM6NTA6MzIuMDAwMDAwMDAwICswMjAwCkBAIC0wLDAgKzEsNjAgQEAK K0Zyb206IFNhbSBCdWxsIDxnaXRAc2FtYnVsbC5vcmc+CitEYXRlOiBGcmksIDI3IEZlYiAyMDI2 IDAxOjMxOjA3ICswMDAwCitTdWJqZWN0OiBEcm9wIGFkZGl0aW9uYWwgaGVhZGVycyBvbiByZWRp cmVjdCAoIzEyMTQ2KSAoIzEyMTUwKQorCisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA2ZThm MzkzMzMwZjliZDZkN2IyNGExNDYxMjRlYmM0MmVhYTcyN2I5KQorCitSZXZpZXdlZC1CeTogRGFu aWVsIExlaWRlcnQgPGRsZWlkZXJ0QGRlYmlhbi5vcmc+CitPcmlnaW46IGh0dHBzOi8vZ2l0aHVi LmNvbS9haW8tbGlicy9haW9odHRwL2NvbW1pdC81MzUxYzk4MGRjZWM3YWQzODU3MzBlZmRmNGUx ZjQzMzhiMjRmZGI2CitCdWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9haW8tbGlicy9haW9odHRwL3Nl Y3VyaXR5L2Fkdmlzb3JpZXMvR0hTQS05NjZqLXZtdnctZzJnOQorQnVnLURlYmlhbi1TZWN1cml0 eTogaHR0cHM6Ly9zZWN1cml0eS10cmFja2VyLmRlYmlhbi5vcmcvdHJhY2tlci9DVkUtMjAyNi0z NDUxOAorQnVnLUZyZWV4aWFuLVNlY3VyaXR5OiBodHRwczovL2RlYi5mcmVleGlhbi5jb20vZXh0 ZW5kZWQtbHRzL3RyYWNrZXIvQ1ZFLTIwMjYtMzQ1MTgKKy0tLQorIGFpb2h0dHAvY2xpZW50LnB5 ICAgICAgICAgICAgICAgfCAyICsrCisgdGVzdHMvdGVzdF9jbGllbnRfZnVuY3Rpb25hbC5weSB8 IDkgKysrKysrKystCisgMiBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAxIGRlbGV0 aW9uKC0pCisKK2RpZmYgLS1naXQgYS9haW9odHRwL2NsaWVudC5weSBiL2Fpb2h0dHAvY2xpZW50 LnB5CitpbmRleCBlMzdjZDJlLi44ZGFmMzJjIDEwMDY0NAorLS0tIGEvYWlvaHR0cC9jbGllbnQu cHkKKysrKyBiL2Fpb2h0dHAvY2xpZW50LnB5CitAQCAtODIzLDYgKzgyMyw4IEBAIGNsYXNzIENs aWVudFNlc3Npb246CisgICAgICAgICAgICAgICAgICAgICAgICAgaWYgdXJsLm9yaWdpbigpICE9 IHJlZGlyZWN0X29yaWdpbjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0aCA9IE5v bmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVycy5wb3AoaGRycy5BVVRIT1JJ WkFUSU9OLCBOb25lKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzLnBvcCho ZHJzLkNPT0tJRSwgTm9uZSkKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVycy5w b3AoaGRycy5QUk9YWV9BVVRIT1JJWkFUSU9OLCBOb25lKQorIAorICAgICAgICAgICAgICAgICAg ICAgICAgIHVybCA9IHBhcnNlZF9yZWRpcmVjdF91cmwKKyAgICAgICAgICAgICAgICAgICAgICAg ICBwYXJhbXMgPSB7fQorZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3RfY2xpZW50X2Z1bmN0aW9uYWwu cHkgYi90ZXN0cy90ZXN0X2NsaWVudF9mdW5jdGlvbmFsLnB5CitpbmRleCA0MmQwZDI5Li41NzUz ZTE5IDEwMDY0NAorLS0tIGEvdGVzdHMvdGVzdF9jbGllbnRfZnVuY3Rpb25hbC5weQorKysrIGIv dGVzdHMvdGVzdF9jbGllbnRfZnVuY3Rpb25hbC5weQorQEAgLTMxNDgsNiArMzE0OCw4IEBAIGFz eW5jIGRlZiB0ZXN0X2Ryb3BfYXV0aF9vbl9yZWRpcmVjdF90b19vdGhlcl9ob3N0KAorICAgICBh c3luYyBkZWYgc3J2X3RvKHJlcXVlc3QpOgorICAgICAgICAgYXNzZXJ0IHJlcXVlc3QuaG9zdCA9 PSB1cmxfdG8uaG9zdAorICAgICAgICAgYXNzZXJ0ICJBdXRob3JpemF0aW9uIiBub3QgaW4gcmVx dWVzdC5oZWFkZXJzLCAiSGVhZGVyIHdhc24ndCBkcm9wcGVkIgorKyAgICAgICAgYXNzZXJ0ICJQ cm94eS1BdXRob3JpemF0aW9uIiBub3QgaW4gcmVxdWVzdC5oZWFkZXJzCisrICAgICAgICBhc3Nl cnQgIkNvb2tpZSIgbm90IGluIHJlcXVlc3QuaGVhZGVycworICAgICAgICAgcmV0dXJuIHdlYi5S ZXNwb25zZSgpCisgCisgICAgIHNlcnZlcl9mcm9tID0gYXdhaXQgY3JlYXRlX3NlcnZlcl9mb3Jf dXJsX2FuZF9oYW5kbGVyKHVybF9mcm9tLCBzcnZfZnJvbSkKK0BAIC0zMTkwLDExICszMTkyLDE2 IEBAIGFzeW5jIGRlZiB0ZXN0X2Ryb3BfYXV0aF9vbl9yZWRpcmVjdF90b19vdGhlcl9ob3N0KAor ICAgICAgICAgcmVzcCA9IGF3YWl0IGNsaWVudC5nZXQoCisgICAgICAgICAgICAgdXJsX2Zyb20s CisgICAgICAgICAgICAgYXV0aD1haW9odHRwLkJhc2ljQXV0aCgidXNlciIsICJwYXNzIiksCisr ICAgICAgICAgICAgaGVhZGVycz17IlByb3h5LUF1dGhvcml6YXRpb24iOiAiQmFzaWMgZFhObGNq cHdZWE56IiwgIkNvb2tpZSI6ICJhPWIifSwKKyAgICAgICAgICkKKyAgICAgICAgIGFzc2VydCBy ZXNwLnN0YXR1cyA9PSAyMDAKKyAgICAgICAgIHJlc3AgPSBhd2FpdCBjbGllbnQuZ2V0KAorICAg ICAgICAgICAgIHVybF9mcm9tLAorLSAgICAgICAgICAgIGhlYWRlcnM9eyJBdXRob3JpemF0aW9u IjogIkJhc2ljIGRYTmxjanB3WVhOeiJ9LAorKyAgICAgICAgICAgIGhlYWRlcnM9eworKyAgICAg ICAgICAgICAgICAiQXV0aG9yaXphdGlvbiI6ICJCYXNpYyBkWE5sY2pwd1lYTnoiLAorKyAgICAg ICAgICAgICAgICAiUHJveHktQXV0aG9yaXphdGlvbiI6ICJCYXNpYyBkWE5sY2pwd1lYTnoiLAor KyAgICAgICAgICAgICAgICAiQ29va2llIjogImE9YiIsCisrICAgICAgICAgICAgfSwKKyAgICAg ICAgICkKKyAgICAgICAgIGFzc2VydCByZXNwLnN0YXR1cyA9PSAyMDAKKyAKZGlmZiAtTnJ1IHB5 dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3BhdGNoZXMvQ1ZFLTIwMjYtMzQ1MTkucGF0Y2gg cHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi0zNDUxOS5wYXRj aAotLS0gcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi0zNDUx OS5wYXRjaAkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysgcHl0aG9uLWFp b2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi0zNDUxOS5wYXRjaAkyMDI2LTA3 LTMxIDAzOjUwOjMyLjAwMDAwMDAwMCArMDIwMApAQCAtMCwwICsxLDE0OSBAQAorRnJvbTogU2Ft IEJ1bGwgPGdpdEBzYW1idWxsLm9yZz4KK0RhdGU6IFNhdCwgNyBNYXIgMjAyNiAxOTowMDowMiAr MDAwMAorU3ViamVjdDogW1BBVENIXSBSZXN0cmljdCByZWFzb24gKCMxMjIwOSkgKCMxMjIxMikK KworKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMTg1MTA0ODJkZTA4MGJmNzQxYzU2MGJmMmEx OTBmZGM1NGI0ZWVkNCkKKworUmV2aWV3ZWQtQnk6IERhbmllbCBMZWlkZXJ0IDxkbGVpZGVydEBk ZWJpYW4ub3JnPgorT3JpZ2luOiBodHRwczovL2dpdGh1Yi5jb20vYWlvLWxpYnMvYWlvaHR0cC9j b21taXQvNTNiMzVhMmY4ODY5YzM3YTEzM2U2MGJmMWE4MmExYzAxNjQyYmEyYgorQnVnOiBodHRw czovL2dpdGh1Yi5jb20vYWlvLWxpYnMvYWlvaHR0cC9zZWN1cml0eS9hZHZpc29yaWVzL0dIU0Et bXdoNC02aDhnLXBnOHcKK0J1Zy1EZWJpYW4tU2VjdXJpdHk6IGh0dHBzOi8vc2VjdXJpdHktdHJh Y2tlci5kZWJpYW4ub3JnL3RyYWNrZXIvQ1ZFLTIwMjYtMzQ1MTkKK0J1Zy1GcmVleGlhbi1TZWN1 cml0eTogaHR0cHM6Ly9kZWIuZnJlZXhpYW4uY29tL2V4dGVuZGVkLWx0cy90cmFja2VyL0NWRS0y MDI2LTM0NTE5CistLS0KKyBhaW9odHRwL19odHRwX3dyaXRlci5weXggICAgIHwgIDIgKy0KKyBh aW9odHRwL2h0dHBfd3JpdGVyLnB5ICAgICAgIHwgIDEgKworIGFpb2h0dHAvd2ViX2V4Y2VwdGlv bnMucHkgICAgfCAgMiArKworIGFpb2h0dHAvd2ViX3Jlc3BvbnNlLnB5ICAgICAgfCAgNCArKy0t CisgdGVzdHMvdGVzdF93ZWJfZXhjZXB0aW9ucy5weSB8IDEyICsrKysrKysrKysrLQorIHRlc3Rz L3Rlc3Rfd2ViX3Jlc3BvbnNlLnB5ICAgfCAzMCArKysrKysrKysrKysrKysrKysrKysrKysrKy0t LS0KKyA2IGZpbGVzIGNoYW5nZWQsIDQzIGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCisK K2RpZmYgLS1naXQgYS9haW9odHRwL19odHRwX3dyaXRlci5weXggYi9haW9odHRwL19odHRwX3dy aXRlci5weXgKK2luZGV4IDRhM2FlMWYuLmU2MmMzOTkgMTAwNjQ0CistLS0gYS9haW9odHRwL19o dHRwX3dyaXRlci5weXgKKysrKyBiL2Fpb2h0dHAvX2h0dHBfd3JpdGVyLnB5eAorQEAgLTEyOSw3 ICsxMjksNyBAQCBkZWYgX3NlcmlhbGl6ZV9oZWFkZXJzKHN0ciBzdGF0dXNfbGluZSwgaGVhZGVy cyk6CisgICAgIF9pbml0X3dyaXRlcigmd3JpdGVyKQorIAorICAgICB0cnk6CistICAgICAgICBp ZiBfd3JpdGVfc3RyKCZ3cml0ZXIsIHN0YXR1c19saW5lKSA8IDA6CisrICAgICAgICBpZiBfd3Jp dGVfc3RyX3JhaXNlX29uX25sY3IoJndyaXRlciwgc3RhdHVzX2xpbmUpIDwgMDoKKyAgICAgICAg ICAgICByYWlzZQorICAgICAgICAgaWYgX3dyaXRlX2J5dGUoJndyaXRlciwgYidccicpIDwgMDoK KyAgICAgICAgICAgICByYWlzZQorZGlmZiAtLWdpdCBhL2Fpb2h0dHAvaHR0cF93cml0ZXIucHkg Yi9haW9odHRwL2h0dHBfd3JpdGVyLnB5CitpbmRleCBlMDMxYTk3Li44MmRmOWQyIDEwMDY0NAor LS0tIGEvYWlvaHR0cC9odHRwX3dyaXRlci5weQorKysrIGIvYWlvaHR0cC9odHRwX3dyaXRlci5w eQorQEAgLTIzMiw2ICsyMzIsNyBAQCBkZWYgX3NhZmVfaGVhZGVyKHN0cmluZzogc3RyKSAtPiBz dHI6CisgCisgCisgZGVmIF9weV9zZXJpYWxpemVfaGVhZGVycyhzdGF0dXNfbGluZTogc3RyLCBo ZWFkZXJzOiAiQ0lNdWx0aURpY3Rbc3RyXSIpIC0+IGJ5dGVzOgorKyAgICBfc2FmZV9oZWFkZXIo c3RhdHVzX2xpbmUpCisgICAgIGhlYWRlcnNfZ2VuID0gKF9zYWZlX2hlYWRlcihrKSArICI6ICIg KyBfc2FmZV9oZWFkZXIodikgZm9yIGssIHYgaW4gaGVhZGVycy5pdGVtcygpKQorICAgICBsaW5l ID0gc3RhdHVzX2xpbmUgKyAiXHJcbiIgKyAiXHJcbiIuam9pbihoZWFkZXJzX2dlbikgKyAiXHJc blxyXG4iCisgICAgIHJldHVybiBsaW5lLmVuY29kZSgidXRmLTgiKQorZGlmZiAtLWdpdCBhL2Fp b2h0dHAvd2ViX2V4Y2VwdGlvbnMucHkgYi9haW9odHRwL3dlYl9leGNlcHRpb25zLnB5CitpbmRl eCBlZTJjMWU3Li4zMDc5MmMyIDEwMDY0NAorLS0tIGEvYWlvaHR0cC93ZWJfZXhjZXB0aW9ucy5w eQorKysrIGIvYWlvaHR0cC93ZWJfZXhjZXB0aW9ucy5weQorQEAgLTEwMSw2ICsxMDEsOCBAQCBj bGFzcyBIVFRQRXhjZXB0aW9uKFJlc3BvbnNlLCBFeGNlcHRpb24pOgorICAgICAgICAgICAgICAg ICAiYm9keSBhcmd1bWVudCBpcyBkZXByZWNhdGVkIGZvciBodHRwIHdlYiBleGNlcHRpb25zIiwK KyAgICAgICAgICAgICAgICAgRGVwcmVjYXRpb25XYXJuaW5nLAorICAgICAgICAgICAgICkKKysg ICAgICAgIGlmIHJlYXNvbiBpcyBub3QgTm9uZSBhbmQgKCJcciIgaW4gcmVhc29uIG9yICJcbiIg aW4gcmVhc29uKToKKysgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJSZWFzb24gY2Fubm90 IGNvbnRhaW4gXFxyIG9yIFxcbiIpCisgICAgICAgICBSZXNwb25zZS5fX2luaXRfXygKKyAgICAg ICAgICAgICBzZWxmLAorICAgICAgICAgICAgIHN0YXR1cz1zZWxmLnN0YXR1c19jb2RlLAorZGlm ZiAtLWdpdCBhL2Fpb2h0dHAvd2ViX3Jlc3BvbnNlLnB5IGIvYWlvaHR0cC93ZWJfcmVzcG9uc2Uu cHkKK2luZGV4IDM2N2FjNmUuLmY4ZTJkNGQgMTAwNjQ0CistLS0gYS9haW9odHRwL3dlYl9yZXNw b25zZS5weQorKysrIGIvYWlvaHR0cC93ZWJfcmVzcG9uc2UucHkKK0BAIC0xNTgsOCArMTU4LDgg QEAgY2xhc3MgU3RyZWFtUmVzcG9uc2UoQmFzZUNsYXNzLCBIZWFkZXJzTWl4aW4pOgorICAgICAg ICAgc2VsZi5fc3RhdHVzID0gaW50KHN0YXR1cykKKyAgICAgICAgIGlmIHJlYXNvbiBpcyBOb25l OgorICAgICAgICAgICAgIHJlYXNvbiA9IFJFQVNPTl9QSFJBU0VTLmdldChzZWxmLl9zdGF0dXMs ICIiKQorLSAgICAgICAgZWxpZiAiXG4iIGluIHJlYXNvbjoKKy0gICAgICAgICAgICByYWlzZSBW YWx1ZUVycm9yKCJSZWFzb24gY2Fubm90IGNvbnRhaW4gXFxuIikKKysgICAgICAgIGVsaWYgIlxy IiBpbiByZWFzb24gb3IgIlxuIiBpbiByZWFzb246CisrICAgICAgICAgICAgcmFpc2UgVmFsdWVF cnJvcigiUmVhc29uIGNhbm5vdCBjb250YWluIFxcciBvciBcXG4iKQorICAgICAgICAgc2VsZi5f cmVhc29uID0gcmVhc29uCisgCisgICAgIEBwcm9wZXJ0eQorZGlmZiAtLWdpdCBhL3Rlc3RzL3Rl c3Rfd2ViX2V4Y2VwdGlvbnMucHkgYi90ZXN0cy90ZXN0X3dlYl9leGNlcHRpb25zLnB5CitpbmRl eCAzMzU4YTk0Li41YTk4ZDBmIDEwMDY0NAorLS0tIGEvdGVzdHMvdGVzdF93ZWJfZXhjZXB0aW9u cy5weQorKysrIGIvdGVzdHMvdGVzdF93ZWJfZXhjZXB0aW9ucy5weQorQEAgLTI3Myw1ICsyNzMs MTUgQEAgZGVmIHRlc3RfdW5pY29kZV90ZXh0X2JvZHlfdW5hdXRob3JpemVkKCkgLT4gTm9uZToK KyAKKyAKKyBkZWYgdGVzdF9tdWx0aWxpbmVfcmVhc29uKCkgLT4gTm9uZToKKy0gICAgd2l0aCBw eXRlc3QucmFpc2VzKFZhbHVlRXJyb3IsIG1hdGNoPXIiUmVhc29uIGNhbm5vdCBjb250YWluIFxc biIpOgorKyAgICB3aXRoIHB5dGVzdC5yYWlzZXMoVmFsdWVFcnJvciwgbWF0Y2g9ciJSZWFzb24g Y2Fubm90IGNvbnRhaW4iKToKKyAgICAgICAgIHdlYi5IVFRQT2socmVhc29uPSJCYWRcclxuSW5q ZWN0ZWQtaGVhZGVyOiBmb28iKQorKworKworK2RlZiB0ZXN0X3JlYXNvbl93aXRoX2NyKCkgLT4g Tm9uZToKKysgICAgd2l0aCBweXRlc3QucmFpc2VzKFZhbHVlRXJyb3IsIG1hdGNoPXIiUmVhc29u IGNhbm5vdCBjb250YWluIik6CisrICAgICAgICB3ZWIuSFRUUE9rKHJlYXNvbj0iT0tcclNldC1D b29raWU6IGV2aWw9MSIpCisrCisrCisrZGVmIHRlc3RfcmVhc29uX3dpdGhfbGYoKSAtPiBOb25l OgorKyAgICB3aXRoIHB5dGVzdC5yYWlzZXMoVmFsdWVFcnJvciwgbWF0Y2g9ciJSZWFzb24gY2Fu bm90IGNvbnRhaW4iKToKKysgICAgICAgIHdlYi5IVFRQT2socmVhc29uPSJPS1xuU2V0LUNvb2tp ZTogZXZpbD0xIikKK2RpZmYgLS1naXQgYS90ZXN0cy90ZXN0X3dlYl9yZXNwb25zZS5weSBiL3Rl c3RzL3Rlc3Rfd2ViX3Jlc3BvbnNlLnB5CitpbmRleCA5NTc2OTE2Li5kM2VlMjRlIDEwMDY0NAor LS0tIGEvdGVzdHMvdGVzdF93ZWJfcmVzcG9uc2UucHkKKysrKyBiL3Rlc3RzL3Rlc3Rfd2ViX3Jl c3BvbnNlLnB5CitAQCAtMTMsNyArMTMsOCBAQCBpbXBvcnQgcHl0ZXN0CisgZnJvbSBtdWx0aWRp Y3QgaW1wb3J0IENJTXVsdGlEaWN0LCBDSU11bHRpRGljdFByb3h5LCBNdWx0aURpY3QKKyBmcm9t IHJlX2Fzc2VydCBpbXBvcnQgTWF0Y2hlcworIAorLWZyb20gYWlvaHR0cCBpbXBvcnQgSHR0cFZl cnNpb24sIEh0dHBWZXJzaW9uMTAsIEh0dHBWZXJzaW9uMTEsIGhkcnMKKytmcm9tIGFpb2h0dHAg aW1wb3J0IEh0dHBWZXJzaW9uLCBIdHRwVmVyc2lvbjEwLCBIdHRwVmVyc2lvbjExLCBoZHJzLCB3 ZWIKKytmcm9tIGFpb2h0dHAuYWJjIGltcG9ydCBBYnN0cmFjdFN0cmVhbVdyaXRlcgorIGZyb20g YWlvaHR0cC5oZWxwZXJzIGltcG9ydCBFVGFnCisgZnJvbSBhaW9odHRwLmh0dHBfd3JpdGVyIGlt cG9ydCBTdHJlYW1Xcml0ZXIsIF9zZXJpYWxpemVfaGVhZGVycworIGZyb20gYWlvaHR0cC5tdWx0 aXBhcnQgaW1wb3J0IEJvZHlQYXJ0UmVhZGVyLCBNdWx0aXBhcnRXcml0ZXIKK0BAIC05NjYsNiAr OTY3LDI3IEBAIGRlZiB0ZXN0X3NldF9zdGF0dXNfd2l0aF9lbXB0eV9yZWFzb24oKSAtPiBOb25l OgorICAgICBhc3NlcnQgcmVzcC5yZWFzb24gPT0gIiIKKyAKKyAKKytkZWYgdGVzdF9zZXRfc3Rh dHVzX3JlYXNvbl93aXRoX2NyKCkgLT4gTm9uZToKKysgICAgcmVzcCA9IHdlYi5TdHJlYW1SZXNw b25zZSgpCisrCisrICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhWYWx1ZUVycm9yLCBtYXRjaD0iUmVh c29uIGNhbm5vdCBjb250YWluIik6CisrICAgICAgICByZXNwLnNldF9zdGF0dXMoMjAwLCAiT0tc clNldC1Db29raWU6IGV2aWw9MSIpCisrCisrCisrZGVmIHRlc3Rfc2V0X3N0YXR1c19yZWFzb25f d2l0aF9sZigpIC0+IE5vbmU6CisrICAgIHJlc3AgPSB3ZWIuU3RyZWFtUmVzcG9uc2UoKQorKwor KyAgICB3aXRoIHB5dGVzdC5yYWlzZXMoVmFsdWVFcnJvciwgbWF0Y2g9IlJlYXNvbiBjYW5ub3Qg Y29udGFpbiIpOgorKyAgICAgICAgcmVzcC5zZXRfc3RhdHVzKDIwMCwgIk9LXG5TZXQtQ29va2ll OiBldmlsPTEiKQorKworKworK2RlZiB0ZXN0X3NldF9zdGF0dXNfcmVhc29uX3dpdGhfY3JsZigp IC0+IE5vbmU6CisrICAgIHJlc3AgPSB3ZWIuU3RyZWFtUmVzcG9uc2UoKQorKworKyAgICB3aXRo IHB5dGVzdC5yYWlzZXMoVmFsdWVFcnJvciwgbWF0Y2g9IlJlYXNvbiBjYW5ub3QgY29udGFpbiIp OgorKyAgICAgICAgcmVzcC5zZXRfc3RhdHVzKDIwMCwgIk9LXHJcblNldC1Db29raWU6IGV2aWw9 MSIpCisrCisrCisgYXN5bmMgZGVmIHRlc3Rfc3RhcnRfZm9yY2VfY2xvc2UoKSAtPiBOb25lOgor ICAgICByZXEgPSBtYWtlX3JlcXVlc3QoIkdFVCIsICIvIikKKyAgICAgcmVzcCA9IFN0cmVhbVJl c3BvbnNlKCkKK0BAIC0xMjU5LDkgKzEyODEsOSBAQCBhc3luYyBkZWYgdGVzdF9yZW5kZXJfd2l0 aF9ib2R5KGJ1Ziwgd3JpdGVyKSAtPiBOb25lOgorICAgICApCisgCisgCistYXN5bmMgZGVmIHRl c3RfbXVsdGlsaW5lX3JlYXNvbihidWYsIHdyaXRlcikgLT4gTm9uZToKKy0gICAgd2l0aCBweXRl c3QucmFpc2VzKFZhbHVlRXJyb3IsIG1hdGNoPXIiUmVhc29uIGNhbm5vdCBjb250YWluIFxcbiIp OgorLSAgICAgICAgUmVzcG9uc2UocmVhc29uPSJCYWRcclxuSW5qZWN0ZWQtaGVhZGVyOiBmb28i KQorK2FzeW5jIGRlZiB0ZXN0X211bHRpbGluZV9yZWFzb24oYnVmOiBieXRlYXJyYXksIHdyaXRl cjogQWJzdHJhY3RTdHJlYW1Xcml0ZXIpIC0+IE5vbmU6CisrICAgIHdpdGggcHl0ZXN0LnJhaXNl cyhWYWx1ZUVycm9yLCBtYXRjaD1yIlJlYXNvbiBjYW5ub3QgY29udGFpbiBcXHIgb3IgXFxuIik6 CisrICAgICAgICB3ZWIuUmVzcG9uc2UocmVhc29uPSJCYWRcclxuSW5qZWN0ZWQtaGVhZGVyOiBm b28iKQorIAorIAorIGFzeW5jIGRlZiB0ZXN0X3NlbmRfc2V0X2Nvb2tpZV9oZWFkZXIoYnVmLCB3 cml0ZXIpIC0+IE5vbmU6CmRpZmYgLU5ydSBweXRob24tYWlvaHR0cC0zLjExLjE2L2RlYmlhbi9w YXRjaGVzL0NWRS0yMDI2LTM0NTIwLnBhdGNoIHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFu L3BhdGNoZXMvQ1ZFLTIwMjYtMzQ1MjAucGF0Y2gKLS0tIHB5dGhvbi1haW9odHRwLTMuMTEuMTYv ZGViaWFuL3BhdGNoZXMvQ1ZFLTIwMjYtMzQ1MjAucGF0Y2gJMTk3MC0wMS0wMSAwMTowMDowMC4w MDAwMDAwMDAgKzAxMDAKKysrIHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3BhdGNoZXMv Q1ZFLTIwMjYtMzQ1MjAucGF0Y2gJMjAyNi0wNy0zMSAwMzo1MDozMi4wMDAwMDAwMDAgKzAyMDAK QEAgLTAsMCArMSw3MSBAQAorRnJvbTogUm9kcmlnbyBOb2d1ZWlyYSA8cm9kcmlnby5iLm5vZ3Vl aXJhQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMTEgTWFyIDIwMjYgMjA6Mzg6MTcgLTAzMDAKK1N1 YmplY3Q6IEFkanVzdCBoZWFkZXIgdmFsdWUgY2hhcmFjdGVyIGNoZWNrcyB0byBSRkMgOTExMCAo IzEyMjM1KQorCitDby1hdXRob3JlZC1ieTogcm9kcmlnby5ub2d1ZWlyYSA8cm9kcmlnby5ub2d1 ZWlyYUBwcmYuZ292LmJyPgorCitSZXZpZXdlZC1CeTogRGFuaWVsIExlaWRlcnQgPGRsZWlkZXJ0 QGRlYmlhbi5vcmc+CitPcmlnaW46IGh0dHBzOi8vZ2l0aHViLmNvbS9haW8tbGlicy9haW9odHRw L2NvbW1pdC85MzcwYjk3MTRhN2E1NjAwM2NhY2QzMWE5YjRhZTE2ZWFiMTA5YmE0CitCdWc6IGh0 dHBzOi8vZ2l0aHViLmNvbS9haW8tbGlicy9haW9odHRwL3NlY3VyaXR5L2Fkdmlzb3JpZXMvR0hT QS02M2hmLTN2ZjUtNHdxZgorQnVnLURlYmlhbi1TZWN1cml0eTogaHR0cHM6Ly9zZWN1cml0eS10 cmFja2VyLmRlYmlhbi5vcmcvdHJhY2tlci9DVkUtMjAyNi0zNDUyMAorQnVnLUZyZWV4aWFuLVNl Y3VyaXR5OiBodHRwczovL2RlYi5mcmVleGlhbi5jb20vZXh0ZW5kZWQtbHRzL3RyYWNrZXIvQ1ZF LTIwMjYtMzQ1MjAKKy0tLQorIGFpb2h0dHAvaHR0cF9wYXJzZXIucHkgICAgfCAgOSArKysrKysr Ky0KKyB0ZXN0cy90ZXN0X2h0dHBfcGFyc2VyLnB5IHwgMTAgKysrKysrKysrKworIDIgZmlsZXMg Y2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEv YWlvaHR0cC9odHRwX3BhcnNlci5weSBiL2Fpb2h0dHAvaHR0cF9wYXJzZXIucHkKK2luZGV4IDM4 M2Q3NjAuLmU0ODJhYTYgMTAwNjQ0CistLS0gYS9haW9odHRwL2h0dHBfcGFyc2VyLnB5CisrKysg Yi9haW9odHRwL2h0dHBfcGFyc2VyLnB5CitAQCAtNzQsNiArNzQsMTAgQEAgQVNDSUlTRVQ6IEZp bmFsW1NldFtzdHJdXSA9IHNldChzdHJpbmcucHJpbnRhYmxlKQorICMgICAgIHRva2VuID0gMSp0 Y2hhcgorIF9UQ0hBUl9TUEVDSUFMUzogRmluYWxbc3RyXSA9IHJlLmVzY2FwZSgiISMkJSYnKist Ll5fYHx+IikKKyBUT0tFTlJFOiBGaW5hbFtQYXR0ZXJuW3N0cl1dID0gcmUuY29tcGlsZShmIlsw LTlBLVphLXp7X1RDSEFSX1NQRUNJQUxTfV0rIikKKysjIGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iu b3JnL3JmYy9yZmM5MTEwI3NlY3Rpb24tNS41LTUKKytfRklFTERfVkFMVUVfRk9SQklEREVOX0NU TF9SRTogRmluYWxbUGF0dGVybltzdHJdXSA9IHJlLmNvbXBpbGUoCisrICAgIHIiW1x4MDAtXHgw OFx4MGEtXHgxZlx4N2ZdIgorKykKKyBWRVJTUkU6IEZpbmFsW1BhdHRlcm5bc3RyXV0gPSByZS5j b21waWxlKHIiSFRUUC8oXGQpXC4oXGQpIiwgcmUuQVNDSUkpCisgRElHSVRTOiBGaW5hbFtQYXR0 ZXJuW3N0cl1dID0gcmUuY29tcGlsZShyIlxkKyIsIHJlLkFTQ0lJKQorIEhFWERJR0lUUzogRmlu YWxbUGF0dGVybltieXRlc11dID0gcmUuY29tcGlsZShyYiJbMC05YS1mQS1GXSsiKQorQEAgLTIw MSw3ICsyMDUsMTAgQEAgY2xhc3MgSGVhZGVyc1BhcnNlcjoKKyAgICAgICAgICAgICB2YWx1ZSA9 IGJ2YWx1ZS5kZWNvZGUoInV0Zi04IiwgInN1cnJvZ2F0ZWVzY2FwZSIpCisgCisgICAgICAgICAg ICAgIyBodHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9yZmMvcmZjOTExMC5odG1sI3NlY3Rpb24t NS41LTUKKy0gICAgICAgICAgICBpZiAiXG4iIGluIHZhbHVlIG9yICJcciIgaW4gdmFsdWUgb3Ig Ilx4MDAiIGluIHZhbHVlOgorKyAgICAgICAgICAgIGlmIHNlbGYuX2xheDoKKysgICAgICAgICAg ICAgICAgaWYgIlxuIiBpbiB2YWx1ZSBvciAiXHIiIGluIHZhbHVlIG9yICJceDAwIiBpbiB2YWx1 ZToKKysgICAgICAgICAgICAgICAgICAgIHJhaXNlIEludmFsaWRIZWFkZXIoYnZhbHVlKQorKyAg ICAgICAgICAgIGVsaWYgX0ZJRUxEX1ZBTFVFX0ZPUkJJRERFTl9DVExfUkUuc2VhcmNoKHZhbHVl KToKKyAgICAgICAgICAgICAgICAgcmFpc2UgSW52YWxpZEhlYWRlcihidmFsdWUpCisgCisgICAg ICAgICAgICAgaGVhZGVycy5hZGQobmFtZSwgdmFsdWUpCitkaWZmIC0tZ2l0IGEvdGVzdHMvdGVz dF9odHRwX3BhcnNlci5weSBiL3Rlc3RzL3Rlc3RfaHR0cF9wYXJzZXIucHkKK2luZGV4IGE5MTM5 MjEuLmIzNjgxMmIgMTAwNjQ0CistLS0gYS90ZXN0cy90ZXN0X2h0dHBfcGFyc2VyLnB5CisrKysg Yi90ZXN0cy90ZXN0X2h0dHBfcGFyc2VyLnB5CitAQCAtMjEzLDYgKzIxMyw5IEBAIGRlZiB0ZXN0 X2JhZF9oZWFkZXJfbmFtZShwYXJzZXI6IEFueSwgcmZjOTExMF81XzZfMl90b2tlbl9kZWxpbTog c3RyKSAtPiBOb25lOgorICAgICAgICAgIkZvbyA6IGJhciIsICAjIGh0dHBzOi8vd3d3LnJmYy1l ZGl0b3Iub3JnL3JmYy9yZmM5MTEyLmh0bWwjc2VjdGlvbi01LjEtMgorICAgICAgICAgIkZvb1x0 OiBiYXIiLAorICAgICAgICAgIlx4ZmZvbzogYmFyIiwKKysgICAgICAgICJGb286IGFiY1x4MDFk ZWYiLCAgIyBDVEwgYnl0ZXMgZm9yYmlkZGVuIHBlciBSRkMgOTExMCDCpzUuNQorKyAgICAgICAg IkZvbzogYWJjXHg3ZmRlZiIsICAjIERFTCBpcyBhbHNvIGEgQ1RMIGJ5dGUKKysgICAgICAgICJG b286IGFiY1x4MWZkZWYiLAorICAgICApLAorICkKKyBkZWYgdGVzdF9iYWRfaGVhZGVycyhwYXJz ZXI6IEFueSwgaGRyOiBzdHIpIC0+IE5vbmU6CitAQCAtMjIxLDYgKzIyNCwxMyBAQCBkZWYgdGVz dF9iYWRfaGVhZGVycyhwYXJzZXI6IEFueSwgaGRyOiBzdHIpIC0+IE5vbmU6CisgICAgICAgICBw YXJzZXIuZmVlZF9kYXRhKHRleHQpCisgCisgCisrZGVmIHRlc3RfY3RsX2hvc3RfaGVhZGVyX2Jh ZF9jaGFyYWN0ZXJzKHBhcnNlcjogSHR0cFJlcXVlc3RQYXJzZXIpIC0+IE5vbmU6CisrICAgICIi IkNUTCBieXRlIGluIEhvc3QgaGVhZGVyIG11c3QgYmUgcmVqZWN0ZWQuIiIiCisrICAgIHRleHQg PSBiIkdFVCAvdGVzdCBIVFRQLzEuMVxyXG5Ib3N0OiB0cnVzdGVkLmV4YW1wbGVceDAxQGJhZC50 ZXN0XHJcblxyXG4iCisrICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhodHRwX2V4Y2VwdGlvbnMuQmFk SHR0cE1lc3NhZ2UpOgorKyAgICAgICAgcGFyc2VyLmZlZWRfZGF0YSh0ZXh0KQorKworKworIGRl ZiB0ZXN0X3VucGFpcmVkX3N1cnJvZ2F0ZV9pbl9oZWFkZXJfcHkobG9vcDogQW55LCBwcm90b2Nv bDogQW55KSAtPiBOb25lOgorICAgICBwYXJzZXIgPSBIdHRwUmVxdWVzdFBhcnNlclB5KAorICAg ICAgICAgcHJvdG9jb2wsCmRpZmYgLU5ydSBweXRob24tYWlvaHR0cC0zLjExLjE2L2RlYmlhbi9w YXRjaGVzL0NWRS0yMDI2LTM0NTI1LTEucGF0Y2ggcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJp YW4vcGF0Y2hlcy9DVkUtMjAyNi0zNDUyNS0xLnBhdGNoCi0tLSBweXRob24tYWlvaHR0cC0zLjEx LjE2L2RlYmlhbi9wYXRjaGVzL0NWRS0yMDI2LTM0NTI1LTEucGF0Y2gJMTk3MC0wMS0wMSAwMTow MDowMC4wMDAwMDAwMDAgKzAxMDAKKysrIHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3Bh dGNoZXMvQ1ZFLTIwMjYtMzQ1MjUtMS5wYXRjaAkyMDI2LTA3LTMxIDAzOjUwOjMyLjAwMDAwMDAw MCArMDIwMApAQCAtMCwwICsxLDExMSBAQAorRnJvbTogInBhdGNoYmFja1tib3RdIiA8NDU0MzI2 OTQrcGF0Y2hiYWNrW2JvdF1AdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU3VuLCAx NSBNYXIgMjAyNiAxMzo1ODowOCArMDAwMAorU3ViamVjdDogUmVqZWN0IGR1cGxpY2F0ZSBzaW5n bGV0b24gaGVhZGVycyBpbiBDIGV4dGVuc2lvbiBwYXJzZXIgKCMxMjI0MSkKKworKipUaGlzIGlz IGEgYmFja3BvcnQgb2YgUFIgIzEyMjQwIGFzIG1lcmdlZCBpbnRvIG1hc3RlcgorKDM0NWQyNTM3 MTU2MmRkNTZkZTA5OWYxZmNkNTcyMGU5NmM2ZTc3MDIpLioqCisKK0NvLWF1dGhvcmVkLWJ5OiBS b2RyaWdvIE5vZ3VlaXJhIDxyb2RyaWdvLmIubm9ndWVpcmFAZ21haWwuY29tPgorCitSZXZpZXdl ZC1CeTogRGFuaWVsIExlaWRlcnQgPGRsZWlkZXJ0QGRlYmlhbi5vcmc+CitPcmlnaW46IGh0dHBz Oi8vZ2l0aHViLmNvbS9haW8tbGlicy9haW9odHRwL2NvbW1pdC9lMDBjYTNjY2E5MmM0NjVjNzkx M2M0YmViNzYzYTcyZGE5ZWQ4MzQ5CitCdWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9haW8tbGlicy9h aW9odHRwL3NlY3VyaXR5L2Fkdmlzb3JpZXMvR0hTQS1jNDI3LWg0M2MtdmY2NworQnVnLURlYmlh bi1TZWN1cml0eTogaHR0cHM6Ly9zZWN1cml0eS10cmFja2VyLmRlYmlhbi5vcmcvdHJhY2tlci9D VkUtMjAyNi0zNDUyNQorQnVnLUZyZWV4aWFuLVNlY3VyaXR5OiBodHRwczovL2RlYi5mcmVleGlh bi5jb20vZXh0ZW5kZWQtbHRzL3RyYWNrZXIvQ1ZFLTIwMjYtMzQ1MjUKKy0tLQorIGFpb2h0dHAv X2h0dHBfcGFyc2VyLnB5eCAgfCAyMiArKysrKysrKysrKysrKysrKysrKysrCisgdGVzdHMvdGVz dF9odHRwX3BhcnNlci5weSB8IDQxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrCisgMiBmaWxlcyBjaGFuZ2VkLCA2MyBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQg YS9haW9odHRwL19odHRwX3BhcnNlci5weXggYi9haW9odHRwL19odHRwX3BhcnNlci5weXgKK2lu ZGV4IGRhNTMwMWEuLjRhMjRiMWEgMTAwNjQ0CistLS0gYS9haW9odHRwL19odHRwX3BhcnNlci5w eXgKKysrKyBiL2Fpb2h0dHAvX2h0dHBfcGFyc2VyLnB5eAorQEAgLTczLDYgKzczLDIwIEBAIGNk ZWYgb2JqZWN0IFN0cmVhbVJlYWRlciA9IF9TdHJlYW1SZWFkZXIKKyBjZGVmIG9iamVjdCBEZWZs YXRlQnVmZmVyID0gX0RlZmxhdGVCdWZmZXIKKyBjZGVmIGJ5dGVzIEVNUFRZX0JZVEVTID0gYiIi CisgCisrIyBodHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9yZmMvcmZjOTExMC5odG1sI3NlY3Rp b24tNS41LTYKKytjZGVmIHR1cGxlIFNJTkdMRVRPTl9IRUFERVJTID0gKAorKyAgICBoZHJzLkNP TlRFTlRfTEVOR1RILAorKyAgICBoZHJzLkNPTlRFTlRfTE9DQVRJT04sCisrICAgIGhkcnMuQ09O VEVOVF9SQU5HRSwKKysgICAgaGRycy5DT05URU5UX1RZUEUsCisrICAgIGhkcnMuRVRBRywKKysg ICAgaGRycy5IT1NULAorKyAgICBoZHJzLk1BWF9GT1JXQVJEUywKKysgICAgaGRycy5TRVJWRVIs CisrICAgIGhkcnMuVFJBTlNGRVJfRU5DT0RJTkcsCisrICAgIGhkcnMuVVNFUl9BR0VOVCwKKysp CisrCisgY2RlZiBpbmxpbmUgb2JqZWN0IGV4dGVuZChvYmplY3QgYnVmLCBjb25zdCBjaGFyKiBh dCwgc2l6ZV90IGxlbmd0aCk6CisgICAgIGNkZWYgUHlfc3NpemVfdCBzCisgICAgIGNkZWYgY2hh ciogcHRyCitAQCAtNDI1LDYgKzQzOSwxNCBAQCBjZGVmIGNsYXNzIEh0dHBQYXJzZXI6CisgICAg ICAgICByYXdfaGVhZGVycyA9IHR1cGxlKHNlbGYuX3Jhd19oZWFkZXJzKQorICAgICAgICAgaGVh ZGVycyA9IENJTXVsdGlEaWN0UHJveHkoQ0lNdWx0aURpY3Qoc2VsZi5faGVhZGVycykpCisgCisr ICAgICAgICAjIGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM5MTEwLmh0bWwjbmFt ZS1jb2xsZWN0ZWQtYWJuZgorKyAgICAgICAgYmFkX2hkciA9IG5leHQoCisrICAgICAgICAgICAg KGggZm9yIGggaW4gU0lOR0xFVE9OX0hFQURFUlMgaWYgbGVuKGhlYWRlcnMuZ2V0YWxsKGgsICgp KSkgPiAxKSwKKysgICAgICAgICAgICBOb25lLAorKyAgICAgICAgKQorKyAgICAgICAgaWYgYmFk X2hkciBpcyBub3QgTm9uZToKKysgICAgICAgICAgICByYWlzZSBCYWRIdHRwTWVzc2FnZShmIkR1 cGxpY2F0ZSAne2JhZF9oZHJ9JyBoZWFkZXIgZm91bmQuIikKKysKKyAgICAgICAgIGlmIHNlbGYu X2NwYXJzZXIudHlwZSA9PSBjcGFyc2VyLkhUVFBfUkVRVUVTVDoKKyAgICAgICAgICAgICBoX3Vw ZyA9IGhlYWRlcnMuZ2V0KCJ1cGdyYWRlIiwgIiIpCisgICAgICAgICAgICAgYWxsb3dlZCA9IHVw Z3JhZGUgYW5kIGhfdXBnLmlzYXNjaWkoKSBhbmQgaF91cGcubG93ZXIoKSBpbiBBTExPV0VEX1VQ R1JBREVTCitkaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdF9odHRwX3BhcnNlci5weSBiL3Rlc3RzL3Rl c3RfaHR0cF9wYXJzZXIucHkKK2luZGV4IGIzNjgxMmIuLmNjYzczZDcgMTAwNjQ0CistLS0gYS90 ZXN0cy90ZXN0X2h0dHBfcGFyc2VyLnB5CisrKysgYi90ZXN0cy90ZXN0X2h0dHBfcGFyc2VyLnB5 CitAQCAtMjU3LDYgKzI1Nyw0NyBAQCBkZWYgdGVzdF9jb250ZW50X2xlbmd0aF90cmFuc2Zlcl9l bmNvZGluZyhwYXJzZXI6IEFueSkgLT4gTm9uZToKKyAgICAgICAgIHBhcnNlci5mZWVkX2RhdGEo dGV4dCkKKyAKKyAKKytAcHl0ZXN0Lm1hcmsucGFyYW1ldHJpemUoCisrICAgICJoZHIiLAorKyAg ICAoCisrICAgICAgICAiQ29udGVudC1MZW5ndGgiLAorKyAgICAgICAgIkNvbnRlbnQtTG9jYXRp b24iLAorKyAgICAgICAgIkNvbnRlbnQtUmFuZ2UiLAorKyAgICAgICAgIkNvbnRlbnQtVHlwZSIs CisrICAgICAgICAiRVRhZyIsCisrICAgICAgICAiSG9zdCIsCisrICAgICAgICAiTWF4LUZvcndh cmRzIiwKKysgICAgICAgICJTZXJ2ZXIiLAorKyAgICAgICAgIlRyYW5zZmVyLUVuY29kaW5nIiwK KysgICAgICAgICJVc2VyLUFnZW50IiwKKysgICAgKSwKKyspCisrZGVmIHRlc3RfZHVwbGljYXRl X3NpbmdsZXRvbl9oZWFkZXJfcmVqZWN0ZWQoCisrICAgIHBhcnNlcjogSHR0cFJlcXVlc3RQYXJz ZXIsIGhkcjogc3RyCisrKSAtPiBOb25lOgorKyAgICB2YWwxLCB2YWwyID0gKCIxIiwgIjIiKSBp ZiBoZHIgPT0gIkNvbnRlbnQtTGVuZ3RoIiBlbHNlICgidmFsdWUxIiwgInZhbHVlMiIpCisrICAg IHRleHQgPSAoCisrICAgICAgICBmIkdFVCAvdGVzdCBIVFRQLzEuMVxyXG4iCisrICAgICAgICBm Ikhvc3Q6IGV4YW1wbGUuY29tXHJcbiIKKysgICAgICAgIGYie2hkcn06IHt2YWwxfVxyXG4iCisr ICAgICAgICBmIntoZHJ9OiB7dmFsMn1cclxuIgorKyAgICAgICAgZiJcclxuIgorKyAgICApLmVu Y29kZSgpCisrICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhodHRwX2V4Y2VwdGlvbnMuQmFkSHR0cE1l c3NhZ2UsIG1hdGNoPSJEdXBsaWNhdGUiKToKKysgICAgICAgIHBhcnNlci5mZWVkX2RhdGEodGV4 dCkKKysKKysKKytkZWYgdGVzdF9kdXBsaWNhdGVfaG9zdF9oZWFkZXJfcmVqZWN0ZWQocGFyc2Vy OiBIdHRwUmVxdWVzdFBhcnNlcikgLT4gTm9uZToKKysgICAgdGV4dCA9ICgKKysgICAgICAgIGIi R0VUIC9hZG1pbiBIVFRQLzEuMVxyXG4iCisrICAgICAgICBiIkhvc3Q6IGFkbWluLmV4YW1wbGVc clxuIgorKyAgICAgICAgYiJIb3N0OiBwdWJsaWMuZXhhbXBsZVxyXG4iCisrICAgICAgICBiIlxy XG4iCisrICAgICkKKysgICAgd2l0aCBweXRlc3QucmFpc2VzKGh0dHBfZXhjZXB0aW9ucy5CYWRI dHRwTWVzc2FnZSwgbWF0Y2g9IkR1cGxpY2F0ZS4qSG9zdCIpOgorKyAgICAgICAgcGFyc2VyLmZl ZWRfZGF0YSh0ZXh0KQorKworKworIGRlZiB0ZXN0X2JhZF9jaHVua2VkKHBhcnNlcjogSHR0cFJl cXVlc3RQYXJzZXIpIC0+IE5vbmU6CisgICAgICIiIlRlc3QgdGhhdCBpbnZhbGlkIGNodW5rZWQg ZW5jb2RpbmcgZG9lc24ndCBhbGxvdyBjb250ZW50LWxlbmd0aCB0byBiZSB1c2VkLiIiIgorICAg ICB0ZXh0ID0gKApkaWZmIC1OcnUgcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hl cy9DVkUtMjAyNi0zNDUyNS0yLnBhdGNoIHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3Bh dGNoZXMvQ1ZFLTIwMjYtMzQ1MjUtMi5wYXRjaAotLS0gcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9k ZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi0zNDUyNS0yLnBhdGNoCTE5NzAtMDEtMDEgMDE6MDA6MDAu MDAwMDAwMDAwICswMTAwCisrKyBweXRob24tYWlvaHR0cC0zLjExLjE2L2RlYmlhbi9wYXRjaGVz L0NWRS0yMDI2LTM0NTI1LTIucGF0Y2gJMjAyNi0wNy0zMSAwMzo1MDozMi4wMDAwMDAwMDAgKzAy MDAKQEAgLTAsMCArMSwzMTcgQEAKK0Zyb206ICJwYXRjaGJhY2tbYm90XSIgPDQ1NDMyNjk0K3Bh dGNoYmFja1tib3RdQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFR1ZSwgMzEgTWFy IDIwMjYgMTA6MzQ6MzcgLTEwMDAKK1N1YmplY3Q6IFtQQVRDSF0gW1BSICMxMjMwMi8yZGMwMmVl MCBiYWNrcG9ydF1bMy4xM10gU2tpcCBkdXBsaWNhdGUgc2luZ2xldG9uCisgaGVhZGVyIGNoZWNr IGluIGxheCBtb2RlICgjMTIzMDMpCisKK0NvLWF1dGhvcmVkLWJ5OiBKLiBOaWNrIEtvc3RvbiA8 bmlja0Brb3N0b24ub3JnPgorQ28tYXV0aG9yZWQtYnk6IHByZS1jb21taXQtY2lbYm90XSA8NjY4 NTMxMTMrcHJlLWNvbW1pdC1jaVtib3RdQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0ZpeGVz IGhvbWUtYXNzaXN0YW50L2NvcmUjMTY2OTU2CitGaXhlcyBodHRwczovL2dpdGh1Yi5jb20vZ2V0 bW90by9tb3RvL2lzc3Vlcy85OTMwCitGaXhlcyAjMTIzMDEKK0ZpeGVzIGh0dHBzOi8vZ2l0aHVi LmNvbS9jYXRhbHlzdC1jb29wZXJhdGl2ZS9wdWRsLWFyY2hpdmVyL2lzc3Vlcy8xMDU5CisKK1Jl dmlld2VkLUJ5OiBEYW5pZWwgTGVpZGVydCA8ZGxlaWRlcnRAZGViaWFuLm9yZz4KK09yaWdpbjog aHR0cHM6Ly9naXRodWIuY29tL2Fpby1saWJzL2Fpb2h0dHAvY29tbWl0LzUzZTJlNmZjNThiODlj NjE4NWJlNzgyMGJkMmM5ZjQwMjE2YjMwMDAKK09yaWdpbjogaHR0cHM6Ly9naXRodWIuY29tL2Fp by1saWJzL2Fpb2h0dHAvY29tbWl0L2QxNWYwN2NmYmJkZWNmM2RlOGNhMWRiMTBjYTVkMTgyYWNl N2IwOWMgKHBhcnQpCitCdWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9haW8tbGlicy9haW9odHRwL3Nl Y3VyaXR5L2Fkdmlzb3JpZXMvR0hTQS1jNDI3LWg0M2MtdmY2NworQnVnLURlYmlhbi1TZWN1cml0 eTogaHR0cHM6Ly9zZWN1cml0eS10cmFja2VyLmRlYmlhbi5vcmcvdHJhY2tlci9DVkUtMjAyNi0z NDUyNQorQnVnLUZyZWV4aWFuLVNlY3VyaXR5OiBodHRwczovL2RlYi5mcmVleGlhbi5jb20vZXh0 ZW5kZWQtbHRzL3RyYWNrZXIvQ1ZFLTIwMjYtMzQ1MjUKKy0tLQorIGFpb2h0dHAvX2h0dHBfcGFy c2VyLnB5eCAgfCAyNyArKysrKysrLS0tLS0tCisgYWlvaHR0cC9odHRwX3BhcnNlci5weSAgICB8 IDQwICsrKysrKysrKystLS0tLS0tLS0KKyB0ZXN0cy90ZXN0X2h0dHBfcGFyc2VyLnB5IHwgOTcg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0KKyAzIGZpbGVz IGNoYW5nZWQsIDEyOCBpbnNlcnRpb25zKCspLCAzNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdp dCBhL2Fpb2h0dHAvX2h0dHBfcGFyc2VyLnB5eCBiL2Fpb2h0dHAvX2h0dHBfcGFyc2VyLnB5eAor aW5kZXggNGEyNGIxYS4uNDAxYTM4NCAxMDA2NDQKKy0tLSBhL2Fpb2h0dHAvX2h0dHBfcGFyc2Vy LnB5eAorKysrIGIvYWlvaHR0cC9faHR0cF9wYXJzZXIucHl4CitAQCAtNzMsOCArNzMsMTEgQEAg Y2RlZiBvYmplY3QgU3RyZWFtUmVhZGVyID0gX1N0cmVhbVJlYWRlcgorIGNkZWYgb2JqZWN0IERl ZmxhdGVCdWZmZXIgPSBfRGVmbGF0ZUJ1ZmZlcgorIGNkZWYgYnl0ZXMgRU1QVFlfQllURVMgPSBi IiIKKyAKKy0jIGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM5MTEwLmh0bWwjc2Vj dGlvbi01LjUtNgorLWNkZWYgdHVwbGUgU0lOR0xFVE9OX0hFQURFUlMgPSAoCisrIyBSRkMgOTEx MCBzaW5nbGV0b24gaGVhZGVycyDigJQgZHVwbGljYXRlcyBhcmUgcmVqZWN0ZWQgaW4gc3RyaWN0 IG1vZGUuCisrIyBJbiBsYXggbW9kZSAocmVzcG9uc2UgcGFyc2VyIGRlZmF1bHQpLCB0aGUgY2hl Y2sgaXMgc2tpcHBlZCBlbnRpcmVseQorKyMgc2luY2UgcmVhbC13b3JsZCBzZXJ2ZXJzIChlLmcu IEdvb2dsZSBBUElzLCBXZXJremV1ZykgY29tbW9ubHkgc2VuZAorKyMgZHVwbGljYXRlIGhlYWRl cnMgbGlrZSBDb250ZW50LVR5cGUgb3IgU2VydmVyLgorK2NkZWYgZnJvemVuc2V0IFNJTkdMRVRP Tl9IRUFERVJTID0gZnJvemVuc2V0KHsKKyAgICAgaGRycy5DT05URU5UX0xFTkdUSCwKKyAgICAg aGRycy5DT05URU5UX0xPQ0FUSU9OLAorICAgICBoZHJzLkNPTlRFTlRfUkFOR0UsCitAQCAtODUs NyArODgsNyBAQCBjZGVmIHR1cGxlIFNJTkdMRVRPTl9IRUFERVJTID0gKAorICAgICBoZHJzLlNF UlZFUiwKKyAgICAgaGRycy5UUkFOU0ZFUl9FTkNPRElORywKKyAgICAgaGRycy5VU0VSX0FHRU5U LAorLSkKKyt9KQorIAorIGNkZWYgaW5saW5lIG9iamVjdCBleHRlbmQob2JqZWN0IGJ1ZiwgY29u c3QgY2hhciogYXQsIHNpemVfdCBsZW5ndGgpOgorICAgICBjZGVmIFB5X3NzaXplX3QgcworQEAg LTMwNiw2ICszMDksNyBAQCBjZGVmIGNsYXNzIEh0dHBQYXJzZXI6CisgICAgICAgICBzaXplX3Qg X21heF9oZWFkZXJzCisgICAgICAgICBiaW50IF9yZXNwb25zZV93aXRoX2JvZHkKKyAgICAgICAg IGJpbnQgX3JlYWRfdW50aWxfZW9mCisrICAgICAgICBiaW50IF9sYXgKKyAKKyAgICAgICAgIGJp bnQgICAgX3N0YXJ0ZWQKKyAgICAgICAgIG9iamVjdCAgX3VybAorQEAgLTMxMyw2ICszMTcsNyBA QCBjZGVmIGNsYXNzIEh0dHBQYXJzZXI6CisgICAgICAgICBzdHIgICAgIF9wYXRoCisgICAgICAg ICBzdHIgICAgIF9yZWFzb24KKyAgICAgICAgIGxpc3QgICAgX2hlYWRlcnMKKysgICAgICAgIHNl dCAgICAgX3NlZW5fc2luZ2xldG9ucworICAgICAgICAgbGlzdCAgICBfcmF3X2hlYWRlcnMKKyAg ICAgICAgIGJpbnQgICAgX3VwZ3JhZGVkCisgICAgICAgICBsaXN0ICAgIF9tZXNzYWdlcworQEAg LTM3OSw2ICszODQsOCBAQCBjZGVmIGNsYXNzIEh0dHBQYXJzZXI6CisgICAgICAgICBzZWxmLl91 cGdyYWRlZCA9IEZhbHNlCisgICAgICAgICBzZWxmLl9hdXRvX2RlY29tcHJlc3MgPSBhdXRvX2Rl Y29tcHJlc3MKKyAgICAgICAgIHNlbGYuX2NvbnRlbnRfZW5jb2RpbmcgPSBOb25lCisrICAgICAg ICBzZWxmLl9sYXggPSBGYWxzZQorKyAgICAgICAgc2VsZi5fc2Vlbl9zaW5nbGV0b25zID0gc2V0 KCkKKyAKKyAgICAgICAgIHNlbGYuX2NzZXR0aW5ncy5vbl91cmwgPSBjYl9vbl91cmwKKyAgICAg ICAgIHNlbGYuX2NzZXR0aW5ncy5vbl9zdGF0dXMgPSBjYl9vbl9zdGF0dXMKK0BAIC00MDAsNiAr NDA3LDEwIEBAIGNkZWYgY2xhc3MgSHR0cFBhcnNlcjoKKyAgICAgICAgICAgICBuYW1lID0gZmlu ZF9oZWFkZXIoc2VsZi5fcmF3X25hbWUpCisgICAgICAgICAgICAgdmFsdWUgPSBzZWxmLl9yYXdf dmFsdWUuZGVjb2RlKCd1dGYtOCcsICdzdXJyb2dhdGVlc2NhcGUnKQorIAorKyAgICAgICAgICAg IGlmIG5vdCBzZWxmLl9sYXggYW5kIG5hbWUgaW4gU0lOR0xFVE9OX0hFQURFUlM6CisrICAgICAg ICAgICAgICAgIGlmIG5hbWUgaW4gc2VsZi5fc2Vlbl9zaW5nbGV0b25zOgorKyAgICAgICAgICAg ICAgICAgICAgcmFpc2UgQmFkSHR0cE1lc3NhZ2UoZiJEdXBsaWNhdGUgJ3tuYW1lfScgaGVhZGVy IGZvdW5kLiIpCisrICAgICAgICAgICAgICAgIHNlbGYuX3NlZW5fc2luZ2xldG9ucy5hZGQobmFt ZSkKKyAgICAgICAgICAgICBzZWxmLl9oZWFkZXJzLmFwcGVuZCgobmFtZSwgdmFsdWUpKQorICAg ICAgICAgICAgIGlmIGxlbihzZWxmLl9oZWFkZXJzKSA+IHNlbGYuX21heF9oZWFkZXJzOgorICAg ICAgICAgICAgICAgICByYWlzZSBCYWRIdHRwTWVzc2FnZSgiVG9vIG1hbnkgaGVhZGVycyByZWNl aXZlZCIpCitAQCAtNDM5LDE0ICs0NTAsNiBAQCBjZGVmIGNsYXNzIEh0dHBQYXJzZXI6CisgICAg ICAgICByYXdfaGVhZGVycyA9IHR1cGxlKHNlbGYuX3Jhd19oZWFkZXJzKQorICAgICAgICAgaGVh ZGVycyA9IENJTXVsdGlEaWN0UHJveHkoQ0lNdWx0aURpY3Qoc2VsZi5faGVhZGVycykpCisgCist ICAgICAgICAjIGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM5MTEwLmh0bWwjbmFt ZS1jb2xsZWN0ZWQtYWJuZgorLSAgICAgICAgYmFkX2hkciA9IG5leHQoCistICAgICAgICAgICAg KGggZm9yIGggaW4gU0lOR0xFVE9OX0hFQURFUlMgaWYgbGVuKGhlYWRlcnMuZ2V0YWxsKGgsICgp KSkgPiAxKSwKKy0gICAgICAgICAgICBOb25lLAorLSAgICAgICAgKQorLSAgICAgICAgaWYgYmFk X2hkciBpcyBub3QgTm9uZToKKy0gICAgICAgICAgICByYWlzZSBCYWRIdHRwTWVzc2FnZShmIkR1 cGxpY2F0ZSAne2JhZF9oZHJ9JyBoZWFkZXIgZm91bmQuIikKKy0KKyAgICAgICAgIGlmIHNlbGYu X2NwYXJzZXIudHlwZSA9PSBjcGFyc2VyLkhUVFBfUkVRVUVTVDoKKyAgICAgICAgICAgICBoX3Vw ZyA9IGhlYWRlcnMuZ2V0KCJ1cGdyYWRlIiwgIiIpCisgICAgICAgICAgICAgYWxsb3dlZCA9IHVw Z3JhZGUgYW5kIGhfdXBnLmlzYXNjaWkoKSBhbmQgaF91cGcubG93ZXIoKSBpbiBBTExPV0VEX1VQ R1JBREVTCitAQCAtNjgxLDYgKzY4NCw3IEBAIGNkZWYgY2xhc3MgSHR0cFJlc3BvbnNlUGFyc2Vy KEh0dHBQYXJzZXIpOgorICAgICAgICAgICAgIGNwYXJzZXIubGxodHRwX3NldF9sZW5pZW50X2hl YWRlcnMoc2VsZi5fY3BhcnNlciwgMSkKKyAgICAgICAgICAgICBjcGFyc2VyLmxsaHR0cF9zZXRf bGVuaWVudF9vcHRpb25hbF9jcl9iZWZvcmVfbGYoc2VsZi5fY3BhcnNlciwgMSkKKyAgICAgICAg ICAgICBjcGFyc2VyLmxsaHR0cF9zZXRfbGVuaWVudF9zcGFjZXNfYWZ0ZXJfY2h1bmtfc2l6ZShz ZWxmLl9jcGFyc2VyLCAxKQorKyAgICAgICAgICAgIHNlbGYuX2xheCA9IFRydWUKKyAKKyAgICAg Y2RlZiBvYmplY3QgX29uX3N0YXR1c19jb21wbGV0ZShzZWxmKToKKyAgICAgICAgIGlmIHNlbGYu X2J1ZjoKK0BAIC02OTQsNiArNjk4LDcgQEAgY2RlZiBpbnQgY2Jfb25fbWVzc2FnZV9iZWdpbihj cGFyc2VyLmxsaHR0cF90KiBwYXJzZXIpIGV4Y2VwdCAtMToKKyAKKyAgICAgcHlwYXJzZXIuX3N0 YXJ0ZWQgPSBUcnVlCisgICAgIHB5cGFyc2VyLl9oZWFkZXJzID0gW10KKysgICAgcHlwYXJzZXIu X3NlZW5fc2luZ2xldG9ucyA9IHNldCgpCisgICAgIHB5cGFyc2VyLl9yYXdfaGVhZGVycyA9IFtd CisgICAgIFB5Qnl0ZUFycmF5X1Jlc2l6ZShweXBhcnNlci5fYnVmLCAwKQorICAgICBweXBhcnNl ci5fcGF0aCA9IE5vbmUKK2RpZmYgLS1naXQgYS9haW9odHRwL2h0dHBfcGFyc2VyLnB5IGIvYWlv aHR0cC9odHRwX3BhcnNlci5weQoraW5kZXggZTQ4MmFhNi4uNGEzN2NkYyAxMDA2NDQKKy0tLSBh L2Fpb2h0dHAvaHR0cF9wYXJzZXIucHkKKysrKyBiL2Fpb2h0dHAvaHR0cF9wYXJzZXIucHkKK0BA IC04Miw2ICs4MiwyNiBAQCBWRVJTUkU6IEZpbmFsW1BhdHRlcm5bc3RyXV0gPSByZS5jb21waWxl KHIiSFRUUC8oXGQpXC4oXGQpIiwgcmUuQVNDSUkpCisgRElHSVRTOiBGaW5hbFtQYXR0ZXJuW3N0 cl1dID0gcmUuY29tcGlsZShyIlxkKyIsIHJlLkFTQ0lJKQorIEhFWERJR0lUUzogRmluYWxbUGF0 dGVybltieXRlc11dID0gcmUuY29tcGlsZShyYiJbMC05YS1mQS1GXSsiKQorIAorKyMgUkZDIDkx MTAgc2luZ2xldG9uIGhlYWRlcnMg4oCUIGR1cGxpY2F0ZXMgYXJlIHJlamVjdGVkIGluIHN0cmlj dCBtb2RlLgorKyMgSW4gbGF4IG1vZGUgKHJlc3BvbnNlIHBhcnNlciBkZWZhdWx0KSwgdGhlIGNo ZWNrIGlzIHNraXBwZWQgZW50aXJlbHkKKysjIHNpbmNlIHJlYWwtd29ybGQgc2VydmVycyAoZS5n LiBHb29nbGUgQVBJcywgV2Vya3pldWcpIGNvbW1vbmx5IHNlbmQKKysjIGR1cGxpY2F0ZSBoZWFk ZXJzIGxpa2UgQ29udGVudC1UeXBlIG9yIFNlcnZlci4KKysjIExvd2VyY2FzZWQgZm9yIGNhc2Ut aW5zZW5zaXRpdmUgbWF0Y2hpbmcgYWdhaW5zdCB3aXJlIG5hbWVzLgorK1NJTkdMRVRPTl9IRUFE RVJTOiBGaW5hbFtmcm96ZW5zZXRbc3RyXV0gPSBmcm96ZW5zZXQoCisrICAgIHsKKysgICAgICAg ICJjb250ZW50LWxlbmd0aCIsCisrICAgICAgICAiY29udGVudC1sb2NhdGlvbiIsCisrICAgICAg ICAiY29udGVudC1yYW5nZSIsCisrICAgICAgICAiY29udGVudC10eXBlIiwKKysgICAgICAgICJl dGFnIiwKKysgICAgICAgICJob3N0IiwKKysgICAgICAgICJtYXgtZm9yd2FyZHMiLAorKyAgICAg ICAgInNlcnZlciIsCisrICAgICAgICAidHJhbnNmZXItZW5jb2RpbmciLAorKyAgICAgICAgInVz ZXItYWdlbnQiLAorKyAgICB9CisrKQorKworIAorIGNsYXNzIFJhd1JlcXVlc3RNZXNzYWdlKE5h bWVkVHVwbGUpOgorICAgICBtZXRob2Q6IHN0cgorQEAgLTIxMSw2ICsyMzEsOCBAQCBjbGFzcyBI ZWFkZXJzUGFyc2VyOgorICAgICAgICAgICAgIGVsaWYgX0ZJRUxEX1ZBTFVFX0ZPUkJJRERFTl9D VExfUkUuc2VhcmNoKHZhbHVlKToKKyAgICAgICAgICAgICAgICAgcmFpc2UgSW52YWxpZEhlYWRl cihidmFsdWUpCisgCisrICAgICAgICAgICAgaWYgbm90IHNlbGYuX2xheCBhbmQgbmFtZSBpbiBo ZWFkZXJzIGFuZCBuYW1lLmxvd2VyKCkgaW4gU0lOR0xFVE9OX0hFQURFUlM6CisrICAgICAgICAg ICAgICAgIHJhaXNlIEJhZEh0dHBNZXNzYWdlKGYiRHVwbGljYXRlICd7bmFtZX0nIGhlYWRlciBm b3VuZC4iKQorICAgICAgICAgICAgIGhlYWRlcnMuYWRkKG5hbWUsIHZhbHVlKQorICAgICAgICAg ICAgIHJhd19oZWFkZXJzLmFwcGVuZCgoYm5hbWUsIGJ2YWx1ZSkpCisgCitAQCAtNTI0LDI0ICs1 NDYsNiBAQCBjbGFzcyBIdHRwUGFyc2VyKGFiYy5BQkMsIEdlbmVyaWNbX01zZ1RdKToKKyAgICAg ICAgIHVwZ3JhZGUgPSBGYWxzZQorICAgICAgICAgY2h1bmtlZCA9IEZhbHNlCisgCistICAgICAg ICAjIGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM5MTEwLmh0bWwjc2VjdGlvbi01 LjUtNgorLSAgICAgICAgIyBodHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9yZmMvcmZjOTExMC5o dG1sI25hbWUtY29sbGVjdGVkLWFibmYKKy0gICAgICAgIHNpbmdsZXRvbnMgPSAoCistICAgICAg ICAgICAgaGRycy5DT05URU5UX0xFTkdUSCwKKy0gICAgICAgICAgICBoZHJzLkNPTlRFTlRfTE9D QVRJT04sCistICAgICAgICAgICAgaGRycy5DT05URU5UX1JBTkdFLAorLSAgICAgICAgICAgIGhk cnMuQ09OVEVOVF9UWVBFLAorLSAgICAgICAgICAgIGhkcnMuRVRBRywKKy0gICAgICAgICAgICBo ZHJzLkhPU1QsCistICAgICAgICAgICAgaGRycy5NQVhfRk9SV0FSRFMsCistICAgICAgICAgICAg aGRycy5TRVJWRVIsCistICAgICAgICAgICAgaGRycy5UUkFOU0ZFUl9FTkNPRElORywKKy0gICAg ICAgICAgICBoZHJzLlVTRVJfQUdFTlQsCistICAgICAgICApCistICAgICAgICBiYWRfaGRyID0g bmV4dCgoaCBmb3IgaCBpbiBzaW5nbGV0b25zIGlmIGxlbihoZWFkZXJzLmdldGFsbChoLCAoKSkp ID4gMSksIE5vbmUpCistICAgICAgICBpZiBiYWRfaGRyIGlzIG5vdCBOb25lOgorLSAgICAgICAg ICAgIHJhaXNlIEJhZEh0dHBNZXNzYWdlKGYiRHVwbGljYXRlICd7YmFkX2hkcn0nIGhlYWRlciBm b3VuZC4iKQorLQorICAgICAgICAgIyBrZWVwLWFsaXZlCisgICAgICAgICBjb25uID0gaGVhZGVy cy5nZXQoaGRycy5DT05ORUNUSU9OKQorICAgICAgICAgaWYgY29ubjoKK2RpZmYgLS1naXQgYS90 ZXN0cy90ZXN0X2h0dHBfcGFyc2VyLnB5IGIvdGVzdHMvdGVzdF9odHRwX3BhcnNlci5weQoraW5k ZXggY2NjNzNkNy4uMmQyYjFhNSAxMDA2NDQKKy0tLSBhL3Rlc3RzL3Rlc3RfaHR0cF9wYXJzZXIu cHkKKysrKyBiL3Rlc3RzL3Rlc3RfaHR0cF9wYXJzZXIucHkKK0BAIC0yNjEsMzIgKzI2MSw3NiBA QCBkZWYgdGVzdF9jb250ZW50X2xlbmd0aF90cmFuc2Zlcl9lbmNvZGluZyhwYXJzZXI6IEFueSkg LT4gTm9uZToKKyAgICAgImhkciIsCisgICAgICgKKyAgICAgICAgICJDb250ZW50LUxlbmd0aCIs CisrICAgICAgICAiSG9zdCIsCisrICAgICAgICAiVHJhbnNmZXItRW5jb2RpbmciLAorKyAgICAp LAorKykKKytkZWYgdGVzdF9kdXBsaWNhdGVfc2luZ2xldG9uX2hlYWRlcl9yZWplY3RlZCgKKysg ICAgcGFyc2VyOiBIdHRwUmVxdWVzdFBhcnNlciwgaGRyOiBzdHIKKyspIC0+IE5vbmU6CisrICAg IHZhbDEsIHZhbDIgPSAoIjEiLCAiMiIpIGlmIGhkciA9PSAiQ29udGVudC1MZW5ndGgiIGVsc2Ug KCJ2YWx1ZTEiLCAidmFsdWUyIikKKysgICAgdGV4dCA9ICgKKysgICAgICAgIGYiR0VUIC90ZXN0 IEhUVFAvMS4xXHJcbiIKKysgICAgICAgIGYiSG9zdDogZXhhbXBsZS5jb21cclxuIgorKyAgICAg ICAgZiJ7aGRyfToge3ZhbDF9XHJcbiIKKysgICAgICAgIGYie2hkcn06IHt2YWwyfVxyXG4iCisr ICAgICAgICAiXHJcbiIKKysgICAgKS5lbmNvZGUoKQorKyAgICB3aXRoIHB5dGVzdC5yYWlzZXMo aHR0cF9leGNlcHRpb25zLkJhZEh0dHBNZXNzYWdlLCBtYXRjaD0iRHVwbGljYXRlIik6CisrICAg ICAgICBwYXJzZXIuZmVlZF9kYXRhKHRleHQpCisrCisrCisrQHB5dGVzdC5tYXJrLnBhcmFtZXRy aXplKAorKyAgICAiaGRyIiwKKysgICAgKAorICAgICAgICAgIkNvbnRlbnQtTG9jYXRpb24iLAor ICAgICAgICAgIkNvbnRlbnQtUmFuZ2UiLAorICAgICAgICAgIkNvbnRlbnQtVHlwZSIsCisgICAg ICAgICAiRVRhZyIsCistICAgICAgICAiSG9zdCIsCisgICAgICAgICAiTWF4LUZvcndhcmRzIiwK KyAgICAgICAgICJTZXJ2ZXIiLAorLSAgICAgICAgIlRyYW5zZmVyLUVuY29kaW5nIiwKKyAgICAg ICAgICJVc2VyLUFnZW50IiwKKyAgICAgKSwKKyApCistZGVmIHRlc3RfZHVwbGljYXRlX3Npbmds ZXRvbl9oZWFkZXJfcmVqZWN0ZWQoCisrZGVmIHRlc3RfZHVwbGljYXRlX25vbl9zZWN1cml0eV9z aW5nbGV0b25faGVhZGVyX3JlamVjdGVkX3N0cmljdCgKKyAgICAgcGFyc2VyOiBIdHRwUmVxdWVz dFBhcnNlciwgaGRyOiBzdHIKKyApIC0+IE5vbmU6CistICAgIHZhbDEsIHZhbDIgPSAoIjEiLCAi MiIpIGlmIGhkciA9PSAiQ29udGVudC1MZW5ndGgiIGVsc2UgKCJ2YWx1ZTEiLCAidmFsdWUyIikK KysgICAgIiIiTm9uLXNlY3VyaXR5IHNpbmdsZXRvbnMgYXJlIHJlamVjdGVkIGluIHN0cmljdCBt b2RlIChyZXF1ZXN0cykuIiIiCisgICAgIHRleHQgPSAoCisgICAgICAgICBmIkdFVCAvdGVzdCBI VFRQLzEuMVxyXG4iCisgICAgICAgICBmIkhvc3Q6IGV4YW1wbGUuY29tXHJcbiIKKy0gICAgICAg IGYie2hkcn06IHt2YWwxfVxyXG4iCistICAgICAgICBmIntoZHJ9OiB7dmFsMn1cclxuIgorLSAg ICAgICAgZiJcclxuIgorKyAgICAgICAgZiJ7aGRyfTogdmFsdWUxXHJcbiIKKysgICAgICAgIGYi e2hkcn06IHZhbHVlMlxyXG4iCisrICAgICAgICAiXHJcbiIKKyAgICAgKS5lbmNvZGUoKQorICAg ICB3aXRoIHB5dGVzdC5yYWlzZXMoaHR0cF9leGNlcHRpb25zLkJhZEh0dHBNZXNzYWdlLCBtYXRj aD0iRHVwbGljYXRlIik6CisgICAgICAgICBwYXJzZXIuZmVlZF9kYXRhKHRleHQpCisgCisgCisr QHB5dGVzdC5tYXJrLnBhcmFtZXRyaXplKAorKyAgICAiaGRyIiwKKysgICAgKAorKyAgICAgICAg IyBDb250ZW50LUxlbmd0aCBpcyBleGNsdWRlZCBiZWNhdXNlIGxsaHR0cCByZWplY3RzIGR1cGxp Y2F0ZXMKKysgICAgICAgICMgYXQgdGhlIEMgbGV2ZWwgYmVmb3JlIG91ciBzaW5nbGV0b24gY2hl Y2sgcnVucy4KKysgICAgICAgICJDb250ZW50LUxvY2F0aW9uIiwKKysgICAgICAgICJDb250ZW50 LVJhbmdlIiwKKysgICAgICAgICJDb250ZW50LVR5cGUiLAorKyAgICAgICAgIkVUYWciLAorKyAg ICAgICAgIk1heC1Gb3J3YXJkcyIsCisrICAgICAgICAiU2VydmVyIiwKKysgICAgICAgICJUcmFu c2Zlci1FbmNvZGluZyIsCisrICAgICAgICAiVXNlci1BZ2VudCIsCisrICAgICksCisrKQorK2Rl ZiB0ZXN0X2R1cGxpY2F0ZV9zaW5nbGV0b25faGVhZGVyX2FjY2VwdGVkX2luX2xheF9tb2RlKAor KyAgICByZXNwb25zZTogSHR0cFJlc3BvbnNlUGFyc2VyLCBoZHI6IHN0cgorKykgLT4gTm9uZToK KysgICAgIiIiQWxsIHNpbmdsZXRvbiBkdXBsaWNhdGVzIGFyZSBhY2NlcHRlZCBpbiBsYXggbW9k ZSAocmVzcG9uc2UgcGFyc2VyIGRlZmF1bHQpLiIiIgorKyAgICB0ZXh0ID0gKGYiSFRUUC8xLjEg MjAwIE9LXHJcbntoZHJ9OiB2YWx1ZTFcclxue2hkcn06IHZhbHVlMlxyXG5cclxuIikuZW5jb2Rl KCkKKysgICAgbWVzc2FnZXMsIHVwZ3JhZGUsIHRhaWwgPSByZXNwb25zZS5mZWVkX2RhdGEodGV4 dCkKKysgICAgYXNzZXJ0IGxlbihtZXNzYWdlcykgPT0gMQorKworKworIGRlZiB0ZXN0X2R1cGxp Y2F0ZV9ob3N0X2hlYWRlcl9yZWplY3RlZChwYXJzZXI6IEh0dHBSZXF1ZXN0UGFyc2VyKSAtPiBO b25lOgorICAgICB0ZXh0ID0gKAorICAgICAgICAgYiJHRVQgL2FkbWluIEhUVFAvMS4xXHJcbiIK K0BAIC0yOTgsNiArMzQyLDQ1IEBAIGRlZiB0ZXN0X2R1cGxpY2F0ZV9ob3N0X2hlYWRlcl9yZWpl Y3RlZChwYXJzZXI6IEh0dHBSZXF1ZXN0UGFyc2VyKSAtPiBOb25lOgorICAgICAgICAgcGFyc2Vy LmZlZWRfZGF0YSh0ZXh0KQorIAorIAorK0BweXRlc3QubWFyay5wYXJhbWV0cml6ZSgKKysgICAg KCJoZHIxIiwgImhkcjIiKSwKKysgICAgKAorKyAgICAgICAgKCJjb250ZW50LWxlbmd0aCIsICJD b250ZW50LUxlbmd0aCIpLAorKyAgICAgICAgKCJDb250ZW50LUxlbmd0aCIsICJjb250ZW50LWxl bmd0aCIpLAorKyAgICAgICAgKCJ0cmFuc2Zlci1lbmNvZGluZyIsICJUcmFuc2Zlci1FbmNvZGlu ZyIpLAorKyAgICAgICAgKCJUcmFuc2Zlci1FbmNvZGluZyIsICJ0cmFuc2Zlci1lbmNvZGluZyIp LAorKyAgICApLAorKykKKytkZWYgdGVzdF9kdXBsaWNhdGVfc2luZ2xldG9uX2hlYWRlcl9kaWZm ZXJlbnRfY2FzaW5nX3JlamVjdGVkKAorKyAgICBwYXJzZXI6IEh0dHBSZXF1ZXN0UGFyc2VyLCBo ZHIxOiBzdHIsIGhkcjI6IHN0cgorKykgLT4gTm9uZToKKysgICAgIiIiU2luZ2xldG9uIGNoZWNr IG11c3QgYmUgY2FzZS1pbnNlbnNpdGl2ZSBwZXIgUkZDIDkxMTAuIiIiCisrICAgIHZhbDEsIHZh bDIgPSAoIjEiLCAiMiIpIGlmICJjb250ZW50LWxlbmd0aCIgaW4gaGRyMS5sb3dlcigpIGVsc2Ug KCJ2MSIsICJ2MiIpCisrICAgIHRleHQgPSAoCisrICAgICAgICBmIkdFVCAvdGVzdCBIVFRQLzEu MVxyXG4iCisrICAgICAgICBmIkhvc3Q6IGV4YW1wbGUuY29tXHJcbiIKKysgICAgICAgIGYie2hk cjF9OiB7dmFsMX1cclxuIgorKyAgICAgICAgZiJ7aGRyMn06IHt2YWwyfVxyXG4iCisrICAgICAg ICAiXHJcbiIKKysgICAgKS5lbmNvZGUoKQorKyAgICB3aXRoIHB5dGVzdC5yYWlzZXMoaHR0cF9l eGNlcHRpb25zLkJhZEh0dHBNZXNzYWdlLCBtYXRjaD0iRHVwbGljYXRlIik6CisrICAgICAgICBw YXJzZXIuZmVlZF9kYXRhKHRleHQpCisrCisrCisrZGVmIHRlc3RfZHVwbGljYXRlX2hvc3RfaGVh ZGVyX2RpZmZlcmVudF9jYXNpbmdfcmVqZWN0ZWQoCisrICAgIHBhcnNlcjogSHR0cFJlcXVlc3RQ YXJzZXIsCisrKSAtPiBOb25lOgorKyAgICAiIiJEdXBsaWNhdGUgSG9zdCB3aXRoIGRpZmZlcmVu dCBjYXNpbmcgbXVzdCBhbHNvIGJlIHJlamVjdGVkLiIiIgorKyAgICB0ZXh0ID0gKAorKyAgICAg ICAgYiJHRVQgL3Rlc3QgSFRUUC8xLjFcclxuIgorKyAgICAgICAgYiJob3N0OiBldmlsLmV4YW1w bGVcclxuIgorKyAgICAgICAgYiJIb3N0OiBnb29kLmV4YW1wbGVcclxuIgorKyAgICAgICAgYiJc clxuIgorKyAgICApCisrICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhodHRwX2V4Y2VwdGlvbnMuQmFk SHR0cE1lc3NhZ2UsIG1hdGNoPSJEdXBsaWNhdGUiKToKKysgICAgICAgIHBhcnNlci5mZWVkX2Rh dGEodGV4dCkKKysKKysKKyBkZWYgdGVzdF9iYWRfY2h1bmtlZChwYXJzZXI6IEh0dHBSZXF1ZXN0 UGFyc2VyKSAtPiBOb25lOgorICAgICAiIiJUZXN0IHRoYXQgaW52YWxpZCBjaHVua2VkIGVuY29k aW5nIGRvZXNuJ3QgYWxsb3cgY29udGVudC1sZW5ndGggdG8gYmUgdXNlZC4iIiIKKyAgICAgdGV4 dCA9ICgKZGlmZiAtTnJ1IHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3BhdGNoZXMvQ1ZF LTIwMjYtMzQ5OTMucGF0Y2ggcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hlcy9D VkUtMjAyNi0zNDk5My5wYXRjaAotLS0gcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0 Y2hlcy9DVkUtMjAyNi0zNDk5My5wYXRjaAkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCAr MDEwMAorKysgcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi0z NDk5My5wYXRjaAkyMDI2LTA3LTMxIDAzOjUwOjMyLjAwMDAwMDAwMCArMDIwMApAQCAtMCwwICsx LDQ0NiBAQAorRnJvbTogInBhdGNoYmFja1tib3RdIiA8NDU0MzI2OTQrcGF0Y2hiYWNrW2JvdF1A dXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU3VuLCAyMiBGZWIgMjAyNiAxNTo1Mzo0 MyArMDAwMAorU3ViamVjdDogW1BBVENIXSBbUFIgIzEyMDkxLzhhNjMxZTc0IGJhY2twb3J0XVsz LjE0XSBSZXN0cmljdCBwaWNrbGUKKyBkZXNlcmlhbGl6YXRpb24gaW4gQ29va2llSmFyLmxvYWQo KSAoIzEyMTA1KQorCisqKlRoaXMgaXMgYSBiYWNrcG9ydCBvZiBQUiAjMTIwOTEgYXMgbWVyZ2Vk IGludG8gbWFzdGVyCisoOGE2MzFlNzRjMWQyNjY0OTlkYmM2YmNkYmM4M2M2MGY0ZWEzZWUzYyku KioKKworLS0tLS0tLS0tCisKK0NvLWF1dGhvcmVkLWJ5OiBZdXZhbCBFbGJhciA8NDE5MDE5MDgr WXV2YWxFbGJhcjZAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorQ28tYXV0aG9yZWQtYnk6IFNh bSBCdWxsIDxnaXRAc2FtYnVsbC5vcmc+CisKK1Jldmlld2VkLUJ5OiBEYW5pZWwgTGVpZGVydCA8 ZGxlaWRlcnRAZGViaWFuLm9yZz4KK09yaWdpbjogaHR0cHM6Ly9naXRodWIuY29tL2Fpby1saWJz L2Fpb2h0dHAvY29tbWl0L2RjZjQwZjMwNjM3ZTg3NTJjNzY3ODFjZjY3MDNiNWEyMzY3NDlhMDAK K0J1ZzogaHR0cHM6Ly9naXRodWIuY29tL2Fpby1saWJzL2Fpb2h0dHAvc2VjdXJpdHkvYWR2aXNv cmllcy9HSFNBLWpnMjItbWc0NC0zN2o4CitCdWctRGViaWFuLVNlY3VyaXR5OiBodHRwczovL3Nl Y3VyaXR5LXRyYWNrZXIuZGViaWFuLm9yZy90cmFja2VyL0NWRS0yMDI2LTM0OTkzCitCdWctRnJl ZXhpYW4tU2VjdXJpdHk6IGh0dHBzOi8vZGViLmZyZWV4aWFuLmNvbS9leHRlbmRlZC1sdHMvdHJh Y2tlci9DVkUtMjAyNi0zNDk5MworLS0tCisgYWlvaHR0cC9jb29raWVqYXIucHkgICAgICAgfCAx MTQgKysrKysrKysrKysrKysrKysrKysrKysrKystCisgZG9jcy9jbGllbnRfcmVmZXJlbmNlLnJz dCAgfCAgMTggKysrKy0KKyBkb2NzL3NwZWxsaW5nX3dvcmRsaXN0LnR4dCB8ICAgNyArLQorIHRl c3RzL3Rlc3RfY29va2llamFyLnB5ICAgIHwgMTg4ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKworIDQgZmlsZXMgY2hhbmdlZCwgMzE5IGluc2VydGlvbnMoKyks IDggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9haW9odHRwL2Nvb2tpZWphci5weSBiL2Fp b2h0dHAvY29va2llamFyLnB5CitpbmRleCBmNmI5YTkyLi5jNzRmNDMzIDEwMDY0NAorLS0tIGEv YWlvaHR0cC9jb29raWVqYXIucHkKKysrKyBiL2Fpb2h0dHAvY29va2llamFyLnB5CitAQCAtNCw2 ICs0LDcgQEAgaW1wb3J0IGNvbnRleHRsaWIKKyBpbXBvcnQgZGF0ZXRpbWUKKyBpbXBvcnQgaGVh cHEKKyBpbXBvcnQgaXRlcnRvb2xzCisraW1wb3J0IGpzb24KKyBpbXBvcnQgb3MgICMgbm9xYQor IGltcG9ydCBwYXRobGliCisgaW1wb3J0IHBpY2tsZQorQEAgLTQ3LDYgKzQ4LDQxIEBAIF9GT1JN QVRfRE9NQUlOX1JFVkVSU0VEID0gInsxfS57MH0iLmZvcm1hdAorIF9NSU5fU0NIRURVTEVEX0NP T0tJRV9FWFBJUkFUSU9OID0gMTAwCisgCisgCisrY2xhc3MgX1Jlc3RyaWN0ZWRDb29raWVVbnBp Y2tsZXIocGlja2xlLlVucGlja2xlcik6CisrICAgICIiIkEgcmVzdHJpY3RlZCB1bnBpY2tsZXIg dGhhdCBvbmx5IGFsbG93cyBjb29raWUtcmVsYXRlZCB0eXBlcy4KKysKKysgICAgVGhpcyBwcmV2 ZW50cyBhcmJpdHJhcnkgY29kZSBleGVjdXRpb24gd2hlbiBsb2FkaW5nIHBpY2tsZWQgY29va2ll IGRhdGEKKysgICAgZnJvbSB1bnRydXN0ZWQgc291cmNlcy4gT25seSB0eXBlcyB0aGF0IGFyZSBl eHBlY3RlZCBpbiBhIHNlcmlhbGl6ZWQKKysgICAgQ29va2llSmFyIGFyZSBwZXJtaXR0ZWQuCisr CisrICAgIFNlZTogaHR0cHM6Ly9kb2NzLnB5dGhvbi5vcmcvMy9saWJyYXJ5L3BpY2tsZS5odG1s I3Jlc3RyaWN0aW5nLWdsb2JhbHMKKysgICAgIiIiCisrCisrICAgIF9BTExPV0VEX0NMQVNTRVM6 IGZyb3plbnNldFt0dXBsZVtzdHIsIHN0cl1dID0gZnJvemVuc2V0KAorKyAgICAgICAgeworKyAg ICAgICAgICAgICMgQ29yZSBjb29raWUgdHlwZXMKKysgICAgICAgICAgICAoImh0dHAuY29va2ll cyIsICJTaW1wbGVDb29raWUiKSwKKysgICAgICAgICAgICAoImh0dHAuY29va2llcyIsICJNb3Jz ZWwiKSwKKysgICAgICAgICAgICAjIENvbnRhaW5lciB0eXBlcyB1c2VkIGJ5IENvb2tpZUphci5f Y29va2llcworKyAgICAgICAgICAgICgiY29sbGVjdGlvbnMiLCAiZGVmYXVsdGRpY3QiKSwKKysg ICAgICAgICAgICAjIGJ1aWx0aW5zIHRoYXQgcGlja2xlIHVzZXMgZm9yIHJlY29uc3RydWN0aW9u CisrICAgICAgICAgICAgKCJidWlsdGlucyIsICJ0dXBsZSIpLAorKyAgICAgICAgICAgICgiYnVp bHRpbnMiLCAic2V0IiksCisrICAgICAgICAgICAgKCJidWlsdGlucyIsICJmcm96ZW5zZXQiKSwK KysgICAgICAgICAgICAoImJ1aWx0aW5zIiwgImRpY3QiKSwKKysgICAgICAgIH0KKysgICAgKQor KworKyAgICBkZWYgZmluZF9jbGFzcyhzZWxmLCBtb2R1bGU6IHN0ciwgbmFtZTogc3RyKSAtPiB0 eXBlOgorKyAgICAgICAgaWYgKG1vZHVsZSwgbmFtZSkgbm90IGluIHNlbGYuX0FMTE9XRURfQ0xB U1NFUzoKKysgICAgICAgICAgICByYWlzZSBwaWNrbGUuVW5waWNrbGluZ0Vycm9yKAorKyAgICAg ICAgICAgICAgICBmIkZvcmJpZGRlbiBjbGFzczoge21vZHVsZX0ue25hbWV9LiAiCisrICAgICAg ICAgICAgICAgICJDb29raWVKYXIubG9hZCgpIG9ubHkgYWxsb3dzIGNvb2tpZS1yZWxhdGVkIHR5 cGVzIGZvciBzZWN1cml0eS4gIgorKyAgICAgICAgICAgICAgICAiU2VlIGh0dHBzOi8vZG9jcy5w eXRob24ub3JnLzMvbGlicmFyeS9waWNrbGUuaHRtbCNyZXN0cmljdGluZy1nbG9iYWxzIgorKyAg ICAgICAgICAgICkKKysgICAgICAgIHJldHVybiBzdXBlcigpLmZpbmRfY2xhc3MobW9kdWxlLCBu YW1lKSAgIyB0eXBlOiBpZ25vcmVbbm8tYW55LXJldHVybl0KKysKKysKKyBjbGFzcyBDb29raWVK YXIoQWJzdHJhY3RDb29raWVKYXIpOgorICAgICAiIiJJbXBsZW1lbnRzIGNvb2tpZSBzdG9yYWdl IGFkaGVyaW5nIHRvIFJGQyA2MjY1LiIiIgorIAorQEAgLTEyMiwxNCArMTU4LDg0IEBAIGNsYXNz IENvb2tpZUphcihBYnN0cmFjdENvb2tpZUphcik6CisgICAgICAgICByZXR1cm4gc2VsZi5fcXVv dGVfY29va2llCisgCisgICAgIGRlZiBzYXZlKHNlbGYsIGZpbGVfcGF0aDogUGF0aExpa2UpIC0+ IE5vbmU6CisrICAgICAgICAiIiJTYXZlIGNvb2tpZXMgdG8gYSBmaWxlIHVzaW5nIEpTT04gZm9y bWF0LgorKworKyAgICAgICAgOnBhcmFtIGZpbGVfcGF0aDogUGF0aCB0byBmaWxlIHdoZXJlIGNv b2tpZXMgd2lsbCBiZSBzZXJpYWxpemVkLAorKyAgICAgICAgICAgIDpjbGFzczpgc3RyYCBvciA6 Y2xhc3M6YHBhdGhsaWIuUGF0aGAgaW5zdGFuY2UuCisrICAgICAgICAiIiIKKyAgICAgICAgIGZp bGVfcGF0aCA9IHBhdGhsaWIuUGF0aChmaWxlX3BhdGgpCistICAgICAgICB3aXRoIGZpbGVfcGF0 aC5vcGVuKG1vZGU9IndiIikgYXMgZjoKKy0gICAgICAgICAgICBwaWNrbGUuZHVtcChzZWxmLl9j b29raWVzLCBmLCBwaWNrbGUuSElHSEVTVF9QUk9UT0NPTCkKKysgICAgICAgIGRhdGE6IGRpY3Rb c3RyLCBkaWN0W3N0ciwgZGljdFtzdHIsIHN0ciB8IGJvb2xdXV0gPSB7fQorKyAgICAgICAgZm9y IChkb21haW4sIHBhdGgpLCBjb29raWUgaW4gc2VsZi5fY29va2llcy5pdGVtcygpOgorKyAgICAg ICAgICAgIGtleSA9IGYie2RvbWFpbn18e3BhdGh9IgorKyAgICAgICAgICAgIGRhdGFba2V5XSA9 IHt9CisrICAgICAgICAgICAgZm9yIG5hbWUsIG1vcnNlbCBpbiBjb29raWUuaXRlbXMoKToKKysg ICAgICAgICAgICAgICAgbW9yc2VsX2RhdGE6IGRpY3Rbc3RyLCBzdHIgfCBib29sXSA9IHsKKysg ICAgICAgICAgICAgICAgICAgICJrZXkiOiBtb3JzZWwua2V5LAorKyAgICAgICAgICAgICAgICAg ICAgInZhbHVlIjogbW9yc2VsLnZhbHVlLAorKyAgICAgICAgICAgICAgICAgICAgImNvZGVkX3Zh bHVlIjogbW9yc2VsLmNvZGVkX3ZhbHVlLAorKyAgICAgICAgICAgICAgICB9CisrICAgICAgICAg ICAgICAgICMgU2F2ZSBhbGwgbW9yc2VsIGF0dHJpYnV0ZXMgdGhhdCBoYXZlIHZhbHVlcworKyAg ICAgICAgICAgICAgICBmb3IgYXR0ciBpbiBtb3JzZWwuX3Jlc2VydmVkOiAgIyB0eXBlOiBpZ25v cmVbYXR0ci1kZWZpbmVkXQorKyAgICAgICAgICAgICAgICAgICAgYXR0cl92YWwgPSBtb3JzZWxb YXR0cl0KKysgICAgICAgICAgICAgICAgICAgIGlmIGF0dHJfdmFsOgorKyAgICAgICAgICAgICAg ICAgICAgICAgIG1vcnNlbF9kYXRhW2F0dHJdID0gYXR0cl92YWwKKysgICAgICAgICAgICAgICAg ZGF0YVtrZXldW25hbWVdID0gbW9yc2VsX2RhdGEKKysgICAgICAgIHdpdGggZmlsZV9wYXRoLm9w ZW4obW9kZT0idyIsIGVuY29kaW5nPSJ1dGYtOCIpIGFzIGY6CisrICAgICAgICAgICAganNvbi5k dW1wKGRhdGEsIGYsIGluZGVudD0yKQorIAorICAgICBkZWYgbG9hZChzZWxmLCBmaWxlX3BhdGg6 IFBhdGhMaWtlKSAtPiBOb25lOgorKyAgICAgICAgIiIiTG9hZCBjb29raWVzIGZyb20gYSBmaWxl LgorKworKyAgICAgICAgVHJpZXMgdG8gbG9hZCBKU09OIGZvcm1hdCBmaXJzdC4gRmFsbHMgYmFj ayB0byBsb2FkaW5nIGxlZ2FjeQorKyAgICAgICAgcGlja2xlIGZvcm1hdCAodXNpbmcgYSByZXN0 cmljdGVkIHVucGlja2xlcikgZm9yIGJhY2t3YXJkCisrICAgICAgICBjb21wYXRpYmlsaXR5IHdp dGggZXhpc3RpbmcgY29va2llIGZpbGVzLgorKworKyAgICAgICAgOnBhcmFtIGZpbGVfcGF0aDog UGF0aCB0byBmaWxlIGZyb20gd2hlcmUgY29va2llcyB3aWxsIGJlCisrICAgICAgICAgICAgaW1w b3J0ZWQsIDpjbGFzczpgc3RyYCBvciA6Y2xhc3M6YHBhdGhsaWIuUGF0aGAgaW5zdGFuY2UuCisr ICAgICAgICAiIiIKKyAgICAgICAgIGZpbGVfcGF0aCA9IHBhdGhsaWIuUGF0aChmaWxlX3BhdGgp CistICAgICAgICB3aXRoIGZpbGVfcGF0aC5vcGVuKG1vZGU9InJiIikgYXMgZjoKKy0gICAgICAg ICAgICBzZWxmLl9jb29raWVzID0gcGlja2xlLmxvYWQoZikKKysgICAgICAgICMgVHJ5IEpTT04g Zm9ybWF0IGZpcnN0CisrICAgICAgICB0cnk6CisrICAgICAgICAgICAgd2l0aCBmaWxlX3BhdGgu b3Blbihtb2RlPSJyIiwgZW5jb2Rpbmc9InV0Zi04IikgYXMgZjoKKysgICAgICAgICAgICAgICAg ZGF0YSA9IGpzb24ubG9hZChmKQorKyAgICAgICAgICAgIHNlbGYuX2Nvb2tpZXMgPSBzZWxmLl9s b2FkX2pzb25fZGF0YShkYXRhKQorKyAgICAgICAgZXhjZXB0IChqc29uLkpTT05EZWNvZGVFcnJv ciwgVW5pY29kZURlY29kZUVycm9yLCBWYWx1ZUVycm9yKToKKysgICAgICAgICAgICAjIEZhbGwg YmFjayB0byBsZWdhY3kgcGlja2xlIGZvcm1hdCB3aXRoIHJlc3RyaWN0ZWQgdW5waWNrbGVyCisr ICAgICAgICAgICAgd2l0aCBmaWxlX3BhdGgub3Blbihtb2RlPSJyYiIpIGFzIGY6CisrICAgICAg ICAgICAgICAgIHNlbGYuX2Nvb2tpZXMgPSBfUmVzdHJpY3RlZENvb2tpZVVucGlja2xlcihmKS5s b2FkKCkKKysKKysgICAgZGVmIF9sb2FkX2pzb25fZGF0YSgKKysgICAgICAgIHNlbGYsIGRhdGE6 IGRpY3Rbc3RyLCBkaWN0W3N0ciwgZGljdFtzdHIsIHN0ciB8IGJvb2xdXV0KKysgICAgKSAtPiBk ZWZhdWx0ZGljdFt0dXBsZVtzdHIsIHN0cl0sIFNpbXBsZUNvb2tpZV06CisrICAgICAgICAiIiJM b2FkIGNvb2tpZXMgZnJvbSBwYXJzZWQgSlNPTiBkYXRhLiIiIgorKyAgICAgICAgY29va2llczog ZGVmYXVsdGRpY3RbdHVwbGVbc3RyLCBzdHJdLCBTaW1wbGVDb29raWVdID0gZGVmYXVsdGRpY3Qo U2ltcGxlQ29va2llKQorKyAgICAgICAgZm9yIGNvbXBvdW5kX2tleSwgY29va2llX2RhdGEgaW4g ZGF0YS5pdGVtcygpOgorKyAgICAgICAgICAgIGRvbWFpbiwgcGF0aCA9IGNvbXBvdW5kX2tleS5z cGxpdCgifCIsIDEpCisrICAgICAgICAgICAga2V5ID0gKGRvbWFpbiwgcGF0aCkKKysgICAgICAg ICAgICBmb3IgbmFtZSwgbW9yc2VsX2RhdGEgaW4gY29va2llX2RhdGEuaXRlbXMoKToKKysgICAg ICAgICAgICAgICAgbW9yc2VsOiBNb3JzZWxbc3RyXSA9IE1vcnNlbCgpCisrICAgICAgICAgICAg ICAgIG1vcnNlbF9rZXkgPSBtb3JzZWxfZGF0YVsia2V5Il0KKysgICAgICAgICAgICAgICAgbW9y c2VsX3ZhbHVlID0gbW9yc2VsX2RhdGFbInZhbHVlIl0KKysgICAgICAgICAgICAgICAgbW9yc2Vs X2NvZGVkX3ZhbHVlID0gbW9yc2VsX2RhdGFbImNvZGVkX3ZhbHVlIl0KKysgICAgICAgICAgICAg ICAgIyBVc2UgX19zZXRzdGF0ZV9fIHRvIGJ5cGFzcyB2YWxpZGF0aW9uLCBzYW1lIHBhdHRlcm4K KysgICAgICAgICAgICAgICAgIyB1c2VkIGluIF9idWlsZF9tb3JzZWwgYW5kIF9jb29raWVfaGVs cGVycy4KKysgICAgICAgICAgICAgICAgbW9yc2VsLl9fc2V0c3RhdGVfXyggICMgdHlwZTogaWdu b3JlW2F0dHItZGVmaW5lZF0KKysgICAgICAgICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAg ICAgICAgICAgICAia2V5IjogbW9yc2VsX2tleSwKKysgICAgICAgICAgICAgICAgICAgICAgICAi dmFsdWUiOiBtb3JzZWxfdmFsdWUsCisrICAgICAgICAgICAgICAgICAgICAgICAgImNvZGVkX3Zh bHVlIjogbW9yc2VsX2NvZGVkX3ZhbHVlLAorKyAgICAgICAgICAgICAgICAgICAgfQorKyAgICAg ICAgICAgICAgICApCisrICAgICAgICAgICAgICAgICMgUmVzdG9yZSBtb3JzZWwgYXR0cmlidXRl cworKyAgICAgICAgICAgICAgICBmb3IgYXR0ciBpbiBtb3JzZWwuX3Jlc2VydmVkOiAgIyB0eXBl OiBpZ25vcmVbYXR0ci1kZWZpbmVkXQorKyAgICAgICAgICAgICAgICAgICAgaWYgYXR0ciBpbiBt b3JzZWxfZGF0YSBhbmQgYXR0ciBub3QgaW4gKAorKyAgICAgICAgICAgICAgICAgICAgICAgICJr ZXkiLAorKyAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIsCisrICAgICAgICAgICAgICAg ICAgICAgICAgImNvZGVkX3ZhbHVlIiwKKysgICAgICAgICAgICAgICAgICAgICk6CisrICAgICAg ICAgICAgICAgICAgICAgICAgbW9yc2VsW2F0dHJdID0gbW9yc2VsX2RhdGFbYXR0cl0KKysgICAg ICAgICAgICAgICAgY29va2llc1trZXldW25hbWVdID0gbW9yc2VsCisrICAgICAgICByZXR1cm4g Y29va2llcworIAorICAgICBkZWYgY2xlYXIoc2VsZiwgcHJlZGljYXRlOiBPcHRpb25hbFtDbGVh ckNvb2tpZVByZWRpY2F0ZV0gPSBOb25lKSAtPiBOb25lOgorICAgICAgICAgaWYgcHJlZGljYXRl IGlzIE5vbmU6CitkaWZmIC0tZ2l0IGEvZG9jcy9jbGllbnRfcmVmZXJlbmNlLnJzdCBiL2RvY3Mv Y2xpZW50X3JlZmVyZW5jZS5yc3QKK2luZGV4IGYwMWNhZjguLmVmMzM1YzMgMTAwNjQ0CistLS0g YS9kb2NzL2NsaWVudF9yZWZlcmVuY2UucnN0CisrKysgYi9kb2NzL2NsaWVudF9yZWZlcmVuY2Uu cnN0CitAQCAtMjA3MywxNiArMjA3MywyOCBAQCBVdGlsaXRpZXMKKyAKKyAgICAuLiBtZXRob2Q6 OiBzYXZlKGZpbGVfcGF0aCkKKyAKKy0gICAgICBXcml0ZSBhIHBpY2tsZWQgcmVwcmVzZW50YXRp b24gb2YgY29va2llcyBpbnRvIHRoZSBmaWxlCisrICAgICAgV3JpdGUgYSBKU09OIHJlcHJlc2Vu dGF0aW9uIG9mIGNvb2tpZXMgaW50byB0aGUgZmlsZQorICAgICAgIGF0IHByb3ZpZGVkIHBhdGgu CisgCisrICAgICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjE0CisrCisrICAgICAgICAgUHJldmlv dXNseSB1c2VkIHBpY2tsZSBmb3JtYXQuIE5vdyB1c2VzIEpTT04gZm9yIHNhZmUKKysgICAgICAg ICBzZXJpYWxpemF0aW9uLgorKworICAgICAgIDpwYXJhbSBmaWxlX3BhdGg6IFBhdGggdG8gZmls ZSB3aGVyZSBjb29raWVzIHdpbGwgYmUgc2VyaWFsaXplZCwKKyAgICAgICAgICAgOmNsYXNzOmBz dHJgIG9yIDpjbGFzczpgcGF0aGxpYi5QYXRoYCBpbnN0YW5jZS4KKyAKKyAgICAuLiBtZXRob2Q6 OiBsb2FkKGZpbGVfcGF0aCkKKyAKKy0gICAgICBMb2FkIGEgcGlja2xlZCByZXByZXNlbnRhdGlv biBvZiBjb29raWVzIGZyb20gdGhlIGZpbGUKKy0gICAgICBhdCBwcm92aWRlZCBwYXRoLgorKyAg ICAgIExvYWQgY29va2llcyBmcm9tIHRoZSBmaWxlIGF0IHByb3ZpZGVkIHBhdGguIFRyaWVzIEpT T04gZm9ybWF0CisrICAgICAgZmlyc3QsIHRoZW4gZmFsbHMgYmFjayB0byBsZWdhY3kgcGlja2xl IGZvcm1hdCAodXNpbmcgYSByZXN0cmljdGVkCisrICAgICAgdW5waWNrbGVyIHRoYXQgb25seSBh bGxvd3MgY29va2llLXJlbGF0ZWQgdHlwZXMpIGZvciBiYWNrd2FyZAorKyAgICAgIGNvbXBhdGli aWxpdHkgd2l0aCBleGlzdGluZyBjb29raWUgZmlsZXMuCisrCisrICAgICAgLi4gdmVyc2lvbmNo YW5nZWQ6OiAzLjE0CisrCisrICAgICAgICAgTm93IGxvYWRzIEpTT04gZm9ybWF0IGJ5IGRlZmF1 bHQuIEZhbGxzIGJhY2sgdG8gcmVzdHJpY3RlZAorKyAgICAgICAgIHBpY2tsZSBmb3IgZmlsZXMg c2F2ZWQgYnkgb2xkZXIgdmVyc2lvbnMuCisgCisgICAgICAgOnBhcmFtIGZpbGVfcGF0aDogUGF0 aCB0byBmaWxlIGZyb20gd2hlcmUgY29va2llcyB3aWxsIGJlCisgICAgICAgICAgICBpbXBvcnRl ZCwgOmNsYXNzOmBzdHJgIG9yIDpjbGFzczpgcGF0aGxpYi5QYXRoYCBpbnN0YW5jZS4KK2RpZmYg LS1naXQgYS9kb2NzL3NwZWxsaW5nX3dvcmRsaXN0LnR4dCBiL2RvY3Mvc3BlbGxpbmdfd29yZGxp c3QudHh0CitpbmRleCA3ODJjMmIzLi4wMjhjMTZhIDEwMDY0NAorLS0tIGEvZG9jcy9zcGVsbGlu Z193b3JkbGlzdC50eHQKKysrKyBiL2RvY3Mvc3BlbGxpbmdfd29yZGxpc3QudHh0CitAQCAtOTcs NiArOTcsNyBAQCBkZWR1cGxpY2F0ZQorIGRlZnMKKyBEZXBlbmRhYm90CisgZGVwcmVjYXRpb25z CisrZGVzZXJpYWxpemF0aW9uCisgREVSCisgZGV2CisgRGV2CitAQCAtMjA2LDcgKzIwNyw4IEBA IE11bHRpcGFydAorIG11c2xsaW51eAorIG15cHkKKyBOYWdsZQorLU5hZ2xl4oCZcworK05hZ2xl J3MKKytORlMKKyBuYW1lZHR1cGxlCisgbmFtZXNlcnZlcnMKKyBuYW1lc3BhY2UKK0BAIC0yMjgs NiArMjMwLDcgQEAgcGFyYW0KKyBwYXJhbXMKKyBwYXJzZXJzCisgcGF0aGxpYgorK3BheWxvYWRz CisgcGVlcm5hbWUKKyBwZXJmb3JtYW50CisgcGlja2xlYWJsZQorQEAgLTM0MSw2ICszNDQsOCBA QCB1bmhhbmRsZWQKKyB1bmljb2RlCisgdW5pdHRlc3QKKyBVbml0dGVzdAorK3VucGlja2xlcgor K3VudHJ1c3RlZAorIHVuaXgKKyB1bnNldHMKKyB1bnN0cmlwcGVkCitkaWZmIC0tZ2l0IGEvdGVz dHMvdGVzdF9jb29raWVqYXIucHkgYi90ZXN0cy90ZXN0X2Nvb2tpZWphci5weQoraW5kZXggMGI0 NDBiYy4uN2FjOTg3ZiAxMDA2NDQKKy0tLSBhL3Rlc3RzL3Rlc3RfY29va2llamFyLnB5CisrKysg Yi90ZXN0cy90ZXN0X2Nvb2tpZWphci5weQorQEAgLTcsNiArNyw3IEBAIGltcG9ydCBwaWNrbGUK KyBpbXBvcnQgdW5pdHRlc3QKKyBmcm9tIGh0dHAuY29va2llcyBpbXBvcnQgQmFzZUNvb2tpZSwg TW9yc2VsLCBTaW1wbGVDb29raWUKKyBmcm9tIG9wZXJhdG9yIGltcG9ydCBub3RfCisrZnJvbSBw YXRobGliIGltcG9ydCBQYXRoCisgZnJvbSB1bml0dGVzdCBpbXBvcnQgbW9jaworIAorIGltcG9y dCBweXRlc3QKK0BAIC0xMTI3LDMgKzExMjgsMTkwIEBAIGFzeW5jIGRlZiB0ZXN0X3RyZWF0X2Fz X3NlY3VyZV9vcmlnaW4oKSAtPiBOb25lOgorICAgICBhc3NlcnQgbGVuKGphcikgPT0gMQorICAg ICBmaWx0ZXJlZF9jb29raWVzID0gamFyLmZpbHRlcl9jb29raWVzKHJlcXVlc3RfdXJsPWVuZHBv aW50KQorICAgICBhc3NlcnQgbGVuKGZpbHRlcmVkX2Nvb2tpZXMpID09IDEKKysKKysKKysjID09 PSBTZWN1cml0eSB0ZXN0cyBmb3IgcmVzdHJpY3RlZCB1bnBpY2tsZXIgYW5kIEpTT04gc2F2ZS9s b2FkID09PQorKworKworK2FzeW5jIGRlZiB0ZXN0X2xvYWRfcmVqZWN0c19tYWxpY2lvdXNfcGlj a2xlKHRtcF9wYXRoOiBQYXRoKSAtPiBOb25lOgorKyAgICAiIiJWZXJpZnkgQ29va2llSmFyLmxv YWQoKSBibG9ja3MgYXJiaXRyYXJ5IGNvZGUgZXhlY3V0aW9uIHZpYSBwaWNrbGUuCisrCisrICAg IEEgY3JhZnRlZCBwaWNrbGUgcGF5bG9hZCB1c2luZyBvcy5zeXN0ZW0gKG9yIGFueSBub24tY29v a2llIGNsYXNzKQorKyAgICBtdXN0IGJlIHJlamVjdGVkIGJ5IHRoZSByZXN0cmljdGVkIHVucGlj a2xlci4KKysgICAgIiIiCisrICAgIGltcG9ydCBvcworKworKyAgICBmaWxlX3BhdGggPSB0bXBf cGF0aCAvICJtYWxpY2lvdXMucGtsIgorKworKyAgICBjbGFzcyBSQ0VQYXlsb2FkOgorKyAgICAg ICAgZGVmIF9fcmVkdWNlX18oc2VsZikgLT4gdHVwbGVbb2JqZWN0LCAuLi5dOgorKyAgICAgICAg ICAgIHJldHVybiAob3Muc3lzdGVtLCAoImVjaG8gUFdORUQiLCkpCisrCisrICAgIHdpdGggb3Bl bihmaWxlX3BhdGgsICJ3YiIpIGFzIGY6CisrICAgICAgICBwaWNrbGUuZHVtcChSQ0VQYXlsb2Fk KCksIGYsIHBpY2tsZS5ISUdIRVNUX1BST1RPQ09MKQorKworKyAgICBqYXIgPSBDb29raWVKYXIo KQorKyAgICB3aXRoIHB5dGVzdC5yYWlzZXMocGlja2xlLlVucGlja2xpbmdFcnJvciwgbWF0Y2g9 IkZvcmJpZGRlbiBjbGFzcyIpOgorKyAgICAgICAgamFyLmxvYWQoZmlsZV9wYXRoKQorKworKwor K2FzeW5jIGRlZiB0ZXN0X2xvYWRfcmVqZWN0c19ldmFsX3BheWxvYWQodG1wX3BhdGg6IFBhdGgp IC0+IE5vbmU6CisrICAgICIiIlZlcmlmeSBDb29raWVKYXIubG9hZCgpIGJsb2NrcyBldmFsLWJh c2VkIHBpY2tsZSBwYXlsb2Fkcy4iIiIKKysgICAgZmlsZV9wYXRoID0gdG1wX3BhdGggLyAiZXZh bF9wYXlsb2FkLnBrbCIKKysKKysgICAgY2xhc3MgRXZhbFBheWxvYWQ6CisrICAgICAgICBkZWYg X19yZWR1Y2VfXyhzZWxmKSAtPiB0dXBsZVtvYmplY3QsIC4uLl06CisrICAgICAgICAgICAgcmV0 dXJuIChldmFsLCAoIl9faW1wb3J0X18oJ29zJykuc3lzdGVtKCdlY2hvIFBXTkVEJykiLCkpCisr CisrICAgIHdpdGggb3BlbihmaWxlX3BhdGgsICJ3YiIpIGFzIGY6CisrICAgICAgICBwaWNrbGUu ZHVtcChFdmFsUGF5bG9hZCgpLCBmLCBwaWNrbGUuSElHSEVTVF9QUk9UT0NPTCkKKysKKysgICAg amFyID0gQ29va2llSmFyKCkKKysgICAgd2l0aCBweXRlc3QucmFpc2VzKHBpY2tsZS5VbnBpY2ts aW5nRXJyb3IsIG1hdGNoPSJGb3JiaWRkZW4gY2xhc3MiKToKKysgICAgICAgIGphci5sb2FkKGZp bGVfcGF0aCkKKysKKysKKythc3luYyBkZWYgdGVzdF9sb2FkX3JlamVjdHNfc3VicHJvY2Vzc19w YXlsb2FkKHRtcF9wYXRoOiBQYXRoKSAtPiBOb25lOgorKyAgICAiIiJWZXJpZnkgQ29va2llSmFy LmxvYWQoKSBibG9ja3Mgc3VicHJvY2Vzcy1iYXNlZCBwaWNrbGUgcGF5bG9hZHMuIiIiCisrICAg IGltcG9ydCBzdWJwcm9jZXNzCisrCisrICAgIGZpbGVfcGF0aCA9IHRtcF9wYXRoIC8gInN1YnBy b2Nlc3NfcGF5bG9hZC5wa2wiCisrCisrICAgIGNsYXNzIFN1YnByb2Nlc3NQYXlsb2FkOgorKyAg ICAgICAgZGVmIF9fcmVkdWNlX18oc2VsZikgLT4gdHVwbGVbb2JqZWN0LCAuLi5dOgorKyAgICAg ICAgICAgIHJldHVybiAoc3VicHJvY2Vzcy5jYWxsLCAoWyJlY2hvIiwgIlBXTkVEIl0sKSkKKysK KysgICAgd2l0aCBvcGVuKGZpbGVfcGF0aCwgIndiIikgYXMgZjoKKysgICAgICAgIHBpY2tsZS5k dW1wKFN1YnByb2Nlc3NQYXlsb2FkKCksIGYsIHBpY2tsZS5ISUdIRVNUX1BST1RPQ09MKQorKwor KyAgICBqYXIgPSBDb29raWVKYXIoKQorKyAgICB3aXRoIHB5dGVzdC5yYWlzZXMocGlja2xlLlVu cGlja2xpbmdFcnJvciwgbWF0Y2g9IkZvcmJpZGRlbiBjbGFzcyIpOgorKyAgICAgICAgamFyLmxv YWQoZmlsZV9wYXRoKQorKworKworK2FzeW5jIGRlZiB0ZXN0X2xvYWRfZmFsbHNfYmFja190b19w aWNrbGUoCisrICAgIHRtcF9wYXRoOiBQYXRoLAorKyAgICBjb29raWVzX3RvX3JlY2VpdmU6IFNp bXBsZUNvb2tpZSwKKyspIC0+IE5vbmU6CisrICAgICIiIlZlcmlmeSBsb2FkKCkgZmFsbHMgYmFj ayB0byByZXN0cmljdGVkIHBpY2tsZSBmb3IgbGVnYWN5IGNvb2tpZSBmaWxlcy4KKysKKysgICAg RXhpc3RpbmcgY29va2llIGZpbGVzIHNhdmVkIHdpdGggb2xkZXIgdmVyc2lvbnMgb2YgYWlvaHR0 cCB1c2VkIHBpY2tsZS4KKysgICAgbG9hZCgpIHNob3VsZCBkZXRlY3QgdGhhdCB0aGUgZmlsZSBp cyBub3QgSlNPTiBhbmQgZmFsbCBiYWNrIHRvIHRoZQorKyAgICByZXN0cmljdGVkIHBpY2tsZSB1 bnBpY2tsZXIgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuCisrICAgICIiIgorKyAgICBmaWxl X3BhdGggPSB0bXBfcGF0aCAvICJsZWdpdC5wa2wiCisrCisrICAgICMgV3JpdGUgYSBsZWdhY3kg cGlja2xlIGZpbGUgZGlyZWN0bHkgKGFzIG9sZCBhaW9odHRwIHNhdmUoKSB3b3VsZCkKKysgICAg amFyX3NhdmUgPSBDb29raWVKYXIoKQorKyAgICBqYXJfc2F2ZS51cGRhdGVfY29va2llcyhjb29r aWVzX3RvX3JlY2VpdmUpCisrICAgIHdpdGggZmlsZV9wYXRoLm9wZW4obW9kZT0id2IiKSBhcyBm OgorKyAgICAgICAgcGlja2xlLmR1bXAoamFyX3NhdmUuX2Nvb2tpZXMsIGYsIHBpY2tsZS5ISUdI RVNUX1BST1RPQ09MKQorKworKyAgICBqYXJfbG9hZCA9IENvb2tpZUphcigpCisrICAgIGphcl9s b2FkLmxvYWQoZmlsZV9wYXRoPWZpbGVfcGF0aCkKKysKKysgICAgamFyX3Rlc3QgPSBTaW1wbGVD b29raWUoKQorKyAgICBmb3IgY29va2llIGluIGphcl9sb2FkOgorKyAgICAgICAgamFyX3Rlc3Rb Y29va2llLmtleV0gPSBjb29raWUKKysKKysgICAgYXNzZXJ0IGphcl90ZXN0ID09IGNvb2tpZXNf dG9fcmVjZWl2ZQorKworKworK2FzeW5jIGRlZiB0ZXN0X3NhdmVfbG9hZF9qc29uX3JvdW5kdHJp cCgKKysgICAgdG1wX3BhdGg6IFBhdGgsCisrICAgIGNvb2tpZXNfdG9fcmVjZWl2ZTogU2ltcGxl Q29va2llLAorKykgLT4gTm9uZToKKysgICAgIiIiVmVyaWZ5IHNhdmUvbG9hZCByb3VuZHRyaXAg cHJlc2VydmVzIGNvb2tpZXMgdmlhIEpTT04gZm9ybWF0LiIiIgorKyAgICBmaWxlX3BhdGggPSB0 bXBfcGF0aCAvICJjb29raWVzLmpzb24iCisrCisrICAgIGphcl9zYXZlID0gQ29va2llSmFyKCkK KysgICAgamFyX3NhdmUudXBkYXRlX2Nvb2tpZXMoY29va2llc190b19yZWNlaXZlKQorKyAgICBq YXJfc2F2ZS5zYXZlKGZpbGVfcGF0aD1maWxlX3BhdGgpCisrCisrICAgIGphcl9sb2FkID0gQ29v a2llSmFyKCkKKysgICAgamFyX2xvYWQubG9hZChmaWxlX3BhdGg9ZmlsZV9wYXRoKQorKworKyAg ICBzYXZlZF9jb29raWVzID0gU2ltcGxlQ29va2llKCkKKysgICAgZm9yIGNvb2tpZSBpbiBqYXJf c2F2ZToKKysgICAgICAgIHNhdmVkX2Nvb2tpZXNbY29va2llLmtleV0gPSBjb29raWUKKysKKysg ICAgbG9hZGVkX2Nvb2tpZXMgPSBTaW1wbGVDb29raWUoKQorKyAgICBmb3IgY29va2llIGluIGph cl9sb2FkOgorKyAgICAgICAgbG9hZGVkX2Nvb2tpZXNbY29va2llLmtleV0gPSBjb29raWUKKysK KysgICAgYXNzZXJ0IHNhdmVkX2Nvb2tpZXMgPT0gbG9hZGVkX2Nvb2tpZXMKKysKKysKKythc3lu YyBkZWYgdGVzdF9zYXZlX2xvYWRfanNvbl9wYXJ0aXRpb25lZF9jb29raWVzKHRtcF9wYXRoOiBQ YXRoKSAtPiBOb25lOgorKyAgICAiIiJWZXJpZnkgc2F2ZS9sb2FkIHJvdW5kdHJpcCB3b3JrcyB3 aXRoIHBhcnRpdGlvbmVkIGNvb2tpZXMuIiIiCisrICAgIGZpbGVfcGF0aCA9IHRtcF9wYXRoIC8g InBhcnRpdGlvbmVkLmpzb24iCisrCisrICAgIGphcl9zYXZlID0gQ29va2llSmFyKCkKKysgICAg c2MgPSBTaW1wbGVDb29raWUoKQorKyAgICBzYy5sb2FkKCJzZXNzaW9uPWNvb2tpZTsgUGFydGl0 aW9uZWQiKQorKyAgICBqYXJfc2F2ZS51cGRhdGVfY29va2llcyhzYywgVVJMKCJodHRwczovL2V4 YW1wbGUuY29tLyIpKQorKyAgICBqYXJfc2F2ZS5zYXZlKGZpbGVfcGF0aD1maWxlX3BhdGgpCisr CisrICAgIGphcl9sb2FkID0gQ29va2llSmFyKCkKKysgICAgamFyX2xvYWQubG9hZChmaWxlX3Bh dGg9ZmlsZV9wYXRoKQorKworKyAgICAjIENvbXBhcmUgaW5kaXZpZHVhbCBjb29raWUgdmFsdWVz IChzYW1lIGFwcHJvYWNoIGFzIHRlc3Rfc2F2ZV9sb2FkX3BhcnRpdGlvbmVkX2Nvb2tpZXMpCisr ICAgIHNhdmVkID0gbGlzdChqYXJfc2F2ZSkKKysgICAgbG9hZGVkID0gbGlzdChqYXJfbG9hZCkK KysgICAgYXNzZXJ0IGxlbihzYXZlZCkgPT0gbGVuKGxvYWRlZCkKKysgICAgZm9yIHMsIGxvIGlu IHppcChzYXZlZCwgbG9hZGVkKToKKysgICAgICAgIGFzc2VydCBzLmtleSA9PSBsby5rZXkKKysg ICAgICAgIGFzc2VydCBzLnZhbHVlID09IGxvLnZhbHVlCisrICAgICAgICBhc3NlcnQgc1siZG9t YWluIl0gPT0gbG9bImRvbWFpbiJdCisrICAgICAgICBhc3NlcnQgc1sicGF0aCJdID09IGxvWyJw YXRoIl0KKysKKysKKythc3luYyBkZWYgdGVzdF9qc29uX2Zvcm1hdF9pc19zYWZlKHRtcF9wYXRo OiBQYXRoKSAtPiBOb25lOgorKyAgICAiIiJWZXJpZnkgdGhlIEpTT04gZmlsZSBmb3JtYXQgY2Fu bm90IGV4ZWN1dGUgY29kZSBvbiBsb2FkLiIiIgorKyAgICBpbXBvcnQganNvbgorKworKyAgICBm aWxlX3BhdGggPSB0bXBfcGF0aCAvICJzYWZlLmpzb24iCisrCisrICAgICMgV3JpdGUgc29tZXRo aW5nIHRoYXQgbWlnaHQgbG9vayBkYW5nZXJvdXMgYnV0IGlzIGp1c3QgZGF0YQorKyAgICBtYWxp Y2lvdXNfZGF0YSA9IHsKKysgICAgICAgICJldmlsLmNvbXwvIjogeworKyAgICAgICAgICAgICJz ZXNzaW9uIjogeworKyAgICAgICAgICAgICAgICAia2V5IjogInNlc3Npb24iLAorKyAgICAgICAg ICAgICAgICAidmFsdWUiOiAiX19pbXBvcnRfXygnb3MnKS5zeXN0ZW0oJ2VjaG8gUFdORUQnKSIs CisrICAgICAgICAgICAgICAgICJjb2RlZF92YWx1ZSI6ICJfX2ltcG9ydF9fKCdvcycpLnN5c3Rl bSgnZWNobyBQV05FRCcpIiwKKysgICAgICAgICAgICB9CisrICAgICAgICB9CisrICAgIH0KKysg ICAgd2l0aCBvcGVuKGZpbGVfcGF0aCwgInciKSBhcyBmOgorKyAgICAgICAganNvbi5kdW1wKG1h bGljaW91c19kYXRhLCBmKQorKworKyAgICBqYXIgPSBDb29raWVKYXIoKQorKyAgICBqYXIubG9h ZChmaWxlX3BhdGg9ZmlsZV9wYXRoKQorKworKyAgICAjIFRoZSAibWFsaWNpb3VzIiBzdHJpbmcg aXMganVzdCBhIGNvb2tpZSB2YWx1ZSwgbm90IGV4ZWN1dGVkIGNvZGUKKysgICAgY29va2llcyA9 IGxpc3QoamFyKQorKyAgICBhc3NlcnQgbGVuKGNvb2tpZXMpID09IDEKKysgICAgYXNzZXJ0IGNv b2tpZXNbMF0udmFsdWUgPT0gIl9faW1wb3J0X18oJ29zJykuc3lzdGVtKCdlY2hvIFBXTkVEJyki CisrCisrCisrYXN5bmMgZGVmIHRlc3Rfc2F2ZV9sb2FkX2pzb25fc2VjdXJlX2Nvb2tpZXModG1w X3BhdGg6IFBhdGgpIC0+IE5vbmU6CisrICAgICIiIlZlcmlmeSBzYXZlL2xvYWQgcHJlc2VydmVz IFNlY3VyZSBhbmQgSHR0cE9ubHkgZmxhZ3MuIiIiCisrICAgIGZpbGVfcGF0aCA9IHRtcF9wYXRo IC8gInNlY3VyZS5qc29uIgorKworKyAgICBqYXJfc2F2ZSA9IENvb2tpZUphcigpCisrICAgIHNj ID0gU2ltcGxlQ29va2llKCkKKysgICAgc2MubG9hZCgidG9rZW49YWJjMTIzOyBTZWN1cmU7IEh0 dHBPbmx5OyBQYXRoPS87IERvbWFpbj1leGFtcGxlLmNvbSIpCisrICAgIGphcl9zYXZlLnVwZGF0 ZV9jb29raWVzKHNjLCBVUkwoImh0dHBzOi8vZXhhbXBsZS5jb20vIikpCisrICAgIGphcl9zYXZl LnNhdmUoZmlsZV9wYXRoPWZpbGVfcGF0aCkKKysKKysgICAgamFyX2xvYWQgPSBDb29raWVKYXIo KQorKyAgICBqYXJfbG9hZC5sb2FkKGZpbGVfcGF0aD1maWxlX3BhdGgpCisrCisrICAgIGxvYWRl ZF9jb29raWVzID0gbGlzdChqYXJfbG9hZCkKKysgICAgYXNzZXJ0IGxlbihsb2FkZWRfY29va2ll cykgPT0gMQorKyAgICBjb29raWUgPSBsb2FkZWRfY29va2llc1swXQorKyAgICBhc3NlcnQgY29v a2llLmtleSA9PSAidG9rZW4iCisrICAgIGFzc2VydCBjb29raWUudmFsdWUgPT0gImFiYzEyMyIK KysgICAgYXNzZXJ0IGNvb2tpZVsic2VjdXJlIl0gaXMgVHJ1ZQorKyAgICBhc3NlcnQgY29va2ll WyJodHRwb25seSJdIGlzIFRydWUKKysgICAgYXNzZXJ0IGNvb2tpZVsiZG9tYWluIl0gPT0gImV4 YW1wbGUuY29tIgpkaWZmIC1OcnUgcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hl cy9DVkUtMjAyNi00NzI2NS5wYXRjaCBweXRob24tYWlvaHR0cC0zLjExLjE2L2RlYmlhbi9wYXRj aGVzL0NWRS0yMDI2LTQ3MjY1LnBhdGNoCi0tLSBweXRob24tYWlvaHR0cC0zLjExLjE2L2RlYmlh bi9wYXRjaGVzL0NWRS0yMDI2LTQ3MjY1LnBhdGNoCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAw MDAwICswMTAwCisrKyBweXRob24tYWlvaHR0cC0zLjExLjE2L2RlYmlhbi9wYXRjaGVzL0NWRS0y MDI2LTQ3MjY1LnBhdGNoCTIwMjYtMDctMzEgMDM6NTA6MzIuMDAwMDAwMDAwICswMjAwCkBAIC0w LDAgKzEsNTUgQEAKK0Zyb206IFNhbSBCdWxsIDxnaXRAc2FtYnVsbC5vcmc+CitEYXRlOiBUdWUs IDE5IE1heSAyMDI2IDAxOjIzOjAwICswMTAwCitTdWJqZWN0OiBEcm9wIGNvb2tpZXMgb24gcmVk aXJlY3QgKCMxMjU1MCkgKCMxMjY0MCkKKworKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZDU3 ZWZiMDVmNTA3MzA3MWNlYjJkM2IzNWQ3MmQ5ZDBiYzQ1MTJhMikKKworUmV2aWV3ZWQtQnk6IERh bmllbCBMZWlkZXJ0IDxkbGVpZGVydEBkZWJpYW4ub3JnPgorT3JpZ2luOiBodHRwczovL2dpdGh1 Yi5jb20vYWlvLWxpYnMvYWlvaHR0cC9jb21taXQvZjU0YzQwODUxYjBkNmM0YmJkYWI5N2JhNTE4 YTIyM2FkZGEzMjQ3OAorQnVnOiBodHRwczovL2dpdGh1Yi5jb20vYWlvLWxpYnMvYWlvaHR0cC9z ZWN1cml0eS9hZHZpc29yaWVzL0dIU0EtaGc2ai00cnY2LTMzcGcKK0J1Zy1EZWJpYW4tU2VjdXJp dHk6IGh0dHBzOi8vc2VjdXJpdHktdHJhY2tlci5kZWJpYW4ub3JnL3RyYWNrZXIvQ1ZFLTIwMjYt NDcyNjUKK0J1Zy1GcmVleGlhbi1TZWN1cml0eTogaHR0cHM6Ly9kZWIuZnJlZXhpYW4uY29tL2V4 dGVuZGVkLWx0cy90cmFja2VyL0NWRS0yMDI2LTQ3MjY1CistLS0KKyBhaW9odHRwL2NsaWVudC5w eSAgICAgICAgICAgICAgIHwgIDEgKworIHRlc3RzL3Rlc3RfY2xpZW50X2Z1bmN0aW9uYWwucHkg fCAxNiArKysrKysrKysrKysrKy0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCsp LCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYWlvaHR0cC9jbGllbnQucHkgYi9haW9o dHRwL2NsaWVudC5weQoraW5kZXggOGRhZjMyYy4uODc0ODc3YiAxMDA2NDQKKy0tLSBhL2Fpb2h0 dHAvY2xpZW50LnB5CisrKysgYi9haW9odHRwL2NsaWVudC5weQorQEAgLTgyMiw2ICs4MjIsNyBA QCBjbGFzcyBDbGllbnRTZXNzaW9uOgorIAorICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHVy bC5vcmlnaW4oKSAhPSByZWRpcmVjdF9vcmlnaW46CisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGF1dGggPSBOb25lCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvb2tpZXMgPSBO b25lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnMucG9wKGhkcnMuQVVUSE9S SVpBVElPTiwgTm9uZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVycy5wb3Ao aGRycy5DT09LSUUsIE5vbmUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnMu cG9wKGhkcnMuUFJPWFlfQVVUSE9SSVpBVElPTiwgTm9uZSkKK2RpZmYgLS1naXQgYS90ZXN0cy90 ZXN0X2NsaWVudF9mdW5jdGlvbmFsLnB5IGIvdGVzdHMvdGVzdF9jbGllbnRfZnVuY3Rpb25hbC5w eQoraW5kZXggNTc1M2UxOS4uMDNlYjJiZSAxMDA2NDQKKy0tLSBhL3Rlc3RzL3Rlc3RfY2xpZW50 X2Z1bmN0aW9uYWwucHkKKysrKyBiL3Rlc3RzL3Rlc3RfY2xpZW50X2Z1bmN0aW9uYWwucHkKK0BA IC0zMjY3LDggKzMyNjcsMjAgQEAgYXN5bmMgZGVmIHRlc3RfYXV0aF9wZXJzaXN0X29uX3JlZGly ZWN0X3RvX290aGVyX2hvc3Rfd2l0aF9nbG9iYWxfYXV0aCgKKyAgICAgYXN5bmMgd2l0aCBhaW9o dHRwLkNsaWVudFNlc3Npb24oCisgICAgICAgICBjb25uZWN0b3I9Y29ubmVjdG9yLCBhdXRoPWFp b2h0dHAuQmFzaWNBdXRoKCJ1c2VyIiwgInBhc3MiKQorICAgICApIGFzIGNsaWVudDoKKy0gICAg ICAgIHJlc3AgPSBhd2FpdCBjbGllbnQuZ2V0KHVybF9mcm9tKQorLSAgICAgICAgYXNzZXJ0IHJl c3Auc3RhdHVzID09IDIwMAorKyAgICAgICAgYXN5bmMgd2l0aCBjbGllbnQuZ2V0KAorKyAgICAg ICAgICAgIHVybF9mcm9tLAorKyAgICAgICAgICAgIGhlYWRlcnM9eworKyAgICAgICAgICAgICAg ICAiUHJveHktQXV0aG9yaXphdGlvbiI6ICJCYXNpYyBkWE5sY2pwd1lYTnoiLAorKyAgICAgICAg ICAgICAgICAiQ29va2llIjogImE9YiIsCisrICAgICAgICAgICAgfSwKKysgICAgICAgICkgYXMg cmVzcDoKKysgICAgICAgICAgICBhc3NlcnQgcmVzcC5zdGF0dXMgPT0gMjAwCisrICAgICAgICBh c3luYyB3aXRoIGNsaWVudC5nZXQoCisrICAgICAgICAgICAgdXJsX2Zyb20sCisrICAgICAgICAg ICAgaGVhZGVycz17IlByb3h5LUF1dGhvcml6YXRpb24iOiAiQmFzaWMgZFhObGNqcHdZWE56In0s CisrICAgICAgICAgICAgY29va2llcz17ImEiOiAiYiJ9LAorKyAgICAgICAgKSBhcyByZXNwOgor KyAgICAgICAgICAgIGFzc2VydCByZXNwLnN0YXR1cyA9PSAyMDAKKyAKKyAKKyBhc3luYyBkZWYg dGVzdF9kcm9wX2F1dGhfb25fcmVkaXJlY3RfdG9fb3RoZXJfaG9zdF93aXRoX2dsb2JhbF9hdXRo X2FuZF9iYXNlX3VybCgKZGlmZiAtTnJ1IHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3Bh dGNoZXMvQ1ZFLTIwMjYtNTAyNjkucGF0Y2ggcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4v cGF0Y2hlcy9DVkUtMjAyNi01MDI2OS5wYXRjaAotLS0gcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9k ZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi01MDI2OS5wYXRjaAkxOTcwLTAxLTAxIDAxOjAwOjAwLjAw MDAwMDAwMCArMDEwMAorKysgcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcGF0Y2hlcy9D VkUtMjAyNi01MDI2OS5wYXRjaAkyMDI2LTA3LTMxIDAzOjUwOjMyLjAwMDAwMDAwMCArMDIwMApA QCAtMCwwICsxLDc4IEBACitGcm9tOiAicGF0Y2hiYWNrW2JvdF0iIDw0NTQzMjY5NCtwYXRjaGJh Y2tbYm90XUB1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBUaHUsIDI4IE1heSAyMDI2 IDIzOjU3OjQxICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIFtQUiAjMTI3MTkvODc5ZDQ4ZDEgYmFj a3BvcnRdWzMuMTRdIFJlamVjdCBpbnZhbGlkIGJ5dGVzIGluCisgbXVsdGlwYXJ0L3BheWxvYWQg aGVhZGVycyAoIzEyNzIwKQorCisqKlRoaXMgaXMgYSBiYWNrcG9ydCBvZiBQUiAjMTI3MTkgYXMg bWVyZ2VkIGludG8gbWFzdGVyCisoODc5ZDQ4ZDE2MTliOWJjMzY2MjAzN2FmY2I4YmZhNzkwYTIw NWU5YikuKioKKworQ28tYXV0aG9yZWQtYnk6IFNhbSBCdWxsIDxnaXRAc2FtYnVsbC5vcmc+CisK KworQ29tbWVudDogVGhlIG9yaWdpbmFsIHBhdGNoIGFsc28gYXBwbGllcyB0aGUgdGVzdCBjYXNl cyB0byBudWxsIGJ5dGVzLgorSG93ZXZlciwgdGhhdCB3b3VsZCByZXF1aXJlIGJhY2twb3J0aW5n IGFub3RoZXIgKG5vbi1DVkUpIHBhdGNoLiBTbywgd2Ugc3RheQord2l0aCB0aGUgb3JpZ2luYWwg YmVoYXZpb3IsIHdoaWNoIGFsbG93cyBudWxsIGJ5dGVzLgoraHR0cHM6Ly9naXRodWIuY29tL2Fp by1saWJzL2Fpb2h0dHAvY29tbWl0Lzc2NGE2YzgzYjY3NjNiNjRiNmY4ODIwMjAxYjMzNDkyMjY0 NjE3MGQKKworUmV2aWV3ZWQtQnk6IERhbmllbCBMZWlkZXJ0IDxkbGVpZGVydEBkZWJpYW4ub3Jn PgorT3JpZ2luOiBodHRwczovL2dpdGh1Yi5jb20vYWlvLWxpYnMvYWlvaHR0cC9jb21taXQvYmY4 ODA3N2ViYjE0ZjRjMjk5MjRiOGU4OTA0Y2JhMjBjNTVjMjhiOAorQnVnOiBodHRwczovL2dpdGh1 Yi5jb20vYWlvLWxpYnMvYWlvaHR0cC9zZWN1cml0eS9hZHZpc29yaWVzL0dIU0EtbTZxdy00Y3cy LWhtNG0KK0J1Zy1EZWJpYW4tU2VjdXJpdHk6IGh0dHBzOi8vc2VjdXJpdHktdHJhY2tlci5kZWJp YW4ub3JnL3RyYWNrZXIvQ1ZFLTIwMjYtNTAyNjkKK0J1Zy1GcmVleGlhbi1TZWN1cml0eTogaHR0 cHM6Ly9kZWIuZnJlZXhpYW4uY29tL2V4dGVuZGVkLWx0cy90cmFja2VyL0NWRS0yMDI2LTUwMjY5 CistLS0KKyBhaW9odHRwL3BheWxvYWQucHkgICAgfCAgOCArKysrKy0tLQorIHRlc3RzL3Rlc3Rf cGF5bG9hZC5weSB8IDE1ICsrKysrKysrKysrKysrKworIDIgZmlsZXMgY2hhbmdlZCwgMjAgaW5z ZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2Fpb2h0dHAvcGF5bG9h ZC5weSBiL2Fpb2h0dHAvcGF5bG9hZC5weQoraW5kZXggM2Y2ZDM2Ny4uZDE0ZjI1ZSAxMDA2NDQK Ky0tLSBhL2Fpb2h0dHAvcGF5bG9hZC5weQorKysrIGIvYWlvaHR0cC9wYXlsb2FkLnB5CitAQCAt MzMsNiArMzMsNyBAQCBmcm9tIC5oZWxwZXJzIGltcG9ydCAoCisgICAgIHBhcnNlX21pbWV0eXBl LAorICAgICBzZW50aW5lbCwKKyApCisrZnJvbSAuaHR0cF93cml0ZXIgaW1wb3J0IF9zYWZlX2hl YWRlcgorIGZyb20gLnN0cmVhbXMgaW1wb3J0IFN0cmVhbVJlYWRlcgorIGZyb20gLnR5cGVkZWZz IGltcG9ydCBKU09ORW5jb2RlciwgX0NJTXVsdGlEaWN0CisgCitAQCAtMjAxLDkgKzIwMiwxMCBA QCBjbGFzcyBQYXlsb2FkKEFCQyk6CisgICAgIEBwcm9wZXJ0eQorICAgICBkZWYgX2JpbmFyeV9o ZWFkZXJzKHNlbGYpIC0+IGJ5dGVzOgorICAgICAgICAgcmV0dXJuICgKKy0gICAgICAgICAgICAi Ii5qb2luKFtrICsgIjogIiArIHYgKyAiXHJcbiIgZm9yIGssIHYgaW4gc2VsZi5oZWFkZXJzLml0 ZW1zKCldKS5lbmNvZGUoCistICAgICAgICAgICAgICAgICJ1dGYtOCIKKy0gICAgICAgICAgICAp CisrICAgICAgICAgICAgIiIuam9pbigKKysgICAgICAgICAgICAgICAgX3NhZmVfaGVhZGVyKGsp ICsgIjogIiArIF9zYWZlX2hlYWRlcih2KSArICJcclxuIgorKyAgICAgICAgICAgICAgICBmb3Ig aywgdiBpbiBzZWxmLmhlYWRlcnMuaXRlbXMoKQorKyAgICAgICAgICAgICkuZW5jb2RlKCJ1dGYt OCIpCisgICAgICAgICAgICAgKyBiIlxyXG4iCisgICAgICAgICApCisgCitkaWZmIC0tZ2l0IGEv dGVzdHMvdGVzdF9wYXlsb2FkLnB5IGIvdGVzdHMvdGVzdF9wYXlsb2FkLnB5CitpbmRleCAwZTJk YjkxLi5lYzJiZjdlIDEwMDY0NAorLS0tIGEvdGVzdHMvdGVzdF9wYXlsb2FkLnB5CisrKysgYi90 ZXN0cy90ZXN0X3BheWxvYWQucHkKK0BAIC01Nyw2ICs1NywyMSBAQCBkZWYgdGVzdF9wYXlsb2Fk X2NvbnRlbnRfdHlwZSgpIC0+IE5vbmU6CisgICAgIGFzc2VydCBwLmNvbnRlbnRfdHlwZSA9PSAi YXBwbGljYXRpb24vanNvbiIKKyAKKyAKKytAcHl0ZXN0Lm1hcmsucGFyYW1ldHJpemUoImJhZF9i eXRlIiwgKCJcciIsICJcbiIpKQorK2RlZiB0ZXN0X2JpbmFyeV9oZWFkZXJzX3JlamVjdF9pbmpl Y3Rpb25faW5fdmFsdWUoYmFkX2J5dGU6IHN0cikgLT4gTm9uZToKKysgICAgcCA9IFBheWxvYWQo InRlc3QiLCBoZWFkZXJzPXsiWC1DdXN0b20iOiBmInZhbHVle2JhZF9ieXRlfUluamVjdGVkOiBi YWQifSkKKysgICAgd2l0aCBweXRlc3QucmFpc2VzKFZhbHVlRXJyb3IsIG1hdGNoPSJoZWFkZXIg aW5qZWN0aW9uIik6CisrICAgICAgICBwLl9iaW5hcnlfaGVhZGVycworKworKworK0BweXRlc3Qu bWFyay5wYXJhbWV0cml6ZSgiYmFkX2J5dGUiLCAoIlxyIiwgIlxuIikpCisrZGVmIHRlc3RfYmlu YXJ5X2hlYWRlcnNfcmVqZWN0X2luamVjdGlvbl9pbl9uYW1lKGJhZF9ieXRlOiBzdHIpIC0+IE5v bmU6CisrICAgIHAgPSBQYXlsb2FkKCJ0ZXN0IikKKysgICAgcC5oZWFkZXJzW2YiWC1DdXN0b217 YmFkX2J5dGV9SW5qZWN0ZWQiXSA9ICJ2YWx1ZSIKKysgICAgd2l0aCBweXRlc3QucmFpc2VzKFZh bHVlRXJyb3IsIG1hdGNoPSJoZWFkZXIgaW5qZWN0aW9uIik6CisrICAgICAgICBwLl9iaW5hcnlf aGVhZGVycworKworKworIGRlZiB0ZXN0X2J5dGVzX3BheWxvYWRfZGVmYXVsdF9jb250ZW50X3R5 cGUoKSAtPiBOb25lOgorICAgICBwID0gcGF5bG9hZC5CeXRlc1BheWxvYWQoYiJkYXRhIikKKyAg ICAgYXNzZXJ0IHAuY29udGVudF90eXBlID09ICJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iCmRp ZmYgLU5ydSBweXRob24tYWlvaHR0cC0zLjExLjE2L2RlYmlhbi9wYXRjaGVzL0NWRS0yMDI2LTU0 Mjc0LnBhdGNoIHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3BhdGNoZXMvQ1ZFLTIwMjYt NTQyNzQucGF0Y2gKLS0tIHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3BhdGNoZXMvQ1ZF LTIwMjYtNTQyNzQucGF0Y2gJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysr IHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3BhdGNoZXMvQ1ZFLTIwMjYtNTQyNzQucGF0 Y2gJMjAyNi0wNy0zMSAwMzo1MDozMi4wMDAwMDAwMDAgKzAyMDAKQEAgLTAsMCArMSwyNDggQEAK K0Zyb206ICJwYXRjaGJhY2tbYm90XSIgPDQ1NDMyNjk0K3BhdGNoYmFja1tib3RdQHVzZXJzLm5v cmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFNhdCwgNiBKdW4gMjAyNiAwMDowNToxOSArMDEwMAor U3ViamVjdDogW1BBVENIXSBbUFIgIzEyODE3LzY5MzQ0YzZlIGJhY2twb3J0XVszLjE0XSBJbXBy b3ZlIHdlYnNvY2tldCBjaGVja3MKKyAoIzEyODE4KQorCisqKlRoaXMgaXMgYSBiYWNrcG9ydCBv ZiBQUiAjMTI4MTcgYXMgbWVyZ2VkIGludG8gbWFzdGVyCisoNjkzNDRjNmVmYTNlNWRkODBiMWM4 ODA3OWZhMDZkNGU5MDJhM2I4MykuKioKKworQ28tYXV0aG9yZWQtYnk6IFNhbSBCdWxsIDxnaXRA c2FtYnVsbC5vcmc+CisKK1Jldmlld2VkLUJ5OiBEYW5pZWwgTGVpZGVydCA8ZGxlaWRlcnRAZGVi aWFuLm9yZz4KK09yaWdpbjogaHR0cHM6Ly9naXRodWIuY29tL2Fpby1saWJzL2Fpb2h0dHAvY29t bWl0LzE0YjZlZTg1MWZiMTZlYzE5OWFjYjk1MGRlMGM4MmQ0NzY3OTllN2QKK0J1ZzogaHR0cHM6 Ly9naXRodWIuY29tL2Fpby1saWJzL2Fpb2h0dHAvc2VjdXJpdHkvYWR2aXNvcmllcy9HSFNBLXhj Z20tcjVoOS03OTg5CitCdWctRGViaWFuLVNlY3VyaXR5OiBodHRwczovL3NlY3VyaXR5LXRyYWNr ZXIuZGViaWFuLm9yZy90cmFja2VyL0NWRS0yMDI2LTU0Mjc0CitCdWctRnJlZXhpYW4tU2VjdXJp dHk6IGh0dHBzOi8vZGViLmZyZWV4aWFuLmNvbS9leHRlbmRlZC1sdHMvdHJhY2tlci9DVkUtMjAy Ni01NDI3NAorLS0tCisgYWlvaHR0cC9fd2Vic29ja2V0L3JlYWRlcl9jLnB5ICB8IDQyICsrKysr KysrKysrKysrKysrLS0tLS0tLS0KKyBhaW9odHRwL193ZWJzb2NrZXQvcmVhZGVyX3B5LnB5IHwg NDIgKysrKysrKysrKysrKysrKystLS0tLS0tLQorIHRlc3RzL3Rlc3Rfd2Vic29ja2V0X3BhcnNl ci5weSAgfCA2OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIDMg ZmlsZXMgY2hhbmdlZCwgMTI2IGluc2VydGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQorCitkaWZm IC0tZ2l0IGEvYWlvaHR0cC9fd2Vic29ja2V0L3JlYWRlcl9jLnB5IGIvYWlvaHR0cC9fd2Vic29j a2V0L3JlYWRlcl9jLnB5CitpbmRleCA5MmFkNDdhLi43ZTBjMjdiIDEwMDY0NAorLS0tIGEvYWlv aHR0cC9fd2Vic29ja2V0L3JlYWRlcl9jLnB5CisrKysgYi9haW9odHRwL193ZWJzb2NrZXQvcmVh ZGVyX2MucHkKK0BAIC0xOTEsMTIgKzE5MSw2IEBAIGNsYXNzIFdlYlNvY2tldFJlYWRlcjoKKyAg ICAgICAgICAgICAgICAgICAgIGlmIG5vdCBpc19jb250aW51YXRpb246CisgICAgICAgICAgICAg ICAgICAgICAgICAgc2VsZi5fb3Bjb2RlID0gb3Bjb2RlCisgICAgICAgICAgICAgICAgICAgICBz ZWxmLl9wYXJ0aWFsICs9IHBheWxvYWQKKy0gICAgICAgICAgICAgICAgICAgIGlmIHNlbGYuX21h eF9tc2dfc2l6ZSBhbmQgbGVuKHNlbGYuX3BhcnRpYWwpID49IHNlbGYuX21heF9tc2dfc2l6ZToK Ky0gICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBXZWJTb2NrZXRFcnJvcigKKy0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgV1NDbG9zZUNvZGUuTUVTU0FHRV9UT09fQklHLAorLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICBmIk1lc3NhZ2Ugc2l6ZSB7bGVuKHNlbGYuX3BhcnRpYWwp fSAiCistICAgICAgICAgICAgICAgICAgICAgICAgICAgIGYiZXhjZWVkcyBsaW1pdCB7c2VsZi5f bWF4X21zZ19zaXplfSIsCistICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAg ICAgICAgICAgY29udGludWUKKyAKKyAgICAgICAgICAgICAgICAgaGFzX3BhcnRpYWwgPSBib29s KHNlbGYuX3BhcnRpYWwpCitAQCAtMjI0LDEzICsyMTgsNiBAQCBjbGFzcyBXZWJTb2NrZXRSZWFk ZXI6CisgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICBhc3NlbWJs ZWRfcGF5bG9hZCA9IHBheWxvYWQKKyAKKy0gICAgICAgICAgICAgICAgaWYgc2VsZi5fbWF4X21z Z19zaXplIGFuZCBsZW4oYXNzZW1ibGVkX3BheWxvYWQpID49IHNlbGYuX21heF9tc2dfc2l6ZToK Ky0gICAgICAgICAgICAgICAgICAgIHJhaXNlIFdlYlNvY2tldEVycm9yKAorLSAgICAgICAgICAg ICAgICAgICAgICAgIFdTQ2xvc2VDb2RlLk1FU1NBR0VfVE9PX0JJRywKKy0gICAgICAgICAgICAg ICAgICAgICAgICBmIk1lc3NhZ2Ugc2l6ZSB7bGVuKGFzc2VtYmxlZF9wYXlsb2FkKX0gIgorLSAg ICAgICAgICAgICAgICAgICAgICAgIGYiZXhjZWVkcyBsaW1pdCB7c2VsZi5fbWF4X21zZ19zaXpl fSIsCistICAgICAgICAgICAgICAgICAgICApCistCisgICAgICAgICAgICAgICAgICMgRGVjb21w cmVzcyBwcm9jZXNzIG11c3QgdG8gYmUgZG9uZSBhZnRlciBhbGwgcGFja2V0cworICAgICAgICAg ICAgICAgICAjIHJlY2VpdmVkLgorICAgICAgICAgICAgICAgICBpZiBjb21wcmVzc2VkOgorQEAg LTM1OCw2ICszNDUsMTkgQEAgY2xhc3MgV2ViU29ja2V0UmVhZGVyOgorICAgICAgICAgICAgICAg ICAgICAgICAgICJSZWNlaXZlZCBmcmFtZSB3aXRoIG5vbi16ZXJvIHJlc2VydmVkIGJpdHMiLAor ICAgICAgICAgICAgICAgICAgICAgKQorIAorKyAgICAgICAgICAgICAgICBpZiBvcGNvZGUgbm90 IGluIHsKKysgICAgICAgICAgICAgICAgICAgIE9QX0NPREVfQ09OVElOVUFUSU9OLAorKyAgICAg ICAgICAgICAgICAgICAgT1BfQ09ERV9URVhULAorKyAgICAgICAgICAgICAgICAgICAgT1BfQ09E RV9CSU5BUlksCisrICAgICAgICAgICAgICAgICAgICBPUF9DT0RFX0NMT1NFLAorKyAgICAgICAg ICAgICAgICAgICAgT1BfQ09ERV9QSU5HLAorKyAgICAgICAgICAgICAgICAgICAgT1BfQ09ERV9Q T05HLAorKyAgICAgICAgICAgICAgICB9OgorKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgV2Vi U29ja2V0RXJyb3IoCisrICAgICAgICAgICAgICAgICAgICAgICAgV1NDbG9zZUNvZGUuUFJPVE9D T0xfRVJST1IsCisrICAgICAgICAgICAgICAgICAgICAgICAgZiJVbmV4cGVjdGVkIG9wY29kZT17 b3Bjb2RlIXJ9IiwKKysgICAgICAgICAgICAgICAgICAgICkKKysKKyAgICAgICAgICAgICAgICAg aWYgb3Bjb2RlID4gMHg3IGFuZCBmaW4gPT0gMDoKKyAgICAgICAgICAgICAgICAgICAgIHJhaXNl IFdlYlNvY2tldEVycm9yKAorICAgICAgICAgICAgICAgICAgICAgICAgIFdTQ2xvc2VDb2RlLlBS T1RPQ09MX0VSUk9SLAorQEAgLTQxMSw2ICs0MTEsMjIgQEAgY2xhc3MgV2ViU29ja2V0UmVhZGVy OgorICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgc2VsZi5fcGF5 bG9hZF9sZW5ndGggPSBsZW5ndGhfZmxhZworIAorKyAgICAgICAgICAgICAgICAjIFJlamVjdCBv dmVyc2l6ZWQgZGF0YSBmcmFtZXMgYmVmb3JlIGJ1ZmZlcmluZyBhbnkgcGF5bG9hZAorKyAgICAg ICAgICAgICAgICAjIGJ5dGVzLiBDb250cm9sIGZyYW1lcyBhcmUgY2FwcGVkIGF0IDEyNSBieXRl cyAoY2hlY2tlZCBpbgorKyAgICAgICAgICAgICAgICAjIFJFQURfSEVBREVSKSBzbyBvbmx5IHRl eHQvYmluYXJ5L2NvbnRpbnVhdGlvbiBuZWVkIHRoaXMuCisrICAgICAgICAgICAgICAgIGlmIHNl bGYuX21heF9tc2dfc2l6ZSBhbmQgc2VsZi5fZnJhbWVfb3Bjb2RlIGluIHsKKysgICAgICAgICAg ICAgICAgICAgIE9QX0NPREVfVEVYVCwKKysgICAgICAgICAgICAgICAgICAgIE9QX0NPREVfQklO QVJZLAorKyAgICAgICAgICAgICAgICAgICAgT1BfQ09ERV9DT05USU5VQVRJT04sCisrICAgICAg ICAgICAgICAgIH06CisrICAgICAgICAgICAgICAgICAgICBwcm9qZWN0ZWRfc2l6ZSA9IHNlbGYu X3BheWxvYWRfbGVuZ3RoICsgbGVuKHNlbGYuX3BhcnRpYWwpCisrICAgICAgICAgICAgICAgICAg ICBpZiBwcm9qZWN0ZWRfc2l6ZSA+PSBzZWxmLl9tYXhfbXNnX3NpemU6CisrICAgICAgICAgICAg ICAgICAgICAgICAgcmFpc2UgV2ViU29ja2V0RXJyb3IoCisrICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFdTQ2xvc2VDb2RlLk1FU1NBR0VfVE9PX0JJRywKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZiJNZXNzYWdlIHNpemUge3Byb2plY3RlZF9zaXplfSAiCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGYiZXhjZWVkcyBsaW1pdCB7c2VsZi5fbWF4X21zZ19zaXplfSIsCisr ICAgICAgICAgICAgICAgICAgICAgICAgKQorKworICAgICAgICAgICAgICAgICBzZWxmLl9zdGF0 ZSA9IFJFQURfUEFZTE9BRF9NQVNLIGlmIHNlbGYuX2hhc19tYXNrIGVsc2UgUkVBRF9QQVlMT0FE CisgCisgICAgICAgICAgICAgIyByZWFkIHBheWxvYWQgbWFzaworZGlmZiAtLWdpdCBhL2Fpb2h0 dHAvX3dlYnNvY2tldC9yZWFkZXJfcHkucHkgYi9haW9odHRwL193ZWJzb2NrZXQvcmVhZGVyX3B5 LnB5CitpbmRleCA5MmFkNDdhLi43ZTBjMjdiIDEwMDY0NAorLS0tIGEvYWlvaHR0cC9fd2Vic29j a2V0L3JlYWRlcl9weS5weQorKysrIGIvYWlvaHR0cC9fd2Vic29ja2V0L3JlYWRlcl9weS5weQor QEAgLTE5MSwxMiArMTkxLDYgQEAgY2xhc3MgV2ViU29ja2V0UmVhZGVyOgorICAgICAgICAgICAg ICAgICAgICAgaWYgbm90IGlzX2NvbnRpbnVhdGlvbjoKKyAgICAgICAgICAgICAgICAgICAgICAg ICBzZWxmLl9vcGNvZGUgPSBvcGNvZGUKKyAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3BhcnRp YWwgKz0gcGF5bG9hZAorLSAgICAgICAgICAgICAgICAgICAgaWYgc2VsZi5fbWF4X21zZ19zaXpl IGFuZCBsZW4oc2VsZi5fcGFydGlhbCkgPj0gc2VsZi5fbWF4X21zZ19zaXplOgorLSAgICAgICAg ICAgICAgICAgICAgICAgIHJhaXNlIFdlYlNvY2tldEVycm9yKAorLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICBXU0Nsb3NlQ29kZS5NRVNTQUdFX1RPT19CSUcsCistICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGYiTWVzc2FnZSBzaXplIHtsZW4oc2VsZi5fcGFydGlhbCl9ICIKKy0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgZiJleGNlZWRzIGxpbWl0IHtzZWxmLl9tYXhfbXNnX3Np emV9IiwKKy0gICAgICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgICAgICBj b250aW51ZQorIAorICAgICAgICAgICAgICAgICBoYXNfcGFydGlhbCA9IGJvb2woc2VsZi5fcGFy dGlhbCkKK0BAIC0yMjQsMTMgKzIxOCw2IEBAIGNsYXNzIFdlYlNvY2tldFJlYWRlcjoKKyAgICAg ICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgIGFzc2VtYmxlZF9wYXlsb2Fk ID0gcGF5bG9hZAorIAorLSAgICAgICAgICAgICAgICBpZiBzZWxmLl9tYXhfbXNnX3NpemUgYW5k IGxlbihhc3NlbWJsZWRfcGF5bG9hZCkgPj0gc2VsZi5fbWF4X21zZ19zaXplOgorLSAgICAgICAg ICAgICAgICAgICAgcmFpc2UgV2ViU29ja2V0RXJyb3IoCistICAgICAgICAgICAgICAgICAgICAg ICAgV1NDbG9zZUNvZGUuTUVTU0FHRV9UT09fQklHLAorLSAgICAgICAgICAgICAgICAgICAgICAg IGYiTWVzc2FnZSBzaXplIHtsZW4oYXNzZW1ibGVkX3BheWxvYWQpfSAiCistICAgICAgICAgICAg ICAgICAgICAgICAgZiJleGNlZWRzIGxpbWl0IHtzZWxmLl9tYXhfbXNnX3NpemV9IiwKKy0gICAg ICAgICAgICAgICAgICAgICkKKy0KKyAgICAgICAgICAgICAgICAgIyBEZWNvbXByZXNzIHByb2Nl c3MgbXVzdCB0byBiZSBkb25lIGFmdGVyIGFsbCBwYWNrZXRzCisgICAgICAgICAgICAgICAgICMg cmVjZWl2ZWQuCisgICAgICAgICAgICAgICAgIGlmIGNvbXByZXNzZWQ6CitAQCAtMzU4LDYgKzM0 NSwxOSBAQCBjbGFzcyBXZWJTb2NrZXRSZWFkZXI6CisgICAgICAgICAgICAgICAgICAgICAgICAg IlJlY2VpdmVkIGZyYW1lIHdpdGggbm9uLXplcm8gcmVzZXJ2ZWQgYml0cyIsCisgICAgICAgICAg ICAgICAgICAgICApCisgCisrICAgICAgICAgICAgICAgIGlmIG9wY29kZSBub3QgaW4geworKyAg ICAgICAgICAgICAgICAgICAgT1BfQ09ERV9DT05USU5VQVRJT04sCisrICAgICAgICAgICAgICAg ICAgICBPUF9DT0RFX1RFWFQsCisrICAgICAgICAgICAgICAgICAgICBPUF9DT0RFX0JJTkFSWSwK KysgICAgICAgICAgICAgICAgICAgIE9QX0NPREVfQ0xPU0UsCisrICAgICAgICAgICAgICAgICAg ICBPUF9DT0RFX1BJTkcsCisrICAgICAgICAgICAgICAgICAgICBPUF9DT0RFX1BPTkcsCisrICAg ICAgICAgICAgICAgIH06CisrICAgICAgICAgICAgICAgICAgICByYWlzZSBXZWJTb2NrZXRFcnJv cigKKysgICAgICAgICAgICAgICAgICAgICAgICBXU0Nsb3NlQ29kZS5QUk9UT0NPTF9FUlJPUiwK KysgICAgICAgICAgICAgICAgICAgICAgICBmIlVuZXhwZWN0ZWQgb3Bjb2RlPXtvcGNvZGUhcn0i LAorKyAgICAgICAgICAgICAgICAgICAgKQorKworICAgICAgICAgICAgICAgICBpZiBvcGNvZGUg PiAweDcgYW5kIGZpbiA9PSAwOgorICAgICAgICAgICAgICAgICAgICAgcmFpc2UgV2ViU29ja2V0 RXJyb3IoCisgICAgICAgICAgICAgICAgICAgICAgICAgV1NDbG9zZUNvZGUuUFJPVE9DT0xfRVJS T1IsCitAQCAtNDExLDYgKzQxMSwyMiBAQCBjbGFzcyBXZWJTb2NrZXRSZWFkZXI6CisgICAgICAg ICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICBzZWxmLl9wYXlsb2FkX2xlbmd0 aCA9IGxlbmd0aF9mbGFnCisgCisrICAgICAgICAgICAgICAgICMgUmVqZWN0IG92ZXJzaXplZCBk YXRhIGZyYW1lcyBiZWZvcmUgYnVmZmVyaW5nIGFueSBwYXlsb2FkCisrICAgICAgICAgICAgICAg ICMgYnl0ZXMuIENvbnRyb2wgZnJhbWVzIGFyZSBjYXBwZWQgYXQgMTI1IGJ5dGVzIChjaGVja2Vk IGluCisrICAgICAgICAgICAgICAgICMgUkVBRF9IRUFERVIpIHNvIG9ubHkgdGV4dC9iaW5hcnkv Y29udGludWF0aW9uIG5lZWQgdGhpcy4KKysgICAgICAgICAgICAgICAgaWYgc2VsZi5fbWF4X21z Z19zaXplIGFuZCBzZWxmLl9mcmFtZV9vcGNvZGUgaW4geworKyAgICAgICAgICAgICAgICAgICAg T1BfQ09ERV9URVhULAorKyAgICAgICAgICAgICAgICAgICAgT1BfQ09ERV9CSU5BUlksCisrICAg ICAgICAgICAgICAgICAgICBPUF9DT0RFX0NPTlRJTlVBVElPTiwKKysgICAgICAgICAgICAgICAg fToKKysgICAgICAgICAgICAgICAgICAgIHByb2plY3RlZF9zaXplID0gc2VsZi5fcGF5bG9hZF9s ZW5ndGggKyBsZW4oc2VsZi5fcGFydGlhbCkKKysgICAgICAgICAgICAgICAgICAgIGlmIHByb2pl Y3RlZF9zaXplID49IHNlbGYuX21heF9tc2dfc2l6ZToKKysgICAgICAgICAgICAgICAgICAgICAg ICByYWlzZSBXZWJTb2NrZXRFcnJvcigKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgV1ND bG9zZUNvZGUuTUVTU0FHRV9UT09fQklHLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBm Ik1lc3NhZ2Ugc2l6ZSB7cHJvamVjdGVkX3NpemV9ICIKKysgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZiJleGNlZWRzIGxpbWl0IHtzZWxmLl9tYXhfbXNnX3NpemV9IiwKKysgICAgICAgICAg ICAgICAgICAgICAgICApCisrCisgICAgICAgICAgICAgICAgIHNlbGYuX3N0YXRlID0gUkVBRF9Q QVlMT0FEX01BU0sgaWYgc2VsZi5faGFzX21hc2sgZWxzZSBSRUFEX1BBWUxPQUQKKyAKKyAgICAg ICAgICAgICAjIHJlYWQgcGF5bG9hZCBtYXNrCitkaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdF93ZWJz b2NrZXRfcGFyc2VyLnB5IGIvdGVzdHMvdGVzdF93ZWJzb2NrZXRfcGFyc2VyLnB5CitpbmRleCA3 ZjhiOThkLi5lYjMzNDYxIDEwMDY0NAorLS0tIGEvdGVzdHMvdGVzdF93ZWJzb2NrZXRfcGFyc2Vy LnB5CisrKysgYi90ZXN0cy90ZXN0X3dlYnNvY2tldF9wYXJzZXIucHkKK0BAIC01ODAsNiArNTgw LDc0IEBAIGRlZiB0ZXN0X2NvbXByZXNzZWRfbXNnX3Rvb19sYXJnZShvdXQpIC0+IE5vbmU6Cisg ICAgIGFzc2VydCBjdHgudmFsdWUuY29kZSA9PSBXU0Nsb3NlQ29kZS5NRVNTQUdFX1RPT19CSUcK KyAKKyAKKytAcHl0ZXN0Lm1hcmsucGFyYW1ldHJpemUoImZpbiIsICgweDgwLCAweDAwKSwgaWRz PSgiZmluIiwgIm5vbi1maW4iKSkKKytkZWYgdGVzdF9tc2dfdG9vX2xhcmdlX2F0X2hlYWRlcihv dXQ6IFdlYlNvY2tldERhdGFRdWV1ZSwgZmluOiBpbnQpIC0+IE5vbmU6CisrICAgIG1heF9tc2df c2l6ZSA9IDI1NgorKyAgICBwYXJzZXIgPSBXZWJTb2NrZXRSZWFkZXIob3V0LCBtYXhfbXNnX3Np emUsIGNvbXByZXNzPUZhbHNlKQorKworKyAgICAjIEhlYWRlciBhbG9uZTogVEVYVCwgNjQtYml0 IGxlbmd0aCwgZGVjbGFyZXMgMSBNaUIgb2YgcGF5bG9hZC4KKysgICAgaGVhZGVyID0gUEFDS19M RU4zKGZpbiB8IFdTTXNnVHlwZS5URVhULCAxMjcsIDEwMjQgKiAxMDI0KQorKyAgICB3aXRoIHB5 dGVzdC5yYWlzZXMoCisrICAgICAgICBXZWJTb2NrZXRFcnJvciwgbWF0Y2g9ciJeTWVzc2FnZSBz aXplIDEwNDg1NzYgZXhjZWVkcyBsaW1pdCAyNTYkIgorKyAgICApIGFzIGN0eDoKKysgICAgICAg IHBhcnNlci5fZmVlZF9kYXRhKGhlYWRlcikKKysgICAgYXNzZXJ0IGN0eC52YWx1ZS5jb2RlID09 IFdTQ2xvc2VDb2RlLk1FU1NBR0VfVE9PX0JJRworKworKworK2RlZiB0ZXN0X21zZ190b29fbGFy Z2VfYWNyb3NzX2ZyYWdtZW50cyhvdXQ6IFdlYlNvY2tldERhdGFRdWV1ZSkgLT4gTm9uZToKKysg ICAgIyBJbmRpdmlkdWFsIGZyYWdtZW50cyBmaXQgdW5kZXIgbWF4X21zZ19zaXplIGJ1dCBhY2N1 bXVsYXRlIHBhc3QgaXQuCisrICAgIG1heF9tc2dfc2l6ZSA9IDI1NgorKyAgICBwYXJzZXIgPSBX ZWJTb2NrZXRSZWFkZXIob3V0LCBtYXhfbXNnX3NpemUsIGNvbXByZXNzPUZhbHNlKQorKworKyAg ICBmaXJzdCA9IGJ1aWxkX2ZyYW1lKGIiYSIgKiAxMDAsIFdTTXNnVHlwZS5URVhULCBpc19maW49 RmFsc2UpCisrICAgIHBhcnNlci5fZmVlZF9kYXRhKGZpcnN0KQorKyAgICBtaWRkbGUgPSBidWls ZF9mcmFtZShiImIiICogMTAwLCBXU01zZ1R5cGUuQ09OVElOVUFUSU9OLCBpc19maW49RmFsc2Up CisrICAgIHBhcnNlci5fZmVlZF9kYXRhKG1pZGRsZSkKKysKKysgICAgIyBUaGlyZCAxMDAtYnl0 ZSBmcmFnbWVudCB3b3VsZCBwdXNoIHRoZSBhY2N1bXVsYXRlZCB0b3RhbCB0byAzMDAuCisrICAg IGxhc3QgPSBidWlsZF9mcmFtZShiImMiICogMTAwLCBXU01zZ1R5cGUuQ09OVElOVUFUSU9OLCBp c19maW49RmFsc2UpCisrICAgIHdpdGggcHl0ZXN0LnJhaXNlcygKKysgICAgICAgIFdlYlNvY2tl dEVycm9yLCBtYXRjaD1yIl5NZXNzYWdlIHNpemUgMzAwIGV4Y2VlZHMgbGltaXQgMjU2JCIKKysg ICAgKSBhcyBjdHg6CisrICAgICAgICBwYXJzZXIuX2ZlZWRfZGF0YShsYXN0KQorKyAgICBhc3Nl cnQgY3R4LnZhbHVlLmNvZGUgPT0gV1NDbG9zZUNvZGUuTUVTU0FHRV9UT09fQklHCisrCisrCisr ZGVmIHRlc3RfbXNnX3Rvb19sYXJnZV90ZXh0X2FmdGVyX25vbl9maW5fdGV4dChvdXQ6IFdlYlNv Y2tldERhdGFRdWV1ZSkgLT4gTm9uZToKKysgICAgIyBQcm90b2NvbC12aW9sYXRpbmcgc2VxdWVu Y2U6IGEgZnJlc2ggVEVYVCBhcnJpdmVzIHdoaWxlIGEgZnJhZ21lbnRlZAorKyAgICAjIG1lc3Nh Z2UgaXMgc3RpbGwgb3Blbi4KKysgICAgbWF4X21zZ19zaXplID0gMjU2CisrICAgIHBhcnNlciA9 IFdlYlNvY2tldFJlYWRlcihvdXQsIG1heF9tc2dfc2l6ZSwgY29tcHJlc3M9RmFsc2UpCisrCisr ICAgIGZpcnN0ID0gYnVpbGRfZnJhbWUoYiJhIiAqIDIwMCwgV1NNc2dUeXBlLlRFWFQsIGlzX2Zp bj1GYWxzZSkKKysgICAgcGFyc2VyLl9mZWVkX2RhdGEoZmlyc3QpCisrCisrICAgICMgU2Vjb25k IFRFWFQgaGVhZGVyIGFsb25lIGFubm91bmNlcyAxMDAgYnl0ZXM7IDEwMCArIDIwMCBwYXJ0aWFs ID0gMzAwLgorKyAgICBzZWNvbmRfaGVhZGVyID0gUEFDS19MRU4xKFdTTXNnVHlwZS5URVhULCAx MDApCisrICAgIHdpdGggcHl0ZXN0LnJhaXNlcygKKysgICAgICAgIFdlYlNvY2tldEVycm9yLCBt YXRjaD1yIl5NZXNzYWdlIHNpemUgMzAwIGV4Y2VlZHMgbGltaXQgMjU2JCIKKysgICAgKSBhcyBj dHg6CisrICAgICAgICBwYXJzZXIuX2ZlZWRfZGF0YShzZWNvbmRfaGVhZGVyKQorKyAgICBhc3Nl cnQgY3R4LnZhbHVlLmNvZGUgPT0gV1NDbG9zZUNvZGUuTUVTU0FHRV9UT09fQklHCisrCisrCisr QHB5dGVzdC5tYXJrLnBhcmFtZXRyaXplKAorKyAgICAib3Bjb2RlIiwKKysgICAgKDB4MywgMHg0 LCAweDUsIDB4NiwgMHg3LCAweEIsIDB4QywgMHhELCAweEUsIDB4RiksCisrICAgIGlkcz1sYW1i ZGEgdjogZiIweHt2Onh9IiwKKyspCisrZGVmIHRlc3RfcmVzZXJ2ZWRfb3Bjb2RlX3JlamVjdGVk X2F0X2hlYWRlcigKKysgICAgb3V0OiBXZWJTb2NrZXREYXRhUXVldWUsIG9wY29kZTogaW50Cisr KSAtPiBOb25lOgorKyAgICAjIFJGQyA2NDU1IHJlc2VydmVzIG9wY29kZXMgMHgzLTB4NyAobm9u LWNvbnRyb2wpIGFuZCAweEItMHhGIChjb250cm9sKS4KKysgICAgcGFyc2VyID0gV2ViU29ja2V0 UmVhZGVyKG91dCwgbWF4X21zZ19zaXplPTI1NiwgY29tcHJlc3M9RmFsc2UpCisrCisrICAgIGhl YWRlciA9IFBBQ0tfTEVOMygweDgwIHwgb3Bjb2RlLCAxMjcsIDEwMjQgKiAxMDI0KQorKyAgICB3 aXRoIHB5dGVzdC5yYWlzZXMoV2ViU29ja2V0RXJyb3IsIG1hdGNoPXJmIl5VbmV4cGVjdGVkIG9w Y29kZT17b3Bjb2RlfSQiKSBhcyBjdHg6CisrICAgICAgICBwYXJzZXIuX2ZlZWRfZGF0YShoZWFk ZXIpCisrICAgIGFzc2VydCBjdHgudmFsdWUuY29kZSA9PSBXU0Nsb3NlQ29kZS5QUk9UT0NPTF9F UlJPUgorKworKworIGNsYXNzIFRlc3RXZWJTb2NrZXRFcnJvcjoKKyAgICAgZGVmIHRlc3RfY3Rv cihzZWxmKSAtPiBOb25lOgorICAgICAgICAgZXJyID0gV2ViU29ja2V0RXJyb3IoV1NDbG9zZUNv ZGUuUFJPVE9DT0xfRVJST1IsICJTb21ldGhpbmcgaW52YWxpZCIpCmRpZmYgLU5ydSBweXRob24t YWlvaHR0cC0zLjExLjE2L2RlYmlhbi9wYXRjaGVzL0NWRS0yMDI2LTU0Mjc1LnBhdGNoIHB5dGhv bi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3BhdGNoZXMvQ1ZFLTIwMjYtNTQyNzUucGF0Y2gKLS0t IHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3BhdGNoZXMvQ1ZFLTIwMjYtNTQyNzUucGF0 Y2gJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrIHB5dGhvbi1haW9odHRw LTMuMTEuMTYvZGViaWFuL3BhdGNoZXMvQ1ZFLTIwMjYtNTQyNzUucGF0Y2gJMjAyNi0wNy0zMSAw Mzo1MDozMi4wMDAwMDAwMDAgKzAyMDAKQEAgLTAsMCArMSwxMjYgQEAKK0Zyb206ICJKLiBOaWNr IEtvc3RvbiIgPG5pY2tAa29zdG9uLm9yZz4KK0RhdGU6IFN1biwgNyBKdW4gMjAyNiAwMDozMDoz MCAtMDUwMAorU3ViamVjdDogW1BBVENIXSBbUFIgIzEyODM1LzFlOTRiM2U4IGJhY2twb3J0XVsz LjE0XSBUbHMgc2VydmVyIGhvc3RuYW1lIHBvb2wKKyBrZXkgKCMxMjg0NykKKworUmV2aWV3ZWQt Qnk6IERhbmllbCBMZWlkZXJ0IDxkbGVpZGVydEBkZWJpYW4ub3JnPgorT3JpZ2luOiBodHRwczov L2dpdGh1Yi5jb20vYWlvLWxpYnMvYWlvaHR0cC9jb21taXQvMGNhMmI2YzI4YTI1NzI2NTI3YThi NjBmMjU5NjAyNjJhOTFlZDBlMAorT3JpZ2luOiBodHRwczovL2dpdGh1Yi5jb20vYWlvLWxpYnMv YWlvaHR0cC9jb21taXQvMGMxNjEwMjViNWYwZjE1ZjEzZTY2Y2MxY2JhOTA2ZTI0MjhjYzI3NiAo cGFydGlhbGx5KQorQnVnOiBodHRwczovL2dpdGh1Yi5jb20vYWlvLWxpYnMvYWlvaHR0cC9zZWN1 cml0eS9hZHZpc29yaWVzL0dIU0EtNG03dy1xbWdxLTR3ajUKK0J1Zy1EZWJpYW4tU2VjdXJpdHk6 IGh0dHBzOi8vc2VjdXJpdHktdHJhY2tlci5kZWJpYW4ub3JnL3RyYWNrZXIvQ1ZFLTIwMjYtNTQy NzUKK0J1Zy1GcmVleGlhbi1TZWN1cml0eTogaHR0cHM6Ly9kZWIuZnJlZXhpYW4uY29tL2V4dGVu ZGVkLWx0cy90cmFja2VyL0NWRS0yMDI2LTU0Mjc1CistLS0KKyBhaW9odHRwL2NsaWVudF9yZXFy ZXAucHkgICAgICAgIHwgIDIgKysKKyB0ZXN0cy90ZXN0X2NsaWVudF9mdW5jdGlvbmFsLnB5IHwg MzEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIHRlc3RzL3Rlc3RfY2xpZW50X3Jl cXVlc3QucHkgICAgfCAyMiArKysrKysrKysrKysrKysrKysrKystCisgMyBmaWxlcyBjaGFuZ2Vk LCA1NCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9haW9odHRw L2NsaWVudF9yZXFyZXAucHkgYi9haW9odHRwL2NsaWVudF9yZXFyZXAucHkKK2luZGV4IDQzYjQ4 MDYuLmVhOWMzY2QgMTAwNjQ0CistLS0gYS9haW9odHRwL2NsaWVudF9yZXFyZXAucHkKKysrKyBi L2Fpb2h0dHAvY2xpZW50X3JlcXJlcC5weQorQEAgLTI0Miw2ICsyNDIsNyBAQCBjbGFzcyBDb25u ZWN0aW9uS2V5KE5hbWVkVHVwbGUpOgorICAgICBwcm94eTogT3B0aW9uYWxbVVJMXQorICAgICBw cm94eV9hdXRoOiBPcHRpb25hbFtCYXNpY0F1dGhdCisgICAgIHByb3h5X2hlYWRlcnNfaGFzaDog T3B0aW9uYWxbaW50XSAgIyBoYXNoKENJTXVsdGlEaWN0KQorKyAgICBzZXJ2ZXJfaG9zdG5hbWU6 IHN0ciB8IE5vbmUgPSBOb25lCisgCisgCisgZGVmIF9pc19leHBlY3RlZF9jb250ZW50X3R5cGUo CitAQCAtNDAzLDYgKzQwNCw3IEBAIGNsYXNzIENsaWVudFJlcXVlc3Q6CisgICAgICAgICAgICAg ICAgIHNlbGYucHJveHksCisgICAgICAgICAgICAgICAgIHNlbGYucHJveHlfYXV0aCwKKyAgICAg ICAgICAgICAgICAgaCwKKysgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJfaG9zdG5hbWUsCisg ICAgICAgICAgICAgKSwKKyAgICAgICAgICkKKyAKK2RpZmYgLS1naXQgYS90ZXN0cy90ZXN0X2Ns aWVudF9mdW5jdGlvbmFsLnB5IGIvdGVzdHMvdGVzdF9jbGllbnRfZnVuY3Rpb25hbC5weQoraW5k ZXggMDNlYjJiZS4uOWI0MmY0YSAxMDA2NDQKKy0tLSBhL3Rlc3RzL3Rlc3RfY2xpZW50X2Z1bmN0 aW9uYWwucHkKKysrKyBiL3Rlc3RzL3Rlc3RfY2xpZW50X2Z1bmN0aW9uYWwucHkKK0BAIC0yNzUs NiArMjc1LDM3IEBAIGFzeW5jIGRlZiB0ZXN0X2tlZXBhbGl2ZV90aW1lb3V0X2FzeW5jX3NsZWVw KCkgLT4gTm9uZToKKyAgICAgICAgIGF3YWl0IGFzeW5jaW8uZ2F0aGVyKHJ1bm5lci5zaHV0ZG93 bigpLCBzaXRlLnN0b3AoKSkKKyAKKyAKKythc3luYyBkZWYgdGVzdF9zZXJ2ZXJfaG9zdG5hbWVf b3ZlcnJpZGVfbm90X3JldXNlZCgKKysgICAgYWlvaHR0cF9zZXJ2ZXI6IEFpb2h0dHBTZXJ2ZXIs CisrKSAtPiBOb25lOgorKyAgICAiIiJBIHBvb2xlZCBUTFMgY29ubmVjdGlvbiBtdXN0IG5vdCBi ZSByZXVzZWQgZm9yIGEgZGlmZmVyZW50IHNlcnZlcl9ob3N0bmFtZS4iIiIKKysgICAgdHJ1c3Rt ZSA9IHB5dGVzdC5pbXBvcnRvcnNraXAoInRydXN0bWUiKQorKworKyAgICBjYSA9IHRydXN0bWUu Q0EoKQorKyAgICBjZXJ0ID0gY2EuaXNzdWVfY2VydCgiZmlyc3QuZXhhbXBsZSIpCisrICAgIHNl cnZlcl9jdHggPSBzc2wuU1NMQ29udGV4dChzc2wuUFJPVE9DT0xfVExTX1NFUlZFUikKKysgICAg Y2VydC5jb25maWd1cmVfY2VydChzZXJ2ZXJfY3R4KQorKyAgICBjbGllbnRfY3R4ID0gc3NsLmNy ZWF0ZV9kZWZhdWx0X2NvbnRleHQocHVycG9zZT1zc2wuUHVycG9zZS5TRVJWRVJfQVVUSCkKKysg ICAgY2EuY29uZmlndXJlX3RydXN0KGNsaWVudF9jdHgpCisrCisrICAgIGFzeW5jIGRlZiBoYW5k bGVyKHJlcXVlc3Q6IHdlYi5SZXF1ZXN0KSAtPiB3ZWIuUmVzcG9uc2U6CisrICAgICAgICByZXR1 cm4gd2ViLlJlc3BvbnNlKHRleHQ9Im9rIikKKysKKysgICAgYXBwID0gd2ViLkFwcGxpY2F0aW9u KCkKKysgICAgYXBwLnJvdXRlci5hZGRfcm91dGUoIkdFVCIsICIvIiwgaGFuZGxlcikKKysgICAg c2VydmVyID0gYXdhaXQgYWlvaHR0cF9zZXJ2ZXIoYXBwLCBzc2w9c2VydmVyX2N0eCkKKysgICAg dXJsID0gc2VydmVyLm1ha2VfdXJsKCIvIikKKysKKysgICAgY29ubmVjdG9yID0gYWlvaHR0cC5U Q1BDb25uZWN0b3Ioc3NsPWNsaWVudF9jdHgsIGxpbWl0PTEsIGxpbWl0X3Blcl9ob3N0PTEpCisr ICAgIGFzeW5jIHdpdGggYWlvaHR0cC5DbGllbnRTZXNzaW9uKGNvbm5lY3Rvcj1jb25uZWN0b3Ip IGFzIHNlc3Npb246CisrICAgICAgICBhc3luYyB3aXRoIHNlc3Npb24uZ2V0KHVybCwgc2VydmVy X2hvc3RuYW1lPSJmaXJzdC5leGFtcGxlIikgYXMgcmVzcDoKKysgICAgICAgICAgICBhc3NlcnQg cmVzcC5zdGF0dXMgPT0gMjAwCisrICAgICAgICAgICAgYXdhaXQgcmVzcC5yZWFkKCkKKysKKysg ICAgICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhhaW9odHRwLkNsaWVudENvbm5lY3RvckNlcnRpZmlj YXRlRXJyb3IpOgorKyAgICAgICAgICAgIGF3YWl0IHNlc3Npb24uZ2V0KHVybCwgc2VydmVyX2hv c3RuYW1lPSJzZWNvbmQuZXhhbXBsZSIpCisrCisrCisgQHB5dGVzdC5tYXJrLnNraXBpZigKKyAg ICAgc3lzLnZlcnNpb25faW5mb1s6Ml0gPT0gKDMsIDExKSwKKyAgICAgcmVhc29uPSJodHRwczov L2dpdGh1Yi5jb20vcHl0ZXN0LWRldi9weXRlc3QvaXNzdWVzLzEwNzYzIiwKK2RpZmYgLS1naXQg YS90ZXN0cy90ZXN0X2NsaWVudF9yZXF1ZXN0LnB5IGIvdGVzdHMvdGVzdF9jbGllbnRfcmVxdWVz dC5weQoraW5kZXggZjg2ZmY1ZC4uNzQzYTJiZCAxMDA2NDQKKy0tLSBhL3Rlc3RzL3Rlc3RfY2xp ZW50X3JlcXVlc3QucHkKKysrKyBiL3Rlc3RzL3Rlc3RfY2xpZW50X3JlcXVlc3QucHkKK0BAIC02 LDcgKzYsNyBAQCBpbXBvcnQgc3lzCisgaW1wb3J0IHVybGxpYi5wYXJzZQorIGltcG9ydCB6bGli CisgZnJvbSBodHRwLmNvb2tpZXMgaW1wb3J0IEJhc2VDb29raWUsIE1vcnNlbCwgU2ltcGxlQ29v a2llCistZnJvbSB0eXBpbmcgaW1wb3J0IEFueSwgQ2FsbGFibGUsIERpY3QsIEl0ZXJhYmxlLCBP cHRpb25hbAorK2Zyb20gdHlwaW5nIGltcG9ydCBBbnksIENhbGxhYmxlLCBEaWN0LCBJdGVyYWJs ZSwgT3B0aW9uYWwsIFByb3RvY29sCisgZnJvbSB1bml0dGVzdCBpbXBvcnQgbW9jaworIAorIGlt cG9ydCBweXRlc3QKK0BAIC0yNyw2ICsyNywxMCBAQCBmcm9tIGFpb2h0dHAuaHR0cCBpbXBvcnQg SHR0cFZlcnNpb24xMCwgSHR0cFZlcnNpb24xMQorIGZyb20gYWlvaHR0cC50ZXN0X3V0aWxzIGlt cG9ydCBtYWtlX21vY2tlZF9jb3JvCisgCisgCisrY2xhc3MgX1JlcXVlc3RNYWtlcihQcm90b2Nv bCk6CisrICAgIGRlZiBfX2NhbGxfXyhzZWxmLCBtZXRob2Q6IHN0ciwgdXJsOiBzdHIsICoqa3dh cmdzOiBBbnkpIC0+IENsaWVudFJlcXVlc3Q6IC4uLgorKworKworIGNsYXNzIFdyaXRlck1vY2so bW9jay5Bc3luY01vY2spOgorICAgICBkZWYgX19hd2FpdF9fKHNlbGYpIC0+IE5vbmU6CisgICAg ICAgICByZXR1cm4gc2VsZigpLl9fYXdhaXRfXygpCitAQCAtMTQ3OSw2ICsxNDgzLDIyIEBAIGFz eW5jIGRlZiB0ZXN0X2Nvbm5lY3Rpb25fa2V5X3dpdGhvdXRfcHJveHkoKSAtPiBOb25lOgorICAg ICBhd2FpdCByZXEuY2xvc2UoKQorIAorIAorK2FzeW5jIGRlZiB0ZXN0X2Nvbm5lY3Rpb25fa2V5 X2luY2x1ZGVzX3NlcnZlcl9ob3N0bmFtZSgKKysgICAgbWFrZV9yZXF1ZXN0OiBfUmVxdWVzdE1h a2VyLAorKykgLT4gTm9uZToKKysgICAgIiIiQSBzZXJ2ZXJfaG9zdG5hbWUgb3ZlcnJpZGUgbXVz dCBiZSBwYXJ0IG9mIHRoZSBjb25uZWN0aW9uIHJldXNlIGtleS4iIiIKKysgICAgdXJsID0gVVJM KCJodHRwczovLzEyNy4wLjAuMTo4NDQzLyIpCisrICAgIG5vbmVfcmVxID0gbWFrZV9yZXF1ZXN0 KCJHRVQiLCB1cmwpCisrICAgIGZpcnN0ID0gbWFrZV9yZXF1ZXN0KCJHRVQiLCB1cmwsIHNlcnZl cl9ob3N0bmFtZT0iZmlyc3QuZXhhbXBsZSIpCisrICAgIGZpcnN0X2FnYWluID0gbWFrZV9yZXF1 ZXN0KCJHRVQiLCB1cmwsIHNlcnZlcl9ob3N0bmFtZT0iZmlyc3QuZXhhbXBsZSIpCisrICAgIHNl Y29uZCA9IG1ha2VfcmVxdWVzdCgiR0VUIiwgdXJsLCBzZXJ2ZXJfaG9zdG5hbWU9InNlY29uZC5l eGFtcGxlIikKKysKKysgICAgYXNzZXJ0IGZpcnN0LmNvbm5lY3Rpb25fa2V5LnNlcnZlcl9ob3N0 bmFtZSA9PSAiZmlyc3QuZXhhbXBsZSIKKysgICAgYXNzZXJ0IGZpcnN0LmNvbm5lY3Rpb25fa2V5 ICE9IG5vbmVfcmVxLmNvbm5lY3Rpb25fa2V5CisrICAgIGFzc2VydCBmaXJzdC5jb25uZWN0aW9u X2tleSAhPSBzZWNvbmQuY29ubmVjdGlvbl9rZXkKKysgICAgYXNzZXJ0IGZpcnN0LmNvbm5lY3Rp b25fa2V5ID09IGZpcnN0X2FnYWluLmNvbm5lY3Rpb25fa2V5CisrCisrCisgZGVmIHRlc3RfcmVx dWVzdF9pbmZvX2JhY2tfY29tcGF0KCkgLT4gTm9uZToKKyAgICAgIiIiVGVzdCBSZXF1ZXN0SW5m byBjYW4gYmUgY3JlYXRlZCB3aXRob3V0IHJlYWxfdXJsLiIiIgorICAgICB1cmwgPSBVUkwoImh0 dHA6Ly9leGFtcGxlLmNvbSIpCmRpZmYgLU5ydSBweXRob24tYWlvaHR0cC0zLjExLjE2L2RlYmlh bi9wYXRjaGVzL0NWRS0yMDI2LTU0Mjc3LnBhdGNoIHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGVi aWFuL3BhdGNoZXMvQ1ZFLTIwMjYtNTQyNzcucGF0Y2gKLS0tIHB5dGhvbi1haW9odHRwLTMuMTEu MTYvZGViaWFuL3BhdGNoZXMvQ1ZFLTIwMjYtNTQyNzcucGF0Y2gJMTk3MC0wMS0wMSAwMTowMDow MC4wMDAwMDAwMDAgKzAxMDAKKysrIHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3BhdGNo ZXMvQ1ZFLTIwMjYtNTQyNzcucGF0Y2gJMjAyNi0wNy0zMSAwMzo1MDozMi4wMDAwMDAwMDAgKzAy MDAKQEAgLTAsMCArMSw3NyBAQAorRnJvbTogIkouIE5pY2sgS29zdG9uIiA8bmlja0Brb3N0b24u b3JnPgorRGF0ZTogU3VuLCA3IEp1biAyMDI2IDAwOjMzOjAzIC0wNTAwCitTdWJqZWN0OiBFbmZv cmNlIG1heF9saW5lX3NpemUgb24gZnJhZ21lbnRlZCByZXF1ZXN0IHRhcmdldCBhbmQgcmVhc29u IGluIEMKKyBwYXJzZXIgKCMxMjgzNykKKworUmV2aWV3ZWQtQnk6IERhbmllbCBMZWlkZXJ0IDxk bGVpZGVydEBkZWJpYW4ub3JnPgorT3JpZ2luOiBodHRwczovL2dpdGh1Yi5jb20vYWlvLWxpYnMv YWlvaHR0cC9jb21taXQvNWFiNjFiYjRjZDg4ZjE5YjcxMmYxMmM3YzkyOTVmZTI2MmJmODA0ZAor QnVnOiBodHRwczovL2dpdGh1Yi5jb20vYWlvLWxpYnMvYWlvaHR0cC9zZWN1cml0eS9hZHZpc29y aWVzL0dIU0EtNjNody1mbXE2LXh4ZzIKK0J1Zy1EZWJpYW4tU2VjdXJpdHk6IGh0dHBzOi8vc2Vj dXJpdHktdHJhY2tlci5kZWJpYW4ub3JnL3RyYWNrZXIvQ1ZFLTIwMjYtNTQyNzcKK0J1Zy1GcmVl eGlhbi1TZWN1cml0eTogaHR0cHM6Ly9kZWIuZnJlZXhpYW4uY29tL2V4dGVuZGVkLWx0cy90cmFj a2VyL0NWRS0yMDI2LTU0Mjc3CistLS0KKyBhaW9odHRwL19odHRwX3BhcnNlci5weXggIHwgIDQg KystLQorIHRlc3RzL3Rlc3RfaHR0cF9wYXJzZXIucHkgfCAyMiArKysrKysrKysrKysrKysrKysr KysrCisgMiBmaWxlcyBjaGFuZ2VkLCAyNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQor CitkaWZmIC0tZ2l0IGEvYWlvaHR0cC9faHR0cF9wYXJzZXIucHl4IGIvYWlvaHR0cC9faHR0cF9w YXJzZXIucHl4CitpbmRleCA0MDFhMzg0Li44YmQyOGNhIDEwMDY0NAorLS0tIGEvYWlvaHR0cC9f aHR0cF9wYXJzZXIucHl4CisrKysgYi9haW9odHRwL19odHRwX3BhcnNlci5weXgKK0BAIC03MTAs NyArNzEwLDcgQEAgY2RlZiBpbnQgY2Jfb25fdXJsKGNwYXJzZXIubGxodHRwX3QqIHBhcnNlciwK KyAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqYXQsIHNpemVfdCBsZW5ndGgpIGV4Y2Vw dCAtMToKKyAgICAgY2RlZiBIdHRwUGFyc2VyIHB5cGFyc2VyID0gPEh0dHBQYXJzZXI+cGFyc2Vy LmRhdGEKKyAgICAgdHJ5OgorLSAgICAgICAgaWYgbGVuZ3RoID4gcHlwYXJzZXIuX21heF9saW5l X3NpemU6CisrICAgICAgICBpZiBsZW4ocHlwYXJzZXIuX2J1ZikgKyBsZW5ndGggPiBweXBhcnNl ci5fbWF4X2xpbmVfc2l6ZToKKyAgICAgICAgICAgICBzdGF0dXMgPSBweXBhcnNlci5fYnVmICsg YXRbOmxlbmd0aF0KKyAgICAgICAgICAgICByYWlzZSBMaW5lVG9vTG9uZyhzdGF0dXNbOjEwMF0g KyBiIi4uLiIsIHB5cGFyc2VyLl9tYXhfbGluZV9zaXplKQorICAgICAgICAgZXh0ZW5kKHB5cGFy c2VyLl9idWYsIGF0LCBsZW5ndGgpCitAQCAtNzI1LDcgKzcyNSw3IEBAIGNkZWYgaW50IGNiX29u X3N0YXR1cyhjcGFyc2VyLmxsaHR0cF90KiBwYXJzZXIsCisgICAgICAgICAgICAgICAgICAgICAg IGNvbnN0IGNoYXIgKmF0LCBzaXplX3QgbGVuZ3RoKSBleGNlcHQgLTE6CisgICAgIGNkZWYgSHR0 cFBhcnNlciBweXBhcnNlciA9IDxIdHRwUGFyc2VyPnBhcnNlci5kYXRhCisgICAgIHRyeToKKy0g ICAgICAgIGlmIGxlbmd0aCA+IHB5cGFyc2VyLl9tYXhfbGluZV9zaXplOgorKyAgICAgICAgaWYg bGVuKHB5cGFyc2VyLl9idWYpICsgbGVuZ3RoID4gcHlwYXJzZXIuX21heF9saW5lX3NpemU6Cisg ICAgICAgICAgICAgcmVhc29uID0gcHlwYXJzZXIuX2J1ZiArIGF0WzpsZW5ndGhdCisgICAgICAg ICAgICAgcmFpc2UgTGluZVRvb0xvbmcocmVhc29uWzoxMDBdICsgYiIuLi4iLCBweXBhcnNlci5f bWF4X2xpbmVfc2l6ZSkKKyAgICAgICAgIGV4dGVuZChweXBhcnNlci5fYnVmLCBhdCwgbGVuZ3Ro KQorZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3RfaHR0cF9wYXJzZXIucHkgYi90ZXN0cy90ZXN0X2h0 dHBfcGFyc2VyLnB5CitpbmRleCAyZDJiMWE1Li44OTk1YmRkIDEwMDY0NAorLS0tIGEvdGVzdHMv dGVzdF9odHRwX3BhcnNlci5weQorKysrIGIvdGVzdHMvdGVzdF9odHRwX3BhcnNlci5weQorQEAg LTEyMDMsNiArMTIwMywxNyBAQCBkZWYgdGVzdF9odHRwX3JlcXVlc3RfbWF4X3N0YXR1c19saW5l X3VuZGVyX2xpbWl0KHBhcnNlcjogSHR0cFJlcXVlc3RQYXJzZXIpIC0+CisgICAgIGFzc2VydCBt c2cudXJsID09IFVSTCgiL3BhdGgiICsgcGF0aC5kZWNvZGUoKSkKKyAKKyAKKytkZWYgdGVzdF9o dHRwX3JlcXVlc3RfbWF4X3N0YXR1c19saW5lX2ZyYWdtZW50ZWQoCisrICAgIHBhcnNlcjogSHR0 cFJlcXVlc3RQYXJzZXIsCisrKSAtPiBOb25lOgorKyAgICAjIFNwbGl0IGFuIG92ZXJsb25nIHJl cXVlc3QgdGFyZ2V0IGFjcm9zcyByZWFkcyBzbyB0aGF0IGVhY2ggY2FsbGJhY2sKKysgICAgIyBm cmFnbWVudCBpcyB1bmRlciB0aGUgbGltaXQgYnV0IHRoZSBhY2N1bXVsYXRlZCB0YXJnZXQgaXMg bm90LgorKyAgICBtYXRjaCA9ICI0MDAsIG1lc3NhZ2U6XG4gIEdvdCBtb3JlIHRoYW4gODE5MCBi eXRlcyB3aGVuIHJlYWRpbmciCisrICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhodHRwX2V4Y2VwdGlv bnMuTGluZVRvb0xvbmcsIG1hdGNoPW1hdGNoKToKKysgICAgICAgIHBhcnNlci5mZWVkX2RhdGEo YiJHRVQgLyIgKyBiImEiICogODAwMCkKKysgICAgICAgIHBhcnNlci5mZWVkX2RhdGEoYiJhIiAq IDgwMDAgKyBiIiBIVFRQLzEuMVxyXG5Ib3N0OiBhXHJcblxyXG4iKQorKworKworIGRlZiB0ZXN0 X2h0dHBfcmVzcG9uc2VfcGFyc2VyX3V0ZjgocmVzcG9uc2UpIC0+IE5vbmU6CisgICAgIHRleHQg PSAiSFRUUC8xLjEgMjAwIE9rXHJcbngtdGVzdDrRgtC10YHRglxyXG5cclxuIi5lbmNvZGUoKQor IAorQEAgLTEyODAsNiArMTI5MSwxNyBAQCBkZWYgdGVzdF9odHRwX3Jlc3BvbnNlX3BhcnNlcl9z dGF0dXNfbGluZV91bmRlcl9saW1pdCgKKyAgICAgYXNzZXJ0IG1zZy5yZWFzb24gPT0gcmVhc29u LmRlY29kZSgpCisgCisgCisrZGVmIHRlc3RfaHR0cF9yZXNwb25zZV9wYXJzZXJfc3RhdHVzX2xp bmVfdG9vX2xvbmdfZnJhZ21lbnRlZCgKKysgICAgcmVzcG9uc2U6IEh0dHBSZXNwb25zZVBhcnNl ciwKKyspIC0+IE5vbmU6CisrICAgICMgU3BsaXQgYW4gb3ZlcmxvbmcgcmVhc29uIHBocmFzZSBh Y3Jvc3MgcmVhZHMgc28gdGhhdCBlYWNoIGNhbGxiYWNrCisrICAgICMgZnJhZ21lbnQgaXMgdW5k ZXIgdGhlIGxpbWl0IGJ1dCB0aGUgYWNjdW11bGF0ZWQgcmVhc29uIGlzIG5vdC4KKysgICAgbWF0 Y2ggPSAiNDAwLCBtZXNzYWdlOlxuICBHb3QgbW9yZSB0aGFuIDgxOTAgYnl0ZXMgd2hlbiByZWFk aW5nIgorKyAgICB3aXRoIHB5dGVzdC5yYWlzZXMoaHR0cF9leGNlcHRpb25zLkxpbmVUb29Mb25n LCBtYXRjaD1tYXRjaCk6CisrICAgICAgICByZXNwb25zZS5mZWVkX2RhdGEoYiJIVFRQLzEuMSAy MDAgIiArIGIiYSIgKiA4MDAwKQorKyAgICAgICAgcmVzcG9uc2UuZmVlZF9kYXRhKGIiYSIgKiA4 MDAwICsgYiJcclxuXHJcbiIpCisrCisrCisgZGVmIHRlc3RfaHR0cF9yZXNwb25zZV9wYXJzZXJf YmFkX3ZlcnNpb24ocmVzcG9uc2UpIC0+IE5vbmU6CisgICAgIHdpdGggcHl0ZXN0LnJhaXNlcyho dHRwX2V4Y2VwdGlvbnMuQmFkSHR0cE1lc3NhZ2UpOgorICAgICAgICAgcmVzcG9uc2UuZmVlZF9k YXRhKGIiSFQvMTEgMjAwIE9rXHJcblxyXG4iKQpkaWZmIC1OcnUgcHl0aG9uLWFpb2h0dHAtMy4x MS4xNi9kZWJpYW4vcGF0Y2hlcy9DVkUtMjAyNi01NDI3OS5wYXRjaCBweXRob24tYWlvaHR0cC0z LjExLjE2L2RlYmlhbi9wYXRjaGVzL0NWRS0yMDI2LTU0Mjc5LnBhdGNoCi0tLSBweXRob24tYWlv aHR0cC0zLjExLjE2L2RlYmlhbi9wYXRjaGVzL0NWRS0yMDI2LTU0Mjc5LnBhdGNoCTE5NzAtMDEt MDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKyBweXRob24tYWlvaHR0cC0zLjExLjE2L2Rl Ymlhbi9wYXRjaGVzL0NWRS0yMDI2LTU0Mjc5LnBhdGNoCTIwMjYtMDctMzEgMDM6NTA6MzIuMDAw MDAwMDAwICswMjAwCkBAIC0wLDAgKzEsMjgwIEBACitGcm9tOiAiSi4gTmljayBLb3N0b24iIDxu aWNrQGtvc3Rvbi5vcmc+CitEYXRlOiBTdW4sIDcgSnVuIDIwMjYgMDA6NDA6MjQgLTA1MDAKK1N1 YmplY3Q6IFtQQVRDSF0gW1BSICMxMjgyNC82MGI4NWU5OCBiYWNrcG9ydF1bMy4xNF0gUHJlc2Vy dmUgaG9zdC1vbmx5CisgY29va2llIHNjb3BlIGFjcm9zcyBDb29raWVKYXIgc2F2ZS9sb2FkICgj MTI4MzMpCisKKy0tLQorIGFpb2h0dHAvY29va2llamFyLnB5ICAgIHwgIDUyICsrKysrKysrKysr KystLS0tLS0KKyB0ZXN0cy90ZXN0X2Nvb2tpZWphci5weSB8IDEzNSArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDE3MCBp bnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2Fpb2h0dHAvY29v a2llamFyLnB5IGIvYWlvaHR0cC9jb29raWVqYXIucHkKK2luZGV4IGM3NGY0MzMuLmE1NmRjZjAg MTAwNjQ0CistLS0gYS9haW9odHRwL2Nvb2tpZWphci5weQorKysrIGIvYWlvaHR0cC9jb29raWVq YXIucHkKK0BAIC0zNSw2ICszNSw5IEBAIGZyb20gLnR5cGVkZWZzIGltcG9ydCBMb29zZUNvb2tp ZXMsIFBhdGhMaWtlLCBTdHJPclVSTAorIAorIF9fYWxsX18gPSAoIkNvb2tpZUphciIsICJEdW1t eUNvb2tpZUphciIpCisgCisrIyBOb3QgcGVyc2lzdGVkOyB0aGUgYWJzb2x1dGUgZGVhZGxpbmUg aXMgc2F2ZWQgaW5zdGVhZC4KKytfUkVMQVRJVkVfRVhQSVJZX0FUVFJTID0gZnJvemVuc2V0KCgi bWF4LWFnZSIsICJleHBpcmVzIikpCisrCisgCisgQ29va2llSXRlbSA9IFVuaW9uW3N0ciwgIk1v cnNlbFtzdHJdIl0KKyAKK0BAIC0xNjQsMjEgKzE2NywyOCBAQCBjbGFzcyBDb29raWVKYXIoQWJz dHJhY3RDb29raWVKYXIpOgorICAgICAgICAgICAgIDpjbGFzczpgc3RyYCBvciA6Y2xhc3M6YHBh dGhsaWIuUGF0aGAgaW5zdGFuY2UuCisgICAgICAgICAiIiIKKyAgICAgICAgIGZpbGVfcGF0aCA9 IHBhdGhsaWIuUGF0aChmaWxlX3BhdGgpCistICAgICAgICBkYXRhOiBkaWN0W3N0ciwgZGljdFtz dHIsIGRpY3Rbc3RyLCBzdHIgfCBib29sXV1dID0ge30KKysgICAgICAgIGRhdGE6IGRpY3Rbc3Ry LCBkaWN0W3N0ciwgZGljdFtzdHIsIHN0ciB8IGJvb2wgfCBmbG9hdF1dXSA9IHt9CisgICAgICAg ICBmb3IgKGRvbWFpbiwgcGF0aCksIGNvb2tpZSBpbiBzZWxmLl9jb29raWVzLml0ZW1zKCk6Cisg ICAgICAgICAgICAga2V5ID0gZiJ7ZG9tYWlufXx7cGF0aH0iCisgICAgICAgICAgICAgZGF0YVtr ZXldID0ge30KKyAgICAgICAgICAgICBmb3IgbmFtZSwgbW9yc2VsIGluIGNvb2tpZS5pdGVtcygp OgorLSAgICAgICAgICAgICAgICBtb3JzZWxfZGF0YTogZGljdFtzdHIsIHN0ciB8IGJvb2xdID0g eworKyAgICAgICAgICAgICAgICBtb3JzZWxfZGF0YTogZGljdFtzdHIsIHN0ciB8IGJvb2wgfCBm bG9hdF0gPSB7CisgICAgICAgICAgICAgICAgICAgICAia2V5IjogbW9yc2VsLmtleSwKKyAgICAg ICAgICAgICAgICAgICAgICJ2YWx1ZSI6IG1vcnNlbC52YWx1ZSwKKyAgICAgICAgICAgICAgICAg ICAgICJjb2RlZF92YWx1ZSI6IG1vcnNlbC5jb2RlZF92YWx1ZSwKKyAgICAgICAgICAgICAgICAg fQorLSAgICAgICAgICAgICAgICAjIFNhdmUgYWxsIG1vcnNlbCBhdHRyaWJ1dGVzIHRoYXQgaGF2 ZSB2YWx1ZXMKKysgICAgICAgICAgICAgICAgIyBTa2lwIHJlbGF0aXZlIGV4cGlyeTsgdGhlIGFi c29sdXRlIGRlYWRsaW5lIGlzIHNhdmVkIGJlbG93LgorICAgICAgICAgICAgICAgICBmb3IgYXR0 ciBpbiBtb3JzZWwuX3Jlc2VydmVkOiAgIyB0eXBlOiBpZ25vcmVbYXR0ci1kZWZpbmVkXQorKyAg ICAgICAgICAgICAgICAgICAgaWYgYXR0ciBpbiBfUkVMQVRJVkVfRVhQSVJZX0FUVFJTOgorKyAg ICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgICAgICBhdHRy X3ZhbCA9IG1vcnNlbFthdHRyXQorICAgICAgICAgICAgICAgICAgICAgaWYgYXR0cl92YWw6Cisg ICAgICAgICAgICAgICAgICAgICAgICAgbW9yc2VsX2RhdGFbYXR0cl0gPSBhdHRyX3ZhbAorKyAg ICAgICAgICAgICAgICAjIFBlcnNpc3Qgb3IgaXQgcmVsb2FkcyBhcyBhIGRvbWFpbiBjb29raWUg YW5kIGxlYWtzIHRvIHN1YmRvbWFpbnMuCisrICAgICAgICAgICAgICAgIGlmIChkb21haW4sIG5h bWUpIGluIHNlbGYuX2hvc3Rfb25seV9jb29raWVzOgorKyAgICAgICAgICAgICAgICAgICAgbW9y c2VsX2RhdGFbImhvc3Rfb25seSJdID0gVHJ1ZQorKyAgICAgICAgICAgICAgICBpZiAoZXhwIDo9 IHNlbGYuX2V4cGlyYXRpb25zLmdldCgoZG9tYWluLCBwYXRoLCBuYW1lKSkpIGlzIG5vdCBOb25l OgorKyAgICAgICAgICAgICAgICAgICAgbW9yc2VsX2RhdGFbImV4cGlyZXNfdGltZXN0YW1wIl0g PSBleHAKKyAgICAgICAgICAgICAgICAgZGF0YVtrZXldW25hbWVdID0gbW9yc2VsX2RhdGEKKyAg ICAgICAgIHdpdGggZmlsZV9wYXRoLm9wZW4obW9kZT0idyIsIGVuY29kaW5nPSJ1dGYtOCIpIGFz IGY6CisgICAgICAgICAgICAganNvbi5kdW1wKGRhdGEsIGYsIGluZGVudD0yKQorQEAgLTE5MCw2 ICsyMDAsOSBAQCBjbGFzcyBDb29raWVKYXIoQWJzdHJhY3RDb29raWVKYXIpOgorICAgICAgICAg cGlja2xlIGZvcm1hdCAodXNpbmcgYSByZXN0cmljdGVkIHVucGlja2xlcikgZm9yIGJhY2t3YXJk CisgICAgICAgICBjb21wYXRpYmlsaXR5IHdpdGggZXhpc3RpbmcgY29va2llIGZpbGVzLgorIAor KyAgICAgICAgUmVwbGFjZXMgdGhlIGN1cnJlbnQgamFyIGNvbnRlbnRzOyBsb2FkZWQgY29va2ll cyBwYXNzIHRocm91Z2ggdGhlCisrICAgICAgICBzYW1lIGFjY2VwdGFuY2UgcnVsZXMgYXMgOm1l dGg6YHVwZGF0ZV9jb29raWVzYC4KKysKKyAgICAgICAgIDpwYXJhbSBmaWxlX3BhdGg6IFBhdGgg dG8gZmlsZSBmcm9tIHdoZXJlIGNvb2tpZXMgd2lsbCBiZQorICAgICAgICAgICAgIGltcG9ydGVk LCA6Y2xhc3M6YHN0cmAgb3IgOmNsYXNzOmBwYXRobGliLlBhdGhgIGluc3RhbmNlLgorICAgICAg ICAgIiIiCitAQCAtMTk4LDMyICsyMTEsMjggQEAgY2xhc3MgQ29va2llSmFyKEFic3RyYWN0Q29v a2llSmFyKToKKyAgICAgICAgIHRyeToKKyAgICAgICAgICAgICB3aXRoIGZpbGVfcGF0aC5vcGVu KG1vZGU9InIiLCBlbmNvZGluZz0idXRmLTgiKSBhcyBmOgorICAgICAgICAgICAgICAgICBkYXRh ID0ganNvbi5sb2FkKGYpCistICAgICAgICAgICAgc2VsZi5fY29va2llcyA9IHNlbGYuX2xvYWRf anNvbl9kYXRhKGRhdGEpCisrICAgICAgICAgICAgc2VsZi5fbG9hZF9qc29uX2RhdGEoZGF0YSkK KyAgICAgICAgIGV4Y2VwdCAoanNvbi5KU09ORGVjb2RlRXJyb3IsIFVuaWNvZGVEZWNvZGVFcnJv ciwgVmFsdWVFcnJvcik6CisgICAgICAgICAgICAgIyBGYWxsIGJhY2sgdG8gbGVnYWN5IHBpY2ts ZSBmb3JtYXQgd2l0aCByZXN0cmljdGVkIHVucGlja2xlcgorICAgICAgICAgICAgIHdpdGggZmls ZV9wYXRoLm9wZW4obW9kZT0icmIiKSBhcyBmOgorICAgICAgICAgICAgICAgICBzZWxmLl9jb29r aWVzID0gX1Jlc3RyaWN0ZWRDb29raWVVbnBpY2tsZXIoZikubG9hZCgpCisgCisgICAgIGRlZiBf bG9hZF9qc29uX2RhdGEoCistICAgICAgICBzZWxmLCBkYXRhOiBkaWN0W3N0ciwgZGljdFtzdHIs IGRpY3Rbc3RyLCBzdHIgfCBib29sXV1dCistICAgICkgLT4gZGVmYXVsdGRpY3RbdHVwbGVbc3Ry LCBzdHJdLCBTaW1wbGVDb29raWVdOgorLSAgICAgICAgIiIiTG9hZCBjb29raWVzIGZyb20gcGFy c2VkIEpTT04gZGF0YS4iIiIKKy0gICAgICAgIGNvb2tpZXM6IGRlZmF1bHRkaWN0W3R1cGxlW3N0 ciwgc3RyXSwgU2ltcGxlQ29va2llXSA9IGRlZmF1bHRkaWN0KFNpbXBsZUNvb2tpZSkKKysgICAg ICAgIHNlbGYsIGRhdGE6IGRpY3Rbc3RyLCBkaWN0W3N0ciwgZGljdFtzdHIsIHN0ciB8IGJvb2wg fCBmbG9hdF1dXQorKyAgICApIC0+IE5vbmU6CisrICAgICAgICAiIiJSZXBsYWNlIGNvbnRlbnRz LCByb3V0aW5nIGNvb2tpZXMgdGhyb3VnaCB1cGRhdGVfY29va2llcygpLiIiIgorKyAgICAgICAg c2VsZi5jbGVhcigpCisgICAgICAgICBmb3IgY29tcG91bmRfa2V5LCBjb29raWVfZGF0YSBpbiBk YXRhLml0ZW1zKCk6CisgICAgICAgICAgICAgZG9tYWluLCBwYXRoID0gY29tcG91bmRfa2V5LnNw bGl0KCJ8IiwgMSkKKy0gICAgICAgICAgICBrZXkgPSAoZG9tYWluLCBwYXRoKQorICAgICAgICAg ICAgIGZvciBuYW1lLCBtb3JzZWxfZGF0YSBpbiBjb29raWVfZGF0YS5pdGVtcygpOgorICAgICAg ICAgICAgICAgICBtb3JzZWw6IE1vcnNlbFtzdHJdID0gTW9yc2VsKCkKKy0gICAgICAgICAgICAg ICAgbW9yc2VsX2tleSA9IG1vcnNlbF9kYXRhWyJrZXkiXQorLSAgICAgICAgICAgICAgICBtb3Jz ZWxfdmFsdWUgPSBtb3JzZWxfZGF0YVsidmFsdWUiXQorLSAgICAgICAgICAgICAgICBtb3JzZWxf Y29kZWRfdmFsdWUgPSBtb3JzZWxfZGF0YVsiY29kZWRfdmFsdWUiXQorICAgICAgICAgICAgICAg ICAjIFVzZSBfX3NldHN0YXRlX18gdG8gYnlwYXNzIHZhbGlkYXRpb24sIHNhbWUgcGF0dGVybgor ICAgICAgICAgICAgICAgICAjIHVzZWQgaW4gX2J1aWxkX21vcnNlbCBhbmQgX2Nvb2tpZV9oZWxw ZXJzLgorICAgICAgICAgICAgICAgICBtb3JzZWwuX19zZXRzdGF0ZV9fKCAgIyB0eXBlOiBpZ25v cmVbYXR0ci1kZWZpbmVkXQorICAgICAgICAgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAg ICAgICAgICAgICJrZXkiOiBtb3JzZWxfa2V5LAorLSAgICAgICAgICAgICAgICAgICAgICAgICJ2 YWx1ZSI6IG1vcnNlbF92YWx1ZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAiY29kZWRfdmFs dWUiOiBtb3JzZWxfY29kZWRfdmFsdWUsCisrICAgICAgICAgICAgICAgICAgICAgICAgImtleSI6 IG1vcnNlbF9kYXRhWyJrZXkiXSwKKysgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiBt b3JzZWxfZGF0YVsidmFsdWUiXSwKKysgICAgICAgICAgICAgICAgICAgICAgICAiY29kZWRfdmFs dWUiOiBtb3JzZWxfZGF0YVsiY29kZWRfdmFsdWUiXSwKKyAgICAgICAgICAgICAgICAgICAgIH0K KyAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAjIFJlc3RvcmUgbW9yc2VsIGF0 dHJpYnV0ZXMKK0BAIC0yMzQsOCArMjQzLDE3IEBAIGNsYXNzIENvb2tpZUphcihBYnN0cmFjdENv b2tpZUphcik6CisgICAgICAgICAgICAgICAgICAgICAgICAgImNvZGVkX3ZhbHVlIiwKKyAgICAg ICAgICAgICAgICAgICAgICk6CisgICAgICAgICAgICAgICAgICAgICAgICAgbW9yc2VsW2F0dHJd ID0gbW9yc2VsX2RhdGFbYXR0cl0KKy0gICAgICAgICAgICAgICAgY29va2llc1trZXldW25hbWVd ID0gbW9yc2VsCistICAgICAgICByZXR1cm4gY29va2llcworKyAgICAgICAgICAgICAgICAjIERy b3AgdGhlIGRvbWFpbiBzbyB1cGRhdGVfY29va2llcygpIHJlLW1hcmtzIGl0IGhvc3Qtb25seS4K KysgICAgICAgICAgICAgICAgaWYgbW9yc2VsX2RhdGEuZ2V0KCJob3N0X29ubHkiKToKKysgICAg ICAgICAgICAgICAgICAgIG1vcnNlbFsiZG9tYWluIl0gPSAiIgorKyAgICAgICAgICAgICAgICBy ZXNwb25zZV91cmwgPSAoCisrICAgICAgICAgICAgICAgICAgICBVUkwuYnVpbGQoc2NoZW1lPSJo dHRwcyIsIGhvc3Q9ZG9tYWluKSBpZiBkb21haW4gZWxzZSBVUkwoKQorKyAgICAgICAgICAgICAg ICApCisrICAgICAgICAgICAgICAgIHNlbGYudXBkYXRlX2Nvb2tpZXMoe25hbWU6IG1vcnNlbH0s IHJlc3BvbnNlX3VybCkKKysgICAgICAgICAgICAgICAgIyBSZXN0b3JlIHRoZSBhYnNvbHV0ZSBk ZWFkbGluZTsgdXBkYXRlX2Nvb2tpZXMoKSBzY2hlZHVsZXMgbm9uZS4KKysgICAgICAgICAgICAg ICAgaWYgKGV4cCA6PSBtb3JzZWxfZGF0YS5nZXQoImV4cGlyZXNfdGltZXN0YW1wIikpIGlzIG5v dCBOb25lOgorKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fZXhwaXJlX2Nvb2tpZShmbG9hdChl eHApLCBkb21haW4sIHBhdGgsIG5hbWUpCisrICAgICAgICBzZWxmLl9kb19leHBpcmF0aW9uKCkK KyAKKyAgICAgZGVmIGNsZWFyKHNlbGYsIHByZWRpY2F0ZTogT3B0aW9uYWxbQ2xlYXJDb29raWVQ cmVkaWNhdGVdID0gTm9uZSkgLT4gTm9uZToKKyAgICAgICAgIGlmIHByZWRpY2F0ZSBpcyBOb25l OgorZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3RfY29va2llamFyLnB5IGIvdGVzdHMvdGVzdF9jb29r aWVqYXIucHkKK2luZGV4IDdhYzk4N2YuLjFlNzc1YmIgMTAwNjQ0CistLS0gYS90ZXN0cy90ZXN0 X2Nvb2tpZWphci5weQorKysrIGIvdGVzdHMvdGVzdF9jb29raWVqYXIucHkKK0BAIC0yLDYgKzIs NyBAQCBpbXBvcnQgYXN5bmNpbworIGltcG9ydCBkYXRldGltZQorIGltcG9ydCBoZWFwcQorIGlt cG9ydCBpdGVydG9vbHMKKytpbXBvcnQganNvbgorIGltcG9ydCBwYXRobGliCisgaW1wb3J0IHBp Y2tsZQorIGltcG9ydCB1bml0dGVzdAorQEAgLTEyNjYsNiArMTI2NywxNDAgQEAgYXN5bmMgZGVm IHRlc3Rfc2F2ZV9sb2FkX2pzb25fcGFydGl0aW9uZWRfY29va2llcyh0bXBfcGF0aDogUGF0aCkg LT4gTm9uZToKKyAgICAgICAgIGFzc2VydCBzWyJwYXRoIl0gPT0gbG9bInBhdGgiXQorIAorIAor K2FzeW5jIGRlZiB0ZXN0X3NhdmVfbG9hZF9qc29uX3ByZXNlcnZlc19ob3N0X29ubHlfc2NvcGUo dG1wX3BhdGg6IFBhdGgpIC0+IE5vbmU6CisrICAgICIiIlZlcmlmeSBzYXZlL2xvYWQga2VlcHMg aG9zdC1vbmx5IGNvb2tpZXMgb2ZmIHN1YmRvbWFpbnMuIiIiCisrICAgIGZpbGVfcGF0aCA9IHRt cF9wYXRoIC8gImhvc3Rfb25seS5qc29uIgorKyAgICBpc3N1ZXIgPSBVUkwoImh0dHBzOi8vYXV0 aC5leGFtcGxlLmNvbS9sb2dpbiIpCisrICAgIHN1YmRvbWFpbiA9IFVSTCgiaHR0cHM6Ly9zdWIu YXV0aC5leGFtcGxlLmNvbS8iKQorKworKyAgICBqYXJfc2F2ZSA9IENvb2tpZUphcigpCisrICAg IGphcl9zYXZlLnVwZGF0ZV9jb29raWVzKHsic2lkIjogImhvc3Rvbmx5In0sIHJlc3BvbnNlX3Vy bD1pc3N1ZXIpCisrICAgIGFzc2VydCAic2lkIiBub3QgaW4gamFyX3NhdmUuZmlsdGVyX2Nvb2tp ZXMoc3ViZG9tYWluKQorKyAgICBqYXJfc2F2ZS5zYXZlKGZpbGVfcGF0aD1maWxlX3BhdGgpCisr CisrICAgIGphcl9sb2FkID0gQ29va2llSmFyKCkKKysgICAgamFyX2xvYWQubG9hZChmaWxlX3Bh dGg9ZmlsZV9wYXRoKQorKworKyAgICBhc3NlcnQgamFyX2xvYWQuX2hvc3Rfb25seV9jb29raWVz ID09IGZyb3plbnNldCh7KCJhdXRoLmV4YW1wbGUuY29tIiwgInNpZCIpfSkKKysgICAgYXNzZXJ0 ICJzaWQiIG5vdCBpbiBqYXJfbG9hZC5maWx0ZXJfY29va2llcyhzdWJkb21haW4pCisrICAgIGFz c2VydCAic2lkIiBpbiBqYXJfbG9hZC5maWx0ZXJfY29va2llcyhpc3N1ZXIpCisrCisrCisrYXN5 bmMgZGVmIHRlc3Rfc2F2ZV9sb2FkX2pzb25fZG9tYWluX2Nvb2tpZV9zdGlsbF9tYXRjaGVzX3N1 YmRvbWFpbigKKysgICAgdG1wX3BhdGg6IFBhdGgsCisrKSAtPiBOb25lOgorKyAgICAiIiJWZXJp Znkgc2F2ZS9sb2FkIGtlZXBzIGFuIGV4cGxpY2l0IERvbWFpbiBjb29raWUgdmFsaWQgZm9yIHN1 YmRvbWFpbnMuIiIiCisrICAgIGZpbGVfcGF0aCA9IHRtcF9wYXRoIC8gImRvbWFpbi5qc29uIgor KyAgICBzdWJkb21haW4gPSBVUkwoImh0dHBzOi8vc3ViLmV4YW1wbGUuY29tLyIpCisrCisrICAg IGphcl9zYXZlID0gQ29va2llSmFyKCkKKysgICAgc2MgPSBTaW1wbGVDb29raWUoKQorKyAgICBz Yy5sb2FkKCJzaWQ9ZG9tYWluY29va2llOyBEb21haW49ZXhhbXBsZS5jb20iKQorKyAgICBqYXJf c2F2ZS51cGRhdGVfY29va2llcyhzYywgVVJMKCJodHRwczovL2V4YW1wbGUuY29tLyIpKQorKyAg ICBqYXJfc2F2ZS5zYXZlKGZpbGVfcGF0aD1maWxlX3BhdGgpCisrCisrICAgIGphcl9sb2FkID0g Q29va2llSmFyKCkKKysgICAgamFyX2xvYWQubG9hZChmaWxlX3BhdGg9ZmlsZV9wYXRoKQorKwor KyAgICBhc3NlcnQgamFyX2xvYWQuX2hvc3Rfb25seV9jb29raWVzID09IGZyb3plbnNldCgpCisr ICAgIGFzc2VydCAic2lkIiBpbiBqYXJfbG9hZC5maWx0ZXJfY29va2llcyhzdWJkb21haW4pCisr CisrCisrYXN5bmMgZGVmIHRlc3Rfc2F2ZV9sb2FkX2pzb25fcHJlc2VydmVzX21heF9hZ2VfZGVh ZGxpbmUodG1wX3BhdGg6IFBhdGgpIC0+IE5vbmU6CisrICAgICIiIlZlcmlmeSBzYXZlL2xvYWQg cmVzdG9yZXMgdGhlIGFic29sdXRlIGRlYWRsaW5lIHdpdGhvdXQgcmVzZXR0aW5nIGl0LiIiIgor KyAgICBmaWxlX3BhdGggPSB0bXBfcGF0aCAvICJtYXhfYWdlLmpzb24iCisrICAgIHVybCA9IFVS TCgiaHR0cHM6Ly9leGFtcGxlLmNvbS8iKQorKworKyAgICBqYXJfc2F2ZSA9IENvb2tpZUphcigp CisrICAgIHNjID0gU2ltcGxlQ29va2llKCkKKysgICAgc2MubG9hZCgic2lkPXg7IE1heC1BZ2U9 MzYwMDsgRG9tYWluPWV4YW1wbGUuY29tIikKKysgICAgamFyX3NhdmUudXBkYXRlX2Nvb2tpZXMo c2MsIHVybCkKKysgICAgZXhwaXJhdGlvbnMgPSBkaWN0KGphcl9zYXZlLl9leHBpcmF0aW9ucykK KysgICAgamFyX3NhdmUuc2F2ZShmaWxlX3BhdGg9ZmlsZV9wYXRoKQorKworKyAgICBqYXJfbG9h ZCA9IENvb2tpZUphcigpCisrICAgIGphcl9sb2FkLmxvYWQoZmlsZV9wYXRoPWZpbGVfcGF0aCkK KysKKysgICAgIyBUaGUgZGVhZGxpbmUgaXMgcmVzdG9yZWQgYXMgdGhlIG9yaWdpbmFsIGFic29s dXRlIHRpbWUsIG5vdCBub3cgKyBNYXgtQWdlLgorKyAgICBhc3NlcnQgZGljdChqYXJfbG9hZC5f ZXhwaXJhdGlvbnMpID09IGV4cGlyYXRpb25zCisrICAgIGFzc2VydCAic2lkIiBpbiBqYXJfbG9h ZC5maWx0ZXJfY29va2llcyh1cmwpCisrCisrCisrYXN5bmMgZGVmIHRlc3Rfc2F2ZV9sb2FkX2pz b25fZHJvcHNfZXhwaXJlZF9jb29raWUodG1wX3BhdGg6IFBhdGgpIC0+IE5vbmU6CisrICAgICIi IlZlcmlmeSBhIGNvb2tpZSB3aG9zZSBwZXJzaXN0ZWQgZGVhZGxpbmUgaXMgaW4gdGhlIHBhc3Qg aXMgZHJvcHBlZCBvbiBsb2FkLiIiIgorKyAgICBmaWxlX3BhdGggPSB0bXBfcGF0aCAvICJleHBp cmVkLmpzb24iCisrICAgIHVybCA9IFVSTCgiaHR0cHM6Ly9leGFtcGxlLmNvbS8iKQorKworKyAg ICAjIFNhdmUgYSBmdXR1cmUtZXhwaXJpbmcgY29va2llLCB0aGVuIHJld3JpdGUgaXRzIHBlcnNp c3RlZCBkZWFkbGluZSB0byB0aGUKKysgICAgIyBwYXN0IHNvIHRoZSBjb29raWUgc3Vydml2ZXMg c2F2ZSgpIGFuZCB0aGUgZHJvcCBoYXBwZW5zIG9uIHRoZSBsb2FkIHBhdGguCisrICAgIGphcl9z YXZlID0gQ29va2llSmFyKCkKKysgICAgc2MgPSBTaW1wbGVDb29raWUoKQorKyAgICBzYy5sb2Fk KCJzaWQ9eDsgRXhwaXJlcz1UdWUsIDEgSmFuIDI5OTkgMTI6MDA6MDAgR01UOyBEb21haW49ZXhh bXBsZS5jb20iKQorKyAgICBqYXJfc2F2ZS51cGRhdGVfY29va2llcyhzYywgdXJsKQorKyAgICBq YXJfc2F2ZS5zYXZlKGZpbGVfcGF0aD1maWxlX3BhdGgpCisrICAgIGRhdGEgPSBqc29uLmxvYWRz KGZpbGVfcGF0aC5yZWFkX3RleHQoKSkKKysgICAgXywgY29va2llcyA9IG5leHQoaXRlcihkYXRh Lml0ZW1zKCkpKQorKyAgICBjb29raWVzWyJzaWQiXVsiZXhwaXJlc190aW1lc3RhbXAiXSA9IDAu MAorKyAgICBmaWxlX3BhdGgud3JpdGVfdGV4dChqc29uLmR1bXBzKGRhdGEpKQorKworKyAgICBq YXJfbG9hZCA9IENvb2tpZUphcigpCisrICAgIGphcl9sb2FkLmxvYWQoZmlsZV9wYXRoPWZpbGVf cGF0aCkKKysKKysgICAgYXNzZXJ0IGxlbihqYXJfbG9hZCkgPT0gMAorKyAgICBhc3NlcnQgInNp ZCIgbm90IGluIGphcl9sb2FkLmZpbHRlcl9jb29raWVzKHVybCkKKysKKysKKythc3luYyBkZWYg dGVzdF9zYXZlX2xvYWRfanNvbl9wcmVzZXJ2ZXNfZXhwaXJlc19kZWFkbGluZSh0bXBfcGF0aDog UGF0aCkgLT4gTm9uZToKKysgICAgIiIiVmVyaWZ5IGEgZnV0dXJlIEV4cGlyZXMgZGVhZGxpbmUg c3Vydml2ZXMgYSBzYXZlL2xvYWQgcm91bmR0cmlwLiIiIgorKyAgICBmaWxlX3BhdGggPSB0bXBf cGF0aCAvICJleHBpcmVzLmpzb24iCisrICAgIHVybCA9IFVSTCgiaHR0cHM6Ly9leGFtcGxlLmNv bS8iKQorKworKyAgICBqYXJfc2F2ZSA9IENvb2tpZUphcigpCisrICAgIHNjID0gU2ltcGxlQ29v a2llKCkKKysgICAgc2MubG9hZCgic2lkPXg7IEV4cGlyZXM9VHVlLCAxIEphbiAyOTk5IDEyOjAw OjAwIEdNVDsgRG9tYWluPWV4YW1wbGUuY29tIikKKysgICAgamFyX3NhdmUudXBkYXRlX2Nvb2tp ZXMoc2MsIHVybCkKKysgICAgZXhwaXJhdGlvbnMgPSBkaWN0KGphcl9zYXZlLl9leHBpcmF0aW9u cykKKysgICAgamFyX3NhdmUuc2F2ZShmaWxlX3BhdGg9ZmlsZV9wYXRoKQorKworKyAgICBqYXJf bG9hZCA9IENvb2tpZUphcigpCisrICAgIGphcl9sb2FkLmxvYWQoZmlsZV9wYXRoPWZpbGVfcGF0 aCkKKysKKysgICAgYXNzZXJ0IGRpY3QoamFyX2xvYWQuX2V4cGlyYXRpb25zKSA9PSBleHBpcmF0 aW9ucworKyAgICBhc3NlcnQgInNpZCIgaW4gamFyX2xvYWQuZmlsdGVyX2Nvb2tpZXModXJsKQor KworKworK2FzeW5jIGRlZiB0ZXN0X2xvYWRfanNvbl9vbGRfZm9ybWF0X3dpdGhvdXRfbmV3X2tl eXModG1wX3BhdGg6IFBhdGgpIC0+IE5vbmU6CisrICAgICIiIlZlcmlmeSBhIGZpbGUgd3JpdHRl biBieSBhbiBvbGRlciB2ZXJzaW9uIChubyBob3N0X29ubHkvZXhwaXJlc190aW1lc3RhbXApIGxv YWRzLiIiIgorKyAgICBmaWxlX3BhdGggPSB0bXBfcGF0aCAvICJvbGQuanNvbiIKKysgICAgIyBP bGQgc2NoZW1hOiBubyBob3N0X29ubHksIG5vIGV4cGlyZXNfdGltZXN0YW1wOyByZWxhdGl2ZSBt YXgtYWdlIG1vcnNlbCBhdHRyLgorKyAgICBmaWxlX3BhdGgud3JpdGVfdGV4dCgKKysgICAgICAg IGpzb24uZHVtcHMoCisrICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgICAiZXhhbXBsZS5j b218LyI6IHsKKysgICAgICAgICAgICAgICAgICAgICJzaWQiOiB7CisrICAgICAgICAgICAgICAg ICAgICAgICAgImtleSI6ICJzaWQiLAorKyAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6 ICJ4IiwKKysgICAgICAgICAgICAgICAgICAgICAgICAiY29kZWRfdmFsdWUiOiAieCIsCisrICAg ICAgICAgICAgICAgICAgICAgICAgImRvbWFpbiI6ICJleGFtcGxlLmNvbSIsCisrICAgICAgICAg ICAgICAgICAgICAgICAgIm1heC1hZ2UiOiAiMzYwMCIsCisrICAgICAgICAgICAgICAgICAgICB9 CisrICAgICAgICAgICAgICAgIH0KKysgICAgICAgICAgICB9CisrICAgICAgICApCisrICAgICkK KysgICAgdXJsID0gVVJMKCJodHRwczovL2V4YW1wbGUuY29tLyIpCisrCisrICAgIGphcl9sb2Fk ID0gQ29va2llSmFyKCkKKysgICAgIyBObyBleGNlcHRpb24gd2hlbiB0aGUgbmV3IGtleXMgYXJl IGFic2VudC4KKysgICAgamFyX2xvYWQubG9hZChmaWxlX3BhdGg9ZmlsZV9wYXRoKQorKworKyAg ICAjIEEgaG9zdC1vbmx5IGNvb2tpZSBzYXZlZCB3aXRob3V0IERvbWFpbiBieSBhbiBvbGRlciB2 ZXJzaW9uIGhhZCBubyBkb21haW4KKysgICAgIyBmaWVsZCwgc28gaXQgbm93IGxvYWRzIGFzIGEg ZG9tYWluIGNvb2tpZSAodGhlIGRvY3VtZW50ZWQgbWlncmF0aW9uIGxvc3MpLgorKyAgICBhc3Nl cnQgInNpZCIgaW4gamFyX2xvYWQuZmlsdGVyX2Nvb2tpZXModXJsKQorKyAgICAjIG1heC1hZ2Ug aXMgcmVzY2hlZHVsZWQgZnJvbSBsb2FkIHRpbWUgcmF0aGVyIHRoYW4gYW4gYWJzb2x1dGUgZGVh ZGxpbmUuCisrICAgIGFzc2VydCBhbnkoa2V5WzJdID09ICJzaWQiIGZvciBrZXkgaW4gamFyX2xv YWQuX2V4cGlyYXRpb25zKQorKworKworIGFzeW5jIGRlZiB0ZXN0X2pzb25fZm9ybWF0X2lzX3Nh ZmUodG1wX3BhdGg6IFBhdGgpIC0+IE5vbmU6CisgICAgICIiIlZlcmlmeSB0aGUgSlNPTiBmaWxl IGZvcm1hdCBjYW5ub3QgZXhlY3V0ZSBjb2RlIG9uIGxvYWQuIiIiCisgICAgIGltcG9ydCBqc29u CmRpZmYgLU5ydSBweXRob24tYWlvaHR0cC0zLjExLjE2L2RlYmlhbi9wYXRjaGVzL0NWRS0yMDI2 LTU0MjgwLnBhdGNoIHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3BhdGNoZXMvQ1ZFLTIw MjYtNTQyODAucGF0Y2gKLS0tIHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3BhdGNoZXMv Q1ZFLTIwMjYtNTQyODAucGF0Y2gJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAK KysrIHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3BhdGNoZXMvQ1ZFLTIwMjYtNTQyODAu cGF0Y2gJMjAyNi0wNy0zMSAwMzo1MDozMi4wMDAwMDAwMDAgKzAyMDAKQEAgLTAsMCArMSwxMjgg QEAKK0Zyb206ICJwYXRjaGJhY2tbYm90XSIgPDQ1NDMyNjk0K3BhdGNoYmFja1tib3RdQHVzZXJz Lm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFN1biwgNyBKdW4gMjAyNiAwNTo0NzoxNiArMDAw MAorU3ViamVjdDogW1BBVENIXSBbUFIgIzEyODMxLzFhYzkyZGFlIGJhY2twb3J0XVszLjE0XSBQ YXlsb2FkIGNsb3NlIG9uCisgZGlzY29ubmVjdCAoIzEyODQzKQorCitDby1hdXRob3JlZC1ieTog Si4gTmljayBLb3N0b24gPG5pY2tAa29zdG9uLm9yZz4KKworUmV2aWV3ZWQtQnk6IERhbmllbCBM ZWlkZXJ0IDxkbGVpZGVydEBkZWJpYW4ub3JnPgorT3JpZ2luOiBodHRwczovL2dpdGh1Yi5jb20v YWlvLWxpYnMvYWlvaHR0cC9jb21taXQvYTc2MmVkYTUyNDJmNjQ5MGQ2YmE2Njc1MzMxOTNmOGI0 NzNhZDU4NworQnVnOiBodHRwczovL2dpdGh1Yi5jb20vYWlvLWxpYnMvYWlvaHR0cC9zZWN1cml0 eS9hZHZpc29yaWVzL0dIU0EtOXg4cS03aDhoLXdjdzkKK0J1Zy1EZWJpYW4tU2VjdXJpdHk6IGh0 dHBzOi8vc2VjdXJpdHktdHJhY2tlci5kZWJpYW4ub3JnL3RyYWNrZXIvQ1ZFLTIwMjYtNTQyODAK K0J1Zy1GcmVleGlhbi1TZWN1cml0eTogaHR0cHM6Ly9kZWIuZnJlZXhpYW4uY29tL2V4dGVuZGVk LWx0cy90cmFja2VyL0NWRS0yMDI2LTU0MjgwCistLS0KKyBhaW9odHRwL3dlYl9yZXNwb25zZS5w eSAgICB8ICA2ICsrKy0KKyB0ZXN0cy90ZXN0X3dlYl9yZXNwb25zZS5weSB8IDcyICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KKyAyIGZpbGVzIGNoYW5nZWQs IDc2IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9haW9odHRw L3dlYl9yZXNwb25zZS5weSBiL2Fpb2h0dHAvd2ViX3Jlc3BvbnNlLnB5CitpbmRleCBmOGUyZDRk Li5iYzczZWEwIDEwMDY0NAorLS0tIGEvYWlvaHR0cC93ZWJfcmVzcG9uc2UucHkKKysrKyBiL2Fp b2h0dHAvd2ViX3Jlc3BvbnNlLnB5CitAQCAtNzYyLDcgKzc2MiwxMSBAQCBjbGFzcyBSZXNwb25z ZShTdHJlYW1SZXNwb25zZSk6CisgICAgICAgICBpZiBib2R5IGlzIE5vbmUgb3Igc2VsZi5fbXVz dF9iZV9lbXB0eV9ib2R5OgorICAgICAgICAgICAgIGF3YWl0IHN1cGVyKCkud3JpdGVfZW9mKCkK KyAgICAgICAgIGVsaWYgaXNpbnN0YW5jZShzZWxmLl9ib2R5LCBQYXlsb2FkKToKKy0gICAgICAg ICAgICBhd2FpdCBzZWxmLl9ib2R5LndyaXRlKHNlbGYuX3BheWxvYWRfd3JpdGVyKQorKyAgICAg ICAgICAgIHRyeToKKysgICAgICAgICAgICAgICAgYXdhaXQgc2VsZi5fYm9keS53cml0ZShzZWxm Ll9wYXlsb2FkX3dyaXRlcikKKysgICAgICAgICAgICBmaW5hbGx5OgorKyAgICAgICAgICAgICAg ICBpZiBoYXNhdHRyKHNlbGYuX2JvZHksICJjbG9zZSIpOgorKyAgICAgICAgICAgICAgICAgICAg YXdhaXQgc2VsZi5fYm9keS5jbG9zZSgpCisgICAgICAgICAgICAgYXdhaXQgc3VwZXIoKS53cml0 ZV9lb2YoKQorICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICBhd2FpdCBzdXBlcigpLndyaXRl X2VvZihjYXN0KGJ5dGVzLCBib2R5KSkKK2RpZmYgLS1naXQgYS90ZXN0cy90ZXN0X3dlYl9yZXNw b25zZS5weSBiL3Rlc3RzL3Rlc3Rfd2ViX3Jlc3BvbnNlLnB5CitpbmRleCBkM2VlMjRlLi5kMTc0 YjZjIDEwMDY0NAorLS0tIGEvdGVzdHMvdGVzdF93ZWJfcmVzcG9uc2UucHkKKysrKyBiL3Rlc3Rz L3Rlc3Rfd2ViX3Jlc3BvbnNlLnB5CitAQCAtMSwzICsxLDQgQEAKKytpbXBvcnQgYXN5bmNpbwor IGltcG9ydCBjb2xsZWN0aW9ucy5hYmMKKyBpbXBvcnQgZGF0ZXRpbWUKKyBpbXBvcnQgZ3ppcAor QEAgLTE4LDcgKzE5LDcgQEAgZnJvbSBhaW9odHRwLmFiYyBpbXBvcnQgQWJzdHJhY3RTdHJlYW1X cml0ZXIKKyBmcm9tIGFpb2h0dHAuaGVscGVycyBpbXBvcnQgRVRhZworIGZyb20gYWlvaHR0cC5o dHRwX3dyaXRlciBpbXBvcnQgU3RyZWFtV3JpdGVyLCBfc2VyaWFsaXplX2hlYWRlcnMKKyBmcm9t IGFpb2h0dHAubXVsdGlwYXJ0IGltcG9ydCBCb2R5UGFydFJlYWRlciwgTXVsdGlwYXJ0V3JpdGVy CistZnJvbSBhaW9odHRwLnBheWxvYWQgaW1wb3J0IEJ5dGVzUGF5bG9hZCwgU3RyaW5nUGF5bG9h ZAorK2Zyb20gYWlvaHR0cC5wYXlsb2FkIGltcG9ydCBCeXRlc1BheWxvYWQsIFBheWxvYWQsIFN0 cmluZ1BheWxvYWQKKyBmcm9tIGFpb2h0dHAudGVzdF91dGlscyBpbXBvcnQgbWFrZV9tb2NrZWRf Y29ybywgbWFrZV9tb2NrZWRfcmVxdWVzdAorIGZyb20gYWlvaHR0cC53ZWIgaW1wb3J0IENvbnRl bnRDb2RpbmcsIFJlc3BvbnNlLCBTdHJlYW1SZXNwb25zZSwganNvbl9yZXNwb25zZQorIAorQEAg LTEzMjEsNiArMTMyMiw3NSBAQCBhc3luYyBkZWYgdGVzdF9jb25zZWN1dGl2ZV93cml0ZV9lb2Yo KSAtPiBOb25lOgorICAgICB3cml0ZXIud3JpdGVfZW9mLmFzc2VydF9jYWxsZWRfb25jZV93aXRo KGRhdGEpCisgCisgCisrY2xhc3MgX0Nsb3NpbmdQYXlsb2FkKFBheWxvYWQpOgorKyAgICAiIiJQ YXlsb2FkIHRlc3QgZG91YmxlIHRoYXQgcmVjb3JkcyB3aGV0aGVyIGNsb3NlKCkgcmFuLiIiIgor KworKyAgICBkZWYgX19pbml0X18oc2VsZikgLT4gTm9uZToKKysgICAgICAgIHN1cGVyKCkuX19p bml0X18oTm9uZSkKKysgICAgICAgIHNlbGYuY2xvc2VfY2FsbGVkID0gRmFsc2UKKysgICAgICAg IHNlbGYuc3RhcnRlZCA9IGFzeW5jaW8uRXZlbnQoKQorKyAgICAgICAgc2VsZi5yZWxlYXNlID0g YXN5bmNpby5FdmVudCgpCisrICAgICAgICBzZWxmLmZhaWwgPSBGYWxzZQorKworKyAgICBhc3lu YyBkZWYgd3JpdGUoc2VsZiwgd3JpdGVyOiBBYnN0cmFjdFN0cmVhbVdyaXRlcikgLT4gTm9uZToK KysgICAgICAgIHNlbGYuc3RhcnRlZC5zZXQoKQorKyAgICAgICAgaWYgc2VsZi5mYWlsOgorKyAg ICAgICAgICAgIHJhaXNlIENvbm5lY3Rpb25SZXNldEVycm9yKCJjbGllbnQgZ29uZSIpCisrICAg ICAgICBhd2FpdCBzZWxmLnJlbGVhc2Uud2FpdCgpCisrCisrICAgIGFzeW5jIGRlZiBjbG9zZShz ZWxmKSAtPiBOb25lOgorKyAgICAgICAgc2VsZi5jbG9zZV9jYWxsZWQgPSBUcnVlCisrCisrICAg IGRlZiBkZWNvZGUoc2VsZiwgZW5jb2Rpbmc6IHN0ciA9ICJ1dGYtOCIsIGVycm9yczogc3RyID0g InN0cmljdCIpIC0+IHN0cjoKKysgICAgICAgIGFzc2VydCBGYWxzZQorKworKworK2FzeW5jIGRl ZiB0ZXN0X3dyaXRlX2VvZl9jbG9zZXNfcGF5bG9hZF9vbl9zdWNjZXNzKCkgLT4gTm9uZToKKysg ICAgd3JpdGVyID0gbW9jay5jcmVhdGVfYXV0b3NwZWMoQWJzdHJhY3RTdHJlYW1Xcml0ZXIsIHNw ZWNfc2V0PVRydWUsIGluc3RhbmNlPVRydWUpCisrICAgIHJlcSA9IG1ha2VfcmVxdWVzdCgiR0VU IiwgIi8iLCB3cml0ZXI9d3JpdGVyKQorKyAgICBwYXlsb2FkID0gX0Nsb3NpbmdQYXlsb2FkKCkK KysgICAgcGF5bG9hZC5yZWxlYXNlLnNldCgpCisrICAgIHJlc3AgPSB3ZWIuUmVzcG9uc2UoYm9k eT1wYXlsb2FkKQorKworKyAgICBhd2FpdCByZXNwLnByZXBhcmUocmVxKQorKyAgICBhd2FpdCBy ZXNwLndyaXRlX2VvZigpCisrCisrICAgIGFzc2VydCBwYXlsb2FkLmNsb3NlX2NhbGxlZAorKyAg ICBhc3NlcnQgd3JpdGVyLndyaXRlX2VvZi5jYWxsZWQKKysKKysKKythc3luYyBkZWYgdGVzdF93 cml0ZV9lb2ZfY2xvc2VzX3BheWxvYWRfb25fd3JpdGVfZXJyb3IoKSAtPiBOb25lOgorKyAgICB3 cml0ZXIgPSBtb2NrLmNyZWF0ZV9hdXRvc3BlYyhBYnN0cmFjdFN0cmVhbVdyaXRlciwgc3BlY19z ZXQ9VHJ1ZSwgaW5zdGFuY2U9VHJ1ZSkKKysgICAgcmVxID0gbWFrZV9yZXF1ZXN0KCJHRVQiLCAi LyIsIHdyaXRlcj13cml0ZXIpCisrICAgIHBheWxvYWQgPSBfQ2xvc2luZ1BheWxvYWQoKQorKyAg ICBwYXlsb2FkLmZhaWwgPSBUcnVlCisrICAgIHJlc3AgPSB3ZWIuUmVzcG9uc2UoYm9keT1wYXls b2FkKQorKworKyAgICBhd2FpdCByZXNwLnByZXBhcmUocmVxKQorKyAgICB3aXRoIHB5dGVzdC5y YWlzZXMoQ29ubmVjdGlvblJlc2V0RXJyb3IpOgorKyAgICAgICAgYXdhaXQgcmVzcC53cml0ZV9l b2YoKQorKworKyAgICBhc3NlcnQgcGF5bG9hZC5jbG9zZV9jYWxsZWQKKysgICAgYXNzZXJ0IG5v dCB3cml0ZXIud3JpdGVfZW9mLmNhbGxlZAorKworKworK2FzeW5jIGRlZiB0ZXN0X3dyaXRlX2Vv Zl9jbG9zZXNfcGF5bG9hZF9vbl9jYW5jZWwoKSAtPiBOb25lOgorKyAgICB3cml0ZXIgPSBtb2Nr LmNyZWF0ZV9hdXRvc3BlYyhBYnN0cmFjdFN0cmVhbVdyaXRlciwgc3BlY19zZXQ9VHJ1ZSwgaW5z dGFuY2U9VHJ1ZSkKKysgICAgcmVxID0gbWFrZV9yZXF1ZXN0KCJHRVQiLCAiLyIsIHdyaXRlcj13 cml0ZXIpCisrICAgIHBheWxvYWQgPSBfQ2xvc2luZ1BheWxvYWQoKQorKyAgICByZXNwID0gd2Vi LlJlc3BvbnNlKGJvZHk9cGF5bG9hZCkKKysKKysgICAgYXdhaXQgcmVzcC5wcmVwYXJlKHJlcSkK KysgICAgdGFzayA9IGFzeW5jaW8uZW5zdXJlX2Z1dHVyZShyZXNwLndyaXRlX2VvZigpKQorKyAg ICBhd2FpdCBwYXlsb2FkLnN0YXJ0ZWQud2FpdCgpCisrICAgIHRhc2suY2FuY2VsKCkKKysgICAg d2l0aCBweXRlc3QucmFpc2VzKGFzeW5jaW8uQ2FuY2VsbGVkRXJyb3IpOgorKyAgICAgICAgYXdh aXQgdGFzaworKworKyAgICBhc3NlcnQgcGF5bG9hZC5jbG9zZV9jYWxsZWQKKysgICAgYXNzZXJ0 IG5vdCB3cml0ZXIud3JpdGVfZW9mLmNhbGxlZAorKworKworIGRlZiB0ZXN0X3NldF90ZXh0X3dp dGhfY29udGVudF90eXBlKCkgLT4gTm9uZToKKyAgICAgcmVzcCA9IFJlc3BvbnNlKCkKKyAgICAg cmVzcC5jb250ZW50X3R5cGUgPSAidGV4dC9odG1sIgpkaWZmIC1OcnUgcHl0aG9uLWFpb2h0dHAt My4xMS4xNi9kZWJpYW4vcGF0Y2hlcy9zZXJpZXMgcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJp YW4vcGF0Y2hlcy9zZXJpZXMKLS0tIHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3BhdGNo ZXMvc2VyaWVzCTIwMjYtMDQtMjEgMjE6MDA6MDQuMDAwMDAwMDAwICswMjAwCisrKyBweXRob24t YWlvaHR0cC0zLjExLjE2L2RlYmlhbi9wYXRjaGVzL3NlcmllcwkyMDI2LTA3LTMxIDAzOjUwOjMy LjAwMDAwMDAwMCArMDIwMApAQCAtMTAsMyArMTAsMjIgQEAKIENWRS0yMDI1LTY5MjI3LnBhdGNo CiBDVkUtMjAyNS02OTIyOC5wYXRjaAogQ1ZFLTIwMjUtNjkyMjkucGF0Y2gKK0NWRS0yMDI1LTUz NjQzLnBhdGNoCitDVkUtMjAyNi0yMjgxNS5wYXRjaAorQ1ZFLTIwMjYtMzQ1MTMucGF0Y2gKK0NW RS0yMDI2LTM0NTE0LnBhdGNoCitDVkUtMjAyNi0zNDUxNi5wYXRjaAorQ1ZFLTIwMjYtMzQ1MTcu cGF0Y2gKK0NWRS0yMDI2LTM0NTE4LnBhdGNoCitDVkUtMjAyNi0zNDUxOS5wYXRjaAorQ1ZFLTIw MjYtMzQ1MjAucGF0Y2gKK0NWRS0yMDI2LTM0NTI1LTEucGF0Y2gKK0NWRS0yMDI2LTM0NTI1LTIu cGF0Y2gKK0NWRS0yMDI2LTM0OTkzLnBhdGNoCitDVkUtMjAyNi00NzI2NS5wYXRjaAorQ1ZFLTIw MjYtNTAyNjkucGF0Y2gKK0NWRS0yMDI2LTU0Mjc0LnBhdGNoCitDVkUtMjAyNi01NDI3NS5wYXRj aAorQ1ZFLTIwMjYtNTQyNzcucGF0Y2gKK0NWRS0yMDI2LTU0Mjc5LnBhdGNoCitDVkUtMjAyNi01 NDI4MC5wYXRjaApkaWZmIC1OcnUgcHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcnVsZXMg cHl0aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vcnVsZXMKLS0tIHB5dGhvbi1haW9odHRwLTMu MTEuMTYvZGViaWFuL3J1bGVzCTIwMjUtMDQtMDUgMTQ6NDQ6MDQuMDAwMDAwMDAwICswMjAwCisr KyBweXRob24tYWlvaHR0cC0zLjExLjE2L2RlYmlhbi9ydWxlcwkyMDI2LTA3LTMxIDAzOjUwOjMy LjAwMDAwMDAwMCArMDIwMApAQCAtMjMsMTAgKzIzLDEzIEBACiAJJChzYXZlLWVnZy1pbmZvKQog CSMgSWdub3JlIG1pc3NpbmcgcmVmZXJlbmNlcy4KIAkke01BS0V9IC1DIGRvY3MgaHRtbCBTUEhJ TlhPUFRTPQorCWN5dGhvbiAtMyAtbyBhaW9odHRwL19odHRwX3BhcnNlci5jIGFpb2h0dHAvX2h0 dHBfcGFyc2VyLnB5eCAtSSBhaW9odHRwCisJY3l0aG9uIC0zIC1vIGFpb2h0dHAvX3dlYnNvY2tl dC9yZWFkZXJfYy5jIGFpb2h0dHAvX3dlYnNvY2tldC9yZWFkZXJfYy5weSAtSSBhaW9odHRwCiAJ ZGhfYXV0b19idWlsZAogCiBvdmVycmlkZV9kaF9hdXRvX2NsZWFuOgogCXJtIC1yZiAuY2FjaGUK KwlybSAtZiBhaW9odHRwL19odHRwX3BhcnNlci5jIGFpb2h0dHAvX3dlYnNvY2tldC9yZWFkZXJf Yy5jCiAJJChzYXZlLWVnZy1pbmZvKQogCWRoX2F1dG9fY2xlYW4KIAkkKHJlc3RvcmUtZWdnLWlu Zm8pCmRpZmYgLU5ydSBweXRob24tYWlvaHR0cC0zLjExLjE2L2RlYmlhbi90ZXN0cy9jb250cm9s IHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3Rlc3RzL2NvbnRyb2wKLS0tIHB5dGhvbi1h aW9odHRwLTMuMTEuMTYvZGViaWFuL3Rlc3RzL2NvbnRyb2wJMTk3MC0wMS0wMSAwMTowMDowMC4w MDAwMDAwMDAgKzAxMDAKKysrIHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3Rlc3RzL2Nv bnRyb2wJMjAyNi0wNy0zMSAwMzo1MDozMi4wMDAwMDAwMDAgKzAyMDAKQEAgLTAsMCArMSwyIEBA CitUZXN0czogdXBzdHJlYW0tdGVzdHMKK0RlcGVuZHM6IEAsIHB5dGhvbjMtYWxsLCBweXRob24z LXB5dGVzdCwgcHl0aG9uMy1hc3luYy1nZW5lcmF0b3IsIHB5dGhvbjMtZnJlZXplZ3VuLCBweXRo b24zLWNvdmVyYWdlLCBweXRob24zLXB5dGVzdC1tb2NrLCBweXRob24zLWJyb3RsaWNmZmksIHB5 dGhvbjMtcHl0ZXN0LWNvZHNwZWVkLCBweXRob24zLXJlLWFzc2VydCwgcHl0aG9uMy1icm90bGks IHB5dGhvbjMtZ3VuaWNvcm4KZGlmZiAtTnJ1IHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFu L3Rlc3RzL3Vwc3RyZWFtLXRlc3RzIHB5dGhvbi1haW9odHRwLTMuMTEuMTYvZGViaWFuL3Rlc3Rz L3Vwc3RyZWFtLXRlc3RzCi0tLSBweXRob24tYWlvaHR0cC0zLjExLjE2L2RlYmlhbi90ZXN0cy91 cHN0cmVhbS10ZXN0cwkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysgcHl0 aG9uLWFpb2h0dHAtMy4xMS4xNi9kZWJpYW4vdGVzdHMvdXBzdHJlYW0tdGVzdHMJMjAyNi0wNy0z MSAwMzo1MDozMi4wMDAwMDAwMDAgKzAyMDAKQEAgLTAsMCArMSwxOSBAQAorIyEvYmluL3NoCisK K3NldCAtZSAtdQorCitjcCAtdmEgTElDRU5TRS50eHQgUkVBRE1FLnJzdCB0ZXN0cyAiJEFVVE9Q S0dURVNUX1RNUCIvCitjZCAiJEFVVE9QS0dURVNUX1RNUCIKKworZm9yIHB5IGluICQocHkzdmVy c2lvbnMgLXMgMj4vZGV2L251bGwpOyBkbworCWVjaG8gIlJ1bm5pbmcgdGVzdHN1aXRlIHdpdGgg JHB5OiIKKwkkcHkgLW0gcHl0ZXN0IFwKKwkJLS1pZ25vcmUtZ2xvYj10ZXN0cy90ZXN0X2JlbmNo bWFyayogXAorCQktLWlnbm9yZT10ZXN0cy90ZXN0X3Byb3h5X2Z1bmN0aW9uYWwucHkgXAorCQkt LWlnbm9yZT10ZXN0cy9hdXRvYmFobi90ZXN0X2F1dG9iYWhuLnB5IFwKKwkJLWsgIm5vdCB0ZXN0 X2h0dHBfcmVzcG9uc2VfcGFyc2VyX3N0cmljdF9vYnNfbGluZV9mb2xkaW5nIGFuZCBcCisJCSAg ICBub3QgdGVzdF9odHRwX3Jlc3BvbnNlX3BhcnNlcl9zdHJpY3RfaGVhZGVycyBhbmQgXAorCQkg ICAgbm90IHRlc3RfaHR0cF9yZXNwb25zZV9wYXJzZXJfYmFkX2NodW5rZWRfc3RyaWN0X3B5IGFu ZCBcCisJCSAgICBub3QgdGVzdF9odHRwX3Jlc3BvbnNlX3BhcnNlcl9iYWRfY2h1bmtlZF9zdHJp Y3RfYyIgXAorCQl0ZXN0cworZG9uZQo= --===============6953262065481897976==--