From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <pve-devel-bounces@lists.proxmox.com> Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 92D3E1FF15C for <inbox@lore.proxmox.com>; Wed, 5 Mar 2025 16:36:04 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id BFC2819C3B; Wed, 5 Mar 2025 16:35:58 +0100 (CET) Message-ID: <e51497ff-4ec0-4e4e-904e-c8cf75b96edc@proxmox.com> Date: Wed, 5 Mar 2025 16:35:23 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>, Philipp Giersfeld <philipp.giersfeld@canarybit.eu> References: <20250224123714.2662460-1-philipp.giersfeld@canarybit.eu> <20250224123714.2662460-5-philipp.giersfeld@canarybit.eu> Content-Language: en-US From: Fiona Ebner <f.ebner@proxmox.com> In-Reply-To: <20250224123714.2662460-5-philipp.giersfeld@canarybit.eu> X-SPAM-LEVEL: Spam detection results: 0 AWL -0.043 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 KAM_SHORT 0.001 Use of a URL Shortener for very short URL SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: Re: [pve-devel] [PATCH qemu-server v3 4/5] config: add AMD SEV-SNP support. X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com> List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe> List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/> List-Post: <mailto:pve-devel@lists.proxmox.com> List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help> List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe> Reply-To: Proxmox VE development discussion <pve-devel@lists.proxmox.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" <pve-devel-bounces@lists.proxmox.com> QW0gMjQuMDIuMjUgdW0gMTM6Mzcgc2NocmllYiBQaGlsaXBwIEdpZXJzZmVsZDoKPiBUaGlzIHBh dGNoIGlzIGZvciBlbmFibGluZyBBTUQgU0VWLVNOUCBzdXBwb3J0Lgo+IAo+IFdoZXJlIGFwcGxp Y2FibGUsIGl0IGV4dGVuZHMgc3VwcG9ydCBmb3IgZXhpc3RpbmcgU0VWKC1FUykgdmFyaWFibGVz Cj4gdG8gU0VWLVNOUC4gVGhpcyBtZWFucyB0aGF0IGl0IHJldGFpbnMgbm8tZGVidWcgYW5kIGtl cm5lbC1oYXNoZXMKPiBvcHRpb25zLCBidXQgdGhlIG5vLWtleS1zaGFyaW5nIG9wdGlvbiBpcyBy ZW1vdmVkLgo+IAo+IFRoZSBkZWZhdWx0IHBvbGljeSB2YWx1ZSBpcyBpZGVudGljYWwgdG8gUUVN VeKAmXMsIGFuZCB0aGUgdGhlcmVmb3JlCj4gcmVxdWlyZWQgb3B0aW9uIGhhcyBiZWVuIGFkZGVk IHRvIGNvbmZpZ3VyZSBTTVQgc3VwcG9ydC4KPiAKPiBUaGUgY29kZSB3YXMgdGVzdGVkIGJ5IHJ1 bm5pbmcgYSBWTSB3aXRob3V0IFNFViwgd2l0aCBTRVYsIFNFVi1FUywKPiBTRVYtU05QLiBFYWNo IGNvbmZpZ3VyYXRpb24gd2FzIHRlc3RlZCB3aXRoIGFuZCB3aXRob3V0IGFuIEVGSSBkaXNrCj4g YXR0YWNoZWQuIEZvciBTRVYtZW5hYmxlZCBjb25maWd1cmF0aW9ucyBpdCB3YXMgYWxzbyB2ZXJp ZmllZCB0aGF0IHRoZQo+IGtlcm5lbCBhY3R1YWxseSB1c2VkIHRoZSByZXNwZWN0aXZlIGZlYXR1 cmUuCj4gCj4gU2lnbmVkLW9mZi1ieTogUGhpbGlwcCBHaWVyc2ZlbGQgPHBoaWxpcHAuZ2llcnNm ZWxkQGNhbmFyeWJpdC5ldT4KPiBSZXZpZXdlZC1ieTogRGFuaWVsIEtyYWwgPGQua3JhbEBwcm94 bW94LmNvbT4KPiBUZXN0ZWQtYnk6IE1hcmt1cyBGcmFuayA8bS5mcmFua0Bwcm94bW94LmNvbT4K PiAtLS0KPiAKPiAgbm8gY2hhbmdlcyBzaW5jZSBsYXN0IHZlcnNpb24KPiAKPiAgUFZFL0FQSTIv UWVtdS5wbSAgICAgICAgICAgIHwgIDcgKysrLQo+ICBQVkUvUWVtdVNlcnZlci5wbSAgICAgICAg ICAgfCA0OSArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0KPiAgUFZFL1FlbXVTZXJ2ZXIvQ1BV Q29uZmlnLnBtIHwgNjYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQo+ICAz IGZpbGVzIGNoYW5nZWQsIDkyIGluc2VydGlvbnMoKyksIDMwIGRlbGV0aW9ucygtKQo+IAo+IGRp ZmYgLS1naXQgYS9QVkUvQVBJMi9RZW11LnBtIGIvUFZFL0FQSTIvUWVtdS5wbQo+IGluZGV4IDI5 NTI2MGU3Li40ZjQ4Y2Y4NSAxMDA2NDQKPiAtLS0gYS9QVkUvQVBJMi9RZW11LnBtCj4gKysrIGIv UFZFL0FQSTIvUWVtdS5wbQo+IEBAIC01NDgsOCArNTQ4LDEzIEBAIG15IHN1YiBjcmVhdGVfZGlz a3MgOiBwcm90b3R5cGUoJCQkJCQkJCQkJCQpIHsKPiAgCQlteSAkdm9saWQ7Cj4gIAkJaWYgKCRk cyBlcSAnZWZpZGlzazAnKSB7Cj4gIAkJICAgIG15ICRzbW0gPSBQVkU6OlFlbXVTZXJ2ZXI6Ok1h Y2hpbmU6Om1hY2hpbmVfdHlwZV9pc19xMzUoJGNvbmYpOwo+ICsKPiArCQkgICAgbXkgJGFtZF9z ZXZfdHlwZSA9IFBWRTo6UWVtdVNlcnZlcjo6Q1BVQ29uZmlnOjpnZXRfYW1kX3Nldl90eXBlKCRj b25mKTsKPiArCQkgICAgZGllICJTRVYtU05QIHVzZXMgY29uc29saWRhdGVkIHJlYWQtb25seSBm aXJtd2FyZSIKCk1pc3NpbmcgbmV3bGluZSBhdCB0aGUgZW5kIG9mIGVycm9yIG1lc3NhZ2UuIFBl cmwgd2lsbCBhdXRvbWF0aWNhbGx5CmF0dGFjaCB0aGUgZmlsZW5hbWUgYW5kIGxpbmUgbnVtYmVy IHRoZW4sIHdoaWNoIGlzIHJhdGhlciB1Z2x5IGhlcmUuIEknZAphbHNvIG1lbnRpb24gImFuZCBk b2Vzbid0IG5lZWQgYW4gRUZJIGRpc2siIHRvIGNsYXJpZnkgdGhpcyBhIGJpdCBtb3JlCmZvciB1 c2Vycy4KCj4gKwkJCWlmICRhbWRfc2V2X3R5cGUgJiYgJGFtZF9zZXZfdHlwZSBlcSAnc25wJzsK PiArCj4gIAkJICAgICgkdm9saWQsICRzaXplKSA9IFBWRTo6UWVtdVNlcnZlcjo6Y3JlYXRlX2Vm aWRpc2soCj4gLQkJCSRzdG9yZWNmZywgJHN0b3JlaWQsICR2bWlkLCAkZm10LCAkYXJjaCwgJGRp c2ssICRzbW0pOwo+ICsJCQkkc3RvcmVjZmcsICRzdG9yZWlkLCAkdm1pZCwgJGZtdCwgJGFyY2gs ICRkaXNrLCAkc21tLCAkYW1kX3Nldl90eXBlKTsKPiAgCQl9IGVsc2lmICgkZHMgZXEgJ3RwbXN0 YXRlMCcpIHsKPiAgCQkgICAgIyBzd3RwbSBjYW4gb25seSB1c2UgcmF3IHZvbHVtZXMsIGFuZCB1 c2VzIGEgZml4ZWQgc2l6ZQo+ICAJCSAgICAkc2l6ZSA9IFBWRTo6VG9vbHM6OmNvbnZlcnRfc2l6 ZShQVkU6OlFlbXVTZXJ2ZXI6OkRyaXZlOjpUUE1TVEFURV9ESVNLX1NJWkUsICdiJyA9PiAna2In KTsKPiBkaWZmIC0tZ2l0IGEvUFZFL1FlbXVTZXJ2ZXIucG0gYi9QVkUvUWVtdVNlcnZlci5wbQo+ IGluZGV4IDgwOGMwZTFjLi41MWU1NTFiOCAxMDA2NDQKPiAtLS0gYS9QVkUvUWVtdVNlcnZlci5w bQo+ICsrKyBiL1BWRS9RZW11U2VydmVyLnBtCj4gQEAgLTUyLDcgKzUyLDcgQEAgdXNlIFBWRTo6 UWVtdUNvbmZpZzsKPiAgdXNlIFBWRTo6UWVtdVNlcnZlcjo6SGVscGVycyBxdyhjb25maWdfYXdh cmVfdGltZW91dCBtaW5fdmVyc2lvbiBrdm1fdXNlcl92ZXJzaW9uIHdpbmRvd3NfdmVyc2lvbik7 Cj4gIHVzZSBQVkU6OlFlbXVTZXJ2ZXI6OkNsb3VkaW5pdDsKPiAgdXNlIFBWRTo6UWVtdVNlcnZl cjo6Q0dyb3VwOwo+IC11c2UgUFZFOjpRZW11U2VydmVyOjpDUFVDb25maWcgcXcocHJpbnRfY3B1 X2RldmljZSBnZXRfY3B1X29wdGlvbnMgZ2V0X2NwdV9iaXRuZXNzIGlzX25hdGl2ZV9hcmNoIGdl dF9hbWRfc2V2X29iamVjdCk7Cj4gK3VzZSBQVkU6OlFlbXVTZXJ2ZXI6OkNQVUNvbmZpZyBxdyhw cmludF9jcHVfZGV2aWNlIGdldF9jcHVfb3B0aW9ucyBnZXRfY3B1X2JpdG5lc3MgaXNfbmF0aXZl X2FyY2ggZ2V0X2FtZF9zZXZfb2JqZWN0IGdldF9hbWRfc2V2X3R5cGUpOwo+ICB1c2UgUFZFOjpR ZW11U2VydmVyOjpEcml2ZSBxdyhpc192YWxpZF9kcml2ZW5hbWUgY2hlY2tlZF92b2x1bWVfZm9y bWF0IGRyaXZlX2lzX2Nsb3VkaW5pdCBkcml2ZV9pc19jZHJvbSBkcml2ZV9pc19yZWFkX29ubHkg cGFyc2VfZHJpdmUgcHJpbnRfZHJpdmUpOwo+ICB1c2UgUFZFOjpRZW11U2VydmVyOjpNYWNoaW5l Owo+ICB1c2UgUFZFOjpRZW11U2VydmVyOjpNZW1vcnkgcXcoZ2V0X2N1cnJlbnRfbWVtb3J5KTsK PiBAQCAtODgsNiArODgsMTMgQEAgbXkgJE9WTUYgPSB7Cj4gIAkgICAgIiRFREsyX0ZXX0JBU0Uv T1ZNRl9DT0RFXzRNLnNlY2Jvb3QuZmQiLAo+ICAJICAgICIkRURLMl9GV19CQVNFL09WTUZfVkFS U180TS5tcy5mZCIsCj4gIAldLAo+ICsJJzRtLXNldicgPT4gWwo+ICsJICAgICIkRURLMl9GV19C QVNFL09WTUZfQ1ZNX0NPREVfNE0uZmQiLAo+ICsJICAgICIkRURLMl9GV19CQVNFL09WTUZfQ1ZN X1ZBUlNfNE0uZmQiLCAKClN0eWxlIG5pdDogdHJhaWxpbmcgd2hpdGVzcGFjZSBhYm92ZQoKSXMg c3dpdGNoaW5nIG92ZXIgZm9yIHRoZSBzdGQrRVMgU0VWIHNjZW5hcmlvcyBzdGlsbApyZXF1aXJl ZC9hZHZhbnRhZ2VvdXMgaWYgd2UgZ28gZm9yIGVkazItc3RhYmxlMjAyNTAyPwoKPiArCV0sCj4g KwknNG0tc25wJyA9PiBbCj4gKwkgICAgIiRFREsyX0ZXX0JBU0UvT1ZNRl9DVk1fNE0uZmQiLAo+ ICsJXSwKPiAgCSMgRklYTUU6IFRoZXNlIGFyZSBsZWdhY3kgMk1CLXNpemVkIGltYWdlcyB0aGF0 IG1vZGVybiBPVk1GIGRvZXNuJ3Qgc3VwcG9ydHMgdG8gYnVpbGQKPiAgCSMgYW55bW9yZS4gaG93 IGNhbiB3ZSBkZXBlcmFjYXRlIHRoaXMgc2FuZWx5IHdpdGhvdXQgYnJlYWtpbmcgZXhpc3Rpbmcg aW5zdGFuY2VzLCBvciB1c2luZwo+ICAJIyBvbGRlciBiYWNrdXBzIGFuZCBzbmFwc2hvdD8KPiBA QCAtMzE3MiwxNSArMzE3OSwyMiBAQCBzdWIgdmdhX2NvbmZfaGFzX3NwaWNlIHsKPiAgICAgIHJl dHVybiAkMSB8fCAxOwo+ICB9Cj4gIAo+IC1zdWIgZ2V0X292bWZfZmlsZXMoJCQkKSB7Cj4gLSAg ICBteSAoJGFyY2gsICRlZmlkaXNrLCAkc21tKSA9IEBfOwo+ICtzdWIgZ2V0X292bWZfZmlsZXMo JCQkJCkgewo+ICsgICAgbXkgKCRhcmNoLCAkZWZpZGlzaywgJHNtbSwgJGFtZF9zZXZfdHlwZSkg PSBAXzsKPiAgCj4gICAgICBteSAkdHlwZXMgPSAkT1ZNRi0+eyRhcmNofQo+ICAJb3IgZGllICJu byBPVk1GIGltYWdlcyBrbm93biBmb3IgYXJjaGl0ZWN0dXJlICckYXJjaCdcbiI7Cj4gIAo+ICAg ICAgbXkgJHR5cGUgPSAnZGVmYXVsdCc7Cj4gICAgICBpZiAoJGFyY2ggZXEgJ3g4Nl82NCcpIHsK PiAtCWlmIChkZWZpbmVkKCRlZmlkaXNrLT57ZWZpdHlwZX0pICYmICRlZmlkaXNrLT57ZWZpdHlw ZX0gZXEgJzRtJykgewo+ICsJaWYgKCRhbWRfc2V2X3R5cGUgJiYgJGFtZF9zZXZfdHlwZSBlcSAn c25wJykgewo+ICsJICAgICR0eXBlID0gIjRtLXNucCI7Cj4gKwkgICAgbXkgKCRvdm1mKSA9ICR0 eXBlcy0+eyR0eXBlfS0+QCo7Cj4gKwkgICAgZGllICJFRkkgYmFzZSBpbWFnZSAnJG92bWYnIG5v dCBmb3VuZFxuIiBpZiAhIC1mICRvdm1mOwo+ICsJICAgIHJldHVybiAoJG92bWYpOwo+ICsJfSBl bHNpZiAoJGFtZF9zZXZfdHlwZSkgewo+ICsJICAgICR0eXBlID0gIjRtLXNldiI7Cj4gKwl9IGVs c2lmIChkZWZpbmVkKCRlZmlkaXNrLT57ZWZpdHlwZX0pICYmICRlZmlkaXNrLT57ZWZpdHlwZX0g ZXEgJzRtJykgewo+ICAJICAgICR0eXBlID0gJHNtbSA/ICI0bSIgOiAiNG0tbm8tc21tIjsKPiAg CSAgICAkdHlwZSAuPSAnLW1zJyBpZiAkZWZpZGlzay0+eydwcmUtZW5yb2xsZWQta2V5cyd9Owo+ ICAJfSBlbHNlIHsKPiBAQCAtMzMyOSw3ICszMzQzLDggQEAgbXkgc3ViIHByaW50X292bWZfZHJp dmVfY29tbWFuZGxpbmVzIHsKPiAgCj4gICAgICBteSAkZCA9ICRjb25mLT57ZWZpZGlzazB9ID8g cGFyc2VfZHJpdmUoJ2VmaWRpc2swJywgJGNvbmYtPntlZmlkaXNrMH0pIDogdW5kZWY7Cj4gIAo+ IC0gICAgbXkgKCRvdm1mX2NvZGUsICRvdm1mX3ZhcnMpID0gZ2V0X292bWZfZmlsZXMoJGFyY2gs ICRkLCAkcTM1KTsKPiArICAgIG15ICRhbWRfc2V2X3R5cGUgPSBnZXRfYW1kX3Nldl90eXBlKCRj b25mKTsKCkknZCBkaWUgaGVyZSBpZiB0aGUgdHlwZSBpcyAnc25wJyBqdXN0IHRvIGJlIHN1cmUs IHNvIHRoYXQgd2UgaGF2ZSBhCmNsZWFyIGVycm9yIHNob3VsZCB0aGF0IGV2ZXIgaGFwcGVuIGJ5 IGFjY2lkZW50LgoKPiArICAgIG15ICgkb3ZtZl9jb2RlLCAkb3ZtZl92YXJzKSA9IGdldF9vdm1m X2ZpbGVzKCRhcmNoLCAkZCwgJHEzNSwgJGFtZF9zZXZfdHlwZSk7Cj4gIAo+ICAgICAgbXkgJHZh cl9kcml2ZV9zdHIgPSAiaWY9cGZsYXNoLHVuaXQ9MSxpZD1kcml2ZS1lZmlkaXNrMCI7Cj4gICAg ICBpZiAoJGQpIHsKPiBAQCAtMzUyNiwxMCArMzU0MSwxNyBAQCBzdWIgY29uZmlnX3RvX2NvbW1h bmQgewo+ICAJZGllICJPVk1GIChVRUZJKSBCSU9TIGlzIG5vdCBzdXBwb3J0ZWQgb24gMzItYml0 IENQVSB0eXBlc1xuIgo+ICAJICAgIGlmICEkZm9yY2VjcHUgJiYgZ2V0X2NwdV9iaXRuZXNzKCRj b25mLT57Y3B1fSwgJGFyY2gpID09IDMyOwo+ICAKPiAtCW15ICgkY29kZV9kcml2ZV9zdHIsICR2 YXJfZHJpdmVfc3RyKSA9Cj4gLQkgICAgcHJpbnRfb3ZtZl9kcml2ZV9jb21tYW5kbGluZXMoJGNv bmYsICRzdG9yZWNmZywgJHZtaWQsICRhcmNoLCAkcTM1LCAkdmVyc2lvbl9ndWFyZCk7Cj4gLQlw dXNoICRjbWQtPkAqLCAnLWRyaXZlJywgJGNvZGVfZHJpdmVfc3RyOwo+IC0JcHVzaCAkY21kLT5A KiwgJy1kcml2ZScsICR2YXJfZHJpdmVfc3RyOwo+ICsJbXkgJGFtZF9zZXZfdHlwZSA9IGdldF9h bWRfc2V2X3R5cGUoJGNvbmYpOwo+ICsJaWYgKCRhbWRfc2V2X3R5cGUgJiYgJGFtZF9zZXZfdHlw ZSBlcSAnc25wJykgewo+ICsJICAgbXkgJGFyY2ggPSBQVkU6OlFlbXVTZXJ2ZXI6OkhlbHBlcnM6 OmdldF92bV9hcmNoKCRjb25mKTsKPiArCSAgIG15ICRkID0gJGNvbmYtPntlZmlkaXNrMH0gPyBw YXJzZV9kcml2ZSgnZWZpZGlzazAnLCAkY29uZi0+e2VmaWRpc2swfSkgOiB1bmRlZjsKClNpbmNl IHRoZSBFRkkgZGlzayBpcyBub3QgdXNlZCBpbiB0aGlzIGNhc2UsIHdlIHNob3VsZCBhbHdheXMg cGFzcyB1bmRlZgp0byBiZSBleHBsaWNpdC4gV2UgY2FuIHByaW50IGFuIGluZm9ybWF0aW9uYWwg bWVzc2FnZSB0aGF0IGl0IHdpbGwgYmUKaWdub3JlZCBpZiBwcmVzZW50LgoKPiArCSAgIHB1c2gg JGNtZC0+QCosICctYmlvcycsIGdldF9vdm1mX2ZpbGVzKCRhcmNoLCAkZCwgdW5kZWYsICRhbWRf c2V2X3R5cGUpOwo+ICsJfSBlbHNlIHsKPiArCSAgICBteSAoJGNvZGVfZHJpdmVfc3RyLCAkdmFy X2RyaXZlX3N0cikgPSBwcmludF9vdm1mX2RyaXZlX2NvbW1hbmRsaW5lcygKPiArCQkkY29uZiwg JHN0b3JlY2ZnLCAkdm1pZCwgJGFyY2gsICRxMzUsICR2ZXJzaW9uX2d1YXJkKTsKPiArCSAgICBw dXNoICRjbWQtPkAqLCAnLWRyaXZlJywgJGNvZGVfZHJpdmVfc3RyOwo+ICsJICAgIHB1c2ggJGNt ZC0+QCosICctZHJpdmUnLCAkdmFyX2RyaXZlX3N0cjsKPiArCX0KPiAgICAgIH0KPiAgCj4gICAg ICBpZiAoJHEzNSkgeyAjIHRlbGwgUUVNVSB0byBsb2FkIHEzNSBjb25maWcgZWFybHkKCi0tLXNu aXAgODwtLS0KCj4gQEAgLTIzMSwyNSArMjMyLDMyIEBAIG15ICRjcHVfZm10ID0gewo+ICBteSAk c2V2X2ZtdCA9IHsKPiAgICAgIHR5cGUgPT4gewo+ICAJZGVzY3JpcHRpb24gPT4gIkVuYWJsZSBz dGFuZGFyZCBTRVYgd2l0aCB0eXBlPSdzdGQnIG9yIGVuYWJsZSIKPiAtCSAgICAuIiBleHBlcmlt ZW50YWwgU0VWLUVTIHdpdGggdGhlICdlcycgb3B0aW9uLiIsCj4gKwkgICAgLiIgZXhwZXJpbWVu dGFsIFNFVi1FUyB3aXRoIHRoZSAnZXMnIG9wdGlvbiBvciBlbmFibGUgIgo+ICsJICAgIC4iZXhw ZXJpbWVudGFsIFNFVi1TTlAgd2l0aCB0aGUgJ3NucCcgb3B0aW9uLiIsCgpTdHlsZSBuaXQ6IGl0 J3MgcHJlZmVycmVkIHRvIHVzZSB0aGUgc3BhY2UgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgbmV4 dApsaW5lOiBodHRwczovL3B2ZS5wcm94bW94LmNvbS93aWtpL1BlcmxfU3R5bGVfR3VpZGUjV3Jh cHBpbmdfU3RyaW5ncwoKPiAgCXR5cGUgPT4gJ3N0cmluZycsCj4gIAlkZWZhdWx0X2tleSA9PiAx LAo+ICAJZm9ybWF0X2Rlc2NyaXB0aW9uID0+ICJzZXYtdHlwZSIsCj4gLQllbnVtID0+IFsnc3Rk JywgJ2VzJ10sCj4gKwllbnVtID0+IFsnc3RkJywgJ2VzJywgJ3NucCddLAo+ICAJbWF4TGVuZ3Ro ID0+IDMsCj4gICAgICB9LAo+ICAgICAgJ25vLWRlYnVnJyA9PiB7Cj4gLQlkZXNjcmlwdGlvbiA9 PiAiU2V0cyBwb2xpY3kgYml0IDAgdG8gMSB0byBkaXNhbGxvdyBkZWJ1Z2dpbmcgb2YgZ3Vlc3Qi LAo+ICsJZGVzY3JpcHRpb24gPT4gIlNldHMgcG9saWN5IGJpdCB0byBkaXNhbGxvdyBkZWJ1Z2dp bmcgb2YgZ3Vlc3QiLAo+ICAJdHlwZSA9PiAnYm9vbGVhbicsCj4gIAlkZWZhdWx0ID0+IDAsCj4g IAlvcHRpb25hbCA9PiAxLAo+ICAgICAgfSwKPiAgICAgICduby1rZXktc2hhcmluZycgPT4gewo+ IC0JZGVzY3JpcHRpb24gPT4gIlNldHMgcG9saWN5IGJpdCAxIHRvIDEgdG8gZGlzYWxsb3cga2V5 IHNoYXJpbmcgd2l0aCBvdGhlciBndWVzdHMiLAo+ICsJZGVzY3JpcHRpb24gPT4gIlNldHMgcG9s aWN5IGJpdCB0byBkaXNhbGxvdyBrZXkgc2hhcmluZyB3aXRoIG90aGVyIGd1ZXN0cyIsCgpJJ2Qg YWxzbyBtZW50aW9uIHRoYXQgaXQgaXMgaWdub3JlZCBpZiB1c2luZyBTTlAKCj4gIAl0eXBlID0+ ICdib29sZWFuJywKPiAgCWRlZmF1bHQgPT4gMCwKPiAgCW9wdGlvbmFsID0+IDEsCj4gICAgICB9 LAo+ICsgICAgJ2FsbG93LXNtdCcgPT4gewo+ICsJZGVzY3JpcHRpb24gPT4gIlNldHMgcG9saWN5 IGJpdCB0byBhbGxvdyBTaW11bHRhbmVvdXMgTXVsdGkgVGhyZWFkaW5nIChTTVQpIiwKCkknZCBh bHNvIG1lbnRpb24gdGhhdCBpdCBpcyBpZ25vcmVkIGlmIG5vdCB1c2luZyBTTlAKCj4gKwl0eXBl ID0+ICdib29sZWFuJywKPiArCWRlZmF1bHQgPT4gMSwKPiArCW9wdGlvbmFsID0+IDEsCj4gKyAg ICB9LAo+ICAgICAgImtlcm5lbC1oYXNoZXMiID0+IHsKPiAgCWRlc2NyaXB0aW9uID0+ICJBZGQg a2VybmVsIGhhc2hlcyB0byBndWVzdCBmaXJtd2FyZSBmb3IgbWVhc3VyZWQgbGludXgga2VybmVs IGxhdW5jaCIsCj4gIAl0eXBlID0+ICdib29sZWFuJywKPiBAQCAtODIzLDYgKzgzMSwxMyBAQCBz dWIgZ2V0X2h3X2NhcGFiaWxpdGllcyB7Cj4gICAgICB9Cj4gICAgICByZXR1cm4gJGh3X2NhcGFi aWxpdGllczsKPiAgfQo+ICtzdWIgZ2V0X2FtZF9zZXZfdHlwZSB7Cj4gKyAgICBteSAoJGNvbmYp ID0gQF87Cj4gKwo+ICsgICAgcmV0dXJuIHVuZGVmIGlmICEkY29uZi0+eydhbWQtc2V2J307Cj4g Kwo+ICsgICAgcmV0dXJuIFBWRTo6SlNPTlNjaGVtYTo6cGFyc2VfcHJvcGVydHlfc3RyaW5nKCRz ZXZfZm10LCAkY29uZi0+eydhbWQtc2V2J30pLT57dHlwZX07Cj4gK30KPiAgCj4gIHN1YiBnZXRf YW1kX3Nldl9vYmplY3Qgewo+ICAgICAgbXkgKCRhbWRfc2V2LCAkYmlvcykgPSBAXzsKPiBAQCAt ODM2LDIyICs4NTEsNDEgQEAgc3ViIGdldF9hbWRfc2V2X29iamVjdCB7Cj4gICAgICBpZiAoJGFt ZF9zZXZfY29uZi0+e3R5cGV9IGVxICdlcycgJiYgISRzZXZfaHdfY2Fwcy0+eydzZXYtc3VwcG9y dC1lcyd9KSB7Cj4gIAlkaWUgIllvdXIgQ1BVIGRvZXMgbm90IHN1cHBvcnQgQU1EIFNFVi1FUy5c biI7Cj4gICAgICB9Cj4gKyAgICBpZiAoJGFtZF9zZXZfY29uZi0+e3R5cGV9IGVxICdzbnAnICYm ICEkc2V2X2h3X2NhcHMtPnsnc2V2LXN1cHBvcnQtc25wJ30pIHsKPiArCWRpZSAiWW91ciBDUFUg ZG9lcyBub3Qgc3VwcG9ydCBBTUQgU0VWLVNOUC5cbiI7Cj4gKyAgICB9Cj4gICAgICBpZiAoISRi aW9zIHx8ICRiaW9zIG5lICdvdm1mJykgewo+ICAJZGllICJUbyB1c2UgQU1EIFNFViwgeW91IG5l ZWQgdG8gY2hhbmdlIHRoZSBCSU9TIHRvIE9WTUYuXG4iOwo+ICAgICAgfQo+ICAKPiAtICAgIG15 ICRzZXZfbWVtX29iamVjdCA9ICdzZXYtZ3Vlc3QsaWQ9c2V2MCc7Cj4gLSAgICAkc2V2X21lbV9v YmplY3QgLj0gJyxjYml0cG9zPScuJHNldl9od19jYXBzLT57Y2JpdHBvc307Cj4gLSAgICAkc2V2 X21lbV9vYmplY3QgLj0gJyxyZWR1Y2VkLXBoeXMtYml0cz0nLiRzZXZfaHdfY2Fwcy0+eydyZWR1 Y2VkLXBoeXMtYml0cyd9Owo+IC0KPiAtICAgICMgZ3Vlc3QgcG9saWN5IGJpdCBjYWxjdWxhdGlv biBhcyBkZXNjcmliZWQgaGVyZToKPiAtICAgICMgaHR0cHM6Ly9kb2N1bWVudGF0aW9uLnN1c2Uu Y29tL3NsZXMvMTUtU1A1L2h0bWwvU0xFUy1hbWQtc2V2L2FydGljbGUtYW1kLXNldi5odG1sI3Rh YmxlLWd1ZXN0cG9saWN5Cj4gLSAgICBteSAkcG9saWN5ID0gMDsKPiAtICAgICRwb2xpY3kgfD0g MSA8PCAwIGlmICRhbWRfc2V2X2NvbmYtPnsnbm8tZGVidWcnfTsKPiAtICAgICRwb2xpY3kgfD0g MSA8PCAxIGlmICRhbWRfc2V2X2NvbmYtPnsnbm8ta2V5LXNoYXJpbmcnfTsKPiAtICAgICRwb2xp Y3kgfD0gMSA8PCAyIGlmICRhbWRfc2V2X2NvbmYtPnt0eXBlfSBlcSAnZXMnOwo+IC0gICAgIyBk aXNhYmxlIG1pZ3JhdGlvbiB3aXRoIGJpdCAzIG5vc2VuZCB0byBwcmV2ZW50IGFtZC1zZXYtbWln cmF0aW9uLWF0dGFjawo+IC0gICAgJHBvbGljeSB8PSAxIDw8IDM7Cj4gKyAgICBteSAkc2V2X21l bV9vYmplY3QgPSAnJzsKPiArICAgIG15ICRwb2xpY3k7Cj4gKyAgICBpZiAoJGFtZF9zZXZfY29u Zi0+e3R5cGV9IGVxICdlcycgfHwgJGFtZF9zZXZfY29uZi0+e3R5cGV9IGVxICdzdGQnKSB7Cj4g Kwkkc2V2X21lbV9vYmplY3QgLj0gJ3Nldi1ndWVzdCxpZD1zZXYwJzsKPiArCSRzZXZfbWVtX29i amVjdCAuPSAnLGNiaXRwb3M9Jy4kc2V2X2h3X2NhcHMtPntjYml0cG9zfTsKPiArCSRzZXZfbWVt X29iamVjdCAuPSAnLHJlZHVjZWQtcGh5cy1iaXRzPScuJHNldl9od19jYXBzLT57J3JlZHVjZWQt cGh5cy1iaXRzJ307Cj4gKwo+ICsJIyBndWVzdCBwb2xpY3kgYml0IGNhbGN1bGF0aW9uIGFzIGRl c2NyaWJlZCBoZXJlOgo+ICsJIyBodHRwczovL2RvY3VtZW50YXRpb24uc3VzZS5jb20vc2xlcy8x NS1TUDUvaHRtbC9TTEVTLWFtZC1zZXYvYXJ0aWNsZS1hbWQtc2V2Lmh0bWwjdGFibGUtZ3Vlc3Rw b2xpY3kKPiArCSRwb2xpY3kgPSAwOwo+ICsJJHBvbGljeSB8PSAxIDw8IDAgaWYgJGFtZF9zZXZf Y29uZi0+eyduby1kZWJ1Zyd9Owo+ICsJJHBvbGljeSB8PSAxIDw8IDEgaWYgJGFtZF9zZXZfY29u Zi0+eyduby1rZXktc2hhcmluZyd9Owo+ICsJJHBvbGljeSB8PSAxIDw8IDIgaWYgJGFtZF9zZXZf Y29uZi0+e3R5cGV9IGVxICdlcyc7Cj4gKwkjIGRpc2FibGUgbWlncmF0aW9uIHdpdGggYml0IDMg bm9zZW5kIHRvIHByZXZlbnQgYW1kLXNldi1taWdyYXRpb24tYXR0YWNrCj4gKwkkcG9saWN5IHw9 IDEgPDwgMzsKPiArICAgIH0gZWxzaWYgKCRhbWRfc2V2X2NvbmYtPnt0eXBlfSBlcSAnc25wJykg ewo+ICsJJHNldl9tZW1fb2JqZWN0IC49ICdzZXYtc25wLWd1ZXN0LGlkPXNldjAnOwo+ICsJJHNl dl9tZW1fb2JqZWN0IC49ICcsY2JpdHBvcz0nLiRzZXZfaHdfY2Fwcy0+e2NiaXRwb3N9Owo+ICsJ JHNldl9tZW1fb2JqZWN0IC49ICcscmVkdWNlZC1waHlzLWJpdHM9Jy4kc2V2X2h3X2NhcHMtPnsn cmVkdWNlZC1waHlzLWJpdHMnfTsKPiArCj4gKwkjIGd1ZXN0IHBvbGljeSBiaXQgY2FsY3VsYXRp b24gYXMgZGVzY3JpYmVkIGluIGNoYXB0ZXIgNC4zOgo+ICsJIyBodHRwczovL3d3dy5hbWQuY29t L3N5c3RlbS9maWxlcy9UZWNoRG9jcy81Njg2MC5wZGYKPiArCSMgUmVzZXJ2ZWQgYml0IG11c3Qg YmUgb25lCj4gKwkkcG9saWN5ID0gMSA8PCAxNzsKPiArCSRwb2xpY3kgfD0gMSA8PCAxNiBpZiAk YW1kX3Nldl9jb25mLT57J2FsbG93LXNtdCd9OwoKSW4gdGhlIHNjaGVtYSwgdGhlIGRlZmF1bHQg aXMgc2V0IHRvIDEuIE5vdGUgdGhhdCB0aGlzIGlzIG9ubHkKaW5mb3JtYXRpb25hbCB1bmZvcnR1 bmF0ZWx5LCBpLmUuIHBhcnNlX3Byb3BlcnR5X3N0cmluZygpIHdpbGwgbm90IGZpbGwKaW4gYSBk ZWZhdWx0LiBZb3UgbmVlZCB0byBhcHBseSB0aGUgZGVmYXVsdCB5b3Vyc2VsZiBoZXJlIHVzaW5n Cgo+IGlmICFkZWZpbmVkKCRhbWRfc2V2X2NvbmYtPnsnYWxsb3ctc210J30pIHx8ICRhbWRfc2V2 X2NvbmYtPnsnYWxsb3ctc210J307CgoKPiArCSRwb2xpY3kgfD0gMSA8PCAxOSBpZiAhJGFtZF9z ZXZfY29uZi0+eyduby1kZWJ1Zyd9OwoKTm90ZSB0aGF0IGhlcmUsIGl0IGFscmVhZHkgd29ya3Mg YXV0b21hdGljYWxseSwgYmVjYXVzZSB0aGUgZGVmYXVsdCBpcyAwLgoKPiArICAgIH0KPiArCj4g IAo+ICAgICAgJHNldl9tZW1fb2JqZWN0IC49ICcscG9saWN5PScuc3ByaW50ZigiJSN4IiwgJHBv bGljeSk7Cj4gICAgICAkc2V2X21lbV9vYmplY3QgLj0gJyxrZXJuZWwtaGFzaGVzPW9uJyBpZiAo JGFtZF9zZXZfY29uZi0+eydrZXJuZWwtaGFzaGVzJ30pOwoKCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpwdmUtZGV2ZWwgbWFpbGluZyBsaXN0CnB2ZS1k ZXZlbEBsaXN0cy5wcm94bW94LmNvbQpodHRwczovL2xpc3RzLnByb3htb3guY29tL2NnaS1iaW4v bWFpbG1hbi9saXN0aW5mby9wdmUtZGV2ZWwK