From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id B1A151FF179 for ; Wed, 7 Jan 2026 10:16:01 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 622F272D3; Wed, 7 Jan 2026 10:16:10 +0100 (CET) From: Kefu Chai To: pve-devel@lists.proxmox.com Date: Tue, 6 Jan 2026 22:24:37 +0800 Message-ID: <20260106142440.2368585-14-k.chai@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260106142440.2368585-1-k.chai@proxmox.com> References: <20260106142440.2368585-1-k.chai@proxmox.com> MIME-Version: 1.0 X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1767709516357 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.056 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment POISEN_SPAM_PILL 0.1 Meta: its spam POISEN_SPAM_PILL_1 0.1 random spam to be learned in bayes POISEN_SPAM_PILL_3 0.1 random spam to be learned in bayes SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record X-Mailman-Approved-At: Wed, 07 Jan 2026 10:16:04 +0100 Subject: [pve-devel] [PATCH pve-cluster 13/15] pmxcfs-rs: add integration and workspace tests X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" QWRkIGNvbXByZWhlbnNpdmUgdGVzdCBzdWl0ZToKCldvcmtzcGFjZS1sZXZlbCBSdXN0IHRlc3Rz OgotIGxvY2FsX2ludGVncmF0aW9uLnJzOiBMb2NhbCBpbnRlZ3JhdGlvbiB0ZXN0cyB3aXRob3V0 IGNvbnRhaW5lcnMKLSBzaW5nbGVfbm9kZV90ZXN0LnJzOiBTaW5nbGUtbm9kZSBjbHVzdGVyIHRl c3RzCi0gdHdvX25vZGVfdGVzdC5yczogVHdvLW5vZGUgY2x1c3RlciBzeW5jaHJvbml6YXRpb24g dGVzdHMKLSBmdXNlX2Jhc2ljX3Rlc3QucnM6IEJhc2ljIEZVU0Ugb3BlcmF0aW9ucwotIGZ1c2Vf aW50ZWdyYXRpb25fdGVzdC5yczogRlVTRSBpbnRlZ3JhdGlvbiB3aXRoIHBsdWdpbnMKLSBmdXNl X2xvY2tzX3Rlc3QucnM6IEZVU0UgbG9jayBtYW5hZ2VtZW50Ci0gZnVzZV9jbHVzdGVyX3Rlc3Qu cnM6IEZVU0UgaW4gY2x1c3RlciBtb2RlCi0gc3ltbGlua19xdW9ydW1fdGVzdC5yczogU3ltbGlu ayBhbmQgcXVvcnVtIGludGVyYWN0aW9ucwotIHF1b3J1bV9iZWhhdmlvcl90ZXN0LnJzOiBRdW9y dW0gc3RhdGUgdHJhbnNpdGlvbnMKCkV4dGVybmFsIGludGVncmF0aW9uIHRlc3RzIChCYXNoL0Rv Y2tlcik6Ci0gRG9ja2VyLWJhc2VkIHRlc3QgZW52aXJvbm1lbnQgd2l0aCBtdWx0aS1ub2RlIGNs dXN0ZXJzCi0gVGVzdHMgZm9yOiBjbHVzdGVyIGNvbm5lY3Rpdml0eSwgZmlsZSBzeW5jLCBJUEMs IERGU00sCiAgRlVTRSBvcGVyYXRpb25zLCBsb2NrcywgcGx1Z2lucywgUlJELCBzdGF0dXMsIGFu ZCBsb2dnZXIKLSBTdXBwb3J0IGZvciBtaXhlZCBDL1J1c3QgY2x1c3RlciB0ZXN0aW5nCi0gQXV0 b21hdGVkIHRlc3QgcnVubmVyIHNjcmlwdHMKClRoZXNlIHRlc3RzIHZhbGlkYXRlIHRoZSBjb21w bGV0ZSBzeXN0ZW0gZnVuY3Rpb25hbGl0eSBhbmQKZW5zdXJlIHdpcmUgY29tcGF0aWJpbGl0eSB3 aXRoIHRoZSBDIGltcGxlbWVudGF0aW9uLgoKU2lnbmVkLW9mZi1ieTogS2VmdSBDaGFpIDxrLmNo YWlAcHJveG1veC5jb20+Ci0tLQogc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy8uZ2l0 aWdub3JlICAgIHwgICAxICsKIHNyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvUkVBRE1F Lm1kICAgICB8IDM2NyArKysrKysrKysrKysrCiAuLi4vaW50ZWdyYXRpb24tdGVzdHMvZG9ja2Vy Ly5kb2NrZXJpZ25vcmUgICAgfCAgMTcgKwogLi4uL2ludGVncmF0aW9uLXRlc3RzL2RvY2tlci9E b2NrZXJmaWxlICAgICAgIHwgIDk1ICsrKysKIC4uLi9pbnRlZ3JhdGlvbi10ZXN0cy9kb2NrZXIv ZGViaWFuLnNvdXJjZXMgICB8ICAgNSArCiAuLi4vZG9ja2VyL2RvY2tlci1jb21wb3NlLmNsdXN0 ZXIueW1sICAgICAgICAgfCAxMTUgKysrKysKIC4uLi9kb2NrZXIvZG9ja2VyLWNvbXBvc2UubWl4 ZWQueW1sICAgICAgICAgICB8IDEyMyArKysrKwogLi4uL2RvY2tlci9kb2NrZXItY29tcG9zZS55 bWwgICAgICAgICAgICAgICAgIHwgIDU0ICsrCiAuLi4vaW50ZWdyYXRpb24tdGVzdHMvZG9ja2Vy L2hlYWx0aGNoZWNrLnNoICAgfCAgMTkgKwogLi4uL2RvY2tlci9saWIvY29yb3N5bmMuY29uZi5t aXhlZC50ZW1wbGF0ZSAgIHwgIDQ2ICsrCiAuLi4vZG9ja2VyL2xpYi9jb3Jvc3luYy5jb25mLnRl bXBsYXRlICAgICAgICAgfCAgNDUgKysKIC4uLi9kb2NrZXIvbGliL3NldHVwLWNsdXN0ZXIuc2gg ICAgICAgICAgICAgICB8ICA2NyArKysKIC4uLi9kb2NrZXIvcHJveG1veC1hcmNoaXZlLWtleXJp bmcuZ3BnICAgICAgICB8IEJpbiAwIC0+IDIzNzIgYnl0ZXMKIC4uLi9kb2NrZXIvcHZlLW5vLXN1 YnNjcmlwdGlvbi5zb3VyY2VzICAgICAgICB8ICAgNSArCiAuLi4vZG9ja2VyL3N0YXJ0LWNsdXN0 ZXItbm9kZS5zaCAgICAgICAgICAgICAgfCAxMzUgKysrKysKIHNyYy9wbXhjZnMtcnMvaW50ZWdy YXRpb24tdGVzdHMvcnVuLXRlc3RzLnNoICB8IDQ1NCArKysrKysrKysrKysrKysrKwogc3JjL3Bt eGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0ICAgICAgICAgIHwgMjM4ICsrKysrKysrKwog c3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0LWxvY2FsICAgIHwgMzMzICsrKysr KysrKysrKwogLi4uL3Rlc3RzL2NsdXN0ZXIvMDEtY29ubmVjdGl2aXR5LnNoICAgICAgICAgIHwg IDU2ICsrCiAuLi4vdGVzdHMvY2x1c3Rlci8wMi1maWxlLXN5bmMuc2ggICAgICAgICAgICAgfCAy MTYgKysrKysrKysKIC4uLi90ZXN0cy9jbHVzdGVyLzAzLWNsdXN0ZXJsb2ctc3luYy5zaCAgICAg ICB8IDI5NyArKysrKysrKysrKwogLi4uL3Rlc3RzL2NsdXN0ZXIvMDQtYmluYXJ5LWZvcm1hdC1z eW5jLnNoICAgIHwgMzU1ICsrKysrKysrKysrKysKIC4uLi90ZXN0cy9jb3JlLzAxLXRlc3QtcGF0 aHMuc2ggICAgICAgICAgICAgICB8ICA3NCArKysKIC4uLi90ZXN0cy9jb3JlLzAyLXBsdWdpbi12 ZXJzaW9uLnNoICAgICAgICAgICB8ICA4NyArKysrCiAuLi4vaW50ZWdyYXRpb24tdGVzdHMvdGVz dHMvZGZzbS8wMS1zeW5jLnNoICAgfCAyMTggKysrKysrKysKIC4uLi90ZXN0cy9kZnNtLzAyLW11 bHRpLW5vZGUuc2ggICAgICAgICAgICAgICB8IDE1OSArKysrKysKIC4uLi90ZXN0cy9mdXNlLzAx LW9wZXJhdGlvbnMuc2ggICAgICAgICAgICAgICB8IDEwMCArKysrCiAuLi4vdGVzdHMvaXBjLzAx LXNvY2tldC1hcGkuc2ggICAgICAgICAgICAgICAgfCAxMDQgKysrKwogLi4uL3Rlc3RzL2lwYy8w Mi1mbG93LWNvbnRyb2wuc2ggICAgICAgICAgICAgIHwgIDg5ICsrKysKIC4uLi90ZXN0cy9sb2Nr cy8wMS1sb2NrLW1hbmFnZW1lbnQuc2ggICAgICAgICB8IDEzNCArKysrKwogLi4uL3Rlc3RzL2xv Z2dlci8wMS1jbHVzdGVybG9nLWJhc2ljLnNoICAgICAgIHwgMTE5ICsrKysrCiAuLi4vaW50ZWdy YXRpb24tdGVzdHMvdGVzdHMvbG9nZ2VyL1JFQURNRS5tZCAgfCAgNTQgKysKIC4uLi90ZXN0cy9t ZW1kYi8wMS1hY2Nlc3Muc2ggICAgICAgICAgICAgICAgICB8IDEwMyArKysrCiAuLi4vdGVzdHMv bWl4ZWQtY2x1c3Rlci8wMS1ub2RlLXR5cGVzLnNoICAgICAgfCAxMzUgKysrKysKIC4uLi90ZXN0 cy9taXhlZC1jbHVzdGVyLzAyLWZpbGUtc3luYy5zaCAgICAgICB8IDE4MCArKysrKysrCiAuLi4v dGVzdHMvbWl4ZWQtY2x1c3Rlci8wMy1xdW9ydW0uc2ggICAgICAgICAgfCAxNDkgKysrKysrCiAu Li4vdGVzdHMvcGx1Z2lucy8wMS1wbHVnaW4tZmlsZXMuc2ggICAgICAgICAgfCAxNDYgKysrKysr CiAuLi4vdGVzdHMvcGx1Z2lucy8wMi1jbHVzdGVybG9nLXBsdWdpbi5zaCAgICAgfCAzNTUgKysr KysrKysrKysrKwogLi4uL3Rlc3RzL3BsdWdpbnMvMDMtcGx1Z2luLXdyaXRlLnNoICAgICAgICAg IHwgMTk3ICsrKysrKysKIC4uLi9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0cy9wbHVnaW5zL1JFQURN RS5tZCB8ICA1MiArKwogLi4uL3Rlc3RzL3JyZC8wMS1ycmQtYmFzaWMuc2ggICAgICAgICAgICAg ICAgIHwgIDkzICsrKysKIC4uLi90ZXN0cy9ycmQvMDItc2NoZW1hLXZhbGlkYXRpb24uc2ggICAg ICAgICB8IDQwOSArKysrKysrKysrKysrKysKIC4uLi90ZXN0cy9ycmQvMDMtcnJkY2FjaGVkLWlu dGVncmF0aW9uLnNoICAgICB8IDM2NyArKysrKysrKysrKysrCiAuLi4vaW50ZWdyYXRpb24tdGVz dHMvdGVzdHMvcnJkL1JFQURNRS5tZCAgICAgfCAxNjQgKysrKysrCiAuLi4vaW50ZWdyYXRpb24t dGVzdHMvdGVzdHMvcnVuLWMtdGVzdHMuc2ggICAgfCAzMjEgKysrKysrKysrKysrCiAuLi4vdGVz dHMvc3RhdHVzLzAxLXN0YXR1cy10cmFja2luZy5zaCAgICAgICAgfCAxMTMgKysrKwogLi4uL3Rl c3RzL3N0YXR1cy8wMi1zdGF0dXMtb3BlcmF0aW9ucy5zaCAgICAgIHwgMTkzICsrKysrKysKIC4u Li90ZXN0cy9zdGF0dXMvMDMtbXVsdGlub2RlLXN5bmMuc2ggICAgICAgICB8IDQ4MSArKysrKysr KysrKysrKysrKysKIC4uLi9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0cy90ZXN0LWNvbmZpZy5zaCAg ICB8ICA4OCArKysrCiAuLi4vdGVzdHMvbXVsdGlfbm9kZV9zeW5jX3Rlc3RzLnJzICAgICAgICAg ICAgfCAgMjAgKy0KIHNyYy9wbXhjZnMtcnMvcG14Y2ZzL3Rlc3RzL2NvbW1vbi9tb2QucnMgICAg ICB8ICAzNCArLQogc3JjL3BteGNmcy1ycy9wbXhjZnMvdGVzdHMvZnVzZV9iYXNpY190ZXN0LnJz IHwgIDMxICstCiAuLi4vcG14Y2ZzL3Rlc3RzL2Z1c2VfY2x1c3Rlcl90ZXN0LnJzICAgICAgICAg fCAgMTMgKy0KIC4uLi9wbXhjZnMvdGVzdHMvZnVzZV9pbnRlZ3JhdGlvbl90ZXN0LnJzICAgICB8 ICAzMiArLQogc3JjL3BteGNmcy1ycy9wbXhjZnMvdGVzdHMvZnVzZV9sb2Nrc190ZXN0LnJzIHwg IDIyICstCiBzcmMvcG14Y2ZzLXJzL3BteGNmcy90ZXN0cy9xdW9ydW1fYmVoYXZpb3IucnMgfCAg IDMgKy0KIC4uLi9wbXhjZnMvdGVzdHMvc2luZ2xlX25vZGVfZnVuY3Rpb25hbC5ycyAgICB8ICAx NiArLQogLi4uL3BteGNmcy90ZXN0cy9zeW1saW5rX3F1b3J1bV90ZXN0LnJzICAgICAgIHwgICA3 ICstCiA1OCBmaWxlcyBjaGFuZ2VkLCA3Nzk4IGluc2VydGlvbnMoKyksIDEwNyBkZWxldGlvbnMo LSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzLy5n aXRpZ25vcmUKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRl c3RzL1JFQURNRS5tZAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9wbXhjZnMtcnMvaW50ZWdyYXRp b24tdGVzdHMvZG9ja2VyLy5kb2NrZXJpZ25vcmUKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvcG14 Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzL2RvY2tlci9Eb2NrZXJmaWxlCiBjcmVhdGUgbW9kZSAx MDA2NDQgc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy9kb2NrZXIvZGViaWFuLnNvdXJj ZXMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzL2Rv Y2tlci9kb2NrZXItY29tcG9zZS5jbHVzdGVyLnltbAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9w bXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvZG9ja2VyL2RvY2tlci1jb21wb3NlLm1peGVkLnlt bAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvZG9j a2VyL2RvY2tlci1jb21wb3NlLnltbAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9wbXhjZnMtcnMv aW50ZWdyYXRpb24tdGVzdHMvZG9ja2VyL2hlYWx0aGNoZWNrLnNoCiBjcmVhdGUgbW9kZSAxMDA2 NDQgc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy9kb2NrZXIvbGliL2Nvcm9zeW5jLmNv bmYubWl4ZWQudGVtcGxhdGUKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvcG14Y2ZzLXJzL2ludGVn cmF0aW9uLXRlc3RzL2RvY2tlci9saWIvY29yb3N5bmMuY29uZi50ZW1wbGF0ZQogY3JlYXRlIG1v ZGUgMTAwNzU1IHNyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvZG9ja2VyL2xpYi9zZXR1 cC1jbHVzdGVyLnNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlv bi10ZXN0cy9kb2NrZXIvcHJveG1veC1hcmNoaXZlLWtleXJpbmcuZ3BnCiBjcmVhdGUgbW9kZSAx MDA2NDQgc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy9kb2NrZXIvcHZlLW5vLXN1YnNj cmlwdGlvbi5zb3VyY2VzCiBjcmVhdGUgbW9kZSAxMDA3NTUgc3JjL3BteGNmcy1ycy9pbnRlZ3Jh dGlvbi10ZXN0cy9kb2NrZXIvc3RhcnQtY2x1c3Rlci1ub2RlLnNoCiBjcmVhdGUgbW9kZSAxMDA3 NTUgc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy9ydW4tdGVzdHMuc2gKIGNyZWF0ZSBt b2RlIDEwMDc1NSBzcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzL3Rlc3QKIGNyZWF0ZSBt b2RlIDEwMDc1NSBzcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzL3Rlc3QtbG9jYWwKIGNy ZWF0ZSBtb2RlIDEwMDc1NSBzcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzL3Rlc3RzL2Ns dXN0ZXIvMDEtY29ubmVjdGl2aXR5LnNoCiBjcmVhdGUgbW9kZSAxMDA3NTUgc3JjL3BteGNmcy1y cy9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0cy9jbHVzdGVyLzAyLWZpbGUtc3luYy5zaAogY3JlYXRl IG1vZGUgMTAwNzU1IHNyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvdGVzdHMvY2x1c3Rl ci8wMy1jbHVzdGVybG9nLXN5bmMuc2gKIGNyZWF0ZSBtb2RlIDEwMDc1NSBzcmMvcG14Y2ZzLXJz L2ludGVncmF0aW9uLXRlc3RzL3Rlc3RzL2NsdXN0ZXIvMDQtYmluYXJ5LWZvcm1hdC1zeW5jLnNo CiBjcmVhdGUgbW9kZSAxMDA3NTUgc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0 cy9jb3JlLzAxLXRlc3QtcGF0aHMuc2gKIGNyZWF0ZSBtb2RlIDEwMDc1NSBzcmMvcG14Y2ZzLXJz L2ludGVncmF0aW9uLXRlc3RzL3Rlc3RzL2NvcmUvMDItcGx1Z2luLXZlcnNpb24uc2gKIGNyZWF0 ZSBtb2RlIDEwMDc1NSBzcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzL3Rlc3RzL2Rmc20v MDEtc3luYy5zaAogY3JlYXRlIG1vZGUgMTAwNzU1IHNyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24t dGVzdHMvdGVzdHMvZGZzbS8wMi1tdWx0aS1ub2RlLnNoCiBjcmVhdGUgbW9kZSAxMDA3NTUgc3Jj L3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0cy9mdXNlLzAxLW9wZXJhdGlvbnMuc2gK IGNyZWF0ZSBtb2RlIDEwMDc1NSBzcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzL3Rlc3Rz L2lwYy8wMS1zb2NrZXQtYXBpLnNoCiBjcmVhdGUgbW9kZSAxMDA3NTUgc3JjL3BteGNmcy1ycy9p bnRlZ3JhdGlvbi10ZXN0cy90ZXN0cy9pcGMvMDItZmxvdy1jb250cm9sLnNoCiBjcmVhdGUgbW9k ZSAxMDA3NTUgc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0cy9sb2Nrcy8wMS1s b2NrLW1hbmFnZW1lbnQuc2gKIGNyZWF0ZSBtb2RlIDEwMDc1NSBzcmMvcG14Y2ZzLXJzL2ludGVn cmF0aW9uLXRlc3RzL3Rlc3RzL2xvZ2dlci8wMS1jbHVzdGVybG9nLWJhc2ljLnNoCiBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0cy9sb2dnZXIv UkVBRE1FLm1kCiBjcmVhdGUgbW9kZSAxMDA3NTUgc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10 ZXN0cy90ZXN0cy9tZW1kYi8wMS1hY2Nlc3Muc2gKIGNyZWF0ZSBtb2RlIDEwMDc1NSBzcmMvcG14 Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzL3Rlc3RzL21peGVkLWNsdXN0ZXIvMDEtbm9kZS10eXBl cy5zaAogY3JlYXRlIG1vZGUgMTAwNzU1IHNyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMv dGVzdHMvbWl4ZWQtY2x1c3Rlci8wMi1maWxlLXN5bmMuc2gKIGNyZWF0ZSBtb2RlIDEwMDc1NSBz cmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzL3Rlc3RzL21peGVkLWNsdXN0ZXIvMDMtcXVv cnVtLnNoCiBjcmVhdGUgbW9kZSAxMDA3NTUgc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0 cy90ZXN0cy9wbHVnaW5zLzAxLXBsdWdpbi1maWxlcy5zaAogY3JlYXRlIG1vZGUgMTAwNzU1IHNy Yy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvdGVzdHMvcGx1Z2lucy8wMi1jbHVzdGVybG9n LXBsdWdpbi5zaAogY3JlYXRlIG1vZGUgMTAwNzU1IHNyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24t dGVzdHMvdGVzdHMvcGx1Z2lucy8wMy1wbHVnaW4td3JpdGUuc2gKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBzcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzL3Rlc3RzL3BsdWdpbnMvUkVBRE1FLm1k CiBjcmVhdGUgbW9kZSAxMDA3NTUgc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0 cy9ycmQvMDEtcnJkLWJhc2ljLnNoCiBjcmVhdGUgbW9kZSAxMDA3NTUgc3JjL3BteGNmcy1ycy9p bnRlZ3JhdGlvbi10ZXN0cy90ZXN0cy9ycmQvMDItc2NoZW1hLXZhbGlkYXRpb24uc2gKIGNyZWF0 ZSBtb2RlIDEwMDc1NSBzcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzL3Rlc3RzL3JyZC8w My1ycmRjYWNoZWQtaW50ZWdyYXRpb24uc2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvcG14Y2Zz LXJzL2ludGVncmF0aW9uLXRlc3RzL3Rlc3RzL3JyZC9SRUFETUUubWQKIGNyZWF0ZSBtb2RlIDEw MDc1NSBzcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzL3Rlc3RzL3J1bi1jLXRlc3RzLnNo CiBjcmVhdGUgbW9kZSAxMDA3NTUgc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0 cy9zdGF0dXMvMDEtc3RhdHVzLXRyYWNraW5nLnNoCiBjcmVhdGUgbW9kZSAxMDA3NTUgc3JjL3Bt eGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0cy9zdGF0dXMvMDItc3RhdHVzLW9wZXJhdGlv bnMuc2gKIGNyZWF0ZSBtb2RlIDEwMDc1NSBzcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3Rz L3Rlc3RzL3N0YXR1cy8wMy1tdWx0aW5vZGUtc3luYy5zaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNy Yy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvdGVzdHMvdGVzdC1jb25maWcuc2gKCmRpZmYg LS1naXQgYS9zcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzLy5naXRpZ25vcmUgYi9zcmMv cG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzLy5naXRpZ25vcmUKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAuLmEyMjhmNTI2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL3BteGNm cy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy8uZ2l0aWdub3JlCkBAIC0wLDAgKzEgQEAKKy5naXRpZ25v cmUgcmVzdWx0cwpkaWZmIC0tZ2l0IGEvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy9S RUFETUUubWQgYi9zcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzL1JFQURNRS5tZApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uZmNhMjNiMjYKLS0tIC9kZXYvbnVsbAor KysgYi9zcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzL1JFQURNRS5tZApAQCAtMCwwICsx LDM2NyBAQAorIyBwbXhjZnMgSW50ZWdyYXRpb24gVGVzdHMKKworQ29tcHJlaGVuc2l2ZSBpbnRl Z3JhdGlvbiB0ZXN0IHN1aXRlIGZvciB2YWxpZGF0aW5nIHBteGNmcy1ycyBiYWNrd2FyZCBjb21w YXRpYmlsaXR5IGFuZCBwcm9kdWN0aW9uIHJlYWRpbmVzcy4KKworIyMgUXVpY2sgU3RhcnQKKwor YGBgYmFzaAorY2Qgc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cworCisjIEZpcnN0IHRp bWUgLSBidWlsZCBhbmQgcnVuIGFsbCB0ZXN0cworLi90ZXN0IC0tYnVpbGQKKworIyBTdWJzZXF1 ZW50IHJ1bnMgLSBza2lwIGJ1aWxkIGZvciBzcGVlZAorLi90ZXN0IC0tbm8tYnVpbGQKKworIyBS dW4gc3BlY2lmaWMgc3Vic3lzdGVtCisuL3Rlc3QgcnJkCisKKyMgTGlzdCBhdmFpbGFibGUgdGVz dHMKKy4vdGVzdCAtLWxpc3QKKworIyBDbGVhbiB1cCBhbmQgc3RhcnQgZnJlc2gKKy4vdGVzdCAt LWNsZWFuCitgYGAKKworIyMgVGVzdCBSdW5uZXI6IGAuL3Rlc3RgCisKK1NpbXBsZSB3cmFwcGVy IHRoYXQgaGFuZGxlcyBhbGwgY29tcGxleGl0eToKKworYGBgYmFzaAorLi90ZXN0IFtTVUJTWVNU RU1dIFtPUFRJT05TXQorYGBgCisKKyMjIyBPcHRpb25zCisKKy0gYC0tYnVpbGRgIC0gRm9yY2Ug cmVidWlsZCBvZiBwbXhjZnMgYmluYXJ5CistIGAtLW5vLWJ1aWxkYCAtIFNraXAgYmluYXJ5IHJl YnVpbGQgKGZhc3RlciBpdGVyYXRpb24pCistIGAtLWNsdXN0ZXJgIC0gUnVuIG11bHRpLW5vZGUg Y2x1c3RlciB0ZXN0cyAocmVxdWlyZXMgMy1ub2RlIHNldHVwKQorLSBgLS1taXhlZGAgLSBSdW4g bWl4ZWQgQy9SdXN0IGNsdXN0ZXIgdGVzdHMKKy0gYC0tY2xlYW5gIC0gUmVtb3ZlIGFsbCBjb250 YWluZXJzIGFuZCB2b2x1bWVzCistIGAtLWxpc3RgIC0gTGlzdCBhbGwgYXZhaWxhYmxlIHRlc3Qg c3Vic3lzdGVtcworLSBgLS1oZWxwYCAtIFNob3cgZGV0YWlsZWQgaGVscAorCisjIyMgRXhhbXBs ZXMKKworYGBgYmFzaAorIyBSdW4gYWxsIHNpbmdsZS1ub2RlIHRlc3RzCisuL3Rlc3QKKworIyBU ZXN0IHNwZWNpZmljIHN1YnN5c3RlbSB3aXRoIHJlYnVpbGQKKy4vdGVzdCBycmQgLS1idWlsZAor CisjIFF1aWNrIGl0ZXJhdGlvbiB3aXRob3V0IHJlYnVpbGQKKy4vdGVzdCBwbHVnaW5zIC0tbm8t YnVpbGQKKworIyBNdWx0aS1ub2RlIGNsdXN0ZXIgdGVzdHMKKy4vdGVzdCAtLWNsdXN0ZXIKKwor IyBDbGVhbiBldmVyeXRoaW5nIGFuZCByZXRyeQorLi90ZXN0IC0tY2xlYW4gLS1idWlsZAorYGBg CisKKyMjIERpcmVjdG9yeSBTdHJ1Y3R1cmUKKworYGBgCitpbnRlZ3JhdGlvbi10ZXN0cy8KK+KU nOKUgOKUgCBkb2NrZXIvICAgICAgICAgICAgICAgICMgQ29udGFpbmVyIGluZnJhc3RydWN0dXJl CivilIIgICDilJzilIDilIAgRG9ja2VyZmlsZSAgICAgICAgIyBUZXN0IGNvbnRhaW5lciBpbWFn ZQor4pSCICAg4pSc4pSA4pSAIGRvY2tlci1jb21wb3NlLnltbCAgICAgICAgICAgIyBNYWluIGNv bXBvc2UgZmlsZQor4pSCICAg4pSc4pSA4pSAIGRvY2tlci1jb21wb3NlLmNsdXN0ZXIueW1sICAg IyBNdWx0aS1ub2RlIHNldHVwCivilIIgICDilJTilIDilIAgbGliLyAgICAgICAgICAgICAgIyBT dXBwb3J0IHNjcmlwdHMKK+KUnOKUgOKUgCB0ZXN0cy8gICAgICAgICAgICAgICAgIyBUZXN0IHN1 aXRlcyBvcmdhbml6ZWQgYnkgc3Vic3lzdGVtCivilIIgICDilJzilIDilIAgY29yZS8gICAgICAg ICAgICAjIENvcmUgZnVuY3Rpb25hbGl0eQor4pSCICAg4pSc4pSA4pSAIGZ1c2UvICAgICAgICAg ICAgIyBGVVNFIG9wZXJhdGlvbnMKK+KUgiAgIOKUnOKUgOKUgCBtZW1kYi8gICAgICAgICAgICMg RGF0YWJhc2UgdGVzdHMKK+KUgiAgIOKUnOKUgOKUgCBpcGMvICAgICAgICAgICAgICMgSVBDL3Nv Y2tldCB0ZXN0cwor4pSCICAg4pSc4pSA4pSAIHJyZC8gICAgICAgICAgICAgIyBSUkQgbWV0cmlj cwor4pSCICAg4pSc4pSA4pSAIHN0YXR1cy8gICAgICAgICAgIyBTdGF0dXMgdHJhY2tpbmcKK+KU giAgIOKUnOKUgOKUgCBsb2Nrcy8gICAgICAgICAgICMgTG9jayBtYW5hZ2VtZW50CivilIIgICDi lJzilIDilIAgcGx1Z2lucy8gICAgICAgICAjIFBsdWdpbiBzeXN0ZW0KK+KUgiAgIOKUnOKUgOKU gCBsb2dnZXIvICAgICAgICAgICMgQ2x1c3RlciBsb2cKK+KUgiAgIOKUnOKUgOKUgCBjbHVzdGVy LyAgICAgICAgICMgTXVsdGktbm9kZSBjbHVzdGVyCivilIIgICDilJzilIDilIAgZGZzbS8gICAg ICAgICAgICAjIERGU00gc3luY2hyb25pemF0aW9uCivilIIgICDilJzilIDilIAgbWl4ZWQtY2x1 c3Rlci8gICAjIEMvUnVzdCBjb21wYXRpYmlsaXR5CivilIIgICDilJTilIDilIAgcnVuLWMtdGVz dHMuc2ggICAjIFBlcmwgY29tcGF0aWJpbGl0eSB0ZXN0cwor4pSc4pSA4pSAIHJlc3VsdHMvICAg ICAgICAgICAgICMgVGVzdCByZXN1bHRzICh0aW1lc3RhbXBlZCBsb2dzKQor4pSc4pSA4pSAIHRl c3QgICAgICAgICAgICAgICAgICMgTWFpbiB0ZXN0IHdyYXBwZXIKK+KUnOKUgOKUgCB0ZXN0LWxv Y2FsICAgICAgICAgICAjIExvY2FsIHRlc3Rpbmcgd2l0aG91dCBjb250YWluZXJzCivilJTilIDi lIAgcnVuLXRlc3RzLnNoICAgICAgICAgIyBDb3JlIHRlc3QgcnVubmVyCitgYGAKKworIyMgVGVz dCBDYXRlZ29yaWVzCisKKyMjIyBTaW5nbGUtTm9kZSBUZXN0cworCitSdW4gbG9jYWxseSB3aXRo b3V0IGNsdXN0ZXIgc2V0dXAuIENvbXBhdGlibGUgd2l0aCBgLi90ZXN0LWxvY2FsYC4KKworfCBT dWJzeXN0ZW0gfCBEZXNjcmlwdGlvbiB8Cit8LS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLXwKK3wg Y29yZSB8IERpcmVjdG9yeSBzdHJ1Y3R1cmUsIHZlcnNpb24gcGx1Z2luIHwKK3wgZnVzZSB8IEZV U0UgZmlsZXN5c3RlbSBvcGVyYXRpb25zIHwKK3wgbWVtZGIgfCBEYXRhYmFzZSBhY2Nlc3MgYW5k IGludGVncml0eSB8Cit8IGlwYyB8IFVuaXggc29ja2V0IEFQSSBjb21wYXRpYmlsaXR5IHwKK3wg cnJkIHwgUlJEIGZpbGUgY3JlYXRpb24sIHNjaGVtYXMsIHJyZGNhY2hlZCBpbnRlZ3JhdGlvbiB8 Cit8IHN0YXR1cyB8IFN0YXR1cyB0cmFja2luZywgVk0gcmVnaXN0cnksIG9wZXJhdGlvbnMgfAor fCBsb2NrcyB8IExvY2sgbWFuYWdlbWVudCBhbmQgY29uY3VycmVudCBhY2Nlc3MgfAorfCBwbHVn aW5zIHwgUGx1Z2luIGZpbGUgYWNjZXNzIGFuZCB3cml0ZSBvcGVyYXRpb25zIHwKK3wgbG9nZ2Vy IHwgU2luZ2xlLW5vZGUgY2x1c3RlciBsb2cgZnVuY3Rpb25hbGl0eSB8CisKKyMjIyBNdWx0aS1O b2RlIFRlc3RzCisKK1JlcXVpcmUgY2x1c3RlciBzZXR1cCB3aXRoIGAtLWNsdXN0ZXJgIGZsYWcu CisKK3wgU3Vic3lzdGVtIHwgRGVzY3JpcHRpb24gfAorfC0tLS0tLS0tLS0tfC0tLS0tLS0tLS0t LS18Cit8IGNsdXN0ZXIgfCBDb25uZWN0aXZpdHksIGZpbGUgc3luYywgbG9nIHN5bmMsIGJpbmFy eSBmb3JtYXQgfAorfCBkZnNtIHwgREZTTSBzdGF0ZSBtYWNoaW5lLCBtdWx0aS1ub2RlIGJlaGF2 aW9yIHwKK3wgc3RhdHVzIHwgTXVsdGktbm9kZSBzdGF0dXMgc3luY2hyb25pemF0aW9uIHwKK3wg bG9nZ2VyIHwgTXVsdGktbm9kZSBjbHVzdGVyIGxvZyBzeW5jaHJvbml6YXRpb24gfAorCisjIyMg TWl4ZWQgQ2x1c3RlciBUZXN0cworCitUZXN0IEMgYW5kIFJ1c3QgcG14Y2ZzIGludGVyb3BlcmFi aWxpdHkgd2l0aCBgLS1taXhlZGAgZmxhZy4KKworfCBUZXN0IHwgRGVzY3JpcHRpb24gfAorfC0t LS0tLXwtLS0tLS0tLS0tLS0tfAorfCAwMS1ub2RlLXR5cGVzLnNoIHwgTm9kZSB0eXBlIGRldGVj dGlvbiAoQyB2cyBSdXN0KSB8Cit8IDAyLWZpbGUtc3luYy5zaCB8IEZpbGUgc3luY2hyb25pemF0 aW9uIGJldHdlZW4gQyBhbmQgUnVzdCBub2RlcyB8Cit8IDAzLXF1b3J1bS5zaCB8IFF1b3J1bSBi ZWhhdmlvciBpbiBoZXRlcm9nZW5lb3VzIGNsdXN0ZXIgfAorCisjIyMgUGVybCBDb21wYXRpYmls aXR5IFRlc3RzCisKK1ZhbGlkYXRlcyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpdGggUHJveG1v eCBWRSBQZXJsIHRvb2xzLgorCisqKlJ1biB3aXRoKio6CitgYGBiYXNoCitjZCBkb2NrZXIgJiYg ZG9ja2VyIGNvbXBvc2UgcnVuIC0tcm0gYy10ZXN0cworYGBgCisKKyoqV2hhdCdzIHRlc3RlZCoq OgorLSBQVkU6OkNsdXN0ZXIgbW9kdWxlIGludGVncmF0aW9uCistIFBWRTo6SVBDQyBJUEMgY29t cGF0aWJpbGl0eSAoUGVybCAtPiBSdXN0KQorLSBQVkU6OkNvcm9zeW5jIGNvbmZpZ3VyYXRpb24g cGFyc2VyCistIEZVU0UgZmlsZXN5c3RlbSBvcGVyYXRpb25zIGZyb20gUGVybAorLSBWTS9DVCBj b25maWd1cmF0aW9uIGZpbGUgaGFuZGxpbmcKKworIyMgVGVzdCBDb3ZlcmFnZQorCitUaGUgdGVz dCBzdWl0ZSB2YWxpZGF0ZXM6CisKKy0gRlVTRSBmaWxlc3lzdGVtIG9wZXJhdGlvbnMgKGFsbCAx MiBvcGVyYXRpb25zKQorLSBVbml4IHNvY2tldCBBUEkgY29tcGF0aWJpbGl0eSAobGlicWIgd2ly ZSBwcm90b2NvbCkKKy0gRGF0YWJhc2Ugb3BlcmF0aW9ucyAoU1FMaXRlIHZlcnNpb24gNSkKKy0g UGx1Z2luIHN5c3RlbSAoYWxsIDEwIHBsdWdpbnM6IDYgZnVuY3Rpb25hbCArIDQgbGluaykKKy0g UlJEIGZpbGUgY3JlYXRpb24gYW5kIG1ldHJpY3MKKy0gU3RhdHVzIHRyYWNraW5nIGFuZCBWTSBy ZWdpc3RyeQorLSBMb2NrIG1hbmFnZW1lbnQgYW5kIGNvbmN1cnJlbnQgYWNjZXNzCistIENsdXN0 ZXIgbG9nIGZ1bmN0aW9uYWxpdHkKKy0gTXVsdGktbm9kZSBmaWxlIHN5bmNocm9uaXphdGlvbgor LSBERlNNIHN0YXRlIG1hY2hpbmUgcHJvdG9jb2wKKy0gUGVybCBBUEkgY29tcGF0aWJpbGl0eSAo ZHJvcC1pbiByZXBsYWNlbWVudCB2YWxpZGF0aW9uKQorCisjIyBMb2NhbCBUZXN0aW5nIChObyBD b250YWluZXJzKQorCitGYXN0IGl0ZXJhdGlvbiBkdXJpbmcgZGV2ZWxvcG1lbnQgdXNpbmcgYC4v dGVzdC1sb2NhbGA6CisKK2BgYGJhc2gKKyMgUnVuIGFsbCBsb2NhbC1jb21wYXRpYmxlIHRlc3Rz CisuL3Rlc3QtbG9jYWwKKworIyBSdW4gc3BlY2lmaWMgdGVzdHMKKy4vdGVzdC1sb2NhbCBjb3Jl LzAxLXRlc3QtcGF0aHMuc2ggbWVtZGIvMDEtYWNjZXNzLnNoCisKKyMgQnVpbGQgZmlyc3QsIGtl ZXAgdGVtcCBkaXJlY3RvcnkgZm9yIGRlYnVnZ2luZworLi90ZXN0LWxvY2FsIC0tYnVpbGQgLS1r ZWVwLXRlbXAKKworIyBSdW4gd2l0aCBkZWJ1ZyBsb2dnaW5nCisuL3Rlc3QtbG9jYWwgLS1kZWJ1 ZworYGBgCisKKyoqRmVhdHVyZXMqKjoKKy0gTm8gY29udGFpbmVyIG92ZXJoZWFkCistIFVzZXMg cG14Y2ZzIGAtLXRlc3QtZGlyYCBmbGFnIGZvciBpc29sYXRpb24KKy0gRmFzdCBpdGVyYXRpb24g Y3ljbGUKKy0gQXV0b21hdGljIGNsZWFudXAgKG9yIGtlZXAgd2l0aCBgLS1rZWVwLXRlbXBgKQor CisqKlJlcXVpcmVtZW50cyoqOgorLSBwbXhjZnMgYmluYXJ5IGJ1aWx0IChgY2FyZ28gYnVpbGQg LS1yZWxlYXNlYCkKKy0gRlVTRSBzdXBwb3J0IChmdXNlcm1vdW50KQorLSBTUUxpdGUKKy0gTm8g cm9vdCByZXF1aXJlZAorCisjIyBDb250YWluZXItQmFzZWQgVGVzdGluZworCitVc2VzIERvY2tl ci9Qb2RtYW4gZm9yIGZ1bGwgaXNvbGF0aW9uIGFuZCByZXByb2R1Y2liaWxpdHkuCisKKyMjIyBT aW5nbGUgQ29udGFpbmVyIFRlc3RzCisKK2BgYGJhc2gKK2NkIGRvY2tlcgorZG9ja2VyIGNvbXBv c2UgcnVuIC0tcm0gcG14Y2ZzLXRlc3QKK2BgYAorCitSdW5zIGFsbCBzaW5nbGUtbm9kZSB0ZXN0 cyBpbiBpc29sYXRlZCBjb250YWluZXIuCisKKyMjIyBQZXJsIENvbXBhdGliaWxpdHkgVGVzdHMK KworYGBgYmFzaAorY2QgZG9ja2VyCitkb2NrZXIgY29tcG9zZSBydW4gLS1ybSBjLXRlc3RzCitg YGAKKworVmFsaWRhdGVzIGludGVncmF0aW9uIHdpdGggcHJvZHVjdGlvbiBQcm94bW94IFBlcmwg dG9vbHMuCisKKyMjIyBNdWx0aS1Ob2RlIENsdXN0ZXIKKworYGBgYmFzaAorY2QgZG9ja2VyCitk b2NrZXIgY29tcG9zZSAtZiBkb2NrZXItY29tcG9zZS5jbHVzdGVyLnltbCB1cAorYGBgCisKK1N0 YXJ0cyAzLW5vZGUgUnVzdCBjbHVzdGVyIGZvciBtdWx0aS1ub2RlIHRlc3RpbmcuCisKKyMjIFR5 cGljYWwgV29ya2Zsb3dzCisKKyMjIyBEZXZlbG9wbWVudCBJdGVyYXRpb24KKworYGBgYmFzaAor IyBFZGl0IGNvZGUgaW4gc3JjL3BteGNmcy1ycy8KKworIyBCdWlsZCBhbmQgdGVzdAorY2QgaW50 ZWdyYXRpb24tdGVzdHMKKy4vdGVzdCAtLWJ1aWxkCisKKyMgUXVpY2sgaXRlcmF0aW9uCisjICht YWtlIGNoYW5nZXMpCisuL3Rlc3QgLS1uby1idWlsZAorYGBgCisKKyMjIyBXb3JraW5nIG9uIFNw ZWNpZmljIEZlYXR1cmUKKworYGBgYmFzaAorIyBGb2N1cyBvbiBSUkQgc3Vic3lzdGVtCisuL3Rl c3QgcnJkIC0tYnVpbGQKKworIyBJdGVyYXRlIHF1aWNrbHkKKy4vdGVzdCBycmQgLS1uby1idWls ZAorYGBgCisKKyMjIyBCZWZvcmUgQ29tbWl0dGluZworCitgYGBiYXNoCisjIFJ1biBmdWxsIHRl c3Qgc3VpdGUKKy4vdGVzdCAtLWJ1aWxkCisKKyMgQ2hlY2sgcmVzdWx0cworY2F0IHJlc3VsdHMv dGVzdC1yZXN1bHRzXyoubG9nIHwgdGFpbCAtMjAKK2BgYAorCisjIyMgVHJvdWJsZXNob290aW5n CisKK2BgYGJhc2gKKyMgQ29udGFpbmVycyBzdHVjayBvciBmYWlsaW5nIG15c3RlcmlvdXNseT8K Ky4vdGVzdCAtLWNsZWFuCisKKyMgVGhlbiByZXRyeQorLi90ZXN0IC0tYnVpbGQKK2BgYAorCisj IyBUZXN0IFJlc3VsdHMKKworUmVzdWx0cyBhcmUgc2F2ZWQgdG8gdGltZXN0YW1wZWQgbG9nIGZp bGVzIGluIGByZXN1bHRzL2A6CisKK2BgYAorcmVzdWx0cy90ZXN0LXJlc3VsdHNfMjAyNTExMThf MDkxMjM0LmxvZworYGBgCisKKyMjIEVudmlyb25tZW50IFZhcmlhYmxlcworCistIGBTS0lQX0JV SUxEPXRydWVgIC0gU2tpcCBjYXJnbyBidWlsZCAoc2FtZSBhcyBgLS1uby1idWlsZGApCistIGBV U0VfUE9ETUFOPXRydWVgIC0gRm9yY2UgdXNlIG9mIHBvZG1hbiBpbnN0ZWFkIG9mIGRvY2tlcgor CisjIyBUcm91Ymxlc2hvb3RpbmcKKworIyMjICJDb250YWluZXIgYWxyZWFkeSBydW5uaW5nIiBv ciBsb2NrIGVycm9ycworCitgYGBiYXNoCisuL3Rlc3QgLS1jbGVhbgorYGBgCisKKyMjIyAicG14 Y2ZzIGJpbmFyeSBub3QgZm91bmQiCisKK2BgYGJhc2gKKy4vdGVzdCAtLWJ1aWxkCitgYGAKKwor IyMjIFRlc3RzIHRpbWluZyBvdXQKKworUG9zc2libGUgY2F1c2VzOgorLSBDb250YWluZXIgbm90 IHN0YXJ0aW5nIHByb3Blcmx5CistIEZVU0UgbW91bnQgaXNzdWVzCistIFByZXZpb3VzIGNvbnRh aW5lcnMgbm90IGNsZWFuZWQgdXAKKworU29sdXRpb246CitgYGBiYXNoCisuL3Rlc3QgLS1jbGVh bgorLi90ZXN0IC0tYnVpbGQKK2BgYAorCisjIyBLbm93biBJc3N1ZXMKKworIyMjIE11bHRpLU5v ZGUgQ2x1c3RlciBUZXN0cworCitNdWx0aS1ub2RlIGNsdXN0ZXIgdGVzdHMgcmVxdWlyZToKKy0g RG9ja2VyIG5ldHdvcmsgY29uZmlndXJhdGlvbgorLSBDb250YWluZXItdG8tY29udGFpbmVyIG5l dHdvcmtpbmcKKy0gQ29yb3N5bmMgQ1BHIG11bHRpY2FzdCBzdXBwb3J0CisKK0N1cnJlbnQgbGlt aXRhdGlvbnM6CistIENvbnRhaW5lciBJUCBhY2Nlc3MgZnJvbSBob3N0IG1heSBub3Qgd29yawor LSBTb21lIHRlc3RzIHJlcXVpcmUgYmVpbmcgcnVuIGluc2lkZSBjb250YWluZXJzCistIE1peGVk IGNsdXN0ZXIgdGVzdHMgbmVlZCBhcmNoaXRlY3R1cmUgcmVmaW5lbWVudAorCisjIyMgVGVzdCBS dW5uZXIgRXhpdCBDb2RlcworCitUaGUgdGVzdCBydW5uZXIgcHJvcGVybHkgY2FwdHVyZXMgZXhp dCBjb2RlcyBmcm9tIHRlc3Qgc2NyaXB0cyB1c2luZyBgc2V0IC1vIHBpcGVmYWlsYCB0byBlbnN1 cmUgcGlwZWxpbmUgZmFpbHVyZXMgYXJlIGRldGVjdGVkIGNvcnJlY3RseS4KKworIyMgQ3JlYXRp bmcgTmV3IFRlc3RzCisKKyMjIyBUZXN0IFRlbXBsYXRlCisKK2BgYGJhc2gKKyMhL2Jpbi9iYXNo CisjIFRlc3Q6IFtUZXN0IE5hbWVdCisjIFtEZXNjcmlwdGlvbl0KKworc2V0IC1lCisKK2VjaG8g IlRlc3RpbmcgW2Z1bmN0aW9uYWxpdHldLi4uIgorCisjIFRlc3QgY29kZSBoZXJlCitpZiBbY29u ZGl0aW9uXTsgdGhlbgorICAgIGVjaG8gIlBBU1M6IFtzdWNjZXNzIG1lc3NhZ2VdIgorZWxzZQor ICAgIGVjaG8gIkVSUk9SOiBbZmFpbHVyZSBtZXNzYWdlXSIKKyAgICBleGl0IDEKK2ZpCisKK2Vj aG8gIlBBU1M6IFtUZXN0IG5hbWVdIGNvbXBsZXRlZCIKK2V4aXQgMAorYGBgCisKKyMjIyBBZGRp bmcgVGVzdHMKKworMS4gQ2hvb3NlIGFwcHJvcHJpYXRlIGNhdGVnb3J5IGluIGB0ZXN0cy9gCisy LiBGb2xsb3cgbmFtaW5nIGNvbnZlbnRpb246IGBOTi1kZXNjcmlwdGl2ZS1uYW1lLnNoYAorMy4g TWFrZSBleGVjdXRhYmxlOiBgY2htb2QgK3ggdGVzdHMvY2F0ZWdvcnkvTk4tdGVzdC5zaGAKKzQu IFRlc3QgaW5kZXBlbmRlbnRseSBiZWZvcmUgaW50ZWdyYXRpbmcKKzUuIFVwZGF0ZSB0ZXN0IGNv dW50IGluIGAuL3Rlc3QgLS1saXN0YCBpZiBuZWVkZWQKKworIyMgUXVlc3Rpb25zPworCistICoq V2hhdCB0ZXN0cyBleGlzdD8qKiAtIGAuL3Rlc3QgLS1saXN0YAorLSAqKkhvdyB0byBydW4gdGhl bT8qKiAtIGAuL3Rlc3RgCistICoqU3BlY2lmaWMgc3Vic3lzdGVtPyoqIC0gYC4vdGVzdCA8bmFt ZT5gIChlLmcuLCBgLi90ZXN0IHJyZGApCistICoqVGVzdHMgc3R1Y2s/KiogLSBgLi90ZXN0IC0t Y2xlYW5gCistICoqTmVlZCBoZWxwPyoqIC0gYC4vdGVzdCAtLWhlbHBgCmRpZmYgLS1naXQgYS9z cmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzL2RvY2tlci8uZG9ja2VyaWdub3JlIGIvc3Jj L3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy9kb2NrZXIvLmRvY2tlcmlnbm9yZQpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uOGE2NWJlY2EKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzL2RvY2tlci8uZG9ja2VyaWdub3JlCkBA IC0wLDAgKzEsMTcgQEAKKyMgSWdub3JlIHRlc3QgcmVzdWx0cyBhbmQgdGVtcG9yYXJ5IGZpbGVz CityZXN1bHRzLworbG9ncy8KKyoubG9nCisKKyMgSWdub3JlIGdpdCBmaWxlcworLmdpdC8KKy5n aXRpZ25vcmUKKworIyBJZ25vcmUgZG9jdW1lbnRhdGlvbgorKi5tZAorCisjIElnbm9yZSB0ZW1w b3JhcnkgYnVpbGQgZmlsZXMKK2RlYmlhbi5zb3VyY2VzLnRtcAorCisjIElnbm9yZSB0ZXN0IGRp cmVjdG9yaWVzIChub3QgbmVlZGVkIGZvciBidWlsZCkKK3Rlc3RzLwpkaWZmIC0tZ2l0IGEvc3Jj L3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy9kb2NrZXIvRG9ja2VyZmlsZSBiL3NyYy9wbXhj ZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvZG9ja2VyL0RvY2tlcmZpbGUKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAuLjk0MTU5ZmVlCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Bt eGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy9kb2NrZXIvRG9ja2VyZmlsZQpAQCAtMCwwICsxLDk1 IEBACitGUk9NIGRlYmlhbjpzdGFibGUKKworIyBEaXNhYmxlIHByb3h5IGZvciBhcHQKK1JVTiBl Y2hvICdBY3F1aXJlOjpodHRwOjpQcm94eSAiZmFsc2UiOycgPiAvZXRjL2FwdC9hcHQuY29uZi5k Lzk5bm9wcm94eQorCisjIEFsd2F5cyB1c2UgaG9zdCdzIGFwdCBzb3VyY2VzIGZvciBjb25zaXN0 ZW50IHBhY2thZ2UgaW5zdGFsbGF0aW9uCisjIENvcHkgZnJvbSBob3N0IC9ldGMvYXB0L3NvdXJj ZXMubGlzdC5kL2RlYmlhbi5zb3VyY2VzIGlmIGl0IGV4aXN0cworQ09QWSBkZWJpYW4uc291cmNl cyAvZXRjL2FwdC9zb3VyY2VzLmxpc3QuZC9kZWJpYW4uc291cmNlcworCisjIENvcHkgUHJveG1v eCBrZXlyaW5nIGFuZCByZXBvc2l0b3J5IGNvbmZpZ3VyYXRpb24KK1JVTiBta2RpciAtcCAvdXNy L3NoYXJlL2tleXJpbmdzCitDT1BZIHByb3htb3gtYXJjaGl2ZS1rZXlyaW5nLmdwZyAvdXNyL3No YXJlL2tleXJpbmdzLworQ09QWSBwdmUtbm8tc3Vic2NyaXB0aW9uLnNvdXJjZXMgL2V0Yy9hcHQv c291cmNlcy5saXN0LmQvCisKKyMgSW5zdGFsbCBydW50aW1lIGRlcGVuZGVuY2llcworIyBGb3Ig UnVzdCBwbXhjZnMsIEMgcG14Y2ZzLCBhbmQgbWl4ZWQgY2x1c3RlciB0ZXN0aW5nCitSVU4gYXB0 LWdldCB1cGRhdGUgJiYgREVCSUFOX0ZST05URU5EPW5vbmludGVyYWN0aXZlIGFwdC1nZXQgaW5z dGFsbCAteSAtLW5vLWluc3RhbGwtcmVjb21tZW5kcyBcCisgICAgIyBSdXN0IHBteGNmcyBkZXBl bmRlbmNpZXMKKyAgICBsaWJmdXNlMy00IFwKKyAgICBmdXNlMyBcCisgICAgIyBDIHBteGNmcyBk ZXBlbmRlbmNpZXMgKGZvciBtaXhlZCBjbHVzdGVyIHRlc3RpbmcpCisgICAgbGliZnVzZTIgXAor ICAgIGxpYmdsaWIyLjAtMCBcCisgICAgIyBTaGFyZWQgZGVwZW5kZW5jaWVzCisgICAgbGlic3Fs aXRlMy0wIFwKKyAgICBsaWJxYjEwMCBcCisgICAgbGlicnJkOHQ2NCBcCisgICAgcnJkdG9vbCBc CisgICAgcnJkY2FjaGVkIFwKKyAgICBsaWJjb3Jvc3luYy1jb21tb240IFwKKyAgICBsaWJjcGc0 IFwKKyAgICBsaWJxdW9ydW01IFwKKyAgICBsaWJjbWFwNCBcCisgICAgbGlidm90ZXF1b3J1bTgg XAorICAgIGxpYmNmZzcgXAorICAgIHNvY2F0IFwKKyAgICBwcm9jcHMgXAorICAgIGNvcm9zeW5j IFwKKyAgICBjb3Jvc3luYy1xZGV2aWNlIFwKKyAgICBpcHV0aWxzLXBpbmcgXAorICAgIGlwcm91 dGUyIFwKKyAgICBzcWxpdGUzIFwKKyAgICBiYyBcCisgICAgIyBUZXN0aW5nIHV0aWxpdGllcwor ICAgIGpxIFwKKyAgICBmaWxlIFwKKyAgICB1dWlkLXJ1bnRpbWUgXAorICAgICMgUGVybCBhbmQg dGVzdGluZyBkZXBlbmRlbmNpZXMgZm9yIEMgdGVzdHMKKyAgICBwZXJsIFwKKyAgICBsaWJ0ZXN0 LXNpbXBsZS1wZXJsIFwKKyAgICBsaWJ0ZXN0LW1vY2ttb2R1bGUtcGVybCBcCisgICAgbGlianNv bi1wZXJsIFwKKyAgICBsaWJkZXZlbC1jeWNsZS1wZXJsIFwKKyAgICBsaWJjbG9uZS1wZXJsIFwK KyAgICBsaWJuZXQtc3NsZWF5LXBlcmwgXAorICAgIGxpYm5ldC1pcC1wZXJsIFwKKyAgICAmJiBy bSAtcmYgL3Zhci9saWIvYXB0L2xpc3RzLyoKKworIyBJbnN0YWxsIFByb3htb3ggUFZFIHBhY2th Z2VzIGZvciBDIHRlc3RzCitSVU4gYXB0LWdldCB1cGRhdGUgJiYgREVCSUFOX0ZST05URU5EPW5v bmludGVyYWN0aXZlIGFwdC1nZXQgaW5zdGFsbCAteSAtLW5vLWluc3RhbGwtcmVjb21tZW5kcyBc CisgICAgbGlicHZlLWNsdXN0ZXItcGVybCBcCisgICAgbGlicHZlLWNvbW1vbi1wZXJsIFwKKyAg ICBwdmUtY2x1c3RlciBcCisgICAgJiYgcm0gLXJmIC92YXIvbGliL2FwdC9saXN0cy8qCisKKyMg Q3JlYXRlIHRlc3QgZGlyZWN0b3JpZXMKK1JVTiBta2RpciAtcCAvdGVzdC9kYiBcCisgICAgL3Rl c3QvcnVuIFwKKyAgICAvdGVzdC9wdmUgXAorICAgIC90ZXN0L2V0Yy9jb3Jvc3luYyBcCisgICAg L2V0Yy9jb3Jvc3luYyBcCisgICAgL2V0Yy9wdmUgXAorICAgIC92YXIvbGliL3B2ZS1jbHVzdGVy IFwKKyAgICAvdmFyL2xpYi9ycmRjYWNoZWQvZGIgXAorICAgIC9ydW4vcG14Y2ZzIFwKKyAgICAv dmFyL2xvZy9jb3Jvc3luYworCisjIENyZWF0ZSBGVVNFIGNvbmZpZworUlVOIGVjaG8gInVzZXJf YWxsb3dfb3RoZXIiID4gL2V0Yy9mdXNlLmNvbmYKKworIyBOb3RlOiBUZXN0IGZpbGVzIGFuZCBQ VkUgbW9kdWxlcyBhcmUgYXZhaWxhYmxlIHZpYSAvd29ya3NwYWNlIHZvbHVtZSBtb3VudCBhdCBy dW50aW1lCisjIC0gVGVzdCBmaWxlczogL3dvcmtzcGFjZS9zcmMvdGVzdC8KKyMgLSBQVkUgbW9k dWxlczogL3dvcmtzcGFjZS9zcmMvUFZFLworIyAtIENvbXBpbGVkIGJpbmFyeTogL3dvcmtzcGFj ZS9zcmMvcG14Y2ZzLXJzL3RhcmdldC9yZWxlYXNlL3BteGNmcworCisjIFdvcmtpbmcgZGlyZWN0 b3J5CitXT1JLRElSIC90ZXN0CisKKyMgTm90ZTogSGVhbHRoIGNoZWNrIGFuZCBzY3JpcHRzIGFj Y2VzcyBmaWxlcyB2aWEgL3dvcmtzcGFjZSBtb3VudAorIyBIZWFsdGggY2hlY2sgKHZlcmlmaWVz IHBteGNmcyBpcyBydW5uaW5nIGFuZCBGVVNFIGlzIG1vdW50ZWQpCitIRUFMVEhDSEVDSyAtLWlu dGVydmFsPTVzIC0tdGltZW91dD0zcyAtLXN0YXJ0LXBlcmlvZD0xNXMgLS1yZXRyaWVzPTMgXAor ICAgIENNRCAvd29ya3NwYWNlL3NyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvZG9ja2Vy L2hlYWx0aGNoZWNrLnNoCisKKyMgRGVmYXVsdCBjb21tYW5kIChjYW4gYmUgb3ZlcnJpZGRlbiBi eSBkb2NrZXItY29tcG9zZSkKK0NNRCBbIi93b3Jrc3BhY2Uvc3JjL3BteGNmcy1ycy9pbnRlZ3Jh dGlvbi10ZXN0cy9kb2NrZXIvc3RhcnQtY2x1c3Rlci1ub2RlLnNoIl0KZGlmZiAtLWdpdCBhL3Ny Yy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvZG9ja2VyL2RlYmlhbi5zb3VyY2VzIGIvc3Jj L3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy9kb2NrZXIvZGViaWFuLnNvdXJjZXMKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLjNiMGQ4MWRlCi0tLSAvZGV2L251bGwKKysr IGIvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy9kb2NrZXIvZGViaWFuLnNvdXJjZXMK QEAgLTAsMCArMSw1IEBACitUeXBlczogZGViIGRlYi1zcmMKK1VSSXM6IGh0dHA6Ly9taXJyb3Jz LmFsaXl1bi5jb20vZGViaWFuLworU3VpdGVzOiB0cml4aWUgdHJpeGllLXVwZGF0ZXMgdHJpeGll LWJhY2twb3J0cworQ29tcG9uZW50czogbWFpbiBjb250cmliIG5vbi1mcmVlIG5vbi1mcmVlLWZp cm13YXJlCitTaWduZWQtQnk6IC91c3Ivc2hhcmUva2V5cmluZ3MvZGViaWFuLWFyY2hpdmUta2V5 cmluZy5ncGcKZGlmZiAtLWdpdCBhL3NyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvZG9j a2VyL2RvY2tlci1jb21wb3NlLmNsdXN0ZXIueW1sIGIvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlv bi10ZXN0cy9kb2NrZXIvZG9ja2VyLWNvbXBvc2UuY2x1c3Rlci55bWwKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAuLjZiYjlkY2RiCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Bt eGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy9kb2NrZXIvZG9ja2VyLWNvbXBvc2UuY2x1c3Rlci55 bWwKQEAgLTAsMCArMSwxMTUgQEAKK3NlcnZpY2VzOgorICBub2RlMToKKyAgICBidWlsZDoKKyAg ICAgIGNvbnRleHQ6IC4KKyAgICAgIGRvY2tlcmZpbGU6IERvY2tlcmZpbGUKKyAgICBpbWFnZTog cG14Y2ZzLXRlc3Q6bGF0ZXN0CisgICAgY29udGFpbmVyX25hbWU6IHBteGNmcy1jbHVzdGVyLW5v ZGUxCisgICAgaG9zdG5hbWU6IG5vZGUxCisgICAgcHJpdmlsZWdlZDogdHJ1ZQorICAgIGNhcF9h ZGQ6CisgICAgICAtIFNZU19BRE1JTgorICAgICAgLSBTWVNfUkVTT1VSQ0UKKyAgICBkZXZpY2Vz OgorICAgICAgLSAvZGV2L2Z1c2UKKyAgICB2b2x1bWVzOgorICAgICAgLSAuLi8uLi8uLi8uLi86 L3dvcmtzcGFjZTpybworICAgICAgLSAuLi9yZXN1bHRzOi90ZXN0L3Jlc3VsdHMKKyAgICAgIC0g bm9kZTEtZGF0YTovdGVzdC9kYgorICAgICAgLSBjbHVzdGVyLWNvbmZpZzovZXRjL2Nvcm9zeW5j CisgICAgbmV0d29ya3M6CisgICAgICBwbXhjZnMtY2x1c3RlcjoKKyAgICAgICAgaXB2NF9hZGRy ZXNzOiAxNzIuMzAuMC4xMQorICAgIGVudmlyb25tZW50OgorICAgICAgLSBSVVNUX0xPRz1pbmZv CisgICAgICAtIFJVU1RfQkFDS1RSQUNFPTEKKyAgICAgIC0gTk9ERV9OQU1FPW5vZGUxCisgICAg ICAtIE5PREVfSUQ9MQorICAgICAgLSBDTFVTVEVSX1RZUEU9Y2x1c3RlcgorICAgIGhlYWx0aGNo ZWNrOgorICAgICAgdGVzdDogWyJDTUQtU0hFTEwiLCAicGdyZXAgcG14Y2ZzID4gL2Rldi9udWxs ICYmIHRlc3QgLWQgL3Rlc3QvcHZlIl0KKyAgICAgIGludGVydmFsOiA1cworICAgICAgdGltZW91 dDogM3MKKyAgICAgIHJldHJpZXM6IDUKKyAgICAgIHN0YXJ0X3BlcmlvZDogMTVzCisKKyAgbm9k ZTI6CisgICAgYnVpbGQ6CisgICAgICBjb250ZXh0OiAuCisgICAgICBkb2NrZXJmaWxlOiBEb2Nr ZXJmaWxlCisgICAgaW1hZ2U6IHBteGNmcy10ZXN0OmxhdGVzdAorICAgIGNvbnRhaW5lcl9uYW1l OiBwbXhjZnMtY2x1c3Rlci1ub2RlMgorICAgIGhvc3RuYW1lOiBub2RlMgorICAgIHByaXZpbGVn ZWQ6IHRydWUKKyAgICBjYXBfYWRkOgorICAgICAgLSBTWVNfQURNSU4KKyAgICAgIC0gU1lTX1JF U09VUkNFCisgICAgZGV2aWNlczoKKyAgICAgIC0gL2Rldi9mdXNlCisgICAgdm9sdW1lczoKKyAg ICAgIC0gLi4vLi4vLi4vLi4vOi93b3Jrc3BhY2U6cm8KKyAgICAgIC0gLi4vcmVzdWx0czovdGVz dC9yZXN1bHRzCisgICAgICAtIG5vZGUyLWRhdGE6L3Rlc3QvZGIKKyAgICAgIC0gY2x1c3Rlci1j b25maWc6L2V0Yy9jb3Jvc3luYworICAgIG5ldHdvcmtzOgorICAgICAgcG14Y2ZzLWNsdXN0ZXI6 CisgICAgICAgIGlwdjRfYWRkcmVzczogMTcyLjMwLjAuMTIKKyAgICBlbnZpcm9ubWVudDoKKyAg ICAgIC0gUlVTVF9MT0c9aW5mbworICAgICAgLSBSVVNUX0JBQ0tUUkFDRT0xCisgICAgICAtIE5P REVfTkFNRT1ub2RlMgorICAgICAgLSBOT0RFX0lEPTIKKyAgICAgIC0gQ0xVU1RFUl9UWVBFPWNs dXN0ZXIKKyAgICBoZWFsdGhjaGVjazoKKyAgICAgIHRlc3Q6IFsiQ01ELVNIRUxMIiwgInBncmVw IHBteGNmcyA+IC9kZXYvbnVsbCAmJiB0ZXN0IC1kIC90ZXN0L3B2ZSJdCisgICAgICBpbnRlcnZh bDogNXMKKyAgICAgIHRpbWVvdXQ6IDNzCisgICAgICByZXRyaWVzOiA1CisgICAgICBzdGFydF9w ZXJpb2Q6IDE1cworCisgIG5vZGUzOgorICAgIGJ1aWxkOgorICAgICAgY29udGV4dDogLgorICAg ICAgZG9ja2VyZmlsZTogRG9ja2VyZmlsZQorICAgIGltYWdlOiBwbXhjZnMtdGVzdDpsYXRlc3QK KyAgICBjb250YWluZXJfbmFtZTogcG14Y2ZzLWNsdXN0ZXItbm9kZTMKKyAgICBob3N0bmFtZTog bm9kZTMKKyAgICBwcml2aWxlZ2VkOiB0cnVlCisgICAgY2FwX2FkZDoKKyAgICAgIC0gU1lTX0FE TUlOCisgICAgICAtIFNZU19SRVNPVVJDRQorICAgIGRldmljZXM6CisgICAgICAtIC9kZXYvZnVz ZQorICAgIHZvbHVtZXM6CisgICAgICAtIC4uLy4uLy4uLy4uLzovd29ya3NwYWNlOnJvCisgICAg ICAtIC4uL3Jlc3VsdHM6L3Rlc3QvcmVzdWx0cworICAgICAgLSBub2RlMy1kYXRhOi90ZXN0L2Ri CisgICAgICAtIGNsdXN0ZXItY29uZmlnOi9ldGMvY29yb3N5bmMKKyAgICBuZXR3b3JrczoKKyAg ICAgIHBteGNmcy1jbHVzdGVyOgorICAgICAgICBpcHY0X2FkZHJlc3M6IDE3Mi4zMC4wLjEzCisg ICAgZW52aXJvbm1lbnQ6CisgICAgICAtIFJVU1RfTE9HPWluZm8KKyAgICAgIC0gUlVTVF9CQUNL VFJBQ0U9MQorICAgICAgLSBOT0RFX05BTUU9bm9kZTMKKyAgICAgIC0gTk9ERV9JRD0zCisgICAg ICAtIENMVVNURVJfVFlQRT1jbHVzdGVyCisgICAgaGVhbHRoY2hlY2s6CisgICAgICB0ZXN0OiBb IkNNRC1TSEVMTCIsICJwZ3JlcCBwbXhjZnMgPiAvZGV2L251bGwgJiYgdGVzdCAtZCAvdGVzdC9w dmUiXQorICAgICAgaW50ZXJ2YWw6IDVzCisgICAgICB0aW1lb3V0OiAzcworICAgICAgcmV0cmll czogNQorICAgICAgc3RhcnRfcGVyaW9kOiAxNXMKKworbmV0d29ya3M6CisgIHBteGNmcy1jbHVz dGVyOgorICAgIGRyaXZlcjogYnJpZGdlCisgICAgaXBhbToKKyAgICAgIGNvbmZpZzoKKyAgICAg ICAgLSBzdWJuZXQ6IDE3Mi4zMC4wLjAvMTYKKwordm9sdW1lczoKKyAgbm9kZTEtZGF0YToKKyAg bm9kZTItZGF0YToKKyAgbm9kZTMtZGF0YToKKyAgY2x1c3Rlci1jb25maWc6CmRpZmYgLS1naXQg YS9zcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzL2RvY2tlci9kb2NrZXItY29tcG9zZS5t aXhlZC55bWwgYi9zcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzL2RvY2tlci9kb2NrZXIt Y29tcG9zZS5taXhlZC55bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLjI0 Y2VmY2I3Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0 cy9kb2NrZXIvZG9ja2VyLWNvbXBvc2UubWl4ZWQueW1sCkBAIC0wLDAgKzEsMTIzIEBACit2ZXJz aW9uOiAnMy44JworCisjIE1peGVkIGNsdXN0ZXIgY29uZmlndXJhdGlvbiBmb3IgdGVzdGluZyBD IGFuZCBSdXN0IHBteGNmcyBpbnRlcm9wZXJhYmlsaXR5CisjIE5vZGUgMTogUnVzdCBwbXhjZnMK KyMgTm9kZSAyOiBSdXN0IHBteGNmcworIyBOb2RlIDM6IEMgcG14Y2ZzIChsZWdhY3kpCisKK3Nl cnZpY2VzOgorICBub2RlMToKKyAgICBidWlsZDoKKyAgICAgIGNvbnRleHQ6IC4KKyAgICAgIGRv Y2tlcmZpbGU6IERvY2tlcmZpbGUKKyAgICBpbWFnZTogcG14Y2ZzLXRlc3Q6bGF0ZXN0CisgICAg Y29udGFpbmVyX25hbWU6IHBteGNmcy1taXhlZC1ub2RlMQorICAgIGhvc3RuYW1lOiBub2RlMQor ICAgIHByaXZpbGVnZWQ6IHRydWUKKyAgICBjYXBfYWRkOgorICAgICAgLSBTWVNfQURNSU4KKyAg ICAgIC0gU1lTX1JFU09VUkNFCisgICAgZGV2aWNlczoKKyAgICAgIC0gL2Rldi9mdXNlCisgICAg dm9sdW1lczoKKyAgICAgIC0gLi4vLi4vLi4vLi4vOi93b3Jrc3BhY2U6cm8KKyAgICAgIC0gLi4v cmVzdWx0czovdGVzdC9yZXN1bHRzCisgICAgICAtIG5vZGUxLWRhdGE6L3Rlc3QvZGIKKyAgICAg IC0gbWl4ZWQtY2x1c3Rlci1jb25maWc6L2V0Yy9jb3Jvc3luYworICAgIG5ldHdvcmtzOgorICAg ICAgcG14Y2ZzLW1peGVkOgorICAgICAgICBpcHY0X2FkZHJlc3M6IDE3Mi4yMS4wLjExCisgICAg ZW52aXJvbm1lbnQ6CisgICAgICAtIFJVU1RfTE9HPWluZm8KKyAgICAgIC0gUlVTVF9CQUNLVFJB Q0U9MQorICAgICAgLSBOT0RFX05BTUU9bm9kZTEKKyAgICAgIC0gTk9ERV9JRD0xCisgICAgICAt IFBNWENGU19UWVBFPXJ1c3QKKyAgICAgIC0gQ0xVU1RFUl9UWVBFPW1peGVkCisgICAgaGVhbHRo Y2hlY2s6CisgICAgICB0ZXN0OiBbIkNNRC1TSEVMTCIsICJwZ3JlcCBwbXhjZnMgPiAvZGV2L251 bGwgJiYgdGVzdCAtZCAvdGVzdC9wdmUiXQorICAgICAgaW50ZXJ2YWw6IDVzCisgICAgICB0aW1l b3V0OiAzcworICAgICAgcmV0cmllczogNQorICAgICAgc3RhcnRfcGVyaW9kOiAxNXMKKworICBu b2RlMjoKKyAgICBidWlsZDoKKyAgICAgIGNvbnRleHQ6IC4KKyAgICAgIGRvY2tlcmZpbGU6IERv Y2tlcmZpbGUKKyAgICBpbWFnZTogcG14Y2ZzLXRlc3Q6bGF0ZXN0CisgICAgY29udGFpbmVyX25h bWU6IHBteGNmcy1taXhlZC1ub2RlMgorICAgIGhvc3RuYW1lOiBub2RlMgorICAgIHByaXZpbGVn ZWQ6IHRydWUKKyAgICBjYXBfYWRkOgorICAgICAgLSBTWVNfQURNSU4KKyAgICAgIC0gU1lTX1JF U09VUkNFCisgICAgZGV2aWNlczoKKyAgICAgIC0gL2Rldi9mdXNlCisgICAgdm9sdW1lczoKKyAg ICAgIC0gLi4vLi4vLi4vLi4vOi93b3Jrc3BhY2U6cm8KKyAgICAgIC0gLi4vcmVzdWx0czovdGVz dC9yZXN1bHRzCisgICAgICAtIG5vZGUyLWRhdGE6L3Rlc3QvZGIKKyAgICAgIC0gbWl4ZWQtY2x1 c3Rlci1jb25maWc6L2V0Yy9jb3Jvc3luYworICAgIG5ldHdvcmtzOgorICAgICAgcG14Y2ZzLW1p eGVkOgorICAgICAgICBpcHY0X2FkZHJlc3M6IDE3Mi4yMS4wLjEyCisgICAgZW52aXJvbm1lbnQ6 CisgICAgICAtIFJVU1RfTE9HPWluZm8KKyAgICAgIC0gUlVTVF9CQUNLVFJBQ0U9MQorICAgICAg LSBOT0RFX05BTUU9bm9kZTIKKyAgICAgIC0gTk9ERV9JRD0yCisgICAgICAtIFBNWENGU19UWVBF PXJ1c3QKKyAgICAgIC0gQ0xVU1RFUl9UWVBFPW1peGVkCisgICAgaGVhbHRoY2hlY2s6CisgICAg ICB0ZXN0OiBbIkNNRC1TSEVMTCIsICJwZ3JlcCBwbXhjZnMgPiAvZGV2L251bGwgJiYgdGVzdCAt ZCAvdGVzdC9wdmUiXQorICAgICAgaW50ZXJ2YWw6IDVzCisgICAgICB0aW1lb3V0OiAzcworICAg ICAgcmV0cmllczogNQorICAgICAgc3RhcnRfcGVyaW9kOiAxNXMKKworICBub2RlMzoKKyAgICBi dWlsZDoKKyAgICAgIGNvbnRleHQ6IC4KKyAgICAgIGRvY2tlcmZpbGU6IERvY2tlcmZpbGUKKyAg ICBpbWFnZTogcG14Y2ZzLXRlc3Q6bGF0ZXN0CisgICAgY29udGFpbmVyX25hbWU6IHBteGNmcy1t aXhlZC1ub2RlMworICAgIGhvc3RuYW1lOiBub2RlMworICAgIHByaXZpbGVnZWQ6IHRydWUKKyAg ICBjYXBfYWRkOgorICAgICAgLSBTWVNfQURNSU4KKyAgICAgIC0gU1lTX1JFU09VUkNFCisgICAg ZGV2aWNlczoKKyAgICAgIC0gL2Rldi9mdXNlCisgICAgdm9sdW1lczoKKyAgICAgIC0gLi4vLi4v Li4vLi4vOi93b3Jrc3BhY2U6cm8KKyAgICAgIC0gLi4vcmVzdWx0czovdGVzdC9yZXN1bHRzCisg ICAgICAtIG5vZGUzLWRhdGE6L3Rlc3QvZGIKKyAgICAgIC0gbWl4ZWQtY2x1c3Rlci1jb25maWc6 L2V0Yy9jb3Jvc3luYworICAgIG5ldHdvcmtzOgorICAgICAgcG14Y2ZzLW1peGVkOgorICAgICAg ICBpcHY0X2FkZHJlc3M6IDE3Mi4yMS4wLjEzCisgICAgZW52aXJvbm1lbnQ6CisgICAgICAtIE5P REVfTkFNRT1ub2RlMworICAgICAgLSBOT0RFX0lEPTMKKyAgICAgIC0gUE1YQ0ZTX1RZUEU9Ywor ICAgICAgLSBDTFVTVEVSX1RZUEU9bWl4ZWQKKyAgICBoZWFsdGhjaGVjazoKKyAgICAgIHRlc3Q6 IFsiQ01ELVNIRUxMIiwgInBncmVwIHBteGNmcyA+IC9kZXYvbnVsbCAmJiB0ZXN0IC1kIC9ldGMv cHZlIl0KKyAgICAgIGludGVydmFsOiA1cworICAgICAgdGltZW91dDogM3MKKyAgICAgIHJldHJp ZXM6IDUKKyAgICAgIHN0YXJ0X3BlcmlvZDogMTVzCisKK25ldHdvcmtzOgorICBwbXhjZnMtbWl4 ZWQ6CisgICAgZHJpdmVyOiBicmlkZ2UKKyAgICBpcGFtOgorICAgICAgY29uZmlnOgorICAgICAg ICAtIHN1Ym5ldDogMTcyLjIxLjAuMC8xNgorCit2b2x1bWVzOgorICBub2RlMS1kYXRhOgorICBu b2RlMi1kYXRhOgorICBub2RlMy1kYXRhOgorICBtaXhlZC1jbHVzdGVyLWNvbmZpZzoKZGlmZiAt LWdpdCBhL3NyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvZG9ja2VyL2RvY2tlci1jb21w b3NlLnltbCBiL3NyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvZG9ja2VyL2RvY2tlci1j b21wb3NlLnltbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uZTc5ZDQwMWIK LS0tIC9kZXYvbnVsbAorKysgYi9zcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzL2RvY2tl ci9kb2NrZXItY29tcG9zZS55bWwKQEAgLTAsMCArMSw1NCBAQAorc2VydmljZXM6CisgIHBteGNm cy10ZXN0OgorICAgIGJ1aWxkOgorICAgICAgY29udGV4dDogLgorICAgICAgZG9ja2VyZmlsZTog RG9ja2VyZmlsZQorICAgIGltYWdlOiBwbXhjZnMtdGVzdDpsYXRlc3QKKyAgICBjb250YWluZXJf bmFtZTogcG14Y2ZzLXRlc3QKKyAgICBob3N0bmFtZTogdGVzdG5vZGUKKyAgICBwcml2aWxlZ2Vk OiB0cnVlCisgICAgY2FwX2FkZDoKKyAgICAgIC0gU1lTX0FETUlOCisgICAgICAtIFNZU19SRVNP VVJDRQorICAgIGRldmljZXM6CisgICAgICAtIC9kZXYvZnVzZQorICAgIHZvbHVtZXM6CisgICAg ICAtIC4uLy4uLy4uLy4uLzovd29ya3NwYWNlOnJvCisgICAgICAtIC4uL3Jlc3VsdHM6L3Rlc3Qv cmVzdWx0cworICAgICAgLSB0ZXN0LWRhdGE6L3Rlc3QvZGIKKyAgICBlbnZpcm9ubWVudDoKKyAg ICAgIC0gUlVTVF9MT0c9aW5mbworICAgICAgLSBSVVNUX0JBQ0tUUkFDRT0xCisgICAgICAtIE5P REVfTkFNRT10ZXN0bm9kZQorICAgICAgLSBOT0RFX0lEPTEKKyAgICBjb21tYW5kOiBbIi93b3Jr c3BhY2Uvc3JjL3BteGNmcy1ycy90YXJnZXQvcmVsZWFzZS9wbXhjZnMiLCAiLS1mb3JlZ3JvdW5k IiwgIi0tdGVzdC1kaXIiLCAiL3Rlc3QiLCAiLS1sb2NhbCJdCisgICAgaGVhbHRoY2hlY2s6Cisg ICAgICB0ZXN0OiBbIkNNRC1TSEVMTCIsICJwZ3JlcCBwbXhjZnMgPiAvZGV2L251bGwgJiYgdGVz dCAtZCAvdGVzdC9wdmUiXQorICAgICAgaW50ZXJ2YWw6IDVzCisgICAgICB0aW1lb3V0OiAzcwor ICAgICAgcmV0cmllczogNQorICAgICAgc3RhcnRfcGVyaW9kOiAxMHMKKworICBjLXRlc3RzOgor ICAgIGJ1aWxkOgorICAgICAgY29udGV4dDogLgorICAgICAgZG9ja2VyZmlsZTogRG9ja2VyZmls ZQorICAgIGltYWdlOiBwbXhjZnMtdGVzdDpsYXRlc3QKKyAgICBjb250YWluZXJfbmFtZTogcG14 Y2ZzLWMtdGVzdHMKKyAgICBob3N0bmFtZTogdGVzdG5vZGUKKyAgICBwcml2aWxlZ2VkOiB0cnVl CisgICAgY2FwX2FkZDoKKyAgICAgIC0gU1lTX0FETUlOCisgICAgICAtIFNZU19SRVNPVVJDRQor ICAgIGRldmljZXM6CisgICAgICAtIC9kZXYvZnVzZQorICAgIHZvbHVtZXM6CisgICAgICAtIC4u Ly4uLy4uLy4uLzovd29ya3NwYWNlOnJvCisgICAgICAtIC4uL3Jlc3VsdHM6L3Rlc3QvcmVzdWx0 cworICAgIGVudmlyb25tZW50OgorICAgICAgLSBSVVNUX0xPRz1pbmZvCisgICAgICAtIFJVU1Rf QkFDS1RSQUNFPTEKKyAgICBjb21tYW5kOiBbIi93b3Jrc3BhY2Uvc3JjL3BteGNmcy1ycy9pbnRl Z3JhdGlvbi10ZXN0cy90ZXN0cy9ydW4tYy10ZXN0cy5zaCJdCisKK3ZvbHVtZXM6CisgIHRlc3Qt ZGF0YToKZGlmZiAtLWdpdCBhL3NyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvZG9ja2Vy L2hlYWx0aGNoZWNrLnNoIGIvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy9kb2NrZXIv aGVhbHRoY2hlY2suc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLmZhMGNl MWU2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy9k b2NrZXIvaGVhbHRoY2hlY2suc2gKQEAgLTAsMCArMSwxOSBAQAorIyEvYmluL3NoCisjIEhlYWx0 aCBjaGVjayBzY3JpcHQgZm9yIHBteGNmcyBjbHVzdGVyIG5vZGVzCisKKyMgQ2hlY2sgaWYgY29y b3N5bmMgaXMgcnVubmluZworaWYgISBwZ3JlcCAteCBjb3Jvc3luYyA+L2Rldi9udWxsIDI+JjE7 IHRoZW4KKyAgICBleGl0IDEKK2ZpCisKKyMgQ2hlY2sgaWYgcG14Y2ZzIGlzIHJ1bm5pbmcKK2lm ICEgcGdyZXAgLXggcG14Y2ZzID4vZGV2L251bGwgMj4mMTsgdGhlbgorICAgIGV4aXQgMQorZmkK KworIyBDaGVjayBpZiBGVVNFIGZpbGVzeXN0ZW0gaXMgbW91bnRlZAoraWYgWyAhIC1kIC90ZXN0 L3B2ZSBdOyB0aGVuCisgICAgZXhpdCAxCitmaQorCitleGl0IDAKZGlmZiAtLWdpdCBhL3NyYy9w bXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvZG9ja2VyL2xpYi9jb3Jvc3luYy5jb25mLm1peGVk LnRlbXBsYXRlIGIvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy9kb2NrZXIvbGliL2Nv cm9zeW5jLmNvbmYubWl4ZWQudGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAuLjE2MDZiZDk4Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL3BteGNmcy1ycy9pbnRlZ3Jh dGlvbi10ZXN0cy9kb2NrZXIvbGliL2Nvcm9zeW5jLmNvbmYubWl4ZWQudGVtcGxhdGUKQEAgLTAs MCArMSw0NiBAQAordG90ZW0geworICAgIHZlcnNpb246IDIKKyAgICBjbHVzdGVyX25hbWU6IHBt eGNmcy1taXhlZC10ZXN0CisgICAgdHJhbnNwb3J0OiB1ZHB1CisgICAgY29uZmlnX3ZlcnNpb246 IDEKKyAgICBpbnRlcmZhY2UgeworICAgICAgICByaW5nbnVtYmVyOiAwCisgICAgICAgIGJpbmRu ZXRhZGRyOiAxNzIuMjEuMC4wCisgICAgICAgIGJyb2FkY2FzdDogeWVzCisgICAgICAgIG1jYXN0 cG9ydDogNTQwNQorICAgIH0KK30KKworbm9kZWxpc3QgeworICAgIG5vZGUgeworICAgICAgICBy aW5nMF9hZGRyOiAxNzIuMjEuMC4xMQorICAgICAgICBuYW1lOiBub2RlMQorICAgICAgICBub2Rl aWQ6IDEKKyAgICAgICAgcXVvcnVtX3ZvdGVzOiAxCisgICAgfQorICAgIG5vZGUgeworICAgICAg ICByaW5nMF9hZGRyOiAxNzIuMjEuMC4xMgorICAgICAgICBuYW1lOiBub2RlMgorICAgICAgICBu b2RlaWQ6IDIKKyAgICAgICAgcXVvcnVtX3ZvdGVzOiAxCisgICAgfQorICAgIG5vZGUgeworICAg ICAgICByaW5nMF9hZGRyOiAxNzIuMjEuMC4xMworICAgICAgICBuYW1lOiBub2RlMworICAgICAg ICBub2RlaWQ6IDMKKyAgICAgICAgcXVvcnVtX3ZvdGVzOiAxCisgICAgfQorfQorCitxdW9ydW0g eworICAgIHByb3ZpZGVyOiBjb3Jvc3luY192b3RlcXVvcnVtCisgICAgZXhwZWN0ZWRfdm90ZXM6 IDMKKyAgICB0d29fbm9kZTogMAorfQorCitsb2dnaW5nIHsKKyAgICB0b19sb2dmaWxlOiB5ZXMK KyAgICBsb2dmaWxlOiAvdmFyL2xvZy9jb3Jvc3luYy9jb3Jvc3luYy5sb2cKKyAgICB0b19zeXNs b2c6IHllcworICAgIHRpbWVzdGFtcDogb24KK30KZGlmZiAtLWdpdCBhL3NyYy9wbXhjZnMtcnMv aW50ZWdyYXRpb24tdGVzdHMvZG9ja2VyL2xpYi9jb3Jvc3luYy5jb25mLnRlbXBsYXRlIGIvc3Jj L3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy9kb2NrZXIvbGliL2Nvcm9zeW5jLmNvbmYudGVt cGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLmIxYmRhOTJlCi0tLSAv ZGV2L251bGwKKysrIGIvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy9kb2NrZXIvbGli L2Nvcm9zeW5jLmNvbmYudGVtcGxhdGUKQEAgLTAsMCArMSw0NSBAQAordG90ZW0geworICAgIHZl cnNpb246IDIKKyAgICBjbHVzdGVyX25hbWU6IHBteGNmcy10ZXN0CisgICAgdHJhbnNwb3J0OiB1 ZHB1CisgICAgaW50ZXJmYWNlIHsKKyAgICAgICAgcmluZ251bWJlcjogMAorICAgICAgICBiaW5k bmV0YWRkcjogMTcyLjMwLjAuMAorICAgICAgICBicm9hZGNhc3Q6IHllcworICAgICAgICBtY2Fz dHBvcnQ6IDU0MDUKKyAgICB9Cit9CisKK25vZGVsaXN0IHsKKyAgICBub2RlIHsKKyAgICAgICAg cmluZzBfYWRkcjogMTcyLjMwLjAuMTEKKyAgICAgICAgbmFtZTogbm9kZTEKKyAgICAgICAgbm9k ZWlkOiAxCisgICAgICAgIHF1b3J1bV92b3RlczogMQorICAgIH0KKyAgICBub2RlIHsKKyAgICAg ICAgcmluZzBfYWRkcjogMTcyLjMwLjAuMTIKKyAgICAgICAgbmFtZTogbm9kZTIKKyAgICAgICAg bm9kZWlkOiAyCisgICAgICAgIHF1b3J1bV92b3RlczogMQorICAgIH0KKyAgICBub2RlIHsKKyAg ICAgICAgcmluZzBfYWRkcjogMTcyLjMwLjAuMTMKKyAgICAgICAgbmFtZTogbm9kZTMKKyAgICAg ICAgbm9kZWlkOiAzCisgICAgICAgIHF1b3J1bV92b3RlczogMQorICAgIH0KK30KKworcXVvcnVt IHsKKyAgICBwcm92aWRlcjogY29yb3N5bmNfdm90ZXF1b3J1bQorICAgIGV4cGVjdGVkX3ZvdGVz OiAzCisgICAgdHdvX25vZGU6IDAKK30KKworbG9nZ2luZyB7CisgICAgdG9fbG9nZmlsZTogeWVz CisgICAgbG9nZmlsZTogL3Zhci9sb2cvY29yb3N5bmMvY29yb3N5bmMubG9nCisgICAgdG9fc3lz bG9nOiB5ZXMKKyAgICB0aW1lc3RhbXA6IG9uCit9CmRpZmYgLS1naXQgYS9zcmMvcG14Y2ZzLXJz L2ludGVncmF0aW9uLXRlc3RzL2RvY2tlci9saWIvc2V0dXAtY2x1c3Rlci5zaCBiL3NyYy9wbXhj ZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvZG9ja2VyL2xpYi9zZXR1cC1jbHVzdGVyLnNoCm5ldyBm aWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwLi5hMjI1NDliOQotLS0gL2Rldi9udWxsCisr KyBiL3NyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvZG9ja2VyL2xpYi9zZXR1cC1jbHVz dGVyLnNoCkBAIC0wLDAgKzEsNjcgQEAKKyMhL2Jpbi9iYXNoCisjIFNldHVwIGNvcm9zeW5jIGNs dXN0ZXIgZm9yIHBteGNmcyB0ZXN0aW5nCisjIFJ1biB0aGlzIG9uIGVhY2ggY29udGFpbmVyIG5v ZGUgdG8gZW5hYmxlIGNsdXN0ZXIgc3luYworCitzZXQgLWUKKworU0NSSVBUX0RJUj0iJChjZCAi JChkaXJuYW1lICIke0JBU0hfU09VUkNFWzBdfSIpIiAmJiBwd2QpIgorCitlY2hvICI9PT0gU2V0 dGluZyB1cCBDb3Jvc3luYyBDbHVzdGVyID09PSIKKworIyBDaGVjayBpZiBydW5uaW5nIGluIGNv bnRhaW5lcgoraWYgWyAhIC1mIC8uZG9ja2VyZW52IF0gJiYgISBncmVwIC1xIGRvY2tlciAvcHJv Yy8xL2Nncm91cCAyPi9kZXYvbnVsbDsgdGhlbgorICAgIGVjaG8gIldBUk5JTkc6IE5vdCBydW5u aW5nIGluIGNvbnRhaW5lciIKK2ZpCisKKyMgR2V0IG5vZGUgSUQgZnJvbSBlbnZpcm9ubWVudCBv ciBob3N0bmFtZQorTk9ERV9JRD0ke05PREVfSUQ6LTF9CitOT0RFX05BTUU9JHtOT0RFX05BTUU6 LSQoaG9zdG5hbWUpfQorCitlY2hvICJOb2RlOiAkTk9ERV9OQU1FIChJRDogJE5PREVfSUQpIgor CisjIENyZWF0ZSBjb3Jvc3luYyBkaXJlY3RvcmllcworbWtkaXIgLXAgL2V0Yy9jb3Jvc3luYyAv dmFyL2xvZy9jb3Jvc3luYworCisjIENvcHkgY29yb3N5bmMgY29uZmlndXJhdGlvbgoraWYgWyAt ZiAiJFNDUklQVF9ESVIvY29yb3N5bmMuY29uZi50ZW1wbGF0ZSIgXTsgdGhlbgorICAgIGNwICIk U0NSSVBUX0RJUi9jb3Jvc3luYy5jb25mLnRlbXBsYXRlIiAvZXRjL2Nvcm9zeW5jL2Nvcm9zeW5j LmNvbmYKKyAgICBlY2hvICLinJMgQ29yb3N5bmMgY29uZmlndXJhdGlvbiBpbnN0YWxsZWQiCitl bHNlCisgICAgZWNobyAiRVJST1I6IGNvcm9zeW5jLmNvbmYudGVtcGxhdGUgbm90IGZvdW5kIgor ICAgIGV4aXQgMQorZmkKKworIyBDcmVhdGUgYXV0aGtleSAoc2FtZSBmb3IgYWxsIG5vZGVzKQor aWYgWyAhIC1mIC9ldGMvY29yb3N5bmMvYXV0aGtleSBdOyB0aGVuCisgICAgIyBHZW5lcmF0ZSBv ciB1c2UgcHJlLXNoYXJlZCBhdXRoa2V5CisgICAgIyBGb3IgdGVzdGluZywgd2UgdXNlIGEgZml4 ZWQga2V5IChpbiBwcm9kdWN0aW9uLCBnZW5lcmF0ZSBzZWN1cmVseSkKKyAgICBlY2hvICJ0ZXN0 LWNsdXN0ZXIta2V5LSQoZGF0ZSArJVklbSVkKSIgfCBzaGEyNTZzdW0gfCBjdXQgLWQnICcgLWYx ID4gL2V0Yy9jb3Jvc3luYy9hdXRoa2V5CisgICAgY2htb2QgNDAwIC9ldGMvY29yb3N5bmMvYXV0 aGtleQorICAgIGVjaG8gIuKckyBDb3Jvc3luYyBhdXRoa2V5IGNyZWF0ZWQiCitmaQorCisjIFN0 YXJ0IGNvcm9zeW5jIChpZiBpbnN0YWxsZWQpCitpZiBjb21tYW5kIC12IGNvcm9zeW5jICY+IC9k ZXYvbnVsbDsgdGhlbgorICAgIGVjaG8gIlN0YXJ0aW5nIGNvcm9zeW5jLi4uIgorICAgIGNvcm9z eW5jIC1mICYKKyAgICBDT1JPU1lOQ19QSUQ9JCEKKyAgICBlY2hvICLinJMgQ29yb3N5bmMgc3Rh cnRlZCAoUElEOiAkQ09ST1NZTkNfUElEKSIKKworICAgICMgV2FpdCBmb3IgY29yb3N5bmMgdG8g YmUgcmVhZHkKKyAgICBzbGVlcCAyCisKKyAgICAjIENoZWNrIGNvcm9zeW5jIHN0YXR1cworICAg IGlmIGNvcm9zeW5jLXF1b3J1bXRvb2wgLXMgJj4gL2Rldi9udWxsOyB0aGVuCisgICAgICAgIGVj aG8gIuKckyBDb3Jvc3luYyBjbHVzdGVyIGlzIG9wZXJhdGlvbmFsIgorICAgICAgICBjb3Jvc3lu Yy1xdW9ydW10b29sIC1zCisgICAgZWxzZQorICAgICAgICBlY2hvICLimqAgQ29yb3N5bmMgc3Rh cnRlZCBidXQgcXVvcnVtIG5vdCByZWFjaGVkIHlldCIKKyAgICBmaQorZWxzZQorICAgIGVjaG8g IuKaoCBDb3Jvc3luYyBub3QgaW5zdGFsbGVkLCBza2lwcGluZyBjbHVzdGVyIHNldHVwIgorICAg IGVjaG8gIkluc3RhbGwgd2l0aDogYXB0LWdldCBpbnN0YWxsIGNvcm9zeW5jIGNvcm9zeW5jLXFk ZXZpY2UiCitmaQorCitlY2hvICIiCitlY2hvICJDbHVzdGVyIHNldHVwIGNvbXBsZXRlISIKK2Vj aG8gIk5leHQ6IFN0YXJ0IHBteGNmcyB3aXRoIGNsdXN0ZXIgbW9kZSAocmVtb3ZlIC0tdGVzdC1k aXIpIgpkaWZmIC0tZ2l0IGEvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy9kb2NrZXIv cHJveG1veC1hcmNoaXZlLWtleXJpbmcuZ3BnIGIvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10 ZXN0cy9kb2NrZXIvcHJveG1veC1hcmNoaXZlLWtleXJpbmcuZ3BnCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU1ZmU2 MzBjNTBmMDgyZDNlMGQxYWMzZWFmYTMyZTk2NjhkMTRiYzIKR0lUIGJpbmFyeSBwYXRjaApsaXRl cmFsIDIzNzIKemNtYlclY3t+JTA5fCFQXyZDRDVeI1UhSDtHVVNSYGJDcS1DPW8rfm1WUkdtOGgr T2VGTWt9VDQkcV89UiNGJH1aCnpqJEYkJTx2I1k1KjI+WjI9SiEwVz1sQV5rYHtWY0xfdyMqeXtg PFYlNDd4NElFNk12UUBDY3h2KjlVSXs+JUwoOQp6UUQ0OXxjX1RNWHdhOXIqKEZSIyVaKX5JYVQ8 WEtsSjgkQElNPW4pVSROUSE1R3lWNi1ebSk/ZzNnJmNHXnBMNlcKempFTWN0I0wyeVIlRzQtNEZK Jn0kN2RFfD4+Snh3YnRhNnJFTE42cGw9NXFNSz1FeUAmVSVTY3RWOz85ZHQmZjxXCnomSW00cHBY IylicGY7O1hlZ3tLMT02eDNPbThJSmxFJm09MGBYVGZEWWlne2s3UEdrJWdedSpeMz9zcC1QMzVf KQp6SSNuc3dOJWNkYmNZeG9NPGlQYUNVQHJHXmJLP3lydGFkU0ZHfCs1cV5QNitPZGhGRH5ROD1U WW42TXcyWE9jZ2wKekhxWmdLM1ZzXktpI1prclh3TSMxdGNnJmZBQypxb3N0QlNnO2leSStmSTZp PWYtRmdHcWd+VVAtbnhafUU9P3NSCnpFX3RzZjUweDRvZVJEbDBhU3V6TUVsSyZfKEk3RVc5QUQz XnlxZWJNPjxgWiR4O180Q2I5eXgtWE4tNTQ+MVAjPQp6KlZmfGooYilTPHdDJXpIREtxalYjYllu PmRDaHhNdFRCO2lRMThENzsoXzl1PWx4Syk3I013NXlablJRYzkkcSQKem5YUGs4TGlQTTMwTWs8 SV8mcVdiS201Qk0xKnt+LURWblVqQiZzZGBBdChwVVpnfTNXRXg2OyFSVVc+eGV8dX5oCnplMUZS QHZ0UiZMPUVISWspQlZgfEZsVzR6YWVBQyhSOEhFU1ByNyt3SmA+Nl5qJmAzcFZPU18tZjlZLUFM Mjg0Kgp6R3dlNkFkSVUqMXheJVZ9MCtDZzgwQS13Z3p0KnR+OEIoI0VxbFU0SjBBZkdAYUtPTW1H JDwre0NgISZHRDlBckQKekNeU0lNIVRYbENOMF8mcXdSZn19SXsyVU9uYjNiaT8wO2B7dWI9PS0y Yn4weDAxNXl3bDFSfFR5ZT1iZFlEdDxzCno2VnhNeXQ8Q1d3MyFNWT17SmtfRDFUUHBXLXA+bUYz cXR1SkpiVysjRDhDPk5OUm8jYSRSaThuZmhQYjJwaHkwIwp6RztOQ1JAeW5seGBlZDYmSDhPcGte Ml4wMmdWfT1MISE7ZGtne0ZDX2I5Sig2VFlMMW5UKlRGXjhLWWxjQDVARzMKemVkdVl+elpBYk9Z ZiVoe3l9c2VEdigpPzh6dl9OOXomT3JMNkdJI3xEKSUkR29uVWc0bHU4PiZjbndfOWZuQnUlCnpR ZXJ9XmZxRnY1Ji04Pnw7M0AjTTdkSmw7NCg9JXdQVSZnZndRIVQkbFhOUmVIMXwraTF1SG5kRzBa d21sUiNKXwp6UH1PYFg5TX5aOE07N3NDIyUlMU11WCFFPkRxYkNTOWdYN3pAZ0hZbFZzVnl2UE0z QSFPRkd3V15+YU55eG43SHoKenM+O08lZTZ1eTUjRkF4MjJTZ3F0MkFoXmVpSjN5UT9QbFRPI2tQ RUh7OVp2fGRHIX5BXj9PJGQ+Tk43TTxadlpyCno/KzJlaz9ZbjRkeVh9MmpyKzE2KHl+Mn1rbCRx Q0VfZjRfJWNBTDw1PXtSfFg7dEdncHJ1JlohJWNfRG10PCMtfQp6MFolSDFkRlErdXpKITR+TWl5 ZTQqfndAVUFoc0VNNXRgOTZVZHNRQlAjK2NePStXN0B2UHtickg8QXg/STlzdnkKem1+RllPYHFq Kk9laypnbUJPdlV+aWV5OEpaV3opV1VTUUl8UE1rVERJNyZObnt1b1dpMU4/MXpXLSgkWiR5R3d0 CnomQ0s2aUMyX0w8SG5PV0Z4TkIkKnRJa0gpVHpOZ19KTHA8OUQwWEY+YzstWW92UDRvcl8/bEpC UU5uNmBTVFEyZAp6PEtaMUwpVm1uM0N6MHE3IXpHa1dNeXkqZlQ3MDxOJnV4amV3VzF2TVAwSFRn OTQlPFF0PVpfUT8lZl42VXF0ejYKenl6MlJqREVmNTkoMV5JdFJSMktAPDh1ME1TfSZWbnI+XnR5 TH5McV4kQmxVekNBREphbFFkdzgjJmMtYzR0d0lrCnpNKzN4M0F6T1h5Qi19MiZ4TkJQKWJBbSsj UXFRJElaNkpmczg+e3Q9TXowVGJoSG1ZLVRjaFR+enNTSzJNKl5vYQp6QSFlPCFMI3FtQ25MOyVY Xil0Ql9VKSkrXkBQK0R2JmNwaHVXRyhwUm5MKGM8OXRXMzsmI3UlTjt7WXxSWSFHREgKelAjfCFa QnYmPV5pTXNzZTZXMlUwZFYtU1lyRm1ePGxCc2VeXiFNOGkzYSYkfGJAJVFJJWZSQk5MS2ZWPD04 aGt0CnphdT5ENklIZ3ZoSVJlOzN7OTBMd1pXMyRiUngzYWFPZSEjSyhyaGFlKlNtdCphSDxmeVNS WWEoQGVVK3RxVnVjQgp6VkR3JTZvbHN8Ky1MOUNwc1cyPklZUGZPayE2MkJDQE9YbXwpcCFBc29H b0pCX059fTZqTGI0PSFRdUtgXjx2fHoKeisoSGB7V3JQfW0+VmkjSFgrQXQmZ0VATkRHUl5BQVJf e2ozOGVZI20wNG1uKUlgeV99VHgkJjcmITJscjl3ejhQCnpZP2g2RGR8d2AoWEZvZ2ZHZml9VG9r e1B3M3U1K2ZGRCEkOV80Pj58cilRcGhCbWdjTnNMfFI0YEhoZDlaM2AyWgp6UVh3JldOMFY7K0ct ZjlALUxtbmxTQG81bUBoK0slUkB5fXY4dyMpYWJxOE9QYFJZe15NZ05uV3NlSHRlemc4Z2wKekRk d2B3KGttIXN1fWE9KENIWjQwc2BVRiZMZGBOQGx8dll8QE9RciU0NWxzYCYxISQjYXMpV0VvT3Re V1FUcVE5Cno8ckx9ezw+JnFYMGQ/fD9DP0FLT004TXJSY3dnU2FHIVo8QSVtKHhQeSl6eUo+TXgp TSVsOz0mfDVsRCU2RnFkagp6T1hfPD8xSnpCaldVTHdVTVRlYlYmQEhOKnZQWDJCXmpPPUJlYEw9 VlNsU1d1PUA9dFI+TyVIKGJxQ2BRcn1XPDwKektRKnlYbkFzfkR1fWhRMnZ9fTB5cHZQNCpBdDZB SVFUdTM0SyhVZ0NGRTZVU1ZYcWo2TUdRXyY8b0RHaD4renxeCno1NmIpPWdJeXcmI1hOZDYjdVpX T0BmVGZ2b0lDUnwtYGdyIStEbnpJK21+PXgtWiZjQXIyLSFhekNaPG8kYW1nOQp6dmFnQUc9e2op NShgWXw8TiY2Uzthdk9APHhze2lDbHdSKlU0T1FKbiFwfD1ZUmg0PChgbm9BM180WXt9PitvMV8K eilfI0pIeTdgeVombW8jbjM4cGB3IWFuVkBBK1hYQEg2fjZDIVZ6bTlNV2AzYDwoTHdMXkh0V0Rg SVFfRjgzSXJRCnpkdCZeUztzKVdYTnFHMSpXNmFKVF9jKig4cVRAd0Mqfm9+SE83bm9AXlhrKUpx ODVfOVV4eShSclRyPlpkXjtgagp6RmFFP34/WSkoeztMamZmayYmcHZLZ1pQajNaQTB1PWcpSGNI KWB9VTRzfXBqYyVybU9SZzFJdyVJXkk/XmV4WlAKej89OGU+cGEmTWs7VjI3azwyanJSe0V0JThi ZkAlMl48VkoxJTxiJV9SXyREeS1obFZmQjlLMFdecEBgKF5zX2lpCnppRnVKbmJ9RnJ8R2kkSUxX O2FQVj4xYlVtSCY0eTxTUF5faVRKSyM3am1oZGYmdjlRbHZESG17SHNtUmdjMmMqWAp0OXUoJnF5 JHUwJXI1QCVJPnlWclRqcTV3WERIamVYanRQfSV2TkVYeGZge0x2ZUghfCt7c1lCaVZAdj01Cgps aXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9zcmMvcG14Y2ZzLXJzL2ludGVncmF0 aW9uLXRlc3RzL2RvY2tlci9wdmUtbm8tc3Vic2NyaXB0aW9uLnNvdXJjZXMgYi9zcmMvcG14Y2Zz LXJzL2ludGVncmF0aW9uLXRlc3RzL2RvY2tlci9wdmUtbm8tc3Vic2NyaXB0aW9uLnNvdXJjZXMK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLmZjZjI1M2U4Ci0tLSAvZGV2L251 bGwKKysrIGIvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy9kb2NrZXIvcHZlLW5vLXN1 YnNjcmlwdGlvbi5zb3VyY2VzCkBAIC0wLDAgKzEsNSBAQAorVHlwZXM6IGRlYgorVVJJczogaHR0 cDovL2Rvd25sb2FkLnByb3htb3guY29tL2RlYmlhbi9wdmUKK1N1aXRlczogdHJpeGllCitDb21w b25lbnRzOiBwdmUtbm8tc3Vic2NyaXB0aW9uCitTaWduZWQtQnk6IC91c3Ivc2hhcmUva2V5cmlu Z3MvcHJveG1veC1hcmNoaXZlLWtleXJpbmcuZ3BnCmRpZmYgLS1naXQgYS9zcmMvcG14Y2ZzLXJz L2ludGVncmF0aW9uLXRlc3RzL2RvY2tlci9zdGFydC1jbHVzdGVyLW5vZGUuc2ggYi9zcmMvcG14 Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzL2RvY2tlci9zdGFydC1jbHVzdGVyLW5vZGUuc2gKbmV3 IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAuLmE3OGIyN2FkCi0tLSAvZGV2L251bGwK KysrIGIvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy9kb2NrZXIvc3RhcnQtY2x1c3Rl ci1ub2RlLnNoCkBAIC0wLDAgKzEsMTM1IEBACisjIS9iaW4vYmFzaAorc2V0IC1lCisKKyMgRGV0 ZXJtaW5lIHdoaWNoIHBteGNmcyBiaW5hcnkgdG8gdXNlIChydXN0IG9yIGMpCisjIERlZmF1bHQg dG8gcnVzdCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eQorUE1YQ0ZTX1RZUEU9IiR7UE1YQ0ZT X1RZUEU6LXJ1c3R9IgorCitlY2hvICJTdGFydGluZyBjbHVzdGVyIG5vZGU6ICR7Tk9ERV9OQU1F Oi11bmtub3dufSAoSUQ6ICR7Tk9ERV9JRDotMX0sIFR5cGU6ICRQTVhDRlNfVFlQRSkiCisKKyMg SW5pdGlhbGl6ZSBjb3Jvc3luYy5jb25mIGZyb20gdGVtcGxhdGUgaWYgbm90IGV4aXN0cworaWYg WyAhIC1mIC9ldGMvY29yb3N5bmMvY29yb3N5bmMuY29uZiBdOyB0aGVuCisgICAgZWNobyAiSW5p dGlhbGl6aW5nIGNvcm9zeW5jIGNvbmZpZ3VyYXRpb24gZnJvbSB0ZW1wbGF0ZS4uLiIKKworICAg ICMgVXNlIENMVVNURVJfVFlQRSBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byBzZWxlY3QgdGVtcGxh dGUKKyAgICBpZiBbIC16ICIkQ0xVU1RFUl9UWVBFIiBdOyB0aGVuCisgICAgICAgIGVjaG8gIkVS Uk9SOiBDTFVTVEVSX1RZUEUgZW52aXJvbm1lbnQgdmFyaWFibGUgbm90IHNldCIKKyAgICAgICAg ZWNobyAiUGxlYXNlIHNldCBDTFVTVEVSX1RZUEUgdG8gZWl0aGVyICdjbHVzdGVyJyBvciAnbWl4 ZWQnIgorICAgICAgICBleGl0IDEKKyAgICBmaQorCisgICAgZWNobyAiVXNpbmcgQ0xVU1RFUl9U WVBFPSRDTFVTVEVSX1RZUEUgdG8gc2VsZWN0IHRlbXBsYXRlIgorICAgIGlmIFsgIiRDTFVTVEVS X1RZUEUiID0gIm1peGVkIiBdOyB0aGVuCisgICAgICAgIGVjaG8gIlVzaW5nIG1peGVkIGNsdXN0 ZXIgY29uZmlndXJhdGlvbiAoMTcyLjIxLjAuMC8xNikiCisgICAgICAgIGNwIC93b3Jrc3BhY2Uv c3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy9kb2NrZXIvbGliL2Nvcm9zeW5jLmNvbmYu bWl4ZWQudGVtcGxhdGUgL2V0Yy9jb3Jvc3luYy9jb3Jvc3luYy5jb25mCisgICAgZWxpZiBbICIk Q0xVU1RFUl9UWVBFIiA9ICJjbHVzdGVyIiBdOyB0aGVuCisgICAgICAgIGVjaG8gIlVzaW5nIHN0 YW5kYXJkIGNsdXN0ZXIgY29uZmlndXJhdGlvbiAoMTcyLjMwLjAuMC8xNikiCisgICAgICAgIGNw IC93b3Jrc3BhY2Uvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy9kb2NrZXIvbGliL2Nv cm9zeW5jLmNvbmYudGVtcGxhdGUgL2V0Yy9jb3Jvc3luYy9jb3Jvc3luYy5jb25mCisgICAgZWxz ZQorICAgICAgICBlY2hvICJFUlJPUjogSW52YWxpZCBDTFVTVEVSX1RZUEU9JENMVVNURVJfVFlQ RSIKKyAgICAgICAgZWNobyAiTXVzdCBiZSBlaXRoZXIgJ2NsdXN0ZXInIG9yICdtaXhlZCciCisg ICAgICAgIGV4aXQgMQorICAgIGZpCitmaQorCisjIENyZWF0ZSBhdXRoa2V5IGlmIG5vdCBleGlz dHMgKHNoYXJlZCBhY3Jvc3MgYWxsIG5vZGVzIHZpYSB2b2x1bWUpCitpZiBbICEgLWYgL2V0Yy9j b3Jvc3luYy9hdXRoa2V5IF07IHRoZW4KKyAgICBlY2hvICJwbXhjZnMtdGVzdC1jbHVzdGVyLTIw MjUiIHwgc2hhMjU2c3VtIHwgYXdrICd7cHJpbnQgJDF9JyA+IC9ldGMvY29yb3N5bmMvYXV0aGtl eQorICAgIGNobW9kIDQwMCAvZXRjL2Nvcm9zeW5jL2F1dGhrZXkKK2ZpCisKKyMgU3RhcnQgY29y b3N5bmMgaW4gYmFja2dyb3VuZAorZWNobyAiU3RhcnRpbmcgY29yb3N5bmMuLi4iCitjb3Jvc3lu YyAtZiAmCitDT1JPU1lOQ19QSUQ9JCEKKworIyBXYWl0IGZvciBjb3Jvc3luYyB0byBpbml0aWFs aXplCitzbGVlcCAzCisKKyMgQ2hlY2sgY29yb3N5bmMgc3RhdHVzCitpZiBjb3Jvc3luYy1xdW9y dW10b29sIC1zOyB0aGVuCisgICAgZWNobyAiQ29yb3N5bmMgY2x1c3RlciBpcyBvcGVyYXRpb25h bCIKK2Vsc2UKKyAgICBlY2hvICJDb3Jvc3luYyBzdGFydGVkLCB3YWl0aW5nIGZvciBxdW9ydW0u Li4iCitmaQorCisjIFNlbGVjdCBwbXhjZnMgYmluYXJ5IGJhc2VkIG9uIFBNWENGU19UWVBFCitp ZiBbICIkUE1YQ0ZTX1RZUEUiID0gImMiIF07IHRoZW4KKyAgICBlY2hvICJTdGFydGluZyBDIHBt eGNmcy4uLiIKKyAgICBQTVhDRlNfQklOPSIvd29ya3NwYWNlL3NyYy9wbXhjZnMvcG14Y2ZzIgor ICAgIFBNWENGU19BUkdTPSItZiAtZCIgICMgQyBwbXhjZnMgdXNlcyBkaWZmZXJlbnQgYXJndW1l bnQgZm9ybWF0CisKKyAgICAjIEMgcG14Y2ZzIHVzZXMgL2V0Yy9wdmUgYXMgZGVmYXVsdCBtb3Vu dCBwb2ludAorICAgIGlmIFsgISAtZCAiL2V0Yy9wdmUiIF07IHRoZW4KKyAgICAgICAgbWtkaXIg LXAgL2V0Yy9wdmUKKyAgICBmaQorCisgICAgaWYgWyAhIC14ICIkUE1YQ0ZTX0JJTiIgXTsgdGhl bgorICAgICAgICBlY2hvICJFUlJPUjogQyBwbXhjZnMgYmluYXJ5IG5vdCBmb3VuZCBvciBub3Qg ZXhlY3V0YWJsZSBhdCAkUE1YQ0ZTX0JJTiIKKyAgICAgICAgZWNobyAiUGxlYXNlIGVuc3VyZSB0 aGUgQyBiaW5hcnkgaXMgYnVpbHQgYW5kIGF2YWlsYWJsZSBpbiB0aGUgd29ya3NwYWNlIgorICAg ICAgICBleGl0IDEKKyAgICBmaQorCisgICAgIyBSdW4gQyBwbXhjZnMgaW4gZm9yZWdyb3VuZCAo ZG9uJ3QgdXNlIGV4ZWMgdG8ga2VlcCBjb3Jvc3luYyBydW5uaW5nKQorICAgICIkUE1YQ0ZTX0JJ TiIgJFBNWENGU19BUkdTICYKKyAgICBQTVhDRlNfUElEPSQhCisKKyAgICAjIFdhaXQgZm9yIHBt eGNmcyBwcm9jZXNzCisgICAgd2FpdCAkUE1YQ0ZTX1BJRAorZWxzZQorICAgIGVjaG8gIlN0YXJ0 aW5nIFJ1c3QgcG14Y2ZzLi4uIgorICAgIGV4cG9ydCBSVVNUX0JBQ0tUUkFDRT0xCisgICAgUE1Y Q0ZTX0JJTj0iL3dvcmtzcGFjZS9zcmMvcG14Y2ZzLXJzL3RhcmdldC9yZWxlYXNlL3BteGNmcyIK KworICAgIGlmIFsgISAteCAiJFBNWENGU19CSU4iIF07IHRoZW4KKyAgICAgICAgZWNobyAiRVJS T1I6IFJ1c3QgcG14Y2ZzIGJpbmFyeSBub3QgZm91bmQgb3Igbm90IGV4ZWN1dGFibGUgYXQgJFBN WENGU19CSU4iCisgICAgICAgIGV4aXQgMQorICAgIGZpCisKKyAgICAjIFByZXBhcmUgY29yb3N5 bmMuY29uZiBmb3IgcG14Y2ZzIHRvIGltcG9ydCBkdXJpbmcgaW5pdGlhbGl6YXRpb24KKyAgICAj IHBteGNmcyBsb29rcyBmb3IgY29yb3N5bmMuY29uZiBhdCAvdGVzdC9ldGMvY29yb3N5bmMvY29y b3N5bmMuY29uZiBpbiB0ZXN0IG1vZGUKKyAgICAjIE9ubHkgbm9kZTEgcHJvdmlkZXMgaXQgLSBv dGhlciBub2RlcyB3aWxsIGdldCBpdCB2aWEgREZTTSBzeW5jCisgICAgaWYgWyAiJHtOT0RFX0lE fSIgPSAiMSIgXTsgdGhlbgorICAgICAgICBpZiBbICEgLWQgL3Rlc3QvZXRjL2Nvcm9zeW5jIF07 IHRoZW4KKyAgICAgICAgICAgIG1rZGlyIC1wIC90ZXN0L2V0Yy9jb3Jvc3luYworICAgICAgICBm aQorICAgICAgICBpZiBbIC1mIC9ldGMvY29yb3N5bmMvY29yb3N5bmMuY29uZiBdOyB0aGVuCisg ICAgICAgICAgICBlY2hvICJOb2RlMTogUHJlcGFyaW5nIGNvcm9zeW5jLmNvbmYgZm9yIHBteGNm cyBpbXBvcnQuLi4iCisgICAgICAgICAgICBjcCAvZXRjL2Nvcm9zeW5jL2Nvcm9zeW5jLmNvbmYg L3Rlc3QvZXRjL2Nvcm9zeW5jL2Nvcm9zeW5jLmNvbmYKKyAgICAgICAgICAgIGVjaG8gIuKckyBj b3Jvc3luYy5jb25mIHJlYWR5IGZvciBpbXBvcnQgYnkgcG14Y2ZzIgorICAgICAgICBmaQorICAg IGZpCisKKyAgICAjIFJ1biBSdXN0IHBteGNmcyBpbiBmb3JlZ3JvdW5kIChkb24ndCB1c2UgZXhl YyB0byBrZWVwIGNvcm9zeW5jIHJ1bm5pbmcpCisgICAgIiRQTVhDRlNfQklOIiAtLWZvcmVncm91 bmQgLS10ZXN0LWRpciAvdGVzdCAmCisgICAgUE1YQ0ZTX1BJRD0kIQorCisgICAgIyBXYWl0IGZv ciBwbXhjZnMgdG8gbW91bnQgRlVTRQorICAgIGVjaG8gIldhaXRpbmcgZm9yIEZVU0UgbW91bnQu Li4iCisgICAgZm9yIGkgaW4gezEuLjMwfTsgZG8KKyAgICAgICAgaWYgbW91bnRwb2ludCAtcSAv dGVzdC9wdmU7IHRoZW4KKyAgICAgICAgICAgIGVjaG8gIuKckyBGVVNFIG1vdW50ZWQiCisgICAg ICAgICAgICBicmVhaworICAgICAgICBmaQorICAgICAgICBzbGVlcCAwLjUKKyAgICBkb25lCisK KyAgICAjIEZvciBub24tbm9kZTEgbm9kZXMsIHdhaXQgZm9yIGNvcm9zeW5jLmNvbmYgdG8gc3lu YyBmcm9tIGNsdXN0ZXIKKyAgICBpZiBbICIke05PREVfSUR9IiAhPSAiMSIgXTsgdGhlbgorICAg ICAgICBlY2hvICJOb2RlICR7Tk9ERV9JRH06IFdhaXRpbmcgZm9yIGNvcm9zeW5jLmNvbmYgdG8g c3luYyBmcm9tIGNsdXN0ZXIuLi4iCisgICAgICAgIGZvciBpIGluIHsxLi42MH07IGRvCisgICAg ICAgICAgICBpZiBbIC1mIC90ZXN0L3B2ZS9jb3Jvc3luYy5jb25mIF07IHRoZW4KKyAgICAgICAg ICAgICAgICBlY2hvICLinJMgY29yb3N5bmMuY29uZiBzeW5jZWQgZnJvbSBjbHVzdGVyIgorICAg ICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICBmaQorICAgICAgICAgICAgc2xlZXAgMQor ICAgICAgICBkb25lCisKKyAgICAgICAgaWYgWyAhIC1mIC90ZXN0L3B2ZS9jb3Jvc3luYy5jb25m IF07IHRoZW4KKyAgICAgICAgICAgIGVjaG8gIldBUk5JTkc6IGNvcm9zeW5jLmNvbmYgbm90IHN5 bmNlZCBhZnRlciA2MCBzZWNvbmRzIChjbHVzdGVyIG1heSBzdGlsbCB3b3JrKSIKKyAgICAgICAg ZmkKKyAgICBmaQorCisgICAgIyBXYWl0IGZvciBwbXhjZnMgcHJvY2VzcworICAgIHdhaXQgJFBN WENGU19QSUQKK2ZpCmRpZmYgLS1naXQgYS9zcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3Rz L3J1bi10ZXN0cy5zaCBiL3NyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvcnVuLXRlc3Rz LnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwLi5lMmZhNTE0NwotLS0gL2Rl di9udWxsCisrKyBiL3NyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvcnVuLXRlc3RzLnNo CkBAIC0wLDAgKzEsNDU0IEBACisjIS9iaW4vYmFzaAorIyBVbmlmaWVkIHRlc3QgcnVubmVyIGZv ciBwbXhjZnMgaW50ZWdyYXRpb24gdGVzdHMKKyMgQ29uc29saWRhdGVzIGFsbCB0ZXN0IGV4ZWN1 dGlvbiBpbnRvIGEgc2luZ2xlIHNjcmlwdCB3aXRoIHN1YnN5c3RlbSBmaWx0ZXJpbmcKKworc2V0 IC1lCisKK1NDUklQVF9ESVI9IiQoY2QgIiQoZGlybmFtZSAiJHtCQVNIX1NPVVJDRVswXX0iKSIg JiYgcHdkKSIKK1BST0pFQ1RfUk9PVD0iJChjZCAiJFNDUklQVF9ESVIvLi4iICYmIHB3ZCkiCisK KyMgQ29sb3JzCitSRUQ9J1wwMzNbMDszMW0nCitHUkVFTj0nXDAzM1swOzMybScKK1lFTExPVz0n XDAzM1sxOzMzbScKK0JMVUU9J1wwMzNbMDszNG0nCitDWUFOPSdcMDMzWzA7MzZtJworTkM9J1ww MzNbMG0nCisKKyMgQ29uZmlndXJhdGlvbgorU0tJUF9CVUlMRD0ke1NLSVBfQlVJTEQ6LWZhbHNl fQorVVNFX1BPRE1BTj0ke1VTRV9QT0RNQU46LWZhbHNlfQorU1VCU1lTVEVNPSR7U1VCU1lTVEVN Oi1hbGx9CitNT0RFPSR7TU9ERTotc2luZ2xlfSAgIyBzaW5nbGUsIGNsdXN0ZXIsIG9yIG1peGVk CisKKyMgRGV0ZWN0IGNvbnRhaW5lciBydW50aW1lIC0gcHJlZmVyIHBvZG1hbgoraWYgY29tbWFu ZCAtdiBwb2RtYW4gJj4gL2Rldi9udWxsOyB0aGVuCisgICAgQ09OVEFJTkVSX0NNRD0icG9kbWFu IgorICAgIENPTVBPU0VfQ01EPSJwb2RtYW4tY29tcG9zZSIKK2VsaWYgY29tbWFuZCAtdiBkb2Nr ZXIgJj4gL2Rldi9udWxsOyB0aGVuCisgICAgQ09OVEFJTkVSX0NNRD0iZG9ja2VyIgorICAgIENP TVBPU0VfQ01EPSJkb2NrZXIgY29tcG9zZSIKK2Vsc2UKKyAgICBlY2hvIC1lICIke1JFRH1FUlJP UjogTmVpdGhlciBkb2NrZXIgbm9yIHBvZG1hbiBmb3VuZCR7TkN9IgorICAgIGV4aXQgMQorZmkK KworIyBQYXJzZSBhcmd1bWVudHMKK3doaWxlIFtbICQjIC1ndCAwIF1dOyBkbworICAgIGNhc2Ug JDEgaW4KKyAgICAgICAgLS1zdWJzeXN0ZW0pCisgICAgICAgICAgICBTVUJTWVNURU09IiQyIgor ICAgICAgICAgICAgc2hpZnQgMgorICAgICAgICAgICAgOzsKKyAgICAgICAgLS1jbHVzdGVyKQor ICAgICAgICAgICAgTU9ERT0iY2x1c3RlciIKKyAgICAgICAgICAgIHNoaWZ0CisgICAgICAgICAg ICA7OworICAgICAgICAtLW1peGVkKQorICAgICAgICAgICAgTU9ERT0ibWl4ZWQiCisgICAgICAg ICAgICBzaGlmdAorICAgICAgICAgICAgOzsKKyAgICAgICAgLS1zaW5nbGV8LS1zaW5nbGUtbm9k ZSkKKyAgICAgICAgICAgIE1PREU9InNpbmdsZSIKKyAgICAgICAgICAgIHNoaWZ0CisgICAgICAg ICAgICA7OworICAgICAgICAtLXNraXAtYnVpbGQpCisgICAgICAgICAgICBTS0lQX0JVSUxEPXRy dWUKKyAgICAgICAgICAgIHNoaWZ0CisgICAgICAgICAgICA7OworICAgICAgICAtLWhlbHB8LWgp CisgICAgICAgICAgICBjYXQgPDwgRU9GCitVc2FnZTogJDAgW09QVElPTlNdCisKK1J1biBwbXhj ZnMgaW50ZWdyYXRpb24gdGVzdHMgb3JnYW5pemVkIGJ5IHN1YnN5c3RlbS4KKworT1BUSU9OUzoK KyAgICAtLXN1YnN5c3RlbSA8bmFtZT4gICBSdW4gdGVzdHMgZm9yIHNwZWNpZmljIHN1YnN5c3Rl bQorICAgICAgICAgICAgICAgICAgICAgICAgIE9wdGlvbnM6IGNvcmUsIGZ1c2UsIG1lbWRiLCBp cGMsIHJyZCwgc3RhdHVzLCBsb2NrcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBwbHVnaW5zLCBsb2dnZXIsIGNsdXN0ZXIsIGRmc20sIGFsbAorICAgICAgICAgICAgICAgICAg ICAgICAgIERlZmF1bHQ6IGFsbAorCisgICAgLS1zaW5nbGUgICAgICAgICAgICBSdW4gc2luZ2xl LW5vZGUgdGVzdHMgb25seSAoZGVmYXVsdCkKKyAgICAtLWNsdXN0ZXIgICAgICAgICAgIFJ1biBt dWx0aS1ub2RlIGNsdXN0ZXIgdGVzdHMKKyAgICAtLW1peGVkICAgICAgICAgICAgIFJ1biBtaXhl ZCBDL1J1c3QgY2x1c3RlciB0ZXN0cworCisgICAgLS1za2lwLWJ1aWxkICAgICAgICBTa2lwIHJl YnVpbGRpbmcgcG14Y2ZzIGJpbmFyeQorCisgICAgLS1oZWxwLCAtaCAgICAgICAgICBTaG93IHRo aXMgaGVscCBtZXNzYWdlCisKK1NVQlNZU1RFTVM6CisgICAgY29yZSAgICAgICAgLSBCYXNpYyBk YWVtb24gZnVuY3Rpb25hbGl0eSwgcGF0aHMKKyAgICBmdXNlICAgICAgICAtIEZVU0UgZmlsZXN5 c3RlbSBvcGVyYXRpb25zCisgICAgbWVtZGIgICAgICAgLSBEYXRhYmFzZSBhY2Nlc3MgYW5kIG9w ZXJhdGlvbnMKKyAgICBpcGMgICAgICAgICAtIFNvY2tldCBhbmQgSVBDIGNvbW11bmljYXRpb24K KyAgICBycmQgICAgICAgICAtIFJSRCBmaWxlIGNyZWF0aW9uIGFuZCBtZXRyaWNzIChORVcpCisg ICAgc3RhdHVzICAgICAgLSBTdGF0dXMgdHJhY2tpbmcgYW5kIFZNIHJlZ2lzdHJ5IChORVcpCisg ICAgbG9ja3MgICAgICAgLSBMb2NrIG1hbmFnZW1lbnQgYW5kIGNvbmN1cnJlbnQgYWNjZXNzIChO RVcpCisgICAgcGx1Z2lucyAgICAgLSBQbHVnaW4gZmlsZSBhY2Nlc3MgYW5kIHZhbGlkYXRpb24g KE5FVykKKyAgICBsb2dnZXIgICAgICAtIENsdXN0ZXIgbG9nIGZ1bmN0aW9uYWxpdHkgKE5FVykK KyAgICBjbHVzdGVyICAgICAtIE11bHRpLW5vZGUgY2x1c3RlciBvcGVyYXRpb25zIChyZXF1aXJl cyAtLWNsdXN0ZXIpCisgICAgZGZzbSAgICAgICAgLSBERlNNIHN5bmNocm9uaXphdGlvbiBwcm90 b2NvbCAocmVxdWlyZXMgLS1jbHVzdGVyKQorICAgIG1peGVkLWNsdXN0ZXIgLSBNaXhlZCBDL1J1 c3QgY2x1c3RlciBjb21wYXRpYmlsaXR5IChyZXF1aXJlcyAtLW1peGVkKQorICAgIGFsbCAgICAg ICAgIC0gUnVuIGFsbCBhcHBsaWNhYmxlIHRlc3RzIChkZWZhdWx0KQorCitFTlZJUk9OTUVOVCBW QVJJQUJMRVM6CisgICAgU0tJUF9CVUlMRD10cnVlICAgICBTa2lwIGJ1aWxkIHN0ZXAKKyAgICBV U0VfUE9ETUFOPXRydWUgICAgIFVzZSBwb2RtYW4gaW5zdGVhZCBvZiBkb2NrZXIKKworRVhBTVBM RVM6CisgICAgIyBSdW4gYWxsIHNpbmdsZS1ub2RlIHRlc3RzCisgICAgJDAKKworICAgICMgUnVu IG9ubHkgRlVTRSB0ZXN0cworICAgICQwIC0tc3Vic3lzdGVtIGZ1c2UKKworICAgICMgUnVuIERG U00gY2x1c3RlciB0ZXN0cworICAgICQwIC0tc3Vic3lzdGVtIGRmc20gLS1jbHVzdGVyCisKKyAg ICAjIFJ1biBhbGwgY2x1c3RlciB0ZXN0cyB3aXRob3V0IHJlYnVpbGRpbmcKKyAgICBTS0lQX0JV SUxEPXRydWUgJDAgLS1jbHVzdGVyCisKKyAgICAjIFJ1biBtaXhlZCBDL1J1c3QgY2x1c3RlciB0 ZXN0cworICAgICQwIC0tbWl4ZWQKKworRU9GCisgICAgICAgICAgICBleGl0IDAKKyAgICAgICAg ICAgIDs7CisgICAgICAgICopCisgICAgICAgICAgICBlY2hvIC1lICIke1JFRH1Vbmtub3duIG9w dGlvbjogJDEke05DfSIKKyAgICAgICAgICAgIGVjaG8gIlVzZSAtLWhlbHAgZm9yIHVzYWdlIGlu Zm9ybWF0aW9uIgorICAgICAgICAgICAgZXhpdCAxCisgICAgICAgICAgICA7OworICAgIGVzYWMK K2RvbmUKKworZWNobyAtZSAiJHtDWUFOfT09PT09PT09IHBteGNmcyBJbnRlZ3JhdGlvbiBUZXN0 IFN1aXRlID09PT09PT09PT0ke05DfSIKK2VjaG8gIiIKK2VjaG8gIk1vZGU6ICAgICAgICRNT0RF IgorZWNobyAiU3Vic3lzdGVtOiAgJFNVQlNZU1RFTSIKK2VjaG8gIkNvbnRhaW5lcjogICRDT05U QUlORVJfQ01EIgorZWNobyAiIgorCisjIEJ1aWxkIHBteGNmcyBpZiBuZWVkZWQKK2lmIFsgIiRT S0lQX0JVSUxEIiAhPSB0cnVlIF07IHRoZW4KKyAgICBlY2hvIC1lICIke0JMVUV9QnVpbGRpbmcg cG14Y2ZzLi4uJHtOQ30iCisgICAgY2QgIiRQUk9KRUNUX1JPT1QiCisgICAgaWYgISBjYXJnbyBi dWlsZCAtLXJlbGVhc2U7IHRoZW4KKyAgICAgICAgZWNobyAtZSAiJHtSRUR9RVJST1I6IEZhaWxl ZCB0byBidWlsZCBwbXhjZnMke05DfSIKKyAgICAgICAgZXhpdCAxCisgICAgZmkKKyAgICBlY2hv IC1lICIke0dSRUVOfeKckyBwbXhjZnMgYnVpbHQgc3VjY2Vzc2Z1bGx5JHtOQ30iCisgICAgZWNo byAiIgorZmkKKworIyBDaGVjayBiaW5hcnkgZXhpc3RzCitpZiBbICEgLWYgIiRQUk9KRUNUX1JP T1QvdGFyZ2V0L3JlbGVhc2UvcG14Y2ZzIiBdOyB0aGVuCisgICAgZWNobyAtZSAiJHtSRUR9RVJS T1I6IHBteGNmcyBiaW5hcnkgbm90IGZvdW5kJHtOQ30iCisgICAgZXhpdCAxCitmaQorCisjIERl dGVybWluZSBjb21wb3NlIGZpbGUgYW5kIHRlc3QgZGlyZWN0b3J5CitpZiBbICIkTU9ERSIgPSAi Y2x1c3RlciIgXTsgdGhlbgorICAgIENPTVBPU0VfRklMRT0iZG9ja2VyLWNvbXBvc2UuY2x1c3Rl ci55bWwiCitlbGlmIFsgIiRNT0RFIiA9ICJtaXhlZCIgXTsgdGhlbgorICAgIENPTVBPU0VfRklM RT0iZG9ja2VyLWNvbXBvc2UubWl4ZWQueW1sIgorZWxzZQorICAgIENPTVBPU0VfRklMRT0iZG9j a2VyLWNvbXBvc2UueW1sIgorZmkKKworIyBDaGFuZ2UgdG8gZG9ja2VyIGRpcmVjdG9yeSBmb3Ig cG9kbWFuLWNvbXBvc2UgY29tcGF0aWJpbGl0eQorIyAocG9kbWFuLWNvbXBvc2UgMS4zLjAgaGFz IGlzc3VlcyB3aXRoIHJlbGF0aXZlIHBhdGhzIHdoZW4gdXNpbmcgLWYgZmxhZykKK0RPQ0tFUl9E SVI9IiRTQ1JJUFRfRElSL2RvY2tlciIKK2NkICIkRE9DS0VSX0RJUiIKKworIyBNYXAgc3Vic3lz dGVtIHRvIHRlc3QgZGlyZWN0b3JpZXMKK2dldF90ZXN0X2RpcnMoKSB7CisgICAgY2FzZSAiJFNV QlNZU1RFTSIgaW4KKyAgICAgICAgY29yZSkKKyAgICAgICAgICAgIGVjaG8gInRlc3RzL2NvcmUi CisgICAgICAgICAgICA7OworICAgICAgICBmdXNlKQorICAgICAgICAgICAgZWNobyAidGVzdHMv ZnVzZSIKKyAgICAgICAgICAgIDs7CisgICAgICAgIG1lbWRiKQorICAgICAgICAgICAgZWNobyAi dGVzdHMvbWVtZGIiCisgICAgICAgICAgICA7OworICAgICAgICBpcGMpCisgICAgICAgICAgICBl Y2hvICJ0ZXN0cy9pcGMiCisgICAgICAgICAgICA7OworICAgICAgICBycmQpCisgICAgICAgICAg ICBlY2hvICJ0ZXN0cy9ycmQiCisgICAgICAgICAgICA7OworICAgICAgICBzdGF0dXMpCisgICAg ICAgICAgICBlY2hvICJ0ZXN0cy9zdGF0dXMiCisgICAgICAgICAgICA7OworICAgICAgICBsb2Nr cykKKyAgICAgICAgICAgIGVjaG8gInRlc3RzL2xvY2tzIgorICAgICAgICAgICAgOzsKKyAgICAg ICAgcGx1Z2lucykKKyAgICAgICAgICAgIGVjaG8gInRlc3RzL3BsdWdpbnMiCisgICAgICAgICAg ICA7OworICAgICAgICBsb2dnZXIpCisgICAgICAgICAgICBlY2hvICJ0ZXN0cy9sb2dnZXIiCisg ICAgICAgICAgICA7OworICAgICAgICBjbHVzdGVyKQorICAgICAgICAgICAgaWYgWyAiJE1PREUi ICE9ICJjbHVzdGVyIiBdOyB0aGVuCisgICAgICAgICAgICAgICAgZWNobyAtZSAiJHtZRUxMT1d9 V0FSTklORzogY2x1c3RlciBzdWJzeXN0ZW0gcmVxdWlyZXMgLS1jbHVzdGVyIG1vZGUke05DfSIK KyAgICAgICAgICAgICAgICBleGl0IDEKKyAgICAgICAgICAgIGZpCisgICAgICAgICAgICBlY2hv ICJ0ZXN0cy9jbHVzdGVyIgorICAgICAgICAgICAgOzsKKyAgICAgICAgZGZzbSkKKyAgICAgICAg ICAgIGlmIFsgIiRNT0RFIiAhPSAiY2x1c3RlciIgXTsgdGhlbgorICAgICAgICAgICAgICAgIGVj aG8gLWUgIiR7WUVMTE9XfVdBUk5JTkc6IGRmc20gc3Vic3lzdGVtIHJlcXVpcmVzIC0tY2x1c3Rl ciBtb2RlJHtOQ30iCisgICAgICAgICAgICAgICAgZXhpdCAxCisgICAgICAgICAgICBmaQorICAg ICAgICAgICAgZWNobyAidGVzdHMvZGZzbSIKKyAgICAgICAgICAgIDs7CisgICAgICAgIG1peGVk LWNsdXN0ZXIpCisgICAgICAgICAgICBpZiBbICIkTU9ERSIgIT0gIm1peGVkIiBdOyB0aGVuCisg ICAgICAgICAgICAgICAgZWNobyAtZSAiJHtZRUxMT1d9V0FSTklORzogbWl4ZWQtY2x1c3RlciBz dWJzeXN0ZW0gcmVxdWlyZXMgLS1taXhlZCBtb2RlJHtOQ30iCisgICAgICAgICAgICAgICAgZXhp dCAxCisgICAgICAgICAgICBmaQorICAgICAgICAgICAgZWNobyAidGVzdHMvbWl4ZWQtY2x1c3Rl ciIKKyAgICAgICAgICAgIDs7CisgICAgICAgIGFsbCkKKyAgICAgICAgICAgIGlmIFsgIiRNT0RF IiA9ICJjbHVzdGVyIiBdOyB0aGVuCisgICAgICAgICAgICAgICAgZWNobyAidGVzdHMvY2x1c3Rl ciB0ZXN0cy9kZnNtIgorICAgICAgICAgICAgZWxpZiBbICIkTU9ERSIgPSAibWl4ZWQiIF07IHRo ZW4KKyAgICAgICAgICAgICAgICBlY2hvICJ0ZXN0cy9taXhlZC1jbHVzdGVyIgorICAgICAgICAg ICAgZWxzZQorICAgICAgICAgICAgICAgIGVjaG8gInRlc3RzL2NvcmUgdGVzdHMvZnVzZSB0ZXN0 cy9tZW1kYiB0ZXN0cy9pcGMgdGVzdHMvcnJkIHRlc3RzL3N0YXR1cyB0ZXN0cy9sb2NrcyB0ZXN0 cy9wbHVnaW5zIHRlc3RzL2xvZ2dlciIKKyAgICAgICAgICAgIGZpCisgICAgICAgICAgICA7Owor ICAgICAgICAqKQorICAgICAgICAgICAgZWNobyAtZSAiJHtSRUR9RVJST1I6IFVua25vd24gc3Vi c3lzdGVtOiAkU1VCU1lTVEVNJHtOQ30iCisgICAgICAgICAgICBleGl0IDEKKyAgICAgICAgICAg IDs7CisgICAgZXNhYworfQorCitURVNUX0RJUlM9JChnZXRfdGVzdF9kaXJzKQorCisjIENsZWFu IHVwIHByZXZpb3VzIHJ1bnMKK2VjaG8gLWUgIiR7QkxVRX1DbGVhbmluZyB1cCBwcmV2aW91cyBj b250YWluZXJzLi4uJHtOQ30iCiskQ09NUE9TRV9DTUQgLWYgJENPTVBPU0VfRklMRSBkb3duIC12 IDI+L2Rldi9udWxsIHx8IHRydWUKK2VjaG8gIiIKKworIyBTdGFydCBjb250YWluZXJzCitlY2hv IC1lICIke0JMVUV9U3RhcnRpbmcgY29udGFpbmVycyAobW9kZTogJE1PREUpLi4uJHtOQ30iCisj IE5vdGU6IFJlbW92ZWQgLS1idWlsZCBmbGFnIHRvIHVzZSBjYWNoZWQgaW1hZ2VzLiBSZWJ1aWxk IG1hbnVhbGx5IGlmIG5lZWRlZDoKKyMgICBjZCBkb2NrZXIgJiYgcG9kbWFuLWNvbXBvc2UgYnVp bGQKKyRDT01QT1NFX0NNRCAtZiAkQ09NUE9TRV9GSUxFIHVwIC1kCisKK2lmIFsgIiRNT0RFIiA9 ICJjbHVzdGVyIiBdIHx8IFsgIiRNT0RFIiA9ICJtaXhlZCIgXTsgdGhlbgorICAgICMgRGV0ZXJt aW5lIGNvbnRhaW5lciBuYW1lIHByZWZpeAorICAgIGlmIFsgIiRNT0RFIiA9ICJtaXhlZCIgXTsg dGhlbgorICAgICAgICBDT05UQUlORVJfUFJFRklYPSJwbXhjZnMtbWl4ZWQiCisgICAgZWxzZQor ICAgICAgICBDT05UQUlORVJfUFJFRklYPSJwbXhjZnMtY2x1c3RlciIKKyAgICBmaQorCisgICAg IyBXYWl0IGZvciBjbHVzdGVyIHRvIGJlIGhlYWx0aHkKKyAgICBlY2hvICJXYWl0aW5nIGZvciBj bHVzdGVyIG5vZGVzIHRvIGJlY29tZSBoZWFsdGh5Li4uIgorICAgIEhFQUxUSFk9MAorICAgIGZv ciBpIGluIHsxLi42MH07IGRvCisgICAgICAgIEhFQUxUSFk9MAorICAgICAgICBmb3Igbm9kZSBp biBub2RlMSBub2RlMiBub2RlMzsgZG8KKyAgICAgICAgICAgICMgRm9yIG1peGVkIGNsdXN0ZXIs IG5vZGUzIChDKSB1c2VzIC9ldGMvcHZlLCBvdGhlcnMgdXNlIC90ZXN0L3B2ZQorICAgICAgICAg ICAgaWYgWyAiJE1PREUiID0gIm1peGVkIiBdICYmIFsgIiRub2RlIiA9ICJub2RlMyIgXTsgdGhl bgorICAgICAgICAgICAgICAgICMgQyBwbXhjZnMgdXNlcyAvZXRjL3B2ZQorICAgICAgICAgICAg ICAgIGlmICRDT05UQUlORVJfQ01EIGV4ZWMgJHtDT05UQUlORVJfUFJFRklYfS0kbm9kZSBzaCAt YyAncGdyZXAgcG14Y2ZzID4gL2Rldi9udWxsICYmIHRlc3QgLWQgL2V0Yy9wdmUnIDI+L2Rldi9u dWxsOyB0aGVuCisgICAgICAgICAgICAgICAgICAgIEhFQUxUSFk9JCgoSEVBTFRIWSArIDEpKQor ICAgICAgICAgICAgICAgIGZpCisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgIyBS dXN0IHBteGNmcyB1c2VzIC90ZXN0L3B2ZQorICAgICAgICAgICAgICAgIGlmICRDT05UQUlORVJf Q01EIGV4ZWMgJHtDT05UQUlORVJfUFJFRklYfS0kbm9kZSBzaCAtYyAncGdyZXAgcG14Y2ZzID4g L2Rldi9udWxsICYmIHRlc3QgLWQgL3Rlc3QvcHZlJyAyPi9kZXYvbnVsbDsgdGhlbgorICAgICAg ICAgICAgICAgICAgICBIRUFMVEhZPSQoKEhFQUxUSFkgKyAxKSkKKyAgICAgICAgICAgICAgICBm aQorICAgICAgICAgICAgZmkKKyAgICAgICAgZG9uZQorCisgICAgICAgIGlmIFsgJEhFQUxUSFkg LWVxIDMgXTsgdGhlbgorICAgICAgICAgICAgZWNobyAtZSAiJHtHUkVFTn3inJMgQWxsIDMgbm9k ZXMgYXJlIGhlYWx0aHkke05DfSIKKyAgICAgICAgICAgIGJyZWFrCisgICAgICAgIGZpCisKKyAg ICAgICAgZWNobyAiICBXYWl0aW5nLi4uICgkSEVBTFRIWS8zIG5vZGVzIHJlYWR5KSAtIGF0dGVt cHQgJGkvNjAiCisgICAgICAgIHNsZWVwIDIKKyAgICBkb25lCisKKyAgICBpZiBbICRIRUFMVEhZ IC1uZSAzIF07IHRoZW4KKyAgICAgICAgZWNobyAtZSAiJHtSRUR9RVJST1I6IE5vdCBhbGwgbm9k ZXMgYmVjYW1lIGhlYWx0aHkke05DfSIKKyAgICAgICAgJENPTVBPU0VfQ01EIC1mICRDT01QT1NF X0ZJTEUgbG9ncworICAgICAgICAkQ09NUE9TRV9DTUQgLWYgJENPTVBPU0VfRklMRSBkb3duIC12 CisgICAgICAgIGV4aXQgMQorICAgIGZpCisKKyAgICAjIFdhaXQgZm9yIGNvcm9zeW5jIHRvIHN0 YWJpbGl6ZQorICAgIHNsZWVwIDUKKworICAgICMgRm9yIG1peGVkIGNsdXN0ZXIsIHdhaXQgYWRk aXRpb25hbCB0aW1lIGZvciBERlNNIHRvIHN0YWJpbGl6ZQorICAgICMgREZTTSBtZW1iZXJzaGlw IGNhbiBmbHVjdHVhdGUgZHVyaW5nIGluaXRpYWwgY2x1c3RlciBmb3JtYXRpb24KKyAgICBpZiBb ICIkTU9ERSIgPSAibWl4ZWQiIF07IHRoZW4KKyAgICAgICAgZWNobyAiV2FpdGluZyBmb3IgREZT TSB0byBzdGFiaWxpemUgaW4gbWl4ZWQgY2x1c3Rlci4uLiIKKyAgICAgICAgc2xlZXAgMTUKKyAg ICBmaQorZWxzZQorICAgICMgV2FpdCBmb3Igc2luZ2xlIG5vZGUKKyAgICBlY2hvICJXYWl0aW5n IGZvciBub2RlIHRvIGJlY29tZSBoZWFsdGh5Li4uIgorICAgIE5PREVfSEVBTFRIWT1mYWxzZQor ICAgIGZvciBpIGluIHsxLi4zMH07IGRvCisgICAgICAgIGlmICRDT05UQUlORVJfQ01EIGV4ZWMg cG14Y2ZzLXRlc3Qgc2ggLWMgJ3BncmVwIHBteGNmcyA+IC9kZXYvbnVsbCAmJiB0ZXN0IC1kIC90 ZXN0L3B2ZScgMj4vZGV2L251bGw7IHRoZW4KKyAgICAgICAgICAgIGVjaG8gLWUgIiR7R1JFRU59 4pyTIE5vZGUgaXMgaGVhbHRoeSR7TkN9IgorICAgICAgICAgICAgTk9ERV9IRUFMVEhZPXRydWUK KyAgICAgICAgICAgIGJyZWFrCisgICAgICAgIGZpCisgICAgICAgIGVjaG8gIiAgV2FpdGluZy4u LiAtIGF0dGVtcHQgJGkvMzAiCisgICAgICAgIHNsZWVwIDIKKyAgICBkb25lCisKKyAgICBpZiBb ICIkTk9ERV9IRUFMVEhZIiA9IGZhbHNlIF07IHRoZW4KKyAgICAgICAgZWNobyAtZSAiJHtSRUR9 RVJST1I6IE5vZGUgZGlkIG5vdCBiZWNvbWUgaGVhbHRoeSR7TkN9IgorICAgICAgICBlY2hvICJD b250YWluZXIgbG9nczoiCisgICAgICAgICRDT05UQUlORVJfQ01EIGxvZ3MgcG14Y2ZzLXRlc3Qg Mj4mMSB8fCBlY2hvICJGYWlsZWQgdG8gZ2V0IGNvbnRhaW5lciBsb2dzIgorICAgICAgICAkQ09N UE9TRV9DTUQgLWYgJENPTVBPU0VfRklMRSBkb3duIC12CisgICAgICAgIGV4aXQgMQorICAgIGZp CitmaQorCitlY2hvICIiCisKKyMgUnVuIHRlc3RzCitUT1RBTD0wCitQQVNTRUQ9MAorRkFJTEVE PTAKKworZWNobyAtZSAiJHtDWUFOfeKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV kOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV kOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCR7TkN9Igor ZWNobyAtZSAiJHtDWUFOfSAgIFJ1bm5pbmcgVGVzdHM6ICRTVUJTWVNURU0ke05DfSIKK2VjaG8g LWUgIiR7Q1lBTn3ilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDi lZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDi lZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAke05DfSIKK2VjaG8gIiIKKwor IyBDcmVhdGUgcmVzdWx0cyBkaXJlY3RvcnkKK21rZGlyIC1wICIkU0NSSVBUX0RJUi9yZXN1bHRz IgorUkVTVUxUU19GSUxFPSIkU0NSSVBUX0RJUi9yZXN1bHRzL3Rlc3QtcmVzdWx0c18kKGRhdGUg KyVZJW0lZF8lSCVNJVMpLmxvZyIKKworIyBSdW4gdGVzdHMgZnJvbSBlYWNoIGRpcmVjdG9yeQor Zm9yIHRlc3RfZGlyIGluICRURVNUX0RJUlM7IGRvCisgICAgIyBDb252ZXJ0IHRvIGFic29sdXRl IHBhdGggZnJvbSBTQ1JJUFRfRElSCisgICAgQUJTX1RFU1RfRElSPSIkU0NSSVBUX0RJUi8kdGVz dF9kaXIiCisKKyAgICBpZiBbICEgLWQgIiRBQlNfVEVTVF9ESVIiIF07IHRoZW4KKyAgICAgICAg Y29udGludWUKKyAgICBmaQorCisgICAgU1VCU1lTX05BTUU9JChiYXNlbmFtZSAiJHRlc3RfZGly IikKKyAgICBlY2hvIC1lICIke0JMVUV94pSB4pSB4pSBIFN1YnN5c3RlbTogJFNVQlNZU19OQU1F IOKUgeKUgeKUgSR7TkN9IiB8IHRlZSAtYSAiJFJFU1VMVFNfRklMRSIKKyAgICBlY2hvICIiCisK KyAgICBmb3IgdGVzdF9zY3JpcHQgaW4gIiRBQlNfVEVTVF9ESVIiLyouc2g7IGRvCisgICAgICAg IGlmIFsgISAtZiAiJHRlc3Rfc2NyaXB0IiBdOyB0aGVuCisgICAgICAgICAgICBjb250aW51ZQor ICAgICAgICBmaQorCisgICAgICAgIFRFU1RfTkFNRT0kKGJhc2VuYW1lICIkdGVzdF9zY3JpcHQi KQorICAgICAgICBlY2hvICJSdW5uaW5nOiAkVEVTVF9OQU1FIiB8IHRlZSAtYSAiJFJFU1VMVFNf RklMRSIKKworICAgICAgICBUT1RBTD0kKChUT1RBTCArIDEpKQorCisgICAgICAgICMgR2V0IHBh dGggZm9yIGNvbnRhaW5lciAodW5kZXIgL3dvcmtzcGFjZSkKKyAgICAgICAgUkVMX1BBVEg9InNy Yy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvdGVzdHMvJChiYXNlbmFtZSAiJHRlc3RfZGly IikvJChiYXNlbmFtZSAiJHRlc3Rfc2NyaXB0IikiCisKKyAgICAgICAgIyBDaGVjayBpZiB0aGlz IHRlc3QgcmVxdWlyZXMgaG9zdC1sZXZlbCBjb250YWluZXIgYWNjZXNzCisgICAgICAgICMgVGVz dHMgMDMgYW5kIDA0IGluIGNsdXN0ZXIgc3Vic3lzdGVtIG5lZWQgdG8gZXhlYyBpbnRvIG11bHRp cGxlIGNvbnRhaW5lcnMKKyAgICAgICAgTkVFRFNfSE9TVF9BQ0NFU1M9ZmFsc2UKKyAgICAgICAg aWYgWyAiJE1PREUiID0gImNsdXN0ZXIiIF0gJiYgW1sgIiRURVNUX05BTUUiID1+IF4oMDMtfDA0 LSkgXV07IHRoZW4KKyAgICAgICAgICAgIE5FRURTX0hPU1RfQUNDRVNTPXRydWUKKyAgICAgICAg ZmkKKworICAgICAgICBpZiBbICIkTU9ERSIgPSAiY2x1c3RlciIgXSAmJiBbICIkTkVFRFNfSE9T VF9BQ0NFU1MiID0gImZhbHNlIiBdOyB0aGVuCisgICAgICAgICAgICAjIFJ1biBjbHVzdGVyIHRl c3RzIGZyb20gaW5zaWRlIG5vZGUxIChoYXMgYWNjZXNzIHRvIGNsdXN0ZXIgbmV0d29yaykKKyAg ICAgICAgICAgICMgVXNlIHBpcGVmYWlsIHRvIGdldCBleGl0IGNvZGUgZnJvbSB0ZXN0IHNjcmlw dCwgbm90IHRlZQorICAgICAgICAgICAgc2V0IC1vIHBpcGVmYWlsCisgICAgICAgICAgICBpZiAk Q09OVEFJTkVSX0NNRCBleGVjIFwKKyAgICAgICAgICAgICAgICAtZSBOT0RFMV9JUD0xNzIuMzAu MC4xMSBcCisgICAgICAgICAgICAgICAgLWUgTk9ERTJfSVA9MTcyLjMwLjAuMTIgXAorICAgICAg ICAgICAgICAgIC1lIE5PREUzX0lQPTE3Mi4zMC4wLjEzIFwKKyAgICAgICAgICAgICAgICAtZSBD T05UQUlORVJfQ01EPSRDT05UQUlORVJfQ01EIFwKKyAgICAgICAgICAgICAgICBwbXhjZnMtY2x1 c3Rlci1ub2RlMSBiYXNoICIvd29ya3NwYWNlLyRSRUxfUEFUSCIgMj4mMSB8IHRlZSAtYSAiJFJF U1VMVFNfRklMRSI7IHRoZW4KKyAgICAgICAgICAgICAgICBlY2hvIC1lICIke0dSRUVOfeKckyBQ QVNTJHtOQ30iIHwgdGVlIC1hICIkUkVTVUxUU19GSUxFIgorICAgICAgICAgICAgICAgIFBBU1NF RD0kKChQQVNTRUQgKyAxKSkKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBlY2hv IC1lICIke1JFRH3inJcgRkFJTCR7TkN9IiB8IHRlZSAtYSAiJFJFU1VMVFNfRklMRSIKKyAgICAg ICAgICAgICAgICBGQUlMRUQ9JCgoRkFJTEVEICsgMSkpCisgICAgICAgICAgICBmaQorICAgICAg ICAgICAgc2V0ICtvIHBpcGVmYWlsCisgICAgICAgIGVsaWYgWyAiJE1PREUiID0gImNsdXN0ZXIi IF0gJiYgWyAiJE5FRURTX0hPU1RfQUNDRVNTIiA9ICJ0cnVlIiBdOyB0aGVuCisgICAgICAgICAg ICAjIFJ1biBjbHVzdGVyIHRlc3RzIHRoYXQgbmVlZCBjb250YWluZXIgcnVudGltZSBhY2Nlc3Mg ZnJvbSBIT1NUCisgICAgICAgICAgICAjIFRoZXNlIHRlc3RzIG9yY2hlc3RyYXRlIGFjcm9zcyBt dWx0aXBsZSBjb250YWluZXJzIHVzaW5nIGRvY2tlci9wb2RtYW4gZXhlYworICAgICAgICAgICAg c2V0IC1vIHBpcGVmYWlsCisgICAgICAgICAgICBpZiBOT0RFMV9JUD0xNzIuMzAuMC4xMSBOT0RF Ml9JUD0xNzIuMzAuMC4xMiBOT0RFM19JUD0xNzIuMzAuMC4xMyBcCisgICAgICAgICAgICAgICAg Q09OVEFJTkVSX0NNRD0kQ09OVEFJTkVSX0NNRCBcCisgICAgICAgICAgICAgICAgYmFzaCAiJHRl c3Rfc2NyaXB0IiAyPiYxIHwgdGVlIC1hICIkUkVTVUxUU19GSUxFIjsgdGhlbgorICAgICAgICAg ICAgICAgIGVjaG8gLWUgIiR7R1JFRU594pyTIFBBU1Mke05DfSIgfCB0ZWUgLWEgIiRSRVNVTFRT X0ZJTEUiCisgICAgICAgICAgICAgICAgUEFTU0VEPSQoKFBBU1NFRCArIDEpKQorICAgICAgICAg ICAgZWxzZQorICAgICAgICAgICAgICAgIGVjaG8gLWUgIiR7UkVEfeKclyBGQUlMJHtOQ30iIHwg dGVlIC1hICIkUkVTVUxUU19GSUxFIgorICAgICAgICAgICAgICAgIEZBSUxFRD0kKChGQUlMRUQg KyAxKSkKKyAgICAgICAgICAgIGZpCisgICAgICAgICAgICBzZXQgK28gcGlwZWZhaWwKKyAgICAg ICAgZWxpZiBbICIkTU9ERSIgPSAibWl4ZWQiIF07IHRoZW4KKyAgICAgICAgICAgICMgUnVuIG1p eGVkIGNsdXN0ZXIgdGVzdHMgZnJvbSBIT1NUIChub3QgaW5zaWRlIGNvbnRhaW5lcikKKyAgICAg ICAgICAgICMgVGhlc2UgdGVzdHMgb3JjaGVzdHJhdGUgYWNyb3NzIG11bHRpcGxlIGNvbnRhaW5l cnMgdXNpbmcgZG9ja2VyL3BvZG1hbiBleGVjCisgICAgICAgICAgICAjIFRoZXkgZG9uJ3QgbmVl ZCBjbHVzdGVyIG5ldHdvcmsgYWNjZXNzLCB0aGV5IG5lZWQgY29udGFpbmVyIHJ1bnRpbWUgYWNj ZXNzCisgICAgICAgICAgICBzZXQgLW8gcGlwZWZhaWwKKyAgICAgICAgICAgIGlmIE5PREUxX0lQ PTE3Mi4yMS4wLjExIE5PREUyX0lQPTE3Mi4yMS4wLjEyIE5PREUzX0lQPTE3Mi4yMS4wLjEzIFwK KyAgICAgICAgICAgICAgICBDT05UQUlORVJfQ01EPSRDT05UQUlORVJfQ01EIFwKKyAgICAgICAg ICAgICAgICBiYXNoICIkdGVzdF9zY3JpcHQiIDI+JjEgfCB0ZWUgLWEgIiRSRVNVTFRTX0ZJTEUi OyB0aGVuCisgICAgICAgICAgICAgICAgZWNobyAtZSAiJHtHUkVFTn3inJMgUEFTUyR7TkN9IiB8 IHRlZSAtYSAiJFJFU1VMVFNfRklMRSIKKyAgICAgICAgICAgICAgICBQQVNTRUQ9JCgoUEFTU0VE ICsgMSkpCisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgZWNobyAtZSAiJHtSRUR9 4pyXIEZBSUwke05DfSIgfCB0ZWUgLWEgIiRSRVNVTFRTX0ZJTEUiCisgICAgICAgICAgICAgICAg RkFJTEVEPSQoKEZBSUxFRCArIDEpKQorICAgICAgICAgICAgZmkKKyAgICAgICAgICAgIHNldCAr byBwaXBlZmFpbAorICAgICAgICBlbHNlCisgICAgICAgICAgICAjIFJ1biBzaW5nbGUtbm9kZSB0 ZXN0cyBpbnNpZGUgY29udGFpbmVyCisgICAgICAgICAgICAjIFVzZSBwaXBlZmFpbCB0byBnZXQg ZXhpdCBjb2RlIGZyb20gdGVzdCBzY3JpcHQsIG5vdCB0ZWUKKyAgICAgICAgICAgIHNldCAtbyBw aXBlZmFpbAorICAgICAgICAgICAgaWYgJENPTlRBSU5FUl9DTUQgZXhlYyBwbXhjZnMtdGVzdCBi YXNoICIvd29ya3NwYWNlLyRSRUxfUEFUSCIgMj4mMSB8IHRlZSAtYSAiJFJFU1VMVFNfRklMRSI7 IHRoZW4KKyAgICAgICAgICAgICAgICBlY2hvIC1lICIke0dSRUVOfeKckyBQQVNTJHtOQ30iIHwg dGVlIC1hICIkUkVTVUxUU19GSUxFIgorICAgICAgICAgICAgICAgIFBBU1NFRD0kKChQQVNTRUQg KyAxKSkKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBlY2hvIC1lICIke1JFRH3i nJcgRkFJTCR7TkN9IiB8IHRlZSAtYSAiJFJFU1VMVFNfRklMRSIKKyAgICAgICAgICAgICAgICBG QUlMRUQ9JCgoRkFJTEVEICsgMSkpCisgICAgICAgICAgICBmaQorICAgICAgICAgICAgc2V0ICtv IHBpcGVmYWlsCisgICAgICAgIGZpCisgICAgICAgIGVjaG8gIiIKKyAgICBkb25lCitkb25lCisK KyMgQ2xlYW51cAorZWNobyAtZSAiJHtCTFVFfUNsZWFuaW5nIHVwIGNvbnRhaW5lcnMuLi4ke05D fSIKKyRDT01QT1NFX0NNRCAtZiAkQ09NUE9TRV9GSUxFIGRvd24gLXYKKworIyBTdW1tYXJ5Citl Y2hvICIiCitlY2hvIC1lICIke0NZQU594pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ 4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ 4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQJHtOQ30i CitlY2hvIC1lICIke0NZQU59ICAgVGVzdCBTdW1tYXJ5JHtOQ30iCitlY2hvIC1lICIke0NZQU59 4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ 4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ 4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQJHtOQ30iCitlY2hvICJUb3RhbCB0ZXN0czogICAk VE9UQUwiCitlY2hvIC1lICJQYXNzZWQ6ICAgICAgICAke0dSRUVOfSRQQVNTRUQke05DfSIKK2Vj aG8gLWUgIkZhaWxlZDogICAgICAgICR7UkVEfSRGQUlMRUQke05DfSIKK2VjaG8gIiIKK2VjaG8g IlJlc3VsdHMgc2F2ZWQgdG86ICRSRVNVTFRTX0ZJTEUiCitlY2hvICIiCisKK2lmIFsgJEZBSUxF RCAtZXEgMCBdOyB0aGVuCisgICAgZWNobyAtZSAiJHtHUkVFTn3inJMgQWxsIHRlc3RzIHBhc3Nl ZCEke05DfSIKKyAgICBleGl0IDAKK2Vsc2UKKyAgICBlY2hvIC1lICIke1JFRH3inJcgU29tZSB0 ZXN0cyBmYWlsZWQke05DfSIKKyAgICBleGl0IDEKK2ZpCmRpZmYgLS1naXQgYS9zcmMvcG14Y2Zz LXJzL2ludGVncmF0aW9uLXRlc3RzL3Rlc3QgYi9zcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRl c3RzL3Rlc3QKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAuLjNlZjVjNmI1Ci0t LSAvZGV2L251bGwKKysrIGIvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0CkBA IC0wLDAgKzEsMjM4IEBACisjIS9iaW4vYmFzaAorIyBTaW1wbGUgdGVzdCBydW5uZXIgZm9yIHBt eGNmcyBpbnRlZ3JhdGlvbiB0ZXN0cworIyBVc2FnZTogLi90ZXN0IFtvcHRpb25zXQorCitzZXQg LWUKKworU0NSSVBUX0RJUj0iJChjZCAiJChkaXJuYW1lICIke0JBU0hfU09VUkNFWzBdfSIpIiAm JiBwd2QpIgorCisjIENvbG9ycworUkVEPSdcMDMzWzA7MzFtJworR1JFRU49J1wwMzNbMDszMm0n CitZRUxMT1c9J1wwMzNbMTszM20nCitCTFVFPSdcMDMzWzA7MzRtJworQ1lBTj0nXDAzM1swOzM2 bScKK05DPSdcMDMzWzBtJworCitzaG93X2hlbHAoKSB7CisgICAgY2F0IDw8IEVPRgorJHtDWUFO fXBteGNmcyBJbnRlZ3JhdGlvbiBUZXN0IFJ1bm5lciR7TkN9CisKKyR7R1JFRU59UVVJQ0sgU1RB UlQ6JHtOQ30KKyAgICAuL3Rlc3QgICAgICAgICAgICAgICAgICAgICMgUnVuIGFsbCBzaW5nbGUt bm9kZSB0ZXN0cworICAgIC4vdGVzdCBycmQgICAgICAgICAgICAgICAgIyBSdW4gb25seSBSUkQg dGVzdHMKKyAgICAuL3Rlc3QgLS1jbHVzdGVyICAgICAgICAgICMgUnVuIGNsdXN0ZXIgdGVzdHMg KHJlcXVpcmVzIDMtbm9kZSBzZXR1cCkKKyAgICAuL3Rlc3QgLS1saXN0ICAgICAgICAgICAgICMg TGlzdCBhdmFpbGFibGUgdGVzdCBzdWJzeXN0ZW1zCisgICAgLi90ZXN0IC0tY2xlYW4gICAgICAg ICAgICAjIENsZWFuIHVwIGNvbnRhaW5lcnMgYW5kIHN0YXJ0IGZyZXNoCisKKyR7R1JFRU59VVNB R0U6JHtOQ30KKyAgICAuL3Rlc3QgW1NVQlNZU1RFTV0gW09QVElPTlNdCisKKyR7R1JFRU59U1VC U1lTVEVNUzoke05DfQorICAgIGFsbCAgICAgICAgICAgIEFsbCB0ZXN0cyAoZGVmYXVsdCkKKyAg ICBjb3JlICAgICAgICAgICBDb3JlIGZ1bmN0aW9uYWxpdHkgKHBhdGhzLCB2ZXJzaW9uKQorICAg IGZ1c2UgICAgICAgICAgIEZVU0UgZmlsZXN5c3RlbSBvcGVyYXRpb25zCisgICAgbWVtZGIgICAg ICAgICAgRGF0YWJhc2UgYWNjZXNzIGFuZCBpbnRlZ3JpdHkKKyAgICBpcGMgICAgICAgICAgICBT b2NrZXQgYW5kIElQQyBjb21tdW5pY2F0aW9uCisgICAgcnJkICAgICAgICAgICAgUlJEIG1ldHJp Y3MgYW5kIHNjaGVtYXMKKyAgICBzdGF0dXMgICAgICAgICBTdGF0dXMgdHJhY2tpbmcgYW5kIFZN IHJlZ2lzdHJ5CisgICAgbG9ja3MgICAgICAgICAgTG9jayBtYW5hZ2VtZW50CisgICAgcGx1Z2lu cyAgICAgICAgUGx1Z2luIGZpbGVzCisgICAgbG9nZ2VyICAgICAgICAgQ2x1c3RlciBsb2cgZnVu Y3Rpb25hbGl0eQorICAgIGNsdXN0ZXIgICAgICAgIE11bHRpLW5vZGUgY2x1c3RlciB0ZXN0cyAo cmVxdWlyZXMgLS1jbHVzdGVyKQorICAgIGRmc20gICAgICAgICAgIERGU00gc3luY2hyb25pemF0 aW9uIChyZXF1aXJlcyAtLWNsdXN0ZXIpCisgICAgbWl4ZWQgICAgICAgICAgTWl4ZWQgQy9SdXN0 IGNsdXN0ZXIgKHJlcXVpcmVzIC0tbWl4ZWQpCisKKyR7R1JFRU59T1BUSU9OUzoke05DfQorICAg IC0tY2x1c3RlciAgICAgIFJ1biBtdWx0aS1ub2RlIGNsdXN0ZXIgdGVzdHMgKDMgbm9kZXMpCisg ICAgLS1taXhlZCAgICAgICAgUnVuIG1peGVkIEMvUnVzdCBjbHVzdGVyIHRlc3RzCisgICAgLS1z aW5nbGUgICAgICAgUnVuIHNpbmdsZS1ub2RlIHRlc3RzIG9ubHkgKGRlZmF1bHQpCisgICAgLS1i dWlsZCAgICAgICAgRm9yY2UgcmVidWlsZCBvZiBwbXhjZnMgYmluYXJ5CisgICAgLS1uby1idWls ZCAgICAgU2tpcCBiaW5hcnkgcmVidWlsZCAoZmFzdGVyLCB1c2UgZXhpc3RpbmcgYmluYXJ5KQor ICAgIC0tY2xlYW4gICAgICAgIENsZWFuIHVwIGFsbCBjb250YWluZXJzIGFuZCB2b2x1bWVzIGJl Zm9yZSBydW5uaW5nCisgICAgLS1saXN0ICAgICAgICAgTGlzdCBhbGwgYXZhaWxhYmxlIHRlc3Qg c3Vic3lzdGVtcyBhbmQgZXhpdAorICAgIC1oLCAtLWhlbHAgICAgIFNob3cgdGhpcyBoZWxwIG1l c3NhZ2UKKworJHtHUkVFTn1FWEFNUExFUzoke05DfQorICAgICMgUXVpY2sgdGVzdCBydW4gKG5v IHJlYnVpbGQsIGFsbCBzaW5nbGUtbm9kZSB0ZXN0cykKKyAgICAuL3Rlc3QgLS1uby1idWlsZAor CisgICAgIyBUZXN0IG9ubHkgUlJEIHN1YnN5c3RlbQorICAgIC4vdGVzdCBycmQKKworICAgICMg VGVzdCBSUkQgd2l0aCBmcmVzaCBidWlsZAorICAgIC4vdGVzdCBycmQgLS1idWlsZAorCisgICAg IyBDbGVhbiB1cCBhbmQgcnVuIGFsbCB0ZXN0cworICAgIC4vdGVzdCAtLWNsZWFuCisKKyAgICAj IFJ1biBjbHVzdGVyIHRlc3RzIChyZXF1aXJlcyAzLW5vZGUgc2V0dXApCisgICAgLi90ZXN0IC0t Y2x1c3RlcgorCisgICAgIyBSdW4gc3BlY2lmaWMgY2x1c3RlciBzdWJzeXN0ZW0KKyAgICAuL3Rl c3QgZGZzbSAtLWNsdXN0ZXIKKworICAgICMgTGlzdCB3aGF0IHRlc3RzIGFyZSBhdmFpbGFibGUK KyAgICAuL3Rlc3QgLS1saXN0CisKKyR7R1JFRU59RU5WSVJPTk1FTlQ6JHtOQ30KKyAgICBTS0lQ X0JVSUxEPXRydWUgICAgIFNraXAgYnVpbGQgKHNhbWUgYXMgLS1uby1idWlsZCkKKyAgICBVU0Vf UE9ETUFOPXRydWUgICAgIEZvcmNlIHVzZSBvZiBwb2RtYW4gaW5zdGVhZCBvZiBkb2NrZXIKKwor JHtZRUxMT1d9VElQUzoke05DfQorICAgIOKAoiBGaXJzdCBydW46IC4vdGVzdCAtLWJ1aWxkIChl bnN1cmVzIGJpbmFyeSBpcyBidWlsdCkKKyAgICDigKIgSXRlcmF0aW5nOiAuL3Rlc3QgLS1uby1i dWlsZCAobXVjaCBmYXN0ZXIpCisgICAg4oCiIFN0dWNrPyAuL3Rlc3QgLS1jbGVhbiAocmVtb3Zl cyBhbGwgY29udGFpbmVycy92b2x1bWVzKQorICAgIOKAoiBSZXN1bHRzIHNhdmVkIHRvOiByZXN1 bHRzL3Rlc3QtcmVzdWx0c18qLmxvZworCitFT0YKK30KKworbGlzdF9zdWJzeXN0ZW1zKCkgewor ICAgIGNhdCA8PCBFT0YKKyR7Q1lBTn1BdmFpbGFibGUgVGVzdCBTdWJzeXN0ZW1zOiR7TkN9CisK KyR7R1JFRU59U2luZ2xlLU5vZGUgVGVzdHM6JHtOQ30KKyAgY29yZSAgICAgICAgKDIgdGVzdHMp ICAtIENvcmUgZnVuY3Rpb25hbGl0eSBhbmQgcGF0aHMKKyAgZnVzZSAgICAgICAgKDEgdGVzdCkg ICAtIEZVU0UgZmlsZXN5c3RlbSBvcGVyYXRpb25zCisgIG1lbWRiICAgICAgICgxIHRlc3QpICAg LSBEYXRhYmFzZSBhY2Nlc3MgYW5kIGludGVncml0eQorICBpcGMgICAgICAgICAoMSB0ZXN0KSAg IC0gU29ja2V0IGFuZCBJUEMgY29tbXVuaWNhdGlvbgorICBycmQgICAgICAgICAoMyB0ZXN0cykg IC0gUlJEIG1ldHJpY3MsIHNjaGVtYXMsIHJyZGNhY2hlZAorICBzdGF0dXMgICAgICAoMyB0ZXN0 cykgIC0gU3RhdHVzIHRyYWNraW5nIGFuZCBWTSByZWdpc3RyeQorICBsb2NrcyAgICAgICAoMSB0 ZXN0KSAgIC0gTG9jayBtYW5hZ2VtZW50CisgIHBsdWdpbnMgICAgICgyIHRlc3RzKSAgLSBQbHVn aW4gZmlsZXMgYWNjZXNzCisgIGxvZ2dlciAgICAgICgxIHRlc3QpICAgLSBDbHVzdGVyIGxvZyBm dW5jdGlvbmFsaXR5CisKKyR7R1JFRU59TXVsdGktTm9kZSBUZXN0cyAocmVxdWlyZXMgLS1jbHVz dGVyKToke05DfQorICBjbHVzdGVyICAgICAoMiB0ZXN0cykgIC0gTXVsdGktbm9kZSBjbHVzdGVy IG9wZXJhdGlvbnMKKyAgZGZzbSAgICAgICAgKDIgdGVzdHMpICAtIERGU00gc3luY2hyb25pemF0 aW9uIHByb3RvY29sCisKKyR7R1JFRU59TWl4ZWQgQ2x1c3RlciBUZXN0cyAocmVxdWlyZXMgLS1t aXhlZCk6JHtOQ30KKyAgbWl4ZWQgICAgICAgKDMgdGVzdHMpICAtIEMvUnVzdCBjbHVzdGVyIGNv bXBhdGliaWxpdHkKKworJHtZRUxMT1d9VG90YWw6IDI0IHRlc3RzJHtOQ30KK0VPRgorfQorCitj bGVhbl9jb250YWluZXJzKCkgeworICAgIGVjaG8gLWUgIiR7QkxVRX1DbGVhbmluZyB1cCBjb250 YWluZXJzIGFuZCB2b2x1bWVzLi4uJHtOQ30iCisKKyAgICBjZCAiJFNDUklQVF9ESVIvZG9ja2Vy IgorCisgICAgIyBEZXRlY3QgY29udGFpbmVyIGNvbW1hbmQKKyAgICBpZiBjb21tYW5kIC12IHBv ZG1hbiAmPiAvZGV2L251bGw7IHRoZW4KKyAgICAgICAgQ09OVEFJTkVSX0NNRD0icG9kbWFuIgor ICAgIGVsc2UKKyAgICAgICAgQ09OVEFJTkVSX0NNRD0iZG9ja2VyIgorICAgIGZpCisKKyAgICAj IFN0b3AgYW5kIHJlbW92ZSBjb250YWluZXJzCisgICAgJENPTlRBSU5FUl9DTUQgY29tcG9zZSBk b3duIC12IDI+L2Rldi9udWxsIHx8IHRydWUKKworICAgICMgUmVtb3ZlIGFueSBzdHJheSBjb250 YWluZXJzCisgICAgJENPTlRBSU5FUl9DTUQgcHMgLWEgLS1mb3JtYXQgInt7Lk5hbWVzfX0iIHwg Z3JlcCAtRSAicG14Y2ZzfGRvY2tlci1wbXhjZnMiIHwgd2hpbGUgcmVhZCBjb250YWluZXI7IGRv CisgICAgICAgICRDT05UQUlORVJfQ01EIHJtIC1mICIkY29udGFpbmVyIiAyPi9kZXYvbnVsbCB8 fCB0cnVlCisgICAgZG9uZQorCisgICAgIyBSZW1vdmUgdm9sdW1lcworICAgICRDT05UQUlORVJf Q01EIHZvbHVtZSBscyAtLWZvcm1hdCAie3suTmFtZX19IiB8IGdyZXAgLUUgImRvY2tlcl90ZXN0 LWRhdGF8cG14Y2ZzIiB8IHdoaWxlIHJlYWQgdm9sdW1lOyBkbworICAgICAgICAkQ09OVEFJTkVS X0NNRCB2b2x1bWUgcm0gLWYgIiR2b2x1bWUiIDI+L2Rldi9udWxsIHx8IHRydWUKKyAgICBkb25l CisKKyAgICBlY2hvIC1lICIke0dSRUVOfeKckyBDbGVhbnVwIGNvbXBsZXRlJHtOQ30iCit9CisK KyMgUGFyc2UgYXJndW1lbnRzCitTVUJTWVNURU09ImFsbCIKK01PREU9InNpbmdsZSIKK0NMRUFO PWZhbHNlCitCVUlMRF9GTEFHPSIiCisKK3doaWxlIFtbICQjIC1ndCAwIF1dOyBkbworICAgIGNh c2UgJDEgaW4KKyAgICAgICAgLWh8LS1oZWxwKQorICAgICAgICAgICAgc2hvd19oZWxwCisgICAg ICAgICAgICBleGl0IDAKKyAgICAgICAgICAgIDs7CisgICAgICAgIC0tbGlzdCkKKyAgICAgICAg ICAgIGxpc3Rfc3Vic3lzdGVtcworICAgICAgICAgICAgZXhpdCAwCisgICAgICAgICAgICA7Owor ICAgICAgICAtLWNsZWFuKQorICAgICAgICAgICAgQ0xFQU49dHJ1ZQorICAgICAgICAgICAgc2hp ZnQKKyAgICAgICAgICAgIDs7CisgICAgICAgIC0tY2x1c3RlcikKKyAgICAgICAgICAgIE1PREU9 ImNsdXN0ZXIiCisgICAgICAgICAgICBzaGlmdAorICAgICAgICAgICAgOzsKKyAgICAgICAgLS1t aXhlZCkKKyAgICAgICAgICAgIE1PREU9Im1peGVkIgorICAgICAgICAgICAgc2hpZnQKKyAgICAg ICAgICAgIDs7CisgICAgICAgIC0tc2luZ2xlfC0tc2luZ2xlLW5vZGUpCisgICAgICAgICAgICBN T0RFPSJzaW5nbGUiCisgICAgICAgICAgICBzaGlmdAorICAgICAgICAgICAgOzsKKyAgICAgICAg LS1idWlsZCkKKyAgICAgICAgICAgIEJVSUxEX0ZMQUc9IiIKKyAgICAgICAgICAgIFNLSVBfQlVJ TEQ9ZmFsc2UKKyAgICAgICAgICAgIHNoaWZ0CisgICAgICAgICAgICA7OworICAgICAgICAtLW5v LWJ1aWxkKQorICAgICAgICAgICAgQlVJTERfRkxBRz0iLS1za2lwLWJ1aWxkIgorICAgICAgICAg ICAgU0tJUF9CVUlMRD10cnVlCisgICAgICAgICAgICBzaGlmdAorICAgICAgICAgICAgOzsKKyAg ICAgICAgY29yZXxmdXNlfG1lbWRifGlwY3xycmR8c3RhdHVzfGxvY2tzfHBsdWdpbnN8bG9nZ2Vy fGNsdXN0ZXJ8ZGZzbXxtaXhlZHxhbGwpCisgICAgICAgICAgICBTVUJTWVNURU09IiQxIgorICAg ICAgICAgICAgc2hpZnQKKyAgICAgICAgICAgIDs7CisgICAgICAgICopCisgICAgICAgICAgICBl Y2hvIC1lICIke1JFRH1FcnJvcjogVW5rbm93biBvcHRpb24gJyQxJyR7TkN9IgorICAgICAgICAg ICAgZWNobyAiUnVuICcuL3Rlc3QgLS1oZWxwJyBmb3IgdXNhZ2UgaW5mb3JtYXRpb24iCisgICAg ICAgICAgICBleGl0IDEKKyAgICAgICAgICAgIDs7CisgICAgZXNhYworZG9uZQorCisjIENsZWFu IGlmIHJlcXVlc3RlZAoraWYgWyAiJENMRUFOIiA9IHRydWUgXTsgdGhlbgorICAgIGNsZWFuX2Nv bnRhaW5lcnMKKyAgICBlY2hvICIiCitmaQorCisjIFZhbGlkYXRlIHN1YnN5c3RlbSBmb3IgbW9k ZQoraWYgWyAiJE1PREUiID0gInNpbmdsZSIgXSAmJiBbWyAiJFNVQlNZU1RFTSIgPX4gXihjbHVz dGVyfGRmc20pJCBdXTsgdGhlbgorICAgIGVjaG8gLWUgIiR7WUVMTE9XfVdhcm5pbmc6ICckU1VC U1lTVEVNJyByZXF1aXJlcyAtLWNsdXN0ZXIgZmxhZyR7TkN9IgorICAgIGVjaG8gIlVzZTogLi90 ZXN0ICRTVUJTWVNURU0gLS1jbHVzdGVyIgorICAgIGV4aXQgMQorZmkKKworaWYgWyAiJE1PREUi ID0gInNpbmdsZSIgXSAmJiBbICIkU1VCU1lTVEVNIiA9ICJtaXhlZCIgXTsgdGhlbgorICAgIGVj aG8gLWUgIiR7WUVMTE9XfVdhcm5pbmc6ICdtaXhlZCcgcmVxdWlyZXMgLS1taXhlZCBmbGFnJHtO Q30iCisgICAgZWNobyAiVXNlOiAuL3Rlc3QgLS1taXhlZCIKKyAgICBleGl0IDEKK2ZpCisKKyMg QnVpbGQgbW9kZSBmbGFnCitNT0RFX0ZMQUc9IiIKK2lmIFsgIiRNT0RFIiA9ICJjbHVzdGVyIiBd OyB0aGVuCisgICAgTU9ERV9GTEFHPSItLWNsdXN0ZXIiCitlbGlmIFsgIiRNT0RFIiA9ICJtaXhl ZCIgXTsgdGhlbgorICAgIE1PREVfRkxBRz0iLS1taXhlZCIKK2ZpCisKKyMgUnVuIHRoZSBhY3R1 YWwgdGVzdCBydW5uZXIKK2VjaG8gLWUgIiR7Q1lBTn1SdW5uaW5nIHBteGNmcyBpbnRlZ3JhdGlv biB0ZXN0cyR7TkN9IgorZWNobyAtZSAiTW9kZTogJHtHUkVFTn0kTU9ERSR7TkN9IgorZWNobyAt ZSAiU3Vic3lzdGVtOiAke0dSRUVOfSRTVUJTWVNURU0ke05DfSIKK2VjaG8gIiIKKworY2QgIiRT Q1JJUFRfRElSIgorCitpZiBbICIkU1VCU1lTVEVNIiA9ICJhbGwiIF07IHRoZW4KKyAgICBleGVj IC4vcnVuLXRlc3RzLnNoICRNT0RFX0ZMQUcgJEJVSUxEX0ZMQUcKK2Vsc2UKKyAgICBleGVjIC4v cnVuLXRlc3RzLnNoIC0tc3Vic3lzdGVtICIkU1VCU1lTVEVNIiAkTU9ERV9GTEFHICRCVUlMRF9G TEFHCitmaQpkaWZmIC0tZ2l0IGEvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0 LWxvY2FsIGIvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0LWxvY2FsCm5ldyBm aWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwLi4zNGZhZTZmZgotLS0gL2Rldi9udWxsCisr KyBiL3NyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvdGVzdC1sb2NhbApAQCAtMCwwICsx LDMzMyBAQAorIyEvYmluL2Jhc2gKKyMgTG9jYWwgdGVzdCBydW5uZXIgLSBydW5zIGludGVncmF0 aW9uIHRlc3RzIGRpcmVjdGx5IG9uIGhvc3QgdXNpbmcgdGVtcG9yYXJ5IGRpcmVjdG9yeQorIyBU aGlzIGFsbG93cyBkZXZlbG9wZXJzIHRvIHRlc3QgcG14Y2ZzIHdpdGhvdXQgY29udGFpbmVycwor CisjIE5vdGU6IE5PVCB1c2luZyAic2V0IC1lIiBiZWNhdXNlIHBteGNmcyBydW5uaW5nIGluIGJh Y2tncm91bmQgY2FuIGNhdXNlIHByZW1hdHVyZSBleGl0CisKK1NDUklQVF9ESVI9IiQoY2QgIiQo ZGlybmFtZSAiJHtCQVNIX1NPVVJDRVswXX0iKSIgJiYgcHdkKSIKK1BST0pFQ1RfUk9PVD0iJChj ZCAiJFNDUklQVF9ESVIvLi4iICYmIHB3ZCkiCisKKyMgQ29sb3JzCitSRUQ9J1wwMzNbMDszMW0n CitHUkVFTj0nXDAzM1swOzMybScKK1lFTExPVz0nXDAzM1sxOzMzbScKK0JMVUU9J1wwMzNbMDsz NG0nCitDWUFOPSdcMDMzWzA7MzZtJworTkM9J1wwMzNbMG0nCisKK3Nob3dfaGVscCgpIHsKKyAg ICBjYXQgPDwgRU9GCiske0NZQU59cG14Y2ZzIExvY2FsIFRlc3QgUnVubmVyJHtOQ30KKworUnVu IGludGVncmF0aW9uIHRlc3RzIGxvY2FsbHkgb24geW91ciBtYWNoaW5lIHdpdGhvdXQgY29udGFp bmVycy4KKworJHtHUkVFTn1VU0FHRToke05DfQorICAgIC4vdGVzdC1sb2NhbCBbT1BUSU9OU10g W1RFU1RTLi4uXQorCiske0dSRUVOfU9QVElPTlM6JHtOQ30KKyAgICAtLXRlbXAtZGlyIFBBVEgg ICAgVXNlIHNwZWNpZmljIHRlbXBvcmFyeSBkaXJlY3RvcnkgKGRlZmF1bHQ6IGF1dG8tY3JlYXRl KQorICAgIC0ta2VlcC10ZW1wICAgICAgICBLZWVwIHRlbXBvcmFyeSBkaXJlY3RvcnkgYWZ0ZXIg dGVzdHMKKyAgICAtLWJ1aWxkICAgICAgICAgICAgQnVpbGQgcG14Y2ZzIGJlZm9yZSB0ZXN0aW5n CisgICAgLS1kZWJ1ZyAgICAgICAgICAgIFJ1biBwbXhjZnMgd2l0aCBkZWJ1ZyBvdXRwdXQKKyAg ICAtLWhlbHAsIC1oICAgICAgICAgU2hvdyB0aGlzIGhlbHAKKworJHtHUkVFTn1URVNUUzoke05D fQorICAgIExpc3Qgb2YgdGVzdCBmaWxlcyB0byBydW4gKHJlbGF0aXZlIHRvIHRlc3RzLyBkaXJl Y3RvcnkpCisgICAgSWYgbm90IHNwZWNpZmllZCwgcnVucyBhbGwgbG9jYWwtY29tcGF0aWJsZSB0 ZXN0cworCiske0dSRUVOfUVYQU1QTEVTOiR7TkN9CisgICAgIyBSdW4gYWxsIGxvY2FsLWNvbXBh dGlibGUgdGVzdHMKKyAgICAuL3Rlc3QtbG9jYWwKKworICAgICMgUnVuIHNwZWNpZmljIHRlc3Rz CisgICAgLi90ZXN0LWxvY2FsIGNvcmUvMDEtdGVzdC1wYXRocy5zaCBtZW1kYi8wMS1hY2Nlc3Mu c2gKKworICAgICMgVXNlIHNwZWNpZmljIHRlbXAgZGlyZWN0b3J5CisgICAgLi90ZXN0LWxvY2Fs IC0tdGVtcC1kaXIgL3RtcC9teS10ZXN0CisKKyAgICAjIEtlZXAgdGVtcCBkaXJlY3RvcnkgZm9y IGluc3BlY3Rpb24KKyAgICAuL3Rlc3QtbG9jYWwgLS1rZWVwLXRlbXAKKworICAgICMgQnVpbGQg Zmlyc3QsIHRoZW4gdGVzdAorICAgIC4vdGVzdC1sb2NhbCAtLWJ1aWxkCisKKyR7R1JFRU59TE9D QUwtQ09NUEFUSUJMRSBURVNUUzoke05DfQorICAgIFRlc3RzIHRoYXQgY2FuIHJ1biBsb2NhbGx5 IChkb24ndCByZXF1aXJlIGNsdXN0ZXIpOgorICAgIC0gY29yZS8qICAgICAgICAgIENvcmUgZnVu Y3Rpb25hbGl0eQorICAgIC0gbWVtZGIvKiAgICAgICAgIERhdGFiYXNlIG9wZXJhdGlvbnMKKyAg ICAtIGZ1c2UvKiAgICAgICAgICBGVVNFIG9wZXJhdGlvbnMgKGlmIEZVU0UgYXZhaWxhYmxlKQor ICAgIC0gaXBjLyogICAgICAgICAgIElQQyBzb2NrZXQgdGVzdHMKKyAgICAtIHJyZC8qICAgICAg ICAgICBSUkQgdGVzdHMKKyAgICAtIHN0YXR1cy8qICAgICAgICBTdGF0dXMgdGVzdHMgKHNpbmds ZS1ub2RlKQorICAgIC0gbG9ja3MvKiAgICAgICAgIExvY2sgbWFuYWdlbWVudAorICAgIC0gcGx1 Z2lucy8qICAgICAgIFBsdWdpbiB0ZXN0cworCiske1lFTExPV31SRVFVSVJFTUVOVFM6JHtOQ30K KyAgICAtIHBteGNmcyBiaW5hcnkgYnVpbHQgKGluIC4uL3RhcmdldC9yZWxlYXNlL3BteGNmcykK KyAgICAtIEZVU0Ugc3VwcG9ydCAoZnVzZXJtb3VudCBvciBzaW1pbGFyKQorICAgIC0gU1FMaXRl IChmb3IgZGF0YWJhc2UgdGVzdHMpCisgICAgLSBTdWZmaWNpZW50IHBlcm1pc3Npb25zIGZvciBG VVNFIG1vdW50cworCiske1lFTExPV31IT1cgSVQgV09SS1M6JHtOQ30KKyAgICAxLiBDcmVhdGVz IHRlbXBvcmFyeSBkaXJlY3RvcnkgKGUuZy4sIC90bXAvcG14Y2ZzLXRlc3QtWFhYWFgpCisgICAg Mi4gU3RhcnRzIHBteGNmcyB3aXRoIC0tdGVzdC1kaXIgcG9pbnRpbmcgdG8gdGVtcCBkaXJlY3Rv cnkKKyAgICAzLiBSdW5zIHRlc3RzIHdpdGggVEVTVF9ESVIgZW52aXJvbm1lbnQgdmFyaWFibGUg c2V0CisgICAgNC4gQ2xlYW5zIHVwICh1bmxlc3MgLS1rZWVwLXRlbXAgc3BlY2lmaWVkKQorCitF T0YKK30KKworIyBQYXJzZSBhcmd1bWVudHMKK1RFTVBfRElSPSIiCitLRUVQX1RFTVA9ZmFsc2UK K0JVSUxEPWZhbHNlCitERUJVRz1mYWxzZQorVEVTVFM9KCkKKword2hpbGUgW1sgJCMgLWd0IDAg XV07IGRvCisgICAgY2FzZSAkMSBpbgorICAgICAgICAtLXRlbXAtZGlyKQorICAgICAgICAgICAg VEVNUF9ESVI9IiQyIgorICAgICAgICAgICAgc2hpZnQgMgorICAgICAgICAgICAgOzsKKyAgICAg ICAgLS1rZWVwLXRlbXApCisgICAgICAgICAgICBLRUVQX1RFTVA9dHJ1ZQorICAgICAgICAgICAg c2hpZnQKKyAgICAgICAgICAgIDs7CisgICAgICAgIC0tYnVpbGQpCisgICAgICAgICAgICBCVUlM RD10cnVlCisgICAgICAgICAgICBzaGlmdAorICAgICAgICAgICAgOzsKKyAgICAgICAgLS1kZWJ1 ZykKKyAgICAgICAgICAgIERFQlVHPXRydWUKKyAgICAgICAgICAgIHNoaWZ0CisgICAgICAgICAg ICA7OworICAgICAgICAtaHwtLWhlbHApCisgICAgICAgICAgICBzaG93X2hlbHAKKyAgICAgICAg ICAgIGV4aXQgMAorICAgICAgICAgICAgOzsKKyAgICAgICAgKi5zaCkKKyAgICAgICAgICAgIFRF U1RTKz0oIiQxIikKKyAgICAgICAgICAgIHNoaWZ0CisgICAgICAgICAgICA7OworICAgICAgICAq KQorICAgICAgICAgICAgZWNobyAtZSAiJHtSRUR9VW5rbm93biBvcHRpb246ICQxJHtOQ30iCisg ICAgICAgICAgICBlY2hvICJVc2UgLS1oZWxwIGZvciB1c2FnZSBpbmZvcm1hdGlvbiIKKyAgICAg ICAgICAgIGV4aXQgMQorICAgICAgICAgICAgOzsKKyAgICBlc2FjCitkb25lCisKKyMgQ2hlY2sg cG14Y2ZzIGJpbmFyeSBleGlzdHMKK1BNWENGU19CSU49IiRQUk9KRUNUX1JPT1QvdGFyZ2V0L3Jl bGVhc2UvcG14Y2ZzIgoraWYgWyAhIC1mICIkUE1YQ0ZTX0JJTiIgXTsgdGhlbgorICAgIGlmIFsg IiRCVUlMRCIgPSB0cnVlIF07IHRoZW4KKyAgICAgICAgZWNobyAtZSAiJHtCTFVFfUJ1aWxkaW5n IHBteGNmcy4uLiR7TkN9IgorICAgICAgICBjZCAiJFBST0pFQ1RfUk9PVCIKKyAgICAgICAgY2Fy Z28gYnVpbGQgLS1yZWxlYXNlCisgICAgICAgIGNkICIkU0NSSVBUX0RJUiIKKyAgICBlbHNlCisg ICAgICAgIGVjaG8gLWUgIiR7UkVEfUVSUk9SOiBwbXhjZnMgYmluYXJ5IG5vdCBmb3VuZCBhdCAk UE1YQ0ZTX0JJTiR7TkN9IgorICAgICAgICBlY2hvICJSdW4gd2l0aCAtLWJ1aWxkIHRvIGJ1aWxk IGl0IGZpcnN0LCBvciBidWlsZCBtYW51YWxseToiCisgICAgICAgIGVjaG8gIiAgY2QgJFBST0pF Q1RfUk9PVCAmJiBjYXJnbyBidWlsZCAtLXJlbGVhc2UiCisgICAgICAgIGV4aXQgMQorICAgIGZp CitmaQorCisjIENyZWF0ZSBvciB2YWxpZGF0ZSB0ZW1wIGRpcmVjdG9yeQoraWYgWyAteiAiJFRF TVBfRElSIiBdOyB0aGVuCisgICAgVEVNUF9ESVI9JChta3RlbXAgLWQgLXQgcG14Y2ZzLXRlc3Qt WFhYWFgpCisgICAgZWNobyAtZSAiJHtCTFVFfUNyZWF0ZWQgdGVtcG9yYXJ5IGRpcmVjdG9yeTog JFRFTVBfRElSJHtOQ30iCitlbHNlCisgICAgaWYgWyAhIC1kICIkVEVNUF9ESVIiIF07IHRoZW4K KyAgICAgICAgbWtkaXIgLXAgIiRURU1QX0RJUiIKKyAgICAgICAgZWNobyAtZSAiJHtCTFVFfUNy ZWF0ZWQgZGlyZWN0b3J5OiAkVEVNUF9ESVIke05DfSIKKyAgICBlbHNlCisgICAgICAgIGVjaG8g LWUgIiR7QkxVRX1Vc2luZyBleGlzdGluZyBkaXJlY3Rvcnk6ICRURU1QX0RJUiR7TkN9IgorICAg IGZpCitmaQorCisjIENyZWF0ZSBzdWJkaXJlY3RvcmllcworbWtkaXIgLXAgIiRURU1QX0RJUiIv e2RiLHB2ZSxydW4scnJkLGV0Yy9jb3Jvc3luY30KKworIyBTZXQgdXAgZW52aXJvbm1lbnQKK2V4 cG9ydCBURVNUX0RJUj0iJFRFTVBfRElSIgorZXhwb3J0IFRFU1RfREJfUEFUSD0iJFRFTVBfRElS L2RiL2NvbmZpZy5kYiIKK2V4cG9ydCBURVNUX0RCX0RJUj0iJFRFTVBfRElSL2RiIgorZXhwb3J0 IFRFU1RfTU9VTlRfUEFUSD0iJFRFTVBfRElSL3B2ZSIKK2V4cG9ydCBURVNUX1JVTl9ESVI9IiRU RU1QX0RJUi9ydW4iCitleHBvcnQgVEVTVF9SUkRfRElSPSIkVEVNUF9ESVIvcnJkIgorZXhwb3J0 IFRFU1RfRVRDX0RJUj0iJFRFTVBfRElSL2V0YyIKK2V4cG9ydCBURVNUX0NPUk9TWU5DX0RJUj0i JFRFTVBfRElSL2V0Yy9jb3Jvc3luYyIKK2V4cG9ydCBURVNUX1NPQ0tFVD0iQHB2ZTIiICAjIHBt eGNmcyB1c2VzIHRoaXMgc29ja2V0IG5hbWUgaW4gbG9jYWwgbW9kZQorZXhwb3J0IFRFU1RfUElE X0ZJTEU9IiRURU1QX0RJUi9ydW4vcG14Y2ZzLnBpZCIKKworZWNobyAtZSAiJHtDWUFOfVRlc3Qg RW52aXJvbm1lbnQ6JHtOQ30iCitlY2hvICIgIFRlc3QgZGlyZWN0b3J5OiAkVEVTVF9ESVIiCitl Y2hvICIgIEZVU0UgbW91bnQ6ICAgICAkVEVTVF9NT1VOVF9QQVRIIgorZWNobyAiICBEYXRhYmFz ZTogICAgICAgJFRFU1RfREJfUEFUSCIKK2VjaG8gIiAgU29ja2V0OiAgICAgICAgICRURVNUX1NP Q0tFVCIKK2VjaG8gIiIKKworIyBTdGFydCBwbXhjZnMKK2VjaG8gLWUgIiR7QkxVRX1TdGFydGlu ZyBwbXhjZnMuLi4ke05DfSIKKworUE1YQ0ZTX0FSR1M9KAorICAgICItLWZvcmVncm91bmQiCisg ICAgIi0tdGVzdC1kaXIiICIkVEVNUF9ESVIiCisgICAgIi0tbG9jYWwiCispCisKK2lmIFsgIiRE RUJVRyIgPSB0cnVlIF07IHRoZW4KKyAgICBleHBvcnQgUlVTVF9MT0c9ZGVidWcKK2Vsc2UKKyAg ICBleHBvcnQgUlVTVF9MT0c9aW5mbworZmkKKworIyBTdGFydCBwbXhjZnMgaW4gYmFja2dyb3Vu ZCAocmVkaXJlY3QgdmVyYm9zZSBGVVNFIG91dHB1dCB0byBhdm9pZCBjbHV0dGVyKQorIiRQTVhD RlNfQklOIiAiJHtQTVhDRlNfQVJHU1tAXX0iID4gIiRURU1QX0RJUi9wbXhjZnMubG9nIiAyPiYx ICYKK1BNWENGU19QSUQ9JCEKKworZWNobyAiICBwbXhjZnMgUElEOiAkUE1YQ0ZTX1BJRCIKKwor IyBWZXJpZnkgcG14Y2ZzIHN0YXJ0ZWQgc3VjY2Vzc2Z1bGx5CitzbGVlcCAxCitpZiAhIGtpbGwg LTAgJFBNWENGU19QSUQgMj4vZGV2L251bGw7IHRoZW4KKyAgICBlY2hvIC1lICIke1JFRH1FUlJP UjogcG14Y2ZzIGZhaWxlZCB0byBzdGFydCBvciBleGl0ZWQgaW1tZWRpYXRlbHkke05DfSIKKyAg ICBlY2hvICJDaGVjayBsb2c6ICRURU1QX0RJUi9wbXhjZnMubG9nIgorICAgIGV4aXQgMQorZmkK KworIyBDbGVhbnVwIGZ1bmN0aW9uCitjbGVhbnVwKCkgeworICAgIGVjaG8gIiIKKyAgICBlY2hv IC1lICIke0JMVUV9Q2xlYW5pbmcgdXAuLi4ke05DfSIKKworICAgICMgS2lsbCBwbXhjZnMKKyAg ICBpZiBraWxsIC0wICRQTVhDRlNfUElEIDI+L2Rldi9udWxsOyB0aGVuCisgICAgICAgIGVjaG8g IiAgU3RvcHBpbmcgcG14Y2ZzIChQSUQgJFBNWENGU19QSUQpLi4uIgorICAgICAgICBraWxsICRQ TVhDRlNfUElECisgICAgICAgIHNsZWVwIDEKKyAgICAgICAga2lsbCAtOSAkUE1YQ0ZTX1BJRCAy Pi9kZXYvbnVsbCB8fCB0cnVlCisgICAgZmkKKworICAgICMgVW5tb3VudCBGVVNFIGlmIG1vdW50 ZWQKKyAgICBpZiBtb3VudHBvaW50IC1xICIkVEVTVF9NT1VOVF9QQVRIIiAyPi9kZXYvbnVsbDsg dGhlbgorICAgICAgICBlY2hvICIgIFVubW91bnRpbmcgRlVTRTogJFRFU1RfTU9VTlRfUEFUSCIK KyAgICAgICAgZnVzZXJtb3VudCAtdSAiJFRFU1RfTU9VTlRfUEFUSCIgMj4vZGV2L251bGwgfHwg dW1vdW50ICIkVEVTVF9NT1VOVF9QQVRIIiAyPi9kZXYvbnVsbCB8fCB0cnVlCisgICAgZmkKKwor ICAgICMgUmVtb3ZlIHRlbXAgZGlyZWN0b3J5CisgICAgaWYgWyAiJEtFRVBfVEVNUCIgPSBmYWxz ZSBdOyB0aGVuCisgICAgICAgIGVjaG8gIiAgUmVtb3ZpbmcgdGVtcG9yYXJ5IGRpcmVjdG9yeTog JFRFTVBfRElSIgorICAgICAgICBybSAtcmYgIiRURU1QX0RJUiIKKyAgICBlbHNlCisgICAgICAg IGVjaG8gLWUgIiR7WUVMTE9XfSAgS2VlcGluZyB0ZW1wb3JhcnkgZGlyZWN0b3J5OiAkVEVNUF9E SVIke05DfSIKKyAgICAgICAgZWNobyAiICBUbyBjbGVhbiB1cCBtYW51YWxseTogcm0gLXJmICRU RU1QX0RJUiIKKyAgICBmaQorfQorCit0cmFwIGNsZWFudXAgRVhJVCBJTlQgVEVSTQorCisjIFdh aXQgZm9yIHBteGNmcyB0byBiZSByZWFkeQorZWNobyAtZSAiJHtCTFVFfVdhaXRpbmcgZm9yIHBt eGNmcyB0byBiZSByZWFkeS4uLiR7TkN9IgorTUFYX1dBSVQ9MTAKK1dBSVRFRD0wCit3aGlsZSBb ICRXQUlURUQgLWx0ICRNQVhfV0FJVCBdOyBkbworICAgIGlmIFsgLWQgIiRURVNUX01PVU5UX1BB VEgiIF0gJiYgbW91bnRwb2ludCAtcSAiJFRFU1RfTU9VTlRfUEFUSCIgMj4vZGV2L251bGw7IHRo ZW4KKyAgICAgICAgZWNobyAtZSAiJHtHUkVFTn3inJMgcG14Y2ZzIGlzIHJlYWR5JHtOQ30iCisg ICAgICAgIGJyZWFrCisgICAgZmkKKyAgICBzbGVlcCAxCisgICAgV0FJVEVEPSQoKFdBSVRFRCAr IDEpKQorZG9uZQorCitpZiBbICRXQUlURUQgLWdlICRNQVhfV0FJVCBdOyB0aGVuCisgICAgZWNo byAtZSAiJHtSRUR9RVJST1I6IHBteGNmcyBkaWQgbm90IHN0YXJ0IHdpdGhpbiAke01BWF9XQUlU fXMke05DfSIKKyAgICBlY2hvICJDaGVjayBpZjoiCisgICAgZWNobyAiICAtIEZVU0UgaXMgYXZh aWxhYmxlIChmdXNlcm1vdW50IGluc3RhbGxlZCkiCisgICAgZWNobyAiICAtIFlvdSBoYXZlIHBl cm1pc3Npb24gdG8gY3JlYXRlIEZVU0UgbW91bnRzIgorICAgIGVjaG8gIiAgLSBQb3J0L3NvY2tl dCBpcyBub3QgYWxyZWFkeSBpbiB1c2UiCisgICAgZXhpdCAxCitmaQorCisjIERldGVybWluZSB3 aGljaCB0ZXN0cyB0byBydW4KK2lmIFsgJHsjVEVTVFNbQF19IC1lcSAwIF07IHRoZW4KKyAgICAj IFJ1biBhbGwgbG9jYWwtY29tcGF0aWJsZSB0ZXN0cworICAgIFRFU1RTPSgKKyAgICAgICAgY29y ZS8wMS10ZXN0LXBhdGhzLnNoCisgICAgICAgIGNvcmUvMDItcGx1Z2luLXZlcnNpb24uc2gKKyAg ICAgICAgbWVtZGIvMDEtYWNjZXNzLnNoCisgICAgICAgIGZ1c2UvMDEtb3BlcmF0aW9ucy5zaAor ICAgICAgICBpcGMvMDEtc29ja2V0LWFwaS5zaAorICAgICAgICBycmQvMDEtcnJkLWJhc2ljLnNo CisgICAgICAgIHJyZC8wMi1zY2hlbWEtdmFsaWRhdGlvbi5zaAorICAgICAgICBzdGF0dXMvMDEt c3RhdHVzLXRyYWNraW5nLnNoCisgICAgICAgIHN0YXR1cy8wMi1zdGF0dXMtb3BlcmF0aW9ucy5z aAorICAgICAgICBsb2Nrcy8wMS1sb2NrLW1hbmFnZW1lbnQuc2gKKyAgICAgICAgcGx1Z2lucy8w MS1wbHVnaW4tZmlsZXMuc2gKKyAgICAgICAgcGx1Z2lucy8wMi1jbHVzdGVybG9nLXBsdWdpbi5z aAorICAgICAgICBjbHVzdGVybG9nLzAxLWNsdXN0ZXJsb2ctYmFzaWMuc2gKKyAgICApCisgICAg ZWNobyAtZSAiJHtDWUFOfVJ1bm5pbmcgYWxsIGxvY2FsLWNvbXBhdGlibGUgdGVzdHMgKCR7I1RF U1RTW0BdfSB0ZXN0cykke05DfSIKK2Vsc2UKKyAgICBlY2hvIC1lICIke0NZQU59UnVubmluZyAk eyNURVNUU1tAXX0gc3BlY2lmaWVkIHRlc3RzJHtOQ30iCitmaQorCitlY2hvICIiCisKKyMgUnVu IHRlc3RzCitQQVNTRUQ9MAorRkFJTEVEPTAKK1RFU1RTX0RJUj0iJFNDUklQVF9ESVIvdGVzdHMi CisKK2ZvciB0ZXN0IGluICIke1RFU1RTW0BdfSI7IGRvCisgICAgVEVTVF9GSUxFPSIkVEVTVFNf RElSLyR0ZXN0IgorCisgICAgaWYgWyAhIC1mICIkVEVTVF9GSUxFIiBdOyB0aGVuCisgICAgICAg IGVjaG8gLWUgIiR7WUVMTE9XfeKaoCBTS0lQJHtOQ306ICR0ZXN0IChmaWxlIG5vdCBmb3VuZCki CisgICAgICAgIGNvbnRpbnVlCisgICAgZmkKKworICAgIGVjaG8gLWUgIiR7QkxVRX3ilIHilIHi lIEgUnVubmluZzogJHRlc3Qke05DfSIKKworICAgICMgQ2hlY2sgcG14Y2ZzIGlzIHN0aWxsIHJ1 bm5pbmcgYmVmb3JlIHRlc3QKKyAgICBpZiAhIGtpbGwgLTAgJFBNWENGU19QSUQgMj4vZGV2L251 bGw7IHRoZW4KKyAgICAgICAgZWNobyAtZSAiJHtSRUR9RVJST1I6IHBteGNmcyBkaWVkIGJlZm9y ZSBydW5uaW5nIHRlc3QhJHtOQ30iCisgICAgICAgIGVjaG8gIkNoZWNrIGxvZzogJFRFTVBfRElS L3BteGNmcy5sb2ciCisgICAgICAgIGV4aXQgMQorICAgIGZpCisKKyAgICBpZiBiYXNoICIkVEVT VF9GSUxFIjsgdGhlbgorICAgICAgICBlY2hvIC1lICIke0dSRUVOfeKckyBQQVNTJHtOQ306ICR0 ZXN0IgorICAgICAgICAoKFBBU1NFRCsrKSkKKyAgICBlbHNlCisgICAgICAgIGVjaG8gLWUgIiR7 UkVEfeKclyBGQUlMJHtOQ306ICR0ZXN0IgorICAgICAgICAoKEZBSUxFRCsrKSkKKyAgICBmaQor CisgICAgIyBDaGVjayBwbXhjZnMgaXMgc3RpbGwgcnVubmluZyBhZnRlciB0ZXN0CisgICAgaWYg ISBraWxsIC0wICRQTVhDRlNfUElEIDI+L2Rldi9udWxsOyB0aGVuCisgICAgICAgIGVjaG8gLWUg IiR7WUVMTE9XfVdBUk5JTkc6IHBteGNmcyBkaWVkIGR1cmluZyB0ZXN0ISR7TkN9IgorICAgICAg ICBlY2hvICJDaGVjayBsb2c6ICRURU1QX0RJUi9wbXhjZnMubG9nIgorICAgIGZpCisKKyAgICBl Y2hvICIiCitkb25lCisKKyMgU3VtbWFyeQorZWNobyAtZSAiJHtDWUFOfeKVkOKVkOKVkOKVkOKV kOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV kOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV kOKVkOKVkOKVkOKVkCR7TkN9IgorZWNobyAtZSAiJHtDWUFOfSAgIFRlc3QgU3VtbWFyeSR7TkN9 IgorZWNobyAtZSAiJHtDWUFOfeKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV kOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV kOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCR7TkN9IgorZWNo byAiVG90YWw6ICAkKChQQVNTRUQgKyBGQUlMRUQpKSIKK2VjaG8gLWUgIiR7R1JFRU59UGFzc2Vk OiAkUEFTU0VEJHtOQ30iCitlY2hvIC1lICIke1JFRH1GYWlsZWQ6ICRGQUlMRUQke05DfSIKK2Vj aG8gIiIKKworaWYgWyAkRkFJTEVEIC1lcSAwIF07IHRoZW4KKyAgICBlY2hvIC1lICIke0dSRUVO feKckyBBbGwgdGVzdHMgcGFzc2VkISR7TkN9IgorICAgIGV4aXQgMAorZWxzZQorICAgIGVjaG8g LWUgIiR7UkVEfeKclyBTb21lIHRlc3RzIGZhaWxlZCR7TkN9IgorICAgIGV4aXQgMQorZmkKZGlm ZiAtLWdpdCBhL3NyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvdGVzdHMvY2x1c3Rlci8w MS1jb25uZWN0aXZpdHkuc2ggYi9zcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzL3Rlc3Rz L2NsdXN0ZXIvMDEtY29ubmVjdGl2aXR5LnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAw MDAwMDAwLi4wMDE0MGZjOQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9wbXhjZnMtcnMvaW50ZWdy YXRpb24tdGVzdHMvdGVzdHMvY2x1c3Rlci8wMS1jb25uZWN0aXZpdHkuc2gKQEAgLTAsMCArMSw1 NiBAQAorIyEvYmluL2Jhc2gKKyMgVGVzdDogTm9kZSBDb25uZWN0aXZpdHkKKyMgVmVyaWZ5IG5v ZGVzIGNhbiBjb21tdW5pY2F0ZSBpbiBtdWx0aS1ub2RlIHNldHVwCisKK3NldCAtZQorCisjIFNv dXJjZSBjb21tb24gdGVzdCBjb25maWd1cmF0aW9uCitTQ1JJUFRfRElSPSIkKGNkICIkKGRpcm5h bWUgIiR7QkFTSF9TT1VSQ0VbMF19IikiICYmIHB3ZCkiCitzb3VyY2UgIiRTQ1JJUFRfRElSLy4u L3Rlc3QtY29uZmlnLnNoIgorCitlY2hvICJUZXN0aW5nIG5vZGUgY29ubmVjdGl2aXR5Li4uIgor CisjIENoZWNrIGVudmlyb25tZW50IHZhcmlhYmxlcyBvciB1c2UgZGVmYXVsdHMgZm9yIHN0YW5k YXJkIGNsdXN0ZXIgbmV0d29yaworaWYgWyAteiAiJE5PREUxX0lQIiBdIHx8IFsgLXogIiROT0RF Ml9JUCIgXSB8fCBbIC16ICIkTk9ERTNfSVAiIF07IHRoZW4KKyAgICAjIEF1dG8tZGV0ZWN0IGZy b20gc3RhbmRhcmQgY2x1c3RlciBuZXR3b3JrICgxNzIuMzAuMC4wLzE2KQorICAgIE5PREUxX0lQ PSIke05PREUxX0lQOi0xNzIuMzAuMC4xMX0iCisgICAgTk9ERTJfSVA9IiR7Tk9ERTJfSVA6LTE3 Mi4zMC4wLjEyfSIKKyAgICBOT0RFM19JUD0iJHtOT0RFM19JUDotMTcyLjMwLjAuMTN9IgorICAg IGVjaG8gIlVzaW5nIGRlZmF1bHQgY2x1c3RlciBJUHMgKHNldCBOT0RFKl9JUCB0byBvdmVycmlk ZSkiCitmaQorCitlY2hvICJOb2RlIElQcyBjb25maWd1cmVkOiIKK2VjaG8gIiAgTm9kZTE6ICRO T0RFMV9JUCIKK2VjaG8gIiAgTm9kZTI6ICROT0RFMl9JUCIKK2VjaG8gIiAgTm9kZTM6ICROT0RF M19JUCIKKworIyBUZXN0IG5ldHdvcmsgY29ubmVjdGl2aXR5IHRvIGVhY2ggbm9kZQorZm9yIG5v ZGVfaXAgaW4gJE5PREUxX0lQICROT0RFMl9JUCAkTk9ERTNfSVA7IGRvCisgICAgZWNobyAiVGVz dGluZyBjb25uZWN0aXZpdHkgdG8gJG5vZGVfaXAuLi4iCisKKyAgICBpZiBwaW5nIC1jIDEgLVcg MiAkbm9kZV9pcCA+IC9kZXYvbnVsbCAyPiYxOyB0aGVuCisgICAgICAgIGVjaG8gIuKckyAkbm9k ZV9pcCBpcyByZWFjaGFibGUiCisgICAgZWxzZQorICAgICAgICBlY2hvICJFUlJPUjogQ2Fubm90 IHJlYWNoICRub2RlX2lwIgorICAgICAgICBleGl0IDEKKyAgICBmaQorZG9uZQorCisjIENoZWNr IGlmIG5vZGVzIGhhdmUgcG14Y2ZzIHJ1bm5pbmcgKHZpYSBzb2NrZXQgY2hlY2spCitlY2hvICJD aGVja2luZyBwbXhjZnMgb24gbm9kZXMuLi4iCisKK2NoZWNrX25vZGVfc29ja2V0KCkgeworICAg IGxvY2FsIG5vZGVfaXA9JDEKKyAgICBsb2NhbCBub2RlX25hbWU9JDIKKworICAgICMgV2UgY2Fu J3QgZGlyZWN0bHkgY2hlY2sgc29ja2V0IG9uIG90aGVyIG5vZGVzIHdpdGhvdXQgc3NoCisgICAg IyBJbnN0ZWFkLCB3ZSdsbCBjaGVjayBpZiB0aGUgY29udGFpbmVyIGlzIGhlYWx0aHkKKyAgICBl Y2hvICIgICRub2RlX25hbWUgKCRub2RlX2lwKTogQXNzdW1pbmcgaGVhbHRoeSBmcm9tIGRvY2tl ci1jb21wb3NlIgorfQorCitjaGVja19ub2RlX3NvY2tldCAkTk9ERTFfSVAgIm5vZGUxIgorY2hl Y2tfbm9kZV9zb2NrZXQgJE5PREUyX0lQICJub2RlMiIKK2NoZWNrX25vZGVfc29ja2V0ICROT0RF M19JUCAibm9kZTMiCisKK2VjaG8gIuKckyBBbGwgbm9kZXMgYXJlIHJlYWNoYWJsZSIKK2V4aXQg MApkaWZmIC0tZ2l0IGEvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0cy9jbHVz dGVyLzAyLWZpbGUtc3luYy5zaCBiL3NyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvdGVz dHMvY2x1c3Rlci8wMi1maWxlLXN5bmMuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAw MDAwMDAuLmUyYjY5MGE2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL3BteGNmcy1ycy9pbnRlZ3Jh dGlvbi10ZXN0cy90ZXN0cy9jbHVzdGVyLzAyLWZpbGUtc3luYy5zaApAQCAtMCwwICsxLDIxNiBA QAorIyEvYmluL2Jhc2gKKyMgVGVzdDogRmlsZSBTeW5jaHJvbml6YXRpb24KKyMgVGVzdCBmaWxl IHN5bmMgYmV0d2VlbiBub2RlcyBpbiBtdWx0aS1ub2RlIGNsdXN0ZXIKKworc2V0IC1lCisKKyMg U291cmNlIGNvbW1vbiB0ZXN0IGNvbmZpZ3VyYXRpb24KK1NDUklQVF9ESVI9IiQoY2QgIiQoZGly bmFtZSAiJHtCQVNIX1NPVVJDRVswXX0iKSIgJiYgcHdkKSIKK3NvdXJjZSAiJFNDUklQVF9ESVIv Li4vdGVzdC1jb25maWcuc2giCisKK2VjaG8gIlRlc3RpbmcgZmlsZSBzeW5jaHJvbml6YXRpb24u Li4iCisKKyMgQ2hlY2sgaWYgd2UncmUgaW4gbXVsdGktbm9kZSBlbnZpcm9ubWVudCBvciB1c2Ug ZGVmYXVsdHMKK2lmIFsgLXogIiROT0RFMV9JUCIgXSB8fCBbIC16ICIkTk9ERTJfSVAiIF0gfHwg WyAteiAiJE5PREUzX0lQIiBdOyB0aGVuCisgICAgIyBBdXRvLWRldGVjdCBmcm9tIHN0YW5kYXJk IGNsdXN0ZXIgbmV0d29yayAoMTcyLjMwLjAuMC8xNikKKyAgICBOT0RFMV9JUD0iJHtOT0RFMV9J UDotMTcyLjMwLjAuMTF9IgorICAgIE5PREUyX0lQPSIke05PREUyX0lQOi0xNzIuMzAuMC4xMn0i CisgICAgTk9ERTNfSVA9IiR7Tk9ERTNfSVA6LTE3Mi4zMC4wLjEzfSIKKyAgICBlY2hvICJVc2lu ZyBkZWZhdWx0IGNsdXN0ZXIgSVBzIChzZXQgTk9ERSpfSVAgdG8gb3ZlcnJpZGUpIgorZmkKKwor ZWNobyAiTXVsdGktbm9kZSBlbnZpcm9ubWVudCBkZXRlY3RlZDoiCitlY2hvICIgIE5vZGUxOiAk Tk9ERTFfSVAiCitlY2hvICIgIE5vZGUyOiAkTk9ERTJfSVAiCitlY2hvICIgIE5vZGUzOiAkTk9E RTNfSVAiCitlY2hvICIiCisKKyMgSGVscGVyIGZ1bmN0aW9uIHRvIGNoZWNrIGlmIGEgbm9kZSdz IHBteGNmcyBpcyBydW5uaW5nCitjaGVja19ub2RlX2FsaXZlKCkgeworICAgIGxvY2FsIG5vZGVf aXA9JDEKKyAgICBsb2NhbCBub2RlX25hbWU9JDIKKworICAgICMgVHJ5IHRvIHBpbmcgdGhlIG5v ZGUKKyAgICBpZiAhIHBpbmcgLWMgMSAtVyAyICRub2RlX2lwID4gL2Rldi9udWxsIDI+JjE7IHRo ZW4KKyAgICAgICAgZWNobyAiRVJST1I6IENhbm5vdCByZWFjaCAkbm9kZV9uYW1lICgkbm9kZV9p cCkiCisgICAgICAgIHJldHVybiAxCisgICAgZmkKKyAgICBlY2hvICLinJMgJG5vZGVfbmFtZSBp cyByZWFjaGFibGUiCisgICAgcmV0dXJuIDAKK30KKworIyBIZWxwZXIgZnVuY3Rpb24gdG8gY3Jl YXRlIHRlc3QgZmlsZSB2aWEgZG9ja2VyIGV4ZWMKK2NyZWF0ZV9maWxlX29uX25vZGUoKSB7Cisg ICAgbG9jYWwgY29udGFpbmVyX25hbWU9JDEKKyAgICBsb2NhbCBmaWxlX3BhdGg9JDIKKyAgICBs b2NhbCBjb250ZW50PSQzCisKKyAgICBlY2hvICJDcmVhdGluZyBmaWxlIG9uICRjb250YWluZXJf bmFtZTogJGZpbGVfcGF0aCIKKworICAgICMgVHJ5IHRvIHVzZSBkb2NrZXIgZXhlYyAoaWYgYXZh aWxhYmxlKQorICAgIGlmIGNvbW1hbmQgLXYgZG9ja2VyICY+IC9kZXYvbnVsbDsgdGhlbgorICAg ICAgICBpZiBkb2NrZXIgZXhlYyAkY29udGFpbmVyX25hbWUgYmFzaCAtYyAiZWNobyAnJGNvbnRl bnQnID4gJGZpbGVfcGF0aCIgMj4vZGV2L251bGw7IHRoZW4KKyAgICAgICAgICAgIGVjaG8gIuKc kyBGaWxlIGNyZWF0ZWQgb24gJGNvbnRhaW5lcl9uYW1lIgorICAgICAgICAgICAgcmV0dXJuIDAK KyAgICAgICAgZmkKKyAgICBmaQorCisgICAgIyBUcnkgcG9kbWFuIGV4ZWMKKyAgICBpZiBjb21t YW5kIC12IHBvZG1hbiAmPiAvZGV2L251bGw7IHRoZW4KKyAgICAgICAgaWYgcG9kbWFuIGV4ZWMg JGNvbnRhaW5lcl9uYW1lIGJhc2ggLWMgImVjaG8gJyRjb250ZW50JyA+ICRmaWxlX3BhdGgiIDI+ L2Rldi9udWxsOyB0aGVuCisgICAgICAgICAgICBlY2hvICLinJMgRmlsZSBjcmVhdGVkIG9uICRj b250YWluZXJfbmFtZSIKKyAgICAgICAgICAgIHJldHVybiAwCisgICAgICAgIGZpCisgICAgZmkK KworICAgIGVjaG8gIuKaoCBDYW5ub3QgZXhlYyBpbnRvIGNvbnRhaW5lciAobm90IHJ1bm5pbmcg ZnJvbSBob3N0PykiCisgICAgcmV0dXJuIDEKK30KKworIyBIZWxwZXIgZnVuY3Rpb24gdG8gY2hl Y2sgZmlsZSBvbiBub2RlCitjaGVja19maWxlX29uX25vZGUoKSB7CisgICAgbG9jYWwgY29udGFp bmVyX25hbWU9JDEKKyAgICBsb2NhbCBmaWxlX3BhdGg9JDIKKyAgICBsb2NhbCBleHBlY3RlZF9j b250ZW50PSQzCisKKyAgICAjIFRyeSBkb2NrZXIgZXhlYworICAgIGlmIGNvbW1hbmQgLXYgZG9j a2VyICY+IC9kZXYvbnVsbDsgdGhlbgorICAgICAgICBpZiBkb2NrZXIgZXhlYyAkY29udGFpbmVy X25hbWUgdGVzdCAtZiAkZmlsZV9wYXRoIDI+L2Rldi9udWxsOyB0aGVuCisgICAgICAgICAgICBs b2NhbCBjb250ZW50PSQoZG9ja2VyIGV4ZWMgJGNvbnRhaW5lcl9uYW1lIGNhdCAkZmlsZV9wYXRo IDI+L2Rldi9udWxsIHx8IGVjaG8gIiIpCisgICAgICAgICAgICBpZiBbICIkY29udGVudCIgPSAi JGV4cGVjdGVkX2NvbnRlbnQiIF07IHRoZW4KKyAgICAgICAgICAgICAgICBlY2hvICLinJMgRmls ZSBmb3VuZCBvbiAkY29udGFpbmVyX25hbWUgd2l0aCBjb3JyZWN0IGNvbnRlbnQiCisgICAgICAg ICAgICAgICAgcmV0dXJuIDAKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBlY2hv ICLimqAgRmlsZSBmb3VuZCBvbiAkY29udGFpbmVyX25hbWUgYnV0IGNvbnRlbnQgZGlmZmVycyIK KyAgICAgICAgICAgICAgICBlY2hvICIgIEV4cGVjdGVkOiAkZXhwZWN0ZWRfY29udGVudCIKKyAg ICAgICAgICAgICAgICBlY2hvICIgIEdvdDogJGNvbnRlbnQiCisgICAgICAgICAgICAgICAgcmV0 dXJuIDEKKyAgICAgICAgICAgIGZpCisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGVjaG8gIuKc lyBGaWxlIG5vdCBmb3VuZCBvbiAkY29udGFpbmVyX25hbWUiCisgICAgICAgICAgICByZXR1cm4g MQorICAgICAgICBmaQorICAgIGZpCisKKyAgICAjIFRyeSBwb2RtYW4gZXhlYworICAgIGlmIGNv bW1hbmQgLXYgcG9kbWFuICY+IC9kZXYvbnVsbDsgdGhlbgorICAgICAgICBpZiBwb2RtYW4gZXhl YyAkY29udGFpbmVyX25hbWUgdGVzdCAtZiAkZmlsZV9wYXRoIDI+L2Rldi9udWxsOyB0aGVuCisg ICAgICAgICAgICBsb2NhbCBjb250ZW50PSQocG9kbWFuIGV4ZWMgJGNvbnRhaW5lcl9uYW1lIGNh dCAkZmlsZV9wYXRoIDI+L2Rldi9udWxsIHx8IGVjaG8gIiIpCisgICAgICAgICAgICBpZiBbICIk Y29udGVudCIgPSAiJGV4cGVjdGVkX2NvbnRlbnQiIF07IHRoZW4KKyAgICAgICAgICAgICAgICBl Y2hvICLinJMgRmlsZSBmb3VuZCBvbiAkY29udGFpbmVyX25hbWUgd2l0aCBjb3JyZWN0IGNvbnRl bnQiCisgICAgICAgICAgICAgICAgcmV0dXJuIDAKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAg ICAgICAgICBlY2hvICLimqAgRmlsZSBmb3VuZCBvbiAkY29udGFpbmVyX25hbWUgYnV0IGNvbnRl bnQgZGlmZmVycyIKKyAgICAgICAgICAgICAgICByZXR1cm4gMQorICAgICAgICAgICAgZmkKKyAg ICAgICAgZWxzZQorICAgICAgICAgICAgZWNobyAi4pyXIEZpbGUgbm90IGZvdW5kIG9uICRjb250 YWluZXJfbmFtZSIKKyAgICAgICAgICAgIHJldHVybiAxCisgICAgICAgIGZpCisgICAgZmkKKwor ICAgIGVjaG8gIuKaoCBDYW5ub3QgY2hlY2sgZmlsZSAoY29udGFpbmVyIHJ1bnRpbWUgbm90IGF2 YWlsYWJsZSkiCisgICAgcmV0dXJuIDEKK30KKworIyBTdGVwIDE6IFZlcmlmeSBhbGwgbm9kZXMg YXJlIHJlYWNoYWJsZQorZWNobyAiU3RlcCAxOiBWZXJpZnlpbmcgbm9kZSBjb25uZWN0aXZpdHku Li4iCitjaGVja19ub2RlX2FsaXZlICROT0RFMV9JUCAibm9kZTEiIHx8IGV4aXQgMQorY2hlY2tf bm9kZV9hbGl2ZSAkTk9ERTJfSVAgIm5vZGUyIiB8fCBleGl0IDEKK2NoZWNrX25vZGVfYWxpdmUg JE5PREUzX0lQICJub2RlMyIgfHwgZXhpdCAxCitlY2hvICIiCisKKyMgU3RlcCAyOiBDcmVhdGUg dW5pcXVlIHRlc3QgZmlsZSBvbiBub2RlMQorZWNobyAiU3RlcCAyOiBDcmVhdGluZyB0ZXN0IGZp bGUgb24gbm9kZTEuLi4iCitURVNUX0ZJTEU9Ii90ZXN0L3B2ZS9zeW5jLXRlc3QtJChkYXRlICsl cykudHh0IgorVEVTVF9DT05URU5UPSJGaWxlIHN5bmMgdGVzdCBhdCAkKGRhdGUpIgorCitpZiBj cmVhdGVfZmlsZV9vbl9ub2RlICJwbXhjZnMtdGVzdC1ub2RlMSIgIiRURVNUX0ZJTEUiICIkVEVT VF9DT05URU5UIjsgdGhlbgorICAgIGVjaG8gIuKckyBUZXN0IGZpbGUgY3JlYXRlZDogJFRFU1Rf RklMRSIKK2Vsc2UKKyAgICBlY2hvICIiCisgICAgZWNobyAiTk9URTogQ2Fubm90IGV4ZWMgaW50 byBjb250YWluZXJzIGZyb20gdGVzdC1ydW5uZXIiCisgICAgZWNobyAiVGhpcyBpcyBleHBlY3Rl ZCB3aGVuIHJ1bm5pbmcgdmlhIGRvY2tlci1jb21wb3NlIgorICAgIGVjaG8gIiIKKyAgICBlY2hv ICJGaWxlIHN5bmMgdGVzdCByZXF1aXJlcyBvbmUgb2Y6IgorICAgIGVjaG8gIiAgMS4gSG9zdC1s ZXZlbCBhY2Nlc3MgKHJ1bm5pbmcgdGVzdHMgZnJvbSBob3N0IHdpdGggZG9ja2VyIGV4ZWMpIgor ICAgIGVjaG8gIiAgMi4gU1NIIGJldHdlZW4gY29udGFpbmVycyIKKyAgICBlY2hvICIgIDMuIHBt eGNmcyBjbHVzdGVyIHByb3RvY29sIHRlc3RpbmcgKHJlcXVpcmVzIGNvcm9zeW5jKSIKKyAgICBl Y2hvICIiCisgICAgZWNobyAiRm9yIG5vdywgdmVyaWZ5aW5nIGxvY2FsIGRhdGFiYXNlIGNvbnNp c3RlbmN5Li4uIgorCisgICAgIyBGYWxsYmFjazogY2hlY2sgbG9jYWwgZGF0YWJhc2UKKyAgICBE Ql9QQVRIPSIkVEVTVF9EQl9QQVRIIgorICAgIGlmIFsgLWYgIiREQl9QQVRIIiBdOyB0aGVuCisg ICAgICAgIGVjaG8gIuKckyBMb2NhbCBkYXRhYmFzZSBleGlzdHMgYW5kIGlzIGFjY2Vzc2libGUi CisgICAgICAgIERCX1NJWkU9JChzdGF0IC1jICVzICIkREJfUEFUSCIpCisgICAgICAgIGVjaG8g IiAgRGF0YWJhc2Ugc2l6ZTogJERCX1NJWkUgYnl0ZXMiCisKKyAgICAgICAgIyBDaGVjayBpZiBk YXRhYmFzZSBpcyB2YWxpZCBTUUxpdGUKKyAgICAgICAgaWYgY29tbWFuZCAtdiBzcWxpdGUzICY+ IC9kZXYvbnVsbDsgdGhlbgorICAgICAgICAgICAgaWYgc3FsaXRlMyAiJERCX1BBVEgiICJQUkFH TUEgaW50ZWdyaXR5X2NoZWNrOyIgMj4vZGV2L251bGwgfCBncmVwIC1xICJvayI7IHRoZW4KKyAg ICAgICAgICAgICAgICBlY2hvICLinJMgRGF0YWJhc2UgaW50ZWdyaXR5IGNoZWNrIHBhc3NlZCIK KyAgICAgICAgICAgIGZpCisgICAgICAgIGZpCisgICAgZmkKKworICAgIGVjaG8gIiIKKyAgICBl Y2hvICLimqAgRmlsZSBzeW5jIHRlc3QgcGFydGlhbGx5IGltcGxlbWVudGVkIgorICAgIGVjaG8g IiAgU2VlIENPTlRBSU5FUl9URVNUSU5HLm1kIGZvciBmdWxsIGNsdXN0ZXIgc2V0dXAgaW5zdHJ1 Y3Rpb25zIgorICAgIGV4aXQgMAorZmkKKworIyBTdGVwIDM6IFdhaXQgZm9yIHN5bmMgKGlmIGNs dXN0ZXIgaXMgY29uZmlndXJlZCkKK2VjaG8gIiIKK2VjaG8gIlN0ZXAgMzogV2FpdGluZyBmb3Ig ZmlsZSBzeW5jaHJvbml6YXRpb24uLi4iCitTWU5DX1dBSVQ9JHtTWU5DX1dBSVQ6LTV9CitlY2hv ICJXYWl0aW5nICR7U1lOQ19XQUlUfXMgZm9yIGNsdXN0ZXIgc3luYy4uLiIKK3NsZWVwICRTWU5D X1dBSVQKKworIyBTdGVwIDQ6IENoZWNrIGlmIGZpbGUgYXBwZWFyZWQgb24gb3RoZXIgbm9kZXMK K2VjaG8gIiIKK2VjaG8gIlN0ZXAgNDogVmVyaWZ5aW5nIGZpbGUgc3luYyB0byBvdGhlciBub2Rl cy4uLiIKKworU1lOQ19TVUNDRVNTPXRydWUKKworaWYgISBjaGVja19maWxlX29uX25vZGUgInBt eGNmcy10ZXN0LW5vZGUyIiAiJFRFU1RfRklMRSIgIiRURVNUX0NPTlRFTlQiOyB0aGVuCisgICAg U1lOQ19TVUNDRVNTPWZhbHNlCitmaQorCitpZiAhIGNoZWNrX2ZpbGVfb25fbm9kZSAicG14Y2Zz LXRlc3Qtbm9kZTMiICIkVEVTVF9GSUxFIiAiJFRFU1RfQ09OVEVOVCI7IHRoZW4KKyAgICBTWU5D X1NVQ0NFU1M9ZmFsc2UKK2ZpCisKKyMgU3RlcCA1OiBDbGVhbnVwCitlY2hvICIiCitlY2hvICJT dGVwIDU6IENsZWFuaW5nIHVwIHRlc3QgZmlsZS4uLiIKK2lmIGNvbW1hbmQgLXYgZG9ja2VyICY+ IC9kZXYvbnVsbDsgdGhlbgorICAgIGRvY2tlciBleGVjIHBteGNmcy10ZXN0LW5vZGUxIHJtIC1m ICIkVEVTVF9GSUxFIiAyPi9kZXYvbnVsbCB8fCB0cnVlCitlbGlmIGNvbW1hbmQgLXYgcG9kbWFu ICY+IC9kZXYvbnVsbDsgdGhlbgorICAgIHBvZG1hbiBleGVjIHBteGNmcy10ZXN0LW5vZGUxIHJt IC1mICIkVEVTVF9GSUxFIiAyPi9kZXYvbnVsbCB8fCB0cnVlCitmaQorCisjIEZpbmFsIHZlcmRp Y3QKK2VjaG8gIiIKK2lmIFsgIiRTWU5DX1NVQ0NFU1MiID0gdHJ1ZSBdOyB0aGVuCisgICAgZWNo byAi4pyTIEZpbGUgc3luY2hyb25pemF0aW9uIHRlc3QgUEFTU0VEIgorICAgIGVjaG8gIiAgRmls ZSBzdWNjZXNzZnVsbHkgc3luY2VkIGFjcm9zcyBhbGwgbm9kZXMiCisgICAgZXhpdCAwCitlbHNl CisgICAgZWNobyAi4pqgIEZpbGUgc3luY2hyb25pemF0aW9uIHRlc3QgSU5DT01QTEVURSIKKyAg ICBlY2hvICIiCisgICAgZWNobyAiUG9zc2libGUgcmVhc29uczoiCisgICAgZWNobyAiICAxLiBD bHVzdGVyIG5vdCBjb25maWd1cmVkIChyZXF1aXJlcyBjb3Jvc3luYy5jb25mKSIKKyAgICBlY2hv ICIgIDIuIE5vZGVzIG5vdCBpbiBjbHVzdGVyIHF1b3J1bSIKKyAgICBlY2hvICIgIDMuIHBteGNm cyBydW5uaW5nIGluIHN0YW5kYWxvbmUgbW9kZSAoLS10ZXN0LWRpcikiCisgICAgZWNobyAiIgor ICAgIGVjaG8gIlRvIGVuYWJsZSBmdWxsIGNsdXN0ZXIgc3luYyB0ZXN0aW5nOiIKKyAgICBlY2hv ICIgIDEuIEFkZCBjb3Jvc3luYyBjb25maWd1cmF0aW9uIHRvIGNvbnRhaW5lcnMiCisgICAgZWNo byAiICAyLiBTdGFydCBjb3Jvc3luYyBvbiBlYWNoIG5vZGUiCisgICAgZWNobyAiICAzLiBXYWl0 IGZvciBjbHVzdGVyIHF1b3J1bSIKKyAgICBlY2hvICIgIDQuIFJlLXJ1biB0aGlzIHRlc3QiCisg ICAgZWNobyAiIgorICAgIGVjaG8gIkZvciBub3csIHRoaXMgaW5kaWNhdGVzIGNvbnRhaW5lcnMg YXJlIHJ1bm5pbmcgYnV0IG5vdCBjbHVzdGVyZWQuIgorICAgIGVjaG8gIlNlZSBDT05UQUlORVJf VEVTVElORy5tZCBmb3IgY2x1c3RlciBzZXR1cC4iCisgICAgZXhpdCAwICAjIERvbid0IGZhaWwg LSB0aGlzIGlzIGV4cGVjdGVkIHdpdGhvdXQgZnVsbCBjbHVzdGVyIHNldHVwCitmaQpkaWZmIC0t Z2l0IGEvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0cy9jbHVzdGVyLzAzLWNs dXN0ZXJsb2ctc3luYy5zaCBiL3NyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvdGVzdHMv Y2x1c3Rlci8wMy1jbHVzdGVybG9nLXN5bmMuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXgg MDAwMDAwMDAuLmNkZjE5MTgyCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL3BteGNmcy1ycy9pbnRl Z3JhdGlvbi10ZXN0cy90ZXN0cy9jbHVzdGVyLzAzLWNsdXN0ZXJsb2ctc3luYy5zaApAQCAtMCww ICsxLDI5NyBAQAorIyEvYmluL2Jhc2gKKyMgVGVzdDogQ2x1c3RlckxvZyBNdWx0aS1Ob2RlIFN5 bmNocm9uaXphdGlvbgorIyBWZXJpZnkgY2x1c3RlciBsb2cgc3luY2hyb25pemF0aW9uIGFjcm9z cyBSdXN0IG5vZGVzCisjCisjIE5PVEU6IFRoaXMgdGVzdCByZXF1aXJlcyBkb2NrZXIvcG9kbWFu IGFjY2VzcyBhbmQgaXMgcnVuIGZyb20gdGhlIGhvc3QgYnkgdGhlIHRlc3QgcnVubmVyCisKK3Nl dCAtZQorCisjIFNvdXJjZSBjb21tb24gdGVzdCBjb25maWd1cmF0aW9uCitTQ1JJUFRfRElSPSIk KGNkICIkKGRpcm5hbWUgIiR7QkFTSF9TT1VSQ0VbMF19IikiICYmIHB3ZCkiCitzb3VyY2UgIiRT Q1JJUFRfRElSLy4uL3Rlc3QtY29uZmlnLnNoIgorCitlY2hvICI9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PSIKK2VjaG8gIkNsdXN0ZXJMb2cgTXVsdGktTm9kZSBTeW5j aHJvbml6YXRpb24gVGVzdCIKK2VjaG8gIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09IgorZWNobyAiIgorCisjIENvbmZpZ3VyYXRpb24KK01PVU5UX1BBVEg9IiRURVNU X01PVU5UX1BBVEgiCitDTFVTVEVSTE9HX0ZJTEU9IiRNT1VOVF9QQVRILy5jbHVzdGVybG9nIgor VEVTVF9NRVNTQUdFPSJNdWx0aU5vZGUtVGVzdC0kKGRhdGUgKyVzKSIKKworIyBIZWxwZXIgZnVu Y3Rpb25zCitsb2dfaW5mbygpIHsKKyAgICBlY2hvICJbSU5GT10gJDEiCit9CisKK2xvZ19lcnJv cigpIHsKKyAgICBlY2hvICJbRVJST1JdICQxIiA+JjIKK30KKworbG9nX3N1Y2Nlc3MoKSB7Cisg ICAgZWNobyAiW+Kck10gJDEiCit9CisKKyMgRnVuY3Rpb24gdG8gY2hlY2sgaWYgY2x1c3Rlcmxv ZyBmaWxlIGV4aXN0cyBhbmQgaXMgYWNjZXNzaWJsZQorY2hlY2tfY2x1c3RlcmxvZ19leGlzdHMo KSB7CisgICAgbG9jYWwgbm9kZT0kMQorICAgIGlmICRDT05UQUlORVJfQ01EIGV4ZWMgIiRub2Rl IiB0ZXN0IC1lICIkQ0xVU1RFUkxPR19GSUxFIiAyPi9kZXYvbnVsbDsgdGhlbgorICAgICAgICBy ZXR1cm4gMAorICAgIGVsc2UKKyAgICAgICAgcmV0dXJuIDEKKyAgICBmaQorfQorCisjIEZ1bmN0 aW9uIHRvIHJlYWQgY2x1c3RlcmxvZyBmcm9tIGEgbm9kZQorcmVhZF9jbHVzdGVybG9nKCkgewor ICAgIGxvY2FsIG5vZGU9JDEKKyAgICAkQ09OVEFJTkVSX0NNRCBleGVjICIkbm9kZSIgY2F0ICIk Q0xVU1RFUkxPR19GSUxFIiAyPi9kZXYvbnVsbCB8fCBlY2hvICJbXSIKK30KKworIyBGdW5jdGlv biB0byBjb3VudCBlbnRyaWVzIGluIGNsdXN0ZXJsb2cKK2NvdW50X2VudHJpZXMoKSB7CisgICAg bG9jYWwgbm9kZT0kMQorICAgIGxvY2FsIGNvbnRlbnQ9JChyZWFkX2NsdXN0ZXJsb2cgIiRub2Rl IikKKworICAgIGlmIFsgLXogIiRjb250ZW50IiBdIHx8IFsgIiRjb250ZW50IiA9ICJbXSIgXTsg dGhlbgorICAgICAgICBlY2hvICIwIgorICAgICAgICByZXR1cm4KKyAgICBmaQorCisgICAgIyBU cnkgdG8gcGFyc2UgYXMgSlNPTiBhbmQgY291bnQgZW50cmllcyBpbiAuZGF0YSBhcnJheQorICAg IGlmIGVjaG8gIiRjb250ZW50IiB8IGpxICcuZGF0YSB8IGxlbmd0aCcgMj4vZGV2L251bGw7IHRo ZW4KKyAgICAgICAgcmV0dXJuCisgICAgZWxzZQorICAgICAgICBlY2hvICIwIgorICAgIGZpCit9 CisKKyMgRnVuY3Rpb24gdG8gd2FpdCBmb3IgY2x1c3RlciBsb2cgZW50cnkgdG8gYXBwZWFyCit3 YWl0X2Zvcl9sb2dfZW50cnkoKSB7CisgICAgbG9jYWwgbm9kZT0kMQorICAgIGxvY2FsIHNlYXJj aF90ZXh0PSQyCisgICAgbG9jYWwgdGltZW91dD0kezM6LTMwfQorICAgIGxvY2FsIGVsYXBzZWQ9 MAorCisgICAgbG9nX2luZm8gIldhaXRpbmcgZm9yIGxvZyBlbnRyeSBjb250YWluaW5nICckc2Vh cmNoX3RleHQnIG9uICRub2RlLi4uIgorCisgICAgd2hpbGUgWyAkZWxhcHNlZCAtbHQgJHRpbWVv dXQgXTsgZG8KKyAgICAgICAgbG9jYWwgY29udGVudD0kKHJlYWRfY2x1c3RlcmxvZyAiJG5vZGUi KQorCisgICAgICAgIGlmIGVjaG8gIiRjb250ZW50IiB8IGpxIC1lIC0tYXJnIG1zZyAiJHNlYXJj aF90ZXh0IiAnLltdIHwgc2VsZWN0KC5tc2cgfCBjb250YWlucygkbXNnKSknID4gL2Rldi9udWxs IDI+JjE7IHRoZW4KKyAgICAgICAgICAgIGxvZ19zdWNjZXNzICJFbnRyeSBmb3VuZCBvbiAkbm9k ZSBhZnRlciAke2VsYXBzZWR9cyIKKyAgICAgICAgICAgIHJldHVybiAwCisgICAgICAgIGZpCisK KyAgICAgICAgc2xlZXAgMQorICAgICAgICBlbGFwc2VkPSQoKGVsYXBzZWQgKyAxKSkKKyAgICBk b25lCisKKyAgICBsb2dfZXJyb3IgIkVudHJ5IG5vdCBmb3VuZCBvbiAkbm9kZSBhZnRlciAke3Rp bWVvdXR9cyB0aW1lb3V0IgorICAgIHJldHVybiAxCit9CisKKyMgRGV0ZWN0IGNvbnRhaW5lciBy dW50aW1lIChwb2RtYW4gb3IgZG9ja2VyKQorIyBVc2UgZW52aXJvbm1lbnQgdmFyaWFibGUgaWYg c2V0LCBvdGhlcndpc2UgYXV0by1kZXRlY3QKK2lmIFsgLXogIiRDT05UQUlORVJfQ01EIiBdOyB0 aGVuCisgICAgaWYgY29tbWFuZCAtdiBwb2RtYW4gJj4gL2Rldi9udWxsOyB0aGVuCisgICAgICAg IENPTlRBSU5FUl9DTUQ9InBvZG1hbiIKKyAgICBlbGlmIGNvbW1hbmQgLXYgZG9ja2VyICY+IC9k ZXYvbnVsbDsgdGhlbgorICAgICAgICBDT05UQUlORVJfQ01EPSJkb2NrZXIiCisgICAgZWxzZQor ICAgICAgICBsb2dfZXJyb3IgIk5laXRoZXIgcG9kbWFuIG5vciBkb2NrZXIgZm91bmQiCisgICAg ICAgIGxvZ19lcnJvciAiVGhpcyB0ZXN0IG11c3QgcnVuIGZyb20gdGhlIGhvc3Qgd2l0aCBhY2Nl c3MgdG8gY29udGFpbmVyIHJ1bnRpbWUiCisgICAgICAgIGV4aXQgMQorICAgIGZpCitmaQorCisj IERldGVjdCBydW5uaW5nIGNvbnRhaW5lcnMKK2xvZ19pbmZvICJEZXRlY3RpbmcgcnVubmluZyBj bHVzdGVyIG5vZGVzLi4uIgorTk9ERVM9JCgkQ09OVEFJTkVSX0NNRCBwcyAtLWZpbHRlciAibmFt ZT1wbXhjZnMiIC0tZmlsdGVyICJzdGF0dXM9cnVubmluZyIgLS1mb3JtYXQgInt7Lk5hbWVzfX0i IHwgc29ydCkKKworaWYgWyAteiAiJE5PREVTIiBdOyB0aGVuCisgICAgbG9nX2Vycm9yICJObyBy dW5uaW5nIHBteGNmcyBjb250YWluZXJzIGZvdW5kIgorICAgIGxvZ19pbmZvICJQbGVhc2Ugc3Rh cnQgdGhlIGNsdXN0ZXIgd2l0aDoiCisgICAgbG9nX2luZm8gIiAgY2QgaW50ZWdyYXRpb24tdGVz dHMvZG9ja2VyICYmIGRvY2tlci1jb21wb3NlIC1mIGRvY2tlci1jb21wb3NlLmNsdXN0ZXIueW1s IHVwIC1kIgorICAgIGV4aXQgMQorZmkKKworTk9ERV9DT1VOVD0kKGVjaG8gIiROT0RFUyIgfCB3 YyAtbCkKK2xvZ19zdWNjZXNzICJGb3VuZCAkTk9ERV9DT1VOVCBydW5uaW5nIG5vZGUocyk6Igor ZWNobyAiJE5PREVTIiB8IHdoaWxlIHJlYWQgbm9kZTsgZG8KKyAgICBlY2hvICIgIC0gJG5vZGUi Citkb25lCitlY2hvICIiCisKKyMgSWYgb25seSBvbmUgbm9kZSwgdGhpcyB0ZXN0IGlzIG5vdCBh cHBsaWNhYmxlCitpZiBbICIkTk9ERV9DT1VOVCIgLWx0IDIgXTsgdGhlbgorICAgIGxvZ19pbmZv ICJUaGlzIHRlc3QgcmVxdWlyZXMgYXQgbGVhc3QgMiBub2RlcyIKKyAgICBsb2dfaW5mbyAiU2lu Z2xlLW5vZGUgY2x1c3RlciBkZXRlY3RlZCAtIHNraXBwaW5nIG11bHRpLW5vZGUgc3luYyB0ZXN0 IgorICAgIGV4aXQgMAorZmkKKworIyBTdGVwIDE6IFZlcmlmeSBhbGwgbm9kZXMgaGF2ZSBjbHVz dGVybG9nIGFjY2Vzc2libGUKK2xvZ19pbmZvICJTdGVwIDE6IFZlcmlmeWluZyBjbHVzdGVybG9n IGFjY2Vzc2liaWxpdHkgb24gYWxsIG5vZGVzLi4uIgorZm9yIG5vZGUgaW4gJE5PREVTOyBkbwor ICAgIGlmIGNoZWNrX2NsdXN0ZXJsb2dfZXhpc3RzICIkbm9kZSI7IHRoZW4KKyAgICAgICAgbG9n X3N1Y2Nlc3MgIkNsdXN0ZXJsb2cgYWNjZXNzaWJsZSBvbiAkbm9kZSIKKyAgICBlbHNlCisgICAg ICAgIGxvZ19lcnJvciAiQ2x1c3RlcmxvZyBub3QgYWNjZXNzaWJsZSBvbiAkbm9kZSIKKyAgICAg ICAgZXhpdCAxCisgICAgZmkKK2RvbmUKK2VjaG8gIiIKKworIyBTdGVwIDI6IFJlY29yZCBpbml0 aWFsIGVudHJ5IGNvdW50cworbG9nX2luZm8gIlN0ZXAgMjogUmVjb3JkaW5nIGluaXRpYWwgY2x1 c3RlciBsb2cgc3RhdGUuLi4iCitkZWNsYXJlIC1BIElOSVRJQUxfQ09VTlRTCitmb3Igbm9kZSBp biAkTk9ERVM7IGRvCisgICAgY291bnQ9JChjb3VudF9lbnRyaWVzICIkbm9kZSIpCisgICAgSU5J VElBTF9DT1VOVFNbJG5vZGVdPSRjb3VudAorICAgIGxvZ19pbmZvICIkbm9kZTogJGNvdW50IGVu dHJpZXMiCitkb25lCitlY2hvICIiCisKKyMgU3RlcCAzOiBXYWl0IGZvciBjbHVzdGVyIHRvIHN5 bmMgKGlmIG5lZWRlZCkKK2xvZ19pbmZvICJTdGVwIDM6IFdhaXRpbmcgZm9yIGluaXRpYWwgc3lu Y2hyb25pemF0aW9uLi4uIgorc2xlZXAgNQorCisjIENoZWNrIGlmIGNvdW50cyBhcmUgY29uc2lz dGVudCBhY3Jvc3Mgbm9kZXMKK0ZJUlNUX05PREU9JChlY2hvICIkTk9ERVMiIHwgaGVhZCAtbiAx KQorRklSU1RfQ09VTlQ9JHtJTklUSUFMX0NPVU5UU1skRklSU1RfTk9ERV19CitBTExfU1lOQ0VE PXRydWUKKworZm9yIG5vZGUgaW4gJE5PREVTOyBkbworICAgIGNvdW50PSR7SU5JVElBTF9DT1VO VFNbJG5vZGVdfQorICAgIGlmIFsgIiRjb3VudCIgIT0gIiRGSVJTVF9DT1VOVCIgXTsgdGhlbgor ICAgICAgICBBTExfU1lOQ0VEPWZhbHNlCisgICAgICAgIGxvZ19pbmZvICJDb3VudHMgZGlmZmVy OiAkRklSU1RfTk9ERSBoYXMgJEZJUlNUX0NPVU5ULCAkbm9kZSBoYXMgJGNvdW50IgorICAgIGZp Citkb25lCisKK2lmIFsgIiRBTExfU1lOQ0VEIiA9ICJ0cnVlIiBdOyB0aGVuCisgICAgbG9nX3N1 Y2Nlc3MgIkFsbCBub2RlcyBoYXZlIGNvbnNpc3RlbnQgZW50cnkgY291bnRzICgkRklSU1RfQ09V TlQgZW50cmllcykiCitlbHNlCisgICAgbG9nX2luZm8gIk5vZGVzIGhhdmUgZGlmZmVyZW50IGNv dW50cyAtIHdpbGwgdmVyaWZ5IHN5bmMgYWZ0ZXIgdGVzdCBlbnRyeSIKK2ZpCitlY2hvICIiCisK KyMgU3RlcCA0OiBNb25pdG9yIERGU00gc3RhdGUgc3luYyBhY3Rpdml0eQorbG9nX2luZm8gIlN0 ZXAgNDogQ2hlY2tpbmcgZm9yIERGU00gc3RhdGUgc3luY2hyb25pemF0aW9uIGFjdGl2aXR5Li4u IgorZm9yIG5vZGUgaW4gJE5PREVTOyBkbworICAgICMgQ2hlY2sgaWYgbm9kZSBoYXMgcmVjZW50 IHN0YXRlIHN5bmMgbG9nIG1lc3NhZ2VzCisgICAgaWYgJENPTlRBSU5FUl9DTUQgbG9ncyAiJG5v ZGUiIC0tc2luY2UgMzBzIDI+JjEgfCBncmVwIC1xICJnZXRfc3RhdGVcfHByb2Nlc3Nfc3RhdGVf dXBkYXRlIiAyPi9kZXYvbnVsbDsgdGhlbgorICAgICAgICBsb2dfc3VjY2VzcyAiJG5vZGU6IERG U00gc3RhdGUgc3luYyBpcyBhY3RpdmUiCisgICAgZWxzZQorICAgICAgICBsb2dfaW5mbyAiJG5v ZGU6IE5vIHJlY2VudCBERlNNIGFjdGl2aXR5IChtYXkgc3luYyBzb29uKSIKKyAgICBmaQorZG9u ZQorZWNobyAiIgorCisjIFN0ZXAgNTogVHJpZ2dlciBhIHN0YXRlIHN5bmMgYnkgd2FpdGluZwor bG9nX2luZm8gIlN0ZXAgNTogV2FpdGluZyBmb3IgREZTTSBzdGF0ZSBzeW5jaHJvbml6YXRpb24g Y3ljbGUuLi4iCitsb2dfaW5mbyAiREZTTSB0eXBpY2FsbHkgc3luY3MgZXZlcnkgMTAtMzAgc2Vj b25kcyIKK3NsZWVwIDE1Citsb2dfc3VjY2VzcyAiU3luYyBwZXJpb2QgZWxhcHNlZCIKK2VjaG8g IiIKKworIyBTdGVwIDY6IFZlcmlmeSBmaW5hbCBjb3VudHMgYXJlIGNvbnNpc3RlbnQKK2xvZ19p bmZvICJTdGVwIDY6IFZlcmlmeWluZyBjbHVzdGVyIGxvZyBjb25zaXN0ZW5jeSBhY3Jvc3Mgbm9k ZXMuLi4iCitkZWNsYXJlIC1BIEZJTkFMX0NPVU5UUworTUFYX0NPVU5UPTAKK01JTl9DT1VOVD05 OTk5OTkKKworZm9yIG5vZGUgaW4gJE5PREVTOyBkbworICAgIGNvdW50PSQoY291bnRfZW50cmll cyAiJG5vZGUiKQorICAgIEZJTkFMX0NPVU5UU1skbm9kZV09JGNvdW50CisgICAgbG9nX2luZm8g IiRub2RlOiAkY291bnQgZW50cmllcyIKKworICAgIGlmIFsgIiRjb3VudCIgLWd0ICIkTUFYX0NP VU5UIiBdOyB0aGVuCisgICAgICAgIE1BWF9DT1VOVD0kY291bnQKKyAgICBmaQorICAgIGlmIFsg IiRjb3VudCIgLWx0ICIkTUlOX0NPVU5UIiBdOyB0aGVuCisgICAgICAgIE1JTl9DT1VOVD0kY291 bnQKKyAgICBmaQorZG9uZQorCitDT1VOVF9ESUZGPSQoKE1BWF9DT1VOVCAtIE1JTl9DT1VOVCkp CisKK2lmIFsgIiRDT1VOVF9ESUZGIiAtZXEgMCBdOyB0aGVuCisgICAgbG9nX3N1Y2Nlc3MgIkFs bCBub2RlcyBoYXZlIGlkZW50aWNhbCBlbnRyeSBjb3VudHMgKCRNQVhfQ09VTlQgZW50cmllcykg 4pyTIgorICAgIGxvZ19zdWNjZXNzICJDbHVzdGVyIGxvZyBzeW5jaHJvbml6YXRpb24gaXMgd29y a2luZyBjb3JyZWN0bHkhIgorZWxpZiBbICIkQ09VTlRfRElGRiIgLWxlIDIgXTsgdGhlbgorICAg IGxvZ19pbmZvICJOb2RlcyBoYXZlIHNpbWlsYXIgY291bnRzIChkaWZmPSRDT1VOVF9ESUZGKSAt IGFjY2VwdGFibGUgdmFyaWFuY2UiCisgICAgbG9nX3N1Y2Nlc3MgIkNsdXN0ZXIgbG9nIHN5bmNo cm9uaXphdGlvbiBhcHBlYXJzIHRvIGJlIHdvcmtpbmciCitlbHNlCisgICAgbG9nX2Vycm9yICJT aWduaWZpY2FudCBjb3VudCBkaWZmZXJlbmNlIGRldGVjdGVkIChkaWZmPSRDT1VOVF9ESUZGKSIK KyAgICBsb2dfZXJyb3IgIlRoaXMgbWF5IGluZGljYXRlIHN5bmNocm9uaXphdGlvbiBpc3N1ZXMi CisgICAgZWNobyAiIgorICAgIGxvZ19pbmZvICJEZXRhaWxlZCBub2RlIGNvdW50czoiCisgICAg Zm9yIG5vZGUgaW4gJE5PREVTOyBkbworICAgICAgICBlY2hvICIgICRub2RlOiAke0ZJTkFMX0NP VU5UU1skbm9kZV19IGVudHJpZXMiCisgICAgZG9uZQorICAgIGV4aXQgMQorZmkKK2VjaG8gIiIK KworIyBTdGVwIDc6IFZlcmlmeSBkZWR1cGxpY2F0aW9uCitsb2dfaW5mbyAiU3RlcCA3OiBDaGVj a2luZyBmb3IgZHVwbGljYXRlIGVudHJpZXMuLi4iCitGSVJTVF9OT0RFPSQoZWNobyAiJE5PREVT IiB8IGhlYWQgLW4gMSkKK0ZJUlNUX0xPRz0kKHJlYWRfY2x1c3RlcmxvZyAiJEZJUlNUX05PREUi KQorCisjIENvdW50IHVuaXF1ZSBlbnRyaWVzIGJ5ICh0aW1lLCBub2RlLCBtZXNzYWdlKSB0dXBs ZQorVU5JUVVFX0NPVU5UPSQoZWNobyAiJEZJUlNUX0xPRyIgfCBqcSAnWy5kYXRhW10gfCB7dGlt ZTogLnRpbWUsIG5vZGU6IC5ub2RlLCBtc2c6IC5tc2d9XSB8IHVuaXF1ZSB8IGxlbmd0aCcgMj4v ZGV2L251bGwgfHwgZWNobyAiMCIpCitUT1RBTF9DT1VOVD0kKGVjaG8gIiRGSVJTVF9MT0ciIHwg anEgJy5kYXRhIHwgbGVuZ3RoJyAyPi9kZXYvbnVsbCB8fCBlY2hvICIwIikKKworaWYgWyAiJFVO SVFVRV9DT1VOVCIgLWVxICIkVE9UQUxfQ09VTlQiIF07IHRoZW4KKyAgICBsb2dfc3VjY2VzcyAi Tm8gZHVwbGljYXRlIGVudHJpZXMgZGV0ZWN0ZWQgKCRUT1RBTF9DT1VOVCB1bmlxdWUgZW50cmll cykiCitlbHNlCisgICAgRFVQRVM9JCgoVE9UQUxfQ09VTlQgLSBVTklRVUVfQ09VTlQpKQorICAg IGxvZ19pbmZvICJGb3VuZCAkRFVQRVMgcG90ZW50aWFsIGR1cGxpY2F0ZShzKSAtIHRoaXMgbWF5 IGJlIG5vcm1hbCBmb3Igc2FtZS10aW1lc3RhbXAgZW50cmllcyIKK2ZpCitlY2hvICIiCisKKyMg U3RlcCA4OiBTYW1wbGUgbG9nIGVudHJpZXMgYWNyb3NzIG5vZGVzCitsb2dfaW5mbyAiU3RlcCA4 OiBTYW1wbGluZyBsb2cgZW50cmllcyBmb3IgZm9ybWF0IHZhbGlkYXRpb24uLi4iCitmb3Igbm9k ZSBpbiAkTk9ERVM7IGRvCisgICAgU0FNUExFPSQocmVhZF9jbHVzdGVybG9nICIkbm9kZSIgfCBq cSAnLmRhdGFbMF0nIDI+L2Rldi9udWxsKQorCisgICAgaWYgWyAiJFNBTVBMRSIgIT0gIm51bGwi IF0gJiYgWyAtbiAiJFNBTVBMRSIgXTsgdGhlbgorICAgICAgICBsb2dfc3VjY2VzcyAiJG5vZGU6 IFNhbXBsZSBlbnRyeSBzdHJ1Y3R1cmUgdmFsaWQiCisKKyAgICAgICAgIyBWYWxpZGF0ZSByZXF1 aXJlZCBmaWVsZHMKKyAgICAgICAgZm9yIGZpZWxkIGluIHRpbWUgbm9kZSBwcmkgdGFnIG1zZzsg ZG8KKyAgICAgICAgICAgIGlmIGVjaG8gIiRTQU1QTEUiIHwganEgLWUgIi4kZmllbGQiID4gL2Rl di9udWxsIDI+JjE7IHRoZW4KKyAgICAgICAgICAgICAgICA6ICMgRmllbGQgZXhpc3RzCisgICAg ICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgbG9nX2Vycm9yICIkbm9kZTogTWlzc2luZyBy ZXF1aXJlZCBmaWVsZCAnJGZpZWxkJyIKKyAgICAgICAgICAgICAgICBleGl0IDEKKyAgICAgICAg ICAgIGZpCisgICAgICAgIGRvbmUKKyAgICBlbHNlCisgICAgICAgIGxvZ19pbmZvICIkbm9kZTog Tm8gZW50cmllcyB0byBzYW1wbGUgKGVtcHR5IGxvZykiCisgICAgZmkKK2RvbmUKK2VjaG8gIiIK KworIyBTdGVwIDk6IFN1bW1hcnkKK2xvZ19pbmZvICI9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PSIKK2xvZ19pbmZvICJUZXN0IFN1bW1hcnkiCitsb2dfaW5mbyAiPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0iCitsb2dfaW5mbyAiTm9kZXMg dGVzdGVkOiAkTk9ERV9DT1VOVCIKK2xvZ19pbmZvICJGaW5hbCBlbnRyeSBjb3VudHM6IgorZm9y IG5vZGUgaW4gJE5PREVTOyBkbworICAgIGxvZ19pbmZvICIgICRub2RlOiAke0ZJTkFMX0NPVU5U U1skbm9kZV19IGVudHJpZXMiCitkb25lCitsb2dfaW5mbyAiQ291bnQgdmFyaWFuY2U6ICRDT1VO VF9ESUZGIGVudHJpZXMiCitsb2dfaW5mbyAiRGVkdXBsaWNhdGlvbjogJFVOSVFVRV9DT1VOVCB1 bmlxdWUgLyAkVE9UQUxfQ09VTlQgdG90YWwiCitlY2hvICIiCisKK2lmIFsgIiRDT1VOVF9ESUZG IiAtbGUgMiBdOyB0aGVuCisgICAgbG9nX3N1Y2Nlc3MgIuKckyBNdWx0aS1ub2RlIGNsdXN0ZXIg bG9nIHN5bmNocm9uaXphdGlvbiB0ZXN0IFBBU1NFRCIKKyAgICBleGl0IDAKK2Vsc2UKKyAgICBs b2dfZXJyb3IgIuKclyBNdWx0aS1ub2RlIGNsdXN0ZXIgbG9nIHN5bmNocm9uaXphdGlvbiB0ZXN0 IEZBSUxFRCIKKyAgICBleGl0IDEKK2ZpCmRpZmYgLS1naXQgYS9zcmMvcG14Y2ZzLXJzL2ludGVn cmF0aW9uLXRlc3RzL3Rlc3RzL2NsdXN0ZXIvMDQtYmluYXJ5LWZvcm1hdC1zeW5jLnNoIGIvc3Jj L3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0cy9jbHVzdGVyLzA0LWJpbmFyeS1mb3Jt YXQtc3luYy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMC4uNDJlODBhYzAK LS0tIC9kZXYvbnVsbAorKysgYi9zcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzL3Rlc3Rz L2NsdXN0ZXIvMDQtYmluYXJ5LWZvcm1hdC1zeW5jLnNoCkBAIC0wLDAgKzEsMzU1IEBACisjIS9i aW4vYmFzaAorIyBUZXN0OiBDbHVzdGVyTG9nIEJpbmFyeSBGb3JtYXQgU3luY2hyb25pemF0aW9u CisjIFZlcmlmeSB0aGF0IFJ1c3Qgbm9kZXMgY29ycmVjdGx5IHVzZSBiaW5hcnkgZm9ybWF0IGZv ciBERlNNIHN0YXRlIHN5bmMKKyMKKyMgTk9URTogVGhpcyB0ZXN0IHJlcXVpcmVzIGRvY2tlci9w b2RtYW4gYWNjZXNzIGFuZCBpcyBydW4gZnJvbSB0aGUgaG9zdCBieSB0aGUgdGVzdCBydW5uZXIK Kworc2V0IC1lCisKKyMgU291cmNlIGNvbW1vbiB0ZXN0IGNvbmZpZ3VyYXRpb24KK1NDUklQVF9E SVI9IiQoY2QgIiQoZGlybmFtZSAiJHtCQVNIX1NPVVJDRVswXX0iKSIgJiYgcHdkKSIKK3NvdXJj ZSAiJFNDUklQVF9ESVIvLi4vdGVzdC1jb25maWcuc2giCisKK2VjaG8gIj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09IgorZWNobyAiQ2x1c3RlckxvZyBCaW5hcnkgRm9y bWF0IFN5bmMgVGVzdCIKK2VjaG8gIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09IgorZWNobyAiIgorCisjIENvbmZpZ3VyYXRpb24KK01PVU5UX1BBVEg9IiRURVNUX01P VU5UX1BBVEgiCitDTFVTVEVSTE9HX0ZJTEU9IiRNT1VOVF9QQVRILy5jbHVzdGVybG9nIgorCisj IENvbG9ycyBmb3Igb3V0cHV0CitSRUQ9J1wwMzNbMDszMW0nCitHUkVFTj0nXDAzM1swOzMybScK K1lFTExPVz0nXDAzM1sxOzMzbScKK05DPSdcMDMzWzBtJyAjIE5vIENvbG9yCisKKyMgSGVscGVy IGZ1bmN0aW9ucworbG9nX2luZm8oKSB7CisgICAgZWNobyAiW0lORk9dICQxIgorfQorCitsb2df ZXJyb3IoKSB7CisgICAgZWNobyAtZSAiJHtSRUR9W0VSUk9SXSAkMSR7TkN9IiA+JjIKK30KKwor bG9nX3N1Y2Nlc3MoKSB7CisgICAgZWNobyAtZSAiJHtHUkVFTn1b4pyTXSAkMSR7TkN9IgorfQor Citsb2dfd2FybmluZygpIHsKKyAgICBlY2hvIC1lICIke1lFTExPV31b4pqgXSAkMSR7TkN9Igor fQorCisjIEZ1bmN0aW9uIHRvIHJlYWQgY2x1c3RlcmxvZyBmcm9tIGEgbm9kZQorcmVhZF9jbHVz dGVybG9nKCkgeworICAgIGxvY2FsIG5vZGU9JDEKKyAgICAkQ09OVEFJTkVSX0NNRCBleGVjICIk bm9kZSIgY2F0ICIkQ0xVU1RFUkxPR19GSUxFIiAyPi9kZXYvbnVsbCB8fCBlY2hvICJbXSIKK30K KworIyBGdW5jdGlvbiB0byBjb3VudCBlbnRyaWVzCitjb3VudF9lbnRyaWVzKCkgeworICAgIGxv Y2FsIG5vZGU9JDEKKyAgICBsb2NhbCBjb250ZW50PSQocmVhZF9jbHVzdGVybG9nICIkbm9kZSIp CisgICAgZWNobyAiJGNvbnRlbnQiIHwganEgJy5kYXRhIHwgbGVuZ3RoJyAyPi9kZXYvbnVsbCB8 fCBlY2hvICIwIgorfQorCisjIEZ1bmN0aW9uIHRvIGNoZWNrIERGU00gbG9ncyBmb3IgYmluYXJ5 IHNlcmlhbGl6YXRpb24KK2NoZWNrX2JpbmFyeV9zZXJpYWxpemF0aW9uKCkgeworICAgIGxvY2Fs IG5vZGU9JDEKKyAgICBsb2NhbCBzaW5jZT0kezI6LTYwfQorCisgICAgbG9nX2luZm8gIkNoZWNr aW5nIERGU00gbG9ncyBvbiAkbm9kZSBmb3IgYmluYXJ5IHNlcmlhbGl6YXRpb24uLi4iCisKKyAg ICAjIENoZWNrIGZvciBnZXRfc3RhdGUgY2FsbHMgKHNlcmlhbGl6YXRpb24pCisgICAgbG9jYWwg Z2V0X3N0YXRlX2NvdW50PSQoJENPTlRBSU5FUl9DTUQgbG9ncyAiJG5vZGUiIC0tc2luY2UgJHtz aW5jZX1zIDI+JjEgfCBncmVwIC1jICJnZXRfc3RhdGUgY2FsbGVkIC0gc2VyaWFsaXppbmcgY2x1 c3RlciBsb2ciIHx8IHRydWUpCisKKyAgICAjIENoZWNrIGZvciBwcm9jZXNzX3N0YXRlX3VwZGF0 ZSBjYWxscyAoZGVzZXJpYWxpemF0aW9uKQorICAgIGxvY2FsIHByb2Nlc3Nfc3RhdGVfY291bnQ9 JCgkQ09OVEFJTkVSX0NNRCBsb2dzICIkbm9kZSIgLS1zaW5jZSAke3NpbmNlfXMgMj4mMSB8IGdy ZXAgLWMgInByb2Nlc3Nfc3RhdGVfdXBkYXRlIGNhbGxlZCIgfHwgdHJ1ZSkKKworICAgICMgQ2hl Y2sgZm9yIHN1Y2Nlc3NmdWwgZGVzZXJpYWxpemF0aW9uCisgICAgbG9jYWwgZGVzZXJpYWxpemVf c3VjY2Vzcz0kKCRDT05UQUlORVJfQ01EIGxvZ3MgIiRub2RlIiAtLXNpbmNlICR7c2luY2V9cyAy PiYxIHwgZ3JlcCAtYyAiRGVzZXJpYWxpemVkIGNsdXN0ZXIgbG9nIGZyb20gbm9kZSIgfHwgdHJ1 ZSkKKworICAgICMgQ2hlY2sgZm9yIHN1Y2Nlc3NmdWwgbWVyZ2UKKyAgICBsb2NhbCBtZXJnZV9z dWNjZXNzPSQoJENPTlRBSU5FUl9DTUQgbG9ncyAiJG5vZGUiIC0tc2luY2UgJHtzaW5jZX1zIDI+ JjEgfCBncmVwIC1jICJTdWNjZXNzZnVsbHkgbWVyZ2VkIGNsdXN0ZXIgbG9ncyIgfHwgdHJ1ZSkK KworICAgICMgQ2hlY2sgZm9yIGRlc2VyaWFsaXphdGlvbiBlcnJvcnMKKyAgICBsb2NhbCBkZXNl cmlhbGl6ZV9lcnJvcnM9JCgkQ09OVEFJTkVSX0NNRCBsb2dzICIkbm9kZSIgLS1zaW5jZSAke3Np bmNlfXMgMj4mMSB8IGdyZXAgLWMgIkZhaWxlZCB0byBkZXNlcmlhbGl6ZSBjbHVzdGVyIGxvZyIg fHwgdHJ1ZSkKKworICAgIGVjaG8gIiAgU2VyaWFsaXphdGlvbiAoZ2V0X3N0YXRlKTogJGdldF9z dGF0ZV9jb3VudCBjYWxscyIKKyAgICBlY2hvICIgIERlc2VyaWFsaXphdGlvbiAocHJvY2Vzc19z dGF0ZV91cGRhdGUpOiAkcHJvY2Vzc19zdGF0ZV9jb3VudCBjYWxscyIKKyAgICBlY2hvICIgIFN1 Y2Nlc3NmdWwgZGVzZXJpYWxpemF0aW9uczogJGRlc2VyaWFsaXplX3N1Y2Nlc3MiCisgICAgZWNo byAiICBTdWNjZXNzZnVsIG1lcmdlczogJG1lcmdlX3N1Y2Nlc3MiCisgICAgZWNobyAiICBEZXNl cmlhbGl6YXRpb24gZXJyb3JzOiAkZGVzZXJpYWxpemVfZXJyb3JzIgorCisgICAgIyBWZXJpZnkg bm8gZXJyb3JzCisgICAgaWYgWyAiJGRlc2VyaWFsaXplX2Vycm9ycyIgLWd0IDAgXTsgdGhlbgor ICAgICAgICBsb2dfZXJyb3IgIkZvdW5kICRkZXNlcmlhbGl6ZV9lcnJvcnMgZGVzZXJpYWxpemF0 aW9uIGVycm9ycyBvbiAkbm9kZSIKKyAgICAgICAgcmV0dXJuIDEKKyAgICBmaQorCisgICAgIyBW ZXJpZnkgYWN0aXZpdHkgb2NjdXJyZWQKKyAgICBpZiBbICIkZ2V0X3N0YXRlX2NvdW50IiAtZXEg MCBdICYmIFsgIiRwcm9jZXNzX3N0YXRlX2NvdW50IiAtZXEgMCBdOyB0aGVuCisgICAgICAgIGxv Z193YXJuaW5nICJObyBERlNNIHN0YXRlIHN5bmMgYWN0aXZpdHkgZGV0ZWN0ZWQgb24gJG5vZGUg KG1heSBiZSB0b28gZWFybHkpIgorICAgICAgICByZXR1cm4gMgorICAgIGZpCisKKyAgICByZXR1 cm4gMAorfQorCisjIEZ1bmN0aW9uIHRvIHZlcmlmeSBiaW5hcnkgZm9ybWF0IGlzIGJlaW5nIHVz ZWQgKG5vdCBKU09OKQordmVyaWZ5X2JpbmFyeV9mb3JtYXRfdXNhZ2UoKSB7CisgICAgbG9jYWwg bm9kZT0kMQorCisgICAgbG9nX2luZm8gIlZlcmlmeWluZyBiaW5hcnkgZm9ybWF0IGlzIHVzZWQg KG5vdCBKU09OKS4uLiIKKworICAgICMgTG9vayBmb3IgYmluYXJ5IGZvcm1hdCBpbmRpY2F0b3Jz IGluIGxvZ3MKKyAgICBsb2NhbCBiaW5hcnlfaW5kaWNhdG9ycz0kKCRDT05UQUlORVJfQ01EIGxv Z3MgIiRub2RlIiAtLXNpbmNlIDYwcyAyPiYxIHwgZ3JlcCAtRSAic2VyaWFsaXplX2JpbmFyeXxk ZXNlcmlhbGl6ZV9iaW5hcnl8Y2xvZ19iYXNlX3QiIHx8IHRydWUpCisKKyAgICBpZiBbIC1uICIk YmluYXJ5X2luZGljYXRvcnMiIF07IHRoZW4KKyAgICAgICAgbG9nX3N1Y2Nlc3MgIkJpbmFyeSBm b3JtYXQgZnVuY3Rpb25zIGRldGVjdGVkIGluIGxvZ3MiCisgICAgICAgIHJldHVybiAwCisgICAg ZWxzZQorICAgICAgICBsb2dfaW5mbyAiTm8gZXhwbGljaXQgYmluYXJ5IGZvcm1hdCBpbmRpY2F0 b3JzIGluIHJlY2VudCBsb2dzIgorICAgICAgICBsb2dfaW5mbyAiVGhpcyBpcyBub3JtYWwgLSBi aW5hcnkgZm9ybWF0IGlzIHVzZWQgaW50ZXJuYWxseSIKKyAgICAgICAgcmV0dXJuIDAKKyAgICBm aQorfQorCisjIERldGVjdCBjb250YWluZXIgcnVudGltZSAocG9kbWFuIG9yIGRvY2tlcikKKyMg VXNlIGVudmlyb25tZW50IHZhcmlhYmxlIGlmIHNldCwgb3RoZXJ3aXNlIGF1dG8tZGV0ZWN0Citp ZiBbIC16ICIkQ09OVEFJTkVSX0NNRCIgXTsgdGhlbgorICAgIGlmIGNvbW1hbmQgLXYgcG9kbWFu ICY+IC9kZXYvbnVsbDsgdGhlbgorICAgICAgICBDT05UQUlORVJfQ01EPSJwb2RtYW4iCisgICAg ZWxpZiBjb21tYW5kIC12IGRvY2tlciAmPiAvZGV2L251bGw7IHRoZW4KKyAgICAgICAgQ09OVEFJ TkVSX0NNRD0iZG9ja2VyIgorICAgIGVsc2UKKyAgICAgICAgbG9nX2Vycm9yICJOZWl0aGVyIHBv ZG1hbiBub3IgZG9ja2VyIGZvdW5kIgorICAgICAgICBsb2dfZXJyb3IgIlRoaXMgdGVzdCBtdXN0 IHJ1biBmcm9tIHRoZSBob3N0IHdpdGggYWNjZXNzIHRvIGNvbnRhaW5lciBydW50aW1lIgorICAg ICAgICBleGl0IDEKKyAgICBmaQorZmkKKworIyBEZXRlY3QgcnVubmluZyBub2RlcworbG9nX2lu Zm8gIkRldGVjdGluZyBydW5uaW5nIGNsdXN0ZXIgbm9kZXMuLi4iCitOT0RFUz0kKCRDT05UQUlO RVJfQ01EIHBzIC0tZmlsdGVyICJuYW1lPXBteGNmcyIgLS1maWx0ZXIgInN0YXR1cz1ydW5uaW5n IiAtLWZvcm1hdCAie3suTmFtZXN9fSIgfCBzb3J0KQorCitpZiBbIC16ICIkTk9ERVMiIF07IHRo ZW4KKyAgICBsb2dfZXJyb3IgIk5vIHJ1bm5pbmcgcG14Y2ZzIGNvbnRhaW5lcnMgZm91bmQiCisg ICAgZXhpdCAxCitmaQorCitOT0RFX0NPVU5UPSQoZWNobyAiJE5PREVTIiB8IHdjIC1sKQorbG9n X3N1Y2Nlc3MgIkZvdW5kICROT0RFX0NPVU5UIHJ1bm5pbmcgbm9kZShzKSIKK2VjaG8gIiROT0RF UyIgfCB3aGlsZSByZWFkIG5vZGU7IGRvCisgICAgZWNobyAiICAtICRub2RlIgorZG9uZQorZWNo byAiIgorCitpZiBbICIkTk9ERV9DT1VOVCIgLWx0IDIgXTsgdGhlbgorICAgIGxvZ193YXJuaW5n ICJUaGlzIHRlc3QgcmVxdWlyZXMgYXQgbGVhc3QgMiBub2RlcyBmb3IgYmluYXJ5IGZvcm1hdCBz eW5jIHRlc3RpbmciCisgICAgbG9nX2luZm8gIlNpbmdsZS1ub2RlIGNsdXN0ZXIgZGV0ZWN0ZWQg LSBza2lwcGluZyIKKyAgICBleGl0IDAKK2ZpCisKKyMgU3RlcCAxOiBSZWNvcmQgaW5pdGlhbCBz dGF0ZQorbG9nX2luZm8gIlN0ZXAgMTogUmVjb3JkaW5nIGluaXRpYWwgc3RhdGUuLi4iCitkZWNs YXJlIC1BIElOSVRJQUxfQ09VTlRTCitmb3Igbm9kZSBpbiAkTk9ERVM7IGRvCisgICAgY291bnQ9 JChjb3VudF9lbnRyaWVzICIkbm9kZSIpCisgICAgSU5JVElBTF9DT1VOVFNbJG5vZGVdPSRjb3Vu dAorICAgIGxvZ19pbmZvICIkbm9kZTogJGNvdW50IGVudHJpZXMiCitkb25lCitlY2hvICIiCisK KyMgU3RlcCAyOiBXYWl0IGZvciBERlNNIHN5bmMgY3ljbGUKK2xvZ19pbmZvICJTdGVwIDI6IFdh aXRpbmcgZm9yIERGU00gc3RhdGUgc3luY2hyb25pemF0aW9uLi4uIgorbG9nX2luZm8gIlRoaXMg d2lsbCB0cmlnZ2VyIGJpbmFyeSBzZXJpYWxpemF0aW9uL2Rlc2VyaWFsaXphdGlvbiIKK2VjaG8g IiIKKworIyBDbGVhciByZWNlbnQgbG9ncyBieSByZWFkaW5nIHRoZW0gKGNvbnN1bWUgb2xkIG1l c3NhZ2VzKQorZm9yIG5vZGUgaW4gJE5PREVTOyBkbworICAgICRDT05UQUlORVJfQ01EIGxvZ3Mg IiRub2RlIiAtLXNpbmNlIDFzID4vZGV2L251bGwgMj4mMSB8fCB0cnVlCitkb25lCisKK2xvZ19p bmZvICJXYWl0aW5nIDIwIHNlY29uZHMgZm9yIHN5bmMgY3ljbGUuLi4iCitzbGVlcCAyMAorbG9n X3N1Y2Nlc3MgIlN5bmMgcGVyaW9kIGVsYXBzZWQiCitlY2hvICIiCisKKyMgU3RlcCAzOiBDaGVj ayBmb3IgYmluYXJ5IHNlcmlhbGl6YXRpb24gYWN0aXZpdHkKK2xvZ19pbmZvICJTdGVwIDM6IFZl cmlmeWluZyBiaW5hcnkgZm9ybWF0IHNlcmlhbGl6YXRpb24vZGVzZXJpYWxpemF0aW9uLi4uIgor U1lOQ19ERVRFQ1RFRD1mYWxzZQorRVJST1JTX0ZPVU5EPWZhbHNlCisKK2ZvciBub2RlIGluICRO T0RFUzsgZG8KKyAgICBlY2hvICIiCisgICAgZWNobyAiTm9kZTogJG5vZGUiCisgICAgZWNobyAi LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIKKworICAgIGlmIGNoZWNr X2JpbmFyeV9zZXJpYWxpemF0aW9uICIkbm9kZSIgMzA7IHRoZW4KKyAgICAgICAgbG9nX3N1Y2Nl c3MgIiRub2RlOiBCaW5hcnkgZm9ybWF0IHN5bmMgZGV0ZWN0ZWQiCisgICAgICAgIFNZTkNfREVU RUNURUQ9dHJ1ZQorICAgIGVsaWYgWyAkPyAtZXEgMiBdOyB0aGVuCisgICAgICAgIGxvZ193YXJu aW5nICIkbm9kZTogTm8gcmVjZW50IHN5bmMgYWN0aXZpdHkgKG1heSBzeW5jIGxhdGVyKSIKKyAg ICBlbHNlCisgICAgICAgIGxvZ19lcnJvciAiJG5vZGU6IERlc2VyaWFsaXphdGlvbiBlcnJvcnMg ZGV0ZWN0ZWQhIgorICAgICAgICBFUlJPUlNfRk9VTkQ9dHJ1ZQorCisgICAgICAgICMgU2hvdyBl cnJvciBkZXRhaWxzCisgICAgICAgIGxvZ19pbmZvICJSZWNlbnQgZXJyb3IgbG9nczoiCisgICAg ICAgICRDT05UQUlORVJfQ01EIGxvZ3MgIiRub2RlIiAtLXNpbmNlIDMwcyAyPiYxIHwgZ3JlcCAt aSAiZXJyb3JcfGZhaWwiIHwgdGFpbCAtNQorICAgIGZpCitkb25lCitlY2hvICIiCisKK2lmIFsg IiRFUlJPUlNfRk9VTkQiID0gdHJ1ZSBdOyB0aGVuCisgICAgbG9nX2Vycm9yICJCaW5hcnkgZm9y bWF0IGRlc2VyaWFsaXphdGlvbiBlcnJvcnMgZGV0ZWN0ZWQhIgorICAgIGV4aXQgMQorZmkKKwor aWYgWyAiJFNZTkNfREVURUNURUQiID0gZmFsc2UgXTsgdGhlbgorICAgIGxvZ193YXJuaW5nICJO byBERlNNIHN5bmMgYWN0aXZpdHkgZGV0ZWN0ZWQgeWV0IgorICAgIGxvZ19pbmZvICJUaGlzIG1h eSBiZSBub3JtYWwgaWYgY2x1c3RlciBqdXN0IHN0YXJ0ZWQiCisgICAgbG9nX2luZm8gIlRyeSBy dW5uaW5nIHRoZSB0ZXN0IGFnYWluIGFmdGVyIHRoZSBjbHVzdGVyIGhhcyBiZWVuIHJ1bm5pbmcg bG9uZ2VyIgorZmkKKworIyBTdGVwIDQ6IFZlcmlmeSBlbnRyaWVzIGFyZSBjb25zaXN0ZW50IChw cm92ZXMgc3luYyB3b3JrZWQpCitsb2dfaW5mbyAiU3RlcCA0OiBWZXJpZnlpbmcgbG9nIGNvbnNp c3RlbmN5IGFjcm9zcyBub2Rlcy4uLiIKK2RlY2xhcmUgLUEgRklOQUxfQ09VTlRTCitNQVhfQ09V TlQ9MAorTUlOX0NPVU5UPTk5OTk5OQorCitmb3Igbm9kZSBpbiAkTk9ERVM7IGRvCisgICAgY291 bnQ9JChjb3VudF9lbnRyaWVzICIkbm9kZSIpCisgICAgRklOQUxfQ09VTlRTWyRub2RlXT0kY291 bnQKKworICAgIGlmIFsgIiRjb3VudCIgLWd0ICIkTUFYX0NPVU5UIiBdOyB0aGVuCisgICAgICAg IE1BWF9DT1VOVD0kY291bnQKKyAgICBmaQorICAgIGlmIFsgIiRjb3VudCIgLWx0ICIkTUlOX0NP VU5UIiBdOyB0aGVuCisgICAgICAgIE1JTl9DT1VOVD0kY291bnQKKyAgICBmaQorZG9uZQorCitD T1VOVF9ESUZGPSQoKE1BWF9DT1VOVCAtIE1JTl9DT1VOVCkpCisKK2VjaG8gIiIKK2xvZ19pbmZv ICJFbnRyeSBjb3VudHMgYWZ0ZXIgc3luYzoiCitmb3Igbm9kZSBpbiAkTk9ERVM7IGRvCisgICAg bG9nX2luZm8gIiAgJG5vZGU6ICR7RklOQUxfQ09VTlRTWyRub2RlXX0gZW50cmllcyIKK2RvbmUK KworaWYgWyAiJENPVU5UX0RJRkYiIC1lcSAwIF07IHRoZW4KKyAgICBsb2dfc3VjY2VzcyAiQWxs IG5vZGVzIGhhdmUgaWRlbnRpY2FsIGNvdW50cyAoJE1BWF9DT1VOVCBlbnRyaWVzKSIKKyAgICBs b2dfc3VjY2VzcyAiQmluYXJ5IGZvcm1hdCBzeW5jIGlzIHdvcmtpbmcgY29ycmVjdGx5ISIKK2Vs aWYgWyAiJENPVU5UX0RJRkYiIC1sZSAyIF07IHRoZW4KKyAgICBsb2dfaW5mbyAiTm9kZXMgaGF2 ZSBzaW1pbGFyIGNvdW50cyAoZGlmZj0kQ09VTlRfRElGRikgLSBhY2NlcHRhYmxlIgorZWxzZQor ICAgIGxvZ19lcnJvciAiU2lnbmlmaWNhbnQgY291bnQgZGlmZmVyZW5jZTogJENPVU5UX0RJRkYg ZW50cmllcyIKKyAgICBsb2dfZXJyb3IgIlRoaXMgbWF5IGluZGljYXRlIGJpbmFyeSBmb3JtYXQg c3luYyBpc3N1ZXMiCitmaQorZWNobyAiIgorCisjIFN0ZXAgNTogVmVyaWZ5IHNwZWNpZmljIGVu dHJpZXMgbWF0Y2ggYWNyb3NzIG5vZGVzCitsb2dfaW5mbyAiU3RlcCA1OiBWZXJpZnlpbmcgZW50 cnkgY29udGVudCBtYXRjaGVzIGFjcm9zcyBub2Rlcy4uLiIKKworRklSU1RfTk9ERT0kKGVjaG8g IiROT0RFUyIgfCBoZWFkIC1uIDEpCitGSVJTVF9MT0c9JChyZWFkX2NsdXN0ZXJsb2cgIiRGSVJT VF9OT0RFIikKK0ZJUlNUX0VOVFJZPSQoZWNobyAiJEZJUlNUX0xPRyIgfCBqcSAnLmRhdGFbMF0n IDI+L2Rldi9udWxsKQorCitpZiBbICIkRklSU1RfRU5UUlkiID0gIm51bGwiIF0gfHwgWyAteiAi JEZJUlNUX0VOVFJZIiBdOyB0aGVuCisgICAgbG9nX2luZm8gIk5vIGVudHJpZXMgdG8gY29tcGFy ZSAoZW1wdHkgbG9ncykiCitlbHNlCisgICAgRU5UUllfTUFUQ0hFUz0wCisgICAgRU5UUllfTUlT TUFUQ0hFUz0wCisKKyAgICAjIEdldCBmaXJzdCBlbnRyeSdzIHVuaXF1ZSBpZGVudGlmaWVyICh0 aW1lICsgbm9kZSArIG1lc3NhZ2UpCisgICAgRU5UUllfVElNRT0kKGVjaG8gIiRGSVJTVF9FTlRS WSIgfCBqcSAtciAnLnRpbWUnKQorICAgIEVOVFJZX05PREU9JChlY2hvICIkRklSU1RfRU5UUlki IHwganEgLXIgJy5ub2RlJykKKyAgICBFTlRSWV9NU0c9JChlY2hvICIkRklSU1RfRU5UUlkiIHwg anEgLXIgJy5tc2cnKQorCisgICAgbG9nX2luZm8gIlJlZmVyZW5jZSBlbnRyeSBmcm9tICRGSVJT VF9OT0RFOiIKKyAgICBsb2dfaW5mbyAiICBUaW1lOiAkRU5UUllfVElNRSIKKyAgICBsb2dfaW5m byAiICBOb2RlOiAkRU5UUllfTk9ERSIKKyAgICBsb2dfaW5mbyAiICBNZXNzYWdlOiAkRU5UUllf TVNHIgorICAgIGVjaG8gIiIKKworICAgICMgQ2hlY2sgaWYgc2FtZSBlbnRyeSBleGlzdHMgb24g b3RoZXIgbm9kZXMKKyAgICBmb3Igbm9kZSBpbiAkTk9ERVM7IGRvCisgICAgICAgIGlmIFsgIiRu b2RlIiA9ICIkRklSU1RfTk9ERSIgXTsgdGhlbgorICAgICAgICAgICAgY29udGludWUKKyAgICAg ICAgZmkKKworICAgICAgICBOT0RFX0xPRz0kKHJlYWRfY2x1c3RlcmxvZyAiJG5vZGUiKQorICAg ICAgICBNQVRDSD0kKGVjaG8gIiROT0RFX0xPRyIgfCBqcSAtLWFyZyB0aW1lICIkRU5UUllfVElN RSIgLS1hcmcgbm9kZV9uYW1lICIkRU5UUllfTk9ERSIgLS1hcmcgbXNnICIkRU5UUllfTVNHIiBc CisgICAgICAgICAgICAnLmRhdGFbXSB8IHNlbGVjdCgudGltZSA9PSAoJHRpbWUgfCB0b251bWJl cikgYW5kIC5ub2RlID09ICRub2RlX25hbWUgYW5kIC5tc2cgPT0gJG1zZyknIDI+L2Rldi9udWxs KQorCisgICAgICAgIGlmIFsgLW4gIiRNQVRDSCIgXSAmJiBbICIkTUFUQ0giICE9ICJudWxsIiBd OyB0aGVuCisgICAgICAgICAgICBsb2dfc3VjY2VzcyAiJG5vZGU6IEVudHJ5IGZvdW5kIChiaW5h cnkgc3luYyBzdWNjZXNzZnVsKSIKKyAgICAgICAgICAgIEVOVFJZX01BVENIRVM9JCgoRU5UUllf TUFUQ0hFUyArIDEpKQorICAgICAgICBlbHNlCisgICAgICAgICAgICBsb2dfd2FybmluZyAiJG5v ZGU6IEVudHJ5IG5vdCBmb3VuZCAobWF5IHN0aWxsIGJlIHN5bmNpbmcpIgorICAgICAgICAgICAg RU5UUllfTUlTTUFUQ0hFUz0kKChFTlRSWV9NSVNNQVRDSEVTICsgMSkpCisgICAgICAgIGZpCisg ICAgZG9uZQorCisgICAgZWNobyAiIgorICAgIGlmIFsgIiRFTlRSWV9NQVRDSEVTIiAtZ3QgMCBd OyB0aGVuCisgICAgICAgIGxvZ19zdWNjZXNzICJFbnRyeSBtYXRjaGVkIG9uICRFTlRSWV9NQVRD SEVTIG90aGVyIG5vZGUocykiCisgICAgICAgIGxvZ19zdWNjZXNzICJCaW5hcnkgZm9ybWF0IHNl cmlhbGl6YXRpb24vZGVzZXJpYWxpemF0aW9uIGlzIHdvcmtpbmchIgorICAgIGZpCitmaQorCisj IFN0ZXAgNjogQ2hlY2sgZm9yIGJpbmFyeSBmb3JtYXQgaW50ZWdyaXR5Citsb2dfaW5mbyAiU3Rl cCA2OiBDaGVja2luZyBmb3IgYmluYXJ5IGZvcm1hdCBpbnRlZ3JpdHkgaXNzdWVzLi4uIgorSU5U RUdSSVRZX09LPXRydWUKKworZm9yIG5vZGUgaW4gJE5PREVTOyBkbworICAgICMgTG9vayBmb3Ig Y29ycnVwdGlvbiBvciBmb3JtYXQgaXNzdWVzCisgICAgRk9STUFUX0VSUk9SUz0kKCRDT05UQUlO RVJfQ01EIGxvZ3MgIiRub2RlIiAtLXNpbmNlIDYwcyAyPiYxIHwgZ3JlcCAtaUUgImJ1ZmZlciB0 b28gc21hbGx8aW52YWxpZCBjcG9zfHNpemUgbWlzbWF0Y2h8ZW50cnkgdG9vIHNtYWxsIiB8fCB0 cnVlKQorCisgICAgaWYgWyAtbiAiJEZPUk1BVF9FUlJPUlMiIF07IHRoZW4KKyAgICAgICAgbG9n X2Vycm9yICIkbm9kZTogQmluYXJ5IGZvcm1hdCBpbnRlZ3JpdHkgaXNzdWVzIGRldGVjdGVkISIK KyAgICAgICAgZWNobyAiJEZPUk1BVF9FUlJPUlMiCisgICAgICAgIElOVEVHUklUWV9PSz1mYWxz ZQorICAgIGZpCitkb25lCisKK2lmIFsgIiRJTlRFR1JJVFlfT0siID0gdHJ1ZSBdOyB0aGVuCisg ICAgbG9nX3N1Y2Nlc3MgIk5vIGJpbmFyeSBmb3JtYXQgaW50ZWdyaXR5IGlzc3VlcyBkZXRlY3Rl ZCIKK2ZpCitlY2hvICIiCisKKyMgU3RlcCA3OiBTdW1tYXJ5Citsb2dfaW5mbyAiPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0iCitsb2dfaW5mbyAiVGVzdCBTdW1tYXJ5 IgorbG9nX2luZm8gIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Igor bG9nX2luZm8gIk5vZGVzIHRlc3RlZDogJE5PREVfQ09VTlQiCitsb2dfaW5mbyAiREZTTSBzeW5j IGFjdGl2aXR5OiAkKFsgIiRTWU5DX0RFVEVDVEVEIiA9IHRydWUgXSAmJiBlY2hvICJEZXRlY3Rl ZCIgfHwgZWNobyAiTm90IGRldGVjdGVkIikiCitsb2dfaW5mbyAiRGVzZXJpYWxpemF0aW9uIGVy cm9yczogJChbICIkRVJST1JTX0ZPVU5EIiA9IHRydWUgXSAmJiBlY2hvICJGb3VuZCIgfHwgZWNo byAiTm9uZSIpIgorbG9nX2luZm8gIkNvdW50IGNvbnNpc3RlbmN5OiAkQ09VTlRfRElGRiBlbnRy eSBkaWZmZXJlbmNlIgorbG9nX2luZm8gIkJpbmFyeSBmb3JtYXQgaW50ZWdyaXR5OiAkKFsgIiRJ TlRFR1JJVFlfT0siID0gdHJ1ZSBdICYmIGVjaG8gIk9LIiB8fCBlY2hvICJJc3N1ZXMgZm91bmQi KSIKK2VjaG8gIiIKKworIyBGaW5hbCB2ZXJkaWN0CitpZiBbICIkRVJST1JTX0ZPVU5EIiA9IHRy dWUgXSB8fCBbICIkSU5URUdSSVRZX09LIiA9IGZhbHNlIF07IHRoZW4KKyAgICBsb2dfZXJyb3Ig IuKclyBCaW5hcnkgZm9ybWF0IHN5bmMgdGVzdCBGQUlMRUQiCisgICAgbG9nX2Vycm9yICJEZXNl cmlhbGl6YXRpb24gb3IgaW50ZWdyaXR5IGlzc3VlcyBkZXRlY3RlZCIKKyAgICBleGl0IDEKK2Vs aWYgWyAiJENPVU5UX0RJRkYiIC1sZSAyIF07IHRoZW4KKyAgICBsb2dfc3VjY2VzcyAi4pyTIEJp bmFyeSBmb3JtYXQgc3luYyB0ZXN0IFBBU1NFRCIKKyAgICBsb2dfaW5mbyAiIgorICAgIGxvZ19p bmZvICJWZXJpZmljYXRpb246IgorICAgIGxvZ19pbmZvICIgIOKckyBSdXN0IG5vZGVzIGFyZSB1 c2luZyBiaW5hcnkgZm9ybWF0IGZvciBERlNNIHN0YXRlIHN5bmMiCisgICAgbG9nX2luZm8gIiAg 4pyTIFNlcmlhbGl6YXRpb24gKGdldF9zdGF0ZSkgcHJvZHVjZXMgdmFsaWQgYmluYXJ5IGRhdGEi CisgICAgbG9nX2luZm8gIiAg4pyTIERlc2VyaWFsaXphdGlvbiAocHJvY2Vzc19zdGF0ZV91cGRh dGUpIGNvcnJlY3RseSBwYXJzZXMgYmluYXJ5IgorICAgIGxvZ19pbmZvICIgIOKckyBMb2dzIGFy ZSBjb25zaXN0ZW50IGFjcm9zcyBhbGwgbm9kZXMiCisgICAgbG9nX2luZm8gIiAg4pyTIE5vIGJp bmFyeSBmb3JtYXQgaW50ZWdyaXR5IGlzc3VlcyIKKyAgICBleGl0IDAKK2Vsc2UKKyAgICBsb2df d2FybmluZyAi4pqgIEJpbmFyeSBmb3JtYXQgc3luYyB0ZXN0IElOQ09OQ0xVU0lWRSIKKyAgICBs b2dfd2FybmluZyAiQ291bnQgZGlmZmVyZW5jZXMgc3VnZ2VzdCBwb3NzaWJsZSBzeW5jIGlzc3Vl cyIKKyAgICBleGl0IDEKK2ZpCmRpZmYgLS1naXQgYS9zcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9u LXRlc3RzL3Rlc3RzL2NvcmUvMDEtdGVzdC1wYXRocy5zaCBiL3NyYy9wbXhjZnMtcnMvaW50ZWdy YXRpb24tdGVzdHMvdGVzdHMvY29yZS8wMS10ZXN0LXBhdGhzLnNoCm5ldyBmaWxlIG1vZGUgMTAw NzU1CmluZGV4IDAwMDAwMDAwLi5iOTgzNGFlOQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9wbXhj ZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvdGVzdHMvY29yZS8wMS10ZXN0LXBhdGhzLnNoCkBAIC0w LDAgKzEsNzQgQEAKKyMhL2Jpbi9iYXNoCisjIFRlc3Q6IFRlc3QgRGlyZWN0b3J5IFBhdGhzCisj IFZlcmlmeSBwbXhjZnMgdXNlcyBjb3JyZWN0IHRlc3QgZGlyZWN0b3J5IHBhdGhzIGluIGNvbnRh aW5lcgorCitzZXQgLWUKKworIyBTb3VyY2UgY29tbW9uIHRlc3QgY29uZmlndXJhdGlvbgorU0NS SVBUX0RJUj0iJChjZCAiJChkaXJuYW1lICIke0JBU0hfU09VUkNFWzBdfSIpIiAmJiBwd2QpIgor c291cmNlICIkU0NSSVBUX0RJUi8uLi90ZXN0LWNvbmZpZy5zaCIKKworZWNobyAiVGVzdGluZyB0 ZXN0IGRpcmVjdG9yeSBwYXRocy4uLiIKKworIyBUZXN0IGRpcmVjdG9yeSBwYXRocyAoY29uZmln dXJhYmxlIHZpYSB0ZXN0LWNvbmZpZy5zaCkKK1RFU1RfUEFUSFM9KAorICAgICIkVEVTVF9EQl9Q QVRIIgorICAgICIkVEVTVF9NT1VOVF9QQVRIIgorICAgICIkVEVTVF9SVU5fRElSIgorICAgICIk VEVTVF9TT0NLRVRfUEFUSCIKKykKKworIyBDaGVjayBkYXRhYmFzZSBleGlzdHMKK2lmIFsgISAt ZiAiJFRFU1RfREJfUEFUSCIgXTsgdGhlbgorICAgIGVjaG8gIkVSUk9SOiBEYXRhYmFzZSBub3Qg Zm91bmQgYXQgJFRFU1RfREJfUEFUSCIKKyAgICBscyAtbGEgIiRURVNUX0RCX0RJUi8iIHx8IGVj aG8gIkRpcmVjdG9yeSBkb2Vzbid0IGV4aXN0IgorICAgIGV4aXQgMQorZmkKK2VjaG8gIuKckyBE YXRhYmFzZTogJFRFU1RfREJfUEFUSCIKKworIyBDaGVjayBkYXRhYmFzZSBpcyBTUUxpdGUKK2lm IGZpbGUgIiRURVNUX0RCX1BBVEgiIHwgZ3JlcCAtcSAiU1FMaXRlIjsgdGhlbgorICAgIGVjaG8g IuKckyBEYXRhYmFzZSBpcyBTUUxpdGUgZm9ybWF0IgorZWxzZQorICAgIGVjaG8gIkVSUk9SOiBE YXRhYmFzZSBpcyBub3QgU1FMaXRlIGZvcm1hdCIKKyAgICBmaWxlICIkVEVTVF9EQl9QQVRIIgor ICAgIGV4aXQgMQorZmkKKworIyBDaGVjayBtb3VudCBkaXJlY3RvcnkgZXhpc3RzIChGVVNFIG1v dW50IG1pZ2h0IG5vdCBiZSBmdWxseSBhY2Nlc3NpYmxlIGluIGNvbnRhaW5lcikKK2lmIG1vdW50 cG9pbnQgLXEgIiRURVNUX01PVU5UX1BBVEgiIDI+L2Rldi9udWxsIHx8IFsgLWQgIiRURVNUX01P VU5UX1BBVEgiIF0gMj4vZGV2L251bGw7IHRoZW4KKyAgICBlY2hvICLinJMgTW91bnQgZGlyOiAk VEVTVF9NT1VOVF9QQVRIIgorZWxzZQorICAgIGVjaG8gIuKaoCBXYXJuaW5nOiBGVVNFIG1vdW50 IGF0ICRURVNUX01PVU5UX1BBVEggbm90IGFjY2Vzc2libGUgKGtub3duIGNvbnRhaW5lciBsaW1p dGF0aW9uKSIKK2ZpCisKKyMgQ2hlY2sgcnVudGltZSBkaXJlY3RvcnkKK2lmIFsgISAtZCAiJFRF U1RfUlVOX0RJUiIgXTsgdGhlbgorICAgIGVjaG8gIkVSUk9SOiBSdW50aW1lIGRpcmVjdG9yeSBu b3QgZm91bmQ6ICRURVNUX1JVTl9ESVIiCisgICAgZXhpdCAxCitmaQorZWNobyAi4pyTIFJ1bnRp bWUgZGlyOiAkVEVTVF9SVU5fRElSIgorCisjIENoZWNrIFVuaXggc29ja2V0IChwbXhjZnMgdXNl cyBhYnN0cmFjdCBzb2NrZXRzIGxpa2UgQHB2ZTIpCisjIEFic3RyYWN0IHNvY2tldHMgZG9uJ3Qg YXBwZWFyIGluIHRoZSBmaWxlc3lzdGVtLCBjaGVjayAvcHJvYy9uZXQvdW5peCBpbnN0ZWFkCitp ZiBncmVwIC1xICIkVEVTVF9TT0NLRVQiIC9wcm9jL25ldC91bml4IDI+L2Rldi9udWxsOyB0aGVu CisgICAgZWNobyAi4pyTIEFic3RyYWN0IFVuaXggc29ja2V0OiAkVEVTVF9TT0NLRVQiCisgICAg IyBDb3VudCBob3cgbWFueSBzb2NrZXRzIGFyZSBib3VuZAorICAgIFNPQ0tFVF9DT1VOVD0kKGdy ZXAgLWMgIiRURVNUX1NPQ0tFVCIgL3Byb2MvbmV0L3VuaXgpCisgICAgZWNobyAiICBTb2NrZXQg ZW50cmllcyBpbiAvcHJvYy9uZXQvdW5peDogJFNPQ0tFVF9DT1VOVCIKK2Vsc2UKKyAgICBlY2hv ICJFUlJPUjogQWJzdHJhY3QgVW5peCBzb2NrZXQgJFRFU1RfU09DS0VUIG5vdCBmb3VuZCIKKyAg ICBlY2hvICJDaGVja2luZyAvcHJvYy9uZXQvdW5peCBmb3IgcHZlMi1yZWxhdGVkIHNvY2tldHM6 IgorICAgIGdyZXAgLWkgcHZlIC9wcm9jL25ldC91bml4IHx8IGVjaG8gIiAgTm8gcHZlLXJlbGF0 ZWQgc29ja2V0cyBmb3VuZCIKKyAgICBleGl0IDEKK2ZpCisKKyMgVmVyaWZ5IGNvcm9zeW5jIGNv bmZpZyBkaXJlY3RvcnkKK2lmIFsgLWQgIiRURVNUX0NPUk9TWU5DX0RJUiIgXTsgdGhlbgorICAg IGVjaG8gIuKckyBDb3Jvc3luYyBjb25maWcgZGlyOiAkVEVTVF9DT1JPU1lOQ19ESVIiCitlbHNl CisgICAgZWNobyAi4pqgIFdhcm5pbmc6ICRURVNUX0NPUk9TWU5DX0RJUiBub3QgZm91bmQiCitm aQorCitlY2hvICLinJMgQWxsIHRlc3QgZGlyZWN0b3J5IHBhdGhzIGNvcnJlY3QiCitleGl0IDAK ZGlmZiAtLWdpdCBhL3NyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvdGVzdHMvY29yZS8w Mi1wbHVnaW4tdmVyc2lvbi5zaCBiL3NyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvdGVz dHMvY29yZS8wMi1wbHVnaW4tdmVyc2lvbi5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAw MDAwMDAwMC4uN2E1NjQ4Y2EKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvcG14Y2ZzLXJzL2ludGVn cmF0aW9uLXRlc3RzL3Rlc3RzL2NvcmUvMDItcGx1Z2luLXZlcnNpb24uc2gKQEAgLTAsMCArMSw4 NyBAQAorIyEvYmluL2Jhc2gKKyMgVGVzdDogUGx1Z2luIC52ZXJzaW9uCisjIFZlcmlmeSAudmVy c2lvbiBwbHVnaW4gcmV0dXJucyB2YWxpZCBkYXRhCisKK3NldCAtZQorCisjIFNvdXJjZSBjb21t b24gdGVzdCBjb25maWd1cmF0aW9uCitTQ1JJUFRfRElSPSIkKGNkICIkKGRpcm5hbWUgIiR7QkFT SF9TT1VSQ0VbMF19IikiICYmIHB3ZCkiCitzb3VyY2UgIiRTQ1JJUFRfRElSLy4uL3Rlc3QtY29u ZmlnLnNoIgorCitlY2hvICJUZXN0aW5nIC52ZXJzaW9uIHBsdWdpbi4uLiIKKworVkVSU0lPTl9G SUxFPSIkUExVR0lOX1ZFUlNJT04iCisKKyMgQ2hlY2sgZmlsZSBleGlzdHMKK2lmIFsgISAtZiAi JFZFUlNJT05fRklMRSIgXTsgdGhlbgorICAgIGVjaG8gIkVSUk9SOiAudmVyc2lvbiBwbHVnaW4g bm90IGZvdW5kIgorICAgIGV4aXQgMQorZmkKK2VjaG8gIuKckyAudmVyc2lvbiBmaWxlIGV4aXN0 cyIKKworIyBSZWFkIGNvbnRlbnQKK0NPTlRFTlQ9JChjYXQgIiRWRVJTSU9OX0ZJTEUiKQoraWYg WyAteiAiJENPTlRFTlQiIF07IHRoZW4KKyAgICBlY2hvICJFUlJPUjogLnZlcnNpb24gcmV0dXJu ZWQgZW1wdHkgY29udGVudCIKKyAgICBleGl0IDEKK2ZpCitlY2hvICLinJMgLnZlcnNpb24gcmVh ZGFibGUiCisKKyMgVmVyaWZ5IGl0J3MgSlNPTgoraWYgISBlY2hvICIkQ09OVEVOVCIgfCBqcSAu ICY+IC9kZXYvbnVsbDsgdGhlbgorICAgIGVjaG8gIkVSUk9SOiAudmVyc2lvbiBpcyBub3QgdmFs aWQgSlNPTiIKKyAgICBlY2hvICJDb250ZW50OiAkQ09OVEVOVCIKKyAgICBleGl0IDEKK2ZpCitl Y2hvICLinJMgLnZlcnNpb24gaXMgdmFsaWQgSlNPTiIKKworIyBDaGVjayByZXF1aXJlZCBmaWVs ZHMgZXhpc3QKK1JFUVVJUkVEX0ZJRUxEUz0oInZlcnNpb24iICJjbHVzdGVyIikKK2ZvciBmaWVs ZCBpbiAiJHtSRVFVSVJFRF9GSUVMRFNbQF19IjsgZG8KKyAgICBpZiAhIGVjaG8gIiRDT05URU5U IiB8IGpxIC1lICIuJGZpZWxkIiAmPiAvZGV2L251bGw7IHRoZW4KKyAgICAgICAgZWNobyAiRVJS T1I6IE1pc3NpbmcgcmVxdWlyZWQgZmllbGQ6ICRmaWVsZCIKKyAgICAgICAgZWNobyAiQ29udGVu dDogJENPTlRFTlQiCisgICAgICAgIGV4aXQgMQorICAgIGZpCitkb25lCisKKyMgVmFsaWRhdGUg dmVyc2lvbiBmb3JtYXQgKHNob3VsZCBiZSBzZW12ZXIgbGlrZSAiOS4wLjYiKQorVkVSU0lPTj0k KGVjaG8gIiRDT05URU5UIiB8IGpxIC1yICcudmVyc2lvbicpCitpZiAhIGVjaG8gIiRWRVJTSU9O IiB8IGdyZXAgLXFFICdeWzAtOV0rXC5bMC05XStcLlswLTldKyQnOyB0aGVuCisgICAgZWNobyAi RVJST1I6IEludmFsaWQgdmVyc2lvbiBmb3JtYXQ6ICRWRVJTSU9OIChleHBlY3RlZCBYLlkuWiki CisgICAgZXhpdCAxCitmaQorZWNobyAi4pyTIFZlcnNpb24gZm9ybWF0IHZhbGlkOiAkVkVSU0lP TiIKKworIyBWYWxpZGF0ZSBjbHVzdGVyLm5vZGVzIGlzIGEgcG9zaXRpdmUgbnVtYmVyCitpZiBl Y2hvICIkQ09OVEVOVCIgfCBqcSAtZSAnLmNsdXN0ZXIubm9kZXMnICY+IC9kZXYvbnVsbDsgdGhl bgorICAgIE5PREVTPSQoZWNobyAiJENPTlRFTlQiIHwganEgLXIgJy5jbHVzdGVyLm5vZGVzJykK KyAgICBpZiAhIFtbICIkTk9ERVMiID1+IF5bMC05XSskIF1dIHx8IFsgIiROT0RFUyIgLWx0IDEg XTsgdGhlbgorICAgICAgICBlY2hvICJFUlJPUjogY2x1c3Rlci5ub2RlcyBzaG91bGQgYmUgcG9z aXRpdmUgaW50ZWdlciwgZ290OiAkTk9ERVMiCisgICAgICAgIGV4aXQgMQorICAgIGZpCisgICAg ZWNobyAi4pyTIENsdXN0ZXIgbm9kZXM6ICROT0RFUyIKK2ZpCisKKyMgVmFsaWRhdGUgY2x1c3Rl ci5xdW9yYXRlIGlzIDAgb3IgMQoraWYgZWNobyAiJENPTlRFTlQiIHwganEgLWUgJy5jbHVzdGVy LnF1b3JhdGUnICY+IC9kZXYvbnVsbDsgdGhlbgorICAgIFFVT1JBVEU9JChlY2hvICIkQ09OVEVO VCIgfCBqcSAtciAnLmNsdXN0ZXIucXVvcmF0ZScpCisgICAgaWYgISBbWyAiJFFVT1JBVEUiID1+ IF5bMDFdJCBdXTsgdGhlbgorICAgICAgICBlY2hvICJFUlJPUjogY2x1c3Rlci5xdW9yYXRlIHNo b3VsZCBiZSAwIG9yIDEsIGdvdDogJFFVT1JBVEUiCisgICAgICAgIGV4aXQgMQorICAgIGZpCisg ICAgZWNobyAi4pyTIENsdXN0ZXIgcXVvcmF0ZTogJFFVT1JBVEUiCitmaQorCisjIFZhbGlkYXRl IGNsdXN0ZXIubmFtZSBpcyBub24tZW1wdHkKK2lmIGVjaG8gIiRDT05URU5UIiB8IGpxIC1lICcu Y2x1c3Rlci5uYW1lJyAmPiAvZGV2L251bGw7IHRoZW4KKyAgICBDTFVTVEVSX05BTUU9JChlY2hv ICIkQ09OVEVOVCIgfCBqcSAtciAnLmNsdXN0ZXIubmFtZScpCisgICAgaWYgWyAteiAiJENMVVNU RVJfTkFNRSIgXSB8fCBbICIkQ0xVU1RFUl9OQU1FIiA9ICJudWxsIiBdOyB0aGVuCisgICAgICAg IGVjaG8gIkVSUk9SOiBjbHVzdGVyLm5hbWUgc2hvdWxkIG5vdCBiZSBlbXB0eSIKKyAgICAgICAg ZXhpdCAxCisgICAgZmkKKyAgICBlY2hvICLinJMgQ2x1c3RlciBuYW1lOiAkQ0xVU1RFUl9OQU1F IgorZmkKKworZWNobyAi4pyTIC52ZXJzaW9uIHBsdWdpbiBmdW5jdGlvbmFsIGFuZCB2YWxpZGF0 ZWQiCitleGl0IDAKZGlmZiAtLWdpdCBhL3NyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMv dGVzdHMvZGZzbS8wMS1zeW5jLnNoIGIvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy90 ZXN0cy9kZnNtLzAxLXN5bmMuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAu Ljk0NjYyMmRjCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10 ZXN0cy90ZXN0cy9kZnNtLzAxLXN5bmMuc2gKQEAgLTAsMCArMSwyMTggQEAKKyMhL2Jpbi9iYXNo CisjIFRlc3QgREZTTSBjbHVzdGVyIHN5bmNocm9uaXphdGlvbgorIyBUaGlzIHRlc3QgdmFsaWRh dGVzIHRoYXQgdGhlIERGU00gcHJvdG9jb2wgY29ycmVjdGx5IHN5bmNocm9uaXplcworIyBkYXRh IGFjcm9zcyBjbHVzdGVyIG5vZGVzIHVzaW5nIGNvcm9zeW5jCisKK3NldCAtZQorCisjIFNvdXJj ZSBjb21tb24gdGVzdCBjb25maWd1cmF0aW9uCitTQ1JJUFRfRElSPSIkKGNkICIkKGRpcm5hbWUg IiR7QkFTSF9TT1VSQ0VbMF19IikiICYmIHB3ZCkiCitzb3VyY2UgIiRTQ1JJUFRfRElSLy4uL3Rl c3QtY29uZmlnLnNoIgorCitSRUQ9J1wwMzNbMDszMW0nCitHUkVFTj0nXDAzM1swOzMybScKK0JM VUU9J1wwMzNbMDszNG0nCitOQz0nXDAzM1swbScKKworZWNobyAiPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0iCitlY2hvICJUZXN0OiBERlNNIENsdXN0ZXIgU3luY2hy b25pemF0aW9uIgorZWNobyAiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0iCitlY2hvICIiCisKKyMgVGVzdCBjb25maWd1cmF0aW9uCitNT1VOVF9QT0lOVD0iJFRFU1Rf TU9VTlRfUEFUSCIKK1RFU1RfRElSPSIkTU9VTlRfUE9JTlQvdGVzdC1zeW5jIgorVEVTVF9GSUxF PSIkVEVTVF9ESVIvc3luYy10ZXN0LnR4dCIKKworIyBIZWxwZXIgZnVuY3Rpb24gdG8gY2hlY2sg aWYgcG14Y2ZzIGlzIHJ1bm5pbmcKK2NoZWNrX3BteGNmcygpIHsKKyAgICBpZiAhIHBncmVwIC14 IHBteGNmcyA+IC9kZXYvbnVsbDsgdGhlbgorICAgICAgICBlY2hvIC1lICIke1JFRH1FUlJPUjog cG14Y2ZzIGlzIG5vdCBydW5uaW5nJHtOQ30iCisgICAgICAgIGV4aXQgMQorICAgIGZpCit9CisK KyMgSGVscGVyIGZ1bmN0aW9uIHRvIHdhaXQgZm9yIGZpbGUgdG8gYXBwZWFyIHdpdGggY29udGVu dAord2FpdF9mb3JfZmlsZV9jb250ZW50KCkgeworICAgIGxvY2FsIGZpbGU9JDEKKyAgICBsb2Nh bCBleHBlY3RlZF9jb250ZW50PSQyCisgICAgbG9jYWwgdGltZW91dD0zMAorICAgIGxvY2FsIGVs YXBzZWQ9MAorCisgICAgd2hpbGUgWyAkZWxhcHNlZCAtbHQgJHRpbWVvdXQgXTsgZG8KKyAgICAg ICAgaWYgWyAtZiAiJGZpbGUiIF07IHRoZW4KKyAgICAgICAgICAgIGxvY2FsIGNvbnRlbnQ9JChj YXQgIiRmaWxlIiAyPi9kZXYvbnVsbCB8fCBlY2hvICIiKQorICAgICAgICAgICAgaWYgWyAiJGNv bnRlbnQiID0gIiRleHBlY3RlZF9jb250ZW50IiBdOyB0aGVuCisgICAgICAgICAgICAgICAgcmV0 dXJuIDAKKyAgICAgICAgICAgIGZpCisgICAgICAgIGZpCisgICAgICAgIHNsZWVwIDEKKyAgICAg ICAgZWxhcHNlZD0kKChlbGFwc2VkICsgMSkpCisgICAgZG9uZQorICAgIHJldHVybiAxCit9CisK K2VjaG8gIjEuIENoZWNraW5nIHBteGNmcyBpcyBydW5uaW5nLi4uIgorY2hlY2tfcG14Y2ZzCitl Y2hvIC1lICIke0dSRUVOfeKckyR7TkN9IHBteGNmcyBpcyBydW5uaW5nIgorZWNobyAiIgorCitl Y2hvICIyLiBDaGVja2luZyBGVVNFIG1vdW50Li4uIgoraWYgWyAhIC1kICIkTU9VTlRfUE9JTlQi IF07IHRoZW4KKyAgICBlY2hvIC1lICIke1JFRH1FUlJPUjogTW91bnQgcG9pbnQgJE1PVU5UX1BP SU5UIGRvZXMgbm90IGV4aXN0JHtOQ30iCisgICAgZXhpdCAxCitmaQorZWNobyAtZSAiJHtHUkVF Tn3inJMke05DfSBGVVNFIG1vdW50IGV4aXN0cyIKK2VjaG8gIiIKKworZWNobyAiMy4gQ3JlYXRp bmcgdGVzdCBkaXJlY3RvcnkuLi4iCitta2RpciAtcCAiJFRFU1RfRElSIgorZWNobyAtZSAiJHtH UkVFTn3inJMke05DfSBUZXN0IGRpcmVjdG9yeSBjcmVhdGVkIgorZWNobyAiIgorCitlY2hvICI0 LiBXcml0aW5nIHRlc3QgZmlsZSBvbiB0aGlzIG5vZGUuLi4iCitlY2hvICJIZWxsbyBmcm9tICQo aG9zdG5hbWUpIiA+ICIkVEVTVF9GSUxFIgoraWYgWyAhIC1mICIkVEVTVF9GSUxFIiBdOyB0aGVu CisgICAgZWNobyAtZSAiJHtSRUR9RVJST1I6IEZhaWxlZCB0byBjcmVhdGUgdGVzdCBmaWxlJHtO Q30iCisgICAgZXhpdCAxCitmaQorZWNobyAtZSAiJHtHUkVFTn3inJMke05DfSBUZXN0IGZpbGUg Y3JlYXRlZDogJFRFU1RfRklMRSIKK2VjaG8gIiIKKworZWNobyAiNS4gVmVyaWZ5aW5nIGZpbGUg Y29udGVudC4uLiIKK0NPTlRFTlQ9JChjYXQgIiRURVNUX0ZJTEUiKQoraWYgWyAiJENPTlRFTlQi ICE9ICJIZWxsbyBmcm9tICQoaG9zdG5hbWUpIiBdOyB0aGVuCisgICAgZWNobyAtZSAiJHtSRUR9 RVJST1I6IEZpbGUgY29udGVudCBtaXNtYXRjaCR7TkN9IgorICAgIGVjaG8gIkV4cGVjdGVkOiBI ZWxsbyBmcm9tICQoaG9zdG5hbWUpIgorICAgIGVjaG8gIkdvdDogJENPTlRFTlQiCisgICAgZXhp dCAxCitmaQorZWNobyAtZSAiJHtHUkVFTn3inJMke05DfSBGaWxlIGNvbnRlbnQgY29ycmVjdCIK K2VjaG8gIiIKKworZWNobyAiNi4gQ3JlYXRpbmcgc3ViZGlyZWN0b3J5IHN0cnVjdHVyZS4uLiIK K21rZGlyIC1wICIkVEVTVF9ESVIvc3ViZGlyMS9zdWJkaXIyIgorZWNobyAibmVzdGVkIGZpbGUi ID4gIiRURVNUX0RJUi9zdWJkaXIxL3N1YmRpcjIvbmVzdGVkLnR4dCIKK2lmIFsgISAtZiAiJFRF U1RfRElSL3N1YmRpcjEvc3ViZGlyMi9uZXN0ZWQudHh0IiBdOyB0aGVuCisgICAgZWNobyAtZSAi JHtSRUR9RVJST1I6IEZhaWxlZCB0byBjcmVhdGUgbmVzdGVkIGZpbGUke05DfSIKKyAgICBleGl0 IDEKK2ZpCitlY2hvIC1lICIke0dSRUVOfeKckyR7TkN9IE5lc3RlZCBkaXJlY3Rvcnkgc3RydWN0 dXJlIGNyZWF0ZWQiCitlY2hvICIiCisKK2VjaG8gIjcuIENyZWF0aW5nIG11bHRpcGxlIGZpbGVz Li4uIgorZm9yIGkgaW4gezEuLjV9OyBkbworICAgIGVjaG8gIkZpbGUgJGkgY29udGVudCIgPiAi JFRFU1RfRElSL2ZpbGUkaS50eHQiCitkb25lCisjIFZlcmlmeSBhbGwgZmlsZXMgZXhpc3QKK0ZJ TEVfQ09VTlQ9JChscyAtMSAiJFRFU1RfRElSIi9maWxlKi50eHQgMj4vZGV2L251bGwgfCB3YyAt bCkKK2lmIFsgIiRGSUxFX0NPVU5UIiAtbmUgNSBdOyB0aGVuCisgICAgZWNobyAtZSAiJHtSRUR9 RVJST1I6IEV4cGVjdGVkIDUgZmlsZXMsIGZvdW5kICRGSUxFX0NPVU5UJHtOQ30iCisgICAgZXhp dCAxCitmaQorZWNobyAtZSAiJHtHUkVFTn3inJMke05DfSBNdWx0aXBsZSBmaWxlcyBjcmVhdGVk IChjb3VudDogJEZJTEVfQ09VTlQpIgorZWNobyAiIgorCitlY2hvICI4LiBUZXN0aW5nIGZpbGUg bW9kaWZpY2F0aW9uLi4uIgorT1JJR0lOQUxfQ09OVEVOVD0kKGNhdCAiJFRFU1RfRklMRSIpCitl Y2hvICJNb2RpZmllZCBhdCAkKGRhdGUpIiA+PiAiJFRFU1RfRklMRSIKK01PRElGSUVEX0NPTlRF TlQ9JChjYXQgIiRURVNUX0ZJTEUiKQoraWYgWyAiJE9SSUdJTkFMX0NPTlRFTlQiID0gIiRNT0RJ RklFRF9DT05URU5UIiBdOyB0aGVuCisgICAgZWNobyAtZSAiJHtSRUR9RVJST1I6IEZpbGUgd2Fz IG5vdCBtb2RpZmllZCR7TkN9IgorICAgIGV4aXQgMQorZmkKK2VjaG8gLWUgIiR7R1JFRU594pyT JHtOQ30gRmlsZSBtb2RpZmljYXRpb24gc3VjY2Vzc2Z1bCIKK2VjaG8gIiIKKworZWNobyAiOS4g VGVzdGluZyBmaWxlIGRlbGV0aW9uLi4uIgorVEVNUF9GSUxFPSIkVEVTVF9ESVIvdGVtcC1kZWxl dGUtbWUudHh0IgorZWNobyAidGVtcG9yYXJ5IiA+ICIkVEVNUF9GSUxFIgoraWYgWyAhIC1mICIk VEVNUF9GSUxFIiBdOyB0aGVuCisgICAgZWNobyAtZSAiJHtSRUR9RVJST1I6IEZhaWxlZCB0byBj cmVhdGUgdGVtcCBmaWxlJHtOQ30iCisgICAgZXhpdCAxCitmaQorcm0gIiRURU1QX0ZJTEUiCitp ZiBbIC1mICIkVEVNUF9GSUxFIiBdOyB0aGVuCisgICAgZWNobyAtZSAiJHtSRUR9RVJST1I6IEZp bGUgd2FzIG5vdCBkZWxldGVkJHtOQ30iCisgICAgZXhpdCAxCitmaQorZWNobyAtZSAiJHtHUkVF Tn3inJMke05DfSBGaWxlIGRlbGV0aW9uIHN1Y2Nlc3NmdWwiCitlY2hvICIiCisKK2VjaG8gIjEw LiBUZXN0aW5nIHJlbmFtZSBvcGVyYXRpb24uLi4iCitSRU5BTUVfU1JDPSIkVEVTVF9ESVIvcmVu YW1lLXNyYy50eHQiCitSRU5BTUVfRFNUPSIkVEVTVF9ESVIvcmVuYW1lLWRzdC50eHQiCisjIENs ZWFuIHVwIGRlc3RpbmF0aW9uIGlmIGl0IGV4aXN0cyBmcm9tIHByZXZpb3VzIHJ1bgorcm0gLWYg IiRSRU5BTUVfRFNUIgorZWNobyAicmVuYW1lIHRlc3QiID4gIiRSRU5BTUVfU1JDIgorbXYgIiRS RU5BTUVfU1JDIiAiJFJFTkFNRV9EU1QiCitpZiBbIC1mICIkUkVOQU1FX1NSQyIgXTsgdGhlbgor ICAgIGVjaG8gLWUgIiR7UkVEfUVSUk9SOiBTb3VyY2UgZmlsZSBzdGlsbCBleGlzdHMgYWZ0ZXIg cmVuYW1lJHtOQ30iCisgICAgZXhpdCAxCitmaQoraWYgWyAhIC1mICIkUkVOQU1FX0RTVCIgXTsg dGhlbgorICAgIGVjaG8gLWUgIiR7UkVEfUVSUk9SOiBEZXN0aW5hdGlvbiBmaWxlIGRvZXMgbm90 IGV4aXN0IGFmdGVyIHJlbmFtZSR7TkN9IgorICAgIGV4aXQgMQorZmkKK0RTVF9DT05URU5UPSQo Y2F0ICIkUkVOQU1FX0RTVCIpCitpZiBbICIkRFNUX0NPTlRFTlQiICE9ICJyZW5hbWUgdGVzdCIg XTsgdGhlbgorICAgIGVjaG8gLWUgIiR7UkVEfUVSUk9SOiBDb250ZW50IG1pc21hdGNoIGFmdGVy IHJlbmFtZSR7TkN9IgorICAgIGV4aXQgMQorZmkKK2VjaG8gLWUgIiR7R1JFRU594pyTJHtOQ30g RmlsZSByZW5hbWUgc3VjY2Vzc2Z1bCIKK2VjaG8gIiIKKworZWNobyAiMTEuIENoZWNraW5nIGRh dGFiYXNlIHN0YXRlLi4uIgorIyBUaGUgZGF0YWJhc2Ugc2hvdWxkIGJlIGFjY2Vzc2libGUKK2lm IFsgLWQgIiRURVNUX0RCX0RJUiIgXTsgdGhlbgorICAgIERCX0ZJTEVTPSQobHMgLTEgL3Rlc3Qv ZGIvKi5kYiAyPi9kZXYvbnVsbCB8IHdjIC1sKQorICAgIGVjaG8gLWUgIiR7R1JFRU594pyTJHtO Q30gRGF0YWJhc2UgZGlyZWN0b3J5IGV4aXN0cyAoZmlsZXM6ICREQl9GSUxFUykiCitlbHNlCisg ICAgZWNobyAtZSAiJHtCTFVFfeKEuSR7TkN9IERhdGFiYXNlIGRpcmVjdG9yeSBub3QgYWNjZXNz aWJsZSAoZXhwZWN0ZWQgaW4gdGVzdCBtb2RlKSIKK2ZpCitlY2hvICIiCisKK2VjaG8gIjEyLiBU ZXN0aW5nIGxhcmdlIGZpbGUgd3JpdGUuLi4iCitMQVJHRV9GSUxFPSIkVEVTVF9ESVIvbGFyZ2Ut ZmlsZS5iaW4iCisjIENyZWF0ZSAxTUIgZmlsZQorZGQgaWY9L2Rldi96ZXJvIG9mPSIkTEFSR0Vf RklMRSIgYnM9MTAyNCBjb3VudD0xMDI0IDI+L2Rldi9udWxsCitpZiBbICEgLWYgIiRMQVJHRV9G SUxFIiBdOyB0aGVuCisgICAgZWNobyAtZSAiJHtSRUR9RVJST1I6IEZhaWxlZCB0byBjcmVhdGUg bGFyZ2UgZmlsZSR7TkN9IgorICAgIGV4aXQgMQorZmkKK0xBUkdFX1NJWkU9JChzdGF0IC1jJXMg IiRMQVJHRV9GSUxFIiAyPi9kZXYvbnVsbCB8fCBzdGF0IC1mJXogIiRMQVJHRV9GSUxFIiAyPi9k ZXYvbnVsbCkKK0VYUEVDVEVEX1NJWkU9JCgoMTAyNCAqIDEwMjQpKQoraWYgWyAiJExBUkdFX1NJ WkUiIC1uZSAiJEVYUEVDVEVEX1NJWkUiIF07IHRoZW4KKyAgICBlY2hvIC1lICIke1JFRH1FUlJP UjogTGFyZ2UgZmlsZSBzaXplIG1pc21hdGNoIChleHBlY3RlZDogJEVYUEVDVEVEX1NJWkUsIGdv dDogJExBUkdFX1NJWkUpJHtOQ30iCisgICAgZXhpdCAxCitmaQorZWNobyAtZSAiJHtHUkVFTn3i nJMke05DfSBMYXJnZSBmaWxlIGNyZWF0ZWQgKHNpemU6ICRMQVJHRV9TSVpFIGJ5dGVzKSIKK2Vj aG8gIiIKKworZWNobyAiMTMuIFRlc3RpbmcgY29uY3VycmVudCB3cml0ZXMuLi4iCitmb3IgaSBp biB7MS4uMTB9OyBkbworICAgIGVjaG8gIkNvbmN1cnJlbnQgd3JpdGUgJGkiID4gIiRURVNUX0RJ Ui9jb25jdXJyZW50LSRpLnR4dCIgJgorZG9uZQord2FpdAorQ09OQ1VSUkVOVF9DT1VOVD0kKGxz IC0xICIkVEVTVF9ESVIiL2NvbmN1cnJlbnQtKi50eHQgMj4vZGV2L251bGwgfCB3YyAtbCkKK2lm IFsgIiRDT05DVVJSRU5UX0NPVU5UIiAtbmUgMTAgXTsgdGhlbgorICAgIGVjaG8gLWUgIiR7UkVE fUVSUk9SOiBDb25jdXJyZW50IHdyaXRlcyBmYWlsZWQgKGV4cGVjdGVkOiAxMCwgZ290OiAkQ09O Q1VSUkVOVF9DT1VOVCkke05DfSIKKyAgICBleGl0IDEKK2ZpCitlY2hvIC1lICIke0dSRUVOfeKc kyR7TkN9IENvbmN1cnJlbnQgd3JpdGVzIHN1Y2Nlc3NmdWwgKGNvdW50OiAkQ09OQ1VSUkVOVF9D T1VOVCkiCitlY2hvICIiCisKK2VjaG8gIjE0LiBMaXN0aW5nIGZpbmFsIGRpcmVjdG9yeSBjb250 ZW50cy4uLiIKK1RPVEFMX0ZJTEVTPSQoZmluZCAiJFRFU1RfRElSIiAtdHlwZSBmIHwgd2MgLWwp CitlY2hvICJUb3RhbCBmaWxlcyBjcmVhdGVkOiAkVE9UQUxfRklMRVMiCitlY2hvICJEaXJlY3Rv cnkgc3RydWN0dXJlOiIKK2ZpbmQgIiRURVNUX0RJUiIgLXR5cGUgZiB8IGhlYWQgLTEwIHwgd2hp bGUgcmVhZCBmaWxlOyBkbworICAgIGVjaG8gIiAgLSAkKGJhc2VuYW1lICRmaWxlKSIKK2RvbmUK K2lmIFsgIiRUT1RBTF9GSUxFUyIgLWd0IDEwIF07IHRoZW4KKyAgICBlY2hvICIgIC4uLiAoJCgo JFRPVEFMX0ZJTEVTIC0gMTApKSBtb3JlIGZpbGVzKSIKK2ZpCisKK2VjaG8gIiIKK2VjaG8gLWUg IiR7R1JFRU594pyTIERGU00gc3luYyB0ZXN0IHBhc3NlZCR7TkN9IgorZXhpdCAwCmRpZmYgLS1n aXQgYS9zcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzL3Rlc3RzL2Rmc20vMDItbXVsdGkt bm9kZS5zaCBiL3NyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvdGVzdHMvZGZzbS8wMi1t dWx0aS1ub2RlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwLi44MjcyYWY4 NwotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvdGVz dHMvZGZzbS8wMi1tdWx0aS1ub2RlLnNoCkBAIC0wLDAgKzEsMTU5IEBACisjIS9iaW4vYmFzaAor IyBNdWx0aS1ub2RlIERGU00gc3luY2hyb25pemF0aW9uIHRlc3QKKyMgVGVzdHMgdGhhdCBkYXRh IHdyaXR0ZW4gb24gb25lIG5vZGUgaXMgc3luY2hyb25pemVkIHRvIG90aGVyIG5vZGVzCisKK3Nl dCAtZQorCisjIFNvdXJjZSBjb21tb24gdGVzdCBjb25maWd1cmF0aW9uCitTQ1JJUFRfRElSPSIk KGNkICIkKGRpcm5hbWUgIiR7QkFTSF9TT1VSQ0VbMF19IikiICYmIHB3ZCkiCitzb3VyY2UgIiRT Q1JJUFRfRElSLy4uL3Rlc3QtY29uZmlnLnNoIgorCitSRUQ9J1wwMzNbMDszMW0nCitHUkVFTj0n XDAzM1swOzMybScKK1lFTExPVz0nXDAzM1sxOzMzbScKK0JMVUU9J1wwMzNbMDszNG0nCitOQz0n XDAzM1swbScKKworZWNobyAiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0iCitlY2hvICJUZXN0OiBNdWx0aS1Ob2RlIERGU00gU3luY2hyb25pemF0aW9uIgorZWNobyAi PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0iCitlY2hvICIiCisKKyMg VGhpcyBzY3JpcHQgc2hvdWxkIGJlIHJ1biBmcm9tIGEgdGVzdCBvcmNoZXN0cmF0b3IgdGhhdCBj YW4gZXhlYyBpbnRvIG11bHRpcGxlIG5vZGVzCisjIEZvciBub3csIGl0IGp1c3QgY3JlYXRlcyBt YXJrZXIgZmlsZXMgdGhhdCBjYW4gYmUgY2hlY2tlZCBieSB0aGUgb3JjaGVzdHJhdG9yCisKK01P VU5UX1BPSU5UPSIkVEVTVF9NT1VOVF9QQVRIIgorU1lOQ19URVNUX0RJUj0iJE1PVU5UX1BPSU5U L211bHRpLW5vZGUtc3luYy10ZXN0IgorTk9ERV9OQU1FPSQoaG9zdG5hbWUpCitNQVJLRVJfRklM RT0iJFNZTkNfVEVTVF9ESVIvbm9kZS0ke05PREVfTkFNRX0ubWFya2VyIgorCitlY2hvICJSdW5u aW5nIG9uIG5vZGU6ICROT0RFX05BTUUiCitlY2hvICIiCisKK2VjaG8gIjEuIENoZWNraW5nIHBt eGNmcyBpcyBydW5uaW5nLi4uIgoraWYgISBwZ3JlcCAteCBwbXhjZnMgPiAvZGV2L251bGw7IHRo ZW4KKyAgICBlY2hvIC1lICIke1JFRH1FUlJPUjogcG14Y2ZzIGlzIG5vdCBydW5uaW5nJHtOQ30i CisgICAgZXhpdCAxCitmaQorZWNobyAtZSAiJHtHUkVFTn3inJMke05DfSBwbXhjZnMgaXMgcnVu bmluZyIKK2VjaG8gIiIKKworZWNobyAiMi4gQ3JlYXRpbmcgc3luYyB0ZXN0IGRpcmVjdG9yeS4u LiIKK21rZGlyIC1wICIkU1lOQ19URVNUX0RJUiIKK2VjaG8gLWUgIiR7R1JFRU594pyTJHtOQ30g U3luYyB0ZXN0IGRpcmVjdG9yeSBjcmVhdGVkIgorZWNobyAiIgorCitlY2hvICIzLiBXcml0aW5n IG5vZGUgbWFya2VyIGZpbGUuLi4iCitjYXQgPiAiJE1BUktFUl9GSUxFIiA8PEVPRgoreworICAi bm9kZSI6ICIkTk9ERV9OQU1FIiwKKyAgInRpbWVzdGFtcCI6ICIkKGRhdGUgLXUgKyVZLSVtLSVk VCVIOiVNOiVTWikiLAorICAicGlkIjogJCQsCisgICJ0ZXN0IjogIm11bHRpLW5vZGUtc3luYyIK K30KK0VPRgorCitpZiBbICEgLWYgIiRNQVJLRVJfRklMRSIgXTsgdGhlbgorICAgIGVjaG8gLWUg IiR7UkVEfUVSUk9SOiBGYWlsZWQgdG8gY3JlYXRlIG1hcmtlciBmaWxlJHtOQ30iCisgICAgZXhp dCAxCitmaQorZWNobyAtZSAiJHtHUkVFTn3inJMke05DfSBNYXJrZXIgZmlsZSBjcmVhdGVkOiAk TUFSS0VSX0ZJTEUiCitlY2hvICIiCisKK2VjaG8gIjQuIENyZWF0aW5nIHRlc3QgZGF0YS4uLiIK K1RFU1RfREFUQV9GSUxFPSIkU1lOQ19URVNUX0RJUi9zaGFyZWQtZGF0YS1mcm9tLSR7Tk9ERV9O QU1FfS50eHQiCitjYXQgPiAiJFRFU1RfREFUQV9GSUxFIiA8PEVPRgorVGhpcyBmaWxlIHdhcyBj cmVhdGVkIGJ5ICROT0RFX05BTUUKK1RpbWVzdGFtcDogJChkYXRlIC11ICslWS0lbS0lZFQlSDol TTolU1opCitSYW5kb20gZGF0YTogJCh0ciAtZGMgQS1aYS16MC05IDwvZGV2L3VyYW5kb20gfCBo ZWFkIC1jIDMyKQorRU9GCisKK2lmIFsgISAtZiAiJFRFU1RfREFUQV9GSUxFIiBdOyB0aGVuCisg ICAgZWNobyAtZSAiJHtSRUR9RVJST1I6IEZhaWxlZCB0byBjcmVhdGUgdGVzdCBkYXRhIGZpbGUk e05DfSIKKyAgICBleGl0IDEKK2ZpCitlY2hvIC1lICIke0dSRUVOfeKckyR7TkN9IFRlc3QgZGF0 YSBmaWxlIGNyZWF0ZWQiCitlY2hvICIiCisKK2VjaG8gIjUuIENyZWF0aW5nIGRpcmVjdG9yeSBo aWVyYXJjaHkuLi4iCitISUVSQVJDSFlfRElSPSIkU1lOQ19URVNUX0RJUi9oaWVyYXJjaHktJHtO T0RFX05BTUV9IgorbWtkaXIgLXAgIiRISUVSQVJDSFlfRElSL2xldmVsMS9sZXZlbDIvbGV2ZWwz IgorZm9yIGxldmVsIGluIGxldmVsMSBsZXZlbDIgbGV2ZWwzOyBkbworICAgIGVjaG8gIiROT0RF X05BTUUgLSAkbGV2ZWwiID4gIiRISUVSQVJDSFlfRElSL2xldmVsMS8ke2xldmVsfS50eHQiCitk b25lCitlY2hvIC1lICIke0dSRUVOfeKckyR7TkN9IERpcmVjdG9yeSBoaWVyYXJjaHkgY3JlYXRl ZCIKK2VjaG8gIiIKKworZWNobyAiNi4gTGlzdGluZyBzeW5jIGRpcmVjdG9yeSBjb250ZW50cy4u LiIKK2VjaG8gIkZpbGVzIGluIHN5bmMgZGlyZWN0b3J5OiIKK2xzIC1sYSAiJFNZTkNfVEVTVF9E SVIiIHwgZ3JlcCAtdiAiXnRvdGFsIiB8IGdyZXAgLXYgIl5kIiB8IHdoaWxlIHJlYWQgbGluZTsg ZG8KKyAgICBlY2hvICIgICRsaW5lIgorZG9uZQorZWNobyAiIgorCitlY2hvICI3LiBDaGVja2lu ZyBmb3IgZmlsZXMgZnJvbSBvdGhlciBub2Rlcy4uLiIKK09USEVSX01BUktFUlM9JChscyAtMSAi JFNZTkNfVEVTVF9ESVIiL25vZGUtKi5tYXJrZXIgMj4vZGV2L251bGwgfCBncmVwIC12ICIkTk9E RV9OQU1FIiB8IHdjIC1sKQoraWYgWyAiJE9USEVSX01BUktFUlMiIC1ndCAwIF07IHRoZW4KKyAg ICBlY2hvIC1lICIke0dSRUVOfeKckyR7TkN9IEZvdW5kICRPVEhFUl9NQVJLRVJTIG1hcmtlciBm aWxlcyBmcm9tIG90aGVyIG5vZGVzIgorICAgIGxzIC0xICIkU1lOQ19URVNUX0RJUiIvbm9kZS0q Lm1hcmtlciB8IGdyZXAgLXYgIiROT0RFX05BTUUiIHwgd2hpbGUgcmVhZCBtYXJrZXI7IGRvCisg ICAgICAgIE5PREU9JChiYXNlbmFtZSAiJG1hcmtlciIgLm1hcmtlciB8IHNlZCAncy9ub2RlLS8v JykKKyAgICAgICAgZWNobyAiICAtIERldGVjdGVkIG5vZGU6ICROT0RFIgorICAgICAgICBpZiBb IC1mICIkbWFya2VyIiBdOyB0aGVuCisgICAgICAgICAgICBlY2hvICIgICAgQ29udGVudCBwcmV2 aWV3OiAkKGhlYWQgLTEgIiRtYXJrZXIiKSIKKyAgICAgICAgZmkKKyAgICBkb25lCitlbHNlCisg ICAgZWNobyAtZSAiJHtZRUxMT1d94oS5JHtOQ30gTm8gbWFya2VyIGZpbGVzIGZyb20gb3RoZXIg bm9kZXMgZm91bmQgeWV0IChtaWdodCBiZSBmaXJzdCBub2RlIG9yIHN0aWxsIHN5bmNpbmcpIgor ZmkKK2VjaG8gIiIKKworZWNobyAiOC4gV3JpdGluZyBzeW5jIHZlcmlmaWNhdGlvbiBkYXRhLi4u IgorVkVSSUZZX0ZJTEU9IiRTWU5DX1RFU1RfRElSL3ZlcmlmeS0ke05PREVfTkFNRX0uanNvbiIK K2NhdCA+ICIkVkVSSUZZX0ZJTEUiIDw8RU9GCit7CisgICJub2RlIjogIiROT0RFX05BTUUiLAor ICAidGVzdF90eXBlIjogInN5bmNfdmVyaWZpY2F0aW9uIiwKKyAgInRpbWVzdGFtcCI6ICIkKGRh dGUgLXUgKyVZLSVtLSVkVCVIOiVNOiVTWikiLAorICAib3BlcmF0aW9ucyI6IHsKKyAgICAibWFy a2VyX2NyZWF0ZWQiOiB0cnVlLAorICAgICJ0ZXN0X2RhdGFfY3JlYXRlZCI6IHRydWUsCisgICAg ImhpZXJhcmNoeV9jcmVhdGVkIjogdHJ1ZQorICB9LAorICAic3luY19zdGF0dXMiOiB7CisgICAg Im90aGVyX25vZGVzX3Zpc2libGUiOiAkT1RIRVJfTUFSS0VSUworICB9Cit9CitFT0YKK2VjaG8g LWUgIiR7R1JFRU594pyTJHtOQ30gVmVyaWZpY2F0aW9uIGRhdGEgd3JpdHRlbiIKK2VjaG8gIiIK KworZWNobyAiOS4gQ3JlYXRpbmcgY29uZmlnIGZpbGUgKHNpbXVsYXRpbmcgcmVhbCB1c2FnZSku Li4iCitDT05GSUdfRElSPSIkU1lOQ19URVNUX0RJUi9jb25maWctJHtOT0RFX05BTUV9IgorbWtk aXIgLXAgIiRDT05GSUdfRElSIgorY2F0ID4gIiRDT05GSUdfRElSL2NsdXN0ZXIuY29uZiIgPDxF T0YKKyMgQ2x1c3RlciBjb25maWd1cmF0aW9uIGNyZWF0ZWQgYnkgJE5PREVfTkFNRQorbm9kZXMg eworICAkTk9ERV9OQU1FIHsKKyAgICBpcCA9ICIxMjcuMC4wLjEiCisgICAgcm9sZSA9ICJ0ZXN0 IgorICB9Cit9CitzeW5jX3Rlc3QgeworICBlbmFibGVkID0geWVzCisgIHRpbWVzdGFtcCA9ICQo ZGF0ZSArJXMpCit9CitFT0YKK2VjaG8gLWUgIiR7R1JFRU594pyTJHtOQ30gQ29uZmlnIGZpbGUg Y3JlYXRlZCIKK2VjaG8gIiIKKworZWNobyAiMTAuIEZpbmFsIHN0YXR1cyBjaGVjay4uLiIKK1RP VEFMX0ZJTEVTPSQoZmluZCAiJFNZTkNfVEVTVF9ESVIiIC10eXBlIGYgfCB3YyAtbCkKK1RPVEFM X0RJUlM9JChmaW5kICIkU1lOQ19URVNUX0RJUiIgLXR5cGUgZCB8IHdjIC1sKQorZWNobyAiU3Rh dGlzdGljczoiCitlY2hvICIgIFRvdGFsIGZpbGVzOiAkVE9UQUxfRklMRVMiCitlY2hvICIgIFRv dGFsIGRpcmVjdG9yaWVzOiAkVE9UQUxfRElSUyIKKworZWNobyAiIgorZWNobyAtZSAiJHtHUkVF Tn3inJMgTXVsdGktbm9kZSBzeW5jIHRlc3QgcGFzc2VkJHtOQ30iCitlY2hvICJOb3RlOiBJbiBt dWx0aS1ub2RlIGNsdXN0ZXIsIG9yY2hlc3RyYXRvciBzaG91bGQgdmVyaWZ5IGZpbGVzIHN5bmMg dG8gb3RoZXIgbm9kZXMiCitleGl0IDAKZGlmZiAtLWdpdCBhL3NyYy9wbXhjZnMtcnMvaW50ZWdy YXRpb24tdGVzdHMvdGVzdHMvZnVzZS8wMS1vcGVyYXRpb25zLnNoIGIvc3JjL3BteGNmcy1ycy9p bnRlZ3JhdGlvbi10ZXN0cy90ZXN0cy9mdXNlLzAxLW9wZXJhdGlvbnMuc2gKbmV3IGZpbGUgbW9k ZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAuLjEwYWEzNjU5Ci0tLSAvZGV2L251bGwKKysrIGIvc3Jj L3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0cy9mdXNlLzAxLW9wZXJhdGlvbnMuc2gK QEAgLTAsMCArMSwxMDAgQEAKKyMhL2Jpbi9iYXNoCisjIFRlc3Q6IEZpbGUgT3BlcmF0aW9ucwor IyBUZXN0IGJhc2ljIGZpbGUgb3BlcmF0aW9ucyBpbiBtb3VudGVkIGZpbGVzeXN0ZW0KKworc2V0 IC1lCisKKyMgU291cmNlIGNvbW1vbiB0ZXN0IGNvbmZpZ3VyYXRpb24KK1NDUklQVF9ESVI9IiQo Y2QgIiQoZGlybmFtZSAiJHtCQVNIX1NPVVJDRVswXX0iKSIgJiYgcHdkKSIKK3NvdXJjZSAiJFND UklQVF9ESVIvLi4vdGVzdC1jb25maWcuc2giCisKK2VjaG8gIlRlc3RpbmcgZmlsZSBvcGVyYXRp b25zLi4uIgorCitNT1VOVF9QQVRIPSIkVEVTVF9NT1VOVF9QQVRIIgorCisjIENoZWNrIG1vdW50 IHBvaW50IGlzIGFjY2Vzc2libGUKK2lmIFsgISAtZCAiJE1PVU5UX1BBVEgiIF07IHRoZW4KKyAg ICBlY2hvICJFUlJPUjogTW91bnQgcGF0aCBub3QgYWNjZXNzaWJsZTogJE1PVU5UX1BBVEgiCisg ICAgZXhpdCAxCitmaQorZWNobyAi4pyTIE1vdW50IHBhdGggYWNjZXNzaWJsZSIKKworIyBDaGVj ayBpZiBpdCdzIGFjdHVhbGx5IGEgRlVTRSBtb3VudCBvciBqdXN0IGEgZGlyZWN0b3J5CitpZiBt b3VudCB8IGdyZXAgLXEgIiRNT1VOVF9QQVRILipmdXNlIjsgdGhlbgorICAgIGVjaG8gIuKckyBQ YXRoIGlzIEZVU0UtbW91bnRlZCIKKyAgICBNT1VOVF9JTkZPPSQobW91bnQgfCBncmVwICIkTU9V TlRfUEFUSCIpCisgICAgZWNobyAiICBNb3VudDogJE1PVU5UX0lORk8iCisgICAgSVNfRlVTRT10 cnVlCitlbGlmIFsgLWQgIiRNT1VOVF9QQVRIIiBdOyB0aGVuCisgICAgZWNobyAiICBQYXRoIGV4 aXN0cyBhcyBkaXJlY3RvcnkgKEZVU0UgbWF5IG5vdCB3b3JrIGluIGNvbnRhaW5lcikiCisgICAg SVNfRlVTRT1mYWxzZQorZWxzZQorICAgIGVjaG8gIkVSUk9SOiBNb3VudCBwYXRoIG5vdCBhdmFp bGFibGUiCisgICAgZXhpdCAxCitmaQorCisjIFRlc3QgYmFzaWMgZGlyZWN0b3J5IGxpc3RpbmcK K2VjaG8gIlRlc3RpbmcgZGlyZWN0b3J5IGxpc3RpbmcuLi4iCitpZiBscyAtbGEgIiRNT1VOVF9Q QVRIIiA+IC9kZXYvbnVsbCAyPiYxOyB0aGVuCisgICAgZWNobyAi4pyTIERpcmVjdG9yeSBsaXN0 aW5nIHdvcmtzIgorICAgIEZJTEVfQ09VTlQ9JChscyAtQSAiJE1PVU5UX1BBVEgiIHwgd2MgLWwp CisgICAgZWNobyAiICBGaWxlcyBpbiBtb3VudDogJEZJTEVfQ09VTlQiCitlbHNlCisgICAgZWNo byAiRVJST1I6IENhbm5vdCBsaXN0IGRpcmVjdG9yeSIKKyAgICBleGl0IDEKK2ZpCisKKyMgSWYg RlVTRSBpcyB3b3JraW5nLCB0ZXN0IGZpbGUgb3BlcmF0aW9ucworaWYgWyAiJElTX0ZVU0UiID0g dHJ1ZSBdOyB0aGVuCisgICAgIyBUZXN0IGZpbGUgY3JlYXRpb24KKyAgICBURVNUX0ZJTEU9IiRN T1VOVF9QQVRILy5jb250YWluZXItdGVzdC0kJCIKKworICAgIGVjaG8gIlRlc3RpbmcgZmlsZSBj cmVhdGlvbi4uLiIKKyAgICBpZiBlY2hvICJ0ZXN0IGRhdGEiID4gIiRURVNUX0ZJTEUiIDI+L2Rl di9udWxsOyB0aGVuCisgICAgICAgIGVjaG8gIuKckyBGaWxlIGNyZWF0aW9uIHdvcmtzIgorCisg ICAgICAgICMgVGVzdCBmaWxlIHJlYWQKKyAgICAgICAgZWNobyAiVGVzdGluZyBmaWxlIHJlYWQu Li4iCisgICAgICAgIENPTlRFTlQ9JChjYXQgIiRURVNUX0ZJTEUiKQorICAgICAgICBpZiBbICIk Q09OVEVOVCIgPSAidGVzdCBkYXRhIiBdOyB0aGVuCisgICAgICAgICAgICBlY2hvICLinJMgRmls ZSByZWFkIHdvcmtzIgorICAgICAgICBlbHNlCisgICAgICAgICAgICBlY2hvICJFUlJPUjogRmls ZSByZWFkIHJldHVybmVkIHdyb25nIGNvbnRlbnQiCisgICAgICAgICAgICBleGl0IDEKKyAgICAg ICAgZmkKKworICAgICAgICAjIFRlc3QgZmlsZSBkZWxldGlvbgorICAgICAgICBlY2hvICJUZXN0 aW5nIGZpbGUgZGVsZXRpb24uLi4iCisgICAgICAgIHJtICIkVEVTVF9GSUxFIgorICAgICAgICBp ZiBbICEgLWYgIiRURVNUX0ZJTEUiIF07IHRoZW4KKyAgICAgICAgICAgIGVjaG8gIuKckyBGaWxl IGRlbGV0aW9uIHdvcmtzIgorICAgICAgICBlbHNlCisgICAgICAgICAgICBlY2hvICJFUlJPUjog RmlsZSBkZWxldGlvbiBmYWlsZWQiCisgICAgICAgICAgICBleGl0IDEKKyAgICAgICAgZmkKKyAg ICBlbHNlCisgICAgICAgIGVjaG8gIiAgRmlsZSBjcmVhdGlvbiBub3QgYXZhaWxhYmxlIChleHBl Y3RlZCBpbiBzb21lIGNvbnRhaW5lciBjb25maWdzKSIKKyAgICBmaQorZWxzZQorICAgIGVjaG8g IiAgU2tpcHBpbmcgZmlsZSBvcGVyYXRpb25zIChGVVNFIG5vdCBtb3VudGVkKSIKK2ZpCisKKyMg Q2hlY2sgZm9yIHBsdWdpbiBmaWxlcyAoaWYgYW55KQorUExVR0lOX0ZJTEVTPSgudmVyc2lvbiAu bWVtYmVycyAudm1saXN0IC5ycmQgLmNsdXN0ZXJsb2cpCitGT1VORF9QTFVHSU5TPTAKKworZm9y IHBsdWdpbiBpbiAiJHtQTFVHSU5fRklMRVNbQF19IjsgZG8KKyAgICBpZiBbIC1lICIkTU9VTlRf UEFUSC8kcGx1Z2luIiBdOyB0aGVuCisgICAgICAgIEZPVU5EX1BMVUdJTlM9JCgoRk9VTkRfUExV R0lOUyArIDEpKQorICAgICAgICBlY2hvICIgIEZvdW5kIHBsdWdpbjogJHBsdWdpbiIKKyAgICBm aQorZG9uZQorCitpZiBbICRGT1VORF9QTFVHSU5TIC1ndCAwIF07IHRoZW4KKyAgICBlY2hvICLi nJMgUGx1Z2luIGZpbGVzIGFjY2Vzc2libGUgKCRGT1VORF9QTFVHSU5TIGZvdW5kKSIKK2Vsc2UK KyAgICBlY2hvICIgIE5vIHBsdWdpbiBmaWxlcyBmb3VuZCAobWF5IG5vdCBiZSBpbml0aWFsaXpl ZCkiCitmaQorCitlY2hvICLinJMgRmlsZSBvcGVyYXRpb25zIHRlc3QgY29tcGxldGVkIgorZXhp dCAwCmRpZmYgLS1naXQgYS9zcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzL3Rlc3RzL2lw Yy8wMS1zb2NrZXQtYXBpLnNoIGIvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0 cy9pcGMvMDEtc29ja2V0LWFwaS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAw MC4uZTA1ZGQ5MDAKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9u LXRlc3RzL3Rlc3RzL2lwYy8wMS1zb2NrZXQtYXBpLnNoCkBAIC0wLDAgKzEsMTA0IEBACisjIS9i aW4vYmFzaAorIyBUZXN0OiBTb2NrZXQgQVBJCisjIFZlcmlmeSBVbml4IHNvY2tldCBjb21tdW5p Y2F0aW9uIHdvcmtzIGluIGNvbnRhaW5lcgorCitzZXQgLWUKKworIyBTb3VyY2UgY29tbW9uIHRl c3QgY29uZmlndXJhdGlvbgorU0NSSVBUX0RJUj0iJChjZCAiJChkaXJuYW1lICIke0JBU0hfU09V UkNFWzBdfSIpIiAmJiBwd2QpIgorc291cmNlICIkU0NSSVBUX0RJUi8uLi90ZXN0LWNvbmZpZy5z aCIKKworZWNobyAiVGVzdGluZyBVbml4IHNvY2tldCBBUEkuLi4iCisKKyMgcG14Y2ZzIHVzZXMg YWJzdHJhY3QgVW5peCBzb2NrZXRzIChzdGFydGluZyB3aXRoIEApCisjIEFic3RyYWN0IHNvY2tl dHMgZG9uJ3QgYXBwZWFyIGluIGZpbGVzeXN0ZW0sIGNoZWNrIC9wcm9jL25ldC91bml4CitBQlNU UkFDVF9TT0NLRVQ9IiRURVNUX1NPQ0tFVCIKKworIyBDaGVjayBhYnN0cmFjdCBzb2NrZXQgZXhp c3RzIGluIC9wcm9jL25ldC91bml4CitpZiBncmVwIC1xICIkQUJTVFJBQ1RfU09DS0VUIiAvcHJv Yy9uZXQvdW5peCAyPi9kZXYvbnVsbDsgdGhlbgorICAgIGVjaG8gIuKckyBBYnN0cmFjdCBzb2Nr ZXQgZXhpc3RzOiAkQUJTVFJBQ1RfU09DS0VUIgorCisgICAgIyBTaG93IHNvY2tldCBpbmZvcm1h dGlvbgorICAgIFNPQ0tFVF9JTkZPPSQoZ3JlcCAiJEFCU1RSQUNUX1NPQ0tFVCIgL3Byb2MvbmV0 L3VuaXggfCBoZWFkIC0xKQorICAgIGVjaG8gIiAgU29ja2V0IGluZm8gZnJvbSAvcHJvYy9uZXQv dW5peDoiCisgICAgZWNobyAiICAkU09DS0VUX0lORk8iCitlbHNlCisgICAgZWNobyAiRVJST1I6 IEFic3RyYWN0IHNvY2tldCAkQUJTVFJBQ1RfU09DS0VUIG5vdCBmb3VuZCBpbiAvcHJvYy9uZXQv dW5peCIKKyAgICBlY2hvICJBdmFpbGFibGUgc29ja2V0cyB3aXRoICdwdmUnIGluIG5hbWU6Igor ICAgIGdyZXAgLWkgcHZlIC9wcm9jL25ldC91bml4IHx8IGVjaG8gIiAgTm9uZSBmb3VuZCIKKyAg ICBleGl0IDEKK2ZpCisKKyMgQ2hlY2sgc29ja2V0IGlzIGNvbm5lY3RhYmxlIHVzaW5nIGxpYnFi IElQQyAocmVxdWlyZXMgc3BlY2lhbCBjbGllbnQpCisjIEZvciBub3csIHdlJ2xsIHZlcmlmeSB0 aGUgc29ja2V0IGV4aXN0cyBhbmQgcG14Y2ZzIGlzIGxpc3RlbmluZworaWYgbmV0c3RhdCAtbHgg Mj4vZGV2L251bGwgfCBncmVwIC1xICIkQUJTVFJBQ1RfU09DS0VUIiB8fCBzcyAtbHggMj4vZGV2 L251bGwgfCBncmVwIC1xICIkQUJTVFJBQ1RfU09DS0VUIjsgdGhlbgorICAgIGVjaG8gIuKckyBT b2NrZXQgaXMgaW4gTElTVEVOIHN0YXRlIgorZWxzZQorICAgIGVjaG8gIiAgTm90ZTogU29ja2V0 IHN0YXRlIGNoZWNrIHJlcXVpcmVzIG5ldHN0YXQgb3Igc3MgKG1heSBub3QgYmUgaW5zdGFsbGVk KSIKK2ZpCisKKyMgQ2hlY2sgaWYgcG14Y2ZzIHByb2Nlc3MgaXMgcnVubmluZworaWYgcGdyZXAg LWYgcG14Y2ZzID4gL2Rldi9udWxsOyB0aGVuCisgICAgZWNobyAi4pyTIHBteGNmcyBwcm9jZXNz IGlzIHJ1bm5pbmciCisgICAgUE1YQ0ZTX1BJRD0kKHBncmVwIC1mIHBteGNmcykKKyAgICBlY2hv ICIgIFByb2Nlc3MgSUQ6ICRQTVhDRlNfUElEIgorZWxzZQorICAgIGVjaG8gIkVSUk9SOiBwbXhj ZnMgcHJvY2VzcyBub3QgcnVubmluZyIKKyAgICBwcyBhdXggfCBncmVwIHBteGNmcyB8fCB0cnVl CisgICAgZXhpdCAxCitmaQorCisjIENSSVRJQ0FMIFRFU1Q6IEFjdHVhbGx5IHRlc3Qgc29ja2V0 IGNvbW11bmljYXRpb24KKyMgV2UgY2FuIHRlc3QgYnkgY2hlY2tpbmcgaWYgd2UgY2FuIGF0IGxl YXN0IGNvbm5lY3QgdG8gdGhlIHNvY2tldAorZWNobyAiVGVzdGluZyBzb2NrZXQgY29ubmVjdGl2 aXR5Li4uIgorCisjIE1ldGhvZCAxOiBUcnkgdG8gY29ubmVjdCB1c2luZyBzb2NhdCAoaWYgYXZh aWxhYmxlKQoraWYgY29tbWFuZCAtdiBzb2NhdCAmPiAvZGV2L251bGw7IHRoZW4KKyAgICAjIFRy eSB0byBjb25uZWN0IHRvIGFic3RyYWN0IHNvY2tldCAodGltZW91dCBhZnRlciAxIHNlY29uZCkK KyAgICBpZiB0aW1lb3V0IDEgc29jYXQgLSBBQlNUUkFDVC1DT05ORUNUOnB2ZTIgPC9kZXYvbnVs bCAmPi9kZXYvbnVsbDsgdGhlbgorICAgICAgICBlY2hvICLinJMgU29ja2V0IGFjY2VwdHMgY29u bmVjdGlvbnMgKHNvY2F0IHRlc3QpIgorICAgIGVsc2UKKyAgICAgICAgIyBDb25uZWN0aW9uIG1h eSBiZSByZWZ1c2VkIG9yIHRpbWVvdXQgLSB0aGF0J3MgT0ssIGl0IG1lYW5zIHNvY2tldCBpcyBs aXN0ZW5pbmcKKyAgICAgICAgZWNobyAi4pyTIFNvY2tldCBpcyBsaXN0ZW5pbmcgKGNvbm5lY3Rp b24gYXR0ZW1wdGVkKSIKKyAgICBmaQorZWxzZQorICAgIGVjaG8gIiAgc29jYXQgbm90IGF2YWls YWJsZSBmb3IgY29ubmVjdGlvbiB0ZXN0IgorZmkKKworIyBNZXRob2QgMjogVXNlIFBlcmwgaWYg YXZhaWxhYmxlIChQVkUgaGFzIFBlcmwgbW9kdWxlcyBmb3IgSVBDKQoraWYgY29tbWFuZCAtdiBw ZXJsICY+IC9kZXYvbnVsbDsgdGhlbgorICAgICMgVHJ5IGEgc2ltcGxlIFBlcmwgdGVzdCB1c2lu ZyBQVkU6OklQQyBpZiBhdmFpbGFibGUKKyAgICBQRVJMX1RFU1Q9JChwZXJsIC1lICcKKyAgICAg ICAgdXNlIFNvY2tldDsKKyAgICAgICAgc29ja2V0KG15ICRzb2NrLCBQRl9VTklYLCBTT0NLX1NU UkVBTSwgMCkgb3IgZXhpdCAxOworICAgICAgICBteSAkcGF0aCA9ICJcMHB2ZTIiOyAgIyBBYnN0 cmFjdCBzb2NrZXQKKyAgICAgICAgY29ubmVjdCgkc29jaywgcGFja19zb2NrYWRkcl91bigkcGF0 aCkpIG9yIGV4aXQgMTsKKyAgICAgICAgY2xvc2UoJHNvY2spOworICAgICAgICBwcmludCAiY29u bmVjdGVkIjsKKyAgICAgICAgZXhpdCAwOworICAgICcgMj4vZGV2L251bGwgfHwgZWNobyAiZmFp bGVkIikKKworICAgIGlmIFsgIiRQRVJMX1RFU1QiID0gImNvbm5lY3RlZCIgXTsgdGhlbgorICAg ICAgICBlY2hvICLinJMgU29ja2V0IGNvbm5lY3Rpb24gc3VjY2Vzc2Z1bCAoUGVybCB0ZXN0KSIK KyAgICBlbHNlCisgICAgICAgIGVjaG8gIiAgRGlyZWN0IHNvY2tldCBjb25uZWN0aW9uIHRlc3Q6 ICRQRVJMX1RFU1QiCisgICAgZmkKK2ZpCisKKyMgTWV0aG9kIDM6IFZlcmlmeSBGVVNFIGlzIHJl c3BvbmRpbmcgKGluZGlyZWN0IElQQyB0ZXN0KQorIyBJZiBGVVNFIHdvcmtzLCBJUEMgbXVzdCBi ZSB3b3JraW5nIHNpbmNlIEZVU0Ugb3BlcmF0aW9ucyBnbyB0aHJvdWdoIElQQworTU9VTlRfUEFU SD0iJFRFU1RfTU9VTlRfUEFUSCIKK2lmIFsgLWQgIiRNT1VOVF9QQVRIIiBdICYmIGxzICIkTU9V TlRfUEFUSC8udmVyc2lvbiIgJj4vZGV2L251bGw7IHRoZW4KKyAgICBWRVJTSU9OX0NPTlRFTlQ9 JChjYXQgIiRNT1VOVF9QQVRILy52ZXJzaW9uIiAyPi9kZXYvbnVsbCB8fCBlY2hvICIiKQorICAg IGlmIFsgLW4gIiRWRVJTSU9OX0NPTlRFTlQiIF07IHRoZW4KKyAgICAgICAgZWNobyAi4pyTIElQ QyB2ZXJpZmllZCBpbmRpcmVjdGx5IChGVVNFIG9wZXJhdGlvbnMgd29ya2luZykiCisgICAgICAg IGVjaG8gIiAgRlVTRSBvcGVyYXRpb25zIHJlcXVpcmUgd29ya2luZyBJUEMgdG8gcG14Y2ZzIGRh ZW1vbiIKKyAgICBlbHNlCisgICAgICAgIGVjaG8gIuKaoCBXYXJuaW5nOiBDb3VsZCBub3QgcmVh ZCAudmVyc2lvbiB0aHJvdWdoIEZVU0UiCisgICAgZmkKK2Vsc2UKKyAgICBlY2hvICIgIEZVU0Ug bW91bnQgbm90IGF2YWlsYWJsZSBmb3IgaW5kaXJlY3QgSVBDIHRlc3QiCitmaQorCitlY2hvICLi nJMgVW5peCBzb2NrZXQgQVBJIGZ1bmN0aW9uYWwiCitleGl0IDAKZGlmZiAtLWdpdCBhL3NyYy9w bXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvdGVzdHMvaXBjLzAyLWZsb3ctY29udHJvbC5zaCBi L3NyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvdGVzdHMvaXBjLzAyLWZsb3ctY29udHJv bC5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMC4uZDA5M2E1YWQKLS0tIC9k ZXYvbnVsbAorKysgYi9zcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzL3Rlc3RzL2lwYy8w Mi1mbG93LWNvbnRyb2wuc2gKQEAgLTAsMCArMSw4OSBAQAorIyEvYmluL2Jhc2gKKyMgVGVzdDog SVBDIEZsb3cgQ29udHJvbAorIyBWZXJpZnkgd29ya3F1ZXVlIGhhbmRsZXMgY29uY3VycmVudCBy ZXF1ZXN0cyB3aXRob3V0IGRlYWRsb2NrCisKK3NldCAtZQorCisjIFNvdXJjZSBjb21tb24gdGVz dCBjb25maWd1cmF0aW9uCitTQ1JJUFRfRElSPSIkKGNkICIkKGRpcm5hbWUgIiR7QkFTSF9TT1VS Q0VbMF19IikiICYmIHB3ZCkiCitzb3VyY2UgIiRTQ1JJUFRfRElSLy4uL3Rlc3QtY29uZmlnLnNo IgorCitlY2hvICJUZXN0aW5nIElQQyBmbG93IGNvbnRyb2wgbWVjaGFuaXNtLi4uIgorCisjIFZl cmlmeSBwbXhjZnMgaXMgcnVubmluZworaWYgISBwZ3JlcCAteCBwbXhjZnMgPiAvZGV2L251bGw7 IHRoZW4KKyAgICBlY2hvICJFUlJPUjogcG14Y2ZzIGlzIG5vdCBydW5uaW5nIgorICAgIGV4aXQg MQorZmkKK2VjaG8gIuKckyBwbXhjZnMgaXMgcnVubmluZyIKKworIyBWZXJpZnkgSVBDIHNvY2tl dCBleGlzdHMKK2lmICEgZ3JlcCAtcSAiQHB2ZTIiIC9wcm9jL25ldC91bml4IDI+L2Rldi9udWxs OyB0aGVuCisgICAgZWNobyAiRVJST1I6IElQQyBzb2NrZXQgbm90IGZvdW5kIgorICAgIGV4aXQg MQorZmkKK2VjaG8gIuKckyBJUEMgc29ja2V0IGV4aXN0cyIKKworIyBUZXN0IGNvbmN1cnJlbnQg ZmlsZSBvcGVyYXRpb25zIHRvIHBvdGVudGlhbGx5IGZpbGwgdGhlIHdvcmtxdWV1ZQorTU9VTlRf RElSPSIkVEVTVF9NT1VOVF9QQVRIIgorVEVTVF9ESVI9IiRNT1VOVF9ESVIvdGVzdC1mbG93LWNv bnRyb2wtJCQiCisKK2VjaG8gIuKckyBQZXJmb3JtaW5nIHJhcGlkIGZpbGUgb3BlcmF0aW9ucyB0 byB0ZXN0IHdvcmtxdWV1ZSIKKworIyBDcmVhdGUgdGVzdCBkaXJlY3RvcnkKK21rZGlyIC1wICIk VEVTVF9ESVIiIHx8IHsKKyAgICBlY2hvICJFUlJPUjogRmFpbGVkIHRvIGNyZWF0ZSB0ZXN0IGRp cmVjdG9yeSIKKyAgICBleGl0IDEKK30KKworIyBQZXJmb3JtIDIwIHJhcGlkIGZpbGUgb3BlcmF0 aW9ucyBjb25jdXJyZW50bHkKKyMgVGhlIHdvcmtxdWV1ZSBoYXMgY2FwYWNpdHkgOCwgc28gdGhp cyB0ZXN0cyBiYWNrcHJlc3N1cmUgaGFuZGxpbmcKK2VjaG8gIiAgQ3JlYXRpbmcgMjAgdGVzdCBm aWxlcyBjb25jdXJyZW50bHkuLi4iCitmb3IgaSBpbiB7MS4uMjB9OyBkbworICAgIGVjaG8gInRl c3QtZGF0YS0kaSIgPiAiJFRFU1RfRElSL2ZpbGUtJGkudHh0IiAmCitkb25lCit3YWl0CisKKyMg VmVyaWZ5IGFsbCBmaWxlcyB3ZXJlIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5CitGSUxFX0NPVU5UPSQo ZmluZCAiJFRFU1RfRElSIiAtdHlwZSBmIC1uYW1lICJmaWxlLSoudHh0IiAyPi9kZXYvbnVsbCB8 IHdjIC1sKQoraWYgWyAiJEZJTEVfQ09VTlQiIC1uZSAyMCBdOyB0aGVuCisgICAgZWNobyAiRVJS T1I6IEV4cGVjdGVkIDIwIGZpbGVzLCBmb3VuZCAkRklMRV9DT1VOVCIKKyAgICBlY2hvICIgIEZs b3cgY29udHJvbCBtYXkgaGF2ZSBjYXVzZWQgZmFpbHVyZXMiCisgICAgZXhpdCAxCitmaQorZWNo byAi4pyTIEFsbCAyMCBmaWxlcyBjcmVhdGVkIHN1Y2Nlc3NmdWxseSIKKworIyBSZWFkIGJhY2sg YWxsIGZpbGVzIHJhcGlkbHkgdG8gdmVyaWZ5IGludGVncml0eQorZWNobyAiICBSZWFkaW5nIDIw IHRlc3QgZmlsZXMgY29uY3VycmVudGx5Li4uIgorZm9yIGkgaW4gezEuLjIwfTsgZG8KKyAgICBj YXQgIiRURVNUX0RJUi9maWxlLSRpLnR4dCIgPiAvZGV2L251bGwgJgorZG9uZQord2FpdAorZWNo byAi4pyTIEFsbCBmaWxlcyByZWFkYWJsZSIKKworIyBWZXJpZnkgZGF0YSBpbnRlZ3JpdHkKK2Vj aG8gIiAgVmVyaWZ5aW5nIGRhdGEgaW50ZWdyaXR5Li4uIgorQ09SUlVQVF9DT1VOVD0wCitmb3Ig aSBpbiB7MS4uMjB9OyBkbworICAgIENPTlRFTlQ9JChjYXQgIiRURVNUX0RJUi9maWxlLSRpLnR4 dCIgMj4vZGV2L251bGwgfHwgZWNobyAiRVJST1IiKQorICAgIGlmIFsgIiRDT05URU5UIiAhPSAi dGVzdC1kYXRhLSRpIiBdOyB0aGVuCisgICAgICAgIENPUlJVUFRfQ09VTlQ9JCgoQ09SUlVQVF9D T1VOVCArIDEpKQorICAgICAgICBlY2hvICIgIEVSUk9SOiBGaWxlICRpIGNvcnJ1cHRlZDogZXhw ZWN0ZWQgJ3Rlc3QtZGF0YS0kaScsIGdvdCAnJENPTlRFTlQnIgorICAgIGZpCitkb25lCisKK2lm IFsgIiRDT1JSVVBUX0NPVU5UIiAtZ3QgMCBdOyB0aGVuCisgICAgZWNobyAiRVJST1I6IEZvdW5k ICRDT1JSVVBUX0NPVU5UIGNvcnJ1cHRlZCBmaWxlcyIKKyAgICBleGl0IDEKK2ZpCitlY2hvICLi nJMgQWxsIGZpbGVzIGhhdmUgY29ycmVjdCBjb250ZW50IgorCisjIENsZWFudXAKK3JtIC1yZiAi JFRFU1RfRElSIgorCitlY2hvICLinJMgRmxvdyBjb250cm9sIG1lY2hhbmlzbSB0ZXN0IGNvbXBs ZXRlZCIKK2VjaG8gIiAg4oCiIFdvcmtxdWV1ZSBoYW5kbGVkIDIwIGNvbmN1cnJlbnQgb3BlcmF0 aW9ucyIKK2VjaG8gIiAg4oCiIE5vIGRlYWRsb2NrIG9jY3VycmVkIgorZWNobyAiICDigKIgRGF0 YSBpbnRlZ3JpdHkgbWFpbnRhaW5lZCIKKworZXhpdCAwCmRpZmYgLS1naXQgYS9zcmMvcG14Y2Zz LXJzL2ludGVncmF0aW9uLXRlc3RzL3Rlc3RzL2xvY2tzLzAxLWxvY2stbWFuYWdlbWVudC5zaCBi L3NyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvdGVzdHMvbG9ja3MvMDEtbG9jay1tYW5h Z2VtZW50LnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwLi5lNjc1MWRmYwot LS0gL2Rldi9udWxsCisrKyBiL3NyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvdGVzdHMv bG9ja3MvMDEtbG9jay1tYW5hZ2VtZW50LnNoCkBAIC0wLDAgKzEsMTM0IEBACisjIS9iaW4vYmFz aAorIyBUZXN0OiBMb2NrIE1hbmFnZW1lbnQKKyMgVmVyaWZ5IGZpbGUgbG9ja2luZyBmdW5jdGlv bmFsaXR5IGluIG1lbWRiCisKK3NldCAtZQorCisjIFNvdXJjZSBjb21tb24gdGVzdCBjb25maWd1 cmF0aW9uCitTQ1JJUFRfRElSPSIkKGNkICIkKGRpcm5hbWUgIiR7QkFTSF9TT1VSQ0VbMF19Iiki ICYmIHB3ZCkiCitzb3VyY2UgIiRTQ1JJUFRfRElSLy4uL3Rlc3QtY29uZmlnLnNoIgorCitlY2hv ICJUZXN0aW5nIGxvY2sgbWFuYWdlbWVudC4uLiIKKworTU9VTlRfUEFUSD0iJFRFU1RfTU9VTlRf UEFUSCIKK0RCX1BBVEg9IiRURVNUX0RCX1BBVEgiCisKKyMgQ2hlY2sgaWYgbW91bnQgcGF0aCBp cyBhY2Nlc3NpYmxlCitpZiBbICEgLWQgIiRNT1VOVF9QQVRIIiBdOyB0aGVuCisgICAgZWNobyAi RVJST1I6IE1vdW50IHBhdGggbm90IGFjY2Vzc2libGU6ICRNT1VOVF9QQVRIIgorICAgIGV4aXQg MQorZmkKK2VjaG8gIuKckyBNb3VudCBwYXRoIGFjY2Vzc2libGUiCisKKyMgQ3JlYXRlIGEgdGVz dCBkaXJlY3RvcnkgZm9yIGxvY2sgdGVzdGluZworVEVTVF9ESVI9IiRNT1VOVF9QQVRIL3Rlc3Qt bG9ja3MtJCQiCitta2RpciAtcCAiJFRFU1RfRElSIiAyPi9kZXYvbnVsbCB8fCB0cnVlCisKK2lm IFsgLWQgIiRURVNUX0RJUiIgXTsgdGhlbgorICAgIGVjaG8gIuKckyBUZXN0IGRpcmVjdG9yeSBj cmVhdGVkOiAkVEVTVF9ESVIiCisKKyAgICAjIFRlc3QgZmlsZSBjcmVhdGlvbiBmb3IgbG9ja2lu ZworICAgIFRFU1RfRklMRT0iJFRFU1RfRElSL2xvY2t0ZXN0LnR4dCIKKyAgICBpZiBlY2hvICJ0 ZXN0IGRhdGEiID4gIiRURVNUX0ZJTEUiIDI+L2Rldi9udWxsOyB0aGVuCisgICAgICAgIGVjaG8g IuKckyBUZXN0IGZpbGUgY3JlYXRlZCIKKworICAgICAgICAjIFRlc3QgZmlsZSBsb2NraW5nIHVz aW5nIGZsb2NrCisgICAgICAgIGlmIGNvbW1hbmQgLXYgZmxvY2sgJj4gL2Rldi9udWxsOyB0aGVu CisgICAgICAgICAgICBlY2hvICJUZXN0aW5nIGZpbGUgbG9ja2luZyB3aXRoIGZsb2NrLi4uIgor CisgICAgICAgICAgICAjIENyZWF0ZSBhIGxvY2sgYW5kIHZlcmlmeSBpdCB3b3JrcworICAgICAg ICAgICAgKAorICAgICAgICAgICAgICAgIGZsb2NrIC14IDIwMAorICAgICAgICAgICAgICAgIGVj aG8gIkxvY2sgYWNxdWlyZWQiCisgICAgICAgICAgICAgICAgc2xlZXAgMQorICAgICAgICAgICAg KSAyMDA+IiRURVNUX0ZJTEUubG9jayIgMj4vZGV2L251bGwgJiYgZWNobyAi4pyTIEZpbGUgbG9j a2luZyB3b3JrcyIKKworICAgICAgICAgICAgIyBUZXN0IG5vbi1ibG9ja2luZyBsb2NrCisgICAg ICAgICAgICBpZiBmbG9jayAtbiAteCAiJFRFU1RfRklMRS5sb2NrIiAtYyAiZWNobyAnTm9uLWJs b2NraW5nIGxvY2sgd29ya3MnIiAyPi9kZXYvbnVsbDsgdGhlbgorICAgICAgICAgICAgICAgIGVj aG8gIuKckyBOb24tYmxvY2tpbmcgbG9jayB3b3JrcyIKKyAgICAgICAgICAgIGZpCisKKyAgICAg ICAgICAgICMgQ2xlYW51cCBsb2NrIGZpbGUKKyAgICAgICAgICAgIHJtIC1mICIkVEVTVF9GSUxF LmxvY2siCisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGVjaG8gIuKaoCBXYXJuaW5nOiBmbG9j ayBub3QgYXZhaWxhYmxlLCBza2lwcGluZyBmbG9jayB0ZXN0cyIKKyAgICAgICAgZmkKKworICAg ICAgICAjIFRlc3QgY29uY3VycmVudCBhY2Nlc3MgKGJhc2ljKQorICAgICAgICBlY2hvICJUZXN0 aW5nIGNvbmN1cnJlbnQgZmlsZSBhY2Nlc3MuLi4iCisgICAgICAgIGlmICgKKyAgICAgICAgICAg ICMgV3JpdGUgdG8gZmlsZSBmcm9tIHN1YnNoZWxsCisgICAgICAgICAgICBlY2hvICJjb25jdXJy ZW50IHdyaXRlIDEiID4+ICIkVEVTVF9GSUxFIgorICAgICAgICApIDI+L2Rldi9udWxsICYmICgK KyAgICAgICAgICAgICMgV3JpdGUgdG8gZmlsZSBmcm9tIGFub3RoZXIgc3Vic2hlbGwKKyAgICAg ICAgICAgIGVjaG8gImNvbmN1cnJlbnQgd3JpdGUgMiIgPj4gIiRURVNUX0ZJTEUiCisgICAgICAg ICkgMj4vZGV2L251bGw7IHRoZW4KKyAgICAgICAgICAgIGVjaG8gIuKckyBDb25jdXJyZW50IHdy aXRlcyB3b3JrIgorCisgICAgICAgICAgICAjIFZlcmlmeSBib3RoIHdyaXRlcyBtYWRlIGl0Cisg ICAgICAgICAgICBMSU5FX0NPVU5UPSQod2MgLWwgPCAiJFRFU1RfRklMRSIpCisgICAgICAgICAg ICBpZiBbICIkTElORV9DT1VOVCIgLWdlIDMgXTsgdGhlbgorICAgICAgICAgICAgICAgIGVjaG8g IuKckyBEYXRhIGludGVncml0eSBtYWludGFpbmVkIgorICAgICAgICAgICAgZmkKKyAgICAgICAg ZmkKKworICAgICAgICAjIENsZWFudXAgdGVzdCBmaWxlCisgICAgICAgIHJtIC1mICIkVEVTVF9G SUxFIgorICAgIGVsc2UKKyAgICAgICAgZWNobyAi4pqgIFdhcm5pbmc6IENhbm5vdCBjcmVhdGUg dGVzdCBmaWxlIChtYXkgYmUgcmVhZC1vbmx5KSIKKyAgICBmaQorCisgICAgIyBDbGVhbnVwIHRl c3QgZGlyZWN0b3J5CisgICAgcm1kaXIgIiRURVNUX0RJUiIgMj4vZGV2L251bGwgfHwgcm0gLXJm ICIkVEVTVF9ESVIiIDI+L2Rldi9udWxsIHx8IHRydWUKK2Vsc2UKKyAgICBlY2hvICLimqAgV2Fy bmluZzogQ2Fubm90IGNyZWF0ZSB0ZXN0IGRpcmVjdG9yeSIKK2ZpCisKKyMgQ2hlY2sgZGF0YWJh c2UgZm9yIGxvY2stcmVsYXRlZCB0YWJsZXMgKGlmIHNxbGl0ZTMgYXZhaWxhYmxlKQoraWYgY29t bWFuZCAtdiBzcWxpdGUzICY+IC9kZXYvbnVsbCAmJiBbIC1yICIkREJfUEFUSCIgXTsgdGhlbgor ICAgIGVjaG8gIkNoZWNraW5nIGRhdGFiYXNlIGZvciBsb2NrIGluZm9ybWF0aW9uLi4uIgorCisg ICAgIyBDaGVjayBmb3IgbG9jay1yZWxhdGVkIGNvbHVtbnMgaW4gdHJlZSB0YWJsZQorICAgIGlm IHNxbGl0ZTMgIiREQl9QQVRIIiAiUFJBR01BIHRhYmxlX2luZm8odHJlZSk7IiAyPi9kZXYvbnVs bCB8IGdyZXAgLXFpICJ3cml0ZXJcfGxvY2siOyB0aGVuCisgICAgICAgIGVjaG8gIuKckyBEYXRh YmFzZSBoYXMgbG9jay1yZWxhdGVkIGNvbHVtbnMiCisgICAgZWxzZQorICAgICAgICBlY2hvICIg IE5vIGV4cGxpY2l0IGxvY2sgY29sdW1ucyBmb3VuZCAobG9ja3MgbWF5IGJlIGluLW1lbW9yeSki CisgICAgZmkKKworICAgICMgQ2hlY2sgZm9yIGFueSBsb2NrZWQgZW50cmllcworICAgIExPQ0tf Q09VTlQ9JChzcWxpdGUzICIkREJfUEFUSCIgIlNFTEVDVCBDT1VOVCgqKSBGUk9NIHRyZWUgV0hF UkUgd3JpdGVyIElTIE5PVCBOVUxMOyIgMj4vZGV2L251bGwgfHwgZWNobyAiMCIpCisgICAgaWYg WyAiJExPQ0tfQ09VTlQiIC1ndCAwIF07IHRoZW4KKyAgICAgICAgZWNobyAiICBGb3VuZCAkTE9D S19DT1VOVCBsb2NrZWQgZW50cmllcyIKKyAgICBlbHNlCisgICAgICAgIGVjaG8gIiAgTm8gY3Vy cmVudGx5IGxvY2tlZCBlbnRyaWVzIgorICAgIGZpCitmaQorCisjIFRlc3QgcG14Y2ZzLXNwZWNp ZmljIGxvY2tpbmcgYmVoYXZpb3IKK2VjaG8gIlRlc3RpbmcgcG14Y2ZzIGxvY2sgYmVoYXZpb3Iu Li4iCisKKyMgcG14Y2ZzIHVzZXMgd3JpdGVyIGZpZWxkIGFuZCB0aW1lc3RhbXBzIGZvciBsb2Nr IG1hbmFnZW1lbnQKKyMgTG9ja3MgZXhwaXJlIGFmdGVyIDEyMCBzZWNvbmRzIGJ5IGRlZmF1bHQK K2VjaG8gIiAgTG9jayBleHBpcmF0aW9uIHRpbWVvdXQ6IDEyMCBzZWNvbmRzIChhcyBwZXIgcG14 Y2ZzLW1lbWRiIGRvY3MpIgorZWNobyAiICBMb2NrIHVwZGF0ZXMgaGFwcGVuIGV2ZXJ5IDEwIHNl Y29uZHMgKGFzIHBlciBwbXhjZnMtbWVtZGIgZG9jcykiCisKKyMgQ3JlYXRlIGEgZmlsZSB0aGF0 IG1pZ2h0IHRyaWdnZXIgbG9jayBtZWNoYW5pc21zCitMT0NLX1RFU1RfRklMRT0iJE1PVU5UX1BB VEgvdGVzdC1sb2NrLWJlaGF2aW9yLnRtcCIKK2lmIGVjaG8gImxvY2sgdGVzdCIgPiAiJExPQ0tf VEVTVF9GSUxFIiAyPi9kZXYvbnVsbDsgdGhlbgorICAgIGVjaG8gIuKckyBDcmVhdGVkIGxvY2sg dGVzdCBmaWxlIgorCisgICAgIyBJbW1lZGlhdGUgcmVhZC1iYWNrIHNob3VsZCB3b3JrCisgICAg aWYgY2F0ICIkTE9DS19URVNUX0ZJTEUiID4gL2Rldi9udWxsIDI+JjE7IHRoZW4KKyAgICAgICAg ZWNobyAi4pyTIEZpbGUgaW1tZWRpYXRlbHkgcmVhZGFibGUgYWZ0ZXIgd3JpdGUiCisgICAgZmkK KworICAgICMgQ2xlYW51cAorICAgIHJtIC1mICIkTE9DS19URVNUX0ZJTEUiCitmaQorCitlY2hv ICLinJMgTG9jayBtYW5hZ2VtZW50IHRlc3QgY29tcGxldGVkIgorZWNobyAiIgorZWNobyAiTm90 ZTogQWR2YW5jZWQgbG9jayB0ZXN0aW5nIChleHBpcmF0aW9uLCBjb25jdXJyZW50IGFjY2VzcyBm cm9tIG11bHRpcGxlIG5vZGVzKSIKK2VjaG8gIiAgICAgIHJlcXVpcmVzIG11bHRpLW5vZGUgY2x1 c3RlciBlbnZpcm9ubWVudC4gU2VlIGNsdXN0ZXIvIHRlc3RzLiIKKworZXhpdCAwCmRpZmYgLS1n aXQgYS9zcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzL3Rlc3RzL2xvZ2dlci8wMS1jbHVz dGVybG9nLWJhc2ljLnNoIGIvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0cy9s b2dnZXIvMDEtY2x1c3RlcmxvZy1iYXNpYy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAw MDAwMDAwMC4uZjViZWZmYzkKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvcG14Y2ZzLXJzL2ludGVn cmF0aW9uLXRlc3RzL3Rlc3RzL2xvZ2dlci8wMS1jbHVzdGVybG9nLWJhc2ljLnNoCkBAIC0wLDAg KzEsMTE5IEBACisjIS9iaW4vYmFzaAorIyBUZXN0OiBDbHVzdGVyTG9nIEJhc2ljIEZ1bmN0aW9u YWxpdHkKKyMgVmVyaWZ5IGNsdXN0ZXIgbG9nIHN0b3JhZ2UgYW5kIHJldHJpZXZhbAorCitzZXQg LWUKKworIyBTb3VyY2UgY29tbW9uIHRlc3QgY29uZmlndXJhdGlvbgorU0NSSVBUX0RJUj0iJChj ZCAiJChkaXJuYW1lICIke0JBU0hfU09VUkNFWzBdfSIpIiAmJiBwd2QpIgorc291cmNlICIkU0NS SVBUX0RJUi8uLi90ZXN0LWNvbmZpZy5zaCIKKworZWNobyAiVGVzdGluZyBjbHVzdGVyIGxvZyBm dW5jdGlvbmFsaXR5Li4uIgorCitNT1VOVF9QQVRIPSIkVEVTVF9NT1VOVF9QQVRIIgorQ0xVU1RF UkxPR19GSUxFPSIkTU9VTlRfUEFUSC8uY2x1c3RlcmxvZyIKKworIyBDaGVjayBpZiBtb3VudCBw YXRoIGlzIGFjY2Vzc2libGUKK2lmIFsgISAtZCAiJE1PVU5UX1BBVEgiIF07IHRoZW4KKyAgICBl Y2hvICJFUlJPUjogTW91bnQgcGF0aCBub3QgYWNjZXNzaWJsZTogJE1PVU5UX1BBVEgiCisgICAg ZXhpdCAxCitmaQorZWNobyAi4pyTIE1vdW50IHBhdGggYWNjZXNzaWJsZSIKKworIyBUZXN0IC5j bHVzdGVybG9nIHBsdWdpbiBmaWxlCitpZiBbIC1lICIkQ0xVU1RFUkxPR19GSUxFIiBdOyB0aGVu CisgICAgZWNobyAi4pyTIC5jbHVzdGVybG9nIHBsdWdpbiBmaWxlIGV4aXN0cyIKKworICAgICMg VHJ5IHRvIHJlYWQgY2x1c3RlciBsb2cKKyAgICBpZiBDTFVTVEVSTE9HX0NPTlRFTlQ9JChjYXQg IiRDTFVTVEVSTE9HX0ZJTEUiIDI+L2Rldi9udWxsKTsgdGhlbgorICAgICAgICBlY2hvICLinJMg LmNsdXN0ZXJsb2cgZmlsZSByZWFkYWJsZSIKKworICAgICAgICBDT05URU5UX0xFTj0keyNDTFVT VEVSTE9HX0NPTlRFTlR9CisgICAgICAgIGVjaG8gIiAgQ29udGVudCBsZW5ndGg6ICRDT05URU5U X0xFTiBieXRlcyIKKworICAgICAgICBpZiBbICIkQ09OVEVOVF9MRU4iIC1ndCAwIF07IHRoZW4K KyAgICAgICAgICAgICMgQ2hlY2sgaWYgY29udGVudCBpcyBKU09OIChleHBlY3RlZCBmb3JtYXQp CisgICAgICAgICAgICBpZiBlY2hvICIkQ0xVU1RFUkxPR19DT05URU5UIiB8IGpxIC4gPiAvZGV2 L251bGwgMj4mMTsgdGhlbgorICAgICAgICAgICAgICAgIGVjaG8gIuKckyBDbHVzdGVyIGxvZyBp cyB2YWxpZCBKU09OIgorCisgICAgICAgICAgICAgICAgIyBDaGVjayBzdHJ1Y3R1cmU6IHNob3Vs ZCBiZSBvYmplY3Qgd2l0aCAnZGF0YScgYXJyYXkKKyAgICAgICAgICAgICAgICBpZiBlY2hvICIk Q0xVU1RFUkxPR19DT05URU5UIiB8IGpxIC1lICd0eXBlID09ICJvYmplY3QiJyA+IC9kZXYvbnVs bCAyPiYxOyB0aGVuCisgICAgICAgICAgICAgICAgICAgIGVjaG8gIuKckyBKU09OIGlzIGFuIG9i amVjdCIKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIGVjaG8gIuKa oCBKU09OIGlzIG5vdCBhbiBvYmplY3QgKGV4cGVjdGVkIHtcImRhdGFcIjogWy4uLl19KSIKKyAg ICAgICAgICAgICAgICBmaQorCisgICAgICAgICAgICAgICAgaWYgZWNobyAiJENMVVNURVJMT0df Q09OVEVOVCIgfCBqcSAtZSAnaGFzKCJkYXRhIiknID4gL2Rldi9udWxsIDI+JjE7IHRoZW4KKyAg ICAgICAgICAgICAgICAgICAgZWNobyAi4pyTIEpTT04gaGFzICdkYXRhJyBmaWVsZCIKKyAgICAg ICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIGVjaG8gIuKaoCBKU09OIG1pc3Np bmcgJ2RhdGEnIGZpZWxkIgorICAgICAgICAgICAgICAgIGZpCisKKyAgICAgICAgICAgICAgICAj IENvdW50IGxvZyBlbnRyaWVzIGluIGRhdGEgYXJyYXkKKyAgICAgICAgICAgICAgICBFTlRSWV9D T1VOVD0kKGVjaG8gIiRDTFVTVEVSTE9HX0NPTlRFTlQiIHwganEgJy5kYXRhIHwgbGVuZ3RoJyAy Pi9kZXYvbnVsbCB8fCBlY2hvICIwIikKKyAgICAgICAgICAgICAgICBlY2hvICIgIExvZyBlbnRy aWVzOiAkRU5UUllfQ09VTlQiCisKKyAgICAgICAgICAgICAgICAjIElmIHdlIGhhdmUgZW50cmll cywgdmFsaWRhdGUgc3RydWN0dXJlCisgICAgICAgICAgICAgICAgaWYgWyAiJEVOVFJZX0NPVU5U IiAtZ3QgMCBdOyB0aGVuCisgICAgICAgICAgICAgICAgICAgIGVjaG8gIiAgVmFsaWRhdGluZyBs b2cgZW50cnkgc3RydWN0dXJlLi4uIgorCisgICAgICAgICAgICAgICAgICAgICMgQ2hlY2sgZmly c3QgZW50cnkgaGFzIGV4cGVjdGVkIGZpZWxkcworICAgICAgICAgICAgICAgICAgICBGSVJTVF9F TlRSWT0kKGVjaG8gIiRDTFVTVEVSTE9HX0NPTlRFTlQiIHwganEgJy5kYXRhWzBdJyAyPi9kZXYv bnVsbCkKKworICAgICAgICAgICAgICAgICAgICAjIEV4cGVjdGVkIGZpZWxkczogdGltZSwgbm9k ZSwgcHJpLCBpZGVudCwgdGFnLCBtc2cKKyAgICAgICAgICAgICAgICAgICAgZm9yIGZpZWxkIGlu IHRpbWUgbm9kZSBwcmkgaWRlbnQgdGFnIG1zZzsgZG8KKyAgICAgICAgICAgICAgICAgICAgICAg IGlmIGVjaG8gIiRGSVJTVF9FTlRSWSIgfCBqcSAtZSAiLiRmaWVsZCIgPiAvZGV2L251bGwgMj4m MTsgdGhlbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gIiAgICDinJMgRmllbGQg JyRmaWVsZCcgcHJlc2VudCIKKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICBlY2hvICIgICAg4pqgIEZpZWxkICckZmllbGQnIG1pc3Npbmci CisgICAgICAgICAgICAgICAgICAgICAgICBmaQorICAgICAgICAgICAgICAgICAgICBkb25lCisg ICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBlY2hvICIgIE5vIGxvZyBl bnRyaWVzIHlldCAoZXhwZWN0ZWQgZm9yIG5ldyBpbnN0YWxsYXRpb24pIgorICAgICAgICAgICAg ICAgIGZpCisgICAgICAgICAgICBlbGlmIGNvbW1hbmQgLXYganEgJj4gL2Rldi9udWxsOyB0aGVu CisgICAgICAgICAgICAgICAgZWNobyAi4pqgIENsdXN0ZXIgbG9nIGNvbnRlbnQgaXMgbm90IEpT T04iCisgICAgICAgICAgICAgICAgZWNobyAiICBGaXJzdCAxMDAgY2hhcnM6ICR7Q0xVU1RFUkxP R19DT05URU5UOjA6MTAwfSIKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBlY2hv ICIgIGpxIG5vdCBhdmFpbGFibGUsIGNhbm5vdCB2YWxpZGF0ZSBKU09OIGZvcm1hdCIKKyAgICAg ICAgICAgICAgICBlY2hvICIgIENvbnRlbnQgcHJldmlldzogJHtDTFVTVEVSTE9HX0NPTlRFTlQ6 MDoxMDB9IgorICAgICAgICAgICAgZmkKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgZWNobyAi ICBDbHVzdGVyIGxvZyBpcyBlbXB0eSAobm8gZXZlbnRzIGxvZ2dlZCB5ZXQpIgorICAgICAgICBm aQorICAgIGVsc2UKKyAgICAgICAgZWNobyAiRVJST1I6IENhbm5vdCByZWFkIC5jbHVzdGVybG9n IGZpbGUiCisgICAgICAgIGV4aXQgMQorICAgIGZpCitlbHNlCisgICAgZWNobyAi4pqgIFdhcm5p bmc6IC5jbHVzdGVybG9nIHBsdWdpbiBub3QgYXZhaWxhYmxlIgorICAgIGVjaG8gIiAgVGhpcyBt YXkgaW5kaWNhdGUgcG14Y2ZzIGlzIG5vdCBmdWxseSBpbml0aWFsaXplZCIKK2ZpCisKKyMgVGVz dCBjbHVzdGVyIGxvZyBjaGFyYWN0ZXJpc3RpY3MKK2VjaG8gIiIKK2VjaG8gIkNsdXN0ZXIgbG9n IGNoYXJhY3RlcmlzdGljcyAoZnJvbSBwbXhjZnMtY2x1c3RlcmxvZyBSRUFETUUpOiIKK2VjaG8g IiAgLSBSaW5nIGJ1ZmZlciBzaXplOiA1MDAwIGVudHJpZXMiCitlY2hvICIgIC0gRGVkdXBsaWNh dGlvbjogRk5WLTFhIGhhc2ggKDggYnl0ZXMpIgorZWNobyAiICAtIERlZHVwIHdpbmRvdzogMTI4 IGVudHJpZXMiCitlY2hvICIgIC0gRm9ybWF0OiBKU09OIGFycmF5IgorZWNobyAiICAtIEZpZWxk czogdGltZSwgbm9kZSwgcHJpLCBpZGVudCwgdGFnLCBtc2ciCisKKyMgQ2hlY2sgaWYgd2UgY2Fu IHdyaXRlIHRvIGNsdXN0ZXIgbG9nIChyZXF1aXJlcyBJUEMpCisjIFRoaXMgd291bGQgdHlwaWNh bGx5IGJlIGRvbmUgdmlhIHB2ZXNoIG9yIHB2ZWNtIGNvbW1hbmRzCitpZiBjb21tYW5kIC12IHB2 ZWNtICY+IC9kZXYvbnVsbDsgdGhlbgorICAgIGVjaG8gIiIKKyAgICBlY2hvICJUZXN0aW5nIGNs dXN0ZXIgbG9nIHdyaXRlIHZpYSBwdmVjbS4uLiIKKworICAgICMgVHJ5IHRvIGxvZyBhIHRlc3Qg bWVzc2FnZSAocmVxdWlyZXMgcnVubmluZyBjbHVzdGVyKQorICAgIGlmIHB2ZWNtIHN0YXR1cyAy Pi9kZXYvbnVsbCB8IGdyZXAgLXEgIlF1b3J1bSBpbmZvcm1hdGlvbiI7IHRoZW4KKyAgICAgICAg ZWNobyAiICBDbHVzdGVyIGlzIGFjdGl2ZSwgbG9nIHdyaXRlcyBhdmFpbGFibGUiCisgICAgICAg ICMgRG9uJ3QgYWN0dWFsbHkgd3JpdGUgLSBqdXN0IG5vdGUgY2FwYWJpbGl0eQorICAgIGVsc2UK KyAgICAgICAgZWNobyAiICBDbHVzdGVyIG5vdCBhY3RpdmUsIHdyaXRlIHRlc3RzIHNraXBwZWQi CisgICAgZmkKK2ZpCisKK2VjaG8gIiIKK2VjaG8gIuKckyBDbHVzdGVyIGxvZyBiYXNpYyB0ZXN0 IGNvbXBsZXRlZCIKK2V4aXQgMApkaWZmIC0tZ2l0IGEvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlv bi10ZXN0cy90ZXN0cy9sb2dnZXIvUkVBRE1FLm1kIGIvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlv bi10ZXN0cy90ZXN0cy9sb2dnZXIvUkVBRE1FLm1kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwLi5jOGFlMzVjZAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9wbXhjZnMtcnMvaW50 ZWdyYXRpb24tdGVzdHMvdGVzdHMvbG9nZ2VyL1JFQURNRS5tZApAQCAtMCwwICsxLDU0IEBACisj IExvZ2dlciBJbnRlZ3JhdGlvbiBUZXN0cworCitJbnRlZ3JhdGlvbiB0ZXN0cyBmb3IgY2x1c3Rl ciBsb2cgc3luY2hyb25pemF0aW9uIGZlYXR1cmUuCisKKyMjIFRlc3QgRmlsZXMKKworIyMjIGAw MS1jbHVzdGVybG9nLWJhc2ljLnNoYAorU2luZ2xlLW5vZGUgY2x1c3RlciBsb2cgZnVuY3Rpb25h bGl0eToKKy0gVmVyaWZpZXMgYC5jbHVzdGVybG9nYCBwbHVnaW4gZmlsZSBleGlzdHMKKy0gVmFs aWRhdGVzIEpTT04gZm9ybWF0IGFuZCByZXF1aXJlZCBmaWVsZHMKKworIyMjIGAwMi1tdWx0aW5v ZGUtc3luYy5zaGAKK011bHRpLW5vZGUgc3luY2hyb25pemF0aW9uIChSdXN0LW9ubHkgY2x1c3Rl cik6CistIFZlcmlmaWVzIGVudHJ5IGNvdW50cyBhcmUgY29uc2lzdGVudCBhY3Jvc3Mgbm9kZXMK Ky0gQ2hlY2tzIGRlZHVwbGljYXRpb24gaXMgd29ya2luZworLSBWYWxpZGF0ZXMgREZTTSBzdGF0 ZSBzeW5jaHJvbml6YXRpb24KKworIyMjIGAwMy1iaW5hcnktZm9ybWF0LXN5bmMuc2hgCitCaW5h cnkgZm9ybWF0IHNlcmlhbGl6YXRpb24gdmVyaWZpY2F0aW9uOgorLSBWZXJpZmllcyBSdXN0IG5v ZGVzIHVzZSBiaW5hcnkgZm9ybWF0IGZvciBERlNNIHN0YXRlIHN5bmMKKy0gVmFsaWRhdGVzIHNl cmlhbGl6YXRpb24gYW5kIGRlc2VyaWFsaXphdGlvbiBvcGVyYXRpb25zCistIENoZWNrcyBmb3Ig ZGF0YSBjb3JydXB0aW9uCisKKyMjIFByZXJlcXVpc2l0ZXMKKworQnVpbGQgdGhlIFJ1c3QgYmlu YXJ5OgorYGBgYmFzaAorY2Qgc3JjL3BteGNmcy1ycworY2FyZ28gYnVpbGQgLS1yZWxlYXNlCitg YGAKKworIyMgUnVubmluZyBUZXN0cworCisjIyMgU2luZ2xlIE5vZGUgVGVzdAorYGBgYmFzaAor Y2QgaW50ZWdyYXRpb24tdGVzdHMKKy4vdGVzdCBsb2dnZXIKK2BgYAorCisjIyMgTXVsdGktTm9k ZSBDbHVzdGVyIFRlc3QKK2BgYGJhc2gKK2NkIGludGVncmF0aW9uLXRlc3RzCisuL3Rlc3QgLS1j bHVzdGVyCitgYGAKKworIyMgRXh0ZXJuYWwgRGVwZW5kZW5jaWVzCisKKy0gKipEb2NrZXIvUG9k bWFuKio6IENvbnRhaW5lciBydW50aW1lIGZvciBtdWx0aS1ub2RlIHRlc3RpbmcKKy0gKipDb3Jv c3luYyoqOiBDbHVzdGVyIGNvbW11bmljYXRpb24gKHZpYSBkb2NrZXItY29tcG9zZSBzZXR1cCkK KworIyMgUmVmZXJlbmNlcworCistIE1haW4gaW50ZWdyYXRpb24gdGVzdHM6IGAuLi8uLi9SRUFE TUUubWRgCistIFRlc3QgcnVubmVyOiBgLi4vLi4vdGVzdGAKZGlmZiAtLWdpdCBhL3NyYy9wbXhj ZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvdGVzdHMvbWVtZGIvMDEtYWNjZXNzLnNoIGIvc3JjL3Bt eGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0cy9tZW1kYi8wMS1hY2Nlc3Muc2gKbmV3IGZp bGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAuLjgwMjI5Y2JjCi0tLSAvZGV2L251bGwKKysr IGIvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0cy9tZW1kYi8wMS1hY2Nlc3Mu c2gKQEAgLTAsMCArMSwxMDMgQEAKKyMhL2Jpbi9iYXNoCisjIFRlc3Q6IERhdGFiYXNlIEFjY2Vz cworIyBWZXJpZnkgZGF0YWJhc2UgaXMgYWNjZXNzaWJsZSBhbmQgZnVuY3Rpb25hbAorCitzZXQg LWUKKworIyBTb3VyY2UgY29tbW9uIHRlc3QgY29uZmlndXJhdGlvbgorU0NSSVBUX0RJUj0iJChj ZCAiJChkaXJuYW1lICIke0JBU0hfU09VUkNFWzBdfSIpIiAmJiBwd2QpIgorc291cmNlICIkU0NS SVBUX0RJUi8uLi90ZXN0LWNvbmZpZy5zaCIKKworZWNobyAiVGVzdGluZyBkYXRhYmFzZSBhY2Nl c3MuLi4iCisKK0RCX1BBVEg9IiRURVNUX0RCX1BBVEgiCisKKyMgQ2hlY2sgZGF0YWJhc2UgZXhp c3RzIGFuZCBpcyByZWFkYWJsZQoraWYgWyAhIC1yICIkREJfUEFUSCIgXTsgdGhlbgorICAgIGVj aG8gIkVSUk9SOiBEYXRhYmFzZSBub3QgcmVhZGFibGU6ICREQl9QQVRIIgorICAgIGV4aXQgMQor ZmkKK2VjaG8gIuKckyBEYXRhYmFzZSBpcyByZWFkYWJsZSIKKworIyBDaGVjayBkYXRhYmFzZSBz aXplCitEQl9TSVpFPSQoc3RhdCAtYyAlcyAiJERCX1BBVEgiKQoraWYgWyAiJERCX1NJWkUiIC1s dCAxMDAgXTsgdGhlbgorICAgIGVjaG8gIkVSUk9SOiBEYXRhYmFzZSB0b28gc21hbGwgKCREQl9T SVpFIGJ5dGVzKSwgbGlrZWx5IGNvcnJ1cHRlZCIKKyAgICBleGl0IDEKK2ZpCitlY2hvICLinJMg RGF0YWJhc2Ugc2l6ZTogJERCX1NJWkUgYnl0ZXMiCisKKyMgSWYgc3FsaXRlMyBpcyBhdmFpbGFi bGUsIGNoZWNrIGRhdGFiYXNlIGludGVncml0eQoraWYgY29tbWFuZCAtdiBzcWxpdGUzICY+IC9k ZXYvbnVsbDsgdGhlbgorICAgIGVjaG8gIkNoZWNraW5nIGRhdGFiYXNlIGludGVncml0eS4uLiIK KworICAgIGlmICEgc3FsaXRlMyAiJERCX1BBVEgiICJQUkFHTUEgaW50ZWdyaXR5X2NoZWNrOyIg fCBncmVwIC1xICJvayI7IHRoZW4KKyAgICAgICAgZWNobyAiRVJST1I6IERhdGFiYXNlIGludGVn cml0eSBjaGVjayBmYWlsZWQiCisgICAgICAgIHNxbGl0ZTMgIiREQl9QQVRIIiAiUFJBR01BIGlu dGVncml0eV9jaGVjazsiCisgICAgICAgIGV4aXQgMQorICAgIGZpCisgICAgZWNobyAi4pyTIERh dGFiYXNlIGludGVncml0eSBjaGVjayBwYXNzZWQiCisKKyAgICAjIENoZWNrIGZvciBleHBlY3Rl ZCB0YWJsZXMgKGlmIGFueSBleGlzdCkKKyAgICBUQUJMRVM9JChzcWxpdGUzICIkREJfUEFUSCIg IlNFTEVDVCBuYW1lIEZST00gc3FsaXRlX21hc3RlciBXSEVSRSB0eXBlPSd0YWJsZSc7IikKKyAg ICBpZiBbIC1uICIkVEFCTEVTIiBdOyB0aGVuCisgICAgICAgIGVjaG8gIuKckyBEYXRhYmFzZSB0 YWJsZXMgZm91bmQ6IgorICAgICAgICBlY2hvICIkVEFCTEVTIiB8IHNlZCAncy9eLyAgICAvJwor ICAgIGVsc2UKKyAgICAgICAgZWNobyAiICBObyB0YWJsZXMgaW4gZGF0YWJhc2UgKG1heSBiZSBu ZXcvZW1wdHkpIgorICAgIGZpCitlbHNlCisgICAgZWNobyAiICBzcWxpdGUzIG5vdCBhdmFpbGFi bGUsIHNraXBwaW5nIGRldGFpbGVkIGNoZWNrcyIKK2ZpCisKKyMgQ2hlY2sgZGF0YWJhc2UgZmls ZSBwZXJtaXNzaW9ucworREJfUEVSTVM9JChzdGF0IC1jICIlYSIgIiREQl9QQVRIIikKK2VjaG8g IiAgRGF0YWJhc2UgcGVybWlzc2lvbnM6ICREQl9QRVJNUyIKKworIyBDUklUSUNBTCBURVNUOiBW ZXJpZnkgcG14Y2ZzIGFjdHVhbGx5IHVzZXMgdGhlIGRhdGFiYXNlIGJ5IHdyaXRpbmcgdGhyb3Vn aCBGVVNFCitlY2hvICJUZXN0aW5nIGRhdGFiYXNlIHJlYWQvd3JpdGUgdGhyb3VnaCBwbXhjZnMu Li4iCisKK01PVU5UX1BBVEg9IiRURVNUX01PVU5UX1BBVEgiCitURVNUX0ZJTEU9IiQobWFrZV90 ZXN0X2ZpbGUgbWVtZGIpIgorVEVTVF9DT05URU5UPSJtZW1kYi10ZXN0LWRhdGEtJChkYXRlICsl cykiCisKKyMgV3JpdGUgZGF0YSB0aHJvdWdoIEZVU0UgKHNob3VsZCBnbyB0byBkYXRhYmFzZSkK K2lmIGVjaG8gIiRURVNUX0NPTlRFTlQiID4gIiRURVNUX0ZJTEUiIDI+L2Rldi9udWxsOyB0aGVu CisgICAgZWNobyAi4pyTIENyZWF0ZWQgdGVzdCBmaWxlIHRocm91Z2ggRlVTRSIKKworICAgICMg VmVyaWZ5IGZpbGUgYXBwZWFycyBpbiBkYXRhYmFzZSBpZiBzcWxpdGUzIGF2YWlsYWJsZQorICAg IGlmIGNvbW1hbmQgLXYgc3FsaXRlMyAmPiAvZGV2L251bGw7IHRoZW4KKyAgICAgICAgIyBRdWVy eSBkYXRhYmFzZSBmb3IgdGhlIGZpbGUKKyAgICAgICAgREJfRU5UUlk9JChzcWxpdGUzICIkREJf UEFUSCIgIlNFTEVDVCBuYW1lIEZST00gdHJlZSBXSEVSRSBuYW1lIExJS0UgJyVtZW1kYi10ZXN0 JSc7IiAyPi9kZXYvbnVsbCB8fCB0cnVlKQorICAgICAgICBpZiBbIC1uICIkREJfRU5UUlkiIF07 IHRoZW4KKyAgICAgICAgICAgIGVjaG8gIuKckyBGaWxlIGVudHJ5IGZvdW5kIGluIGRhdGFiYXNl IgorICAgICAgICBlbHNlCisgICAgICAgICAgICBlY2hvICLimqAgV2FybmluZzogRmlsZSBub3Qg Zm91bmQgaW4gZGF0YWJhc2UgKG1heSB1c2UgZGlmZmVyZW50IHN0b3JhZ2UpIgorICAgICAgICBm aQorICAgIGZpCisKKyAgICAjIFJlYWQgYmFjayB0aHJvdWdoIEZVU0UKKyAgICBSRUFEX0NPTlRF TlQ9JChjYXQgIiRURVNUX0ZJTEUiIDI+L2Rldi9udWxsIHx8IHRydWUpCisgICAgaWYgWyAiJFJF QURfQ09OVEVOVCIgPSAiJFRFU1RfQ09OVEVOVCIgXTsgdGhlbgorICAgICAgICBlY2hvICLinJMg UmVhZCBiYWNrIGNvcnJlY3QgY29udGVudCB0aHJvdWdoIEZVU0UiCisgICAgZWxzZQorICAgICAg ICBlY2hvICJFUlJPUjogUmVhZCBjb250ZW50IG1pc21hdGNoIgorICAgICAgICBlY2hvICIgIEV4 cGVjdGVkOiAkVEVTVF9DT05URU5UIgorICAgICAgICBlY2hvICIgIEdvdDogJFJFQURfQ09OVEVO VCIKKyAgICAgICAgZXhpdCAxCisgICAgZmkKKworICAgICMgRGVsZXRlIHRocm91Z2ggRlVTRQor ICAgIHJtICIkVEVTVF9GSUxFIiAyPi9kZXYvbnVsbCB8fCB0cnVlCisgICAgaWYgWyAhIC1mICIk VEVTVF9GSUxFIiBdOyB0aGVuCisgICAgICAgIGVjaG8gIuKckyBGaWxlIGRlbGV0ZWQgdGhyb3Vn aCBGVVNFIgorICAgIGVsc2UKKyAgICAgICAgZWNobyAiRVJST1I6IEZpbGUgZGVsZXRpb24gZmFp bGVkIgorICAgICAgICBleGl0IDEKKyAgICBmaQorZWxzZQorICAgIGVjaG8gIuKaoCBXYXJuaW5n OiBDb3VsZCBub3Qgd3JpdGUgdGVzdCBmaWxlIChGVVNFIG1heSBub3QgYmUgd3JpdGFibGUpIgor ZmkKKworZWNobyAi4pyTIERhdGFiYXNlIGFjY2VzcyBmdW5jdGlvbmFsIgorZXhpdCAwCmRpZmYg LS1naXQgYS9zcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzL3Rlc3RzL21peGVkLWNsdXN0 ZXIvMDEtbm9kZS10eXBlcy5zaCBiL3NyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvdGVz dHMvbWl4ZWQtY2x1c3Rlci8wMS1ub2RlLXR5cGVzLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1Cmlu ZGV4IDAwMDAwMDAwLi43ZDMwNTU1YwotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9wbXhjZnMtcnMv aW50ZWdyYXRpb24tdGVzdHMvdGVzdHMvbWl4ZWQtY2x1c3Rlci8wMS1ub2RlLXR5cGVzLnNoCkBA IC0wLDAgKzEsMTM1IEBACisjIS9iaW4vYmFzaAorIyBUZXN0OiBNaXhlZCBDbHVzdGVyIE5vZGUg VHlwZXMKKyMgVmVyaWZ5IHRoYXQgUnVzdCBhbmQgQyBwbXhjZnMgbm9kZXMgYXJlIHJ1bm5pbmcg Y29ycmVjdGx5CisKK3NldCAtZQorCisjIFNvdXJjZSBjb21tb24gdGVzdCBjb25maWd1cmF0aW9u CitTQ1JJUFRfRElSPSIkKGNkICIkKGRpcm5hbWUgIiR7QkFTSF9TT1VSQ0VbMF19IikiICYmIHB3 ZCkiCitzb3VyY2UgIiRTQ1JJUFRfRElSLy4uL3Rlc3QtY29uZmlnLnNoIgorCitlY2hvICJUZXN0 aW5nIG1peGVkIGNsdXN0ZXIgbm9kZSB0eXBlcy4uLiIKKworIyBDaGVjayBpZiB3ZSdyZSBpbiBt dWx0aS1ub2RlIGVudmlyb25tZW50CitpZiBbIC16ICIkTk9ERTFfSVAiIF0gfHwgWyAteiAiJE5P REUyX0lQIiBdIHx8IFsgLXogIiROT0RFM19JUCIgXTsgdGhlbgorICAgIGVjaG8gIkVSUk9SOiBO b2RlIElQIGVudmlyb25tZW50IHZhcmlhYmxlcyBub3Qgc2V0IgorICAgIGVjaG8gIlRoaXMgdGVz dCByZXF1aXJlcyBtdWx0aS1ub2RlIHNldHVwIHdpdGggTk9ERTFfSVAsIE5PREUyX0lQLCBOT0RF M19JUCIKKyAgICBleGl0IDEKK2ZpCisKK2VjaG8gIk1peGVkIGNsdXN0ZXIgZW52aXJvbm1lbnQg ZGV0ZWN0ZWQ6IgorZWNobyAiICBOb2RlMSAoUnVzdCk6ICROT0RFMV9JUCIKK2VjaG8gIiAgTm9k ZTIgKFJ1c3QpOiAkTk9ERTJfSVAiCitlY2hvICIgIE5vZGUzIChDKTogICAgJE5PREUzX0lQIgor ZWNobyAiIgorCisjIERldGVjdCBjb250YWluZXIgcnVudGltZSAocHJlZmVyIGVudmlyb25tZW50 IHZhcmlhYmxlIGZvciBjb25zaXN0ZW5jeSB3aXRoIHRlc3QgcnVubmVyKQoraWYgWyAtbiAiJENP TlRBSU5FUl9DTUQiIF07IHRoZW4KKyAgICAjIFVzZSBDT05UQUlORVJfQ01EIGZyb20gZW52aXJv bm1lbnQgKHNldCBieSB0ZXN0IHJ1bm5lcikKKyAgICA6CitlbGlmIGNvbW1hbmQgLXYgcG9kbWFu ICY+IC9kZXYvbnVsbDsgdGhlbgorICAgIENPTlRBSU5FUl9DTUQ9InBvZG1hbiIKK2VsaWYgY29t bWFuZCAtdiBkb2NrZXIgJj4gL2Rldi9udWxsOyB0aGVuCisgICAgQ09OVEFJTkVSX0NNRD0iZG9j a2VyIgorZWxzZQorICAgIGVjaG8gIkVSUk9SOiBObyBjb250YWluZXIgcnVudGltZSBmb3VuZCAo bmVlZCBkb2NrZXIgb3IgcG9kbWFuKSIKKyAgICBleGl0IDEKK2ZpCisKK2VjaG8gIlVzaW5nIGNv bnRhaW5lciBydW50aW1lOiAkQ09OVEFJTkVSX0NNRCIKK2VjaG8gIiIKKworIyBIZWxwZXIgZnVu Y3Rpb24gdG8gY2hlY2sgcG14Y2ZzIGJpbmFyeSB0eXBlIG9uIGEgbm9kZQorY2hlY2tfbm9kZV90 eXBlKCkgeworICAgIGxvY2FsIGNvbnRhaW5lcl9uYW1lPSQxCisgICAgbG9jYWwgZXhwZWN0ZWRf dHlwZT0kMgorICAgIGxvY2FsIG5vZGVfbmFtZT0kMworCisgICAgZWNobyAiQ2hlY2tpbmcgJG5v ZGVfbmFtZSAoJGNvbnRhaW5lcl9uYW1lKS4uLiIKKworICAgICMgQ2hlY2sgaWYgcG14Y2ZzIGlz IHJ1bm5pbmcKKyAgICBpZiAhICRDT05UQUlORVJfQ01EIGV4ZWMgJGNvbnRhaW5lcl9uYW1lIHBn cmVwIHBteGNmcyA+IC9kZXYvbnVsbCAyPiYxOyB0aGVuCisgICAgICAgIGVjaG8gIiAg4pyXIHBt eGNmcyBub3QgcnVubmluZyBvbiAkbm9kZV9uYW1lIgorICAgICAgICByZXR1cm4gMQorICAgIGZp CisgICAgZWNobyAiICDinJMgcG14Y2ZzIGlzIHJ1bm5pbmciCisKKyAgICAjIEdldCB0aGUgYmlu YXJ5IHBhdGgKKyAgICBsb2NhbCBwbXhjZnNfcGlkPSQoJENPTlRBSU5FUl9DTUQgZXhlYyAkY29u dGFpbmVyX25hbWUgcGdyZXAgcG14Y2ZzIDI+L2Rldi9udWxsIHwgaGVhZCAtMSkKKyAgICBsb2Nh bCBiaW5hcnlfcGF0aD0kKCRDT05UQUlORVJfQ01EIGV4ZWMgJGNvbnRhaW5lcl9uYW1lIHJlYWRs aW5rIC1mIC9wcm9jLyRwbXhjZnNfcGlkL2V4ZSAyPi9kZXYvbnVsbCB8fCBlY2hvICJ1bmtub3du IikKKworICAgIGVjaG8gIiAgQmluYXJ5OiAkYmluYXJ5X3BhdGgiCisKKyAgICAjIENoZWNrIGlm IGl0J3MgdGhlIGV4cGVjdGVkIHR5cGUKKyAgICBpZiBbICIkZXhwZWN0ZWRfdHlwZSIgPSAicnVz dCIgXTsgdGhlbgorICAgICAgICBpZiBlY2hvICIkYmluYXJ5X3BhdGgiIHwgZ3JlcCAtcSAicG14 Y2ZzLXJzIjsgdGhlbgorICAgICAgICAgICAgZWNobyAiICDinJMgUnVubmluZyBSdXN0IHBteGNm cyAoYXMgZXhwZWN0ZWQpIgorICAgICAgICAgICAgcmV0dXJuIDAKKyAgICAgICAgZWxzZQorICAg ICAgICAgICAgZWNobyAiICDinJcgRXhwZWN0ZWQgUnVzdCBiaW5hcnkgYnV0IGZvdW5kOiAkYmlu YXJ5X3BhdGgiCisgICAgICAgICAgICByZXR1cm4gMQorICAgICAgICBmaQorICAgIGVsaWYgWyAi JGV4cGVjdGVkX3R5cGUiID0gImMiIF07IHRoZW4KKyAgICAgICAgIyBDIGJpbmFyeSB3b3VsZCBi ZSBhdCAvd29ya3NwYWNlL3NyYy9wbXhjZnMKKyAgICAgICAgaWYgZWNobyAiJGJpbmFyeV9wYXRo IiB8IGdyZXAgLXEgInNyYy9wbXhjZnMiICYmICEgZWNobyAiJGJpbmFyeV9wYXRoIiB8IGdyZXAg LXEgInBteGNmcy1ycyI7IHRoZW4KKyAgICAgICAgICAgIGVjaG8gIiAg4pyTIFJ1bm5pbmcgQyBw bXhjZnMgKGFzIGV4cGVjdGVkKSIKKyAgICAgICAgICAgIHJldHVybiAwCisgICAgICAgIGVsc2UK KyAgICAgICAgICAgIGVjaG8gIiAg4pyXIEV4cGVjdGVkIEMgYmluYXJ5IGJ1dCBmb3VuZDogJGJp bmFyeV9wYXRoIgorICAgICAgICAgICAgcmV0dXJuIDEKKyAgICAgICAgZmkKKyAgICBlbHNlCisg ICAgICAgIGVjaG8gIiAg4pyXIFVua25vd24gZXhwZWN0ZWQgdHlwZTogJGV4cGVjdGVkX3R5cGUi CisgICAgICAgIHJldHVybiAxCisgICAgZmkKK30KKworIyBIZWxwZXIgZnVuY3Rpb24gdG8gY2hl Y2sgRlVTRSBtb3VudCBvbiBhIG5vZGUKK2NoZWNrX2Z1c2VfbW91bnQoKSB7CisgICAgbG9jYWwg Y29udGFpbmVyX25hbWU9JDEKKyAgICBsb2NhbCBleHBlY3RlZF9tb3VudD0kMgorICAgIGxvY2Fs IG5vZGVfbmFtZT0kMworCisgICAgZWNobyAiQ2hlY2tpbmcgRlVTRSBtb3VudCBvbiAkbm9kZV9u YW1lLi4uIgorCisgICAgIyBDaGVjayBpZiBGVVNFIGlzIG1vdW50ZWQKKyAgICBsb2NhbCBtb3Vu dF9vdXRwdXQ9JCgkQ09OVEFJTkVSX0NNRCBleGVjICRjb250YWluZXJfbmFtZSBtb3VudCB8IGdy ZXAgZnVzZSB8fCBlY2hvICIiKQorCisgICAgaWYgWyAteiAiJG1vdW50X291dHB1dCIgXTsgdGhl bgorICAgICAgICBlY2hvICIgIOKclyBObyBGVVNFIG1vdW50IGZvdW5kIG9uICRub2RlX25hbWUi CisgICAgICAgIHJldHVybiAxCisgICAgZmkKKworICAgIGVjaG8gIiAg4pyTIEZVU0UgbW91bnRl ZDogJG1vdW50X291dHB1dCIKKworICAgICMgVmVyaWZ5IHRoZSBleHBlY3RlZCBtb3VudCBwYXRo IGV4aXN0cworICAgIGlmICRDT05UQUlORVJfQ01EIGV4ZWMgJGNvbnRhaW5lcl9uYW1lIHRlc3Qg LWQgJGV4cGVjdGVkX21vdW50IDI+L2Rldi9udWxsOyB0aGVuCisgICAgICAgIGVjaG8gIiAg4pyT IE1vdW50IHBhdGggYWNjZXNzaWJsZTogJGV4cGVjdGVkX21vdW50IgorICAgICAgICByZXR1cm4g MAorICAgIGVsc2UKKyAgICAgICAgZWNobyAiICDinJcgTW91bnQgcGF0aCBub3QgYWNjZXNzaWJs ZTogJGV4cGVjdGVkX21vdW50IgorICAgICAgICByZXR1cm4gMQorICAgIGZpCit9CisKKyMgVGVz dCBlYWNoIG5vZGUKK2VjaG8gIuKUgeKUgeKUgSBOb2RlIDEgKFJ1c3QpIOKUgeKUgeKUgSIKK2No ZWNrX25vZGVfdHlwZSAicG14Y2ZzLW1peGVkLW5vZGUxIiAicnVzdCIgIm5vZGUxIiB8fCBleGl0 IDEKK2NoZWNrX2Z1c2VfbW91bnQgInBteGNmcy1taXhlZC1ub2RlMSIgIiRURVNUX01PVU5UX1BB VEgiICJub2RlMSIgfHwgZXhpdCAxCitlY2hvICIiCisKK2VjaG8gIuKUgeKUgeKUgSBOb2RlIDIg KFJ1c3QpIOKUgeKUgeKUgSIKK2NoZWNrX25vZGVfdHlwZSAicG14Y2ZzLW1peGVkLW5vZGUyIiAi cnVzdCIgIm5vZGUyIiB8fCBleGl0IDEKK2NoZWNrX2Z1c2VfbW91bnQgInBteGNmcy1taXhlZC1u b2RlMiIgIiRURVNUX01PVU5UX1BBVEgiICJub2RlMiIgfHwgZXhpdCAxCitlY2hvICIiCisKK2Vj aG8gIuKUgeKUgeKUgSBOb2RlIDMgKEMpIOKUgeKUgeKUgSIKK2NoZWNrX25vZGVfdHlwZSAicG14 Y2ZzLW1peGVkLW5vZGUzIiAiYyIgIm5vZGUzIiB8fCBleGl0IDEKK2NoZWNrX2Z1c2VfbW91bnQg InBteGNmcy1taXhlZC1ub2RlMyIgIi9ldGMvcHZlIiAibm9kZTMiIHx8IGV4aXQgMQorZWNobyAi IgorCitlY2hvICLinJMgQWxsIG5vZGVzIHJ1bm5pbmcgd2l0aCBjb3JyZWN0IHBteGNmcyB0eXBl cyIKK2VjaG8gIiAgLSBOb2RlIDE6IFJ1c3QgcG14Y2ZzIgorZWNobyAiICAtIE5vZGUgMjogUnVz dCBwbXhjZnMiCitlY2hvICIgIC0gTm9kZSAzOiBDIHBteGNmcyIKK2V4aXQgMApkaWZmIC0tZ2l0 IGEvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0cy9taXhlZC1jbHVzdGVyLzAy LWZpbGUtc3luYy5zaCBiL3NyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvdGVzdHMvbWl4 ZWQtY2x1c3Rlci8wMi1maWxlLXN5bmMuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAw MDAwMDAuLjhlNWRlNDc1Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL3BteGNmcy1ycy9pbnRlZ3Jh dGlvbi10ZXN0cy90ZXN0cy9taXhlZC1jbHVzdGVyLzAyLWZpbGUtc3luYy5zaApAQCAtMCwwICsx LDE4MCBAQAorIyEvYmluL2Jhc2gKKyMgVGVzdDogTWl4ZWQgQ2x1c3RlciBGaWxlIFN5bmNocm9u aXphdGlvbgorIyBUZXN0IGZpbGUgc3luYyBiZXR3ZWVuIFJ1c3QgYW5kIEMgcG14Y2ZzIG5vZGVz CisKK3NldCAtZQorCisjIFNvdXJjZSBjb21tb24gdGVzdCBjb25maWd1cmF0aW9uCitTQ1JJUFRf RElSPSIkKGNkICIkKGRpcm5hbWUgIiR7QkFTSF9TT1VSQ0VbMF19IikiICYmIHB3ZCkiCitzb3Vy Y2UgIiRTQ1JJUFRfRElSLy4uL3Rlc3QtY29uZmlnLnNoIgorCitlY2hvICJUZXN0aW5nIGZpbGUg c3luY2hyb25pemF0aW9uIGluIG1peGVkIGNsdXN0ZXIuLi4iCisKKyMgQ2hlY2sgaWYgd2UncmUg aW4gbXVsdGktbm9kZSBlbnZpcm9ubWVudAoraWYgWyAteiAiJE5PREUxX0lQIiBdIHx8IFsgLXog IiROT0RFMl9JUCIgXSB8fCBbIC16ICIkTk9ERTNfSVAiIF07IHRoZW4KKyAgICBlY2hvICJFUlJP UjogTm9kZSBJUCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgbm90IHNldCIKKyAgICBlY2hvICJUaGlz IHRlc3QgcmVxdWlyZXMgbXVsdGktbm9kZSBzZXR1cCB3aXRoIE5PREUxX0lQLCBOT0RFMl9JUCwg Tk9ERTNfSVAiCisgICAgZXhpdCAxCitmaQorCitlY2hvICJNaXhlZCBjbHVzdGVyIGVudmlyb25t ZW50OiIKK2VjaG8gIiAgTm9kZTEgKFJ1c3QpOiAkTk9ERTFfSVAiCitlY2hvICIgIE5vZGUyIChS dXN0KTogJE5PREUyX0lQIgorZWNobyAiICBOb2RlMyAoQyk6ICAgICROT0RFM19JUCIKK2VjaG8g IiIKKworIyBEZXRlY3QgY29udGFpbmVyIHJ1bnRpbWUgKHByZWZlciBlbnZpcm9ubWVudCB2YXJp YWJsZSBmb3IgY29uc2lzdGVuY3kgd2l0aCB0ZXN0IHJ1bm5lcikKK2lmIFsgLW4gIiRDT05UQUlO RVJfQ01EIiBdOyB0aGVuCisgICAgIyBVc2UgQ09OVEFJTkVSX0NNRCBmcm9tIGVudmlyb25tZW50 IChzZXQgYnkgdGVzdCBydW5uZXIpCisgICAgOgorZWxpZiBjb21tYW5kIC12IHBvZG1hbiAmPiAv ZGV2L251bGw7IHRoZW4KKyAgICBDT05UQUlORVJfQ01EPSJwb2RtYW4iCitlbGlmIGNvbW1hbmQg LXYgZG9ja2VyICY+IC9kZXYvbnVsbDsgdGhlbgorICAgIENPTlRBSU5FUl9DTUQ9ImRvY2tlciIK K2Vsc2UKKyAgICBlY2hvICJFUlJPUjogTm8gY29udGFpbmVyIHJ1bnRpbWUgZm91bmQgKG5lZWQg ZG9ja2VyIG9yIHBvZG1hbikiCisgICAgZXhpdCAxCitmaQorCisjIEhlbHBlciBmdW5jdGlvbiB0 byBjcmVhdGUgZmlsZSBvbiBhIG5vZGUKK2NyZWF0ZV9maWxlX29uX25vZGUoKSB7CisgICAgbG9j YWwgY29udGFpbmVyX25hbWU9JDEKKyAgICBsb2NhbCBmaWxlX3BhdGg9JDIKKyAgICBsb2NhbCBj b250ZW50PSQzCisgICAgbG9jYWwgbm9kZV9uYW1lPSQ0CisKKyAgICBlY2hvICJDcmVhdGluZyBm aWxlIG9uICRub2RlX25hbWUgKCRjb250YWluZXJfbmFtZSkuLi4iCisgICAgZWNobyAiICBQYXRo OiAkZmlsZV9wYXRoIgorCisgICAgaWYgJENPTlRBSU5FUl9DTUQgZXhlYyAkY29udGFpbmVyX25h bWUgYmFzaCAtYyAiZWNobyAnJGNvbnRlbnQnID4gJGZpbGVfcGF0aCIgMj4vZGV2L251bGw7IHRo ZW4KKyAgICAgICAgZWNobyAiICDinJMgRmlsZSBjcmVhdGVkIgorICAgICAgICByZXR1cm4gMAor ICAgIGVsc2UKKyAgICAgICAgZWNobyAiICDinJcgRmFpbGVkIHRvIGNyZWF0ZSBmaWxlIgorICAg ICAgICByZXR1cm4gMQorICAgIGZpCit9CisKKyMgSGVscGVyIGZ1bmN0aW9uIHRvIGNoZWNrIGZp bGUgb24gYSBub2RlCitjaGVja19maWxlX29uX25vZGUoKSB7CisgICAgbG9jYWwgY29udGFpbmVy X25hbWU9JDEKKyAgICBsb2NhbCBmaWxlX3BhdGg9JDIKKyAgICBsb2NhbCBleHBlY3RlZF9jb250 ZW50PSQzCisgICAgbG9jYWwgbm9kZV9uYW1lPSQ0CisKKyAgICBlY2hvICJDaGVja2luZyBmaWxl IG9uICRub2RlX25hbWUgKCRjb250YWluZXJfbmFtZSkuLi4iCisKKyAgICBpZiAhICRDT05UQUlO RVJfQ01EIGV4ZWMgJGNvbnRhaW5lcl9uYW1lIHRlc3QgLWYgJGZpbGVfcGF0aCAyPi9kZXYvbnVs bDsgdGhlbgorICAgICAgICBlY2hvICIgIOKclyBGaWxlIG5vdCBmb3VuZDogJGZpbGVfcGF0aCIK KyAgICAgICAgcmV0dXJuIDEKKyAgICBmaQorCisgICAgbG9jYWwgY29udGVudD0kKCRDT05UQUlO RVJfQ01EIGV4ZWMgJGNvbnRhaW5lcl9uYW1lIGNhdCAkZmlsZV9wYXRoIDI+L2Rldi9udWxsIHx8 IGVjaG8gIiIpCisKKyAgICBpZiBbICIkY29udGVudCIgPSAiJGV4cGVjdGVkX2NvbnRlbnQiIF07 IHRoZW4KKyAgICAgICAgZWNobyAiICDinJMgRmlsZSBmb3VuZCB3aXRoIGNvcnJlY3QgY29udGVu dCIKKyAgICAgICAgcmV0dXJuIDAKKyAgICBlbHNlCisgICAgICAgIGVjaG8gIiAg4pqgIEZpbGUg Zm91bmQgYnV0IGNvbnRlbnQgZGlmZmVycyIKKyAgICAgICAgZWNobyAiICAgIEV4cGVjdGVkOiAn JGV4cGVjdGVkX2NvbnRlbnQnIgorICAgICAgICBlY2hvICIgICAgR290OiAgICAgICckY29udGVu dCciCisgICAgICAgIHJldHVybiAxCisgICAgZmkKK30KKworIyBIZWxwZXIgZnVuY3Rpb24gdG8g cmVtb3ZlIGZpbGUgb24gYSBub2RlCityZW1vdmVfZmlsZV9vbl9ub2RlKCkgeworICAgIGxvY2Fs IGNvbnRhaW5lcl9uYW1lPSQxCisgICAgbG9jYWwgZmlsZV9wYXRoPSQyCisgICAgbG9jYWwgbm9k ZV9uYW1lPSQzCisKKyAgICAkQ09OVEFJTkVSX0NNRCBleGVjICRjb250YWluZXJfbmFtZSBybSAt ZiAkZmlsZV9wYXRoIDI+L2Rldi9udWxsIHx8IHRydWUKK30KKworIyBUZXN0IDE6IFJ1c3Qg4oaS IFJ1c3Qgc3luYworZWNobyAi4pSB4pSB4pSBIFRlc3QgMTogRmlsZSBzeW5jIGZyb20gUnVzdCAo bm9kZTEpIHRvIFJ1c3QgKG5vZGUyKSDilIHilIHilIEiCitURVNUX0ZJTEVfMT0iL3Rlc3QvcHZl L21peGVkLXN5bmMtcnVzdC10by1ydXN0LSQoZGF0ZSArJXMpLnR4dCIKK1RFU1RfQ09OVEVOVF8x PSJSdXN0IHRvIFJ1c3Qgc3luYyB0ZXN0IgorCitjcmVhdGVfZmlsZV9vbl9ub2RlICJwbXhjZnMt bWl4ZWQtbm9kZTEiICIkVEVTVF9GSUxFXzEiICIkVEVTVF9DT05URU5UXzEiICJub2RlMSIgfHwg ZXhpdCAxCisKK2VjaG8gIldhaXRpbmcgZm9yIGNsdXN0ZXIgc3luYyAoMTBzKS4uLiIKK3NsZWVw IDEwCisKK2lmIGNoZWNrX2ZpbGVfb25fbm9kZSAicG14Y2ZzLW1peGVkLW5vZGUyIiAiJFRFU1Rf RklMRV8xIiAiJFRFU1RfQ09OVEVOVF8xIiAibm9kZTIiOyB0aGVuCisgICAgZWNobyAi4pyTIFJ1 c3Qg4oaSIFJ1c3Qgc3luYyB3b3JrcyIKK2Vsc2UKKyAgICBlY2hvICLinJcgUnVzdCDihpIgUnVz dCBzeW5jIGZhaWxlZCIKKyAgICBleGl0IDEKK2ZpCisKKyMgQ2xlYW51cAorcmVtb3ZlX2ZpbGVf b25fbm9kZSAicG14Y2ZzLW1peGVkLW5vZGUxIiAiJFRFU1RfRklMRV8xIiAibm9kZTEiCitlY2hv ICIiCisKKyMgVGVzdCAyOiBSdXN0IOKGkiBDIHN5bmMKK2VjaG8gIuKUgeKUgeKUgSBUZXN0IDI6 IEZpbGUgc3luYyBmcm9tIFJ1c3QgKG5vZGUxKSB0byBDIChub2RlMykg4pSB4pSB4pSBIgorVEVT VF9GSUxFXzI9Ii90ZXN0L3B2ZS9taXhlZC1zeW5jLXJ1c3QtdG8tYy0kKGRhdGUgKyVzKS50eHQi CitURVNUX0NPTlRFTlRfMj0iUnVzdCB0byBDIHN5bmMgdGVzdCIKKyMgQyBwbXhjZnMgdXNlcyAv ZXRjL3B2ZSBhcyBtb3VudCBwb2ludAorQ19URVNUX0ZJTEVfMj0iL2V0Yy9wdmUvbWl4ZWQtc3lu Yy1ydXN0LXRvLWMtJChkYXRlICslcykudHh0IgorCisjIFVzZSB0aGUgc2FtZSByZWxhdGl2ZSBw YXRoIGJ1dCBkaWZmZXJlbnQgbW91bnQgcG9pbnRzCitSRUxBVElWRV9QQVRIPSJtaXhlZC1zeW5j LXJ1c3QtdG8tYy0kKGRhdGUgKyVzKS50eHQiCitjcmVhdGVfZmlsZV9vbl9ub2RlICJwbXhjZnMt bWl4ZWQtbm9kZTEiICIvdGVzdC9wdmUvJFJFTEFUSVZFX1BBVEgiICIkVEVTVF9DT05URU5UXzIi ICJub2RlMSIgfHwgZXhpdCAxCisKK2VjaG8gIldhaXRpbmcgZm9yIGNsdXN0ZXIgc3luYyAoMTBz KS4uLiIKK3NsZWVwIDEwCisKK2lmIGNoZWNrX2ZpbGVfb25fbm9kZSAicG14Y2ZzLW1peGVkLW5v ZGUzIiAiL2V0Yy9wdmUvJFJFTEFUSVZFX1BBVEgiICIkVEVTVF9DT05URU5UXzIiICJub2RlMyI7 IHRoZW4KKyAgICBlY2hvICLinJMgUnVzdCDihpIgQyBzeW5jIHdvcmtzIgorZWxzZQorICAgIGVj aG8gIuKclyBSdXN0IOKGkiBDIHN5bmMgZmFpbGVkIgorICAgIGV4aXQgMQorZmkKKworIyBDbGVh bnVwCityZW1vdmVfZmlsZV9vbl9ub2RlICJwbXhjZnMtbWl4ZWQtbm9kZTEiICIvdGVzdC9wdmUv JFJFTEFUSVZFX1BBVEgiICJub2RlMSIKK3JlbW92ZV9maWxlX29uX25vZGUgInBteGNmcy1taXhl ZC1ub2RlMyIgIi9ldGMvcHZlLyRSRUxBVElWRV9QQVRIIiAibm9kZTMiCitlY2hvICIiCisKKyMg VGVzdCAzOiBDIOKGkiBSdXN0IHN5bmMKK2VjaG8gIuKUgeKUgeKUgSBUZXN0IDM6IEZpbGUgc3lu YyBmcm9tIEMgKG5vZGUzKSB0byBSdXN0IChub2RlMSkg4pSB4pSB4pSBIgorUkVMQVRJVkVfUEFU SF8zPSJtaXhlZC1zeW5jLWMtdG8tcnVzdC0kKGRhdGUgKyVzKS50eHQiCitURVNUX0NPTlRFTlRf Mz0iQyB0byBSdXN0IHN5bmMgdGVzdCIKKworY3JlYXRlX2ZpbGVfb25fbm9kZSAicG14Y2ZzLW1p eGVkLW5vZGUzIiAiL2V0Yy9wdmUvJFJFTEFUSVZFX1BBVEhfMyIgIiRURVNUX0NPTlRFTlRfMyIg Im5vZGUzIiB8fCBleGl0IDEKKworZWNobyAiV2FpdGluZyBmb3IgY2x1c3RlciBzeW5jICgxMHMp Li4uIgorc2xlZXAgMTAKKworaWYgY2hlY2tfZmlsZV9vbl9ub2RlICJwbXhjZnMtbWl4ZWQtbm9k ZTEiICIvdGVzdC9wdmUvJFJFTEFUSVZFX1BBVEhfMyIgIiRURVNUX0NPTlRFTlRfMyIgIm5vZGUx IjsgdGhlbgorICAgIGVjaG8gIuKckyBDIOKGkiBSdXN0IHN5bmMgd29ya3MiCitlbHNlCisgICAg ZWNobyAi4pyXIEMg4oaSIFJ1c3Qgc3luYyBmYWlsZWQiCisgICAgZXhpdCAxCitmaQorCisjIEFs c28gdmVyaWZ5IGl0IHJlYWNoZWQgbm9kZTIKK2lmIGNoZWNrX2ZpbGVfb25fbm9kZSAicG14Y2Zz LW1peGVkLW5vZGUyIiAiL3Rlc3QvcHZlLyRSRUxBVElWRV9QQVRIXzMiICIkVEVTVF9DT05URU5U XzMiICJub2RlMiI7IHRoZW4KKyAgICBlY2hvICLinJMgQyDihpIgUnVzdCBzeW5jIHByb3BhZ2F0 ZWQgdG8gYWxsIFJ1c3Qgbm9kZXMiCitlbHNlCisgICAgZWNobyAi4pqgIEMg4oaSIFJ1c3Qgc3lu YyBkaWRuJ3QgcmVhY2ggbm9kZTIiCitmaQorCisjIENsZWFudXAKK3JlbW92ZV9maWxlX29uX25v ZGUgInBteGNmcy1taXhlZC1ub2RlMyIgIi9ldGMvcHZlLyRSRUxBVElWRV9QQVRIXzMiICJub2Rl MyIKK3JlbW92ZV9maWxlX29uX25vZGUgInBteGNmcy1taXhlZC1ub2RlMSIgIi90ZXN0L3B2ZS8k UkVMQVRJVkVfUEFUSF8zIiAibm9kZTEiCityZW1vdmVfZmlsZV9vbl9ub2RlICJwbXhjZnMtbWl4 ZWQtbm9kZTIiICIvdGVzdC9wdmUvJFJFTEFUSVZFX1BBVEhfMyIgIm5vZGUyIgorZWNobyAiIgor CitlY2hvICLilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHi lIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHi lIHilIHilIHilIHilIEiCitlY2hvICLinJMgQWxsIG1peGVkIGNsdXN0ZXIgZmlsZSBzeW5jIHRl c3RzIFBBU1NFRCIKK2VjaG8gIiIKK2VjaG8gIlN1bW1hcnk6IgorZWNobyAiICDinJMgUnVzdCDi hpIgUnVzdCBzeW5jaHJvbml6YXRpb24gd29ya3MiCitlY2hvICIgIOKckyBSdXN0IOKGkiBDIHN5 bmNocm9uaXphdGlvbiB3b3JrcyIKK2VjaG8gIiAg4pyTIEMg4oaSIFJ1c3Qgc3luY2hyb25pemF0 aW9uIHdvcmtzIgorZWNobyAiIgorZWNobyAiTWl4ZWQgY2x1c3RlciBmaWxlIHN5bmNocm9uaXph dGlvbiBpcyBmdW5jdGlvbmluZyBjb3JyZWN0bHkhIgorZXhpdCAwCmRpZmYgLS1naXQgYS9zcmMv cG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzL3Rlc3RzL21peGVkLWNsdXN0ZXIvMDMtcXVvcnVt LnNoIGIvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0cy9taXhlZC1jbHVzdGVy LzAzLXF1b3J1bS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMC4uOGQ0OWQw NTIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzL3Rl c3RzL21peGVkLWNsdXN0ZXIvMDMtcXVvcnVtLnNoCkBAIC0wLDAgKzEsMTQ5IEBACisjIS9iaW4v YmFzaAorIyBUZXN0OiBNaXhlZCBDbHVzdGVyIFF1b3J1bQorIyBWZXJpZnkgY2x1c3RlciBxdW9y dW0gd2l0aCBtaXhlZCBSdXN0IGFuZCBDIG5vZGVzCisKK3NldCAtZQorCisjIFNvdXJjZSBjb21t b24gdGVzdCBjb25maWd1cmF0aW9uCitTQ1JJUFRfRElSPSIkKGNkICIkKGRpcm5hbWUgIiR7QkFT SF9TT1VSQ0VbMF19IikiICYmIHB3ZCkiCitzb3VyY2UgIiRTQ1JJUFRfRElSLy4uL3Rlc3QtY29u ZmlnLnNoIgorCitlY2hvICJUZXN0aW5nIGNsdXN0ZXIgcXVvcnVtIGluIG1peGVkIGVudmlyb25t ZW50Li4uIgorCisjIENoZWNrIGlmIHdlJ3JlIGluIG11bHRpLW5vZGUgZW52aXJvbm1lbnQKK2lm IFsgLXogIiROT0RFMV9JUCIgXSB8fCBbIC16ICIkTk9ERTJfSVAiIF0gfHwgWyAteiAiJE5PREUz X0lQIiBdOyB0aGVuCisgICAgZWNobyAiRVJST1I6IE5vZGUgSVAgZW52aXJvbm1lbnQgdmFyaWFi bGVzIG5vdCBzZXQiCisgICAgZWNobyAiVGhpcyB0ZXN0IHJlcXVpcmVzIG11bHRpLW5vZGUgc2V0 dXAgd2l0aCBOT0RFMV9JUCwgTk9ERTJfSVAsIE5PREUzX0lQIgorICAgIGV4aXQgMQorZmkKKwor ZWNobyAiTWl4ZWQgY2x1c3RlciBlbnZpcm9ubWVudDoiCitlY2hvICIgIE5vZGUxIChSdXN0KTog JE5PREUxX0lQIgorZWNobyAiICBOb2RlMiAoUnVzdCk6ICROT0RFMl9JUCIKK2VjaG8gIiAgTm9k ZTMgKEMpOiAgICAkTk9ERTNfSVAiCitlY2hvICIiCisKKyMgRGV0ZWN0IGNvbnRhaW5lciBydW50 aW1lIChwcmVmZXIgZW52aXJvbm1lbnQgdmFyaWFibGUgZm9yIGNvbnNpc3RlbmN5IHdpdGggdGVz dCBydW5uZXIpCitpZiBbIC1uICIkQ09OVEFJTkVSX0NNRCIgXTsgdGhlbgorICAgICMgVXNlIENP TlRBSU5FUl9DTUQgZnJvbSBlbnZpcm9ubWVudCAoc2V0IGJ5IHRlc3QgcnVubmVyKQorICAgIDoK K2VsaWYgY29tbWFuZCAtdiBwb2RtYW4gJj4gL2Rldi9udWxsOyB0aGVuCisgICAgQ09OVEFJTkVS X0NNRD0icG9kbWFuIgorZWxpZiBjb21tYW5kIC12IGRvY2tlciAmPiAvZGV2L251bGw7IHRoZW4K KyAgICBDT05UQUlORVJfQ01EPSJkb2NrZXIiCitlbHNlCisgICAgZWNobyAiRVJST1I6IE5vIGNv bnRhaW5lciBydW50aW1lIGZvdW5kIChuZWVkIGRvY2tlciBvciBwb2RtYW4pIgorICAgIGV4aXQg MQorZmkKKworIyBIZWxwZXIgZnVuY3Rpb24gdG8gY2hlY2sgcXVvcnVtIG9uIGEgbm9kZQorY2hl Y2tfcXVvcnVtX29uX25vZGUoKSB7CisgICAgbG9jYWwgY29udGFpbmVyX25hbWU9JDEKKyAgICBs b2NhbCBub2RlX25hbWU9JDIKKworICAgIGVjaG8gIkNoZWNraW5nIHF1b3J1bSBvbiAkbm9kZV9u YW1lLi4uIgorCisgICAgIyBSdW4gY29yb3N5bmMtcXVvcnVtdG9vbAorICAgIGxvY2FsIHF1b3J1 bV9vdXRwdXQ9JCgkQ09OVEFJTkVSX0NNRCBleGVjICRjb250YWluZXJfbmFtZSBjb3Jvc3luYy1x dW9ydW10b29sIC1zIDI+JjEgfHwgZWNobyAiRVJST1IiKQorCisgICAgaWYgZWNobyAiJHF1b3J1 bV9vdXRwdXQiIHwgZ3JlcCAtcSAiRVJST1IiOyB0aGVuCisgICAgICAgIGVjaG8gIiAg4pyXIEZh aWxlZCB0byBnZXQgcXVvcnVtIHN0YXR1cyIKKyAgICAgICAgZWNobyAiJHF1b3J1bV9vdXRwdXQi IHwgaGVhZCAtNQorICAgICAgICByZXR1cm4gMQorICAgIGZpCisKKyAgICBlY2hvICIkcXVvcnVt X291dHB1dCIKKworICAgICMgQ2hlY2sgaWYgcXVvcmF0ZQorICAgIGlmIGVjaG8gIiRxdW9ydW1f b3V0cHV0IiB8IGdyZXAgLXEgIlF1b3JhdGUuKlllcyI7IHRoZW4KKyAgICAgICAgZWNobyAiICDi nJMgTm9kZSBpcyBxdW9yYXRlIgorICAgIGVsc2UKKyAgICAgICAgZWNobyAiICDinJcgTm9kZSBp cyBOT1QgcXVvcmF0ZSIKKyAgICAgICAgcmV0dXJuIDEKKyAgICBmaQorCisgICAgIyBFeHRyYWN0 IG5vZGUgY291bnQKKyAgICBsb2NhbCBub2RlX2NvdW50PSQoZWNobyAiJHF1b3J1bV9vdXRwdXQi IHwgZ3JlcCAiTm9kZXM6IiB8IGF3ayAne3ByaW50ICQyfScgfHwgZWNobyAiMCIpCisgICAgZWNo byAiICBOb2RlIGNvdW50OiAkbm9kZV9jb3VudCIKKworICAgIGlmIFsgIiRub2RlX2NvdW50IiAt Z2UgMyBdOyB0aGVuCisgICAgICAgIGVjaG8gIiAg4pyTIEFsbCAzIG5vZGVzIHZpc2libGUiCisg ICAgZWxzZQorICAgICAgICBlY2hvICIgIOKaoCBPbmx5ICRub2RlX2NvdW50IG5vZGVzIHZpc2li bGUgKGV4cGVjdGVkIDMpIgorICAgICAgICByZXR1cm4gMQorICAgIGZpCisKKyAgICByZXR1cm4g MAorfQorCisjIENoZWNrIHF1b3J1bSBvbiBhbGwgbm9kZXMKK2VjaG8gIuKUgeKUgeKUgSBOb2Rl IDEgKFJ1c3QpIOKUgeKUgeKUgSIKK2lmIGNoZWNrX3F1b3J1bV9vbl9ub2RlICJwbXhjZnMtbWl4 ZWQtbm9kZTEiICJub2RlMSI7IHRoZW4KKyAgICBOT0RFMV9RVU9SQVRFPXRydWUKK2Vsc2UKKyAg ICBOT0RFMV9RVU9SQVRFPWZhbHNlCitmaQorZWNobyAiIgorCitlY2hvICLilIHilIHilIEgTm9k ZSAyIChSdXN0KSDilIHilIHilIEiCitpZiBjaGVja19xdW9ydW1fb25fbm9kZSAicG14Y2ZzLW1p eGVkLW5vZGUyIiAibm9kZTIiOyB0aGVuCisgICAgTk9ERTJfUVVPUkFURT10cnVlCitlbHNlCisg ICAgTk9ERTJfUVVPUkFURT1mYWxzZQorZmkKK2VjaG8gIiIKKworZWNobyAi4pSB4pSB4pSBIE5v ZGUgMyAoQykg4pSB4pSB4pSBIgoraWYgY2hlY2tfcXVvcnVtX29uX25vZGUgInBteGNmcy1taXhl ZC1ub2RlMyIgIm5vZGUzIjsgdGhlbgorICAgIE5PREUzX1FVT1JBVEU9dHJ1ZQorZWxzZQorICAg IE5PREUzX1FVT1JBVEU9ZmFsc2UKK2ZpCitlY2hvICIiCisKKyMgVmVyaWZ5IGFsbCBub2RlcyBz ZWUgY29uc2lzdGVudCBjbHVzdGVyIHN0YXRlCitlY2hvICLilIHilIHilIEgVmVyaWZ5aW5nIENs dXN0ZXIgQ29uc2lzdGVuY3kg4pSB4pSB4pSBIgorCisjIEdldCBtZW1iZXJzaGlwIGxpc3QgZnJv bSBlYWNoIG5vZGUKK2VjaG8gIkdldHRpbmcgbWVtYmVyc2hpcCBmcm9tIG5vZGUxIChSdXN0KS4u LiIKK05PREUxX01FTUJFUlM9JCgkQ09OVEFJTkVSX0NNRCBleGVjIHBteGNmcy1taXhlZC1ub2Rl MSBjb3Jvc3luYy1xdW9ydW10b29sIC1sIDI+JjEgfCBncmVwICJub2RlIiB8fCBlY2hvICIiKQor CitlY2hvICJHZXR0aW5nIG1lbWJlcnNoaXAgZnJvbSBub2RlMiAoUnVzdCkuLi4iCitOT0RFMl9N RU1CRVJTPSQoJENPTlRBSU5FUl9DTUQgZXhlYyBwbXhjZnMtbWl4ZWQtbm9kZTIgY29yb3N5bmMt cXVvcnVtdG9vbCAtbCAyPiYxIHwgZ3JlcCAibm9kZSIgfHwgZWNobyAiIikKKworZWNobyAiR2V0 dGluZyBtZW1iZXJzaGlwIGZyb20gbm9kZTMgKEMpLi4uIgorTk9ERTNfTUVNQkVSUz0kKCRDT05U QUlORVJfQ01EIGV4ZWMgcG14Y2ZzLW1peGVkLW5vZGUzIGNvcm9zeW5jLXF1b3J1bXRvb2wgLWwg Mj4mMSB8IGdyZXAgIm5vZGUiIHx8IGVjaG8gIiIpCisKK2VjaG8gIiIKK2VjaG8gIk1lbWJlcnNo aXAgbGlzdHM6IgorZWNobyAiTm9kZTE6ICROT0RFMV9NRU1CRVJTIgorZWNobyAiTm9kZTI6ICRO T0RFMl9NRU1CRVJTIgorZWNobyAiTm9kZTM6ICROT0RFM19NRU1CRVJTIgorZWNobyAiIgorCisj IEZpbmFsIHZlcmRpY3QKK2lmIFsgIiROT0RFMV9RVU9SQVRFIiA9IHRydWUgXSAmJiBbICIkTk9E RTJfUVVPUkFURSIgPSB0cnVlIF0gJiYgWyAiJE5PREUzX1FVT1JBVEUiID0gdHJ1ZSBdOyB0aGVu CisgICAgZWNobyAi4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB 4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB 4pSB4pSB4pSB4pSB4pSB4pSBIgorICAgIGVjaG8gIuKckyBNaXhlZCBjbHVzdGVyIHF1b3J1bSB0 ZXN0IFBBU1NFRCIKKyAgICBlY2hvICIiCisgICAgZWNobyAiU3VtbWFyeToiCisgICAgZWNobyAi ICDinJMgQWxsIDMgbm9kZXMgYXJlIHF1b3JhdGUiCisgICAgZWNobyAiICDinJMgUnVzdCBhbmQg QyBub2RlcyBjb2V4aXN0IGluIHNhbWUgY2x1c3RlciIKKyAgICBlY2hvICIgIOKckyBDbHVzdGVy IG1lbWJlcnNoaXAgY29uc2lzdGVudCBhY3Jvc3MgYWxsIG5vZGVzIgorICAgIGVjaG8gIiIKKyAg ICBlY2hvICJNaXhlZCBjbHVzdGVyIHF1b3J1bSBpcyBmdW5jdGlvbmluZyBjb3JyZWN0bHkhIgor ICAgIGV4aXQgMAorZWxzZQorICAgIGVjaG8gIuKclyBNaXhlZCBjbHVzdGVyIHF1b3J1bSB0ZXN0 IEZBSUxFRCIKKyAgICBlY2hvICIiCisgICAgZWNobyAiU3RhdHVzOiIKKyAgICBlY2hvICIgIE5v ZGUxIChSdXN0KTogJE5PREUxX1FVT1JBVEUiCisgICAgZWNobyAiICBOb2RlMiAoUnVzdCk6ICRO T0RFMl9RVU9SQVRFIgorICAgIGVjaG8gIiAgTm9kZTMgKEMpOiAgICAkTk9ERTNfUVVPUkFURSIK KyAgICBlY2hvICIiCisgICAgZWNobyAiUG9zc2libGUgaXNzdWVzOiIKKyAgICBlY2hvICIgIC0g Q29yb3N5bmMgbm90IGNvbmZpZ3VyZWQgcHJvcGVybHkiCisgICAgZWNobyAiICAtIE5ldHdvcmsg Y29ubmVjdGl2aXR5IGlzc3VlcyIKKyAgICBlY2hvICIgIC0gTm9kZXMgbm90IGpvaW5lZCB0byBj bHVzdGVyIgorICAgIGV4aXQgMQorZmkKZGlmZiAtLWdpdCBhL3NyYy9wbXhjZnMtcnMvaW50ZWdy YXRpb24tdGVzdHMvdGVzdHMvcGx1Z2lucy8wMS1wbHVnaW4tZmlsZXMuc2ggYi9zcmMvcG14Y2Zz LXJzL2ludGVncmF0aW9uLXRlc3RzL3Rlc3RzL3BsdWdpbnMvMDEtcGx1Z2luLWZpbGVzLnNoCm5l dyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwLi5kZTk1Y2Q3MQotLS0gL2Rldi9udWxs CisrKyBiL3NyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvdGVzdHMvcGx1Z2lucy8wMS1w bHVnaW4tZmlsZXMuc2gKQEAgLTAsMCArMSwxNDYgQEAKKyMhL2Jpbi9iYXNoCisjIFRlc3Q6IFBs dWdpbiBGaWxlcworIyBWZXJpZnkgYWxsIEZVU0UgcGx1Z2luIGZpbGVzIGFyZSBhY2Nlc3NpYmxl IGFuZCByZXR1cm4gdmFsaWQgZGF0YQorCitzZXQgLWUKKworIyBTb3VyY2UgY29tbW9uIHRlc3Qg Y29uZmlndXJhdGlvbgorU0NSSVBUX0RJUj0iJChjZCAiJChkaXJuYW1lICIke0JBU0hfU09VUkNF WzBdfSIpIiAmJiBwd2QpIgorc291cmNlICIkU0NSSVBUX0RJUi8uLi90ZXN0LWNvbmZpZy5zaCIK KworZWNobyAiVGVzdGluZyBwbHVnaW4gZmlsZXMuLi4iCisKK01PVU5UX1BBVEg9IiRURVNUX01P VU5UX1BBVEgiCisKKyMgQ2hlY2sgaWYgbW91bnQgcGF0aCBpcyBhY2Nlc3NpYmxlCitpZiBbICEg LWQgIiRNT1VOVF9QQVRIIiBdOyB0aGVuCisgICAgZWNobyAiRVJST1I6IE1vdW50IHBhdGggbm90 IGFjY2Vzc2libGU6ICRNT1VOVF9QQVRIIgorICAgIGV4aXQgMQorZmkKK2VjaG8gIuKckyBNb3Vu dCBwYXRoIGFjY2Vzc2libGUiCisKKyMgTGlzdCBvZiBwbHVnaW4gZmlsZXMgdG8gdGVzdAorZGVj bGFyZSAtQSBQTFVHSU5TPSgKKyAgICBbIi52ZXJzaW9uIl09IlZlcnNpb24gYW5kIHRpbWVzdGFt cCBpbmZvcm1hdGlvbiIKKyAgICBbIi5tZW1iZXJzIl09IkNsdXN0ZXIgbWVtYmVyIGxpc3QiCisg ICAgWyIudm1saXN0Il09IlZNIGFuZCBjb250YWluZXIgcmVnaXN0cnkiCisgICAgWyIucnJkIl09 IlJSRCBtZXRyaWNzIGR1bXAiCisgICAgWyIuY2x1c3RlcmxvZyJdPSJDbHVzdGVyIGxvZyBlbnRy aWVzIgorICAgIFsiLmRlYnVnIl09IkRlYnVnIGNvbnRyb2wiCispCisKK0ZPVU5EPTAKK1JFQURB QkxFPTAKK1RPVEFMPSR7I1BMVUdJTlNbQF19CisKK2VjaG8gIiIKK2VjaG8gIlRlc3RpbmcgcGx1 Z2luIGZpbGVzOiIKKworZm9yIHBsdWdpbiBpbiAiJHshUExVR0lOU1tAXX0iOyBkbworICAgIFBM VUdJTl9QQVRIPSIkTU9VTlRfUEFUSC8kcGx1Z2luIgorICAgIERFU0M9IiR7UExVR0lOU1skcGx1 Z2luXX0iCisKKyAgICBlY2hvICIiCisgICAgZWNobyAiUGx1Z2luOiAkcGx1Z2luIgorICAgIGVj aG8gIiAgRGVzY3JpcHRpb246ICRERVNDIgorCisgICAgIyBDaGVjayBpZiBwbHVnaW4gZmlsZSBl eGlzdHMKKyAgICBpZiBbIC1lICIkUExVR0lOX1BBVEgiIF07IHRoZW4KKyAgICAgICAgZWNobyAi ICDinJMgRmlsZSBleGlzdHMiCisgICAgICAgIEZPVU5EPSQoKEZPVU5EICsgMSkpCisKKyAgICAg ICAgIyBDaGVjayBpZiBmaWxlIGlzIHJlYWRhYmxlCisgICAgICAgIGlmIFsgLXIgIiRQTFVHSU5f UEFUSCIgXTsgdGhlbgorICAgICAgICAgICAgZWNobyAiICDinJMgRmlsZSBpcyByZWFkYWJsZSIK KworICAgICAgICAgICAgIyBUcnkgdG8gcmVhZCBjb250ZW50CisgICAgICAgICAgICBpZiBDT05U RU5UPSQoY2F0ICIkUExVR0lOX1BBVEgiIDI+L2Rldi9udWxsKTsgdGhlbgorICAgICAgICAgICAg ICAgIFJFQURBQkxFPSQoKFJFQURBQkxFICsgMSkpCisgICAgICAgICAgICAgICAgQ09OVEVOVF9M RU49JHsjQ09OVEVOVH0KKyAgICAgICAgICAgICAgICBMSU5FX0NPVU5UPSQoZWNobyAiJENPTlRF TlQiIHwgd2MgLWwpCisKKyAgICAgICAgICAgICAgICBlY2hvICIgIOKckyBDb250ZW50IHJlYWRh YmxlICgke0NPTlRFTlRfTEVOfSBieXRlcywgJHtMSU5FX0NPVU5UfSBsaW5lcykiCisKKyAgICAg ICAgICAgICAgICAjIFBsdWdpbi1zcGVjaWZpYyB2YWxpZGF0aW9uCisgICAgICAgICAgICAgICAg Y2FzZSAiJHBsdWdpbiIgaW4KKyAgICAgICAgICAgICAgICAgICAgIi52ZXJzaW9uIikKKyAgICAg ICAgICAgICAgICAgICAgICAgIGlmIGVjaG8gIiRDT05URU5UIiB8IGdyZXAgLXFFICdeWzAtOV0r OlswLTldKzpbMC05XSsnOyB0aGVuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAi ICDinJMgVmVyc2lvbiBmb3JtYXQgdmFsaWQiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZWNobyAiICBDb250ZW50OiAkQ09OVEVOVCIKKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY2hvICIgIOKaoCBVbmV4cGVjdGVkIHZlcnNp b24gZm9ybWF0IgorICAgICAgICAgICAgICAgICAgICAgICAgZmkKKyAgICAgICAgICAgICAgICAg ICAgICAgIDs7CisgICAgICAgICAgICAgICAgICAgICIubWVtYmVycyIpCisgICAgICAgICAgICAg ICAgICAgICAgICBpZiBlY2hvICIkQ09OVEVOVCIgfCBncmVwIC1xICJcW21lbWJlcnNcXSI7IHRo ZW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY2hvICIgIOKckyBNZW1iZXJzIGZvcm1h dCB2YWxpZCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRU1CRVJfQ09VTlQ9JChlY2hv ICIkQ09OVEVOVCIgfCBncmVwIC1jICJeWzAtOV0iIHx8IGVjaG8gIjAiKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGVjaG8gIiAgTWVtYmVyczogJE1FTUJFUl9DT1VOVCIKKyAgICAgICAg ICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY2hvICIg IENvbnRlbnQgbWF5IGJlIGVtcHR5IChubyBjbHVzdGVyIG1lbWJlcnMgeWV0KSIKKyAgICAgICAg ICAgICAgICAgICAgICAgIGZpCisgICAgICAgICAgICAgICAgICAgICAgICA7OworICAgICAgICAg ICAgICAgICAgICAiLnZtbGlzdCIpCisgICAgICAgICAgICAgICAgICAgICAgICBpZiBlY2hvICIk Q09OVEVOVCIgfCBncmVwIC1xRSAiXFtxZW11XF18XFtseGNcXSI7IHRoZW4KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICBlY2hvICIgIOKckyBWTSBsaXN0IGZvcm1hdCB2YWxpZCIKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICBWTV9DT1VOVD0kKGVjaG8gIiRDT05URU5UIiB8IGdyZXAg LWMgIl5bMC05XSIgfHwgZWNobyAiMCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNo byAiICBWTXMvQ1RzOiAkVk1fQ09VTlQiCisgICAgICAgICAgICAgICAgICAgICAgICBlbHNlCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAiICBWTSBsaXN0IGVtcHR5IChubyBWTXMg cmVnaXN0ZXJlZCB5ZXQpIgorICAgICAgICAgICAgICAgICAgICAgICAgZmkKKyAgICAgICAgICAg ICAgICAgICAgICAgIDs7CisgICAgICAgICAgICAgICAgICAgICIucnJkIikKKyAgICAgICAgICAg ICAgICAgICAgICAgIGlmIFsgIiRDT05URU5UX0xFTiIgLWd0IDAgXTsgdGhlbgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGVjaG8gIiAg4pyTIFJSRCBkYXRhIGF2YWlsYWJsZSIKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAjIENoZWNrIGZvciBjb21tb24gUlJEIGtleSBwYXR0ZXJu cworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGVjaG8gIiRDT05URU5UIiB8IGdyZXAg LXEgInB2ZTItbm9kZVx8cHZlMi12bVx8cHZlMi1zdG9yYWdlIjsgdGhlbgorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBlY2hvICIgIOKckyBSUkQga2V5cyBmb3VuZCIKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICBmaQorICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gIiAgUlJEIGRhdGEgZW1wdHkgKG5vIG1ldHJp Y3MgY29sbGVjdGVkIHlldCkiCisgICAgICAgICAgICAgICAgICAgICAgICBmaQorICAgICAgICAg ICAgICAgICAgICAgICAgOzsKKyAgICAgICAgICAgICAgICAgICAgIi5jbHVzdGVybG9nIikKKyAg ICAgICAgICAgICAgICAgICAgICAgIGlmIFsgIiRDT05URU5UX0xFTiIgLWd0IDAgXTsgdGhlbgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gIiAg4pyTIENsdXN0ZXIgbG9nIGF2YWls YWJsZSIKKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICBlY2hvICIgIENsdXN0ZXIgbG9nIGVtcHR5IChubyBldmVudHMgbG9nZ2VkIHlldCki CisgICAgICAgICAgICAgICAgICAgICAgICBmaQorICAgICAgICAgICAgICAgICAgICAgICAgOzsK KyAgICAgICAgICAgICAgICAgICAgIi5kZWJ1ZyIpCisgICAgICAgICAgICAgICAgICAgICAgICAj IERlYnVnIGZpbGUgdHlwaWNhbGx5IHJldHVybnMgcnVudGltZSBkZWJ1ZyBpbmZvCisgICAgICAg ICAgICAgICAgICAgICAgICBpZiBbICIkQ09OVEVOVF9MRU4iIC1ndCAwIF07IHRoZW4KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICBlY2hvICIgIOKckyBEZWJ1ZyBpbmZvIGF2YWlsYWJsZSIK KyAgICAgICAgICAgICAgICAgICAgICAgIGZpCisgICAgICAgICAgICAgICAgICAgICAgICA7Owor ICAgICAgICAgICAgICAgIGVzYWMKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBl Y2hvICIgIOKclyBFUlJPUjogQ2Fubm90IHJlYWQgY29udGVudCIKKyAgICAgICAgICAgIGZpCisg ICAgICAgIGVsc2UKKyAgICAgICAgICAgIGVjaG8gIiAg4pyXIEVSUk9SOiBGaWxlIG5vdCByZWFk YWJsZSIKKyAgICAgICAgZmkKKyAgICBlbHNlCisgICAgICAgIGVjaG8gIiAg4pyXIEZpbGUgZG9l cyBub3QgZXhpc3QiCisgICAgZmkKK2RvbmUKKworZWNobyAiIgorZWNobyAi4pSB4pSB4pSB4pSB 4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB 4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSBIgorZWNo byAiU3VtbWFyeToiCitlY2hvICIgIFBsdWdpbiBmaWxlcyBmb3VuZDogICAgJEZPVU5EIC8gJFRP VEFMIgorZWNobyAiICBQbHVnaW4gZmlsZXMgcmVhZGFibGU6ICRSRUFEQUJMRSAvICRUT1RBTCIK KworaWYgWyAiJEZPVU5EIiAtZXEgIiRUT1RBTCIgXTsgdGhlbgorICAgIGVjaG8gIuKckyBBbGwg cGx1Z2luIGZpbGVzIGV4aXN0IgorZWxzZQorICAgIGVjaG8gIuKaoCBTb21lIHBsdWdpbiBmaWxl cyBtaXNzaW5nIChtYXkgbm90IGJlIGluaXRpYWxpemVkIHlldCkiCitmaQorCitpZiBbICIkUkVB REFCTEUiIC1nZSAzIF07IHRoZW4KKyAgICBlY2hvICLinJMgTW9zdCBwbHVnaW4gZmlsZXMgYXJl IHdvcmtpbmciCisgICAgZXhpdCAwCitlbHNlCisgICAgZWNobyAi4pqgIExpbWl0ZWQgcGx1Z2lu IGF2YWlsYWJpbGl0eSIKKyAgICBleGl0IDAgICMgRG9uJ3QgZmFpbCAtIHBsdWdpbnMgbWF5IG5v dCBiZSBpbml0aWFsaXplZCB5ZXQKK2ZpCmRpZmYgLS1naXQgYS9zcmMvcG14Y2ZzLXJzL2ludGVn cmF0aW9uLXRlc3RzL3Rlc3RzL3BsdWdpbnMvMDItY2x1c3RlcmxvZy1wbHVnaW4uc2ggYi9zcmMv cG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzL3Rlc3RzL3BsdWdpbnMvMDItY2x1c3RlcmxvZy1w bHVnaW4uc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAuLjM5MzFiNTliCi0t LSAvZGV2L251bGwKKysrIGIvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0cy9w bHVnaW5zLzAyLWNsdXN0ZXJsb2ctcGx1Z2luLnNoCkBAIC0wLDAgKzEsMzU1IEBACisjIS9iaW4v YmFzaAorIyBUZXN0OiBDbHVzdGVyTG9nIFBsdWdpbiBGVVNFIEZpbGUKKyMgQ29tcHJlaGVuc2l2 ZSB0ZXN0IGZvciAuY2x1c3RlcmxvZyBwbHVnaW4gZmlsZSBmdW5jdGlvbmFsaXR5CisKK3NldCAt ZQorCisjIFNvdXJjZSBjb21tb24gdGVzdCBjb25maWd1cmF0aW9uCitTQ1JJUFRfRElSPSIkKGNk ICIkKGRpcm5hbWUgIiR7QkFTSF9TT1VSQ0VbMF19IikiICYmIHB3ZCkiCitzb3VyY2UgIiRTQ1JJ UFRfRElSLy4uL3Rlc3QtY29uZmlnLnNoIgorCitlY2hvICI9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PSIKK2VjaG8gIkNsdXN0ZXJMb2cgUGx1Z2luIEZVU0UgRmlsZSBU ZXN0IgorZWNobyAiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0iCitl Y2hvICIiCisKKyMgQ29uZmlndXJhdGlvbgorTU9VTlRfUEFUSD0iJFRFU1RfTU9VTlRfUEFUSCIK K0NMVVNURVJMT0dfRklMRT0iJE1PVU5UX1BBVEgvLmNsdXN0ZXJsb2ciCisKKyMgQ29sb3JzIGZv ciBvdXRwdXQKK1JFRD0nXDAzM1swOzMxbScKK0dSRUVOPSdcMDMzWzA7MzJtJworWUVMTE9XPSdc MDMzWzE7MzNtJworTkM9J1wwMzNbMG0nICMgTm8gQ29sb3IKKworIyBUZXN0IGNvdW50ZXJzCitU RVNUU19QQVNTRUQ9MAorVEVTVFNfRkFJTEVEPTAKK1RPVEFMX1RFU1RTPTAKKworIyBIZWxwZXIg ZnVuY3Rpb25zCitsb2dfaW5mbygpIHsKKyAgICBlY2hvICJbSU5GT10gJDEiCit9CisKK2xvZ19l cnJvcigpIHsKKyAgICBlY2hvIC1lICIke1JFRH1bRVJST1JdICQxJHtOQ30iID4mMgorfQorCits b2dfc3VjY2VzcygpIHsKKyAgICBlY2hvIC1lICIke0dSRUVOfVvinJNdICQxJHtOQ30iCit9CisK K2xvZ193YXJuaW5nKCkgeworICAgIGVjaG8gLWUgIiR7WUVMTE9XfVvimqBdICQxJHtOQ30iCit9 CisKK3Rlc3Rfc3RhcnQoKSB7CisgICAgVE9UQUxfVEVTVFM9JCgoVE9UQUxfVEVTVFMgKyAxKSkK KyAgICBlY2hvICIiCisgICAgZWNobyAiVGVzdCAkVE9UQUxfVEVTVFM6ICQxIgorICAgIGVjaG8g Ii0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iCit9CisKK3Rlc3RfcGFz cygpIHsKKyAgICBURVNUU19QQVNTRUQ9JCgoVEVTVFNfUEFTU0VEICsgMSkpCisgICAgbG9nX3N1 Y2Nlc3MgIiQxIgorfQorCit0ZXN0X2ZhaWwoKSB7CisgICAgVEVTVFNfRkFJTEVEPSQoKFRFU1RT X0ZBSUxFRCArIDEpKQorICAgIGxvZ19lcnJvciAiJDEiCit9CisKKyMgVGVzdCAxOiBQbHVnaW4g ZmlsZSBleGlzdHMKK3Rlc3Rfc3RhcnQgIlZlcmlmeSAuY2x1c3RlcmxvZyBwbHVnaW4gZmlsZSBl eGlzdHMiCisKK2lmIFsgLWUgIiRDTFVTVEVSTE9HX0ZJTEUiIF07IHRoZW4KKyAgICB0ZXN0X3Bh c3MgIi5jbHVzdGVybG9nIGZpbGUgZXhpc3RzIGF0ICRDTFVTVEVSTE9HX0ZJTEUiCitlbHNlCisg ICAgdGVzdF9mYWlsICIuY2x1c3RlcmxvZyBmaWxlIGRvZXMgbm90IGV4aXN0IGF0ICRDTFVTVEVS TE9HX0ZJTEUiCisgICAgbG9nX2luZm8gIkRpcmVjdG9yeSBjb250ZW50czoiCisgICAgbHMgLWxh ICIkTU9VTlRfUEFUSCIgfHwgdHJ1ZQorICAgIGV4aXQgMQorZmkKKworIyBUZXN0IDI6IFBsdWdp biBmaWxlIGlzIHJlYWRhYmxlCit0ZXN0X3N0YXJ0ICJWZXJpZnkgLmNsdXN0ZXJsb2cgcGx1Z2lu IGZpbGUgaXMgcmVhZGFibGUiCisKK2lmIFsgLXIgIiRDTFVTVEVSTE9HX0ZJTEUiIF07IHRoZW4K KyAgICB0ZXN0X3Bhc3MgIi5jbHVzdGVybG9nIGZpbGUgaXMgcmVhZGFibGUiCisKKyAgICAjIFRy eSB0byByZWFkIGl0CisgICAgQ09OVEVOVD0kKGNhdCAiJENMVVNURVJMT0dfRklMRSIgMj4vZGV2 L251bGwgfHwgZWNobyAiIikKKyAgICBpZiBbIC1uICIkQ09OVEVOVCIgXTsgdGhlbgorICAgICAg ICBDT05URU5UX0xFTj0keyNDT05URU5UfQorICAgICAgICB0ZXN0X3Bhc3MgIi5jbHVzdGVybG9n IGZpbGUgaGFzIGNvbnRlbnQgKCRDT05URU5UX0xFTiBieXRlcykiCisgICAgZWxzZQorICAgICAg ICB0ZXN0X2ZhaWwgIi5jbHVzdGVybG9nIGZpbGUgaXMgZW1wdHkgb3IgdW5yZWFkYWJsZSIKKyAg ICBmaQorZWxzZQorICAgIHRlc3RfZmFpbCAiLmNsdXN0ZXJsb2cgZmlsZSBpcyBub3QgcmVhZGFi bGUiCisgICAgZXhpdCAxCitmaQorCisjIFRlc3QgMzogQ29udGVudCBpcyB2YWxpZCBKU09OCit0 ZXN0X3N0YXJ0ICJWZXJpZnkgLmNsdXN0ZXJsb2cgY29udGVudCBpcyB2YWxpZCBKU09OIgorCitD T05URU5UPSQoY2F0ICIkQ0xVU1RFUkxPR19GSUxFIikKK2lmIGVjaG8gIiRDT05URU5UIiB8IGpx IC4gPi9kZXYvbnVsbCAyPiYxOyB0aGVuCisgICAgdGVzdF9wYXNzICJDb250ZW50IGlzIHZhbGlk IEpTT04iCitlbHNlCisgICAgdGVzdF9mYWlsICJDb250ZW50IGlzIG5vdCB2YWxpZCBKU09OIgor ICAgIGxvZ19pbmZvICJDb250ZW50IHByZXZpZXc6IgorICAgIGVjaG8gIiRDT05URU5UIiB8IGhl YWQgLTEwCisgICAgZXhpdCAxCitmaQorCisjIFRlc3QgNDogSlNPTiBoYXMgY29ycmVjdCBzdHJ1 Y3R1cmUKK3Rlc3Rfc3RhcnQgIlZlcmlmeSBKU09OIGhhcyBjb3JyZWN0IHN0cnVjdHVyZSAob2Jq ZWN0IHdpdGggJ2RhdGEnIGFycmF5KSIKKworaWYgZWNobyAiJENPTlRFTlQiIHwganEgLWUgJ3R5 cGUgPT0gIm9iamVjdCInID4vZGV2L251bGwgMj4mMTsgdGhlbgorICAgIHRlc3RfcGFzcyAiSlNP TiBpcyBhbiBvYmplY3QiCitlbHNlCisgICAgdGVzdF9mYWlsICJKU09OIGlzIG5vdCBhbiBvYmpl Y3QiCisgICAgZXhpdCAxCitmaQorCitpZiBlY2hvICIkQ09OVEVOVCIgfCBqcSAtZSAnaGFzKCJk YXRhIiknID4vZGV2L251bGwgMj4mMTsgdGhlbgorICAgIHRlc3RfcGFzcyAiSlNPTiBoYXMgJ2Rh dGEnIGZpZWxkIgorZWxzZQorICAgIHRlc3RfZmFpbCAiSlNPTiBkb2VzIG5vdCBoYXZlICdkYXRh JyBmaWVsZCIKKyAgICBleGl0IDEKK2ZpCisKK2lmIGVjaG8gIiRDT05URU5UIiB8IGpxIC1lICcu ZGF0YSB8IHR5cGUgPT0gImFycmF5IicgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCisgICAgdGVzdF9w YXNzICInZGF0YScgZmllbGQgaXMgYW4gYXJyYXkiCitlbHNlCisgICAgdGVzdF9mYWlsICInZGF0 YScgZmllbGQgaXMgbm90IGFuIGFycmF5IgorICAgIGV4aXQgMQorZmkKKworIyBUZXN0IDU6IEVu dHJ5IGZvcm1hdCB2YWxpZGF0aW9uIChpZiBlbnRyaWVzIGV4aXN0KQordGVzdF9zdGFydCAiVmVy aWZ5IGxvZyBlbnRyeSBmb3JtYXQgKGlmIGVudHJpZXMgZXhpc3QpIgorCitFTlRSWV9DT1VOVD0k KGVjaG8gIiRDT05URU5UIiB8IGpxICcuZGF0YSB8IGxlbmd0aCcpCitsb2dfaW5mbyAiRm91bmQg JEVOVFJZX0NPVU5UIGVudHJpZXMgaW4gY2x1c3RlciBsb2ciCisKK2lmIFsgIiRFTlRSWV9DT1VO VCIgLWd0IDAgXTsgdGhlbgorICAgICMgUmVxdWlyZWQgZmllbGRzIGFjY29yZGluZyB0byBDIGlt cGxlbWVudGF0aW9uCisgICAgUkVRVUlSRURfRklFTERTPSgidWlkIiAidGltZSIgInByaSIgInRh ZyIgInBpZCIgIm5vZGUiICJ1c2VyIiAibXNnIikKKworICAgIEZJUlNUX0VOVFJZPSQoZWNobyAi JENPTlRFTlQiIHwganEgJy5kYXRhWzBdJykKKworICAgIEFMTF9GSUVMRFNfUFJFU0VOVD10cnVl CisgICAgZm9yIGZpZWxkIGluICIke1JFUVVJUkVEX0ZJRUxEU1tAXX0iOyBkbworICAgICAgICBp ZiBlY2hvICIkRklSU1RfRU5UUlkiIHwganEgLWUgImhhcyhcIiRmaWVsZFwiKSIgPi9kZXYvbnVs bCAyPiYxOyB0aGVuCisgICAgICAgICAgICBsb2dfaW5mbyAiICDinJMgRmllbGQgJyRmaWVsZCcg cHJlc2VudCIKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbG9nX2Vycm9yICIgIOKclyBGaWVs ZCAnJGZpZWxkJyBtaXNzaW5nIgorICAgICAgICAgICAgQUxMX0ZJRUxEU19QUkVTRU5UPWZhbHNl CisgICAgICAgIGZpCisgICAgZG9uZQorCisgICAgaWYgWyAiJEFMTF9GSUVMRFNfUFJFU0VOVCIg PSB0cnVlIF07IHRoZW4KKyAgICAgICAgdGVzdF9wYXNzICJBbGwgcmVxdWlyZWQgZmllbGRzIHBy ZXNlbnQiCisgICAgZWxzZQorICAgICAgICB0ZXN0X2ZhaWwgIlNvbWUgcmVxdWlyZWQgZmllbGRz IG1pc3NpbmciCisgICAgICAgIGV4aXQgMQorICAgIGZpCisKKyAgICAjIFZhbGlkYXRlIGZpZWxk IHR5cGVzCisgICAgdGVzdF9zdGFydCAiVmVyaWZ5IGZpZWxkIHR5cGVzIgorCisgICAgIyB1aWQg c2hvdWxkIGJlIG51bWJlcgorICAgIGlmIGVjaG8gIiRGSVJTVF9FTlRSWSIgfCBqcSAtZSAnLnVp ZCB8IHR5cGUgPT0gIm51bWJlciInID4vZGV2L251bGwgMj4mMTsgdGhlbgorICAgICAgICB0ZXN0 X3Bhc3MgInVpZCBpcyBhIG51bWJlciIKKyAgICBlbHNlCisgICAgICAgIHRlc3RfZmFpbCAidWlk IGlzIG5vdCBhIG51bWJlciIKKyAgICBmaQorCisgICAgIyB0aW1lIHNob3VsZCBiZSBudW1iZXIK KyAgICBpZiBlY2hvICIkRklSU1RfRU5UUlkiIHwganEgLWUgJy50aW1lIHwgdHlwZSA9PSAibnVt YmVyIicgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCisgICAgICAgIHRlc3RfcGFzcyAidGltZSBpcyBh IG51bWJlciIKKyAgICBlbHNlCisgICAgICAgIHRlc3RfZmFpbCAidGltZSBpcyBub3QgYSBudW1i ZXIiCisgICAgZmkKKworICAgICMgcHJpIHNob3VsZCBiZSBudW1iZXIKKyAgICBpZiBlY2hvICIk RklSU1RfRU5UUlkiIHwganEgLWUgJy5wcmkgfCB0eXBlID09ICJudW1iZXIiJyA+L2Rldi9udWxs IDI+JjE7IHRoZW4KKyAgICAgICAgdGVzdF9wYXNzICJwcmkgaXMgYSBudW1iZXIiCisgICAgZWxz ZQorICAgICAgICB0ZXN0X2ZhaWwgInByaSBpcyBub3QgYSBudW1iZXIiCisgICAgZmkKKworICAg ICMgcGlkIHNob3VsZCBiZSBudW1iZXIKKyAgICBpZiBlY2hvICIkRklSU1RfRU5UUlkiIHwganEg LWUgJy5waWQgfCB0eXBlID09ICJudW1iZXIiJyA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKyAgICAg ICAgdGVzdF9wYXNzICJwaWQgaXMgYSBudW1iZXIiCisgICAgZWxzZQorICAgICAgICB0ZXN0X2Zh aWwgInBpZCBpcyBub3QgYSBudW1iZXIiCisgICAgZmkKKworICAgICMgdGFnIHNob3VsZCBiZSBz dHJpbmcKKyAgICBpZiBlY2hvICIkRklSU1RfRU5UUlkiIHwganEgLWUgJy50YWcgfCB0eXBlID09 ICJzdHJpbmciJyA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKyAgICAgICAgdGVzdF9wYXNzICJ0YWcg aXMgYSBzdHJpbmciCisgICAgZWxzZQorICAgICAgICB0ZXN0X2ZhaWwgInRhZyBpcyBub3QgYSBz dHJpbmciCisgICAgZmkKKworICAgICMgbm9kZSBzaG91bGQgYmUgc3RyaW5nCisgICAgaWYgZWNo byAiJEZJUlNUX0VOVFJZIiB8IGpxIC1lICcubm9kZSB8IHR5cGUgPT0gInN0cmluZyInID4vZGV2 L251bGwgMj4mMTsgdGhlbgorICAgICAgICB0ZXN0X3Bhc3MgIm5vZGUgaXMgYSBzdHJpbmciCisg ICAgZWxzZQorICAgICAgICB0ZXN0X2ZhaWwgIm5vZGUgaXMgbm90IGEgc3RyaW5nIgorICAgIGZp CisKKyAgICAjIHVzZXIgc2hvdWxkIGJlIHN0cmluZworICAgIGlmIGVjaG8gIiRGSVJTVF9FTlRS WSIgfCBqcSAtZSAnLnVzZXIgfCB0eXBlID09ICJzdHJpbmciJyA+L2Rldi9udWxsIDI+JjE7IHRo ZW4KKyAgICAgICAgdGVzdF9wYXNzICJ1c2VyIGlzIGEgc3RyaW5nIgorICAgIGVsc2UKKyAgICAg ICAgdGVzdF9mYWlsICJ1c2VyIGlzIG5vdCBhIHN0cmluZyIKKyAgICBmaQorCisgICAgIyBtc2cg c2hvdWxkIGJlIHN0cmluZworICAgIGlmIGVjaG8gIiRGSVJTVF9FTlRSWSIgfCBqcSAtZSAnLm1z ZyB8IHR5cGUgPT0gInN0cmluZyInID4vZGV2L251bGwgMj4mMTsgdGhlbgorICAgICAgICB0ZXN0 X3Bhc3MgIm1zZyBpcyBhIHN0cmluZyIKKyAgICBlbHNlCisgICAgICAgIHRlc3RfZmFpbCAibXNn IGlzIG5vdCBhIHN0cmluZyIKKyAgICBmaQorZWxzZQorICAgIGxvZ193YXJuaW5nICJObyBlbnRy aWVzIGluIGNsdXN0ZXIgbG9nLCBza2lwcGluZyBlbnRyeSBmb3JtYXQgdGVzdHMiCitmaQorCisj IFRlc3QgNjogTXVsdGlwbGUgcmVhZHMgcmV0dXJuIGNvbnNpc3RlbnQgZGF0YQordGVzdF9zdGFy dCAiVmVyaWZ5IG11bHRpcGxlIHJlYWRzIHJldHVybiBjb25zaXN0ZW50IGRhdGEiCisKK0NPTlRF TlQxPSQoY2F0ICIkQ0xVU1RFUkxPR19GSUxFIikKK3NsZWVwIDAuMQorQ09OVEVOVDI9JChjYXQg IiRDTFVTVEVSTE9HX0ZJTEUiKQorCitpZiBbICIkQ09OVEVOVDEiID0gIiRDT05URU5UMiIgXTsg dGhlbgorICAgIHRlc3RfcGFzcyAiTXVsdGlwbGUgcmVhZHMgcmV0dXJuIGNvbnNpc3RlbnQgZGF0 YSIKK2Vsc2UKKyAgICB0ZXN0X2ZhaWwgIk11bHRpcGxlIHJlYWRzIHJldHVybmVkIGRpZmZlcmVu dCBkYXRhIgorICAgIGxvZ19pbmZvICJUaGlzIG1heSBiZSBub3JtYWwgaWYgbmV3IGVudHJpZXMg d2VyZSBhZGRlZCBiZXR3ZWVuIHJlYWRzIgorZmkKKworIyBUZXN0IDc6IEZpbGUgbWV0YWRhdGEg aXMgYWNjZXNzaWJsZQordGVzdF9zdGFydCAiVmVyaWZ5IGZpbGUgbWV0YWRhdGEgaXMgYWNjZXNz aWJsZSIKKworaWYgc3RhdCAiJENMVVNURVJMT0dfRklMRSIgPi9kZXYvbnVsbCAyPiYxOyB0aGVu CisgICAgdGVzdF9wYXNzICJzdGF0KCkgc3VjY2VlZHMgb24gLmNsdXN0ZXJsb2ciCisKKyAgICAj IEdldCBmaWxlIHR5cGUKKyAgICBGSUxFX1RZUEU9JChzdGF0IC1jICIlRiIgIiRDTFVTVEVSTE9H X0ZJTEUiIDI+L2Rldi9udWxsIHx8IHN0YXQgLWYgIiVIVCIgIiRDTFVTVEVSTE9HX0ZJTEUiIDI+ L2Rldi9udWxsIHx8IGVjaG8gInVua25vd24iKQorICAgIGxvZ19pbmZvICJGaWxlIHR5cGU6ICRG SUxFX1RZUEUiCisKKyAgICAjIEdldCBwZXJtaXNzaW9ucworICAgIFBFUk1TPSQoc3RhdCAtYyAi JWEiICIkQ0xVU1RFUkxPR19GSUxFIiAyPi9kZXYvbnVsbCB8fCBzdGF0IC1mICIlTHAiICIkQ0xV U1RFUkxPR19GSUxFIiAyPi9kZXYvbnVsbCB8fCBlY2hvICJ1bmtub3duIikKKyAgICBsb2dfaW5m byAiUGVybWlzc2lvbnM6ICRQRVJNUyIKKworICAgIHRlc3RfcGFzcyAiRmlsZSBtZXRhZGF0YSBh Y2Nlc3NpYmxlIgorZWxzZQorICAgIHRlc3RfZmFpbCAic3RhdCgpIGZhaWxlZCBvbiAuY2x1c3Rl cmxvZyIKK2ZpCisKKyMgVGVzdCA4OiBGaWxlIHNob3VsZCBiZSByZWFkLW9ubHkgKHdyaXRlcyBz aG91bGQgZmFpbCkKK3Rlc3Rfc3RhcnQgIlZlcmlmeSAuY2x1c3RlcmxvZyBpcyByZWFkLW9ubHki CisKK2lmIGVjaG8gInRlc3QgZGF0YSIgPiAiJENMVVNURVJMT0dfRklMRSIgMj4vZGV2L251bGw7 IHRoZW4KKyAgICB0ZXN0X2ZhaWwgIi5jbHVzdGVybG9nIHNob3VsZCBiZSByZWFkLW9ubHkgYnV0 IHdyaXRlIHN1Y2NlZWRlZCIKK2Vsc2UKKyAgICB0ZXN0X3Bhc3MgIi5jbHVzdGVybG9nIGlzIHJl YWQtb25seSAod3JpdGUgY29ycmVjdGx5IHJlamVjdGVkKSIKK2ZpCisKKyMgVGVzdCA5OiBGaWxl IGFwcGVhcnMgaW4gZGlyZWN0b3J5IGxpc3RpbmcKK3Rlc3Rfc3RhcnQgIlZlcmlmeSAuY2x1c3Rl cmxvZyBhcHBlYXJzIGluIGRpcmVjdG9yeSBsaXN0aW5nIgorCitpZiBscyAtbGEgIiRNT1VOVF9Q QVRIIiB8IGdyZXAgLXEgIlwuY2x1c3RlcmxvZyI7IHRoZW4KKyAgICB0ZXN0X3Bhc3MgIi5jbHVz dGVybG9nIGFwcGVhcnMgaW4gZGlyZWN0b3J5IGxpc3RpbmciCitlbHNlCisgICAgdGVzdF9mYWls ICIuY2x1c3RlcmxvZyBkb2VzIG5vdCBhcHBlYXIgaW4gZGlyZWN0b3J5IGxpc3RpbmciCisgICAg bG9nX2luZm8gIkRpcmVjdG9yeSBsaXN0aW5nOiIKKyAgICBscyAtbGEgIiRNT1VOVF9QQVRIIgor ZmkKKworIyBUZXN0IDEwOiBDb25jdXJyZW50IHJlYWRzIHdvcmsgY29ycmVjdGx5Cit0ZXN0X3N0 YXJ0ICJWZXJpZnkgY29uY3VycmVudCByZWFkcyB3b3JrIGNvcnJlY3RseSIKKworIyBTdGFydCA1 IHBhcmFsbGVsIHJlYWRzCitQSURTPSgpCitURU1QX0RJUj0kKG1rdGVtcCAtZCkKKworZm9yIGkg aW4gezEuLjV9OyBkbworICAgICgKKyAgICAgICAgQ09OVEVOVD0kKGNhdCAiJENMVVNURVJMT0df RklMRSIpCisgICAgICAgIGVjaG8gIiRDT05URU5UIiA+ICIkVEVNUF9ESVIvcmVhZF8kaS5qc29u IgorICAgICAgICBlY2hvICR7I0NPTlRFTlR9ID4gIiRURU1QX0RJUi9zaXplXyRpLnR4dCIKKyAg ICApICYKKyAgICBQSURTKz0oJCEpCitkb25lCisKKyMgV2FpdCBmb3IgYWxsIHJlYWRzIHRvIGNv bXBsZXRlCitmb3IgcGlkIGluICIke1BJRFNbQF19IjsgZG8KKyAgICB3YWl0ICRwaWQKK2RvbmUK KworIyBDaGVjayBpZiBhbGwgcmVhZHMgc3VjY2VlZGVkIGFuZCByZXR1cm5lZCBzYW1lIHNpemUK K0ZJUlNUX1NJWkU9JChjYXQgIiRURU1QX0RJUi9zaXplXzEudHh0IikKK0FMTF9TQU1FPXRydWUK KworZm9yIGkgaW4gezIuLjV9OyBkbworICAgIFNJWkU9JChjYXQgIiRURU1QX0RJUi9zaXplXyRp LnR4dCIpCisgICAgaWYgWyAiJFNJWkUiICE9ICIkRklSU1RfU0laRSIgXTsgdGhlbgorICAgICAg ICBBTExfU0FNRT1mYWxzZQorICAgICAgICBsb2dfd2FybmluZyAiUmVhZCAkaSByZXR1cm5lZCBk aWZmZXJlbnQgc2l6ZTogJFNJWkUgdnMgJEZJUlNUX1NJWkUiCisgICAgZmkKK2RvbmUKKworaWYg WyAiJEFMTF9TQU1FIiA9IHRydWUgXTsgdGhlbgorICAgIHRlc3RfcGFzcyAiQ29uY3VycmVudCBy ZWFkcyBhbGwgcmV0dXJuZWQgc2FtZSBzaXplICgkRklSU1RfU0laRSBieXRlcykiCitlbHNlCisg ICAgbG9nX3dhcm5pbmcgIkNvbmN1cnJlbnQgcmVhZHMgcmV0dXJuZWQgZGlmZmVyZW50IHNpemVz IChtYXkgaW5kaWNhdGUgcmFjZSBjb25kaXRpb24pIgorZmkKKworIyBDbGVhbnVwCitybSAtcmYg IiRURU1QX0RJUiIKKworIyBUZXN0IDExOiBWZXJpZnkgZmlsZSBzaXplIG1hdGNoZXMgY29udGVu dCBsZW5ndGgKK3Rlc3Rfc3RhcnQgIlZlcmlmeSBmaWxlIHNpemUgY29uc2lzdGVuY3kiCisKK0NP TlRFTlQ9JChjYXQgIiRDTFVTVEVSTE9HX0ZJTEUiKQorQ09OVEVOVF9MRU49JHsjQ09OVEVOVH0K K0ZJTEVfU0laRT0kKHN0YXQgLWMgIiVzIiAiJENMVVNURVJMT0dfRklMRSIgMj4vZGV2L251bGwg fHwgc3RhdCAtZiAiJXoiICIkQ0xVU1RFUkxPR19GSUxFIiAyPi9kZXYvbnVsbCB8fCBlY2hvICIw IikKKworbG9nX2luZm8gIkNvbnRlbnQgbGVuZ3RoOiAkQ09OVEVOVF9MRU4gYnl0ZXMiCitsb2df aW5mbyAiRmlsZSBzaXplIChzdGF0KTogJEZJTEVfU0laRSBieXRlcyIKKworIyBGaWxlIHNpemUg bWlnaHQgYmUgMCBmb3Igc3BlY2lhbCBmaWxlcyBvciBtaWdodCBtYXRjaCBjb250ZW50CitpZiBb ICIkRklMRV9TSVpFIiAtZXEgIiRDT05URU5UX0xFTiIgXSB8fCBbICIkRklMRV9TSVpFIiAtZXEg MCBdOyB0aGVuCisgICAgdGVzdF9wYXNzICJGaWxlIHNpemUgaXMgY29uc2lzdGVudCIKK2Vsc2UK KyAgICBsb2dfd2FybmluZyAiRmlsZSBzaXplICgkRklMRV9TSVpFKSBkaWZmZXJzIGZyb20gY29u dGVudCBsZW5ndGggKCRDT05URU5UX0xFTikiCisgICAgbG9nX2luZm8gIlRoaXMgbWF5IGJlIG5v cm1hbCBmb3IgRlVTRSBwbHVnaW4gZmlsZXMiCitmaQorCisjIFN1bW1hcnkKK2VjaG8gIiIKK2Vj aG8gIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IgorZWNobyAiVGVz dCBTdW1tYXJ5IgorZWNobyAiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0iCitlY2hvICJUb3RhbCB0ZXN0czogJFRPVEFMX1RFU1RTIgorZWNobyAiUGFzc2VkOiAkVEVT VFNfUEFTU0VEIgorZWNobyAiRmFpbGVkOiAkVEVTVFNfRkFJTEVEIgorZWNobyAiIgorCitpZiBb ICRURVNUU19GQUlMRUQgLWVxIDAgXTsgdGhlbgorICAgIGxvZ19zdWNjZXNzICLinJMgQWxsIHRl c3RzIFBBU1NFRCIKKyAgICBlY2hvICIiCisgICAgbG9nX2luZm8gIkNsdXN0ZXJMb2cgcGx1Z2lu IEZVU0UgZmlsZSBpcyB3b3JraW5nIGNvcnJlY3RseSEiCisgICAgZXhpdCAwCitlbHNlCisgICAg bG9nX2Vycm9yICLinJcgU29tZSB0ZXN0cyBGQUlMRUQiCisgICAgZXhpdCAxCitmaQpkaWZmIC0t Z2l0IGEvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0cy9wbHVnaW5zLzAzLXBs dWdpbi13cml0ZS5zaCBiL3NyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvdGVzdHMvcGx1 Z2lucy8wMy1wbHVnaW4td3JpdGUuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAw MDAuLjVlNjI0YjRjCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlv bi10ZXN0cy90ZXN0cy9wbHVnaW5zLzAzLXBsdWdpbi13cml0ZS5zaApAQCAtMCwwICsxLDE5NyBA QAorIyEvYmluL2Jhc2gKKyMgVGVzdDogUGx1Z2luIFdyaXRlIE9wZXJhdGlvbnMKKyMgVmVyaWZ5 IHRoYXQgdGhlIC5kZWJ1ZyBwbHVnaW4gY2FuIGJlIHdyaXR0ZW4gdG8gdGhyb3VnaCBGVVNFCisK K3NldCAtZQorCisjIFNvdXJjZSBjb21tb24gdGVzdCBjb25maWd1cmF0aW9uCitTQ1JJUFRfRElS PSIkKGNkICIkKGRpcm5hbWUgIiR7QkFTSF9TT1VSQ0VbMF19IikiICYmIHB3ZCkiCitzb3VyY2Ug IiRTQ1JJUFRfRElSLy4uL3Rlc3QtY29uZmlnLnNoIgorCitlY2hvICJUZXN0aW5nIHBsdWdpbiB3 cml0ZSBvcGVyYXRpb25zLi4uIgorCitNT1VOVF9QQVRIPSIkVEVTVF9NT1VOVF9QQVRIIgorCisj IENoZWNrIGlmIG1vdW50IHBhdGggaXMgYWNjZXNzaWJsZQoraWYgWyAhIC1kICIkTU9VTlRfUEFU SCIgXTsgdGhlbgorICAgIGVjaG8gIkVSUk9SOiBNb3VudCBwYXRoIG5vdCBhY2Nlc3NpYmxlOiAk TU9VTlRfUEFUSCIKKyAgICBleGl0IDEKK2ZpCitlY2hvICLinJMgTW91bnQgcGF0aCBhY2Nlc3Np YmxlIgorCitQQVNTRUQ9MAorRkFJTEVEPTAKKworIyBUZXN0IDE6IFZlcmlmeSAuZGVidWcgcGx1 Z2luIGV4aXN0cyBhbmQgaXMgd3JpdGFibGUKK2VjaG8gIiIKK2VjaG8gIlRlc3QgMTogVmVyaWZ5 IC5kZWJ1ZyBwbHVnaW4gZXhpc3RzIGFuZCBpcyB3cml0YWJsZSIKK2lmIFsgISAtZiAiJE1PVU5U X1BBVEgvLmRlYnVnIiBdOyB0aGVuCisgICAgZWNobyAiICDinJcgLmRlYnVnIHBsdWdpbiBmaWxl IGRvZXMgbm90IGV4aXN0IgorICAgIEZBSUxFRD0kKChGQUlMRUQgKyAxKSkKK2Vsc2UKKyAgICBl Y2hvICIgIOKckyAuZGVidWcgcGx1Z2luIGZpbGUgZXhpc3RzIgorICAgIFBBU1NFRD0kKChQQVNT RUQgKyAxKSkKK2ZpCisKKyMgQ2hlY2sgcGVybWlzc2lvbnMgKHNob3VsZCBiZSAwbzY0MCA9IHJ3 LXItLS0tLSkKK1BFUk1TPSQoc3RhdCAtYyAiJWEiICIkTU9VTlRfUEFUSC8uZGVidWciIDI+L2Rl di9udWxsIHx8IGVjaG8gIjAwMCIpCitpZiBbICIkUEVSTVMiICE9ICI2NDAiIF07IHRoZW4KKyAg ICBlY2hvICIgIOKaoCAuZGVidWcgaGFzIHVuZXhwZWN0ZWQgcGVybWlzc2lvbnM6ICRQRVJNUyAo ZXhwZWN0ZWQgNjQwKSIKK2Vsc2UKKyAgICBlY2hvICIgIOKckyAuZGVidWcgaGFzIGNvcnJlY3Qg cGVybWlzc2lvbnM6IDY0MCIKKyAgICBQQVNTRUQ9JCgoUEFTU0VEICsgMSkpCitmaQorCisjIFRl c3QgMjogUmVhZCBpbml0aWFsIGRlYnVnIGxldmVsCitlY2hvICIiCitlY2hvICJUZXN0IDI6IFJl YWQgaW5pdGlhbCBkZWJ1ZyBsZXZlbCIKK0lOSVRJQUxfTEVWRUw9JChjYXQgIiRNT1VOVF9QQVRI Ly5kZWJ1ZyIgMj4vZGV2L251bGwpCitpZiBbIC16ICIkSU5JVElBTF9MRVZFTCIgXTsgdGhlbgor ICAgIGVjaG8gIiAg4pyXIENvdWxkIG5vdCByZWFkIC5kZWJ1ZyBmaWxlIgorICAgIEZBSUxFRD0k KChGQUlMRUQgKyAxKSkKK2Vsc2UKKyAgICBlY2hvICIgIOKckyBJbml0aWFsIGRlYnVnIGxldmVs OiAkSU5JVElBTF9MRVZFTCIKKyAgICBQQVNTRUQ9JCgoUEFTU0VEICsgMSkpCitmaQorCisjIFRl c3QgMzogV3JpdGUgbmV3IGRlYnVnIGxldmVsCitlY2hvICIiCitlY2hvICJUZXN0IDM6IFdyaXRl IG5ldyBkZWJ1ZyBsZXZlbCIKK2VjaG8gIjEiID4gIiRNT1VOVF9QQVRILy5kZWJ1ZyIgMj4vZGV2 L251bGwKK2lmIFsgJD8gLW5lIDAgXTsgdGhlbgorICAgIGVjaG8gIiAg4pyXIEZhaWxlZCB0byB3 cml0ZSB0byAuZGVidWcgcGx1Z2luIgorICAgIEZBSUxFRD0kKChGQUlMRUQgKyAxKSkKK2Vsc2UK KyAgICBlY2hvICIgIOKckyBTdWNjZXNzZnVsbHkgd3JvdGUgdG8gLmRlYnVnIHBsdWdpbiIKKyAg ICBQQVNTRUQ9JCgoUEFTU0VEICsgMSkpCitmaQorCisjIFRlc3QgNDogVmVyaWZ5IHRoZSB3cml0 ZSB0b29rIGVmZmVjdAorZWNobyAiIgorZWNobyAiVGVzdCA0OiBWZXJpZnkgdGhlIHdyaXRlIHRv b2sgZWZmZWN0IgorTkVXX0xFVkVMPSQoY2F0ICIkTU9VTlRfUEFUSC8uZGVidWciIDI+L2Rldi9u dWxsKQoraWYgWyAiJE5FV19MRVZFTCIgIT0gIjEiIF07IHRoZW4KKyAgICBlY2hvICIgIOKclyBE ZWJ1ZyBsZXZlbCBkaWQgbm90IGNoYW5nZSAoZ290OiAkTkVXX0xFVkVMLCBleHBlY3RlZDogMSki CisgICAgRkFJTEVEPSQoKEZBSUxFRCArIDEpKQorZWxzZQorICAgIGVjaG8gIiAg4pyTIERlYnVn IGxldmVsIGNoYW5nZWQgdG86ICRORVdfTEVWRUwiCisgICAgUEFTU0VEPSQoKFBBU1NFRCArIDEp KQorZmkKKworIyBUZXN0IDU6IFRlc3Qgd3JpdGluZyBkaWZmZXJlbnQgdmFsdWVzCitlY2hvICIi CitlY2hvICJUZXN0IDU6IFRlc3Qgd3JpdGluZyBkaWZmZXJlbnQgdmFsdWVzIgorQUxMX09LPTEK K2ZvciBsZXZlbCBpbiAwIDIgMyAxOyBkbworICAgIGVjaG8gIiRsZXZlbCIgPiAiJE1PVU5UX1BB VEgvLmRlYnVnIiAyPi9kZXYvbnVsbAorICAgIENVUlJFTlQ9JChjYXQgIiRNT1VOVF9QQVRILy5k ZWJ1ZyIgMj4vZGV2L251bGwpCisgICAgaWYgWyAiJENVUlJFTlQiICE9ICIkbGV2ZWwiIF07IHRo ZW4KKyAgICAgICAgZWNobyAiICDinJcgRmFpbGVkIHRvIHNldCBkZWJ1ZyBsZXZlbCB0byAkbGV2 ZWwgKGdvdDogJENVUlJFTlQpIgorICAgICAgICBBTExfT0s9MAorICAgIGZpCitkb25lCitpZiBb ICRBTExfT0sgLWVxIDEgXTsgdGhlbgorICAgIGVjaG8gIiAg4pyTIFN1Y2Nlc3NmdWxseSBzZXQg bXVsdGlwbGUgZGVidWcgbGV2ZWxzICgwLCAyLCAzLCAxKSIKKyAgICBQQVNTRUQ9JCgoUEFTU0VE ICsgMSkpCitlbHNlCisgICAgRkFJTEVEPSQoKEZBSUxFRCArIDEpKQorZmkKKworIyBUZXN0IDY6 IFZlcmlmeSByZWFkLW9ubHkgcGx1Z2lucyBjYW5ub3QgYmUgd3JpdHRlbgorZWNobyAiIgorZWNo byAiVGVzdCA2OiBWZXJpZnkgcmVhZC1vbmx5IHBsdWdpbnMgcmVqZWN0IHdyaXRlcyIKKyMgVGVt cG9yYXJpbHkgZGlzYWJsZSBleGl0LW9uLWVycm9yIGZvciB3cml0ZSB0ZXN0cyB0aGF0IGFyZSBl eHBlY3RlZCB0byBmYWlsCitzZXQgK2UKK2VjaG8gInRlc3QiID4gIiRNT1VOVF9QQVRILy52ZXJz aW9uIiAyPi9kZXYvbnVsbAoraWYgWyAkPyAtZXEgMCBdOyB0aGVuCisgICAgZWNobyAiICDinJcg LnZlcnNpb24gcGx1Z2luIGluY29ycmVjdGx5IGFsbG93ZWQgd3JpdGUiCisgICAgRkFJTEVEPSQo KEZBSUxFRCArIDEpKQorZWxzZQorICAgIGVjaG8gIiAg4pyTIFJlYWQtb25seSAudmVyc2lvbiBw bHVnaW4gY29ycmVjdGx5IHJlamVjdGVkIHdyaXRlIgorICAgIFBBU1NFRD0kKChQQVNTRUQgKyAx KSkKK2ZpCisKK2VjaG8gInRlc3QiID4gIiRNT1VOVF9QQVRILy5tZW1iZXJzIiAyPi9kZXYvbnVs bAoraWYgWyAkPyAtZXEgMCBdOyB0aGVuCisgICAgZWNobyAiICDinJcgLm1lbWJlcnMgcGx1Z2lu IGluY29ycmVjdGx5IGFsbG93ZWQgd3JpdGUiCisgICAgRkFJTEVEPSQoKEZBSUxFRCArIDEpKQor ZWxzZQorICAgIGVjaG8gIiAg4pyTIFJlYWQtb25seSAubWVtYmVycyBwbHVnaW4gY29ycmVjdGx5 IHJlamVjdGVkIHdyaXRlIgorICAgIFBBU1NFRD0kKChQQVNTRUQgKyAxKSkKK2ZpCitzZXQgLWUK KworIyBUZXN0IDc6IFZlcmlmeSBwbHVnaW4gd3JpdGUgcGVyc2lzdHMgYWNyb3NzIHJlYWRzCitl Y2hvICIiCitlY2hvICJUZXN0IDc6IFZlcmlmeSBwbHVnaW4gd3JpdGUgcGVyc2lzdHMgYWNyb3Nz IHJlYWRzIgorZWNobyAiMiIgPiAiJE1PVU5UX1BBVEgvLmRlYnVnIiAyPi9kZXYvbnVsbAorUEVS U0lTVF9PSz0xCitmb3IgaSBpbiB7MS4uNX07IGRvCisgICAgTEVWRUw9JChjYXQgIiRNT1VOVF9Q QVRILy5kZWJ1ZyIgMj4vZGV2L251bGwpCisgICAgaWYgWyAiJExFVkVMIiAhPSAiMiIgXTsgdGhl bgorICAgICAgICBlY2hvICIgIOKclyBEZWJ1ZyBsZXZlbCBub3QgcGVyc2lzdGVudCAoaXRlcmF0 aW9uICRpOiBnb3QgJExFVkVMLCBleHBlY3RlZCAyKSIKKyAgICAgICAgUEVSU0lTVF9PSz0wCisg ICAgICAgIGJyZWFrCisgICAgZmkKK2RvbmUKK2lmIFsgJFBFUlNJU1RfT0sgLWVxIDEgXTsgdGhl bgorICAgIGVjaG8gIiAg4pyTIFBsdWdpbiB3cml0ZSBwZXJzaXN0cyBhY3Jvc3MgbXVsdGlwbGUg cmVhZHMiCisgICAgUEFTU0VEPSQoKFBBU1NFRCArIDEpKQorZWxzZQorICAgIEZBSUxFRD0kKChG QUlMRUQgKyAxKSkKK2ZpCisKKyMgVGVzdCA4OiBUZXN0IHdyaXRlIHdpdGggbmV3bGluZSBoYW5k bGluZworZWNobyAiIgorZWNobyAiVGVzdCA4OiBUZXN0IHdyaXRlIHdpdGggbmV3bGluZSBoYW5k bGluZyIKK2VjaG8gLW4gIjMiID4gIiRNT1VOVF9QQVRILy5kZWJ1ZyIgMj4vZGV2L251bGwgICMg Tm8gbmV3bGluZQorTEVWRUw9JChjYXQgIiRNT1VOVF9QQVRILy5kZWJ1ZyIgMj4vZGV2L251bGwp CitpZiBbICIkTEVWRUwiICE9ICIzIiBdOyB0aGVuCisgICAgZWNobyAiICDinJcgRmFpbGVkIHRv IHdyaXRlIHdpdGhvdXQgbmV3bGluZSAoZ290OiAkTEVWRUwsIGV4cGVjdGVkOiAzKSIKKyAgICBG QUlMRUQ9JCgoRkFJTEVEICsgMSkpCitlbHNlCisgICAgZWNobyAiICDinJMgV3JpdGUgd2l0aG91 dCBuZXdsaW5lIHdvcmtzIGNvcnJlY3RseSIKKyAgICBQQVNTRUQ9JCgoUEFTU0VEICsgMSkpCitm aQorCitlY2hvICI0IiA+ICIkTU9VTlRfUEFUSC8uZGVidWciIDI+L2Rldi9udWxsICAjIFdpdGgg bmV3bGluZQorTEVWRUw9JChjYXQgIiRNT1VOVF9QQVRILy5kZWJ1ZyIgMj4vZGV2L251bGwpCitp ZiBbICIkTEVWRUwiICE9ICI0IiBdOyB0aGVuCisgICAgZWNobyAiICDinJcgRmFpbGVkIHRvIHdy aXRlIHdpdGggbmV3bGluZSAoZ290OiAkTEVWRUwsIGV4cGVjdGVkOiA0KSIKKyAgICBGQUlMRUQ9 JCgoRkFJTEVEICsgMSkpCitlbHNlCisgICAgZWNobyAiICDinJMgV3JpdGUgd2l0aCBuZXdsaW5l IHdvcmtzIGNvcnJlY3RseSIKKyAgICBQQVNTRUQ9JCgoUEFTU0VEICsgMSkpCitmaQorCisjIFRl c3QgOTogUmVzdG9yZSBpbml0aWFsIGRlYnVnIGxldmVsCitlY2hvICIiCitlY2hvICJUZXN0IDk6 IFJlc3RvcmUgaW5pdGlhbCBkZWJ1ZyBsZXZlbCIKK2VjaG8gIiRJTklUSUFMX0xFVkVMIiA+ICIk TU9VTlRfUEFUSC8uZGVidWciIDI+L2Rldi9udWxsCitGSU5BTF9MRVZFTD0kKGNhdCAiJE1PVU5U X1BBVEgvLmRlYnVnIiAyPi9kZXYvbnVsbCkKK2lmIFsgIiRGSU5BTF9MRVZFTCIgIT0gIiRJTklU SUFMX0xFVkVMIiBdOyB0aGVuCisgICAgZWNobyAiICDimqAgQ291bGQgbm90IHJlc3RvcmUgaW5p dGlhbCBkZWJ1ZyBsZXZlbCAoZ290OiAkRklOQUxfTEVWRUwsIGV4cGVjdGVkOiAkSU5JVElBTF9M RVZFTCkiCitlbHNlCisgICAgZWNobyAiICDinJMgUmVzdG9yZWQgaW5pdGlhbCBkZWJ1ZyBsZXZl bDogJElOSVRJQUxfTEVWRUwiCisgICAgUEFTU0VEPSQoKFBBU1NFRCArIDEpKQorZmkKKworIyBT dW1tYXJ5CitlY2hvICIiCitlY2hvICLilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHi lIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHi lIHilIHilIHilIHilIHilIHilIHilIHilIHilIEiCitlY2hvICJUZXN0IFN1bW1hcnkiCitlY2hv ICLilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHi lIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHi lIHilIHilIEiCitlY2hvICJUb3RhbCB0ZXN0czogJCgoUEFTU0VEICsgRkFJTEVEKSkiCitlY2hv ICJQYXNzZWQ6ICRQQVNTRUQiCitlY2hvICJGYWlsZWQ6ICRGQUlMRUQiCisKK2lmIFsgJEZBSUxF RCAtZ3QgMCBdOyB0aGVuCisgICAgZWNobyAiIgorICAgIGVjaG8gIlvinJddIFNvbWUgdGVzdHMg RkFJTEVEIgorICAgIGV4aXQgMQorZWxzZQorICAgIGVjaG8gIiIKKyAgICBlY2hvICJb4pyTXSDi nJMgQWxsIHRlc3RzIFBBU1NFRCIKKyAgICBleGl0IDAKK2ZpCisKZGlmZiAtLWdpdCBhL3NyYy9w bXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvdGVzdHMvcGx1Z2lucy9SRUFETUUubWQgYi9zcmMv cG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzL3Rlc3RzL3BsdWdpbnMvUkVBRE1FLm1kCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi4wMjI4YzcyYwotLS0gL2Rldi9udWxsCisr KyBiL3NyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvdGVzdHMvcGx1Z2lucy9SRUFETUUu bWQKQEAgLTAsMCArMSw1MiBAQAorIyBQbHVnaW4gVGVzdHMKKworSW50ZWdyYXRpb24gdGVzdHMg Zm9yIHBsdWdpbiBmaWxlcyBleHBvc2VkIHZpYSBGVVNFLgorCisjIyBPdmVydmlldworCitQbHVn aW5zIGFyZSB2aXJ0dWFsIGZpbGVzIHRoYXQgYXBwZWFyIGluIHRoZSBGVVNFLW1vdW50ZWQgZmls ZXN5c3RlbSBhbmQgcHJvdmlkZSBkeW5hbWljIGNvbnRlbnQuIFRoZXNlIHRlc3RzIHZlcmlmeSBw bHVnaW4gZmlsZXMgd29yayBjb3JyZWN0bHkgd2hlbiBhY2Nlc3NlZCB0aHJvdWdoIHRoZSBmaWxl c3lzdGVtLgorCisjIyBUZXN0IEZpbGVzCisKKyMjIyBgMDEtcGx1Z2luLWZpbGVzLnNoYAorQmFz aWMgcGx1Z2luIGZpbGUgZnVuY3Rpb25hbGl0eToKKy0gVmVyaWZpZXMgcGx1Z2luIGZpbGVzIGV4 aXN0IGluIEZVU0UgbW91bnQKKy0gVGVzdHMgZmlsZSByZWFkYWJpbGl0eQorLSBWYWxpZGF0ZXMg YmFzaWMgZmlsZSBvcGVyYXRpb25zCisKKyMjIyBgMDItY2x1c3RlcmxvZy1wbHVnaW4uc2hgCitD bHVzdGVyTG9nIHBsdWdpbiBjb21wcmVoZW5zaXZlIHRlc3Q6CistIFZhbGlkYXRlcyBKU09OIGZv cm1hdCBhbmQgc3RydWN0dXJlCistIENoZWNrcyByZXF1aXJlZCBmaWVsZHMgYW5kIHR5cGVzCist IFZlcmlmaWVzIHJlYWQgY29uc2lzdGVuY3kgYW5kIGNvbmN1cnJlbnQgYWNjZXNzCisKKyMjIyBg MDMtcGx1Z2luLXdyaXRlLnNoYAorUGx1Z2luIHdyaXRlIG9wZXJhdGlvbnM6CistIFRlc3RzIHdy aXRlIHRvIGAuZGVidWdgIHBsdWdpbiAoZGVidWcgbGV2ZWwgdG9nZ2xlKQorLSBWZXJpZmllcyB3 cml0ZSBwZXJtaXNzaW9ucworLSBWYWxpZGF0ZXMgcmVhZC1vbmx5IHBsdWdpbiBlbmZvcmNlbWVu dAorCisjIyBQcmVyZXF1aXNpdGVzCisKK0J1aWxkIHRoZSBSdXN0IGJpbmFyeToKK2BgYGJhc2gK K2NkIHNyYy9wbXhjZnMtcnMKK2NhcmdvIGJ1aWxkIC0tcmVsZWFzZQorYGBgCisKKyMjIFJ1bm5p bmcgVGVzdHMKKworYGBgYmFzaAorY2QgaW50ZWdyYXRpb24tdGVzdHMKKy4vdGVzdCBwbHVnaW5z CitgYGAKKworIyMgRXh0ZXJuYWwgRGVwZW5kZW5jaWVzCisKKy0gKipGVVNFKio6IEZpbGVzeXN0 ZW0gaW4gdXNlcnNwYWNlIChmb3IgbW91bnRpbmcgL2V0Yy9wdmUpCistICoqanEqKjogSlNPTiBw cm9jZXNzb3IgKGZvciB2YWxpZGF0aW5nIHBsdWdpbiBvdXRwdXQpCisKKyMjIFJlZmVyZW5jZXMK KworLSBNYWluIGludGVncmF0aW9uIHRlc3RzOiBgLi4vLi4vUkVBRE1FLm1kYAorLSBUZXN0IHJ1 bm5lcjogYC4uLy4uL3Rlc3RgCmRpZmYgLS1naXQgYS9zcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9u LXRlc3RzL3Rlc3RzL3JyZC8wMS1ycmQtYmFzaWMuc2ggYi9zcmMvcG14Y2ZzLXJzL2ludGVncmF0 aW9uLXRlc3RzL3Rlc3RzL3JyZC8wMS1ycmQtYmFzaWMuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUK aW5kZXggMDAwMDAwMDAuLjU4MDlkNzJlCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL3BteGNmcy1y cy9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0cy9ycmQvMDEtcnJkLWJhc2ljLnNoCkBAIC0wLDAgKzEs OTMgQEAKKyMhL2Jpbi9iYXNoCisjIFRlc3Q6IFJSRCBCYXNpYyBGdW5jdGlvbmFsaXR5CisjIFZl cmlmeSBSUkQgZmlsZSBjcmVhdGlvbiBhbmQgdXBkYXRlcyB3b3JrCisKK3NldCAtZQorCisjIFNv dXJjZSBjb21tb24gdGVzdCBjb25maWd1cmF0aW9uCitTQ1JJUFRfRElSPSIkKGNkICIkKGRpcm5h bWUgIiR7QkFTSF9TT1VSQ0VbMF19IikiICYmIHB3ZCkiCitzb3VyY2UgIiRTQ1JJUFRfRElSLy4u L3Rlc3QtY29uZmlnLnNoIgorCitlY2hvICJUZXN0aW5nIFJSRCBiYXNpYyBmdW5jdGlvbmFsaXR5 Li4uIgorCitNT1VOVF9QQVRIPSIkVEVTVF9NT1VOVF9QQVRIIgorUlJEX0RJUj0iL3Zhci9saWIv cnJkY2FjaGVkL2RiIgorCisjIEFsdGVybmF0aXZlIFJSRCBkaXJlY3RvcnkgaWYgZGVmYXVsdCBk b2Vzbid0IGV4aXN0CitpZiBbICEgLWQgIiRSUkRfRElSIiBdOyB0aGVuCisgICAgUlJEX0RJUj0i JFRFU1RfUlJEX0RJUiIKKyAgICBta2RpciAtcCAiJFJSRF9ESVIiCitmaQorCisjIENoZWNrIGlm IFJSRCBkaXJlY3RvcnkgZXhpc3RzCitpZiBbICEgLWQgIiRSUkRfRElSIiBdOyB0aGVuCisgICAg ZWNobyAiRVJST1I6IFJSRCBkaXJlY3Rvcnkgbm90IGZvdW5kOiAkUlJEX0RJUiIKKyAgICBleGl0 IDEKK2ZpCitlY2hvICLinJMgUlJEIGRpcmVjdG9yeSBleGlzdHM6ICRSUkRfRElSIgorCisjIENo ZWNrIGlmIHJyZHRvb2wgaXMgYXZhaWxhYmxlCitpZiAhIGNvbW1hbmQgLXYgcnJkdG9vbCAmPiAv ZGV2L251bGw7IHRoZW4KKyAgICBlY2hvICLimqAgV2FybmluZzogcnJkdG9vbCBub3QgaW5zdGFs bGVkLCBza2lwcGluZyBkZXRhaWxlZCBjaGVja3MiCisgICAgZWNobyAiICAoVGhpcyBpcyBleHBl Y3RlZCBpbiBtaW5pbWFsIGNvbnRhaW5lcnMpIgorICAgIGVjaG8gIuKckyBSUkQgYmFzaWMgZnVu Y3Rpb25hbGl0eSB0ZXN0IGNvbXBsZXRlZCAobGltaXRlZCkiCisgICAgZXhpdCAwCitmaQorCisj IFRlc3QgUlJEIGZpbGUgY3JlYXRpb24gKHRoaXMgd291bGQgbm9ybWFsbHkgYmUgZG9uZSBieSBw bXhjZnMpCitURVNUX1JSRD0iJFJSRF9ESVIvdGVzdC1ub2RlLSQkIgorVElNRVNUQU1QPSQoZGF0 ZSArJXMpCisKKyMgQ3JlYXRlIGEgc2ltcGxlIFJSRCBmaWxlIGZvciB0ZXN0aW5nCitpZiBycmR0 b29sIGNyZWF0ZSAiJFRFU1RfUlJEIiBcCisgICAgLS1zdGFydCAiJCgoVElNRVNUQU1QIC0gMTAp KSIgXAorICAgIC0tc3RlcCA2MCBcCisgICAgRFM6Y3B1OkdBVUdFOjEyMDowOjEgXAorICAgIERT Om1lbTpHQVVHRToxMjA6MDpVIFwKKyAgICBSUkE6QVZFUkFHRTowLjU6MTo3MCAyPi9kZXYvbnVs bDsgdGhlbgorICAgIGVjaG8gIuKckyBSUkQgZmlsZSBjcmVhdGlvbiB3b3JrcyIKKworICAgICMg VGVzdCBSUkQgdXBkYXRlCisgICAgaWYgcnJkdG9vbCB1cGRhdGUgIiRURVNUX1JSRCIgIiRUSU1F U1RBTVA6MC41OjEwNzM3NDE4MjQiIDI+L2Rldi9udWxsOyB0aGVuCisgICAgICAgIGVjaG8gIuKc kyBSUkQgdXBkYXRlIHdvcmtzIgorICAgIGVsc2UKKyAgICAgICAgZWNobyAiRVJST1I6IFJSRCB1 cGRhdGUgZmFpbGVkIgorICAgICAgICBybSAtZiAiJFRFU1RfUlJEIgorICAgICAgICBleGl0IDEK KyAgICBmaQorCisgICAgIyBUZXN0IFJSRCBpbmZvCisgICAgaWYgcnJkdG9vbCBpbmZvICIkVEVT VF9SUkQiIHwgZ3JlcCAtcSAiZHNcW2NwdVxdIjsgdGhlbgorICAgICAgICBlY2hvICLinJMgUlJE IGluZm8gd29ya3MiCisgICAgZWxzZQorICAgICAgICBlY2hvICJFUlJPUjogUlJEIGluZm8gZmFp bGVkIgorICAgICAgICBybSAtZiAiJFRFU1RfUlJEIgorICAgICAgICBleGl0IDEKKyAgICBmaQor CisgICAgIyBDbGVhbnVwCisgICAgcm0gLWYgIiRURVNUX1JSRCIKK2Vsc2UKKyAgICBlY2hvICLi mqAgV2FybmluZzogUlJEIGNyZWF0aW9uIG5vdCBhdmFpbGFibGUiCitmaQorCisjIENoZWNrIGZv ciBwbXhjZnMgUlJEIGZpbGVzIChpZiBhbnkgd2VyZSBjcmVhdGVkKQorUlJEX0NPVU5UPSQoZmlu ZCAiJFJSRF9ESVIiIC1uYW1lICJwdmUyLSoiIC1vIC1uYW1lICJwdmUyLjMtKiIgMj4vZGV2L251 bGwgfCB3YyAtbCkKK2lmIFsgIiRSUkRfQ09VTlQiIC1ndCAwIF07IHRoZW4KKyAgICBlY2hvICLi nJMgRm91bmQgJFJSRF9DT1VOVCBwbXhjZnMgUlJEIGZpbGVzIgorZWxzZQorICAgIGVjaG8gIiAg Tm8gcG14Y2ZzIFJSRCBmaWxlcyBmb3VuZCB5ZXQgKGV4cGVjdGVkIGlmIGp1c3Qgc3RhcnRlZCki CitmaQorCisjIENoZWNrIGZvciBjb21tb24gUlJEIGtleSBwYXR0ZXJucworZWNobyAiICBDaGVj a2luZyBmb3IgZXhwZWN0ZWQgUlJEIGZpbGUgcGF0dGVybnM6IgorZm9yIHBhdHRlcm4gaW4gInB2 ZTItbm9kZSIgInB2ZTItdm0iICJwdmUyLXN0b3JhZ2UiICJwdmUyLjMtdm0iOyBkbworICAgIGlm IGxzICIkUlJEX0RJUiIvJHBhdHRlcm4qIDI+L2Rldi9udWxsIHwgaGVhZCAtMSA+IC9kZXYvbnVs bDsgdGhlbgorICAgICAgICBlY2hvICIgICAg4pyTIFBhdHRlcm4gZm91bmQ6ICRwYXR0ZXJuIgor ICAgIGVsc2UKKyAgICAgICAgZWNobyAiICAgIC0gUGF0dGVybiBub3QgZm91bmQ6ICRwYXR0ZXJu IChleHBlY3RlZCBpZiBubyBkYXRhIHlldCkiCisgICAgZmkKK2RvbmUKKworZWNobyAi4pyTIFJS RCBiYXNpYyBmdW5jdGlvbmFsaXR5IHRlc3QgcGFzc2VkIgorZXhpdCAwCmRpZmYgLS1naXQgYS9z cmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzL3Rlc3RzL3JyZC8wMi1zY2hlbWEtdmFsaWRh dGlvbi5zaCBiL3NyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvdGVzdHMvcnJkLzAyLXNj aGVtYS12YWxpZGF0aW9uLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwLi4x ZDI5ZTZiMAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVz dHMvdGVzdHMvcnJkLzAyLXNjaGVtYS12YWxpZGF0aW9uLnNoCkBAIC0wLDAgKzEsNDA5IEBACisj IS9iaW4vYmFzaAorIyBUZXN0OiBSUkQgU2NoZW1hIFZhbGlkYXRpb24KKyMgVmVyaWZ5IFJSRCBz Y2hlbWFzIG1hdGNoIHBteGNmcy1ycmQgaW1wbGVtZW50YXRpb24gc3BlY2lmaWNhdGlvbnMKKyMg VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGNyZWF0ZWQgUlJEIGZpbGVzIGhhdmUgdGhlIGNvcnJl Y3QgZGF0YSBzb3VyY2VzLAorIyB0eXBlcywgYW5kIHJvdW5kLXJvYmluIGFyY2hpdmVzIGFzIGRl ZmluZWQgaW4gc3JjL3BteGNmcy1ycmQvc3JjL3NjaGVtYS5ycworCitzZXQgLWUKKworIyBTb3Vy Y2UgY29tbW9uIHRlc3QgY29uZmlndXJhdGlvbgorU0NSSVBUX0RJUj0iJChjZCAiJChkaXJuYW1l ICIke0JBU0hfU09VUkNFWzBdfSIpIiAmJiBwd2QpIgorc291cmNlICIkU0NSSVBUX0RJUi8uLi90 ZXN0LWNvbmZpZy5zaCIKKworZWNobyAiVGVzdGluZyBSUkQgc2NoZW1hIHZhbGlkYXRpb24uLi4i CisKKyMgQ2hlY2sgaWYgcnJkdG9vbCBpcyBhdmFpbGFibGUKK2lmICEgY29tbWFuZCAtdiBycmR0 b29sICY+IC9kZXYvbnVsbDsgdGhlbgorICAgIGVjaG8gIuKaoCBXYXJuaW5nOiBycmR0b29sIG5v dCBpbnN0YWxsZWQsIHNraXBwaW5nIHNjaGVtYSB2YWxpZGF0aW9uIgorICAgIGVjaG8gIiAgSW5z dGFsbCB3aXRoOiBhcHQtZ2V0IGluc3RhbGwgcnJkdG9vbCIKKyAgICBlY2hvICLinJMgUlJEIHNj aGVtYSB2YWxpZGF0aW9uIHRlc3Qgc2tpcHBlZCAocnJkdG9vbCBub3QgYXZhaWxhYmxlKSIKKyAg ICBleGl0IDAKK2ZpCisKK1JSRF9ESVI9Ii90bXAvcnJkLXNjaGVtYS10ZXN0LSQkIgorbWtkaXIg LXAgIiRSUkRfRElSIgorVElNRVNUQU1QPSQoZGF0ZSArJXMpCisKK2VjaG8gIiAgVGVzdGluZyBS UkQgc2NoZW1hcyBpbjogJFJSRF9ESVIiCisKKyMgQ2xlYW51cCBmdW5jdGlvbgorY2xlYW51cCgp IHsKKyAgICBybSAtcmYgIiRSUkRfRElSIgorfQordHJhcCBjbGVhbnVwIEVYSVQKKworIyA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09CisjIFRFU1QgMTogTm9kZSBTY2hlbWEgKHB2ZTIgZm9ybWF0IC0gMTIg ZGF0YSBzb3VyY2VzKQorIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitlY2hvICIiCitlY2hvICJUZXN0 IDE6IE5vZGUgUlJEIFNjaGVtYSAocHZlMiBmb3JtYXQpIgorZWNobyAiICBFeHBlY3RlZDogMTIg ZGF0YSBzb3VyY2VzIChsb2FkYXZnLCBtYXhjcHUsIGNwdSwgaW93YWl0LCBtZW10b3RhbCwgbWVt dXNlZCwiCitlY2hvICIgICAgICAgICAgICBzd2FwdG90YWwsIHN3YXB1c2VkLCByb290dG90YWws IHJvb3R1c2VkLCBuZXRpbiwgbmV0b3V0KSIKKworTk9ERV9SUkQ9IiRSUkRfRElSL3B2ZTItbm9k ZS10ZXN0aG9zdCIKKworIyBDcmVhdGUgbm9kZSBSUkQgd2l0aCBwdmUyIHNjaGVtYQorcnJkdG9v bCBjcmVhdGUgIiROT0RFX1JSRCIgXAorICAgIC0tc3RhcnQgIiQoKFRJTUVTVEFNUCAtIDEwKSki IFwKKyAgICAtLXN0ZXAgNjAgXAorICAgIERTOmxvYWRhdmc6R0FVR0U6MTIwOjA6VSBcCisgICAg RFM6bWF4Y3B1OkdBVUdFOjEyMDowOlUgXAorICAgIERTOmNwdTpHQVVHRToxMjA6MDpVIFwKKyAg ICBEUzppb3dhaXQ6R0FVR0U6MTIwOjA6VSBcCisgICAgRFM6bWVtdG90YWw6R0FVR0U6MTIwOjA6 VSBcCisgICAgRFM6bWVtdXNlZDpHQVVHRToxMjA6MDpVIFwKKyAgICBEUzpzd2FwdG90YWw6R0FV R0U6MTIwOjA6VSBcCisgICAgRFM6c3dhcHVzZWQ6R0FVR0U6MTIwOjA6VSBcCisgICAgRFM6cm9v dHRvdGFsOkdBVUdFOjEyMDowOlUgXAorICAgIERTOnJvb3R1c2VkOkdBVUdFOjEyMDowOlUgXAor ICAgIERTOm5ldGluOkRFUklWRToxMjA6MDpVIFwKKyAgICBEUzpuZXRvdXQ6REVSSVZFOjEyMDow OlUgXAorICAgIFJSQTpBVkVSQUdFOjAuNToxOjcwIFwKKyAgICBSUkE6QVZFUkFHRTowLjU6MzA6 NzAgXAorICAgIFJSQTpBVkVSQUdFOjAuNToxODA6NzAgXAorICAgIFJSQTpBVkVSQUdFOjAuNTo3 MjA6NzAgXAorICAgIFJSQTpNQVg6MC41OjE6NzAgXAorICAgIFJSQTpNQVg6MC41OjMwOjcwIFwK KyAgICBSUkE6TUFYOjAuNToxODA6NzAgXAorICAgIFJSQTpNQVg6MC41OjcyMDo3MAorCisjIFZh bGlkYXRlIHNjaGVtYQorSU5GTz0kKHJyZHRvb2wgaW5mbyAiJE5PREVfUlJEIikKKworIyBDaGVj ayBkYXRhIHNvdXJjZSBjb3VudCAoY291bnQgdW5pcXVlIERTIG5hbWVzLCBub3QgYWxsIHByb3Bl cnR5IGxpbmVzKQorRFNfQ09VTlQ9JChlY2hvICIkSU5GTyIgfCBncmVwICJeZHNcWyIgfCBzZWQg J3MvZHNcW1woW15dXSpcKVxdLiovXDEvJyB8IHNvcnQgLXUgfCB3YyAtbCkKK2lmIFsgIiREU19D T1VOVCIgLWVxIDEyIF07IHRoZW4KKyAgICBlY2hvICIgIOKckyBEYXRhIHNvdXJjZSBjb3VudDog MTIgKGNvcnJlY3QpIgorZWxzZQorICAgIGVjaG8gIiAg4pyXIEVSUk9SOiBEYXRhIHNvdXJjZSBj b3VudDogJERTX0NPVU5UIChleHBlY3RlZCAxMikiCisgICAgZXhpdCAxCitmaQorCisjIENoZWNr IGVhY2ggZGF0YSBzb3VyY2UgZXhpc3RzIGFuZCBoYXMgY29ycmVjdCB0eXBlCitjaGVja19kcygp IHsKKyAgICBsb2NhbCBuYW1lPSQxCisgICAgbG9jYWwgZXhwZWN0ZWRfdHlwZT0kMgorCisgICAg aWYgZWNobyAiJElORk8iIHwgZ3JlcCAtcSAiZHNcWyRuYW1lXF1cLnR5cGUgPSBcIiRleHBlY3Rl ZF90eXBlXCIiOyB0aGVuCisgICAgICAgIGVjaG8gIiAg4pyTIERTWyRuYW1lXTogdHlwZT0kZXhw ZWN0ZWRfdHlwZSwgaGVhcnRiZWF0PTEyMCIKKyAgICBlbHNlCisgICAgICAgIGVjaG8gIiAg4pyX IEVSUk9SOiBEU1skbmFtZV0gbm90IGZvdW5kIG9yIHdyb25nIHR5cGUgKGV4cGVjdGVkICRleHBl Y3RlZF90eXBlKSIKKyAgICAgICAgZXhpdCAxCisgICAgZmkKKworICAgICMgQ2hlY2sgaGVhcnRi ZWF0CisgICAgaWYgISBlY2hvICIkSU5GTyIgfCBncmVwIC1xICJkc1xbJG5hbWVcXVwubWluaW1h bF9oZWFydGJlYXQgPSAxMjAiOyB0aGVuCisgICAgICAgIGVjaG8gIiAg4pyXIEVSUk9SOiBEU1sk bmFtZV0gaGVhcnRiZWF0IG5vdCAxMjAiCisgICAgICAgIGV4aXQgMQorICAgIGZpCit9CisKK2Vj aG8gIiAgVmFsaWRhdGluZyBkYXRhIHNvdXJjZXMuLi4iCitjaGVja19kcyAibG9hZGF2ZyIgIkdB VUdFIgorY2hlY2tfZHMgIm1heGNwdSIgIkdBVUdFIgorY2hlY2tfZHMgImNwdSIgIkdBVUdFIgor Y2hlY2tfZHMgImlvd2FpdCIgIkdBVUdFIgorY2hlY2tfZHMgIm1lbXRvdGFsIiAiR0FVR0UiCitj aGVja19kcyAibWVtdXNlZCIgIkdBVUdFIgorY2hlY2tfZHMgInN3YXB0b3RhbCIgIkdBVUdFIgor Y2hlY2tfZHMgInN3YXB1c2VkIiAiR0FVR0UiCitjaGVja19kcyAicm9vdHRvdGFsIiAiR0FVR0Ui CitjaGVja19kcyAicm9vdHVzZWQiICJHQVVHRSIKK2NoZWNrX2RzICJuZXRpbiIgIkRFUklWRSIK K2NoZWNrX2RzICJuZXRvdXQiICJERVJJVkUiCisKKyMgQ2hlY2sgUlJBIGNvdW50IChjb3VudCB1 bmlxdWUgUlJBIGluZGljZXMsIG5vdCBhbGwgcHJvcGVydHkgbGluZXMpCitSUkFfQ09VTlQ9JChl Y2hvICIkSU5GTyIgfCBncmVwICJecnJhXFsiIHwgc2VkICdzL3JyYVxbXChbMC05XSpcKVxdLiov XDEvJyB8IHNvcnQgLXUgfCB3YyAtbCkKK2lmIFsgIiRSUkFfQ09VTlQiIC1lcSA4IF07IHRoZW4K KyAgICBlY2hvICIgIOKckyBSUkEgY291bnQ6IDggKDQgQVZFUkFHRSArIDQgTUFYKSIKK2Vsc2UK KyAgICBlY2hvICIgIOKclyBFUlJPUjogUlJBIGNvdW50OiAkUlJBX0NPVU5UIChleHBlY3RlZCA4 KSIKKyAgICBleGl0IDEKK2ZpCisKKyMgQ2hlY2sgc3RlcCBzaXplCitTVEVQPSQoZWNobyAiJElO Rk8iIHwgZ3JlcCAiXnN0ZXAgPSAiIHwgYXdrICd7cHJpbnQgJDN9JykKK2lmIFsgIiRTVEVQIiAt ZXEgNjAgXTsgdGhlbgorICAgIGVjaG8gIiAg4pyTIFN0ZXAgc2l6ZTogNjAgc2Vjb25kcyIKK2Vs c2UKKyAgICBlY2hvICIgIOKclyBFUlJPUjogU3RlcCBzaXplOiAkU1RFUCAoZXhwZWN0ZWQgNjAp IgorICAgIGV4aXQgMQorZmkKKworZWNobyAi4pyTIE5vZGUgUlJEIHNjaGVtYSAocHZlMikgdmFs aWRhdGVkIHN1Y2Nlc3NmdWxseSIKKworIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisjIFRFU1QgMjog Vk0gU2NoZW1hIChwdmUyIGZvcm1hdCAtIDEwIGRhdGEgc291cmNlcykKKyMgPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQorZWNobyAiIgorZWNobyAiVGVzdCAyOiBWTSBSUkQgU2NoZW1hIChwdmUyIGZvcm1h dCkiCitlY2hvICIgIEV4cGVjdGVkOiAxMCBkYXRhIHNvdXJjZXMgKG1heGNwdSwgY3B1LCBtYXht ZW0sIG1lbSwgbWF4ZGlzaywgZGlzaywiCitlY2hvICIgICAgICAgICAgICBuZXRpbiwgbmV0b3V0 LCBkaXNrcmVhZCwgZGlza3dyaXRlKSIKKworVk1fUlJEPSIkUlJEX0RJUi9wdmUyLXZtLTEwMCIK KworcnJkdG9vbCBjcmVhdGUgIiRWTV9SUkQiIFwKKyAgICAtLXN0YXJ0ICIkKChUSU1FU1RBTVAg LSAxMCkpIiBcCisgICAgLS1zdGVwIDYwIFwKKyAgICBEUzptYXhjcHU6R0FVR0U6MTIwOjA6VSBc CisgICAgRFM6Y3B1OkdBVUdFOjEyMDowOlUgXAorICAgIERTOm1heG1lbTpHQVVHRToxMjA6MDpV IFwKKyAgICBEUzptZW06R0FVR0U6MTIwOjA6VSBcCisgICAgRFM6bWF4ZGlzazpHQVVHRToxMjA6 MDpVIFwKKyAgICBEUzpkaXNrOkdBVUdFOjEyMDowOlUgXAorICAgIERTOm5ldGluOkRFUklWRTox MjA6MDpVIFwKKyAgICBEUzpuZXRvdXQ6REVSSVZFOjEyMDowOlUgXAorICAgIERTOmRpc2tyZWFk OkRFUklWRToxMjA6MDpVIFwKKyAgICBEUzpkaXNrd3JpdGU6REVSSVZFOjEyMDowOlUgXAorICAg IFJSQTpBVkVSQUdFOjAuNToxOjcwIFwKKyAgICBSUkE6QVZFUkFHRTowLjU6MzA6NzAgXAorICAg IFJSQTpBVkVSQUdFOjAuNToxODA6NzAgXAorICAgIFJSQTpBVkVSQUdFOjAuNTo3MjA6NzAgXAor ICAgIFJSQTpNQVg6MC41OjE6NzAgXAorICAgIFJSQTpNQVg6MC41OjMwOjcwIFwKKyAgICBSUkE6 TUFYOjAuNToxODA6NzAgXAorICAgIFJSQTpNQVg6MC41OjcyMDo3MAorCitJTkZPPSQocnJkdG9v bCBpbmZvICIkVk1fUlJEIikKKworRFNfQ09VTlQ9JChlY2hvICIkSU5GTyIgfCBncmVwICJeZHNc WyIgfCBzZWQgJ3MvZHNcW1woW15dXSpcKVxdLiovXDEvJyB8IHNvcnQgLXUgfCB3YyAtbCkKK2lm IFsgIiREU19DT1VOVCIgLWVxIDEwIF07IHRoZW4KKyAgICBlY2hvICIgIOKckyBEYXRhIHNvdXJj ZSBjb3VudDogMTAgKGNvcnJlY3QpIgorZWxzZQorICAgIGVjaG8gIiAg4pyXIEVSUk9SOiBEYXRh IHNvdXJjZSBjb3VudDogJERTX0NPVU5UIChleHBlY3RlZCAxMCkiCisgICAgZXhpdCAxCitmaQor CitlY2hvICIgIFZhbGlkYXRpbmcgZGF0YSBzb3VyY2VzLi4uIgorY2hlY2tfZHMgIm1heGNwdSIg IkdBVUdFIgorY2hlY2tfZHMgImNwdSIgIkdBVUdFIgorY2hlY2tfZHMgIm1heG1lbSIgIkdBVUdF IgorY2hlY2tfZHMgIm1lbSIgIkdBVUdFIgorY2hlY2tfZHMgIm1heGRpc2siICJHQVVHRSIKK2No ZWNrX2RzICJkaXNrIiAiR0FVR0UiCitjaGVja19kcyAibmV0aW4iICJERVJJVkUiCitjaGVja19k cyAibmV0b3V0IiAiREVSSVZFIgorY2hlY2tfZHMgImRpc2tyZWFkIiAiREVSSVZFIgorY2hlY2tf ZHMgImRpc2t3cml0ZSIgIkRFUklWRSIKKworZWNobyAi4pyTIFZNIFJSRCBzY2hlbWEgKHB2ZTIp IHZhbGlkYXRlZCBzdWNjZXNzZnVsbHkiCisKKyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorIyBURVNU IDM6IFN0b3JhZ2UgU2NoZW1hICgyIGRhdGEgc291cmNlcykKKyMgPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQorZWNobyAiIgorZWNobyAiVGVzdCAzOiBTdG9yYWdlIFJSRCBTY2hlbWEiCitlY2hvICIgIEV4 cGVjdGVkOiAyIGRhdGEgc291cmNlcyAodG90YWwsIHVzZWQpIgorCitTVE9SQUdFX1JSRD0iJFJS RF9ESVIvcHZlMi1zdG9yYWdlLWxvY2FsIgorCitycmR0b29sIGNyZWF0ZSAiJFNUT1JBR0VfUlJE IiBcCisgICAgLS1zdGFydCAiJCgoVElNRVNUQU1QIC0gMTApKSIgXAorICAgIC0tc3RlcCA2MCBc CisgICAgRFM6dG90YWw6R0FVR0U6MTIwOjA6VSBcCisgICAgRFM6dXNlZDpHQVVHRToxMjA6MDpV IFwKKyAgICBSUkE6QVZFUkFHRTowLjU6MTo3MCBcCisgICAgUlJBOkFWRVJBR0U6MC41OjMwOjcw IFwKKyAgICBSUkE6QVZFUkFHRTowLjU6MTgwOjcwIFwKKyAgICBSUkE6QVZFUkFHRTowLjU6NzIw OjcwIFwKKyAgICBSUkE6TUFYOjAuNToxOjcwIFwKKyAgICBSUkE6TUFYOjAuNTozMDo3MCBcCisg ICAgUlJBOk1BWDowLjU6MTgwOjcwIFwKKyAgICBSUkE6TUFYOjAuNTo3MjA6NzAKKworSU5GTz0k KHJyZHRvb2wgaW5mbyAiJFNUT1JBR0VfUlJEIikKKworRFNfQ09VTlQ9JChlY2hvICIkSU5GTyIg fCBncmVwICJeZHNcWyIgfCBzZWQgJ3MvZHNcW1woW15dXSpcKVxdLiovXDEvJyB8IHNvcnQgLXUg fCB3YyAtbCkKK2lmIFsgIiREU19DT1VOVCIgLWVxIDIgXTsgdGhlbgorICAgIGVjaG8gIiAg4pyT IERhdGEgc291cmNlIGNvdW50OiAyIChjb3JyZWN0KSIKK2Vsc2UKKyAgICBlY2hvICIgIOKclyBF UlJPUjogRGF0YSBzb3VyY2UgY291bnQ6ICREU19DT1VOVCAoZXhwZWN0ZWQgMikiCisgICAgZXhp dCAxCitmaQorCitlY2hvICIgIFZhbGlkYXRpbmcgZGF0YSBzb3VyY2VzLi4uIgorY2hlY2tfZHMg InRvdGFsIiAiR0FVR0UiCitjaGVja19kcyAidXNlZCIgIkdBVUdFIgorCitlY2hvICLinJMgU3Rv cmFnZSBSUkQgc2NoZW1hIHZhbGlkYXRlZCBzdWNjZXNzZnVsbHkiCisKKyMgPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQorIyBURVNUIDQ6IE5vZGUgU2NoZW1hIChwdmU5LjAgZm9ybWF0IC0gMTkgZGF0YSBz b3VyY2VzKQorIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitlY2hvICIiCitlY2hvICJUZXN0IDQ6IE5v ZGUgUlJEIFNjaGVtYSAocHZlOS4wIGZvcm1hdCkiCitlY2hvICIgIEV4cGVjdGVkOiAxOSBkYXRh IHNvdXJjZXMgKDEyIGZyb20gcHZlMiArIDcgYWRkaXRpb25hbCkiCisKK05PREVfUlJEXzk9IiRS UkRfRElSL3B2ZTktbm9kZS10ZXN0aG9zdCIKKworcnJkdG9vbCBjcmVhdGUgIiROT0RFX1JSRF85 IiBcCisgICAgLS1zdGFydCAiJCgoVElNRVNUQU1QIC0gMTApKSIgXAorICAgIC0tc3RlcCA2MCBc CisgICAgRFM6bG9hZGF2ZzpHQVVHRToxMjA6MDpVIFwKKyAgICBEUzptYXhjcHU6R0FVR0U6MTIw OjA6VSBcCisgICAgRFM6Y3B1OkdBVUdFOjEyMDowOlUgXAorICAgIERTOmlvd2FpdDpHQVVHRTox MjA6MDpVIFwKKyAgICBEUzptZW10b3RhbDpHQVVHRToxMjA6MDpVIFwKKyAgICBEUzptZW11c2Vk OkdBVUdFOjEyMDowOlUgXAorICAgIERTOnN3YXB0b3RhbDpHQVVHRToxMjA6MDpVIFwKKyAgICBE Uzpzd2FwdXNlZDpHQVVHRToxMjA6MDpVIFwKKyAgICBEUzpyb290dG90YWw6R0FVR0U6MTIwOjA6 VSBcCisgICAgRFM6cm9vdHVzZWQ6R0FVR0U6MTIwOjA6VSBcCisgICAgRFM6bmV0aW46REVSSVZF OjEyMDowOlUgXAorICAgIERTOm5ldG91dDpERVJJVkU6MTIwOjA6VSBcCisgICAgRFM6bWVtYXZh aWxhYmxlOkdBVUdFOjEyMDowOlUgXAorICAgIERTOmFyY3NpemU6R0FVR0U6MTIwOjA6VSBcCisg ICAgRFM6cHJlc3N1cmVjcHVzb21lOkdBVUdFOjEyMDowOlUgXAorICAgIERTOnByZXNzdXJlaW9z b21lOkdBVUdFOjEyMDowOlUgXAorICAgIERTOnByZXNzdXJlaW9mdWxsOkdBVUdFOjEyMDowOlUg XAorICAgIERTOnByZXNzdXJlbWVtb3J5c29tZTpHQVVHRToxMjA6MDpVIFwKKyAgICBEUzpwcmVz c3VyZW1lbW9yeWZ1bGw6R0FVR0U6MTIwOjA6VSBcCisgICAgUlJBOkFWRVJBR0U6MC41OjE6NzAg XAorICAgIFJSQTpBVkVSQUdFOjAuNTozMDo3MCBcCisgICAgUlJBOkFWRVJBR0U6MC41OjE4MDo3 MCBcCisgICAgUlJBOkFWRVJBR0U6MC41OjcyMDo3MCBcCisgICAgUlJBOk1BWDowLjU6MTo3MCBc CisgICAgUlJBOk1BWDowLjU6MzA6NzAgXAorICAgIFJSQTpNQVg6MC41OjE4MDo3MCBcCisgICAg UlJBOk1BWDowLjU6NzIwOjcwCisKK0lORk89JChycmR0b29sIGluZm8gIiROT0RFX1JSRF85IikK KworRFNfQ09VTlQ9JChlY2hvICIkSU5GTyIgfCBncmVwICJeZHNcWyIgfCBzZWQgJ3MvZHNcW1wo W15dXSpcKVxdLiovXDEvJyB8IHNvcnQgLXUgfCB3YyAtbCkKK2lmIFsgIiREU19DT1VOVCIgLWVx IDE5IF07IHRoZW4KKyAgICBlY2hvICIgIOKckyBEYXRhIHNvdXJjZSBjb3VudDogMTkgKGNvcnJl Y3QpIgorZWxzZQorICAgIGVjaG8gIiAg4pyXIEVSUk9SOiBEYXRhIHNvdXJjZSBjb3VudDogJERT X0NPVU5UIChleHBlY3RlZCAxOSkiCisgICAgZXhpdCAxCitmaQorCitlY2hvICIgIFZhbGlkYXRp bmcgYWRkaXRpb25hbCBkYXRhIHNvdXJjZXMuLi4iCitjaGVja19kcyAibWVtYXZhaWxhYmxlIiAi R0FVR0UiCitjaGVja19kcyAiYXJjc2l6ZSIgIkdBVUdFIgorY2hlY2tfZHMgInByZXNzdXJlY3B1 c29tZSIgIkdBVUdFIgorY2hlY2tfZHMgInByZXNzdXJlaW9zb21lIiAiR0FVR0UiCitjaGVja19k cyAicHJlc3N1cmVpb2Z1bGwiICJHQVVHRSIKK2NoZWNrX2RzICJwcmVzc3VyZW1lbW9yeXNvbWUi ICJHQVVHRSIKK2NoZWNrX2RzICJwcmVzc3VyZW1lbW9yeWZ1bGwiICJHQVVHRSIKKworZWNobyAi 4pyTIE5vZGUgUlJEIHNjaGVtYSAocHZlOS4wKSB2YWxpZGF0ZWQgc3VjY2Vzc2Z1bGx5IgorCisj ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KKyMgVEVTVCA1OiBWTSBTY2hlbWEgKHB2ZTkuMCBmb3JtYXQg LSAxNyBkYXRhIHNvdXJjZXMpCisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK2VjaG8gIiIKK2VjaG8g IlRlc3QgNTogVk0gUlJEIFNjaGVtYSAocHZlOS4wL3B2ZTIuMyBmb3JtYXQpIgorZWNobyAiICBF eHBlY3RlZDogMTcgZGF0YSBzb3VyY2VzICgxMCBmcm9tIHB2ZTIgKyA3IGFkZGl0aW9uYWwpIgor CitWTV9SUkRfOT0iJFJSRF9ESVIvcHZlMi4zLXZtLTIwMCIKKworcnJkdG9vbCBjcmVhdGUgIiRW TV9SUkRfOSIgXAorICAgIC0tc3RhcnQgIiQoKFRJTUVTVEFNUCAtIDEwKSkiIFwKKyAgICAtLXN0 ZXAgNjAgXAorICAgIERTOm1heGNwdTpHQVVHRToxMjA6MDpVIFwKKyAgICBEUzpjcHU6R0FVR0U6 MTIwOjA6VSBcCisgICAgRFM6bWF4bWVtOkdBVUdFOjEyMDowOlUgXAorICAgIERTOm1lbTpHQVVH RToxMjA6MDpVIFwKKyAgICBEUzptYXhkaXNrOkdBVUdFOjEyMDowOlUgXAorICAgIERTOmRpc2s6 R0FVR0U6MTIwOjA6VSBcCisgICAgRFM6bmV0aW46REVSSVZFOjEyMDowOlUgXAorICAgIERTOm5l dG91dDpERVJJVkU6MTIwOjA6VSBcCisgICAgRFM6ZGlza3JlYWQ6REVSSVZFOjEyMDowOlUgXAor ICAgIERTOmRpc2t3cml0ZTpERVJJVkU6MTIwOjA6VSBcCisgICAgRFM6bWVtaG9zdDpHQVVHRTox MjA6MDpVIFwKKyAgICBEUzpwcmVzc3VyZWNwdXNvbWU6R0FVR0U6MTIwOjA6VSBcCisgICAgRFM6 cHJlc3N1cmVjcHVmdWxsOkdBVUdFOjEyMDowOlUgXAorICAgIERTOnByZXNzdXJlaW9zb21lOkdB VUdFOjEyMDowOlUgXAorICAgIERTOnByZXNzdXJlaW9mdWxsOkdBVUdFOjEyMDowOlUgXAorICAg IERTOnByZXNzdXJlbWVtb3J5c29tZTpHQVVHRToxMjA6MDpVIFwKKyAgICBEUzpwcmVzc3VyZW1l bW9yeWZ1bGw6R0FVR0U6MTIwOjA6VSBcCisgICAgUlJBOkFWRVJBR0U6MC41OjE6NzAgXAorICAg IFJSQTpBVkVSQUdFOjAuNTozMDo3MCBcCisgICAgUlJBOkFWRVJBR0U6MC41OjE4MDo3MCBcCisg ICAgUlJBOkFWRVJBR0U6MC41OjcyMDo3MCBcCisgICAgUlJBOk1BWDowLjU6MTo3MCBcCisgICAg UlJBOk1BWDowLjU6MzA6NzAgXAorICAgIFJSQTpNQVg6MC41OjE4MDo3MCBcCisgICAgUlJBOk1B WDowLjU6NzIwOjcwCisKK0lORk89JChycmR0b29sIGluZm8gIiRWTV9SUkRfOSIpCisKK0RTX0NP VU5UPSQoZWNobyAiJElORk8iIHwgZ3JlcCAiXmRzXFsiIHwgc2VkICdzL2RzXFtcKFteXV0qXClc XS4qL1wxLycgfCBzb3J0IC11IHwgd2MgLWwpCitpZiBbICIkRFNfQ09VTlQiIC1lcSAxNyBdOyB0 aGVuCisgICAgZWNobyAiICDinJMgRGF0YSBzb3VyY2UgY291bnQ6IDE3IChjb3JyZWN0KSIKK2Vs c2UKKyAgICBlY2hvICIgIOKclyBFUlJPUjogRGF0YSBzb3VyY2UgY291bnQ6ICREU19DT1VOVCAo ZXhwZWN0ZWQgMTcpIgorICAgIGV4aXQgMQorZmkKKworZWNobyAiICBWYWxpZGF0aW5nIGFkZGl0 aW9uYWwgZGF0YSBzb3VyY2VzLi4uIgorY2hlY2tfZHMgIm1lbWhvc3QiICJHQVVHRSIKK2NoZWNr X2RzICJwcmVzc3VyZWNwdXNvbWUiICJHQVVHRSIKK2NoZWNrX2RzICJwcmVzc3VyZWNwdWZ1bGwi ICJHQVVHRSIKK2NoZWNrX2RzICJwcmVzc3VyZWlvc29tZSIgIkdBVUdFIgorY2hlY2tfZHMgInBy ZXNzdXJlaW9mdWxsIiAiR0FVR0UiCitjaGVja19kcyAicHJlc3N1cmVtZW1vcnlzb21lIiAiR0FV R0UiCitjaGVja19kcyAicHJlc3N1cmVtZW1vcnlmdWxsIiAiR0FVR0UiCisKK2VjaG8gIuKckyBW TSBSUkQgc2NoZW1hIChwdmU5LjApIHZhbGlkYXRlZCBzdWNjZXNzZnVsbHkiCisKKyMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQorIyBURVNUIDY6IFJSRCBVcGRhdGUgVGVzdAorIyA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CitlY2hvICIiCitlY2hvICJUZXN0IDY6IFJSRCBEYXRhIFVwZGF0ZSBUZXN0IgorZWNo byAiICBUZXN0aW5nIHRoYXQgUlJEIGZpbGVzIGNhbiBiZSB1cGRhdGVkIHdpdGggcmVhbCBkYXRh IgorCisjIFVwZGF0ZSBub2RlIFJSRCB3aXRoIHNhbXBsZSBkYXRhCitVUERBVEVfVElNRT0iJFRJ TUVTVEFNUCIKK2lmIHJyZHRvb2wgdXBkYXRlICIkTk9ERV9SUkQiICIkVVBEQVRFX1RJTUU6MS41 OjQ6MC4zNTowLjA1OjE2MDAwMDAwOjgwMDAwMDA6MjAwMDAwMDo1MDAwMDA6MTAwMDAwMDAwOjUw MDAwMDAwOjEwMDAwMDA6NTAwMDAwIiAyPi9kZXYvbnVsbDsgdGhlbgorICAgIGVjaG8gIiAg4pyT IE5vZGUgUlJEIHVwZGF0ZSBzdWNjZXNzZnVsIgorZWxzZQorICAgIGVjaG8gIiAg4pyXIEVSUk9S OiBOb2RlIFJSRCB1cGRhdGUgZmFpbGVkIgorICAgIGV4aXQgMQorZmkKKworIyBVcGRhdGUgVk0g UlJEIHdpdGggc2FtcGxlIGRhdGEKK2lmIHJyZHRvb2wgdXBkYXRlICIkVk1fUlJEIiAiJFVQREFU RV9USU1FOjI6MC41OjQwMDAwMDA6MjAwMDAwMDoyMDAwMDAwMDoxMDAwMDAwMDoxMDAwMDA6NTAw MDA6NTAwMDAwOjI1MDAwMCIgMj4vZGV2L251bGw7IHRoZW4KKyAgICBlY2hvICIgIOKckyBWTSBS UkQgdXBkYXRlIHN1Y2Nlc3NmdWwiCitlbHNlCisgICAgZWNobyAiICDinJcgRVJST1I6IFZNIFJS RCB1cGRhdGUgZmFpbGVkIgorICAgIGV4aXQgMQorZmkKKworIyBVcGRhdGUgc3RvcmFnZSBSUkQK K2lmIHJyZHRvb2wgdXBkYXRlICIkU1RPUkFHRV9SUkQiICIkVVBEQVRFX1RJTUU6MTAwMDAwMDAw OjUwMDAwMDAwIiAyPi9kZXYvbnVsbDsgdGhlbgorICAgIGVjaG8gIiAg4pyTIFN0b3JhZ2UgUlJE IHVwZGF0ZSBzdWNjZXNzZnVsIgorZWxzZQorICAgIGVjaG8gIiAg4pyXIEVSUk9SOiBTdG9yYWdl IFJSRCB1cGRhdGUgZmFpbGVkIgorICAgIGV4aXQgMQorZmkKKworIyA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CisjIFRFU1QgNzogUlJEIEZldGNoIFRlc3QKKyMgPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorZWNo byAiIgorZWNobyAiVGVzdCA3OiBSUkQgRGF0YSBGZXRjaCBUZXN0IgorZWNobyAiICBUZXN0aW5n IHRoYXQgUlJEIGRhdGEgY2FuIGJlIHJldHJpZXZlZCIKKworIyBGZXRjaCBkYXRhIGZyb20gbm9k ZSBSUkQKK2lmIHJyZHRvb2wgZmV0Y2ggIiROT0RFX1JSRCIgQVZFUkFHRSAtLXN0YXJ0ICIkKChU SU1FU1RBTVAgLSA2MCkpIiAtLWVuZCAiJCgoVElNRVNUQU1QICsgNjApKSIgMj4vZGV2L251bGwg fCBncmVwIC1xICJsb2FkYXZnIjsgdGhlbgorICAgIGVjaG8gIiAg4pyTIE5vZGUgUlJEIGZldGNo IHN1Y2Nlc3NmdWwiCitlbHNlCisgICAgZWNobyAiICDinJcgRVJST1I6IE5vZGUgUlJEIGZldGNo IGZhaWxlZCIKKyAgICBleGl0IDEKK2ZpCisKKyMgRmV0Y2ggZGF0YSBmcm9tIFZNIFJSRAoraWYg cnJkdG9vbCBmZXRjaCAiJFZNX1JSRCIgQVZFUkFHRSAtLXN0YXJ0ICIkKChUSU1FU1RBTVAgLSA2 MCkpIiAtLWVuZCAiJCgoVElNRVNUQU1QICsgNjApKSIgMj4vZGV2L251bGwgfCBncmVwIC1xICJj cHUiOyB0aGVuCisgICAgZWNobyAiICDinJMgVk0gUlJEIGZldGNoIHN1Y2Nlc3NmdWwiCitlbHNl CisgICAgZWNobyAiICDinJcgRVJST1I6IFZNIFJSRCBmZXRjaCBmYWlsZWQiCisgICAgZXhpdCAx CitmaQorCitlY2hvICLinJMgUlJEIGRhdGEgb3BlcmF0aW9ucyB2YWxpZGF0ZWQgc3VjY2Vzc2Z1 bGx5IgorCitlY2hvICIiCitlY2hvICLinJMgUlJEIHNjaGVtYSB2YWxpZGF0aW9uIHRlc3QgcGFz c2VkIgorZXhpdCAwCmRpZmYgLS1naXQgYS9zcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3Rz L3Rlc3RzL3JyZC8wMy1ycmRjYWNoZWQtaW50ZWdyYXRpb24uc2ggYi9zcmMvcG14Y2ZzLXJzL2lu dGVncmF0aW9uLXRlc3RzL3Rlc3RzL3JyZC8wMy1ycmRjYWNoZWQtaW50ZWdyYXRpb24uc2gKbmV3 IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAuLjQxMjMxYTg5Ci0tLSAvZGV2L251bGwK KysrIGIvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0cy9ycmQvMDMtcnJkY2Fj aGVkLWludGVncmF0aW9uLnNoCkBAIC0wLDAgKzEsMzY3IEBACisjIS9iaW4vYmFzaAorIyBUZXN0 OiBycmRjYWNoZWQgSW50ZWdyYXRpb24KKyMgVmVyaWZ5IHBteGNmcyBjYW4gY29tbXVuaWNhdGUg d2l0aCBycmRjYWNoZWQgZGFlbW9uIGZvciBSUkQgdXBkYXRlcworIyBUaGlzIHRlc3QgdmFsaWRh dGVzOgorIyAxLiBycmRjYWNoZWQgZGFlbW9uIHN0YXJ0cyBhbmQgYWNjZXB0cyBjb25uZWN0aW9u cworIyAyLiBSUkQgZmlsZXMgY2FuIGJlIGNyZWF0ZWQgdGhyb3VnaCBycmRjYWNoZWQKKyMgMy4g UlJEIHVwZGF0ZXMgd29yayB0aHJvdWdoIHJyZGNhY2hlZCBzb2NrZXQKKyMgNC4gcG14Y2ZzIGNh biByZWNvdmVyIHdoZW4gcnJkY2FjaGVkIGlzIHN0b3BwZWQvcmVzdGFydGVkCisjIDUuIENhY2hl ZCB1cGRhdGVzIGFyZSBmbHVzaGVkIG9uIGRhZW1vbiBzdG9wCisKK3NldCAtZQorCisjIFNvdXJj ZSBjb21tb24gdGVzdCBjb25maWd1cmF0aW9uCitTQ1JJUFRfRElSPSIkKGNkICIkKGRpcm5hbWUg IiR7QkFTSF9TT1VSQ0VbMF19IikiICYmIHB3ZCkiCitzb3VyY2UgIiRTQ1JJUFRfRElSLy4uL3Rl c3QtY29uZmlnLnNoIgorCitlY2hvICJUZXN0aW5nIHJyZGNhY2hlZCBpbnRlZ3JhdGlvbi4uLiIK KworIyBDaGVjayBpZiBycmRjYWNoZWQgYW5kIHJyZHRvb2wgYXJlIGF2YWlsYWJsZQoraWYgISBj b21tYW5kIC12IHJyZGNhY2hlZCAmPiAvZGV2L251bGw7IHRoZW4KKyAgICBlY2hvICLimqAgV2Fy bmluZzogcnJkY2FjaGVkIG5vdCBpbnN0YWxsZWQsIHNraXBwaW5nIGludGVncmF0aW9uIHRlc3Qi CisgICAgZWNobyAiICBJbnN0YWxsIHdpdGg6IGFwdC1nZXQgaW5zdGFsbCBycmRjYWNoZWQiCisg ICAgZWNobyAi4pyTIHJyZGNhY2hlZCBpbnRlZ3JhdGlvbiB0ZXN0IHNraXBwZWQgKGRhZW1vbiBu b3QgYXZhaWxhYmxlKSIKKyAgICBleGl0IDAKK2ZpCisKK2lmICEgY29tbWFuZCAtdiBycmR0b29s ICY+IC9kZXYvbnVsbDsgdGhlbgorICAgIGVjaG8gIuKaoCBXYXJuaW5nOiBycmR0b29sIG5vdCBp bnN0YWxsZWQsIHNraXBwaW5nIGludGVncmF0aW9uIHRlc3QiCisgICAgZWNobyAiICBJbnN0YWxs IHdpdGg6IGFwdC1nZXQgaW5zdGFsbCBycmR0b29sIgorICAgIGVjaG8gIuKckyBycmRjYWNoZWQg aW50ZWdyYXRpb24gdGVzdCBza2lwcGVkIChycmR0b29sIG5vdCBhdmFpbGFibGUpIgorICAgIGV4 aXQgMAorZmkKKworIyBUZXN0IGRpcmVjdG9yaWVzCitSUkRfRElSPSIvdG1wL3JyZGNhY2hlZC10 ZXN0LSQkIgorSk9VUk5BTF9ESVI9IiRSUkRfRElSL2pvdXJuYWwiCitTT0NLRVQ9IiRSUkRfRElS L3JyZGNhY2hlZC5zb2NrIgorCitta2RpciAtcCAiJFJSRF9ESVIiICIkSk9VUk5BTF9ESVIiCisK K2VjaG8gIiAgUlJEIGRpcmVjdG9yeTogJFJSRF9ESVIiCitlY2hvICIgIFNvY2tldDogJFNPQ0tF VCIKKworIyBDbGVhbnVwIGZ1bmN0aW9uCitjbGVhbnVwKCkgeworICAgIGVjaG8gIiIKKyAgICBl Y2hvICJDbGVhbmluZyB1cC4uLiIKKworICAgICMgU3RvcCBycmRjYWNoZWQgaWYgcnVubmluZwor ICAgIGlmIFsgLWYgIiRSUkRfRElSL3JyZGNhY2hlZC5waWQiIF07IHRoZW4KKyAgICAgICAgUElE PSQoY2F0ICIkUlJEX0RJUi9ycmRjYWNoZWQucGlkIikKKyAgICAgICAgaWYga2lsbCAtMCAiJFBJ RCIgMj4vZGV2L251bGw7IHRoZW4KKyAgICAgICAgICAgIGVjaG8gIiAgU3RvcHBpbmcgcnJkY2Fj aGVkIChQSUQ6ICRQSUQpLi4uIgorICAgICAgICAgICAga2lsbCAiJFBJRCIKKyAgICAgICAgICAg ICMgV2FpdCBmb3IgZ3JhY2VmdWwgc2h1dGRvd24KKyAgICAgICAgICAgIGZvciBpIGluIHsxLi4x MH07IGRvCisgICAgICAgICAgICAgICAgaWYgISBraWxsIC0wICIkUElEIiAyPi9kZXYvbnVsbDsg dGhlbgorICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgIGZpCisgICAg ICAgICAgICAgICAgc2xlZXAgMC41CisgICAgICAgICAgICBkb25lCisgICAgICAgICAgICAjIEZv cmNlIGtpbGwgaWYgc3RpbGwgcnVubmluZworICAgICAgICAgICAgaWYga2lsbCAtMCAiJFBJRCIg Mj4vZGV2L251bGw7IHRoZW4KKyAgICAgICAgICAgICAgICBraWxsIC05ICIkUElEIiAyPi9kZXYv bnVsbCB8fCB0cnVlCisgICAgICAgICAgICBmaQorICAgICAgICBmaQorICAgIGZpCisKKyAgICBy bSAtcmYgIiRSUkRfRElSIgorICAgIGVjaG8gIiAgQ2xlYW51cCBjb21wbGV0ZSIKK30KK3RyYXAg Y2xlYW51cCBFWElUCisKKyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorIyBURVNUIDE6IFN0YXJ0IHJy ZGNhY2hlZCBkYWVtb24KKyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorZWNobyAiIgorZWNobyAiVGVz dCAxOiBTdGFydCBycmRjYWNoZWQgZGFlbW9uIgorCisjIFN0YXJ0IHJyZGNhY2hlZCB3aXRoIGFw cHJvcHJpYXRlIG9wdGlvbnMKKyMgLWc6IHJ1biBpbiBmb3JlZ3JvdW5kICh3ZSdsbCBiYWNrZ3Jv dW5kIGl0IG91cnNlbHZlcykKKyMgLWw6IGxpc3RlbiBvbiBVbml4IHNvY2tldAorIyAtYjogYmFz ZSBkaXJlY3RvcnkgZm9yIFJSRCBmaWxlcworIyAtQjogcmVzdHJpY3QgZmlsZSBhY2Nlc3MgdG8g YmFzZSBkaXJlY3RvcnkKKyMgLW06IHBlcm1pc3Npb25zIGZvciBzb2NrZXQgKG9jdGFsKQorIyAt cDogUElEIGZpbGUKKyMgLWo6IGpvdXJuYWwgZGlyZWN0b3J5CisjIC1GOiBmbHVzaCBhbGwgdXBk YXRlcyBhdCBzaHV0ZG93bgorIyAtdzogd3JpdGUgdGltZW91dCAoc2Vjb25kcyBiZWZvcmUgZmx1 c2hpbmcpCisjIC1mOiBmbHVzaCB0aW1lb3V0IChzZWNvbmRzIC0gZmx1c2ggZGVhZCBkYXRhIGlu dGVydmFsKQorCitycmRjYWNoZWQgLWcgXAorICAgIC1sICJ1bml4OiRTT0NLRVQiIFwKKyAgICAt YiAiJFJSRF9ESVIiIC1CIFwKKyAgICAtbSA2NjAgXAorICAgIC1wICIkUlJEX0RJUi9ycmRjYWNo ZWQucGlkIiBcCisgICAgLWogIiRKT1VSTkFMX0RJUiIgXAorICAgIC1GIC13IDUgLWYgMTAgXAor ICAgICY+ICIkUlJEX0RJUi9ycmRjYWNoZWQubG9nIiAmCisKK1JSRENBQ0hFRF9QSUQ9JCEKKwor IyBXYWl0IGZvciBkYWVtb24gdG8gc3RhcnQgYW5kIGNyZWF0ZSBzb2NrZXQKK2VjaG8gIiAgV2Fp dGluZyBmb3IgcnJkY2FjaGVkIHRvIHN0YXJ0IChQSUQ6ICRSUkRDQUNIRURfUElEKS4uLiIKK2Zv ciBpIGluIHsxLi4yMH07IGRvCisgICAgaWYgWyAtUyAiJFNPQ0tFVCIgXTsgdGhlbgorICAgICAg ICBlY2hvICLinJMgcnJkY2FjaGVkIHN0YXJ0ZWQgc3VjY2Vzc2Z1bGx5IgorICAgICAgICBicmVh aworICAgIGZpCisgICAgaWYgISBraWxsIC0wICIkUlJEQ0FDSEVEX1BJRCIgMj4vZGV2L251bGw7 IHRoZW4KKyAgICAgICAgZWNobyAiRVJST1I6IHJyZGNhY2hlZCBmYWlsZWQgdG8gc3RhcnQiCisg ICAgICAgIGNhdCAiJFJSRF9ESVIvcnJkY2FjaGVkLmxvZyIKKyAgICAgICAgZXhpdCAxCisgICAg ZmkKKyAgICBzbGVlcCAwLjUKK2RvbmUKKworaWYgWyAhIC1TICIkU09DS0VUIiBdOyB0aGVuCisg ICAgZWNobyAiRVJST1I6IHJyZGNhY2hlZCBzb2NrZXQgbm90IGNyZWF0ZWQgYWZ0ZXIgMTAgc2Vj b25kcyIKKyAgICBjYXQgIiRSUkRfRElSL3JyZGNhY2hlZC5sb2ciCisgICAgZXhpdCAxCitmaQor CisjIFZlcmlmeSBkYWVtb24gaXMgcnVubmluZworaWYgISBraWxsIC0wICIkUlJEQ0FDSEVEX1BJ RCIgMj4vZGV2L251bGw7IHRoZW4KKyAgICBlY2hvICJFUlJPUjogcnJkY2FjaGVkIHByb2Nlc3Mg ZGllZCIKKyAgICBleGl0IDEKK2ZpCisKK2VjaG8gIiAgU29ja2V0IGNyZWF0ZWQ6ICRTT0NLRVQi CitlY2hvICIgIERhZW1vbiBQSUQ6ICRSUkRDQUNIRURfUElEIgorCisjID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KKyMgVEVTVCAyOiBDcmVhdGUgUlJEIGZpbGUgdGhyb3VnaCBycmRjYWNoZWQKKyMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQorZWNobyAiIgorZWNobyAiVGVzdCAyOiBDcmVhdGUgUlJEIGZpbGUg dGhyb3VnaCBycmRjYWNoZWQiCisKK1RFU1RfUlJEPSJwdmUyLW5vZGUtdGVzdGhvc3QiCitUSU1F U1RBTVA9JChkYXRlICslcykKKworIyBDcmVhdGUgUlJEIGZpbGUgdXNpbmcgcnJkdG9vbCB3aXRo IGRhZW1vbiBzb2NrZXQKKyMgVGhlIC0tZGFlbW9uIG9wdGlvbiB0ZWxscyBycmR0b29sIHRvIHVz ZSBycmRjYWNoZWQgZm9yIHRoaXMgb3BlcmF0aW9uCitpZiBycmR0b29sIGNyZWF0ZSAiJFJSRF9E SVIvJFRFU1RfUlJEIiBcCisgICAgLS1kYWVtb24gInVuaXg6JFNPQ0tFVCIgXAorICAgIC0tc3Rh cnQgIiQoKFRJTUVTVEFNUCAtIDEwKSkiIFwKKyAgICAtLXN0ZXAgNjAgXAorICAgIERTOmNwdTpH QVVHRToxMjA6MDpVIFwKKyAgICBEUzptZW06R0FVR0U6MTIwOjA6VSBcCisgICAgRFM6bmV0aW46 REVSSVZFOjEyMDowOlUgXAorICAgIERTOm5ldG91dDpERVJJVkU6MTIwOjA6VSBcCisgICAgUlJB OkFWRVJBR0U6MC41OjE6NzAgXAorICAgIFJSQTpBVkVSQUdFOjAuNTozMDo3MCBcCisgICAgUlJB Ok1BWDowLjU6MTo3MCBcCisgICAgUlJBOk1BWDowLjU6MzA6NzAgXAorICAgIDI+JjE7IHRoZW4K KyAgICBlY2hvICLinJMgUlJEIGZpbGUgY3JlYXRlZCB0aHJvdWdoIHJyZGNhY2hlZCIKK2Vsc2UK KyAgICBlY2hvICJFUlJPUjogRmFpbGVkIHRvIGNyZWF0ZSBSUkQgZmlsZSB0aHJvdWdoIHJyZGNh Y2hlZCIKKyAgICBleGl0IDEKK2ZpCisKKyMgVmVyaWZ5IGZpbGUgZXhpc3RzCitpZiBbICEgLWYg IiRSUkRfRElSLyRURVNUX1JSRCIgXTsgdGhlbgorICAgIGVjaG8gIkVSUk9SOiBSUkQgZmlsZSB3 YXMgbm90IGNyZWF0ZWQgb24gZGlzayIKKyAgICBleGl0IDEKK2ZpCisKK2VjaG8gIiAgRmlsZSBj cmVhdGVkOiAkUlJEX0RJUi8kVEVTVF9SUkQiCisKKyMgPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorIyBU RVNUIDM6IFVwZGF0ZSBSUkQgdGhyb3VnaCBycmRjYWNoZWQgKGNhY2hlZCBtb2RlKQorIyA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09CitlY2hvICIiCitlY2hvICJUZXN0IDM6IFVwZGF0ZSBSUkQgdGhyb3Vn aCBycmRjYWNoZWQgKGNhY2hlZCBtb2RlKSIKKworIyBQZXJmb3JtIHVwZGF0ZXMgdGhyb3VnaCBy cmRjYWNoZWQKKyMgVGhlc2UgdXBkYXRlcyBzaG91bGQgYmUgY2FjaGVkIGluIG1lbW9yeSBpbml0 aWFsbHkKK2ZvciBpIGluIHsxLi41fTsgZG8KKyAgICBUPSQoKFRJTUVTVEFNUCArIGkgKiA2MCkp CisgICAgQ1BVPSQoZWNobyAic2NhbGU9MjsgMC41ICsgJGkgKiAwLjEiIHwgYmMpCisgICAgTUVN PSQoKDEwNzM3NDE4MjQgKyBpICogMTAwMDAwMDApKQorICAgIE5FVElOPSQoKGkgKiAxMDAwMDAw KSkKKyAgICBORVRPVVQ9JCgoaSAqIDUwMDAwMCkpCisKKyAgICBpZiAhIHJyZHRvb2wgdXBkYXRl ICIkUlJEX0RJUi8kVEVTVF9SUkQiIFwKKyAgICAgICAgLS1kYWVtb24gInVuaXg6JFNPQ0tFVCIg XAorICAgICAgICAiJFQ6JENQVTokTUVNOiRORVRJTjokTkVUT1VUIiAyPiYxOyB0aGVuCisgICAg ICAgIGVjaG8gIkVSUk9SOiBGYWlsZWQgdG8gdXBkYXRlIFJSRCB0aHJvdWdoIHJyZGNhY2hlZCAo dXBkYXRlICRpKSIKKyAgICAgICAgZXhpdCAxCisgICAgZmkKK2RvbmUKKworZWNobyAi4pyTIFN1 Y2Nlc3NmdWxseSBzZW50IDUgdXBkYXRlcyB0aHJvdWdoIHJyZGNhY2hlZCIKKworIyBRdWVyeSBy cmRjYWNoZWQgc3RhdHMgdG8gdmVyaWZ5IGl0J3MgY2FjaGluZworIyBTVEFUUyBjb21tYW5kIHJl dHVybnMgY2FjaGUgc3RhdGlzdGljcworaWYgZWNobyAiU1RBVFMiIHwgc29jYXQgLSAiVU5JWC1D T05ORUNUOiRTT0NLRVQiIDI+L2Rldi9udWxsIHwgZ3JlcCAtcSAiUXVldWVMZW5ndGg6IjsgdGhl bgorICAgIGVjaG8gIuKckyBycmRjYWNoZWQgaXMgYWNjZXB0aW5nIGNvbW1hbmRzIGFuZCB0cmFj a2luZyBzdGF0aXN0aWNzIgorZWxzZQorICAgIGVjaG8gIuKaoCBXYXJuaW5nOiBDb3VsZCBub3Qg cXVlcnkgcnJkY2FjaGVkIHN0YXRzIChtYXkgbm90IGFmZmVjdCBmdW5jdGlvbmFsaXR5KSIKK2Zp CisKKyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQorIyBURVNUIDQ6IEZsdXNoIGNhY2hlZCBkYXRhCisj ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KK2VjaG8gIiIKK2VjaG8gIlRlc3QgNDogRmx1c2ggY2FjaGVk IGRhdGEgdG8gZGlzayIKKworIyBUZWxsIHJyZGNhY2hlZCB0byBmbHVzaCB0aGlzIHNwZWNpZmlj IGZpbGUKKyMgRkxVU0ggY29tbWFuZCBmb3JjZXMgaW1tZWRpYXRlIHdyaXRlIHRvIGRpc2sKK2lm IGVjaG8gIkZMVVNIICRURVNUX1JSRCIgfCBzb2NhdCAtICJVTklYLUNPTk5FQ1Q6JFNPQ0tFVCIg Mj4mMSB8IGdyZXAgLXEgIl4wIjsgdGhlbgorICAgIGVjaG8gIuKckyBGbHVzaCBjb21tYW5kIGFj Y2VwdGVkIGJ5IHJyZGNhY2hlZCIKK2Vsc2UKKyAgICBlY2hvICLimqAgV2FybmluZzogRmx1c2gg Y29tbWFuZCBtYXkgaGF2ZSBmYWlsZWQgKGNoZWNraW5nIGRhdGEgYW55d2F5KSIKK2ZpCisKKyMg U21hbGwgZGVsYXkgdG8gZW5zdXJlIGZsdXNoIGNvbXBsZXRlcworc2xlZXAgMQorCisjIFZlcmlm eSBkYXRhIHdhcyB3cml0dGVuIHRvIGRpc2sgYnkgcmVhZGluZyBpdCBiYWNrCitpZiBycmR0b29s IGZldGNoICIkUlJEX0RJUi8kVEVTVF9SUkQiIFwKKyAgICAtLWRhZW1vbiAidW5peDokU09DS0VU IiBcCisgICAgQVZFUkFHRSBcCisgICAgLS1zdGFydCAiJCgoVElNRVNUQU1QIC0gNjApKSIgXAor ICAgIC0tZW5kICIkKChUSU1FU1RBTVAgKyAzNjApKSIgXAorICAgIDI+L2Rldi9udWxsIHwgZ3Jl cCAtcSAiWzAtOV0iOyB0aGVuCisgICAgZWNobyAi4pyTIERhdGEgc3VjY2Vzc2Z1bGx5IGZsdXNo ZWQgYW5kIHJlYWRhYmxlIgorZWxzZQorICAgIGVjaG8gIkVSUk9SOiBDb3VsZCBub3QgcmVhZCBi YWNrIGZsdXNoZWQgZGF0YSIKKyAgICBleGl0IDEKK2ZpCisKKyMgPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQorIyBURVNUIDU6IFRlc3QgZGFlbW9uIHJlY292ZXJ5IChzdG9wIGFuZCByZXN0YXJ0KQorIyA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09CitlY2hvICIiCitlY2hvICJUZXN0IDU6IFRlc3QgcnJkY2FjaGVk IHJlY292ZXJ5IgorCisjIFN0b3AgdGhlIGRhZW1vbiBncmFjZWZ1bGx5CitlY2hvICIgIFN0b3Bw aW5nIHJyZGNhY2hlZC4uLiIKK2tpbGwgIiRSUkRDQUNIRURfUElEIgorCisjIFdhaXQgZm9yIGdy YWNlZnVsIHNodXRkb3duCitmb3IgaSBpbiB7MS4uMTB9OyBkbworICAgIGlmICEga2lsbCAtMCAi JFJSRENBQ0hFRF9QSUQiIDI+L2Rldi9udWxsOyB0aGVuCisgICAgICAgIGVjaG8gIuKckyBycmRj YWNoZWQgc3RvcHBlZCBncmFjZWZ1bGx5IgorICAgICAgICBicmVhaworICAgIGZpCisgICAgc2xl ZXAgMC41Citkb25lCisKKyMgVmVyaWZ5IGRhZW1vbiBpcyBzdG9wcGVkCitpZiBraWxsIC0wICIk UlJEQ0FDSEVEX1BJRCIgMj4vZGV2L251bGw7IHRoZW4KKyAgICBlY2hvICJFUlJPUjogcnJkY2Fj aGVkIGRpZCBub3Qgc3RvcCIKKyAgICBraWxsIC05ICIkUlJEQ0FDSEVEX1BJRCIKKyAgICBleGl0 IDEKK2ZpCisKKyMgUmVzdGFydCBkYWVtb24KK2VjaG8gIiAgUmVzdGFydGluZyBycmRjYWNoZWQu Li4iCitycmRjYWNoZWQgLWcgXAorICAgIC1sICJ1bml4OiRTT0NLRVQiIFwKKyAgICAtYiAiJFJS RF9ESVIiIC1CIFwKKyAgICAtbSA2NjAgXAorICAgIC1wICIkUlJEX0RJUi9ycmRjYWNoZWQucGlk IiBcCisgICAgLWogIiRKT1VSTkFMX0RJUiIgXAorICAgIC1GIC13IDUgLWYgMTAgXAorICAgICY+ ICIkUlJEX0RJUi9ycmRjYWNoZWQubG9nIiAmCisKK1JSRENBQ0hFRF9QSUQ9JCEKKworIyBXYWl0 IGZvciByZXN0YXJ0Citmb3IgaSBpbiB7MS4uMjB9OyBkbworICAgIGlmIFsgLVMgIiRTT0NLRVQi IF07IHRoZW4KKyAgICAgICAgZWNobyAi4pyTIHJyZGNhY2hlZCByZXN0YXJ0ZWQgc3VjY2Vzc2Z1 bGx5IgorICAgICAgICBicmVhaworICAgIGZpCisgICAgaWYgISBraWxsIC0wICIkUlJEQ0FDSEVE X1BJRCIgMj4vZGV2L251bGw7IHRoZW4KKyAgICAgICAgZWNobyAiRVJST1I6IHJyZGNhY2hlZCBm YWlsZWQgdG8gcmVzdGFydCIKKyAgICAgICAgY2F0ICIkUlJEX0RJUi9ycmRjYWNoZWQubG9nIgor ICAgICAgICBleGl0IDEKKyAgICBmaQorICAgIHNsZWVwIDAuNQorZG9uZQorCitpZiBbICEgLVMg IiRTT0NLRVQiIF07IHRoZW4KKyAgICBlY2hvICJFUlJPUjogcnJkY2FjaGVkIHNvY2tldCBub3Qg cmVjcmVhdGVkIGFmdGVyIHJlc3RhcnQiCisgICAgZXhpdCAxCitmaQorCisjID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KKyMgVEVTVCA2OiBWZXJpZnkgZGF0YSBwZXJzaXN0ZWQgYWNyb3NzIHJlc3RhcnQK KyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQorZWNobyAiIgorZWNobyAiVGVzdCA2OiBWZXJpZnkgZGF0 YSBwZXJzaXN0ZWQgYWNyb3NzIHJlc3RhcnQiCisKKyMgVHJ5IHJlYWRpbmcgZGF0YSBhZ2FpbiBh ZnRlciByZXN0YXJ0CitpZiBycmR0b29sIGZldGNoICIkUlJEX0RJUi8kVEVTVF9SUkQiIFwKKyAg ICAtLWRhZW1vbiAidW5peDokU09DS0VUIiBcCisgICAgQVZFUkFHRSBcCisgICAgLS1zdGFydCAi JCgoVElNRVNUQU1QIC0gNjApKSIgXAorICAgIC0tZW5kICIkKChUSU1FU1RBTVAgKyAzNjApKSIg XAorICAgIDI+L2Rldi9udWxsIHwgZ3JlcCAtcSAiWzAtOV0iOyB0aGVuCisgICAgZWNobyAi4pyT IERhdGEgcGVyc2lzdGVkIGFjcm9zcyBkYWVtb24gcmVzdGFydCIKK2Vsc2UKKyAgICBlY2hvICJF UlJPUjogRGF0YSBsb3N0IGFmdGVyIGRhZW1vbiByZXN0YXJ0IgorICAgIGV4aXQgMQorZmkKKwor IyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CisjIFRFU1QgNzogVGVzdCBqb3VybmFsIHJlY292ZXJ5Cisj ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KK2VjaG8gIiIKK2VjaG8gIlRlc3QgNzogVGVzdCBqb3VybmFs IHJlY292ZXJ5IgorCisjIFBlcmZvcm0gc29tZSB1cGRhdGVzIHRoYXQgd2lsbCBiZSBqb3VybmFs ZWQKK2VjaG8gIiAgUGVyZm9ybWluZyBqb3VybmFsZWQgdXBkYXRlcy4uLiIKK2ZvciBpIGluIHs2 Li4xMH07IGRvCisgICAgVD0kKChUSU1FU1RBTVAgKyBpICogNjApKQorICAgIGlmIHJyZHRvb2wg dXBkYXRlICIkUlJEX0RJUi8kVEVTVF9SUkQiIFwKKyAgICAgICAgLS1kYWVtb24gInVuaXg6JFNP Q0tFVCIgXAorICAgICAgICAiJFQ6MC4kaTokKCgxMDczNzQxODI0ICsgaSAqIDEwMDAwMDAwKSk6 JCgoaSAqIDEwMDAwMDApKTokKChpICogNTAwMDAwKSkiIFwKKyAgICAgICAgMj4mMTsgdGhlbgor ICAgICAgICA6CisgICAgZWxzZQorICAgICAgICBlY2hvICLimqAgV2FybmluZzogVXBkYXRlICRp IGZhaWxlZCAobWF5IG5vdCBhZmZlY3QgdGVzdCkiCisgICAgZmkKK2RvbmUKKworZWNobyAiICBT ZW50IDUgbW9yZSB1cGRhdGVzIGZvciBqb3VybmFsaW5nIgorCisjIENoZWNrIGlmIGpvdXJuYWwg ZmlsZXMgd2VyZSBjcmVhdGVkCitKT1VSTkFMX0NPVU5UPSQoZmluZCAiJEpPVVJOQUxfRElSIiAt bmFtZSAicnJkLmpvdXJuYWwuKiIgMj4vZGV2L251bGwgfCB3YyAtbCkKK2lmIFsgIiRKT1VSTkFM X0NPVU5UIiAtZ3QgMCBdOyB0aGVuCisgICAgZWNobyAi4pyTIEpvdXJuYWwgZmlsZXMgY3JlYXRl ZCAoJEpPVVJOQUxfQ09VTlQgZmlsZXMpIgorZWxzZQorICAgIGVjaG8gIiAgTm8gam91cm5hbCBm aWxlcyBjcmVhdGVkICh1cGRhdGVzIG1heSBoYXZlIGJlZW4gZmx1c2hlZCBpbW1lZGlhdGVseSki CitmaQorCisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyMgVEVTVCA4OiBWZXJpZnkgc2NoZW1hIGlu Zm9ybWF0aW9uIHRocm91Z2ggcnJkY2FjaGVkCisjID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK2VjaG8g IiIKK2VjaG8gIlRlc3QgODogVmVyaWZ5IFJSRCBzY2hlbWEgdGhyb3VnaCBycmRjYWNoZWQiCisK KyMgVXNlIHJyZHRvb2wgaW5mbyB0byBjaGVjayBzY2hlbWEKK2lmIHJyZHRvb2wgaW5mbyAiJFJS RF9ESVIvJFRFU1RfUlJEIiBcCisgICAgLS1kYWVtb24gInVuaXg6JFNPQ0tFVCIgfCBncmVwIC1F ICJkc1xbKGNwdXxtZW18bmV0aW58bmV0b3V0KVxdIiB8IGhlYWQgLTQ7IHRoZW4KKyAgICBlY2hv ICLinJMgUlJEIHNjaGVtYSBhY2Nlc3NpYmxlIHRocm91Z2ggcnJkY2FjaGVkIgorZWxzZQorICAg IGVjaG8gIkVSUk9SOiBDb3VsZCBub3QgcmVhZCBzY2hlbWEgdGhyb3VnaCBycmRjYWNoZWQiCisg ICAgZXhpdCAxCitmaQorCisjIFZlcmlmeSBkYXRhIHNvdXJjZXMgYXJlIGNvcnJlY3QKK0RTX0NP VU5UPSQocnJkdG9vbCBpbmZvICIkUlJEX0RJUi8kVEVTVF9SUkQiIC0tZGFlbW9uICJ1bml4OiRT T0NLRVQiIHwgZ3JlcCAtYyAiXmRzXFsiIHx8IHRydWUpCitpZiBbICIkRFNfQ09VTlQiIC1nZSA0 IF07IHRoZW4KKyAgICBlY2hvICLinJMgQWxsIGRhdGEgc291cmNlcyBwcmVzZW50IChmb3VuZCAk RFNfQ09VTlQgRFMgZW50cmllcykiCitlbHNlCisgICAgZWNobyAiRVJST1I6IE1pc3NpbmcgZGF0 YSBzb3VyY2VzIChleHBlY3RlZCA0KywgZm91bmQgJERTX0NPVU5UKSIKKyAgICBleGl0IDEKK2Zp CisKK2VjaG8gIiIKK2VjaG8gIuKckyBycmRjYWNoZWQgaW50ZWdyYXRpb24gdGVzdCBwYXNzZWQi CitleGl0IDAKZGlmZiAtLWdpdCBhL3NyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvdGVz dHMvcnJkL1JFQURNRS5tZCBiL3NyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvdGVzdHMv cnJkL1JFQURNRS5tZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uZTE1NWFm NDcKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzL3Rl c3RzL3JyZC9SRUFETUUubWQKQEAgLTAsMCArMSwxNjQgQEAKKyMgUlJEIEludGVncmF0aW9uIFRl c3RzCisKK1RoaXMgZGlyZWN0b3J5IGNvbnRhaW5zIGludGVncmF0aW9uIHRlc3RzIGZvciB0aGUg cG14Y2ZzLXJyZCBjb21wb25lbnQsIHZlcmlmeWluZyBSUkQgKFJvdW5kLVJvYmluIERhdGFiYXNl KSBmdW5jdGlvbmFsaXR5LgorCisjIyBUZXN0IE92ZXJ2aWV3CisKKyMjIyAwMS1ycmQtYmFzaWMu c2gKKyoqUHVycG9zZSoqOiBWZXJpZnkgYmFzaWMgUlJEIGZ1bmN0aW9uYWxpdHkKKyoqQ292ZXJh Z2UqKjoKKy0gUlJEIGRpcmVjdG9yeSBleGlzdGVuY2UKKy0gcnJkdG9vbCBhdmFpbGFiaWxpdHkg Y2hlY2sKKy0gQmFzaWMgUlJEIGZpbGUgY3JlYXRpb24KKy0gUlJEIHVwZGF0ZSBvcGVyYXRpb25z CistIFJSRCBpbmZvIHF1ZXJpZXMKKy0gcG14Y2ZzIFJSRCBmaWxlIHBhdHRlcm4gZGV0ZWN0aW9u CisKKyoqRGVwZW5kZW5jaWVzKio6IHJyZHRvb2wgKG9wdGlvbmFsIC0gdGVzdCBkZWdyYWRlcyBn cmFjZWZ1bGx5IGlmIG5vdCBhdmFpbGFibGUpCisKKy0tLQorCisjIyMgMDItc2NoZW1hLXZhbGlk YXRpb24uc2gKKyoqUHVycG9zZSoqOiBWYWxpZGF0ZSBSUkQgc2NoZW1hcyBtYXRjaCBwbXhjZnMt cnJkIHNwZWNpZmljYXRpb25zCisqKkNvdmVyYWdlKio6CistIE5vZGUgc2NoZW1hIChwdmUyIGZv cm1hdCAtIDEyIGRhdGEgc291cmNlcykKKy0gTm9kZSBzY2hlbWEgKHB2ZTkuMCBmb3JtYXQgLSAx OSBkYXRhIHNvdXJjZXMpCistIFZNIHNjaGVtYSAocHZlMiBmb3JtYXQgLSAxMCBkYXRhIHNvdXJj ZXMpCistIFZNIHNjaGVtYSAocHZlOS4wIGZvcm1hdCAtIDE3IGRhdGEgc291cmNlcykKKy0gU3Rv cmFnZSBzY2hlbWEgKDIgZGF0YSBzb3VyY2VzKQorLSBEYXRhIHNvdXJjZSB0eXBlcyAoR0FVR0Ug dnMgREVSSVZFKQorLSBSUkEgKFJvdW5kLVJvYmluIEFyY2hpdmUpIGRlZmluaXRpb25zCistIEhl YXJ0YmVhdCB2YWx1ZXMgKDEyMCBzZWNvbmRzKQorLSBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IChw dmU5LjAgaW5jbHVkZXMgcHZlMikKKworKipUZXN0IE1ldGhvZCoqOgorLSBDcmVhdGVzIFJSRCBm aWxlcyB1c2luZyBycmR0b29sIHdpdGggZXhhY3Qgc2NoZW1hcyBmcm9tIGBwbXhjZnMtcnJkL3Ny Yy9zY2hlbWEucnNgCistIFZhbGlkYXRlcyB1c2luZyBgcnJkdG9vbCBpbmZvYCB0byB2ZXJpZnkg ZGF0YSBzb3VyY2VzIGFuZCBSUkFzCistIENvbXBhcmVzIGFnYWluc3QgQyBpbXBsZW1lbnRhdGlv biBzcGVjaWZpY2F0aW9ucworCisqKkRlcGVuZGVuY2llcyoqOiBycmR0b29sIChyZXF1aXJlZCAt IHRlc3Qgc2tpcHMgaWYgbm90IGF2YWlsYWJsZSkKKworKipSZWZlcmVuY2UqKjogU2VlIGBzcmMv cG14Y2ZzLXJzL3BteGNmcy1ycmQvc3JjL3NjaGVtYS5yc2AgZm9yIHNjaGVtYSBkZWZpbml0aW9u cworCistLS0KKworIyMjIDAzLXJyZGNhY2hlZC1pbnRlZ3JhdGlvbi5zaCAoTkVXKQorKipQdXJw b3NlKio6IFZlcmlmeSBwbXhjZnMgaW50ZWdyYXRpb24gd2l0aCBycmRjYWNoZWQgZGFlbW9uCisq KkNvdmVyYWdlKio6CistICoqVGVzdCAxKio6IHJyZGNhY2hlZCBkYWVtb24gc3RhcnR1cCBhbmQg c29ja2V0IGNyZWF0aW9uCistICoqVGVzdCAyKio6IFJSRCBmaWxlIGNyZWF0aW9uIHRocm91Z2gg cnJkY2FjaGVkCistICoqVGVzdCAzKio6IENhY2hlZCB1cGRhdGVzICg1IHVwZGF0ZXMgYnVmZmVy ZWQgaW4gbWVtb3J5KQorLSAqKlRlc3QgNCoqOiBDYWNoZSBmbHVzaCB0byBkaXNrIChGTFVTSCBj b21tYW5kKQorLSAqKlRlc3QgNSoqOiBEYWVtb24gc3RvcC9yZXN0YXJ0IHJlY292ZXJ5CistICoq VGVzdCA2Kio6IERhdGEgcGVyc2lzdGVuY2UgYWNyb3NzIGRhZW1vbiByZXN0YXJ0CistICoqVGVz dCA3Kio6IEpvdXJuYWwgZmlsZSBjcmVhdGlvbiBhbmQgcmVjb3ZlcnkKKy0gKipUZXN0IDgqKjog U2NoZW1hIGFjY2VzcyB0aHJvdWdoIHJyZGNhY2hlZAorCisqKlRlc3QgTWV0aG9kKio6CistIFN0 YXJ0cyBzdGFuZGFsb25lIHJyZGNhY2hlZCBpbnN0YW5jZSB3aXRoIFVuaXggc29ja2V0CistIENy ZWF0ZXMgUlJEIGZpbGVzIHVzaW5nIGBycmR0b29sIC0tZGFlbW9uYCBvcHRpb24KKy0gUGVyZm9y bXMgdXBkYXRlcyB0aHJvdWdoIHNvY2tldCAoY2FjaGVkIG1vZGUpCistIFRlc3RzIEZMVVNIIGNv bW1hbmQgdG8gZm9yY2UgZGlzayB3cml0ZXMKKy0gU3RvcHMgYW5kIHJlc3RhcnRzIGRhZW1vbiB0 byB2ZXJpZnkgcGVyc2lzdGVuY2UKKy0gVmFsaWRhdGVzIGpvdXJuYWwgZmlsZXMgZm9yIGNyYXNo IHJlY292ZXJ5CistIFF1ZXJpZXMgc2NoZW1hIHRocm91Z2ggZGFlbW9uIHNvY2tldAorCisqKkRl cGVuZGVuY2llcyoqOgorLSBycmRjYWNoZWQgKHJlcXVpcmVkIC0gdGVzdCBza2lwcyBpZiBub3Qg YXZhaWxhYmxlKQorLSBycmR0b29sIChyZXF1aXJlZCAtIHRlc3Qgc2tpcHMgaWYgbm90IGF2YWls YWJsZSkKKy0gc29jYXQgKHJlcXVpcmVkIGZvciBTVEFUUy9GTFVTSCBjb21tYW5kcykKKy0gYmMg KHJlcXVpcmVkIGZvciBmbG9hdGluZy1wb2ludCBtYXRoKQorCisqKlNvY2tldCBQcm90b2NvbCoq OgorLSBVc2VzIFVuaXggZG9tYWluIHNvY2tldCBmb3IgY29tbXVuaWNhdGlvbgorLSBDb21tYW5k czogU1RBVFMsIEZMVVNIIDxmaWxlbmFtZT4KKy0gUmVzcG9uc2UgZm9ybWF0OiAiMCBTdWNjZXNz IiBvciBlcnJvciBjb2RlCisKKyoqcnJkY2FjaGVkIE9wdGlvbnMgVXNlZCoqOgorLSBgLWdgOiBS dW4gaW4gZm9yZWdyb3VuZCAoZm9yIHRlc3RpbmcpCistIGAtbCB1bml4OjxwYXRoPmA6IExpc3Rl biBvbiBVbml4IHNvY2tldAorLSBgLWIgPGRpcj5gOiBCYXNlIGRpcmVjdG9yeSBmb3IgUlJEIGZp bGVzCistIGAtQmA6IFJlc3RyaWN0IGFjY2VzcyB0byBiYXNlIGRpcmVjdG9yeQorLSBgLW0gNjYw YDogU29ja2V0IHBlcm1pc3Npb25zCistIGAtcCA8ZmlsZT5gOiBQSUQgZmlsZSBsb2NhdGlvbgor LSBgLWogPGRpcj5gOiBKb3VybmFsIGRpcmVjdG9yeSBmb3IgY3Jhc2ggcmVjb3ZlcnkKKy0gYC1G YDogRmx1c2ggYWxsIHVwZGF0ZXMgb24gc2h1dGRvd24KKy0gYC13IDVgOiBXcml0ZSB0aW1lb3V0 ICg1IHNlY29uZHMpCistIGAtZiAxMGA6IEZsdXNoIGRlYWQgZGF0YSBpbnRlcnZhbCAoMTAgc2Vj b25kcykKKworKipXaHkgVGhpcyBUZXN0IE1hdHRlcnMqKjoKKy0gcnJkY2FjaGVkIHByb3ZpZGVz IHdyaXRlIGNhY2hpbmcgYW5kIGJhdGNoaW5nIGZvciBSUkQgdXBkYXRlcworLSBSZWR1Y2VzIGRp c2sgSS9PIGZvciBoaWdoLWZyZXF1ZW5jeSBtZXRyaWMgdXBkYXRlcworLSBQcm92aWRlcyBjcmFz aCByZWNvdmVyeSB0aHJvdWdoIGpvdXJuYWwgZmlsZXMKKy0gVXNlZCBieSBwbXhjZnMgaW4gcHJv ZHVjdGlvbiBmb3IgcGVyZm9ybWFuY2UKKy0gVmFsaWRhdGVzIHRoYXQgY3JlYXRlZCBSUkQgZmls ZXMgd29yayB3aXRoIGNhY2hpbmcgZGFlbW9uCisKKy0tLQorCisjIyBSdW5uaW5nIFRlc3RzCisK KyMjIyBSdW4gYWxsIFJSRCB0ZXN0czoKK2BgYGJhc2gKK2NkIHNyYy9wbXhjZnMtcnMvaW50ZWdy YXRpb24tdGVzdHMKKy4vcnVuLXRlc3RzLnNoIC0tc3Vic3lzdGVtIHJyZAorYGBgCisKKyMjIyBS dW4gc3BlY2lmaWMgdGVzdDoKK2BgYGJhc2gKK2NkIHNyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24t dGVzdHMKK2Jhc2ggdGVzdHMvcnJkLzAxLXJyZC1iYXNpYy5zaAorYmFzaCB0ZXN0cy9ycmQvMDIt c2NoZW1hLXZhbGlkYXRpb24uc2gKK2Jhc2ggdGVzdHMvcnJkLzAzLXJyZGNhY2hlZC1pbnRlZ3Jh dGlvbi5zaAorYGBgCisKKyMjIyBSdW4gaW4gRG9ja2VyIGNvbnRhaW5lcjoKK2BgYGJhc2gKK2Nk IHNyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMKK2RvY2tlci1jb21wb3NlIHJ1biAtLXJt IHRlc3Qtbm9kZSBiYXNoIC1jICJiYXNoIC93b3Jrc3BhY2Uvc3JjL3BteGNmcy1ycy9pbnRlZ3Jh dGlvbi10ZXN0cy90ZXN0cy9ycmQvMDMtcnJkY2FjaGVkLWludGVncmF0aW9uLnNoIgorYGBgCisK KyMjIFRlc3QgUmVzdWx0cworCitBbGwgdGVzdHMgYXJlIGRlc2lnbmVkIHRvOgorLSDinIUgUGFz cyB3aGVuIGRlcGVuZGVuY2llcyBhcmUgYXZhaWxhYmxlCistIOKaoO+4jyBTa2lwIGdyYWNlZnVs bHkgd2hlbiBvcHRpb25hbCBkZXBlbmRlbmNpZXMgYXJlIG1pc3NpbmcKKy0g4p2MIEZhaWwgb25s eSBvbiBhY3R1YWwgZnVuY3Rpb25hbCBlcnJvcnMKKworIyMgRGVwZW5kZW5jaWVzIEluc3RhbGxh dGlvbgorCitGb3IgRGViaWFuL1VidW50dToKK2BgYGJhc2gKK2FwdC1nZXQgaW5zdGFsbCBycmR0 b29sIHJyZGNhY2hlZCBzb2NhdCBiYworYGBgCisKK0ZvciB0ZXN0aW5nIGNvbnRhaW5lciAoYWxy ZWFkeSBpbmNsdWRlZCBpbiBEb2NrZXJmaWxlKToKKy0gcnJkdG9vbDogdjEuNy4yKyAoUlJEIGNv bW1hbmQtbGluZSB0b29sKQorLSBycmRjYWNoZWQ6IHYxLjcuMisgKFJSRCBjYWNoaW5nIGRhZW1v bikKKy0gbGlicnJkOHQ2NDogUlJEIGxpYnJhcnkKKy0gc29jYXQ6IFNvY2tldCBjb21tdW5pY2F0 aW9uIHRvb2wKKy0gYmM6IEFyYml0cmFyeSBwcmVjaXNpb24gY2FsY3VsYXRvcgorCisjIyBJbXBs ZW1lbnRhdGlvbiBOb3RlcworCisjIyMgU2NoZW1hIFZhbGlkYXRpb24KK1RoZSBzY2hlbWFzIHRl c3RlZCBoZXJlICoqbXVzdCBtYXRjaCoqIHRoZSBkZWZpbml0aW9ucyBpbjoKKy0gYHNyYy9wbXhj ZnMtcnMvcG14Y2ZzLXJyZC9zcmMvc2NoZW1hLnJzYAorLSBDIGltcGxlbWVudGF0aW9uIGluIGBz cmMvcG14Y2ZzL3N0YXR1cy5jYAorCitBbnkgY2hhbmdlcyB0byBSUkQgc2NoZW1hcyBzaG91bGQg dXBkYXRlIGJvdGg6CisxLiBUaGUgc2NoZW1hIGRlZmluaXRpb24gY29kZQorMi4gVGhlc2UgdmFs aWRhdGlvbiB0ZXN0cworCisjIyMgcnJkY2FjaGVkIEludGVncmF0aW9uCitUaGUgZGFlbW9uIHRl c3QgdmFsaWRhdGVzIHRoZSAqKmNsaWVudC1zaWRlKiogYmVoYXZpb3IuIFRoZSBwbXhjZnMtcnJk IGNyYXRlIHByb3ZpZGVzOgorLSBgc3JjL2RhZW1vbi5yc2A6IHJyZGNhY2hlZCBjbGllbnQgaW1w bGVtZW50YXRpb24KKy0gYHNyYy93cml0ZXIucnNgOiBSUkQgZmlsZSBjcmVhdGlvbiBhbmQgdXBk YXRlcworCitUaGlzIHRlc3QgZW5zdXJlcyB0aGUgcHJvdG9jb2wgd29ya3MgZW5kLXRvLWVuZCwg ZXZlbiB0aG91Z2ggaXQgZG9lc24ndCBkaXJlY3RseSB0ZXN0IHRoZSBSdXN0IGNsaWVudCAodGhh dCdzIGNvdmVyZWQgYnkgdW5pdCB0ZXN0cykuCisKKyMjIFJlbGF0ZWQgRG9jdW1lbnRhdGlvbgor CistIHBteGNmcy1ycmQgUkVBRE1FOiBgc3JjL3BteGNmcy1ycy9wbXhjZnMtcnJkL1JFQURNRS5t ZGAKKy0gU2NoZW1hIGRlZmluaXRpb25zOiBgc3JjL3BteGNmcy1ycy9wbXhjZnMtcnJkL3NyYy9z Y2hlbWEucnNgCistIFRlc3QgY292ZXJhZ2UgZXZhbHVhdGlvbjogYHNyYy9wbXhjZnMtcnMvaW50 ZWdyYXRpb24tdGVzdHMvVEVTVF9DT1ZFUkFHRV9FVkFMVUFUSU9OLm1kYAorLSBSUkR0b29sIGRv Y3VtZW50YXRpb246IGh0dHBzOi8vb3NzLm9ldGlrZXIuY2gvcnJkdG9vbC9kb2MvaW5kZXguZW4u aHRtbApkaWZmIC0tZ2l0IGEvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0cy9y dW4tYy10ZXN0cy5zaCBiL3NyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvdGVzdHMvcnVu LWMtdGVzdHMuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAuLmM5ZDk4OTUw Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0 cy9ydW4tYy10ZXN0cy5zaApAQCAtMCwwICsxLDMyMSBAQAorIyEvYmluL2Jhc2gKKyMgVGVzdCBy dW5uZXIgZm9yIEMgdGVzdHMgaW5zaWRlIGNvbnRhaW5lcgorIyBUaGlzIHNjcmlwdCBydW5zIGlu c2lkZSB0aGUgY29udGFpbmVyIHdpdGggYWxsIGRlcGVuZGVuY2llcyBhdmFpbGFibGUKKworc2V0 IC1lCisKKyMgU291cmNlIGNvbW1vbiB0ZXN0IGNvbmZpZ3VyYXRpb24KK1NDUklQVF9ESVI9IiQo Y2QgIiQoZGlybmFtZSAiJHtCQVNIX1NPVVJDRVswXX0iKSIgJiYgcHdkKSIKK3NvdXJjZSAiJFND UklQVF9ESVIvLi4vdGVzdC1jb25maWcuc2giCisKKyMgQ29sb3JzIGZvciBvdXRwdXQKK1JFRD0n XDAzM1swOzMxbScKK0dSRUVOPSdcMDMzWzA7MzJtJworWUVMTE9XPSdcMDMzWzE7MzNtJworQkxV RT0nXDAzM1swOzM0bScKK05DPSdcMDMzWzBtJyAjIE5vIENvbG9yCisKK2VjaG8gLWUgIiR7QkxV RX3ilZTilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDi lZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDi lZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDi lZDilZDilZDilZDilZDilZcke05DfSIKK2VjaG8gLWUgIiR7QkxVRX3ilZEgIFJ1bm5pbmcgQyBU ZXN0cyBBZ2FpbnN0IFJ1c3QgcG14Y2ZzIChJbiBDb250YWluZXIpICAgICAgIOKVkSR7TkN9Igor ZWNobyAtZSAiJHtCTFVFfeKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV kOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV kOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV kOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVnSR7TkN9IgorZWNobyAiIgorCisjIFRlc3Qg cmVzdWx0cyB0cmFja2luZworVEVTVFNfUEFTU0VEPTAKK1RFU1RTX0ZBSUxFRD0wCitURVNUU19T S0lQUEVEPTAKKworcHJpbnRfc3RhdHVzKCkgeworICAgIGxvY2FsIHN0YXR1cz0kMQorICAgIGxv Y2FsIG1lc3NhZ2U9JDIKKyAgICBjYXNlICRzdGF0dXMgaW4KKyAgICAgICAgIk9LIikKKyAgICAg ICAgICAgIGVjaG8gLWUgIiR7R1JFRU59W+Kck10ke05DfSAkbWVzc2FnZSIKKyAgICAgICAgICAg IDs7CisgICAgICAgICJGQUlMIikKKyAgICAgICAgICAgIGVjaG8gLWUgIiR7UkVEfVvinJddJHtO Q30gJG1lc3NhZ2UiCisgICAgICAgICAgICA7OworICAgICAgICAiV0FSTiIpCisgICAgICAgICAg ICBlY2hvIC1lICIke1lFTExPV31bIV0ke05DfSAkbWVzc2FnZSIKKyAgICAgICAgICAgIDs7Cisg ICAgICAgICJJTkZPIikKKyAgICAgICAgICAgIGVjaG8gLWUgIiR7QkxVRX1baV0ke05DfSAkbWVz c2FnZSIKKyAgICAgICAgICAgIDs7CisgICAgZXNhYworfQorCisjIENsZWFudXAgZnVuY3Rpb24K K2NsZWFudXAoKSB7CisgICAgZWNobyAiIgorICAgIGVjaG8gIkNsZWFuaW5nIHVwLi4uIgorCisg ICAgIyBTdG9wIHBteGNmcyBpZiBydW5uaW5nCisgICAgaWYgcGdyZXAgcG14Y2ZzID4gL2Rldi9u dWxsIDI+JjE7IHRoZW4KKyAgICAgICAgcHJpbnRfc3RhdHVzICJJTkZPIiAiU3RvcHBpbmcgcG14 Y2ZzLi4uIgorICAgICAgICBwa2lsbCBwbXhjZnMgfHwgdHJ1ZQorICAgICAgICBzbGVlcCAxCisg ICAgZmkKKworICAgICMgVW5tb3VudCBpZiBzdGlsbCBtb3VudGVkCisgICAgaWYgbW91bnRwb2lu dCAtcSAvZXRjL3B2ZSAyPi9kZXYvbnVsbDsgdGhlbgorICAgICAgICBwcmludF9zdGF0dXMgIklO Rk8iICJVbm1vdW50aW5nIC9ldGMvcHZlLi4uIgorICAgICAgICB1bW91bnQgLWwgL2V0Yy9wdmUg Mj4vZGV2L251bGwgfHwgdHJ1ZQorICAgIGZpCisKKyAgICBlY2hvICIiCisgICAgZWNobyAtZSAi JHtCTFVFfeKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV kOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV kOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKV kOKVkOKVkOKVkOKVkCR7TkN9IgorICAgIGVjaG8gLWUgIiR7QkxVRX0gICAgICAgICAgICAgICAg ICAgICBUZXN0IFN1bW1hcnkgICAgICAgICAgICAgICAgICAgICAgICAgICR7TkN9IgorICAgIGVj aG8gLWUgIiR7QkxVRX3ilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDi lZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDi lZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDi lZDilZDilZDilZDilZDilZDilZAke05DfSIKKyAgICBlY2hvIC1lICIke0dSRUVOfVBhc3NlZDog ICR7VEVTVFNfUEFTU0VEfSR7TkN9IgorICAgIGVjaG8gLWUgIiR7UkVEfUZhaWxlZDogICR7VEVT VFNfRkFJTEVEfSR7TkN9IgorICAgIGVjaG8gLWUgIiR7WUVMTE9XfVNraXBwZWQ6ICR7VEVTVFNf U0tJUFBFRH0ke05DfSIKKyAgICBlY2hvICIiCisKKyAgICAjIEV4aXQgd2l0aCBlcnJvciBpZiBh bnkgdGVzdHMgZmFpbGVkCisgICAgaWYgWyAkVEVTVFNfRkFJTEVEIC1ndCAwIF07IHRoZW4KKyAg ICAgICAgZXhpdCAxCisgICAgZmkKK30KKwordHJhcCBjbGVhbnVwIEVYSVQgSU5UIFRFUk0KKwor ZWNobyAiRW52aXJvbm1lbnQgSW5mb3JtYXRpb246IgorZWNobyAiICBIb3N0bmFtZTogJChob3N0 bmFtZSkiCitlY2hvICIgIEtlcm5lbDogJCh1bmFtZSAtcikiCitlY2hvICIgIFBlcmw6ICQocGVy bCAtdiB8IGdyZXAgLW9QICdcKHZcS1swLTkuXSsnIHwgaGVhZCAtMSkiCitlY2hvICIgIENvbnRh aW5lcjogRG9ja2VyL1BvZG1hbiIKK2VjaG8gIiIKKworIyBDaGVjayBpZiBwbXhjZnMgYmluYXJ5 IGV4aXN0cworaWYgWyAhIC1mIC91c3IvbG9jYWwvYmluL3BteGNmcyBdOyB0aGVuCisgICAgcHJp bnRfc3RhdHVzICJGQUlMIiAicG14Y2ZzIGJpbmFyeSBub3QgZm91bmQgYXQgL3Vzci9sb2NhbC9i aW4vcG14Y2ZzIgorICAgIGV4aXQgMQorZmkKK3ByaW50X3N0YXR1cyAiT0siICJwbXhjZnMgYmlu YXJ5IGZvdW5kIgorCisjIENoZWNrIFBWRSBtb2R1bGVzCitwcmludF9zdGF0dXMgIklORk8iICJD aGVja2luZyBQVkUgUGVybCBtb2R1bGVzLi4uIgoraWYgcGVybCAtZSAndXNlIFBWRTo6Q2x1c3Rl cjsgdXNlIFBWRTo6SVBDQzsnIDI+L2Rldi9udWxsOyB0aGVuCisgICAgcHJpbnRfc3RhdHVzICJP SyIgIlBWRSBQZXJsIG1vZHVsZXMgYXZhaWxhYmxlIgorICAgIEhBU19QVkVfTU9EVUxFUz10cnVl CitlbHNlCisgICAgcHJpbnRfc3RhdHVzICJXQVJOIiAiUFZFIFBlcmwgbW9kdWxlcyBub3QgYXZh aWxhYmxlIC0gc29tZSB0ZXN0cyB3aWxsIGJlIHNraXBwZWQiCisgICAgSEFTX1BWRV9NT0RVTEVT PWZhbHNlCitmaQorCitlY2hvICIiCitlY2hvIC1lICIke0JMVUV94pWQ4pWQ4pWQ4pWQ4pWQ4pWQ 4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ 4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ 4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQJHtOQ30iCitlY2hv IC1lICIke0JMVUV9ICAgICAgICAgICAgICBTdGFydGluZyBSdXN0IHBteGNmcyAgICAgICAgICAg ICAgICAgICAgICAgICAgJHtOQ30iCitlY2hvIC1lICIke0JMVUV94pWQ4pWQ4pWQ4pWQ4pWQ4pWQ 4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ 4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ 4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQJHtOQ30iCitlY2hv ICIiCisKKyMgU3RhcnQgcG14Y2ZzIGluIGJhY2tncm91bmQKK3ByaW50X3N0YXR1cyAiSU5GTyIg IlN0YXJ0aW5nIFJ1c3QgcG14Y2ZzLi4uIgorL3Vzci9sb2NhbC9iaW4vcG14Y2ZzIC0tZm9yZWdy b3VuZCAtLWxvY2FsICYKK1BNWENGU19QSUQ9JCEKKworIyBXYWl0IGZvciBzdGFydHVwCitwcmlu dF9zdGF0dXMgIklORk8iICJXYWl0aW5nIGZvciBwbXhjZnMgdG8gc3RhcnQgKFBJRDogJFBNWENG U19QSUQpLi4uIgorZm9yIGkgaW4gezEuLjMwfTsgZG8KKyAgICBpZiBtb3VudHBvaW50IC1xIC9l dGMvcHZlIDI+L2Rldi9udWxsOyB0aGVuCisgICAgICAgIGJyZWFrCisgICAgZmkKKyAgICBzbGVl cCAwLjUKKyAgICBpZiAhIHBzIC1wICRQTVhDRlNfUElEID4gL2Rldi9udWxsIDI+JjE7IHRoZW4K KyAgICAgICAgcHJpbnRfc3RhdHVzICJGQUlMIiAicG14Y2ZzIHByb2Nlc3MgZGllZCBkdXJpbmcg c3RhcnR1cCIKKyAgICAgICAgZXhpdCAxCisgICAgZmkKK2RvbmUKKworaWYgISBtb3VudHBvaW50 IC1xIC9ldGMvcHZlIDI+L2Rldi9udWxsOyB0aGVuCisgICAgcHJpbnRfc3RhdHVzICJGQUlMIiAi RmFpbGVkIHRvIG1vdW50IGZpbGVzeXN0ZW0gYWZ0ZXIgMTUgc2Vjb25kcyIKKyAgICBleGl0IDEK K2ZpCitwcmludF9zdGF0dXMgIk9LIiAiUnVzdCBwbXhjZnMgcnVubmluZyAoUElEOiAkUE1YQ0ZT X1BJRCkiCitwcmludF9zdGF0dXMgIk9LIiAiRmlsZXN5c3RlbSBtb3VudGVkIGF0IC9ldGMvcHZl IgorCisjIENoZWNrIElQQyBzb2NrZXQKK2lmIFsgLVMgL3Zhci9ydW4vcHZlMiBdOyB0aGVuCisg ICAgcHJpbnRfc3RhdHVzICJPSyIgIklQQyBzb2NrZXQgYXZhaWxhYmxlIGF0IC92YXIvcnVuL3B2 ZTIiCitlbHNlCisgICAgcHJpbnRfc3RhdHVzICJXQVJOIiAiSVBDIHNvY2tldCBub3QgZm91bmQg YXQgL3Zhci9ydW4vcHZlMiIKK2ZpCisKK2VjaG8gIiIKK2VjaG8gLWUgIiR7QkxVRX3ilZDilZDi lZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDi lZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDi lZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAk e05DfSIKK2VjaG8gLWUgIiR7QkxVRX0gICAgICAgICAgICAgICAgICBSdW5uaW5nIFRlc3RzICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAke05DfSIKK2VjaG8gLWUgIiR7QkxVRX3ilZDilZDi lZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDi lZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDi lZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAk e05DfSIKK2VjaG8gIiIKKworY2QgL3Rlc3QvYy10ZXN0cworCisjIFRlc3QgMTogQ29yb3N5bmMg cGFyc2VyIHRlc3QKK2VjaG8gLWUgIiR7WUVMTE9XfVRlc3QgMTogQ29yb3N5bmMgQ29uZmlndXJh dGlvbiBQYXJzZXIke05DfSIKK2lmIFsgLWYgY29yb3N5bmNfcGFyc2VyX3Rlc3QucGwgXTsgdGhl bgorICAgIGlmIC4vY29yb3N5bmNfcGFyc2VyX3Rlc3QucGwgPiAvdG1wL2Nvcm9zeW5jX3Rlc3Qu bG9nIDI+JjE7IHRoZW4KKyAgICAgICAgcHJpbnRfc3RhdHVzICJPSyIgIkNvcm9zeW5jIHBhcnNl ciB0ZXN0IHBhc3NlZCIKKyAgICAgICAgKChURVNUU19QQVNTRUQrKykpCisgICAgZWxzZQorICAg ICAgICBwcmludF9zdGF0dXMgIkZBSUwiICJDb3Jvc3luYyBwYXJzZXIgdGVzdCBmYWlsZWQiCisg ICAgICAgIGNhdCAvdG1wL2Nvcm9zeW5jX3Rlc3QubG9nIHwgdGFpbCAtMjAKKyAgICAgICAgKChU RVNUU19GQUlMRUQrKykpCisgICAgZmkKK2Vsc2UKKyAgICBwcmludF9zdGF0dXMgIlNLSVAiICJj b3Jvc3luY19wYXJzZXJfdGVzdC5wbCBub3QgZm91bmQiCisgICAgKChURVNUU19TS0lQUEVEKysp KQorZmkKK2VjaG8gIiIKKworIyBXYWl0IGEgYml0IGZvciBkYWVtb24gdG8gYmUgZnVsbHkgcmVh ZHkKK3NsZWVwIDIKKworIyBUZXN0IDI6IFZNIGNvbmZpZyBjcmVhdGlvbgorZWNobyAtZSAiJHtZ RUxMT1d9VGVzdCAyOiBWTSBDb25maWcgQ3JlYXRpb24ke05DfSIKK3ByaW50X3N0YXR1cyAiSU5G TyIgIkNyZWF0aW5nIHRlc3QgVk0gY29uZmlndXJhdGlvbi4uLiIKK05PREVOQU1FPSQoaG9zdG5h bWUpCitpZiBta2RpciAtcCAvZXRjL3B2ZS9ub2Rlcy8kTk9ERU5BTUUvcWVtdS1zZXJ2ZXIgMj4v ZGV2L251bGw7IHRoZW4KKyAgICBpZiBlY2hvICJuYW1lOiB0ZXN0LXZtIiA+IC9ldGMvcHZlL25v ZGVzLyROT0RFTkFNRS9xZW11LXNlcnZlci8xMDAuY29uZiAyPiYxOyB0aGVuCisgICAgICAgIGlm IFsgLWYgL2V0Yy9wdmUvbm9kZXMvJE5PREVOQU1FL3FlbXUtc2VydmVyLzEwMC5jb25mIF07IHRo ZW4KKyAgICAgICAgICAgIHByaW50X3N0YXR1cyAiT0siICJWTSBjb25maWcgY3JlYXRpb24gc3Vj Y2Vzc2Z1bCIKKyAgICAgICAgICAgICgoVEVTVFNfUEFTU0VEKyspKQorICAgICAgICBlbHNlCisg ICAgICAgICAgICBwcmludF9zdGF0dXMgIkZBSUwiICJWTSBjb25maWcgbm90IHJlYWRhYmxlIgor ICAgICAgICAgICAgKChURVNUU19GQUlMRUQrKykpCisgICAgICAgIGZpCisgICAgZWxzZQorICAg ICAgICBwcmludF9zdGF0dXMgIkZBSUwiICJGYWlsZWQgdG8gd3JpdGUgVk0gY29uZmlnIgorICAg ICAgICAoKFRFU1RTX0ZBSUxFRCsrKSkKKyAgICBmaQorZWxzZQorICAgIHByaW50X3N0YXR1cyAi RkFJTCIgIkZhaWxlZCB0byBjcmVhdGUgZGlyZWN0b3J5IgorICAgICgoVEVTVFNfRkFJTEVEKysp KQorZmkKK2VjaG8gIiIKKworIyBUZXN0IDM6IENvbmZpZyBwcm9wZXJ0eSBhY2Nlc3MgKHJlcXVp cmVzIFBWRSBtb2R1bGVzKQoraWYgWyAiJEhBU19QVkVfTU9EVUxFUyIgPSB0cnVlIF0gJiYgWyAt ZiBzY3JpcHRzL3Rlc3QtY29uZmlnLWdldC1wcm9wZXJ0eS5wbCBdOyB0aGVuCisgICAgZWNobyAt ZSAiJHtZRUxMT1d9VGVzdCAzOiBDb25maWcgUHJvcGVydHkgQWNjZXNzJHtOQ30iCisgICAgaWYg WyAtZiAvZXRjL3B2ZS9ub2Rlcy8kTk9ERU5BTUUvcWVtdS1zZXJ2ZXIvMTAwLmNvbmYgXTsgdGhl bgorICAgICAgICBlY2hvICJsb2NrOiB0ZXN0LWxvY2siID4+IC9ldGMvcHZlL25vZGVzLyROT0RF TkFNRS9xZW11LXNlcnZlci8xMDAuY29uZgorCisgICAgICAgIGlmIC4vc2NyaXB0cy90ZXN0LWNv bmZpZy1nZXQtcHJvcGVydHkucGwgMTAwIGxvY2sgPiAvdG1wL2NvbmZpZ19wcm9wX3Rlc3QubG9n IDI+JjE7IHRoZW4KKyAgICAgICAgICAgIHByaW50X3N0YXR1cyAiT0siICJDb25maWcgcHJvcGVy dHkgYWNjZXNzIHRlc3QgcGFzc2VkIgorICAgICAgICAgICAgKChURVNUU19QQVNTRUQrKykpCisg ICAgICAgIGVsc2UKKyAgICAgICAgICAgIHByaW50X3N0YXR1cyAiV0FSTiIgIkNvbmZpZyBwcm9w ZXJ0eSBhY2Nlc3MgdGVzdCBmYWlsZWQiCisgICAgICAgICAgICBwcmludF9zdGF0dXMgIklORk8i ICJUaGlzIG1heSBmYWlsIGlmIFBWRTo6Q2x1c3RlciBBUElzIGFyZSBub3QgZnVsbHkgY29tcGF0 aWJsZSIKKyAgICAgICAgICAgIGNhdCAvdG1wL2NvbmZpZ19wcm9wX3Rlc3QubG9nIHwgdGFpbCAt MTAKKyAgICAgICAgICAgICgoVEVTVFNfRkFJTEVEKyspKQorICAgICAgICBmaQorICAgIGVsc2UK KyAgICAgICAgcHJpbnRfc3RhdHVzICJTS0lQIiAiQ29uZmlnIHByb3BlcnR5IHRlc3Qgc2tpcHBl ZCAobm8gdGVzdCBWTSkiCisgICAgICAgICgoVEVTVFNfU0tJUFBFRCsrKSkKKyAgICBmaQorZWxz ZQorICAgIHByaW50X3N0YXR1cyAiU0tJUCIgIkNvbmZpZyBwcm9wZXJ0eSB0ZXN0IHNraXBwZWQg KG5vIFBWRSBtb2R1bGVzIG9yIHNjcmlwdCkiCisgICAgKChURVNUU19TS0lQUEVEKyspKQorZmkK K2VjaG8gIiIKKworIyBUZXN0IDQ6IEZpbGUgb3BlcmF0aW9ucworZWNobyAtZSAiJHtZRUxMT1d9 VGVzdCA0OiBGaWxlIE9wZXJhdGlvbnMke05DfSIKK3ByaW50X3N0YXR1cyAiSU5GTyIgIlRlc3Rp bmcgZmlsZSBjcmVhdGlvbiBhbmQgZGVsZXRpb24uLi4iCitURVNUX0NPVU5UPTAKK0ZBSUxfQ09V TlQ9MAorCitmb3IgaSBpbiB7MS4uMTB9OyBkbworICAgIGlmIHRvdWNoICIvZXRjL3B2ZS90ZXN0 X2ZpbGVfJGkiIDI+L2Rldi9udWxsOyB0aGVuCisgICAgICAgICgoVEVTVF9DT1VOVCsrKSkKKyAg ICBlbHNlCisgICAgICAgICgoRkFJTF9DT1VOVCsrKSkKKyAgICBmaQorZG9uZQorCitmb3IgaSBp biB7MS4uMTB9OyBkbworICAgIGlmIHJtIC1mICIvZXRjL3B2ZS90ZXN0X2ZpbGVfJGkiIDI+L2Rl di9udWxsOyB0aGVuCisgICAgICAgICgoVEVTVF9DT1VOVCsrKSkKKyAgICBlbHNlCisgICAgICAg ICgoRkFJTF9DT1VOVCsrKSkKKyAgICBmaQorZG9uZQorCitpZiBbICRGQUlMX0NPVU5UIC1lcSAw IF07IHRoZW4KKyAgICBwcmludF9zdGF0dXMgIk9LIiAiRmlsZSBvcGVyYXRpb25zIHRlc3QgcGFz c2VkICgkVEVTVF9DT1VOVCBvcGVyYXRpb25zKSIKKyAgICAoKFRFU1RTX1BBU1NFRCsrKSkKK2Vs c2UKKyAgICBwcmludF9zdGF0dXMgIkZBSUwiICJGaWxlIG9wZXJhdGlvbnMgdGVzdCBmYWlsZWQg KCRGQUlMX0NPVU5UIGZhaWx1cmVzKSIKKyAgICAoKFRFU1RTX0ZBSUxFRCsrKSkKK2ZpCitlY2hv ICIiCisKKyMgVGVzdCA1OiBEaXJlY3Rvcnkgb3BlcmF0aW9ucworZWNobyAtZSAiJHtZRUxMT1d9 VGVzdCA1OiBEaXJlY3RvcnkgT3BlcmF0aW9ucyR7TkN9IgorcHJpbnRfc3RhdHVzICJJTkZPIiAi VGVzdGluZyBkaXJlY3RvcnkgY3JlYXRpb24gYW5kIGRlbGV0aW9uLi4uIgoraWYgbWtkaXIgLXAg L2V0Yy9wdmUvdGVzdF9kaXIvc3ViZGlyIDI+L2Rldi9udWxsOyB0aGVuCisgICAgaWYgWyAtZCAv ZXRjL3B2ZS90ZXN0X2Rpci9zdWJkaXIgXTsgdGhlbgorICAgICAgICBpZiBybWRpciAvZXRjL3B2 ZS90ZXN0X2Rpci9zdWJkaXIgL2V0Yy9wdmUvdGVzdF9kaXIgMj4vZGV2L251bGw7IHRoZW4KKyAg ICAgICAgICAgIHByaW50X3N0YXR1cyAiT0siICJEaXJlY3Rvcnkgb3BlcmF0aW9ucyB0ZXN0IHBh c3NlZCIKKyAgICAgICAgICAgICgoVEVTVFNfUEFTU0VEKyspKQorICAgICAgICBlbHNlCisgICAg ICAgICAgICBwcmludF9zdGF0dXMgIkZBSUwiICJEaXJlY3RvcnkgZGVsZXRpb24gZmFpbGVkIgor ICAgICAgICAgICAgKChURVNUU19GQUlMRUQrKykpCisgICAgICAgIGZpCisgICAgZWxzZQorICAg ICAgICBwcmludF9zdGF0dXMgIkZBSUwiICJEaXJlY3Rvcnkgbm90IHJlYWRhYmxlIgorICAgICAg ICAoKFRFU1RTX0ZBSUxFRCsrKSkKKyAgICBmaQorZWxzZQorICAgIHByaW50X3N0YXR1cyAiRkFJ TCIgIkRpcmVjdG9yeSBjcmVhdGlvbiBmYWlsZWQiCisgICAgKChURVNUU19GQUlMRUQrKykpCitm aQorZWNobyAiIgorCisjIFRlc3QgNjogRGlyZWN0b3J5IGxpc3RpbmcKK2VjaG8gLWUgIiR7WUVM TE9XfVRlc3QgNjogRGlyZWN0b3J5IExpc3Rpbmcke05DfSIKK2lmIGxzIC1sYSAvZXRjL3B2ZS8g PiAvdG1wL3B2ZV9scy5sb2cgMj4mMTsgdGhlbgorICAgIHByaW50X3N0YXR1cyAiT0siICJEaXJl Y3RvcnkgbGlzdGluZyBzdWNjZXNzZnVsIgorICAgIHByaW50X3N0YXR1cyAiSU5GTyIgIkNvbnRl bnRzOiIKKyAgICBjYXQgL3RtcC9wdmVfbHMubG9nIHwgaGVhZCAtMjAKKyAgICAoKFRFU1RTX1BB U1NFRCsrKSkKK2Vsc2UKKyAgICBwcmludF9zdGF0dXMgIkZBSUwiICJEaXJlY3RvcnkgbGlzdGlu ZyBmYWlsZWQiCisgICAgKChURVNUU19GQUlMRUQrKykpCitmaQorZWNobyAiIgorCisjIFRlc3Qg NzogTGFyZ2UgZmlsZSBvcGVyYXRpb25zIChpZiB0ZXN0IGV4aXN0cykKK2lmIFsgLWYgc2NyaXB0 cy9jcmVhdGVfbGFyZ2VfZmlsZXMucGwgXSAmJiBbICIkSEFTX1BWRV9NT0RVTEVTIiA9IHRydWUg XTsgdGhlbgorICAgIGVjaG8gLWUgIiR7WUVMTE9XfVRlc3QgNzogTGFyZ2UgRmlsZSBPcGVyYXRp b25zJHtOQ30iCisgICAgcHJpbnRfc3RhdHVzICJJTkZPIiAiQ3JlYXRpbmcgbGFyZ2UgZmlsZXMu Li4iCisgICAgaWYgdGltZW91dCAzMCAuL3NjcmlwdHMvY3JlYXRlX2xhcmdlX2ZpbGVzLnBsID4g L3RtcC9sYXJnZV9maWxlcy5sb2cgMj4mMTsgdGhlbgorICAgICAgICBwcmludF9zdGF0dXMgIk9L IiAiTGFyZ2UgZmlsZSBvcGVyYXRpb25zIHRlc3QgcGFzc2VkIgorICAgICAgICAoKFRFU1RTX1BB U1NFRCsrKSkKKyAgICBlbHNlCisgICAgICAgIHByaW50X3N0YXR1cyAiV0FSTiIgIkxhcmdlIGZp bGUgb3BlcmF0aW9ucyB0ZXN0IGZhaWxlZCBvciB0aW1lZCBvdXQiCisgICAgICAgICgoVEVTVFNf RkFJTEVEKyspKQorICAgIGZpCisgICAgZWNobyAiIgorZmkKKworIyBUZXN0IDg6IFZNIGxpc3Qg dGVzdCAoaWYgd2UgaGF2ZSBtdWx0aXBsZSBWTXMpCitlY2hvIC1lICIke1lFTExPV31UZXN0IDg6 IFZNIExpc3QgVGVzdCR7TkN9IgorcHJpbnRfc3RhdHVzICJJTkZPIiAiQ3JlYXRpbmcgbXVsdGlw bGUgVk0gY29uZmlncy4uLiIKK2ZvciB2bWlkIGluIDEwMSAxMDIgMTAzOyBkbworICAgIGVjaG8g Im5hbWU6IHRlc3Qtdm0tJHZtaWQiID4gL2V0Yy9wdmUvbm9kZXMvJE5PREVOQU1FL3FlbXUtc2Vy dmVyLyR2bWlkLmNvbmYgMj4vZGV2L251bGwgfHwgdHJ1ZQorZG9uZQorCisjIExpc3QgYWxsIFZN cworaWYgbHMgLTEgL2V0Yy9wdmUvbm9kZXMvJE5PREVOQU1FL3FlbXUtc2VydmVyLyouY29uZiAy Pi9kZXYvbnVsbCB8IHdjIC1sIHwgZ3JlcCAtcSAiWzEtOV0iOyB0aGVuCisgICAgVk1fQ09VTlQ9 JChscyAtMSAvZXRjL3B2ZS9ub2Rlcy8kTk9ERU5BTUUvcWVtdS1zZXJ2ZXIvKi5jb25mIDI+L2Rl di9udWxsIHwgd2MgLWwpCisgICAgcHJpbnRfc3RhdHVzICJPSyIgIlZNIGxpc3QgdGVzdCBwYXNz ZWQgKCRWTV9DT1VOVCBWTXMgZm91bmQpIgorICAgICgoVEVTVFNfUEFTU0VEKyspKQorZWxzZQor ICAgIHByaW50X3N0YXR1cyAiRkFJTCIgIk5vIFZNcyBmb3VuZCIKKyAgICAoKFRFU1RTX0ZBSUxF RCsrKSkKK2ZpCitlY2hvICIiCisKK2VjaG8gIlRlc3RzIGNvbXBsZXRlZCEiCitlY2hvICIiCisK KyMgQ2xlYW51cCB3aWxsIGJlIGNhbGxlZCBieSB0cmFwCmRpZmYgLS1naXQgYS9zcmMvcG14Y2Zz LXJzL2ludGVncmF0aW9uLXRlc3RzL3Rlc3RzL3N0YXR1cy8wMS1zdGF0dXMtdHJhY2tpbmcuc2gg Yi9zcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzL3Rlc3RzL3N0YXR1cy8wMS1zdGF0dXMt dHJhY2tpbmcuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAuLjI2YTA4ZTA0 Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0 cy9zdGF0dXMvMDEtc3RhdHVzLXRyYWNraW5nLnNoCkBAIC0wLDAgKzEsMTEzIEBACisjIS9iaW4v YmFzaAorIyBUZXN0OiBTdGF0dXMgVHJhY2tpbmcKKyMgVmVyaWZ5IHN0YXR1cyB0cmFja2luZyBh bmQgVk0gcmVnaXN0cnkgZnVuY3Rpb25hbGl0eQorCitzZXQgLWUKKworIyBTb3VyY2UgY29tbW9u IHRlc3QgY29uZmlndXJhdGlvbgorU0NSSVBUX0RJUj0iJChjZCAiJChkaXJuYW1lICIke0JBU0hf U09VUkNFWzBdfSIpIiAmJiBwd2QpIgorc291cmNlICIkU0NSSVBUX0RJUi8uLi90ZXN0LWNvbmZp Zy5zaCIKKworZWNobyAiVGVzdGluZyBzdGF0dXMgdHJhY2tpbmcuLi4iCisKK01PVU5UX1BBVEg9 IiRURVNUX01PVU5UX1BBVEgiCisKKyMgQ2hlY2sgaWYgbW91bnQgcGF0aCBpcyBhY2Nlc3NpYmxl CitpZiBbICEgLWQgIiRNT1VOVF9QQVRIIiBdOyB0aGVuCisgICAgZWNobyAiRVJST1I6IE1vdW50 IHBhdGggbm90IGFjY2Vzc2libGU6ICRNT1VOVF9QQVRIIgorICAgIGV4aXQgMQorZmkKK2VjaG8g IuKckyBNb3VudCBwYXRoIGFjY2Vzc2libGUiCisKKyMgVGVzdCAudmVyc2lvbiBwbHVnaW4gKHN0 YXR1cyB2ZXJzaW9uIHRyYWNraW5nKQorVkVSU0lPTl9GSUxFPSIkTU9VTlRfUEFUSC8udmVyc2lv biIKK2lmIFsgLWYgIiRWRVJTSU9OX0ZJTEUiIF0gfHwgWyAtZSAiJFZFUlNJT05fRklMRSIgXTsg dGhlbgorICAgIGVjaG8gIuKckyAudmVyc2lvbiBwbHVnaW4gZmlsZSBleGlzdHMiCisKKyAgICAj IFRyeSB0byByZWFkIHZlcnNpb24gaW5mbworICAgIGlmIFZFUlNJT05fQ09OVEVOVD0kKGNhdCAi JFZFUlNJT05fRklMRSIgMj4vZGV2L251bGwpOyB0aGVuCisgICAgICAgIGVjaG8gIuKckyAudmVy c2lvbiBmaWxlIHJlYWRhYmxlIgorICAgICAgICBlY2hvICIgIFZlcnNpb24gY29udGVudDogJFZF UlNJT05fQ09OVEVOVCIKKworICAgICAgICAjIFZhbGlkYXRlIHZlcnNpb24gZm9ybWF0IChzaG91 bGQgYmUgY29sb24tc2VwYXJhdGVkIHZhbHVlcykKKyAgICAgICAgaWYgZWNobyAiJFZFUlNJT05f Q09OVEVOVCIgfCBncmVwIC1xRSAnXlswLTldKzpbMC05XSs6WzAtOV0rJzsgdGhlbgorICAgICAg ICAgICAgZWNobyAi4pyTIFZlcnNpb24gZm9ybWF0IHZhbGlkIgorICAgICAgICBlbHNlCisgICAg ICAgICAgICBlY2hvICLimqAgV2FybmluZzogVmVyc2lvbiBmb3JtYXQgdW5leHBlY3RlZCIKKyAg ICAgICAgZmkKKyAgICBlbHNlCisgICAgICAgIGVjaG8gIuKaoCBXYXJuaW5nOiBDYW5ub3QgcmVh ZCAudmVyc2lvbiBmaWxlIgorICAgIGZpCitlbHNlCisgICAgZWNobyAi4pqgIFdhcm5pbmc6IC52 ZXJzaW9uIHBsdWdpbiBub3QgYXZhaWxhYmxlIgorZmkKKworIyBUZXN0IC5tZW1iZXJzIHBsdWdp biAoY2x1c3RlciBtZW1iZXJzaGlwIHRyYWNraW5nKQorTUVNQkVSU19GSUxFPSIkTU9VTlRfUEFU SC8ubWVtYmVycyIKK2lmIFsgLWYgIiRNRU1CRVJTX0ZJTEUiIF0gfHwgWyAtZSAiJE1FTUJFUlNf RklMRSIgXTsgdGhlbgorICAgIGVjaG8gIuKckyAubWVtYmVycyBwbHVnaW4gZmlsZSBleGlzdHMi CisKKyAgICAjIFRyeSB0byByZWFkIG1lbWJlcnMgaW5mbworICAgIGlmIE1FTUJFUlNfQ09OVEVO VD0kKGNhdCAiJE1FTUJFUlNfRklMRSIgMj4vZGV2L251bGwpOyB0aGVuCisgICAgICAgIGVjaG8g IuKckyAubWVtYmVycyBmaWxlIHJlYWRhYmxlIgorCisgICAgICAgICMgQ291bnQgbWVtYmVyIGVu dHJpZXMKKyAgICAgICAgTUVNQkVSX0NPVU5UPSQoZWNobyAiJE1FTUJFUlNfQ09OVEVOVCIgfCBn cmVwIC1jICJeXFttZW1iZXJzXF1cfF5bMC05XSIgfHwgZWNobyAiMCIpCisgICAgICAgIGVjaG8g IiAgTWVtYmVyIGVudHJpZXM6ICRNRU1CRVJfQ09VTlQiCisKKyAgICAgICAgaWYgZWNobyAiJE1F TUJFUlNfQ09OVEVOVCIgfCBncmVwIC1xICJcW21lbWJlcnNcXSI7IHRoZW4KKyAgICAgICAgICAg IGVjaG8gIuKckyBNZW1iZXJzIGZvcm1hdCB2YWxpZCIKKyAgICAgICAgZmkKKyAgICBlbHNlCisg ICAgICAgIGVjaG8gIuKaoCBXYXJuaW5nOiBDYW5ub3QgcmVhZCAubWVtYmVycyBmaWxlIgorICAg IGZpCitlbHNlCisgICAgZWNobyAi4pqgIFdhcm5pbmc6IC5tZW1iZXJzIHBsdWdpbiBub3QgYXZh aWxhYmxlIgorZmkKKworIyBUZXN0IC52bWxpc3QgcGx1Z2luIChWTS9DVCByZWdpc3RyeSkKK1ZN TElTVF9GSUxFPSIkTU9VTlRfUEFUSC8udm1saXN0IgoraWYgWyAtZiAiJFZNTElTVF9GSUxFIiBd IHx8IFsgLWUgIiRWTUxJU1RfRklMRSIgXTsgdGhlbgorICAgIGVjaG8gIuKckyAudm1saXN0IHBs dWdpbiBmaWxlIGV4aXN0cyIKKworICAgICMgVHJ5IHRvIHJlYWQgVk0gbGlzdAorICAgIGlmIFZN TElTVF9DT05URU5UPSQoY2F0ICIkVk1MSVNUX0ZJTEUiIDI+L2Rldi9udWxsKTsgdGhlbgorICAg ICAgICBlY2hvICLinJMgLnZtbGlzdCBmaWxlIHJlYWRhYmxlIgorCisgICAgICAgICMgQ2hlY2sg Zm9yIFFFTVUgYW5kIExYQyBzZWN0aW9ucworICAgICAgICBpZiBlY2hvICIkVk1MSVNUX0NPTlRF TlQiIHwgZ3JlcCAtcSAiXFtxZW11XF0iOyB0aGVuCisgICAgICAgICAgICBlY2hvICIgIEZvdW5k IFtxZW11XSBzZWN0aW9uIgorICAgICAgICBmaQorICAgICAgICBpZiBlY2hvICIkVk1MSVNUX0NP TlRFTlQiIHwgZ3JlcCAtcSAiXFtseGNcXSI7IHRoZW4KKyAgICAgICAgICAgIGVjaG8gIiAgRm91 bmQgW2x4Y10gc2VjdGlvbiIKKyAgICAgICAgZmkKKworICAgICAgICAjIENvdW50IFZNIGVudHJp ZXMgKGxpbmVzIHdpdGggdGFiLXNlcGFyYXRlZCB2YWx1ZXMpCisgICAgICAgIFZNX0NPVU5UPSQo ZWNobyAiJFZNTElTVF9DT05URU5UIiB8IGdyZXAgLUUgIl5bMC05XStcdCIgfCB3YyAtbCkKKyAg ICAgICAgZWNobyAiICBWTS9DVCBlbnRyaWVzOiAkVk1fQ09VTlQiCisgICAgZWxzZQorICAgICAg ICBlY2hvICLimqAgV2FybmluZzogQ2Fubm90IHJlYWQgLnZtbGlzdCBmaWxlIgorICAgIGZpCitl bHNlCisgICAgZWNobyAi4pqgIFdhcm5pbmc6IC52bWxpc3QgcGx1Z2luIG5vdCBhdmFpbGFibGUi CitmaQorCisjIENoZWNrIGZvciBub2RlLXNwZWNpZmljIHN0YXR1cyBmaWxlcyBpbiAvdGVzdC9w dmUvbm9kZXMvCitOT0RFU19ESVI9IiRNT1VOVF9QQVRIL25vZGVzIgoraWYgWyAtZCAiJE5PREVT X0RJUiIgXTsgdGhlbgorICAgIGVjaG8gIuKckyBOb2RlcyBkaXJlY3RvcnkgZXhpc3RzIgorICAg IE5PREVfQ09VTlQ9JChscyAtMSAiJE5PREVTX0RJUiIgMj4vZGV2L251bGwgfCB3YyAtbCkKKyAg ICBlY2hvICIgIE5vZGUgY291bnQ6ICROT0RFX0NPVU5UIgorZWxzZQorICAgIGVjaG8gIiAgTm9k ZXMgZGlyZWN0b3J5IG5vdCB5ZXQgY3JlYXRlZCIKK2ZpCisKKyMgVGVzdCBxdW9ydW0gc3RhdHVz IChpZiBhdmFpbGFibGUgdmlhIC5tZW1iZXJzIG9yIGRlZGljYXRlZCBmaWxlKQoraWYgWyAtZiAi JE1FTUJFUlNfRklMRSIgXTsgdGhlbgorICAgIGlmIGNhdCAiJE1FTUJFUlNfRklMRSIgMj4vZGV2 L251bGwgfCBncmVwIC1xICJvbmxpbmUuKjEiOyB0aGVuCisgICAgICAgIGVjaG8gIuKckyBBdCBs ZWFzdCBvbmUgbm9kZSBhcHBlYXJzIG9ubGluZSIKKyAgICBmaQorZmkKKworZWNobyAi4pyTIFN0 YXR1cyB0cmFja2luZyB0ZXN0IGNvbXBsZXRlZCIKK2V4aXQgMApkaWZmIC0tZ2l0IGEvc3JjL3Bt eGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0cy9zdGF0dXMvMDItc3RhdHVzLW9wZXJhdGlv bnMuc2ggYi9zcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRlc3RzL3Rlc3RzL3N0YXR1cy8wMi1z dGF0dXMtb3BlcmF0aW9ucy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMC4u NjNiMDUwZDcKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvcG14Y2ZzLXJzL2ludGVncmF0aW9uLXRl c3RzL3Rlc3RzL3N0YXR1cy8wMi1zdGF0dXMtb3BlcmF0aW9ucy5zaApAQCAtMCwwICsxLDE5MyBA QAorIyEvYmluL2Jhc2gKKyMgVGVzdDogU3RhdHVzIE9wZXJhdGlvbnMgKFZNIFJlZ2lzdHJhdGlv biwgQ2x1c3RlciBNZW1iZXJzaGlwKQorIyBDb21wcmVoZW5zaXZlIHRlc3Rpbmcgb2Ygc3RhdHVz IHRyYWNraW5nIG9wZXJhdGlvbnMKKworc2V0IC1lCisKKyMgU291cmNlIGNvbW1vbiB0ZXN0IGNv bmZpZ3VyYXRpb24KK1NDUklQVF9ESVI9IiQoY2QgIiQoZGlybmFtZSAiJHtCQVNIX1NPVVJDRVsw XX0iKSIgJiYgcHdkKSIKK3NvdXJjZSAiJFNDUklQVF9ESVIvLi4vdGVzdC1jb25maWcuc2giCisK K2VjaG8gIlRlc3Rpbmcgc3RhdHVzIG9wZXJhdGlvbnMuLi4iCisKK01PVU5UX1BBVEg9IiRURVNU X01PVU5UX1BBVEgiCisKKyMgQ2hlY2sgaWYgbW91bnQgcGF0aCBpcyBhY2Nlc3NpYmxlCitpZiBb ICEgLWQgIiRNT1VOVF9QQVRIIiBdOyB0aGVuCisgICAgZWNobyAiRVJST1I6IE1vdW50IHBhdGgg bm90IGFjY2Vzc2libGU6ICRNT1VOVF9QQVRIIgorICAgIGV4aXQgMQorZmkKK2VjaG8gIuKckyBN b3VudCBwYXRoIGFjY2Vzc2libGUiCisKKyMgVGVzdCAudm1saXN0IHBsdWdpbiAtIFZNL0NUIHJl Z2lzdHJ5IG9wZXJhdGlvbnMKK2VjaG8gIiIKK2VjaG8gIlRlc3RpbmcgVk0vQ1QgcmVnaXN0cnkg b3BlcmF0aW9ucy4uLiIKKworVk1MSVNUX0ZJTEU9IiRNT1VOVF9QQVRILy52bWxpc3QiCitpZiBb IC1lICIkVk1MSVNUX0ZJTEUiIF07IHRoZW4KKyAgICBWTUxJU1RfQ09OVEVOVD0kKGNhdCAiJFZN TElTVF9GSUxFIiAyPi9kZXYvbnVsbCB8fCBlY2hvICIiKQorCisgICAgIyBDaGVjayBmb3IgYm90 aCBRRU1VIGFuZCBMWEMgc2VjdGlvbnMKKyAgICBpZiBlY2hvICIkVk1MSVNUX0NPTlRFTlQiIHwg Z3JlcCAtcSAiXFtxZW11XF0iOyB0aGVuCisgICAgICAgIGVjaG8gIuKckyBRRU1VIHNlY3Rpb24g cHJlc2VudCBpbiAudm1saXN0IgorCisgICAgICAgICMgQ291bnQgUUVNVSBWTXMgKGxpbmVzIHdp dGggdGFiLXNlcGFyYXRlZCB2YWx1ZXMgYWZ0ZXIgW3FlbXVdKQorICAgICAgICBRRU1VX0NPVU5U PSQoZWNobyAiJFZNTElTVF9DT05URU5UIiB8IHNlZCAtbiAnL1xbcWVtdVxdLywvXFtseGNcXS9w JyB8IGdyZXAgLUUgIl5bMC05XStbWzpzcGFjZTpdXSIgfCB3YyAtbCB8fCBlY2hvICIwIikKKyAg ICAgICAgZWNobyAiICBRRU1VIFZNczogJFFFTVVfQ09VTlQiCisgICAgZWxzZQorICAgICAgICBl Y2hvICIgIE5vIFFFTVUgVk1zIHJlZ2lzdGVyZWQiCisgICAgZmkKKworICAgIGlmIGVjaG8gIiRW TUxJU1RfQ09OVEVOVCIgfCBncmVwIC1xICJcW2x4Y1xdIjsgdGhlbgorICAgICAgICBlY2hvICLi nJMgTFhDIHNlY3Rpb24gcHJlc2VudCBpbiAudm1saXN0IgorCisgICAgICAgICMgQ291bnQgTFhD IGNvbnRhaW5lcnMKKyAgICAgICAgTFhDX0NPVU5UPSQoZWNobyAiJFZNTElTVF9DT05URU5UIiB8 IHNlZCAtbiAnL1xbbHhjXF0vLCRwJyB8IGdyZXAgLUUgIl5bMC05XStbWzpzcGFjZTpdXSIgfCB3 YyAtbCB8fCBlY2hvICIwIikKKyAgICAgICAgZWNobyAiICBMWEMgY29udGFpbmVyczogJExYQ19D T1VOVCIKKyAgICBlbHNlCisgICAgICAgIGVjaG8gIiAgTm8gTFhDIGNvbnRhaW5lcnMgcmVnaXN0 ZXJlZCIKKyAgICBmaQorCisgICAgIyBWZXJpZnkgZm9ybWF0OiBlYWNoIGVudHJ5IHNob3VsZCBi ZSAiVk1JRDx0YWI+Tk9ERTx0YWI+VkVSU0lPTiIKKyAgICBUT1RBTF9WTVM9JChlY2hvICIkVk1M SVNUX0NPTlRFTlQiIHwgZ3JlcCAtRSAiXlswLTldK1tbOnNwYWNlOl1dIiB8IHdjIC1sIHx8IGVj aG8gIjAiKQorICAgIGlmIFsgIiRUT1RBTF9WTVMiIC1ndCAwIF07IHRoZW4KKyAgICAgICAgZWNo byAi4pyTIFRvdGFsIFZNcy9DVHM6ICRUT1RBTF9WTVMiCisKKyAgICAgICAgIyBDaGVjayBmb3Jt YXQgb2YgZmlyc3QgZW50cnkKKyAgICAgICAgRklSU1RfRU5UUlk9JChlY2hvICIkVk1MSVNUX0NP TlRFTlQiIHwgZ3JlcCAtRSAiXlswLTldK1tbOnNwYWNlOl1dIiB8IGhlYWQgLTEpCisgICAgICAg IEZJRUxEX0NPVU5UPSQoZWNobyAiJEZJUlNUX0VOVFJZIiB8IGF3ayAne3ByaW50IE5GfScpCisK KyAgICAgICAgaWYgWyAiJEZJRUxEX0NPVU5UIiAtZ2UgMiBdOyB0aGVuCisgICAgICAgICAgICBl Y2hvICLinJMgVk0gbGlzdCBlbnRyeSBmb3JtYXQgdmFsaWQgKFZNSUQgKyBub2RlICsgdmVyc2lv bikiCisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGVjaG8gIuKaoCBXYXJuaW5nOiBVbmV4cGVj dGVkIFZNIGxpc3QgZW50cnkgZm9ybWF0IgorICAgICAgICBmaQorICAgIGZpCitlbHNlCisgICAg ZWNobyAiICAudm1saXN0IHBsdWdpbiBub3QgeWV0IGF2YWlsYWJsZSIKK2ZpCisKKyMgVGVzdCBj bHVzdGVyIG1lbWJlcnNoaXAgKC5tZW1iZXJzIHBsdWdpbikKK2VjaG8gIiIKK2VjaG8gIlRlc3Rp bmcgY2x1c3RlciBtZW1iZXJzaGlwLi4uIgorCitNRU1CRVJTX0ZJTEU9IiRNT1VOVF9QQVRILy5t ZW1iZXJzIgoraWYgWyAtZSAiJE1FTUJFUlNfRklMRSIgXTsgdGhlbgorICAgIE1FTUJFUlNfQ09O VEVOVD0kKGNhdCAiJE1FTUJFUlNfRklMRSIgMj4vZGV2L251bGwgfHwgZWNobyAiIikKKworICAg IGlmIGVjaG8gIiRNRU1CRVJTX0NPTlRFTlQiIHwgZ3JlcCAtcSAiXFttZW1iZXJzXF0iOyB0aGVu CisgICAgICAgIGVjaG8gIuKckyAubWVtYmVycyBmaWxlIGhhcyBjb3JyZWN0IGZvcm1hdCIKKwor ICAgICAgICAjIEV4dHJhY3QgbWVtYmVyIGluZm9ybWF0aW9uCisgICAgICAgICMgRm9ybWF0OiBu b2RlaWQ8dGFiPm5hbWU8dGFiPm9ubGluZTx0YWI+aXAKKyAgICAgICAgTUVNQkVSX0NPVU5UPSQo ZWNobyAiJE1FTUJFUlNfQ09OVEVOVCIgfCBncmVwIC1FICJeWzAtOV0rW1s6c3BhY2U6XV0iIHwg d2MgLWwgfHwgZWNobyAiMCIpCisgICAgICAgIGVjaG8gIiAgVG90YWwgbm9kZXM6ICRNRU1CRVJf Q09VTlQiCisKKyAgICAgICAgaWYgWyAiJE1FTUJFUl9DT1VOVCIgLWd0IDAgXTsgdGhlbgorICAg ICAgICAgICAgIyBDaGVjayBvbmxpbmUgbm9kZXMKKyAgICAgICAgICAgIE9OTElORV9DT1VOVD0k KGVjaG8gIiRNRU1CRVJTX0NPTlRFTlQiIHwgZ3JlcCAtRSAiXlswLTldK1tbOnNwYWNlOl1dLipb WzpzcGFjZTpdXTFbWzpzcGFjZTpdXSIgfCB3YyAtbCB8fCBlY2hvICIwIikKKyAgICAgICAgICAg IGVjaG8gIiAgT25saW5lIG5vZGVzOiAkT05MSU5FX0NPVU5UIgorCisgICAgICAgICAgICAjIExp c3Qgbm9kZSBuYW1lcworICAgICAgICAgICAgZWNobyAiICBOb2RlczoiCisgICAgICAgICAgICBl Y2hvICIkTUVNQkVSU19DT05URU5UIiB8IGdyZXAgLUUgIl5bMC05XStbWzpzcGFjZTpdXSIgfCB3 aGlsZSByZWFkIC1yIGxpbmU7IGRvCisgICAgICAgICAgICAgICAgTk9ERV9JRD0kKGVjaG8gIiRs aW5lIiB8IGF3ayAne3ByaW50ICQxfScpCisgICAgICAgICAgICAgICAgTk9ERV9OQU1FPSQoZWNo byAiJGxpbmUiIHwgYXdrICd7cHJpbnQgJDJ9JykKKyAgICAgICAgICAgICAgICBPTkxJTkU9JChl Y2hvICIkbGluZSIgfCBhd2sgJ3twcmludCAkM30nKQorICAgICAgICAgICAgICAgIE5PREVfSVA9 JChlY2hvICIkbGluZSIgfCBhd2sgJ3twcmludCAkNH0nKQorCisgICAgICAgICAgICAgICAgU1RB VFVTPSJvZmZsaW5lIgorICAgICAgICAgICAgICAgIGlmIFsgIiRPTkxJTkUiID0gIjEiIF07IHRo ZW4KKyAgICAgICAgICAgICAgICAgICAgU1RBVFVTPSJvbmxpbmUiCisgICAgICAgICAgICAgICAg ZmkKKworICAgICAgICAgICAgICAgIGVjaG8gIiAgICAtIE5vZGUgJE5PREVfSUQ6ICROT0RFX05B TUUgKCROT0RFX0lQKSAtICRTVEFUVVMiCisgICAgICAgICAgICBkb25lCisgICAgICAgIGZpCisg ICAgZmkKK2Vsc2UKKyAgICBlY2hvICIgIC5tZW1iZXJzIHBsdWdpbiBub3QgeWV0IGF2YWlsYWJs ZSIKK2ZpCisKKyMgVGVzdCB2ZXJzaW9uIHRyYWNraW5nICgudmVyc2lvbiBwbHVnaW4pCitlY2hv ICIiCitlY2hvICJUZXN0aW5nIHZlcnNpb24gdHJhY2tpbmcuLi4iCisKK1ZFUlNJT05fRklMRT0i JE1PVU5UX1BBVEgvLnZlcnNpb24iCitpZiBbIC1lICIkVkVSU0lPTl9GSUxFIiBdOyB0aGVuCisg ICAgVkVSU0lPTl9DT05URU5UPSQoY2F0ICIkVkVSU0lPTl9GSUxFIiAyPi9kZXYvbnVsbCB8fCBl Y2hvICIiKQorCisgICAgIyBWZXJzaW9uIGZvcm1hdDogdGltZXN0YW1wOnZtbGlzdF92ZXJzaW9u OmNvbmZpZ192ZXJzaW9ucy4uLgorICAgIGlmIGVjaG8gIiRWRVJTSU9OX0NPTlRFTlQiIHwgZ3Jl cCAtcUUgJ15bMC05XSs6WzAtOV0rOlswLTldKyc7IHRoZW4KKyAgICAgICAgZWNobyAi4pyTIFZl cnNpb24gZmlsZSBmb3JtYXQgdmFsaWQiCisKKyAgICAgICAgIyBFeHRyYWN0IGNvbXBvbmVudHMK KyAgICAgICAgVElNRVNUQU1QPSQoZWNobyAiJFZFUlNJT05fQ09OVEVOVCIgfCBjdXQgLWQnOicg LWYxKQorICAgICAgICBWTUxJU1RfVkVSPSQoZWNobyAiJFZFUlNJT05fQ09OVEVOVCIgfCBjdXQg LWQnOicgLWYyKQorCisgICAgICAgIGVjaG8gIiAgU3RhcnQgdGltZXN0YW1wOiAkVElNRVNUQU1Q IgorICAgICAgICBlY2hvICIgIFZNIGxpc3QgdmVyc2lvbjogJFZNTElTVF9WRVIiCisKKyAgICAg ICAgIyBDb3VudCB0b3RhbCB2ZXJzaW9uIGZpZWxkcworICAgICAgICBWRVJTSU9OX0ZJRUxEUz0k KGVjaG8gIiRWRVJTSU9OX0NPTlRFTlQiIHwgdHIgJzonICdcbicgfCB3YyAtbCkKKyAgICAgICAg ZWNobyAiICBUcmFja2VkIGNvbmZpZyBmaWxlczogJCgoVkVSU0lPTl9GSUVMRFMgLSAyKSkiCisg ICAgZWxzZQorICAgICAgICBlY2hvICLimqAgV2FybmluZzogVmVyc2lvbiBmb3JtYXQgdW5leHBl Y3RlZCIKKyAgICBmaQorZWxzZQorICAgIGVjaG8gIiAgLnZlcnNpb24gcGx1Z2luIG5vdCB5ZXQg YXZhaWxhYmxlIgorZmkKKworIyBUZXN0IHF1b3J1bSBzdGF0ZSAoaWYgYXZhaWxhYmxlIGluIC5t ZW1iZXJzKQorZWNobyAiIgorZWNobyAiVGVzdGluZyBxdW9ydW0gc3RhdGUuLi4iCisKK2lmIFsg LWUgIiRNRU1CRVJTX0ZJTEUiIF07IHRoZW4KKyAgICAjIENoZWNrIGlmIGNsdXN0ZXIgaGFzIHF1 b3J1bSAoc2ltcGxlIGhldXJpc3RpYzogbW9yZSB0aGFuIGhhbGYgb25saW5lKQorICAgIFRPVEFM X05PREVTPSQoZWNobyAiJE1FTUJFUlNfQ09OVEVOVCIgfCBncmVwIC1FICJeWzAtOV0rW1s6c3Bh Y2U6XV0iIHwgd2MgLWwgfHwgZWNobyAiMCIpCisgICAgT05MSU5FX05PREVTPSQoZWNobyAiJE1F TUJFUlNfQ09OVEVOVCIgfCBncmVwIC1FICJeWzAtOV0rW1s6c3BhY2U6XV0uKltbOnNwYWNlOl1d MVtbOnNwYWNlOl1dIiB8IHdjIC1sIHx8IGVjaG8gIjAiKQorCisgICAgaWYgWyAiJFRPVEFMX05P REVTIiAtZ3QgMCBdOyB0aGVuCisgICAgICAgIFFVT1JVTV9ORUVERUQ9JCgoIChUT1RBTF9OT0RF UyAvIDIpICsgMSApKQorCisgICAgICAgIGlmIFsgIiRPTkxJTkVfTk9ERVMiIC1nZSAiJFFVT1JV TV9ORUVERUQiIF07IHRoZW4KKyAgICAgICAgICAgIGVjaG8gIuKckyBDbHVzdGVyIGhhcyBxdW9y dW0gKCRPTkxJTkVfTk9ERVMvJFRPVEFMX05PREVTIG5vZGVzIG9ubGluZSkiCisgICAgICAgIGVs c2UKKyAgICAgICAgICAgIGVjaG8gIuKaoCBDbHVzdGVyIGRvZXMgTk9UIGhhdmUgcXVvcnVtICgk T05MSU5FX05PREVTLyRUT1RBTF9OT0RFUyBub2RlcyBvbmxpbmUsIG5lZWQgJFFVT1JVTV9ORUVE RUQpIgorICAgICAgICBmaQorICAgIGZpCitmaQorCisjIFRlc3Qgbm9kZS1zcGVjaWZpYyBkaXJl Y3RvcmllcworZWNobyAiIgorZWNobyAiVGVzdGluZyBub2RlLXNwZWNpZmljIHN0cnVjdHVyZXMu Li4iCisKK05PREVTX0RJUj0iJE1PVU5UX1BBVEgvbm9kZXMiCitpZiBbIC1kICIkTk9ERVNfRElS IiBdOyB0aGVuCisgICAgTk9ERV9DT1VOVD0kKGxzIC0xICIkTk9ERVNfRElSIiAyPi9kZXYvbnVs bCB8IHdjIC1sKQorICAgIGVjaG8gIuKckyBOb2RlcyBkaXJlY3RvcnkgZXhpc3RzIHdpdGggJE5P REVfQ09VTlQgbm9kZXMiCisKKyAgICAjIENoZWNrIGVhY2ggbm9kZSdzIHN1YmRpcmVjdG9yaWVz CisgICAgZm9yIG5vZGVfZGlyIGluICIkTk9ERVNfRElSIi8qOyBkbworICAgICAgICBpZiBbIC1k ICIkbm9kZV9kaXIiIF07IHRoZW4KKyAgICAgICAgICAgIE5PREVfTkFNRT0kKGJhc2VuYW1lICIk bm9kZV9kaXIiKQorICAgICAgICAgICAgZWNobyAiICBOb2RlOiAkTk9ERV9OQU1FIgorCisgICAg ICAgICAgICAjIENoZWNrIGZvciBleHBlY3RlZCBzdWJkaXJlY3RvcmllcworICAgICAgICAgICAg Zm9yIHN1YmRpciBpbiBxZW11LXNlcnZlciBseGMgb3BlbnZ6IHByaXY7IGRvCisgICAgICAgICAg ICAgICAgaWYgWyAtZCAiJG5vZGVfZGlyLyRzdWJkaXIiIF07IHRoZW4KKyAgICAgICAgICAgICAg ICAgICAgQ09VTlQ9JChscyAtMSAiJG5vZGVfZGlyLyRzdWJkaXIiIDI+L2Rldi9udWxsIHwgd2Mg LWwpCisgICAgICAgICAgICAgICAgICAgIGlmIFsgIiRDT1VOVCIgLWd0IDAgXTsgdGhlbgorICAg ICAgICAgICAgICAgICAgICAgICAgZWNobyAiICAgIC0gJHN1YmRpci86ICRDT1VOVCBmaWxlcyIK KyAgICAgICAgICAgICAgICAgICAgZmkKKyAgICAgICAgICAgICAgICBmaQorICAgICAgICAgICAg ZG9uZQorICAgICAgICBmaQorICAgIGRvbmUKK2Vsc2UKKyAgICBlY2hvICIgIE5vZGVzIGRpcmVj dG9yeSBub3QgeWV0IGNyZWF0ZWQiCitmaQorCitlY2hvICIiCitlY2hvICLinJMgU3RhdHVzIG9w ZXJhdGlvbnMgdGVzdCBjb21wbGV0ZWQiCitleGl0IDAKZGlmZiAtLWdpdCBhL3NyYy9wbXhjZnMt cnMvaW50ZWdyYXRpb24tdGVzdHMvdGVzdHMvc3RhdHVzLzAzLW11bHRpbm9kZS1zeW5jLnNoIGIv c3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0cy9zdGF0dXMvMDMtbXVsdGlub2Rl LXN5bmMuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAuLjYxMGFmNGU1Ci0t LSAvZGV2L251bGwKKysrIGIvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0cy9z dGF0dXMvMDMtbXVsdGlub2RlLXN5bmMuc2gKQEAgLTAsMCArMSw0ODEgQEAKKyMhL2Jpbi9iYXNo CisjIFRlc3Q6IE11bHRpLU5vZGUgU3RhdHVzIFN5bmNocm9uaXphdGlvbgorIyBWZXJpZnkgdGhh dCBzdGF0dXMgaW5mb3JtYXRpb24gKC52bWxpc3QsIC5tZW1iZXJzLCAudmVyc2lvbikgc3luY2hy b25pemVzIGFjcm9zcyBjbHVzdGVyIG5vZGVzCisKK3NldCAtZQorCisjIFNvdXJjZSBjb21tb24g dGVzdCBjb25maWd1cmF0aW9uCitTQ1JJUFRfRElSPSIkKGNkICIkKGRpcm5hbWUgIiR7QkFTSF9T T1VSQ0VbMF19IikiICYmIHB3ZCkiCitzb3VyY2UgIiRTQ1JJUFRfRElSLy4uL3Rlc3QtY29uZmln LnNoIgorCitSRUQ9J1wwMzNbMDszMW0nCitHUkVFTj0nXDAzM1swOzMybScKK1lFTExPVz0nXDAz M1sxOzMzbScKK0JMVUU9J1wwMzNbMDszNG0nCitOQz0nXDAzM1swbScKKworZWNobyAiPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0iCitlY2hvICJUZXN0OiBNdWx0aS1O b2RlIFN0YXR1cyBTeW5jaHJvbml6YXRpb24iCitlY2hvICI9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PSIKK2VjaG8gIiIKKworTU9VTlRfUE9JTlQ9IiRURVNUX01PVU5U X1BBVEgiCitOT0RFX05BTUU9JChob3N0bmFtZSkKK1RFU1RfRElSPSIkTU9VTlRfUE9JTlQvc3Rh dHVzLXN5bmMtdGVzdCIKKworZWNobyAiUnVubmluZyBvbiBub2RlOiAkTk9ERV9OQU1FIgorZWNo byAiIgorCisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyMgSGVscGVyIEZ1bmN0aW9ucworIyA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09CisKK2NoZWNrX3BteGNmc19ydW5uaW5nKCkgeworICAgIGlmICEgcGdy ZXAgLXggcG14Y2ZzID4gL2Rldi9udWxsOyB0aGVuCisgICAgICAgIGVjaG8gLWUgIiR7UkVEfUVS Uk9SOiBwbXhjZnMgaXMgbm90IHJ1bm5pbmcke05DfSIKKyAgICAgICAgcmV0dXJuIDEKKyAgICBm aQorICAgIGVjaG8gLWUgIiR7R1JFRU594pyTJHtOQ30gcG14Y2ZzIGlzIHJ1bm5pbmciCisgICAg cmV0dXJuIDAKK30KKworIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisjIFRlc3QgMTogVmVyaWZ5IFBs dWdpbiBGaWxlcyBFeGlzdAorIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK2VjaG8gIuKUgeKUgeKU geKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKU geKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgSIK K2VjaG8gIlRlc3QgMTogVmVyaWZ5IFN0YXR1cyBQbHVnaW4gRmlsZXMiCitlY2hvICLilIHilIHi lIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHi lIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIEi CitlY2hvICIiCisKK2NoZWNrX3BteGNmc19ydW5uaW5nIHx8IGV4aXQgMQorCitQTFVHSU5fQ0hF Q0tfRkFJTEVEPWZhbHNlCitmb3IgcGx1Z2luIGluIC52ZXJzaW9uIC5tZW1iZXJzIC52bWxpc3Q7 IGRvCisgICAgUExVR0lOX0ZJTEU9IiRNT1VOVF9QT0lOVC8kcGx1Z2luIgorICAgIGlmIFsgLWUg IiRQTFVHSU5fRklMRSIgXTsgdGhlbgorICAgICAgICBlY2hvIC1lICIke0dSRUVOfeKckyR7TkN9 IFBsdWdpbiBmaWxlIGV4aXN0czogJHBsdWdpbiIKKyAgICBlbHNlCisgICAgICAgIGVjaG8gLWUg IiR7UkVEfeKclyR7TkN9IENSSVRJQ0FMOiBQbHVnaW4gZmlsZSBtaXNzaW5nOiAkcGx1Z2luIgor ICAgICAgICBQTFVHSU5fQ0hFQ0tfRkFJTEVEPXRydWUKKyAgICBmaQorZG9uZQorCitpZiBbICIk UExVR0lOX0NIRUNLX0ZBSUxFRCIgPSB0cnVlIF07IHRoZW4KKyAgICBlY2hvICIiCisgICAgZWNo byAtZSAiJHtSRUR9RVJST1I6IFJlcXVpcmVkIHBsdWdpbiBmaWxlcyBhcmUgbWlzc2luZyEke05D fSIKKyAgICBlY2hvICJUaGlzIGluZGljYXRlcyBhIGNyaXRpY2FsIGZhaWx1cmUgaW4gcGx1Z2lu IGluaXRpYWxpemF0aW9uLiIKKyAgICBlY2hvICJBbGwgc3RhdHVzIHBsdWdpbnMgKC52ZXJzaW9u LCAubWVtYmVycywgLnZtbGlzdCkgbXVzdCBleGlzdCB3aGVuIHBteGNmcyBpcyBydW5uaW5nLiIK KyAgICBleGl0IDEKK2ZpCitlY2hvICIiCisKKyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorIyBUZXN0 IDI6IFJlYWQgYW5kIFBhcnNlIC52ZXJzaW9uIFBsdWdpbgorIyA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 CisKK2VjaG8gIuKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUge+/ve+/ve+/veKUgeKUgeKUgeKU geKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKU geKUgeKUgeKUgeKUgeKUgeKUgeKUgSIKK2VjaG8gIlRlc3QgMjogUGFyc2UgLnZlcnNpb24gUGx1 Z2luIgorZWNobyAi4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB 4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB 4pSB4pSB4pSB4pSB4pSB4pSBIgorZWNobyAiIgorCisjIENyZWF0ZSB0ZXN0IGRpcmVjdG9yeSBm aXJzdAorbWtkaXIgLXAgIiRURVNUX0RJUiIgMj4vZGV2L251bGwgfHwgdHJ1ZQorCitWRVJTSU9O X0ZJTEU9IiRNT1VOVF9QT0lOVC8udmVyc2lvbiIKK2lmIFsgISAtZSAiJFZFUlNJT05fRklMRSIg XTsgdGhlbgorICAgIGVjaG8gLWUgIiR7UkVEfeKclyBDUklUSUNBTDogLnZlcnNpb24gZmlsZSBk b2VzIG5vdCBleGlzdCR7TkN9IgorICAgIGVjaG8gIlBsdWdpbiBmaWxlIG11c3QgZXhpc3Qgd2hl biBwbXhjZnMgaXMgcnVubmluZy4iCisgICAgZXhpdCAxCitmaQorCitWRVJTSU9OX0NPTlRFTlQ9 JChjYXQgIiRWRVJTSU9OX0ZJTEUiIDI+L2Rldi9udWxsIHx8IGVjaG8gIiIpCitpZiBbIC16ICIk VkVSU0lPTl9DT05URU5UIiBdOyB0aGVuCisgICAgZWNobyAtZSAiJHtSRUR94pyXIENSSVRJQ0FM OiAudmVyc2lvbiBmaWxlIGlzIGVtcHR5IG9yIHVucmVhZGFibGUke05DfSIKKyAgICBleGl0IDEK K2ZpCisKK2VjaG8gLWUgIiR7R1JFRU594pyTJHtOQ30gLnZlcnNpb24gZmlsZSByZWFkYWJsZSIK KworIyBDaGVjayBpZiBpdCdzIEpTT04gZm9ybWF0IChuZXcgZm9ybWF0KSBvciBjb2xvbi1zZXBh cmF0ZWQgKG9sZCBmb3JtYXQpCitpZiBlY2hvICIkVkVSU0lPTl9DT05URU5UIiB8IGdyZXAgLXEg Il57IjsgdGhlbgorICAgICMgSlNPTiBmb3JtYXQKKyAgICBlY2hvICIgIEZvcm1hdDogSlNPTiIK KyAgICBpZiBjb21tYW5kIC12IGpxID4vZGV2L251bGwgMj4mMTsgdGhlbgorICAgICAgICBTVEFS VF9USU1FPSQoZWNobyAiJFZFUlNJT05fQ09OVEVOVCIgfCBqcSAtciAnLnN0YXJ0dGltZSAvLyAw JyAyPi9kZXYvbnVsbCB8fCBlY2hvICIwIikKKyAgICAgICAgVk1MSVNUX1ZFUlNJT049JChlY2hv ICIkVkVSU0lPTl9DT05URU5UIiB8IGpxIC1yICcudm1saXN0IC8vIDAnIDI+L2Rldi9udWxsIHx8 IGVjaG8gIjAiKQorICAgICAgICBlY2hvICIgIFN0YXJ0IHRpbWU6ICRTVEFSVF9USU1FIgorICAg ICAgICBlY2hvICIgIFZNIGxpc3QgdmVyc2lvbjogJFZNTElTVF9WRVJTSU9OIgorICAgIGVsc2UK KyAgICAgICAgIyBGYWxsYmFjayB3aXRob3V0IGpxCisgICAgICAgIGVjaG8gIiAgQ29udGVudDog JFZFUlNJT05fQ09OVEVOVCIKKyAgICAgICAgU1RBUlRfVElNRT0kKGVjaG8gIiRWRVJTSU9OX0NP TlRFTlQiIHwgZ3JlcCAtbyAnInN0YXJ0dGltZSI6WzAtOV0qJyB8IGN1dCAtZCc6JyAtZjIpCisg ICAgICAgIFZNTElTVF9WRVJTSU9OPSQoZWNobyAiJFZFUlNJT05fQ09OVEVOVCIgfCBncmVwIC1v ICcidm1saXN0IjpbMC05XSonIHwgY3V0IC1kJzonIC1mMikKKyAgICAgICAgZWNobyAiICBTdGFy dCB0aW1lOiAke1NUQVJUX1RJTUU6LXVua25vd259IgorICAgICAgICBlY2hvICIgIFZNIGxpc3Qg dmVyc2lvbjogJHtWTUxJU1RfVkVSU0lPTjotdW5rbm93bn0iCisgICAgZmkKK2Vsc2UKKyAgICAj IE9sZCBjb2xvbi1zZXBhcmF0ZWQgZm9ybWF0OiB0aW1lc3RhbXA6dm1saXN0X3ZlcnNpb246Y29u ZmlnX3ZlcnNpb25zLi4uCisgICAgZWNobyAiICBGb3JtYXQ6IENvbG9uLXNlcGFyYXRlZCIKKyAg ICBTVEFSVF9USU1FPSQoZWNobyAiJFZFUlNJT05fQ09OVEVOVCIgfCBjdXQgLWQnOicgLWYxKQor ICAgIFZNTElTVF9WRVJTSU9OPSQoZWNobyAiJFZFUlNJT05fQ09OVEVOVCIgfCBjdXQgLWQnOicg LWYyKQorICAgIGVjaG8gIiAgU3RhcnQgdGltZTogJFNUQVJUX1RJTUUiCisgICAgZWNobyAiICBW TSBsaXN0IHZlcnNpb246ICRWTUxJU1RfVkVSU0lPTiIKK2ZpCisKKyMgU2F2ZSB2ZXJzaW9uIGZv ciBjb21wYXJpc29uIHdpdGggb3RoZXIgbm9kZXMKK2VjaG8gIiRWRVJTSU9OX0NPTlRFTlQiID4g IiRURVNUX0RJUi92ZXJzaW9uLSR7Tk9ERV9OQU1FfS50eHQiCitlY2hvIC1lICIke0dSRUVOfeKc kyR7TkN9IFZlcnNpb24gc2F2ZWQgZm9yIG11bHRpLW5vZGUgY29tcGFyaXNvbiIKK2VjaG8gIiIK KworIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CisjIFRlc3QgMzogUmVhZCBhbmQgUGFyc2UgLm1lbWJl cnMgUGx1Z2luCisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworZWNobyAi4pSB4pSB4pSB4pSB4pSB 4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB 4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSBIgorZWNobyAi VGVzdCAzOiBQYXJzZSAubWVtYmVycyBQbHVnaW4iCitlY2hvICLilIHilIHilIHilIHilIHilIHi lIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHi lIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIEiCitlY2hvICIiCisK K01FTUJFUlNfRklMRT0iJE1PVU5UX1BPSU5ULy5tZW1iZXJzIgoraWYgWyAhIC1lICIkTUVNQkVS U19GSUxFIiBdOyB0aGVuCisgICAgZWNobyAtZSAiJHtSRUR94pyXIENSSVRJQ0FMOiAubWVtYmVy cyBmaWxlIGRvZXMgbm90IGV4aXN0JHtOQ30iCisgICAgZWNobyAiUGx1Z2luIGZpbGUgbXVzdCBl eGlzdCB3aGVuIHBteGNmcyBpcyBydW5uaW5nLiIKKyAgICBleGl0IDEKK2ZpCisKK01FTUJFUlNf Q09OVEVOVD0kKGNhdCAiJE1FTUJFUlNfRklMRSIgMj4vZGV2L251bGwgfHwgZWNobyAiIikKK2lm IFsgLXogIiRNRU1CRVJTX0NPTlRFTlQiIF07IHRoZW4KKyAgICBlY2hvIC1lICIke1JFRH3inJcg Q1JJVElDQUw6IC5tZW1iZXJzIGZpbGUgaXMgZW1wdHkgb3IgdW5yZWFkYWJsZSR7TkN9IgorICAg IGV4aXQgMQorZmkKKworZWNobyAtZSAiJHtHUkVFTn3inJMke05DfSAubWVtYmVycyBmaWxlIHJl YWRhYmxlIgorCisjIENoZWNrIGZvciBbbWVtYmVyc10gc2VjdGlvbgoraWYgZWNobyAiJE1FTUJF UlNfQ09OVEVOVCIgfCBncmVwIC1xICJcW21lbWJlcnNcXSI7IHRoZW4KKyAgICBlY2hvIC1lICIk e0dSRUVOfeKckyR7TkN9IE1lbWJlcnMgZm9ybWF0IHZhbGlkIChbbWVtYmVyc10gc2VjdGlvbiBm b3VuZCkiCitmaQorCisjIENvdW50IG1lbWJlciBlbnRyaWVzIChsaW5lcyB3aXRoOiBub2RlaWQ8 dGFiPm5hbWU8dGFiPm9ubGluZTx0YWI+aXApCitNRU1CRVJfQ09VTlQ9JChlY2hvICIkTUVNQkVS U19DT05URU5UIiB8IGdyZXAgLUUgIl5bMC05XStbWzpzcGFjZTpdXSIgfCB3YyAtbCB8fCBlY2hv ICIwIikKK09OTElORV9DT1VOVD0kKGVjaG8gIiRNRU1CRVJTX0NPTlRFTlQiIHwgZ3JlcCAtRSAi XlswLTldK1tbOnNwYWNlOl1dLipbWzpzcGFjZTpdXTFbWzpzcGFjZTpdXSIgfCB3YyAtbCB8fCBl Y2hvICIwIikKKworZWNobyAiICBUb3RhbCBub2RlczogJE1FTUJFUl9DT1VOVCIKK2VjaG8gIiAg T25saW5lIG5vZGVzOiAkT05MSU5FX0NPVU5UIgorCisjIExpc3Qgbm9kZSBkZXRhaWxzCitpZiBb ICIkTUVNQkVSX0NPVU5UIiAtZ3QgMCBdOyB0aGVuCisgICAgZWNobyAiICBOb2RlIGRldGFpbHM6 IgorICAgIGVjaG8gIiRNRU1CRVJTX0NPTlRFTlQiIHwgZ3JlcCAtRSAiXlswLTldK1tbOnNwYWNl Ol1dIiB8IHdoaWxlIHJlYWQgLXIgbGluZTsgZG8KKyAgICAgICAgTk9ERV9JRD0kKGVjaG8gIiRs aW5lIiB8IGF3ayAne3ByaW50ICQxfScpCisgICAgICAgIE5PREVfTkFNRV9FTlRSWT0kKGVjaG8g IiRsaW5lIiB8IGF3ayAne3ByaW50ICQyfScpCisgICAgICAgIE9OTElORT0kKGVjaG8gIiRsaW5l IiB8IGF3ayAne3ByaW50ICQzfScpCisgICAgICAgIE5PREVfSVA9JChlY2hvICIkbGluZSIgfCBh d2sgJ3twcmludCAkNH0nKQorCisgICAgICAgIFNUQVRVUz0ib2ZmbGluZSIKKyAgICAgICAgWyAi JE9OTElORSIgPSAiMSIgXSAmJiBTVEFUVVM9Im9ubGluZSIKKworICAgICAgICBlY2hvICIgICAg LSBOb2RlICROT0RFX0lEOiAkTk9ERV9OQU1FX0VOVFJZICgkTk9ERV9JUCkgLSAkU1RBVFVTIgor ICAgIGRvbmUKK2ZpCisKKyMgU2F2ZSBtZW1iZXJzIGZvciBjb21wYXJpc29uIHdpdGggb3RoZXIg bm9kZXMKK2VjaG8gIiRNRU1CRVJTX0NPTlRFTlQiID4gIiRURVNUX0RJUi9tZW1iZXJzLSR7Tk9E RV9OQU1FfS50eHQiCitlY2hvIC1lICIke0dSRUVOfeKckyR7TkN9IE1lbWJlcnMgc2F2ZWQgZm9y IG11bHRpLW5vZGUgY29tcGFyaXNvbiIKK2VjaG8gIiIKKworIyA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 CisjIFRlc3QgNDogUmVhZCBhbmQgUGFyc2UgLnZtbGlzdCBQbHVnaW4KKyMgPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQorCitlY2hvICLilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHi lIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHi lIHilIHilIHilIHilIHilIHilIHilIEiCitlY2hvICJUZXN0IDQ6IFBhcnNlIC52bWxpc3QgUGx1 Z2luIgorZWNobyAi4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB 4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB 4pSB4pSB4pSB4pSB4pSB4pSBIgorZWNobyAiIgorCitWTUxJU1RfRklMRT0iJE1PVU5UX1BPSU5U Ly52bWxpc3QiCitpZiBbICEgLWUgIiRWTUxJU1RfRklMRSIgXTsgdGhlbgorICAgIGVjaG8gLWUg IiR7UkVEfeKclyBDUklUSUNBTDogLnZtbGlzdCBmaWxlIGRvZXMgbm90IGV4aXN0JHtOQ30iCisg ICAgZWNobyAiUGx1Z2luIGZpbGUgbXVzdCBleGlzdCB3aGVuIHBteGNmcyBpcyBydW5uaW5nLiIK KyAgICBleGl0IDEKK2ZpCisKK1ZNTElTVF9DT05URU5UPSQoY2F0ICIkVk1MSVNUX0ZJTEUiIDI+ L2Rldi9udWxsIHx8IGVjaG8gIiIpCitpZiBbIC16ICIkVk1MSVNUX0NPTlRFTlQiIF07IHRoZW4K KyAgICBlY2hvIC1lICIke1JFRH3inJcgQ1JJVElDQUw6IC52bWxpc3QgZmlsZSBpcyBlbXB0eSBv ciB1bnJlYWRhYmxlJHtOQ30iCisgICAgZXhpdCAxCitmaQorCitlY2hvIC1lICIke0dSRUVOfeKc kyR7TkN9IC52bWxpc3QgZmlsZSByZWFkYWJsZSIKKworIyBDaGVjayBmb3IgW3FlbXVdIGFuZCBb bHhjXSBzZWN0aW9ucworSEFTX1FFTVU9ZmFsc2UKK0hBU19MWEM9ZmFsc2UKKworaWYgZWNobyAi JFZNTElTVF9DT05URU5UIiB8IGdyZXAgLXEgIlxbcWVtdVxdIjsgdGhlbgorICAgIEhBU19RRU1V PXRydWUKKyAgICBlY2hvIC1lICIke0dSRUVOfeKckyR7TkN9IFFFTVUgc2VjdGlvbiBwcmVzZW50 IgorZWxzZQorICAgIGVjaG8gIiAgTm8gUUVNVSBWTXMiCitmaQorCitpZiBlY2hvICIkVk1MSVNU X0NPTlRFTlQiIHwgZ3JlcCAtcSAiXFtseGNcXSI7IHRoZW4KKyAgICBIQVNfTFhDPXRydWUKKyAg ICBlY2hvIC1lICIke0dSRUVOfeKckyR7TkN9IExYQyBzZWN0aW9uIHByZXNlbnQiCitlbHNlCisg ICAgZWNobyAiICBObyBMWEMgY29udGFpbmVycyIKK2ZpCisKKyMgQ291bnQgVk0vQ1QgZW50cmll cyAoZm9ybWF0OiBWTUlEPHRhYj5OT0RFPHRhYj5WRVJTSU9OKQorVE9UQUxfVk1TPSQoZWNobyAi JFZNTElTVF9DT05URU5UIiB8IGdyZXAgLUUgIl5bMC05XStbWzpzcGFjZTpdXSIgfCB3YyAtbCB8 fCBlY2hvICIwIikKK2VjaG8gIiAgVG90YWwgVk1zL0NUczogJFRPVEFMX1ZNUyIKKworaWYgWyAi JFRPVEFMX1ZNUyIgLWd0IDAgXTsgdGhlbgorICAgIGVjaG8gIiAgVk0vQ1QgZGV0YWlsczoiCisg ICAgZWNobyAiJFZNTElTVF9DT05URU5UIiB8IGdyZXAgLUUgIl5bMC05XStbWzpzcGFjZTpdXSIg fCB3aGlsZSByZWFkIC1yIGxpbmU7IGRvCisgICAgICAgIFZNSUQ9JChlY2hvICIkbGluZSIgfCBh d2sgJ3twcmludCAkMX0nKQorICAgICAgICBWTV9OT0RFPSQoZWNobyAiJGxpbmUiIHwgYXdrICd7 cHJpbnQgJDJ9JykKKyAgICAgICAgVk1fVkVSU0lPTj0kKGVjaG8gIiRsaW5lIiB8IGF3ayAne3By aW50ICQzfScpCisKKyAgICAgICAgIyBEZXRlcm1pbmUgdHlwZSBiYXNlZCBvbiB3aGljaCBzZWN0 aW9uIGl0J3MgaW4KKyAgICAgICAgVFlQRT0idW5rbm93biIKKyAgICAgICAgaWYgWyAiJEhBU19R RU1VIiA9IHRydWUgXSAmJiBlY2hvICIkVk1MSVNUX0NPTlRFTlQiIHwgc2VkIC1uICcvXFtxZW11 XF0vLC9cW2x4Y1xdL3AnIHwgZ3JlcCAtcSAiXiR7Vk1JRH1bWzpzcGFjZTpdXSI7IHRoZW4KKyAg ICAgICAgICAgIFRZUEU9InFlbXUiCisgICAgICAgIGVsaWYgWyAiJEhBU19MWEMiID0gdHJ1ZSBd OyB0aGVuCisgICAgICAgICAgICBUWVBFPSJseGMiCisgICAgICAgIGZpCisKKyAgICAgICAgZWNo byAiICAgIC0gVk1JRCAkVk1JRDogbm9kZT0kVk1fTk9ERSwgdmVyc2lvbj0kVk1fVkVSU0lPTiwg dHlwZT0kVFlQRSIKKyAgICBkb25lCitmaQorCisjIFNhdmUgdm1saXN0IGZvciBjb21wYXJpc29u IHdpdGggb3RoZXIgbm9kZXMKK2VjaG8gIiRWTUxJU1RfQ09OVEVOVCIgPiAiJFRFU1RfRElSL3Zt bGlzdC0ke05PREVfTkFNRX0udHh0IgorZWNobyAtZSAiJHtHUkVFTn3inJMke05DfSBWTSBsaXN0 IHNhdmVkIGZvciBtdWx0aS1ub2RlIGNvbXBhcmlzb24iCitlY2hvICIiCisKKyMgPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQorIyBUZXN0IDU6IENyZWF0ZSBUZXN0IFZNIEVudHJ5IChTaW11bGF0ZSBWTSBS ZWdpc3RyYXRpb24pCisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworZWNobyAi4pSB4pSB4pSB4pSB 4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB 4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSBIgorZWNo byAiVGVzdCA1OiBDcmVhdGUgVGVzdCBWTSBDb25maWd1cmF0aW9uIgorZWNobyAi4pSB4pSB4pSB 4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB 4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSBIgor ZWNobyAiIgorCisjIENyZWF0ZSBhIHRlc3QgVk0gY29uZmlndXJhdGlvbiBmaWxlIHRvIHRyaWdn ZXIgc3RhdHVzIHVwZGF0ZQorIyBGb3JtYXQgZm9sbG93cyBQcm94bW94IFFFTVUgY29uZmlnIGZv cm1hdAorVEVTVF9WTUlEPSI5OTk5IgorVEVTVF9WTV9ESVI9IiRNT1VOVF9QT0lOVC9ub2Rlcy8k Tk9ERV9OQU1FL3FlbXUtc2VydmVyIgorVEVTVF9WTV9DT05GPSIkVEVTVF9WTV9ESVIvJHtURVNU X1ZNSUR9LmNvbmYiCisKKyMgQ3JlYXRlIGRpcmVjdG9yeSBpZiBpdCBkb2Vzbid0IGV4aXN0Citt a2RpciAtcCAiJFRFU1RfVk1fRElSIiAyPi9kZXYvbnVsbCB8fCB0cnVlCisKK2lmIFsgLWQgIiRU RVNUX1ZNX0RJUiIgXTsgdGhlbgorICAgIGVjaG8gLWUgIiR7R1JFRU594pyTJHtOQ30gVk0gZGly ZWN0b3J5IGV4aXN0czogJFRFU1RfVk1fRElSIgorCisgICAgIyBXcml0ZSBhIG1pbmltYWwgUUVN VSBWTSBjb25maWd1cmF0aW9uCisgICAgY2F0ID4gIiRURVNUX1ZNX0NPTkYiIDw8RU9GCisjIFRl c3QgVk0gY29uZmlndXJhdGlvbiBjcmVhdGVkIGJ5IHN0YXR1cyBzeW5jIHRlc3QKKyMgTm9kZTog JE5PREVfTkFNRQorIyBUaW1lc3RhbXA6ICQoZGF0ZSAtdSArJVktJW0tJWRUJUg6JU06JVNaKQor Citib290ZGlzazogc2NzaTAKK2NvcmVzOiAyCittZW1vcnk6IDIwNDgKK25hbWU6IHRlc3Qtdm0t JE5PREVfTkFNRQorbmV0MDogdmlydGlvPTAwOjAwOjAwOjAwOjAwOjAxLGJyaWRnZT12bWJyMAor bnVtYTogMAorb3N0eXBlOiBsMjYKK3Njc2kwOiBsb2NhbDp2bS0ke1RFU1RfVk1JRH0tZGlzay0w LHNpemU9MzJHCitzY3NpaHc6IHZpcnRpby1zY3NpLXBjaQorc29ja2V0czogMQordm1nZW5pZDog JCh1dWlkZ2VuKQorRU9GCisKKyAgICBpZiBbIC1mICIkVEVTVF9WTV9DT05GIiBdOyB0aGVuCisg ICAgICAgIGVjaG8gLWUgIiR7R1JFRU594pyTJHtOQ30gVGVzdCBWTSBjb25maWd1cmF0aW9uIGNy ZWF0ZWQ6IFZNSUQgJFRFU1RfVk1JRCIKKyAgICAgICAgZWNobyAiICBDb25maWcgZmlsZTogJFRF U1RfVk1fQ09ORiIKKworICAgICAgICAjIFdhaXQgYSBtb21lbnQgZm9yIHN0YXR1cyBzdWJzeXN0 ZW0gdG8gZGV0ZWN0IHRoZSBuZXcgVk0KKyAgICAgICAgc2xlZXAgMgorCisgICAgICAgICMgQ2hl Y2sgaWYgVk0gbm93IGFwcGVhcnMgaW4gLnZtbGlzdAorICAgICAgICBpZiBbIC1lICIkVk1MSVNU X0ZJTEUiIF07IHRoZW4KKyAgICAgICAgICAgIFVQREFURURfVk1MSVNUPSQoY2F0ICIkVk1MSVNU X0ZJTEUiIDI+L2Rldi9udWxsIHx8IGVjaG8gIiIpCisgICAgICAgICAgICBpZiBlY2hvICIkVVBE QVRFRF9WTUxJU1QiIHwgZ3JlcCAtcSAiXiR7VEVTVF9WTUlEfVtbOnNwYWNlOl1dIjsgdGhlbgor ICAgICAgICAgICAgICAgIGVjaG8gLWUgIiR7R1JFRU594pyTJHtOQ30gVGVzdCBWTSAkVEVTVF9W TUlEIGFwcGVhcnMgaW4gLnZtbGlzdCIKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAg ICBlY2hvIC1lICIke1lFTExPV33imqAke05DfSBUZXN0IFZNIG5vdCB5ZXQgdmlzaWJsZSBpbiAu dm1saXN0IChtYXkgcmVxdWlyZSBkYWVtb24gcmVzdGFydCBvciBzY2FuIHRyaWdnZXIpIgorICAg ICAgICAgICAgZmkKKyAgICAgICAgZmkKKyAgICBlbHNlCisgICAgICAgIGVjaG8gLWUgIiR7WUVM TE9XfeKaoCR7TkN9IENvdWxkIG5vdCBjcmVhdGUgdGVzdCBWTSBjb25maWd1cmF0aW9uIgorICAg IGZpCitlbHNlCisgICAgZWNobyAtZSAiJHtZRUxMT1d94pqgJHtOQ30gQ2Fubm90IGNyZWF0ZSBW TSBkaXJlY3RvcnkgKG1heSByZXF1aXJlIHByaXZpbGVnZXMpIgorZmkKK2VjaG8gIiIKKworIyA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09CisjIFRlc3QgNjogQ3JlYXRlIE5vZGUgTWFya2VyIGZvciBNdWx0 aS1Ob2RlIERldGVjdGlvbgorIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK2VjaG8gIuKUgeKUgeKU geKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKU geKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgSIK K2VjaG8gIlRlc3QgNjogQ3JlYXRlIE5vZGUgTWFya2VyIgorZWNobyAi4pSB4pSB4pSB4pSB4pSB 4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB 4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSBIgorZWNobyAi IgorCitta2RpciAtcCAiJFRFU1RfRElSIiAyPi9kZXYvbnVsbCB8fCB0cnVlCisKK01BUktFUl9G SUxFPSIkVEVTVF9ESVIvc3RhdHVzLXRlc3QtJHtOT0RFX05BTUV9Lmpzb24iCitjYXQgPiAiJE1B UktFUl9GSUxFIiA8PEVPRgoreworICAibm9kZSI6ICIkTk9ERV9OQU1FIiwKKyAgInRpbWVzdGFt cCI6ICIkKGRhdGUgLXUgKyVZLSVtLSVkVCVIOiVNOiVTWikiLAorICAicGlkIjogJCQsCisgICJ0 ZXN0IjogIm11bHRpLW5vZGUtc3RhdHVzLXN5bmMiLAorICAicGx1Z2luc19jaGVja2VkIjogewor ICAgICJ2ZXJzaW9uIjogIiQoWyAtZSAiJE1PVU5UX1BPSU5ULy52ZXJzaW9uIiBdICYmIGVjaG8g ImF2YWlsYWJsZSIgfHwgZWNobyAidW5hdmFpbGFibGUiKSIsCisgICAgIm1lbWJlcnMiOiAiJChb IC1lICIkTU9VTlRfUE9JTlQvLm1lbWJlcnMiIF0gJiYgZWNobyAiYXZhaWxhYmxlIiB8fCBlY2hv ICJ1bmF2YWlsYWJsZSIpIiwKKyAgICAidm1saXN0IjogIiQoWyAtZSAiJE1PVU5UX1BPSU5ULy52 bWxpc3QiIF0gJiYgZWNobyAiYXZhaWxhYmxlIiB8fCBlY2hvICJ1bmF2YWlsYWJsZSIpIgorICB9 LAorICAidm1fcmVnaXN0ZXJlZCI6ICIkVEVTVF9WTUlEIgorfQorRU9GCisKK2lmIFsgLWYgIiRN QVJLRVJfRklMRSIgXTsgdGhlbgorICAgIGVjaG8gLWUgIiR7R1JFRU594pyTJHtOQ30gTm9kZSBt YXJrZXIgY3JlYXRlZDogJE1BUktFUl9GSUxFIgorZWxzZQorICAgIGVjaG8gLWUgIiR7WUVMTE9X feKaoCR7TkN9IENvdWxkIG5vdCBjcmVhdGUgbm9kZSBtYXJrZXIiCitmaQorZWNobyAiIgorCisj ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KKyMgVGVzdCA3OiBDaGVjayBmb3IgT3RoZXIgTm9kZXMKKyMg PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQorCitlY2hvICLilIHilIHilIHilIHilIHilIHilIHilIHilIHi lIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHi lIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIEiCitlY2hvICJUZXN0IDc6IERldGVj dCBPdGhlciBDbHVzdGVyIE5vZGVzIgorZWNobyAi4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB 4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB 4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSBIgorZWNobyAiIgorCisjIENoZWNr IGZvciBtYXJrZXIgZmlsZXMgZnJvbSBvdGhlciBub2RlcworT1RIRVJfTUFSS0VSUz0kKGxzIC0x ICIkVEVTVF9ESVIiL3N0YXR1cy10ZXN0LSouanNvbiAyPi9kZXYvbnVsbCB8IGdyZXAgLXYgIiRO T0RFX05BTUUiIHwgd2MgLWwgfHwgZWNobyAiMCIpCisKK2lmIFsgIiRPVEhFUl9NQVJLRVJTIiAt Z3QgMCBdOyB0aGVuCisgICAgZWNobyAtZSAiJHtHUkVFTn3inJMke05DfSBGb3VuZCAkT1RIRVJf TUFSS0VSUyBtYXJrZXIgZmlsZShzKSBmcm9tIG90aGVyIG5vZGVzIgorCisgICAgbHMgLTEgIiRU RVNUX0RJUiIvc3RhdHVzLXRlc3QtKi5qc29uIHwgZ3JlcCAtdiAiJE5PREVfTkFNRSIgfCB3aGls ZSByZWFkIG1hcmtlcjsgZG8KKyAgICAgICAgT1RIRVJfTk9ERT0kKGJhc2VuYW1lICIkbWFya2Vy IiAuanNvbiB8IHNlZCAncy9zdGF0dXMtdGVzdC0vLycpCisgICAgICAgIGVjaG8gIiIKKyAgICAg ICAgZWNobyAiICBEZXRlY3RlZCBub2RlOiAkT1RIRVJfTk9ERSIKKworICAgICAgICAjIENvbXBh cmUgc3RhdHVzIGZpbGVzIHdpdGggb3RoZXIgbm9kZQorICAgICAgICBlY2hvICIgIENvbXBhcmlu ZyBzdGF0dXMgZGF0YS4uLiIKKworICAgICAgICAjIENvbXBhcmUgLm1lbWJlcnMKKyAgICAgICAg aWYgWyAtZiAiJFRFU1RfRElSL21lbWJlcnMtJHtOT0RFX05BTUV9LnR4dCIgXSAmJiBbIC1mICIk VEVTVF9ESVIvbWVtYmVycy0ke09USEVSX05PREV9LnR4dCIgXTsgdGhlbgorICAgICAgICAgICAg aWYgZGlmZiAtcSAiJFRFU1RfRElSL21lbWJlcnMtJHtOT0RFX05BTUV9LnR4dCIgIiRURVNUX0RJ Ui9tZW1iZXJzLSR7T1RIRVJfTk9ERX0udHh0IiA+IC9kZXYvbnVsbCAyPiYxOyB0aGVuCisgICAg ICAgICAgICAgICAgZWNobyAtZSAiICAgICR7R1JFRU594pyTJHtOQ30gLm1lbWJlcnMgY29udGVu dCBtYXRjaGVzIHdpdGggJE9USEVSX05PREUiCisgICAgICAgICAgICBlbHNlCisgICAgICAgICAg ICAgICAgZWNobyAtZSAiICAgICR7WUVMTE9XfeKaoCR7TkN9IC5tZW1iZXJzIGNvbnRlbnQgZGlm ZmVycyBmcm9tICRPVEhFUl9OT0RFIgorICAgICAgICAgICAgICAgIGVjaG8gIiAgICAgIFRoaXMg bWF5IGJlIGV4cGVjdGVkIGlmIG5vZGVzIGhhdmUgZGlmZmVyZW50IHZpZXcgb2YgY2x1c3RlciIK KyAgICAgICAgICAgIGZpCisgICAgICAgIGZpCisKKyAgICAgICAgIyBDb21wYXJlIC52bWxpc3QK KyAgICAgICAgaWYgWyAtZiAiJFRFU1RfRElSL3ZtbGlzdC0ke05PREVfTkFNRX0udHh0IiBdICYm IFsgLWYgIiRURVNUX0RJUi92bWxpc3QtJHtPVEhFUl9OT0RFfS50eHQiIF07IHRoZW4KKyAgICAg ICAgICAgIGlmIGRpZmYgLXEgIiRURVNUX0RJUi92bWxpc3QtJHtOT0RFX05BTUV9LnR4dCIgIiRU RVNUX0RJUi92bWxpc3QtJHtPVEhFUl9OT0RFfS50eHQiID4gL2Rldi9udWxsIDI+JjE7IHRoZW4K KyAgICAgICAgICAgICAgICBlY2hvIC1lICIgICAgJHtHUkVFTn3inJMke05DfSAudm1saXN0IGNv bnRlbnQgbWF0Y2hlcyB3aXRoICRPVEhFUl9OT0RFIgorICAgICAgICAgICAgZWxzZQorICAgICAg ICAgICAgICAgIGVjaG8gLWUgIiAgICAke1lFTExPV33imqAke05DfSAudm1saXN0IGNvbnRlbnQg ZGlmZmVycyBmcm9tICRPVEhFUl9OT0RFIgorICAgICAgICAgICAgICAgIGVjaG8gIiAgICAgIERp ZmZlcmVuY2VzOiIKKyAgICAgICAgICAgICAgICBkaWZmICIkVEVTVF9ESVIvdm1saXN0LSR7Tk9E RV9OQU1FfS50eHQiICIkVEVTVF9ESVIvdm1saXN0LSR7T1RIRVJfTk9ERX0udHh0IiB8IGhlYWQg LTEwCisgICAgICAgICAgICBmaQorICAgICAgICBmaQorCisgICAgICAgICMgQ29tcGFyZSAudmVy c2lvbiAodm1saXN0IHZlcnNpb24gc2hvdWxkIGJlIGNvbnNpc3RlbnQpCisgICAgICAgIGlmIFsg LWYgIiRURVNUX0RJUi92ZXJzaW9uLSR7Tk9ERV9OQU1FfS50eHQiIF0gJiYgWyAtZiAiJFRFU1Rf RElSL3ZlcnNpb24tJHtPVEhFUl9OT0RFfS50eHQiIF07IHRoZW4KKyAgICAgICAgICAgIExPQ0FM X1ZNTElTVF9WRVI9JChjYXQgIiRURVNUX0RJUi92ZXJzaW9uLSR7Tk9ERV9OQU1FfS50eHQiIHwg Y3V0IC1kJzonIC1mMikKKyAgICAgICAgICAgIE9USEVSX1ZNTElTVF9WRVI9JChjYXQgIiRURVNU X0RJUi92ZXJzaW9uLSR7T1RIRVJfTk9ERX0udHh0IiB8IGN1dCAtZCc6JyAtZjIpCisKKyAgICAg ICAgICAgIGlmIFsgIiRMT0NBTF9WTUxJU1RfVkVSIiA9ICIkT1RIRVJfVk1MSVNUX1ZFUiIgXTsg dGhlbgorICAgICAgICAgICAgICAgIGVjaG8gLWUgIiAgICAke0dSRUVOfeKckyR7TkN9IFZNIGxp c3QgdmVyc2lvbiBtYXRjaGVzIHdpdGggJE9USEVSX05PREUgKHYkTE9DQUxfVk1MSVNUX1ZFUiki CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgZWNobyAtZSAiICAgICR7WUVMTE9X feKaoCR7TkN9IFZNIGxpc3QgdmVyc2lvbiBkaWZmZXJzOiAkTE9DQUxfVk1MSVNUX1ZFUiAobG9j YWwpIHZzICRPVEhFUl9WTUxJU1RfVkVSICgkT1RIRVJfTk9ERSkiCisgICAgICAgICAgICBmaQor ICAgICAgICBmaQorICAgIGRvbmUKK2Vsc2UKKyAgICBlY2hvIC1lICIke1lFTExPV33imqAke05D fSBObyBtYXJrZXJzIGZyb20gb3RoZXIgbm9kZXMgZm91bmQiCisgICAgZWNobyAiICBUaGlzIHRl c3QgaXMgcnVubmluZyBvbiBhIHNpbmdsZSBub2RlIgorICAgIGVjaG8gIiAgRm9yIGZ1bGwgbXVs dGktbm9kZSB2YWxpZGF0aW9uLCBydW4gb24gYSBjbHVzdGVyIHdpdGggbXVsdGlwbGUgbm9kZXMi CitmaQorZWNobyAiIgorCisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyMgVGVzdCA4OiBWZXJpZnkg UXVvcnVtIFN0YXRlIENvbnNpc3RlbmN5CisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworZWNobyAi 4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB 4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB 4pSB4pSBIgorZWNobyAiVGVzdCA4OiBWZXJpZnkgUXVvcnVtIFN0YXRlIgorZWNobyAi4pSB4pSB 4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB 4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB IgorZWNobyAiIgorCitpZiBbIC1lICIkTUVNQkVSU19GSUxFIiBdOyB0aGVuCisgICAgTUVNQkVS U19DT05URU5UPSQoY2F0ICIkTUVNQkVSU19GSUxFIiAyPi9kZXYvbnVsbCB8fCBlY2hvICIiKQor ICAgIFRPVEFMX05PREVTPSQoZWNobyAiJE1FTUJFUlNfQ09OVEVOVCIgfCBncmVwIC1FICJeWzAt OV0rW1s6c3BhY2U6XV0iIHwgd2MgLWwgfHwgZWNobyAiMCIpCisgICAgT05MSU5FX05PREVTPSQo ZWNobyAiJE1FTUJFUlNfQ09OVEVOVCIgfCBncmVwIC1FICJeWzAtOV0rW1s6c3BhY2U6XV0uKltb OnNwYWNlOl1dMVtbOnNwYWNlOl1dIiB8IHdjIC1sIHx8IGVjaG8gIjAiKQorCisgICAgaWYgWyAi JFRPVEFMX05PREVTIiAtZ3QgMCBdOyB0aGVuCisgICAgICAgIFFVT1JVTV9ORUVERUQ9JCgoIChU T1RBTF9OT0RFUyAvIDIpICsgMSApKQorCisgICAgICAgIGVjaG8gIiAgVG90YWwgbm9kZXMgaW4g Y2x1c3RlcjogJFRPVEFMX05PREVTIgorICAgICAgICBlY2hvICIgIE9ubGluZSBub2RlczogJE9O TElORV9OT0RFUyIKKyAgICAgICAgZWNobyAiICBRdW9ydW0gdGhyZXNob2xkOiAkUVVPUlVNX05F RURFRCIKKworICAgICAgICBpZiBbICIkT05MSU5FX05PREVTIiAtZ2UgIiRRVU9SVU1fTkVFREVE IiBdOyB0aGVuCisgICAgICAgICAgICBlY2hvIC1lICIke0dSRUVOfeKckyR7TkN9IENsdXN0ZXIg aGFzIHF1b3J1bSAoJE9OTElORV9OT0RFUy8kVE9UQUxfTk9ERVMgbm9kZXMgb25saW5lKSIKKyAg ICAgICAgZWxzZQorICAgICAgICAgICAgZWNobyAtZSAiJHtZRUxMT1d94pqgJHtOQ30gQ2x1c3Rl ciBkb2VzIE5PVCBoYXZlIHF1b3J1bSAoJE9OTElORV9OT0RFUy8kVE9UQUxfTk9ERVMgbm9kZXMg b25saW5lLCBuZWVkICRRVU9SVU1fTkVFREVEKSIKKyAgICAgICAgZmkKKyAgICBlbHNlCisgICAg ICAgIGVjaG8gIiAgU2luZ2xlIG5vZGUgb3Igc3RhbmRhbG9uZSBtb2RlIgorICAgIGZpCitlbHNl CisgICAgZWNobyAtZSAiJHtZRUxMT1d94pqgJHtOQ30gQ2Fubm90IGNoZWNrIHF1b3J1bSAobm8g Lm1lbWJlcnMgZmlsZSkiCitmaQorZWNobyAiIgorCisjID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyMg U3VtbWFyeQorIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK2VjaG8gIuKUgeKUgeKUgeKUgeKUgeKU geKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKU geKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgSIKK2VjaG8gIlRl c3QgU3VtbWFyeSIKK2VjaG8gIuKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKU geKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKU geKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgSIKK2VjaG8gIiIKK2VjaG8gIk5vZGU6ICROT0RFX05B TUUiCitlY2hvICIiCitlY2hvICJTdGF0dXMgUGx1Z2luczoiCitlY2hvICIgIC52ZXJzaW9uOiAg JChbIC1lICIkTU9VTlRfUE9JTlQvLnZlcnNpb24iIF0gJiYgZWNobyAtZSAiJHtHUkVFTn3inJMg QXZhaWxhYmxlJHtOQ30iIHx8IGVjaG8gLWUgIiR7WUVMTE9XfeKaoCBVbmF2YWlsYWJsZSR7TkN9 IikiCitlY2hvICIgIC5tZW1iZXJzOiAgJChbIC1lICIkTU9VTlRfUE9JTlQvLm1lbWJlcnMiIF0g JiYgZWNobyAtZSAiJHtHUkVFTn3inJMgQXZhaWxhYmxlJHtOQ30iIHx8IGVjaG8gLWUgIiR7WUVM TE9XfeKaoCBVbmF2YWlsYWJsZSR7TkN9IikiCitlY2hvICIgIC52bWxpc3Q6ICAgJChbIC1lICIk TU9VTlRfUE9JTlQvLnZtbGlzdCIgXSAmJiBlY2hvIC1lICIke0dSRUVOfeKckyBBdmFpbGFibGUk e05DfSIgfHwgZWNobyAtZSAiJHtZRUxMT1d94pqgIFVuYXZhaWxhYmxlJHtOQ30iKSIKK2VjaG8g IiIKK2VjaG8gIk11bHRpLU5vZGUgRGV0ZWN0aW9uOiIKK2VjaG8gIiAgT3RoZXIgbm9kZXMgZGV0 ZWN0ZWQ6ICRPVEhFUl9NQVJLRVJTIgorZWNobyAiIgorCitpZiBbICIkT1RIRVJfTUFSS0VSUyIg LWd0IDAgXTsgdGhlbgorICAgIGVjaG8gLWUgIiR7R1JFRU594pyTJHtOQ30gTXVsdGktbm9kZSBz dGF0dXMgc3luY2hyb25pemF0aW9uIHRlc3QgY29tcGxldGVkIgorICAgIGVjaG8gIiAgU3RhdHVz IGRhdGEgY29tcGFyZWQgYWNyb3NzICQoKE9USEVSX01BUktFUlMgKyAxKSkgbm9kZXMiCitlbHNl CisgICAgZWNobyAtZSAiJHtCTFVFfeKEuSR7TkN9IFNpbmdsZS1ub2RlIHRlc3QgY29tcGxldGVk IgorICAgIGVjaG8gIiAgUnVuIG9uIG11bHRpcGxlIG5vZGVzIHNpbXVsdGFuZW91c2x5IGZvciBm dWxsIG11bHRpLW5vZGUgdmFsaWRhdGlvbiIKK2ZpCitlY2hvICIiCisKK2V4aXQgMApkaWZmIC0t Z2l0IGEvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0cy90ZXN0LWNvbmZpZy5z aCBiL3NyYy9wbXhjZnMtcnMvaW50ZWdyYXRpb24tdGVzdHMvdGVzdHMvdGVzdC1jb25maWcuc2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLjYzZWQ5OGM0Ci0tLSAvZGV2L251 bGwKKysrIGIvc3JjL3BteGNmcy1ycy9pbnRlZ3JhdGlvbi10ZXN0cy90ZXN0cy90ZXN0LWNvbmZp Zy5zaApAQCAtMCwwICsxLDg4IEBACisjIS9iaW4vYmFzaAorIyBDb21tb24gdGVzdCBjb25maWd1 cmF0aW9uCisjIFNvdXJjZSB0aGlzIGZpbGUgYXQgdGhlIGJlZ2lubmluZyBvZiBlYWNoIHRlc3Qg c2NyaXB0CisKKyMgVGVzdCBkaXJlY3RvcnkgcGF0aHMgKHNldCBieSAtLXRlc3QtZGlyIGZsYWcg dG8gcG14Y2ZzKQorIyBEZWZhdWx0OiAvdGVzdCAoaW4gY29udGFpbmVyKSwgYnV0IGNvbmZpZ3Vy YWJsZSBmb3IgZGlmZmVyZW50IGVudmlyb25tZW50cworVEVTVF9ESVI9IiR7VEVTVF9ESVI6LS90 ZXN0fSIKKworIyBEZXJpdmVkIHBhdGhzIGJhc2VkIG9uIFRFU1RfRElSCitURVNUX0RCX1BBVEg9 IiR7VEVTVF9EQl9QQVRIOi0kVEVTVF9ESVIvZGIvY29uZmlnLmRifSIKK1RFU1RfREJfRElSPSIk e1RFU1RfREJfRElSOi0kVEVTVF9ESVIvZGJ9IgorVEVTVF9NT1VOVF9QQVRIPSIke1RFU1RfTU9V TlRfUEFUSDotJFRFU1RfRElSL3B2ZX0iCitURVNUX1JVTl9ESVI9IiR7VEVTVF9SVU5fRElSOi0k VEVTVF9ESVIvcnVufSIKK1RFU1RfUlJEX0RJUj0iJHtURVNUX1JSRF9ESVI6LSRURVNUX0RJUi9y cmR9IgorVEVTVF9FVENfRElSPSIke1RFU1RfRVRDX0RJUjotJFRFU1RfRElSL2V0Y30iCitURVNU X0NPUk9TWU5DX0RJUj0iJHtURVNUX0NPUk9TWU5DX0RJUjotJFRFU1RfRElSL2V0Yy9jb3Jvc3lu Y30iCisKKyMgU29ja2V0IHBhdGhzCitURVNUX1NPQ0tFVD0iJHtURVNUX1NPQ0tFVDotQHB2ZTJ9 IiAgIyBBYnN0cmFjdCBzb2NrZXQKK1RFU1RfU09DS0VUX1BBVEg9IiR7VEVTVF9TT0NLRVRfUEFU SDotJFRFU1RfUlVOX0RJUi9wbXhjZnMuc29ja30iCisKKyMgUElEIGZpbGUKK1RFU1RfUElEX0ZJ TEU9IiR7VEVTVF9QSURfRklMRTotJFRFU1RfUlVOX0RJUi9wbXhjZnMucGlkfSIKKworIyBQbHVn aW4gZmlsZSBwYXRocyAoaW4gRlVTRSBtb3VudCkKK1BMVUdJTl9WRVJTSU9OPSIke1BMVUdJTl9W RVJTSU9OOi0kVEVTVF9NT1VOVF9QQVRILy52ZXJzaW9ufSIKK1BMVUdJTl9NRU1CRVJTPSIke1BM VUdJTl9NRU1CRVJTOi0kVEVTVF9NT1VOVF9QQVRILy5tZW1iZXJzfSIKK1BMVUdJTl9WTUxJU1Q9 IiR7UExVR0lOX1ZNTElTVDotJFRFU1RfTU9VTlRfUEFUSC8udm1saXN0fSIKK1BMVUdJTl9SUkQ9 IiR7UExVR0lOX1JSRDotJFRFU1RfTU9VTlRfUEFUSC8ucnJkfSIKK1BMVUdJTl9DTFVTVEVSTE9H PSIke1BMVUdJTl9DTFVTVEVSTE9HOi0kVEVTVF9NT1VOVF9QQVRILy5jbHVzdGVybG9nfSIKK1BM VUdJTl9ERUJVRz0iJHtQTFVHSU5fREVCVUc6LSRURVNUX01PVU5UX1BBVEgvLmRlYnVnfSIKKwor IyBFeHBvcnQgZm9yIHN1YnByb2Nlc3NlcworZXhwb3J0IFRFU1RfRElSCitleHBvcnQgVEVTVF9E Ql9QQVRICitleHBvcnQgVEVTVF9EQl9ESVIKK2V4cG9ydCBURVNUX01PVU5UX1BBVEgKK2V4cG9y dCBURVNUX1JVTl9ESVIKK2V4cG9ydCBURVNUX1JSRF9ESVIKK2V4cG9ydCBURVNUX0VUQ19ESVIK K2V4cG9ydCBURVNUX0NPUk9TWU5DX0RJUgorZXhwb3J0IFRFU1RfU09DS0VUCitleHBvcnQgVEVT VF9TT0NLRVRfUEFUSAorZXhwb3J0IFRFU1RfUElEX0ZJTEUKK2V4cG9ydCBQTFVHSU5fVkVSU0lP TgorZXhwb3J0IFBMVUdJTl9NRU1CRVJTCitleHBvcnQgUExVR0lOX1ZNTElTVAorZXhwb3J0IFBM VUdJTl9SUkQKK2V4cG9ydCBQTFVHSU5fQ0xVU1RFUkxPRworZXhwb3J0IFBMVUdJTl9ERUJVRwor CisjIEhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGVzdCBzY3JpcHQgZGlyZWN0b3J5CitnZXRfdGVz dF9kaXIoKSB7CisgICAgY2QgIiQoZGlybmFtZSAiJHtCQVNIX1NPVVJDRVsxXX0iKSIgJiYgcHdk Cit9CisKKyMgSGVscGVyIGZ1bmN0aW9uIGZvciB0ZW1wb3JhcnkgdGVzdCBmaWxlcworbWFrZV90 ZXN0X2ZpbGUoKSB7CisgICAgbG9jYWwgcHJlZml4PSIkezE6LXRlc3R9IgorICAgIGVjaG8gIiRU RVNUX01PVU5UX1BBVEgvLiR7cHJlZml4fS0kJC0kKGRhdGUgKyVzKSIKK30KKworIyBIZWxwZXIg ZnVuY3Rpb24gdG8gY2hlY2sgaWYgcnVubmluZyBpbiB0ZXN0IG1vZGUKK2lzX3Rlc3RfbW9kZSgp IHsKKyAgICBbIC1kICIkVEVTVF9NT1VOVF9QQVRIIiBdICYmIFsgLWYgIiRURVNUX0RCX1BBVEgi IF0KK30KKworIyBWZXJpZnkgdGVzdCBlbnZpcm9ubWVudCBpcyBzZXQgdXAKK3ZlcmlmeV90ZXN0 X2Vudmlyb25tZW50KCkgeworICAgIGxvY2FsIGVycm9ycz0wCisKKyAgICBpZiBbICEgLWQgIiRU RVNUX0RJUiIgXTsgdGhlbgorICAgICAgICBlY2hvICJFUlJPUjogVGVzdCBkaXJlY3Rvcnkgbm90 IGZvdW5kOiAkVEVTVF9ESVIiID4mMgorICAgICAgICAoKGVycm9ycysrKSkKKyAgICBmaQorCisg ICAgaWYgWyAhIC1kICIkVEVTVF9NT1VOVF9QQVRIIiBdOyB0aGVuCisgICAgICAgIGVjaG8gIkVS Uk9SOiBGVVNFIG1vdW50IHBhdGggbm90IGZvdW5kOiAkVEVTVF9NT1VOVF9QQVRIIiA+JjIKKyAg ICAgICAgKChlcnJvcnMrKykpCisgICAgZmkKKworICAgIGlmIFsgISAtZiAiJFRFU1RfREJfUEFU SCIgXTsgdGhlbgorICAgICAgICBlY2hvICJFUlJPUjogRGF0YWJhc2Ugbm90IGZvdW5kOiAkVEVT VF9EQl9QQVRIIiA+JjIKKyAgICAgICAgKChlcnJvcnMrKykpCisgICAgZmkKKworICAgIHJldHVy biAkZXJyb3JzCit9CmRpZmYgLS1naXQgYS9zcmMvcG14Y2ZzLXJzL3BteGNmcy1kZnNtL3Rlc3Rz L211bHRpX25vZGVfc3luY190ZXN0cy5ycyBiL3NyYy9wbXhjZnMtcnMvcG14Y2ZzLWRmc20vdGVz dHMvbXVsdGlfbm9kZV9zeW5jX3Rlc3RzLnJzCmluZGV4IGQzNzhmOTE0Li5kZmM3Y2RjNSAxMDA2 NDQKLS0tIGEvc3JjL3BteGNmcy1ycy9wbXhjZnMtZGZzbS90ZXN0cy9tdWx0aV9ub2RlX3N5bmNf dGVzdHMucnMKKysrIGIvc3JjL3BteGNmcy1ycy9wbXhjZnMtZGZzbS90ZXN0cy9tdWx0aV9ub2Rl X3N5bmNfdGVzdHMucnMKQEAgLTE4OCw3ICsxODgsNyBAQCBmbiB0ZXN0X3R3b19ub2RlX2xlYWRl cl9lbGVjdGlvbigpIC0+IFJlc3VsdDwoKT4gewogCiAgICAgLy8gTm9kZSAxIGhhcyBtb3JlIGRh dGEgKGhpZ2hlciB2ZXJzaW9uKQogICAgIG1lbWRiMS5jcmVhdGUoIi9maWxlMS50eHQiLCAwLCAx MDAwKT87Ci0gICAgbWVtZGIxLndyaXRlKCIvZmlsZTEudHh0IiwgMCwgMTAwMSwgYiJkYXRhIGZy b20gbm9kZSAxIiwgMCk/OworICAgIG1lbWRiMS53cml0ZSgiL2ZpbGUxLnR4dCIsIDAsIDEwMDEs IGIiZGF0YSBmcm9tIG5vZGUgMSIsIGZhbHNlKT87CiAKICAgICAvLyBHZW5lcmF0ZSBzdGF0ZXMK ICAgICBsZXQgc3RhdGUxID0gY2FsbGJhY2tzMS5nZXRfc3RhdGUoKT87CkBAIC0yNDIsNyArMjQy LDcgQEAgZm4gdGVzdF9pbmNyZW1lbnRhbF91cGRhdGVfdHJhbnNmZXIoKSAtPiBSZXN1bHQ8KCk+ IHsKICAgICAvLyBMZWFkZXIgaGFzIGRhdGEKICAgICBsZWFkZXJfZGIuY3JlYXRlKCIvY29uZmln IiwgbGliYzo6U19JRkRJUiwgMTAwMCk/OwogICAgIGxlYWRlcl9kYi5jcmVhdGUoIi9jb25maWcv bm9kZS5jb25mIiwgMCwgMTAwMSk/OwotICAgIGxlYWRlcl9kYi53cml0ZSgiL2NvbmZpZy9ub2Rl LmNvbmYiLCAwLCAxMDAyLCBiImhvc3RuYW1lPXB2ZTEiLCAwKT87CisgICAgbGVhZGVyX2RiLndy aXRlKCIvY29uZmlnL25vZGUuY29uZiIsIDAsIDEwMDIsIGIiaG9zdG5hbWU9cHZlMSIsIGZhbHNl KT87CiAKICAgICAvLyBHZXQgZW50cmllcyBmcm9tIGxlYWRlcgogICAgIGxldCBsZWFkZXJfZW50 cmllcyA9IGxlYWRlcl9kYi5nZXRfYWxsX2VudHJpZXMoKT87CkBAIC0yOTIsMTEgKzI5MiwxMSBA QCBmbiB0ZXN0X3RocmVlX25vZGVfc3luYygpIC0+IFJlc3VsdDwoKT4gewogCiAgICAgLy8gTm9k ZSAxIGhhcyB0aGUgbW9zdCByZWNlbnQgZGF0YQogICAgIG1lbWRiMS5jcmVhdGUoIi9jbHVzdGVy LmNvbmYiLCAwLCA1MDAwKT87Ci0gICAgbWVtZGIxLndyaXRlKCIvY2x1c3Rlci5jb25mIiwgMCwg NTAwMSwgYiJ2ZXJzaW9uPTMiLCAwKT87CisgICAgbWVtZGIxLndyaXRlKCIvY2x1c3Rlci5jb25m IiwgMCwgNTAwMSwgYiJ2ZXJzaW9uPTMiLCBmYWxzZSk/OwogCiAgICAgLy8gTm9kZSAyIGhhcyBv bGRlciBkYXRhCiAgICAgbWVtZGIyLmNyZWF0ZSgiL2NsdXN0ZXIuY29uZiIsIDAsIDQwMDApPzsK LSAgICBtZW1kYjIud3JpdGUoIi9jbHVzdGVyLmNvbmYiLCAwLCA0MDAxLCBiInZlcnNpb249MiIs IDApPzsKKyAgICBtZW1kYjIud3JpdGUoIi9jbHVzdGVyLmNvbmYiLCAwLCA0MDAxLCBiInZlcnNp b249MiIsIGZhbHNlKT87CiAKICAgICAvLyBOb2RlIDMgaXMgZW1wdHkgKG5ldyBub2RlIGpvaW5p bmcpCiAKQEAgLTQ1MywxOCArNDUzLDE4IEBAIGZuIHRlc3Rfc3luY193aXRoX2NvbmZsaWN0cygp IC0+IFJlc3VsdDwoKT4gewogCiAgICAgLy8gQm90aCBzdGFydCB3aXRoIHNhbWUgYmFzZQogICAg IG1lbWRiMS5jcmVhdGUoIi9iYXNlLmNvbmYiLCAwLCAxMDAwKT87Ci0gICAgbWVtZGIxLndyaXRl KCIvYmFzZS5jb25mIiwgMCwgMTAwMSwgYiJzaGFyZWQiLCAwKT87CisgICAgbWVtZGIxLndyaXRl KCIvYmFzZS5jb25mIiwgMCwgMTAwMSwgYiJzaGFyZWQiLCBmYWxzZSk/OwogCiAgICAgbWVtZGIy LmNyZWF0ZSgiL2Jhc2UuY29uZiIsIDAsIDEwMDApPzsKLSAgICBtZW1kYjIud3JpdGUoIi9iYXNl LmNvbmYiLCAwLCAxMDAxLCBiInNoYXJlZCIsIDApPzsKKyAgICBtZW1kYjIud3JpdGUoIi9iYXNl LmNvbmYiLCAwLCAxMDAxLCBiInNoYXJlZCIsIGZhbHNlKT87CiAKICAgICAvLyBOb2RlIDEgYWRk cyBmaWxlMQogICAgIG1lbWRiMS5jcmVhdGUoIi9maWxlMS50eHQiLCAwLCAyMDAwKT87Ci0gICAg bWVtZGIxLndyaXRlKCIvZmlsZTEudHh0IiwgMCwgMjAwMSwgYiJmcm9tIG5vZGUgMSIsIDApPzsK KyAgICBtZW1kYjEud3JpdGUoIi9maWxlMS50eHQiLCAwLCAyMDAxLCBiImZyb20gbm9kZSAxIiwg ZmFsc2UpPzsKIAogICAgIC8vIE5vZGUgMiBhZGRzIGZpbGUyCiAgICAgbWVtZGIyLmNyZWF0ZSgi L2ZpbGUyLnR4dCIsIDAsIDIwMDApPzsKLSAgICBtZW1kYjIud3JpdGUoIi9maWxlMi50eHQiLCAw LCAyMDAxLCBiImZyb20gbm9kZSAyIiwgMCk/OworICAgIG1lbWRiMi53cml0ZSgiL2ZpbGUyLnR4 dCIsIDAsIDIwMDEsIGIiZnJvbSBub2RlIDIiLCBmYWxzZSk/OwogCiAgICAgLy8gR2VuZXJhdGUg aW5kaWNlcwogICAgIGxldCBpbmRleDEgPSBtZW1kYjEuZW5jb2RlX2luZGV4KCk/OwpAQCAtNTAy LDcgKzUwMiw3IEBAIGZuIHRlc3RfbGFyZ2VfZmlsZV91cGRhdGUoKSAtPiBSZXN1bHQ8KCk+IHsK ICAgICBsZXQgbGFyZ2VfZGF0YTogVmVjPHU4PiA9ICgwLi4xMDI0MCkubWFwKHxpfCAoaSAlIDI1 NikgYXMgdTgpLmNvbGxlY3QoKTsKIAogICAgIGxlYWRlcl9kYi5jcmVhdGUoIi9sYXJnZS5iaW4i LCAwLCAxMDAwKT87Ci0gICAgbGVhZGVyX2RiLndyaXRlKCIvbGFyZ2UuYmluIiwgMCwgMTAwMSwg JmxhcmdlX2RhdGEsIDApPzsKKyAgICBsZWFkZXJfZGIud3JpdGUoIi9sYXJnZS5iaW4iLCAwLCAx MDAxLCAmbGFyZ2VfZGF0YSwgZmFsc2UpPzsKIAogICAgIC8vIEdldCB0aGUgZW50cnkKICAgICBs ZXQgZW50cnkgPSBsZWFkZXJfZGIubG9va3VwX3BhdGgoIi9sYXJnZS5iaW4iKS51bndyYXAoKTsK QEAgLTUzOCw3ICs1MzgsNyBAQCBmbiB0ZXN0X2RpcmVjdG9yeV9oaWVyYXJjaHlfc3luYygpIC0+ IFJlc3VsdDwoKT4gewogICAgICAgICAwLAogICAgICAgICAxMDA1LAogICAgICAgICBiImNwdTog MlxubWVtOiA0MDk2IiwKLSAgICAgICAgMCwKKyAgICAgICAgZmFsc2UsCiAgICAgKT87CiAKICAg ICAvLyBTZW5kIGFsbCBlbnRyaWVzIHRvIGZvbGxvd2VyCmRpZmYgLS1naXQgYS9zcmMvcG14Y2Zz LXJzL3BteGNmcy90ZXN0cy9jb21tb24vbW9kLnJzIGIvc3JjL3BteGNmcy1ycy9wbXhjZnMvdGVz dHMvY29tbW9uL21vZC5ycwppbmRleCBhZTc4YzQ0Ni4uYWI3YTY1ODEgMTAwNjQ0Ci0tLSBhL3Ny Yy9wbXhjZnMtcnMvcG14Y2ZzL3Rlc3RzL2NvbW1vbi9tb2QucnMKKysrIGIvc3JjL3BteGNmcy1y cy9wbXhjZnMvdGVzdHMvY29tbW9uL21vZC5ycwpAQCAtNTcsMjIgKzU3LDE0IEBAIHB1YiBmbiBj cmVhdGVfdGVzdF9kYigpIC0+IFJlc3VsdDwoVGVtcERpciwgTWVtRGIpPiB7CiAKICAgICAvLyBO b2RlLXNwZWNpZmljIGRpcmVjdG9yaWVzCiAgICAgZGIuY3JlYXRlKCIvbm9kZXMiLCBsaWJjOjpT X0lGRElSLCBub3cpPzsKLSAgICBkYi5jcmVhdGUoJmZvcm1hdCEoIi9ub2Rlcy97fSIsIFRFU1Rf Tk9ERV9OQU1FKSwgbGliYzo6U19JRkRJUiwgbm93KT87CisgICAgZGIuY3JlYXRlKCZmb3JtYXQh KCIvbm9kZXMve1RFU1RfTk9ERV9OQU1FfSIpLCBsaWJjOjpTX0lGRElSLCBub3cpPzsKICAgICBk Yi5jcmVhdGUoCi0gICAgICAgICZmb3JtYXQhKCIvbm9kZXMve30vcWVtdS1zZXJ2ZXIiLCBURVNU X05PREVfTkFNRSksCi0gICAgICAgIGxpYmM6OlNfSUZESVIsCi0gICAgICAgIG5vdywKLSAgICAp PzsKLSAgICBkYi5jcmVhdGUoCi0gICAgICAgICZmb3JtYXQhKCIvbm9kZXMve30vbHhjIiwgVEVT VF9OT0RFX05BTUUpLAotICAgICAgICBsaWJjOjpTX0lGRElSLAotICAgICAgICBub3csCi0gICAg KT87Ci0gICAgZGIuY3JlYXRlKAotICAgICAgICAmZm9ybWF0ISgiL25vZGVzL3t9L3ByaXYiLCBU RVNUX05PREVfTkFNRSksCisgICAgICAgICZmb3JtYXQhKCIvbm9kZXMve1RFU1RfTk9ERV9OQU1F fS9xZW11LXNlcnZlciIpLAogICAgICAgICBsaWJjOjpTX0lGRElSLAogICAgICAgICBub3csCiAg ICAgKT87CisgICAgZGIuY3JlYXRlKCZmb3JtYXQhKCIvbm9kZXMve1RFU1RfTk9ERV9OQU1FfS9s eGMiKSwgbGliYzo6U19JRkRJUiwgbm93KT87CisgICAgZGIuY3JlYXRlKCZmb3JtYXQhKCIvbm9k ZXMve1RFU1RfTk9ERV9OQU1FfS9wcml2IiksIGxpYmM6OlNfSUZESVIsIG5vdyk/OwogCiAgICAg Ly8gR2xvYmFsIGRpcmVjdG9yaWVzCiAgICAgZGIuY3JlYXRlKCIvcHJpdiIsIGxpYmM6OlNfSUZE SVIsIG5vdyk/OwpAQCAtMTM3LDExICsxMjksOCBAQCBwdWIgZm4gY2xlYXJfdGVzdF92bXMoc3Rh dHVzOiAmQXJjPFN0YXR1cz4pIHsKIC8vLyBDb25maWd1cmF0aW9uIGZpbGUgY29udGVudCBhcyBi eXRlcwogI1thbGxvdyhkZWFkX2NvZGUpXQogcHViIGZuIGNyZWF0ZV92bV9jb25maWcodm1pZDog dTMyLCBjb3JlczogdTMyLCBtZW1vcnk6IHUzMikgLT4gVmVjPHU4PiB7Ci0gICAgZm9ybWF0ISgK LSAgICAgICAgIm5hbWU6IHRlc3Qtdm0te31cbmNvcmVzOiB7fVxubWVtb3J5OiB7fVxuYm9vdGRp c2s6IHNjc2kwXG4iLAotICAgICAgICB2bWlkLCBjb3JlcywgbWVtb3J5Ci0gICAgKQotICAgIC5p bnRvX2J5dGVzKCkKKyAgICBmb3JtYXQhKCJuYW1lOiB0ZXN0LXZtLXt2bWlkfVxuY29yZXM6IHtj b3Jlc31cbm1lbW9yeToge21lbW9yeX1cbmJvb3RkaXNrOiBzY3NpMFxuIikKKyAgICAgICAgLmlu dG9fYnl0ZXMoKQogfQogCiAvLy8gQ3JlYXRlcyB0ZXN0IENUIChjb250YWluZXIpIGNvbmZpZ3Vy YXRpb24gY29udGVudApAQCAtMTU1LDExICsxNDQsOCBAQCBwdWIgZm4gY3JlYXRlX3ZtX2NvbmZp Zyh2bWlkOiB1MzIsIGNvcmVzOiB1MzIsIG1lbW9yeTogdTMyKSAtPiBWZWM8dTg+IHsKIC8vLyBD b25maWd1cmF0aW9uIGZpbGUgY29udGVudCBhcyBieXRlcwogI1thbGxvdyhkZWFkX2NvZGUpXQog cHViIGZuIGNyZWF0ZV9jdF9jb25maWcodm1pZDogdTMyLCBjb3JlczogdTMyLCBtZW1vcnk6IHUz MikgLT4gVmVjPHU4PiB7Ci0gICAgZm9ybWF0ISgKLSAgICAgICAgImNvcmVzOiB7fVxubWVtb3J5 OiB7fVxucm9vdGZzOiBsb2NhbDoxMDAvdm0te30tZGlzay0wLnJhd1xuIiwKLSAgICAgICAgY29y ZXMsIG1lbW9yeSwgdm1pZAotICAgICkKLSAgICAuaW50b19ieXRlcygpCisgICAgZm9ybWF0ISgi Y29yZXM6IHtjb3Jlc31cbm1lbW9yeToge21lbW9yeX1cbnJvb3RmczogbG9jYWw6MTAwL3ZtLXt2 bWlkfS1kaXNrLTAucmF3XG4iKQorICAgICAgICAuaW50b19ieXRlcygpCiB9CiAKIC8vLyBDcmVh dGVzIGEgdGVzdCBsb2NrIHBhdGggZm9yIGEgVk0gY29uZmlnCkBAIC0xNzEsNyArMTU3LDcgQEAg cHViIGZuIGNyZWF0ZV9jdF9jb25maWcodm1pZDogdTMyLCBjb3JlczogdTMyLCBtZW1vcnk6IHUz MikgLT4gVmVjPHU4PiB7CiAvLy8gIyBSZXR1cm5zCiAvLy8gTG9jayBwYXRoIGluIGZvcm1hdCBg L3ByaXYvbG9jay97dm1fdHlwZX0ve3ZtaWR9LmNvbmZgCiBwdWIgZm4gY3JlYXRlX2xvY2tfcGF0 aCh2bWlkOiB1MzIsIHZtX3R5cGU6ICZzdHIpIC0+IFN0cmluZyB7Ci0gICAgZm9ybWF0ISgiL3By aXYvbG9jay97fS97fS5jb25mIiwgdm1fdHlwZSwgdm1pZCkKKyAgICBmb3JtYXQhKCIvcHJpdi9s b2NrL3t2bV90eXBlfS97dm1pZH0uY29uZiIpCiB9CiAKIC8vLyBDcmVhdGVzIGEgdGVzdCBjb25m aWcgcGF0aCBmb3IgYSBWTQpAQCAtMTgzLDcgKzE2OSw3IEBAIHB1YiBmbiBjcmVhdGVfbG9ja19w YXRoKHZtaWQ6IHUzMiwgdm1fdHlwZTogJnN0cikgLT4gU3RyaW5nIHsKIC8vLyAjIFJldHVybnMK IC8vLyBDb25maWcgcGF0aCBpbiBmb3JtYXQgYC97dm1fdHlwZX0ve3ZtaWR9LmNvbmZgCiBwdWIg Zm4gY3JlYXRlX2NvbmZpZ19wYXRoKHZtaWQ6IHUzMiwgdm1fdHlwZTogJnN0cikgLT4gU3RyaW5n IHsKLSAgICBmb3JtYXQhKCIve30ve30uY29uZiIsIHZtX3R5cGUsIHZtaWQpCisgICAgZm9ybWF0 ISgiL3t2bV90eXBlfS97dm1pZH0uY29uZiIpCiB9CiAKICNbY2ZnKHRlc3QpXQpkaWZmIC0tZ2l0 IGEvc3JjL3BteGNmcy1ycy9wbXhjZnMvdGVzdHMvZnVzZV9iYXNpY190ZXN0LnJzIGIvc3JjL3Bt eGNmcy1ycy9wbXhjZnMvdGVzdHMvZnVzZV9iYXNpY190ZXN0LnJzCmluZGV4IDk3ZWVhNWYzLi45 OTc2ZWMxMiAxMDA2NDQKLS0tIGEvc3JjL3BteGNmcy1ycy9wbXhjZnMvdGVzdHMvZnVzZV9iYXNp Y190ZXN0LnJzCisrKyBiL3NyYy9wbXhjZnMtcnMvcG14Y2ZzL3Rlc3RzL2Z1c2VfYmFzaWNfdGVz dC5ycwpAQCAtNDEsOCArNDEsOCBAQCBmbiB0ZXN0X2Z1c2Vfc3Vic3lzdGVtX2NvbXBvbmVudHMo KSAtPiBSZXN1bHQ8KCk+IHsKICAgICBzdGF0dXMuc2V0X3F1b3JhdGUodHJ1ZSk7CiAgICAgbGV0 IHBsdWdpbnMgPSBwbHVnaW5zOjppbml0X3BsdWdpbnMoY29uZmlnLmNsb25lKCksIHN0YXR1cyk7 CiAgICAgbGV0IHBsdWdpbl9saXN0ID0gcGx1Z2lucy5saXN0KCk7Ci0gICAgcHJpbnRsbiEoIiAg IEF2YWlsYWJsZSBwbHVnaW5zOiB7Oj99IiwgcGx1Z2luX2xpc3QpOwotICAgIGFzc2VydCEocGx1 Z2luX2xpc3QubGVuKCkgPiAwLCAiU2hvdWxkIGhhdmUgc29tZSBwbHVnaW5zIik7CisgICAgcHJp bnRsbiEoIiAgIEF2YWlsYWJsZSBwbHVnaW5zOiB7cGx1Z2luX2xpc3Q6P30iKTsKKyAgICBhc3Nl cnQhKCFwbHVnaW5fbGlzdC5pc19lbXB0eSgpLCAiU2hvdWxkIGhhdmUgc29tZSBwbHVnaW5zIik7 CiAKICAgICAvLyA0LiBWZXJpZnkgcGx1Z2luIGZ1bmN0aW9uYWxpdHkKICAgICBmb3IgcGx1Z2lu X25hbWUgaW4gJnBsdWdpbl9saXN0IHsKQEAgLTU2LDcgKzU2LDcgQEAgZm4gdGVzdF9mdXNlX3N1 YnN5c3RlbV9jb21wb25lbnRzKCkgLT4gUmVzdWx0PCgpPiB7CiAgICAgICAgICAgICAgICAgICAg ICk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIEVycihlKSA9PiB7Ci0gICAg ICAgICAgICAgICAgICAgIHByaW50bG4hKCIgICDimqDvuI8gIFBsdWdpbiAne30nIGVycm9yOiB7 fSIsIHBsdWdpbl9uYW1lLCBlKTsKKyAgICAgICAgICAgICAgICAgICAgcHJpbnRsbiEoIiAgIOKa oO+4jyAgUGx1Z2luICd7cGx1Z2luX25hbWV9JyBlcnJvcjoge2V9Iik7CiAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC04Niw3ICs4Niw3IEBAIGZuIHRlc3Rf ZnVzZV9zdWJzeXN0ZW1fY29tcG9uZW50cygpIC0+IFJlc3VsdDwoKT4gewogCiAgICAgbGV0IGVu dHJpZXMgPSBtZW1kYi5yZWFkZGlyKCIvIik/OwogICAgIGxldCBkaXJfbmFtZXM6IFZlYzwmU3Ry aW5nPiA9IGVudHJpZXMuaXRlcigpLm1hcCh8ZXwgJmUubmFtZSkuY29sbGVjdCgpOwotICAgIHBy aW50bG4hKCIgICBSb290IGVudHJpZXM6IHs6P30iLCBkaXJfbmFtZXMpOworICAgIHByaW50bG4h KCIgICBSb290IGVudHJpZXM6IHtkaXJfbmFtZXM6P30iKTsKICAgICBhc3NlcnQhKAogICAgICAg ICBkaXJfbmFtZXMuaXRlcigpLmFueSh8bnwgbiA9PSAmInRlc3RkaXIiKSwKICAgICAgICAgInRl c3RkaXIgc2hvdWxkIGJlIGluIHJvb3QiCkBAIC0xMzMsNyArMTMzLDcgQEAgZm4gdGVzdF9mdXNl X3ByaXZhdGVfcGF0aF9kZXRlY3Rpb24oKSAtPiBSZXN1bHQ8KCk+IHsKIAogICAgIGZvciAocGF0 aCwgZXhwZWN0ZWQsIGRlc2NyaXB0aW9uKSBpbiB0ZXN0X2Nhc2VzIHsKICAgICAgICAgbGV0IGlz X3ByaXZhdGUgPSBpc19wcml2YXRlX3BhdGgocGF0aCk7Ci0gICAgICAgIGFzc2VydF9lcSEoaXNf cHJpdmF0ZSwgZXhwZWN0ZWQsICJGYWlsZWQgZm9yIHt9OiB7fSIsIHBhdGgsIGRlc2NyaXB0aW9u KTsKKyAgICAgICAgYXNzZXJ0X2VxIShpc19wcml2YXRlLCBleHBlY3RlZCwgIkZhaWxlZCBmb3Ig e3BhdGh9OiB7ZGVzY3JpcHRpb259Iik7CiAgICAgfQogCiAgICAgT2soKCkpCkBAIC0xNDksMTcg KzE0OSwxNiBAQCBmbiBpc19wcml2YXRlX3BhdGgocGF0aDogJnN0cikgLT4gYm9vbCB7CiAgICAg fQogCiAgICAgLy8gQ2hlY2sgZm9yICJub2Rlcy8qL3ByaXYiIG9yICJub2Rlcy8qL3ByaXYvKiIg cGF0dGVybgotICAgIGlmIGxldCBTb21lKGFmdGVyX25vZGVzKSA9IHBhdGguc3RyaXBfcHJlZml4 KCJub2Rlcy8iKSB7Ci0gICAgICAgIGlmIGxldCBTb21lKHNsYXNoX3BvcykgPSBhZnRlcl9ub2Rl cy5maW5kKCcvJykgewotICAgICAgICAgICAgbGV0IGFmdGVyX25vZGVuYW1lID0gJmFmdGVyX25v ZGVzW3NsYXNoX3Bvcy4uXTsKLQotICAgICAgICAgICAgaWYgYWZ0ZXJfbm9kZW5hbWUuc3RhcnRz X3dpdGgoIi9wcml2IikgewotICAgICAgICAgICAgICAgIGxldCBwcml2X2VuZCA9IHNsYXNoX3Bv cyArIDU7Ci0gICAgICAgICAgICAgICAgaWYgYWZ0ZXJfbm9kZXMubGVuKCkgPT0gcHJpdl9lbmQK LSAgICAgICAgICAgICAgICAgICAgfHwgYWZ0ZXJfbm9kZXMuYXNfYnl0ZXMoKS5nZXQocHJpdl9l bmQpID09IFNvbWUoJmInLycpCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg ICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgICAgICAgICB9CisgICAgaWYgbGV0IFNvbWUoYWZ0ZXJf bm9kZXMpID0gcGF0aC5zdHJpcF9wcmVmaXgoIm5vZGVzLyIpCisgICAgICAgICYmIGxldCBTb21l KHNsYXNoX3BvcykgPSBhZnRlcl9ub2Rlcy5maW5kKCcvJykKKyAgICB7CisgICAgICAgIGxldCBh ZnRlcl9ub2RlbmFtZSA9ICZhZnRlcl9ub2Rlc1tzbGFzaF9wb3MuLl07CisKKyAgICAgICAgaWYg YWZ0ZXJfbm9kZW5hbWUuc3RhcnRzX3dpdGgoIi9wcml2IikgeworICAgICAgICAgICAgbGV0IHBy aXZfZW5kID0gc2xhc2hfcG9zICsgNTsKKyAgICAgICAgICAgIGlmIGFmdGVyX25vZGVzLmxlbigp ID09IHByaXZfZW5kIHx8IGFmdGVyX25vZGVzLmFzX2J5dGVzKCkuZ2V0KHByaXZfZW5kKSA9PSBT b21lKCZiJy8nKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwog ICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvc3JjL3BteGNmcy1y cy9wbXhjZnMvdGVzdHMvZnVzZV9jbHVzdGVyX3Rlc3QucnMgYi9zcmMvcG14Y2ZzLXJzL3BteGNm cy90ZXN0cy9mdXNlX2NsdXN0ZXJfdGVzdC5ycwppbmRleCAxNTJmOWM1My4uNDFiMDAzMjIgMTAw NjQ0Ci0tLSBhL3NyYy9wbXhjZnMtcnMvcG14Y2ZzL3Rlc3RzL2Z1c2VfY2x1c3Rlcl90ZXN0LnJz CisrKyBiL3NyYy9wbXhjZnMtcnMvcG14Y2ZzL3Rlc3RzL2Z1c2VfY2x1c3Rlcl90ZXN0LnJzCkBA IC04NCwxMSArODQsMTEgQEAgaW1wbCBDYWxsYmFja3M8RnVzZU1lc3NhZ2U+IGZvciBUZXN0RGZz bUNhbGxiYWNrcyB7CiAgICAgKSAtPiBSZXN1bHQ8KGkzMiwgYm9vbCk+IHsKICAgICAgICAgLy8g VHJhY2sgdGhlIGJyb2FkY2FzdCBmb3IgdGVzdGluZwogICAgICAgICBsZXQgbXNnX2Rlc2MgPSBt YXRjaCAmbWVzc2FnZSB7Ci0gICAgICAgICAgICBGdXNlTWVzc2FnZTo6V3JpdGUgeyBwYXRoLCAu LiB9ID0+IGZvcm1hdCEoIndyaXRlOnt9IiwgcGF0aCksCi0gICAgICAgICAgICBGdXNlTWVzc2Fn ZTo6Q3JlYXRlIHsgcGF0aCB9ID0+IGZvcm1hdCEoImNyZWF0ZTp7fSIsIHBhdGgpLAotICAgICAg ICAgICAgRnVzZU1lc3NhZ2U6Ok1rZGlyIHsgcGF0aCB9ID0+IGZvcm1hdCEoIm1rZGlyOnt9Iiwg cGF0aCksCi0gICAgICAgICAgICBGdXNlTWVzc2FnZTo6RGVsZXRlIHsgcGF0aCB9ID0+IGZvcm1h dCEoImRlbGV0ZTp7fSIsIHBhdGgpLAotICAgICAgICAgICAgRnVzZU1lc3NhZ2U6OlJlbmFtZSB7 IGZyb20sIHRvIH0gPT4gZm9ybWF0ISgicmVuYW1lOnt94oaSe30iLCBmcm9tLCB0byksCisgICAg ICAgICAgICBGdXNlTWVzc2FnZTo6V3JpdGUgeyBwYXRoLCAuLiB9ID0+IGZvcm1hdCEoIndyaXRl OntwYXRofSIpLAorICAgICAgICAgICAgRnVzZU1lc3NhZ2U6OkNyZWF0ZSB7IHBhdGggfSA9PiBm b3JtYXQhKCJjcmVhdGU6e3BhdGh9IiksCisgICAgICAgICAgICBGdXNlTWVzc2FnZTo6TWtkaXIg eyBwYXRoIH0gPT4gZm9ybWF0ISgibWtkaXI6e3BhdGh9IiksCisgICAgICAgICAgICBGdXNlTWVz c2FnZTo6RGVsZXRlIHsgcGF0aCB9ID0+IGZvcm1hdCEoImRlbGV0ZTp7cGF0aH0iKSwKKyAgICAg ICAgICAgIEZ1c2VNZXNzYWdlOjpSZW5hbWUgeyBmcm9tLCB0byB9ID0+IGZvcm1hdCEoInJlbmFt ZTp7ZnJvbX3ihpJ7dG99IiksCiAgICAgICAgICAgICBfID0+ICJvdGhlciIudG9fc3RyaW5nKCks CiAgICAgICAgIH07CiAgICAgICAgIHNlbGYuYnJvYWRjYXN0cy5sb2NrKCkudW53cmFwKCkucHVz aChtc2dfZGVzYyk7CkBAIC0xMjEsNyArMTIxLDYgQEAgaW1wbCBDYWxsYmFja3M8RnVzZU1lc3Nh Z2U+IGZvciBUZXN0RGZzbUNhbGxiYWNrcyB7CiB9CiAKICNbdG9raW86OnRlc3QoZmxhdm9yID0g Im11bHRpX3RocmVhZCIsIHdvcmtlcl90aHJlYWRzID0gNCldCi0jW2lnbm9yZSA9ICJSZXF1aXJl cyBGVVNFIG1vdW50IHBlcm1pc3Npb25zICh1c2VyX2FsbG93X290aGVyIGluIC9ldGMvZnVzZS5j b25mKSJdCiBhc3luYyBmbiB0ZXN0X2Z1c2Vfd3JpdGVfdHJpZ2dlcnNfYnJvYWRjYXN0KCkgLT4g UmVzdWx0PCgpPiB7CiAgICAgbGV0IHRlbXBfZGlyID0gVGVtcERpcjo6bmV3KCk/OwogICAgIGxl dCBkYl9wYXRoID0gdGVtcF9kaXIucGF0aCgpLmpvaW4oInRlc3QuZGIiKTsKQEAgLTE2Miw3ICsx NjEsNyBAQCBhc3luYyBmbiB0ZXN0X2Z1c2Vfd3JpdGVfdHJpZ2dlcnNfYnJvYWRjYXN0KCkgLT4g UmVzdWx0PCgpPiB7CiAgICAgICAgICkKICAgICAgICAgLmF3YWl0CiAgICAgICAgIHsKLSAgICAg ICAgICAgIGVwcmludGxuISgiRlVTRSBtb3VudCBlcnJvcjoge30iLCBlKTsKKyAgICAgICAgICAg IGVwcmludGxuISgiRlVTRSBtb3VudCBlcnJvcjoge2V9Iik7CiAgICAgICAgIH0KICAgICB9KTsK IApkaWZmIC0tZ2l0IGEvc3JjL3BteGNmcy1ycy9wbXhjZnMvdGVzdHMvZnVzZV9pbnRlZ3JhdGlv bl90ZXN0LnJzIGIvc3JjL3BteGNmcy1ycy9wbXhjZnMvdGVzdHMvZnVzZV9pbnRlZ3JhdGlvbl90 ZXN0LnJzCmluZGV4IGM3NGVhZGU5Li4zNjViYTY0MiAxMDA2NDQKLS0tIGEvc3JjL3BteGNmcy1y cy9wbXhjZnMvdGVzdHMvZnVzZV9pbnRlZ3JhdGlvbl90ZXN0LnJzCisrKyBiL3NyYy9wbXhjZnMt cnMvcG14Y2ZzL3Rlc3RzL2Z1c2VfaW50ZWdyYXRpb25fdGVzdC5ycwpAQCAtNTAsNyArNTAsNiBA QCBmbiBjcmVhdGVfdGVzdF9jb25maWcoKSAtPiBBcmM8Q29uZmlnPiB7CiB9CiAKICNbdG9raW86 OnRlc3QoZmxhdm9yID0gIm11bHRpX3RocmVhZCIsIHdvcmtlcl90aHJlYWRzID0gNCldCi0jW2ln bm9yZSA9ICJSZXF1aXJlcyBGVVNFIG1vdW50IHBlcm1pc3Npb25zIChydW4gd2l0aCBzdWRvIG9y IGNvbmZpZ3VyZSAvZXRjL2Z1c2UuY29uZikiXQogYXN5bmMgZm4gdGVzdF9mdXNlX21vdW50X2Fu ZF9iYXNpY19vcGVyYXRpb25zKCkgLT4gUmVzdWx0PCgpPiB7CiAgICAgbGV0IHRlbXBfZGlyID0g VGVtcERpcjo6bmV3KCk/OwogICAgIGxldCBkYl9wYXRoID0gdGVtcF9kaXIucGF0aCgpLmpvaW4o InRlc3QuZGIiKTsKQEAgLTEwOSw3ICsxMDgsNyBAQCBhc3luYyBmbiB0ZXN0X2Z1c2VfbW91bnRf YW5kX2Jhc2ljX29wZXJhdGlvbnMoKSAtPiBSZXN1bHQ8KCk+IHsKICAgICAgICAgKQogICAgICAg ICAuYXdhaXQKICAgICAgICAgewotICAgICAgICAgICAgZXByaW50bG4hKCJGVVNFIG1vdW50IGVy cm9yOiB7fSIsIGUpOworICAgICAgICAgICAgZXByaW50bG4hKCJGVVNFIG1vdW50IGVycm9yOiB7 ZX0iKTsKICAgICAgICAgfQogICAgIH0pOwogCkBAIC0xMjcsNyArMTI2LDcgQEAgYXN5bmMgZm4g dGVzdF9mdXNlX21vdW50X2FuZF9iYXNpY19vcGVyYXRpb25zKCkgLT4gUmVzdWx0PCgpPiB7CiAg ICAgICAgIC5jb2xsZWN0KCk7CiAgICAgZW50cnlfbmFtZXMuc29ydCgpOwogCi0gICAgcHJpbnRs biEoIiAgIFJvb3QgZGlyZWN0b3J5IGVudHJpZXM6IHs6P30iLCBlbnRyeV9uYW1lcyk7CisgICAg cHJpbnRsbiEoIiAgIFJvb3QgZGlyZWN0b3J5IGVudHJpZXM6IHtlbnRyeV9uYW1lczo/fSIpOwog ICAgIGFzc2VydCEoCiAgICAgICAgIGVudHJ5X25hbWVzLmNvbnRhaW5zKCYidGVzdGRpciIudG9f c3RyaW5nKCkpLAogICAgICAgICAidGVzdGRpciBzaG91bGQgYmUgdmlzaWJsZSIKQEAgLTE0Myw3 ICsxNDIsNyBAQCBhc3luYyBmbiB0ZXN0X2Z1c2VfbW91bnRfYW5kX2Jhc2ljX29wZXJhdGlvbnMo KSAtPiBSZXN1bHQ8KCk+IHsKICAgICBsZXQgbXV0IGNvbnRlbnRzID0gU3RyaW5nOjpuZXcoKTsK ICAgICBmaWxlLnJlYWRfdG9fc3RyaW5nKCZtdXQgY29udGVudHMpPzsKICAgICBhc3NlcnRfZXEh KGNvbnRlbnRzLCAiSGVsbG8gZnJvbSBwbXhjZnMhIik7Ci0gICAgcHJpbnRsbiEoIiAgIFJlYWQ6 ICd7fSciLCBjb250ZW50cyk7CisgICAgcHJpbnRsbiEoIiAgIFJlYWQ6ICd7Y29udGVudHN9JyIp OwogCiAgICAgLy8gVGVzdCAzOiBXcml0ZSB0byBleGlzdGluZyBmaWxlCiAgICAgbGV0IG11dCBm aWxlID0gZnM6Ok9wZW5PcHRpb25zOjpuZXcoKQpAQCAtMTU4LDE4ICsxNTcsMTggQEAgYXN5bmMg Zm4gdGVzdF9mdXNlX21vdW50X2FuZF9iYXNpY19vcGVyYXRpb25zKCkgLT4gUmVzdWx0PCgpPiB7 CiAgICAgbGV0IG11dCBjb250ZW50cyA9IFN0cmluZzo6bmV3KCk7CiAgICAgZmlsZS5yZWFkX3Rv X3N0cmluZygmbXV0IGNvbnRlbnRzKT87CiAgICAgYXNzZXJ0X2VxIShjb250ZW50cywgIk1vZGlm aWVkIGNvbnRlbnQhIik7Ci0gICAgcHJpbnRsbiEoIiAgIEFmdGVyIHdyaXRlOiAne30nIiwgY29u dGVudHMpOworICAgIHByaW50bG4hKCIgICBBZnRlciB3cml0ZTogJ3tjb250ZW50c30nIik7CiAK ICAgICAvLyBUZXN0IDQ6IENyZWF0ZSBuZXcgZmlsZQogICAgIGxldCBuZXdfZmlsZV9wYXRoID0g bW91bnRfcGF0aC5qb2luKCJ0ZXN0ZGlyL25ld2ZpbGUudHh0Iik7Ci0gICAgZXByaW50bG4hKCJE RUJVRzogQWJvdXQgdG8gY3JlYXRlIGZpbGUgYXQgezo/fSIsIG5ld19maWxlX3BhdGgpOworICAg IGVwcmludGxuISgiREVCVUc6IEFib3V0IHRvIGNyZWF0ZSBmaWxlIGF0IHtuZXdfZmlsZV9wYXRo Oj99Iik7CiAgICAgbGV0IG11dCBuZXdfZmlsZSA9IG1hdGNoIGZzOjpGaWxlOjpjcmVhdGUoJm5l d19maWxlX3BhdGgpIHsKICAgICAgICAgT2soZikgPT4gewogICAgICAgICAgICAgZXByaW50bG4h KCJERUJVRzogRmlsZSBjcmVhdGVkIE9LIik7CiAgICAgICAgICAgICBmCiAgICAgICAgIH0KICAg ICAgICAgRXJyKGUpID0+IHsKLSAgICAgICAgICAgIGVwcmludGxuISgiREVCVUc6IEZpbGUgY3Jl YXRlIEZBSUxFRDogezo/fSIsIGUpOworICAgICAgICAgICAgZXByaW50bG4hKCJERUJVRzogRmls ZSBjcmVhdGUgRkFJTEVEOiB7ZTo/fSIpOwogICAgICAgICAgICAgcmV0dXJuIEVycihlLmludG8o KSk7CiAgICAgICAgIH0KICAgICB9OwpAQCAtMjAyLDcgKzIwMSw3IEBAIGFzeW5jIGZuIHRlc3Rf ZnVzZV9tb3VudF9hbmRfYmFzaWNfb3BlcmF0aW9ucygpIC0+IFJlc3VsdDwoKT4gewogICAgICAg ICAuY29sbGVjdCgpOwogICAgIGZpbGVfbmFtZXMuc29ydCgpOwogCi0gICAgcHJpbnRsbiEoIiAg IHRlc3RkaXIgZW50cmllczogezo/fSIsIGZpbGVfbmFtZXMpOworICAgIHByaW50bG4hKCIgICB0 ZXN0ZGlyIGVudHJpZXM6IHtmaWxlX25hbWVzOj99Iik7CiAgICAgYXNzZXJ0ISgKICAgICAgICAg ZmlsZV9uYW1lcy5jb250YWlucygmImZpbGUxLnR4dCIudG9fc3RyaW5nKCkpLAogICAgICAgICAi ZmlsZTEudHh0IHNob3VsZCBleGlzdCIKQEAgLTIzNywxNCArMjM2LDExIEBAIGFzeW5jIGZuIHRl c3RfZnVzZV9tb3VudF9hbmRfYmFzaWNfb3BlcmF0aW9ucygpIC0+IFJlc3VsdDwoKT4gewogICAg ICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBF cnIoZSkgPT4gewotICAgICAgICAgICAgICAgICAgICBwcmludGxuISgKLSAgICAgICAgICAgICAg ICAgICAgICAgICIgICDimqDvuI8gIFBsdWdpbiAne30nIGV4aXN0cyBidXQgbm90IHJlYWRhYmxl OiB7fSIsCi0gICAgICAgICAgICAgICAgICAgICAgICBwbHVnaW5fbmFtZSwgZQotICAgICAgICAg ICAgICAgICAgICApOworICAgICAgICAgICAgICAgICAgICBwcmludGxuISgiICAg4pqg77iPICBQ bHVnaW4gJ3twbHVnaW5fbmFtZX0nIGV4aXN0cyBidXQgbm90IHJlYWRhYmxlOiB7ZX0iKTsKICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAg ICAgICBwcmludGxuISgiICAg4oS577iPICBQbHVnaW4gJ3t9JyBub3QgcHJlc2VudCIsIHBsdWdp bl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50bG4hKCIgICDihLnvuI8gIFBsdWdpbiAne3BsdWdp bl9uYW1lfScgbm90IHByZXNlbnQiKTsKICAgICAgICAgfQogICAgIH0KIApAQCAtMjkyLDcgKzI4 OCw2IEBAIGFzeW5jIGZuIHRlc3RfZnVzZV9tb3VudF9hbmRfYmFzaWNfb3BlcmF0aW9ucygpIC0+ IFJlc3VsdDwoKT4gewogfQogCiAjW3Rva2lvOjp0ZXN0KGZsYXZvciA9ICJtdWx0aV90aHJlYWQi LCB3b3JrZXJfdGhyZWFkcyA9IDQpXQotI1tpZ25vcmUgPSAiUmVxdWlyZXMgRlVTRSBtb3VudCBw ZXJtaXNzaW9ucyAocnVuIHdpdGggc3VkbyBvciBjb25maWd1cmUgL2V0Yy9mdXNlLmNvbmYpIl0K IGFzeW5jIGZuIHRlc3RfZnVzZV9jb25jdXJyZW50X29wZXJhdGlvbnMoKSAtPiBSZXN1bHQ8KCk+ IHsKICAgICBsZXQgdGVtcF9kaXIgPSBUZW1wRGlyOjpuZXcoKT87CiAgICAgbGV0IGRiX3BhdGgg PSB0ZW1wX2Rpci5wYXRoKCkuam9pbigidGVzdC5kYiIpOwpAQCAtMzM3LDkgKzMzMiw5IEBAIGFz eW5jIGZuIHRlc3RfZnVzZV9jb25jdXJyZW50X29wZXJhdGlvbnMoKSAtPiBSZXN1bHQ8KCk+IHsK ICAgICBmb3IgaSBpbiAwLi41IHsKICAgICAgICAgbGV0IG1vdW50ID0gbW91bnRfcGF0aC5jbG9u ZSgpOwogICAgICAgICBsZXQgdGFzayA9IHRva2lvOjp0YXNrOjpzcGF3bl9ibG9ja2luZyhtb3Zl IHx8IC0+IFJlc3VsdDwoKT4gewotICAgICAgICAgICAgbGV0IGZpbGVfcGF0aCA9IG1vdW50Lmpv aW4oZm9ybWF0ISgidGVzdGRpci9maWxle30udHh0IiwgaSkpOworICAgICAgICAgICAgbGV0IGZp bGVfcGF0aCA9IG1vdW50LmpvaW4oZm9ybWF0ISgidGVzdGRpci9maWxle2l9LnR4dCIpKTsKICAg ICAgICAgICAgIGxldCBtdXQgZmlsZSA9IGZzOjpGaWxlOjpjcmVhdGUoJmZpbGVfcGF0aCk/Owot ICAgICAgICAgICAgZmlsZS53cml0ZV9hbGwoZm9ybWF0ISgiQ29udGVudCB7fSIsIGkpLmFzX2J5 dGVzKCkpPzsKKyAgICAgICAgICAgIGZpbGUud3JpdGVfYWxsKGZvcm1hdCEoIkNvbnRlbnQge2l9 IikuYXNfYnl0ZXMoKSk/OwogICAgICAgICAgICAgT2soKCkpCiAgICAgICAgIH0pOwogICAgICAg ICB0YXNrcy5wdXNoKHRhc2spOwpAQCAtMzUyLDExICszNDcsMTEgQEAgYXN5bmMgZm4gdGVzdF9m dXNlX2NvbmN1cnJlbnRfb3BlcmF0aW9ucygpIC0+IFJlc3VsdDwoKT4gewogCiAgICAgLy8gUmVh ZCBhbGwgZmlsZXMgYW5kIHZlcmlmeQogICAgIGZvciBpIGluIDAuLjUgewotICAgICAgICBsZXQg ZmlsZV9wYXRoID0gbW91bnRfcGF0aC5qb2luKGZvcm1hdCEoInRlc3RkaXIvZmlsZXt9LnR4dCIs IGkpKTsKKyAgICAgICAgbGV0IGZpbGVfcGF0aCA9IG1vdW50X3BhdGguam9pbihmb3JtYXQhKCJ0 ZXN0ZGlyL2ZpbGV7aX0udHh0IikpOwogICAgICAgICBsZXQgbXV0IGZpbGUgPSBmczo6RmlsZTo6 b3BlbigmZmlsZV9wYXRoKT87CiAgICAgICAgIGxldCBtdXQgY29udGVudHMgPSBTdHJpbmc6Om5l dygpOwogICAgICAgICBmaWxlLnJlYWRfdG9fc3RyaW5nKCZtdXQgY29udGVudHMpPzsKLSAgICAg ICAgYXNzZXJ0X2VxIShjb250ZW50cywgZm9ybWF0ISgiQ29udGVudCB7fSIsIGkpKTsKKyAgICAg ICAgYXNzZXJ0X2VxIShjb250ZW50cywgZm9ybWF0ISgiQ29udGVudCB7aX0iKSk7CiAgICAgfQog CiAgICAgLy8gQ2xlYW51cApAQCAtMzcxLDcgKzM2Niw2IEBAIGFzeW5jIGZuIHRlc3RfZnVzZV9j b25jdXJyZW50X29wZXJhdGlvbnMoKSAtPiBSZXN1bHQ8KCk+IHsKIH0KIAogI1t0b2tpbzo6dGVz dChmbGF2b3IgPSAibXVsdGlfdGhyZWFkIiwgd29ya2VyX3RocmVhZHMgPSA0KV0KLSNbaWdub3Jl ID0gIlJlcXVpcmVzIEZVU0UgbW91bnQgcGVybWlzc2lvbnMgKHJ1biB3aXRoIHN1ZG8gb3IgY29u ZmlndXJlIC9ldGMvZnVzZS5jb25mKSJdCiBhc3luYyBmbiB0ZXN0X2Z1c2VfZXJyb3JfaGFuZGxp bmcoKSAtPiBSZXN1bHQ8KCk+IHsKICAgICBsZXQgdGVtcF9kaXIgPSBUZW1wRGlyOjpuZXcoKT87 CiAgICAgbGV0IGRiX3BhdGggPSB0ZW1wX2Rpci5wYXRoKCkuam9pbigidGVzdC5kYiIpOwpkaWZm IC0tZ2l0IGEvc3JjL3BteGNmcy1ycy9wbXhjZnMvdGVzdHMvZnVzZV9sb2Nrc190ZXN0LnJzIGIv c3JjL3BteGNmcy1ycy9wbXhjZnMvdGVzdHMvZnVzZV9sb2Nrc190ZXN0LnJzCmluZGV4IGVmNDM4 MzExLi42YTM4OGQ5MiAxMDA2NDQKLS0tIGEvc3JjL3BteGNmcy1ycy9wbXhjZnMvdGVzdHMvZnVz ZV9sb2Nrc190ZXN0LnJzCisrKyBiL3NyYy9wbXhjZnMtcnMvcG14Y2ZzL3Rlc3RzL2Z1c2VfbG9j a3NfdGVzdC5ycwpAQCAtNTEsNyArNTEsNiBAQCBmbiBjcmVhdGVfdGVzdF9jb25maWcoKSAtPiBB cmM8Q29uZmlnPiB7CiB9CiAKICNbdG9raW86OnRlc3QoZmxhdm9yID0gIm11bHRpX3RocmVhZCIs IHdvcmtlcl90aHJlYWRzID0gNCldCi0jW2lnbm9yZSA9ICJSZXF1aXJlcyBGVVNFIG1vdW50IHBl cm1pc3Npb25zIChydW4gd2l0aCBzdWRvIG9yIGNvbmZpZ3VyZSAvZXRjL2Z1c2UuY29uZikiXQog YXN5bmMgZm4gdGVzdF9sb2NrX2NyZWF0aW9uX2FuZF9hY2Nlc3MoKSAtPiBSZXN1bHQ8KCk+IHsK ICAgICBsZXQgdGVtcF9kaXIgPSBUZW1wRGlyOjpuZXcoKT87CiAgICAgbGV0IGRiX3BhdGggPSB0 ZW1wX2Rpci5wYXRoKCkuam9pbigidGVzdC5kYiIpOwpAQCAtMTM5LDcgKzEzOCw2IEBAIGFzeW5j IGZuIHRlc3RfbG9ja19jcmVhdGlvbl9hbmRfYWNjZXNzKCkgLT4gUmVzdWx0PCgpPiB7CiB9CiAK ICNbdG9raW86OnRlc3QoZmxhdm9yID0gIm11bHRpX3RocmVhZCIsIHdvcmtlcl90aHJlYWRzID0g NCldCi0jW2lnbm9yZSA9ICJSZXF1aXJlcyBGVVNFIG1vdW50IHBlcm1pc3Npb25zIChydW4gd2l0 aCBzdWRvIG9yIGNvbmZpZ3VyZSAvZXRjL2Z1c2UuY29uZikiXQogYXN5bmMgZm4gdGVzdF9sb2Nr X3JlbmV3YWxfdmlhX210aW1lX3VwZGF0ZSgpIC0+IFJlc3VsdDwoKT4gewogICAgIGxldCB0ZW1w X2RpciA9IFRlbXBEaXI6Om5ldygpPzsKICAgICBsZXQgZGJfcGF0aCA9IHRlbXBfZGlyLnBhdGgo KS5qb2luKCJ0ZXN0LmRiIik7CkBAIC0xODcsNyArMTg1LDcgQEAgYXN5bmMgZm4gdGVzdF9sb2Nr X3JlbmV3YWxfdmlhX210aW1lX3VwZGF0ZSgpIC0+IFJlc3VsdDwoKT4gewogICAgIC8vIEdldCBp bml0aWFsIG1ldGFkYXRhCiAgICAgbGV0IG1ldGFkYXRhMSA9IGZzOjptZXRhZGF0YSgmbG9ja19w YXRoKT87CiAgICAgbGV0IG10aW1lMSA9IG1ldGFkYXRhMS5tdGltZSgpOwotICAgIHByaW50bG4h KCIgIEluaXRpYWwgbXRpbWU6IHt9IiwgbXRpbWUxKTsKKyAgICBwcmludGxuISgiICBJbml0aWFs IG10aW1lOiB7bXRpbWUxfSIpOwogCiAgICAgLy8gV2FpdCBhIG1vbWVudAogICAgIHRva2lvOjp0 aW1lOjpzbGVlcChEdXJhdGlvbjo6ZnJvbV9taWxsaXMoMTAwKSkuYXdhaXQ7CkBAIC0yMDIsNyAr MjAwLDcgQEAgYXN5bmMgZm4gdGVzdF9sb2NrX3JlbmV3YWxfdmlhX210aW1lX3VwZGF0ZSgpIC0+ IFJlc3VsdDwoKT4gewogICAgIC8vIFZlcmlmeSBtdGltZSB3YXMgdXBkYXRlZAogICAgIGxldCBt ZXRhZGF0YTIgPSBmczo6bWV0YWRhdGEoJmxvY2tfcGF0aCk/OwogICAgIGxldCBtdGltZTIgPSBt ZXRhZGF0YTIubXRpbWUoKTsKLSAgICBwcmludGxuISgiICBVcGRhdGVkIG10aW1lOiB7fSIsIG10 aW1lMik7CisgICAgcHJpbnRsbiEoIiAgVXBkYXRlZCBtdGltZToge210aW1lMn0iKTsKIAogICAg IC8vIE5vdGU6IER1ZSB0byBmaWxlc3lzdGVtIHRpbWVzdGFtcCBncmFudWxhcml0eSwgd2UganVz dCB2ZXJpZnkgdGhlIG9wZXJhdGlvbiBzdWNjZWVkZWQKICAgICAvLyBUaGUgYWN0dWFsIGxvY2sg cmVuZXdhbCBsb2dpYyBpcyB0ZXN0ZWQgYXQgdGhlIG1lbWRiIGxldmVsCkBAIC0yMjEsNyArMjE5 LDYgQEAgYXN5bmMgZm4gdGVzdF9sb2NrX3JlbmV3YWxfdmlhX210aW1lX3VwZGF0ZSgpIC0+IFJl c3VsdDwoKT4gewogfQogCiAjW3Rva2lvOjp0ZXN0KGZsYXZvciA9ICJtdWx0aV90aHJlYWQiLCB3 b3JrZXJfdGhyZWFkcyA9IDQpXQotI1tpZ25vcmUgPSAiUmVxdWlyZXMgRlVTRSBtb3VudCBwZXJt aXNzaW9ucyAocnVuIHdpdGggc3VkbyBvciBjb25maWd1cmUgL2V0Yy9mdXNlLmNvbmYpIl0KIGFz eW5jIGZuIHRlc3RfbG9ja191bmxvY2tfdmlhX210aW1lX3plcm8oKSAtPiBSZXN1bHQ8KCk+IHsK ICAgICBsZXQgdGVtcF9kaXIgPSBUZW1wRGlyOjpuZXcoKT87CiAgICAgbGV0IGRiX3BhdGggPSB0 ZW1wX2Rpci5wYXRoKCkuam9pbigidGVzdC5kYiIpOwpAQCAtMzA1LDcgKzMwMiw2IEBAIGFzeW5j IGZuIHRlc3RfbG9ja191bmxvY2tfdmlhX210aW1lX3plcm8oKSAtPiBSZXN1bHQ8KCk+IHsKIH0K IAogI1t0b2tpbzo6dGVzdChmbGF2b3IgPSAibXVsdGlfdGhyZWFkIiwgd29ya2VyX3RocmVhZHMg PSA0KV0KLSNbaWdub3JlID0gIlJlcXVpcmVzIEZVU0UgbW91bnQgcGVybWlzc2lvbnMgKHJ1biB3 aXRoIHN1ZG8gb3IgY29uZmlndXJlIC9ldGMvZnVzZS5jb25mKSJdCiBhc3luYyBmbiB0ZXN0X211 bHRpcGxlX2xvY2tzKCkgLT4gUmVzdWx0PCgpPiB7CiAgICAgbGV0IHRlbXBfZGlyID0gVGVtcERp cjo6bmV3KCk/OwogICAgIGxldCBkYl9wYXRoID0gdGVtcF9kaXIucGF0aCgpLmpvaW4oInRlc3Qu ZGIiKTsKQEAgLTM0OSw5ICszNDUsOSBAQCBhc3luYyBmbiB0ZXN0X211bHRpcGxlX2xvY2tzKCkg LT4gUmVzdWx0PCgpPiB7CiAgICAgbGV0IGxvY2tfbmFtZXMgPSB2ZWMhWyJ2bS0xMDAtZGlzay0w IiwgInZtLTEwMS1kaXNrLTAiLCAidm0tMTAyLWRpc2stMCJdOwogCiAgICAgZm9yIG5hbWUgaW4g JmxvY2tfbmFtZXMgewotICAgICAgICBsZXQgbG9ja19wYXRoID0gbW91bnRfcGF0aC5qb2luKGZv cm1hdCEoInByaXYvbG9jay97fSIsIG5hbWUpKTsKKyAgICAgICAgbGV0IGxvY2tfcGF0aCA9IG1v dW50X3BhdGguam9pbihmb3JtYXQhKCJwcml2L2xvY2sve25hbWV9IikpOwogICAgICAgICBmczo6 Y3JlYXRlX2RpcigmbG9ja19wYXRoKT87Ci0gICAgICAgIHByaW50bG4hKCLinJMgTG9jayAne30n IGNyZWF0ZWQiLCBuYW1lKTsKKyAgICAgICAgcHJpbnRsbiEoIuKckyBMb2NrICd7bmFtZX0nIGNy ZWF0ZWQiKTsKICAgICB9CiAKICAgICAvLyBWZXJpZnkgYWxsIGxvY2tzIGV4aXN0CkBAIC0zNjMs MjAgKzM1OSwxOCBAQCBhc3luYyBmbiB0ZXN0X211bHRpcGxlX2xvY2tzKCkgLT4gUmVzdWx0PCgp PiB7CiAgICAgZm9yIG5hbWUgaW4gJmxvY2tfbmFtZXMgewogICAgICAgICBhc3NlcnQhKAogICAg ICAgICAgICAgbG9ja19kaXJfZW50cmllcy5jb250YWlucygmbmFtZS50b19zdHJpbmcoKSksCi0g ICAgICAgICAgICAiTG9jayAne30nIHNob3VsZCBiZSBpbiBkaXJlY3RvcnkgbGlzdGluZyIsCi0g ICAgICAgICAgICBuYW1lCisgICAgICAgICAgICAiTG9jayAne25hbWV9JyBzaG91bGQgYmUgaW4g ZGlyZWN0b3J5IGxpc3RpbmciCiAgICAgICAgICk7CiAgICAgICAgIGFzc2VydCEoCi0gICAgICAg ICAgICBtZW1kYi5leGlzdHMoJmZvcm1hdCEoIi9wcml2L2xvY2sve30iLCBuYW1lKSk/LAotICAg ICAgICAgICAgIkxvY2sgJ3t9JyBzaG91bGQgZXhpc3QgaW4gbWVtZGIiLAotICAgICAgICAgICAg bmFtZQorICAgICAgICAgICAgbWVtZGIuZXhpc3RzKCZmb3JtYXQhKCIvcHJpdi9sb2NrL3tuYW1l fSIpKT8sCisgICAgICAgICAgICAiTG9jayAne25hbWV9JyBzaG91bGQgZXhpc3QgaW4gbWVtZGIi CiAgICAgICAgICk7CiAgICAgfQogICAgIHByaW50bG4hKCLinJMgQWxsIGxvY2tzIGFjY2Vzc2li bGUiKTsKIAogICAgIC8vIENsZWFudXAKICAgICBmb3IgbmFtZSBpbiAmbG9ja19uYW1lcyB7Ci0g ICAgICAgIGxldCBsb2NrX3BhdGggPSBtb3VudF9wYXRoLmpvaW4oZm9ybWF0ISgicHJpdi9sb2Nr L3t9IiwgbmFtZSkpOworICAgICAgICBsZXQgbG9ja19wYXRoID0gbW91bnRfcGF0aC5qb2luKGZv cm1hdCEoInByaXYvbG9jay97bmFtZX0iKSk7CiAgICAgICAgIGZzOjpyZW1vdmVfZGlyKCZsb2Nr X3BhdGgpPzsKICAgICB9CiAKZGlmZiAtLWdpdCBhL3NyYy9wbXhjZnMtcnMvcG14Y2ZzL3Rlc3Rz L3F1b3J1bV9iZWhhdmlvci5ycyBiL3NyYy9wbXhjZnMtcnMvcG14Y2ZzL3Rlc3RzL3F1b3J1bV9i ZWhhdmlvci5ycwppbmRleCBkMzk3YWQwOS4uZTUwMzU5OTYgMTAwNjQ0Ci0tLSBhL3NyYy9wbXhj ZnMtcnMvcG14Y2ZzL3Rlc3RzL3F1b3J1bV9iZWhhdmlvci5ycworKysgYi9zcmMvcG14Y2ZzLXJz L3BteGNmcy90ZXN0cy9xdW9ydW1fYmVoYXZpb3IucnMKQEAgLTIzNSw4ICsyMzUsNyBAQCBmbiB0 ZXN0X3BsdWdpbl9yZWdpc3RyeV9jb21wbGV0ZW5lc3MoKSAtPiBSZXN1bHQ8KCk+IHsKICAgICBm b3IgcGx1Z2luX25hbWUgaW4gZXhwZWN0ZWRfcGx1Z2lucyB7CiAgICAgICAgIGFzc2VydCEoCiAg ICAgICAgICAgICBwbHVnaW5fbGlzdC5jb250YWlucygmcGx1Z2luX25hbWUudG9fc3RyaW5nKCkp LAotICAgICAgICAgICAgIlBsdWdpbiByZWdpc3RyeSBzaG91bGQgY29udGFpbiB7fSIsCi0gICAg ICAgICAgICBwbHVnaW5fbmFtZQorICAgICAgICAgICAgIlBsdWdpbiByZWdpc3RyeSBzaG91bGQg Y29udGFpbiB7cGx1Z2luX25hbWV9IgogICAgICAgICApOwogICAgIH0KIApkaWZmIC0tZ2l0IGEv c3JjL3BteGNmcy1ycy9wbXhjZnMvdGVzdHMvc2luZ2xlX25vZGVfZnVuY3Rpb25hbC5ycyBiL3Ny Yy9wbXhjZnMtcnMvcG14Y2ZzL3Rlc3RzL3NpbmdsZV9ub2RlX2Z1bmN0aW9uYWwucnMKaW5kZXgg NzYzMDIwZDYuLjM3NTFmYWY5IDEwMDY0NAotLS0gYS9zcmMvcG14Y2ZzLXJzL3BteGNmcy90ZXN0 cy9zaW5nbGVfbm9kZV9mdW5jdGlvbmFsLnJzCisrKyBiL3NyYy9wbXhjZnMtcnMvcG14Y2ZzL3Rl c3RzL3NpbmdsZV9ub2RlX2Z1bmN0aW9uYWwucnMKQEAgLTE5MywxMCArMTkzLDcgQEAgYXN5bmMg Zm4gdGVzdF9zaW5nbGVfbm9kZV93b3JrZmxvdygpIC0+IFJlc3VsdDwoKT4gewogICAgIHN0YXR1 cwogICAgICAgICAuc2V0X3JyZF9kYXRhKAogICAgICAgICAgICAgInB2ZTItbm9kZS9sb2NhbGhv c3QiLnRvX3N0cmluZygpLAotICAgICAgICAgICAgZm9ybWF0ISgKLSAgICAgICAgICAgICAgICAi e306MDoxLjU6NDo0NS41OjIuMTo4MDAwMDAwMDAwOjYwMDAwMDAwMDA6MDowOjA6MDoxMDAwMDAw OjUwMDAwMCIsCi0gICAgICAgICAgICAgICAgbm93Ci0gICAgICAgICAgICApLAorICAgICAgICAg ICAgZm9ybWF0ISgie25vd306MDoxLjU6NDo0NS41OjIuMTo4MDAwMDAwMDAwOjYwMDAwMDAwMDA6 MDowOjA6MDoxMDAwMDAwOjUwMDAwMCIpLAogICAgICAgICApCiAgICAgICAgIC5hd2FpdD87CiAK QEAgLTI4NSw3ICsyODIsNyBAQCBhc3luYyBmbiB0ZXN0X3NpbmdsZV9ub2RlX3dvcmtmbG93KCkg LT4gUmVzdWx0PCgpPiB7CiAgICAgcHJpbnRsbiEoIlxuRGF0YWJhc2UgU3RhdGlzdGljczoiKTsK ICAgICBwcmludGxuISgiICDigKIgVG90YWwgZW50cmllczoge30iLCBhbGxfZW50cmllcy5sZW4o KSk7CiAgICAgcHJpbnRsbiEoIiAg4oCiIFZNcy9DVHMgdHJhY2tlZDoge30iLCB2bWxpc3QubGVu KCkpOwotICAgIHByaW50bG4hKCIgIOKAoiBSUkQgZW50cmllczoge30iLCBudW1fZW50cmllcyk7 CisgICAgcHJpbnRsbiEoIiAg4oCiIFJSRCBlbnRyaWVzOiB7bnVtX2VudHJpZXN9Iik7CiAgICAg cHJpbnRsbiEoIiAg4oCiIENsdXN0ZXIgbG9nIGVudHJpZXM6IDEiKTsKICAgICBwcmludGxuISgK ICAgICAgICAgIiAg4oCiIERhdGFiYXNlIHNpemU6IHt9IGJ5dGVzIiwKQEAgLTMyMyw3ICszMjAs NyBAQCBhc3luYyBmbiB0ZXN0X3JlYWxpc3RpY193b3JrZmxvdygpIC0+IFJlc3VsdDwoKT4gewog ICAgIGFzc2VydCEoIXN0YXR1cy52bV9leGlzdHModm1pZCkpOwogCiAgICAgLy8gMi4gQWNxdWly ZSBsb2NrIGZvciBWTSBjcmVhdGlvbgotICAgIGxldCBsb2NrX3BhdGggPSBmb3JtYXQhKCIvcHJp di9sb2NrL3FlbXUtc2VydmVyL3t9LmNvbmYiLCB2bWlkKTsKKyAgICBsZXQgbG9ja19wYXRoID0g Zm9ybWF0ISgiL3ByaXYvbG9jay9xZW11LXNlcnZlci97dm1pZH0uY29uZiIpOwogICAgIGxldCBj c3VtID0gWzF1ODsgMzJdOwogCiAgICAgLy8gQ3JlYXRlIGxvY2sgZGlyZWN0b3JpZXMgZmlyc3QK QEAgLTMzNCwxMiArMzMxLDkgQEAgYXN5bmMgZm4gdGVzdF9yZWFsaXN0aWNfd29ya2Zsb3coKSAt PiBSZXN1bHQ8KCk+IHsKICAgICBkYi5hY3F1aXJlX2xvY2soJmxvY2tfcGF0aCwgJmNzdW0pPzsK IAogICAgIC8vIDMuIENyZWF0ZSBWTSBjb25maWd1cmF0aW9uCi0gICAgbGV0IGNvbmZpZ19wYXRo ID0gZm9ybWF0ISgiL3FlbXUtc2VydmVyL3t9LmNvbmYiLCB2bWlkKTsKKyAgICBsZXQgY29uZmln X3BhdGggPSBmb3JtYXQhKCIvcWVtdS1zZXJ2ZXIve3ZtaWR9LmNvbmYiKTsKICAgICBkYi5jcmVh dGUoIi9xZW11LXNlcnZlciIsIGxpYmM6OlNfSUZESVIsIG5vdykub2soKTsgLy8gTWF5IGFscmVh ZHkgZXhpc3QKLSAgICBsZXQgdm1fY29uZmlnID0gZm9ybWF0ISgKLSAgICAgICAgIm5hbWU6IHRl c3Qtdm0te31cbmNvcmVzOiA0XG5tZW1vcnk6IDQwOTZcbmJvb3RkaXNrOiBzY3NpMFxuIiwKLSAg ICAgICAgdm1pZAotICAgICk7CisgICAgbGV0IHZtX2NvbmZpZyA9IGZvcm1hdCEoIm5hbWU6IHRl c3Qtdm0te3ZtaWR9XG5jb3JlczogNFxubWVtb3J5OiA0MDk2XG5ib290ZGlzazogc2NzaTBcbiIp OwogICAgIGRiLmNyZWF0ZSgmY29uZmlnX3BhdGgsIGxpYmM6OlNfSUZSRUcsIG5vdyk/OwogICAg IGRiLndyaXRlKCZjb25maWdfcGF0aCwgMCwgbm93LCB2bV9jb25maWcuYXNfYnl0ZXMoKSwgZmFs c2UpPzsKIApkaWZmIC0tZ2l0IGEvc3JjL3BteGNmcy1ycy9wbXhjZnMvdGVzdHMvc3ltbGlua19x dW9ydW1fdGVzdC5ycyBiL3NyYy9wbXhjZnMtcnMvcG14Y2ZzL3Rlc3RzL3N5bWxpbmtfcXVvcnVt X3Rlc3QucnMKaW5kZXggNmIzZTVjZGUuLmE4YzdlM2U4IDEwMDY0NAotLS0gYS9zcmMvcG14Y2Zz LXJzL3BteGNmcy90ZXN0cy9zeW1saW5rX3F1b3J1bV90ZXN0LnJzCisrKyBiL3NyYy9wbXhjZnMt cnMvcG14Y2ZzL3Rlc3RzL3N5bWxpbmtfcXVvcnVtX3Rlc3QucnMKQEAgLTIxLDcgKzIxLDYgQEAg Zm4gY3JlYXRlX3Rlc3RfY29uZmlnKCkgLT4gc3RkOjpzeW5jOjpBcmM8cG14Y2ZzX2NvbmZpZzo6 Q29uZmlnPiB7CiB9CiAKICNbdG9raW86OnRlc3RdCi0jW2lnbm9yZSA9ICJSZXF1aXJlcyBGVVNF IG1vdW50IHBlcm1pc3Npb25zIChydW4gd2l0aCBzdWRvIG9yIGNvbmZpZ3VyZSAvZXRjL2Z1c2Uu Y29uZikiXQogYXN5bmMgZm4gdGVzdF9zeW1saW5rX3Blcm1pc3Npb25zX3dpdGhfcXVvcnVtKCkg LT4gUmVzdWx0PCgpLCBCb3g8ZHluIHN0ZDo6ZXJyb3I6OkVycm9yPj4gewogICAgIGxldCB0ZXN0 X2RpciA9IFRlbXBEaXI6Om5ldygpPzsKICAgICBsZXQgZGJfcGF0aCA9IHRlc3RfZGlyLnBhdGgo KS5qb2luKCJ0ZXN0LmRiIik7CkBAIC01Niw3ICs1NSw3IEBAIGFzeW5jIGZuIHRlc3Rfc3ltbGlu a19wZXJtaXNzaW9uc193aXRoX3F1b3J1bSgpIC0+IFJlc3VsdDwoKSwgQm94PGR5biBzdGQ6OmVy cm9yCiAgICAgICAgICkKICAgICAgICAgLmF3YWl0CiAgICAgICAgIHsKLSAgICAgICAgICAgIGVw cmludGxuISgiRlVTRSBtb3VudCBlcnJvcjoge30iLCBlKTsKKyAgICAgICAgICAgIGVwcmludGxu ISgiRlVTRSBtb3VudCBlcnJvcjoge2V9Iik7CiAgICAgICAgIH0KICAgICB9KTsKIApAQCAtNzMs NyArNzIsNyBAQCBhc3luYyBmbiB0ZXN0X3N5bWxpbmtfcGVybWlzc2lvbnNfd2l0aF9xdW9ydW0o KSAtPiBSZXN1bHQ8KCksIEJveDxkeW4gc3RkOjplcnJvcgogICAgICAgICAgICAgdXNlIHN0ZDo6 b3M6OnVuaXg6OmZzOjpQZXJtaXNzaW9uc0V4dDsKICAgICAgICAgICAgIGxldCBtb2RlID0gcGVy bWlzc2lvbnMubW9kZSgpOwogICAgICAgICAgICAgbGV0IGxpbmtfcGVybXMgPSBtb2RlICYgMG83 Nzc7Ci0gICAgICAgICAgICBwcmludGxuISgiICAgTGluayAnbG9jYWwnIHBlcm1pc3Npb25zOiB7 OjA0b30iLCBsaW5rX3Blcm1zKTsKKyAgICAgICAgICAgIHByaW50bG4hKCIgICBMaW5rICdsb2Nh bCcgcGVybWlzc2lvbnM6IHtsaW5rX3Blcm1zOjA0b30iKTsKICAgICAgICAgICAgIC8vIE5vdGU6 IE9uIG1vc3Qgc3lzdGVtcywgc3ltbGluayBwZXJtaXNzaW9ucyBhcmUgYWx3YXlzIDA3NzcKICAg ICAgICAgICAgIC8vIFRoaXMgdGVzdCBtYWlubHkgZW5zdXJlcyB0aGUgY29kZSBwYXRoIHdvcmtz IGNvcnJlY3RseQogICAgICAgICB9CkBAIC0xMTcsNyArMTE2LDcgQEAgYXN5bmMgZm4gdGVzdF9z eW1saW5rX3Blcm1pc3Npb25zX3dpdGhfcXVvcnVtKCkgLT4gUmVzdWx0PCgpLCBCb3g8ZHluIHN0 ZDo6ZXJyb3IKICAgICAgICAgICAgIHVzZSBzdGQ6Om9zOjp1bml4Ojpmczo6UGVybWlzc2lvbnNF eHQ7CiAgICAgICAgICAgICBsZXQgbW9kZSA9IHBlcm1pc3Npb25zLm1vZGUoKTsKICAgICAgICAg ICAgIGxldCBsaW5rX3Blcm1zID0gbW9kZSAmIDBvNzc3OwotICAgICAgICAgICAgcHJpbnRsbiEo IiAgIExpbmsgJ2xvY2FsJyBwZXJtaXNzaW9uczogezowNG99IiwgbGlua19wZXJtcyk7CisgICAg ICAgICAgICBwcmludGxuISgiICAgTGluayAnbG9jYWwnIHBlcm1pc3Npb25zOiB7bGlua19wZXJt czowNG99Iik7CiAgICAgICAgIH0KICAgICB9IGVsc2UgewogICAgICAgICBwcmludGxuISgiICAg 4pqg77iPICBTeW1saW5rICdsb2NhbCcgbm90IHZpc2libGUgKG1heSBiZSBhIEZVU0UgbW91bnRp bmcgaXNzdWUpIik7Ci0tIAoyLjQ3LjMKCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KcHZlLWRldmVsIG1haWxpbmcgbGlzdApwdmUtZGV2ZWxAbGlzdHMu cHJveG1veC5jb20KaHR0cHM6Ly9saXN0cy5wcm94bW94LmNvbS9jZ2ktYmluL21haWxtYW4vbGlz dGluZm8vcHZlLWRldmVsCg==