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 [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id 2075F1FF17C for <inbox@lore.proxmox.com>; Wed, 2 Apr 2025 16:38:28 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 797381D43B; Wed, 2 Apr 2025 16:38:16 +0200 (CEST) References: <20240924143502.361901-1-m.sandoval@proxmox.com> <20240924143502.361901-2-m.sandoval@proxmox.com> <1729584916.zq75nvzkam.astroid@yuna.none> User-agent: mu4e 1.10.8; emacs 30.1 From: Maximiliano Sandoval <m.sandoval@proxmox.com> To: Proxmox VE development discussion <pve-devel@lists.proxmox.com> Date: Wed, 02 Apr 2025 16:36:43 +0200 In-reply-to: <1729584916.zq75nvzkam.astroid@yuna.none> Message-ID: <s8o8qoid3yi.fsf@proxmox.com> MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.304 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_ASCII_DIVIDERS 0.8 Email that uses ascii formatting dividers and possible spam tricks KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment 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] [RFC PATCH 2/2] config: add systemd credentials 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> Cc: Wolfgang Bumiller <w.bumiller@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> CkZhYmlhbiBHcsO8bmJpY2hsZXIgPGYuZ3J1ZW5iaWNobGVyQHByb3htb3guY29tPiB3cml0ZXM6 Cgo+IE9uIFNlcHRlbWJlciAyNCwgMjAyNCA0OjM1IHBtLCBNYXhpbWlsaWFubyBTYW5kb3ZhbCB3 cm90ZToKPj4gQWxsb3dzIHRvIHBhc3Mgc3lzdGVtZCBjcmVkZW50aWFscyB0byBhIFZNLiBTZWUg WzFdIGZvciBhIGRlc2NyaXB0aW9uIG9mCj4+IHN5c3RlbWQgY3JlZGVudGlhbHMuIFRoaXMgY2Fu IGJlIHBvdGVudGlhbGx5IHVzZWQgdG8gcHJvdmlzaW9uIGEgVk0gYXMKPj4gcGVyIFsyXS4gVmFs dWVzIGNhbiBiZSBwYXNzZWQgZWl0aGVyIGFzIHBsYWluIHRleHQgKHdoaWNoIG1pZ2h0IGJlCj4+ IGJhc2U2NCBlbmNyeXB0ZWQpIG9yIGJ5IHJlYWRpbmcgdGhlIGNvbnRlbnRzIG9mIGEgc25pcHBl dC4KPj4gCj4+IEEgVk0gY29uZmlndXJhdGlvbiBmaWxlIHdoaWNoLCBmb3IgZXhhbXBsZSwgY29u dGFpbnM6Cj4+IAo+PiAgICAgc3lzdGVtZC5mb286IHZhbHVlPWJhcgo+PiAgICAgc3lzdGVtZC5z c2guYXV0aG9yaXplZF9rZXlzLnJvb3Q6IHNuaXBwZXQ9bG9jYWw6c25pcHBldHMvaWRfZWQyNTUx OS5wdWIKPj4gICAgIHN5c3RlbWQuZW5jb2RlZC1mb286IHZhbHVlPVltRnlhPSxiYXNlNjQ9MQo+ Cj4gd2h5IG5vdCBvdXIgdXN1YWwgc2NoZW1lPwo+Cj4gc3lzdGVtZDA6IGtleT1mb28sdmFsdWU9 YmFyCj4gc3lzdGVtZDE6IGtleT1zc2guYXV0aG9yaXplZF9rZXlzLnJvb3Qsc25pcHBldD1sb2Nh bDpzbmlwcGV0cy9pZF9lZDI1NTE5LnB1Ygo+IHN5c3RlbWQyOiBrZXk9ZW5jb2RlZC1mb28sdmFs dWU9WW1GeWE9LGJhc2U2ND0xCj4KPiBpZiBuZWVkIGJlLCB0aGUga2V5IGNvdWxkIGJlIHBlcnNp c3RlZCBiYXNlNjQtZW5jb2RlZCAoZS5nLiwgaWYgaXQgY2FuCj4gY29udGFpbiBjaGFyYWN0ZXJz IHVzZWQgYXMgZGVsaW1pdGVycyBvciBvdGhlcndpc2Ugc3BlY2lhbCkKPgo+PiB3aWxsIGhhdmUg dGhlIGZvbGxvd2luZyBhcmd1bWVudHMgYWRkZWQgdG8gaXRzIGt2bSBjb21tYW5kOgo+PiAKPj4g ICAgIC1zbWJpb3MgJ3R5cGU9MTEsdmFsdWU9aW8uc3lzdGVtZC5jcmVkZW50aWFsLmJpbmFyeTpz c2guYXV0aG9yaXplZF9rZXlzLnJvb3Q9YzNOb0xXVmtNalUxTVRrZ1FVRkJRVU16VG5waFF6RnNX a1JKTVU1VVJUVkJRVUZCU1VaV1prRlRZblZIZEdkb1dYQlFRVEJVUzB3NE4zSTJkV1JZTm01Q2JF TTJMMmhMV1ZaYVRUZEVOellnWm05dlFHSmhjZ289JyBcCj4+ICAgICAtc21iaW9zICd0eXBlPTEx LHZhbHVlPWlvLnN5c3RlbWQuY3JlZGVudGlhbDpmb289YmFyJyBcCj4+ICAgICAtc21iaW9zICd0 eXBlPTExLHZhbHVlPWlvLnN5c3RlbWQuY3JlZGVudGlhbC5iaW5hcnk6ZW5jb2RlZC1mb289WW1G eScKPj4gCj4+IE9uIHRoZSBndWVzdCB0aGVzZSBjcmVkZW50aWFscyBjYW4gYmUgcmVhZCB2aWE6 Cj4+IAo+PiAgICAgZG1pZGVjb2RlIC10IDExCj4+IAo+PiBJbiB0aGUgZXhhbXBsZSBhYm92ZSwg dGhlIFNTSCBrZXkgd2lsbCBiZSBhZGRlZCB0bwo+PiAvcm9vdC8uc3NoL2F1dGhvcml6ZWRfa2V5 cyBwcm92aWRlZCB0aGUgZmlsZSBkaWQgbm90IGV4aXN0LCBzZWUgWzNdLgo+PiAKPj4gWzFdIGh0 dHBzOi8vc3lzdGVtZC5pby9DUkVERU5USUFMUy8KPj4gWzJdIGh0dHBzOi8vd3d3LmZyZWVkZXNr dG9wLm9yZy9zb2Z0d2FyZS9zeXN0ZW1kL21hbi9sYXRlc3Qvc3lzdGVtZC5zeXN0ZW0tY3JlZGVu dGlhbHMuaHRtbAo+PiBbM10gaHR0cHM6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3NvZnR3YXJlL3N5 c3RlbWQvbWFuL2xhdGVzdC9zeXN0ZW1kLnN5c3RlbS1jcmVkZW50aWFscy5odG1sI3NzaC5hdXRo b3JpemVkX2tleXMucm9vdAo+PiAKPj4gU3VnZ2VzdGVkLWJ5OiBXb2xmZ2FuZyBCdW1pbGxlciA8 dy5idW1pbGxlckBwcm94bW94LmNvbT4KPj4gU2lnbmVkLW9mZi1ieTogTWF4aW1pbGlhbm8gU2Fu ZG92YWwgPG0uc2FuZG92YWxAcHJveG1veC5jb20+Cj4+IC0tLQo+PiAgUFZFL1FlbXVTZXJ2ZXIu cG0gfCA3NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ PiAgMSBmaWxlIGNoYW5nZWQsIDc3IGluc2VydGlvbnMoKykKPj4gCj4+IGRpZmYgLS1naXQgYS9Q VkUvUWVtdVNlcnZlci5wbSBiL1BWRS9RZW11U2VydmVyLnBtCj4+IGluZGV4IDE1NjZjZjkxLi4z ZWMyMTA2NCAxMDA2NDQKPj4gLS0tIGEvUFZFL1FlbXVTZXJ2ZXIucG0KPj4gKysrIGIvUFZFL1Fl bXVTZXJ2ZXIucG0KPj4gQEAgLTE0OSw2ICsxNDksMjYgQEAgbXkgJHdhdGNoZG9nX2ZtdCA9IHsK Pj4gIH07Cj4+ICBQVkU6OkpTT05TY2hlbWE6OnJlZ2lzdGVyX2Zvcm1hdCgncHZlLXFtLXdhdGNo ZG9nJywgJHdhdGNoZG9nX2ZtdCk7Cj4+ICAKPj4gK291ciAkc3lzdGVtZF92YWx1ZV9mbXQgPSB7 Cj4+ICsgICAgdmFsdWUgPT4gewo+PiArCWRlc2NyaXB0aW9uID0+ICdUaGUgY3JlZGVudGlhbCB2 YWx1ZS4gYmFzZTY0PTEgc2hvdWxkIGJlIHNwZWNpZmllZCBpZiB0aGUgdmFsdWUgaXMgYmFzZTY0 IGVuY29kZWQuJywKPj4gKwl0eXBlID0+ICdzdHJpbmcnLAo+Cj4gbmFjayAtIHRoaXMgbmVlZHMg c29tZSBzb3J0IG9mIHJlc3RyaWN0aW9uIChlLmcuIGEgc2FuZSBjaGFyYWN0ZXIgc2V0Cj4gZm9y IG5vbi1iYXNlNjQgZW5jb2RlZCB2YWx1ZXMsIG9yIGJhc2U2NCkKPgo+PiArCW9wdGlvbmFsID0+ IDEsCj4+ICsgICAgfSwKPj4gKyAgICBzbmlwcGV0ID0+IHsKPj4gKwl0eXBlID0+ICdzdHJpbmcn LAo+PiArCWRlc2NyaXB0aW9uID0+ICJTcGVjaWZ5IGEgc25pcHBldCBjb250YWluaW5nIHRoZSBj cmVkZW50aWFsJ3MgdmFsdWUiLAo+PiArCWZvcm1hdCA9PiAncHZlLXZvbHVtZS1pZCcsCj4KPiBu b3QgdG9vIHN1cmUgYWJvdXQgYWRkaW5nIHlldCBtb3JlIHVzYWdlIHRvIHRoZSBhbHJlYWR5IG92 ZXJsb2FkZWQgYW5kCj4gcHJvYmxlbWF0aWMgc25pcHBldCBmZWF0dXJlIHRoYXQgd2Ugd2FudCB0 byBnZXQgcmlkIG9mL292ZXJoYXVsLi4KPgo+PiArCW9wdGlvbmFsID0+IDEsCj4+ICsgICAgfSwK Pj4gKyAgICBiYXNlNjQgPT4gewo+PiArCWRlc2NyaXB0aW9uID0+ICdXaGV0aGVyIHRoZSB2YWx1 ZSBpcyBiYXNlNjQgZW5jb2RlZC4nLAo+PiArCXR5cGUgPT4gJ2Jvb2xlYW4nLAo+PiArCW9wdGlv bmFsID0+IDEsCj4+ICsJZGVmYXVsdCA9PiAwLAo+PiArICAgIH0sCj4+ICt9Owo+PiArCj4+ICBt eSAkYWdlbnRfZm10ID0gewo+PiAgICAgIGVuYWJsZWQgPT4gewo+PiAgCWRlc2NyaXB0aW9uID0+ ICJFbmFibGUvZGlzYWJsZSBjb21tdW5pY2F0aW9uIHdpdGggYSBRRU1VIEd1ZXN0IEFnZW50IChR R0EpIHJ1bm5pbmcgaW4gdGhlIFZNLiIsCj4+IEBAIC0yMDM5LDYgKzIwNTksMTYgQEAgc3ViIHBh cnNlX2d1ZXN0X2FnZW50IHsKPj4gICAgICByZXR1cm4gJHJlczsKPj4gIH0KPj4gIAo+PiArc3Vi IHBhcnNlX3N5c3RlbWRfY3JlZGVudGlhbCB7Cj4+ICsgICAgbXkgKCR2YWx1ZSkgPSBAXzsKPj4g Kwo+PiArICAgIHJldHVybiB7fSBpZiAhJHZhbHVlOwo+PiArCj4+ICsgICAgbXkgJHJlcyA9IGV2 YWwgeyBwYXJzZV9wcm9wZXJ0eV9zdHJpbmcoJHN5c3RlbWRfdmFsdWVfZm10LCAkdmFsdWUpIH07 Cj4+ICsgICAgd2FybiAkQCBpZiAkQDsKPgo+IHdoeT8gaWYgeW91IGRvIHRoaXMsIGl0IG5lZWRz IHRvIGJlIG9wdGluIHZpYSBhICRub2VyciBwYXJhbWV0ZXIuLgo+Cj4+ICsgICAgcmV0dXJuICRy ZXM7Cj4+ICt9Cj4+ICsKPj4gIHN1YiBnZXRfcWdhX2tleSB7Cj4+ICAgICAgbXkgKCRjb25mLCAk a2V5KSA9IEBfOwo+PiAgICAgIHJldHVybiB1bmRlZiBpZiAhZGVmaW5lZCgkY29uZi0+e2FnZW50 fSk7Cj4+IEBAIC0yMzkwLDYgKzI0MjAsMTIgQEAgc3ViIHBhcnNlX3ZtX2NvbmZpZyB7Cj4KPiB5 b3Ugb25seSB0b3VjaCBwYXJzZV92bV9jb25maWcuLiBob3cgZG9lcyB0aGlzIHdvcmsgb24gcmVh ZC1tb2RpZnktd3JpdGUKPiBjeWNsZXM/Pwo+CgpXaGF0IGRvIHlvdSBtZWFuIGhlcmU/Cgo+Cj4+ ICAJCSRjb25mLT57JGtleX0gPSAkdmFsdWU7Cj4+ICAJCW5leHQ7Cj4+ICAJICAgIH0KPj4gKwkg ICAgaWYgKCRrZXkgPX4gL15zeXN0ZW1kXC4oW2Etel1bYS16X1wuLV0qKSQvKSB7Cj4+ICsJCSMg aWdub3JlIHZhbGlkYXRpb24gb2Ygc3lzdGVtZCBjcmVkZW50aWFscwo+PiArCQkkY29uZi0+eydz eXN0ZW1kLWNyZWRlbnRpYWxzJ30tPnskMX0gPSAkdmFsdWU7Cj4+ICsJCW5leHQ7Cj4+ICsJICAg IH0KPj4gKwo+Cj4gdGhpcyBwYXJ0IGhlcmUgd291bGQgbm90IGJlIG5lZWRlZCBpZiBpdCB3ZXJl IGEgcmVndWxhciBjb25maWcgb3B0aW9uCj4gaW5zdGVhZCBvZiBnZXR0aW5nIHNwZWNpYWwgdHJl YXRtZW50Li4KPgo+PiAgCSAgICBldmFsIHsgJHZhbHVlID0gY2hlY2tfdHlwZSgka2V5LCAkdmFs dWUpOyB9Owo+Cj4gYnV0IHRoaXMgcGFydCBoZXJlIHdvdWxkIHN0aWxsIHRyaWdnZXIgc2NoZW1h IHZhbGlkYXRpb24gdGhlbiwgd2hpY2gKPiB3b3VsZCBiZSBhIHBsdXMhCj4KPj4gIAkgICAgaWYg KCRAKSB7Cj4+ICAJCSRoYW5kbGVfZXJyb3ItPigidm0gJHZtaWQgLSB1bmFibGUgdG8gcGFyc2Ug dmFsdWUgb2YgJyRrZXknIC0gJEAiKTsKPj4gQEAgLTM1MTQsNiArMzU1MCwyNyBAQCBteSBzdWIg Z2V0X3ZnYV9wcm9wZXJ0aWVzIHsKPj4gICAgICByZXR1cm4gKCR2Z2EsICRxeGxudW0pOwo+PiAg fQo+PiAgCj4+ICtzdWIgc21iaW9zXzExX2NyZWRfYXJnIHsKPj4gKyAgICBteSAoJGtleSwgJHZh bHVlLCAkaXNfZW5jb2RlZCkgPSBAXzsKPj4gKwo+PiArICAgIGlmICgkaXNfZW5jb2RlZCkgewo+ PiArCXJldHVybiAoJy1zbWJpb3MnLCAidHlwZT0xMSx2YWx1ZT1pby5zeXN0ZW1kLmNyZWRlbnRp YWwuYmluYXJ5OiRrZXk9JHZhbHVlIik7Cj4+ICsgICAgfSBlbHNlIHsKPj4gKwlyZXR1cm4gKCct c21iaW9zJywgInR5cGU9MTEsdmFsdWU9aW8uc3lzdGVtZC5jcmVkZW50aWFsOiRrZXk9JHZhbHVl Iik7Cj4+ICsgICAgfQo+PiArfQo+PiArCj4+ICtzdWIgcmVhZF9zeXN0ZW1kX2N1c3RvbV9maWxl IHsKPj4gKyAgICBteSAoJHN0b3JhZ2VfY29uZiwgJHBhdGgpID0gQF87Cj4+ICsKPj4gKyAgICBt eSAoJHZ0eXBlLCB1bmRlZikgPSBQVkU6OlN0b3JhZ2U6OnBhcnNlX3ZvbG5hbWUoJHN0b3JhZ2Vf Y29uZiwgJHBhdGgpOwo+PiArCj4+ICsgICAgZGllICIkcGF0aCBpcyBub3QgaW4gdGhlIHNuaXBw ZXRzIGRpcmVjdG9yeVxuIiBpZiAkdnR5cGUgbmUgJ3NuaXBwZXRzJzsKPj4gKwo+PiArICAgIG15 ICRmdWxsX3BhdGggPSBQVkU6OlN0b3JhZ2U6OmFic19maWxlc3lzdGVtX3BhdGgoJHN0b3JhZ2Vf Y29uZiwgJHBhdGgsIDEpOwo+PiArICAgIHJldHVybiBQVkU6OlRvb2xzOjpmaWxlX2dldF9jb250 ZW50cygkZnVsbF9wYXRoLCAxICogMTAyNCAqIDEwMjQpOwo+PiArfQo+Cj4gdGhpcyBpcyBhIDE6 MSBjb3B5IG9mCj4gUFZFOjpRZW11U2VydmVyOjpDbG91ZGluaXQ6OnJlYWRfY2xvdWRpbml0X3Nu aXBwZXRzX2ZpbGUgLi4KPgo+PiArCj4+ICBzdWIgY29uZmlnX3RvX2NvbW1hbmQgewo+PiAgICAg IG15ICgkc3RvcmVjZmcsICR2bWlkLCAkY29uZiwgJGRlZmF1bHRzLCAkZm9yY2VtYWNoaW5lLCAk Zm9yY2VjcHUsCj4+ICAgICAgICAgICRsaXZlX3Jlc3RvcmVfYmFja2luZykgPSBAXzsKPj4gQEAg LTQxNDIsNiArNDE5OSwyNiBAQCBzdWIgY29uZmlnX3RvX2NvbW1hbmQgewo+PiAgCXB1c2ggQCRj bWQsICctc25hcHNob3QnOwo+PiAgICAgIH0KPj4gIAo+PiArICAgICMgc2V0IHN5c3RlbWQtY3Jl ZGVudGlhbHMKPj4gKyAgICBteSAkc3RvcmFnZV9jb25mOwo+PiArICAgIG15ICRzeXN0ZW1kX2Ny ZWRlbnRpYWxzID0gJGNvbmYtPnsnc3lzdGVtZC1jcmVkZW50aWFscyd9IHx8IHt9Owo+PiArICAg IGZvcmVhY2ggbXkgJGtleSAoa2V5cyAlJHN5c3RlbWRfY3JlZGVudGlhbHMpIHsKPj4gKwlteSAk b3B0cyA9IHBhcnNlX3N5c3RlbWRfY3JlZGVudGlhbCgkc3lzdGVtZF9jcmVkZW50aWFscy0+eyRr ZXl9KTsKPj4gKwlteSAkaXNfZW5jb2RlZCA9ICRvcHRzLT57J2Jhc2U2NCd9ID8gMSA6IDA7Cj4+ ICsJbXkgJHZhbHVlOwo+PiArCj4+ICsJaWYgKG15ICR2ID0gJG9wdHMtPnsndmFsdWUnfSkgewo+ PiArCSAgICAkdmFsdWUgPSAkdjsKPj4gKwl9IGVsc2lmIChteSAkc25pcHBldCA9ICRvcHRzLT57 J3NuaXBwZXQnfSkgewo+PiArCSAgICAkc3RvcmFnZV9jb25mID0gUFZFOjpTdG9yYWdlOjpjb25m aWcoKSBpZiAhZGVmaW5lZCgkc3RvcmFnZV9jb25mKTsKPgo+IHdoeT8gY29uZmlnX3RvX2NvbW1h bmQgYWxyZWFkeSBoYXMgYSBjb3B5IG9mIHRoZSBzdG9yYWdlIGNvbmZpZy4uCj4KPj4gKwkgICAg bXkgJGNvbnRlbnRzID0gcmVhZF9zeXN0ZW1kX2N1c3RvbV9maWxlKCRzdG9yYWdlX2NvbmYsICRz bmlwcGV0KTsKPj4gKwkgICAgJHZhbHVlID0gZW5jb2RlX2Jhc2U2NCgkY29udGVudHMsICcnKTsK Pj4gKwkgICAgJGlzX2VuY29kZWQgPSAxOwo+PiArCX0KPj4gKwo+PiArCXB1c2ggQCRjbWQsIHNt Ymlvc18xMV9jcmVkX2FyZygka2V5LCAkdmFsdWUsICRpc19lbmNvZGVkKSBpZiAkdmFsdWU7Cj4+ ICsgICAgfQo+PiArCj4+ICAgICAgIyBhZGQgY3VzdG9tIGFyZ3MKPj4gICAgICBpZiAoJGNvbmYt PnthcmdzfSkgewo+PiAgCW15ICRhYSA9IFBWRTo6VG9vbHM6OnNwbGl0X2FyZ3MoJGNvbmYtPnth cmdzfSk7Cj4+IC0tIAo+PiAyLjM5LjUKPj4gCj4+IAo+PiAKPj4gX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4gcHZlLWRldmVsIG1haWxpbmcgbGlzdAo+ PiBwdmUtZGV2ZWxAbGlzdHMucHJveG1veC5jb20KPj4gaHR0cHM6Ly9saXN0cy5wcm94bW94LmNv bS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vcHZlLWRldmVsCj4+IAo+PiAKPj4gCj4KPgo+IF9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gcHZlLWRldmVs IG1haWxpbmcgbGlzdAo+IHB2ZS1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQo+IGh0dHBzOi8vbGlz dHMucHJveG1veC5jb20vY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3B2ZS1kZXZlbAoKCnYxIHNl bnQgYXQgaHR0cHM6Ly9sb3JlLnByb3htb3guY29tL3B2ZS1kZXZlbC8yMDI1MDQwMjE0MzYyMC40 NDAxNTgtMS1tLnNhbmRvdmFsQHByb3htb3guY29tL1QvI3UuCgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KcHZlLWRldmVsIG1haWxpbmcgbGlzdApwdmUt ZGV2ZWxAbGlzdHMucHJveG1veC5jb20KaHR0cHM6Ly9saXN0cy5wcm94bW94LmNvbS9jZ2ktYmlu L21haWxtYW4vbGlzdGluZm8vcHZlLWRldmVsCg==